diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fbadb6b89..fe62510bea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ # Changelog +## Release v0.42.1 + +Bug Fix: + +- Reset go version to 1.19 + ## Release v0.42.0 Features: diff --git a/portal-ui/build/asset-manifest.json b/portal-ui/build/asset-manifest.json index 1a4a828abf..ad0865fd29 100644 --- a/portal-ui/build/asset-manifest.json +++ b/portal-ui/build/asset-manifest.json @@ -1,11 +1,11 @@ { "files": { "main.css": "./static/css/main.e60e4760.css", - "main.js": "./static/js/main.f7f3913c.js", + "main.js": "./static/js/main.ff118574.js", "static/js/1260.291b50cb.chunk.js": "./static/js/1260.291b50cb.chunk.js", "static/js/6914.9c5fdb44.chunk.js": "./static/js/6914.9c5fdb44.chunk.js", "static/js/9121.1e573e4c.chunk.js": "./static/js/9121.1e573e4c.chunk.js", - "static/js/1829.2aaefda6.chunk.js": "./static/js/1829.2aaefda6.chunk.js", + "static/js/1829.abb8cc29.chunk.js": "./static/js/1829.abb8cc29.chunk.js", "static/js/6272.7c00db9b.chunk.js": "./static/js/6272.7c00db9b.chunk.js", "static/js/5088.e2681925.chunk.js": "./static/js/5088.e2681925.chunk.js", "static/js/6122.5f0c62fb.chunk.js": "./static/js/6122.5f0c62fb.chunk.js", @@ -19,12 +19,12 @@ "static/js/2074.a60ce6fb.chunk.js": "./static/js/2074.a60ce6fb.chunk.js", "static/js/3067.3ea1776d.chunk.js": "./static/js/3067.3ea1776d.chunk.js", "static/js/2637.b1c2479f.chunk.js": "./static/js/2637.b1c2479f.chunk.js", - "static/js/5962.e82e6096.chunk.js": "./static/js/5962.e82e6096.chunk.js", + "static/js/5962.2740ada4.chunk.js": "./static/js/5962.2740ada4.chunk.js", "static/js/701.4d3a4a90.chunk.js": "./static/js/701.4d3a4a90.chunk.js", "static/js/416.3c6ca278.chunk.js": "./static/js/416.3c6ca278.chunk.js", "static/js/7821.c63e0acc.chunk.js": "./static/js/7821.c63e0acc.chunk.js", "static/js/2545.508d30a1.chunk.js": "./static/js/2545.508d30a1.chunk.js", - "static/js/8388.25bfdfd9.chunk.js": "./static/js/8388.25bfdfd9.chunk.js", + "static/js/8388.b826482a.chunk.js": "./static/js/8388.b826482a.chunk.js", "static/js/4065.1550985f.chunk.js": "./static/js/4065.1550985f.chunk.js", "static/js/5935.407e1355.chunk.js": "./static/js/5935.407e1355.chunk.js", "static/js/4563.e3edf2d9.chunk.js": "./static/js/4563.e3edf2d9.chunk.js", @@ -33,14 +33,14 @@ "static/js/7614.0c31f239.chunk.js": "./static/js/7614.0c31f239.chunk.js", "static/js/1690.8063e908.chunk.js": "./static/js/1690.8063e908.chunk.js", "static/js/6491.d0d6e818.chunk.js": "./static/js/6491.d0d6e818.chunk.js", - "static/js/4902.5f84da7e.chunk.js": "./static/js/4902.5f84da7e.chunk.js", + "static/js/4902.93ad3d30.chunk.js": "./static/js/4902.93ad3d30.chunk.js", "static/js/1432.4da0630f.chunk.js": "./static/js/1432.4da0630f.chunk.js", "static/js/3171.25ccb4e9.chunk.js": "./static/js/3171.25ccb4e9.chunk.js", "static/js/8360.56659846.chunk.js": "./static/js/8360.56659846.chunk.js", "static/js/6577.d820c471.chunk.js": "./static/js/6577.d820c471.chunk.js", "static/js/3875.458718d4.chunk.js": "./static/js/3875.458718d4.chunk.js", - "static/js/3115.a031bcba.chunk.js": "./static/js/3115.a031bcba.chunk.js", - "static/js/2603.dca1b3d2.chunk.js": "./static/js/2603.dca1b3d2.chunk.js", + "static/js/3115.b1789617.chunk.js": "./static/js/3115.b1789617.chunk.js", + "static/js/2603.9e6bcd08.chunk.js": "./static/js/2603.9e6bcd08.chunk.js", "static/js/977.a8d976d8.chunk.js": "./static/js/977.a8d976d8.chunk.js", "static/js/6686.01ae5612.chunk.js": "./static/js/6686.01ae5612.chunk.js", "static/js/9059.25ffd18e.chunk.js": "./static/js/9059.25ffd18e.chunk.js", @@ -59,7 +59,7 @@ "static/js/8896.7b660eaa.chunk.js": "./static/js/8896.7b660eaa.chunk.js", "static/js/9134.f3e24a40.chunk.js": "./static/js/9134.f3e24a40.chunk.js", "static/js/5223.cca523cd.chunk.js": "./static/js/5223.cca523cd.chunk.js", - "static/js/5661.ed95de3e.chunk.js": "./static/js/5661.ed95de3e.chunk.js", + "static/js/5661.86c30f5e.chunk.js": "./static/js/5661.86c30f5e.chunk.js", "static/js/7134.f87a706a.chunk.js": "./static/js/7134.f87a706a.chunk.js", "static/js/3034.11907001.chunk.js": "./static/js/3034.11907001.chunk.js", "static/js/3138.9f03424b.chunk.js": "./static/js/3138.9f03424b.chunk.js", @@ -91,10 +91,9 @@ "static/js/9088.3bc2a31e.chunk.js": "./static/js/9088.3bc2a31e.chunk.js", "static/js/247.39dd8f3a.chunk.js": "./static/js/247.39dd8f3a.chunk.js", "static/js/2763.ddc89d17.chunk.js": "./static/js/2763.ddc89d17.chunk.js", - "static/js/2977.e75673aa.chunk.js": "./static/js/2977.e75673aa.chunk.js", - "static/js/601.b2adb5c6.chunk.js": "./static/js/601.b2adb5c6.chunk.js", - "static/js/8265.942883a0.chunk.js": "./static/js/8265.942883a0.chunk.js", - "static/js/5061.7ff7c268.chunk.js": "./static/js/5061.7ff7c268.chunk.js", + "static/js/6380.4c0478a3.chunk.js": "./static/js/6380.4c0478a3.chunk.js", + "static/js/5791.0cabfe54.chunk.js": "./static/js/5791.0cabfe54.chunk.js", + "static/js/5061.3fca1d7f.chunk.js": "./static/js/5061.3fca1d7f.chunk.js", "static/js/6521.5e62a2df.chunk.js": "./static/js/6521.5e62a2df.chunk.js", "static/js/4669.8c7d4cb8.chunk.js": "./static/js/4669.8c7d4cb8.chunk.js", "static/media/videoBG.mp4": "./static/media/videoBG.17363418b3c2246a0e27.mp4", @@ -120,11 +119,11 @@ "static/media/placeholderimage.png": "./static/media/placeholderimage.077ea48bd1ef1f4a883f.png", "index.html": "./index.html", "main.e60e4760.css.map": "./static/css/main.e60e4760.css.map", - "main.f7f3913c.js.map": "./static/js/main.f7f3913c.js.map", + "main.ff118574.js.map": "./static/js/main.ff118574.js.map", "1260.291b50cb.chunk.js.map": "./static/js/1260.291b50cb.chunk.js.map", "6914.9c5fdb44.chunk.js.map": "./static/js/6914.9c5fdb44.chunk.js.map", "9121.1e573e4c.chunk.js.map": "./static/js/9121.1e573e4c.chunk.js.map", - "1829.2aaefda6.chunk.js.map": "./static/js/1829.2aaefda6.chunk.js.map", + "1829.abb8cc29.chunk.js.map": "./static/js/1829.abb8cc29.chunk.js.map", "6272.7c00db9b.chunk.js.map": "./static/js/6272.7c00db9b.chunk.js.map", "5088.e2681925.chunk.js.map": "./static/js/5088.e2681925.chunk.js.map", "6122.5f0c62fb.chunk.js.map": "./static/js/6122.5f0c62fb.chunk.js.map", @@ -138,12 +137,12 @@ "2074.a60ce6fb.chunk.js.map": "./static/js/2074.a60ce6fb.chunk.js.map", "3067.3ea1776d.chunk.js.map": "./static/js/3067.3ea1776d.chunk.js.map", "2637.b1c2479f.chunk.js.map": "./static/js/2637.b1c2479f.chunk.js.map", - "5962.e82e6096.chunk.js.map": "./static/js/5962.e82e6096.chunk.js.map", + "5962.2740ada4.chunk.js.map": "./static/js/5962.2740ada4.chunk.js.map", "701.4d3a4a90.chunk.js.map": "./static/js/701.4d3a4a90.chunk.js.map", "416.3c6ca278.chunk.js.map": "./static/js/416.3c6ca278.chunk.js.map", "7821.c63e0acc.chunk.js.map": "./static/js/7821.c63e0acc.chunk.js.map", "2545.508d30a1.chunk.js.map": "./static/js/2545.508d30a1.chunk.js.map", - "8388.25bfdfd9.chunk.js.map": "./static/js/8388.25bfdfd9.chunk.js.map", + "8388.b826482a.chunk.js.map": "./static/js/8388.b826482a.chunk.js.map", "4065.1550985f.chunk.js.map": "./static/js/4065.1550985f.chunk.js.map", "5935.407e1355.chunk.js.map": "./static/js/5935.407e1355.chunk.js.map", "4563.e3edf2d9.chunk.js.map": "./static/js/4563.e3edf2d9.chunk.js.map", @@ -152,14 +151,14 @@ "7614.0c31f239.chunk.js.map": "./static/js/7614.0c31f239.chunk.js.map", "1690.8063e908.chunk.js.map": "./static/js/1690.8063e908.chunk.js.map", "6491.d0d6e818.chunk.js.map": "./static/js/6491.d0d6e818.chunk.js.map", - "4902.5f84da7e.chunk.js.map": "./static/js/4902.5f84da7e.chunk.js.map", + "4902.93ad3d30.chunk.js.map": "./static/js/4902.93ad3d30.chunk.js.map", "1432.4da0630f.chunk.js.map": "./static/js/1432.4da0630f.chunk.js.map", "3171.25ccb4e9.chunk.js.map": "./static/js/3171.25ccb4e9.chunk.js.map", "8360.56659846.chunk.js.map": "./static/js/8360.56659846.chunk.js.map", "6577.d820c471.chunk.js.map": "./static/js/6577.d820c471.chunk.js.map", "3875.458718d4.chunk.js.map": "./static/js/3875.458718d4.chunk.js.map", - "3115.a031bcba.chunk.js.map": "./static/js/3115.a031bcba.chunk.js.map", - "2603.dca1b3d2.chunk.js.map": "./static/js/2603.dca1b3d2.chunk.js.map", + "3115.b1789617.chunk.js.map": "./static/js/3115.b1789617.chunk.js.map", + "2603.9e6bcd08.chunk.js.map": "./static/js/2603.9e6bcd08.chunk.js.map", "977.a8d976d8.chunk.js.map": "./static/js/977.a8d976d8.chunk.js.map", "6686.01ae5612.chunk.js.map": "./static/js/6686.01ae5612.chunk.js.map", "9059.25ffd18e.chunk.js.map": "./static/js/9059.25ffd18e.chunk.js.map", @@ -178,7 +177,7 @@ "8896.7b660eaa.chunk.js.map": "./static/js/8896.7b660eaa.chunk.js.map", "9134.f3e24a40.chunk.js.map": "./static/js/9134.f3e24a40.chunk.js.map", "5223.cca523cd.chunk.js.map": "./static/js/5223.cca523cd.chunk.js.map", - "5661.ed95de3e.chunk.js.map": "./static/js/5661.ed95de3e.chunk.js.map", + "5661.86c30f5e.chunk.js.map": "./static/js/5661.86c30f5e.chunk.js.map", "7134.f87a706a.chunk.js.map": "./static/js/7134.f87a706a.chunk.js.map", "3034.11907001.chunk.js.map": "./static/js/3034.11907001.chunk.js.map", "3138.9f03424b.chunk.js.map": "./static/js/3138.9f03424b.chunk.js.map", @@ -210,15 +209,14 @@ "9088.3bc2a31e.chunk.js.map": "./static/js/9088.3bc2a31e.chunk.js.map", "247.39dd8f3a.chunk.js.map": "./static/js/247.39dd8f3a.chunk.js.map", "2763.ddc89d17.chunk.js.map": "./static/js/2763.ddc89d17.chunk.js.map", - "2977.e75673aa.chunk.js.map": "./static/js/2977.e75673aa.chunk.js.map", - "601.b2adb5c6.chunk.js.map": "./static/js/601.b2adb5c6.chunk.js.map", - "8265.942883a0.chunk.js.map": "./static/js/8265.942883a0.chunk.js.map", - "5061.7ff7c268.chunk.js.map": "./static/js/5061.7ff7c268.chunk.js.map", + "6380.4c0478a3.chunk.js.map": "./static/js/6380.4c0478a3.chunk.js.map", + "5791.0cabfe54.chunk.js.map": "./static/js/5791.0cabfe54.chunk.js.map", + "5061.3fca1d7f.chunk.js.map": "./static/js/5061.3fca1d7f.chunk.js.map", "6521.5e62a2df.chunk.js.map": "./static/js/6521.5e62a2df.chunk.js.map", "4669.8c7d4cb8.chunk.js.map": "./static/js/4669.8c7d4cb8.chunk.js.map" }, "entrypoints": [ "static/css/main.e60e4760.css", - "static/js/main.f7f3913c.js" + "static/js/main.ff118574.js" ] } \ No newline at end of file diff --git a/portal-ui/build/index.html b/portal-ui/build/index.html index 5da1fe96fd..048cbc8bca 100644 --- a/portal-ui/build/index.html +++ b/portal-ui/build/index.html @@ -1 +1 @@ -MinIO Console
\ No newline at end of file +MinIO Console
\ No newline at end of file diff --git a/portal-ui/build/static/js/1829.2aaefda6.chunk.js b/portal-ui/build/static/js/1829.2aaefda6.chunk.js deleted file mode 100644 index 4760cb6592..0000000000 --- a/portal-ui/build/static/js/1829.2aaefda6.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{47986:(e,t,a)=>{"use strict";a.d(t,{Z:()=>o});a(72791);var n=a(29945),s=a(80184);const o=e=>{let{iconComponent:t,entity:a}=e;return(0,s.jsx)(n.rjZ,{container:!0,children:(0,s.jsx)(n.rjZ,{item:!0,xs:12,children:(0,s.jsx)(n.KfX,{title:"".concat(a," not available"),iconComponent:t,help:(0,s.jsxs)(n.xuv,{sx:{fontSize:"14px",["@media (max-width: ".concat(n.Egj.sm,"px)")]:{display:"flex",flexFlow:"column"}},children:[(0,s.jsx)("span",{children:"This feature is not available for a single-disk setup.\xa0"}),(0,s.jsxs)("span",{children:["Please deploy a server in"," ",(0,s.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html?ref=con",target:"_blank",rel:"noopener",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},61829:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>D});var n=a(72791),s=a(78687),o=a(95087),r=a(29945),l=a(20601),i=a(38725),c=a(82839),d=a(90466),h=a(12891),x=a(35667),u=a(27281),f=a(23782),b=a(31776),p=a(82342),j=a(26824),m=a(45248),g=a(23814),v=a(56087),w=a(87995),y=a(38442),S=a(44690),k=a(47986),C=a(79844),H=a(99670),B=a(80184);const D=()=>{const e=(0,s.v9)(w.N5),[t,a]=(0,n.useState)(!1),[D,T]=(0,n.useState)(""),[_,E]=(0,n.useState)([]),[A,G]=(0,n.useState)(""),[N,O]=(0,n.useState)(!1),[Z,z]=(0,n.useState)(!1),[R,I]=(0,n.useState)(!1),[L,F]=(0,n.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""});(0,n.useEffect)((()=>{b.h.buckets.listBuckets().then((e=>{let t=[];e.data.buckets&&(t=e.data.buckets),E(t)})).catch((e=>{console.error((0,p.g)(e.error))}))}),[]),(0,n.useEffect)((()=>{Z&&I(!1)}),[Z]),(0,n.useEffect)((()=>{R&&z(!1)}),[R]);const K=e=>[e.Green,e.Yellow,e.Red,e.Grey];(0,n.useEffect)((()=>{if(t){const e={Green:0,Yellow:0,Red:0,Grey:0},t={Green:0,Yellow:0,Red:0,Grey:0},n=new URL(window.location.toString()),s=!1?"9090":n.port,r=new URL(document.baseURI).pathname,l=(0,j.x2)(n.protocol),i=new o.w3cwebsocket("".concat(l,"://").concat(n.hostname,":").concat(s).concat(r,"ws/heal/").concat(D,"?prefix=").concat(A,"&recursive=").concat(N,"&force-start=").concat(Z,"&force-stop=").concat(R));if(null!==i)return i.onopen=()=>{console.log("WebSocket Client Connected"),i.send("ok")},i.onmessage=a=>{let n=JSON.parse(a.data.toString());for(const[e,s]of Object.entries(n.healthAfterCols))t[e]=100*s/n.itemsScanned;for(const[t,s]of Object.entries(n.healthBeforeCols))e[t]=100*s/n.itemsScanned;F({beforeHeal:K(e),afterHeal:K(t),objectsHealed:n.objectsHealed,objectsScanned:n.objectsScanned,healDuration:n.healDuration,sizeScanned:(0,m.ae)(n.bytesScanned.toString())})},i.onclose=()=>{a(!1),console.log("connection closed by server")},()=>{i.close(1e3),console.log("closing websockets")}}}),[t,D,Z,R,A,N]);let P=[{name:"Green",ah:L.afterHeal[0],bh:L.beforeHeal[0],amt:100},{name:"Yellow",ah:L.afterHeal[1],bh:L.beforeHeal[1],amt:100},{name:"Red",ah:L.afterHeal[2],bh:L.beforeHeal[2],amt:100},{name:"Grey",ah:L.afterHeal[3],bh:L.beforeHeal[3],amt:100}];const M=_.map((e=>({label:e.name,value:e.name}))),X=(0,S.TL)();return(0,n.useEffect)((()=>{X((0,w.Sc)("heal"))}),[]),(0,B.jsxs)(n.Fragment,{children:[(0,B.jsx)(C.Z,{label:"Drives",actions:(0,B.jsx)(H.Z,{})}),(0,B.jsx)(r.Xgh,{children:e?(0,B.jsxs)(y.s,{scopes:[v.Ft.ADMIN_HEAL],resource:v.C3,children:[(0,B.jsxs)(r.xuv,{withBorders:!0,children:[(0,B.jsxs)(r.xuv,{sx:{display:"flex",alignItems:"center",marginBottom:15,gap:15},children:[(0,B.jsxs)(r.xuv,{sx:{flexGrow:1,width:"100%"},children:[(0,B.jsx)(r.AZs,{children:"Bucket"}),(0,B.jsx)(r.PhF,{id:"bucket-name",name:"bucket-name",value:D,onChange:e=>{T(e)},options:M,placeholder:"Select Bucket"})]}),(0,B.jsxs)(r.xuv,{sx:{flexGrow:1,width:"100%"},children:[(0,B.jsx)(r.AZs,{children:"Prefix"}),(0,B.jsx)(r.Wzg,{id:"prefix-resource",disabled:!1,onChange:e=>{G(e.target.value)}})]})]}),(0,B.jsxs)(r.xuv,{sx:{display:"flex",gap:20},children:[(0,B.jsx)(r.xuv,{children:(0,B.jsx)(r.XZJ,{name:"recursive",id:"recursive",value:"recursive",checked:N,onChange:()=>{O(!N)},disabled:!1,label:"Recursive"})}),(0,B.jsx)(r.xuv,{children:(0,B.jsx)(r.XZJ,{name:"forceStart",id:"forceStart",value:"forceStart",checked:Z,onChange:()=>{z(!Z)},disabled:!1,label:"Force Start"})}),(0,B.jsx)(r.xuv,{children:(0,B.jsx)(r.XZJ,{name:"forceStop",id:"forceStop",value:"forceStop",checked:R,onChange:()=>{I(!R)},disabled:!1,label:"Force Stop"})})]}),(0,B.jsx)(r.xuv,{sx:g.ID.modalButtonBar,children:(0,B.jsx)(r.zxk,{id:"start-heal",type:"submit",variant:"callAction",color:"primary",disabled:t,onClick:()=>a(!0),label:"Start"})})]}),(0,B.jsxs)(r.xuv,{withBorders:!0,sx:{marginTop:15,'& ul li:not([class*="Mui"])::before':{listStyle:"none",content:"' '"}},children:[(0,B.jsx)(l.h,{width:"90%",height:400,children:(0,B.jsxs)(i.v,{width:600,height:400,data:P,margin:{top:5,right:30,left:20,bottom:5},children:[(0,B.jsx)(c.q,{strokeDasharray:"3 3"}),(0,B.jsx)(d.K,{dataKey:"name"}),(0,B.jsx)(h.B,{}),(0,B.jsx)(x.u,{}),(0,B.jsx)(u.D,{verticalAlign:"top",layout:"horizontal",className:"noLi"}),(0,B.jsx)(f.$,{dataKey:"ah",name:"After Healing",fill:"#2781B060",stroke:"#2781B0"}),(0,B.jsx)(f.$,{dataKey:"bh",name:"Before Healing",fill:"#C83B5160",stroke:"#C83B51"})]})}),(0,B.jsxs)(r.rjZ,{item:!0,xs:12,sx:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between","& .scanData":{}},children:[(0,B.jsxs)(r.xuv,{className:"scanData",children:[(0,B.jsx)("strong",{children:"Size scanned:"})," ",L.sizeScanned]}),(0,B.jsxs)(r.xuv,{className:"scanData",children:[(0,B.jsx)("strong",{children:"Objects healed:"})," ",L.objectsHealed," /"," ",L.objectsScanned]}),(0,B.jsxs)(r.xuv,{className:"scanData",children:[(0,B.jsx)("strong",{children:"Healing time:"})," ",L.healDuration,"s"]})]})]})]}):(0,B.jsx)(k.Z,{entity:"Heal",iconComponent:(0,B.jsx)(r.lnI,{})})})]})}},94210:e=>{var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},38725:(e,t,a)=>{"use strict";a.d(t,{v:()=>i});var n=a(23612),s=a(23782),o=a(90466),r=a(12891),l=a(93137),i=(0,n.z)({chartName:"BarChart",GraphicalChild:s.$,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:o.K},{axisType:"yAxis",AxisComp:r.B}],formatAxisMap:l.t9})},95087:(e,t,a)=>{var n;if("object"===typeof globalThis)n=globalThis;else try{n=a(94210)}catch(l){}finally{if(n||"undefined"===typeof window||(n=window),!n)throw new Error("Could not determine global this")}var s=n.WebSocket||n.MozWebSocket,o=a(51496);function r(e,t){return t?new s(e,t):new s(e)}s&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(r,e,{get:function(){return s[e]}})})),e.exports={w3cwebsocket:s?r:null,version:o}},51496:(e,t,a)=>{e.exports=a(19794).version},19794:e=>{"use strict";e.exports={version:"1.0.34"}}}]); -//# sourceMappingURL=1829.2aaefda6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.2aaefda6.chunk.js.map b/portal-ui/build/static/js/1829.2aaefda6.chunk.js.map deleted file mode 100644 index 62df3f1fb4..0000000000 --- a/portal-ui/build/static/js/1829.2aaefda6.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1829.2aaefda6.chunk.js","mappings":"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","sources":["screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Heal/Heal.tsx","../node_modules/es5-ext/global.js","../node_modules/recharts/es6/chart/BarChart.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { HelpBox, Box, Grid, breakPoints } from \"mds\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n \n \n This feature is not available for a single-disk setup. \n \n \n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n \n \n }\n />\n \n \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport {\n Box,\n Button,\n Checkbox,\n Grid,\n HealIcon,\n InputBox,\n InputLabel,\n PageLayout,\n Select,\n} from \"mds\";\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\n\nimport { api } from \"api\";\nimport { Bucket } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { colorH, HealStatus } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { selDistSet, setHelpName } from \"../../../systemSlice\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport { useAppDispatch } from \"../../../store\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst Heal = () => {\n const distributedSetup = useSelector(selDistSet);\n\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [recursive, setRecursive] = useState(false);\n const [forceStart, setForceStart] = useState(false);\n const [forceStop, setForceStop] = useState(false);\n // healStatus states\n const [hStatus, setHStatus] = useState({\n beforeHeal: [0, 0, 0, 0],\n afterHeal: [0, 0, 0, 0],\n objectsHealed: 0,\n objectsScanned: 0,\n healDuration: 0,\n sizeScanned: \"\",\n });\n\n const fetchBucketList = () => {\n api.buckets\n .listBuckets()\n .then((res) => {\n let buckets: Bucket[] = [];\n if (res.data.buckets) {\n buckets = res.data.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err) => {\n console.error(errorToHandler(err.error));\n });\n };\n\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n // forceStart and forceStop need to be mutually exclusive\n useEffect(() => {\n if (forceStart) {\n setForceStop(false);\n }\n }, [forceStart]);\n\n useEffect(() => {\n if (forceStop) {\n setForceStart(false);\n }\n }, [forceStop]);\n\n const colorHealthArr = (color: colorH) => {\n return [color.Green, color.Yellow, color.Red, color.Grey];\n };\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n // values stored here to update chart\n const cB: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n const cA: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/heal/${bucketName}?prefix=${prefix}&recursive=${recursive}&force-start=${forceStart}&force-stop=${forceStop}`,\n );\n\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealStatus = JSON.parse(message.data.toString());\n // Store percentage per health color\n for (const [key, value] of Object.entries(m.healthAfterCols)) {\n cA[key] = (value * 100) / m.itemsScanned;\n }\n for (const [key, value] of Object.entries(m.healthBeforeCols)) {\n cB[key] = (value * 100) / m.itemsScanned;\n }\n setHStatus({\n beforeHeal: colorHealthArr(cB),\n afterHeal: colorHealthArr(cA),\n objectsHealed: m.objectsHealed,\n objectsScanned: m.objectsScanned,\n healDuration: m.healDuration,\n sizeScanned: niceBytes(m.bytesScanned.toString()),\n });\n };\n c.onclose = () => {\n setStart(false);\n console.log(\"connection closed by server\");\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n console.log(\"closing websockets\");\n };\n }\n }\n }, [start, bucketName, forceStart, forceStop, prefix, recursive]);\n\n let data = [\n {\n name: \"Green\",\n ah: hStatus.afterHeal[0],\n bh: hStatus.beforeHeal[0],\n amt: 100,\n },\n {\n name: \"Yellow\",\n ah: hStatus.afterHeal[1],\n bh: hStatus.beforeHeal[1],\n amt: 100,\n },\n {\n name: \"Red\",\n ah: hStatus.afterHeal[2],\n bh: hStatus.beforeHeal[2],\n amt: 100,\n },\n {\n name: \"Grey\",\n ah: hStatus.afterHeal[3],\n bh: hStatus.beforeHeal[3],\n amt: 100,\n },\n ];\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"heal\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n } />\n\n \n {!distributedSetup ? (\n } />\n ) : (\n \n \n \n \n Bucket\n {\n setBucketName(value as string);\n }}\n options={bucketNames}\n placeholder={\"Select Bucket\"}\n />\n \n \n Prefix\n {\n setPrefix(e.target.value);\n }}\n />\n \n \n \n \n {\n setRecursive(!recursive);\n }}\n disabled={false}\n label=\"Recursive\"\n />\n \n \n {\n setForceStart(!forceStart);\n }}\n disabled={false}\n label=\"Force Start\"\n />\n \n \n {\n setForceStop(!forceStop);\n }}\n disabled={false}\n label=\"Force Stop\"\n />\n \n \n \n setStart(true)}\n label={\"Start\"}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Size scanned: {hStatus.sizeScanned}\n \n \n Objects healed: {hStatus.objectsHealed} /{\" \"}\n {hStatus.objectsScanned}\n \n \n Healing time: {hStatus.healDuration}s\n \n \n \n \n )}\n \n \n );\n};\n\nexport default Heal;\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["_ref","iconComponent","entity","_jsx","Grid","container","children","item","xs","HelpBox","title","concat","help","_jsxs","Box","sx","fontSize","breakPoints","sm","display","flexFlow","href","target","rel","Heal","distributedSetup","useSelector","selDistSet","start","setStart","useState","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","hStatus","setHStatus","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","useEffect","api","buckets","listBuckets","then","res","data","catch","err","console","error","errorToHandler","colorHealthArr","color","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","process","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","key","value","Object","entries","healthAfterCols","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","name","ah","bh","amt","bucketNames","map","label","dispatch","useAppDispatch","setHelpName","Fragment","PageHeaderWrapper","actions","HelpMenu","PageLayout","SecureComponent","scopes","IAM_SCOPES","ADMIN_HEAL","resource","CONSOLE_UI_RESOURCE","withBorders","alignItems","marginBottom","gap","flexGrow","width","InputLabel","Select","id","onChange","options","placeholder","InputBox","disabled","e","Checkbox","checked","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","marginTop","listStyle","content","ResponsiveContainer","height","BarChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","Tooltip","Legend","verticalAlign","layout","className","Bar","fill","stroke","flexDirection","justifyContent","DistributedOnly","HealIcon","naiveFallback","self","Error","module","exports","this","globalThis","defineProperty","prototype","get","configurable","__global__","generateCategoricalChart","chartName","GraphicalChild","defaultTooltipEventType","validateTooltipEventTypes","axisComponents","axisType","AxisComp","formatAxisMap","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.abb8cc29.chunk.js b/portal-ui/build/static/js/1829.abb8cc29.chunk.js new file mode 100644 index 0000000000..4e71b16041 --- /dev/null +++ b/portal-ui/build/static/js/1829.abb8cc29.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{47986:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(72791);var r=n(29945),o=n(80184);const i=e=>{let{iconComponent:t,entity:n}=e;return(0,o.jsx)(r.rjZ,{container:!0,children:(0,o.jsx)(r.rjZ,{item:!0,xs:12,children:(0,o.jsx)(r.KfX,{title:"".concat(n," not available"),iconComponent:t,help:(0,o.jsxs)(r.xuv,{sx:{fontSize:"14px",["@media (max-width: ".concat(r.Egj.sm,"px)")]:{display:"flex",flexFlow:"column"}},children:[(0,o.jsx)("span",{children:"This feature is not available for a single-disk setup.\xa0"}),(0,o.jsxs)("span",{children:["Please deploy a server in"," ",(0,o.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html?ref=con",target:"_blank",rel:"noopener",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},61829:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>E});var r=n(72791),o=n(78687),i=n(95087),a=n(29945),s=n(19913),l=n(38725),c=n(82839),u=n(90466),h=n(12891),d=n(71827),f=n(27281),b=n(23782),p=n(31776),m=n(82342),x=n(26824),g=n(45248),y=n(23814),v=n(56087),j=n(87995),w=n(38442),S=n(44690),C=n(47986),O=n(79844),k=n(99670),H=n(80184);const E=()=>{const e=(0,o.v9)(j.N5),[t,n]=(0,r.useState)(!1),[E,A]=(0,r.useState)(""),[D,T]=(0,r.useState)([]),[B,P]=(0,r.useState)(""),[N,R]=(0,r.useState)(!1),[Z,_]=(0,r.useState)(!1),[G,z]=(0,r.useState)(!1),[W,I]=(0,r.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""});(0,r.useEffect)((()=>{p.h.buckets.listBuckets().then((e=>{let t=[];e.data.buckets&&(t=e.data.buckets),T(t)})).catch((e=>{console.error((0,m.g)(e.error))}))}),[]),(0,r.useEffect)((()=>{Z&&z(!1)}),[Z]),(0,r.useEffect)((()=>{G&&_(!1)}),[G]);const M=e=>[e.Green,e.Yellow,e.Red,e.Grey];(0,r.useEffect)((()=>{if(t){const e={Green:0,Yellow:0,Red:0,Grey:0},t={Green:0,Yellow:0,Red:0,Grey:0},r=new URL(window.location.toString()),o=!1?"9090":r.port,a=new URL(document.baseURI).pathname,s=(0,x.x2)(r.protocol),l=new i.w3cwebsocket("".concat(s,"://").concat(r.hostname,":").concat(o).concat(a,"ws/heal/").concat(E,"?prefix=").concat(B,"&recursive=").concat(N,"&force-start=").concat(Z,"&force-stop=").concat(G));if(null!==l)return l.onopen=()=>{console.log("WebSocket Client Connected"),l.send("ok")},l.onmessage=n=>{let r=JSON.parse(n.data.toString());for(const[e,o]of Object.entries(r.healthAfterCols))t[e]=100*o/r.itemsScanned;for(const[t,o]of Object.entries(r.healthBeforeCols))e[t]=100*o/r.itemsScanned;I({beforeHeal:M(e),afterHeal:M(t),objectsHealed:r.objectsHealed,objectsScanned:r.objectsScanned,healDuration:r.healDuration,sizeScanned:(0,g.ae)(r.bytesScanned.toString())})},l.onclose=()=>{n(!1),console.log("connection closed by server")},()=>{l.close(1e3),console.log("closing websockets")}}}),[t,E,Z,G,B,N]);let U=[{name:"Green",ah:W.afterHeal[0],bh:W.beforeHeal[0],amt:100},{name:"Yellow",ah:W.afterHeal[1],bh:W.beforeHeal[1],amt:100},{name:"Red",ah:W.afterHeal[2],bh:W.beforeHeal[2],amt:100},{name:"Grey",ah:W.afterHeal[3],bh:W.beforeHeal[3],amt:100}];const L=D.map((e=>({label:e.name,value:e.name}))),F=(0,S.TL)();return(0,r.useEffect)((()=>{F((0,j.Sc)("heal"))}),[]),(0,H.jsxs)(r.Fragment,{children:[(0,H.jsx)(O.Z,{label:"Drives",actions:(0,H.jsx)(k.Z,{})}),(0,H.jsx)(a.Xgh,{children:e?(0,H.jsxs)(w.s,{scopes:[v.Ft.ADMIN_HEAL],resource:v.C3,children:[(0,H.jsxs)(a.xuv,{withBorders:!0,children:[(0,H.jsxs)(a.xuv,{sx:{display:"flex",alignItems:"center",marginBottom:15,gap:15},children:[(0,H.jsxs)(a.xuv,{sx:{flexGrow:1,width:"100%"},children:[(0,H.jsx)(a.AZs,{children:"Bucket"}),(0,H.jsx)(a.PhF,{id:"bucket-name",name:"bucket-name",value:E,onChange:e=>{A(e)},options:L,placeholder:"Select Bucket"})]}),(0,H.jsxs)(a.xuv,{sx:{flexGrow:1,width:"100%"},children:[(0,H.jsx)(a.AZs,{children:"Prefix"}),(0,H.jsx)(a.Wzg,{id:"prefix-resource",disabled:!1,onChange:e=>{P(e.target.value)}})]})]}),(0,H.jsxs)(a.xuv,{sx:{display:"flex",gap:20},children:[(0,H.jsx)(a.xuv,{children:(0,H.jsx)(a.XZJ,{name:"recursive",id:"recursive",value:"recursive",checked:N,onChange:()=>{R(!N)},disabled:!1,label:"Recursive"})}),(0,H.jsx)(a.xuv,{children:(0,H.jsx)(a.XZJ,{name:"forceStart",id:"forceStart",value:"forceStart",checked:Z,onChange:()=>{_(!Z)},disabled:!1,label:"Force Start"})}),(0,H.jsx)(a.xuv,{children:(0,H.jsx)(a.XZJ,{name:"forceStop",id:"forceStop",value:"forceStop",checked:G,onChange:()=>{z(!G)},disabled:!1,label:"Force Stop"})})]}),(0,H.jsx)(a.xuv,{sx:y.ID.modalButtonBar,children:(0,H.jsx)(a.zxk,{id:"start-heal",type:"submit",variant:"callAction",color:"primary",disabled:t,onClick:()=>n(!0),label:"Start"})})]}),(0,H.jsxs)(a.xuv,{withBorders:!0,sx:{marginTop:15,'& ul li:not([class*="Mui"])::before':{listStyle:"none",content:"' '"}},children:[(0,H.jsx)(s.h,{width:"90%",height:400,children:(0,H.jsxs)(l.v,{width:600,height:400,data:U,margin:{top:5,right:30,left:20,bottom:5},children:[(0,H.jsx)(c.q,{strokeDasharray:"3 3"}),(0,H.jsx)(u.K,{dataKey:"name"}),(0,H.jsx)(h.B,{}),(0,H.jsx)(d.u,{}),(0,H.jsx)(f.D,{verticalAlign:"top",layout:"horizontal",className:"noLi"}),(0,H.jsx)(b.$,{dataKey:"ah",name:"After Healing",fill:"#2781B060",stroke:"#2781B0"}),(0,H.jsx)(b.$,{dataKey:"bh",name:"Before Healing",fill:"#C83B5160",stroke:"#C83B51"})]})}),(0,H.jsxs)(a.rjZ,{item:!0,xs:12,sx:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between","& .scanData":{}},children:[(0,H.jsxs)(a.xuv,{className:"scanData",children:[(0,H.jsx)("strong",{children:"Size scanned:"})," ",W.sizeScanned]}),(0,H.jsxs)(a.xuv,{className:"scanData",children:[(0,H.jsx)("strong",{children:"Objects healed:"})," ",W.objectsHealed," /"," ",W.objectsScanned]}),(0,H.jsxs)(a.xuv,{className:"scanData",children:[(0,H.jsx)("strong",{children:"Healing time:"})," ",W.healDuration,"s"]})]})]})]}):(0,H.jsx)(C.Z,{entity:"Heal",iconComponent:(0,H.jsx)(a.lnI,{})})})]})}},94210:e=>{var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},38725:(e,t,n)=>{"use strict";n.d(t,{v:()=>l});var r=n(34549),o=n(23782),i=n(90466),a=n(12891),s=n(93137),l=(0,r.z)({chartName:"BarChart",GraphicalChild:o.$,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:i.K},{axisType:"yAxis",AxisComp:a.B}],formatAxisMap:s.t9})},19913:(e,t,n)=>{"use strict";n.d(t,{h:()=>x});var r=n(63733),o=n(72791),i=n(33038),a=n.n(i),s=n(57441),l=n(70587),c=n(15303),u=n(23031);function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e=a()(e,C,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=D.current.getBoundingClientRect(),r=n.width,o=n.height;return R(r,o),t.observe(D.current),function(){t.disconnect()}}),[R,C]);var Z=(0,o.useMemo)((function(){var e=P.containerWidth,t=P.containerHeight;if(e<0||t<0)return null;(0,c.Z)((0,l.hU)(b)||(0,l.hU)(x),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",b,x),(0,c.Z)(!n||n>0,"The aspect(%s) must be greater than zero.",n);var r=(0,l.hU)(b)?e:b,i=(0,l.hU)(x)?t:x;n&&n>0&&(r?i=r/n:i&&(r=i*n),j&&i>j&&(i=j)),(0,c.Z)(r>0||i>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",r,i,b,x,y,v,n);var a=!Array.isArray(w)&&(0,s.isElement)(w)&&(0,u.Gf)(w.type).endsWith("Chart");return o.Children.map(w,(function(e){return(0,s.isElement)(e)?(0,o.cloneElement)(e,f({width:r,height:i},a?{style:f({height:"100%",width:"100%",maxHeight:i,maxWidth:r},e.props.style)}:{})):e}))}),[n,w,x,j,v,y,P,b]);return o.createElement("div",{id:O?"".concat(O):void 0,className:(0,r.Z)("recharts-responsive-container",k),style:f(f({},A),{},{width:b,height:x,minWidth:y,minHeight:v,maxHeight:j}),ref:D},Z)}))},95087:(e,t,n)=>{var r;if("object"===typeof globalThis)r=globalThis;else try{r=n(94210)}catch(s){}finally{if(r||"undefined"===typeof window||(r=window),!r)throw new Error("Could not determine global this")}var o=r.WebSocket||r.MozWebSocket,i=n(51496);function a(e,t){return t?new o(e,t):new o(e)}o&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(a,e,{get:function(){return o[e]}})})),e.exports={w3cwebsocket:o?a:null,version:i}},51496:(e,t,n)=>{e.exports=n(19794).version},19794:e=>{"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=1829.abb8cc29.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.abb8cc29.chunk.js.map b/portal-ui/build/static/js/1829.abb8cc29.chunk.js.map new file mode 100644 index 0000000000..8dbe24dd96 --- /dev/null +++ b/portal-ui/build/static/js/1829.abb8cc29.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1829.abb8cc29.chunk.js","mappings":"2JAwBA,MAuCA,EAvCwBA,IAAkD,IAAjD,cAAEC,EAAa,OAAEC,GAA0BF,EAClE,OACEG,EAAAA,EAAAA,KAACC,EAAAA,IAAI,CAACC,WAAS,EAAAC,UACbH,EAAAA,EAAAA,KAACC,EAAAA,IAAI,CAACG,MAAI,EAACC,GAAI,GAAGF,UAChBH,EAAAA,EAAAA,KAACM,EAAAA,IAAO,CACNC,MAAK,GAAAC,OAAKT,EAAM,kBAChBD,cAAeA,EACfW,MACEC,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CACFC,GAAI,CACFC,SAAU,OACV,CAAC,sBAADL,OAAuBM,EAAAA,IAAYC,GAAE,QAAQ,CAC3CC,QAAS,OACTC,SAAU,WAEZd,SAAA,EAEFH,EAAAA,EAAAA,KAAA,QAAAG,SAAM,gEAGNO,EAAAA,EAAAA,MAAA,QAAAP,SAAA,CAAM,4BACsB,KAC1BH,EAAAA,EAAAA,KAAA,KACEkB,KAAK,oHACLC,OAAO,SACPC,IAAI,WAAUjB,SACf,qBAEI,IAAI,kCAOd,C,oVCAX,MAiUA,EAjUakB,KACX,MAAMC,GAAmBC,EAAAA,EAAAA,IAAYC,EAAAA,KAE9BC,EAAOC,IAAYC,EAAAA,EAAAA,WAAS,IAC5BC,EAAYC,IAAiBF,EAAAA,EAAAA,UAAS,KACtCG,EAAYC,IAAiBJ,EAAAA,EAAAA,UAAmB,KAChDK,EAAQC,IAAaN,EAAAA,EAAAA,UAAS,KAC9BO,EAAWC,IAAgBR,EAAAA,EAAAA,WAAS,IACpCS,EAAYC,IAAiBV,EAAAA,EAAAA,WAAS,IACtCW,EAAWC,IAAgBZ,EAAAA,EAAAA,WAAS,IAEpCa,EAASC,IAAcd,EAAAA,EAAAA,UAAS,CACrCe,WAAY,CAAC,EAAG,EAAG,EAAG,GACtBC,UAAW,CAAC,EAAG,EAAG,EAAG,GACrBC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,YAAa,MAkBfC,EAAAA,EAAAA,YAAU,KAdRC,EAAAA,EAAIC,QACDC,cACAC,MAAMC,IACL,IAAIH,EAAoB,GACpBG,EAAIC,KAAKJ,UACXA,EAAUG,EAAIC,KAAKJ,SAErBnB,EAAcmB,EAAQ,IAEvBK,OAAOC,IACNC,QAAQC,OAAMC,EAAAA,EAAAA,GAAeH,EAAIE,OAAO,GAK3B,GAChB,KAGHV,EAAAA,EAAAA,YAAU,KACJZ,GACFG,GAAa,EACf,GACC,CAACH,KAEJY,EAAAA,EAAAA,YAAU,KACJV,GACFD,GAAc,EAChB,GACC,CAACC,IAEJ,MAAMsB,EAAkBC,GACf,CAACA,EAAMC,MAAOD,EAAME,OAAQF,EAAMG,IAAKH,EAAMI,OAGtDjB,EAAAA,EAAAA,YAAU,KAER,GAAIvB,EAAO,CAET,MAAMyC,EAAa,CAAEJ,MAAO,EAAGC,OAAQ,EAAGC,IAAK,EAAGC,KAAM,GAClDE,EAAa,CAAEL,MAAO,EAAGC,OAAQ,EAAGC,IAAK,EAAGC,KAAM,GAElDG,EAAM,IAAIC,IAAIC,OAAOC,SAASC,YAE9BC,GADQC,EACO,OAASN,EAAIK,KAI5BE,EADe,IAAIN,IAAIO,SAASC,SACTC,SAEvBC,GAASC,EAAAA,EAAAA,IAAWZ,EAAIa,UACxBC,EAAI,IAAIC,EAAAA,aAAa,GAAD3E,OACrBuE,EAAM,OAAAvE,OAAM4D,EAAIgB,SAAQ,KAAA5E,OAAIiE,GAAIjE,OAAGmE,EAAO,YAAAnE,OAAWoB,EAAU,YAAApB,OAAWwB,EAAM,eAAAxB,OAAc0B,EAAS,iBAAA1B,OAAgB4B,EAAU,gBAAA5B,OAAe8B,IAGrJ,GAAU,OAAN4C,EA2BF,OA1BAA,EAAEG,OAAS,KACT5B,QAAQ6B,IAAI,8BACZJ,EAAEK,KAAK,KAAK,EAEdL,EAAEM,UAAaC,IACb,IAAIC,EAAgBC,KAAKC,MAAMH,EAAQnC,KAAKkB,YAE5C,IAAK,MAAOqB,EAAKC,KAAUC,OAAOC,QAAQN,EAAEO,iBAC1C9B,EAAG0B,GAAgB,IAARC,EAAeJ,EAAEQ,aAE9B,IAAK,MAAOL,EAAKC,KAAUC,OAAOC,QAAQN,EAAES,kBAC1CjC,EAAG2B,GAAgB,IAARC,EAAeJ,EAAEQ,aAE9BzD,EAAW,CACTC,WAAYkB,EAAeM,GAC3BvB,UAAWiB,EAAeO,GAC1BvB,cAAe8C,EAAE9C,cACjBC,eAAgB6C,EAAE7C,eAClBC,aAAc4C,EAAE5C,aAChBC,aAAaqD,EAAAA,EAAAA,IAAUV,EAAEW,aAAa7B,aACtC,EAEJU,EAAEoB,QAAU,KACV5E,GAAS,GACT+B,QAAQ6B,IAAI,8BAA8B,EAErC,KAELJ,EAAEqB,MAAM,KACR9C,QAAQ6B,IAAI,qBAAqB,CAGvC,IACC,CAAC7D,EAAOG,EAAYQ,EAAYE,EAAWN,EAAQE,IAEtD,IAAIoB,EAAO,CACT,CACEkD,KAAM,QACNC,GAAIjE,EAAQG,UAAU,GACtB+D,GAAIlE,EAAQE,WAAW,GACvBiE,IAAK,KAEP,CACEH,KAAM,SACNC,GAAIjE,EAAQG,UAAU,GACtB+D,GAAIlE,EAAQE,WAAW,GACvBiE,IAAK,KAEP,CACEH,KAAM,MACNC,GAAIjE,EAAQG,UAAU,GACtB+D,GAAIlE,EAAQE,WAAW,GACvBiE,IAAK,KAEP,CACEH,KAAM,OACNC,GAAIjE,EAAQG,UAAU,GACtB+D,GAAIlE,EAAQE,WAAW,GACvBiE,IAAK,MAGT,MAAMC,EAAc9E,EAAW+E,KAAKjF,IAAU,CAC5CkF,MAAOlF,EAAW4E,KAClBV,MAAOlE,EAAW4E,SAEdO,GAAWC,EAAAA,EAAAA,MAMjB,OALAhE,EAAAA,EAAAA,YAAU,KACR+D,GAASE,EAAAA,EAAAA,IAAY,QAAQ,GAE5B,KAGDvG,EAAAA,EAAAA,MAACwG,EAAAA,SAAQ,CAAA/G,SAAA,EACPH,EAAAA,EAAAA,KAACmH,EAAAA,EAAiB,CAACL,MAAM,SAASM,SAASpH,EAAAA,EAAAA,KAACqH,EAAAA,EAAQ,OAEpDrH,EAAAA,EAAAA,KAACsH,EAAAA,IAAU,CAAAnH,SACPmB,GAGAZ,EAAAA,EAAAA,MAAC6G,EAAAA,EAAe,CACdC,OAAQ,CAACC,EAAAA,GAAWC,YACpBC,SAAUC,EAAAA,GAAoBzH,SAAA,EAE9BO,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CAACkH,aAAW,EAAA1H,SAAA,EACdO,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CACFC,GAAI,CACFI,QAAS,OACT8G,WAAY,SACZC,aAAc,GACdC,IAAK,IACL7H,SAAA,EAEFO,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CAACC,GAAI,CAAEqH,SAAU,EAAGC,MAAO,QAAS/H,SAAA,EACtCH,EAAAA,EAAAA,KAACmI,EAAAA,IAAU,CAAAhI,SAAC,YACZH,EAAAA,EAAAA,KAACoI,EAAAA,IAAM,CACLC,GAAG,cACH7B,KAAK,cACLV,MAAOlE,EACP0G,SAAWxC,IACTjE,EAAciE,EAAgB,EAEhCyC,QAAS3B,EACT4B,YAAa,sBAGjB9H,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CAACC,GAAI,CAAEqH,SAAU,EAAGC,MAAO,QAAS/H,SAAA,EACtCH,EAAAA,EAAAA,KAACmI,EAAAA,IAAU,CAAAhI,SAAC,YACZH,EAAAA,EAAAA,KAACyI,EAAAA,IAAQ,CACPJ,GAAG,kBACHK,UAAU,EACVJ,SAAWK,IACT1G,EAAU0G,EAAExH,OAAO2E,MAAM,WAKjCpF,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CAACC,GAAI,CAAEI,QAAS,OAAQgH,IAAK,IAAK7H,SAAA,EACpCH,EAAAA,EAAAA,KAACW,EAAAA,IAAG,CAAAR,UACFH,EAAAA,EAAAA,KAAC4I,EAAAA,IAAQ,CACPpC,KAAK,YACL6B,GAAG,YACHvC,MAAM,YACN+C,QAAS3G,EACToG,SAAUA,KACRnG,GAAcD,EAAU,EAE1BwG,UAAU,EACV5B,MAAM,iBAGV9G,EAAAA,EAAAA,KAACW,EAAAA,IAAG,CAAAR,UACFH,EAAAA,EAAAA,KAAC4I,EAAAA,IAAQ,CACPpC,KAAK,aACL6B,GAAG,aACHvC,MAAM,aACN+C,QAASzG,EACTkG,SAAUA,KACRjG,GAAeD,EAAW,EAE5BsG,UAAU,EACV5B,MAAM,mBAGV9G,EAAAA,EAAAA,KAACW,EAAAA,IAAG,CAAAR,UACFH,EAAAA,EAAAA,KAAC4I,EAAAA,IAAQ,CACPpC,KAAK,YACL6B,GAAG,YACHvC,MAAM,YACN+C,QAASvG,EACTgG,SAAUA,KACR/F,GAAcD,EAAU,EAE1BoG,UAAU,EACV5B,MAAM,qBAIZ9G,EAAAA,EAAAA,KAACW,EAAAA,IAAG,CAACC,GAAIkI,EAAAA,GAAgBC,eAAe5I,UACtCH,EAAAA,EAAAA,KAACgJ,EAAAA,IAAM,CACLX,GAAI,aACJY,KAAK,SACLC,QAAQ,aACRrF,MAAM,UACN6E,SAAUjH,EACV0H,QAASA,IAAMzH,GAAS,GACxBoF,MAAO,gBAIbpG,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CACFkH,aAAW,EACXjH,GAAI,CACFwI,UAAW,GACX,sCAAuC,CACrCC,UAAW,OACXC,QAAS,QAEXnJ,SAAA,EAEFH,EAAAA,EAAAA,KAACuJ,EAAAA,EAAmB,CAACrB,MAAO,MAAOsB,OAAQ,IAAIrJ,UAC7CO,EAAAA,EAAAA,MAAC+I,EAAAA,EAAQ,CACPvB,MAAO,IACPsB,OAAQ,IACRlG,KAAMA,EACNoG,OAAQ,CACNC,IAAK,EACLC,MAAO,GACPC,KAAM,GACNC,OAAQ,GACR3J,SAAA,EAEFH,EAAAA,EAAAA,KAAC+J,EAAAA,EAAa,CAACC,gBAAgB,SAC/BhK,EAAAA,EAAAA,KAACiK,EAAAA,EAAK,CAACC,QAAQ,UACflK,EAAAA,EAAAA,KAACmK,EAAAA,EAAK,KACNnK,EAAAA,EAAAA,KAACoK,EAAAA,EAAO,KACRpK,EAAAA,EAAAA,KAACqK,EAAAA,EAAM,CACLC,cAAe,MACfC,OAAQ,aACRC,UAAW,UAEbxK,EAAAA,EAAAA,KAACyK,EAAAA,EAAG,CACFP,QAAQ,KACR1D,KAAM,gBACNkE,KAAK,YACLC,OAAO,aAET3K,EAAAA,EAAAA,KAACyK,EAAAA,EAAG,CACFP,QAAQ,KACR1D,KAAM,iBACNkE,KAAK,YACLC,OAAO,kBAIbjK,EAAAA,EAAAA,MAACT,EAAAA,IAAI,CACHG,MAAI,EACJC,GAAI,GACJO,GAAI,CACFwI,UAAW,GACXpI,QAAS,OACT4J,cAAe,MACfC,eAAgB,gBAChB,cAAe,CAAC,GAChB1K,SAAA,EAEFO,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CAAC6J,UAAW,WAAWrK,SAAA,EACzBH,EAAAA,EAAAA,KAAA,UAAAG,SAAQ,kBAAsB,IAAEqC,EAAQO,gBAE1CrC,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CAAC6J,UAAW,WAAWrK,SAAA,EACzBH,EAAAA,EAAAA,KAAA,UAAAG,SAAQ,oBAAwB,IAAEqC,EAAQI,cAAc,KAAG,IAC1DJ,EAAQK,mBAEXnC,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CAAC6J,UAAW,WAAWrK,SAAA,EACzBH,EAAAA,EAAAA,KAAA,UAAAG,SAAQ,kBAAsB,IAAEqC,EAAQM,aAAa,iBA5J7D9C,EAAAA,EAAAA,KAAC8K,EAAAA,EAAe,CAAC/K,OAAQ,OAAQD,eAAeE,EAAAA,EAAAA,KAAC+K,EAAAA,IAAQ,UAmKpD,C,YCxXf,IAAIC,EAAgB,WACnB,GAAoB,kBAATC,MAAqBA,KAAM,OAAOA,KAC7C,GAAsB,kBAAX3G,QAAuBA,OAAQ,OAAOA,OACjD,MAAM,IAAI4G,MAAM,kCACjB,EAEAC,EAAOC,QAAW,WACjB,GAAIC,KAAM,OAAOA,KAKjB,GAA0B,kBAAfC,YAA2BA,WAAY,OAAOA,WAKzD,IACCvF,OAAOwF,eAAexF,OAAOyF,UAAW,aAAc,CACrDC,IAAK,WAAc,OAAOJ,IAAM,EAChCK,cAAc,GAEhB,CAAE,MAAOhI,GAGR,OAAOsH,GACR,CACA,IAEC,OAAKW,YAAmBX,GAEzB,CAAE,eACMjF,OAAOyF,UAAUG,UACzB,CACD,CA5BkB,E,2GCEPlC,GAAWmC,EAAAA,EAAAA,GAAyB,CAC7CC,UAAW,WACXC,eAAgBrB,EAAAA,EAChBsB,wBAAyB,OACzBC,0BAA2B,CAAC,OAAQ,QACpCC,eAAgB,CAAC,CACfC,SAAU,QACVC,SAAUlC,EAAAA,GACT,CACDiC,SAAU,QACVC,SAAUhC,EAAAA,IAEZiC,cAAeA,EAAAA,I,0ICpBjB,SAASC,EAAQC,GAAgC,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAAK,cAAcA,CAAG,EAAI,SAAUA,GAAK,OAAOA,GAAK,mBAAqBC,QAAUD,EAAEG,cAAgBF,QAAUD,IAAMC,OAAOf,UAAY,gBAAkBc,CAAG,EAAGD,EAAQC,EAAI,CAC7T,SAASI,EAAQ/D,EAAGgE,GAAK,IAAIC,EAAI7G,OAAO8G,KAAKlE,GAAI,GAAI5C,OAAO+G,sBAAuB,CAAE,IAAIR,EAAIvG,OAAO+G,sBAAsBnE,GAAIgE,IAAML,EAAIA,EAAES,QAAO,SAAUJ,GAAK,OAAO5G,OAAOiH,yBAAyBrE,EAAGgE,GAAGM,UAAY,KAAKL,EAAEM,KAAKC,MAAMP,EAAGN,EAAI,CAAE,OAAOM,CAAG,CAC9P,SAASQ,EAAczE,GAAK,IAAK,IAAIgE,EAAI,EAAGA,EAAIU,UAAUC,OAAQX,IAAK,CAAE,IAAIC,EAAI,MAAQS,UAAUV,GAAKU,UAAUV,GAAK,CAAC,EAAGA,EAAI,EAAID,EAAQ3G,OAAO6G,IAAI,GAAIW,SAAQ,SAAUZ,GAAKa,EAAgB7E,EAAGgE,EAAGC,EAAED,GAAK,IAAK5G,OAAO0H,0BAA4B1H,OAAO2H,iBAAiB/E,EAAG5C,OAAO0H,0BAA0Bb,IAAMF,EAAQ3G,OAAO6G,IAAIW,SAAQ,SAAUZ,GAAK5G,OAAOwF,eAAe5C,EAAGgE,EAAG5G,OAAOiH,yBAAyBJ,EAAGD,GAAK,GAAI,CAAE,OAAOhE,CAAG,CACtb,SAAS6E,EAAgBG,EAAK9H,EAAKC,GAA4L,OAAnLD,EAC5C,SAAwB+H,GAAO,IAAI/H,EACnC,SAAsBgI,EAAOC,GAAQ,GAAuB,WAAnBzB,EAAQwB,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMtB,OAAOyB,aAAc,QAAaC,IAATF,EAAoB,CAAE,IAAI1K,EAAM0K,EAAKG,KAAKL,EAAOC,GAAQ,WAAY,GAAqB,WAAjBzB,EAAQhJ,GAAmB,OAAOA,EAAK,MAAM,IAAI8K,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQR,EAAQ,CADnVS,CAAaV,EAAK,UAAW,MAAwB,WAAjBvB,EAAQxG,GAAoBA,EAAMuI,OAAOvI,EAAM,CAD1E0I,CAAe1I,MAAiB8H,EAAO5H,OAAOwF,eAAeoC,EAAK9H,EAAK,CAAEC,MAAOA,EAAOmH,YAAY,EAAMvB,cAAc,EAAM8C,UAAU,IAAkBb,EAAI9H,GAAOC,EAAgB6H,CAAK,CAG3O,SAASc,EAAeC,EAAKC,GAAK,OAKlC,SAAyBD,GAAO,GAAIE,MAAMC,QAAQH,GAAM,OAAOA,CAAK,CAL3BI,CAAgBJ,IAIzD,SAA+B/B,EAAGoC,GAAK,IAAInC,EAAI,MAAQD,EAAI,KAAO,oBAAsBJ,QAAUI,EAAEJ,OAAOC,WAAaG,EAAE,cAAe,GAAI,MAAQC,EAAG,CAAE,IAAIjE,EAAGqG,EAAGL,EAAGM,EAAGC,EAAI,GAAIC,GAAI,EAAI7C,GAAI,EAAI,IAAM,GAAIqC,GAAK/B,EAAIA,EAAEsB,KAAKvB,IAAIyC,KAAM,IAAML,EAAG,CAAE,GAAIhJ,OAAO6G,KAAOA,EAAG,OAAQuC,GAAI,CAAI,MAAO,OAASA,GAAKxG,EAAIgG,EAAET,KAAKtB,IAAIyC,QAAUH,EAAEhC,KAAKvE,EAAE7C,OAAQoJ,EAAE5B,SAAWyB,GAAII,GAAI,GAAK,CAAE,MAAOxC,GAAKL,GAAI,EAAI0C,EAAIrC,CAAG,CAAE,QAAU,IAAM,IAAKwC,GAAK,MAAQvC,EAAU,SAAMqC,EAAIrC,EAAU,SAAK7G,OAAOkJ,KAAOA,GAAI,MAAQ,CAAE,QAAU,GAAI3C,EAAG,MAAM0C,CAAG,CAAE,CAAE,OAAOE,CAAG,CAAE,CAJxdI,CAAsBZ,EAAKC,IAE5F,SAAqCrC,EAAGiD,GAAU,IAAKjD,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOkD,EAAkBlD,EAAGiD,GAAS,IAAIP,EAAIjJ,OAAOyF,UAAUhH,SAAS0J,KAAK5B,GAAGmD,MAAM,GAAI,GAAc,WAANT,GAAkB1C,EAAEG,cAAauC,EAAI1C,EAAEG,YAAYjG,MAAM,GAAU,QAANwI,GAAqB,QAANA,EAAa,OAAOJ,MAAMc,KAAKpD,GAAI,GAAU,cAAN0C,GAAqB,2CAA2CW,KAAKX,GAAI,OAAOQ,EAAkBlD,EAAGiD,EAAS,CAF7TK,CAA4BlB,EAAKC,IACnI,WAA8B,MAAM,IAAIR,UAAU,4IAA8I,CADvD0B,EAAoB,CAG7J,SAASL,EAAkBd,EAAKoB,IAAkB,MAAPA,GAAeA,EAAMpB,EAAIpB,UAAQwC,EAAMpB,EAAIpB,QAAQ,IAAK,IAAIqB,EAAI,EAAGoB,EAAO,IAAInB,MAAMkB,GAAMnB,EAAImB,EAAKnB,IAAKoB,EAAKpB,GAAKD,EAAIC,GAAI,OAAOoB,CAAM,CAa3K,IAAIxG,GAAmCyG,EAAAA,EAAAA,aAAW,SAAUnQ,EAAMoQ,GACvE,IAAIC,EAASrQ,EAAKqQ,OAChBC,EAAwBtQ,EAAKuQ,iBAC7BA,OAA6C,IAA1BD,EAAmC,CACpDjI,OAAQ,EACRsB,QAAS,GACP2G,EACJE,EAAaxQ,EAAKqI,MAClBA,OAAuB,IAAfmI,EAAwB,OAASA,EACzCC,EAAczQ,EAAK2J,OACnBA,OAAyB,IAAhB8G,EAAyB,OAASA,EAC3CC,EAAgB1Q,EAAK2Q,SACrBA,OAA6B,IAAlBD,EAA2B,EAAIA,EAC1CE,EAAY5Q,EAAK4Q,UACjBC,EAAY7Q,EAAK6Q,UACjBvQ,EAAWN,EAAKM,SAChBwQ,EAAgB9Q,EAAK+Q,SACrBA,OAA6B,IAAlBD,EAA2B,EAAIA,EAC1CtI,EAAKxI,EAAKwI,GACVmC,EAAY3K,EAAK2K,UACjBqG,EAAWhR,EAAKgR,SAChBC,EAAajR,EAAKkR,MAClBA,OAAuB,IAAfD,EAAwB,CAAC,EAAIA,EACnCE,GAAeC,EAAAA,EAAAA,QAAO,MACtBC,GAAcD,EAAAA,EAAAA,UAClBC,EAAYC,QAAUN,GAGtBO,EAAAA,EAAAA,qBAAoBnB,GAAK,WACvB,OAAOe,CACT,IACA,IAIEK,EAAa5C,GAJC9M,EAAAA,EAAAA,UAAS,CACrB2P,eAAgBlB,EAAiBlI,MACjCqJ,gBAAiBnB,EAAiB5G,SAEG,GACvCgI,EAAQH,EAAW,GACnBI,EAAWJ,EAAW,GACpBK,GAAmBC,EAAAA,EAAAA,cAAY,SAAUC,EAAUC,GACrDJ,GAAS,SAAUK,GACjB,IAAIC,EAAeC,KAAKC,MAAML,GAC1BM,EAAgBF,KAAKC,MAAMJ,GAC/B,OAAIC,EAAUR,iBAAmBS,GAAgBD,EAAUP,kBAAoBW,EACtEJ,EAEF,CACLR,eAAgBS,EAChBR,gBAAiBW,EAErB,GACF,GAAG,KACHlP,EAAAA,EAAAA,YAAU,WACR,IAAImP,EAAW,SAAkBnM,GAC/B,IAAIoM,EACAC,EAAwBrM,EAAQ,GAAGsM,YACrChB,EAAiBe,EAAsBnK,MACvCqJ,EAAkBc,EAAsB7I,OAC1CkI,EAAiBJ,EAAgBC,GACgB,QAAhDa,EAAuBlB,EAAYC,eAA8C,IAAzBiB,GAAmCA,EAAqBlE,KAAKgD,EAAaI,EAAgBC,EACrJ,EACIX,EAAW,IACbuB,EAAWI,IAASJ,EAAUvB,EAAU,CACtC4B,UAAU,EACVC,SAAS,KAGb,IAAIC,EAAW,IAAIC,eAAeR,GAC9BS,EAAwB5B,EAAaG,QAAQ0B,wBAC/CvB,EAAiBsB,EAAsB1K,MACvCqJ,EAAkBqB,EAAsBpJ,OAG1C,OAFAkI,EAAiBJ,EAAgBC,GACjCmB,EAASI,QAAQ9B,EAAaG,SACvB,WACLuB,EAASK,YACX,CACF,GAAG,CAACrB,EAAkBd,IACtB,IAAIoC,GAAeC,EAAAA,EAAAA,UAAQ,WACzB,IAAI3B,EAAiBE,EAAMF,eACzBC,EAAkBC,EAAMD,gBAC1B,GAAID,EAAiB,GAAKC,EAAkB,EAC1C,OAAO,MAET2B,EAAAA,EAAAA,IAAKC,EAAAA,EAAAA,IAAUjL,KAAUiL,EAAAA,EAAAA,IAAU3J,GAAS,kHAAmHtB,EAAOsB,IACtK0J,EAAAA,EAAAA,IAAMhD,GAAUA,EAAS,EAAG,4CAA6CA,GACzE,IAAIkD,GAAkBD,EAAAA,EAAAA,IAAUjL,GAASoJ,EAAiBpJ,EACtDmL,GAAmBF,EAAAA,EAAAA,IAAU3J,GAAU+H,EAAkB/H,EACzD0G,GAAUA,EAAS,IAEjBkD,EAEFC,EAAmBD,EAAkBlD,EAC5BmD,IAETD,EAAkBC,EAAmBnD,GAInCQ,GAAa2C,EAAmB3C,IAClC2C,EAAmB3C,KAGvBwC,EAAAA,EAAAA,GAAKE,EAAkB,GAAKC,EAAmB,EAAG,gQAAiQD,EAAiBC,EAAkBnL,EAAOsB,EAAQgH,EAAUC,EAAWP,GAC1X,IAAIoD,GAAY1E,MAAMC,QAAQ1O,KAAaoT,EAAAA,EAAAA,WAAUpT,KAAaqT,EAAAA,EAAAA,IAAerT,EAAS8I,MAAMwK,SAAS,SACzG,OAAOC,EAAAA,SAAe7M,IAAI1G,GAAU,SAAUwT,GAC5C,OAAIJ,EAAAA,EAAAA,WAAUI,IACQC,EAAAA,EAAAA,cAAaD,EAAOvG,EAAc,CACpDlF,MAAOkL,EACP5J,OAAQ6J,GACPC,EAAW,CACZvC,MAAO3D,EAAc,CACnB5D,OAAQ,OACRtB,MAAO,OACPwI,UAAW2C,EACXQ,SAAUT,GACTO,EAAMG,MAAM/C,QACb,CAAC,IAEA4C,CACT,GACF,GAAG,CAACzD,EAAQ/P,EAAUqJ,EAAQkH,EAAWD,EAAWD,EAAUgB,EAAOtJ,IACrE,OAAoBwL,EAAAA,cAAoB,MAAO,CAC7CrL,GAAIA,EAAK,GAAG7H,OAAO6H,QAAM4F,EACzBzD,WAAWuJ,EAAAA,EAAAA,GAAK,gCAAiCvJ,GACjDuG,MAAO3D,EAAcA,EAAc,CAAC,EAAG2D,GAAQ,CAAC,EAAG,CACjD7I,MAAOA,EACPsB,OAAQA,EACRgH,SAAUA,EACVC,UAAWA,EACXC,UAAWA,IAEbT,IAAKe,GACJgC,EACL,G,kBC1JA,IAAIgB,EACJ,GAA0B,kBAAf1I,WACV0I,EAAc1I,gBAEd,IACC0I,EAAcC,EAAQ,MACvB,CAAE,MAAOvQ,GACT,CAAE,QAED,GADKsQ,GAAiC,qBAAX1P,SAA0B0P,EAAc1P,SAC9D0P,EAAe,MAAM,IAAI9I,MAAM,kCACrC,CAGD,IAAIgJ,EAAkBF,EAAYG,WAAaH,EAAYI,aACvDC,EAAoBJ,EAAQ,OAMhC,SAAS9O,EAAamP,EAAKC,GAiB1B,OAdIA,EACe,IAAIL,EAAgBI,EAAKC,GAGzB,IAAIL,EAAgBI,EAWxC,CACIJ,GACH,CAAC,aAAc,OAAQ,UAAW,UAAU3G,SAAQ,SAASiH,GAC5DzO,OAAOwF,eAAepG,EAAcqP,EAAM,CACzC/I,IAAK,WAAa,OAAOyI,EAAgBM,EAAO,GAElD,IAMDrJ,EAAOC,QAAU,CACb,aAAiB8I,EAAkB/O,EAAe,KAClD,QAAiBkP,E,kBCpDrBlJ,EAAOC,QAAU,EAAjBD,OAAAA,O","sources":["screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Heal/Heal.tsx","../node_modules/es5-ext/global.js","../node_modules/recharts/es6/chart/BarChart.js","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { HelpBox, Box, Grid, breakPoints } from \"mds\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n \n \n This feature is not available for a single-disk setup. \n \n \n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n \n \n }\n />\n \n \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport {\n Box,\n Button,\n Checkbox,\n Grid,\n HealIcon,\n InputBox,\n InputLabel,\n PageLayout,\n Select,\n} from \"mds\";\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\n\nimport { api } from \"api\";\nimport { Bucket } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { colorH, HealStatus } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { selDistSet, setHelpName } from \"../../../systemSlice\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport { useAppDispatch } from \"../../../store\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst Heal = () => {\n const distributedSetup = useSelector(selDistSet);\n\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [recursive, setRecursive] = useState(false);\n const [forceStart, setForceStart] = useState(false);\n const [forceStop, setForceStop] = useState(false);\n // healStatus states\n const [hStatus, setHStatus] = useState({\n beforeHeal: [0, 0, 0, 0],\n afterHeal: [0, 0, 0, 0],\n objectsHealed: 0,\n objectsScanned: 0,\n healDuration: 0,\n sizeScanned: \"\",\n });\n\n const fetchBucketList = () => {\n api.buckets\n .listBuckets()\n .then((res) => {\n let buckets: Bucket[] = [];\n if (res.data.buckets) {\n buckets = res.data.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err) => {\n console.error(errorToHandler(err.error));\n });\n };\n\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n // forceStart and forceStop need to be mutually exclusive\n useEffect(() => {\n if (forceStart) {\n setForceStop(false);\n }\n }, [forceStart]);\n\n useEffect(() => {\n if (forceStop) {\n setForceStart(false);\n }\n }, [forceStop]);\n\n const colorHealthArr = (color: colorH) => {\n return [color.Green, color.Yellow, color.Red, color.Grey];\n };\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n // values stored here to update chart\n const cB: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n const cA: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/heal/${bucketName}?prefix=${prefix}&recursive=${recursive}&force-start=${forceStart}&force-stop=${forceStop}`,\n );\n\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealStatus = JSON.parse(message.data.toString());\n // Store percentage per health color\n for (const [key, value] of Object.entries(m.healthAfterCols)) {\n cA[key] = (value * 100) / m.itemsScanned;\n }\n for (const [key, value] of Object.entries(m.healthBeforeCols)) {\n cB[key] = (value * 100) / m.itemsScanned;\n }\n setHStatus({\n beforeHeal: colorHealthArr(cB),\n afterHeal: colorHealthArr(cA),\n objectsHealed: m.objectsHealed,\n objectsScanned: m.objectsScanned,\n healDuration: m.healDuration,\n sizeScanned: niceBytes(m.bytesScanned.toString()),\n });\n };\n c.onclose = () => {\n setStart(false);\n console.log(\"connection closed by server\");\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n console.log(\"closing websockets\");\n };\n }\n }\n }, [start, bucketName, forceStart, forceStop, prefix, recursive]);\n\n let data = [\n {\n name: \"Green\",\n ah: hStatus.afterHeal[0],\n bh: hStatus.beforeHeal[0],\n amt: 100,\n },\n {\n name: \"Yellow\",\n ah: hStatus.afterHeal[1],\n bh: hStatus.beforeHeal[1],\n amt: 100,\n },\n {\n name: \"Red\",\n ah: hStatus.afterHeal[2],\n bh: hStatus.beforeHeal[2],\n amt: 100,\n },\n {\n name: \"Grey\",\n ah: hStatus.afterHeal[3],\n bh: hStatus.beforeHeal[3],\n amt: 100,\n },\n ];\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"heal\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n } />\n\n \n {!distributedSetup ? (\n } />\n ) : (\n \n \n \n \n Bucket\n {\n setBucketName(value as string);\n }}\n options={bucketNames}\n placeholder={\"Select Bucket\"}\n />\n \n \n Prefix\n {\n setPrefix(e.target.value);\n }}\n />\n \n \n \n \n {\n setRecursive(!recursive);\n }}\n disabled={false}\n label=\"Recursive\"\n />\n \n \n {\n setForceStart(!forceStart);\n }}\n disabled={false}\n label=\"Force Start\"\n />\n \n \n {\n setForceStop(!forceStop);\n }}\n disabled={false}\n label=\"Force Stop\"\n />\n \n \n \n setStart(true)}\n label={\"Start\"}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Size scanned: {hStatus.sizeScanned}\n \n \n Objects healed: {hStatus.objectsHealed} /{\" \"}\n {hStatus.objectsScanned}\n \n \n Healing time: {hStatus.healDuration}s\n \n \n \n \n )}\n \n \n );\n};\n\nexport default Heal;\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport clsx from 'clsx';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect, useMemo, useCallback } from 'react';\nimport throttle from 'lodash/throttle';\nimport { isElement } from 'react-is';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { getDisplayName } from '../util/ReactUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$initialDimension = _ref.initialDimension,\n initialDimension = _ref$initialDimension === void 0 ? {\n width: -1,\n height: -1\n } : _ref$initialDimension,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n _ref$minWidth = _ref.minWidth,\n minWidth = _ref$minWidth === void 0 ? 0 : _ref$minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className,\n onResize = _ref.onResize,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n var containerRef = useRef(null);\n var onResizeRef = useRef();\n onResizeRef.current = onResize;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n useImperativeHandle(ref, function () {\n return containerRef;\n });\n var _useState = useState({\n containerWidth: initialDimension.width,\n containerHeight: initialDimension.height\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n var setContainerSize = useCallback(function (newWidth, newHeight) {\n setSizes(function (prevState) {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n useEffect(function () {\n var callback = function callback(entries) {\n var _onResizeRef$current;\n var _entries$0$contentRec = entries[0].contentRect,\n containerWidth = _entries$0$contentRec.width,\n containerHeight = _entries$0$contentRec.height;\n setContainerSize(containerWidth, containerHeight);\n (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth, containerHeight);\n };\n if (debounce > 0) {\n callback = throttle(callback, debounce, {\n trailing: true,\n leading: false\n });\n }\n var observer = new ResizeObserver(callback);\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n containerWidth = _containerRef$current.width,\n containerHeight = _containerRef$current.height;\n setContainerSize(containerWidth, containerHeight);\n observer.observe(containerRef.current);\n return function () {\n observer.disconnect();\n };\n }, [setContainerSize, debounce]);\n var chartContent = useMemo(function () {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n }\n\n // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n var isCharts = !Array.isArray(children) && isElement(children) && getDisplayName(children.type).endsWith('Chart');\n return React.Children.map(children, function (child) {\n if (isElement(child)) {\n return /*#__PURE__*/cloneElement(child, _objectSpread({\n width: calculatedWidth,\n height: calculatedHeight\n }, isCharts ? {\n style: _objectSpread({\n height: '100%',\n width: '100%',\n maxHeight: calculatedHeight,\n maxWidth: calculatedWidth\n }, child.props.style)\n } : {}));\n }\n return child;\n });\n }, [aspect, children, height, maxHeight, minHeight, minWidth, sizes, width]);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id ? \"\".concat(id) : undefined,\n className: clsx('recharts-responsive-container', className),\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n }),\n ref: containerRef\n }, chartContent);\n});","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["_ref","iconComponent","entity","_jsx","Grid","container","children","item","xs","HelpBox","title","concat","help","_jsxs","Box","sx","fontSize","breakPoints","sm","display","flexFlow","href","target","rel","Heal","distributedSetup","useSelector","selDistSet","start","setStart","useState","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","hStatus","setHStatus","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","useEffect","api","buckets","listBuckets","then","res","data","catch","err","console","error","errorToHandler","colorHealthArr","color","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","process","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","key","value","Object","entries","healthAfterCols","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","name","ah","bh","amt","bucketNames","map","label","dispatch","useAppDispatch","setHelpName","Fragment","PageHeaderWrapper","actions","HelpMenu","PageLayout","SecureComponent","scopes","IAM_SCOPES","ADMIN_HEAL","resource","CONSOLE_UI_RESOURCE","withBorders","alignItems","marginBottom","gap","flexGrow","width","InputLabel","Select","id","onChange","options","placeholder","InputBox","disabled","e","Checkbox","checked","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","marginTop","listStyle","content","ResponsiveContainer","height","BarChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","Tooltip","Legend","verticalAlign","layout","className","Bar","fill","stroke","flexDirection","justifyContent","DistributedOnly","HealIcon","naiveFallback","self","Error","module","exports","this","globalThis","defineProperty","prototype","get","configurable","__global__","generateCategoricalChart","chartName","GraphicalChild","defaultTooltipEventType","validateTooltipEventTypes","axisComponents","axisType","AxisComp","formatAxisMap","_typeof","o","Symbol","iterator","constructor","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","arg","input","hint","prim","toPrimitive","undefined","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","writable","_slicedToArray","arr","i","Array","isArray","_arrayWithHoles","l","n","u","a","f","next","done","_iterableToArrayLimit","minLen","_arrayLikeToArray","slice","from","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","forwardRef","ref","aspect","_ref$initialDimension","initialDimension","_ref$width","_ref$height","_ref$minWidth","minWidth","minHeight","maxHeight","_ref$debounce","debounce","onResize","_ref$style","style","containerRef","useRef","onResizeRef","current","useImperativeHandle","_useState2","containerWidth","containerHeight","sizes","setSizes","setContainerSize","useCallback","newWidth","newHeight","prevState","roundedWidth","Math","round","roundedHeight","callback","_onResizeRef$current","_entries$0$contentRec","contentRect","throttle","trailing","leading","observer","ResizeObserver","_containerRef$current","getBoundingClientRect","observe","disconnect","chartContent","useMemo","warn","isPercent","calculatedWidth","calculatedHeight","isCharts","isElement","getDisplayName","endsWith","React","child","cloneElement","maxWidth","props","clsx","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","prop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2603.dca1b3d2.chunk.js b/portal-ui/build/static/js/2603.9e6bcd08.chunk.js similarity index 99% rename from portal-ui/build/static/js/2603.dca1b3d2.chunk.js rename to portal-ui/build/static/js/2603.9e6bcd08.chunk.js index e7dad42383..238e07811c 100644 --- a/portal-ui/build/static/js/2603.dca1b3d2.chunk.js +++ b/portal-ui/build/static/js/2603.9e6bcd08.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2603,4619],{94619:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var s=n(72791),o=n(56028),i=n(29945),a=n(31776),l=n(82342),r=n(23814),c=n(87995),d=n(44690),u=n(80184);const h=e=>{let{modalOpen:t,onClose:n,bucket:h,prefilledRoute:x}=e;const m=(0,d.TL)(),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)("readonly");(0,s.useEffect)((()=>{x&&j(x)}),[x]);return(0,u.jsx)(o.Z,{modalOpen:t,title:"Add Anonymous Access Rule",onClose:n,titleIcon:(0,u.jsx)(i.sR0,{}),children:(0,u.jsxs)(i.ltY,{withBorders:!1,containerPadding:!1,children:[(0,u.jsx)(i.Wzg,{value:p,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:e=>{j(e.target.value)},tooltip:"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy."}),(0,u.jsx)(i.PhF,{id:"access",name:"Access",onChange:e=>{g(e)},label:"Access",value:b,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1,helpTip:(0,u.jsx)(s.Fragment,{children:"Select the desired level of access available to unauthenticated Users"}),helpTipPlacement:"right"}),(0,u.jsxs)(i.rjZ,{item:!0,xs:12,sx:r.ID.modalButtonBar,children:[(0,u.jsx)(i.zxk,{id:"clear",type:"button",variant:"regular",onClick:()=>{j(""),g("readonly")},label:"Clear"}),(0,u.jsx)(i.zxk,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===p.trim(),onClick:()=>{a.h.bucket.setAccessRuleWithBucket(h,{prefix:p,access:b}).then((e=>{m((0,c.y1)("Access Rule added successfully")),n()})).catch((e=>{m((0,c.Ih)((0,l.g)(e.error))),n()}))},label:"Save"})]})]})})}},32603:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Je});var s=n(72791),o=n(78687),i=n(57689),a=n(31776),l=n(44690),r=n(56087),c=n(45248),d=n(54756),u=n(26181),h=n.n(u),x=n(29945),m=n(82342),p=n(43954),j=n(99779),b=n(78029),g=n.n(b),v=n(16444),f=n(11087),_=n(38442),S=n(75578),T=n(87995);const w=e=>(e.match(/\.([^.]*?)(?=\?|#|$)/)||[])[1],y=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const s=Object.keys(e).reduce(((n,s)=>(w(s)&&s.includes(t)&&(n[s]=e[s]),n)),{});return Object.keys(s).filter((e=>{const o=s[e].some((e=>n.find((t=>{let n=!1;if(-1!==t.indexOf("*")){const s=t.substring(0,t.length-1);n=e.includes(s)}return n||e===t})))),i=e.substring(0,e.indexOf("/*."))==="arn:aws:s3:::".concat(t);return o&&(i&&"arn:aws:s3:::*"!==e)}))};var C=n(80184);const E=(0,S.Z)(s.lazy((()=>n.e(2185).then(n.bind(n,62185))))),O=v.ZP.div((()=>({display:"flex","& .additionalOptions":{paddingRight:"10px",display:"flex",alignItems:"center",["@media (max-width: ".concat(x.Egj.lg,"px)")]:{display:"none"}},"& .slashSpacingStyle":{margin:"0 5px"}}))),F=e=>{let{bucketName:t,internalPaths:n,hidePathButton:a,additionalOptions:u}=e;const h=(0,l.TL)(),m=(0,i.s0)(),p=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),j=(0,o.v9)((e=>e.objectBrowser.versionsMode)),b=(0,o.v9)((e=>e.objectBrowser.versionedFile)),v=(0,o.v9)((e=>e.system.anonymousMode)),[S,w]=(0,s.useState)(!1),[F,I]=(0,s.useState)(!1),N=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],k=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{}));let B=n;""!==n&&(B="/".concat(n));const L=B.split("/").filter((e=>""!==e)),A=L.length-1,D=t+B||t,P=y(k,D,N);(0,s.useEffect)((()=>{I(!1),Object.keys(k).forEach((e=>{e.includes(D)&&e.includes("/*")&&I(!0)}))}),[D,n,k]);const R=(0,_.F)([D,...P],N)||v||F;let M=L.map(((e,n)=>{const o="".concat(L.slice(0,n+1).join("/"),"/"),i="/browser/".concat(t,"/").concat(o?"".concat((0,c.LL)(o)):"");return n===A&&e===b?null:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),n===A?(0,C.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,c.eC)(e)}):(0,C.jsx)(f.rU,{style:{whiteSpace:"pre"},to:i,onClick:()=>{h((0,d.db)({status:!1,objectName:""}))},children:(0,c.eC)(e)})]},"breadcrumbs-".concat(n.toString()))})),U=[];j&&(U=[(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);const G=[(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(f.rU,{to:"/browser/".concat(t),onClick:()=>{h((0,d.db)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path"),...M,...U];return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)(O,{children:[S&&(0,C.jsx)(E,{modalOpen:S,bucketName:t,folderName:n,onClose:()=>{w(!1)},limitedSubPath:F&&!((0,_.F)([D,...P],N)||v)}),(0,C.jsx)(x.OoM,{sx:{whiteSpace:"pre"},goBackFunction:()=>{if(j)h((0,d.db)({status:!1,objectName:""}));else{if(0===L.length)return void m("/browser");const e=L.slice(0,-1);m("/browser/".concat(t).concat(e.length>0?"/".concat((0,c.LL)("".concat(e.join("/"),"/"))):""))}},additionalOptions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(g(),{text:"".concat(t,"/").concat(L.join("/")),children:(0,C.jsx)(x.zxk,{id:"copy-path",icon:(0,C.jsx)(x.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:()=>{h((0,T.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,C.jsx)(x.xuv,{className:"additionalOptions",children:u})]}),children:G}),!a&&(0,C.jsx)(x.ua7,{tooltip:R?"Choose or create a new path":(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"create a new path"),children:(0,C.jsx)(x.zxk,{id:"new-path",onClick:()=>{w(!0)},disabled:!v&&(p||!R),icon:(0,C.jsx)(x.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,C.jsx)(x.xuv,{sx:{display:"none",marginTop:15,marginBottom:5,justifyContent:"flex-start","& > div":{fontSize:12,fontWeight:"normal",flexDirection:"row",flexWrap:"nowrap"},["@media (max-width: ".concat(x.Egj.lg,"px)")]:{display:"flex"}},children:u})]})};var I=n(47922);const N=e=>"Enabled"===e||"Suspended"===e;var k=n(76610),B=n(9859),L=n(96382);const A=(0,L.hg)("objectBrowser/downloadSelected",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n(),a=t=>{const n=(0,c.LL)("".concat(e,"-").concat(t.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),s=(0,k.YO)(8),i=(0,I.LR)(e,(0,c.LL)(t.name),t.version_id,t.size,null,s,(e=>{o((0,d.RO)({instanceID:n,progress:e}))}),(()=>{o((0,d.oK)(n))}),(e=>{o((0,d.qJ)({instanceID:n,msg:e}))}),(()=>{o((0,d.Im)(n))}),(()=>{o((0,T.y1)("File download will be handled directly by the browser."))}));(0,k.EN)(s,i),o((0,d.Mc)({ID:s,bucketName:e,done:!1,instanceID:n,percentage:0,prefix:t.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))};if(0!==i.objectBrowser.selectedObjects.length){let t=[];const n=e=>i.objectBrowser.selectedObjects.includes(e.name);if(t=i.objectBrowser.records.filter(n),1===t.length){if(t[0].name.length>200&&(0,c.mv)().toLowerCase().includes("win"))return void o((0,d.$y)(t[0]));a(t[0])}else if(1===t.length)a(t[0]);else if(t.length>1){const n="".concat(j.ou.now().toFormat("LL-dd-yyyy-HH-mm-ss"),"_files_list.zip"),s=t.reduce(((e,t)=>{const n=null===t||void 0===t?void 0:t.delete_flag;return t&&!n?e.push(t.name):console.log("Skipping ".concat(null===t||void 0===t?void 0:t.name," from download.")),e}),[]);return void await(0,I.Sv)(e,s,n)}}})),D=(0,L.hg)("objectBrowser/openPreview",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,d.eP)(e)),o((0,d.ei)(!0)))}})),P=(0,L.hg)("objectBrowser/openShare",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,d.eP)(e)),o((0,d.Qf)(!0)))}})),R=(0,L.hg)("objectBrowser/openAnonymousAccess",(async(e,t)=>{let{getState:n,dispatch:s}=t;const o=n();1===o.objectBrowser.selectedObjects.length&&o.objectBrowser.selectedObjects[0].endsWith("/")&&s((0,d.xV)(!0))}));var M=n(27454);const U=e=>{let{uploadPath:t,bucketName:n,forceDisable:i=!1,uploadFileFunction:a,uploadFolderFunction:l,overrideStyles:c={}}=e;const[d,u]=(0,s.useState)(null),[h,m]=(0,s.useState)(!1),p=(0,o.v9)((e=>e.system.anonymousMode)),j=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{})),b=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],g=y(j,t,b),v=Boolean(d),f=()=>{u(null)},S=(0,_.F)([t,...g],b)||p,T=(0,_.F)([n,...g],b,!1,!0),w=S||T;return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(M.Z,{tooltip:w?"Upload Files":(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload files to this bucket"),children:(0,C.jsx)(x.zxk,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":v?"true":void 0,onClick:e=>{m(!h),u(e.currentTarget)},label:"Upload",icon:(0,C.jsx)(x.rG2,{}),variant:"callAction",disabled:i||!w,sx:c})}),(0,C.jsx)(x.udT,{id:"upload-main-menu",options:[{label:"Upload File",icon:(0,C.jsx)(x.rG2,{}),value:"file",disabled:!S||i},{label:"Upload Folder",icon:(0,C.jsx)(x.oXh,{}),value:"folder",disabled:!T||i}],selectedOption:"",onSelect:e=>{"folder"!==e?a(f):l(f)},hideTriggerAction:()=>{m(!1)},open:h,anchorEl:d,anchorOrigin:"end",useAnchorWidth:!1})]})},G=e=>{let{open:t,closePanel:n,className:s="",children:o}=e;return(0,C.jsxs)(x.xuv,{id:"details-panel",sx:{borderColor:"#EAEDEE",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderLeftWidth:1,opacity:1},"@media (max-width: 799px)":{"&.open":{width:"100%",minWidth:"100%",borderLeftWidth:0}}},className:"".concat(t?"open":""," ").concat(s),children:[(0,C.jsx)(x.zxk,{variant:"text",id:"close-details-list",onClick:n,icon:(0,C.jsx)(x.oto,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),o]})},z=(e,t,n,s)=>{var o;const i=(0,c.LL)("".concat(t,"-").concat(s.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),a=(0,c.mv)().toLowerCase().includes("win");if(((null===(o=s.name)||void 0===o?void 0:o.length)||0)>200&&a)return void e((0,d.Hg)(!0));const l=(0,k.YO)(8),r=(0,I.LR)(t,n,s.version_id,s.size||0,null,l,(t=>{e((0,d.RO)({instanceID:i,progress:t}))}),(()=>{e((0,d.oK)(i))}),(t=>{e((0,d.qJ)({instanceID:i,msg:t}))}),(()=>{e((0,d.Im)(i))}),(()=>{e((0,T.y1)("File download will be handled directly by the browser."))}));(0,k.EN)(l,r),e((0,d.Mc)({ID:l,bucketName:t,done:!1,instanceID:i,percentage:0,prefix:s.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))},Z=e=>{let{icon:t,strings:n}=e;return(0,C.jsxs)(x.xuv,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16},"& .fileNameText":{whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"}},children:[t,(0,C.jsx)("span",{className:"fileNameText",children:(0,c.e3)(n[n.length-1])})]})},K=[{icon:(0,C.jsx)(x.n9O,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,C.jsx)(x.mYf,{}),extensions:["mp3","m4a","aac"]},{icon:(0,C.jsx)(x.UU9,{}),extensions:["pdf"]},{icon:(0,C.jsx)(x.hjP,{}),extensions:["ppt","pptx"]},{icon:(0,C.jsx)(x.hz9,{}),extensions:["xls","xlsx"]},{icon:(0,C.jsx)(x.xDw,{}),extensions:["cer","crt","pem"]},{icon:(0,C.jsx)(x.jG9,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,C.jsx)(x.NqG,{}),extensions:["cfg","yaml"]},{icon:(0,C.jsx)(x.OkY,{}),extensions:["sql"]},{icon:(0,C.jsx)(x.ZAy,{}),extensions:["ttf","otf"]},{icon:(0,C.jsx)(x.p2x,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,C.jsx)(x.xhr,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,C.jsx)(x.rtI,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,C.jsx)(x.q$4,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],W=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e,s=(0,C.jsx)(x.MoH,{});e.endsWith("/")&&(s=(0,C.jsx)(x.BI,{}),n=e.slice(0,-1));const o=e.toLowerCase();for(const a of K)for(const e of a.extensions)o.endsWith(".".concat(e))&&(s=a.icon);!e.endsWith("/")&&e.indexOf(".")<0&&(s=(0,C.jsx)(x.lrl,{}));const i=n.split("/");return t?s:(0,C.jsx)(Z,{icon:s,strings:i})};var H=n(78562);const J=e=>{let{metaData:t}=e;const n=Object.keys(t);return(0,C.jsx)(s.Fragment,{children:n.map(((e,n)=>{const s=(e=>Array.isArray(e)?e.map(c.eC).join(", "):(0,c.eC)(e))(t[e]);return(0,C.jsxs)(x.xuv,{sx:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},children:[(0,C.jsx)("strong",{children:e}),(0,C.jsx)("br",{}),s]},"box-meta-".concat(e,"-").concat(n.toString()))}))})};var V=n(34433),Y=n(66315),q=n(23814);const $=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],Q=Array.from(Array(31),((e,t)=>({value:(t+1).toString(),label:(t+1).toString()}))),X=(new Date).getFullYear(),ee=Array.from(Array(50),((e,t)=>({value:(t+X).toString(),label:(t+X).toString()})));var te=n(56028);const ne=(0,s.forwardRef)(((e,t)=>{let{id:n,label:o,disableOptions:i=!1,tooltip:a="",borderBottom:l=!1,onDateChange:r,value:c=""}=e;(0,s.useImperativeHandle)(t,(()=>({resetDate:b})));const[d,u]=(0,s.useState)(""),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");(0,s.useEffect)((()=>{if(""!==c){const e=c.split("-");j(e[0]),u(e[1]),m("".concat(parseInt(e[2])))}}),[c]),(0,s.useEffect)((()=>{const[e,t]=((e,t,n)=>{const s=Date.parse("".concat(e,"-").concat(t,"-").concat(n));if(isNaN(s))return[!1,""];const o=parseInt(t),i=parseInt(n),a=o<10?"0".concat(o):o,l=i<10?"0".concat(i):i,r=new Date(s).toISOString().split("T")[0],c="".concat(e,"-").concat(a,"-").concat(l);return[r===c,c]})(p,d,h);r(t,e)}),[d,h,p,r]);const b=()=>{u(""),m(""),j("")},g=()=>i||!1,v=[{value:"",label:""},...$],f=[{value:"",label:""},...Q],_=[{value:"",label:""},...ee];return(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)(x.xuv,{sx:{display:"flex",alignItems:"center",gap:5,marginBottom:5},children:(0,C.jsxs)(x.AZs,{htmlFor:n,children:[(0,C.jsx)("span",{children:o}),""!==a&&(0,C.jsx)(x.xuv,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,C.jsx)(x.ua7,{tooltip:a,placement:"top",children:(0,C.jsx)(x.xuv,{sx:{"& .min-icon":{width:13}},children:(0,C.jsx)(x.byK,{})})})})]})}),(0,C.jsxs)(x.xuv,{sx:{display:"flex",gap:12},children:[(0,C.jsx)(x.PhF,{id:"".concat(n,"-month"),name:"".concat(n,"-month"),value:d,onChange:e=>{u(e)},options:v,label:"",disabled:g()}),(0,C.jsx)(x.PhF,{id:"".concat(n,"-day"),name:"".concat(n,"-day"),value:h,onChange:e=>{m(e)},options:f,label:"",disabled:g()}),(0,C.jsx)(x.PhF,{id:"".concat(n,"-year"),name:"".concat(n,"-year"),value:p,onChange:e=>{j(e)},options:_,label:"",disabled:g(),sx:{marginBottom:12}})]})]})})),se=e=>{let{open:t,closeModalAndRefresh:n,objectName:i,objectInfo:r,bucketName:d}=e;const u=(0,l.TL)(),h=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),[p,j]=(0,s.useState)(!0),[b,g]=(0,s.useState)(""),[v,f]=(0,s.useState)(""),[_,S]=(0,s.useState)(!1),[w,y]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1);(0,s.useEffect)((()=>{if(r.retention_mode&&(g((null===h||void 0===h?void 0:h.mode)||Y.oO.Governance),O(!0)),r.retention_until_date){const t=new Date(r.retention_until_date);if("Invalid Date"!==t.toString()){const n=t.getFullYear(),s=(e=t.getMonth()+1)<10?"0".concat(e):"".concat(e),o=t.getDate();isNaN(o)||"NaN"===s||isNaN(n)||f("".concat(n,"-").concat(s,"-").concat(o))}O(!0)}var e}),[r,null===h||void 0===h?void 0:h.mode]);const F=(0,s.useRef)(null),I=()=>{j(!1),g(Y.oO.Governance),F.current&&F.current.resetDate()},N=E&&("governance"===b||""===b);return(0,C.jsx)(te.Z,{title:"Set Retention Policy",modalOpen:t,onClose:()=>{I(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Selected Object"}),": ",i]}),N&&(0,C.jsx)(x.rsf,{value:"status",id:"status",name:"status",checked:p,onChange:e=>{j(!p)},label:"Status",indicatorLabels:["Enabled","Disabled"]}),(0,C.jsx)(x.Eep,{currentValue:b,id:"type",name:"type",label:"Type",disableOptions:!p||E&&""!==b,onChange:e=>{g(e.target.value)},selectorOptions:[{label:"Governance",value:Y.oO.Governance},{label:"Compliance",value:Y.oO.Compliance}]}),(0,C.jsx)(ne,{id:"date",label:"Date",disableOptions:!(p&&("governance"===b||"compliance"===b)),ref:F,value:v,borderBottom:!0,onDateChange:(e,t)=>{S(t),t&&f(e)}}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"reset",type:"button",variant:"regular",onClick:I,label:"Reset"}),(0,C.jsx)(x.zxk,{id:"save",type:"submit",variant:"callAction",disabled:p&&""===b||p&&!_||w,onClick:()=>{y(!0);const e=r.name||"",t=r.version_id||null,s=p||"governance"!==b?"".concat(v,"T23:59:59Z"):"";p||"governance"!==b?((e,t,s)=>{a.h.buckets.putObjectRetention(d,{prefix:(0,c.LL)(e),version_id:t||""},{expires:s,mode:b}).then((()=>{y(!1),n(!0)})).catch((e=>{u((0,T.zb)((0,m.g)(e.error))),y(!1)}))})(e,t,s):((e,t)=>{a.h.buckets.deleteObjectRetention(d,{prefix:(0,c.LL)(e),version_id:t||""}).then((()=>{y(!1),n(!0)})).catch((e=>{u((0,T.zb)((0,m.g)(e.error))),y(!1)}))})(e,t)},label:"Save"})]})]})})})};var oe=n(23508),ie=n(9505);const ae=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:a,versioningInfo:d,selectedVersion:u=""}=e;const h=(0,l.TL)(),[m,p]=(0,ie.Z)((()=>t(!0)),(e=>{h((0,T.Ih)(e)),"Access Denied."===e.detailedError&&t(!0)})),[j,b]=(0,s.useState)(!1),[g,v]=(0,s.useState)(!1),f=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),S=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if(!a)return null;return(0,C.jsx)(oe.Z,{title:"Delete Object",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:m,onConfirm:()=>{const e=(0,c.IO)(a).endsWith("/");p("DELETE","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(a).concat(""!==u?"&version_id=".concat(u):"&recursive=".concat(e,"&all_versions=").concat(j)).concat(g?"&bypass=true":""))},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete: ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:(0,c.IO)(a)})," ",""!==u?(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("strong",{children:u})]}):"","? ",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),N(null===d||void 0===d?void 0:d.status)&&""===u&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(x.rsf,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:j,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:e=>{b(!j)},description:""})}),S&&(j||""!==u)&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{v(!g)},description:""})})}),j&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)("div",{style:{marginTop:10,border:"#c83b51 1px solid",borderRadius:3,padding:5,backgroundColor:"#c83b5120",color:"#c83b51"},children:["This will remove the object as well as all of its versions,"," ",(0,C.jsx)("br",{}),"This action is irreversible."]}),(0,C.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},le=e=>{let{open:t,closeModalAndRefresh:n,objectName:o,bucketName:i,actualInfo:r}=e;const d=(0,l.TL)(),[u,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=r.version_id;(0,s.useEffect)((()=>{const e=h()(r,"legal_hold_status","OFF");p("ON"===e)}),[r]);const v=()=>{p(!1)};return(0,C.jsx)(te.Z,{title:"Set Legal Hold",modalOpen:t,onClose:()=>{v(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),b(!0),a.h.buckets.putObjectLegalHold(i,{prefix:(0,c.LL)(o),version_id:g||""},{status:u?Y.nY.Enabled:Y.nY.Disabled}).then((()=>{b(!1),n(!0)})).catch((e=>{d((0,T.zb)((0,m.g)(e.error))),b(!1)}))})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Object"}),": ",i]}),(0,C.jsx)(x.rsf,{value:"legalhold",id:"legalhold",name:"legalhold",checked:u,onChange:e=>{p(!u)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"clear",type:"button",variant:"regular",onClick:v,label:"Clear"}),(0,C.jsx)(x.zxk,{id:"save",type:"submit",variant:"callAction",disabled:j,label:" Save"})]})]})})})},re=v.ZP.b((e=>{let{theme:t}=e;return{color:h()(t,"signalColors.danger","#C83B51"),marginLeft:5}})),ce=e=>{var t;let{modalOpen:n,onCloseAndUpdate:i,bucketName:d,actualInfo:u}=e;const p=(0,l.TL)(),j=(0,o.v9)(T.N5),[b,g]=(0,s.useState)(""),[v,f]=(0,s.useState)(""),[S,w]=(0,s.useState)(!1),[y,E]=(0,s.useState)(!1),[O,F]=(0,s.useState)(""),[I,N]=(0,s.useState)(""),k=(0,c.LL)(u.name||""),B=u.tags,L=Object.keys(B||{}),A=null===(t=u.name)||void 0===t?void 0:t.split("/"),D=(null===A||void 0===A?void 0:A.pop())||"",P=e=>(0,C.jsxs)(x.xuv,{sx:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},children:["Tag",e?"s":""," for: ",(0,C.jsx)("strong",{children:D})]});return(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(te.Z,{modalOpen:n,title:y?"Delete Tag":"Edit Tags",onClose:()=>{i(!0)},iconColor:y?"delete":"default",titleIcon:y?(0,C.jsx)(x.dRf,{}):(0,C.jsx)(x.T0F,{}),children:y?(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)(x.rjZ,{container:!0,children:[P(!1),"Are you sure you want to delete the tag"," ",(0,C.jsxs)(re,{children:[O," : ",I]})," ","?",(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"cancel",type:"button",variant:"regular",onClick:()=>{F(""),N(""),E(!1)},label:"Cancel"}),(0,C.jsx)(x.zxk,{type:"submit",variant:"secondary",onClick:()=>{const e={...B};delete e[O];const t=j?u.version_id||"":"null";a.h.buckets.putObjectTags(d,{prefix:k,version_id:t},{tags:e}).then((()=>{i(!0),w(!1)})).catch((e=>{p((0,T.zb)((0,m.g)(e.error))),w(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,C.jsxs)(x.xuv,{children:[(0,C.jsx)(_.s,{scopes:[r.Ft.S3_GET_OBJECT_TAGGING,r.Ft.S3_GET_ACTIONS],resource:d,children:(0,C.jsxs)(x.xuv,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[P(!0),(0,C.jsxs)(x.xuv,{sx:{fontSize:14,fontWeight:"normal"},children:["Current Tags:",(0,C.jsx)("br",{}),0===L.length?(0,C.jsx)("span",{className:"muted",children:"There are no tags for this object"}):(0,C.jsx)(s.Fragment,{}),(0,C.jsx)(x.xuv,{sx:{marginTop:"5px",marginBottom:"15px"},children:L.map(((e,t)=>{const n=h()(B,"".concat(e),"");return""!==n?(0,C.jsx)(_.s,{scopes:[r.Ft.S3_DELETE_OBJECT_TAGGING],resource:d,errorProps:{deleteIcon:null,onDelete:null},children:(0,C.jsx)(x.Vp9,{id:"".concat(e," : ").concat(n),label:"".concat(e," : ").concat(n),variant:"regular",color:"default",onDelete:()=>{((e,t)=>{F(e),N(t),E(!0)})(e,n)}})},"chip-".concat(t)):null}))})]})]})}),(0,C.jsx)(_.s,{scopes:[r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_PUT_ACTIONS],resource:d,errorProps:{disabled:!0,onClick:null},children:(0,C.jsxs)(x.xuv,{children:[(0,C.jsx)(x.NZf,{icon:(0,C.jsx)(x.OCT,{}),separator:!1,children:"Add New Tag"}),(0,C.jsxs)(x.ltY,{containerPadding:!1,withBorders:!1,children:[(0,C.jsx)(x.Wzg,{value:b,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:e=>{g(e.target.value)}}),(0,C.jsx)(x.Wzg,{value:v,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:e=>{f(e.target.value)}}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:()=>{f(""),g("")},label:"Clear"}),(0,C.jsx)(x.zxk,{type:"submit",variant:"callAction",disabled:""===v.trim()||""===b.trim()||S,onClick:()=>{w(!0);const e={};e[b]=v;const t={...B,...e},n=j?u.version_id||"":"null";a.h.buckets.putObjectTags(d,{prefix:k,version_id:n},{tags:t}).then((()=>{i(!0),w(!1)})).catch((e=>{p((0,T.zb)((0,m.g)(e.error))),w(!1)}))},id:"saveTag",label:"Save"})]})]})]})})]})})})};var de=n(73669);const ue=e=>{let{closeInspectModalAndRefresh:t,inspectOpen:n,inspectPath:o,volumeName:i}=e;const a=(0,l.TL)(),r=()=>t(!1),[d,u]=(0,s.useState)(!0),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");if(!o)return null;return(0,C.jsxs)(s.Fragment,{children:[!h&&(0,C.jsx)(te.Z,{modalOpen:n,titleIcon:(0,C.jsx)(x.Gp8,{}),title:"Inspect Object",onClose:r,children:(0,C.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:["Would you like to encrypt ",(0,C.jsx)("b",{children:(0,c.IO)(o)}),"?"," ",(0,C.jsx)("br",{}),(0,C.jsx)(x.rsf,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:d,value:"encrypt",id:"encrypt",name:"encrypt",onChange:e=>{u(!d)},description:""}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:(0,C.jsx)(x.zxk,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:async()=>{const e=(0,c.LL)(o+"/xl.meta"),t=(0,c.LL)(i);(async e=>await fetch(e,{method:"GET"}))("/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(e,"&encrypt=").concat(d)).then((async e=>{if(!e.ok){const t=await e.json();a((0,T.Ih)({errorMessage:t.message,detailedError:t.code}))}const t=await e.blob(),n=e.headers.get("content-disposition").split('"')[1],s=(0,c.Do)(n)||"";(0,c.zZ)(t,n),j(n),""!==s?m(s):r()})).catch((e=>{a((0,T.Ih)(e))}))},label:"Inspect"})})]})}),h?(0,C.jsxs)(te.Z,{modalOpen:n,title:"Inspect Decryption Key",onClose:()=>{(0,c.kT)(p),r(),m("")},titleIcon:(0,C.jsx)(x.tvm,{}),children:[(0,C.jsxs)(x.xuv,{children:["This will be displayed only once. It cannot be recovered.",(0,C.jsx)("br",{}),"Use secure medium to share this key."]}),(0,C.jsx)(x.xuv,{children:(0,C.jsx)(de.Z,{value:h})})]}):null]})},he=e=>{let{open:t,closeModal:n,currentItem:o,internalPaths:i,actualInfo:a,bucketName:r}=e;const c=(0,l.TL)(),[d,u]=(0,s.useState)(o),[h,m]=(0,s.useState)(!1);return(0,C.jsxs)(te.Z,{title:"Rename Download",modalOpen:t,onClose:n,titleIcon:(0,C.jsx)(x.dY8,{}),children:[(0,C.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,C.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{})," We recommend to rename the file download"]}),(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),z(c,r,i,a),n()})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsx)(x.Wzg,{id:"download-filename",name:"download-filename",onChange:e=>{u(e.target.value)},label:"",type:"text",value:d,error:d.length>200&&!h?"Filename should be less than 200 characters long.":""}),(0,C.jsx)(x.rsf,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:h,onChange:e=>{m(e.target.checked),e.target.checked&&u(o)},label:"Use Original Name"}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:(0,C.jsx)(x.zxk,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:d.length>200&&!h,label:"Download File"})})]})})]})},xe={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},me=e=>{let{internalPaths:t,bucketName:n,versioningInfo:i,locking:u,onClosePanel:m}=e;const p=(0,l.TL)(),j=(0,o.v9)(T.N5),b=(0,o.v9)((e=>e.objectBrowser.versionsMode)),g=(0,o.v9)((e=>e.objectBrowser.selectedVersion)),v=(0,o.v9)((e=>e.objectBrowser.loadingObjectInfo)),[f,S]=(0,s.useState)(!1),[w,y]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1),[F,N]=(0,s.useState)(!1),[k,B]=(0,s.useState)(!1),[L,A]=(0,s.useState)(null),[D,P]=(0,s.useState)([]),[R,U]=(0,s.useState)(null),[G,Z]=(0,s.useState)([]),[K,Y]=(0,s.useState)(!1),[q,$]=(0,s.useState)(!1),[Q,X]=(0,s.useState)(0),[ee,te]=(0,s.useState)(!1),[ne,oe]=(0,s.useState)(null),[ie,re]=(0,s.useState)(!1),de=((0,c.IO)(t)||"").split("/").pop()||"";let me=[];L&&L.name&&(me=L.name.split("/")),(0,s.useEffect)((()=>{if(j&&D&&D.length>=1){let e=D.find((e=>e.is_latest))||xe;""!==g&&(e=D.find((e=>e.version_id===g))||xe),e.is_delete_marker||re(!0),A(e)}}),[g,j,D]),(0,s.useEffect)((()=>{v&&""!==t&&a.h.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const t=e.data.objects||[];if(j){P(t),Z(t);const e=t.reduce(((e,t)=>null!==t&&void 0!==t&&t.size?e+t.size:e),0);X(e)}else{const e=t[0];A(e),Z([]),e.is_delete_marker||re(!0)}p((0,d.vH)(!1))})).catch((e=>{console.error("Error loading object details",e.error),p((0,d.vH)(!1))}))}),[v,n,t,p,j,g]),(0,s.useEffect)((()=>{ie&&""!==t&&a.h.buckets.getObjectMetadata(n,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});oe(t),re(!1)})).catch((e=>{console.error("Error Getting Metadata Status: ",e.detailedError),re(!1)}))}),[n,t,ie]);let pe=[];L&&L.tags&&(pe=Object.keys(L.tags));const je=(0,C.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,C.jsx)(x.aNw,{})});if(!L)return v?je:null;const be=me.length>0?me[me.length-1]:L.name,ge=[n,de,[n,L.name].join("/")],ve=(0,_.F)(n,[r.Ft.S3_PUT_OBJECT_LEGAL_HOLD,r.Ft.S3_PUT_ACTIONS]),fe=(0,_.F)(ge,[r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_PUT_ACTIONS]),_e=(0,_.F)(ge,[r.Ft.S3_GET_OBJECT_RETENTION,r.Ft.S3_PUT_OBJECT_RETENTION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],!0),Se=(0,_.F)(ge,[r.Ft.ADMIN_INSPECT_DATA]),Te=(0,_.F)(ge,[r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_OBJECT_VERSION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),we=(0,_.F)(ge,[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS]),ye=(0,_.F)([n,de,[n,L.name].join("/")],[r.Ft.S3_DELETE_OBJECT]);let Ce=(0,I.s7)(ne,de);const Ee=[{action:()=>{z(p,n,t,L)},label:"Download",disabled:!!L.is_delete_marker||!we,icon:(0,C.jsx)(x._8t,{}),tooltip:we?"Download this Object":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"download this object")},{action:()=>{S(!0)},label:"Share",disabled:!!L.is_delete_marker||!we,icon:(0,C.jsx)(x.aAc,{}),tooltip:we?"Share this File":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"share this object")},{action:()=>{$(!0)},label:"Preview",disabled:!!L.is_delete_marker||"none"===Ce&&!we,icon:(0,C.jsx)(x.P99,{}),tooltip:we?"Preview this File":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"preview this object")},{action:()=>{N(!0)},label:"Legal Hold",disabled:!u||!j||!!L.is_delete_marker||!ve||""!==g,icon:(0,C.jsx)(x.fNL,{}),tooltip:ve?u?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,r.MK)([r.Ft.S3_PUT_OBJECT_LEGAL_HOLD,r.Ft.S3_PUT_ACTIONS],"change legal hold settings for this object")},{action:()=>{y(!0)},label:"Retention",disabled:!j||!!L.is_delete_marker||!_e||""!==g||!u,icon:(0,C.jsx)(x.E9d,{}),tooltip:_e?u?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,r.MK)([r.Ft.S3_GET_OBJECT_RETENTION,r.Ft.S3_PUT_OBJECT_RETENTION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"change Retention Rules for this object")},{action:()=>{O(!0)},label:"Tags",disabled:!!L.is_delete_marker||""!==g||!fe,icon:(0,C.jsx)(x.DgT,{}),tooltip:fe?"Change Tags for this File":(0,r.MK)([r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_GET_OBJECT_TAGGING,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"set Tags on this object")},{action:()=>{B(!0)},label:"Inspect",disabled:!j||!!L.is_delete_marker||""!==g||!Se,icon:(0,C.jsx)(x.Gp8,{}),tooltip:Se?"Inspect this file":(0,r.MK)([r.Ft.ADMIN_INSPECT_DATA],"inspect this file")},{action:()=>{p((0,d.db)({status:!b,objectName:be}))},label:b?"Hide Object Versions":"Display Object Versions",icon:(0,C.jsx)(x.cRd,{}),disabled:!j||!(L.version_id&&"null"!==L.version_id)||!Te,tooltip:Te?L.version_id&&"null"!==L.version_id?"Display Versions for this file":"":(0,r.MK)([r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_OBJECT_VERSION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"display all versions of this object")}];return(0,C.jsxs)(s.Fragment,{children:[f&&L&&(0,C.jsx)(V.default,{open:f,closeModalAndRefresh:()=>{U(null),S(!1)},bucketName:n,dataObject:R||L}),w&&L&&(0,C.jsx)(se,{open:w,closeModalAndRefresh:e=>{y(!1),e&&p((0,d.vH)(!0))},objectName:de,objectInfo:L,bucketName:n}),K&&(0,C.jsx)(ae,{deleteOpen:K,selectedBucket:n,selectedObject:t,closeDeleteModalAndRefresh:e=>{Y(!1),e&&""===g?m(!0):(p((0,d.Eq)(!0)),p((0,d.M3)("")),p((0,d.vH)(!0)))},versioningInfo:j?i:void 0,selectedVersion:g}),F&&L&&(0,C.jsx)(le,{open:F,closeModalAndRefresh:e=>{N(!1),e&&p((0,d.vH)(!0))},objectName:L.name||"",bucketName:n,actualInfo:L}),q&&L&&(0,C.jsx)(H.default,{open:q,bucketName:n,object:{name:L.name||"",version_id:L.version_id||"null",size:L.size||0,content_type:"",last_modified:L.last_modified||""},onClosePreview:()=>{$(!1)}}),E&&L&&(0,C.jsx)(ce,{modalOpen:E,bucketName:n,actualInfo:L,onCloseAndUpdate:e=>{O(!1),e&&p((0,d.vH)(!0))}}),k&&L&&(0,C.jsx)(ue,{inspectOpen:k,volumeName:n,inspectPath:L.name||"",closeInspectModalAndRefresh:e=>{B(!1),e&&p((0,d.vH)(!0))}}),ee&&L&&(0,C.jsx)(he,{open:ee,closeModal:()=>{te(!1)},currentItem:de,bucketName:n,internalPaths:t,actualInfo:L}),v?(0,C.jsx)(s.Fragment,{children:je}):(0,C.jsxs)(x.xuv,{sx:{"& .ObjectDetailsTitle":{display:"flex",alignItems:"center","& .min-icon":{width:26,height:26,minWidth:26,minHeight:26}},"& .objectNameContainer":{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},"& .capitalizeFirst":{textTransform:"capitalize"},"& .detailContainer":{padding:"0 22px",marginBottom:10,fontSize:14}},children:[(0,C.jsx)(x.Wk,{title:(0,C.jsxs)("div",{className:"ObjectDetailsTitle",children:[W(be||"",!0),(0,C.jsx)("span",{className:"objectNameContainer",children:be})]}),items:Ee}),(0,C.jsx)(M.Z,{tooltip:ye?"":(0,r.MK)([r.Ft.S3_DELETE_OBJECT],"delete this object"),children:(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,C.jsx)(_.s,{resource:[n,de,[n,L.name].join("/")],scopes:[r.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,C.jsx)(x.zxk,{id:"delete-element-click",icon:(0,C.jsx)(x.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:()=>{Y(!0)},disabled:""===g&&L.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==g?" version":"")})})})}),(0,C.jsx)(x.AG2,{icon:(0,C.jsx)(x.Gvh,{}),label:"Object Info"}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Name:"}),(0,C.jsx)("br",{}),(0,C.jsx)("div",{style:{overflowWrap:"break-word"},children:be})]}),""!==g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Version ID:"}),(0,C.jsx)("br",{}),g]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Size:"}),(0,C.jsx)("br",{}),(0,c.ae)("".concat(L.size||"0"))]}),L.version_id&&"null"!==L.version_id&&""===g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Versions:"}),(0,C.jsx)("br",{}),G.length," version",1!==G.length?"s":"",","," ",(0,c.l5)(Q)]}),""===g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Last Modified:"}),(0,C.jsx)("br",{}),(e=>{const t=new Date,n=new Date(e),s=t.getTime()-n.getTime(),o=(0,c.nF)(s,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"})(L.last_modified||"")]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"ETAG:"}),(0,C.jsx)("br",{}),L.etag||"N/A"]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Tags:"}),(0,C.jsx)("br",{}),0===pe.length?"N/A":pe.map(((e,t)=>(0,C.jsxs)("span",{children:[e,":",h()(L,"tags.".concat(e),""),t{let{versionToRestore:t,bucketName:n,objectPath:o,restoreOpen:i,onCloseAndUpdate:r}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1);return(0,C.jsx)(oe.Z,{title:"Restore File Version",confirmText:"Restore",isOpen:i,isLoading:h,titleIcon:(0,C.jsx)(x.D7Y,{}),onConfirm:()=>{p(!0),a.h.buckets.putObjectRestore(n,{prefix:(0,c.LL)(o),version_id:t.version_id||""}).then((()=>{p(!1),r(!0),u((0,d.rI)({prefix:o,objectInfo:t}))})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))},confirmButtonProps:{variant:"secondary",disabled:h},onClose:()=>{r(!1)},confirmationContent:(0,C.jsxs)(x.xuv,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:o})," ",(0,C.jsx)("br",{})," with Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:t.version_id}),"?"]})})},je=e=>{let{type:t}=e,n="#000",s="";switch(t){case"null":n="#07193E",s="NULL VERSION";break;case"deleted":n="#868686",s="DELETED";break;default:n="#174551",s="CURRENT VERSION"}return(0,C.jsx)("span",{style:{backgroundColor:n,padding:"0 5px",display:"inline-block",color:"#FFF",fontWeight:"bold",fontSize:12,borderRadius:2,whiteSpace:"nowrap",margin:"0 10px"},children:s})},be=v.ZP.div((e=>{let{theme:t}=e;return{"&:before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:h()(t,"borderColor","#F8F8F8"),left:"24px"},"& .mainFileVersionItem":{borderBottom:"".concat(h()(t,"borderColor","#F8F8F8")," 1px solid"),padding:"1rem 0",margin:"0 0.5rem 0 2.5rem",cursor:"pointer","&.deleted":{color:"#868686"}},"& .intermediateLayer":{margin:"0 1.5rem 0 1.5rem","&:hover, &.selected":{backgroundColor:h()(t,"boxBackground","#F8F8F8"),"& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},"& .buttonContainer":{textAlign:"right","& button":{marginLeft:"1.5rem"}},"& .versionID":{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},"& .versionData":{marginRight:"10px",fontSize:12,color:"#868686"},"@media (max-width: 600px)":{"& .buttonContainer":{"& button":{marginLeft:"5px"}}},"@media (max-width: 799px)":{"&:before":{display:"none"},"& .mainFileVersionItem":{padding:"5px 0px",margin:0},"& .intermediateLayer":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:14,"& svg.min-icon":{display:"none"}},"& .versionData":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"},"& .collapsableInfo":{display:"flex",flexDirection:"column"},"& .versionItem":{display:"none"}}}})),ge=e=>{let{fileName:t,versionInfo:n,isSelected:s,checkable:o,isChecked:i,onCheck:a,onShare:l,onDownload:r,onRestore:d,onPreview:u,globalClick:h,index:m,key:p,style:b}=e;const g=n.is_delete_marker,v=[{icon:(0,C.jsx)(x.P99,{}),action:u,tooltip:"Preview"},{icon:(0,C.jsx)(x._8t,{}),action:r,tooltip:"Download this version"},{icon:(0,C.jsx)(x.aAc,{}),action:l,tooltip:"Share this version"},{icon:(0,C.jsx)(x.D7Y,{}),action:d,tooltip:"Restore this version"}];let f=null;n.is_delete_marker?f="deleted":n.is_latest?f="current":"null"===n.version_id&&(f="null");let _=j.ou.now();return n.last_modified&&(_=j.ou.fromISO(n.last_modified)),(0,C.jsx)(be,{children:(0,C.jsx)(x.rjZ,{container:!0,className:"ctrItem",onClick:()=>{h(n)},style:b,children:(0,C.jsx)(x.rjZ,{item:!0,xs:12,className:"intermediateLayer".concat(" ",s?"selected":""),children:(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,className:"mainFileVersionItem ".concat(n.is_delete_marker?"deleted":""),children:[(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsxs)(x.rjZ,{container:!0,children:[(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,C.jsx)(x.XZJ,{checked:i,id:"select-".concat(n.version_id),name:"select-".concat(n.version_id),onChange:e=>{e.stopPropagation(),a(n.version_id||"")},value:n.version_id||"",disabled:n.is_delete_marker,sx:{width:"initial"}}),W(t,!0)," v",m.toString(),(0,C.jsx)("span",{className:"versionItem",children:f&&(0,C.jsx)(je,{type:f})})]}),(0,C.jsx)(x.rjZ,{item:!0,xs:10,md:8,className:"buttonContainer",children:v.map(((e,t)=>(0,C.jsx)(x.ua7,{tooltip:e.tooltip,children:(0,C.jsx)(x.hU,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"spacing".concat(" ",g?"buttonDisabled":""),disabled:g,onClick:t=>{t.stopPropagation(),g?t.preventDefault():e.action(n)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))))})]})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,className:"versionID",children:"null"!==n.version_id?n.version_id:"-"}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,className:"collapsableInfo",children:[(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Size:"})," ",(0,c.ae)("".concat(n.size||"0"))]})]})]})})},p)})},ve=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:d}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(""),[g,v]=(0,s.useState)(!1),f=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),S=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if((0,s.useEffect)((()=>{h&&a.h.buckets.deleteObject(i,{prefix:d,non_current_versions:!0,bypass:g}).then((()=>{t(!0)})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))}),[h,t,u,d,i,g]),!d)return null;return(0,C.jsx)(oe.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmButtonProps:{disabled:"YES, PROCEED"!==j||h},confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,C.jsx)("b",{children:(0,c.IO)(d)}),"? ",(0,C.jsx)("br",{}),S&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{v(!g)},description:""})})}),(0,C.jsx)("br",{}),"To continue please type ",(0,C.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(x.Wzg,{id:"type-confirm",name:"retype-tenant",onChange:e=>{b(e.target.value)},label:"",value:j})})]})})},fe=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedVersions:c,selectedObject:d}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),v=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,s.useEffect)((()=>{if(h){const e=c.map((e=>({path:d,versionID:e,recursive:!1})));e.length>0&&a.h.buckets.deleteMultipleObjects(i,e,{all_versions:!1,bypass:j}).then((()=>{p(!1),t(!0)})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))}}),[h,t,i,d,c,j,u]),c?(0,C.jsx)(oe.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete the selected ",c.length," ","versions for ",(0,C.jsx)("strong",{children:d}),"?",v&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:j,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{b(!j)},description:""})})})]})}):null};var _e=n(30761);const Se={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},Te=e=>{let{internalPaths:t,bucketName:n}=e;const i=(0,l.TL)(),r=(0,o.v9)((e=>e.objectBrowser.searchVersions)),u=(0,o.v9)((e=>e.objectBrowser.loadingVersions)),p=(0,o.v9)((e=>e.objectBrowser.selectedVersion)),j=(0,o.v9)(T.N5),[b,g]=(0,s.useState)(!1),[v,f]=(0,s.useState)(null),[_,S]=(0,s.useState)(null),[w,y]=(0,s.useState)([]),[E,O]=(0,s.useState)(!1),[I,N]=(0,s.useState)(null),[k,B]=(0,s.useState)("date"),[L,A]=(0,s.useState)(!1),[D,P]=(0,s.useState)(!1),[R,U]=(0,s.useState)(!1),[G,Z]=(0,s.useState)([]),[K,W]=(0,s.useState)(!1);let J=[];v&&v.name&&(J=v.name.split("/")),(0,s.useEffect)((()=>{u||v||i((0,d.Eq)(!0))}),[u,v,i]),(0,s.useEffect)((()=>{u&&""!==t&&a.h.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const n=h()(e.data,"objects",[]),s=(0,c.IO)(t),o=n.filter((e=>e.name===s));j?(f(o.find((e=>e.is_latest))||Se),y(o)):(f(o[0]),y([])),i((0,d.Eq)(!1))})).catch((e=>{i((0,T.Ih)((0,m.g)(e.error))),i((0,d.Eq)(!1))}))}),[u,n,t,i,j]);const Y=e=>{S(e),g(!0)},q=e=>{S(e),A(!0)},$=e=>{N(e),O(!0)},Q=e=>{z(i,n,t,e)},X=e=>{i((0,d.M3)(e.version_id||""))},ee=w.filter((e=>!!e.version_id&&e.version_id.includes(r))),te=w.reduce(((e,t)=>t.size?e+t.size:e),0);ee.sort(((e,t)=>{if("size"===k)return e.size&&t.size?e.sizet.size?1:0:0;{const n=new Date(e.last_modified||"").getTime(),s=new Date(t.last_modified||"").getTime();return ns?-1:0}}));const ne=e=>{if(G.includes(e)){const t=G.filter((t=>t!==e));return void Z(t)}const t=[...G];t.push(e),Z(t)};return(0,C.jsxs)(s.Fragment,{children:[b&&v&&(0,C.jsx)(V.default,{open:b,closeModalAndRefresh:()=>{S(null),g(!1),A(!1)},bucketName:n,dataObject:_||v}),E&&v&&I&&(0,C.jsx)(pe,{restoreOpen:E,bucketName:n,versionToRestore:I,objectPath:v.name||"",onCloseAndUpdate:e=>{O(!1),N(null),e&&(i((0,d.Eq)(!0)),i((0,d.vH)(!0)))}}),L&&v&&(0,C.jsx)(H.default,{open:L,bucketName:n,object:{name:v.name||"",version_id:_&&_.version_id?_.version_id:"null",size:_&&_.size?_.size:0,content_type:"",last_modified:v.last_modified||""},onClosePreview:()=>{A(!1)}}),D&&(0,C.jsx)(ve,{deleteOpen:D,closeDeleteModalAndRefresh:e=>{P(!1),e&&(i((0,d.Eq)(!0)),i((0,d.M3)("")),i((0,d.vH)(!0)))},selectedBucket:n,selectedObject:t}),K&&(0,C.jsx)(fe,{selectedBucket:n,selectedObject:(0,c.IO)(t),deleteOpen:K,selectedVersions:G,closeDeleteModalAndRefresh:e=>{W(!1),e&&(i((0,d.Eq)(!0)),i((0,d.M3)("")),i((0,d.vH)(!0)),Z([]))}}),(0,C.jsxs)(x.rjZ,{container:!0,sx:{width:"100%",padding:10,"@media (max-width: 799px)":{minHeight:800}},children:[!v&&(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(x.kod,{})}),v&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(F,{bucketName:n,internalPaths:(0,c.IO)(t),hidePathButton:!0})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{position:"relative","& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}},["@media (max-width: ".concat(x.Egj.md,"px)")]:{"&::before":{display:"none"}}},children:(0,C.jsx)(x.UHn,{icon:(0,C.jsx)("span",{style:{display:"block",marginTop:"-10px"},children:(0,C.jsx)(x.cRd,{style:{width:20,height:20}})}),title:"".concat(J.length>0?J[J.length-1]:v.name," Versions"),subTitle:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsxs)("strong",{children:[w.length," Version",1===w.length?"":"s","\xa0\xa0\xa0"]})}),(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsx)("strong",{children:(0,c.l5)(te)})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(M.Z,{tooltip:"Select Multiple Versions",children:(0,C.jsx)(x.zxk,{id:"select-multiple-versions",onClick:()=>{U(!R)},icon:(0,C.jsx)(x.amE,{}),variant:R?"callAction":"regular",style:{marginRight:8}})}),R&&(0,C.jsx)(M.Z,{tooltip:"Delete Selected Versions",children:(0,C.jsx)(x.zxk,{id:"delete-multiple-versions",onClick:()=>{W(!0)},icon:(0,C.jsx)(x.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===G.length})}),(0,C.jsx)(M.Z,{tooltip:"Delete Non Current Versions",children:(0,C.jsx)(x.zxk,{id:"delete-non-current",onClick:()=>{P(!0)},icon:(0,C.jsx)(x.utM,{}),variant:"secondary",style:{marginRight:15},disabled:w.length<=1})}),(0,C.jsx)(x.PhF,{id:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}],value:k,label:"Sort by",onChange:e=>{B(e)},noLabelMinWidth:!0})]}),bottomBorder:!1})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto",["@media (max-width: ".concat(x.Egj.md,"px)")]:{height:600}},children:v.version_id&&"null"!==v.version_id&&(0,C.jsx)(_e.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:ee.length,rowHeight:108,rowRenderer:e=>{let{key:t,index:n,isScrolling:s,isVisible:o,style:i}=e;const a=w.length-n;return(0,C.jsx)(ge,{style:i,fileName:(null===v||void 0===v?void 0:v.name)||"",versionInfo:ee[n],index:a,onDownload:Q,onRestore:$,onShare:Y,onPreview:q,globalClick:X,isSelected:p===ee[n].version_id,checkable:R,onCheck:ne,isChecked:G.includes(ee[n].version_id||"")},t)}})})]})]})]})},we=e=>{if(e.name.endsWith("/"))return"";const t=j.ou.now(),n=j.ou.fromISO(e.last_modified);return t.hasSame(n,"day")&&t.hasSame(n,"month")&&t.hasSame(n,"year")?"Today, ".concat(n.toFormat("HH:mm")):n.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},ye=e=>e.name.endsWith("/")||!e.size?"-":(0,c.ae)(String(e.size)),Ce=[{label:"Name",elementKey:"name",renderFunction:W,enableSort:!0},{label:"Last Modified",elementKey:"last_modified",renderFunction:we,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:ye,renderFullObject:!0,width:100,enableSort:!0}],Ee=[{label:"Name",elementKey:"name",renderFunction:W,enableSort:!0},{label:"Object Date",elementKey:"last_modified",renderFunction:we,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:ye,renderFullObject:!0,width:100,enableSort:!0},{label:"Deleted",elementKey:"delete_flag",renderFunction:e=>e?"Yes":"No",width:60}];var Oe=n(46078);const Fe=()=>{const e=(0,l.TL)(),t=(0,i.UO)(),n=(0,i.s0)(),[a,u]=(0,s.useState)("ASC"),[m,p]=(0,s.useState)("name"),j=t.bucketName||"",b=(0,o.v9)((e=>e.objectBrowser.objectDetailsOpen)),g=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),v=(0,o.v9)(Oe.$4),f=!(null===v||void 0===v||!v.includes("object-browser-only")),S=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),T=(0,o.v9)((e=>e.objectBrowser.records)),w=(0,o.v9)((e=>e.objectBrowser.searchObjects)),y=(0,o.v9)((e=>e.objectBrowser.selectedObjects)),E=(0,o.v9)((e=>e.objectBrowser.connectionError)),O=(0,o.v9)((e=>e.system.anonymousMode)),F=(0,_.F)(j,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET]),N=T.filter((e=>{if(""===w)return!0;return e.name.toLowerCase().indexOf(w.toLowerCase())>=0})).sort((0,I.P_)(m));let k=[];k="ASC"===a?N:N.reverse();const B=[{type:"view",tooltip:"View",onClick:t=>{var s;const o=t.name||"",i="/browser/".concat(j).concat(o?"/".concat((0,c.LL)(o)):"");!O||null!==(s=t.name)&&void 0!==s&&s.endsWith("/")?(e((0,d.S2)([])),n(i),O||(e((0,d.vb)(!0)),e((0,d.Eq)(!0))),e((0,d.EE)("".concat(o?"".concat((0,c.LL)(o)):"")))):z(e,j,"".concat((0,c.LL)(o)),t)},sendOnlyId:!1}];let L=F||O?"This location is empty".concat(S?"":", please try uploading a new file"):(0,r.MK)([r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],"view Objects in this bucket");E&&(L="Objects List unavailable. Please review your WebSockets configuration and try again");let A="calc(100vh - 290px)";return f&&(A="calc(100vh - 315px)"),(0,C.jsx)(x.wQF,{itemActions:B,columns:S?Ee:Ce,isLoading:g,entityName:"Objects",idField:"name",records:k,customPaperHeight:A,selectedItems:y,onSelect:O?void 0:t=>{const n=t.target,s=n.value,o=n.checked;let i=[...y];return o?i.push(s):i=i.filter((e=>e!==s)),e((0,d.S2)(i)),e((0,d.EE)(null)),i},customEmptyMessage:L,sortConfig:{currentSort:m,currentDirection:a,triggerSort:t=>{const n=h()(t,"sortDirection","DESC");p(t.sortBy),u(n),e((0,d.$3)(!0))}},onSelectAll:()=>{if(e((0,d.EE)(null)),y.length===k.length)return void e((0,d.S2)([]));const t=k.map((e=>e.name));e((0,d.S2)(t))},rowStyle:e=>{var t;let{index:n}=e;return null!==(t=k[n])&&void 0!==t&&t.delete_flag?"deleted":""},sx:{minHeight:b?"100%":"initial"},noBackground:!0})};var Ie=n(59114);const Ne=()=>{const e=(0,l.TL)(),t=(0,o.v9)((e=>e.objectBrowser.searchObjects));return(0,C.jsx)(Ie.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:t=>{e((0,d.G4)(t))},value:t})};var ke=n(94619);const Be=(0,S.Z)(s.lazy((()=>n.e(711).then(n.bind(n,50711))))),Le=(0,S.Z)(s.lazy((()=>Promise.resolve().then(n.bind(n,34433))))),Ae=(0,S.Z)(s.lazy((()=>n.e(6901).then(n.bind(n,26901))))),De=(0,S.Z)(s.lazy((()=>Promise.resolve().then(n.bind(n,78562))))),Pe={borderWidth:2,borderRadius:2,borderColor:"transparent",outline:"none"},Re={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#2196f3"},Me={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#00e676"},Ue=()=>{var e;const t=(0,l.TL)(),n=(0,i.UO)(),u=(0,i.s0)(),b=(0,i.TH)(),g=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),v=(0,o.v9)((e=>e.objectBrowser.rewind.bucketToRewind)),f=(0,o.v9)((e=>e.objectBrowser.versionsMode)),S=(0,o.v9)((e=>e.objectBrowser.showDeleted)),E=(0,o.v9)((e=>e.objectBrowser.objectDetailsOpen)),O=(0,o.v9)((e=>e.objectBrowser.selectedInternalPaths)),L=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),z=(0,o.v9)((e=>e.objectBrowser.simplePath)),Z=(0,o.v9)((e=>e.objectBrowser.versionInfo)),K=(0,o.v9)((e=>e.objectBrowser.lockingEnabled)),W=(0,o.v9)((e=>e.objectBrowser.downloadRenameModal)),H=(0,o.v9)((e=>e.objectBrowser.selectedPreview)),J=(0,o.v9)((e=>e.objectBrowser.shareFileModalOpen)),V=(0,o.v9)((e=>e.objectBrowser.previewOpen)),Y=(0,o.v9)((e=>e.objectBrowser.selectedBucket)),q=(0,o.v9)((e=>e.system.anonymousMode)),$=(0,o.v9)((e=>e.objectBrowser.anonymousAccessOpen)),Q=(0,o.v9)((e=>{var t;return(null===(t=e.objectBrowser)||void 0===t?void 0:t.records)||[]})),X=(0,o.v9)(B.HQ),ee=(0,o.v9)(B.G6),[te,ne]=(0,s.useState)(!1),[se,oe]=(0,s.useState)(!1),[ie,ae]=(0,s.useState)(!1),[le,re]=(0,s.useState)(!1),[ce,de]=(0,s.useState)(!1),[ue,xe]=(0,s.useState)(null),[pe,je]=(0,s.useState)(null),[be,ge]=(0,s.useState)(!1),ve=N(Z.status),fe=n.bucketName||"",_e=b.pathname.split("/browser/".concat(fe,"/")),Se=2===_e.length?_e[1]:"",we=(0,c.IO)(Se),ye=we.split("/").filter((e=>""!==e));let Ce=[fe];ye.length>0&&(Ce=Ce.concat(ye));const Ee=(0,s.useRef)(null),Oe=(0,s.useRef)(null),Ie=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{})),Ue=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],Ge=Ce.join("/"),ze=function(e,t){const n=y(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).reduce(((e,t)=>{const n=w(t);return n&&e.push(".".concat(n)),e}),[]);return[...new Set(n)].join(",")}(Ie,Ge,Ue),Ze=y(Ie,Ge,Ue),Ke=(0,_.F)([Ge,...Ze],[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS]),We=(0,_.F)([Ge,...Ze],[r.Ft.S3_DELETE_OBJECT]),He=(0,_.F)([Ge,...Ze],Ue)||q,Je=(0,_.F)(fe,[r.Ft.S3_GET_BUCKET_POLICY,r.Ft.S3_PUT_BUCKET_POLICY,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),Ve=(0,o.v9)((e=>e.objectBrowser.selectedObjects)),Ye=(()=>{let e=!1;if(1===Ve.length){e=!!Q.find((e=>e.name==="".concat(Ve[0])&&e.delete_flag))}return e})(),qe=(0,s.useCallback)((()=>{const e=Ve[0];if(!be){const t=(0,c.LL)(e);a.h.buckets.getObjectMetadata(fe,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});ge(!0),je(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),ge(!0)}))}}),[fe,Ve,be]);(0,s.useEffect)((()=>{fe&&!Ye&&qe()}),[fe,Ve,qe,Ye]),(0,s.useEffect)((()=>{g&&v!==fe&&t((0,d._w)())}),[g,v,fe,t]),(0,s.useEffect)((()=>{null!==Oe.current&&(Oe.current.setAttribute("directory",""),Oe.current.setAttribute("webkitdirectory",""))}),[Oe]),(0,s.useEffect)((()=>{if(1===Ve.length){const e=Ve[0],t=e.endsWith("/");let n=(0,I.s7)(pe,e);de(!("none"===n||!Ke)),re(!(!Ke||t))}else re(!1),de(!1)}),[Ve,Ke,pe]),(0,s.useEffect)((()=>{ue||q||a.h.buckets.getBucketQuota(fe).then((e=>{let t=null;e.data.quota&&(t=e.data),xe(t)})).catch((e=>{console.error("Error Getting Quota Status: ",e.error.detailedMessage),xe(null)}))}),[ue,fe,q]),(0,s.useEffect)((()=>{Ve.length>0?t((0,d.vb)(!0)):0!==Ve.length||null!==O||L||t((0,d.vb)(!1))}),[Ve,O,t,L]),(0,s.useEffect)((()=>{ie||(t((0,B.d5)(!0)),ae(!0))}),[ie,t,ae]),(0,s.useEffect)((()=>{!L&&!X||q||a.h.buckets.bucketInfo(fe).then((e=>{t((0,B.d5)(!1)),t((0,B.f4)(e.data))})).catch((e=>{t((0,B.d5)(!1)),t((0,T.Ih)((0,m.g)(e)))}))}),[fe,X,t,q,L]),(0,s.useEffect)((()=>{""!==Y&&a.h.buckets.getBucketRetentionConfig(Y).then((e=>{t((0,d.c8)(e.data))})).catch((()=>{t((0,d.c8)(null))}))}),[Y,t]);const $e=e=>{if(null!==e&&void 0!==e&&null!==e.target.files&&void 0!==e.target.files){e.preventDefault();var t=[];for(let n=0;n{let s="";z&&(s=z.endsWith("/")?z:z+"/");((e,n,s,o)=>{let i=i=>new Promise(((a,l)=>{let r="api/v1/buckets/".concat(n,"/objects/upload");const u=i.name,x=new Blob([i],{type:i.type});let m="";const p=h()(i,"path",""),j=h()(i,"webkitRelativePath","");let b=o;const g=(0,k.YO)(8);""!==p?b=p:""!==j&&(b=j);let v="";if(""!==s||""!==b){const e=b.split("/").slice(0,-1).join("/"),t=s.endsWith("/")?s.slice(0,-1):s;v="".concat(t).concat(t.endsWith("/")||""===e||e.startsWith("/")?"":"/").concat(e).concat(!e.endsWith("/")||""===e.trim()&&!s.endsWith("/")?"/":"")}r=""!==v?"".concat(r,"?prefix=").concat((0,c.LL)(v+u)):"".concat(r,"?prefix=").concat((0,c.LL)(u)),m=(0,c.LL)(v);const f=(0,c.LL)("".concat(n,"-").concat(m,"-").concat((new Date).getTime(),"-").concat(Math.random()));let _=new XMLHttpRequest;_.open("POST",r,!0),q&&_.setRequestHeader("X-Anonymous","1");const S=e.length>1;let T="An error occurred while uploading the file".concat(S?"s":"",".");const w={413:"Error - File size too large"};_.withCredentials=!1,_.onload=function(){if(_.status>=200&&_.status<300)t((0,d.oK)(f)),a({status:_.status}),(0,k.GM)(g);else{if(w[_.status])T=w[_.status];else if(_.response)try{const e=JSON.parse(_.response);T=e.detailedMessage}catch(e){T="something went wrong"}t((0,d.qJ)({instanceID:f,msg:T})),l({status:_.status,message:T}),(0,k.GM)(g)}},_.upload.addEventListener("error",(()=>{l(T),t((0,d.qJ)({instanceID:f,msg:"A network error occurred."}))})),_.upload.addEventListener("progress",(e=>{const n=Math.floor(100*e.loaded/e.total);t((0,d.RO)({instanceID:f,progress:n}))})),_.onerror=()=>{l(T),t((0,d.qJ)({instanceID:f,msg:"A network error occurred."}))},_.onloadend=()=>{0===e.length&&t((0,d.$3)(!0))},_.onabort=()=>{t((0,d.Im)(f))};const y=new FormData;void 0!==i.size&&(y.append(i.size.toString(),x,u),(0,k.EN)(g,_),t((0,d.Mc)({ID:g,bucketName:n,done:!1,instanceID:f,percentage:0,prefix:"".concat((0,c.IO)(m)).concat(u),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,k.N5)(g,y))}));const a=[];t((0,d.LD)());for(let t=0;t{const n=e.filter((e=>"rejected"===e.status));if(n.length>0){const e=a.length,s=a.length-n.length,o={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(s,"/").concat(e)};t((0,T.Ih)(o))}t((0,d.$3)(!0))}))})(e,fe,s,n)}),[fe,t,z,q]),Xe=(0,s.useCallback)((e=>{if(e&&e.length>0&&He){let n=e[0].path,s=e;ze.length>0&&(s=e.filter((e=>{const t=w(e.name);return ze.includes(t)}))),s.length?(Qe(s,n),console.log("".concat(s.length," Allowed Files Processed out of ").concat(e.length,"."),Ge,...Ze),s.length!==e.length&&t((0,T.Ih)({errorMessage:"Upload is restricted.",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))):(t((0,T.Ih)({errorMessage:"Could not process drag and drop.",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")})),console.error("Could not process drag and drop . upload may be restricted.",Ge,...Ze))}He||t((0,T.Ih)({errorMessage:"Upload not allowed",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))}),[Qe]),{getRootProps:et,getInputProps:tt,isDragActive:nt,isDragAccept:st}=(0,p.uI)({noClick:!0,onDrop:Xe}),ot=(0,s.useMemo)((()=>({...Pe,...nt?Re:{},...st?Me:{}})),[nt,st]),it=e=>{if(t((0,d.EE)(null)),t((0,d.db)({status:!1})),E&&null!==O){const e=(0,c.IO)(Se).split("/");e.pop();let t="";e&&e.length>0&&(t="".concat(e.join("/"),"/")),u("/browser/".concat(fe,"/").concat((0,c.LL)(t)))}t((0,d.vb)(!1)),e&&t((0,d.$3)(!0))};let at=j.ou.now();null!==ee&&void 0!==ee&&ee.creation_date&&(at=j.ou.fromISO(ee.creation_date));const lt=(null===Ve||void 0===Ve?void 0:Ve.length)<=1?"Download Selected":" Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.",rt=[{action:()=>{t(A(fe))},label:"Download",disabled:!Ke||Ye,icon:(0,C.jsx)(x._8t,{}),tooltip:Ke?lt:(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"download objects from this bucket")},{action:()=>{t(P())},label:"Share",disabled:1!==Ve.length||!le||Ye,icon:(0,C.jsx)(x.aAc,{}),tooltip:le?"Share Selected File":"Sharing unavailable"},{action:()=>{t(D())},label:"Preview",disabled:1!==Ve.length||!ce||Ye,icon:(0,C.jsx)(x.P99,{}),tooltip:ce?"Preview Selected File":"Preview unavailable"},{action:()=>{t(R())},label:"Anonymous Access",disabled:1!==Ve.length||!Ve[0].endsWith("/")||!Je,icon:(0,C.jsx)(x.cuP,{}),tooltip:1===Ve.length&&Ve[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:()=>{ne(!0)},label:"Delete",icon:(0,C.jsx)(x.pJl,{}),disabled:!We||0===Ve.length,tooltip:We?"Delete Selected Files":(0,r.MK)([r.Ft.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,C.jsxs)(s.Fragment,{children:[J&&H&&(0,C.jsx)(Le,{open:J,closeModalAndRefresh:()=>{t((0,d.Qf)(!1)),t((0,d.eP)(null))},bucketName:fe,dataObject:{name:H.name,last_modified:"",version_id:H.version_id}}),te&&(0,C.jsx)(Be,{deleteOpen:te,selectedBucket:fe,selectedObjects:Ve,closeDeleteModalAndRefresh:e=>{ne(!1),e&&(t((0,T.y1)("Objects deleted successfully.")),t((0,d.S2)([])),t((0,d.$3)(!0)))},versioning:Z}),se&&(0,C.jsx)(Ae,{open:se,closeModalAndRefresh:()=>{oe(!1)},bucketName:fe}),V&&(0,C.jsx)(De,{open:V,bucketName:fe,object:H,onClosePreview:()=>{t((0,d.ei)(!1)),t((0,d.eP)(null))}}),!!W&&(0,C.jsx)(he,{open:!!W,closeModal:()=>{t((0,d.$y)(null))},currentItem:(null===(e=W.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:fe,internalPaths:Se,actualInfo:{name:W.name,last_modified:"",version_id:W.version_id,size:W.size}}),$&&(0,C.jsx)(ke.default,{onClose:()=>{t((0,d.xV)(!1))},bucket:fe,modalOpen:$,prefilledRoute:"".concat(Ve[0],"*")}),(0,C.jsxs)(x.Xgh,{variant:"full",children:[q&&(0,C.jsx)("div",{style:{paddingBottom:16},children:(0,C.jsx)(Ne,{})}),(0,C.jsx)(x.xuv,{withBorders:!0,sx:{padding:"0 5px"},children:(0,C.jsx)(x.UHn,{icon:(0,C.jsx)("span",{children:(0,C.jsx)(x.wNb,{style:{width:30}})}),title:fe,subTitle:q?null:(0,C.jsxs)(x.xuv,{sx:{"& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}}},children:[(0,C.jsxs)("span",{className:"detailsSpacer",children:["Created on:\xa0",(0,C.jsx)("strong",{children:null!==ee&&void 0!==ee&&ee.creation_date?at.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,C.jsxs)("span",{className:"detailsSpacer",children:["Access:\xa0\xa0",(0,C.jsx)("strong",{children:(null===ee||void 0===ee?void 0:ee.access)||""})]}),ee&&(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{className:"detailsSpacer",children:[ee.size&&(0,C.jsx)(s.Fragment,{children:(0,c.l5)(ee.size)}),ee.size&&ue&&(0,C.jsxs)(s.Fragment,{children:[" ","/ ",(0,c.l5)(ue.quota||0)]}),ee.size&&ee.objects?" - ":"",ee.objects&&(0,C.jsxs)(s.Fragment,{children:[ee.objects,"\xa0Object",ee.objects&&1!==ee.objects?"s":""]})]})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[!q&&(0,C.jsx)(M.Z,{tooltip:"Rewind Bucket",children:(0,C.jsx)(x.zxk,{id:"rewind-objects-list",label:"Rewind",icon:(0,C.jsx)(x.Cts,{color:"alert",dotOnly:!0,invisible:!g,children:(0,C.jsx)(x.F_y,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:()=>{oe(!0)},disabled:!ve||!(0,_.F)(fe,[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS])})}),(0,C.jsx)(M.Z,{tooltip:"Reload List",children:(0,C.jsx)(x.zxk,{id:"refresh-objects-list",label:"Refresh",icon:(0,C.jsx)(x.DuK,{}),variant:"regular",onClick:()=>{f?t((0,d.Eq)(!0)):(t((0,d.o_)()),t((0,d.$3)(!0)))},disabled:!q&&(!(0,_.F)(fe,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET])||g)})}),(0,C.jsx)("input",{type:"file",multiple:!0,accept:ze||void 0,onChange:$e,style:{display:"none"},ref:Ee}),(0,C.jsx)("input",{type:"file",multiple:!0,onChange:$e,style:{display:"none"},ref:Oe}),(0,C.jsx)(U,{bucketName:fe,uploadPath:Ge,uploadFileFunction:e=>{Ee&&Ee.current&&Ee.current.click(),e()},uploadFolderFunction:e=>{Oe&&Oe.current&&Oe.current.click(),e()}})]}),bottomBorder:!1})}),(0,C.jsxs)("div",{id:"object-list-wrapper",...et({style:{...ot}}),children:[(0,C.jsx)("input",{...tt()}),(0,C.jsxs)(x.xuv,{withBorders:!0,sx:{display:"flex",borderTop:0,padding:0,"& .hideListOnSmall":{"@media (max-width: 799px)":{display:"none"}}},children:[f?(0,C.jsx)(s.Fragment,{children:null!==O&&(0,C.jsx)(Te,{internalPaths:O,bucketName:fe})}):(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:fe,errorProps:{disabled:!0},children:(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},className:E?"detailsOpen":"",children:[!q&&(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{padding:"12px 14px 5px"},children:(0,C.jsx)(F,{bucketName:fe,internalPaths:we,additionalOptions:!ve||g?null:(0,C.jsx)(x.XZJ,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:()=>{t((0,d.o_)()),t((0,d.mz)(!S)),it(!0)},checked:S,sx:{marginLeft:5,"@media (max-width: 600px)":{marginLeft:0,flexDirection:"row"}}}),hidePathButton:!1})}),(0,C.jsx)(Fe,{})]})}),!q&&(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:fe,errorProps:{disabled:!0},children:(0,C.jsxs)(G,{open:E,closePanel:()=>{it(!1)},className:"".concat(f?"hideListOnSmall":""),children:[Ve.length>0&&(0,C.jsx)(x.Wk,{items:rt,title:"Selected Objects:"}),null!==O&&(0,C.jsx)(me,{internalPaths:O,bucketName:fe,onClosePanel:it,versioningInfo:Z,locking:K})]})})]})]})]})]})};var Ge=n(49535),ze=n(73996),Ze=n(79844),Ke=n(4677),We=n(99670);const He=e=>{let{bucketName:t}=e;const n=(0,l.TL)(),a=(0,o.v9)(Oe.$4),c=(0,o.v9)((e=>e.objectBrowser.versionsMode)),u=(0,o.v9)((e=>e.objectBrowser.versionedFile)),h=(0,o.v9)((e=>e.objectBrowser.searchVersions)),m=!(null===a||void 0===a||!a.includes("object-browser-only")),p=(0,i.s0)(),j=(0,Ge.Z)(t,[r.Ft.S3_GET_BUCKET_POLICY,r.Ft.S3_PUT_BUCKET_POLICY,r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,r.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,r.Ft.S3_DELETE_BUCKET,r.Ft.S3_GET_BUCKET_NOTIFICATIONS,r.Ft.S3_PUT_BUCKET_NOTIFICATIONS,r.Ft.S3_GET_REPLICATION_CONFIGURATION,r.Ft.S3_PUT_REPLICATION_CONFIGURATION,r.Ft.S3_GET_LIFECYCLE_CONFIGURATION,r.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,r.Ft.ADMIN_GET_BUCKET_QUOTA,r.Ft.ADMIN_SET_BUCKET_QUOTA,r.Ft.S3_PUT_BUCKET_TAGGING,r.Ft.S3_GET_BUCKET_TAGGING,r.Ft.S3_LIST_BUCKET_VERSIONS,r.Ft.S3_GET_BUCKET_POLICY_STATUS,r.Ft.S3_DELETE_BUCKET_POLICY,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),b=(0,C.jsx)(s.Fragment,{children:c?(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(Ie.Z,{placeholder:"Start typing to filter versions of ".concat(u),onChange:e=>{n((0,d.Pr)(e))},value:h})}):(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(Ne,{})})});return(0,s.useEffect)((()=>{n((0,T.Sc)("object_browser"))}),[]),(0,C.jsx)(s.Fragment,{children:m?(0,C.jsxs)(x.rjZ,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,C.jsx)(x.rjZ,{children:(0,C.jsx)(ze.Z,{marginRight:30,marginTop:10})}),(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[b,(0,C.jsx)(Ke.Z,{})]})]}):(0,C.jsx)(Ze.Z,{label:(0,C.jsx)(x.hbI,{label:"Object Browser",onClick:()=>{p(r.gA.OBJECT_BROWSER_VIEW)}}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(_.s,{scopes:r.D[r.EI.BUCKET_ADMIN],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(M.Z,{tooltip:j?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+r.EI.BUCKET_ADMIN+" permisions.",children:(0,C.jsx)(x.zxk,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:()=>p("/buckets/".concat(t,"/admin")),icon:(0,C.jsx)(x.ewm,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,C.jsx)(We.Z,{})]}),middleComponent:b})})},Je=()=>{const e=(0,l.TL)(),t=(0,i.UO)(),n=(0,i.TH)(),u=(0,o.v9)((e=>e.objectBrowser.loadingVersioning)),h=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),x=(0,o.v9)((e=>e.objectBrowser.rewind.dateToRewind)),m=(0,o.v9)((e=>e.objectBrowser.showDeleted)),p=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),j=(0,o.v9)((e=>e.objectBrowser.loadingLocking)),b=(0,o.v9)((e=>e.objectBrowser.reloadObjectsList)),g=(0,o.v9)((e=>e.objectBrowser.simplePath)),v=(0,o.v9)((e=>e.system.anonymousMode)),f=(0,o.v9)((e=>e.objectBrowser.selectedBucket)),_=(0,o.v9)((e=>e.objectBrowser.records)),S=t.bucketName||"",T=n.pathname.split("/browser/".concat(S,"/")),w=2===T.length?T[1]:"",y=(0,s.useCallback)((t=>{let n=(new Date).toISOString();null!==x&&h&&(n=x);e({type:"socket/OBRequest",payload:{bucketName:S,path:t,rewindMode:h||m,date:n}})}),[S,m,x,h,e]),E=(0,s.useCallback)((function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const n=(0,c.IO)(w);e((0,d.db)({status:!1}));let s=n;n.endsWith("/")||""===n||(s="".concat(n.split("/").slice(0,-1).join("/"),"/")),"/"===s&&(s=""),(s!==g||S!==f||t)&&(e((0,d.zD)(!0)),y(s))}),[w,e,g,f,S,y]);(0,s.useEffect)((()=>()=>{e({type:"socket/OBCancelLast"})}),[e]),(0,s.useEffect)((()=>{const t=(0,c.IO)(w);e((0,d.IJ)(!0)),t.endsWith("/")||""===t?(e((0,d.vb)(!1)),e((0,d.EE)(null)),e((0,d.Jn)(!0))):(e((0,d.vH)(!0)),e((0,d.vb)(!0)),e((0,d.Eq)(!0)),e((0,d.EE)("".concat(t?"".concat((0,c.LL)(t)):""))))}),[S,w,x,h,e]),(0,s.useEffect)((()=>{E(!1)}),[E]),(0,s.useEffect)((()=>{b&&0===_.length&&!p&&E(!0)}),[b,_,p,E]);const O=(0,Ge.Z)(S,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET])||v;return(0,s.useEffect)((()=>{u&&!v&&(O?a.h.buckets.getBucketVersioning(S).then((t=>{e((0,d.lS)(t.data)),e((0,d.IJ)(!1))})).catch((t=>{console.error("Error Getting Object Versioning Status: ",t.error.detailedMessage),e((0,d.IJ)(!1))})):(e((0,d.IJ)(!1)),e((0,d.o_)())))}),[S,u,e,O,v]),(0,s.useEffect)((()=>{j&&(O?a.h.buckets.getBucketObjectLockingStatus(S).then((t=>{e((0,d.lY)(t.data.object_locking_enabled)),e((0,d.Jn)(!1))})).catch((t=>{console.error("Error Getting Object Locking Status: ",t.error.detailedMessage),e((0,d.Jn)(!1))})):(e((0,d.o_)()),e((0,d.Jn)(!1))))}),[S,j,e,O]),(0,C.jsxs)(s.Fragment,{children:[!v&&(0,C.jsx)(He,{bucketName:S}),(0,C.jsx)(Ue,{})]})}},34433:(e,t,n)=>{n.r(t),n.d(t,{default:()=>b});var s=n(72791),o=n(78687),i=n(29945),a=n(78029),l=n.n(a),r=n(56028),c=n(99779),d=n(80184);const u=e=>{let{id:t,initialDate:n,label:o,maxDays:a,entity:l,onChange:r}=e;const[u,h]=(0,s.useState)(7),[x,m]=(0,s.useState)(0),[p,j]=(0,s.useState)(0),[b,g]=(0,s.useState)(!0),[v,f]=(0,s.useState)(c.ou.now());(0,s.useEffect)((()=>{isNaN(x)||isNaN(u)||isNaN(p)||f(((e,t,n,s)=>c.ou.fromJSDate(e).plus({hours:n+24*t,minutes:s}))(n,u,x,p))}),[n,u,x,p]),(0,s.useEffect)((()=>{if(b){const e=v.toFormat("yyyy-MM-dd HH:mm:ss");r(e.split(" ").join("T"),!0)}else r("0000-00-00",!1)}),[v,r,b]),(0,s.useEffect)((()=>{let e=!0;(u<0||a&&u>a||isNaN(u))&&(e=!1),(x<0||x>23||isNaN(x))&&(e=!1),(p<0||p>59||isNaN(p))&&(e=!1),!a||u!==a||0===x&&0===p||(e=!1),u<=0&&x<=0&&p<=0&&(e=!1),g(e)}),[v,a,r,u,x,p]);const _={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,d.jsxs)(i.xuv,{className:"inputItem",children:[(0,d.jsx)(i.xuv,{sx:{display:"flex",alignItems:"center",marginBottom:5},children:(0,d.jsx)(i.AZs,{htmlFor:t,children:o})}),(0,d.jsxs)(i.xuv,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-evenly",gap:10,"& .reverseInput":{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}}},children:[(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:a?a.toString():"999",label:"Days",name:t,onChange:e=>{h(parseInt(e.target.value))},value:u.toString(),sx:_,noLabelMinWidth:!0})}),(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:e=>{m(parseInt(e.target.value))},value:x.toString(),sx:_,noLabelMinWidth:!0})}),(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:e=>{j(parseInt(e.target.value))},value:p.toString(),sx:_,noLabelMinWidth:!0})})]}),(0,d.jsx)(i.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10,marginBottom:15,"& .validityText":{fontSize:14,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"},"& > .min-icon":{color:"#5E5E5E",width:15,height:15,marginRight:10}},"& .validTill":{fontWeight:"bold",marginLeft:15},"& .invalidDurationText":{marginTop:15,display:"flex",color:"red",fontSize:11}},children:b?(0,d.jsxs)("div",{className:"validityText",children:[(0,d.jsx)(i.xPt,{}),(0,d.jsxs)("div",{children:[l," will be available until:"]})," ",(0,d.jsx)("div",{className:"validTill",children:v.toFormat("MM/dd/yyyy HH:mm:ss ZZZZ")})]}):(0,d.jsx)("div",{className:"invalidDurationText",children:"Please select a valid duration."})})]})};var h=n(45248),x=n(87995),m=n(44690),p=n(31776),j=n(82342);const b=e=>{let{open:t,closeModalAndRefresh:n,bucketName:a,dataObject:c}=e;const b=(0,m.TL)(),g=(0,o.v9)(x.N5),[v,f]=(0,s.useState)(""),[_,S]=(0,s.useState)(!0),[T,w]=(0,s.useState)(!1),[y,C]=(0,s.useState)(""),[E,O]=(0,s.useState)(!0),[F,I]=(0,s.useState)("null"),N=new Date;return(0,s.useEffect)((()=>{if(void 0===c.version_id)return g?(p.h.buckets.listObjects(a,{prefix:(0,h.LL)(c.name||""),with_versions:g}).then((e=>{const t=(e.data.objects||[]).find((e=>e.is_latest));I(t?"".concat(t.version_id):"null")})).catch((e=>{b((0,x.zb)((0,j.g)(e.error)))})),void S(!1)):(I("null"),void S(!1));I(c.version_id||"null"),S(!1)}),[a,c,g,b]),(0,s.useEffect)((()=>{if(E&&!_){w(!0),f("");const e=new Date("".concat(y)),t=new Date,n=Math.ceil((e.getTime()-t.getTime())/1e3);n>0&&p.h.buckets.shareObject(a,{prefix:(0,h.LL)(c.name||""),version_id:F,expires:""!==y?"".concat(n,"s"):""}).then((e=>{f(e.data),w(!1)})).catch((e=>{b((0,x.zb)((0,j.g)(e.error))),f(""),w(!1)}))}}),[c,y,a,E,f,b,g,_,F]),(0,d.jsx)(s.Fragment,{children:(0,d.jsxs)(r.Z,{title:"Share File",titleIcon:(0,d.jsx)(i.aAc,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:()=>{n()},children:[_&&(0,d.jsx)(i.rjZ,{item:!0,xs:12,children:(0,d.jsx)(i.kod,{})}),!_&&(0,d.jsxs)(s.Fragment,{children:[(0,d.jsxs)(i.rjZ,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,d.jsx)("br",{}),(0,d.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,d.jsx)("br",{}),(0,d.jsx)(i.rjZ,{item:!0,xs:12,children:(0,d.jsx)(u,{initialDate:N,id:"date",label:"Active for",maxDays:7,onChange:(e,t)=>{O(t),t?C(e):(C(""),f(""))},entity:"Link"})}),(0,d.jsx)(i.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,d.jsx)(i.bSr,{actionButton:(0,d.jsx)(l(),{text:v,children:(0,d.jsx)(i.zxk,{id:"copy-path",variant:"regular",onClick:()=>{b((0,x.MK)("Share URL Copied to clipboard"))},disabled:""===v||T,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,d.jsx)(i.TIy,{})})}),children:v})})]})]})})}},78562:(e,t,n)=>{n.r(t),n.d(t,{default:()=>x});var s=n(72791),o=n(56028),i=n(29945),a=n(26181),l=n.n(a),r=n(47922),c=n(45248),d=n(31776),u=n(80184);const h=e=>{let{bucketName:t,object:n,isFullscreen:o=!1}=e;const[a,h]=(0,s.useState)(!0),[x,m]=(0,s.useState)(null),[p,j]=(0,s.useState)(!1),b=(null===n||void 0===n?void 0:n.name)||"",g=(0,s.useCallback)((()=>{if(!p){const e=(0,c.LL)(b);d.h.buckets.getObjectMetadata(t,{prefix:e}).then((e=>{let t=l()(e.data,"objectMetadata",{});j(!0),m(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),j(!0)}))}}),[t,b,p]);(0,s.useEffect)((()=>{t&&b&&g()}),[t,b,g]);let v="";if(n){const e=(0,c.LL)(n.name);let s=document.baseURI.replace(window.location.origin,"");v="".concat(window.location.origin).concat(s,"api/v1/buckets/").concat(t,"/objects/download?preview=true&prefix=").concat(e),n.version_id&&(v=v.concat("&version_id=".concat(n.version_id)))}let f=(0,r.s7)(x,b);const _=()=>{h(!1)};return(0,u.jsxs)(s.Fragment,{children:["none"!==f&&a&&(0,u.jsx)(i.rjZ,{item:!0,xs:12,children:(0,u.jsx)(i.kod,{})}),p?(0,u.jsxs)(i.xuv,{sx:{textAlign:"center","& .iframeContainer":{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.text":{height:700},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},"& .iframeBase":{backgroundColor:"#fff"},"& .iframeHidden":{display:"none"}},children:["video"===f&&(0,u.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,u.jsx)("source",{src:v,type:"video/mp4"})}),"audio"===f&&(0,u.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,u.jsx)("source",{src:v,type:"audio/mpeg"})}),"image"===f&&(0,u.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:v,alt:"preview",onLoad:_}),"none"===f&&(0,u.jsx)("div",{children:(0,u.jsx)(i.J6i,{variant:"error",message:" File couldn't be previewed using file extension or mime type. Please try Download instead",title:"Preview unavailable",sx:{margin:"15px 0"}})}),"none"!==f&&"video"!==f&&"audio"!==f&&"image"!==f&&(0,u.jsx)("div",{className:"iframeBase ".concat(a?"iframeHidden":""),children:(0,u.jsx)("iframe",{src:v,title:"File Preview",allowTransparency:!0,className:"iframeContainer ".concat(o?"fullHeight":f),onLoad:_,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})},x=e=>{let{open:t,bucketName:n,object:a,onClosePreview:l}=e;return(0,u.jsx)(s.Fragment,{children:(0,u.jsx)(o.Z,{modalOpen:t,title:"Preview - ".concat(null===a||void 0===a?void 0:a.name),onClose:l,wideLimit:!1,titleIcon:(0,u.jsx)(i.$30,{}),children:(0,u.jsx)(h,{bucketName:n,object:a})})})}},75578:(e,t,n)=>{n.d(t,{Z:()=>i});var s=n(72791),o=n(80184);const i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,o.jsx)(s.Suspense,{fallback:t,children:(0,o.jsx)(e,{...n})})}}},73669:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(72791),o=n(29945),i=n(80184);const a=e=>{let{value:t}=e;const[n,a]=(0,s.useState)(!1);return(0,i.jsxs)(o.xuv,{sx:{display:"flex",alignItems:"center",flexFlow:"row",["@media (max-width: ".concat(o.Egj.sm,"px)")]:{flexFlow:"column"}},children:[(0,i.jsx)(o.Wzg,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:n?"text":"password",onChange:()=>{},value:t,overlayIcon:(0,i.jsx)(o.TIy,{}),readOnly:!0,overlayAction:()=>navigator.clipboard.writeText(t)}),(0,i.jsx)(o.zxk,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:()=>a(!n),label:"Show/Hide"})]})}}}]); -//# sourceMappingURL=2603.dca1b3d2.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2603,4619],{94619:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var s=n(72791),o=n(56028),i=n(29945),a=n(31776),l=n(82342),r=n(23814),c=n(87995),d=n(44690),u=n(80184);const h=e=>{let{modalOpen:t,onClose:n,bucket:h,prefilledRoute:x}=e;const m=(0,d.TL)(),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)("readonly");(0,s.useEffect)((()=>{x&&j(x)}),[x]);return(0,u.jsx)(o.Z,{modalOpen:t,title:"Add Anonymous Access Rule",onClose:n,titleIcon:(0,u.jsx)(i.sR0,{}),children:(0,u.jsxs)(i.ltY,{withBorders:!1,containerPadding:!1,children:[(0,u.jsx)(i.Wzg,{value:p,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:e=>{j(e.target.value)},tooltip:"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy."}),(0,u.jsx)(i.PhF,{id:"access",name:"Access",onChange:e=>{g(e)},label:"Access",value:b,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1,helpTip:(0,u.jsx)(s.Fragment,{children:"Select the desired level of access available to unauthenticated Users"}),helpTipPlacement:"right"}),(0,u.jsxs)(i.rjZ,{item:!0,xs:12,sx:r.ID.modalButtonBar,children:[(0,u.jsx)(i.zxk,{id:"clear",type:"button",variant:"regular",onClick:()=>{j(""),g("readonly")},label:"Clear"}),(0,u.jsx)(i.zxk,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===p.trim(),onClick:()=>{a.h.bucket.setAccessRuleWithBucket(h,{prefix:p,access:b}).then((e=>{m((0,c.y1)("Access Rule added successfully")),n()})).catch((e=>{m((0,c.Ih)((0,l.g)(e.error))),n()}))},label:"Save"})]})]})})}},32603:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Je});var s=n(72791),o=n(78687),i=n(57689),a=n(31776),l=n(44690),r=n(56087),c=n(45248),d=n(54756),u=n(26181),h=n.n(u),x=n(29945),m=n(82342),p=n(43954),j=n(99779),b=n(78029),g=n.n(b),v=n(16444),f=n(11087),_=n(38442),S=n(75578),T=n(87995);const w=e=>(e.match(/\.([^.]*?)(?=\?|#|$)/)||[])[1],y=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const s=Object.keys(e).reduce(((n,s)=>(w(s)&&s.includes(t)&&(n[s]=e[s]),n)),{});return Object.keys(s).filter((e=>{const o=s[e].some((e=>n.find((t=>{let n=!1;if(-1!==t.indexOf("*")){const s=t.substring(0,t.length-1);n=e.includes(s)}return n||e===t})))),i=e.substring(0,e.indexOf("/*."))==="arn:aws:s3:::".concat(t);return o&&(i&&"arn:aws:s3:::*"!==e)}))};var C=n(80184);const E=(0,S.Z)(s.lazy((()=>n.e(2185).then(n.bind(n,62185))))),O=v.ZP.div((()=>({display:"flex","& .additionalOptions":{paddingRight:"10px",display:"flex",alignItems:"center",["@media (max-width: ".concat(x.Egj.lg,"px)")]:{display:"none"}},"& .slashSpacingStyle":{margin:"0 5px"}}))),F=e=>{let{bucketName:t,internalPaths:n,hidePathButton:a,additionalOptions:u}=e;const h=(0,l.TL)(),m=(0,i.s0)(),p=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),j=(0,o.v9)((e=>e.objectBrowser.versionsMode)),b=(0,o.v9)((e=>e.objectBrowser.versionedFile)),v=(0,o.v9)((e=>e.system.anonymousMode)),[S,w]=(0,s.useState)(!1),[F,I]=(0,s.useState)(!1),N=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],k=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{}));let B=n;""!==n&&(B="/".concat(n));const L=B.split("/").filter((e=>""!==e)),A=L.length-1,D=t+B||t,P=y(k,D,N);(0,s.useEffect)((()=>{I(!1),Object.keys(k).forEach((e=>{e.includes(D)&&e.includes("/*")&&I(!0)}))}),[D,n,k]);const R=(0,_.F)([D,...P],N)||v||F;let M=L.map(((e,n)=>{const o="".concat(L.slice(0,n+1).join("/"),"/"),i="/browser/".concat(t,"/").concat(o?"".concat((0,c.LL)(o)):"");return n===A&&e===b?null:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),n===A?(0,C.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,c.eC)(e)}):(0,C.jsx)(f.rU,{style:{whiteSpace:"pre"},to:i,onClick:()=>{h((0,d.db)({status:!1,objectName:""}))},children:(0,c.eC)(e)})]},"breadcrumbs-".concat(n.toString()))})),U=[];j&&(U=[(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);const G=[(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(f.rU,{to:"/browser/".concat(t),onClick:()=>{h((0,d.db)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path"),...M,...U];return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)(O,{children:[S&&(0,C.jsx)(E,{modalOpen:S,bucketName:t,folderName:n,onClose:()=>{w(!1)},limitedSubPath:F&&!((0,_.F)([D,...P],N)||v)}),(0,C.jsx)(x.OoM,{sx:{whiteSpace:"pre"},goBackFunction:()=>{if(j)h((0,d.db)({status:!1,objectName:""}));else{if(0===L.length)return void m("/browser");const e=L.slice(0,-1);m("/browser/".concat(t).concat(e.length>0?"/".concat((0,c.LL)("".concat(e.join("/"),"/"))):""))}},additionalOptions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(g(),{text:"".concat(t,"/").concat(L.join("/")),children:(0,C.jsx)(x.zxk,{id:"copy-path",icon:(0,C.jsx)(x.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:()=>{h((0,T.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,C.jsx)(x.xuv,{className:"additionalOptions",children:u})]}),children:G}),!a&&(0,C.jsx)(x.ua7,{tooltip:R?"Choose or create a new path":(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"create a new path"),children:(0,C.jsx)(x.zxk,{id:"new-path",onClick:()=>{w(!0)},disabled:!v&&(p||!R),icon:(0,C.jsx)(x.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,C.jsx)(x.xuv,{sx:{display:"none",marginTop:15,marginBottom:5,justifyContent:"flex-start","& > div":{fontSize:12,fontWeight:"normal",flexDirection:"row",flexWrap:"nowrap"},["@media (max-width: ".concat(x.Egj.lg,"px)")]:{display:"flex"}},children:u})]})};var I=n(47922);const N=e=>"Enabled"===e||"Suspended"===e;var k=n(76610),B=n(9859),L=n(96382);const A=(0,L.hg)("objectBrowser/downloadSelected",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n(),a=t=>{const n=(0,c.LL)("".concat(e,"-").concat(t.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),s=(0,k.YO)(8),i=(0,I.LR)(e,(0,c.LL)(t.name),t.version_id,t.size,null,s,(e=>{o((0,d.RO)({instanceID:n,progress:e}))}),(()=>{o((0,d.oK)(n))}),(e=>{o((0,d.qJ)({instanceID:n,msg:e}))}),(()=>{o((0,d.Im)(n))}),(()=>{o((0,T.y1)("File download will be handled directly by the browser."))}));(0,k.EN)(s,i),o((0,d.Mc)({ID:s,bucketName:e,done:!1,instanceID:n,percentage:0,prefix:t.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))};if(0!==i.objectBrowser.selectedObjects.length){let t=[];const n=e=>i.objectBrowser.selectedObjects.includes(e.name);if(t=i.objectBrowser.records.filter(n),1===t.length){if(t[0].name.length>200&&(0,c.mv)().toLowerCase().includes("win"))return void o((0,d.$y)(t[0]));a(t[0])}else if(1===t.length)a(t[0]);else if(t.length>1){const n="".concat(j.ou.now().toFormat("LL-dd-yyyy-HH-mm-ss"),"_files_list.zip"),s=t.reduce(((e,t)=>{const n=null===t||void 0===t?void 0:t.delete_flag;return t&&!n?e.push(t.name):console.log("Skipping ".concat(null===t||void 0===t?void 0:t.name," from download.")),e}),[]);return void await(0,I.Sv)(e,s,n)}}})),D=(0,L.hg)("objectBrowser/openPreview",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,d.eP)(e)),o((0,d.ei)(!0)))}})),P=(0,L.hg)("objectBrowser/openShare",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,d.eP)(e)),o((0,d.Qf)(!0)))}})),R=(0,L.hg)("objectBrowser/openAnonymousAccess",(async(e,t)=>{let{getState:n,dispatch:s}=t;const o=n();1===o.objectBrowser.selectedObjects.length&&o.objectBrowser.selectedObjects[0].endsWith("/")&&s((0,d.xV)(!0))}));var M=n(27454);const U=e=>{let{uploadPath:t,bucketName:n,forceDisable:i=!1,uploadFileFunction:a,uploadFolderFunction:l,overrideStyles:c={}}=e;const[d,u]=(0,s.useState)(null),[h,m]=(0,s.useState)(!1),p=(0,o.v9)((e=>e.system.anonymousMode)),j=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{})),b=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],g=y(j,t,b),v=Boolean(d),f=()=>{u(null)},S=(0,_.F)([t,...g],b)||p,T=(0,_.F)([n,...g],b,!1,!0),w=S||T;return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(M.Z,{tooltip:w?"Upload Files":(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload files to this bucket"),children:(0,C.jsx)(x.zxk,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":v?"true":void 0,onClick:e=>{m(!h),u(e.currentTarget)},label:"Upload",icon:(0,C.jsx)(x.rG2,{}),variant:"callAction",disabled:i||!w,sx:c})}),(0,C.jsx)(x.udT,{id:"upload-main-menu",options:[{label:"Upload File",icon:(0,C.jsx)(x.rG2,{}),value:"file",disabled:!S||i},{label:"Upload Folder",icon:(0,C.jsx)(x.oXh,{}),value:"folder",disabled:!T||i}],selectedOption:"",onSelect:e=>{"folder"!==e?a(f):l(f)},hideTriggerAction:()=>{m(!1)},open:h,anchorEl:d,anchorOrigin:"end",useAnchorWidth:!1})]})},G=e=>{let{open:t,closePanel:n,className:s="",children:o}=e;return(0,C.jsxs)(x.xuv,{id:"details-panel",sx:{borderColor:"#EAEDEE",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderLeftWidth:1,opacity:1},"@media (max-width: 799px)":{"&.open":{width:"100%",minWidth:"100%",borderLeftWidth:0}}},className:"".concat(t?"open":""," ").concat(s),children:[(0,C.jsx)(x.zxk,{variant:"text",id:"close-details-list",onClick:n,icon:(0,C.jsx)(x.oto,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),o]})},z=(e,t,n,s)=>{var o;const i=(0,c.LL)("".concat(t,"-").concat(s.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),a=(0,c.mv)().toLowerCase().includes("win");if(((null===(o=s.name)||void 0===o?void 0:o.length)||0)>200&&a)return void e((0,d.Hg)(!0));const l=(0,k.YO)(8),r=(0,I.LR)(t,n,s.version_id,s.size||0,null,l,(t=>{e((0,d.RO)({instanceID:i,progress:t}))}),(()=>{e((0,d.oK)(i))}),(t=>{e((0,d.qJ)({instanceID:i,msg:t}))}),(()=>{e((0,d.Im)(i))}),(()=>{e((0,T.y1)("File download will be handled directly by the browser."))}));(0,k.EN)(l,r),e((0,d.Mc)({ID:l,bucketName:t,done:!1,instanceID:i,percentage:0,prefix:s.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))},Z=e=>{let{icon:t,strings:n}=e;return(0,C.jsxs)(x.xuv,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16},"& .fileNameText":{whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"}},children:[t,(0,C.jsx)("span",{className:"fileNameText",children:(0,c.e3)(n[n.length-1])})]})},K=[{icon:(0,C.jsx)(x.n9O,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,C.jsx)(x.mYf,{}),extensions:["mp3","m4a","aac"]},{icon:(0,C.jsx)(x.UU9,{}),extensions:["pdf"]},{icon:(0,C.jsx)(x.hjP,{}),extensions:["ppt","pptx"]},{icon:(0,C.jsx)(x.hz9,{}),extensions:["xls","xlsx"]},{icon:(0,C.jsx)(x.xDw,{}),extensions:["cer","crt","pem"]},{icon:(0,C.jsx)(x.jG9,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,C.jsx)(x.NqG,{}),extensions:["cfg","yaml"]},{icon:(0,C.jsx)(x.OkY,{}),extensions:["sql"]},{icon:(0,C.jsx)(x.ZAy,{}),extensions:["ttf","otf"]},{icon:(0,C.jsx)(x.p2x,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,C.jsx)(x.xhr,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,C.jsx)(x.rtI,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,C.jsx)(x.q$4,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],W=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e,s=(0,C.jsx)(x.MoH,{});e.endsWith("/")&&(s=(0,C.jsx)(x.BI,{}),n=e.slice(0,-1));const o=e.toLowerCase();for(const a of K)for(const e of a.extensions)o.endsWith(".".concat(e))&&(s=a.icon);!e.endsWith("/")&&e.indexOf(".")<0&&(s=(0,C.jsx)(x.lrl,{}));const i=n.split("/");return t?s:(0,C.jsx)(Z,{icon:s,strings:i})};var H=n(78562);const J=e=>{let{metaData:t}=e;const n=Object.keys(t);return(0,C.jsx)(s.Fragment,{children:n.map(((e,n)=>{const s=(e=>Array.isArray(e)?e.map(c.eC).join(", "):(0,c.eC)(e))(t[e]);return(0,C.jsxs)(x.xuv,{sx:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},children:[(0,C.jsx)("strong",{children:e}),(0,C.jsx)("br",{}),s]},"box-meta-".concat(e,"-").concat(n.toString()))}))})};var V=n(34433),Y=n(66315),q=n(23814);const $=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],Q=Array.from(Array(31),((e,t)=>({value:(t+1).toString(),label:(t+1).toString()}))),X=(new Date).getFullYear(),ee=Array.from(Array(50),((e,t)=>({value:(t+X).toString(),label:(t+X).toString()})));var te=n(56028);const ne=(0,s.forwardRef)(((e,t)=>{let{id:n,label:o,disableOptions:i=!1,tooltip:a="",borderBottom:l=!1,onDateChange:r,value:c=""}=e;(0,s.useImperativeHandle)(t,(()=>({resetDate:b})));const[d,u]=(0,s.useState)(""),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");(0,s.useEffect)((()=>{if(""!==c){const e=c.split("-");j(e[0]),u(e[1]),m("".concat(parseInt(e[2])))}}),[c]),(0,s.useEffect)((()=>{const[e,t]=((e,t,n)=>{const s=Date.parse("".concat(e,"-").concat(t,"-").concat(n));if(isNaN(s))return[!1,""];const o=parseInt(t),i=parseInt(n),a=o<10?"0".concat(o):o,l=i<10?"0".concat(i):i,r=new Date(s).toISOString().split("T")[0],c="".concat(e,"-").concat(a,"-").concat(l);return[r===c,c]})(p,d,h);r(t,e)}),[d,h,p,r]);const b=()=>{u(""),m(""),j("")},g=()=>i||!1,v=[{value:"",label:""},...$],f=[{value:"",label:""},...Q],_=[{value:"",label:""},...ee];return(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)(x.xuv,{sx:{display:"flex",alignItems:"center",gap:5,marginBottom:5},children:(0,C.jsxs)(x.AZs,{htmlFor:n,children:[(0,C.jsx)("span",{children:o}),""!==a&&(0,C.jsx)(x.xuv,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,C.jsx)(x.ua7,{tooltip:a,placement:"top",children:(0,C.jsx)(x.xuv,{sx:{"& .min-icon":{width:13}},children:(0,C.jsx)(x.byK,{})})})})]})}),(0,C.jsxs)(x.xuv,{sx:{display:"flex",gap:12},children:[(0,C.jsx)(x.PhF,{id:"".concat(n,"-month"),name:"".concat(n,"-month"),value:d,onChange:e=>{u(e)},options:v,label:"",disabled:g()}),(0,C.jsx)(x.PhF,{id:"".concat(n,"-day"),name:"".concat(n,"-day"),value:h,onChange:e=>{m(e)},options:f,label:"",disabled:g()}),(0,C.jsx)(x.PhF,{id:"".concat(n,"-year"),name:"".concat(n,"-year"),value:p,onChange:e=>{j(e)},options:_,label:"",disabled:g(),sx:{marginBottom:12}})]})]})})),se=e=>{let{open:t,closeModalAndRefresh:n,objectName:i,objectInfo:r,bucketName:d}=e;const u=(0,l.TL)(),h=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),[p,j]=(0,s.useState)(!0),[b,g]=(0,s.useState)(""),[v,f]=(0,s.useState)(""),[_,S]=(0,s.useState)(!1),[w,y]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1);(0,s.useEffect)((()=>{if(r.retention_mode&&(g((null===h||void 0===h?void 0:h.mode)||Y.oO.Governance),O(!0)),r.retention_until_date){const t=new Date(r.retention_until_date);if("Invalid Date"!==t.toString()){const n=t.getFullYear(),s=(e=t.getMonth()+1)<10?"0".concat(e):"".concat(e),o=t.getDate();isNaN(o)||"NaN"===s||isNaN(n)||f("".concat(n,"-").concat(s,"-").concat(o))}O(!0)}var e}),[r,null===h||void 0===h?void 0:h.mode]);const F=(0,s.useRef)(null),I=()=>{j(!1),g(Y.oO.Governance),F.current&&F.current.resetDate()},N=E&&("governance"===b||""===b);return(0,C.jsx)(te.Z,{title:"Set Retention Policy",modalOpen:t,onClose:()=>{I(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Selected Object"}),": ",i]}),N&&(0,C.jsx)(x.rsf,{value:"status",id:"status",name:"status",checked:p,onChange:e=>{j(!p)},label:"Status",indicatorLabels:["Enabled","Disabled"]}),(0,C.jsx)(x.Eep,{currentValue:b,id:"type",name:"type",label:"Type",disableOptions:!p||E&&""!==b,onChange:e=>{g(e.target.value)},selectorOptions:[{label:"Governance",value:Y.oO.Governance},{label:"Compliance",value:Y.oO.Compliance}]}),(0,C.jsx)(ne,{id:"date",label:"Date",disableOptions:!(p&&("governance"===b||"compliance"===b)),ref:F,value:v,borderBottom:!0,onDateChange:(e,t)=>{S(t),t&&f(e)}}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"reset",type:"button",variant:"regular",onClick:I,label:"Reset"}),(0,C.jsx)(x.zxk,{id:"save",type:"submit",variant:"callAction",disabled:p&&""===b||p&&!_||w,onClick:()=>{y(!0);const e=r.name||"",t=r.version_id||null,s=p||"governance"!==b?"".concat(v,"T23:59:59Z"):"";p||"governance"!==b?((e,t,s)=>{a.h.buckets.putObjectRetention(d,{prefix:(0,c.LL)(e),version_id:t||""},{expires:s,mode:b}).then((()=>{y(!1),n(!0)})).catch((e=>{u((0,T.zb)((0,m.g)(e.error))),y(!1)}))})(e,t,s):((e,t)=>{a.h.buckets.deleteObjectRetention(d,{prefix:(0,c.LL)(e),version_id:t||""}).then((()=>{y(!1),n(!0)})).catch((e=>{u((0,T.zb)((0,m.g)(e.error))),y(!1)}))})(e,t)},label:"Save"})]})]})})})};var oe=n(23508),ie=n(9505);const ae=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:a,versioningInfo:d,selectedVersion:u=""}=e;const h=(0,l.TL)(),[m,p]=(0,ie.Z)((()=>t(!0)),(e=>{h((0,T.Ih)(e)),"Access Denied."===e.detailedError&&t(!0)})),[j,b]=(0,s.useState)(!1),[g,v]=(0,s.useState)(!1),f=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),S=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if(!a)return null;return(0,C.jsx)(oe.Z,{title:"Delete Object",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:m,onConfirm:()=>{const e=(0,c.IO)(a).endsWith("/");p("DELETE","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(a).concat(""!==u?"&version_id=".concat(u):"&recursive=".concat(e,"&all_versions=").concat(j)).concat(g?"&bypass=true":""))},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete: ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:(0,c.IO)(a)})," ",""!==u?(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("strong",{children:u})]}):"","? ",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),N(null===d||void 0===d?void 0:d.status)&&""===u&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(x.rsf,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:j,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:e=>{b(!j)},description:""})}),S&&(j||""!==u)&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{v(!g)},description:""})})}),j&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)("div",{style:{marginTop:10,border:"#c83b51 1px solid",borderRadius:3,padding:5,backgroundColor:"#c83b5120",color:"#c83b51"},children:["This will remove the object as well as all of its versions,"," ",(0,C.jsx)("br",{}),"This action is irreversible."]}),(0,C.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},le=e=>{let{open:t,closeModalAndRefresh:n,objectName:o,bucketName:i,actualInfo:r}=e;const d=(0,l.TL)(),[u,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=r.version_id;(0,s.useEffect)((()=>{const e=h()(r,"legal_hold_status","OFF");p("ON"===e)}),[r]);const v=()=>{p(!1)};return(0,C.jsx)(te.Z,{title:"Set Legal Hold",modalOpen:t,onClose:()=>{v(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),b(!0),a.h.buckets.putObjectLegalHold(i,{prefix:(0,c.LL)(o),version_id:g||""},{status:u?Y.nY.Enabled:Y.nY.Disabled}).then((()=>{b(!1),n(!0)})).catch((e=>{d((0,T.zb)((0,m.g)(e.error))),b(!1)}))})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Object"}),": ",i]}),(0,C.jsx)(x.rsf,{value:"legalhold",id:"legalhold",name:"legalhold",checked:u,onChange:e=>{p(!u)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"clear",type:"button",variant:"regular",onClick:v,label:"Clear"}),(0,C.jsx)(x.zxk,{id:"save",type:"submit",variant:"callAction",disabled:j,label:" Save"})]})]})})})},re=v.ZP.b((e=>{let{theme:t}=e;return{color:h()(t,"signalColors.danger","#C83B51"),marginLeft:5}})),ce=e=>{var t;let{modalOpen:n,onCloseAndUpdate:i,bucketName:d,actualInfo:u}=e;const p=(0,l.TL)(),j=(0,o.v9)(T.N5),[b,g]=(0,s.useState)(""),[v,f]=(0,s.useState)(""),[S,w]=(0,s.useState)(!1),[y,E]=(0,s.useState)(!1),[O,F]=(0,s.useState)(""),[I,N]=(0,s.useState)(""),k=(0,c.LL)(u.name||""),B=u.tags,L=Object.keys(B||{}),A=null===(t=u.name)||void 0===t?void 0:t.split("/"),D=(null===A||void 0===A?void 0:A.pop())||"",P=e=>(0,C.jsxs)(x.xuv,{sx:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},children:["Tag",e?"s":""," for: ",(0,C.jsx)("strong",{children:D})]});return(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(te.Z,{modalOpen:n,title:y?"Delete Tag":"Edit Tags",onClose:()=>{i(!0)},iconColor:y?"delete":"default",titleIcon:y?(0,C.jsx)(x.dRf,{}):(0,C.jsx)(x.T0F,{}),children:y?(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)(x.rjZ,{container:!0,children:[P(!1),"Are you sure you want to delete the tag"," ",(0,C.jsxs)(re,{children:[O," : ",I]})," ","?",(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"cancel",type:"button",variant:"regular",onClick:()=>{F(""),N(""),E(!1)},label:"Cancel"}),(0,C.jsx)(x.zxk,{type:"submit",variant:"secondary",onClick:()=>{const e={...B};delete e[O];const t=j?u.version_id||"":"null";a.h.buckets.putObjectTags(d,{prefix:k,version_id:t},{tags:e}).then((()=>{i(!0),w(!1)})).catch((e=>{p((0,T.zb)((0,m.g)(e.error))),w(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,C.jsxs)(x.xuv,{children:[(0,C.jsx)(_.s,{scopes:[r.Ft.S3_GET_OBJECT_TAGGING,r.Ft.S3_GET_ACTIONS],resource:d,children:(0,C.jsxs)(x.xuv,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[P(!0),(0,C.jsxs)(x.xuv,{sx:{fontSize:14,fontWeight:"normal"},children:["Current Tags:",(0,C.jsx)("br",{}),0===L.length?(0,C.jsx)("span",{className:"muted",children:"There are no tags for this object"}):(0,C.jsx)(s.Fragment,{}),(0,C.jsx)(x.xuv,{sx:{marginTop:"5px",marginBottom:"15px"},children:L.map(((e,t)=>{const n=h()(B,"".concat(e),"");return""!==n?(0,C.jsx)(_.s,{scopes:[r.Ft.S3_DELETE_OBJECT_TAGGING],resource:d,errorProps:{deleteIcon:null,onDelete:null},children:(0,C.jsx)(x.Vp9,{id:"".concat(e," : ").concat(n),label:"".concat(e," : ").concat(n),variant:"regular",color:"default",onDelete:()=>{((e,t)=>{F(e),N(t),E(!0)})(e,n)}})},"chip-".concat(t)):null}))})]})]})}),(0,C.jsx)(_.s,{scopes:[r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_PUT_ACTIONS],resource:d,errorProps:{disabled:!0,onClick:null},children:(0,C.jsxs)(x.xuv,{children:[(0,C.jsx)(x.NZf,{icon:(0,C.jsx)(x.OCT,{}),separator:!1,children:"Add New Tag"}),(0,C.jsxs)(x.ltY,{containerPadding:!1,withBorders:!1,children:[(0,C.jsx)(x.Wzg,{value:b,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:e=>{g(e.target.value)}}),(0,C.jsx)(x.Wzg,{value:v,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:e=>{f(e.target.value)}}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:()=>{f(""),g("")},label:"Clear"}),(0,C.jsx)(x.zxk,{type:"submit",variant:"callAction",disabled:""===v.trim()||""===b.trim()||S,onClick:()=>{w(!0);const e={};e[b]=v;const t={...B,...e},n=j?u.version_id||"":"null";a.h.buckets.putObjectTags(d,{prefix:k,version_id:n},{tags:t}).then((()=>{i(!0),w(!1)})).catch((e=>{p((0,T.zb)((0,m.g)(e.error))),w(!1)}))},id:"saveTag",label:"Save"})]})]})]})})]})})})};var de=n(73669);const ue=e=>{let{closeInspectModalAndRefresh:t,inspectOpen:n,inspectPath:o,volumeName:i}=e;const a=(0,l.TL)(),r=()=>t(!1),[d,u]=(0,s.useState)(!0),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");if(!o)return null;return(0,C.jsxs)(s.Fragment,{children:[!h&&(0,C.jsx)(te.Z,{modalOpen:n,titleIcon:(0,C.jsx)(x.Gp8,{}),title:"Inspect Object",onClose:r,children:(0,C.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:["Would you like to encrypt ",(0,C.jsx)("b",{children:(0,c.IO)(o)}),"?"," ",(0,C.jsx)("br",{}),(0,C.jsx)(x.rsf,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:d,value:"encrypt",id:"encrypt",name:"encrypt",onChange:e=>{u(!d)},description:""}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:(0,C.jsx)(x.zxk,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:async()=>{const e=(0,c.LL)(o+"/xl.meta"),t=(0,c.LL)(i);(async e=>await fetch(e,{method:"GET"}))("/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(e,"&encrypt=").concat(d)).then((async e=>{if(!e.ok){const t=await e.json();a((0,T.Ih)({errorMessage:t.message,detailedError:t.code}))}const t=await e.blob(),n=e.headers.get("content-disposition").split('"')[1],s=(0,c.Do)(n)||"";(0,c.zZ)(t,n),j(n),""!==s?m(s):r()})).catch((e=>{a((0,T.Ih)(e))}))},label:"Inspect"})})]})}),h?(0,C.jsxs)(te.Z,{modalOpen:n,title:"Inspect Decryption Key",onClose:()=>{(0,c.kT)(p),r(),m("")},titleIcon:(0,C.jsx)(x.tvm,{}),children:[(0,C.jsxs)(x.xuv,{children:["This will be displayed only once. It cannot be recovered.",(0,C.jsx)("br",{}),"Use secure medium to share this key."]}),(0,C.jsx)(x.xuv,{children:(0,C.jsx)(de.Z,{value:h})})]}):null]})},he=e=>{let{open:t,closeModal:n,currentItem:o,internalPaths:i,actualInfo:a,bucketName:r}=e;const c=(0,l.TL)(),[d,u]=(0,s.useState)(o),[h,m]=(0,s.useState)(!1);return(0,C.jsxs)(te.Z,{title:"Rename Download",modalOpen:t,onClose:n,titleIcon:(0,C.jsx)(x.dY8,{}),children:[(0,C.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,C.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{})," We recommend to rename the file download"]}),(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),z(c,r,i,a),n()})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsx)(x.Wzg,{id:"download-filename",name:"download-filename",onChange:e=>{u(e.target.value)},label:"",type:"text",value:d,error:d.length>200&&!h?"Filename should be less than 200 characters long.":""}),(0,C.jsx)(x.rsf,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:h,onChange:e=>{m(e.target.checked),e.target.checked&&u(o)},label:"Use Original Name"}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:(0,C.jsx)(x.zxk,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:d.length>200&&!h,label:"Download File"})})]})})]})},xe={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},me=e=>{let{internalPaths:t,bucketName:n,versioningInfo:i,locking:u,onClosePanel:m}=e;const p=(0,l.TL)(),j=(0,o.v9)(T.N5),b=(0,o.v9)((e=>e.objectBrowser.versionsMode)),g=(0,o.v9)((e=>e.objectBrowser.selectedVersion)),v=(0,o.v9)((e=>e.objectBrowser.loadingObjectInfo)),[f,S]=(0,s.useState)(!1),[w,y]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1),[F,N]=(0,s.useState)(!1),[k,B]=(0,s.useState)(!1),[L,A]=(0,s.useState)(null),[D,P]=(0,s.useState)([]),[R,U]=(0,s.useState)(null),[G,Z]=(0,s.useState)([]),[K,Y]=(0,s.useState)(!1),[q,$]=(0,s.useState)(!1),[Q,X]=(0,s.useState)(0),[ee,te]=(0,s.useState)(!1),[ne,oe]=(0,s.useState)(null),[ie,re]=(0,s.useState)(!1),de=((0,c.IO)(t)||"").split("/").pop()||"";let me=[];L&&L.name&&(me=L.name.split("/")),(0,s.useEffect)((()=>{if(j&&D&&D.length>=1){let e=D.find((e=>e.is_latest))||xe;""!==g&&(e=D.find((e=>e.version_id===g))||xe),e.is_delete_marker||re(!0),A(e)}}),[g,j,D]),(0,s.useEffect)((()=>{v&&""!==t&&a.h.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const t=e.data.objects||[];if(j){P(t),Z(t);const e=t.reduce(((e,t)=>null!==t&&void 0!==t&&t.size?e+t.size:e),0);X(e)}else{const e=t[0];A(e),Z([]),e.is_delete_marker||re(!0)}p((0,d.vH)(!1))})).catch((e=>{console.error("Error loading object details",e.error),p((0,d.vH)(!1))}))}),[v,n,t,p,j,g]),(0,s.useEffect)((()=>{ie&&""!==t&&a.h.buckets.getObjectMetadata(n,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});oe(t),re(!1)})).catch((e=>{console.error("Error Getting Metadata Status: ",e.detailedError),re(!1)}))}),[n,t,ie]);let pe=[];L&&L.tags&&(pe=Object.keys(L.tags));const je=(0,C.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,C.jsx)(x.aNw,{})});if(!L)return v?je:null;const be=me.length>0?me[me.length-1]:L.name,ge=[n,de,[n,L.name].join("/")],ve=(0,_.F)(n,[r.Ft.S3_PUT_OBJECT_LEGAL_HOLD,r.Ft.S3_PUT_ACTIONS]),fe=(0,_.F)(ge,[r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_PUT_ACTIONS]),_e=(0,_.F)(ge,[r.Ft.S3_GET_OBJECT_RETENTION,r.Ft.S3_PUT_OBJECT_RETENTION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],!0),Se=(0,_.F)(ge,[r.Ft.ADMIN_INSPECT_DATA]),Te=(0,_.F)(ge,[r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_OBJECT_VERSION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),we=(0,_.F)(ge,[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS]),ye=(0,_.F)([n,de,[n,L.name].join("/")],[r.Ft.S3_DELETE_OBJECT]);let Ce=(0,I.s7)(ne,de);const Ee=[{action:()=>{z(p,n,t,L)},label:"Download",disabled:!!L.is_delete_marker||!we,icon:(0,C.jsx)(x._8t,{}),tooltip:we?"Download this Object":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"download this object")},{action:()=>{S(!0)},label:"Share",disabled:!!L.is_delete_marker||!we,icon:(0,C.jsx)(x.aAc,{}),tooltip:we?"Share this File":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"share this object")},{action:()=>{$(!0)},label:"Preview",disabled:!!L.is_delete_marker||"none"===Ce&&!we,icon:(0,C.jsx)(x.P99,{}),tooltip:we?"Preview this File":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"preview this object")},{action:()=>{N(!0)},label:"Legal Hold",disabled:!u||!j||!!L.is_delete_marker||!ve||""!==g,icon:(0,C.jsx)(x.fNL,{}),tooltip:ve?u?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,r.MK)([r.Ft.S3_PUT_OBJECT_LEGAL_HOLD,r.Ft.S3_PUT_ACTIONS],"change legal hold settings for this object")},{action:()=>{y(!0)},label:"Retention",disabled:!j||!!L.is_delete_marker||!_e||""!==g||!u,icon:(0,C.jsx)(x.E9d,{}),tooltip:_e?u?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,r.MK)([r.Ft.S3_GET_OBJECT_RETENTION,r.Ft.S3_PUT_OBJECT_RETENTION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"change Retention Rules for this object")},{action:()=>{O(!0)},label:"Tags",disabled:!!L.is_delete_marker||""!==g||!fe,icon:(0,C.jsx)(x.DgT,{}),tooltip:fe?"Change Tags for this File":(0,r.MK)([r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_GET_OBJECT_TAGGING,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"set Tags on this object")},{action:()=>{B(!0)},label:"Inspect",disabled:!j||!!L.is_delete_marker||""!==g||!Se,icon:(0,C.jsx)(x.Gp8,{}),tooltip:Se?"Inspect this file":(0,r.MK)([r.Ft.ADMIN_INSPECT_DATA],"inspect this file")},{action:()=>{p((0,d.db)({status:!b,objectName:be}))},label:b?"Hide Object Versions":"Display Object Versions",icon:(0,C.jsx)(x.cRd,{}),disabled:!j||!(L.version_id&&"null"!==L.version_id)||!Te,tooltip:Te?L.version_id&&"null"!==L.version_id?"Display Versions for this file":"":(0,r.MK)([r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_OBJECT_VERSION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"display all versions of this object")}];return(0,C.jsxs)(s.Fragment,{children:[f&&L&&(0,C.jsx)(V.default,{open:f,closeModalAndRefresh:()=>{U(null),S(!1)},bucketName:n,dataObject:R||L}),w&&L&&(0,C.jsx)(se,{open:w,closeModalAndRefresh:e=>{y(!1),e&&p((0,d.vH)(!0))},objectName:de,objectInfo:L,bucketName:n}),K&&(0,C.jsx)(ae,{deleteOpen:K,selectedBucket:n,selectedObject:t,closeDeleteModalAndRefresh:e=>{Y(!1),e&&""===g?m(!0):(p((0,d.Eq)(!0)),p((0,d.M3)("")),p((0,d.vH)(!0)))},versioningInfo:j?i:void 0,selectedVersion:g}),F&&L&&(0,C.jsx)(le,{open:F,closeModalAndRefresh:e=>{N(!1),e&&p((0,d.vH)(!0))},objectName:L.name||"",bucketName:n,actualInfo:L}),q&&L&&(0,C.jsx)(H.default,{open:q,bucketName:n,object:{name:L.name||"",version_id:L.version_id||"null",size:L.size||0,content_type:"",last_modified:L.last_modified||""},onClosePreview:()=>{$(!1)}}),E&&L&&(0,C.jsx)(ce,{modalOpen:E,bucketName:n,actualInfo:L,onCloseAndUpdate:e=>{O(!1),e&&p((0,d.vH)(!0))}}),k&&L&&(0,C.jsx)(ue,{inspectOpen:k,volumeName:n,inspectPath:L.name||"",closeInspectModalAndRefresh:e=>{B(!1),e&&p((0,d.vH)(!0))}}),ee&&L&&(0,C.jsx)(he,{open:ee,closeModal:()=>{te(!1)},currentItem:de,bucketName:n,internalPaths:t,actualInfo:L}),v?(0,C.jsx)(s.Fragment,{children:je}):(0,C.jsxs)(x.xuv,{sx:{"& .ObjectDetailsTitle":{display:"flex",alignItems:"center","& .min-icon":{width:26,height:26,minWidth:26,minHeight:26}},"& .objectNameContainer":{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},"& .capitalizeFirst":{textTransform:"capitalize"},"& .detailContainer":{padding:"0 22px",marginBottom:10,fontSize:14}},children:[(0,C.jsx)(x.Wk,{title:(0,C.jsxs)("div",{className:"ObjectDetailsTitle",children:[W(be||"",!0),(0,C.jsx)("span",{className:"objectNameContainer",children:be})]}),items:Ee}),(0,C.jsx)(M.Z,{tooltip:ye?"":(0,r.MK)([r.Ft.S3_DELETE_OBJECT],"delete this object"),children:(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,C.jsx)(_.s,{resource:[n,de,[n,L.name].join("/")],scopes:[r.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,C.jsx)(x.zxk,{id:"delete-element-click",icon:(0,C.jsx)(x.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:()=>{Y(!0)},disabled:""===g&&L.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==g?" version":"")})})})}),(0,C.jsx)(x.AG2,{icon:(0,C.jsx)(x.Gvh,{}),label:"Object Info"}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Name:"}),(0,C.jsx)("br",{}),(0,C.jsx)("div",{style:{overflowWrap:"break-word"},children:be})]}),""!==g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Version ID:"}),(0,C.jsx)("br",{}),g]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Size:"}),(0,C.jsx)("br",{}),(0,c.ae)("".concat(L.size||"0"))]}),L.version_id&&"null"!==L.version_id&&""===g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Versions:"}),(0,C.jsx)("br",{}),G.length," version",1!==G.length?"s":"",","," ",(0,c.l5)(Q)]}),""===g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Last Modified:"}),(0,C.jsx)("br",{}),(e=>{const t=new Date,n=new Date(e),s=t.getTime()-n.getTime(),o=(0,c.nF)(s,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"})(L.last_modified||"")]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"ETAG:"}),(0,C.jsx)("br",{}),L.etag||"N/A"]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Tags:"}),(0,C.jsx)("br",{}),0===pe.length?"N/A":pe.map(((e,t)=>(0,C.jsxs)("span",{children:[e,":",h()(L,"tags.".concat(e),""),t{let{versionToRestore:t,bucketName:n,objectPath:o,restoreOpen:i,onCloseAndUpdate:r}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1);return(0,C.jsx)(oe.Z,{title:"Restore File Version",confirmText:"Restore",isOpen:i,isLoading:h,titleIcon:(0,C.jsx)(x.D7Y,{}),onConfirm:()=>{p(!0),a.h.buckets.putObjectRestore(n,{prefix:(0,c.LL)(o),version_id:t.version_id||""}).then((()=>{p(!1),r(!0),u((0,d.rI)({prefix:o,objectInfo:t}))})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))},confirmButtonProps:{variant:"secondary",disabled:h},onClose:()=>{r(!1)},confirmationContent:(0,C.jsxs)(x.xuv,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:o})," ",(0,C.jsx)("br",{})," with Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:t.version_id}),"?"]})})},je=e=>{let{type:t}=e,n="#000",s="";switch(t){case"null":n="#07193E",s="NULL VERSION";break;case"deleted":n="#868686",s="DELETED";break;default:n="#174551",s="CURRENT VERSION"}return(0,C.jsx)("span",{style:{backgroundColor:n,padding:"0 5px",display:"inline-block",color:"#FFF",fontWeight:"bold",fontSize:12,borderRadius:2,whiteSpace:"nowrap",margin:"0 10px"},children:s})},be=v.ZP.div((e=>{let{theme:t}=e;return{"&:before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:h()(t,"borderColor","#F8F8F8"),left:"24px"},"& .mainFileVersionItem":{borderBottom:"".concat(h()(t,"borderColor","#F8F8F8")," 1px solid"),padding:"1rem 0",margin:"0 0.5rem 0 2.5rem",cursor:"pointer","&.deleted":{color:"#868686"}},"& .intermediateLayer":{margin:"0 1.5rem 0 1.5rem","&:hover, &.selected":{backgroundColor:h()(t,"boxBackground","#F8F8F8"),"& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},"& .buttonContainer":{textAlign:"right","& button":{marginLeft:"1.5rem"}},"& .versionID":{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},"& .versionData":{marginRight:"10px",fontSize:12,color:"#868686"},"@media (max-width: 600px)":{"& .buttonContainer":{"& button":{marginLeft:"5px"}}},"@media (max-width: 799px)":{"&:before":{display:"none"},"& .mainFileVersionItem":{padding:"5px 0px",margin:0},"& .intermediateLayer":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:14,"& svg.min-icon":{display:"none"}},"& .versionData":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"},"& .collapsableInfo":{display:"flex",flexDirection:"column"},"& .versionItem":{display:"none"}}}})),ge=e=>{let{fileName:t,versionInfo:n,isSelected:s,checkable:o,isChecked:i,onCheck:a,onShare:l,onDownload:r,onRestore:d,onPreview:u,globalClick:h,index:m,key:p,style:b}=e;const g=n.is_delete_marker,v=[{icon:(0,C.jsx)(x.P99,{}),action:u,tooltip:"Preview"},{icon:(0,C.jsx)(x._8t,{}),action:r,tooltip:"Download this version"},{icon:(0,C.jsx)(x.aAc,{}),action:l,tooltip:"Share this version"},{icon:(0,C.jsx)(x.D7Y,{}),action:d,tooltip:"Restore this version"}];let f=null;n.is_delete_marker?f="deleted":n.is_latest?f="current":"null"===n.version_id&&(f="null");let _=j.ou.now();return n.last_modified&&(_=j.ou.fromISO(n.last_modified)),(0,C.jsx)(be,{children:(0,C.jsx)(x.rjZ,{container:!0,className:"ctrItem",onClick:()=>{h(n)},style:b,children:(0,C.jsx)(x.rjZ,{item:!0,xs:12,className:"intermediateLayer".concat(" ",s?"selected":""),children:(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,className:"mainFileVersionItem ".concat(n.is_delete_marker?"deleted":""),children:[(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsxs)(x.rjZ,{container:!0,children:[(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,C.jsx)(x.XZJ,{checked:i,id:"select-".concat(n.version_id),name:"select-".concat(n.version_id),onChange:e=>{e.stopPropagation(),a(n.version_id||"")},value:n.version_id||"",disabled:n.is_delete_marker,sx:{width:"initial"}}),W(t,!0)," v",m.toString(),(0,C.jsx)("span",{className:"versionItem",children:f&&(0,C.jsx)(je,{type:f})})]}),(0,C.jsx)(x.rjZ,{item:!0,xs:10,md:8,className:"buttonContainer",children:v.map(((e,t)=>(0,C.jsx)(x.ua7,{tooltip:e.tooltip,children:(0,C.jsx)(x.hU,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"spacing".concat(" ",g?"buttonDisabled":""),disabled:g,onClick:t=>{t.stopPropagation(),g?t.preventDefault():e.action(n)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))))})]})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,className:"versionID",children:"null"!==n.version_id?n.version_id:"-"}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,className:"collapsableInfo",children:[(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Size:"})," ",(0,c.ae)("".concat(n.size||"0"))]})]})]})})},p)})},ve=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:d}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(""),[g,v]=(0,s.useState)(!1),f=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),S=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if((0,s.useEffect)((()=>{h&&a.h.buckets.deleteObject(i,{prefix:d,non_current_versions:!0,bypass:g}).then((()=>{t(!0)})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))}),[h,t,u,d,i,g]),!d)return null;return(0,C.jsx)(oe.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmButtonProps:{disabled:"YES, PROCEED"!==j||h},confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,C.jsx)("b",{children:(0,c.IO)(d)}),"? ",(0,C.jsx)("br",{}),S&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{v(!g)},description:""})})}),(0,C.jsx)("br",{}),"To continue please type ",(0,C.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(x.Wzg,{id:"type-confirm",name:"retype-tenant",onChange:e=>{b(e.target.value)},label:"",value:j})})]})})},fe=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedVersions:c,selectedObject:d}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),v=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,s.useEffect)((()=>{if(h){const e=c.map((e=>({path:d,versionID:e,recursive:!1})));e.length>0&&a.h.buckets.deleteMultipleObjects(i,e,{all_versions:!1,bypass:j}).then((()=>{p(!1),t(!0)})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))}}),[h,t,i,d,c,j,u]),c?(0,C.jsx)(oe.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete the selected ",c.length," ","versions for ",(0,C.jsx)("strong",{children:d}),"?",v&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:j,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{b(!j)},description:""})})})]})}):null};var _e=n(51359);const Se={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},Te=e=>{let{internalPaths:t,bucketName:n}=e;const i=(0,l.TL)(),r=(0,o.v9)((e=>e.objectBrowser.searchVersions)),u=(0,o.v9)((e=>e.objectBrowser.loadingVersions)),p=(0,o.v9)((e=>e.objectBrowser.selectedVersion)),j=(0,o.v9)(T.N5),[b,g]=(0,s.useState)(!1),[v,f]=(0,s.useState)(null),[_,S]=(0,s.useState)(null),[w,y]=(0,s.useState)([]),[E,O]=(0,s.useState)(!1),[I,N]=(0,s.useState)(null),[k,B]=(0,s.useState)("date"),[L,A]=(0,s.useState)(!1),[D,P]=(0,s.useState)(!1),[R,U]=(0,s.useState)(!1),[G,Z]=(0,s.useState)([]),[K,W]=(0,s.useState)(!1);let J=[];v&&v.name&&(J=v.name.split("/")),(0,s.useEffect)((()=>{u||v||i((0,d.Eq)(!0))}),[u,v,i]),(0,s.useEffect)((()=>{u&&""!==t&&a.h.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const n=h()(e.data,"objects",[]),s=(0,c.IO)(t),o=n.filter((e=>e.name===s));j?(f(o.find((e=>e.is_latest))||Se),y(o)):(f(o[0]),y([])),i((0,d.Eq)(!1))})).catch((e=>{i((0,T.Ih)((0,m.g)(e.error))),i((0,d.Eq)(!1))}))}),[u,n,t,i,j]);const Y=e=>{S(e),g(!0)},q=e=>{S(e),A(!0)},$=e=>{N(e),O(!0)},Q=e=>{z(i,n,t,e)},X=e=>{i((0,d.M3)(e.version_id||""))},ee=w.filter((e=>!!e.version_id&&e.version_id.includes(r))),te=w.reduce(((e,t)=>t.size?e+t.size:e),0);ee.sort(((e,t)=>{if("size"===k)return e.size&&t.size?e.sizet.size?1:0:0;{const n=new Date(e.last_modified||"").getTime(),s=new Date(t.last_modified||"").getTime();return ns?-1:0}}));const ne=e=>{if(G.includes(e)){const t=G.filter((t=>t!==e));return void Z(t)}const t=[...G];t.push(e),Z(t)};return(0,C.jsxs)(s.Fragment,{children:[b&&v&&(0,C.jsx)(V.default,{open:b,closeModalAndRefresh:()=>{S(null),g(!1),A(!1)},bucketName:n,dataObject:_||v}),E&&v&&I&&(0,C.jsx)(pe,{restoreOpen:E,bucketName:n,versionToRestore:I,objectPath:v.name||"",onCloseAndUpdate:e=>{O(!1),N(null),e&&(i((0,d.Eq)(!0)),i((0,d.vH)(!0)))}}),L&&v&&(0,C.jsx)(H.default,{open:L,bucketName:n,object:{name:v.name||"",version_id:_&&_.version_id?_.version_id:"null",size:_&&_.size?_.size:0,content_type:"",last_modified:v.last_modified||""},onClosePreview:()=>{A(!1)}}),D&&(0,C.jsx)(ve,{deleteOpen:D,closeDeleteModalAndRefresh:e=>{P(!1),e&&(i((0,d.Eq)(!0)),i((0,d.M3)("")),i((0,d.vH)(!0)))},selectedBucket:n,selectedObject:t}),K&&(0,C.jsx)(fe,{selectedBucket:n,selectedObject:(0,c.IO)(t),deleteOpen:K,selectedVersions:G,closeDeleteModalAndRefresh:e=>{W(!1),e&&(i((0,d.Eq)(!0)),i((0,d.M3)("")),i((0,d.vH)(!0)),Z([]))}}),(0,C.jsxs)(x.rjZ,{container:!0,sx:{width:"100%",padding:10,"@media (max-width: 799px)":{minHeight:800}},children:[!v&&(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(x.kod,{})}),v&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(F,{bucketName:n,internalPaths:(0,c.IO)(t),hidePathButton:!0})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{position:"relative","& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}},["@media (max-width: ".concat(x.Egj.md,"px)")]:{"&::before":{display:"none"}}},children:(0,C.jsx)(x.UHn,{icon:(0,C.jsx)("span",{style:{display:"block",marginTop:"-10px"},children:(0,C.jsx)(x.cRd,{style:{width:20,height:20}})}),title:"".concat(J.length>0?J[J.length-1]:v.name," Versions"),subTitle:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsxs)("strong",{children:[w.length," Version",1===w.length?"":"s","\xa0\xa0\xa0"]})}),(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsx)("strong",{children:(0,c.l5)(te)})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(M.Z,{tooltip:"Select Multiple Versions",children:(0,C.jsx)(x.zxk,{id:"select-multiple-versions",onClick:()=>{U(!R)},icon:(0,C.jsx)(x.amE,{}),variant:R?"callAction":"regular",style:{marginRight:8}})}),R&&(0,C.jsx)(M.Z,{tooltip:"Delete Selected Versions",children:(0,C.jsx)(x.zxk,{id:"delete-multiple-versions",onClick:()=>{W(!0)},icon:(0,C.jsx)(x.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===G.length})}),(0,C.jsx)(M.Z,{tooltip:"Delete Non Current Versions",children:(0,C.jsx)(x.zxk,{id:"delete-non-current",onClick:()=>{P(!0)},icon:(0,C.jsx)(x.utM,{}),variant:"secondary",style:{marginRight:15},disabled:w.length<=1})}),(0,C.jsx)(x.PhF,{id:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}],value:k,label:"Sort by",onChange:e=>{B(e)},noLabelMinWidth:!0})]}),bottomBorder:!1})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto",["@media (max-width: ".concat(x.Egj.md,"px)")]:{height:600}},children:v.version_id&&"null"!==v.version_id&&(0,C.jsx)(_e.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:ee.length,rowHeight:108,rowRenderer:e=>{let{key:t,index:n,isScrolling:s,isVisible:o,style:i}=e;const a=w.length-n;return(0,C.jsx)(ge,{style:i,fileName:(null===v||void 0===v?void 0:v.name)||"",versionInfo:ee[n],index:a,onDownload:Q,onRestore:$,onShare:Y,onPreview:q,globalClick:X,isSelected:p===ee[n].version_id,checkable:R,onCheck:ne,isChecked:G.includes(ee[n].version_id||"")},t)}})})]})]})]})},we=e=>{if(e.name.endsWith("/"))return"";const t=j.ou.now(),n=j.ou.fromISO(e.last_modified);return t.hasSame(n,"day")&&t.hasSame(n,"month")&&t.hasSame(n,"year")?"Today, ".concat(n.toFormat("HH:mm")):n.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},ye=e=>e.name.endsWith("/")||!e.size?"-":(0,c.ae)(String(e.size)),Ce=[{label:"Name",elementKey:"name",renderFunction:W,enableSort:!0},{label:"Last Modified",elementKey:"last_modified",renderFunction:we,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:ye,renderFullObject:!0,width:100,enableSort:!0}],Ee=[{label:"Name",elementKey:"name",renderFunction:W,enableSort:!0},{label:"Object Date",elementKey:"last_modified",renderFunction:we,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:ye,renderFullObject:!0,width:100,enableSort:!0},{label:"Deleted",elementKey:"delete_flag",renderFunction:e=>e?"Yes":"No",width:60}];var Oe=n(46078);const Fe=()=>{const e=(0,l.TL)(),t=(0,i.UO)(),n=(0,i.s0)(),[a,u]=(0,s.useState)("ASC"),[m,p]=(0,s.useState)("name"),j=t.bucketName||"",b=(0,o.v9)((e=>e.objectBrowser.objectDetailsOpen)),g=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),v=(0,o.v9)(Oe.$4),f=!(null===v||void 0===v||!v.includes("object-browser-only")),S=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),T=(0,o.v9)((e=>e.objectBrowser.records)),w=(0,o.v9)((e=>e.objectBrowser.searchObjects)),y=(0,o.v9)((e=>e.objectBrowser.selectedObjects)),E=(0,o.v9)((e=>e.objectBrowser.connectionError)),O=(0,o.v9)((e=>e.system.anonymousMode)),F=(0,_.F)(j,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET]),N=T.filter((e=>{if(""===w)return!0;return e.name.toLowerCase().indexOf(w.toLowerCase())>=0})).sort((0,I.P_)(m));let k=[];k="ASC"===a?N:N.reverse();const B=[{type:"view",tooltip:"View",onClick:t=>{var s;const o=t.name||"",i="/browser/".concat(j).concat(o?"/".concat((0,c.LL)(o)):"");!O||null!==(s=t.name)&&void 0!==s&&s.endsWith("/")?(e((0,d.S2)([])),n(i),O||(e((0,d.vb)(!0)),e((0,d.Eq)(!0))),e((0,d.EE)("".concat(o?"".concat((0,c.LL)(o)):"")))):z(e,j,"".concat((0,c.LL)(o)),t)},sendOnlyId:!1}];let L=F||O?"This location is empty".concat(S?"":", please try uploading a new file"):(0,r.MK)([r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],"view Objects in this bucket");E&&(L="Objects List unavailable. Please review your WebSockets configuration and try again");let A="calc(100vh - 290px)";return f&&(A="calc(100vh - 315px)"),(0,C.jsx)(x.wQF,{itemActions:B,columns:S?Ee:Ce,isLoading:g,entityName:"Objects",idField:"name",records:k,customPaperHeight:A,selectedItems:y,onSelect:O?void 0:t=>{const n=t.target,s=n.value,o=n.checked;let i=[...y];return o?i.push(s):i=i.filter((e=>e!==s)),e((0,d.S2)(i)),e((0,d.EE)(null)),i},customEmptyMessage:L,sortConfig:{currentSort:m,currentDirection:a,triggerSort:t=>{const n=h()(t,"sortDirection","DESC");p(t.sortBy),u(n),e((0,d.$3)(!0))}},onSelectAll:()=>{if(e((0,d.EE)(null)),y.length===k.length)return void e((0,d.S2)([]));const t=k.map((e=>e.name));e((0,d.S2)(t))},rowStyle:e=>{var t;let{index:n}=e;return null!==(t=k[n])&&void 0!==t&&t.delete_flag?"deleted":""},sx:{minHeight:b?"100%":"initial"},noBackground:!0})};var Ie=n(59114);const Ne=()=>{const e=(0,l.TL)(),t=(0,o.v9)((e=>e.objectBrowser.searchObjects));return(0,C.jsx)(Ie.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:t=>{e((0,d.G4)(t))},value:t})};var ke=n(94619);const Be=(0,S.Z)(s.lazy((()=>n.e(711).then(n.bind(n,50711))))),Le=(0,S.Z)(s.lazy((()=>Promise.resolve().then(n.bind(n,34433))))),Ae=(0,S.Z)(s.lazy((()=>n.e(6901).then(n.bind(n,26901))))),De=(0,S.Z)(s.lazy((()=>Promise.resolve().then(n.bind(n,78562))))),Pe={borderWidth:2,borderRadius:2,borderColor:"transparent",outline:"none"},Re={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#2196f3"},Me={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#00e676"},Ue=()=>{var e;const t=(0,l.TL)(),n=(0,i.UO)(),u=(0,i.s0)(),b=(0,i.TH)(),g=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),v=(0,o.v9)((e=>e.objectBrowser.rewind.bucketToRewind)),f=(0,o.v9)((e=>e.objectBrowser.versionsMode)),S=(0,o.v9)((e=>e.objectBrowser.showDeleted)),E=(0,o.v9)((e=>e.objectBrowser.objectDetailsOpen)),O=(0,o.v9)((e=>e.objectBrowser.selectedInternalPaths)),L=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),z=(0,o.v9)((e=>e.objectBrowser.simplePath)),Z=(0,o.v9)((e=>e.objectBrowser.versionInfo)),K=(0,o.v9)((e=>e.objectBrowser.lockingEnabled)),W=(0,o.v9)((e=>e.objectBrowser.downloadRenameModal)),H=(0,o.v9)((e=>e.objectBrowser.selectedPreview)),J=(0,o.v9)((e=>e.objectBrowser.shareFileModalOpen)),V=(0,o.v9)((e=>e.objectBrowser.previewOpen)),Y=(0,o.v9)((e=>e.objectBrowser.selectedBucket)),q=(0,o.v9)((e=>e.system.anonymousMode)),$=(0,o.v9)((e=>e.objectBrowser.anonymousAccessOpen)),Q=(0,o.v9)((e=>{var t;return(null===(t=e.objectBrowser)||void 0===t?void 0:t.records)||[]})),X=(0,o.v9)(B.HQ),ee=(0,o.v9)(B.G6),[te,ne]=(0,s.useState)(!1),[se,oe]=(0,s.useState)(!1),[ie,ae]=(0,s.useState)(!1),[le,re]=(0,s.useState)(!1),[ce,de]=(0,s.useState)(!1),[ue,xe]=(0,s.useState)(null),[pe,je]=(0,s.useState)(null),[be,ge]=(0,s.useState)(!1),ve=N(Z.status),fe=n.bucketName||"",_e=b.pathname.split("/browser/".concat(fe,"/")),Se=2===_e.length?_e[1]:"",we=(0,c.IO)(Se),ye=we.split("/").filter((e=>""!==e));let Ce=[fe];ye.length>0&&(Ce=Ce.concat(ye));const Ee=(0,s.useRef)(null),Oe=(0,s.useRef)(null),Ie=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{})),Ue=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],Ge=Ce.join("/"),ze=function(e,t){const n=y(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).reduce(((e,t)=>{const n=w(t);return n&&e.push(".".concat(n)),e}),[]);return[...new Set(n)].join(",")}(Ie,Ge,Ue),Ze=y(Ie,Ge,Ue),Ke=(0,_.F)([Ge,...Ze],[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS]),We=(0,_.F)([Ge,...Ze],[r.Ft.S3_DELETE_OBJECT]),He=(0,_.F)([Ge,...Ze],Ue)||q,Je=(0,_.F)(fe,[r.Ft.S3_GET_BUCKET_POLICY,r.Ft.S3_PUT_BUCKET_POLICY,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),Ve=(0,o.v9)((e=>e.objectBrowser.selectedObjects)),Ye=(()=>{let e=!1;if(1===Ve.length){e=!!Q.find((e=>e.name==="".concat(Ve[0])&&e.delete_flag))}return e})(),qe=(0,s.useCallback)((()=>{const e=Ve[0];if(!be){const t=(0,c.LL)(e);a.h.buckets.getObjectMetadata(fe,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});ge(!0),je(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),ge(!0)}))}}),[fe,Ve,be]);(0,s.useEffect)((()=>{fe&&!Ye&&qe()}),[fe,Ve,qe,Ye]),(0,s.useEffect)((()=>{g&&v!==fe&&t((0,d._w)())}),[g,v,fe,t]),(0,s.useEffect)((()=>{null!==Oe.current&&(Oe.current.setAttribute("directory",""),Oe.current.setAttribute("webkitdirectory",""))}),[Oe]),(0,s.useEffect)((()=>{if(1===Ve.length){const e=Ve[0],t=e.endsWith("/");let n=(0,I.s7)(pe,e);de(!("none"===n||!Ke)),re(!(!Ke||t))}else re(!1),de(!1)}),[Ve,Ke,pe]),(0,s.useEffect)((()=>{ue||q||a.h.buckets.getBucketQuota(fe).then((e=>{let t=null;e.data.quota&&(t=e.data),xe(t)})).catch((e=>{console.error("Error Getting Quota Status: ",e.error.detailedMessage),xe(null)}))}),[ue,fe,q]),(0,s.useEffect)((()=>{Ve.length>0?t((0,d.vb)(!0)):0!==Ve.length||null!==O||L||t((0,d.vb)(!1))}),[Ve,O,t,L]),(0,s.useEffect)((()=>{ie||(t((0,B.d5)(!0)),ae(!0))}),[ie,t,ae]),(0,s.useEffect)((()=>{!L&&!X||q||a.h.buckets.bucketInfo(fe).then((e=>{t((0,B.d5)(!1)),t((0,B.f4)(e.data))})).catch((e=>{t((0,B.d5)(!1)),t((0,T.Ih)((0,m.g)(e)))}))}),[fe,X,t,q,L]),(0,s.useEffect)((()=>{""!==Y&&a.h.buckets.getBucketRetentionConfig(Y).then((e=>{t((0,d.c8)(e.data))})).catch((()=>{t((0,d.c8)(null))}))}),[Y,t]);const $e=e=>{if(null!==e&&void 0!==e&&null!==e.target.files&&void 0!==e.target.files){e.preventDefault();var t=[];for(let n=0;n{let s="";z&&(s=z.endsWith("/")?z:z+"/");((e,n,s,o)=>{let i=i=>new Promise(((a,l)=>{let r="api/v1/buckets/".concat(n,"/objects/upload");const u=i.name,x=new Blob([i],{type:i.type});let m="";const p=h()(i,"path",""),j=h()(i,"webkitRelativePath","");let b=o;const g=(0,k.YO)(8);""!==p?b=p:""!==j&&(b=j);let v="";if(""!==s||""!==b){const e=b.split("/").slice(0,-1).join("/"),t=s.endsWith("/")?s.slice(0,-1):s;v="".concat(t).concat(t.endsWith("/")||""===e||e.startsWith("/")?"":"/").concat(e).concat(!e.endsWith("/")||""===e.trim()&&!s.endsWith("/")?"/":"")}r=""!==v?"".concat(r,"?prefix=").concat((0,c.LL)(v+u)):"".concat(r,"?prefix=").concat((0,c.LL)(u)),m=(0,c.LL)(v);const f=(0,c.LL)("".concat(n,"-").concat(m,"-").concat((new Date).getTime(),"-").concat(Math.random()));let _=new XMLHttpRequest;_.open("POST",r,!0),q&&_.setRequestHeader("X-Anonymous","1");const S=e.length>1;let T="An error occurred while uploading the file".concat(S?"s":"",".");const w={413:"Error - File size too large"};_.withCredentials=!1,_.onload=function(){if(_.status>=200&&_.status<300)t((0,d.oK)(f)),a({status:_.status}),(0,k.GM)(g);else{if(w[_.status])T=w[_.status];else if(_.response)try{const e=JSON.parse(_.response);T=e.detailedMessage}catch(e){T="something went wrong"}t((0,d.qJ)({instanceID:f,msg:T})),l({status:_.status,message:T}),(0,k.GM)(g)}},_.upload.addEventListener("error",(()=>{l(T),t((0,d.qJ)({instanceID:f,msg:"A network error occurred."}))})),_.upload.addEventListener("progress",(e=>{const n=Math.floor(100*e.loaded/e.total);t((0,d.RO)({instanceID:f,progress:n}))})),_.onerror=()=>{l(T),t((0,d.qJ)({instanceID:f,msg:"A network error occurred."}))},_.onloadend=()=>{0===e.length&&t((0,d.$3)(!0))},_.onabort=()=>{t((0,d.Im)(f))};const y=new FormData;void 0!==i.size&&(y.append(i.size.toString(),x,u),(0,k.EN)(g,_),t((0,d.Mc)({ID:g,bucketName:n,done:!1,instanceID:f,percentage:0,prefix:"".concat((0,c.IO)(m)).concat(u),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,k.N5)(g,y))}));const a=[];t((0,d.LD)());for(let t=0;t{const n=e.filter((e=>"rejected"===e.status));if(n.length>0){const e=a.length,s=a.length-n.length,o={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(s,"/").concat(e)};t((0,T.Ih)(o))}t((0,d.$3)(!0))}))})(e,fe,s,n)}),[fe,t,z,q]),Xe=(0,s.useCallback)((e=>{if(e&&e.length>0&&He){let n=e[0].path,s=e;ze.length>0&&(s=e.filter((e=>{const t=w(e.name);return ze.includes(t)}))),s.length?(Qe(s,n),console.log("".concat(s.length," Allowed Files Processed out of ").concat(e.length,"."),Ge,...Ze),s.length!==e.length&&t((0,T.Ih)({errorMessage:"Upload is restricted.",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))):(t((0,T.Ih)({errorMessage:"Could not process drag and drop.",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")})),console.error("Could not process drag and drop . upload may be restricted.",Ge,...Ze))}He||t((0,T.Ih)({errorMessage:"Upload not allowed",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))}),[Qe]),{getRootProps:et,getInputProps:tt,isDragActive:nt,isDragAccept:st}=(0,p.uI)({noClick:!0,onDrop:Xe}),ot=(0,s.useMemo)((()=>({...Pe,...nt?Re:{},...st?Me:{}})),[nt,st]),it=e=>{if(t((0,d.EE)(null)),t((0,d.db)({status:!1})),E&&null!==O){const e=(0,c.IO)(Se).split("/");e.pop();let t="";e&&e.length>0&&(t="".concat(e.join("/"),"/")),u("/browser/".concat(fe,"/").concat((0,c.LL)(t)))}t((0,d.vb)(!1)),e&&t((0,d.$3)(!0))};let at=j.ou.now();null!==ee&&void 0!==ee&&ee.creation_date&&(at=j.ou.fromISO(ee.creation_date));const lt=(null===Ve||void 0===Ve?void 0:Ve.length)<=1?"Download Selected":" Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.",rt=[{action:()=>{t(A(fe))},label:"Download",disabled:!Ke||Ye,icon:(0,C.jsx)(x._8t,{}),tooltip:Ke?lt:(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"download objects from this bucket")},{action:()=>{t(P())},label:"Share",disabled:1!==Ve.length||!le||Ye,icon:(0,C.jsx)(x.aAc,{}),tooltip:le?"Share Selected File":"Sharing unavailable"},{action:()=>{t(D())},label:"Preview",disabled:1!==Ve.length||!ce||Ye,icon:(0,C.jsx)(x.P99,{}),tooltip:ce?"Preview Selected File":"Preview unavailable"},{action:()=>{t(R())},label:"Anonymous Access",disabled:1!==Ve.length||!Ve[0].endsWith("/")||!Je,icon:(0,C.jsx)(x.cuP,{}),tooltip:1===Ve.length&&Ve[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:()=>{ne(!0)},label:"Delete",icon:(0,C.jsx)(x.pJl,{}),disabled:!We||0===Ve.length,tooltip:We?"Delete Selected Files":(0,r.MK)([r.Ft.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,C.jsxs)(s.Fragment,{children:[J&&H&&(0,C.jsx)(Le,{open:J,closeModalAndRefresh:()=>{t((0,d.Qf)(!1)),t((0,d.eP)(null))},bucketName:fe,dataObject:{name:H.name,last_modified:"",version_id:H.version_id}}),te&&(0,C.jsx)(Be,{deleteOpen:te,selectedBucket:fe,selectedObjects:Ve,closeDeleteModalAndRefresh:e=>{ne(!1),e&&(t((0,T.y1)("Objects deleted successfully.")),t((0,d.S2)([])),t((0,d.$3)(!0)))},versioning:Z}),se&&(0,C.jsx)(Ae,{open:se,closeModalAndRefresh:()=>{oe(!1)},bucketName:fe}),V&&(0,C.jsx)(De,{open:V,bucketName:fe,object:H,onClosePreview:()=>{t((0,d.ei)(!1)),t((0,d.eP)(null))}}),!!W&&(0,C.jsx)(he,{open:!!W,closeModal:()=>{t((0,d.$y)(null))},currentItem:(null===(e=W.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:fe,internalPaths:Se,actualInfo:{name:W.name,last_modified:"",version_id:W.version_id,size:W.size}}),$&&(0,C.jsx)(ke.default,{onClose:()=>{t((0,d.xV)(!1))},bucket:fe,modalOpen:$,prefilledRoute:"".concat(Ve[0],"*")}),(0,C.jsxs)(x.Xgh,{variant:"full",children:[q&&(0,C.jsx)("div",{style:{paddingBottom:16},children:(0,C.jsx)(Ne,{})}),(0,C.jsx)(x.xuv,{withBorders:!0,sx:{padding:"0 5px"},children:(0,C.jsx)(x.UHn,{icon:(0,C.jsx)("span",{children:(0,C.jsx)(x.wNb,{style:{width:30}})}),title:fe,subTitle:q?null:(0,C.jsxs)(x.xuv,{sx:{"& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}}},children:[(0,C.jsxs)("span",{className:"detailsSpacer",children:["Created on:\xa0",(0,C.jsx)("strong",{children:null!==ee&&void 0!==ee&&ee.creation_date?at.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,C.jsxs)("span",{className:"detailsSpacer",children:["Access:\xa0\xa0",(0,C.jsx)("strong",{children:(null===ee||void 0===ee?void 0:ee.access)||""})]}),ee&&(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{className:"detailsSpacer",children:[ee.size&&(0,C.jsx)(s.Fragment,{children:(0,c.l5)(ee.size)}),ee.size&&ue&&(0,C.jsxs)(s.Fragment,{children:[" ","/ ",(0,c.l5)(ue.quota||0)]}),ee.size&&ee.objects?" - ":"",ee.objects&&(0,C.jsxs)(s.Fragment,{children:[ee.objects,"\xa0Object",ee.objects&&1!==ee.objects?"s":""]})]})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[!q&&(0,C.jsx)(M.Z,{tooltip:"Rewind Bucket",children:(0,C.jsx)(x.zxk,{id:"rewind-objects-list",label:"Rewind",icon:(0,C.jsx)(x.Cts,{color:"alert",dotOnly:!0,invisible:!g,children:(0,C.jsx)(x.F_y,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:()=>{oe(!0)},disabled:!ve||!(0,_.F)(fe,[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS])})}),(0,C.jsx)(M.Z,{tooltip:"Reload List",children:(0,C.jsx)(x.zxk,{id:"refresh-objects-list",label:"Refresh",icon:(0,C.jsx)(x.DuK,{}),variant:"regular",onClick:()=>{f?t((0,d.Eq)(!0)):(t((0,d.o_)()),t((0,d.$3)(!0)))},disabled:!q&&(!(0,_.F)(fe,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET])||g)})}),(0,C.jsx)("input",{type:"file",multiple:!0,accept:ze||void 0,onChange:$e,style:{display:"none"},ref:Ee}),(0,C.jsx)("input",{type:"file",multiple:!0,onChange:$e,style:{display:"none"},ref:Oe}),(0,C.jsx)(U,{bucketName:fe,uploadPath:Ge,uploadFileFunction:e=>{Ee&&Ee.current&&Ee.current.click(),e()},uploadFolderFunction:e=>{Oe&&Oe.current&&Oe.current.click(),e()}})]}),bottomBorder:!1})}),(0,C.jsxs)("div",{id:"object-list-wrapper",...et({style:{...ot}}),children:[(0,C.jsx)("input",{...tt()}),(0,C.jsxs)(x.xuv,{withBorders:!0,sx:{display:"flex",borderTop:0,padding:0,"& .hideListOnSmall":{"@media (max-width: 799px)":{display:"none"}}},children:[f?(0,C.jsx)(s.Fragment,{children:null!==O&&(0,C.jsx)(Te,{internalPaths:O,bucketName:fe})}):(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:fe,errorProps:{disabled:!0},children:(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},className:E?"detailsOpen":"",children:[!q&&(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{padding:"12px 14px 5px"},children:(0,C.jsx)(F,{bucketName:fe,internalPaths:we,additionalOptions:!ve||g?null:(0,C.jsx)(x.XZJ,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:()=>{t((0,d.o_)()),t((0,d.mz)(!S)),it(!0)},checked:S,sx:{marginLeft:5,"@media (max-width: 600px)":{marginLeft:0,flexDirection:"row"}}}),hidePathButton:!1})}),(0,C.jsx)(Fe,{})]})}),!q&&(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:fe,errorProps:{disabled:!0},children:(0,C.jsxs)(G,{open:E,closePanel:()=>{it(!1)},className:"".concat(f?"hideListOnSmall":""),children:[Ve.length>0&&(0,C.jsx)(x.Wk,{items:rt,title:"Selected Objects:"}),null!==O&&(0,C.jsx)(me,{internalPaths:O,bucketName:fe,onClosePanel:it,versioningInfo:Z,locking:K})]})})]})]})]})]})};var Ge=n(49535),ze=n(73996),Ze=n(79844),Ke=n(4677),We=n(99670);const He=e=>{let{bucketName:t}=e;const n=(0,l.TL)(),a=(0,o.v9)(Oe.$4),c=(0,o.v9)((e=>e.objectBrowser.versionsMode)),u=(0,o.v9)((e=>e.objectBrowser.versionedFile)),h=(0,o.v9)((e=>e.objectBrowser.searchVersions)),m=!(null===a||void 0===a||!a.includes("object-browser-only")),p=(0,i.s0)(),j=(0,Ge.Z)(t,[r.Ft.S3_GET_BUCKET_POLICY,r.Ft.S3_PUT_BUCKET_POLICY,r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,r.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,r.Ft.S3_DELETE_BUCKET,r.Ft.S3_GET_BUCKET_NOTIFICATIONS,r.Ft.S3_PUT_BUCKET_NOTIFICATIONS,r.Ft.S3_GET_REPLICATION_CONFIGURATION,r.Ft.S3_PUT_REPLICATION_CONFIGURATION,r.Ft.S3_GET_LIFECYCLE_CONFIGURATION,r.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,r.Ft.ADMIN_GET_BUCKET_QUOTA,r.Ft.ADMIN_SET_BUCKET_QUOTA,r.Ft.S3_PUT_BUCKET_TAGGING,r.Ft.S3_GET_BUCKET_TAGGING,r.Ft.S3_LIST_BUCKET_VERSIONS,r.Ft.S3_GET_BUCKET_POLICY_STATUS,r.Ft.S3_DELETE_BUCKET_POLICY,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),b=(0,C.jsx)(s.Fragment,{children:c?(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(Ie.Z,{placeholder:"Start typing to filter versions of ".concat(u),onChange:e=>{n((0,d.Pr)(e))},value:h})}):(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(Ne,{})})});return(0,s.useEffect)((()=>{n((0,T.Sc)("object_browser"))}),[]),(0,C.jsx)(s.Fragment,{children:m?(0,C.jsxs)(x.rjZ,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,C.jsx)(x.rjZ,{children:(0,C.jsx)(ze.Z,{marginRight:30,marginTop:10})}),(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[b,(0,C.jsx)(Ke.Z,{})]})]}):(0,C.jsx)(Ze.Z,{label:(0,C.jsx)(x.hbI,{label:"Object Browser",onClick:()=>{p(r.gA.OBJECT_BROWSER_VIEW)}}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(_.s,{scopes:r.D[r.EI.BUCKET_ADMIN],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(M.Z,{tooltip:j?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+r.EI.BUCKET_ADMIN+" permisions.",children:(0,C.jsx)(x.zxk,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:()=>p("/buckets/".concat(t,"/admin")),icon:(0,C.jsx)(x.ewm,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,C.jsx)(We.Z,{})]}),middleComponent:b})})},Je=()=>{const e=(0,l.TL)(),t=(0,i.UO)(),n=(0,i.TH)(),u=(0,o.v9)((e=>e.objectBrowser.loadingVersioning)),h=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),x=(0,o.v9)((e=>e.objectBrowser.rewind.dateToRewind)),m=(0,o.v9)((e=>e.objectBrowser.showDeleted)),p=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),j=(0,o.v9)((e=>e.objectBrowser.loadingLocking)),b=(0,o.v9)((e=>e.objectBrowser.reloadObjectsList)),g=(0,o.v9)((e=>e.objectBrowser.simplePath)),v=(0,o.v9)((e=>e.system.anonymousMode)),f=(0,o.v9)((e=>e.objectBrowser.selectedBucket)),_=(0,o.v9)((e=>e.objectBrowser.records)),S=t.bucketName||"",T=n.pathname.split("/browser/".concat(S,"/")),w=2===T.length?T[1]:"",y=(0,s.useCallback)((t=>{let n=(new Date).toISOString();null!==x&&h&&(n=x);e({type:"socket/OBRequest",payload:{bucketName:S,path:t,rewindMode:h||m,date:n}})}),[S,m,x,h,e]),E=(0,s.useCallback)((function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const n=(0,c.IO)(w);e((0,d.db)({status:!1}));let s=n;n.endsWith("/")||""===n||(s="".concat(n.split("/").slice(0,-1).join("/"),"/")),"/"===s&&(s=""),(s!==g||S!==f||t)&&(e((0,d.zD)(!0)),y(s))}),[w,e,g,f,S,y]);(0,s.useEffect)((()=>()=>{e({type:"socket/OBCancelLast"})}),[e]),(0,s.useEffect)((()=>{const t=(0,c.IO)(w);e((0,d.IJ)(!0)),t.endsWith("/")||""===t?(e((0,d.vb)(!1)),e((0,d.EE)(null)),e((0,d.Jn)(!0))):(e((0,d.vH)(!0)),e((0,d.vb)(!0)),e((0,d.Eq)(!0)),e((0,d.EE)("".concat(t?"".concat((0,c.LL)(t)):""))))}),[S,w,x,h,e]),(0,s.useEffect)((()=>{E(!1)}),[E]),(0,s.useEffect)((()=>{b&&0===_.length&&!p&&E(!0)}),[b,_,p,E]);const O=(0,Ge.Z)(S,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET])||v;return(0,s.useEffect)((()=>{u&&!v&&(O?a.h.buckets.getBucketVersioning(S).then((t=>{e((0,d.lS)(t.data)),e((0,d.IJ)(!1))})).catch((t=>{console.error("Error Getting Object Versioning Status: ",t.error.detailedMessage),e((0,d.IJ)(!1))})):(e((0,d.IJ)(!1)),e((0,d.o_)())))}),[S,u,e,O,v]),(0,s.useEffect)((()=>{j&&(O?a.h.buckets.getBucketObjectLockingStatus(S).then((t=>{e((0,d.lY)(t.data.object_locking_enabled)),e((0,d.Jn)(!1))})).catch((t=>{console.error("Error Getting Object Locking Status: ",t.error.detailedMessage),e((0,d.Jn)(!1))})):(e((0,d.o_)()),e((0,d.Jn)(!1))))}),[S,j,e,O]),(0,C.jsxs)(s.Fragment,{children:[!v&&(0,C.jsx)(He,{bucketName:S}),(0,C.jsx)(Ue,{})]})}},34433:(e,t,n)=>{n.r(t),n.d(t,{default:()=>b});var s=n(72791),o=n(78687),i=n(29945),a=n(78029),l=n.n(a),r=n(56028),c=n(99779),d=n(80184);const u=e=>{let{id:t,initialDate:n,label:o,maxDays:a,entity:l,onChange:r}=e;const[u,h]=(0,s.useState)(7),[x,m]=(0,s.useState)(0),[p,j]=(0,s.useState)(0),[b,g]=(0,s.useState)(!0),[v,f]=(0,s.useState)(c.ou.now());(0,s.useEffect)((()=>{isNaN(x)||isNaN(u)||isNaN(p)||f(((e,t,n,s)=>c.ou.fromJSDate(e).plus({hours:n+24*t,minutes:s}))(n,u,x,p))}),[n,u,x,p]),(0,s.useEffect)((()=>{if(b){const e=v.toFormat("yyyy-MM-dd HH:mm:ss");r(e.split(" ").join("T"),!0)}else r("0000-00-00",!1)}),[v,r,b]),(0,s.useEffect)((()=>{let e=!0;(u<0||a&&u>a||isNaN(u))&&(e=!1),(x<0||x>23||isNaN(x))&&(e=!1),(p<0||p>59||isNaN(p))&&(e=!1),!a||u!==a||0===x&&0===p||(e=!1),u<=0&&x<=0&&p<=0&&(e=!1),g(e)}),[v,a,r,u,x,p]);const _={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,d.jsxs)(i.xuv,{className:"inputItem",children:[(0,d.jsx)(i.xuv,{sx:{display:"flex",alignItems:"center",marginBottom:5},children:(0,d.jsx)(i.AZs,{htmlFor:t,children:o})}),(0,d.jsxs)(i.xuv,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-evenly",gap:10,"& .reverseInput":{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}}},children:[(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:a?a.toString():"999",label:"Days",name:t,onChange:e=>{h(parseInt(e.target.value))},value:u.toString(),sx:_,noLabelMinWidth:!0})}),(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:e=>{m(parseInt(e.target.value))},value:x.toString(),sx:_,noLabelMinWidth:!0})}),(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:e=>{j(parseInt(e.target.value))},value:p.toString(),sx:_,noLabelMinWidth:!0})})]}),(0,d.jsx)(i.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10,marginBottom:15,"& .validityText":{fontSize:14,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"},"& > .min-icon":{color:"#5E5E5E",width:15,height:15,marginRight:10}},"& .validTill":{fontWeight:"bold",marginLeft:15},"& .invalidDurationText":{marginTop:15,display:"flex",color:"red",fontSize:11}},children:b?(0,d.jsxs)("div",{className:"validityText",children:[(0,d.jsx)(i.xPt,{}),(0,d.jsxs)("div",{children:[l," will be available until:"]})," ",(0,d.jsx)("div",{className:"validTill",children:v.toFormat("MM/dd/yyyy HH:mm:ss ZZZZ")})]}):(0,d.jsx)("div",{className:"invalidDurationText",children:"Please select a valid duration."})})]})};var h=n(45248),x=n(87995),m=n(44690),p=n(31776),j=n(82342);const b=e=>{let{open:t,closeModalAndRefresh:n,bucketName:a,dataObject:c}=e;const b=(0,m.TL)(),g=(0,o.v9)(x.N5),[v,f]=(0,s.useState)(""),[_,S]=(0,s.useState)(!0),[T,w]=(0,s.useState)(!1),[y,C]=(0,s.useState)(""),[E,O]=(0,s.useState)(!0),[F,I]=(0,s.useState)("null"),N=new Date;return(0,s.useEffect)((()=>{if(void 0===c.version_id)return g?(p.h.buckets.listObjects(a,{prefix:(0,h.LL)(c.name||""),with_versions:g}).then((e=>{const t=(e.data.objects||[]).find((e=>e.is_latest));I(t?"".concat(t.version_id):"null")})).catch((e=>{b((0,x.zb)((0,j.g)(e.error)))})),void S(!1)):(I("null"),void S(!1));I(c.version_id||"null"),S(!1)}),[a,c,g,b]),(0,s.useEffect)((()=>{if(E&&!_){w(!0),f("");const e=new Date("".concat(y)),t=new Date,n=Math.ceil((e.getTime()-t.getTime())/1e3);n>0&&p.h.buckets.shareObject(a,{prefix:(0,h.LL)(c.name||""),version_id:F,expires:""!==y?"".concat(n,"s"):""}).then((e=>{f(e.data),w(!1)})).catch((e=>{b((0,x.zb)((0,j.g)(e.error))),f(""),w(!1)}))}}),[c,y,a,E,f,b,g,_,F]),(0,d.jsx)(s.Fragment,{children:(0,d.jsxs)(r.Z,{title:"Share File",titleIcon:(0,d.jsx)(i.aAc,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:()=>{n()},children:[_&&(0,d.jsx)(i.rjZ,{item:!0,xs:12,children:(0,d.jsx)(i.kod,{})}),!_&&(0,d.jsxs)(s.Fragment,{children:[(0,d.jsxs)(i.rjZ,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,d.jsx)("br",{}),(0,d.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,d.jsx)("br",{}),(0,d.jsx)(i.rjZ,{item:!0,xs:12,children:(0,d.jsx)(u,{initialDate:N,id:"date",label:"Active for",maxDays:7,onChange:(e,t)=>{O(t),t?C(e):(C(""),f(""))},entity:"Link"})}),(0,d.jsx)(i.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,d.jsx)(i.bSr,{actionButton:(0,d.jsx)(l(),{text:v,children:(0,d.jsx)(i.zxk,{id:"copy-path",variant:"regular",onClick:()=>{b((0,x.MK)("Share URL Copied to clipboard"))},disabled:""===v||T,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,d.jsx)(i.TIy,{})})}),children:v})})]})]})})}},78562:(e,t,n)=>{n.r(t),n.d(t,{default:()=>x});var s=n(72791),o=n(56028),i=n(29945),a=n(26181),l=n.n(a),r=n(47922),c=n(45248),d=n(31776),u=n(80184);const h=e=>{let{bucketName:t,object:n,isFullscreen:o=!1}=e;const[a,h]=(0,s.useState)(!0),[x,m]=(0,s.useState)(null),[p,j]=(0,s.useState)(!1),b=(null===n||void 0===n?void 0:n.name)||"",g=(0,s.useCallback)((()=>{if(!p){const e=(0,c.LL)(b);d.h.buckets.getObjectMetadata(t,{prefix:e}).then((e=>{let t=l()(e.data,"objectMetadata",{});j(!0),m(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),j(!0)}))}}),[t,b,p]);(0,s.useEffect)((()=>{t&&b&&g()}),[t,b,g]);let v="";if(n){const e=(0,c.LL)(n.name);let s=document.baseURI.replace(window.location.origin,"");v="".concat(window.location.origin).concat(s,"api/v1/buckets/").concat(t,"/objects/download?preview=true&prefix=").concat(e),n.version_id&&(v=v.concat("&version_id=".concat(n.version_id)))}let f=(0,r.s7)(x,b);const _=()=>{h(!1)};return(0,u.jsxs)(s.Fragment,{children:["none"!==f&&a&&(0,u.jsx)(i.rjZ,{item:!0,xs:12,children:(0,u.jsx)(i.kod,{})}),p?(0,u.jsxs)(i.xuv,{sx:{textAlign:"center","& .iframeContainer":{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.text":{height:700},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},"& .iframeBase":{backgroundColor:"#fff"},"& .iframeHidden":{display:"none"}},children:["video"===f&&(0,u.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,u.jsx)("source",{src:v,type:"video/mp4"})}),"audio"===f&&(0,u.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,u.jsx)("source",{src:v,type:"audio/mpeg"})}),"image"===f&&(0,u.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:v,alt:"preview",onLoad:_}),"none"===f&&(0,u.jsx)("div",{children:(0,u.jsx)(i.J6i,{variant:"error",message:" File couldn't be previewed using file extension or mime type. Please try Download instead",title:"Preview unavailable",sx:{margin:"15px 0"}})}),"none"!==f&&"video"!==f&&"audio"!==f&&"image"!==f&&(0,u.jsx)("div",{className:"iframeBase ".concat(a?"iframeHidden":""),children:(0,u.jsx)("iframe",{src:v,title:"File Preview",allowTransparency:!0,className:"iframeContainer ".concat(o?"fullHeight":f),onLoad:_,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})},x=e=>{let{open:t,bucketName:n,object:a,onClosePreview:l}=e;return(0,u.jsx)(s.Fragment,{children:(0,u.jsx)(o.Z,{modalOpen:t,title:"Preview - ".concat(null===a||void 0===a?void 0:a.name),onClose:l,wideLimit:!1,titleIcon:(0,u.jsx)(i.$30,{}),children:(0,u.jsx)(h,{bucketName:n,object:a})})})}},75578:(e,t,n)=>{n.d(t,{Z:()=>i});var s=n(72791),o=n(80184);const i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,o.jsx)(s.Suspense,{fallback:t,children:(0,o.jsx)(e,{...n})})}}},73669:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(72791),o=n(29945),i=n(80184);const a=e=>{let{value:t}=e;const[n,a]=(0,s.useState)(!1);return(0,i.jsxs)(o.xuv,{sx:{display:"flex",alignItems:"center",flexFlow:"row",["@media (max-width: ".concat(o.Egj.sm,"px)")]:{flexFlow:"column"}},children:[(0,i.jsx)(o.Wzg,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:n?"text":"password",onChange:()=>{},value:t,overlayIcon:(0,i.jsx)(o.TIy,{}),readOnly:!0,overlayAction:()=>navigator.clipboard.writeText(t)}),(0,i.jsx)(o.zxk,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:()=>a(!n),label:"Show/Hide"})]})}}}]); +//# sourceMappingURL=2603.9e6bcd08.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2603.dca1b3d2.chunk.js.map b/portal-ui/build/static/js/2603.9e6bcd08.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/2603.dca1b3d2.chunk.js.map rename to portal-ui/build/static/js/2603.9e6bcd08.chunk.js.map index 5b410f9ff4..39bcc0810f 100644 --- a/portal-ui/build/static/js/2603.dca1b3d2.chunk.js.map +++ b/portal-ui/build/static/js/2603.9e6bcd08.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2603.dca1b3d2.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Buckets/ListBuckets/UploadPermissionUtils.ts","screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","utils/validationFunctions.ts","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/ObjectBrowser/utils.ts","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsTable.tsx","screens/Console/ObjectBrowser/FilterObjectsSB.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/ObjectBrowser/OBHeader.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState, Fragment } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport {\n AddAccessRuleIcon,\n Button,\n FormLayout,\n Grid,\n InputBox,\n Select,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IAddAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n prefilledRoute?: string;\n}\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n bucket,\n prefilledRoute,\n}: IAddAccessRule) => {\n const dispatch = useAppDispatch();\n\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n useEffect(() => {\n if (prefilledRoute) {\n setPrefix(prefilledRoute);\n }\n }, [prefilledRoute]);\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api.bucket\n .setAccessRuleWithBucket(bucket, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n dispatch(setSnackBarMessage(\"Access Rule added successfully\"));\n onClose();\n })\n .catch((res) => {\n dispatch(setErrorSnackMessage(errorToHandler(res.error)));\n onClose();\n });\n };\n\n return (\n }\n >\n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n {\n setSelectedAccess(value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n helpTip={\n \n Select the desired level of access available to unauthenticated\n Users\n \n }\n helpTipPlacement=\"right\"\n />\n \n \n\n \n \n \n \n );\n};\n\nexport default AddAccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const extractFileExtn = (resourceStr: string) => {\n //file extensions may contain query string. so exclude query strings !\n return (resourceStr.match(/\\.([^.]*?)(?=\\?|#|$)/) || [])[1];\n};\nexport const getPolicyAllowedFileExtensions = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n scopes,\n );\n\n //get acceptable files if any in the policy.\n const allowedFileExtensions = sessionGrantWildCards.reduce(\n (acc: string[], cv: string) => {\n const extension: string = extractFileExtn(cv);\n if (extension) {\n acc.push(`.${extension}`); //strict extension matching.\n }\n return acc;\n },\n [],\n );\n\n const uniqueExtensions = [...new Set(allowedFileExtensions)];\n return uniqueExtensions.join(\",\");\n};\n\n// The resource should not have the extensions (*.ext) for the hasPermission to work.\n// so sanitize this and also use to extract the allowed extensions outside of permission check.\nexport const getSessionGrantsWildCard = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n //get only the path matching grants to reduce processing.\n const grantsWithExtension = Object.keys(sessionGrants).reduce(\n (acc: Record, grantKey: string) => {\n if (extractFileExtn(grantKey) && grantKey.includes(uploadPath)) {\n acc[grantKey] = sessionGrants[grantKey];\n }\n return acc;\n },\n {},\n );\n\n const checkPathsForPermission = (sessionGrantKey: string) => {\n const grantActions = grantsWithExtension[sessionGrantKey];\n const hasScope = grantActions.some((actionKey) =>\n scopes.find((scopeKey) => {\n let wildCardMatch = false;\n const hasWildCard = scopeKey.indexOf(\"*\") !== -1;\n if (hasWildCard) {\n const scopeActionKey = scopeKey.substring(0, scopeKey.length - 1);\n\n wildCardMatch = actionKey.includes(scopeActionKey);\n }\n\n return wildCardMatch || actionKey === scopeKey;\n }),\n );\n\n const sessionGrantKeyPath = sessionGrantKey.substring(\n 0,\n sessionGrantKey.indexOf(\"/*.\"), //start of extension part.\n );\n const isUploadPathMatching =\n sessionGrantKeyPath === `arn:aws:s3:::${uploadPath}`;\n\n const hasGrant =\n isUploadPathMatching && sessionGrantKey !== \"arn:aws:s3:::*\";\n\n return hasScope && hasGrant;\n };\n\n return Object.keys(grantsWithExtension).filter(checkPathsForPermission);\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport styled from \"styled-components\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { encodeURLString, safeDecodeURIComponent } from \"../../../common/utils\";\nimport {\n Button,\n CopyIcon,\n NewPathIcon,\n Tooltip,\n Breadcrumbs,\n breakPoints,\n Box,\n} from \"mds\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { getSessionGrantsWildCard } from \"../Buckets/ListBuckets/UploadPermissionUtils\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\"),\n ),\n);\n\nconst BreadcrumbsMain = styled.div(() => ({\n display: \"flex\",\n \"& .additionalOptions\": {\n paddingRight: \"10px\",\n display: \"flex\",\n alignItems: \"center\",\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"none\",\n },\n },\n \"& .slashSpacingStyle\": {\n margin: \"0 5px\",\n },\n}));\n\ninterface IObjectBrowser {\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n bucketName,\n internalPaths,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [canCreateSubpath, setCanCreateSubpath] = useState(false);\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n const pathToCheckPerms = bucketName + paths || bucketName;\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathToCheckPerms,\n putObjectPermScopes,\n );\n\n useEffect(() => {\n setCanCreateSubpath(false);\n Object.keys(sessionGrants).forEach((grant) => {\n grant.includes(pathToCheckPerms) &&\n grant.includes(\"/*\") &&\n setCanCreateSubpath(true);\n });\n }, [pathToCheckPerms, internalPaths, sessionGrants]);\n\n const canCreatePath =\n hasPermission(\n [pathToCheckPerms, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) ||\n anonymousMode ||\n canCreateSubpath;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/browser/${bucketName}/${\n subSplit ? `${encodeURLString(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n \n {safeDecodeURIComponent(objectItem) /*Only for display*/}\n \n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" }),\n );\n }}\n >\n {\n safeDecodeURIComponent(\n objectItem,\n ) /*Only for display to preserve */\n }\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n \n /\n {versionedFile} - Versions\n \n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n } else {\n if (splitPaths.length === 0) {\n navigate(\"/browser\");\n\n return;\n }\n\n const prevPath = splitPaths.slice(0, -1);\n\n navigate(\n `/browser/${bucketName}${\n prevPath.length > 0\n ? `/${encodeURLString(`${prevPath.join(\"/\")}/`)}`\n : \"\"\n }`,\n );\n }\n };\n\n return (\n \n \n {createFolderOpen && (\n \n )}\n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n dispatch(setSnackBarMessage(\"Path copied to clipboard\"));\n }}\n style={{\n width: \"28px\",\n height: \"28px\",\n color: \"#969FA8\",\n border: \"#969FA8 1px solid\",\n marginRight: 5,\n }}\n />\n \n {additionalOptions}\n \n }\n >\n {listBreadcrumbs}\n \n {!hidePathButton && (\n \n {\n setCreateFolderOpen(true);\n }}\n disabled={anonymousMode ? false : rewindEnabled || !canCreatePath}\n icon={}\n style={{\n whiteSpace: \"nowrap\",\n }}\n variant={\"regular\"}\n label={\"Create new path\"}\n />\n \n )}\n \n div\": {\n fontSize: 12,\n fontWeight: \"normal\",\n flexDirection: \"row\",\n flexWrap: \"nowrap\",\n },\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"flex\",\n },\n }}\n >\n {additionalOptions}\n \n \n );\n};\n\nexport default BrowserBreadcrumbs;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const isVersionedMode = (status: string | undefined) => {\n return status === \"Enabled\" || status === \"Suspended\";\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport {\n download,\n downloadSelectedAsZip,\n} from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\n\nexport const downloadSelected = createAsyncThunk(\n \"objectBrowser/downloadSelected\",\n async (bucketName: string, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const downloadObject = (object: BucketObjectItem) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n encodeURLString(object.name),\n object.version_id,\n object.size,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n };\n\n if (state.objectBrowser.selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n itemsToDownload = state.objectBrowser.records.filter(filterFunction);\n\n // In case just one element is selected, then we trigger download modal validation.\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n dispatch(setDownloadRenameModal(itemsToDownload[0]));\n return;\n } else {\n downloadObject(itemsToDownload[0]);\n }\n } else {\n if (itemsToDownload.length === 1) {\n downloadObject(itemsToDownload[0]);\n } else if (itemsToDownload.length > 1) {\n const fileName = `${DateTime.now().toFormat(\n \"LL-dd-yyyy-HH-mm-ss\",\n )}_files_list.zip`;\n\n // We are enforcing zip download when multiple files are selected for better user experience\n const multiObjList = itemsToDownload.reduce((dwList: any[], bi) => {\n // Download objects/prefixes(recursively) as zip\n // Skip any deleted files selected via \"Show deleted objects\" in selection and log for debugging\n const isDeleted = bi?.delete_flag;\n if (bi && !isDeleted) {\n dwList.push(bi.name);\n } else {\n console.log(`Skipping ${bi?.name} from download.`);\n }\n return dwList;\n }, []);\n\n await downloadSelectedAsZip(bucketName, multiObjList, fileName);\n return;\n }\n }\n }\n },\n);\n\nexport const openPreview = createAsyncThunk(\n \"objectBrowser/openPreview\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setPreviewOpen(true));\n }\n }\n },\n);\n\nexport const openShare = createAsyncThunk(\n \"objectBrowser/openShare\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setShareFileModalOpen(true));\n }\n }\n },\n);\n\nexport const openAnonymousAccess = createAsyncThunk(\n \"objectBrowser/openAnonymousAccess\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n if (\n state.objectBrowser.selectedObjects.length === 1 &&\n state.objectBrowser.selectedObjects[0].endsWith(\"/\")\n ) {\n dispatch(setAnonymousAccessOpen(true));\n }\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { CSSObject } from \"styled-components\";\nimport { Button, DropdownSelector, UploadFolderIcon, UploadIcon } from \"mds\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\nimport { getSessionGrantsWildCard } from \"./UploadPermissionUtils\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n overrideStyles?: CSSObject;\n}\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n overrideStyles = {},\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [uploadOptionsOpen, uploadOptionsSetOpen] = useState(false);\n\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n putObjectPermScopes,\n );\n\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n uploadOptionsSetOpen(!uploadOptionsOpen);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed =\n hasPermission(\n [uploadPath, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const uploadFolderAllowed = hasPermission(\n [bucketName, ...sessionGrantWildCards],\n putObjectPermScopes,\n false,\n true,\n );\n\n const uploadFolderAction = (action: string) => {\n if (action === \"folder\") {\n uploadFolderFunction(handleCloseUpload);\n return;\n }\n\n uploadFileFunction(handleCloseUpload);\n };\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n sx={overrideStyles}\n />\n \n ,\n value: \"file\",\n disabled: !uploadObjectAllowed || forceDisable,\n },\n {\n label: \"Upload Folder\",\n icon: ,\n value: \"folder\",\n disabled: !uploadFolderAllowed || forceDisable,\n },\n ]}\n selectedOption={\"\"}\n onSelect={(nValue) => uploadFolderAction(nValue)}\n hideTriggerAction={() => {\n uploadOptionsSetOpen(false);\n }}\n open={uploadOptionsOpen}\n anchorEl={anchorEl}\n anchorOrigin={\"end\"}\n useAnchorWidth={false}\n />\n \n );\n};\n\nexport default UploadFilesButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Button, ClosePanelIcon } from \"mds\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n return (\n \n }\n sx={{\n position: \"absolute\",\n right: 5,\n top: 18,\n padding: 0,\n height: 14,\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"transparent\",\n },\n }}\n />\n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLongFileOpen,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { AppDispatch } from \"../../../store\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { BucketObject } from \"api/consoleApi\";\n\nexport const downloadObject = (\n dispatch: AppDispatch,\n bucketName: string,\n internalPaths: string,\n object: BucketObject,\n) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const isWinOs = getClientOS().toLowerCase().includes(\"win\");\n\n if ((object.name?.length || 0) > 200 && isWinOs) {\n dispatch(setLongFileOpen(true));\n return;\n }\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n object.size || 0,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name || \"\",\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This object contains variables that will be used across form components.\n\nimport React from \"react\";\nimport { Box } from \"mds\";\nimport { replaceUnicodeChar } from \"../../../../../../common/utils\";\n\ninterface IIconWithLabel {\n icon: React.ReactNode;\n strings: string[];\n}\n\nconst IconWithLabel = ({ icon, strings }: IIconWithLabel) => {\n return (\n \n {icon}\n \n {replaceUnicodeChar(strings[strings.length - 1])}\n \n \n );\n};\n\nexport default IconWithLabel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport {\n FileBookIcon,\n FileCodeIcon,\n FileConfigIcon,\n FileDbIcon,\n FileFontIcon,\n FileImageIcon,\n FileLockIcon,\n FileMissingIcon,\n FileMusicIcon,\n FileNonType,\n FilePdfIcon,\n FilePptIcon,\n FileTxtIcon,\n FileVideoIcon,\n FileXlsIcon,\n FileZipIcon,\n FolderBrowserIcon,\n} from \"mds\";\nimport IconWithLabel from \"./IconWithLabel\";\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"doc\", \"docx\", \"txt\", \"rtf\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false,\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.slice(0, -1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box } from \"mds\";\nimport { safeDecodeURIComponent } from \"../../../../../../common/utils\";\n\ninterface IObjectMetadata {\n metaData: any;\n}\n\nconst itemRendererFn = (element: any) => {\n return Array.isArray(element)\n ? element.map(safeDecodeURIComponent).join(\", \")\n : safeDecodeURIComponent(element);\n};\n\nconst ObjectMetaData = ({ metaData }: IObjectMetadata) => {\n const metaKeys = Object.keys(metaData);\n\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = itemRendererFn(metaData[element]);\n return (\n \n {element}\n
\n {renderItem}\n \n );\n })}\n
\n );\n};\n\nexport default ObjectMetaData;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => ({\n value: (num + 1).toString(),\n label: (num + 1).toString(),\n}));\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(Array(50), (_, numYear) => ({\n value: (numYear + currentYear).toString(),\n label: (numYear + currentYear).toString(),\n}));\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport { Box, HelpIcon, InputLabel, Select, Tooltip } from \"mds\";\nimport { days, months, validDate, years } from \"./utils\";\n\ninterface IDateSelectorProps {\n id: string;\n label: string;\n disableOptions?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n id,\n label,\n disableOptions = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any,\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else {\n return false;\n }\n };\n\n const monthForDropDown = [{ value: \"\", label: \"\" }, ...months];\n const daysForDrop = [{ value: \"\", label: \"\" }, ...days];\n const yearsForDrop = [{ value: \"\", label: \"\" }, ...years];\n\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n \n \n \n \n \n \n \n )}\n \n \n \n {\n setMonth(newValue);\n }}\n options={monthForDropDown}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setDay(newValue);\n }}\n options={daysForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setYear(newValue);\n }}\n options={yearsForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n sx={{\n marginBottom: 12,\n }}\n />\n \n \n );\n },\n);\n\nexport default DateSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Box, Button, FormLayout, Grid, RadioGroup, Switch } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { BucketObject, ObjectRetentionMode } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: BucketObject;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(retentionConfig?.mode || ObjectRetentionMode.Governance);\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo, retentionConfig?.mode]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(ObjectRetentionMode.Governance);\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string,\n ) => {\n api.buckets\n .putObjectRetention(\n bucketName,\n {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n },\n {\n expires: expireDate,\n mode: type as ObjectRetentionMode,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null,\n ) => {\n api.buckets\n .deleteObjectRetention(bucketName, {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n })\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name || \"\";\n const versionId = objectInfo.version_id || null;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n ) => {\n onSubmit(e);\n }}\n >\n \n \n Selected Object: {objectName}\n \n {showSwitcher && (\n ) => {\n setStatusEnabled(!statusEnabled);\n }}\n label={\"Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n )}\n {\n setType(e.target.value as ObjectRetentionMode);\n }}\n selectorOptions={[\n { label: \"Governance\", value: ObjectRetentionMode.Governance },\n { label: \"Compliance\", value: ObjectRetentionMode.Compliance },\n ]}\n />\n {\n setIsDateValid(isValid);\n if (isValid) {\n setDate(date);\n }\n }}\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default SetRetention;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioningInfo: BucketVersioningResponse | undefined;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n versioningInfo,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n\n // We close the modal box on access denied.\n if (err.detailedError === \"Access Denied.\") {\n closeDeleteModalAndRefresh(true);\n }\n };\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?prefix=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }${bypassGovernance ? \"&bypass=true\" : \"\"}`,\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete:
\n {decodeURLString(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n
\n
\n Version ID:\n
\n {selectedVersion}\n
\n ) : (\n \"\"\n )}\n ?
\n
\n {isVersionedMode(versioningInfo?.status) &&\n selectedVersion === \"\" && (\n \n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n \n )}\n {canBypass && (deleteVersions || selectedVersion !== \"\") && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n {deleteVersions && (\n \n \n This will remove the object as well as all of its versions,{\" \"}\n
\n This action is irreversible.\n \n
\n Are you sure you want to continue?\n
\n )}\n
\n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Box, Button, FormLayout, Grid, Switch } from \"mds\";\nimport { BucketObject, ObjectLegalHoldStatus } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: BucketObject;\n}\n\nconst SetLegalHoldModal = ({\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api.buckets\n .putObjectLegalHold(\n bucketName,\n {\n prefix: encodeURLString(objectName),\n version_id: versionId || \"\",\n },\n {\n status: legalHoldEnabled\n ? ObjectLegalHoldStatus.Enabled\n : ObjectLegalHoldStatus.Disabled,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n ) => {\n onSubmit(e);\n }}\n >\n \n \n Object: {bucketName}\n \n ) => {\n setLegalHoldEnabled(!legalHoldEnabled);\n }}\n label={\"Legal Hold Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n tooltip={\n \"To enable this feature you need to enable versioning on the bucket before creation\"\n }\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default SetLegalHoldModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport {\n AddNewTagIcon,\n Button,\n DisabledIcon,\n EditTagIcon,\n InputBox,\n SectionTitle,\n Box,\n Grid,\n Tag,\n FormLayout,\n} from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { useSelector } from \"react-redux\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst DeleteTag = styled.b(({ theme }) => ({\n color: get(theme, \"signalColors.danger\", \"#C83B51\"),\n marginLeft: 5,\n}));\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n actualInfo,\n}: ITagModal) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const selectedObject = encodeURLString(actualInfo.name || \"\");\n\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name?.split(\"/\");\n const currentItem = allPathData?.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: newTagList },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: cleanObject },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n const tagsFor = (plural: boolean) => (\n \n Tag{plural ? \"s\" : \"\"} for: {currentItem}\n \n );\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n iconColor={deleteEnabled ? \"delete\" : \"default\"}\n titleIcon={deleteEnabled ? : }\n >\n {deleteEnabled ? (\n \n \n {tagsFor(false)}\n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n ?\n \n \n \n \n \n \n ) : (\n \n \n \n {tagsFor(true)}\n \n Current Tags:\n
\n {currTagKeys.length === 0 ? (\n \n There are no tags for this object\n \n ) : (\n \n )}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n
\n \n \n \n \n } separator={false}>\n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n \n )}\n \n
\n );\n};\n\nexport default AddTagModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport {\n Button,\n InspectMenuIcon,\n PasswordKeyIcon,\n Switch,\n Grid,\n Box,\n} from \"mds\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IInspectObjectProps {\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n}: IInspectObjectProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURLString(inspectPath + \"/xl.meta\");\n const volume = encodeURLString(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n dispatch(\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n }),\n );\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n ) => {\n onSubmit(e);\n }}\n >\n Would you like to encrypt {decodeURLString(inspectPath)}?{\" \"}\n
\n {\n setIsEncrypt(!isEncrypt);\n }}\n description=\"\"\n />\n \n \n \n \n \n )}\n {decryptionKey ? (\n }\n >\n \n This will be displayed only once. It cannot be recovered.\n
\n Use secure medium to share this key.\n
\n \n \n \n \n ) : null}\n
\n );\n};\n\nexport default InspectObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, EditIcon, FormLayout, Grid, InputBox, Switch } from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { useAppDispatch } from \"../../../store\";\nimport { downloadObject } from \"./utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: BucketObject;\n closeModal: () => void;\n}\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const dispatch = useAppDispatch();\n\n const [newFileName, setNewFileName] = useState(currentItem);\n const [acceptLongName, setAcceptLongName] = useState(false);\n\n const doDownload = (e: React.FormEvent) => {\n e.preventDefault();\n downloadObject(dispatch, bucketName, internalPaths, actualInfo);\n closeModal();\n };\n\n return (\n }\n >\n
\n The file you are trying to download has a long name.\n
\n This can cause issues on Windows Systems by trimming the file name after\n download.\n
\n
We recommend to rename the file download\n
\n ) => {\n doDownload(e);\n }}\n >\n \n ) => {\n setNewFileName(event.target.value);\n }}\n label=\"\"\n type={\"text\"}\n value={newFileName}\n error={\n newFileName.length > 200 && !acceptLongName\n ? \"Filename should be less than 200 characters long.\"\n : \"\"\n }\n />\n ) => {\n setAcceptLongName(event.target.checked);\n if (event.target.checked) {\n setNewFileName(currentItem);\n }\n }}\n label={\"Use Original Name\"}\n />\n \n 200 && !acceptLongName}\n label={\"Download File\"}\n />\n \n \n \n \n );\n};\n\nexport default RenameLongFileName;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n ActionsList,\n Box,\n Button,\n DeleteIcon,\n DownloadIcon,\n Grid,\n InspectMenuIcon,\n LegalHoldIcon,\n Loader,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n SimpleHeader,\n TagsIcon,\n VersionsIcon,\n} from \"mds\";\nimport { api } from \"api\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject, BucketVersioningResponse } from \"api/consoleApi\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport {\n decodeURLString,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n setVersionsModeEnabled,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { displayFileIconName } from \"./utils\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst emptyFile: BucketObject = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: 0,\n tags: {},\n version_id: undefined,\n};\n\ninterface IObjectDetailPanelProps {\n internalPaths: string;\n bucketName: string;\n versioningInfo: BucketVersioningResponse;\n locking: boolean | undefined;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n internalPaths,\n bucketName,\n versioningInfo,\n locking,\n onClosePanel,\n}: IObjectDetailPanelProps) => {\n const dispatch = useAppDispatch();\n\n const distributedSetup = useSelector(selDistSet);\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion,\n );\n const loadingObjectInfo = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjectInfo,\n );\n\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n const [longFileOpen, setLongFileOpen] = useState(false);\n const [metaData, setMetaData] = useState(null);\n const [loadMetadata, setLoadingMetadata] = useState(false);\n\n const internalPathsDecoded = decodeURLString(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: BucketObject) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: BucketObject) => el.version_id === selectedVersion,\n ) || emptyFile;\n }\n\n if (!infoElement.is_delete_marker) {\n setLoadingMetadata(true);\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n\n const tVersionSize = result.reduce(\n (acc: number, currValue: BucketObject): number => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0,\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n const resInfo = result[0];\n\n setActualInfo(resInfo);\n setVersions([]);\n\n if (!resInfo.is_delete_marker) {\n setLoadingMetadata(true);\n }\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((err) => {\n console.error(\"Error loading object details\", err.error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n useEffect(() => {\n if (loadMetadata && internalPaths !== \"\") {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: internalPaths,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n\n setMetaData(metadata);\n setLoadingMetadata(false);\n })\n .catch((err) => {\n console.error(\"Error Getting Metadata Status: \", err.detailedError);\n setLoadingMetadata(false);\n });\n }\n }, [bucketName, internalPaths, loadMetadata]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const closeFileOpen = () => {\n setLongFileOpen(false);\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const loaderForContainer = (\n
\n \n
\n );\n\n if (!actualInfo) {\n if (loadingObjectInfo) {\n return loaderForContainer;\n }\n\n return null;\n }\n\n const objectName =\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name;\n\n const objectResources = [\n bucketName,\n currentItem,\n [bucketName, actualInfo.name].join(\"/\"),\n ];\n const canSetLegalHold = hasPermission(bucketName, [\n IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n const canSetTags = hasPermission(objectResources, [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const canChangeRetention = hasPermission(\n objectResources,\n [\n IAM_SCOPES.S3_GET_OBJECT_RETENTION,\n IAM_SCOPES.S3_PUT_OBJECT_RETENTION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\n true,\n );\n const canInspect = hasPermission(objectResources, [\n IAM_SCOPES.ADMIN_INSPECT_DATA,\n ]);\n const canChangeVersioning = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_OBJECT_VERSION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n const canGetObject = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_GET_ACTIONS,\n ]);\n const canDelete = hasPermission(\n [bucketName, currentItem, [bucketName, actualInfo.name].join(\"/\")],\n [IAM_SCOPES.S3_DELETE_OBJECT],\n );\n\n let objectType: AllowedPreviews = previewObjectType(metaData, currentItem);\n\n const multiActionButtons = [\n {\n action: () => {\n downloadObject(dispatch, bucketName, internalPaths, actualInfo);\n },\n label: \"Download\",\n disabled: !!actualInfo.is_delete_marker || !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Download this Object\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"download this object\",\n ),\n },\n {\n action: () => {\n shareObject();\n },\n label: \"Share\",\n disabled: !!actualInfo.is_delete_marker || !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Share this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"share this object\",\n ),\n },\n {\n action: () => {\n setPreviewOpen(true);\n },\n label: \"Preview\",\n disabled:\n !!actualInfo.is_delete_marker ||\n (objectType === \"none\" && !canGetObject),\n icon: ,\n tooltip: canGetObject\n ? \"Preview this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"preview this object\",\n ),\n },\n {\n action: () => {\n setLegalholdOpen(true);\n },\n label: \"Legal Hold\",\n disabled:\n !locking ||\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n !canSetLegalHold ||\n selectedVersion !== \"\",\n icon: ,\n tooltip: canSetLegalHold\n ? locking\n ? \"Change Legal Hold rules for this File\"\n : \"Object Locking must be enabled on this bucket in order to set Legal Hold\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD, IAM_SCOPES.S3_PUT_ACTIONS],\n \"change legal hold settings for this object\",\n ),\n },\n {\n action: openRetentionModal,\n label: \"Retention\",\n disabled:\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n !canChangeRetention ||\n selectedVersion !== \"\" ||\n !locking,\n icon: ,\n tooltip: canChangeRetention\n ? locking\n ? \"Change Retention rules for this File\"\n : \"Object Locking must be enabled on this bucket in order to set Retention Rules\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_GET_OBJECT_RETENTION,\n IAM_SCOPES.S3_PUT_OBJECT_RETENTION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\n \"change Retention Rules for this object\",\n ),\n },\n {\n action: () => {\n setTagModalOpen(true);\n },\n label: \"Tags\",\n disabled:\n !!actualInfo.is_delete_marker || selectedVersion !== \"\" || !canSetTags,\n icon: ,\n tooltip: canSetTags\n ? \"Change Tags for this File\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n IAM_SCOPES.S3_GET_OBJECT_TAGGING,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\n \"set Tags on this object\",\n ),\n },\n {\n action: () => {\n setInspectModalOpen(true);\n },\n label: \"Inspect\",\n disabled:\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n selectedVersion !== \"\" ||\n !canInspect,\n icon: ,\n tooltip: canInspect\n ? \"Inspect this file\"\n : permissionTooltipHelper(\n [IAM_SCOPES.ADMIN_INSPECT_DATA],\n \"inspect this file\",\n ),\n },\n {\n action: () => {\n dispatch(\n setVersionsModeEnabled({\n status: !versionsMode,\n objectName: objectName,\n }),\n );\n },\n label: versionsMode ? \"Hide Object Versions\" : \"Display Object Versions\",\n icon: ,\n disabled:\n !distributedSetup ||\n !(actualInfo.version_id && actualInfo.version_id !== \"null\") ||\n !canChangeVersioning,\n tooltip: canChangeVersioning\n ? actualInfo.version_id && actualInfo.version_id !== \"null\"\n ? \"Display Versions for this file\"\n : \"\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_OBJECT_VERSION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\n \"display all versions of this object\",\n ),\n },\n ];\n\n const calculateLastModifyTime = (lastModified: string) => {\n const currentTime = new Date();\n const modifiedTime = new Date(lastModified);\n\n const difTime = currentTime.getTime() - modifiedTime.getTime();\n\n const formatTime = niceDaysInt(difTime, \"ms\");\n\n return formatTime.trim() !== \"\" ? `${formatTime} ago` : \"Just now\";\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {inspectModalOpen && actualInfo && (\n \n )}\n {longFileOpen && actualInfo && (\n \n )}\n\n {loadingObjectInfo ? (\n {loaderForContainer}\n ) : (\n \n \n {displayFileIconName(objectName || \"\", true)}\n {objectName}\n \n }\n items={multiActionButtons}\n />\n \n \n \n }\n iconLocation={\"start\"}\n fullWidth\n variant={\"secondary\"}\n onClick={() => {\n setDeleteOpen(true);\n }}\n disabled={\n selectedVersion === \"\" && actualInfo.is_delete_marker\n }\n sx={{\n width: \"calc(100% - 44px)\",\n margin: \"8px 0\",\n }}\n label={`Delete${selectedVersion !== \"\" ? \" version\" : \"\"}`}\n />\n \n \n \n } label={\"Object Info\"} />\n \n Name:\n
\n
{objectName}
\n
\n {selectedVersion !== \"\" && (\n \n Version ID:\n
\n {selectedVersion}\n
\n )}\n \n Size:\n
\n {niceBytes(`${actualInfo.size || \"0\"}`)}\n
\n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n
\n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n
\n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n
\n {calculateLastModifyTime(actualInfo.last_modified || \"\")}\n
\n )}\n \n ETAG:\n
\n {actualInfo.etag || \"N/A\"}\n
\n \n Tags:\n
\n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n
\n \n \n \n Legal Hold:\n
\n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n
\n \n
\n \n \n \n Retention Policy:\n
\n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n
\n \n
\n {!actualInfo.is_delete_marker && (\n \n } />\n \n {actualInfo && metaData ? (\n \n ) : null}\n \n \n )}\n \n )}\n
\n );\n};\n\nexport default ObjectDetailPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box, RecoverIcon } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { restoreLocalObjectList } from \"../../../../ObjectBrowser/objectBrowserSlice\";\n\ninterface IRestoreFileVersion {\n restoreOpen: boolean;\n bucketName: string;\n versionToRestore: BucketObject;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst RestoreFileVersion = ({\n versionToRestore,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const dispatch = useAppDispatch();\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api.buckets\n .putObjectRestore(bucketName, {\n prefix: encodeURLString(objectPath),\n version_id: versionToRestore.version_id || \"\",\n })\n .then(() => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n dispatch(\n restoreLocalObjectList({\n prefix: objectPath,\n objectInfo: versionToRestore,\n }),\n );\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n variant: \"secondary\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore
\n {objectPath}
with Version ID:\n
\n {versionToRestore.version_id}?\n
\n }\n />\n );\n};\n\nexport default RestoreFileVersion;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n \n );\n};\n\nexport default SpecificVersionPill;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { DateTime } from \"luxon\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n IconButton,\n Tooltip,\n Grid,\n Checkbox,\n} from \"mds\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: BucketObject;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: BucketObject) => void;\n onDownload: (versionInfo: BucketObject) => void;\n onRestore: (versionInfo: BucketObject) => void;\n onPreview: (versionInfo: BucketObject) => void;\n globalClick: (versionInfo: BucketObject) => void;\n key: any;\n style: any;\n}\n\nconst FileVersionStyled = styled.div(({ theme }) => {\n return {\n \"&:before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: get(theme, \"borderColor\", \"#F8F8F8\"),\n left: \"24px\",\n },\n \"& .mainFileVersionItem\": {\n borderBottom: `${get(theme, \"borderColor\", \"#F8F8F8\")} 1px solid`,\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n \"& .intermediateLayer\": {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n },\n \"& .buttonContainer\": {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n },\n \"& .versionID\": {\n fontSize: \"12px\",\n margin: \"2px 0\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n },\n \"& .versionData\": {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n },\n \"@media (max-width: 600px)\": {\n \"& .buttonContainer\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n \"@media (max-width: 799px)\": {\n \"&:before\": {\n display: \"none\",\n },\n \"& .mainFileVersionItem\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n \"& .intermediateLayer\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n \"& .versionData\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n \"& .collapsableInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .versionItem\": {\n display: \"none\",\n },\n },\n };\n});\n\nconst FileVersionItem = ({\n fileName,\n versionInfo,\n isSelected,\n checkable,\n isChecked,\n onCheck,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n key,\n style,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n let lastModified = DateTime.now();\n\n if (versionInfo.last_modified) {\n lastModified = DateTime.fromISO(versionInfo.last_modified);\n }\n\n return (\n \n {\n globalClick(versionInfo);\n }}\n key={key}\n style={style}\n >\n \n \n \n \n \n {checkable && (\n {\n e.stopPropagation();\n onCheck(versionInfo.version_id || \"\");\n }}\n value={versionInfo.version_id || \"\"}\n disabled={versionInfo.is_delete_marker}\n sx={{\n width: \"initial\",\n }}\n />\n )}\n {displayFileIconName(fileName, true)} v{index.toString()}\n \n {pill && }\n \n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n {lastModified.toFormat(\"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\")}\n \n \n Size: {niceBytes(`${versionInfo.size || \"0\"}`)}\n \n \n \n \n \n \n );\n};\n\nexport default FileVersionItem;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\n\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon, Switch, Grid, InputBox } from \"mds\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n}: IDeleteNonCurrentProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n useEffect(() => {\n if (deleteLoading) {\n api.buckets\n .deleteObject(selectedBucket, {\n prefix: selectedObject,\n non_current_versions: true,\n bypass: bypassGovernance,\n })\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n bypassGovernance,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {decodeURLString(selectedObject)}?
\n {canBypass && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n
\n To continue please type YES, PROCEED in the box.\n
\n
\n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n
\n }\n />\n );\n};\n\nexport default DeleteNonCurrentVersions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteSelectedVersionsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedVersions: string[];\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedVersions,\n selectedObject,\n}: IDeleteSelectedVersionsProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n const onClose = () => closeDeleteModalAndRefresh(false);\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n useEffect(() => {\n if (deleteLoading) {\n const selectedObjectsRequest = selectedVersions.map((versionID) => {\n return {\n path: selectedObject,\n versionID: versionID,\n recursive: false,\n };\n });\n\n if (selectedObjectsRequest.length > 0) {\n api.buckets\n .deleteMultipleObjects(selectedBucket, selectedObjectsRequest, {\n all_versions: false,\n bypass: bypassGovernance,\n })\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n bypassGovernance,\n dispatch,\n ]);\n\n if (!selectedVersions) {\n return null;\n }\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedVersions.length}{\" \"}\n versions for {selectedObject}?\n {canBypass && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n \n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n breakPoints,\n Button,\n DeleteIcon,\n DeleteNonCurrentIcon,\n Grid,\n ProgressBar,\n ScreenTitle,\n Select,\n SelectMultipleIcon,\n VersionsIcon,\n} from \"mds\";\nimport ShareFile from \"./ShareFile\";\n\nimport { decodeURLString, niceBytesInt } from \"../../../../../../common/utils\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport FileVersionItem from \"./FileVersionItem\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport DeleteNonCurrent from \"../ListObjects/DeleteNonCurrent\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport DeleteSelectedVersions from \"./DeleteSelectedVersions\";\nimport {\n selDistSet,\n setErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { List, ListRowProps } from \"react-virtualized\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IVersionsNavigatorProps {\n internalPaths: string;\n bucketName: string;\n}\n\nconst emptyFile: BucketObject = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: 0,\n tags: {},\n version_id: undefined,\n};\n\nconst VersionsNavigator = ({\n internalPaths,\n bucketName,\n}: IVersionsNavigatorProps) => {\n const dispatch = useAppDispatch();\n\n const searchVersions = useSelector(\n (state: AppState) => state.objectBrowser.searchVersions,\n );\n const loadingVersions = useSelector(\n (state: AppState) => state.objectBrowser.loadingVersions,\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion,\n );\n\n const distributedSetup = useSelector(selDistSet);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\n null,\n );\n const [sortValue, setSortValue] = useState(\"date\");\n const [previewOpen, setPreviewOpen] = useState(false);\n const [deleteNonCurrentOpen, setDeleteNonCurrentOpen] =\n useState(false);\n const [selectEnabled, setSelectEnabled] = useState(false);\n const [selectedItems, setSelectedItems] = useState([]);\n const [delSelectedVOpen, setDelSelectedVOpen] = useState(false);\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (!loadingVersions && !actualInfo) {\n dispatch(setLoadingVersions(true));\n }\n }, [loadingVersions, actualInfo, dispatch]);\n\n useEffect(() => {\n if (loadingVersions && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result = get(res.data, \"objects\", []);\n\n const decodedInternalPaths = decodeURLString(internalPaths);\n\n // Filter the results prefixes as API can return more files than expected.\n const filteredPrefixes = result.filter(\n (item: BucketObject) => item.name === decodedInternalPaths,\n );\n\n if (distributedSetup) {\n setActualInfo(\n filteredPrefixes.find((el: BucketObject) => el.is_latest) ||\n emptyFile,\n );\n setVersions(filteredPrefixes);\n } else {\n setActualInfo(filteredPrefixes[0]);\n setVersions([]);\n }\n\n dispatch(setLoadingVersions(false));\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n dispatch(setLoadingVersions(false));\n });\n }\n }, [loadingVersions, bucketName, internalPaths, dispatch, distributedSetup]);\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n setPreviewOpen(false);\n };\n\n const onShareItem = (item: BucketObject) => {\n setObjectToShare(item);\n shareObject();\n };\n\n const onPreviewItem = (item: BucketObject) => {\n setObjectToShare(item);\n setPreviewOpen(true);\n };\n\n const onRestoreItem = (item: BucketObject) => {\n setRestoreVersion(item);\n setRestoreVersionOpen(true);\n };\n\n const onDownloadItem = (item: BucketObject) => {\n downloadObject(dispatch, bucketName, internalPaths, item);\n };\n\n const onGlobalClick = (item: BucketObject) => {\n dispatch(setSelectedVersion(item.version_id || \"\"));\n };\n\n const filteredRecords = versions.filter((version) => {\n if (version.version_id) {\n return version.version_id.includes(searchVersions);\n }\n return false;\n });\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(null);\n\n if (reloadObjectData) {\n dispatch(setLoadingVersions(true));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeDeleteNonCurrent = (reloadAfterDelete: boolean) => {\n setDeleteNonCurrentOpen(false);\n\n if (reloadAfterDelete) {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeSelectedVersions = (reloadOnComplete: boolean) => {\n setDelSelectedVOpen(false);\n\n if (reloadOnComplete) {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n setSelectedItems([]);\n }\n };\n\n const totalSpace = versions.reduce((acc: number, currValue: BucketObject) => {\n if (currValue.size) {\n return acc + currValue.size;\n }\n return acc;\n }, 0);\n\n filteredRecords.sort((a, b) => {\n switch (sortValue) {\n case \"size\":\n if (a.size && b.size) {\n if (a.size < b.size) {\n return -1;\n }\n if (a.size > b.size) {\n return 1;\n }\n return 0;\n }\n return 0;\n default:\n const dateA = new Date(a.last_modified || \"\").getTime();\n const dateB = new Date(b.last_modified || \"\").getTime();\n\n if (dateA < dateB) {\n return 1;\n }\n if (dateA > dateB) {\n return -1;\n }\n return 0;\n }\n });\n\n const onCheckVersion = (selectedVersion: string) => {\n if (selectedItems.includes(selectedVersion)) {\n const filteredItems = selectedItems.filter(\n (element) => element !== selectedVersion,\n );\n\n setSelectedItems(filteredItems);\n\n return;\n }\n\n const cloneState = [...selectedItems];\n cloneState.push(selectedVersion);\n\n setSelectedItems(cloneState);\n };\n\n const rowRenderer = ({\n key, // Unique key within array of rows\n index, // Index of row within collection\n isScrolling, // The List is currently being scrolled\n isVisible, // This row is visible within the List (eg it is not an overscanned row)\n style, // Style object to be applied to row (to position it)\n }: ListRowProps) => {\n const versOrd = versions.length - index;\n return (\n \n );\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && restoreVersion && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {deleteNonCurrentOpen && (\n \n )}\n {delSelectedVOpen && (\n \n )}\n \n {!actualInfo && (\n \n \n \n )}\n\n {actualInfo && (\n \n \n \n \n \n \n \n \n }\n title={`${\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name\n } Versions`}\n subTitle={\n \n \n \n {versions.length} Version\n {versions.length === 1 ? \"\" : \"s\"}   \n \n \n \n {niceBytesInt(totalSpace)}\n \n \n }\n actions={\n \n \n {\n setSelectEnabled(!selectEnabled);\n }}\n icon={}\n variant={selectEnabled ? \"callAction\" : \"regular\"}\n style={{ marginRight: 8 }}\n />\n \n {selectEnabled && (\n \n {\n setDelSelectedVOpen(true);\n }}\n icon={}\n variant={\"secondary\"}\n style={{ marginRight: 8 }}\n disabled={selectedItems.length === 0}\n />\n \n )}\n \n {\n setDeleteNonCurrentOpen(true);\n }}\n icon={}\n variant={\"secondary\"}\n style={{ marginRight: 15 }}\n disabled={versions.length <= 1}\n />\n \n {\n setSortValue(newValue);\n }}\n noLabelMinWidth\n />\n \n }\n bottomBorder={false}\n />\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" && (\n // @ts-ignore\n \n )}\n \n \n )}\n \n \n );\n};\n\nexport default VersionsNavigator;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { DateTime } from \"luxon\";\nimport { BucketObjectItem } from \"./types\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport { displayFileIconName } from \"./utils\";\n\n// Functions\n\nexport const displayParsedDate = (object: BucketObjectItem) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n\n const currTime = DateTime.now();\n const objectTime = DateTime.fromISO(object.last_modified);\n\n const isToday =\n currTime.hasSame(objectTime, \"day\") &&\n currTime.hasSame(objectTime, \"month\") &&\n currTime.hasSame(objectTime, \"year\");\n\n if (isToday) {\n return `Today, ${objectTime.toFormat(\"HH:mm\")}`;\n }\n\n return objectTime.toFormat(\"ccc, LLL dd yyyy HH:mm (ZZZZ)\");\n};\n\nexport const displayNiceBytes = (object: BucketObjectItem) => {\n if (object.name.endsWith(\"/\") || !object.size) {\n return \"-\";\n }\n return niceBytes(String(object.size));\n};\n\nexport const displayDeleteFlag = (state: boolean) => {\n return state ? \"Yes\" : \"No\";\n};\n\n// Table Props\n\nexport const listModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 100,\n enableSort: true,\n },\n];\n\nexport const rewindModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Object Date\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 100,\n enableSort: true,\n },\n {\n label: \"Deleted\",\n elementKey: \"delete_flag\",\n renderFunction: displayDeleteFlag,\n width: 60,\n },\n];\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { listModeColumns, rewindModeColumns } from \"./ListObjectsHelpers\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { selFeatures } from \"../../../../consoleSlice\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n setLoadingVersions,\n setObjectDetailsView,\n setReloadObjectsList,\n setSelectedObjects,\n setSelectedObjectView,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { sortListObjects } from \"../utils\";\nimport { BucketObjectItem } from \"./types\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { DataTable, ItemActions } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\n\nconst ListObjectsTable = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n\n const bucketName = params.bucketName || \"\";\n\n const detailsOpen = useSelector(\n (state: AppState) => state.objectBrowser.objectDetailsOpen,\n );\n\n const requestInProgress = useSelector(\n (state: AppState) => state.objectBrowser.requestInProgress,\n );\n\n const features = useSelector(selFeatures);\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const records = useSelector((state: AppState) => state.objectBrowser.records);\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects,\n );\n const selectedObjects = useSelector(\n (state: AppState) => state.objectBrowser.selectedObjects,\n );\n const connectionError = useSelector(\n (state: AppState) => state.objectBrowser.connectionError,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\n ]);\n\n const filteredRecords = records.filter((b: BucketObjectItem) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const plSelect = filteredRecords;\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObjectItem[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const openPath = (object: BucketObject) => {\n const idElement = object.name || \"\";\n const newPath = `/browser/${bucketName}${\n idElement ? `/${encodeURLString(idElement)}` : ``\n }`;\n\n // for anonymous start download\n if (anonymousMode && !object.name?.endsWith(\"/\")) {\n downloadObject(\n dispatch,\n bucketName,\n `${encodeURLString(idElement)}`,\n object,\n );\n return;\n }\n dispatch(setSelectedObjects([]));\n\n navigate(newPath);\n\n if (!anonymousMode) {\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n }\n dispatch(\n setSelectedObjectView(\n `${idElement ? `${encodeURLString(idElement)}` : ``}`,\n ),\n );\n };\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n tooltip: \"View\",\n onClick: openPath,\n sendOnlyId: false,\n },\n ];\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n dispatch(setReloadObjectsList(true));\n };\n\n const selectAllItems = () => {\n dispatch(setSelectedObjectView(null));\n\n if (selectedObjects.length === payload.length) {\n dispatch(setSelectedObjects([]));\n return;\n }\n\n const elements = payload.map((item) => item.name);\n dispatch(setSelectedObjects(elements));\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n dispatch(setSelectedObjects(elements));\n dispatch(setSelectedObjectView(null));\n\n return elements;\n };\n\n let errorMessage =\n !displayListObjects && !anonymousMode\n ? permissionTooltipHelper(\n [IAM_SCOPES.S3_LIST_BUCKET, IAM_SCOPES.S3_ALL_LIST_BUCKET],\n \"view Objects in this bucket\",\n )\n : `This location is empty${\n !rewindEnabled ? \", please try uploading a new file\" : \"\"\n }`;\n\n if (connectionError) {\n errorMessage =\n \"Objects List unavailable. Please review your WebSockets configuration and try again\";\n }\n\n let customPaperHeight = \"calc(100vh - 290px)\";\n\n if (obOnly) {\n customPaperHeight = \"calc(100vh - 315px)\";\n }\n\n return (\n {\n if (payload[index]?.delete_flag) {\n return \"deleted\";\n }\n\n return \"\";\n }}\n sx={{\n minHeight: detailsOpen ? \"100%\" : \"initial\",\n }}\n noBackground\n />\n );\n};\nexport default ListObjectsTable;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { setSearchObjects } from \"./objectBrowserSlice\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\n\nconst FilterObjectsSB = () => {\n const dispatch = useAppDispatch();\n\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects,\n );\n return (\n {\n dispatch(setSearchObjects(value));\n }}\n value={searchObjects}\n />\n );\n};\nexport default FilterObjectsSB;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport get from \"lodash/get\";\nimport {\n AccessRuleIcon,\n ActionsList,\n Box,\n BucketsIcon,\n Button,\n Checkbox,\n DeleteIcon,\n DownloadIcon,\n Grid,\n HistoryIcon,\n PageLayout,\n PreviewIcon,\n RefreshIcon,\n ScreenTitle,\n ShareIcon,\n Badge,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { BucketQuota } from \"api/consoleApi\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useNavigate, useParams } from \"react-router-dom\";\nimport { useDropzone } from \"react-dropzone\";\nimport { DateTime } from \"luxon\";\nimport {\n decodeURLString,\n encodeURLString,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../systemSlice\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport {\n extractFileExtn,\n getPolicyAllowedFileExtensions,\n getSessionGrantsWildCard,\n} from \"../../UploadPermissionUtils\";\nimport {\n makeid,\n removeTrace,\n storeCallForObjectWithID,\n storeFormDataWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n openList,\n resetMessages,\n resetRewind,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setLoadingVersions,\n setNewObject,\n setObjectDetailsView,\n setPreviewOpen,\n setReloadObjectsList,\n setRetentionConfig,\n setSelectedObjects,\n setSelectedObjectView,\n setSelectedPreview,\n setShareFileModalOpen,\n setShowDeletedObjects,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport {\n selBucketDetailsInfo,\n selBucketDetailsLoading,\n setBucketDetailsLoad,\n setBucketInfo,\n} from \"../../../BucketDetails/bucketDetailsSlice\";\nimport {\n downloadSelected,\n openAnonymousAccess,\n openPreview,\n openShare,\n} from \"../../../../ObjectBrowser/objectBrowserThunks\";\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\nimport VersionsNavigator from \"../ObjectDetails/VersionsNavigator\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport ListObjectsTable from \"./ListObjectsTable\";\nimport FilterObjectsSB from \"../../../../ObjectBrowser/FilterObjectsSB\";\nimport AddAccessRule from \"../../../BucketDetails/AddAccessRule\";\n\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\")),\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\")),\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\")),\n);\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"transparent\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"transparent\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"transparent\",\n borderColor: \"#00e676\",\n};\n\nconst ListObjects = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n const location = useLocation();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const bucketToRewind = useSelector(\n (state: AppState) => state.objectBrowser.rewind.bucketToRewind,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const showDeleted = useSelector(\n (state: AppState) => state.objectBrowser.showDeleted,\n );\n const detailsOpen = useSelector(\n (state: AppState) => state.objectBrowser.objectDetailsOpen,\n );\n const selectedInternalPaths = useSelector(\n (state: AppState) => state.objectBrowser.selectedInternalPaths,\n );\n const requestInProgress = useSelector(\n (state: AppState) => state.objectBrowser.requestInProgress,\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath,\n );\n const versioningConfig = useSelector(\n (state: AppState) => state.objectBrowser.versionInfo,\n );\n const lockingEnabled = useSelector(\n (state: AppState) => state.objectBrowser.lockingEnabled,\n );\n const downloadRenameModal = useSelector(\n (state: AppState) => state.objectBrowser.downloadRenameModal,\n );\n const selectedPreview = useSelector(\n (state: AppState) => state.objectBrowser.selectedPreview,\n );\n const shareFileModalOpen = useSelector(\n (state: AppState) => state.objectBrowser.shareFileModalOpen,\n );\n const previewOpen = useSelector(\n (state: AppState) => state.objectBrowser.previewOpen,\n );\n const selectedBucket = useSelector(\n (state: AppState) => state.objectBrowser.selectedBucket,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n const anonymousAccessOpen = useSelector(\n (state: AppState) => state.objectBrowser.anonymousAccessOpen,\n );\n\n const records = useSelector(\n (state: AppState) => state.objectBrowser?.records || [],\n );\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [quota, setQuota] = useState(null);\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const isVersioningApplied = isVersionedMode(versioningConfig.status);\n\n const bucketName = params.bucketName || \"\";\n const pathSegment = location.pathname.split(`/browser/${bucketName}/`);\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n const pageTitle = decodeURLString(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const pathAsResourceInPolicy = uploadPath.join(\"/\");\n const allowedFileExtensions = getPolicyAllowedFileExtensions(\n sessionGrants,\n pathAsResourceInPolicy,\n putObjectPermScopes,\n );\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathAsResourceInPolicy,\n putObjectPermScopes,\n );\n\n const canDownload = hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n );\n const canDelete = hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n [IAM_SCOPES.S3_DELETE_OBJECT],\n );\n const canUpload =\n hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const canSetAnonymousAccess = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const selectedObjects = useSelector(\n (state: AppState) => state.objectBrowser.selectedObjects,\n );\n\n const checkForDelMarker = (): boolean => {\n let isObjDelMarker = false;\n if (selectedObjects.length === 1) {\n let matchingRec = records.find((obj) => {\n return obj.name === `${selectedObjects[0]}` && obj.delete_flag;\n });\n\n isObjDelMarker = !!matchingRec;\n }\n return isObjDelMarker;\n };\n\n const isSelObjectDelMarker = checkForDelMarker();\n\n const fetchMetadata = useCallback(() => {\n const objectName = selectedObjects[0];\n\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, selectedObjects, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && !isSelObjectDelMarker) {\n fetchMetadata();\n }\n }, [bucketName, selectedObjects, fetchMetadata, isSelObjectDelMarker]);\n\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n dispatch(resetRewind());\n return;\n }\n }\n }, [rewindEnabled, bucketToRewind, bucketName, dispatch]);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n const isPrefix = objectName.endsWith(\"/\");\n\n let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n if (objectType !== \"none\" && canDownload) {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (canDownload && !isPrefix) {\n setCanShareFile(true);\n } else {\n setCanShareFile(false);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects, canDownload, metaData]);\n\n useEffect(() => {\n if (!quota && !anonymousMode) {\n api.buckets\n .getBucketQuota(bucketName)\n .then((res) => {\n let quotaVals = null;\n\n if (res.data.quota) {\n quotaVals = res.data;\n }\n\n setQuota(quotaVals);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Quota Status: \",\n err.error.detailedMessage,\n );\n setQuota(null);\n });\n }\n }, [quota, bucketName, anonymousMode]);\n\n useEffect(() => {\n if (selectedObjects.length > 0) {\n dispatch(setObjectDetailsView(true));\n return;\n }\n\n if (\n selectedObjects.length === 0 &&\n selectedInternalPaths === null &&\n !requestInProgress\n ) {\n dispatch(setObjectDetailsView(false));\n }\n }, [selectedObjects, selectedInternalPaths, dispatch, requestInProgress]);\n\n useEffect(() => {\n if (!iniLoad) {\n dispatch(setBucketDetailsLoad(true));\n setIniLoad(true);\n }\n }, [iniLoad, dispatch, setIniLoad]);\n\n // bucket info\n useEffect(() => {\n if ((requestInProgress || loadingBucket) && !anonymousMode) {\n api.buckets\n .bucketInfo(bucketName)\n .then((res) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setBucketInfo(res.data));\n })\n .catch((err) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n });\n }\n }, [bucketName, loadingBucket, dispatch, anonymousMode, requestInProgress]);\n\n // Load retention Config\n\n useEffect(() => {\n if (selectedBucket !== \"\") {\n api.buckets\n .getBucketRetentionConfig(selectedBucket)\n .then((res) => {\n dispatch(setRetentionConfig(res.data));\n })\n .catch(() => {\n dispatch(setRetentionConfig(null));\n });\n }\n }, [selectedBucket, dispatch]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n dispatch(setSnackBarMessage(`Objects deleted successfully.`));\n dispatch(setSelectedObjects([]));\n dispatch(setReloadObjectsList(true));\n }\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (let i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n\n e.target.value = \"\";\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (simplePath) {\n pathPrefix = simplePath.endsWith(\"/\") ? simplePath : simplePath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string,\n ) => {\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n\n const filePath = get(file, \"path\", \"\");\n const fileWebkitRelativePath = get(file, \"webkitRelativePath\", \"\");\n\n let relativeFolderPath = folderPath;\n const ID = makeid(8);\n\n // File was uploaded via drag & drop\n if (filePath !== \"\") {\n relativeFolderPath = filePath;\n } else if (fileWebkitRelativePath !== \"\") {\n // File was uploaded using upload button\n relativeFolderPath = fileWebkitRelativePath;\n }\n\n let prefixPath = \"\";\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n const pathClean = path.endsWith(\"/\") ? path.slice(0, -1) : path;\n\n prefixPath = `${pathClean}${\n !pathClean.endsWith(\"/\") &&\n finalFolderPath !== \"\" &&\n !finalFolderPath.startsWith(\"/\")\n ? \"/\"\n : \"\"\n }${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ||\n (finalFolderPath.trim() === \"\" && !path.endsWith(\"/\"))\n ? \"/\"\n : \"\"\n }`;\n }\n\n if (prefixPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodeURLString(\n prefixPath + fileName,\n )}`;\n } else {\n uploadUrl = `${uploadUrl}?prefix=${encodeURLString(fileName)}`;\n }\n\n encodedPath = encodeURLString(prefixPath);\n\n const identity = encodeURLString(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`,\n );\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n if (anonymousMode) {\n xhr.setRequestHeader(\"X-Anonymous\", \"1\");\n }\n // xhr.setRequestHeader(\"X-Anonymous\", \"1\");\n\n const areMultipleFiles = files.length > 1;\n let errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n\n const errorMessages: any = {\n 413: \"Error - File size too large\",\n };\n\n xhr.withCredentials = false;\n xhr.onload = function () {\n // resolve promise only when HTTP code is ok\n if (xhr.status >= 200 && xhr.status < 300) {\n dispatch(completeObject(identity));\n resolve({ status: xhr.status });\n\n removeTrace(ID);\n } else {\n // reject promise if there was a server error\n if (errorMessages[xhr.status]) {\n errorMessage = errorMessages[xhr.status];\n } else if (xhr.response) {\n try {\n const err = JSON.parse(xhr.response);\n errorMessage = err.detailedMessage;\n } catch (e) {\n errorMessage = \"something went wrong\";\n }\n }\n\n dispatch(\n failObject({\n instanceID: identity,\n msg: errorMessage,\n }),\n );\n reject({ status: xhr.status, message: errorMessage });\n\n removeTrace(ID);\n }\n };\n\n xhr.upload.addEventListener(\"error\", () => {\n reject(errorMessage);\n dispatch(\n failObject({\n instanceID: identity,\n msg: \"A network error occurred.\",\n }),\n );\n return;\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n dispatch(\n updateProgress({\n instanceID: identity,\n progress: progress,\n }),\n );\n });\n\n xhr.onerror = () => {\n reject(errorMessage);\n dispatch(\n failObject({\n instanceID: identity,\n msg: \"A network error occurred.\",\n }),\n );\n return;\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n dispatch(setReloadObjectsList(true));\n }\n };\n xhr.onabort = () => {\n dispatch(cancelObjectInList(identity));\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n storeCallForObjectWithID(ID, xhr);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeURLString(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n storeFormDataWithID(ID, formData);\n }\n });\n };\n\n const uploadFilePromises: any = [];\n // open object manager\n dispatch(openList());\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n uploadFilePromises.push(uploadPromise(file));\n }\n Promise.allSettled(uploadFilePromises).then((results: Array) => {\n const errors = results.filter(\n (result) => result.status === \"rejected\",\n );\n if (errors.length > 0) {\n const totalFiles = uploadFilePromises.length;\n const successUploadedFiles =\n uploadFilePromises.length - errors.length;\n const err: ErrorResponseHandler = {\n errorMessage: \"There were some errors during file upload\",\n detailedError: `Uploaded files ${successUploadedFiles}/${totalFiles}`,\n };\n dispatch(setErrorSnackMessage(err));\n }\n // We force objects list reload after all promises were handled\n dispatch(setReloadObjectsList(true));\n });\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [bucketName, dispatch, simplePath, anonymousMode],\n );\n\n const onDrop = useCallback(\n (acceptedFiles: any[]) => {\n if (acceptedFiles && acceptedFiles.length > 0 && canUpload) {\n let newFolderPath: string = acceptedFiles[0].path;\n //Should we filter by allowed file extensions if any?.\n let allowedFiles = acceptedFiles;\n\n if (allowedFileExtensions.length > 0) {\n allowedFiles = acceptedFiles.filter((file) => {\n const fileExtn = extractFileExtn(file.name);\n return allowedFileExtensions.includes(fileExtn);\n });\n }\n\n if (allowedFiles.length) {\n uploadObject(allowedFiles, newFolderPath);\n console.log(\n `${allowedFiles.length} Allowed Files Processed out of ${acceptedFiles.length}.`,\n pathAsResourceInPolicy,\n ...sessionGrantWildCards,\n );\n\n if (allowedFiles.length !== acceptedFiles.length) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload is restricted.\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n }\n } else {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Could not process drag and drop.\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n\n console.error(\n \"Could not process drag and drop . upload may be restricted.\",\n pathAsResourceInPolicy,\n ...sessionGrantWildCards,\n );\n }\n }\n if (!canUpload) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload not allowed\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [uploadObject],\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept],\n );\n\n const closeShareModal = () => {\n dispatch(setShareFileModalOpen(false));\n dispatch(setSelectedPreview(null));\n };\n\n const rewindCloseModal = () => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n dispatch(setPreviewOpen(false));\n dispatch(setSelectedPreview(null));\n };\n\n const onClosePanel = (forceRefresh: boolean) => {\n dispatch(setSelectedObjectView(null));\n dispatch(setVersionsModeEnabled({ status: false }));\n if (detailsOpen && selectedInternalPaths !== null) {\n // We change URL to be the contained folder\n\n const decodedPath = decodeURLString(internalPaths);\n const splitURLS = decodedPath.split(\"/\");\n\n // We remove the last section of the URL as it should be a file\n splitURLS.pop();\n\n let URLItem = \"\";\n\n if (splitURLS && splitURLS.length > 0) {\n URLItem = `${splitURLS.join(\"/\")}/`;\n }\n\n navigate(`/browser/${bucketName}/${encodeURLString(URLItem)}`);\n }\n\n dispatch(setObjectDetailsView(false));\n\n if (forceRefresh) {\n dispatch(setReloadObjectsList(true));\n }\n };\n\n const setDeletedAction = () => {\n dispatch(resetMessages());\n dispatch(setShowDeletedObjects(!showDeleted));\n onClosePanel(true);\n };\n\n const closeRenameModal = () => {\n dispatch(setDownloadRenameModal(null));\n };\n\n const closeAddAccessRule = () => {\n dispatch(setAnonymousAccessOpen(false));\n };\n\n let createdTime = DateTime.now();\n\n if (bucketInfo?.creation_date) {\n createdTime = DateTime.fromISO(bucketInfo.creation_date);\n }\n\n const downloadToolTip =\n selectedObjects?.length <= 1\n ? \"Download Selected\"\n : ` Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.`;\n\n const multiActionButtons = [\n {\n action: () => {\n dispatch(downloadSelected(bucketName));\n },\n label: \"Download\",\n disabled: !canDownload || isSelObjectDelMarker,\n icon: ,\n tooltip: canDownload\n ? downloadToolTip\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"download objects from this bucket\",\n ),\n },\n {\n action: () => {\n dispatch(openShare());\n },\n label: \"Share\",\n disabled:\n selectedObjects.length !== 1 || !canShareFile || isSelObjectDelMarker,\n icon: ,\n tooltip: canShareFile ? \"Share Selected File\" : \"Sharing unavailable\",\n },\n {\n action: () => {\n dispatch(openPreview());\n },\n label: \"Preview\",\n disabled:\n selectedObjects.length !== 1 || !canPreviewFile || isSelObjectDelMarker,\n icon: ,\n tooltip: canPreviewFile ? \"Preview Selected File\" : \"Preview unavailable\",\n },\n {\n action: () => {\n dispatch(openAnonymousAccess());\n },\n label: \"Anonymous Access\",\n disabled:\n selectedObjects.length !== 1 ||\n !selectedObjects[0].endsWith(\"/\") ||\n !canSetAnonymousAccess,\n icon: ,\n tooltip:\n selectedObjects.length === 1 && selectedObjects[0].endsWith(\"/\")\n ? \"Set Anonymous Access to this Folder\"\n : \"Anonymous Access unavailable\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled: !canDelete || selectedObjects.length === 0,\n tooltip: canDelete\n ? \"Delete Selected Files\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_DELETE_OBJECT],\n \"delete objects in this bucket\",\n ),\n },\n ];\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n {!!downloadRenameModal && (\n \n )}\n {anonymousAccessOpen && (\n \n )}\n\n \n {anonymousMode && (\n
\n \n
\n )}\n \n \n \n \n }\n title={bucketName}\n subTitle={\n !anonymousMode ? (\n \n \n Created on: \n \n {bucketInfo?.creation_date\n ? createdTime.toFormat(\n \"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\",\n )\n : \"\"}\n \n \n \n Access:  \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && quota && (\n \n {\" \"}\n / {niceBytesInt(quota.quota || 0)}\n \n )}\n {bucketInfo.size && bucketInfo.objects ? \" - \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n ) : null\n }\n actions={\n \n {!anonymousMode && (\n \n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n setRewindSelect(true);\n }}\n disabled={\n !isVersioningApplied ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_GET_ACTIONS,\n ])\n }\n />\n \n )}\n \n }\n variant={\"regular\"}\n onClick={() => {\n if (versionsMode) {\n dispatch(setLoadingVersions(true));\n } else {\n dispatch(resetMessages());\n dispatch(setReloadObjectsList(true));\n }\n }}\n disabled={\n anonymousMode\n ? false\n : !hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\n ]) || rewindEnabled\n }\n />\n \n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n \n }\n bottomBorder={false}\n />\n \n \n \n \n {versionsMode ? (\n \n {selectedInternalPaths !== null && (\n \n )}\n \n ) : (\n \n \n {!anonymousMode && (\n \n \n )\n }\n hidePathButton={false}\n />\n \n )}\n \n \n \n )}\n {!anonymousMode && (\n \n {\n onClosePanel(false);\n }}\n className={`${versionsMode ? \"hideListOnSmall\" : \"\"}`}\n >\n {selectedObjects.length > 0 && (\n \n )}\n {selectedInternalPaths !== null && (\n \n )}\n \n \n )}\n \n \n
\n
\n );\n};\n\nexport default ListObjects;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect } from \"react\";\nimport {\n IAM_PAGES,\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport { BackLink, Button, SettingsIcon, Grid } from \"mds\";\nimport AutoColorIcon from \"../Common/Components/AutoColorIcon\";\nimport { useSelector } from \"react-redux\";\nimport { selFeatures } from \"../consoleSlice\";\nimport hasPermission from \"../../../common/SecureComponent/accessControl\";\nimport { useNavigate } from \"react-router-dom\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { setSearchVersions } from \"./objectBrowserSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport FilterObjectsSB from \"./FilterObjectsSB\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport ObjectManagerButton from \"../Common/ObjectManager/ObjectManagerButton\";\nimport HelpMenu from \"../HelpMenu\";\nimport { setHelpName } from \"../../../systemSlice\";\n\ninterface IOBHeader {\n bucketName: string;\n}\n\nconst OBHeader = ({ bucketName }: IOBHeader) => {\n const dispatch = useAppDispatch();\n const features = useSelector(selFeatures);\n\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile,\n );\n const searchVersions = useSelector(\n (state: AppState) => state.objectBrowser.searchVersions,\n );\n\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n const navigate = useNavigate();\n\n const configureBucketAllowed = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_DELETE_BUCKET,\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_PUT_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_GET_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.S3_PUT_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n IAM_SCOPES.ADMIN_SET_BUCKET_QUOTA,\n IAM_SCOPES.S3_PUT_BUCKET_TAGGING,\n IAM_SCOPES.S3_GET_BUCKET_TAGGING,\n IAM_SCOPES.S3_LIST_BUCKET_VERSIONS,\n IAM_SCOPES.S3_GET_BUCKET_POLICY_STATUS,\n IAM_SCOPES.S3_DELETE_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const searchBar = (\n \n {!versionsMode ? (\n \n \n \n ) : (\n \n {\n dispatch(setSearchVersions(value));\n }}\n value={searchVersions}\n />\n \n )}\n \n );\n\n useEffect(() => {\n dispatch(setHelpName(\"object_browser\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {!obOnly ? (\n {\n navigate(IAM_PAGES.OBJECT_BROWSER_VIEW);\n }}\n />\n }\n actions={\n \n \n \n navigate(`/buckets/${bucketName}/admin`)}\n icon={\n \n }\n style={{\n padding: \"0 10px\",\n }}\n />\n \n \n \n \n }\n middleComponent={searchBar}\n />\n ) : (\n \n \n \n \n \n {searchBar}\n \n \n \n )}\n \n );\n};\n\nexport default OBHeader;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useParams } from \"react-router-dom\";\nimport { api } from \"api\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport { decodeURLString, encodeURLString } from \"../../../../common/utils\";\nimport {\n resetMessages,\n setIsVersioned,\n setLoadingLocking,\n setLoadingObjectInfo,\n setLoadingVersioning,\n setLoadingVersions,\n setLockingEnabled,\n setObjectDetailsView,\n setRequestInProgress,\n setSelectedObjectView,\n setVersionsModeEnabled,\n} from \"../../ObjectBrowser/objectBrowserSlice\";\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport hasPermission from \"../../../../common/SecureComponent/accessControl\";\nimport OBHeader from \"../../ObjectBrowser/OBHeader\";\n\nconst BrowserHandler = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const location = useLocation();\n\n const loadingVersioning = useSelector(\n (state: AppState) => state.objectBrowser.loadingVersioning,\n );\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const rewindDate = useSelector(\n (state: AppState) => state.objectBrowser.rewind.dateToRewind,\n );\n const showDeleted = useSelector(\n (state: AppState) => state.objectBrowser.showDeleted,\n );\n const requestInProgress = useSelector(\n (state: AppState) => state.objectBrowser.requestInProgress,\n );\n const loadingLocking = useSelector(\n (state: AppState) => state.objectBrowser.loadingLocking,\n );\n const reloadObjectsList = useSelector(\n (state: AppState) => state.objectBrowser.reloadObjectsList,\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n const selectedBucket = useSelector(\n (state: AppState) => state.objectBrowser.selectedBucket,\n );\n const records = useSelector((state: AppState) => state.objectBrowser.records);\n\n const bucketName = params.bucketName || \"\";\n const pathSegment = location.pathname.split(`/browser/${bucketName}/`);\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n const initWSRequest = useCallback(\n (path: string) => {\n let currDate = new Date();\n\n let date = currDate.toISOString();\n\n if (rewindDate !== null && rewindEnabled) {\n date = rewindDate;\n }\n\n const payloadData = {\n bucketName,\n path,\n rewindMode: rewindEnabled || showDeleted,\n date: date,\n };\n\n dispatch({ type: \"socket/OBRequest\", payload: payloadData });\n },\n [bucketName, showDeleted, rewindDate, rewindEnabled, dispatch],\n );\n\n // Common path load\n const pathLoad = useCallback(\n (forceLoad: boolean = false) => {\n const decodedInternalPaths = decodeURLString(internalPaths);\n\n // We exit Versions mode in case of path change\n dispatch(setVersionsModeEnabled({ status: false }));\n\n let searchPath = decodedInternalPaths;\n\n if (!decodedInternalPaths.endsWith(\"/\") && decodedInternalPaths !== \"\") {\n searchPath = `${decodedInternalPaths\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n }\n\n if (searchPath === \"/\") {\n searchPath = \"\";\n }\n\n // If the path is different of the actual path or reload objects list is requested, then we initialize a new request to load a new record set.\n if (\n searchPath !== simplePath ||\n bucketName !== selectedBucket ||\n forceLoad\n ) {\n dispatch(setRequestInProgress(true));\n initWSRequest(searchPath);\n }\n },\n [\n internalPaths,\n dispatch,\n simplePath,\n selectedBucket,\n bucketName,\n initWSRequest,\n ],\n );\n\n useEffect(() => {\n return () => {\n dispatch({ type: \"socket/OBCancelLast\" });\n };\n }, [dispatch]);\n\n // Object Details handler\n useEffect(() => {\n const decodedIPaths = decodeURLString(internalPaths);\n\n dispatch(setLoadingVersioning(true));\n\n if (decodedIPaths.endsWith(\"/\") || decodedIPaths === \"\") {\n dispatch(setObjectDetailsView(false));\n dispatch(setSelectedObjectView(null));\n dispatch(setLoadingLocking(true));\n } else {\n dispatch(setLoadingObjectInfo(true));\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n dispatch(\n setSelectedObjectView(\n `${decodedIPaths ? `${encodeURLString(decodedIPaths)}` : ``}`,\n ),\n );\n }\n }, [bucketName, internalPaths, rewindDate, rewindEnabled, dispatch]);\n\n // Navigation Listing Request\n useEffect(() => {\n pathLoad(false);\n }, [pathLoad]);\n\n // Reload Handler\n useEffect(() => {\n if (reloadObjectsList && records.length === 0 && !requestInProgress) {\n pathLoad(true);\n }\n }, [reloadObjectsList, records, requestInProgress, pathLoad]);\n\n const displayListObjects =\n hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\n ]) || anonymousMode;\n\n useEffect(() => {\n if (loadingVersioning && !anonymousMode) {\n if (displayListObjects) {\n api.buckets\n .getBucketVersioning(bucketName)\n .then((res) => {\n dispatch(setIsVersioned(res.data));\n dispatch(setLoadingVersioning(false));\n })\n .catch((err) => {\n console.error(\n \"Error Getting Object Versioning Status: \",\n err.error.detailedMessage,\n );\n dispatch(setLoadingVersioning(false));\n });\n } else {\n dispatch(setLoadingVersioning(false));\n dispatch(resetMessages());\n }\n }\n }, [\n bucketName,\n loadingVersioning,\n dispatch,\n displayListObjects,\n anonymousMode,\n ]);\n\n useEffect(() => {\n if (loadingLocking) {\n if (displayListObjects) {\n api.buckets\n .getBucketObjectLockingStatus(bucketName)\n .then((res) => {\n dispatch(setLockingEnabled(res.data.object_locking_enabled));\n dispatch(setLoadingLocking(false));\n })\n .catch((err) => {\n console.error(\n \"Error Getting Object Locking Status: \",\n err.error.detailedMessage,\n );\n dispatch(setLoadingLocking(false));\n });\n } else {\n dispatch(resetMessages());\n dispatch(setLoadingLocking(false));\n }\n }\n }, [bucketName, loadingLocking, dispatch, displayListObjects]);\n\n return (\n \n {!anonymousMode && }\n \n \n );\n};\n\nexport default BrowserHandler;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { DateTime } from \"luxon\";\nimport { Box, InputBox, InputLabel, LinkIcon } from \"mds\";\n\ninterface IDaysSelector {\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number,\n) => {\n return DateTime.fromJSDate(initialDate).plus({\n hours: hours + days * 24,\n minutes,\n }); // Lump days into hours to avoid daylight savings causing issues\n};\n\nconst DaysSelector = ({\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(DateTime.now());\n\n useEffect(() => {\n if (\n !isNaN(selectedHours) &&\n !isNaN(selectedDays) &&\n !isNaN(selectedMinutes)\n ) {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ),\n );\n }\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n const formattedDate = dateSelected.toFormat(\"yyyy-MM-dd HH:mm:ss\");\n onChange(formattedDate.split(\" \").join(\"T\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n if (selectedDays <= 0 && selectedHours <= 0 && selectedMinutes <= 0) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraStyles = {\n \"& .textBoxContainer\": {\n minWidth: 0,\n },\n \"& input\": {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 40,\n },\n };\n\n return (\n \n \n {label}\n \n label\": {\n fontWeight: 400,\n marginLeft: 15,\n marginRight: 25,\n },\n },\n }}\n >\n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n .min-icon\": {\n color: \"#5E5E5E\",\n width: 15,\n height: 15,\n marginRight: 10,\n },\n },\n \"& .validTill\": {\n fontWeight: \"bold\",\n marginLeft: 15,\n },\n \"& .invalidDurationText\": {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n }}\n >\n {validDate ? (\n
\n \n
{entity} will be available until:
{\" \"}\n
\n {dateSelected.toFormat(\"MM/dd/yyyy HH:mm:ss ZZZZ\")}\n
\n
\n ) : (\n
\n Please select a valid duration.\n
\n )}\n \n \n );\n};\n\nexport default DaysSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Button, CopyIcon, ReadBox, ShareIcon, Grid, ProgressBar } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IShareFileProps {\n open: boolean;\n bucketName: string;\n dataObject: BucketObject;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n}: IShareFileProps) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api.buckets\n .listObjects(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n\n const latestVersion: BucketObject | undefined = result.find(\n (elem: BucketObject) => elem.is_latest,\n );\n\n if (latestVersion) {\n setVersionID(`${latestVersion.version_id}`);\n return;\n }\n\n // Version couldn't be retrieved, we default\n setVersionID(\"null\");\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, dispatch]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000,\n );\n\n if (diffDate > 0) {\n api.buckets\n .shareObject(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n version_id: versionID,\n expires: selectedDate !== \"\" ? `${diffDate}s` : \"\",\n })\n .then((res) => {\n setShareURL(res.data);\n setIsLoadingFile(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n dispatch,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n }\n modalOpen={open}\n onClose={() => {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n
\n
\n The temporary URL expires after the configured time limit.\n \n
\n \n \n \n \n \n {\n dispatch(\n setModalSnackMessage(\"Share URL Copied to clipboard\"),\n );\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n }\n >\n {shareURL}\n \n \n
\n )}\n \n
\n );\n};\n\nexport default ShareFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { ProgressBar, Grid, Box, InformativeMessage } from \"mds\";\nimport get from \"lodash/get\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { api } from \"../../../../../../api\";\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = object?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, objectName, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeURLString(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {objectType !== \"none\" && loading && (\n \n \n \n )}\n {isMetaDataLoaded ? (\n \n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType === \"none\" && (\n
\n \n
\n )}\n {objectType !== \"none\" &&\n objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n
\n \n File couldn't be loaded. Please try Download instead\n \n
\n )}\n \n ) : null}\n
\n );\n};\nexport default PreviewFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"mds\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, CopyIcon, InputBox, Box, breakPoints } from \"mds\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n readOnly={true}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n setShown(!shown)}\n label={\"Show/Hide\"}\n />\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["_ref","modalOpen","onClose","bucket","prefilledRoute","dispatch","useAppDispatch","prefix","setPrefix","useState","selectedAccess","setSelectedAccess","useEffect","_jsx","ModalWrapper","title","titleIcon","AddAccessRuleIcon","children","_jsxs","FormLayout","withBorders","containerPadding","InputBox","value","label","id","name","placeholder","onChange","e","target","tooltip","Select","options","disabled","helpTip","Fragment","helpTipPlacement","Grid","item","xs","sx","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","resetForm","trim","createProcess","api","setAccessRuleWithBucket","access","then","res","setSnackBarMessage","catch","setErrorSnackMessage","errorToHandler","error","extractFileExtn","resourceStr","match","getSessionGrantsWildCard","sessionGrants","uploadPath","scopes","arguments","length","undefined","grantsWithExtension","Object","keys","reduce","acc","grantKey","includes","filter","sessionGrantKey","hasScope","some","actionKey","find","scopeKey","wildCardMatch","indexOf","scopeActionKey","substring","isUploadPathMatching","concat","CreatePathModal","withSuspense","React","BreadcrumbsMain","styled","div","display","paddingRight","alignItems","breakPoints","lg","margin","bucketName","internalPaths","hidePathButton","additionalOptions","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","anonymousMode","system","createFolderOpen","setCreateFolderOpen","canCreateSubpath","setCanCreateSubpath","putObjectPermScopes","IAM_SCOPES","S3_PUT_OBJECT","S3_PUT_ACTIONS","console","session","permissions","paths","splitPaths","split","path","lastBreadcrumbsIndex","pathToCheckPerms","sessionGrantWildCards","forEach","grant","canCreatePath","hasPermission","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","className","style","cursor","whiteSpace","safeDecodeURIComponent","Link","to","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","folderName","closeAddFolderModal","limitedSubPath","Breadcrumbs","goBackFunction","prevPath","CopyToClipboard","text","icon","CopyIcon","width","height","fill","marginTop","color","border","marginRight","Box","Tooltip","permissionTooltipHelper","NewPathIcon","marginBottom","justifyContent","fontSize","fontWeight","flexDirection","flexWrap","isVersionedMode","downloadSelected","createAsyncThunk","async","getState","rejectWithValue","downloadObject","object","identityDownload","Date","getTime","Math","random","ID","makeid","downloadCall","download","version_id","size","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","done","percentage","waitingForFile","failed","cancelled","errorMessage","selectedObjects","itemsToDownload","filterFunction","currValue","records","getClientOS","toLowerCase","setDownloadRenameModal","fileName","DateTime","now","toFormat","multiObjList","dwList","bi","isDeleted","delete_flag","push","log","downloadSelectedAsZip","openPreview","_","_ref2","fileObject","findFunction","setSelectedPreview","setPreviewOpen","openShare","_ref3","setShareFileModalOpen","openAnonymousAccess","_ref4","endsWith","setAnonymousAccessOpen","forceDisable","uploadFileFunction","uploadFolderFunction","overrideStyles","anchorEl","setAnchorEl","uploadOptionsOpen","uploadOptionsSetOpen","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","event","currentTarget","UploadIcon","DropdownSelector","UploadFolderIcon","selectedOption","onSelect","nValue","hideTriggerAction","open","anchorOrigin","useAnchorWidth","closePanel","borderColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","ClosePanelIcon","right","top","padding","backgroundColor","_object$name","isWinOs","setLongFileOpen","strings","minHeight","overflow","textOverflow","replaceUnicodeChar","extensionToIcon","FileVideoIcon","extensions","FileMusicIcon","FilePdfIcon","FilePptIcon","FileXlsIcon","FileLockIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileTxtIcon","FileZipIcon","FileBookIcon","FileImageIcon","displayFileIconName","element","returnOnlyIcon","elementString","FileNonType","FolderBrowserIcon","lowercaseElement","etc","ext","FileMissingIcon","splitItem","IconWithLabel","metaData","metaKeys","renderItem","Array","isArray","itemRendererFn","maxHeight","months","days","from","num","currentYear","getFullYear","years","numYear","forwardRef","ref","disableOptions","borderBottom","onDateChange","useImperativeHandle","resetDate","month","setMonth","day","setDay","year","setYear","valueSplit","parseInt","isValid","dateString","validDate","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","isDateDisabled","monthForDropDown","daysForDrop","yearsForDrop","gap","InputLabel","htmlFor","placement","HelpIcon","newValue","closeModalAndRefresh","objectInfo","retentionConfig","statusEnabled","setStatusEnabled","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","mode","ObjectRetentionMode","Governance","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","current","showSwitcher","noValidate","autoComplete","onSubmit","preventDefault","Switch","checked","indicatorLabels","RadioGroup","currentValue","selectorOptions","Compliance","DateSelector","saveNewRetentionPolicy","selectedObject","versionId","expireDate","addRetention","buckets","putObjectRetention","expires","err","setModalErrorSnackMessage","disableRetention","deleteObjectRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioningInfo","selectedVersion","deleteLoading","invokeDeleteApi","useApi","onDelSuccess","detailedError","deleteVersions","setDeleteVersions","bypassGovernance","setBypassGovernance","canBypass","S3_BYPASS_GOVERNANCE_RETENTION","ConfirmDialog","confirmText","isOpen","ConfirmDeleteIcon","isLoading","onConfirm","onConfirmDelete","recursive","decodeURLString","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","DeleteTag","b","theme","_actualInfo$name","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","allPathData","currentItem","pop","tagsFor","plural","iconColor","DisabledIcon","EditTagIcon","container","cancelDelete","deleteTagProcess","cleanObject","verID","putObjectTags","SecureComponent","S3_GET_OBJECT_TAGGING","S3_GET_ACTIONS","resource","flexFlow","tagKey","tag","S3_DELETE_OBJECT_TAGGING","errorProps","deleteIcon","onDelete","Tag","onDeleteTag","S3_PUT_OBJECT_TAGGING","SectionTitle","AddNewTagIcon","separator","addTagProcess","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","InspectMenuIcon","file","volume","fetch","url","method","makeRequest","ok","resErr","json","message","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","onCloseDecKeyModal","deleteCookie","PasswordKeyIcon","KeyRevealer","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","doDownload","emptyFile","is_latest","last_modified","legal_hold_status","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setMetaData","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","resInfo","setLoadingObjectInfo","getObjectMetadata","metadata","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","S3_PUT_OBJECT_LEGAL_HOLD","canSetTags","canChangeRetention","S3_GET_OBJECT_RETENTION","S3_PUT_OBJECT_RETENTION","canInspect","ADMIN_INSPECT_DATA","canChangeVersioning","S3_GET_BUCKET_VERSIONING","S3_PUT_BUCKET_VERSIONING","S3_GET_OBJECT_VERSION","canGetObject","S3_GET_OBJECT","canDelete","S3_DELETE_OBJECT","objectType","previewObjectType","multiActionButtons","action","DownloadIcon","ShareIcon","PreviewIcon","LegalHoldIcon","openRetentionModal","RetentionIcon","TagsIcon","VersionsIcon","ShareFile","closeShareModal","dataObject","SetRetention","updateInfo","DeleteObject","closeAndReload","setLoadingVersions","setSelectedVersion","SetLegalHoldModal","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","closeFileOpen","textTransform","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","S3_GET_OBJECT_LEGAL_HOLD","MetadataIcon","ObjectMetaData","versionToRestore","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","restoreVersion","putObjectRestore","restoreLocalObjectList","confirmButtonProps","bgColor","FileVersionStyled","content","left","borderBottomColor","maxWidth","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","fromISO","md","Checkbox","stopPropagation","SpecificVersionPill","button","IconButton","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","versionID","deleteMultipleObjects","all_versions","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","dateA","dateB","onCheckVersion","filteredItems","cloneState","RestoreFileVersion","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","ProgressBar","BrowserBreadcrumbs","ScreenTitle","subTitle","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","flexGrow","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","ListObjectsTable","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","requestInProgress","features","selFeatures","obOnly","searchObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","idElement","newPath","setSelectedObjects","setObjectDetailsView","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","setReloadObjectsList","onSelectAll","selectAllItems","rowStyle","_payload$index","noBackground","FilterObjectsSB","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","ListObjects","_downloadRenameModal$","location","useLocation","bucketToRewind","showDeleted","selectedInternalPaths","simplePath","versioningConfig","lockingEnabled","downloadRenameModal","selectedPreview","anonymousAccessOpen","_state$objectBrowser","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","deleteMultipleOpen","setDeleteMultipleOpen","rewindSelect","setRewindSelect","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","isMetaDataLoaded","setIsMetaDataLoaded","isVersioningApplied","pathSegment","pathname","pageTitle","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","isSelObjectDelMarker","checkForDelMarker","isObjDelMarker","obj","fetchMetadata","useCallback","encodedPath","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","prefixPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","allowedFiles","fileExtn","getRootProps","getInputProps","isDragActive","isDragAccept","useDropzone","noClick","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","AccessRuleIcon","refresh","versioning","rewindCloseModal","closePreviewWindow","closeRenameModal","AddAccessRule","closeAddAccessRule","PageLayout","paddingBottom","BucketsIcon","Badge","dotOnly","invisible","HistoryIcon","RefreshIcon","resetMessages","multiple","accept","UploadFilesButton","closeMenu","click","borderTop","VersionsNavigator","setDeletedAction","setShowDeletedObjects","DetailsListPanel","ObjectDetailPanel","configureBucketAllowed","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_DELETE_BUCKET","S3_GET_BUCKET_NOTIFICATIONS","S3_PUT_BUCKET_NOTIFICATIONS","S3_GET_REPLICATION_CONFIGURATION","S3_PUT_REPLICATION_CONFIGURATION","S3_GET_LIFECYCLE_CONFIGURATION","S3_PUT_LIFECYCLE_CONFIGURATION","ADMIN_GET_BUCKET_QUOTA","ADMIN_SET_BUCKET_QUOTA","S3_PUT_BUCKET_TAGGING","S3_GET_BUCKET_TAGGING","S3_LIST_BUCKET_VERSIONS","S3_GET_BUCKET_POLICY_STATUS","S3_DELETE_BUCKET_POLICY","searchBar","setSearchVersions","setHelpName","AutoColorIcon","ObjectManagerButton","PageHeaderWrapper","BackLink","IAM_PAGES","OBJECT_BROWSER_VIEW","IAM_PERMISSIONS","IAM_ROLES","BUCKET_ADMIN","SettingsIcon","HelpMenu","middleComponent","BrowserHandler","loadingVersioning","rewindDate","dateToRewind","loadingLocking","reloadObjectsList","initWSRequest","rewindMode","pathLoad","forceLoad","searchPath","setRequestInProgress","decodedIPaths","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","fromJSDate","plus","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","DaysSelector","dateChanged","newDate","ReadBox","actionButton","setModalSnackMessage","isFullscreen","loading","setLoading","basename","document","baseURI","replace","window","origin","iframeLoaded","flex","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","InformativeMessage","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","WrappedComponent","fallback","props","Suspense","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2603.9e6bcd08.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Buckets/ListBuckets/UploadPermissionUtils.ts","screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","utils/validationFunctions.ts","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/ObjectBrowser/utils.ts","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsTable.tsx","screens/Console/ObjectBrowser/FilterObjectsSB.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/ObjectBrowser/OBHeader.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState, Fragment } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport {\n AddAccessRuleIcon,\n Button,\n FormLayout,\n Grid,\n InputBox,\n Select,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IAddAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n prefilledRoute?: string;\n}\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n bucket,\n prefilledRoute,\n}: IAddAccessRule) => {\n const dispatch = useAppDispatch();\n\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n useEffect(() => {\n if (prefilledRoute) {\n setPrefix(prefilledRoute);\n }\n }, [prefilledRoute]);\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api.bucket\n .setAccessRuleWithBucket(bucket, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n dispatch(setSnackBarMessage(\"Access Rule added successfully\"));\n onClose();\n })\n .catch((res) => {\n dispatch(setErrorSnackMessage(errorToHandler(res.error)));\n onClose();\n });\n };\n\n return (\n }\n >\n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n {\n setSelectedAccess(value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n helpTip={\n \n Select the desired level of access available to unauthenticated\n Users\n \n }\n helpTipPlacement=\"right\"\n />\n \n \n\n \n \n \n \n );\n};\n\nexport default AddAccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const extractFileExtn = (resourceStr: string) => {\n //file extensions may contain query string. so exclude query strings !\n return (resourceStr.match(/\\.([^.]*?)(?=\\?|#|$)/) || [])[1];\n};\nexport const getPolicyAllowedFileExtensions = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n scopes,\n );\n\n //get acceptable files if any in the policy.\n const allowedFileExtensions = sessionGrantWildCards.reduce(\n (acc: string[], cv: string) => {\n const extension: string = extractFileExtn(cv);\n if (extension) {\n acc.push(`.${extension}`); //strict extension matching.\n }\n return acc;\n },\n [],\n );\n\n const uniqueExtensions = [...new Set(allowedFileExtensions)];\n return uniqueExtensions.join(\",\");\n};\n\n// The resource should not have the extensions (*.ext) for the hasPermission to work.\n// so sanitize this and also use to extract the allowed extensions outside of permission check.\nexport const getSessionGrantsWildCard = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n //get only the path matching grants to reduce processing.\n const grantsWithExtension = Object.keys(sessionGrants).reduce(\n (acc: Record, grantKey: string) => {\n if (extractFileExtn(grantKey) && grantKey.includes(uploadPath)) {\n acc[grantKey] = sessionGrants[grantKey];\n }\n return acc;\n },\n {},\n );\n\n const checkPathsForPermission = (sessionGrantKey: string) => {\n const grantActions = grantsWithExtension[sessionGrantKey];\n const hasScope = grantActions.some((actionKey) =>\n scopes.find((scopeKey) => {\n let wildCardMatch = false;\n const hasWildCard = scopeKey.indexOf(\"*\") !== -1;\n if (hasWildCard) {\n const scopeActionKey = scopeKey.substring(0, scopeKey.length - 1);\n\n wildCardMatch = actionKey.includes(scopeActionKey);\n }\n\n return wildCardMatch || actionKey === scopeKey;\n }),\n );\n\n const sessionGrantKeyPath = sessionGrantKey.substring(\n 0,\n sessionGrantKey.indexOf(\"/*.\"), //start of extension part.\n );\n const isUploadPathMatching =\n sessionGrantKeyPath === `arn:aws:s3:::${uploadPath}`;\n\n const hasGrant =\n isUploadPathMatching && sessionGrantKey !== \"arn:aws:s3:::*\";\n\n return hasScope && hasGrant;\n };\n\n return Object.keys(grantsWithExtension).filter(checkPathsForPermission);\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport styled from \"styled-components\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { encodeURLString, safeDecodeURIComponent } from \"../../../common/utils\";\nimport {\n Button,\n CopyIcon,\n NewPathIcon,\n Tooltip,\n Breadcrumbs,\n breakPoints,\n Box,\n} from \"mds\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { getSessionGrantsWildCard } from \"../Buckets/ListBuckets/UploadPermissionUtils\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\"),\n ),\n);\n\nconst BreadcrumbsMain = styled.div(() => ({\n display: \"flex\",\n \"& .additionalOptions\": {\n paddingRight: \"10px\",\n display: \"flex\",\n alignItems: \"center\",\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"none\",\n },\n },\n \"& .slashSpacingStyle\": {\n margin: \"0 5px\",\n },\n}));\n\ninterface IObjectBrowser {\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n bucketName,\n internalPaths,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [canCreateSubpath, setCanCreateSubpath] = useState(false);\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n const pathToCheckPerms = bucketName + paths || bucketName;\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathToCheckPerms,\n putObjectPermScopes,\n );\n\n useEffect(() => {\n setCanCreateSubpath(false);\n Object.keys(sessionGrants).forEach((grant) => {\n grant.includes(pathToCheckPerms) &&\n grant.includes(\"/*\") &&\n setCanCreateSubpath(true);\n });\n }, [pathToCheckPerms, internalPaths, sessionGrants]);\n\n const canCreatePath =\n hasPermission(\n [pathToCheckPerms, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) ||\n anonymousMode ||\n canCreateSubpath;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/browser/${bucketName}/${\n subSplit ? `${encodeURLString(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n \n {safeDecodeURIComponent(objectItem) /*Only for display*/}\n \n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" }),\n );\n }}\n >\n {\n safeDecodeURIComponent(\n objectItem,\n ) /*Only for display to preserve */\n }\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n \n /\n {versionedFile} - Versions\n \n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n } else {\n if (splitPaths.length === 0) {\n navigate(\"/browser\");\n\n return;\n }\n\n const prevPath = splitPaths.slice(0, -1);\n\n navigate(\n `/browser/${bucketName}${\n prevPath.length > 0\n ? `/${encodeURLString(`${prevPath.join(\"/\")}/`)}`\n : \"\"\n }`,\n );\n }\n };\n\n return (\n \n \n {createFolderOpen && (\n \n )}\n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n dispatch(setSnackBarMessage(\"Path copied to clipboard\"));\n }}\n style={{\n width: \"28px\",\n height: \"28px\",\n color: \"#969FA8\",\n border: \"#969FA8 1px solid\",\n marginRight: 5,\n }}\n />\n \n {additionalOptions}\n \n }\n >\n {listBreadcrumbs}\n \n {!hidePathButton && (\n \n {\n setCreateFolderOpen(true);\n }}\n disabled={anonymousMode ? false : rewindEnabled || !canCreatePath}\n icon={}\n style={{\n whiteSpace: \"nowrap\",\n }}\n variant={\"regular\"}\n label={\"Create new path\"}\n />\n \n )}\n \n div\": {\n fontSize: 12,\n fontWeight: \"normal\",\n flexDirection: \"row\",\n flexWrap: \"nowrap\",\n },\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"flex\",\n },\n }}\n >\n {additionalOptions}\n \n \n );\n};\n\nexport default BrowserBreadcrumbs;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const isVersionedMode = (status: string | undefined) => {\n return status === \"Enabled\" || status === \"Suspended\";\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport {\n download,\n downloadSelectedAsZip,\n} from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\n\nexport const downloadSelected = createAsyncThunk(\n \"objectBrowser/downloadSelected\",\n async (bucketName: string, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const downloadObject = (object: BucketObjectItem) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n encodeURLString(object.name),\n object.version_id,\n object.size,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n };\n\n if (state.objectBrowser.selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n itemsToDownload = state.objectBrowser.records.filter(filterFunction);\n\n // In case just one element is selected, then we trigger download modal validation.\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n dispatch(setDownloadRenameModal(itemsToDownload[0]));\n return;\n } else {\n downloadObject(itemsToDownload[0]);\n }\n } else {\n if (itemsToDownload.length === 1) {\n downloadObject(itemsToDownload[0]);\n } else if (itemsToDownload.length > 1) {\n const fileName = `${DateTime.now().toFormat(\n \"LL-dd-yyyy-HH-mm-ss\",\n )}_files_list.zip`;\n\n // We are enforcing zip download when multiple files are selected for better user experience\n const multiObjList = itemsToDownload.reduce((dwList: any[], bi) => {\n // Download objects/prefixes(recursively) as zip\n // Skip any deleted files selected via \"Show deleted objects\" in selection and log for debugging\n const isDeleted = bi?.delete_flag;\n if (bi && !isDeleted) {\n dwList.push(bi.name);\n } else {\n console.log(`Skipping ${bi?.name} from download.`);\n }\n return dwList;\n }, []);\n\n await downloadSelectedAsZip(bucketName, multiObjList, fileName);\n return;\n }\n }\n }\n },\n);\n\nexport const openPreview = createAsyncThunk(\n \"objectBrowser/openPreview\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setPreviewOpen(true));\n }\n }\n },\n);\n\nexport const openShare = createAsyncThunk(\n \"objectBrowser/openShare\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setShareFileModalOpen(true));\n }\n }\n },\n);\n\nexport const openAnonymousAccess = createAsyncThunk(\n \"objectBrowser/openAnonymousAccess\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n if (\n state.objectBrowser.selectedObjects.length === 1 &&\n state.objectBrowser.selectedObjects[0].endsWith(\"/\")\n ) {\n dispatch(setAnonymousAccessOpen(true));\n }\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { CSSObject } from \"styled-components\";\nimport { Button, DropdownSelector, UploadFolderIcon, UploadIcon } from \"mds\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\nimport { getSessionGrantsWildCard } from \"./UploadPermissionUtils\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n overrideStyles?: CSSObject;\n}\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n overrideStyles = {},\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [uploadOptionsOpen, uploadOptionsSetOpen] = useState(false);\n\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n putObjectPermScopes,\n );\n\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n uploadOptionsSetOpen(!uploadOptionsOpen);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed =\n hasPermission(\n [uploadPath, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const uploadFolderAllowed = hasPermission(\n [bucketName, ...sessionGrantWildCards],\n putObjectPermScopes,\n false,\n true,\n );\n\n const uploadFolderAction = (action: string) => {\n if (action === \"folder\") {\n uploadFolderFunction(handleCloseUpload);\n return;\n }\n\n uploadFileFunction(handleCloseUpload);\n };\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n sx={overrideStyles}\n />\n \n ,\n value: \"file\",\n disabled: !uploadObjectAllowed || forceDisable,\n },\n {\n label: \"Upload Folder\",\n icon: ,\n value: \"folder\",\n disabled: !uploadFolderAllowed || forceDisable,\n },\n ]}\n selectedOption={\"\"}\n onSelect={(nValue) => uploadFolderAction(nValue)}\n hideTriggerAction={() => {\n uploadOptionsSetOpen(false);\n }}\n open={uploadOptionsOpen}\n anchorEl={anchorEl}\n anchorOrigin={\"end\"}\n useAnchorWidth={false}\n />\n \n );\n};\n\nexport default UploadFilesButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Button, ClosePanelIcon } from \"mds\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n return (\n \n }\n sx={{\n position: \"absolute\",\n right: 5,\n top: 18,\n padding: 0,\n height: 14,\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"transparent\",\n },\n }}\n />\n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLongFileOpen,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { AppDispatch } from \"../../../store\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { BucketObject } from \"api/consoleApi\";\n\nexport const downloadObject = (\n dispatch: AppDispatch,\n bucketName: string,\n internalPaths: string,\n object: BucketObject,\n) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const isWinOs = getClientOS().toLowerCase().includes(\"win\");\n\n if ((object.name?.length || 0) > 200 && isWinOs) {\n dispatch(setLongFileOpen(true));\n return;\n }\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n object.size || 0,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name || \"\",\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This object contains variables that will be used across form components.\n\nimport React from \"react\";\nimport { Box } from \"mds\";\nimport { replaceUnicodeChar } from \"../../../../../../common/utils\";\n\ninterface IIconWithLabel {\n icon: React.ReactNode;\n strings: string[];\n}\n\nconst IconWithLabel = ({ icon, strings }: IIconWithLabel) => {\n return (\n \n {icon}\n \n {replaceUnicodeChar(strings[strings.length - 1])}\n \n \n );\n};\n\nexport default IconWithLabel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport {\n FileBookIcon,\n FileCodeIcon,\n FileConfigIcon,\n FileDbIcon,\n FileFontIcon,\n FileImageIcon,\n FileLockIcon,\n FileMissingIcon,\n FileMusicIcon,\n FileNonType,\n FilePdfIcon,\n FilePptIcon,\n FileTxtIcon,\n FileVideoIcon,\n FileXlsIcon,\n FileZipIcon,\n FolderBrowserIcon,\n} from \"mds\";\nimport IconWithLabel from \"./IconWithLabel\";\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"doc\", \"docx\", \"txt\", \"rtf\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false,\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.slice(0, -1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box } from \"mds\";\nimport { safeDecodeURIComponent } from \"../../../../../../common/utils\";\n\ninterface IObjectMetadata {\n metaData: any;\n}\n\nconst itemRendererFn = (element: any) => {\n return Array.isArray(element)\n ? element.map(safeDecodeURIComponent).join(\", \")\n : safeDecodeURIComponent(element);\n};\n\nconst ObjectMetaData = ({ metaData }: IObjectMetadata) => {\n const metaKeys = Object.keys(metaData);\n\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = itemRendererFn(metaData[element]);\n return (\n \n {element}\n
\n {renderItem}\n \n );\n })}\n
\n );\n};\n\nexport default ObjectMetaData;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => ({\n value: (num + 1).toString(),\n label: (num + 1).toString(),\n}));\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(Array(50), (_, numYear) => ({\n value: (numYear + currentYear).toString(),\n label: (numYear + currentYear).toString(),\n}));\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport { Box, HelpIcon, InputLabel, Select, Tooltip } from \"mds\";\nimport { days, months, validDate, years } from \"./utils\";\n\ninterface IDateSelectorProps {\n id: string;\n label: string;\n disableOptions?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n id,\n label,\n disableOptions = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any,\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else {\n return false;\n }\n };\n\n const monthForDropDown = [{ value: \"\", label: \"\" }, ...months];\n const daysForDrop = [{ value: \"\", label: \"\" }, ...days];\n const yearsForDrop = [{ value: \"\", label: \"\" }, ...years];\n\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n \n \n \n \n \n \n \n )}\n \n \n \n {\n setMonth(newValue);\n }}\n options={monthForDropDown}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setDay(newValue);\n }}\n options={daysForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setYear(newValue);\n }}\n options={yearsForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n sx={{\n marginBottom: 12,\n }}\n />\n \n \n );\n },\n);\n\nexport default DateSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Box, Button, FormLayout, Grid, RadioGroup, Switch } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { BucketObject, ObjectRetentionMode } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: BucketObject;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(retentionConfig?.mode || ObjectRetentionMode.Governance);\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo, retentionConfig?.mode]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(ObjectRetentionMode.Governance);\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string,\n ) => {\n api.buckets\n .putObjectRetention(\n bucketName,\n {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n },\n {\n expires: expireDate,\n mode: type as ObjectRetentionMode,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null,\n ) => {\n api.buckets\n .deleteObjectRetention(bucketName, {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n })\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name || \"\";\n const versionId = objectInfo.version_id || null;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n ) => {\n onSubmit(e);\n }}\n >\n \n \n Selected Object: {objectName}\n \n {showSwitcher && (\n ) => {\n setStatusEnabled(!statusEnabled);\n }}\n label={\"Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n )}\n {\n setType(e.target.value as ObjectRetentionMode);\n }}\n selectorOptions={[\n { label: \"Governance\", value: ObjectRetentionMode.Governance },\n { label: \"Compliance\", value: ObjectRetentionMode.Compliance },\n ]}\n />\n {\n setIsDateValid(isValid);\n if (isValid) {\n setDate(date);\n }\n }}\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default SetRetention;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioningInfo: BucketVersioningResponse | undefined;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n versioningInfo,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n\n // We close the modal box on access denied.\n if (err.detailedError === \"Access Denied.\") {\n closeDeleteModalAndRefresh(true);\n }\n };\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?prefix=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }${bypassGovernance ? \"&bypass=true\" : \"\"}`,\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete:
\n {decodeURLString(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n
\n
\n Version ID:\n
\n {selectedVersion}\n
\n ) : (\n \"\"\n )}\n ?
\n
\n {isVersionedMode(versioningInfo?.status) &&\n selectedVersion === \"\" && (\n \n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n \n )}\n {canBypass && (deleteVersions || selectedVersion !== \"\") && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n {deleteVersions && (\n \n \n This will remove the object as well as all of its versions,{\" \"}\n
\n This action is irreversible.\n \n
\n Are you sure you want to continue?\n
\n )}\n
\n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Box, Button, FormLayout, Grid, Switch } from \"mds\";\nimport { BucketObject, ObjectLegalHoldStatus } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: BucketObject;\n}\n\nconst SetLegalHoldModal = ({\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api.buckets\n .putObjectLegalHold(\n bucketName,\n {\n prefix: encodeURLString(objectName),\n version_id: versionId || \"\",\n },\n {\n status: legalHoldEnabled\n ? ObjectLegalHoldStatus.Enabled\n : ObjectLegalHoldStatus.Disabled,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n ) => {\n onSubmit(e);\n }}\n >\n \n \n Object: {bucketName}\n \n ) => {\n setLegalHoldEnabled(!legalHoldEnabled);\n }}\n label={\"Legal Hold Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n tooltip={\n \"To enable this feature you need to enable versioning on the bucket before creation\"\n }\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default SetLegalHoldModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport {\n AddNewTagIcon,\n Button,\n DisabledIcon,\n EditTagIcon,\n InputBox,\n SectionTitle,\n Box,\n Grid,\n Tag,\n FormLayout,\n} from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { useSelector } from \"react-redux\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst DeleteTag = styled.b(({ theme }) => ({\n color: get(theme, \"signalColors.danger\", \"#C83B51\"),\n marginLeft: 5,\n}));\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n actualInfo,\n}: ITagModal) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const selectedObject = encodeURLString(actualInfo.name || \"\");\n\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name?.split(\"/\");\n const currentItem = allPathData?.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: newTagList },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: cleanObject },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n const tagsFor = (plural: boolean) => (\n \n Tag{plural ? \"s\" : \"\"} for: {currentItem}\n \n );\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n iconColor={deleteEnabled ? \"delete\" : \"default\"}\n titleIcon={deleteEnabled ? : }\n >\n {deleteEnabled ? (\n \n \n {tagsFor(false)}\n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n ?\n \n \n \n \n \n \n ) : (\n \n \n \n {tagsFor(true)}\n \n Current Tags:\n
\n {currTagKeys.length === 0 ? (\n \n There are no tags for this object\n \n ) : (\n \n )}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n
\n \n \n \n \n } separator={false}>\n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n \n )}\n \n
\n );\n};\n\nexport default AddTagModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport {\n Button,\n InspectMenuIcon,\n PasswordKeyIcon,\n Switch,\n Grid,\n Box,\n} from \"mds\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IInspectObjectProps {\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n}: IInspectObjectProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURLString(inspectPath + \"/xl.meta\");\n const volume = encodeURLString(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n dispatch(\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n }),\n );\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n ) => {\n onSubmit(e);\n }}\n >\n Would you like to encrypt {decodeURLString(inspectPath)}?{\" \"}\n
\n {\n setIsEncrypt(!isEncrypt);\n }}\n description=\"\"\n />\n \n \n \n \n \n )}\n {decryptionKey ? (\n }\n >\n \n This will be displayed only once. It cannot be recovered.\n
\n Use secure medium to share this key.\n
\n \n \n \n \n ) : null}\n
\n );\n};\n\nexport default InspectObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, EditIcon, FormLayout, Grid, InputBox, Switch } from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { useAppDispatch } from \"../../../store\";\nimport { downloadObject } from \"./utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: BucketObject;\n closeModal: () => void;\n}\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const dispatch = useAppDispatch();\n\n const [newFileName, setNewFileName] = useState(currentItem);\n const [acceptLongName, setAcceptLongName] = useState(false);\n\n const doDownload = (e: React.FormEvent) => {\n e.preventDefault();\n downloadObject(dispatch, bucketName, internalPaths, actualInfo);\n closeModal();\n };\n\n return (\n }\n >\n

\n The file you are trying to download has a long name.\n
\n This can cause issues on Windows Systems by trimming the file name after\n download.\n
\n
We recommend to rename the file download\n
\n ) => {\n doDownload(e);\n }}\n >\n \n ) => {\n setNewFileName(event.target.value);\n }}\n label=\"\"\n type={\"text\"}\n value={newFileName}\n error={\n newFileName.length > 200 && !acceptLongName\n ? \"Filename should be less than 200 characters long.\"\n : \"\"\n }\n />\n ) => {\n setAcceptLongName(event.target.checked);\n if (event.target.checked) {\n setNewFileName(currentItem);\n }\n }}\n label={\"Use Original Name\"}\n />\n \n 200 && !acceptLongName}\n label={\"Download File\"}\n />\n \n \n \n \n );\n};\n\nexport default RenameLongFileName;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n ActionsList,\n Box,\n Button,\n DeleteIcon,\n DownloadIcon,\n Grid,\n InspectMenuIcon,\n LegalHoldIcon,\n Loader,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n SimpleHeader,\n TagsIcon,\n VersionsIcon,\n} from \"mds\";\nimport { api } from \"api\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject, BucketVersioningResponse } from \"api/consoleApi\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport {\n decodeURLString,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n setVersionsModeEnabled,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { displayFileIconName } from \"./utils\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst emptyFile: BucketObject = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: 0,\n tags: {},\n version_id: undefined,\n};\n\ninterface IObjectDetailPanelProps {\n internalPaths: string;\n bucketName: string;\n versioningInfo: BucketVersioningResponse;\n locking: boolean | undefined;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n internalPaths,\n bucketName,\n versioningInfo,\n locking,\n onClosePanel,\n}: IObjectDetailPanelProps) => {\n const dispatch = useAppDispatch();\n\n const distributedSetup = useSelector(selDistSet);\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion,\n );\n const loadingObjectInfo = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjectInfo,\n );\n\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n const [longFileOpen, setLongFileOpen] = useState(false);\n const [metaData, setMetaData] = useState(null);\n const [loadMetadata, setLoadingMetadata] = useState(false);\n\n const internalPathsDecoded = decodeURLString(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: BucketObject) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: BucketObject) => el.version_id === selectedVersion,\n ) || emptyFile;\n }\n\n if (!infoElement.is_delete_marker) {\n setLoadingMetadata(true);\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n\n const tVersionSize = result.reduce(\n (acc: number, currValue: BucketObject): number => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0,\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n const resInfo = result[0];\n\n setActualInfo(resInfo);\n setVersions([]);\n\n if (!resInfo.is_delete_marker) {\n setLoadingMetadata(true);\n }\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((err) => {\n console.error(\"Error loading object details\", err.error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n useEffect(() => {\n if (loadMetadata && internalPaths !== \"\") {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: internalPaths,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n\n setMetaData(metadata);\n setLoadingMetadata(false);\n })\n .catch((err) => {\n console.error(\"Error Getting Metadata Status: \", err.detailedError);\n setLoadingMetadata(false);\n });\n }\n }, [bucketName, internalPaths, loadMetadata]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const closeFileOpen = () => {\n setLongFileOpen(false);\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const loaderForContainer = (\n
\n \n
\n );\n\n if (!actualInfo) {\n if (loadingObjectInfo) {\n return loaderForContainer;\n }\n\n return null;\n }\n\n const objectName =\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name;\n\n const objectResources = [\n bucketName,\n currentItem,\n [bucketName, actualInfo.name].join(\"/\"),\n ];\n const canSetLegalHold = hasPermission(bucketName, [\n IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n const canSetTags = hasPermission(objectResources, [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const canChangeRetention = hasPermission(\n objectResources,\n [\n IAM_SCOPES.S3_GET_OBJECT_RETENTION,\n IAM_SCOPES.S3_PUT_OBJECT_RETENTION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\n true,\n );\n const canInspect = hasPermission(objectResources, [\n IAM_SCOPES.ADMIN_INSPECT_DATA,\n ]);\n const canChangeVersioning = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_OBJECT_VERSION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n const canGetObject = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_GET_ACTIONS,\n ]);\n const canDelete = hasPermission(\n [bucketName, currentItem, [bucketName, actualInfo.name].join(\"/\")],\n [IAM_SCOPES.S3_DELETE_OBJECT],\n );\n\n let objectType: AllowedPreviews = previewObjectType(metaData, currentItem);\n\n const multiActionButtons = [\n {\n action: () => {\n downloadObject(dispatch, bucketName, internalPaths, actualInfo);\n },\n label: \"Download\",\n disabled: !!actualInfo.is_delete_marker || !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Download this Object\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"download this object\",\n ),\n },\n {\n action: () => {\n shareObject();\n },\n label: \"Share\",\n disabled: !!actualInfo.is_delete_marker || !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Share this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"share this object\",\n ),\n },\n {\n action: () => {\n setPreviewOpen(true);\n },\n label: \"Preview\",\n disabled:\n !!actualInfo.is_delete_marker ||\n (objectType === \"none\" && !canGetObject),\n icon: ,\n tooltip: canGetObject\n ? \"Preview this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"preview this object\",\n ),\n },\n {\n action: () => {\n setLegalholdOpen(true);\n },\n label: \"Legal Hold\",\n disabled:\n !locking ||\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n !canSetLegalHold ||\n selectedVersion !== \"\",\n icon: ,\n tooltip: canSetLegalHold\n ? locking\n ? \"Change Legal Hold rules for this File\"\n : \"Object Locking must be enabled on this bucket in order to set Legal Hold\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD, IAM_SCOPES.S3_PUT_ACTIONS],\n \"change legal hold settings for this object\",\n ),\n },\n {\n action: openRetentionModal,\n label: \"Retention\",\n disabled:\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n !canChangeRetention ||\n selectedVersion !== \"\" ||\n !locking,\n icon: ,\n tooltip: canChangeRetention\n ? locking\n ? \"Change Retention rules for this File\"\n : \"Object Locking must be enabled on this bucket in order to set Retention Rules\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_GET_OBJECT_RETENTION,\n IAM_SCOPES.S3_PUT_OBJECT_RETENTION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\n \"change Retention Rules for this object\",\n ),\n },\n {\n action: () => {\n setTagModalOpen(true);\n },\n label: \"Tags\",\n disabled:\n !!actualInfo.is_delete_marker || selectedVersion !== \"\" || !canSetTags,\n icon: ,\n tooltip: canSetTags\n ? \"Change Tags for this File\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n IAM_SCOPES.S3_GET_OBJECT_TAGGING,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\n \"set Tags on this object\",\n ),\n },\n {\n action: () => {\n setInspectModalOpen(true);\n },\n label: \"Inspect\",\n disabled:\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n selectedVersion !== \"\" ||\n !canInspect,\n icon: ,\n tooltip: canInspect\n ? \"Inspect this file\"\n : permissionTooltipHelper(\n [IAM_SCOPES.ADMIN_INSPECT_DATA],\n \"inspect this file\",\n ),\n },\n {\n action: () => {\n dispatch(\n setVersionsModeEnabled({\n status: !versionsMode,\n objectName: objectName,\n }),\n );\n },\n label: versionsMode ? \"Hide Object Versions\" : \"Display Object Versions\",\n icon: ,\n disabled:\n !distributedSetup ||\n !(actualInfo.version_id && actualInfo.version_id !== \"null\") ||\n !canChangeVersioning,\n tooltip: canChangeVersioning\n ? actualInfo.version_id && actualInfo.version_id !== \"null\"\n ? \"Display Versions for this file\"\n : \"\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_OBJECT_VERSION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\n \"display all versions of this object\",\n ),\n },\n ];\n\n const calculateLastModifyTime = (lastModified: string) => {\n const currentTime = new Date();\n const modifiedTime = new Date(lastModified);\n\n const difTime = currentTime.getTime() - modifiedTime.getTime();\n\n const formatTime = niceDaysInt(difTime, \"ms\");\n\n return formatTime.trim() !== \"\" ? `${formatTime} ago` : \"Just now\";\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {inspectModalOpen && actualInfo && (\n \n )}\n {longFileOpen && actualInfo && (\n \n )}\n\n {loadingObjectInfo ? (\n {loaderForContainer}\n ) : (\n \n \n {displayFileIconName(objectName || \"\", true)}\n {objectName}\n \n }\n items={multiActionButtons}\n />\n \n \n \n }\n iconLocation={\"start\"}\n fullWidth\n variant={\"secondary\"}\n onClick={() => {\n setDeleteOpen(true);\n }}\n disabled={\n selectedVersion === \"\" && actualInfo.is_delete_marker\n }\n sx={{\n width: \"calc(100% - 44px)\",\n margin: \"8px 0\",\n }}\n label={`Delete${selectedVersion !== \"\" ? \" version\" : \"\"}`}\n />\n \n \n \n } label={\"Object Info\"} />\n \n Name:\n
\n
{objectName}
\n
\n {selectedVersion !== \"\" && (\n \n Version ID:\n
\n {selectedVersion}\n
\n )}\n \n Size:\n
\n {niceBytes(`${actualInfo.size || \"0\"}`)}\n
\n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n
\n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n
\n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n
\n {calculateLastModifyTime(actualInfo.last_modified || \"\")}\n
\n )}\n \n ETAG:\n
\n {actualInfo.etag || \"N/A\"}\n
\n \n Tags:\n
\n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n
\n \n \n \n Legal Hold:\n
\n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n
\n \n
\n \n \n \n Retention Policy:\n
\n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n
\n \n
\n {!actualInfo.is_delete_marker && (\n \n } />\n \n {actualInfo && metaData ? (\n \n ) : null}\n \n \n )}\n \n )}\n
\n );\n};\n\nexport default ObjectDetailPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box, RecoverIcon } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { restoreLocalObjectList } from \"../../../../ObjectBrowser/objectBrowserSlice\";\n\ninterface IRestoreFileVersion {\n restoreOpen: boolean;\n bucketName: string;\n versionToRestore: BucketObject;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst RestoreFileVersion = ({\n versionToRestore,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const dispatch = useAppDispatch();\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api.buckets\n .putObjectRestore(bucketName, {\n prefix: encodeURLString(objectPath),\n version_id: versionToRestore.version_id || \"\",\n })\n .then(() => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n dispatch(\n restoreLocalObjectList({\n prefix: objectPath,\n objectInfo: versionToRestore,\n }),\n );\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n variant: \"secondary\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore
\n {objectPath}
with Version ID:\n
\n {versionToRestore.version_id}?\n
\n }\n />\n );\n};\n\nexport default RestoreFileVersion;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n \n );\n};\n\nexport default SpecificVersionPill;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { DateTime } from \"luxon\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n IconButton,\n Tooltip,\n Grid,\n Checkbox,\n} from \"mds\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: BucketObject;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: BucketObject) => void;\n onDownload: (versionInfo: BucketObject) => void;\n onRestore: (versionInfo: BucketObject) => void;\n onPreview: (versionInfo: BucketObject) => void;\n globalClick: (versionInfo: BucketObject) => void;\n key: any;\n style: any;\n}\n\nconst FileVersionStyled = styled.div(({ theme }) => {\n return {\n \"&:before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: get(theme, \"borderColor\", \"#F8F8F8\"),\n left: \"24px\",\n },\n \"& .mainFileVersionItem\": {\n borderBottom: `${get(theme, \"borderColor\", \"#F8F8F8\")} 1px solid`,\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n \"& .intermediateLayer\": {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n },\n \"& .buttonContainer\": {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n },\n \"& .versionID\": {\n fontSize: \"12px\",\n margin: \"2px 0\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n },\n \"& .versionData\": {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n },\n \"@media (max-width: 600px)\": {\n \"& .buttonContainer\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n \"@media (max-width: 799px)\": {\n \"&:before\": {\n display: \"none\",\n },\n \"& .mainFileVersionItem\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n \"& .intermediateLayer\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n \"& .versionData\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n \"& .collapsableInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .versionItem\": {\n display: \"none\",\n },\n },\n };\n});\n\nconst FileVersionItem = ({\n fileName,\n versionInfo,\n isSelected,\n checkable,\n isChecked,\n onCheck,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n key,\n style,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n let lastModified = DateTime.now();\n\n if (versionInfo.last_modified) {\n lastModified = DateTime.fromISO(versionInfo.last_modified);\n }\n\n return (\n \n {\n globalClick(versionInfo);\n }}\n key={key}\n style={style}\n >\n \n \n \n \n \n {checkable && (\n {\n e.stopPropagation();\n onCheck(versionInfo.version_id || \"\");\n }}\n value={versionInfo.version_id || \"\"}\n disabled={versionInfo.is_delete_marker}\n sx={{\n width: \"initial\",\n }}\n />\n )}\n {displayFileIconName(fileName, true)} v{index.toString()}\n \n {pill && }\n \n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n {lastModified.toFormat(\"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\")}\n \n \n Size: {niceBytes(`${versionInfo.size || \"0\"}`)}\n \n \n \n \n \n \n );\n};\n\nexport default FileVersionItem;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\n\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon, Switch, Grid, InputBox } from \"mds\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n}: IDeleteNonCurrentProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n useEffect(() => {\n if (deleteLoading) {\n api.buckets\n .deleteObject(selectedBucket, {\n prefix: selectedObject,\n non_current_versions: true,\n bypass: bypassGovernance,\n })\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n bypassGovernance,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {decodeURLString(selectedObject)}?
\n {canBypass && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n
\n To continue please type YES, PROCEED in the box.\n
\n
\n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n
\n }\n />\n );\n};\n\nexport default DeleteNonCurrentVersions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteSelectedVersionsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedVersions: string[];\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedVersions,\n selectedObject,\n}: IDeleteSelectedVersionsProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n const onClose = () => closeDeleteModalAndRefresh(false);\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n useEffect(() => {\n if (deleteLoading) {\n const selectedObjectsRequest = selectedVersions.map((versionID) => {\n return {\n path: selectedObject,\n versionID: versionID,\n recursive: false,\n };\n });\n\n if (selectedObjectsRequest.length > 0) {\n api.buckets\n .deleteMultipleObjects(selectedBucket, selectedObjectsRequest, {\n all_versions: false,\n bypass: bypassGovernance,\n })\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n bypassGovernance,\n dispatch,\n ]);\n\n if (!selectedVersions) {\n return null;\n }\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedVersions.length}{\" \"}\n versions for {selectedObject}?\n {canBypass && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n \n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n breakPoints,\n Button,\n DeleteIcon,\n DeleteNonCurrentIcon,\n Grid,\n ProgressBar,\n ScreenTitle,\n Select,\n SelectMultipleIcon,\n VersionsIcon,\n} from \"mds\";\nimport ShareFile from \"./ShareFile\";\n\nimport { decodeURLString, niceBytesInt } from \"../../../../../../common/utils\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport FileVersionItem from \"./FileVersionItem\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport DeleteNonCurrent from \"../ListObjects/DeleteNonCurrent\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport DeleteSelectedVersions from \"./DeleteSelectedVersions\";\nimport {\n selDistSet,\n setErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { List, ListRowProps } from \"react-virtualized\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IVersionsNavigatorProps {\n internalPaths: string;\n bucketName: string;\n}\n\nconst emptyFile: BucketObject = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: 0,\n tags: {},\n version_id: undefined,\n};\n\nconst VersionsNavigator = ({\n internalPaths,\n bucketName,\n}: IVersionsNavigatorProps) => {\n const dispatch = useAppDispatch();\n\n const searchVersions = useSelector(\n (state: AppState) => state.objectBrowser.searchVersions,\n );\n const loadingVersions = useSelector(\n (state: AppState) => state.objectBrowser.loadingVersions,\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion,\n );\n\n const distributedSetup = useSelector(selDistSet);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\n null,\n );\n const [sortValue, setSortValue] = useState(\"date\");\n const [previewOpen, setPreviewOpen] = useState(false);\n const [deleteNonCurrentOpen, setDeleteNonCurrentOpen] =\n useState(false);\n const [selectEnabled, setSelectEnabled] = useState(false);\n const [selectedItems, setSelectedItems] = useState([]);\n const [delSelectedVOpen, setDelSelectedVOpen] = useState(false);\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (!loadingVersions && !actualInfo) {\n dispatch(setLoadingVersions(true));\n }\n }, [loadingVersions, actualInfo, dispatch]);\n\n useEffect(() => {\n if (loadingVersions && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result = get(res.data, \"objects\", []);\n\n const decodedInternalPaths = decodeURLString(internalPaths);\n\n // Filter the results prefixes as API can return more files than expected.\n const filteredPrefixes = result.filter(\n (item: BucketObject) => item.name === decodedInternalPaths,\n );\n\n if (distributedSetup) {\n setActualInfo(\n filteredPrefixes.find((el: BucketObject) => el.is_latest) ||\n emptyFile,\n );\n setVersions(filteredPrefixes);\n } else {\n setActualInfo(filteredPrefixes[0]);\n setVersions([]);\n }\n\n dispatch(setLoadingVersions(false));\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n dispatch(setLoadingVersions(false));\n });\n }\n }, [loadingVersions, bucketName, internalPaths, dispatch, distributedSetup]);\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n setPreviewOpen(false);\n };\n\n const onShareItem = (item: BucketObject) => {\n setObjectToShare(item);\n shareObject();\n };\n\n const onPreviewItem = (item: BucketObject) => {\n setObjectToShare(item);\n setPreviewOpen(true);\n };\n\n const onRestoreItem = (item: BucketObject) => {\n setRestoreVersion(item);\n setRestoreVersionOpen(true);\n };\n\n const onDownloadItem = (item: BucketObject) => {\n downloadObject(dispatch, bucketName, internalPaths, item);\n };\n\n const onGlobalClick = (item: BucketObject) => {\n dispatch(setSelectedVersion(item.version_id || \"\"));\n };\n\n const filteredRecords = versions.filter((version) => {\n if (version.version_id) {\n return version.version_id.includes(searchVersions);\n }\n return false;\n });\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(null);\n\n if (reloadObjectData) {\n dispatch(setLoadingVersions(true));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeDeleteNonCurrent = (reloadAfterDelete: boolean) => {\n setDeleteNonCurrentOpen(false);\n\n if (reloadAfterDelete) {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeSelectedVersions = (reloadOnComplete: boolean) => {\n setDelSelectedVOpen(false);\n\n if (reloadOnComplete) {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n setSelectedItems([]);\n }\n };\n\n const totalSpace = versions.reduce((acc: number, currValue: BucketObject) => {\n if (currValue.size) {\n return acc + currValue.size;\n }\n return acc;\n }, 0);\n\n filteredRecords.sort((a, b) => {\n switch (sortValue) {\n case \"size\":\n if (a.size && b.size) {\n if (a.size < b.size) {\n return -1;\n }\n if (a.size > b.size) {\n return 1;\n }\n return 0;\n }\n return 0;\n default:\n const dateA = new Date(a.last_modified || \"\").getTime();\n const dateB = new Date(b.last_modified || \"\").getTime();\n\n if (dateA < dateB) {\n return 1;\n }\n if (dateA > dateB) {\n return -1;\n }\n return 0;\n }\n });\n\n const onCheckVersion = (selectedVersion: string) => {\n if (selectedItems.includes(selectedVersion)) {\n const filteredItems = selectedItems.filter(\n (element) => element !== selectedVersion,\n );\n\n setSelectedItems(filteredItems);\n\n return;\n }\n\n const cloneState = [...selectedItems];\n cloneState.push(selectedVersion);\n\n setSelectedItems(cloneState);\n };\n\n const rowRenderer = ({\n key, // Unique key within array of rows\n index, // Index of row within collection\n isScrolling, // The List is currently being scrolled\n isVisible, // This row is visible within the List (eg it is not an overscanned row)\n style, // Style object to be applied to row (to position it)\n }: ListRowProps) => {\n const versOrd = versions.length - index;\n return (\n \n );\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && restoreVersion && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {deleteNonCurrentOpen && (\n \n )}\n {delSelectedVOpen && (\n \n )}\n \n {!actualInfo && (\n \n \n \n )}\n\n {actualInfo && (\n \n \n \n \n \n \n \n \n }\n title={`${\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name\n } Versions`}\n subTitle={\n \n \n \n {versions.length} Version\n {versions.length === 1 ? \"\" : \"s\"}   \n \n \n \n {niceBytesInt(totalSpace)}\n \n \n }\n actions={\n \n \n {\n setSelectEnabled(!selectEnabled);\n }}\n icon={}\n variant={selectEnabled ? \"callAction\" : \"regular\"}\n style={{ marginRight: 8 }}\n />\n \n {selectEnabled && (\n \n {\n setDelSelectedVOpen(true);\n }}\n icon={}\n variant={\"secondary\"}\n style={{ marginRight: 8 }}\n disabled={selectedItems.length === 0}\n />\n \n )}\n \n {\n setDeleteNonCurrentOpen(true);\n }}\n icon={}\n variant={\"secondary\"}\n style={{ marginRight: 15 }}\n disabled={versions.length <= 1}\n />\n \n {\n setSortValue(newValue);\n }}\n noLabelMinWidth\n />\n \n }\n bottomBorder={false}\n />\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" && (\n // @ts-ignore\n \n )}\n \n \n )}\n \n \n );\n};\n\nexport default VersionsNavigator;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { DateTime } from \"luxon\";\nimport { BucketObjectItem } from \"./types\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport { displayFileIconName } from \"./utils\";\n\n// Functions\n\nexport const displayParsedDate = (object: BucketObjectItem) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n\n const currTime = DateTime.now();\n const objectTime = DateTime.fromISO(object.last_modified);\n\n const isToday =\n currTime.hasSame(objectTime, \"day\") &&\n currTime.hasSame(objectTime, \"month\") &&\n currTime.hasSame(objectTime, \"year\");\n\n if (isToday) {\n return `Today, ${objectTime.toFormat(\"HH:mm\")}`;\n }\n\n return objectTime.toFormat(\"ccc, LLL dd yyyy HH:mm (ZZZZ)\");\n};\n\nexport const displayNiceBytes = (object: BucketObjectItem) => {\n if (object.name.endsWith(\"/\") || !object.size) {\n return \"-\";\n }\n return niceBytes(String(object.size));\n};\n\nexport const displayDeleteFlag = (state: boolean) => {\n return state ? \"Yes\" : \"No\";\n};\n\n// Table Props\n\nexport const listModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 100,\n enableSort: true,\n },\n];\n\nexport const rewindModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Object Date\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 100,\n enableSort: true,\n },\n {\n label: \"Deleted\",\n elementKey: \"delete_flag\",\n renderFunction: displayDeleteFlag,\n width: 60,\n },\n];\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { listModeColumns, rewindModeColumns } from \"./ListObjectsHelpers\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { selFeatures } from \"../../../../consoleSlice\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n setLoadingVersions,\n setObjectDetailsView,\n setReloadObjectsList,\n setSelectedObjects,\n setSelectedObjectView,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { sortListObjects } from \"../utils\";\nimport { BucketObjectItem } from \"./types\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { DataTable, ItemActions } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\n\nconst ListObjectsTable = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n\n const bucketName = params.bucketName || \"\";\n\n const detailsOpen = useSelector(\n (state: AppState) => state.objectBrowser.objectDetailsOpen,\n );\n\n const requestInProgress = useSelector(\n (state: AppState) => state.objectBrowser.requestInProgress,\n );\n\n const features = useSelector(selFeatures);\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const records = useSelector((state: AppState) => state.objectBrowser.records);\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects,\n );\n const selectedObjects = useSelector(\n (state: AppState) => state.objectBrowser.selectedObjects,\n );\n const connectionError = useSelector(\n (state: AppState) => state.objectBrowser.connectionError,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\n ]);\n\n const filteredRecords = records.filter((b: BucketObjectItem) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const plSelect = filteredRecords;\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObjectItem[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const openPath = (object: BucketObject) => {\n const idElement = object.name || \"\";\n const newPath = `/browser/${bucketName}${\n idElement ? `/${encodeURLString(idElement)}` : ``\n }`;\n\n // for anonymous start download\n if (anonymousMode && !object.name?.endsWith(\"/\")) {\n downloadObject(\n dispatch,\n bucketName,\n `${encodeURLString(idElement)}`,\n object,\n );\n return;\n }\n dispatch(setSelectedObjects([]));\n\n navigate(newPath);\n\n if (!anonymousMode) {\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n }\n dispatch(\n setSelectedObjectView(\n `${idElement ? `${encodeURLString(idElement)}` : ``}`,\n ),\n );\n };\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n tooltip: \"View\",\n onClick: openPath,\n sendOnlyId: false,\n },\n ];\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n dispatch(setReloadObjectsList(true));\n };\n\n const selectAllItems = () => {\n dispatch(setSelectedObjectView(null));\n\n if (selectedObjects.length === payload.length) {\n dispatch(setSelectedObjects([]));\n return;\n }\n\n const elements = payload.map((item) => item.name);\n dispatch(setSelectedObjects(elements));\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n dispatch(setSelectedObjects(elements));\n dispatch(setSelectedObjectView(null));\n\n return elements;\n };\n\n let errorMessage =\n !displayListObjects && !anonymousMode\n ? permissionTooltipHelper(\n [IAM_SCOPES.S3_LIST_BUCKET, IAM_SCOPES.S3_ALL_LIST_BUCKET],\n \"view Objects in this bucket\",\n )\n : `This location is empty${\n !rewindEnabled ? \", please try uploading a new file\" : \"\"\n }`;\n\n if (connectionError) {\n errorMessage =\n \"Objects List unavailable. Please review your WebSockets configuration and try again\";\n }\n\n let customPaperHeight = \"calc(100vh - 290px)\";\n\n if (obOnly) {\n customPaperHeight = \"calc(100vh - 315px)\";\n }\n\n return (\n {\n if (payload[index]?.delete_flag) {\n return \"deleted\";\n }\n\n return \"\";\n }}\n sx={{\n minHeight: detailsOpen ? \"100%\" : \"initial\",\n }}\n noBackground\n />\n );\n};\nexport default ListObjectsTable;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { setSearchObjects } from \"./objectBrowserSlice\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\n\nconst FilterObjectsSB = () => {\n const dispatch = useAppDispatch();\n\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects,\n );\n return (\n {\n dispatch(setSearchObjects(value));\n }}\n value={searchObjects}\n />\n );\n};\nexport default FilterObjectsSB;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport get from \"lodash/get\";\nimport {\n AccessRuleIcon,\n ActionsList,\n Box,\n BucketsIcon,\n Button,\n Checkbox,\n DeleteIcon,\n DownloadIcon,\n Grid,\n HistoryIcon,\n PageLayout,\n PreviewIcon,\n RefreshIcon,\n ScreenTitle,\n ShareIcon,\n Badge,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { BucketQuota } from \"api/consoleApi\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useNavigate, useParams } from \"react-router-dom\";\nimport { useDropzone } from \"react-dropzone\";\nimport { DateTime } from \"luxon\";\nimport {\n decodeURLString,\n encodeURLString,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../systemSlice\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport {\n extractFileExtn,\n getPolicyAllowedFileExtensions,\n getSessionGrantsWildCard,\n} from \"../../UploadPermissionUtils\";\nimport {\n makeid,\n removeTrace,\n storeCallForObjectWithID,\n storeFormDataWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n openList,\n resetMessages,\n resetRewind,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setLoadingVersions,\n setNewObject,\n setObjectDetailsView,\n setPreviewOpen,\n setReloadObjectsList,\n setRetentionConfig,\n setSelectedObjects,\n setSelectedObjectView,\n setSelectedPreview,\n setShareFileModalOpen,\n setShowDeletedObjects,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport {\n selBucketDetailsInfo,\n selBucketDetailsLoading,\n setBucketDetailsLoad,\n setBucketInfo,\n} from \"../../../BucketDetails/bucketDetailsSlice\";\nimport {\n downloadSelected,\n openAnonymousAccess,\n openPreview,\n openShare,\n} from \"../../../../ObjectBrowser/objectBrowserThunks\";\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\nimport VersionsNavigator from \"../ObjectDetails/VersionsNavigator\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport ListObjectsTable from \"./ListObjectsTable\";\nimport FilterObjectsSB from \"../../../../ObjectBrowser/FilterObjectsSB\";\nimport AddAccessRule from \"../../../BucketDetails/AddAccessRule\";\n\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\")),\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\")),\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\")),\n);\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"transparent\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"transparent\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"transparent\",\n borderColor: \"#00e676\",\n};\n\nconst ListObjects = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n const location = useLocation();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const bucketToRewind = useSelector(\n (state: AppState) => state.objectBrowser.rewind.bucketToRewind,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const showDeleted = useSelector(\n (state: AppState) => state.objectBrowser.showDeleted,\n );\n const detailsOpen = useSelector(\n (state: AppState) => state.objectBrowser.objectDetailsOpen,\n );\n const selectedInternalPaths = useSelector(\n (state: AppState) => state.objectBrowser.selectedInternalPaths,\n );\n const requestInProgress = useSelector(\n (state: AppState) => state.objectBrowser.requestInProgress,\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath,\n );\n const versioningConfig = useSelector(\n (state: AppState) => state.objectBrowser.versionInfo,\n );\n const lockingEnabled = useSelector(\n (state: AppState) => state.objectBrowser.lockingEnabled,\n );\n const downloadRenameModal = useSelector(\n (state: AppState) => state.objectBrowser.downloadRenameModal,\n );\n const selectedPreview = useSelector(\n (state: AppState) => state.objectBrowser.selectedPreview,\n );\n const shareFileModalOpen = useSelector(\n (state: AppState) => state.objectBrowser.shareFileModalOpen,\n );\n const previewOpen = useSelector(\n (state: AppState) => state.objectBrowser.previewOpen,\n );\n const selectedBucket = useSelector(\n (state: AppState) => state.objectBrowser.selectedBucket,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n const anonymousAccessOpen = useSelector(\n (state: AppState) => state.objectBrowser.anonymousAccessOpen,\n );\n\n const records = useSelector(\n (state: AppState) => state.objectBrowser?.records || [],\n );\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [quota, setQuota] = useState(null);\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const isVersioningApplied = isVersionedMode(versioningConfig.status);\n\n const bucketName = params.bucketName || \"\";\n const pathSegment = location.pathname.split(`/browser/${bucketName}/`);\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n const pageTitle = decodeURLString(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const pathAsResourceInPolicy = uploadPath.join(\"/\");\n const allowedFileExtensions = getPolicyAllowedFileExtensions(\n sessionGrants,\n pathAsResourceInPolicy,\n putObjectPermScopes,\n );\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathAsResourceInPolicy,\n putObjectPermScopes,\n );\n\n const canDownload = hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n );\n const canDelete = hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n [IAM_SCOPES.S3_DELETE_OBJECT],\n );\n const canUpload =\n hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const canSetAnonymousAccess = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const selectedObjects = useSelector(\n (state: AppState) => state.objectBrowser.selectedObjects,\n );\n\n const checkForDelMarker = (): boolean => {\n let isObjDelMarker = false;\n if (selectedObjects.length === 1) {\n let matchingRec = records.find((obj) => {\n return obj.name === `${selectedObjects[0]}` && obj.delete_flag;\n });\n\n isObjDelMarker = !!matchingRec;\n }\n return isObjDelMarker;\n };\n\n const isSelObjectDelMarker = checkForDelMarker();\n\n const fetchMetadata = useCallback(() => {\n const objectName = selectedObjects[0];\n\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, selectedObjects, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && !isSelObjectDelMarker) {\n fetchMetadata();\n }\n }, [bucketName, selectedObjects, fetchMetadata, isSelObjectDelMarker]);\n\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n dispatch(resetRewind());\n return;\n }\n }\n }, [rewindEnabled, bucketToRewind, bucketName, dispatch]);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n const isPrefix = objectName.endsWith(\"/\");\n\n let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n if (objectType !== \"none\" && canDownload) {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (canDownload && !isPrefix) {\n setCanShareFile(true);\n } else {\n setCanShareFile(false);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects, canDownload, metaData]);\n\n useEffect(() => {\n if (!quota && !anonymousMode) {\n api.buckets\n .getBucketQuota(bucketName)\n .then((res) => {\n let quotaVals = null;\n\n if (res.data.quota) {\n quotaVals = res.data;\n }\n\n setQuota(quotaVals);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Quota Status: \",\n err.error.detailedMessage,\n );\n setQuota(null);\n });\n }\n }, [quota, bucketName, anonymousMode]);\n\n useEffect(() => {\n if (selectedObjects.length > 0) {\n dispatch(setObjectDetailsView(true));\n return;\n }\n\n if (\n selectedObjects.length === 0 &&\n selectedInternalPaths === null &&\n !requestInProgress\n ) {\n dispatch(setObjectDetailsView(false));\n }\n }, [selectedObjects, selectedInternalPaths, dispatch, requestInProgress]);\n\n useEffect(() => {\n if (!iniLoad) {\n dispatch(setBucketDetailsLoad(true));\n setIniLoad(true);\n }\n }, [iniLoad, dispatch, setIniLoad]);\n\n // bucket info\n useEffect(() => {\n if ((requestInProgress || loadingBucket) && !anonymousMode) {\n api.buckets\n .bucketInfo(bucketName)\n .then((res) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setBucketInfo(res.data));\n })\n .catch((err) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n });\n }\n }, [bucketName, loadingBucket, dispatch, anonymousMode, requestInProgress]);\n\n // Load retention Config\n\n useEffect(() => {\n if (selectedBucket !== \"\") {\n api.buckets\n .getBucketRetentionConfig(selectedBucket)\n .then((res) => {\n dispatch(setRetentionConfig(res.data));\n })\n .catch(() => {\n dispatch(setRetentionConfig(null));\n });\n }\n }, [selectedBucket, dispatch]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n dispatch(setSnackBarMessage(`Objects deleted successfully.`));\n dispatch(setSelectedObjects([]));\n dispatch(setReloadObjectsList(true));\n }\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (let i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n\n e.target.value = \"\";\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (simplePath) {\n pathPrefix = simplePath.endsWith(\"/\") ? simplePath : simplePath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string,\n ) => {\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n\n const filePath = get(file, \"path\", \"\");\n const fileWebkitRelativePath = get(file, \"webkitRelativePath\", \"\");\n\n let relativeFolderPath = folderPath;\n const ID = makeid(8);\n\n // File was uploaded via drag & drop\n if (filePath !== \"\") {\n relativeFolderPath = filePath;\n } else if (fileWebkitRelativePath !== \"\") {\n // File was uploaded using upload button\n relativeFolderPath = fileWebkitRelativePath;\n }\n\n let prefixPath = \"\";\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n const pathClean = path.endsWith(\"/\") ? path.slice(0, -1) : path;\n\n prefixPath = `${pathClean}${\n !pathClean.endsWith(\"/\") &&\n finalFolderPath !== \"\" &&\n !finalFolderPath.startsWith(\"/\")\n ? \"/\"\n : \"\"\n }${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ||\n (finalFolderPath.trim() === \"\" && !path.endsWith(\"/\"))\n ? \"/\"\n : \"\"\n }`;\n }\n\n if (prefixPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodeURLString(\n prefixPath + fileName,\n )}`;\n } else {\n uploadUrl = `${uploadUrl}?prefix=${encodeURLString(fileName)}`;\n }\n\n encodedPath = encodeURLString(prefixPath);\n\n const identity = encodeURLString(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`,\n );\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n if (anonymousMode) {\n xhr.setRequestHeader(\"X-Anonymous\", \"1\");\n }\n // xhr.setRequestHeader(\"X-Anonymous\", \"1\");\n\n const areMultipleFiles = files.length > 1;\n let errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n\n const errorMessages: any = {\n 413: \"Error - File size too large\",\n };\n\n xhr.withCredentials = false;\n xhr.onload = function () {\n // resolve promise only when HTTP code is ok\n if (xhr.status >= 200 && xhr.status < 300) {\n dispatch(completeObject(identity));\n resolve({ status: xhr.status });\n\n removeTrace(ID);\n } else {\n // reject promise if there was a server error\n if (errorMessages[xhr.status]) {\n errorMessage = errorMessages[xhr.status];\n } else if (xhr.response) {\n try {\n const err = JSON.parse(xhr.response);\n errorMessage = err.detailedMessage;\n } catch (e) {\n errorMessage = \"something went wrong\";\n }\n }\n\n dispatch(\n failObject({\n instanceID: identity,\n msg: errorMessage,\n }),\n );\n reject({ status: xhr.status, message: errorMessage });\n\n removeTrace(ID);\n }\n };\n\n xhr.upload.addEventListener(\"error\", () => {\n reject(errorMessage);\n dispatch(\n failObject({\n instanceID: identity,\n msg: \"A network error occurred.\",\n }),\n );\n return;\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n dispatch(\n updateProgress({\n instanceID: identity,\n progress: progress,\n }),\n );\n });\n\n xhr.onerror = () => {\n reject(errorMessage);\n dispatch(\n failObject({\n instanceID: identity,\n msg: \"A network error occurred.\",\n }),\n );\n return;\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n dispatch(setReloadObjectsList(true));\n }\n };\n xhr.onabort = () => {\n dispatch(cancelObjectInList(identity));\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n storeCallForObjectWithID(ID, xhr);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeURLString(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n storeFormDataWithID(ID, formData);\n }\n });\n };\n\n const uploadFilePromises: any = [];\n // open object manager\n dispatch(openList());\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n uploadFilePromises.push(uploadPromise(file));\n }\n Promise.allSettled(uploadFilePromises).then((results: Array) => {\n const errors = results.filter(\n (result) => result.status === \"rejected\",\n );\n if (errors.length > 0) {\n const totalFiles = uploadFilePromises.length;\n const successUploadedFiles =\n uploadFilePromises.length - errors.length;\n const err: ErrorResponseHandler = {\n errorMessage: \"There were some errors during file upload\",\n detailedError: `Uploaded files ${successUploadedFiles}/${totalFiles}`,\n };\n dispatch(setErrorSnackMessage(err));\n }\n // We force objects list reload after all promises were handled\n dispatch(setReloadObjectsList(true));\n });\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [bucketName, dispatch, simplePath, anonymousMode],\n );\n\n const onDrop = useCallback(\n (acceptedFiles: any[]) => {\n if (acceptedFiles && acceptedFiles.length > 0 && canUpload) {\n let newFolderPath: string = acceptedFiles[0].path;\n //Should we filter by allowed file extensions if any?.\n let allowedFiles = acceptedFiles;\n\n if (allowedFileExtensions.length > 0) {\n allowedFiles = acceptedFiles.filter((file) => {\n const fileExtn = extractFileExtn(file.name);\n return allowedFileExtensions.includes(fileExtn);\n });\n }\n\n if (allowedFiles.length) {\n uploadObject(allowedFiles, newFolderPath);\n console.log(\n `${allowedFiles.length} Allowed Files Processed out of ${acceptedFiles.length}.`,\n pathAsResourceInPolicy,\n ...sessionGrantWildCards,\n );\n\n if (allowedFiles.length !== acceptedFiles.length) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload is restricted.\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n }\n } else {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Could not process drag and drop.\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n\n console.error(\n \"Could not process drag and drop . upload may be restricted.\",\n pathAsResourceInPolicy,\n ...sessionGrantWildCards,\n );\n }\n }\n if (!canUpload) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload not allowed\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [uploadObject],\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept],\n );\n\n const closeShareModal = () => {\n dispatch(setShareFileModalOpen(false));\n dispatch(setSelectedPreview(null));\n };\n\n const rewindCloseModal = () => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n dispatch(setPreviewOpen(false));\n dispatch(setSelectedPreview(null));\n };\n\n const onClosePanel = (forceRefresh: boolean) => {\n dispatch(setSelectedObjectView(null));\n dispatch(setVersionsModeEnabled({ status: false }));\n if (detailsOpen && selectedInternalPaths !== null) {\n // We change URL to be the contained folder\n\n const decodedPath = decodeURLString(internalPaths);\n const splitURLS = decodedPath.split(\"/\");\n\n // We remove the last section of the URL as it should be a file\n splitURLS.pop();\n\n let URLItem = \"\";\n\n if (splitURLS && splitURLS.length > 0) {\n URLItem = `${splitURLS.join(\"/\")}/`;\n }\n\n navigate(`/browser/${bucketName}/${encodeURLString(URLItem)}`);\n }\n\n dispatch(setObjectDetailsView(false));\n\n if (forceRefresh) {\n dispatch(setReloadObjectsList(true));\n }\n };\n\n const setDeletedAction = () => {\n dispatch(resetMessages());\n dispatch(setShowDeletedObjects(!showDeleted));\n onClosePanel(true);\n };\n\n const closeRenameModal = () => {\n dispatch(setDownloadRenameModal(null));\n };\n\n const closeAddAccessRule = () => {\n dispatch(setAnonymousAccessOpen(false));\n };\n\n let createdTime = DateTime.now();\n\n if (bucketInfo?.creation_date) {\n createdTime = DateTime.fromISO(bucketInfo.creation_date);\n }\n\n const downloadToolTip =\n selectedObjects?.length <= 1\n ? \"Download Selected\"\n : ` Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.`;\n\n const multiActionButtons = [\n {\n action: () => {\n dispatch(downloadSelected(bucketName));\n },\n label: \"Download\",\n disabled: !canDownload || isSelObjectDelMarker,\n icon: ,\n tooltip: canDownload\n ? downloadToolTip\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"download objects from this bucket\",\n ),\n },\n {\n action: () => {\n dispatch(openShare());\n },\n label: \"Share\",\n disabled:\n selectedObjects.length !== 1 || !canShareFile || isSelObjectDelMarker,\n icon: ,\n tooltip: canShareFile ? \"Share Selected File\" : \"Sharing unavailable\",\n },\n {\n action: () => {\n dispatch(openPreview());\n },\n label: \"Preview\",\n disabled:\n selectedObjects.length !== 1 || !canPreviewFile || isSelObjectDelMarker,\n icon: ,\n tooltip: canPreviewFile ? \"Preview Selected File\" : \"Preview unavailable\",\n },\n {\n action: () => {\n dispatch(openAnonymousAccess());\n },\n label: \"Anonymous Access\",\n disabled:\n selectedObjects.length !== 1 ||\n !selectedObjects[0].endsWith(\"/\") ||\n !canSetAnonymousAccess,\n icon: ,\n tooltip:\n selectedObjects.length === 1 && selectedObjects[0].endsWith(\"/\")\n ? \"Set Anonymous Access to this Folder\"\n : \"Anonymous Access unavailable\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled: !canDelete || selectedObjects.length === 0,\n tooltip: canDelete\n ? \"Delete Selected Files\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_DELETE_OBJECT],\n \"delete objects in this bucket\",\n ),\n },\n ];\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n {!!downloadRenameModal && (\n \n )}\n {anonymousAccessOpen && (\n \n )}\n\n \n {anonymousMode && (\n
\n \n
\n )}\n \n \n \n \n }\n title={bucketName}\n subTitle={\n !anonymousMode ? (\n \n \n Created on: \n \n {bucketInfo?.creation_date\n ? createdTime.toFormat(\n \"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\",\n )\n : \"\"}\n \n \n \n Access:  \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && quota && (\n \n {\" \"}\n / {niceBytesInt(quota.quota || 0)}\n \n )}\n {bucketInfo.size && bucketInfo.objects ? \" - \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n ) : null\n }\n actions={\n \n {!anonymousMode && (\n \n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n setRewindSelect(true);\n }}\n disabled={\n !isVersioningApplied ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_GET_ACTIONS,\n ])\n }\n />\n \n )}\n \n }\n variant={\"regular\"}\n onClick={() => {\n if (versionsMode) {\n dispatch(setLoadingVersions(true));\n } else {\n dispatch(resetMessages());\n dispatch(setReloadObjectsList(true));\n }\n }}\n disabled={\n anonymousMode\n ? false\n : !hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\n ]) || rewindEnabled\n }\n />\n \n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n \n }\n bottomBorder={false}\n />\n \n \n \n \n {versionsMode ? (\n \n {selectedInternalPaths !== null && (\n \n )}\n \n ) : (\n \n \n {!anonymousMode && (\n \n \n )\n }\n hidePathButton={false}\n />\n \n )}\n \n \n \n )}\n {!anonymousMode && (\n \n {\n onClosePanel(false);\n }}\n className={`${versionsMode ? \"hideListOnSmall\" : \"\"}`}\n >\n {selectedObjects.length > 0 && (\n \n )}\n {selectedInternalPaths !== null && (\n \n )}\n \n \n )}\n \n \n
\n
\n );\n};\n\nexport default ListObjects;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect } from \"react\";\nimport {\n IAM_PAGES,\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport { BackLink, Button, SettingsIcon, Grid } from \"mds\";\nimport AutoColorIcon from \"../Common/Components/AutoColorIcon\";\nimport { useSelector } from \"react-redux\";\nimport { selFeatures } from \"../consoleSlice\";\nimport hasPermission from \"../../../common/SecureComponent/accessControl\";\nimport { useNavigate } from \"react-router-dom\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { setSearchVersions } from \"./objectBrowserSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport FilterObjectsSB from \"./FilterObjectsSB\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport ObjectManagerButton from \"../Common/ObjectManager/ObjectManagerButton\";\nimport HelpMenu from \"../HelpMenu\";\nimport { setHelpName } from \"../../../systemSlice\";\n\ninterface IOBHeader {\n bucketName: string;\n}\n\nconst OBHeader = ({ bucketName }: IOBHeader) => {\n const dispatch = useAppDispatch();\n const features = useSelector(selFeatures);\n\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile,\n );\n const searchVersions = useSelector(\n (state: AppState) => state.objectBrowser.searchVersions,\n );\n\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n const navigate = useNavigate();\n\n const configureBucketAllowed = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_DELETE_BUCKET,\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_PUT_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_GET_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.S3_PUT_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n IAM_SCOPES.ADMIN_SET_BUCKET_QUOTA,\n IAM_SCOPES.S3_PUT_BUCKET_TAGGING,\n IAM_SCOPES.S3_GET_BUCKET_TAGGING,\n IAM_SCOPES.S3_LIST_BUCKET_VERSIONS,\n IAM_SCOPES.S3_GET_BUCKET_POLICY_STATUS,\n IAM_SCOPES.S3_DELETE_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const searchBar = (\n \n {!versionsMode ? (\n \n \n \n ) : (\n \n {\n dispatch(setSearchVersions(value));\n }}\n value={searchVersions}\n />\n \n )}\n \n );\n\n useEffect(() => {\n dispatch(setHelpName(\"object_browser\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {!obOnly ? (\n {\n navigate(IAM_PAGES.OBJECT_BROWSER_VIEW);\n }}\n />\n }\n actions={\n \n \n \n navigate(`/buckets/${bucketName}/admin`)}\n icon={\n \n }\n style={{\n padding: \"0 10px\",\n }}\n />\n \n \n \n \n }\n middleComponent={searchBar}\n />\n ) : (\n \n \n \n \n \n {searchBar}\n \n \n \n )}\n \n );\n};\n\nexport default OBHeader;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useParams } from \"react-router-dom\";\nimport { api } from \"api\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport { decodeURLString, encodeURLString } from \"../../../../common/utils\";\nimport {\n resetMessages,\n setIsVersioned,\n setLoadingLocking,\n setLoadingObjectInfo,\n setLoadingVersioning,\n setLoadingVersions,\n setLockingEnabled,\n setObjectDetailsView,\n setRequestInProgress,\n setSelectedObjectView,\n setVersionsModeEnabled,\n} from \"../../ObjectBrowser/objectBrowserSlice\";\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport hasPermission from \"../../../../common/SecureComponent/accessControl\";\nimport OBHeader from \"../../ObjectBrowser/OBHeader\";\n\nconst BrowserHandler = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const location = useLocation();\n\n const loadingVersioning = useSelector(\n (state: AppState) => state.objectBrowser.loadingVersioning,\n );\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const rewindDate = useSelector(\n (state: AppState) => state.objectBrowser.rewind.dateToRewind,\n );\n const showDeleted = useSelector(\n (state: AppState) => state.objectBrowser.showDeleted,\n );\n const requestInProgress = useSelector(\n (state: AppState) => state.objectBrowser.requestInProgress,\n );\n const loadingLocking = useSelector(\n (state: AppState) => state.objectBrowser.loadingLocking,\n );\n const reloadObjectsList = useSelector(\n (state: AppState) => state.objectBrowser.reloadObjectsList,\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n const selectedBucket = useSelector(\n (state: AppState) => state.objectBrowser.selectedBucket,\n );\n const records = useSelector((state: AppState) => state.objectBrowser.records);\n\n const bucketName = params.bucketName || \"\";\n const pathSegment = location.pathname.split(`/browser/${bucketName}/`);\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n const initWSRequest = useCallback(\n (path: string) => {\n let currDate = new Date();\n\n let date = currDate.toISOString();\n\n if (rewindDate !== null && rewindEnabled) {\n date = rewindDate;\n }\n\n const payloadData = {\n bucketName,\n path,\n rewindMode: rewindEnabled || showDeleted,\n date: date,\n };\n\n dispatch({ type: \"socket/OBRequest\", payload: payloadData });\n },\n [bucketName, showDeleted, rewindDate, rewindEnabled, dispatch],\n );\n\n // Common path load\n const pathLoad = useCallback(\n (forceLoad: boolean = false) => {\n const decodedInternalPaths = decodeURLString(internalPaths);\n\n // We exit Versions mode in case of path change\n dispatch(setVersionsModeEnabled({ status: false }));\n\n let searchPath = decodedInternalPaths;\n\n if (!decodedInternalPaths.endsWith(\"/\") && decodedInternalPaths !== \"\") {\n searchPath = `${decodedInternalPaths\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n }\n\n if (searchPath === \"/\") {\n searchPath = \"\";\n }\n\n // If the path is different of the actual path or reload objects list is requested, then we initialize a new request to load a new record set.\n if (\n searchPath !== simplePath ||\n bucketName !== selectedBucket ||\n forceLoad\n ) {\n dispatch(setRequestInProgress(true));\n initWSRequest(searchPath);\n }\n },\n [\n internalPaths,\n dispatch,\n simplePath,\n selectedBucket,\n bucketName,\n initWSRequest,\n ],\n );\n\n useEffect(() => {\n return () => {\n dispatch({ type: \"socket/OBCancelLast\" });\n };\n }, [dispatch]);\n\n // Object Details handler\n useEffect(() => {\n const decodedIPaths = decodeURLString(internalPaths);\n\n dispatch(setLoadingVersioning(true));\n\n if (decodedIPaths.endsWith(\"/\") || decodedIPaths === \"\") {\n dispatch(setObjectDetailsView(false));\n dispatch(setSelectedObjectView(null));\n dispatch(setLoadingLocking(true));\n } else {\n dispatch(setLoadingObjectInfo(true));\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n dispatch(\n setSelectedObjectView(\n `${decodedIPaths ? `${encodeURLString(decodedIPaths)}` : ``}`,\n ),\n );\n }\n }, [bucketName, internalPaths, rewindDate, rewindEnabled, dispatch]);\n\n // Navigation Listing Request\n useEffect(() => {\n pathLoad(false);\n }, [pathLoad]);\n\n // Reload Handler\n useEffect(() => {\n if (reloadObjectsList && records.length === 0 && !requestInProgress) {\n pathLoad(true);\n }\n }, [reloadObjectsList, records, requestInProgress, pathLoad]);\n\n const displayListObjects =\n hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\n ]) || anonymousMode;\n\n useEffect(() => {\n if (loadingVersioning && !anonymousMode) {\n if (displayListObjects) {\n api.buckets\n .getBucketVersioning(bucketName)\n .then((res) => {\n dispatch(setIsVersioned(res.data));\n dispatch(setLoadingVersioning(false));\n })\n .catch((err) => {\n console.error(\n \"Error Getting Object Versioning Status: \",\n err.error.detailedMessage,\n );\n dispatch(setLoadingVersioning(false));\n });\n } else {\n dispatch(setLoadingVersioning(false));\n dispatch(resetMessages());\n }\n }\n }, [\n bucketName,\n loadingVersioning,\n dispatch,\n displayListObjects,\n anonymousMode,\n ]);\n\n useEffect(() => {\n if (loadingLocking) {\n if (displayListObjects) {\n api.buckets\n .getBucketObjectLockingStatus(bucketName)\n .then((res) => {\n dispatch(setLockingEnabled(res.data.object_locking_enabled));\n dispatch(setLoadingLocking(false));\n })\n .catch((err) => {\n console.error(\n \"Error Getting Object Locking Status: \",\n err.error.detailedMessage,\n );\n dispatch(setLoadingLocking(false));\n });\n } else {\n dispatch(resetMessages());\n dispatch(setLoadingLocking(false));\n }\n }\n }, [bucketName, loadingLocking, dispatch, displayListObjects]);\n\n return (\n \n {!anonymousMode && }\n \n \n );\n};\n\nexport default BrowserHandler;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { DateTime } from \"luxon\";\nimport { Box, InputBox, InputLabel, LinkIcon } from \"mds\";\n\ninterface IDaysSelector {\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number,\n) => {\n return DateTime.fromJSDate(initialDate).plus({\n hours: hours + days * 24,\n minutes,\n }); // Lump days into hours to avoid daylight savings causing issues\n};\n\nconst DaysSelector = ({\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(DateTime.now());\n\n useEffect(() => {\n if (\n !isNaN(selectedHours) &&\n !isNaN(selectedDays) &&\n !isNaN(selectedMinutes)\n ) {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ),\n );\n }\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n const formattedDate = dateSelected.toFormat(\"yyyy-MM-dd HH:mm:ss\");\n onChange(formattedDate.split(\" \").join(\"T\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n if (selectedDays <= 0 && selectedHours <= 0 && selectedMinutes <= 0) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraStyles = {\n \"& .textBoxContainer\": {\n minWidth: 0,\n },\n \"& input\": {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 40,\n },\n };\n\n return (\n \n \n {label}\n \n label\": {\n fontWeight: 400,\n marginLeft: 15,\n marginRight: 25,\n },\n },\n }}\n >\n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n .min-icon\": {\n color: \"#5E5E5E\",\n width: 15,\n height: 15,\n marginRight: 10,\n },\n },\n \"& .validTill\": {\n fontWeight: \"bold\",\n marginLeft: 15,\n },\n \"& .invalidDurationText\": {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n }}\n >\n {validDate ? (\n
\n \n
{entity} will be available until:
{\" \"}\n
\n {dateSelected.toFormat(\"MM/dd/yyyy HH:mm:ss ZZZZ\")}\n
\n
\n ) : (\n
\n Please select a valid duration.\n
\n )}\n \n \n );\n};\n\nexport default DaysSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Button, CopyIcon, ReadBox, ShareIcon, Grid, ProgressBar } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IShareFileProps {\n open: boolean;\n bucketName: string;\n dataObject: BucketObject;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n}: IShareFileProps) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api.buckets\n .listObjects(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n\n const latestVersion: BucketObject | undefined = result.find(\n (elem: BucketObject) => elem.is_latest,\n );\n\n if (latestVersion) {\n setVersionID(`${latestVersion.version_id}`);\n return;\n }\n\n // Version couldn't be retrieved, we default\n setVersionID(\"null\");\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, dispatch]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000,\n );\n\n if (diffDate > 0) {\n api.buckets\n .shareObject(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n version_id: versionID,\n expires: selectedDate !== \"\" ? `${diffDate}s` : \"\",\n })\n .then((res) => {\n setShareURL(res.data);\n setIsLoadingFile(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n dispatch,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n }\n modalOpen={open}\n onClose={() => {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n
\n
\n The temporary URL expires after the configured time limit.\n \n
\n \n \n \n \n \n {\n dispatch(\n setModalSnackMessage(\"Share URL Copied to clipboard\"),\n );\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n }\n >\n {shareURL}\n \n \n
\n )}\n \n
\n );\n};\n\nexport default ShareFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { ProgressBar, Grid, Box, InformativeMessage } from \"mds\";\nimport get from \"lodash/get\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { api } from \"../../../../../../api\";\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = object?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, objectName, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeURLString(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {objectType !== \"none\" && loading && (\n \n \n \n )}\n {isMetaDataLoaded ? (\n \n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType === \"none\" && (\n
\n \n
\n )}\n {objectType !== \"none\" &&\n objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n
\n \n File couldn't be loaded. Please try Download instead\n \n
\n )}\n \n ) : null}\n
\n );\n};\nexport default PreviewFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"mds\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, CopyIcon, InputBox, Box, breakPoints } from \"mds\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n readOnly={true}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n setShown(!shown)}\n label={\"Show/Hide\"}\n />\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["_ref","modalOpen","onClose","bucket","prefilledRoute","dispatch","useAppDispatch","prefix","setPrefix","useState","selectedAccess","setSelectedAccess","useEffect","_jsx","ModalWrapper","title","titleIcon","AddAccessRuleIcon","children","_jsxs","FormLayout","withBorders","containerPadding","InputBox","value","label","id","name","placeholder","onChange","e","target","tooltip","Select","options","disabled","helpTip","Fragment","helpTipPlacement","Grid","item","xs","sx","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","resetForm","trim","createProcess","api","setAccessRuleWithBucket","access","then","res","setSnackBarMessage","catch","setErrorSnackMessage","errorToHandler","error","extractFileExtn","resourceStr","match","getSessionGrantsWildCard","sessionGrants","uploadPath","scopes","arguments","length","undefined","grantsWithExtension","Object","keys","reduce","acc","grantKey","includes","filter","sessionGrantKey","hasScope","some","actionKey","find","scopeKey","wildCardMatch","indexOf","scopeActionKey","substring","isUploadPathMatching","concat","CreatePathModal","withSuspense","React","BreadcrumbsMain","styled","div","display","paddingRight","alignItems","breakPoints","lg","margin","bucketName","internalPaths","hidePathButton","additionalOptions","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","anonymousMode","system","createFolderOpen","setCreateFolderOpen","canCreateSubpath","setCanCreateSubpath","putObjectPermScopes","IAM_SCOPES","S3_PUT_OBJECT","S3_PUT_ACTIONS","console","session","permissions","paths","splitPaths","split","path","lastBreadcrumbsIndex","pathToCheckPerms","sessionGrantWildCards","forEach","grant","canCreatePath","hasPermission","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","className","style","cursor","whiteSpace","safeDecodeURIComponent","Link","to","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","folderName","closeAddFolderModal","limitedSubPath","Breadcrumbs","goBackFunction","prevPath","CopyToClipboard","text","icon","CopyIcon","width","height","fill","marginTop","color","border","marginRight","Box","Tooltip","permissionTooltipHelper","NewPathIcon","marginBottom","justifyContent","fontSize","fontWeight","flexDirection","flexWrap","isVersionedMode","downloadSelected","createAsyncThunk","async","getState","rejectWithValue","downloadObject","object","identityDownload","Date","getTime","Math","random","ID","makeid","downloadCall","download","version_id","size","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","done","percentage","waitingForFile","failed","cancelled","errorMessage","selectedObjects","itemsToDownload","filterFunction","currValue","records","getClientOS","toLowerCase","setDownloadRenameModal","fileName","DateTime","now","toFormat","multiObjList","dwList","bi","isDeleted","delete_flag","push","log","downloadSelectedAsZip","openPreview","_","_ref2","fileObject","findFunction","setSelectedPreview","setPreviewOpen","openShare","_ref3","setShareFileModalOpen","openAnonymousAccess","_ref4","endsWith","setAnonymousAccessOpen","forceDisable","uploadFileFunction","uploadFolderFunction","overrideStyles","anchorEl","setAnchorEl","uploadOptionsOpen","uploadOptionsSetOpen","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","event","currentTarget","UploadIcon","DropdownSelector","UploadFolderIcon","selectedOption","onSelect","nValue","hideTriggerAction","open","anchorOrigin","useAnchorWidth","closePanel","borderColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","ClosePanelIcon","right","top","padding","backgroundColor","_object$name","isWinOs","setLongFileOpen","strings","minHeight","overflow","textOverflow","replaceUnicodeChar","extensionToIcon","FileVideoIcon","extensions","FileMusicIcon","FilePdfIcon","FilePptIcon","FileXlsIcon","FileLockIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileTxtIcon","FileZipIcon","FileBookIcon","FileImageIcon","displayFileIconName","element","returnOnlyIcon","elementString","FileNonType","FolderBrowserIcon","lowercaseElement","etc","ext","FileMissingIcon","splitItem","IconWithLabel","metaData","metaKeys","renderItem","Array","isArray","itemRendererFn","maxHeight","months","days","from","num","currentYear","getFullYear","years","numYear","forwardRef","ref","disableOptions","borderBottom","onDateChange","useImperativeHandle","resetDate","month","setMonth","day","setDay","year","setYear","valueSplit","parseInt","isValid","dateString","validDate","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","isDateDisabled","monthForDropDown","daysForDrop","yearsForDrop","gap","InputLabel","htmlFor","placement","HelpIcon","newValue","closeModalAndRefresh","objectInfo","retentionConfig","statusEnabled","setStatusEnabled","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","mode","ObjectRetentionMode","Governance","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","current","showSwitcher","noValidate","autoComplete","onSubmit","preventDefault","Switch","checked","indicatorLabels","RadioGroup","currentValue","selectorOptions","Compliance","DateSelector","saveNewRetentionPolicy","selectedObject","versionId","expireDate","addRetention","buckets","putObjectRetention","expires","err","setModalErrorSnackMessage","disableRetention","deleteObjectRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioningInfo","selectedVersion","deleteLoading","invokeDeleteApi","useApi","onDelSuccess","detailedError","deleteVersions","setDeleteVersions","bypassGovernance","setBypassGovernance","canBypass","S3_BYPASS_GOVERNANCE_RETENTION","ConfirmDialog","confirmText","isOpen","ConfirmDeleteIcon","isLoading","onConfirm","onConfirmDelete","recursive","decodeURLString","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","DeleteTag","b","theme","_actualInfo$name","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","allPathData","currentItem","pop","tagsFor","plural","iconColor","DisabledIcon","EditTagIcon","container","cancelDelete","deleteTagProcess","cleanObject","verID","putObjectTags","SecureComponent","S3_GET_OBJECT_TAGGING","S3_GET_ACTIONS","resource","flexFlow","tagKey","tag","S3_DELETE_OBJECT_TAGGING","errorProps","deleteIcon","onDelete","Tag","onDeleteTag","S3_PUT_OBJECT_TAGGING","SectionTitle","AddNewTagIcon","separator","addTagProcess","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","InspectMenuIcon","file","volume","fetch","url","method","makeRequest","ok","resErr","json","message","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","onCloseDecKeyModal","deleteCookie","PasswordKeyIcon","KeyRevealer","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","doDownload","emptyFile","is_latest","last_modified","legal_hold_status","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setMetaData","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","resInfo","setLoadingObjectInfo","getObjectMetadata","metadata","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","S3_PUT_OBJECT_LEGAL_HOLD","canSetTags","canChangeRetention","S3_GET_OBJECT_RETENTION","S3_PUT_OBJECT_RETENTION","canInspect","ADMIN_INSPECT_DATA","canChangeVersioning","S3_GET_BUCKET_VERSIONING","S3_PUT_BUCKET_VERSIONING","S3_GET_OBJECT_VERSION","canGetObject","S3_GET_OBJECT","canDelete","S3_DELETE_OBJECT","objectType","previewObjectType","multiActionButtons","action","DownloadIcon","ShareIcon","PreviewIcon","LegalHoldIcon","openRetentionModal","RetentionIcon","TagsIcon","VersionsIcon","ShareFile","closeShareModal","dataObject","SetRetention","updateInfo","DeleteObject","closeAndReload","setLoadingVersions","setSelectedVersion","SetLegalHoldModal","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","closeFileOpen","textTransform","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","S3_GET_OBJECT_LEGAL_HOLD","MetadataIcon","ObjectMetaData","versionToRestore","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","restoreVersion","putObjectRestore","restoreLocalObjectList","confirmButtonProps","bgColor","FileVersionStyled","content","left","borderBottomColor","maxWidth","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","fromISO","md","Checkbox","stopPropagation","SpecificVersionPill","button","IconButton","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","versionID","deleteMultipleObjects","all_versions","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","dateA","dateB","onCheckVersion","filteredItems","cloneState","RestoreFileVersion","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","ProgressBar","BrowserBreadcrumbs","ScreenTitle","subTitle","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","flexGrow","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","ListObjectsTable","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","requestInProgress","features","selFeatures","obOnly","searchObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","idElement","newPath","setSelectedObjects","setObjectDetailsView","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","setReloadObjectsList","onSelectAll","selectAllItems","rowStyle","_payload$index","noBackground","FilterObjectsSB","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","ListObjects","_downloadRenameModal$","location","useLocation","bucketToRewind","showDeleted","selectedInternalPaths","simplePath","versioningConfig","lockingEnabled","downloadRenameModal","selectedPreview","anonymousAccessOpen","_state$objectBrowser","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","deleteMultipleOpen","setDeleteMultipleOpen","rewindSelect","setRewindSelect","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","isMetaDataLoaded","setIsMetaDataLoaded","isVersioningApplied","pathSegment","pathname","pageTitle","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","isSelObjectDelMarker","checkForDelMarker","isObjDelMarker","obj","fetchMetadata","useCallback","encodedPath","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","prefixPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","allowedFiles","fileExtn","getRootProps","getInputProps","isDragActive","isDragAccept","useDropzone","noClick","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","AccessRuleIcon","refresh","versioning","rewindCloseModal","closePreviewWindow","closeRenameModal","AddAccessRule","closeAddAccessRule","PageLayout","paddingBottom","BucketsIcon","Badge","dotOnly","invisible","HistoryIcon","RefreshIcon","resetMessages","multiple","accept","UploadFilesButton","closeMenu","click","borderTop","VersionsNavigator","setDeletedAction","setShowDeletedObjects","DetailsListPanel","ObjectDetailPanel","configureBucketAllowed","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_DELETE_BUCKET","S3_GET_BUCKET_NOTIFICATIONS","S3_PUT_BUCKET_NOTIFICATIONS","S3_GET_REPLICATION_CONFIGURATION","S3_PUT_REPLICATION_CONFIGURATION","S3_GET_LIFECYCLE_CONFIGURATION","S3_PUT_LIFECYCLE_CONFIGURATION","ADMIN_GET_BUCKET_QUOTA","ADMIN_SET_BUCKET_QUOTA","S3_PUT_BUCKET_TAGGING","S3_GET_BUCKET_TAGGING","S3_LIST_BUCKET_VERSIONS","S3_GET_BUCKET_POLICY_STATUS","S3_DELETE_BUCKET_POLICY","searchBar","setSearchVersions","setHelpName","AutoColorIcon","ObjectManagerButton","PageHeaderWrapper","BackLink","IAM_PAGES","OBJECT_BROWSER_VIEW","IAM_PERMISSIONS","IAM_ROLES","BUCKET_ADMIN","SettingsIcon","HelpMenu","middleComponent","BrowserHandler","loadingVersioning","rewindDate","dateToRewind","loadingLocking","reloadObjectsList","initWSRequest","rewindMode","pathLoad","forceLoad","searchPath","setRequestInProgress","decodedIPaths","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","fromJSDate","plus","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","DaysSelector","dateChanged","newDate","ReadBox","actionButton","setModalSnackMessage","isFullscreen","loading","setLoading","basename","document","baseURI","replace","window","origin","iframeLoaded","flex","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","InformativeMessage","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","WrappedComponent","fallback","props","Suspense","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2977.e75673aa.chunk.js b/portal-ui/build/static/js/2977.e75673aa.chunk.js deleted file mode 100644 index 281e492e92..0000000000 --- a/portal-ui/build/static/js/2977.e75673aa.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see 2977.e75673aa.chunk.js.LICENSE.txt */ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2977],{81694:(t,e)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var t=[],e=0;e(u=(a=Math.ceil(p/v))>u?a+1:u+1)&&(i=u,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((u=l.length)-(i=s.length)<0&&(i=u,r=s,s=l,l=r),n=0;i;)n=(l[--i]=l[i]+s[i]+n)/y|0,l[i]%=y;for(n&&(l.unshift(n),++o),u=l.length;0==l[--u];)l.pop();return e.d=l,e.e=o,c?T(e,p):e}function w(t,e,n){if(t!==~~t||tn)throw Error(s+t)}function O(t){var e,n,r,o=t.length-1,i="",a=t[0];if(o>0){for(i+=a,e=1;et.e^i.s<0?1:-1;for(e=0,n=(r=i.d.length)<(o=t.d.length)?r:o;et.d[e]^i.s<0?1:-1;return r===o?0:r>o^i.s<0?1:-1},b.decimalPlaces=b.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*v;if(e=t.d[e])for(;e%10==0;e/=10)n--;return n<0?0:n},b.dividedBy=b.div=function(t){return j(this,new this.constructor(t))},b.dividedToIntegerBy=b.idiv=function(t){var e=this.constructor;return T(j(this,new e(t),0,1),e.precision)},b.equals=b.eq=function(t){return!this.cmp(t)},b.exponent=function(){return E(this)},b.greaterThan=b.gt=function(t){return this.cmp(t)>0},b.greaterThanOrEqualTo=b.gte=function(t){return this.cmp(t)>=0},b.isInteger=b.isint=function(){return this.e>this.d.length-2},b.isNegative=b.isneg=function(){return this.s<0},b.isPositive=b.ispos=function(){return this.s>0},b.isZero=function(){return 0===this.s},b.lessThan=b.lt=function(t){return this.cmp(t)<0},b.lessThanOrEqualTo=b.lte=function(t){return this.cmp(t)<1},b.logarithm=b.log=function(t){var e,n=this,r=n.constructor,o=r.precision,a=o+5;if(void 0===t)t=new r(10);else if((t=new r(t)).s<1||t.eq(i))throw Error(l+"NaN");if(n.s<1)throw Error(l+(n.s?"NaN":"-Infinity"));return n.eq(i)?new r(0):(c=!1,e=j(k(n,a),k(t,a),a),c=!0,T(e,o))},b.minus=b.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?_(e,t):x(e,(t.s=-t.s,t))},b.modulo=b.mod=function(t){var e,n=this,r=n.constructor,o=r.precision;if(!(t=new r(t)).s)throw Error(l+"NaN");return n.s?(c=!1,e=j(n,t,0,1).times(t),c=!0,n.minus(e)):T(new r(n),o)},b.naturalExponential=b.exp=function(){return S(this)},b.naturalLogarithm=b.ln=function(){return k(this)},b.negated=b.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t},b.plus=b.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?x(e,t):_(e,(t.s=-t.s,t))},b.precision=b.sd=function(t){var e,n,r,o=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(s+t);if(e=E(o)+1,n=(r=o.d.length-1)*v+1,r=o.d[r]){for(;r%10==0;r/=10)n--;for(r=o.d[0];r>=10;r/=10)n++}return t&&e>n?e:n},b.squareRoot=b.sqrt=function(){var t,e,n,r,o,i,a,u=this,s=u.constructor;if(u.s<1){if(!u.s)return new s(0);throw Error(l+"NaN")}for(t=E(u),c=!1,0==(o=Math.sqrt(+u))||o==1/0?(((e=O(u.d)).length+t)%2==0&&(e+="0"),o=Math.sqrt(e),t=p((t+1)/2)-(t<0||t%2),r=new s(e=o==1/0?"5e"+t:(e=o.toExponential()).slice(0,e.indexOf("e")+1)+t)):r=new s(o.toString()),o=a=(n=s.precision)+3;;)if(r=(i=r).plus(j(u,i,a+2)).times(.5),O(i.d).slice(0,a)===(e=O(r.d)).slice(0,a)){if(e=e.slice(a-3,a+1),o==a&&"4999"==e){if(T(i,n+1,0),i.times(i).eq(u)){r=i;break}}else if("9999"!=e)break;a+=4}return c=!0,T(r,n)},b.times=b.mul=function(t){var e,n,r,o,i,a,u,l,s,f=this,p=f.constructor,h=f.d,d=(t=new p(t)).d;if(!f.s||!t.s)return new p(0);for(t.s*=f.s,n=f.e+t.e,(l=h.length)<(s=d.length)&&(i=h,h=d,d=i,a=l,l=s,s=a),i=[],r=a=l+s;r--;)i.push(0);for(r=s;--r>=0;){for(e=0,o=l+r;o>r;)u=i[o]+d[r]*h[o-r-1]+e,i[o--]=u%y|0,e=u/y|0;i[o]=(i[o]+e)%y|0}for(;!i[--a];)i.pop();return e?++n:i.shift(),t.d=i,t.e=n,c?T(t,p.precision):t},b.toDecimalPlaces=b.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(w(t,0,a),void 0===e?e=r.rounding:w(e,0,8),T(n,t+E(n)+1,e))},b.toExponential=function(t,e){var n,r=this,o=r.constructor;return void 0===t?n=C(r,!0):(w(t,0,a),void 0===e?e=o.rounding:w(e,0,8),n=C(r=T(new o(r),t+1,e),!0,t+1)),n},b.toFixed=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?C(o):(w(t,0,a),void 0===e?e=i.rounding:w(e,0,8),n=C((r=T(new i(o),t+E(o)+1,e)).abs(),!1,t+E(r)+1),o.isneg()&&!o.isZero()?"-"+n:n)},b.toInteger=b.toint=function(){var t=this,e=t.constructor;return T(new e(t),E(t)+1,e.rounding)},b.toNumber=function(){return+this},b.toPower=b.pow=function(t){var e,n,r,o,a,u,s=this,f=s.constructor,h=+(t=new f(t));if(!t.s)return new f(i);if(!(s=new f(s)).s){if(t.s<1)throw Error(l+"Infinity");return s}if(s.eq(i))return s;if(r=f.precision,t.eq(i))return T(s,r);if(u=(e=t.e)>=(n=t.d.length-1),a=s.s,u){if((n=h<0?-h:h)<=m){for(o=new f(i),e=Math.ceil(r/v+4),c=!1;n%2&&N((o=o.times(s)).d,e),0!==(n=p(n/2));)N((s=s.times(s)).d,e);return c=!0,t.s<0?new f(i).div(o):T(o,r)}}else if(a<0)throw Error(l+"NaN");return a=a<0&&1&t.d[Math.max(e,n)]?-1:1,s.s=1,c=!1,o=t.times(k(s,r+12)),c=!0,(o=S(o)).s=a,o},b.toPrecision=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?r=C(o,(n=E(o))<=i.toExpNeg||n>=i.toExpPos):(w(t,1,a),void 0===e?e=i.rounding:w(e,0,8),r=C(o=T(new i(o),t,e),t<=(n=E(o))||n<=i.toExpNeg,t)),r},b.toSignificantDigits=b.tosd=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(w(t,1,a),void 0===e?e=n.rounding:w(e,0,8)),T(new n(this),t,e)},b.toString=b.valueOf=b.val=b.toJSON=function(){var t=this,e=E(t),n=t.constructor;return C(t,e<=n.toExpNeg||e>=n.toExpPos)};var j=function(){function t(t,e){var n,r=0,o=t.length;for(t=t.slice();o--;)n=t[o]*e+r,t[o]=n%y|0,r=n/y|0;return r&&t.unshift(r),t}function e(t,e,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;oe[o]?1:-1;break}return i}function n(t,e,n){for(var r=0;n--;)t[n]-=r,r=t[n]1;)t.shift()}return function(r,o,i,a){var u,c,s,f,p,h,d,m,g,b,x,w,O,j,S,A,P,k,M=r.constructor,_=r.s==o.s?1:-1,C=r.d,N=o.d;if(!r.s)return new M(r);if(!o.s)throw Error(l+"Division by zero");for(c=r.e-o.e,P=N.length,S=C.length,m=(d=new M(_)).d=[],s=0;N[s]==(C[s]||0);)++s;if(N[s]>(C[s]||0)&&--c,(w=null==i?i=M.precision:a?i+(E(r)-E(o))+1:i)<0)return new M(0);if(w=w/v+2|0,s=0,1==P)for(f=0,N=N[0],w++;(s1&&(N=t(N,f),C=t(C,f),P=N.length,S=C.length),j=P,b=(g=C.slice(0,P)).length;b=y/2&&++A;do{f=0,(u=e(N,g,P,b))<0?(x=g[0],P!=b&&(x=x*y+(g[1]||0)),(f=x/A|0)>1?(f>=y&&(f=y-1),1==(u=e(p=t(N,f),g,h=p.length,b=g.length))&&(f--,n(p,P16)throw Error(f+E(t));if(!t.s)return new p(i);for(null==e?(c=!1,u=d):u=e,a=new p(.03125);t.abs().gte(.1);)t=t.times(a),s+=5;for(u+=Math.log(h(2,s))/Math.LN10*2+5|0,n=r=o=new p(i),p.precision=u;;){if(r=T(r.times(t),u),n=n.times(++l),O((a=o.plus(j(r,n,u))).d).slice(0,u)===O(o.d).slice(0,u)){for(;s--;)o=T(o.times(o),u);return p.precision=d,null==e?(c=!0,T(o,d)):o}o=a}}function E(t){for(var e=t.e*v,n=t.d[0];n>=10;n/=10)e++;return e}function A(t,e,n){if(e>t.LN10.sd())throw c=!0,n&&(t.precision=n),Error(l+"LN10 precision limit exceeded");return T(new t(t.LN10),e)}function P(t){for(var e="";t--;)e+="0";return e}function k(t,e){var n,r,o,a,u,s,f,p,h,d=1,y=t,v=y.d,m=y.constructor,g=m.precision;if(y.s<1)throw Error(l+(y.s?"NaN":"-Infinity"));if(y.eq(i))return new m(0);if(null==e?(c=!1,p=g):p=e,y.eq(10))return null==e&&(c=!0),A(m,p);if(p+=10,m.precision=p,r=(n=O(v)).charAt(0),a=E(y),!(Math.abs(a)<15e14))return f=A(m,p+2,g).times(a+""),y=k(new m(r+"."+n.slice(1)),p-10).plus(f),m.precision=g,null==e?(c=!0,T(y,g)):y;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=O((y=y.times(t)).d)).charAt(0),d++;for(a=E(y),r>1?(y=new m("0."+n),a++):y=new m(r+"."+n.slice(1)),s=u=y=j(y.minus(i),y.plus(i),p),h=T(y.times(y),p),o=3;;){if(u=T(u.times(h),p),O((f=s.plus(j(u,new m(o),p))).d).slice(0,p)===O(s.d).slice(0,p))return s=s.times(2),0!==a&&(s=s.plus(A(m,p+2,g).times(a+""))),s=j(s,new m(d),p),m.precision=g,null==e?(c=!0,T(s,g)):s;s=f,o+=2}}function M(t,e){var n,r,o;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);)++r;for(o=e.length;48===e.charCodeAt(o-1);)--o;if(e=e.slice(r,o)){if(o-=r,n=n-r-1,t.e=p(n/v),t.d=[],r=(n+1)%v,n<0&&(r+=v),rg||t.e<-g))throw Error(f+n)}else t.s=0,t.e=0,t.d=[0];return t}function T(t,e,n){var r,o,i,a,u,l,s,d,m=t.d;for(a=1,i=m[0];i>=10;i/=10)a++;if((r=e-a)<0)r+=v,o=e,s=m[d=0];else{if((d=Math.ceil((r+1)/v))>=(i=m.length))return t;for(s=i=m[d],a=1;i>=10;i/=10)a++;o=(r%=v)-v+a}if(void 0!==n&&(u=s/(i=h(10,a-o-1))%10|0,l=e<0||void 0!==m[d+1]||s%i,l=n<4?(u||l)&&(0==n||n==(t.s<0?3:2)):u>5||5==u&&(4==n||l||6==n&&(r>0?o>0?s/h(10,a-o):0:m[d-1])%10&1||n==(t.s<0?8:7))),e<1||!m[0])return l?(i=E(t),m.length=1,e=e-i-1,m[0]=h(10,(v-e%v)%v),t.e=p(-e/v)||0):(m.length=1,m[0]=t.e=t.s=0),t;if(0==r?(m.length=d,i=1,d--):(m.length=d+1,i=h(10,v-r),m[d]=o>0?(s/h(10,a-o)%h(10,o)|0)*i:0),l)for(;;){if(0==d){(m[0]+=i)==y&&(m[0]=1,++t.e);break}if(m[d]+=i,m[d]!=y)break;m[d--]=0,i=1}for(r=m.length;0===m[--r];)m.pop();if(c&&(t.e>g||t.e<-g))throw Error(f+E(t));return t}function _(t,e){var n,r,o,i,a,u,l,s,f,p,h=t.constructor,d=h.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new h(t),c?T(e,d):e;if(l=t.d,p=e.d,r=e.e,s=t.e,l=l.slice(),a=s-r){for((f=a<0)?(n=l,a=-a,u=p.length):(n=p,r=s,u=l.length),a>(o=Math.max(Math.ceil(d/v),u)+2)&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for((f=(o=l.length)<(u=p.length))&&(u=o),o=0;o0;--o)l[u++]=0;for(o=p.length;o>a;){if(l[--o]0?i=i.charAt(0)+"."+i.slice(1)+P(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+P(-o-1)+i,n&&(r=n-a)>0&&(i+=P(r))):o>=a?(i+=P(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+P(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=P(r))),t.s<0?"-"+i:i}function N(t,e){if(t.length>e)return t.length=e,!0}function D(t){if(!t||"object"!==typeof t)throw Error(l+"Object expected");var e,n,r,o=["precision",1,a,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(e=0;e=o[e+1]&&r<=o[e+2]))throw Error(s+n+": "+r);this[n]=r}if(void 0!==(r=t[n="LN10"])){if(r!=Math.LN10)throw Error(s+n+": "+r);this[n]=new this(r)}return this}u=function t(e){var n,r,o;function i(t){var e=this;if(!(e instanceof i))return new i(t);if(e.constructor=i,t instanceof i)return e.s=t.s,e.e=t.e,void(e.d=(t=t.d)?t.slice():t);if("number"===typeof t){if(0*t!==0)throw Error(s+t);if(t>0)e.s=1;else{if(!(t<0))return e.s=0,e.e=0,void(e.d=[0]);t=-t,e.s=-1}return t===~~t&&t<1e7?(e.e=0,void(e.d=[t])):M(e,t.toString())}if("string"!==typeof t)throw Error(s+t);if(45===t.charCodeAt(0)?(t=t.slice(1),e.s=-1):e.s=1,!d.test(t))throw Error(s+t);M(e,t)}if(i.prototype=b,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=t,i.config=i.set=D,void 0===e&&(e={}),e)for(o=["precision","rounding","toExpNeg","toExpPos","LN10"],n=0;n{"use strict";var e=Object.prototype.hasOwnProperty,n="~";function r(){}function o(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function i(t,e,r,i,a){if("function"!==typeof r)throw new TypeError("The listener must be a function");var u=new o(r,i||t,a),c=n?n+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],u]:t._events[c].push(u):(t._events[c]=u,t._eventsCount++),t}function a(t,e){0===--t._eventsCount?t._events=new r:delete t._events[e]}function u(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),u.prototype.eventNames=function(){var t,r,o=[];if(0===this._eventsCount)return o;for(r in t=this._events)e.call(t,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},u.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,a=new Array(i);o{var r=n(68136)(n(97009),"DataView");t.exports=r},78319:(t,e,n)=>{var r=n(68136)(n(97009),"Promise");t.exports=r},23924:(t,e,n)=>{var r=n(68136)(n(97009),"Set");t.exports=r},20692:(t,e,n)=>{var r=n(78059),o=n(35774),i=n(41596);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(38384),o=n(20511),i=n(50835),a=n(90707),u=n(18832),c=n(35077);function l(t){var e=this.__data__=new r(t);this.size=e.size}l.prototype.clear=o,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=u,l.prototype.set=c,t.exports=l},46219:(t,e,n)=>{var r=n(97009).Uint8Array;t.exports=r},7091:(t,e,n)=>{var r=n(68136)(n(97009),"WeakMap");t.exports=r},13665:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},18573:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,o=0,i=[];++n{var r=n(24842);t.exports=function(t,e){return!!(null==t?0:t.length)&&r(t,e,0)>-1}},32683:t=>{t.exports=function(t,e,n){for(var r=-1,o=null==t?0:t.length;++r{var r=n(86478),o=n(34963),i=n(93629),a=n(5174),u=n(26800),c=n(19102),l=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=i(t),s=!n&&o(t),f=!n&&!s&&a(t),p=!n&&!s&&!f&&c(t),h=n||s||f||p,d=h?r(t.length,String):[],y=d.length;for(var v in t)!e&&!l.call(t,v)||h&&("length"==v||f&&("offset"==v||"parent"==v)||p&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||u(v,y))||d.push(v);return d}},41705:t=>{t.exports=function(t,e){for(var n=-1,r=e.length,o=t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{t.exports=function(t){return t.split("")}},32526:(t,e,n)=>{var r=n(48528);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},87927:(t,e,n)=>{var r=n(15358),o=n(67056)(r);t.exports=o},39863:(t,e,n)=>{var r=n(87927);t.exports=function(t,e){var n=!0;return r(t,(function(t,r,o){return n=!!e(t,r,o)})),n}},43079:(t,e,n)=>{var r=n(70152);t.exports=function(t,e,n){for(var o=-1,i=t.length;++o{t.exports=function(t,e,n,r){for(var o=t.length,i=n+(r?1:-1);r?i--:++i{var r=n(41705),o=n(73529);t.exports=function t(e,n,i,a,u){var c=-1,l=e.length;for(i||(i=o),u||(u=[]);++c0&&i(s)?n>1?t(s,n-1,i,a,u):r(u,s):a||(u[u.length]=s)}return u}},85099:(t,e,n)=>{var r=n(30372)();t.exports=r},15358:(t,e,n)=>{var r=n(85099),o=n(12742);t.exports=function(t,e){return t&&r(t,e,o)}},61986:(t,e,n)=>{var r=n(41705),o=n(93629);t.exports=function(t,e,n){var i=e(t);return o(t)?i:r(i,n(t))}},81954:t=>{t.exports=function(t,e){return t>e}},90529:t=>{t.exports=function(t,e){return null!=t&&e in Object(t)}},24842:(t,e,n)=>{var r=n(2045),o=n(50505),i=n(77167);t.exports=function(t,e,n){return e===e?i(t,e,n):r(t,o,n)}},4906:(t,e,n)=>{var r=n(39066),o=n(43141);t.exports=function(t){return o(t)&&"[object Arguments]"==r(t)}},71848:(t,e,n)=>{var r=n(93355),o=n(43141);t.exports=function t(e,n,i,a,u){return e===n||(null==e||null==n||!o(e)&&!o(n)?e!==e&&n!==n:r(e,n,i,a,t,u))}},93355:(t,e,n)=>{var r=n(22854),o=n(15305),i=n(92206),a=n(88078),u=n(88383),c=n(93629),l=n(5174),s=n(19102),f="[object Arguments]",p="[object Array]",h="[object Object]",d=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,y,v,m){var g=c(t),b=c(e),x=g?p:u(t),w=b?p:u(e),O=(x=x==f?h:x)==h,j=(w=w==f?h:w)==h,S=x==w;if(S&&l(t)){if(!l(e))return!1;g=!0,O=!1}if(S&&!O)return m||(m=new r),g||s(t)?o(t,e,n,y,v,m):i(t,e,x,n,y,v,m);if(!(1&n)){var E=O&&d.call(t,"__wrapped__"),A=j&&d.call(e,"__wrapped__");if(E||A){var P=E?t.value():t,k=A?e.value():e;return m||(m=new r),v(P,k,n,y,m)}}return!!S&&(m||(m=new r),a(t,e,n,y,v,m))}},8856:(t,e,n)=>{var r=n(22854),o=n(71848);t.exports=function(t,e,n,i){var a=n.length,u=a,c=!i;if(null==t)return!u;for(t=Object(t);a--;){var l=n[a];if(c&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++a{t.exports=function(t){return t!==t}},68150:(t,e,n)=>{var r=n(39066),o=n(24635),i=n(43141),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return i(t)&&o(t.length)&&!!a[r(t)]}},56025:(t,e,n)=>{var r=n(97080),o=n(24322),i=n(2100),a=n(93629),u=n(10038);t.exports=function(t){return"function"==typeof t?t:null==t?i:"object"==typeof t?a(t)?o(t[0],t[1]):r(t):u(t)}},43654:(t,e,n)=>{var r=n(62936),o=n(75964),i=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=[];for(var n in Object(t))i.call(t,n)&&"constructor"!=n&&e.push(n);return e}},92580:t=>{t.exports=function(t,e){return t{var r=n(87927),o=n(21473);t.exports=function(t,e){var n=-1,i=o(t)?Array(t.length):[];return r(t,(function(t,r,o){i[++n]=e(t,r,o)})),i}},97080:(t,e,n)=>{var r=n(8856),o=n(79091),i=n(50284);t.exports=function(t){var e=o(t);return 1==e.length&&e[0][2]?i(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},24322:(t,e,n)=>{var r=n(71848),o=n(26181),i=n(75658),a=n(25823),u=n(25072),c=n(50284),l=n(69793);t.exports=function(t,e){return a(t)&&u(e)?c(l(t),e):function(n){var a=o(n,t);return void 0===a&&a===e?i(n,t):r(e,a,3)}}},93226:(t,e,n)=>{var r=n(68950),o=n(98667),i=n(56025),a=n(53849),u=n(19179),c=n(16194),l=n(94480),s=n(2100),f=n(93629);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return f(t)?function(e){return o(e,1===t.length?t[0]:t)}:t})):[s];var p=-1;e=r(e,c(i));var h=a(t,(function(t,n,o){return{criteria:r(e,(function(e){return e(t)})),index:++p,value:t}}));return u(h,(function(t,e){return l(t,e,n)}))}},9586:t=>{t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},4084:(t,e,n)=>{var r=n(98667);t.exports=function(t){return function(e){return r(e,t)}}},7255:t=>{var e=Math.ceil,n=Math.max;t.exports=function(t,r,o,i){for(var a=-1,u=n(e((r-t)/(o||1)),0),c=Array(u);u--;)c[i?u:++a]=t,t+=o;return c}},58794:(t,e,n)=>{var r=n(2100),o=n(64262),i=n(79156);t.exports=function(t,e){return i(o(t,e,r),t+"")}},7532:(t,e,n)=>{var r=n(71547),o=n(48528),i=n(2100),a=o?function(t,e){return o(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:i;t.exports=a},2646:t=>{t.exports=function(t,e,n){var r=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=Array(o);++r{var r=n(87927);t.exports=function(t,e){var n;return r(t,(function(t,r,o){return!(n=e(t,r,o))})),!!n}},19179:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},86478:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{t.exports=function(t){return function(e){return t(e)}}},39602:(t,e,n)=>{var r=n(20692),o=n(59055),i=n(32683),a=n(60075),u=n(77730),c=n(22230);t.exports=function(t,e,n){var l=-1,s=o,f=t.length,p=!0,h=[],d=h;if(n)p=!1,s=i;else if(f>=200){var y=e?null:u(t);if(y)return c(y);p=!1,s=a,d=new r}else d=e?[]:h;t:for(;++l{t.exports=function(t,e){return t.has(e)}},69813:(t,e,n)=>{var r=n(2646);t.exports=function(t,e,n){var o=t.length;return n=void 0===n?o:n,!e&&n>=o?t:r(t,e,n)}},88558:(t,e,n)=>{var r=n(70152);t.exports=function(t,e){if(t!==e){var n=void 0!==t,o=null===t,i=t===t,a=r(t),u=void 0!==e,c=null===e,l=e===e,s=r(e);if(!c&&!s&&!a&&t>e||a&&u&&l&&!c&&!s||o&&u&&l||!n&&l||!i)return 1;if(!o&&!a&&!s&&t{var r=n(88558);t.exports=function(t,e,n){for(var o=-1,i=t.criteria,a=e.criteria,u=i.length,c=n.length;++o=c?l:l*("desc"==n[o]?-1:1)}return t.index-e.index}},67056:(t,e,n)=>{var r=n(21473);t.exports=function(t,e){return function(n,o){if(null==n)return n;if(!r(n))return t(n,o);for(var i=n.length,a=e?i:-1,u=Object(n);(e?a--:++a{t.exports=function(t){return function(e,n,r){for(var o=-1,i=Object(e),a=r(e),u=a.length;u--;){var c=a[t?u:++o];if(!1===n(i[c],c,i))break}return e}}},10322:(t,e,n)=>{var r=n(69813),o=n(47302),i=n(27580),a=n(63518);t.exports=function(t){return function(e){e=a(e);var n=o(e)?i(e):void 0,u=n?n[0]:e.charAt(0),c=n?r(n,1).join(""):e.slice(1);return u[t]()+c}}},95481:(t,e,n)=>{var r=n(56025),o=n(21473),i=n(12742);t.exports=function(t){return function(e,n,a){var u=Object(e);if(!o(e)){var c=r(n,3);e=i(e),n=function(t){return c(u[t],t,u)}}var l=t(e,n,a);return l>-1?u[c?e[l]:l]:void 0}}},56381:(t,e,n)=>{var r=n(7255),o=n(3195),i=n(91495);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&o(e,n,a)&&(n=a=void 0),e=i(e),void 0===n?(n=e,e=0):n=i(n),a=void 0===a?e{var r=n(23924),o=n(19694),i=n(22230),a=r&&1/i(new r([,-0]))[1]==1/0?function(t){return new r(t)}:o;t.exports=a},48528:(t,e,n)=>{var r=n(68136),o=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();t.exports=o},15305:(t,e,n)=>{var r=n(20692),o=n(47897),i=n(60075);t.exports=function(t,e,n,a,u,c){var l=1&n,s=t.length,f=e.length;if(s!=f&&!(l&&f>s))return!1;var p=c.get(t),h=c.get(e);if(p&&h)return p==e&&h==t;var d=-1,y=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++d{var r=n(87197),o=n(46219),i=n(29231),a=n(15305),u=n(90234),c=n(22230),l=r?r.prototype:void 0,s=l?l.valueOf:void 0;t.exports=function(t,e,n,r,l,f,p){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!f(new o(t),new o(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var h=u;case"[object Set]":var d=1&r;if(h||(h=c),t.size!=e.size&&!d)return!1;var y=p.get(t);if(y)return y==e;r|=2,p.set(t,e);var v=a(h(t),h(e),r,l,f,p);return p.delete(t),v;case"[object Symbol]":if(s)return s.call(t)==s.call(e)}return!1}},88078:(t,e,n)=>{var r=n(38248),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,i,a,u){var c=1&n,l=r(t),s=l.length;if(s!=r(e).length&&!c)return!1;for(var f=s;f--;){var p=l[f];if(!(c?p in e:o.call(e,p)))return!1}var h=u.get(t),d=u.get(e);if(h&&d)return h==e&&d==t;var y=!0;u.set(t,e),u.set(e,t);for(var v=c;++f{var r=n(61986),o=n(65918),i=n(12742);t.exports=function(t){return r(t,i,o)}},79091:(t,e,n)=>{var r=n(25072),o=n(12742);t.exports=function(t){for(var e=o(t),n=e.length;n--;){var i=e[n],a=t[i];e[n]=[i,a,r(a)]}return e}},31137:(t,e,n)=>{var r=n(12709)(Object.getPrototypeOf,Object);t.exports=r},65918:(t,e,n)=>{var r=n(84903),o=n(68174),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,u=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return i.call(t,e)})))}:o;t.exports=u},88383:(t,e,n)=>{var r=n(50908),o=n(95797),i=n(78319),a=n(23924),u=n(7091),c=n(39066),l=n(27907),s="[object Map]",f="[object Promise]",p="[object Set]",h="[object WeakMap]",d="[object DataView]",y=l(r),v=l(o),m=l(i),g=l(a),b=l(u),x=c;(r&&x(new r(new ArrayBuffer(1)))!=d||o&&x(new o)!=s||i&&x(i.resolve())!=f||a&&x(new a)!=p||u&&x(new u)!=h)&&(x=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?l(n):"";if(r)switch(r){case y:return d;case v:return s;case m:return f;case g:return p;case b:return h}return e}),t.exports=x},86417:(t,e,n)=>{var r=n(43082),o=n(34963),i=n(93629),a=n(26800),u=n(24635),c=n(69793);t.exports=function(t,e,n){for(var l=-1,s=(e=r(e,t)).length,f=!1;++l{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return e.test(t)}},73529:(t,e,n)=>{var r=n(87197),o=n(34963),i=n(93629),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return i(t)||o(t)||!!(a&&t&&t[a])}},26800:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{var r=n(29231),o=n(21473),i=n(26800),a=n(8092);t.exports=function(t,e,n){if(!a(n))return!1;var u=typeof e;return!!("number"==u?o(n)&&i(e,n.length):"string"==u&&e in n)&&r(n[e],t)}},62936:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},25072:(t,e,n)=>{var r=n(8092);t.exports=function(t){return t===t&&!r(t)}},90234:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},50284:t=>{t.exports=function(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}},75964:(t,e,n)=>{var r=n(12709)(Object.keys,Object);t.exports=r},49494:(t,e,n)=>{t=n.nmd(t);var r=n(31032),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o&&r.process,u=function(){try{var t=i&&i.require&&i.require("util").types;return t||a&&a.binding&&a.binding("util")}catch(e){}}();t.exports=u},12709:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},64262:(t,e,n)=>{var r=n(13665),o=Math.max;t.exports=function(t,e,n){return e=o(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,u=o(i.length-e,0),c=Array(u);++a{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},41596:t=>{t.exports=function(t){return this.__data__.has(t)}},22230:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},79156:(t,e,n)=>{var r=n(7532),o=n(83197)(r);t.exports=o},83197:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var o=e(),i=16-(o-r);if(r=o,i>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},20511:(t,e,n)=>{var r=n(38384);t.exports=function(){this.__data__=new r,this.size=0}},50835:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},90707:t=>{t.exports=function(t){return this.__data__.get(t)}},18832:t=>{t.exports=function(t){return this.__data__.has(t)}},35077:(t,e,n)=>{var r=n(38384),o=n(95797),i=n(78059);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},77167:t=>{t.exports=function(t,e,n){for(var r=n-1,o=t.length;++r{var r=n(54622),o=n(47302),i=n(42110);t.exports=function(t){return o(t)?i(t):r(t)}},42110:t=>{var e="\\ud800-\\udfff",n="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",o="\\ud83c[\\udffb-\\udfff]",i="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",u="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+o+")"+"?",l="[\\ufe0e\\ufe0f]?",s=l+c+("(?:\\u200d(?:"+[i,a,u].join("|")+")"+l+c+")*"),f="(?:"+[i+r+"?",r,a,u,n].join("|")+")",p=RegExp(o+"(?="+o+")|"+f+s,"g");t.exports=function(t){return t.match(p)||[]}},71547:t=>{t.exports=function(t){return function(){return t}}},82730:(t,e,n)=>{var r=n(18573),o=n(39863),i=n(56025),a=n(93629),u=n(3195);t.exports=function(t,e,n){var c=a(t)?r:o;return n&&u(t,e,n)&&(e=void 0),c(t,i(e,3))}},61211:(t,e,n)=>{var r=n(95481)(n(51475));t.exports=r},51475:(t,e,n)=>{var r=n(2045),o=n(56025),i=n(39753),a=Math.max;t.exports=function(t,e,n){var u=null==t?0:t.length;if(!u)return-1;var c=null==n?0:i(n);return c<0&&(c=a(u+c,0)),r(t,o(e,3),c)}},5008:(t,e,n)=>{var r=n(55182),o=n(72034);t.exports=function(t,e){return r(o(t,e),1)}},75658:(t,e,n)=>{var r=n(90529),o=n(86417);t.exports=function(t,e){return null!=t&&o(t,e,r)}},2100:t=>{t.exports=function(t){return t}},34963:(t,e,n)=>{var r=n(4906),o=n(43141),i=Object.prototype,a=i.hasOwnProperty,u=i.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return o(t)&&a.call(t,"callee")&&!u.call(t,"callee")};t.exports=c},21473:(t,e,n)=>{var r=n(74786),o=n(24635);t.exports=function(t){return null!=t&&o(t.length)&&!r(t)}},65127:(t,e,n)=>{var r=n(39066),o=n(43141);t.exports=function(t){return!0===t||!1===t||o(t)&&"[object Boolean]"==r(t)}},5174:(t,e,n)=>{t=n.nmd(t);var r=n(97009),o=n(49488),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,u=a&&a.exports===i?r.Buffer:void 0,c=(u?u.isBuffer:void 0)||o;t.exports=c},18111:(t,e,n)=>{var r=n(71848);t.exports=function(t,e){return r(t,e)}},24635:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},82066:(t,e,n)=>{var r=n(30298);t.exports=function(t){return r(t)&&t!=+t}},42854:t=>{t.exports=function(t){return null==t}},30298:(t,e,n)=>{var r=n(39066),o=n(43141);t.exports=function(t){return"number"==typeof t||o(t)&&"[object Number]"==r(t)}},93977:(t,e,n)=>{var r=n(39066),o=n(31137),i=n(43141),a=Function.prototype,u=Object.prototype,c=a.toString,l=u.hasOwnProperty,s=c.call(Object);t.exports=function(t){if(!i(t)||"[object Object]"!=r(t))return!1;var e=o(t);if(null===e)return!0;var n=l.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==s}},26769:(t,e,n)=>{var r=n(39066),o=n(93629),i=n(43141);t.exports=function(t){return"string"==typeof t||!o(t)&&i(t)&&"[object String]"==r(t)}},19102:(t,e,n)=>{var r=n(68150),o=n(16194),i=n(49494),a=i&&i.isTypedArray,u=a?o(a):r;t.exports=u},12742:(t,e,n)=>{var r=n(47538),o=n(43654),i=n(21473);t.exports=function(t){return i(t)?r(t):o(t)}},15727:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},72034:(t,e,n)=>{var r=n(68950),o=n(56025),i=n(53849),a=n(93629);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},37702:(t,e,n)=>{var r=n(32526),o=n(15358),i=n(56025);t.exports=function(t,e){var n={};return e=i(e,3),o(t,(function(t,o,i){r(n,o,e(t,o,i))})),n}},29627:(t,e,n)=>{var r=n(43079),o=n(81954),i=n(2100);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},66452:(t,e,n)=>{var r=n(43079),o=n(92580),i=n(2100);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},19694:t=>{t.exports=function(){}},10038:(t,e,n)=>{var r=n(9586),o=n(4084),i=n(25823),a=n(69793);t.exports=function(t){return i(t)?r(a(t)):o(t)}},66222:(t,e,n)=>{var r=n(56381)();t.exports=r},14064:(t,e,n)=>{var r=n(47897),o=n(56025),i=n(59204),a=n(93629),u=n(3195);t.exports=function(t,e,n){var c=a(t)?r:i;return n&&u(t,e,n)&&(e=void 0),c(t,o(e,3))}},64286:(t,e,n)=>{var r=n(55182),o=n(93226),i=n(58794),a=n(3195),u=i((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),o(t,r(e,1),[])}));t.exports=u},68174:t=>{t.exports=function(){return[]}},49488:t=>{t.exports=function(){return!1}},33038:(t,e,n)=>{var r=n(48573),o=n(8092);t.exports=function(t,e,n){var i=!0,a=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),r(t,e,{leading:i,maxWait:e,trailing:a})}},91495:(t,e,n)=>{var r=n(42582),o=1/0;t.exports=function(t){return t?(t=r(t))===o||t===-1/0?17976931348623157e292*(t<0?-1:1):t===t?t:0:0===t?t:0}},39753:(t,e,n)=>{var r=n(91495);t.exports=function(t){var e=r(t),n=e%1;return e===e?n?e-n:e:0}},66339:(t,e,n)=>{var r=n(56025),o=n(39602);t.exports=function(t,e){return t&&t.length?o(t,r(e,2)):[]}},52085:(t,e,n)=>{var r=n(10322)("toUpperCase");t.exports=r},98202:(t,e,n)=>{"use strict";n.d(e,{ZP:()=>ae,bO:()=>et});var r=n(72791),o=n(52007),i=n.n(o),a=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty;function l(t,e){return function(n,r,o){return t(n,r,o)&&e(n,r,o)}}function s(t){return function(e,n,r){if(!e||!n||"object"!==typeof e||"object"!==typeof n)return t(e,n,r);var o=r.cache,i=o.get(e),a=o.get(n);if(i&&a)return i===n&&a===e;o.set(e,n),o.set(n,e);var u=t(e,n,r);return o.delete(e),o.delete(n),u}}function f(t){return a(t).concat(u(t))}var p=Object.hasOwn||function(t,e){return c.call(t,e)};function h(t,e){return t||e?t===e:t===e||t!==t&&e!==e}var d="_owner",y=Object.getOwnPropertyDescriptor,v=Object.keys;function m(t,e,n){var r=t.length;if(e.length!==r)return!1;for(;r-- >0;)if(!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function g(t,e){return h(t.getTime(),e.getTime())}function b(t,e,n){if(t.size!==e.size)return!1;for(var r,o,i={},a=t.entries(),u=0;(r=a.next())&&!r.done;){for(var c=e.entries(),l=!1,s=0;(o=c.next())&&!o.done;){var f=r.value,p=f[0],h=f[1],d=o.value,y=d[0],v=d[1];l||i[s]||!(l=n.equals(p,y,u,s,t,e,n)&&n.equals(h,v,p,y,t,e,n))||(i[s]=!0),s++}if(!l)return!1;u++}return!0}function x(t,e,n){var r,o=v(t),i=o.length;if(v(e).length!==i)return!1;for(;i-- >0;){if((r=o[i])===d&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof)return!1;if(!p(e,r)||!n.equals(t[r],e[r],r,r,t,e,n))return!1}return!0}function w(t,e,n){var r,o,i,a=f(t),u=a.length;if(f(e).length!==u)return!1;for(;u-- >0;){if((r=a[u])===d&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof)return!1;if(!p(e,r))return!1;if(!n.equals(t[r],e[r],r,r,t,e,n))return!1;if(o=y(t,r),i=y(e,r),(o||i)&&(!o||!i||o.configurable!==i.configurable||o.enumerable!==i.enumerable||o.writable!==i.writable))return!1}return!0}function O(t,e){return h(t.valueOf(),e.valueOf())}function j(t,e){return t.source===e.source&&t.flags===e.flags}function S(t,e,n){if(t.size!==e.size)return!1;for(var r,o,i={},a=t.values();(r=a.next())&&!r.done;){for(var u=e.values(),c=!1,l=0;(o=u.next())&&!o.done;)c||i[l]||!(c=n.equals(r.value,o.value,r.value,o.value,t,e,n))||(i[l]=!0),l++;if(!c)return!1}return!0}function E(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var A="[object Arguments]",P="[object Boolean]",k="[object Date]",M="[object Map]",T="[object Number]",_="[object Object]",C="[object RegExp]",N="[object Set]",D="[object String]",I=Array.isArray,L="function"===typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView:null,R=Object.assign,B=Object.prototype.toString.call.bind(Object.prototype.toString);var z=U();U({strict:!0}),U({circular:!0}),U({circular:!0,strict:!0}),U({createInternalComparator:function(){return h}}),U({strict:!0,createInternalComparator:function(){return h}}),U({circular:!0,createInternalComparator:function(){return h}}),U({circular:!0,createInternalComparator:function(){return h},strict:!0});function U(t){void 0===t&&(t={});var e,n=t.circular,r=void 0!==n&&n,o=t.createInternalComparator,i=t.createState,a=t.strict,u=void 0!==a&&a,c=function(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,o={areArraysEqual:r?w:m,areDatesEqual:g,areMapsEqual:r?l(b,w):b,areObjectsEqual:r?w:x,arePrimitiveWrappersEqual:O,areRegExpsEqual:j,areSetsEqual:r?l(S,w):S,areTypedArraysEqual:r?w:E};if(n&&(o=R({},o,n(o))),e){var i=s(o.areArraysEqual),a=s(o.areMapsEqual),u=s(o.areObjectsEqual),c=s(o.areSetsEqual);o=R({},o,{areArraysEqual:i,areMapsEqual:a,areObjectsEqual:u,areSetsEqual:c})}return o}(t),f=function(t){var e=t.areArraysEqual,n=t.areDatesEqual,r=t.areMapsEqual,o=t.areObjectsEqual,i=t.arePrimitiveWrappersEqual,a=t.areRegExpsEqual,u=t.areSetsEqual,c=t.areTypedArraysEqual;return function(t,l,s){if(t===l)return!0;if(null==t||null==l||"object"!==typeof t||"object"!==typeof l)return t!==t&&l!==l;var f=t.constructor;if(f!==l.constructor)return!1;if(f===Object)return o(t,l,s);if(I(t))return e(t,l,s);if(null!=L&&L(t))return c(t,l,s);if(f===Date)return n(t,l,s);if(f===RegExp)return a(t,l,s);if(f===Map)return r(t,l,s);if(f===Set)return u(t,l,s);var p=B(t);return p===k?n(t,l,s):p===C?a(t,l,s):p===M?r(t,l,s):p===N?u(t,l,s):p===_?"function"!==typeof t.then&&"function"!==typeof l.then&&o(t,l,s):p===A?o(t,l,s):(p===P||p===T||p===D)&&i(t,l,s)}}(c);return function(t){var e=t.circular,n=t.comparator,r=t.createState,o=t.equals,i=t.strict;if(r)return function(t,a){var u=r(),c=u.cache,l=void 0===c?e?new WeakMap:void 0:c,s=u.meta;return n(t,a,{cache:l,equals:o,meta:s,strict:i})};if(e)return function(t,e){return n(t,e,{cache:new WeakMap,equals:o,meta:void 0,strict:i})};var a={cache:void 0,equals:o,meta:void 0,strict:i};return function(t,e){return n(t,e,a)}}({circular:r,comparator:f,createState:i,equals:o?o(f):(e=f,function(t,n,r,o,i,a,u){return e(t,n,u)}),strict:u})}function F(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=-1;requestAnimationFrame((function r(o){n<0&&(n=o),o-n>e?(t(o),n=-1):function(t){"undefined"!==typeof requestAnimationFrame&&requestAnimationFrame(t)}(r)}))}function q(t){return q="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},q(t)}function W(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return G(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return G(t,e)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function G(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&t<=1}));var l,s,f=st(r,i),p=st(o,a),h=(l=r,s=i,function(t){var e=ct(l,s),n=[].concat(ot(e.map((function(t,e){return t*e})).slice(1)),[0]);return lt(n,t)}),d=function(t){for(var e,n=t>1?1:t,r=n,o=0;o<8;++o){var i=f(r)-n,a=h(r);if(Math.abs(i-n)1?1:e<0?0:e}return p(r)};return d.isStepper=!1,d},pt=function(){for(var t=arguments.length,e=new Array(t),n=0;n0&&void 0!==arguments[0]?arguments[0]:{},e=t.stiff,n=void 0===e?100:e,r=t.damping,o=void 0===r?8:r,i=t.dt,a=void 0===i?17:i,u=function(t,e,r){var i=r+(-(t-e)*n-r*o)*a/1e3,u=r*a/1e3+t;return Math.abs(u-e)t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function kt(t){return function(t){if(Array.isArray(t))return Mt(t)}(t)||function(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return Mt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Mt(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Mt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?n[o-1]:r,p=l||Object.keys(c);if("function"===typeof u||"spring"===u)return[].concat(kt(t),[e.runJSAnimation.bind(e,{from:f.style,to:c,duration:i,easing:u}),i]);var h=nt(p,i,u),d=_t(_t(_t({},f.style),c),{},{transition:h});return[].concat(kt(t),[d,i,s]).filter(Q)}),[a,Math.max(c,r)])),[t.onAnimationEnd]))}},{key:"runAnimation",value:function(t){this.manager||(this.manager=H());var e=t.begin,n=t.duration,r=t.attributeName,o=t.to,i=t.easing,a=t.onAnimationStart,u=t.onAnimationEnd,c=t.steps,l=t.children,s=this.manager;if(this.unSubscribe=s.subscribe(this.handleStyleChange),"function"!==typeof i&&"function"!==typeof l&&"spring"!==i)if(c.length>1)this.runStepAnimation(t);else{var f=r?Ct({},r,o):o,p=nt(Object.keys(f),n,i);s.start([a,e,_t(_t({},f),{},{transition:p}),n,u])}else this.runJSAnimation(t)}},{key:"render",value:function(){var t=this.props,e=t.children,n=(t.begin,t.duration),o=(t.attributeName,t.easing,t.isActive),i=(t.steps,t.from,t.to,t.canBegin,t.onAnimationEnd,t.shouldReAnimate,t.onAnimationReStart,Pt(t,At)),a=r.Children.count(e),u=et(this.state.style);if("function"===typeof e)return e(u);if(!o||0===a||n<=0)return e;var c=function(t){var e=t.props,n=e.style,o=void 0===n?{}:n,a=e.className;return(0,r.cloneElement)(t,_t(_t({},i),{},{style:_t(_t({},o),u),className:a}))};return 1===a?c(r.Children.only(e)):r.createElement("div",null,r.Children.map(e,(function(t){return c(t)})))}}])&&Nt(e.prototype,n),o&&Nt(e,o),Object.defineProperty(e,"prototype",{writable:!1}),a}(r.PureComponent);Ut.displayName="Animate",Ut.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}},Ut.propTypes={from:i().oneOfType([i().object,i().string]),to:i().oneOfType([i().object,i().string]),attributeName:i().string,duration:i().number,begin:i().number,easing:i().oneOfType([i().string,i().func]),steps:i().arrayOf(i().shape({duration:i().number.isRequired,style:i().object.isRequired,easing:i().oneOfType([i().oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),i().func]),properties:i().arrayOf("string"),onAnimationEnd:i().func})),children:i().oneOfType([i().node,i().func]),isActive:i().bool,canBegin:i().bool,onAnimationEnd:i().func,shouldReAnimate:i().bool,onAnimationStart:i().func,onAnimationReStart:i().func};const Ft=Ut;var qt=n(78267),Wt=["children","appearOptions","enterOptions","leaveOptions"];function Gt(t){return Gt="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},Gt(t)}function Ht(){return Ht=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Yt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Vt(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.steps,n=t.duration;return e&&e.length?e.reduce((function(t,e){return t+(Number.isFinite(e.duration)&&e.duration>0?e.duration:0)}),0):Number.isFinite(n)?n:0},re=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&$t(t,e)}(a,t);var e,n,o,i=Kt(a);function a(){var t;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),te(Jt(t=i.call(this)),"handleEnter",(function(e,n){var r=t.props,o=r.appearOptions,i=r.enterOptions;t.handleStyleActive(n?o:i)})),te(Jt(t),"handleExit",(function(){var e=t.props.leaveOptions;t.handleStyleActive(e)})),t.state={isActive:!1},t}return e=a,(n=[{key:"handleStyleActive",value:function(t){if(t){var e=t.onAnimationEnd?function(){t.onAnimationEnd()}:null;this.setState(Vt(Vt({},t),{},{onAnimationEnd:e,isActive:!0}))}}},{key:"parseTimeout",value:function(){var t=this.props,e=t.appearOptions,n=t.enterOptions,r=t.leaveOptions;return ne(e)+ne(n)+ne(r)}},{key:"render",value:function(){var t=this,e=this.props,n=e.children,o=(e.appearOptions,e.enterOptions,e.leaveOptions,Xt(e,Wt));return r.createElement(qt.Transition,Ht({},o,{onEnter:this.handleEnter,onExit:this.handleExit,timeout:this.parseTimeout()}),(function(){return r.createElement(Ft,t.state,r.Children.only(n))}))}}])&&Zt(e.prototype,n),o&&Zt(e,o),Object.defineProperty(e,"prototype",{writable:!1}),a}(r.Component);re.propTypes={appearOptions:i().object,enterOptions:i().object,leaveOptions:i().object,children:i().element};const oe=re;function ie(t){var e=t.component,n=t.children,o=t.appear,i=t.enter,a=t.leave;return r.createElement(qt.TransitionGroup,{component:e},r.Children.map(n,(function(t,e){return r.createElement(oe,{appearOptions:o,enterOptions:i,leaveOptions:a,key:"child-".concat(e)},t)})))}ie.propTypes={appear:i().object,enter:i().object,leave:i().object,children:i().oneOfType([i().array,i().element]),component:i().any},ie.defaultProps={component:"span"};const ae=Ft},6664:(t,e,n)=>{"use strict";e.__esModule=!0,e.default=void 0;!function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};r.get||r.set?Object.defineProperty(e,n,r):e[n]=t[n]}e.default=t}(n(52007));var r=u(n(17586)),o=u(n(5429)),i=u(n(72791)),a=u(n(70119));n(55127);function u(t){return t&&t.__esModule?t:{default:t}}function c(){return c=Object.assign||function(t){for(var e=1;e{"use strict";e.__esModule=!0,e.default=void 0;a(n(52007));var r=a(n(72791)),o=n(54164),i=a(n(22326));function a(t){return t&&t.__esModule?t:{default:t}}var u=function(t){var e,n;function a(){for(var e,n=arguments.length,r=new Array(n),o=0;o=0||(o[n]=t[n]);return o}(t,["children","in"]),a=r.default.Children.toArray(e),u=a[0],c=a[1];return delete o.onEnter,delete o.onEntering,delete o.onEntered,delete o.onExit,delete o.onExiting,delete o.onExited,r.default.createElement(i.default,o,n?r.default.cloneElement(u,{key:"first",onEnter:this.handleEnter,onEntering:this.handleEntering,onEntered:this.handleEntered}):r.default.cloneElement(c,{key:"second",onEnter:this.handleExit,onEntering:this.handleExiting,onEntered:this.handleExited}))},a}(r.default.Component);u.propTypes={};var c=u;e.default=c,t.exports=e.default},70119:(t,e,n)=>{"use strict";e.__esModule=!0,e.default=e.EXITING=e.ENTERED=e.ENTERING=e.EXITED=e.UNMOUNTED=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};r.get||r.set?Object.defineProperty(e,n,r):e[n]=t[n]}return e.default=t,e}(n(52007)),o=u(n(72791)),i=u(n(54164)),a=n(23688);n(55127);function u(t){return t&&t.__esModule?t:{default:t}}var c="unmounted";e.UNMOUNTED=c;var l="exited";e.EXITED=l;var s="entering";e.ENTERING=s;var f="entered";e.ENTERED=f;var p="exiting";e.EXITING=p;var h=function(t){var e,n;function r(e,n){var r;r=t.call(this,e,n)||this;var o,i=n.transitionGroup,a=i&&!i.isMounting?e.enter:e.appear;return r.appearStatus=null,e.in?a?(o=l,r.appearStatus=s):o=f:o=e.unmountOnExit||e.mountOnEnter?c:l,r.state={status:o},r.nextCallback=null,r}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=r.prototype;return a.getChildContext=function(){return{transitionGroup:null}},r.getDerivedStateFromProps=function(t,e){return t.in&&e.status===c?{status:l}:null},a.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},a.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==s&&n!==f&&(e=s):n!==s&&n!==f||(e=p)}this.updateStatus(!1,e)},a.componentWillUnmount=function(){this.cancelNextCallback()},a.getTimeouts=function(){var t,e,n,r=this.props.timeout;return t=e=n=r,null!=r&&"number"!==typeof r&&(t=r.exit,e=r.enter,n=void 0!==r.appear?r.appear:e),{exit:t,enter:e,appear:n}},a.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e){this.cancelNextCallback();var n=i.default.findDOMNode(this);e===s?this.performEnter(n,t):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===l&&this.setState({status:c})},a.performEnter=function(t,e){var n=this,r=this.props.enter,o=this.context.transitionGroup?this.context.transitionGroup.isMounting:e,i=this.getTimeouts(),a=o?i.appear:i.enter;e||r?(this.props.onEnter(t,o),this.safeSetState({status:s},(function(){n.props.onEntering(t,o),n.onTransitionEnd(t,a,(function(){n.safeSetState({status:f},(function(){n.props.onEntered(t,o)}))}))}))):this.safeSetState({status:f},(function(){n.props.onEntered(t)}))},a.performExit=function(t){var e=this,n=this.props.exit,r=this.getTimeouts();n?(this.props.onExit(t),this.safeSetState({status:p},(function(){e.props.onExiting(t),e.onTransitionEnd(t,r.exit,(function(){e.safeSetState({status:l},(function(){e.props.onExited(t)}))}))}))):this.safeSetState({status:l},(function(){e.props.onExited(t)}))},a.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},a.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},a.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,e.nextCallback=null,t(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},a.onTransitionEnd=function(t,e,n){this.setNextCallback(n);var r=null==e&&!this.props.addEndListener;t&&!r?(this.props.addEndListener&&this.props.addEndListener(t,this.nextCallback),null!=e&&setTimeout(this.nextCallback,e)):setTimeout(this.nextCallback,0)},a.render=function(){var t=this.state.status;if(t===c)return null;var e=this.props,n=e.children,r=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(e,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"===typeof n)return n(t,r);var i=o.default.Children.only(n);return o.default.cloneElement(i,r)},r}(o.default.Component);function d(){}h.contextTypes={transitionGroup:r.object},h.childContextTypes={transitionGroup:function(){}},h.propTypes={},h.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:d,onEntering:d,onEntered:d,onExit:d,onExiting:d,onExited:d},h.UNMOUNTED=0,h.EXITED=1,h.ENTERING=2,h.ENTERED=3,h.EXITING=4;var y=(0,a.polyfill)(h);e.default=y},22326:(t,e,n)=>{"use strict";e.__esModule=!0,e.default=void 0;var r=u(n(52007)),o=u(n(72791)),i=n(23688),a=n(78546);function u(t){return t&&t.__esModule?t:{default:t}}function c(){return c=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,["component","childFactory"]),i=s(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===e?i:o.default.createElement(e,r,i)},r}(o.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(t){return t}};var p=(0,i.polyfill)(f);e.default=p,t.exports=e.default},78267:(t,e,n)=>{"use strict";var r=u(n(6664)),o=u(n(58162)),i=u(n(22326)),a=u(n(70119));function u(t){return t&&t.__esModule?t:{default:t}}t.exports={Transition:a.default,TransitionGroup:i.default,ReplaceTransition:o.default,CSSTransition:r.default}},17586:(t,e,n)=>{"use strict";var r=n(64836);e.__esModule=!0,e.default=function(t,e){t.classList?t.classList.add(e):(0,o.default)(t,e)||("string"===typeof t.className?t.className=t.className+" "+e:t.setAttribute("class",(t.className&&t.className.baseVal||"")+" "+e))};var o=r(n(14421));t.exports=e.default},14421:(t,e)=>{"use strict";e.__esModule=!0,e.default=function(t,e){return t.classList?!!e&&t.classList.contains(e):-1!==(" "+(t.className.baseVal||t.className)+" ").indexOf(" "+e+" ")},t.exports=e.default},5429:t=>{"use strict";function e(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}t.exports=function(t,n){t.classList?t.classList.remove(n):"string"===typeof t.className?t.className=e(t.className,n):t.setAttribute("class",e(t.className&&t.className.baseVal||"",n))}},78546:(t,e,n)=>{"use strict";e.__esModule=!0,e.getChildMapping=o,e.mergeChildMappings=i,e.getInitialChildMapping=function(t,e){return o(t.children,(function(n){return(0,r.cloneElement)(n,{onExited:e.bind(null,n),in:!0,appear:a(n,"appear",t),enter:a(n,"enter",t),exit:a(n,"exit",t)})}))},e.getNextChildMapping=function(t,e,n){var u=o(t.children),c=i(e,u);return Object.keys(c).forEach((function(o){var i=c[o];if((0,r.isValidElement)(i)){var l=o in e,s=o in u,f=e[o],p=(0,r.isValidElement)(f)&&!f.props.in;!s||l&&!p?s||!l||p?s&&l&&(0,r.isValidElement)(f)&&(c[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:f.props.in,exit:a(i,"exit",t),enter:a(i,"enter",t)})):c[o]=(0,r.cloneElement)(i,{in:!1}):c[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:!0,exit:a(i,"exit",t),enter:a(i,"enter",t)})}})),c};var r=n(72791);function o(t,e){var n=Object.create(null);return t&&r.Children.map(t,(function(t){return t})).forEach((function(t){n[t.key]=function(t){return e&&(0,r.isValidElement)(t)?e(t):t}(t)})),n}function i(t,e){function n(n){return n in e?e[n]:t[n]}t=t||{},e=e||{};var r,o=Object.create(null),i=[];for(var a in t)a in e?i.length&&(o[a]=i,i=[]):i.push(a);var u={};for(var c in e){if(o[c])for(r=0;r{"use strict";e.__esModule=!0,e.classNamesShape=e.timeoutsShape=void 0;var r;(r=n(52007))&&r.__esModule;e.timeoutsShape=null;e.classNamesShape=null},23782:(t,e,n)=>{"use strict";n.d(e,{$:()=>H});var r=n(42854),o=n.n(r),i=n(18111),a=n.n(i),u=n(93629),c=n.n(u),l=n(72791),s=n(81694),f=n.n(s),p=n(98202),h=n(46044),d=n(85992),y=n(41048),v=n(87970),m=n(70587),g=n(23031),b=n(36768),x=n(73822),w=n(57241),O=n(95754);function j(t){return j="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},j(t)}var S=["x","y"];function E(){return E=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function T(t,e){var n=t.x,r=t.y,o=M(t,S),i="".concat(n),a=parseInt(i,10),u="".concat(r),c=parseInt(u,10),l="".concat(e.height||o.height),s=parseInt(l,10),f="".concat(e.width||o.width),p=parseInt(f,10);return P(P(P(P(P({},e),o),a?{x:a}:{}),c?{y:c}:{}),{},{height:s,width:p,name:e.name,radius:e.radius})}function _(t){return l.createElement(O.bn,E({shapeType:"rectangle",propTransformer:T,activeClassName:"recharts-active-bar"},t))}var C=["value","background"];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)}function D(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function I(){return I=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&Math.abs(g)0&&Math.abs(y){"use strict";n.d(e,{q:()=>w});var r=n(74786),o=n.n(r),i=n(72791),a=n(70587),u=n(23031),c=["x1","y1","x2","y2","key"],l=["offset"];function s(t){return s="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},s(t)}function f(){return f=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function d(t){for(var e=1;e{"use strict";n.d(e,{W:()=>f});var r=n(72791),o=n(46044),i=n(23031),a=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function u(){return u=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function f(t){var e=t.offset,n=t.layout,l=t.width,f=t.dataKey,p=t.data,h=t.dataPointFormatter,d=t.xAxis,y=t.yAxis,v=s(t,a),m=(0,i.L6)(v),g=p.map((function(t,i){var a=h(t,f),s=a.x,p=a.y,v=a.value,g=a.errorVal;if(!g)return null;var b,x,w=[];if(Array.isArray(g)){var O=c(g,2);b=O[0],x=O[1]}else b=x=g;if("vertical"===n){var j=d.scale,S=p+e,E=S+l,A=S-l,P=j(v-b),k=j(v+x);w.push({x1:k,y1:E,x2:k,y2:A}),w.push({x1:P,y1:S,x2:k,y2:S}),w.push({x1:P,y1:E,x2:P,y2:A})}else if("horizontal"===n){var M=y.scale,T=s+e,_=T-l,C=T+l,N=M(v-b),D=M(v+x);w.push({x1:_,y1:D,x2:C,y2:D}),w.push({x1:T,y1:N,x2:T,y2:D}),w.push({x1:_,y1:N,x2:C,y2:N})}return r.createElement(o.m,u({className:"recharts-errorBar",key:"bar-".concat(i)},m),w.map((function(t,e){return r.createElement("line",u({},t,{key:"line-".concat(e)}))})))}));return r.createElement(o.m,{className:"recharts-errorBars"},g)}f.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"},f.displayName="ErrorBar"},90466:(t,e,n)=>{"use strict";n.d(e,{K:()=>r});var r=function(){return null};r.displayName="XAxis",r.defaultProps={allowDecimals:!0,hide:!1,orientation:"bottom",width:0,height:30,mirror:!1,xAxisId:0,tickCount:5,type:"category",padding:{left:0,right:0},allowDataOverflow:!1,scale:"auto",reversed:!1,allowDuplicatedCategory:!0}},12891:(t,e,n)=>{"use strict";n.d(e,{B:()=>r});var r=function(){return null};r.displayName="YAxis",r.defaultProps={allowDuplicatedCategory:!0,allowDecimals:!0,hide:!1,orientation:"left",width:60,height:0,mirror:!1,yAxisId:0,tickCount:5,type:"number",padding:{top:0,bottom:0},allowDataOverflow:!1,scale:"auto",reversed:!1}},23612:(t,e,n)=>{"use strict";n.d(e,{z:()=>en});var r=n(82730),o=n.n(r),i=n(61211),a=n.n(i),u=n(74786),c=n.n(u),l=n(33038),s=n.n(l),f=n(64286),p=n.n(f),h=n(26181),d=n.n(h),y=n(42854),v=n.n(y),m=n(66222),g=n.n(m),b=n(65127),x=n.n(b),w=n(93629),O=n.n(w),j=n(72791),S=n(81694),E=n.n(S),A="Invariant failed";var P=n(24485);function k(t){var e=t.cx,n=t.cy,r=t.radius,o=t.startAngle,i=t.endAngle;return{points:[(0,P.op)(e,n,r,o),(0,P.op)(e,n,r,i)],cx:e,cy:n,radius:r,startAngle:o,endAngle:i}}var M=n(70587),T=n(93058),_=n(36768),C=n(93137);function N(t,e,n){if(e<1)return[];if(1===e&&void 0===n)return t;for(var r=[],o=0;o=0&&t*(e+t*n/2-o)<=0}function I(t){return I="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},I(t)}function L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function R(t){for(var e=1;e=2?(0,M.uY)(o[1].coordinate-o[0].coordinate):1,g=function(t,e,n){var r="width"===n,o=t.x,i=t.y,a=t.width,u=t.height;return 1===e?{start:r?o:i,end:r?o+a:i+u}:{start:r?o+a:i+u,end:r?o:i}}(i,m,d);return"equidistantPreserveStart"===l?function(t,e,n,r,o){for(var i=(r||[]).slice(),a=e.start,u=e.end,c=0,l=1,s=a;l<=i.length;){var f=null===r||void 0===r?void 0:r[c];if(void 0===f)return N(r,l);var p=n(f,c),h=f.coordinate,d=0===c||D(t,h,p,s,u);d||(c=0,s=a,l+=1),d&&(s=h+t*(p/2+o),c+=l)}return[]}(m,g,v,o,a):(h="preserveStart"===l||"preserveStartEnd"===l?function(t,e,n,r,o,i){var a=(r||[]).slice(),u=a.length,c=e.start,l=e.end;if(i){var s=r[u-1],f=n(s,u-1),p=t*(s.coordinate+t*f/2-l);a[u-1]=s=R(R({},s),{},{tickCoord:p>0?s.coordinate-p*t:s.coordinate}),D(t,s.tickCoord,f,c,l)&&(l=s.tickCoord-t*(f/2+o),a[u-1]=R(R({},s),{},{isShow:!0}))}for(var h=i?u-1:u,d=0;d=0;l--){var s=i[l],f=n(s,l);if(l===a-1){var p=t*(s.coordinate+t*f/2-c);i[l]=s=R(R({},s),{},{tickCoord:p>0?s.coordinate-p*t:s.coordinate})}else i[l]=s=R(R({},s),{},{tickCoord:s.coordinate});D(t,s.tickCoord,f,u,c)&&(c=s.tickCoord-t*(f/2+o),i[l]=R(R({},s),{},{isShow:!0}))}return i}(m,g,v,o,a),h.filter((function(t){return t.isShow})))}var U=n(48933),F=n(46044),q=n(35667),W=n(27281),G=n(75555),H=n(23031);function X(t){return X="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},X(t)}var Y=["x","y","top","left","width","height","className"];function V(){return V=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var J=function(t,e,n,r,o,i){return"M".concat(t,",").concat(o,"v").concat(r,"M").concat(i,",").concat(e,"h").concat(n)},Q=function(t){var e=t.x,n=void 0===e?0:e,r=t.y,o=void 0===r?0:r,i=t.top,a=void 0===i?0:i,u=t.left,c=void 0===u?0:u,l=t.width,s=void 0===l?0:l,f=t.height,p=void 0===f?0:f,h=t.className,d=function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function yt(t,e){for(var n=0;n0?i(this.props):i(s)),r<=0||o<=0||!f||!f.length?null:j.createElement(F.m,{className:E()("recharts-cartesian-axis",a),ref:function(e){t.layerReference=e}},n&&this.renderAxisLine(),this.renderTicks(f,this.state.fontSize,this.state.letterSpacing),it._.renderCallByParent(this.props))}}])&&yt(e.prototype,n),r&&yt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),i}(j.Component);bt(wt,"displayName","CartesianAxis"),bt(wt,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var Ot=n(4700),jt=n(73822);function St(t){return St="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},St(t)}function Et(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function At(t){for(var e=1;e0&&e.handleDrag(t.changedTouches[0])})),Bt(Lt(e),"handleDragEnd",(function(){e.setState({isTravellerMoving:!1,isSlideMoving:!1},(function(){var t=e.props,n=t.endIndex,r=t.onDragEnd,o=t.startIndex;null===r||void 0===r||r({endIndex:n,startIndex:o})})),e.detachDragEndListener()})),Bt(Lt(e),"handleLeaveWrapper",(function(){(e.state.isTravellerMoving||e.state.isSlideMoving)&&(e.leaveTimer=window.setTimeout(e.handleDragEnd,e.props.leaveTimeOut))})),Bt(Lt(e),"handleEnterSlideOrTraveller",(function(){e.setState({isTextActive:!0})})),Bt(Lt(e),"handleLeaveSlideOrTraveller",(function(){e.setState({isTextActive:!1})})),Bt(Lt(e),"handleSlideDragStart",(function(t){var n=Ut(t)?t.changedTouches[0]:t;e.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:n.pageX}),e.attachDragEndListener()})),e.travellerDragStartHandlers={startX:e.handleTravellerDragStart.bind(Lt(e),"startX"),endX:e.handleTravellerDragStart.bind(Lt(e),"endX")},e.state={},e}return e=i,r=[{key:"renderDefaultTraveller",value:function(t){var e=t.x,n=t.y,r=t.width,o=t.height,i=t.stroke,a=Math.floor(n+o/2)-1;return j.createElement(j.Fragment,null,j.createElement("rect",{x:e,y:n,width:r,height:o,fill:i,stroke:"none"}),j.createElement("line",{x1:e+1,y1:a,x2:e+r-1,y2:a,fill:"none",stroke:"#fff"}),j.createElement("line",{x1:e+1,y1:a+2,x2:e+r-1,y2:a+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(t,e){return j.isValidElement(t)?j.cloneElement(t,e):c()(t)?t(e):i.renderDefaultTraveller(e)}},{key:"getDerivedStateFromProps",value:function(t,e){var n=t.data,r=t.width,o=t.x,i=t.travellerWidth,a=t.updateId,u=t.startIndex,c=t.endIndex;if(n!==e.prevData||a!==e.prevUpdateId)return Ct({prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r},n&&n.length?function(t){var e=t.data,n=t.startIndex,r=t.endIndex,o=t.x,i=t.width,a=t.travellerWidth;if(!e||!e.length)return{};var u=e.length,c=(0,Ot.x)().domain(g()(0,u)).range([o,o+i-a]),l=c.domain().map((function(t){return c(t)}));return{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,isTravellerFocused:!1,startX:c(n),endX:c(r),scale:c,scaleValues:l}}({data:n,width:r,x:o,travellerWidth:i,startIndex:u,endIndex:c}):{scale:null,scaleValues:null});if(e.scale&&(r!==e.prevWidth||o!==e.prevX||i!==e.prevTravellerWidth)){e.scale.range([o,o+r-i]);var l=e.scale.domain().map((function(t){return e.scale(t)}));return{prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r,startX:e.scale(t.startIndex),endX:e.scale(t.endIndex),scaleValues:l}}return null}},{key:"getIndexInRange",value:function(t,e){for(var n=0,r=t.length-1;r-n>1;){var o=Math.floor((n+r)/2);t[o]>e?r=o:n=o}return e>=t[r]?r:n}}],(n=[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(t){var e=t.startX,n=t.endX,r=this.state.scaleValues,o=this.props,a=o.gap,u=o.data.length-1,c=Math.min(e,n),l=Math.max(e,n),s=i.getIndexInRange(r,c),f=i.getIndexInRange(r,l);return{startIndex:s-s%a,endIndex:f===u?u:f-f%a}}},{key:"getTextOfTick",value:function(t){var e=this.props,n=e.data,r=e.tickFormatter,o=e.dataKey,i=(0,jt.F$)(n[t],o,t);return c()(r)?r(i,t):i}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(t){var e=this.state,n=e.slideMoveStartX,r=e.startX,o=e.endX,i=this.props,a=i.x,u=i.width,c=i.travellerWidth,l=i.startIndex,s=i.endIndex,f=i.onChange,p=t.pageX-n;p>0?p=Math.min(p,a+u-c-o,a+u-c-r):p<0&&(p=Math.max(p,a-r,a-o));var h=this.getIndex({startX:r+p,endX:o+p});h.startIndex===l&&h.endIndex===s||!f||f(h),this.setState({startX:r+p,endX:o+p,slideMoveStartX:t.pageX})}},{key:"handleTravellerDragStart",value:function(t,e){var n=Ut(e)?e.changedTouches[0]:e;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:t,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(t){var e,n=this.state,r=n.brushMoveStartX,o=n.movingTravellerId,i=n.endX,a=n.startX,u=this.state[o],c=this.props,l=c.x,s=c.width,f=c.travellerWidth,p=c.onChange,h=c.gap,d=c.data,y={startX:this.state.startX,endX:this.state.endX},v=t.pageX-r;v>0?v=Math.min(v,l+s-f-u):v<0&&(v=Math.max(v,l-u)),y[o]=u+v;var m=this.getIndex(y),g=m.startIndex,b=m.endIndex;this.setState((Bt(e={},o,u+v),Bt(e,"brushMoveStartX",t.pageX),e),(function(){p&&function(){var t=d.length-1;return"startX"===o&&(i>a?g%h===0:b%h===0)||ia?b%h===0:g%h===0)||i>a&&b===t}()&&p(m)}))}},{key:"handleTravellerMoveKeyboard",value:function(t,e){var n=this,r=this.state,o=r.scaleValues,i=r.startX,a=r.endX,u=this.state[e],c=o.indexOf(u);if(-1!==c){var l=c+t;if(!(-1===l||l>=o.length)){var s=o[l];"startX"===e&&s>=a||"endX"===e&&s<=i||this.setState(Bt({},e,s),(function(){n.props.onChange(n.getIndex({startX:n.state.startX,endX:n.state.endX}))}))}}}},{key:"renderBackground",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.fill,a=t.stroke;return j.createElement("rect",{stroke:a,fill:i,x:e,y:n,width:r,height:o})}},{key:"renderPanorama",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.data,a=t.children,u=t.padding,c=j.Children.only(a);return c?j.cloneElement(c,{x:e,y:n,width:r,height:o,margin:u,compact:!0,data:i}):null}},{key:"renderTravellerLayer",value:function(t,e){var n=this,r=this.props,o=r.y,a=r.travellerWidth,u=r.height,c=r.traveller,l=Math.max(t,this.props.x),s=Ct(Ct({},(0,H.L6)(this.props)),{},{x:l,y:o,width:a,height:u});return j.createElement(F.m,{tabIndex:0,role:"slider",className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[e],onTouchStart:this.travellerDragStartHandlers[e],onKeyDown:function(t){["ArrowLeft","ArrowRight"].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),n.handleTravellerMoveKeyboard("ArrowRight"===t.key?1:-1,e))},onFocus:function(){n.setState({isTravellerFocused:!0})},onBlur:function(){n.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},i.renderTraveller(c,s))}},{key:"renderSlide",value:function(t,e){var n=this.props,r=n.y,o=n.height,i=n.stroke,a=n.travellerWidth,u=Math.min(t,e)+a,c=Math.max(Math.abs(e-t)-a,0);return j.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:i,fillOpacity:.2,x:u,y:r,width:c,height:o})}},{key:"renderText",value:function(){var t=this.props,e=t.startIndex,n=t.endIndex,r=t.y,o=t.height,i=t.travellerWidth,a=t.stroke,u=this.state,c=u.startX,l=u.endX,s={pointerEvents:"none",fill:a};return j.createElement(F.m,{className:"recharts-brush-texts"},j.createElement(ot.x,Tt({textAnchor:"end",verticalAnchor:"middle",x:Math.min(c,l)-5,y:r+o/2},s),this.getTextOfTick(e)),j.createElement(ot.x,Tt({textAnchor:"start",verticalAnchor:"middle",x:Math.max(c,l)+i+5,y:r+o/2},s),this.getTextOfTick(n)))}},{key:"render",value:function(){var t=this.props,e=t.data,n=t.className,r=t.children,o=t.x,i=t.y,a=t.width,u=t.height,c=t.alwaysShowText,l=this.state,s=l.startX,f=l.endX,p=l.isTextActive,h=l.isSlideMoving,d=l.isTravellerMoving,y=l.isTravellerFocused;if(!e||!e.length||!(0,M.hj)(o)||!(0,M.hj)(i)||!(0,M.hj)(a)||!(0,M.hj)(u)||a<=0||u<=0)return null;var v=E()("recharts-brush",n),m=1===j.Children.count(r),g=function(t,e){if(!t)return null;var n=t.replace(/(\w)/,(function(t){return t.toUpperCase()})),r=kt.reduce((function(t,r){return At(At({},t),{},Pt({},r+n,e))}),{});return r[t]=e,r}("userSelect","none");return j.createElement(F.m,{className:v,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:g},this.renderBackground(),m&&this.renderPanorama(),this.renderSlide(s,f),this.renderTravellerLayer(s,"startX"),this.renderTravellerLayer(f,"endX"),(p||h||d||y||c)&&this.renderText())}}])&&Nt(e.prototype,n),r&&Nt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),i}(j.PureComponent);Bt(Ft,"displayName","Brush"),Bt(Ft,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var qt=n(60012),Wt=function(t,e){var n=t.alwaysShow,r=t.ifOverflow;return n&&(r="extendDomain"),r===e},Gt=n(15303);function Ht(t){return Ht="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},Ht(t)}function Xt(){return Xt=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Ce(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?a:n&&n.props&&n.props.data&&n.props.data.length>0?n.props.data:t&&t.length&&(0,M.hj)(o)&&(0,M.hj)(i)?t.slice(o,i+1):[]};function Ve(t){return"number"===t?[0,"auto"]:void 0}var Ze=function(t,e,n,r){var o=t.graphicalItems,i=t.tooltipAxis,a=Ye(e,t);return n<0||!o||!o.length||n>=a.length?null:o.reduce((function(o,u){var c;if(u.props.hide)return o;var l,s=(null!==(c=u.props.data)&&void 0!==c?c:e).slice(t.dataStartIndex,t.dataEndIndex+1);if(i.dataKey&&!i.allowDuplicatedCategory){var f=void 0===s?a:s;l=(0,M.Ap)(f,i.dataKey,r)}else l=s&&s[n]||a[n];return l?[].concat(Re(o),[(0,jt.Qo)(u,l)]):o}),[])},$e=function(t,e,n,r){var o=r||{x:t.chartX,y:t.chartY},i=function(t,e){return"horizontal"===e?t.x:"vertical"===e?t.y:"centric"===e?t.angle:t.radius}(o,n),a=t.orderedTooltipTicks,u=t.tooltipAxis,c=t.tooltipTicks,l=(0,jt.VO)(i,a,c,u);if(l>=0&&c){var s=c[l]&&c[l].value,f=Ze(t,e,l,s),p=function(t,e,n,r){var o=e.find((function(t){return t&&t.index===n}));if(o){if("horizontal"===t)return{x:o.coordinate,y:r.y};if("vertical"===t)return{x:r.x,y:o.coordinate};if("centric"===t){var i=o.coordinate,a=r.radius;return Fe(Fe(Fe({},r),(0,P.op)(r.cx,r.cy,a,i)),{},{angle:i,radius:a})}var u=o.coordinate,c=r.angle;return Fe(Fe(Fe({},r),(0,P.op)(r.cx,r.cy,u,c)),{},{angle:c,radius:u})}return He}(n,a,l,o);return{activeTooltipIndex:l,activeLabel:s,activePayload:f,activeCoordinate:p}}return null},Ke=function(t,e){var n=e.axes,r=e.graphicalItems,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.layout,s=t.children,f=t.stackOffset,p=(0,jt.NA)(l,o);return n.reduce((function(e,n){var h,d=n.props,y=d.type,m=d.dataKey,b=d.allowDataOverflow,x=d.allowDuplicatedCategory,w=d.scale,O=d.ticks,j=d.includeHidden,S=n.props[i];if(e[S])return e;var E,A,P,k=Ye(t.data,{graphicalItems:r.filter((function(t){return t.props[i]===S})),dataStartIndex:u,dataEndIndex:c}),T=k.length;(function(t,e,n){if("number"===n&&!0===e&&Array.isArray(t)){var r=null===t||void 0===t?void 0:t[0],o=null===t||void 0===t?void 0:t[1];if(r&&o&&(0,M.hj)(r)&&(0,M.hj)(o))return!0}return!1})(n.props.domain,b,y)&&(E=(0,jt.LG)(n.props.domain,null,b),!p||"number"!==y&&"auto"===w||(P=(0,jt.gF)(k,m,"category")));var _=Ve(y);if(!E||0===E.length){var C,N=null!==(C=n.props.domain)&&void 0!==C?C:_;if(m){if(E=(0,jt.gF)(k,m,y),"category"===y&&p){var D=(0,M.bv)(E);x&&D?(A=E,E=g()(0,T)):x||(E=(0,jt.ko)(N,E,n).reduce((function(t,e){return t.indexOf(e)>=0?t:[].concat(Re(t),[e])}),[]))}else if("category"===y)E=x?E.filter((function(t){return""!==t&&!v()(t)})):(0,jt.ko)(N,E,n).reduce((function(t,e){return t.indexOf(e)>=0||""===e||v()(e)?t:[].concat(Re(t),[e])}),[]);else if("number"===y){var I=(0,jt.ZI)(k,r.filter((function(t){return t.props[i]===S&&(j||!t.props.hide)})),m,o,l);I&&(E=I)}!p||"number"!==y&&"auto"===w||(P=(0,jt.gF)(k,m,"category"))}else E=p?g()(0,T):a&&a[S]&&a[S].hasStack&&"number"===y?"expand"===f?[0,1]:(0,jt.EB)(a[S].stackGroups,u,c):(0,jt.s6)(k,r.filter((function(t){return t.props[i]===S&&(j||!t.props.hide)})),y,l,!0);if("number"===y)E=ye(s,E,S,o,O),N&&(E=(0,jt.LG)(N,E,b));else if("category"===y&&N){var L=N;E.every((function(t){return L.indexOf(t)>=0}))&&(E=L)}}return Fe(Fe({},e),{},qe({},S,Fe(Fe({},n.props),{},{axisType:o,domain:E,categoricalDomain:P,duplicateDomain:A,originalDomain:null!==(h=n.props.domain)&&void 0!==h?h:_,isCategorical:p,layout:l})))}),{})},Je=function(t,e){var n=e.axisType,r=void 0===n?"xAxis":n,o=e.AxisComp,i=e.graphicalItems,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.children,s="".concat(r,"Id"),f=(0,H.NN)(l,o),p={};return f&&f.length?p=Ke(t,{axes:f,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:u,dataEndIndex:c}):i&&i.length&&(p=function(t,e){var n=e.graphicalItems,r=e.Axis,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.layout,s=t.children,f=Ye(t.data,{graphicalItems:n,dataStartIndex:u,dataEndIndex:c}),p=f.length,h=(0,jt.NA)(l,o),y=-1;return n.reduce((function(t,e){var v,m=e.props[i],b=Ve("number");return t[m]?t:(y++,h?v=g()(0,p):a&&a[m]&&a[m].hasStack?(v=(0,jt.EB)(a[m].stackGroups,u,c),v=ye(s,v,m,o)):(v=(0,jt.LG)(b,(0,jt.s6)(f,n.filter((function(t){return t.props[i]===m&&!t.props.hide})),"number",l),r.defaultProps.allowDataOverflow),v=ye(s,v,m,o)),Fe(Fe({},t),{},qe({},m,Fe(Fe({axisType:o},r.defaultProps),{},{hide:!0,orientation:d()(Ge,"".concat(o,".").concat(y%2),null),domain:v,originalDomain:b,isCategorical:h,layout:l}))))}),{})}(t,{Axis:o,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:u,dataEndIndex:c})),p},Qe=function(t){var e,n,r=t.children,o=t.defaultShowTooltip,i=(0,H.sP)(r,Ft);return{chartX:0,chartY:0,dataStartIndex:i&&i.props&&i.props.startIndex||0,dataEndIndex:void 0!==(null===i||void 0===i||null===(e=i.props)||void 0===e?void 0:e.endIndex)?null===i||void 0===i||null===(n=i.props)||void 0===n?void 0:n.endIndex:t.data&&t.data.length-1||0,activeTooltipIndex:-1,isTooltipActive:!v()(o)&&o}},tn=function(t){return"horizontal"===t?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:"vertical"===t?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:"centric"===t?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},en=function(t){var e,n=t.chartName,r=t.GraphicalChild,i=t.defaultTooltipEventType,u=void 0===i?"axis":i,l=t.validateTooltipEventTypes,f=void 0===l?["axis"]:l,h=t.axisComponents,y=t.legendContent,m=t.formatAxisMap,g=t.defaultProps,b=function(t,e){var n=e.graphicalItems,r=e.stackGroups,o=e.offset,i=e.updateId,a=e.dataStartIndex,u=e.dataEndIndex,c=t.barSize,l=t.layout,s=t.barGap,f=t.barCategoryGap,p=t.maxBarSize,d=tn(l),y=d.numericAxisName,m=d.cateAxisName,g=function(t){return!(!t||!t.length)&&t.some((function(t){var e=(0,H.Gf)(t&&t.type);return e&&e.indexOf("Bar")>=0}))}(n),b=g&&(0,jt.pt)({barSize:c,stackGroups:r}),x=[];return n.forEach((function(n,c){var d=Ye(t.data,{dataStartIndex:a,dataEndIndex:u},n),g=n.props,w=g.dataKey,O=g.maxBarSize,j=n.props["".concat(y,"Id")],S=n.props["".concat(m,"Id")],E=h.reduce((function(t,r){var o,i=e["".concat(r.axisType,"Map")],a=n.props["".concat(r.axisType,"Id")];i&&i[a]||"zAxis"===r.axisType||function(t,e){if(!t)throw new Error(A)}(!1);var u=i[a];return Fe(Fe({},t),{},(qe(o={},r.axisType,u),qe(o,"".concat(r.axisType,"Ticks"),(0,jt.uY)(u)),o))}),{}),P=E[m],k=E["".concat(m,"Ticks")],M=r&&r[j]&&r[j].hasStack&&(0,jt.O3)(n,r[j].stackGroups),T=(0,H.Gf)(n.type).indexOf("Bar")>=0,_=(0,jt.zT)(P,k),C=[];if(T){var N,D,I=v()(O)?p:O,L=null!==(N=null!==(D=(0,jt.zT)(P,k,!0))&&void 0!==D?D:I)&&void 0!==N?N:0;C=(0,jt.qz)({barGap:s,barCategoryGap:f,bandSize:L!==_?L:_,sizeList:b[S],maxBarSize:I}),L!==_&&(C=C.map((function(t){return Fe(Fe({},t),{},{position:Fe(Fe({},t.position),{},{offset:t.position.offset-L/2})})})))}var R,B=n&&n.type&&n.type.getComposedData;B&&x.push({props:Fe(Fe({},B(Fe(Fe({},E),{},{displayedData:d,props:t,dataKey:w,item:n,bandSize:_,barPosition:C,offset:o,stackedData:M,layout:l,dataStartIndex:a,dataEndIndex:u}))),{},(R={key:n.key||"item-".concat(c)},qe(R,y,E[y]),qe(R,m,E[m]),qe(R,"animationId",i),R)),childIndex:(0,H.$R)(n,t.children),item:n})})),x},w=function(t,e){var o=t.props,i=t.dataStartIndex,a=t.dataEndIndex,u=t.updateId;if(!(0,H.TT)({props:o}))return null;var c=o.children,l=o.layout,s=o.stackOffset,f=o.data,y=o.reverseStackOrder,v=tn(l),g=v.numericAxisName,x=v.cateAxisName,w=(0,H.NN)(c,r),O=(0,jt.wh)(f,w,"".concat(g,"Id"),"".concat(x,"Id"),s,y),j=h.reduce((function(t,e){var n="".concat(e.axisType,"Map");return Fe(Fe({},t),{},qe({},n,Je(o,Fe(Fe({},e),{},{graphicalItems:w,stackGroups:e.axisType===g&&O,dataStartIndex:i,dataEndIndex:a}))))}),{}),S=function(t,e){var n=t.props,r=t.graphicalItems,o=t.xAxisMap,i=void 0===o?{}:o,a=t.yAxisMap,u=void 0===a?{}:a,c=n.width,l=n.height,s=n.children,f=n.margin||{},p=(0,H.sP)(s,Ft),h=(0,H.sP)(s,W.D),y=Object.keys(u).reduce((function(t,e){var n=u[e],r=n.orientation;return n.mirror||n.hide?t:Fe(Fe({},t),{},qe({},r,t[r]+n.width))}),{left:f.left||0,right:f.right||0}),v=Object.keys(i).reduce((function(t,e){var n=i[e],r=n.orientation;return n.mirror||n.hide?t:Fe(Fe({},t),{},qe({},r,d()(t,"".concat(r))+n.height))}),{top:f.top||0,bottom:f.bottom||0}),m=Fe(Fe({},v),y),g=m.bottom;return p&&(m.bottom+=p.props.height||Ft.defaultProps.height),h&&e&&(m=(0,jt.By)(m,r,n,e)),Fe(Fe({brushBottom:g},m),{},{width:c-m.left-m.right,height:l-m.top-m.bottom})}(Fe(Fe({},j),{},{props:o,graphicalItems:w}),null===e||void 0===e?void 0:e.legendBBox);Object.keys(j).forEach((function(t){j[t]=m(o,j[t],S,t.replace("Map",""),n)}));var E=function(t){var e=(0,M.Kt)(t),n=(0,jt.uY)(e,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:p()(n,(function(t){return t.coordinate})),tooltipAxis:e,tooltipAxisBandSize:(0,jt.zT)(e,n)}}(j["".concat(x,"Map")]),A=b(o,Fe(Fe({},j),{},{dataStartIndex:i,dataEndIndex:a,updateId:u,graphicalItems:w,stackGroups:O,offset:S}));return Fe(Fe({formattedGraphicalItems:A,graphicalItems:w,offset:S,stackGroups:O},E),j)};return e=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Ne(t,e)}(p,t);var e,r,i,l=De(p);function p(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,p),qe(Ie(e=l.call(this,t)),"accessibilityManager",new je),qe(Ie(e),"clearDefer",(function(){e.cancelDefer&&(e.cancelDefer(),e.cancelDefer=null)})),qe(Ie(e),"handleLegendBBoxUpdate",(function(t){if(t){var n=e.state,r=n.dataStartIndex,o=n.dataEndIndex,i=n.updateId;e.setState(Fe({legendBBox:t},w({props:e.props,dataStartIndex:r,dataEndIndex:o,updateId:i},Fe(Fe({},e.state),{},{legendBBox:t}))))}})),qe(Ie(e),"handleReceiveSyncEvent",(function(t,n,r){e.props.syncId===t&&n!==e.uniqueChartId&&(e.clearDefer(),e.cancelDefer=function(t){if("function"===typeof requestAnimationFrame){var e=requestAnimationFrame(t);return function(){return cancelAnimationFrame(e)}}if("function"===typeof setImmediate){var n=setImmediate(t);return function(){return clearImmediate(n)}}var r=setTimeout(t);return function(){return clearTimeout(r)}}(e.applySyncEvent.bind(Ie(e),r)))})),qe(Ie(e),"handleBrushChange",(function(t){var n=t.startIndex,r=t.endIndex;if(n!==e.state.dataStartIndex||r!==e.state.dataEndIndex){var o=e.state.updateId;e.setState((function(){return Fe({dataStartIndex:n,dataEndIndex:r},w({props:e.props,dataStartIndex:n,dataEndIndex:r,updateId:o},e.state))})),e.triggerSyncEvent({dataStartIndex:n,dataEndIndex:r})}})),qe(Ie(e),"handleMouseEnter",(function(t){var n=e.props.onMouseEnter,r=e.getMouseInfo(t);if(r){var o=Fe(Fe({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),c()(n)&&n(o,t)}})),qe(Ie(e),"triggeredAfterMouseMove",(function(t){var n=e.props.onMouseMove,r=e.getMouseInfo(t),o=r?Fe(Fe({},r),{},{isTooltipActive:!0}):{isTooltipActive:!1};e.setState(o),e.triggerSyncEvent(o),c()(n)&&n(o,t)})),qe(Ie(e),"handleItemMouseEnter",(function(t){e.setState((function(){return{isTooltipActive:!0,activeItem:t,activePayload:t.tooltipPayload,activeCoordinate:t.tooltipPosition||{x:t.cx,y:t.cy}}}))})),qe(Ie(e),"handleItemMouseLeave",(function(){e.setState((function(){return{isTooltipActive:!1}}))})),qe(Ie(e),"handleMouseMove",(function(t){t&&c()(t.persist)&&t.persist(),e.triggeredAfterMouseMove(t)})),qe(Ie(e),"handleMouseLeave",(function(t){var n=e.props.onMouseLeave,r={isTooltipActive:!1};e.setState(r),e.triggerSyncEvent(r),c()(n)&&n(r,t),e.cancelThrottledTriggerAfterMouseMove()})),qe(Ie(e),"handleOuterEvent",(function(t){var n=(0,H.Bh)(t),r=d()(e.props,"".concat(n));n&&c()(r)&&r(/.*touch.*/i.test(n)?e.getMouseInfo(t.changedTouches[0]):e.getMouseInfo(t),t)})),qe(Ie(e),"handleClick",(function(t){var n=e.props.onClick,r=e.getMouseInfo(t);if(r){var o=Fe(Fe({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),c()(n)&&n(o,t)}})),qe(Ie(e),"handleMouseDown",(function(t){var n=e.props.onMouseDown;c()(n)&&n(e.getMouseInfo(t),t)})),qe(Ie(e),"handleMouseUp",(function(t){var n=e.props.onMouseUp;c()(n)&&n(e.getMouseInfo(t),t)})),qe(Ie(e),"handleTouchMove",(function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseMove(t.changedTouches[0])})),qe(Ie(e),"handleTouchStart",(function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseDown(t.changedTouches[0])})),qe(Ie(e),"handleTouchEnd",(function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseUp(t.changedTouches[0])})),qe(Ie(e),"verticalCoordinatesGenerator",(function(t,e){var n=t.xAxis,r=t.width,o=t.height,i=t.offset;return(0,jt.Rf)(z(Fe(Fe(Fe({},wt.defaultProps),n),{},{ticks:(0,jt.uY)(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.left,i.left+i.width,e)})),qe(Ie(e),"horizontalCoordinatesGenerator",(function(t,e){var n=t.yAxis,r=t.width,o=t.height,i=t.offset;return(0,jt.Rf)(z(Fe(Fe(Fe({},wt.defaultProps),n),{},{ticks:(0,jt.uY)(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.top,i.top+i.height,e)})),qe(Ie(e),"axesTicksGenerator",(function(t){return(0,jt.uY)(t,!0)})),qe(Ie(e),"renderCursor",(function(t){var r=e.state,o=r.isTooltipActive,i=r.activeCoordinate,a=r.activePayload,u=r.offset,c=r.activeTooltipIndex,l=r.tooltipAxisBandSize,s=e.getTooltipEventType();if(!t||!t.props.cursor||!o||!i||"ScatterChart"!==n&&"axis"!==s)return null;var f,p=e.props.layout,h=G.H;if("ScatterChart"===n)f=i,h=Q;else if("BarChart"===n)f=function(t,e,n,r){var o=r/2;return{stroke:"none",fill:"#ccc",x:"horizontal"===t?e.x-o:n.left+.5,y:"horizontal"===t?n.top+.5:e.y-o,width:"horizontal"===t?r:n.width-1,height:"horizontal"===t?n.height-1:r}}(p,i,u,l),h=nt.A;else if("radial"===p){var d=k(i),y=d.cx,v=d.cy,m=d.radius;f={cx:y,cy:v,startAngle:d.startAngle,endAngle:d.endAngle,innerRadius:m,outerRadius:m},h=tt.L}else f={points:Ee(p,i,u)},h=G.H;var g=t.key||"_recharts-cursor",b=Fe(Fe(Fe(Fe({stroke:"#ccc",pointerEvents:"none"},u),f),(0,H.L6)(t.props.cursor)),{},{payload:a,payloadIndex:c,key:g,className:"recharts-tooltip-cursor"});return(0,j.isValidElement)(t.props.cursor)?(0,j.cloneElement)(t.props.cursor,b):(0,j.createElement)(h,b)})),qe(Ie(e),"renderPolarAxis",(function(t,n,r){var o=d()(t,"type.axisType"),i=d()(e.state,"".concat(o,"Map")),a=i&&i[t.props["".concat(o,"Id")]];return(0,j.cloneElement)(t,Fe(Fe({},a),{},{className:o,key:t.key||"".concat(n,"-").concat(r),ticks:(0,jt.uY)(a,!0)}))})),qe(Ie(e),"renderXAxis",(function(t,n,r){var o=e.state.xAxisMap[t.props.xAxisId];return e.renderAxis(o,t,n,r)})),qe(Ie(e),"renderYAxis",(function(t,n,r){var o=e.state.yAxisMap[t.props.yAxisId];return e.renderAxis(o,t,n,r)})),qe(Ie(e),"renderGrid",(function(t){var n=e.state,r=n.xAxisMap,i=n.yAxisMap,u=n.offset,c=e.props,l=c.width,s=c.height,f=(0,M.Kt)(r),p=a()(i,(function(t){return o()(t.domain,Xe)}))||(0,M.Kt)(i),h=t.props||{};return(0,j.cloneElement)(t,{key:t.key||"grid",x:(0,M.hj)(h.x)?h.x:u.left,y:(0,M.hj)(h.y)?h.y:u.top,width:(0,M.hj)(h.width)?h.width:u.width,height:(0,M.hj)(h.height)?h.height:u.height,xAxis:f,yAxis:p,offset:u,chartWidth:l,chartHeight:s,verticalCoordinatesGenerator:h.verticalCoordinatesGenerator||e.verticalCoordinatesGenerator,horizontalCoordinatesGenerator:h.horizontalCoordinatesGenerator||e.horizontalCoordinatesGenerator})})),qe(Ie(e),"renderPolarGrid",(function(t){var n=t.props,r=n.radialLines,o=n.polarAngles,i=n.polarRadius,a=e.state,u=a.radiusAxisMap,c=a.angleAxisMap,l=(0,M.Kt)(u),s=(0,M.Kt)(c),f=s.cx,p=s.cy,h=s.innerRadius,d=s.outerRadius;return(0,j.cloneElement)(t,{polarAngles:O()(o)?o:(0,jt.uY)(s,!0).map((function(t){return t.coordinate})),polarRadius:O()(i)?i:(0,jt.uY)(l,!0).map((function(t){return t.coordinate})),cx:f,cy:p,innerRadius:h,outerRadius:d,key:t.key||"polar-grid",radialLines:r})})),qe(Ie(e),"renderLegend",(function(){var t=e.state.formattedGraphicalItems,n=e.props,r=n.children,o=n.width,i=n.height,a=e.props.margin||{},u=o-(a.left||0)-(a.right||0),c=(0,qt.z)({children:r,formattedGraphicalItems:t,legendWidth:u,legendContent:y});if(!c)return null;var l=c.item,s=_e(c,Ae);return(0,j.cloneElement)(l,Fe(Fe({},s),{},{chartWidth:o,chartHeight:i,margin:a,onBBoxUpdate:e.handleLegendBBoxUpdate}))})),qe(Ie(e),"renderTooltip",(function(){var t=e.props.children,n=(0,H.sP)(t,q.u);if(!n)return null;var r=e.state,o=r.isTooltipActive,i=r.activeCoordinate,a=r.activePayload,u=r.activeLabel,c=r.offset;return(0,j.cloneElement)(n,{viewBox:Fe(Fe({},c),{},{x:c.left,y:c.top}),active:o,label:u,payload:o?a:[],coordinate:i})})),qe(Ie(e),"renderBrush",(function(t){var n=e.props,r=n.margin,o=n.data,i=e.state,a=i.offset,u=i.dataStartIndex,c=i.dataEndIndex,l=i.updateId;return(0,j.cloneElement)(t,{key:t.key||"_recharts-brush",onChange:(0,jt.DO)(e.handleBrushChange,null,t.props.onChange),data:o,x:(0,M.hj)(t.props.x)?t.props.x:a.left,y:(0,M.hj)(t.props.y)?t.props.y:a.top+a.height+a.brushBottom-(r.bottom||0),width:(0,M.hj)(t.props.width)?t.props.width:a.width,startIndex:u,endIndex:c,updateId:"brush-".concat(l)})})),qe(Ie(e),"renderReferenceElement",(function(t,n,r){if(!t)return null;var o=Ie(e).clipPathId,i=e.state,a=i.xAxisMap,u=i.yAxisMap,c=i.offset,l=t.props,s=l.xAxisId,f=l.yAxisId;return(0,j.cloneElement)(t,{key:t.key||"".concat(n,"-").concat(r),xAxis:a[s],yAxis:u[f],viewBox:{x:c.left,y:c.top,width:c.width,height:c.height},clipPathId:o})})),qe(Ie(e),"renderActivePoints",(function(t){var e=t.item,n=t.activePoint,r=t.basePoint,o=t.childIndex,i=t.isRange,a=[],u=e.props.key,c=e.item.props,l=c.activeDot,s=Fe(Fe({index:o,dataKey:c.dataKey,cx:n.x,cy:n.y,r:4,fill:(0,jt.fk)(e.item),strokeWidth:2,stroke:"#fff",payload:n.payload,value:n.value,key:"".concat(u,"-activePoint-").concat(o)},(0,H.L6)(l)),(0,at.Ym)(l));return a.push(p.renderActiveDot(l,s)),r?a.push(p.renderActiveDot(l,Fe(Fe({},s),{},{cx:r.x,cy:r.y,key:"".concat(u,"-basePoint-").concat(o)}))):i&&a.push(null),a})),qe(Ie(e),"renderGraphicChild",(function(t,n,r){var o=e.filterFormatItem(t,n,r);if(!o)return null;var i=e.getTooltipEventType(),a=e.state,u=a.isTooltipActive,c=a.tooltipAxis,l=a.activeTooltipIndex,s=a.activeLabel,f=e.props.children,p=(0,H.sP)(f,q.u),h=o.props,d=h.points,y=h.isRange,m=h.baseLine,g=o.item.props,b=g.activeDot,x=g.hide,w=g.activeBar,O=g.activeShape,S=Boolean(!x&&u&&p&&(b||w||O)),E={};"axis"!==i&&p&&"click"===p.props.trigger?E={onClick:(0,jt.DO)(e.handleItemMouseEnter,null,t.props.onCLick)}:"axis"!==i&&(E={onMouseLeave:(0,jt.DO)(e.handleItemMouseLeave,null,t.props.onMouseLeave),onMouseEnter:(0,jt.DO)(e.handleItemMouseEnter,null,t.props.onMouseEnter)});var A=(0,j.cloneElement)(t,Fe(Fe({},o.props),E));if(S){if(!(l>=0)){var P,k=(null!==(P=e.getItemByXY(e.state.activeCoordinate))&&void 0!==P?P:{graphicalItem:A}).graphicalItem,T=k.item,_=void 0===T?t:T,C=k.childIndex,N=Fe(Fe(Fe({},o.props),E),{},{activeIndex:C});return[(0,j.cloneElement)(_,N),null,null]}var D,I;if(c.dataKey&&!c.allowDuplicatedCategory){var L="function"===typeof c.dataKey?function(t){return"function"===typeof c.dataKey?c.dataKey(t.payload):null}:"payload.".concat(c.dataKey.toString());D=(0,M.Ap)(d,L,s),I=y&&m&&(0,M.Ap)(m,L,s)}else D=null===d||void 0===d?void 0:d[l],I=y&&m&&m[l];if(O||w){var R=void 0!==t.props.activeIndex?t.props.activeIndex:l;return[(0,j.cloneElement)(t,Fe(Fe(Fe({},o.props),E),{},{activeIndex:R})),null,null]}if(!v()(D))return[A].concat(Re(e.renderActivePoints({item:o,activePoint:D,basePoint:I,childIndex:l,isRange:y})))}return y?[A,null,null]:[A,null]})),qe(Ie(e),"renderCustomized",(function(t,n,r){return(0,j.cloneElement)(t,Fe(Fe({key:"recharts-customized-".concat(r)},e.props),e.state))})),e.uniqueChartId=v()(t.id)?(0,M.EL)("recharts"):t.id,e.clipPathId="".concat(e.uniqueChartId,"-clip"),t.throttleDelay&&(e.triggeredAfterMouseMove=s()(e.triggeredAfterMouseMove,t.throttleDelay)),e.state={},e}return e=p,r=[{key:"componentDidMount",value:function(){var t,e;v()(this.props.syncId)||this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:null!==(t=this.props.margin.left)&&void 0!==t?t:0,top:null!==(e=this.props.margin.top)&&void 0!==e?e:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.handleMouseMove,layout:this.props.layout})}},{key:"getSnapshotBeforeUpdate",value:function(t,e){return this.props.accessibilityLayer?(this.state.tooltipTicks!==e.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==t.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==t.margin&&this.accessibilityManager.setDetails({offset:{left:null!==(n=this.props.margin.left)&&void 0!==n?n:0,top:null!==(r=this.props.margin.top)&&void 0!==r?r:0}}),null):null;var n,r}},{key:"componentDidUpdate",value:function(t){v()(t.syncId)&&!v()(this.props.syncId)&&this.addListener(),!v()(t.syncId)&&v()(this.props.syncId)&&this.removeListener()}},{key:"componentWillUnmount",value:function(){this.clearDefer(),v()(this.props.syncId)||this.removeListener(),this.cancelThrottledTriggerAfterMouseMove()}},{key:"cancelThrottledTriggerAfterMouseMove",value:function(){"function"===typeof this.triggeredAfterMouseMove.cancel&&this.triggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var t=(0,H.sP)(this.props.children,q.u);if(t&&x()(t.props.shared)){var e=t.props.shared?"axis":"item";return f.indexOf(e)>=0?e:u}return u}},{key:"getMouseInfo",value:function(t){var e;if(!this.container)return null;var n=(0,T.os)(this.container),r=(0,T.IR)(t,n),o=this.container,i=(null===o||void 0===o||null===(e=o.getBoundingClientRect())||void 0===e?void 0:e.width)/o.offsetWidth||1,a=this.inRange(r.chartX,r.chartY,i);if(!a)return null;var u=this.state,c=u.xAxisMap,l=u.yAxisMap;if("axis"!==this.getTooltipEventType()&&c&&l){var s=(0,M.Kt)(c).scale,f=(0,M.Kt)(l).scale,p=s&&s.invert?s.invert(r.chartX):null,h=f&&f.invert?f.invert(r.chartY):null;return Fe(Fe({},r),{},{xValue:p,yValue:h})}var d=$e(this.state,this.props.data,this.props.layout,a);return d?Fe(Fe({},r),d):null}},{key:"inRange",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=this.props.layout,o=t/n,i=e/n;if("horizontal"===r||"vertical"===r){var a=this.state.offset;return o>=a.left&&o<=a.left+a.width&&i>=a.top&&i<=a.top+a.height?{x:o,y:i}:null}var u=this.state,c=u.angleAxisMap,l=u.radiusAxisMap;if(c&&l){var s=(0,M.Kt)(c);return(0,P.z3)({x:o,y:i},s)}return null}},{key:"parseEventsOfWrapper",value:function(){var t=this.props.children,e=this.getTooltipEventType(),n=(0,H.sP)(t,q.u),r={};return n&&"axis"===e&&(r="click"===n.props.trigger?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}),Fe(Fe({},(0,at.Ym)(this.props,this.handleOuterEvent)),r)}},{key:"addListener",value:function(){me.on(ge,this.handleReceiveSyncEvent),me.setMaxListeners&&me._maxListeners&&me.setMaxListeners(me._maxListeners+1)}},{key:"removeListener",value:function(){me.removeListener(ge,this.handleReceiveSyncEvent),me.setMaxListeners&&me._maxListeners&&me.setMaxListeners(me._maxListeners-1)}},{key:"triggerSyncEvent",value:function(t){var e=this.props.syncId;v()(e)||me.emit(ge,e,this.uniqueChartId,t)}},{key:"applySyncEvent",value:function(t){var e=this.props,n=e.layout,r=e.syncMethod,o=this.state.updateId,i=t.dataStartIndex,a=t.dataEndIndex;if(v()(t.dataStartIndex)&&v()(t.dataEndIndex))if(v()(t.activeTooltipIndex))this.setState(t);else{var u=t.chartX,c=t.chartY,l=t.activeTooltipIndex,s=this.state,f=s.offset,p=s.tooltipTicks;if(!f)return;if("function"===typeof r)l=r(p,t);else if("value"===r){l=-1;for(var h=0;h{"use strict";n.d(e,{b:()=>r});var r=function(t){return null};r.displayName="Cell"},17684:(t,e,n)=>{"use strict";n.d(e,{_:()=>T});var r=n(8092),o=n.n(r),i=n(74786),a=n.n(i),u=n(42854),c=n.n(u),l=n(72791),s=n(81694),f=n.n(s),p=n(77514),h=n(23031),d=n(70587),y=n(24485);function v(t){return v="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},v(t)}var m=["offset"];function g(t){return function(t){if(Array.isArray(t))return b(t)}(t)||function(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return b(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function O(t){for(var e=1;e=0?1:-1;"insideStart"===i?(r=b+E*u,o=w):"insideEnd"===i?(r=x-E*u,o=!w):"end"===i&&(r=x+E*u,o=w),o=j<=0?o:!o;var A=(0,y.op)(h,v,O,r),P=(0,y.op)(h,v,O,r+359*(o?1:-1)),k="M".concat(A.x,",").concat(A.y,"\n A").concat(O,",").concat(O,",0,1,").concat(o?0:1,",\n ").concat(P.x,",").concat(P.y),M=c()(t.id)?(0,d.EL)("recharts-radial-line-"):t.id;return l.createElement("text",S({},n,{dominantBaseline:"central",className:f()("recharts-radial-bar-label",s)}),l.createElement("defs",null,l.createElement("path",{id:M,d:k})),l.createElement("textPath",{xlinkHref:"#".concat(M)},e))},P=function(t){var e=t.viewBox,n=t.offset,r=t.position,o=e,i=o.cx,a=o.cy,u=o.innerRadius,c=o.outerRadius,l=(o.startAngle+o.endAngle)/2;if("outside"===r){var s=(0,y.op)(i,a,c+n,l),f=s.x;return{x:f,y:s.y,textAnchor:f>=i?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"end"};var p=(u+c)/2,h=(0,y.op)(i,a,p,l);return{x:h.x,y:h.y,textAnchor:"middle",verticalAnchor:"middle"}},k=function(t){var e=t.viewBox,n=t.parentViewBox,r=t.offset,i=t.position,a=e,u=a.x,c=a.y,l=a.width,s=a.height,f=s>=0?1:-1,p=f*r,h=f>0?"end":"start",y=f>0?"start":"end",v=l>=0?1:-1,m=v*r,g=v>0?"end":"start",b=v>0?"start":"end";if("top"===i)return O(O({},{x:u+l/2,y:c-f*r,textAnchor:"middle",verticalAnchor:h}),n?{height:Math.max(c-n.y,0),width:l}:{});if("bottom"===i)return O(O({},{x:u+l/2,y:c+s+p,textAnchor:"middle",verticalAnchor:y}),n?{height:Math.max(n.y+n.height-(c+s),0),width:l}:{});if("left"===i){var x={x:u-m,y:c+s/2,textAnchor:g,verticalAnchor:"middle"};return O(O({},x),n?{width:Math.max(x.x-n.x,0),height:s}:{})}if("right"===i){var w={x:u+l+m,y:c+s/2,textAnchor:b,verticalAnchor:"middle"};return O(O({},w),n?{width:Math.max(n.x+n.width-w.x,0),height:s}:{})}var j=n?{width:l,height:s}:{};return"insideLeft"===i?O({x:u+m,y:c+s/2,textAnchor:b,verticalAnchor:"middle"},j):"insideRight"===i?O({x:u+l-m,y:c+s/2,textAnchor:g,verticalAnchor:"middle"},j):"insideTop"===i?O({x:u+l/2,y:c+p,textAnchor:"middle",verticalAnchor:y},j):"insideBottom"===i?O({x:u+l/2,y:c+s-p,textAnchor:"middle",verticalAnchor:h},j):"insideTopLeft"===i?O({x:u+m,y:c+p,textAnchor:b,verticalAnchor:y},j):"insideTopRight"===i?O({x:u+l-m,y:c+p,textAnchor:g,verticalAnchor:y},j):"insideBottomLeft"===i?O({x:u+m,y:c+s-p,textAnchor:b,verticalAnchor:h},j):"insideBottomRight"===i?O({x:u+l-m,y:c+s-p,textAnchor:g,verticalAnchor:h},j):o()(i)&&((0,d.hj)(i.x)||(0,d.hU)(i.x))&&((0,d.hj)(i.y)||(0,d.hU)(i.y))?O({x:u+(0,d.h1)(i.x,l),y:c+(0,d.h1)(i.y,s),textAnchor:"end",verticalAnchor:"end"},j):O({x:u+l/2,y:c+s/2,textAnchor:"middle",verticalAnchor:"middle"},j)},M=function(t){return"cx"in t&&(0,d.hj)(t.cx)};function T(t){var e,n=t.offset,r=O({offset:void 0===n?5:n},x(t,m)),o=r.viewBox,i=r.position,u=r.value,s=r.children,d=r.content,y=r.className,v=void 0===y?"":y,g=r.textBreakAll;if(!o||c()(u)&&c()(s)&&!(0,l.isValidElement)(d)&&!a()(d))return null;if((0,l.isValidElement)(d))return(0,l.cloneElement)(d,r);if(a()(d)){if(e=(0,l.createElement)(d,r),(0,l.isValidElement)(e))return e}else e=E(r);var b=M(o),w=(0,h.L6)(r,!0);if(b&&("insideStart"===i||"insideEnd"===i||"end"===i))return A(r,e,w);var j=b?P(r):k(r);return l.createElement(p.x,S({className:f()("recharts-label",v)},w,j,{breakAll:g}),e)}T.displayName="Label";var _=function(t){var e=t.cx,n=t.cy,r=t.angle,o=t.startAngle,i=t.endAngle,a=t.r,u=t.radius,c=t.innerRadius,l=t.outerRadius,s=t.x,f=t.y,p=t.top,h=t.left,y=t.width,v=t.height,m=t.clockWise,g=t.labelViewBox;if(g)return g;if((0,d.hj)(y)&&(0,d.hj)(v)){if((0,d.hj)(s)&&(0,d.hj)(f))return{x:s,y:f,width:y,height:v};if((0,d.hj)(p)&&(0,d.hj)(h))return{x:p,y:h,width:y,height:v}}return(0,d.hj)(s)&&(0,d.hj)(f)?{x:s,y:f,width:0,height:0}:(0,d.hj)(e)&&(0,d.hj)(n)?{cx:e,cy:n,startAngle:o||r||0,endAngle:i||r||0,innerRadius:c||0,outerRadius:l||u||a||0,clockWise:m}:t.viewBox?t.viewBox:{}};T.parseViewBox=_,T.renderCallByParent=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t||!t.children&&n&&!t.label)return null;var r=t.children,i=_(t),u=(0,h.NN)(r,T).map((function(t,n){return(0,l.cloneElement)(t,{viewBox:e||i,key:"label-".concat(n)})}));if(!n)return u;var c=function(t,e){return t?!0===t?l.createElement(T,{key:"label-implicit",viewBox:e}):(0,d.P2)(t)?l.createElement(T,{key:"label-implicit",viewBox:e,value:t}):(0,l.isValidElement)(t)?t.type===T?(0,l.cloneElement)(t,{key:"label-implicit",viewBox:e}):l.createElement(T,{key:"label-implicit",content:t,viewBox:e}):a()(t)?l.createElement(T,{key:"label-implicit",content:t,viewBox:e}):o()(t)?l.createElement(T,S({viewBox:e},t,{key:"label-implicit"})):null:null}(t.label,e||i);return[c].concat(g(u))}},87970:(t,e,n)=>{"use strict";n.d(e,{e:()=>M});var r=n(8092),o=n.n(r),i=n(74786),a=n.n(i),u=n(42854),c=n.n(u),l=n(15727),s=n.n(l),f=n(93629),p=n.n(f),h=n(72791),d=n(17684),y=n(46044),v=n(23031),m=n(73822);function g(t){return g="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},g(t)}var b=["valueAccessor"],x=["data","dataKey","clockWise","id","textBreakAll"];function w(t){return function(t){if(Array.isArray(t))return O(t)}(t)||function(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return O(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var k=function(t){return p()(t.value)?s()(t.value):t.value};function M(t){var e=t.valueAccessor,n=void 0===e?k:e,r=P(t,b),o=r.data,i=r.dataKey,a=r.clockWise,u=r.id,l=r.textBreakAll,s=P(r,x);return o&&o.length?h.createElement(y.m,{className:"recharts-label-list"},o.map((function(t,e){var r=c()(i)?n(t,e):(0,m.F$)(t&&t.payload,i),o=c()(u)?{}:{id:"".concat(u,"-").concat(e)};return h.createElement(d._,j({},(0,v.L6)(t,!0),s,o,{parentViewBox:t.parentViewBox,index:e,value:r,textBreakAll:l,viewBox:d._.parseViewBox(c()(a)?t:E(E({},t),{},{clockWise:a})),key:"label-".concat(e)}))}))):null}M.displayName="LabelList",M.renderCallByParent=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t||!t.children&&n&&!t.label)return null;var r=t.children,i=(0,v.NN)(r,M).map((function(t,n){return(0,h.cloneElement)(t,{data:e,key:"labelList-".concat(n)})}));return n?[function(t,e){return t?!0===t?h.createElement(M,{key:"labelList-implicit",data:e}):h.isValidElement(t)||a()(t)?h.createElement(M,{key:"labelList-implicit",data:e,content:t}):o()(t)?h.createElement(M,j({data:e},t,{key:"labelList-implicit"})):null:null}(t.label,e)].concat(w(i)):i}},27281:(t,e,n)=>{"use strict";n.d(e,{D:()=>U});var r=n(74786),o=n.n(r),i=n(66339),a=n.n(i),u=n(72791),c=n(81694),l=n.n(c),s=n(15303),f=n(48933),p=n(67820),h=n(57241);function d(t){return d="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},d(t)}function y(){return y=Object.assign?Object.assign.bind():function(t){for(var e=1;e');var x=e.inactive?c:e.color;return u.createElement("li",y({className:g,style:d,key:"legend-item-".concat(n)},(0,h.bw)(t.props,e,n)),u.createElement(f.T,{width:r,height:r,viewBox:p,style:v},t.renderIcon(e)),u.createElement("span",{className:"recharts-legend-item-text",style:{color:x}},m?m(b,e,n):b))}))}},{key:"render",value:function(){var t=this.props,e=t.payload,n=t.layout,r=t.align;if(!e||!e.length)return null;var o={padding:0,margin:0,textAlign:"horizontal"===n?r:"left"};return u.createElement("ul",{className:"recharts-default-legend",style:o},this.renderItems())}}],n&&m(e.prototype,n),r&&m(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(u.PureComponent);w(S,"displayName","Legend"),w(S,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var E=n(70587);function A(t){return A="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},A(t)}var P=["ref"];function k(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function M(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function B(t){return t.value}function z(t,e){return!0===t?a()(e,B):o()(t)?a()(e,t):e}var U=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_(t,e)}(a,t);var e,n,r,i=C(a);function a(){var t;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a);for(var e=arguments.length,n=new Array(e),r=0;r=0&&n>=0?{width:e,height:n}:null}},{key:"getDefaultPosition",value:function(t){var e,n,r=this.props,o=r.layout,i=r.align,a=r.verticalAlign,u=r.margin,c=r.chartWidth,l=r.chartHeight;return t&&(void 0!==t.left&&null!==t.left||void 0!==t.right&&null!==t.right)||(e="center"===i&&"vertical"===o?{left:((c||0)-(this.getBBoxSnapshot()||{width:0}).width)/2}:"right"===i?{right:u&&u.right||0}:{left:u&&u.left||0}),t&&(void 0!==t.top&&null!==t.top||void 0!==t.bottom&&null!==t.bottom)||(n="middle"===a?{top:((l||0)-(this.getBBoxSnapshot()||{height:0}).height)/2}:"bottom"===a?{bottom:u&&u.bottom||0}:{top:u&&u.top||0}),M(M({},e),n)}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight,r=this.props.onBBoxUpdate;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var o=this.wrapperNode.getBoundingClientRect();(Math.abs(o.width-e)>1||Math.abs(o.height-n)>1)&&this.setState({boxWidth:o.width,boxHeight:o.height},(function(){r&&r(o)}))}else-1===e&&-1===n||this.setState({boxWidth:-1,boxHeight:-1},(function(){r&&r(null)}))}},{key:"render",value:function(){var t=this,e=this.props,n=e.content,r=e.width,i=e.height,a=e.wrapperStyle,c=e.payloadUniqBy,l=e.payload,s=M(M({position:"absolute",width:r||"auto",height:i||"auto"},this.getDefaultPosition(a)),a);return u.createElement("div",{className:"recharts-legend-wrapper",style:s,ref:function(e){t.wrapperNode=e}},function(t,e){if(u.isValidElement(t))return u.cloneElement(t,e);if(o()(t))return u.createElement(t,e);e.ref;var n=R(e,P);return u.createElement(S,n)}(n,M(M({},this.props),{},{payload:z(c,l)})))}}])&&T(e.prototype,n),r&&T(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(u.PureComponent);I(U,"displayName","Legend"),I(U,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"})},77514:(t,e,n)=>{"use strict";n.d(e,{x:()=>U});var r=n(42854),o=n.n(r),i=n(72791),a=n(81694),u=n.n(a),c=n(70587),l=n(36768),s=n(23031),f=n(93058);function p(t){return p="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},p(t)}function h(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(!t)return;if("string"===typeof t)return d(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(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 d(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function N(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(!t)return;if("string"===typeof t)return D(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return D(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 D(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:[]).reduce((function(t,e){var i=e.word,a=e.width,u=t[t.length-1];if(u&&(null==r||o||u.width+a+ni||function(t){return t.reduce((function(t,e){return t.width>e.width?t:e}))}(o).width>Number(r);return[a,o]},v=0,m=f.length-1,g=0;v<=m&&g<=f.length-1;){var b=Math.floor((v+m)/2),x=N(y(b-1),2),w=x[0],O=x[1],j=N(y(b),1)[0];if(w||j||(v=b+1),w&&j&&(m=b-1),!w&&j){d=O;break}g++}return d||h}({breakAll:i,children:r,maxLines:a,style:o},u.wordsWithComputedWidth,u.spaceWidth,e,n):R(r)}return R(r)},z="#808080",U=function(t){var e=t.x,n=void 0===e?0:e,r=t.y,o=void 0===r?0:r,a=t.lineHeight,l=void 0===a?"1em":a,f=t.capHeight,p=void 0===f?"0.71em":f,h=t.scaleToFit,d=void 0!==h&&h,y=t.textAnchor,v=void 0===y?"start":y,m=t.verticalAnchor,g=void 0===m?"end":m,b=t.fill,x=void 0===b?z:b,w=C(t,M),O=(0,i.useMemo)((function(){return B({breakAll:w.breakAll,children:w.children,maxLines:w.maxLines,scaleToFit:d,style:w.style,width:w.width})}),[w.breakAll,w.children,w.maxLines,d,w.style,w.width]),j=w.dx,S=w.dy,E=w.angle,A=w.className,P=w.breakAll,N=C(w,T);if(!(0,c.P2)(n)||!(0,c.P2)(o))return null;var D,I=n+((0,c.hj)(j)?j:0),L=o+((0,c.hj)(S)?S:0);switch(g){case"start":D=k("calc(".concat(p,")"));break;case"middle":D=k("calc(".concat((O.length-1)/2," * -").concat(l," + (").concat(p," / 2))"));break;default:D=k("calc(".concat(O.length-1," * -").concat(l,")"))}var R=[];if(d){var U=O[0].width,F=w.width;R.push("scale(".concat(((0,c.hj)(F)?F/U:1)/U,")"))}return E&&R.push("rotate(".concat(E,", ").concat(I,", ").concat(L,")")),R.length&&(N.transform=R.join(" ")),i.createElement("text",_({},(0,s.L6)(N,!0),{x:I,y:L,className:u()("recharts-text",A),textAnchor:v,fill:x.includes("url")?z:x}),O.map((function(t,e){return i.createElement("tspan",{x:I,dy:0===e?D:l,key:e},t.words.join(P?"":" "))})))}},35667:(t,e,n)=>{"use strict";n.d(e,{u:()=>z});var r=n(42854),o=n.n(r),i=n(74786),a=n.n(i),u=n(66339),c=n.n(u),l=n(72791),s=n(98202),f=n(81694),p=n.n(f),h=n(64286),d=n.n(h),y=n(93629),v=n.n(y),m=n(70587);function g(t){return g="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},g(t)}function b(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(!t)return;if("string"===typeof t)return x(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return x(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 x(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nf[n]+o?Math.max(p,f[n]):Math.max(h,f[n])})),t}return e=u,(n=[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight;if(t.dismissed?(document.removeEventListener("keydown",this.handleKeyDown),this.props.coordinate.x===this.state.dismissedAtCoordinate.x&&this.props.coordinate.y===this.state.dismissedAtCoordinate.y||this.setState({dismissed:!1})):document.addEventListener("keydown",this.handleKeyDown),this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-e)>1||Math.abs(r.height-n)>1)&&this.setState({boxWidth:r.width,boxHeight:r.height})}else-1===e&&-1===n||this.setState({boxWidth:-1,boxHeight:-1})}},{key:"render",value:function(){var t,e,n,r=this,i=this.props,u=i.payload,f=i.isAnimationActive,h=i.animationDuration,d=i.animationEasing,y=i.filterNull,v=function(t,e){return!0===t?c()(e,B):a()(t)?c()(e,t):e}(i.payloadUniqBy,y&&u&&u.length?u.filter((function(t){return!o()(t.value)})):u),g=v&&v.length,b=this.props,x=b.content,w=b.viewBox,O=b.coordinate,j=b.position,S=b.active,A=b.wrapperStyle,P=M({pointerEvents:"none",visibility:!this.state.dismissed&&S&&g?"visible":"hidden",position:"absolute",top:0,left:0},A);if(j&&(0,m.hj)(j.x)&&(0,m.hj)(j.y))e=j.x,n=j.y;else{var k=this.state,T=k.boxWidth,_=k.boxHeight;T>0&&_>0&&O?(e=this.getTranslate({key:"x",tooltipDimension:T,viewBoxDimension:w.width}),n=this.getTranslate({key:"y",tooltipDimension:_,viewBoxDimension:w.height})):P.visibility="hidden"}P=M(M({},(0,s.bO)({transform:this.props.useTranslate3d?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")})),P),f&&S&&(P=M(M({},(0,s.bO)({transition:"transform ".concat(h,"ms ").concat(d)})),P));var C=p()(R,(I(t={},"".concat(R,"-right"),(0,m.hj)(e)&&O&&(0,m.hj)(O.x)&&e>=O.x),I(t,"".concat(R,"-left"),(0,m.hj)(e)&&O&&(0,m.hj)(O.x)&&e=O.y),I(t,"".concat(R,"-top"),(0,m.hj)(n)&&O&&(0,m.hj)(O.y)&&n{"use strict";n.d(e,{m:()=>s});var r=n(72791),o=n(81694),i=n.n(o),a=n(23031),u=["children","className"];function c(){return c=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var s=r.forwardRef((function(t,e){var n=t.children,o=t.className,s=l(t,u),f=i()("recharts-layer",o);return r.createElement("g",c({className:f},(0,a.L6)(s,!0),{ref:e}),n)}))},48933:(t,e,n)=>{"use strict";n.d(e,{T:()=>s});var r=n(72791),o=n(81694),i=n.n(o),a=n(23031),u=["children","width","height","viewBox","className","style"];function c(){return c=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function s(t){var e=t.children,n=t.width,o=t.height,s=t.viewBox,f=t.className,p=t.style,h=l(t,u),d=s||{width:n,height:o,x:0,y:0},y=i()("recharts-surface",f);return r.createElement("svg",c({},(0,a.L6)(h,!0,"svg"),{className:y,width:n,height:o,style:p,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height)}),r.createElement("title",null,t.title),r.createElement("desc",null,t.desc),e)}},75555:(t,e,n)=>{"use strict";n.d(e,{H:()=>K});var r=n(93629),o=n.n(r),i=n(52085),a=n.n(i),u=n(74786),c=n.n(u),l=n(72791);function s(){}function f(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function p(t){this._context=t}function h(t){this._context=t}function d(t){this._context=t}p.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:f(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},h.prototype={areaStart:s,areaEnd:s,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},d.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class y{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function v(t){this._context=t}function m(t){this._context=t}function g(t){return new m(t)}function b(t){return t<0?-1:1}function x(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),a=(n-t._y1)/(o||r<0&&-0),u=(i*o+a*r)/(r+o);return(b(i)+b(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(u))||0}function w(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function O(t,e,n){var r=t._x0,o=t._y0,i=t._x1,a=t._y1,u=(i-r)/3;t._context.bezierCurveTo(r+u,o+u*e,i-u,a-u*n,i,a)}function j(t){this._context=t}function S(t){this._context=new E(t)}function E(t){this._context=t}function A(t){this._context=t}function P(t){var e,n,r=t.length-1,o=new Array(r),i=new Array(r),a=new Array(r);for(o[0]=0,i[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)o[e]=(a[e]-o[e+1])/i[e];for(i[r-1]=(t[r]+o[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var M=n(21988),T=n(487),_=n(25180);function C(t){return t[0]}function N(t){return t[1]}function D(t,e){var n=(0,T.Z)(!0),r=null,o=g,i=null,a=(0,_.d)(u);function u(u){var c,l,s,f=(u=(0,M.Z)(u)).length,p=!1;for(null==r&&(i=o(s=a())),c=0;c<=f;++c)!(c=f;--p)u.point(m[p],g[p]);u.lineEnd(),u.areaEnd()}v&&(m[s]=+t(h,s,l),g[s]=+e(h,s,l),u.point(r?+r(h,s,l):m[s],n?+n(h,s,l):g[s]))}if(d)return u=null,d+""||null}function s(){return D().defined(o).curve(a).context(i)}return t="function"===typeof t?t:void 0===t?C:(0,T.Z)(+t),e="function"===typeof e?e:void 0===e?(0,T.Z)(0):(0,T.Z)(+e),n="function"===typeof n?n:void 0===n?N:(0,T.Z)(+n),l.x=function(e){return arguments.length?(t="function"===typeof e?e:(0,T.Z)(+e),r=null,l):t},l.x0=function(e){return arguments.length?(t="function"===typeof e?e:(0,T.Z)(+e),l):t},l.x1=function(t){return arguments.length?(r=null==t?null:"function"===typeof t?t:(0,T.Z)(+t),l):r},l.y=function(t){return arguments.length?(e="function"===typeof t?t:(0,T.Z)(+t),n=null,l):e},l.y0=function(t){return arguments.length?(e="function"===typeof t?t:(0,T.Z)(+t),l):e},l.y1=function(t){return arguments.length?(n=null==t?null:"function"===typeof t?t:(0,T.Z)(+t),l):n},l.lineX0=l.lineY0=function(){return s().x(t).y(e)},l.lineY1=function(){return s().x(t).y(n)},l.lineX1=function(){return s().x(r).y(e)},l.defined=function(t){return arguments.length?(o="function"===typeof t?t:(0,T.Z)(!!t),l):o},l.curve=function(t){return arguments.length?(a=t,null!=i&&(u=a(i)),l):a},l.context=function(t){return arguments.length?(null==t?i=u=null:u=a(i=t),l):i},l}var L=n(81694),R=n.n(L),B=n(57241),z=n(23031),U=n(70587);function F(t){return F="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},F(t)}function q(){return q=Object.assign?Object.assign.bind():function(t){for(var e=1;e{"use strict";n.d(e,{o:()=>l});var r=n(72791),o=n(81694),i=n.n(o),a=n(57241),u=n(23031);function c(){return c=Object.assign?Object.assign.bind():function(t){for(var e=1;e{"use strict";n.d(e,{A:()=>g,X:()=>v});var r=n(72791),o=n(81694),i=n.n(o),a=n(98202),u=n(23031);function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}function l(){return l=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0?1:-1,c=n>=0?1:-1,l=r>=0&&n>=0||r<0&&n<0?1:0;if(a>0&&o instanceof Array){for(var s=[0,0,0,0],f=0;f<4;f++)s[f]=o[f]>a?a:o[f];i="M".concat(t,",").concat(e+u*s[0]),s[0]>0&&(i+="A ".concat(s[0],",").concat(s[0],",0,0,").concat(l,",").concat(t+c*s[0],",").concat(e)),i+="L ".concat(t+n-c*s[1],",").concat(e),s[1]>0&&(i+="A ".concat(s[1],",").concat(s[1],",0,0,").concat(l,",\n ").concat(t+n,",").concat(e+u*s[1])),i+="L ".concat(t+n,",").concat(e+r-u*s[2]),s[2]>0&&(i+="A ".concat(s[2],",").concat(s[2],",0,0,").concat(l,",\n ").concat(t+n-c*s[2],",").concat(e+r)),i+="L ".concat(t+c*s[3],",").concat(e+r),s[3]>0&&(i+="A ".concat(s[3],",").concat(s[3],",0,0,").concat(l,",\n ").concat(t,",").concat(e+r-u*s[3])),i+="Z"}else if(a>0&&o===+o&&o>0){var p=Math.min(a,o);i="M ".concat(t,",").concat(e+u*p,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+c*p,",").concat(e,"\n L ").concat(t+n-c*p,",").concat(e,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+n,",").concat(e+u*p,"\n L ").concat(t+n,",").concat(e+r-u*p,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+n-c*p,",").concat(e+r,"\n L ").concat(t+c*p,",").concat(e+r,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t,",").concat(e+r-u*p," Z")}else i="M ".concat(t,",").concat(e," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},v=function(t,e){if(!t||!e)return!1;var n=t.x,r=t.y,o=e.x,i=e.y,a=e.width,u=e.height;if(Math.abs(a)>0&&Math.abs(u)>0){var c=Math.min(o,o+a),l=Math.max(o,o+a),s=Math.min(i,i+u),f=Math.max(i,i+u);return n>=c&&n<=l&&r>=s&&r<=f}return!1},m={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},g=function(t){var e=h(h({},m),t),n=(0,r.useRef)(),o=s((0,r.useState)(-1),2),c=o[0],f=o[1];(0,r.useEffect)((function(){if(n.current&&n.current.getTotalLength)try{var t=n.current.getTotalLength();t&&f(t)}catch(e){}}),[]);var p=e.x,d=e.y,v=e.width,g=e.height,b=e.radius,x=e.className,w=e.animationEasing,O=e.animationDuration,j=e.animationBegin,S=e.isAnimationActive,E=e.isUpdateAnimationActive;if(p!==+p||d!==+d||v!==+v||g!==+g||0===v||0===g)return null;var A=i()("recharts-rectangle",x);return E?r.createElement(a.ZP,{canBegin:c>0,from:{width:v,height:g,x:p,y:d},to:{width:v,height:g,x:p,y:d},duration:O,animationEasing:w,isActive:E},(function(t){var o=t.width,i=t.height,s=t.x,f=t.y;return r.createElement(a.ZP,{canBegin:c>0,from:"0px ".concat(-1===c?1:c,"px"),to:"".concat(c,"px 0px"),attributeName:"strokeDasharray",begin:j,duration:O,isActive:S,easing:w},r.createElement("path",l({},(0,u.L6)(e,!0),{className:A,d:y(s,f,o,i,b),ref:n})))})):r.createElement("path",l({},(0,u.L6)(e,!0),{className:A,d:y(p,d,v,g,b)}))}},96295:(t,e,n)=>{"use strict";n.d(e,{L:()=>m});var r=n(72791),o=n(81694),i=n.n(o),a=n(23031),u=n(24485),c=n(70587);function l(t){return l="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},l(t)}function s(){return s=Object.assign?Object.assign.bind():function(t){for(var e=1;e180),",").concat(+(i>l),",\n ").concat(f.x,",").concat(f.y,"\n ");if(r>0){var h=(0,u.op)(e,n,r,i),d=(0,u.op)(e,n,r,l);p+="L ".concat(d.x,",").concat(d.y,"\n A ").concat(r,",").concat(r,",0,\n ").concat(+(Math.abs(a)>180),",").concat(+(i<=l),",\n ").concat(h.x,",").concat(h.y," Z")}else p+="L ".concat(e,",").concat(n," Z");return p},v={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},m=function(t){var e=p(p({},v),t),n=e.cx,o=e.cy,u=e.innerRadius,l=e.outerRadius,f=e.cornerRadius,h=e.forceCornerRadius,m=e.cornerIsExternal,g=e.startAngle,b=e.endAngle,x=e.className;if(l0&&Math.abs(g-b)<360?function(t){var e=t.cx,n=t.cy,r=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,a=t.forceCornerRadius,u=t.cornerIsExternal,l=t.startAngle,s=t.endAngle,f=(0,c.uY)(s-l),p=d({cx:e,cy:n,radius:o,angle:l,sign:f,cornerRadius:i,cornerIsExternal:u}),h=p.circleTangency,v=p.lineTangency,m=p.theta,g=d({cx:e,cy:n,radius:o,angle:s,sign:-f,cornerRadius:i,cornerIsExternal:u}),b=g.circleTangency,x=g.lineTangency,w=g.theta,O=u?Math.abs(l-s):Math.abs(l-s)-m-w;if(O<0)return a?"M ".concat(v.x,",").concat(v.y,"\n a").concat(i,",").concat(i,",0,0,1,").concat(2*i,",0\n a").concat(i,",").concat(i,",0,0,1,").concat(2*-i,",0\n "):y({cx:e,cy:n,innerRadius:r,outerRadius:o,startAngle:l,endAngle:s});var j="M ".concat(v.x,",").concat(v.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(h.x,",").concat(h.y,"\n A").concat(o,",").concat(o,",0,").concat(+(O>180),",").concat(+(f<0),",").concat(b.x,",").concat(b.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(x.x,",").concat(x.y,"\n ");if(r>0){var S=d({cx:e,cy:n,radius:r,angle:l,sign:f,isExternal:!0,cornerRadius:i,cornerIsExternal:u}),E=S.circleTangency,A=S.lineTangency,P=S.theta,k=d({cx:e,cy:n,radius:r,angle:s,sign:-f,isExternal:!0,cornerRadius:i,cornerIsExternal:u}),M=k.circleTangency,T=k.lineTangency,_=k.theta,C=u?Math.abs(l-s):Math.abs(l-s)-P-_;if(C<0&&0===i)return"".concat(j,"L").concat(e,",").concat(n,"Z");j+="L".concat(T.x,",").concat(T.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(M.x,",").concat(M.y,"\n A").concat(r,",").concat(r,",0,").concat(+(C>180),",").concat(+(f>0),",").concat(E.x,",").concat(E.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(A.x,",").concat(A.y,"Z")}else j+="L".concat(e,",").concat(n,"Z");return j}({cx:n,cy:o,innerRadius:u,outerRadius:l,cornerRadius:Math.min(S,j/2),forceCornerRadius:h,cornerIsExternal:m,startAngle:g,endAngle:b}):y({cx:n,cy:o,innerRadius:u,outerRadius:l,startAngle:g,endAngle:b}),r.createElement("path",s({},(0,a.L6)(e,!0),{className:O,d:w,role:"img"}))}},67820:(t,e,n)=>{"use strict";n.d(e,{v:()=>q});var r=n(52085),o=n.n(r),i=n(72791);Math.abs,Math.atan2;const a=Math.cos,u=(Math.max,Math.min,Math.sin),c=Math.sqrt,l=Math.PI,s=2*l;const f={draw(t,e){const n=c(e/l);t.moveTo(n,0),t.arc(0,0,n,0,s)}},p={draw(t,e){const n=c(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},h=c(1/3),d=2*h,y={draw(t,e){const n=c(e/d),r=n*h;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},v={draw(t,e){const n=c(e),r=-n/2;t.rect(r,r,n,n)}},m=u(l/10)/u(7*l/10),g=u(s/10)*m,b=-a(s/10)*m,x={draw(t,e){const n=c(.8908130915292852*e),r=g*n,o=b*n;t.moveTo(0,-n),t.lineTo(r,o);for(let i=1;i<5;++i){const e=s*i/5,c=a(e),l=u(e);t.lineTo(l*n,-c*n),t.lineTo(c*r-l*o,l*r+c*o)}t.closePath()}},w=c(3),O={draw(t,e){const n=-c(e/(3*w));t.moveTo(0,2*n),t.lineTo(-w*n,-n),t.lineTo(w*n,-n),t.closePath()}},j=-.5,S=c(3)/2,E=1/c(12),A=3*(E/2+1),P={draw(t,e){const n=c(e/A),r=n/2,o=n*E,i=r,a=n*E+n,u=-i,l=a;t.moveTo(r,o),t.lineTo(i,a),t.lineTo(u,l),t.lineTo(j*r-S*o,S*r+j*o),t.lineTo(j*i-S*a,S*i+j*a),t.lineTo(j*u-S*l,S*u+j*l),t.lineTo(j*r+S*o,j*o-S*r),t.lineTo(j*i+S*a,j*a-S*i),t.lineTo(j*u+S*l,j*l-S*u),t.closePath()}};var k=n(487),M=n(25180);c(3),c(3);var T=n(81694),_=n.n(T),C=n(23031);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)}var D=["type","size","sizeType"];function I(){return I=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var U={symbolCircle:f,symbolCross:p,symbolDiamond:y,symbolSquare:v,symbolStar:x,symbolTriangle:O,symbolWye:P},F=Math.PI/180,q=function(t){var e=t.type,n=void 0===e?"circle":e,r=t.size,a=void 0===r?64:r,u=t.sizeType,c=void 0===u?"area":u,l=R(R({},z(t,D)),{},{type:n,size:a,sizeType:c}),s=l.className,p=l.cx,h=l.cy,d=(0,C.L6)(l,!0);return p===+p&&h===+h&&a===+a?i.createElement("path",I({},d,{className:_()("recharts-symbols",s),transform:"translate(".concat(p,", ").concat(h,")"),d:function(){var t=function(t){var e="symbol".concat(o()(t));return U[e]||f}(n),e=function(t,e){let n=null,r=(0,M.d)(o);function o(){let o;if(n||(n=o=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),o)return n=null,o+""||null}return t="function"===typeof t?t:(0,k.Z)(t||f),e="function"===typeof e?e:(0,k.Z)(void 0===e?64:+e),o.type=function(e){return arguments.length?(t="function"===typeof e?e:(0,k.Z)(e),o):t},o.size=function(t){return arguments.length?(e="function"===typeof t?t:(0,k.Z)(+t),o):e},o.context=function(t){return arguments.length?(n=null==t?null:t,o):n},o}().type(t).size(function(t,e,n){if("area"===e)return t;switch(n){case"cross":return 5*t*t/9;case"diamond":return.5*t*t/Math.sqrt(3);case"square":return t*t;case"star":var r=18*F;return 1.25*t*t*(Math.tan(r)-Math.tan(2*r)*Math.pow(Math.tan(r),2));case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}}(a,c,n));return e()}()})):null};q.registerSymbol=function(t,e){U["symbol".concat(o()(t))]=e}},95754:(t,e,n)=>{"use strict";n.d(e,{bn:()=>B,a3:()=>H,lT:()=>z,V$:()=>U,w7:()=>F});var r=n(18111),o=n.n(r),i=n(65127),a=n.n(i),u=n(93977),c=n.n(u),l=n(74786),s=n.n(l),f=n(72791),p=n(25185),h=n(81694),d=n.n(h),y=n(98202),v=n(23031);function m(t){return m="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},m(t)}function g(){return g=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0,from:{upperWidth:0,lowerWidth:0,height:s,x:a,y:u},to:{upperWidth:c,lowerWidth:l,height:s,x:a,y:u},duration:m,animationEasing:h,isActive:w},(function(t){var r=t.upperWidth,i=t.lowerWidth,a=t.height,u=t.x,c=t.y;return f.createElement(y.ZP,{canBegin:o>0,from:"0px ".concat(-1===o?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:x,duration:m,easing:h},f.createElement("path",g({},(0,v.L6)(e,!0),{className:j,d:S(u,c,r,i,a),ref:n})))})):f.createElement("g",null,f.createElement("path",g({},(0,v.L6)(e,!0),{className:j,d:S(a,u,c,l,s)})))},P=n(96295),k=n(46044),M=n(67820),T=["option","shapeType","propTransformer","activeClassName","isActive"];function _(t){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_(t)}function C(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function N(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function D(t){for(var e=1;e{"use strict";n.d(e,{Ky:()=>w,O1:()=>g,_b:()=>b,t9:()=>m,xE:()=>O});var r=n(82730),o=n.n(r),i=n(37702),a=n.n(i),u=n(73822),c=n(23031),l=n(70587),s=n(23782);function f(t){return f="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},f(t)}function p(t,e){for(var n=0;n0&&(k=Math.min((t||0)-(M[e-1]||0),k))}));var T=k/P,_="vertical"===b.layout?n.height:n.width;if("gap"===b.padding&&(c=T*_/2),"no-gap"===b.padding){var C=(0,l.h1)(t.barCategoryGap,T*_),N=T*_/2;c=N-C-(N-C)/_*C}}s="xAxis"===r?[n.left+(j.left||0)+(c||0),n.left+n.width-(j.right||0)-(c||0)]:"yAxis"===r?"horizontal"===f?[n.top+n.height-(j.bottom||0),n.top+(j.top||0)]:[n.top+(j.top||0)+(c||0),n.top+n.height-(j.bottom||0)-(c||0)]:b.range,E&&(s=[s[1],s[0]]);var D=(0,u.Hq)(b,o,m),I=D.scale,L=D.realScaleType;I.domain(w).range(s),(0,u.zF)(I);var R=(0,u.g$)(I,d(d({},b),{},{realScaleType:L}));"xAxis"===r?(g="top"===x&&!S||"bottom"===x&&S,p=n.left,h=v[A]-g*b.height):"yAxis"===r&&(g="left"===x&&!S||"right"===x&&S,p=v[A]-g*b.width,h=n.top);var B=d(d(d({},b),R),{},{realScaleType:L,x:p,y:h,scale:I,width:"xAxis"===r?n.width:b.width,height:"yAxis"===r?n.height:b.height});return B.bandSize=(0,u.zT)(B,R),b.hide||"xAxis"!==r?b.hide||(v[A]+=(g?-1:1)*B.width):v[A]+=(g?-1:1)*B.height,d(d({},i),{},y({},a,B))}),{})},g=function(t,e){var n=t.x,r=t.y,o=e.x,i=e.y;return{x:Math.min(n,o),y:Math.min(r,i),width:Math.abs(o-n),height:Math.abs(i-r)}},b=function(t){var e=t.x1,n=t.y1,r=t.x2,o=t.y2;return g({x:e,y:n},{x:r,y:o})},x=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.scale=e}var e,n,r;return e=t,n=[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.bandAware,r=e.position;if(void 0!==t){if(r)switch(r){case"start":default:return this.scale(t);case"middle":var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+o;case"end":var i=this.bandwidth?this.bandwidth():0;return this.scale(t)+i}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+a}return this.scale(t)}}},{key:"isInRange",value:function(t){var e=this.range(),n=e[0],r=e[e.length-1];return n<=r?t>=n&&t<=r:t>=r&&t<=n}}],r=[{key:"create",value:function(e){return new t(e)}}],n&&p(e.prototype,n),r&&p(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();y(x,"EPS",1e-4);var w=function(t){var e=Object.keys(t).reduce((function(e,n){return d(d({},e),{},y({},n,x.create(t[n])))}),{});return d(d({},e),{},{apply:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.bandAware,o=n.position;return a()(t,(function(t,n){return e[n].apply(t,{bandAware:r,position:o})}))},isInRange:function(t){return o()(t,(function(t,n){return e[n].isInRange(t)}))}})};var O=function(t){var e=t.width,n=t.height,r=function(t){return(t%180+180)%180}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0),o=r*Math.PI/180,i=Math.atan(n/e),a=o>i&&o{"use strict";n.d(e,{By:()=>ji,VO:()=>bi,zF:()=>Ni,DO:()=>Ti,Bu:()=>Di,zT:()=>Vi,qz:()=>Oi,pt:()=>wi,Yj:()=>qi,Fy:()=>Fi,Hv:()=>Ui,Rf:()=>ki,gF:()=>gi,s6:()=>Ai,EB:()=>Gi,fk:()=>xi,wh:()=>Bi,O3:()=>Wi,uY:()=>Mi,g$:()=>zi,Qo:()=>$i,F$:()=>mi,NA:()=>Pi,ko:()=>Zi,ZI:()=>Ei,Hq:()=>_i,LG:()=>Yi,Vv:()=>Ii});var r={};n.r(r),n.d(r,{scaleBand:()=>k.Z,scaleDiverging:()=>So,scaleDivergingLog:()=>Eo,scaleDivergingPow:()=>Po,scaleDivergingSqrt:()=>ko,scaleDivergingSymlog:()=>Ao,scaleIdentity:()=>ye,scaleImplicit:()=>Me.O,scaleLinear:()=>de,scaleLog:()=>Se,scaleOrdinal:()=>Me.Z,scalePoint:()=>k.x,scalePow:()=>De,scaleQuantile:()=>Xe,scaleQuantize:()=>Ye,scaleRadial:()=>Re,scaleSequential:()=>mo,scaleSequentialLog:()=>go,scaleSequentialPow:()=>xo,scaleSequentialQuantile:()=>Oo,scaleSequentialSqrt:()=>wo,scaleSequentialSymlog:()=>bo,scaleSqrt:()=>Ie,scaleSymlog:()=>ke,scaleThreshold:()=>Ve,scaleTime:()=>po,scaleUtc:()=>ho,tickFormat:()=>pe});var o=n(18111),i=n.n(o),a=n(64286),u=n.n(a),c=n(52085),l=n.n(c),s=n(26769),f=n.n(s),p=n(82066),h=n.n(p),d=n(93629),y=n.n(d),v=n(29627),m=n.n(v),g=n(66452),b=n.n(g),x=n(5008),w=n.n(x),O=n(74786),j=n.n(O),S=n(26181),E=n.n(S),A=n(42854),P=n.n(A),k=n(4700);const M=Math.sqrt(50),T=Math.sqrt(10),_=Math.sqrt(2);function C(t,e,n){const r=(e-t)/Math.max(0,n),o=Math.floor(Math.log10(r)),i=r/Math.pow(10,o),a=i>=M?10:i>=T?5:i>=_?2:1;let u,c,l;return o<0?(l=Math.pow(10,-o)/a,u=Math.round(t*l),c=Math.round(e*l),u/le&&--c,l=-l):(l=Math.pow(10,o)*a,u=Math.round(t/l),c=Math.round(e/l),u*le&&--c),c0))return[];if((t=+t)===(e=+e))return[t];const r=e=o))return[];const u=i-o+1,c=new Array(u);if(r)if(a<0)for(let l=0;le?1:t>=e?0:NaN}function R(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function B(t){let e,n,r;function o(t,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length;if(o>>1;n(t[e],r)<0?o=e+1:i=e}while(oL(t(e),n),r=(e,n)=>t(e)-n):(e=t===L||t===R?t:z,n=t,r=t),{left:o,center:function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const i=o(t,e,n,(arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length)-1);return i>n&&r(t[i-1],e)>-r(t[i],e)?i-1:i},right:function(t,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length;if(o>>1;n(t[e],r)<=0?o=e+1:i=e}while(o>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?st(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?st(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Q.exec(t))?new pt(e[1],e[2],e[3],1):(e=tt.exec(t))?new pt(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=et.exec(t))?st(e[1],e[2],e[3],e[4]):(e=nt.exec(t))?st(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=rt.exec(t))?gt(e[1],e[2]/100,e[3]/100,1):(e=ot.exec(t))?gt(e[1],e[2]/100,e[3]/100,e[4]):it.hasOwnProperty(t)?lt(it[t]):"transparent"===t?new pt(NaN,NaN,NaN,0):null}function lt(t){return new pt(t>>16&255,t>>8&255,255&t,1)}function st(t,e,n,r){return r<=0&&(t=e=n=NaN),new pt(t,e,n,r)}function ft(t,e,n,r){return 1===arguments.length?((o=t)instanceof X||(o=ct(o)),o?new pt((o=o.rgb()).r,o.g,o.b,o.opacity):new pt):new pt(t,e,n,null==r?1:r);var o}function pt(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function ht(){return"#".concat(mt(this.r)).concat(mt(this.g)).concat(mt(this.b))}function dt(){const t=yt(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(vt(this.r),", ").concat(vt(this.g),", ").concat(vt(this.b)).concat(1===t?")":", ".concat(t,")"))}function yt(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function vt(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function mt(t){return((t=vt(t))<16?"0":"")+t.toString(16)}function gt(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new xt(t,e,n,r)}function bt(t){if(t instanceof xt)return new xt(t.h,t.s,t.l,t.opacity);if(t instanceof X||(t=ct(t)),!t)return new xt;if(t instanceof xt)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),a=NaN,u=i-o,c=(i+o)/2;return u?(a=e===i?(n-r)/u+6*(n0&&c<1?0:a,new xt(a,u,c,t.opacity)}function xt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function wt(t){return(t=(t||0)%360)<0?t+360:t}function Ot(t){return Math.max(0,Math.min(1,t||0))}function jt(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function St(t,e,n,r,o){var i=t*t,a=i*t;return((1-3*t+3*i-a)*e+(4-6*i+3*a)*n+(1+3*t+3*i-3*a)*r+a*o)/6}G(X,ct,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:at,formatHex:at,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return bt(this).formatHsl()},formatRgb:ut,toString:ut}),G(pt,ft,H(X,{brighter(t){return t=null==t?V:Math.pow(V,t),new pt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Y:Math.pow(Y,t),new pt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new pt(vt(this.r),vt(this.g),vt(this.b),yt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ht,formatHex:ht,formatHex8:function(){return"#".concat(mt(this.r)).concat(mt(this.g)).concat(mt(this.b)).concat(mt(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:dt,toString:dt})),G(xt,(function(t,e,n,r){return 1===arguments.length?bt(t):new xt(t,e,n,null==r?1:r)}),H(X,{brighter(t){return t=null==t?V:Math.pow(V,t),new xt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Y:Math.pow(Y,t),new xt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new pt(jt(t>=240?t-240:t+120,o,r),jt(t,o,r),jt(t<120?t+240:t-120,o,r),this.opacity)},clamp(){return new xt(wt(this.h),Ot(this.s),Ot(this.l),yt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=yt(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(wt(this.h),", ").concat(100*Ot(this.s),"%, ").concat(100*Ot(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));const Et=t=>()=>t;function At(t,e){return function(n){return t+n*e}}function Pt(t){return 1===(t=+t)?kt:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):Et(isNaN(e)?n:e)}}function kt(t,e){var n=e-t;return n?At(t,n):Et(isNaN(t)?e:t)}const Mt=function t(e){var n=Pt(e);function r(t,e){var r=n((t=ft(t)).r,(e=ft(e)).r),o=n(t.g,e.g),i=n(t.b,e.b),a=kt(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=o(e),t.b=i(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function Tt(t){return function(e){var n,r,o=e.length,i=new Array(o),a=new Array(o),u=new Array(o);for(n=0;n=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],a=r>0?t[r-1]:2*o-i,u=ri&&(o=e.slice(i,o),u[a]?u[a]+=o:u[++a]=o),(n=n[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,c.push({i:a,x:Nt(n,r)})),i=Lt.lastIndex;return ie&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}(a[0],a[t-1])),r=t>2?Xt:Ht,o=i=null,f}function f(e){return null==e||isNaN(e=+e)?n:(o||(o=r(a.map(t),u,c)))(t(l(e)))}return f.invert=function(n){return l(e((i||(i=r(u,a.map(t),Nt)))(n)))},f.domain=function(t){return arguments.length?(a=Array.from(t,Ft),s()):a.slice()},f.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},f.rangeRound=function(t){return u=Array.from(t),c=Ut,s()},f.clamp=function(t){return arguments.length?(l=!!t||Wt,s()):l!==Wt},f.interpolate=function(t){return arguments.length?(c=t,s()):c},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,s()}}function Zt(){return Vt()(Wt,Wt)}var $t,Kt=n(10507),Jt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Qt(t){if(!(e=Jt.exec(t)))throw new Error("invalid format: "+t);var e;return new te({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function te(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function ee(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function ne(t){return(t=ee(Math.abs(t)))?t[1]:NaN}function re(t,e){var n=ee(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}Qt.prototype=te.prototype,te.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const oe={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>re(100*t,e),r:re,s:function(t,e){var n=ee(t,e);if(!n)return t+"";var r=n[0],o=n[1],i=o-($t=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,a=r.length;return i===a?r:i>a?r+new Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ee(t,Math.max(0,e+i-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function ie(t){return t}var ae,ue,ce,le=Array.prototype.map,se=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function fe(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?ie:(e=le.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var o=t.length,i=[],a=0,u=e[0],c=0;o>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),i.push(t.substring(o-=u,o+u)),!((c+=u+1)>r));)u=e[a=(a+1)%e.length];return i.reverse().join(n)}),o=void 0===t.currency?"":t.currency[0]+"",i=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?ie:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(le.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",l=void 0===t.minus?"\u2212":t.minus+"",s=void 0===t.nan?"NaN":t.nan+"";function f(t){var e=(t=Qt(t)).fill,n=t.align,f=t.sign,p=t.symbol,h=t.zero,d=t.width,y=t.comma,v=t.precision,m=t.trim,g=t.type;"n"===g?(y=!0,g="g"):oe[g]||(void 0===v&&(v=12),m=!0,g="g"),(h||"0"===e&&"="===n)&&(h=!0,e="0",n="=");var b="$"===p?o:"#"===p&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",x="$"===p?i:/[%p]/.test(g)?c:"",w=oe[g],O=/[defgprs%]/.test(g);function j(t){var o,i,c,p=b,j=x;if("c"===g)j=w(t)+j,t="";else{var S=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:w(Math.abs(t),v),m&&(t=function(t){t:for(var e,n=t.length,r=1,o=-1;r0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}(t)),S&&0===+t&&"+"!==f&&(S=!1),p=(S?"("===f?f:l:"-"===f||"("===f?"":f)+p,j=("s"===g?se[8+$t/3]:"")+j+(S&&"("===f?")":""),O)for(o=-1,i=t.length;++o(c=t.charCodeAt(o))||c>57){j=(46===c?a+t.slice(o+1):t.slice(o))+j,t=t.slice(0,o);break}}y&&!h&&(t=r(t,1/0));var E=p.length+t.length+j.length,A=E>1)+p+t+j+A.slice(E);break;default:t=A+p+t+j}return u(t)}return v=void 0===v?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),j.toString=function(){return t+""},j}return{format:f,formatPrefix:function(t,e){var n=f(((t=Qt(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(ne(e)/3))),o=Math.pow(10,-r),i=se[8+r/3];return function(t){return n(o*t)+i}}}}function pe(t,e,n,r){var o,i=I(t,e,n);switch((r=Qt(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(o=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ne(e)/3)))-ne(Math.abs(t)))}(i,a))||(r.precision=o),ce(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(o=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ne(e)-ne(t))+1}(i,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=o-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(o=function(t){return Math.max(0,-ne(Math.abs(t)))}(i))||(r.precision=o-2*("%"===r.type))}return ue(r)}function he(t){var e=t.domain;return t.ticks=function(t){var n=e();return N(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return pe(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,o,i=e(),a=0,u=i.length-1,c=i[a],l=i[u],s=10;for(l0;){if((o=D(c,l,n))===r)return i[a]=c,i[u]=l,e(i);if(o>0)c=Math.floor(c/o)*o,l=Math.ceil(l/o)*o;else{if(!(o<0))break;c=Math.ceil(c*o)/o,l=Math.floor(l*o)/o}r=o}return t},t}function de(){var t=Zt();return t.copy=function(){return Yt(t,de())},Kt.o.apply(t,arguments),he(t)}function ye(t){var e;function n(t){return null==t||isNaN(t=+t)?e:t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Array.from(e,Ft),n):t.slice()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return ye(t).unknown(e)},t=arguments.length?Array.from(t,Ft):[0,1],he(n)}function ve(t,e){var n,r=0,o=(t=t.slice()).length-1,i=t[r],a=t[o];return a-t(-e,n)}function je(t){const e=t(me,ge),n=e.domain;let r,o,i=10;function a(){return r=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}(i),o=function(t){return 10===t?we:t===Math.E?Math.exp:e=>Math.pow(t,e)}(i),n()[0]<0?(r=Oe(r),o=Oe(o),t(be,xe)):t(me,ge),e}return e.base=function(t){return arguments.length?(i=+t,a()):i},e.domain=function(t){return arguments.length?(n(t),a()):n()},e.ticks=t=>{const e=n();let a=e[0],u=e[e.length-1];const c=u0){for(;f<=p;++f)for(l=1;lu)break;d.push(s)}}else for(;f<=p;++f)for(l=i-1;l>=1;--l)if(s=f>0?l/o(-f):l*o(f),!(su)break;d.push(s)}2*d.length{if(null==t&&(t=10),null==n&&(n=10===i?"s":","),"function"!==typeof n&&(i%1||null!=(n=Qt(n)).precision||(n.trim=!0),n=ue(n)),t===1/0)return n;const a=Math.max(1,i*t/e.ticks().length);return t=>{let e=t/o(Math.round(r(t)));return e*in(ve(n(),{floor:t=>o(Math.floor(r(t))),ceil:t=>o(Math.ceil(r(t)))})),e}function Se(){const t=je(Vt()).domain([1,10]);return t.copy=()=>Yt(t,Se()).base(t.base()),Kt.o.apply(t,arguments),t}function Ee(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Ae(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Pe(t){var e=1,n=t(Ee(e),Ae(e));return n.constant=function(n){return arguments.length?t(Ee(e=+n),Ae(e)):e},he(n)}function ke(){var t=Pe(Vt());return t.copy=function(){return Yt(t,ke()).constant(t.constant())},Kt.o.apply(t,arguments)}ae=fe({thousands:",",grouping:[3],currency:["$",""]}),ue=ae.format,ce=ae.formatPrefix;var Me=n(63482);function Te(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function _e(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Ce(t){return t<0?-t*t:t*t}function Ne(t){var e=t(Wt,Wt),n=1;return e.exponent=function(e){return arguments.length?1===(n=+e)?t(Wt,Wt):.5===n?t(_e,Ce):t(Te(n),Te(1/n)):n},he(e)}function De(){var t=Ne(Vt());return t.copy=function(){return Yt(t,De()).exponent(t.exponent())},Kt.o.apply(t,arguments),t}function Ie(){return De.apply(null,arguments).exponent(.5)}function Le(t){return Math.sign(t)*t*t}function Re(){var t,e=Zt(),n=[0,1],r=!1;function o(n){var o=function(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}(e(n));return isNaN(o)?t:r?Math.round(o):o}return o.invert=function(t){return e.invert(Le(t))},o.domain=function(t){return arguments.length?(e.domain(t),o):e.domain()},o.range=function(t){return arguments.length?(e.range((n=Array.from(t,Ft)).map(Le)),o):n.slice()},o.rangeRound=function(t){return o.range(t).round(!0)},o.round=function(t){return arguments.length?(r=!!t,o):r},o.clamp=function(t){return arguments.length?(e.clamp(t),o):e.clamp()},o.unknown=function(e){return arguments.length?(t=e,o):t},o.copy=function(){return Re(e.domain(),n).round(r).clamp(e.clamp()).unknown(t)},Kt.o.apply(o,arguments),he(o)}function Be(t,e){let n;if(void 0===e)for(const r of t)null!=r&&(n=r)&&(n=r);else{let r=-1;for(let o of t)null!=(o=e(o,++r,t))&&(n=o)&&(n=o)}return n}function ze(t,e){let n;if(void 0===e)for(const r of t)null!=r&&(n>r||void 0===n&&r>=r)&&(n=r);else{let r=-1;for(let o of t)null!=(o=e(o,++r,t))&&(n>o||void 0===n&&o>=o)&&(n=o)}return n}function Ue(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L;if(t===L)return Fe;if("function"!==typeof t)throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||0===r?r:(0===t(n,n))-(0===t(e,e))}}function Fe(t,e){return(null==t||!(t>=t))-(null==e||!(e>=e))||(te?1:0)}function qe(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,o=arguments.length>4?arguments[4]:void 0;if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(o=void 0===o?Fe:Ue(o);r>n;){if(r-n>600){const i=r-n+1,a=e-n+1,u=Math.log(i),c=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*c*(i-c)/i)*(a-i/2<0?-1:1);qe(t,e,Math.max(n,Math.floor(e-a*c/i+l)),Math.min(r,Math.floor(e+(i-a)*c/i+l)),o)}const i=t[e];let a=n,u=r;for(We(t,n,e),o(t[r],i)>0&&We(t,n,r);a0;)--u}0===o(t[n],i)?We(t,n,u):(++u,We(t,u,r)),u<=e&&(n=u+1),e<=u&&(r=u-1)}return t}function We(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Ge(t,e,n){if(t=Float64Array.from(function*(t,e){if(void 0===e)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of t)null!=(r=e(r,++n,t))&&(r=+r)>=r&&(yield r)}}(t,n)),(r=t.length)&&!isNaN(e=+e)){if(e<=0||r<2)return ze(t);if(e>=1)return Be(t);var r,o=(r-1)*e,i=Math.floor(o),a=Be(qe(t,i).subarray(0,i+1));return a+(ze(t.subarray(i+1))-a)*(o-i)}}function He(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:U;if((r=t.length)&&!isNaN(e=+e)){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),a=+n(t[i],i,t);return a+(+n(t[i+1],i+1,t)-a)*(o-i)}}function Xe(){var t,e=[],n=[],r=[];function o(){var t=0,o=Math.max(1,n.length);for(r=new Array(o-1);++t0?r[o-1]:e[0],o=r?[o[r-1],n]:[o[a-1],o[a]]},a.unknown=function(e){return arguments.length?(t=e,a):a},a.thresholds=function(){return o.slice()},a.copy=function(){return Ye().domain([e,n]).range(i).unknown(t)},Kt.o.apply(he(a),arguments)}function Ve(){var t,e=[.5],n=[0,1],r=1;function o(o){return null!=o&&o<=o?n[W(e,o,0,r)]:t}return o.domain=function(t){return arguments.length?(e=Array.from(t),r=Math.min(e.length,n.length-1),o):e.slice()},o.range=function(t){return arguments.length?(n=Array.from(t),r=Math.min(e.length,n.length-1),o):n.slice()},o.invertExtent=function(t){var r=n.indexOf(t);return[e[r-1],e[r]]},o.unknown=function(e){return arguments.length?(t=e,o):t},o.copy=function(){return Ve().domain(e).range(n).unknown(t)},Kt.o.apply(o,arguments)}const Ze=1e3,$e=6e4,Ke=36e5,Je=864e5,Qe=6048e5,tn=2592e6,en=31536e6,nn=new Date,rn=new Date;function on(t,e,n,r){function o(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return o.floor=e=>(t(e=new Date(+e)),e),o.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),o.round=t=>{const e=o(t),n=o.ceil(t);return t-e(e(t=new Date(+t),null==n?1:Math.floor(n)),t),o.range=(n,r,i)=>{const a=[];if(n=o.ceil(n),i=null==i?1:Math.floor(i),!(n0))return a;let u;do{a.push(u=new Date(+n)),e(n,i),t(n)}while(uon((e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})),n&&(o.count=(e,r)=>(nn.setTime(+e),rn.setTime(+r),t(nn),t(rn),Math.floor(n(nn,rn))),o.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?o.filter(r?e=>r(e)%t===0:e=>o.count(0,e)%t===0):o:null)),o}const an=on((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));an.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?on((e=>{e.setTime(Math.floor(e/t)*t)}),((e,n)=>{e.setTime(+e+n*t)}),((e,n)=>(n-e)/t)):an:null);an.range;const un=on((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*Ze)}),((t,e)=>(e-t)/Ze),(t=>t.getUTCSeconds())),cn=(un.range,on((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Ze)}),((t,e)=>{t.setTime(+t+e*$e)}),((t,e)=>(e-t)/$e),(t=>t.getMinutes()))),ln=(cn.range,on((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*$e)}),((t,e)=>(e-t)/$e),(t=>t.getUTCMinutes()))),sn=(ln.range,on((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Ze-t.getMinutes()*$e)}),((t,e)=>{t.setTime(+t+e*Ke)}),((t,e)=>(e-t)/Ke),(t=>t.getHours()))),fn=(sn.range,on((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*Ke)}),((t,e)=>(e-t)/Ke),(t=>t.getUTCHours()))),pn=(fn.range,on((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$e)/Je),(t=>t.getDate()-1))),hn=(pn.range,on((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/Je),(t=>t.getUTCDate()-1))),dn=(hn.range,on((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/Je),(t=>Math.floor(t/Je))));dn.range;function yn(t){return on((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*$e)/Qe))}const vn=yn(0),mn=yn(1),gn=yn(2),bn=yn(3),xn=yn(4),wn=yn(5),On=yn(6);vn.range,mn.range,gn.range,bn.range,xn.range,wn.range,On.range;function jn(t){return on((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/Qe))}const Sn=jn(0),En=jn(1),An=jn(2),Pn=jn(3),kn=jn(4),Mn=jn(5),Tn=jn(6),_n=(Sn.range,En.range,An.range,Pn.range,kn.range,Mn.range,Tn.range,on((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()))),Cn=(_n.range,on((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()))),Nn=(Cn.range,on((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear())));Nn.every=t=>isFinite(t=Math.floor(t))&&t>0?on((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,n)=>{e.setFullYear(e.getFullYear()+n*t)})):null;Nn.range;const Dn=on((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));Dn.every=t=>isFinite(t=Math.floor(t))&&t>0?on((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null;Dn.range;function In(t,e,n,r,o,i){const a=[[un,1,Ze],[un,5,5e3],[un,15,15e3],[un,30,3e4],[i,1,$e],[i,5,3e5],[i,15,9e5],[i,30,18e5],[o,1,Ke],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,Je],[r,2,1728e5],[n,1,Qe],[e,1,tn],[e,3,7776e6],[t,1,en]];function u(e,n,r){const o=Math.abs(n-e)/r,i=B((t=>{let[,,e]=t;return e})).right(a,o);if(i===a.length)return t.every(I(e/en,n/en,r));if(0===i)return an.every(Math.max(I(e,n,r),1));const[u,c]=a[o/a[i-1][2][t.toLowerCase(),e])))}function tr(t,e,n){var r=Yn.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function er(t,e,n){var r=Yn.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function nr(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function rr(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function or(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function ir(t,e,n){var r=Yn.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ar(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ur(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function cr(t,e,n){var r=Yn.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function lr(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function sr(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function fr(t,e,n){var r=Yn.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function pr(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function hr(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function dr(t,e,n){var r=Yn.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function yr(t,e,n){var r=Yn.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function vr(t,e,n){var r=Yn.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function mr(t,e,n){var r=Vn.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function gr(t,e,n){var r=Yn.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function br(t,e,n){var r=Yn.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function xr(t,e){return $n(t.getDate(),e,2)}function wr(t,e){return $n(t.getHours(),e,2)}function Or(t,e){return $n(t.getHours()%12||12,e,2)}function jr(t,e){return $n(1+pn.count(Nn(t),t),e,3)}function Sr(t,e){return $n(t.getMilliseconds(),e,3)}function Er(t,e){return Sr(t,e)+"000"}function Ar(t,e){return $n(t.getMonth()+1,e,2)}function Pr(t,e){return $n(t.getMinutes(),e,2)}function kr(t,e){return $n(t.getSeconds(),e,2)}function Mr(t){var e=t.getDay();return 0===e?7:e}function Tr(t,e){return $n(vn.count(Nn(t)-1,t),e,2)}function _r(t){var e=t.getDay();return e>=4||0===e?xn(t):xn.ceil(t)}function Cr(t,e){return t=_r(t),$n(xn.count(Nn(t),t)+(4===Nn(t).getDay()),e,2)}function Nr(t){return t.getDay()}function Dr(t,e){return $n(mn.count(Nn(t)-1,t),e,2)}function Ir(t,e){return $n(t.getFullYear()%100,e,2)}function Lr(t,e){return $n((t=_r(t)).getFullYear()%100,e,2)}function Rr(t,e){return $n(t.getFullYear()%1e4,e,4)}function Br(t,e){var n=t.getDay();return $n((t=n>=4||0===n?xn(t):xn.ceil(t)).getFullYear()%1e4,e,4)}function zr(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+$n(e/60|0,"0",2)+$n(e%60,"0",2)}function Ur(t,e){return $n(t.getUTCDate(),e,2)}function Fr(t,e){return $n(t.getUTCHours(),e,2)}function qr(t,e){return $n(t.getUTCHours()%12||12,e,2)}function Wr(t,e){return $n(1+hn.count(Dn(t),t),e,3)}function Gr(t,e){return $n(t.getUTCMilliseconds(),e,3)}function Hr(t,e){return Gr(t,e)+"000"}function Xr(t,e){return $n(t.getUTCMonth()+1,e,2)}function Yr(t,e){return $n(t.getUTCMinutes(),e,2)}function Vr(t,e){return $n(t.getUTCSeconds(),e,2)}function Zr(t){var e=t.getUTCDay();return 0===e?7:e}function $r(t,e){return $n(Sn.count(Dn(t)-1,t),e,2)}function Kr(t){var e=t.getUTCDay();return e>=4||0===e?kn(t):kn.ceil(t)}function Jr(t,e){return t=Kr(t),$n(kn.count(Dn(t),t)+(4===Dn(t).getUTCDay()),e,2)}function Qr(t){return t.getUTCDay()}function to(t,e){return $n(En.count(Dn(t)-1,t),e,2)}function eo(t,e){return $n(t.getUTCFullYear()%100,e,2)}function no(t,e){return $n((t=Kr(t)).getUTCFullYear()%100,e,2)}function ro(t,e){return $n(t.getUTCFullYear()%1e4,e,4)}function oo(t,e){var n=t.getUTCDay();return $n((t=n>=4||0===n?kn(t):kn.ceil(t)).getUTCFullYear()%1e4,e,4)}function io(){return"+0000"}function ao(){return"%"}function uo(t){return+t}function co(t){return Math.floor(+t/1e3)}function lo(t){return new Date(t)}function so(t){return t instanceof Date?+t:+new Date(+t)}function fo(t,e,n,r,o,i,a,u,c,l){var s=Zt(),f=s.invert,p=s.domain,h=l(".%L"),d=l(":%S"),y=l("%I:%M"),v=l("%I %p"),m=l("%a %d"),g=l("%b %d"),b=l("%B"),x=l("%Y");function w(t){return(c(t)e(r/(t.length-1))))},n.quantiles=function(e){return Array.from({length:e+1},((n,r)=>Ge(t,r/e)))},n.copy=function(){return Oo(e).domain(t)},Kt.O.apply(n,arguments)}function jo(){var t,e,n,r,o,i,a,u=0,c=.5,l=1,s=1,f=Wt,p=!1;function h(t){return isNaN(t=+t)?a:(t=.5+((t=+i(t))-e)*(s*t1)for(var n,r,o,i=1,a=t[e[0]],u=a.length;i=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:uo,s:co,S:kr,u:Mr,U:Tr,V:Cr,w:Nr,W:Dr,x:null,X:null,y:Ir,Y:Rr,Z:zr,"%":ao},x={a:function(t){return a[t.getUTCDay()]},A:function(t){return i[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:Ur,e:Ur,f:Hr,g:no,G:oo,H:Fr,I:qr,j:Wr,L:Gr,m:Xr,M:Yr,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:uo,s:co,S:Vr,u:Zr,U:$r,V:Jr,w:Qr,W:to,x:null,X:null,y:eo,Y:ro,Z:io,"%":ao},w={a:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=p.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return S(t,e,n,r)},d:sr,e:sr,f:vr,g:ar,G:ir,H:pr,I:pr,j:fr,L:yr,m:lr,M:hr,p:function(t,e,n){var r=l.exec(e.slice(n));return r?(t.p=s.get(r[0].toLowerCase()),n+r[0].length):-1},q:cr,Q:gr,s:br,S:dr,u:er,U:nr,V:rr,w:tr,W:or,x:function(t,e,r){return S(t,n,e,r)},X:function(t,e,n){return S(t,r,e,n)},y:ar,Y:ir,Z:ur,"%":mr};function O(t,e){return function(n){var r,o,i,a=[],u=-1,c=0,l=t.length;for(n instanceof Date||(n=new Date(+n));++u53)return null;"w"in i||(i.w=1),"Z"in i?(o=(r=Fn(qn(i.y,0,1))).getUTCDay(),r=o>4||0===o?En.ceil(r):En(r),r=hn.offset(r,7*(i.V-1)),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(o=(r=Un(qn(i.y,0,1))).getDay(),r=o>4||0===o?mn.ceil(r):mn(r),r=pn.offset(r,7*(i.V-1)),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?Fn(qn(i.y,0,1)).getUTCDay():Un(qn(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,Fn(i)):Un(i)}}function S(t,e,n,r){for(var o,i,a=0,u=e.length,c=n.length;a=c)return-1;if(37===(o=e.charCodeAt(a++))){if(o=e.charAt(a++),!(i=w[o in Xn?e.charAt(a++):o])||(r=i(t,n,r))<0)return-1}else if(o!=n.charCodeAt(r++))return-1}return r}return b.x=O(n,b),b.X=O(r,b),b.c=O(e,b),x.x=O(n,x),x.X=O(r,x),x.c=O(e,x),{format:function(t){var e=O(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=j(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=O(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=j(t+="",!0);return e.toString=function(){return t},e}}}(t),Gn=Wn.format,Wn.parse,Hn=Wn.utcFormat,Wn.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var To=n(21988),_o=n(487);function Co(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function No(t,e){return t[e]}function Do(t){const e=[];return e.key=t,e}var Io=n(4234),Lo=n.n(Io);function Ro(t){return function(t){if(Array.isArray(t))return Bo(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return Bo(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bo(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bo(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=e?n.apply(void 0,o):t(e-a,qo((function(){for(var t=arguments.length,e=new Array(t),r=0;rt.length)&&(e=t.length);for(var n=0,r=new Array(e);nr&&(o=r,i=n),[o,i]}function ni(t,e,n){if(t.lte(0))return new(Lo())(0);var r=$o.getDigitCount(t.toNumber()),o=new(Lo())(10).pow(r),i=t.div(o),a=1!==r?.05:.1,u=new(Lo())(Math.ceil(i.div(a).toNumber())).add(n).mul(a).mul(o);return e?u:new(Lo())(Math.ceil(u))}function ri(t,e,n){var r=1,o=new(Lo())(t);if(!o.isint()&&n){var i=Math.abs(t);i<1?(r=new(Lo())(10).pow($o.getDigitCount(t)-1),o=new(Lo())(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new(Lo())(Math.floor(t)))}else 0===t?o=new(Lo())(Math.floor((e-1)/2)):n||(o=new(Lo())(Math.floor(t)));var a=Math.floor((e-1)/2);return Yo(Xo((function(t){return o.add(new(Lo())(t-a).mul(r)).toNumber()})),Ho)(0,e)}function oi(t,e,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!Number.isFinite((e-t)/(n-1)))return{step:new(Lo())(0),tickMin:new(Lo())(0),tickMax:new(Lo())(0)};var i,a=ni(new(Lo())(e).sub(t).div(n-1),r,o);i=t<=0&&e>=0?new(Lo())(0):(i=new(Lo())(t).add(e).div(2)).sub(new(Lo())(i).mod(a));var u=Math.ceil(i.sub(t).div(a).toNumber()),c=Math.ceil(new(Lo())(e).sub(i).div(a).toNumber()),l=u+c+1;return l>n?oi(t,e,n,r,o+1):(l0?c+(n-l):c,u=e>0?u:u+(n-l)),{step:a,tickMin:i.sub(new(Lo())(u).mul(a)),tickMax:i.add(new(Lo())(c).mul(a))})}var ii=Zo((function(t){var e=Jo(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Math.max(o,2),u=Jo(ei([n,r]),2),c=u[0],l=u[1];if(c===-1/0||l===1/0){var s=l===1/0?[c].concat(Ko(Ho(0,o-1).map((function(){return 1/0})))):[].concat(Ko(Ho(0,o-1).map((function(){return-1/0}))),[l]);return n>r?Vo(s):s}if(c===l)return ri(c,o,i);var f=oi(c,l,a,i),p=f.step,h=f.tickMin,d=f.tickMax,y=$o.rangeStep(h,d.add(new(Lo())(.1).mul(p)),p);return n>r?Vo(y):y})),ai=(Zo((function(t){var e=Jo(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Math.max(o,2),u=Jo(ei([n,r]),2),c=u[0],l=u[1];if(c===-1/0||l===1/0)return[n,r];if(c===l)return ri(c,o,i);var s=ni(new(Lo())(l).sub(c).div(a-1),i,0),f=Yo(Xo((function(t){return new(Lo())(c).add(new(Lo())(t).mul(s)).toNumber()})),Ho)(0,a).filter((function(t){return t>=c&&t<=l}));return n>r?Vo(f):f})),Zo((function(t,e){var n=Jo(t,2),r=n[0],o=n[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Jo(ei([r,o]),2),u=a[0],c=a[1];if(u===-1/0||c===1/0)return[r,o];if(u===c)return[u];var l=Math.max(e,2),s=ni(new(Lo())(c).sub(u).div(l-1),i,0),f=[].concat(Ko($o.rangeStep(new(Lo())(u),new(Lo())(c).sub(new(Lo())(.99).mul(s)),s)),[c]);return r>o?Vo(f):f}))),ui=n(85992),ci=n(70587),li=n(23031),si=n(60012);function fi(t){return fi="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},fi(t)}function pi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function hi(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=-1,a=null!==(e=null===n||void 0===n?void 0:n.length)&&void 0!==e?e:0;if(a<=1)return 0;if(o&&"angleAxis"===o.axisType&&Math.abs(Math.abs(o.range[1]-o.range[0])-360)<=1e-6)for(var u=o.range,c=0;c0?r[c-1].coordinate:r[a-1].coordinate,s=r[c].coordinate,f=c>=a-1?r[0].coordinate:r[c+1].coordinate,p=void 0;if((0,ci.uY)(s-l)!==(0,ci.uY)(f-s)){var h=[];if((0,ci.uY)(f-s)===(0,ci.uY)(u[1]-u[0])){p=f;var d=s+u[1]-u[0];h[0]=Math.min(d,(d+l)/2),h[1]=Math.max(d,(d+l)/2)}else{p=l;var y=f+u[1]-u[0];h[0]=Math.min(s,(y+s)/2),h[1]=Math.max(s,(y+s)/2)}var v=[Math.min(s,(p+s)/2),Math.max(s,(p+s)/2)];if(t>v[0]&&t<=v[1]||t>=h[0]&&t<=h[1]){i=r[c].index;break}}else{var m=Math.min(l,f),g=Math.max(l,f);if(t>(m+s)/2&&t<=(g+s)/2){i=r[c].index;break}}}else for(var b=0;b0&&b(n[b].coordinate+n[b-1].coordinate)/2&&t<=(n[b].coordinate+n[b+1].coordinate)/2||b===a-1&&t>(n[b].coordinate+n[b-1].coordinate)/2){i=n[b].index;break}return i},xi=function(t){var e,n=t.type.displayName,r=t.props,o=r.stroke,i=r.fill;switch(n){case"Line":e=o;break;case"Area":case"Radar":e=o&&"none"!==o?o:i;break;default:e=i}return e},wi=function(t){var e=t.barSize,n=t.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var o={},i=Object.keys(r),a=0,u=i.length;a=0}));if(y&&y.length){var v=y[0].props.barSize,m=y[0].props[d];o[m]||(o[m]=[]),o[m].push({item:y[0],stackList:y.slice(1),barSize:P()(v)?e:v})}}return o},Oi=function(t){var e=t.barGap,n=t.barCategoryGap,r=t.bandSize,o=t.sizeList,i=void 0===o?[]:o,a=t.maxBarSize,u=i.length;if(u<1)return null;var c,l=(0,ci.h1)(e,r,0,!0),s=[];if(i[0].barSize===+i[0].barSize){var f=!1,p=r/u,h=i.reduce((function(t,e){return t+e.barSize||0}),0);(h+=(u-1)*l)>=r&&(h-=(u-1)*l,l=0),h>=r&&p>0&&(f=!0,h=u*(p*=.9));var d={offset:((r-h)/2>>0)-l,size:0};c=i.reduce((function(t,e){var n={item:e.item,position:{offset:d.offset+d.size+l,size:f?p:e.barSize}},r=[].concat(yi(t),[n]);return d=r[r.length-1].position,e.stackList&&e.stackList.length&&e.stackList.forEach((function(t){r.push({item:t,position:d})})),r}),s)}else{var y=(0,ci.h1)(n,r,0,!0);r-2*y-(u-1)*l<=0&&(l=0);var v=(r-2*y-(u-1)*l)/u;v>1&&(v>>=0);var m=a===+a?Math.min(v,a):v;c=i.reduce((function(t,e,n){var r=[].concat(yi(t),[{item:e.item,position:{offset:y+(v+l)*n+(v-m)/2,size:m}}]);return e.stackList&&e.stackList.length&&e.stackList.forEach((function(t){r.push({item:t,position:r[r.length-1].position})})),r}),s)}return c},ji=function(t,e,n,r){var o=n.children,i=n.width,a=n.margin,u=i-(a.left||0)-(a.right||0),c=(0,si.z)({children:o,legendWidth:u});if(c){var l=r||{},s=l.width,f=l.height,p=c.align,h=c.verticalAlign,d=c.layout;if(("vertical"===d||"horizontal"===d&&"middle"===h)&&"center"!==p&&(0,ci.hj)(t[p]))return hi(hi({},t),{},di({},p,t[p]+(s||0)));if(("horizontal"===d||"vertical"===d&&"center"===p)&&"middle"!==h&&(0,ci.hj)(t[h]))return hi(hi({},t),{},di({},h,t[h]+(f||0)))}return t},Si=function(t,e,n,r,o){var i=e.props.children,a=(0,li.NN)(i,ui.W).filter((function(t){return function(t,e,n){return!!P()(e)||("horizontal"===t?"yAxis"===e:"vertical"===t||"x"===n?"xAxis"===e:"y"!==n||"yAxis"===e)}(r,o,t.props.direction)}));if(a&&a.length){var u=a.map((function(t){return t.props.dataKey}));return t.reduce((function(t,e){var r=mi(e,n,0),o=y()(r)?[b()(r),m()(r)]:[r,r],i=u.reduce((function(t,n){var r=mi(e,n,0),i=o[0]-Math.abs(y()(r)?r[0]:r),a=o[1]+Math.abs(y()(r)?r[1]:r);return[Math.min(i,t[0]),Math.max(a,t[1])]}),[1/0,-1/0]);return[Math.min(i[0],t[0]),Math.max(i[1],t[1])]}),[1/0,-1/0])}return null},Ei=function(t,e,n,r,o){var i=e.map((function(e){return Si(t,e,n,o,r)})).filter((function(t){return!P()(t)}));return i&&i.length?i.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0]):null},Ai=function(t,e,n,r,o){var i=e.map((function(e){var i=e.props.dataKey;return"number"===n&&i&&Si(t,e,i,r)||gi(t,i,n,o)}));if("number"===n)return i.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0]);var a={};return i.reduce((function(t,e){for(var n=0,r=e.length;n=2?2*(0,ci.uY)(a[0]-a[1])*c:c,e&&(t.ticks||t.niceTicks)?(t.ticks||t.niceTicks).map((function(t){var e=o?o.indexOf(t):t;return{coordinate:r(e)+c,value:t,offset:c}})).filter((function(t){return!h()(t.coordinate)})):t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map((function(t,e){return{coordinate:r(t)+c,value:t,index:e,offset:c}})):r.ticks&&!n?r.ticks(t.tickCount).map((function(t){return{coordinate:r(t)+c,value:t,offset:c}})):r.domain().map((function(t,e){return{coordinate:r(t)+c,value:o?o[t]:t,index:e,offset:c}}))},Ti=function(t,e,n){var r;return j()(n)?r=n:j()(e)&&(r=e),j()(t)||r?function(e,n,o,i){j()(t)&&t(e,n,o,i),j()(r)&&r(e,n,o,i)}:null},_i=function(t,e,n){var o=t.scale,i=t.type,a=t.layout,u=t.axisType;if("auto"===o)return"radial"===a&&"radiusAxis"===u?{scale:k.Z(),realScaleType:"band"}:"radial"===a&&"angleAxis"===u?{scale:de(),realScaleType:"linear"}:"category"===i&&e&&(e.indexOf("LineChart")>=0||e.indexOf("AreaChart")>=0||e.indexOf("ComposedChart")>=0&&!n)?{scale:k.x(),realScaleType:"point"}:"category"===i?{scale:k.Z(),realScaleType:"band"}:{scale:de(),realScaleType:"linear"};if(f()(o)){var c="scale".concat(l()(o));return{scale:(r[c]||k.x)(),realScaleType:r[c]?c:"point"}}return j()(o)?{scale:o}:{scale:k.x(),realScaleType:"point"}},Ci=1e-4,Ni=function(t){var e=t.domain();if(e&&!(e.length<=2)){var n=e.length,r=t.range(),o=Math.min(r[0],r[1])-Ci,i=Math.max(r[0],r[1])+Ci,a=t(e[0]),u=t(e[n-1]);(ai||ui)&&t.domain([e[0],e[n-1]])}},Di=function(t,e){if(!t)return null;for(var n=0,r=t.length;nr)&&(o[1]=r),o[0]>r&&(o[0]=r),o[1]=0?(t[a][n][0]=o,t[a][n][1]=o+u,o=t[a][n][1]):(t[a][n][0]=i,t[a][n][1]=i+u,i=t[a][n][1])}},expand:function(t,e){if((r=t.length)>0){for(var n,r,o,i=0,a=t[0].length;i0){for(var n,r=0,o=t[e[0]],i=o.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,o,i=0,a=1;a=0?(t[i][n][0]=o,t[i][n][1]=o+a,o=t[i][n][1]):(t[i][n][0]=0,t[i][n][1]=0)}}},Ri=function(t,e,n){var r=e.map((function(t){return t.props.dataKey})),o=Li[n],i=function(){var t=(0,_o.Z)([]),e=Co,n=Mo,r=No;function o(o){var i,a,u=Array.from(t.apply(this,arguments),Do),c=u.length,l=-1;for(const t of o)for(i=0,++l;i=0?0:o<0?o:r}return n[0]},Wi=function(t,e){var n=t.props.stackId;if((0,ci.P2)(n)){var r=e[n];if(r){var o=r.items.indexOf(t);return o>=0?r.stackedData[o]:null}}return null},Gi=function(t,e,n){return Object.keys(t).reduce((function(r,o){var i=t[o].stackedData.reduce((function(t,r){var o=r.slice(e,n+1).reduce((function(t,e){return[b()(e.concat([t[0]]).filter(ci.hj)),m()(e.concat([t[1]]).filter(ci.hj))]}),[1/0,-1/0]);return[Math.min(t[0],o[0]),Math.max(t[1],o[1])]}),[1/0,-1/0]);return[Math.min(i[0],r[0]),Math.max(i[1],r[1])]}),[1/0,-1/0]).map((function(t){return t===1/0||t===-1/0?0:t}))},Hi=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Xi=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Yi=function(t,e,n){if(j()(t))return t(e,n);if(!y()(t))return e;var r=[];if((0,ci.hj)(t[0]))r[0]=n?t[0]:Math.min(t[0],e[0]);else if(Hi.test(t[0])){var o=+Hi.exec(t[0])[1];r[0]=e[0]-o}else j()(t[0])?r[0]=t[0](e[0]):r[0]=e[0];if((0,ci.hj)(t[1]))r[1]=n?t[1]:Math.max(t[1],e[1]);else if(Xi.test(t[1])){var i=+Xi.exec(t[1])[1];r[1]=e[1]+i}else j()(t[1])?r[1]=t[1](e[1]):r[1]=e[1];return r},Vi=function(t,e,n){if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var o=u()(e,(function(t){return t.coordinate})),i=1/0,a=1,c=o.length;a{"use strict";n.d(e,{IR:()=>m,os:()=>v,xE:()=>y});var r=n(36768);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&o===+o?"".concat(o,"px"):o),";");var r,o,i}),"")},y=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===t||null===t||r.x.isSsr)return{width:0,height:0};var n="".concat(t),o=d(e),i="".concat(n,"-").concat(o);if(s.widthCache[i])return s.widthCache[i];try{var u=document.getElementById(h);u||((u=document.createElement("span")).setAttribute("id",h),u.setAttribute("aria-hidden","true"),document.body.appendChild(u));var c=a(a({},f),e);Object.keys(c).map((function(t){return u.style[t]=c[t],t})),u.textContent=n;var l=u.getBoundingClientRect(),p={width:l.width,height:l.height};return s.widthCache[i]=p,++s.cacheCount>2e3&&(s.cacheCount=0,s.widthCache={}),p}catch(y){return{width:0,height:0}}},v=function(t){var e=t.ownerDocument.documentElement,n={top:0,left:0};return"undefined"!==typeof t.getBoundingClientRect&&(n=t.getBoundingClientRect()),{top:n.top+window.pageYOffset-e.clientTop,left:n.left+window.pageXOffset-e.clientLeft}},m=function(t,e){return{chartX:Math.round(t.pageX-e.left),chartY:Math.round(t.pageY-e.top)}}},70587:(t,e,n)=>{"use strict";n.d(e,{Ap:()=>j,EL:()=>g,Kt:()=>x,P2:()=>v,bv:()=>w,h1:()=>b,hU:()=>d,hj:()=>y,k4:()=>O,uY:()=>h});var r=n(26181),o=n.n(r),i=n(93629),a=n.n(i),u=n(82066),c=n.n(u),l=n(30298),s=n.n(l),f=n(26769),p=n.n(f),h=function(t){return 0===t?0:t>0?1:-1},d=function(t){return p()(t)&&t.indexOf("%")===t.length-1},y=function(t){return s()(t)&&!c()(t)},v=function(t){return y(t)||p()(t)},m=0,g=function(t){var e=++m;return"".concat(t||"").concat(e)},b=function(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!y(t)&&!p()(t))return r;if(d(t)){var i=t.indexOf("%");n=e*parseFloat(t.slice(0,i))/100}else n=+t;return c()(n)&&(n=r),o&&n>e&&(n=e),n},x=function(t){if(!t)return null;var e=Object.keys(t);return e&&e.length?t[e[0]]:null},w=function(t){if(!a()(t))return!1;for(var e=t.length,n={},r=0;r{"use strict";n.d(e,{x:()=>r});var r={isSsr:!("undefined"!==typeof window&&window.document&&window.document.createElement&&window.setTimeout),get:function(t){return r[t]},set:function(t,e){if("string"===typeof t)r[t]=e;else{var n=Object.keys(t);n&&n.length&&n.forEach((function(e){r[e]=t[e]}))}}}},15303:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});var r=function(t,e){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o{"use strict";n.d(e,{$4:()=>v,Wk:()=>h,op:()=>y,t9:()=>m,z3:()=>x});var r=n(42854),o=n.n(r),i=n(70587),a=n(73822);function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function l(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n2&&void 0!==arguments[2]?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(e-(n.top||0)-(n.bottom||0)))/2},m=function(t,e,n,r,u){var c=t.width,p=t.height,h=t.startAngle,d=t.endAngle,y=(0,i.h1)(t.cx,c,c/2),m=(0,i.h1)(t.cy,p,p/2),g=v(c,p,n),b=(0,i.h1)(t.innerRadius,g,0),x=(0,i.h1)(t.outerRadius,g,.8*g);return Object.keys(e).reduce((function(t,n){var i,c=e[n],p=c.domain,v=c.reversed;if(o()(c.range))"angleAxis"===r?i=[h,d]:"radiusAxis"===r&&(i=[b,x]),v&&(i=[i[1],i[0]]);else{var g=f(i=c.range,2);h=g[0],d=g[1]}var w=(0,a.Hq)(c,u),O=w.realScaleType,j=w.scale;j.domain(p).range(i),(0,a.zF)(j);var S=(0,a.g$)(j,l(l({},c),{},{realScaleType:O})),E=l(l(l({},c),S),{},{range:i,radius:x,realScaleType:O,scale:j,cx:y,cy:m,innerRadius:b,outerRadius:x,startAngle:h,endAngle:d});return l(l({},t),{},s({},n,E))}),{})},g=function(t,e){var n=t.x,r=t.y,o=e.cx,i=e.cy,a=function(t,e){var n=t.x,r=t.y,o=e.x,i=e.y;return Math.sqrt(Math.pow(n-o,2)+Math.pow(r-i,2))}({x:n,y:r},{x:o,y:i});if(a<=0)return{radius:a};var u=(n-o)/a,c=Math.acos(u);return r>i&&(c=2*Math.PI-c),{radius:a,angle:d(c),angleInRadian:c}},b=function(t,e){var n=e.startAngle,r=e.endAngle,o=Math.floor(n/360),i=Math.floor(r/360);return t+360*Math.min(o,i)},x=function(t,e){var n=t.x,r=t.y,o=g({x:n,y:r},e),i=o.radius,a=o.angle,u=e.innerRadius,c=e.outerRadius;if(ic)return!1;if(0===i)return!0;var s,f=function(t){var e=t.startAngle,n=t.endAngle,r=Math.floor(e/360),o=Math.floor(n/360),i=Math.min(r,o);return{startAngle:e-360*i,endAngle:n-360*i}}(e),p=f.startAngle,h=f.endAngle,d=a;if(p<=h){for(;d>h;)d-=360;for(;d=p&&d<=h}else{for(;d>p;)d-=360;for(;d=h&&d<=p}return s?l(l({},e),{},{radius:i,angle:b(d,e)}):null}},23031:(t,e,n)=>{"use strict";n.d(e,{$R:()=>U,$k:()=>D,Bh:()=>z,Gf:()=>E,L6:()=>I,NN:()=>M,TT:()=>_,eu:()=>B,rL:()=>L,sP:()=>T});var r=n(8092),o=n.n(r),i=n(74786),a=n.n(i),u=n(26769),c=n.n(u),l=n(26181),s=n.n(l),f=n(42854),p=n.n(f),h=n(93629),d=n.n(h),y=n(72791),v=n(57441),m=n(70587),g=n(94520),b=n(57241),x=["children"],w=["children"];function O(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function j(t){return j="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},j(t)}var S={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},E=function(t){return"string"===typeof t?t:t?t.displayName||t.name||"Component":""},A=null,P=null,k=function t(e){if(e===A&&d()(P))return P;var n=[];return y.Children.forEach(e,(function(e){p()(e)||((0,v.isFragment)(e)?n=n.concat(t(e.props.children)):n.push(e))})),P=n,A=e,n};function M(t,e){var n=[],r=[];return r=d()(e)?e.map((function(t){return E(t)})):[E(e)],k(t).forEach((function(t){var e=s()(t,"type.displayName")||s()(t,"type.name");-1!==r.indexOf(e)&&n.push(t)})),n}function T(t,e){var n=M(t,e);return n&&n[0]}var _=function(t){if(!t||!t.props)return!1;var e=t.props,n=e.width,r=e.height;return!(!(0,m.hj)(n)||n<=0||!(0,m.hj)(r)||r<=0)},C=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],N=function(t){return t&&t.type&&c()(t.type)&&C.indexOf(t.type)>=0},D=function(t){return t&&"object"===j(t)&&"cx"in t&&"cy"in t&&"r"in t},I=function(t,e,n){if(!t||"function"===typeof t||"boolean"===typeof t)return null;var r=t;if((0,y.isValidElement)(t)&&(r=t.props),!o()(r))return null;var i={};return Object.keys(r).forEach((function(t){var o;(function(t,e,n,r){var o,i=null!==(o=null===b.ry||void 0===b.ry?void 0:b.ry[r])&&void 0!==o?o:[];return!a()(t)&&(r&&i.includes(e)||b.Yh.includes(e))||n&&b.nv.includes(e)})(null===(o=r)||void 0===o?void 0:o[t],t,e,n)&&(i[t]=r[t])})),i},L=function t(e,n){if(e===n)return!0;var r=y.Children.count(e);if(r!==y.Children.count(n))return!1;if(0===r)return!0;if(1===r)return R(d()(e)?e[0]:e,d()(n)?n[0]:n);for(var o=0;o{"use strict";function r(t,e){for(var n in t)if({}.hasOwnProperty.call(t,n)&&(!{}.hasOwnProperty.call(e,n)||t[n]!==e[n]))return!1;for(var r in e)if({}.hasOwnProperty.call(e,r)&&!{}.hasOwnProperty.call(t,r))return!1;return!0}n.d(e,{w:()=>r})},60012:(t,e,n)=>{"use strict";n.d(e,{z:()=>s});var r=n(27281),o=n(73822),i=n(23031);function a(t){return a="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},a(t)}function u(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function c(t){for(var e=1;e{"use strict";n.d(e,{Yh:()=>u,Ym:()=>f,bw:()=>p,nv:()=>s,ry:()=>l});var r=n(8092),o=n.n(r),i=n(72791);function a(t){return a="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},a(t)}var u=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],c=["points","pathLength"],l={svg:["viewBox","children"],polygon:c,polyline:c},s=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],f=function(t,e){if(!t||"function"===typeof t||"boolean"===typeof t)return null;var n=t;if((0,i.isValidElement)(t)&&(n=t.props),!o()(n))return null;var r={};return Object.keys(n).forEach((function(t){s.includes(t)&&(r[t]=e||function(e){return n[t](n,e)})})),r},p=function(t,e,n){if(!o()(t)||"object"!==a(t))return null;var r=null;return Object.keys(t).forEach((function(o){var i=t[o];s.includes(o)&&"function"===typeof i&&(r||(r={}),r[o]=function(t,e,n){return function(r){return t(e,n,r),null}}(i,e,n))})),r}},64836:t=>{t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.__esModule=!0,t.exports.default=t.exports},4700:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i,x:()=>u});var r=n(10507),o=n(63482);function i(){var t,e,n=(0,o.Z)().unknown(void 0),a=n.domain,u=n.range,c=0,l=1,s=!1,f=0,p=0,h=.5;function d(){var n=a().length,r=l{"use strict";function r(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}function o(t,e){switch(arguments.length){case 0:break;case 1:"function"===typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"===typeof e?this.interpolator(e):this.range(e)}return this}n.d(e,{O:()=>o,o:()=>r})},63482:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s,O:()=>l});class r extends Map{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[n,r]of t)this.set(n,r)}get(t){return super.get(o(this,t))}has(t){return super.has(o(this,t))}set(t,e){return super.set(i(this,t),e)}delete(t){return super.delete(a(this,t))}}function o(t,e){let{_intern:n,_key:r}=t;const o=r(e);return n.has(o)?n.get(o):e}function i(t,e){let{_intern:n,_key:r}=t;const o=r(e);return n.has(o)?n.get(o):(n.set(o,e),e)}function a(t,e){let{_intern:n,_key:r}=t;const o=r(e);return n.has(o)&&(e=n.get(o),n.delete(o)),e}function u(t){return null!==t&&"object"===typeof t?t.valueOf():t}var c=n(10507);const l=Symbol("implicit");function s(){var t=new r,e=[],n=[],o=l;function i(r){let i=t.get(r);if(void 0===i){if(o!==l)return o;t.set(r,i=e.push(r)-1)}return n[i%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new r;for(const r of n)t.has(r)||t.set(r,e.push(r)-1);return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(o=t,i):o},i.copy=function(){return s(e,n).unknown(o)},c.o.apply(i,arguments),i}},21988:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});Array.prototype.slice;function r(t){return"object"===typeof t&&"length"in t?t:Array.from(t)}},487:(t,e,n)=>{"use strict";function r(t){return function(){return t}}n.d(e,{Z:()=>r})},25180:(t,e,n)=>{"use strict";function r(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}var o,i,a,u,c,l,s,f,p,h,d,y,v,m;n.d(e,{d:()=>S});const g=Math.PI,b=2*g,x=1e-6,w=b-x;function O(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error("invalid digits: ".concat(t));if(e>15)return O;const n=10**e;return function(t){this._+=t[0];for(let e=1,r=t.length;ex)if(Math.abs(y*c-h*d)>x&&i){let l=n-a,s=o-u,m=c*c+h*h,b=l*l+s*s,w=Math.sqrt(m),O=Math.sqrt(v),j=i*Math.tan((g-Math.acos((m+v-b)/(2*w*O)))/2),S=j/O,E=j/w;Math.abs(S-1)>x&&this._append(f||(f=r(["L",",",""])),t+S*d,e+S*y),this._append(p||(p=r(["A",",",",0,0,",",",",",""])),i,i,+(y*l>d*s),this._x1=t+E*c,this._y1=e+E*h)}else this._append(s||(s=r(["L",",",""])),this._x1=t,this._y1=e);else;}arc(t,e,n,o,i,a){if(t=+t,e=+e,a=!!a,(n=+n)<0)throw new Error("negative radius: ".concat(n));let u=n*Math.cos(o),c=n*Math.sin(o),l=t+u,s=e+c,f=1^a,p=a?o-i:i-o;null===this._x1?this._append(h||(h=r(["M",",",""])),l,s):(Math.abs(this._x1-l)>x||Math.abs(this._y1-s)>x)&&this._append(d||(d=r(["L",",",""])),l,s),n&&(p<0&&(p=p%b+b),p>w?this._append(y||(y=r(["A",",",",0,1,",",",",","A",",",",0,1,",",",",",""])),n,n,f,t-u,e-c,n,n,f,this._x1=l,this._y1=s):p>x&&this._append(v||(v=r(["A",",",",0,",",",",",",",""])),n,n,+(p>=g),f,this._x1=t+n*Math.cos(i),this._y1=e+n*Math.sin(i)))}rect(t,e,n,o){this._append(m||(m=r(["M",",","h","v","h","Z"])),this._x0=this._x1=+t,this._y0=this._y1=+e,n=+n,+o,-n)}toString(){return this._}}function S(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{const t=Math.floor(n);if(!(t>=0))throw new RangeError("invalid digits: ".concat(n));e=t}return t},()=>new j(e)}j.prototype}}]); -//# sourceMappingURL=2977.e75673aa.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2977.e75673aa.chunk.js.LICENSE.txt b/portal-ui/build/static/js/2977.e75673aa.chunk.js.LICENSE.txt deleted file mode 100644 index 61de5a215b..0000000000 --- a/portal-ui/build/static/js/2977.e75673aa.chunk.js.LICENSE.txt +++ /dev/null @@ -1,7 +0,0 @@ -/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ - -/*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE */ diff --git a/portal-ui/build/static/js/2977.e75673aa.chunk.js.map b/portal-ui/build/static/js/2977.e75673aa.chunk.js.map deleted file mode 100644 index 6d60abad73..0000000000 --- a/portal-ui/build/static/js/2977.e75673aa.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2977.e75673aa.chunk.js","mappings":"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","sources":["../node_modules/classnames/index.js","../node_modules/decimal.js-light/decimal.js","../node_modules/eventemitter3/index.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_arrayEvery.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/lodash/_arrayIncludesWith.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseEach.js","../node_modules/lodash/_baseEvery.js","../node_modules/lodash/_baseExtremum.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGt.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseLt.js","../node_modules/lodash/_baseMap.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseOrderBy.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_baseRange.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseSome.js","../node_modules/lodash/_baseSortBy.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_baseUniq.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_compareAscending.js","../node_modules/lodash/_compareMultiple.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_createFind.js","../node_modules/lodash/_createRange.js","../node_modules/lodash/_createSet.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/constant.js","../node_modules/lodash/every.js","../node_modules/lodash/find.js","../node_modules/lodash/findIndex.js","../node_modules/lodash/flatMap.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/identity.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isBoolean.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isEqual.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isNaN.js","../node_modules/lodash/isNil.js","../node_modules/lodash/isNumber.js","../node_modules/lodash/isPlainObject.js","../node_modules/lodash/isString.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/last.js","../node_modules/lodash/map.js","../node_modules/lodash/mapValues.js","../node_modules/lodash/max.js","../node_modules/lodash/min.js","../node_modules/lodash/noop.js","../node_modules/lodash/property.js","../node_modules/lodash/range.js","../node_modules/lodash/some.js","../node_modules/lodash/sortBy.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/throttle.js","../node_modules/lodash/toFinite.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/uniqBy.js","../node_modules/lodash/upperFirst.js","../node_modules/react-smooth/node_modules/fast-equals/src/utils.ts","../node_modules/react-smooth/node_modules/fast-equals/src/equals.ts","../node_modules/react-smooth/node_modules/fast-equals/src/comparator.ts","../node_modules/react-smooth/node_modules/fast-equals/src/index.ts","../node_modules/react-smooth/es6/setRafTimeout.js","../node_modules/react-smooth/es6/AnimateManager.js","../node_modules/react-smooth/es6/util.js","../node_modules/react-smooth/es6/easing.js","../node_modules/react-smooth/es6/configUpdate.js","../node_modules/react-smooth/es6/Animate.js","../node_modules/react-smooth/es6/AnimateGroupChild.js","../node_modules/react-smooth/es6/AnimateGroup.js","../node_modules/react-smooth/es6/index.js","../node_modules/react-transition-group/CSSTransition.js","../node_modules/react-transition-group/ReplaceTransition.js","../node_modules/react-transition-group/Transition.js","../node_modules/react-transition-group/TransitionGroup.js","../node_modules/react-transition-group/index.js","../node_modules/react-transition-group/node_modules/dom-helpers/class/addClass.js","../node_modules/react-transition-group/node_modules/dom-helpers/class/hasClass.js","../node_modules/react-transition-group/node_modules/dom-helpers/class/removeClass.js","../node_modules/react-transition-group/utils/ChildMapping.js","../node_modules/react-transition-group/utils/PropTypes.js","../node_modules/recharts/es6/util/BarUtils.js","../node_modules/recharts/es6/cartesian/Bar.js","../node_modules/recharts/es6/cartesian/CartesianGrid.js","../node_modules/recharts/es6/cartesian/ErrorBar.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/cartesian/YAxis.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js","../node_modules/recharts/es6/util/getEveryNthWithCondition.js","../node_modules/recharts/es6/util/TickUtils.js","../node_modules/recharts/es6/cartesian/getTicks.js","../node_modules/recharts/es6/cartesian/getEquidistantTicks.js","../node_modules/recharts/es6/shape/Cross.js","../node_modules/recharts/es6/cartesian/CartesianAxis.js","../node_modules/recharts/es6/util/CssPrefixUtils.js","../node_modules/recharts/es6/cartesian/Brush.js","../node_modules/recharts/es6/util/IfOverflowMatches.js","../node_modules/recharts/es6/cartesian/ReferenceDot.js","../node_modules/recharts/es6/cartesian/ReferenceLine.js","../node_modules/recharts/es6/cartesian/ReferenceArea.js","../node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","../node_modules/recharts/es6/util/Events.js","../node_modules/recharts/es6/chart/AccessibilityManager.js","../node_modules/recharts/es6/util/cursor/getCursorPoints.js","../node_modules/recharts/es6/chart/generateCategoricalChart.js","../node_modules/recharts/es6/util/isDomainSpecifiedByUser.js","../node_modules/recharts/es6/util/deferer.js","../node_modules/recharts/es6/util/cursor/getCursorRectangle.js","../node_modules/recharts/es6/component/Cell.js","../node_modules/recharts/es6/component/Label.js","../node_modules/recharts/es6/component/LabelList.js","../node_modules/recharts/es6/component/DefaultLegendContent.js","../node_modules/recharts/es6/component/Legend.js","../node_modules/recharts/es6/util/ReduceCSSCalc.js","../node_modules/recharts/es6/component/Text.js","../node_modules/recharts/es6/component/DefaultTooltipContent.js","../node_modules/recharts/es6/component/Tooltip.js","../node_modules/recharts/es6/container/Layer.js","../node_modules/recharts/es6/container/Surface.js","../node_modules/d3-shape/src/noop.js","../node_modules/d3-shape/src/curve/basis.js","../node_modules/d3-shape/src/curve/basisClosed.js","../node_modules/d3-shape/src/curve/basisOpen.js","../node_modules/d3-shape/src/curve/bump.js","../node_modules/d3-shape/src/curve/linearClosed.js","../node_modules/d3-shape/src/curve/linear.js","../node_modules/d3-shape/src/curve/monotone.js","../node_modules/d3-shape/src/curve/natural.js","../node_modules/d3-shape/src/curve/step.js","../node_modules/d3-shape/src/point.js","../node_modules/d3-shape/src/line.js","../node_modules/d3-shape/src/area.js","../node_modules/recharts/es6/shape/Curve.js","../node_modules/recharts/es6/shape/Dot.js","../node_modules/recharts/es6/shape/Rectangle.js","../node_modules/recharts/es6/shape/Sector.js","../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/symbol/circle.js","../node_modules/d3-shape/src/symbol/cross.js","../node_modules/d3-shape/src/symbol/diamond.js","../node_modules/d3-shape/src/symbol/square.js","../node_modules/d3-shape/src/symbol/star.js","../node_modules/d3-shape/src/symbol/triangle.js","../node_modules/d3-shape/src/symbol/wye.js","../node_modules/d3-shape/src/symbol/asterisk.js","../node_modules/d3-shape/src/symbol/triangle2.js","../node_modules/recharts/es6/shape/Symbols.js","../node_modules/d3-shape/src/symbol.js","../node_modules/recharts/es6/shape/Trapezoid.js","../node_modules/recharts/es6/util/ActiveShapeUtils.js","../node_modules/recharts/es6/util/CartesianUtils.js","../node_modules/d3-array/src/ticks.js","../node_modules/d3-array/src/ascending.js","../node_modules/d3-array/src/descending.js","../node_modules/d3-array/src/bisector.js","../node_modules/d3-array/src/number.js","../node_modules/d3-array/src/bisect.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-format/src/formatPrefixAuto.js","../node_modules/d3-format/src/formatSpecifier.js","../node_modules/d3-format/src/formatDecimal.js","../node_modules/d3-format/src/exponent.js","../node_modules/d3-format/src/formatRounded.js","../node_modules/d3-format/src/formatTypes.js","../node_modules/d3-format/src/identity.js","../node_modules/d3-format/src/locale.js","../node_modules/d3-format/src/defaultLocale.js","../node_modules/d3-format/src/formatGroup.js","../node_modules/d3-format/src/formatNumerals.js","../node_modules/d3-format/src/formatTrim.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-scale/src/linear.js","../node_modules/d3-scale/src/identity.js","../node_modules/d3-scale/src/nice.js","../node_modules/d3-scale/src/log.js","../node_modules/d3-scale/src/symlog.js","../node_modules/d3-scale/src/pow.js","../node_modules/d3-scale/src/radial.js","../node_modules/d3-array/src/max.js","../node_modules/d3-array/src/min.js","../node_modules/d3-array/src/sort.js","../node_modules/d3-array/src/quickselect.js","../node_modules/d3-array/src/quantile.js","../node_modules/d3-scale/src/quantile.js","../node_modules/d3-scale/src/quantize.js","../node_modules/d3-scale/src/threshold.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js","../node_modules/d3-scale/src/utcTime.js","../node_modules/d3-scale/src/sequential.js","../node_modules/d3-scale/src/sequentialQuantile.js","../node_modules/d3-scale/src/diverging.js","../node_modules/d3-interpolate/src/piecewise.js","../node_modules/d3-shape/src/offset/none.js","../node_modules/d3-shape/src/order/none.js","../node_modules/d3-shape/src/stack.js","../node_modules/recharts-scale/es6/util/utils.js","../node_modules/recharts-scale/es6/util/arithmetic.js","../node_modules/recharts-scale/es6/getNiceTickValues.js","../node_modules/recharts/es6/util/ChartUtils.js","../node_modules/d3-shape/src/offset/expand.js","../node_modules/d3-shape/src/offset/silhouette.js","../node_modules/d3-shape/src/offset/wiggle.js","../node_modules/recharts/es6/util/DOMUtils.js","../node_modules/recharts/es6/util/DataUtils.js","../node_modules/recharts/es6/util/Global.js","../node_modules/recharts/es6/util/LogUtils.js","../node_modules/recharts/es6/util/PolarUtils.js","../node_modules/recharts/es6/util/ReactUtils.js","../node_modules/recharts/es6/util/ShallowEqual.js","../node_modules/recharts/es6/util/getLegendProps.js","../node_modules/recharts/es6/util/types.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/d3-scale/src/band.js","../node_modules/d3-array/src/range.js","../node_modules/d3-scale/src/init.js","../node_modules/internmap/src/index.js","../node_modules/d3-scale/src/ordinal.js","../node_modules/d3-shape/src/array.js","../node_modules/d3-shape/src/constant.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/d3-path/src/path.js","../node_modules/d3-shape/src/path.js"],"sourcesContent":["/*!\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\tvar nativeCodeString = '[native code]';\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(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\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(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","/*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE */\r\n;(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*\r\n * decimal.js-light v2.5.1\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js-light\r\n * Copyright (c) 2020 Michael Mclaughlin \r\n * MIT Expat Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n var MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n Decimal = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed during run-time using `Decimal.config`.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\r\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -MAX_E\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to MAX_E\r\n\r\n // The natural logarithm of 10.\r\n // 115 digits\r\n LN10: '2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286'\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n exponentOutOfRange = decimalError + 'Exponent out of range: ',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n ONE,\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), // 1286742750677284\r\n\r\n // Decimal.prototype object\r\n P = {};\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * comparedTo cmp\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy idiv\r\n * equals eq\r\n * exponent\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * isInteger isint\r\n * isNegative isneg\r\n * isPositive ispos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * squareRoot sqrt\r\n * times mul\r\n * toDecimalPlaces todp\r\n * toExponential\r\n * toFixed\r\n * toInteger toint\r\n * toNumber\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits tosd\r\n * toString\r\n * valueOf val\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this;\r\n\r\n y = new x.constructor(y);\r\n\r\n // Signs differ?\r\n if (x.s !== y.s) return x.s || -y.s;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ x.s < 0 ? 1 : -1;\r\n\r\n xdL = x.d.length;\r\n ydL = y.d.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (x.d[i] !== y.d[i]) return x.d[i] > y.d[i] ^ x.s < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ x.s < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var x = this,\r\n w = x.d.length - 1,\r\n dp = (w - x.e) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = x.d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) dp--;\r\n\r\n return dp < 0 ? 0 : dp;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, truncated to `precision` significant digits.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(divide(x, new Ctor(y), 0, 1), Ctor.precision);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return !this.cmp(y);\r\n };\r\n\r\n\r\n /*\r\n * Return the (base 10) exponent value of this Decimal (this.e is the base 10000000 exponent).\r\n *\r\n */\r\n P.exponent = function () {\r\n return getBase10Exponent(this);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n return this.cmp(y) >= 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isint = function () {\r\n return this.e > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isneg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.ispos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return this.s === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, truncated to\r\n * `precision` significant digits.\r\n *\r\n * If no base is specified, return log[10](x).\r\n *\r\n * log[base](x) = ln(x) / ln(base)\r\n *\r\n * The maximum error of the result is 1 ulp (unit in the last place).\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var r,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n wpr = pr + 5;\r\n\r\n // Default base is 10.\r\n if (base === void 0) {\r\n base = new Ctor(10);\r\n } else {\r\n base = new Ctor(base);\r\n\r\n // log[-b](x) = NaN\r\n // log[0](x) = NaN\r\n // log[1](x) = NaN\r\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + 'NaN');\r\n }\r\n\r\n // log[b](-x) = NaN\r\n // log[b](0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // log[b](1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n external = false;\r\n r = divide(ln(x, wpr), ln(base, wpr), wpr);\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? subtract(x, y) : add(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n y = new Ctor(y);\r\n\r\n // x % 0 = NaN\r\n if (!y.s) throw Error(decimalError + 'NaN');\r\n\r\n // Return x if x is 0.\r\n if (!x.s) return round(new Ctor(x), pr);\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n q = divide(x, y, 0, 1).times(y);\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return exp(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * truncated to `precision` significant digits.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return ln(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s || 0;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? add(x, y) : subtract(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var e, sd, w,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n e = getBase10Exponent(x) + 1;\r\n w = x.d.length - 1;\r\n sd = w * LOG_BASE + 1;\r\n w = x.d[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) sd--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = x.d[0]; w >= 10; w /= 10) sd++;\r\n }\r\n\r\n return z && e > sd ? e : sd;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var e, n, pr, r, s, t, wpr,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n // Negative or zero?\r\n if (x.s < 1) {\r\n if (!x.s) return new Ctor(0);\r\n\r\n // sqrt(-x) = NaN\r\n throw Error(decimalError + 'NaN');\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(x.d);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n pr = Ctor.precision;\r\n s = wpr = pr + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, wpr + 2)).times(0.5);\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === (n = digitsToString(r.d)).slice(0, wpr)) {\r\n n = n.slice(wpr - 3, wpr + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (s == wpr && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n round(t, pr + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n } else if (n != '9999') {\r\n break;\r\n }\r\n\r\n wpr += 4;\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal times `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n // Return 0 if either is 0.\r\n if (!x.s || !y.s) return new Ctor(0);\r\n\r\n y.s *= x.s;\r\n e = x.e + y.e;\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = e;\r\n\r\n return external ? round(y, Ctor.precision) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.todp = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return round(x, dp + getBase10Exponent(x) + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = toString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), dp + 1, rm);\r\n str = toString(x, true, dp + 1);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) return toString(x);\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = round(new Ctor(x), dp + getBase10Exponent(x) + 1, rm);\r\n str = toString(y.abs(), false, dp + getBase10Exponent(y) + 1);\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isneg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.toInteger = P.toint = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(new Ctor(x), getBase10Exponent(x) + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`,\r\n * truncated to `precision` significant digits.\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * The maximum error is 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, sign, yIsInt,\r\n x = this,\r\n Ctor = x.constructor,\r\n guard = 12,\r\n yn = +(y = new Ctor(y));\r\n\r\n // pow(x, 0) = 1\r\n if (!y.s) return new Ctor(ONE);\r\n\r\n x = new Ctor(x);\r\n\r\n // pow(0, y > 0) = 0\r\n // pow(0, y < 0) = Infinity\r\n if (!x.s) {\r\n if (y.s < 1) throw Error(decimalError + 'Infinity');\r\n return x;\r\n }\r\n\r\n // pow(1, y) = 1\r\n if (x.eq(ONE)) return x;\r\n\r\n pr = Ctor.precision;\r\n\r\n // pow(x, 1) = x\r\n if (y.eq(ONE)) return round(x, pr);\r\n\r\n e = y.e;\r\n k = y.d.length - 1;\r\n yIsInt = e >= k;\r\n sign = x.s;\r\n\r\n if (!yIsInt) {\r\n\r\n // pow(x < 0, y non-integer) = NaN\r\n if (sign < 0) throw Error(decimalError + 'NaN');\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = new Ctor(ONE);\r\n\r\n // Max k of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n e = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (k % 2) {\r\n r = r.times(x);\r\n truncate(r.d, e);\r\n }\r\n\r\n k = mathfloor(k / 2);\r\n if (k === 0) break;\r\n\r\n x = x.times(x);\r\n truncate(x.d, e);\r\n }\r\n\r\n external = true;\r\n\r\n return y.s < 0 ? new Ctor(ONE).div(r) : round(r, pr);\r\n }\r\n\r\n // Result is negative if x is negative and the last digit of integer y is odd.\r\n sign = sign < 0 && y.d[Math.max(e, k)] & 1 ? -1 : 1;\r\n\r\n x.s = 1;\r\n external = false;\r\n r = y.times(ln(x, pr + guard));\r\n external = true;\r\n r = exp(r);\r\n r.s = sign;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var e, str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n e = getBase10Exponent(x);\r\n str = toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), sd, rm);\r\n e = getBase10Exponent(x);\r\n str = toString(x, sd <= e || e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toSignificantDigits = P.tosd = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return round(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = P.valueOf = P.val = P.toJSON = function () {\r\n var x = this,\r\n e = getBase10Exponent(x),\r\n Ctor = x.constructor;\r\n\r\n return toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * add P.minus, P.plus\r\n * checkInt32 P.todp, P.toExponential, P.toFixed, P.toPrecision, P.tosd\r\n * digitsToString P.log, P.sqrt, P.pow, toString, exp, ln\r\n * divide P.div, P.idiv, P.log, P.mod, P.sqrt, exp, ln\r\n * exp P.exp, P.pow\r\n * getBase10Exponent P.exponent, P.sd, P.toint, P.sqrt, P.todp, P.toFixed, P.toPrecision,\r\n * P.toString, divide, round, toString, exp, ln\r\n * getLn10 P.log, ln\r\n * getZeroString digitsToString, toString\r\n * ln P.log, P.ln, P.pow, exp\r\n * parseDecimal Decimal\r\n * round P.abs, P.idiv, P.log, P.minus, P.mod, P.neg, P.plus, P.toint, P.sqrt,\r\n * P.times, P.todp, P.toExponential, P.toFixed, P.pow, P.toPrecision, P.tosd,\r\n * divide, getLn10, exp, ln\r\n * subtract P.minus, P.plus\r\n * toString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf\r\n * truncate P.pow\r\n *\r\n * Throws: P.log, P.mod, P.sd, P.sqrt, P.pow, checkInt32, divide, round,\r\n * getLn10, exp, ln, parseDecimal, Decimal, config\r\n */\r\n\r\n\r\n function add(x, y) {\r\n var carry, d, e, i, k, len, xd, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // If either is zero...\r\n if (!x.s || !y.s) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!y.s) y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n k = x.e;\r\n e = y.e;\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % BASE | 0;\r\n carry = temp / BASE | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * BASE + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, dp) {\r\n var cmp, e, i, k, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either 0?\r\n if (!x.s) return new Ctor(x);\r\n if (!y.s) throw Error(decimalError + 'Division by zero');\r\n\r\n e = x.e - y.e;\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n for (i = 0; yd[i] == (xd[i] || 0); ) ++i;\r\n if (yd[i] > (xd[i] || 0)) --e;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n } else if (dp) {\r\n sd = pr + (getBase10Exponent(x) - getBase10Exponent(y)) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) return new Ctor(0);\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / LOG_BASE + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * BASE + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= BASE/2\r\n k = BASE / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k);\r\n xd = multiplyInteger(xd, k);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= BASE / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= BASE) k = BASE - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n\r\n q.e = e;\r\n\r\n return round(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` truncated to `sd`\r\n * significant digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n */\r\n function exp(x, sd) {\r\n var denominator, guard, pow, sum, t, wpr,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n if (getBase10Exponent(x) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n\r\n // exp(0) = 1\r\n if (!x.s) return new Ctor(ONE);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n while (x.abs().gte(0.1)) {\r\n x = x.times(t); // x = x / 2^5\r\n k += 5;\r\n }\r\n\r\n // Estimate the precision increase necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(ONE);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = round(pow.times(x), wpr);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n while (k--) sum = round(sum.times(sum), wpr);\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(x) {\r\n var e = x.e * LOG_BASE,\r\n w = x.d[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for (; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n\r\n if (sd > Ctor.LN10.sd()) {\r\n\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(decimalError + 'LN10 precision limit exceeded');\r\n }\r\n\r\n return round(new Ctor(Ctor.LN10), sd);\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` truncated to `sd` significant\r\n * digits.\r\n *\r\n * ln(n) is non-terminating (n != 1)\r\n *\r\n */\r\n function ln(y, sd) {\r\n var c, c0, denominator, e, numerator, sum, t, wpr, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // ln(-x) = NaN\r\n // ln(0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // ln(1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n if (x.eq(10)) {\r\n if (sd == null) external = true;\r\n return getLn10(Ctor, wpr);\r\n }\r\n\r\n wpr += guard;\r\n Ctor.precision = wpr;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n e = getBase10Exponent(x);\r\n\r\n if (Math.abs(e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = ln(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(x, pr)) : x;\r\n }\r\n\r\n // x is reduced to a value near 1.\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(ONE), x.plus(ONE), wpr);\r\n x2 = round(x.times(x), wpr);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = round(numerator.times(x2), wpr);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48;) ++i;\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48;) --len;\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n e = e - i - 1;\r\n x.e = mathfloor(e / LOG_BASE);\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) throw Error(exponentOutOfRange + e);\r\n } else {\r\n\r\n // Zero.\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits, using rounding mode `rm` if present (truncate otherwise).\r\n */\r\n function round(x, sd, rm) {\r\n var i, j, k, n, rd, doRound, w, xdi,\r\n xd = x.d;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd which contains the rounding digit, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // n: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (n = 1, k = xd[0]; k >= 10; k /= 10) n++;\r\n i = sd - n;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) return x;\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (n = 1; k >= 10; k /= 10) n++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - n.\r\n j = i - LOG_BASE + n;\r\n }\r\n\r\n if (rm !== void 0) {\r\n k = mathpow(10, n - j - 1);\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / k % 10 | 0;\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k;\r\n\r\n // The expression `w % mathpow(10, n - j - 1)` returns all the digits of w to the right of the\r\n // digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression will give\r\n // 714.\r\n\r\n doRound = rm < 4\r\n ? (rd || doRound) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n }\r\n\r\n if (sd < 1 || !xd[0]) {\r\n if (doRound) {\r\n k = getBase10Exponent(x);\r\n xd.length = 1;\r\n\r\n // Convert sd to decimal places.\r\n sd = sd - k - 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = mathfloor(-sd / LOG_BASE) || 0;\r\n } else {\r\n xd.length = 1;\r\n\r\n // Zero.\r\n xd[0] = x.e = x.s = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (doRound) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n if ((xd[0] += k) == BASE) {\r\n xd[0] = 1;\r\n ++x.e;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) {\r\n throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function subtract(x, y) {\r\n var d, e, i, j, k, len, xd, xe, xLTy, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // Return y negated if x is zero.\r\n // Return x if y is zero and x is non-zero.\r\n if (!x.s || !y.s) {\r\n if (y.s) y.s = -y.s;\r\n else y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are non-zero numbers with the same sign.\r\n\r\n e = y.e;\r\n xe = x.e;\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of zeros\r\n // needing to be prepended, but this can be avoided while still ensuring correct rounding by\r\n // limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to xd if shorter.\r\n // Don't add zeros to yd if shorter as subtraction only needs to start at yd length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(0);\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n //return external && xd.length >= pr / LOG_BASE ? round(y, pr) : y;\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function toString(x, isExp, sd) {\r\n var k,\r\n e = getBase10Exponent(x),\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (e < 0 ? 'e' : 'e+') + e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * clone\r\n * config/set\r\n */\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * value {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(value) {\r\n var x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(value);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (value instanceof Decimal) {\r\n x.s = value.s;\r\n x.e = value.e;\r\n x.d = (value = value.d) ? value.slice() : value;\r\n return;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n\r\n // Reject Infinity/NaN.\r\n if (value * 0 !== 0) {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n if (value > 0) {\r\n x.s = 1;\r\n } else if (value < 0) {\r\n value = -value;\r\n x.s = -1;\r\n } else {\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (value === ~~value && value < 1e7) {\r\n x.e = 0;\r\n x.d = [value];\r\n return;\r\n }\r\n\r\n return parseDecimal(x, value.toString());\r\n } else if (typeof value !== 'string') {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n // Minus sign?\r\n if (value.charCodeAt(0) === 45) {\r\n value = value.slice(1);\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n if (isDecimal.test(value)) parseDecimal(x, value);\r\n else throw Error(invalidArgument + value);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n\r\n Decimal.clone = clone;\r\n Decimal.config = Decimal.set = config;\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'LN10'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') {\r\n throw Error(decimalError + 'Object expected');\r\n }\r\n var i, p, v,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -1 / 0, 0,\r\n 'toExpPos', 0, 1 / 0\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if ((v = obj[p = ps[i]]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if ((v = obj[p = 'LN10']) !== void 0) {\r\n if (v == Math.LN10) this[p] = new this(v);\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(Decimal);\r\n\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Internal constant.\r\n ONE = new Decimal(1);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self\r\n ? self : Function('return this')();\r\n }\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = arrayEvery;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\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 * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nmodule.exports = baseEvery;\n","var isSymbol = require('./isSymbol');\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseExtremum;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nmodule.exports = baseGt;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\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\nmodule.exports = baseKeys;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nmodule.exports = baseSome;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\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\nmodule.exports = baseUnary;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\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\nmodule.exports = getTag;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\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\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\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\nmodule.exports = nodeUtil;\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\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var arrayEvery = require('./_arrayEvery'),\n baseEvery = require('./_baseEvery'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = every;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var baseFlatten = require('./_baseFlatten'),\n map = require('./map');\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nmodule.exports = flatMap;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isArguments;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\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\nmodule.exports = isArrayLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or 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 boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nmodule.exports = isBoolean;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\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\nmodule.exports = isBuffer;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\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\nmodule.exports = isLength;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\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 `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","/**\n * Checks if `value` is `null` or `undefined`.\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 nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\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 number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\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 infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\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\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n identity = require('./identity');\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nmodule.exports = max;\n","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nmodule.exports = min;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","var arraySome = require('./_arraySome'),\n baseIteratee = require('./_baseIteratee'),\n baseSome = require('./_baseSome'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = some;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\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\nmodule.exports = stubFalse;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","import {\n AnyEqualityComparator,\n Cache,\n CircularState,\n Dictionary,\n State,\n TypeEqualityComparator,\n} from './internalTypes';\n\nconst { getOwnPropertyNames, getOwnPropertySymbols } = Object;\nconst { hasOwnProperty } = Object.prototype;\n\n/**\n * Combine two comparators into a single comparators.\n */\nexport function combineComparators(\n comparatorA: AnyEqualityComparator,\n comparatorB: AnyEqualityComparator,\n) {\n return function isEqual(a: A, b: B, state: State) {\n return comparatorA(a, b, state) && comparatorB(a, b, state);\n };\n}\n\n/**\n * Wrap the provided `areItemsEqual` method to manage the circular state, allowing\n * for circular references to be safely included in the comparison without creating\n * stack overflows.\n */\nexport function createIsCircular<\n AreItemsEqual extends TypeEqualityComparator,\n>(areItemsEqual: AreItemsEqual): AreItemsEqual {\n return function isCircular(\n a: any,\n b: any,\n state: CircularState>,\n ) {\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return areItemsEqual(a, b, state);\n }\n\n const { cache } = state;\n\n const cachedA = cache.get(a);\n const cachedB = cache.get(b);\n\n if (cachedA && cachedB) {\n return cachedA === b && cachedB === a;\n }\n\n cache.set(a, b);\n cache.set(b, a);\n\n const result = areItemsEqual(a, b, state);\n\n cache.delete(a);\n cache.delete(b);\n\n return result;\n } as AreItemsEqual;\n}\n\n/**\n * Get the properties to strictly examine, which include both own properties that are\n * not enumerable and symbol properties.\n */\nexport function getStrictProperties(\n object: Dictionary,\n): Array {\n return (getOwnPropertyNames(object) as Array).concat(\n getOwnPropertySymbols(object),\n );\n}\n\n/**\n * Whether the object contains the property passed as an own property.\n */\nexport const hasOwn =\n Object.hasOwn ||\n ((object: Dictionary, property: number | string | symbol) =>\n hasOwnProperty.call(object, property));\n\n/**\n * Whether the values passed are strictly equal or both NaN.\n */\nexport function sameValueZeroEqual(a: any, b: any): boolean {\n return a || b ? a === b : a === b || (a !== a && b !== b);\n}\n","import { getStrictProperties, hasOwn, sameValueZeroEqual } from './utils';\nimport type {\n Dictionary,\n PrimitiveWrapper,\n State,\n TypedArray,\n} from './internalTypes';\n\nconst OWNER = '_owner';\n\nconst { getOwnPropertyDescriptor, keys } = Object;\n\n/**\n * Whether the arrays are equal in value.\n */\nexport function areArraysEqual(a: any[], b: any[], state: State) {\n let index = a.length;\n\n if (b.length !== index) {\n return false;\n }\n\n while (index-- > 0) {\n if (!state.equals(a[index], b[index], index, index, a, b, state)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Whether the dates passed are equal in value.\n */\nexport function areDatesEqual(a: Date, b: Date): boolean {\n return sameValueZeroEqual(a.getTime(), b.getTime());\n}\n\n/**\n * Whether the `Map`s are equal in value.\n */\nexport function areMapsEqual(\n a: Map,\n b: Map,\n state: State,\n): boolean {\n if (a.size !== b.size) {\n return false;\n }\n\n const matchedIndices: Record = {};\n const aIterable = a.entries();\n\n let index = 0;\n let aResult: IteratorResult<[any, any]>;\n let bResult: IteratorResult<[any, any]>;\n\n while ((aResult = aIterable.next())) {\n if (aResult.done) {\n break;\n }\n\n const bIterable = b.entries();\n\n let hasMatch = false;\n let matchIndex = 0;\n\n while ((bResult = bIterable.next())) {\n if (bResult.done) {\n break;\n }\n\n const [aKey, aValue] = aResult.value;\n const [bKey, bValue] = bResult.value;\n\n if (\n !hasMatch &&\n !matchedIndices[matchIndex] &&\n (hasMatch =\n state.equals(aKey, bKey, index, matchIndex, a, b, state) &&\n state.equals(aValue, bValue, aKey, bKey, a, b, state))\n ) {\n matchedIndices[matchIndex] = true;\n }\n\n matchIndex++;\n }\n\n if (!hasMatch) {\n return false;\n }\n\n index++;\n }\n\n return true;\n}\n\n/**\n * Whether the objects are equal in value.\n */\nexport function areObjectsEqual(\n a: Dictionary,\n b: Dictionary,\n state: State,\n): boolean {\n const properties = keys(a);\n\n let index = properties.length;\n\n if (keys(b).length !== index) {\n return false;\n }\n\n let property: string;\n\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n property = properties[index]!;\n\n if (\n property === OWNER &&\n (a.$$typeof || b.$$typeof) &&\n a.$$typeof !== b.$$typeof\n ) {\n return false;\n }\n\n if (\n !hasOwn(b, property) ||\n !state.equals(a[property], b[property], property, property, a, b, state)\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Whether the objects are equal in value with strict property checking.\n */\nexport function areObjectsEqualStrict(\n a: Dictionary,\n b: Dictionary,\n state: State,\n): boolean {\n const properties = getStrictProperties(a);\n\n let index = properties.length;\n\n if (getStrictProperties(b).length !== index) {\n return false;\n }\n\n let property: string | symbol;\n let descriptorA: ReturnType;\n let descriptorB: ReturnType;\n\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n property = properties[index]!;\n\n if (\n property === OWNER &&\n (a.$$typeof || b.$$typeof) &&\n a.$$typeof !== b.$$typeof\n ) {\n return false;\n }\n\n if (!hasOwn(b, property)) {\n return false;\n }\n\n if (\n !state.equals(a[property], b[property], property, property, a, b, state)\n ) {\n return false;\n }\n\n descriptorA = getOwnPropertyDescriptor(a, property);\n descriptorB = getOwnPropertyDescriptor(b, property);\n\n if (\n (descriptorA || descriptorB) &&\n (!descriptorA ||\n !descriptorB ||\n descriptorA.configurable !== descriptorB.configurable ||\n descriptorA.enumerable !== descriptorB.enumerable ||\n descriptorA.writable !== descriptorB.writable)\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Whether the primitive wrappers passed are equal in value.\n */\nexport function arePrimitiveWrappersEqual(\n a: PrimitiveWrapper,\n b: PrimitiveWrapper,\n): boolean {\n return sameValueZeroEqual(a.valueOf(), b.valueOf());\n}\n\n/**\n * Whether the regexps passed are equal in value.\n */\nexport function areRegExpsEqual(a: RegExp, b: RegExp): boolean {\n return a.source === b.source && a.flags === b.flags;\n}\n\n/**\n * Whether the `Set`s are equal in value.\n */\nexport function areSetsEqual(\n a: Set,\n b: Set,\n state: State,\n): boolean {\n if (a.size !== b.size) {\n return false;\n }\n\n const matchedIndices: Record = {};\n const aIterable = a.values();\n\n let aResult: IteratorResult;\n let bResult: IteratorResult;\n\n while ((aResult = aIterable.next())) {\n if (aResult.done) {\n break;\n }\n\n const bIterable = b.values();\n\n let hasMatch = false;\n let matchIndex = 0;\n\n while ((bResult = bIterable.next())) {\n if (bResult.done) {\n break;\n }\n\n if (\n !hasMatch &&\n !matchedIndices[matchIndex] &&\n (hasMatch = state.equals(\n aResult.value,\n bResult.value,\n aResult.value,\n bResult.value,\n a,\n b,\n state,\n ))\n ) {\n matchedIndices[matchIndex] = true;\n }\n\n matchIndex++;\n }\n\n if (!hasMatch) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Whether the TypedArray instances are equal in value.\n */\nexport function areTypedArraysEqual(a: TypedArray, b: TypedArray) {\n let index = a.length;\n\n if (b.length !== index) {\n return false;\n }\n\n while (index-- > 0) {\n if (a[index] !== b[index]) {\n return false;\n }\n }\n\n return true;\n}\n","import {\n areArraysEqual as areArraysEqualDefault,\n areDatesEqual as areDatesEqualDefault,\n areMapsEqual as areMapsEqualDefault,\n areObjectsEqual as areObjectsEqualDefault,\n areObjectsEqualStrict as areObjectsEqualStrictDefault,\n arePrimitiveWrappersEqual as arePrimitiveWrappersEqualDefault,\n areRegExpsEqual as areRegExpsEqualDefault,\n areSetsEqual as areSetsEqualDefault,\n areTypedArraysEqual,\n} from './equals';\nimport { combineComparators, createIsCircular } from './utils';\nimport type {\n ComparatorConfig,\n CreateState,\n CustomEqualCreatorOptions,\n EqualityComparator,\n InternalEqualityComparator,\n State,\n} from './internalTypes';\n\nconst ARGUMENTS_TAG = '[object Arguments]';\nconst BOOLEAN_TAG = '[object Boolean]';\nconst DATE_TAG = '[object Date]';\nconst MAP_TAG = '[object Map]';\nconst NUMBER_TAG = '[object Number]';\nconst OBJECT_TAG = '[object Object]';\nconst REG_EXP_TAG = '[object RegExp]';\nconst SET_TAG = '[object Set]';\nconst STRING_TAG = '[object String]';\n\nconst { isArray } = Array;\nconst isTypedArray =\n typeof ArrayBuffer === 'function' && ArrayBuffer.isView\n ? ArrayBuffer.isView\n : null;\nconst { assign } = Object;\nconst getTag = Object.prototype.toString.call.bind(\n Object.prototype.toString,\n) as (a: object) => string;\n\ninterface CreateIsEqualOptions {\n circular: boolean;\n comparator: EqualityComparator;\n createState: CreateState | undefined;\n equals: InternalEqualityComparator;\n strict: boolean;\n}\n\n/**\n * Create a comparator method based on the type-specific equality comparators passed.\n */\nexport function createEqualityComparator({\n areArraysEqual,\n areDatesEqual,\n areMapsEqual,\n areObjectsEqual,\n arePrimitiveWrappersEqual,\n areRegExpsEqual,\n areSetsEqual,\n areTypedArraysEqual,\n}: ComparatorConfig): EqualityComparator {\n /**\n * compare the value of the two objects and return true if they are equivalent in values\n */\n return function comparator(a: any, b: any, state: State): boolean {\n // If the items are strictly equal, no need to do a value comparison.\n if (a === b) {\n return true;\n }\n\n // If the items are not non-nullish objects, then the only possibility\n // of them being equal but not strictly is if they are both `NaN`. Since\n // `NaN` is uniquely not equal to itself, we can use self-comparison of\n // both objects, which is faster than `isNaN()`.\n if (\n a == null ||\n b == null ||\n typeof a !== 'object' ||\n typeof b !== 'object'\n ) {\n return a !== a && b !== b;\n }\n\n const constructor = a.constructor;\n\n // Checks are listed in order of commonality of use-case:\n // 1. Common complex object types (plain object, array)\n // 2. Common data values (date, regexp)\n // 3. Less-common complex object types (map, set)\n // 4. Less-common data values (promise, primitive wrappers)\n // Inherently this is both subjective and assumptive, however\n // when reviewing comparable libraries in the wild this order\n // appears to be generally consistent.\n\n // Constructors should match, otherwise there is potential for false positives\n // between class and subclass or custom object and POJO.\n if (constructor !== b.constructor) {\n return false;\n }\n\n // `isPlainObject` only checks against the object's own realm. Cross-realm\n // comparisons are rare, and will be handled in the ultimate fallback, so\n // we can avoid capturing the string tag.\n if (constructor === Object) {\n return areObjectsEqual(a, b, state);\n }\n\n // `isArray()` works on subclasses and is cross-realm, so we can avoid capturing\n // the string tag or doing an `instanceof` check.\n if (isArray(a)) {\n return areArraysEqual(a, b, state);\n }\n\n // `isTypedArray()` works on all possible TypedArray classes, so we can avoid\n // capturing the string tag or comparing against all possible constructors.\n if (isTypedArray != null && isTypedArray(a)) {\n return areTypedArraysEqual(a, b, state);\n }\n\n // Try to fast-path equality checks for other complex object types in the\n // same realm to avoid capturing the string tag. Strict equality is used\n // instead of `instanceof` because it is more performant for the common\n // use-case. If someone is subclassing a native class, it will be handled\n // with the string tag comparison.\n\n if (constructor === Date) {\n return areDatesEqual(a, b, state);\n }\n\n if (constructor === RegExp) {\n return areRegExpsEqual(a, b, state);\n }\n\n if (constructor === Map) {\n return areMapsEqual(a, b, state);\n }\n\n if (constructor === Set) {\n return areSetsEqual(a, b, state);\n }\n\n // Since this is a custom object, capture the string tag to determing its type.\n // This is reasonably performant in modern environments like v8 and SpiderMonkey.\n const tag = getTag(a);\n\n if (tag === DATE_TAG) {\n return areDatesEqual(a, b, state);\n }\n\n if (tag === REG_EXP_TAG) {\n return areRegExpsEqual(a, b, state);\n }\n\n if (tag === MAP_TAG) {\n return areMapsEqual(a, b, state);\n }\n\n if (tag === SET_TAG) {\n return areSetsEqual(a, b, state);\n }\n\n if (tag === OBJECT_TAG) {\n // The exception for value comparison is custom `Promise`-like class instances. These should\n // be treated the same as standard `Promise` objects, which means strict equality, and if\n // it reaches this point then that strict equality comparison has already failed.\n return (\n typeof a.then !== 'function' &&\n typeof b.then !== 'function' &&\n areObjectsEqual(a, b, state)\n );\n }\n\n // If an arguments tag, it should be treated as a standard object.\n if (tag === ARGUMENTS_TAG) {\n return areObjectsEqual(a, b, state);\n }\n\n // As the penultimate fallback, check if the values passed are primitive wrappers. This\n // is very rare in modern JS, which is why it is deprioritized compared to all other object\n // types.\n if (tag === BOOLEAN_TAG || tag === NUMBER_TAG || tag === STRING_TAG) {\n return arePrimitiveWrappersEqual(a, b, state);\n }\n\n // If not matching any tags that require a specific type of comparison, then we hard-code false because\n // the only thing remaining is strict equality, which has already been compared. This is for a few reasons:\n // - Certain types that cannot be introspected (e.g., `WeakMap`). For these types, this is the only\n // comparison that can be made.\n // - For types that can be introspected, but rarely have requirements to be compared\n // (`ArrayBuffer`, `DataView`, etc.), the cost is avoided to prioritize the common\n // use-cases (may be included in a future release, if requested enough).\n // - For types that can be introspected but do not have an objective definition of what\n // equality is (`Error`, etc.), the subjective decision is to be conservative and strictly compare.\n // In all cases, these decisions should be reevaluated based on changes to the language and\n // common development practices.\n return false;\n };\n}\n\n/**\n * Create the configuration object used for building comparators.\n */\nexport function createEqualityComparatorConfig({\n circular,\n createCustomConfig,\n strict,\n}: CustomEqualCreatorOptions): ComparatorConfig {\n let config = {\n areArraysEqual: strict\n ? areObjectsEqualStrictDefault\n : areArraysEqualDefault,\n areDatesEqual: areDatesEqualDefault,\n areMapsEqual: strict\n ? combineComparators(areMapsEqualDefault, areObjectsEqualStrictDefault)\n : areMapsEqualDefault,\n areObjectsEqual: strict\n ? areObjectsEqualStrictDefault\n : areObjectsEqualDefault,\n arePrimitiveWrappersEqual: arePrimitiveWrappersEqualDefault,\n areRegExpsEqual: areRegExpsEqualDefault,\n areSetsEqual: strict\n ? combineComparators(areSetsEqualDefault, areObjectsEqualStrictDefault)\n : areSetsEqualDefault,\n areTypedArraysEqual: strict\n ? areObjectsEqualStrictDefault\n : areTypedArraysEqual,\n };\n\n if (createCustomConfig) {\n config = assign({}, config, createCustomConfig(config));\n }\n\n if (circular) {\n const areArraysEqual = createIsCircular(config.areArraysEqual);\n const areMapsEqual = createIsCircular(config.areMapsEqual);\n const areObjectsEqual = createIsCircular(config.areObjectsEqual);\n const areSetsEqual = createIsCircular(config.areSetsEqual);\n\n config = assign({}, config, {\n areArraysEqual,\n areMapsEqual,\n areObjectsEqual,\n areSetsEqual,\n });\n }\n\n return config;\n}\n\n/**\n * Default equality comparator pass-through, used as the standard `isEqual` creator for\n * use inside the built comparator.\n */\nexport function createInternalEqualityComparator(\n compare: EqualityComparator,\n): InternalEqualityComparator {\n return function (\n a: any,\n b: any,\n _indexOrKeyA: any,\n _indexOrKeyB: any,\n _parentA: any,\n _parentB: any,\n state: State,\n ) {\n return compare(a, b, state);\n };\n}\n\n/**\n * Create the `isEqual` function used by the consuming application.\n */\nexport function createIsEqual({\n circular,\n comparator,\n createState,\n equals,\n strict,\n}: CreateIsEqualOptions) {\n if (createState) {\n return function isEqual(a: A, b: B): boolean {\n const { cache = circular ? new WeakMap() : undefined, meta } =\n createState!();\n\n return comparator(a, b, {\n cache,\n equals,\n meta,\n strict,\n } as State);\n };\n }\n\n if (circular) {\n return function isEqual(a: A, b: B): boolean {\n return comparator(a, b, {\n cache: new WeakMap(),\n equals,\n meta: undefined as Meta,\n strict,\n } as State);\n };\n }\n\n const state = {\n cache: undefined,\n equals,\n meta: undefined,\n strict,\n } as State;\n\n return function isEqual(a: A, b: B): boolean {\n return comparator(a, b, state);\n };\n}\n","import {\n createEqualityComparatorConfig,\n createEqualityComparator,\n createInternalEqualityComparator,\n createIsEqual,\n} from './comparator';\nimport type { CustomEqualCreatorOptions } from './internalTypes';\nimport { sameValueZeroEqual } from './utils';\n\nexport { sameValueZeroEqual };\nexport * from './internalTypes';\n\n/**\n * Whether the items passed are deeply-equal in value.\n */\nexport const deepEqual = createCustomEqual();\n\n/**\n * Whether the items passed are deeply-equal in value based on strict comparison.\n */\nexport const strictDeepEqual = createCustomEqual({ strict: true });\n\n/**\n * Whether the items passed are deeply-equal in value, including circular references.\n */\nexport const circularDeepEqual = createCustomEqual({ circular: true });\n\n/**\n * Whether the items passed are deeply-equal in value, including circular references,\n * based on strict comparison.\n */\nexport const strictCircularDeepEqual = createCustomEqual({\n circular: true,\n strict: true,\n});\n\n/**\n * Whether the items passed are shallowly-equal in value.\n */\nexport const shallowEqual = createCustomEqual({\n createInternalComparator: () => sameValueZeroEqual,\n});\n\n/**\n * Whether the items passed are shallowly-equal in value based on strict comparison\n */\nexport const strictShallowEqual = createCustomEqual({\n strict: true,\n createInternalComparator: () => sameValueZeroEqual,\n});\n\n/**\n * Whether the items passed are shallowly-equal in value, including circular references.\n */\nexport const circularShallowEqual = createCustomEqual({\n circular: true,\n createInternalComparator: () => sameValueZeroEqual,\n});\n\n/**\n * Whether the items passed are shallowly-equal in value, including circular references,\n * based on strict comparison.\n */\nexport const strictCircularShallowEqual = createCustomEqual({\n circular: true,\n createInternalComparator: () => sameValueZeroEqual,\n strict: true,\n});\n\n/**\n * Create a custom equality comparison method.\n *\n * This can be done to create very targeted comparisons in extreme hot-path scenarios\n * where the standard methods are not performant enough, but can also be used to provide\n * support for legacy environments that do not support expected features like\n * `RegExp.prototype.flags` out of the box.\n */\nexport function createCustomEqual(\n options: CustomEqualCreatorOptions = {},\n) {\n const {\n circular = false,\n createInternalComparator: createCustomInternalComparator,\n createState,\n strict = false,\n } = options;\n\n const config = createEqualityComparatorConfig(options);\n const comparator = createEqualityComparator(config);\n const equals = createCustomInternalComparator\n ? createCustomInternalComparator(comparator)\n : createInternalEqualityComparator(comparator);\n\n return createIsEqual({ circular, comparator, createState, equals, strict });\n}\n","function safeRequestAnimationFrame(callback) {\n if (typeof requestAnimationFrame !== 'undefined') requestAnimationFrame(callback);\n}\nexport default function setRafTimeout(callback) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var currTime = -1;\n var shouldUpdate = function shouldUpdate(now) {\n if (currTime < 0) {\n currTime = now;\n }\n if (now - currTime > timeout) {\n callback(now);\n currTime = -1;\n } else {\n safeRequestAnimationFrame(shouldUpdate);\n }\n };\n requestAnimationFrame(shouldUpdate);\n}","function _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); }\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport setRafTimeout from './setRafTimeout';\nexport default function createAnimateManager() {\n var currStyle = {};\n var handleChange = function handleChange() {\n return null;\n };\n var shouldStop = false;\n var setStyle = function setStyle(_style) {\n if (shouldStop) {\n return;\n }\n if (Array.isArray(_style)) {\n if (!_style.length) {\n return;\n }\n var styles = _style;\n var _styles = _toArray(styles),\n curr = _styles[0],\n restStyles = _styles.slice(1);\n if (typeof curr === 'number') {\n setRafTimeout(setStyle.bind(null, restStyles), curr);\n return;\n }\n setStyle(curr);\n setRafTimeout(setStyle.bind(null, restStyles));\n return;\n }\n if (_typeof(_style) === 'object') {\n currStyle = _style;\n handleChange(currStyle);\n }\n if (typeof _style === 'function') {\n _style();\n }\n };\n return {\n stop: function stop() {\n shouldStop = true;\n },\n start: function start(style) {\n shouldStop = false;\n setStyle(style);\n },\n subscribe: function subscribe(_handleChange) {\n handleChange = _handleChange;\n return function () {\n handleChange = function handleChange() {\n return null;\n };\n };\n }\n };\n}","function _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); }\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; }\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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/* eslint no-console: 0 */\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nvar IN_LINE_PREFIX_LIST = ['-webkit-', '-moz-', '-o-', '-ms-'];\nvar IN_COMPATIBLE_PROPERTY = ['transform', 'transformOrigin', 'transition'];\nexport var getIntersectionKeys = function getIntersectionKeys(preObj, nextObj) {\n return [Object.keys(preObj), Object.keys(nextObj)].reduce(function (a, b) {\n return a.filter(function (c) {\n return b.includes(c);\n });\n });\n};\nexport var identity = function identity(param) {\n return param;\n};\n\n/*\n * @description: convert camel case to dash case\n * string => string\n */\nexport var getDashCase = function getDashCase(name) {\n return name.replace(/([A-Z])/g, function (v) {\n return \"-\".concat(v.toLowerCase());\n });\n};\n\n/*\n * @description: add compatible style prefix\n * (string, string) => object\n */\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (IN_COMPATIBLE_PROPERTY.indexOf(name) === -1) {\n return _defineProperty({}, name, Number.isNaN(value) ? 0 : value);\n }\n var isTransition = name === 'transition';\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var styleVal = value;\n return PREFIX_LIST.reduce(function (result, property, i) {\n if (isTransition) {\n styleVal = value.replace(/(transform|transform-origin)/gim, \"\".concat(IN_LINE_PREFIX_LIST[i], \"$1\"));\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, property + camelName, styleVal));\n }, {});\n};\nexport var log = function log() {\n var _console;\n (_console = console).log.apply(_console, arguments);\n};\n\n/*\n * @description: log the value of a varible\n * string => any => any\n */\nexport var debug = function debug(name) {\n return function (item) {\n log(name, item);\n return item;\n };\n};\n\n/*\n * @description: log name, args, return value of a function\n * function => function\n */\nexport var debugf = function debugf(tag, f) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var res = f.apply(void 0, args);\n var name = tag || f.name || 'anonymous function';\n var argNames = \"(\".concat(args.map(JSON.stringify).join(', '), \")\");\n log(\"\".concat(name, \": \").concat(argNames, \" => \").concat(JSON.stringify(res)));\n return res;\n };\n};\n\n/*\n * @description: map object on every element in this object.\n * (function, object) => object\n */\nexport var mapObject = function mapObject(fn, obj) {\n return Object.keys(obj).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, fn(key, obj[key])));\n }, {});\n};\n\n/*\n * @description: add compatible prefix to style\n * object => object\n */\nexport var translateStyle = function translateStyle(style) {\n return Object.keys(style).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), generatePrefixStyle(key, res[key]));\n }, style);\n};\nexport var compose = function compose() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (!args.length) {\n return identity;\n }\n var fns = args.reverse();\n // first function can receive multiply arguments\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var getTransitionVal = function getTransitionVal(props, duration, easing) {\n return props.map(function (prop) {\n return \"\".concat(getDashCase(prop), \" \").concat(duration, \"ms \").concat(easing);\n }).join(',');\n};\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format, a, b, c, d, e, f) {\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { warn } from './util';\nvar ACCURACY = 1e-4;\nvar cubicBezierFactor = function cubicBezierFactor(c1, c2) {\n return [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];\n};\nvar multyTime = function multyTime(params, t) {\n return params.map(function (param, i) {\n return param * Math.pow(t, i);\n }).reduce(function (pre, curr) {\n return pre + curr;\n });\n};\nvar cubicBezier = function cubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n return multyTime(params, t);\n };\n};\nvar derivativeCubicBezier = function derivativeCubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n var newParams = [].concat(_toConsumableArray(params.map(function (param, i) {\n return param * i;\n }).slice(1)), [0]);\n return multyTime(newParams, t);\n };\n};\n\n// calculate cubic-bezier using Newton's method\nexport var configBezier = function configBezier() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var x1 = args[0],\n y1 = args[1],\n x2 = args[2],\n y2 = args[3];\n if (args.length === 1) {\n switch (args[0]) {\n case 'linear':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n case 'ease':\n x1 = 0.25;\n y1 = 0.1;\n x2 = 0.25;\n y2 = 1.0;\n break;\n case 'ease-in':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n case 'ease-out':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n case 'ease-in-out':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n default:\n {\n var easing = args[0].split('(');\n if (easing[0] === 'cubic-bezier' && easing[1].split(')')[0].split(',').length === 4) {\n var _easing$1$split$0$spl = easing[1].split(')')[0].split(',').map(function (x) {\n return parseFloat(x);\n });\n var _easing$1$split$0$spl2 = _slicedToArray(_easing$1$split$0$spl, 4);\n x1 = _easing$1$split$0$spl2[0];\n y1 = _easing$1$split$0$spl2[1];\n x2 = _easing$1$split$0$spl2[2];\n y2 = _easing$1$split$0$spl2[3];\n } else {\n warn(false, '[configBezier]: arguments should be one of ' + \"oneOf 'linear', 'ease', 'ease-in', 'ease-out', \" + \"'ease-in-out','cubic-bezier(x1,y1,x2,y2)', instead received %s\", args);\n }\n }\n }\n }\n warn([x1, x2, y1, y2].every(function (num) {\n return typeof num === 'number' && num >= 0 && num <= 1;\n }), '[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s', args);\n var curveX = cubicBezier(x1, x2);\n var curveY = cubicBezier(y1, y2);\n var derCurveX = derivativeCubicBezier(x1, x2);\n var rangeValue = function rangeValue(value) {\n if (value > 1) {\n return 1;\n }\n if (value < 0) {\n return 0;\n }\n return value;\n };\n var bezier = function bezier(_t) {\n var t = _t > 1 ? 1 : _t;\n var x = t;\n for (var i = 0; i < 8; ++i) {\n var evalT = curveX(x) - t;\n var derVal = derCurveX(x);\n if (Math.abs(evalT - t) < ACCURACY || derVal < ACCURACY) {\n return curveY(x);\n }\n x = rangeValue(x - evalT / derVal);\n }\n return curveY(x);\n };\n bezier.isStepper = false;\n return bezier;\n};\nexport var configSpring = function configSpring() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _config$stiff = config.stiff,\n stiff = _config$stiff === void 0 ? 100 : _config$stiff,\n _config$damping = config.damping,\n damping = _config$damping === void 0 ? 8 : _config$damping,\n _config$dt = config.dt,\n dt = _config$dt === void 0 ? 17 : _config$dt;\n var stepper = function stepper(currX, destX, currV) {\n var FSpring = -(currX - destX) * stiff;\n var FDamping = currV * damping;\n var newV = currV + (FSpring - FDamping) * dt / 1000;\n var newX = currV * dt / 1000 + currX;\n if (Math.abs(newX - destX) < ACCURACY && Math.abs(newV) < ACCURACY) {\n return [destX, 0];\n }\n return [newX, newV];\n };\n stepper.isStepper = true;\n stepper.dt = dt;\n return stepper;\n};\nexport var configEasing = function configEasing() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var easing = args[0];\n if (typeof easing === 'string') {\n switch (easing) {\n case 'ease':\n case 'ease-in-out':\n case 'ease-out':\n case 'ease-in':\n case 'linear':\n return configBezier(easing);\n case 'spring':\n return configSpring();\n default:\n if (easing.split('(')[0] === 'cubic-bezier') {\n return configBezier(easing);\n }\n warn(false, \"[configEasing]: first argument should be one of 'ease', 'ease-in', \" + \"'ease-out', 'ease-in-out','cubic-bezier(x1,y1,x2,y2)', 'linear' and 'spring', instead received %s\", args);\n }\n }\n if (typeof easing === 'function') {\n return easing;\n }\n warn(false, '[configEasing]: first argument type should be function or string, instead received %s', args);\n return null;\n};","function _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); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport { getIntersectionKeys, mapObject } from './util';\nvar alpha = function alpha(begin, end, k) {\n return begin + (end - begin) * k;\n};\nvar needContinue = function needContinue(_ref) {\n var from = _ref.from,\n to = _ref.to;\n return from !== to;\n};\n\n/*\n * @description: cal new from value and velocity in each stepper\n * @return: { [styleProperty]: { from, to, velocity } }\n */\nvar calStepperVals = function calStepperVals(easing, preVals, steps) {\n var nextStepVals = mapObject(function (key, val) {\n if (needContinue(val)) {\n var _easing = easing(val.from, val.to, val.velocity),\n _easing2 = _slicedToArray(_easing, 2),\n newX = _easing2[0],\n newV = _easing2[1];\n return _objectSpread(_objectSpread({}, val), {}, {\n from: newX,\n velocity: newV\n });\n }\n return val;\n }, preVals);\n if (steps < 1) {\n return mapObject(function (key, val) {\n if (needContinue(val)) {\n return _objectSpread(_objectSpread({}, val), {}, {\n velocity: alpha(val.velocity, nextStepVals[key].velocity, steps),\n from: alpha(val.from, nextStepVals[key].from, steps)\n });\n }\n return val;\n }, preVals);\n }\n return calStepperVals(easing, nextStepVals, steps - 1);\n};\n\n// configure update function\nexport default (function (from, to, easing, duration, render) {\n var interKeys = getIntersectionKeys(from, to);\n var timingStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, [from[key], to[key]]));\n }, {});\n var stepperStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, {\n from: from[key],\n velocity: 0,\n to: to[key]\n }));\n }, {});\n var cafId = -1;\n var preTime;\n var beginTime;\n var update = function update() {\n return null;\n };\n var getCurrStyle = function getCurrStyle() {\n return mapObject(function (key, val) {\n return val.from;\n }, stepperStyle);\n };\n var shouldStopAnimation = function shouldStopAnimation() {\n return !Object.values(stepperStyle).filter(needContinue).length;\n };\n\n // stepper timing function like spring\n var stepperUpdate = function stepperUpdate(now) {\n if (!preTime) {\n preTime = now;\n }\n var deltaTime = now - preTime;\n var steps = deltaTime / easing.dt;\n stepperStyle = calStepperVals(easing, stepperStyle, steps);\n // get union set and add compatible prefix\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), getCurrStyle(stepperStyle)));\n preTime = now;\n if (!shouldStopAnimation()) {\n cafId = requestAnimationFrame(update);\n }\n };\n\n // t => val timing function like cubic-bezier\n var timingUpdate = function timingUpdate(now) {\n if (!beginTime) {\n beginTime = now;\n }\n var t = (now - beginTime) / duration;\n var currStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(t)]));\n }, timingStyle);\n\n // get union set and add compatible prefix\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), currStyle));\n if (t < 1) {\n cafId = requestAnimationFrame(update);\n } else {\n var finalStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(1)]));\n }, timingStyle);\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), finalStyle));\n }\n };\n update = easing.isStepper ? stepperUpdate : timingUpdate;\n\n // return start animation method\n return function () {\n requestAnimationFrame(update);\n\n // return stop animation method\n return function () {\n cancelAnimationFrame(cafId);\n };\n };\n});","function _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); }\nvar _excluded = [\"children\", \"begin\", \"duration\", \"attributeName\", \"easing\", \"isActive\", \"steps\", \"from\", \"to\", \"canBegin\", \"onAnimationEnd\", \"shouldReAnimate\", \"onAnimationReStart\"];\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; }\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; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\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; }\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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nimport React, { PureComponent, cloneElement, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { deepEqual } from 'fast-equals';\nimport createAnimateManager from './AnimateManager';\nimport { configEasing } from './easing';\nimport configUpdate from './configUpdate';\nimport { getTransitionVal, identity, translateStyle } from './util';\nvar Animate = /*#__PURE__*/function (_PureComponent) {\n _inherits(Animate, _PureComponent);\n var _super = _createSuper(Animate);\n function Animate(props, context) {\n var _this;\n _classCallCheck(this, Animate);\n _this = _super.call(this, props, context);\n var _this$props = _this.props,\n isActive = _this$props.isActive,\n attributeName = _this$props.attributeName,\n from = _this$props.from,\n to = _this$props.to,\n steps = _this$props.steps,\n children = _this$props.children,\n duration = _this$props.duration;\n _this.handleStyleChange = _this.handleStyleChange.bind(_assertThisInitialized(_this));\n _this.changeStyle = _this.changeStyle.bind(_assertThisInitialized(_this));\n if (!isActive || duration <= 0) {\n _this.state = {\n style: {}\n };\n\n // if children is a function and animation is not active, set style to 'to'\n if (typeof children === 'function') {\n _this.state = {\n style: to\n };\n }\n return _possibleConstructorReturn(_this);\n }\n if (steps && steps.length) {\n _this.state = {\n style: steps[0].style\n };\n } else if (from) {\n if (typeof children === 'function') {\n _this.state = {\n style: from\n };\n return _possibleConstructorReturn(_this);\n }\n _this.state = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n } else {\n _this.state = {\n style: {}\n };\n }\n return _this;\n }\n _createClass(Animate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n isActive = _this$props2.isActive,\n canBegin = _this$props2.canBegin;\n this.mounted = true;\n if (!isActive || !canBegin) {\n return;\n }\n this.runAnimation(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n isActive = _this$props3.isActive,\n canBegin = _this$props3.canBegin,\n attributeName = _this$props3.attributeName,\n shouldReAnimate = _this$props3.shouldReAnimate,\n to = _this$props3.to,\n currentFrom = _this$props3.from;\n var style = this.state.style;\n if (!canBegin) {\n return;\n }\n if (!isActive) {\n var newState = {\n style: attributeName ? _defineProperty({}, attributeName, to) : to\n };\n if (this.state && style) {\n if (attributeName && style[attributeName] !== to || !attributeName && style !== to) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(newState);\n }\n }\n return;\n }\n if (deepEqual(prevProps.to, to) && prevProps.canBegin && prevProps.isActive) {\n return;\n }\n var isTriggered = !prevProps.canBegin || !prevProps.isActive;\n if (this.manager) {\n this.manager.stop();\n }\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n var from = isTriggered || shouldReAnimate ? currentFrom : prevProps.to;\n if (this.state && style) {\n var _newState = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n if (attributeName && [attributeName] !== from || !attributeName && style !== from) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(_newState);\n }\n }\n this.runAnimation(_objectSpread(_objectSpread({}, this.props), {}, {\n from: from,\n begin: 0\n }));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n var onAnimationEnd = this.props.onAnimationEnd;\n if (this.unSubscribe) {\n this.unSubscribe();\n }\n if (this.manager) {\n this.manager.stop();\n this.manager = null;\n }\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n if (onAnimationEnd) {\n onAnimationEnd();\n }\n }\n }, {\n key: \"handleStyleChange\",\n value: function handleStyleChange(style) {\n this.changeStyle(style);\n }\n }, {\n key: \"changeStyle\",\n value: function changeStyle(style) {\n if (this.mounted) {\n this.setState({\n style: style\n });\n }\n }\n }, {\n key: \"runJSAnimation\",\n value: function runJSAnimation(props) {\n var _this2 = this;\n var from = props.from,\n to = props.to,\n duration = props.duration,\n easing = props.easing,\n begin = props.begin,\n onAnimationEnd = props.onAnimationEnd,\n onAnimationStart = props.onAnimationStart;\n var startAnimation = configUpdate(from, to, configEasing(easing), duration, this.changeStyle);\n var finalStartAnimation = function finalStartAnimation() {\n _this2.stopJSAnimation = startAnimation();\n };\n this.manager.start([onAnimationStart, begin, finalStartAnimation, duration, onAnimationEnd]);\n }\n }, {\n key: \"runStepAnimation\",\n value: function runStepAnimation(props) {\n var _this3 = this;\n var steps = props.steps,\n begin = props.begin,\n onAnimationStart = props.onAnimationStart;\n var _steps$ = steps[0],\n initialStyle = _steps$.style,\n _steps$$duration = _steps$.duration,\n initialTime = _steps$$duration === void 0 ? 0 : _steps$$duration;\n var addStyle = function addStyle(sequence, nextItem, index) {\n if (index === 0) {\n return sequence;\n }\n var duration = nextItem.duration,\n _nextItem$easing = nextItem.easing,\n easing = _nextItem$easing === void 0 ? 'ease' : _nextItem$easing,\n style = nextItem.style,\n nextProperties = nextItem.properties,\n onAnimationEnd = nextItem.onAnimationEnd;\n var preItem = index > 0 ? steps[index - 1] : nextItem;\n var properties = nextProperties || Object.keys(style);\n if (typeof easing === 'function' || easing === 'spring') {\n return [].concat(_toConsumableArray(sequence), [_this3.runJSAnimation.bind(_this3, {\n from: preItem.style,\n to: style,\n duration: duration,\n easing: easing\n }), duration]);\n }\n var transition = getTransitionVal(properties, duration, easing);\n var newStyle = _objectSpread(_objectSpread(_objectSpread({}, preItem.style), style), {}, {\n transition: transition\n });\n return [].concat(_toConsumableArray(sequence), [newStyle, duration, onAnimationEnd]).filter(identity);\n };\n return this.manager.start([onAnimationStart].concat(_toConsumableArray(steps.reduce(addStyle, [initialStyle, Math.max(initialTime, begin)])), [props.onAnimationEnd]));\n }\n }, {\n key: \"runAnimation\",\n value: function runAnimation(props) {\n if (!this.manager) {\n this.manager = createAnimateManager();\n }\n var begin = props.begin,\n duration = props.duration,\n attributeName = props.attributeName,\n propsTo = props.to,\n easing = props.easing,\n onAnimationStart = props.onAnimationStart,\n onAnimationEnd = props.onAnimationEnd,\n steps = props.steps,\n children = props.children;\n var manager = this.manager;\n this.unSubscribe = manager.subscribe(this.handleStyleChange);\n if (typeof easing === 'function' || typeof children === 'function' || easing === 'spring') {\n this.runJSAnimation(props);\n return;\n }\n if (steps.length > 1) {\n this.runStepAnimation(props);\n return;\n }\n var to = attributeName ? _defineProperty({}, attributeName, propsTo) : propsTo;\n var transition = getTransitionVal(Object.keys(to), duration, easing);\n manager.start([onAnimationStart, begin, _objectSpread(_objectSpread({}, to), {}, {\n transition: transition\n }), duration, onAnimationEnd]);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n begin = _this$props4.begin,\n duration = _this$props4.duration,\n attributeName = _this$props4.attributeName,\n easing = _this$props4.easing,\n isActive = _this$props4.isActive,\n steps = _this$props4.steps,\n from = _this$props4.from,\n to = _this$props4.to,\n canBegin = _this$props4.canBegin,\n onAnimationEnd = _this$props4.onAnimationEnd,\n shouldReAnimate = _this$props4.shouldReAnimate,\n onAnimationReStart = _this$props4.onAnimationReStart,\n others = _objectWithoutProperties(_this$props4, _excluded);\n var count = Children.count(children);\n // eslint-disable-next-line react/destructuring-assignment\n var stateStyle = translateStyle(this.state.style);\n if (typeof children === 'function') {\n return children(stateStyle);\n }\n if (!isActive || count === 0 || duration <= 0) {\n return children;\n }\n var cloneContainer = function cloneContainer(container) {\n var _container$props = container.props,\n _container$props$styl = _container$props.style,\n style = _container$props$styl === void 0 ? {} : _container$props$styl,\n className = _container$props.className;\n var res = /*#__PURE__*/cloneElement(container, _objectSpread(_objectSpread({}, others), {}, {\n style: _objectSpread(_objectSpread({}, style), stateStyle),\n className: className\n }));\n return res;\n };\n if (count === 1) {\n return cloneContainer(Children.only(children));\n }\n return /*#__PURE__*/React.createElement(\"div\", null, Children.map(children, function (child) {\n return cloneContainer(child);\n }));\n }\n }]);\n return Animate;\n}(PureComponent);\nAnimate.displayName = 'Animate';\nAnimate.defaultProps = {\n begin: 0,\n duration: 1000,\n from: '',\n to: '',\n attributeName: '',\n easing: 'ease',\n isActive: true,\n canBegin: true,\n steps: [],\n onAnimationEnd: function onAnimationEnd() {},\n onAnimationStart: function onAnimationStart() {}\n};\nAnimate.propTypes = {\n from: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n to: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n attributeName: PropTypes.string,\n // animation duration\n duration: PropTypes.number,\n begin: PropTypes.number,\n easing: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n steps: PropTypes.arrayOf(PropTypes.shape({\n duration: PropTypes.number.isRequired,\n style: PropTypes.object.isRequired,\n easing: PropTypes.oneOfType([PropTypes.oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear']), PropTypes.func]),\n // transition css properties(dash case), optional\n properties: PropTypes.arrayOf('string'),\n onAnimationEnd: PropTypes.func\n })),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n isActive: PropTypes.bool,\n canBegin: PropTypes.bool,\n onAnimationEnd: PropTypes.func,\n // decide if it should reanimate with initial from style when props change\n shouldReAnimate: PropTypes.bool,\n onAnimationStart: PropTypes.func,\n onAnimationReStart: PropTypes.func\n};\nexport default Animate;","var _excluded = [\"children\", \"appearOptions\", \"enterOptions\", \"leaveOptions\"];\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); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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; }\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; }\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; }\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; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { Component, Children } from 'react';\nimport { Transition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport Animate from './Animate';\nif (Number.isFinite === undefined) {\n Number.isFinite = function (value) {\n return typeof value === 'number' && isFinite(value);\n };\n}\nvar parseDurationOfSingleTransition = function parseDurationOfSingleTransition() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var steps = options.steps,\n duration = options.duration;\n if (steps && steps.length) {\n return steps.reduce(function (result, entry) {\n return result + (Number.isFinite(entry.duration) && entry.duration > 0 ? entry.duration : 0);\n }, 0);\n }\n if (Number.isFinite(duration)) {\n return duration;\n }\n return 0;\n};\nvar AnimateGroupChild = /*#__PURE__*/function (_Component) {\n _inherits(AnimateGroupChild, _Component);\n var _super = _createSuper(AnimateGroupChild);\n function AnimateGroupChild() {\n var _this;\n _classCallCheck(this, AnimateGroupChild);\n _this = _super.call(this);\n _defineProperty(_assertThisInitialized(_this), \"handleEnter\", function (node, isAppearing) {\n var _this$props = _this.props,\n appearOptions = _this$props.appearOptions,\n enterOptions = _this$props.enterOptions;\n _this.handleStyleActive(isAppearing ? appearOptions : enterOptions);\n });\n _defineProperty(_assertThisInitialized(_this), \"handleExit\", function () {\n var leaveOptions = _this.props.leaveOptions;\n _this.handleStyleActive(leaveOptions);\n });\n _this.state = {\n isActive: false\n };\n return _this;\n }\n _createClass(AnimateGroupChild, [{\n key: \"handleStyleActive\",\n value: function handleStyleActive(style) {\n if (style) {\n var onAnimationEnd = style.onAnimationEnd ? function () {\n style.onAnimationEnd();\n } : null;\n this.setState(_objectSpread(_objectSpread({}, style), {}, {\n onAnimationEnd: onAnimationEnd,\n isActive: true\n }));\n }\n }\n }, {\n key: \"parseTimeout\",\n value: function parseTimeout() {\n var _this$props2 = this.props,\n appearOptions = _this$props2.appearOptions,\n enterOptions = _this$props2.enterOptions,\n leaveOptions = _this$props2.leaveOptions;\n return parseDurationOfSingleTransition(appearOptions) + parseDurationOfSingleTransition(enterOptions) + parseDurationOfSingleTransition(leaveOptions);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props3 = this.props,\n children = _this$props3.children,\n appearOptions = _this$props3.appearOptions,\n enterOptions = _this$props3.enterOptions,\n leaveOptions = _this$props3.leaveOptions,\n props = _objectWithoutProperties(_this$props3, _excluded);\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n timeout: this.parseTimeout()\n }), function () {\n return /*#__PURE__*/React.createElement(Animate, _this2.state, Children.only(children));\n });\n }\n }]);\n return AnimateGroupChild;\n}(Component);\nAnimateGroupChild.propTypes = {\n appearOptions: PropTypes.object,\n enterOptions: PropTypes.object,\n leaveOptions: PropTypes.object,\n children: PropTypes.element\n};\nexport default AnimateGroupChild;","import React, { Children } from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport AnimateGroupChild from './AnimateGroupChild';\nfunction AnimateGroup(props) {\n var component = props.component,\n children = props.children,\n appear = props.appear,\n enter = props.enter,\n leave = props.leave;\n return /*#__PURE__*/React.createElement(TransitionGroup, {\n component: component\n }, Children.map(children, function (child, index) {\n return /*#__PURE__*/React.createElement(AnimateGroupChild, {\n appearOptions: appear,\n enterOptions: enter,\n leaveOptions: leave,\n key: \"child-\".concat(index) // eslint-disable-line\n }, child);\n }));\n}\nAnimateGroup.propTypes = {\n appear: PropTypes.object,\n enter: PropTypes.object,\n leave: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.element]),\n component: PropTypes.any\n};\nAnimateGroup.defaultProps = {\n component: 'span'\n};\nexport default AnimateGroup;","import Animate from './Animate';\nimport { configBezier, configSpring } from './easing';\nimport { translateStyle } from './util';\nimport AnimateGroup from './AnimateGroup';\nexport { configSpring, configBezier, AnimateGroup, translateStyle };\nexport default Animate;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *

\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"x\", \"y\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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; }\nimport React from 'react';\nimport { Shape } from './ActiveShapeUtils';\n\n// Rectangle props is expecting x, y, height, width as numbers, name as a string, and radius as a custom type\n// When props are being spread in from a user defined component in Bar,\n// the prop types of an SVGElement have these typed as something else.\n// This function will return the passed in props\n// along with x, y, height as numbers, name as a string, and radius as number | [number, numbe, number, number]\nfunction typeguardBarRectangleProps(_ref, props) {\n var xProp = _ref.x,\n yProp = _ref.y,\n option = _objectWithoutProperties(_ref, _excluded);\n var xValue = \"\".concat(xProp);\n var x = parseInt(xValue, 10);\n var yValue = \"\".concat(yProp);\n var y = parseInt(yValue, 10);\n var heightValue = \"\".concat(props.height || option.height);\n var height = parseInt(heightValue, 10);\n var widthValue = \"\".concat(props.width || option.width);\n var width = parseInt(widthValue, 10);\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, props), option), x ? {\n x: x\n } : {}), y ? {\n y: y\n } : {}), {}, {\n height: height,\n width: width,\n name: props.name,\n radius: props.radius\n });\n}\nexport function BarRectangle(props) {\n return /*#__PURE__*/React.createElement(Shape, _extends({\n shapeType: \"rectangle\",\n propTransformer: typeguardBarRectangleProps,\n activeClassName: \"recharts-active-bar\"\n }, props));\n}","import _isNil from \"lodash/isNil\";\nimport _isEqual from \"lodash/isEqual\";\nimport _isArray from \"lodash/isArray\";\nvar _excluded = [\"value\", \"background\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\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; }\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; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Render a group of bar\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { Layer } from '../container/Layer';\nimport { ErrorBar } from './ErrorBar';\nimport { Cell } from '../component/Cell';\nimport { LabelList } from '../component/LabelList';\nimport { uniqueId, mathSign, interpolateNumber } from '../util/DataUtils';\nimport { filterProps, findAllByType } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { getCateCoordinateOfBar, getValueByDataKey, truncateByDomain, getBaseValueOfBar, findPositionOfBar, getTooltipItem } from '../util/ChartUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { BarRectangle } from '../util/BarUtils';\nexport var Bar = /*#__PURE__*/function (_PureComponent) {\n _inherits(Bar, _PureComponent);\n var _super = _createSuper(Bar);\n function Bar() {\n var _this;\n _classCallCheck(this, Bar);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isAnimationFinished: false\n });\n _defineProperty(_assertThisInitialized(_this), \"id\", uniqueId('recharts-bar-'));\n _defineProperty(_assertThisInitialized(_this), \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (onAnimationEnd) {\n onAnimationEnd();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (onAnimationStart) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _createClass(Bar, [{\n key: \"renderRectanglesStatically\",\n value: function renderRectanglesStatically(data) {\n var _this2 = this;\n var _this$props = this.props,\n shape = _this$props.shape,\n dataKey = _this$props.dataKey,\n activeIndex = _this$props.activeIndex,\n activeBar = _this$props.activeBar;\n var baseProps = filterProps(this.props);\n return data && data.map(function (entry, i) {\n var isActive = i === activeIndex;\n var option = isActive ? activeBar : shape;\n var props = _objectSpread(_objectSpread(_objectSpread({}, baseProps), entry), {}, {\n isActive: isActive,\n option: option,\n index: i,\n dataKey: dataKey,\n onAnimationStart: _this2.handleAnimationStart,\n onAnimationEnd: _this2.handleAnimationEnd\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-bar-rectangle\"\n }, adaptEventsOfChild(_this2.props, entry, i), {\n key: \"rectangle-\".concat(i) // eslint-disable-line react/no-array-index-key\n }), /*#__PURE__*/React.createElement(BarRectangle, props));\n });\n }\n }, {\n key: \"renderRectanglesWithAnimation\",\n value: function renderRectanglesWithAnimation() {\n var _this3 = this;\n var _this$props2 = this.props,\n data = _this$props2.data,\n layout = _this$props2.layout,\n isAnimationActive = _this$props2.isAnimationActive,\n animationBegin = _this$props2.animationBegin,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n animationId = _this$props2.animationId;\n var prevData = this.state.prevData;\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"bar-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n var stepData = data.map(function (entry, index) {\n var prev = prevData && prevData[index];\n if (prev) {\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n var interpolatorWidth = interpolateNumber(prev.width, entry.width);\n var interpolatorHeight = interpolateNumber(prev.height, entry.height);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t),\n width: interpolatorWidth(t),\n height: interpolatorHeight(t)\n });\n }\n if (layout === 'horizontal') {\n var _interpolatorHeight = interpolateNumber(0, entry.height);\n var h = _interpolatorHeight(t);\n return _objectSpread(_objectSpread({}, entry), {}, {\n y: entry.y + entry.height - h,\n height: h\n });\n }\n var interpolator = interpolateNumber(0, entry.width);\n var w = interpolator(t);\n return _objectSpread(_objectSpread({}, entry), {}, {\n width: w\n });\n });\n return /*#__PURE__*/React.createElement(Layer, null, _this3.renderRectanglesStatically(stepData));\n });\n }\n }, {\n key: \"renderRectangles\",\n value: function renderRectangles() {\n var _this$props3 = this.props,\n data = _this$props3.data,\n isAnimationActive = _this$props3.isAnimationActive;\n var prevData = this.state.prevData;\n if (isAnimationActive && data && data.length && (!prevData || !_isEqual(prevData, data))) {\n return this.renderRectanglesWithAnimation();\n }\n return this.renderRectanglesStatically(data);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this4 = this;\n var _this$props4 = this.props,\n data = _this$props4.data,\n dataKey = _this$props4.dataKey,\n activeIndex = _this$props4.activeIndex;\n var backgroundProps = filterProps(this.props.background);\n return data.map(function (entry, i) {\n var value = entry.value,\n background = entry.background,\n rest = _objectWithoutProperties(entry, _excluded);\n if (!background) {\n return null;\n }\n var props = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), {}, {\n fill: '#eee'\n }, background), backgroundProps), adaptEventsOfChild(_this4.props, entry, i)), {}, {\n onAnimationStart: _this4.handleAnimationStart,\n onAnimationEnd: _this4.handleAnimationEnd,\n dataKey: dataKey,\n index: i,\n key: \"background-bar-\".concat(i),\n className: 'recharts-bar-background-rectangle'\n });\n return /*#__PURE__*/React.createElement(BarRectangle, _extends({\n option: _this4.props.background,\n isActive: i === activeIndex\n }, props));\n });\n }\n }, {\n key: \"renderErrorBar\",\n value: function renderErrorBar(needClip, clipPathId) {\n if (this.props.isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n var _this$props5 = this.props,\n data = _this$props5.data,\n xAxis = _this$props5.xAxis,\n yAxis = _this$props5.yAxis,\n layout = _this$props5.layout,\n children = _this$props5.children;\n var errorBarItems = findAllByType(children, ErrorBar);\n if (!errorBarItems) {\n return null;\n }\n var offset = layout === 'vertical' ? data[0].height / 2 : data[0].width / 2;\n var dataPointFormatter = function dataPointFormatter(dataPoint, dataKey) {\n /**\n * if the value coming from `getComposedData` is an array then this is a stacked bar chart.\n * arr[1] represents end value of the bar since the data is in the form of [startValue, endValue].\n * */\n var value = Array.isArray(dataPoint.value) ? dataPoint.value[1] : dataPoint.value;\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value: value,\n errorVal: getValueByDataKey(dataPoint, dataKey)\n };\n };\n var errorBarProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, errorBarProps, errorBarItems.map(function (item, i) {\n return /*#__PURE__*/React.cloneElement(item, {\n key: \"error-bar-\".concat(i),\n // eslint-disable-line react/no-array-index-key\n data: data,\n xAxis: xAxis,\n yAxis: yAxis,\n layout: layout,\n offset: offset,\n dataPointFormatter: dataPointFormatter\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n hide = _this$props6.hide,\n data = _this$props6.data,\n className = _this$props6.className,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n left = _this$props6.left,\n top = _this$props6.top,\n width = _this$props6.width,\n height = _this$props6.height,\n isAnimationActive = _this$props6.isAnimationActive,\n background = _this$props6.background,\n id = _this$props6.id;\n if (hide || !data || !data.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var layerClass = classNames('recharts-bar', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = _isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n }))) : null, /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-bar-rectangles\",\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, background ? this.renderBackground() : null, this.renderRectangles()), this.renderErrorBar(needClip, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, data));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curData: nextProps.data,\n prevData: prevState.curData\n };\n }\n if (nextProps.data !== prevState.curData) {\n return {\n curData: nextProps.data\n };\n }\n return null;\n }\n }]);\n return Bar;\n}(PureComponent);\n_defineProperty(Bar, \"displayName\", 'Bar');\n_defineProperty(Bar, \"defaultProps\", {\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'rect',\n minPointSize: 0,\n hide: false,\n data: [],\n layout: 'vertical',\n activeBar: true,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 400,\n animationEasing: 'ease'\n});\n/**\n * Compose the data of each group\n * @param {Object} props Props for the component\n * @param {Object} item An instance of Bar\n * @param {Array} barPosition The offset and size of each bar\n * @param {Object} xAxis The configuration of x-axis\n * @param {Object} yAxis The configuration of y-axis\n * @param {Array} stackedData The stacked data of a bar item\n * @return{Array} Composed data\n */\n_defineProperty(Bar, \"getComposedData\", function (_ref2) {\n var props = _ref2.props,\n item = _ref2.item,\n barPosition = _ref2.barPosition,\n bandSize = _ref2.bandSize,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n stackedData = _ref2.stackedData,\n dataStartIndex = _ref2.dataStartIndex,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var pos = findPositionOfBar(barPosition, item);\n if (!pos) {\n return null;\n }\n var layout = props.layout;\n var _item$props = item.props,\n dataKey = _item$props.dataKey,\n children = _item$props.children,\n minPointSize = _item$props.minPointSize;\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n var baseValue = getBaseValueOfBar({\n numericAxis: numericAxis\n });\n var cells = findAllByType(children, Cell);\n var rects = displayedData.map(function (entry, index) {\n var value, x, y, width, height, background;\n if (stackedData) {\n value = truncateByDomain(stackedData[dataStartIndex + index], stackedDomain);\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!_isArray(value)) {\n value = [baseValue, value];\n }\n }\n if (layout === 'horizontal') {\n var _ref4;\n var _ref3 = [yAxis.scale(value[0]), yAxis.scale(value[1])],\n baseValueScale = _ref3[0],\n currentValueScale = _ref3[1];\n x = getCateCoordinateOfBar({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n offset: pos.offset,\n entry: entry,\n index: index\n });\n y = (_ref4 = currentValueScale !== null && currentValueScale !== void 0 ? currentValueScale : baseValueScale) !== null && _ref4 !== void 0 ? _ref4 : undefined;\n width = pos.size;\n var computedHeight = baseValueScale - currentValueScale;\n height = Number.isNaN(computedHeight) ? 0 : computedHeight;\n background = {\n x: x,\n y: yAxis.y,\n width: width,\n height: yAxis.height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(height) < Math.abs(minPointSize)) {\n var delta = mathSign(height || minPointSize) * (Math.abs(minPointSize) - Math.abs(height));\n y -= delta;\n height += delta;\n }\n } else {\n var _ref5 = [xAxis.scale(value[0]), xAxis.scale(value[1])],\n _baseValueScale = _ref5[0],\n _currentValueScale = _ref5[1];\n x = _baseValueScale;\n y = getCateCoordinateOfBar({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n offset: pos.offset,\n entry: entry,\n index: index\n });\n width = _currentValueScale - _baseValueScale;\n height = pos.size;\n background = {\n x: xAxis.x,\n y: y,\n width: xAxis.width,\n height: height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(width) < Math.abs(minPointSize)) {\n var _delta = mathSign(width || minPointSize) * (Math.abs(minPointSize) - Math.abs(width));\n width += _delta;\n }\n }\n return _objectSpread(_objectSpread(_objectSpread({}, entry), {}, {\n x: x,\n y: y,\n width: width,\n height: height,\n value: stackedData ? value : value[1],\n payload: entry,\n background: background\n }, cells && cells[index] && cells[index].props), {}, {\n tooltipPayload: [getTooltipItem(item, entry)],\n tooltipPosition: {\n x: x + width / 2,\n y: y + height / 2\n }\n });\n });\n return _objectSpread({\n data: rects,\n layout: layout\n }, offset);\n});","import _isFunction from \"lodash/isFunction\";\nvar _excluded = [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"],\n _excluded2 = [\"offset\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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; }\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; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Cartesian Grid\n */\nimport React, { PureComponent } from 'react';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/ReactUtils';\nexport var CartesianGrid = /*#__PURE__*/function (_PureComponent) {\n _inherits(CartesianGrid, _PureComponent);\n var _super = _createSuper(CartesianGrid);\n function CartesianGrid() {\n _classCallCheck(this, CartesianGrid);\n return _super.apply(this, arguments);\n }\n _createClass(CartesianGrid, [{\n key: \"renderHorizontal\",\n value:\n /**\n * Draw the horizontal grid lines\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal lines\n */\n function renderHorizontal(horizontalPoints) {\n var _this = this;\n var _this$props = this.props,\n x = _this$props.x,\n width = _this$props.width,\n horizontal = _this$props.horizontal;\n if (!horizontalPoints || !horizontalPoints.length) {\n return null;\n }\n var items = horizontalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this.props), {}, {\n x1: x,\n y1: entry,\n x2: x + width,\n y2: entry,\n key: \"line-\".concat(i),\n index: i\n });\n return CartesianGrid.renderLineItem(horizontal, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-horizontal\"\n }, items);\n }\n\n /**\n * Draw vertical grid lines\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical lines\n */\n }, {\n key: \"renderVertical\",\n value: function renderVertical(verticalPoints) {\n var _this2 = this;\n var _this$props2 = this.props,\n y = _this$props2.y,\n height = _this$props2.height,\n vertical = _this$props2.vertical;\n if (!verticalPoints || !verticalPoints.length) {\n return null;\n }\n var items = verticalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this2.props), {}, {\n x1: entry,\n y1: y,\n x2: entry,\n y2: y + height,\n key: \"line-\".concat(i),\n index: i\n });\n return CartesianGrid.renderLineItem(vertical, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-vertical\"\n }, items);\n }\n\n /**\n * Draw vertical grid stripes filled by colors\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical stripes\n */\n }, {\n key: \"renderVerticalStripes\",\n value: function renderVerticalStripes(verticalPoints) {\n var verticalFill = this.props.verticalFill;\n if (!verticalFill || !verticalFill.length) {\n return null;\n }\n var _this$props3 = this.props,\n fillOpacity = _this$props3.fillOpacity,\n x = _this$props3.x,\n y = _this$props3.y,\n width = _this$props3.width,\n height = _this$props3.height;\n var roundedSortedVerticalPoints = verticalPoints.map(function (e) {\n return Math.round(e + x - x);\n }).sort(function (a, b) {\n return a - b;\n });\n if (x !== roundedSortedVerticalPoints[0]) {\n roundedSortedVerticalPoints.unshift(0);\n }\n var items = roundedSortedVerticalPoints.map(function (entry, i) {\n var lastStripe = !roundedSortedVerticalPoints[i + 1];\n var lineWidth = lastStripe ? x + width - entry : roundedSortedVerticalPoints[i + 1] - entry;\n if (lineWidth <= 0) {\n return null;\n }\n var colorIndex = i % verticalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n x: entry,\n y: y,\n width: lineWidth,\n height: height,\n stroke: \"none\",\n fill: verticalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-vertical\"\n }, items);\n }\n\n /**\n * Draw horizontal grid stripes filled by colors\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal stripes\n */\n }, {\n key: \"renderHorizontalStripes\",\n value: function renderHorizontalStripes(horizontalPoints) {\n var horizontalFill = this.props.horizontalFill;\n if (!horizontalFill || !horizontalFill.length) {\n return null;\n }\n var _this$props4 = this.props,\n fillOpacity = _this$props4.fillOpacity,\n x = _this$props4.x,\n y = _this$props4.y,\n width = _this$props4.width,\n height = _this$props4.height;\n var roundedSortedHorizontalPoints = horizontalPoints.map(function (e) {\n return Math.round(e + y - y);\n }).sort(function (a, b) {\n return a - b;\n });\n if (y !== roundedSortedHorizontalPoints[0]) {\n roundedSortedHorizontalPoints.unshift(0);\n }\n var items = roundedSortedHorizontalPoints.map(function (entry, i) {\n var lastStripe = !roundedSortedHorizontalPoints[i + 1];\n var lineHeight = lastStripe ? y + height - entry : roundedSortedHorizontalPoints[i + 1] - entry;\n if (lineHeight <= 0) {\n return null;\n }\n var colorIndex = i % horizontalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n y: entry,\n x: x,\n height: lineHeight,\n width: width,\n stroke: \"none\",\n fill: horizontalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-horizontal\"\n }, items);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var fill = this.props.fill;\n if (!fill || fill === 'none') {\n return null;\n }\n var _this$props5 = this.props,\n fillOpacity = _this$props5.fillOpacity,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n stroke: \"none\",\n fill: fill,\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n horizontal = _this$props6.horizontal,\n vertical = _this$props6.vertical,\n horizontalCoordinatesGenerator = _this$props6.horizontalCoordinatesGenerator,\n verticalCoordinatesGenerator = _this$props6.verticalCoordinatesGenerator,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n offset = _this$props6.offset,\n chartWidth = _this$props6.chartWidth,\n chartHeight = _this$props6.chartHeight,\n syncWithTicks = _this$props6.syncWithTicks,\n horizontalValues = _this$props6.horizontalValues,\n verticalValues = _this$props6.verticalValues;\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0 || !isNumber(x) || x !== +x || !isNumber(y) || y !== +y) {\n return null;\n }\n var _this$props7 = this.props,\n horizontalPoints = _this$props7.horizontalPoints,\n verticalPoints = _this$props7.verticalPoints;\n\n // No horizontal points are specified\n if ((!horizontalPoints || !horizontalPoints.length) && _isFunction(horizontalCoordinatesGenerator)) {\n var isHorizontalValues = horizontalValues && horizontalValues.length;\n horizontalPoints = horizontalCoordinatesGenerator({\n yAxis: yAxis ? _objectSpread(_objectSpread({}, yAxis), {}, {\n ticks: isHorizontalValues ? horizontalValues : yAxis.ticks\n }) : undefined,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n }, isHorizontalValues ? true : syncWithTicks);\n }\n\n // No vertical points are specified\n if ((!verticalPoints || !verticalPoints.length) && _isFunction(verticalCoordinatesGenerator)) {\n var isVerticalValues = verticalValues && verticalValues.length;\n verticalPoints = verticalCoordinatesGenerator({\n xAxis: xAxis ? _objectSpread(_objectSpread({}, xAxis), {}, {\n ticks: isVerticalValues ? verticalValues : xAxis.ticks\n }) : undefined,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n }, isVerticalValues ? true : syncWithTicks);\n }\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid\"\n }, this.renderBackground(), horizontal && this.renderHorizontal(horizontalPoints), vertical && this.renderVertical(verticalPoints), horizontal && this.renderHorizontalStripes(horizontalPoints), vertical && this.renderVerticalStripes(verticalPoints));\n }\n }], [{\n key: \"renderLineItem\",\n value: function renderLineItem(option, props) {\n var lineItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n lineItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n lineItem = option(props);\n } else {\n var x1 = props.x1,\n y1 = props.y1,\n x2 = props.x2,\n y2 = props.y2,\n key = props.key,\n others = _objectWithoutProperties(props, _excluded);\n var _filterProps = filterProps(others),\n __ = _filterProps.offset,\n restOfFilteredProps = _objectWithoutProperties(_filterProps, _excluded2);\n lineItem = /*#__PURE__*/React.createElement(\"line\", _extends({}, restOfFilteredProps, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n fill: \"none\",\n key: key\n }));\n }\n return lineItem;\n }\n }]);\n return CartesianGrid;\n}(PureComponent);\n_defineProperty(CartesianGrid, \"displayName\", 'CartesianGrid');\n_defineProperty(CartesianGrid, \"defaultProps\", {\n horizontal: true,\n vertical: true,\n // The ordinates of horizontal grid lines\n horizontalPoints: [],\n // The abscissas of vertical grid lines\n verticalPoints: [],\n stroke: '#ccc',\n fill: 'none',\n // The fill of colors of grid lines\n verticalFill: [],\n horizontalFill: []\n});","var _excluded = [\"offset\", \"layout\", \"width\", \"dataKey\", \"data\", \"dataPointFormatter\", \"xAxis\", \"yAxis\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\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; }\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/**\n * @fileOverview Render a group of error bar\n */\nimport React from 'react';\nimport { Layer } from '../container/Layer';\nimport { filterProps } from '../util/ReactUtils';\nexport function ErrorBar(props) {\n var offset = props.offset,\n layout = props.layout,\n width = props.width,\n dataKey = props.dataKey,\n data = props.data,\n dataPointFormatter = props.dataPointFormatter,\n xAxis = props.xAxis,\n yAxis = props.yAxis,\n others = _objectWithoutProperties(props, _excluded);\n var svgProps = filterProps(others);\n var errorBars = data.map(function (entry, i) {\n var _dataPointFormatter = dataPointFormatter(entry, dataKey),\n x = _dataPointFormatter.x,\n y = _dataPointFormatter.y,\n value = _dataPointFormatter.value,\n errorVal = _dataPointFormatter.errorVal;\n if (!errorVal) {\n return null;\n }\n var lineCoordinates = [];\n var lowBound, highBound;\n if (Array.isArray(errorVal)) {\n var _errorVal = _slicedToArray(errorVal, 2);\n lowBound = _errorVal[0];\n highBound = _errorVal[1];\n } else {\n lowBound = highBound = errorVal;\n }\n if (layout === 'vertical') {\n // error bar for horizontal charts, the y is fixed, x is a range value\n var scale = xAxis.scale;\n var yMid = y + offset;\n var yMin = yMid + width;\n var yMax = yMid - width;\n var xMin = scale(value - lowBound);\n var xMax = scale(value + highBound);\n\n // the right line of |--|\n lineCoordinates.push({\n x1: xMax,\n y1: yMin,\n x2: xMax,\n y2: yMax\n });\n // the middle line of |--|\n lineCoordinates.push({\n x1: xMin,\n y1: yMid,\n x2: xMax,\n y2: yMid\n });\n // the left line of |--|\n lineCoordinates.push({\n x1: xMin,\n y1: yMin,\n x2: xMin,\n y2: yMax\n });\n } else if (layout === 'horizontal') {\n // error bar for horizontal charts, the x is fixed, y is a range value\n var _scale = yAxis.scale;\n var xMid = x + offset;\n var _xMin = xMid - width;\n var _xMax = xMid + width;\n var _yMin = _scale(value - lowBound);\n var _yMax = _scale(value + highBound);\n\n // the top line\n lineCoordinates.push({\n x1: _xMin,\n y1: _yMax,\n x2: _xMax,\n y2: _yMax\n });\n // the middle line\n lineCoordinates.push({\n x1: xMid,\n y1: _yMin,\n x2: xMid,\n y2: _yMax\n });\n // the bottom line\n lineCoordinates.push({\n x1: _xMin,\n y1: _yMin,\n x2: _xMax,\n y2: _yMin\n });\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(Layer, _extends({\n className: \"recharts-errorBar\",\n key: \"bar-\".concat(i)\n }, svgProps), lineCoordinates.map(function (coordinates, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"line\", _extends({}, coordinates, {\n key: \"line-\".concat(index)\n }))\n );\n }))\n );\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-errorBars\"\n }, errorBars);\n}\nErrorBar.defaultProps = {\n stroke: 'black',\n strokeWidth: 1.5,\n width: 5,\n offset: 0,\n layout: 'horizontal'\n};\nErrorBar.displayName = 'ErrorBar';","/**\n * @fileOverview X Axis\n */\n\n/** Define of XAxis props */\n\nexport var XAxis = function XAxis() {\n return null;\n};\nXAxis.displayName = 'XAxis';\nXAxis.defaultProps = {\n allowDecimals: true,\n hide: false,\n orientation: 'bottom',\n width: 0,\n height: 30,\n mirror: false,\n xAxisId: 0,\n tickCount: 5,\n type: 'category',\n padding: {\n left: 0,\n right: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false,\n allowDuplicatedCategory: true\n};","/**\n * @fileOverview Y Axis\n */\n\nexport var YAxis = function YAxis() {\n return null;\n};\nYAxis.displayName = 'YAxis';\nYAxis.defaultProps = {\n allowDuplicatedCategory: true,\n allowDecimals: true,\n hide: false,\n orientation: 'left',\n width: 60,\n height: 0,\n mirror: false,\n yAxisId: 0,\n tickCount: 5,\n type: 'number',\n padding: {\n top: 0,\n bottom: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false\n};","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import { polarToCartesian } from '../PolarUtils';\n/**\n * Only applicable for radial layouts\n * @param {Object} activeCoordinate ChartCoordinate\n * @returns {Object} RadialCursorPoints\n */\nexport function getRadialCursorPoints(activeCoordinate) {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n radius = activeCoordinate.radius,\n startAngle = activeCoordinate.startAngle,\n endAngle = activeCoordinate.endAngle;\n var startPoint = polarToCartesian(cx, cy, radius, startAngle);\n var endPoint = polarToCartesian(cx, cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: cx,\n cy: cy,\n radius: radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n}","/**\n * Given an array and a number N, return a new array which contains every nTh\n * element of the input array. For n below 1, an empty array is returned.\n * If isValid is provided, all candidates must suffice the condition, else undefined is returned.\n * @param {T[]} array An input array.\n * @param {integer} n A number\n * @param {Function} isValid A function to evaluate a candidate form the array\n * @returns {T[]} The result array of the same type as the input array.\n */\nexport function getEveryNthWithCondition(array, n, isValid) {\n if (n < 1) {\n return [];\n }\n if (n === 1 && isValid === undefined) {\n return array;\n }\n var result = [];\n for (var i = 0; i < array.length; i += n) {\n if (isValid === undefined || isValid(array[i]) === true) {\n result.push(array[i]);\n } else {\n return undefined;\n }\n }\n return result;\n}","import { getAngledRectangleWidth } from './CartesianUtils';\nimport { getEveryNthWithCondition } from './getEveryNthWithCondition';\nexport function getAngledTickWidth(contentSize, unitSize, angle) {\n var size = {\n width: contentSize.width + unitSize.width,\n height: contentSize.height + unitSize.height\n };\n return getAngledRectangleWidth(size, angle);\n}\nexport function getTickBoundaries(viewBox, sign, sizeKey) {\n var isWidth = sizeKey === 'width';\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n if (sign === 1) {\n return {\n start: isWidth ? x : y,\n end: isWidth ? x + width : y + height\n };\n }\n return {\n start: isWidth ? x + width : y + height,\n end: isWidth ? x : y\n };\n}\nexport function isVisible(sign, tickPosition, size, start, end) {\n return sign * (tickPosition - sign * size / 2 - start) >= 0 && sign * (tickPosition + sign * size / 2 - end) <= 0;\n}\nexport function getNumberIntervalTicks(ticks, interval) {\n return getEveryNthWithCondition(ticks, interval + 1);\n}","import _isFunction from \"lodash/isFunction\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { mathSign, isNumber } from '../util/DataUtils';\nimport { getStringSize } from '../util/DOMUtils';\nimport { Global } from '../util/Global';\nimport { isVisible, getTickBoundaries, getNumberIntervalTicks, getAngledTickWidth } from '../util/TickUtils';\nimport { getEquidistantTicks } from './getEquidistantTicks';\nfunction getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap) {\n var result = (ticks || []).slice();\n var len = result.length;\n var start = boundaries.start;\n var end = boundaries.end;\n for (var i = len - 1; i >= 0; i--) {\n var entry = result[i];\n var size = getTickSize(entry, i);\n if (i === len - 1) {\n var gap = sign * (entry.coordinate + sign * size / 2 - end);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n var isShow = isVisible(sign, entry.tickCoord, size, start, end);\n if (isShow) {\n end = entry.tickCoord - sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n return result;\n}\nfunction getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, preserveEnd) {\n var result = (ticks || []).slice();\n var len = result.length;\n var start = boundaries.start,\n end = boundaries.end;\n if (preserveEnd) {\n // Try to guarantee the tail to be displayed\n var tail = ticks[len - 1];\n var tailSize = getTickSize(tail, len - 1);\n var tailGap = sign * (tail.coordinate + sign * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread(_objectSpread({}, tail), {}, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate\n });\n var isTailShow = isVisible(sign, tail.tickCoord, tailSize, start, end);\n if (isTailShow) {\n end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread(_objectSpread({}, tail), {}, {\n isShow: true\n });\n }\n }\n var count = preserveEnd ? len - 1 : len;\n for (var i = 0; i < count; i++) {\n var entry = result[i];\n var size = getTickSize(entry, i);\n if (i === 0) {\n var gap = sign * (entry.coordinate - sign * size / 2 - start);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n var isShow = isVisible(sign, entry.tickCoord, size, start, end);\n if (isShow) {\n start = entry.tickCoord + sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n return result;\n}\nexport function getTicks(props, fontSize, letterSpacing) {\n var tick = props.tick,\n ticks = props.ticks,\n viewBox = props.viewBox,\n minTickGap = props.minTickGap,\n orientation = props.orientation,\n interval = props.interval,\n tickFormatter = props.tickFormatter,\n unit = props.unit,\n angle = props.angle;\n if (!ticks || !ticks.length || !tick) {\n return [];\n }\n if (isNumber(interval) || Global.isSsr) {\n return getNumberIntervalTicks(ticks, typeof interval === 'number' && isNumber(interval) ? interval : 0);\n }\n var candidates = [];\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n }) : {\n width: 0,\n height: 0\n };\n var getTickSize = function getTickSize(content, index) {\n var value = _isFunction(tickFormatter) ? tickFormatter(content.value, index) : content.value;\n // Recharts only supports angles when sizeKey === 'width'\n return sizeKey === 'width' ? getAngledTickWidth(getStringSize(value, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n }), unitSize, angle) : getStringSize(value, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n })[sizeKey];\n };\n var sign = ticks.length >= 2 ? mathSign(ticks[1].coordinate - ticks[0].coordinate) : 1;\n var boundaries = getTickBoundaries(viewBox, sign, sizeKey);\n if (interval === 'equidistantPreserveStart') {\n return getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap);\n }\n if (interval === 'preserveStart' || interval === 'preserveStartEnd') {\n candidates = getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, interval === 'preserveStartEnd');\n } else {\n candidates = getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap);\n }\n return candidates.filter(function (entry) {\n return entry.isShow;\n });\n}","import { isVisible } from '../util/TickUtils';\nimport { getEveryNthWithCondition } from '../util/getEveryNthWithCondition';\nexport function getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap) {\n var result = (ticks || []).slice();\n var initialStart = boundaries.start,\n end = boundaries.end;\n var index = 0;\n // Premature optimisation idea 1: Estimate a lower bound, and start from there.\n // For now, start from every tick\n var stepsize = 1;\n var start = initialStart;\n while (stepsize <= result.length) {\n // Given stepsize, evaluate whether every stepsize-th tick can be shown.\n // If it can not, then increase the stepsize by 1, and try again.\n\n var entry = ticks === null || ticks === void 0 ? void 0 : ticks[index];\n\n // Break condition - If we have evaluate all the ticks, then we are done.\n if (entry === undefined) {\n return getEveryNthWithCondition(ticks, stepsize);\n }\n\n // Check if the element collides with the next element\n var size = getTickSize(entry, index);\n var tickCoord = entry.coordinate;\n // We will always show the first tick.\n var isShow = index === 0 || isVisible(sign, tickCoord, size, start, end);\n if (!isShow) {\n // Start all over with a larger stepsize\n index = 0;\n start = initialStart;\n stepsize += 1;\n }\n if (isShow) {\n // If it can be shown, update the start\n start = tickCoord + sign * (size / 2 + minTickGap);\n index += stepsize;\n }\n }\n return [];\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"x\", \"y\", \"top\", \"left\", \"width\", \"height\", \"className\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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/**\n * @fileOverview Cross\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/ReactUtils';\nvar getPath = function getPath(x, y, width, height, top, left) {\n return \"M\".concat(x, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y, \"h\").concat(width);\n};\nexport var Cross = function Cross(_ref) {\n var _ref$x = _ref.x,\n x = _ref$x === void 0 ? 0 : _ref$x,\n _ref$y = _ref.y,\n y = _ref$y === void 0 ? 0 : _ref$y,\n _ref$top = _ref.top,\n top = _ref$top === void 0 ? 0 : _ref$top,\n _ref$left = _ref.left,\n left = _ref$left === void 0 ? 0 : _ref$left,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? 0 : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? 0 : _ref$height,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded);\n var props = _objectSpread({\n x: x,\n y: y,\n top: top,\n left: left,\n width: width,\n height: height\n }, rest);\n if (!isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || !isNumber(top) || !isNumber(left)) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: classNames('recharts-cross', className),\n d: getPath(x, y, width, height, top, left)\n }));\n};","import _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nvar _excluded = [\"viewBox\"],\n _excluded2 = [\"viewBox\"],\n _excluded3 = [\"ticks\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\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; }\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; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Cartesian Axis\n */\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { isNumber } from '../util/DataUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { getTicks } from './getTicks';\n\n/** The orientation of the axis in correspondence to the chart */\n\n/** A unit to be appended to a value */\n\n/** The formatter function of tick */\n\nexport var CartesianAxis = /*#__PURE__*/function (_Component) {\n _inherits(CartesianAxis, _Component);\n var _super = _createSuper(CartesianAxis);\n function CartesianAxis(props) {\n var _this;\n _classCallCheck(this, CartesianAxis);\n _this = _super.call(this, props);\n _this.state = {\n fontSize: '',\n letterSpacing: ''\n };\n return _this;\n }\n _createClass(CartesianAxis, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(_ref, nextState) {\n var viewBox = _ref.viewBox,\n restProps = _objectWithoutProperties(_ref, _excluded);\n // props.viewBox is sometimes generated every time -\n // check that specially as object equality is likely to fail\n var _this$props = this.props,\n viewBoxOld = _this$props.viewBox,\n restPropsOld = _objectWithoutProperties(_this$props, _excluded2);\n return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld) || !shallowEqual(nextState, this.state);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var htmlLayer = this.layerReference;\n if (!htmlLayer) return;\n var tick = htmlLayer.getElementsByClassName('recharts-cartesian-axis-tick-value')[0];\n if (tick) {\n this.setState({\n fontSize: window.getComputedStyle(tick).fontSize,\n letterSpacing: window.getComputedStyle(tick).letterSpacing\n });\n }\n }\n\n /**\n * Calculate the coordinates of endpoints in ticks\n * @param {Object} data The data of a simple tick\n * @return {Object} (x1, y1): The coordinate of endpoint close to tick text\n * (x2, y2): The coordinate of endpoint close to axis\n */\n }, {\n key: \"getTickLineCoord\",\n value: function getTickLineCoord(data) {\n var _this$props2 = this.props,\n x = _this$props2.x,\n y = _this$props2.y,\n width = _this$props2.width,\n height = _this$props2.height,\n orientation = _this$props2.orientation,\n tickSize = _this$props2.tickSize,\n mirror = _this$props2.mirror,\n tickMargin = _this$props2.tickMargin;\n var x1, x2, y1, y2, tx, ty;\n var sign = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber(data.tickCoord) ? data.tickCoord : data.coordinate;\n switch (orientation) {\n case 'top':\n x1 = x2 = data.coordinate;\n y2 = y + +!mirror * height;\n y1 = y2 - sign * finalTickSize;\n ty = y1 - sign * tickMargin;\n tx = tickCoord;\n break;\n case 'left':\n y1 = y2 = data.coordinate;\n x2 = x + +!mirror * width;\n x1 = x2 - sign * finalTickSize;\n tx = x1 - sign * tickMargin;\n ty = tickCoord;\n break;\n case 'right':\n y1 = y2 = data.coordinate;\n x2 = x + +mirror * width;\n x1 = x2 + sign * finalTickSize;\n tx = x1 + sign * tickMargin;\n ty = tickCoord;\n break;\n default:\n x1 = x2 = data.coordinate;\n y2 = y + +mirror * height;\n y1 = y2 + sign * finalTickSize;\n ty = y1 + sign * tickMargin;\n tx = tickCoord;\n break;\n }\n return {\n line: {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var _this$props3 = this.props,\n orientation = _this$props3.orientation,\n mirror = _this$props3.mirror;\n var textAnchor;\n switch (orientation) {\n case 'left':\n textAnchor = mirror ? 'start' : 'end';\n break;\n case 'right':\n textAnchor = mirror ? 'end' : 'start';\n break;\n default:\n textAnchor = 'middle';\n break;\n }\n return textAnchor;\n }\n }, {\n key: \"getTickVerticalAnchor\",\n value: function getTickVerticalAnchor() {\n var _this$props4 = this.props,\n orientation = _this$props4.orientation,\n mirror = _this$props4.mirror;\n var verticalAnchor = 'end';\n switch (orientation) {\n case 'left':\n case 'right':\n verticalAnchor = 'middle';\n break;\n case 'top':\n verticalAnchor = mirror ? 'start' : 'end';\n break;\n default:\n verticalAnchor = mirror ? 'end' : 'start';\n break;\n }\n return verticalAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n orientation = _this$props5.orientation,\n mirror = _this$props5.mirror,\n axisLine = _this$props5.axisLine;\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(this.props)), filterProps(axisLine)), {}, {\n fill: 'none'\n });\n if (orientation === 'top' || orientation === 'bottom') {\n var needHeight = +(orientation === 'top' && !mirror || orientation === 'bottom' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x,\n y1: y + needHeight * height,\n x2: x + width,\n y2: y + needHeight * height\n });\n } else {\n var needWidth = +(orientation === 'left' && !mirror || orientation === 'right' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x + needWidth * width,\n y1: y,\n x2: x + needWidth * width,\n y2: y + height\n });\n }\n return /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: classNames('recharts-cartesian-axis-line', _get(axisLine, 'className'))\n }));\n }\n }, {\n key: \"renderTicks\",\n value:\n /**\n * render the ticks\n * @param {Array} ticks The ticks to actually render (overrides what was passed in props)\n * @param {string} fontSize Fontsize to consider for tick spacing\n * @param {string} letterSpacing Letterspacing to consider for tick spacing\n * @return {ReactComponent} renderedTicks\n */\n function renderTicks(ticks, fontSize, letterSpacing) {\n var _this2 = this;\n var _this$props6 = this.props,\n tickLine = _this$props6.tickLine,\n stroke = _this$props6.stroke,\n tick = _this$props6.tick,\n tickFormatter = _this$props6.tickFormatter,\n unit = _this$props6.unit;\n var finalTicks = getTicks(_objectSpread(_objectSpread({}, this.props), {}, {\n ticks: ticks\n }), fontSize, letterSpacing);\n var textAnchor = this.getTickTextAnchor();\n var verticalAnchor = this.getTickVerticalAnchor();\n var axisProps = filterProps(this.props);\n var customTickProps = filterProps(tick);\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine));\n var items = finalTicks.map(function (entry, i) {\n var _this2$getTickLineCoo = _this2.getTickLineCoord(entry),\n lineCoord = _this2$getTickLineCoo.line,\n tickCoord = _this2$getTickLineCoo.tick;\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), tickCoord), {}, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length,\n tickFormatter: tickFormatter\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(i) // eslint-disable-line react/no-array-index-key\n }, adaptEventsOfChild(_this2.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n className: classNames('recharts-cartesian-axis-tick-line', _get(tickLine, 'className'))\n })), tick && CartesianAxis.renderTickItem(tick, tickProps, \"\".concat(_isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value).concat(unit || '')));\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n var _this$props7 = this.props,\n axisLine = _this$props7.axisLine,\n width = _this$props7.width,\n height = _this$props7.height,\n ticksGenerator = _this$props7.ticksGenerator,\n className = _this$props7.className,\n hide = _this$props7.hide;\n if (hide) {\n return null;\n }\n var _this$props8 = this.props,\n ticks = _this$props8.ticks,\n noTicksProps = _objectWithoutProperties(_this$props8, _excluded3);\n var finalTicks = ticks;\n if (_isFunction(ticksGenerator)) {\n finalTicks = ticks && ticks.length > 0 ? ticksGenerator(this.props) : ticksGenerator(noTicksProps);\n }\n if (width <= 0 || height <= 0 || !finalTicks || !finalTicks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-cartesian-axis', className),\n ref: function ref(_ref2) {\n _this3.layerReference = _ref2;\n }\n }, axisLine && this.renderAxisLine(), this.renderTicks(finalTicks, this.state.fontSize, this.state.letterSpacing), Label.renderCallByParent(this.props));\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-cartesian-axis-tick-value\"\n }), value);\n }\n return tickItem;\n }\n }]);\n return CartesianAxis;\n}(Component);\n_defineProperty(CartesianAxis, \"displayName\", 'CartesianAxis');\n_defineProperty(CartesianAxis, \"defaultProps\", {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: 'bottom',\n // The ticks\n ticks: [],\n stroke: '#666',\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: 'preserveEnd'\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (!name) {\n return null;\n }\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var result = PREFIX_LIST.reduce(function (res, entry) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, entry + camelName, value));\n }, {});\n result[name] = value;\n return result;\n};","import _isFunction from \"lodash/isFunction\";\nimport _range from \"lodash/range\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Brush\n */\nimport React, { PureComponent, Children } from 'react';\nimport classNames from 'classnames';\nimport { scalePoint } from 'victory-vendor/d3-scale';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { generatePrefixStyle } from '../util/CssPrefixUtils';\nimport { filterProps } from '../util/ReactUtils';\nvar createScale = function createScale(_ref) {\n var data = _ref.data,\n startIndex = _ref.startIndex,\n endIndex = _ref.endIndex,\n x = _ref.x,\n width = _ref.width,\n travellerWidth = _ref.travellerWidth;\n if (!data || !data.length) {\n return {};\n }\n var len = data.length;\n var scale = scalePoint().domain(_range(0, len)).range([x, x + width - travellerWidth]);\n var scaleValues = scale.domain().map(function (entry) {\n return scale(entry);\n });\n return {\n isTextActive: false,\n isSlideMoving: false,\n isTravellerMoving: false,\n isTravellerFocused: false,\n startX: scale(startIndex),\n endX: scale(endIndex),\n scale: scale,\n scaleValues: scaleValues\n };\n};\nvar isTouch = function isTouch(e) {\n return e.changedTouches && !!e.changedTouches.length;\n};\nexport var Brush = /*#__PURE__*/function (_PureComponent) {\n _inherits(Brush, _PureComponent);\n var _super = _createSuper(Brush);\n function Brush(props) {\n var _this;\n _classCallCheck(this, Brush);\n _this = _super.call(this, props);\n _defineProperty(_assertThisInitialized(_this), \"handleDrag\", function (e) {\n if (_this.leaveTimer) {\n clearTimeout(_this.leaveTimer);\n _this.leaveTimer = null;\n }\n if (_this.state.isTravellerMoving) {\n _this.handleTravellerMove(e);\n } else if (_this.state.isSlideMoving) {\n _this.handleSlideDrag(e);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleTouchMove\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleDrag(e.changedTouches[0]);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleDragEnd\", function () {\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n }, function () {\n var _this$props = _this.props,\n endIndex = _this$props.endIndex,\n onDragEnd = _this$props.onDragEnd,\n startIndex = _this$props.startIndex;\n onDragEnd === null || onDragEnd === void 0 || onDragEnd({\n endIndex: endIndex,\n startIndex: startIndex\n });\n });\n _this.detachDragEndListener();\n });\n _defineProperty(_assertThisInitialized(_this), \"handleLeaveWrapper\", function () {\n if (_this.state.isTravellerMoving || _this.state.isSlideMoving) {\n _this.leaveTimer = window.setTimeout(_this.handleDragEnd, _this.props.leaveTimeOut);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleEnterSlideOrTraveller\", function () {\n _this.setState({\n isTextActive: true\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"handleLeaveSlideOrTraveller\", function () {\n _this.setState({\n isTextActive: false\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"handleSlideDragStart\", function (e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n _this.attachDragEndListener();\n });\n _this.travellerDragStartHandlers = {\n startX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'startX'),\n endX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'endX')\n };\n _this.state = {};\n return _this;\n }\n _createClass(Brush, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n this.detachDragEndListener();\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(_ref2) {\n var startX = _ref2.startX,\n endX = _ref2.endX;\n var scaleValues = this.state.scaleValues;\n var _this$props2 = this.props,\n gap = _this$props2.gap,\n data = _this$props2.data;\n var lastIndex = data.length - 1;\n var min = Math.min(startX, endX);\n var max = Math.max(startX, endX);\n var minIndex = Brush.getIndexInRange(scaleValues, min);\n var maxIndex = Brush.getIndexInRange(scaleValues, max);\n return {\n startIndex: minIndex - minIndex % gap,\n endIndex: maxIndex === lastIndex ? lastIndex : maxIndex - maxIndex % gap\n };\n }\n }, {\n key: \"getTextOfTick\",\n value: function getTextOfTick(index) {\n var _this$props3 = this.props,\n data = _this$props3.data,\n tickFormatter = _this$props3.tickFormatter,\n dataKey = _this$props3.dataKey;\n var text = getValueByDataKey(data[index], dataKey, index);\n return _isFunction(tickFormatter) ? tickFormatter(text, index) : text;\n }\n }, {\n key: \"attachDragEndListener\",\n value: function attachDragEndListener() {\n window.addEventListener('mouseup', this.handleDragEnd, true);\n window.addEventListener('touchend', this.handleDragEnd, true);\n window.addEventListener('mousemove', this.handleDrag, true);\n }\n }, {\n key: \"detachDragEndListener\",\n value: function detachDragEndListener() {\n window.removeEventListener('mouseup', this.handleDragEnd, true);\n window.removeEventListener('touchend', this.handleDragEnd, true);\n window.removeEventListener('mousemove', this.handleDrag, true);\n }\n }, {\n key: \"handleSlideDrag\",\n value: function handleSlideDrag(e) {\n var _this$state = this.state,\n slideMoveStartX = _this$state.slideMoveStartX,\n startX = _this$state.startX,\n endX = _this$state.endX;\n var _this$props4 = this.props,\n x = _this$props4.x,\n width = _this$props4.width,\n travellerWidth = _this$props4.travellerWidth,\n startIndex = _this$props4.startIndex,\n endIndex = _this$props4.endIndex,\n onChange = _this$props4.onChange;\n var delta = e.pageX - slideMoveStartX;\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - endX, x + width - travellerWidth - startX);\n } else if (delta < 0) {\n delta = Math.max(delta, x - startX, x - endX);\n }\n var newIndex = this.getIndex({\n startX: startX + delta,\n endX: endX + delta\n });\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\n }\n this.setState({\n startX: startX + delta,\n endX: endX + delta,\n slideMoveStartX: e.pageX\n });\n }\n }, {\n key: \"handleTravellerDragStart\",\n value: function handleTravellerDragStart(id, e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n this.setState({\n isSlideMoving: false,\n isTravellerMoving: true,\n movingTravellerId: id,\n brushMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n }\n }, {\n key: \"handleTravellerMove\",\n value: function handleTravellerMove(e) {\n var _this$setState;\n var _this$state2 = this.state,\n brushMoveStartX = _this$state2.brushMoveStartX,\n movingTravellerId = _this$state2.movingTravellerId,\n endX = _this$state2.endX,\n startX = _this$state2.startX;\n var prevValue = this.state[movingTravellerId];\n var _this$props5 = this.props,\n x = _this$props5.x,\n width = _this$props5.width,\n travellerWidth = _this$props5.travellerWidth,\n onChange = _this$props5.onChange,\n gap = _this$props5.gap,\n data = _this$props5.data;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX\n };\n var delta = e.pageX - brushMoveStartX;\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - prevValue);\n } else if (delta < 0) {\n delta = Math.max(delta, x - prevValue);\n }\n params[movingTravellerId] = prevValue + delta;\n var newIndex = this.getIndex(params);\n var startIndex = newIndex.startIndex,\n endIndex = newIndex.endIndex;\n var isFullGap = function isFullGap() {\n var lastIndex = data.length - 1;\n if (movingTravellerId === 'startX' && (endX > startX ? startIndex % gap === 0 : endIndex % gap === 0) || endX < startX && endIndex === lastIndex || movingTravellerId === 'endX' && (endX > startX ? endIndex % gap === 0 : startIndex % gap === 0) || endX > startX && endIndex === lastIndex) {\n return true;\n }\n return false;\n };\n this.setState((_this$setState = {}, _defineProperty(_this$setState, movingTravellerId, prevValue + delta), _defineProperty(_this$setState, \"brushMoveStartX\", e.pageX), _this$setState), function () {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n });\n }\n }, {\n key: \"handleTravellerMoveKeyboard\",\n value: function handleTravellerMoveKeyboard(direction, id) {\n var _this2 = this;\n // scaleValues are a list of coordinates. For example: [65, 250, 435, 620, 805, 990].\n var _this$state3 = this.state,\n scaleValues = _this$state3.scaleValues,\n startX = _this$state3.startX,\n endX = _this$state3.endX;\n // currentScaleValue refers to which coordinate the current traveller should be placed at.\n var currentScaleValue = this.state[id];\n var currentIndex = scaleValues.indexOf(currentScaleValue);\n if (currentIndex === -1) {\n return;\n }\n var newIndex = currentIndex + direction;\n if (newIndex === -1 || newIndex >= scaleValues.length) {\n return;\n }\n var newScaleValue = scaleValues[newIndex];\n\n // Prevent travellers from being on top of each other or overlapping\n if (id === 'startX' && newScaleValue >= endX || id === 'endX' && newScaleValue <= startX) {\n return;\n }\n this.setState(_defineProperty({}, id, newScaleValue), function () {\n _this2.props.onChange(_this2.getIndex({\n startX: _this2.state.startX,\n endX: _this2.state.endX\n }));\n });\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n fill = _this$props6.fill,\n stroke = _this$props6.stroke;\n return /*#__PURE__*/React.createElement(\"rect\", {\n stroke: stroke,\n fill: fill,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderPanorama\",\n value: function renderPanorama() {\n var _this$props7 = this.props,\n x = _this$props7.x,\n y = _this$props7.y,\n width = _this$props7.width,\n height = _this$props7.height,\n data = _this$props7.data,\n children = _this$props7.children,\n padding = _this$props7.padding;\n var chartElement = Children.only(children);\n if (!chartElement) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(chartElement, {\n x: x,\n y: y,\n width: width,\n height: height,\n margin: padding,\n compact: true,\n data: data\n });\n }\n }, {\n key: \"renderTravellerLayer\",\n value: function renderTravellerLayer(travellerX, id) {\n var _this3 = this;\n var _this$props8 = this.props,\n y = _this$props8.y,\n travellerWidth = _this$props8.travellerWidth,\n height = _this$props8.height,\n traveller = _this$props8.traveller;\n var x = Math.max(travellerX, this.props.x);\n var travellerProps = _objectSpread(_objectSpread({}, filterProps(this.props)), {}, {\n x: x,\n y: y,\n width: travellerWidth,\n height: height\n });\n return /*#__PURE__*/React.createElement(Layer, {\n tabIndex: 0,\n role: \"slider\",\n className: \"recharts-brush-traveller\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers[id],\n onTouchStart: this.travellerDragStartHandlers[id],\n onKeyDown: function onKeyDown(e) {\n if (!['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n _this3.handleTravellerMoveKeyboard(e.key === 'ArrowRight' ? 1 : -1, id);\n },\n onFocus: function onFocus() {\n _this3.setState({\n isTravellerFocused: true\n });\n },\n onBlur: function onBlur() {\n _this3.setState({\n isTravellerFocused: false\n });\n },\n style: {\n cursor: 'col-resize'\n }\n }, Brush.renderTraveller(traveller, travellerProps));\n }\n }, {\n key: \"renderSlide\",\n value: function renderSlide(startX, endX) {\n var _this$props9 = this.props,\n y = _this$props9.y,\n height = _this$props9.height,\n stroke = _this$props9.stroke,\n travellerWidth = _this$props9.travellerWidth;\n var x = Math.min(startX, endX) + travellerWidth;\n var width = Math.max(Math.abs(endX - startX) - travellerWidth, 0);\n return /*#__PURE__*/React.createElement(\"rect\", {\n className: \"recharts-brush-slide\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.handleSlideDragStart,\n onTouchStart: this.handleSlideDragStart,\n style: {\n cursor: 'move'\n },\n stroke: \"none\",\n fill: stroke,\n fillOpacity: 0.2,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderText\",\n value: function renderText() {\n var _this$props10 = this.props,\n startIndex = _this$props10.startIndex,\n endIndex = _this$props10.endIndex,\n y = _this$props10.y,\n height = _this$props10.height,\n travellerWidth = _this$props10.travellerWidth,\n stroke = _this$props10.stroke;\n var _this$state4 = this.state,\n startX = _this$state4.startX,\n endX = _this$state4.endX;\n var offset = 5;\n var attrs = {\n pointerEvents: 'none',\n fill: stroke\n };\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-texts\"\n }, /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: Math.min(startX, endX) - offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(startIndex)), /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"start\",\n verticalAnchor: \"middle\",\n x: Math.max(startX, endX) + travellerWidth + offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(endIndex)));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props11 = this.props,\n data = _this$props11.data,\n className = _this$props11.className,\n children = _this$props11.children,\n x = _this$props11.x,\n y = _this$props11.y,\n width = _this$props11.width,\n height = _this$props11.height,\n alwaysShowText = _this$props11.alwaysShowText;\n var _this$state5 = this.state,\n startX = _this$state5.startX,\n endX = _this$state5.endX,\n isTextActive = _this$state5.isTextActive,\n isSlideMoving = _this$state5.isSlideMoving,\n isTravellerMoving = _this$state5.isTravellerMoving,\n isTravellerFocused = _this$state5.isTravellerFocused;\n if (!data || !data.length || !isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || width <= 0 || height <= 0) {\n return null;\n }\n var layerClass = classNames('recharts-brush', className);\n var isPanoramic = React.Children.count(children) === 1;\n var style = generatePrefixStyle('userSelect', 'none');\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass,\n onMouseLeave: this.handleLeaveWrapper,\n onTouchMove: this.handleTouchMove,\n style: style\n }, this.renderBackground(), isPanoramic && this.renderPanorama(), this.renderSlide(startX, endX), this.renderTravellerLayer(startX, 'startX'), this.renderTravellerLayer(endX, 'endX'), (isTextActive || isSlideMoving || isTravellerMoving || isTravellerFocused || alwaysShowText) && this.renderText());\n }\n }], [{\n key: \"renderDefaultTraveller\",\n value: function renderDefaultTraveller(props) {\n var x = props.x,\n y = props.y,\n width = props.width,\n height = props.height,\n stroke = props.stroke;\n var lineY = Math.floor(y + height / 2) - 1;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n fill: stroke,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY,\n x2: x + width - 1,\n y2: lineY,\n fill: \"none\",\n stroke: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY + 2,\n x2: x + width - 1,\n y2: lineY + 2,\n fill: \"none\",\n stroke: \"#fff\"\n }));\n }\n }, {\n key: \"renderTraveller\",\n value: function renderTraveller(option, props) {\n var rectangle;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rectangle = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rectangle = option(props);\n } else {\n rectangle = Brush.renderDefaultTraveller(props);\n }\n return rectangle;\n }\n }, {\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var data = nextProps.data,\n width = nextProps.width,\n x = nextProps.x,\n travellerWidth = nextProps.travellerWidth,\n updateId = nextProps.updateId,\n startIndex = nextProps.startIndex,\n endIndex = nextProps.endIndex;\n if (data !== prevState.prevData || updateId !== prevState.prevUpdateId) {\n return _objectSpread({\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width\n }, data && data.length ? createScale({\n data: data,\n width: width,\n x: x,\n travellerWidth: travellerWidth,\n startIndex: startIndex,\n endIndex: endIndex\n }) : {\n scale: null,\n scaleValues: null\n });\n }\n if (prevState.scale && (width !== prevState.prevWidth || x !== prevState.prevX || travellerWidth !== prevState.prevTravellerWidth)) {\n prevState.scale.range([x, x + width - travellerWidth]);\n var scaleValues = prevState.scale.domain().map(function (entry) {\n return prevState.scale(entry);\n });\n return {\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width,\n startX: prevState.scale(nextProps.startIndex),\n endX: prevState.scale(nextProps.endIndex),\n scaleValues: scaleValues\n };\n }\n return null;\n }\n }, {\n key: \"getIndexInRange\",\n value: function getIndexInRange(range, x) {\n var len = range.length;\n var start = 0;\n var end = len - 1;\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n if (range[middle] > x) {\n end = middle;\n } else {\n start = middle;\n }\n }\n return x >= range[end] ? end : start;\n }\n }]);\n return Brush;\n}(PureComponent);\n_defineProperty(Brush, \"displayName\", 'Brush');\n_defineProperty(Brush, \"defaultProps\", {\n height: 40,\n travellerWidth: 5,\n gap: 1,\n fill: '#fff',\n stroke: '#666',\n padding: {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n },\n leaveTimeOut: 1000,\n alwaysShowText: false\n});","export var ifOverflowMatches = function ifOverflowMatches(props, value) {\n var alwaysShow = props.alwaysShow;\n var ifOverflow = props.ifOverflow;\n if (alwaysShow) {\n ifOverflow = 'extendDomain';\n }\n return ifOverflow === value;\n};","import _isFunction from \"lodash/isFunction\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Reference Dot\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Dot } from '../shape/Dot';\nimport { Label } from '../component/Label';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { createLabeledScales } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/ReactUtils';\nvar getCoordinate = function getCoordinate(props) {\n var x = props.x,\n y = props.y,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var result = scales.apply({\n x: x,\n y: y\n }, {\n bandAware: true\n });\n if (ifOverflowMatches(props, 'discard') && !scales.isInRange(result)) {\n return null;\n }\n return result;\n};\nexport function ReferenceDot(props) {\n var x = props.x,\n y = props.y,\n r = props.r,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n var isX = isNumOrStr(x);\n var isY = isNumOrStr(y);\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n if (!isX || !isY) {\n return null;\n }\n var coordinate = getCoordinate(props);\n if (!coordinate) {\n return null;\n }\n var cx = coordinate.x,\n cy = coordinate.y;\n var shape = props.shape,\n className = props.className;\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n var dotProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n cx: cx,\n cy: cy\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-dot', className)\n }, ReferenceDot.renderDot(shape, dotProps), Label.renderCallByParent(props, {\n x: cx - r,\n y: cy - r,\n width: 2 * r,\n height: 2 * r\n }));\n}\nReferenceDot.displayName = 'ReferenceDot';\nReferenceDot.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#fff',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1\n};\nReferenceDot.renderDot = function (option, props) {\n var dot;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dot = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n cx: props.cx,\n cy: props.cy,\n className: \"recharts-reference-dot-dot\"\n }));\n }\n return dot;\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport _some from \"lodash/some\";\nimport _isFunction from \"lodash/isFunction\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { createLabeledScales, rectWithCoords } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/ReactUtils';\nvar renderLine = function renderLine(option, props) {\n var line;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n line = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n line = option(props);\n } else {\n line = /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: \"recharts-reference-line-line\"\n }));\n }\n return line;\n};\n\n// TODO: ScaleHelper\nvar getEndPoints = function getEndPoints(scales, isFixedX, isFixedY, isSegment, props) {\n var _props$viewBox = props.viewBox,\n x = _props$viewBox.x,\n y = _props$viewBox.y,\n width = _props$viewBox.width,\n height = _props$viewBox.height,\n position = props.position;\n if (isFixedY) {\n var yCoord = props.y,\n orientation = props.yAxis.orientation;\n var coord = scales.y.apply(yCoord, {\n position: position\n });\n if (ifOverflowMatches(props, 'discard') && !scales.y.isInRange(coord)) {\n return null;\n }\n var points = [{\n x: x + width,\n y: coord\n }, {\n x: x,\n y: coord\n }];\n return orientation === 'left' ? points.reverse() : points;\n }\n if (isFixedX) {\n var xCoord = props.x,\n _orientation = props.xAxis.orientation;\n var _coord = scales.x.apply(xCoord, {\n position: position\n });\n if (ifOverflowMatches(props, 'discard') && !scales.x.isInRange(_coord)) {\n return null;\n }\n var _points = [{\n x: _coord,\n y: y + height\n }, {\n x: _coord,\n y: y\n }];\n return _orientation === 'top' ? _points.reverse() : _points;\n }\n if (isSegment) {\n var segment = props.segment;\n var _points2 = segment.map(function (p) {\n return scales.apply(p, {\n position: position\n });\n });\n if (ifOverflowMatches(props, 'discard') && _some(_points2, function (p) {\n return !scales.isInRange(p);\n })) {\n return null;\n }\n return _points2;\n }\n return null;\n};\nexport function ReferenceLine(props) {\n var fixedX = props.x,\n fixedY = props.y,\n segment = props.segment,\n xAxis = props.xAxis,\n yAxis = props.yAxis,\n shape = props.shape,\n className = props.className,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var isX = isNumOrStr(fixedX);\n var isY = isNumOrStr(fixedY);\n var isSegment = segment && segment.length === 2;\n var endPoints = getEndPoints(scales, isX, isY, isSegment, props);\n if (!endPoints) {\n return null;\n }\n var _endPoints = _slicedToArray(endPoints, 2),\n _endPoints$ = _endPoints[0],\n x1 = _endPoints$.x,\n y1 = _endPoints$.y,\n _endPoints$2 = _endPoints[1],\n x2 = _endPoints$2.x,\n y2 = _endPoints$2.y;\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n var lineProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-line', className)\n }, renderLine(shape, lineProps), Label.renderCallByParent(props, rectWithCoords({\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n })));\n}\nReferenceLine.displayName = 'ReferenceLine';\nReferenceLine.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n fill: 'none',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1,\n position: 'middle'\n};","import _isFunction from \"lodash/isFunction\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { createLabeledScales, rectWithPoints } from '../util/CartesianUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { Rectangle } from '../shape/Rectangle';\nimport { filterProps } from '../util/ReactUtils';\nvar getRect = function getRect(hasX1, hasX2, hasY1, hasY2, props) {\n var xValue1 = props.x1,\n xValue2 = props.x2,\n yValue1 = props.y1,\n yValue2 = props.y2,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n if (!xAxis || !yAxis) return null;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var p1 = {\n x: hasX1 ? scales.x.apply(xValue1, {\n position: 'start'\n }) : scales.x.rangeMin,\n y: hasY1 ? scales.y.apply(yValue1, {\n position: 'start'\n }) : scales.y.rangeMin\n };\n var p2 = {\n x: hasX2 ? scales.x.apply(xValue2, {\n position: 'end'\n }) : scales.x.rangeMax,\n y: hasY2 ? scales.y.apply(yValue2, {\n position: 'end'\n }) : scales.y.rangeMax\n };\n if (ifOverflowMatches(props, 'discard') && (!scales.isInRange(p1) || !scales.isInRange(p2))) {\n return null;\n }\n return rectWithPoints(p1, p2);\n};\nexport function ReferenceArea(props) {\n var x1 = props.x1,\n x2 = props.x2,\n y1 = props.y1,\n y2 = props.y2,\n className = props.className,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var hasX1 = isNumOrStr(x1);\n var hasX2 = isNumOrStr(x2);\n var hasY1 = isNumOrStr(y1);\n var hasY2 = isNumOrStr(y2);\n var shape = props.shape;\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n var rect = getRect(hasX1, hasX2, hasY1, hasY2, props);\n if (!rect && !shape) {\n return null;\n }\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-area', className)\n }, ReferenceArea.renderRect(shape, _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), rect)), Label.renderCallByParent(props, rect));\n}\nReferenceArea.displayName = 'ReferenceArea';\nReferenceArea.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#ccc',\n fillOpacity: 0.5,\n stroke: 'none',\n strokeWidth: 1\n};\nReferenceArea.renderRect = function (option, props) {\n var rect;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rect = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rect = option(props);\n } else {\n rect = /*#__PURE__*/React.createElement(Rectangle, _extends({}, props, {\n className: \"recharts-reference-area-rect\"\n }));\n }\n return rect;\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { ReferenceDot } from '../cartesian/ReferenceDot';\nimport { ReferenceLine } from '../cartesian/ReferenceLine';\nimport { ReferenceArea } from '../cartesian/ReferenceArea';\nimport { ifOverflowMatches } from './IfOverflowMatches';\nimport { findAllByType } from './ReactUtils';\nimport { isNumber } from './DataUtils';\nexport var detectReferenceElementsDomain = function detectReferenceElementsDomain(children, domain, axisId, axisType, specifiedTicks) {\n var lines = findAllByType(children, ReferenceLine);\n var dots = findAllByType(children, ReferenceDot);\n var elements = [].concat(_toConsumableArray(lines), _toConsumableArray(dots));\n var areas = findAllByType(children, ReferenceArea);\n var idKey = \"\".concat(axisType, \"Id\");\n var valueKey = axisType[0];\n var finalDomain = domain;\n if (elements.length) {\n finalDomain = elements.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[valueKey])) {\n var value = el.props[valueKey];\n return [Math.min(result[0], value), Math.max(result[1], value)];\n }\n return result;\n }, finalDomain);\n }\n if (areas.length) {\n var key1 = \"\".concat(valueKey, \"1\");\n var key2 = \"\".concat(valueKey, \"2\");\n finalDomain = areas.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[key1]) && isNumber(el.props[key2])) {\n var value1 = el.props[key1];\n var value2 = el.props[key2];\n return [Math.min(result[0], value1, value2), Math.max(result[1], value1, value2)];\n }\n return result;\n }, finalDomain);\n }\n if (specifiedTicks && specifiedTicks.length) {\n finalDomain = specifiedTicks.reduce(function (result, tick) {\n if (isNumber(tick)) {\n return [Math.min(result[0], tick), Math.max(result[1], tick)];\n }\n return result;\n }, finalDomain);\n }\n return finalDomain;\n};","import EventEmitter from 'eventemitter3';\nvar eventCenter = new EventEmitter();\nif (eventCenter.setMaxListeners) {\n eventCenter.setMaxListeners(10);\n}\nexport { eventCenter };\nexport var SYNC_EVENT = 'recharts.syncMouseEvents';","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nexport var AccessibilityManager = /*#__PURE__*/function () {\n function AccessibilityManager() {\n _classCallCheck(this, AccessibilityManager);\n _defineProperty(this, \"activeIndex\", 0);\n _defineProperty(this, \"coordinateList\", []);\n _defineProperty(this, \"layout\", 'horizontal');\n }\n _createClass(AccessibilityManager, [{\n key: \"setDetails\",\n value: function setDetails(_ref) {\n var _ref$coordinateList = _ref.coordinateList,\n coordinateList = _ref$coordinateList === void 0 ? [] : _ref$coordinateList,\n _ref$container = _ref.container,\n container = _ref$container === void 0 ? null : _ref$container,\n _ref$layout = _ref.layout,\n layout = _ref$layout === void 0 ? null : _ref$layout,\n _ref$offset = _ref.offset,\n offset = _ref$offset === void 0 ? null : _ref$offset,\n _ref$mouseHandlerCall = _ref.mouseHandlerCallback,\n mouseHandlerCallback = _ref$mouseHandlerCall === void 0 ? null : _ref$mouseHandlerCall;\n this.coordinateList = coordinateList !== null && coordinateList !== void 0 ? coordinateList : this.coordinateList;\n this.container = container !== null && container !== void 0 ? container : this.container;\n this.layout = layout !== null && layout !== void 0 ? layout : this.layout;\n this.offset = offset !== null && offset !== void 0 ? offset : this.offset;\n this.mouseHandlerCallback = mouseHandlerCallback !== null && mouseHandlerCallback !== void 0 ? mouseHandlerCallback : this.mouseHandlerCallback;\n\n // Keep activeIndex in the bounds between 0 and the last coordinate index\n this.activeIndex = Math.min(Math.max(this.activeIndex, 0), this.coordinateList.length - 1);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.spoofMouse();\n }\n }, {\n key: \"keyboardEvent\",\n value: function keyboardEvent(e) {\n // The AccessibilityManager relies on the Tooltip component. When tooltips suddenly stop existing,\n // it can cause errors. We use this function to check. We don't want arrow keys to be processed\n // if there are no tooltips, since that will cause unexpected behavior of users.\n if (this.coordinateList.length === 0) {\n return;\n }\n switch (e.key) {\n case 'ArrowRight':\n {\n if (this.layout !== 'horizontal') {\n return;\n }\n this.activeIndex = Math.min(this.activeIndex + 1, this.coordinateList.length - 1);\n this.spoofMouse();\n break;\n }\n case 'ArrowLeft':\n {\n if (this.layout !== 'horizontal') {\n return;\n }\n this.activeIndex = Math.max(this.activeIndex - 1, 0);\n this.spoofMouse();\n break;\n }\n default:\n {\n break;\n }\n }\n }\n }, {\n key: \"spoofMouse\",\n value: function spoofMouse() {\n if (this.layout !== 'horizontal') {\n return;\n }\n\n // This can happen when the tooltips suddenly stop existing as children of the component\n // That update doesn't otherwise fire events, so we have to double check here.\n if (this.coordinateList.length === 0) {\n return;\n }\n var _this$container$getBo = this.container.getBoundingClientRect(),\n x = _this$container$getBo.x,\n y = _this$container$getBo.y,\n height = _this$container$getBo.height;\n var coordinate = this.coordinateList[this.activeIndex].coordinate;\n var pageX = x + coordinate;\n var pageY = y + this.offset.top + height / 2;\n this.mouseHandlerCallback({\n pageX: pageX,\n pageY: pageY\n });\n }\n }]);\n return AccessibilityManager;\n}();","import { polarToCartesian } from '../PolarUtils';\nimport { getRadialCursorPoints } from './getRadialCursorPoints';\nexport function getCursorPoints(layout, activeCoordinate, offset) {\n var x1, y1, x2, y2;\n if (layout === 'horizontal') {\n x1 = activeCoordinate.x;\n x2 = x1;\n y1 = offset.top;\n y2 = offset.top + offset.height;\n } else if (layout === 'vertical') {\n y1 = activeCoordinate.y;\n y2 = y1;\n x1 = offset.left;\n x2 = offset.left + offset.width;\n } else if (activeCoordinate.cx != null && activeCoordinate.cy != null) {\n if (layout === 'centric') {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n innerRadius = activeCoordinate.innerRadius,\n outerRadius = activeCoordinate.outerRadius,\n angle = activeCoordinate.angle;\n var innerPoint = polarToCartesian(cx, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx, cy, outerRadius, angle);\n x1 = innerPoint.x;\n y1 = innerPoint.y;\n x2 = outerPoint.x;\n y2 = outerPoint.y;\n } else {\n return getRadialCursorPoints(activeCoordinate);\n }\n }\n return [{\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }];\n}","import _every from \"lodash/every\";\nimport _find from \"lodash/find\";\nimport _isFunction from \"lodash/isFunction\";\nimport _throttle from \"lodash/throttle\";\nimport _sortBy from \"lodash/sortBy\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _range from \"lodash/range\";\nimport _isBoolean from \"lodash/isBoolean\";\nimport _isArray from \"lodash/isArray\";\nvar _excluded = [\"item\"],\n _excluded2 = [\"children\", \"className\", \"width\", \"height\", \"style\", \"compact\", \"title\", \"desc\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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; }\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; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { Component, cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport invariant from 'tiny-invariant';\nimport { getRadialCursorPoints } from '../util/cursor/getRadialCursorPoints';\nimport { getTicks } from '../cartesian/getTicks';\nimport { Surface } from '../container/Surface';\nimport { Layer } from '../container/Layer';\nimport { Tooltip } from '../component/Tooltip';\nimport { Legend } from '../component/Legend';\nimport { Curve } from '../shape/Curve';\nimport { Cross } from '../shape/Cross';\nimport { Sector } from '../shape/Sector';\nimport { Dot } from '../shape/Dot';\nimport { isInRectangle, Rectangle } from '../shape/Rectangle';\nimport { findAllByType, findChildByType, getDisplayName, parseChildIndex, validateWidthHeight, isChildrenEqual, renderByOrder, getReactEventByType, filterProps } from '../util/ReactUtils';\nimport { CartesianAxis } from '../cartesian/CartesianAxis';\nimport { Brush } from '../cartesian/Brush';\nimport { getOffset, calculateChartCoordinate } from '../util/DOMUtils';\nimport { getAnyElementOfObject, hasDuplicate, uniqueId, isNumber, findEntryInArray } from '../util/DataUtils';\nimport { calculateActiveTickIndex, getMainColorOfGraphicItem, getBarSizeList, getBarPosition, appendOffsetOfLegend, getLegendProps, combineEventHandlers, getTicksOfAxis, getCoordinatesOfGrid, getStackedDataOfItem, parseErrorBarsOfAxis, getBandSizeOfAxis, getStackGroupsByAxisId, isCategoricalAxis, getDomainOfItemsWithSameAxis, getDomainOfStackGroups, getDomainOfDataByKey, parseSpecifiedDomain, parseDomainOfCategoryAxis, getTooltipItem } from '../util/ChartUtils';\nimport { detectReferenceElementsDomain } from '../util/DetectReferenceElementsDomain';\nimport { inRangeOfSector, polarToCartesian } from '../util/PolarUtils';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { eventCenter, SYNC_EVENT } from '../util/Events';\nimport { adaptEventHandlers } from '../util/types';\nimport { AccessibilityManager } from './AccessibilityManager';\nimport { isDomainSpecifiedByUser } from '../util/isDomainSpecifiedByUser';\nimport { deferer } from '../util/deferer';\nimport { getActiveShapeIndexForTooltip, isFunnel, isPie, isScatter } from '../util/ActiveShapeUtils';\nimport { getCursorPoints } from '../util/cursor/getCursorPoints';\nimport { getCursorRectangle } from '../util/cursor/getCursorRectangle';\nvar ORIENT_MAP = {\n xAxis: ['bottom', 'top'],\n yAxis: ['left', 'right']\n};\nvar originCoordinate = {\n x: 0,\n y: 0\n};\n\n// use legacy isFinite only if there is a problem (aka IE)\n// eslint-disable-next-line no-restricted-globals\nvar isFinit = Number.isFinite ? Number.isFinite : isFinite;\nvar calculateTooltipPos = function calculateTooltipPos(rangeObj, layout) {\n if (layout === 'horizontal') {\n return rangeObj.x;\n }\n if (layout === 'vertical') {\n return rangeObj.y;\n }\n if (layout === 'centric') {\n return rangeObj.angle;\n }\n return rangeObj.radius;\n};\nvar getActiveCoordinate = function getActiveCoordinate(layout, tooltipTicks, activeIndex, rangeObj) {\n var entry = tooltipTicks.find(function (tick) {\n return tick && tick.index === activeIndex;\n });\n if (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.coordinate,\n y: rangeObj.y\n };\n }\n if (layout === 'vertical') {\n return {\n x: rangeObj.x,\n y: entry.coordinate\n };\n }\n if (layout === 'centric') {\n var _angle = entry.coordinate;\n var _radius = rangeObj.radius;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle)), {}, {\n angle: _angle,\n radius: _radius\n });\n }\n var radius = entry.coordinate;\n var angle = rangeObj.angle;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle)), {}, {\n angle: angle,\n radius: radius\n });\n }\n return originCoordinate;\n};\nvar getDisplayedData = function getDisplayedData(data, _ref, item) {\n var graphicalItems = _ref.graphicalItems,\n dataStartIndex = _ref.dataStartIndex,\n dataEndIndex = _ref.dataEndIndex;\n var itemsData = (graphicalItems || []).reduce(function (result, child) {\n var itemData = child.props.data;\n if (itemData && itemData.length) {\n return [].concat(_toConsumableArray(result), _toConsumableArray(itemData));\n }\n return result;\n }, []);\n if (itemsData && itemsData.length > 0) {\n return itemsData;\n }\n if (item && item.props && item.props.data && item.props.data.length > 0) {\n return item.props.data;\n }\n if (data && data.length && isNumber(dataStartIndex) && isNumber(dataEndIndex)) {\n return data.slice(dataStartIndex, dataEndIndex + 1);\n }\n return [];\n};\nfunction getDefaultDomainByAxisType(axisType) {\n return axisType === 'number' ? [0, 'auto'] : undefined;\n}\n\n/**\n * Get the content to be displayed in the tooltip\n * @param {Object} state Current state\n * @param {Array} chartData The data defined in chart\n * @param {Number} activeIndex Active index of data\n * @param {String} activeLabel Active label of data\n * @return {Array} The content of tooltip\n */\nvar getTooltipContent = function getTooltipContent(state, chartData, activeIndex, activeLabel) {\n var graphicalItems = state.graphicalItems,\n tooltipAxis = state.tooltipAxis;\n var displayedData = getDisplayedData(chartData, state);\n if (activeIndex < 0 || !graphicalItems || !graphicalItems.length || activeIndex >= displayedData.length) {\n return null;\n }\n // get data by activeIndex when the axis don't allow duplicated category\n return graphicalItems.reduce(function (result, child) {\n var _child$props$data;\n var hide = child.props.hide;\n if (hide) {\n return result;\n }\n\n /**\n * Fixes: https://github.com/recharts/recharts/issues/3669\n * Defaulting to chartData below to fix an edge case where the tooltip does not include data from all charts\n * when a separate dataset is passed to chart prop data and specified on Line/Area/etc prop data\n */\n var data = ((_child$props$data = child.props.data) !== null && _child$props$data !== void 0 ? _child$props$data : chartData).slice(state.dataStartIndex, state.dataEndIndex + 1);\n var payload;\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // graphic child has data props\n var entries = data === undefined ? displayedData : data;\n payload = findEntryInArray(entries, tooltipAxis.dataKey, activeLabel);\n } else {\n payload = data && data[activeIndex] || displayedData[activeIndex];\n }\n if (!payload) {\n return result;\n }\n return [].concat(_toConsumableArray(result), [getTooltipItem(child, payload)]);\n }, []);\n};\n\n/**\n * Returns tooltip data based on a mouse position (as a parameter or in state)\n * @param {Object} state current state\n * @param {Array} chartData the data defined in chart\n * @param {String} layout The layout type of chart\n * @param {Object} rangeObj { x, y } coordinates\n * @return {Object} Tooltip data data\n */\nvar getTooltipData = function getTooltipData(state, chartData, layout, rangeObj) {\n var rangeData = rangeObj || {\n x: state.chartX,\n y: state.chartY\n };\n var pos = calculateTooltipPos(rangeData, layout);\n var ticks = state.orderedTooltipTicks,\n axis = state.tooltipAxis,\n tooltipTicks = state.tooltipTicks;\n var activeIndex = calculateActiveTickIndex(pos, ticks, tooltipTicks, axis);\n if (activeIndex >= 0 && tooltipTicks) {\n var activeLabel = tooltipTicks[activeIndex] && tooltipTicks[activeIndex].value;\n var activePayload = getTooltipContent(state, chartData, activeIndex, activeLabel);\n var activeCoordinate = getActiveCoordinate(layout, ticks, activeIndex, rangeData);\n return {\n activeTooltipIndex: activeIndex,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n };\n }\n return null;\n};\n\n/**\n * Get the configuration of axis by the options of axis instance\n * @param {Object} props Latest props\n * @param {Array} axes The instance of axes\n * @param {Array} graphicalItems The instances of item\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nexport var getAxisMapByAxes = function getAxisMapByAxes(props, _ref2) {\n var axes = _ref2.axes,\n graphicalItems = _ref2.graphicalItems,\n axisType = _ref2.axisType,\n axisIdKey = _ref2.axisIdKey,\n stackGroups = _ref2.stackGroups,\n dataStartIndex = _ref2.dataStartIndex,\n dataEndIndex = _ref2.dataEndIndex;\n var layout = props.layout,\n children = props.children,\n stackOffset = props.stackOffset;\n var isCategorical = isCategoricalAxis(layout, axisType);\n\n // Eliminate duplicated axes\n var axisMap = axes.reduce(function (result, child) {\n var _child$props$domain2;\n var _child$props = child.props,\n type = _child$props.type,\n dataKey = _child$props.dataKey,\n allowDataOverflow = _child$props.allowDataOverflow,\n allowDuplicatedCategory = _child$props.allowDuplicatedCategory,\n scale = _child$props.scale,\n ticks = _child$props.ticks,\n includeHidden = _child$props.includeHidden;\n var axisId = child.props[axisIdKey];\n if (result[axisId]) {\n return result;\n }\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId;\n }),\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var domain, duplicateDomain, categoricalDomain;\n\n /*\n * This is a hack to short-circuit the domain creation here to enhance performance.\n * Usually, the data is used to determine the domain, but when the user specifies\n * a domain upfront (via props), there is no need to calculate the domain start and end,\n * which is very expensive for a larger amount of data.\n * The only thing that would prohibit short-circuiting is when the user doesn't allow data overflow,\n * because the axis is supposed to ignore the specified domain that way.\n */\n if (isDomainSpecifiedByUser(child.props.domain, allowDataOverflow, type)) {\n domain = parseSpecifiedDomain(child.props.domain, null, allowDataOverflow);\n /* The chart can be categorical and have the domain specified in numbers\n * we still need to calculate the categorical domain\n * TODO: refactor this more\n */\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n }\n\n // if the domain is defaulted we need this for `originalDomain` as well\n var defaultDomain = getDefaultDomainByAxisType(type);\n\n // we didn't create the domain from user's props above, so we need to calculate it\n if (!domain || domain.length === 0) {\n var _child$props$domain;\n var childDomain = (_child$props$domain = child.props.domain) !== null && _child$props$domain !== void 0 ? _child$props$domain : defaultDomain;\n if (dataKey) {\n // has dataKey in \n domain = getDomainOfDataByKey(displayedData, dataKey, type);\n if (type === 'category' && isCategorical) {\n // the field type is category data and this axis is categorical axis\n var duplicate = hasDuplicate(domain);\n if (allowDuplicatedCategory && duplicate) {\n duplicateDomain = domain;\n // When category axis has duplicated text, serial numbers are used to generate scale\n domain = _range(0, len);\n } else if (!allowDuplicatedCategory) {\n // remove duplicated category\n domain = parseDomainOfCategoryAxis(childDomain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n }\n } else if (type === 'category') {\n // the field type is category data and this axis is numerical axis\n if (!allowDuplicatedCategory) {\n domain = parseDomainOfCategoryAxis(childDomain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 || entry === '' || _isNil(entry) ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n } else {\n // eliminate undefined or null or empty string\n domain = domain.filter(function (entry) {\n return entry !== '' && !_isNil(entry);\n });\n }\n } else if (type === 'number') {\n // the field type is numerical\n var errorBarsDomain = parseErrorBarsOfAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && (includeHidden || !item.props.hide);\n }), dataKey, axisType, layout);\n if (errorBarsDomain) {\n domain = errorBarsDomain;\n }\n }\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n } else if (isCategorical) {\n // the axis is a categorical axis\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack && type === 'number') {\n // when stackOffset is 'expand', the domain may be calculated as [0, 1.000000000002]\n domain = stackOffset === 'expand' ? [0, 1] : getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n } else {\n domain = getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && (includeHidden || !item.props.hide);\n }), type, layout, true);\n }\n if (type === 'number') {\n // To detect wether there is any reference lines whose props alwaysShow is true\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType, ticks);\n if (childDomain) {\n domain = parseSpecifiedDomain(childDomain, domain, allowDataOverflow);\n }\n } else if (type === 'category' && childDomain) {\n var axisDomain = childDomain;\n var isDomainValid = domain.every(function (entry) {\n return axisDomain.indexOf(entry) >= 0;\n });\n if (isDomainValid) {\n domain = axisDomain;\n }\n }\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({}, child.props), {}, {\n axisType: axisType,\n domain: domain,\n categoricalDomain: categoricalDomain,\n duplicateDomain: duplicateDomain,\n originalDomain: (_child$props$domain2 = child.props.domain) !== null && _child$props$domain2 !== void 0 ? _child$props$domain2 : defaultDomain,\n isCategorical: isCategorical,\n layout: layout\n })));\n }, {});\n return axisMap;\n};\n\n/**\n * Get the configuration of axis by the options of item,\n * this kind of axis does not display in chart\n * @param {Object} props Latest props\n * @param {Array} graphicalItems The instances of item\n * @param {ReactElement} Axis Axis Component\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nvar getAxisMapByItems = function getAxisMapByItems(props, _ref3) {\n var graphicalItems = _ref3.graphicalItems,\n Axis = _ref3.Axis,\n axisType = _ref3.axisType,\n axisIdKey = _ref3.axisIdKey,\n stackGroups = _ref3.stackGroups,\n dataStartIndex = _ref3.dataStartIndex,\n dataEndIndex = _ref3.dataEndIndex;\n var layout = props.layout,\n children = props.children;\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var isCategorical = isCategoricalAxis(layout, axisType);\n var index = -1;\n\n // The default type of x-axis is category axis,\n // The default contents of x-axis is the serial numbers of data\n // The default type of y-axis is number axis\n // The default contents of y-axis is the domain of data\n var axisMap = graphicalItems.reduce(function (result, child) {\n var axisId = child.props[axisIdKey];\n var originalDomain = getDefaultDomainByAxisType('number');\n if (!result[axisId]) {\n index++;\n var domain;\n if (isCategorical) {\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack) {\n domain = getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n } else {\n domain = parseSpecifiedDomain(originalDomain, getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), 'number', layout), Axis.defaultProps.allowDataOverflow);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({\n axisType: axisType\n }, Axis.defaultProps), {}, {\n hide: true,\n orientation: _get(ORIENT_MAP, \"\".concat(axisType, \".\").concat(index % 2), null),\n domain: domain,\n originalDomain: originalDomain,\n isCategorical: isCategorical,\n layout: layout\n // specify scale when no Axis\n // scale: isCategorical ? 'band' : 'linear',\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n};\n\n/**\n * Get the configuration of all x-axis or y-axis\n * @param {Object} props Latest props\n * @param {String} axisType The type of axis\n * @param {Array} graphicalItems The instances of item\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nvar getAxisMap = function getAxisMap(props, _ref4) {\n var _ref4$axisType = _ref4.axisType,\n axisType = _ref4$axisType === void 0 ? 'xAxis' : _ref4$axisType,\n AxisComp = _ref4.AxisComp,\n graphicalItems = _ref4.graphicalItems,\n stackGroups = _ref4.stackGroups,\n dataStartIndex = _ref4.dataStartIndex,\n dataEndIndex = _ref4.dataEndIndex;\n var children = props.children;\n var axisIdKey = \"\".concat(axisType, \"Id\");\n // Get all the instance of Axis\n var axes = findAllByType(children, AxisComp);\n var axisMap = {};\n if (axes && axes.length) {\n axisMap = getAxisMapByAxes(props, {\n axes: axes,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n } else if (graphicalItems && graphicalItems.length) {\n axisMap = getAxisMapByItems(props, {\n Axis: AxisComp,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n }\n return axisMap;\n};\nvar tooltipTicksGenerator = function tooltipTicksGenerator(axisMap) {\n var axis = getAnyElementOfObject(axisMap);\n var tooltipTicks = getTicksOfAxis(axis, false, true);\n return {\n tooltipTicks: tooltipTicks,\n orderedTooltipTicks: _sortBy(tooltipTicks, function (o) {\n return o.coordinate;\n }),\n tooltipAxis: axis,\n tooltipAxisBandSize: getBandSizeOfAxis(axis, tooltipTicks)\n };\n};\n\n/**\n * Returns default, reset state for the categorical chart.\n * @param {Object} props Props object to use when creating the default state\n * @return {Object} Whole new state\n */\nvar createDefaultState = function createDefaultState(props) {\n var _brushItem$props, _brushItem$props2;\n var children = props.children,\n defaultShowTooltip = props.defaultShowTooltip;\n var brushItem = findChildByType(children, Brush);\n var startIndex = brushItem && brushItem.props && brushItem.props.startIndex || 0;\n var endIndex = (brushItem === null || brushItem === void 0 || (_brushItem$props = brushItem.props) === null || _brushItem$props === void 0 ? void 0 : _brushItem$props.endIndex) !== undefined ? brushItem === null || brushItem === void 0 || (_brushItem$props2 = brushItem.props) === null || _brushItem$props2 === void 0 ? void 0 : _brushItem$props2.endIndex : props.data && props.data.length - 1 || 0;\n return {\n chartX: 0,\n chartY: 0,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n activeTooltipIndex: -1,\n isTooltipActive: !_isNil(defaultShowTooltip) ? defaultShowTooltip : false\n };\n};\nvar hasGraphicalBarItem = function hasGraphicalBarItem(graphicalItems) {\n if (!graphicalItems || !graphicalItems.length) {\n return false;\n }\n return graphicalItems.some(function (item) {\n var name = getDisplayName(item && item.type);\n return name && name.indexOf('Bar') >= 0;\n });\n};\nvar getAxisNameByLayout = function getAxisNameByLayout(layout) {\n if (layout === 'horizontal') {\n return {\n numericAxisName: 'yAxis',\n cateAxisName: 'xAxis'\n };\n }\n if (layout === 'vertical') {\n return {\n numericAxisName: 'xAxis',\n cateAxisName: 'yAxis'\n };\n }\n if (layout === 'centric') {\n return {\n numericAxisName: 'radiusAxis',\n cateAxisName: 'angleAxis'\n };\n }\n return {\n numericAxisName: 'angleAxis',\n cateAxisName: 'radiusAxis'\n };\n};\n\n/**\n * Calculate the offset of main part in the svg element\n * @param {Object} params.props Latest props\n * @param {Array} params.graphicalItems The instances of item\n * @param {Object} params.xAxisMap The configuration of x-axis\n * @param {Object} params.yAxisMap The configuration of y-axis\n * @param {Object} prevLegendBBox The boundary box of legend\n * @return {Object} The offset of main part in the svg element\n */\nvar calculateOffset = function calculateOffset(_ref5, prevLegendBBox) {\n var props = _ref5.props,\n graphicalItems = _ref5.graphicalItems,\n _ref5$xAxisMap = _ref5.xAxisMap,\n xAxisMap = _ref5$xAxisMap === void 0 ? {} : _ref5$xAxisMap,\n _ref5$yAxisMap = _ref5.yAxisMap,\n yAxisMap = _ref5$yAxisMap === void 0 ? {} : _ref5$yAxisMap;\n var width = props.width,\n height = props.height,\n children = props.children;\n var margin = props.margin || {};\n var brushItem = findChildByType(children, Brush);\n var legendItem = findChildByType(children, Legend);\n var offsetH = Object.keys(yAxisMap).reduce(function (result, id) {\n var entry = yAxisMap[id];\n var orientation = entry.orientation;\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, result[orientation] + entry.width));\n }\n return result;\n }, {\n left: margin.left || 0,\n right: margin.right || 0\n });\n var offsetV = Object.keys(xAxisMap).reduce(function (result, id) {\n var entry = xAxisMap[id];\n var orientation = entry.orientation;\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, _get(result, \"\".concat(orientation)) + entry.height));\n }\n return result;\n }, {\n top: margin.top || 0,\n bottom: margin.bottom || 0\n });\n var offset = _objectSpread(_objectSpread({}, offsetV), offsetH);\n var brushBottom = offset.bottom;\n if (brushItem) {\n offset.bottom += brushItem.props.height || Brush.defaultProps.height;\n }\n if (legendItem && prevLegendBBox) {\n // @ts-expect-error margin is optional in props but required in appendOffsetOfLegend\n offset = appendOffsetOfLegend(offset, graphicalItems, props, prevLegendBBox);\n }\n return _objectSpread(_objectSpread({\n brushBottom: brushBottom\n }, offset), {}, {\n width: width - offset.left - offset.right,\n height: height - offset.top - offset.bottom\n });\n};\nexport var generateCategoricalChart = function generateCategoricalChart(_ref6) {\n var _class;\n var chartName = _ref6.chartName,\n GraphicalChild = _ref6.GraphicalChild,\n _ref6$defaultTooltipE = _ref6.defaultTooltipEventType,\n defaultTooltipEventType = _ref6$defaultTooltipE === void 0 ? 'axis' : _ref6$defaultTooltipE,\n _ref6$validateTooltip = _ref6.validateTooltipEventTypes,\n validateTooltipEventTypes = _ref6$validateTooltip === void 0 ? ['axis'] : _ref6$validateTooltip,\n axisComponents = _ref6.axisComponents,\n legendContent = _ref6.legendContent,\n formatAxisMap = _ref6.formatAxisMap,\n defaultProps = _ref6.defaultProps;\n var getFormatItems = function getFormatItems(props, currentState) {\n var graphicalItems = currentState.graphicalItems,\n stackGroups = currentState.stackGroups,\n offset = currentState.offset,\n updateId = currentState.updateId,\n dataStartIndex = currentState.dataStartIndex,\n dataEndIndex = currentState.dataEndIndex;\n var barSize = props.barSize,\n layout = props.layout,\n barGap = props.barGap,\n barCategoryGap = props.barCategoryGap,\n globalMaxBarSize = props.maxBarSize;\n var _getAxisNameByLayout = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout.numericAxisName,\n cateAxisName = _getAxisNameByLayout.cateAxisName;\n var hasBar = hasGraphicalBarItem(graphicalItems);\n var sizeList = hasBar && getBarSizeList({\n barSize: barSize,\n stackGroups: stackGroups\n });\n var formattedItems = [];\n graphicalItems.forEach(function (item, index) {\n var displayedData = getDisplayedData(props.data, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, item);\n var _item$props = item.props,\n dataKey = _item$props.dataKey,\n childMaxBarSize = _item$props.maxBarSize;\n // axisId of the numerical axis\n var numericAxisId = item.props[\"\".concat(numericAxisName, \"Id\")];\n // axisId of the categorical axis\n var cateAxisId = item.props[\"\".concat(cateAxisName, \"Id\")];\n var axisObjInitialValue = {};\n var axisObj = axisComponents.reduce(function (result, entry) {\n var _item$type$displayNam, _item$type, _objectSpread6;\n // map of axisId to axis for a specific axis type\n var axisMap = currentState[\"\".concat(entry.axisType, \"Map\")];\n // axisId of axis we are currently computing\n var id = item.props[\"\".concat(entry.axisType, \"Id\")];\n\n /**\n * tell the user in dev mode that their configuration is incorrect if we cannot find a match between\n * axisId on the chart and axisId on the axis. zAxis does not get passed in the map for ComposedChart,\n * leave it out of the check for now.\n */\n !(axisMap && axisMap[id] || entry.axisType === 'zAxis') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Specifying a(n) \".concat(entry.axisType, \"Id requires a corresponding \").concat(entry.axisType\n // @ts-expect-error we should stop reading data from ReactElements\n , \"Id on the targeted graphical component \").concat((_item$type$displayNam = item === null || item === void 0 || (_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.displayName) !== null && _item$type$displayNam !== void 0 ? _item$type$displayNam : '')) : invariant(false) : void 0;\n\n // the axis we are currently formatting\n var axis = axisMap[id];\n return _objectSpread(_objectSpread({}, result), {}, (_objectSpread6 = {}, _defineProperty(_objectSpread6, entry.axisType, axis), _defineProperty(_objectSpread6, \"\".concat(entry.axisType, \"Ticks\"), getTicksOfAxis(axis)), _objectSpread6));\n }, axisObjInitialValue);\n var cateAxis = axisObj[cateAxisName];\n var cateTicks = axisObj[\"\".concat(cateAxisName, \"Ticks\")];\n var stackedData = stackGroups && stackGroups[numericAxisId] && stackGroups[numericAxisId].hasStack && getStackedDataOfItem(item, stackGroups[numericAxisId].stackGroups);\n var itemIsBar = getDisplayName(item.type).indexOf('Bar') >= 0;\n var bandSize = getBandSizeOfAxis(cateAxis, cateTicks);\n var barPosition = [];\n if (itemIsBar) {\n var _ref7, _getBandSizeOfAxis;\n // 如果是bar,计算bar的位置\n var maxBarSize = _isNil(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var barBandSize = (_ref7 = (_getBandSizeOfAxis = getBandSizeOfAxis(cateAxis, cateTicks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref7 !== void 0 ? _ref7 : 0;\n barPosition = getBarPosition({\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n bandSize: barBandSize !== bandSize ? barBandSize : bandSize,\n sizeList: sizeList[cateAxisId],\n maxBarSize: maxBarSize\n });\n if (barBandSize !== bandSize) {\n barPosition = barPosition.map(function (pos) {\n return _objectSpread(_objectSpread({}, pos), {}, {\n position: _objectSpread(_objectSpread({}, pos.position), {}, {\n offset: pos.position.offset - barBandSize / 2\n })\n });\n });\n }\n }\n // @ts-expect-error we should stop reading data from ReactElements\n var composedFn = item && item.type && item.type.getComposedData;\n if (composedFn) {\n var _objectSpread7;\n formattedItems.push({\n props: _objectSpread(_objectSpread({}, composedFn(_objectSpread(_objectSpread({}, axisObj), {}, {\n displayedData: displayedData,\n props: props,\n dataKey: dataKey,\n item: item,\n bandSize: bandSize,\n barPosition: barPosition,\n offset: offset,\n stackedData: stackedData,\n layout: layout,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))), {}, (_objectSpread7 = {\n key: item.key || \"item-\".concat(index)\n }, _defineProperty(_objectSpread7, numericAxisName, axisObj[numericAxisName]), _defineProperty(_objectSpread7, cateAxisName, axisObj[cateAxisName]), _defineProperty(_objectSpread7, \"animationId\", updateId), _objectSpread7)),\n childIndex: parseChildIndex(item, props.children),\n item: item\n });\n }\n });\n return formattedItems;\n };\n\n /**\n * The AxisMaps are expensive to render on large data sets\n * so provide the ability to store them in state and only update them when necessary\n * they are dependent upon the start and end index of\n * the brush so it's important that this method is called _after_\n * the state is updated with any new start/end indices\n *\n * @param {Object} props The props object to be used for updating the axismaps\n * dataStartIndex: The start index of the data series when a brush is applied\n * dataEndIndex: The end index of the data series when a brush is applied\n * updateId: The update id\n * @param {Object} prevState Prev state\n * @return {Object} state New state to set\n */\n var updateStateOfAxisMapsOffsetAndStackGroups = function updateStateOfAxisMapsOffsetAndStackGroups(_ref8, prevState) {\n var props = _ref8.props,\n dataStartIndex = _ref8.dataStartIndex,\n dataEndIndex = _ref8.dataEndIndex,\n updateId = _ref8.updateId;\n if (!validateWidthHeight({\n props: props\n })) {\n return null;\n }\n var children = props.children,\n layout = props.layout,\n stackOffset = props.stackOffset,\n data = props.data,\n reverseStackOrder = props.reverseStackOrder;\n var _getAxisNameByLayout2 = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout2.numericAxisName,\n cateAxisName = _getAxisNameByLayout2.cateAxisName;\n var graphicalItems = findAllByType(children, GraphicalChild);\n var stackGroups = getStackGroupsByAxisId(data, graphicalItems, \"\".concat(numericAxisName, \"Id\"), \"\".concat(cateAxisName, \"Id\"), stackOffset, reverseStackOrder);\n var axisObj = axisComponents.reduce(function (result, entry) {\n var name = \"\".concat(entry.axisType, \"Map\");\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, name, getAxisMap(props, _objectSpread(_objectSpread({}, entry), {}, {\n graphicalItems: graphicalItems,\n stackGroups: entry.axisType === numericAxisName && stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))));\n }, {});\n var offset = calculateOffset(_objectSpread(_objectSpread({}, axisObj), {}, {\n props: props,\n graphicalItems: graphicalItems\n }), prevState === null || prevState === void 0 ? void 0 : prevState.legendBBox);\n Object.keys(axisObj).forEach(function (key) {\n axisObj[key] = formatAxisMap(props, axisObj[key], offset, key.replace('Map', ''), chartName);\n });\n var cateAxisMap = axisObj[\"\".concat(cateAxisName, \"Map\")];\n var ticksObj = tooltipTicksGenerator(cateAxisMap);\n var formattedGraphicalItems = getFormatItems(props, _objectSpread(_objectSpread({}, axisObj), {}, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId,\n graphicalItems: graphicalItems,\n stackGroups: stackGroups,\n offset: offset\n }));\n return _objectSpread(_objectSpread({\n formattedGraphicalItems: formattedGraphicalItems,\n graphicalItems: graphicalItems,\n offset: offset,\n stackGroups: stackGroups\n }, ticksObj), axisObj);\n };\n return _class = /*#__PURE__*/function (_Component) {\n _inherits(CategoricalChartWrapper, _Component);\n var _super = _createSuper(CategoricalChartWrapper);\n function CategoricalChartWrapper(_props) {\n var _this;\n _classCallCheck(this, CategoricalChartWrapper);\n _this = _super.call(this, _props);\n _defineProperty(_assertThisInitialized(_this), \"accessibilityManager\", new AccessibilityManager());\n _defineProperty(_assertThisInitialized(_this), \"clearDefer\", function () {\n if (_this.cancelDefer) {\n _this.cancelDefer();\n _this.cancelDefer = null;\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleLegendBBoxUpdate\", function (box) {\n if (box) {\n var _this$state = _this.state,\n dataStartIndex = _this$state.dataStartIndex,\n dataEndIndex = _this$state.dataEndIndex,\n updateId = _this$state.updateId;\n _this.setState(_objectSpread({\n legendBBox: box\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, _objectSpread(_objectSpread({}, _this.state), {}, {\n legendBBox: box\n }))));\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleReceiveSyncEvent\", function (cId, chartId, data) {\n var syncId = _this.props.syncId;\n if (syncId === cId && chartId !== _this.uniqueChartId) {\n _this.clearDefer();\n _this.cancelDefer = deferer(_this.applySyncEvent.bind(_assertThisInitialized(_this), data));\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleBrushChange\", function (_ref9) {\n var startIndex = _ref9.startIndex,\n endIndex = _ref9.endIndex;\n // Only trigger changes if the extents of the brush have actually changed\n if (startIndex !== _this.state.dataStartIndex || endIndex !== _this.state.dataEndIndex) {\n var updateId = _this.state.updateId;\n _this.setState(function () {\n return _objectSpread({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n updateId: updateId\n }, _this.state));\n });\n _this.triggerSyncEvent({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n });\n /**\n * The handler of mouse entering chart\n * @param {Object} e Event object\n * @return {Null} null\n */\n _defineProperty(_assertThisInitialized(_this), \"handleMouseEnter\", function (e) {\n var onMouseEnter = _this.props.onMouseEnter;\n var mouse = _this.getMouseInfo(e);\n if (mouse) {\n var _nextState = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n _this.setState(_nextState);\n _this.triggerSyncEvent(_nextState);\n if (_isFunction(onMouseEnter)) {\n onMouseEnter(_nextState, e);\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"triggeredAfterMouseMove\", function (e) {\n var onMouseMove = _this.props.onMouseMove;\n var mouse = _this.getMouseInfo(e);\n var nextState = mouse ? _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n }) : {\n isTooltipActive: false\n };\n _this.setState(nextState);\n _this.triggerSyncEvent(nextState);\n if (_isFunction(onMouseMove)) {\n onMouseMove(nextState, e);\n }\n });\n /**\n * The handler of mouse entering a scatter\n * @param {Object} el The active scatter\n * @return {Object} no return\n */\n _defineProperty(_assertThisInitialized(_this), \"handleItemMouseEnter\", function (el) {\n _this.setState(function () {\n return {\n isTooltipActive: true,\n activeItem: el,\n activePayload: el.tooltipPayload,\n activeCoordinate: el.tooltipPosition || {\n x: el.cx,\n y: el.cy\n }\n };\n });\n });\n /**\n * The handler of mouse leaving a scatter\n * @return {Object} no return\n */\n _defineProperty(_assertThisInitialized(_this), \"handleItemMouseLeave\", function () {\n _this.setState(function () {\n return {\n isTooltipActive: false\n };\n });\n });\n /**\n * The handler of mouse moving in chart\n * @param {Object} e Event object\n * @return {Null} no return\n */\n _defineProperty(_assertThisInitialized(_this), \"handleMouseMove\", function (e) {\n if (e && _isFunction(e.persist)) {\n e.persist();\n }\n _this.triggeredAfterMouseMove(e);\n });\n /**\n * The handler if mouse leaving chart\n * @param {Object} e Event object\n * @return {Null} no return\n */\n _defineProperty(_assertThisInitialized(_this), \"handleMouseLeave\", function (e) {\n var onMouseLeave = _this.props.onMouseLeave;\n var nextState = {\n isTooltipActive: false\n };\n _this.setState(nextState);\n _this.triggerSyncEvent(nextState);\n if (_isFunction(onMouseLeave)) {\n onMouseLeave(nextState, e);\n }\n _this.cancelThrottledTriggerAfterMouseMove();\n });\n _defineProperty(_assertThisInitialized(_this), \"handleOuterEvent\", function (e) {\n var eventName = getReactEventByType(e);\n var event = _get(_this.props, \"\".concat(eventName));\n if (eventName && _isFunction(event)) {\n var mouse;\n if (/.*touch.*/i.test(eventName)) {\n mouse = _this.getMouseInfo(e.changedTouches[0]);\n } else {\n mouse = _this.getMouseInfo(e);\n }\n var handler = event;\n handler(mouse, e);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (e) {\n var onClick = _this.props.onClick;\n var mouse = _this.getMouseInfo(e);\n if (mouse) {\n var _nextState2 = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n _this.setState(_nextState2);\n _this.triggerSyncEvent(_nextState2);\n if (_isFunction(onClick)) {\n onClick(_nextState2, e);\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleMouseDown\", function (e) {\n var onMouseDown = _this.props.onMouseDown;\n if (_isFunction(onMouseDown)) {\n var _nextState3 = _this.getMouseInfo(e);\n onMouseDown(_nextState3, e);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleMouseUp\", function (e) {\n var onMouseUp = _this.props.onMouseUp;\n if (_isFunction(onMouseUp)) {\n var _nextState4 = _this.getMouseInfo(e);\n onMouseUp(_nextState4, e);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleTouchMove\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseMove(e.changedTouches[0]);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleTouchStart\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseDown(e.changedTouches[0]);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleTouchEnd\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseUp(e.changedTouches[0]);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"verticalCoordinatesGenerator\", function (_ref10, syncWithTicks) {\n var xAxis = _ref10.xAxis,\n width = _ref10.width,\n height = _ref10.height,\n offset = _ref10.offset;\n return getCoordinatesOfGrid(getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), xAxis), {}, {\n ticks: getTicksOfAxis(xAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.left, offset.left + offset.width, syncWithTicks);\n });\n _defineProperty(_assertThisInitialized(_this), \"horizontalCoordinatesGenerator\", function (_ref11, syncWithTicks) {\n var yAxis = _ref11.yAxis,\n width = _ref11.width,\n height = _ref11.height,\n offset = _ref11.offset;\n return getCoordinatesOfGrid(getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), yAxis), {}, {\n ticks: getTicksOfAxis(yAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.top, offset.top + offset.height, syncWithTicks);\n });\n _defineProperty(_assertThisInitialized(_this), \"axesTicksGenerator\", function (axis) {\n return getTicksOfAxis(axis, true);\n });\n _defineProperty(_assertThisInitialized(_this), \"renderCursor\", function (element) {\n var _this$state2 = _this.state,\n isTooltipActive = _this$state2.isTooltipActive,\n activeCoordinate = _this$state2.activeCoordinate,\n activePayload = _this$state2.activePayload,\n offset = _this$state2.offset,\n activeTooltipIndex = _this$state2.activeTooltipIndex,\n tooltipAxisBandSize = _this$state2.tooltipAxisBandSize;\n var tooltipEventType = _this.getTooltipEventType();\n if (!element || !element.props.cursor || !isTooltipActive || !activeCoordinate || chartName !== 'ScatterChart' && tooltipEventType !== 'axis') {\n return null;\n }\n var layout = _this.props.layout;\n var restProps;\n var cursorComp = Curve;\n if (chartName === 'ScatterChart') {\n restProps = activeCoordinate;\n cursorComp = Cross;\n } else if (chartName === 'BarChart') {\n restProps = getCursorRectangle(layout, activeCoordinate, offset, tooltipAxisBandSize);\n cursorComp = Rectangle;\n } else if (layout === 'radial') {\n var _getRadialCursorPoint = getRadialCursorPoints(activeCoordinate),\n cx = _getRadialCursorPoint.cx,\n cy = _getRadialCursorPoint.cy,\n radius = _getRadialCursorPoint.radius,\n startAngle = _getRadialCursorPoint.startAngle,\n endAngle = _getRadialCursorPoint.endAngle;\n restProps = {\n cx: cx,\n cy: cy,\n startAngle: startAngle,\n endAngle: endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n } else {\n restProps = {\n points: getCursorPoints(layout, activeCoordinate, offset)\n };\n cursorComp = Curve;\n }\n var key = element.key || '_recharts-cursor';\n var cursorProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n stroke: '#ccc',\n pointerEvents: 'none'\n }, offset), restProps), filterProps(element.props.cursor)), {}, {\n payload: activePayload,\n payloadIndex: activeTooltipIndex,\n key: key,\n className: 'recharts-tooltip-cursor'\n });\n return /*#__PURE__*/isValidElement(element.props.cursor) ? /*#__PURE__*/cloneElement(element.props.cursor, cursorProps) : /*#__PURE__*/createElement(cursorComp, cursorProps);\n });\n _defineProperty(_assertThisInitialized(_this), \"renderPolarAxis\", function (element, displayName, index) {\n var axisType = _get(element, 'type.axisType');\n var axisMap = _get(_this.state, \"\".concat(axisType, \"Map\"));\n var axisOption = axisMap && axisMap[element.props[\"\".concat(axisType, \"Id\")]];\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, axisOption), {}, {\n className: axisType,\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n ticks: getTicksOfAxis(axisOption, true)\n }));\n });\n _defineProperty(_assertThisInitialized(_this), \"renderXAxis\", function (element, displayName, index) {\n var xAxisMap = _this.state.xAxisMap;\n var axisObj = xAxisMap[element.props.xAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n });\n _defineProperty(_assertThisInitialized(_this), \"renderYAxis\", function (element, displayName, index) {\n var yAxisMap = _this.state.yAxisMap;\n var axisObj = yAxisMap[element.props.yAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n });\n /**\n * Draw grid\n * @param {ReactElement} element the grid item\n * @return {ReactElement} The instance of grid\n */\n _defineProperty(_assertThisInitialized(_this), \"renderGrid\", function (element) {\n var _this$state3 = _this.state,\n xAxisMap = _this$state3.xAxisMap,\n yAxisMap = _this$state3.yAxisMap,\n offset = _this$state3.offset;\n var _this$props = _this.props,\n width = _this$props.width,\n height = _this$props.height;\n var xAxis = getAnyElementOfObject(xAxisMap);\n var yAxisWithFiniteDomain = _find(yAxisMap, function (axis) {\n return _every(axis.domain, isFinit);\n });\n var yAxis = yAxisWithFiniteDomain || getAnyElementOfObject(yAxisMap);\n var props = element.props || {};\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || 'grid',\n x: isNumber(props.x) ? props.x : offset.left,\n y: isNumber(props.y) ? props.y : offset.top,\n width: isNumber(props.width) ? props.width : offset.width,\n height: isNumber(props.height) ? props.height : offset.height,\n xAxis: xAxis,\n yAxis: yAxis,\n offset: offset,\n chartWidth: width,\n chartHeight: height,\n verticalCoordinatesGenerator: props.verticalCoordinatesGenerator || _this.verticalCoordinatesGenerator,\n horizontalCoordinatesGenerator: props.horizontalCoordinatesGenerator || _this.horizontalCoordinatesGenerator\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"renderPolarGrid\", function (element) {\n var _element$props = element.props,\n radialLines = _element$props.radialLines,\n polarAngles = _element$props.polarAngles,\n polarRadius = _element$props.polarRadius;\n var _this$state4 = _this.state,\n radiusAxisMap = _this$state4.radiusAxisMap,\n angleAxisMap = _this$state4.angleAxisMap;\n var radiusAxis = getAnyElementOfObject(radiusAxisMap);\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n var cx = angleAxis.cx,\n cy = angleAxis.cy,\n innerRadius = angleAxis.innerRadius,\n outerRadius = angleAxis.outerRadius;\n return /*#__PURE__*/cloneElement(element, {\n polarAngles: _isArray(polarAngles) ? polarAngles : getTicksOfAxis(angleAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n polarRadius: _isArray(polarRadius) ? polarRadius : getTicksOfAxis(radiusAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n key: element.key || 'polar-grid',\n radialLines: radialLines\n });\n });\n /**\n * Draw legend\n * @return {ReactElement} The instance of Legend\n */\n _defineProperty(_assertThisInitialized(_this), \"renderLegend\", function () {\n var formattedGraphicalItems = _this.state.formattedGraphicalItems;\n var _this$props2 = _this.props,\n children = _this$props2.children,\n width = _this$props2.width,\n height = _this$props2.height;\n var margin = _this.props.margin || {};\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var props = getLegendProps({\n children: children,\n formattedGraphicalItems: formattedGraphicalItems,\n legendWidth: legendWidth,\n legendContent: legendContent\n });\n if (!props) {\n return null;\n }\n var item = props.item,\n otherProps = _objectWithoutProperties(props, _excluded);\n return /*#__PURE__*/cloneElement(item, _objectSpread(_objectSpread({}, otherProps), {}, {\n chartWidth: width,\n chartHeight: height,\n margin: margin,\n onBBoxUpdate: _this.handleLegendBBoxUpdate\n }));\n });\n /**\n * Draw Tooltip\n * @return {ReactElement} The instance of Tooltip\n */\n _defineProperty(_assertThisInitialized(_this), \"renderTooltip\", function () {\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip);\n if (!tooltipItem) {\n return null;\n }\n var _this$state5 = _this.state,\n isTooltipActive = _this$state5.isTooltipActive,\n activeCoordinate = _this$state5.activeCoordinate,\n activePayload = _this$state5.activePayload,\n activeLabel = _this$state5.activeLabel,\n offset = _this$state5.offset;\n return /*#__PURE__*/cloneElement(tooltipItem, {\n viewBox: _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }),\n active: isTooltipActive,\n label: activeLabel,\n payload: isTooltipActive ? activePayload : [],\n coordinate: activeCoordinate\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"renderBrush\", function (element) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n data = _this$props3.data;\n var _this$state6 = _this.state,\n offset = _this$state6.offset,\n dataStartIndex = _this$state6.dataStartIndex,\n dataEndIndex = _this$state6.dataEndIndex,\n updateId = _this$state6.updateId;\n\n // TODO: update brush when children update\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || '_recharts-brush',\n onChange: combineEventHandlers(_this.handleBrushChange, null, element.props.onChange),\n data: data,\n x: isNumber(element.props.x) ? element.props.x : offset.left,\n y: isNumber(element.props.y) ? element.props.y : offset.top + offset.height + offset.brushBottom - (margin.bottom || 0),\n width: isNumber(element.props.width) ? element.props.width : offset.width,\n startIndex: dataStartIndex,\n endIndex: dataEndIndex,\n updateId: \"brush-\".concat(updateId)\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"renderReferenceElement\", function (element, displayName, index) {\n if (!element) {\n return null;\n }\n var _assertThisInitialize = _assertThisInitialized(_this),\n clipPathId = _assertThisInitialize.clipPathId;\n var _this$state7 = _this.state,\n xAxisMap = _this$state7.xAxisMap,\n yAxisMap = _this$state7.yAxisMap,\n offset = _this$state7.offset;\n var _element$props2 = element.props,\n xAxisId = _element$props2.xAxisId,\n yAxisId = _element$props2.yAxisId;\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n xAxis: xAxisMap[xAxisId],\n yAxis: yAxisMap[yAxisId],\n viewBox: {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n },\n clipPathId: clipPathId\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"renderActivePoints\", function (_ref12) {\n var item = _ref12.item,\n activePoint = _ref12.activePoint,\n basePoint = _ref12.basePoint,\n childIndex = _ref12.childIndex,\n isRange = _ref12.isRange;\n var result = [];\n var key = item.props.key;\n var _item$item$props = item.item.props,\n activeDot = _item$item$props.activeDot,\n dataKey = _item$item$props.dataKey;\n var dotProps = _objectSpread(_objectSpread({\n index: childIndex,\n dataKey: dataKey,\n cx: activePoint.x,\n cy: activePoint.y,\n r: 4,\n fill: getMainColorOfGraphicItem(item.item),\n strokeWidth: 2,\n stroke: '#fff',\n payload: activePoint.payload,\n value: activePoint.value,\n key: \"\".concat(key, \"-activePoint-\").concat(childIndex)\n }, filterProps(activeDot)), adaptEventHandlers(activeDot));\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, dotProps));\n if (basePoint) {\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, _objectSpread(_objectSpread({}, dotProps), {}, {\n cx: basePoint.x,\n cy: basePoint.y,\n key: \"\".concat(key, \"-basePoint-\").concat(childIndex)\n })));\n } else if (isRange) {\n result.push(null);\n }\n return result;\n });\n _defineProperty(_assertThisInitialized(_this), \"renderGraphicChild\", function (element, displayName, index) {\n var item = _this.filterFormatItem(element, displayName, index);\n if (!item) {\n return null;\n }\n var tooltipEventType = _this.getTooltipEventType();\n var _this$state8 = _this.state,\n isTooltipActive = _this$state8.isTooltipActive,\n tooltipAxis = _this$state8.tooltipAxis,\n activeTooltipIndex = _this$state8.activeTooltipIndex,\n activeLabel = _this$state8.activeLabel;\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip);\n var _item$props2 = item.props,\n points = _item$props2.points,\n isRange = _item$props2.isRange,\n baseLine = _item$props2.baseLine;\n var _item$item$props2 = item.item.props,\n activeDot = _item$item$props2.activeDot,\n hide = _item$item$props2.hide,\n activeBar = _item$item$props2.activeBar,\n activeShape = _item$item$props2.activeShape;\n var hasActive = Boolean(!hide && isTooltipActive && tooltipItem && (activeDot || activeBar || activeShape));\n var itemEvents = {};\n if (tooltipEventType !== 'axis' && tooltipItem && tooltipItem.props.trigger === 'click') {\n itemEvents = {\n onClick: combineEventHandlers(_this.handleItemMouseEnter, null, element.props.onCLick)\n };\n } else if (tooltipEventType !== 'axis') {\n itemEvents = {\n onMouseLeave: combineEventHandlers(_this.handleItemMouseLeave, null, element.props.onMouseLeave),\n onMouseEnter: combineEventHandlers(_this.handleItemMouseEnter, null, element.props.onMouseEnter)\n };\n }\n var graphicalItem = /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, item.props), itemEvents));\n function findWithPayload(entry) {\n // TODO needs to verify dataKey is Function\n return typeof tooltipAxis.dataKey === 'function' ? tooltipAxis.dataKey(entry.payload) : null;\n }\n if (hasActive) {\n if (activeTooltipIndex >= 0) {\n var activePoint, basePoint;\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // number transform to string\n var specifiedKey = typeof tooltipAxis.dataKey === 'function' ? findWithPayload : 'payload.'.concat(tooltipAxis.dataKey.toString());\n activePoint = findEntryInArray(points, specifiedKey, activeLabel);\n basePoint = isRange && baseLine && findEntryInArray(baseLine, specifiedKey, activeLabel);\n } else {\n activePoint = points === null || points === void 0 ? void 0 : points[activeTooltipIndex];\n basePoint = isRange && baseLine && baseLine[activeTooltipIndex];\n }\n if (activeShape || activeBar) {\n var activeIndex = element.props.activeIndex !== undefined ? element.props.activeIndex : activeTooltipIndex;\n return [/*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread(_objectSpread({}, item.props), itemEvents), {}, {\n activeIndex: activeIndex\n })), null, null];\n }\n if (!_isNil(activePoint)) {\n return [graphicalItem].concat(_toConsumableArray(_this.renderActivePoints({\n item: item,\n activePoint: activePoint,\n basePoint: basePoint,\n childIndex: activeTooltipIndex,\n isRange: isRange\n })));\n }\n } else {\n var _this$getItemByXY;\n /**\n * We hit this block if consumer uses a Tooltip without XAxis and/or YAxis.\n * In which case, this.state.activeTooltipIndex never gets set\n * because the mouse events that trigger that value getting set never get trigged without the axis components.\n *\n * An example usage case is a FunnelChart\n */\n var _ref13 = (_this$getItemByXY = _this.getItemByXY(_this.state.activeCoordinate)) !== null && _this$getItemByXY !== void 0 ? _this$getItemByXY : {\n graphicalItem: graphicalItem\n },\n _ref13$graphicalItem = _ref13.graphicalItem,\n _ref13$graphicalItem$ = _ref13$graphicalItem.item,\n xyItem = _ref13$graphicalItem$ === void 0 ? element : _ref13$graphicalItem$,\n childIndex = _ref13$graphicalItem.childIndex;\n var elementProps = _objectSpread(_objectSpread(_objectSpread({}, item.props), itemEvents), {}, {\n activeIndex: childIndex\n });\n return [/*#__PURE__*/cloneElement(xyItem, elementProps), null, null];\n }\n }\n if (isRange) {\n return [graphicalItem, null, null];\n }\n return [graphicalItem, null];\n });\n _defineProperty(_assertThisInitialized(_this), \"renderCustomized\", function (element, displayName, index) {\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({\n key: \"recharts-customized-\".concat(index)\n }, _this.props), _this.state));\n });\n _this.uniqueChartId = _isNil(_props.id) ? uniqueId('recharts') : _props.id;\n _this.clipPathId = \"\".concat(_this.uniqueChartId, \"-clip\");\n if (_props.throttleDelay) {\n _this.triggeredAfterMouseMove = _throttle(_this.triggeredAfterMouseMove, _props.throttleDelay);\n }\n _this.state = {};\n return _this;\n }\n _createClass(CategoricalChartWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props$margin$le, _this$props$margin$to;\n if (!_isNil(this.props.syncId)) {\n this.addListener();\n }\n this.accessibilityManager.setDetails({\n container: this.container,\n offset: {\n left: (_this$props$margin$le = this.props.margin.left) !== null && _this$props$margin$le !== void 0 ? _this$props$margin$le : 0,\n top: (_this$props$margin$to = this.props.margin.top) !== null && _this$props$margin$to !== void 0 ? _this$props$margin$to : 0\n },\n coordinateList: this.state.tooltipTicks,\n mouseHandlerCallback: this.handleMouseMove,\n layout: this.props.layout\n });\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps, prevState) {\n if (!this.props.accessibilityLayer) {\n return null;\n }\n if (this.state.tooltipTicks !== prevState.tooltipTicks) {\n this.accessibilityManager.setDetails({\n coordinateList: this.state.tooltipTicks\n });\n }\n if (this.props.layout !== prevProps.layout) {\n this.accessibilityManager.setDetails({\n layout: this.props.layout\n });\n }\n if (this.props.margin !== prevProps.margin) {\n var _this$props$margin$le2, _this$props$margin$to2;\n this.accessibilityManager.setDetails({\n offset: {\n left: (_this$props$margin$le2 = this.props.margin.left) !== null && _this$props$margin$le2 !== void 0 ? _this$props$margin$le2 : 0,\n top: (_this$props$margin$to2 = this.props.margin.top) !== null && _this$props$margin$to2 !== void 0 ? _this$props$margin$to2 : 0\n }\n });\n }\n\n // Something has to be returned for getSnapshotBeforeUpdate\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // add syncId\n if (_isNil(prevProps.syncId) && !_isNil(this.props.syncId)) {\n this.addListener();\n }\n // remove syncId\n if (!_isNil(prevProps.syncId) && _isNil(this.props.syncId)) {\n this.removeListener();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDefer();\n if (!_isNil(this.props.syncId)) {\n this.removeListener();\n }\n this.cancelThrottledTriggerAfterMouseMove();\n }\n }, {\n key: \"cancelThrottledTriggerAfterMouseMove\",\n value: function cancelThrottledTriggerAfterMouseMove() {\n if (typeof this.triggeredAfterMouseMove.cancel === 'function') {\n this.triggeredAfterMouseMove.cancel();\n }\n }\n }, {\n key: \"getTooltipEventType\",\n value: function getTooltipEventType() {\n var tooltipItem = findChildByType(this.props.children, Tooltip);\n if (tooltipItem && _isBoolean(tooltipItem.props.shared)) {\n var eventType = tooltipItem.props.shared ? 'axis' : 'item';\n return validateTooltipEventTypes.indexOf(eventType) >= 0 ? eventType : defaultTooltipEventType;\n }\n return defaultTooltipEventType;\n }\n\n /**\n * Get the information of mouse in chart, return null when the mouse is not in the chart\n * @param {Object} event The event object\n * @return {Object} Mouse data\n */\n }, {\n key: \"getMouseInfo\",\n value: function getMouseInfo(event) {\n var _element$getBoundingC;\n if (!this.container) {\n return null;\n }\n var containerOffset = getOffset(this.container);\n var e = calculateChartCoordinate(event, containerOffset);\n var element = this.container;\n var boundingRectWidth = element === null || element === void 0 || (_element$getBoundingC = element.getBoundingClientRect()) === null || _element$getBoundingC === void 0 ? void 0 : _element$getBoundingC.width;\n var offsetWidth = element.offsetWidth;\n var scale = boundingRectWidth / offsetWidth || 1;\n var rangeObj = this.inRange(e.chartX, e.chartY, scale);\n if (!rangeObj) {\n return null;\n }\n var _this$state9 = this.state,\n xAxisMap = _this$state9.xAxisMap,\n yAxisMap = _this$state9.yAxisMap;\n var tooltipEventType = this.getTooltipEventType();\n if (tooltipEventType !== 'axis' && xAxisMap && yAxisMap) {\n var xScale = getAnyElementOfObject(xAxisMap).scale;\n var yScale = getAnyElementOfObject(yAxisMap).scale;\n var xValue = xScale && xScale.invert ? xScale.invert(e.chartX) : null;\n var yValue = yScale && yScale.invert ? yScale.invert(e.chartY) : null;\n return _objectSpread(_objectSpread({}, e), {}, {\n xValue: xValue,\n yValue: yValue\n });\n }\n var toolTipData = getTooltipData(this.state, this.props.data, this.props.layout, rangeObj);\n if (toolTipData) {\n return _objectSpread(_objectSpread({}, e), toolTipData);\n }\n return null;\n }\n }, {\n key: \"inRange\",\n value: function inRange(x, y) {\n var scale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var layout = this.props.layout;\n var scaledX = x / scale,\n scaledY = y / scale;\n if (layout === 'horizontal' || layout === 'vertical') {\n var offset = this.state.offset;\n var isInRange = scaledX >= offset.left && scaledX <= offset.left + offset.width && scaledY >= offset.top && scaledY <= offset.top + offset.height;\n return isInRange ? {\n x: scaledX,\n y: scaledY\n } : null;\n }\n var _this$state10 = this.state,\n angleAxisMap = _this$state10.angleAxisMap,\n radiusAxisMap = _this$state10.radiusAxisMap;\n if (angleAxisMap && radiusAxisMap) {\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n return inRangeOfSector({\n x: scaledX,\n y: scaledY\n }, angleAxis);\n }\n return null;\n }\n }, {\n key: \"parseEventsOfWrapper\",\n value: function parseEventsOfWrapper() {\n var children = this.props.children;\n var tooltipEventType = this.getTooltipEventType();\n var tooltipItem = findChildByType(children, Tooltip);\n var tooltipEvents = {};\n if (tooltipItem && tooltipEventType === 'axis') {\n if (tooltipItem.props.trigger === 'click') {\n tooltipEvents = {\n onClick: this.handleClick\n };\n } else {\n tooltipEvents = {\n onMouseEnter: this.handleMouseEnter,\n onMouseMove: this.handleMouseMove,\n onMouseLeave: this.handleMouseLeave,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd\n };\n }\n }\n\n // @ts-expect-error adaptEventHandlers expects DOM Event but generateCategoricalChart works with React UIEvents\n var outerEvents = adaptEventHandlers(this.props, this.handleOuterEvent);\n return _objectSpread(_objectSpread({}, outerEvents), tooltipEvents);\n }\n\n /* eslint-disable no-underscore-dangle */\n }, {\n key: \"addListener\",\n value: function addListener() {\n eventCenter.on(SYNC_EVENT, this.handleReceiveSyncEvent);\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners + 1);\n }\n }\n }, {\n key: \"removeListener\",\n value: function removeListener() {\n eventCenter.removeListener(SYNC_EVENT, this.handleReceiveSyncEvent);\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners - 1);\n }\n }\n }, {\n key: \"triggerSyncEvent\",\n value: function triggerSyncEvent(data) {\n var syncId = this.props.syncId;\n if (!_isNil(syncId)) {\n eventCenter.emit(SYNC_EVENT, syncId, this.uniqueChartId, data);\n }\n }\n }, {\n key: \"applySyncEvent\",\n value: function applySyncEvent(data) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n syncMethod = _this$props4.syncMethod;\n var updateId = this.state.updateId;\n var dataStartIndex = data.dataStartIndex,\n dataEndIndex = data.dataEndIndex;\n if (!_isNil(data.dataStartIndex) || !_isNil(data.dataEndIndex)) {\n this.setState(_objectSpread({\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, this.state)));\n } else if (!_isNil(data.activeTooltipIndex)) {\n var chartX = data.chartX,\n chartY = data.chartY;\n var activeTooltipIndex = data.activeTooltipIndex;\n var _this$state11 = this.state,\n offset = _this$state11.offset,\n tooltipTicks = _this$state11.tooltipTicks;\n if (!offset) {\n return;\n }\n if (typeof syncMethod === 'function') {\n // Call a callback function. If there is an application specific algorithm\n activeTooltipIndex = syncMethod(tooltipTicks, data);\n } else if (syncMethod === 'value') {\n // Set activeTooltipIndex to the index with the same value as data.activeLabel\n // For loop instead of findIndex because the latter is very slow in some browsers\n activeTooltipIndex = -1; // in case we cannot find the element\n for (var i = 0; i < tooltipTicks.length; i++) {\n if (tooltipTicks[i].value === data.activeLabel) {\n activeTooltipIndex = i;\n break;\n }\n }\n }\n var viewBox = _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n });\n // When a categorical chart is combined with another chart, the value of chartX\n // and chartY may beyond the boundaries.\n var validateChartX = Math.min(chartX, viewBox.x + viewBox.width);\n var validateChartY = Math.min(chartY, viewBox.y + viewBox.height);\n var activeLabel = tooltipTicks[activeTooltipIndex] && tooltipTicks[activeTooltipIndex].value;\n var activePayload = getTooltipContent(this.state, this.props.data, activeTooltipIndex);\n var activeCoordinate = tooltipTicks[activeTooltipIndex] ? {\n x: layout === 'horizontal' ? tooltipTicks[activeTooltipIndex].coordinate : validateChartX,\n y: layout === 'horizontal' ? validateChartY : tooltipTicks[activeTooltipIndex].coordinate\n } : originCoordinate;\n this.setState(_objectSpread(_objectSpread({}, data), {}, {\n activeLabel: activeLabel,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload,\n activeTooltipIndex: activeTooltipIndex\n }));\n } else {\n this.setState(data);\n }\n }\n }, {\n key: \"filterFormatItem\",\n value: function filterFormatItem(item, displayName, childIndex) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var entry = formattedGraphicalItems[i];\n if (entry.item === item || entry.props.key === item.key || displayName === getDisplayName(entry.item.type) && childIndex === entry.childIndex) {\n return entry;\n }\n }\n return null;\n }\n }, {\n key: \"renderAxis\",\n value:\n /**\n * Draw axis\n * @param {Object} axisOptions The options of axis\n * @param {Object} element The axis element\n * @param {String} displayName The display name of axis\n * @param {Number} index The index of element\n * @return {ReactElement} The instance of x-axes\n */\n function renderAxis(axisOptions, element, displayName, index) {\n var _this$props5 = this.props,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: classNames(\"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType), axisOptions.className),\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: this.axesTicksGenerator\n }));\n }\n }, {\n key: \"renderClipPath\",\n value: function renderClipPath() {\n var clipPathId = this.clipPathId;\n var _this$state$offset = this.state.offset,\n left = _this$state$offset.left,\n top = _this$state$offset.top,\n height = _this$state$offset.height,\n width = _this$state$offset.width;\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n height: height,\n width: width\n })));\n }\n }, {\n key: \"getXScales\",\n value: function getXScales() {\n var xAxisMap = this.state.xAxisMap;\n return xAxisMap ? Object.entries(xAxisMap).reduce(function (res, _ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n axisId = _ref15[0],\n axisProps = _ref15[1];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getYScales\",\n value: function getYScales() {\n var yAxisMap = this.state.yAxisMap;\n return yAxisMap ? Object.entries(yAxisMap).reduce(function (res, _ref16) {\n var _ref17 = _slicedToArray(_ref16, 2),\n axisId = _ref17[0],\n axisProps = _ref17[1];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getXScaleByAxisId\",\n value: function getXScaleByAxisId(axisId) {\n var _this$state$xAxisMap;\n return (_this$state$xAxisMap = this.state.xAxisMap) === null || _this$state$xAxisMap === void 0 || (_this$state$xAxisMap = _this$state$xAxisMap[axisId]) === null || _this$state$xAxisMap === void 0 ? void 0 : _this$state$xAxisMap.scale;\n }\n }, {\n key: \"getYScaleByAxisId\",\n value: function getYScaleByAxisId(axisId) {\n var _this$state$yAxisMap;\n return (_this$state$yAxisMap = this.state.yAxisMap) === null || _this$state$yAxisMap === void 0 || (_this$state$yAxisMap = _this$state$yAxisMap[axisId]) === null || _this$state$yAxisMap === void 0 ? void 0 : _this$state$yAxisMap.scale;\n }\n }, {\n key: \"getItemByXY\",\n value: function getItemByXY(chartXY) {\n var _this$state12 = this.state,\n formattedGraphicalItems = _this$state12.formattedGraphicalItems,\n activeItem = _this$state12.activeItem;\n if (formattedGraphicalItems && formattedGraphicalItems.length) {\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var graphicalItem = formattedGraphicalItems[i];\n var props = graphicalItem.props,\n item = graphicalItem.item;\n var itemDisplayName = getDisplayName(item.type);\n if (itemDisplayName === 'Bar') {\n var activeBarItem = (props.data || []).find(function (entry) {\n return isInRectangle(chartXY, entry);\n });\n if (activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: activeBarItem\n };\n }\n } else if (itemDisplayName === 'RadialBar') {\n var _activeBarItem = (props.data || []).find(function (entry) {\n return inRangeOfSector(chartXY, entry);\n });\n if (_activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: _activeBarItem\n };\n }\n } else if (isFunnel(graphicalItem, activeItem) || isPie(graphicalItem, activeItem) || isScatter(graphicalItem, activeItem)) {\n var activeIndex = getActiveShapeIndexForTooltip({\n graphicalItem: graphicalItem,\n activeTooltipItem: activeItem,\n itemData: item.props.data\n });\n var childIndex = item.props.activeIndex === undefined ? activeIndex : item.props.activeIndex;\n return {\n graphicalItem: _objectSpread(_objectSpread({}, graphicalItem), {}, {\n childIndex: childIndex\n }),\n payload: isScatter(graphicalItem, activeItem) ? item.props.data[activeIndex] : graphicalItem.props.data[activeIndex]\n };\n }\n }\n }\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (!validateWidthHeight(this)) {\n return null;\n }\n var _this$props6 = this.props,\n children = _this$props6.children,\n className = _this$props6.className,\n width = _this$props6.width,\n height = _this$props6.height,\n style = _this$props6.style,\n compact = _this$props6.compact,\n title = _this$props6.title,\n desc = _this$props6.desc,\n others = _objectWithoutProperties(_this$props6, _excluded2);\n var attrs = filterProps(others);\n var map = {\n CartesianGrid: {\n handler: this.renderGrid,\n once: true\n },\n ReferenceArea: {\n handler: this.renderReferenceElement\n },\n ReferenceLine: {\n handler: this.renderReferenceElement\n },\n ReferenceDot: {\n handler: this.renderReferenceElement\n },\n XAxis: {\n handler: this.renderXAxis\n },\n YAxis: {\n handler: this.renderYAxis\n },\n Brush: {\n handler: this.renderBrush,\n once: true\n },\n Bar: {\n handler: this.renderGraphicChild\n },\n Line: {\n handler: this.renderGraphicChild\n },\n Area: {\n handler: this.renderGraphicChild\n },\n Radar: {\n handler: this.renderGraphicChild\n },\n RadialBar: {\n handler: this.renderGraphicChild\n },\n Scatter: {\n handler: this.renderGraphicChild\n },\n Pie: {\n handler: this.renderGraphicChild\n },\n Funnel: {\n handler: this.renderGraphicChild\n },\n Tooltip: {\n handler: this.renderCursor,\n once: true\n },\n PolarGrid: {\n handler: this.renderPolarGrid,\n once: true\n },\n PolarAngleAxis: {\n handler: this.renderPolarAxis\n },\n PolarRadiusAxis: {\n handler: this.renderPolarAxis\n },\n Customized: {\n handler: this.renderCustomized\n }\n };\n\n // The \"compact\" mode is mainly used as the panorama within Brush\n if (compact) {\n return /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height,\n title: title,\n desc: desc\n }), this.renderClipPath(), renderByOrder(children, map));\n }\n if (this.props.accessibilityLayer) {\n var _2, _img;\n // Set tabIndex to 0 by default (can be overwritten)\n attrs.tabIndex = (_2 = 0) !== null && _2 !== void 0 ? _2 : this.props.tabIndex;\n // Set role to img by default (can be overwritten)\n attrs.role = (_img = 'img') !== null && _img !== void 0 ? _img : this.props.role;\n attrs.onKeyDown = function (e) {\n _this2.accessibilityManager.keyboardEvent(e);\n // 'onKeyDown' is not currently a supported prop that can be passed through\n // if it's added, this should be added: this.props.onKeyDown(e);\n };\n\n attrs.onFocus = function () {\n _this2.accessibilityManager.focus();\n // 'onFocus' is not currently a supported prop that can be passed through\n // if it's added, the focus event should be forwarded to the prop\n };\n }\n\n var events = this.parseEventsOfWrapper();\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames('recharts-wrapper', className),\n style: _objectSpread({\n position: 'relative',\n cursor: 'default',\n width: width,\n height: height\n }, style)\n }, events, {\n ref: function ref(node) {\n _this2.container = node;\n },\n role: \"region\"\n }), /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height,\n title: title,\n desc: desc\n }), this.renderClipPath(), renderByOrder(children, map)), this.renderLegend(), this.renderTooltip());\n }\n }]);\n return CategoricalChartWrapper;\n }(Component), _defineProperty(_class, \"displayName\", chartName), _defineProperty(_class, \"defaultProps\", _objectSpread({\n layout: 'horizontal',\n stackOffset: 'none',\n barCategoryGap: '10%',\n barGap: 4,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n reverseStackOrder: false,\n syncMethod: 'index'\n }, defaultProps)), _defineProperty(_class, \"getDerivedStateFromProps\", function (nextProps, prevState) {\n var data = nextProps.data,\n children = nextProps.children,\n width = nextProps.width,\n height = nextProps.height,\n layout = nextProps.layout,\n stackOffset = nextProps.stackOffset,\n margin = nextProps.margin;\n if (_isNil(prevState.updateId)) {\n var defaultState = createDefaultState(nextProps);\n return _objectSpread(_objectSpread(_objectSpread({}, defaultState), {}, {\n updateId: 0\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, defaultState), {}, {\n updateId: 0\n }), prevState)), {}, {\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n if (data !== prevState.prevData || width !== prevState.prevWidth || height !== prevState.prevHeight || layout !== prevState.prevLayout || stackOffset !== prevState.prevStackOffset || !shallowEqual(margin, prevState.prevMargin)) {\n var _defaultState = createDefaultState(nextProps);\n\n // Fixes https://github.com/recharts/recharts/issues/2143\n var keepFromPrevState = {\n // (chartX, chartY) are (0,0) in default state, but we want to keep the last mouse position to avoid\n // any flickering\n chartX: prevState.chartX,\n chartY: prevState.chartY,\n // The tooltip should stay active when it was active in the previous render. If this is not\n // the case, the tooltip disappears and immediately re-appears, causing a flickering effect\n isTooltipActive: prevState.isTooltipActive\n };\n var updatesToState = _objectSpread(_objectSpread({}, getTooltipData(prevState, data, layout)), {}, {\n updateId: prevState.updateId + 1\n });\n var newState = _objectSpread(_objectSpread(_objectSpread({}, _defaultState), keepFromPrevState), updatesToState);\n return _objectSpread(_objectSpread(_objectSpread({}, newState), updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: nextProps\n }, newState), prevState)), {}, {\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n if (!isChildrenEqual(children, prevState.prevChildren)) {\n // update configuration in children\n var hasGlobalData = !_isNil(data);\n var newUpdateId = hasGlobalData ? prevState.updateId : prevState.updateId + 1;\n return _objectSpread(_objectSpread({\n updateId: newUpdateId\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, prevState), {}, {\n updateId: newUpdateId\n }), prevState)), {}, {\n prevChildren: children\n });\n }\n return null;\n }), _defineProperty(_class, \"renderActiveDot\", function (option, props) {\n var dot;\n if ( /*#__PURE__*/isValidElement(option)) {\n dot = /*#__PURE__*/cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, props);\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-active-dot\",\n key: props.key\n }, dot);\n }), _class;\n};","import { isNumber } from './DataUtils';\n/**\n * Takes a domain and user props to determine whether he provided the domain via props or if we need to calculate it.\n * @param {AxisDomain} domain The potential domain from props\n * @param {Boolean} allowDataOverflow from props\n * @param {String} axisType from props\n * @returns {Boolean} `true` if domain is specified by user\n */\nexport function isDomainSpecifiedByUser(domain, allowDataOverflow, axisType) {\n if (axisType === 'number' && allowDataOverflow === true && Array.isArray(domain)) {\n var domainStart = domain === null || domain === void 0 ? void 0 : domain[0];\n var domainEnd = domain === null || domain === void 0 ? void 0 : domain[1];\n\n /*\n * The `isNumber` check is needed because the user could also provide strings like \"dataMin\" via the domain props.\n * In such case, we have to compute the domain from the data.\n */\n if (!!domainStart && !!domainEnd && isNumber(domainStart) && isNumber(domainEnd)) {\n return true;\n }\n }\n return false;\n}","/**\n * Will execute callback fn asynchronously.\n * It will detect the appropriate function to use.\n *\n * Named after the famous Swiss tennis player, Roger Deferer.\n *\n * @param {Function} callback will be executed asynchronously, with no arguments\n * @returns {Function} a cancel function.\n */\nexport function deferer(callback) {\n if (typeof requestAnimationFrame === 'function') {\n var frame = requestAnimationFrame(callback);\n return function () {\n return cancelAnimationFrame(frame);\n };\n }\n if (typeof setImmediate === 'function') {\n var handle = setImmediate(callback);\n return function () {\n return clearImmediate(handle);\n };\n }\n var timer = setTimeout(callback);\n return function () {\n return clearTimeout(timer);\n };\n}","export function getCursorRectangle(layout, activeCoordinate, offset, tooltipAxisBandSize) {\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: 'none',\n fill: '#ccc',\n x: layout === 'horizontal' ? activeCoordinate.x - halfSize : offset.left + 0.5,\n y: layout === 'horizontal' ? offset.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === 'horizontal' ? tooltipAxisBandSize : offset.width - 1,\n height: layout === 'horizontal' ? offset.height - 1 : tooltipAxisBandSize\n };\n}","/**\n * @fileOverview Cross\n */\n\nexport var Cell = function Cell(_props) {\n return null;\n};\nCell.displayName = 'Cell';","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\nvar _excluded = [\"offset\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\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; }\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; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React, { cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport { Text } from './Text';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nvar getLabel = function getLabel(props) {\n var value = props.value,\n formatter = props.formatter;\n var label = _isNil(props.children) ? value : props.children;\n if (_isFunction(formatter)) {\n return formatter(label);\n }\n return label;\n};\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\nvar renderRadialLabel = function renderRadialLabel(labelProps, label, attrs) {\n var position = labelProps.position,\n viewBox = labelProps.viewBox,\n offset = labelProps.offset,\n className = labelProps.className;\n var _ref = viewBox,\n cx = _ref.cx,\n cy = _ref.cy,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n clockWise = _ref.clockWise;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle(startAngle, endAngle);\n var sign = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n if (position === 'insideStart') {\n labelAngle = startAngle + sign * offset;\n direction = clockWise;\n } else if (position === 'insideEnd') {\n labelAngle = endAngle - sign * offset;\n direction = !clockWise;\n } else if (position === 'end') {\n labelAngle = endAngle + sign * offset;\n direction = clockWise;\n }\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = _isNil(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n dominantBaseline: \"central\",\n className: classNames('recharts-radial-bar-label', className)\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: id,\n d: path\n })), /*#__PURE__*/React.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n};\nvar getAttrsOfPolarLabel = function getAttrsOfPolarLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var _ref2 = viewBox,\n cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var midAngle = (startAngle + endAngle) / 2;\n if (position === 'outside') {\n var _polarToCartesian = polarToCartesian(cx, cy, outerRadius + offset, midAngle),\n _x = _polarToCartesian.x,\n _y = _polarToCartesian.y;\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx ? 'start' : 'end',\n verticalAnchor: 'middle'\n };\n }\n if (position === 'center') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n }\n if (position === 'centerTop') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n if (position === 'centerBottom') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n var r = (innerRadius + outerRadius) / 2;\n var _polarToCartesian2 = polarToCartesian(cx, cy, r, midAngle),\n x = _polarToCartesian2.x,\n y = _polarToCartesian2.y;\n return {\n x: x,\n y: y,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\nvar getAttrsOfCartesianLabel = function getAttrsOfCartesianLabel(props) {\n var viewBox = props.viewBox,\n parentViewBox = props.parentViewBox,\n offset = props.offset,\n position = props.position;\n var _ref3 = viewBox,\n x = _ref3.x,\n y = _ref3.y,\n width = _ref3.width,\n height = _ref3.height;\n\n // Define vertical offsets and position inverts based on the value being positive or negative\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset;\n var verticalEnd = verticalSign > 0 ? 'end' : 'start';\n var verticalStart = verticalSign > 0 ? 'start' : 'end';\n\n // Define horizontal offsets and position inverts based on the value being positive or negative\n var horizontalSign = width >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset;\n var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';\n var horizontalStart = horizontalSign > 0 ? 'start' : 'end';\n if (position === 'top') {\n var attrs = {\n x: x + width / 2,\n y: y - verticalSign * offset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n };\n return _objectSpread(_objectSpread({}, attrs), parentViewBox ? {\n height: Math.max(y - parentViewBox.y, 0),\n width: width\n } : {});\n }\n if (position === 'bottom') {\n var _attrs = {\n x: x + width / 2,\n y: y + height + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n };\n return _objectSpread(_objectSpread({}, _attrs), parentViewBox ? {\n height: Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0),\n width: width\n } : {});\n }\n if (position === 'left') {\n var _attrs2 = {\n x: x - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs2), parentViewBox ? {\n width: Math.max(_attrs2.x - parentViewBox.x, 0),\n height: height\n } : {});\n }\n if (position === 'right') {\n var _attrs3 = {\n x: x + width + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs3), parentViewBox ? {\n width: Math.max(parentViewBox.x + parentViewBox.width - _attrs3.x, 0),\n height: height\n } : {});\n }\n var sizeAttrs = parentViewBox ? {\n width: width,\n height: height\n } : {};\n if (position === 'insideLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n if (position === 'insideRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n if (position === 'insideTop') {\n return _objectSpread({\n x: x + width / 2,\n y: y + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideBottom') {\n return _objectSpread({\n x: x + width / 2,\n y: y + height - verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position === 'insideTopLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideTopRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideBottomLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position === 'insideBottomRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (_isObject(position) && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n return _objectSpread({\n x: x + getPercentValue(position.x, width),\n y: y + getPercentValue(position.y, height),\n textAnchor: 'end',\n verticalAnchor: 'end'\n }, sizeAttrs);\n }\n return _objectSpread({\n x: x + width / 2,\n y: y + height / 2,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n }, sizeAttrs);\n};\nvar isPolar = function isPolar(viewBox) {\n return 'cx' in viewBox && isNumber(viewBox.cx);\n};\nexport function Label(_ref4) {\n var _ref4$offset = _ref4.offset,\n offset = _ref4$offset === void 0 ? 5 : _ref4$offset,\n restProps = _objectWithoutProperties(_ref4, _excluded);\n var props = _objectSpread({\n offset: offset\n }, restProps);\n var viewBox = props.viewBox,\n position = props.position,\n value = props.value,\n children = props.children,\n content = props.content,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n textBreakAll = props.textBreakAll;\n if (!viewBox || _isNil(value) && _isNil(children) && ! /*#__PURE__*/isValidElement(content) && !_isFunction(content)) {\n return null;\n }\n if ( /*#__PURE__*/isValidElement(content)) {\n return /*#__PURE__*/cloneElement(content, props);\n }\n var label;\n if (_isFunction(content)) {\n label = /*#__PURE__*/createElement(content, props);\n if ( /*#__PURE__*/isValidElement(label)) {\n return label;\n }\n } else {\n label = getLabel(props);\n }\n var isPolarLabel = isPolar(viewBox);\n var attrs = filterProps(props, true);\n if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n return renderRadialLabel(props, label, attrs);\n }\n var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props);\n return /*#__PURE__*/React.createElement(Text, _extends({\n className: classNames('recharts-label', className)\n }, attrs, positionAttrs, {\n breakAll: textBreakAll\n }), label);\n}\nLabel.displayName = 'Label';\nvar parseViewBox = function parseViewBox(props) {\n var cx = props.cx,\n cy = props.cy,\n angle = props.angle,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n r = props.r,\n radius = props.radius,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n x = props.x,\n y = props.y,\n top = props.top,\n left = props.left,\n width = props.width,\n height = props.height,\n clockWise = props.clockWise,\n labelViewBox = props.labelViewBox;\n if (labelViewBox) {\n return labelViewBox;\n }\n if (isNumber(width) && isNumber(height)) {\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n }\n if (isNumber(top) && isNumber(left)) {\n return {\n x: top,\n y: left,\n width: width,\n height: height\n };\n }\n }\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: 0,\n height: 0\n };\n }\n if (isNumber(cx) && isNumber(cy)) {\n return {\n cx: cx,\n cy: cy,\n startAngle: startAngle || angle || 0,\n endAngle: endAngle || angle || 0,\n innerRadius: innerRadius || 0,\n outerRadius: outerRadius || radius || r || 0,\n clockWise: clockWise\n };\n }\n if (props.viewBox) {\n return props.viewBox;\n }\n return {};\n};\nvar parseLabel = function parseLabel(label, viewBox) {\n if (!label) {\n return null;\n }\n if (label === true) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox\n });\n }\n if (isNumOrStr(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox,\n value: label\n });\n }\n if ( /*#__PURE__*/isValidElement(label)) {\n if (label.type === Label) {\n return /*#__PURE__*/cloneElement(label, {\n key: 'label-implicit',\n viewBox: viewBox\n });\n }\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n if (_isFunction(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(Label, _extends({\n viewBox: viewBox\n }, label, {\n key: \"label-implicit\"\n }));\n }\n return null;\n};\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n var children = parentProps.children;\n var parentViewBox = parseViewBox(parentProps);\n var explicitChildren = findAllByType(children, Label).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n viewBox: viewBox || parentViewBox,\n // eslint-disable-next-line react/no-array-index-key\n key: \"label-\".concat(index)\n });\n });\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox);\n return [implicitLabel].concat(_toConsumableArray(explicitChildren));\n};\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\nimport _last from \"lodash/last\";\nimport _isArray from \"lodash/isArray\";\nvar _excluded = [\"valueAccessor\"],\n _excluded2 = [\"data\", \"dataKey\", \"clockWise\", \"id\", \"textBreakAll\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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; }\nimport React, { cloneElement } from 'react';\nimport { Label } from './Label';\nimport { Layer } from '../container/Layer';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nvar defaultAccessor = function defaultAccessor(entry) {\n return _isArray(entry.value) ? _last(entry.value) : entry.value;\n};\nexport function LabelList(_ref) {\n var _ref$valueAccessor = _ref.valueAccessor,\n valueAccessor = _ref$valueAccessor === void 0 ? defaultAccessor : _ref$valueAccessor,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var data = restProps.data,\n dataKey = restProps.dataKey,\n clockWise = restProps.clockWise,\n id = restProps.id,\n textBreakAll = restProps.textBreakAll,\n others = _objectWithoutProperties(restProps, _excluded2);\n if (!data || !data.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map(function (entry, index) {\n var value = _isNil(dataKey) ? valueAccessor(entry, index) : getValueByDataKey(entry && entry.payload, dataKey);\n var idProps = _isNil(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index)\n };\n return /*#__PURE__*/React.createElement(Label, _extends({}, filterProps(entry, true), others, idProps, {\n parentViewBox: entry.parentViewBox,\n index: index,\n value: value,\n textBreakAll: textBreakAll,\n viewBox: Label.parseViewBox(_isNil(clockWise) ? entry : _objectSpread(_objectSpread({}, entry), {}, {\n clockWise: clockWise\n })),\n key: \"label-\".concat(index) // eslint-disable-line react/no-array-index-key\n }));\n }));\n}\n\nLabelList.displayName = 'LabelList';\nfunction parseLabelList(label, data) {\n if (!label) {\n return null;\n }\n if (label === true) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data\n });\n }\n if ( /*#__PURE__*/React.isValidElement(label) || _isFunction(label)) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data,\n content: label\n });\n }\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(LabelList, _extends({\n data: data\n }, label, {\n key: \"labelList-implicit\"\n }));\n }\n return null;\n}\nfunction renderCallByParent(parentProps, data) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n var children = parentProps.children;\n var explicitChildren = findAllByType(children, LabelList).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n data: data,\n // eslint-disable-next-line react/no-array-index-key\n key: \"labelList-\".concat(index)\n });\n });\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n var implicitLabelList = parseLabelList(parentProps.label, data);\n return [implicitLabelList].concat(_toConsumableArray(explicitChildren));\n}\nLabelList.renderCallByParent = renderCallByParent;","import _isFunction from \"lodash/isFunction\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Default Legend Content\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { warn } from '../util/LogUtils';\nimport { Surface } from '../container/Surface';\nimport { Symbols } from '../shape/Symbols';\nimport { adaptEventsOfChild } from '../util/types';\nvar SIZE = 32;\nexport var DefaultLegendContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultLegendContent, _PureComponent);\n var _super = _createSuper(DefaultLegendContent);\n function DefaultLegendContent() {\n _classCallCheck(this, DefaultLegendContent);\n return _super.apply(this, arguments);\n }\n _createClass(DefaultLegendContent, [{\n key: \"renderIcon\",\n value:\n /**\n * Render the path of icon\n * @param {Object} data Data of each legend item\n * @return {String} Path element\n */\n function renderIcon(data) {\n var inactiveColor = this.props.inactiveColor;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color = data.inactive ? inactiveColor : data.color;\n if (data.type === 'plainline') {\n return /*#__PURE__*/React.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n strokeDasharray: data.payload.strokeDasharray,\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n if (data.type === 'line') {\n return /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n if (data.type === 'rect') {\n return /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n fill: color,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n if ( /*#__PURE__*/React.isValidElement(data.legendIcon)) {\n var iconProps = _objectSpread({}, data);\n delete iconProps.legendIcon;\n return /*#__PURE__*/React.cloneElement(data.legendIcon, iconProps);\n }\n return /*#__PURE__*/React.createElement(Symbols, {\n fill: color,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: data.type\n });\n }\n\n /**\n * Draw items of legend\n * @return {ReactElement} Items\n */\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this = this;\n var _this$props = this.props,\n payload = _this$props.payload,\n iconSize = _this$props.iconSize,\n layout = _this$props.layout,\n formatter = _this$props.formatter,\n inactiveColor = _this$props.inactiveColor;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === 'horizontal' ? 'inline-block' : 'block',\n marginRight: 10\n };\n var svgStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n marginRight: 4\n };\n return payload.map(function (entry, i) {\n var _classNames;\n var finalFormatter = entry.formatter || formatter;\n var className = classNames((_classNames = {\n 'recharts-legend-item': true\n }, _defineProperty(_classNames, \"legend-item-\".concat(i), true), _defineProperty(_classNames, \"inactive\", entry.inactive), _classNames));\n if (entry.type === 'none') {\n return null;\n }\n\n // Do not render entry.value as functions. Always require static string properties.\n var entryValue = !_isFunction(entry.value) ? entry.value : null;\n warn(!_isFunction(entry.value), \"The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: \" // eslint-disable-line max-len\n );\n var color = entry.inactive ? inactiveColor : entry.color;\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: className,\n style: itemStyle,\n key: \"legend-item-\".concat(i) // eslint-disable-line react/no-array-index-key\n }, adaptEventsOfChild(_this.props, entry, i)), /*#__PURE__*/React.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox: viewBox,\n style: svgStyle\n }, _this.renderIcon(entry)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-legend-item-text\",\n style: {\n color: color\n }\n }, finalFormatter ? finalFormatter(entryValue, entry, i) : entryValue));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n layout = _this$props2.layout,\n align = _this$props2.align;\n if (!payload || !payload.length) {\n return null;\n }\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === 'horizontal' ? align : 'left'\n };\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, this.renderItems());\n }\n }]);\n return DefaultLegendContent;\n}(PureComponent);\n_defineProperty(DefaultLegendContent, \"displayName\", 'Legend');\n_defineProperty(DefaultLegendContent, \"defaultProps\", {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'middle',\n inactiveColor: '#ccc'\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\nvar _excluded = [\"ref\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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/**\n * @fileOverview Legend\n */\nimport React, { PureComponent } from 'react';\nimport { DefaultLegendContent } from './DefaultLegendContent';\nimport { isNumber } from '../util/DataUtils';\nfunction defaultUniqBy(entry) {\n return entry.value;\n}\nfunction getUniqPayload(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n return payload;\n}\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n if (_isFunction(content)) {\n return /*#__PURE__*/React.createElement(content, props);\n }\n var ref = props.ref,\n otherProps = _objectWithoutProperties(props, _excluded);\n return /*#__PURE__*/React.createElement(DefaultLegendContent, otherProps);\n}\nvar EPS = 1;\nexport var Legend = /*#__PURE__*/function (_PureComponent) {\n _inherits(Legend, _PureComponent);\n var _super = _createSuper(Legend);\n function Legend() {\n var _this;\n _classCallCheck(this, Legend);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n boxWidth: -1,\n boxHeight: -1\n });\n return _this;\n }\n _createClass(Legend, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"getBBox\",\n value: function getBBox() {\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n return this.wrapperNode.getBoundingClientRect();\n }\n return null;\n }\n }, {\n key: \"getBBoxSnapshot\",\n value: function getBBoxSnapshot() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n if (boxWidth >= 0 && boxHeight >= 0) {\n return {\n width: boxWidth,\n height: boxHeight\n };\n }\n return null;\n }\n }, {\n key: \"getDefaultPosition\",\n value: function getDefaultPosition(style) {\n var _this$props = this.props,\n layout = _this$props.layout,\n align = _this$props.align,\n verticalAlign = _this$props.verticalAlign,\n margin = _this$props.margin,\n chartWidth = _this$props.chartWidth,\n chartHeight = _this$props.chartHeight;\n var hPos, vPos;\n if (!style || (style.left === undefined || style.left === null) && (style.right === undefined || style.right === null)) {\n if (align === 'center' && layout === 'vertical') {\n var _box = this.getBBoxSnapshot() || {\n width: 0\n };\n hPos = {\n left: ((chartWidth || 0) - _box.width) / 2\n };\n } else {\n hPos = align === 'right' ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n if (!style || (style.top === undefined || style.top === null) && (style.bottom === undefined || style.bottom === null)) {\n if (verticalAlign === 'middle') {\n var _box2 = this.getBBoxSnapshot() || {\n height: 0\n };\n vPos = {\n top: ((chartHeight || 0) - _box2.height) / 2\n };\n } else {\n vPos = verticalAlign === 'bottom' ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n return _objectSpread(_objectSpread({}, hPos), vPos);\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n var onBBoxUpdate = this.props.onBBoxUpdate;\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var _box3 = this.wrapperNode.getBoundingClientRect();\n if (Math.abs(_box3.width - boxWidth) > EPS || Math.abs(_box3.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: _box3.width,\n boxHeight: _box3.height\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(_box3);\n }\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(null);\n }\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props2 = this.props,\n content = _this$props2.content,\n width = _this$props2.width,\n height = _this$props2.height,\n wrapperStyle = _this$props2.wrapperStyle,\n payloadUniqBy = _this$props2.payloadUniqBy,\n payload = _this$props2.payload;\n var outerStyle = _objectSpread(_objectSpread({\n position: 'absolute',\n width: width || 'auto',\n height: height || 'auto'\n }, this.getDefaultPosition(wrapperStyle)), wrapperStyle);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: getUniqPayload(payloadUniqBy, payload)\n })));\n }\n }], [{\n key: \"getWithHeight\",\n value: function getWithHeight(item, chartWidth) {\n var layout = item.props.layout;\n if (layout === 'vertical' && isNumber(item.props.height)) {\n return {\n height: item.props.height\n };\n }\n if (layout === 'horizontal') {\n return {\n width: item.props.width || chartWidth\n };\n }\n return null;\n }\n }]);\n return Legend;\n}(PureComponent);\n_defineProperty(Legend, \"displayName\", 'Legend');\n_defineProperty(Legend, \"defaultProps\", {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar MULTIPLY_OR_DIVIDE_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([*/])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\nvar ADD_OR_SUBTRACT_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([+-])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\nvar CSS_LENGTH_UNIT_REGEX = /^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/;\nvar NUM_SPLIT_REGEX = /(-?\\d+(?:\\.\\d+)?)([a-zA-Z%]+)?/;\nvar CONVERSION_RATES = {\n cm: 96 / 2.54,\n mm: 96 / 25.4,\n pt: 96 / 72,\n pc: 96 / 6,\n \"in\": 96,\n Q: 96 / (2.54 * 40),\n px: 1\n};\nvar FIXED_CSS_LENGTH_UNITS = Object.keys(CONVERSION_RATES);\nvar STR_NAN = 'NaN';\nfunction convertToPx(value, unit) {\n return value * CONVERSION_RATES[unit];\n}\nvar DecimalCSS = /*#__PURE__*/function () {\n function DecimalCSS(num, unit) {\n _classCallCheck(this, DecimalCSS);\n this.num = num;\n this.unit = unit;\n this.num = num;\n this.unit = unit;\n if (Number.isNaN(num)) {\n this.unit = '';\n }\n if (unit !== '' && !CSS_LENGTH_UNIT_REGEX.test(unit)) {\n this.num = NaN;\n this.unit = '';\n }\n if (FIXED_CSS_LENGTH_UNITS.includes(unit)) {\n this.num = convertToPx(num, unit);\n this.unit = 'px';\n }\n }\n _createClass(DecimalCSS, [{\n key: \"add\",\n value: function add(other) {\n if (this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num + other.num, this.unit);\n }\n }, {\n key: \"subtract\",\n value: function subtract(other) {\n if (this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num - other.num, this.unit);\n }\n }, {\n key: \"multiply\",\n value: function multiply(other) {\n if (this.unit !== '' && other.unit !== '' && this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num * other.num, this.unit || other.unit);\n }\n }, {\n key: \"divide\",\n value: function divide(other) {\n if (this.unit !== '' && other.unit !== '' && this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num / other.num, this.unit || other.unit);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.num).concat(this.unit);\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return Number.isNaN(this.num);\n }\n }], [{\n key: \"parse\",\n value: function parse(str) {\n var _NUM_SPLIT_REGEX$exec;\n var _ref = (_NUM_SPLIT_REGEX$exec = NUM_SPLIT_REGEX.exec(str)) !== null && _NUM_SPLIT_REGEX$exec !== void 0 ? _NUM_SPLIT_REGEX$exec : [],\n _ref2 = _slicedToArray(_ref, 3),\n numStr = _ref2[1],\n unit = _ref2[2];\n return new DecimalCSS(parseFloat(numStr), unit !== null && unit !== void 0 ? unit : '');\n }\n }]);\n return DecimalCSS;\n}();\nfunction calculateArithmetic(expr) {\n if (expr.includes(STR_NAN)) {\n return STR_NAN;\n }\n var newExpr = expr;\n while (newExpr.includes('*') || newExpr.includes('/')) {\n var _MULTIPLY_OR_DIVIDE_R;\n var _ref3 = (_MULTIPLY_OR_DIVIDE_R = MULTIPLY_OR_DIVIDE_REGEX.exec(newExpr)) !== null && _MULTIPLY_OR_DIVIDE_R !== void 0 ? _MULTIPLY_OR_DIVIDE_R : [],\n _ref4 = _slicedToArray(_ref3, 4),\n leftOperand = _ref4[1],\n operator = _ref4[2],\n rightOperand = _ref4[3];\n var lTs = DecimalCSS.parse(leftOperand !== null && leftOperand !== void 0 ? leftOperand : '');\n var rTs = DecimalCSS.parse(rightOperand !== null && rightOperand !== void 0 ? rightOperand : '');\n var result = operator === '*' ? lTs.multiply(rTs) : lTs.divide(rTs);\n if (result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(MULTIPLY_OR_DIVIDE_REGEX, result.toString());\n }\n while (newExpr.includes('+') || /.-\\d+(?:\\.\\d+)?/.test(newExpr)) {\n var _ADD_OR_SUBTRACT_REGE;\n var _ref5 = (_ADD_OR_SUBTRACT_REGE = ADD_OR_SUBTRACT_REGEX.exec(newExpr)) !== null && _ADD_OR_SUBTRACT_REGE !== void 0 ? _ADD_OR_SUBTRACT_REGE : [],\n _ref6 = _slicedToArray(_ref5, 4),\n _leftOperand = _ref6[1],\n _operator = _ref6[2],\n _rightOperand = _ref6[3];\n var _lTs = DecimalCSS.parse(_leftOperand !== null && _leftOperand !== void 0 ? _leftOperand : '');\n var _rTs = DecimalCSS.parse(_rightOperand !== null && _rightOperand !== void 0 ? _rightOperand : '');\n var _result = _operator === '+' ? _lTs.add(_rTs) : _lTs.subtract(_rTs);\n if (_result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(ADD_OR_SUBTRACT_REGEX, _result.toString());\n }\n return newExpr;\n}\nvar PARENTHESES_REGEX = /\\(([^()]*)\\)/;\nfunction calculateParentheses(expr) {\n var newExpr = expr;\n while (newExpr.includes('(')) {\n var _PARENTHESES_REGEX$ex = PARENTHESES_REGEX.exec(newExpr),\n _PARENTHESES_REGEX$ex2 = _slicedToArray(_PARENTHESES_REGEX$ex, 2),\n parentheticalExpression = _PARENTHESES_REGEX$ex2[1];\n newExpr = newExpr.replace(PARENTHESES_REGEX, calculateArithmetic(parentheticalExpression));\n }\n return newExpr;\n}\nfunction evaluateExpression(expression) {\n var newExpr = expression.replace(/\\s+/g, '');\n newExpr = calculateParentheses(newExpr);\n newExpr = calculateArithmetic(newExpr);\n return newExpr;\n}\nexport function safeEvaluateExpression(expression) {\n try {\n return evaluateExpression(expression);\n } catch (e) {\n /* istanbul ignore next */\n return STR_NAN;\n }\n}\nexport function reduceCSSCalc(expression) {\n var result = safeEvaluateExpression(expression.slice(5, -1));\n if (result === STR_NAN) {\n // notify the user\n return '';\n }\n return result;\n}","import _isNil from \"lodash/isNil\";\nvar _excluded = [\"x\", \"y\", \"lineHeight\", \"capHeight\", \"scaleToFit\", \"textAnchor\", \"verticalAnchor\", \"fill\"],\n _excluded2 = [\"dx\", \"dy\", \"angle\", \"className\", \"breakAll\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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; }\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; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isNumber, isNumOrStr } from '../util/DataUtils';\nimport { Global } from '../util/Global';\nimport { filterProps } from '../util/ReactUtils';\nimport { getStringSize } from '../util/DOMUtils';\nimport { reduceCSSCalc } from '../util/ReduceCSSCalc';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\nvar calculateWordWidths = function calculateWordWidths(_ref) {\n var children = _ref.children,\n breakAll = _ref.breakAll,\n style = _ref.style;\n try {\n var words = [];\n if (!_isNil(children)) {\n if (breakAll) {\n words = children.toString().split('');\n } else {\n words = children.toString().split(BREAKING_SPACES);\n }\n }\n var wordsWithComputedWidth = words.map(function (word) {\n return {\n word: word,\n width: getStringSize(word, style).width\n };\n });\n var spaceWidth = breakAll ? 0 : getStringSize(\"\\xA0\", style).width;\n return {\n wordsWithComputedWidth: wordsWithComputedWidth,\n spaceWidth: spaceWidth\n };\n } catch (e) {\n return null;\n }\n};\nvar calculateWordsByLines = function calculateWordsByLines(_ref2, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) {\n var maxLines = _ref2.maxLines,\n children = _ref2.children,\n style = _ref2.style,\n breakAll = _ref2.breakAll;\n var shouldLimitLines = isNumber(maxLines);\n var text = children;\n var calculate = function calculate() {\n var words = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return words.reduce(function (result, _ref3) {\n var word = _ref3.word,\n width = _ref3.width;\n var currentLine = result[result.length - 1];\n if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < Number(lineWidth))) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: width\n };\n result.push(newLine);\n }\n return result;\n }, []);\n };\n var originalResult = calculate(initialWordsWithComputedWith);\n var findLongestLine = function findLongestLine(words) {\n return words.reduce(function (a, b) {\n return a.width > b.width ? a : b;\n });\n };\n if (!shouldLimitLines) {\n return originalResult;\n }\n var suffix = '…';\n var checkOverflow = function checkOverflow(index) {\n var tempText = text.slice(0, index);\n var words = calculateWordWidths({\n breakAll: breakAll,\n style: style,\n children: tempText + suffix\n }).wordsWithComputedWidth;\n var result = calculate(words);\n var doesOverflow = result.length > maxLines || findLongestLine(result).width > Number(lineWidth);\n return [doesOverflow, result];\n };\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n var _checkOverflow = checkOverflow(prev),\n _checkOverflow2 = _slicedToArray(_checkOverflow, 2),\n doesPrevOverflow = _checkOverflow2[0],\n result = _checkOverflow2[1];\n var _checkOverflow3 = checkOverflow(middle),\n _checkOverflow4 = _slicedToArray(_checkOverflow3, 1),\n doesMiddleOverflow = _checkOverflow4[0];\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n iterations++;\n }\n\n // Fallback to originalResult (result without trimming) if we cannot find the\n // where to trim. This should not happen :tm:\n return trimmedResult || originalResult;\n};\nvar getWordsWithoutCalculate = function getWordsWithoutCalculate(children) {\n var words = !_isNil(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words: words\n }];\n};\nvar getWordsByLines = function getWordsByLines(_ref4) {\n var width = _ref4.width,\n scaleToFit = _ref4.scaleToFit,\n children = _ref4.children,\n style = _ref4.style,\n breakAll = _ref4.breakAll,\n maxLines = _ref4.maxLines;\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if ((width || scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n var wordWidths = calculateWordWidths({\n breakAll: breakAll,\n children: children,\n style: style\n });\n if (wordWidths) {\n var wcw = wordWidths.wordsWithComputedWidth,\n sw = wordWidths.spaceWidth;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(children);\n }\n return calculateWordsByLines({\n breakAll: breakAll,\n children: children,\n maxLines: maxLines,\n style: style\n }, wordsWithComputedWidth, spaceWidth, width, scaleToFit);\n }\n return getWordsWithoutCalculate(children);\n};\nvar DEFAULT_FILL = '#808080';\nexport var Text = function Text(_ref5) {\n var _ref5$x = _ref5.x,\n propsX = _ref5$x === void 0 ? 0 : _ref5$x,\n _ref5$y = _ref5.y,\n propsY = _ref5$y === void 0 ? 0 : _ref5$y,\n _ref5$lineHeight = _ref5.lineHeight,\n lineHeight = _ref5$lineHeight === void 0 ? '1em' : _ref5$lineHeight,\n _ref5$capHeight = _ref5.capHeight,\n capHeight = _ref5$capHeight === void 0 ? '0.71em' : _ref5$capHeight,\n _ref5$scaleToFit = _ref5.scaleToFit,\n scaleToFit = _ref5$scaleToFit === void 0 ? false : _ref5$scaleToFit,\n _ref5$textAnchor = _ref5.textAnchor,\n textAnchor = _ref5$textAnchor === void 0 ? 'start' : _ref5$textAnchor,\n _ref5$verticalAnchor = _ref5.verticalAnchor,\n verticalAnchor = _ref5$verticalAnchor === void 0 ? 'end' : _ref5$verticalAnchor,\n _ref5$fill = _ref5.fill,\n fill = _ref5$fill === void 0 ? DEFAULT_FILL : _ref5$fill,\n props = _objectWithoutProperties(_ref5, _excluded);\n var wordsByLines = useMemo(function () {\n return getWordsByLines({\n breakAll: props.breakAll,\n children: props.children,\n maxLines: props.maxLines,\n scaleToFit: scaleToFit,\n style: props.style,\n width: props.width\n });\n }, [props.breakAll, props.children, props.maxLines, scaleToFit, props.style, props.width]);\n var dx = props.dx,\n dy = props.dy,\n angle = props.angle,\n className = props.className,\n breakAll = props.breakAll,\n textProps = _objectWithoutProperties(props, _excluded2);\n if (!isNumOrStr(propsX) || !isNumOrStr(propsY)) {\n return null;\n }\n var x = propsX + (isNumber(dx) ? dx : 0);\n var y = propsY + (isNumber(dy) ? dy : 0);\n var startDy;\n switch (verticalAnchor) {\n case 'start':\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n case 'middle':\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n var transforms = [];\n if (scaleToFit) {\n var lineWidth = wordsByLines[0].width;\n var width = props.width;\n transforms.push(\"scale(\".concat((isNumber(width) ? width / lineWidth : 1) / lineWidth, \")\"));\n }\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n }\n if (transforms.length) {\n textProps.transform = transforms.join(' ');\n }\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, filterProps(textProps, true), {\n x: x,\n y: y,\n className: classNames('recharts-text', className),\n textAnchor: textAnchor,\n fill: fill.includes('url') ? DEFAULT_FILL : fill\n }), wordsByLines.map(function (line, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"tspan\", {\n x: x,\n dy: index === 0 ? startDy : lineHeight,\n key: index\n }, line.words.join(breakAll ? '' : ' '))\n );\n }));\n};","import _isNil from \"lodash/isNil\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isArray from \"lodash/isArray\";\n/**\n * @fileOverview Default Tooltip Content\n */\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React from 'react';\nimport classNames from 'classnames';\nimport { isNumOrStr } from '../util/DataUtils';\nfunction defaultFormatter(value) {\n return _isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(' ~ ') : value;\n}\nexport var DefaultTooltipContent = function DefaultTooltipContent(props) {\n var _props$separator = props.separator,\n separator = _props$separator === void 0 ? ' : ' : _props$separator,\n _props$contentStyle = props.contentStyle,\n contentStyle = _props$contentStyle === void 0 ? {} : _props$contentStyle,\n _props$itemStyle = props.itemStyle,\n itemStyle = _props$itemStyle === void 0 ? {} : _props$itemStyle,\n _props$labelStyle = props.labelStyle,\n labelStyle = _props$labelStyle === void 0 ? {} : _props$labelStyle,\n payload = props.payload,\n formatter = props.formatter,\n itemSorter = props.itemSorter,\n wrapperClassName = props.wrapperClassName,\n labelClassName = props.labelClassName,\n label = props.label,\n labelFormatter = props.labelFormatter;\n var renderContent = function renderContent() {\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var items = (itemSorter ? _sortBy(payload, itemSorter) : payload).map(function (entry, i) {\n if (entry.type === 'none') {\n return null;\n }\n var finalItemStyle = _objectSpread({\n display: 'block',\n paddingTop: 4,\n paddingBottom: 4,\n color: entry.color || '#000'\n }, itemStyle);\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var value = entry.value,\n name = entry.name;\n var finalValue = value;\n var finalName = name;\n if (finalFormatter && finalValue != null && finalName != null) {\n var formatted = finalFormatter(value, name, entry, i, payload);\n if (Array.isArray(formatted)) {\n var _formatted = _slicedToArray(formatted, 2);\n finalValue = _formatted[0];\n finalName = _formatted[1];\n } else {\n finalValue = formatted;\n }\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(finalName) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, finalName) : null, isNumOrStr(finalName) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, finalValue), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || ''))\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n return null;\n };\n var finalStyle = _objectSpread({\n margin: 0,\n padding: 10,\n backgroundColor: '#fff',\n border: '1px solid #ccc',\n whiteSpace: 'nowrap'\n }, contentStyle);\n var finalLabelStyle = _objectSpread({\n margin: 0\n }, labelStyle);\n var hasLabel = !_isNil(label);\n var finalLabel = hasLabel ? label : '';\n var wrapperCN = classNames('recharts-default-tooltip', wrapperClassName);\n var labelCN = classNames('recharts-tooltip-label', labelClassName);\n if (hasLabel && labelFormatter && payload !== undefined && payload !== null) {\n finalLabel = labelFormatter(label, payload);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperCN,\n style: finalStyle\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, /*#__PURE__*/React.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), renderContent());\n};","import _isNil from \"lodash/isNil\";\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\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); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Tooltip\n */\nimport React, { PureComponent } from 'react';\nimport { translateStyle } from 'react-smooth';\nimport classNames from 'classnames';\nimport { DefaultTooltipContent } from './DefaultTooltipContent';\nimport { Global } from '../util/Global';\nimport { isNumber } from '../util/DataUtils';\nvar CLS_PREFIX = 'recharts-tooltip-wrapper';\nvar EPS = 1;\nfunction defaultUniqBy(entry) {\n return entry.dataKey;\n}\nfunction getUniqPayload(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n return payload;\n}\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n if (_isFunction(content)) {\n return /*#__PURE__*/React.createElement(content, props);\n }\n return /*#__PURE__*/React.createElement(DefaultTooltipContent, props);\n}\nexport var Tooltip = /*#__PURE__*/function (_PureComponent) {\n _inherits(Tooltip, _PureComponent);\n var _super = _createSuper(Tooltip);\n function Tooltip() {\n var _this;\n _classCallCheck(this, Tooltip);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n boxWidth: -1,\n boxHeight: -1,\n dismissed: false,\n dismissedAtCoordinate: {\n x: 0,\n y: 0\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (event) {\n if (event.key === 'Escape') {\n _this.setState({\n dismissed: true,\n dismissedAtCoordinate: _objectSpread(_objectSpread({}, _this.state.dismissedAtCoordinate), {}, {\n x: _this.props.coordinate.x,\n y: _this.props.coordinate.y\n })\n });\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"getTranslate\", function (_ref) {\n var key = _ref.key,\n tooltipDimension = _ref.tooltipDimension,\n viewBoxDimension = _ref.viewBoxDimension;\n var _this$props = _this.props,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n reverseDirection = _this$props.reverseDirection,\n coordinate = _this$props.coordinate,\n offset = _this$props.offset,\n position = _this$props.position,\n viewBox = _this$props.viewBox;\n if (position && isNumber(position[key])) {\n return position[key];\n }\n var negative = coordinate[key] - tooltipDimension - offset;\n var positive = coordinate[key] + offset;\n if (allowEscapeViewBox[key]) {\n return reverseDirection[key] ? negative : positive;\n }\n if (reverseDirection[key]) {\n var _tooltipBoundary = negative;\n var _viewBoxBoundary = viewBox[key];\n if (_tooltipBoundary < _viewBoxBoundary) {\n return Math.max(positive, viewBox[key]);\n }\n return Math.max(negative, viewBox[key]);\n }\n var tooltipBoundary = positive + tooltipDimension;\n var viewBoxBoundary = viewBox[key] + viewBoxDimension;\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(negative, viewBox[key]);\n }\n return Math.max(positive, viewBox[key]);\n });\n return _this;\n }\n _createClass(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight,\n dismissed = _this$state.dismissed;\n if (dismissed) {\n document.removeEventListener('keydown', this.handleKeyDown);\n if (this.props.coordinate.x !== this.state.dismissedAtCoordinate.x || this.props.coordinate.y !== this.state.dismissedAtCoordinate.y) {\n this.setState({\n dismissed: false\n });\n }\n } else {\n document.addEventListener('keydown', this.handleKeyDown);\n }\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n if (Math.abs(box.width - boxWidth) > EPS || Math.abs(box.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: box.width,\n boxHeight: box.height\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames,\n _this2 = this;\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n isAnimationActive = _this$props2.isAnimationActive,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n filterNull = _this$props2.filterNull,\n payloadUniqBy = _this$props2.payloadUniqBy;\n var finalPayload = getUniqPayload(payloadUniqBy, filterNull && payload && payload.length ? payload.filter(function (entry) {\n return !_isNil(entry.value);\n }) : payload);\n var hasPayload = finalPayload && finalPayload.length;\n var _this$props3 = this.props,\n content = _this$props3.content,\n viewBox = _this$props3.viewBox,\n coordinate = _this$props3.coordinate,\n position = _this$props3.position,\n active = _this$props3.active,\n wrapperStyle = _this$props3.wrapperStyle;\n var outerStyle = _objectSpread({\n pointerEvents: 'none',\n visibility: !this.state.dismissed && active && hasPayload ? 'visible' : 'hidden',\n position: 'absolute',\n top: 0,\n left: 0\n }, wrapperStyle);\n var translateX, translateY;\n if (position && isNumber(position.x) && isNumber(position.y)) {\n translateX = position.x;\n translateY = position.y;\n } else {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n if (boxWidth > 0 && boxHeight > 0 && coordinate) {\n translateX = this.getTranslate({\n key: 'x',\n tooltipDimension: boxWidth,\n viewBoxDimension: viewBox.width\n });\n translateY = this.getTranslate({\n key: 'y',\n tooltipDimension: boxHeight,\n viewBoxDimension: viewBox.height\n });\n } else {\n outerStyle.visibility = 'hidden';\n }\n }\n outerStyle = _objectSpread(_objectSpread({}, translateStyle({\n transform: this.props.useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n })), outerStyle);\n if (isAnimationActive && active) {\n outerStyle = _objectSpread(_objectSpread({}, translateStyle({\n transition: \"transform \".concat(animationDuration, \"ms \").concat(animationEasing)\n })), outerStyle);\n }\n var cls = classNames(CLS_PREFIX, (_classNames = {}, _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-right\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX >= coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-left\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX < coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-bottom\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY >= coordinate.y), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-top\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY < coordinate.y), _classNames));\n return (\n /*#__PURE__*/\n // ESLint is disabled to allow listening to the `Escape` key. Refer to\n // https://github.com/recharts/recharts/pull/2925\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n React.createElement(\"div\", {\n tabIndex: -1,\n role: \"dialog\",\n className: cls,\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: finalPayload\n })))\n );\n }\n }]);\n return Tooltip;\n}(PureComponent);\n_defineProperty(Tooltip, \"displayName\", 'Tooltip');\n_defineProperty(Tooltip, \"defaultProps\", {\n active: false,\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n reverseDirection: {\n x: false,\n y: false\n },\n offset: 10,\n viewBox: {\n x: 0,\n y: 0,\n height: 0,\n width: 0\n },\n coordinate: {\n x: 0,\n y: 0\n },\n cursorStyle: {},\n separator: ' : ',\n wrapperStyle: {},\n contentStyle: {},\n itemStyle: {},\n labelStyle: {},\n cursor: true,\n trigger: 'hover',\n isAnimationActive: !Global.isSsr,\n animationEasing: 'ease',\n animationDuration: 400,\n filterNull: true,\n useTranslate3d: false\n});","var _excluded = [\"children\", \"className\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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; }\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/**\n * @fileOverview Layer\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/ReactUtils';\nexport var Layer = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var children = props.children,\n className = props.className,\n others = _objectWithoutProperties(props, _excluded);\n var layerClass = classNames('recharts-layer', className);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n className: layerClass\n }, filterProps(others, true), {\n ref: ref\n }), children);\n});","var _excluded = [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\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; }\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/**\n * @fileOverview Surface\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/ReactUtils';\nexport function Surface(props) {\n var children = props.children,\n width = props.width,\n height = props.height,\n viewBox = props.viewBox,\n className = props.className,\n style = props.style,\n others = _objectWithoutProperties(props, _excluded);\n var svgView = viewBox || {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n var layerClass = classNames('recharts-surface', className);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, filterProps(others, true, 'svg'), {\n className: layerClass,\n width: width,\n height: height,\n style: style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height)\n }), /*#__PURE__*/React.createElement(\"title\", null, props.title), /*#__PURE__*/React.createElement(\"desc\", null, props.desc), children);\n}","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import pointRadial from \"../pointRadial.js\";\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);\n else this._context.moveTo(x, y);\n break;\n }\n case 1: this._point = 2; // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {}\n point(x, y) {\n x = +x, y = +y;\n if (this._point === 0) {\n this._point = 1;\n } else {\n const p0 = pointRadial(this._x0, this._y0);\n const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = pointRadial(x, this._y0);\n const p3 = pointRadial(x, y);\n this._context.moveTo(...p0);\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\n}\n\nexport function bumpRadial(context) {\n return new BumpRadial(context);\n}\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(area);\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","import _isArray from \"lodash/isArray\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isFunction from \"lodash/isFunction\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Curve\n */\nimport React from 'react';\nimport { line as shapeLine, area as shapeArea, curveBasisClosed, curveBasisOpen, curveBasis, curveBumpX, curveBumpY, curveLinearClosed, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore } from 'victory-vendor/d3-shape';\nimport classNames from 'classnames';\nimport { adaptEventHandlers } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { isNumber } from '../util/DataUtils';\nvar CURVE_FACTORIES = {\n curveBasisClosed: curveBasisClosed,\n curveBasisOpen: curveBasisOpen,\n curveBasis: curveBasis,\n curveBumpX: curveBumpX,\n curveBumpY: curveBumpY,\n curveLinearClosed: curveLinearClosed,\n curveLinear: curveLinear,\n curveMonotoneX: curveMonotoneX,\n curveMonotoneY: curveMonotoneY,\n curveNatural: curveNatural,\n curveStep: curveStep,\n curveStepAfter: curveStepAfter,\n curveStepBefore: curveStepBefore\n};\nvar defined = function defined(p) {\n return p.x === +p.x && p.y === +p.y;\n};\nvar getX = function getX(p) {\n return p.x;\n};\nvar getY = function getY(p) {\n return p.y;\n};\nvar getCurveFactory = function getCurveFactory(type, layout) {\n if (_isFunction(type)) {\n return type;\n }\n var name = \"curve\".concat(_upperFirst(type));\n if ((name === 'curveMonotone' || name === 'curveBump') && layout) {\n return CURVE_FACTORIES[\"\".concat(name).concat(layout === 'vertical' ? 'Y' : 'X')];\n }\n return CURVE_FACTORIES[name] || curveLinear;\n};\n/**\n * Calculate the path of curve\n * @return {String} path\n */\nvar getPath = function getPath(_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'linear' : _ref$type,\n _ref$points = _ref.points,\n points = _ref$points === void 0 ? [] : _ref$points,\n baseLine = _ref.baseLine,\n layout = _ref.layout,\n _ref$connectNulls = _ref.connectNulls,\n connectNulls = _ref$connectNulls === void 0 ? false : _ref$connectNulls;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(function (entry) {\n return defined(entry);\n }) : points;\n var lineFunction;\n if (_isArray(baseLine)) {\n var formatBaseLine = connectNulls ? baseLine.filter(function (base) {\n return defined(base);\n }) : baseLine;\n var areaPoints = formatPoints.map(function (entry, index) {\n return _objectSpread(_objectSpread({}, entry), {}, {\n base: formatBaseLine[index]\n });\n });\n if (layout === 'vertical') {\n lineFunction = shapeArea().y(getY).x1(getX).x0(function (d) {\n return d.base.x;\n });\n } else {\n lineFunction = shapeArea().x(getX).y1(getY).y0(function (d) {\n return d.base.y;\n });\n }\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(areaPoints);\n }\n if (layout === 'vertical' && isNumber(baseLine)) {\n lineFunction = shapeArea().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber(baseLine)) {\n lineFunction = shapeArea().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = shapeLine().x(getX).y(getY);\n }\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(formatPoints);\n};\nexport var Curve = function Curve(props) {\n var className = props.className,\n points = props.points,\n path = props.path,\n pathRef = props.pathRef;\n if ((!points || !points.length) && !path) {\n return null;\n }\n var realPath = points && points.length ? getPath(props) : path;\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props), adaptEventHandlers(props), {\n className: classNames('recharts-curve', className),\n d: realPath,\n ref: pathRef\n }));\n};","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n/**\n * @fileOverview Dot\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { adaptEventHandlers } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nexport var Dot = function Dot(props) {\n var cx = props.cx,\n cy = props.cy,\n r = props.r,\n className = props.className;\n var layerClass = classNames('recharts-dot', className);\n if (cx === +cx && cy === +cy && r === +r) {\n return /*#__PURE__*/React.createElement(\"circle\", _extends({}, filterProps(props), adaptEventHandlers(props), {\n className: layerClass,\n cx: cx,\n cy: cy,\n r: r\n }));\n }\n return null;\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Rectangle\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/ReactUtils';\nvar getRectanglePath = function getRectanglePath(x, y, width, height, radius) {\n var maxRadius = Math.min(Math.abs(width) / 2, Math.abs(height) / 2);\n var ySign = height >= 0 ? 1 : -1;\n var xSign = width >= 0 ? 1 : -1;\n var clockWise = height >= 0 && width >= 0 || height < 0 && width < 0 ? 1 : 0;\n var path;\n if (maxRadius > 0 && radius instanceof Array) {\n var newRadius = [0, 0, 0, 0];\n for (var i = 0, len = 4; i < len; i++) {\n newRadius[i] = radius[i] > maxRadius ? maxRadius : radius[i];\n }\n path = \"M\".concat(x, \",\").concat(y + ySign * newRadius[0]);\n if (newRadius[0] > 0) {\n path += \"A \".concat(newRadius[0], \",\").concat(newRadius[0], \",0,0,\").concat(clockWise, \",\").concat(x + xSign * newRadius[0], \",\").concat(y);\n }\n path += \"L \".concat(x + width - xSign * newRadius[1], \",\").concat(y);\n if (newRadius[1] > 0) {\n path += \"A \".concat(newRadius[1], \",\").concat(newRadius[1], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width, \",\").concat(y + ySign * newRadius[1]);\n }\n path += \"L \".concat(x + width, \",\").concat(y + height - ySign * newRadius[2]);\n if (newRadius[2] > 0) {\n path += \"A \".concat(newRadius[2], \",\").concat(newRadius[2], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width - xSign * newRadius[2], \",\").concat(y + height);\n }\n path += \"L \".concat(x + xSign * newRadius[3], \",\").concat(y + height);\n if (newRadius[3] > 0) {\n path += \"A \".concat(newRadius[3], \",\").concat(newRadius[3], \",0,0,\").concat(clockWise, \",\\n \").concat(x, \",\").concat(y + height - ySign * newRadius[3]);\n }\n path += 'Z';\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n path = \"M \".concat(x, \",\").concat(y + ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + xSign * _newRadius, \",\").concat(y, \"\\n L \").concat(x + width - xSign * _newRadius, \",\").concat(y, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width, \",\").concat(y + ySign * _newRadius, \"\\n L \").concat(x + width, \",\").concat(y + height - ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width - xSign * _newRadius, \",\").concat(y + height, \"\\n L \").concat(x + xSign * _newRadius, \",\").concat(y + height, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x, \",\").concat(y + height - ySign * _newRadius, \" Z\");\n } else {\n path = \"M \".concat(x, \",\").concat(y, \" h \").concat(width, \" v \").concat(height, \" h \").concat(-width, \" Z\");\n }\n return path;\n};\nexport var isInRectangle = function isInRectangle(point, rect) {\n if (!point || !rect) {\n return false;\n }\n var px = point.x,\n py = point.y;\n var x = rect.x,\n y = rect.y,\n width = rect.width,\n height = rect.height;\n if (Math.abs(width) > 0 && Math.abs(height) > 0) {\n var minX = Math.min(x, x + width);\n var maxX = Math.max(x, x + width);\n var minY = Math.min(y, y + height);\n var maxY = Math.max(y, y + height);\n return px >= minX && px <= maxX && py >= minY && py <= maxY;\n }\n return false;\n};\nvar defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n // The radius of border\n // The radius of four corners when radius is a number\n // The radius of left-top, right-top, right-bottom, left-bottom when radius is an array\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\nexport var Rectangle = function Rectangle(rectangleProps) {\n var props = _objectSpread(_objectSpread({}, defaultProps), rectangleProps);\n var pathRef = useRef();\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n totalLength = _useState2[0],\n setTotalLength = _useState2[1];\n useEffect(function () {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (err) {\n // calculate total length error\n }\n }\n }, []);\n var x = props.x,\n y = props.y,\n width = props.width,\n height = props.height,\n radius = props.radius,\n className = props.className;\n var animationEasing = props.animationEasing,\n animationDuration = props.animationDuration,\n animationBegin = props.animationBegin,\n isAnimationActive = props.isAnimationActive,\n isUpdateAnimationActive = props.isUpdateAnimationActive;\n if (x !== +x || y !== +y || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n var layerClass = classNames('recharts-rectangle', className);\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: getRectanglePath(x, y, width, height, radius)\n }));\n }\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n to: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currWidth = _ref.width,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: getRectanglePath(currX, currY, currWidth, currHeight, radius),\n ref: pathRef\n })));\n });\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Sector\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/ReactUtils';\nimport { polarToCartesian, RADIAN } from '../util/PolarUtils';\nimport { getPercentValue, mathSign } from '../util/DataUtils';\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign * deltaAngle;\n};\nvar getTangentCircle = function getTangentCircle(_ref) {\n var cx = _ref.cx,\n cy = _ref.cy,\n radius = _ref.radius,\n angle = _ref.angle,\n sign = _ref.sign,\n isExternal = _ref.isExternal,\n cornerRadius = _ref.cornerRadius,\n cornerIsExternal = _ref.cornerIsExternal;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN;\n var centerAngle = cornerIsExternal ? angle : angle + sign * theta;\n var center = polarToCartesian(cx, cy, centerRadius, centerAngle);\n // The coordinate of point which is tangent to the circle\n var circleTangency = polarToCartesian(cx, cy, radius, centerAngle);\n // The coordinate of point which is tangent to the radius line\n var lineTangencyAngle = cornerIsExternal ? angle - sign * theta : angle;\n var lineTangency = polarToCartesian(cx, cy, centerRadius * Math.cos(theta * RADIAN), lineTangencyAngle);\n return {\n center: center,\n circleTangency: circleTangency,\n lineTangency: lineTangency,\n theta: theta\n };\n};\nvar getSectorPath = function getSectorPath(_ref2) {\n var cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var angle = getDeltaAngle(startAngle, endAngle);\n\n // When the angle of sector equals to 360, star point and end point coincide\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx, cy, outerRadius, tempEndAngle);\n var path = \"M \".concat(outerStartPoint.x, \",\").concat(outerStartPoint.y, \"\\n A \").concat(outerRadius, \",\").concat(outerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle > tempEndAngle), \",\\n \").concat(outerEndPoint.x, \",\").concat(outerEndPoint.y, \"\\n \");\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx, cy, innerRadius, tempEndAngle);\n path += \"L \".concat(innerEndPoint.x, \",\").concat(innerEndPoint.y, \"\\n A \").concat(innerRadius, \",\").concat(innerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle <= tempEndAngle), \",\\n \").concat(innerStartPoint.x, \",\").concat(innerStartPoint.y, \" Z\");\n } else {\n path += \"L \".concat(cx, \",\").concat(cy, \" Z\");\n }\n return path;\n};\nvar getSectorWithCorner = function getSectorWithCorner(_ref3) {\n var cx = _ref3.cx,\n cy = _ref3.cy,\n innerRadius = _ref3.innerRadius,\n outerRadius = _ref3.outerRadius,\n cornerRadius = _ref3.cornerRadius,\n forceCornerRadius = _ref3.forceCornerRadius,\n cornerIsExternal = _ref3.cornerIsExternal,\n startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var sign = mathSign(endAngle - startAngle);\n var _getTangentCircle = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n soct = _getTangentCircle.circleTangency,\n solt = _getTangentCircle.lineTangency,\n sot = _getTangentCircle.theta;\n var _getTangentCircle2 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eoct = _getTangentCircle2.circleTangency,\n eolt = _getTangentCircle2.lineTangency,\n eot = _getTangentCircle2.theta;\n var outerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sot - eot;\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(cornerRadius * 2, \",0\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(-cornerRadius * 2, \",0\\n \");\n }\n return getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n var path = \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(soct.x, \",\").concat(soct.y, \"\\n A\").concat(outerRadius, \",\").concat(outerRadius, \",0,\").concat(+(outerArcAngle > 180), \",\").concat(+(sign < 0), \",\").concat(eoct.x, \",\").concat(eoct.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eolt.x, \",\").concat(eolt.y, \"\\n \");\n if (innerRadius > 0) {\n var _getTangentCircle3 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n sict = _getTangentCircle3.circleTangency,\n silt = _getTangentCircle3.lineTangency,\n sit = _getTangentCircle3.theta;\n var _getTangentCircle4 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eict = _getTangentCircle4.circleTangency,\n eilt = _getTangentCircle4.lineTangency,\n eit = _getTangentCircle4.theta;\n var innerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sit - eit;\n if (innerArcAngle < 0 && cornerRadius === 0) {\n return \"\".concat(path, \"L\").concat(cx, \",\").concat(cy, \"Z\");\n }\n path += \"L\".concat(eilt.x, \",\").concat(eilt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eict.x, \",\").concat(eict.y, \"\\n A\").concat(innerRadius, \",\").concat(innerRadius, \",0,\").concat(+(innerArcAngle > 180), \",\").concat(+(sign > 0), \",\").concat(sict.x, \",\").concat(sict.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(silt.x, \",\").concat(silt.y, \"Z\");\n } else {\n path += \"L\".concat(cx, \",\").concat(cy, \"Z\");\n }\n return path;\n};\nvar defaultProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n};\nexport var Sector = function Sector(sectorProps) {\n var props = _objectSpread(_objectSpread({}, defaultProps), sectorProps);\n var cx = props.cx,\n cy = props.cy,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n cornerRadius = props.cornerRadius,\n forceCornerRadius = props.forceCornerRadius,\n cornerIsExternal = props.cornerIsExternal,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n className = props.className;\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n var layerClass = classNames('recharts-sector', className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path;\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path = getSectorWithCorner({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius: forceCornerRadius,\n cornerIsExternal: cornerIsExternal,\n startAngle: startAngle,\n endAngle: endAngle\n });\n } else {\n path = getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: path,\n role: \"img\"\n }));\n};","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {pi, sqrt, tau} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst tan30 = sqrt(1 / 3);\nconst tan30_2 = tan30 * 2;\n\nexport default {\n draw(context, size) {\n const y = sqrt(size / tan30_2);\n const x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const w = sqrt(size);\n const x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","import {sin, cos, sqrt, pi, tau} from \"../math.js\";\n\nconst ka = 0.89081309152928522810;\nconst kr = sin(pi / 10) / sin(7 * pi / 10);\nconst kx = sin(tau / 10) * kr;\nconst ky = -cos(tau / 10) * kr;\n\nexport default {\n draw(context, size) {\n const r = sqrt(size * ka);\n const x = kx * r;\n const y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (let i = 1; i < 5; ++i) {\n const a = tau * i / 5;\n const c = cos(a);\n const s = sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n draw(context, size) {\n const y = -sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst c = -0.5;\nconst s = sqrt(3) / 2;\nconst k = 1 / sqrt(12);\nconst a = (k / 2 + 1) * 3;\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / a);\n const x0 = r / 2, y0 = r * k;\n const x1 = x0, y1 = r * k + r;\n const x2 = -x1, y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import {min, sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n draw(context, size) {\n const r = sqrt(size + min(size / 28, 0.75)) * 0.59436;\n const t = r / 2;\n const u = t * sqrt3;\n context.moveTo(0, r);\n context.lineTo(0, -r);\n context.moveTo(-u, -t);\n context.lineTo(u, t);\n context.moveTo(-u, t);\n context.lineTo(u, -t);\n }\n};\n","import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n draw(context, size) {\n const s = sqrt(size) * 0.6824;\n const t = s / 2;\n const u = (s * sqrt3) / 2; // cos(Math.PI / 6)\n context.moveTo(0, -s);\n context.lineTo(u, t);\n context.lineTo(-u, t);\n context.closePath();\n }\n};\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport _upperFirst from \"lodash/upperFirst\";\nvar _excluded = [\"type\", \"size\", \"sizeType\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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/**\n * @fileOverview Curve\n */\nimport React from 'react';\nimport { symbol as shapeSymbol, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye } from 'victory-vendor/d3-shape';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/ReactUtils';\nvar symbolFactories = {\n symbolCircle: symbolCircle,\n symbolCross: symbolCross,\n symbolDiamond: symbolDiamond,\n symbolSquare: symbolSquare,\n symbolStar: symbolStar,\n symbolTriangle: symbolTriangle,\n symbolWye: symbolWye\n};\nvar RADIAN = Math.PI / 180;\nvar getSymbolFactory = function getSymbolFactory(type) {\n var name = \"symbol\".concat(_upperFirst(type));\n return symbolFactories[name] || symbolCircle;\n};\nvar calculateAreaSize = function calculateAreaSize(size, sizeType, type) {\n if (sizeType === 'area') {\n return size;\n }\n switch (type) {\n case 'cross':\n return 5 * size * size / 9;\n case 'diamond':\n return 0.5 * size * size / Math.sqrt(3);\n case 'square':\n return size * size;\n case 'star':\n {\n var angle = 18 * RADIAN;\n return 1.25 * size * size * (Math.tan(angle) - Math.tan(angle * 2) * Math.pow(Math.tan(angle), 2));\n }\n case 'triangle':\n return Math.sqrt(3) * size * size / 4;\n case 'wye':\n return (21 - 10 * Math.sqrt(3)) * size * size / 8;\n default:\n return Math.PI * size * size / 4;\n }\n};\nvar registerSymbol = function registerSymbol(key, factory) {\n symbolFactories[\"symbol\".concat(_upperFirst(key))] = factory;\n};\nexport var Symbols = function Symbols(_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'circle' : _ref$type,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 64 : _ref$size,\n _ref$sizeType = _ref.sizeType,\n sizeType = _ref$sizeType === void 0 ? 'area' : _ref$sizeType,\n rest = _objectWithoutProperties(_ref, _excluded);\n var props = _objectSpread(_objectSpread({}, rest), {}, {\n type: type,\n size: size,\n sizeType: sizeType\n });\n\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n var getPath = function getPath() {\n var symbolFactory = getSymbolFactory(type);\n var symbol = shapeSymbol().type(symbolFactory).size(calculateAreaSize(size, sizeType, type));\n return symbol();\n };\n var className = props.className,\n cx = props.cx,\n cy = props.cy;\n var filteredProps = filterProps(props, true);\n if (cx === +cx && cy === +cy && size === +size) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filteredProps, {\n className: classNames('recharts-symbols', className),\n transform: \"translate(\".concat(cx, \", \").concat(cy, \")\"),\n d: getPath()\n }));\n }\n return null;\n};\nSymbols.registerSymbol = registerSymbol;","import constant from \"./constant.js\";\nimport {withPath} from \"./path.js\";\nimport asterisk from \"./symbol/asterisk.js\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport diamond2 from \"./symbol/diamond2.js\";\nimport plus from \"./symbol/plus.js\";\nimport square from \"./symbol/square.js\";\nimport square2 from \"./symbol/square2.js\";\nimport star from \"./symbol/star.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport triangle2 from \"./symbol/triangle2.js\";\nimport wye from \"./symbol/wye.js\";\nimport times from \"./symbol/times.js\";\n\n// These symbols are designed to be filled.\nexport const symbolsFill = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\n// These symbols are designed to be stroked (with a width of 1.5px and round caps).\nexport const symbolsStroke = [\n circle,\n plus,\n times,\n triangle2,\n asterisk,\n square2,\n diamond2\n];\n\nexport default function Symbol(type, size) {\n let context = null,\n path = withPath(symbol);\n\n type = typeof type === \"function\" ? type : constant(type || circle);\n size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n function symbol() {\n let buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @fileOverview Rectangle\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/ReactUtils';\nvar getTrapezoidPath = function getTrapezoidPath(x, y, upperWidth, lowerWidth, height) {\n var widthGap = upperWidth - lowerWidth;\n var path;\n path = \"M \".concat(x, \",\").concat(y);\n path += \"L \".concat(x + upperWidth, \",\").concat(y);\n path += \"L \".concat(x + upperWidth - widthGap / 2, \",\").concat(y + height);\n path += \"L \".concat(x + upperWidth - widthGap / 2 - lowerWidth, \",\").concat(y + height);\n path += \"L \".concat(x, \",\").concat(y, \" Z\");\n return path;\n};\nvar defaultProps = {\n x: 0,\n y: 0,\n upperWidth: 0,\n lowerWidth: 0,\n height: 0,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\nexport var Trapezoid = function Trapezoid(props) {\n var trapezoidProps = _objectSpread(_objectSpread({}, defaultProps), props);\n var pathRef = useRef();\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n totalLength = _useState2[0],\n setTotalLength = _useState2[1];\n useEffect(function () {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (err) {\n // calculate total length error\n }\n }\n }, []);\n var x = trapezoidProps.x,\n y = trapezoidProps.y,\n upperWidth = trapezoidProps.upperWidth,\n lowerWidth = trapezoidProps.lowerWidth,\n height = trapezoidProps.height,\n className = trapezoidProps.className;\n var animationEasing = trapezoidProps.animationEasing,\n animationDuration = trapezoidProps.animationDuration,\n animationBegin = trapezoidProps.animationBegin,\n isUpdateAnimationActive = trapezoidProps.isUpdateAnimationActive;\n if (x !== +x || y !== +y || upperWidth !== +upperWidth || lowerWidth !== +lowerWidth || height !== +height || upperWidth === 0 && lowerWidth === 0 || height === 0) {\n return null;\n }\n var layerClass = classNames('recharts-trapezoid', className);\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(trapezoidProps, true), {\n className: layerClass,\n d: getTrapezoidPath(x, y, upperWidth, lowerWidth, height)\n })));\n }\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n upperWidth: 0,\n lowerWidth: 0,\n height: height,\n x: x,\n y: y\n },\n to: {\n upperWidth: upperWidth,\n lowerWidth: lowerWidth,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currUpperWidth = _ref.upperWidth,\n currLowerWidth = _ref.lowerWidth,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(trapezoidProps, true), {\n className: layerClass,\n d: getTrapezoidPath(currX, currY, currUpperWidth, currLowerWidth, currHeight),\n ref: pathRef\n })));\n });\n};","import _isEqual from \"lodash/isEqual\";\nimport _isBoolean from \"lodash/isBoolean\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isFunction from \"lodash/isFunction\";\nvar _excluded = [\"option\", \"shapeType\", \"propTransformer\", \"activeClassName\", \"isActive\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\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; }\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; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { isValidElement, cloneElement } from 'react';\nimport { Rectangle } from '../shape/Rectangle';\nimport { Trapezoid } from '../shape/Trapezoid';\nimport { Sector } from '../shape/Sector';\nimport { Layer } from '../container/Layer';\nimport { Symbols } from '../shape/Symbols';\n\n/**\n * This is an abstraction for rendering a user defined prop for a customized shape in several forms.\n *\n * is the root and will handle taking in:\n * - an object of svg properties\n * - a boolean\n * - a render prop(inline function that returns jsx)\n * - a react element\n *\n * is a subcomponent of and used to match a component\n * to the value of props.shapeType that is passed to the root.\n *\n */\n\nfunction defaultPropTransformer(option, props) {\n return _objectSpread(_objectSpread({}, props), option);\n}\nfunction isSymbolsProps(shapeType, _elementProps) {\n return shapeType === 'symbols';\n}\nfunction ShapeSelector(_ref) {\n var shapeType = _ref.shapeType,\n elementProps = _ref.elementProps;\n switch (shapeType) {\n case 'rectangle':\n return /*#__PURE__*/React.createElement(Rectangle, elementProps);\n case 'trapezoid':\n return /*#__PURE__*/React.createElement(Trapezoid, elementProps);\n case 'sector':\n return /*#__PURE__*/React.createElement(Sector, elementProps);\n case 'symbols':\n if (isSymbolsProps(shapeType, elementProps)) {\n return /*#__PURE__*/React.createElement(Symbols, elementProps);\n }\n break;\n default:\n return null;\n }\n}\nexport function Shape(_ref2) {\n var option = _ref2.option,\n shapeType = _ref2.shapeType,\n _ref2$propTransformer = _ref2.propTransformer,\n propTransformer = _ref2$propTransformer === void 0 ? defaultPropTransformer : _ref2$propTransformer,\n _ref2$activeClassName = _ref2.activeClassName,\n activeClassName = _ref2$activeClassName === void 0 ? 'recharts-active-shape' : _ref2$activeClassName,\n isActive = _ref2.isActive,\n props = _objectWithoutProperties(_ref2, _excluded);\n var shape;\n if ( /*#__PURE__*/isValidElement(option)) {\n shape = /*#__PURE__*/cloneElement(option, props);\n } else if (_isFunction(option)) {\n shape = option(props);\n } else if (_isPlainObject(option) && !_isBoolean(option)) {\n var shapeProps = props;\n var elementProps = propTransformer(option, shapeProps);\n shape = /*#__PURE__*/React.createElement(ShapeSelector, {\n shapeType: shapeType,\n elementProps: elementProps\n });\n } else {\n var _elementProps2 = props;\n shape = /*#__PURE__*/React.createElement(ShapeSelector, {\n shapeType: shapeType,\n elementProps: _elementProps2\n });\n }\n if (isActive) {\n return /*#__PURE__*/React.createElement(Layer, {\n className: activeClassName\n }, shape);\n }\n return shape;\n}\n\n/**\n * This is an abstraction to handle identifying the active index from a tooltip mouse interaction\n */\n\nexport function isFunnel(graphicalItem, _item) {\n return 'trapezoids' in graphicalItem.props;\n}\nexport function isPie(graphicalItem, _item) {\n return 'sectors' in graphicalItem.props;\n}\nexport function isScatter(graphicalItem, _item) {\n return 'points' in graphicalItem.props;\n}\nexport function compareFunnel(shapeData, activeTooltipItem) {\n var _activeTooltipItem$la, _activeTooltipItem$la2;\n var xMatches = shapeData.x === (activeTooltipItem === null || activeTooltipItem === void 0 || (_activeTooltipItem$la = activeTooltipItem.labelViewBox) === null || _activeTooltipItem$la === void 0 ? void 0 : _activeTooltipItem$la.x) || shapeData.x === activeTooltipItem.x;\n var yMatches = shapeData.y === (activeTooltipItem === null || activeTooltipItem === void 0 || (_activeTooltipItem$la2 = activeTooltipItem.labelViewBox) === null || _activeTooltipItem$la2 === void 0 ? void 0 : _activeTooltipItem$la2.y) || shapeData.y === activeTooltipItem.y;\n return xMatches && yMatches;\n}\nexport function comparePie(shapeData, activeTooltipItem) {\n var startAngleMatches = shapeData.endAngle === activeTooltipItem.endAngle;\n var endAngleMatches = shapeData.startAngle === activeTooltipItem.startAngle;\n return startAngleMatches && endAngleMatches;\n}\nexport function compareScatter(shapeData, activeTooltipItem) {\n var xMatches = shapeData.x === activeTooltipItem.x;\n var yMatches = shapeData.y === activeTooltipItem.y;\n var zMatches = shapeData.z === activeTooltipItem.z;\n return xMatches && yMatches && zMatches;\n}\nfunction getComparisonFn(graphicalItem, activeItem) {\n var comparison;\n if (isFunnel(graphicalItem, activeItem)) {\n comparison = compareFunnel;\n } else if (isPie(graphicalItem, activeItem)) {\n comparison = comparePie;\n } else if (isScatter(graphicalItem, activeItem)) {\n comparison = compareScatter;\n }\n return comparison;\n}\nfunction getShapeDataKey(graphicalItem, activeItem) {\n var shapeKey;\n if (isFunnel(graphicalItem, activeItem)) {\n shapeKey = 'trapezoids';\n } else if (isPie(graphicalItem, activeItem)) {\n shapeKey = 'sectors';\n } else if (isScatter(graphicalItem, activeItem)) {\n shapeKey = 'points';\n }\n return shapeKey;\n}\nfunction getActiveShapeTooltipPayload(graphicalItem, activeItem) {\n if (isFunnel(graphicalItem, activeItem)) {\n var _activeItem$tooltipPa;\n return (_activeItem$tooltipPa = activeItem.tooltipPayload) === null || _activeItem$tooltipPa === void 0 || (_activeItem$tooltipPa = _activeItem$tooltipPa[0]) === null || _activeItem$tooltipPa === void 0 || (_activeItem$tooltipPa = _activeItem$tooltipPa.payload) === null || _activeItem$tooltipPa === void 0 ? void 0 : _activeItem$tooltipPa.payload;\n }\n if (isPie(graphicalItem, activeItem)) {\n var _activeItem$tooltipPa2;\n return (_activeItem$tooltipPa2 = activeItem.tooltipPayload) === null || _activeItem$tooltipPa2 === void 0 || (_activeItem$tooltipPa2 = _activeItem$tooltipPa2[0]) === null || _activeItem$tooltipPa2 === void 0 || (_activeItem$tooltipPa2 = _activeItem$tooltipPa2.payload) === null || _activeItem$tooltipPa2 === void 0 ? void 0 : _activeItem$tooltipPa2.payload;\n }\n if (isScatter(graphicalItem, activeItem)) {\n return activeItem.payload;\n }\n return {};\n}\n/**\n *\n * @param {GetActiveShapeIndexForTooltip} arg an object of incoming attributes from Tooltip\n * @returns {number}\n *\n * To handle possible duplicates in the data set,\n * match both the data value of the active item to a data value on a graph item,\n * and match the mouse coordinates of the active item to the coordinates of in a particular components shape data.\n * This assumes equal lengths of shape objects to data items.\n */\nexport function getActiveShapeIndexForTooltip(_ref3) {\n var activeTooltipItem = _ref3.activeTooltipItem,\n graphicalItem = _ref3.graphicalItem,\n itemData = _ref3.itemData;\n var shapeKey = getShapeDataKey(graphicalItem, activeTooltipItem);\n var tooltipPayload = getActiveShapeTooltipPayload(graphicalItem, activeTooltipItem);\n var activeItemMatches = itemData.filter(function (datum, dataIndex) {\n var valuesMatch = _isEqual(tooltipPayload, datum);\n var mouseCoordinateMatches = graphicalItem.props[shapeKey].filter(function (shapeData) {\n var comparison = getComparisonFn(graphicalItem, activeTooltipItem);\n return comparison(shapeData, activeTooltipItem);\n });\n\n // get the last index in case of multiple matches\n var indexOfMouseCoordinates = graphicalItem.props[shapeKey].indexOf(mouseCoordinateMatches[mouseCoordinateMatches.length - 1]);\n var coordinatesMatch = dataIndex === indexOfMouseCoordinates;\n return valuesMatch && coordinatesMatch;\n });\n\n // get the last index in case of multiple matches\n var activeIndex = itemData.indexOf(activeItemMatches[activeItemMatches.length - 1]);\n return activeIndex;\n}","import _every from \"lodash/every\";\nimport _mapValues from \"lodash/mapValues\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { getTicksOfScale, parseScale, checkDomainOfScale, getBandSizeOfAxis } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nimport { getPercentValue } from './DataUtils';\nimport { Bar } from '../cartesian/Bar';\n\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {String} axisType The type of axes, x-axis or y-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height,\n layout = props.layout,\n children = props.children;\n var ids = Object.keys(axisMap);\n var steps = {\n left: offset.left,\n leftMirror: offset.left,\n right: width - offset.right,\n rightMirror: width - offset.right,\n top: offset.top,\n topMirror: offset.top,\n bottom: height - offset.bottom,\n bottomMirror: height - offset.bottom\n };\n var hasBar = !!findChildByType(children, Bar);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var orientation = axis.orientation,\n domain = axis.domain,\n _axis$padding = axis.padding,\n padding = _axis$padding === void 0 ? {} : _axis$padding,\n mirror = axis.mirror,\n reversed = axis.reversed;\n var offsetKey = \"\".concat(orientation).concat(mirror ? 'Mirror' : '');\n var calculatedPadding, range, x, y, needSpace;\n if (axis.type === 'number' && (axis.padding === 'gap' || axis.padding === 'no-gap')) {\n var diff = domain[1] - domain[0];\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = axis.categoricalDomain.sort();\n sortedValues.forEach(function (value, index) {\n if (index > 0) {\n smallestDistanceBetweenValues = Math.min((value || 0) - (sortedValues[index - 1] || 0), smallestDistanceBetweenValues);\n }\n });\n var smallestDistanceInPercent = smallestDistanceBetweenValues / diff;\n var rangeWidth = axis.layout === 'vertical' ? offset.height : offset.width;\n if (axis.padding === 'gap') {\n calculatedPadding = smallestDistanceInPercent * rangeWidth / 2;\n }\n if (axis.padding === 'no-gap') {\n var gap = getPercentValue(props.barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n calculatedPadding = halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n }\n if (axisType === 'xAxis') {\n range = [offset.left + (padding.left || 0) + (calculatedPadding || 0), offset.left + offset.width - (padding.right || 0) - (calculatedPadding || 0)];\n } else if (axisType === 'yAxis') {\n range = layout === 'horizontal' ? [offset.top + offset.height - (padding.bottom || 0), offset.top + (padding.top || 0)] : [offset.top + (padding.top || 0) + (calculatedPadding || 0), offset.top + offset.height - (padding.bottom || 0) - (calculatedPadding || 0)];\n } else {\n range = axis.range;\n }\n if (reversed) {\n range = [range[1], range[0]];\n }\n var _parseScale = parseScale(axis, chartName, hasBar),\n scale = _parseScale.scale,\n realScaleType = _parseScale.realScaleType;\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n if (axisType === 'xAxis') {\n needSpace = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n x = offset.left;\n y = steps[offsetKey] - needSpace * axis.height;\n } else if (axisType === 'yAxis') {\n needSpace = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n x = steps[offsetKey] - needSpace * axis.width;\n y = offset.top;\n }\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n realScaleType: realScaleType,\n x: x,\n y: y,\n scale: scale,\n width: axisType === 'xAxis' ? offset.width : axis.width,\n height: axisType === 'yAxis' ? offset.height : axis.height\n });\n finalAxis.bandSize = getBandSizeOfAxis(finalAxis, ticks);\n if (!axis.hide && axisType === 'xAxis') {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.height;\n } else if (!axis.hide) {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.width;\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var rectWithPoints = function rectWithPoints(_ref, _ref2) {\n var x1 = _ref.x,\n y1 = _ref.y;\n var x2 = _ref2.x,\n y2 = _ref2.y;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n};\n\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param {Object} coords x1, x2, y1, and y2\n * @return {Object} object\n */\nexport var rectWithCoords = function rectWithCoords(_ref3) {\n var x1 = _ref3.x1,\n y1 = _ref3.y1,\n x2 = _ref3.x2,\n y2 = _ref3.y2;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n};\nexport var ScaleHelper = /*#__PURE__*/function () {\n function ScaleHelper(scale) {\n _classCallCheck(this, ScaleHelper);\n this.scale = scale;\n }\n _createClass(ScaleHelper, [{\n key: \"domain\",\n get: function get() {\n return this.scale.domain;\n }\n }, {\n key: \"range\",\n get: function get() {\n return this.scale.range;\n }\n }, {\n key: \"rangeMin\",\n get: function get() {\n return this.range()[0];\n }\n }, {\n key: \"rangeMax\",\n get: function get() {\n return this.range()[1];\n }\n }, {\n key: \"bandwidth\",\n get: function get() {\n return this.scale.bandwidth;\n }\n }, {\n key: \"apply\",\n value: function apply(value) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref4.bandAware,\n position = _ref4.position;\n if (value === undefined) {\n return undefined;\n }\n if (position) {\n switch (position) {\n case 'start':\n {\n return this.scale(value);\n }\n case 'middle':\n {\n var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + offset;\n }\n case 'end':\n {\n var _offset = this.bandwidth ? this.bandwidth() : 0;\n return this.scale(value) + _offset;\n }\n default:\n {\n return this.scale(value);\n }\n }\n }\n if (bandAware) {\n var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + _offset2;\n }\n return this.scale(value);\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(value) {\n var range = this.range();\n var first = range[0];\n var last = range[range.length - 1];\n return first <= last ? value >= first && value <= last : value >= last && value <= first;\n }\n }], [{\n key: \"create\",\n value: function create(obj) {\n return new ScaleHelper(obj);\n }\n }]);\n return ScaleHelper;\n}();\n_defineProperty(ScaleHelper, \"EPS\", 1e-4);\nexport var createLabeledScales = function createLabeledScales(options) {\n var scales = Object.keys(options).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, ScaleHelper.create(options[key])));\n }, {});\n return _objectSpread(_objectSpread({}, scales), {}, {\n apply: function apply(coord) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref5.bandAware,\n position = _ref5.position;\n return _mapValues(coord, function (value, label) {\n return scales[label].apply(value, {\n bandAware: bandAware,\n position: position\n });\n });\n },\n isInRange: function isInRange(coord) {\n return _every(coord, function (value, label) {\n return scales[label].isInRange(value);\n });\n }\n });\n};\n\n/** Normalizes the angle so that 0 <= angle < 180.\n * @param {number} angle Angle in degrees.\n * @return {number} the normalized angle with a value of at least 0 and never greater or equal to 180. */\nexport function normalizeAngle(angle) {\n return (angle % 180 + 180) % 180;\n}\n\n/** Calculates the width of the largest horizontal line that fits inside a rectangle that is displayed at an angle.\n * @param {Object} size Width and height of the text in a horizontal position.\n * @param {number} angle Angle in degrees in which the text is displayed.\n * @return {number} The width of the largest horizontal line that fits inside a rectangle that is displayed at an angle.\n */\nexport var getAngledRectangleWidth = function getAngledRectangleWidth(_ref6) {\n var width = _ref6.width,\n height = _ref6.height;\n var angle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Ensure angle is >= 0 && < 180\n var normalizedAngle = normalizeAngle(angle);\n var angleRadians = normalizedAngle * Math.PI / 180;\n\n /* Depending on the height and width of the rectangle, we may need to use different formulas to calculate the angled\n * width. This threshold defines when each formula should kick in. */\n var angleThreshold = Math.atan(height / width);\n var angledWidth = angleRadians > angleThreshold && angleRadians < Math.PI - angleThreshold ? height / Math.sin(angleRadians) : width / Math.cos(angleRadians);\n return Math.abs(angledWidth);\n};","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, number) : [0, 1];\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format, formatSpecifier} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : x => Math.pow(base, x);\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), x => Math.log(x) / base);\n}\n\nfunction reflect(f) {\n return (x, k) => -f(-x, k);\n}\n\nexport function loggish(transform) {\n const scale = transform(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = count => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r = v < u;\n\n if (r) ([u, v] = [v, u]);\n\n let i = logs(u);\n let j = logs(v);\n let k;\n let t;\n const n = count == null ? 10 : +count;\n let z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1; k < base; ++k) {\n t = i < 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1; k >= 1; --k) {\n t = i > 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = (count, specifier) => {\n if (count == null) count = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count === Infinity) return specifier;\n const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return d => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: x => pows(Math.floor(logs(x))),\n ceil: x => pows(Math.ceil(logs(x)))\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","import continuous from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nexport default function radial() {\n var squared = continuous(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function(y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (squared.range((range = Array.from(_, number)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return radial(squared.domain(), range)\n .round(round)\n .clamp(squared.clamp())\n .unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n","import {ascendingDefined, compareDefined} from \"./sort.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = Infinity, compare) {\n k = Math.floor(k);\n left = Math.floor(Math.max(0, left));\n right = Math.floor(Math.min(array.length - 1, right));\n\n if (!(left <= k && k <= right)) return array;\n\n compare = compare === undefined ? ascendingDefined : compareDefined(compare);\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","import max from \"./max.js\";\nimport maxIndex from \"./maxIndex.js\";\nimport min from \"./min.js\";\nimport minIndex from \"./minIndex.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\nimport {ascendingDefined} from \"./sort.js\";\nimport greatest from \"./greatest.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileIndex(values, p, valueof = number) {\n if (isNaN(p = +p)) return;\n numbers = Float64Array.from(values, (_, i) => number(valueof(values[i], i, values)));\n if (p <= 0) return minIndex(numbers);\n if (p >= 1) return maxIndex(numbers);\n var numbers,\n index = Uint32Array.from(values, (_, i) => i),\n j = numbers.length - 1,\n i = Math.floor(j * p);\n quickselect(index, i, 0, j, (i, j) => ascendingDefined(numbers[i], numbers[j]));\n i = greatest(index.subarray(0, i + 1), (i) => numbers[i]);\n return i >= 0 ? i : -1;\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","import {interpolate, interpolateRound} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .interpolator(source.interpolator())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}\n","import {ascending, bisect, quantile} from \"d3-array\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\n\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function(n) {\n return Array.from({length: n + 1}, (_, i) => quantile(domain, i / n));\n };\n\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n","import {interpolate, interpolateRound, piecewise} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {copy} from \"./sequential.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function() {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}\n","import {default as value} from \"./value.js\";\n\nexport default function piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = value;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i, n = sz.length, j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = array(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar identity = function identity(i) {\n return i;\n};\n\nexport var PLACE_HOLDER = {\n '@@functional/placeholder': true\n};\n\nvar isPlaceHolder = function isPlaceHolder(val) {\n return val === PLACE_HOLDER;\n};\n\nvar curry0 = function curry0(fn) {\n return function _curried() {\n if (arguments.length === 0 || arguments.length === 1 && isPlaceHolder(arguments.length <= 0 ? undefined : arguments[0])) {\n return _curried;\n }\n\n return fn.apply(void 0, arguments);\n };\n};\n\nvar curryN = function curryN(n, fn) {\n if (n === 1) {\n return fn;\n }\n\n return curry0(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsLength = args.filter(function (arg) {\n return arg !== PLACE_HOLDER;\n }).length;\n\n if (argsLength >= n) {\n return fn.apply(void 0, args);\n }\n\n return curryN(n - argsLength, curry0(function () {\n for (var _len2 = arguments.length, restArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n restArgs[_key2] = arguments[_key2];\n }\n\n var newArgs = args.map(function (arg) {\n return isPlaceHolder(arg) ? restArgs.shift() : arg;\n });\n return fn.apply(void 0, _toConsumableArray(newArgs).concat(restArgs));\n }));\n });\n};\n\nexport var curry = function curry(fn) {\n return curryN(fn.length, fn);\n};\nexport var range = function range(begin, end) {\n var arr = [];\n\n for (var i = begin; i < end; ++i) {\n arr[i - begin] = i;\n }\n\n return arr;\n};\nexport var map = curry(function (fn, arr) {\n if (Array.isArray(arr)) {\n return arr.map(fn);\n }\n\n return Object.keys(arr).map(function (key) {\n return arr[key];\n }).map(fn);\n});\nexport var compose = function compose() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var reverse = function reverse(arr) {\n if (Array.isArray(arr)) {\n return arr.reverse();\n } // can be string\n\n\n return arr.split('').reverse.join('');\n};\nexport var memoize = function memoize(fn) {\n var lastArgs = null;\n var lastResult = null;\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n if (lastArgs && args.every(function (val, i) {\n return val === lastArgs[i];\n })) {\n return lastResult;\n }\n\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n return lastResult;\n };\n};","/**\n * @fileOverview 一些公用的运算方法\n * @author xile611\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { curry } from './utils';\n/**\n * 获取数值的位数\n * 其中绝对值属于区间[0.1, 1), 得到的值为0\n * 绝对值属于区间[0.01, 0.1),得到的位数为 -1\n * 绝对值属于区间[0.001, 0.01),得到的位数为 -2\n *\n * @param {Number} value 数值\n * @return {Integer} 位数\n */\n\nfunction getDigitCount(value) {\n var result;\n\n if (value === 0) {\n result = 1;\n } else {\n result = Math.floor(new Decimal(value).abs().log(10).toNumber()) + 1;\n }\n\n return result;\n}\n/**\n * 按照固定的步长获取[start, end)这个区间的数据\n * 并且需要处理js计算精度的问题\n *\n * @param {Decimal} start 起点\n * @param {Decimal} end 终点,不包含该值\n * @param {Decimal} step 步长\n * @return {Array} 若干数值\n */\n\n\nfunction rangeStep(start, end, step) {\n var num = new Decimal(start);\n var i = 0;\n var result = []; // magic number to prevent infinite loop\n\n while (num.lt(end) && i < 100000) {\n result.push(num.toNumber());\n num = num.add(step);\n i++;\n }\n\n return result;\n}\n/**\n * 对数值进行线性插值\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} t [0, 1]内的某个值\n * @return {Number} 定义域内的某个值\n */\n\n\nvar interpolateNumber = curry(function (a, b, t) {\n var newA = +a;\n var newB = +b;\n return newA + t * (newB - newA);\n});\n/**\n * 线性插值的逆运算\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个范围内时,返回值属于[0, 1]\n */\n\nvar uninterpolateNumber = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return (x - a) / diff;\n});\n/**\n * 线性插值的逆运算,并且有截断的操作\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个区间内时,返回值属于[0, 1],\n * 当x不在 a ~ b这个区间时,会截断到 a ~ b 这个区间\n */\n\nvar uninterpolateTruncation = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return Math.max(0, Math.min(1, (x - a) / diff));\n});\nexport default {\n rangeStep: rangeStep,\n getDigitCount: getDigitCount,\n interpolateNumber: interpolateNumber,\n uninterpolateNumber: uninterpolateNumber,\n uninterpolateTruncation: uninterpolateTruncation\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview calculate tick values of scale\n * @author xile611, arcthur\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { compose, range, memoize, map, reverse } from './util/utils';\nimport Arithmetic from './util/arithmetic';\n/**\n * Calculate a interval of a minimum value and a maximum value\n *\n * @param {Number} min The minimum value\n * @param {Number} max The maximum value\n * @return {Array} An interval\n */\n\nfunction getValidInterval(_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n min = _ref2[0],\n max = _ref2[1];\n\n var validMin = min,\n validMax = max; // exchange\n\n if (min > max) {\n validMin = max;\n validMax = min;\n }\n\n return [validMin, validMax];\n}\n/**\n * Calculate the step which is easy to understand between ticks, like 10, 20, 25\n *\n * @param {Decimal} roughStep The rough step calculated by deviding the\n * difference by the tickCount\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Integer} correctionFactor A correction factor\n * @return {Decimal} The step which is easy to understand between two ticks\n */\n\n\nfunction getFormatStep(roughStep, allowDecimals, correctionFactor) {\n if (roughStep.lte(0)) {\n return new Decimal(0);\n }\n\n var digitCount = Arithmetic.getDigitCount(roughStep.toNumber()); // The ratio between the rough step and the smallest number which has a bigger\n // order of magnitudes than the rough step\n\n var digitCountValue = new Decimal(10).pow(digitCount);\n var stepRatio = roughStep.div(digitCountValue); // When an integer and a float multiplied, the accuracy of result may be wrong\n\n var stepRatioScale = digitCount !== 1 ? 0.05 : 0.1;\n var amendStepRatio = new Decimal(Math.ceil(stepRatio.div(stepRatioScale).toNumber())).add(correctionFactor).mul(stepRatioScale);\n var formatStep = amendStepRatio.mul(digitCountValue);\n return allowDecimals ? formatStep : new Decimal(Math.ceil(formatStep));\n}\n/**\n * calculate the ticks when the minimum value equals to the maximum value\n *\n * @param {Number} value The minimum valuue which is also the maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickOfSingleValue(value, tickCount, allowDecimals) {\n var step = 1; // calculate the middle value of ticks\n\n var middle = new Decimal(value);\n\n if (!middle.isint() && allowDecimals) {\n var absVal = Math.abs(value);\n\n if (absVal < 1) {\n // The step should be a float number when the difference is smaller than 1\n step = new Decimal(10).pow(Arithmetic.getDigitCount(value) - 1);\n middle = new Decimal(Math.floor(middle.div(step).toNumber())).mul(step);\n } else if (absVal > 1) {\n // Return the maximum integer which is smaller than 'value' when 'value' is greater than 1\n middle = new Decimal(Math.floor(value));\n }\n } else if (value === 0) {\n middle = new Decimal(Math.floor((tickCount - 1) / 2));\n } else if (!allowDecimals) {\n middle = new Decimal(Math.floor(value));\n }\n\n var middleIndex = Math.floor((tickCount - 1) / 2);\n var fn = compose(map(function (n) {\n return middle.add(new Decimal(n - middleIndex).mul(step)).toNumber();\n }), range);\n return fn(0, tickCount);\n}\n/**\n * Calculate the step\n *\n * @param {Number} min The minimum value of an interval\n * @param {Number} max The maximum value of an interval\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Number} correctionFactor A correction factor\n * @return {Object} The step, minimum value of ticks, maximum value of ticks\n */\n\n\nfunction calculateStep(min, max, tickCount, allowDecimals) {\n var correctionFactor = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n\n // dirty hack (for recharts' test)\n if (!Number.isFinite((max - min) / (tickCount - 1))) {\n return {\n step: new Decimal(0),\n tickMin: new Decimal(0),\n tickMax: new Decimal(0)\n };\n } // The step which is easy to understand between two ticks\n\n\n var step = getFormatStep(new Decimal(max).sub(min).div(tickCount - 1), allowDecimals, correctionFactor); // A medial value of ticks\n\n var middle; // When 0 is inside the interval, 0 should be a tick\n\n if (min <= 0 && max >= 0) {\n middle = new Decimal(0);\n } else {\n // calculate the middle value\n middle = new Decimal(min).add(max).div(2); // minus modulo value\n\n middle = middle.sub(new Decimal(middle).mod(step));\n }\n\n var belowCount = Math.ceil(middle.sub(min).div(step).toNumber());\n var upCount = Math.ceil(new Decimal(max).sub(middle).div(step).toNumber());\n var scaleCount = belowCount + upCount + 1;\n\n if (scaleCount > tickCount) {\n // When more ticks need to cover the interval, step should be bigger.\n return calculateStep(min, max, tickCount, allowDecimals, correctionFactor + 1);\n }\n\n if (scaleCount < tickCount) {\n // When less ticks can cover the interval, we should add some additional ticks\n upCount = max > 0 ? upCount + (tickCount - scaleCount) : upCount;\n belowCount = max > 0 ? belowCount : belowCount + (tickCount - scaleCount);\n }\n\n return {\n step: step,\n tickMin: middle.sub(new Decimal(belowCount).mul(step)),\n tickMax: middle.add(new Decimal(upCount).mul(step))\n };\n}\n/**\n * Calculate the ticks of an interval, the count of ticks will be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getNiceTickValuesFn(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n min = _ref4[0],\n max = _ref4[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval = getValidInterval([min, max]),\n _getValidInterval2 = _slicedToArray(_getValidInterval, 2),\n cormin = _getValidInterval2[0],\n cormax = _getValidInterval2[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n var _values = cormax === Infinity ? [cormin].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return Infinity;\n }))) : [].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return -Infinity;\n })), [cormax]);\n\n return min > max ? reverse(_values) : _values;\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n } // Get the step between two ticks\n\n\n var _calculateStep = calculateStep(cormin, cormax, count, allowDecimals),\n step = _calculateStep.step,\n tickMin = _calculateStep.tickMin,\n tickMax = _calculateStep.tickMax;\n\n var values = Arithmetic.rangeStep(tickMin, tickMax.add(new Decimal(0.1).mul(step)), step);\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFn(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n min = _ref6[0],\n max = _ref6[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval3 = getValidInterval([min, max]),\n _getValidInterval4 = _slicedToArray(_getValidInterval3, 2),\n cormin = _getValidInterval4[0],\n cormax = _getValidInterval4[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n }\n\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var fn = compose(map(function (n) {\n return new Decimal(cormin).add(new Decimal(n).mul(step)).toNumber();\n }), range);\n var values = fn(0, count).filter(function (entry) {\n return entry >= cormin && entry <= cormax;\n });\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed,\n * but the domain will be guaranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFixedDomainFn(_ref7, tickCount) {\n var _ref8 = _slicedToArray(_ref7, 2),\n min = _ref8[0],\n max = _ref8[1];\n\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n // More than two ticks should be return\n var _getValidInterval5 = getValidInterval([min, max]),\n _getValidInterval6 = _slicedToArray(_getValidInterval5, 2),\n cormin = _getValidInterval6[0],\n cormax = _getValidInterval6[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return [cormin];\n }\n\n var count = Math.max(tickCount, 2);\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var values = [].concat(_toConsumableArray(Arithmetic.rangeStep(new Decimal(cormin), new Decimal(cormax).sub(new Decimal(0.99).mul(step)), step)), [cormax]);\n return min > max ? reverse(values) : values;\n}\n\nexport var getNiceTickValues = memoize(getNiceTickValuesFn);\nexport var getTickValues = memoize(getTickValuesFn);\nexport var getTickValuesFixedDomain = memoize(getTickValuesFixedDomainFn);","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport _isEqual from \"lodash/isEqual\";\nimport _sortBy from \"lodash/sortBy\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isString from \"lodash/isString\";\nimport _isNaN from \"lodash/isNaN\";\nimport _isArray from \"lodash/isArray\";\nimport _max from \"lodash/max\";\nimport _min from \"lodash/min\";\nimport _flatMap from \"lodash/flatMap\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport * as d3Scales from 'victory-vendor/d3-scale';\nimport { stack as shapeStack, stackOffsetExpand, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle, stackOrderNone } from 'victory-vendor/d3-shape';\nimport { getNiceTickValues, getTickValuesFixedDomain } from 'recharts-scale';\nimport { ErrorBar } from '../cartesian/ErrorBar';\nimport { findEntryInArray, getPercentValue, isNumber, isNumOrStr, mathSign, uniqueId } from './DataUtils';\nimport { filterProps, findAllByType, getDisplayName } from './ReactUtils';\n// TODO: Cause of circular dependency. Needs refactor.\n// import { RadiusAxisProps, AngleAxisProps } from '../polar/types';\nimport { getLegendProps } from './getLegendProps';\n\n// Exported for backwards compatibility\nexport { getLegendProps };\nexport function getValueByDataKey(obj, dataKey, defaultValue) {\n if (_isNil(obj) || _isNil(dataKey)) {\n return defaultValue;\n }\n if (isNumOrStr(dataKey)) {\n return _get(obj, dataKey, defaultValue);\n }\n if (_isFunction(dataKey)) {\n return dataKey(obj);\n }\n return defaultValue;\n}\n/**\n * Get domain of data by key.\n * @param {Array} data The data displayed in the chart\n * @param {String} key The unique key of a group of data\n * @param {String} type The type of axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain of data\n */\nexport function getDomainOfDataByKey(data, key, type, filterNil) {\n var flattenData = _flatMap(data, function (entry) {\n return getValueByDataKey(entry, key);\n });\n if (type === 'number') {\n // @ts-expect-error parseFloat type only accepts strings\n var domain = flattenData.filter(function (entry) {\n return isNumber(entry) || parseFloat(entry);\n });\n return domain.length ? [_min(domain), _max(domain)] : [Infinity, -Infinity];\n }\n var validateData = filterNil ? flattenData.filter(function (entry) {\n return !_isNil(entry);\n }) : flattenData;\n\n // Supports x-axis of Date type\n return validateData.map(function (entry) {\n return isNumOrStr(entry) || entry instanceof Date ? entry : '';\n });\n}\nexport var calculateActiveTickIndex = function calculateActiveTickIndex(coordinate) {\n var _ticks$length;\n var ticks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var unsortedTicks = arguments.length > 2 ? arguments[2] : undefined;\n var axis = arguments.length > 3 ? arguments[3] : undefined;\n var index = -1;\n var len = (_ticks$length = ticks === null || ticks === void 0 ? void 0 : ticks.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n\n // if there are 1 or less ticks ticks then the active tick is at index 0\n if (len <= 1) {\n return 0;\n }\n if (axis && axis.axisType === 'angleAxis' && Math.abs(Math.abs(axis.range[1] - axis.range[0]) - 360) <= 1e-6) {\n var range = axis.range;\n // ticks are distributed in a circle\n for (var i = 0; i < len; i++) {\n var before = i > 0 ? unsortedTicks[i - 1].coordinate : unsortedTicks[len - 1].coordinate;\n var cur = unsortedTicks[i].coordinate;\n var after = i >= len - 1 ? unsortedTicks[0].coordinate : unsortedTicks[i + 1].coordinate;\n var sameDirectionCoord = void 0;\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n if (mathSign(after - cur) === mathSign(range[1] - range[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range[1] - range[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range[1] - range[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n index = unsortedTicks[i].index;\n break;\n }\n } else {\n var min = Math.min(before, after);\n var max = Math.max(before, after);\n if (coordinate > (min + cur) / 2 && coordinate <= (max + cur) / 2) {\n index = unsortedTicks[i].index;\n break;\n }\n }\n }\n } else {\n // ticks are distributed in a single direction\n for (var _i = 0; _i < len; _i++) {\n if (_i === 0 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i > 0 && _i < len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i === len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2) {\n index = ticks[_i].index;\n break;\n }\n }\n }\n return index;\n};\n\n/**\n * Get the main color of each graphic item\n * @param {ReactElement} item A graphic item\n * @return {String} Color\n */\nexport var getMainColorOfGraphicItem = function getMainColorOfGraphicItem(item) {\n var _ref = item,\n displayName = _ref.type.displayName; // TODO: check if displayName is valid.\n var _item$props = item.props,\n stroke = _item$props.stroke,\n fill = _item$props.fill;\n var result;\n switch (displayName) {\n case 'Line':\n result = stroke;\n break;\n case 'Area':\n case 'Radar':\n result = stroke && stroke !== 'none' ? stroke : fill;\n break;\n default:\n result = fill;\n break;\n }\n return result;\n};\n/**\n * Calculate the size of all groups for stacked bar graph\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @return {Object} The size of all groups\n */\nexport var getBarSizeList = function getBarSizeList(_ref2) {\n var globalSize = _ref2.barSize,\n _ref2$stackGroups = _ref2.stackGroups,\n stackGroups = _ref2$stackGroups === void 0 ? {} : _ref2$stackGroups;\n if (!stackGroups) {\n return {};\n }\n var result = {};\n var numericAxisIds = Object.keys(stackGroups);\n for (var i = 0, len = numericAxisIds.length; i < len; i++) {\n var sgs = stackGroups[numericAxisIds[i]].stackGroups;\n var stackIds = Object.keys(sgs);\n for (var j = 0, sLen = stackIds.length; j < sLen; j++) {\n var _sgs$stackIds$j = sgs[stackIds[j]],\n items = _sgs$stackIds$j.items,\n cateAxisId = _sgs$stackIds$j.cateAxisId;\n var barItems = items.filter(function (item) {\n return getDisplayName(item.type).indexOf('Bar') >= 0;\n });\n if (barItems && barItems.length) {\n var selfSize = barItems[0].props.barSize;\n var cateId = barItems[0].props[cateAxisId];\n if (!result[cateId]) {\n result[cateId] = [];\n }\n result[cateId].push({\n item: barItems[0],\n stackList: barItems.slice(1),\n barSize: _isNil(selfSize) ? globalSize : selfSize\n });\n }\n }\n }\n return result;\n};\n/**\n * Calculate the size of each bar and offset between start of band and the bar\n *\n * @param {number} bandSize is the size of area where bars can render\n * @param {number | string} barGap is the gap size, as a percentage of `bandSize`.\n * Can be defined as number or percent string\n * @param {number | string} barCategoryGap is the gap size, as a percentage of `bandSize`.\n * Can be defined as number or percent string\n * @param {Array} sizeList Sizes of all groups\n * @param {number} maxBarSize The maximum size of each bar\n * @return {Array} The size and offset of each bar\n */\nexport var getBarPosition = function getBarPosition(_ref3) {\n var barGap = _ref3.barGap,\n barCategoryGap = _ref3.barCategoryGap,\n bandSize = _ref3.bandSize,\n _ref3$sizeList = _ref3.sizeList,\n sizeList = _ref3$sizeList === void 0 ? [] : _ref3$sizeList,\n maxBarSize = _ref3.maxBarSize;\n var len = sizeList.length;\n if (len < 1) return null;\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result;\n var initialValue = [];\n\n // whether or not is barSize setted by user\n if (sizeList[0].barSize === +sizeList[0].barSize) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n // @ts-expect-error the type check above does not check for type number explicitly\n var sum = sizeList.reduce(function (res, entry) {\n return res + entry.barSize || 0;\n }, 0);\n sum += (len - 1) * realBarGap;\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n var offset = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset - realBarGap,\n size: 0\n };\n result = sizeList.reduce(function (res, entry) {\n var newPosition = {\n item: entry.item,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n // @ts-expect-error the type check above does not check for type number explicitly\n size: useFull ? fullBarSize : entry.barSize\n }\n };\n var newRes = [].concat(_toConsumableArray(res), [newPosition]);\n prev = newRes[newRes.length - 1].position;\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: prev\n });\n });\n }\n return newRes;\n }, initialValue);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n var size = maxBarSize === +maxBarSize ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce(function (res, entry, i) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n size: size\n }\n }]);\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: newRes[newRes.length - 1].position\n });\n });\n }\n return newRes;\n }, initialValue);\n }\n return result;\n};\nexport var appendOffsetOfLegend = function appendOffsetOfLegend(offset, _unused, props, legendBox) {\n var children = props.children,\n width = props.width,\n margin = props.margin;\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var legendProps = getLegendProps({\n children: children,\n legendWidth: legendWidth\n });\n if (legendProps) {\n var _ref4 = legendBox || {},\n boxWidth = _ref4.width,\n boxHeight = _ref4.height;\n var align = legendProps.align,\n verticalAlign = legendProps.verticalAlign,\n layout = legendProps.layout;\n if ((layout === 'vertical' || layout === 'horizontal' && verticalAlign === 'middle') && align !== 'center' && isNumber(offset[align])) {\n return _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, align, offset[align] + (boxWidth || 0)));\n }\n if ((layout === 'horizontal' || layout === 'vertical' && align === 'center') && verticalAlign !== 'middle' && isNumber(offset[verticalAlign])) {\n return _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, verticalAlign, offset[verticalAlign] + (boxHeight || 0)));\n }\n }\n return offset;\n};\nvar isErrorBarRelevantForAxis = function isErrorBarRelevantForAxis(layout, axisType, direction) {\n if (_isNil(axisType)) {\n return true;\n }\n if (layout === 'horizontal') {\n return axisType === 'yAxis';\n }\n if (layout === 'vertical') {\n return axisType === 'xAxis';\n }\n if (direction === 'x') {\n return axisType === 'xAxis';\n }\n if (direction === 'y') {\n return axisType === 'yAxis';\n }\n return true;\n};\nexport var getDomainOfErrorBars = function getDomainOfErrorBars(data, item, dataKey, layout, axisType) {\n var children = item.props.children;\n var errorBars = findAllByType(children, ErrorBar).filter(function (errorBarChild) {\n return isErrorBarRelevantForAxis(layout, axisType, errorBarChild.props.direction);\n });\n if (errorBars && errorBars.length) {\n var keys = errorBars.map(function (errorBarChild) {\n return errorBarChild.props.dataKey;\n });\n return data.reduce(function (result, entry) {\n var entryValue = getValueByDataKey(entry, dataKey, 0);\n var mainValue = _isArray(entryValue) ? [_min(entryValue), _max(entryValue)] : [entryValue, entryValue];\n var errorDomain = keys.reduce(function (prevErrorArr, k) {\n var errorValue = getValueByDataKey(entry, k, 0);\n var lowerValue = mainValue[0] - Math.abs(_isArray(errorValue) ? errorValue[0] : errorValue);\n var upperValue = mainValue[1] + Math.abs(_isArray(errorValue) ? errorValue[1] : errorValue);\n return [Math.min(lowerValue, prevErrorArr[0]), Math.max(upperValue, prevErrorArr[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(errorDomain[0], result[0]), Math.max(errorDomain[1], result[1])];\n }, [Infinity, -Infinity]);\n }\n return null;\n};\nexport var parseErrorBarsOfAxis = function parseErrorBarsOfAxis(data, items, dataKey, axisType, layout) {\n var domains = items.map(function (item) {\n return getDomainOfErrorBars(data, item, dataKey, layout, axisType);\n }).filter(function (entry) {\n return !_isNil(entry);\n });\n if (domains && domains.length) {\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n return null;\n};\n\n/**\n * Get domain of data by the configuration of item element\n * @param {Array} data The data displayed in the chart\n * @param {Array} items The instances of item\n * @param {String} type The type of axis, number - Number Axis, category - Category Axis\n * @param {LayoutType} layout The type of layout\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain\n */\nexport var getDomainOfItemsWithSameAxis = function getDomainOfItemsWithSameAxis(data, items, type, layout, filterNil) {\n var domains = items.map(function (item) {\n var dataKey = item.props.dataKey;\n if (type === 'number' && dataKey) {\n return getDomainOfErrorBars(data, item, dataKey, layout) || getDomainOfDataByKey(data, dataKey, type, filterNil);\n }\n return getDomainOfDataByKey(data, dataKey, type, filterNil);\n });\n if (type === 'number') {\n // Calculate the domain of number axis\n return domains.reduce(\n // @ts-expect-error if (type === number) means that the domain is numerical type\n // - but this link is missing in the type definition\n function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n var tag = {};\n // Get the union set of category axis\n return domains.reduce(function (result, entry) {\n for (var i = 0, len = entry.length; i < len; i++) {\n // @ts-expect-error Date cannot index an object\n if (!tag[entry[i]]) {\n // @ts-expect-error Date cannot index an object\n tag[entry[i]] = true;\n\n // @ts-expect-error Date cannot index an object\n result.push(entry[i]);\n }\n }\n return result;\n }, []);\n};\nexport var isCategoricalAxis = function isCategoricalAxis(layout, axisType) {\n return layout === 'horizontal' && axisType === 'xAxis' || layout === 'vertical' && axisType === 'yAxis' || layout === 'centric' && axisType === 'angleAxis' || layout === 'radial' && axisType === 'radiusAxis';\n};\n\n/**\n * Calculate the Coordinates of grid\n * @param {Array} ticks The ticks in axis\n * @param {Number} min The minimun value of axis\n * @param {Number} max The maximun value of axis\n * @param {boolean} syncWithTicks Synchronize grid lines with ticks or not\n * @return {Array} Coordinates\n */\nexport var getCoordinatesOfGrid = function getCoordinatesOfGrid(ticks, min, max, syncWithTicks) {\n if (syncWithTicks) {\n return ticks.map(function (entry) {\n return entry.coordinate;\n });\n }\n var hasMin, hasMax;\n var values = ticks.map(function (entry) {\n if (entry.coordinate === min) {\n hasMin = true;\n }\n if (entry.coordinate === max) {\n hasMax = true;\n }\n return entry.coordinate;\n });\n if (!hasMin) {\n values.push(min);\n }\n if (!hasMax) {\n values.push(max);\n }\n return values;\n};\n\n/**\n * Get the ticks of an axis\n * @param {Object} axis The configuration of an axis\n * @param {Boolean} isGrid Whether or not are the ticks in grid\n * @param {Boolean} isAll Return the ticks of all the points or not\n * @return {Array} Ticks\n */\nexport var getTicksOfAxis = function getTicksOfAxis(axis, isGrid, isAll) {\n if (!axis) return null;\n var scale = axis.scale;\n var duplicateDomain = axis.duplicateDomain,\n type = axis.type,\n range = axis.range;\n var offsetForBand = axis.realScaleType === 'scaleBand' ? scale.bandwidth() / 2 : 2;\n var offset = (isGrid || isAll) && type === 'category' && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset = axis.axisType === 'angleAxis' && (range === null || range === void 0 ? void 0 : range.length) >= 2 ? mathSign(range[0] - range[1]) * 2 * offset : offset;\n\n // The ticks set by user should only affect the ticks adjacent to axis line\n if (isGrid && (axis.ticks || axis.niceTicks)) {\n var result = (axis.ticks || axis.niceTicks).map(function (entry) {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n return {\n // If the scaleContent is not a number, the coordinate will be NaN.\n // That could be the case for example with a PointScale and a string as domain.\n coordinate: scale(scaleContent) + offset,\n value: entry,\n offset: offset\n };\n });\n return result.filter(function (row) {\n return !_isNaN(row.coordinate);\n });\n }\n\n // When axis is a categorial axis, but the type of axis is number or the scale of axis is not \"auto\"\n if (axis.isCategorical && axis.categoricalDomain) {\n return axis.categoricalDomain.map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n index: index,\n offset: offset\n };\n });\n }\n if (scale.ticks && !isAll) {\n return scale.ticks(axis.tickCount).map(function (entry) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n offset: offset\n };\n });\n }\n\n // When axis has duplicated text, serial numbers are used to generate scale\n return scale.domain().map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index,\n offset: offset\n };\n });\n};\n\n/**\n * combine the handlers\n * @param {Function} defaultHandler Internal private handler\n * @param {Function} parentHandler Handler function specified in parent component\n * @param {Function} childHandler Handler function specified in child component\n * @return {Function} The combined handler\n */\nexport var combineEventHandlers = function combineEventHandlers(defaultHandler, parentHandler, childHandler) {\n var customizedHandler;\n if (_isFunction(childHandler)) {\n customizedHandler = childHandler;\n } else if (_isFunction(parentHandler)) {\n customizedHandler = parentHandler;\n }\n if (_isFunction(defaultHandler) || customizedHandler) {\n return function (arg1, arg2, arg3, arg4) {\n if (_isFunction(defaultHandler)) {\n defaultHandler(arg1, arg2, arg3, arg4);\n }\n if (_isFunction(customizedHandler)) {\n customizedHandler(arg1, arg2, arg3, arg4);\n }\n };\n }\n return null;\n};\n\n/**\n * Parse the scale function of axis\n * @param {Object} axis The option of axis\n * @param {String} chartType The displayName of chart\n * @param {Boolean} hasBar if it has a bar\n * @return {object} The scale function and resolved name\n */\nexport var parseScale = function parseScale(axis, chartType, hasBar) {\n var scale = axis.scale,\n type = axis.type,\n layout = axis.layout,\n axisType = axis.axisType;\n if (scale === 'auto') {\n if (layout === 'radial' && axisType === 'radiusAxis') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n if (layout === 'radial' && axisType === 'angleAxis') {\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n if (type === 'category' && chartType && (chartType.indexOf('LineChart') >= 0 || chartType.indexOf('AreaChart') >= 0 || chartType.indexOf('ComposedChart') >= 0 && !hasBar)) {\n return {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n }\n if (type === 'category') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n if (_isString(scale)) {\n var name = \"scale\".concat(_upperFirst(scale));\n return {\n scale: (d3Scales[name] || d3Scales.scalePoint)(),\n realScaleType: d3Scales[name] ? name : 'point'\n };\n }\n return _isFunction(scale) ? {\n scale: scale\n } : {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n};\nvar EPS = 1e-4;\nexport var checkDomainOfScale = function checkDomainOfScale(scale) {\n var domain = scale.domain();\n if (!domain || domain.length <= 2) {\n return;\n }\n var len = domain.length;\n var range = scale.range();\n var min = Math.min(range[0], range[1]) - EPS;\n var max = Math.max(range[0], range[1]) + EPS;\n var first = scale(domain[0]);\n var last = scale(domain[len - 1]);\n if (first < min || first > max || last < min || last > max) {\n scale.domain([domain[0], domain[len - 1]]);\n }\n};\nexport var findPositionOfBar = function findPositionOfBar(barPosition, child) {\n if (!barPosition) {\n return null;\n }\n for (var i = 0, len = barPosition.length; i < len; i++) {\n if (barPosition[i].item === child) {\n return barPosition[i].position;\n }\n }\n return null;\n};\n\n/**\n * Both value and domain are tuples of two numbers\n * - but the type stays as array of numbers until we have better support in rest of the app\n * @param {Array} value input that will be truncated\n * @param {Array} domain boundaries\n * @returns {Array} tuple of two numbers\n */\nexport var truncateByDomain = function truncateByDomain(value, domain) {\n if (!domain || domain.length !== 2 || !isNumber(domain[0]) || !isNumber(domain[1])) {\n return value;\n }\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n if (!isNumber(value[0]) || value[0] < min) {\n result[0] = min;\n }\n if (!isNumber(value[1]) || value[1] > max) {\n result[1] = max;\n }\n if (result[0] > max) {\n result[0] = max;\n }\n if (result[1] < min) {\n result[1] = min;\n }\n return result;\n};\n\n/**\n * Stacks all positive numbers above zero and all negative numbers below zero.\n *\n * If all values in the series are positive then this behaves the same as 'none' stacker.\n *\n * @param {Array} series from d3-shape Stack\n * @return {Array} series with applied offset\n */\nexport var offsetSign = function offsetSign(series) {\n var n = series.length;\n if (n <= 0) {\n return;\n }\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n\n /* eslint-disable prefer-destructuring, no-param-reassign */\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = negative;\n series[i][j][1] = negative + value;\n negative = series[i][j][1];\n }\n /* eslint-enable prefer-destructuring, no-param-reassign */\n }\n }\n};\n\n/**\n * Replaces all negative values with zero when stacking data.\n *\n * If all values in the series are positive then this behaves the same as 'none' stacker.\n *\n * @param {Array} series from d3-shape Stack\n * @return {Array} series with applied offset\n */\nexport var offsetPositive = function offsetPositive(series) {\n var n = series.length;\n if (n <= 0) {\n return;\n }\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n\n /* eslint-disable prefer-destructuring, no-param-reassign */\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = 0;\n series[i][j][1] = 0;\n }\n /* eslint-enable prefer-destructuring, no-param-reassign */\n }\n }\n};\n\n/**\n * Function type to compute offset for stacked data.\n *\n * d3-shape has something fishy going on with its types.\n * In @definitelytyped/d3-shape, this function (the offset accessor) is typed as Series<> => void.\n * However! When I actually open the storybook I can see that the offset accessor actually receives Array>.\n * The same I can see in the source code itself:\n * https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/66042\n * That one unfortunately has no types but we can tell it passes three-dimensional array.\n *\n * Which leads me to believe that definitelytyped is wrong on this one.\n * There's open discussion on this topic without much attention:\n * https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/66042\n */\n\nvar STACK_OFFSET_MAP = {\n sign: offsetSign,\n // @ts-expect-error definitelytyped types are incorrect\n expand: stackOffsetExpand,\n // @ts-expect-error definitelytyped types are incorrect\n none: stackOffsetNone,\n // @ts-expect-error definitelytyped types are incorrect\n silhouette: stackOffsetSilhouette,\n // @ts-expect-error definitelytyped types are incorrect\n wiggle: stackOffsetWiggle,\n positive: offsetPositive\n};\nexport var getStackedData = function getStackedData(data, stackItems, offsetType) {\n var dataKeys = stackItems.map(function (item) {\n return item.props.dataKey;\n });\n var offsetAccessor = STACK_OFFSET_MAP[offsetType];\n var stack = shapeStack()\n // @ts-expect-error stack.keys type wants an array of strings, but we provide array of DataKeys\n .keys(dataKeys).value(function (d, key) {\n return +getValueByDataKey(d, key, 0);\n }).order(stackOrderNone)\n // @ts-expect-error definitelytyped types are incorrect\n .offset(offsetAccessor);\n return stack(data);\n};\nexport var getStackGroupsByAxisId = function getStackGroupsByAxisId(data, _items, numericAxisId, cateAxisId, offsetType, reverseStackOrder) {\n if (!data) {\n return null;\n }\n\n // reversing items to affect render order (for layering)\n var items = reverseStackOrder ? _items.reverse() : _items;\n var parentStackGroupsInitialValue = {};\n var stackGroups = items.reduce(function (result, item) {\n var _item$props2 = item.props,\n stackId = _item$props2.stackId,\n hide = _item$props2.hide;\n if (hide) {\n return result;\n }\n var axisId = item.props[numericAxisId];\n var parentGroup = result[axisId] || {\n hasStack: false,\n stackGroups: {}\n };\n if (isNumOrStr(stackId)) {\n var childGroup = parentGroup.stackGroups[stackId] || {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: []\n };\n childGroup.items.push(item);\n parentGroup.hasStack = true;\n parentGroup.stackGroups[stackId] = childGroup;\n } else {\n parentGroup.stackGroups[uniqueId('_stackId_')] = {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: [item]\n };\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, parentGroup));\n }, parentStackGroupsInitialValue);\n var axisStackGroupsInitialValue = {};\n return Object.keys(stackGroups).reduce(function (result, axisId) {\n var group = stackGroups[axisId];\n if (group.hasStack) {\n var stackGroupsInitialValue = {};\n group.stackGroups = Object.keys(group.stackGroups).reduce(function (res, stackId) {\n var g = group.stackGroups[stackId];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, stackId, {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: g.items,\n stackedData: getStackedData(data, g.items, offsetType)\n }));\n }, stackGroupsInitialValue);\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, group));\n }, axisStackGroupsInitialValue);\n};\n\n/**\n * Configure the scale function of axis\n * @param {Object} scale The scale function\n * @param {Object} opts The configuration of axis\n * @return {Object} null\n */\nexport var getTicksOfScale = function getTicksOfScale(scale, opts) {\n var realScaleType = opts.realScaleType,\n type = opts.type,\n tickCount = opts.tickCount,\n originalDomain = opts.originalDomain,\n allowDecimals = opts.allowDecimals;\n var scaleType = realScaleType || opts.scale;\n if (scaleType !== 'auto' && scaleType !== 'linear') {\n return null;\n }\n if (tickCount && type === 'number' && originalDomain && (originalDomain[0] === 'auto' || originalDomain[1] === 'auto')) {\n // Calculate the ticks by the number of grid when the axis is a number axis\n var domain = scale.domain();\n if (!domain.length) {\n return null;\n }\n var tickValues = getNiceTickValues(domain, tickCount, allowDecimals);\n scale.domain([_min(tickValues), _max(tickValues)]);\n return {\n niceTicks: tickValues\n };\n }\n if (tickCount && type === 'number') {\n var _domain = scale.domain();\n var _tickValues = getTickValuesFixedDomain(_domain, tickCount, allowDecimals);\n return {\n niceTicks: _tickValues\n };\n }\n return null;\n};\nexport var getCateCoordinateOfLine = function getCateCoordinateOfLine(_ref5) {\n var axis = _ref5.axis,\n ticks = _ref5.ticks,\n bandSize = _ref5.bandSize,\n entry = _ref5.entry,\n index = _ref5.index,\n dataKey = _ref5.dataKey;\n if (axis.type === 'category') {\n // find coordinate of category axis by the value of category\n if (!axis.allowDuplicatedCategory && axis.dataKey && !_isNil(entry[axis.dataKey])) {\n var matchedTick = findEntryInArray(ticks, 'value', entry[axis.dataKey]);\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n return ticks[index] ? ticks[index].coordinate + bandSize / 2 : null;\n }\n var value = getValueByDataKey(entry, !_isNil(dataKey) ? dataKey : axis.dataKey);\n return !_isNil(value) ? axis.scale(value) : null;\n};\nexport var getCateCoordinateOfBar = function getCateCoordinateOfBar(_ref6) {\n var axis = _ref6.axis,\n ticks = _ref6.ticks,\n offset = _ref6.offset,\n bandSize = _ref6.bandSize,\n entry = _ref6.entry,\n index = _ref6.index;\n if (axis.type === 'category') {\n return ticks[index] ? ticks[index].coordinate + offset : null;\n }\n var value = getValueByDataKey(entry, axis.dataKey, axis.domain[index]);\n return !_isNil(value) ? axis.scale(value) - bandSize / 2 + offset : null;\n};\nexport var getBaseValueOfBar = function getBaseValueOfBar(_ref7) {\n var numericAxis = _ref7.numericAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n if (min <= 0 && max >= 0) {\n return 0;\n }\n if (max < 0) {\n return max;\n }\n return min;\n }\n return domain[0];\n};\nexport var getStackedDataOfItem = function getStackedDataOfItem(item, stackGroups) {\n var stackId = item.props.stackId;\n if (isNumOrStr(stackId)) {\n var group = stackGroups[stackId];\n if (group) {\n var itemIndex = group.items.indexOf(item);\n return itemIndex >= 0 ? group.stackedData[itemIndex] : null;\n }\n }\n return null;\n};\nvar getDomainOfSingle = function getDomainOfSingle(data) {\n return data.reduce(function (result, entry) {\n return [_min(entry.concat([result[0]]).filter(isNumber)), _max(entry.concat([result[1]]).filter(isNumber))];\n }, [Infinity, -Infinity]);\n};\nexport var getDomainOfStackGroups = function getDomainOfStackGroups(stackGroups, startIndex, endIndex) {\n return Object.keys(stackGroups).reduce(function (result, stackId) {\n var group = stackGroups[stackId];\n var stackedData = group.stackedData;\n var domain = stackedData.reduce(function (res, entry) {\n var s = getDomainOfSingle(entry.slice(startIndex, endIndex + 1));\n return [Math.min(res[0], s[0]), Math.max(res[1], s[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]).map(function (result) {\n return result === Infinity || result === -Infinity ? 0 : result;\n });\n};\nexport var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var parseSpecifiedDomain = function parseSpecifiedDomain(specifiedDomain, dataDomain, allowDataOverflow) {\n if (_isFunction(specifiedDomain)) {\n return specifiedDomain(dataDomain, allowDataOverflow);\n }\n if (!_isArray(specifiedDomain)) {\n return dataDomain;\n }\n var domain = [];\n\n /* eslint-disable prefer-destructuring */\n if (isNumber(specifiedDomain[0])) {\n domain[0] = allowDataOverflow ? specifiedDomain[0] : Math.min(specifiedDomain[0], dataDomain[0]);\n } else if (MIN_VALUE_REG.test(specifiedDomain[0])) {\n var value = +MIN_VALUE_REG.exec(specifiedDomain[0])[1];\n domain[0] = dataDomain[0] - value;\n } else if (_isFunction(specifiedDomain[0])) {\n domain[0] = specifiedDomain[0](dataDomain[0]);\n } else {\n domain[0] = dataDomain[0];\n }\n if (isNumber(specifiedDomain[1])) {\n domain[1] = allowDataOverflow ? specifiedDomain[1] : Math.max(specifiedDomain[1], dataDomain[1]);\n } else if (MAX_VALUE_REG.test(specifiedDomain[1])) {\n var _value = +MAX_VALUE_REG.exec(specifiedDomain[1])[1];\n domain[1] = dataDomain[1] + _value;\n } else if (_isFunction(specifiedDomain[1])) {\n domain[1] = specifiedDomain[1](dataDomain[1]);\n } else {\n domain[1] = dataDomain[1];\n }\n /* eslint-enable prefer-destructuring */\n\n return domain;\n};\n\n/**\n * Calculate the size between two category\n * @param {Object} axis The options of axis\n * @param {Array} ticks The ticks of axis\n * @param {Boolean} isBar if items in axis are bars\n * @return {Number} Size\n */\nexport var getBandSizeOfAxis = function getBandSizeOfAxis(axis, ticks, isBar) {\n // @ts-expect-error we need to rethink scale type\n if (axis && axis.scale && axis.scale.bandwidth) {\n // @ts-expect-error we need to rethink scale type\n var bandWidth = axis.scale.bandwidth();\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n if (axis && ticks && ticks.length >= 2) {\n var orderedTicks = _sortBy(ticks, function (o) {\n return o.coordinate;\n });\n var bandSize = Infinity;\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min((cur.coordinate || 0) - (prev.coordinate || 0), bandSize);\n }\n return bandSize === Infinity ? 0 : bandSize;\n }\n return isBar ? undefined : 0;\n};\n/**\n * parse the domain of a category axis when a domain is specified\n * @param {Array} specifiedDomain The domain specified by users\n * @param {Array} calculatedDomain The domain calculated by dateKey\n * @param {ReactElement} axisChild The axis ReactElement\n * @returns {Array} domains\n */\nexport var parseDomainOfCategoryAxis = function parseDomainOfCategoryAxis(specifiedDomain, calculatedDomain, axisChild) {\n if (!specifiedDomain || !specifiedDomain.length) {\n return calculatedDomain;\n }\n if (_isEqual(specifiedDomain, _get(axisChild, 'type.defaultProps.domain'))) {\n return calculatedDomain;\n }\n return specifiedDomain;\n};\nexport var getTooltipItem = function getTooltipItem(graphicalItem, payload) {\n var _graphicalItem$props = graphicalItem.props,\n dataKey = _graphicalItem$props.dataKey,\n name = _graphicalItem$props.name,\n unit = _graphicalItem$props.unit,\n formatter = _graphicalItem$props.formatter,\n tooltipType = _graphicalItem$props.tooltipType,\n chartType = _graphicalItem$props.chartType;\n return _objectSpread(_objectSpread({}, filterProps(graphicalItem)), {}, {\n dataKey: dataKey,\n unit: unit,\n formatter: formatter,\n name: name || dataKey,\n color: getMainColorOfGraphicItem(graphicalItem),\n value: getValueByDataKey(payload, dataKey),\n type: tooltipType,\n payload: payload,\n chartType: chartType\n });\n};","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { Global } from './Global';\nvar stringCache = {\n widthCache: {},\n cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n position: 'absolute',\n top: '-20000px',\n left: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n whiteSpace: 'pre'\n};\nvar STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'lineHeight', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\nfunction autoCompleteStyle(name, value) {\n if (STYLE_LIST.indexOf(name) >= 0 && value === +value) {\n return \"\".concat(value, \"px\");\n }\n return value;\n}\nfunction camelToMiddleLine(text) {\n var strs = text.split('');\n var formatStrs = strs.reduce(function (result, entry) {\n if (entry === entry.toUpperCase()) {\n return [].concat(_toConsumableArray(result), ['-', entry.toLowerCase()]);\n }\n return [].concat(_toConsumableArray(result), [entry]);\n }, []);\n return formatStrs.join('');\n}\nexport var getStyleString = function getStyleString(style) {\n return Object.keys(style).reduce(function (result, s) {\n return \"\".concat(result).concat(camelToMiddleLine(s), \":\").concat(autoCompleteStyle(s, style[s]), \";\");\n }, '');\n};\nexport var getStringSize = function getStringSize(text) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (text === undefined || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n var str = \"\".concat(text);\n var styleString = getStyleString(style);\n var cacheKey = \"\".concat(str, \"-\").concat(styleString);\n if (stringCache.widthCache[cacheKey]) {\n return stringCache.widthCache[cacheKey];\n }\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n if (!measurementSpan) {\n measurementSpan = document.createElement('span');\n measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute('aria-hidden', 'true');\n document.body.appendChild(measurementSpan);\n }\n // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n // https://en.wikipedia.org/wiki/Content_Security_Policy\n var measurementSpanStyle = _objectSpread(_objectSpread({}, SPAN_STYLE), style);\n Object.keys(measurementSpanStyle).map(function (styleKey) {\n measurementSpan.style[styleKey] = measurementSpanStyle[styleKey];\n return styleKey;\n });\n measurementSpan.textContent = str;\n var rect = measurementSpan.getBoundingClientRect();\n var result = {\n width: rect.width,\n height: rect.height\n };\n stringCache.widthCache[cacheKey] = result;\n if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n stringCache.cacheCount = 0;\n stringCache.widthCache = {};\n }\n return result;\n } catch (e) {\n return {\n width: 0,\n height: 0\n };\n }\n};\nexport var getOffset = function getOffset(el) {\n var html = el.ownerDocument.documentElement;\n var box = {\n top: 0,\n left: 0\n };\n\n // If we don't have gBCR, just use 0,0 rather than error\n // BlackBerry 5, iOS 3 (original iPhone)\n if (typeof el.getBoundingClientRect !== 'undefined') {\n box = el.getBoundingClientRect();\n }\n return {\n top: box.top + window.pageYOffset - html.clientTop,\n left: box.left + window.pageXOffset - html.clientLeft\n };\n};\n\n/**\n * Calculate coordinate of cursor in chart\n * @param {Object} event Event object\n * @param {Object} offset The offset of main part in the svg element\n * @return {Object} {chartX, chartY}\n */\nexport var calculateChartCoordinate = function calculateChartCoordinate(event, offset) {\n return {\n chartX: Math.round(event.pageX - offset.left),\n chartY: Math.round(event.pageY - offset.top)\n };\n};","import _get from \"lodash/get\";\nimport _isArray from \"lodash/isArray\";\nimport _isNaN from \"lodash/isNaN\";\nimport _isNumber from \"lodash/isNumber\";\nimport _isString from \"lodash/isString\";\nexport var mathSign = function mathSign(value) {\n if (value === 0) {\n return 0;\n }\n if (value > 0) {\n return 1;\n }\n return -1;\n};\nexport var isPercent = function isPercent(value) {\n return _isString(value) && value.indexOf('%') === value.length - 1;\n};\nexport var isNumber = function isNumber(value) {\n return _isNumber(value) && !_isNaN(value);\n};\nexport var isNumOrStr = function isNumOrStr(value) {\n return isNumber(value) || _isString(value);\n};\nvar idCounter = 0;\nexport var uniqueId = function uniqueId(prefix) {\n var id = ++idCounter;\n return \"\".concat(prefix || '').concat(id);\n};\n\n/**\n * Get percent value of a total value\n * @param {number|string} percent A percent\n * @param {number} totalValue Total value\n * @param {number} defaultValue The value returned when percent is undefined or invalid\n * @param {boolean} validate If set to be true, the result will be validated\n * @return {number} value\n */\nexport var getPercentValue = function getPercentValue(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (!isNumber(percent) && !_isString(percent)) {\n return defaultValue;\n }\n var value;\n if (isPercent(percent)) {\n var index = percent.indexOf('%');\n value = totalValue * parseFloat(percent.slice(0, index)) / 100;\n } else {\n value = +percent;\n }\n if (_isNaN(value)) {\n value = defaultValue;\n }\n if (validate && value > totalValue) {\n value = totalValue;\n }\n return value;\n};\nexport var getAnyElementOfObject = function getAnyElementOfObject(obj) {\n if (!obj) {\n return null;\n }\n var keys = Object.keys(obj);\n if (keys && keys.length) {\n return obj[keys[0]];\n }\n return null;\n};\nexport var hasDuplicate = function hasDuplicate(ary) {\n if (!_isArray(ary)) {\n return false;\n }\n var len = ary.length;\n var cache = {};\n for (var i = 0; i < len; i++) {\n if (!cache[ary[i]]) {\n cache[ary[i]] = true;\n } else {\n return true;\n }\n }\n return false;\n};\n\n/* @todo consider to rename this function into `getInterpolator` */\nexport var interpolateNumber = function interpolateNumber(numberA, numberB) {\n if (isNumber(numberA) && isNumber(numberB)) {\n return function (t) {\n return numberA + t * (numberB - numberA);\n };\n }\n return function () {\n return numberB;\n };\n};\nexport function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return null;\n }\n return ary.find(function (entry) {\n return entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : _get(entry, specifiedKey)) === specifiedValue;\n });\n}\n\n/**\n * The least square linear regression\n * @param {Array} data The array of points\n * @returns {Object} The domain of x, and the parameter of linear function\n */\nexport var getLinearRegression = function getLinearRegression(data) {\n if (!data || !data.length) {\n return null;\n }\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n var xcurrent = 0;\n var ycurrent = 0;\n for (var i = 0; i < len; i++) {\n xcurrent = data[i].cx || 0;\n ycurrent = data[i].cy || 0;\n xsum += xcurrent;\n ysum += ycurrent;\n xysum += xcurrent * ycurrent;\n xxsum += xcurrent * xcurrent;\n xmin = Math.min(xmin, xcurrent);\n xmax = Math.max(xmax, xcurrent);\n }\n var a = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin: xmin,\n xmax: xmax,\n a: a,\n b: (ysum - a * xsum) / len\n };\n};","var parseIsSsrByDefault = function parseIsSsrByDefault() {\n return !(typeof window !== 'undefined' && window.document && window.document.createElement && window.setTimeout);\n};\nexport var Global = {\n isSsr: parseIsSsrByDefault(),\n get: function get(key) {\n return Global[key];\n },\n set: function set(key, value) {\n if (typeof key === 'string') {\n Global[key] = value;\n } else {\n var keys = Object.keys(key);\n if (keys && keys.length) {\n keys.forEach(function (k) {\n Global[k] = key[k];\n });\n }\n }\n }\n};","/* eslint no-console: 0 */\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport _isNil from \"lodash/isNil\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport { getPercentValue } from './DataUtils';\nimport { parseScale, checkDomainOfScale, getTicksOfScale } from './ChartUtils';\nexport var RADIAN = Math.PI / 180;\nexport var degreeToRadian = function degreeToRadian(angle) {\n return angle * Math.PI / 180;\n};\nexport var radianToDegree = function radianToDegree(angleInRadian) {\n return angleInRadian * 180 / Math.PI;\n};\nexport var polarToCartesian = function polarToCartesian(cx, cy, radius, angle) {\n return {\n x: cx + Math.cos(-RADIAN * angle) * radius,\n y: cy + Math.sin(-RADIAN * angle) * radius\n };\n};\nexport var getMaxRadius = function getMaxRadius(width, height) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return Math.min(Math.abs(width - (offset.left || 0) - (offset.right || 0)), Math.abs(height - (offset.top || 0) - (offset.bottom || 0))) / 2;\n};\n\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {Object} axisType The type of axes, radius-axis or angle-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height;\n var startAngle = props.startAngle,\n endAngle = props.endAngle;\n var cx = getPercentValue(props.cx, width, width / 2);\n var cy = getPercentValue(props.cy, height, height / 2);\n var maxRadius = getMaxRadius(width, height, offset);\n var innerRadius = getPercentValue(props.innerRadius, maxRadius, 0);\n var outerRadius = getPercentValue(props.outerRadius, maxRadius, maxRadius * 0.8);\n var ids = Object.keys(axisMap);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var domain = axis.domain,\n reversed = axis.reversed;\n var range;\n if (_isNil(axis.range)) {\n if (axisType === 'angleAxis') {\n range = [startAngle, endAngle];\n } else if (axisType === 'radiusAxis') {\n range = [innerRadius, outerRadius];\n }\n if (reversed) {\n range = [range[1], range[0]];\n }\n } else {\n range = axis.range;\n var _range = range;\n var _range2 = _slicedToArray(_range, 2);\n startAngle = _range2[0];\n endAngle = _range2[1];\n }\n var _parseScale = parseScale(axis, chartName),\n realScaleType = _parseScale.realScaleType,\n scale = _parseScale.scale;\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n range: range,\n radius: outerRadius,\n realScaleType: realScaleType,\n scale: scale,\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var distanceBetweenPoints = function distanceBetweenPoints(point, anotherPoint) {\n var x1 = point.x,\n y1 = point.y;\n var x2 = anotherPoint.x,\n y2 = anotherPoint.y;\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\nexport var getAngleOfPoint = function getAngleOfPoint(_ref, _ref2) {\n var x = _ref.x,\n y = _ref.y;\n var cx = _ref2.cx,\n cy = _ref2.cy;\n var radius = distanceBetweenPoints({\n x: x,\n y: y\n }, {\n x: cx,\n y: cy\n });\n if (radius <= 0) {\n return {\n radius: radius\n };\n }\n var cos = (x - cx) / radius;\n var angleInRadian = Math.acos(cos);\n if (y > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n return {\n radius: radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian: angleInRadian\n };\n};\nexport var formatAngleOfSector = function formatAngleOfSector(_ref3) {\n var startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min * 360,\n endAngle: endAngle - min * 360\n };\n};\nvar reverseFormatAngleOfSetor = function reverseFormatAngleOfSetor(angle, _ref4) {\n var startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return angle + min * 360;\n};\nexport var inRangeOfSector = function inRangeOfSector(_ref5, sector) {\n var x = _ref5.x,\n y = _ref5.y;\n var _getAngleOfPoint = getAngleOfPoint({\n x: x,\n y: y\n }, sector),\n radius = _getAngleOfPoint.radius,\n angle = _getAngleOfPoint.angle;\n var innerRadius = sector.innerRadius,\n outerRadius = sector.outerRadius;\n if (radius < innerRadius || radius > outerRadius) {\n return false;\n }\n if (radius === 0) {\n return true;\n }\n var _formatAngleOfSector = formatAngleOfSector(sector),\n startAngle = _formatAngleOfSector.startAngle,\n endAngle = _formatAngleOfSector.endAngle;\n var formatAngle = angle;\n var inRange;\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n if (inRange) {\n return _objectSpread(_objectSpread({}, sector), {}, {\n radius: radius,\n angle: reverseFormatAngleOfSetor(formatAngle, sector)\n });\n }\n return null;\n};","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isString from \"lodash/isString\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _isArray from \"lodash/isArray\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"children\"];\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; }\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; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport { Children, isValidElement } from 'react';\nimport { isFragment } from 'react-is';\nimport { isNumber } from './DataUtils';\nimport { shallowEqual } from './ShallowEqual';\nimport { FilteredElementKeyMap, SVGElementPropKeys, EventKeys } from './types';\nvar REACT_BROWSER_EVENT_MAP = {\n click: 'onClick',\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n mouseout: 'onMouseOut',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n touchcancel: 'onTouchCancel',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchstart: 'onTouchStart'\n};\nexport var SCALE_TYPES = ['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold'];\nexport var LEGEND_TYPES = ['plainline', 'line', 'square', 'rect', 'circle', 'cross', 'diamond', 'star', 'triangle', 'wye', 'none'];\nexport var TOOLTIP_TYPES = ['none'];\n\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\nexport var getDisplayName = function getDisplayName(Comp) {\n if (typeof Comp === 'string') {\n return Comp;\n }\n if (!Comp) {\n return '';\n }\n return Comp.displayName || Comp.name || 'Component';\n};\n\n// `toArray` gets called multiple times during the render\n// so we can memoize last invocation (since reference to `children` is the same)\nvar lastChildren = null;\nvar lastResult = null;\nexport var toArray = function toArray(children) {\n if (children === lastChildren && _isArray(lastResult)) {\n return lastResult;\n }\n var result = [];\n Children.forEach(children, function (child) {\n if (_isNil(child)) return;\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n};\n\n/*\n * Find and return all matched children by type.\n * `type` must be a React.ComponentType\n */\nexport function findAllByType(children, type) {\n var result = [];\n var types = [];\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n toArray(children).forEach(function (child) {\n var childType = _get(child, 'type.displayName') || _get(child, 'type.name');\n if (types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n}\n\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` must be a React.ComponentType\n */\nexport function findChildByType(children, type) {\n var result = findAllByType(children, type);\n return result && result[0];\n}\n\n/*\n * Create a new array of children excluding the ones matched the type\n */\nexport var withoutType = function withoutType(children, type) {\n var newChildren = [];\n var types;\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n toArray(children).forEach(function (child) {\n var displayName = _get(child, 'type.displayName');\n if (displayName && types.indexOf(displayName) !== -1) {\n return;\n }\n newChildren.push(child);\n });\n return newChildren;\n};\n\n/**\n * validate the width and height props of a chart element\n * @param {Object} el A chart element\n * @return {Boolean} true If the props width and height are number, and greater than 0\n */\nexport var validateWidthHeight = function validateWidthHeight(el) {\n if (!el || !el.props) {\n return false;\n }\n var _el$props = el.props,\n width = _el$props.width,\n height = _el$props.height;\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0) {\n return false;\n }\n return true;\n};\nvar SVG_TAGS = ['a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColormatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face', 'font-face-format', 'font-face-name', 'font-face-url', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'lineGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern'];\nvar isSvgElement = function isSvgElement(child) {\n return child && child.type && _isString(child.type) && SVG_TAGS.indexOf(child.type) >= 0;\n};\nexport var isDotProps = function isDotProps(dot) {\n return dot && _typeof(dot) === 'object' && 'cx' in dot && 'cy' in dot && 'r' in dot;\n};\n\n/**\n * Checks if the property is valid to spread onto an SVG element or onto a specific component\n * @param {unknown} property property value currently being compared\n * @param {string} key property key currently being compared\n * @param {boolean} includeEvents if events are included in spreadable props\n * @param {boolean} svgElementType checks against map of SVG element types to attributes\n * @returns {boolean} is prop valid\n */\nexport var isValidSpreadableProp = function isValidSpreadableProp(property, key, includeEvents, svgElementType) {\n var _FilteredElementKeyMa;\n /**\n * If the svg element type is explicitly included, check against the filtered element key map\n * to determine if there are attributes that should only exist on that element type.\n * @todo Add an internal cjs version of https://github.com/wooorm/svg-element-attributes for full coverage.\n */\n var matchingElementTypeKeys = (_FilteredElementKeyMa = FilteredElementKeyMap === null || FilteredElementKeyMap === void 0 ? void 0 : FilteredElementKeyMap[svgElementType]) !== null && _FilteredElementKeyMa !== void 0 ? _FilteredElementKeyMa : [];\n return !_isFunction(property) && (svgElementType && matchingElementTypeKeys.includes(key) || SVGElementPropKeys.includes(key)) || includeEvents && EventKeys.includes(key);\n};\n\n/**\n * Filter all the svg elements of children\n * @param {Array} children The children of a react element\n * @return {Array} All the svg elements\n */\nexport var filterSvgElements = function filterSvgElements(children) {\n var svgElements = [];\n toArray(children).forEach(function (entry) {\n if (isSvgElement(entry)) {\n svgElements.push(entry);\n }\n });\n return svgElements;\n};\nexport var filterProps = function filterProps(props, includeEvents, svgElementType) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n var inputProps = props;\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n if (!_isObject(inputProps)) {\n return null;\n }\n var out = {};\n\n /**\n * Props are blindly spread onto SVG elements. This loop filters out properties that we don't want to spread.\n * Items filtered out are as follows:\n * - functions in properties that are SVG attributes (functions are included when includeEvents is true)\n * - props that are SVG attributes but don't matched the passed svgElementType\n * - any prop that is not in SVGElementPropKeys (or in EventKeys if includeEvents is true)\n */\n Object.keys(inputProps).forEach(function (key) {\n var _inputProps;\n if (isValidSpreadableProp((_inputProps = inputProps) === null || _inputProps === void 0 ? void 0 : _inputProps[key], key, includeEvents, svgElementType)) {\n out[key] = inputProps[key];\n }\n });\n return out;\n};\n\n/**\n * Wether props of children changed\n * @param {Object} nextChildren The latest children\n * @param {Object} prevChildren The prev children\n * @return {Boolean} equal or not\n */\nexport var isChildrenEqual = function isChildrenEqual(nextChildren, prevChildren) {\n if (nextChildren === prevChildren) {\n return true;\n }\n var count = Children.count(nextChildren);\n if (count !== Children.count(prevChildren)) {\n return false;\n }\n if (count === 0) {\n return true;\n }\n if (count === 1) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return isSingleChildEqual(_isArray(nextChildren) ? nextChildren[0] : nextChildren, _isArray(prevChildren) ? prevChildren[0] : prevChildren);\n }\n for (var i = 0; i < count; i++) {\n var nextChild = nextChildren[i];\n var prevChild = prevChildren[i];\n if (_isArray(nextChild) || _isArray(prevChild)) {\n if (!isChildrenEqual(nextChild, prevChild)) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n } else if (!isSingleChildEqual(nextChild, prevChild)) {\n return false;\n }\n }\n return true;\n};\nexport var isSingleChildEqual = function isSingleChildEqual(nextChild, prevChild) {\n if (_isNil(nextChild) && _isNil(prevChild)) {\n return true;\n }\n if (!_isNil(nextChild) && !_isNil(prevChild)) {\n var _ref = nextChild.props || {},\n nextChildren = _ref.children,\n nextProps = _objectWithoutProperties(_ref, _excluded);\n var _ref2 = prevChild.props || {},\n prevChildren = _ref2.children,\n prevProps = _objectWithoutProperties(_ref2, _excluded2);\n if (nextChildren && prevChildren) {\n return shallowEqual(nextProps, prevProps) && isChildrenEqual(nextChildren, prevChildren);\n }\n if (!nextChildren && !prevChildren) {\n return shallowEqual(nextProps, prevProps);\n }\n return false;\n }\n return false;\n};\nexport var renderByOrder = function renderByOrder(children, renderMap) {\n var elements = [];\n var record = {};\n toArray(children).forEach(function (child, index) {\n if (isSvgElement(child)) {\n elements.push(child);\n } else if (child) {\n var displayName = getDisplayName(child.type);\n var _ref3 = renderMap[displayName] || {},\n handler = _ref3.handler,\n once = _ref3.once;\n if (handler && (!once || !record[displayName])) {\n var results = handler(child, displayName, index);\n elements.push(results);\n record[displayName] = true;\n }\n }\n });\n return elements;\n};\nexport var getReactEventByType = function getReactEventByType(e) {\n var type = e && e.type;\n if (type && REACT_BROWSER_EVENT_MAP[type]) {\n return REACT_BROWSER_EVENT_MAP[type];\n }\n return null;\n};\nexport var parseChildIndex = function parseChildIndex(child, children) {\n return toArray(children).indexOf(child);\n};","export function shallowEqual(a, b) {\n /* eslint-disable no-restricted-syntax */\n for (var key in a) {\n if ({}.hasOwnProperty.call(a, key) && (!{}.hasOwnProperty.call(b, key) || a[key] !== b[key])) {\n return false;\n }\n }\n for (var _key in b) {\n if ({}.hasOwnProperty.call(b, _key) && !{}.hasOwnProperty.call(a, _key)) {\n return false;\n }\n }\n return true;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { Legend } from '../component/Legend';\nimport { getMainColorOfGraphicItem } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nexport var getLegendProps = function getLegendProps(_ref) {\n var children = _ref.children,\n formattedGraphicalItems = _ref.formattedGraphicalItems,\n legendWidth = _ref.legendWidth,\n legendContent = _ref.legendContent;\n var legendItem = findChildByType(children, Legend);\n if (!legendItem) {\n return null;\n }\n var legendData;\n if (legendItem.props && legendItem.props.payload) {\n legendData = legendItem.props && legendItem.props.payload;\n } else if (legendContent === 'children') {\n legendData = (formattedGraphicalItems || []).reduce(function (result, _ref2) {\n var item = _ref2.item,\n props = _ref2.props;\n var data = props.sectors || props.data || [];\n return result.concat(data.map(function (entry) {\n return {\n type: legendItem.props.iconType || item.props.legendType,\n value: entry.name,\n color: entry.fill,\n payload: entry\n };\n }));\n }, []);\n } else {\n legendData = (formattedGraphicalItems || []).map(function (_ref3) {\n var item = _ref3.item;\n var _item$props = item.props,\n dataKey = _item$props.dataKey,\n name = _item$props.name,\n legendType = _item$props.legendType,\n hide = _item$props.hide;\n return {\n inactive: hide,\n dataKey: dataKey,\n type: legendItem.props.iconType || legendType || 'square',\n color: getMainColorOfGraphicItem(item),\n value: name || dataKey,\n // @ts-expect-error property strokeDasharray is required in Payload but optional in props\n payload: item.props\n };\n });\n }\n return _objectSpread(_objectSpread(_objectSpread({}, legendItem.props), Legend.getWithHeight(legendItem, legendWidth)), {}, {\n payload: legendData,\n item: legendItem\n });\n};","import _isObject from \"lodash/isObject\";\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport { isValidElement } from 'react';\n\n/**\n * Determines how values are stacked:\n *\n * - `none` is the default, it adds values on top of each other. No smarts. Negative values will overlap.\n * - `expand` make it so that the values always add up to 1 - so the chart will look like a rectangle.\n * - `wiggle` and `silhouette` tries to keep the chart centered.\n * - `sign` stacks positive values above zero and negative values below zero. Similar to `none` but handles negatives.\n * - `positive` ignores all negative values, and then behaves like \\`none\\`.\n *\n * Also see https://d3js.org/d3-shape/stack#stack-offsets\n * (note that the `diverging` offset in d3 is named `sign` in recharts)\n */\n\n//\n// Event Handler Types -- Copied from @types/react/index.d.ts and adapted for Props.\n//\nvar SVGContainerPropKeys = ['viewBox', 'children'];\nexport var SVGElementPropKeys = ['aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-busy', 'aria-checked', 'aria-colcount', 'aria-colindex', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowcount', 'aria-rowindex', 'aria-rowspan', 'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext', 'className', 'color', 'height', 'id', 'lang', 'max', 'media', 'method', 'min', 'name', 'style',\n/*\n * removed 'type' SVGElementPropKey because we do not currently use any SVG elements\n * that can use it and it conflicts with the recharts prop 'type'\n * https://github.com/recharts/recharts/pull/3327\n * https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type\n */\n// 'type',\n'target', 'width', 'role', 'tabIndex', 'accentHeight', 'accumulate', 'additive', 'alignmentBaseline', 'allowReorder', 'alphabetic', 'amplitude', 'arabicForm', 'ascent', 'attributeName', 'attributeType', 'autoReverse', 'azimuth', 'baseFrequency', 'baselineShift', 'baseProfile', 'bbox', 'begin', 'bias', 'by', 'calcMode', 'capHeight', 'clip', 'clipPath', 'clipPathUnits', 'clipRule', 'colorInterpolation', 'colorInterpolationFilters', 'colorProfile', 'colorRendering', 'contentScriptType', 'contentStyleType', 'cursor', 'cx', 'cy', 'd', 'decelerate', 'descent', 'diffuseConstant', 'direction', 'display', 'divisor', 'dominantBaseline', 'dur', 'dx', 'dy', 'edgeMode', 'elevation', 'enableBackground', 'end', 'exponent', 'externalResourcesRequired', 'fill', 'fillOpacity', 'fillRule', 'filter', 'filterRes', 'filterUnits', 'floodColor', 'floodOpacity', 'focusable', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'format', 'from', 'fx', 'fy', 'g1', 'g2', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'horizAdvX', 'horizOriginX', 'href', 'ideographic', 'imageRendering', 'in2', 'in', 'intercept', 'k1', 'k2', 'k3', 'k4', 'k', 'kernelMatrix', 'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'letterSpacing', 'lightingColor', 'limitingConeAngle', 'local', 'markerEnd', 'markerHeight', 'markerMid', 'markerStart', 'markerUnits', 'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'mode', 'numOctaves', 'offset', 'opacity', 'operator', 'order', 'orient', 'orientation', 'origin', 'overflow', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits', 'pointerEvents', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'r', 'radius', 'refX', 'refY', 'renderingIntent', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'result', 'rotate', 'rx', 'ry', 'seed', 'shapeRendering', 'slope', 'spacing', 'specularConstant', 'specularExponent', 'speed', 'spreadMethod', 'startOffset', 'stdDeviation', 'stemh', 'stemv', 'stitchTiles', 'stopColor', 'stopOpacity', 'strikethroughPosition', 'strikethroughThickness', 'string', 'stroke', 'strokeDasharray', 'strokeDashoffset', 'strokeLinecap', 'strokeLinejoin', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'surfaceScale', 'systemLanguage', 'tableValues', 'targetX', 'targetY', 'textAnchor', 'textDecoration', 'textLength', 'textRendering', 'to', 'transform', 'u1', 'u2', 'underlinePosition', 'underlineThickness', 'unicode', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'values', 'vectorEffect', 'version', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'vHanging', 'vIdeographic', 'viewTarget', 'visibility', 'vMathematical', 'widths', 'wordSpacing', 'writingMode', 'x1', 'x2', 'x', 'xChannelSelector', 'xHeight', 'xlinkActuate', 'xlinkArcrole', 'xlinkHref', 'xlinkRole', 'xlinkShow', 'xlinkTitle', 'xlinkType', 'xmlBase', 'xmlLang', 'xmlns', 'xmlnsXlink', 'xmlSpace', 'y1', 'y2', 'y', 'yChannelSelector', 'z', 'zoomAndPan', 'ref', 'key', 'angle'];\nvar PolyElementKeys = ['points', 'pathLength'];\n\n/** svg element types that have specific attribute filtration requirements */\n\n/** map of svg element types to unique svg attributes that belong to that element */\nexport var FilteredElementKeyMap = {\n svg: SVGContainerPropKeys,\n polygon: PolyElementKeys,\n polyline: PolyElementKeys\n};\nexport var EventKeys = ['dangerouslySetInnerHTML', 'onCopy', 'onCopyCapture', 'onCut', 'onCutCapture', 'onPaste', 'onPasteCapture', 'onCompositionEnd', 'onCompositionEndCapture', 'onCompositionStart', 'onCompositionStartCapture', 'onCompositionUpdate', 'onCompositionUpdateCapture', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onChangeCapture', 'onBeforeInput', 'onBeforeInputCapture', 'onInput', 'onInputCapture', 'onReset', 'onResetCapture', 'onSubmit', 'onSubmitCapture', 'onInvalid', 'onInvalidCapture', 'onLoad', 'onLoadCapture', 'onError', 'onErrorCapture', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyPressCapture', 'onKeyUp', 'onKeyUpCapture', 'onAbort', 'onAbortCapture', 'onCanPlay', 'onCanPlayCapture', 'onCanPlayThrough', 'onCanPlayThroughCapture', 'onDurationChange', 'onDurationChangeCapture', 'onEmptied', 'onEmptiedCapture', 'onEncrypted', 'onEncryptedCapture', 'onEnded', 'onEndedCapture', 'onLoadedData', 'onLoadedDataCapture', 'onLoadedMetadata', 'onLoadedMetadataCapture', 'onLoadStart', 'onLoadStartCapture', 'onPause', 'onPauseCapture', 'onPlay', 'onPlayCapture', 'onPlaying', 'onPlayingCapture', 'onProgress', 'onProgressCapture', 'onRateChange', 'onRateChangeCapture', 'onSeeked', 'onSeekedCapture', 'onSeeking', 'onSeekingCapture', 'onStalled', 'onStalledCapture', 'onSuspend', 'onSuspendCapture', 'onTimeUpdate', 'onTimeUpdateCapture', 'onVolumeChange', 'onVolumeChangeCapture', 'onWaiting', 'onWaitingCapture', 'onAuxClick', 'onAuxClickCapture', 'onClick', 'onClickCapture', 'onContextMenu', 'onContextMenuCapture', 'onDoubleClick', 'onDoubleClickCapture', 'onDrag', 'onDragCapture', 'onDragEnd', 'onDragEndCapture', 'onDragEnter', 'onDragEnterCapture', 'onDragExit', 'onDragExitCapture', 'onDragLeave', 'onDragLeaveCapture', 'onDragOver', 'onDragOverCapture', 'onDragStart', 'onDragStartCapture', 'onDrop', 'onDropCapture', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseMoveCapture', 'onMouseOut', 'onMouseOutCapture', 'onMouseOver', 'onMouseOverCapture', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onSelectCapture', 'onTouchCancel', 'onTouchCancelCapture', 'onTouchEnd', 'onTouchEndCapture', 'onTouchMove', 'onTouchMoveCapture', 'onTouchStart', 'onTouchStartCapture', 'onPointerDown', 'onPointerDownCapture', 'onPointerMove', 'onPointerMoveCapture', 'onPointerUp', 'onPointerUpCapture', 'onPointerCancel', 'onPointerCancelCapture', 'onPointerEnter', 'onPointerEnterCapture', 'onPointerLeave', 'onPointerLeaveCapture', 'onPointerOver', 'onPointerOverCapture', 'onPointerOut', 'onPointerOutCapture', 'onGotPointerCapture', 'onGotPointerCaptureCapture', 'onLostPointerCapture', 'onLostPointerCaptureCapture', 'onScroll', 'onScrollCapture', 'onWheel', 'onWheelCapture', 'onAnimationStart', 'onAnimationStartCapture', 'onAnimationEnd', 'onAnimationEndCapture', 'onAnimationIteration', 'onAnimationIterationCapture', 'onTransitionEnd', 'onTransitionEndCapture'];\n\n/** The type of easing function to use for animations */\n\n/** Specifies the duration of animation, the unit of this option is ms. */\n\n/** the offset of a chart, which define the blank space all around */\n\n/**\n * The domain of axis.\n * This is the definition\n *\n * Numeric domain is always defined by an array of exactly two values, for the min and the max of the axis.\n * Categorical domain is defined as array of all possible values.\n *\n * Can be specified in many ways:\n * - array of numbers\n * - with special strings like 'dataMin' and 'dataMax'\n * - with special string math like 'dataMin - 100'\n * - with keyword 'auto'\n * - or a function\n * - array of functions\n * - or a combination of the above\n */\n\n/**\n * NumberDomain is an evaluated {@link AxisDomain}.\n * Unlike {@link AxisDomain}, it has no variety - it's a tuple of two number.\n * This is after all the keywords and functions were evaluated and what is left is [min, max].\n *\n * Know that the min, max values are not guaranteed to be nice numbers - values like -Infinity or NaN are possible.\n *\n * There are also `category` axes that have different things than numbers in their domain.\n */\n\n/** The props definition of base axis */\n\n/** Defines how ticks are placed and whether / how tick collisions are handled.\n * 'preserveStart' keeps the left tick on collision and ensures that the first tick is always shown.\n * 'preserveEnd' keeps the right tick on collision and ensures that the last tick is always shown.\n * 'preserveStartEnd' keeps the left tick on collision and ensures that the first and last ticks are always shown.\n * 'equidistantPreserveStart' selects a number N such that every nTh tick will be shown without collision.\n */\n\nexport var adaptEventHandlers = function adaptEventHandlers(props, newHandler) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n var inputProps = props;\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n if (!_isObject(inputProps)) {\n return null;\n }\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n if (EventKeys.includes(key)) {\n out[key] = newHandler || function (e) {\n return inputProps[key](inputProps, e);\n };\n }\n });\n return out;\n};\nvar getEventHandlerOfChild = function getEventHandlerOfChild(originalHandler, data, index) {\n return function (e) {\n originalHandler(data, index, e);\n return null;\n };\n};\nexport var adaptEventsOfChild = function adaptEventsOfChild(props, data, index) {\n if (!_isObject(props) || _typeof(props) !== 'object') {\n return null;\n }\n var out = null;\n Object.keys(props).forEach(function (key) {\n var item = props[key];\n if (EventKeys.includes(key) && typeof item === 'function') {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index);\n }\n });\n return out;\n};","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n","import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","key","call","join","module","exports","default","globalScope","ONE","MAX_DIGITS","Decimal","precision","rounding","toExpNeg","toExpPos","LN10","external","decimalError","invalidArgument","exponentOutOfRange","mathfloor","Math","floor","mathpow","pow","isDecimal","BASE","LOG_BASE","MAX_SAFE_INTEGER","MAX_E","P","add","x","y","carry","d","e","k","len","xd","yd","Ctor","constructor","pr","s","round","slice","ceil","reverse","unshift","pop","checkInt32","min","max","Error","digitsToString","ws","indexOfLastWord","str","w","getZeroString","absoluteValue","abs","this","comparedTo","cmp","j","xdL","ydL","decimalPlaces","dp","dividedBy","div","divide","dividedToIntegerBy","idiv","equals","eq","exponent","getBase10Exponent","greaterThan","gt","greaterThanOrEqualTo","gte","isInteger","isint","isNegative","isneg","isPositive","ispos","isZero","lessThan","lt","lessThanOrEqualTo","lte","logarithm","log","base","r","wpr","ln","minus","sub","subtract","modulo","mod","q","times","naturalExponential","exp","naturalLogarithm","negated","neg","plus","sd","z","squareRoot","sqrt","n","t","toExponential","indexOf","mul","rL","shift","toDecimalPlaces","todp","rm","toFixed","toInteger","toint","toNumber","toPower","sign","yIsInt","yn","truncate","toPrecision","toSignificantDigits","tosd","valueOf","val","toJSON","multiplyInteger","temp","compare","a","b","aL","bL","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","denominator","sum","getLn10","zs","c","c0","numerator","x2","charAt","parseDecimal","replace","search","substring","charCodeAt","rd","doRound","xdi","xe","xLTy","isExp","arr","config","obj","p","v","ps","clone","value","test","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","set","define","has","prefix","Events","EE","fn","context","once","addListener","emitter","event","TypeError","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","getOwnPropertySymbols","concat","listeners","handlers","l","ee","listenerCount","emit","a1","a2","a3","a4","a5","args","removeListener","undefined","on","removeAllListeners","off","prefixed","DataView","require","getNative","Promise","Set","MapCache","setCacheAdd","setCacheHas","SetCache","values","index","__data__","ListCache","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","entries","data","size","clear","get","Uint8Array","WeakMap","func","thisArg","array","predicate","resIndex","result","baseIndexOf","comparator","baseTimes","isArguments","isBuffer","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","String","offset","string","split","defineProperty","object","baseForOwn","baseEach","createBaseEach","collection","isSymbol","iteratee","current","computed","fromIndex","fromRight","arrayPush","isFlattenable","baseFlatten","depth","isStrict","baseFor","createBaseFor","keys","keysFunc","symbolsFunc","other","baseFindIndex","baseIsNaN","strictIndexOf","baseGetTag","isObjectLike","baseIsEqualDeep","baseIsEqual","bitmask","customizer","stack","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","source","matchData","noCustomizer","objValue","srcValue","COMPARE_PARTIAL_FLAG","isLength","typedArrayTags","baseMatches","baseMatchesProperty","identity","property","isPrototype","nativeKeys","isArrayLike","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","toKey","path","arrayMap","baseGet","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","iteratees","orders","nativeCeil","nativeMax","start","end","step","overRest","setToString","constant","baseSetToString","comparer","sort","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","isCommon","seen","outer","seenIndex","cache","baseSlice","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareAscending","objCriteria","criteria","othCriteria","ordersLength","eachFunc","iterable","props","castSlice","hasUnicode","stringToArray","methodName","strSymbols","chr","trailing","findIndexFunc","baseRange","isIterateeCall","toFinite","noop","arraySome","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","Symbol","mapToArray","symbolProto","symbolValueOf","tag","byteLength","byteOffset","buffer","message","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","getPrototype","overArg","getPrototypeOf","arrayFilter","stubArray","propertyIsEnumerable","nativeGetSymbols","symbol","Map","toSource","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","resolve","ctorString","castPath","hasFunc","reHasUnicode","RegExp","spreadableSymbol","isConcatSpreadable","reIsUint","type","isObject","objectProto","map","forEach","freeGlobal","freeExports","nodeType","freeModule","freeProcess","process","nodeUtil","types","binding","transform","otherArgs","shortOut","nativeNow","Date","now","count","lastCalled","stamp","remaining","pairs","LARGE_ARRAY_SIZE","asciiToArray","unicodeToArray","rsAstralRange","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","match","arrayEvery","baseEvery","guard","find","createFind","baseHasIn","hasPath","baseIsArguments","isFunction","root","stubFalse","Buffer","isNumber","funcProto","Function","funcToString","objectCtorString","proto","baseIsTypedArray","nodeIsTypedArray","arrayLikeKeys","baseKeys","baseAssignValue","baseExtremum","baseGt","baseLt","baseProperty","basePropertyDeep","range","createRange","baseSome","baseOrderBy","baseRest","sortBy","debounce","wait","options","leading","INFINITY","remainder","baseUniq","upperFirst","createCaseFirst","getOwnPropertyNames","combineComparators","comparatorA","comparatorB","state","createIsCircular","areItemsEqual","cachedA","cachedB","delete","getStrictProperties","sameValueZeroEqual","OWNER","getOwnPropertyDescriptor","areArraysEqual","areDatesEqual","getTime","areMapsEqual","aResult","bResult","matchedIndices","aIterable","next","done","bIterable","hasMatch","matchIndex","_a","aKey","aValue","_b","bKey","bValue","areObjectsEqual","properties","$$typeof","areObjectsEqualStrict","descriptorA","descriptorB","configurable","enumerable","writable","arePrimitiveWrappersEqual","areRegExpsEqual","flags","areSetsEqual","areTypedArraysEqual","ARGUMENTS_TAG","BOOLEAN_TAG","DATE_TAG","MAP_TAG","NUMBER_TAG","OBJECT_TAG","REG_EXP_TAG","SET_TAG","STRING_TAG","isView","assign","bind","deepEqual","createCustomEqual","strict","circular","createInternalComparator","createCustomInternalComparator","createState","createCustomConfig","areArraysEqual$1","areMapsEqual$1","areObjectsEqual$1","areSetsEqual$1","createEqualityComparatorConfig","then","createEqualityComparator","meta","createIsEqual","_indexOrKeyA","_indexOrKeyB","_parentA","_parentB","setRafTimeout","callback","timeout","currTime","requestAnimationFrame","shouldUpdate","safeRequestAnimationFrame","_typeof","iterator","_toArray","_arrayWithHoles","iter","from","_iterableToArray","o","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","createAnimateManager","handleChange","shouldStop","setStyle","_style","_styles","curr","restStyles","stop","style","subscribe","_handleChange","ownKeys","enumerableOnly","symbols","filter","sym","_objectSpread","target","_defineProperty","getOwnPropertyDescriptors","defineProperties","input","hint","prim","toPrimitive","res","Number","_toPrimitive","_toPropertyKey","PREFIX_LIST","IN_LINE_PREFIX_LIST","IN_COMPATIBLE_PROPERTY","param","mapObject","reduce","translateStyle","isNaN","isTransition","camelName","toUpperCase","styleVal","generatePrefixStyle","getTransitionVal","duration","easing","prop","toLowerCase","_slicedToArray","_i","_s","_e","_x","_r","_arr","_n","_d","err","return","_iterableToArrayLimit","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","ACCURACY","cubicBezierFactor","c1","c2","multyTime","params","pre","cubicBezier","configBezier","_len","_key","x1","y1","y2","_easing$1$split$0$spl2","parseFloat","every","num","curveX","curveY","derCurveX","newParams","bezier","_t","evalT","derVal","isStepper","configEasing","_len2","_key2","_config$stiff","stiff","_config$damping","damping","_config$dt","dt","stepper","currX","destX","currV","newV","newX","configSpring","alpha","begin","needContinue","_ref","to","calStepperVals","preVals","steps","nextStepVals","_easing2","velocity","render","preObj","nextObj","preTime","beginTime","interKeys","timingStyle","stepperStyle","cafId","update","currStyle","finalStyle","cancelAnimationFrame","_excluded","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_defineProperties","descriptor","_setPrototypeOf","setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","Animate","_PureComponent","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_this$props","isActive","attributeName","children","handleStyleChange","changeStyle","_this$props2","canBegin","mounted","runAnimation","prevProps","_this$props3","shouldReAnimate","currentFrom","isTriggered","manager","stopJSAnimation","_newState","setState","newState","onAnimationEnd","unSubscribe","_this2","onAnimationStart","startAnimation","configUpdate","_this3","_steps$","initialStyle","_steps$$duration","initialTime","sequence","nextItem","_nextItem$easing","nextProperties","preItem","runJSAnimation","transition","newStyle","propsTo","runStepAnimation","_this$props4","others","onAnimationReStart","Children","stateStyle","cloneContainer","container","_container$props","_container$props$styl","className","cloneElement","only","React","child","PureComponent","displayName","defaultProps","propTypes","PropTypes","isRequired","_extends","isFinite","parseDurationOfSingleTransition","entry","AnimateGroupChild","_Component","node","isAppearing","appearOptions","enterOptions","handleStyleActive","leaveOptions","Transition","onEnter","handleEnter","onExit","handleExit","parseTimeout","Component","AnimateGroup","component","appear","enter","leave","TransitionGroup","__esModule","newObj","desc","_interopRequireWildcard","_addClass","_interopRequireDefault","_removeClass","_react","_Transition","addClass","removeClass","CSSTransition","_React$Component","appearing","getClassNames","removeClasses","onEntering","activeClassName","reflowAndAddClass","onEntered","appearClassName","doneClassName","enterClassName","onExiting","onExited","isStringClassNames","_proto","_this$getClassNames6","scrollTop","createElement","_default","_reactDom","_TransitionGroup","ReplaceTransition","_args","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","handler","idx","originalArgs","_child$props","toArray","findDOMNode","inProp","in","_React$Children$toArr","first","second","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","_reactLifecyclesCompat","initialStatus","parentGroup","transitionGroup","isMounting","appearStatus","unmountOnExit","mountOnEnter","status","nextCallback","getChildContext","getDerivedStateFromProps","prevState","componentDidMount","updateStatus","componentDidUpdate","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","mounting","performEnter","performExit","timeouts","enterTimeout","safeSetState","onTransitionEnd","cancel","nextState","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","setTimeout","childProps","contextTypes","childContextTypes","polyfill","_propTypes","_ChildMapping","firstRender","appeared","nextProps","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","_CSSTransition","_ReplaceTransition","element","classList","_hasClass","setAttribute","baseVal","contains","replaceClassName","origClass","classToRemove","remove","mergeChildMappings","getProp","nextChildMapping","isValidElement","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","prev","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","classNamesShape","timeoutsShape","typeguardBarRectangleProps","xProp","yProp","option","xValue","parseInt","yValue","heightValue","height","widthValue","width","radius","BarRectangle","Shape","shapeType","propTransformer","Bar","isAnimationFinished","uniqueId","animationId","prevAnimationId","curData","prevData","shape","dataKey","activeIndex","activeBar","baseProps","filterProps","handleAnimationStart","handleAnimationEnd","Layer","adaptEventsOfChild","layout","isAnimationActive","animationBegin","animationDuration","animationEasing","stepData","interpolatorX","interpolateNumber","interpolatorY","interpolatorWidth","interpolatorHeight","h","_interpolatorHeight","interpolator","renderRectanglesStatically","_isEqual","renderRectanglesWithAnimation","backgroundProps","background","rest","fill","needClip","clipPathId","_this$props5","xAxis","yAxis","errorBarItems","findAllByType","ErrorBar","dataPointFormatter","dataPoint","errorVal","getValueByDataKey","errorBarProps","clipPath","item","_this$props6","hide","left","top","id","layerClass","needClipX","allowDataOverflow","needClipY","_isNil","renderBackground","renderRectangles","renderErrorBar","LabelList","renderCallByParent","xAxisId","yAxisId","legendType","minPointSize","Global","isSsr","_ref2","barPosition","bandSize","xAxisTicks","yAxisTicks","stackedData","dataStartIndex","displayedData","pos","findPositionOfBar","_item$props","numericAxis","stackedDomain","scale","domain","baseValue","getBaseValueOfBar","cells","Cell","rects","truncateByDomain","_isArray","_ref4","_ref3","baseValueScale","currentValueScale","getCateCoordinateOfBar","axis","ticks","computedHeight","delta","mathSign","_ref5","_baseValueScale","_currentValueScale","payload","tooltipPayload","getTooltipItem","tooltipPosition","_excluded2","CartesianGrid","lineItem","_isFunction","_filterProps","restOfFilteredProps","horizontalPoints","horizontal","items","renderLineItem","verticalPoints","vertical","verticalFill","fillOpacity","roundedSortedVerticalPoints","lineWidth","colorIndex","stroke","horizontalFill","roundedSortedHorizontalPoints","lineHeight","horizontalCoordinatesGenerator","verticalCoordinatesGenerator","chartWidth","chartHeight","syncWithTicks","horizontalValues","verticalValues","_this$props7","isHorizontalValues","isVerticalValues","renderHorizontal","renderVertical","renderHorizontalStripes","renderVerticalStripes","u","f","svgProps","errorBars","_dataPointFormatter","lowBound","highBound","lineCoordinates","_errorVal","yMid","yMin","yMax","xMin","xMax","_scale","xMid","_xMin","_xMax","_yMin","_yMax","coordinates","strokeWidth","XAxis","allowDecimals","orientation","mirror","tickCount","padding","right","reversed","allowDuplicatedCategory","YAxis","bottom","getRadialCursorPoints","activeCoordinate","cx","cy","startAngle","endAngle","points","polarToCartesian","getEveryNthWithCondition","isValid","isVisible","tickPosition","getTicks","fontSize","letterSpacing","tick","viewBox","minTickGap","interval","tickFormatter","unit","angle","getNumberIntervalTicks","candidates","sizeKey","unitSize","getStringSize","getTickSize","content","contentSize","getAngledRectangleWidth","getAngledTickWidth","coordinate","boundaries","isWidth","getTickBoundaries","initialStart","stepsize","tickCoord","isShow","getEquidistantTicks","preserveEnd","tail","tailSize","tailGap","gap","getTicksStart","getTicksEnd","getPath","Cross","_ref$x","_ref$y","_ref$top","_ref$left","_ref$width","_ref$height","_excluded3","CartesianAxis","Text","restProps","viewBoxOld","restPropsOld","shallowEqual","htmlLayer","layerReference","getElementsByClassName","window","getComputedStyle","tx","ty","tickSize","tickMargin","finalTickSize","line","textAnchor","verticalAnchor","axisLine","needHeight","needWidth","_get","tickLine","finalTicks","getTickTextAnchor","getTickVerticalAnchor","axisProps","customTickProps","tickLineProps","_this2$getTickLineCoo","getTickLineCoord","lineCoord","tickProps","visibleTicksCount","renderTickItem","ticksGenerator","_this$props8","noTicksProps","ref","renderAxisLine","renderTicks","Label","isTouch","changedTouches","Brush","leaveTimer","clearTimeout","isTravellerMoving","handleTravellerMove","isSlideMoving","handleSlideDrag","handleDrag","endIndex","onDragEnd","startIndex","detachDragEndListener","handleDragEnd","leaveTimeOut","isTextActive","slideMoveStartX","pageX","attachDragEndListener","travellerDragStartHandlers","startX","handleTravellerDragStart","endX","lineY","renderDefaultTraveller","travellerWidth","updateId","prevUpdateId","prevTravellerWidth","prevX","prevWidth","scalePoint","_range","scaleValues","isTravellerFocused","createScale","middle","lastIndex","minIndex","getIndexInRange","maxIndex","text","addEventListener","removeEventListener","_this$state","onChange","newIndex","getIndex","movingTravellerId","brushMoveStartX","_this$setState","_this$state2","prevValue","isFullGap","direction","_this$state3","currentScaleValue","currentIndex","newScaleValue","chartElement","margin","compact","travellerX","traveller","travellerProps","tabIndex","role","onMouseEnter","handleEnterSlideOrTraveller","onMouseLeave","handleLeaveSlideOrTraveller","onMouseDown","onTouchStart","onKeyDown","preventDefault","stopPropagation","handleTravellerMoveKeyboard","onFocus","onBlur","cursor","renderTraveller","_this$props9","handleSlideDragStart","_this$props10","_this$state4","attrs","pointerEvents","getTextOfTick","_this$props11","alwaysShowText","_this$state5","isPanoramic","handleLeaveWrapper","onTouchMove","handleTouchMove","renderPanorama","renderSlide","renderTravellerLayer","renderText","ifOverflowMatches","alwaysShow","ifOverflow","ReferenceDot","isX","isNumOrStr","isY","warn","scales","createLabeledScales","bandAware","isInRange","getCoordinate","dotProps","renderDot","isFront","Dot","ReferenceLine","fixedX","fixedY","segment","endPoints","isFixedX","isFixedY","isSegment","_props$viewBox","position","yCoord","coord","xCoord","_orientation","_coord","_points","_points2","_some","getEndPoints","_endPoints","_endPoints$","_endPoints$2","lineProps","renderLine","rectWithCoords","ReferenceArea","hasX1","hasX2","hasY1","hasY2","rect","xValue1","xValue2","yValue1","yValue2","p1","rangeMin","p2","rangeMax","rectWithPoints","getRect","renderRect","Rectangle","detectReferenceElementsDomain","axisId","axisType","specifiedTicks","lines","dots","elements","areas","idKey","valueKey","finalDomain","el","key1","key2","value1","value2","eventCenter","setMaxListeners","SYNC_EVENT","AccessibilityManager","_ref$coordinateList","coordinateList","_ref$container","_ref$layout","_ref$offset","_ref$mouseHandlerCall","mouseHandlerCallback","spoofMouse","_this$container$getBo","getBoundingClientRect","pageY","getCursorPoints","innerRadius","outerRadius","innerPoint","outerPoint","ORIENT_MAP","originCoordinate","isFinit","getDisplayedData","graphicalItems","dataEndIndex","itemsData","itemData","getDefaultDomainByAxisType","getTooltipContent","chartData","activeLabel","tooltipAxis","_child$props$data","findEntryInArray","getTooltipData","rangeObj","rangeData","chartX","chartY","calculateTooltipPos","orderedTooltipTicks","tooltipTicks","calculateActiveTickIndex","activePayload","_angle","_radius","getActiveCoordinate","activeTooltipIndex","getAxisMapByAxes","axes","axisIdKey","stackGroups","stackOffset","isCategorical","isCategoricalAxis","_child$props$domain2","includeHidden","duplicateDomain","categoricalDomain","domainStart","domainEnd","isDomainSpecifiedByUser","parseSpecifiedDomain","getDomainOfDataByKey","defaultDomain","_child$props$domain","childDomain","duplicate","hasDuplicate","parseDomainOfCategoryAxis","errorBarsDomain","parseErrorBarsOfAxis","hasStack","getDomainOfStackGroups","getDomainOfItemsWithSameAxis","axisDomain","originalDomain","getAxisMap","_ref4$axisType","AxisComp","axisMap","Axis","getAxisMapByItems","createDefaultState","_brushItem$props","_brushItem$props2","defaultShowTooltip","brushItem","findChildByType","isTooltipActive","getAxisNameByLayout","numericAxisName","cateAxisName","generateCategoricalChart","_ref6","_class","chartName","GraphicalChild","_ref6$defaultTooltipE","defaultTooltipEventType","_ref6$validateTooltip","validateTooltipEventTypes","axisComponents","legendContent","formatAxisMap","getFormatItems","currentState","barSize","barGap","barCategoryGap","globalMaxBarSize","maxBarSize","_getAxisNameByLayout","hasBar","some","getDisplayName","hasGraphicalBarItem","sizeList","getBarSizeList","formattedItems","childMaxBarSize","numericAxisId","cateAxisId","axisObj","_objectSpread6","condition","invariant","getTicksOfAxis","cateAxis","cateTicks","getStackedDataOfItem","itemIsBar","getBandSizeOfAxis","_ref7","_getBandSizeOfAxis","barBandSize","getBarPosition","_objectSpread7","composedFn","getComposedData","childIndex","parseChildIndex","updateStateOfAxisMapsOffsetAndStackGroups","_ref8","validateWidthHeight","reverseStackOrder","_getAxisNameByLayout2","getStackGroupsByAxisId","prevLegendBBox","_ref5$xAxisMap","xAxisMap","_ref5$yAxisMap","yAxisMap","legendItem","Legend","offsetH","offsetV","brushBottom","appendOffsetOfLegend","calculateOffset","legendBBox","ticksObj","getAnyElementOfObject","_sortBy","tooltipAxisBandSize","tooltipTicksGenerator","formattedGraphicalItems","CategoricalChartWrapper","_props","cancelDefer","box","cId","chartId","syncId","uniqueChartId","clearDefer","frame","setImmediate","handle","clearImmediate","timer","deferer","applySyncEvent","_ref9","triggerSyncEvent","mouse","getMouseInfo","_nextState","onMouseMove","activeItem","persist","triggeredAfterMouseMove","cancelThrottledTriggerAfterMouseMove","eventName","getReactEventByType","onClick","_nextState2","onMouseUp","handleMouseMove","handleMouseDown","handleMouseUp","_ref10","getCoordinatesOfGrid","_ref11","tooltipEventType","getTooltipEventType","cursorComp","Curve","halfSize","getCursorRectangle","_getRadialCursorPoint","Sector","cursorProps","payloadIndex","axisOption","renderAxis","_find","_every","_element$props","radialLines","polarAngles","polarRadius","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","legendWidth","getLegendProps","otherProps","onBBoxUpdate","handleLegendBBoxUpdate","tooltipItem","Tooltip","label","_this$state6","combineEventHandlers","handleBrushChange","_this$state7","_element$props2","_ref12","activePoint","basePoint","isRange","_item$item$props","activeDot","getMainColorOfGraphicItem","adaptEventHandlers","renderActiveDot","filterFormatItem","_this$state8","_item$props2","baseLine","_item$item$props2","activeShape","hasActive","itemEvents","trigger","handleItemMouseEnter","onCLick","handleItemMouseLeave","graphicalItem","_this$getItemByXY","_ref13$graphicalItem","getItemByXY","_ref13$graphicalItem$","xyItem","elementProps","specifiedKey","renderActivePoints","throttleDelay","_throttle","_this$props$margin$le","_this$props$margin$to","accessibilityManager","setDetails","accessibilityLayer","_this$props$margin$le2","_this$props$margin$to2","_isBoolean","shared","eventType","_element$getBoundingC","containerOffset","getOffset","calculateChartCoordinate","offsetWidth","inRange","_this$state9","xScale","yScale","invert","toolTipData","scaledX","scaledY","_this$state10","inRangeOfSector","tooltipEvents","handleClick","handleMouseEnter","handleMouseLeave","handleTouchStart","onTouchEnd","handleTouchEnd","handleOuterEvent","handleReceiveSyncEvent","_maxListeners","syncMethod","_this$state11","validateChartX","validateChartY","axisOptions","axesTicksGenerator","_this$state$offset","_ref14","_ref15","_ref16","_ref17","_this$state$xAxisMap","_this$state$yAxisMap","chartXY","_this$state12","itemDisplayName","activeBarItem","isInRectangle","_activeBarItem","isFunnel","isPie","isScatter","getActiveShapeIndexForTooltip","activeTooltipItem","title","renderGrid","renderReferenceElement","renderXAxis","renderYAxis","renderBrush","renderGraphicChild","Line","Area","Radar","RadialBar","Scatter","Pie","Funnel","renderCursor","PolarGrid","renderPolarGrid","PolarAngleAxis","renderPolarAxis","PolarRadiusAxis","Customized","renderCustomized","Surface","renderClipPath","renderByOrder","keyboardEvent","focus","parseEventsOfWrapper","renderLegend","renderTooltip","defaultState","prevHeight","prevLayout","prevStackOffset","prevMargin","prevChildren","_defaultState","keepFromPrevState","updatesToState","isChildrenEqual","newUpdateId","dot","getLabel","formatter","renderRadialLabel","labelProps","labelAngle","clockWise","deltaAngle","getDeltaAngle","startPoint","endPoint","dominantBaseline","xlinkHref","getAttrsOfPolarLabel","midAngle","_polarToCartesian","_polarToCartesian2","getAttrsOfCartesianLabel","parentViewBox","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","_attrs2","_attrs3","sizeAttrs","_isObject","isPercent","getPercentValue","isPolar","_ref4$offset","_props$className","textBreakAll","isPolarLabel","positionAttrs","breakAll","parseViewBox","labelViewBox","parentProps","checkPropsLabel","explicitChildren","implicitLabel","parseLabel","defaultAccessor","_last","_ref$valueAccessor","valueAccessor","idProps","parseLabelList","SIZE","DefaultLegendContent","inactiveColor","sixthSize","thirdSize","color","inactive","strokeDasharray","legendIcon","iconProps","Symbols","sizeType","iconSize","itemStyle","display","marginRight","svgStyle","verticalAlign","_classNames","finalFormatter","entryValue","renderIcon","align","textAlign","renderItems","defaultUniqBy","getUniqPayload","_uniqBy","boxWidth","boxHeight","updateBBox","wrapperNode","hPos","vPos","getBBoxSnapshot","_box3","wrapperStyle","payloadUniqBy","outerStyle","getDefaultPosition","renderContent","MULTIPLY_OR_DIVIDE_REGEX","ADD_OR_SUBTRACT_REGEX","CSS_LENGTH_UNIT_REGEX","NUM_SPLIT_REGEX","CONVERSION_RATES","cm","mm","pt","pc","Q","px","FIXED_CSS_LENGTH_UNITS","STR_NAN","DecimalCSS","NaN","convertToPx","_NUM_SPLIT_REGEX$exec","exec","numStr","calculateArithmetic","expr","newExpr","_MULTIPLY_OR_DIVIDE_R","leftOperand","operator","rightOperand","lTs","parse","rTs","multiply","_ADD_OR_SUBTRACT_REGE","_leftOperand","_operator","_rightOperand","_lTs","_rTs","_result","PARENTHESES_REGEX","evaluateExpression","expression","parentheticalExpression","calculateParentheses","reduceCSSCalc","safeEvaluateExpression","BREAKING_SPACES","calculateWordWidths","words","wordsWithComputedWidth","word","spaceWidth","getWordsWithoutCalculate","getWordsByLines","scaleToFit","maxLines","wordWidths","initialWordsWithComputedWith","shouldLimitLines","calculate","currentLine","newLine","originalResult","trimmedResult","checkOverflow","tempText","doesOverflow","findLongestLine","iterations","_checkOverflow2","doesPrevOverflow","doesMiddleOverflow","calculateWordsByLines","DEFAULT_FILL","_ref5$x","propsX","_ref5$y","propsY","_ref5$lineHeight","_ref5$capHeight","capHeight","_ref5$scaleToFit","_ref5$textAnchor","_ref5$verticalAnchor","_ref5$fill","wordsByLines","useMemo","dx","dy","textProps","startDy","transforms","defaultFormatter","DefaultTooltipContent","_props$separator","separator","_props$contentStyle","contentStyle","_props$itemStyle","_props$labelStyle","labelStyle","itemSorter","wrapperClassName","labelClassName","labelFormatter","backgroundColor","border","whiteSpace","finalLabelStyle","hasLabel","finalLabel","wrapperCN","labelCN","finalItemStyle","paddingTop","paddingBottom","finalValue","finalName","formatted","_formatted","CLS_PREFIX","dismissed","dismissedAtCoordinate","tooltipDimension","viewBoxDimension","allowEscapeViewBox","reverseDirection","negative","positive","document","handleKeyDown","translateX","translateY","filterNull","finalPayload","hasPayload","visibility","getTranslate","useTranslate3d","cls","cursorStyle","svgView","point","that","_context","bezierCurveTo","_x0","_x1","_y0","_y1","Basis","BasisClosed","BasisOpen","areaStart","_line","areaEnd","lineStart","_point","lineEnd","lineTo","closePath","moveTo","_x2","_x3","_x4","_y2","_y3","_y4","x0","y0","Bump","LinearClosed","Linear","slope3","h0","h1","s0","s1","slope2","t0","t1","MonotoneX","MonotoneY","ReflectContext","Natural","controlPoints","m","Step","_t0","_y","py","i0","i1","defined","curve","curveLinear","output","withPath","defined0","pointX","pointY","_","area","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","CURVE_FACTORIES","curveBasisClosed","curveBasisOpen","curveBasis","curveBumpX","curveBumpY","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","getX","getY","lineFunction","_ref$type","_ref$points","_ref$connectNulls","connectNulls","curveFactory","_upperFirst","getCurveFactory","formatPoints","formatBaseLine","areaPoints","shapeArea","shapeLine","pathRef","realPath","getRectanglePath","maxRadius","ySign","xSign","newRadius","_newRadius","minX","maxX","minY","maxY","isUpdateAnimationActive","rectangleProps","useRef","_useState2","useState","totalLength","setTotalLength","useEffect","getTotalLength","pathTotalLength","currWidth","currHeight","currY","getTangentCircle","isExternal","cornerRadius","cornerIsExternal","centerRadius","theta","asin","RADIAN","centerAngle","lineTangencyAngle","center","circleTangency","lineTangency","cos","getSectorPath","tempEndAngle","outerStartPoint","outerEndPoint","innerStartPoint","innerEndPoint","forceCornerRadius","sectorProps","deltaRadius","cr","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","getSectorWithCorner","atan2","sin","pi","PI","tau","draw","arc","tan30","tan30_2","kr","kx","ky","sqrt3","symbolFactories","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","_ref$size","_ref$sizeType","filteredProps","symbolFactory","getSymbolFactory","circle","shapeSymbol","tan","calculateAreaSize","registerSymbol","factory","getTrapezoidPath","upperWidth","lowerWidth","widthGap","Trapezoid","trapezoidProps","currUpperWidth","currLowerWidth","defaultPropTransformer","ShapeSelector","_elementProps","isSymbolsProps","_ref2$propTransformer","_ref2$activeClassName","_isPlainObject","_elementProps2","_item","compareFunnel","shapeData","_activeTooltipItem$la","_activeTooltipItem$la2","xMatches","yMatches","comparePie","startAngleMatches","endAngleMatches","compareScatter","zMatches","shapeKey","getShapeDataKey","_activeItem$tooltipPa","_activeItem$tooltipPa2","getActiveShapeTooltipPayload","activeItemMatches","datum","dataIndex","valuesMatch","mouseCoordinateMatches","comparison","getComparisonFn","indexOfMouseCoordinates","ids","leftMirror","rightMirror","topMirror","bottomMirror","calculatedPadding","needSpace","_axis$padding","offsetKey","diff","smallestDistanceBetweenValues","Infinity","sortedValues","smallestDistanceInPercent","rangeWidth","halfBand","_parseScale","parseScale","realScaleType","checkDomainOfScale","getTicksOfScale","finalAxis","ScaleHelper","bandwidth","_offset","_offset2","last","_mapValues","normalizedAngle","normalizeAngle","angleRadians","angleThreshold","atan","angledWidth","e10","e5","e2","tickSpec","power","log10","error","factor","i2","inc","tickIncrement","tickStep","ascending","descending","bisector","compare1","compare2","lo","hi","mid","zero","number","ascendingBisect","bisectRight","extend","parent","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","format","trim","rgbn","Rgb","rgba","hsla","g","opacity","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","Hsl","hslConvert","clamph","clampt","hsl2rgb","m1","m2","basis","v0","v1","v2","v3","t2","t3","copy","channels","displayable","formatHex8","formatHsl","clamp","linear","gamma","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","spline","colors","genericArray","nb","na","setTime","reA","reB","am","bm","bs","bi","one","date","numberArray","normalize","bimap","interpolate","d0","d1","r0","r1","polymap","bisect","unknown","transformer","untransform","piecewise","interpolateValue","rescale","clamper","rangeRound","interpolateRound","continuous","prefixExponent","re","formatSpecifier","specifier","FormatSpecifier","comma","formatDecimalParts","coefficient","%","toLocaleString","formatRounded","locale","formatPrefix","prefixes","grouping","thousands","group","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","nan","newFormat","formatTypes","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","formatTrim","tickFormat","precisionPrefix","precisionRound","precisionFixed","linearish","nice","prestep","maxIter","initRange","transformLog","transformExp","transformLogn","transformExpn","pow10","reflect","loggish","logs","pows","E","log2","logp","powp","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","formatLocale","transformPow","transformSqrt","transformSquare","powish","square","radial","squared","unsquare","valueof","compareDefined","ascendingDefined","quickselect","swap","quantile","Float64Array","numbers","value0","subarray","quantileSorted","thresholds","threshold","invertExtent","quantiles","quantize","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","timeInterval","floori","offseti","field","previous","millisecond","getMilliseconds","getUTCSeconds","timeMinute","getSeconds","getMinutes","utcMinute","setUTCSeconds","getUTCMinutes","timeHour","getHours","utcHour","setUTCMinutes","getUTCHours","timeDay","setHours","setDate","getDate","getTimezoneOffset","utcDay","setUTCHours","setUTCDate","getUTCDate","unixDay","timeWeekday","getDay","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","setMonth","getMonth","getFullYear","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","timeYear","setFullYear","utcYear","setUTCFullYear","ticker","year","month","week","day","hour","minute","tickIntervals","tickInterval","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","H","M","S","L","utcDate","UTC","newDate","timeFormat","utcFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","time","timeWeek","timeSecond","utcTime","utcWeek","utcSecond","k10","sequential","initInterpolator","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","k21","r2","I","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","series","order","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","newParse","X","utcParse","defaultLocale","stackValue","stackSeries","PLACE_HOLDER","isPlaceHolder","curry0","_curried","curryN","argsLength","restArgs","newArgs","curry","compose","fns","firstFn","tailsFn","memoize","lastArgs","lastResult","rangeStep","getDigitCount","newA","uninterpolateNumber","uninterpolateTruncation","getValidInterval","validMin","validMax","getFormatStep","roughStep","correctionFactor","digitCount","Arithmetic","digitCountValue","stepRatio","stepRatioScale","formatStep","getTickOfSingleValue","absVal","middleIndex","calculateStep","tickMin","tickMax","belowCount","upCount","scaleCount","getNiceTickValues","_getValidInterval2","cormin","cormax","_values","_calculateStep","getTickValuesFixedDomain","_getValidInterval4","_getValidInterval6","defaultValue","filterNil","flattenData","_flatMap","_min","_max","_ticks$length","unsortedTicks","before","cur","after","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","globalSize","_ref2$stackGroups","numericAxisIds","sgs","stackIds","sLen","_sgs$stackIds$j","barItems","selfSize","cateId","stackList","_ref3$sizeList","realBarGap","initialValue","useFull","fullBarSize","newPosition","newRes","originalSize","_unused","legendBox","legendProps","getDomainOfErrorBars","errorBarChild","isErrorBarRelevantForAxis","mainValue","errorDomain","prevErrorArr","errorValue","lowerValue","upperValue","domains","hasMin","hasMax","isGrid","isAll","offsetForBand","niceTicks","scaleContent","row","_isNaN","defaultHandler","parentHandler","childHandler","customizedHandler","arg1","arg2","arg3","arg4","chartType","d3Scales","_isString","EPS","STACK_OFFSET_MAP","expand","none","stackOffsetNone","silhouette","wiggle","s2","si","sij0","s3","sk","getStackedData","stackItems","offsetType","dataKeys","offsetAccessor","orderNone","offsetNone","oz","sz","shapeStack","stackOrderNone","_items","stackId","childGroup","opts","scaleType","tickValues","_domain","getCateCoordinateOfLine","matchedTick","itemIndex","MIN_VALUE_REG","MAX_VALUE_REG","specifiedDomain","dataDomain","_value","isBar","bandWidth","orderedTicks","calculatedDomain","axisChild","_graphicalItem$props","tooltipType","stringCache","widthCache","cacheCount","SPAN_STYLE","STYLE_LIST","MEASUREMENT_SPAN_ID","getStyleString","styleString","cacheKey","measurementSpan","getElementById","body","appendChild","measurementSpanStyle","styleKey","textContent","html","ownerDocument","documentElement","pageYOffset","clientTop","pageXOffset","clientLeft","_isNumber","idCounter","totalValue","validate","ary","numberA","numberB","specifiedValue","radianToDegree","angleInRadian","getMaxRadius","_range2","getAngleOfPoint","anotherPoint","distanceBetweenPoints","acos","reverseFormatAngleOfSetor","startCnt","endCnt","sector","_getAngleOfPoint","_formatAngleOfSector","formatAngleOfSector","formatAngle","REACT_BROWSER_EVENT_MAP","click","mousedown","mouseup","mouseover","mousemove","mouseout","mouseenter","mouseleave","touchcancel","touchend","touchmove","touchstart","Comp","lastChildren","isFragment","childType","_el$props","SVG_TAGS","isSvgElement","isDotProps","includeEvents","svgElementType","inputProps","_inputProps","_FilteredElementKeyMa","matchingElementTypeKeys","FilteredElementKeyMap","SVGElementPropKeys","EventKeys","isValidSpreadableProp","nextChildren","isSingleChildEqual","nextChild","renderMap","record","results","legendData","sectors","iconType","getWithHeight","PolyElementKeys","svg","polygon","polyline","newHandler","originalHandler","getEventHandlerOfChild","band","ordinal","ordinalRange","paddingInner","paddingOuter","pointish","InternMap","keyof","super","_intern","intern_get","intern_set","intern_delete","implicit","_taggedTemplateLiteral","strings","raw","freeze","epsilon","tauEpsilon","append","Path","digits","_append","appendRound","_templateObject","_templateObject2","_templateObject3","quadraticCurveTo","_templateObject4","_templateObject5","arcTo","x21","y21","x01","y01","l01_2","_templateObject6","x20","y20","l21_2","l20_2","l21","l01","t01","t21","_templateObject8","_templateObject9","_templateObject7","a0","ccw","cw","da","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","RangeError"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3115.a031bcba.chunk.js b/portal-ui/build/static/js/3115.b1789617.chunk.js similarity index 89% rename from portal-ui/build/static/js/3115.a031bcba.chunk.js rename to portal-ui/build/static/js/3115.b1789617.chunk.js index aca7ee4ecc..eb1ef8bfd0 100644 --- a/portal-ui/build/static/js/3115.a031bcba.chunk.js +++ b/portal-ui/build/static/js/3115.b1789617.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3115],{75578:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(72791),l=n(80184);const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,l.jsx)(s.Suspense,{fallback:t,children:(0,l.jsx)(e,{...n})})}}},93115:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});var s=n(72791),l=n(57689),a=n(75578),h=n(50099),i=n(80184);const r=(0,a.Z)(s.lazy((()=>Promise.all([n.e(2977),n.e(5661)]).then(n.bind(n,35661))))),u=(0,a.Z)(s.lazy((()=>n.e(7134).then(n.bind(n,17134))))),j=(0,a.Z)(s.lazy((()=>n.e(3034).then(n.bind(n,33034))))),x=(0,a.Z)(s.lazy((()=>n.e(3138).then(n.bind(n,53138))))),d=()=>(0,i.jsxs)(l.Z5,{children:[(0,i.jsx)(l.AW,{path:"status",element:(0,i.jsx)(r,{})}),(0,i.jsx)(l.AW,{path:"keys",element:(0,i.jsx)(u,{})}),(0,i.jsx)(l.AW,{path:"add-key",element:(0,i.jsx)(j,{})}),(0,i.jsx)(l.AW,{path:"import-key",element:(0,i.jsx)(x,{})}),(0,i.jsx)(l.AW,{path:"*",element:(0,i.jsx)(h.Z,{})})]})}}]); -//# sourceMappingURL=3115.a031bcba.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3115],{75578:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(72791),l=n(80184);const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,l.jsx)(s.Suspense,{fallback:t,children:(0,l.jsx)(e,{...n})})}}},93115:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});var s=n(72791),l=n(57689),a=n(75578),h=n(50099),i=n(80184);const r=(0,a.Z)(s.lazy((()=>Promise.all([n.e(6380),n.e(5661)]).then(n.bind(n,35661))))),u=(0,a.Z)(s.lazy((()=>n.e(7134).then(n.bind(n,17134))))),j=(0,a.Z)(s.lazy((()=>n.e(3034).then(n.bind(n,33034))))),x=(0,a.Z)(s.lazy((()=>n.e(3138).then(n.bind(n,53138))))),d=()=>(0,i.jsxs)(l.Z5,{children:[(0,i.jsx)(l.AW,{path:"status",element:(0,i.jsx)(r,{})}),(0,i.jsx)(l.AW,{path:"keys",element:(0,i.jsx)(u,{})}),(0,i.jsx)(l.AW,{path:"add-key",element:(0,i.jsx)(j,{})}),(0,i.jsx)(l.AW,{path:"import-key",element:(0,i.jsx)(x,{})}),(0,i.jsx)(l.AW,{path:"*",element:(0,i.jsx)(h.Z,{})})]})}}]); +//# sourceMappingURL=3115.b1789617.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3115.a031bcba.chunk.js.map b/portal-ui/build/static/js/3115.b1789617.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/3115.a031bcba.chunk.js.map rename to portal-ui/build/static/js/3115.b1789617.chunk.js.map index bc570b7a14..a80f8e9ee7 100644 --- a/portal-ui/build/static/js/3115.a031bcba.chunk.js.map +++ b/portal-ui/build/static/js/3115.b1789617.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3115.a031bcba.chunk.js","mappings":"kJAiCA,QAfA,SACEA,GAEC,IADDC,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAUtC,OARA,SAA+BG,GAC7B,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAQ,CAACN,SAAUA,EAASO,UAC3BF,EAAAA,EAAAA,KAACN,EAAgB,IAAMK,KAG7B,CAGF,C,2GCTA,MAAMI,GAASC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,4DACvCC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCACzCE,GAASH,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCACvCG,GAAYJ,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCAchD,EAZkBI,KAEdC,EAAAA,EAAAA,MAACC,EAAAA,GAAM,CAAAT,SAAA,EACLF,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,SAAUC,SAASd,EAAAA,EAAAA,KAACG,EAAM,OACvCH,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,OAAQC,SAASd,EAAAA,EAAAA,KAACM,EAAQ,OACvCN,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,UAAWC,SAASd,EAAAA,EAAAA,KAACO,EAAM,OACxCP,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,aAAcC,SAASd,EAAAA,EAAAA,KAACQ,EAAS,OAC9CR,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,IAAKC,SAASd,EAAAA,EAAAA,KAACe,EAAAA,EAAY,Q","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/KMS/KMSRoutes.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport NotFoundPage from \"../../NotFoundPage\";\n\nconst Status = withSuspense(React.lazy(() => import(\"./Status\")));\nconst ListKeys = withSuspense(React.lazy(() => import(\"./ListKeys\")));\nconst AddKey = withSuspense(React.lazy(() => import(\"./AddKey\")));\nconst ImportKey = withSuspense(React.lazy(() => import(\"./ImportKey\")));\n\nconst KMSRoutes = () => {\n return (\n \n } />\n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default KMSRoutes;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","Status","withSuspense","React","ListKeys","AddKey","ImportKey","KMSRoutes","_jsxs","Routes","Route","path","element","NotFoundPage"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3115.b1789617.chunk.js","mappings":"kJAiCA,QAfA,SACEA,GAEC,IADDC,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAUtC,OARA,SAA+BG,GAC7B,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAQ,CAACN,SAAUA,EAASO,UAC3BF,EAAAA,EAAAA,KAACN,EAAgB,IAAMK,KAG7B,CAGF,C,2GCTA,MAAMI,GAASC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,4DACvCC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCACzCE,GAASH,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCACvCG,GAAYJ,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCAchD,EAZkBI,KAEdC,EAAAA,EAAAA,MAACC,EAAAA,GAAM,CAAAT,SAAA,EACLF,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,SAAUC,SAASd,EAAAA,EAAAA,KAACG,EAAM,OACvCH,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,OAAQC,SAASd,EAAAA,EAAAA,KAACM,EAAQ,OACvCN,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,UAAWC,SAASd,EAAAA,EAAAA,KAACO,EAAM,OACxCP,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,aAAcC,SAASd,EAAAA,EAAAA,KAACQ,EAAS,OAC9CR,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,IAAKC,SAASd,EAAAA,EAAAA,KAACe,EAAAA,EAAY,Q","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/KMS/KMSRoutes.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport NotFoundPage from \"../../NotFoundPage\";\n\nconst Status = withSuspense(React.lazy(() => import(\"./Status\")));\nconst ListKeys = withSuspense(React.lazy(() => import(\"./ListKeys\")));\nconst AddKey = withSuspense(React.lazy(() => import(\"./AddKey\")));\nconst ImportKey = withSuspense(React.lazy(() => import(\"./ImportKey\")));\n\nconst KMSRoutes = () => {\n return (\n \n } />\n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default KMSRoutes;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","Status","withSuspense","React","ListKeys","AddKey","ImportKey","KMSRoutes","_jsxs","Routes","Route","path","element","NotFoundPage"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4902.5f84da7e.chunk.js b/portal-ui/build/static/js/4902.93ad3d30.chunk.js similarity index 99% rename from portal-ui/build/static/js/4902.5f84da7e.chunk.js rename to portal-ui/build/static/js/4902.93ad3d30.chunk.js index 5faf1e3214..1f7261646e 100644 --- a/portal-ui/build/static/js/4902.5f84da7e.chunk.js +++ b/portal-ui/build/static/js/4902.93ad3d30.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4902],{75578:(e,t,n)=>{n.d(t,{Z:()=>a});var i=n(72791),l=n(80184);const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,l.jsx)(i.Suspense,{fallback:t,children:(0,l.jsx)(e,{...n})})}}},74902:(e,t,n)=>{n.r(t),n.d(t,{default:()=>S});var i=n(72791),l=n(29945),a=n(81207),s=n(56087),o=n(28182),r=n(78290),c=n(16444),d=n(26181),x=n.n(d),u=n(80184);const p=c.ZP.div((e=>{let{theme:t}=e;return{display:"grid",margin:"0 1.5rem 0 1.5rem",gridTemplateColumns:"1fr 1fr 1fr 1fr",["@media (max-width: ".concat(l.Egj.sm,"px)")]:{gridTemplateColumns:"1fr 1fr 1fr"},"&.paid-plans-only":{display:"grid",gridTemplateColumns:"1fr 1fr 1fr"},"& .features-col":{flex:1,minWidth:"260px","@media (max-width: 600px)":{display:"none"}},"& .xs-only":{display:"none"},"& .button-box":{display:"flex",alignItems:"center",justifyContent:"center",padding:"5px 0px 25px 0px",borderLeft:"1px solid ".concat(x()(t,"borderColor","#EAEAEA"))},"& .plan-header":{height:"99px",borderBottom:"1px solid ".concat(x()(t,"borderColor","#EAEAEA"))},"& .feature-title":{height:"25px",paddingLeft:"26px",fontSize:"14px",background:x()(t,"signalColors.disabled","#E5E5E5"),color:x()(t,"signalColors.main","#07193E"),"@media (max-width: 600px)":{"& .feature-title-info .xs-only":{display:"block"}}},"& .feature-name":{minHeight:"60px",padding:"5px",borderBottom:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),display:"flex",alignItems:"center",paddingLeft:"26px",fontSize:"14px"},"& .feature-item":{display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"center",minHeight:"60px",padding:"0 15px 0 15px",borderBottom:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),borderLeft:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),fontSize:"14px","& .link-text":{color:"#2781B0",cursor:"pointer",textDecoration:"underline"},"&.icon-yes":{width:"15px",height:"15px"}},"& .feature-item-info":{flex:1,display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"space-around",textAlign:"center","@media (max-width: 600px)":{justifyContent:"space-evenly",width:"100%","& .xs-only":{display:"block"},"& .plan-feature":{textAlign:"center",paddingRight:"10px"}}},"& .plan-col":{minWidth:"260px",flex:1},"& .active-plan-col":{background:"".concat(x()(t,"boxBackground","#FDFDFD")," 0% 0% no-repeat padding-box"),boxShadow:" 0px 3px 20px #00000038","& .plan-header":{backgroundColor:x()(t,"signalColors.info","#2781B0")},"& .feature-title":{background:x()(t,"signalColors.disabled","#E5E5E5"),color:x()(t,"fontColor","#000")}}}})),f=c.ZP.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",borderLeft:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),borderBottom:"0px !important","& .plan-header":{display:"flex",alignItems:"center",justifyContent:"center",flexFlow:"column"},"& .title-block":{display:"flex",alignItems:"center",flexFlow:"column",width:"100%","& .title-main":{display:"flex",alignItems:"center",justifyContent:"center",flex:1},"& .iconContainer":{"& .min-icon":{minWidth:140,width:"100%",maxHeight:55,height:"100%"}}},"& .open-source":{fontSize:"14px",display:"flex",marginBottom:"5px",alignItems:"center","& .min-icon":{marginRight:"8px",height:"12px",width:"12px"}},"& .cur-plan-text":{fontSize:"12px",textTransform:"uppercase"},"@media (max-width: 600px)":{cursor:"pointer","& .title-block":{"& .title":{fontSize:"14px",fontWeight:600}}},"&.active, &.active.xs-active":{color:"#ffffff",position:"relative","& .min-icon":{fill:"#ffffff"},"&:before":{content:"' '",position:"absolute",width:"100%",height:"18px",backgroundColor:x()(t,"signalColors.info","#2781B0"),display:"block",top:-16},"& .iconContainer":{"& .min-icon":{marginTop:"-12px"}}},"&.active":{backgroundColor:x()(t,"signalColors.info","#2781B0"),color:"#ffffff"},"&.xs-active":{background:"#eaeaea"}}})),m=c.ZP.div((e=>{let{theme:t}=e;return{border:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),borderTop:"0px",marginBottom:"45px","&::-webkit-scrollbar":{width:"5px",height:"5px"},"&::-webkit-scrollbar-track":{background:"#F0F0F0",borderRadius:0,boxShadow:"inset 0px 0px 0px 0px #F0F0F0"},"&::-webkit-scrollbar-thumb":{background:"#777474",borderRadius:0},"&::-webkit-scrollbar-thumb:hover":{background:"#5A6375"}}})),h=e=>{let{isActive:t,isXsViewActive:n,title:i,onClick:l,children:a}=e;const s=i.toLowerCase();return(0,u.jsx)(f,{className:(0,o.Z)({"plan-header":!0,active:t,"xs-active":n}),onClick:()=>{l&&l(s)},children:a})},b=e=>(0,u.jsx)(l.xuv,{className:"feature-title",children:(0,u.jsx)(l.xuv,{className:"feature-title-info",children:(0,u.jsxs)("div",{className:"xs-only",children:[e.featureLabel," "]})})}),g=e=>(0,u.jsx)(l.xuv,{className:"feature-item",style:e.style,children:(0,u.jsxs)(l.xuv,{className:"feature-item-info",children:[(0,u.jsx)("div",{className:"xs-only",children:(0,r.BK)(e.featureLabel||"")}),(0,u.jsxs)(l.xuv,{className:"plan-feature",children:[(0,u.jsx)("div",{children:(0,r.BK)(e.label||"")}),(0,r.BK)(e.detail),(0,u.jsxs)("div",{className:"xs-only",children:[e.xsLabel," "]})]})]})}),j=e=>{var t;let{licenseInfo:n}=e;const[a,s]=(0,i.useState)(window.innerWidth>=l.Egj.sm);(0,i.useEffect)((()=>{const e=()=>{let e=!1;window.innerWidth>=l.Egj.sm&&(e=!0),s(e)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);let o=n?null===n||void 0===n||null===(t=n.plan)||void 0===t?void 0:t.toLowerCase():"community";const c=o===r.a6.COMMUNITY,d=o===r.a6.STANDARD,x=o===r.a6.ENTERPRISE,f=r.eo.includes(o),[j,v]=(0,i.useState)("");let y=j===r.a6.COMMUNITY,E=j===r.a6.STANDARD,w=j===r.a6.ENTERPRISE;const C=(e,t,n,i)=>{let a="community"!==o?"https://subnet.min.io":e;return(0,u.jsx)(l.zxk,{id:"license-action-".concat(e),variant:n,style:{marginTop:"12px",width:"80%"},disabled:o!==r.a6.COMMUNITY&&o!==i,onClick:e=>{e.preventDefault(),window.open("".concat(a,"?ref=con"),"_blank")},label:t})},N=e=>{v(e)};(0,i.useEffect)((()=>{v(a?o||"community":"")}),[a,o]);const k=r.Of;return(0,u.jsx)(i.Fragment,{children:(0,u.jsxs)(m,{children:[(0,u.jsx)(l.xuv,{className:"title-blue-bar",sx:{height:"8px",borderBottom:"8px solid rgb(6 48 83)"}}),(0,u.jsxs)(p,{className:f?"paid-plans-only":"",children:[(0,u.jsx)(l.xuv,{className:"features-col",children:k.map((e=>{const t=e.featureTitleRow;return e.isHeader?f?(0,u.jsxs)(l.xuv,{className:"plan-header",sx:{fontSize:"14px",paddingLeft:"26px",display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"0px !important","& .link-text":{color:"#2781B0",cursor:"pointer",textDecoration:"underline"},"& .min-icon":{marginRight:"10px",color:"#2781B0",fill:"#2781B0"}},children:[(0,u.jsx)(l.jR_,{}),(0,u.jsxs)("a",{href:"https://subnet.min.io/terms-and-conditions/".concat(o),rel:"noopener",className:"link-text",children:["View License agreement ",(0,u.jsx)("br",{}),"for the registered plan."]})]},"plan-header-".concat(e.desc)):(0,u.jsx)(l.xuv,{className:"plan-header",sx:{fontSize:"14px",paddingLeft:"26px",display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"0px !important"},children:e.label},"plan-header-label-".concat(e.desc)):t?(0,u.jsx)(l.xuv,{className:"feature-title",sx:{fontSize:"14px",fontWeight:600,textTransform:"uppercase"},children:(0,u.jsxs)("div",{children:[(0,r.BK)(e.desc)," "]})},"plan-descript-".concat(e.desc)):(0,u.jsx)(l.xuv,{className:"feature-name",style:e.style,children:(0,u.jsxs)("div",{children:[(0,r.BK)(e.desc)," "]})},"plan-feature-name-".concat(e.desc))}))}),f?null:(0,u.jsxs)(l.xuv,{className:"plan-col ".concat(c?"active-plan-col":"non-active-plan-col"),children:[r.RY.map(((e,t)=>{const n=k[t].desc,{featureTitleRow:i,isHeader:s}=e;return s?(0,u.jsx)(h,{isActive:c,isXsViewActive:y,title:"community",onClick:a?N:null,children:(0,u.jsx)(l.xuv,{className:"title-block",children:(0,u.jsx)(l.xuv,{className:"title-main",children:(0,u.jsx)("div",{className:"iconContainer",children:(0,u.jsx)(l.H_l,{style:{width:117}})})})})},"community-header"):i?(0,u.jsx)(b,{featureLabel:n},"title-row-".concat(e.id)):(0,u.jsx)(g,{featureLabel:n,label:e.label,detail:e.detail,xsLabel:e.xsLabel,style:e.style},"pricing-feature-".concat(e.id))})),(0,u.jsx)(l.xuv,{className:"button-box",children:C("https://slack.min.io","Join Slack","regular",r.a6.COMMUNITY)})]}),(0,u.jsxs)(l.xuv,{className:"plan-col ".concat(d?"active-plan-col":"non-active-plan-col"),children:[r.zR.map(((e,t)=>{const n=k[t].desc,i=e.featureTitleRow;return e.isHeader?(0,u.jsx)(h,{isActive:d,isXsViewActive:E,title:"Standard",onClick:a?N:null,children:(0,u.jsx)(l.xuv,{className:"title-block",children:(0,u.jsx)(l.xuv,{className:"title-main",children:(0,u.jsx)("div",{className:"iconContainer",children:(0,u.jsx)(l.tKS,{})})})})},"standard-header"):i?(0,u.jsx)(b,{featureLabel:n},"feature-title-row-".concat(e.id)):(0,u.jsx)(g,{featureLabel:n,label:e.label,detail:e.detail,xsLabel:e.xsLabel,style:e.style},"feature-item-".concat(e.id))})),(0,u.jsx)(l.xuv,{className:"button-box",children:C("https://min.io/signup",r.eo.includes(o)?"Login to SUBNET":"Subscribe","callAction",r.a6.STANDARD)})]}),(0,u.jsxs)(l.xuv,{className:"plan-col ".concat(x?"active-plan-col":"non-active-plan-col"),children:[r.u9.map(((e,t)=>{const n=k[t].desc,{featureTitleRow:i,isHeader:s,yesIcon:o}=e;return s?(0,u.jsx)(h,{isActive:x,isXsViewActive:w,title:"Enterprise",onClick:a?N:null,children:(0,u.jsx)(l.xuv,{className:"title-block",children:(0,u.jsx)(l.xuv,{className:"title-main",children:(0,u.jsx)("div",{className:"iconContainer",children:(0,u.jsx)(l.cSV,{})})})})},"enterprise-header"):i?(0,u.jsx)(b,{featureLabel:n},"feature-title-row2-".concat(e.id)):o?(0,u.jsx)(l.xuv,{className:"feature-item",children:(0,u.jsxs)(l.xuv,{className:"feature-item-info",children:[(0,u.jsx)("div",{className:"xs-only"}),(0,u.jsx)(l.xuv,{className:"plan-feature",children:(0,u.jsx)(l.rE2,{})})]})},"ent-feature-yes".concat(e.id)):(0,u.jsx)(g,{featureLabel:n,label:e.label,detail:e.detail,style:e.style},"pricing-feature-item-".concat(e.id))})),(0,u.jsx)(l.xuv,{className:"button-box",children:C("https://min.io/signup",r.eo.includes(o)?"Login to SUBNET":"Subscribe","callAction",r.a6.ENTERPRISE)})]})]})]})})};var v=n(57689),y=n(74440),E=n(75578),w=n(79844),C=n(99670),N=n(87995),k=n(44690);const A=(0,E.Z)(i.lazy((()=>n.e(5223).then(n.bind(n,75223))))),S=()=>{const e=(0,v.s0)(),[t,n]=(0,i.useState)(!1),[o,c]=(0,i.useState)(),[d,x]=(0,i.useState)(0),[p,f]=(0,i.useState)(!1),[m,h]=(0,i.useState)(!0);(0,i.useState)(!1);const[b,g]=(0,i.useState)(!1),[E,S]=(0,i.useState)(!1),L=(0,k.TL)();(0,i.useEffect)((()=>{L((0,N.Sc)("license"))}),[]);const R=o&&b,I=(0,r.Y0)();(0,i.useEffect)((()=>{!R&&!I&&!m&&!p&&S(!0)}),[R,I,m,p]);const T=(0,i.useCallback)((()=>{p||(f(!0),a.Z.invoke("GET","/api/v1/subnet/info").then((e=>{e&&("STANDARD"===e.plan?x(1):"ENTERPRISE"===e.plan?x(2):x(1),c(e)),g(!0),f(!1)})).catch((()=>{g(!1),f(!1)})))}),[p]);return(0,i.useEffect)((()=>{m&&(T(),h(!1))}),[T,m,h]),p?(0,u.jsx)(l.rjZ,{item:!0,xs:12,children:(0,u.jsx)(l.kod,{})}):(0,u.jsxs)(i.Fragment,{children:[(0,u.jsx)(w.Z,{label:"MinIO License and Support plans",actions:(0,u.jsxs)(i.Fragment,{children:[!R&&(0,u.jsx)(l.zxk,{id:"login-with-subnet",onClick:()=>e(s.gA.REGISTER_SUPPORT),style:{fontSize:"14px",display:"flex",alignItems:"center",textDecoration:"none"},icon:(0,u.jsx)(l.e0j,{}),variant:"callAction",children:"Register your cluster"}),(0,u.jsx)(C.Z,{})]})}),(0,u.jsxs)(l.Xgh,{children:[(0,u.jsx)(l.rjZ,{item:!0,xs:12,children:R&&(0,u.jsx)(y.Z,{email:null===o||void 0===o?void 0:o.email})}),(0,u.jsx)(j,{activateProductModal:t,closeModalAndFetchLicenseInfo:()=>{n(!1),T()},licenseInfo:o,currentPlanID:d,setActivateProductModal:n}),(0,u.jsx)(A,{isOpen:E,onClose:()=>{S(!1)}})]})]})}},74440:(e,t,n)=>{n.d(t,{Z:()=>a});n(72791);var i=n(29945),l=n(80184);const a=e=>{let{email:t=""}=e;return(0,l.jsxs)(i.xuv,{sx:{height:67,color:"#ffffff",display:"flex",position:"relative",top:-30,left:-32,width:"calc(100% + 64px)",alignItems:"center",justifyContent:"space-between",backgroundColor:"#2781B0",padding:"0 25px 0 25px","& .registered-box, .reg-badge-box":{display:"flex",alignItems:"center",justifyContent:"flex-start"},"& .reg-badge-box":{marginLeft:"20px","& .min-icon":{fill:"#2781B0"}}},children:[(0,l.jsxs)(i.xuv,{className:"registered-box",children:[(0,l.jsx)(i.xuv,{sx:{fontSize:"16px",fontWeight:400},children:"Register status:"}),(0,l.jsxs)(i.xuv,{className:"reg-badge-box",children:[(0,l.jsx)(i.SA,{}),(0,l.jsx)(i.xuv,{sx:{fontWeight:600},children:"Registered"})]})]}),(0,l.jsxs)(i.xuv,{className:"registered-acc-box",sx:{alignItems:"center",justifyContent:"flex-start",display:"flex",["@media (max-width: ".concat(i.Egj.sm,"px)")]:{display:"none"}},children:[(0,l.jsx)(i.xuv,{sx:{fontSize:"16px",fontWeight:400},children:"Registered to:"}),(0,l.jsx)(i.xuv,{sx:{marginLeft:"8px",fontWeight:600},children:t})]})]})}}}]); -//# sourceMappingURL=4902.5f84da7e.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4902],{75578:(e,t,n)=>{n.d(t,{Z:()=>a});var i=n(72791),l=n(80184);const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,l.jsx)(i.Suspense,{fallback:t,children:(0,l.jsx)(e,{...n})})}}},74902:(e,t,n)=>{n.r(t),n.d(t,{default:()=>S});var i=n(72791),l=n(29945),a=n(81207),s=n(56087),o=n(63733),r=n(78290),c=n(16444),d=n(26181),x=n.n(d),u=n(80184);const p=c.ZP.div((e=>{let{theme:t}=e;return{display:"grid",margin:"0 1.5rem 0 1.5rem",gridTemplateColumns:"1fr 1fr 1fr 1fr",["@media (max-width: ".concat(l.Egj.sm,"px)")]:{gridTemplateColumns:"1fr 1fr 1fr"},"&.paid-plans-only":{display:"grid",gridTemplateColumns:"1fr 1fr 1fr"},"& .features-col":{flex:1,minWidth:"260px","@media (max-width: 600px)":{display:"none"}},"& .xs-only":{display:"none"},"& .button-box":{display:"flex",alignItems:"center",justifyContent:"center",padding:"5px 0px 25px 0px",borderLeft:"1px solid ".concat(x()(t,"borderColor","#EAEAEA"))},"& .plan-header":{height:"99px",borderBottom:"1px solid ".concat(x()(t,"borderColor","#EAEAEA"))},"& .feature-title":{height:"25px",paddingLeft:"26px",fontSize:"14px",background:x()(t,"signalColors.disabled","#E5E5E5"),color:x()(t,"signalColors.main","#07193E"),"@media (max-width: 600px)":{"& .feature-title-info .xs-only":{display:"block"}}},"& .feature-name":{minHeight:"60px",padding:"5px",borderBottom:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),display:"flex",alignItems:"center",paddingLeft:"26px",fontSize:"14px"},"& .feature-item":{display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"center",minHeight:"60px",padding:"0 15px 0 15px",borderBottom:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),borderLeft:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),fontSize:"14px","& .link-text":{color:"#2781B0",cursor:"pointer",textDecoration:"underline"},"&.icon-yes":{width:"15px",height:"15px"}},"& .feature-item-info":{flex:1,display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"space-around",textAlign:"center","@media (max-width: 600px)":{justifyContent:"space-evenly",width:"100%","& .xs-only":{display:"block"},"& .plan-feature":{textAlign:"center",paddingRight:"10px"}}},"& .plan-col":{minWidth:"260px",flex:1},"& .active-plan-col":{background:"".concat(x()(t,"boxBackground","#FDFDFD")," 0% 0% no-repeat padding-box"),boxShadow:" 0px 3px 20px #00000038","& .plan-header":{backgroundColor:x()(t,"signalColors.info","#2781B0")},"& .feature-title":{background:x()(t,"signalColors.disabled","#E5E5E5"),color:x()(t,"fontColor","#000")}}}})),f=c.ZP.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",borderLeft:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),borderBottom:"0px !important","& .plan-header":{display:"flex",alignItems:"center",justifyContent:"center",flexFlow:"column"},"& .title-block":{display:"flex",alignItems:"center",flexFlow:"column",width:"100%","& .title-main":{display:"flex",alignItems:"center",justifyContent:"center",flex:1},"& .iconContainer":{"& .min-icon":{minWidth:140,width:"100%",maxHeight:55,height:"100%"}}},"& .open-source":{fontSize:"14px",display:"flex",marginBottom:"5px",alignItems:"center","& .min-icon":{marginRight:"8px",height:"12px",width:"12px"}},"& .cur-plan-text":{fontSize:"12px",textTransform:"uppercase"},"@media (max-width: 600px)":{cursor:"pointer","& .title-block":{"& .title":{fontSize:"14px",fontWeight:600}}},"&.active, &.active.xs-active":{color:"#ffffff",position:"relative","& .min-icon":{fill:"#ffffff"},"&:before":{content:"' '",position:"absolute",width:"100%",height:"18px",backgroundColor:x()(t,"signalColors.info","#2781B0"),display:"block",top:-16},"& .iconContainer":{"& .min-icon":{marginTop:"-12px"}}},"&.active":{backgroundColor:x()(t,"signalColors.info","#2781B0"),color:"#ffffff"},"&.xs-active":{background:"#eaeaea"}}})),m=c.ZP.div((e=>{let{theme:t}=e;return{border:"1px solid ".concat(x()(t,"borderColor","#EAEAEA")),borderTop:"0px",marginBottom:"45px","&::-webkit-scrollbar":{width:"5px",height:"5px"},"&::-webkit-scrollbar-track":{background:"#F0F0F0",borderRadius:0,boxShadow:"inset 0px 0px 0px 0px #F0F0F0"},"&::-webkit-scrollbar-thumb":{background:"#777474",borderRadius:0},"&::-webkit-scrollbar-thumb:hover":{background:"#5A6375"}}})),h=e=>{let{isActive:t,isXsViewActive:n,title:i,onClick:l,children:a}=e;const s=i.toLowerCase();return(0,u.jsx)(f,{className:(0,o.Z)({"plan-header":!0,active:t,"xs-active":n}),onClick:()=>{l&&l(s)},children:a})},b=e=>(0,u.jsx)(l.xuv,{className:"feature-title",children:(0,u.jsx)(l.xuv,{className:"feature-title-info",children:(0,u.jsxs)("div",{className:"xs-only",children:[e.featureLabel," "]})})}),g=e=>(0,u.jsx)(l.xuv,{className:"feature-item",style:e.style,children:(0,u.jsxs)(l.xuv,{className:"feature-item-info",children:[(0,u.jsx)("div",{className:"xs-only",children:(0,r.BK)(e.featureLabel||"")}),(0,u.jsxs)(l.xuv,{className:"plan-feature",children:[(0,u.jsx)("div",{children:(0,r.BK)(e.label||"")}),(0,r.BK)(e.detail),(0,u.jsxs)("div",{className:"xs-only",children:[e.xsLabel," "]})]})]})}),j=e=>{var t;let{licenseInfo:n}=e;const[a,s]=(0,i.useState)(window.innerWidth>=l.Egj.sm);(0,i.useEffect)((()=>{const e=()=>{let e=!1;window.innerWidth>=l.Egj.sm&&(e=!0),s(e)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);let o=n?null===n||void 0===n||null===(t=n.plan)||void 0===t?void 0:t.toLowerCase():"community";const c=o===r.a6.COMMUNITY,d=o===r.a6.STANDARD,x=o===r.a6.ENTERPRISE,f=r.eo.includes(o),[j,v]=(0,i.useState)("");let y=j===r.a6.COMMUNITY,E=j===r.a6.STANDARD,w=j===r.a6.ENTERPRISE;const C=(e,t,n,i)=>{let a="community"!==o?"https://subnet.min.io":e;return(0,u.jsx)(l.zxk,{id:"license-action-".concat(e),variant:n,style:{marginTop:"12px",width:"80%"},disabled:o!==r.a6.COMMUNITY&&o!==i,onClick:e=>{e.preventDefault(),window.open("".concat(a,"?ref=con"),"_blank")},label:t})},N=e=>{v(e)};(0,i.useEffect)((()=>{v(a?o||"community":"")}),[a,o]);const k=r.Of;return(0,u.jsx)(i.Fragment,{children:(0,u.jsxs)(m,{children:[(0,u.jsx)(l.xuv,{className:"title-blue-bar",sx:{height:"8px",borderBottom:"8px solid rgb(6 48 83)"}}),(0,u.jsxs)(p,{className:f?"paid-plans-only":"",children:[(0,u.jsx)(l.xuv,{className:"features-col",children:k.map((e=>{const t=e.featureTitleRow;return e.isHeader?f?(0,u.jsxs)(l.xuv,{className:"plan-header",sx:{fontSize:"14px",paddingLeft:"26px",display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"0px !important","& .link-text":{color:"#2781B0",cursor:"pointer",textDecoration:"underline"},"& .min-icon":{marginRight:"10px",color:"#2781B0",fill:"#2781B0"}},children:[(0,u.jsx)(l.jR_,{}),(0,u.jsxs)("a",{href:"https://subnet.min.io/terms-and-conditions/".concat(o),rel:"noopener",className:"link-text",children:["View License agreement ",(0,u.jsx)("br",{}),"for the registered plan."]})]},"plan-header-".concat(e.desc)):(0,u.jsx)(l.xuv,{className:"plan-header",sx:{fontSize:"14px",paddingLeft:"26px",display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"0px !important"},children:e.label},"plan-header-label-".concat(e.desc)):t?(0,u.jsx)(l.xuv,{className:"feature-title",sx:{fontSize:"14px",fontWeight:600,textTransform:"uppercase"},children:(0,u.jsxs)("div",{children:[(0,r.BK)(e.desc)," "]})},"plan-descript-".concat(e.desc)):(0,u.jsx)(l.xuv,{className:"feature-name",style:e.style,children:(0,u.jsxs)("div",{children:[(0,r.BK)(e.desc)," "]})},"plan-feature-name-".concat(e.desc))}))}),f?null:(0,u.jsxs)(l.xuv,{className:"plan-col ".concat(c?"active-plan-col":"non-active-plan-col"),children:[r.RY.map(((e,t)=>{const n=k[t].desc,{featureTitleRow:i,isHeader:s}=e;return s?(0,u.jsx)(h,{isActive:c,isXsViewActive:y,title:"community",onClick:a?N:null,children:(0,u.jsx)(l.xuv,{className:"title-block",children:(0,u.jsx)(l.xuv,{className:"title-main",children:(0,u.jsx)("div",{className:"iconContainer",children:(0,u.jsx)(l.H_l,{style:{width:117}})})})})},"community-header"):i?(0,u.jsx)(b,{featureLabel:n},"title-row-".concat(e.id)):(0,u.jsx)(g,{featureLabel:n,label:e.label,detail:e.detail,xsLabel:e.xsLabel,style:e.style},"pricing-feature-".concat(e.id))})),(0,u.jsx)(l.xuv,{className:"button-box",children:C("https://slack.min.io","Join Slack","regular",r.a6.COMMUNITY)})]}),(0,u.jsxs)(l.xuv,{className:"plan-col ".concat(d?"active-plan-col":"non-active-plan-col"),children:[r.zR.map(((e,t)=>{const n=k[t].desc,i=e.featureTitleRow;return e.isHeader?(0,u.jsx)(h,{isActive:d,isXsViewActive:E,title:"Standard",onClick:a?N:null,children:(0,u.jsx)(l.xuv,{className:"title-block",children:(0,u.jsx)(l.xuv,{className:"title-main",children:(0,u.jsx)("div",{className:"iconContainer",children:(0,u.jsx)(l.tKS,{})})})})},"standard-header"):i?(0,u.jsx)(b,{featureLabel:n},"feature-title-row-".concat(e.id)):(0,u.jsx)(g,{featureLabel:n,label:e.label,detail:e.detail,xsLabel:e.xsLabel,style:e.style},"feature-item-".concat(e.id))})),(0,u.jsx)(l.xuv,{className:"button-box",children:C("https://min.io/signup",r.eo.includes(o)?"Login to SUBNET":"Subscribe","callAction",r.a6.STANDARD)})]}),(0,u.jsxs)(l.xuv,{className:"plan-col ".concat(x?"active-plan-col":"non-active-plan-col"),children:[r.u9.map(((e,t)=>{const n=k[t].desc,{featureTitleRow:i,isHeader:s,yesIcon:o}=e;return s?(0,u.jsx)(h,{isActive:x,isXsViewActive:w,title:"Enterprise",onClick:a?N:null,children:(0,u.jsx)(l.xuv,{className:"title-block",children:(0,u.jsx)(l.xuv,{className:"title-main",children:(0,u.jsx)("div",{className:"iconContainer",children:(0,u.jsx)(l.cSV,{})})})})},"enterprise-header"):i?(0,u.jsx)(b,{featureLabel:n},"feature-title-row2-".concat(e.id)):o?(0,u.jsx)(l.xuv,{className:"feature-item",children:(0,u.jsxs)(l.xuv,{className:"feature-item-info",children:[(0,u.jsx)("div",{className:"xs-only"}),(0,u.jsx)(l.xuv,{className:"plan-feature",children:(0,u.jsx)(l.rE2,{})})]})},"ent-feature-yes".concat(e.id)):(0,u.jsx)(g,{featureLabel:n,label:e.label,detail:e.detail,style:e.style},"pricing-feature-item-".concat(e.id))})),(0,u.jsx)(l.xuv,{className:"button-box",children:C("https://min.io/signup",r.eo.includes(o)?"Login to SUBNET":"Subscribe","callAction",r.a6.ENTERPRISE)})]})]})]})})};var v=n(57689),y=n(74440),E=n(75578),w=n(79844),C=n(99670),N=n(87995),k=n(44690);const A=(0,E.Z)(i.lazy((()=>n.e(5223).then(n.bind(n,75223))))),S=()=>{const e=(0,v.s0)(),[t,n]=(0,i.useState)(!1),[o,c]=(0,i.useState)(),[d,x]=(0,i.useState)(0),[p,f]=(0,i.useState)(!1),[m,h]=(0,i.useState)(!0);(0,i.useState)(!1);const[b,g]=(0,i.useState)(!1),[E,S]=(0,i.useState)(!1),L=(0,k.TL)();(0,i.useEffect)((()=>{L((0,N.Sc)("license"))}),[]);const R=o&&b,I=(0,r.Y0)();(0,i.useEffect)((()=>{!R&&!I&&!m&&!p&&S(!0)}),[R,I,m,p]);const T=(0,i.useCallback)((()=>{p||(f(!0),a.Z.invoke("GET","/api/v1/subnet/info").then((e=>{e&&("STANDARD"===e.plan?x(1):"ENTERPRISE"===e.plan?x(2):x(1),c(e)),g(!0),f(!1)})).catch((()=>{g(!1),f(!1)})))}),[p]);return(0,i.useEffect)((()=>{m&&(T(),h(!1))}),[T,m,h]),p?(0,u.jsx)(l.rjZ,{item:!0,xs:12,children:(0,u.jsx)(l.kod,{})}):(0,u.jsxs)(i.Fragment,{children:[(0,u.jsx)(w.Z,{label:"MinIO License and Support plans",actions:(0,u.jsxs)(i.Fragment,{children:[!R&&(0,u.jsx)(l.zxk,{id:"login-with-subnet",onClick:()=>e(s.gA.REGISTER_SUPPORT),style:{fontSize:"14px",display:"flex",alignItems:"center",textDecoration:"none"},icon:(0,u.jsx)(l.e0j,{}),variant:"callAction",children:"Register your cluster"}),(0,u.jsx)(C.Z,{})]})}),(0,u.jsxs)(l.Xgh,{children:[(0,u.jsx)(l.rjZ,{item:!0,xs:12,children:R&&(0,u.jsx)(y.Z,{email:null===o||void 0===o?void 0:o.email})}),(0,u.jsx)(j,{activateProductModal:t,closeModalAndFetchLicenseInfo:()=>{n(!1),T()},licenseInfo:o,currentPlanID:d,setActivateProductModal:n}),(0,u.jsx)(A,{isOpen:E,onClose:()=>{S(!1)}})]})]})}},74440:(e,t,n)=>{n.d(t,{Z:()=>a});n(72791);var i=n(29945),l=n(80184);const a=e=>{let{email:t=""}=e;return(0,l.jsxs)(i.xuv,{sx:{height:67,color:"#ffffff",display:"flex",position:"relative",top:-30,left:-32,width:"calc(100% + 64px)",alignItems:"center",justifyContent:"space-between",backgroundColor:"#2781B0",padding:"0 25px 0 25px","& .registered-box, .reg-badge-box":{display:"flex",alignItems:"center",justifyContent:"flex-start"},"& .reg-badge-box":{marginLeft:"20px","& .min-icon":{fill:"#2781B0"}}},children:[(0,l.jsxs)(i.xuv,{className:"registered-box",children:[(0,l.jsx)(i.xuv,{sx:{fontSize:"16px",fontWeight:400},children:"Register status:"}),(0,l.jsxs)(i.xuv,{className:"reg-badge-box",children:[(0,l.jsx)(i.SA,{}),(0,l.jsx)(i.xuv,{sx:{fontWeight:600},children:"Registered"})]})]}),(0,l.jsxs)(i.xuv,{className:"registered-acc-box",sx:{alignItems:"center",justifyContent:"flex-start",display:"flex",["@media (max-width: ".concat(i.Egj.sm,"px)")]:{display:"none"}},children:[(0,l.jsx)(i.xuv,{sx:{fontSize:"16px",fontWeight:400},children:"Registered to:"}),(0,l.jsx)(i.xuv,{sx:{marginLeft:"8px",fontWeight:600},children:t})]})]})}}}]); +//# sourceMappingURL=4902.93ad3d30.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4902.5f84da7e.chunk.js.map b/portal-ui/build/static/js/4902.93ad3d30.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4902.5f84da7e.chunk.js.map rename to portal-ui/build/static/js/4902.93ad3d30.chunk.js.map index b450895e27..58b6d17a7c 100644 --- a/portal-ui/build/static/js/4902.5f84da7e.chunk.js.map +++ b/portal-ui/build/static/js/4902.93ad3d30.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4902.5f84da7e.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/License/LicensePlans.tsx","screens/Console/License/License.tsx","screens/Console/Support/RegistrationStatusBanner.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport clsx from \"clsx\";\nimport {\n AGPLV3Logo,\n Box,\n breakPoints,\n Button,\n CheckCircleIcon,\n ConsoleEnterprise,\n ConsoleStandard,\n LicenseDocIcon,\n} from \"mds\";\nimport { SubnetInfo } from \"./types\";\nimport {\n COMMUNITY_PLAN_FEATURES,\n ENTERPRISE_PLAN_FEATURES,\n FEATURE_ITEMS,\n getRenderValue,\n LICENSE_PLANS,\n PAID_PLANS,\n STANDARD_PLAN_FEATURES,\n} from \"./utils\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\n\ninterface IRegisterStatus {\n activateProductModal: any;\n closeModalAndFetchLicenseInfo: any;\n licenseInfo: SubnetInfo | undefined;\n currentPlanID: number;\n setActivateProductModal: any;\n}\n\nconst PlanListContainer = styled.div(({ theme }) => ({\n display: \"grid\",\n\n margin: \"0 1.5rem 0 1.5rem\",\n\n gridTemplateColumns: \"1fr 1fr 1fr 1fr\",\n\n [`@media (max-width: ${breakPoints.sm}px)`]: {\n gridTemplateColumns: \"1fr 1fr 1fr\",\n },\n\n \"&.paid-plans-only\": {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1fr\",\n },\n\n \"& .features-col\": {\n flex: 1,\n minWidth: \"260px\",\n\n \"@media (max-width: 600px)\": {\n display: \"none\",\n },\n },\n\n \"& .xs-only\": {\n display: \"none\",\n },\n\n \"& .button-box\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: \"5px 0px 25px 0px\",\n borderLeft: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n },\n \"& .plan-header\": {\n height: \"99px\",\n borderBottom: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n },\n \"& .feature-title\": {\n height: \"25px\",\n paddingLeft: \"26px\",\n fontSize: \"14px\",\n\n background: get(theme, \"signalColors.disabled\", \"#E5E5E5\"),\n color: get(theme, \"signalColors.main\", \"#07193E\"),\n\n \"@media (max-width: 600px)\": {\n \"& .feature-title-info .xs-only\": {\n display: \"block\",\n },\n },\n },\n \"& .feature-name\": {\n minHeight: \"60px\",\n padding: \"5px\",\n borderBottom: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: \"26px\",\n fontSize: \"14px\",\n },\n \"& .feature-item\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minHeight: \"60px\",\n padding: \"0 15px 0 15px\",\n borderBottom: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n borderLeft: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n fontSize: \"14px\",\n \"& .link-text\": {\n color: \"#2781B0\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n },\n\n \"&.icon-yes\": {\n width: \"15px\",\n height: \"15px\",\n },\n },\n\n \"& .feature-item-info\": {\n flex: 1,\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"space-around\",\n textAlign: \"center\",\n\n \"@media (max-width: 600px)\": {\n justifyContent: \"space-evenly\",\n width: \"100%\",\n \"& .xs-only\": {\n display: \"block\",\n },\n \"& .plan-feature\": {\n textAlign: \"center\",\n paddingRight: \"10px\",\n },\n },\n },\n\n \"& .plan-col\": {\n minWidth: \"260px\",\n flex: 1,\n },\n\n \"& .active-plan-col\": {\n background: `${get(\n theme,\n \"boxBackground\",\n \"#FDFDFD\",\n )} 0% 0% no-repeat padding-box`,\n boxShadow: \" 0px 3px 20px #00000038\",\n\n \"& .plan-header\": {\n backgroundColor: get(theme, \"signalColors.info\", \"#2781B0\"),\n },\n\n \"& .feature-title\": {\n background: get(theme, \"signalColors.disabled\", \"#E5E5E5\"),\n color: get(theme, \"fontColor\", \"#000\"),\n },\n },\n}));\n\nconst PlanHeaderContainer = styled.div(({ theme }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"center\",\n flexFlow: \"column\",\n borderLeft: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n borderBottom: \"0px !important\",\n \"& .plan-header\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexFlow: \"column\",\n },\n\n \"& .title-block\": {\n display: \"flex\",\n alignItems: \"center\",\n flexFlow: \"column\",\n width: \"100%\",\n \"& .title-main\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flex: 1,\n },\n \"& .iconContainer\": {\n \"& .min-icon\": {\n minWidth: 140,\n width: \"100%\",\n maxHeight: 55,\n height: \"100%\",\n },\n },\n },\n\n \"& .open-source\": {\n fontSize: \"14px\",\n display: \"flex\",\n marginBottom: \"5px\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: \"8px\",\n height: \"12px\",\n width: \"12px\",\n },\n },\n\n \"& .cur-plan-text\": {\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n },\n\n \"@media (max-width: 600px)\": {\n cursor: \"pointer\",\n \"& .title-block\": {\n \"& .title\": {\n fontSize: \"14px\",\n fontWeight: 600,\n },\n },\n },\n\n \"&.active, &.active.xs-active\": {\n color: \"#ffffff\",\n position: \"relative\",\n\n \"& .min-icon\": {\n fill: \"#ffffff\",\n },\n\n \"&:before\": {\n content: \"' '\",\n position: \"absolute\",\n width: \"100%\",\n height: \"18px\",\n backgroundColor: get(theme, \"signalColors.info\", \"#2781B0\"),\n display: \"block\",\n top: -16,\n },\n \"& .iconContainer\": {\n \"& .min-icon\": {\n marginTop: \"-12px\",\n },\n },\n },\n \"&.active\": {\n backgroundColor: get(theme, \"signalColors.info\", \"#2781B0\"),\n color: \"#ffffff\",\n },\n \"&.xs-active\": {\n background: \"#eaeaea\",\n },\n}));\n\nconst ListContainer = styled.div(({ theme }) => ({\n border: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n borderTop: \"0px\",\n marginBottom: \"45px\",\n \"&::-webkit-scrollbar\": {\n width: \"5px\",\n height: \"5px\",\n },\n \"&::-webkit-scrollbar-track\": {\n background: \"#F0F0F0\",\n borderRadius: 0,\n boxShadow: \"inset 0px 0px 0px 0px #F0F0F0\",\n },\n \"&::-webkit-scrollbar-thumb\": {\n background: \"#777474\",\n borderRadius: 0,\n },\n \"&::-webkit-scrollbar-thumb:hover\": {\n background: \"#5A6375\",\n },\n}));\n\nconst PlanHeader = ({\n isActive,\n isXsViewActive,\n title,\n onClick,\n children,\n}: {\n isActive: boolean;\n isXsViewActive: boolean;\n title: string;\n price?: string;\n onClick: any;\n children: any;\n}) => {\n const plan = title.toLowerCase();\n return (\n {\n onClick && onClick(plan);\n }}\n >\n {children}\n \n );\n};\n\nconst FeatureTitleRowCmp = (props: { featureLabel: any }) => {\n return (\n \n \n

{props.featureLabel}
\n \n \n );\n};\n\nconst PricingFeatureItem = (props: {\n featureLabel: any;\n label?: any;\n detail?: any;\n xsLabel?: string;\n style?: any;\n}) => {\n return (\n \n \n
\n {getRenderValue(props.featureLabel || \"\")}\n
\n \n
{getRenderValue(props.label || \"\")}
\n {getRenderValue(props.detail)}\n\n
{props.xsLabel}
\n
\n
\n
\n );\n};\n\nconst LicensePlans = ({ licenseInfo }: IRegisterStatus) => {\n const [isSmallScreen, setIsSmallScreen] = useState(\n window.innerWidth >= breakPoints.sm,\n );\n\n useEffect(() => {\n const handleWindowResize = () => {\n let extMD = false;\n if (window.innerWidth >= breakPoints.sm) {\n extMD = true;\n }\n setIsSmallScreen(extMD);\n };\n\n window.addEventListener(\"resize\", handleWindowResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleWindowResize);\n };\n }, []);\n\n let currentPlan = !licenseInfo\n ? \"community\"\n : licenseInfo?.plan?.toLowerCase();\n\n const isCommunityPlan = currentPlan === LICENSE_PLANS.COMMUNITY;\n const isStandardPlan = currentPlan === LICENSE_PLANS.STANDARD;\n const isEnterprisePlan = currentPlan === LICENSE_PLANS.ENTERPRISE;\n\n const isPaidPlan = PAID_PLANS.includes(currentPlan);\n\n /*In smaller screen use tabbed view to show features*/\n const [xsPlanView, setXsPlanView] = useState(\"\");\n let isXsViewCommunity = xsPlanView === LICENSE_PLANS.COMMUNITY;\n let isXsViewStandard = xsPlanView === LICENSE_PLANS.STANDARD;\n let isXsViewEnterprise = xsPlanView === LICENSE_PLANS.ENTERPRISE;\n\n const getCommunityPlanHeader = () => {\n return (\n \n \n \n
\n \n
\n
\n
\n \n );\n };\n\n const getStandardPlanHeader = () => {\n return (\n \n \n \n
\n \n
\n
\n
\n \n );\n };\n\n const getEnterpriseHeader = () => {\n return (\n \n \n \n
\n \n
\n
\n
\n \n );\n };\n\n const getButton = (\n link: string,\n btnText: string,\n variant: any,\n plan: string,\n ) => {\n let linkToNav =\n currentPlan !== \"community\" ? \"https://subnet.min.io\" : link;\n return (\n {\n e.preventDefault();\n\n window.open(`${linkToNav}?ref=con`, \"_blank\");\n }}\n label={btnText}\n />\n );\n };\n\n const onPlanClick = (plan: string) => {\n setXsPlanView(plan);\n };\n\n useEffect(() => {\n if (isSmallScreen) {\n setXsPlanView(currentPlan || \"community\");\n } else {\n setXsPlanView(\"\");\n }\n }, [isSmallScreen, currentPlan]);\n\n const featureList = FEATURE_ITEMS;\n return (\n \n \n \n \n \n {featureList.map((fi) => {\n const featureTitleRow = fi.featureTitleRow;\n const isHeader = fi.isHeader;\n\n if (isHeader) {\n if (isPaidPlan) {\n return (\n \n \n \n View License agreement
\n for the registered plan.\n \n
\n );\n }\n\n return (\n \n {fi.label}\n \n );\n }\n if (featureTitleRow) {\n return (\n \n
{getRenderValue(fi.desc)}
\n \n );\n }\n return (\n \n
{getRenderValue(fi.desc)}
\n \n );\n })}\n \n {!isPaidPlan ? (\n \n {COMMUNITY_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const { featureTitleRow, isHeader } = fi;\n\n if (isHeader) {\n return getCommunityPlanHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n\n return (\n \n );\n })}\n \n {getButton(\n `https://slack.min.io`,\n \"Join Slack\",\n \"regular\",\n LICENSE_PLANS.COMMUNITY,\n )}\n \n \n ) : null}\n \n {STANDARD_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const featureTitleRow = fi.featureTitleRow;\n const isHeader = fi.isHeader;\n\n if (isHeader) {\n return getStandardPlanHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n return (\n \n );\n })}\n\n \n {getButton(\n `https://min.io/signup`,\n !PAID_PLANS.includes(currentPlan)\n ? \"Subscribe\"\n : \"Login to SUBNET\",\n \"callAction\",\n LICENSE_PLANS.STANDARD,\n )}\n \n \n \n {ENTERPRISE_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const { featureTitleRow, isHeader, yesIcon } = fi;\n\n if (isHeader) {\n return getEnterpriseHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n\n if (yesIcon) {\n return (\n \n \n
\n \n \n \n
\n
\n );\n }\n return (\n \n );\n })}\n \n {getButton(\n `https://min.io/signup`,\n !PAID_PLANS.includes(currentPlan)\n ? \"Subscribe\"\n : \"Login to SUBNET\",\n \"callAction\",\n LICENSE_PLANS.ENTERPRISE,\n )}\n \n \n
\n
\n
\n );\n};\n\nexport default LicensePlans;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { ArrowIcon, Button, PageLayout, ProgressBar, Grid } from \"mds\";\nimport { SubnetInfo } from \"./types\";\nimport api from \"../../../common/api\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport LicensePlans from \"./LicensePlans\";\nimport { useNavigate } from \"react-router-dom\";\nimport RegistrationStatusBanner from \"../Support/RegistrationStatusBanner\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { getLicenseConsent } from \"./utils\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport { setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\nconst LicenseConsentModal = withSuspense(\n React.lazy(() => import(\"./LicenseConsentModal\")),\n);\n\nconst License = () => {\n const navigate = useNavigate();\n const [activateProductModal, setActivateProductModal] =\n useState(false);\n\n const [licenseInfo, setLicenseInfo] = useState();\n const [currentPlanID, setCurrentPlanID] = useState(0);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n\n const [isLicenseConsentOpen, setIsLicenseConsentOpen] =\n useState(false);\n\n const closeModalAndFetchLicenseInfo = () => {\n setActivateProductModal(false);\n fetchLicenseInfo();\n };\n\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"license\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isRegistered = licenseInfo && clusterRegistered;\n\n const isAgplConsentDone = getLicenseConsent();\n\n useEffect(() => {\n const shouldConsent =\n !isRegistered && !isAgplConsentDone && !initialLicenseLoading;\n\n if (shouldConsent && !loadingLicenseInfo) {\n setIsLicenseConsentOpen(true);\n }\n }, [\n isRegistered,\n isAgplConsentDone,\n initialLicenseLoading,\n loadingLicenseInfo,\n ]);\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch(() => {\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n }, [loadingLicenseInfo]);\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n if (loadingLicenseInfo) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n {!isRegistered && (\n navigate(IAM_PAGES.REGISTER_SUPPORT)}\n style={{\n fontSize: \"14px\",\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n }}\n icon={}\n variant={\"callAction\"}\n >\n Register your cluster\n \n )}\n \n \n }\n />\n\n \n \n {isRegistered && (\n \n )}\n \n\n \n\n {\n setIsLicenseConsentOpen(false);\n }}\n />\n \n \n );\n};\n\nexport default License;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { VerifiedIcon, Box, breakPoints } from \"mds\";\n\nconst RegistrationStatusBanner = ({ email = \"\" }: { email?: string }) => {\n return (\n \n \n Register status:\n \n \n \n Registered\n \n \n \n\n \n Registered to:\n {email}\n \n \n );\n};\nexport default RegistrationStatusBanner;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","PlanListContainer","styled","div","_ref","theme","display","margin","gridTemplateColumns","concat","breakPoints","sm","flex","minWidth","alignItems","justifyContent","padding","borderLeft","get","height","borderBottom","paddingLeft","fontSize","background","color","minHeight","flexFlow","cursor","textDecoration","width","textAlign","paddingRight","boxShadow","backgroundColor","PlanHeaderContainer","_ref2","maxHeight","marginBottom","marginRight","textTransform","fontWeight","position","fill","content","top","marginTop","ListContainer","_ref3","border","borderTop","borderRadius","PlanHeader","_ref4","isActive","isXsViewActive","title","onClick","plan","toLowerCase","className","clsx","active","FeatureTitleRowCmp","Box","_jsxs","featureLabel","PricingFeatureItem","style","getRenderValue","label","detail","xsLabel","_ref5","_licenseInfo$plan","licenseInfo","isSmallScreen","setIsSmallScreen","useState","window","innerWidth","useEffect","handleWindowResize","extMD","addEventListener","removeEventListener","currentPlan","isCommunityPlan","LICENSE_PLANS","COMMUNITY","isStandardPlan","STANDARD","isEnterprisePlan","ENTERPRISE","isPaidPlan","PAID_PLANS","includes","xsPlanView","setXsPlanView","isXsViewCommunity","isXsViewStandard","isXsViewEnterprise","getButton","link","btnText","variant","linkToNav","Button","id","disabled","e","preventDefault","open","onPlanClick","featureList","FEATURE_ITEMS","Fragment","sx","map","fi","featureTitleRow","isHeader","LicenseDocIcon","href","rel","desc","COMMUNITY_PLAN_FEATURES","idx","AGPLV3Logo","STANDARD_PLAN_FEATURES","ConsoleStandard","ENTERPRISE_PLAN_FEATURES","yesIcon","ConsoleEnterprise","CheckCircleIcon","LicenseConsentModal","withSuspense","React","License","navigate","useNavigate","activateProductModal","setActivateProductModal","setLicenseInfo","currentPlanID","setCurrentPlanID","loadingLicenseInfo","setLoadingLicenseInfo","initialLicenseLoading","setInitialLicenseLoading","clusterRegistered","setClusterRegistered","isLicenseConsentOpen","setIsLicenseConsentOpen","dispatch","useAppDispatch","setHelpName","isRegistered","isAgplConsentDone","getLicenseConsent","fetchLicenseInfo","useCallback","api","invoke","then","res","catch","Grid","item","xs","ProgressBar","PageHeaderWrapper","actions","IAM_PAGES","REGISTER_SUPPORT","icon","ArrowIcon","HelpMenu","PageLayout","RegistrationStatusBanner","email","LicensePlans","closeModalAndFetchLicenseInfo","isOpen","onClose","left","marginLeft","VerifiedIcon"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4902.93ad3d30.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/License/LicensePlans.tsx","screens/Console/License/License.tsx","screens/Console/Support/RegistrationStatusBanner.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport clsx from \"clsx\";\nimport {\n AGPLV3Logo,\n Box,\n breakPoints,\n Button,\n CheckCircleIcon,\n ConsoleEnterprise,\n ConsoleStandard,\n LicenseDocIcon,\n} from \"mds\";\nimport { SubnetInfo } from \"./types\";\nimport {\n COMMUNITY_PLAN_FEATURES,\n ENTERPRISE_PLAN_FEATURES,\n FEATURE_ITEMS,\n getRenderValue,\n LICENSE_PLANS,\n PAID_PLANS,\n STANDARD_PLAN_FEATURES,\n} from \"./utils\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\n\ninterface IRegisterStatus {\n activateProductModal: any;\n closeModalAndFetchLicenseInfo: any;\n licenseInfo: SubnetInfo | undefined;\n currentPlanID: number;\n setActivateProductModal: any;\n}\n\nconst PlanListContainer = styled.div(({ theme }) => ({\n display: \"grid\",\n\n margin: \"0 1.5rem 0 1.5rem\",\n\n gridTemplateColumns: \"1fr 1fr 1fr 1fr\",\n\n [`@media (max-width: ${breakPoints.sm}px)`]: {\n gridTemplateColumns: \"1fr 1fr 1fr\",\n },\n\n \"&.paid-plans-only\": {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1fr\",\n },\n\n \"& .features-col\": {\n flex: 1,\n minWidth: \"260px\",\n\n \"@media (max-width: 600px)\": {\n display: \"none\",\n },\n },\n\n \"& .xs-only\": {\n display: \"none\",\n },\n\n \"& .button-box\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: \"5px 0px 25px 0px\",\n borderLeft: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n },\n \"& .plan-header\": {\n height: \"99px\",\n borderBottom: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n },\n \"& .feature-title\": {\n height: \"25px\",\n paddingLeft: \"26px\",\n fontSize: \"14px\",\n\n background: get(theme, \"signalColors.disabled\", \"#E5E5E5\"),\n color: get(theme, \"signalColors.main\", \"#07193E\"),\n\n \"@media (max-width: 600px)\": {\n \"& .feature-title-info .xs-only\": {\n display: \"block\",\n },\n },\n },\n \"& .feature-name\": {\n minHeight: \"60px\",\n padding: \"5px\",\n borderBottom: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: \"26px\",\n fontSize: \"14px\",\n },\n \"& .feature-item\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minHeight: \"60px\",\n padding: \"0 15px 0 15px\",\n borderBottom: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n borderLeft: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n fontSize: \"14px\",\n \"& .link-text\": {\n color: \"#2781B0\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n },\n\n \"&.icon-yes\": {\n width: \"15px\",\n height: \"15px\",\n },\n },\n\n \"& .feature-item-info\": {\n flex: 1,\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"space-around\",\n textAlign: \"center\",\n\n \"@media (max-width: 600px)\": {\n justifyContent: \"space-evenly\",\n width: \"100%\",\n \"& .xs-only\": {\n display: \"block\",\n },\n \"& .plan-feature\": {\n textAlign: \"center\",\n paddingRight: \"10px\",\n },\n },\n },\n\n \"& .plan-col\": {\n minWidth: \"260px\",\n flex: 1,\n },\n\n \"& .active-plan-col\": {\n background: `${get(\n theme,\n \"boxBackground\",\n \"#FDFDFD\",\n )} 0% 0% no-repeat padding-box`,\n boxShadow: \" 0px 3px 20px #00000038\",\n\n \"& .plan-header\": {\n backgroundColor: get(theme, \"signalColors.info\", \"#2781B0\"),\n },\n\n \"& .feature-title\": {\n background: get(theme, \"signalColors.disabled\", \"#E5E5E5\"),\n color: get(theme, \"fontColor\", \"#000\"),\n },\n },\n}));\n\nconst PlanHeaderContainer = styled.div(({ theme }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"center\",\n flexFlow: \"column\",\n borderLeft: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n borderBottom: \"0px !important\",\n \"& .plan-header\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexFlow: \"column\",\n },\n\n \"& .title-block\": {\n display: \"flex\",\n alignItems: \"center\",\n flexFlow: \"column\",\n width: \"100%\",\n \"& .title-main\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flex: 1,\n },\n \"& .iconContainer\": {\n \"& .min-icon\": {\n minWidth: 140,\n width: \"100%\",\n maxHeight: 55,\n height: \"100%\",\n },\n },\n },\n\n \"& .open-source\": {\n fontSize: \"14px\",\n display: \"flex\",\n marginBottom: \"5px\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: \"8px\",\n height: \"12px\",\n width: \"12px\",\n },\n },\n\n \"& .cur-plan-text\": {\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n },\n\n \"@media (max-width: 600px)\": {\n cursor: \"pointer\",\n \"& .title-block\": {\n \"& .title\": {\n fontSize: \"14px\",\n fontWeight: 600,\n },\n },\n },\n\n \"&.active, &.active.xs-active\": {\n color: \"#ffffff\",\n position: \"relative\",\n\n \"& .min-icon\": {\n fill: \"#ffffff\",\n },\n\n \"&:before\": {\n content: \"' '\",\n position: \"absolute\",\n width: \"100%\",\n height: \"18px\",\n backgroundColor: get(theme, \"signalColors.info\", \"#2781B0\"),\n display: \"block\",\n top: -16,\n },\n \"& .iconContainer\": {\n \"& .min-icon\": {\n marginTop: \"-12px\",\n },\n },\n },\n \"&.active\": {\n backgroundColor: get(theme, \"signalColors.info\", \"#2781B0\"),\n color: \"#ffffff\",\n },\n \"&.xs-active\": {\n background: \"#eaeaea\",\n },\n}));\n\nconst ListContainer = styled.div(({ theme }) => ({\n border: `1px solid ${get(theme, \"borderColor\", \"#EAEAEA\")}`,\n borderTop: \"0px\",\n marginBottom: \"45px\",\n \"&::-webkit-scrollbar\": {\n width: \"5px\",\n height: \"5px\",\n },\n \"&::-webkit-scrollbar-track\": {\n background: \"#F0F0F0\",\n borderRadius: 0,\n boxShadow: \"inset 0px 0px 0px 0px #F0F0F0\",\n },\n \"&::-webkit-scrollbar-thumb\": {\n background: \"#777474\",\n borderRadius: 0,\n },\n \"&::-webkit-scrollbar-thumb:hover\": {\n background: \"#5A6375\",\n },\n}));\n\nconst PlanHeader = ({\n isActive,\n isXsViewActive,\n title,\n onClick,\n children,\n}: {\n isActive: boolean;\n isXsViewActive: boolean;\n title: string;\n price?: string;\n onClick: any;\n children: any;\n}) => {\n const plan = title.toLowerCase();\n return (\n {\n onClick && onClick(plan);\n }}\n >\n {children}\n \n );\n};\n\nconst FeatureTitleRowCmp = (props: { featureLabel: any }) => {\n return (\n \n \n

{props.featureLabel}
\n \n \n );\n};\n\nconst PricingFeatureItem = (props: {\n featureLabel: any;\n label?: any;\n detail?: any;\n xsLabel?: string;\n style?: any;\n}) => {\n return (\n \n \n
\n {getRenderValue(props.featureLabel || \"\")}\n
\n \n
{getRenderValue(props.label || \"\")}
\n {getRenderValue(props.detail)}\n\n
{props.xsLabel}
\n
\n
\n
\n );\n};\n\nconst LicensePlans = ({ licenseInfo }: IRegisterStatus) => {\n const [isSmallScreen, setIsSmallScreen] = useState(\n window.innerWidth >= breakPoints.sm,\n );\n\n useEffect(() => {\n const handleWindowResize = () => {\n let extMD = false;\n if (window.innerWidth >= breakPoints.sm) {\n extMD = true;\n }\n setIsSmallScreen(extMD);\n };\n\n window.addEventListener(\"resize\", handleWindowResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleWindowResize);\n };\n }, []);\n\n let currentPlan = !licenseInfo\n ? \"community\"\n : licenseInfo?.plan?.toLowerCase();\n\n const isCommunityPlan = currentPlan === LICENSE_PLANS.COMMUNITY;\n const isStandardPlan = currentPlan === LICENSE_PLANS.STANDARD;\n const isEnterprisePlan = currentPlan === LICENSE_PLANS.ENTERPRISE;\n\n const isPaidPlan = PAID_PLANS.includes(currentPlan);\n\n /*In smaller screen use tabbed view to show features*/\n const [xsPlanView, setXsPlanView] = useState(\"\");\n let isXsViewCommunity = xsPlanView === LICENSE_PLANS.COMMUNITY;\n let isXsViewStandard = xsPlanView === LICENSE_PLANS.STANDARD;\n let isXsViewEnterprise = xsPlanView === LICENSE_PLANS.ENTERPRISE;\n\n const getCommunityPlanHeader = () => {\n return (\n \n \n \n
\n \n
\n
\n
\n \n );\n };\n\n const getStandardPlanHeader = () => {\n return (\n \n \n \n
\n \n
\n
\n
\n \n );\n };\n\n const getEnterpriseHeader = () => {\n return (\n \n \n \n
\n \n
\n
\n
\n \n );\n };\n\n const getButton = (\n link: string,\n btnText: string,\n variant: any,\n plan: string,\n ) => {\n let linkToNav =\n currentPlan !== \"community\" ? \"https://subnet.min.io\" : link;\n return (\n {\n e.preventDefault();\n\n window.open(`${linkToNav}?ref=con`, \"_blank\");\n }}\n label={btnText}\n />\n );\n };\n\n const onPlanClick = (plan: string) => {\n setXsPlanView(plan);\n };\n\n useEffect(() => {\n if (isSmallScreen) {\n setXsPlanView(currentPlan || \"community\");\n } else {\n setXsPlanView(\"\");\n }\n }, [isSmallScreen, currentPlan]);\n\n const featureList = FEATURE_ITEMS;\n return (\n \n \n \n \n \n {featureList.map((fi) => {\n const featureTitleRow = fi.featureTitleRow;\n const isHeader = fi.isHeader;\n\n if (isHeader) {\n if (isPaidPlan) {\n return (\n \n \n \n View License agreement
\n for the registered plan.\n \n
\n );\n }\n\n return (\n \n {fi.label}\n \n );\n }\n if (featureTitleRow) {\n return (\n \n
{getRenderValue(fi.desc)}
\n \n );\n }\n return (\n \n
{getRenderValue(fi.desc)}
\n \n );\n })}\n \n {!isPaidPlan ? (\n \n {COMMUNITY_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const { featureTitleRow, isHeader } = fi;\n\n if (isHeader) {\n return getCommunityPlanHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n\n return (\n \n );\n })}\n \n {getButton(\n `https://slack.min.io`,\n \"Join Slack\",\n \"regular\",\n LICENSE_PLANS.COMMUNITY,\n )}\n \n \n ) : null}\n \n {STANDARD_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const featureTitleRow = fi.featureTitleRow;\n const isHeader = fi.isHeader;\n\n if (isHeader) {\n return getStandardPlanHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n return (\n \n );\n })}\n\n \n {getButton(\n `https://min.io/signup`,\n !PAID_PLANS.includes(currentPlan)\n ? \"Subscribe\"\n : \"Login to SUBNET\",\n \"callAction\",\n LICENSE_PLANS.STANDARD,\n )}\n \n \n \n {ENTERPRISE_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const { featureTitleRow, isHeader, yesIcon } = fi;\n\n if (isHeader) {\n return getEnterpriseHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n\n if (yesIcon) {\n return (\n \n \n
\n \n \n \n
\n
\n );\n }\n return (\n \n );\n })}\n \n {getButton(\n `https://min.io/signup`,\n !PAID_PLANS.includes(currentPlan)\n ? \"Subscribe\"\n : \"Login to SUBNET\",\n \"callAction\",\n LICENSE_PLANS.ENTERPRISE,\n )}\n \n \n
\n
\n
\n );\n};\n\nexport default LicensePlans;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { ArrowIcon, Button, PageLayout, ProgressBar, Grid } from \"mds\";\nimport { SubnetInfo } from \"./types\";\nimport api from \"../../../common/api\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport LicensePlans from \"./LicensePlans\";\nimport { useNavigate } from \"react-router-dom\";\nimport RegistrationStatusBanner from \"../Support/RegistrationStatusBanner\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { getLicenseConsent } from \"./utils\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport { setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\nconst LicenseConsentModal = withSuspense(\n React.lazy(() => import(\"./LicenseConsentModal\")),\n);\n\nconst License = () => {\n const navigate = useNavigate();\n const [activateProductModal, setActivateProductModal] =\n useState(false);\n\n const [licenseInfo, setLicenseInfo] = useState();\n const [currentPlanID, setCurrentPlanID] = useState(0);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n\n const [isLicenseConsentOpen, setIsLicenseConsentOpen] =\n useState(false);\n\n const closeModalAndFetchLicenseInfo = () => {\n setActivateProductModal(false);\n fetchLicenseInfo();\n };\n\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"license\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isRegistered = licenseInfo && clusterRegistered;\n\n const isAgplConsentDone = getLicenseConsent();\n\n useEffect(() => {\n const shouldConsent =\n !isRegistered && !isAgplConsentDone && !initialLicenseLoading;\n\n if (shouldConsent && !loadingLicenseInfo) {\n setIsLicenseConsentOpen(true);\n }\n }, [\n isRegistered,\n isAgplConsentDone,\n initialLicenseLoading,\n loadingLicenseInfo,\n ]);\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch(() => {\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n }, [loadingLicenseInfo]);\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n if (loadingLicenseInfo) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n {!isRegistered && (\n navigate(IAM_PAGES.REGISTER_SUPPORT)}\n style={{\n fontSize: \"14px\",\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n }}\n icon={}\n variant={\"callAction\"}\n >\n Register your cluster\n \n )}\n \n \n }\n />\n\n \n \n {isRegistered && (\n \n )}\n \n\n \n\n {\n setIsLicenseConsentOpen(false);\n }}\n />\n \n \n );\n};\n\nexport default License;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { VerifiedIcon, Box, breakPoints } from \"mds\";\n\nconst RegistrationStatusBanner = ({ email = \"\" }: { email?: string }) => {\n return (\n \n \n Register status:\n \n \n \n Registered\n \n \n \n\n \n Registered to:\n {email}\n \n \n );\n};\nexport default RegistrationStatusBanner;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","PlanListContainer","styled","div","_ref","theme","display","margin","gridTemplateColumns","concat","breakPoints","sm","flex","minWidth","alignItems","justifyContent","padding","borderLeft","get","height","borderBottom","paddingLeft","fontSize","background","color","minHeight","flexFlow","cursor","textDecoration","width","textAlign","paddingRight","boxShadow","backgroundColor","PlanHeaderContainer","_ref2","maxHeight","marginBottom","marginRight","textTransform","fontWeight","position","fill","content","top","marginTop","ListContainer","_ref3","border","borderTop","borderRadius","PlanHeader","_ref4","isActive","isXsViewActive","title","onClick","plan","toLowerCase","className","clsx","active","FeatureTitleRowCmp","Box","_jsxs","featureLabel","PricingFeatureItem","style","getRenderValue","label","detail","xsLabel","_ref5","_licenseInfo$plan","licenseInfo","isSmallScreen","setIsSmallScreen","useState","window","innerWidth","useEffect","handleWindowResize","extMD","addEventListener","removeEventListener","currentPlan","isCommunityPlan","LICENSE_PLANS","COMMUNITY","isStandardPlan","STANDARD","isEnterprisePlan","ENTERPRISE","isPaidPlan","PAID_PLANS","includes","xsPlanView","setXsPlanView","isXsViewCommunity","isXsViewStandard","isXsViewEnterprise","getButton","link","btnText","variant","linkToNav","Button","id","disabled","e","preventDefault","open","onPlanClick","featureList","FEATURE_ITEMS","Fragment","sx","map","fi","featureTitleRow","isHeader","LicenseDocIcon","href","rel","desc","COMMUNITY_PLAN_FEATURES","idx","AGPLV3Logo","STANDARD_PLAN_FEATURES","ConsoleStandard","ENTERPRISE_PLAN_FEATURES","yesIcon","ConsoleEnterprise","CheckCircleIcon","LicenseConsentModal","withSuspense","React","License","navigate","useNavigate","activateProductModal","setActivateProductModal","setLicenseInfo","currentPlanID","setCurrentPlanID","loadingLicenseInfo","setLoadingLicenseInfo","initialLicenseLoading","setInitialLicenseLoading","clusterRegistered","setClusterRegistered","isLicenseConsentOpen","setIsLicenseConsentOpen","dispatch","useAppDispatch","setHelpName","isRegistered","isAgplConsentDone","getLicenseConsent","fetchLicenseInfo","useCallback","api","invoke","then","res","catch","Grid","item","xs","ProgressBar","PageHeaderWrapper","actions","IAM_PAGES","REGISTER_SUPPORT","icon","ArrowIcon","HelpMenu","PageLayout","RegistrationStatusBanner","email","LicensePlans","closeModalAndFetchLicenseInfo","isOpen","onClose","left","marginLeft","VerifiedIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5061.7ff7c268.chunk.js b/portal-ui/build/static/js/5061.3fca1d7f.chunk.js similarity index 94% rename from portal-ui/build/static/js/5061.7ff7c268.chunk.js rename to portal-ui/build/static/js/5061.3fca1d7f.chunk.js index 1d525ee883..7ddc4c146d 100644 --- a/portal-ui/build/static/js/5061.7ff7c268.chunk.js +++ b/portal-ui/build/static/js/5061.3fca1d7f.chunk.js @@ -1,3 +1,3 @@ -/*! For license information please see 5061.7ff7c268.chunk.js.LICENSE.txt */ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5061],{31211:t=>{t.exports=function(t,e,A,r){for(var n=-1,i=null==t?0:t.length;++n{var r=A(87927);t.exports=function(t,e,A,n){return r(t,(function(t,r,i){e(n,t,A(t),i)})),n}},74629:(t,e,A)=>{var r=A(31211),n=A(38430),i=A(56025),o=A(93629);t.exports=function(t,e){return function(A,s){var a=o(A)?r:n,c=e?e():{};return a(A,t,i(s,2),c)}}},98444:(t,e,A)=>{var r=A(32526),n=A(74629),i=Object.prototype.hasOwnProperty,o=n((function(t,e,A){i.call(t,A)?t[A].push(e):r(t,A,[e])}));t.exports=o},18559:(t,e,A)=>{var r=A(43079),n=A(81954),i=A(56025);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),n):void 0}},43638:(t,e,A)=>{var r=A(43079),n=A(56025),i=A(92580);t.exports=function(t,e){return t&&t.length?r(t,n(e,2),i):void 0}},91097:(t,e,A)=>{t.exports=function(t){var e={};function A(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,A),n.l=!0,n.exports}return A.m=t,A.c=e,A.d=function(t,e,r){A.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},A.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},A.t=function(t,e){if(1&e&&(t=A(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(A.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)A.d(r,n,function(e){return t[e]}.bind(null,n));return r},A.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return A.d(e,"a",e),e},A.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},A.p="",A(A.s=3)}([function(t,e,A){t.exports=function(){"use strict";var t=function(e,A){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var A in e)e.hasOwnProperty(A)&&(t[A]=e[A])})(e,A)};function e(e,A){function r(){this.constructor=e}t(e,A),e.prototype=null===A?Object.create(A):(r.prototype=A.prototype,new r)}var A=function(){return(A=Object.assign||function(t){for(var e,A=1,r=arguments.length;A0&&n[n.length-1])||6!==i[0]&&2!==i[0])){o=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]=55296&&n<=56319&&A>10),o%1024+56320)),(n+1===A||r.length>16384)&&(i+=String.fromCharCode.apply(String,r),r.length=0)}return i},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u="undefined"==typeof Uint8Array?[]:new Uint8Array(256),l=0;l<64;l++)u[c.charCodeAt(l)]=l;var h,f=function(t,e,A){return t.slice?t.slice(e,A):new Uint16Array(Array.prototype.slice.call(t,e,A))},d=function(){function t(t,e,A,r,n,i){this.initialValue=t,this.errorValue=e,this.highStart=A,this.highValueIndex=r,this.index=n,this.data=i}return t.prototype.get=function(t){var e;if(t>=0){if(t<55296||t>56319&&t<=65535)return e=((e=this.index[t>>5])<<2)+(31&t),this.data[e];if(t<=65535)return e=((e=this.index[2048+(t-55296>>5)])<<2)+(31&t),this.data[e];if(t>11),e=this.index[e],e+=t>>5&63,e=((e=this.index[e])<<2)+(31&t),this.data[e];if(t<=1114111)return this.data[this.highValueIndex]}return this.errorValue},t}(),p=10,g=13,B=15,w=17,m=18,y=19,v=20,C=21,Q=22,b=24,F=25,U=26,E=27,N=28,L=30,x=32,H=33,S=34,I=35,_=37,T=38,O=39,R=40,P=42,K=function(t){var e,A,r,n=function(t){var e,A,r,n,i,o=.75*t.length,s=t.length,a=0;"="===t[t.length-1]&&(o--,"="===t[t.length-2]&&o--);var c="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(o):new Array(o),l=Array.isArray(c)?c:new Uint8Array(c);for(e=0;e>4,l[a++]=(15&r)<<4|n>>2,l[a++]=(3&n)<<6|63&i;return c}("KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA"),i=Array.isArray(n)?function(t){for(var e=t.length,A=[],r=0;r0;){var o=r[--i];if(Array.isArray(t)?-1!==t.indexOf(o):t===o)for(var s=A;s<=r.length;){var a;if((a=r[++s])===e)return!0;if(a!==p)break}if(o!==p)break}return!1},G=function(t,e){for(var A=t;A>=0;){var r=e[A];if(r!==p)return r;A--}return 0},J=function(t,e,A,r,n){if(0===A[r])return"\xd7";var i=r-1;if(Array.isArray(n)&&!0===n[i])return"\xd7";var o=i-1,s=i+1,a=e[i],c=o>=0?e[o]:0,u=e[s];if(2===a&&3===u)return"\xd7";if(-1!==D.indexOf(a))return"!";if(-1!==D.indexOf(u))return"\xd7";if(-1!==k.indexOf(u))return"\xd7";if(8===G(i,e))return"\xf7";if(11===K.get(t[i])&&(u===_||u===x||u===H))return"\xd7";if(7===a||7===u)return"\xd7";if(9===a)return"\xd7";if(-1===[p,g,B].indexOf(a)&&9===u)return"\xd7";if(-1!==[w,m,y,b,N].indexOf(u))return"\xd7";if(G(i,e)===Q)return"\xd7";if(X(23,Q,i,e))return"\xd7";if(X([w,m],C,i,e))return"\xd7";if(X(12,12,i,e))return"\xd7";if(a===p)return"\xf7";if(23===a||23===u)return"\xd7";if(16===u||16===a)return"\xf7";if(-1!==[g,B,C].indexOf(u)||14===a)return"\xd7";if(36===c&&-1!==V.indexOf(a))return"\xd7";if(a===N&&36===u)return"\xd7";if(u===v&&-1!==M.concat(v,y,F,_,x,H).indexOf(a))return"\xd7";if(-1!==M.indexOf(u)&&a===F||-1!==M.indexOf(a)&&u===F)return"\xd7";if(a===E&&-1!==[_,x,H].indexOf(u)||-1!==[_,x,H].indexOf(a)&&u===U)return"\xd7";if(-1!==M.indexOf(a)&&-1!==z.indexOf(u)||-1!==z.indexOf(a)&&-1!==M.indexOf(u))return"\xd7";if(-1!==[E,U].indexOf(a)&&(u===F||-1!==[Q,B].indexOf(u)&&e[s+1]===F)||-1!==[Q,B].indexOf(a)&&u===F||a===F&&-1!==[F,N,b].indexOf(u))return"\xd7";if(-1!==[F,N,b,w,m].indexOf(u))for(var l=i;l>=0;){if((h=e[l])===F)return"\xd7";if(-1===[N,b].indexOf(h))break;l--}if(-1!==[E,U].indexOf(u))for(l=-1!==[w,m].indexOf(a)?o:i;l>=0;){var h;if((h=e[l])===F)return"\xd7";if(-1===[N,b].indexOf(h))break;l--}if(T===a&&-1!==[T,O,S,I].indexOf(u)||-1!==[O,S].indexOf(a)&&-1!==[O,R].indexOf(u)||-1!==[R,I].indexOf(a)&&u===R)return"\xd7";if(-1!==q.indexOf(a)&&-1!==[v,U].indexOf(u)||-1!==q.indexOf(u)&&a===E)return"\xd7";if(-1!==M.indexOf(a)&&-1!==M.indexOf(u))return"\xd7";if(a===b&&-1!==M.indexOf(u))return"\xd7";if(-1!==M.concat(F).indexOf(a)&&u===Q||-1!==M.concat(F).indexOf(u)&&a===m)return"\xd7";if(41===a&&41===u){for(var f=A[i],d=1;f>0&&41===e[--f];)d++;if(d%2!=0)return"\xd7"}return a===x&&u===H?"\xd7":"\xf7"},W=function(){function t(t,e,A,r){this.codePoints=t,this.required="!"===e,this.start=A,this.end=r}return t.prototype.slice=function(){return a.apply(void 0,this.codePoints.slice(this.start,this.end))},t}();!function(t){t[t.STRING_TOKEN=0]="STRING_TOKEN",t[t.BAD_STRING_TOKEN=1]="BAD_STRING_TOKEN",t[t.LEFT_PARENTHESIS_TOKEN=2]="LEFT_PARENTHESIS_TOKEN",t[t.RIGHT_PARENTHESIS_TOKEN=3]="RIGHT_PARENTHESIS_TOKEN",t[t.COMMA_TOKEN=4]="COMMA_TOKEN",t[t.HASH_TOKEN=5]="HASH_TOKEN",t[t.DELIM_TOKEN=6]="DELIM_TOKEN",t[t.AT_KEYWORD_TOKEN=7]="AT_KEYWORD_TOKEN",t[t.PREFIX_MATCH_TOKEN=8]="PREFIX_MATCH_TOKEN",t[t.DASH_MATCH_TOKEN=9]="DASH_MATCH_TOKEN",t[t.INCLUDE_MATCH_TOKEN=10]="INCLUDE_MATCH_TOKEN",t[t.LEFT_CURLY_BRACKET_TOKEN=11]="LEFT_CURLY_BRACKET_TOKEN",t[t.RIGHT_CURLY_BRACKET_TOKEN=12]="RIGHT_CURLY_BRACKET_TOKEN",t[t.SUFFIX_MATCH_TOKEN=13]="SUFFIX_MATCH_TOKEN",t[t.SUBSTRING_MATCH_TOKEN=14]="SUBSTRING_MATCH_TOKEN",t[t.DIMENSION_TOKEN=15]="DIMENSION_TOKEN",t[t.PERCENTAGE_TOKEN=16]="PERCENTAGE_TOKEN",t[t.NUMBER_TOKEN=17]="NUMBER_TOKEN",t[t.FUNCTION=18]="FUNCTION",t[t.FUNCTION_TOKEN=19]="FUNCTION_TOKEN",t[t.IDENT_TOKEN=20]="IDENT_TOKEN",t[t.COLUMN_TOKEN=21]="COLUMN_TOKEN",t[t.URL_TOKEN=22]="URL_TOKEN",t[t.BAD_URL_TOKEN=23]="BAD_URL_TOKEN",t[t.CDC_TOKEN=24]="CDC_TOKEN",t[t.CDO_TOKEN=25]="CDO_TOKEN",t[t.COLON_TOKEN=26]="COLON_TOKEN",t[t.SEMICOLON_TOKEN=27]="SEMICOLON_TOKEN",t[t.LEFT_SQUARE_BRACKET_TOKEN=28]="LEFT_SQUARE_BRACKET_TOKEN",t[t.RIGHT_SQUARE_BRACKET_TOKEN=29]="RIGHT_SQUARE_BRACKET_TOKEN",t[t.UNICODE_RANGE_TOKEN=30]="UNICODE_RANGE_TOKEN",t[t.WHITESPACE_TOKEN=31]="WHITESPACE_TOKEN",t[t.EOF_TOKEN=32]="EOF_TOKEN"}(h||(h={}));var Y=function(t){return t>=48&&t<=57},Z=function(t){return Y(t)||t>=65&&t<=70||t>=97&&t<=102},$=function(t){return 10===t||9===t||32===t},tt=function(t){return function(t){return function(t){return t>=97&&t<=122}(t)||function(t){return t>=65&&t<=90}(t)}(t)||function(t){return t>=128}(t)||95===t},et=function(t){return tt(t)||Y(t)||45===t},At=function(t){return t>=0&&t<=8||11===t||t>=14&&t<=31||127===t},rt=function(t,e){return 92===t&&10!==e},nt=function(t,e,A){return 45===t?tt(e)||rt(e,A):!!tt(t)||!(92!==t||!rt(t,e))},it=function(t,e,A){return 43===t||45===t?!!Y(e)||46===e&&Y(A):Y(46===t?e:t)},ot=function(t){var e=0,A=1;43!==t[e]&&45!==t[e]||(45===t[e]&&(A=-1),e++);for(var r=[];Y(t[e]);)r.push(t[e++]);var n=r.length?parseInt(a.apply(void 0,r),10):0;46===t[e]&&e++;for(var i=[];Y(t[e]);)i.push(t[e++]);var o=i.length,s=o?parseInt(a.apply(void 0,i),10):0;69!==t[e]&&101!==t[e]||e++;var c=1;43!==t[e]&&45!==t[e]||(45===t[e]&&(c=-1),e++);for(var u=[];Y(t[e]);)u.push(t[e++]);var l=u.length?parseInt(a.apply(void 0,u),10):0;return A*(n+s*Math.pow(10,-o))*Math.pow(10,c*l)},st={type:h.LEFT_PARENTHESIS_TOKEN},at={type:h.RIGHT_PARENTHESIS_TOKEN},ct={type:h.COMMA_TOKEN},ut={type:h.SUFFIX_MATCH_TOKEN},lt={type:h.PREFIX_MATCH_TOKEN},ht={type:h.COLUMN_TOKEN},ft={type:h.DASH_MATCH_TOKEN},dt={type:h.INCLUDE_MATCH_TOKEN},pt={type:h.LEFT_CURLY_BRACKET_TOKEN},gt={type:h.RIGHT_CURLY_BRACKET_TOKEN},Bt={type:h.SUBSTRING_MATCH_TOKEN},wt={type:h.BAD_URL_TOKEN},mt={type:h.BAD_STRING_TOKEN},yt={type:h.CDO_TOKEN},vt={type:h.CDC_TOKEN},Ct={type:h.COLON_TOKEN},Qt={type:h.SEMICOLON_TOKEN},bt={type:h.LEFT_SQUARE_BRACKET_TOKEN},Ft={type:h.RIGHT_SQUARE_BRACKET_TOKEN},Ut={type:h.WHITESPACE_TOKEN},Et={type:h.EOF_TOKEN},Nt=function(){function t(){this._value=[]}return t.prototype.write=function(t){this._value=this._value.concat(s(t))},t.prototype.read=function(){for(var t=[],e=this.consumeToken();e!==Et;)t.push(e),e=this.consumeToken();return t},t.prototype.consumeToken=function(){var t=this.consumeCodePoint();switch(t){case 34:return this.consumeStringToken(34);case 35:var e=this.peekCodePoint(0),A=this.peekCodePoint(1),r=this.peekCodePoint(2);if(et(e)||rt(A,r)){var n=nt(e,A,r)?2:1,i=this.consumeName();return{type:h.HASH_TOKEN,value:i,flags:n}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ut;break;case 39:return this.consumeStringToken(39);case 40:return st;case 41:return at;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Bt;break;case 43:if(it(t,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(t),this.consumeNumericToken();break;case 44:return ct;case 45:var o=t,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(it(o,s,c))return this.reconsumeCodePoint(t),this.consumeNumericToken();if(nt(o,s,c))return this.reconsumeCodePoint(t),this.consumeIdentLikeToken();if(45===s&&62===c)return this.consumeCodePoint(),this.consumeCodePoint(),vt;break;case 46:if(it(t,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(t),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(42===u&&47===(u=this.consumeCodePoint()))return this.consumeToken();if(-1===u)return this.consumeToken()}break;case 58:return Ct;case 59:return Qt;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),yt;break;case 64:var l=this.peekCodePoint(0),f=this.peekCodePoint(1),d=this.peekCodePoint(2);if(nt(l,f,d))return i=this.consumeName(),{type:h.AT_KEYWORD_TOKEN,value:i};break;case 91:return bt;case 92:if(rt(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),this.consumeIdentLikeToken();break;case 93:return Ft;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),lt;break;case 123:return pt;case 125:return gt;case 117:case 85:var p=this.peekCodePoint(0),g=this.peekCodePoint(1);return 43!==p||!Z(g)&&63!==g||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(t),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ft;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),ht;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),dt;break;case-1:return Et}return $(t)?(this.consumeWhiteSpace(),Ut):Y(t)?(this.reconsumeCodePoint(t),this.consumeNumericToken()):tt(t)?(this.reconsumeCodePoint(t),this.consumeIdentLikeToken()):{type:h.DELIM_TOKEN,value:a(t)}},t.prototype.consumeCodePoint=function(){var t=this._value.shift();return void 0===t?-1:t},t.prototype.reconsumeCodePoint=function(t){this._value.unshift(t)},t.prototype.peekCodePoint=function(t){return t>=this._value.length?-1:this._value[t]},t.prototype.consumeUnicodeRangeToken=function(){for(var t=[],e=this.consumeCodePoint();Z(e)&&t.length<6;)t.push(e),e=this.consumeCodePoint();for(var A=!1;63===e&&t.length<6;)t.push(e),e=this.consumeCodePoint(),A=!0;if(A){var r=parseInt(a.apply(void 0,t.map((function(t){return 63===t?48:t}))),16),n=parseInt(a.apply(void 0,t.map((function(t){return 63===t?70:t}))),16);return{type:h.UNICODE_RANGE_TOKEN,start:r,end:n}}var i=parseInt(a.apply(void 0,t),16);if(45===this.peekCodePoint(0)&&Z(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var o=[];Z(e)&&o.length<6;)o.push(e),e=this.consumeCodePoint();return n=parseInt(a.apply(void 0,o),16),{type:h.UNICODE_RANGE_TOKEN,start:i,end:n}}return{type:h.UNICODE_RANGE_TOKEN,start:i,end:i}},t.prototype.consumeIdentLikeToken=function(){var t=this.consumeName();return"url"===t.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:h.FUNCTION_TOKEN,value:t}):{type:h.IDENT_TOKEN,value:t}},t.prototype.consumeUrlToken=function(){var t=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:h.URL_TOKEN,value:""};var e=this.peekCodePoint(0);if(39===e||34===e){var A=this.consumeStringToken(this.consumeCodePoint());return A.type===h.STRING_TOKEN&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:h.URL_TOKEN,value:A.value}):(this.consumeBadUrlRemnants(),wt)}for(;;){var r=this.consumeCodePoint();if(-1===r||41===r)return{type:h.URL_TOKEN,value:a.apply(void 0,t)};if($(r))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:h.URL_TOKEN,value:a.apply(void 0,t)}):(this.consumeBadUrlRemnants(),wt);if(34===r||39===r||40===r||At(r))return this.consumeBadUrlRemnants(),wt;if(92===r){if(!rt(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),wt;t.push(this.consumeEscapedCodePoint())}else t.push(r)}},t.prototype.consumeWhiteSpace=function(){for(;$(this.peekCodePoint(0));)this.consumeCodePoint()},t.prototype.consumeBadUrlRemnants=function(){for(;;){var t=this.consumeCodePoint();if(41===t||-1===t)return;rt(t,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},t.prototype.consumeStringSlice=function(t){for(var e="";t>0;){var A=Math.min(6e4,t);e+=a.apply(void 0,this._value.splice(0,A)),t-=A}return this._value.shift(),e},t.prototype.consumeStringToken=function(t){for(var e="",A=0;;){var r=this._value[A];if(-1===r||void 0===r||r===t)return e+=this.consumeStringSlice(A),{type:h.STRING_TOKEN,value:e};if(10===r)return this._value.splice(0,A),mt;if(92===r){var n=this._value[A+1];-1!==n&&void 0!==n&&(10===n?(e+=this.consumeStringSlice(A),A=-1,this._value.shift()):rt(r,n)&&(e+=this.consumeStringSlice(A),e+=a(this.consumeEscapedCodePoint()),A=-1))}A++}},t.prototype.consumeNumber=function(){var t=[],e=4,A=this.peekCodePoint(0);for(43!==A&&45!==A||t.push(this.consumeCodePoint());Y(this.peekCodePoint(0));)t.push(this.consumeCodePoint());A=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===A&&Y(r))for(t.push(this.consumeCodePoint(),this.consumeCodePoint()),e=8;Y(this.peekCodePoint(0));)t.push(this.consumeCodePoint());A=this.peekCodePoint(0),r=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((69===A||101===A)&&((43===r||45===r)&&Y(n)||Y(r)))for(t.push(this.consumeCodePoint(),this.consumeCodePoint()),e=8;Y(this.peekCodePoint(0));)t.push(this.consumeCodePoint());return[ot(t),e]},t.prototype.consumeNumericToken=function(){var t=this.consumeNumber(),e=t[0],A=t[1],r=this.peekCodePoint(0),n=this.peekCodePoint(1),i=this.peekCodePoint(2);if(nt(r,n,i)){var o=this.consumeName();return{type:h.DIMENSION_TOKEN,number:e,flags:A,unit:o}}return 37===r?(this.consumeCodePoint(),{type:h.PERCENTAGE_TOKEN,number:e,flags:A}):{type:h.NUMBER_TOKEN,number:e,flags:A}},t.prototype.consumeEscapedCodePoint=function(){var t=this.consumeCodePoint();if(Z(t)){for(var e=a(t);Z(this.peekCodePoint(0))&&e.length<6;)e+=a(this.consumeCodePoint());$(this.peekCodePoint(0))&&this.consumeCodePoint();var A=parseInt(e,16);return 0===A||function(t){return t>=55296&&t<=57343}(A)||A>1114111?65533:A}return-1===t?65533:t},t.prototype.consumeName=function(){for(var t="";;){var e=this.consumeCodePoint();if(et(e))t+=a(e);else{if(!rt(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),t;t+=a(this.consumeEscapedCodePoint())}}},t}(),Lt=function(){function t(t){this._tokens=t}return t.create=function(e){var A=new Nt;return A.write(e),new t(A.read())},t.parseValue=function(e){return t.create(e).parseComponentValue()},t.parseValues=function(e){return t.create(e).parseComponentValues()},t.prototype.parseComponentValue=function(){for(var t=this.consumeToken();t.type===h.WHITESPACE_TOKEN;)t=this.consumeToken();if(t.type===h.EOF_TOKEN)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(t);var e=this.consumeComponentValue();do{t=this.consumeToken()}while(t.type===h.WHITESPACE_TOKEN);if(t.type===h.EOF_TOKEN)return e;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},t.prototype.parseComponentValues=function(){for(var t=[];;){var e=this.consumeComponentValue();if(e.type===h.EOF_TOKEN)return t;t.push(e),t.push()}},t.prototype.consumeComponentValue=function(){var t=this.consumeToken();switch(t.type){case h.LEFT_CURLY_BRACKET_TOKEN:case h.LEFT_SQUARE_BRACKET_TOKEN:case h.LEFT_PARENTHESIS_TOKEN:return this.consumeSimpleBlock(t.type);case h.FUNCTION_TOKEN:return this.consumeFunction(t)}return t},t.prototype.consumeSimpleBlock=function(t){for(var e={type:t,values:[]},A=this.consumeToken();;){if(A.type===h.EOF_TOKEN||Pt(A,t))return e;this.reconsumeToken(A),e.values.push(this.consumeComponentValue()),A=this.consumeToken()}},t.prototype.consumeFunction=function(t){for(var e={name:t.value,values:[],type:h.FUNCTION};;){var A=this.consumeToken();if(A.type===h.EOF_TOKEN||A.type===h.RIGHT_PARENTHESIS_TOKEN)return e;this.reconsumeToken(A),e.values.push(this.consumeComponentValue())}},t.prototype.consumeToken=function(){var t=this._tokens.shift();return void 0===t?Et:t},t.prototype.reconsumeToken=function(t){this._tokens.unshift(t)},t}(),xt=function(t){return t.type===h.DIMENSION_TOKEN},Ht=function(t){return t.type===h.NUMBER_TOKEN},St=function(t){return t.type===h.IDENT_TOKEN},It=function(t){return t.type===h.STRING_TOKEN},_t=function(t,e){return St(t)&&t.value===e},Tt=function(t){return t.type!==h.WHITESPACE_TOKEN},Ot=function(t){return t.type!==h.WHITESPACE_TOKEN&&t.type!==h.COMMA_TOKEN},Rt=function(t){var e=[],A=[];return t.forEach((function(t){if(t.type===h.COMMA_TOKEN){if(0===A.length)throw new Error("Error parsing function args, zero tokens for arg");return e.push(A),void(A=[])}t.type!==h.WHITESPACE_TOKEN&&A.push(t)})),A.length&&e.push(A),e},Pt=function(t,e){return e===h.LEFT_CURLY_BRACKET_TOKEN&&t.type===h.RIGHT_CURLY_BRACKET_TOKEN||e===h.LEFT_SQUARE_BRACKET_TOKEN&&t.type===h.RIGHT_SQUARE_BRACKET_TOKEN||e===h.LEFT_PARENTHESIS_TOKEN&&t.type===h.RIGHT_PARENTHESIS_TOKEN},Kt=function(t){return t.type===h.NUMBER_TOKEN||t.type===h.DIMENSION_TOKEN},Mt=function(t){return t.type===h.PERCENTAGE_TOKEN||Kt(t)},Dt=function(t){return t.length>1?[t[0],t[1]]:[t[0]]},kt={type:h.NUMBER_TOKEN,number:0,flags:4},zt={type:h.PERCENTAGE_TOKEN,number:50,flags:4},jt={type:h.PERCENTAGE_TOKEN,number:100,flags:4},qt=function(t,e,A){var r=t[0],n=t[1];return[Vt(r,e),Vt(void 0!==n?n:r,A)]},Vt=function(t,e){if(t.type===h.PERCENTAGE_TOKEN)return t.number/100*e;if(xt(t))switch(t.unit){case"rem":case"em":return 16*t.number;default:return t.number}return t.number},Xt=function(t){if(t.type===h.DIMENSION_TOKEN)switch(t.unit){case"deg":return Math.PI*t.number/180;case"grad":return Math.PI/200*t.number;case"rad":return t.number;case"turn":return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},Gt=function(t){return t.type===h.DIMENSION_TOKEN&&("deg"===t.unit||"grad"===t.unit||"rad"===t.unit||"turn"===t.unit)},Jt=function(t){switch(t.filter(St).map((function(t){return t.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[kt,kt];case"to top":case"bottom":return Wt(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[kt,jt];case"to right":case"left":return Wt(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[jt,jt];case"to bottom":case"top":return Wt(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[jt,kt];case"to left":case"right":return Wt(270)}return 0},Wt=function(t){return Math.PI*t/180},Yt=function(t){if(t.type===h.FUNCTION){var e=se[t.name];if(void 0===e)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return e(t.values)}if(t.type===h.HASH_TOKEN){if(3===t.value.length){var A=t.value.substring(0,1),r=t.value.substring(1,2),n=t.value.substring(2,3);return te(parseInt(A+A,16),parseInt(r+r,16),parseInt(n+n,16),1)}if(4===t.value.length){A=t.value.substring(0,1),r=t.value.substring(1,2),n=t.value.substring(2,3);var i=t.value.substring(3,4);return te(parseInt(A+A,16),parseInt(r+r,16),parseInt(n+n,16),parseInt(i+i,16)/255)}if(6===t.value.length)return A=t.value.substring(0,2),r=t.value.substring(2,4),n=t.value.substring(4,6),te(parseInt(A,16),parseInt(r,16),parseInt(n,16),1);if(8===t.value.length)return A=t.value.substring(0,2),r=t.value.substring(2,4),n=t.value.substring(4,6),i=t.value.substring(6,8),te(parseInt(A,16),parseInt(r,16),parseInt(n,16),parseInt(i,16)/255)}if(t.type===h.IDENT_TOKEN){var o=ae[t.value.toUpperCase()];if(void 0!==o)return o}return ae.TRANSPARENT},Zt=function(t){return 0==(255&t)},$t=function(t){var e=255&t,A=255&t>>8,r=255&t>>16,n=255&t>>24;return e<255?"rgba("+n+","+r+","+A+","+e/255+")":"rgb("+n+","+r+","+A+")"},te=function(t,e,A,r){return(t<<24|e<<16|A<<8|Math.round(255*r)<<0)>>>0},ee=function(t,e){if(t.type===h.NUMBER_TOKEN)return t.number;if(t.type===h.PERCENTAGE_TOKEN){var A=3===e?1:255;return 3===e?t.number/100*A:Math.round(t.number/100*A)}return 0},Ae=function(t){var e=t.filter(Ot);if(3===e.length){var A=e.map(ee),r=A[0],n=A[1],i=A[2];return te(r,n,i,1)}if(4===e.length){var o=e.map(ee),s=(r=o[0],n=o[1],i=o[2],o[3]);return te(r,n,i,s)}return 0};function re(t,e,A){return A<0&&(A+=1),A>=1&&(A-=1),A<1/6?(e-t)*A*6+t:A<.5?e:A<2/3?6*(e-t)*(2/3-A)+t:t}var ne,ie,oe=function(t){var e=t.filter(Ot),A=e[0],r=e[1],n=e[2],i=e[3],o=(A.type===h.NUMBER_TOKEN?Wt(A.number):Xt(A))/(2*Math.PI),s=Mt(r)?r.number/100:0,a=Mt(n)?n.number/100:0,c=void 0!==i&&Mt(i)?Vt(i,1):1;if(0===s)return te(255*a,255*a,255*a,1);var u=a<=.5?a*(s+1):a+s-a*s,l=2*a-u,f=re(l,u,o+1/3),d=re(l,u,o),p=re(l,u,o-1/3);return te(255*f,255*d,255*p,c)},se={hsl:oe,hsla:oe,rgb:Ae,rgba:Ae},ae={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199};(function(t){t[t.VALUE=0]="VALUE",t[t.LIST=1]="LIST",t[t.IDENT_VALUE=2]="IDENT_VALUE",t[t.TYPE_VALUE=3]="TYPE_VALUE",t[t.TOKEN_VALUE=4]="TOKEN_VALUE"})(ne||(ne={})),function(t){t[t.BORDER_BOX=0]="BORDER_BOX",t[t.PADDING_BOX=1]="PADDING_BOX",t[t.CONTENT_BOX=2]="CONTENT_BOX"}(ie||(ie={}));var ce,ue,le,he={name:"background-clip",initialValue:"border-box",prefix:!1,type:ne.LIST,parse:function(t){return t.map((function(t){if(St(t))switch(t.value){case"padding-box":return ie.PADDING_BOX;case"content-box":return ie.CONTENT_BOX}return ie.BORDER_BOX}))}},fe={name:"background-color",initialValue:"transparent",prefix:!1,type:ne.TYPE_VALUE,format:"color"},de=function(t){var e=Yt(t[0]),A=t[1];return A&&Mt(A)?{color:e,stop:A}:{color:e,stop:null}},pe=function(t,e){var A=t[0],r=t[t.length-1];null===A.stop&&(A.stop=kt),null===r.stop&&(r.stop=jt);for(var n=[],i=0,o=0;oi?n.push(a):n.push(i),i=a}else n.push(null)}var c=null;for(o=0;ot.optimumDistance)?{optimumCorner:e,optimumDistance:s}:t}),{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},we=function(t){var e=Wt(180),A=[];return Rt(t).forEach((function(t,r){if(0===r){var n=t[0];if(n.type===h.IDENT_TOKEN&&-1!==["top","left","right","bottom"].indexOf(n.value))return void(e=Jt(t));if(Gt(n))return void(e=(Xt(n)+Wt(270))%Wt(360))}var i=de(t);A.push(i)})),{angle:e,stops:A,type:ce.LINEAR_GRADIENT}},me=function(t){return 0===t[0]&&255===t[1]&&0===t[2]&&255===t[3]},ye=function(t,e,A,r,n){var i="http://www.w3.org/2000/svg",o=document.createElementNS(i,"svg"),s=document.createElementNS(i,"foreignObject");return o.setAttributeNS(null,"width",t.toString()),o.setAttributeNS(null,"height",e.toString()),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"height","100%"),s.setAttributeNS(null,"x",A.toString()),s.setAttributeNS(null,"y",r.toString()),s.setAttributeNS(null,"externalResourcesRequired","true"),o.appendChild(s),s.appendChild(n),o},ve=function(t){return new Promise((function(e,A){var r=new Image;r.onload=function(){return e(r)},r.onerror=A,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(t))}))},Ce={get SUPPORT_RANGE_BOUNDS(){var t=function(t){if(t.createRange){var e=t.createRange();if(e.getBoundingClientRect){var A=t.createElement("boundtest");A.style.height="123px",A.style.display="block",t.body.appendChild(A),e.selectNode(A);var r=e.getBoundingClientRect(),n=Math.round(r.height);if(t.body.removeChild(A),123===n)return!0}}return!1}(document);return Object.defineProperty(Ce,"SUPPORT_RANGE_BOUNDS",{value:t}),t},get SUPPORT_SVG_DRAWING(){var t=function(t){var e=new Image,A=t.createElement("canvas"),r=A.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,";try{r.drawImage(e,0,0),A.toDataURL()}catch(t){return!1}return!0}(document);return Object.defineProperty(Ce,"SUPPORT_SVG_DRAWING",{value:t}),t},get SUPPORT_FOREIGNOBJECT_DRAWING(){var t="function"==typeof Array.from&&"function"==typeof window.fetch?function(t){var e=t.createElement("canvas");e.width=100,e.height=100;var A=e.getContext("2d");if(!A)return Promise.reject(!1);A.fillStyle="rgb(0, 255, 0)",A.fillRect(0,0,100,100);var r=new Image,n=e.toDataURL();r.src=n;var i=ye(100,100,0,0,r);return A.fillStyle="red",A.fillRect(0,0,100,100),ve(i).then((function(e){A.drawImage(e,0,0);var r=A.getImageData(0,0,100,100).data;A.fillStyle="red",A.fillRect(0,0,100,100);var i=t.createElement("div");return i.style.backgroundImage="url("+n+")",i.style.height="100px",me(r)?ve(ye(100,100,0,0,i)):Promise.reject(!1)})).then((function(t){return A.drawImage(t,0,0),me(A.getImageData(0,0,100,100).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(Ce,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:t}),t},get SUPPORT_CORS_IMAGES(){var t=void 0!==(new Image).crossOrigin;return Object.defineProperty(Ce,"SUPPORT_CORS_IMAGES",{value:t}),t},get SUPPORT_RESPONSE_TYPE(){var t="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(Ce,"SUPPORT_RESPONSE_TYPE",{value:t}),t},get SUPPORT_CORS_XHR(){var t="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Ce,"SUPPORT_CORS_XHR",{value:t}),t}},Qe=function(){function t(t){var e=t.id,A=t.enabled;this.id=e,this.enabled=A,this.start=Date.now()}return t.prototype.debug=function(){for(var t=[],e=0;e0&&setTimeout((function(){return e("Timed out ("+o._options.imageTimeout+"ms) loading image")}),o._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},t.prototype.has=function(t){return void 0!==this._cache[t]},t.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},t.prototype.proxy=function(t){var e=this,A=this._options.proxy;if(!A)throw new Error("No proxy defined");var r=t.substring(0,256);return new Promise((function(n,i){var o=Ce.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;if(s.onload=function(){if(200===s.status)if("text"===o)n(s.response);else{var t=new FileReader;t.addEventListener("load",(function(){return n(t.result)}),!1),t.addEventListener("error",(function(t){return i(t)}),!1),t.readAsDataURL(s.response)}else i("Failed to proxy resource "+r+" with status code "+s.status)},s.onerror=i,s.open("GET",A+"?url="+encodeURIComponent(t)+"&responseType="+o),"text"!==o&&s instanceof XMLHttpRequest&&(s.responseType=o),e._options.imageTimeout){var a=e._options.imageTimeout;s.timeout=a,s.ontimeout=function(){return i("Timed out ("+a+"ms) proxying "+r)}}s.send()}))},t}(),Ue=/^data:image\/svg\+xml/i,Ee=/^data:image\/.*;base64,/i,Ne=/^data:image\/.*/i,Le=function(t){return Ce.SUPPORT_SVG_DRAWING||!Ie(t)},xe=function(t){return Ne.test(t)},He=function(t){return Ee.test(t)},Se=function(t){return"blob"===t.substr(0,4)},Ie=function(t){return"svg"===t.substr(-3).toLowerCase()||Ue.test(t)},_e=function(t){var e=ue.CIRCLE,A=le.FARTHEST_CORNER,r=[],n=[];return Rt(t).forEach((function(t,i){var o=!0;if(0===i?o=t.reduce((function(t,e){if(St(e))switch(e.value){case"center":return n.push(zt),!1;case"top":case"left":return n.push(kt),!1;case"right":case"bottom":return n.push(jt),!1}else if(Mt(e)||Kt(e))return n.push(e),!1;return t}),o):1===i&&(o=t.reduce((function(t,r){if(St(r))switch(r.value){case"circle":return e=ue.CIRCLE,!1;case"ellipse":return e=ue.ELLIPSE,!1;case"contain":case"closest-side":return A=le.CLOSEST_SIDE,!1;case"farthest-side":return A=le.FARTHEST_SIDE,!1;case"closest-corner":return A=le.CLOSEST_CORNER,!1;case"cover":case"farthest-corner":return A=le.FARTHEST_CORNER,!1}else if(Kt(r)||Mt(r))return Array.isArray(A)||(A=[]),A.push(r),!1;return t}),o)),o){var s=de(t);r.push(s)}})),{size:A,shape:e,stops:r,position:n,type:ce.RADIAL_GRADIENT}};!function(t){t[t.URL=0]="URL",t[t.LINEAR_GRADIENT=1]="LINEAR_GRADIENT",t[t.RADIAL_GRADIENT=2]="RADIAL_GRADIENT"}(ce||(ce={})),function(t){t[t.CIRCLE=0]="CIRCLE",t[t.ELLIPSE=1]="ELLIPSE"}(ue||(ue={})),function(t){t[t.CLOSEST_SIDE=0]="CLOSEST_SIDE",t[t.FARTHEST_SIDE=1]="FARTHEST_SIDE",t[t.CLOSEST_CORNER=2]="CLOSEST_CORNER",t[t.FARTHEST_CORNER=3]="FARTHEST_CORNER"}(le||(le={}));var Te,Oe=function(t){if(t.type===h.URL_TOKEN){var e={url:t.value,type:ce.URL};return be.getInstance().addImage(t.value),e}if(t.type===h.FUNCTION){var A=Re[t.name];if(void 0===A)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return A(t.values)}throw new Error("Unsupported image type")},Re={"linear-gradient":function(t){var e=Wt(180),A=[];return Rt(t).forEach((function(t,r){if(0===r){var n=t[0];if(n.type===h.IDENT_TOKEN&&"to"===n.value)return void(e=Jt(t));if(Gt(n))return void(e=Xt(n))}var i=de(t);A.push(i)})),{angle:e,stops:A,type:ce.LINEAR_GRADIENT}},"-moz-linear-gradient":we,"-ms-linear-gradient":we,"-o-linear-gradient":we,"-webkit-linear-gradient":we,"radial-gradient":function(t){var e=ue.CIRCLE,A=le.FARTHEST_CORNER,r=[],n=[];return Rt(t).forEach((function(t,i){var o=!0;if(0===i){var s=!1;o=t.reduce((function(t,r){if(s)if(St(r))switch(r.value){case"center":return n.push(zt),t;case"top":case"left":return n.push(kt),t;case"right":case"bottom":return n.push(jt),t}else(Mt(r)||Kt(r))&&n.push(r);else if(St(r))switch(r.value){case"circle":return e=ue.CIRCLE,!1;case"ellipse":return e=ue.ELLIPSE,!1;case"at":return s=!0,!1;case"closest-side":return A=le.CLOSEST_SIDE,!1;case"cover":case"farthest-side":return A=le.FARTHEST_SIDE,!1;case"contain":case"closest-corner":return A=le.CLOSEST_CORNER,!1;case"farthest-corner":return A=le.FARTHEST_CORNER,!1}else if(Kt(r)||Mt(r))return Array.isArray(A)||(A=[]),A.push(r),!1;return t}),o)}if(o){var a=de(t);r.push(a)}})),{size:A,shape:e,stops:r,position:n,type:ce.RADIAL_GRADIENT}},"-moz-radial-gradient":_e,"-ms-radial-gradient":_e,"-o-radial-gradient":_e,"-webkit-radial-gradient":_e,"-webkit-gradient":function(t){var e=Wt(180),A=[],r=ce.LINEAR_GRADIENT,n=ue.CIRCLE,i=le.FARTHEST_CORNER;return Rt(t).forEach((function(t,e){var n=t[0];if(0===e){if(St(n)&&"linear"===n.value)return void(r=ce.LINEAR_GRADIENT);if(St(n)&&"radial"===n.value)return void(r=ce.RADIAL_GRADIENT)}if(n.type===h.FUNCTION)if("from"===n.name){var i=Yt(n.values[0]);A.push({stop:kt,color:i})}else if("to"===n.name)i=Yt(n.values[0]),A.push({stop:jt,color:i});else if("color-stop"===n.name){var o=n.values.filter(Ot);if(2===o.length){i=Yt(o[1]);var s=o[0];Ht(s)&&A.push({stop:{type:h.PERCENTAGE_TOKEN,number:100*s.number,flags:s.flags},color:i})}}})),r===ce.LINEAR_GRADIENT?{angle:(e+Wt(180))%Wt(360),stops:A,type:r}:{size:i,shape:n,stops:A,position:[],type:r}}},Pe={name:"background-image",initialValue:"none",type:ne.LIST,prefix:!1,parse:function(t){if(0===t.length)return[];var e=t[0];return e.type===h.IDENT_TOKEN&&"none"===e.value?[]:t.filter((function(t){return Ot(t)&&function(t){return t.type!==h.FUNCTION||Re[t.name]}(t)})).map(Oe)}},Ke={name:"background-origin",initialValue:"border-box",prefix:!1,type:ne.LIST,parse:function(t){return t.map((function(t){if(St(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},Me={name:"background-position",initialValue:"0% 0%",type:ne.LIST,prefix:!1,parse:function(t){return Rt(t).map((function(t){return t.filter(Mt)})).map(Dt)}};!function(t){t[t.REPEAT=0]="REPEAT",t[t.NO_REPEAT=1]="NO_REPEAT",t[t.REPEAT_X=2]="REPEAT_X",t[t.REPEAT_Y=3]="REPEAT_Y"}(Te||(Te={}));var De,ke={name:"background-repeat",initialValue:"repeat",prefix:!1,type:ne.LIST,parse:function(t){return Rt(t).map((function(t){return t.filter(St).map((function(t){return t.value})).join(" ")})).map(ze)}},ze=function(t){switch(t){case"no-repeat":return Te.NO_REPEAT;case"repeat-x":case"repeat no-repeat":return Te.REPEAT_X;case"repeat-y":case"no-repeat repeat":return Te.REPEAT_Y;default:return Te.REPEAT}};!function(t){t.AUTO="auto",t.CONTAIN="contain",t.COVER="cover"}(De||(De={}));var je,qe={name:"background-size",initialValue:"0",prefix:!1,type:ne.LIST,parse:function(t){return Rt(t).map((function(t){return t.filter(Ve)}))}},Ve=function(t){return St(t)||Mt(t)},Xe=function(t){return{name:"border-"+t+"-color",initialValue:"transparent",prefix:!1,type:ne.TYPE_VALUE,format:"color"}},Ge=Xe("top"),Je=Xe("right"),We=Xe("bottom"),Ye=Xe("left"),Ze=function(t){return{name:"border-radius-"+t,initialValue:"0 0",prefix:!1,type:ne.LIST,parse:function(t){return Dt(t.filter(Mt))}}},$e=Ze("top-left"),tA=Ze("top-right"),eA=Ze("bottom-right"),AA=Ze("bottom-left");!function(t){t[t.NONE=0]="NONE",t[t.SOLID=1]="SOLID"}(je||(je={}));var rA,nA=function(t){return{name:"border-"+t+"-style",initialValue:"solid",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){return"none"===t?je.NONE:je.SOLID}}},iA=nA("top"),oA=nA("right"),sA=nA("bottom"),aA=nA("left"),cA=function(t){return{name:"border-"+t+"-width",initialValue:"0",type:ne.VALUE,prefix:!1,parse:function(t){return xt(t)?t.number:0}}},uA=cA("top"),lA=cA("right"),hA=cA("bottom"),fA=cA("left"),dA={name:"color",initialValue:"transparent",prefix:!1,type:ne.TYPE_VALUE,format:"color"},pA={name:"display",initialValue:"inline-block",prefix:!1,type:ne.LIST,parse:function(t){return t.filter(St).reduce((function(t,e){return t|gA(e.value)}),0)}},gA=function(t){switch(t){case"block":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0};!function(t){t[t.NONE=0]="NONE",t[t.LEFT=1]="LEFT",t[t.RIGHT=2]="RIGHT",t[t.INLINE_START=3]="INLINE_START",t[t.INLINE_END=4]="INLINE_END"}(rA||(rA={}));var BA,wA={name:"float",initialValue:"none",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){switch(t){case"left":return rA.LEFT;case"right":return rA.RIGHT;case"inline-start":return rA.INLINE_START;case"inline-end":return rA.INLINE_END}return rA.NONE}},mA={name:"letter-spacing",initialValue:"0",prefix:!1,type:ne.VALUE,parse:function(t){return t.type===h.IDENT_TOKEN&&"normal"===t.value?0:t.type===h.NUMBER_TOKEN||t.type===h.DIMENSION_TOKEN?t.number:0}};!function(t){t.NORMAL="normal",t.STRICT="strict"}(BA||(BA={}));var yA,vA={name:"line-break",initialValue:"normal",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){return"strict"===t?BA.STRICT:BA.NORMAL}},CA={name:"line-height",initialValue:"normal",prefix:!1,type:ne.TOKEN_VALUE},QA={name:"list-style-image",initialValue:"none",type:ne.VALUE,prefix:!1,parse:function(t){return t.type===h.IDENT_TOKEN&&"none"===t.value?null:Oe(t)}};!function(t){t[t.INSIDE=0]="INSIDE",t[t.OUTSIDE=1]="OUTSIDE"}(yA||(yA={}));var bA,FA={name:"list-style-position",initialValue:"outside",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){return"inside"===t?yA.INSIDE:yA.OUTSIDE}};!function(t){t[t.NONE=-1]="NONE",t[t.DISC=0]="DISC",t[t.CIRCLE=1]="CIRCLE",t[t.SQUARE=2]="SQUARE",t[t.DECIMAL=3]="DECIMAL",t[t.CJK_DECIMAL=4]="CJK_DECIMAL",t[t.DECIMAL_LEADING_ZERO=5]="DECIMAL_LEADING_ZERO",t[t.LOWER_ROMAN=6]="LOWER_ROMAN",t[t.UPPER_ROMAN=7]="UPPER_ROMAN",t[t.LOWER_GREEK=8]="LOWER_GREEK",t[t.LOWER_ALPHA=9]="LOWER_ALPHA",t[t.UPPER_ALPHA=10]="UPPER_ALPHA",t[t.ARABIC_INDIC=11]="ARABIC_INDIC",t[t.ARMENIAN=12]="ARMENIAN",t[t.BENGALI=13]="BENGALI",t[t.CAMBODIAN=14]="CAMBODIAN",t[t.CJK_EARTHLY_BRANCH=15]="CJK_EARTHLY_BRANCH",t[t.CJK_HEAVENLY_STEM=16]="CJK_HEAVENLY_STEM",t[t.CJK_IDEOGRAPHIC=17]="CJK_IDEOGRAPHIC",t[t.DEVANAGARI=18]="DEVANAGARI",t[t.ETHIOPIC_NUMERIC=19]="ETHIOPIC_NUMERIC",t[t.GEORGIAN=20]="GEORGIAN",t[t.GUJARATI=21]="GUJARATI",t[t.GURMUKHI=22]="GURMUKHI",t[t.HEBREW=22]="HEBREW",t[t.HIRAGANA=23]="HIRAGANA",t[t.HIRAGANA_IROHA=24]="HIRAGANA_IROHA",t[t.JAPANESE_FORMAL=25]="JAPANESE_FORMAL",t[t.JAPANESE_INFORMAL=26]="JAPANESE_INFORMAL",t[t.KANNADA=27]="KANNADA",t[t.KATAKANA=28]="KATAKANA",t[t.KATAKANA_IROHA=29]="KATAKANA_IROHA",t[t.KHMER=30]="KHMER",t[t.KOREAN_HANGUL_FORMAL=31]="KOREAN_HANGUL_FORMAL",t[t.KOREAN_HANJA_FORMAL=32]="KOREAN_HANJA_FORMAL",t[t.KOREAN_HANJA_INFORMAL=33]="KOREAN_HANJA_INFORMAL",t[t.LAO=34]="LAO",t[t.LOWER_ARMENIAN=35]="LOWER_ARMENIAN",t[t.MALAYALAM=36]="MALAYALAM",t[t.MONGOLIAN=37]="MONGOLIAN",t[t.MYANMAR=38]="MYANMAR",t[t.ORIYA=39]="ORIYA",t[t.PERSIAN=40]="PERSIAN",t[t.SIMP_CHINESE_FORMAL=41]="SIMP_CHINESE_FORMAL",t[t.SIMP_CHINESE_INFORMAL=42]="SIMP_CHINESE_INFORMAL",t[t.TAMIL=43]="TAMIL",t[t.TELUGU=44]="TELUGU",t[t.THAI=45]="THAI",t[t.TIBETAN=46]="TIBETAN",t[t.TRAD_CHINESE_FORMAL=47]="TRAD_CHINESE_FORMAL",t[t.TRAD_CHINESE_INFORMAL=48]="TRAD_CHINESE_INFORMAL",t[t.UPPER_ARMENIAN=49]="UPPER_ARMENIAN",t[t.DISCLOSURE_OPEN=50]="DISCLOSURE_OPEN",t[t.DISCLOSURE_CLOSED=51]="DISCLOSURE_CLOSED"}(bA||(bA={}));var UA,EA={name:"list-style-type",initialValue:"none",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){switch(t){case"disc":return bA.DISC;case"circle":return bA.CIRCLE;case"square":return bA.SQUARE;case"decimal":return bA.DECIMAL;case"cjk-decimal":return bA.CJK_DECIMAL;case"decimal-leading-zero":return bA.DECIMAL_LEADING_ZERO;case"lower-roman":return bA.LOWER_ROMAN;case"upper-roman":return bA.UPPER_ROMAN;case"lower-greek":return bA.LOWER_GREEK;case"lower-alpha":return bA.LOWER_ALPHA;case"upper-alpha":return bA.UPPER_ALPHA;case"arabic-indic":return bA.ARABIC_INDIC;case"armenian":return bA.ARMENIAN;case"bengali":return bA.BENGALI;case"cambodian":return bA.CAMBODIAN;case"cjk-earthly-branch":return bA.CJK_EARTHLY_BRANCH;case"cjk-heavenly-stem":return bA.CJK_HEAVENLY_STEM;case"cjk-ideographic":return bA.CJK_IDEOGRAPHIC;case"devanagari":return bA.DEVANAGARI;case"ethiopic-numeric":return bA.ETHIOPIC_NUMERIC;case"georgian":return bA.GEORGIAN;case"gujarati":return bA.GUJARATI;case"gurmukhi":return bA.GURMUKHI;case"hebrew":return bA.HEBREW;case"hiragana":return bA.HIRAGANA;case"hiragana-iroha":return bA.HIRAGANA_IROHA;case"japanese-formal":return bA.JAPANESE_FORMAL;case"japanese-informal":return bA.JAPANESE_INFORMAL;case"kannada":return bA.KANNADA;case"katakana":return bA.KATAKANA;case"katakana-iroha":return bA.KATAKANA_IROHA;case"khmer":return bA.KHMER;case"korean-hangul-formal":return bA.KOREAN_HANGUL_FORMAL;case"korean-hanja-formal":return bA.KOREAN_HANJA_FORMAL;case"korean-hanja-informal":return bA.KOREAN_HANJA_INFORMAL;case"lao":return bA.LAO;case"lower-armenian":return bA.LOWER_ARMENIAN;case"malayalam":return bA.MALAYALAM;case"mongolian":return bA.MONGOLIAN;case"myanmar":return bA.MYANMAR;case"oriya":return bA.ORIYA;case"persian":return bA.PERSIAN;case"simp-chinese-formal":return bA.SIMP_CHINESE_FORMAL;case"simp-chinese-informal":return bA.SIMP_CHINESE_INFORMAL;case"tamil":return bA.TAMIL;case"telugu":return bA.TELUGU;case"thai":return bA.THAI;case"tibetan":return bA.TIBETAN;case"trad-chinese-formal":return bA.TRAD_CHINESE_FORMAL;case"trad-chinese-informal":return bA.TRAD_CHINESE_INFORMAL;case"upper-armenian":return bA.UPPER_ARMENIAN;case"disclosure-open":return bA.DISCLOSURE_OPEN;case"disclosure-closed":return bA.DISCLOSURE_CLOSED;default:return bA.NONE}}},NA=function(t){return{name:"margin-"+t,initialValue:"0",prefix:!1,type:ne.TOKEN_VALUE}},LA=NA("top"),xA=NA("right"),HA=NA("bottom"),SA=NA("left");!function(t){t[t.VISIBLE=0]="VISIBLE",t[t.HIDDEN=1]="HIDDEN",t[t.SCROLL=2]="SCROLL",t[t.AUTO=3]="AUTO"}(UA||(UA={}));var IA,_A={name:"overflow",initialValue:"visible",prefix:!1,type:ne.LIST,parse:function(t){return t.filter(St).map((function(t){switch(t.value){case"hidden":return UA.HIDDEN;case"scroll":return UA.SCROLL;case"auto":return UA.AUTO;default:return UA.VISIBLE}}))}};!function(t){t.NORMAL="normal",t.BREAK_WORD="break-word"}(IA||(IA={}));var TA,OA={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){return"break-word"===t?IA.BREAK_WORD:IA.NORMAL}},RA=function(t){return{name:"padding-"+t,initialValue:"0",prefix:!1,type:ne.TYPE_VALUE,format:"length-percentage"}},PA=RA("top"),KA=RA("right"),MA=RA("bottom"),DA=RA("left");!function(t){t[t.LEFT=0]="LEFT",t[t.CENTER=1]="CENTER",t[t.RIGHT=2]="RIGHT"}(TA||(TA={}));var kA,zA={name:"text-align",initialValue:"left",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){switch(t){case"right":return TA.RIGHT;case"center":case"justify":return TA.CENTER;default:return TA.LEFT}}};!function(t){t[t.STATIC=0]="STATIC",t[t.RELATIVE=1]="RELATIVE",t[t.ABSOLUTE=2]="ABSOLUTE",t[t.FIXED=3]="FIXED",t[t.STICKY=4]="STICKY"}(kA||(kA={}));var jA,qA={name:"position",initialValue:"static",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){switch(t){case"relative":return kA.RELATIVE;case"absolute":return kA.ABSOLUTE;case"fixed":return kA.FIXED;case"sticky":return kA.STICKY}return kA.STATIC}},VA={name:"text-shadow",initialValue:"none",type:ne.LIST,prefix:!1,parse:function(t){return 1===t.length&&_t(t[0],"none")?[]:Rt(t).map((function(t){for(var e={color:ae.TRANSPARENT,offsetX:kt,offsetY:kt,blur:kt},A=0,r=0;r1?1:0],this.overflowWrap=br(OA,t.overflowWrap),this.paddingTop=br(PA,t.paddingTop),this.paddingRight=br(KA,t.paddingRight),this.paddingBottom=br(MA,t.paddingBottom),this.paddingLeft=br(DA,t.paddingLeft),this.position=br(qA,t.position),this.textAlign=br(zA,t.textAlign),this.textDecorationColor=br(or,t.textDecorationColor||t.color),this.textDecorationLine=br(sr,t.textDecorationLine),this.textShadow=br(VA,t.textShadow),this.textTransform=br(GA,t.textTransform),this.transform=br(JA,t.transform),this.transformOrigin=br($A,t.transformOrigin),this.visibility=br(er,t.visibility),this.wordBreak=br(rr,t.wordBreak),this.zIndex=br(nr,t.zIndex)}return t.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===XA.VISIBLE},t.prototype.isTransparent=function(){return Zt(this.backgroundColor)},t.prototype.isTransformed=function(){return null!==this.transform},t.prototype.isPositioned=function(){return this.position!==kA.STATIC},t.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},t.prototype.isFloating=function(){return this.float!==rA.NONE},t.prototype.isInlineLevel=function(){return dr(this.display,4)||dr(this.display,33554432)||dr(this.display,268435456)||dr(this.display,536870912)||dr(this.display,67108864)||dr(this.display,134217728)},t}(),Cr=function(t){this.content=br(pr,t.content),this.quotes=br(wr,t.quotes)},Qr=function(t){this.counterIncrement=br(gr,t.counterIncrement),this.counterReset=br(Br,t.counterReset)},br=function(t,e){var A=new Nt,r=null!=e?e.toString():t.initialValue;A.write(r);var n=new Lt(A.read());switch(t.type){case ne.IDENT_VALUE:var i=n.parseComponentValue();return t.parse(St(i)?i.value:t.initialValue);case ne.VALUE:return t.parse(n.parseComponentValue());case ne.LIST:return t.parse(n.parseComponentValues());case ne.TOKEN_VALUE:return n.parseComponentValue();case ne.TYPE_VALUE:switch(t.format){case"angle":return Xt(n.parseComponentValue());case"color":return Yt(n.parseComponentValue());case"image":return Oe(n.parseComponentValue());case"length":var o=n.parseComponentValue();return Kt(o)?o:kt;case"length-percentage":var s=n.parseComponentValue();return Mt(s)?s:kt}}throw new Error("Attempting to parse unsupported css format type "+t.format)},Fr=function(t){this.styles=new vr(window.getComputedStyle(t,null)),this.textNodes=[],this.elements=[],null!==this.styles.transform&&tn(t)&&(t.style.transform="none"),this.bounds=o(t),this.flags=0},Ur=function(t,e){this.text=t,this.bounds=e},Er=function(t){var e=t.ownerDocument;if(e){var A=e.createElement("html2canvaswrapper");A.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(A,t);var n=o(A);return A.firstChild&&r.replaceChild(A.firstChild,A),n}}return new i(0,0,0,0)},Nr=function(t,e,A){var r=t.ownerDocument;if(!r)throw new Error("Node has no owner document");var n=r.createRange();return n.setStart(t,e),n.setEnd(t,e+A),i.fromClientRect(n.getBoundingClientRect())},Lr=function(t,e){for(var A,r=function(t,e){var A=s(t),r=function(t,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var A=function(t,e){void 0===e&&(e="strict");var A=[],r=[],n=[];return t.forEach((function(t,i){var o=K.get(t);if(o>50?(n.push(!0),o-=50):n.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(t))return r.push(i),A.push(16);if(4===o||11===o){if(0===i)return r.push(i),A.push(L);var s=A[i-1];return-1===j.indexOf(s)?(r.push(r[i-1]),A.push(s)):(r.push(i),A.push(L))}return r.push(i),31===o?A.push("strict"===e?C:_):o===P||29===o?A.push(L):43===o?t>=131072&&t<=196605||t>=196608&&t<=262141?A.push(_):A.push(L):void A.push(o)})),[r,A,n]}(t,e.lineBreak),r=A[0],n=A[1],i=A[2];return"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(n=n.map((function(t){return-1!==[F,L,P].indexOf(t)?_:t}))),[r,n,"keep-all"===e.wordBreak?i.map((function(e,A){return e&&t[A]>=19968&&t[A]<=40959})):void 0]}(A,e),n=r[0],i=r[1],o=r[2],a=A.length,c=0,u=0;return{next:function(){if(u>=a)return{done:!0,value:null};for(var t="\xd7";u0)if(Ce.SUPPORT_RANGE_BOUNDS)n.push(new Ur(t,Nr(A,i,t.length)));else{var r=A.splitText(t.length);n.push(new Ur(t,Er(A))),A=r}else Ce.SUPPORT_RANGE_BOUNDS||(A=A.splitText(t.length));i+=t.length})),n}(this.text,e,t)},Hr=function(t,e){switch(e){case jA.LOWERCASE:return t.toLowerCase();case jA.CAPITALIZE:return t.replace(Sr,Ir);case jA.UPPERCASE:return t.toUpperCase();default:return t}},Sr=/(^|\s|:|-|\(|\))([a-z])/g,Ir=function(t,e,A){return t.length>0?e+A.toUpperCase():t},_r=function(t){function A(e){var A=t.call(this,e)||this;return A.src=e.currentSrc||e.src,A.intrinsicWidth=e.naturalWidth,A.intrinsicHeight=e.naturalHeight,be.getInstance().addImage(A.src),A}return e(A,t),A}(Fr),Tr=function(t){function A(e){var A=t.call(this,e)||this;return A.canvas=e,A.intrinsicWidth=e.width,A.intrinsicHeight=e.height,A}return e(A,t),A}(Fr),Or=function(t){function A(e){var A=t.call(this,e)||this,r=new XMLSerializer;return A.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(e)),A.intrinsicWidth=e.width.baseVal.value,A.intrinsicHeight=e.height.baseVal.value,be.getInstance().addImage(A.svg),A}return e(A,t),A}(Fr),Rr=function(t){function A(e){var A=t.call(this,e)||this;return A.value=e.value,A}return e(A,t),A}(Fr),Pr=function(t){function A(e){var A=t.call(this,e)||this;return A.start=e.start,A.reversed="boolean"==typeof e.reversed&&!0===e.reversed,A}return e(A,t),A}(Fr),Kr=[{type:h.DIMENSION_TOKEN,flags:0,unit:"px",number:3}],Mr=[{type:h.PERCENTAGE_TOKEN,flags:0,number:50}],Dr=function(t){function A(e){var A,r,n,o=t.call(this,e)||this;switch(o.type=e.type.toLowerCase(),o.checked=e.checked,o.value=0===(r="password"===(A=e).type?new Array(A.value.length+1).join("\u2022"):A.value).length?A.placeholder||"":r,"checkbox"!==o.type&&"radio"!==o.type||(o.styles.backgroundColor=3739148031,o.styles.borderTopColor=o.styles.borderRightColor=o.styles.borderBottomColor=o.styles.borderLeftColor=2779096575,o.styles.borderTopWidth=o.styles.borderRightWidth=o.styles.borderBottomWidth=o.styles.borderLeftWidth=1,o.styles.borderTopStyle=o.styles.borderRightStyle=o.styles.borderBottomStyle=o.styles.borderLeftStyle=je.SOLID,o.styles.backgroundClip=[ie.BORDER_BOX],o.styles.backgroundOrigin=[0],o.bounds=(n=o.bounds).width>n.height?new i(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width0)e.textNodes.push(new xr(r,e.styles));else if($r(r)){var i=Gr(r);i.styles.isVisible()&&(Wr(r,i,A)?i.flags|=4:Yr(i.styles)&&(i.flags|=2),-1!==Vr.indexOf(r.tagName)&&(i.flags|=8),e.elements.push(i),fn(r)||on(r)||dn(r)||Xr(r,i,A))}},Gr=function(t){return cn(t)?new _r(t):an(t)?new Tr(t):on(t)?new Or(t):An(t)?new Rr(t):rn(t)?new Pr(t):nn(t)?new Dr(t):dn(t)?new kr(t):fn(t)?new zr(t):un(t)?new qr(t):new Fr(t)},Jr=function(t){var e=Gr(t);return e.flags|=4,Xr(t,e,e),e},Wr=function(t,e,A){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||sn(t)&&A.styles.isTransparent()},Yr=function(t){return t.isPositioned()||t.isFloating()},Zr=function(t){return t.nodeType===Node.TEXT_NODE},$r=function(t){return t.nodeType===Node.ELEMENT_NODE},tn=function(t){return $r(t)&&void 0!==t.style&&!en(t)},en=function(t){return"object"==typeof t.className},An=function(t){return"LI"===t.tagName},rn=function(t){return"OL"===t.tagName},nn=function(t){return"INPUT"===t.tagName},on=function(t){return"svg"===t.tagName},sn=function(t){return"BODY"===t.tagName},an=function(t){return"CANVAS"===t.tagName},cn=function(t){return"IMG"===t.tagName},un=function(t){return"IFRAME"===t.tagName},ln=function(t){return"STYLE"===t.tagName},hn=function(t){return"SCRIPT"===t.tagName},fn=function(t){return"TEXTAREA"===t.tagName},dn=function(t){return"SELECT"===t.tagName},pn=function(){function t(){this.counters={}}return t.prototype.getCounterValue=function(t){var e=this.counters[t];return e&&e.length?e[e.length-1]:1},t.prototype.getCounterValues=function(t){return this.counters[t]||[]},t.prototype.pop=function(t){var e=this;t.forEach((function(t){return e.counters[t].pop()}))},t.prototype.parse=function(t){var e=this,A=t.counterIncrement,r=t.counterReset,n=!0;null!==A&&A.forEach((function(t){var A=e.counters[t.counter];A&&0!==t.increment&&(n=!1,A[Math.max(0,A.length-1)]+=t.increment)}));var i=[];return n&&r.forEach((function(t){var A=e.counters[t.counter];i.push(t.counter),A||(A=e.counters[t.counter]=[]),A.push(t.reset)})),i},t}(),gn={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Bn={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u0554","\u0553","\u0552","\u0551","\u0550","\u054f","\u054e","\u054d","\u054c","\u054b","\u054a","\u0549","\u0548","\u0547","\u0546","\u0545","\u0544","\u0543","\u0542","\u0541","\u0540","\u053f","\u053e","\u053d","\u053c","\u053b","\u053a","\u0539","\u0538","\u0537","\u0536","\u0535","\u0534","\u0533","\u0532","\u0531"]},wn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["\u05d9\u05f3","\u05d8\u05f3","\u05d7\u05f3","\u05d6\u05f3","\u05d5\u05f3","\u05d4\u05f3","\u05d3\u05f3","\u05d2\u05f3","\u05d1\u05f3","\u05d0\u05f3","\u05ea","\u05e9","\u05e8","\u05e7","\u05e6","\u05e4","\u05e2","\u05e1","\u05e0","\u05de","\u05dc","\u05db","\u05d9\u05d8","\u05d9\u05d7","\u05d9\u05d6","\u05d8\u05d6","\u05d8\u05d5","\u05d9","\u05d8","\u05d7","\u05d6","\u05d5","\u05d4","\u05d3","\u05d2","\u05d1","\u05d0"]},mn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u10f5","\u10f0","\u10ef","\u10f4","\u10ee","\u10ed","\u10ec","\u10eb","\u10ea","\u10e9","\u10e8","\u10e7","\u10e6","\u10e5","\u10e4","\u10f3","\u10e2","\u10e1","\u10e0","\u10df","\u10de","\u10dd","\u10f2","\u10dc","\u10db","\u10da","\u10d9","\u10d8","\u10d7","\u10f1","\u10d6","\u10d5","\u10d4","\u10d3","\u10d2","\u10d1","\u10d0"]},yn=function(t,e,A,r,n,i){return tA?Fn(t,n,i.length>0):r.integers.reduce((function(e,A,n){for(;t>=A;)t-=A,e+=r.values[n];return e}),"")+i},vn=function(t,e,A,r){var n="";do{A||t--,n=r(t)+n,t/=e}while(t*e>=e);return n},Cn=function(t,e,A,r,n){var i=A-e+1;return(t<0?"-":"")+(vn(Math.abs(t),i,r,(function(t){return a(Math.floor(t%i)+e)}))+n)},Qn=function(t,e,A){void 0===A&&(A=". ");var r=e.length;return vn(Math.abs(t),r,!1,(function(t){return e[Math.floor(t%r)]}))+A},bn=function(t,e,A,r,n,i){if(t<-9999||t>9999)return Fn(t,bA.CJK_DECIMAL,n.length>0);var o=Math.abs(t),s=n;if(0===o)return e[0]+s;for(var a=0;o>0&&a<=4;a++){var c=o%10;0===c&&dr(i,1)&&""!==s?s=e[c]+s:c>1||1===c&&0===a||1===c&&1===a&&dr(i,2)||1===c&&1===a&&dr(i,4)&&t>100||1===c&&a>1&&dr(i,8)?s=e[c]+(a>0?A[a-1]:"")+s:1===c&&a>0&&(s=A[a-1]+s),o=Math.floor(o/10)}return(t<0?r:"")+s},Fn=function(t,e,A){var r=A?". ":"",n=A?"\u3001":"",i=A?", ":"",o=A?" ":"";switch(e){case bA.DISC:return"\u2022"+o;case bA.CIRCLE:return"\u25e6"+o;case bA.SQUARE:return"\u25fe"+o;case bA.DECIMAL_LEADING_ZERO:var s=Cn(t,48,57,!0,r);return s.length<4?"0"+s:s;case bA.CJK_DECIMAL:return Qn(t,"\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d",n);case bA.LOWER_ROMAN:return yn(t,1,3999,gn,bA.DECIMAL,r).toLowerCase();case bA.UPPER_ROMAN:return yn(t,1,3999,gn,bA.DECIMAL,r);case bA.LOWER_GREEK:return Cn(t,945,969,!1,r);case bA.LOWER_ALPHA:return Cn(t,97,122,!1,r);case bA.UPPER_ALPHA:return Cn(t,65,90,!1,r);case bA.ARABIC_INDIC:return Cn(t,1632,1641,!0,r);case bA.ARMENIAN:case bA.UPPER_ARMENIAN:return yn(t,1,9999,Bn,bA.DECIMAL,r);case bA.LOWER_ARMENIAN:return yn(t,1,9999,Bn,bA.DECIMAL,r).toLowerCase();case bA.BENGALI:return Cn(t,2534,2543,!0,r);case bA.CAMBODIAN:case bA.KHMER:return Cn(t,6112,6121,!0,r);case bA.CJK_EARTHLY_BRANCH:return Qn(t,"\u5b50\u4e11\u5bc5\u536f\u8fb0\u5df3\u5348\u672a\u7533\u9149\u620c\u4ea5",n);case bA.CJK_HEAVENLY_STEM:return Qn(t,"\u7532\u4e59\u4e19\u4e01\u620a\u5df1\u5e9a\u8f9b\u58ec\u7678",n);case bA.CJK_IDEOGRAPHIC:case bA.TRAD_CHINESE_INFORMAL:return bn(t,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c","\u8ca0",n,14);case bA.TRAD_CHINESE_FORMAL:return bn(t,"\u96f6\u58f9\u8cb3\u53c3\u8086\u4f0d\u9678\u67d2\u634c\u7396","\u62fe\u4f70\u4edf\u842c","\u8ca0",n,15);case bA.SIMP_CHINESE_INFORMAL:return bn(t,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c","\u8d1f",n,14);case bA.SIMP_CHINESE_FORMAL:return bn(t,"\u96f6\u58f9\u8d30\u53c1\u8086\u4f0d\u9646\u67d2\u634c\u7396","\u62fe\u4f70\u4edf\u842c","\u8d1f",n,15);case bA.JAPANESE_INFORMAL:return bn(t,"\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u4e07","\u30de\u30a4\u30ca\u30b9",n,0);case bA.JAPANESE_FORMAL:return bn(t,"\u96f6\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d","\u62fe\u767e\u5343\u4e07","\u30de\u30a4\u30ca\u30b9",n,7);case bA.KOREAN_HANGUL_FORMAL:return bn(t,"\uc601\uc77c\uc774\uc0bc\uc0ac\uc624\uc721\uce60\ud314\uad6c","\uc2ed\ubc31\ucc9c\ub9cc","\ub9c8\uc774\ub108\uc2a4",i,7);case bA.KOREAN_HANJA_INFORMAL:return bn(t,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c","\ub9c8\uc774\ub108\uc2a4",i,0);case bA.KOREAN_HANJA_FORMAL:return bn(t,"\u96f6\u58f9\u8cb3\u53c3\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u62fe\u767e\u5343","\ub9c8\uc774\ub108\uc2a4",i,7);case bA.DEVANAGARI:return Cn(t,2406,2415,!0,r);case bA.GEORGIAN:return yn(t,1,19999,mn,bA.DECIMAL,r);case bA.GUJARATI:return Cn(t,2790,2799,!0,r);case bA.GURMUKHI:return Cn(t,2662,2671,!0,r);case bA.HEBREW:return yn(t,1,10999,wn,bA.DECIMAL,r);case bA.HIRAGANA:return Qn(t,"\u3042\u3044\u3046\u3048\u304a\u304b\u304d\u304f\u3051\u3053\u3055\u3057\u3059\u305b\u305d\u305f\u3061\u3064\u3066\u3068\u306a\u306b\u306c\u306d\u306e\u306f\u3072\u3075\u3078\u307b\u307e\u307f\u3080\u3081\u3082\u3084\u3086\u3088\u3089\u308a\u308b\u308c\u308d\u308f\u3090\u3091\u3092\u3093");case bA.HIRAGANA_IROHA:return Qn(t,"\u3044\u308d\u306f\u306b\u307b\u3078\u3068\u3061\u308a\u306c\u308b\u3092\u308f\u304b\u3088\u305f\u308c\u305d\u3064\u306d\u306a\u3089\u3080\u3046\u3090\u306e\u304a\u304f\u3084\u307e\u3051\u3075\u3053\u3048\u3066\u3042\u3055\u304d\u3086\u3081\u307f\u3057\u3091\u3072\u3082\u305b\u3059");case bA.KANNADA:return Cn(t,3302,3311,!0,r);case bA.KATAKANA:return Qn(t,"\u30a2\u30a4\u30a6\u30a8\u30aa\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e6\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f0\u30f1\u30f2\u30f3",n);case bA.KATAKANA_IROHA:return Qn(t,"\u30a4\u30ed\u30cf\u30cb\u30db\u30d8\u30c8\u30c1\u30ea\u30cc\u30eb\u30f2\u30ef\u30ab\u30e8\u30bf\u30ec\u30bd\u30c4\u30cd\u30ca\u30e9\u30e0\u30a6\u30f0\u30ce\u30aa\u30af\u30e4\u30de\u30b1\u30d5\u30b3\u30a8\u30c6\u30a2\u30b5\u30ad\u30e6\u30e1\u30df\u30b7\u30f1\u30d2\u30e2\u30bb\u30b9",n);case bA.LAO:return Cn(t,3792,3801,!0,r);case bA.MONGOLIAN:return Cn(t,6160,6169,!0,r);case bA.MYANMAR:return Cn(t,4160,4169,!0,r);case bA.ORIYA:return Cn(t,2918,2927,!0,r);case bA.PERSIAN:return Cn(t,1776,1785,!0,r);case bA.TAMIL:return Cn(t,3046,3055,!0,r);case bA.TELUGU:return Cn(t,3174,3183,!0,r);case bA.THAI:return Cn(t,3664,3673,!0,r);case bA.TIBETAN:return Cn(t,3872,3881,!0,r);case bA.DECIMAL:default:return Cn(t,48,57,!0,r)}},Un=function(){function t(t,e){if(this.options=e,this.scrolledElements=[],this.referenceElement=t,this.counters=new pn,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement)}return t.prototype.toIFrame=function(t,e){var A=this,i=Nn(t,e);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var o=t.defaultView.pageXOffset,s=t.defaultView.pageYOffset,a=i.contentWindow,c=a.document,u=Ln(i).then((function(){return r(A,void 0,void 0,(function(){var t;return n(this,(function(A){switch(A.label){case 0:return this.scrolledElements.forEach(In),a&&(a.scrollTo(e.left,e.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||a.scrollY===e.top&&a.scrollX===e.left||(c.documentElement.style.top=-e.top+"px",c.documentElement.style.left=-e.left+"px",c.documentElement.style.position="absolute")),t=this.options.onclone,void 0===this.clonedReferenceElement?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:c.fonts&&c.fonts.ready?[4,c.fonts.ready]:[3,2];case 1:A.sent(),A.label=2;case 2:return"function"==typeof t?[2,Promise.resolve().then((function(){return t(c)})).then((function(){return i}))]:[2,i]}}))}))}));return c.open(),c.write(Hn(document.doctype)+""),Sn(this.referenceElement.ownerDocument,o,s),c.replaceChild(c.adoptNode(this.documentElement),c.documentElement),c.close(),u},t.prototype.createElementClone=function(t){if(an(t))return this.createCanvasClone(t);if(ln(t))return this.createStyleClone(t);var e=t.cloneNode(!1);return cn(e)&&"lazy"===e.loading&&(e.loading="eager"),e},t.prototype.createStyleClone=function(t){try{var e=t.sheet;if(e&&e.cssRules){var A=[].slice.call(e.cssRules,0).reduce((function(t,e){return e&&"string"==typeof e.cssText?t+e.cssText:t}),""),r=t.cloneNode(!1);return r.textContent=A,r}}catch(t){if(Qe.getInstance(this.options.id).error("Unable to access cssRules property",t),"SecurityError"!==t.name)throw t}return t.cloneNode(!1)},t.prototype.createCanvasClone=function(t){if(this.options.inlineImages&&t.ownerDocument){var e=t.ownerDocument.createElement("img");try{return e.src=t.toDataURL(),e}catch(t){Qe.getInstance(this.options.id).info("Unable to clone canvas contents, canvas is tainted")}}var A=t.cloneNode(!1);try{A.width=t.width,A.height=t.height;var r=t.getContext("2d"),n=A.getContext("2d");return n&&(r?n.putImageData(r.getImageData(0,0,t.width,t.height),0,0):n.drawImage(t,0,0)),A}catch(t){}return A},t.prototype.cloneNode=function(t){if(Zr(t))return document.createTextNode(t.data);if(!t.ownerDocument)return t.cloneNode(!1);var e=t.ownerDocument.defaultView;if(e&&$r(t)&&(tn(t)||en(t))){var A=this.createElementClone(t),r=e.getComputedStyle(t),n=e.getComputedStyle(t,":before"),i=e.getComputedStyle(t,":after");this.referenceElement===t&&tn(A)&&(this.clonedReferenceElement=A),sn(A)&&On(A);for(var o=this.counters.parse(new Qr(r)),s=this.resolvePseudoContent(t,A,n,hr.BEFORE),a=t.firstChild;a;a=a.nextSibling)$r(a)&&(hn(a)||a.hasAttribute("data-html2canvas-ignore")||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(a))||this.options.copyStyles&&$r(a)&&ln(a)||A.appendChild(this.cloneNode(a));s&&A.insertBefore(s,A.firstChild);var c=this.resolvePseudoContent(t,A,i,hr.AFTER);return c&&A.appendChild(c),this.counters.pop(o),r&&(this.options.copyStyles||en(t))&&!un(t)&&xn(r,A),0===t.scrollTop&&0===t.scrollLeft||this.scrolledElements.push([A,t.scrollLeft,t.scrollTop]),(fn(t)||dn(t))&&(fn(A)||dn(A))&&(A.value=t.value),A}return t.cloneNode(!1)},t.prototype.resolvePseudoContent=function(t,e,A,r){var n=this;if(A){var i=A.content,o=e.ownerDocument;if(o&&i&&"none"!==i&&"-moz-alt-content"!==i&&"none"!==A.display){this.counters.parse(new Qr(A));var s=new Cr(A),a=o.createElement("html2canvaspseudoelement");xn(A,a),s.content.forEach((function(e){if(e.type===h.STRING_TOKEN)a.appendChild(o.createTextNode(e.value));else if(e.type===h.URL_TOKEN){var A=o.createElement("img");A.src=e.value,A.style.opacity="1",a.appendChild(A)}else if(e.type===h.FUNCTION){if("attr"===e.name){var r=e.values.filter(St);r.length&&a.appendChild(o.createTextNode(t.getAttribute(r[0].value)||""))}else if("counter"===e.name){var i=e.values.filter(Ot),c=i[0],u=i[1];if(c&&St(c)){var l=n.counters.getCounterValue(c.value),f=u&&St(u)?EA.parse(u.value):bA.DECIMAL;a.appendChild(o.createTextNode(Fn(l,f,!1)))}}else if("counters"===e.name){var d=e.values.filter(Ot),p=(c=d[0],d[1]);if(u=d[2],c&&St(c)){var g=n.counters.getCounterValues(c.value),B=u&&St(u)?EA.parse(u.value):bA.DECIMAL,w=p&&p.type===h.STRING_TOKEN?p.value:"",m=g.map((function(t){return Fn(t,B,!1)})).join(w);a.appendChild(o.createTextNode(m))}}}else if(e.type===h.IDENT_TOKEN)switch(e.value){case"open-quote":a.appendChild(o.createTextNode(mr(s.quotes,n.quoteDepth++,!0)));break;case"close-quote":a.appendChild(o.createTextNode(mr(s.quotes,--n.quoteDepth,!1)));break;default:a.appendChild(o.createTextNode(e.value))}})),a.className=_n+" "+Tn;var c=r===hr.BEFORE?" "+_n:" "+Tn;return en(e)?e.className.baseValue+=c:e.className+=c,a}}},t.destroy=function(t){return!!t.parentNode&&(t.parentNode.removeChild(t),!0)},t}();!function(t){t[t.BEFORE=0]="BEFORE",t[t.AFTER=1]="AFTER"}(hr||(hr={}));var En,Nn=function(t,e){var A=t.createElement("iframe");return A.className="html2canvas-container",A.style.visibility="hidden",A.style.position="fixed",A.style.left="-10000px",A.style.top="0px",A.style.border="0",A.width=e.width.toString(),A.height=e.height.toString(),A.scrolling="no",A.setAttribute("data-html2canvas-ignore","true"),t.body.appendChild(A),A},Ln=function(t){return new Promise((function(e,A){var r=t.contentWindow;if(!r)return A("No window assigned for iframe");var n=r.document;r.onload=t.onload=n.onreadystatechange=function(){r.onload=t.onload=n.onreadystatechange=null;var A=setInterval((function(){n.body.childNodes.length>0&&"complete"===n.readyState&&(clearInterval(A),e(t))}),50)}}))},xn=function(t,e){for(var A=t.length-1;A>=0;A--){var r=t.item(A);"content"!==r&&e.style.setProperty(r,t.getPropertyValue(r))}return e},Hn=function(t){var e="";return t&&(e+=""),e},Sn=function(t,e,A){t&&t.defaultView&&(e!==t.defaultView.pageXOffset||A!==t.defaultView.pageYOffset)&&t.defaultView.scrollTo(e,A)},In=function(t){var e=t[0],A=t[1],r=t[2];e.scrollLeft=A,e.scrollTop=r},_n="___html2canvas___pseudoelement_before",Tn="___html2canvas___pseudoelement_after",On=function(t){Rn(t,"."+_n+':before{\n content: "" !important;\n display: none !important;\n}\n .'+Tn+':after{\n content: "" !important;\n display: none !important;\n}')},Rn=function(t,e){var A=t.ownerDocument;if(A){var r=A.createElement("style");r.textContent=e,t.appendChild(r)}};!function(t){t[t.VECTOR=0]="VECTOR",t[t.BEZIER_CURVE=1]="BEZIER_CURVE"}(En||(En={}));var Pn,Kn=function(t,e){return t.length===e.length&&t.some((function(t,A){return t===e[A]}))},Mn=function(){function t(t,e){this.type=En.VECTOR,this.x=t,this.y=e}return t.prototype.add=function(e,A){return new t(this.x+e,this.y+A)},t}(),Dn=function(t,e,A){return new Mn(t.x+(e.x-t.x)*A,t.y+(e.y-t.y)*A)},kn=function(){function t(t,e,A,r){this.type=En.BEZIER_CURVE,this.start=t,this.startControl=e,this.endControl=A,this.end=r}return t.prototype.subdivide=function(e,A){var r=Dn(this.start,this.startControl,e),n=Dn(this.startControl,this.endControl,e),i=Dn(this.endControl,this.end,e),o=Dn(r,n,e),s=Dn(n,i,e),a=Dn(o,s,e);return A?new t(this.start,r,o,a):new t(a,s,i,this.end)},t.prototype.add=function(e,A){return new t(this.start.add(e,A),this.startControl.add(e,A),this.endControl.add(e,A),this.end.add(e,A))},t.prototype.reverse=function(){return new t(this.end,this.endControl,this.startControl,this.start)},t}(),zn=function(t){return t.type===En.BEZIER_CURVE},jn=function(t){var e=t.styles,A=t.bounds,r=qt(e.borderTopLeftRadius,A.width,A.height),n=r[0],i=r[1],o=qt(e.borderTopRightRadius,A.width,A.height),s=o[0],a=o[1],c=qt(e.borderBottomRightRadius,A.width,A.height),u=c[0],l=c[1],h=qt(e.borderBottomLeftRadius,A.width,A.height),f=h[0],d=h[1],p=[];p.push((n+s)/A.width),p.push((f+u)/A.width),p.push((i+d)/A.height),p.push((a+l)/A.height);var g=Math.max.apply(Math,p);g>1&&(n/=g,i/=g,s/=g,a/=g,u/=g,l/=g,f/=g,d/=g);var B=A.width-s,w=A.height-l,m=A.width-u,y=A.height-d,v=e.borderTopWidth,C=e.borderRightWidth,Q=e.borderBottomWidth,b=e.borderLeftWidth,F=Vt(e.paddingTop,t.bounds.width),U=Vt(e.paddingRight,t.bounds.width),E=Vt(e.paddingBottom,t.bounds.width),N=Vt(e.paddingLeft,t.bounds.width);this.topLeftBorderBox=n>0||i>0?qn(A.left,A.top,n,i,Pn.TOP_LEFT):new Mn(A.left,A.top),this.topRightBorderBox=s>0||a>0?qn(A.left+B,A.top,s,a,Pn.TOP_RIGHT):new Mn(A.left+A.width,A.top),this.bottomRightBorderBox=u>0||l>0?qn(A.left+m,A.top+w,u,l,Pn.BOTTOM_RIGHT):new Mn(A.left+A.width,A.top+A.height),this.bottomLeftBorderBox=f>0||d>0?qn(A.left,A.top+y,f,d,Pn.BOTTOM_LEFT):new Mn(A.left,A.top+A.height),this.topLeftPaddingBox=n>0||i>0?qn(A.left+b,A.top+v,Math.max(0,n-b),Math.max(0,i-v),Pn.TOP_LEFT):new Mn(A.left+b,A.top+v),this.topRightPaddingBox=s>0||a>0?qn(A.left+Math.min(B,A.width+b),A.top+v,B>A.width+b?0:s-b,a-v,Pn.TOP_RIGHT):new Mn(A.left+A.width-C,A.top+v),this.bottomRightPaddingBox=u>0||l>0?qn(A.left+Math.min(m,A.width-b),A.top+Math.min(w,A.height+v),Math.max(0,u-C),l-Q,Pn.BOTTOM_RIGHT):new Mn(A.left+A.width-C,A.top+A.height-Q),this.bottomLeftPaddingBox=f>0||d>0?qn(A.left+b,A.top+y,Math.max(0,f-b),d-Q,Pn.BOTTOM_LEFT):new Mn(A.left+b,A.top+A.height-Q),this.topLeftContentBox=n>0||i>0?qn(A.left+b+N,A.top+v+F,Math.max(0,n-(b+N)),Math.max(0,i-(v+F)),Pn.TOP_LEFT):new Mn(A.left+b+N,A.top+v+F),this.topRightContentBox=s>0||a>0?qn(A.left+Math.min(B,A.width+b+N),A.top+v+F,B>A.width+b+N?0:s-b+N,a-(v+F),Pn.TOP_RIGHT):new Mn(A.left+A.width-(C+U),A.top+v+F),this.bottomRightContentBox=u>0||l>0?qn(A.left+Math.min(m,A.width-(b+N)),A.top+Math.min(w,A.height+v+F),Math.max(0,u-(C+U)),l-(Q+E),Pn.BOTTOM_RIGHT):new Mn(A.left+A.width-(C+U),A.top+A.height-(Q+E)),this.bottomLeftContentBox=f>0||d>0?qn(A.left+b+N,A.top+y,Math.max(0,f-(b+N)),d-(Q+E),Pn.BOTTOM_LEFT):new Mn(A.left+b+N,A.top+A.height-(Q+E))};!function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=1]="TOP_RIGHT",t[t.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",t[t.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Pn||(Pn={}));var qn=function(t,e,A,r,n){var i=(Math.sqrt(2)-1)/3*4,o=A*i,s=r*i,a=t+A,c=e+r;switch(n){case Pn.TOP_LEFT:return new kn(new Mn(t,c),new Mn(t,c-s),new Mn(a-o,e),new Mn(a,e));case Pn.TOP_RIGHT:return new kn(new Mn(t,e),new Mn(t+o,e),new Mn(a,c-s),new Mn(a,c));case Pn.BOTTOM_RIGHT:return new kn(new Mn(a,e),new Mn(a,e+s),new Mn(t+o,c),new Mn(t,c));case Pn.BOTTOM_LEFT:default:return new kn(new Mn(a,c),new Mn(a-o,c),new Mn(t,e+s),new Mn(t,e))}},Vn=function(t){return[t.topLeftBorderBox,t.topRightBorderBox,t.bottomRightBorderBox,t.bottomLeftBorderBox]},Xn=function(t){return[t.topLeftPaddingBox,t.topRightPaddingBox,t.bottomRightPaddingBox,t.bottomLeftPaddingBox]},Gn=function(t,e,A){this.type=0,this.offsetX=t,this.offsetY=e,this.matrix=A,this.target=6},Jn=function(t,e){this.type=1,this.target=e,this.path=t},Wn=function(t){this.element=t,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},Yn=function(){function t(t,e){if(this.container=t,this.effects=e.slice(0),this.curves=new jn(t),null!==t.styles.transform){var A=t.bounds.left+t.styles.transformOrigin[0].number,r=t.bounds.top+t.styles.transformOrigin[1].number,n=t.styles.transform;this.effects.push(new Gn(A,r,n))}if(t.styles.overflowX!==UA.VISIBLE){var i=Vn(this.curves),o=Xn(this.curves);Kn(i,o)?this.effects.push(new Jn(i,6)):(this.effects.push(new Jn(i,2)),this.effects.push(new Jn(o,4)))}}return t.prototype.getParentEffects=function(){var t=this.effects.slice(0);if(this.container.styles.overflowX!==UA.VISIBLE){var e=Vn(this.curves),A=Xn(this.curves);Kn(e,A)||t.push(new Jn(A,6))}return t},t}(),Zn=function(t,e,A,r){t.container.elements.forEach((function(n){var i=dr(n.flags,4),o=dr(n.flags,2),s=new Yn(n,t.getParentEffects());dr(n.styles.display,2048)&&r.push(s);var a=dr(n.flags,8)?[]:r;if(i||o){var c=i||n.styles.isPositioned()?A:e,u=new Wn(s);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var l=n.styles.zIndex.order;if(l<0){var h=0;c.negativeZIndex.some((function(t,e){return l>t.element.container.styles.zIndex.order?(h=e,!1):h>0})),c.negativeZIndex.splice(h,0,u)}else if(l>0){var f=0;c.positiveZIndex.some((function(t,e){return l>=t.element.container.styles.zIndex.order?(f=e+1,!1):f>0})),c.positiveZIndex.splice(f,0,u)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(u)}else n.styles.isFloating()?c.nonPositionedFloats.push(u):c.nonPositionedInlineLevel.push(u);Zn(s,u,i?u:A,a)}else n.styles.isInlineLevel()?e.inlineLevel.push(s):e.nonInlineLevel.push(s),Zn(s,e,A,a);dr(n.flags,8)&&$n(n,a)}))},$n=function(t,e){for(var A=t instanceof Pr?t.start:1,r=t instanceof Pr&&t.reversed,n=0;n0&&t.intrinsicHeight>0){var r=Ai(t),n=Xn(e);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(A,0,0,t.intrinsicWidth,t.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return r(this,void 0,void 0,(function(){var A,r,o,s,a,c,u,l,f,d,p,g,B,w;return n(this,(function(n){switch(n.label){case 0:this.applyEffects(e.effects,4),A=e.container,r=e.curves,o=A.styles,s=0,a=A.textNodes,n.label=1;case 1:return s0&&b>0&&(w=r.ctx.createPattern(p,"repeat"),r.renderRepeat(y,w,U,E))):function(t){return t.type===ce.RADIAL_GRADIENT}(A)&&(m=ri(t,e,[null,null,null]),y=m[0],v=m[1],C=m[2],Q=m[3],b=m[4],F=0===A.position.length?[zt]:A.position,U=Vt(F[0],Q),E=Vt(F[F.length-1],b),N=function(t,e,A,r,n){var i=0,o=0;switch(t.size){case le.CLOSEST_SIDE:t.shape===ue.CIRCLE?i=o=Math.min(Math.abs(e),Math.abs(e-r),Math.abs(A),Math.abs(A-n)):t.shape===ue.ELLIPSE&&(i=Math.min(Math.abs(e),Math.abs(e-r)),o=Math.min(Math.abs(A),Math.abs(A-n)));break;case le.CLOSEST_CORNER:if(t.shape===ue.CIRCLE)i=o=Math.min(ge(e,A),ge(e,A-n),ge(e-r,A),ge(e-r,A-n));else if(t.shape===ue.ELLIPSE){var s=Math.min(Math.abs(A),Math.abs(A-n))/Math.min(Math.abs(e),Math.abs(e-r)),a=Be(r,n,e,A,!0),c=a[0],u=a[1];o=s*(i=ge(c-e,(u-A)/s))}break;case le.FARTHEST_SIDE:t.shape===ue.CIRCLE?i=o=Math.max(Math.abs(e),Math.abs(e-r),Math.abs(A),Math.abs(A-n)):t.shape===ue.ELLIPSE&&(i=Math.max(Math.abs(e),Math.abs(e-r)),o=Math.max(Math.abs(A),Math.abs(A-n)));break;case le.FARTHEST_CORNER:if(t.shape===ue.CIRCLE)i=o=Math.max(ge(e,A),ge(e,A-n),ge(e-r,A),ge(e-r,A-n));else if(t.shape===ue.ELLIPSE){s=Math.max(Math.abs(A),Math.abs(A-n))/Math.max(Math.abs(e),Math.abs(e-r));var l=Be(r,n,e,A,!1);c=l[0],u=l[1],o=s*(i=ge(c-e,(u-A)/s))}}return Array.isArray(t.size)&&(i=Vt(t.size[0],r),o=2===t.size.length?Vt(t.size[1],n):i),[i,o]}(A,U,E,Q,b),L=N[0],x=N[1],L>0&&L>0&&(H=r.ctx.createRadialGradient(v+U,C+E,0,v+U,C+E,L),pe(A.stops,2*L).forEach((function(t){return H.addColorStop(t.stop,$t(t.color))})),r.path(y),r.ctx.fillStyle=H,L!==x?(S=t.bounds.left+.5*t.bounds.width,I=t.bounds.top+.5*t.bounds.height,T=1/(_=x/L),r.ctx.save(),r.ctx.translate(S,I),r.ctx.transform(1,0,0,_,0,0),r.ctx.translate(-S,-I),r.ctx.fillRect(v,T*(C-I)+I,Q,b*T),r.ctx.restore()):r.ctx.fill())),n.label=6;case 6:return e--,[2]}}))},r=this,i=0,o=t.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return i>18&63,A=i>>12&63,r=i>>6&63,n=63&i,c[s++]=h.charAt(e)+h.charAt(A)+h.charAt(r)+h.charAt(n),o>16&255,A=o>>8&255,r=255&o,c[a++]=64==n?String.fromCharCode(e):64==i?String.fromCharCode(e,A):String.fromCharCode(e,A,r),s>>0,r=new Array(A),n=1>>0,n=0;n>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var r=arguments[1],n=0;n>16&255,r=c>>8&255,i=255&c}if(void 0===r||void 0===o&&A===r&&r===i)if("string"==typeof A)e=A+" "+s[0];else if(2===t.precision)e=m(A/255)+" "+s[0];else e=y(A/255)+" "+s[0];else if(void 0===o||"object"===n(o)){if(o&&!isNaN(o.a)&&0===o.a)return["1.000","1.000","1.000",s[1]].join(" ");if("string"==typeof A)e=[A,r,i,s[1]].join(" ");else if(2===t.precision)e=[m(A/255),m(r/255),m(i/255),s[1]].join(" ");else e=[y(A/255),y(r/255),y(i/255),s[1]].join(" ")}else if("string"==typeof A)e=[A,r,i,o,s[2]].join(" ");else if(2===t.precision)e=[m(A/255),m(r/255),m(i/255),m(o/255),s[2]].join(" ");else e=[y(A/255),y(r/255),y(i/255),y(o/255),s[2]].join(" ");return e},pt=f.__private__.getFilters=function(){return c},gt=f.__private__.putStream=function(t){var e,A=(t=t||{}).data||"",r=t.filters||pt(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,o=A.length;!0===r&&(r=["FlateEncode"]);var a=t.additionalKeyValues||[],c=(e=void 0!==s.API.processDataByFilters?s.API.processDataByFilters(A,r):{data:A,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(" "):n.toString());0!==e.data.length&&(a.push({key:"Length",value:e.data.length}),!0===i&&a.push({key:"Length1",value:o})),0!=c.length&&(c.split("/").length-1==1?a.push({key:"Filter",value:c}):a.push({key:"Filter",value:"["+c+"]"})),D("<<");for(var u=0;u>"),0!==e.data.length&&(D("stream"),D(e.data),D("endstream"))},Bt=f.__private__.putPage=function(t){t.mediaBox;var e=t.number,A=t.data,r=t.objId,n=t.contentsObjId;ct(r,!0),rt[N].mediaBox.topRightX,rt[N].mediaBox.bottomLeftX,rt[N].mediaBox.topRightY,rt[N].mediaBox.bottomLeftY,D("<>"),D("endobj");var i=A.join("\n");return ct(n,!0),gt({data:i,filters:pt()}),D("endobj"),r},wt=f.__private__.putPages=function(){var t,e,A=[];for(t=1;t<=At;t++)rt[t].objId=at(),rt[t].contentsObjId=at();for(t=1;t<=At;t++)A.push(Bt({number:t,data:P[t],objId:rt[t].objId,contentsObjId:rt[t].contentsObjId,mediaBox:rt[t].mediaBox,cropBox:rt[t].cropBox,bleedBox:rt[t].bleedBox,trimBox:rt[t].trimBox,artBox:rt[t].artBox,userUnit:rt[t].userUnit,rootDictionaryObjId:lt,resourceDictionaryObjId:ht}));ct(lt,!0),D("<>"),D("endobj"),it.publish("postPutPages")},mt=function(t,e,A){et.hasOwnProperty(e)||(et[e]={}),et[e][A]=t},yt=function(t,e,A,r,n){n=n||!1;var i="F"+(Object.keys(tt).length+1).toString(10),o={id:i,postScriptName:t,fontName:e,fontStyle:A,encoding:r,isStandardFont:n,metadata:{}};return it.publish("addFont",{font:o,instance:this}),void 0!==i&&(tt[i]=o,mt(i,e,A)),i},vt=f.__private__.pdfEscape=f.pdfEscape=function(t,e){return function(t,e){var A,r,n,i,o,s,a,c,u;if(n=(e=e||{}).sourceEncoding||"Unicode",o=e.outputEncoding,(e.autoencode||o)&&tt[I].metadata&&tt[I].metadata[n]&&tt[I].metadata[n].encoding&&(i=tt[I].metadata[n].encoding,!o&&tt[I].encoding&&(o=tt[I].encoding),!o&&i.codePages&&(o=i.codePages[0]),"string"==typeof o&&(o=i[o]),o)){for(a=!1,s=[],A=0,r=t.length;A>8&&(a=!0);t=s.join("")}for(A=t.length;void 0===a&&0!==A;)t.charCodeAt(A-1)>>8&&(a=!0),A--;if(!a)return t;for(s=e.noBOM?[]:[254,255],A=0,r=t.length;A>8)>>8)throw new Error("Character at position "+A+" of string '"+t+"' exceeds 16bits. Cannot be encoded into UCS-2 BE");s.push(u),s.push(c-(u<<8))}return String.fromCharCode.apply(void 0,s)}(t,e).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},Ct=f.__private__.beginPage=function(t,e){var r,n="string"==typeof e&&e.toLowerCase();if("string"==typeof t&&(r=B(t.toLowerCase()))&&(t=r[0],e=r[1]),Array.isArray(t)&&(e=t[1],t=t[0]),(isNaN(t)||isNaN(e))&&(t=A[0],e=A[1]),n){switch(n.substr(0,1)){case"l":t>"),D("endobj")},Nt=f.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||lt;switch(st(),D("<<"),D("/Type /Catalog"),D("/Pages "+e+" 0 R"),x||(x="fullwidth"),x){case"fullwidth":D("/OpenAction [3 0 R /FitH null]");break;case"fullheight":D("/OpenAction [3 0 R /FitV null]");break;case"fullpage":D("/OpenAction [3 0 R /Fit]");break;case"original":D("/OpenAction [3 0 R /XYZ null null 1]");break;default:var A=""+x;"%"===A.substr(A.length-1)&&(x=parseInt(x)/100),"number"==typeof x&&D("/OpenAction [3 0 R /XYZ null null "+m(x)+"]")}switch(S||(S="continuous"),S){case"continuous":D("/PageLayout /OneColumn");break;case"single":D("/PageLayout /SinglePage");break;case"two":case"twoleft":D("/PageLayout /TwoColumnLeft");break;case"tworight":D("/PageLayout /TwoColumnRight")}H&&D("/PageMode /"+H),it.publish("putCatalog"),D(">>"),D("endobj")},Lt=f.__private__.putTrailer=function(){D("trailer"),D("<<"),D("/Size "+(Z+1)),D("/Root "+Z+" 0 R"),D("/Info "+(Z-1)+" 0 R"),D("/ID [ <"+v+"> <"+v+"> ]"),D(">>")},Ht=f.__private__.putHeader=function(){D("%PDF-"+d),D("%\xba\xdf\xac\xe0")},St=f.__private__.putXRef=function(){var t=1,e="0000000000";for(D("xref"),D("0 "+(Z+1)),D("0000000000 65535 f "),t=1;t<=Z;t++)"function"==typeof $[t]?D((e+$[t]()).slice(-10)+" 00000 n "):void 0!==$[t]?D((e+$[t]).slice(-10)+" 00000 n "):D("0000000000 00000 n ")},It=f.__private__.buildDocument=function(){R=!1,M=Z=0,K=[],$=[],nt=[],lt=at(),ht=at(),it.publish("buildDocument"),Ht(),wt(),function(){it.publish("putAdditionalObjects");for(var t=0;t>"),D("endobj")));var e}(),it.publish("putResources"),ct(ht,!0),D("<<"),function(){for(var t in D("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"),D("/Font <<"),tt)tt.hasOwnProperty(t)&&(!1===l||!0===l&&h.hasOwnProperty(t))&&D("/"+t+" "+tt[t].objectNumber+" 0 R");D(">>"),D("/XObject <<"),it.publish("putXobjectDict"),D(">>")}(),D(">>"),D("endobj"),it.publish("postPutResources"),Et(),Nt();var t=M;return St(),Lt(),D("startxref"),D(""+t),D("%%EOF"),R=!0,K.join("\n")},_t=f.__private__.getBlob=function(t){return new Blob([z(t)],{type:"application/pdf"})},Tt=f.output=f.__private__.output=((T=function(t,e){e=e||{};var A=It();switch("string"==typeof e?e={filename:e}:e.filename=e.filename||"generated.pdf",t){case void 0:return A;case"save":f.save(e.filename);break;case"arraybuffer":return z(A);case"blob":return _t(A);case"bloburi":case"bloburl":if(void 0!==r.URL&&"function"==typeof r.URL.createObjectURL)return r.URL&&r.URL.createObjectURL(_t(A))||void 0;console.warn("bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.");break;case"datauristring":case"dataurlstring":return"data:application/pdf;filename="+e.filename+";base64,"+btoa(A);case"dataurlnewwindow":var n='',i=r.open();if(null!==i&&i.document.write(n),i||"undefined"==typeof safari)return i;case"datauri":case"dataurl":return r.document.location.href="data:application/pdf;filename="+e.filename+";base64,"+btoa(A);default:return null}}).foo=function(){try{return T.apply(this,arguments)}catch(A){var t=A.stack||"";~t.indexOf(" at ")&&(t=t.split(" at ")[1]);var e="Error in function "+t.split("\n")[0].split("<")[0]+": "+A.message;if(!r.console)throw new Error(e);r.console.error(e,A),r.alert&&alert(e)}},(T.foo.bar=T).foo),Ot=function(t){return!0===Array.isArray(ot)&&-1":")"),et=1):(Y=Gt(e),Z=Jt(A),$=(c?"<":"(")+C[W]+(c?">":")")),void 0!==z&&void 0!==z[W]&&(At=z[W]+" Tw\n"),0!==L.length&&0===W?t.push(At+L.join(" ")+" "+Y.toFixed(2)+" "+Z.toFixed(2)+" Tm\n"+$):1===et||0===et&&0===W?t.push(At+Y.toFixed(2)+" "+Z.toFixed(2)+" Td\n"+$):t.push(At+$);t=0===et?t.join(" Tj\nT* "):t.join(" Tj\n"),t+=" Tj\n";var rt="BT\n/"+I+" "+q+" Tf\n"+(q*l).toFixed(2)+" TL\n"+te+"\n";return rt+=u,rt+=t,D(rt+="ET"),h[I]=!0,f},f.__private__.lstext=f.lstext=function(t,e,A,r){return console.warn("jsPDF.lstext is deprecated"),this.text(t,e,A,{charSpace:r})},f.__private__.clip=f.clip=function(t){D("evenodd"===t?"W*":"W"),D("n")},f.__private__.clip_fixed=f.clip_fixed=function(t){console.log("clip_fixed is deprecated"),f.clip(t)};var Mt=f.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,"S","F","DF","FD","f","f*","B","B*"].indexOf(t)&&(e=!0),e},Dt=f.__private__.getStyle=function(t){var e="S";return"F"===t?e="f":"FD"===t||"DF"===t?e="B":"f"!==t&&"f*"!==t&&"B"!==t&&"B*"!==t||(e=t),e};f.__private__.line=f.line=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw new Error("Invalid arguments passed to jsPDF.line");return this.lines([[A-t,r-e]],t,e)},f.__private__.lines=f.lines=function(t,e,A,r,n,i){var o,s,a,c,u,l,h,f,d,p,g,B;if("number"==typeof t&&(B=A,A=e,e=t,t=B),r=r||[1,1],i=i||!1,isNaN(e)||isNaN(A)||!Array.isArray(t)||!Array.isArray(r)||!Mt(n)||"boolean"!=typeof i)throw new Error("Invalid arguments passed to jsPDF.lines");for(D(y(Gt(e))+" "+y(Jt(A))+" m "),o=r[0],s=r[1],c=t.length,p=e,g=A,a=0;a=o.length-1;if(b&&!F){m+=" ";continue}if(b||F){if(F)B=Q;else if(t.multiline&&c<(h+2)*(y+2)+2)continue t}else{if(!t.multiline)continue t;if(c<(h+2)*(y+2)+2)continue t;B=Q}for(var U="",E=g;E<=B;E++)U+=o[E]+" ";switch(U=" "==U.substr(U.length-1)?U.substr(0,U.length-1):U,w=C(U,t,a).width,t.textAlign){case"right":d=u-w-2;break;case"center":d=(u-w)/2;break;default:d=2}e+=s(d)+" "+s(p)+" Td\n",e+="("+i(U)+") Tj\n",e+=-s(d)+" 0 Td\n",p=-(a+2),w=0,g=B+1,y++,m=""}break}return n.text=e,n.fontSize=a,n},C=function(t,e,r){var n=A.internal.getFont(e.fontName,e.fontStyle),i=A.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:A.getStringUnitWidth("3",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},Q={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},b=function(){A.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=A.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var e in t)if(t.hasOwnProperty(e)){var r=t[e];r.objId=void 0,r.hasAnnotation&&F.call(A,r)}},F=function(t){var e={type:"reference",object:t};void 0===A.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===e.type&&t.object===e.object}))&&A.internal.getPageInfo(t.page).pageContext.annotations.push(e)},U=function(){if(void 0===A.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("putCatalogCallback: Root missing.");A.internal.write("/AcroForm "+A.internal.acroformPlugin.acroFormDictionaryRoot.objId+" 0 R")},E=function(){A.internal.events.unsubscribe(A.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete A.internal.acroformPlugin.acroFormDictionaryRoot._eventID,A.internal.acroformPlugin.printedOut=!0},N=function(t){var e=!t;for(var r in t||(A.internal.newObjectDeferredBegin(A.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),A.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||A.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(r)){var i=t[r],o=[],s=i.Rect;if(i.Rect&&(i.Rect=m.call(this,i.Rect)),A.internal.newObjectDeferredBegin(i.objId,!0),i.DA=G.createDefaultAppearanceStream(i),"object"===n(i)&&"function"==typeof i.getKeyValueListForStream&&(o=i.getKeyValueListForStream()),i.Rect=s,i.hasAppearanceStream&&!i.appearanceStreamContent){var a=y.call(this,i);o.push({key:"AP",value:"<>"}),A.internal.acroformPlugin.xForms.push(a)}if(i.appearanceStreamContent){var c="";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var l=i.appearanceStreamContent[u];if(c+="/"+u+" ",c+="<<",1<=Object.keys(l).length||Array.isArray(l))for(var r in l){var h;l.hasOwnProperty(r)&&("function"==typeof(h=l[r])&&(h=h.call(this,i)),c+="/"+r+" "+h+" ",0<=A.internal.acroformPlugin.xForms.indexOf(h)||A.internal.acroformPlugin.xForms.push(h))}else"function"==typeof(h=l)&&(h=h.call(this,i)),c+="/"+r+" "+h,0<=A.internal.acroformPlugin.xForms.indexOf(h)||A.internal.acroformPlugin.xForms.push(h);c+=">>"}o.push({key:"AP",value:"<<\n"+c+">>"})}A.internal.putStream({additionalKeyValues:o}),A.internal.out("endobj")}e&&L.call(this,A.internal.acroformPlugin.xForms)},L=function(t){for(var e in t)if(t.hasOwnProperty(e)){var r=e,i=t[e];A.internal.newObjectDeferredBegin(i&&i.objId,!0),"object"===n(i)&&"function"==typeof i.putStream&&i.putStream(),delete t[r]}},x=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(A=this,O.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(Q)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("Exception while creating AcroformDictionary");r=A.internal.scaleFactor,A.internal.acroformPlugin.acroFormDictionaryRoot=new T,A.internal.acroformPlugin.acroFormDictionaryRoot._eventID=A.internal.events.subscribe("postPutResources",E),A.internal.events.subscribe("buildDocument",b),A.internal.events.subscribe("putCatalog",U),A.internal.events.subscribe("postPutPages",N),A.internal.acroformPlugin.isInitialized=!0}},H=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var e="[",A=0;A>"),A.join("\n")}},set:function(t){"object"===n(t)&&(e=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return e.CA||""},set:function(t){"string"==typeof t&&(e.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(e){t="/"+e}})};c(D,O);var k=function(){D.call(this),this.pushButton=!0};c(k,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,"Kids",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};c(z,D);var j=function(){var t,e;O.call(this),Object.defineProperty(this,"Parent",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"optionName",{enumerable:!1,configurable:!0,get:function(){return e},set:function(t){e=t}});var A,r={};Object.defineProperty(this,"MK",{enumerable:!1,configurable:!1,get:function(){var t,e=[];for(t in e.push("<<"),r)e.push("/"+t+" ("+r[t]+")");return e.push(">>"),e.join("\n")},set:function(t){"object"===n(t)&&(r=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return r.CA||""},set:function(t){"string"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return A},set:function(t){A=t}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return A.substr(1,A.length-1)},set:function(t){A="/"+t}}),this.optionName=name,this.caption="l",this.appearanceState="Off",this._AppearanceType=G.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};c(j,O),z.prototype.setAppearance=function(t){if(!("createAppearanceStream"in t)||!("getCA"in t))throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var A=this.Kids[e];A.appearanceStreamContent=t.createAppearanceStream(A.optionName),A.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var e=new j;return e.Parent=this,e.optionName=t,this.Kids.push(e),J.call(this,e),e};var q=function(){D.call(this),this.fontName="zapfdingbats",this.caption="3",this.appearanceState="On",this.value="On",this.textAlign="center",this.appearanceStreamContent=G.CheckBox.createAppearanceStream()};c(q,D);var V=function(){O.call(this),this.FT="/Tx",Object.defineProperty(this,"multiline",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,13):this.Ff=w(this.Ff,13)}}),Object.defineProperty(this,"fileSelect",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,21):this.Ff=w(this.Ff,21)}}),Object.defineProperty(this,"doNotSpellCheck",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,23):this.Ff=w(this.Ff,23)}}),Object.defineProperty(this,"doNotScroll",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,24):this.Ff=w(this.Ff,24)}}),Object.defineProperty(this,"comb",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,25):this.Ff=w(this.Ff,25)}}),Object.defineProperty(this,"richText",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,26):this.Ff=w(this.Ff,26)}});var t=null;Object.defineProperty(this,"MaxLen",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"maxLength",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,"hasAppearanceStream",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};c(V,O);var X=function(){V.call(this),Object.defineProperty(this,"password",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,14):this.Ff=w(this.Ff,14)}}),this.password=!0};c(X,V);var G={CheckBox:{createAppearanceStream:function(){return{N:{On:G.CheckBox.YesNormal},D:{On:G.CheckBox.YesPushDown,Off:G.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=h(t),r=[],n=A.internal.getFont(t.fontName,t.fontStyle).id,i=A.__private__.encodeColorString(t.color),o=v(t,t.caption);return r.push("0.749023 g"),r.push("0 0 "+s(G.internal.getWidth(t))+" "+s(G.internal.getHeight(t))+" re"),r.push("f"),r.push("BMC"),r.push("q"),r.push("0 0 1 rg"),r.push("/"+n+" "+s(o.fontSize)+" Tf "+i),r.push("BT"),r.push(o.text),r.push("ET"),r.push("Q"),r.push("EMC"),e.stream=r.join("\n"),e},YesNormal:function(t){var e=h(t),r=A.internal.getFont(t.fontName,t.fontStyle).id,n=A.__private__.encodeColorString(t.color),i=[],o=G.internal.getHeight(t),a=G.internal.getWidth(t),c=v(t,t.caption);return i.push("1 g"),i.push("0 0 "+s(a)+" "+s(o)+" re"),i.push("f"),i.push("q"),i.push("0 0 1 rg"),i.push("0 0 "+s(a-1)+" "+s(o-1)+" re"),i.push("W"),i.push("n"),i.push("0 g"),i.push("BT"),i.push("/"+r+" "+s(c.fontSize)+" Tf "+n),i.push(c.text),i.push("ET"),i.push("Q"),e.stream=i.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[];return A.push("0.749023 g"),A.push("0 0 "+s(G.internal.getWidth(t))+" "+s(G.internal.getHeight(t))+" re"),A.push("f"),e.stream=A.join("\n"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:G.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=G.RadioButton.Circle.YesNormal,e.D[t]=G.RadioButton.Circle.YesPushDown,e},getCA:function(){return"l"},YesNormal:function(t){var e=h(t),A=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var n=G.internal.Bezier_C,i=Number((r*n).toFixed(5));return A.push("q"),A.push("1 0 0 1 "+a(G.internal.getWidth(t)/2)+" "+a(G.internal.getHeight(t)/2)+" cm"),A.push(r+" 0 m"),A.push(r+" "+i+" "+i+" "+r+" 0 "+r+" c"),A.push("-"+i+" "+r+" -"+r+" "+i+" -"+r+" 0 c"),A.push("-"+r+" -"+i+" -"+i+" -"+r+" 0 -"+r+" c"),A.push(i+" -"+r+" "+r+" -"+i+" "+r+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e},YesPushDown:function(t){var e=h(t),A=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5)),o=Number((r*G.internal.Bezier_C).toFixed(5));return A.push("0.749023 g"),A.push("q"),A.push("1 0 0 1 "+a(G.internal.getWidth(t)/2)+" "+a(G.internal.getHeight(t)/2)+" cm"),A.push(n+" 0 m"),A.push(n+" "+i+" "+i+" "+n+" 0 "+n+" c"),A.push("-"+i+" "+n+" -"+n+" "+i+" -"+n+" 0 c"),A.push("-"+n+" -"+i+" -"+i+" -"+n+" 0 -"+n+" c"),A.push(i+" -"+n+" "+n+" -"+i+" "+n+" 0 c"),A.push("f"),A.push("Q"),A.push("0 g"),A.push("q"),A.push("1 0 0 1 "+a(G.internal.getWidth(t)/2)+" "+a(G.internal.getHeight(t)/2)+" cm"),A.push(r+" 0 m"),A.push(r+" "+o+" "+o+" "+r+" 0 "+r+" c"),A.push("-"+o+" "+r+" -"+r+" "+o+" -"+r+" 0 c"),A.push("-"+r+" -"+o+" -"+o+" -"+r+" 0 -"+r+" c"),A.push(o+" -"+r+" "+r+" -"+o+" "+r+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5));return A.push("0.749023 g"),A.push("q"),A.push("1 0 0 1 "+a(G.internal.getWidth(t)/2)+" "+a(G.internal.getHeight(t)/2)+" cm"),A.push(n+" 0 m"),A.push(n+" "+i+" "+i+" "+n+" 0 "+n+" c"),A.push("-"+i+" "+n+" -"+n+" "+i+" -"+n+" 0 c"),A.push("-"+n+" -"+i+" -"+i+" -"+n+" 0 -"+n+" c"),A.push(i+" -"+n+" "+n+" -"+i+" "+n+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:G.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=G.RadioButton.Cross.YesNormal,e.D[t]=G.RadioButton.Cross.YesPushDown,e},getCA:function(){return"8"},YesNormal:function(t){var e=h(t),A=[],r=G.internal.calculateCross(t);return A.push("q"),A.push("1 1 "+s(G.internal.getWidth(t)-2)+" "+s(G.internal.getHeight(t)-2)+" re"),A.push("W"),A.push("n"),A.push(s(r.x1.x)+" "+s(r.x1.y)+" m"),A.push(s(r.x2.x)+" "+s(r.x2.y)+" l"),A.push(s(r.x4.x)+" "+s(r.x4.y)+" m"),A.push(s(r.x3.x)+" "+s(r.x3.y)+" l"),A.push("s"),A.push("Q"),e.stream=A.join("\n"),e},YesPushDown:function(t){var e=h(t),A=G.internal.calculateCross(t),r=[];return r.push("0.749023 g"),r.push("0 0 "+s(G.internal.getWidth(t))+" "+s(G.internal.getHeight(t))+" re"),r.push("f"),r.push("q"),r.push("1 1 "+s(G.internal.getWidth(t)-2)+" "+s(G.internal.getHeight(t)-2)+" re"),r.push("W"),r.push("n"),r.push(s(A.x1.x)+" "+s(A.x1.y)+" m"),r.push(s(A.x2.x)+" "+s(A.x2.y)+" l"),r.push(s(A.x4.x)+" "+s(A.x4.y)+" m"),r.push(s(A.x3.x)+" "+s(A.x3.y)+" l"),r.push("s"),r.push("Q"),e.stream=r.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[];return A.push("0.749023 g"),A.push("0 0 "+s(G.internal.getWidth(t))+" "+s(G.internal.getHeight(t))+" re"),A.push("f"),e.stream=A.join("\n"),e}}},createDefaultAppearanceStream:function(t){var e=A.internal.getFont(t.fontName,t.fontStyle).id,r=A.__private__.encodeColorString(t.color);return"/"+e+" "+t.fontSize+" Tf "+r}};G.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=G.internal.getWidth(t),A=G.internal.getHeight(t),r=Math.min(e,A);return{x1:{x:(e-r)/2,y:(A-r)/2+r},x2:{x:(e-r)/2+r,y:(A-r)/2},x3:{x:(e-r)/2,y:(A-r)/2},x4:{x:(e-r)/2+r,y:(A-r)/2+r}}}},G.internal.getWidth=function(t){var e=0;return"object"===n(t)&&(e=u(t.Rect[2])),e},G.internal.getHeight=function(t){var e=0;return"object"===n(t)&&(e=u(t.Rect[3])),e};var J=t.addField=function(t){if(x.call(this),!(t instanceof O))throw new Error("Invalid argument passed to jsPDF.addField.");return function(t){A.internal.acroformPlugin.printedOut&&(A.internal.acroformPlugin.printedOut=!1,A.internal.acroformPlugin.acroFormDictionaryRoot=null),A.internal.acroformPlugin.acroFormDictionaryRoot||x.call(A),A.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=A.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==0)throw new Error("Invalid argument passed to jsPDF.addButton.");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==0)throw new Error("Invalid argument passed to jsPDF.addTextField.");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof R==0)throw new Error("Invalid argument passed to jsPDF.addChoiceField.");return J.call(this,t)},"object"==n(e)&&void 0===e.ChoiceField&&void 0===e.ListBox&&void 0===e.ComboBox&&void 0===e.EditBox&&void 0===e.Button&&void 0===e.PushButton&&void 0===e.RadioButton&&void 0===e.CheckBox&&void 0===e.TextField&&void 0===e.PasswordField?(e.ChoiceField=R,e.ListBox=P,e.ComboBox=K,e.EditBox=M,e.Button=D,e.PushButton=k,e.RadioButton=z,e.CheckBox=q,e.TextField=V,e.PasswordField=X,e.AcroForm={Appearance:G}):console.warn("AcroForm-Classes are not populated into global-namespace, because the class-Names exist already."),t.AcroFormChoiceField=R,t.AcroFormListBox=P,t.AcroFormComboBox=K,t.AcroFormEditBox=M,t.AcroFormButton=D,t.AcroFormPushButton=k,t.AcroFormRadioButton=z,t.AcroFormCheckBox=q,t.AcroFormTextField=V,t.AcroFormPasswordField=X,t.AcroFormAppearance=G,t.AcroForm={ChoiceField:R,ListBox:P,ComboBox:K,EditBox:M,Button:D,PushButton:k,RadioButton:z,CheckBox:q,TextField:V,PasswordField:X,Appearance:G}})((window.tmp=dt).API,"undefined"!=typeof window&&window||void 0!==r&&r),function(t){var e="addImage_",A={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},r=t.getImageFileTypeByImageData=function(e,r){var n,i;r=r||"UNKNOWN";var o,s,a,c="UNKNOWN";for(a in t.isArrayBufferView(e)&&(e=t.arrayBufferToBinaryString(e)),A)for(o=A[a],n=0;n>"}),"trns"in e&&e.trns.constructor==Array){for(var s="",a=0,c=e.trns.length;a>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==o?A+=r[(252&(e=n[s]))>>2]+r[(3&e)<<4]+"==":2==o&&(A+=r[(64512&(e=n[s]<<8|n[s+1]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+"="),A},t.createImageInfo=function(t,e,A,r,n,i,o,s,a,c,u,l,h){var f={alias:s,w:e,h:A,cs:r,bpc:n,i:o,data:t};return i&&(f.f=i),a&&(f.dp=a),c&&(f.trns=c),u&&(f.pal=u),l&&(f.smask=l),h&&(f.p=h),f},t.addImage=function(A,r,i,h,f,d,p,g,B){var w="";if("string"!=typeof r){var m=d;d=f,f=h,h=i,i=r,r=m}if("object"===n(A)&&!c(A)&&"imageData"in A){var y=A;A=y.imageData,r=y.format||r||"UNKNOWN",i=y.x||i||0,h=y.y||h||0,f=y.w||f,d=y.h||d,p=y.alias||p,g=y.compression||g,B=y.rotation||y.angle||B}var v=this.internal.getFilters();if(void 0===g&&-1!==v.indexOf("FlateEncode")&&(g="SLOW"),"string"==typeof A&&(A=unescape(A)),isNaN(i)||isNaN(h))throw console.error("jsPDF.addImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addImage");var C,Q,b,F,U,E,N,L=function(){var t=this.internal.collections[e+"images"];return t||(this.internal.collections[e+"images"]=t={},this.internal.events.subscribe("putResources",o),this.internal.events.subscribe("putXobjectDict",s)),t}.call(this);if(!((C=l(A,L))||(c(A)&&(A=u(A,r)),(null==(N=p)||0===N.length)&&(p="string"==typeof(E=A)?t.sHashCode(E):t.isArrayBufferView(E)?t.sHashCode(t.arrayBufferToBinaryString(E)):null),C=l(p,L)))){if(this.isString(A)&&(""!==(w=this.convertStringToImageData(A))||void 0!==(w=t.loadFile(A)))&&(A=w),r=this.getImageFileTypeByImageData(A,r),!a(r))throw new Error("addImage does not support files of type '"+r+"', please ensure that a plugin for '"+r+"' support is added.");if(this.supportsArrayBuffer()&&(A instanceof Uint8Array||(Q=A,A=this.binaryStringToUint8Array(A))),!(C=this["process"+r.toUpperCase()](A,(U=0,(F=L)&&(U=Object.keys?Object.keys(F).length:function(t){var e=0;for(var A in t)t.hasOwnProperty(A)&&e++;return e}(F)),U),p,((b=g)&&"string"==typeof b&&(b=b.toUpperCase()),b in t.image_compression?b:t.image_compression.NONE),Q)))throw new Error("An unknown error occurred whilst processing the image")}return function(t,e,A,r,n,i,o,s){var a=function(t,e,A){return t||e||(e=t=-96),t<0&&(t=-1*A.w*72/t/this.internal.scaleFactor),e<0&&(e=-1*A.h*72/e/this.internal.scaleFactor),0===t&&(t=e*A.w/A.h),0===e&&(e=t*A.h/A.w),[t,e]}.call(this,A,r,n),c=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(A=a[0],r=a[1],o[i]=n,s){s*=Math.PI/180;var l=Math.cos(s),h=Math.sin(s),f=function(t){return t.toFixed(4)},d=[f(l),f(h),f(-1*h),f(l),0,0,"cm"]}this.internal.write("q"),s?(this.internal.write([1,"0","0",1,c(t),u(e+r),"cm"].join(" ")),this.internal.write(d.join(" ")),this.internal.write([c(A),"0","0",c(r),"0","0","cm"].join(" "))):this.internal.write([c(A),"0","0",c(r),c(t),u(e+r),"cm"].join(" ")),this.internal.write("/I"+n.i+" Do"),this.internal.write("Q")}.call(this,i,h,f,d,C,C.i,L,B),this},t.convertStringToImageData=function(e){var A,r="";if(this.isString(e)){var n;A=null!==(n=this.extractImageFromDataUrl(e))?n.data:e;try{r=atob(A)}catch(e){throw t.validateStringAsBase64(A)?new Error("atob-Error in jsPDF.convertStringToImageData "+e.message):new Error("Supplied Data is not a valid base64-String jsPDF.convertStringToImageData ")}}return r};var h=function(t,e){return t.subarray(e,e+5)};t.processJPEG=function(t,e,A,n,i,o){var s,a=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(s=function(t){var e;if("JPEG"!==r(t))throw new Error("getJpegSize requires a binary string jpeg file");for(var A=256*t.charCodeAt(4)+t.charCodeAt(5),n=4,i=t.length;n>",c.content=g;var h=c.objId+" 0 R";g="<>";else if(a.options.pageNumber)switch(g="<>",this.internal.write(g))}}this.internal.write("]")}}]),o.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case"link":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case"text":case"freetext":e.pageContext.annotations.push(t)}},o.link=function(t,e,A,r,n){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:e,w:A,h:r,options:n,type:"link"})},o.textWithLink=function(t,e,A,r){var n=this.getTextWidth(t),i=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,A),A+=.2*i,this.link(e,A-i,n,i,r),n},o.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor},function(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},A={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var i=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return"string"==typeof t&&/^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&i(t)&&e[t.charCodeAt(0)].length<=2},a=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&0<=n.indexOf(t.charCodeAt(0))},c=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&i(t)&&1<=e[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&i(t)&&2<=e[t.charCodeAt(0)].length}),u=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&i(t)&&3<=e[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&i(t)&&4==e[t.charCodeAt(0)].length}),l=t.__arabicParser__.resolveLigatures=function(t){var e=0,r=A,n=0,i="",o=0;for(e=0;e>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){this.internal.out("/OpenAction "+e+" 0 R")}));return this},s=dt.API,(a=function(){var t=void 0;Object.defineProperty(this,"pdf",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,"width",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext("2d").pageWrapXEnabled&&(this.getContext("2d").pageWrapX=e+1)}});var A=300;Object.defineProperty(this,"height",{get:function(){return A},set:function(t){A=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext("2d").pageWrapYEnabled&&(this.getContext("2d").pageWrapY=A+1)}});var r=[];Object.defineProperty(this,"childNodes",{get:function(){return r},set:function(t){r=t}});var n={};Object.defineProperty(this,"style",{get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,"parentNode",{get:function(){return!1}})}).prototype.getContext=function(t,e){var A;if("2d"!==(t=t||"2d"))return null;for(A in e)this.pdf.context2d.hasOwnProperty(A)&&(this.pdf.context2d[A]=e[A]);return(this.pdf.context2d._canvas=this).pdf.context2d},a.prototype.toDataURL=function(){throw new Error("toDataURL is not implemented.")},s.events.push(["initialized",function(){this.canvas=new a,this.canvas.pdf=this}]),c=dt.API,l={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},h=1,f=function(t,e,A,r,n){l={x:t,y:e,w:A,h:r,ln:n}},d=function(){return l},p={left:0,top:0,bottom:0},c.setHeaderFunction=function(t){u=t},c.getTextDimensions=function(t,e){var A=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(e=e||{}).scaleFactor||this.internal.scaleFactor),n=0,i=0,o=0;if("string"==typeof t)0!=(n=this.getStringUnitWidth(t)*A)&&(i=1);else{if("[object Array]"!==Object.prototype.toString.call(t))throw new Error("getTextDimensions expects text-parameter to be of type String or an Array of Strings.");for(var s=0;s=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(),a=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(i,!0)),e=d().y+d().h,a&&(e=23)}if(void 0!==n[0])if(this.printingHeaderRow?this.rect(t,e,A,r,"FD"):this.rect(t,e,A,r),"right"===o){n instanceof Array||(n=[n]);for(var u=0;u=2*Math.PI&&(r=0,n=2*Math.PI),this.path.push({type:"arc",x:t,y:e,radius:A,startAngle:r,endAngle:n,counterclockwise:i})},c.prototype.arcTo=function(t,e,A,r,n){throw new Error("arcTo not implemented.")},c.prototype.rect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.rect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.rect");this.moveTo(t,e),this.lineTo(t+A,e),this.lineTo(t+A,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.lineTo(t+A,e),this.lineTo(t,e)},c.prototype.fillRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.fillRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.fillRect");if(!l.call(this)){var n={};"butt"!==this.lineCap&&(n.lineCap=this.lineCap,this.lineCap="butt"),"miter"!==this.lineJoin&&(n.lineJoin=this.lineJoin,this.lineJoin="miter"),this.beginPath(),this.rect(t,e,A,r),this.fill(),n.hasOwnProperty("lineCap")&&(this.lineCap=n.lineCap),n.hasOwnProperty("lineJoin")&&(this.lineJoin=n.lineJoin)}},c.prototype.strokeRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.strokeRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.strokeRect");h.call(this)||(this.beginPath(),this.rect(t,e,A,r),this.stroke())},c.prototype.clearRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.clearRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.clearRect");this.ignoreClearRect||(this.fillStyle="#ffffff",this.fillRect(t,e,A,r))},c.prototype.save=function(t){t="boolean"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,A=0;A"},w=function(t){var e,A,r,n,i,o=String,s="length",a="charCodeAt",c="slice",u="replace";for(t[c](-2),t=t[c](0,-2)[u](/\s/g,"")[u]("z","!!!!!"),r=[],n=0,i=(t+=e="uuuuu"[c](t[s]%5||5))[s];n>24,255&A>>16,255&A>>8,255&A);return function(t,A){for(var r=e[s];0"},y=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\s/g,"")).indexOf(">")&&(t=t.substr(0,t.indexOf(">"))),t.length%2&&(t+="0"),!1===e.test(t))return"";for(var A="",r=0;r>8&255,A>>16&255,A>>24&255]),t.length+2),String.fromCharCode.apply(null,n)},g.processDataByFilters=function(t,e){var A=0,r=t||"",n=[];for("string"==typeof(e=e||[])&&(e=[e]),A=0;A>"),this.internal.out("endobj"),L=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/S /JavaScript"),this.internal.out("/JS ("+x+")"),this.internal.out(">>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){void 0!==N&&void 0!==L&&this.internal.out("/Names <>")})),this},(H=dt.API).events.push(["postPutResources",function(){var t=this,e=/^(\d+) 0 obj$/;if(0> endobj")}var l=t.internal.newObject();for(t.internal.write("<< /Names [ "),r=0;r>","endobj"),t.internal.newObject(),t.internal.write("<< /Dests "+l+" 0 R"),t.internal.write(">>","endobj")}}]),H.events.push(["putCatalog",function(){0> \r\nendobj\r\n"},t.outline.count_r=function(t,e){for(var A=0;A>>24&255,h[l++]=s>>>16&255,h[l++]=s>>>8&255,h[l++]=255&s,S.arrayBufferToBinaryString(h)},T=function(t,e){var A=Math.LOG2E*Math.log(32768)-8<<4|8,r=A<<8;return r|=Math.min(3,(e-1&255)>>1)<<6,r|=0,[A,255&(r+=31-r%31)]},O=function(t,e){for(var A,r=1,n=0,i=t.length,o=0;0>>0},R=function(t,e,A,r){for(var n,i,o,s=t.length/e,a=new Uint8Array(t.length+s),c=j(),u=0;u>>1)&255;return i},k=function(t,e,A){var r,n,i,o,s=[],a=0,c=t.length;for(s[0]=4;a>>d&255,d+=i.bits;B[m]=v>>>d&255}if(16===i.bits){p=(U=new Uint32Array(i.decodePixels().buffer)).length,g=new Uint8Array(p*(32/i.pixelBitlength)*i.colors),B=new Uint8Array(p*(32/i.pixelBitlength));for(var v,C=1>>0&255,C&&(g[y++]=v>>>16&255,v=U[m++],g[y++]=v>>>0&255),B[Q++]=v>>>16&255;f=8}r!==S.image_compression.NONE&&I()?(t=_(g,i.width*i.colors,i.colors,r),u=_(B,i.width,1,r)):(t=g,u=B,h=null)}if(3===i.colorType&&(l=this.color_spaces.INDEXED,c=i.palette,i.transparency.indexed)){var b=i.transparency.indexed,F=0;for(m=0,p=b.length;mr&&(n.push(t.slice(a,i)),s=0,a=i),s+=e[i],i++;return a!==i&&n.push(t.slice(a,i)),n},tt=function(t,e,A){A||(A={});var r,n,i,o,s,a,c=[],u=[c],l=A.textIndent||0,h=0,f=0,d=t.split(" "),p=W.apply(this,[" ",A])[0];if(a=-1===A.lineIndent?d[0].length+2:A.lineIndent||0){var g=Array(a).join(" "),B=[];d.map((function(t){1<(t=t.split(/\s*\n/)).length?B=B.concat(t.map((function(t,e){return(e&&t.length?"\n":"")+t}))):B.push(t[0])})),d=B,a=Z.apply(this,[g,A])}for(i=0,o=d.length;i>")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=A,this},at=dt.API,lt=ut=ct="",at.addMetadata=function(t,e){return ut=e||"http://jspdf.default.namespaceuri/",ct=t,this.internal.events.subscribe("postPutResources",(function(){if(ct){var t='',e=unescape(encodeURIComponent('')),A=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(ct)),n=unescape(encodeURIComponent("")),i=unescape(encodeURIComponent("")),o=A.length+r.length+n.length+e.length+i.length;lt=this.internal.newObject(),this.internal.write("<< /Type /Metadata /Subtype /XML /Length "+o+" >>"),this.internal.write("stream"),this.internal.write(e+A+r+n+i),this.internal.write("endstream"),this.internal.write("endobj")}else lt=""})),this.internal.events.subscribe("putCatalog",(function(){lt&&this.internal.write("/Metadata "+lt+" 0 R")})),this},function(t,e){var A=t.API,r=A.pdfEscape16=function(t,e){for(var A,r=e.metadata.Unicode.widths,n=["","0","00","000","0000"],i=[""],o=0,s=t.length;o<"+n+">");return r.length&&(i+="\n"+r.length+" beginbfchar\n"+r.join("\n")+"\nendbfchar\n"),i+"endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"};A.events.push(["putFont",function(e){!function(e,A,r,i){if(e.metadata instanceof t.API.TTFFont&&"Identity-H"===e.encoding){for(var o=e.metadata.Unicode.widths,s=e.metadata.subset.encode(e.metadata.glyIdsUsed,1),a="",c=0;c>"),A("endobj");var f=r();A("<<"),A("/Type /Font"),A("/BaseFont /"+e.fontName),A("/FontDescriptor "+h+" 0 R"),A("/W "+t.API.PDFObject.convert(o)),A("/CIDToGIDMap /Identity"),A("/DW 1000"),A("/Subtype /CIDFontType2"),A("/CIDSystemInfo"),A("<<"),A("/Supplement 0"),A("/Registry (Adobe)"),A("/Ordering ("+e.encoding+")"),A(">>"),A(">>"),A("endobj"),e.objectNumber=r(),A("<<"),A("/Type /Font"),A("/Subtype /Type0"),A("/ToUnicode "+l+" 0 R"),A("/BaseFont /"+e.fontName),A("/Encoding /"+e.encoding),A("/DescendantFonts ["+f+" 0 R]"),A(">>"),A("endobj"),e.isAlreadyPutted=!0}}(e.font,e.out,e.newObject,e.putStream)}]),A.events.push(["putFont",function(e){!function(e,A,r,i){if(e.metadata instanceof t.API.TTFFont&&"WinAnsiEncoding"===e.encoding){e.metadata.Unicode.widths;for(var o=e.metadata.rawData,s="",a=0;a>"),A("endobj"),e.objectNumber=r(),a=0;a>"),A("endobj"),e.isAlreadyPutted=!0}}(e.font,e.out,e.newObject,e.putStream)}]);var i=function(t){var e,A,n=t.text||"",i=t.x,o=t.y,s=t.options||{},a=t.mutex||{},c=a.pdfEscape,u=a.activeFontKey,l=a.fonts,h=(a.activeFontSize,""),f=0,d="",p=l[A=u].encoding;if("Identity-H"!==l[A].encoding)return{text:n,x:i,y:o,options:s,mutex:a};for(d=n,A=u,"[object Array]"===Object.prototype.toString.call(n)&&(d=n[0]),f=0;fa-c.top-c.bottom&&r.pagesplit){var d=function(t,e,A,n,i){var o=document.createElement("canvas");o.height=i,o.width=n;var s=o.getContext("2d");return s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.fillStyle=r.backgroundColor||"#ffffff",s.fillRect(0,0,n,i),s.drawImage(t,e,A,n,i,0,0,n,i),o},p=function(){for(var r,i,u=0,p=0,g={},B=!1;;){var w;if(p=0,g.top=0!==u?c.top:A,g.left=0!==u?c.left:e,B=(s-c.left-c.right)*o=t.width)break;this.addPage()}else m=[w=d(t,0,u,r,i),g.left,g.top,w.width/o,w.height/o,h,null,f],this.addImage.apply(this,m);if((u+=i)>=t.height)break;this.addPage()}n(l,u,null,m)}.bind(this);if("CANVAS"===t.nodeName){var g=new Image;g.onload=p,g.src=t.toDataURL("image/png"),t=g}else p()}else{var B=Math.random().toString(35),w=[t,e,A,l,u,h,B,f];this.addImage.apply(this,w),n(l,u,B,w)}}.bind(this),"undefined"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if("undefined"==typeof rasterizeHTML)return null;var c="drawDocument";return"string"==typeof t&&(c=/^http/.test(t)?"drawURL":"drawHTML"),r.width=r.width||s*o,rasterizeHTML[c](t,void 0,r).then((function(t){r.onrendered(t.image)}),(function(t){n(null,t)}))},function(t){var e,A,r,i,o,s,a,c,u,l,h,f,d,p,g,B,w,m,y,v;e=function(){return function(e){return t.prototype=e,new t};function t(){}}(),l=function(t){var e,A,r,n,i,o,s;for(A=0,r=t.length,e=void 0,o=n=!1;!n&&A!==r;)(e=t[A]=t[A].trimLeft())&&(n=!0),A++;for(A=r-1;r&&!o&&-1!==A;)(e=t[A]=t[A].trimRight())&&(o=!0),A--;for(i=/\s+$/g,s=!0,A=0;A!==r;)"\u2028"!=t[A]&&(e=t[A].replace(/\s+/g," "),s&&(e=e.trimLeft()),e&&(s=i.test(e)),t[A]=e),A++;return t},f=function(t){var e,A,n;for(e=void 0,A=(n=t.split(",")).shift();!e&&A;)e=r[A.trim().toLowerCase()],A=n.shift();return e},d=function(t){var e;return-1<(t="auto"===t?"0px":t).indexOf("em")&&!isNaN(Number(t.replace("em","")))&&(t=18.719*Number(t.replace("em",""))+"px"),-1r.pdf.margins_doc.top&&(r.pdf.addPage(),r.y=r.pdf.margins_doc.top,r.executeWatchFunctions(o));var L=u(o),x=r.x,H=12/r.pdf.internal.scaleFactor,S=(L["margin-left"]+L["padding-left"])*H,I=(L["margin-right"]+L["padding-right"])*H,_=(L["margin-top"]+L["padding-top"])*H,T=(L["margin-bottom"]+L["padding-bottom"])*H;void 0!==L.float&&"right"===L.float?x+=r.settings.width-o.width-I:x+=S,r.pdf.addImage(E,x,r.y+_,o.width,o.height),E=void 0,"right"===L.float||"left"===L.float?(r.watchFunctions.push(function(t,e,A,n){return r.y>=e?(r.x+=t,r.settings.width+=A,!0):!!(n&&1===n.nodeType&&!C[n.nodeName]&&r.x+n.width>r.pdf.margins_doc.left+r.pdf.margins_doc.width)&&(r.x+=t,r.y=e,r.settings.width+=A,!0)}.bind(this,"left"===L.float?-o.width-S-I:0,r.y+o.height+_+T,o.width)),r.watchFunctions.push(function(t,e,A){return!(r.y]*?>/gi,""),u="jsPDFhtmlText"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(c=document.createElement("div")).style.cssText="position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;",c.innerHTML='',i=r.open();if(null!==i&&i.document.write(n),i||"undefined"==typeof safari)return i;case"datauri":case"dataurl":return r.document.location.href="data:application/pdf;filename="+e.filename+";base64,"+btoa(A);default:return null}}).foo=function(){try{return T.apply(this,arguments)}catch(A){var t=A.stack||"";~t.indexOf(" at ")&&(t=t.split(" at ")[1]);var e="Error in function "+t.split("\n")[0].split("<")[0]+": "+A.message;if(!r.console)throw new Error(e);r.console.error(e,A),r.alert&&alert(e)}},(T.foo.bar=T).foo),Ot=function(t){return!0===Array.isArray(ot)&&-1":")"),et=1):(Y=Gt(e),Z=Jt(A),$=(c?"<":"(")+C[W]+(c?">":")")),void 0!==z&&void 0!==z[W]&&(At=z[W]+" Tw\n"),0!==L.length&&0===W?t.push(At+L.join(" ")+" "+Y.toFixed(2)+" "+Z.toFixed(2)+" Tm\n"+$):1===et||0===et&&0===W?t.push(At+Y.toFixed(2)+" "+Z.toFixed(2)+" Td\n"+$):t.push(At+$);t=0===et?t.join(" Tj\nT* "):t.join(" Tj\n"),t+=" Tj\n";var rt="BT\n/"+I+" "+q+" Tf\n"+(q*l).toFixed(2)+" TL\n"+te+"\n";return rt+=u,rt+=t,D(rt+="ET"),h[I]=!0,f},f.__private__.lstext=f.lstext=function(t,e,A,r){return console.warn("jsPDF.lstext is deprecated"),this.text(t,e,A,{charSpace:r})},f.__private__.clip=f.clip=function(t){D("evenodd"===t?"W*":"W"),D("n")},f.__private__.clip_fixed=f.clip_fixed=function(t){console.log("clip_fixed is deprecated"),f.clip(t)};var Mt=f.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,"S","F","DF","FD","f","f*","B","B*"].indexOf(t)&&(e=!0),e},Dt=f.__private__.getStyle=function(t){var e="S";return"F"===t?e="f":"FD"===t||"DF"===t?e="B":"f"!==t&&"f*"!==t&&"B"!==t&&"B*"!==t||(e=t),e};f.__private__.line=f.line=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw new Error("Invalid arguments passed to jsPDF.line");return this.lines([[A-t,r-e]],t,e)},f.__private__.lines=f.lines=function(t,e,A,r,n,i){var o,s,a,c,u,l,h,f,d,p,g,B;if("number"==typeof t&&(B=A,A=e,e=t,t=B),r=r||[1,1],i=i||!1,isNaN(e)||isNaN(A)||!Array.isArray(t)||!Array.isArray(r)||!Mt(n)||"boolean"!=typeof i)throw new Error("Invalid arguments passed to jsPDF.lines");for(D(y(Gt(e))+" "+y(Jt(A))+" m "),o=r[0],s=r[1],c=t.length,p=e,g=A,a=0;a=o.length-1;if(b&&!F){m+=" ";continue}if(b||F){if(F)B=Q;else if(t.multiline&&c<(h+2)*(y+2)+2)continue t}else{if(!t.multiline)continue t;if(c<(h+2)*(y+2)+2)continue t;B=Q}for(var U="",E=g;E<=B;E++)U+=o[E]+" ";switch(U=" "==U.substr(U.length-1)?U.substr(0,U.length-1):U,w=C(U,t,a).width,t.textAlign){case"right":d=u-w-2;break;case"center":d=(u-w)/2;break;default:d=2}e+=s(d)+" "+s(p)+" Td\n",e+="("+i(U)+") Tj\n",e+=-s(d)+" 0 Td\n",p=-(a+2),w=0,g=B+1,y++,m=""}break}return n.text=e,n.fontSize=a,n},C=function(t,e,r){var n=A.internal.getFont(e.fontName,e.fontStyle),i=A.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:A.getStringUnitWidth("3",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},Q={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},b=function(){A.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=A.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var e in t)if(t.hasOwnProperty(e)){var r=t[e];r.objId=void 0,r.hasAnnotation&&F.call(A,r)}},F=function(t){var e={type:"reference",object:t};void 0===A.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===e.type&&t.object===e.object}))&&A.internal.getPageInfo(t.page).pageContext.annotations.push(e)},U=function(){if(void 0===A.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("putCatalogCallback: Root missing.");A.internal.write("/AcroForm "+A.internal.acroformPlugin.acroFormDictionaryRoot.objId+" 0 R")},E=function(){A.internal.events.unsubscribe(A.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete A.internal.acroformPlugin.acroFormDictionaryRoot._eventID,A.internal.acroformPlugin.printedOut=!0},N=function(t){var e=!t;for(var r in t||(A.internal.newObjectDeferredBegin(A.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),A.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||A.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(r)){var i=t[r],o=[],s=i.Rect;if(i.Rect&&(i.Rect=m.call(this,i.Rect)),A.internal.newObjectDeferredBegin(i.objId,!0),i.DA=G.createDefaultAppearanceStream(i),"object"===n(i)&&"function"==typeof i.getKeyValueListForStream&&(o=i.getKeyValueListForStream()),i.Rect=s,i.hasAppearanceStream&&!i.appearanceStreamContent){var a=y.call(this,i);o.push({key:"AP",value:"<>"}),A.internal.acroformPlugin.xForms.push(a)}if(i.appearanceStreamContent){var c="";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var l=i.appearanceStreamContent[u];if(c+="/"+u+" ",c+="<<",1<=Object.keys(l).length||Array.isArray(l))for(var r in l){var h;l.hasOwnProperty(r)&&("function"==typeof(h=l[r])&&(h=h.call(this,i)),c+="/"+r+" "+h+" ",0<=A.internal.acroformPlugin.xForms.indexOf(h)||A.internal.acroformPlugin.xForms.push(h))}else"function"==typeof(h=l)&&(h=h.call(this,i)),c+="/"+r+" "+h,0<=A.internal.acroformPlugin.xForms.indexOf(h)||A.internal.acroformPlugin.xForms.push(h);c+=">>"}o.push({key:"AP",value:"<<\n"+c+">>"})}A.internal.putStream({additionalKeyValues:o}),A.internal.out("endobj")}e&&L.call(this,A.internal.acroformPlugin.xForms)},L=function(t){for(var e in t)if(t.hasOwnProperty(e)){var r=e,i=t[e];A.internal.newObjectDeferredBegin(i&&i.objId,!0),"object"===n(i)&&"function"==typeof i.putStream&&i.putStream(),delete t[r]}},x=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(A=this,O.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(Q)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("Exception while creating AcroformDictionary");r=A.internal.scaleFactor,A.internal.acroformPlugin.acroFormDictionaryRoot=new T,A.internal.acroformPlugin.acroFormDictionaryRoot._eventID=A.internal.events.subscribe("postPutResources",E),A.internal.events.subscribe("buildDocument",b),A.internal.events.subscribe("putCatalog",U),A.internal.events.subscribe("postPutPages",N),A.internal.acroformPlugin.isInitialized=!0}},H=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var e="[",A=0;A>"),A.join("\n")}},set:function(t){"object"===n(t)&&(e=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return e.CA||""},set:function(t){"string"==typeof t&&(e.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(e){t="/"+e}})};c(D,O);var k=function(){D.call(this),this.pushButton=!0};c(k,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,"Kids",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};c(z,D);var j=function(){var t,e;O.call(this),Object.defineProperty(this,"Parent",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"optionName",{enumerable:!1,configurable:!0,get:function(){return e},set:function(t){e=t}});var A,r={};Object.defineProperty(this,"MK",{enumerable:!1,configurable:!1,get:function(){var t,e=[];for(t in e.push("<<"),r)e.push("/"+t+" ("+r[t]+")");return e.push(">>"),e.join("\n")},set:function(t){"object"===n(t)&&(r=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return r.CA||""},set:function(t){"string"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return A},set:function(t){A=t}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return A.substr(1,A.length-1)},set:function(t){A="/"+t}}),this.optionName=name,this.caption="l",this.appearanceState="Off",this._AppearanceType=G.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};c(j,O),z.prototype.setAppearance=function(t){if(!("createAppearanceStream"in t)||!("getCA"in t))throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var A=this.Kids[e];A.appearanceStreamContent=t.createAppearanceStream(A.optionName),A.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var e=new j;return e.Parent=this,e.optionName=t,this.Kids.push(e),J.call(this,e),e};var q=function(){D.call(this),this.fontName="zapfdingbats",this.caption="3",this.appearanceState="On",this.value="On",this.textAlign="center",this.appearanceStreamContent=G.CheckBox.createAppearanceStream()};c(q,D);var V=function(){O.call(this),this.FT="/Tx",Object.defineProperty(this,"multiline",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,13):this.Ff=w(this.Ff,13)}}),Object.defineProperty(this,"fileSelect",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,21):this.Ff=w(this.Ff,21)}}),Object.defineProperty(this,"doNotSpellCheck",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,23):this.Ff=w(this.Ff,23)}}),Object.defineProperty(this,"doNotScroll",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,24):this.Ff=w(this.Ff,24)}}),Object.defineProperty(this,"comb",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,25):this.Ff=w(this.Ff,25)}}),Object.defineProperty(this,"richText",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,26):this.Ff=w(this.Ff,26)}});var t=null;Object.defineProperty(this,"MaxLen",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"maxLength",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,"hasAppearanceStream",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};c(V,O);var X=function(){V.call(this),Object.defineProperty(this,"password",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,14):this.Ff=w(this.Ff,14)}}),this.password=!0};c(X,V);var G={CheckBox:{createAppearanceStream:function(){return{N:{On:G.CheckBox.YesNormal},D:{On:G.CheckBox.YesPushDown,Off:G.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=h(t),r=[],n=A.internal.getFont(t.fontName,t.fontStyle).id,i=A.__private__.encodeColorString(t.color),o=v(t,t.caption);return r.push("0.749023 g"),r.push("0 0 "+s(G.internal.getWidth(t))+" "+s(G.internal.getHeight(t))+" re"),r.push("f"),r.push("BMC"),r.push("q"),r.push("0 0 1 rg"),r.push("/"+n+" "+s(o.fontSize)+" Tf "+i),r.push("BT"),r.push(o.text),r.push("ET"),r.push("Q"),r.push("EMC"),e.stream=r.join("\n"),e},YesNormal:function(t){var e=h(t),r=A.internal.getFont(t.fontName,t.fontStyle).id,n=A.__private__.encodeColorString(t.color),i=[],o=G.internal.getHeight(t),a=G.internal.getWidth(t),c=v(t,t.caption);return i.push("1 g"),i.push("0 0 "+s(a)+" "+s(o)+" re"),i.push("f"),i.push("q"),i.push("0 0 1 rg"),i.push("0 0 "+s(a-1)+" "+s(o-1)+" re"),i.push("W"),i.push("n"),i.push("0 g"),i.push("BT"),i.push("/"+r+" "+s(c.fontSize)+" Tf "+n),i.push(c.text),i.push("ET"),i.push("Q"),e.stream=i.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[];return A.push("0.749023 g"),A.push("0 0 "+s(G.internal.getWidth(t))+" "+s(G.internal.getHeight(t))+" re"),A.push("f"),e.stream=A.join("\n"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:G.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=G.RadioButton.Circle.YesNormal,e.D[t]=G.RadioButton.Circle.YesPushDown,e},getCA:function(){return"l"},YesNormal:function(t){var e=h(t),A=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var n=G.internal.Bezier_C,i=Number((r*n).toFixed(5));return A.push("q"),A.push("1 0 0 1 "+a(G.internal.getWidth(t)/2)+" "+a(G.internal.getHeight(t)/2)+" cm"),A.push(r+" 0 m"),A.push(r+" "+i+" "+i+" "+r+" 0 "+r+" c"),A.push("-"+i+" "+r+" -"+r+" "+i+" -"+r+" 0 c"),A.push("-"+r+" -"+i+" -"+i+" -"+r+" 0 -"+r+" c"),A.push(i+" -"+r+" "+r+" -"+i+" "+r+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e},YesPushDown:function(t){var e=h(t),A=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5)),o=Number((r*G.internal.Bezier_C).toFixed(5));return A.push("0.749023 g"),A.push("q"),A.push("1 0 0 1 "+a(G.internal.getWidth(t)/2)+" "+a(G.internal.getHeight(t)/2)+" cm"),A.push(n+" 0 m"),A.push(n+" "+i+" "+i+" "+n+" 0 "+n+" c"),A.push("-"+i+" "+n+" -"+n+" "+i+" -"+n+" 0 c"),A.push("-"+n+" -"+i+" -"+i+" -"+n+" 0 -"+n+" c"),A.push(i+" -"+n+" "+n+" -"+i+" "+n+" 0 c"),A.push("f"),A.push("Q"),A.push("0 g"),A.push("q"),A.push("1 0 0 1 "+a(G.internal.getWidth(t)/2)+" "+a(G.internal.getHeight(t)/2)+" cm"),A.push(r+" 0 m"),A.push(r+" "+o+" "+o+" "+r+" 0 "+r+" c"),A.push("-"+o+" "+r+" -"+r+" "+o+" -"+r+" 0 c"),A.push("-"+r+" -"+o+" -"+o+" -"+r+" 0 -"+r+" c"),A.push(o+" -"+r+" "+r+" -"+o+" "+r+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5));return A.push("0.749023 g"),A.push("q"),A.push("1 0 0 1 "+a(G.internal.getWidth(t)/2)+" "+a(G.internal.getHeight(t)/2)+" cm"),A.push(n+" 0 m"),A.push(n+" "+i+" "+i+" "+n+" 0 "+n+" c"),A.push("-"+i+" "+n+" -"+n+" "+i+" -"+n+" 0 c"),A.push("-"+n+" -"+i+" -"+i+" -"+n+" 0 -"+n+" c"),A.push(i+" -"+n+" "+n+" -"+i+" "+n+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:G.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=G.RadioButton.Cross.YesNormal,e.D[t]=G.RadioButton.Cross.YesPushDown,e},getCA:function(){return"8"},YesNormal:function(t){var e=h(t),A=[],r=G.internal.calculateCross(t);return A.push("q"),A.push("1 1 "+s(G.internal.getWidth(t)-2)+" "+s(G.internal.getHeight(t)-2)+" re"),A.push("W"),A.push("n"),A.push(s(r.x1.x)+" "+s(r.x1.y)+" m"),A.push(s(r.x2.x)+" "+s(r.x2.y)+" l"),A.push(s(r.x4.x)+" "+s(r.x4.y)+" m"),A.push(s(r.x3.x)+" "+s(r.x3.y)+" l"),A.push("s"),A.push("Q"),e.stream=A.join("\n"),e},YesPushDown:function(t){var e=h(t),A=G.internal.calculateCross(t),r=[];return r.push("0.749023 g"),r.push("0 0 "+s(G.internal.getWidth(t))+" "+s(G.internal.getHeight(t))+" re"),r.push("f"),r.push("q"),r.push("1 1 "+s(G.internal.getWidth(t)-2)+" "+s(G.internal.getHeight(t)-2)+" re"),r.push("W"),r.push("n"),r.push(s(A.x1.x)+" "+s(A.x1.y)+" m"),r.push(s(A.x2.x)+" "+s(A.x2.y)+" l"),r.push(s(A.x4.x)+" "+s(A.x4.y)+" m"),r.push(s(A.x3.x)+" "+s(A.x3.y)+" l"),r.push("s"),r.push("Q"),e.stream=r.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[];return A.push("0.749023 g"),A.push("0 0 "+s(G.internal.getWidth(t))+" "+s(G.internal.getHeight(t))+" re"),A.push("f"),e.stream=A.join("\n"),e}}},createDefaultAppearanceStream:function(t){var e=A.internal.getFont(t.fontName,t.fontStyle).id,r=A.__private__.encodeColorString(t.color);return"/"+e+" "+t.fontSize+" Tf "+r}};G.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=G.internal.getWidth(t),A=G.internal.getHeight(t),r=Math.min(e,A);return{x1:{x:(e-r)/2,y:(A-r)/2+r},x2:{x:(e-r)/2+r,y:(A-r)/2},x3:{x:(e-r)/2,y:(A-r)/2},x4:{x:(e-r)/2+r,y:(A-r)/2+r}}}},G.internal.getWidth=function(t){var e=0;return"object"===n(t)&&(e=u(t.Rect[2])),e},G.internal.getHeight=function(t){var e=0;return"object"===n(t)&&(e=u(t.Rect[3])),e};var J=t.addField=function(t){if(x.call(this),!(t instanceof O))throw new Error("Invalid argument passed to jsPDF.addField.");return function(t){A.internal.acroformPlugin.printedOut&&(A.internal.acroformPlugin.printedOut=!1,A.internal.acroformPlugin.acroFormDictionaryRoot=null),A.internal.acroformPlugin.acroFormDictionaryRoot||x.call(A),A.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=A.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==0)throw new Error("Invalid argument passed to jsPDF.addButton.");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==0)throw new Error("Invalid argument passed to jsPDF.addTextField.");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof R==0)throw new Error("Invalid argument passed to jsPDF.addChoiceField.");return J.call(this,t)},"object"==n(e)&&void 0===e.ChoiceField&&void 0===e.ListBox&&void 0===e.ComboBox&&void 0===e.EditBox&&void 0===e.Button&&void 0===e.PushButton&&void 0===e.RadioButton&&void 0===e.CheckBox&&void 0===e.TextField&&void 0===e.PasswordField?(e.ChoiceField=R,e.ListBox=P,e.ComboBox=K,e.EditBox=M,e.Button=D,e.PushButton=k,e.RadioButton=z,e.CheckBox=q,e.TextField=V,e.PasswordField=X,e.AcroForm={Appearance:G}):console.warn("AcroForm-Classes are not populated into global-namespace, because the class-Names exist already."),t.AcroFormChoiceField=R,t.AcroFormListBox=P,t.AcroFormComboBox=K,t.AcroFormEditBox=M,t.AcroFormButton=D,t.AcroFormPushButton=k,t.AcroFormRadioButton=z,t.AcroFormCheckBox=q,t.AcroFormTextField=V,t.AcroFormPasswordField=X,t.AcroFormAppearance=G,t.AcroForm={ChoiceField:R,ListBox:P,ComboBox:K,EditBox:M,Button:D,PushButton:k,RadioButton:z,CheckBox:q,TextField:V,PasswordField:X,Appearance:G}})((window.tmp=dt).API,"undefined"!=typeof window&&window||void 0!==r&&r),function(t){var e="addImage_",A={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},r=t.getImageFileTypeByImageData=function(e,r){var n,i;r=r||"UNKNOWN";var o,s,a,c="UNKNOWN";for(a in t.isArrayBufferView(e)&&(e=t.arrayBufferToBinaryString(e)),A)for(o=A[a],n=0;n>"}),"trns"in e&&e.trns.constructor==Array){for(var s="",a=0,c=e.trns.length;a>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==o?A+=r[(252&(e=n[s]))>>2]+r[(3&e)<<4]+"==":2==o&&(A+=r[(64512&(e=n[s]<<8|n[s+1]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+"="),A},t.createImageInfo=function(t,e,A,r,n,i,o,s,a,c,u,l,h){var f={alias:s,w:e,h:A,cs:r,bpc:n,i:o,data:t};return i&&(f.f=i),a&&(f.dp=a),c&&(f.trns=c),u&&(f.pal=u),l&&(f.smask=l),h&&(f.p=h),f},t.addImage=function(A,r,i,h,f,d,p,g,B){var w="";if("string"!=typeof r){var m=d;d=f,f=h,h=i,i=r,r=m}if("object"===n(A)&&!c(A)&&"imageData"in A){var y=A;A=y.imageData,r=y.format||r||"UNKNOWN",i=y.x||i||0,h=y.y||h||0,f=y.w||f,d=y.h||d,p=y.alias||p,g=y.compression||g,B=y.rotation||y.angle||B}var v=this.internal.getFilters();if(void 0===g&&-1!==v.indexOf("FlateEncode")&&(g="SLOW"),"string"==typeof A&&(A=unescape(A)),isNaN(i)||isNaN(h))throw console.error("jsPDF.addImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addImage");var C,Q,b,F,U,E,N,L=function(){var t=this.internal.collections[e+"images"];return t||(this.internal.collections[e+"images"]=t={},this.internal.events.subscribe("putResources",o),this.internal.events.subscribe("putXobjectDict",s)),t}.call(this);if(!((C=l(A,L))||(c(A)&&(A=u(A,r)),(null==(N=p)||0===N.length)&&(p="string"==typeof(E=A)?t.sHashCode(E):t.isArrayBufferView(E)?t.sHashCode(t.arrayBufferToBinaryString(E)):null),C=l(p,L)))){if(this.isString(A)&&(""!==(w=this.convertStringToImageData(A))||void 0!==(w=t.loadFile(A)))&&(A=w),r=this.getImageFileTypeByImageData(A,r),!a(r))throw new Error("addImage does not support files of type '"+r+"', please ensure that a plugin for '"+r+"' support is added.");if(this.supportsArrayBuffer()&&(A instanceof Uint8Array||(Q=A,A=this.binaryStringToUint8Array(A))),!(C=this["process"+r.toUpperCase()](A,(U=0,(F=L)&&(U=Object.keys?Object.keys(F).length:function(t){var e=0;for(var A in t)t.hasOwnProperty(A)&&e++;return e}(F)),U),p,((b=g)&&"string"==typeof b&&(b=b.toUpperCase()),b in t.image_compression?b:t.image_compression.NONE),Q)))throw new Error("An unknown error occurred whilst processing the image")}return function(t,e,A,r,n,i,o,s){var a=function(t,e,A){return t||e||(e=t=-96),t<0&&(t=-1*A.w*72/t/this.internal.scaleFactor),e<0&&(e=-1*A.h*72/e/this.internal.scaleFactor),0===t&&(t=e*A.w/A.h),0===e&&(e=t*A.h/A.w),[t,e]}.call(this,A,r,n),c=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(A=a[0],r=a[1],o[i]=n,s){s*=Math.PI/180;var l=Math.cos(s),h=Math.sin(s),f=function(t){return t.toFixed(4)},d=[f(l),f(h),f(-1*h),f(l),0,0,"cm"]}this.internal.write("q"),s?(this.internal.write([1,"0","0",1,c(t),u(e+r),"cm"].join(" ")),this.internal.write(d.join(" ")),this.internal.write([c(A),"0","0",c(r),"0","0","cm"].join(" "))):this.internal.write([c(A),"0","0",c(r),c(t),u(e+r),"cm"].join(" ")),this.internal.write("/I"+n.i+" Do"),this.internal.write("Q")}.call(this,i,h,f,d,C,C.i,L,B),this},t.convertStringToImageData=function(e){var A,r="";if(this.isString(e)){var n;A=null!==(n=this.extractImageFromDataUrl(e))?n.data:e;try{r=atob(A)}catch(e){throw t.validateStringAsBase64(A)?new Error("atob-Error in jsPDF.convertStringToImageData "+e.message):new Error("Supplied Data is not a valid base64-String jsPDF.convertStringToImageData ")}}return r};var h=function(t,e){return t.subarray(e,e+5)};t.processJPEG=function(t,e,A,n,i,o){var s,a=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(s=function(t){var e;if("JPEG"!==r(t))throw new Error("getJpegSize requires a binary string jpeg file");for(var A=256*t.charCodeAt(4)+t.charCodeAt(5),n=4,i=t.length;n>",c.content=g;var h=c.objId+" 0 R";g="<>";else if(a.options.pageNumber)switch(g="<>",this.internal.write(g))}}this.internal.write("]")}}]),o.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case"link":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case"text":case"freetext":e.pageContext.annotations.push(t)}},o.link=function(t,e,A,r,n){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:e,w:A,h:r,options:n,type:"link"})},o.textWithLink=function(t,e,A,r){var n=this.getTextWidth(t),i=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,A),A+=.2*i,this.link(e,A-i,n,i,r),n},o.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor},function(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},A={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var i=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return"string"==typeof t&&/^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&i(t)&&e[t.charCodeAt(0)].length<=2},a=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&0<=n.indexOf(t.charCodeAt(0))},c=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&i(t)&&1<=e[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&i(t)&&2<=e[t.charCodeAt(0)].length}),u=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&i(t)&&3<=e[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&i(t)&&4==e[t.charCodeAt(0)].length}),l=t.__arabicParser__.resolveLigatures=function(t){var e=0,r=A,n=0,i="",o=0;for(e=0;e>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){this.internal.out("/OpenAction "+e+" 0 R")}));return this},s=dt.API,(a=function(){var t=void 0;Object.defineProperty(this,"pdf",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,"width",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext("2d").pageWrapXEnabled&&(this.getContext("2d").pageWrapX=e+1)}});var A=300;Object.defineProperty(this,"height",{get:function(){return A},set:function(t){A=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext("2d").pageWrapYEnabled&&(this.getContext("2d").pageWrapY=A+1)}});var r=[];Object.defineProperty(this,"childNodes",{get:function(){return r},set:function(t){r=t}});var n={};Object.defineProperty(this,"style",{get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,"parentNode",{get:function(){return!1}})}).prototype.getContext=function(t,e){var A;if("2d"!==(t=t||"2d"))return null;for(A in e)this.pdf.context2d.hasOwnProperty(A)&&(this.pdf.context2d[A]=e[A]);return(this.pdf.context2d._canvas=this).pdf.context2d},a.prototype.toDataURL=function(){throw new Error("toDataURL is not implemented.")},s.events.push(["initialized",function(){this.canvas=new a,this.canvas.pdf=this}]),c=dt.API,l={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},h=1,f=function(t,e,A,r,n){l={x:t,y:e,w:A,h:r,ln:n}},d=function(){return l},p={left:0,top:0,bottom:0},c.setHeaderFunction=function(t){u=t},c.getTextDimensions=function(t,e){var A=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(e=e||{}).scaleFactor||this.internal.scaleFactor),n=0,i=0,o=0;if("string"==typeof t)0!=(n=this.getStringUnitWidth(t)*A)&&(i=1);else{if("[object Array]"!==Object.prototype.toString.call(t))throw new Error("getTextDimensions expects text-parameter to be of type String or an Array of Strings.");for(var s=0;s=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(),a=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(i,!0)),e=d().y+d().h,a&&(e=23)}if(void 0!==n[0])if(this.printingHeaderRow?this.rect(t,e,A,r,"FD"):this.rect(t,e,A,r),"right"===o){n instanceof Array||(n=[n]);for(var u=0;u=2*Math.PI&&(r=0,n=2*Math.PI),this.path.push({type:"arc",x:t,y:e,radius:A,startAngle:r,endAngle:n,counterclockwise:i})},c.prototype.arcTo=function(t,e,A,r,n){throw new Error("arcTo not implemented.")},c.prototype.rect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.rect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.rect");this.moveTo(t,e),this.lineTo(t+A,e),this.lineTo(t+A,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.lineTo(t+A,e),this.lineTo(t,e)},c.prototype.fillRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.fillRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.fillRect");if(!l.call(this)){var n={};"butt"!==this.lineCap&&(n.lineCap=this.lineCap,this.lineCap="butt"),"miter"!==this.lineJoin&&(n.lineJoin=this.lineJoin,this.lineJoin="miter"),this.beginPath(),this.rect(t,e,A,r),this.fill(),n.hasOwnProperty("lineCap")&&(this.lineCap=n.lineCap),n.hasOwnProperty("lineJoin")&&(this.lineJoin=n.lineJoin)}},c.prototype.strokeRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.strokeRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.strokeRect");h.call(this)||(this.beginPath(),this.rect(t,e,A,r),this.stroke())},c.prototype.clearRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.clearRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.clearRect");this.ignoreClearRect||(this.fillStyle="#ffffff",this.fillRect(t,e,A,r))},c.prototype.save=function(t){t="boolean"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,A=0;A"},w=function(t){var e,A,r,n,i,o=String,s="length",a="charCodeAt",c="slice",u="replace";for(t[c](-2),t=t[c](0,-2)[u](/\s/g,"")[u]("z","!!!!!"),r=[],n=0,i=(t+=e="uuuuu"[c](t[s]%5||5))[s];n>24,255&A>>16,255&A>>8,255&A);return function(t,A){for(var r=e[s];0"},y=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\s/g,"")).indexOf(">")&&(t=t.substr(0,t.indexOf(">"))),t.length%2&&(t+="0"),!1===e.test(t))return"";for(var A="",r=0;r>8&255,A>>16&255,A>>24&255]),t.length+2),String.fromCharCode.apply(null,n)},g.processDataByFilters=function(t,e){var A=0,r=t||"",n=[];for("string"==typeof(e=e||[])&&(e=[e]),A=0;A>"),this.internal.out("endobj"),L=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/S /JavaScript"),this.internal.out("/JS ("+x+")"),this.internal.out(">>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){void 0!==N&&void 0!==L&&this.internal.out("/Names <>")})),this},(H=dt.API).events.push(["postPutResources",function(){var t=this,e=/^(\d+) 0 obj$/;if(0> endobj")}var l=t.internal.newObject();for(t.internal.write("<< /Names [ "),r=0;r>","endobj"),t.internal.newObject(),t.internal.write("<< /Dests "+l+" 0 R"),t.internal.write(">>","endobj")}}]),H.events.push(["putCatalog",function(){0> \r\nendobj\r\n"},t.outline.count_r=function(t,e){for(var A=0;A>>24&255,h[l++]=s>>>16&255,h[l++]=s>>>8&255,h[l++]=255&s,S.arrayBufferToBinaryString(h)},T=function(t,e){var A=Math.LOG2E*Math.log(32768)-8<<4|8,r=A<<8;return r|=Math.min(3,(e-1&255)>>1)<<6,r|=0,[A,255&(r+=31-r%31)]},O=function(t,e){for(var A,r=1,n=0,i=t.length,o=0;0>>0},R=function(t,e,A,r){for(var n,i,o,s=t.length/e,a=new Uint8Array(t.length+s),c=j(),u=0;u>>1)&255;return i},k=function(t,e,A){var r,n,i,o,s=[],a=0,c=t.length;for(s[0]=4;a>>d&255,d+=i.bits;B[m]=v>>>d&255}if(16===i.bits){p=(U=new Uint32Array(i.decodePixels().buffer)).length,g=new Uint8Array(p*(32/i.pixelBitlength)*i.colors),B=new Uint8Array(p*(32/i.pixelBitlength));for(var v,C=1>>0&255,C&&(g[y++]=v>>>16&255,v=U[m++],g[y++]=v>>>0&255),B[Q++]=v>>>16&255;f=8}r!==S.image_compression.NONE&&I()?(t=_(g,i.width*i.colors,i.colors,r),u=_(B,i.width,1,r)):(t=g,u=B,h=null)}if(3===i.colorType&&(l=this.color_spaces.INDEXED,c=i.palette,i.transparency.indexed)){var b=i.transparency.indexed,F=0;for(m=0,p=b.length;mr&&(n.push(t.slice(a,i)),s=0,a=i),s+=e[i],i++;return a!==i&&n.push(t.slice(a,i)),n},tt=function(t,e,A){A||(A={});var r,n,i,o,s,a,c=[],u=[c],l=A.textIndent||0,h=0,f=0,d=t.split(" "),p=W.apply(this,[" ",A])[0];if(a=-1===A.lineIndent?d[0].length+2:A.lineIndent||0){var g=Array(a).join(" "),B=[];d.map((function(t){1<(t=t.split(/\s*\n/)).length?B=B.concat(t.map((function(t,e){return(e&&t.length?"\n":"")+t}))):B.push(t[0])})),d=B,a=Z.apply(this,[g,A])}for(i=0,o=d.length;i>")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=A,this},at=dt.API,lt=ut=ct="",at.addMetadata=function(t,e){return ut=e||"http://jspdf.default.namespaceuri/",ct=t,this.internal.events.subscribe("postPutResources",(function(){if(ct){var t='',e=unescape(encodeURIComponent('')),A=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(ct)),n=unescape(encodeURIComponent("")),i=unescape(encodeURIComponent("")),o=A.length+r.length+n.length+e.length+i.length;lt=this.internal.newObject(),this.internal.write("<< /Type /Metadata /Subtype /XML /Length "+o+" >>"),this.internal.write("stream"),this.internal.write(e+A+r+n+i),this.internal.write("endstream"),this.internal.write("endobj")}else lt=""})),this.internal.events.subscribe("putCatalog",(function(){lt&&this.internal.write("/Metadata "+lt+" 0 R")})),this},function(t,e){var A=t.API,r=A.pdfEscape16=function(t,e){for(var A,r=e.metadata.Unicode.widths,n=["","0","00","000","0000"],i=[""],o=0,s=t.length;o<"+n+">");return r.length&&(i+="\n"+r.length+" beginbfchar\n"+r.join("\n")+"\nendbfchar\n"),i+"endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"};A.events.push(["putFont",function(e){!function(e,A,r,i){if(e.metadata instanceof t.API.TTFFont&&"Identity-H"===e.encoding){for(var o=e.metadata.Unicode.widths,s=e.metadata.subset.encode(e.metadata.glyIdsUsed,1),a="",c=0;c>"),A("endobj");var f=r();A("<<"),A("/Type /Font"),A("/BaseFont /"+e.fontName),A("/FontDescriptor "+h+" 0 R"),A("/W "+t.API.PDFObject.convert(o)),A("/CIDToGIDMap /Identity"),A("/DW 1000"),A("/Subtype /CIDFontType2"),A("/CIDSystemInfo"),A("<<"),A("/Supplement 0"),A("/Registry (Adobe)"),A("/Ordering ("+e.encoding+")"),A(">>"),A(">>"),A("endobj"),e.objectNumber=r(),A("<<"),A("/Type /Font"),A("/Subtype /Type0"),A("/ToUnicode "+l+" 0 R"),A("/BaseFont /"+e.fontName),A("/Encoding /"+e.encoding),A("/DescendantFonts ["+f+" 0 R]"),A(">>"),A("endobj"),e.isAlreadyPutted=!0}}(e.font,e.out,e.newObject,e.putStream)}]),A.events.push(["putFont",function(e){!function(e,A,r,i){if(e.metadata instanceof t.API.TTFFont&&"WinAnsiEncoding"===e.encoding){e.metadata.Unicode.widths;for(var o=e.metadata.rawData,s="",a=0;a>"),A("endobj"),e.objectNumber=r(),a=0;a>"),A("endobj"),e.isAlreadyPutted=!0}}(e.font,e.out,e.newObject,e.putStream)}]);var i=function(t){var e,A,n=t.text||"",i=t.x,o=t.y,s=t.options||{},a=t.mutex||{},c=a.pdfEscape,u=a.activeFontKey,l=a.fonts,h=(a.activeFontSize,""),f=0,d="",p=l[A=u].encoding;if("Identity-H"!==l[A].encoding)return{text:n,x:i,y:o,options:s,mutex:a};for(d=n,A=u,"[object Array]"===Object.prototype.toString.call(n)&&(d=n[0]),f=0;fa-c.top-c.bottom&&r.pagesplit){var d=function(t,e,A,n,i){var o=document.createElement("canvas");o.height=i,o.width=n;var s=o.getContext("2d");return s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.fillStyle=r.backgroundColor||"#ffffff",s.fillRect(0,0,n,i),s.drawImage(t,e,A,n,i,0,0,n,i),o},p=function(){for(var r,i,u=0,p=0,g={},B=!1;;){var w;if(p=0,g.top=0!==u?c.top:A,g.left=0!==u?c.left:e,B=(s-c.left-c.right)*o=t.width)break;this.addPage()}else m=[w=d(t,0,u,r,i),g.left,g.top,w.width/o,w.height/o,h,null,f],this.addImage.apply(this,m);if((u+=i)>=t.height)break;this.addPage()}n(l,u,null,m)}.bind(this);if("CANVAS"===t.nodeName){var g=new Image;g.onload=p,g.src=t.toDataURL("image/png"),t=g}else p()}else{var B=Math.random().toString(35),w=[t,e,A,l,u,h,B,f];this.addImage.apply(this,w),n(l,u,B,w)}}.bind(this),"undefined"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if("undefined"==typeof rasterizeHTML)return null;var c="drawDocument";return"string"==typeof t&&(c=/^http/.test(t)?"drawURL":"drawHTML"),r.width=r.width||s*o,rasterizeHTML[c](t,void 0,r).then((function(t){r.onrendered(t.image)}),(function(t){n(null,t)}))},function(t){var e,A,r,i,o,s,a,c,u,l,h,f,d,p,g,B,w,m,y,v;e=function(){return function(e){return t.prototype=e,new t};function t(){}}(),l=function(t){var e,A,r,n,i,o,s;for(A=0,r=t.length,e=void 0,o=n=!1;!n&&A!==r;)(e=t[A]=t[A].trimLeft())&&(n=!0),A++;for(A=r-1;r&&!o&&-1!==A;)(e=t[A]=t[A].trimRight())&&(o=!0),A--;for(i=/\s+$/g,s=!0,A=0;A!==r;)"\u2028"!=t[A]&&(e=t[A].replace(/\s+/g," "),s&&(e=e.trimLeft()),e&&(s=i.test(e)),t[A]=e),A++;return t},f=function(t){var e,A,n;for(e=void 0,A=(n=t.split(",")).shift();!e&&A;)e=r[A.trim().toLowerCase()],A=n.shift();return e},d=function(t){var e;return-1<(t="auto"===t?"0px":t).indexOf("em")&&!isNaN(Number(t.replace("em","")))&&(t=18.719*Number(t.replace("em",""))+"px"),-1r.pdf.margins_doc.top&&(r.pdf.addPage(),r.y=r.pdf.margins_doc.top,r.executeWatchFunctions(o));var L=u(o),x=r.x,H=12/r.pdf.internal.scaleFactor,S=(L["margin-left"]+L["padding-left"])*H,I=(L["margin-right"]+L["padding-right"])*H,_=(L["margin-top"]+L["padding-top"])*H,T=(L["margin-bottom"]+L["padding-bottom"])*H;void 0!==L.float&&"right"===L.float?x+=r.settings.width-o.width-I:x+=S,r.pdf.addImage(E,x,r.y+_,o.width,o.height),E=void 0,"right"===L.float||"left"===L.float?(r.watchFunctions.push(function(t,e,A,n){return r.y>=e?(r.x+=t,r.settings.width+=A,!0):!!(n&&1===n.nodeType&&!C[n.nodeName]&&r.x+n.width>r.pdf.margins_doc.left+r.pdf.margins_doc.width)&&(r.x+=t,r.y=e,r.settings.width+=A,!0)}.bind(this,"left"===L.float?-o.width-S-I:0,r.y+o.height+_+T,o.width)),r.watchFunctions.push(function(t,e,A){return!(r.y]*?>/gi,""),u="jsPDFhtmlText"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(c=document.createElement("div")).style.cssText="position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;",c.innerHTML='',i=r.open();if(null!==i&&i.document.write(n),i||\"undefined\"==typeof safari)return i;case\"datauri\":case\"dataurl\":return r.document.location.href=\"data:application/pdf;filename=\"+A.filename+\";base64,\"+btoa(e);default:return null}}).foo=function(){try{return T.apply(this,arguments)}catch(e){var t=e.stack||\"\";~t.indexOf(\" at \")&&(t=t.split(\" at \")[1]);var A=\"Error in function \"+t.split(\"\\n\")[0].split(\"<\")[0]+\": \"+e.message;if(!r.console)throw new Error(A);r.console.error(A,e),r.alert&&alert(A)}},(T.foo.bar=T).foo),Rt=function(t){return!0===Array.isArray(ot)&&-1\":\")\"),At=1):(Y=Gt(A),Z=Jt(e),$=(c?\"<\":\"(\")+y[W]+(c?\">\":\")\")),void 0!==z&&void 0!==z[W]&&(et=z[W]+\" Tw\\n\"),0!==L.length&&0===W?t.push(et+L.join(\" \")+\" \"+Y.toFixed(2)+\" \"+Z.toFixed(2)+\" Tm\\n\"+$):1===At||0===At&&0===W?t.push(et+Y.toFixed(2)+\" \"+Z.toFixed(2)+\" Td\\n\"+$):t.push(et+$);t=0===At?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var rt=\"BT\\n/\"+I+\" \"+q+\" Tf\\n\"+(q*l).toFixed(2)+\" TL\\n\"+tA+\"\\n\";return rt+=u,rt+=t,D(rt+=\"ET\"),h[I]=!0,f},f.__private__.lstext=f.lstext=function(t,A,e,r){return console.warn(\"jsPDF.lstext is deprecated\"),this.text(t,A,e,{charSpace:r})},f.__private__.clip=f.clip=function(t){D(\"evenodd\"===t?\"W*\":\"W\"),D(\"n\")},f.__private__.clip_fixed=f.clip_fixed=function(t){console.log(\"clip_fixed is deprecated\"),f.clip(t)};var Pt=f.__private__.isValidStyle=function(t){var A=!1;return-1!==[void 0,null,\"S\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\"].indexOf(t)&&(A=!0),A},Dt=f.__private__.getStyle=function(t){var A=\"S\";return\"F\"===t?A=\"f\":\"FD\"===t||\"DF\"===t?A=\"B\":\"f\"!==t&&\"f*\"!==t&&\"B\"!==t&&\"B*\"!==t||(A=t),A};f.__private__.line=f.line=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw new Error(\"Invalid arguments passed to jsPDF.line\");return this.lines([[e-t,r-A]],t,A)},f.__private__.lines=f.lines=function(t,A,e,r,n,i){var o,s,a,c,u,l,h,f,d,p,B,g;if(\"number\"==typeof t&&(g=e,e=A,A=t,t=g),r=r||[1,1],i=i||!1,isNaN(A)||isNaN(e)||!Array.isArray(t)||!Array.isArray(r)||!Pt(n)||\"boolean\"!=typeof i)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(D(Q(Gt(A))+\" \"+Q(Jt(e))+\" m \"),o=r[0],s=r[1],c=t.length,p=A,B=e,a=0;a=o.length-1;if(F&&!U){m+=\" \";continue}if(F||U){if(U)g=v;else if(t.multiline&&c<(h+2)*(Q+2)+2)continue t}else{if(!t.multiline)continue t;if(c<(h+2)*(Q+2)+2)continue t;g=v}for(var N=\"\",E=B;E<=g;E++)N+=o[E]+\" \";switch(N=\" \"==N.substr(N.length-1)?N.substr(0,N.length-1):N,w=y(N,t,a).width,t.textAlign){case\"right\":d=u-w-2;break;case\"center\":d=(u-w)/2;break;case\"left\":default:d=2}A+=s(d)+\" \"+s(p)+\" Td\\n\",A+=\"(\"+i(N)+\") Tj\\n\",A+=-s(d)+\" 0 Td\\n\",p=-(a+2),w=0,B=g+1,Q++,m=\"\"}break}return n.text=A,n.fontSize=a,n},y=function(t,A,r){var n=e.internal.getFont(A.fontName,A.fontStyle),i=e.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},v={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},F=function(){e.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=e.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var A in t)if(t.hasOwnProperty(A)){var r=t[A];r.objId=void 0,r.hasAnnotation&&U.call(e,r)}},U=function(t){var A={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===A.type&&t.object===A.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(A)},N=function(){if(void 0===e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");e.internal.write(\"/AcroForm \"+e.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")},E=function(){e.internal.events.unsubscribe(e.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete e.internal.acroformPlugin.acroFormDictionaryRoot._eventID,e.internal.acroformPlugin.printedOut=!0},b=function(t){var A=!t;for(var r in t||(e.internal.newObjectDeferredBegin(e.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),e.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||e.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(r)){var i=t[r],o=[],s=i.Rect;if(i.Rect&&(i.Rect=m.call(this,i.Rect)),e.internal.newObjectDeferredBegin(i.objId,!0),i.DA=G.createDefaultAppearanceStream(i),\"object\"===n(i)&&\"function\"==typeof i.getKeyValueListForStream&&(o=i.getKeyValueListForStream()),i.Rect=s,i.hasAppearanceStream&&!i.appearanceStreamContent){var a=Q.call(this,i);o.push({key:\"AP\",value:\"<>\"}),e.internal.acroformPlugin.xForms.push(a)}if(i.appearanceStreamContent){var c=\"\";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var l=i.appearanceStreamContent[u];if(c+=\"/\"+u+\" \",c+=\"<<\",1<=Object.keys(l).length||Array.isArray(l))for(var r in l){var h;l.hasOwnProperty(r)&&(\"function\"==typeof(h=l[r])&&(h=h.call(this,i)),c+=\"/\"+r+\" \"+h+\" \",0<=e.internal.acroformPlugin.xForms.indexOf(h)||e.internal.acroformPlugin.xForms.push(h))}else\"function\"==typeof(h=l)&&(h=h.call(this,i)),c+=\"/\"+r+\" \"+h,0<=e.internal.acroformPlugin.xForms.indexOf(h)||e.internal.acroformPlugin.xForms.push(h);c+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+c+\">>\"})}e.internal.putStream({additionalKeyValues:o}),e.internal.out(\"endobj\")}A&&L.call(this,e.internal.acroformPlugin.xForms)},L=function(t){for(var A in t)if(t.hasOwnProperty(A)){var r=A,i=t[A];e.internal.newObjectDeferredBegin(i&&i.objId,!0),\"object\"===n(i)&&\"function\"==typeof i.putStream&&i.putStream(),delete t[r]}},H=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(e=this,R.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(v)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");r=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new T,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",E),e.internal.events.subscribe(\"buildDocument\",F),e.internal.events.subscribe(\"putCatalog\",N),e.internal.events.subscribe(\"postPutPages\",b),e.internal.acroformPlugin.isInitialized=!0}},x=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var A=\"[\",e=0;e>\"),e.join(\"\\n\")}},set:function(t){\"object\"===n(t)&&(A=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return A.CA||\"\"},set:function(t){\"string\"==typeof t&&(A.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(A){t=\"/\"+A}})};c(D,R);var k=function(){D.call(this),this.pushButton=!0};c(k,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(A){t=void 0!==A?A:[]}})};c(z,D);var j=function(){var t,A;R.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return A},set:function(t){A=t}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t,A=[];for(t in A.push(\"<<\"),r)A.push(\"/\"+t+\" (\"+r[t]+\")\");return A.push(\">>\"),A.join(\"\\n\")},set:function(t){\"object\"===n(t)&&(r=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}}),this.optionName=name,this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=G.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};c(j,R),z.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var A in this.Kids)if(this.Kids.hasOwnProperty(A)){var e=this.Kids[A];e.appearanceStreamContent=t.createAppearanceStream(e.optionName),e.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var A=new j;return A.Parent=this,A.optionName=t,this.Kids.push(A),J.call(this,A),A};var q=function(){D.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=G.CheckBox.createAppearanceStream()};c(q,D);var V=function(){R.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,13):this.Ff=w(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,21):this.Ff=w(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,23):this.Ff=w(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,24):this.Ff=w(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,25):this.Ff=w(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,26):this.Ff=w(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(A){Number.isInteger(A)&&(t=A)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};c(V,R);var X=function(){V.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,14):this.Ff=w(this.Ff,14)}}),this.password=!0};c(X,V);var G={CheckBox:{createAppearanceStream:function(){return{N:{On:G.CheckBox.YesNormal},D:{On:G.CheckBox.YesPushDown,Off:G.CheckBox.OffPushDown}}},YesPushDown:function(t){var A=h(t),r=[],n=e.internal.getFont(t.fontName,t.fontStyle).id,i=e.__private__.encodeColorString(t.color),o=C(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+s(o.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(o.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),A.stream=r.join(\"\\n\"),A},YesNormal:function(t){var A=h(t),r=e.internal.getFont(t.fontName,t.fontStyle).id,n=e.__private__.encodeColorString(t.color),i=[],o=G.internal.getHeight(t),a=G.internal.getWidth(t),c=C(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+s(a)+\" \"+s(o)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+s(a-1)+\" \"+s(o-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+s(c.fontSize)+\" Tf \"+n),i.push(c.text),i.push(\"ET\"),i.push(\"Q\"),A.stream=i.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[];return e.push(\"0.749023 g\"),e.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),e.push(\"f\"),A.stream=e.join(\"\\n\"),A}},RadioButton:{Circle:{createAppearanceStream:function(t){var A={D:{Off:G.RadioButton.Circle.OffPushDown},N:{}};return A.N[t]=G.RadioButton.Circle.YesNormal,A.D[t]=G.RadioButton.Circle.YesPushDown,A},getCA:function(){return\"l\"},YesNormal:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var n=G.internal.Bezier_C,i=Number((r*n).toFixed(5));return e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(r+\" 0 m\"),e.push(r+\" \"+i+\" \"+i+\" \"+r+\" 0 \"+r+\" c\"),e.push(\"-\"+i+\" \"+r+\" -\"+r+\" \"+i+\" -\"+r+\" 0 c\"),e.push(\"-\"+r+\" -\"+i+\" -\"+i+\" -\"+r+\" 0 -\"+r+\" c\"),e.push(i+\" -\"+r+\" \"+r+\" -\"+i+\" \"+r+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},YesPushDown:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5)),o=Number((r*G.internal.Bezier_C).toFixed(5));return e.push(\"0.749023 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(n+\" 0 m\"),e.push(n+\" \"+i+\" \"+i+\" \"+n+\" 0 \"+n+\" c\"),e.push(\"-\"+i+\" \"+n+\" -\"+n+\" \"+i+\" -\"+n+\" 0 c\"),e.push(\"-\"+n+\" -\"+i+\" -\"+i+\" -\"+n+\" 0 -\"+n+\" c\"),e.push(i+\" -\"+n+\" \"+n+\" -\"+i+\" \"+n+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),e.push(\"0 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(r+\" 0 m\"),e.push(r+\" \"+o+\" \"+o+\" \"+r+\" 0 \"+r+\" c\"),e.push(\"-\"+o+\" \"+r+\" -\"+r+\" \"+o+\" -\"+r+\" 0 c\"),e.push(\"-\"+r+\" -\"+o+\" -\"+o+\" -\"+r+\" 0 -\"+r+\" c\"),e.push(o+\" -\"+r+\" \"+r+\" -\"+o+\" \"+r+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5));return e.push(\"0.749023 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(n+\" 0 m\"),e.push(n+\" \"+i+\" \"+i+\" \"+n+\" 0 \"+n+\" c\"),e.push(\"-\"+i+\" \"+n+\" -\"+n+\" \"+i+\" -\"+n+\" 0 c\"),e.push(\"-\"+n+\" -\"+i+\" -\"+i+\" -\"+n+\" 0 -\"+n+\" c\"),e.push(i+\" -\"+n+\" \"+n+\" -\"+i+\" \"+n+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A}},Cross:{createAppearanceStream:function(t){var A={D:{Off:G.RadioButton.Cross.OffPushDown},N:{}};return A.N[t]=G.RadioButton.Cross.YesNormal,A.D[t]=G.RadioButton.Cross.YesPushDown,A},getCA:function(){return\"8\"},YesNormal:function(t){var A=h(t),e=[],r=G.internal.calculateCross(t);return e.push(\"q\"),e.push(\"1 1 \"+s(G.internal.getWidth(t)-2)+\" \"+s(G.internal.getHeight(t)-2)+\" re\"),e.push(\"W\"),e.push(\"n\"),e.push(s(r.x1.x)+\" \"+s(r.x1.y)+\" m\"),e.push(s(r.x2.x)+\" \"+s(r.x2.y)+\" l\"),e.push(s(r.x4.x)+\" \"+s(r.x4.y)+\" m\"),e.push(s(r.x3.x)+\" \"+s(r.x3.y)+\" l\"),e.push(\"s\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},YesPushDown:function(t){var A=h(t),e=G.internal.calculateCross(t),r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"q\"),r.push(\"1 1 \"+s(G.internal.getWidth(t)-2)+\" \"+s(G.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(s(e.x1.x)+\" \"+s(e.x1.y)+\" m\"),r.push(s(e.x2.x)+\" \"+s(e.x2.y)+\" l\"),r.push(s(e.x4.x)+\" \"+s(e.x4.y)+\" m\"),r.push(s(e.x3.x)+\" \"+s(e.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),A.stream=r.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[];return e.push(\"0.749023 g\"),e.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),e.push(\"f\"),A.stream=e.join(\"\\n\"),A}}},createDefaultAppearanceStream:function(t){var A=e.internal.getFont(t.fontName,t.fontStyle).id,r=e.__private__.encodeColorString(t.color);return\"/\"+A+\" \"+t.fontSize+\" Tf \"+r}};G.internal={Bezier_C:.551915024494,calculateCross:function(t){var A=G.internal.getWidth(t),e=G.internal.getHeight(t),r=Math.min(A,e);return{x1:{x:(A-r)/2,y:(e-r)/2+r},x2:{x:(A-r)/2+r,y:(e-r)/2},x3:{x:(A-r)/2,y:(e-r)/2},x4:{x:(A-r)/2+r,y:(e-r)/2+r}}}},G.internal.getWidth=function(t){var A=0;return\"object\"===n(t)&&(A=u(t.Rect[2])),A},G.internal.getHeight=function(t){var A=0;return\"object\"===n(t)&&(A=u(t.Rect[3])),A};var J=t.addField=function(t){if(H.call(this),!(t instanceof R))throw new Error(\"Invalid argument passed to jsPDF.addField.\");return function(t){e.internal.acroformPlugin.printedOut&&(e.internal.acroformPlugin.printedOut=!1,e.internal.acroformPlugin.acroFormDictionaryRoot=null),e.internal.acroformPlugin.acroFormDictionaryRoot||H.call(e),e.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=e.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==0)throw new Error(\"Invalid argument passed to jsPDF.addButton.\");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==0)throw new Error(\"Invalid argument passed to jsPDF.addTextField.\");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof O==0)throw new Error(\"Invalid argument passed to jsPDF.addChoiceField.\");return J.call(this,t)},\"object\"==n(A)&&void 0===A.ChoiceField&&void 0===A.ListBox&&void 0===A.ComboBox&&void 0===A.EditBox&&void 0===A.Button&&void 0===A.PushButton&&void 0===A.RadioButton&&void 0===A.CheckBox&&void 0===A.TextField&&void 0===A.PasswordField?(A.ChoiceField=O,A.ListBox=K,A.ComboBox=M,A.EditBox=P,A.Button=D,A.PushButton=k,A.RadioButton=z,A.CheckBox=q,A.TextField=V,A.PasswordField=X,A.AcroForm={Appearance:G}):console.warn(\"AcroForm-Classes are not populated into global-namespace, because the class-Names exist already.\"),t.AcroFormChoiceField=O,t.AcroFormListBox=K,t.AcroFormComboBox=M,t.AcroFormEditBox=P,t.AcroFormButton=D,t.AcroFormPushButton=k,t.AcroFormRadioButton=z,t.AcroFormCheckBox=q,t.AcroFormTextField=V,t.AcroFormPasswordField=X,t.AcroFormAppearance=G,t.AcroForm={ChoiceField:O,ListBox:K,ComboBox:M,EditBox:P,Button:D,PushButton:k,RadioButton:z,CheckBox:q,TextField:V,PasswordField:X,Appearance:G}})((window.tmp=dt).API,\"undefined\"!=typeof window&&window||void 0!==r&&r),\n/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * \n */\nfunction(t){var A=\"addImage_\",e={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},r=t.getImageFileTypeByImageData=function(A,r){var n,i;r=r||\"UNKNOWN\";var o,s,a,c=\"UNKNOWN\";for(a in t.isArrayBufferView(A)&&(A=t.arrayBufferToBinaryString(A)),e)for(o=e[a],n=0;n>\"}),\"trns\"in A&&A.trns.constructor==Array){for(var s=\"\",a=0,c=A.trns.length;a>18]+r[(258048&A)>>12]+r[(4032&A)>>6]+r[63&A];return 1==o?e+=r[(252&(A=n[s]))>>2]+r[(3&A)<<4]+\"==\":2==o&&(e+=r[(64512&(A=n[s]<<8|n[s+1]))>>10]+r[(1008&A)>>4]+r[(15&A)<<2]+\"=\"),e},t.createImageInfo=function(t,A,e,r,n,i,o,s,a,c,u,l,h){var f={alias:s,w:A,h:e,cs:r,bpc:n,i:o,data:t};return i&&(f.f=i),a&&(f.dp=a),c&&(f.trns=c),u&&(f.pal=u),l&&(f.smask=l),h&&(f.p=h),f},t.addImage=function(e,r,i,h,f,d,p,B,g){var w=\"\";if(\"string\"!=typeof r){var m=d;d=f,f=h,h=i,i=r,r=m}if(\"object\"===n(e)&&!c(e)&&\"imageData\"in e){var Q=e;e=Q.imageData,r=Q.format||r||\"UNKNOWN\",i=Q.x||i||0,h=Q.y||h||0,f=Q.w||f,d=Q.h||d,p=Q.alias||p,B=Q.compression||B,g=Q.rotation||Q.angle||g}var C=this.internal.getFilters();if(void 0===B&&-1!==C.indexOf(\"FlateEncode\")&&(B=\"SLOW\"),\"string\"==typeof e&&(e=unescape(e)),isNaN(i)||isNaN(h))throw console.error(\"jsPDF.addImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addImage\");var y,v,F,U,N,E,b,L=function(){var t=this.internal.collections[A+\"images\"];return t||(this.internal.collections[A+\"images\"]=t={},this.internal.events.subscribe(\"putResources\",o),this.internal.events.subscribe(\"putXobjectDict\",s)),t}.call(this);if(!((y=l(e,L))||(c(e)&&(e=u(e,r)),(null==(b=p)||0===b.length)&&(p=\"string\"==typeof(E=e)?t.sHashCode(E):t.isArrayBufferView(E)?t.sHashCode(t.arrayBufferToBinaryString(E)):null),y=l(p,L)))){if(this.isString(e)&&(\"\"!==(w=this.convertStringToImageData(e))||void 0!==(w=t.loadFile(e)))&&(e=w),r=this.getImageFileTypeByImageData(e,r),!a(r))throw new Error(\"addImage does not support files of type '\"+r+\"', please ensure that a plugin for '\"+r+\"' support is added.\");if(this.supportsArrayBuffer()&&(e instanceof Uint8Array||(v=e,e=this.binaryStringToUint8Array(e))),!(y=this[\"process\"+r.toUpperCase()](e,(N=0,(U=L)&&(N=Object.keys?Object.keys(U).length:function(t){var A=0;for(var e in t)t.hasOwnProperty(e)&&A++;return A}(U)),N),p,((F=B)&&\"string\"==typeof F&&(F=F.toUpperCase()),F in t.image_compression?F:t.image_compression.NONE),v)))throw new Error(\"An unknown error occurred whilst processing the image\")}return function(t,A,e,r,n,i,o,s){var a=function(t,A,e){return t||A||(A=t=-96),t<0&&(t=-1*e.w*72/t/this.internal.scaleFactor),A<0&&(A=-1*e.h*72/A/this.internal.scaleFactor),0===t&&(t=A*e.w/e.h),0===A&&(A=t*e.h/e.w),[t,A]}.call(this,e,r,n),c=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(e=a[0],r=a[1],o[i]=n,s){s*=Math.PI/180;var l=Math.cos(s),h=Math.sin(s),f=function(t){return t.toFixed(4)},d=[f(l),f(h),f(-1*h),f(l),0,0,\"cm\"]}this.internal.write(\"q\"),s?(this.internal.write([1,\"0\",\"0\",1,c(t),u(A+r),\"cm\"].join(\" \")),this.internal.write(d.join(\" \")),this.internal.write([c(e),\"0\",\"0\",c(r),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([c(e),\"0\",\"0\",c(r),c(t),u(A+r),\"cm\"].join(\" \")),this.internal.write(\"/I\"+n.i+\" Do\"),this.internal.write(\"Q\")}.call(this,i,h,f,d,y,y.i,L,g),this},t.convertStringToImageData=function(A){var e,r=\"\";if(this.isString(A)){var n;e=null!==(n=this.extractImageFromDataUrl(A))?n.data:A;try{r=atob(e)}catch(A){throw t.validateStringAsBase64(e)?new Error(\"atob-Error in jsPDF.convertStringToImageData \"+A.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertStringToImageData \")}}return r};var h=function(t,A){return t.subarray(A,A+5)};t.processJPEG=function(t,A,e,n,i,o){var s,a=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(s=function(t){var A;if(\"JPEG\"!==r(t))throw new Error(\"getJpegSize requires a binary string jpeg file\");for(var e=256*t.charCodeAt(4)+t.charCodeAt(5),n=4,i=t.length;n>\",c.content=B;var h=c.objId+\" 0 R\";B=\"<>\",u.content=B,this.internal.write(c.objId,\"0 R\",u.objId,\"0 R\");break;case\"freetext\":var f=\"/Rect [\"+o(a.bounds.x)+\" \"+s(a.bounds.y)+\" \"+o(a.bounds.x+a.bounds.w)+\" \"+s(a.bounds.y+a.bounds.h)+\"] \",d=a.color||\"#000000\";B=\"<>\",this.internal.write(B);break;case\"link\":if(a.options.name){var p=this.annotations._nameMap[a.options.name];a.options.pageNumber=p.page,a.options.top=p.y}else a.options.top||(a.options.top=0);f=\"/Rect [\"+o(a.x)+\" \"+s(a.y)+\" \"+o(a.x+a.w)+\" \"+s(a.y+a.h)+\"] \";var B=\"\";if(a.options.url)B=\"<>\";else if(a.options.pageNumber)switch(B=\"<>\",this.internal.write(B))}}this.internal.write(\"]\")}}]),o.createAnnotation=function(t){var A=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":A.pageContext.annotations.push(t)}},o.link=function(t,A,e,r,n){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:A,w:e,h:r,options:n,type:\"link\"})},o.textWithLink=function(t,A,e,r){var n=this.getTextWidth(t),i=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,A,e),e+=.2*i,this.link(A,e-i,n,i,r),n},o.getTextWidth=function(t){var A=this.internal.getFontSize();return this.getStringUnitWidth(t)*A/this.internal.scaleFactor},\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi \n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var A={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},e={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var i=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==A[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&i(t)&&A[t.charCodeAt(0)].length<=2},a=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&0<=n.indexOf(t.charCodeAt(0))},c=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&i(t)&&1<=A[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&i(t)&&2<=A[t.charCodeAt(0)].length}),u=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&i(t)&&3<=A[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&i(t)&&4==A[t.charCodeAt(0)].length}),l=t.__arabicParser__.resolveLigatures=function(t){var A=0,r=e,n=0,i=\"\",o=0;for(A=0;A>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+A+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\ns=dt.API,(a=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(A){t=A}});var A=150;Object.defineProperty(this,\"width\",{get:function(){return A},set:function(t){A=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=A+1)}});var e=300;Object.defineProperty(this,\"height\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=e+1)}});var r=[];Object.defineProperty(this,\"childNodes\",{get:function(){return r},set:function(t){r=t}});var n={};Object.defineProperty(this,\"style\",{get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"parentNode\",{get:function(){return!1}})}).prototype.getContext=function(t,A){var e;if(\"2d\"!==(t=t||\"2d\"))return null;for(e in A)this.pdf.context2d.hasOwnProperty(e)&&(this.pdf.context2d[e]=A[e]);return(this.pdf.context2d._canvas=this).pdf.context2d},a.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},s.events.push([\"initialized\",function(){this.canvas=new a,this.canvas.pdf=this}]),\n/** \n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * \n * ====================================================================\n */\nc=dt.API,l={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},h=1,f=function(t,A,e,r,n){l={x:t,y:A,w:e,h:r,ln:n}},d=function(){return l},p={left:0,top:0,bottom:0},c.setHeaderFunction=function(t){u=t},c.getTextDimensions=function(t,A){var e=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(A=A||{}).scaleFactor||this.internal.scaleFactor),n=0,i=0,o=0;if(\"string\"==typeof t)0!=(n=this.getStringUnitWidth(t)*e)&&(i=1);else{if(\"[object Array]\"!==Object.prototype.toString.call(t))throw new Error(\"getTextDimensions expects text-parameter to be of type String or an Array of Strings.\");for(var s=0;s=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(),a=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(i,!0)),A=d().y+d().h,a&&(A=23)}if(void 0!==n[0])if(this.printingHeaderRow?this.rect(t,A,e,r,\"FD\"):this.rect(t,A,e,r),\"right\"===o){n instanceof Array||(n=[n]);for(var u=0;u=2*Math.PI&&(r=0,n=2*Math.PI),this.path.push({type:\"arc\",x:t,y:A,radius:e,startAngle:r,endAngle:n,counterclockwise:i})},c.prototype.arcTo=function(t,A,e,r,n){throw new Error(\"arcTo not implemented.\")},c.prototype.rect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,A),this.lineTo(t+e,A),this.lineTo(t+e,A+r),this.lineTo(t,A+r),this.lineTo(t,A),this.lineTo(t+e,A),this.lineTo(t,A)},c.prototype.fillRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!l.call(this)){var n={};\"butt\"!==this.lineCap&&(n.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(n.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,A,e,r),this.fill(),n.hasOwnProperty(\"lineCap\")&&(this.lineCap=n.lineCap),n.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=n.lineJoin)}},c.prototype.strokeRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");h.call(this)||(this.beginPath(),this.rect(t,A,e,r),this.stroke())},c.prototype.clearRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,A,e,r))},c.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var A=this.pdf.internal.getCurrentPageInfo().pageNumber,e=0;e\"},w=function(t){var A,e,r,n,i,o=String,s=\"length\",a=\"charCodeAt\",c=\"slice\",u=\"replace\";for(t[c](-2),t=t[c](0,-2)[u](/\\s/g,\"\")[u](\"z\",\"!!!!!\"),r=[],n=0,i=(t+=A=\"uuuuu\"[c](t[s]%5||5))[s];n>24,255&e>>16,255&e>>8,255&e);return function(t,e){for(var r=A[s];0\"},Q=function(t){var A=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===A.test(t))return\"\";for(var e=\"\",r=0;r>8&255,e>>16&255,e>>24&255]),t.length+2),String.fromCharCode.apply(null,n)},B.processDataByFilters=function(t,A){var e=0,r=t||\"\",n=[];for(\"string\"==typeof(A=A||[])&&(A=[A]),e=0;e>\"),this.internal.out(\"endobj\"),L=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+H+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==b&&void 0!==L&&this.internal.out(\"/Names <>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */(x=dt.API).events.push([\"postPutResources\",function(){var t=this,A=/^(\\d+) 0 obj$/;if(0> endobj\")}var l=t.internal.newObject();for(t.internal.write(\"<< /Names [ \"),r=0;r>\",\"endobj\"),t.internal.newObject(),t.internal.write(\"<< /Dests \"+l+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),x.events.push([\"putCatalog\",function(){0> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,A){for(var e=0;e>>24&255,h[l++]=s>>>16&255,h[l++]=s>>>8&255,h[l++]=255&s,S.arrayBufferToBinaryString(h)},T=function(t,A){var e=Math.LOG2E*Math.log(32768)-8<<4|8,r=e<<8;return r|=Math.min(3,(A-1&255)>>1)<<6,r|=0,[e,255&(r+=31-r%31)]},R=function(t,A){for(var e,r=1,n=0,i=t.length,o=0;0>>0},O=function(t,A,e,r){for(var n,i,o,s=t.length/A,a=new Uint8Array(t.length+s),c=j(),u=0;u>>1)&255;return i},k=function(t,A,e){var r,n,i,o,s=[],a=0,c=t.length;for(s[0]=4;a>>d&255,d+=i.bits;g[m]=C>>>d&255}if(16===i.bits){p=(N=new Uint32Array(i.decodePixels().buffer)).length,B=new Uint8Array(p*(32/i.pixelBitlength)*i.colors),g=new Uint8Array(p*(32/i.pixelBitlength));for(var C,y=1>>0&255,y&&(B[Q++]=C>>>16&255,C=N[m++],B[Q++]=C>>>0&255),g[v++]=C>>>16&255;f=8}r!==S.image_compression.NONE&&I()?(t=_(B,i.width*i.colors,i.colors,r),u=_(g,i.width,1,r)):(t=B,u=g,h=null)}if(3===i.colorType&&(l=this.color_spaces.INDEXED,c=i.palette,i.transparency.indexed)){var F=i.transparency.indexed,U=0;for(m=0,p=F.length;mr&&(n.push(t.slice(a,i)),s=0,a=i),s+=A[i],i++;return a!==i&&n.push(t.slice(a,i)),n},tt=function(t,A,e){e||(e={});var r,n,i,o,s,a,c=[],u=[c],l=e.textIndent||0,h=0,f=0,d=t.split(\" \"),p=W.apply(this,[\" \",e])[0];if(a=-1===e.lineIndent?d[0].length+2:e.lineIndent||0){var B=Array(a).join(\" \"),g=[];d.map((function(t){1<(t=t.split(/\\s*\\n/)).length?g=g.concat(t.map((function(t,A){return(A&&t.length?\"\\n\":\"\")+t}))):g.push(t[0])})),d=g,a=Z.apply(this,[B,e])}for(i=0,o=d.length;i>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=e,this},at=dt.API,lt=ut=ct=\"\",at.addMetadata=function(t,A){return ut=A||\"http://jspdf.default.namespaceuri/\",ct=t,this.internal.events.subscribe(\"postPutResources\",(function(){if(ct){var t='',A=unescape(encodeURIComponent('')),e=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(ct)),n=unescape(encodeURIComponent(\"\")),i=unescape(encodeURIComponent(\"\")),o=e.length+r.length+n.length+A.length+i.length;lt=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(A+e+r+n+i),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")}else lt=\"\"})),this.internal.events.subscribe(\"putCatalog\",(function(){lt&&this.internal.write(\"/Metadata \"+lt+\" 0 R\")})),this},function(t,A){var e=t.API,r=e.pdfEscape16=function(t,A){for(var e,r=A.metadata.Unicode.widths,n=[\"\",\"0\",\"00\",\"000\",\"0000\"],i=[\"\"],o=0,s=t.length;o> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\",r=[],o=0,s=(e=Object.keys(t).sort((function(t,A){return t-A}))).length;o<\"+n+\">\");return r.length&&(i+=\"\\n\"+r.length+\" beginbfchar\\n\"+r.join(\"\\n\")+\"\\nendbfchar\\n\"),i+\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(A){!function(A,e,r,i){if(A.metadata instanceof t.API.TTFFont&&\"Identity-H\"===A.encoding){for(var o=A.metadata.Unicode.widths,s=A.metadata.subset.encode(A.metadata.glyIdsUsed,1),a=\"\",c=0;c>\"),e(\"endobj\");var f=r();e(\"<<\"),e(\"/Type /Font\"),e(\"/BaseFont /\"+A.fontName),e(\"/FontDescriptor \"+h+\" 0 R\"),e(\"/W \"+t.API.PDFObject.convert(o)),e(\"/CIDToGIDMap /Identity\"),e(\"/DW 1000\"),e(\"/Subtype /CIDFontType2\"),e(\"/CIDSystemInfo\"),e(\"<<\"),e(\"/Supplement 0\"),e(\"/Registry (Adobe)\"),e(\"/Ordering (\"+A.encoding+\")\"),e(\">>\"),e(\">>\"),e(\"endobj\"),A.objectNumber=r(),e(\"<<\"),e(\"/Type /Font\"),e(\"/Subtype /Type0\"),e(\"/ToUnicode \"+l+\" 0 R\"),e(\"/BaseFont /\"+A.fontName),e(\"/Encoding /\"+A.encoding),e(\"/DescendantFonts [\"+f+\" 0 R]\"),e(\">>\"),e(\"endobj\"),A.isAlreadyPutted=!0}}(A.font,A.out,A.newObject,A.putStream)}]),e.events.push([\"putFont\",function(A){!function(A,e,r,i){if(A.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===A.encoding){A.metadata.Unicode.widths;for(var o=A.metadata.rawData,s=\"\",a=0;a>\"),e(\"endobj\"),A.objectNumber=r(),a=0;a>\"),e(\"endobj\"),A.isAlreadyPutted=!0}}(A.font,A.out,A.newObject,A.putStream)}]);var i=function(t){var A,e,n=t.text||\"\",i=t.x,o=t.y,s=t.options||{},a=t.mutex||{},c=a.pdfEscape,u=a.activeFontKey,l=a.fonts,h=(a.activeFontSize,\"\"),f=0,d=\"\",p=l[e=u].encoding;if(\"Identity-H\"!==l[e].encoding)return{text:n,x:i,y:o,options:s,mutex:a};for(d=n,e=u,\"[object Array]\"===Object.prototype.toString.call(n)&&(d=n[0]),f=0;fa-c.top-c.bottom&&r.pagesplit){var d=function(t,A,e,n,i){var o=document.createElement(\"canvas\");o.height=i,o.width=n;var s=o.getContext(\"2d\");return s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.fillStyle=r.backgroundColor||\"#ffffff\",s.fillRect(0,0,n,i),s.drawImage(t,A,e,n,i,0,0,n,i),o},p=function(){for(var r,i,u=0,p=0,B={},g=!1;;){var w;if(p=0,B.top=0!==u?c.top:e,B.left=0!==u?c.left:A,g=(s-c.left-c.right)*o=t.width)break;this.addPage()}else m=[w=d(t,0,u,r,i),B.left,B.top,w.width/o,w.height/o,h,null,f],this.addImage.apply(this,m);if((u+=i)>=t.height)break;this.addPage()}n(l,u,null,m)}.bind(this);if(\"CANVAS\"===t.nodeName){var B=new Image;B.onload=p,B.src=t.toDataURL(\"image/png\"),t=B}else p()}else{var g=Math.random().toString(35),w=[t,A,e,l,u,h,g,f];this.addImage.apply(this,w),n(l,u,g,w)}}.bind(this),\"undefined\"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if(\"undefined\"==typeof rasterizeHTML)return null;var c=\"drawDocument\";return\"string\"==typeof t&&(c=/^http/.test(t)?\"drawURL\":\"drawHTML\"),r.width=r.width||s*o,rasterizeHTML[c](t,void 0,r).then((function(t){r.onrendered(t.image)}),(function(t){n(null,t)}))\n/**\n * jsPDF fromHTML plugin. BETA stage. API subject to change. Needs browser\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Daniel Husar, https://github.com/danielhusar\n * 2014 Wolfgang Gassler, https://github.com/woolfg\n * 2014 Steven Spungin, https://github.com/flamenco\n *\n * @license\n * \n * ====================================================================\n */},function(t){var A,e,r,i,o,s,a,c,u,l,h,f,d,p,B,g,w,m,Q,C;A=function(){return function(A){return t.prototype=A,new t};function t(){}}(),l=function(t){var A,e,r,n,i,o,s;for(e=0,r=t.length,A=void 0,o=n=!1;!n&&e!==r;)(A=t[e]=t[e].trimLeft())&&(n=!0),e++;for(e=r-1;r&&!o&&-1!==e;)(A=t[e]=t[e].trimRight())&&(o=!0),e--;for(i=/\\s+$/g,s=!0,e=0;e!==r;)\"\\u2028\"!=t[e]&&(A=t[e].replace(/\\s+/g,\" \"),s&&(A=A.trimLeft()),A&&(s=i.test(A)),t[e]=A),e++;return t},f=function(t){var A,e,n;for(A=void 0,e=(n=t.split(\",\")).shift();!A&&e;)A=r[e.trim().toLowerCase()],e=n.shift();return A},d=function(t){var A;return-1<(t=\"auto\"===t?\"0px\":t).indexOf(\"em\")&&!isNaN(Number(t.replace(\"em\",\"\")))&&(t=18.719*Number(t.replace(\"em\",\"\"))+\"px\"),-1r.pdf.margins_doc.top&&(r.pdf.addPage(),r.y=r.pdf.margins_doc.top,r.executeWatchFunctions(o));var L=u(o),H=r.x,x=12/r.pdf.internal.scaleFactor,S=(L[\"margin-left\"]+L[\"padding-left\"])*x,I=(L[\"margin-right\"]+L[\"padding-right\"])*x,_=(L[\"margin-top\"]+L[\"padding-top\"])*x,T=(L[\"margin-bottom\"]+L[\"padding-bottom\"])*x;void 0!==L.float&&\"right\"===L.float?H+=r.settings.width-o.width-I:H+=S,r.pdf.addImage(E,H,r.y+_,o.width,o.height),E=void 0,\"right\"===L.float||\"left\"===L.float?(r.watchFunctions.push(function(t,A,e,n){return r.y>=A?(r.x+=t,r.settings.width+=e,!0):!!(n&&1===n.nodeType&&!y[n.nodeName]&&r.x+n.width>r.pdf.margins_doc.left+r.pdf.margins_doc.width)&&(r.x+=t,r.y=A,r.settings.width+=e,!0)}.bind(this,\"left\"===L.float?-o.width-S-I:0,r.y+o.height+_+T,o.width)),r.watchFunctions.push(function(t,A,e){return!(r.y]*?>/gi,\"\"),u=\"jsPDFhtmlText\"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(c=document.createElement(\"div\")).style.cssText=\"position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;\",c.innerHTML='',i=r.open();if(null!==i&&i.document.write(n),i||\"undefined\"==typeof safari)return i;case\"datauri\":case\"dataurl\":return r.document.location.href=\"data:application/pdf;filename=\"+A.filename+\";base64,\"+btoa(e);default:return null}}).foo=function(){try{return T.apply(this,arguments)}catch(e){var t=e.stack||\"\";~t.indexOf(\" at \")&&(t=t.split(\" at \")[1]);var A=\"Error in function \"+t.split(\"\\n\")[0].split(\"<\")[0]+\": \"+e.message;if(!r.console)throw new Error(A);r.console.error(A,e),r.alert&&alert(A)}},(T.foo.bar=T).foo),Rt=function(t){return!0===Array.isArray(ot)&&-1\":\")\"),At=1):(Y=Gt(A),Z=Jt(e),$=(c?\"<\":\"(\")+y[W]+(c?\">\":\")\")),void 0!==z&&void 0!==z[W]&&(et=z[W]+\" Tw\\n\"),0!==L.length&&0===W?t.push(et+L.join(\" \")+\" \"+Y.toFixed(2)+\" \"+Z.toFixed(2)+\" Tm\\n\"+$):1===At||0===At&&0===W?t.push(et+Y.toFixed(2)+\" \"+Z.toFixed(2)+\" Td\\n\"+$):t.push(et+$);t=0===At?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var rt=\"BT\\n/\"+I+\" \"+q+\" Tf\\n\"+(q*l).toFixed(2)+\" TL\\n\"+tA+\"\\n\";return rt+=u,rt+=t,D(rt+=\"ET\"),h[I]=!0,f},f.__private__.lstext=f.lstext=function(t,A,e,r){return console.warn(\"jsPDF.lstext is deprecated\"),this.text(t,A,e,{charSpace:r})},f.__private__.clip=f.clip=function(t){D(\"evenodd\"===t?\"W*\":\"W\"),D(\"n\")},f.__private__.clip_fixed=f.clip_fixed=function(t){console.log(\"clip_fixed is deprecated\"),f.clip(t)};var Pt=f.__private__.isValidStyle=function(t){var A=!1;return-1!==[void 0,null,\"S\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\"].indexOf(t)&&(A=!0),A},Dt=f.__private__.getStyle=function(t){var A=\"S\";return\"F\"===t?A=\"f\":\"FD\"===t||\"DF\"===t?A=\"B\":\"f\"!==t&&\"f*\"!==t&&\"B\"!==t&&\"B*\"!==t||(A=t),A};f.__private__.line=f.line=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw new Error(\"Invalid arguments passed to jsPDF.line\");return this.lines([[e-t,r-A]],t,A)},f.__private__.lines=f.lines=function(t,A,e,r,n,i){var o,s,a,c,u,l,h,f,d,p,B,g;if(\"number\"==typeof t&&(g=e,e=A,A=t,t=g),r=r||[1,1],i=i||!1,isNaN(A)||isNaN(e)||!Array.isArray(t)||!Array.isArray(r)||!Pt(n)||\"boolean\"!=typeof i)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(D(Q(Gt(A))+\" \"+Q(Jt(e))+\" m \"),o=r[0],s=r[1],c=t.length,p=A,B=e,a=0;a=o.length-1;if(F&&!U){m+=\" \";continue}if(F||U){if(U)g=v;else if(t.multiline&&c<(h+2)*(Q+2)+2)continue t}else{if(!t.multiline)continue t;if(c<(h+2)*(Q+2)+2)continue t;g=v}for(var N=\"\",E=B;E<=g;E++)N+=o[E]+\" \";switch(N=\" \"==N.substr(N.length-1)?N.substr(0,N.length-1):N,w=y(N,t,a).width,t.textAlign){case\"right\":d=u-w-2;break;case\"center\":d=(u-w)/2;break;case\"left\":default:d=2}A+=s(d)+\" \"+s(p)+\" Td\\n\",A+=\"(\"+i(N)+\") Tj\\n\",A+=-s(d)+\" 0 Td\\n\",p=-(a+2),w=0,B=g+1,Q++,m=\"\"}break}return n.text=A,n.fontSize=a,n},y=function(t,A,r){var n=e.internal.getFont(A.fontName,A.fontStyle),i=e.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},v={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},F=function(){e.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=e.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var A in t)if(t.hasOwnProperty(A)){var r=t[A];r.objId=void 0,r.hasAnnotation&&U.call(e,r)}},U=function(t){var A={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===A.type&&t.object===A.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(A)},N=function(){if(void 0===e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");e.internal.write(\"/AcroForm \"+e.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")},E=function(){e.internal.events.unsubscribe(e.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete e.internal.acroformPlugin.acroFormDictionaryRoot._eventID,e.internal.acroformPlugin.printedOut=!0},b=function(t){var A=!t;for(var r in t||(e.internal.newObjectDeferredBegin(e.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),e.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||e.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(r)){var i=t[r],o=[],s=i.Rect;if(i.Rect&&(i.Rect=m.call(this,i.Rect)),e.internal.newObjectDeferredBegin(i.objId,!0),i.DA=G.createDefaultAppearanceStream(i),\"object\"===n(i)&&\"function\"==typeof i.getKeyValueListForStream&&(o=i.getKeyValueListForStream()),i.Rect=s,i.hasAppearanceStream&&!i.appearanceStreamContent){var a=Q.call(this,i);o.push({key:\"AP\",value:\"<>\"}),e.internal.acroformPlugin.xForms.push(a)}if(i.appearanceStreamContent){var c=\"\";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var l=i.appearanceStreamContent[u];if(c+=\"/\"+u+\" \",c+=\"<<\",1<=Object.keys(l).length||Array.isArray(l))for(var r in l){var h;l.hasOwnProperty(r)&&(\"function\"==typeof(h=l[r])&&(h=h.call(this,i)),c+=\"/\"+r+\" \"+h+\" \",0<=e.internal.acroformPlugin.xForms.indexOf(h)||e.internal.acroformPlugin.xForms.push(h))}else\"function\"==typeof(h=l)&&(h=h.call(this,i)),c+=\"/\"+r+\" \"+h,0<=e.internal.acroformPlugin.xForms.indexOf(h)||e.internal.acroformPlugin.xForms.push(h);c+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+c+\">>\"})}e.internal.putStream({additionalKeyValues:o}),e.internal.out(\"endobj\")}A&&L.call(this,e.internal.acroformPlugin.xForms)},L=function(t){for(var A in t)if(t.hasOwnProperty(A)){var r=A,i=t[A];e.internal.newObjectDeferredBegin(i&&i.objId,!0),\"object\"===n(i)&&\"function\"==typeof i.putStream&&i.putStream(),delete t[r]}},H=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(e=this,R.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(v)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");r=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new T,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",E),e.internal.events.subscribe(\"buildDocument\",F),e.internal.events.subscribe(\"putCatalog\",N),e.internal.events.subscribe(\"postPutPages\",b),e.internal.acroformPlugin.isInitialized=!0}},x=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var A=\"[\",e=0;e>\"),e.join(\"\\n\")}},set:function(t){\"object\"===n(t)&&(A=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return A.CA||\"\"},set:function(t){\"string\"==typeof t&&(A.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(A){t=\"/\"+A}})};c(D,R);var k=function(){D.call(this),this.pushButton=!0};c(k,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(A){t=void 0!==A?A:[]}})};c(z,D);var j=function(){var t,A;R.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return A},set:function(t){A=t}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t,A=[];for(t in A.push(\"<<\"),r)A.push(\"/\"+t+\" (\"+r[t]+\")\");return A.push(\">>\"),A.join(\"\\n\")},set:function(t){\"object\"===n(t)&&(r=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}}),this.optionName=name,this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=G.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};c(j,R),z.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var A in this.Kids)if(this.Kids.hasOwnProperty(A)){var e=this.Kids[A];e.appearanceStreamContent=t.createAppearanceStream(e.optionName),e.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var A=new j;return A.Parent=this,A.optionName=t,this.Kids.push(A),J.call(this,A),A};var q=function(){D.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=G.CheckBox.createAppearanceStream()};c(q,D);var V=function(){R.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,13):this.Ff=w(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,21):this.Ff=w(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,23):this.Ff=w(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,24):this.Ff=w(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,25):this.Ff=w(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,26):this.Ff=w(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(A){Number.isInteger(A)&&(t=A)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};c(V,R);var X=function(){V.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,14):this.Ff=w(this.Ff,14)}}),this.password=!0};c(X,V);var G={CheckBox:{createAppearanceStream:function(){return{N:{On:G.CheckBox.YesNormal},D:{On:G.CheckBox.YesPushDown,Off:G.CheckBox.OffPushDown}}},YesPushDown:function(t){var A=h(t),r=[],n=e.internal.getFont(t.fontName,t.fontStyle).id,i=e.__private__.encodeColorString(t.color),o=C(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+s(o.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(o.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),A.stream=r.join(\"\\n\"),A},YesNormal:function(t){var A=h(t),r=e.internal.getFont(t.fontName,t.fontStyle).id,n=e.__private__.encodeColorString(t.color),i=[],o=G.internal.getHeight(t),a=G.internal.getWidth(t),c=C(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+s(a)+\" \"+s(o)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+s(a-1)+\" \"+s(o-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+s(c.fontSize)+\" Tf \"+n),i.push(c.text),i.push(\"ET\"),i.push(\"Q\"),A.stream=i.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[];return e.push(\"0.749023 g\"),e.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),e.push(\"f\"),A.stream=e.join(\"\\n\"),A}},RadioButton:{Circle:{createAppearanceStream:function(t){var A={D:{Off:G.RadioButton.Circle.OffPushDown},N:{}};return A.N[t]=G.RadioButton.Circle.YesNormal,A.D[t]=G.RadioButton.Circle.YesPushDown,A},getCA:function(){return\"l\"},YesNormal:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var n=G.internal.Bezier_C,i=Number((r*n).toFixed(5));return e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(r+\" 0 m\"),e.push(r+\" \"+i+\" \"+i+\" \"+r+\" 0 \"+r+\" c\"),e.push(\"-\"+i+\" \"+r+\" -\"+r+\" \"+i+\" -\"+r+\" 0 c\"),e.push(\"-\"+r+\" -\"+i+\" -\"+i+\" -\"+r+\" 0 -\"+r+\" c\"),e.push(i+\" -\"+r+\" \"+r+\" -\"+i+\" \"+r+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},YesPushDown:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5)),o=Number((r*G.internal.Bezier_C).toFixed(5));return e.push(\"0.749023 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(n+\" 0 m\"),e.push(n+\" \"+i+\" \"+i+\" \"+n+\" 0 \"+n+\" c\"),e.push(\"-\"+i+\" \"+n+\" -\"+n+\" \"+i+\" -\"+n+\" 0 c\"),e.push(\"-\"+n+\" -\"+i+\" -\"+i+\" -\"+n+\" 0 -\"+n+\" c\"),e.push(i+\" -\"+n+\" \"+n+\" -\"+i+\" \"+n+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),e.push(\"0 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(r+\" 0 m\"),e.push(r+\" \"+o+\" \"+o+\" \"+r+\" 0 \"+r+\" c\"),e.push(\"-\"+o+\" \"+r+\" -\"+r+\" \"+o+\" -\"+r+\" 0 c\"),e.push(\"-\"+r+\" -\"+o+\" -\"+o+\" -\"+r+\" 0 -\"+r+\" c\"),e.push(o+\" -\"+r+\" \"+r+\" -\"+o+\" \"+r+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5));return e.push(\"0.749023 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(n+\" 0 m\"),e.push(n+\" \"+i+\" \"+i+\" \"+n+\" 0 \"+n+\" c\"),e.push(\"-\"+i+\" \"+n+\" -\"+n+\" \"+i+\" -\"+n+\" 0 c\"),e.push(\"-\"+n+\" -\"+i+\" -\"+i+\" -\"+n+\" 0 -\"+n+\" c\"),e.push(i+\" -\"+n+\" \"+n+\" -\"+i+\" \"+n+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A}},Cross:{createAppearanceStream:function(t){var A={D:{Off:G.RadioButton.Cross.OffPushDown},N:{}};return A.N[t]=G.RadioButton.Cross.YesNormal,A.D[t]=G.RadioButton.Cross.YesPushDown,A},getCA:function(){return\"8\"},YesNormal:function(t){var A=h(t),e=[],r=G.internal.calculateCross(t);return e.push(\"q\"),e.push(\"1 1 \"+s(G.internal.getWidth(t)-2)+\" \"+s(G.internal.getHeight(t)-2)+\" re\"),e.push(\"W\"),e.push(\"n\"),e.push(s(r.x1.x)+\" \"+s(r.x1.y)+\" m\"),e.push(s(r.x2.x)+\" \"+s(r.x2.y)+\" l\"),e.push(s(r.x4.x)+\" \"+s(r.x4.y)+\" m\"),e.push(s(r.x3.x)+\" \"+s(r.x3.y)+\" l\"),e.push(\"s\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},YesPushDown:function(t){var A=h(t),e=G.internal.calculateCross(t),r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"q\"),r.push(\"1 1 \"+s(G.internal.getWidth(t)-2)+\" \"+s(G.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(s(e.x1.x)+\" \"+s(e.x1.y)+\" m\"),r.push(s(e.x2.x)+\" \"+s(e.x2.y)+\" l\"),r.push(s(e.x4.x)+\" \"+s(e.x4.y)+\" m\"),r.push(s(e.x3.x)+\" \"+s(e.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),A.stream=r.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[];return e.push(\"0.749023 g\"),e.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),e.push(\"f\"),A.stream=e.join(\"\\n\"),A}}},createDefaultAppearanceStream:function(t){var A=e.internal.getFont(t.fontName,t.fontStyle).id,r=e.__private__.encodeColorString(t.color);return\"/\"+A+\" \"+t.fontSize+\" Tf \"+r}};G.internal={Bezier_C:.551915024494,calculateCross:function(t){var A=G.internal.getWidth(t),e=G.internal.getHeight(t),r=Math.min(A,e);return{x1:{x:(A-r)/2,y:(e-r)/2+r},x2:{x:(A-r)/2+r,y:(e-r)/2},x3:{x:(A-r)/2,y:(e-r)/2},x4:{x:(A-r)/2+r,y:(e-r)/2+r}}}},G.internal.getWidth=function(t){var A=0;return\"object\"===n(t)&&(A=u(t.Rect[2])),A},G.internal.getHeight=function(t){var A=0;return\"object\"===n(t)&&(A=u(t.Rect[3])),A};var J=t.addField=function(t){if(H.call(this),!(t instanceof R))throw new Error(\"Invalid argument passed to jsPDF.addField.\");return function(t){e.internal.acroformPlugin.printedOut&&(e.internal.acroformPlugin.printedOut=!1,e.internal.acroformPlugin.acroFormDictionaryRoot=null),e.internal.acroformPlugin.acroFormDictionaryRoot||H.call(e),e.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=e.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==0)throw new Error(\"Invalid argument passed to jsPDF.addButton.\");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==0)throw new Error(\"Invalid argument passed to jsPDF.addTextField.\");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof O==0)throw new Error(\"Invalid argument passed to jsPDF.addChoiceField.\");return J.call(this,t)},\"object\"==n(A)&&void 0===A.ChoiceField&&void 0===A.ListBox&&void 0===A.ComboBox&&void 0===A.EditBox&&void 0===A.Button&&void 0===A.PushButton&&void 0===A.RadioButton&&void 0===A.CheckBox&&void 0===A.TextField&&void 0===A.PasswordField?(A.ChoiceField=O,A.ListBox=K,A.ComboBox=M,A.EditBox=P,A.Button=D,A.PushButton=k,A.RadioButton=z,A.CheckBox=q,A.TextField=V,A.PasswordField=X,A.AcroForm={Appearance:G}):console.warn(\"AcroForm-Classes are not populated into global-namespace, because the class-Names exist already.\"),t.AcroFormChoiceField=O,t.AcroFormListBox=K,t.AcroFormComboBox=M,t.AcroFormEditBox=P,t.AcroFormButton=D,t.AcroFormPushButton=k,t.AcroFormRadioButton=z,t.AcroFormCheckBox=q,t.AcroFormTextField=V,t.AcroFormPasswordField=X,t.AcroFormAppearance=G,t.AcroForm={ChoiceField:O,ListBox:K,ComboBox:M,EditBox:P,Button:D,PushButton:k,RadioButton:z,CheckBox:q,TextField:V,PasswordField:X,Appearance:G}})((window.tmp=dt).API,\"undefined\"!=typeof window&&window||void 0!==r&&r),\n/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * \n */\nfunction(t){var A=\"addImage_\",e={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},r=t.getImageFileTypeByImageData=function(A,r){var n,i;r=r||\"UNKNOWN\";var o,s,a,c=\"UNKNOWN\";for(a in t.isArrayBufferView(A)&&(A=t.arrayBufferToBinaryString(A)),e)for(o=e[a],n=0;n>\"}),\"trns\"in A&&A.trns.constructor==Array){for(var s=\"\",a=0,c=A.trns.length;a>18]+r[(258048&A)>>12]+r[(4032&A)>>6]+r[63&A];return 1==o?e+=r[(252&(A=n[s]))>>2]+r[(3&A)<<4]+\"==\":2==o&&(e+=r[(64512&(A=n[s]<<8|n[s+1]))>>10]+r[(1008&A)>>4]+r[(15&A)<<2]+\"=\"),e},t.createImageInfo=function(t,A,e,r,n,i,o,s,a,c,u,l,h){var f={alias:s,w:A,h:e,cs:r,bpc:n,i:o,data:t};return i&&(f.f=i),a&&(f.dp=a),c&&(f.trns=c),u&&(f.pal=u),l&&(f.smask=l),h&&(f.p=h),f},t.addImage=function(e,r,i,h,f,d,p,B,g){var w=\"\";if(\"string\"!=typeof r){var m=d;d=f,f=h,h=i,i=r,r=m}if(\"object\"===n(e)&&!c(e)&&\"imageData\"in e){var Q=e;e=Q.imageData,r=Q.format||r||\"UNKNOWN\",i=Q.x||i||0,h=Q.y||h||0,f=Q.w||f,d=Q.h||d,p=Q.alias||p,B=Q.compression||B,g=Q.rotation||Q.angle||g}var C=this.internal.getFilters();if(void 0===B&&-1!==C.indexOf(\"FlateEncode\")&&(B=\"SLOW\"),\"string\"==typeof e&&(e=unescape(e)),isNaN(i)||isNaN(h))throw console.error(\"jsPDF.addImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addImage\");var y,v,F,U,N,E,b,L=function(){var t=this.internal.collections[A+\"images\"];return t||(this.internal.collections[A+\"images\"]=t={},this.internal.events.subscribe(\"putResources\",o),this.internal.events.subscribe(\"putXobjectDict\",s)),t}.call(this);if(!((y=l(e,L))||(c(e)&&(e=u(e,r)),(null==(b=p)||0===b.length)&&(p=\"string\"==typeof(E=e)?t.sHashCode(E):t.isArrayBufferView(E)?t.sHashCode(t.arrayBufferToBinaryString(E)):null),y=l(p,L)))){if(this.isString(e)&&(\"\"!==(w=this.convertStringToImageData(e))||void 0!==(w=t.loadFile(e)))&&(e=w),r=this.getImageFileTypeByImageData(e,r),!a(r))throw new Error(\"addImage does not support files of type '\"+r+\"', please ensure that a plugin for '\"+r+\"' support is added.\");if(this.supportsArrayBuffer()&&(e instanceof Uint8Array||(v=e,e=this.binaryStringToUint8Array(e))),!(y=this[\"process\"+r.toUpperCase()](e,(N=0,(U=L)&&(N=Object.keys?Object.keys(U).length:function(t){var A=0;for(var e in t)t.hasOwnProperty(e)&&A++;return A}(U)),N),p,((F=B)&&\"string\"==typeof F&&(F=F.toUpperCase()),F in t.image_compression?F:t.image_compression.NONE),v)))throw new Error(\"An unknown error occurred whilst processing the image\")}return function(t,A,e,r,n,i,o,s){var a=function(t,A,e){return t||A||(A=t=-96),t<0&&(t=-1*e.w*72/t/this.internal.scaleFactor),A<0&&(A=-1*e.h*72/A/this.internal.scaleFactor),0===t&&(t=A*e.w/e.h),0===A&&(A=t*e.h/e.w),[t,A]}.call(this,e,r,n),c=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(e=a[0],r=a[1],o[i]=n,s){s*=Math.PI/180;var l=Math.cos(s),h=Math.sin(s),f=function(t){return t.toFixed(4)},d=[f(l),f(h),f(-1*h),f(l),0,0,\"cm\"]}this.internal.write(\"q\"),s?(this.internal.write([1,\"0\",\"0\",1,c(t),u(A+r),\"cm\"].join(\" \")),this.internal.write(d.join(\" \")),this.internal.write([c(e),\"0\",\"0\",c(r),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([c(e),\"0\",\"0\",c(r),c(t),u(A+r),\"cm\"].join(\" \")),this.internal.write(\"/I\"+n.i+\" Do\"),this.internal.write(\"Q\")}.call(this,i,h,f,d,y,y.i,L,g),this},t.convertStringToImageData=function(A){var e,r=\"\";if(this.isString(A)){var n;e=null!==(n=this.extractImageFromDataUrl(A))?n.data:A;try{r=atob(e)}catch(A){throw t.validateStringAsBase64(e)?new Error(\"atob-Error in jsPDF.convertStringToImageData \"+A.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertStringToImageData \")}}return r};var h=function(t,A){return t.subarray(A,A+5)};t.processJPEG=function(t,A,e,n,i,o){var s,a=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(s=function(t){var A;if(\"JPEG\"!==r(t))throw new Error(\"getJpegSize requires a binary string jpeg file\");for(var e=256*t.charCodeAt(4)+t.charCodeAt(5),n=4,i=t.length;n>\",c.content=B;var h=c.objId+\" 0 R\";B=\"<>\",u.content=B,this.internal.write(c.objId,\"0 R\",u.objId,\"0 R\");break;case\"freetext\":var f=\"/Rect [\"+o(a.bounds.x)+\" \"+s(a.bounds.y)+\" \"+o(a.bounds.x+a.bounds.w)+\" \"+s(a.bounds.y+a.bounds.h)+\"] \",d=a.color||\"#000000\";B=\"<>\",this.internal.write(B);break;case\"link\":if(a.options.name){var p=this.annotations._nameMap[a.options.name];a.options.pageNumber=p.page,a.options.top=p.y}else a.options.top||(a.options.top=0);f=\"/Rect [\"+o(a.x)+\" \"+s(a.y)+\" \"+o(a.x+a.w)+\" \"+s(a.y+a.h)+\"] \";var B=\"\";if(a.options.url)B=\"<>\";else if(a.options.pageNumber)switch(B=\"<>\",this.internal.write(B))}}this.internal.write(\"]\")}}]),o.createAnnotation=function(t){var A=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":A.pageContext.annotations.push(t)}},o.link=function(t,A,e,r,n){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:A,w:e,h:r,options:n,type:\"link\"})},o.textWithLink=function(t,A,e,r){var n=this.getTextWidth(t),i=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,A,e),e+=.2*i,this.link(A,e-i,n,i,r),n},o.getTextWidth=function(t){var A=this.internal.getFontSize();return this.getStringUnitWidth(t)*A/this.internal.scaleFactor},\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi \n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var A={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},e={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var i=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==A[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&i(t)&&A[t.charCodeAt(0)].length<=2},a=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&0<=n.indexOf(t.charCodeAt(0))},c=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&i(t)&&1<=A[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&i(t)&&2<=A[t.charCodeAt(0)].length}),u=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&i(t)&&3<=A[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&i(t)&&4==A[t.charCodeAt(0)].length}),l=t.__arabicParser__.resolveLigatures=function(t){var A=0,r=e,n=0,i=\"\",o=0;for(A=0;A>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+A+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\ns=dt.API,(a=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(A){t=A}});var A=150;Object.defineProperty(this,\"width\",{get:function(){return A},set:function(t){A=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=A+1)}});var e=300;Object.defineProperty(this,\"height\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=e+1)}});var r=[];Object.defineProperty(this,\"childNodes\",{get:function(){return r},set:function(t){r=t}});var n={};Object.defineProperty(this,\"style\",{get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"parentNode\",{get:function(){return!1}})}).prototype.getContext=function(t,A){var e;if(\"2d\"!==(t=t||\"2d\"))return null;for(e in A)this.pdf.context2d.hasOwnProperty(e)&&(this.pdf.context2d[e]=A[e]);return(this.pdf.context2d._canvas=this).pdf.context2d},a.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},s.events.push([\"initialized\",function(){this.canvas=new a,this.canvas.pdf=this}]),\n/** \n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * \n * ====================================================================\n */\nc=dt.API,l={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},h=1,f=function(t,A,e,r,n){l={x:t,y:A,w:e,h:r,ln:n}},d=function(){return l},p={left:0,top:0,bottom:0},c.setHeaderFunction=function(t){u=t},c.getTextDimensions=function(t,A){var e=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(A=A||{}).scaleFactor||this.internal.scaleFactor),n=0,i=0,o=0;if(\"string\"==typeof t)0!=(n=this.getStringUnitWidth(t)*e)&&(i=1);else{if(\"[object Array]\"!==Object.prototype.toString.call(t))throw new Error(\"getTextDimensions expects text-parameter to be of type String or an Array of Strings.\");for(var s=0;s=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(),a=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(i,!0)),A=d().y+d().h,a&&(A=23)}if(void 0!==n[0])if(this.printingHeaderRow?this.rect(t,A,e,r,\"FD\"):this.rect(t,A,e,r),\"right\"===o){n instanceof Array||(n=[n]);for(var u=0;u=2*Math.PI&&(r=0,n=2*Math.PI),this.path.push({type:\"arc\",x:t,y:A,radius:e,startAngle:r,endAngle:n,counterclockwise:i})},c.prototype.arcTo=function(t,A,e,r,n){throw new Error(\"arcTo not implemented.\")},c.prototype.rect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,A),this.lineTo(t+e,A),this.lineTo(t+e,A+r),this.lineTo(t,A+r),this.lineTo(t,A),this.lineTo(t+e,A),this.lineTo(t,A)},c.prototype.fillRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!l.call(this)){var n={};\"butt\"!==this.lineCap&&(n.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(n.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,A,e,r),this.fill(),n.hasOwnProperty(\"lineCap\")&&(this.lineCap=n.lineCap),n.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=n.lineJoin)}},c.prototype.strokeRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");h.call(this)||(this.beginPath(),this.rect(t,A,e,r),this.stroke())},c.prototype.clearRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,A,e,r))},c.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var A=this.pdf.internal.getCurrentPageInfo().pageNumber,e=0;e\"},w=function(t){var A,e,r,n,i,o=String,s=\"length\",a=\"charCodeAt\",c=\"slice\",u=\"replace\";for(t[c](-2),t=t[c](0,-2)[u](/\\s/g,\"\")[u](\"z\",\"!!!!!\"),r=[],n=0,i=(t+=A=\"uuuuu\"[c](t[s]%5||5))[s];n>24,255&e>>16,255&e>>8,255&e);return function(t,e){for(var r=A[s];0\"},Q=function(t){var A=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===A.test(t))return\"\";for(var e=\"\",r=0;r>8&255,e>>16&255,e>>24&255]),t.length+2),String.fromCharCode.apply(null,n)},B.processDataByFilters=function(t,A){var e=0,r=t||\"\",n=[];for(\"string\"==typeof(A=A||[])&&(A=[A]),e=0;e>\"),this.internal.out(\"endobj\"),L=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+H+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==b&&void 0!==L&&this.internal.out(\"/Names <>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */(x=dt.API).events.push([\"postPutResources\",function(){var t=this,A=/^(\\d+) 0 obj$/;if(0> endobj\")}var l=t.internal.newObject();for(t.internal.write(\"<< /Names [ \"),r=0;r>\",\"endobj\"),t.internal.newObject(),t.internal.write(\"<< /Dests \"+l+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),x.events.push([\"putCatalog\",function(){0> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,A){for(var e=0;e>>24&255,h[l++]=s>>>16&255,h[l++]=s>>>8&255,h[l++]=255&s,S.arrayBufferToBinaryString(h)},T=function(t,A){var e=Math.LOG2E*Math.log(32768)-8<<4|8,r=e<<8;return r|=Math.min(3,(A-1&255)>>1)<<6,r|=0,[e,255&(r+=31-r%31)]},R=function(t,A){for(var e,r=1,n=0,i=t.length,o=0;0>>0},O=function(t,A,e,r){for(var n,i,o,s=t.length/A,a=new Uint8Array(t.length+s),c=j(),u=0;u>>1)&255;return i},k=function(t,A,e){var r,n,i,o,s=[],a=0,c=t.length;for(s[0]=4;a>>d&255,d+=i.bits;g[m]=C>>>d&255}if(16===i.bits){p=(N=new Uint32Array(i.decodePixels().buffer)).length,B=new Uint8Array(p*(32/i.pixelBitlength)*i.colors),g=new Uint8Array(p*(32/i.pixelBitlength));for(var C,y=1>>0&255,y&&(B[Q++]=C>>>16&255,C=N[m++],B[Q++]=C>>>0&255),g[v++]=C>>>16&255;f=8}r!==S.image_compression.NONE&&I()?(t=_(B,i.width*i.colors,i.colors,r),u=_(g,i.width,1,r)):(t=B,u=g,h=null)}if(3===i.colorType&&(l=this.color_spaces.INDEXED,c=i.palette,i.transparency.indexed)){var F=i.transparency.indexed,U=0;for(m=0,p=F.length;mr&&(n.push(t.slice(a,i)),s=0,a=i),s+=A[i],i++;return a!==i&&n.push(t.slice(a,i)),n},tt=function(t,A,e){e||(e={});var r,n,i,o,s,a,c=[],u=[c],l=e.textIndent||0,h=0,f=0,d=t.split(\" \"),p=W.apply(this,[\" \",e])[0];if(a=-1===e.lineIndent?d[0].length+2:e.lineIndent||0){var B=Array(a).join(\" \"),g=[];d.map((function(t){1<(t=t.split(/\\s*\\n/)).length?g=g.concat(t.map((function(t,A){return(A&&t.length?\"\\n\":\"\")+t}))):g.push(t[0])})),d=g,a=Z.apply(this,[B,e])}for(i=0,o=d.length;i>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=e,this},at=dt.API,lt=ut=ct=\"\",at.addMetadata=function(t,A){return ut=A||\"http://jspdf.default.namespaceuri/\",ct=t,this.internal.events.subscribe(\"postPutResources\",(function(){if(ct){var t='',A=unescape(encodeURIComponent('')),e=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(ct)),n=unescape(encodeURIComponent(\"\")),i=unescape(encodeURIComponent(\"\")),o=e.length+r.length+n.length+A.length+i.length;lt=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(A+e+r+n+i),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")}else lt=\"\"})),this.internal.events.subscribe(\"putCatalog\",(function(){lt&&this.internal.write(\"/Metadata \"+lt+\" 0 R\")})),this},function(t,A){var e=t.API,r=e.pdfEscape16=function(t,A){for(var e,r=A.metadata.Unicode.widths,n=[\"\",\"0\",\"00\",\"000\",\"0000\"],i=[\"\"],o=0,s=t.length;o> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\",r=[],o=0,s=(e=Object.keys(t).sort((function(t,A){return t-A}))).length;o<\"+n+\">\");return r.length&&(i+=\"\\n\"+r.length+\" beginbfchar\\n\"+r.join(\"\\n\")+\"\\nendbfchar\\n\"),i+\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(A){!function(A,e,r,i){if(A.metadata instanceof t.API.TTFFont&&\"Identity-H\"===A.encoding){for(var o=A.metadata.Unicode.widths,s=A.metadata.subset.encode(A.metadata.glyIdsUsed,1),a=\"\",c=0;c>\"),e(\"endobj\");var f=r();e(\"<<\"),e(\"/Type /Font\"),e(\"/BaseFont /\"+A.fontName),e(\"/FontDescriptor \"+h+\" 0 R\"),e(\"/W \"+t.API.PDFObject.convert(o)),e(\"/CIDToGIDMap /Identity\"),e(\"/DW 1000\"),e(\"/Subtype /CIDFontType2\"),e(\"/CIDSystemInfo\"),e(\"<<\"),e(\"/Supplement 0\"),e(\"/Registry (Adobe)\"),e(\"/Ordering (\"+A.encoding+\")\"),e(\">>\"),e(\">>\"),e(\"endobj\"),A.objectNumber=r(),e(\"<<\"),e(\"/Type /Font\"),e(\"/Subtype /Type0\"),e(\"/ToUnicode \"+l+\" 0 R\"),e(\"/BaseFont /\"+A.fontName),e(\"/Encoding /\"+A.encoding),e(\"/DescendantFonts [\"+f+\" 0 R]\"),e(\">>\"),e(\"endobj\"),A.isAlreadyPutted=!0}}(A.font,A.out,A.newObject,A.putStream)}]),e.events.push([\"putFont\",function(A){!function(A,e,r,i){if(A.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===A.encoding){A.metadata.Unicode.widths;for(var o=A.metadata.rawData,s=\"\",a=0;a>\"),e(\"endobj\"),A.objectNumber=r(),a=0;a>\"),e(\"endobj\"),A.isAlreadyPutted=!0}}(A.font,A.out,A.newObject,A.putStream)}]);var i=function(t){var A,e,n=t.text||\"\",i=t.x,o=t.y,s=t.options||{},a=t.mutex||{},c=a.pdfEscape,u=a.activeFontKey,l=a.fonts,h=(a.activeFontSize,\"\"),f=0,d=\"\",p=l[e=u].encoding;if(\"Identity-H\"!==l[e].encoding)return{text:n,x:i,y:o,options:s,mutex:a};for(d=n,e=u,\"[object Array]\"===Object.prototype.toString.call(n)&&(d=n[0]),f=0;fa-c.top-c.bottom&&r.pagesplit){var d=function(t,A,e,n,i){var o=document.createElement(\"canvas\");o.height=i,o.width=n;var s=o.getContext(\"2d\");return s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.fillStyle=r.backgroundColor||\"#ffffff\",s.fillRect(0,0,n,i),s.drawImage(t,A,e,n,i,0,0,n,i),o},p=function(){for(var r,i,u=0,p=0,B={},g=!1;;){var w;if(p=0,B.top=0!==u?c.top:e,B.left=0!==u?c.left:A,g=(s-c.left-c.right)*o=t.width)break;this.addPage()}else m=[w=d(t,0,u,r,i),B.left,B.top,w.width/o,w.height/o,h,null,f],this.addImage.apply(this,m);if((u+=i)>=t.height)break;this.addPage()}n(l,u,null,m)}.bind(this);if(\"CANVAS\"===t.nodeName){var B=new Image;B.onload=p,B.src=t.toDataURL(\"image/png\"),t=B}else p()}else{var g=Math.random().toString(35),w=[t,A,e,l,u,h,g,f];this.addImage.apply(this,w),n(l,u,g,w)}}.bind(this),\"undefined\"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if(\"undefined\"==typeof rasterizeHTML)return null;var c=\"drawDocument\";return\"string\"==typeof t&&(c=/^http/.test(t)?\"drawURL\":\"drawHTML\"),r.width=r.width||s*o,rasterizeHTML[c](t,void 0,r).then((function(t){r.onrendered(t.image)}),(function(t){n(null,t)}))\n/**\n * jsPDF fromHTML plugin. BETA stage. API subject to change. Needs browser\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Daniel Husar, https://github.com/danielhusar\n * 2014 Wolfgang Gassler, https://github.com/woolfg\n * 2014 Steven Spungin, https://github.com/flamenco\n *\n * @license\n * \n * ====================================================================\n */},function(t){var A,e,r,i,o,s,a,c,u,l,h,f,d,p,B,g,w,m,Q,C;A=function(){return function(A){return t.prototype=A,new t};function t(){}}(),l=function(t){var A,e,r,n,i,o,s;for(e=0,r=t.length,A=void 0,o=n=!1;!n&&e!==r;)(A=t[e]=t[e].trimLeft())&&(n=!0),e++;for(e=r-1;r&&!o&&-1!==e;)(A=t[e]=t[e].trimRight())&&(o=!0),e--;for(i=/\\s+$/g,s=!0,e=0;e!==r;)\"\\u2028\"!=t[e]&&(A=t[e].replace(/\\s+/g,\" \"),s&&(A=A.trimLeft()),A&&(s=i.test(A)),t[e]=A),e++;return t},f=function(t){var A,e,n;for(A=void 0,e=(n=t.split(\",\")).shift();!A&&e;)A=r[e.trim().toLowerCase()],e=n.shift();return A},d=function(t){var A;return-1<(t=\"auto\"===t?\"0px\":t).indexOf(\"em\")&&!isNaN(Number(t.replace(\"em\",\"\")))&&(t=18.719*Number(t.replace(\"em\",\"\"))+\"px\"),-1r.pdf.margins_doc.top&&(r.pdf.addPage(),r.y=r.pdf.margins_doc.top,r.executeWatchFunctions(o));var L=u(o),H=r.x,x=12/r.pdf.internal.scaleFactor,S=(L[\"margin-left\"]+L[\"padding-left\"])*x,I=(L[\"margin-right\"]+L[\"padding-right\"])*x,_=(L[\"margin-top\"]+L[\"padding-top\"])*x,T=(L[\"margin-bottom\"]+L[\"padding-bottom\"])*x;void 0!==L.float&&\"right\"===L.float?H+=r.settings.width-o.width-I:H+=S,r.pdf.addImage(E,H,r.y+_,o.width,o.height),E=void 0,\"right\"===L.float||\"left\"===L.float?(r.watchFunctions.push(function(t,A,e,n){return r.y>=A?(r.x+=t,r.settings.width+=e,!0):!!(n&&1===n.nodeType&&!y[n.nodeName]&&r.x+n.width>r.pdf.margins_doc.left+r.pdf.margins_doc.width)&&(r.x+=t,r.y=A,r.settings.width+=e,!0)}.bind(this,\"left\"===L.float?-o.width-S-I:0,r.y+o.height+_+T,o.width)),r.watchFunctions.push(function(t,A,e){return!(r.y]*?>/gi,\"\"),u=\"jsPDFhtmlText\"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(c=document.createElement(\"div\")).style.cssText=\"position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;\",c.innerHTML='