diff --git a/dist/module.js b/dist/module.js index 4dc618d..d537ad4 100644 --- a/dist/module.js +++ b/dist/module.js @@ -1,3 +1,3 @@ /*! For license information please see module.js.LICENSE.txt */ -define(["@grafana/data","@grafana/runtime","@grafana/ui","app/core/app_events","lodash","react","react-router-dom"],((t,e,r,n,o,a,i)=>(()=>{var c=[t=>{"use strict";t.exports=a},t=>{"use strict";t.exports=r},t=>{"use strict";var e=[];function r(t){for(var r=-1,n=0;n{"use strict";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(r){!function(t,e,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var o=void 0!==r.layer;o&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},t=>{"use strict";var e={};t.exports=function(t,r){var n=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(t){r=null}e[t]=r}return e[t]}(t);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},(t,e,r)=>{"use strict";t.exports=function(t){var e=r.nc;e&&t.setAttribute("nonce",e)}},t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},t=>{"use strict";t.exports=function(t){var e=t[1],r=t[3];if(!r)return e;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(r)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),a="/*# ".concat(o," */");return[e].concat([a]).join("\n")}return[e].join("\n")}},t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(t,r,n,o,a){"string"==typeof t&&(t=[[null,t,void 0]]);var i={};if(n)for(var c=0;c0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=a),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},e=>{"use strict";e.exports=t},t=>{t.exports="object"==typeof self?self.FormData:window.FormData},(t,e)=>{var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var t=[],e=0;e{"use strict";t.exports=o},t=>{"use strict";t.exports=e},t=>{"use strict";t.exports=n},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,":root{--maintenance-background: repeating-linear-gradient(45deg, #f6ba52, #f6ba52 20px, #ffd180 20px, #ffd180 40px);--gren-5: #6ccf8e;--green-6: #73d13d;--red-5: #ff4d4f;--orange-5: #ffa940;--blue-2: #bae7ff;--gray-5: #d9d9d9;--gray-8: #595959;--gray-9: #434343;--cyan-1: #e6fffb;--purple-9: #22075e;--border-radius: 2px;--gradient-brandHorizontal: linear-gradient(90deg, #f83 0%, #f53e4c 100%);--gradient-brandVertical: linear-gradient(0.01deg, #f53e4c -31.2%, #f83 113.07%);--always-gray: #ccccdc;--title-marginBottom: 16px}.theme-light{--cards-background: var(--blue-2);--highlighted-row-bg: var(--cyan-1);--disabled-button-color: #bdbdbd;--primary-background: rgb(255, 255, 255);--secondary-background: rgb(244, 245, 245);--border: 1px solid rgba(36, 41, 46, 0.12);--primary-text-color: rgb(36, 41, 46);--secondary-text-color: rgba(36, 41, 46, 0.75);--disabled-text-color: rgba(36, 41, 46, 0.5);--warning-text-color: #8a6c00;--success-text-color: rgb(10, 118, 78);--error-text-color: rgb(207, 14, 91);--primary-text-link: #1f62e0;--timeline-icon-background: rgba(70, 76, 84, 0);--timeline-icon-background-resolution-note: rgba(50, 116, 217, 0);--oncall-icon-stroke-color: #fff;--hover-selected: #f4f5f5;--background-canvas: #f4f5f5;--background-primary: #fff;--background-secondary: #f4f5f5;--border-medium: 1px solid rgba(36, 41, 46, 0.3);--border-strong: 1px solid rgba(36, 41, 46, 0.4);--border-weak: 1px solid rgba(36, 41, 46, 0.12);--shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.2);--shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.2);--shadows-z3: 0 13px 20px 1px rgba(24, 26, 27, 0.18)}.theme-dark{--cards-background: var(--gray-9);--highlighted-row-bg: var(--gray-9);--disabled-button-color: hsla(0, 0%, 100%, 0.08);--primary-background: rgb(24, 27, 31);--secondary-background: rgb(34, 37, 43);--border: 1px solid rgba(204, 204, 220, 0.15);--primary-text-color: rgb(204, 204, 220);--secondary-text-color: rgba(204, 204, 220, 0.65);--disabled-text-color: rgba(204, 204, 220, 0.4);--warning-text-color: #f8d06b;--success-text-color: rgb(108, 207, 142);--error-text-color: rgb(255, 82, 134);--primary-text-link: #6e9fff;--timeline-icon-background: rgba(70, 76, 84, 1);--timeline-icon-background-resolution-note: rgba(50, 116, 217, 1);--focused-box-shadow: rgb(17 18 23) 0 0 0 2px, rgb(61 113 217) 0 0 0 4px;--hover-selected: rgba(204, 204, 220, 0.12);--hover-selected-hardcoded: #34363d;--oncall-icon-stroke-color: #181b1f;--background-canvas: #111217;--background-primary: #181b1f;--background-secondary: #22252b;--border-medium: 1px solid rgba(204, 204, 220, 0.15);--border-strong: 1px solid rgba(204, 204, 220, 0.25);--border-weak: 1px solid rgba(204, 204, 220, 0.07);--shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.75);--shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.75);--shadows-z3: 0 8px 24px rgb(1, 4, 9)}","",{version:3,sources:["webpack://./style/vars.css"],names:[],mappings:"AAAA,MACE,6GAAA,CACA,iBAAA,CACA,kBAAA,CACA,gBAAA,CACA,mBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,mBAAA,CACA,oBAAA,CACA,yEAAA,CACA,gFAAA,CACA,sBAAA,CACA,0BAAA,CAGF,aACE,iCAAA,CACA,mCAAA,CACA,gCAAA,CACA,wCAAA,CACA,0CAAA,CACA,0CAAA,CACA,qCAAA,CACA,8CAAA,CACA,4CAAA,CACA,6BAAA,CACA,sCAAA,CACA,oCAAA,CACA,4BAAA,CACA,+CAAA,CACA,iEAAA,CACA,gCAAA,CACA,yBAAA,CACA,4BAAA,CACA,0BAAA,CACA,+BAAA,CACA,gDAAA,CACA,gDAAA,CACA,+CAAA,CACA,6CAAA,CACA,6CAAA,CACA,oDAAA,CAGF,YACE,iCAAA,CACA,mCAAA,CACA,gDAAA,CACA,qCAAA,CACA,uCAAA,CACA,6CAAA,CACA,wCAAA,CACA,iDAAA,CACA,+CAAA,CACA,6BAAA,CACA,wCAAA,CACA,qCAAA,CACA,4BAAA,CACA,+CAAA,CACA,iEAAA,CACA,wEAAA,CACA,2CAAA,CACA,mCAAA,CACA,mCAAA,CACA,4BAAA,CACA,6BAAA,CACA,+BAAA,CACA,oDAAA,CACA,oDAAA,CACA,kDAAA,CACA,8CAAA,CACA,8CAAA,CACA,qCAAA",sourcesContent:[":root {\n --maintenance-background: repeating-linear-gradient(45deg, #f6ba52, #f6ba52 20px, #ffd180 20px, #ffd180 40px);\n --gren-5: #6ccf8e;\n --green-6: #73d13d;\n --red-5: #ff4d4f;\n --orange-5: #ffa940;\n --blue-2: #bae7ff;\n --gray-5: #d9d9d9;\n --gray-8: #595959;\n --gray-9: #434343;\n --cyan-1: #e6fffb;\n --purple-9: #22075e;\n --border-radius: 2px;\n --gradient-brandHorizontal: linear-gradient(90deg, #f83 0%, #f53e4c 100%);\n --gradient-brandVertical: linear-gradient(0.01deg, #f53e4c -31.2%, #f83 113.07%);\n --always-gray: #ccccdc;\n --title-marginBottom: 16px;\n}\n\n.theme-light {\n --cards-background: var(--blue-2);\n --highlighted-row-bg: var(--cyan-1);\n --disabled-button-color: #bdbdbd;\n --primary-background: rgb(255, 255, 255);\n --secondary-background: rgb(244, 245, 245);\n --border: 1px solid rgba(36, 41, 46, 0.12);\n --primary-text-color: rgb(36, 41, 46);\n --secondary-text-color: rgba(36, 41, 46, 0.75);\n --disabled-text-color: rgba(36, 41, 46, 0.5);\n --warning-text-color: #8a6c00;\n --success-text-color: rgb(10, 118, 78);\n --error-text-color: rgb(207, 14, 91);\n --primary-text-link: #1f62e0;\n --timeline-icon-background: rgba(70, 76, 84, 0);\n --timeline-icon-background-resolution-note: rgba(50, 116, 217, 0);\n --oncall-icon-stroke-color: #fff;\n --hover-selected: #f4f5f5;\n --background-canvas: #f4f5f5;\n --background-primary: #fff;\n --background-secondary: #f4f5f5;\n --border-medium: 1px solid rgba(36, 41, 46, 0.3);\n --border-strong: 1px solid rgba(36, 41, 46, 0.4);\n --border-weak: 1px solid rgba(36, 41, 46, 0.12);\n --shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.2);\n --shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.2);\n --shadows-z3: 0 13px 20px 1px rgba(24, 26, 27, 0.18);\n}\n\n.theme-dark {\n --cards-background: var(--gray-9);\n --highlighted-row-bg: var(--gray-9);\n --disabled-button-color: hsla(0, 0%, 100%, 0.08);\n --primary-background: rgb(24, 27, 31);\n --secondary-background: rgb(34, 37, 43);\n --border: 1px solid rgba(204, 204, 220, 0.15);\n --primary-text-color: rgb(204, 204, 220);\n --secondary-text-color: rgba(204, 204, 220, 0.65);\n --disabled-text-color: rgba(204, 204, 220, 0.4);\n --warning-text-color: #f8d06b;\n --success-text-color: rgb(108, 207, 142);\n --error-text-color: rgb(255, 82, 134);\n --primary-text-link: #6e9fff;\n --timeline-icon-background: rgba(70, 76, 84, 1);\n --timeline-icon-background-resolution-note: rgba(50, 116, 217, 1);\n --focused-box-shadow: rgb(17 18 23) 0 0 0 2px, rgb(61 113 217) 0 0 0 4px;\n --hover-selected: rgba(204, 204, 220, 0.12);\n --hover-selected-hardcoded: #34363d;\n --oncall-icon-stroke-color: #181b1f;\n --background-canvas: #111217;\n --background-primary: #181b1f;\n --background-secondary: #22252b;\n --border-medium: 1px solid rgba(204, 204, 220, 0.15);\n --border-strong: 1px solid rgba(204, 204, 220, 0.25);\n --border-weak: 1px solid rgba(204, 204, 220, 0.07);\n --shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.75);\n --shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.75);\n --shadows-z3: 0 8px 24px rgb(1, 4, 9);\n}\n"],sourceRoot:""}]);const c=i},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,".configure-plugin{margin-top:10px}@keyframes fadeIn{from{opacity:0}}.spin{width:100%;margin-top:200px;margin-bottom:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.spin-text{margin-top:20px}.disabled-row{background:#f0f0f0}.highlighted-row{background:var(--highlighted-row-bg)}.navbarRootFallback{margin-top:24px}.page-title{margin-bottom:16px}","",{version:3,sources:["webpack://./style/global.css"],names:[],mappings:"AAAA,kBACE,eAAA,CAGF,kBACE,KACE,SAAA,CAAA,CAMJ,MACE,UAAA,CACA,gBAAA,CACA,mBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CAGF,WACE,eAAA,CAKF,cACE,kBAAA,CAGF,iBACE,oCAAA,CAKF,oBACE,eAAA,CAGF,YACE,kBAAA",sourcesContent:[".configure-plugin {\n margin-top: 10px;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n}\n\n/* Spinner */\n\n.spin {\n width: 100%;\n margin-top: 200px;\n margin-bottom: 200px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.spin-text {\n margin-top: 20px;\n}\n\n/* Tables */\n\n.disabled-row {\n background: #f0f0f0;\n}\n\n.highlighted-row {\n background: var(--highlighted-row-bg);\n}\n\n/* Navigation */\n\n.navbarRootFallback {\n margin-top: 24px;\n}\n\n.page-title {\n margin-bottom: 16px;\n}\n"],sourceRoot:""}]);const c=i},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,".hIaTKzSpKwnciwBsbA5g{margin-bottom:24px;margin-top:24px}","",{version:3,sources:["webpack://./components/PluginConfigPage/parts/ConfigurationForm/ConfigurationForm.module.css"],names:[],mappings:"AAAA,sBACE,kBAAA,CACA,eAAA",sourcesContent:[".info-block {\n margin-bottom: 24px;\n margin-top: 24px;\n}\n"],sourceRoot:""}]),i.locals={"info-block":"hIaTKzSpKwnciwBsbA5g"};const c=i},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,".L2_Sb6mflEi16_oV2YVG{padding:16px;border-radius:2px}.B8sfGqDJhQceAfnXiSy7{background:var(--secondary-background)}.F0HayptUvv7c52TJhdxs{width:100%}.JnsnOIT70ZLiST_XRSdM:hover{background:var(--hover-selected)}.theme-dark .RrgUBvnBEvsmQUEhgr8Q{border:var(--border-weak)}.theme-light .RrgUBvnBEvsmQUEhgr8Q{border:var(--border-weak)}.theme-dark .QyFmu4r6x5RA33haU43n{box-shadow:0 4px 10px rgba(0,0,0,.6)}","",{version:3,sources:["webpack://./components/GBlock/Block.module.scss"],names:[],mappings:"AAAA,sBACE,YAAA,CACA,iBAAA,CAEA,sBACE,sCAAA,CAGF,sBACE,UAAA,CAGF,4BACE,gCAAA,CAIJ,kCACE,yBAAA,CAGF,mCACE,yBAAA,CAGF,kCACE,oCAAA",sourcesContent:[".root {\n padding: 16px;\n border-radius: 2px;\n\n &--withBackground {\n background: var(--secondary-background);\n }\n\n &--fullWidth {\n width: 100%;\n }\n\n &--hover:hover {\n background: var(--hover-selected);\n }\n}\n\n:global(.theme-dark) .root_bordered {\n border: var(--border-weak);\n}\n\n:global(.theme-light) .root_bordered {\n border: var(--border-weak);\n}\n\n:global(.theme-dark) .root_shadowed {\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);\n}\n"],sourceRoot:""}]),i.locals={root:"L2_Sb6mflEi16_oV2YVG","root--withBackground":"B8sfGqDJhQceAfnXiSy7","root--fullWidth":"F0HayptUvv7c52TJhdxs","root--hover":"JnsnOIT70ZLiST_XRSdM",root_bordered:"RrgUBvnBEvsmQUEhgr8Q",root_shadowed:"QyFmu4r6x5RA33haU43n"};const c=i},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,".YmBCZG0ytFRASYjSWp6Z{display:inline}.eMNt3fHNFiSfB1jurc7n{color:var(--primary-text-color)}.mvgBWy5afSepBDglTzcy{color:var(--secondary-text-color)}.cDicaS8fKAStII_0qysw{color:var(--disabled-text-color)}.FyMghElj75iWw1xoQWi_{color:var(--warning-text-color)}.qllOfYZ6lNLfrsMGpCLu{color:var(--primary-text-link)}.tZWjwO8sDUnYBJZW3rDK{color:var(--green-5)}.jEMET71dZ_TTjp_Kkq1c{font-weight:bold}.V2smNr_XD9ivxvLAdcQE{text-decoration:underline}.OYbrS0suYpl7DyLg3d3l{font-size:12px}.J5PxsDRmNnI3qnLC5a0Q{font-size:20px}.ld4DsrSrNyeimbKojC9F{white-space:nowrap}._gfCYlGJGQgDqrow9Uin{margin:0 .2em;padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border:solid rgba(100,100,100,.2);border-width:1px 1px 2px;border-radius:3px}.wWZC68tCpczBTEqHpKcS{margin:0}.FOLa6t9YU6bEFWOophNA{margin-left:4px;display:none}.YmBCZG0ytFRASYjSWp6Z:hover .FOLa6t9YU6bEFWOophNA{display:inline-block}","",{version:3,sources:["webpack://./components/Text/Text.module.scss"],names:[],mappings:"AAAA,sBACE,cAAA,CAIA,sBACE,+BAAA,CAGF,sBACE,iCAAA,CAGF,sBACE,gCAAA,CAGF,sBACE,+BAAA,CAGF,sBACE,8BAAA,CAGF,sBACE,oBAAA,CAGF,sBACE,gBAAA,CAGF,sBACE,yBAAA,CAGF,sBACE,cAAA,CAGF,sBACE,cAAA,CAIJ,sBACE,kBAAA,CAGF,sBACE,aAAA,CACA,uBAAA,CACA,aAAA,CACA,gCAAA,CACA,iCAAA,CACA,wBAAA,CACA,iBAAA,CAGF,sBACE,QAAA,CAGF,sBACE,eAAA,CACA,YAAA,CAGF,kDACE,oBAAA",sourcesContent:[".root {\n display: inline;\n}\n\n.text {\n &--primary {\n color: var(--primary-text-color);\n }\n\n &--secondary {\n color: var(--secondary-text-color);\n }\n\n &--disabled {\n color: var(--disabled-text-color);\n }\n\n &--warning {\n color: var(--warning-text-color);\n }\n\n &--link {\n color: var(--primary-text-link);\n }\n\n &--success {\n color: var(--green-5);\n }\n\n &--strong {\n font-weight: bold;\n }\n\n &--underline {\n text-decoration: underline;\n }\n\n &--small {\n font-size: 12px;\n }\n\n &--large {\n font-size: 20px;\n }\n}\n\n.no-wrap {\n white-space: nowrap;\n}\n\n.keyboard {\n margin: 0 0.2em;\n padding: 0.15em 0.4em 0.1em;\n font-size: 90%;\n background: hsla(0, 0%, 58.8%, 0.06);\n border: solid hsla(0, 0%, 39.2%, 0.2);\n border-width: 1px 1px 2px;\n border-radius: 3px;\n}\n\n.title {\n margin: 0;\n}\n\n.icon-button {\n margin-left: 4px;\n display: none;\n}\n\n.root:hover .icon-button {\n display: inline-block;\n}\n"],sourceRoot:""}]),i.locals={root:"YmBCZG0ytFRASYjSWp6Z","text--primary":"eMNt3fHNFiSfB1jurc7n","text--secondary":"mvgBWy5afSepBDglTzcy","text--disabled":"cDicaS8fKAStII_0qysw","text--warning":"FyMghElj75iWw1xoQWi_","text--link":"qllOfYZ6lNLfrsMGpCLu","text--success":"tZWjwO8sDUnYBJZW3rDK","text--strong":"jEMET71dZ_TTjp_Kkq1c","text--underline":"V2smNr_XD9ivxvLAdcQE","text--small":"OYbrS0suYpl7DyLg3d3l","text--large":"J5PxsDRmNnI3qnLC5a0Q","no-wrap":"ld4DsrSrNyeimbKojC9F",keyboard:"_gfCYlGJGQgDqrow9Uin",title:"wWZC68tCpczBTEqHpKcS","icon-button":"FOLa6t9YU6bEFWOophNA"};const c=i},(t,e,r)=>{"use strict";var n=r(26).CopyToClipboard;n.CopyToClipboard=n,t.exports=n},(t,e,r)=>{"use strict";var n=r(23),o={"text/plain":"Text","text/html":"Url",default:"Text"};t.exports=function(t,e){var r,a,i,c,s,u=!1;e||(e={}),e.debug;try{if(a=n(),i=document.createRange(),c=document.getSelection(),(s=document.createElement("span")).textContent=t,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),e.format)if(r.preventDefault(),void 0===r.clipboardData){window.clipboardData.clearData();var n=o[e.format]||o.default;window.clipboardData.setData(n,t)}else r.clipboardData.clearData(),r.clipboardData.setData(e.format,t);e.onCopy&&(r.preventDefault(),e.onCopy(r.clipboardData))})),document.body.appendChild(s),i.selectNodeContents(s),c.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(n){try{window.clipboardData.setData(e.format||"text",t),e.onCopy&&e.onCopy(window.clipboardData),u=!0}catch(n){r=function(t){var e=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return t.replace(/#{\s*key\s*}/g,e)}("message"in e?e.message:"Copy to clipboard: #{key}, Enter"),window.prompt(r,t)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(i):c.removeAllRanges()),s&&document.body.removeChild(s),a()}return u}},t=>{t.exports=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,r=[],n=0;n{"use strict";t.exports=i},(t,e,r)=>{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.CopyToClipboard=void 0;var o=c(r(0)),a=c(r(22)),i=["text","onCopy","options","children"];function c(t){return t&&t.__esModule?t:{default:t}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function u(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function f(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function p(t,e){for(var r=0;r{var e=t&&t.__esModule?()=>t.default:()=>t;return u.d(e,{a:e}),e},u.d=(t,e)=>{for(var r in e)u.o(e,r)&&!u.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},u.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),u.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},u.nc=void 0;var l={};return(()=>{"use strict";u.r(l),u.d(l,{plugin:()=>ro});var t=u(2),e=u.n(t),r=u(3),n=u.n(r),o=u(4),a=u.n(o),i=u(5),c=u.n(i),s=u(6),f=u.n(s),p=u(7),d=u.n(p),h=u(16),y={};y.styleTagTransform=d(),y.setAttributes=c(),y.insert=a().bind(null,"head"),y.domAPI=n(),y.insertStyleElement=f();e()(h.Z,y);h.Z&&h.Z.locals&&h.Z.locals;var g=u(17),m={};m.styleTagTransform=d(),m.setAttributes=c(),m.insert=a().bind(null,"head"),m.domAPI=n(),m.insertStyleElement=f();e()(g.Z,m);g.Z&&g.Z.locals&&g.Z.locals;var b=u(0),v=u.n(b),A=u(1),w=u(25);function x(t,e){return function(){return t.apply(e,arguments)}}const{toString:C}=Object.prototype,{getPrototypeOf:E}=Object,O=(S=Object.create(null),t=>{const e=C.call(t);return S[e]||(S[e]=e.slice(8,-1).toLowerCase())});var S;const j=t=>(t=t.toLowerCase(),e=>O(e)===t),k=t=>e=>typeof e===t,{isArray:L}=Array,P=k("undefined");const T=j("ArrayBuffer");const B=k("string"),_=k("function"),R=k("number"),N=t=>null!==t&&"object"==typeof t,F=t=>{if("object"!==O(t))return!1;const e=E(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},D=j("Date"),U=j("File"),G=j("Blob"),I=j("FileList"),M=j("URLSearchParams");function z(t,e,{allOwnKeys:r=!1}={}){if(null==t)return;let n,o;if("object"!=typeof t&&(t=[t]),L(t))for(n=0,o=t.length;n0;)if(n=r[o],e===n.toLowerCase())return n;return null}const q="undefined"==typeof self?"undefined"==typeof global?void 0:global:self,W=t=>!P(t)&&t!==q;const J=(Y="undefined"!=typeof Uint8Array&&E(Uint8Array),t=>Y&&t instanceof Y);var Y;const H=j("HTMLFormElement"),K=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),V=j("RegExp"),Q=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),n={};z(r,((r,o)=>{!1!==e(r,o,t)&&(n[o]=r)})),Object.defineProperties(t,n)},$={isArray:L,isArrayBuffer:T,isBuffer:function(t){return null!==t&&!P(t)&&null!==t.constructor&&!P(t.constructor)&&_(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{const e="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||C.call(t)===e||_(t.toString)&&t.toString()===e)},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&T(t.buffer),e},isString:B,isNumber:R,isBoolean:t=>!0===t||!1===t,isObject:N,isPlainObject:F,isUndefined:P,isDate:D,isFile:U,isBlob:G,isRegExp:V,isFunction:_,isStream:t=>N(t)&&_(t.pipe),isURLSearchParams:M,isTypedArray:J,isFileList:I,forEach:z,merge:function t(){const{caseless:e}=W(this)&&this||{},r={},n=(n,o)=>{const a=e&&Z(r,o)||o;F(r[a])&&F(n)?r[a]=t(r[a],n):F(n)?r[a]=t({},n):L(n)?r[a]=n.slice():r[a]=n};for(let t=0,e=arguments.length;t(z(e,((e,n)=>{r&&_(e)?t[n]=x(e,r):t[n]=e}),{allOwnKeys:n}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:(t,e,r,n)=>{let o,a,i;const c={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),a=o.length;a-- >0;)i=o[a],n&&!n(i,t,e)||c[i]||(e[i]=t[i],c[i]=!0);t=!1!==r&&E(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:O,kindOfTest:j,endsWith:(t,e,r)=>{t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;const n=t.indexOf(e,r);return-1!==n&&n===r},toArray:t=>{if(!t)return null;if(L(t))return t;let e=t.length;if(!R(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},forEachEntry:(t,e)=>{const r=(t&&t[Symbol.iterator]).call(t);let n;for(;(n=r.next())&&!n.done;){const r=n.value;e.call(t,r[0],r[1])}},matchAll:(t,e)=>{let r;const n=[];for(;null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:H,hasOwnProperty:K,hasOwnProp:K,reduceDescriptors:Q,freezeMethods:t=>{Q(t,((e,r)=>{if(_(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=t[r];_(n)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(t,e)=>{const r={},n=t=>{t.forEach((t=>{r[t]=!0}))};return L(t)?n(t):n(String(t).split(e)),r},toCamelCase:t=>t.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(t,e,r){return e.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:Z,global:q,isContextDefined:W,toJSONObject:t=>{const e=new Array(10),r=(t,n)=>{if(N(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;const o=L(t)?[]:{};return z(t,((t,e)=>{const a=r(t,n+1);!P(a)&&(o[e]=a)})),e[n]=void 0,o}}return t};return r(t,0)}};function X(t,e,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}$.inherits(X,Error,{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:$.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const tt=X.prototype,et={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{et[t]={value:t}})),Object.defineProperties(X,et),Object.defineProperty(tt,"isAxiosError",{value:!0}),X.from=(t,e,r,n,o,a)=>{const i=Object.create(tt);return $.toFlatObject(t,i,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),X.call(i,t.message,e,r,n,o),i.cause=t,i.name=t.name,a&&Object.assign(i,a),i};const rt=X;const nt=u(11);function ot(t){return $.isPlainObject(t)||$.isArray(t)}function at(t){return $.endsWith(t,"[]")?t.slice(0,-2):t}function it(t,e,r){return t?t.concat(e).map((function(t,e){return t=at(t),!r&&e?"["+t+"]":t})).join(r?".":""):e}const ct=$.toFlatObject($,{},null,(function(t){return/^is[A-Z]/.test(t)}));const st=function(t,e,r){if(!$.isObject(t))throw new TypeError("target must be an object");e=e||new(nt||FormData);const n=(r=$.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!$.isUndefined(e[t])}))).metaTokens,o=r.visitor||l,a=r.dots,i=r.indexes,c=(r.Blob||"undefined"!=typeof Blob&&Blob)&&((s=e)&&$.isFunction(s.append)&&"FormData"===s[Symbol.toStringTag]&&s[Symbol.iterator]);var s;if(!$.isFunction(o))throw new TypeError("visitor must be a function");function u(t){if(null===t)return"";if($.isDate(t))return t.toISOString();if(!c&&$.isBlob(t))throw new rt("Blob is not supported. Use a Buffer instead.");return $.isArrayBuffer(t)||$.isTypedArray(t)?c&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,r,o){let c=t;if(t&&!o&&"object"==typeof t)if($.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else if($.isArray(t)&&function(t){return $.isArray(t)&&!t.some(ot)}(t)||$.isFileList(t)||$.endsWith(r,"[]")&&(c=$.toArray(t)))return r=at(r),c.forEach((function(t,n){!$.isUndefined(t)&&null!==t&&e.append(!0===i?it([r],n,a):null===i?r:r+"[]",u(t))})),!1;return!!ot(t)||(e.append(it(o,r,a),u(t)),!1)}const f=[],p=Object.assign(ct,{defaultVisitor:l,convertValue:u,isVisitable:ot});if(!$.isObject(t))throw new TypeError("data must be an object");return function t(r,n){if(!$.isUndefined(r)){if(-1!==f.indexOf(r))throw Error("Circular reference detected in "+n.join("."));f.push(r),$.forEach(r,(function(r,a){!0===(!($.isUndefined(r)||null===r)&&o.call(e,r,$.isString(a)?a.trim():a,n,p))&&t(r,n?n.concat(a):[a])})),f.pop()}}(t),e};function ut(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function lt(t,e){this._pairs=[],t&&st(t,this,e)}const ft=lt.prototype;ft.append=function(t,e){this._pairs.push([t,e])},ft.toString=function(t){const e=t?function(e){return t.call(this,e,ut)}:ut;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const pt=lt;function dt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ht(t,e,r){if(!e)return t;const n=r&&r.encode||dt,o=r&&r.serialize;let a;if(a=o?o(e,r):$.isURLSearchParams(e)?e.toString():new pt(e,r).toString(n),a){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+a}return t}const yt=class{constructor(){this.handlers=[]}use(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){$.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},gt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},mt="undefined"!=typeof URLSearchParams?URLSearchParams:pt,bt=FormData,vt=(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&("undefined"!=typeof window&&"undefined"!=typeof document)})(),At="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,wt={isBrowser:!0,classes:{URLSearchParams:mt,FormData:bt,Blob},isStandardBrowserEnv:vt,isStandardBrowserWebWorkerEnv:At,protocols:["http","https","file","blob","url","data"]};const xt=function(t){function e(t,r,n,o){let a=t[o++];const i=Number.isFinite(+a),c=o>=t.length;if(a=!a&&$.isArray(n)?n.length:a,c)return $.hasOwnProp(n,a)?n[a]=[n[a],r]:n[a]=r,!i;n[a]&&$.isObject(n[a])||(n[a]=[]);return e(t,r,n[a],o)&&$.isArray(n[a])&&(n[a]=function(t){const e={},r=Object.keys(t);let n;const o=r.length;let a;for(n=0;n{e(function(t){return $.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),n,r,0)})),r}return null},Ct={"Content-Type":void 0};const Et={transitional:gt,adapter:["xhr","http"],transformRequest:[function(t,e){const r=e.getContentType()||"",n=r.indexOf("application/json")>-1,o=$.isObject(t);o&&$.isHTMLForm(t)&&(t=new FormData(t));if($.isFormData(t))return n&&n?JSON.stringify(xt(t)):t;if($.isArrayBuffer(t)||$.isBuffer(t)||$.isStream(t)||$.isFile(t)||$.isBlob(t))return t;if($.isArrayBufferView(t))return t.buffer;if($.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return st(t,new wt.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return wt.isNode&&$.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((a=$.isFileList(t))||r.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return st(a?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||n?(e.setContentType("application/json",!1),function(t,e,r){if($.isString(t))try{return(e||JSON.parse)(t),$.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(r||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||Et.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(t&&$.isString(t)&&(r&&!this.responseType||n)){const r=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(t){if(r){if("SyntaxError"===t.name)throw rt.from(t,rt.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:wt.classes.FormData,Blob:wt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};$.forEach(["delete","get","head"],(function(t){Et.headers[t]={}})),$.forEach(["post","put","patch"],(function(t){Et.headers[t]=$.merge(Ct)}));const Ot=Et,St=$.toObjectSet(["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"]),jt=Symbol("internals");function kt(t){return t&&String(t).trim().toLowerCase()}function Lt(t){return!1===t||null==t?t:$.isArray(t)?t.map(Lt):String(t)}function Pt(t,e,r,n){return $.isFunction(n)?n.call(this,e,r):$.isString(e)?$.isString(n)?-1!==e.indexOf(n):$.isRegExp(n)?n.test(e):void 0:void 0}class Tt{constructor(t){t&&this.set(t)}set(t,e,r){const n=this;function o(t,e,r){const o=kt(e);if(!o)throw new Error("header name must be a non-empty string");const a=$.findKey(n,o);(!a||void 0===n[a]||!0===r||void 0===r&&!1!==n[a])&&(n[a||e]=Lt(t))}const a=(t,e)=>$.forEach(t,((t,r)=>o(t,r,e)));return $.isPlainObject(t)||t instanceof this.constructor?a(t,e):$.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z]+$/.test(t.trim())?a((t=>{const e={};let r,n,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),r=t.substring(0,o).trim().toLowerCase(),n=t.substring(o+1).trim(),!r||e[r]&&St[r]||("set-cookie"===r?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)})),e})(t),e):null!=t&&o(e,t,r),this}get(t,e){if(t=kt(t)){const r=$.findKey(this,t);if(r){const t=this[r];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}(t);if($.isFunction(e))return e.call(this,t,r);if($.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=kt(t)){const r=$.findKey(this,t);return!(!r||e&&!Pt(0,this[r],r,e))}return!1}delete(t,e){const r=this;let n=!1;function o(t){if(t=kt(t)){const o=$.findKey(r,t);!o||e&&!Pt(0,r[o],o,e)||(delete r[o],n=!0)}}return $.isArray(t)?t.forEach(o):o(t),n}clear(){return Object.keys(this).forEach(this.delete.bind(this))}normalize(t){const e=this,r={};return $.forEach(this,((n,o)=>{const a=$.findKey(r,o);if(a)return e[a]=Lt(n),void delete e[o];const i=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,r)=>e.toUpperCase()+r))}(o):String(o).trim();i!==o&&delete e[o],e[i]=Lt(n),r[i]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return $.forEach(this,((r,n)=>{null!=r&&!1!==r&&(e[n]=t&&$.isArray(r)?r.join(", "):r)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const r=new this(t);return e.forEach((t=>r.set(t))),r}static accessor(t){const e=(this[jt]=this[jt]={accessors:{}}).accessors,r=this.prototype;function n(t){const n=kt(t);e[n]||(!function(t,e){const r=$.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(t,n+r,{value:function(t,r,o){return this[n].call(this,e,t,r,o)},configurable:!0})}))}(r,t),e[n]=!0)}return $.isArray(t)?t.forEach(n):n(t),this}}Tt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]),$.freezeMethods(Tt.prototype),$.freezeMethods(Tt);const Bt=Tt;function _t(t,e){const r=this||Ot,n=e||r,o=Bt.from(n.headers);let a=n.data;return $.forEach(t,(function(t){a=t.call(r,a,o.normalize(),e?e.status:void 0)})),o.normalize(),a}function Rt(t){return!(!t||!t.__CANCEL__)}function Nt(t,e,r){rt.call(this,null==t?"canceled":t,rt.ERR_CANCELED,e,r),this.name="CanceledError"}$.inherits(Nt,rt,{__CANCEL__:!0});const Ft=Nt;const Dt=wt.isStandardBrowserEnv?{write:function(t,e,r,n,o,a){const i=[];i.push(t+"="+encodeURIComponent(e)),$.isNumber(r)&&i.push("expires="+new Date(r).toGMTString()),$.isString(n)&&i.push("path="+n),$.isString(o)&&i.push("domain="+o),!0===a&&i.push("secure"),document.cookie=i.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Ut(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Gt=wt.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let r;function n(r){let n=r;return t&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return r=n(window.location.href),function(t){const e=$.isString(t)?n(t):t;return e.protocol===r.protocol&&e.host===r.host}}():function(){return!0};const It=function(t,e){t=t||10;const r=new Array(t),n=new Array(t);let o,a=0,i=0;return e=void 0!==e?e:1e3,function(c){const s=Date.now(),u=n[i];o||(o=s),r[a]=c,n[a]=s;let l=i,f=0;for(;l!==a;)f+=r[l++],l%=t;if(a=(a+1)%t,a===i&&(i=(i+1)%t),s-o{const a=o.loaded,i=o.lengthComputable?o.total:void 0,c=a-r,s=n(c);r=a;const u={loaded:a,total:i,progress:i?a/i:void 0,bytes:c,rate:s||void 0,estimated:s&&i&&a<=i?(i-a)/s:void 0,event:o};u[e?"download":"upload"]=!0,t(u)}}const zt={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,r){let n=t.data;const o=Bt.from(t.headers).normalize(),a=t.responseType;let i;function c(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}$.isFormData(n)&&(wt.isStandardBrowserEnv||wt.isStandardBrowserWebWorkerEnv)&&o.setContentType(!1);let s=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",r=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+r))}const u=Ut(t.baseURL,t.url);function l(){if(!s)return;const n=Bt.from("getAllResponseHeaders"in s&&s.getAllResponseHeaders());!function(t,e,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?e(new rt("Request failed with status code "+r.status,[rt.ERR_BAD_REQUEST,rt.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}((function(t){e(t),c()}),(function(t){r(t),c()}),{data:a&&"text"!==a&&"json"!==a?s.response:s.responseText,status:s.status,statusText:s.statusText,headers:n,config:t,request:s}),s=null}if(s.open(t.method.toUpperCase(),ht(u,t.params,t.paramsSerializer),!0),s.timeout=t.timeout,"onloadend"in s?s.onloadend=l:s.onreadystatechange=function(){s&&4===s.readyState&&(0!==s.status||s.responseURL&&0===s.responseURL.indexOf("file:"))&&setTimeout(l)},s.onabort=function(){s&&(r(new rt("Request aborted",rt.ECONNABORTED,t,s)),s=null)},s.onerror=function(){r(new rt("Network Error",rt.ERR_NETWORK,t,s)),s=null},s.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const n=t.transitional||gt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new rt(e,n.clarifyTimeoutError?rt.ETIMEDOUT:rt.ECONNABORTED,t,s)),s=null},wt.isStandardBrowserEnv){const e=(t.withCredentials||Gt(u))&&t.xsrfCookieName&&Dt.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===n&&o.setContentType(null),"setRequestHeader"in s&&$.forEach(o.toJSON(),(function(t,e){s.setRequestHeader(e,t)})),$.isUndefined(t.withCredentials)||(s.withCredentials=!!t.withCredentials),a&&"json"!==a&&(s.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&s.addEventListener("progress",Mt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&s.upload&&s.upload.addEventListener("progress",Mt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{s&&(r(!e||e.type?new Ft(null,t,s):e),s.abort(),s=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const f=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);f&&-1===wt.protocols.indexOf(f)?r(new rt("Unsupported protocol "+f+":",rt.ERR_BAD_REQUEST,t)):s.send(n||null)}))}};$.forEach(zt,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Zt=t=>{t=$.isArray(t)?t:[t];const{length:e}=t;let r,n;for(let o=0;ot instanceof Bt?t.toJSON():t;function Yt(t,e){e=e||{};const r={};function n(t,e,r){return $.isPlainObject(t)&&$.isPlainObject(e)?$.merge.call({caseless:r},t,e):$.isPlainObject(e)?$.merge({},e):$.isArray(e)?e.slice():e}function o(t,e,r){return $.isUndefined(e)?$.isUndefined(t)?void 0:n(void 0,t,r):n(t,e,r)}function a(t,e){if(!$.isUndefined(e))return n(void 0,e)}function i(t,e){return $.isUndefined(e)?$.isUndefined(t)?void 0:n(void 0,t):n(void 0,e)}function c(r,o,a){return a in e?n(r,o):a in t?n(void 0,r):void 0}const s={url:a,method:a,data:a,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(t,e)=>o(Jt(t),Jt(e),!0)};return $.forEach(Object.keys(t).concat(Object.keys(e)),(function(n){const a=s[n]||o,i=a(t[n],e[n],n);$.isUndefined(i)&&a!==c||(r[n]=i)})),r}const Ht="1.2.1",Kt={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Kt[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));const Vt={};Kt.transitional=function(t,e,r){return(n,o,a)=>{if(!1===t)throw new rt(function(t,e){return"[Axios v1.2.1] Transitional option '"+t+"'"+e+(r?". "+r:"")}(o," has been removed"+(e?" in "+e:"")),rt.ERR_DEPRECATED);return e&&!Vt[o]&&(Vt[o]=!0),!t||t(n,o,a)}};const Qt={assertOptions:function(t,e,r){if("object"!=typeof t)throw new rt("options must be an object",rt.ERR_BAD_OPTION_VALUE);const n=Object.keys(t);let o=n.length;for(;o-- >0;){const a=n[o],i=e[a];if(i){const e=t[a],r=void 0===e||i(e,a,t);if(!0!==r)throw new rt("option "+a+" must be "+r,rt.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new rt("Unknown option "+a,rt.ERR_BAD_OPTION)}},validators:Kt},$t=Qt.validators;class Xt{constructor(t){this.defaults=t,this.interceptors={request:new yt,response:new yt}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Yt(this.defaults,e);const{transitional:r,paramsSerializer:n,headers:o}=e;let a;void 0!==r&&Qt.assertOptions(r,{silentJSONParsing:$t.transitional($t.boolean),forcedJSONParsing:$t.transitional($t.boolean),clarifyTimeoutError:$t.transitional($t.boolean)},!1),void 0!==n&&Qt.assertOptions(n,{encode:$t.function,serialize:$t.function},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase(),a=o&&$.merge(o.common,o[e.method]),a&&$.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=Bt.concat(a,o);const i=[];let c=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(c=c&&t.synchronous,i.unshift(t.fulfilled,t.rejected))}));const s=[];let u;this.interceptors.response.forEach((function(t){s.push(t.fulfilled,t.rejected)}));let l,f=0;if(!c){const t=[Wt.bind(this),void 0];for(t.unshift.apply(t,i),t.push.apply(t,s),l=t.length,u=Promise.resolve(e);f{if(!r._listeners)return;let e=r._listeners.length;for(;e-- >0;)r._listeners[e](t);r._listeners=null})),this.promise.then=t=>{let e;const n=new Promise((t=>{r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t((function(t,n,o){r.reason||(r.reason=new Ft(t,n,o),e(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new ee((function(e){t=e})),cancel:t}}}const re=ee;const ne=function t(e){const r=new te(e),n=x(te.prototype.request,r);return $.extend(n,te.prototype,r,{allOwnKeys:!0}),$.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return t(Yt(e,r))},n}(Ot);ne.Axios=te,ne.CanceledError=Ft,ne.CancelToken=re,ne.isCancel=Rt,ne.VERSION=Ht,ne.toFormData=st,ne.AxiosError=rt,ne.Cancel=ne.CanceledError,ne.all=function(t){return Promise.all(t)},ne.spread=function(t){return function(e){return t.apply(null,e)}},ne.isAxiosError=function(t){return $.isObject(t)&&!0===t.isAxiosError},ne.mergeConfig=Yt,ne.AxiosHeaders=Bt,ne.formToJSON=t=>xt($.isHTMLForm(t)?new FormData(t):t),ne.default=ne;const oe=ne;u(13);function ae(t){return ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ae(t)}function ie(){ie=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,o){var a=e&&e.prototype instanceof p?e:p,i=Object.create(a.prototype),c=new O(o||[]);return n(i,"_invoke",{value:w(t,r,c)}),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function p(){}function d(){}function h(){}var y={};s(y,a,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(S([])));m&&m!==e&&r.call(m,a)&&(y=m);var b=h.prototype=p.prototype=Object.create(y);function v(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function o(n,a,i,c){var s=l(t[n],t,a);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"==ae(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,i,c)}),(function(t){o("throw",t,i,c)})):e.resolve(f).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,c)}))}c(s.arg)}var a;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return a=a?a.then(n,n):n()}})}function w(t,e,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return j()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var c=x(i,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=l(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var a=o.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function S(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function ce(t,e,r,n,o,a,i){try{var c=t[a](i),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function se(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){ce(a,n,o,i,c,"next",t)}function c(t){ce(a,n,o,i,c,"throw",t)}i(void 0)}))}}function ue(){return ue=Object.assign?Object.assign.bind():function(t){for(var e=1;e=200&&t<300},ue({},t)}));var fe=function(){var t=se(ie().mark((function t(e,r){var n,o,a,i,c,s,u;return ie().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.method,o=void 0===n?"GET":n,a=r.params,i=r.data,c=r.validateStatus,s="".concat("api/plugin-proxy/corpglory-dataexporter-app").concat("/api").concat(e),t.next=4,le({method:o,url:s,params:a,data:i,validateStatus:c});case 4:return u=t.sent,t.abrupt("return",u.data);case 6:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}();var pe=u(14);function de(){return de=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function ye(t,e,r,n,o,a,i){try{var c=t[a](i),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function ge(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){ye(a,n,o,i,c,"next",t)}function c(t){ye(a,n,o,i,c,"throw",t)}i(void 0)}))}}function me(t){return me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},me(t)}function be(t,e){for(var r=0;r1&&void 0!==n[1])||n[1],t.abrupt("return",xe.grafanaBackend.post(xe.GRAFANA_PLUGIN_SETTINGS_URL,de({},e,{enabled:r,pinned:!0}),{showSuccessAlert:!1}));case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),Ae(xe,"createGrafanaToken",ge(he().mark((function t(){var e,r,n;return he().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e="/api/auth/keys",t.next=3,xe.grafanaBackend.get(e);case 3:if(r=t.sent,!(n=r.find((function(t){return"DataExporter"===t.name})))){t.next=8;break}return t.next=8,xe.grafanaBackend.delete("".concat(e,"/").concat(n.id),void 0,{showSuccessAlert:!1});case 8:return t.next=10,xe.grafanaBackend.post(e,{name:"DataExporter",role:"Admin",secondsToLive:null},{showSuccessAlert:!1});case 10:return t.abrupt("return",t.sent);case 11:case"end":return t.stop()}}),t)})))),Ae(xe,"timeout",(function(t){return new Promise((function(e){return setTimeout(e,10*Math.pow(2,t))}))})),Ae(xe,"connectBackend",ge(he().mark((function t(){var e,r,n;return he().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,xe.createGrafanaToken();case 2:return e=t.sent,r=e.key,t.next=6,xe.updateGrafanaPluginSettings({secureJsonData:{grafanaToken:r}});case 6:return t.next=8,fe("/connect",{method:"POST"});case 8:return n=t.sent,t.abrupt("return",{grafanaToken:r,dataExporterAPIResponse:n});case 10:case"end":return t.stop()}}),t)})))),Ae(xe,"installPlugin",function(){var t=ge(he().mark((function t(e){var r,n;return he().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,xe.updateGrafanaPluginSettings({jsonData:{dataExporterApiUrl:e}});case 3:t.next=8;break;case 5:return t.prev=5,t.t0=t.catch(0),t.abrupt("return",xe.getHumanReadableErrorFromGrafanaProvisioningError(t.t0,e));case 8:return t.prev=8,t.next=11,xe.connectBackend();case 11:r=t.sent,t.next=17;break;case 14:return t.prev=14,t.t1=t.catch(8),t.abrupt("return",xe.getHumanReadableErrorFromDataExporterError(t.t1,e));case 17:return t.prev=17,n=r.grafanaToken,t.next=21,xe.updateGrafanaPluginSettings({jsonData:{dataExporterApiUrl:e},secureJsonData:{grafanaToken:n}});case 21:t.next=26;break;case 23:return t.prev=23,t.t2=t.catch(17),t.abrupt("return",xe.getHumanReadableErrorFromGrafanaProvisioningError(t.t2,e));case 26:return t.abrupt("return",null);case 27:case"end":return t.stop()}}),t,null,[[0,5],[8,14],[17,23]])})));return function(e){return t.apply(this,arguments)}}()),Ae(xe,"checkIfPluginIsConnected",function(){var t=ge(he().mark((function t(e){var r;return he().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,fe("/status",{method:"GET"});case 3:if(!(r=t.sent).version){t.next=8;break}return t.abrupt("return",r);case 8:throw new Error("Something is working at ".concat(e," but it's not DataExporter backend"));case 9:t.next=14;break;case 11:return t.prev=11,t.t0=t.catch(0),t.abrupt("return",xe.getHumanReadableErrorFromDataExporterError(t.t0,e));case 14:case"end":return t.stop()}}),t,null,[[0,11]])})));return function(e){return t.apply(this,arguments)}}()),Ae(xe,"resetPlugin",(function(){return xe.updateGrafanaPluginSettings({jsonData:{dataExporterApiUrl:null},secureJsonData:{grafanaToken:null}},!1)}));const Ce=xe;var Ee=u(18),Oe={};Oe.styleTagTransform=d(),Oe.setAttributes=c(),Oe.insert=a().bind(null,"head"),Oe.domAPI=n(),Oe.insertStyleElement=f();e()(Ee.Z,Oe);const Se=Ee.Z&&Ee.Z.locals?Ee.Z.locals:void 0;var je=u(19),ke={};ke.styleTagTransform=d(),ke.setAttributes=c(),ke.insert=a().bind(null,"head"),ke.domAPI=n(),ke.insertStyleElement=f();e()(je.Z,ke);const Le=je.Z&&je.Z.locals?je.Z.locals:void 0;var Pe=u(12),Te=u.n(Pe),Be=["children","style","className","bordered","fullWidth","hover","shadowed","withBackground"];function _e(){return _e=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var Ne=Te().bind(Le);const Fe=function(t){var e=t.children,r=t.style,n=t.className,o=t.bordered,a=void 0!==o&&o,i=t.fullWidth,c=void 0!==i&&i,s=t.hover,u=void 0!==s&&s,l=t.shadowed,f=void 0!==l&&l,p=t.withBackground,d=void 0!==p&&p,h=Re(t,Be);return v().createElement("div",_e({className:Ne("root",n,{root_bordered:a,root_shadowed:f,"root--fullWidth":c,"root--withBackground":d,"root--hover":u}),style:r},h),e)};var De=u(20),Ue={};Ue.styleTagTransform=d(),Ue.setAttributes=c(),Ue.insert=a().bind(null,"head"),Ue.domAPI=n(),Ue.insertStyleElement=f();e()(De.Z,Ue);const Ge=De.Z&&De.Z.locals?De.Z.locals:void 0;var Ie=u(10),Me=u(15),ze=u.n(Me);var Ze=u(21),qe=u.n(Ze);function We(t){return We="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},We(t)}var Je=["level","className","style"];function Ye(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r,n,o={},a=Object.keys(t);for(n=0;n=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function He(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==We(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!==We(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===We(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ke(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],s=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Ve(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ve(t,e)}(t,e)||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 Ve(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1&&t%1==0&&t<=9007199254740991};const cn=function(t){return null!=t&&an(t.length)&&!vr(t)};const sn=function(){return!1};var un="object"==typeof exports&&exports&&!exports.nodeType&&exports,ln=un&&"object"==typeof module&&module&&!module.nodeType&&module,fn=ln&&ln.exports===un?cr.Buffer:void 0;const pn=(fn?fn.isBuffer:void 0)||sn;var dn={};dn["[object Float32Array]"]=dn["[object Float64Array]"]=dn["[object Int8Array]"]=dn["[object Int16Array]"]=dn["[object Int32Array]"]=dn["[object Uint8Array]"]=dn["[object Uint8ClampedArray]"]=dn["[object Uint16Array]"]=dn["[object Uint32Array]"]=!0,dn["[object Arguments]"]=dn["[object Array]"]=dn["[object ArrayBuffer]"]=dn["[object Boolean]"]=dn["[object DataView]"]=dn["[object Date]"]=dn["[object Error]"]=dn["[object Function]"]=dn["[object Map]"]=dn["[object Number]"]=dn["[object Object]"]=dn["[object RegExp]"]=dn["[object Set]"]=dn["[object String]"]=dn["[object WeakMap]"]=!1;const hn=function(t){return $r(t)&&an(t.length)&&!!dn[mr(t)]};const yn=function(t){return function(e){return t(e)}};var gn="object"==typeof exports&&exports&&!exports.nodeType&&exports,mn=gn&&"object"==typeof module&&module&&!module.nodeType&&module,bn=mn&&mn.exports===gn&&ar.process,vn=function(){try{var t=mn&&mn.require&&mn.require("util").types;return t||bn&&bn.binding&&bn.binding("util")}catch(t){}}();var An=vn&&vn.isTypedArray;const wn=An?yn(An):hn;var xn=Object.prototype.hasOwnProperty;const Cn=function(t){if(null==t)return!0;if(cn(t)&&(on(t)||"string"==typeof t||"function"==typeof t.splice||pn(t)||wn(t)||nn(t)))return!t.length;var e=Qr(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(er(t))return!or(t).length;for(var r in t)if(xn.call(t,r))return!1;return!0};function En(t){return En="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},En(t)}var On,Sn,jn,kn,Ln;function Pn(){Pn=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,o){var a=e&&e.prototype instanceof p?e:p,i=Object.create(a.prototype),c=new O(o||[]);return n(i,"_invoke",{value:w(t,r,c)}),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function p(){}function d(){}function h(){}var y={};s(y,a,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(S([])));m&&m!==e&&r.call(m,a)&&(y=m);var b=h.prototype=p.prototype=Object.create(y);function v(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function o(n,a,i,c){var s=l(t[n],t,a);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"==En(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,i,c)}),(function(t){o("throw",t,i,c)})):e.resolve(f).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,c)}))}c(s.arg)}var a;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return a=a?a.then(n,n):n()}})}function w(t,e,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return j()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var c=x(i,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=l(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var a=o.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function S(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Tn(t,e,r,n,o,a,i){try{var c=t[a](i),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function Bn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],s=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return _n(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _n(t,e)}(t,e)||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 _n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Kn(t,e,r,n,o,a,i){try{var c=t[a](i),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function Vn(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){Kn(a,n,o,i,c,"next",t)}function c(t){Kn(a,n,o,i,c,"throw",t)}i(void 0)}))}}function Qn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],s=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return $n(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $n(t,e)}(t,e)||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 $n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r(()=>{var c=[t=>{"use strict";t.exports=a},t=>{"use strict";t.exports=r},t=>{"use strict";var e=[];function r(t){for(var r=-1,n=0;n{"use strict";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(r){!function(t,e,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var o=void 0!==r.layer;o&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},t=>{"use strict";var e={};t.exports=function(t,r){var n=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(t){r=null}e[t]=r}return e[t]}(t);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},(t,e,r)=>{"use strict";t.exports=function(t){var e=r.nc;e&&t.setAttribute("nonce",e)}},t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},t=>{"use strict";t.exports=function(t){var e=t[1],r=t[3];if(!r)return e;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(r)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),a="/*# ".concat(o," */");return[e].concat([a]).join("\n")}return[e].join("\n")}},t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(t,r,n,o,a){"string"==typeof t&&(t=[[null,t,void 0]]);var i={};if(n)for(var c=0;c0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=a),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},e=>{"use strict";e.exports=t},t=>{t.exports="object"==typeof self?self.FormData:window.FormData},(t,e)=>{var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var t=[],e=0;e{"use strict";t.exports=o},t=>{"use strict";t.exports=e},t=>{"use strict";t.exports=n},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,":root{--maintenance-background: repeating-linear-gradient(45deg, #f6ba52, #f6ba52 20px, #ffd180 20px, #ffd180 40px);--gren-5: #6ccf8e;--green-6: #73d13d;--red-5: #ff4d4f;--orange-5: #ffa940;--blue-2: #bae7ff;--gray-5: #d9d9d9;--gray-8: #595959;--gray-9: #434343;--cyan-1: #e6fffb;--purple-9: #22075e;--border-radius: 2px;--gradient-brandHorizontal: linear-gradient(90deg, #f83 0%, #f53e4c 100%);--gradient-brandVertical: linear-gradient(0.01deg, #f53e4c -31.2%, #f83 113.07%);--always-gray: #ccccdc;--title-marginBottom: 16px}.theme-light{--cards-background: var(--blue-2);--highlighted-row-bg: var(--cyan-1);--disabled-button-color: #bdbdbd;--primary-background: rgb(255, 255, 255);--secondary-background: rgb(244, 245, 245);--border: 1px solid rgba(36, 41, 46, 0.12);--primary-text-color: rgb(36, 41, 46);--secondary-text-color: rgba(36, 41, 46, 0.75);--disabled-text-color: rgba(36, 41, 46, 0.5);--warning-text-color: #8a6c00;--success-text-color: rgb(10, 118, 78);--error-text-color: rgb(207, 14, 91);--primary-text-link: #1f62e0;--timeline-icon-background: rgba(70, 76, 84, 0);--timeline-icon-background-resolution-note: rgba(50, 116, 217, 0);--oncall-icon-stroke-color: #fff;--hover-selected: #f4f5f5;--background-canvas: #f4f5f5;--background-primary: #fff;--background-secondary: #f4f5f5;--border-medium: 1px solid rgba(36, 41, 46, 0.3);--border-strong: 1px solid rgba(36, 41, 46, 0.4);--border-weak: 1px solid rgba(36, 41, 46, 0.12);--shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.2);--shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.2);--shadows-z3: 0 13px 20px 1px rgba(24, 26, 27, 0.18)}.theme-dark{--cards-background: var(--gray-9);--highlighted-row-bg: var(--gray-9);--disabled-button-color: hsla(0, 0%, 100%, 0.08);--primary-background: rgb(24, 27, 31);--secondary-background: rgb(34, 37, 43);--border: 1px solid rgba(204, 204, 220, 0.15);--primary-text-color: rgb(204, 204, 220);--secondary-text-color: rgba(204, 204, 220, 0.65);--disabled-text-color: rgba(204, 204, 220, 0.4);--warning-text-color: #f8d06b;--success-text-color: rgb(108, 207, 142);--error-text-color: rgb(255, 82, 134);--primary-text-link: #6e9fff;--timeline-icon-background: rgba(70, 76, 84, 1);--timeline-icon-background-resolution-note: rgba(50, 116, 217, 1);--focused-box-shadow: rgb(17 18 23) 0 0 0 2px, rgb(61 113 217) 0 0 0 4px;--hover-selected: rgba(204, 204, 220, 0.12);--hover-selected-hardcoded: #34363d;--oncall-icon-stroke-color: #181b1f;--background-canvas: #111217;--background-primary: #181b1f;--background-secondary: #22252b;--border-medium: 1px solid rgba(204, 204, 220, 0.15);--border-strong: 1px solid rgba(204, 204, 220, 0.25);--border-weak: 1px solid rgba(204, 204, 220, 0.07);--shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.75);--shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.75);--shadows-z3: 0 8px 24px rgb(1, 4, 9)}","",{version:3,sources:["webpack://./style/vars.css"],names:[],mappings:"AAAA,MACE,6GAAA,CACA,iBAAA,CACA,kBAAA,CACA,gBAAA,CACA,mBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,mBAAA,CACA,oBAAA,CACA,yEAAA,CACA,gFAAA,CACA,sBAAA,CACA,0BAAA,CAGF,aACE,iCAAA,CACA,mCAAA,CACA,gCAAA,CACA,wCAAA,CACA,0CAAA,CACA,0CAAA,CACA,qCAAA,CACA,8CAAA,CACA,4CAAA,CACA,6BAAA,CACA,sCAAA,CACA,oCAAA,CACA,4BAAA,CACA,+CAAA,CACA,iEAAA,CACA,gCAAA,CACA,yBAAA,CACA,4BAAA,CACA,0BAAA,CACA,+BAAA,CACA,gDAAA,CACA,gDAAA,CACA,+CAAA,CACA,6CAAA,CACA,6CAAA,CACA,oDAAA,CAGF,YACE,iCAAA,CACA,mCAAA,CACA,gDAAA,CACA,qCAAA,CACA,uCAAA,CACA,6CAAA,CACA,wCAAA,CACA,iDAAA,CACA,+CAAA,CACA,6BAAA,CACA,wCAAA,CACA,qCAAA,CACA,4BAAA,CACA,+CAAA,CACA,iEAAA,CACA,wEAAA,CACA,2CAAA,CACA,mCAAA,CACA,mCAAA,CACA,4BAAA,CACA,6BAAA,CACA,+BAAA,CACA,oDAAA,CACA,oDAAA,CACA,kDAAA,CACA,8CAAA,CACA,8CAAA,CACA,qCAAA",sourcesContent:[":root {\n --maintenance-background: repeating-linear-gradient(45deg, #f6ba52, #f6ba52 20px, #ffd180 20px, #ffd180 40px);\n --gren-5: #6ccf8e;\n --green-6: #73d13d;\n --red-5: #ff4d4f;\n --orange-5: #ffa940;\n --blue-2: #bae7ff;\n --gray-5: #d9d9d9;\n --gray-8: #595959;\n --gray-9: #434343;\n --cyan-1: #e6fffb;\n --purple-9: #22075e;\n --border-radius: 2px;\n --gradient-brandHorizontal: linear-gradient(90deg, #f83 0%, #f53e4c 100%);\n --gradient-brandVertical: linear-gradient(0.01deg, #f53e4c -31.2%, #f83 113.07%);\n --always-gray: #ccccdc;\n --title-marginBottom: 16px;\n}\n\n.theme-light {\n --cards-background: var(--blue-2);\n --highlighted-row-bg: var(--cyan-1);\n --disabled-button-color: #bdbdbd;\n --primary-background: rgb(255, 255, 255);\n --secondary-background: rgb(244, 245, 245);\n --border: 1px solid rgba(36, 41, 46, 0.12);\n --primary-text-color: rgb(36, 41, 46);\n --secondary-text-color: rgba(36, 41, 46, 0.75);\n --disabled-text-color: rgba(36, 41, 46, 0.5);\n --warning-text-color: #8a6c00;\n --success-text-color: rgb(10, 118, 78);\n --error-text-color: rgb(207, 14, 91);\n --primary-text-link: #1f62e0;\n --timeline-icon-background: rgba(70, 76, 84, 0);\n --timeline-icon-background-resolution-note: rgba(50, 116, 217, 0);\n --oncall-icon-stroke-color: #fff;\n --hover-selected: #f4f5f5;\n --background-canvas: #f4f5f5;\n --background-primary: #fff;\n --background-secondary: #f4f5f5;\n --border-medium: 1px solid rgba(36, 41, 46, 0.3);\n --border-strong: 1px solid rgba(36, 41, 46, 0.4);\n --border-weak: 1px solid rgba(36, 41, 46, 0.12);\n --shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.2);\n --shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.2);\n --shadows-z3: 0 13px 20px 1px rgba(24, 26, 27, 0.18);\n}\n\n.theme-dark {\n --cards-background: var(--gray-9);\n --highlighted-row-bg: var(--gray-9);\n --disabled-button-color: hsla(0, 0%, 100%, 0.08);\n --primary-background: rgb(24, 27, 31);\n --secondary-background: rgb(34, 37, 43);\n --border: 1px solid rgba(204, 204, 220, 0.15);\n --primary-text-color: rgb(204, 204, 220);\n --secondary-text-color: rgba(204, 204, 220, 0.65);\n --disabled-text-color: rgba(204, 204, 220, 0.4);\n --warning-text-color: #f8d06b;\n --success-text-color: rgb(108, 207, 142);\n --error-text-color: rgb(255, 82, 134);\n --primary-text-link: #6e9fff;\n --timeline-icon-background: rgba(70, 76, 84, 1);\n --timeline-icon-background-resolution-note: rgba(50, 116, 217, 1);\n --focused-box-shadow: rgb(17 18 23) 0 0 0 2px, rgb(61 113 217) 0 0 0 4px;\n --hover-selected: rgba(204, 204, 220, 0.12);\n --hover-selected-hardcoded: #34363d;\n --oncall-icon-stroke-color: #181b1f;\n --background-canvas: #111217;\n --background-primary: #181b1f;\n --background-secondary: #22252b;\n --border-medium: 1px solid rgba(204, 204, 220, 0.15);\n --border-strong: 1px solid rgba(204, 204, 220, 0.25);\n --border-weak: 1px solid rgba(204, 204, 220, 0.07);\n --shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.75);\n --shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.75);\n --shadows-z3: 0 8px 24px rgb(1, 4, 9);\n}\n"],sourceRoot:""}]);const c=i},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,".configure-plugin{margin-top:10px}@keyframes fadeIn{from{opacity:0}}.spin{width:100%;margin-top:200px;margin-bottom:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.spin-text{margin-top:20px}.disabled-row{background:#f0f0f0}.highlighted-row{background:var(--highlighted-row-bg)}.navbarRootFallback{margin-top:24px}.page-title{margin-bottom:16px}","",{version:3,sources:["webpack://./style/global.css"],names:[],mappings:"AAAA,kBACE,eAAA,CAGF,kBACE,KACE,SAAA,CAAA,CAMJ,MACE,UAAA,CACA,gBAAA,CACA,mBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CAGF,WACE,eAAA,CAKF,cACE,kBAAA,CAGF,iBACE,oCAAA,CAKF,oBACE,eAAA,CAGF,YACE,kBAAA",sourcesContent:[".configure-plugin {\n margin-top: 10px;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n}\n\n/* Spinner */\n\n.spin {\n width: 100%;\n margin-top: 200px;\n margin-bottom: 200px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.spin-text {\n margin-top: 20px;\n}\n\n/* Tables */\n\n.disabled-row {\n background: #f0f0f0;\n}\n\n.highlighted-row {\n background: var(--highlighted-row-bg);\n}\n\n/* Navigation */\n\n.navbarRootFallback {\n margin-top: 24px;\n}\n\n.page-title {\n margin-bottom: 16px;\n}\n"],sourceRoot:""}]);const c=i},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,".hIaTKzSpKwnciwBsbA5g{margin-bottom:24px;margin-top:24px}","",{version:3,sources:["webpack://./components/PluginConfigPage/parts/ConfigurationForm/ConfigurationForm.module.css"],names:[],mappings:"AAAA,sBACE,kBAAA,CACA,eAAA",sourcesContent:[".info-block {\n margin-bottom: 24px;\n margin-top: 24px;\n}\n"],sourceRoot:""}]),i.locals={"info-block":"hIaTKzSpKwnciwBsbA5g"};const c=i},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,".L2_Sb6mflEi16_oV2YVG{padding:16px;border-radius:2px}.B8sfGqDJhQceAfnXiSy7{background:var(--secondary-background)}.F0HayptUvv7c52TJhdxs{width:100%}.JnsnOIT70ZLiST_XRSdM:hover{background:var(--hover-selected)}.theme-dark .RrgUBvnBEvsmQUEhgr8Q{border:var(--border-weak)}.theme-light .RrgUBvnBEvsmQUEhgr8Q{border:var(--border-weak)}.theme-dark .QyFmu4r6x5RA33haU43n{box-shadow:0 4px 10px rgba(0,0,0,.6)}","",{version:3,sources:["webpack://./components/GBlock/Block.module.scss"],names:[],mappings:"AAAA,sBACE,YAAA,CACA,iBAAA,CAEA,sBACE,sCAAA,CAGF,sBACE,UAAA,CAGF,4BACE,gCAAA,CAIJ,kCACE,yBAAA,CAGF,mCACE,yBAAA,CAGF,kCACE,oCAAA",sourcesContent:[".root {\n padding: 16px;\n border-radius: 2px;\n\n &--withBackground {\n background: var(--secondary-background);\n }\n\n &--fullWidth {\n width: 100%;\n }\n\n &--hover:hover {\n background: var(--hover-selected);\n }\n}\n\n:global(.theme-dark) .root_bordered {\n border: var(--border-weak);\n}\n\n:global(.theme-light) .root_bordered {\n border: var(--border-weak);\n}\n\n:global(.theme-dark) .root_shadowed {\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);\n}\n"],sourceRoot:""}]),i.locals={root:"L2_Sb6mflEi16_oV2YVG","root--withBackground":"B8sfGqDJhQceAfnXiSy7","root--fullWidth":"F0HayptUvv7c52TJhdxs","root--hover":"JnsnOIT70ZLiST_XRSdM",root_bordered:"RrgUBvnBEvsmQUEhgr8Q",root_shadowed:"QyFmu4r6x5RA33haU43n"};const c=i},(t,e,r)=>{"use strict";r.d(e,{Z:()=>c});var n=r(8),o=r.n(n),a=r(9),i=r.n(a)()(o());i.push([t.id,".YmBCZG0ytFRASYjSWp6Z{display:inline}.eMNt3fHNFiSfB1jurc7n{color:var(--primary-text-color)}.mvgBWy5afSepBDglTzcy{color:var(--secondary-text-color)}.cDicaS8fKAStII_0qysw{color:var(--disabled-text-color)}.FyMghElj75iWw1xoQWi_{color:var(--warning-text-color)}.qllOfYZ6lNLfrsMGpCLu{color:var(--primary-text-link)}.tZWjwO8sDUnYBJZW3rDK{color:var(--green-5)}.jEMET71dZ_TTjp_Kkq1c{font-weight:bold}.V2smNr_XD9ivxvLAdcQE{text-decoration:underline}.OYbrS0suYpl7DyLg3d3l{font-size:12px}.J5PxsDRmNnI3qnLC5a0Q{font-size:20px}.ld4DsrSrNyeimbKojC9F{white-space:nowrap}._gfCYlGJGQgDqrow9Uin{margin:0 .2em;padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border:solid rgba(100,100,100,.2);border-width:1px 1px 2px;border-radius:3px}.wWZC68tCpczBTEqHpKcS{margin:0}.FOLa6t9YU6bEFWOophNA{margin-left:4px;display:none}.YmBCZG0ytFRASYjSWp6Z:hover .FOLa6t9YU6bEFWOophNA{display:inline-block}","",{version:3,sources:["webpack://./components/Text/Text.module.scss"],names:[],mappings:"AAAA,sBACE,cAAA,CAIA,sBACE,+BAAA,CAGF,sBACE,iCAAA,CAGF,sBACE,gCAAA,CAGF,sBACE,+BAAA,CAGF,sBACE,8BAAA,CAGF,sBACE,oBAAA,CAGF,sBACE,gBAAA,CAGF,sBACE,yBAAA,CAGF,sBACE,cAAA,CAGF,sBACE,cAAA,CAIJ,sBACE,kBAAA,CAGF,sBACE,aAAA,CACA,uBAAA,CACA,aAAA,CACA,gCAAA,CACA,iCAAA,CACA,wBAAA,CACA,iBAAA,CAGF,sBACE,QAAA,CAGF,sBACE,eAAA,CACA,YAAA,CAGF,kDACE,oBAAA",sourcesContent:[".root {\n display: inline;\n}\n\n.text {\n &--primary {\n color: var(--primary-text-color);\n }\n\n &--secondary {\n color: var(--secondary-text-color);\n }\n\n &--disabled {\n color: var(--disabled-text-color);\n }\n\n &--warning {\n color: var(--warning-text-color);\n }\n\n &--link {\n color: var(--primary-text-link);\n }\n\n &--success {\n color: var(--green-5);\n }\n\n &--strong {\n font-weight: bold;\n }\n\n &--underline {\n text-decoration: underline;\n }\n\n &--small {\n font-size: 12px;\n }\n\n &--large {\n font-size: 20px;\n }\n}\n\n.no-wrap {\n white-space: nowrap;\n}\n\n.keyboard {\n margin: 0 0.2em;\n padding: 0.15em 0.4em 0.1em;\n font-size: 90%;\n background: hsla(0, 0%, 58.8%, 0.06);\n border: solid hsla(0, 0%, 39.2%, 0.2);\n border-width: 1px 1px 2px;\n border-radius: 3px;\n}\n\n.title {\n margin: 0;\n}\n\n.icon-button {\n margin-left: 4px;\n display: none;\n}\n\n.root:hover .icon-button {\n display: inline-block;\n}\n"],sourceRoot:""}]),i.locals={root:"YmBCZG0ytFRASYjSWp6Z","text--primary":"eMNt3fHNFiSfB1jurc7n","text--secondary":"mvgBWy5afSepBDglTzcy","text--disabled":"cDicaS8fKAStII_0qysw","text--warning":"FyMghElj75iWw1xoQWi_","text--link":"qllOfYZ6lNLfrsMGpCLu","text--success":"tZWjwO8sDUnYBJZW3rDK","text--strong":"jEMET71dZ_TTjp_Kkq1c","text--underline":"V2smNr_XD9ivxvLAdcQE","text--small":"OYbrS0suYpl7DyLg3d3l","text--large":"J5PxsDRmNnI3qnLC5a0Q","no-wrap":"ld4DsrSrNyeimbKojC9F",keyboard:"_gfCYlGJGQgDqrow9Uin",title:"wWZC68tCpczBTEqHpKcS","icon-button":"FOLa6t9YU6bEFWOophNA"};const c=i},(t,e,r)=>{"use strict";var n=r(25).CopyToClipboard;n.CopyToClipboard=n,t.exports=n},(t,e,r)=>{"use strict";var n=r(23),o={"text/plain":"Text","text/html":"Url",default:"Text"};t.exports=function(t,e){var r,a,i,c,s,u=!1;e||(e={}),e.debug;try{if(a=n(),i=document.createRange(),c=document.getSelection(),(s=document.createElement("span")).textContent=t,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),e.format)if(r.preventDefault(),void 0===r.clipboardData){window.clipboardData.clearData();var n=o[e.format]||o.default;window.clipboardData.setData(n,t)}else r.clipboardData.clearData(),r.clipboardData.setData(e.format,t);e.onCopy&&(r.preventDefault(),e.onCopy(r.clipboardData))})),document.body.appendChild(s),i.selectNodeContents(s),c.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(n){try{window.clipboardData.setData(e.format||"text",t),e.onCopy&&e.onCopy(window.clipboardData),u=!0}catch(n){r=function(t){var e=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return t.replace(/#{\s*key\s*}/g,e)}("message"in e?e.message:"Copy to clipboard: #{key}, Enter"),window.prompt(r,t)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(i):c.removeAllRanges()),s&&document.body.removeChild(s),a()}return u}},t=>{t.exports=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,r=[],n=0;n{"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.CopyToClipboard=void 0;var o=c(r(0)),a=c(r(22)),i=["text","onCopy","options","children"];function c(t){return t&&t.__esModule?t:{default:t}}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function u(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function f(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function p(t,e){for(var r=0;r{"use strict";t.exports=i}],s={};function u(t){var e=s[t];if(void 0!==e)return e.exports;var r=s[t]={id:t,exports:{}};return c[t](r,r.exports,u),r.exports}u.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return u.d(e,{a:e}),e},u.d=(t,e)=>{for(var r in e)u.o(e,r)&&!u.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},u.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),u.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},u.nc=void 0;var l={};return(()=>{"use strict";u.r(l),u.d(l,{plugin:()=>no});var t=u(2),e=u.n(t),r=u(3),n=u.n(r),o=u(4),a=u.n(o),i=u(5),c=u.n(i),s=u(6),f=u.n(s),p=u(7),d=u.n(p),h=u(16),y={};y.styleTagTransform=d(),y.setAttributes=c(),y.insert=a().bind(null,"head"),y.domAPI=n(),y.insertStyleElement=f();e()(h.Z,y);h.Z&&h.Z.locals&&h.Z.locals;var g=u(17),m={};m.styleTagTransform=d(),m.setAttributes=c(),m.insert=a().bind(null,"head"),m.domAPI=n(),m.insertStyleElement=f();e()(g.Z,m);g.Z&&g.Z.locals&&g.Z.locals;function b(t,e){return function(){return t.apply(e,arguments)}}const{toString:v}=Object.prototype,{getPrototypeOf:A}=Object,w=(x=Object.create(null),t=>{const e=v.call(t);return x[e]||(x[e]=e.slice(8,-1).toLowerCase())});var x;const E=t=>(t=t.toLowerCase(),e=>w(e)===t),C=t=>e=>typeof e===t,{isArray:O}=Array,S=C("undefined");const j=E("ArrayBuffer");const k=C("string"),L=C("function"),P=C("number"),T=t=>null!==t&&"object"==typeof t,B=t=>{if("object"!==w(t))return!1;const e=A(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},_=E("Date"),R=E("File"),N=E("Blob"),F=E("FileList"),D=E("URLSearchParams");function U(t,e,{allOwnKeys:r=!1}={}){if(null==t)return;let n,o;if("object"!=typeof t&&(t=[t]),O(t))for(n=0,o=t.length;n0;)if(n=r[o],e===n.toLowerCase())return n;return null}const I="undefined"==typeof self?"undefined"==typeof global?void 0:global:self,M=t=>!S(t)&&t!==I;const z=(Z="undefined"!=typeof Uint8Array&&A(Uint8Array),t=>Z&&t instanceof Z);var Z;const q=E("HTMLFormElement"),W=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),J=E("RegExp"),Y=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),n={};U(r,((r,o)=>{!1!==e(r,o,t)&&(n[o]=r)})),Object.defineProperties(t,n)},H={isArray:O,isArrayBuffer:j,isBuffer:function(t){return null!==t&&!S(t)&&null!==t.constructor&&!S(t.constructor)&&L(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{const e="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||v.call(t)===e||L(t.toString)&&t.toString()===e)},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&j(t.buffer),e},isString:k,isNumber:P,isBoolean:t=>!0===t||!1===t,isObject:T,isPlainObject:B,isUndefined:S,isDate:_,isFile:R,isBlob:N,isRegExp:J,isFunction:L,isStream:t=>T(t)&&L(t.pipe),isURLSearchParams:D,isTypedArray:z,isFileList:F,forEach:U,merge:function t(){const{caseless:e}=M(this)&&this||{},r={},n=(n,o)=>{const a=e&&G(r,o)||o;B(r[a])&&B(n)?r[a]=t(r[a],n):B(n)?r[a]=t({},n):O(n)?r[a]=n.slice():r[a]=n};for(let t=0,e=arguments.length;t(U(e,((e,n)=>{r&&L(e)?t[n]=b(e,r):t[n]=e}),{allOwnKeys:n}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:(t,e,r,n)=>{let o,a,i;const c={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),a=o.length;a-- >0;)i=o[a],n&&!n(i,t,e)||c[i]||(e[i]=t[i],c[i]=!0);t=!1!==r&&A(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:w,kindOfTest:E,endsWith:(t,e,r)=>{t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;const n=t.indexOf(e,r);return-1!==n&&n===r},toArray:t=>{if(!t)return null;if(O(t))return t;let e=t.length;if(!P(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},forEachEntry:(t,e)=>{const r=(t&&t[Symbol.iterator]).call(t);let n;for(;(n=r.next())&&!n.done;){const r=n.value;e.call(t,r[0],r[1])}},matchAll:(t,e)=>{let r;const n=[];for(;null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:q,hasOwnProperty:W,hasOwnProp:W,reduceDescriptors:Y,freezeMethods:t=>{Y(t,((e,r)=>{if(L(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=t[r];L(n)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(t,e)=>{const r={},n=t=>{t.forEach((t=>{r[t]=!0}))};return O(t)?n(t):n(String(t).split(e)),r},toCamelCase:t=>t.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(t,e,r){return e.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:G,global:I,isContextDefined:M,toJSONObject:t=>{const e=new Array(10),r=(t,n)=>{if(T(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;const o=O(t)?[]:{};return U(t,((t,e)=>{const a=r(t,n+1);!S(a)&&(o[e]=a)})),e[n]=void 0,o}}return t};return r(t,0)}};function K(t,e,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}H.inherits(K,Error,{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:H.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const V=K.prototype,Q={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{Q[t]={value:t}})),Object.defineProperties(K,Q),Object.defineProperty(V,"isAxiosError",{value:!0}),K.from=(t,e,r,n,o,a)=>{const i=Object.create(V);return H.toFlatObject(t,i,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),K.call(i,t.message,e,r,n,o),i.cause=t,i.name=t.name,a&&Object.assign(i,a),i};const $=K;const X=u(11);function tt(t){return H.isPlainObject(t)||H.isArray(t)}function et(t){return H.endsWith(t,"[]")?t.slice(0,-2):t}function rt(t,e,r){return t?t.concat(e).map((function(t,e){return t=et(t),!r&&e?"["+t+"]":t})).join(r?".":""):e}const nt=H.toFlatObject(H,{},null,(function(t){return/^is[A-Z]/.test(t)}));const ot=function(t,e,r){if(!H.isObject(t))throw new TypeError("target must be an object");e=e||new(X||FormData);const n=(r=H.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!H.isUndefined(e[t])}))).metaTokens,o=r.visitor||l,a=r.dots,i=r.indexes,c=(r.Blob||"undefined"!=typeof Blob&&Blob)&&((s=e)&&H.isFunction(s.append)&&"FormData"===s[Symbol.toStringTag]&&s[Symbol.iterator]);var s;if(!H.isFunction(o))throw new TypeError("visitor must be a function");function u(t){if(null===t)return"";if(H.isDate(t))return t.toISOString();if(!c&&H.isBlob(t))throw new $("Blob is not supported. Use a Buffer instead.");return H.isArrayBuffer(t)||H.isTypedArray(t)?c&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,r,o){let c=t;if(t&&!o&&"object"==typeof t)if(H.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else if(H.isArray(t)&&function(t){return H.isArray(t)&&!t.some(tt)}(t)||H.isFileList(t)||H.endsWith(r,"[]")&&(c=H.toArray(t)))return r=et(r),c.forEach((function(t,n){!H.isUndefined(t)&&null!==t&&e.append(!0===i?rt([r],n,a):null===i?r:r+"[]",u(t))})),!1;return!!tt(t)||(e.append(rt(o,r,a),u(t)),!1)}const f=[],p=Object.assign(nt,{defaultVisitor:l,convertValue:u,isVisitable:tt});if(!H.isObject(t))throw new TypeError("data must be an object");return function t(r,n){if(!H.isUndefined(r)){if(-1!==f.indexOf(r))throw Error("Circular reference detected in "+n.join("."));f.push(r),H.forEach(r,(function(r,a){!0===(!(H.isUndefined(r)||null===r)&&o.call(e,r,H.isString(a)?a.trim():a,n,p))&&t(r,n?n.concat(a):[a])})),f.pop()}}(t),e};function at(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function it(t,e){this._pairs=[],t&&ot(t,this,e)}const ct=it.prototype;ct.append=function(t,e){this._pairs.push([t,e])},ct.toString=function(t){const e=t?function(e){return t.call(this,e,at)}:at;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const st=it;function ut(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function lt(t,e,r){if(!e)return t;const n=r&&r.encode||ut,o=r&&r.serialize;let a;if(a=o?o(e,r):H.isURLSearchParams(e)?e.toString():new st(e,r).toString(n),a){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+a}return t}const ft=class{constructor(){this.handlers=[]}use(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){H.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},pt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},dt="undefined"!=typeof URLSearchParams?URLSearchParams:st,ht=FormData,yt=(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&("undefined"!=typeof window&&"undefined"!=typeof document)})(),gt="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,mt={isBrowser:!0,classes:{URLSearchParams:dt,FormData:ht,Blob},isStandardBrowserEnv:yt,isStandardBrowserWebWorkerEnv:gt,protocols:["http","https","file","blob","url","data"]};const bt=function(t){function e(t,r,n,o){let a=t[o++];const i=Number.isFinite(+a),c=o>=t.length;if(a=!a&&H.isArray(n)?n.length:a,c)return H.hasOwnProp(n,a)?n[a]=[n[a],r]:n[a]=r,!i;n[a]&&H.isObject(n[a])||(n[a]=[]);return e(t,r,n[a],o)&&H.isArray(n[a])&&(n[a]=function(t){const e={},r=Object.keys(t);let n;const o=r.length;let a;for(n=0;n{e(function(t){return H.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),n,r,0)})),r}return null},vt={"Content-Type":void 0};const At={transitional:pt,adapter:["xhr","http"],transformRequest:[function(t,e){const r=e.getContentType()||"",n=r.indexOf("application/json")>-1,o=H.isObject(t);o&&H.isHTMLForm(t)&&(t=new FormData(t));if(H.isFormData(t))return n&&n?JSON.stringify(bt(t)):t;if(H.isArrayBuffer(t)||H.isBuffer(t)||H.isStream(t)||H.isFile(t)||H.isBlob(t))return t;if(H.isArrayBufferView(t))return t.buffer;if(H.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return ot(t,new mt.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return mt.isNode&&H.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((a=H.isFileList(t))||r.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return ot(a?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||n?(e.setContentType("application/json",!1),function(t,e,r){if(H.isString(t))try{return(e||JSON.parse)(t),H.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(r||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||At.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(t&&H.isString(t)&&(r&&!this.responseType||n)){const r=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(t){if(r){if("SyntaxError"===t.name)throw $.from(t,$.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:mt.classes.FormData,Blob:mt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};H.forEach(["delete","get","head"],(function(t){At.headers[t]={}})),H.forEach(["post","put","patch"],(function(t){At.headers[t]=H.merge(vt)}));const wt=At,xt=H.toObjectSet(["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"]),Et=Symbol("internals");function Ct(t){return t&&String(t).trim().toLowerCase()}function Ot(t){return!1===t||null==t?t:H.isArray(t)?t.map(Ot):String(t)}function St(t,e,r,n){return H.isFunction(n)?n.call(this,e,r):H.isString(e)?H.isString(n)?-1!==e.indexOf(n):H.isRegExp(n)?n.test(e):void 0:void 0}class jt{constructor(t){t&&this.set(t)}set(t,e,r){const n=this;function o(t,e,r){const o=Ct(e);if(!o)throw new Error("header name must be a non-empty string");const a=H.findKey(n,o);(!a||void 0===n[a]||!0===r||void 0===r&&!1!==n[a])&&(n[a||e]=Ot(t))}const a=(t,e)=>H.forEach(t,((t,r)=>o(t,r,e)));return H.isPlainObject(t)||t instanceof this.constructor?a(t,e):H.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z]+$/.test(t.trim())?a((t=>{const e={};let r,n,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),r=t.substring(0,o).trim().toLowerCase(),n=t.substring(o+1).trim(),!r||e[r]&&xt[r]||("set-cookie"===r?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)})),e})(t),e):null!=t&&o(e,t,r),this}get(t,e){if(t=Ct(t)){const r=H.findKey(this,t);if(r){const t=this[r];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}(t);if(H.isFunction(e))return e.call(this,t,r);if(H.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Ct(t)){const r=H.findKey(this,t);return!(!r||e&&!St(0,this[r],r,e))}return!1}delete(t,e){const r=this;let n=!1;function o(t){if(t=Ct(t)){const o=H.findKey(r,t);!o||e&&!St(0,r[o],o,e)||(delete r[o],n=!0)}}return H.isArray(t)?t.forEach(o):o(t),n}clear(){return Object.keys(this).forEach(this.delete.bind(this))}normalize(t){const e=this,r={};return H.forEach(this,((n,o)=>{const a=H.findKey(r,o);if(a)return e[a]=Ot(n),void delete e[o];const i=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,r)=>e.toUpperCase()+r))}(o):String(o).trim();i!==o&&delete e[o],e[i]=Ot(n),r[i]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return H.forEach(this,((r,n)=>{null!=r&&!1!==r&&(e[n]=t&&H.isArray(r)?r.join(", "):r)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const r=new this(t);return e.forEach((t=>r.set(t))),r}static accessor(t){const e=(this[Et]=this[Et]={accessors:{}}).accessors,r=this.prototype;function n(t){const n=Ct(t);e[n]||(!function(t,e){const r=H.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(t,n+r,{value:function(t,r,o){return this[n].call(this,e,t,r,o)},configurable:!0})}))}(r,t),e[n]=!0)}return H.isArray(t)?t.forEach(n):n(t),this}}jt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]),H.freezeMethods(jt.prototype),H.freezeMethods(jt);const kt=jt;function Lt(t,e){const r=this||wt,n=e||r,o=kt.from(n.headers);let a=n.data;return H.forEach(t,(function(t){a=t.call(r,a,o.normalize(),e?e.status:void 0)})),o.normalize(),a}function Pt(t){return!(!t||!t.__CANCEL__)}function Tt(t,e,r){$.call(this,null==t?"canceled":t,$.ERR_CANCELED,e,r),this.name="CanceledError"}H.inherits(Tt,$,{__CANCEL__:!0});const Bt=Tt;const _t=mt.isStandardBrowserEnv?{write:function(t,e,r,n,o,a){const i=[];i.push(t+"="+encodeURIComponent(e)),H.isNumber(r)&&i.push("expires="+new Date(r).toGMTString()),H.isString(n)&&i.push("path="+n),H.isString(o)&&i.push("domain="+o),!0===a&&i.push("secure"),document.cookie=i.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Rt(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Nt=mt.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let r;function n(r){let n=r;return t&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return r=n(window.location.href),function(t){const e=H.isString(t)?n(t):t;return e.protocol===r.protocol&&e.host===r.host}}():function(){return!0};const Ft=function(t,e){t=t||10;const r=new Array(t),n=new Array(t);let o,a=0,i=0;return e=void 0!==e?e:1e3,function(c){const s=Date.now(),u=n[i];o||(o=s),r[a]=c,n[a]=s;let l=i,f=0;for(;l!==a;)f+=r[l++],l%=t;if(a=(a+1)%t,a===i&&(i=(i+1)%t),s-o{const a=o.loaded,i=o.lengthComputable?o.total:void 0,c=a-r,s=n(c);r=a;const u={loaded:a,total:i,progress:i?a/i:void 0,bytes:c,rate:s||void 0,estimated:s&&i&&a<=i?(i-a)/s:void 0,event:o};u[e?"download":"upload"]=!0,t(u)}}const Ut={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,r){let n=t.data;const o=kt.from(t.headers).normalize(),a=t.responseType;let i;function c(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}H.isFormData(n)&&(mt.isStandardBrowserEnv||mt.isStandardBrowserWebWorkerEnv)&&o.setContentType(!1);let s=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",r=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+r))}const u=Rt(t.baseURL,t.url);function l(){if(!s)return;const n=kt.from("getAllResponseHeaders"in s&&s.getAllResponseHeaders());!function(t,e,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?e(new $("Request failed with status code "+r.status,[$.ERR_BAD_REQUEST,$.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}((function(t){e(t),c()}),(function(t){r(t),c()}),{data:a&&"text"!==a&&"json"!==a?s.response:s.responseText,status:s.status,statusText:s.statusText,headers:n,config:t,request:s}),s=null}if(s.open(t.method.toUpperCase(),lt(u,t.params,t.paramsSerializer),!0),s.timeout=t.timeout,"onloadend"in s?s.onloadend=l:s.onreadystatechange=function(){s&&4===s.readyState&&(0!==s.status||s.responseURL&&0===s.responseURL.indexOf("file:"))&&setTimeout(l)},s.onabort=function(){s&&(r(new $("Request aborted",$.ECONNABORTED,t,s)),s=null)},s.onerror=function(){r(new $("Network Error",$.ERR_NETWORK,t,s)),s=null},s.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const n=t.transitional||pt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new $(e,n.clarifyTimeoutError?$.ETIMEDOUT:$.ECONNABORTED,t,s)),s=null},mt.isStandardBrowserEnv){const e=(t.withCredentials||Nt(u))&&t.xsrfCookieName&&_t.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===n&&o.setContentType(null),"setRequestHeader"in s&&H.forEach(o.toJSON(),(function(t,e){s.setRequestHeader(e,t)})),H.isUndefined(t.withCredentials)||(s.withCredentials=!!t.withCredentials),a&&"json"!==a&&(s.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&s.addEventListener("progress",Dt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&s.upload&&s.upload.addEventListener("progress",Dt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{s&&(r(!e||e.type?new Bt(null,t,s):e),s.abort(),s=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const f=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);f&&-1===mt.protocols.indexOf(f)?r(new $("Unsupported protocol "+f+":",$.ERR_BAD_REQUEST,t)):s.send(n||null)}))}};H.forEach(Ut,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Gt=t=>{t=H.isArray(t)?t:[t];const{length:e}=t;let r,n;for(let o=0;ot instanceof kt?t.toJSON():t;function Zt(t,e){e=e||{};const r={};function n(t,e,r){return H.isPlainObject(t)&&H.isPlainObject(e)?H.merge.call({caseless:r},t,e):H.isPlainObject(e)?H.merge({},e):H.isArray(e)?e.slice():e}function o(t,e,r){return H.isUndefined(e)?H.isUndefined(t)?void 0:n(void 0,t,r):n(t,e,r)}function a(t,e){if(!H.isUndefined(e))return n(void 0,e)}function i(t,e){return H.isUndefined(e)?H.isUndefined(t)?void 0:n(void 0,t):n(void 0,e)}function c(r,o,a){return a in e?n(r,o):a in t?n(void 0,r):void 0}const s={url:a,method:a,data:a,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(t,e)=>o(zt(t),zt(e),!0)};return H.forEach(Object.keys(t).concat(Object.keys(e)),(function(n){const a=s[n]||o,i=a(t[n],e[n],n);H.isUndefined(i)&&a!==c||(r[n]=i)})),r}const qt="1.2.1",Wt={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Wt[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));const Jt={};Wt.transitional=function(t,e,r){return(n,o,a)=>{if(!1===t)throw new $(function(t,e){return"[Axios v1.2.1] Transitional option '"+t+"'"+e+(r?". "+r:"")}(o," has been removed"+(e?" in "+e:"")),$.ERR_DEPRECATED);return e&&!Jt[o]&&(Jt[o]=!0),!t||t(n,o,a)}};const Yt={assertOptions:function(t,e,r){if("object"!=typeof t)throw new $("options must be an object",$.ERR_BAD_OPTION_VALUE);const n=Object.keys(t);let o=n.length;for(;o-- >0;){const a=n[o],i=e[a];if(i){const e=t[a],r=void 0===e||i(e,a,t);if(!0!==r)throw new $("option "+a+" must be "+r,$.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new $("Unknown option "+a,$.ERR_BAD_OPTION)}},validators:Wt},Ht=Yt.validators;class Kt{constructor(t){this.defaults=t,this.interceptors={request:new ft,response:new ft}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Zt(this.defaults,e);const{transitional:r,paramsSerializer:n,headers:o}=e;let a;void 0!==r&&Yt.assertOptions(r,{silentJSONParsing:Ht.transitional(Ht.boolean),forcedJSONParsing:Ht.transitional(Ht.boolean),clarifyTimeoutError:Ht.transitional(Ht.boolean)},!1),void 0!==n&&Yt.assertOptions(n,{encode:Ht.function,serialize:Ht.function},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase(),a=o&&H.merge(o.common,o[e.method]),a&&H.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=kt.concat(a,o);const i=[];let c=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(c=c&&t.synchronous,i.unshift(t.fulfilled,t.rejected))}));const s=[];let u;this.interceptors.response.forEach((function(t){s.push(t.fulfilled,t.rejected)}));let l,f=0;if(!c){const t=[Mt.bind(this),void 0];for(t.unshift.apply(t,i),t.push.apply(t,s),l=t.length,u=Promise.resolve(e);f{if(!r._listeners)return;let e=r._listeners.length;for(;e-- >0;)r._listeners[e](t);r._listeners=null})),this.promise.then=t=>{let e;const n=new Promise((t=>{r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t((function(t,n,o){r.reason||(r.reason=new Bt(t,n,o),e(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new Qt((function(e){t=e})),cancel:t}}}const $t=Qt;const Xt=function t(e){const r=new Vt(e),n=b(Vt.prototype.request,r);return H.extend(n,Vt.prototype,r,{allOwnKeys:!0}),H.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return t(Zt(e,r))},n}(wt);Xt.Axios=Vt,Xt.CanceledError=Bt,Xt.CancelToken=$t,Xt.isCancel=Pt,Xt.VERSION=qt,Xt.toFormData=ot,Xt.AxiosError=$,Xt.Cancel=Xt.CanceledError,Xt.all=function(t){return Promise.all(t)},Xt.spread=function(t){return function(e){return t.apply(null,e)}},Xt.isAxiosError=function(t){return H.isObject(t)&&!0===t.isAxiosError},Xt.mergeConfig=Zt,Xt.AxiosHeaders=kt,Xt.formToJSON=t=>bt(H.isHTMLForm(t)?new FormData(t):t),Xt.default=Xt;const te=Xt;u(13);function ee(t){return ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ee(t)}function re(){re=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,o){var a=e&&e.prototype instanceof p?e:p,i=Object.create(a.prototype),c=new O(o||[]);return n(i,"_invoke",{value:w(t,r,c)}),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function p(){}function d(){}function h(){}var y={};s(y,a,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(S([])));m&&m!==e&&r.call(m,a)&&(y=m);var b=h.prototype=p.prototype=Object.create(y);function v(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function o(n,a,i,c){var s=l(t[n],t,a);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"==ee(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,i,c)}),(function(t){o("throw",t,i,c)})):e.resolve(f).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,c)}))}c(s.arg)}var a;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return a=a?a.then(n,n):n()}})}function w(t,e,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return j()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var c=x(i,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=l(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var a=o.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function S(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),C(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function ne(t,e,r,n,o,a,i){try{var c=t[a](i),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function oe(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){ne(a,n,o,i,c,"next",t)}function c(t){ne(a,n,o,i,c,"throw",t)}i(void 0)}))}}function ae(){return ae=Object.assign?Object.assign.bind():function(t){for(var e=1;e=200&&t<300},ae({},t)}));var ce=function(){var t=oe(re().mark((function t(e,r){var n,o,a,i,c,s,u;return re().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.method,o=void 0===n?"GET":n,a=r.params,i=r.data,c=r.validateStatus,s="".concat("api/plugin-proxy/corpglory-dataexporter-app").concat("/api").concat(e),t.next=4,ie({method:o,url:s,params:a,data:i,validateStatus:c});case 4:return u=t.sent,t.abrupt("return",u.data);case 6:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}();var se=u(14);function ue(){return ue=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),C(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function fe(t,e,r,n,o,a,i){try{var c=t[a](i),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function pe(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){fe(a,n,o,i,c,"next",t)}function c(t){fe(a,n,o,i,c,"throw",t)}i(void 0)}))}}function de(t){return de="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},de(t)}function he(t,e){for(var r=0;r1&&void 0!==n[1])||n[1],t.abrupt("return",be.grafanaBackend.post(be.GRAFANA_PLUGIN_SETTINGS_URL,ue({},e,{enabled:r,pinned:!0}),{showSuccessAlert:!1}));case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),ge(be,"createGrafanaToken",pe(le().mark((function t(){var e,r,n;return le().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e="/api/auth/keys",t.next=3,be.grafanaBackend.get(e);case 3:if(r=t.sent,!(n=r.find((function(t){return"DataExporter"===t.name})))){t.next=8;break}return t.next=8,be.grafanaBackend.delete("".concat(e,"/").concat(n.id),void 0,{showSuccessAlert:!1});case 8:return t.next=10,be.grafanaBackend.post(e,{name:"DataExporter",role:"Admin",secondsToLive:null},{showSuccessAlert:!1});case 10:return t.abrupt("return",t.sent);case 11:case"end":return t.stop()}}),t)})))),ge(be,"timeout",(function(t){return new Promise((function(e){return setTimeout(e,10*Math.pow(2,t))}))})),ge(be,"connectBackend",pe(le().mark((function t(){var e,r,n;return le().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,be.createGrafanaToken();case 2:return e=t.sent,r=e.key,t.next=6,be.updateGrafanaPluginSettings({secureJsonData:{apiToken:r}});case 6:return t.next=8,ce("/connect",{method:"POST",data:{apiToken:r,url:window.location.toString()}});case 8:return n=t.sent,t.abrupt("return",{apiToken:r,dataExporterAPIResponse:n});case 10:case"end":return t.stop()}}),t)})))),ge(be,"installPlugin",function(){var t=pe(le().mark((function t(e){var r,n;return le().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,be.updateGrafanaPluginSettings({jsonData:{dataExporterApiUrl:e}});case 3:t.next=8;break;case 5:return t.prev=5,t.t0=t.catch(0),t.abrupt("return",be.getHumanReadableErrorFromGrafanaProvisioningError(t.t0,e));case 8:return t.prev=8,t.next=11,be.connectBackend();case 11:r=t.sent,t.next=17;break;case 14:return t.prev=14,t.t1=t.catch(8),t.abrupt("return",be.getHumanReadableErrorFromDataExporterError(t.t1,e));case 17:return t.prev=17,n=r.apiToken,t.next=21,be.updateGrafanaPluginSettings({jsonData:{dataExporterApiUrl:e},secureJsonData:{apiToken:n}});case 21:t.next=26;break;case 23:return t.prev=23,t.t2=t.catch(17),t.abrupt("return",be.getHumanReadableErrorFromGrafanaProvisioningError(t.t2,e));case 26:return t.abrupt("return",null);case 27:case"end":return t.stop()}}),t,null,[[0,5],[8,14],[17,23]])})));return function(e){return t.apply(this,arguments)}}()),ge(be,"checkIfPluginIsConnected",function(){var t=pe(le().mark((function t(e){var r;return le().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,ce("/connect",{method:"GET",params:{url:window.location.toString()}});case 3:if(!(r=t.sent).version){t.next=8;break}return t.abrupt("return",r);case 8:throw new Error("Something is working at ".concat(e," but it's not DataExporter backend"));case 9:t.next=14;break;case 11:return t.prev=11,t.t0=t.catch(0),t.abrupt("return",be.getHumanReadableErrorFromDataExporterError(t.t0,e));case 14:case"end":return t.stop()}}),t,null,[[0,11]])})));return function(e){return t.apply(this,arguments)}}()),ge(be,"resetPlugin",(function(){return be.updateGrafanaPluginSettings({jsonData:{dataExporterApiUrl:null},secureJsonData:{apiToken:null}},!1)}));const ve=be;var Ae=u(18),we={};we.styleTagTransform=d(),we.setAttributes=c(),we.insert=a().bind(null,"head"),we.domAPI=n(),we.insertStyleElement=f();e()(Ae.Z,we);const xe=Ae.Z&&Ae.Z.locals?Ae.Z.locals:void 0;var Ee=u(19),Ce={};Ce.styleTagTransform=d(),Ce.setAttributes=c(),Ce.insert=a().bind(null,"head"),Ce.domAPI=n(),Ce.insertStyleElement=f();e()(Ee.Z,Ce);const Oe=Ee.Z&&Ee.Z.locals?Ee.Z.locals:void 0;var Se=u(12),je=u.n(Se),ke=u(0),Le=u.n(ke),Pe=["children","style","className","bordered","fullWidth","hover","shadowed","withBackground"];function Te(){return Te=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var _e=je().bind(Oe);const Re=function(t){var e=t.children,r=t.style,n=t.className,o=t.bordered,a=void 0!==o&&o,i=t.fullWidth,c=void 0!==i&&i,s=t.hover,u=void 0!==s&&s,l=t.shadowed,f=void 0!==l&&l,p=t.withBackground,d=void 0!==p&&p,h=Be(t,Pe);return Le().createElement("div",Te({className:_e("root",n,{root_bordered:a,root_shadowed:f,"root--fullWidth":c,"root--withBackground":d,"root--hover":u}),style:r},h),e)};var Ne=u(20),Fe={};Fe.styleTagTransform=d(),Fe.setAttributes=c(),Fe.insert=a().bind(null,"head"),Fe.domAPI=n(),Fe.insertStyleElement=f();e()(Ne.Z,Fe);const De=Ne.Z&&Ne.Z.locals?Ne.Z.locals:void 0;var Ue=u(10),Ge=u(15),Ie=u.n(Ge);var Me=u(1),ze=u(21),Ze=u.n(ze);function qe(t){return qe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qe(t)}var We=["level","className","style"];function Je(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r,n,o={},a=Object.keys(t);for(n=0;n=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Ye(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==qe(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!==qe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===qe(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function He(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],s=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Ke(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ke(t,e)}(t,e)||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 Ke(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1&&t%1==0&&t<=9007199254740991};const an=function(t){return null!=t&&on(t.length)&&!br(t)};const cn=function(){return!1};var sn="object"==typeof exports&&exports&&!exports.nodeType&&exports,un=sn&&"object"==typeof module&&module&&!module.nodeType&&module,ln=un&&un.exports===sn?ir.Buffer:void 0;const fn=(ln?ln.isBuffer:void 0)||cn;var pn={};pn["[object Float32Array]"]=pn["[object Float64Array]"]=pn["[object Int8Array]"]=pn["[object Int16Array]"]=pn["[object Int32Array]"]=pn["[object Uint8Array]"]=pn["[object Uint8ClampedArray]"]=pn["[object Uint16Array]"]=pn["[object Uint32Array]"]=!0,pn["[object Arguments]"]=pn["[object Array]"]=pn["[object ArrayBuffer]"]=pn["[object Boolean]"]=pn["[object DataView]"]=pn["[object Date]"]=pn["[object Error]"]=pn["[object Function]"]=pn["[object Map]"]=pn["[object Number]"]=pn["[object Object]"]=pn["[object RegExp]"]=pn["[object Set]"]=pn["[object String]"]=pn["[object WeakMap]"]=!1;const dn=function(t){return Qr(t)&&on(t.length)&&!!pn[gr(t)]};const hn=function(t){return function(e){return t(e)}};var yn="object"==typeof exports&&exports&&!exports.nodeType&&exports,gn=yn&&"object"==typeof module&&module&&!module.nodeType&&module,mn=gn&&gn.exports===yn&&or.process,bn=function(){try{var t=gn&&gn.require&&gn.require("util").types;return t||mn&&mn.binding&&mn.binding("util")}catch(t){}}();var vn=bn&&bn.isTypedArray;const An=vn?hn(vn):dn;var wn=Object.prototype.hasOwnProperty;const xn=function(t){if(null==t)return!0;if(an(t)&&(nn(t)||"string"==typeof t||"function"==typeof t.splice||fn(t)||An(t)||rn(t)))return!t.length;var e=Vr(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(tr(t))return!nr(t).length;for(var r in t)if(wn.call(t,r))return!1;return!0};function En(t){return En="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},En(t)}var Cn,On,Sn,jn,kn;function Ln(){Ln=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,o){var a=e&&e.prototype instanceof p?e:p,i=Object.create(a.prototype),c=new O(o||[]);return n(i,"_invoke",{value:w(t,r,c)}),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function p(){}function d(){}function h(){}var y={};s(y,a,(function(){return this}));var g=Object.getPrototypeOf,m=g&&g(g(S([])));m&&m!==e&&r.call(m,a)&&(y=m);var b=h.prototype=p.prototype=Object.create(y);function v(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function o(n,a,i,c){var s=l(t[n],t,a);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"==En(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,i,c)}),(function(t){o("throw",t,i,c)})):e.resolve(f).then((function(t){u.value=t,i(u)}),(function(t){return o("throw",t,i,c)}))}c(s.arg)}var a;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return a=a?a.then(n,n):n()}})}function w(t,e,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return j()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var c=x(i,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=l(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var a=o.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function S(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),C(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Pn(t,e,r,n,o,a,i){try{var c=t[a](i),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function Tn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],s=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Bn(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Bn(t,e)}(t,e)||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 Bn(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),C(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Vn(t,e,r,n,o,a,i){try{var c=t[a](i),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function Qn(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(t){Vn(a,n,o,i,c,"next",t)}function c(t){Vn(a,n,o,i,c,"throw",t)}i(void 0)}))}}function $n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],s=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Xn(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Xn(t,e)}(t,e)||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 Xn(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__10__;","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(this && this[arg] || arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(this, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(this && this[key] || key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","module.exports = __WEBPACK_EXTERNAL_MODULE__13__;","module.exports = __WEBPACK_EXTERNAL_MODULE__14__;","module.exports = __WEBPACK_EXTERNAL_MODULE__15__;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--maintenance-background: repeating-linear-gradient(45deg, #f6ba52, #f6ba52 20px, #ffd180 20px, #ffd180 40px);--gren-5: #6ccf8e;--green-6: #73d13d;--red-5: #ff4d4f;--orange-5: #ffa940;--blue-2: #bae7ff;--gray-5: #d9d9d9;--gray-8: #595959;--gray-9: #434343;--cyan-1: #e6fffb;--purple-9: #22075e;--border-radius: 2px;--gradient-brandHorizontal: linear-gradient(90deg, #f83 0%, #f53e4c 100%);--gradient-brandVertical: linear-gradient(0.01deg, #f53e4c -31.2%, #f83 113.07%);--always-gray: #ccccdc;--title-marginBottom: 16px}.theme-light{--cards-background: var(--blue-2);--highlighted-row-bg: var(--cyan-1);--disabled-button-color: #bdbdbd;--primary-background: rgb(255, 255, 255);--secondary-background: rgb(244, 245, 245);--border: 1px solid rgba(36, 41, 46, 0.12);--primary-text-color: rgb(36, 41, 46);--secondary-text-color: rgba(36, 41, 46, 0.75);--disabled-text-color: rgba(36, 41, 46, 0.5);--warning-text-color: #8a6c00;--success-text-color: rgb(10, 118, 78);--error-text-color: rgb(207, 14, 91);--primary-text-link: #1f62e0;--timeline-icon-background: rgba(70, 76, 84, 0);--timeline-icon-background-resolution-note: rgba(50, 116, 217, 0);--oncall-icon-stroke-color: #fff;--hover-selected: #f4f5f5;--background-canvas: #f4f5f5;--background-primary: #fff;--background-secondary: #f4f5f5;--border-medium: 1px solid rgba(36, 41, 46, 0.3);--border-strong: 1px solid rgba(36, 41, 46, 0.4);--border-weak: 1px solid rgba(36, 41, 46, 0.12);--shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.2);--shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.2);--shadows-z3: 0 13px 20px 1px rgba(24, 26, 27, 0.18)}.theme-dark{--cards-background: var(--gray-9);--highlighted-row-bg: var(--gray-9);--disabled-button-color: hsla(0, 0%, 100%, 0.08);--primary-background: rgb(24, 27, 31);--secondary-background: rgb(34, 37, 43);--border: 1px solid rgba(204, 204, 220, 0.15);--primary-text-color: rgb(204, 204, 220);--secondary-text-color: rgba(204, 204, 220, 0.65);--disabled-text-color: rgba(204, 204, 220, 0.4);--warning-text-color: #f8d06b;--success-text-color: rgb(108, 207, 142);--error-text-color: rgb(255, 82, 134);--primary-text-link: #6e9fff;--timeline-icon-background: rgba(70, 76, 84, 1);--timeline-icon-background-resolution-note: rgba(50, 116, 217, 1);--focused-box-shadow: rgb(17 18 23) 0 0 0 2px, rgb(61 113 217) 0 0 0 4px;--hover-selected: rgba(204, 204, 220, 0.12);--hover-selected-hardcoded: #34363d;--oncall-icon-stroke-color: #181b1f;--background-canvas: #111217;--background-primary: #181b1f;--background-secondary: #22252b;--border-medium: 1px solid rgba(204, 204, 220, 0.15);--border-strong: 1px solid rgba(204, 204, 220, 0.25);--border-weak: 1px solid rgba(204, 204, 220, 0.07);--shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.75);--shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.75);--shadows-z3: 0 8px 24px rgb(1, 4, 9)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./style/vars.css\"],\"names\":[],\"mappings\":\"AAAA,MACE,6GAAA,CACA,iBAAA,CACA,kBAAA,CACA,gBAAA,CACA,mBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,mBAAA,CACA,oBAAA,CACA,yEAAA,CACA,gFAAA,CACA,sBAAA,CACA,0BAAA,CAGF,aACE,iCAAA,CACA,mCAAA,CACA,gCAAA,CACA,wCAAA,CACA,0CAAA,CACA,0CAAA,CACA,qCAAA,CACA,8CAAA,CACA,4CAAA,CACA,6BAAA,CACA,sCAAA,CACA,oCAAA,CACA,4BAAA,CACA,+CAAA,CACA,iEAAA,CACA,gCAAA,CACA,yBAAA,CACA,4BAAA,CACA,0BAAA,CACA,+BAAA,CACA,gDAAA,CACA,gDAAA,CACA,+CAAA,CACA,6CAAA,CACA,6CAAA,CACA,oDAAA,CAGF,YACE,iCAAA,CACA,mCAAA,CACA,gDAAA,CACA,qCAAA,CACA,uCAAA,CACA,6CAAA,CACA,wCAAA,CACA,iDAAA,CACA,+CAAA,CACA,6BAAA,CACA,wCAAA,CACA,qCAAA,CACA,4BAAA,CACA,+CAAA,CACA,iEAAA,CACA,wEAAA,CACA,2CAAA,CACA,mCAAA,CACA,mCAAA,CACA,4BAAA,CACA,6BAAA,CACA,+BAAA,CACA,oDAAA,CACA,oDAAA,CACA,kDAAA,CACA,8CAAA,CACA,8CAAA,CACA,qCAAA\",\"sourcesContent\":[\":root {\\n --maintenance-background: repeating-linear-gradient(45deg, #f6ba52, #f6ba52 20px, #ffd180 20px, #ffd180 40px);\\n --gren-5: #6ccf8e;\\n --green-6: #73d13d;\\n --red-5: #ff4d4f;\\n --orange-5: #ffa940;\\n --blue-2: #bae7ff;\\n --gray-5: #d9d9d9;\\n --gray-8: #595959;\\n --gray-9: #434343;\\n --cyan-1: #e6fffb;\\n --purple-9: #22075e;\\n --border-radius: 2px;\\n --gradient-brandHorizontal: linear-gradient(90deg, #f83 0%, #f53e4c 100%);\\n --gradient-brandVertical: linear-gradient(0.01deg, #f53e4c -31.2%, #f83 113.07%);\\n --always-gray: #ccccdc;\\n --title-marginBottom: 16px;\\n}\\n\\n.theme-light {\\n --cards-background: var(--blue-2);\\n --highlighted-row-bg: var(--cyan-1);\\n --disabled-button-color: #bdbdbd;\\n --primary-background: rgb(255, 255, 255);\\n --secondary-background: rgb(244, 245, 245);\\n --border: 1px solid rgba(36, 41, 46, 0.12);\\n --primary-text-color: rgb(36, 41, 46);\\n --secondary-text-color: rgba(36, 41, 46, 0.75);\\n --disabled-text-color: rgba(36, 41, 46, 0.5);\\n --warning-text-color: #8a6c00;\\n --success-text-color: rgb(10, 118, 78);\\n --error-text-color: rgb(207, 14, 91);\\n --primary-text-link: #1f62e0;\\n --timeline-icon-background: rgba(70, 76, 84, 0);\\n --timeline-icon-background-resolution-note: rgba(50, 116, 217, 0);\\n --oncall-icon-stroke-color: #fff;\\n --hover-selected: #f4f5f5;\\n --background-canvas: #f4f5f5;\\n --background-primary: #fff;\\n --background-secondary: #f4f5f5;\\n --border-medium: 1px solid rgba(36, 41, 46, 0.3);\\n --border-strong: 1px solid rgba(36, 41, 46, 0.4);\\n --border-weak: 1px solid rgba(36, 41, 46, 0.12);\\n --shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.2);\\n --shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.2);\\n --shadows-z3: 0 13px 20px 1px rgba(24, 26, 27, 0.18);\\n}\\n\\n.theme-dark {\\n --cards-background: var(--gray-9);\\n --highlighted-row-bg: var(--gray-9);\\n --disabled-button-color: hsla(0, 0%, 100%, 0.08);\\n --primary-background: rgb(24, 27, 31);\\n --secondary-background: rgb(34, 37, 43);\\n --border: 1px solid rgba(204, 204, 220, 0.15);\\n --primary-text-color: rgb(204, 204, 220);\\n --secondary-text-color: rgba(204, 204, 220, 0.65);\\n --disabled-text-color: rgba(204, 204, 220, 0.4);\\n --warning-text-color: #f8d06b;\\n --success-text-color: rgb(108, 207, 142);\\n --error-text-color: rgb(255, 82, 134);\\n --primary-text-link: #6e9fff;\\n --timeline-icon-background: rgba(70, 76, 84, 1);\\n --timeline-icon-background-resolution-note: rgba(50, 116, 217, 1);\\n --focused-box-shadow: rgb(17 18 23) 0 0 0 2px, rgb(61 113 217) 0 0 0 4px;\\n --hover-selected: rgba(204, 204, 220, 0.12);\\n --hover-selected-hardcoded: #34363d;\\n --oncall-icon-stroke-color: #181b1f;\\n --background-canvas: #111217;\\n --background-primary: #181b1f;\\n --background-secondary: #22252b;\\n --border-medium: 1px solid rgba(204, 204, 220, 0.15);\\n --border-strong: 1px solid rgba(204, 204, 220, 0.25);\\n --border-weak: 1px solid rgba(204, 204, 220, 0.07);\\n --shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.75);\\n --shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.75);\\n --shadows-z3: 0 8px 24px rgb(1, 4, 9);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".configure-plugin{margin-top:10px}@keyframes fadeIn{from{opacity:0}}.spin{width:100%;margin-top:200px;margin-bottom:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.spin-text{margin-top:20px}.disabled-row{background:#f0f0f0}.highlighted-row{background:var(--highlighted-row-bg)}.navbarRootFallback{margin-top:24px}.page-title{margin-bottom:16px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./style/global.css\"],\"names\":[],\"mappings\":\"AAAA,kBACE,eAAA,CAGF,kBACE,KACE,SAAA,CAAA,CAMJ,MACE,UAAA,CACA,gBAAA,CACA,mBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CAGF,WACE,eAAA,CAKF,cACE,kBAAA,CAGF,iBACE,oCAAA,CAKF,oBACE,eAAA,CAGF,YACE,kBAAA\",\"sourcesContent\":[\".configure-plugin {\\n margin-top: 10px;\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n}\\n\\n/* Spinner */\\n\\n.spin {\\n width: 100%;\\n margin-top: 200px;\\n margin-bottom: 200px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.spin-text {\\n margin-top: 20px;\\n}\\n\\n/* Tables */\\n\\n.disabled-row {\\n background: #f0f0f0;\\n}\\n\\n.highlighted-row {\\n background: var(--highlighted-row-bg);\\n}\\n\\n/* Navigation */\\n\\n.navbarRootFallback {\\n margin-top: 24px;\\n}\\n\\n.page-title {\\n margin-bottom: 16px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".hIaTKzSpKwnciwBsbA5g{margin-bottom:24px;margin-top:24px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./components/PluginConfigPage/parts/ConfigurationForm/ConfigurationForm.module.css\"],\"names\":[],\"mappings\":\"AAAA,sBACE,kBAAA,CACA,eAAA\",\"sourcesContent\":[\".info-block {\\n margin-bottom: 24px;\\n margin-top: 24px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"info-block\": \"hIaTKzSpKwnciwBsbA5g\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".L2_Sb6mflEi16_oV2YVG{padding:16px;border-radius:2px}.B8sfGqDJhQceAfnXiSy7{background:var(--secondary-background)}.F0HayptUvv7c52TJhdxs{width:100%}.JnsnOIT70ZLiST_XRSdM:hover{background:var(--hover-selected)}.theme-dark .RrgUBvnBEvsmQUEhgr8Q{border:var(--border-weak)}.theme-light .RrgUBvnBEvsmQUEhgr8Q{border:var(--border-weak)}.theme-dark .QyFmu4r6x5RA33haU43n{box-shadow:0 4px 10px rgba(0,0,0,.6)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./components/GBlock/Block.module.scss\"],\"names\":[],\"mappings\":\"AAAA,sBACE,YAAA,CACA,iBAAA,CAEA,sBACE,sCAAA,CAGF,sBACE,UAAA,CAGF,4BACE,gCAAA,CAIJ,kCACE,yBAAA,CAGF,mCACE,yBAAA,CAGF,kCACE,oCAAA\",\"sourcesContent\":[\".root {\\n padding: 16px;\\n border-radius: 2px;\\n\\n &--withBackground {\\n background: var(--secondary-background);\\n }\\n\\n &--fullWidth {\\n width: 100%;\\n }\\n\\n &--hover:hover {\\n background: var(--hover-selected);\\n }\\n}\\n\\n:global(.theme-dark) .root_bordered {\\n border: var(--border-weak);\\n}\\n\\n:global(.theme-light) .root_bordered {\\n border: var(--border-weak);\\n}\\n\\n:global(.theme-dark) .root_shadowed {\\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"L2_Sb6mflEi16_oV2YVG\",\n\t\"root--withBackground\": \"B8sfGqDJhQceAfnXiSy7\",\n\t\"root--fullWidth\": \"F0HayptUvv7c52TJhdxs\",\n\t\"root--hover\": \"JnsnOIT70ZLiST_XRSdM\",\n\t\"root_bordered\": \"RrgUBvnBEvsmQUEhgr8Q\",\n\t\"root_shadowed\": \"QyFmu4r6x5RA33haU43n\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".YmBCZG0ytFRASYjSWp6Z{display:inline}.eMNt3fHNFiSfB1jurc7n{color:var(--primary-text-color)}.mvgBWy5afSepBDglTzcy{color:var(--secondary-text-color)}.cDicaS8fKAStII_0qysw{color:var(--disabled-text-color)}.FyMghElj75iWw1xoQWi_{color:var(--warning-text-color)}.qllOfYZ6lNLfrsMGpCLu{color:var(--primary-text-link)}.tZWjwO8sDUnYBJZW3rDK{color:var(--green-5)}.jEMET71dZ_TTjp_Kkq1c{font-weight:bold}.V2smNr_XD9ivxvLAdcQE{text-decoration:underline}.OYbrS0suYpl7DyLg3d3l{font-size:12px}.J5PxsDRmNnI3qnLC5a0Q{font-size:20px}.ld4DsrSrNyeimbKojC9F{white-space:nowrap}._gfCYlGJGQgDqrow9Uin{margin:0 .2em;padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border:solid rgba(100,100,100,.2);border-width:1px 1px 2px;border-radius:3px}.wWZC68tCpczBTEqHpKcS{margin:0}.FOLa6t9YU6bEFWOophNA{margin-left:4px;display:none}.YmBCZG0ytFRASYjSWp6Z:hover .FOLa6t9YU6bEFWOophNA{display:inline-block}\", \"\",{\"version\":3,\"sources\":[\"webpack://./components/Text/Text.module.scss\"],\"names\":[],\"mappings\":\"AAAA,sBACE,cAAA,CAIA,sBACE,+BAAA,CAGF,sBACE,iCAAA,CAGF,sBACE,gCAAA,CAGF,sBACE,+BAAA,CAGF,sBACE,8BAAA,CAGF,sBACE,oBAAA,CAGF,sBACE,gBAAA,CAGF,sBACE,yBAAA,CAGF,sBACE,cAAA,CAGF,sBACE,cAAA,CAIJ,sBACE,kBAAA,CAGF,sBACE,aAAA,CACA,uBAAA,CACA,aAAA,CACA,gCAAA,CACA,iCAAA,CACA,wBAAA,CACA,iBAAA,CAGF,sBACE,QAAA,CAGF,sBACE,eAAA,CACA,YAAA,CAGF,kDACE,oBAAA\",\"sourcesContent\":[\".root {\\n display: inline;\\n}\\n\\n.text {\\n &--primary {\\n color: var(--primary-text-color);\\n }\\n\\n &--secondary {\\n color: var(--secondary-text-color);\\n }\\n\\n &--disabled {\\n color: var(--disabled-text-color);\\n }\\n\\n &--warning {\\n color: var(--warning-text-color);\\n }\\n\\n &--link {\\n color: var(--primary-text-link);\\n }\\n\\n &--success {\\n color: var(--green-5);\\n }\\n\\n &--strong {\\n font-weight: bold;\\n }\\n\\n &--underline {\\n text-decoration: underline;\\n }\\n\\n &--small {\\n font-size: 12px;\\n }\\n\\n &--large {\\n font-size: 20px;\\n }\\n}\\n\\n.no-wrap {\\n white-space: nowrap;\\n}\\n\\n.keyboard {\\n margin: 0 0.2em;\\n padding: 0.15em 0.4em 0.1em;\\n font-size: 90%;\\n background: hsla(0, 0%, 58.8%, 0.06);\\n border: solid hsla(0, 0%, 39.2%, 0.2);\\n border-width: 1px 1px 2px;\\n border-radius: 3px;\\n}\\n\\n.title {\\n margin: 0;\\n}\\n\\n.icon-button {\\n margin-left: 4px;\\n display: none;\\n}\\n\\n.root:hover .icon-button {\\n display: inline-block;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"YmBCZG0ytFRASYjSWp6Z\",\n\t\"text--primary\": \"eMNt3fHNFiSfB1jurc7n\",\n\t\"text--secondary\": \"mvgBWy5afSepBDglTzcy\",\n\t\"text--disabled\": \"cDicaS8fKAStII_0qysw\",\n\t\"text--warning\": \"FyMghElj75iWw1xoQWi_\",\n\t\"text--link\": \"qllOfYZ6lNLfrsMGpCLu\",\n\t\"text--success\": \"tZWjwO8sDUnYBJZW3rDK\",\n\t\"text--strong\": \"jEMET71dZ_TTjp_Kkq1c\",\n\t\"text--underline\": \"V2smNr_XD9ivxvLAdcQE\",\n\t\"text--small\": \"OYbrS0suYpl7DyLg3d3l\",\n\t\"text--large\": \"J5PxsDRmNnI3qnLC5a0Q\",\n\t\"no-wrap\": \"ld4DsrSrNyeimbKojC9F\",\n\t\"keyboard\": \"_gfCYlGJGQgDqrow9Uin\",\n\t\"title\": \"wWZC68tCpczBTEqHpKcS\",\n\t\"icon-button\": \"FOLa6t9YU6bEFWOophNA\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__25__;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./vars.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./vars.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./global.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./global.css\";\n export default content && content.locals ? content.locals : undefined;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self;\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n toJSONObject\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","import FormData from 'form-data';\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear() {\n return Object.keys(this).forEach(this.delete.bind(this));\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.2.1\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import { ExportTask } from '../panels/corpglory-dataexporter-panel/types';\n\nimport axios from 'axios';\nimport * as _ from 'lodash';\n\nexport const API_HOST = `${window.location.protocol}//${window.location.host}/`;\nexport const API_PROXY_PREFIX = 'api/plugin-proxy/corpglory-dataexporter-app';\nexport const API_PATH_PREFIX = '/api';\n\nconst instance = axios.create();\n\ninstance.interceptors.request.use(function (config) {\n config.validateStatus = (status) => {\n return status >= 200 && status < 300; // default\n };\n\n return {\n ...config,\n };\n});\n\ninterface RequestConfig {\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'OPTIONS';\n params?: any;\n data?: any;\n withCredentials?: boolean;\n validateStatus?: (status: number) => boolean;\n}\n\nexport const queryApi = async (path: string, config: RequestConfig) => {\n const { method = 'GET', params, data, validateStatus } = config;\n\n const url = `${API_PROXY_PREFIX}${API_PATH_PREFIX}${path}`;\n\n const response = await instance({\n method,\n url,\n params,\n data,\n validateStatus,\n });\n\n return response.data as RT;\n};\n\nexport async function getTasks(): Promise {\n return queryApi('/task', {});\n}\n\nexport async function deleteTask(taskId?: string): Promise {\n if (_.isEmpty(taskId)) {\n console.warn(`can't delete task without taskId`);\n return;\n }\n await queryApi('/task', { method: 'DELETE', data: { taskId } });\n}\n\nexport async function getStaticFile(taskId?: string): Promise {\n if (_.isEmpty(taskId)) {\n console.warn(`can't download file without taskId`);\n return;\n }\n const respData = await queryApi(`/static/${taskId}.csv`, {});\n // TODO: check if resp exists\n // create file link in browser's memory\n const href = URL.createObjectURL(new Blob([respData], { type: 'text/csv' }));\n\n // create \"a\" HTML element with href to file & click\n const link = document.createElement('a');\n link.href = href;\n link.setAttribute('download', `${taskId}.csv`);\n document.body.appendChild(link);\n link.click();\n\n // clean up \"a\" element & remove ObjectURL\n document.body.removeChild(link);\n URL.revokeObjectURL(href);\n}\n","import { queryApi } from './services/api_service';\nimport {\n DataExporterAppPluginMeta,\n DataExporterPluginMetaJSONData,\n DataExporterPluginMetaSecureJSONData,\n} from './types';\n\nimport { getBackendSrv } from '@grafana/runtime';\n\nimport axios from 'axios';\n\nexport type UpdateGrafanaPluginSettingsProps = {\n jsonData?: Partial;\n secureJsonData?: Partial;\n};\n\ntype InstallPluginResponse = Pick<\n DataExporterPluginMetaSecureJSONData,\n 'grafanaToken'\n> & {\n dataExporterAPIResponse: DataExporterAPIResponse;\n};\n\nexport type PluginConnectedStatusResponse = {\n version: string;\n};\n\nclass PluginState {\n static GRAFANA_PLUGIN_SETTINGS_URL = '/api/plugins/corpglory-dataexporter-app/settings';\n static grafanaBackend = getBackendSrv();\n\n static generateInvalidDataExporterApiURLErrorMsg = (dataExporterApiUrl: string): string =>\n `Could not communicate with your DataExporter API at ${dataExporterApiUrl}.\\nValidate that the URL is correct, your DataExporter API is running, and that it is accessible from your Grafana instance.`;\n\n static generateUnknownErrorMsg = (dataExporterApiUrl: string): string =>\n `An unknown error occured when trying to install the plugin. Are you sure that your DataExporter API URL, ${dataExporterApiUrl}, is correct?\\nRefresh your page and try again, or try removing your plugin configuration and reconfiguring.`;\n\n static getHumanReadableErrorFromDataExporterError = (e: any, dataExporterApiUrl: string): string => {\n let errorMsg: string;\n const unknownErrorMsg = this.generateUnknownErrorMsg(dataExporterApiUrl);\n const consoleMsg = `occured while trying to install the plugin w/ the DataExporter backend`;\n\n if (axios.isAxiosError(e)) {\n const statusCode = e.response?.status;\n\n console.warn(`An HTTP related error ${consoleMsg}`, e.response);\n\n if (statusCode === 502) {\n // 502 occurs when the plugin-proxy cannot communicate w/ the DataExporter API using the provided URL\n errorMsg = this.generateInvalidDataExporterApiURLErrorMsg(dataExporterApiUrl);\n } else if (statusCode === 400) {\n /**\n * A 400 is 'bubbled-up' from the DataExporter API. It indicates one of three cases:\n * 1. there is a communication error when DataExporter API tries to contact Grafana's API\n * 2. there is an auth error when DataExporter API tries to contact Grafana's API\n * 3. (likely rare) user inputs an DataExporterApiUrl that is not RFC 1034/1035 compliant\n *\n * Check if the response body has an 'error' JSON attribute, if it does, assume scenario 1 or 2\n * Use the error message provided to give the user more context/helpful debugging information\n */\n errorMsg = e.response?.data?.error || unknownErrorMsg;\n } else {\n // this scenario shouldn't occur..\n errorMsg = unknownErrorMsg;\n }\n } else {\n // a non-axios related error occured.. this scenario shouldn't occur...\n console.warn(`An unknown error ${consoleMsg}`, e);\n errorMsg = unknownErrorMsg;\n }\n return errorMsg;\n };\n\n static getHumanReadableErrorFromGrafanaProvisioningError = (e: any, dataExporterApiUrl: string): string => {\n let errorMsg: string;\n\n if (axios.isAxiosError(e)) {\n // The user likely put in a bogus URL for the DataExporter API URL\n console.warn('An HTTP related error occured while trying to provision the plugin w/ Grafana', e.response);\n errorMsg = this.generateInvalidDataExporterApiURLErrorMsg(dataExporterApiUrl);\n } else {\n // a non-axios related error occured.. this scenario shouldn't occur...\n console.warn('An unknown error occured while trying to provision the plugin w/ Grafana', e);\n errorMsg = this.generateUnknownErrorMsg(dataExporterApiUrl);\n }\n return errorMsg;\n };\n\n static getGrafanaPluginSettings = async (): Promise =>\n this.grafanaBackend.get(this.GRAFANA_PLUGIN_SETTINGS_URL);\n\n static updateGrafanaPluginSettings = async (data: UpdateGrafanaPluginSettingsProps, enabled = true) =>\n this.grafanaBackend.post(\n this.GRAFANA_PLUGIN_SETTINGS_URL,\n { ...data, enabled, pinned: true },\n // @ts-ignore\n // for some reason, there is no `options` argument in Grafana's public types for BackendSrv but it exists\n { showSuccessAlert: false }\n );\n\n static createGrafanaToken = async () => {\n const baseUrl = '/api/auth/keys';\n const keys = await this.grafanaBackend.get(baseUrl);\n const existingKey = keys.find((key: { id: number; name: string; role: string }) => key.name === 'DataExporter');\n\n if (existingKey) {\n // @ts-ignore\n // for some reason, there is no `options` argument in Grafana's public types for BackendSrv but it exists\n await this.grafanaBackend.delete(`${baseUrl}/${existingKey.id}`, undefined, { showSuccessAlert: false });\n }\n\n return await this.grafanaBackend.post(\n baseUrl,\n {\n name: 'DataExporter',\n role: 'Admin',\n secondsToLive: null,\n },\n // @ts-ignore\n // for some reason, there is no `options` argument in Grafana's public types for BackendSrv but it exists\n { showSuccessAlert: false }\n );\n };\n\n static timeout = (pollCount: number) => new Promise((resolve) => setTimeout(resolve, 10 * 2 ** pollCount));\n\n static connectBackend = async (): Promise> => {\n // TODO: try to disable success alerts from Grafana API\n const { key: grafanaToken } = await this.createGrafanaToken();\n await this.updateGrafanaPluginSettings({ secureJsonData: { grafanaToken } });\n const dataExporterAPIResponse = await queryApi(`/connect`, {\n method: 'POST',\n });\n return { grafanaToken, dataExporterAPIResponse };\n };\n\n static installPlugin = async (dataExporterApiUrl: string): Promise => {\n let pluginInstallationDataExporterResponse: InstallPluginResponse<{ version: string }>;\n\n // Step 1. Try provisioning the plugin w/ the Grafana API\n try {\n await this.updateGrafanaPluginSettings({ jsonData: { dataExporterApiUrl } });\n } catch (e) {\n return this.getHumanReadableErrorFromGrafanaProvisioningError(e, dataExporterApiUrl);\n }\n\n /**\n * Step 2:\n * - Create a grafana token\n * - store that token in the Grafana plugin settings\n * - configure the plugin in DataExporter's backend\n */\n try {\n pluginInstallationDataExporterResponse = await this.connectBackend<{ version: string }>();\n } catch (e) {\n return this.getHumanReadableErrorFromDataExporterError(e, dataExporterApiUrl);\n }\n\n // Step 3. reprovision the Grafana plugin settings, storing information that we get back from DataExporter's backend\n try {\n const { grafanaToken } = pluginInstallationDataExporterResponse;\n\n await this.updateGrafanaPluginSettings({\n jsonData: {\n dataExporterApiUrl,\n },\n secureJsonData: {\n grafanaToken,\n },\n });\n } catch (e) {\n return this.getHumanReadableErrorFromGrafanaProvisioningError(e, dataExporterApiUrl);\n }\n\n return null;\n };\n\n static checkIfPluginIsConnected = async (\n dataExporterApiUrl: string\n ): Promise => {\n try {\n const resp = await queryApi(`/status`, {\n method: 'GET',\n });\n\n // TODO: check if the server version is compatible with the plugin\n if (resp.version) {\n return resp;\n } else {\n throw new Error(`Something is working at ${dataExporterApiUrl} but it's not DataExporter backend`);\n }\n } catch (e) {\n return this.getHumanReadableErrorFromDataExporterError(e, dataExporterApiUrl);\n }\n };\n\n static resetPlugin = (): Promise => {\n /**\n * mark both of these objects as Required.. this will ensure that we are resetting every attribute back to null\n * and throw a type error in the event that DataExporterPluginMetaJSONData or DataExporterPluginMetaSecureJSONData is updated\n * but we forget to add the attribute here\n */\n const jsonData: Required = {\n dataExporterApiUrl: null,\n };\n const secureJsonData: Required = {\n grafanaToken: null,\n };\n\n return this.updateGrafanaPluginSettings({ jsonData, secureJsonData }, false);\n };\n}\n\nexport default PluginState;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./ConfigurationForm.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./ConfigurationForm.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./Block.module.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./Block.module.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import styles from './Block.module.scss';\n\nimport cn from 'classnames/bind';\n\nimport React, { FC, HTMLAttributes } from 'react';\n\ninterface BlockProps extends HTMLAttributes {\n bordered?: boolean;\n shadowed?: boolean;\n withBackground?: boolean;\n hover?: boolean;\n fullWidth?: boolean;\n}\n\nconst cx = cn.bind(styles);\n\nconst Block: FC = (props) => {\n const {\n children,\n style,\n className,\n bordered = false,\n fullWidth = false,\n hover = false,\n shadowed = false,\n withBackground = false,\n ...rest\n } = props;\n\n return (\n \n {children}\n \n );\n};\n\nexport default Block;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./Text.module.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./Text.module.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import styles from './Text.module.scss';\n\nimport { openNotification } from '../../utils';\n\nimport { IconButton, Modal, Input, HorizontalGroup, Button, VerticalGroup } from '@grafana/ui';\n\nimport cn from 'classnames/bind';\n\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport React, { FC, HTMLAttributes, ChangeEvent, useState, useCallback } from 'react';\n\nexport type TextType = 'primary' | 'secondary' | 'disabled' | 'link' | 'success' | 'warning';\n\ninterface TextProps extends HTMLAttributes {\n type?: TextType;\n strong?: boolean;\n underline?: boolean;\n size?: 'small' | 'medium' | 'large';\n keyboard?: boolean;\n className?: string;\n wrap?: boolean;\n copyable?: boolean;\n editable?: boolean;\n onTextChange?: (value?: string) => void;\n clearBeforeEdit?: boolean;\n hidden?: boolean;\n editModalTitle?: string;\n}\n\ninterface TextInterface extends React.FC {\n Title: React.FC;\n}\n\nconst PLACEHOLDER = '**********';\n\nconst cx = cn.bind(styles);\n\nconst Text: TextInterface = (props) => {\n const {\n type,\n size = 'medium',\n strong = false,\n underline = false,\n children,\n onClick,\n keyboard = false,\n className,\n wrap = true,\n copyable = false,\n editable = false,\n onTextChange,\n clearBeforeEdit = false,\n hidden = false,\n editModalTitle = 'New value',\n style,\n } = props;\n\n const [isEditMode, setIsEditMode] = useState(false);\n const [value, setValue] = useState();\n\n const handleEditClick = useCallback(() => {\n setValue(clearBeforeEdit || hidden ? '' : (children as string));\n\n setIsEditMode(true);\n }, [clearBeforeEdit, hidden, children]);\n\n const handleCancelEdit = useCallback(() => {\n setIsEditMode(false);\n }, []);\n\n const handleConfirmEdit = useCallback(() => {\n setIsEditMode(false);\n //@ts-ignore\n onTextChange(value);\n }, [value, onTextChange]);\n\n const handleInputChange = useCallback((e: ChangeEvent) => {\n setValue(e.target.value);\n }, []);\n\n return (\n \n {hidden ? PLACEHOLDER : children}\n {editable && (\n \n )}\n {copyable && (\n {\n openNotification('Text copied');\n }}\n >\n \n \n )}\n {isEditMode && (\n \n \n {\n if (node) {\n node.focus();\n }\n }}\n value={value}\n onChange={handleInputChange}\n />\n \n \n \n \n \n \n )}\n \n );\n};\n\ninterface TitleProps extends TextProps {\n level: 1 | 2 | 3 | 4 | 5 | 6;\n}\n\nconst Title: FC = (props) => {\n const { level, className, style, ...restProps } = props;\n // @ts-ignore\n const Tag: keyof JSX.IntrinsicElements = `h${level}`;\n\n return (\n \n \n \n );\n};\n\nText.Title = Title;\n\nexport default Text;\n","import { AppEvents, TimeZone } from '@grafana/data';\n// @ts-ignore\nimport appEvents from 'grafana/app/core/app_events';\n\nexport function openNotification(message: React.ReactNode) {\n appEvents.emit(AppEvents.alertSuccess, [message]);\n}\n\nexport function getDashboardUid(url: string): string {\n const matches = new URL(url).pathname.match(/\\/d\\/([^/]+)/);\n if (!matches) {\n throw new Error(`Couldn't parse uid from ${url}`);\n } else {\n return matches[1];\n }\n}\n\nexport function convertTimestampToDate(timestamp?: number): string {\n const options: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n };\n return timestamp ? new Date(timestamp).toLocaleString('en-GB', options) : '-';\n}\n\nexport function convertTimeZoneTypeToName(timeZone: TimeZone): string {\n switch (timeZone) {\n case 'utc':\n return 'Etc/UTC';\n case 'browser':\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n default:\n return timeZone;\n }\n}\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import baseKeys from './_baseKeys.js';\nimport getTag from './_getTag.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLike from './isArrayLike.js';\nimport isBuffer from './isBuffer.js';\nimport isPrototype from './_isPrototype.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isEmpty;\n","import styles from './ConfigurationForm.module.css';\n\nimport Block from '../../../GBlock/Block';\nimport Text from '../../../Text/Text';\nimport PluginState from '../../../../plugin_state';\n\nimport { Button, Field, Form, Input } from '@grafana/ui';\n\nimport cn from 'classnames/bind';\n\nimport { SubmitHandler } from 'react-hook-form';\nimport React, { FC, useCallback, useState } from 'react';\n\nimport { isEmpty } from 'lodash-es';\n\nconst cx = cn.bind(styles);\n\ntype Props = {\n onSuccessfulSetup: () => void;\n defaultDataExporterApiUrl: string;\n};\n\ntype FormProps = {\n dataExporterApiUrl: string;\n};\n\n/**\n * https://stackoverflow.com/a/43467144\n */\nconst isValidUrl = (url: string): boolean => {\n try {\n new URL(url);\n return true;\n } catch (_) {\n return false;\n }\n};\n\nconst FormErrorMessage: FC<{ errorMsg: string }> = ({ errorMsg }) => (\n <>\n
\n      {errorMsg}\n    
\n \n \n Need help?\n
- file bugs on our GitHub Issues page{' '}\n \n here\n \n
\n
\n \n);\n\nconst ConfigurationForm: FC = ({ onSuccessfulSetup, defaultDataExporterApiUrl }) => {\n const [setupErrorMsg, setSetupErrorMsg] = useState(null);\n const [formLoading, setFormLoading] = useState(false);\n\n const setupPlugin: SubmitHandler = useCallback(\n async ({ dataExporterApiUrl }) => {\n setFormLoading(true);\n\n const errorMsg = await PluginState.installPlugin(dataExporterApiUrl);\n\n if (!errorMsg) {\n onSuccessfulSetup();\n } else {\n setSetupErrorMsg(errorMsg);\n setFormLoading(false);\n }\n },\n [onSuccessfulSetup]\n );\n\n return (\n defaultValues={{ dataExporterApiUrl: defaultDataExporterApiUrl }} onSubmit={setupPlugin}>\n {({ register, errors }) => (\n <>\n
\n

1. Launch the DataExporter backend

\n \n Run the backend. See{' '}\n \n here\n {' '}\n on how to get started.\n \n
\n\n
\n

2. Let us know the base URL of your DataExporter API

\n \n The DataExporter backend must be reachable from your Grafana installation. Some examples are:\n
\n - http://host.docker.internal:8000\n
- http://localhost:8000\n
\n
\n\n \n \n \n\n {setupErrorMsg && }\n\n \n \n )}\n \n );\n};\n\nexport default ConfigurationForm;\n","import React, { ReactElement, useCallback, useState } from 'react';\n\nimport { ConfirmModal } from '@grafana/ui';\n\ninterface WithConfirmProps {\n children: ReactElement;\n title?: string;\n body?: React.ReactNode;\n confirmText?: string;\n disabled?: boolean;\n}\n\nconst WithConfirm = (props: WithConfirmProps) => {\n const { children, title = 'Are you sure to delete?', body, confirmText = 'Delete', disabled } = props;\n\n const [showConfirmation, setShowConfirmation] = useState(false);\n\n const onClickCallback = useCallback((event: any) => {\n event.stopPropagation();\n\n setShowConfirmation(true);\n }, []);\n\n const onConfirmCallback = useCallback(() => {\n if (children.props.onClick) {\n children.props.onClick();\n }\n\n setShowConfirmation(false);\n }, [children]);\n\n return (\n <>\n {showConfirmation && (\n {\n setShowConfirmation(false);\n }}\n />\n )}\n {React.cloneElement(children, {\n disabled: children.props.disabled || disabled,\n onClick: onClickCallback,\n })}\n \n );\n};\n\nexport default WithConfirm;\n","import React, { FC } from 'react';\n\nimport { Button } from '@grafana/ui';\n\nimport WithConfirm from '../../../WithConfirm/WithConfirm';\n\ntype Props = {\n disabled: boolean;\n onClick: () => void;\n};\n\nconst RemoveCurrentConfigurationButton: FC = ({ disabled, onClick }) => (\n \n \n \n);\n\nexport default RemoveCurrentConfigurationButton;\n","import React, { FC } from 'react';\n\nimport Text from '../../../Text/Text';\n\ntype Props = {\n text: string;\n};\n\nconst StatusMessageBlock: FC = ({ text }) => (\n
\n    {text}\n  
\n);\n\nexport default StatusMessageBlock;\n","import React, { FC, useCallback, useEffect, useState } from 'react';\n\nimport { Legend, LoadingPlaceholder } from '@grafana/ui';\nimport { useLocation } from 'react-router-dom';\n\n// import logo from '../../img/logo.svg';\nimport PluginState, { PluginConnectedStatusResponse } from '../../plugin_state';\n\nimport ConfigurationForm from './parts/ConfigurationForm';\nimport RemoveCurrentConfigurationButton from './parts/RemoveCurrentConfigurationButton';\nimport StatusMessageBlock from './parts/StatusMessageBlock';\nimport { DataExporterPluginConfigPageProps } from 'types';\n\nconst PLUGIN_CONFIGURED_QUERY_PARAM = 'pluginConfigured';\nconst PLUGIN_CONFIGURED_QUERY_PARAM_TRUTHY_VALUE = 'true';\n\nconst PLUGIN_CONFIGURED_VERSION_QUERY_PARAM = 'pluginConfiguredVersion';\n\nconst DEFAULT_API_URL = 'http://localhost:8000';\n\n/**\n * When everything is successfully configured, reload the page, and pass along a few query parameters\n * so that we avoid an infinite configuration-check/data-sync loop\n *\n * Don't refresh the page if the plugin is already enabled..\n */\nexport const reloadPageWithPluginConfiguredQueryParams = (\n { version }: PluginConnectedStatusResponse,\n pluginEnabled: boolean\n): void => {\n if (!pluginEnabled) {\n window.location.href = `${window.location.href}?${PLUGIN_CONFIGURED_QUERY_PARAM}=${PLUGIN_CONFIGURED_QUERY_PARAM_TRUTHY_VALUE}&${PLUGIN_CONFIGURED_VERSION_QUERY_PARAM}=${version}`;\n }\n};\n\n/**\n * remove the query params used to track state for a page reload after successful configuration, without triggering\n * a page reload\n * https://stackoverflow.com/a/19279428\n */\nexport const removePluginConfiguredQueryParams = (pluginIsEnabled?: boolean): void => {\n if (window.history.pushState && pluginIsEnabled) {\n const newurl = `${window.location.protocol}//${window.location.host}${window.location.pathname}`;\n window.history.pushState({ path: newurl }, '', newurl);\n }\n};\n\nexport const PluginConfigPage: FC = ({\n plugin: {\n meta: { jsonData, enabled: pluginIsEnabled },\n },\n}) => {\n const { search } = useLocation();\n const queryParams = new URLSearchParams(search);\n const pluginConfiguredQueryParam = queryParams.get(PLUGIN_CONFIGURED_QUERY_PARAM);\n const pluginConfiguredVersionQueryParam = queryParams.get(PLUGIN_CONFIGURED_VERSION_QUERY_PARAM);\n\n const pluginConfiguredRedirect = pluginConfiguredQueryParam === PLUGIN_CONFIGURED_QUERY_PARAM_TRUTHY_VALUE;\n\n const [checkingIfPluginIsConnected, setCheckingIfPluginIsConnected] = useState(!pluginConfiguredRedirect);\n const [pluginConnectionCheckError, setPluginConnectionCheckError] = useState(null);\n\n const [pluginIsConnected, setPluginIsConnected] = useState(\n pluginConfiguredRedirect ? { version: pluginConfiguredVersionQueryParam as string } : null\n );\n\n const [resettingPlugin, setResettingPlugin] = useState(false);\n const [pluginResetError, setPluginResetError] = useState(null);\n\n const pluginMetaDataExporterApiUrl = jsonData?.dataExporterApiUrl;\n\n const resetQueryParams = useCallback(() => removePluginConfiguredQueryParams(pluginIsEnabled), [pluginIsEnabled]);\n\n const checkConnection = useCallback(async () => {\n setCheckingIfPluginIsConnected(true);\n setPluginConnectionCheckError(null);\n if (!pluginMetaDataExporterApiUrl) {\n setCheckingIfPluginIsConnected(false);\n return;\n }\n const pluginConnectionResponse = await PluginState.checkIfPluginIsConnected(pluginMetaDataExporterApiUrl);\n\n if (typeof pluginConnectionResponse === 'string') {\n setPluginConnectionCheckError(pluginConnectionResponse);\n } else {\n setPluginIsConnected(pluginConnectionResponse);\n reloadPageWithPluginConfiguredQueryParams(pluginConnectionResponse, true);\n }\n\n setCheckingIfPluginIsConnected(false);\n }, [pluginMetaDataExporterApiUrl]);\n\n useEffect(resetQueryParams, [resetQueryParams]);\n\n useEffect(() => {\n /**\n * don't check the plugin status if the user was just redirected after a successful\n * plugin setup\n */\n if (!pluginConfiguredRedirect) {\n checkConnection();\n }\n }, [pluginMetaDataExporterApiUrl, pluginConfiguredRedirect, checkConnection]);\n\n const resetState = useCallback(() => {\n setPluginResetError(null);\n setPluginConnectionCheckError(null);\n setPluginIsConnected(null);\n resetQueryParams();\n }, [resetQueryParams]);\n\n /**\n * NOTE: there is a possible edge case when resetting the plugin, that would lead to an error message being shown\n * (which could be fixed by just reloading the page)\n * This would happen if the user removes the plugin configuration, leaves the page, then comes back to the plugin\n * configuration.\n *\n * This is because the props being passed into this component wouldn't reflect the actual plugin\n * provisioning state. The props would still have DataExporterApiUrl set in the plugin jsonData, so when we make the API\n * call to check the plugin state w/ DataExporter API the plugin-proxy would return a 502 Bad Gateway because the actual\n * provisioned plugin doesn't know about the DataExporterApiUrl.\n *\n * This could be fixed by instead of passing in the plugin provisioning information as props always fetching it\n * when this component renders (via a useEffect). We probably don't need to worry about this because it should happen\n * very rarely, if ever\n */\n const triggerPluginReset = useCallback(async () => {\n setResettingPlugin(true);\n resetState();\n\n try {\n await PluginState.resetPlugin();\n } catch (e) {\n // this should rarely, if ever happen, but we should handle the case nevertheless\n setPluginResetError('There was an error resetting your plugin, try again.');\n }\n\n setResettingPlugin(false);\n }, [resetState]);\n\n const RemoveConfigButton = useCallback(\n () => ,\n [resettingPlugin, triggerPluginReset]\n );\n\n let content: React.ReactNode;\n\n if (checkingIfPluginIsConnected) {\n content = ;\n } else if (pluginConnectionCheckError || pluginResetError) {\n content = (\n <>\n \n \n \n );\n } else if (!pluginIsConnected) {\n content = ;\n } else {\n // plugin is fully connected and synced\n content = ;\n }\n\n return (\n <>\n Configure DataExporter\n {pluginIsConnected ? (\n <>\n

\n Plugin is connected! Continue to DataExporter by clicking the{' '}\n {/* \"DataExporter icon over there 👈 */}\n

\n \n \n ) : (\n

This page will help you configure the DataExporter plugin 👋

\n )}\n {content}\n \n );\n};\n","import { PluginConfigPage } from './components/PluginConfigPage';\n\nimport { AppPlugin } from '@grafana/data';\n\nexport const plugin = new AppPlugin<{}>().addConfigPage({\n title: 'Configuration',\n icon: 'fa fa-cog',\n // @ts-ignore - Would expect a Class component, however works absolutely fine with a functional one\n // Implementation: https://github.com/grafana/grafana/blob/fd44c01675e54973370969dfb9e78f173aff7910/public/app/features/plugins/PluginPage.tsx#L157\n body: PluginConfigPage,\n id: 'configuration',\n});\n"],"names":["module","exports","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","stylesInDOM","getIndexByIdentifier","identifier","result","i","length","modulesToDom","list","options","idCountMap","identifiers","item","id","base","count","concat","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","push","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleElement","insertStyleElement","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","nonce","setAttribute","element","createElement","setAttributes","attributes","styleSheet","cssText","firstChild","createTextNode","content","cssMapping","base64","data","sourceMapping","join","cssWithMappingToString","toString","this","map","modules","dedupe","undefined","alreadyImportedModules","k","_k","__WEBPACK_EXTERNAL_MODULE__10__","self","FormData","hasOwn","hasOwnProperty","classNames","classes","arguments","arg","argType","Array","isArray","Object","prototype","includes","key","call","default","__WEBPACK_EXTERNAL_MODULE__13__","__WEBPACK_EXTERNAL_MODULE__14__","__WEBPACK_EXTERNAL_MODULE__15__","___CSS_LOADER_EXPORT___","locals","CopyToClipboard","deselectCurrent","clipboardToIE11Formatting","text","message","reselectPrevious","range","selection","mark","success","debug","createRange","getSelection","textContent","ariaHidden","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","stopPropagation","format","preventDefault","clipboardData","clearData","setData","onCopy","body","selectNodeContents","addRange","execCommand","err","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","type","forEach","focus","__WEBPACK_EXTERNAL_MODULE__25__","_typeof","Symbol","iterator","constructor","defineProperty","value","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","create","_inherits","protoProps","staticProps","_super","_this","_len","args","_key","event","_this$props","children","elem","Children","only","onClick","_this$props2","cloneElement","PureComponent","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","d","a","definition","get","prop","r","toStringTag","nc","bind","fn","thisArg","kindOf","cache","thing","str","slice","toLowerCase","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","l","getOwnPropertyNames","len","findKey","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","reducedDescriptors","name","isBuffer","isFormData","pattern","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","stripBOM","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","String","lastIndex","toArray","arr","forEachEntry","next","done","pair","matchAll","regExp","matches","exec","hasOwnProp","freezeMethods","set","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","noop","toFiniteNumber","defaultValue","Number","isFinite","toJSONObject","stack","visit","reducedValue","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","token","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","append","convertValue","toISOString","Buffer","some","isFlatArray","el","exposedHelpers","build","pop","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","protocols","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","has","matcher","delete","deleted","deleteHeader","normalize","normalized","w","char","formatHeader","targets","asStrings","static","first","computed","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","urlParsingNode","originURL","resolveURL","href","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","samplesCount","min","bytes","timestamps","firstSampleTS","tail","chunkLength","startedAt","bytesCount","passed","Math","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","knownAdapters","http","xhr","XMLHttpRequest","Promise","resolve","reject","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","fullPath","onloadend","responseHeaders","getAllResponseHeaders","floor","settle","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","send","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","version","opt","opts","desc","formatMessage","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","c","axios","createInstance","defaultConfig","toFormData","Cancel","promises","spread","callback","isAxiosError","payload","formToJSON","queryApi","PluginState","getBackendSrv","dataExporterApiUrl","errorMsg","unknownErrorMsg","generateUnknownErrorMsg","statusCode","generateInvalidDataExporterApiURLErrorMsg","grafanaBackend","GRAFANA_PLUGIN_SETTINGS_URL","enabled","post","pinned","showSuccessAlert","baseUrl","existingKey","find","role","secondsToLive","pollCount","createGrafanaToken","grafanaToken","updateGrafanaPluginSettings","secureJsonData","dataExporterAPIResponse","jsonData","getHumanReadableErrorFromGrafanaProvisioningError","connectBackend","pluginInstallationDataExporterResponse","getHumanReadableErrorFromDataExporterError","resp","cx","cn","styles","className","bordered","fullWidth","hover","shadowed","withBackground","rest","root_bordered","root_shadowed","Text","size","strong","underline","keyboard","wrap","copyable","editable","onTextChange","clearBeforeEdit","hidden","editModalTitle","useState","isEditMode","setIsEditMode","setValue","handleEditClick","useCallback","handleCancelEdit","handleConfirmEdit","handleInputChange","IconButton","variant","tooltip","tooltipPlacement","appEvents","AppEvents","Modal","onDismiss","closeOnEscape","isOpen","title","VerticalGroup","Input","autoFocus","ref","node","onChange","HorizontalGroup","justify","Button","Title","level","restProps","Tag","objectProto","Ctor","func","transform","freeSelf","Function","nativeObjectToString","symToStringTag","isOwn","tag","unmasked","uid","maskSrcKey","funcToString","reIsHostCtor","reIsNative","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","freeExports","nodeType","freeModule","typedArrayTags","freeProcess","nodeUtil","types","require","binding","nodeIsTypedArray","isValidUrl","URL","_","FormErrorMessage","rel","onSuccessfulSetup","defaultDataExporterApiUrl","setupErrorMsg","setSetupErrorMsg","formLoading","setFormLoading","setupPlugin","Form","defaultValues","onSubmit","register","errors","Field","label","invalid","required","validate","disabled","isEmpty","confirmText","showConfirmation","setShowConfirmation","onClickCallback","onConfirmCallback","ConfirmModal","dismissText","onConfirm","React","PLUGIN_CONFIGURED_QUERY_PARAM","PLUGIN_CONFIGURED_QUERY_PARAM_TRUTHY_VALUE","PLUGIN_CONFIGURED_VERSION_QUERY_PARAM","plugin","AppPlugin","addConfigPage","icon","meta","pluginIsEnabled","useLocation","queryParams","pluginConfiguredQueryParam","pluginConfiguredVersionQueryParam","pluginConfiguredRedirect","checkingIfPluginIsConnected","setCheckingIfPluginIsConnected","pluginConnectionCheckError","setPluginConnectionCheckError","pluginIsConnected","setPluginIsConnected","resettingPlugin","setResettingPlugin","pluginResetError","setPluginResetError","pluginMetaDataExporterApiUrl","resetQueryParams","history","pushState","newurl","removePluginConfiguredQueryParams","checkConnection","pluginConnectionResponse","pluginEnabled","useEffect","resetState","triggerPluginReset","RemoveConfigButton","LoadingPlaceholder","Legend"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"module.js","mappings":"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","sources":["webpack:///external amd \"react\"","webpack:///external amd \"@grafana/ui\"","webpack:///../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../node_modules/css-loader/dist/runtime/sourceMaps.js","webpack:///../node_modules/css-loader/dist/runtime/api.js","webpack:///external amd \"@grafana/data\"","webpack:///../node_modules/axios/node_modules/form-data/lib/browser.js","webpack:///../node_modules/classnames/bind.js","webpack:///external amd \"lodash\"","webpack:///external amd \"@grafana/runtime\"","webpack:///external amd \"app/core/app_events\"","webpack:///./style/vars.css","webpack:///./style/global.css","webpack:///./components/PluginConfigPage/parts/ConfigurationForm/ConfigurationForm.module.css","webpack:///./components/GBlock/Block.module.scss","webpack:///./components/Text/Text.module.scss","webpack:///../node_modules/react-copy-to-clipboard/lib/index.js","webpack:///../node_modules/copy-to-clipboard/index.js","webpack:///../node_modules/toggle-selection/index.js","webpack:///../node_modules/react-copy-to-clipboard/lib/Component.js","webpack:///external amd \"react-router-dom\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/nonce","webpack:///./style/vars.css?5198","webpack:///./style/global.css?7324","webpack:///../node_modules/axios/lib/helpers/bind.js","webpack:///../node_modules/axios/lib/utils.js","webpack:///../node_modules/axios/lib/core/AxiosError.js","webpack:///../node_modules/axios/lib/env/classes/FormData.js","webpack:///../node_modules/axios/lib/helpers/toFormData.js","webpack:///../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack:///../node_modules/axios/lib/helpers/buildURL.js","webpack:///../node_modules/axios/lib/core/InterceptorManager.js","webpack:///../node_modules/axios/lib/defaults/transitional.js","webpack:///../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack:///../node_modules/axios/lib/platform/browser/classes/FormData.js","webpack:///../node_modules/axios/lib/platform/browser/index.js","webpack:///../node_modules/axios/lib/helpers/formDataToJSON.js","webpack:///../node_modules/axios/lib/defaults/index.js","webpack:///../node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack:///../node_modules/axios/lib/helpers/parseHeaders.js","webpack:///../node_modules/axios/lib/core/AxiosHeaders.js","webpack:///../node_modules/axios/lib/core/transformData.js","webpack:///../node_modules/axios/lib/cancel/isCancel.js","webpack:///../node_modules/axios/lib/cancel/CanceledError.js","webpack:///../node_modules/axios/lib/helpers/cookies.js","webpack:///../node_modules/axios/lib/core/buildFullPath.js","webpack:///../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///../node_modules/axios/lib/helpers/combineURLs.js","webpack:///../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///../node_modules/axios/lib/helpers/speedometer.js","webpack:///../node_modules/axios/lib/adapters/xhr.js","webpack:///../node_modules/axios/lib/adapters/adapters.js","webpack:///../node_modules/axios/lib/helpers/null.js","webpack:///../node_modules/axios/lib/core/settle.js","webpack:///../node_modules/axios/lib/helpers/parseProtocol.js","webpack:///../node_modules/axios/lib/core/dispatchRequest.js","webpack:///../node_modules/axios/lib/core/mergeConfig.js","webpack:///../node_modules/axios/lib/env/data.js","webpack:///../node_modules/axios/lib/helpers/validator.js","webpack:///../node_modules/axios/lib/core/Axios.js","webpack:///../node_modules/axios/lib/cancel/CancelToken.js","webpack:///../node_modules/axios/lib/axios.js","webpack:///../node_modules/axios/lib/helpers/spread.js","webpack:///../node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./services/api_service.ts","webpack:///./plugin_state.ts","webpack:///./components/PluginConfigPage/parts/ConfigurationForm/ConfigurationForm.module.css?a8ff","webpack:///./components/GBlock/Block.module.scss?6432","webpack:///./components/GBlock/Block.tsx","webpack:///./components/Text/Text.module.scss?1bb4","webpack:///./components/Text/Text.tsx","webpack:///./utils/index.ts","webpack:///../node_modules/lodash-es/_isPrototype.js","webpack:///../node_modules/lodash-es/_nativeKeys.js","webpack:///../node_modules/lodash-es/_overArg.js","webpack:///../node_modules/lodash-es/_baseKeys.js","webpack:///../node_modules/lodash-es/_freeGlobal.js","webpack:///../node_modules/lodash-es/_root.js","webpack:///../node_modules/lodash-es/_Symbol.js","webpack:///../node_modules/lodash-es/_getRawTag.js","webpack:///../node_modules/lodash-es/_objectToString.js","webpack:///../node_modules/lodash-es/_baseGetTag.js","webpack:///../node_modules/lodash-es/isObject.js","webpack:///../node_modules/lodash-es/isFunction.js","webpack:///../node_modules/lodash-es/_coreJsData.js","webpack:///../node_modules/lodash-es/_isMasked.js","webpack:///../node_modules/lodash-es/_toSource.js","webpack:///../node_modules/lodash-es/_baseIsNative.js","webpack:///../node_modules/lodash-es/_getValue.js","webpack:///../node_modules/lodash-es/_getNative.js","webpack:///../node_modules/lodash-es/_DataView.js","webpack:///../node_modules/lodash-es/_Map.js","webpack:///../node_modules/lodash-es/_Promise.js","webpack:///../node_modules/lodash-es/_Set.js","webpack:///../node_modules/lodash-es/_WeakMap.js","webpack:///../node_modules/lodash-es/_getTag.js","webpack:///../node_modules/lodash-es/isObjectLike.js","webpack:///../node_modules/lodash-es/_baseIsArguments.js","webpack:///../node_modules/lodash-es/isArguments.js","webpack:///../node_modules/lodash-es/isArray.js","webpack:///../node_modules/lodash-es/isLength.js","webpack:///../node_modules/lodash-es/isArrayLike.js","webpack:///../node_modules/lodash-es/stubFalse.js","webpack:///../node_modules/lodash-es/isBuffer.js","webpack:///../node_modules/lodash-es/_baseIsTypedArray.js","webpack:///../node_modules/lodash-es/_baseUnary.js","webpack:///../node_modules/lodash-es/_nodeUtil.js","webpack:///../node_modules/lodash-es/isTypedArray.js","webpack:///../node_modules/lodash-es/isEmpty.js","webpack:///./components/PluginConfigPage/parts/ConfigurationForm/index.tsx","webpack:///./components/WithConfirm/WithConfirm.tsx","webpack:///./components/PluginConfigPage/parts/RemoveCurrentConfigurationButton/index.tsx","webpack:///./components/PluginConfigPage/parts/StatusMessageBlock/index.tsx","webpack:///./components/PluginConfigPage/PluginConfigPage.tsx","webpack:///./module.ts"],"sourcesContent":["module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__10__;","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(this && this[arg] || arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(this, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(this && this[key] || key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","module.exports = __WEBPACK_EXTERNAL_MODULE__13__;","module.exports = __WEBPACK_EXTERNAL_MODULE__14__;","module.exports = __WEBPACK_EXTERNAL_MODULE__15__;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--maintenance-background: repeating-linear-gradient(45deg, #f6ba52, #f6ba52 20px, #ffd180 20px, #ffd180 40px);--gren-5: #6ccf8e;--green-6: #73d13d;--red-5: #ff4d4f;--orange-5: #ffa940;--blue-2: #bae7ff;--gray-5: #d9d9d9;--gray-8: #595959;--gray-9: #434343;--cyan-1: #e6fffb;--purple-9: #22075e;--border-radius: 2px;--gradient-brandHorizontal: linear-gradient(90deg, #f83 0%, #f53e4c 100%);--gradient-brandVertical: linear-gradient(0.01deg, #f53e4c -31.2%, #f83 113.07%);--always-gray: #ccccdc;--title-marginBottom: 16px}.theme-light{--cards-background: var(--blue-2);--highlighted-row-bg: var(--cyan-1);--disabled-button-color: #bdbdbd;--primary-background: rgb(255, 255, 255);--secondary-background: rgb(244, 245, 245);--border: 1px solid rgba(36, 41, 46, 0.12);--primary-text-color: rgb(36, 41, 46);--secondary-text-color: rgba(36, 41, 46, 0.75);--disabled-text-color: rgba(36, 41, 46, 0.5);--warning-text-color: #8a6c00;--success-text-color: rgb(10, 118, 78);--error-text-color: rgb(207, 14, 91);--primary-text-link: #1f62e0;--timeline-icon-background: rgba(70, 76, 84, 0);--timeline-icon-background-resolution-note: rgba(50, 116, 217, 0);--oncall-icon-stroke-color: #fff;--hover-selected: #f4f5f5;--background-canvas: #f4f5f5;--background-primary: #fff;--background-secondary: #f4f5f5;--border-medium: 1px solid rgba(36, 41, 46, 0.3);--border-strong: 1px solid rgba(36, 41, 46, 0.4);--border-weak: 1px solid rgba(36, 41, 46, 0.12);--shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.2);--shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.2);--shadows-z3: 0 13px 20px 1px rgba(24, 26, 27, 0.18)}.theme-dark{--cards-background: var(--gray-9);--highlighted-row-bg: var(--gray-9);--disabled-button-color: hsla(0, 0%, 100%, 0.08);--primary-background: rgb(24, 27, 31);--secondary-background: rgb(34, 37, 43);--border: 1px solid rgba(204, 204, 220, 0.15);--primary-text-color: rgb(204, 204, 220);--secondary-text-color: rgba(204, 204, 220, 0.65);--disabled-text-color: rgba(204, 204, 220, 0.4);--warning-text-color: #f8d06b;--success-text-color: rgb(108, 207, 142);--error-text-color: rgb(255, 82, 134);--primary-text-link: #6e9fff;--timeline-icon-background: rgba(70, 76, 84, 1);--timeline-icon-background-resolution-note: rgba(50, 116, 217, 1);--focused-box-shadow: rgb(17 18 23) 0 0 0 2px, rgb(61 113 217) 0 0 0 4px;--hover-selected: rgba(204, 204, 220, 0.12);--hover-selected-hardcoded: #34363d;--oncall-icon-stroke-color: #181b1f;--background-canvas: #111217;--background-primary: #181b1f;--background-secondary: #22252b;--border-medium: 1px solid rgba(204, 204, 220, 0.15);--border-strong: 1px solid rgba(204, 204, 220, 0.25);--border-weak: 1px solid rgba(204, 204, 220, 0.07);--shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.75);--shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.75);--shadows-z3: 0 8px 24px rgb(1, 4, 9)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./style/vars.css\"],\"names\":[],\"mappings\":\"AAAA,MACE,6GAAA,CACA,iBAAA,CACA,kBAAA,CACA,gBAAA,CACA,mBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,mBAAA,CACA,oBAAA,CACA,yEAAA,CACA,gFAAA,CACA,sBAAA,CACA,0BAAA,CAGF,aACE,iCAAA,CACA,mCAAA,CACA,gCAAA,CACA,wCAAA,CACA,0CAAA,CACA,0CAAA,CACA,qCAAA,CACA,8CAAA,CACA,4CAAA,CACA,6BAAA,CACA,sCAAA,CACA,oCAAA,CACA,4BAAA,CACA,+CAAA,CACA,iEAAA,CACA,gCAAA,CACA,yBAAA,CACA,4BAAA,CACA,0BAAA,CACA,+BAAA,CACA,gDAAA,CACA,gDAAA,CACA,+CAAA,CACA,6CAAA,CACA,6CAAA,CACA,oDAAA,CAGF,YACE,iCAAA,CACA,mCAAA,CACA,gDAAA,CACA,qCAAA,CACA,uCAAA,CACA,6CAAA,CACA,wCAAA,CACA,iDAAA,CACA,+CAAA,CACA,6BAAA,CACA,wCAAA,CACA,qCAAA,CACA,4BAAA,CACA,+CAAA,CACA,iEAAA,CACA,wEAAA,CACA,2CAAA,CACA,mCAAA,CACA,mCAAA,CACA,4BAAA,CACA,6BAAA,CACA,+BAAA,CACA,oDAAA,CACA,oDAAA,CACA,kDAAA,CACA,8CAAA,CACA,8CAAA,CACA,qCAAA\",\"sourcesContent\":[\":root {\\n --maintenance-background: repeating-linear-gradient(45deg, #f6ba52, #f6ba52 20px, #ffd180 20px, #ffd180 40px);\\n --gren-5: #6ccf8e;\\n --green-6: #73d13d;\\n --red-5: #ff4d4f;\\n --orange-5: #ffa940;\\n --blue-2: #bae7ff;\\n --gray-5: #d9d9d9;\\n --gray-8: #595959;\\n --gray-9: #434343;\\n --cyan-1: #e6fffb;\\n --purple-9: #22075e;\\n --border-radius: 2px;\\n --gradient-brandHorizontal: linear-gradient(90deg, #f83 0%, #f53e4c 100%);\\n --gradient-brandVertical: linear-gradient(0.01deg, #f53e4c -31.2%, #f83 113.07%);\\n --always-gray: #ccccdc;\\n --title-marginBottom: 16px;\\n}\\n\\n.theme-light {\\n --cards-background: var(--blue-2);\\n --highlighted-row-bg: var(--cyan-1);\\n --disabled-button-color: #bdbdbd;\\n --primary-background: rgb(255, 255, 255);\\n --secondary-background: rgb(244, 245, 245);\\n --border: 1px solid rgba(36, 41, 46, 0.12);\\n --primary-text-color: rgb(36, 41, 46);\\n --secondary-text-color: rgba(36, 41, 46, 0.75);\\n --disabled-text-color: rgba(36, 41, 46, 0.5);\\n --warning-text-color: #8a6c00;\\n --success-text-color: rgb(10, 118, 78);\\n --error-text-color: rgb(207, 14, 91);\\n --primary-text-link: #1f62e0;\\n --timeline-icon-background: rgba(70, 76, 84, 0);\\n --timeline-icon-background-resolution-note: rgba(50, 116, 217, 0);\\n --oncall-icon-stroke-color: #fff;\\n --hover-selected: #f4f5f5;\\n --background-canvas: #f4f5f5;\\n --background-primary: #fff;\\n --background-secondary: #f4f5f5;\\n --border-medium: 1px solid rgba(36, 41, 46, 0.3);\\n --border-strong: 1px solid rgba(36, 41, 46, 0.4);\\n --border-weak: 1px solid rgba(36, 41, 46, 0.12);\\n --shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.2);\\n --shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.2);\\n --shadows-z3: 0 13px 20px 1px rgba(24, 26, 27, 0.18);\\n}\\n\\n.theme-dark {\\n --cards-background: var(--gray-9);\\n --highlighted-row-bg: var(--gray-9);\\n --disabled-button-color: hsla(0, 0%, 100%, 0.08);\\n --primary-background: rgb(24, 27, 31);\\n --secondary-background: rgb(34, 37, 43);\\n --border: 1px solid rgba(204, 204, 220, 0.15);\\n --primary-text-color: rgb(204, 204, 220);\\n --secondary-text-color: rgba(204, 204, 220, 0.65);\\n --disabled-text-color: rgba(204, 204, 220, 0.4);\\n --warning-text-color: #f8d06b;\\n --success-text-color: rgb(108, 207, 142);\\n --error-text-color: rgb(255, 82, 134);\\n --primary-text-link: #6e9fff;\\n --timeline-icon-background: rgba(70, 76, 84, 1);\\n --timeline-icon-background-resolution-note: rgba(50, 116, 217, 1);\\n --focused-box-shadow: rgb(17 18 23) 0 0 0 2px, rgb(61 113 217) 0 0 0 4px;\\n --hover-selected: rgba(204, 204, 220, 0.12);\\n --hover-selected-hardcoded: #34363d;\\n --oncall-icon-stroke-color: #181b1f;\\n --background-canvas: #111217;\\n --background-primary: #181b1f;\\n --background-secondary: #22252b;\\n --border-medium: 1px solid rgba(204, 204, 220, 0.15);\\n --border-strong: 1px solid rgba(204, 204, 220, 0.25);\\n --border-weak: 1px solid rgba(204, 204, 220, 0.07);\\n --shadows-z1: 0 1px 2px rgba(24, 26, 27, 0.75);\\n --shadows-z2: 0 4px 8px rgba(24, 26, 27, 0.75);\\n --shadows-z3: 0 8px 24px rgb(1, 4, 9);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".configure-plugin{margin-top:10px}@keyframes fadeIn{from{opacity:0}}.spin{width:100%;margin-top:200px;margin-bottom:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.spin-text{margin-top:20px}.disabled-row{background:#f0f0f0}.highlighted-row{background:var(--highlighted-row-bg)}.navbarRootFallback{margin-top:24px}.page-title{margin-bottom:16px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./style/global.css\"],\"names\":[],\"mappings\":\"AAAA,kBACE,eAAA,CAGF,kBACE,KACE,SAAA,CAAA,CAMJ,MACE,UAAA,CACA,gBAAA,CACA,mBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CAGF,WACE,eAAA,CAKF,cACE,kBAAA,CAGF,iBACE,oCAAA,CAKF,oBACE,eAAA,CAGF,YACE,kBAAA\",\"sourcesContent\":[\".configure-plugin {\\n margin-top: 10px;\\n}\\n\\n@keyframes fadeIn {\\n from {\\n opacity: 0;\\n }\\n}\\n\\n/* Spinner */\\n\\n.spin {\\n width: 100%;\\n margin-top: 200px;\\n margin-bottom: 200px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.spin-text {\\n margin-top: 20px;\\n}\\n\\n/* Tables */\\n\\n.disabled-row {\\n background: #f0f0f0;\\n}\\n\\n.highlighted-row {\\n background: var(--highlighted-row-bg);\\n}\\n\\n/* Navigation */\\n\\n.navbarRootFallback {\\n margin-top: 24px;\\n}\\n\\n.page-title {\\n margin-bottom: 16px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".hIaTKzSpKwnciwBsbA5g{margin-bottom:24px;margin-top:24px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./components/PluginConfigPage/parts/ConfigurationForm/ConfigurationForm.module.css\"],\"names\":[],\"mappings\":\"AAAA,sBACE,kBAAA,CACA,eAAA\",\"sourcesContent\":[\".info-block {\\n margin-bottom: 24px;\\n margin-top: 24px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"info-block\": \"hIaTKzSpKwnciwBsbA5g\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".L2_Sb6mflEi16_oV2YVG{padding:16px;border-radius:2px}.B8sfGqDJhQceAfnXiSy7{background:var(--secondary-background)}.F0HayptUvv7c52TJhdxs{width:100%}.JnsnOIT70ZLiST_XRSdM:hover{background:var(--hover-selected)}.theme-dark .RrgUBvnBEvsmQUEhgr8Q{border:var(--border-weak)}.theme-light .RrgUBvnBEvsmQUEhgr8Q{border:var(--border-weak)}.theme-dark .QyFmu4r6x5RA33haU43n{box-shadow:0 4px 10px rgba(0,0,0,.6)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./components/GBlock/Block.module.scss\"],\"names\":[],\"mappings\":\"AAAA,sBACE,YAAA,CACA,iBAAA,CAEA,sBACE,sCAAA,CAGF,sBACE,UAAA,CAGF,4BACE,gCAAA,CAIJ,kCACE,yBAAA,CAGF,mCACE,yBAAA,CAGF,kCACE,oCAAA\",\"sourcesContent\":[\".root {\\n padding: 16px;\\n border-radius: 2px;\\n\\n &--withBackground {\\n background: var(--secondary-background);\\n }\\n\\n &--fullWidth {\\n width: 100%;\\n }\\n\\n &--hover:hover {\\n background: var(--hover-selected);\\n }\\n}\\n\\n:global(.theme-dark) .root_bordered {\\n border: var(--border-weak);\\n}\\n\\n:global(.theme-light) .root_bordered {\\n border: var(--border-weak);\\n}\\n\\n:global(.theme-dark) .root_shadowed {\\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"L2_Sb6mflEi16_oV2YVG\",\n\t\"root--withBackground\": \"B8sfGqDJhQceAfnXiSy7\",\n\t\"root--fullWidth\": \"F0HayptUvv7c52TJhdxs\",\n\t\"root--hover\": \"JnsnOIT70ZLiST_XRSdM\",\n\t\"root_bordered\": \"RrgUBvnBEvsmQUEhgr8Q\",\n\t\"root_shadowed\": \"QyFmu4r6x5RA33haU43n\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".YmBCZG0ytFRASYjSWp6Z{display:inline}.eMNt3fHNFiSfB1jurc7n{color:var(--primary-text-color)}.mvgBWy5afSepBDglTzcy{color:var(--secondary-text-color)}.cDicaS8fKAStII_0qysw{color:var(--disabled-text-color)}.FyMghElj75iWw1xoQWi_{color:var(--warning-text-color)}.qllOfYZ6lNLfrsMGpCLu{color:var(--primary-text-link)}.tZWjwO8sDUnYBJZW3rDK{color:var(--green-5)}.jEMET71dZ_TTjp_Kkq1c{font-weight:bold}.V2smNr_XD9ivxvLAdcQE{text-decoration:underline}.OYbrS0suYpl7DyLg3d3l{font-size:12px}.J5PxsDRmNnI3qnLC5a0Q{font-size:20px}.ld4DsrSrNyeimbKojC9F{white-space:nowrap}._gfCYlGJGQgDqrow9Uin{margin:0 .2em;padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border:solid rgba(100,100,100,.2);border-width:1px 1px 2px;border-radius:3px}.wWZC68tCpczBTEqHpKcS{margin:0}.FOLa6t9YU6bEFWOophNA{margin-left:4px;display:none}.YmBCZG0ytFRASYjSWp6Z:hover .FOLa6t9YU6bEFWOophNA{display:inline-block}\", \"\",{\"version\":3,\"sources\":[\"webpack://./components/Text/Text.module.scss\"],\"names\":[],\"mappings\":\"AAAA,sBACE,cAAA,CAIA,sBACE,+BAAA,CAGF,sBACE,iCAAA,CAGF,sBACE,gCAAA,CAGF,sBACE,+BAAA,CAGF,sBACE,8BAAA,CAGF,sBACE,oBAAA,CAGF,sBACE,gBAAA,CAGF,sBACE,yBAAA,CAGF,sBACE,cAAA,CAGF,sBACE,cAAA,CAIJ,sBACE,kBAAA,CAGF,sBACE,aAAA,CACA,uBAAA,CACA,aAAA,CACA,gCAAA,CACA,iCAAA,CACA,wBAAA,CACA,iBAAA,CAGF,sBACE,QAAA,CAGF,sBACE,eAAA,CACA,YAAA,CAGF,kDACE,oBAAA\",\"sourcesContent\":[\".root {\\n display: inline;\\n}\\n\\n.text {\\n &--primary {\\n color: var(--primary-text-color);\\n }\\n\\n &--secondary {\\n color: var(--secondary-text-color);\\n }\\n\\n &--disabled {\\n color: var(--disabled-text-color);\\n }\\n\\n &--warning {\\n color: var(--warning-text-color);\\n }\\n\\n &--link {\\n color: var(--primary-text-link);\\n }\\n\\n &--success {\\n color: var(--green-5);\\n }\\n\\n &--strong {\\n font-weight: bold;\\n }\\n\\n &--underline {\\n text-decoration: underline;\\n }\\n\\n &--small {\\n font-size: 12px;\\n }\\n\\n &--large {\\n font-size: 20px;\\n }\\n}\\n\\n.no-wrap {\\n white-space: nowrap;\\n}\\n\\n.keyboard {\\n margin: 0 0.2em;\\n padding: 0.15em 0.4em 0.1em;\\n font-size: 90%;\\n background: hsla(0, 0%, 58.8%, 0.06);\\n border: solid hsla(0, 0%, 39.2%, 0.2);\\n border-width: 1px 1px 2px;\\n border-radius: 3px;\\n}\\n\\n.title {\\n margin: 0;\\n}\\n\\n.icon-button {\\n margin-left: 4px;\\n display: none;\\n}\\n\\n.root:hover .icon-button {\\n display: inline-block;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"YmBCZG0ytFRASYjSWp6Z\",\n\t\"text--primary\": \"eMNt3fHNFiSfB1jurc7n\",\n\t\"text--secondary\": \"mvgBWy5afSepBDglTzcy\",\n\t\"text--disabled\": \"cDicaS8fKAStII_0qysw\",\n\t\"text--warning\": \"FyMghElj75iWw1xoQWi_\",\n\t\"text--link\": \"qllOfYZ6lNLfrsMGpCLu\",\n\t\"text--success\": \"tZWjwO8sDUnYBJZW3rDK\",\n\t\"text--strong\": \"jEMET71dZ_TTjp_Kkq1c\",\n\t\"text--underline\": \"V2smNr_XD9ivxvLAdcQE\",\n\t\"text--small\": \"OYbrS0suYpl7DyLg3d3l\",\n\t\"text--large\": \"J5PxsDRmNnI3qnLC5a0Q\",\n\t\"no-wrap\": \"ld4DsrSrNyeimbKojC9F\",\n\t\"keyboard\": \"_gfCYlGJGQgDqrow9Uin\",\n\t\"title\": \"wWZC68tCpczBTEqHpKcS\",\n\t\"icon-button\": \"FOLa6t9YU6bEFWOophNA\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","module.exports = __WEBPACK_EXTERNAL_MODULE__26__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./vars.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./vars.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./global.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./global.css\";\n export default content && content.locals ? content.locals : undefined;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self;\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n toJSONObject\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","import FormData from 'form-data';\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear() {\n return Object.keys(this).forEach(this.delete.bind(this));\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.2.1\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import { ExportTask } from '../panels/corpglory-dataexporter-panel/types';\n\nimport axios from 'axios';\nimport * as _ from 'lodash';\n\nexport const API_HOST = `${window.location.protocol}//${window.location.host}/`;\nexport const API_PROXY_PREFIX = 'api/plugin-proxy/corpglory-dataexporter-app';\nexport const API_PATH_PREFIX = '/api';\n\nconst instance = axios.create();\n\ninstance.interceptors.request.use(function (config) {\n config.validateStatus = (status) => {\n return status >= 200 && status < 300; // default\n };\n\n return {\n ...config,\n };\n});\n\ninterface RequestConfig {\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'OPTIONS';\n params?: any;\n data?: any;\n withCredentials?: boolean;\n validateStatus?: (status: number) => boolean;\n}\n\nexport const queryApi = async (path: string, config: RequestConfig) => {\n const { method = 'GET', params, data, validateStatus } = config;\n\n const url = `${API_PROXY_PREFIX}${API_PATH_PREFIX}${path}`;\n\n const response = await instance({\n method,\n url,\n params,\n data,\n validateStatus,\n });\n\n return response.data as RT;\n};\n\nexport async function getTasks(dashboardUid: string): Promise {\n return queryApi('/task', { params: { dashboardUid } });\n}\n\nexport async function deleteTask(taskId?: string): Promise {\n if (_.isEmpty(taskId)) {\n console.warn(`can't delete task without taskId`);\n return;\n }\n await queryApi('/task', { method: 'DELETE', data: { taskId } });\n}\n\nexport async function getStaticFile(taskId?: string): Promise {\n if (_.isEmpty(taskId)) {\n console.warn(`can't download file without taskId`);\n return;\n }\n const respData = await queryApi(`/static/${taskId}.csv`, {});\n // TODO: check if resp exists\n // create file link in browser's memory\n const href = URL.createObjectURL(new Blob([respData], { type: 'text/csv' }));\n\n // create \"a\" HTML element with href to file & click\n const link = document.createElement('a');\n link.href = href;\n link.setAttribute('download', `${taskId}.csv`);\n document.body.appendChild(link);\n link.click();\n\n // clean up \"a\" element & remove ObjectURL\n document.body.removeChild(link);\n URL.revokeObjectURL(href);\n}\n","import { queryApi } from './services/api_service';\nimport {\n DataExporterAppPluginMeta,\n DataExporterPluginMetaJSONData,\n DataExporterPluginMetaSecureJSONData,\n} from './types';\n\nimport { getBackendSrv } from '@grafana/runtime';\n\nimport axios from 'axios';\n\nexport type UpdateGrafanaPluginSettingsProps = {\n jsonData?: Partial;\n secureJsonData?: Partial;\n};\n\ntype InstallPluginResponse = Pick & {\n dataExporterAPIResponse: DataExporterAPIResponse;\n};\n\nexport type PluginConnectedStatusResponse = {\n version: string;\n};\n\nclass PluginState {\n static GRAFANA_PLUGIN_SETTINGS_URL = '/api/plugins/corpglory-dataexporter-app/settings';\n static grafanaBackend = getBackendSrv();\n\n static generateInvalidDataExporterApiURLErrorMsg = (dataExporterApiUrl: string): string =>\n `Could not communicate with your DataExporter API at ${dataExporterApiUrl}.\\nValidate that the URL is correct, your DataExporter API is running, and that it is accessible from your Grafana instance.`;\n\n static generateUnknownErrorMsg = (dataExporterApiUrl: string): string =>\n `An unknown error occured when trying to install the plugin. Are you sure that your DataExporter API URL, ${dataExporterApiUrl}, is correct?\\nRefresh your page and try again, or try removing your plugin configuration and reconfiguring.`;\n\n static getHumanReadableErrorFromDataExporterError = (e: any, dataExporterApiUrl: string): string => {\n let errorMsg: string;\n const unknownErrorMsg = this.generateUnknownErrorMsg(dataExporterApiUrl);\n const consoleMsg = `occured while trying to install the plugin w/ the DataExporter backend`;\n\n if (axios.isAxiosError(e)) {\n const statusCode = e.response?.status;\n\n console.warn(`An HTTP related error ${consoleMsg}`, e.response);\n\n if (statusCode === 502) {\n // 502 occurs when the plugin-proxy cannot communicate w/ the DataExporter API using the provided URL\n errorMsg = this.generateInvalidDataExporterApiURLErrorMsg(dataExporterApiUrl);\n } else if (statusCode === 400) {\n /**\n * A 400 is 'bubbled-up' from the DataExporter API. It indicates one of three cases:\n * 1. there is a communication error when DataExporter API tries to contact Grafana's API\n * 2. there is an auth error when DataExporter API tries to contact Grafana's API\n * 3. (likely rare) user inputs an DataExporterApiUrl that is not RFC 1034/1035 compliant\n *\n * Check if the response body has an 'error' JSON attribute, if it does, assume scenario 1 or 2\n * Use the error message provided to give the user more context/helpful debugging information\n */\n errorMsg = e.response?.data?.error || unknownErrorMsg;\n } else {\n // this scenario shouldn't occur..\n errorMsg = unknownErrorMsg;\n }\n } else {\n // a non-axios related error occured.. this scenario shouldn't occur...\n console.warn(`An unknown error ${consoleMsg}`, e);\n errorMsg = unknownErrorMsg;\n }\n return errorMsg;\n };\n\n static getHumanReadableErrorFromGrafanaProvisioningError = (e: any, dataExporterApiUrl: string): string => {\n let errorMsg: string;\n\n if (axios.isAxiosError(e)) {\n // The user likely put in a bogus URL for the DataExporter API URL\n console.warn('An HTTP related error occured while trying to provision the plugin w/ Grafana', e.response);\n errorMsg = this.generateInvalidDataExporterApiURLErrorMsg(dataExporterApiUrl);\n } else {\n // a non-axios related error occured.. this scenario shouldn't occur...\n console.warn('An unknown error occured while trying to provision the plugin w/ Grafana', e);\n errorMsg = this.generateUnknownErrorMsg(dataExporterApiUrl);\n }\n return errorMsg;\n };\n\n static getGrafanaPluginSettings = async (): Promise =>\n this.grafanaBackend.get(this.GRAFANA_PLUGIN_SETTINGS_URL);\n\n static updateGrafanaPluginSettings = async (data: UpdateGrafanaPluginSettingsProps, enabled = true) =>\n this.grafanaBackend.post(\n this.GRAFANA_PLUGIN_SETTINGS_URL,\n { ...data, enabled, pinned: true },\n // @ts-ignore\n // for some reason, there is no `options` argument in Grafana's public types for BackendSrv but it exists\n { showSuccessAlert: false }\n );\n\n static createGrafanaToken = async () => {\n const baseUrl = '/api/auth/keys';\n const keys = await this.grafanaBackend.get(baseUrl);\n const existingKey = keys.find((key: { id: number; name: string; role: string }) => key.name === 'DataExporter');\n\n if (existingKey) {\n // @ts-ignore\n // for some reason, there is no `options` argument in Grafana's public types for BackendSrv but it exists\n await this.grafanaBackend.delete(`${baseUrl}/${existingKey.id}`, undefined, { showSuccessAlert: false });\n }\n\n return await this.grafanaBackend.post(\n baseUrl,\n {\n name: 'DataExporter',\n role: 'Admin',\n secondsToLive: null,\n },\n // @ts-ignore\n // for some reason, there is no `options` argument in Grafana's public types for BackendSrv but it exists\n { showSuccessAlert: false }\n );\n };\n\n static timeout = (pollCount: number) => new Promise((resolve) => setTimeout(resolve, 10 * 2 ** pollCount));\n\n static connectBackend = async (): Promise> => {\n const { key: apiToken } = await this.createGrafanaToken();\n await this.updateGrafanaPluginSettings({ secureJsonData: { apiToken } });\n // TODO: display alert on error\n const dataExporterAPIResponse = await queryApi(`/connect`, {\n method: 'POST',\n data: { apiToken, url: window.location.toString() },\n });\n return { apiToken, dataExporterAPIResponse };\n };\n\n static installPlugin = async (dataExporterApiUrl: string): Promise => {\n let pluginInstallationDataExporterResponse: InstallPluginResponse<{ version: string }>;\n\n // Step 1. Try provisioning the plugin w/ the Grafana API\n try {\n await this.updateGrafanaPluginSettings({ jsonData: { dataExporterApiUrl } });\n } catch (e) {\n return this.getHumanReadableErrorFromGrafanaProvisioningError(e, dataExporterApiUrl);\n }\n\n /**\n * Step 2:\n * - Create a grafana token\n * - store that token in the Grafana plugin settings\n * - configure the plugin in DataExporter's backend\n */\n try {\n pluginInstallationDataExporterResponse = await this.connectBackend<{ version: string }>();\n } catch (e) {\n return this.getHumanReadableErrorFromDataExporterError(e, dataExporterApiUrl);\n }\n\n // Step 3. reprovision the Grafana plugin settings, storing information that we get back from DataExporter's backend\n try {\n const { apiToken } = pluginInstallationDataExporterResponse;\n\n await this.updateGrafanaPluginSettings({\n jsonData: {\n dataExporterApiUrl,\n },\n secureJsonData: {\n apiToken,\n },\n });\n } catch (e) {\n return this.getHumanReadableErrorFromGrafanaProvisioningError(e, dataExporterApiUrl);\n }\n\n return null;\n };\n\n static checkIfPluginIsConnected = async (\n dataExporterApiUrl: string\n ): Promise => {\n try {\n const resp = await queryApi(`/connect`, {\n method: 'GET',\n params: { url: window.location.toString() },\n });\n\n // TODO: check if the server version is compatible with the plugin\n // TODO: remove configuration if backend says that api key doesn't work\n if (resp.version) {\n return resp;\n } else {\n throw new Error(`Something is working at ${dataExporterApiUrl} but it's not DataExporter backend`);\n }\n } catch (e) {\n return this.getHumanReadableErrorFromDataExporterError(e, dataExporterApiUrl);\n }\n };\n\n static resetPlugin = (): Promise => {\n /**\n * mark both of these objects as Required.. this will ensure that we are resetting every attribute back to null\n * and throw a type error in the event that DataExporterPluginMetaJSONData or DataExporterPluginMetaSecureJSONData is updated\n * but we forget to add the attribute here\n */\n const jsonData: Required = {\n dataExporterApiUrl: null,\n };\n const secureJsonData: Required = {\n apiToken: null,\n };\n\n return this.updateGrafanaPluginSettings({ jsonData, secureJsonData }, false);\n };\n}\n\nexport default PluginState;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./ConfigurationForm.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./ConfigurationForm.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./Block.module.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./Block.module.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import styles from './Block.module.scss';\n\nimport cn from 'classnames/bind';\n\nimport React, { FC, HTMLAttributes } from 'react';\n\ninterface BlockProps extends HTMLAttributes {\n bordered?: boolean;\n shadowed?: boolean;\n withBackground?: boolean;\n hover?: boolean;\n fullWidth?: boolean;\n}\n\nconst cx = cn.bind(styles);\n\nconst Block: FC = (props) => {\n const {\n children,\n style,\n className,\n bordered = false,\n fullWidth = false,\n hover = false,\n shadowed = false,\n withBackground = false,\n ...rest\n } = props;\n\n return (\n \n {children}\n \n );\n};\n\nexport default Block;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./Text.module.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../node_modules/@grafana/toolkit/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../node_modules/@grafana/toolkit/node_modules/sass-loader/dist/cjs.js!./Text.module.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import styles from './Text.module.scss';\n\nimport { openNotification } from '../../utils';\n\nimport { IconButton, Modal, Input, HorizontalGroup, Button, VerticalGroup } from '@grafana/ui';\n\nimport cn from 'classnames/bind';\n\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport React, { FC, HTMLAttributes, ChangeEvent, useState, useCallback } from 'react';\n\nexport type TextType = 'primary' | 'secondary' | 'disabled' | 'link' | 'success' | 'warning';\n\ninterface TextProps extends HTMLAttributes {\n type?: TextType;\n strong?: boolean;\n underline?: boolean;\n size?: 'small' | 'medium' | 'large';\n keyboard?: boolean;\n className?: string;\n wrap?: boolean;\n copyable?: boolean;\n editable?: boolean;\n onTextChange?: (value?: string) => void;\n clearBeforeEdit?: boolean;\n hidden?: boolean;\n editModalTitle?: string;\n}\n\ninterface TextInterface extends React.FC {\n Title: React.FC;\n}\n\nconst PLACEHOLDER = '**********';\n\nconst cx = cn.bind(styles);\n\nconst Text: TextInterface = (props) => {\n const {\n type,\n size = 'medium',\n strong = false,\n underline = false,\n children,\n onClick,\n keyboard = false,\n className,\n wrap = true,\n copyable = false,\n editable = false,\n onTextChange,\n clearBeforeEdit = false,\n hidden = false,\n editModalTitle = 'New value',\n style,\n } = props;\n\n const [isEditMode, setIsEditMode] = useState(false);\n const [value, setValue] = useState();\n\n const handleEditClick = useCallback(() => {\n setValue(clearBeforeEdit || hidden ? '' : (children as string));\n\n setIsEditMode(true);\n }, [clearBeforeEdit, hidden, children]);\n\n const handleCancelEdit = useCallback(() => {\n setIsEditMode(false);\n }, []);\n\n const handleConfirmEdit = useCallback(() => {\n setIsEditMode(false);\n //@ts-ignore\n onTextChange(value);\n }, [value, onTextChange]);\n\n const handleInputChange = useCallback((e: ChangeEvent) => {\n setValue(e.target.value);\n }, []);\n\n return (\n \n {hidden ? PLACEHOLDER : children}\n {editable && (\n \n )}\n {copyable && (\n {\n openNotification('Text copied');\n }}\n >\n \n \n )}\n {isEditMode && (\n \n \n {\n if (node) {\n node.focus();\n }\n }}\n value={value}\n onChange={handleInputChange}\n />\n \n \n \n \n \n \n )}\n \n );\n};\n\ninterface TitleProps extends TextProps {\n level: 1 | 2 | 3 | 4 | 5 | 6;\n}\n\nconst Title: FC = (props) => {\n const { level, className, style, ...restProps } = props;\n // @ts-ignore\n const Tag: keyof JSX.IntrinsicElements = `h${level}`;\n\n return (\n \n \n \n );\n};\n\nText.Title = Title;\n\nexport default Text;\n","import { AppEvents, TimeZone } from '@grafana/data';\n// @ts-ignore\nimport appEvents from 'grafana/app/core/app_events';\n\nexport function openNotification(message: React.ReactNode) {\n appEvents.emit(AppEvents.alertSuccess, [message]);\n}\n\nexport function getCurrentDashboardUid(): string {\n const url = window.location.toString();\n\n const matches = new URL(url).pathname.match(/\\/d\\/([^/]+)/);\n if (!matches) {\n throw new Error(`Can't get current dashboard uid. If it's a new dashboard, please save it first.`);\n } else {\n return matches[1];\n }\n}\n\nexport function convertTimestampToDate(timestamp?: number): string {\n const options: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n };\n return timestamp ? new Date(timestamp).toLocaleString('en-GB', options) : '-';\n}\n\nexport function convertTimeZoneTypeToName(timeZone: TimeZone): string {\n switch (timeZone) {\n case 'utc':\n return 'Etc/UTC';\n case 'browser':\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n default:\n return timeZone;\n }\n}\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import baseKeys from './_baseKeys.js';\nimport getTag from './_getTag.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLike from './isArrayLike.js';\nimport isBuffer from './isBuffer.js';\nimport isPrototype from './_isPrototype.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isEmpty;\n","import styles from './ConfigurationForm.module.css';\n\nimport Block from '../../../GBlock/Block';\nimport Text from '../../../Text/Text';\nimport PluginState from '../../../../plugin_state';\n\nimport { Button, Field, Form, Input } from '@grafana/ui';\n\nimport cn from 'classnames/bind';\n\nimport { SubmitHandler } from 'react-hook-form';\nimport React, { FC, useCallback, useState } from 'react';\n\nimport { isEmpty } from 'lodash-es';\n\nconst cx = cn.bind(styles);\n\ntype Props = {\n onSuccessfulSetup: (grafanaDataExporterUrl: string) => void;\n defaultDataExporterApiUrl: string;\n};\n\ntype FormProps = {\n dataExporterApiUrl: string;\n};\n\n/**\n * https://stackoverflow.com/a/43467144\n */\nconst isValidUrl = (url: string): boolean => {\n try {\n new URL(url);\n return true;\n } catch (_) {\n return false;\n }\n};\n\nconst FormErrorMessage: FC<{ errorMsg: string }> = ({ errorMsg }) => (\n <>\n
\n      {errorMsg}\n    
\n \n \n Need help?\n
- file bugs on our GitHub Issues page{' '}\n \n here\n \n
\n
\n \n);\n\nconst ConfigurationForm: FC = ({ onSuccessfulSetup, defaultDataExporterApiUrl }) => {\n const [setupErrorMsg, setSetupErrorMsg] = useState(null);\n const [formLoading, setFormLoading] = useState(false);\n\n const setupPlugin: SubmitHandler = useCallback(\n async ({ dataExporterApiUrl }) => {\n setFormLoading(true);\n\n const errorMsg = await PluginState.installPlugin(dataExporterApiUrl);\n\n if (!errorMsg) {\n onSuccessfulSetup(dataExporterApiUrl);\n } else {\n setSetupErrorMsg(errorMsg);\n setFormLoading(false);\n }\n },\n [onSuccessfulSetup]\n );\n\n return (\n defaultValues={{ dataExporterApiUrl: defaultDataExporterApiUrl }} onSubmit={setupPlugin}>\n {({ register, errors }) => (\n <>\n
\n

1. Launch the DataExporter backend

\n \n Run the backend. See{' '}\n \n here\n {' '}\n on how to get started.\n \n
\n\n
\n

2. Let us know the base URL of your DataExporter API

\n \n The DataExporter backend must be reachable from your Grafana installation. Some examples are:\n
\n - http://host.docker.internal:8000\n
- http://localhost:8000\n
\n
\n\n \n \n \n\n {setupErrorMsg && }\n\n \n \n )}\n \n );\n};\n\nexport default ConfigurationForm;\n","import React, { ReactElement, useCallback, useState } from 'react';\n\nimport { ConfirmModal } from '@grafana/ui';\n\ninterface WithConfirmProps {\n children: ReactElement;\n title?: string;\n body?: React.ReactNode;\n confirmText?: string;\n disabled?: boolean;\n}\n\nconst WithConfirm = (props: WithConfirmProps) => {\n const { children, title = 'Are you sure to delete?', body, confirmText = 'Delete', disabled } = props;\n\n const [showConfirmation, setShowConfirmation] = useState(false);\n\n const onClickCallback = useCallback((event: any) => {\n event.stopPropagation();\n\n setShowConfirmation(true);\n }, []);\n\n const onConfirmCallback = useCallback(() => {\n if (children.props.onClick) {\n children.props.onClick();\n }\n\n setShowConfirmation(false);\n }, [children]);\n\n return (\n <>\n {showConfirmation && (\n {\n setShowConfirmation(false);\n }}\n />\n )}\n {React.cloneElement(children, {\n disabled: children.props.disabled || disabled,\n onClick: onClickCallback,\n })}\n \n );\n};\n\nexport default WithConfirm;\n","import React, { FC } from 'react';\n\nimport { Button } from '@grafana/ui';\n\nimport WithConfirm from '../../../WithConfirm/WithConfirm';\n\ntype Props = {\n disabled: boolean;\n onClick: () => void;\n};\n\nconst RemoveCurrentConfigurationButton: FC = ({ disabled, onClick }) => (\n \n \n \n);\n\nexport default RemoveCurrentConfigurationButton;\n","import React, { FC } from 'react';\n\nimport Text from '../../../Text/Text';\n\ntype Props = {\n text: string;\n};\n\nconst StatusMessageBlock: FC = ({ text }) => (\n
\n    {text}\n  
\n);\n\nexport default StatusMessageBlock;\n","import PluginState, { PluginConnectedStatusResponse } from '../../plugin_state';\n\nimport ConfigurationForm from './parts/ConfigurationForm';\nimport RemoveCurrentConfigurationButton from './parts/RemoveCurrentConfigurationButton';\nimport StatusMessageBlock from './parts/StatusMessageBlock';\nimport { DataExporterPluginConfigPageProps } from '../../types';\n\nimport { Legend, LoadingPlaceholder } from '@grafana/ui';\nimport { useLocation } from 'react-router-dom';\n\nimport React, { FC, useCallback, useEffect, useState } from 'react';\n\nconst PLUGIN_CONFIGURED_QUERY_PARAM = 'pluginConfigured';\nconst PLUGIN_CONFIGURED_QUERY_PARAM_TRUTHY_VALUE = 'true';\n\nconst PLUGIN_CONFIGURED_VERSION_QUERY_PARAM = 'pluginConfiguredVersion';\n\nconst DEFAULT_API_URL = 'http://localhost:8000';\n\n/**\n * When everything is successfully configured, reload the page, and pass along a few query parameters\n * so that we avoid an infinite configuration-check/data-sync loop\n *\n * Don't refresh the page if the plugin is already enabled..\n */\nexport const reloadPageWithPluginConfiguredQueryParams = (\n { version }: PluginConnectedStatusResponse,\n pluginEnabled: boolean\n): void => {\n if (!pluginEnabled) {\n window.location.href = `${window.location.href}?${PLUGIN_CONFIGURED_QUERY_PARAM}=${PLUGIN_CONFIGURED_QUERY_PARAM_TRUTHY_VALUE}&${PLUGIN_CONFIGURED_VERSION_QUERY_PARAM}=${version}`;\n }\n};\n\n/**\n * remove the query params used to track state for a page reload after successful configuration, without triggering\n * a page reload\n * https://stackoverflow.com/a/19279428\n */\nexport const removePluginConfiguredQueryParams = (pluginIsEnabled?: boolean): void => {\n if (window.history.pushState && pluginIsEnabled) {\n const newurl = `${window.location.protocol}//${window.location.host}${window.location.pathname}`;\n window.history.pushState({ path: newurl }, '', newurl);\n }\n};\n\nexport const PluginConfigPage: FC = ({\n plugin: {\n meta: { jsonData, enabled: pluginIsEnabled },\n },\n}) => {\n const { search } = useLocation();\n const queryParams = new URLSearchParams(search);\n const pluginConfiguredQueryParam = queryParams.get(PLUGIN_CONFIGURED_QUERY_PARAM);\n const pluginConfiguredVersionQueryParam = queryParams.get(PLUGIN_CONFIGURED_VERSION_QUERY_PARAM);\n\n const pluginConfiguredRedirect = pluginConfiguredQueryParam === PLUGIN_CONFIGURED_QUERY_PARAM_TRUTHY_VALUE;\n\n const [checkingIfPluginIsConnected, setCheckingIfPluginIsConnected] = useState(!pluginConfiguredRedirect);\n const [pluginConnectionCheckError, setPluginConnectionCheckError] = useState(null);\n\n const [pluginIsConnected, setPluginIsConnected] = useState(\n pluginConfiguredRedirect ? { version: pluginConfiguredVersionQueryParam as string } : null\n );\n\n const [resettingPlugin, setResettingPlugin] = useState(false);\n const [pluginResetError, setPluginResetError] = useState(null);\n\n const pluginMetaDataExporterApiUrl = jsonData?.dataExporterApiUrl;\n\n const resetQueryParams = useCallback(() => removePluginConfiguredQueryParams(pluginIsEnabled), [pluginIsEnabled]);\n\n const checkConnection = useCallback(\n async (grafanaDataExporterUrl?: string) => {\n setCheckingIfPluginIsConnected(true);\n setPluginConnectionCheckError(null);\n\n const backendUrl = grafanaDataExporterUrl || pluginMetaDataExporterApiUrl;\n\n if (!backendUrl) {\n setCheckingIfPluginIsConnected(false);\n return;\n }\n const pluginConnectionResponse = await PluginState.checkIfPluginIsConnected(backendUrl);\n\n if (typeof pluginConnectionResponse === 'string') {\n setPluginConnectionCheckError(pluginConnectionResponse);\n } else {\n setPluginIsConnected(pluginConnectionResponse);\n reloadPageWithPluginConfiguredQueryParams(pluginConnectionResponse, true);\n }\n\n setCheckingIfPluginIsConnected(false);\n },\n [pluginMetaDataExporterApiUrl]\n );\n\n useEffect(resetQueryParams, [resetQueryParams]);\n\n useEffect(() => {\n /**\n * don't check the plugin status if the user was just redirected after a successful\n * plugin setup\n */\n if (!pluginConfiguredRedirect) {\n checkConnection();\n }\n }, [pluginMetaDataExporterApiUrl, pluginConfiguredRedirect, checkConnection]);\n\n const resetState = useCallback(() => {\n setPluginResetError(null);\n setPluginConnectionCheckError(null);\n setPluginIsConnected(null);\n resetQueryParams();\n }, [resetQueryParams]);\n\n /**\n * NOTE: there is a possible edge case when resetting the plugin, that would lead to an error message being shown\n * (which could be fixed by just reloading the page)\n * This would happen if the user removes the plugin configuration, leaves the page, then comes back to the plugin\n * configuration.\n *\n * This is because the props being passed into this component wouldn't reflect the actual plugin\n * provisioning state. The props would still have DataExporterApiUrl set in the plugin jsonData, so when we make the API\n * call to check the plugin state w/ DataExporter API the plugin-proxy would return a 502 Bad Gateway because the actual\n * provisioned plugin doesn't know about the DataExporterApiUrl.\n *\n * This could be fixed by instead of passing in the plugin provisioning information as props always fetching it\n * when this component renders (via a useEffect). We probably don't need to worry about this because it should happen\n * very rarely, if ever\n */\n const triggerPluginReset = useCallback(async () => {\n setResettingPlugin(true);\n resetState();\n\n try {\n await PluginState.resetPlugin();\n } catch (e) {\n // this should rarely, if ever happen, but we should handle the case nevertheless\n setPluginResetError('There was an error resetting your plugin, try again.');\n }\n\n setResettingPlugin(false);\n }, [resetState]);\n\n const RemoveConfigButton = useCallback(\n () => ,\n [resettingPlugin, triggerPluginReset]\n );\n\n let content: React.ReactNode;\n\n if (checkingIfPluginIsConnected) {\n content = ;\n } else if (pluginConnectionCheckError || pluginResetError) {\n content = (\n <>\n \n \n \n );\n } else if (!pluginIsConnected) {\n content = ;\n } else {\n // plugin is fully connected and synced\n content = ;\n }\n\n return (\n <>\n Configure DataExporter\n {pluginIsConnected ? (\n <>\n

Plugin is connected! You can now go to a dashboard and add the DataExporter panel there.

\n \n \n ) : (\n

This page will help you configure the DataExporter plugin 👋

\n )}\n {content}\n \n );\n};\n","import { PluginConfigPage } from './components/PluginConfigPage';\n\nimport { AppPlugin } from '@grafana/data';\n\nexport const plugin = new AppPlugin<{}>().addConfigPage({\n title: 'Configuration',\n icon: 'fa fa-cog',\n // @ts-ignore - Would expect a Class component, however works absolutely fine with a functional one\n // Implementation: https://github.com/grafana/grafana/blob/fd44c01675e54973370969dfb9e78f173aff7910/public/app/features/plugins/PluginPage.tsx#L157\n body: PluginConfigPage,\n id: 'configuration',\n});\n"],"names":["module","exports","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","stylesInDOM","getIndexByIdentifier","identifier","result","i","length","modulesToDom","list","options","idCountMap","identifiers","item","id","base","count","concat","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","push","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleElement","insertStyleElement","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","nonce","setAttribute","element","createElement","setAttributes","attributes","styleSheet","cssText","firstChild","createTextNode","content","cssMapping","base64","data","sourceMapping","join","cssWithMappingToString","toString","this","map","modules","dedupe","undefined","alreadyImportedModules","k","_k","__WEBPACK_EXTERNAL_MODULE__10__","self","FormData","hasOwn","hasOwnProperty","classNames","classes","arguments","arg","argType","Array","isArray","Object","prototype","includes","key","call","default","__WEBPACK_EXTERNAL_MODULE__13__","__WEBPACK_EXTERNAL_MODULE__14__","__WEBPACK_EXTERNAL_MODULE__15__","___CSS_LOADER_EXPORT___","locals","CopyToClipboard","deselectCurrent","clipboardToIE11Formatting","text","message","reselectPrevious","range","selection","mark","success","debug","createRange","getSelection","textContent","ariaHidden","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","stopPropagation","format","preventDefault","clipboardData","clearData","setData","onCopy","body","selectNodeContents","addRange","execCommand","err","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","type","forEach","focus","_typeof","Symbol","iterator","constructor","defineProperty","value","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","create","_inherits","protoProps","staticProps","_super","_this","_len","args","_key","event","_this$props","children","elem","Children","only","onClick","_this$props2","cloneElement","PureComponent","__WEBPACK_EXTERNAL_MODULE__26__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","d","a","definition","get","prop","r","toStringTag","nc","bind","fn","thisArg","kindOf","cache","thing","str","slice","toLowerCase","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","l","getOwnPropertyNames","len","findKey","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","reducedDescriptors","name","isBuffer","isFormData","pattern","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","extend","b","trim","stripBOM","charCodeAt","inherits","superConstructor","assign","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","String","lastIndex","toArray","arr","forEachEntry","next","done","pair","matchAll","regExp","matches","exec","hasOwnProp","freezeMethods","set","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","noop","toFiniteNumber","defaultValue","Number","isFinite","toJSONObject","stack","visit","reducedValue","AxiosError","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","token","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","append","convertValue","toISOString","Buffer","some","isFlatArray","el","exposedHelpers","build","pop","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","protocols","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","has","matcher","delete","deleted","deleteHeader","normalize","normalized","w","char","formatHeader","targets","asStrings","static","first","computed","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","urlParsingNode","originURL","resolveURL","href","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","samplesCount","min","bytes","timestamps","firstSampleTS","tail","chunkLength","startedAt","bytesCount","passed","Math","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","knownAdapters","http","xhr","XMLHttpRequest","Promise","resolve","reject","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","fullPath","onloadend","responseHeaders","getAllResponseHeaders","floor","settle","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","send","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","version","opt","opts","desc","formatMessage","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","c","axios","createInstance","defaultConfig","toFormData","Cancel","promises","spread","callback","isAxiosError","payload","formToJSON","queryApi","PluginState","getBackendSrv","dataExporterApiUrl","errorMsg","unknownErrorMsg","generateUnknownErrorMsg","statusCode","generateInvalidDataExporterApiURLErrorMsg","grafanaBackend","GRAFANA_PLUGIN_SETTINGS_URL","enabled","post","pinned","showSuccessAlert","baseUrl","existingKey","find","role","secondsToLive","pollCount","createGrafanaToken","apiToken","updateGrafanaPluginSettings","secureJsonData","dataExporterAPIResponse","jsonData","getHumanReadableErrorFromGrafanaProvisioningError","connectBackend","pluginInstallationDataExporterResponse","getHumanReadableErrorFromDataExporterError","resp","cx","cn","styles","className","bordered","fullWidth","hover","shadowed","withBackground","rest","root_bordered","root_shadowed","Text","size","strong","underline","keyboard","wrap","copyable","editable","onTextChange","clearBeforeEdit","hidden","editModalTitle","useState","isEditMode","setIsEditMode","setValue","handleEditClick","useCallback","handleCancelEdit","handleConfirmEdit","handleInputChange","IconButton","variant","tooltip","tooltipPlacement","appEvents","AppEvents","Modal","onDismiss","closeOnEscape","isOpen","title","VerticalGroup","Input","autoFocus","ref","node","onChange","HorizontalGroup","justify","Button","Title","level","restProps","Tag","objectProto","Ctor","func","transform","freeSelf","Function","nativeObjectToString","symToStringTag","isOwn","tag","unmasked","uid","maskSrcKey","funcToString","reIsHostCtor","reIsNative","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","freeExports","nodeType","freeModule","typedArrayTags","freeProcess","nodeUtil","types","require","binding","nodeIsTypedArray","isValidUrl","URL","_","FormErrorMessage","rel","onSuccessfulSetup","defaultDataExporterApiUrl","setupErrorMsg","setSetupErrorMsg","formLoading","setFormLoading","setupPlugin","Form","defaultValues","onSubmit","register","errors","Field","label","invalid","required","validate","disabled","isEmpty","confirmText","showConfirmation","setShowConfirmation","onClickCallback","onConfirmCallback","ConfirmModal","dismissText","onConfirm","React","PLUGIN_CONFIGURED_QUERY_PARAM","PLUGIN_CONFIGURED_QUERY_PARAM_TRUTHY_VALUE","PLUGIN_CONFIGURED_VERSION_QUERY_PARAM","plugin","AppPlugin","addConfigPage","icon","meta","pluginIsEnabled","useLocation","queryParams","pluginConfiguredQueryParam","pluginConfiguredVersionQueryParam","pluginConfiguredRedirect","checkingIfPluginIsConnected","setCheckingIfPluginIsConnected","pluginConnectionCheckError","setPluginConnectionCheckError","pluginIsConnected","setPluginIsConnected","resettingPlugin","setResettingPlugin","pluginResetError","setPluginResetError","pluginMetaDataExporterApiUrl","resetQueryParams","history","pushState","newurl","removePluginConfiguredQueryParams","checkConnection","grafanaDataExporterUrl","backendUrl","pluginConnectionResponse","pluginEnabled","useEffect","resetState","triggerPluginReset","RemoveConfigButton","LoadingPlaceholder","Legend"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/panels/corpglory-dataexporter-panel/module.js b/dist/panels/corpglory-dataexporter-panel/module.js index 9413967..66da8a6 100644 --- a/dist/panels/corpglory-dataexporter-panel/module.js +++ b/dist/panels/corpglory-dataexporter-panel/module.js @@ -1,3 +1,3 @@ /*! For license information please see module.js.LICENSE.txt */ -define(["@emotion/css","@grafana/data","@grafana/runtime","@grafana/ui","app/core/app_events","app/core/core","lodash","react"],((t,e,r,n,o,i,a,s)=>(()=>{var c=[t=>{"use strict";t.exports=s},t=>{"use strict";t.exports=n},,,,,,,,,t=>{"use strict";t.exports=e},t=>{t.exports="object"==typeof self?self.FormData:window.FormData},,t=>{"use strict";t.exports=a},t=>{"use strict";t.exports=r},t=>{"use strict";t.exports=o},,,,,,,,,,,,,t=>{"use strict";t.exports=i},e=>{"use strict";e.exports=t}],u={};function l(t){var e=u[t];if(void 0!==e)return e.exports;var r=u[t]={exports:{}};return c[t](r,r.exports,l),r.exports}l.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return l.d(e,{a:e}),e},l.d=(t,e)=>{for(var r in e)l.o(e,r)&&!l.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},l.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),l.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var f={};return(()=>{"use strict";var t,e,r;l.r(f),l.d(f,{plugin:()=>De}),function(t){t.INFLUXDB="influxdb",t.GRAPHITE="graphite",t.PROMETHEUS="prometheus",t.POSTGRES="postgres",t.ELASTICSEARCH="elasticsearch",t.MYSQL="mysql"}(t||(t={})),function(t){t.LOADING="Loading",t.DATASOURCE_ERROR="Datasource Error",t.PERMISSION_ERROR="Permission Error",t.OK="Ok"}(e||(e={})),function(t){t.EXPORTING="exporting",t.FINISHED="finished",t.ERROR="error"}(r||(r={}));var n=l(10);l(15);function o(t){var e=new URL(t).pathname.match(/\/d\/([^/]+)/);if(e)return e[1];throw new Error("Couldn't parse uid from ".concat(t))}var i="iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACJSURBVHgB7ZPRCcAgDESv0lWc0zhC53OIjmAVUpCSamL76YEoyfFIiAGWfldK6SwnKHyhep9xJ3iPcqgH5RyxV1VlBWYJypXVHMEiCaqBbRhAy3W3B76j954wq6ZSVZsOY+WXt6i9l2ymGTlUq0VpOcIqaQC96Zth01DN1zBBefVI4SNp9Za+6wLcH6DKFrfpxgAAAABJRU5ErkJggg==",a="iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADlSURBVHgB3ZPNDYJAEIVnN96lBA7A2RIsATuQiiwBSrAD7MAjCZBACXqFwPomMRtEwMVwgZeQhfn5mNnMEG1CaZoeiqKwTWJ3JkFCiEtVVU+8+r9iJRlKSrk3iqOFtWJglmXHf3yDwCRJbBxxnudh34cRYluMMbKGcgWNCIlnjEuIJ1JK2WzDWeKb7YHjONEsYBf6kTABY+mWuYX+3Xiex9UFU7D3FllfwLqueQvi/h8ZCtBprDLY703T6A0yWj2ArmSoxedQV4jSSz5xj4pmCi0/NKfrwNz5bdtaNENciOu6N1qNXhzZXHMb9Q+nAAAAAElFTkSuQmCC",s="PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgcng9IjEuNSIgZmlsbD0iIzExMTIxNiIgc3Ryb2tlPSIjMkQyRTM0Ii8+Cjwvc3ZnPgo=",c="PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiIgZmlsbD0iIzRBNzFEMiIvPgo8cGF0aCBkPSJNNS45ODI2NCAxMi41MjE3QzUuNzczOTUgMTIuNTIxNyA1LjU4MjY0IDEyLjQ1MjIgNS40MjYxMiAxMi4yOTU2TDEuOTY1MjUgOC44MzQ3NkMxLjY1MjIxIDguNTIxNzIgMS42NTIyMSA4LjAzNDc2IDEuOTY1MjUgNy43MjE3MkMyLjI3ODI5IDcuNDA4NjcgMi43NjUyNSA3LjQwODY3IDMuMDc4MjkgNy43MjE3Mkw2LjAwMDAzIDEwLjYyNjFMMTIuOTM5MiAzLjcwNDMzQzEzLjI1MjIgMy4zOTEyOCAxMy43MzkyIDMuMzkxMjggMTQuMDUyMiAzLjcwNDMzQzE0LjM2NTMgNC4wMTczNyAxNC4zNjUzIDQuNTA0MzMgMTQuMDUyMiA0LjgxNzM3TDYuNTU2NTYgMTIuMjk1NkM2LjM4MjY0IDEyLjQ1MjIgNi4xOTEzNCAxMi41MjE3IDUuOTgyNjQgMTIuNTIxN1YxMi41MjE3WiIgZmlsbD0iI0ZFRkZGRiIvPgo8L3N2Zz4K";function u(t,e){return function(){return t.apply(e,arguments)}}const{toString:p}=Object.prototype,{getPrototypeOf:h}=Object,d=(y=Object.create(null),t=>{const e=p.call(t);return y[e]||(y[e]=e.slice(8,-1).toLowerCase())});var y;const m=t=>(t=t.toLowerCase(),e=>d(e)===t),v=t=>e=>typeof e===t,{isArray:g}=Array,w=v("undefined");const b=m("ArrayBuffer");const E=v("string"),O=v("function"),A=v("number"),x=t=>null!==t&&"object"==typeof t,S=t=>{if("object"!==d(t))return!1;const e=h(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},j=m("Date"),R=m("File"),L=m("Blob"),N=m("FileList"),T=m("URLSearchParams");function I(t,e,{allOwnKeys:r=!1}={}){if(null==t)return;let n,o;if("object"!=typeof t&&(t=[t]),g(t))for(n=0,o=t.length;n0;)if(n=r[o],e===n.toLowerCase())return n;return null}const C="undefined"==typeof self?"undefined"==typeof global?void 0:global:self,D=t=>!w(t)&&t!==C;const M=(k="undefined"!=typeof Uint8Array&&h(Uint8Array),t=>k&&t instanceof k);var k;const _=m("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),B=m("RegExp"),U=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),n={};I(r,((r,o)=>{!1!==e(r,o,t)&&(n[o]=r)})),Object.defineProperties(t,n)},z={isArray:g,isArrayBuffer:b,isBuffer:function(t){return null!==t&&!w(t)&&null!==t.constructor&&!w(t.constructor)&&O(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{const e="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||p.call(t)===e||O(t.toString)&&t.toString()===e)},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&b(t.buffer),e},isString:E,isNumber:A,isBoolean:t=>!0===t||!1===t,isObject:x,isPlainObject:S,isUndefined:w,isDate:j,isFile:R,isBlob:L,isRegExp:B,isFunction:O,isStream:t=>x(t)&&O(t.pipe),isURLSearchParams:T,isTypedArray:M,isFileList:N,forEach:I,merge:function t(){const{caseless:e}=D(this)&&this||{},r={},n=(n,o)=>{const i=e&&P(r,o)||o;S(r[i])&&S(n)?r[i]=t(r[i],n):S(n)?r[i]=t({},n):g(n)?r[i]=n.slice():r[i]=n};for(let t=0,e=arguments.length;t(I(e,((e,n)=>{r&&O(e)?t[n]=u(e,r):t[n]=e}),{allOwnKeys:n}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:(t,e,r,n)=>{let o,i,a;const s={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)a=o[i],n&&!n(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==r&&h(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:d,kindOfTest:m,endsWith:(t,e,r)=>{t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;const n=t.indexOf(e,r);return-1!==n&&n===r},toArray:t=>{if(!t)return null;if(g(t))return t;let e=t.length;if(!A(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},forEachEntry:(t,e)=>{const r=(t&&t[Symbol.iterator]).call(t);let n;for(;(n=r.next())&&!n.done;){const r=n.value;e.call(t,r[0],r[1])}},matchAll:(t,e)=>{let r;const n=[];for(;null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:_,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:U,freezeMethods:t=>{U(t,((e,r)=>{if(O(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=t[r];O(n)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(t,e)=>{const r={},n=t=>{t.forEach((t=>{r[t]=!0}))};return g(t)?n(t):n(String(t).split(e)),r},toCamelCase:t=>t.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(t,e,r){return e.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:P,global:C,isContextDefined:D,toJSONObject:t=>{const e=new Array(10),r=(t,n)=>{if(x(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;const o=g(t)?[]:{};return I(t,((t,e)=>{const i=r(t,n+1);!w(i)&&(o[e]=i)})),e[n]=void 0,o}}return t};return r(t,0)}};function G(t,e,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}z.inherits(G,Error,{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:z.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const H=G.prototype,Y={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{Y[t]={value:t}})),Object.defineProperties(G,Y),Object.defineProperty(H,"isAxiosError",{value:!0}),G.from=(t,e,r,n,o,i)=>{const a=Object.create(H);return z.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),G.call(a,t.message,e,r,n,o),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const J=G;const Z=l(11);function W(t){return z.isPlainObject(t)||z.isArray(t)}function Q(t){return z.endsWith(t,"[]")?t.slice(0,-2):t}function q(t,e,r){return t?t.concat(e).map((function(t,e){return t=Q(t),!r&&e?"["+t+"]":t})).join(r?".":""):e}const V=z.toFlatObject(z,{},null,(function(t){return/^is[A-Z]/.test(t)}));const K=function(t,e,r){if(!z.isObject(t))throw new TypeError("target must be an object");e=e||new(Z||FormData);const n=(r=z.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!z.isUndefined(e[t])}))).metaTokens,o=r.visitor||l,i=r.dots,a=r.indexes,s=(r.Blob||"undefined"!=typeof Blob&&Blob)&&((c=e)&&z.isFunction(c.append)&&"FormData"===c[Symbol.toStringTag]&&c[Symbol.iterator]);var c;if(!z.isFunction(o))throw new TypeError("visitor must be a function");function u(t){if(null===t)return"";if(z.isDate(t))return t.toISOString();if(!s&&z.isBlob(t))throw new J("Blob is not supported. Use a Buffer instead.");return z.isArrayBuffer(t)||z.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,r,o){let s=t;if(t&&!o&&"object"==typeof t)if(z.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else if(z.isArray(t)&&function(t){return z.isArray(t)&&!t.some(W)}(t)||z.isFileList(t)||z.endsWith(r,"[]")&&(s=z.toArray(t)))return r=Q(r),s.forEach((function(t,n){!z.isUndefined(t)&&null!==t&&e.append(!0===a?q([r],n,i):null===a?r:r+"[]",u(t))})),!1;return!!W(t)||(e.append(q(o,r,i),u(t)),!1)}const f=[],p=Object.assign(V,{defaultVisitor:l,convertValue:u,isVisitable:W});if(!z.isObject(t))throw new TypeError("data must be an object");return function t(r,n){if(!z.isUndefined(r)){if(-1!==f.indexOf(r))throw Error("Circular reference detected in "+n.join("."));f.push(r),z.forEach(r,(function(r,i){!0===(!(z.isUndefined(r)||null===r)&&o.call(e,r,z.isString(i)?i.trim():i,n,p))&&t(r,n?n.concat(i):[i])})),f.pop()}}(t),e};function X(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function $(t,e){this._pairs=[],t&&K(t,this,e)}const tt=$.prototype;tt.append=function(t,e){this._pairs.push([t,e])},tt.toString=function(t){const e=t?function(e){return t.call(this,e,X)}:X;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const et=$;function rt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function nt(t,e,r){if(!e)return t;const n=r&&r.encode||rt,o=r&&r.serialize;let i;if(i=o?o(e,r):z.isURLSearchParams(e)?e.toString():new et(e,r).toString(n),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const ot=class{constructor(){this.handlers=[]}use(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){z.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},it={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},at="undefined"!=typeof URLSearchParams?URLSearchParams:et,st=FormData,ct=(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&("undefined"!=typeof window&&"undefined"!=typeof document)})(),ut="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,lt={isBrowser:!0,classes:{URLSearchParams:at,FormData:st,Blob},isStandardBrowserEnv:ct,isStandardBrowserWebWorkerEnv:ut,protocols:["http","https","file","blob","url","data"]};const ft=function(t){function e(t,r,n,o){let i=t[o++];const a=Number.isFinite(+i),s=o>=t.length;if(i=!i&&z.isArray(n)?n.length:i,s)return z.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a;n[i]&&z.isObject(n[i])||(n[i]=[]);return e(t,r,n[i],o)&&z.isArray(n[i])&&(n[i]=function(t){const e={},r=Object.keys(t);let n;const o=r.length;let i;for(n=0;n{e(function(t){return z.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),n,r,0)})),r}return null},pt={"Content-Type":void 0};const ht={transitional:it,adapter:["xhr","http"],transformRequest:[function(t,e){const r=e.getContentType()||"",n=r.indexOf("application/json")>-1,o=z.isObject(t);o&&z.isHTMLForm(t)&&(t=new FormData(t));if(z.isFormData(t))return n&&n?JSON.stringify(ft(t)):t;if(z.isArrayBuffer(t)||z.isBuffer(t)||z.isStream(t)||z.isFile(t)||z.isBlob(t))return t;if(z.isArrayBufferView(t))return t.buffer;if(z.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return K(t,new lt.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return lt.isNode&&z.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=z.isFileList(t))||r.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return K(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||n?(e.setContentType("application/json",!1),function(t,e,r){if(z.isString(t))try{return(e||JSON.parse)(t),z.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(r||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||ht.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(t&&z.isString(t)&&(r&&!this.responseType||n)){const r=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(t){if(r){if("SyntaxError"===t.name)throw J.from(t,J.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:lt.classes.FormData,Blob:lt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};z.forEach(["delete","get","head"],(function(t){ht.headers[t]={}})),z.forEach(["post","put","patch"],(function(t){ht.headers[t]=z.merge(pt)}));const dt=ht,yt=z.toObjectSet(["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"]),mt=Symbol("internals");function vt(t){return t&&String(t).trim().toLowerCase()}function gt(t){return!1===t||null==t?t:z.isArray(t)?t.map(gt):String(t)}function wt(t,e,r,n){return z.isFunction(n)?n.call(this,e,r):z.isString(e)?z.isString(n)?-1!==e.indexOf(n):z.isRegExp(n)?n.test(e):void 0:void 0}class bt{constructor(t){t&&this.set(t)}set(t,e,r){const n=this;function o(t,e,r){const o=vt(e);if(!o)throw new Error("header name must be a non-empty string");const i=z.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||e]=gt(t))}const i=(t,e)=>z.forEach(t,((t,r)=>o(t,r,e)));return z.isPlainObject(t)||t instanceof this.constructor?i(t,e):z.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z]+$/.test(t.trim())?i((t=>{const e={};let r,n,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),r=t.substring(0,o).trim().toLowerCase(),n=t.substring(o+1).trim(),!r||e[r]&&yt[r]||("set-cookie"===r?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)})),e})(t),e):null!=t&&o(e,t,r),this}get(t,e){if(t=vt(t)){const r=z.findKey(this,t);if(r){const t=this[r];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}(t);if(z.isFunction(e))return e.call(this,t,r);if(z.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=vt(t)){const r=z.findKey(this,t);return!(!r||e&&!wt(0,this[r],r,e))}return!1}delete(t,e){const r=this;let n=!1;function o(t){if(t=vt(t)){const o=z.findKey(r,t);!o||e&&!wt(0,r[o],o,e)||(delete r[o],n=!0)}}return z.isArray(t)?t.forEach(o):o(t),n}clear(){return Object.keys(this).forEach(this.delete.bind(this))}normalize(t){const e=this,r={};return z.forEach(this,((n,o)=>{const i=z.findKey(r,o);if(i)return e[i]=gt(n),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,r)=>e.toUpperCase()+r))}(o):String(o).trim();a!==o&&delete e[o],e[a]=gt(n),r[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return z.forEach(this,((r,n)=>{null!=r&&!1!==r&&(e[n]=t&&z.isArray(r)?r.join(", "):r)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const r=new this(t);return e.forEach((t=>r.set(t))),r}static accessor(t){const e=(this[mt]=this[mt]={accessors:{}}).accessors,r=this.prototype;function n(t){const n=vt(t);e[n]||(!function(t,e){const r=z.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(t,n+r,{value:function(t,r,o){return this[n].call(this,e,t,r,o)},configurable:!0})}))}(r,t),e[n]=!0)}return z.isArray(t)?t.forEach(n):n(t),this}}bt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]),z.freezeMethods(bt.prototype),z.freezeMethods(bt);const Et=bt;function Ot(t,e){const r=this||dt,n=e||r,o=Et.from(n.headers);let i=n.data;return z.forEach(t,(function(t){i=t.call(r,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function At(t){return!(!t||!t.__CANCEL__)}function xt(t,e,r){J.call(this,null==t?"canceled":t,J.ERR_CANCELED,e,r),this.name="CanceledError"}z.inherits(xt,J,{__CANCEL__:!0});const St=xt;const jt=lt.isStandardBrowserEnv?{write:function(t,e,r,n,o,i){const a=[];a.push(t+"="+encodeURIComponent(e)),z.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),z.isString(n)&&a.push("path="+n),z.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Rt(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Lt=lt.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let r;function n(r){let n=r;return t&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return r=n(window.location.href),function(t){const e=z.isString(t)?n(t):t;return e.protocol===r.protocol&&e.host===r.host}}():function(){return!0};const Nt=function(t,e){t=t||10;const r=new Array(t),n=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const c=Date.now(),u=n[a];o||(o=c),r[i]=s,n[i]=c;let l=a,f=0;for(;l!==i;)f+=r[l++],l%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),c-o{const i=o.loaded,a=o.lengthComputable?o.total:void 0,s=i-r,c=n(s);r=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:o};u[e?"download":"upload"]=!0,t(u)}}const It={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,r){let n=t.data;const o=Et.from(t.headers).normalize(),i=t.responseType;let a;function s(){t.cancelToken&&t.cancelToken.unsubscribe(a),t.signal&&t.signal.removeEventListener("abort",a)}z.isFormData(n)&&(lt.isStandardBrowserEnv||lt.isStandardBrowserWebWorkerEnv)&&o.setContentType(!1);let c=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",r=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+r))}const u=Rt(t.baseURL,t.url);function l(){if(!c)return;const n=Et.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(t,e,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?e(new J("Request failed with status code "+r.status,[J.ERR_BAD_REQUEST,J.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}((function(t){e(t),s()}),(function(t){r(t),s()}),{data:i&&"text"!==i&&"json"!==i?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:t,request:c}),c=null}if(c.open(t.method.toUpperCase(),nt(u,t.params,t.paramsSerializer),!0),c.timeout=t.timeout,"onloadend"in c?c.onloadend=l:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(l)},c.onabort=function(){c&&(r(new J("Request aborted",J.ECONNABORTED,t,c)),c=null)},c.onerror=function(){r(new J("Network Error",J.ERR_NETWORK,t,c)),c=null},c.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const n=t.transitional||it;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new J(e,n.clarifyTimeoutError?J.ETIMEDOUT:J.ECONNABORTED,t,c)),c=null},lt.isStandardBrowserEnv){const e=(t.withCredentials||Lt(u))&&t.xsrfCookieName&&jt.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===n&&o.setContentType(null),"setRequestHeader"in c&&z.forEach(o.toJSON(),(function(t,e){c.setRequestHeader(e,t)})),z.isUndefined(t.withCredentials)||(c.withCredentials=!!t.withCredentials),i&&"json"!==i&&(c.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&c.addEventListener("progress",Tt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",Tt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(a=e=>{c&&(r(!e||e.type?new St(null,t,c):e),c.abort(),c=null)},t.cancelToken&&t.cancelToken.subscribe(a),t.signal&&(t.signal.aborted?a():t.signal.addEventListener("abort",a)));const f=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);f&&-1===lt.protocols.indexOf(f)?r(new J("Unsupported protocol "+f+":",J.ERR_BAD_REQUEST,t)):c.send(n||null)}))}};z.forEach(It,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Pt=t=>{t=z.isArray(t)?t:[t];const{length:e}=t;let r,n;for(let o=0;ot instanceof Et?t.toJSON():t;function kt(t,e){e=e||{};const r={};function n(t,e,r){return z.isPlainObject(t)&&z.isPlainObject(e)?z.merge.call({caseless:r},t,e):z.isPlainObject(e)?z.merge({},e):z.isArray(e)?e.slice():e}function o(t,e,r){return z.isUndefined(e)?z.isUndefined(t)?void 0:n(void 0,t,r):n(t,e,r)}function i(t,e){if(!z.isUndefined(e))return n(void 0,e)}function a(t,e){return z.isUndefined(e)?z.isUndefined(t)?void 0:n(void 0,t):n(void 0,e)}function s(r,o,i){return i in e?n(r,o):i in t?n(void 0,r):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>o(Mt(t),Mt(e),!0)};return z.forEach(Object.keys(t).concat(Object.keys(e)),(function(n){const i=c[n]||o,a=i(t[n],e[n],n);z.isUndefined(a)&&i!==s||(r[n]=a)})),r}const _t="1.2.1",Ft={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Ft[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));const Bt={};Ft.transitional=function(t,e,r){return(n,o,i)=>{if(!1===t)throw new J(function(t,e){return"[Axios v1.2.1] Transitional option '"+t+"'"+e+(r?". "+r:"")}(o," has been removed"+(e?" in "+e:"")),J.ERR_DEPRECATED);return e&&!Bt[o]&&(Bt[o]=!0),!t||t(n,o,i)}};const Ut={assertOptions:function(t,e,r){if("object"!=typeof t)throw new J("options must be an object",J.ERR_BAD_OPTION_VALUE);const n=Object.keys(t);let o=n.length;for(;o-- >0;){const i=n[o],a=e[i];if(a){const e=t[i],r=void 0===e||a(e,i,t);if(!0!==r)throw new J("option "+i+" must be "+r,J.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new J("Unknown option "+i,J.ERR_BAD_OPTION)}},validators:Ft},zt=Ut.validators;class Gt{constructor(t){this.defaults=t,this.interceptors={request:new ot,response:new ot}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=kt(this.defaults,e);const{transitional:r,paramsSerializer:n,headers:o}=e;let i;void 0!==r&&Ut.assertOptions(r,{silentJSONParsing:zt.transitional(zt.boolean),forcedJSONParsing:zt.transitional(zt.boolean),clarifyTimeoutError:zt.transitional(zt.boolean)},!1),void 0!==n&&Ut.assertOptions(n,{encode:zt.function,serialize:zt.function},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase(),i=o&&z.merge(o.common,o[e.method]),i&&z.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=Et.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let l,f=0;if(!s){const t=[Dt.bind(this),void 0];for(t.unshift.apply(t,a),t.push.apply(t,c),l=t.length,u=Promise.resolve(e);f{if(!r._listeners)return;let e=r._listeners.length;for(;e-- >0;)r._listeners[e](t);r._listeners=null})),this.promise.then=t=>{let e;const n=new Promise((t=>{r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t((function(t,n,o){r.reason||(r.reason=new St(t,n,o),e(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new Yt((function(e){t=e})),cancel:t}}}const Jt=Yt;const Zt=function t(e){const r=new Ht(e),n=u(Ht.prototype.request,r);return z.extend(n,Ht.prototype,r,{allOwnKeys:!0}),z.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return t(kt(e,r))},n}(dt);Zt.Axios=Ht,Zt.CanceledError=St,Zt.CancelToken=Jt,Zt.isCancel=At,Zt.VERSION=_t,Zt.toFormData=K,Zt.AxiosError=J,Zt.Cancel=Zt.CanceledError,Zt.all=function(t){return Promise.all(t)},Zt.spread=function(t){return function(e){return t.apply(null,e)}},Zt.isAxiosError=function(t){return z.isObject(t)&&!0===t.isAxiosError},Zt.mergeConfig=kt,Zt.AxiosHeaders=Et,Zt.formToJSON=t=>ft(z.isHTMLForm(t)?new FormData(t):t),Zt.default=Zt;const Wt=Zt;var Qt=l(13);function qt(t){return qt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qt(t)}function Vt(){Vt=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(t,e,r,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),s=new S(o||[]);return n(a,"_invoke",{value:E(t,r,s)}),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function p(){}function h(){}function d(){}var y={};c(y,i,(function(){return this}));var m=Object.getPrototypeOf,v=m&&m(m(j([])));v&&v!==e&&r.call(v,i)&&(y=v);var g=d.prototype=p.prototype=Object.create(y);function w(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function o(n,i,a,s){var c=l(t[n],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==qt(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,s)}),(function(t){o("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return o("throw",t,a,s)}))}s(c.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function E(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return R()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=O(a,r);if(s){if(s===f)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function O(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function j(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Kt(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function Xt(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Kt(i,n,o,a,s,"next",t)}function s(t){Kt(i,n,o,a,s,"throw",t)}a(void 0)}))}}function $t(){return $t=Object.assign?Object.assign.bind():function(t){for(var e=1;e=200&&t<300},$t({},t)}));var ee=function(){var t=Xt(Vt().mark((function t(e,r){var n,o,i,a,s,c,u;return Vt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.method,o=void 0===n?"GET":n,i=r.params,a=r.data,s=r.validateStatus,c="".concat("api/plugin-proxy/corpglory-dataexporter-app").concat("/api").concat(e),t.next=4,te({method:o,url:c,params:i,data:a,validateStatus:s});case 4:return u=t.sent,t.abrupt("return",u.data);case 6:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}();function re(){return(re=Xt(Vt().mark((function t(){return Vt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",ee("/task",{}));case 1:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function ne(t){return oe.apply(this,arguments)}function oe(){return(oe=Xt(Vt().mark((function t(e){return Vt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!Qt.isEmpty(e)){t.next=3;break}return t.abrupt("return");case 3:return t.next=5,ee("/task",{method:"DELETE",data:{taskId:e}});case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function ie(){return(ie=Xt(Vt().mark((function t(e){var r,n,o;return Vt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!Qt.isEmpty(e)){t.next=3;break}return t.abrupt("return");case 3:return t.next=5,ee("/static/".concat(e,".csv"),{});case 5:r=t.sent,n=URL.createObjectURL(new Blob([r],{type:"text/csv"})),(o=document.createElement("a")).href=n,o.setAttribute("download","".concat(e,".csv")),document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(n);case 14:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var ae=l(14);function se(t){return se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},se(t)}function ce(){ce=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(t,e,r,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),s=new S(o||[]);return n(a,"_invoke",{value:E(t,r,s)}),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function p(){}function h(){}function d(){}var y={};c(y,i,(function(){return this}));var m=Object.getPrototypeOf,v=m&&m(m(j([])));v&&v!==e&&r.call(v,i)&&(y=v);var g=d.prototype=p.prototype=Object.create(y);function w(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function o(n,i,a,s){var c=l(t[n],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==se(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,s)}),(function(t){o("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return o("throw",t,a,s)}))}s(c.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function E(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return R()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=O(a,r);if(s){if(s===f)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function O(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function j(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function ue(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function le(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){ue(i,n,o,a,s,"next",t)}function s(t){ue(i,n,o,a,s,"throw",t)}a(void 0)}))}}function fe(){return(fe=le(ce().mark((function t(){var e;return ce().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(0,ae.getBackendSrv)(),t.abrupt("return",e.get("/api/datasources"));case 2:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function pe(t){return he.apply(this,arguments)}function he(){return(he=le(ce().mark((function t(e){var r;return ce().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,ae.getBackendSrv)(),t.abrupt("return",r.get("/api/dashboards/uid/".concat(e)));case 2:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var de,ye,me,ve,ge,we,be=l(28),Ee=l(29),Oe=l(1),Ae=l(0),xe=l.n(Ae);function Se(t){return Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Se(t)}function je(){return je=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Le(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function Ne(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Le(i,n,o,a,s,"next",t)}function s(t){Le(i,n,o,a,s,"throw",t)}a(void 0)}))}}function Te(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,u=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(s.push(n.value),s.length!==e);c=!0);}catch(t){u=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,e)||Ie(t,e)||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 Ie(t,e){if(t){if("string"==typeof t)return Pe(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Pe(t,e):void 0}}function Pe(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}(t);try{for(o.s();!(n=o.n()).done;){var i;if((null===(i=n.value.progress)||void 0===i?void 0:i.status)===r.EXPORTING)return void setTimeout(Y,1e3)}}catch(t){o.e(t)}finally{o.f()}})).catch((function(t){G(e.DATASOURCE_ERROR)}))}function J(){return J=Ne(Re().mark((function t(e){var r,n,o;return Re().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=Qt.filter(j,(function(t){return t.selected})),n=[F.from.unix(),F.to.unix()],o={username:be.contextSrv.user.name,timeRange:{from:1e3*n[0],to:1e3*n[1]},queries:r},t.next=5,ee("/task",{method:"POST",data:{task:o,url:window.location.toString(),timeZoneName:e}});case 5:Y(),W(),Z();case 8:case"end":return t.stop()}}),t)}))),J.apply(this,arguments)}function Z(){null!==j&&R(j.map((function(t){return je({},t,{selected:!1})})))}function W(){k(!1),Z()}function Q(){return(Q=Ne(Re().mark((function t(e){var r,n,o;return Re().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.origin.rowIndex,n=Qt.find(A,(function(t,e){return e===r})),t.next=4,ne(null==n?void 0:n.id);case 4:o=Qt.filter(A,(function(t,e){return e!==r})),x(o);case 6:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function q(t){var e=t.origin.rowIndex,r=Qt.find(A,(function(t,r){return r===e}));!function(t){ie.apply(this,arguments)}(null==r?void 0:r.id)}function V(t){if(null!==j){var e=t.origin.rowIndex,r=Qt.clone(j);r[e].selected=!r[e].selected,R(r)}}be.contextSrv.user.orgRole!==n.OrgRole.Admin&&G(e.PERMISSION_ERROR),(0,Ae.useEffect)((function(){function t(){return(t=Ne(Re().mark((function t(){var e;return Re().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=o(window.location.toString()),t.abrupt("return",pe(e));case 2:case"end":return t.stop()}}),t)})))).apply(this,arguments)}(function(){return t.apply(this,arguments)})().then((function(t){return g(t.dashboard)})).catch((function(t){}))}),[]),(0,Ae.useEffect)((function(){(function(){return fe.apply(this,arguments)})().then((function(t){return E(t)})).catch((function(t){}))}),[]),(0,Ae.useEffect)((function(){v&&b&&v.panels.forEach((function(e){var r,n,o=[];"corpglory-dataexporter-panel"!==e.type&&Qt.includes(Qt.values(t),null===(r=e.datasource)||void 0===r?void 0:r.type)&&(null===(n=e.targets)||void 0===n||n.forEach((function(t){var r,n=function(t){if(Qt.isNil(t))return;if(null===b)return;var e=Qt.find(b,(function(e){return e.uid===t}));return e}(null===(r=t.datasource)||void 0===r?void 0:r.uid);n&&o.push({selected:!1,target:t,panel:e,datasource:n})})),R(o))}))}),[v,b]),(0,Ae.useEffect)((function(){if(null!==A){var t=function(t){var e=(0,n.toDataFrame)({name:"A",fields:[{name:"Time",type:n.FieldType.number,values:Qt.map(t,(function(t){var e,r;return(r=null===(e=t.progress)||void 0===e?void 0:e.time)?new Date(r).toLocaleString("en-GB",{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}):"-"}))},{name:"User",type:n.FieldType.string,values:Qt.map(t,(function(t){return t.username}))},{name:"Datasource",type:n.FieldType.string,values:Qt.map(t,(function(t){return t.queries.map((function(t){var e;return null===(e=t.datasource)||void 0===e?void 0:e.name})).join(",")}))},{name:"Exported Rows",type:n.FieldType.number,values:Qt.map(t,(function(t){var e;return null===(e=t.progress)||void 0===e?void 0:e.exportedRowsCount}))},{name:"Progress",type:n.FieldType.string,values:Qt.map(t,(function(t){var e;return"".concat((100*((null===(e=t.progress)||void 0===e?void 0:e.progress)||0)).toFixed(0),"%")}))},{name:"Status",type:n.FieldType.string,values:Qt.map(t,(function(t){var e;return null===(e=t.progress)||void 0===e?void 0:e.status}))},{name:"Error",type:n.FieldType.string,values:Qt.map(t,(function(t){var e;return(null===(e=t.progress)||void 0===e?void 0:e.errorMessage)||"-"}))},{name:"Download CSV",type:n.FieldType.string,values:Qt.map(t,(function(){return"data:image/png;base64,".concat(a)})),config:{custom:{filterable:!1,displayMode:"image"},links:[{targetBlank:!1,title:"Download",url:"#",onClick:function(t){return q(t)}}]}},{name:"Delete task",type:n.FieldType.string,values:Qt.map(t,(function(){return"data:image/png;base64,".concat(i)})),config:{custom:{filterable:!1,displayMode:"image"},links:[{targetBlank:!1,title:"Delete",url:"#",onClick:function(t){return function(t){return Q.apply(this,arguments)}(t)}}]}}]});return(0,n.applyFieldOverrides)({data:[e],fieldConfig:{overrides:[],defaults:{}},theme:(0,n.createTheme)(),replaceVariables:function(t){return t}})[0]}(A);T(t)}}),[A]),(0,Ae.useEffect)(Y,[]),(0,Ae.useEffect)((function(){null!==j&&C(function(t){var e=(0,n.toDataFrame)({name:"A",fields:[{name:"Select",type:n.FieldType.string,values:Qt.map(t,(function(t){return"data:image/svg+xml;base64,".concat(t.selected?c:s)})),config:{custom:{filterable:!1,displayMode:"image"},links:[{targetBlank:!1,title:"Select",url:"#",onClick:function(t){return V(t)}}]}},{name:"Panel",type:n.FieldType.string,values:Qt.map(t,(function(t){return t.panel.title}))},{name:"RefId",type:n.FieldType.string,values:Qt.map(t,(function(t){return t.target.refId}))},{name:"Datasource",type:n.FieldType.string,values:Qt.map(t,(function(t){return t.datasource.name}))}]});return(0,n.applyFieldOverrides)({data:[e],fieldConfig:{overrides:[],defaults:{}},theme:(0,n.createTheme)(),replaceVariables:function(t){return t}})[0]}(j))}),[j]),d.subscribe(ae.RefreshEvent,Y);var K=(0,Oe.useStyles2)(Ce),X=de||(de=xe().createElement(Oe.LoadingPlaceholder,{text:"Loading..."})),$=xe().createElement("div",null,ye||(ye=xe().createElement("p",null,"Datasource is unavailable.")),me||(me=xe().createElement("div",null,"Click ",xe().createElement("a",{href:"/plugins/".concat("corpglory-dataexporter-app")},"here")," to configure DataExporter."))),tt=ve||(ve=xe().createElement("div",null,xe().createElement("p",null,"Permission Error."),xe().createElement("div",null," DataExporter panel availabel only for Admins "))),et=xe().createElement("div",null,xe().createElement(Oe.Table,{width:f,height:p-40,data:N}),xe().createElement(Oe.HorizontalGroup,{justify:"flex-end"},xe().createElement(Oe.Button,{variant:"primary","aria-label":"Rich history button",icon:"plus",style:{marginTop:"8px"},onClick:function(){B(h),k(!0)}},"Add Task"),xe().createElement(Oe.Modal,{title:"Select Queries",isOpen:M,onDismiss:W,className:K.calendarModal},null===P?ge||(ge=xe().createElement(Oe.LoadingPlaceholder,{text:"Loading..."})):xe().createElement("div",null,xe().createElement(Oe.VerticalGroup,{spacing:"xs"},xe().createElement(Oe.HorizontalGroup,{justify:"flex-start",spacing:"md"},xe().createElement(Oe.TimeRangeInput,{value:F,onChange:function(t){B(t)}})),xe().createElement(Oe.Table,{width:f/2-20,height:p-40,data:P}),xe().createElement(Oe.HorizontalGroup,{justify:"flex-end",spacing:"md"},xe().createElement(Oe.Button,{variant:"primary","aria-label":"Add task button",onClick:function(){return function(t){return J.apply(this,arguments)}(H)},disabled:!(null!=j&&null!==(l=j.filter((function(t){return t.selected})))&&void 0!==l&&l.length)},"Add Task")))))));return xe().createElement("div",null,function(t){switch(t){case e.LOADING:return X;case e.DATASOURCE_ERROR:return $;case e.PERMISSION_ERROR:return tt;case e.OK:return et;default:return $}}(z))}))})(),f})())); +define(["@emotion/css","@grafana/data","@grafana/runtime","@grafana/ui","app/core/app_events","app/core/core","lodash","react"],((t,e,r,n,o,i,a,s)=>(()=>{var c=[t=>{"use strict";t.exports=s},t=>{"use strict";t.exports=n},,,,,,,,,t=>{"use strict";t.exports=e},t=>{t.exports="object"==typeof self?self.FormData:window.FormData},,t=>{"use strict";t.exports=a},t=>{"use strict";t.exports=r},t=>{"use strict";t.exports=o},,,,,,,,,,,,,t=>{"use strict";t.exports=i},e=>{"use strict";e.exports=t}],u={};function l(t){var e=u[t];if(void 0!==e)return e.exports;var r=u[t]={exports:{}};return c[t](r,r.exports,l),r.exports}l.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return l.d(e,{a:e}),e},l.d=(t,e)=>{for(var r in e)l.o(e,r)&&!l.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},l.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),l.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var f={};return(()=>{"use strict";var t,e,r;l.r(f),l.d(f,{plugin:()=>_e}),function(t){t.INFLUXDB="influxdb",t.GRAPHITE="graphite",t.PROMETHEUS="prometheus",t.POSTGRES="postgres",t.ELASTICSEARCH="elasticsearch",t.MYSQL="mysql"}(t||(t={})),function(t){t.LOADING="Loading",t.DATASOURCE_ERROR="Datasource Error",t.PERMISSION_ERROR="Permission Error",t.OK="Ok"}(e||(e={})),function(t){t.EXPORTING="exporting",t.FINISHED="finished",t.ERROR="error"}(r||(r={}));var n=l(10);l(15);function o(){var t=window.location.toString(),e=new URL(t).pathname.match(/\/d\/([^/]+)/);if(e)return e[1];throw new Error("Can't get current dashboard uid. If it's a new dashboard, please save it first.")}function i(t){return t?new Date(t).toLocaleString("en-GB",{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}):"-"}var a="iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACJSURBVHgB7ZPRCcAgDESv0lWc0zhC53OIjmAVUpCSamL76YEoyfFIiAGWfldK6SwnKHyhep9xJ3iPcqgH5RyxV1VlBWYJypXVHMEiCaqBbRhAy3W3B76j954wq6ZSVZsOY+WXt6i9l2ymGTlUq0VpOcIqaQC96Zth01DN1zBBefVI4SNp9Za+6wLcH6DKFrfpxgAAAABJRU5ErkJggg==",s="iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAS1BMVEUAAADH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0Nn///+uWGxHAAAAF3RSTlMAABI4MAgNNbzy7JcQG6zvoPxPbavwDHoS9oEAAAABYktHRBibaYUeAAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5wEUFy4lfOQAfAAAAFdJREFUGNPFjkkKwCAQBEcd912TzP9/GglIQvBuXQoamm6ArbCHv7hAOaS0VkMSBWeAxjofIKacU4TgnTUIhYhqgz5EHVodKutw1o98vvU5dH2Hlpe2cgMuNAUd58WuNgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMy0wMS0yMFQyMDo0NjozNyswMzowMDMOisYAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjMtMDEtMjBUMjA6NDY6MzcrMDM6MDBCUzJ6AAAAAElFTkSuQmCC",c="PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgcng9IjEuNSIgZmlsbD0iIzExMTIxNiIgc3Ryb2tlPSIjMkQyRTM0Ii8+Cjwvc3ZnPgo=",u="PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiIgZmlsbD0iIzRBNzFEMiIvPgo8cGF0aCBkPSJNNS45ODI2NCAxMi41MjE3QzUuNzczOTUgMTIuNTIxNyA1LjU4MjY0IDEyLjQ1MjIgNS40MjYxMiAxMi4yOTU2TDEuOTY1MjUgOC44MzQ3NkMxLjY1MjIxIDguNTIxNzIgMS42NTIyMSA4LjAzNDc2IDEuOTY1MjUgNy43MjE3MkMyLjI3ODI5IDcuNDA4NjcgMi43NjUyNSA3LjQwODY3IDMuMDc4MjkgNy43MjE3Mkw2LjAwMDAzIDEwLjYyNjFMMTIuOTM5MiAzLjcwNDMzQzEzLjI1MjIgMy4zOTEyOCAxMy43MzkyIDMuMzkxMjggMTQuMDUyMiAzLjcwNDMzQzE0LjM2NTMgNC4wMTczNyAxNC4zNjUzIDQuNTA0MzMgMTQuMDUyMiA0LjgxNzM3TDYuNTU2NTYgMTIuMjk1NkM2LjM4MjY0IDEyLjQ1MjIgNi4xOTEzNCAxMi41MjE3IDUuOTgyNjQgMTIuNTIxN1YxMi41MjE3WiIgZmlsbD0iI0ZFRkZGRiIvPgo8L3N2Zz4K";function p(t,e){return function(){return t.apply(e,arguments)}}const{toString:h}=Object.prototype,{getPrototypeOf:d}=Object,y=(m=Object.create(null),t=>{const e=h.call(t);return m[e]||(m[e]=e.slice(8,-1).toLowerCase())});var m;const v=t=>(t=t.toLowerCase(),e=>y(e)===t),g=t=>e=>typeof e===t,{isArray:w}=Array,b=g("undefined");const E=v("ArrayBuffer");const A=g("string"),O=g("function"),x=g("number"),S=t=>null!==t&&"object"==typeof t,j=t=>{if("object"!==y(t))return!1;const e=d(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},N=v("Date"),R=v("File"),T=v("Blob"),L=v("FileList"),I=v("URLSearchParams");function M(t,e,{allOwnKeys:r=!1}={}){if(null==t)return;let n,o;if("object"!=typeof t&&(t=[t]),w(t))for(n=0,o=t.length;n0;)if(n=r[o],e===n.toLowerCase())return n;return null}const D="undefined"==typeof self?"undefined"==typeof global?void 0:global:self,k=t=>!b(t)&&t!==D;const C=(_="undefined"!=typeof Uint8Array&&d(Uint8Array),t=>_&&t instanceof _);var _;const U=v("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),B=v("RegExp"),H=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),n={};M(r,((r,o)=>{!1!==e(r,o,t)&&(n[o]=r)})),Object.defineProperties(t,n)},z={isArray:w,isArrayBuffer:E,isBuffer:function(t){return null!==t&&!b(t)&&null!==t.constructor&&!b(t.constructor)&&O(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{const e="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||h.call(t)===e||O(t.toString)&&t.toString()===e)},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&E(t.buffer),e},isString:A,isNumber:x,isBoolean:t=>!0===t||!1===t,isObject:S,isPlainObject:j,isUndefined:b,isDate:N,isFile:R,isBlob:T,isRegExp:B,isFunction:O,isStream:t=>S(t)&&O(t.pipe),isURLSearchParams:I,isTypedArray:C,isFileList:L,forEach:M,merge:function t(){const{caseless:e}=k(this)&&this||{},r={},n=(n,o)=>{const i=e&&P(r,o)||o;j(r[i])&&j(n)?r[i]=t(r[i],n):j(n)?r[i]=t({},n):w(n)?r[i]=n.slice():r[i]=n};for(let t=0,e=arguments.length;t(M(e,((e,n)=>{r&&O(e)?t[n]=p(e,r):t[n]=e}),{allOwnKeys:n}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:(t,e,r,n)=>{let o,i,a;const s={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)a=o[i],n&&!n(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==r&&d(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:y,kindOfTest:v,endsWith:(t,e,r)=>{t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;const n=t.indexOf(e,r);return-1!==n&&n===r},toArray:t=>{if(!t)return null;if(w(t))return t;let e=t.length;if(!x(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},forEachEntry:(t,e)=>{const r=(t&&t[Symbol.iterator]).call(t);let n;for(;(n=r.next())&&!n.done;){const r=n.value;e.call(t,r[0],r[1])}},matchAll:(t,e)=>{let r;const n=[];for(;null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:U,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:H,freezeMethods:t=>{H(t,((e,r)=>{if(O(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=t[r];O(n)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(t,e)=>{const r={},n=t=>{t.forEach((t=>{r[t]=!0}))};return w(t)?n(t):n(String(t).split(e)),r},toCamelCase:t=>t.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(t,e,r){return e.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:P,global:D,isContextDefined:k,toJSONObject:t=>{const e=new Array(10),r=(t,n)=>{if(S(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;const o=w(t)?[]:{};return M(t,((t,e)=>{const i=r(t,n+1);!b(i)&&(o[e]=i)})),e[n]=void 0,o}}return t};return r(t,0)}};function G(t,e,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}z.inherits(G,Error,{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:z.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Y=G.prototype,J={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{J[t]={value:t}})),Object.defineProperties(G,J),Object.defineProperty(Y,"isAxiosError",{value:!0}),G.from=(t,e,r,n,o,i)=>{const a=Object.create(Y);return z.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),G.call(a,t.message,e,r,n,o),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const V=G;const Q=l(11);function Z(t){return z.isPlainObject(t)||z.isArray(t)}function W(t){return z.endsWith(t,"[]")?t.slice(0,-2):t}function q(t,e,r){return t?t.concat(e).map((function(t,e){return t=W(t),!r&&e?"["+t+"]":t})).join(r?".":""):e}const K=z.toFlatObject(z,{},null,(function(t){return/^is[A-Z]/.test(t)}));const X=function(t,e,r){if(!z.isObject(t))throw new TypeError("target must be an object");e=e||new(Q||FormData);const n=(r=z.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!z.isUndefined(e[t])}))).metaTokens,o=r.visitor||l,i=r.dots,a=r.indexes,s=(r.Blob||"undefined"!=typeof Blob&&Blob)&&((c=e)&&z.isFunction(c.append)&&"FormData"===c[Symbol.toStringTag]&&c[Symbol.iterator]);var c;if(!z.isFunction(o))throw new TypeError("visitor must be a function");function u(t){if(null===t)return"";if(z.isDate(t))return t.toISOString();if(!s&&z.isBlob(t))throw new V("Blob is not supported. Use a Buffer instead.");return z.isArrayBuffer(t)||z.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,r,o){let s=t;if(t&&!o&&"object"==typeof t)if(z.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else if(z.isArray(t)&&function(t){return z.isArray(t)&&!t.some(Z)}(t)||z.isFileList(t)||z.endsWith(r,"[]")&&(s=z.toArray(t)))return r=W(r),s.forEach((function(t,n){!z.isUndefined(t)&&null!==t&&e.append(!0===a?q([r],n,i):null===a?r:r+"[]",u(t))})),!1;return!!Z(t)||(e.append(q(o,r,i),u(t)),!1)}const f=[],p=Object.assign(K,{defaultVisitor:l,convertValue:u,isVisitable:Z});if(!z.isObject(t))throw new TypeError("data must be an object");return function t(r,n){if(!z.isUndefined(r)){if(-1!==f.indexOf(r))throw Error("Circular reference detected in "+n.join("."));f.push(r),z.forEach(r,(function(r,i){!0===(!(z.isUndefined(r)||null===r)&&o.call(e,r,z.isString(i)?i.trim():i,n,p))&&t(r,n?n.concat(i):[i])})),f.pop()}}(t),e};function $(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function tt(t,e){this._pairs=[],t&&X(t,this,e)}const et=tt.prototype;et.append=function(t,e){this._pairs.push([t,e])},et.toString=function(t){const e=t?function(e){return t.call(this,e,$)}:$;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const rt=tt;function nt(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ot(t,e,r){if(!e)return t;const n=r&&r.encode||nt,o=r&&r.serialize;let i;if(i=o?o(e,r):z.isURLSearchParams(e)?e.toString():new rt(e,r).toString(n),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const it=class{constructor(){this.handlers=[]}use(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){z.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},at={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},st="undefined"!=typeof URLSearchParams?URLSearchParams:rt,ct=FormData,ut=(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&("undefined"!=typeof window&&"undefined"!=typeof document)})(),lt="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,ft={isBrowser:!0,classes:{URLSearchParams:st,FormData:ct,Blob},isStandardBrowserEnv:ut,isStandardBrowserWebWorkerEnv:lt,protocols:["http","https","file","blob","url","data"]};const pt=function(t){function e(t,r,n,o){let i=t[o++];const a=Number.isFinite(+i),s=o>=t.length;if(i=!i&&z.isArray(n)?n.length:i,s)return z.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a;n[i]&&z.isObject(n[i])||(n[i]=[]);return e(t,r,n[i],o)&&z.isArray(n[i])&&(n[i]=function(t){const e={},r=Object.keys(t);let n;const o=r.length;let i;for(n=0;n{e(function(t){return z.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),n,r,0)})),r}return null},ht={"Content-Type":void 0};const dt={transitional:at,adapter:["xhr","http"],transformRequest:[function(t,e){const r=e.getContentType()||"",n=r.indexOf("application/json")>-1,o=z.isObject(t);o&&z.isHTMLForm(t)&&(t=new FormData(t));if(z.isFormData(t))return n&&n?JSON.stringify(pt(t)):t;if(z.isArrayBuffer(t)||z.isBuffer(t)||z.isStream(t)||z.isFile(t)||z.isBlob(t))return t;if(z.isArrayBufferView(t))return t.buffer;if(z.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return X(t,new ft.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return ft.isNode&&z.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=z.isFileList(t))||r.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return X(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||n?(e.setContentType("application/json",!1),function(t,e,r){if(z.isString(t))try{return(e||JSON.parse)(t),z.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(r||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||dt.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(t&&z.isString(t)&&(r&&!this.responseType||n)){const r=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(t){if(r){if("SyntaxError"===t.name)throw V.from(t,V.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ft.classes.FormData,Blob:ft.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};z.forEach(["delete","get","head"],(function(t){dt.headers[t]={}})),z.forEach(["post","put","patch"],(function(t){dt.headers[t]=z.merge(ht)}));const yt=dt,mt=z.toObjectSet(["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"]),vt=Symbol("internals");function gt(t){return t&&String(t).trim().toLowerCase()}function wt(t){return!1===t||null==t?t:z.isArray(t)?t.map(wt):String(t)}function bt(t,e,r,n){return z.isFunction(n)?n.call(this,e,r):z.isString(e)?z.isString(n)?-1!==e.indexOf(n):z.isRegExp(n)?n.test(e):void 0:void 0}class Et{constructor(t){t&&this.set(t)}set(t,e,r){const n=this;function o(t,e,r){const o=gt(e);if(!o)throw new Error("header name must be a non-empty string");const i=z.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||e]=wt(t))}const i=(t,e)=>z.forEach(t,((t,r)=>o(t,r,e)));return z.isPlainObject(t)||t instanceof this.constructor?i(t,e):z.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z]+$/.test(t.trim())?i((t=>{const e={};let r,n,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),r=t.substring(0,o).trim().toLowerCase(),n=t.substring(o+1).trim(),!r||e[r]&&mt[r]||("set-cookie"===r?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)})),e})(t),e):null!=t&&o(e,t,r),this}get(t,e){if(t=gt(t)){const r=z.findKey(this,t);if(r){const t=this[r];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}(t);if(z.isFunction(e))return e.call(this,t,r);if(z.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=gt(t)){const r=z.findKey(this,t);return!(!r||e&&!bt(0,this[r],r,e))}return!1}delete(t,e){const r=this;let n=!1;function o(t){if(t=gt(t)){const o=z.findKey(r,t);!o||e&&!bt(0,r[o],o,e)||(delete r[o],n=!0)}}return z.isArray(t)?t.forEach(o):o(t),n}clear(){return Object.keys(this).forEach(this.delete.bind(this))}normalize(t){const e=this,r={};return z.forEach(this,((n,o)=>{const i=z.findKey(r,o);if(i)return e[i]=wt(n),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,r)=>e.toUpperCase()+r))}(o):String(o).trim();a!==o&&delete e[o],e[a]=wt(n),r[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return z.forEach(this,((r,n)=>{null!=r&&!1!==r&&(e[n]=t&&z.isArray(r)?r.join(", "):r)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const r=new this(t);return e.forEach((t=>r.set(t))),r}static accessor(t){const e=(this[vt]=this[vt]={accessors:{}}).accessors,r=this.prototype;function n(t){const n=gt(t);e[n]||(!function(t,e){const r=z.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(t,n+r,{value:function(t,r,o){return this[n].call(this,e,t,r,o)},configurable:!0})}))}(r,t),e[n]=!0)}return z.isArray(t)?t.forEach(n):n(t),this}}Et.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]),z.freezeMethods(Et.prototype),z.freezeMethods(Et);const At=Et;function Ot(t,e){const r=this||yt,n=e||r,o=At.from(n.headers);let i=n.data;return z.forEach(t,(function(t){i=t.call(r,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function xt(t){return!(!t||!t.__CANCEL__)}function St(t,e,r){V.call(this,null==t?"canceled":t,V.ERR_CANCELED,e,r),this.name="CanceledError"}z.inherits(St,V,{__CANCEL__:!0});const jt=St;const Nt=ft.isStandardBrowserEnv?{write:function(t,e,r,n,o,i){const a=[];a.push(t+"="+encodeURIComponent(e)),z.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),z.isString(n)&&a.push("path="+n),z.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Rt(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Tt=ft.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let r;function n(r){let n=r;return t&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return r=n(window.location.href),function(t){const e=z.isString(t)?n(t):t;return e.protocol===r.protocol&&e.host===r.host}}():function(){return!0};const Lt=function(t,e){t=t||10;const r=new Array(t),n=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const c=Date.now(),u=n[a];o||(o=c),r[i]=s,n[i]=c;let l=a,f=0;for(;l!==i;)f+=r[l++],l%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),c-o{const i=o.loaded,a=o.lengthComputable?o.total:void 0,s=i-r,c=n(s);r=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:o};u[e?"download":"upload"]=!0,t(u)}}const Mt={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,r){let n=t.data;const o=At.from(t.headers).normalize(),i=t.responseType;let a;function s(){t.cancelToken&&t.cancelToken.unsubscribe(a),t.signal&&t.signal.removeEventListener("abort",a)}z.isFormData(n)&&(ft.isStandardBrowserEnv||ft.isStandardBrowserWebWorkerEnv)&&o.setContentType(!1);let c=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",r=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+r))}const u=Rt(t.baseURL,t.url);function l(){if(!c)return;const n=At.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(t,e,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?e(new V("Request failed with status code "+r.status,[V.ERR_BAD_REQUEST,V.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}((function(t){e(t),s()}),(function(t){r(t),s()}),{data:i&&"text"!==i&&"json"!==i?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:t,request:c}),c=null}if(c.open(t.method.toUpperCase(),ot(u,t.params,t.paramsSerializer),!0),c.timeout=t.timeout,"onloadend"in c?c.onloadend=l:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(l)},c.onabort=function(){c&&(r(new V("Request aborted",V.ECONNABORTED,t,c)),c=null)},c.onerror=function(){r(new V("Network Error",V.ERR_NETWORK,t,c)),c=null},c.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const n=t.transitional||at;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new V(e,n.clarifyTimeoutError?V.ETIMEDOUT:V.ECONNABORTED,t,c)),c=null},ft.isStandardBrowserEnv){const e=(t.withCredentials||Tt(u))&&t.xsrfCookieName&&Nt.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===n&&o.setContentType(null),"setRequestHeader"in c&&z.forEach(o.toJSON(),(function(t,e){c.setRequestHeader(e,t)})),z.isUndefined(t.withCredentials)||(c.withCredentials=!!t.withCredentials),i&&"json"!==i&&(c.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&c.addEventListener("progress",It(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",It(t.onUploadProgress)),(t.cancelToken||t.signal)&&(a=e=>{c&&(r(!e||e.type?new jt(null,t,c):e),c.abort(),c=null)},t.cancelToken&&t.cancelToken.subscribe(a),t.signal&&(t.signal.aborted?a():t.signal.addEventListener("abort",a)));const f=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);f&&-1===ft.protocols.indexOf(f)?r(new V("Unsupported protocol "+f+":",V.ERR_BAD_REQUEST,t)):c.send(n||null)}))}};z.forEach(Mt,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Pt=t=>{t=z.isArray(t)?t:[t];const{length:e}=t;let r,n;for(let o=0;ot instanceof At?t.toJSON():t;function _t(t,e){e=e||{};const r={};function n(t,e,r){return z.isPlainObject(t)&&z.isPlainObject(e)?z.merge.call({caseless:r},t,e):z.isPlainObject(e)?z.merge({},e):z.isArray(e)?e.slice():e}function o(t,e,r){return z.isUndefined(e)?z.isUndefined(t)?void 0:n(void 0,t,r):n(t,e,r)}function i(t,e){if(!z.isUndefined(e))return n(void 0,e)}function a(t,e){return z.isUndefined(e)?z.isUndefined(t)?void 0:n(void 0,t):n(void 0,e)}function s(r,o,i){return i in e?n(r,o):i in t?n(void 0,r):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>o(Ct(t),Ct(e),!0)};return z.forEach(Object.keys(t).concat(Object.keys(e)),(function(n){const i=c[n]||o,a=i(t[n],e[n],n);z.isUndefined(a)&&i!==s||(r[n]=a)})),r}const Ut="1.2.1",Ft={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Ft[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));const Bt={};Ft.transitional=function(t,e,r){return(n,o,i)=>{if(!1===t)throw new V(function(t,e){return"[Axios v1.2.1] Transitional option '"+t+"'"+e+(r?". "+r:"")}(o," has been removed"+(e?" in "+e:"")),V.ERR_DEPRECATED);return e&&!Bt[o]&&(Bt[o]=!0),!t||t(n,o,i)}};const Ht={assertOptions:function(t,e,r){if("object"!=typeof t)throw new V("options must be an object",V.ERR_BAD_OPTION_VALUE);const n=Object.keys(t);let o=n.length;for(;o-- >0;){const i=n[o],a=e[i];if(a){const e=t[i],r=void 0===e||a(e,i,t);if(!0!==r)throw new V("option "+i+" must be "+r,V.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new V("Unknown option "+i,V.ERR_BAD_OPTION)}},validators:Ft},zt=Ht.validators;class Gt{constructor(t){this.defaults=t,this.interceptors={request:new it,response:new it}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=_t(this.defaults,e);const{transitional:r,paramsSerializer:n,headers:o}=e;let i;void 0!==r&&Ht.assertOptions(r,{silentJSONParsing:zt.transitional(zt.boolean),forcedJSONParsing:zt.transitional(zt.boolean),clarifyTimeoutError:zt.transitional(zt.boolean)},!1),void 0!==n&&Ht.assertOptions(n,{encode:zt.function,serialize:zt.function},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase(),i=o&&z.merge(o.common,o[e.method]),i&&z.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=At.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let l,f=0;if(!s){const t=[kt.bind(this),void 0];for(t.unshift.apply(t,a),t.push.apply(t,c),l=t.length,u=Promise.resolve(e);f{if(!r._listeners)return;let e=r._listeners.length;for(;e-- >0;)r._listeners[e](t);r._listeners=null})),this.promise.then=t=>{let e;const n=new Promise((t=>{r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t((function(t,n,o){r.reason||(r.reason=new jt(t,n,o),e(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new Jt((function(e){t=e})),cancel:t}}}const Vt=Jt;const Qt=function t(e){const r=new Yt(e),n=p(Yt.prototype.request,r);return z.extend(n,Yt.prototype,r,{allOwnKeys:!0}),z.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return t(_t(e,r))},n}(yt);Qt.Axios=Yt,Qt.CanceledError=jt,Qt.CancelToken=Vt,Qt.isCancel=xt,Qt.VERSION=Ut,Qt.toFormData=X,Qt.AxiosError=V,Qt.Cancel=Qt.CanceledError,Qt.all=function(t){return Promise.all(t)},Qt.spread=function(t){return function(e){return t.apply(null,e)}},Qt.isAxiosError=function(t){return z.isObject(t)&&!0===t.isAxiosError},Qt.mergeConfig=_t,Qt.AxiosHeaders=At,Qt.formToJSON=t=>pt(z.isHTMLForm(t)?new FormData(t):t),Qt.default=Qt;const Zt=Qt;var Wt=l(13);function qt(t){return qt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qt(t)}function Kt(){Kt=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(t,e,r,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),s=new S(o||[]);return n(a,"_invoke",{value:E(t,r,s)}),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function p(){}function h(){}function d(){}var y={};c(y,i,(function(){return this}));var m=Object.getPrototypeOf,v=m&&m(m(j([])));v&&v!==e&&r.call(v,i)&&(y=v);var g=d.prototype=p.prototype=Object.create(y);function w(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function o(n,i,a,s){var c=l(t[n],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==qt(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,s)}),(function(t){o("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return o("throw",t,a,s)}))}s(c.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function E(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return N()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=A(a,r);if(s){if(s===f)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function A(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,A(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function j(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Xt(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function $t(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Xt(i,n,o,a,s,"next",t)}function s(t){Xt(i,n,o,a,s,"throw",t)}a(void 0)}))}}function te(){return te=Object.assign?Object.assign.bind():function(t){for(var e=1;e=200&&t<300},te({},t)}));var re=function(){var t=$t(Kt().mark((function t(e,r){var n,o,i,a,s,c,u;return Kt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.method,o=void 0===n?"GET":n,i=r.params,a=r.data,s=r.validateStatus,c="".concat("api/plugin-proxy/corpglory-dataexporter-app").concat("/api").concat(e),t.next=4,ee({method:o,url:c,params:i,data:a,validateStatus:s});case 4:return u=t.sent,t.abrupt("return",u.data);case 6:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}();function ne(){return(ne=$t(Kt().mark((function t(e){return Kt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",re("/task",{params:{dashboardUid:e}}));case 1:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function oe(t){return ie.apply(this,arguments)}function ie(){return(ie=$t(Kt().mark((function t(e){return Kt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!Wt.isEmpty(e)){t.next=3;break}return t.abrupt("return");case 3:return t.next=5,re("/task",{method:"DELETE",data:{taskId:e}});case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function ae(){return(ae=$t(Kt().mark((function t(e){var r,n,o;return Kt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!Wt.isEmpty(e)){t.next=3;break}return t.abrupt("return");case 3:return t.next=5,re("/static/".concat(e,".csv"),{});case 5:r=t.sent,n=URL.createObjectURL(new Blob([r],{type:"text/csv"})),(o=document.createElement("a")).href=n,o.setAttribute("download","".concat(e,".csv")),document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(n);case 14:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var se=l(14);function ce(t){return ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ce(t)}function ue(){ue=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(t,e,r,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),s=new S(o||[]);return n(a,"_invoke",{value:E(t,r,s)}),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function p(){}function h(){}function d(){}var y={};c(y,i,(function(){return this}));var m=Object.getPrototypeOf,v=m&&m(m(j([])));v&&v!==e&&r.call(v,i)&&(y=v);var g=d.prototype=p.prototype=Object.create(y);function w(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function o(n,i,a,s){var c=l(t[n],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==ce(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,s)}),(function(t){o("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return o("throw",t,a,s)}))}s(c.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function E(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return N()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=A(a,r);if(s){if(s===f)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(t,e,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function A(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,A(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=l(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function j(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function le(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function fe(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){le(i,n,o,a,s,"next",t)}function s(t){le(i,n,o,a,s,"throw",t)}a(void 0)}))}}function pe(){return(pe=fe(ue().mark((function t(){var e;return ue().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(0,se.getBackendSrv)(),t.abrupt("return",e.get("/api/datasources"));case 2:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function he(t){return de.apply(this,arguments)}function de(){return(de=fe(ue().mark((function t(e){var r;return ue().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,se.getBackendSrv)(),t.abrupt("return",r.get("/api/dashboards/uid/".concat(e)));case 2:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var ye,me,ve,ge,we,be,Ee=l(28),Ae=l(29),Oe=l(1),xe=l(0),Se=l.n(xe);function je(t){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},je(t)}function Ne(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function Re(){return Re=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Le(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function Ie(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Le(i,n,o,a,s,"next",t)}function s(t){Le(i,n,o,a,s,"throw",t)}a(void 0)}))}}function Me(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,u=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(s.push(n.value),s.length!==e);c=!0);}catch(t){u=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(t,e)||Pe(t,e)||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 Pe(t,e){if(t){if("string"==typeof t)return De(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?De(t,e):void 0}}function De(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}(t);try{for(o.s();!(n=o.n()).done;){var i;if((null===(i=n.value.progress)||void 0===i?void 0:i.status)===r.EXPORTING)return void setTimeout(q,1e3)}}catch(t){o.e(t)}finally{o.f()}})).catch((function(t){Y(e.DATASOURCE_ERROR),Q("".concat(t.name,": ").concat(t.message))}))}function K(t){if(!Wt.isNil(t)&&null!==E){var e=Wt.find(E,(function(e){return e.uid===t}));return e}}function X(){return X=Ie(Te().mark((function t(e){var r,n,i,a;return Te().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=Wt.filter(N,(function(t){return t.selected})),n=[F.from.unix(),F.to.unix()],i=o(),a={dashboardUid:i,username:Ee.contextSrv.user.name,timeRange:{from:1e3*n[0],to:1e3*n[1]},queries:r},t.next=6,re("/task",{method:"POST",data:{task:a,url:window.location.toString(),timeZoneName:e}});case 6:q(),tt(),$();case 9:case"end":return t.stop()}}),t)}))),X.apply(this,arguments)}function $(){null!==N&&R(N.map((function(t){return Re({},t,{selected:!1})})))}function tt(){_(!1),$()}function et(t){return rt.apply(this,arguments)}function rt(){return(rt=Ie(Te().mark((function t(e){var r;return Te().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,oe(null==e?void 0:e.id);case 2:r=Wt.filter(x,(function(t){return t.id!==e.id})),S(r);case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function nt(t){if(null!==N){var e=t.origin.rowIndex,r=Wt.clone(N);r[e].selected=!r[e].selected,R(r)}}Ee.contextSrv.user.orgRole!==n.OrgRole.Admin&&Y(e.PERMISSION_ERROR),(0,xe.useEffect)((function(){function t(){return(t=Ie(Te().mark((function t(){var e;return Te().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=o(),t.abrupt("return",he(e));case 2:case"end":return t.stop()}}),t)})))).apply(this,arguments)}(function(){return t.apply(this,arguments)})().then((function(t){return w(t.dashboard)})).catch((function(t){}))}),[]),(0,xe.useEffect)((function(){(function(){return pe.apply(this,arguments)})().then((function(t){return A(t)})).catch((function(t){}))}),[]),(0,xe.useEffect)((function(){if(null!==x){var t=function(t){var e=Wt.orderBy(t,(function(t){var e;return null===(e=t.progress)||void 0===e?void 0:e.time}),"desc"),o=(0,n.toDataFrame)({name:"A",fields:[{name:"Status Updated At",type:n.FieldType.number,values:Wt.map(e,(function(t){var e;return i(null===(e=t.progress)||void 0===e?void 0:e.time)}))},{name:"From",type:n.FieldType.number,values:Wt.map(e,(function(t){return i(t.timeRange.from)}))},{name:"To",type:n.FieldType.number,values:Wt.map(e,(function(t){return i(t.timeRange.to)}))},{name:"User",type:n.FieldType.string,values:Wt.map(e,(function(t){return t.username}))},{name:"Datasource",type:n.FieldType.string,values:Wt.map(e,(function(t){return t.queries.map((function(t){var e;return null===(e=t.datasource)||void 0===e?void 0:e.name})).join(",")}))},{name:"Exported Rows",type:n.FieldType.number,values:Wt.map(e,(function(t){var e;return null===(e=t.progress)||void 0===e?void 0:e.exportedRowsCount}))},{name:"Progress",type:n.FieldType.string,values:Wt.map(e,(function(t){var e;return"".concat((100*((null===(e=t.progress)||void 0===e?void 0:e.progress)||0)).toFixed(0),"%")}))},{name:"Status",type:n.FieldType.string,values:Wt.map(e,(function(t){var e;return null===(e=t.progress)||void 0===e?void 0:e.status}))},{name:"Error",type:n.FieldType.string,values:Wt.map(e,(function(t){var e;return(null===(e=t.progress)||void 0===e?void 0:e.errorMessage)||"-"}))},{name:"Actions",type:n.FieldType.string,values:Wt.map(e,(function(t){var e,n;switch(null===(e=t.progress)||void 0===e?void 0:e.status){case r.FINISHED:return"data:image/png;base64,".concat(s);case r.ERROR:return"data:image/png;base64,".concat(a);case r.EXPORTING:return"";default:throw new Error("Unknown exporting status: ".concat(null===(n=t.progress)||void 0===n?void 0:n.status))}})),config:{custom:{filterable:!1,displayMode:"image"}}}]}),c=(0,n.applyFieldOverrides)({data:[o],fieldConfig:{overrides:[],defaults:{}},theme:(0,n.createTheme)(),replaceVariables:function(t){return t}});return c[0].fields[9].getLinks=function(t){var o,i,a=t.valueRowIndex,s=Wt.find(e,(function(t,e){return e===a}));if(s)switch(null===(o=s.progress)||void 0===o?void 0:o.status){case r.FINISHED:return[{targetBlank:!1,title:"Download",url:"#",onClick:function(){return function(t){Ee.appEvents.emit(n.AppEvents.alertSuccess,["CSV has started downloading..."]),function(t){ae.apply(this,arguments)}(null==t?void 0:t.id)}(s)}},{targetBlank:!1,title:"Delete",url:"#",onClick:function(){return et(s)}}];case r.ERROR:return[{targetBlank:!1,title:"Delete",url:"#",onClick:function(){return et(s)}}];case r.EXPORTING:return[];default:throw new Error("Unknown exporting status: ".concat(null===(i=s.progress)||void 0===i?void 0:i.status))}},c[0]}(x);I(t)}}),[x]),(0,xe.useEffect)(q,[]),(0,xe.useEffect)((function(){null!==N&&D(function(t){var e=(0,n.toDataFrame)({name:"A",fields:[{name:"Select",type:n.FieldType.string,values:Wt.map(t,(function(t){return"data:image/svg+xml;base64,".concat(t.selected?u:c)})),config:{custom:{filterable:!1,displayMode:"image"},links:[{targetBlank:!1,title:"Select",url:"#",onClick:function(t){return nt(t)}}]}},{name:"Panel",type:n.FieldType.string,values:Wt.map(t,(function(t){return t.panel.title}))},{name:"RefId",type:n.FieldType.string,values:Wt.map(t,(function(t){return t.target.refId}))},{name:"Datasource",type:n.FieldType.string,values:Wt.map(t,(function(t){return t.datasource.name}))}]});return(0,n.applyFieldOverrides)({data:[e],fieldConfig:{overrides:[],defaults:{}},theme:(0,n.createTheme)(),replaceVariables:function(t){return t}})[0]}(N))}),[N]),y.subscribe(se.RefreshEvent,q);var ot=(0,Oe.useStyles2)(Ce),it=ye||(ye=Se().createElement(Oe.LoadingPlaceholder,{text:"Loading..."})),at=Se().createElement("div",null,me||(me=Se().createElement("p",null,"Datasource is unavailable.")),Se().createElement("div",null,"If you have not setup the plugin click",Se().createElement("a",{className:ot.customLink,href:"/plugins/".concat("corpglory-dataexporter-app")},"here"),"to configure DataExporter."),Se().createElement("p",{style:{marginTop:"16px"}},V)),st=ve||(ve=Se().createElement("div",null,Se().createElement("p",null," Permission Error. "),Se().createElement("div",null," DataExporter panel available only for Admins. "))),ct=Se().createElement("div",null,Se().createElement(Oe.Table,{width:p,height:h-40,data:L}),Se().createElement(Oe.HorizontalGroup,{justify:"flex-end"},Se().createElement(Oe.Button,{variant:"primary",icon:"plus",style:{marginTop:"8px"},onClick:function(){!function(){W.apply(this,arguments)}(),B(d),_(!0)}},"Add Task"),Se().createElement(Oe.Modal,{title:"Select Queries",isOpen:C,onDismiss:tt,className:ot.calendarModal},null===P?ge||(ge=Se().createElement("div",null,Se().createElement("p",null,"There are no queries to export."))):Se().createElement("div",null,Se().createElement(Oe.VerticalGroup,{spacing:"xs"},Se().createElement(Oe.HorizontalGroup,{justify:"flex-start",spacing:"md"},Se().createElement(Oe.TimeRangeInput,{value:F,onChange:function(t){B(t)}})),Se().createElement(Oe.Table,{width:p/2-20,height:h-40,data:P}),Se().createElement(Oe.HorizontalGroup,{justify:"flex-end",spacing:"md"},Se().createElement(Oe.Button,{variant:"primary","aria-label":"Add task button",onClick:function(){return function(t){return X.apply(this,arguments)}(Z)},disabled:!(null!=N&&null!==(f=N.filter((function(t){return t.selected})))&&void 0!==f&&f.length)},"Add Task")))))));return Se().createElement("div",null,function(t){switch(t){case e.LOADING:return it;case e.DATASOURCE_ERROR:return at;case e.PERMISSION_ERROR:return st;case e.OK:return ct;default:return at}}(z))}))})(),f})())); //# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/dist/panels/corpglory-dataexporter-panel/module.js.map b/dist/panels/corpglory-dataexporter-panel/module.js.map index 553364d..4c25b09 100644 --- a/dist/panels/corpglory-dataexporter-panel/module.js.map +++ b/dist/panels/corpglory-dataexporter-panel/module.js.map @@ -1 +1 @@ -{"version":3,"file":"panels/corpglory-dataexporter-panel/module.js","mappings":";kLAAAA,EAAOC,QAAUC,oBCAjBF,EAAOC,QAAUE,4BCAjBH,EAAOC,QAAUG,OCCjBJ,EAAOC,QAAyB,iBAARI,KAAmBA,KAAKC,SAAWC,OAAOD,4BCDlEN,EAAOC,QAAUO,oBCAjBR,EAAOC,QAAUQ,oBCAjBT,EAAOC,QAAUS,gCCAjBV,EAAOC,QAAUU,oBCAjBX,EAAOC,QAAUW,ICCbC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaf,QAGrB,IAAID,EAASa,EAAyBE,GAAY,CAGjDd,QAAS,CAAC,GAOX,OAHAiB,EAAoBH,GAAUf,EAAQA,EAAOC,QAASa,GAG/Cd,EAAOC,OACf,CCrBAa,EAAoBK,EAAKnB,IACxB,IAAIoB,EAASpB,GAAUA,EAAOqB,WAC7B,IAAOrB,EAAiB,QACxB,IAAM,EAEP,OADAc,EAAoBQ,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdN,EAAoBQ,EAAI,CAACrB,EAASuB,KACjC,IAAI,IAAIC,KAAOD,EACXV,EAAoBY,EAAEF,EAAYC,KAASX,EAAoBY,EAAEzB,EAASwB,IAC5EE,OAAOC,eAAe3B,EAASwB,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDX,EAAoBY,EAAI,CAACK,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFlB,EAAoBsB,EAAKnC,IACH,oBAAXoC,QAA0BA,OAAOC,aAC1CX,OAAOC,eAAe3B,EAASoC,OAAOC,YAAa,CAAEC,MAAO,WAE7DZ,OAAOC,eAAe3B,EAAS,aAAc,CAAEsC,OAAO,GAAO,oCCDvD,IAAKC,EASAC,EAOAC,gCATX,SAPWF,GAAAA,EAAc,oBAAdA,EAAc,oBAAdA,EAAc,wBAAdA,EAAc,oBAAdA,EAAc,8BAAdA,EAAc,cAOzB,CAPWA,IAAAA,EAAc,KAczB,SALWC,GAAAA,EAAW,kBAAXA,EAAW,oCAAXA,EAAW,oCAAXA,EAAW,QAKtB,CALWA,IAAAA,EAAW,KAWtB,SAJWC,GAAAA,EAAY,sBAAZA,EAAY,oBAAZA,EAAY,cAIvB,CAJWA,IAAAA,EAAY,uBCZjB,SAASC,EAAgBC,GAC9B,IAAMC,EAAU,IAAIC,IAAIF,GAAKG,SAASC,MAAM,gBAC5C,GAAKH,EAGH,OAAOA,EAAQ,GAFf,MAAM,IAAII,MAAM,2BAAD,OAA4BL,GAI/C,CCfO,IAAMM,EACX,2UACWC,EACX,mcACWC,EACX,mQACWC,EACX,+uBCLa,SAASC,EAAKC,EAAIC,GAC/B,OAAO,WACL,OAAOD,EAAGE,MAAMD,EAASE,UAC3B,CACF,CCAA,MAAOC,SAAQ,GAAIhC,OAAOM,WACpB,eAAC2B,GAAkBjC,OAEnBkC,GAAUC,EAGbnC,OAAOoC,OAAO,MAHQC,IACrB,MAAMC,EAAM,EAAS9B,KAAK6B,GAC1B,OAAOF,EAAMG,KAASH,EAAMG,GAAOA,EAAIC,MAAM,GAAI,GAAGC,cAAc,GAFvD,IAACL,EAKhB,MAAMM,EAAcC,IAClBA,EAAOA,EAAKF,cACJH,GAAUH,EAAOG,KAAWK,GAGhCC,EAAaD,GAAQL,UAAgBA,IAAUK,GAS/C,QAACE,GAAWC,MASZC,EAAcH,EAAW,aAqB/B,MAAMI,EAAgBN,EAAW,eA2BjC,MAAMO,EAAWL,EAAW,UAQtBM,EAAaN,EAAW,YASxBO,EAAWP,EAAW,UAStBQ,EAAYd,GAAoB,OAAVA,GAAmC,iBAAVA,EAiB/Ce,EAAiBC,IACrB,GAAoB,WAAhBnB,EAAOmB,GACT,OAAO,EAGT,MAAM/C,EAAY2B,EAAeoB,GACjC,QAAsB,OAAd/C,GAAsBA,IAAcN,OAAOM,WAAkD,OAArCN,OAAOiC,eAAe3B,IAA0BI,OAAOC,eAAe0C,GAAU3C,OAAO4C,YAAYD,EAAI,EAUnKE,EAASd,EAAW,QASpBe,EAASf,EAAW,QASpBgB,EAAShB,EAAW,QASpBiB,EAAajB,EAAW,YAkCxBkB,EAAoBlB,EAAW,mBA2BrC,SAASmB,EAAQxD,EAAKwB,GAAI,WAACiC,GAAa,GAAS,CAAC,GAEhD,GAAIzD,QACF,OAGF,IAAI0D,EACAC,EAQJ,GALmB,iBAAR3D,IAETA,EAAM,CAACA,IAGLwC,EAAQxC,GAEV,IAAK0D,EAAI,EAAGC,EAAI3D,EAAI4D,OAAQF,EAAIC,EAAGD,IACjClC,EAAGpB,KAAK,KAAMJ,EAAI0D,GAAIA,EAAG1D,OAEtB,CAEL,MAAM6D,EAAOJ,EAAa7D,OAAOkE,oBAAoB9D,GAAOJ,OAAOiE,KAAK7D,GAClE+D,EAAMF,EAAKD,OACjB,IAAIlE,EAEJ,IAAKgE,EAAI,EAAGA,EAAIK,EAAKL,IACnBhE,EAAMmE,EAAKH,GACXlC,EAAGpB,KAAK,KAAMJ,EAAIN,GAAMA,EAAKM,EAEjC,CACF,CAEA,SAASgE,EAAQhE,EAAKN,GACpBA,EAAMA,EAAI0C,cACV,MAAMyB,EAAOjE,OAAOiE,KAAK7D,GACzB,IACIiE,EADAP,EAAIG,EAAKD,OAEb,KAAOF,KAAM,GAEX,GADAO,EAAOJ,EAAKH,GACRhE,IAAQuE,EAAK7B,cACf,OAAO6B,EAGX,OAAO,IACT,CAEA,MAAMC,EAA0B,oBAAT5F,KAAyC,oBAAX6F,YAAyB,EAAOA,OAAS7F,KAExF8F,EAAoBC,IAAa3B,EAAY2B,IAAYA,IAAYH,EAoD3E,MA8HMI,GAAgBC,EAKG,oBAAfC,YAA8B3C,EAAe2C,YAH9CvC,GACEsC,GAActC,aAAiBsC,GAHrB,IAACA,EAetB,MAiCME,EAAapC,EAAW,mBAWxB,EAAiB,GAAGlC,oBAAoB,CAACH,EAAKC,IAASE,EAAeC,KAAKJ,EAAKC,GAA/D,CAAsEL,OAAOM,WAS9FwE,EAAWrC,EAAW,UAEtBsC,EAAoB,CAAC3E,EAAK4E,KAC9B,MAAMC,EAAcjF,OAAOkF,0BAA0B9E,GAC/C+E,EAAqB,CAAC,EAE5BvB,EAAQqB,GAAa,CAACG,EAAYC,MACO,IAAnCL,EAAQI,EAAYC,EAAMjF,KAC5B+E,EAAmBE,GAAQD,EAC7B,IAGFpF,OAAOsF,iBAAiBlF,EAAK+E,EAAmB,EAsFlD,GACEvC,UACAG,gBACAwC,SAtkBF,SAAkBlC,GAChB,OAAe,OAARA,IAAiBP,EAAYO,IAA4B,OAApBA,EAAImC,cAAyB1C,EAAYO,EAAImC,cACpFvC,EAAWI,EAAImC,YAAYD,WAAalC,EAAImC,YAAYD,SAASlC,EACxE,EAokBEoC,WAxbkBpD,IAClB,MAAMqD,EAAU,oBAChB,OAAOrD,IACgB,mBAAb1D,UAA2B0D,aAAiB1D,UACpD,EAAS6B,KAAK6B,KAAWqD,GACxBzC,EAAWZ,EAAML,WAAaK,EAAML,aAAe0D,EACrD,EAmbDC,kBAljBF,SAA2BtC,GACzB,IAAIuC,EAMJ,OAJEA,EAD0B,oBAAhBC,aAAiCA,YAAkB,OACpDA,YAAYC,OAAOzC,GAEnB,GAAUA,EAAU,QAAMN,EAAcM,EAAI0C,QAEhDH,CACT,EA2iBE5C,WACAE,WACA8C,UAlgBgB3D,IAAmB,IAAVA,IAA4B,IAAVA,EAmgB3Cc,WACAC,gBACAN,cACAS,SACAC,SACAC,SACAqB,WACA7B,aACAgD,SA9cgB5C,GAAQF,EAASE,IAAQJ,EAAWI,EAAI6C,MA+cxDvC,oBACAe,eACAhB,aACAE,UACAuC,MA1VF,SAASA,IACP,MAAM,SAACC,GAAY5B,EAAiB6B,OAASA,MAAQ,CAAC,EAChDT,EAAS,CAAC,EACVU,EAAc,CAACjD,EAAKvD,KACxB,MAAMyG,EAAYH,GAAYhC,EAAQwB,EAAQ9F,IAAQA,EAClDsD,EAAcwC,EAAOW,KAAenD,EAAcC,GACpDuC,EAAOW,GAAaJ,EAAMP,EAAOW,GAAYlD,GACpCD,EAAcC,GACvBuC,EAAOW,GAAaJ,EAAM,CAAC,EAAG9C,GACrBT,EAAQS,GACjBuC,EAAOW,GAAalD,EAAId,QAExBqD,EAAOW,GAAalD,CACtB,EAGF,IAAK,IAAIS,EAAI,EAAGC,EAAIhC,UAAUiC,OAAQF,EAAIC,EAAGD,IAC3C/B,UAAU+B,IAAMF,EAAQ7B,UAAU+B,GAAIwC,GAExC,OAAOV,CACT,EAuUEY,OA3Ta,CAAC5G,EAAG6G,EAAG5E,GAAUgC,cAAa,CAAC,KAC5CD,EAAQ6C,GAAG,CAACpD,EAAKvD,KACX+B,GAAWoB,EAAWI,GACxBzD,EAAEE,GAAO6B,EAAK0B,EAAKxB,GAEnBjC,EAAEE,GAAOuD,CACX,GACC,CAACQ,eACGjE,GAoTP8G,KAnbYpE,GAAQA,EAAIoE,KACxBpE,EAAIoE,OAASpE,EAAIqE,QAAQ,qCAAsC,IAmb/DC,SA3SgBC,IACc,QAA1BA,EAAQC,WAAW,KACrBD,EAAUA,EAAQtE,MAAM,IAEnBsE,GAwSPE,SA5Re,CAACvB,EAAawB,EAAkBC,EAAOhC,KACtDO,EAAYlF,UAAYN,OAAOoC,OAAO4E,EAAiB1G,UAAW2E,GAClEO,EAAYlF,UAAUkF,YAAcA,EACpCxF,OAAOC,eAAeuF,EAAa,QAAS,CAC1C5E,MAAOoG,EAAiB1G,YAE1B2G,GAASjH,OAAOkH,OAAO1B,EAAYlF,UAAW2G,EAAM,EAuRpDE,aA3QmB,CAACC,EAAWC,EAASC,EAAQC,KAChD,IAAIN,EACAnD,EACAzD,EACJ,MAAMmH,EAAS,CAAC,EAIhB,GAFAH,EAAUA,GAAW,CAAC,EAEL,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IAFAJ,EAAQjH,OAAOkE,oBAAoBkD,GACnCtD,EAAImD,EAAMjD,OACHF,KAAM,GACXzD,EAAO4G,EAAMnD,GACPyD,IAAcA,EAAWlH,EAAM+G,EAAWC,IAAcG,EAAOnH,KACnEgH,EAAQhH,GAAQ+G,EAAU/G,GAC1BmH,EAAOnH,IAAQ,GAGnB+G,GAAuB,IAAXE,GAAoBrF,EAAemF,EACjD,OAASA,KAAeE,GAAUA,EAAOF,EAAWC,KAAaD,IAAcpH,OAAOM,WAEtF,OAAO+G,CAAO,EAqPdnF,SACAO,aACAgF,SA3Oe,CAACnF,EAAKoF,EAAcC,KACnCrF,EAAMsF,OAAOtF,SACIhD,IAAbqI,GAA0BA,EAAWrF,EAAI0B,UAC3C2D,EAAWrF,EAAI0B,QAEjB2D,GAAYD,EAAa1D,OACzB,MAAM6D,EAAYvF,EAAIwF,QAAQJ,EAAcC,GAC5C,OAAsB,IAAfE,GAAoBA,IAAcF,CAAQ,EAqOjDI,QA1Ne1F,IACf,IAAKA,EAAO,OAAO,KACnB,GAAIO,EAAQP,GAAQ,OAAOA,EAC3B,IAAIyB,EAAIzB,EAAM2B,OACd,IAAKd,EAASY,GAAI,OAAO,KACzB,MAAMkE,EAAM,IAAInF,MAAMiB,GACtB,KAAOA,KAAM,GACXkE,EAAIlE,GAAKzB,EAAMyB,GAEjB,OAAOkE,CAAG,EAkNVC,aAvLmB,CAAC7H,EAAKwB,KACzB,MAEM0B,GAFYlD,GAAOA,EAAIM,OAAO4C,WAET9C,KAAKJ,GAEhC,IAAIwF,EAEJ,MAAQA,EAAStC,EAAS4E,UAAYtC,EAAOuC,MAAM,CACjD,MAAMC,EAAOxC,EAAOhF,MACpBgB,EAAGpB,KAAKJ,EAAKgI,EAAK,GAAIA,EAAK,GAC7B,GA8KAC,SAnKe,CAACC,EAAQhG,KACxB,IAAIpB,EACJ,MAAM8G,EAAM,GAEZ,KAAwC,QAAhC9G,EAAUoH,EAAOC,KAAKjG,KAC5B0F,EAAIQ,KAAKtH,GAGX,OAAO8G,CAAG,EA4JVnD,aACAtE,eAAc,EACdkI,WAAY,EACZ1D,oBACA2D,cApHqBtI,IACrB2E,EAAkB3E,GAAK,CAACgF,EAAYC,KAElC,GAAIpC,EAAW7C,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAU0H,QAAQzC,GAC/D,OAAO,EAGT,MAAMzE,EAAQR,EAAIiF,GAEbpC,EAAWrC,KAEhBwE,EAAWlF,YAAa,EAEpB,aAAckF,EAChBA,EAAWuD,UAAW,EAInBvD,EAAWwD,MACdxD,EAAWwD,IAAM,KACf,MAAMtH,MAAM,qCAAwC+D,EAAO,IAAK,GAEpE,GACA,EA8FFwD,YA3FkB,CAACC,EAAeC,KAClC,MAAM3I,EAAM,CAAC,EAEP4I,EAAUhB,IACdA,EAAIpE,SAAQhD,IACVR,EAAIQ,IAAS,CAAI,GACjB,EAKJ,OAFAgC,EAAQkG,GAAiBE,EAAOF,GAAiBE,EAAOpB,OAAOkB,GAAeG,MAAMF,IAE7E3I,CAAG,EAiFV8I,YA5JkB5G,GACXA,EAAIE,cAAcmE,QAAQ,yBAC/B,SAAkBwC,EAAGC,EAAIC,GACvB,OAAOD,EAAGE,cAAgBD,CAC5B,IAyJFE,KA/EW,OAgFXC,eA9EqB,CAAC5I,EAAO6I,KAC7B7I,GAASA,EACF8I,OAAOC,SAAS/I,GAASA,EAAQ6I,GA6ExCrF,UACAG,OAAQD,EACRE,mBACAoF,aA7EoBxJ,IACpB,MAAMyJ,EAAQ,IAAIhH,MAAM,IAElBiH,EAAQ,CAACC,EAAQjG,KAErB,GAAIX,EAAS4G,GAAS,CACpB,GAAIF,EAAM/B,QAAQiC,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxBF,EAAM/F,GAAKiG,EACX,MAAMC,EAASpH,EAAQmH,GAAU,GAAK,CAAC,EASvC,OAPAnG,EAAQmG,GAAQ,CAACnJ,EAAOd,KACtB,MAAMmK,EAAeH,EAAMlJ,EAAOkD,EAAI,IACrChB,EAAYmH,KAAkBD,EAAOlK,GAAOmK,EAAa,IAG5DJ,EAAM/F,QAAKxE,EAEJ0K,CACT,CACF,CAEA,OAAOD,CAAM,EAGf,OAAOD,EAAM1J,EAAK,EAAE,GC/lBtB,SAAS8J,EAAWC,EAASC,EAAMC,EAAQC,EAASC,GAClDjJ,MAAMd,KAAK6F,MAEP/E,MAAMkJ,kBACRlJ,MAAMkJ,kBAAkBnE,KAAMA,KAAKb,aAEnCa,KAAKwD,OAAQ,IAAKvI,OAASuI,MAG7BxD,KAAK8D,QAAUA,EACf9D,KAAKhB,KAAO,aACZ+E,IAAS/D,KAAK+D,KAAOA,GACrBC,IAAWhE,KAAKgE,OAASA,GACzBC,IAAYjE,KAAKiE,QAAUA,GAC3BC,IAAalE,KAAKkE,SAAWA,EAC/B,CAEAE,EAAM1D,SAASmD,EAAY5I,MAAO,CAChCoJ,OAAQ,WACN,MAAO,CAELP,QAAS9D,KAAK8D,QACd9E,KAAMgB,KAAKhB,KAEXsF,YAAatE,KAAKsE,YAClBC,OAAQvE,KAAKuE,OAEbC,SAAUxE,KAAKwE,SACfC,WAAYzE,KAAKyE,WACjBC,aAAc1E,KAAK0E,aACnBlB,MAAOxD,KAAKwD,MAEZQ,OAAQI,EAAMb,aAAavD,KAAKgE,QAChCD,KAAM/D,KAAK+D,KACXY,OAAQ3E,KAAKkE,UAAYlE,KAAKkE,SAASS,OAAS3E,KAAKkE,SAASS,OAAS,KAE3E,IAGF,MAAM,EAAYd,EAAW5J,UACvB2E,EAAc,CAAC,EAErB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEArB,SAAQwG,IACRnF,EAAYmF,GAAQ,CAACxJ,MAAOwJ,EAAK,IAGnCpK,OAAOsF,iBAAiB4E,EAAYjF,GACpCjF,OAAOC,eAAe,EAAW,eAAgB,CAACW,OAAO,IAGzDsJ,EAAWe,KAAO,CAACC,EAAOd,EAAMC,EAAQC,EAASC,EAAUY,KACzD,MAAMC,EAAapL,OAAOoC,OAAO,GAgBjC,OAdAqI,EAAMtD,aAAa+D,EAAOE,GAAY,SAAgBhL,GACpD,OAAOA,IAAQkB,MAAMhB,SACvB,IAAGD,GACe,iBAATA,IAGT6J,EAAW1J,KAAK4K,EAAYF,EAAMf,QAASC,EAAMC,EAAQC,EAASC,GAElEa,EAAWC,MAAQH,EAEnBE,EAAW/F,KAAO6F,EAAM7F,KAExB8F,GAAenL,OAAOkH,OAAOkE,EAAYD,GAElCC,CAAU,EAGnB,UClGA,cCYA,SAASE,EAAYjJ,GACnB,OAAOoI,EAAMrH,cAAcf,IAAUoI,EAAM7H,QAAQP,EACrD,CASA,SAASkJ,EAAezL,GACtB,OAAO2K,EAAMhD,SAAS3H,EAAK,MAAQA,EAAIyC,MAAM,GAAI,GAAKzC,CACxD,CAWA,SAAS0L,EAAUC,EAAM3L,EAAK4L,GAC5B,OAAKD,EACEA,EAAKE,OAAO7L,GAAK8L,KAAI,SAAcC,EAAO/H,GAG/C,OADA+H,EAAQN,EAAeM,IACfH,GAAQ5H,EAAI,IAAM+H,EAAQ,IAAMA,CAC1C,IAAGC,KAAKJ,EAAO,IAAM,IALH5L,CAMpB,CAaA,MAAMiM,EAAatB,EAAMtD,aAAasD,EAAO,CAAC,EAAG,MAAM,SAAgBpK,GACrE,MAAO,WAAW2L,KAAK3L,EACzB,IAyKA,QArIA,SAAoBD,EAAK6L,EAAUC,GACjC,IAAKzB,EAAMtH,SAAS/C,GAClB,MAAM,IAAI+L,UAAU,4BAItBF,EAAWA,GAAY,IAAK,GAAetN,UAY3C,MAAMyN,GATNF,EAAUzB,EAAMtD,aAAa+E,EAAS,CACpCE,YAAY,EACZV,MAAM,EACNW,SAAS,IACR,GAAO,SAAiBC,EAAQvC,GAEjC,OAAQU,EAAM3H,YAAYiH,EAAOuC,GACnC,KAE2BF,WAErBG,EAAUL,EAAQK,SAAWC,EAC7Bd,EAAOQ,EAAQR,KACfW,EAAUH,EAAQG,QAElBI,GADQP,EAAQQ,MAAwB,oBAATA,MAAwBA,SAlDtCrK,EAmDkB4J,IAlDzBxB,EAAMxH,WAAWZ,EAAMsK,SAAyC,aAA9BtK,EAAM3B,OAAOC,cAA+B0B,EAAM3B,OAAO4C,WAD7G,IAAyBjB,EAqDvB,IAAKoI,EAAMxH,WAAWsJ,GACpB,MAAM,IAAIJ,UAAU,8BAGtB,SAASS,EAAahM,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAI6J,EAAMlH,OAAO3C,GACf,OAAOA,EAAMiM,cAGf,IAAKJ,GAAWhC,EAAMhH,OAAO7C,GAC3B,MAAM,IAAI,EAAW,gDAGvB,OAAI6J,EAAM1H,cAAcnC,IAAU6J,EAAM/F,aAAa9D,GAC5C6L,GAA2B,mBAATC,KAAsB,IAAIA,KAAK,CAAC9L,IAAUkM,OAAO7B,KAAKrK,GAG1EA,CACT,CAYA,SAAS4L,EAAe5L,EAAOd,EAAK2L,GAClC,IAAIzD,EAAMpH,EAEV,GAAIA,IAAU6K,GAAyB,iBAAV7K,EAC3B,GAAI6J,EAAMhD,SAAS3H,EAAK,MAEtBA,EAAMsM,EAAatM,EAAMA,EAAIyC,MAAM,GAAI,GAEvC3B,EAAQmM,KAAKC,UAAUpM,QAClB,GACJ6J,EAAM7H,QAAQhC,IA9GvB,SAAqBoH,GACnB,OAAOyC,EAAM7H,QAAQoF,KAASA,EAAIiF,KAAK3B,EACzC,CA4GiC4B,CAAYtM,IACpC6J,EAAM/G,WAAW9C,IAAU6J,EAAMhD,SAAS3H,EAAK,QAAUkI,EAAMyC,EAAM1C,QAAQnH,IAY9E,OATAd,EAAMyL,EAAezL,GAErBkI,EAAIpE,SAAQ,SAAcuJ,EAAIC,IAC1B3C,EAAM3H,YAAYqK,IAAc,OAAPA,GAAgBlB,EAASU,QAEtC,IAAZN,EAAmBb,EAAU,CAAC1L,GAAMsN,EAAO1B,GAAqB,OAAZW,EAAmBvM,EAAMA,EAAM,KACnF8M,EAAaO,GAEjB,KACO,EAIX,QAAI7B,EAAY1K,KAIhBqL,EAASU,OAAOnB,EAAUC,EAAM3L,EAAK4L,GAAOkB,EAAahM,KAElD,EACT,CAEA,MAAMiJ,EAAQ,GAERwD,EAAiBrN,OAAOkH,OAAO6E,EAAY,CAC/CS,iBACAI,eACAtB,gBAyBF,IAAKb,EAAMtH,SAAS/C,GAClB,MAAM,IAAI+L,UAAU,0BAKtB,OA5BA,SAASmB,EAAM1M,EAAO6K,GACpB,IAAIhB,EAAM3H,YAAYlC,GAAtB,CAEA,IAA8B,IAA1BiJ,EAAM/B,QAAQlH,GAChB,MAAMU,MAAM,kCAAoCmK,EAAKK,KAAK,MAG5DjC,EAAMrB,KAAK5H,GAEX6J,EAAM7G,QAAQhD,GAAO,SAAcuM,EAAIrN,IAKtB,OAJE2K,EAAM3H,YAAYqK,IAAc,OAAPA,IAAgBZ,EAAQ/L,KAChEyL,EAAUkB,EAAI1C,EAAMzH,SAASlD,GAAOA,EAAI4G,OAAS5G,EAAK2L,EAAM4B,KAI5DC,EAAMH,EAAI1B,EAAOA,EAAKE,OAAO7L,GAAO,CAACA,GAEzC,IAEA+J,EAAM0D,KAlB8B,CAmBtC,CAMAD,CAAMlN,GAEC6L,CACT,ECtNA,SAASuB,EAAOlL,GACd,MAAMmL,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAOC,mBAAmBpL,GAAKqE,QAAQ,oBAAoB,SAAkBtF,GAC3E,OAAOoM,EAAQpM,EACjB,GACF,CAUA,SAASsM,EAAqBC,EAAQ1B,GACpC7F,KAAKwH,OAAS,GAEdD,GAAU,EAAWA,EAAQvH,KAAM6F,EACrC,CAEA,MAAM,GAAYyB,EAAqBrN,UAEvC,GAAUqM,OAAS,SAAgBtH,EAAMzE,GACvCyF,KAAKwH,OAAOrF,KAAK,CAACnD,EAAMzE,GAC1B,EAEA,GAAUoB,SAAW,SAAkB8L,GACrC,MAAMC,EAAUD,EAAU,SAASlN,GACjC,OAAOkN,EAAQtN,KAAK6F,KAAMzF,EAAO4M,EACnC,EAAIA,EAEJ,OAAOnH,KAAKwH,OAAOjC,KAAI,SAAcxD,GACnC,OAAO2F,EAAQ3F,EAAK,IAAM,IAAM2F,EAAQ3F,EAAK,GAC/C,GAAG,IAAI0D,KAAK,IACd,EAEA,WC5CA,SAAS,GAAOzI,GACd,OAAOqK,mBAAmBrK,GACxBsD,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CAWe,SAASqH,GAAS/M,EAAK2M,EAAQ1B,GAE5C,IAAK0B,EACH,OAAO3M,EAGT,MAAM8M,EAAU7B,GAAWA,EAAQsB,QAAU,GAEvCS,EAAc/B,GAAWA,EAAQgC,UAEvC,IAAIC,EAUJ,GAPEA,EADEF,EACiBA,EAAYL,EAAQ1B,GAEpBzB,EAAM9G,kBAAkBiK,GACzCA,EAAO5L,WACP,IAAI,GAAqB4L,EAAQ1B,GAASlK,SAAS+L,GAGnDI,EAAkB,CACpB,MAAMC,EAAgBnN,EAAI6G,QAAQ,MAEX,IAAnBsG,IACFnN,EAAMA,EAAIsB,MAAM,EAAG6L,IAErBnN,KAA8B,IAAtBA,EAAI6G,QAAQ,KAAc,IAAM,KAAOqG,CACjD,CAEA,OAAOlN,CACT,CCQA,SAlEA,MACEuE,cACEa,KAAKgI,SAAW,EAClB,CAUAC,IAAIC,EAAWC,EAAUtC,GAOvB,OANA7F,KAAKgI,SAAS7F,KAAK,CACjB+F,YACAC,WACAC,cAAavC,GAAUA,EAAQuC,YAC/BC,QAASxC,EAAUA,EAAQwC,QAAU,OAEhCrI,KAAKgI,SAASrK,OAAS,CAChC,CASA2K,MAAMC,GACAvI,KAAKgI,SAASO,KAChBvI,KAAKgI,SAASO,GAAM,KAExB,CAOAC,QACMxI,KAAKgI,WACPhI,KAAKgI,SAAW,GAEpB,CAYAzK,QAAQhC,GACN6I,EAAM7G,QAAQyC,KAAKgI,UAAU,SAAwBS,GACzC,OAANA,GACFlN,EAAGkN,EAEP,GACF,GCjEF,IACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCFvB,GAA0C,oBAApBC,gBAAkCA,gBAAkB,GCD1E,YCkBMC,GAAuB,MAC3B,IAAIC,EACJ,OAAyB,oBAAdC,WACyB,iBAAjCD,EAAUC,UAAUD,UACT,iBAAZA,GACY,OAAZA,KAKuB,oBAAXxQ,QAA8C,oBAAb0Q,SAChD,EAX4B,GAsBtBC,GAE0B,oBAAtBC,mBACP9Q,gBAAgB8Q,mBACc,mBAAvB9Q,KAAK+Q,cAKhB,IACEC,WAAW,EACXC,QAAS,CACPT,gBAAe,GACfvQ,SAAQ,GACR+N,MAEFyC,wBACAI,iCACAK,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SC+BtD,SA3CA,SAAwB3D,GACtB,SAAS4D,EAAUpE,EAAM7K,EAAOoJ,EAAQoD,GACtC,IAAI/H,EAAOoG,EAAK2B,KAChB,MAAM0C,EAAepG,OAAOC,UAAUtE,GAChC0K,EAAS3C,GAAS3B,EAAKzH,OAG7B,GAFAqB,GAAQA,GAAQoF,EAAM7H,QAAQoH,GAAUA,EAAOhG,OAASqB,EAEpD0K,EAOF,OANItF,EAAMhC,WAAWuB,EAAQ3E,GAC3B2E,EAAO3E,GAAQ,CAAC2E,EAAO3E,GAAOzE,GAE9BoJ,EAAO3E,GAAQzE,GAGTkP,EAGL9F,EAAO3E,IAAUoF,EAAMtH,SAAS6G,EAAO3E,MAC1C2E,EAAO3E,GAAQ,IASjB,OANewK,EAAUpE,EAAM7K,EAAOoJ,EAAO3E,GAAO+H,IAEtC3C,EAAM7H,QAAQoH,EAAO3E,MACjC2E,EAAO3E,GA5Cb,SAAuB2C,GACrB,MAAM5H,EAAM,CAAC,EACP6D,EAAOjE,OAAOiE,KAAK+D,GACzB,IAAIlE,EACJ,MAAMK,EAAMF,EAAKD,OACjB,IAAIlE,EACJ,IAAKgE,EAAI,EAAGA,EAAIK,EAAKL,IACnBhE,EAAMmE,EAAKH,GACX1D,EAAIN,GAAOkI,EAAIlI,GAEjB,OAAOM,CACT,CAiCqB4P,CAAchG,EAAO3E,MAG9ByK,CACV,CAEA,GAAIrF,EAAMhF,WAAWwG,IAAaxB,EAAMxH,WAAWgJ,EAASgE,SAAU,CACpE,MAAM7P,EAAM,CAAC,EAMb,OAJAqK,EAAMxC,aAAagE,GAAU,CAAC5G,EAAMzE,KAClCiP,EAvEN,SAAuBxK,GAKrB,OAAOoF,EAAMpC,SAAS,gBAAiBhD,GAAMuG,KAAIvK,GAC3B,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,IAEtD,CA+DgB6O,CAAc7K,GAAOzE,EAAOR,EAAK,EAAE,IAGxCA,CACT,CAEA,OAAO,IACT,EC/EM+P,GAAuB,CAC3B,oBAAgB7Q,GA4BlB,MAAM8Q,GAAW,CAEfC,aAAc,GAEdC,QAAS,CAAC,MAAO,QAEjBC,iBAAkB,CAAC,SAA0BC,EAAMC,GACjD,MAAMC,EAAcD,EAAQE,kBAAoB,GAC1CC,EAAqBF,EAAY5I,QAAQ,qBAAuB,EAChE+I,EAAkBpG,EAAMtH,SAASqN,GAEnCK,GAAmBpG,EAAM5F,WAAW2L,KACtCA,EAAO,IAAI7R,SAAS6R,IAKtB,GAFmB/F,EAAMhF,WAAW+K,GAGlC,OAAKI,GAGEA,EAAqB7D,KAAKC,UAAU,GAAewD,IAFjDA,EAKX,GAAI/F,EAAM1H,cAAcyN,IACtB/F,EAAMlF,SAASiL,IACf/F,EAAMxE,SAASuK,IACf/F,EAAMjH,OAAOgN,IACb/F,EAAMhH,OAAO+M,GAEb,OAAOA,EAET,GAAI/F,EAAM9E,kBAAkB6K,GAC1B,OAAOA,EAAKzK,OAEd,GAAI0E,EAAM9G,kBAAkB6M,GAE1B,OADAC,EAAQK,eAAe,mDAAmD,GACnEN,EAAKxO,WAGd,IAAI0B,EAEJ,GAAImN,EAAiB,CACnB,GAAIH,EAAY5I,QAAQ,sCAAwC,EAC9D,OC7EO,SAA0B0I,EAAMtE,GAC7C,OAAO,EAAWsE,EAAM,IAAI,2BAAoCxQ,OAAOkH,OAAO,CAC5EqF,QAAS,SAAS3L,EAAOd,EAAK2L,EAAMsF,GAClC,OAAI,WAAmBtG,EAAMlF,SAAS3E,IACpCyF,KAAKsG,OAAO7M,EAAKc,EAAMoB,SAAS,YACzB,GAGF+O,EAAQvE,eAAe1K,MAAMuE,KAAMtE,UAC5C,GACCmK,GACL,CDkEe8E,CAAiBR,EAAMnK,KAAK4K,gBAAgBjP,WAGrD,IAAK0B,EAAa+G,EAAM/G,WAAW8M,KAAUE,EAAY5I,QAAQ,wBAA0B,EAAG,CAC5F,MAAMoJ,EAAY7K,KAAK8K,KAAO9K,KAAK8K,IAAIxS,SAEvC,OAAO,EACL+E,EAAa,CAAC,UAAW8M,GAAQA,EACjCU,GAAa,IAAIA,EACjB7K,KAAK4K,eAET,CACF,CAEA,OAAIJ,GAAmBD,GACrBH,EAAQK,eAAe,oBAAoB,GA1EjD,SAAyBM,EAAUC,EAAQvD,GACzC,GAAIrD,EAAMzH,SAASoO,GACjB,IAEE,OADCC,GAAUtE,KAAKuE,OAAOF,GAChB3G,EAAM/D,KAAK0K,EAKpB,CAJE,MAAOG,GACP,GAAe,gBAAXA,EAAElM,KACJ,MAAMkM,CAEV,CAGF,OAAQzD,GAAWf,KAAKC,WAAWoE,EACrC,CA8DaI,CAAgBhB,IAGlBA,CACT,GAEAiB,kBAAmB,CAAC,SAA2BjB,GAC7C,MAAMH,EAAehK,KAAKgK,cAAgBD,GAASC,aAC7CrB,EAAoBqB,GAAgBA,EAAarB,kBACjD0C,EAAsC,SAAtBrL,KAAKsL,aAE3B,GAAInB,GAAQ/F,EAAMzH,SAASwN,KAAWxB,IAAsB3I,KAAKsL,cAAiBD,GAAgB,CAChG,MACME,IADoBvB,GAAgBA,EAAatB,oBACP2C,EAEhD,IACE,OAAO3E,KAAKuE,MAAMd,EAQpB,CAPE,MAAOe,GACP,GAAIK,EAAmB,CACrB,GAAe,gBAAXL,EAAElM,KACJ,MAAM,OAAgBkM,EAAG,mBAA6BlL,KAAM,KAAMA,KAAKkE,UAEzE,MAAMgH,CACR,CACF,CACF,CAEA,OAAOf,CACT,GAMAqB,QAAS,EAETC,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhBd,IAAK,CACHxS,SAAU,oBACV+N,KAAM,iBAGRwF,eAAgB,SAAwBlH,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEAyF,QAAS,CACP0B,OAAQ,CACN,OAAU,uCAKhB1H,EAAM7G,QAAQ,CAAC,SAAU,MAAO,SAAS,SAA6BwO,GACpEhC,GAASK,QAAQ2B,GAAU,CAAC,CAC9B,IAEA3H,EAAM7G,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BwO,GACrEhC,GAASK,QAAQ2B,GAAU3H,EAAMtE,MAAMgK,GACzC,IAEA,YE/JMkC,GAAoB5H,EAAM5B,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCLtByJ,GAAa5R,OAAO,aAE1B,SAAS6R,GAAgBC,GACvB,OAAOA,GAAU5K,OAAO4K,GAAQ9L,OAAOlE,aACzC,CAEA,SAASiQ,GAAe7R,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGF6J,EAAM7H,QAAQhC,GAASA,EAAMgL,IAAI6G,IAAkB7K,OAAOhH,EACnE,CAkBA,SAAS8R,GAAiBjO,EAAS7D,EAAO4R,EAAQlL,GAChD,OAAImD,EAAMxH,WAAWqE,GACZA,EAAO9G,KAAK6F,KAAMzF,EAAO4R,GAG7B/H,EAAMzH,SAASpC,GAEhB6J,EAAMzH,SAASsE,IACiB,IAA3B1G,EAAMkH,QAAQR,GAGnBmD,EAAM3F,SAASwC,GACVA,EAAO0E,KAAKpL,QADrB,OANA,CASF,CAsBA,MAAM+R,GACJnN,YAAYiL,GACVA,GAAWpK,KAAKuC,IAAI6H,EACtB,CAEA7H,IAAI4J,EAAQI,EAAgBC,GAC1B,MAAMnU,EAAO2H,KAEb,SAASyM,EAAUC,EAAQC,EAASC,GAClC,MAAMC,EAAUX,GAAgBS,GAEhC,IAAKE,EACH,MAAM,IAAI5R,MAAM,0CAGlB,MAAMxB,EAAM2K,EAAMrG,QAAQ1F,EAAMwU,KAE5BpT,QAAqBR,IAAdZ,EAAKoB,KAAmC,IAAbmT,QAAmC3T,IAAb2T,IAAwC,IAAdvU,EAAKoB,MACzFpB,EAAKoB,GAAOkT,GAAWP,GAAeM,GAE1C,CAEA,MAAMI,EAAa,CAAC1C,EAASwC,IAC3BxI,EAAM7G,QAAQ6M,GAAS,CAACsC,EAAQC,IAAYF,EAAUC,EAAQC,EAASC,KAUzE,OARIxI,EAAMrH,cAAcoP,IAAWA,aAAkBnM,KAAKb,YACxD2N,EAAWX,EAAQI,GACXnI,EAAMzH,SAASwP,KAAYA,EAASA,EAAO9L,UAlEhD,gBAAgBsF,KAkE8DwG,EAlErD9L,QAmE5ByM,EDxEN,CAAeC,IACb,MAAMC,EAAS,CAAC,EAChB,IAAIvT,EACAuD,EACAS,EAsBJ,OApBAsP,GAAcA,EAAWnK,MAAM,MAAMrF,SAAQ,SAAgB0P,GAC3DxP,EAAIwP,EAAKxL,QAAQ,KACjBhI,EAAMwT,EAAKC,UAAU,EAAGzP,GAAG4C,OAAOlE,cAClCa,EAAMiQ,EAAKC,UAAUzP,EAAI,GAAG4C,QAEvB5G,GAAQuT,EAAOvT,IAAQuS,GAAkBvS,KAIlC,eAARA,EACEuT,EAAOvT,GACTuT,EAAOvT,GAAK0I,KAAKnF,GAEjBgQ,EAAOvT,GAAO,CAACuD,GAGjBgQ,EAAOvT,GAAOuT,EAAOvT,GAAOuT,EAAOvT,GAAO,KAAOuD,EAAMA,EAE3D,IAEOgQ,CACR,EC6CgBG,CAAahB,GAASI,GAEvB,MAAVJ,GAAkBM,EAAUF,EAAgBJ,EAAQK,GAG/CxM,IACT,CAEAlG,IAAIqS,EAAQnB,GAGV,GAFAmB,EAASD,GAAgBC,GAEb,CACV,MAAM1S,EAAM2K,EAAMrG,QAAQiC,KAAMmM,GAEhC,GAAI1S,EAAK,CACP,MAAMc,EAAQyF,KAAKvG,GAEnB,IAAKuR,EACH,OAAOzQ,EAGT,IAAe,IAAXyQ,EACF,OAtGV,SAAqB/O,GACnB,MAAMmR,EAASzT,OAAOoC,OAAO,MACvBsR,EAAW,mCACjB,IAAIrS,EAEJ,KAAQA,EAAQqS,EAASnL,KAAKjG,IAC5BmR,EAAOpS,EAAM,IAAMA,EAAM,GAG3B,OAAOoS,CACT,CA4FiBE,CAAY/S,GAGrB,GAAI6J,EAAMxH,WAAWoO,GACnB,OAAOA,EAAO7Q,KAAK6F,KAAMzF,EAAOd,GAGlC,GAAI2K,EAAM3F,SAASuM,GACjB,OAAOA,EAAO9I,KAAK3H,GAGrB,MAAM,IAAIuL,UAAU,yCACtB,CACF,CACF,CAEAyH,IAAIpB,EAAQqB,GAGV,GAFArB,EAASD,GAAgBC,GAEb,CACV,MAAM1S,EAAM2K,EAAMrG,QAAQiC,KAAMmM,GAEhC,SAAU1S,GAAS+T,IAAWnB,GAAiBrM,EAAMA,KAAKvG,GAAMA,EAAK+T,GACvE,CAEA,OAAO,CACT,CAEAC,OAAOtB,EAAQqB,GACb,MAAMnV,EAAO2H,KACb,IAAI0N,GAAU,EAEd,SAASC,EAAahB,GAGpB,GAFAA,EAAUT,GAAgBS,GAEb,CACX,MAAMlT,EAAM2K,EAAMrG,QAAQ1F,EAAMsU,IAE5BlT,GAAS+T,IAAWnB,GAAiBhU,EAAMA,EAAKoB,GAAMA,EAAK+T,YACtDnV,EAAKoB,GAEZiU,GAAU,EAEd,CACF,CAQA,OANItJ,EAAM7H,QAAQ4P,GAChBA,EAAO5O,QAAQoQ,GAEfA,EAAaxB,GAGRuB,CACT,CAEAlF,QACE,OAAO7O,OAAOiE,KAAKoC,MAAMzC,QAAQyC,KAAKyN,OAAOnS,KAAK0E,MACpD,CAEA4N,UAAUC,GACR,MAAMxV,EAAO2H,KACPoK,EAAU,CAAC,EAsBjB,OApBAhG,EAAM7G,QAAQyC,MAAM,CAACzF,EAAO4R,KAC1B,MAAM1S,EAAM2K,EAAMrG,QAAQqM,EAAS+B,GAEnC,GAAI1S,EAGF,OAFApB,EAAKoB,GAAO2S,GAAe7R,eACpBlC,EAAK8T,GAId,MAAM2B,EAAaD,EA9IzB,SAAsB1B,GACpB,OAAOA,EAAO9L,OACXlE,cAAcmE,QAAQ,mBAAmB,CAACyN,EAAGC,EAAM/R,IAC3C+R,EAAK/K,cAAgBhH,GAElC,CAyIkCgS,CAAa9B,GAAU5K,OAAO4K,GAAQ9L,OAE9DyN,IAAe3B,UACV9T,EAAK8T,GAGd9T,EAAKyV,GAAc1B,GAAe7R,GAElC6P,EAAQ0D,IAAc,CAAI,IAGrB9N,IACT,CAEAsF,UAAU4I,GACR,OAAOlO,KAAKb,YAAYmG,OAAOtF,QAASkO,EAC1C,CAEA7J,OAAO8J,GACL,MAAMpU,EAAMJ,OAAOoC,OAAO,MAM1B,OAJAqI,EAAM7G,QAAQyC,MAAM,CAACzF,EAAO4R,KACjB,MAAT5R,IAA2B,IAAVA,IAAoBR,EAAIoS,GAAUgC,GAAa/J,EAAM7H,QAAQhC,GAASA,EAAMkL,KAAK,MAAQlL,EAAM,IAG3GR,CACT,CAEA,CAACM,OAAO4C,YACN,OAAOtD,OAAOiQ,QAAQ5J,KAAKqE,UAAUhK,OAAO4C,WAC9C,CAEAtB,WACE,OAAOhC,OAAOiQ,QAAQ5J,KAAKqE,UAAUkB,KAAI,EAAE4G,EAAQ5R,KAAW4R,EAAS,KAAO5R,IAAOkL,KAAK,KAC5F,CAEYnL,IAAPD,OAAOC,eACV,MAAO,cACT,CAEA8T,YAAYpS,GACV,OAAOA,aAAiBgE,KAAOhE,EAAQ,IAAIgE,KAAKhE,EAClD,CAEAoS,cAAcC,KAAUH,GACtB,MAAMI,EAAW,IAAItO,KAAKqO,GAI1B,OAFAH,EAAQ3Q,SAASoG,GAAW2K,EAAS/L,IAAIoB,KAElC2K,CACT,CAEAF,gBAAgBjC,GACd,MAIMoC,GAJYvO,KAAKiM,IAAejM,KAAKiM,IAAc,CACvDsC,UAAW,CAAC,IAGcA,UACtBtU,EAAY+F,KAAK/F,UAEvB,SAASuU,EAAe7B,GACtB,MAAME,EAAUX,GAAgBS,GAE3B4B,EAAU1B,MAtMrB,SAAwB9S,EAAKoS,GAC3B,MAAMsC,EAAerK,EAAMvB,YAAY,IAAMsJ,GAE7C,CAAC,MAAO,MAAO,OAAO5O,SAAQmR,IAC5B/U,OAAOC,eAAeG,EAAK2U,EAAaD,EAAc,CACpDlU,MAAO,SAASoU,EAAMC,EAAMC,GAC1B,OAAO7O,KAAK0O,GAAYvU,KAAK6F,KAAMmM,EAAQwC,EAAMC,EAAMC,EACzD,EACAC,cAAc,GACd,GAEN,CA4LQC,CAAe9U,EAAW0S,GAC1B4B,EAAU1B,IAAW,EAEzB,CAIA,OAFAzI,EAAM7H,QAAQ4P,GAAUA,EAAO5O,QAAQiR,GAAkBA,EAAerC,GAEjEnM,IACT,EAGFsM,GAAa0C,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,eAEtF5K,EAAM/B,cAAciK,GAAarS,WACjCmK,EAAM/B,cAAciK,IAEpB,YCnQe,SAAS2C,GAAcC,EAAKhL,GACzC,MAAMF,EAAShE,MAAQ,GACjB5B,EAAU8F,GAAYF,EACtBoG,EAAU,QAAkBhM,EAAQgM,SAC1C,IAAID,EAAO/L,EAAQ+L,KAQnB,OANA/F,EAAM7G,QAAQ2R,GAAK,SAAmB3T,GACpC4O,EAAO5O,EAAGpB,KAAK6J,EAAQmG,EAAMC,EAAQwD,YAAa1J,EAAWA,EAASS,YAAS1L,EACjF,IAEAmR,EAAQwD,YAEDzD,CACT,CCzBe,SAASgF,GAAS5U,GAC/B,SAAUA,IAASA,EAAM6U,WAC3B,CCUA,SAASC,GAAcvL,EAASE,EAAQC,GAEtC,OAAgBjE,KAAiB,MAAX8D,EAAkB,WAAaA,EAAS,eAAyBE,EAAQC,GAC/FjE,KAAKhB,KAAO,eACd,CAEAoF,EAAM1D,SAAS2O,GAAe,EAAY,CACxCD,YAAY,IAGd,YCnBA,SAAe,wBAIJ,CACLE,MAAO,SAAetQ,EAAMzE,EAAOgV,EAASnK,EAAMoK,EAAQC,GACxD,MAAMC,EAAS,GACfA,EAAOvN,KAAKnD,EAAO,IAAMqI,mBAAmB9M,IAExC6J,EAAMvH,SAAS0S,IACjBG,EAAOvN,KAAK,WAAa,IAAIwN,KAAKJ,GAASK,eAGzCxL,EAAMzH,SAASyI,IACjBsK,EAAOvN,KAAK,QAAUiD,GAGpBhB,EAAMzH,SAAS6S,IACjBE,EAAOvN,KAAK,UAAYqN,IAGX,IAAXC,GACFC,EAAOvN,KAAK,UAGd8G,SAASyG,OAASA,EAAOjK,KAAK,KAChC,EAEAoK,KAAM,SAAc7Q,GAClB,MAAMhE,EAAQiO,SAASyG,OAAO1U,MAAM,IAAI8U,OAAO,aAAe9Q,EAAO,cACrE,OAAQhE,EAAQ+U,mBAAmB/U,EAAM,IAAM,IACjD,EAEAgV,OAAQ,SAAgBhR,GACtBgB,KAAKsP,MAAMtQ,EAAM,GAAI2Q,KAAKM,MAAQ,MACpC,GAMK,CACLX,MAAO,WAAkB,EACzBO,KAAM,WAAkB,OAAO,IAAM,EACrCG,OAAQ,WAAmB,GClClB,SAASE,GAAcC,EAASC,GAC7C,OAAID,ICHG,8BAA8BxK,KDGPyK,GENjB,SAAqBD,EAASE,GAC3C,OAAOA,EACHF,EAAQ7P,QAAQ,OAAQ,IAAM,IAAM+P,EAAY/P,QAAQ,OAAQ,IAChE6P,CACN,CFGWG,CAAYH,EAASC,GAEvBA,CACT,CGfA,SAAe,wBAIb,WACE,MAAMG,EAAO,kBAAkB5K,KAAKqD,UAAUwH,WACxCC,EAAiBxH,SAASyH,cAAc,KAC9C,IAAIC,EAQJ,SAASC,EAAWhW,GAClB,IAAIiW,EAAOjW,EAWX,OATI2V,IAEFE,EAAeK,aAAa,OAAQD,GACpCA,EAAOJ,EAAeI,MAGxBJ,EAAeK,aAAa,OAAQD,GAG7B,CACLA,KAAMJ,EAAeI,KACrBE,SAAUN,EAAeM,SAAWN,EAAeM,SAASzQ,QAAQ,KAAM,IAAM,GAChF0Q,KAAMP,EAAeO,KACrBC,OAAQR,EAAeQ,OAASR,EAAeQ,OAAO3Q,QAAQ,MAAO,IAAM,GAC3E4Q,KAAMT,EAAeS,KAAOT,EAAeS,KAAK5Q,QAAQ,KAAM,IAAM,GACpE6Q,SAAUV,EAAeU,SACzBC,KAAMX,EAAeW,KACrBrW,SAAiD,MAAtC0V,EAAe1V,SAASsW,OAAO,GACxCZ,EAAe1V,SACf,IAAM0V,EAAe1V,SAE3B,CAUA,OARA4V,EAAYC,EAAWrY,OAAO+Y,SAAST,MAQhC,SAAyBU,GAC9B,MAAMvE,EAAU5I,EAAMzH,SAAS4U,GAAeX,EAAWW,GAAcA,EACvE,OAAQvE,EAAO+D,WAAaJ,EAAUI,UAClC/D,EAAOgE,OAASL,EAAUK,IAChC,CACD,CAlDD,GAsDS,WACL,OAAO,CACT,ECXJ,SA9CA,SAAqBQ,EAAcC,GACjCD,EAAeA,GAAgB,GAC/B,MAAME,EAAQ,IAAIlV,MAAMgV,GAClBG,EAAa,IAAInV,MAAMgV,GAC7B,IAEII,EAFAC,EAAO,EACPC,EAAO,EAKX,OAFAL,OAAcxY,IAARwY,EAAoBA,EAAM,IAEzB,SAAcM,GACnB,MAAM9B,EAAMN,KAAKM,MAEX+B,EAAYL,EAAWG,GAExBF,IACHA,EAAgB3B,GAGlByB,EAAMG,GAAQE,EACdJ,EAAWE,GAAQ5B,EAEnB,IAAIxS,EAAIqU,EACJG,EAAa,EAEjB,KAAOxU,IAAMoU,GACXI,GAAcP,EAAMjU,KACpBA,GAAQ+T,EASV,GANAK,GAAQA,EAAO,GAAKL,EAEhBK,IAASC,IACXA,GAAQA,EAAO,GAAKN,GAGlBvB,EAAM2B,EAAgBH,EACxB,OAGF,MAAMS,EAASF,GAAa/B,EAAM+B,EAElC,OAAOE,EAASC,KAAKC,MAAmB,IAAbH,EAAoBC,QAAUjZ,CAC3D,CACF,ECpCA,SAASoZ,GAAqBC,EAAUC,GACtC,IAAIC,EAAgB,EACpB,MAAMC,EAAe,GAAY,GAAI,KAErC,OAAOvH,IACL,MAAMwH,EAASxH,EAAEwH,OACXC,EAAQzH,EAAE0H,iBAAmB1H,EAAEyH,WAAQ1Z,EACvC4Z,EAAgBH,EAASF,EACzBM,EAAOL,EAAaI,GAG1BL,EAAgBE,EAEhB,MAAMvI,EAAO,CACXuI,SACAC,QACAI,SAAUJ,EAASD,EAASC,OAAS1Z,EACrCyY,MAAOmB,EACPC,KAAMA,QAAc7Z,EACpB+Z,UAAWF,GAAQH,GAVLD,GAAUC,GAUeA,EAAQD,GAAUI,OAAO7Z,EAChEga,MAAO/H,GAGTf,EAAKoI,EAAmB,WAAa,WAAY,EAEjDD,EAASnI,EAAK,CAElB,CAEA,MCxCM+I,GAAgB,CACpBC,KCLF,KDMEC,IDsCsD,oBAAnBC,gBAEG,SAAUrP,GAChD,OAAO,IAAIsP,SAAQ,SAA4BC,EAASC,GACtD,IAAIC,EAAczP,EAAOmG,KACzB,MAAMuJ,EAAiB,QAAkB1P,EAAOoG,SAASwD,YACnDtC,EAAetH,EAAOsH,aAC5B,IAAIqI,EACJ,SAAS7R,IACHkC,EAAO4P,aACT5P,EAAO4P,YAAYC,YAAYF,GAG7B3P,EAAO8P,QACT9P,EAAO8P,OAAOC,oBAAoB,QAASJ,EAE/C,CAEIvP,EAAMhF,WAAWqU,KAAiB,yBAAiC,mCACrEC,EAAejJ,gBAAe,GAGhC,IAAIxG,EAAU,IAAIoP,eAGlB,GAAIrP,EAAOgQ,KAAM,CACf,MAAMC,EAAWjQ,EAAOgQ,KAAKC,UAAY,GACnCC,EAAWlQ,EAAOgQ,KAAKE,SAAWC,SAAS9M,mBAAmBrD,EAAOgQ,KAAKE,WAAa,GAC7FR,EAAenR,IAAI,gBAAiB,SAAW6R,KAAKH,EAAW,IAAMC,GACvE,CAEA,MAAMG,EAAWnE,GAAclM,EAAOmM,QAASnM,EAAOpJ,KAOtD,SAAS0Z,IACP,IAAKrQ,EACH,OAGF,MAAMsQ,EAAkB,QACtB,0BAA2BtQ,GAAWA,EAAQuQ,0BG5EvC,SAAgBjB,EAASC,EAAQtP,GAC9C,MAAM2H,EAAiB3H,EAASF,OAAO6H,eAClC3H,EAASS,QAAWkH,IAAkBA,EAAe3H,EAASS,QAGjE6O,EAAO,IAAI,EACT,mCAAqCtP,EAASS,OAC9C,CAAC,kBAA4B,oBAA6BwN,KAAKsC,MAAMvQ,EAASS,OAAS,KAAO,GAC9FT,EAASF,OACTE,EAASD,QACTC,IAPFqP,EAAQrP,EAUZ,CH4EMwQ,EAAO,SAAkBna,GACvBgZ,EAAQhZ,GACRuH,GACF,IAAG,SAAiB6S,GAClBnB,EAAOmB,GACP7S,GACF,GAfiB,CACfqI,KAHoBmB,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxCrH,EAAQC,SAA/BD,EAAQ2Q,aAGRjQ,OAAQV,EAAQU,OAChBkQ,WAAY5Q,EAAQ4Q,WACpBzK,QAASmK,EACTvQ,SACAC,YAYFA,EAAU,IACZ,CAmEA,GArGAA,EAAQ6Q,KAAK9Q,EAAO+H,OAAO9I,cAAe0E,GAAS0M,EAAUrQ,EAAOuD,OAAQvD,EAAO+Q,mBAAmB,GAGtG9Q,EAAQuH,QAAUxH,EAAOwH,QAiCrB,cAAevH,EAEjBA,EAAQqQ,UAAYA,EAGpBrQ,EAAQ+Q,mBAAqB,WACtB/Q,GAAkC,IAAvBA,EAAQgR,aAQD,IAAnBhR,EAAQU,QAAkBV,EAAQiR,aAAwD,IAAzCjR,EAAQiR,YAAYzT,QAAQ,WAKjF0T,WAAWb,EACb,EAIFrQ,EAAQmR,QAAU,WACXnR,IAILuP,EAAO,IAAI,EAAW,kBAAmB,eAAyBxP,EAAQC,IAG1EA,EAAU,KACZ,EAGAA,EAAQoR,QAAU,WAGhB7B,EAAO,IAAI,EAAW,gBAAiB,cAAwBxP,EAAQC,IAGvEA,EAAU,IACZ,EAGAA,EAAQqR,UAAY,WAClB,IAAIC,EAAsBvR,EAAOwH,QAAU,cAAgBxH,EAAOwH,QAAU,cAAgB,mBAC5F,MAAMxB,EAAehG,EAAOgG,cAAgB,GACxChG,EAAOuR,sBACTA,EAAsBvR,EAAOuR,qBAE/B/B,EAAO,IAAI,EACT+B,EACAvL,EAAapB,oBAAsB,YAAuB,eAC1D5E,EACAC,IAGFA,EAAU,IACZ,EAKI,wBAA+B,CAEjC,MAAMuR,GAAaxR,EAAOyR,iBAAmBC,GAAgBrB,KACxDrQ,EAAOyH,gBAAkBkK,GAAQ9F,KAAK7L,EAAOyH,gBAE9C+J,GACF9B,EAAenR,IAAIyB,EAAO0H,eAAgB8J,EAE9C,MAGgBvc,IAAhBwa,GAA6BC,EAAejJ,eAAe,MAGvD,qBAAsBxG,GACxBG,EAAM7G,QAAQmW,EAAerP,UAAU,SAA0BrH,EAAKvD,GACpEwK,EAAQ2R,iBAAiBnc,EAAKuD,EAChC,IAIGoH,EAAM3H,YAAYuH,EAAOyR,mBAC5BxR,EAAQwR,kBAAoBzR,EAAOyR,iBAIjCnK,GAAiC,SAAjBA,IAClBrH,EAAQqH,aAAetH,EAAOsH,cAIS,mBAA9BtH,EAAO6R,oBAChB5R,EAAQ6R,iBAAiB,WAAYzD,GAAqBrO,EAAO6R,oBAAoB,IAIhD,mBAA5B7R,EAAO+R,kBAAmC9R,EAAQ+R,QAC3D/R,EAAQ+R,OAAOF,iBAAiB,WAAYzD,GAAqBrO,EAAO+R,oBAGtE/R,EAAO4P,aAAe5P,EAAO8P,UAG/BH,EAAasC,IACNhS,IAGLuP,GAAQyC,GAAUA,EAAO5Z,KAAO,IAAI,GAAc,KAAM2H,EAAQC,GAAWgS,GAC3EhS,EAAQiS,QACRjS,EAAU,KAAI,EAGhBD,EAAO4P,aAAe5P,EAAO4P,YAAYuC,UAAUxC,GAC/C3P,EAAO8P,SACT9P,EAAO8P,OAAOsC,QAAUzC,IAAe3P,EAAO8P,OAAOgC,iBAAiB,QAASnC,KAInF,MAAM5C,EI3OK,SAAuBnW,GACpC,MAAMI,EAAQ,4BAA4BkH,KAAKtH,GAC/C,OAAOI,GAASA,EAAM,IAAM,EAC9B,CJwOqBqb,CAAchC,GAE3BtD,IAAsD,IAA1C,qBAA2BA,GACzCyC,EAAO,IAAI,EAAW,wBAA0BzC,EAAW,IAAK,kBAA4B/M,IAM9FC,EAAQqS,KAAK7C,GAAe,KAC9B,GACF,GC9OArP,EAAM7G,QAAQ2V,IAAe,CAAC3X,EAAIhB,KAChC,GAAGgB,EAAI,CACL,IACE5B,OAAOC,eAAe2B,EAAI,OAAQ,CAAChB,SAGrC,CAFE,MAAO2Q,GAET,CACAvR,OAAOC,eAAe2B,EAAI,cAAe,CAAChB,SAC5C,KAGF,SACegc,IACXA,EAAWnS,EAAM7H,QAAQga,GAAYA,EAAW,CAACA,GAEjD,MAAM,OAAC5Y,GAAU4Y,EACjB,IAAIC,EACAvM,EAEJ,IAAK,IAAIxM,EAAI,EAAGA,EAAIE,IAClB6Y,EAAgBD,EAAS9Y,KACrBwM,EAAU7F,EAAMzH,SAAS6Z,GAAiBtD,GAAcsD,EAAcra,eAAiBqa,IAFjE/Y,KAO5B,IAAKwM,EAAS,CACZ,IAAgB,IAAZA,EACF,MAAM,IAAI,EACR,WAAWuM,wCACX,mBAIJ,MAAM,IAAIvb,MACRmJ,EAAMhC,WAAW8Q,GAAesD,GAC9B,YAAYA,mCACZ,oBAAoBA,KAE1B,CAEA,IAAKpS,EAAMxH,WAAWqN,GACpB,MAAM,IAAInE,UAAU,6BAGtB,OAAOmE,CAAO,EIvClB,SAASwM,GAA6BzS,GAKpC,GAJIA,EAAO4P,aACT5P,EAAO4P,YAAY8C,mBAGjB1S,EAAO8P,QAAU9P,EAAO8P,OAAOsC,QACjC,MAAM,IAAI,GAAc,KAAMpS,EAElC,CASe,SAAS2S,GAAgB3S,GACtCyS,GAA6BzS,GAE7BA,EAAOoG,QAAU,QAAkBpG,EAAOoG,SAG1CpG,EAAOmG,KAAO8E,GAAc9U,KAC1B6J,EACAA,EAAOkG,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAASzI,QAAQuC,EAAO+H,SAC1C/H,EAAOoG,QAAQK,eAAe,qCAAqC,GAKrE,OAFgB8L,GAAoBvS,EAAOiG,SAAW,WAE/CA,CAAQjG,GAAQ4S,MAAK,SAA6B1S,GAYvD,OAXAuS,GAA6BzS,GAG7BE,EAASiG,KAAO8E,GAAc9U,KAC5B6J,EACAA,EAAOoH,kBACPlH,GAGFA,EAASkG,QAAU,QAAkBlG,EAASkG,SAEvClG,CACT,IAAG,SAA4B2S,GAe7B,OAdK1H,GAAS0H,KACZJ,GAA6BzS,GAGzB6S,GAAUA,EAAO3S,WACnB2S,EAAO3S,SAASiG,KAAO8E,GAAc9U,KACnC6J,EACAA,EAAOoH,kBACPyL,EAAO3S,UAET2S,EAAO3S,SAASkG,QAAU,QAAkByM,EAAO3S,SAASkG,WAIzDkJ,QAAQE,OAAOqD,EACxB,GACF,CC3EA,MAAMC,GAAmB9a,GAAUA,aAAiB,GAAeA,EAAMqI,SAAWrI,EAWrE,SAAS+a,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,CAAC,EACtB,MAAMjT,EAAS,CAAC,EAEhB,SAASkT,EAAevT,EAAQD,EAAQ3D,GACtC,OAAIqE,EAAMrH,cAAc4G,IAAWS,EAAMrH,cAAc2G,GAC9CU,EAAMtE,MAAM3F,KAAK,CAAC4F,YAAW4D,EAAQD,GACnCU,EAAMrH,cAAc2G,GACtBU,EAAMtE,MAAM,CAAC,EAAG4D,GACdU,EAAM7H,QAAQmH,GAChBA,EAAOxH,QAETwH,CACT,CAGA,SAASyT,EAAoB5d,EAAG6G,EAAGL,GACjC,OAAKqE,EAAM3H,YAAY2D,GAEXgE,EAAM3H,YAAYlD,QAAvB,EACE2d,OAAeje,EAAWM,EAAGwG,GAF7BmX,EAAe3d,EAAG6G,EAAGL,EAIhC,CAGA,SAASqX,EAAiB7d,EAAG6G,GAC3B,IAAKgE,EAAM3H,YAAY2D,GACrB,OAAO8W,OAAeje,EAAWmH,EAErC,CAGA,SAASiX,EAAiB9d,EAAG6G,GAC3B,OAAKgE,EAAM3H,YAAY2D,GAEXgE,EAAM3H,YAAYlD,QAAvB,EACE2d,OAAeje,EAAWM,GAF1B2d,OAAeje,EAAWmH,EAIrC,CAGA,SAASkX,EAAgB/d,EAAG6G,EAAGpG,GAC7B,OAAIA,KAAQid,EACHC,EAAe3d,EAAG6G,GAChBpG,KAAQgd,EACVE,OAAeje,EAAWM,QAD5B,CAGT,CAEA,MAAMge,EAAW,CACf3c,IAAKwc,EACLrL,OAAQqL,EACRjN,KAAMiN,EACNjH,QAASkH,EACTnN,iBAAkBmN,EAClBjM,kBAAmBiM,EACnBtC,iBAAkBsC,EAClB7L,QAAS6L,EACTG,eAAgBH,EAChB5B,gBAAiB4B,EACjBpN,QAASoN,EACT/L,aAAc+L,EACd5L,eAAgB4L,EAChB3L,eAAgB2L,EAChBtB,iBAAkBsB,EAClBxB,mBAAoBwB,EACpBI,WAAYJ,EACZ1L,iBAAkB0L,EAClBzL,cAAeyL,EACfK,eAAgBL,EAChBM,UAAWN,EACXO,UAAWP,EACXQ,WAAYR,EACZzD,YAAayD,EACbS,WAAYT,EACZU,iBAAkBV,EAClBxL,eAAgByL,EAChBlN,QAAS,CAAC7Q,EAAG6G,IAAM+W,EAAoBL,GAAgBvd,GAAIud,GAAgB1W,IAAI,IASjF,OANAgE,EAAM7G,QAAQ5D,OAAOiE,KAAKoZ,GAAS1R,OAAO3L,OAAOiE,KAAKqZ,KAAW,SAA4Bjd,GAC3F,MAAM8F,EAAQyX,EAASvd,IAASmd,EAC1Ba,EAAclY,EAAMkX,EAAQhd,GAAOid,EAAQjd,GAAOA,GACvDoK,EAAM3H,YAAYub,IAAgBlY,IAAUwX,IAAqBtT,EAAOhK,GAAQge,EACnF,IAEOhU,CACT,CCxGO,MAAMiU,GAAU,QCKjBC,GAAa,CAAC,EAGpB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAU3a,SAAQ,CAAClB,EAAMoB,KAC7Eya,GAAW7b,GAAQ,SAAmBL,GACpC,cAAcA,IAAUK,GAAQ,KAAOoB,EAAI,EAAI,KAAO,KAAOpB,CAC/D,CAAC,IAGH,MAAM8b,GAAqB,CAAC,EAW5BD,GAAWlO,aAAe,SAAsBoO,EAAWC,EAASvU,GAMlE,MAAO,CAACvJ,EAAO+d,EAAKC,KAClB,IAAkB,IAAdH,EACF,MAAM,IAAI,EAPd,SAAuBE,EAAKE,GAC1B,MAAO,uCAAoDF,EAAM,IAAOE,GAAQ1U,EAAU,KAAOA,EAAU,GAC7G,CAMM2U,CAAcH,EAAK,qBAAuBD,EAAU,OAASA,EAAU,KACvE,kBAeJ,OAXIA,IAAYF,GAAmBG,KACjCH,GAAmBG,IAAO,IAUrBF,GAAYA,EAAU7d,EAAO+d,EAAKC,EAAY,CAEzD,EAmCA,UACEG,cAxBF,SAAuB7S,EAAS8S,EAAQC,GACtC,GAAuB,iBAAZ/S,EACT,MAAM,IAAI,EAAW,4BAA6B,wBAEpD,MAAMjI,EAAOjE,OAAOiE,KAAKiI,GACzB,IAAIpI,EAAIG,EAAKD,OACb,KAAOF,KAAM,GAAG,CACd,MAAM6a,EAAM1a,EAAKH,GACX2a,EAAYO,EAAOL,GACzB,GAAIF,EAAJ,CACE,MAAM7d,EAAQsL,EAAQyS,GAChB/Y,OAAmBtG,IAAVsB,GAAuB6d,EAAU7d,EAAO+d,EAAKzS,GAC5D,IAAe,IAAXtG,EACF,MAAM,IAAI,EAAW,UAAY+Y,EAAM,YAAc/Y,EAAQ,uBAGjE,MACA,IAAqB,IAAjBqZ,EACF,MAAM,IAAI,EAAW,kBAAoBN,EAAK,iBAElD,CACF,EAIEJ,eC9EI,GAAaE,GAAUF,WAS7B,MAAMW,GACJ1Z,YAAY2Z,GACV9Y,KAAK+J,SAAW+O,EAChB9Y,KAAK+Y,aAAe,CAClB9U,QAAS,IAAI,GACbC,SAAU,IAAI,GAElB,CAUAD,QAAQ+U,EAAahV,GAGQ,iBAAhBgV,GACThV,EAASA,GAAU,CAAC,GACbpJ,IAAMoe,EAEbhV,EAASgV,GAAe,CAAC,EAG3BhV,EAAS+S,GAAY/W,KAAK+J,SAAU/F,GAEpC,MAAM,aAACgG,EAAY,iBAAE+K,EAAgB,QAAE3K,GAAWpG,EAoBlD,IAAIiV,OAlBiBhgB,IAAjB+Q,GACFoO,GAAUM,cAAc1O,EAAc,CACpCtB,kBAAmB,GAAWsB,aAAa,GAAWkP,SACtDvQ,kBAAmB,GAAWqB,aAAa,GAAWkP,SACtDtQ,oBAAqB,GAAWoB,aAAa,GAAWkP,WACvD,QAGoBjgB,IAArB8b,GACFqD,GAAUM,cAAc3D,EAAkB,CACxC5N,OAAQ,GAAWgS,SACnBtR,UAAW,GAAWsR,WACrB,GAILnV,EAAO+H,QAAU/H,EAAO+H,QAAU/L,KAAK+J,SAASgC,QAAU,OAAO5P,cAKjE8c,EAAiB7O,GAAWhG,EAAMtE,MAChCsK,EAAQ0B,OACR1B,EAAQpG,EAAO+H,SAGjBkN,GAAkB7U,EAAM7G,QACtB,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WACjDwO,WACQ3B,EAAQ2B,EAAO,IAI1B/H,EAAOoG,QAAU,UAAoB6O,EAAgB7O,GAGrD,MAAMgP,EAA0B,GAChC,IAAIC,GAAiC,EACrCrZ,KAAK+Y,aAAa9U,QAAQ1G,SAAQ,SAAoC+b,GACjC,mBAAxBA,EAAYjR,UAA0D,IAAhCiR,EAAYjR,QAAQrE,KAIrEqV,EAAiCA,GAAkCC,EAAYlR,YAE/EgR,EAAwBG,QAAQD,EAAYpR,UAAWoR,EAAYnR,UACrE,IAEA,MAAMqR,EAA2B,GAKjC,IAAIC,EAJJzZ,KAAK+Y,aAAa7U,SAAS3G,SAAQ,SAAkC+b,GACnEE,EAAyBrX,KAAKmX,EAAYpR,UAAWoR,EAAYnR,SACnE,IAGA,IACIrK,EADAL,EAAI,EAGR,IAAK4b,EAAgC,CACnC,MAAMK,EAAQ,CAAC/C,GAAgBrb,KAAK0E,WAAO/G,GAO3C,IANAygB,EAAMH,QAAQ9d,MAAMie,EAAON,GAC3BM,EAAMvX,KAAK1G,MAAMie,EAAOF,GACxB1b,EAAM4b,EAAM/b,OAEZ8b,EAAUnG,QAAQC,QAAQvP,GAEnBvG,EAAIK,GACT2b,EAAUA,EAAQ7C,KAAK8C,EAAMjc,KAAMic,EAAMjc,MAG3C,OAAOgc,CACT,CAEA3b,EAAMsb,EAAwBzb,OAE9B,IAAIgc,EAAY3V,EAIhB,IAFAvG,EAAI,EAEGA,EAAIK,GAAK,CACd,MAAM8b,EAAcR,EAAwB3b,KACtCoc,EAAaT,EAAwB3b,KAC3C,IACEkc,EAAYC,EAAYD,EAI1B,CAHE,MAAO9U,GACPgV,EAAW1f,KAAK6F,KAAM6E,GACtB,KACF,CACF,CAEA,IACE4U,EAAU9C,GAAgBxc,KAAK6F,KAAM2Z,EAGvC,CAFE,MAAO9U,GACP,OAAOyO,QAAQE,OAAO3O,EACxB,CAKA,IAHApH,EAAI,EACJK,EAAM0b,EAAyB7b,OAExBF,EAAIK,GACT2b,EAAUA,EAAQ7C,KAAK4C,EAAyB/b,KAAM+b,EAAyB/b,MAGjF,OAAOgc,CACT,CAEAK,OAAO9V,GAGL,OAAO2D,GADUuI,IADjBlM,EAAS+S,GAAY/W,KAAK+J,SAAU/F,IACEmM,QAASnM,EAAOpJ,KAC5BoJ,EAAOuD,OAAQvD,EAAO+Q,iBAClD,EAIF3Q,EAAM7G,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BwO,GAE/E8M,GAAM5e,UAAU8R,GAAU,SAASnR,EAAKoJ,GACtC,OAAOhE,KAAKiE,QAAQ8S,GAAY/S,GAAU,CAAC,EAAG,CAC5C+H,SACAnR,MACAuP,MAAOnG,GAAU,CAAC,GAAGmG,OAEzB,CACF,IAEA/F,EAAM7G,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BwO,GAGrE,SAASgO,EAAmBC,GAC1B,OAAO,SAAoBpf,EAAKuP,EAAMnG,GACpC,OAAOhE,KAAKiE,QAAQ8S,GAAY/S,GAAU,CAAC,EAAG,CAC5C+H,SACA3B,QAAS4P,EAAS,CAChB,eAAgB,uBACd,CAAC,EACLpf,MACAuP,SAEJ,CACF,CAEA0O,GAAM5e,UAAU8R,GAAUgO,IAE1BlB,GAAM5e,UAAU8R,EAAS,QAAUgO,GAAmB,EACxD,IAEA,YCzLA,MAAME,GACJ9a,YAAY+a,GACV,GAAwB,mBAAbA,EACT,MAAM,IAAIpU,UAAU,gCAGtB,IAAIqU,EAEJna,KAAKyZ,QAAU,IAAInG,SAAQ,SAAyBC,GAClD4G,EAAiB5G,CACnB,IAEA,MAAM/N,EAAQxF,KAGdA,KAAKyZ,QAAQ7C,MAAKX,IAChB,IAAKzQ,EAAM4U,WAAY,OAEvB,IAAI3c,EAAI+H,EAAM4U,WAAWzc,OAEzB,KAAOF,KAAM,GACX+H,EAAM4U,WAAW3c,GAAGwY,GAEtBzQ,EAAM4U,WAAa,IAAI,IAIzBpa,KAAKyZ,QAAQ7C,KAAOyD,IAClB,IAAIC,EAEJ,MAAMb,EAAU,IAAInG,SAAQC,IAC1B/N,EAAM2Q,UAAU5C,GAChB+G,EAAW/G,CAAO,IACjBqD,KAAKyD,GAMR,OAJAZ,EAAQxD,OAAS,WACfzQ,EAAMqO,YAAYyG,EACpB,EAEOb,CAAO,EAGhBS,GAAS,SAAgBpW,EAASE,EAAQC,GACpCuB,EAAMqR,SAKVrR,EAAMqR,OAAS,IAAI,GAAc/S,EAASE,EAAQC,GAClDkW,EAAe3U,EAAMqR,QACvB,GACF,CAKAH,mBACE,GAAI1W,KAAK6W,OACP,MAAM7W,KAAK6W,MAEf,CAMAV,UAAU7D,GACJtS,KAAK6W,OACPvE,EAAStS,KAAK6W,QAIZ7W,KAAKoa,WACPpa,KAAKoa,WAAWjY,KAAKmQ,GAErBtS,KAAKoa,WAAa,CAAC9H,EAEvB,CAMAuB,YAAYvB,GACV,IAAKtS,KAAKoa,WACR,OAEF,MAAMrT,EAAQ/G,KAAKoa,WAAW3Y,QAAQ6Q,IACvB,IAAXvL,GACF/G,KAAKoa,WAAWG,OAAOxT,EAAO,EAElC,CAMAqH,gBACE,IAAI6H,EAIJ,MAAO,CACLzQ,MAJY,IAAIyU,IAAY,SAAkBO,GAC9CvE,EAASuE,CACX,IAGEvE,SAEJ,EAGF,YC5EA,MAAMwE,GAnBN,SAASC,EAAeC,GACtB,MAAMvc,EAAU,IAAI,GAAMuc,GACpBC,EAAWtf,EAAK,qBAAyB8C,GAa/C,OAVAgG,EAAMjE,OAAOya,EAAU,aAAiBxc,EAAS,CAACZ,YAAY,IAG9D4G,EAAMjE,OAAOya,EAAUxc,EAAS,KAAM,CAACZ,YAAY,IAGnDod,EAAS7e,OAAS,SAAgB+c,GAChC,OAAO4B,EAAe3D,GAAY4D,EAAe7B,GACnD,EAEO8B,CACT,CAGcF,CAAe,IAG7BD,GAAM5B,MAAQ,GAGd4B,GAAMpL,cAAgB,GACtBoL,GAAMR,YAAc,GACpBQ,GAAMtL,SAAWA,GACjBsL,GAAMxC,QAAUA,GAChBwC,GAAMI,WAAa,EAGnBJ,GAAM5W,WAAa,EAGnB4W,GAAMK,OAASL,GAAMpL,cAGrBoL,GAAMM,IAAM,SAAaC,GACvB,OAAO1H,QAAQyH,IAAIC,EACrB,EAEAP,GAAMQ,OC5CS,SAAgBC,GAC7B,OAAO,SAAcvZ,GACnB,OAAOuZ,EAASzf,MAAM,KAAMkG,EAC9B,CACF,ED2CA8Y,GAAMU,aE3DS,SAAsBC,GACnC,OAAOhX,EAAMtH,SAASse,KAAsC,IAAzBA,EAAQD,YAC7C,EF4DAV,GAAM1D,YAAcA,GAEpB0D,GAAMnO,aAAe,GAErBmO,GAAMY,WAAarf,GAAS,GAAeoI,EAAM5F,WAAWxC,GAAS,IAAI1D,SAAS0D,GAASA,GAE3Fye,GAAMa,QAAUb,GAGhB,gRGjFA,+8NAIwB,GAAH,OAAMliB,OAAO+Y,SAASP,SAAQ,aAAKxY,OAAO+Y,SAASN,KAAI,KAArE,IAID4J,GAAWH,GAAAA,SAEjBG,GAAS7B,aAAa9U,QAAQgE,KAAI,SAAUjE,GAK1C,OAJAA,EAAO6H,eAAiB,SAAClH,GACvB,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEO,GAAP,GACKX,EAEP,IAUO,IAAMuX,GAAQ,+BAAG,WAAiBnW,EAAcpB,GAAqB,oFAGlB,OAHkB,EACjBA,EAAjD+H,OAAAA,OAAM,IAAG,QAAK,EAAExE,EAAiCvD,EAAjCuD,OAAQ4C,EAAyBnG,EAAzBmG,KAAM0B,EAAmB7H,EAAnB6H,eAEhCjR,EAAM,GAAH,OA1BqB,+CA0BC,OAzBF,QAyBoB,OAAGwK,GAAI,SAEjCwV,GAAS,CAC9B7O,OAAAA,EACAnR,IAAAA,EACA2M,OAAAA,EACA4C,KAAAA,EACA0B,eAAAA,IACA,OANY,OAAR3H,EAAW,EAAH,uBAQPA,EAASiG,MAAI,2CACrB,gBAdoB,wCAkBpB,sCAFM,wGACEoR,GAAuB,QAAS,CAAC,IAAE,4CAC3C,sBAEM,SAAeC,GAAW,GAAD,gCAM/B,sCANM,WAA0BC,GAAe,sEAC1CC,GAAAA,QAAUD,GAAS,CAAF,eAC8B,iDAG7CF,GAAuB,QAAS,CAAExP,OAAQ,SAAU5B,KAAM,CAAEsR,OAAAA,KAAW,4CAC9E,sBAsBA,sCApBM,WAA6BA,GAAe,gFAC7CC,GAAAA,QAAUD,GAAS,CAAF,eACgC,iDAG9BF,GAAS,WAAD,OAAYE,EAAM,QAAQ,CAAC,GAAE,OAAtDE,EAAW,EAAH,KAGR9K,EAAO/V,IAAI8gB,gBAAgB,IAAIvV,KAAK,CAACsV,GAAW,CAAEtf,KAAM,eAGxDwf,EAAO5S,SAASyH,cAAc,MAC/BG,KAAOA,EACZgL,EAAK/K,aAAa,WAAY,GAAF,OAAK2K,EAAM,SACvCxS,SAAS6S,KAAKC,YAAYF,GAC1BA,EAAKG,QAGL/S,SAAS6S,KAAKG,YAAYJ,GAC1B/gB,IAAIohB,gBAAgBrL,GAAM,6CAC3B,0RC5ED,wuNAIC,sCAHM,qFAC6B,OAA5BsL,GAAaC,EAAAA,GAAAA,iBAAe,kBAC3BD,EAAWriB,IAAI,qBAAmB,4CAC1C,sBAEM,SAAeuiB,GAAkB,GAAD,gCAGtC,sCAHM,WAAiCC,GAAW,wEACf,OAA5BH,GAAaC,EAAAA,GAAAA,iBAAe,kBAC3BD,EAAWriB,IAAI,uBAAD,OAAwBwiB,KAAM,4CACpD,ujBCTD,mwPAydA,IAAMC,GAAY,WAAH,MAAU,CACvBC,eAAeC,EAAAA,GAAAA,KAAG,6MAOnB,EC5dYC,GAAS,IAAIC,EAAAA,aDuCnB,SAAe,GAAyD,MAAvDC,EAAK,EAALA,MAAOC,EAAM,EAANA,OAAQC,EAAS,EAATA,UAAWC,EAAQ,EAARA,SAAUC,EAAQ,EAARA,SAEE,MAA1BC,EAAAA,GAAAA,UAAqB,MAAK,GAArDC,EAAS,KAAEC,EAAY,KACmD,MAA3CF,EAAAA,GAAAA,UAAsC,MAAK,GAA1EG,EAAW,KAAEC,EAAc,KAE2B,MAAnCJ,EAAAA,GAAAA,UAA8B,MAAK,GAAtDK,EAAK,KAAEC,EAAQ,KAC+C,MAAvCN,EAAAA,GAAAA,UAAkC,MAAK,GAA9DO,EAAO,KAAEC,EAAU,KAEkD,MAAhCR,EAAAA,GAAAA,UAA2B,MAAK,GAArES,EAAc,KAAEC,EAAiB,KACwC,MAAhCV,EAAAA,GAAAA,UAA2B,MAAK,GAAzEW,EAAgB,KAAEC,EAAmB,KAEsB,MAAxBZ,EAAAA,GAAAA,WAAkB,GAAM,GAA3Da,EAAW,KAAEC,EAAkB,KAEkC,MAA9Bd,EAAAA,GAAAA,UAAoBH,GAAU,GAAjEkB,EAAiB,KAAEC,EAAY,KAE0C,MAA1ChB,EAAAA,GAAAA,UAAsBxiB,EAAYyjB,SAAQ,GAAzEC,EAAW,KAAEC,EAAc,KAE5BC,E5CjCD,SAAmCrB,GACxC,OAAQA,GACN,IAAK,MACH,MAAO,UACT,IAAK,UACH,OAAOsB,KAAKC,iBAAiBC,kBAAkBxB,SACjD,QACE,OAAOA,EAEb,C4CwBuByB,CAA0BzB,GAsE/C,SAAS0B,KFvFJ,WAAuB,iCEwF1BC,GACG/H,MAAK,SAAC0G,GACLC,EAASD,GACTc,EAAe3jB,EAAYmkB,IAAI,IACT,EADS,ooBACdtB,GAAK,IAAtB,IAAK,EAAL,qBAAwB,OACtB,IAAiB,QAAb,EADO,QACFvK,gBAAQ,aAAb,EAAepO,UAAWjK,EAAamkB,UAEzC,YADA1J,WAAWuJ,EAAS,IAGxB,CAAC,+BACH,IAAE,OACK,SAAC/J,GACNyJ,EAAe3jB,EAAYqkB,iBAE7B,GACJ,CAsB6B,aA2B5B,OA3B4B,gBAA7B,WAA8BT,GAAoB,4EAahD,OAZMU,EAAkBrD,GAAAA,OAAS8B,GAAS,SAACwB,GAAqB,OAAKA,EAAMC,QAAQ,IAC7EC,EAA8B,CAAClB,EAAkBpZ,KAAKua,OAAQnB,EAAkBoB,GAAGD,QAEnFE,EAAmB,CAEvBpL,SAAUqL,GAAAA,WAAAA,KAAAA,KACVxC,UAAW,CACTlY,KAAqB,IAAfsa,EAAU,GAChBE,GAAmB,IAAfF,EAAU,IAEhB1B,QAASuB,GAEX,SACMxD,GAAS,QAAS,CACtBxP,OAAQ,OACR5B,KAAM,CACJkV,KAAAA,EACAzkB,IAAKrC,OAAO+Y,SAAS3V,WACrB0iB,aAAAA,KAEF,OAEFK,IAEAa,IACAC,IAAqB,2CACtB,wBAED,SAASA,IACS,OAAZhC,GAGJC,EAAWD,EAAQjY,KAAI,SAACyZ,GAAqB,aAAWA,EAAO,CAAAC,UAAU,GAAK,IAChF,CAOA,SAASM,IACPxB,GAAmB,GACnByB,GACF,CAsJ4B,aAQ3B,OAR2B,gBAA5B,WAA6BtU,GAAqB,4EAGW,OAFrDuU,EAAWvU,EAAEwU,OAAOD,SAEpBJ,EAAO3D,GAAAA,KAAO4B,GAAO,SAAC+B,EAAMM,GAAG,OAAKA,IAAQF,CAAQ,IAAC,SACrDjE,GAAW6D,aAAI,EAAJA,EAAM9W,IAAG,OAEpBqX,EAAgBlE,GAAAA,OAAS4B,GAAO,SAAC+B,EAAMM,GAAG,OAAKA,IAAQF,CAAQ,IACrElC,EAASqC,GAAe,4CACzB,sBAED,SAASC,EAAgB3U,GACvB,IAAMuU,EAAWvU,EAAEwU,OAAOD,SACpBJ,EAAO3D,GAAAA,KAAO4B,GAAO,SAAC+B,EAAMM,GAAG,OAAKA,IAAQF,CAAQ,KF/TvD,SAA6B,GAAD,yBEgU/BK,CAAcT,aAAI,EAAJA,EAAM9W,GACtB,CAEA,SAASwX,EAAwB7U,GAC/B,GAAgB,OAAZsS,EAAJ,CAGA,IAAMiC,EAAWvU,EAAEwU,OAAOD,SACpBO,EAAiBtE,GAAAA,MAAQ8B,GAC/BwC,EAAeP,GAAUR,UAAYe,EAAeP,GAAUR,SAC9DxB,EAAWuC,EAJX,CAKF,CApUIV,GAAAA,WAAAA,KAAAA,UAA4BW,EAAAA,QAAAA,OAE9B7B,EAAe3jB,EAAYylB,mBAG7BC,EAAAA,GAAAA,YAAU,WAC0B,aAIjC,OAJiC,gBAAlC,qFACyE,OAAjEC,EAAsBzlB,EAAgBpC,OAAO+Y,SAAS3V,YAAW,kBAEhE0gB,GAAkB+D,IAAoB,4CAC9C,uBALa,WACoB,gCAMlCC,GACGzJ,MAAK,SAAC0J,GAAI,OAAKnD,EAAamD,EAAKpD,UAAU,IAAC,OACtC,SAACvI,GAA0B,GACtC,GAAG,KAEHwL,EAAAA,GAAAA,YAAU,YD/EL,WAA6B,iCCgFhCI,GACG3J,MAAK,SAACwG,GAAW,OAAKC,EAAeD,EAAY,IAAC,OAC5C,SAACzI,GAA0B,GACtC,GAAG,KAEHwL,EAAAA,GAAAA,YAAU,WACHjD,GAAcE,GAGnBF,EAAUsD,OAAOjjB,SAAQ,SAACkjB,GAAsB,QACxCjD,EAA4B,GApDvB,iCAuDPiD,EAAMpkB,MAILqf,GAAAA,SAAWA,GAAAA,OAASlhB,GAAiC,QAAlB,EAAEimB,EAAMC,kBAAU,aAAhB,EAAkBrkB,QAI/C,QAAb,EAAAokB,EAAMvS,eAAO,OAAb,EAAe3Q,SAAQ,SAACoG,GAAsB,MACtC+c,EAgDZ,SAA4BpE,GAC1B,GAAIZ,GAAAA,MAAQY,GAEV,OAEF,GAAoB,OAAhBc,EAEF,OAEF,IAAMsD,EAAahF,GAAAA,KAAO0B,GAAa,SAACsD,GAA8B,OAAKA,EAAWpE,MAAQA,CAAG,IAMjG,OAAOoE,CACT,CAhEyBC,CAAoC,QAAlB,EAAChd,EAAO+c,kBAAU,aAAjB,EAAmBpE,KACpDoE,GAGLlD,EAAQrb,KAAK,CAAE8c,UAAU,EAAOtb,OAAAA,EAAQ8c,MAAAA,EAAOC,WAAAA,GACjD,IAEAjD,EAAWD,GACb,GACF,GAAG,CAACN,EAAWE,KAEf+C,EAAAA,GAAAA,YAAU,WACR,GAAc,OAAV7C,EAAJ,CAGA,IAAMsD,EAyJR,SAAkCtD,GAChC,IAAMsD,GAAYC,EAAAA,EAAAA,aAAY,CAC5B7hB,KAAM,IACN8hB,OAAQ,CACN,CACE9hB,KAAM,OACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,SAAC+B,GAAI,M5CtQG4B,E4CsQH,O5CtQGA,E4CsQsC,QAAd,EAAC5B,EAAKtM,gBAAQ,aAAb,EAAemO,M5C7P1D,IAAIvR,KAAKsR,GAAWE,eAAe,QARV,CAC1CC,KAAM,UACNC,MAAO,QACPC,IAAK,UACLC,KAAM,UACNC,OAAQ,UACRC,OAAQ,YAEgE,G4C6PQ,KAE5E,CACEziB,KAAM,OACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,SAAC+B,GAAI,OAAKA,EAAKpL,QAAQ,KAE9C,CACEjV,KAAM,aACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,SAAC+B,GAAI,OAAKA,EAAK7B,QAAQjY,KAAI,SAACyZ,GAAK,aAAqB,QAArB,EAAKA,EAAM0B,kBAAU,aAAhB,EAAkB1hB,IAAI,IAAEyG,KAAK,IAAI,KAE9F,CACEzG,KAAM,gBACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,SAAC+B,GAAI,aAAkB,QAAlB,EAAKA,EAAKtM,gBAAQ,aAAb,EAAe2O,iBAAiB,KAEjE,CACE1iB,KAAM,WACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,SAAC+B,GAAI,uBAA0C,MAAnB,QAAb,EAAAA,EAAKtM,gBAAQ,aAAb,EAAeA,WAAY,IAAU4O,QAAQ,GAAE,SAErF,CACE3iB,KAAM,SACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,SAAC+B,GAAI,aAAkB,QAAlB,EAAKA,EAAKtM,gBAAQ,aAAb,EAAepO,MAAM,KAEtD,CACE3F,KAAM,QACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,SAAC+B,GAAI,aAAkB,QAAb,EAAAA,EAAKtM,gBAAQ,aAAb,EAAe6O,eAAgB,GAAG,KAEnE,CACE5iB,KAAM,eACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,iDAA+BniB,EAAqB,IACzE6I,OAAQ,CACN6d,OAAQ,CACNC,YAAY,EACZC,YAAa,SAEfC,MAAO,CACL,CACEC,aAAa,EACbC,MAAO,WACPtnB,IAAK,IACLunB,QAAS,SAAClP,GAAyB,OAAK4M,EAAgB5M,EAAM,MAKtE,CACEjU,KAAM,cACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM4B,GAAO,iDAA+BpiB,EAAkB,IACtE8I,OAAQ,CACN6d,OAAQ,CACNC,YAAY,EACZC,YAAa,SAEfC,MAAO,CACL,CACEC,aAAa,EACbC,MAAO,SACPtnB,IAAK,IACLunB,QAAS,SAAClP,GAAyB,OAkBhD,SAE4B,GAAD,+BApB0BmP,CAAcnP,EAAM,SAiBxE,OATmBoP,EAAAA,EAAAA,qBAAoB,CACrClY,KAAM,CAACyW,GACP0B,YAAa,CACXC,UAAW,GACXxY,SAAU,CAAC,GAEbyY,OAAOC,EAAAA,EAAAA,eACPC,iBAAkB,SAACnoB,GAAa,OAAKA,CAAK,IAE1B,EACpB,CAnPoBooB,CAAyBrF,GAC3CK,EAAkBiD,EAFlB,CAGF,GAAG,CAACtD,KAEJ6C,EAAAA,GAAAA,WAAUzB,EAAS,KAEnByB,EAAAA,GAAAA,YAAU,WACQ,OAAZ3C,GAGJK,EAuFF,SAAqCL,GACnC,IAAMoD,GAAYC,EAAAA,EAAAA,aAAY,CAC5B7hB,KAAM,IACN8hB,OAAQ,CACN,CACE9hB,KAAM,SACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IACN8B,GACA,SAACwB,GAAK,0CAAkCA,EAAMC,SAAW5jB,EAAsBD,EAAqB,IAEtG4I,OAAQ,CACN6d,OAAQ,CACNC,YAAY,EACZC,YAAa,SAEfC,MAAO,CACL,CACEC,aAAa,EACbC,MAAO,SACPtnB,IAAK,IACLunB,QAAS,SAAClP,GAAyB,OAAK8M,EAAwB9M,EAAM,MAK9E,CACEjU,KAAM,QACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM8B,GAAS,SAACwB,GAAK,OAAKA,EAAMyB,MAAMyB,KAAK,KAErD,CACEljB,KAAM,QACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM8B,GAAS,SAACwB,GAAK,OAAKA,EAAMrb,OAAOif,KAAK,KAEtD,CACE5jB,KAAM,aACN3C,KAAM0kB,EAAAA,UAAAA,OACNC,OAAQtF,GAAAA,IAAM8B,GAAS,SAACwB,GAAK,OAAKA,EAAM0B,WAAW1hB,IAAI,QAc7D,OATmBqjB,EAAAA,EAAAA,qBAAoB,CACrClY,KAAM,CAACyW,GACP0B,YAAa,CACXC,UAAW,GACXxY,SAAU,CAAC,GAEbyY,OAAOC,EAAAA,EAAAA,eACPC,iBAAkB,SAACnoB,GAAa,OAAKA,CAAK,IAE1B,EACpB,CA7IsBsoB,CAA4BrF,GAClD,GAAG,CAACA,IAoBJT,EAAS5G,UAAU2M,GAAAA,aAAcpE,GAgPjC,IAAMqE,GAASC,EAAAA,GAAAA,YAAWzG,IAEpB0G,EAAa,KAAH,GAAG,mBAAC,GAAAC,mBAAkB,CAACC,KAAK,gBAEtCC,EACJ,sCACE,2DAAiC,QACjC,uCACQ,wBAAGvS,KAAI,mBArWN,+BAqW6B,QAAS,iCAK7CwS,GAAqB,KAAH,GACtB,8BACE,iDACA,kFAGEC,GACJ,8BACE,mBAAC,GAAAC,MAAK,CAAC3G,MAAOA,EAAOC,OAAQA,EAAS,GAAI1S,KAAMuT,IAChD,mBAAC,GAAA8F,gBAAe,CAACC,QAAQ,YACvB,mBAAC,GAAAC,OAAM,CACLC,QAAQ,UACR,aAAW,sBACXC,KAAK,OACLC,MAAO,CAAEC,UAAW,OACpB3B,QApNR,WACElE,EAAanB,GACbiB,GAAmB,EACrB,GAiNqC,YAI/B,mBAAC,GAAAgG,MAAK,CAAC7B,MAAM,iBAAiB8B,OAAQlG,EAAamG,UAAW1E,EAAc2E,UAAWnB,EAAOvG,eACtE,OAArBoB,EACC,QACA,mBAAC,GAAAsF,mBAAkB,CAACC,KAAK,gBAEzB,8BACE,mBAAC,GAAAgB,cAAa,CAACC,QAAQ,MACrB,mBAAC,GAAAZ,gBAAe,CAACC,QAAQ,aAAaW,QAAQ,MAC5C,mBAAC,GAAAC,eAAc,CACb9pB,MAAOyjB,EACPsG,SAAU,SAACC,GACTtG,EAAasG,EACf,KAGJ,mBAAC,GAAAhB,MAAK,CAAC3G,MAAOA,EAAQ,EAAI,GAAIC,OAAQA,EAAS,GAAI1S,KAAMyT,IACzD,mBAAC,GAAA4F,gBAAe,CAACC,QAAQ,WAAWW,QAAQ,MAC1C,mBAAC,GAAAV,OAAM,CACLC,QAAQ,UACR,aAAW,kBACXxB,QAAS,kBAlR1B,SAE6B,GAAD,+BAgRIqC,CAAenG,EAAa,EAE3CoG,WAAWjH,SAA0D,QAAnD,EAAPA,EAASvc,QAAO,SAAC+d,GAAqB,OAAKA,EAAMC,QAAQ,WAAC,OAA1D,EAA4DthB,SAAO,kBA2BhG,OAAO,8BAdP,SAAsBwgB,GACpB,OAAQA,GACN,KAAK1jB,EAAYyjB,QACf,OAAO+E,EACT,KAAKxoB,EAAYqkB,iBACf,OAAOsE,EACT,KAAK3oB,EAAYylB,iBACf,OAAOmD,GACT,KAAK5oB,EAAYmkB,GACf,OAAO0E,GACT,QACE,OAAOF,EAEb,CACasB,CAAavG,GAC5B","sources":["webpack:///external amd \"react\"","webpack:///external amd \"@grafana/ui\"","webpack:///external amd \"@grafana/data\"","webpack:///../node_modules/axios/node_modules/form-data/lib/browser.js","webpack:///external amd \"lodash\"","webpack:///external amd \"@grafana/runtime\"","webpack:///external amd \"app/core/app_events\"","webpack:///external amd \"app/core/core\"","webpack:///external amd \"@emotion/css\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///./panels/corpglory-dataexporter-panel/types.ts","webpack:///./utils/index.ts","webpack:///./icons.ts","webpack:///../node_modules/axios/lib/helpers/bind.js","webpack:///../node_modules/axios/lib/utils.js","webpack:///../node_modules/axios/lib/core/AxiosError.js","webpack:///../node_modules/axios/lib/env/classes/FormData.js","webpack:///../node_modules/axios/lib/helpers/toFormData.js","webpack:///../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack:///../node_modules/axios/lib/helpers/buildURL.js","webpack:///../node_modules/axios/lib/core/InterceptorManager.js","webpack:///../node_modules/axios/lib/defaults/transitional.js","webpack:///../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack:///../node_modules/axios/lib/platform/browser/classes/FormData.js","webpack:///../node_modules/axios/lib/platform/browser/index.js","webpack:///../node_modules/axios/lib/helpers/formDataToJSON.js","webpack:///../node_modules/axios/lib/defaults/index.js","webpack:///../node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack:///../node_modules/axios/lib/helpers/parseHeaders.js","webpack:///../node_modules/axios/lib/core/AxiosHeaders.js","webpack:///../node_modules/axios/lib/core/transformData.js","webpack:///../node_modules/axios/lib/cancel/isCancel.js","webpack:///../node_modules/axios/lib/cancel/CanceledError.js","webpack:///../node_modules/axios/lib/helpers/cookies.js","webpack:///../node_modules/axios/lib/core/buildFullPath.js","webpack:///../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///../node_modules/axios/lib/helpers/combineURLs.js","webpack:///../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///../node_modules/axios/lib/helpers/speedometer.js","webpack:///../node_modules/axios/lib/adapters/xhr.js","webpack:///../node_modules/axios/lib/adapters/adapters.js","webpack:///../node_modules/axios/lib/helpers/null.js","webpack:///../node_modules/axios/lib/core/settle.js","webpack:///../node_modules/axios/lib/helpers/parseProtocol.js","webpack:///../node_modules/axios/lib/core/dispatchRequest.js","webpack:///../node_modules/axios/lib/core/mergeConfig.js","webpack:///../node_modules/axios/lib/env/data.js","webpack:///../node_modules/axios/lib/helpers/validator.js","webpack:///../node_modules/axios/lib/core/Axios.js","webpack:///../node_modules/axios/lib/cancel/CancelToken.js","webpack:///../node_modules/axios/lib/axios.js","webpack:///../node_modules/axios/lib/helpers/spread.js","webpack:///../node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./services/api_service.ts","webpack:///./services/grafana_backend_service.ts","webpack:///./panels/corpglory-dataexporter-panel/components/Panel.tsx","webpack:///./panels/corpglory-dataexporter-panel/module.ts"],"sourcesContent":["module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","module.exports = __WEBPACK_EXTERNAL_MODULE__10__;","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__13__;","module.exports = __WEBPACK_EXTERNAL_MODULE__14__;","module.exports = __WEBPACK_EXTERNAL_MODULE__15__;","module.exports = __WEBPACK_EXTERNAL_MODULE__28__;","module.exports = __WEBPACK_EXTERNAL_MODULE__29__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { DataQuery, DataSourceSettings, PanelModel } from '@grafana/data';\n\nexport interface PanelOptions {}\n\nexport enum DatasourceType {\n INFLUXDB = 'influxdb',\n GRAPHITE = 'graphite',\n PROMETHEUS = 'prometheus',\n POSTGRES = 'postgres',\n ELASTICSEARCH = 'elasticsearch',\n MYSQL = 'mysql',\n}\n\nexport enum PanelStatus {\n LOADING = 'Loading',\n DATASOURCE_ERROR = 'Datasource Error',\n PERMISSION_ERROR = 'Permission Error',\n OK = 'Ok',\n}\n\nexport enum ExportStatus {\n EXPORTING = 'exporting',\n FINISHED = 'finished',\n ERROR = 'error',\n}\n\nexport type ExportProgress = {\n time: number;\n exportedRowsCount: number;\n progress: number;\n status: ExportStatus;\n errorMessage?: string;\n};\n\nexport type ExportTask = {\n username: string;\n queries: DashboardQuery[];\n timeRange: {\n from: number;\n to: number;\n };\n progress?: ExportProgress;\n id?: string;\n};\n\nexport type DashboardQuery = {\n selected: boolean;\n target: DataQuery;\n panel: PanelModel;\n datasource: DataSourceSettings;\n};\n","import { AppEvents, TimeZone } from '@grafana/data';\n// @ts-ignore\nimport appEvents from 'grafana/app/core/app_events';\n\nexport function openNotification(message: React.ReactNode) {\n appEvents.emit(AppEvents.alertSuccess, [message]);\n}\n\nexport function getDashboardUid(url: string): string {\n const matches = new URL(url).pathname.match(/\\/d\\/([^/]+)/);\n if (!matches) {\n throw new Error(`Couldn't parse uid from ${url}`);\n } else {\n return matches[1];\n }\n}\n\nexport function convertTimestampToDate(timestamp?: number): string {\n const options: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n };\n return timestamp ? new Date(timestamp).toLocaleString('en-GB', options) : '-';\n}\n\nexport function convertTimeZoneTypeToName(timeZone: TimeZone): string {\n switch (timeZone) {\n case 'utc':\n return 'Etc/UTC';\n case 'browser':\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n default:\n return timeZone;\n }\n}\n","export const CLOSE_ICON_BASE_64 =\n 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACJSURBVHgB7ZPRCcAgDESv0lWc0zhC53OIjmAVUpCSamL76YEoyfFIiAGWfldK6SwnKHyhep9xJ3iPcqgH5RyxV1VlBWYJypXVHMEiCaqBbRhAy3W3B76j954wq6ZSVZsOY+WXt6i9l2ymGTlUq0VpOcIqaQC96Zth01DN1zBBefVI4SNp9Za+6wLcH6DKFrfpxgAAAABJRU5ErkJggg==';\nexport const DOWNLOAD_ICON_BASE_64 =\n 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADlSURBVHgB3ZPNDYJAEIVnN96lBA7A2RIsATuQiiwBSrAD7MAjCZBACXqFwPomMRtEwMVwgZeQhfn5mNnMEG1CaZoeiqKwTWJ3JkFCiEtVVU+8+r9iJRlKSrk3iqOFtWJglmXHf3yDwCRJbBxxnudh34cRYluMMbKGcgWNCIlnjEuIJ1JK2WzDWeKb7YHjONEsYBf6kTABY+mWuYX+3Xiex9UFU7D3FllfwLqueQvi/h8ZCtBprDLY703T6A0yWj2ArmSoxedQV4jSSz5xj4pmCi0/NKfrwNz5bdtaNENciOu6N1qNXhzZXHMb9Q+nAAAAAElFTkSuQmCC';\nexport const UNSELECT_ICON_BASE_64 =\n 'PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgcng9IjEuNSIgZmlsbD0iIzExMTIxNiIgc3Ryb2tlPSIjMkQyRTM0Ii8+Cjwvc3ZnPgo=';\nexport const SELECT_ICON_BASE_64 =\n 'PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiIgZmlsbD0iIzRBNzFEMiIvPgo8cGF0aCBkPSJNNS45ODI2NCAxMi41MjE3QzUuNzczOTUgMTIuNTIxNyA1LjU4MjY0IDEyLjQ1MjIgNS40MjYxMiAxMi4yOTU2TDEuOTY1MjUgOC44MzQ3NkMxLjY1MjIxIDguNTIxNzIgMS42NTIyMSA4LjAzNDc2IDEuOTY1MjUgNy43MjE3MkMyLjI3ODI5IDcuNDA4NjcgMi43NjUyNSA3LjQwODY3IDMuMDc4MjkgNy43MjE3Mkw2LjAwMDAzIDEwLjYyNjFMMTIuOTM5MiAzLjcwNDMzQzEzLjI1MjIgMy4zOTEyOCAxMy43MzkyIDMuMzkxMjggMTQuMDUyMiAzLjcwNDMzQzE0LjM2NTMgNC4wMTczNyAxNC4zNjUzIDQuNTA0MzMgMTQuMDUyMiA0LjgxNzM3TDYuNTU2NTYgMTIuMjk1NkM2LjM4MjY0IDEyLjQ1MjIgNi4xOTEzNCAxMi41MjE3IDUuOTgyNjQgMTIuNTIxN1YxMi41MjE3WiIgZmlsbD0iI0ZFRkZGRiIvPgo8L3N2Zz4K';\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self;\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n toJSONObject\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","import FormData from 'form-data';\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear() {\n return Object.keys(this).forEach(this.delete.bind(this));\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.2.1\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import { ExportTask } from '../panels/corpglory-dataexporter-panel/types';\n\nimport axios from 'axios';\nimport * as _ from 'lodash';\n\nexport const API_HOST = `${window.location.protocol}//${window.location.host}/`;\nexport const API_PROXY_PREFIX = 'api/plugin-proxy/corpglory-dataexporter-app';\nexport const API_PATH_PREFIX = '/api';\n\nconst instance = axios.create();\n\ninstance.interceptors.request.use(function (config) {\n config.validateStatus = (status) => {\n return status >= 200 && status < 300; // default\n };\n\n return {\n ...config,\n };\n});\n\ninterface RequestConfig {\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'OPTIONS';\n params?: any;\n data?: any;\n withCredentials?: boolean;\n validateStatus?: (status: number) => boolean;\n}\n\nexport const queryApi = async (path: string, config: RequestConfig) => {\n const { method = 'GET', params, data, validateStatus } = config;\n\n const url = `${API_PROXY_PREFIX}${API_PATH_PREFIX}${path}`;\n\n const response = await instance({\n method,\n url,\n params,\n data,\n validateStatus,\n });\n\n return response.data as RT;\n};\n\nexport async function getTasks(): Promise {\n return queryApi('/task', {});\n}\n\nexport async function deleteTask(taskId?: string): Promise {\n if (_.isEmpty(taskId)) {\n console.warn(`can't delete task without taskId`);\n return;\n }\n await queryApi('/task', { method: 'DELETE', data: { taskId } });\n}\n\nexport async function getStaticFile(taskId?: string): Promise {\n if (_.isEmpty(taskId)) {\n console.warn(`can't download file without taskId`);\n return;\n }\n const respData = await queryApi(`/static/${taskId}.csv`, {});\n // TODO: check if resp exists\n // create file link in browser's memory\n const href = URL.createObjectURL(new Blob([respData], { type: 'text/csv' }));\n\n // create \"a\" HTML element with href to file & click\n const link = document.createElement('a');\n link.href = href;\n link.setAttribute('download', `${taskId}.csv`);\n document.body.appendChild(link);\n link.click();\n\n // clean up \"a\" element & remove ObjectURL\n document.body.removeChild(link);\n URL.revokeObjectURL(href);\n}\n","import { getBackendSrv } from '@grafana/runtime';\n\nexport async function getDatasources() {\n const backendSrv = getBackendSrv();\n return backendSrv.get(`/api/datasources`);\n}\n\nexport async function getDashboardByUid(uid: string) {\n const backendSrv = getBackendSrv();\n return backendSrv.get(`/api/dashboards/uid/${uid}`);\n}\n","import { PanelOptions, ExportTask, DashboardQuery, DatasourceType, ExportStatus, PanelStatus } from '../types';\n\nimport { convertTimestampToDate, convertTimeZoneTypeToName, getDashboardUid } from '../../../utils';\nimport { CLOSE_ICON_BASE_64, DOWNLOAD_ICON_BASE_64, SELECT_ICON_BASE_64, UNSELECT_ICON_BASE_64 } from '../../../icons';\n\nimport { deleteTask, getStaticFile, getTasks, queryApi } from '../../../services/api_service';\nimport { getDashboardByUid, getDatasources } from '../../../services/grafana_backend_service';\n\nimport { contextSrv } from 'grafana/app/core/core';\nimport { css } from '@emotion/css';\n\nimport {\n Table,\n Button,\n HorizontalGroup,\n VerticalGroup,\n Modal,\n LoadingPlaceholder,\n TimeRangeInput,\n useStyles2,\n} from '@grafana/ui';\nimport {\n PanelProps,\n toDataFrame,\n FieldType,\n applyFieldOverrides,\n createTheme,\n DataFrame,\n DataLinkClickEvent,\n PanelModel,\n DataQuery,\n DataSourceSettings,\n TimeRange,\n OrgRole,\n} from '@grafana/data';\nimport { RefreshEvent } from '@grafana/runtime';\n\nimport React, { useState, useEffect } from 'react';\nimport * as _ from 'lodash';\n\nconst PANEL_ID = 'corpglory-dataexporter-panel';\nconst APP_ID = 'corpglory-dataexporter-app';\n\ninterface Props extends PanelProps {}\n\nexport function Panel({ width, height, timeRange, eventBus, timeZone }: Props) {\n // TODO: Dashboard type\n const [dashboard, setDashboard] = useState(null);\n const [datasources, setDatasources] = useState(null);\n\n const [tasks, setTasks] = useState(null);\n const [queries, setQueries] = useState(null);\n\n const [tasksDataFrame, setTasksDataFrame] = useState(null);\n const [queriesDataFrame, setQueriesDataFrame] = useState(null);\n\n const [isModalOpen, setModalVisibility] = useState(false);\n\n const [selectedTimeRange, setTimeRange] = useState(timeRange);\n\n const [panelStatus, setPanelStatus] = useState(PanelStatus.LOADING);\n\n const timeZoneName = convertTimeZoneTypeToName(timeZone);\n\n if (contextSrv.user.orgRole !== OrgRole.Admin) {\n // TODO: it shouldn't be overriten\n setPanelStatus(PanelStatus.PERMISSION_ERROR);\n }\n\n useEffect(() => {\n async function getCurrentDashboard(): Promise {\n const currentDashboardUid = getDashboardUid(window.location.toString());\n\n return getDashboardByUid(currentDashboardUid);\n }\n\n getCurrentDashboard()\n .then((dash) => setDashboard(dash.dashboard))\n .catch((err) => console.error(err));\n }, []);\n\n useEffect(() => {\n getDatasources()\n .then((datasources) => setDatasources(datasources))\n .catch((err) => console.error(err));\n }, []);\n\n useEffect(() => {\n if (!dashboard || !datasources) {\n return;\n }\n dashboard.panels.forEach((panel: PanelModel) => {\n const queries: DashboardQuery[] = [];\n\n // @ts-ignore\n if (panel.type === PANEL_ID) {\n return;\n }\n\n if (!_.includes(_.values(DatasourceType), panel.datasource?.type)) {\n return;\n }\n\n panel.targets?.forEach((target: DataQuery) => {\n const datasource = getDatasourceByUid(target.datasource?.uid);\n if (!datasource) {\n return;\n }\n queries.push({ selected: false, target, panel, datasource });\n });\n\n setQueries(queries);\n });\n }, [dashboard, datasources]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n if (tasks === null) {\n return;\n }\n const dataFrame = getDataFrameForTaskTable(tasks);\n setTasksDataFrame(dataFrame);\n }, [tasks]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(refresh, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n if (queries === null) {\n return;\n }\n setQueriesDataFrame(getDataFrameForQueriesTable(queries));\n }, [queries]); // eslint-disable-line react-hooks/exhaustive-deps\n\n function refresh(): void {\n getTasks()\n .then((tasks) => {\n setTasks(tasks);\n setPanelStatus(PanelStatus.OK);\n for (let task of tasks) {\n if (task.progress?.status === ExportStatus.EXPORTING) {\n setTimeout(refresh, 1000);\n return;\n }\n }\n })\n .catch((err) => {\n setPanelStatus(PanelStatus.DATASOURCE_ERROR);\n console.error('some error', err);\n });\n }\n\n eventBus.subscribe(RefreshEvent, refresh);\n\n function getDatasourceByUid(uid?: string): DataSourceSettings | undefined {\n if (_.isNil(uid)) {\n console.warn(`uid is required to get datasource`);\n return undefined;\n }\n if (datasources === null) {\n console.warn(`there is no datasources yet`);\n return undefined;\n }\n const datasource = _.find(datasources, (datasource: DataSourceSettings) => datasource.uid === uid);\n\n if (!datasource) {\n console.warn(`can't find datasource \"${uid}\"`);\n }\n\n return datasource;\n }\n\n async function onAddTaskClick(timeZoneName: string): Promise {\n const selectedQueries = _.filter(queries, (query: DashboardQuery) => query.selected);\n const timerange: [number, number] = [selectedTimeRange.from.unix(), selectedTimeRange.to.unix()];\n\n const task: ExportTask = {\n // @ts-ignore\n username: contextSrv.user.name,\n timeRange: {\n from: timerange[0] * 1000,\n to: timerange[1] * 1000,\n },\n queries: selectedQueries,\n };\n // TODO: move this function to API Service\n await queryApi('/task', {\n method: 'POST',\n data: {\n task,\n url: window.location.toString(),\n timeZoneName,\n },\n });\n\n refresh();\n\n onCloseModal();\n unselectAllQueries();\n }\n\n function unselectAllQueries(): void {\n if (queries === null) {\n return;\n }\n setQueries(queries.map((query: DashboardQuery) => ({ ...query, selected: false })));\n }\n\n function openDatasourceModal(): void {\n setTimeRange(timeRange);\n setModalVisibility(true);\n }\n\n function onCloseModal(): void {\n setModalVisibility(false);\n unselectAllQueries();\n }\n\n function getDataFrameForQueriesTable(queries: DashboardQuery[]): DataFrame {\n const dataFrame = toDataFrame({\n name: 'A',\n fields: [\n {\n name: 'Select',\n type: FieldType.string,\n values: _.map(\n queries,\n (query) => `data:image/svg+xml;base64,${query.selected ? SELECT_ICON_BASE_64 : UNSELECT_ICON_BASE_64}`\n ),\n config: {\n custom: {\n filterable: false,\n displayMode: 'image',\n },\n links: [\n {\n targetBlank: false,\n title: 'Select',\n url: '#',\n onClick: (event: DataLinkClickEvent) => onDatasourceSelectClick(event),\n },\n ],\n },\n },\n {\n name: 'Panel',\n type: FieldType.string,\n values: _.map(queries, (query) => query.panel.title),\n },\n {\n name: 'RefId',\n type: FieldType.string,\n values: _.map(queries, (query) => query.target.refId),\n },\n {\n name: 'Datasource',\n type: FieldType.string,\n values: _.map(queries, (query) => query.datasource.name),\n },\n ],\n });\n\n const dataFrames = applyFieldOverrides({\n data: [dataFrame],\n fieldConfig: {\n overrides: [],\n defaults: {},\n },\n theme: createTheme(),\n replaceVariables: (value: string) => value,\n });\n return dataFrames[0];\n }\n\n function getDataFrameForTaskTable(tasks: ExportTask[]): DataFrame {\n const dataFrame = toDataFrame({\n name: 'A',\n fields: [\n {\n name: 'Time',\n type: FieldType.number,\n values: _.map(tasks, (task) => convertTimestampToDate(task.progress?.time)),\n },\n {\n name: 'User',\n type: FieldType.string,\n values: _.map(tasks, (task) => task.username),\n },\n {\n name: 'Datasource',\n type: FieldType.string,\n values: _.map(tasks, (task) => task.queries.map((query) => query.datasource?.name).join(',')),\n },\n {\n name: 'Exported Rows',\n type: FieldType.number,\n values: _.map(tasks, (task) => task.progress?.exportedRowsCount),\n },\n {\n name: 'Progress',\n type: FieldType.string,\n values: _.map(tasks, (task) => `${((task.progress?.progress || 0) * 100).toFixed(0)}%`),\n },\n {\n name: 'Status',\n type: FieldType.string,\n values: _.map(tasks, (task) => task.progress?.status),\n },\n {\n name: 'Error',\n type: FieldType.string,\n values: _.map(tasks, (task) => task.progress?.errorMessage || '-'),\n },\n {\n name: 'Download CSV',\n type: FieldType.string,\n values: _.map(tasks, () => `data:image/png;base64,${DOWNLOAD_ICON_BASE_64}`),\n config: {\n custom: {\n filterable: false,\n displayMode: 'image',\n },\n links: [\n {\n targetBlank: false,\n title: 'Download',\n url: '#',\n onClick: (event: DataLinkClickEvent) => onDownloadClick(event),\n },\n ],\n },\n },\n {\n name: 'Delete task',\n type: FieldType.string,\n values: _.map(tasks, () => `data:image/png;base64,${CLOSE_ICON_BASE_64}`),\n config: {\n custom: {\n filterable: false,\n displayMode: 'image',\n },\n links: [\n {\n targetBlank: false,\n title: 'Delete',\n url: '#',\n onClick: (event: DataLinkClickEvent) => onDeleteClick(event),\n },\n ],\n },\n },\n ],\n });\n\n const dataFrames = applyFieldOverrides({\n data: [dataFrame],\n fieldConfig: {\n overrides: [],\n defaults: {},\n },\n theme: createTheme(),\n replaceVariables: (value: string) => value,\n });\n return dataFrames[0];\n }\n\n async function onDeleteClick(e: DataLinkClickEvent): Promise {\n const rowIndex = e.origin.rowIndex;\n\n const task = _.find(tasks, (task, idx) => idx === rowIndex);\n await deleteTask(task?.id);\n\n const filteredTasks = _.filter(tasks, (task, idx) => idx !== rowIndex);\n setTasks(filteredTasks);\n }\n\n function onDownloadClick(e: DataLinkClickEvent): void {\n const rowIndex = e.origin.rowIndex;\n const task = _.find(tasks, (task, idx) => idx === rowIndex);\n getStaticFile(task?.id);\n }\n\n function onDatasourceSelectClick(e: DataLinkClickEvent): void {\n if (queries === null) {\n return;\n }\n const rowIndex = e.origin.rowIndex;\n const updatedQueries = _.clone(queries);\n updatedQueries[rowIndex].selected = !updatedQueries[rowIndex].selected;\n setQueries(updatedQueries);\n }\n\n const styles = useStyles2(getStyles);\n\n const loadingDiv = ;\n // TODO: add styles\n const datasourceErrorDiv = (\n
\n

Datasource is unavailable.

\n
\n Click here to configure DataExporter.\n
\n {/* TODO: display error message? */}\n
\n );\n const permissionErrorDiv = (\n
\n

Permission Error.

\n
DataExporter panel availabel only for Admins
\n
\n );\n const mainDiv = (\n
\n \n \n \n Add Task\n \n \n {queriesDataFrame === null ? (\n // TODO: if datasource responds with error, display the error\n \n ) : (\n
\n \n \n {\n setTimeRange(newTimeRange);\n }}\n />\n \n
\n \n onAddTaskClick(timeZoneName)}\n // TODO: move to function\n disabled={!queries?.filter((query: DashboardQuery) => query.selected)?.length}\n >\n Add Task\n \n \n \n \n )}\n \n \n \n );\n\n function renderSwitch(panelStatus: PanelStatus): JSX.Element {\n switch (panelStatus) {\n case PanelStatus.LOADING:\n return loadingDiv;\n case PanelStatus.DATASOURCE_ERROR:\n return datasourceErrorDiv;\n case PanelStatus.PERMISSION_ERROR:\n return permissionErrorDiv;\n case PanelStatus.OK:\n return mainDiv;\n default:\n return datasourceErrorDiv;\n }\n }\n return
{renderSwitch(panelStatus)}
;\n}\n\nconst getStyles = () => ({\n calendarModal: css`\n section {\n position: fixed;\n top: 20%;\n z-index: 1061;\n }\n `,\n});\n","import { PanelOptions } from './types';\n\nimport { Panel } from './components/Panel';\n\nimport { PanelPlugin } from '@grafana/data';\n\nexport const plugin = new PanelPlugin(Panel);\n"],"names":["module","exports","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__10__","self","FormData","window","__WEBPACK_EXTERNAL_MODULE__13__","__WEBPACK_EXTERNAL_MODULE__14__","__WEBPACK_EXTERNAL_MODULE__15__","__WEBPACK_EXTERNAL_MODULE__28__","__WEBPACK_EXTERNAL_MODULE__29__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","DatasourceType","PanelStatus","ExportStatus","getDashboardUid","url","matches","URL","pathname","match","Error","CLOSE_ICON_BASE_64","DOWNLOAD_ICON_BASE_64","UNSELECT_ICON_BASE_64","SELECT_ICON_BASE_64","bind","fn","thisArg","apply","arguments","toString","getPrototypeOf","kindOf","cache","create","thing","str","slice","toLowerCase","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","iterator","isDate","isFile","isBlob","isFileList","isURLSearchParams","forEach","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","defineProperties","isBuffer","constructor","isFormData","pattern","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","this","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","forEachEntry","next","done","pair","matchAll","regExp","exec","push","hasOwnProp","freezeMethods","writable","set","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","Number","isFinite","toJSONObject","stack","visit","source","target","reducedValue","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","predicates","test","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","append","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","navigator","document","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","classes","protocols","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","e","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","has","matcher","delete","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","static","first","computed","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","configurable","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","charAt","location","requestURL","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","Math","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","knownAdapters","http","xhr","XMLHttpRequest","Promise","resolve","reject","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","floor","settle","err","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","send","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","version","opt","opts","desc","formatMessage","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","axios","createInstance","defaultConfig","instance","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","default","queryApi","deleteTask","taskId","_","respData","createObjectURL","link","body","appendChild","click","removeChild","revokeObjectURL","backendSrv","getBackendSrv","getDashboardByUid","uid","getStyles","calendarModal","css","plugin","PanelPlugin","width","height","timeRange","eventBus","timeZone","useState","dashboard","setDashboard","datasources","setDatasources","tasks","setTasks","queries","setQueries","tasksDataFrame","setTasksDataFrame","queriesDataFrame","setQueriesDataFrame","isModalOpen","setModalVisibility","selectedTimeRange","setTimeRange","LOADING","panelStatus","setPanelStatus","timeZoneName","Intl","DateTimeFormat","resolvedOptions","convertTimeZoneTypeToName","refresh","getTasks","OK","EXPORTING","DATASOURCE_ERROR","selectedQueries","query","selected","timerange","unix","to","task","contextSrv","onCloseModal","unselectAllQueries","rowIndex","origin","idx","filteredTasks","onDownloadClick","getStaticFile","onDatasourceSelectClick","updatedQueries","OrgRole","PERMISSION_ERROR","useEffect","currentDashboardUid","getCurrentDashboard","dash","getDatasources","panels","panel","datasource","getDatasourceByUid","dataFrame","toDataFrame","fields","FieldType","values","timestamp","time","toLocaleString","year","month","day","hour","minute","second","exportedRowsCount","toFixed","errorMessage","custom","filterable","displayMode","links","targetBlank","title","onClick","onDeleteClick","applyFieldOverrides","fieldConfig","overrides","theme","createTheme","replaceVariables","getDataFrameForTaskTable","refId","getDataFrameForQueriesTable","RefreshEvent","styles","useStyles2","loadingDiv","LoadingPlaceholder","text","datasourceErrorDiv","permissionErrorDiv","mainDiv","Table","HorizontalGroup","justify","Button","variant","icon","style","marginTop","Modal","isOpen","onDismiss","className","VerticalGroup","spacing","TimeRangeInput","onChange","newTimeRange","onAddTaskClick","disabled","renderSwitch"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"panels/corpglory-dataexporter-panel/module.js","mappings":"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","sources":["webpack:///external amd \"react\"","webpack:///external amd \"@grafana/ui\"","webpack:///external amd \"@grafana/data\"","webpack:///../node_modules/axios/node_modules/form-data/lib/browser.js","webpack:///external amd \"lodash\"","webpack:///external amd \"@grafana/runtime\"","webpack:///external amd \"app/core/app_events\"","webpack:///external amd \"app/core/core\"","webpack:///external amd \"@emotion/css\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///./panels/corpglory-dataexporter-panel/types.ts","webpack:///./utils/index.ts","webpack:///./icons.ts","webpack:///../node_modules/axios/lib/helpers/bind.js","webpack:///../node_modules/axios/lib/utils.js","webpack:///../node_modules/axios/lib/core/AxiosError.js","webpack:///../node_modules/axios/lib/env/classes/FormData.js","webpack:///../node_modules/axios/lib/helpers/toFormData.js","webpack:///../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack:///../node_modules/axios/lib/helpers/buildURL.js","webpack:///../node_modules/axios/lib/core/InterceptorManager.js","webpack:///../node_modules/axios/lib/defaults/transitional.js","webpack:///../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack:///../node_modules/axios/lib/platform/browser/classes/FormData.js","webpack:///../node_modules/axios/lib/platform/browser/index.js","webpack:///../node_modules/axios/lib/helpers/formDataToJSON.js","webpack:///../node_modules/axios/lib/defaults/index.js","webpack:///../node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack:///../node_modules/axios/lib/helpers/parseHeaders.js","webpack:///../node_modules/axios/lib/core/AxiosHeaders.js","webpack:///../node_modules/axios/lib/core/transformData.js","webpack:///../node_modules/axios/lib/cancel/isCancel.js","webpack:///../node_modules/axios/lib/cancel/CanceledError.js","webpack:///../node_modules/axios/lib/helpers/cookies.js","webpack:///../node_modules/axios/lib/core/buildFullPath.js","webpack:///../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///../node_modules/axios/lib/helpers/combineURLs.js","webpack:///../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///../node_modules/axios/lib/helpers/speedometer.js","webpack:///../node_modules/axios/lib/adapters/xhr.js","webpack:///../node_modules/axios/lib/adapters/adapters.js","webpack:///../node_modules/axios/lib/helpers/null.js","webpack:///../node_modules/axios/lib/core/settle.js","webpack:///../node_modules/axios/lib/helpers/parseProtocol.js","webpack:///../node_modules/axios/lib/core/dispatchRequest.js","webpack:///../node_modules/axios/lib/core/mergeConfig.js","webpack:///../node_modules/axios/lib/env/data.js","webpack:///../node_modules/axios/lib/helpers/validator.js","webpack:///../node_modules/axios/lib/core/Axios.js","webpack:///../node_modules/axios/lib/cancel/CancelToken.js","webpack:///../node_modules/axios/lib/axios.js","webpack:///../node_modules/axios/lib/helpers/spread.js","webpack:///../node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./services/api_service.ts","webpack:///./services/grafana_backend_service.ts","webpack:///./panels/corpglory-dataexporter-panel/components/Panel.tsx","webpack:///./panels/corpglory-dataexporter-panel/module.ts"],"sourcesContent":["module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","module.exports = __WEBPACK_EXTERNAL_MODULE__10__;","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__13__;","module.exports = __WEBPACK_EXTERNAL_MODULE__14__;","module.exports = __WEBPACK_EXTERNAL_MODULE__15__;","module.exports = __WEBPACK_EXTERNAL_MODULE__28__;","module.exports = __WEBPACK_EXTERNAL_MODULE__29__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { DataQuery, DataSourceSettings, PanelModel } from '@grafana/data';\n\nexport interface PanelOptions {}\n\nexport enum DatasourceType {\n INFLUXDB = 'influxdb',\n GRAPHITE = 'graphite',\n PROMETHEUS = 'prometheus',\n POSTGRES = 'postgres',\n ELASTICSEARCH = 'elasticsearch',\n MYSQL = 'mysql',\n}\n\nexport enum PanelStatus {\n LOADING = 'Loading',\n DATASOURCE_ERROR = 'Datasource Error',\n PERMISSION_ERROR = 'Permission Error',\n OK = 'Ok',\n}\n\nexport enum ExportStatus {\n EXPORTING = 'exporting',\n FINISHED = 'finished',\n ERROR = 'error',\n}\n\nexport type ExportProgress = {\n time: number;\n exportedRowsCount: number;\n progress: number;\n status: ExportStatus;\n errorMessage?: string;\n};\n\nexport type ExportTask = {\n dashboardUid: string;\n username: string;\n queries: DashboardQuery[];\n timeRange: {\n from: number;\n to: number;\n };\n progress?: ExportProgress;\n id?: string;\n};\n\nexport type DashboardQuery = {\n selected: boolean;\n target: DataQuery;\n panel: PanelModel;\n datasource: DataSourceSettings;\n};\n\nexport interface Dashboard {\n /**\n * TODO docs\n */\n annotations?: {\n list: any[];\n };\n /**\n * Description of dashboard.\n */\n description?: string;\n /**\n * Whether a dashboard is editable or not.\n */\n editable: boolean;\n /**\n * TODO docs\n */\n fiscalYearStartMonth?: number;\n gnetId?: string;\n graphTooltip: any;\n /**\n * Unique numeric identifier for the dashboard.\n * TODO must isolate or remove identifiers local to a Grafana instance...?\n */\n id?: number;\n /**\n * TODO docs\n */\n links?: any[];\n /**\n * TODO docs\n */\n liveNow?: boolean;\n panels?: PanelModel[];\n /**\n * TODO docs\n */\n refresh?: string | false;\n /**\n * Version of the JSON schema, incremented each time a Grafana update brings\n * changes to said schema.\n * TODO this is the existing schema numbering system. It will be replaced by Thema's themaVersion\n */\n schemaVersion: number;\n /**\n * Theme of dashboard.\n */\n style: 'light' | 'dark';\n /**\n * Tags associated with dashboard.\n */\n tags?: string[];\n /**\n * TODO docs\n */\n templating?: {\n list: any[];\n };\n /**\n * Time range for dashboard, e.g. last 6 hours, last 7 days, etc\n */\n time?: {\n from: string;\n to: string;\n };\n /**\n * TODO docs\n * TODO this appears to be spread all over in the frontend. Concepts will likely need tidying in tandem with schema changes\n */\n timepicker?: {\n /**\n * Whether timepicker is collapsed or not.\n */\n collapse: boolean;\n /**\n * Whether timepicker is enabled or not.\n */\n enable: boolean;\n /**\n * Whether timepicker is visible or not.\n */\n hidden: boolean;\n /**\n * Selectable intervals for auto-refresh.\n */\n refresh_intervals: string[];\n /**\n * TODO docs\n */\n time_options: string[];\n };\n /**\n * Timezone of dashboard,\n */\n timezone?: 'browser' | 'utc' | string;\n /**\n * Title of dashboard.\n */\n title?: string;\n /**\n * Unique dashboard identifier that can be generated by anyone. string (8-40)\n */\n uid?: string;\n /**\n * Version of the dashboard, incremented each time the dashboard is updated.\n */\n version?: number;\n /**\n * TODO docs\n */\n weekStart?: string;\n}\n","import { AppEvents, TimeZone } from '@grafana/data';\n// @ts-ignore\nimport appEvents from 'grafana/app/core/app_events';\n\nexport function openNotification(message: React.ReactNode) {\n appEvents.emit(AppEvents.alertSuccess, [message]);\n}\n\nexport function getCurrentDashboardUid(): string {\n const url = window.location.toString();\n\n const matches = new URL(url).pathname.match(/\\/d\\/([^/]+)/);\n if (!matches) {\n throw new Error(`Can't get current dashboard uid. If it's a new dashboard, please save it first.`);\n } else {\n return matches[1];\n }\n}\n\nexport function convertTimestampToDate(timestamp?: number): string {\n const options: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n };\n return timestamp ? new Date(timestamp).toLocaleString('en-GB', options) : '-';\n}\n\nexport function convertTimeZoneTypeToName(timeZone: TimeZone): string {\n switch (timeZone) {\n case 'utc':\n return 'Etc/UTC';\n case 'browser':\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n default:\n return timeZone;\n }\n}\n","export const CLOSE_ICON_BASE_64 =\n 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACJSURBVHgB7ZPRCcAgDESv0lWc0zhC53OIjmAVUpCSamL76YEoyfFIiAGWfldK6SwnKHyhep9xJ3iPcqgH5RyxV1VlBWYJypXVHMEiCaqBbRhAy3W3B76j954wq6ZSVZsOY+WXt6i9l2ymGTlUq0VpOcIqaQC96Zth01DN1zBBefVI4SNp9Za+6wLcH6DKFrfpxgAAAABJRU5ErkJggg==';\nexport const OPTIONS_ICON_BASE_64 =\n 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAS1BMVEUAAADH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0NnH0Nn///+uWGxHAAAAF3RSTlMAABI4MAgNNbzy7JcQG6zvoPxPbavwDHoS9oEAAAABYktHRBibaYUeAAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5wEUFy4lfOQAfAAAAFdJREFUGNPFjkkKwCAQBEcd912TzP9/GglIQvBuXQoamm6ArbCHv7hAOaS0VkMSBWeAxjofIKacU4TgnTUIhYhqgz5EHVodKutw1o98vvU5dH2Hlpe2cgMuNAUd58WuNgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMy0wMS0yMFQyMDo0NjozNyswMzowMDMOisYAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjMtMDEtMjBUMjA6NDY6MzcrMDM6MDBCUzJ6AAAAAElFTkSuQmCC';\nexport const UNSELECT_ICON_BASE_64 =\n 'PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgcng9IjEuNSIgZmlsbD0iIzExMTIxNiIgc3Ryb2tlPSIjMkQyRTM0Ii8+Cjwvc3ZnPgo=';\nexport const SELECT_ICON_BASE_64 =\n 'PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiIgZmlsbD0iIzRBNzFEMiIvPgo8cGF0aCBkPSJNNS45ODI2NCAxMi41MjE3QzUuNzczOTUgMTIuNTIxNyA1LjU4MjY0IDEyLjQ1MjIgNS40MjYxMiAxMi4yOTU2TDEuOTY1MjUgOC44MzQ3NkMxLjY1MjIxIDguNTIxNzIgMS42NTIyMSA4LjAzNDc2IDEuOTY1MjUgNy43MjE3MkMyLjI3ODI5IDcuNDA4NjcgMi43NjUyNSA3LjQwODY3IDMuMDc4MjkgNy43MjE3Mkw2LjAwMDAzIDEwLjYyNjFMMTIuOTM5MiAzLjcwNDMzQzEzLjI1MjIgMy4zOTEyOCAxMy43MzkyIDMuMzkxMjggMTQuMDUyMiAzLjcwNDMzQzE0LjM2NTMgNC4wMTczNyAxNC4zNjUzIDQuNTA0MzMgMTQuMDUyMiA0LjgxNzM3TDYuNTU2NTYgMTIuMjk1NkM2LjM4MjY0IDEyLjQ1MjIgNi4xOTEzNCAxMi41MjE3IDUuOTgyNjQgMTIuNTIxN1YxMi41MjE3WiIgZmlsbD0iI0ZFRkZGRiIvPgo8L3N2Zz4K';\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self;\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n toJSONObject\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","import FormData from 'form-data';\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear() {\n return Object.keys(this).forEach(this.delete.bind(this));\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.2.1\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import { ExportTask } from '../panels/corpglory-dataexporter-panel/types';\n\nimport axios from 'axios';\nimport * as _ from 'lodash';\n\nexport const API_HOST = `${window.location.protocol}//${window.location.host}/`;\nexport const API_PROXY_PREFIX = 'api/plugin-proxy/corpglory-dataexporter-app';\nexport const API_PATH_PREFIX = '/api';\n\nconst instance = axios.create();\n\ninstance.interceptors.request.use(function (config) {\n config.validateStatus = (status) => {\n return status >= 200 && status < 300; // default\n };\n\n return {\n ...config,\n };\n});\n\ninterface RequestConfig {\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'OPTIONS';\n params?: any;\n data?: any;\n withCredentials?: boolean;\n validateStatus?: (status: number) => boolean;\n}\n\nexport const queryApi = async (path: string, config: RequestConfig) => {\n const { method = 'GET', params, data, validateStatus } = config;\n\n const url = `${API_PROXY_PREFIX}${API_PATH_PREFIX}${path}`;\n\n const response = await instance({\n method,\n url,\n params,\n data,\n validateStatus,\n });\n\n return response.data as RT;\n};\n\nexport async function getTasks(dashboardUid: string): Promise {\n return queryApi('/task', { params: { dashboardUid } });\n}\n\nexport async function deleteTask(taskId?: string): Promise {\n if (_.isEmpty(taskId)) {\n console.warn(`can't delete task without taskId`);\n return;\n }\n await queryApi('/task', { method: 'DELETE', data: { taskId } });\n}\n\nexport async function getStaticFile(taskId?: string): Promise {\n if (_.isEmpty(taskId)) {\n console.warn(`can't download file without taskId`);\n return;\n }\n const respData = await queryApi(`/static/${taskId}.csv`, {});\n // TODO: check if resp exists\n // create file link in browser's memory\n const href = URL.createObjectURL(new Blob([respData], { type: 'text/csv' }));\n\n // create \"a\" HTML element with href to file & click\n const link = document.createElement('a');\n link.href = href;\n link.setAttribute('download', `${taskId}.csv`);\n document.body.appendChild(link);\n link.click();\n\n // clean up \"a\" element & remove ObjectURL\n document.body.removeChild(link);\n URL.revokeObjectURL(href);\n}\n","import { getBackendSrv } from '@grafana/runtime';\n\nexport async function getDatasources() {\n const backendSrv = getBackendSrv();\n return backendSrv.get(`/api/datasources`);\n}\n\nexport async function getDashboardByUid(uid: string) {\n const backendSrv = getBackendSrv();\n return backendSrv.get(`/api/dashboards/uid/${uid}`);\n}\n","import {\n PanelOptions,\n ExportTask,\n DashboardQuery,\n DatasourceType,\n ExportStatus,\n PanelStatus,\n Dashboard,\n} from '../types';\n\nimport { convertTimestampToDate, convertTimeZoneTypeToName, getCurrentDashboardUid } from '../../../utils';\nimport { CLOSE_ICON_BASE_64, OPTIONS_ICON_BASE_64, SELECT_ICON_BASE_64, UNSELECT_ICON_BASE_64 } from '../../../icons';\n\nimport { deleteTask, getStaticFile, getTasks, queryApi } from '../../../services/api_service';\nimport { getDashboardByUid, getDatasources } from '../../../services/grafana_backend_service';\n\nimport { appEvents, contextSrv } from 'grafana/app/core/core';\nimport { css } from '@emotion/css';\n\nimport {\n Table,\n Button,\n HorizontalGroup,\n VerticalGroup,\n Modal,\n LoadingPlaceholder,\n TimeRangeInput,\n useStyles2,\n} from '@grafana/ui';\nimport {\n PanelProps,\n toDataFrame,\n FieldType,\n applyFieldOverrides,\n createTheme,\n DataFrame,\n DataLinkClickEvent,\n PanelModel,\n DataQuery,\n DataSourceSettings,\n TimeRange,\n OrgRole,\n AppEvents,\n} from '@grafana/data';\nimport { RefreshEvent } from '@grafana/runtime';\n\nimport React, { useState, useEffect } from 'react';\nimport * as _ from 'lodash';\n\nconst PANEL_ID = 'corpglory-dataexporter-panel';\nconst APP_ID = 'corpglory-dataexporter-app';\n\ninterface Props extends PanelProps {}\n\nexport function Panel({ width, height, timeRange, eventBus, timeZone }: Props) {\n const [dashboard, setDashboard] = useState(null);\n const [datasources, setDatasources] = useState(null);\n\n const [tasks, setTasks] = useState(null);\n const [queries, setQueries] = useState(null);\n\n const [tasksDataFrame, setTasksDataFrame] = useState(null);\n const [queriesDataFrame, setQueriesDataFrame] = useState(null);\n\n const [isModalOpen, setModalVisibility] = useState(false);\n\n const [selectedTimeRange, setTimeRange] = useState(timeRange);\n\n const [panelStatus, setPanelStatus] = useState(PanelStatus.LOADING);\n function setPanelStatusWithValidate(status: PanelStatus): void {\n if (panelStatus === PanelStatus.PERMISSION_ERROR) {\n return;\n }\n return setPanelStatus(status);\n }\n\n const [errorMessage, setErrorMessage] = useState(null);\n\n const timeZoneName = convertTimeZoneTypeToName(timeZone);\n\n if (contextSrv.user.orgRole !== OrgRole.Admin) {\n setPanelStatusWithValidate(PanelStatus.PERMISSION_ERROR);\n }\n\n useEffect(() => {\n async function getCurrentDashboard(): Promise {\n const currentDashboardUid = getCurrentDashboardUid();\n\n return getDashboardByUid(currentDashboardUid);\n }\n\n getCurrentDashboard()\n .then((dash) => setDashboard(dash.dashboard))\n .catch((err) => console.error(err));\n }, []);\n\n useEffect(() => {\n getDatasources()\n .then((datasources) => setDatasources(datasources))\n .catch((err) => console.error(err));\n }, []);\n\n useEffect(() => {\n if (tasks === null) {\n return;\n }\n const dataFrame = getDataFrameForTaskTable(tasks);\n setTasksDataFrame(dataFrame);\n }, [tasks]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(fetchTasks, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n if (queries === null) {\n return;\n }\n setQueriesDataFrame(getDataFrameForQueriesTable(queries));\n }, [queries]); // eslint-disable-line react-hooks/exhaustive-deps\n\n async function updateQueries(): Promise {\n if (!dashboard || !datasources) {\n console.warn(`Can't update queries if there is no dashboard or datasources`);\n return;\n }\n\n const queries: DashboardQuery[] = [];\n dashboard.panels?.forEach((panel: PanelModel) => {\n // @ts-ignore\n if (panel.type === PANEL_ID) {\n return;\n }\n\n if (!_.includes(_.values(DatasourceType), panel.datasource?.type)) {\n return;\n }\n\n panel.targets?.forEach((target: DataQuery) => {\n const datasource = getDatasourceByUid(target.datasource?.uid);\n if (!datasource) {\n return;\n }\n queries.push({ selected: false, target, panel, datasource });\n });\n });\n setQueries(queries);\n }\n\n function fetchTasks(): void {\n const dashboardUid = getCurrentDashboardUid();\n\n getTasks(dashboardUid)\n .then((tasks) => {\n setTasks(tasks);\n setPanelStatusWithValidate(PanelStatus.OK);\n for (let task of tasks) {\n if (task.progress?.status === ExportStatus.EXPORTING) {\n setTimeout(fetchTasks, 1000);\n return;\n }\n }\n })\n .catch((err) => {\n setPanelStatusWithValidate(PanelStatus.DATASOURCE_ERROR);\n console.error('some error', err);\n setErrorMessage(`${err.name}: ${err.message}`);\n });\n }\n\n eventBus.subscribe(RefreshEvent, fetchTasks);\n\n function getDatasourceByUid(uid?: string): DataSourceSettings | undefined {\n if (_.isNil(uid)) {\n console.warn(`uid is required to get datasource`);\n return undefined;\n }\n if (datasources === null) {\n console.warn(`there is no datasources yet`);\n return undefined;\n }\n const datasource = _.find(datasources, (datasource: DataSourceSettings) => datasource.uid === uid);\n\n if (!datasource) {\n console.warn(`can't find datasource \"${uid}\"`);\n }\n\n return datasource;\n }\n\n async function onAddTaskClick(timeZoneName: string): Promise {\n const selectedQueries = _.filter(queries, (query: DashboardQuery) => query.selected);\n const timerange: [number, number] = [selectedTimeRange.from.unix(), selectedTimeRange.to.unix()];\n\n const dashboardUid = getCurrentDashboardUid();\n\n const task: ExportTask = {\n dashboardUid,\n // @ts-ignore\n username: contextSrv.user.name,\n timeRange: {\n from: timerange[0] * 1000,\n to: timerange[1] * 1000,\n },\n queries: selectedQueries,\n };\n // TODO: move this function to API Service\n await queryApi('/task', {\n method: 'POST',\n data: {\n task,\n url: window.location.toString(),\n timeZoneName,\n },\n });\n\n fetchTasks();\n\n onCloseModal();\n unselectAllQueries();\n }\n\n function unselectAllQueries(): void {\n if (queries === null) {\n return;\n }\n setQueries(queries.map((query: DashboardQuery) => ({ ...query, selected: false })));\n }\n\n function openDatasourceModal(): void {\n updateQueries();\n setTimeRange(timeRange);\n setModalVisibility(true);\n }\n\n function onCloseModal(): void {\n setModalVisibility(false);\n unselectAllQueries();\n }\n\n function getDataFrameForQueriesTable(queries: DashboardQuery[]): DataFrame {\n const dataFrame = toDataFrame({\n name: 'A',\n fields: [\n {\n name: 'Select',\n type: FieldType.string,\n values: _.map(\n queries,\n (query) => `data:image/svg+xml;base64,${query.selected ? SELECT_ICON_BASE_64 : UNSELECT_ICON_BASE_64}`\n ),\n config: {\n custom: {\n filterable: false,\n displayMode: 'image',\n },\n links: [\n {\n targetBlank: false,\n title: 'Select',\n url: '#',\n onClick: (event: DataLinkClickEvent) => onDatasourceSelectClick(event),\n },\n ],\n },\n },\n {\n name: 'Panel',\n type: FieldType.string,\n values: _.map(queries, (query) => query.panel.title),\n },\n {\n name: 'RefId',\n type: FieldType.string,\n values: _.map(queries, (query) => query.target.refId),\n },\n {\n name: 'Datasource',\n type: FieldType.string,\n values: _.map(queries, (query) => query.datasource.name),\n },\n ],\n });\n\n const dataFrames = applyFieldOverrides({\n data: [dataFrame],\n fieldConfig: {\n overrides: [],\n defaults: {},\n },\n theme: createTheme(),\n replaceVariables: (value: string) => value,\n });\n return dataFrames[0];\n }\n\n function getDataFrameForTaskTable(tasks: ExportTask[]): DataFrame {\n const sortedTasks = _.orderBy(tasks, (task) => task.progress?.time, 'desc');\n const dataFrame = toDataFrame({\n name: 'A',\n fields: [\n {\n name: 'Status Updated At',\n type: FieldType.number,\n values: _.map(sortedTasks, (task) => convertTimestampToDate(task.progress?.time)),\n },\n {\n name: 'From',\n type: FieldType.number,\n values: _.map(sortedTasks, (task) => convertTimestampToDate(task.timeRange.from)),\n },\n {\n name: 'To',\n type: FieldType.number,\n values: _.map(sortedTasks, (task) => convertTimestampToDate(task.timeRange.to)),\n },\n {\n name: 'User',\n type: FieldType.string,\n values: _.map(sortedTasks, (task) => task.username),\n },\n {\n name: 'Datasource',\n type: FieldType.string,\n values: _.map(sortedTasks, (task) => task.queries.map((query) => query.datasource?.name).join(',')),\n },\n {\n name: 'Exported Rows',\n type: FieldType.number,\n values: _.map(sortedTasks, (task) => task.progress?.exportedRowsCount),\n },\n {\n name: 'Progress',\n type: FieldType.string,\n values: _.map(sortedTasks, (task) => `${((task.progress?.progress || 0) * 100).toFixed(0)}%`),\n },\n {\n name: 'Status',\n type: FieldType.string,\n values: _.map(sortedTasks, (task) => task.progress?.status),\n },\n {\n name: 'Error',\n type: FieldType.string,\n values: _.map(sortedTasks, (task) => task.progress?.errorMessage || '-'),\n },\n {\n name: 'Actions',\n type: FieldType.string,\n values: _.map(sortedTasks, (task) => {\n switch (task.progress?.status) {\n case ExportStatus.FINISHED:\n return `data:image/png;base64,${OPTIONS_ICON_BASE_64}`;\n case ExportStatus.ERROR:\n return `data:image/png;base64,${CLOSE_ICON_BASE_64}`;\n case ExportStatus.EXPORTING:\n return ``;\n default:\n throw new Error(`Unknown exporting status: ${task.progress?.status}`);\n }\n }),\n config: {\n custom: {\n filterable: false,\n displayMode: 'image',\n },\n },\n },\n ],\n });\n\n const dataFrames = applyFieldOverrides({\n data: [dataFrame],\n fieldConfig: {\n overrides: [],\n defaults: {},\n },\n theme: createTheme(),\n replaceVariables: (value: string) => value,\n });\n\n // @ts-expect-error\n dataFrames[0].fields[9].getLinks = (cell: { valueRowIndex: number }) => {\n const rowIndex = cell.valueRowIndex;\n const task = _.find(sortedTasks, (task, idx) => idx === rowIndex);\n if (!task) {\n return;\n }\n switch (task.progress?.status) {\n case ExportStatus.FINISHED:\n return [\n {\n targetBlank: false,\n title: 'Download',\n url: '#',\n onClick: () => onDownloadClick(task),\n },\n {\n targetBlank: false,\n title: 'Delete',\n url: '#',\n onClick: () => onDeleteClick(task),\n },\n ];\n case ExportStatus.ERROR:\n return [\n {\n targetBlank: false,\n title: 'Delete',\n url: '#',\n onClick: () => onDeleteClick(task),\n },\n ];\n case ExportStatus.EXPORTING:\n return [];\n default:\n throw new Error(`Unknown exporting status: ${task.progress?.status}`);\n }\n };\n return dataFrames[0];\n }\n\n async function onDeleteClick(taskToDelete: ExportTask): Promise {\n await deleteTask(taskToDelete?.id);\n\n const filteredTasks = _.filter(tasks, (task) => task.id !== taskToDelete.id);\n setTasks(filteredTasks);\n }\n\n function onDownloadClick(task: ExportTask): void {\n appEvents.emit(AppEvents.alertSuccess, ['CSV has started downloading...']);\n getStaticFile(task?.id);\n }\n\n function onDatasourceSelectClick(e: DataLinkClickEvent): void {\n if (queries === null) {\n return;\n }\n const rowIndex = e.origin.rowIndex;\n const updatedQueries = _.clone(queries);\n updatedQueries[rowIndex].selected = !updatedQueries[rowIndex].selected;\n setQueries(updatedQueries);\n }\n\n const styles = useStyles2(getStyles);\n\n const loadingDiv = ;\n // TODO: add styles\n const datasourceErrorDiv = (\n
\n

Datasource is unavailable.

\n
\n If you have not setup the plugin click\n \n here\n \n to configure DataExporter.\n
\n

{errorMessage}

\n
\n );\n const permissionErrorDiv = (\n
\n

Permission Error.

\n
DataExporter panel available only for Admins.
\n
\n );\n const mainDiv = (\n
\n
\n \n \n \n {queriesDataFrame === null ? (\n
\n

There are no queries to export.

\n
\n ) : (\n
\n \n \n {\n setTimeRange(newTimeRange);\n }}\n />\n \n
\n \n onAddTaskClick(timeZoneName)}\n // TODO: move to function\n disabled={!queries?.filter((query: DashboardQuery) => query.selected)?.length}\n >\n Add Task\n \n \n \n \n )}\n \n \n \n );\n\n function renderSwitch(panelStatus: PanelStatus): JSX.Element {\n switch (panelStatus) {\n case PanelStatus.LOADING:\n return loadingDiv;\n case PanelStatus.DATASOURCE_ERROR:\n return datasourceErrorDiv;\n case PanelStatus.PERMISSION_ERROR:\n return permissionErrorDiv;\n case PanelStatus.OK:\n return mainDiv;\n default:\n return datasourceErrorDiv;\n }\n }\n return
{renderSwitch(panelStatus)}
;\n}\n\nconst getStyles = () => ({\n calendarModal: css`\n section {\n position: fixed;\n top: 20%;\n z-index: 1061;\n }\n `,\n customLink: css`\n color: #6e9fff;\n margin: 0 4px;\n &:hover {\n text-decoration: underline;\n }\n `,\n});\n","import { PanelOptions } from './types';\n\nimport { Panel } from './components/Panel';\n\nimport { PanelPlugin } from '@grafana/data';\n\nexport const plugin = new PanelPlugin(Panel);\n"],"names":["module","exports","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__10__","self","FormData","window","__WEBPACK_EXTERNAL_MODULE__13__","__WEBPACK_EXTERNAL_MODULE__14__","__WEBPACK_EXTERNAL_MODULE__15__","__WEBPACK_EXTERNAL_MODULE__28__","__WEBPACK_EXTERNAL_MODULE__29__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","DatasourceType","PanelStatus","ExportStatus","getCurrentDashboardUid","url","location","toString","matches","URL","pathname","match","Error","convertTimestampToDate","timestamp","Date","toLocaleString","year","month","day","hour","minute","second","CLOSE_ICON_BASE_64","OPTIONS_ICON_BASE_64","UNSELECT_ICON_BASE_64","SELECT_ICON_BASE_64","bind","fn","thisArg","apply","arguments","getPrototypeOf","kindOf","cache","create","thing","str","slice","toLowerCase","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","iterator","isDate","isFile","isBlob","isFileList","isURLSearchParams","forEach","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","defineProperties","isBuffer","constructor","isFormData","pattern","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","caseless","this","assignValue","targetKey","extend","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","forEachEntry","next","done","pair","matchAll","regExp","exec","push","hasOwnProp","freezeMethods","writable","set","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","Number","isFinite","toJSONObject","stack","visit","source","target","reducedValue","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","predicates","test","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","append","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","navigator","document","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","classes","protocols","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","e","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","has","matcher","delete","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","static","first","computed","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","configurable","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","charAt","requestURL","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","Math","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","knownAdapters","http","xhr","XMLHttpRequest","Promise","resolve","reject","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","floor","settle","err","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","send","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","version","opt","opts","desc","formatMessage","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","axios","createInstance","defaultConfig","instance","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","default","queryApi","dashboardUid","deleteTask","taskId","_","respData","createObjectURL","link","body","appendChild","click","removeChild","revokeObjectURL","backendSrv","getBackendSrv","getDashboardByUid","uid","PANEL_ID","getStyles","calendarModal","css","customLink","plugin","PanelPlugin","width","height","timeRange","eventBus","timeZone","useState","dashboard","setDashboard","datasources","setDatasources","tasks","setTasks","queries","setQueries","tasksDataFrame","setTasksDataFrame","queriesDataFrame","setQueriesDataFrame","isModalOpen","setModalVisibility","selectedTimeRange","setTimeRange","LOADING","panelStatus","setPanelStatus","setPanelStatusWithValidate","PERMISSION_ERROR","errorMessage","setErrorMessage","timeZoneName","Intl","DateTimeFormat","resolvedOptions","convertTimeZoneTypeToName","panels","panel","datasource","getDatasourceByUid","selected","fetchTasks","getTasks","OK","EXPORTING","DATASOURCE_ERROR","selectedQueries","query","timerange","unix","to","task","contextSrv","onCloseModal","unselectAllQueries","onDeleteClick","taskToDelete","filteredTasks","onDatasourceSelectClick","rowIndex","origin","updatedQueries","OrgRole","useEffect","currentDashboardUid","getCurrentDashboard","dash","getDatasources","dataFrame","sortedTasks","time","toDataFrame","fields","FieldType","values","exportedRowsCount","toFixed","FINISHED","ERROR","custom","filterable","displayMode","dataFrames","applyFieldOverrides","fieldConfig","overrides","theme","createTheme","replaceVariables","getLinks","cell","valueRowIndex","idx","targetBlank","title","onClick","appEvents","AppEvents","getStaticFile","onDownloadClick","getDataFrameForTaskTable","links","refId","getDataFrameForQueriesTable","RefreshEvent","styles","useStyles2","loadingDiv","LoadingPlaceholder","text","datasourceErrorDiv","className","style","marginTop","permissionErrorDiv","mainDiv","Table","HorizontalGroup","justify","Button","variant","icon","updateQueries","Modal","isOpen","onDismiss","VerticalGroup","spacing","TimeRangeInput","onChange","newTimeRange","onAddTaskClick","disabled","renderSwitch"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/plugin.json b/dist/plugin.json index eed68de..f778b56 100644 --- a/dist/plugin.json +++ b/dist/plugin.json @@ -14,8 +14,8 @@ }, "keywords": ["export", "csv"], "screenshots": [], - "version": "1.0.0", - "updated": "2023-01-19" + "version": "1.0.1", + "updated": "2023-01-20" }, "routes": [ {