"use strict";(self.webpackChunksrsrfl_react=self.webpackChunksrsrfl_react||[]).push([[756],{3720:(o,r,t)=>{t.d(r,{Z:()=>Z});var e=t(3366),a=t(7462),n=t(7294),i=t(512),l=t(4780),s=t(948),p=t(1657),c=t(8216),d=t(6501),u=t(1588),v=t(4867);function b(o){return(0,v.Z)("MuiAppBar",o)}(0,u.Z)("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);var m=t(5893);const k=["className","color","enableColorOnDark","position"],f=(o,r)=>o?`${null==o?void 0:o.replace(")","")}, ${r})`:r,g=(0,s.ZP)(d.Z,{name:"MuiAppBar",slot:"Root",overridesResolver:(o,r)=>{const{ownerState:t}=o;return[r.root,r[`position${(0,c.Z)(t.position)}`],r[`color${(0,c.Z)(t.color)}`]]}})((({theme:o,ownerState:r})=>{const t="light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[900];return(0,a.Z)({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0},"fixed"===r.position&&{position:"fixed",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},"absolute"===r.position&&{position:"absolute",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0},"sticky"===r.position&&{position:"sticky",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0},"static"===r.position&&{position:"static"},"relative"===r.position&&{position:"relative"},!o.vars&&(0,a.Z)({},"default"===r.color&&{backgroundColor:t,color:o.palette.getContrastText(t)},r.color&&"default"!==r.color&&"inherit"!==r.color&&"transparent"!==r.color&&{backgroundColor:o.palette[r.color].main,color:o.palette[r.color].contrastText},"inherit"===r.color&&{color:"inherit"},"dark"===o.palette.mode&&!r.enableColorOnDark&&{backgroundColor:null,color:null},"transparent"===r.color&&(0,a.Z)({backgroundColor:"transparent",color:"inherit"},"dark"===o.palette.mode&&{backgroundImage:"none"})),o.vars&&(0,a.Z)({},"default"===r.color&&{"--AppBar-background":r.enableColorOnDark?o.vars.palette.AppBar.defaultBg:f(o.vars.palette.AppBar.darkBg,o.vars.palette.AppBar.defaultBg),"--AppBar-color":r.enableColorOnDark?o.vars.palette.text.primary:f(o.vars.palette.AppBar.darkColor,o.vars.palette.text.primary)},r.color&&!r.color.match(/^(default|inherit|transparent)$/)&&{"--AppBar-background":r.enableColorOnDark?o.vars.palette[r.color].main:f(o.vars.palette.AppBar.darkBg,o.vars.palette[r.color].main),"--AppBar-color":r.enableColorOnDark?o.vars.palette[r.color].contrastText:f(o.vars.palette.AppBar.darkColor,o.vars.palette[r.color].contrastText)},{backgroundColor:"var(--AppBar-background)",color:"inherit"===r.color?"inherit":"var(--AppBar-color)"},"transparent"===r.color&&{backgroundImage:"none",backgroundColor:"transparent",color:"inherit"}))})),Z=n.forwardRef((function(o,r){const t=(0,p.Z)({props:o,name:"MuiAppBar"}),{className:n,color:s="primary",enableColorOnDark:d=!1,position:u="fixed"}=t,v=(0,e.Z)(t,k),f=(0,a.Z)({},t,{color:s,position:u,enableColorOnDark:d}),Z=(o=>{const{color:r,position:t,classes:e}=o,a={root:["root",`color${(0,c.Z)(r)}`,`position${(0,c.Z)(t)}`]};return(0,l.Z)(a,b,e)})(f);return(0,m.jsx)(g,(0,a.Z)({square:!0,component:"header",ownerState:f,elevation:4,className:(0,i.Z)(Z.root,n,"fixed"===u&&"mui-fixed"),ref:r},v))}))},4567:(o,r,t)=>{t.d(r,{Z:()=>f});var e=t(3366),a=t(7462),n=t(7294),i=t(512),l=t(4780),s=t(948),p=t(1657),c=t(6628),d=t(1588),u=t(4867);function v(o){return(0,u.Z)("MuiBackdrop",o)}(0,d.Z)("MuiBackdrop",["root","invisible"]);var b=t(5893);const m=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],k=(0,s.ZP)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(o,r)=>{const{ownerState:t}=o;return[r.root,t.invisible&&r.invisible]}})((({ownerState:o})=>(0,a.Z)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},o.invisible&&{backgroundColor:"transparent"}))),f=n.forwardRef((function(o,r){var t,n,s;const d=(0,p.Z)({props:o,name:"MuiBackdrop"}),{children:u,className:f,component:g="div",components:Z={},componentsProps:h={},invisible:x=!1,open:B,slotProps:C={},slots:A={},TransitionComponent:y=c.Z,transitionDuration:S}=d,w=(0,e.Z)(d,m),D=(0,a.Z)({},d,{component:g,invisible:x}),I=(o=>{const{classes:r,invisible:t}=o,e={root:["root",t&&"invisible"]};return(0,l.Z)(e,v,r)})(D),M=null!=(t=C.root)?t:h.root;return(0,b.jsx)(y,(0,a.Z)({in:B,timeout:S},w,{children:(0,b.jsx)(k,(0,a.Z)({"aria-hidden":!0},M,{as:null!=(n=null!=(s=A.root)?s:Z.Root)?n:g,className:(0,i.Z)(I.root,f,null==M?void 0:M.className),ownerState:(0,a.Z)({},D,null==M?void 0:M.ownerState),classes:I,ref:r,children:u}))}))}))}}]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,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Y2pFLFlBQ3BGdUMsUUFBU0EsRUFDVEosSUFBS0EsRUFDTHNCLFNBQVVBLE9BR2hCLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3QvLi9ub2RlX21vZHVsZXMvQG11aS9tYXRlcmlhbC9BcHBCYXIvYXBwQmFyQ2xhc3Nlcy5qcyIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3QvLi9ub2RlX21vZHVsZXMvQG11aS9tYXRlcmlhbC9BcHBCYXIvQXBwQmFyLmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uL25vZGVfbW9kdWxlcy9AbXVpL21hdGVyaWFsL0JhY2tkcm9wL2JhY2tkcm9wQ2xhc3Nlcy5qcyIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3QvLi9ub2RlX21vZHVsZXMvQG11aS9tYXRlcmlhbC9CYWNrZHJvcC9CYWNrZHJvcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1bnN0YWJsZV9nZW5lcmF0ZVV0aWxpdHlDbGFzc2VzIGFzIGdlbmVyYXRlVXRpbGl0eUNsYXNzZXMgfSBmcm9tICdAbXVpL3V0aWxzJztcbmltcG9ydCBnZW5lcmF0ZVV0aWxpdHlDbGFzcyBmcm9tICcuLi9nZW5lcmF0ZVV0aWxpdHlDbGFzcyc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwQmFyVXRpbGl0eUNsYXNzKHNsb3QpIHtcbiAgcmV0dXJuIGdlbmVyYXRlVXRpbGl0eUNsYXNzKCdNdWlBcHBCYXInLCBzbG90KTtcbn1cbmNvbnN0IGFwcEJhckNsYXNzZXMgPSBnZW5lcmF0ZVV0aWxpdHlDbGFzc2VzKCdNdWlBcHBCYXInLCBbJ3Jvb3QnLCAncG9zaXRpb25GaXhlZCcsICdwb3NpdGlvbkFic29sdXRlJywgJ3Bvc2l0aW9uU3RpY2t5JywgJ3Bvc2l0aW9uU3RhdGljJywgJ3Bvc2l0aW9uUmVsYXRpdmUnLCAnY29sb3JEZWZhdWx0JywgJ2NvbG9yUHJpbWFyeScsICdjb2xvclNlY29uZGFyeScsICdjb2xvckluaGVyaXQnLCAnY29sb3JUcmFuc3BhcmVudCcsICdjb2xvckVycm9yJywgJ2NvbG9ySW5mbycsICdjb2xvclN1Y2Nlc3MnLCAnY29sb3JXYXJuaW5nJ10pO1xuZXhwb3J0IGRlZmF1bHQgYXBwQmFyQ2xhc3NlczsiLCIndXNlIGNsaWVudCc7XG5cbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZVwiO1xuaW1wb3J0IF9leHRlbmRzIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzXCI7XG5jb25zdCBfZXhjbHVkZWQgPSBbXCJjbGFzc05hbWVcIiwgXCJjb2xvclwiLCBcImVuYWJsZUNvbG9yT25EYXJrXCIsIFwicG9zaXRpb25cIl07XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCc7XG5pbXBvcnQgeyB1bnN0YWJsZV9jb21wb3NlQ2xhc3NlcyBhcyBjb21wb3NlQ2xhc3NlcyB9IGZyb20gJ0BtdWkvYmFzZS9jb21wb3NlQ2xhc3Nlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJy4uL3N0eWxlcy9zdHlsZWQnO1xuaW1wb3J0IHVzZVRoZW1lUHJvcHMgZnJvbSAnLi4vc3R5bGVzL3VzZVRoZW1lUHJvcHMnO1xuaW1wb3J0IGNhcGl0YWxpemUgZnJvbSAnLi4vdXRpbHMvY2FwaXRhbGl6ZSc7XG5pbXBvcnQgUGFwZXIgZnJvbSAnLi4vUGFwZXInO1xuaW1wb3J0IHsgZ2V0QXBwQmFyVXRpbGl0eUNsYXNzIH0gZnJvbSAnLi9hcHBCYXJDbGFzc2VzJztcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5jb25zdCB1c2VVdGlsaXR5Q2xhc3NlcyA9IG93bmVyU3RhdGUgPT4ge1xuICBjb25zdCB7XG4gICAgY29sb3IsXG4gICAgcG9zaXRpb24sXG4gICAgY2xhc3Nlc1xuICB9ID0gb3duZXJTdGF0ZTtcbiAgY29uc3Qgc2xvdHMgPSB7XG4gICAgcm9vdDogWydyb290JywgYGNvbG9yJHtjYXBpdGFsaXplKGNvbG9yKX1gLCBgcG9zaXRpb24ke2NhcGl0YWxpemUocG9zaXRpb24pfWBdXG4gIH07XG4gIHJldHVybiBjb21wb3NlQ2xhc3NlcyhzbG90cywgZ2V0QXBwQmFyVXRpbGl0eUNsYXNzLCBjbGFzc2VzKTtcbn07XG5cbi8vIHZhcjIgaXMgdGhlIGZhbGxiYWNrLlxuLy8gRXguIHZhcjE6ICd2YXIoLS1hKScsIHZhcjI6ICd2YXIoLS1iKSc7IHJldHVybjogJ3ZhcigtLWEsIHZhcigtLWIpKSdcbmNvbnN0IGpvaW5WYXJzID0gKHZhcjEsIHZhcjIpID0+IHZhcjEgPyBgJHt2YXIxID09IG51bGwgPyB2b2lkIDAgOiB2YXIxLnJlcGxhY2UoJyknLCAnJyl9LCAke3ZhcjJ9KWAgOiB2YXIyO1xuY29uc3QgQXBwQmFyUm9vdCA9IHN0eWxlZChQYXBlciwge1xuICBuYW1lOiAnTXVpQXBwQmFyJyxcbiAgc2xvdDogJ1Jvb3QnLFxuICBvdmVycmlkZXNSZXNvbHZlcjogKHByb3BzLCBzdHlsZXMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvd25lclN0YXRlXG4gICAgfSA9IHByb3BzO1xuICAgIHJldHVybiBbc3R5bGVzLnJvb3QsIHN0eWxlc1tgcG9zaXRpb24ke2NhcGl0YWxpemUob3duZXJTdGF0ZS5wb3NpdGlvbil9YF0sIHN0eWxlc1tgY29sb3Ike2NhcGl0YWxpemUob3duZXJTdGF0ZS5jb2xvcil9YF1dO1xuICB9XG59KSgoe1xuICB0aGVtZSxcbiAgb3duZXJTdGF0ZVxufSkgPT4ge1xuICBjb25zdCBiYWNrZ3JvdW5kQ29sb3JEZWZhdWx0ID0gdGhlbWUucGFsZXR0ZS5tb2RlID09PSAnbGlnaHQnID8gdGhlbWUucGFsZXR0ZS5ncmV5WzEwMF0gOiB0aGVtZS5wYWxldHRlLmdyZXlbOTAwXTtcbiAgcmV0dXJuIF9leHRlbmRzKHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAvLyBQcmV2ZW50IHBhZGRpbmcgaXNzdWUgd2l0aCB0aGUgTW9kYWwgYW5kIGZpeGVkIHBvc2l0aW9uZWQgQXBwQmFyLlxuICAgIGZsZXhTaHJpbms6IDBcbiAgfSwgb3duZXJTdGF0ZS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJyAmJiB7XG4gICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgekluZGV4OiAodGhlbWUudmFycyB8fCB0aGVtZSkuekluZGV4LmFwcEJhcixcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogJ2F1dG8nLFxuICAgIHJpZ2h0OiAwLFxuICAgICdAbWVkaWEgcHJpbnQnOiB7XG4gICAgICAvLyBQcmV2ZW50IHRoZSBhcHAgYmFyIHRvIGJlIHZpc2libGUgb24gZWFjaCBwcmludGVkIHBhZ2UuXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgIH1cbiAgfSwgb3duZXJTdGF0ZS5wb3NpdGlvbiA9PT0gJ2Fic29sdXRlJyAmJiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgekluZGV4OiAodGhlbWUudmFycyB8fCB0aGVtZSkuekluZGV4LmFwcEJhcixcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogJ2F1dG8nLFxuICAgIHJpZ2h0OiAwXG4gIH0sIG93bmVyU3RhdGUucG9zaXRpb24gPT09ICdzdGlja3knICYmIHtcbiAgICAvLyDimqDvuI8gc3RpY2t5IGlzIG5vdCBzdXBwb3J0ZWQgYnkgSUUxMS5cbiAgICBwb3NpdGlvbjogJ3N0aWNreScsXG4gICAgekluZGV4OiAodGhlbWUudmFycyB8fCB0aGVtZSkuekluZGV4LmFwcEJhcixcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogJ2F1dG8nLFxuICAgIHJpZ2h0OiAwXG4gIH0sIG93bmVyU3RhdGUucG9zaXRpb24gPT09ICdzdGF0aWMnICYmIHtcbiAgICBwb3NpdGlvbjogJ3N0YXRpYydcbiAgfSwgb3duZXJTdGF0ZS5wb3NpdGlvbiA9PT0gJ3JlbGF0aXZlJyAmJiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZSdcbiAgfSwgIXRoZW1lLnZhcnMgJiYgX2V4dGVuZHMoe30sIG93bmVyU3RhdGUuY29sb3IgPT09ICdkZWZhdWx0JyAmJiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3JEZWZhdWx0LFxuICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmdldENvbnRyYXN0VGV4dChiYWNrZ3JvdW5kQ29sb3JEZWZhdWx0KVxuICB9LCBvd25lclN0YXRlLmNvbG9yICYmIG93bmVyU3RhdGUuY29sb3IgIT09ICdkZWZhdWx0JyAmJiBvd25lclN0YXRlLmNvbG9yICE9PSAnaW5oZXJpdCcgJiYgb3duZXJTdGF0ZS5jb2xvciAhPT0gJ3RyYW5zcGFyZW50JyAmJiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlW293bmVyU3RhdGUuY29sb3JdLm1haW4sXG4gICAgY29sb3I6IHRoZW1lLnBhbGV0dGVbb3duZXJTdGF0ZS5jb2xvcl0uY29udHJhc3RUZXh0XG4gIH0sIG93bmVyU3RhdGUuY29sb3IgPT09ICdpbmhlcml0JyAmJiB7XG4gICAgY29sb3I6ICdpbmhlcml0J1xuICB9LCB0aGVtZS5wYWxldHRlLm1vZGUgPT09ICdkYXJrJyAmJiAhb3duZXJTdGF0ZS5lbmFibGVDb2xvck9uRGFyayAmJiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBudWxsLFxuICAgIGNvbG9yOiBudWxsXG4gIH0sIG93bmVyU3RhdGUuY29sb3IgPT09ICd0cmFuc3BhcmVudCcgJiYgX2V4dGVuZHMoe1xuICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICBjb2xvcjogJ2luaGVyaXQnXG4gIH0sIHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gJ2RhcmsnICYmIHtcbiAgICBiYWNrZ3JvdW5kSW1hZ2U6ICdub25lJ1xuICB9KSksIHRoZW1lLnZhcnMgJiYgX2V4dGVuZHMoe30sIG93bmVyU3RhdGUuY29sb3IgPT09ICdkZWZhdWx0JyAmJiB7XG4gICAgJy0tQXBwQmFyLWJhY2tncm91bmQnOiBvd25lclN0YXRlLmVuYWJsZUNvbG9yT25EYXJrID8gdGhlbWUudmFycy5wYWxldHRlLkFwcEJhci5kZWZhdWx0QmcgOiBqb2luVmFycyh0aGVtZS52YXJzLnBhbGV0dGUuQXBwQmFyLmRhcmtCZywgdGhlbWUudmFycy5wYWxldHRlLkFwcEJhci5kZWZhdWx0QmcpLFxuICAgICctLUFwcEJhci1jb2xvcic6IG93bmVyU3RhdGUuZW5hYmxlQ29sb3JPbkRhcmsgPyB0aGVtZS52YXJzLnBhbGV0dGUudGV4dC5wcmltYXJ5IDogam9pblZhcnModGhlbWUudmFycy5wYWxldHRlLkFwcEJhci5kYXJrQ29sb3IsIHRoZW1lLnZhcnMucGFsZXR0ZS50ZXh0LnByaW1hcnkpXG4gIH0sIG93bmVyU3RhdGUuY29sb3IgJiYgIW93bmVyU3RhdGUuY29sb3IubWF0Y2goL14oZGVmYXVsdHxpbmhlcml0fHRyYW5zcGFyZW50KSQvKSAmJiB7XG4gICAgJy0tQXBwQmFyLWJhY2tncm91bmQnOiBvd25lclN0YXRlLmVuYWJsZUNvbG9yT25EYXJrID8gdGhlbWUudmFycy5wYWxldHRlW293bmVyU3RhdGUuY29sb3JdLm1haW4gOiBqb2luVmFycyh0aGVtZS52YXJzLnBhbGV0dGUuQXBwQmFyLmRhcmtCZywgdGhlbWUudmFycy5wYWxldHRlW293bmVyU3RhdGUuY29sb3JdLm1haW4pLFxuICAgICctLUFwcEJhci1jb2xvcic6IG93bmVyU3RhdGUuZW5hYmxlQ29sb3JPbkRhcmsgPyB0aGVtZS52YXJzLnBhbGV0dGVbb3duZXJTdGF0ZS5jb2xvcl0uY29udHJhc3RUZXh0IDogam9pblZhcnModGhlbWUudmFycy5wYWxldHRlLkFwcEJhci5kYXJrQ29sb3IsIHRoZW1lLnZhcnMucGFsZXR0ZVtvd25lclN0YXRlLmNvbG9yXS5jb250cmFzdFRleHQpXG4gIH0sIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1BcHBCYXItYmFja2dyb3VuZCknLFxuICAgIGNvbG9yOiBvd25lclN0YXRlLmNvbG9yID09PSAnaW5oZXJpdCcgPyAnaW5oZXJpdCcgOiAndmFyKC0tQXBwQmFyLWNvbG9yKSdcbiAgfSwgb3duZXJTdGF0ZS5jb2xvciA9PT0gJ3RyYW5zcGFyZW50JyAmJiB7XG4gICAgYmFja2dyb3VuZEltYWdlOiAnbm9uZScsXG4gICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgIGNvbG9yOiAnaW5oZXJpdCdcbiAgfSkpO1xufSk7XG5jb25zdCBBcHBCYXIgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBBcHBCYXIoaW5Qcm9wcywgcmVmKSB7XG4gIGNvbnN0IHByb3BzID0gdXNlVGhlbWVQcm9wcyh7XG4gICAgcHJvcHM6IGluUHJvcHMsXG4gICAgbmFtZTogJ011aUFwcEJhcidcbiAgfSk7XG4gIGNvbnN0IHtcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbG9yID0gJ3ByaW1hcnknLFxuICAgICAgZW5hYmxlQ29sb3JPbkRhcmsgPSBmYWxzZSxcbiAgICAgIHBvc2l0aW9uID0gJ2ZpeGVkJ1xuICAgIH0gPSBwcm9wcyxcbiAgICBvdGhlciA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHByb3BzLCBfZXhjbHVkZWQpO1xuICBjb25zdCBvd25lclN0YXRlID0gX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgY29sb3IsXG4gICAgcG9zaXRpb24sXG4gICAgZW5hYmxlQ29sb3JPbkRhcmtcbiAgfSk7XG4gIGNvbnN0IGNsYXNzZXMgPSB1c2VVdGlsaXR5Q2xhc3Nlcyhvd25lclN0YXRlKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9fanN4KEFwcEJhclJvb3QsIF9leHRlbmRzKHtcbiAgICBzcXVhcmU6IHRydWUsXG4gICAgY29tcG9uZW50OiBcImhlYWRlclwiLFxuICAgIG93bmVyU3RhdGU6IG93bmVyU3RhdGUsXG4gICAgZWxldmF0aW9uOiA0LFxuICAgIGNsYXNzTmFtZTogY2xzeChjbGFzc2VzLnJvb3QsIGNsYXNzTmFtZSwgcG9zaXRpb24gPT09ICdmaXhlZCcgJiYgJ211aS1maXhlZCcpLFxuICAgIHJlZjogcmVmXG4gIH0sIG90aGVyKSk7XG59KTtcbnByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IEFwcEJhci5wcm9wVHlwZXMgLyogcmVtb3ZlLXByb3B0eXBlcyAqLyA9IHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gV2FybmluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyB8IFRoZXNlIFByb3BUeXBlcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlIFR5cGVTY3JpcHQgdHlwZSBkZWZpbml0aW9ucyB8XG4gIC8vIHwgICAgIFRvIHVwZGF0ZSB0aGVtIGVkaXQgdGhlIGQudHMgZmlsZSBhbmQgcnVuIFwieWFybiBwcm9wdHlwZXNcIiAgICAgfFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICogT3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIFRoZSBjb2xvciBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBJdCBzdXBwb3J0cyBib3RoIGRlZmF1bHQgYW5kIGN1c3RvbSB0aGVtZSBjb2xvcnMsIHdoaWNoIGNhbiBiZSBhZGRlZCBhcyBzaG93biBpbiB0aGVcbiAgICogW3BhbGV0dGUgY3VzdG9taXphdGlvbiBndWlkZV0oaHR0cHM6Ly9tdWkuY29tL21hdGVyaWFsLXVpL2N1c3RvbWl6YXRpb24vcGFsZXR0ZS8jY3VzdG9tLWNvbG9ycykuXG4gICAqIEBkZWZhdWx0ICdwcmltYXJ5J1xuICAgKi9cbiAgY29sb3I6IFByb3BUeXBlcyAvKiBAdHlwZXNjcmlwdC10by1wcm9wdHlwZXMtaWdub3JlICovLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9uZU9mKFsnZGVmYXVsdCcsICdpbmhlcml0JywgJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ3RyYW5zcGFyZW50JywgJ2Vycm9yJywgJ2luZm8nLCAnc3VjY2VzcycsICd3YXJuaW5nJ10pLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgYGNvbG9yYCBwcm9wIGlzIGFwcGxpZWQgaW4gZGFyayBtb2RlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZW5hYmxlQ29sb3JPbkRhcms6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogVGhlIHBvc2l0aW9uaW5nIHR5cGUuIFRoZSBiZWhhdmlvciBvZiB0aGUgZGlmZmVyZW50IG9wdGlvbnMgaXMgZGVzY3JpYmVkXG4gICAqIFtpbiB0aGUgTUROIHdlYiBkb2NzXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL0xlYXJuL0NTUy9DU1NfbGF5b3V0L1Bvc2l0aW9uaW5nKS5cbiAgICogTm90ZTogYHN0aWNreWAgaXMgbm90IHVuaXZlcnNhbGx5IHN1cHBvcnRlZCBhbmQgd2lsbCBmYWxsIGJhY2sgdG8gYHN0YXRpY2Agd2hlbiB1bmF2YWlsYWJsZS5cbiAgICogQGRlZmF1bHQgJ2ZpeGVkJ1xuICAgKi9cbiAgcG9zaXRpb246IFByb3BUeXBlcy5vbmVPZihbJ2Fic29sdXRlJywgJ2ZpeGVkJywgJ3JlbGF0aXZlJywgJ3N0YXRpYycsICdzdGlja3knXSksXG4gIC8qKlxuICAgKiBUaGUgc3lzdGVtIHByb3AgdGhhdCBhbGxvd3MgZGVmaW5pbmcgc3lzdGVtIG92ZXJyaWRlcyBhcyB3ZWxsIGFzIGFkZGl0aW9uYWwgQ1NTIHN0eWxlcy5cbiAgICovXG4gIHN4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmJvb2xdKSksIFByb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMub2JqZWN0XSlcbn0gOiB2b2lkIDA7XG5leHBvcnQgZGVmYXVsdCBBcHBCYXI7IiwiaW1wb3J0IHsgdW5zdGFibGVfZ2VuZXJhdGVVdGlsaXR5Q2xhc3NlcyBhcyBnZW5lcmF0ZVV0aWxpdHlDbGFzc2VzIH0gZnJvbSAnQG11aS91dGlscyc7XG5pbXBvcnQgZ2VuZXJhdGVVdGlsaXR5Q2xhc3MgZnJvbSAnLi4vZ2VuZXJhdGVVdGlsaXR5Q2xhc3MnO1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJhY2tkcm9wVXRpbGl0eUNsYXNzKHNsb3QpIHtcbiAgcmV0dXJuIGdlbmVyYXRlVXRpbGl0eUNsYXNzKCdNdWlCYWNrZHJvcCcsIHNsb3QpO1xufVxuY29uc3QgYmFja2Ryb3BDbGFzc2VzID0gZ2VuZXJhdGVVdGlsaXR5Q2xhc3NlcygnTXVpQmFja2Ryb3AnLCBbJ3Jvb3QnLCAnaW52aXNpYmxlJ10pO1xuZXhwb3J0IGRlZmF1bHQgYmFja2Ryb3BDbGFzc2VzOyIsIid1c2UgY2xpZW50JztcblxuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlXCI7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2V4dGVuZHNcIjtcbmNvbnN0IF9leGNsdWRlZCA9IFtcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCIsIFwiY29tcG9uZW50XCIsIFwiY29tcG9uZW50c1wiLCBcImNvbXBvbmVudHNQcm9wc1wiLCBcImludmlzaWJsZVwiLCBcIm9wZW5cIiwgXCJzbG90UHJvcHNcIiwgXCJzbG90c1wiLCBcIlRyYW5zaXRpb25Db21wb25lbnRcIiwgXCJ0cmFuc2l0aW9uRHVyYXRpb25cIl07XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCc7XG5pbXBvcnQgeyB1bnN0YWJsZV9jb21wb3NlQ2xhc3NlcyBhcyBjb21wb3NlQ2xhc3NlcyB9IGZyb20gJ0BtdWkvYmFzZS9jb21wb3NlQ2xhc3Nlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJy4uL3N0eWxlcy9zdHlsZWQnO1xuaW1wb3J0IHVzZVRoZW1lUHJvcHMgZnJvbSAnLi4vc3R5bGVzL3VzZVRoZW1lUHJvcHMnO1xuaW1wb3J0IEZhZGUgZnJvbSAnLi4vRmFkZSc7XG5pbXBvcnQgeyBnZXRCYWNrZHJvcFV0aWxpdHlDbGFzcyB9IGZyb20gJy4vYmFja2Ryb3BDbGFzc2VzJztcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5jb25zdCB1c2VVdGlsaXR5Q2xhc3NlcyA9IG93bmVyU3RhdGUgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NlcyxcbiAgICBpbnZpc2libGVcbiAgfSA9IG93bmVyU3RhdGU7XG4gIGNvbnN0IHNsb3RzID0ge1xuICAgIHJvb3Q6IFsncm9vdCcsIGludmlzaWJsZSAmJiAnaW52aXNpYmxlJ11cbiAgfTtcbiAgcmV0dXJuIGNvbXBvc2VDbGFzc2VzKHNsb3RzLCBnZXRCYWNrZHJvcFV0aWxpdHlDbGFzcywgY2xhc3Nlcyk7XG59O1xuY29uc3QgQmFja2Ryb3BSb290ID0gc3R5bGVkKCdkaXYnLCB7XG4gIG5hbWU6ICdNdWlCYWNrZHJvcCcsXG4gIHNsb3Q6ICdSb290JyxcbiAgb3ZlcnJpZGVzUmVzb2x2ZXI6IChwcm9wcywgc3R5bGVzKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb3duZXJTdGF0ZVxuICAgIH0gPSBwcm9wcztcbiAgICByZXR1cm4gW3N0eWxlcy5yb290LCBvd25lclN0YXRlLmludmlzaWJsZSAmJiBzdHlsZXMuaW52aXNpYmxlXTtcbiAgfVxufSkoKHtcbiAgb3duZXJTdGF0ZVxufSkgPT4gX2V4dGVuZHMoe1xuICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICByaWdodDogMCxcbiAgYm90dG9tOiAwLFxuICB0b3A6IDAsXG4gIGxlZnQ6IDAsXG4gIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC41KScsXG4gIFdlYmtpdFRhcEhpZ2hsaWdodENvbG9yOiAndHJhbnNwYXJlbnQnXG59LCBvd25lclN0YXRlLmludmlzaWJsZSAmJiB7XG4gIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50J1xufSkpO1xuY29uc3QgQmFja2Ryb3AgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBCYWNrZHJvcChpblByb3BzLCByZWYpIHtcbiAgdmFyIF9zbG90UHJvcHMkcm9vdCwgX3JlZiwgX3Nsb3RzJHJvb3Q7XG4gIGNvbnN0IHByb3BzID0gdXNlVGhlbWVQcm9wcyh7XG4gICAgcHJvcHM6IGluUHJvcHMsXG4gICAgbmFtZTogJ011aUJhY2tkcm9wJ1xuICB9KTtcbiAgY29uc3Qge1xuICAgICAgY2hpbGRyZW4sXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb21wb25lbnQgPSAnZGl2JyxcbiAgICAgIGNvbXBvbmVudHMgPSB7fSxcbiAgICAgIGNvbXBvbmVudHNQcm9wcyA9IHt9LFxuICAgICAgaW52aXNpYmxlID0gZmFsc2UsXG4gICAgICBvcGVuLFxuICAgICAgc2xvdFByb3BzID0ge30sXG4gICAgICBzbG90cyA9IHt9LFxuICAgICAgVHJhbnNpdGlvbkNvbXBvbmVudCA9IEZhZGUsXG4gICAgICB0cmFuc2l0aW9uRHVyYXRpb25cbiAgICB9ID0gcHJvcHMsXG4gICAgb3RoZXIgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShwcm9wcywgX2V4Y2x1ZGVkKTtcbiAgY29uc3Qgb3duZXJTdGF0ZSA9IF9leHRlbmRzKHt9LCBwcm9wcywge1xuICAgIGNvbXBvbmVudCxcbiAgICBpbnZpc2libGVcbiAgfSk7XG4gIGNvbnN0IGNsYXNzZXMgPSB1c2VVdGlsaXR5Q2xhc3Nlcyhvd25lclN0YXRlKTtcbiAgY29uc3Qgcm9vdFNsb3RQcm9wcyA9IChfc2xvdFByb3BzJHJvb3QgPSBzbG90UHJvcHMucm9vdCkgIT0gbnVsbCA/IF9zbG90UHJvcHMkcm9vdCA6IGNvbXBvbmVudHNQcm9wcy5yb290O1xuICByZXR1cm4gLyojX19QVVJFX18qL19qc3goVHJhbnNpdGlvbkNvbXBvbmVudCwgX2V4dGVuZHMoe1xuICAgIGluOiBvcGVuLFxuICAgIHRpbWVvdXQ6IHRyYW5zaXRpb25EdXJhdGlvblxuICB9LCBvdGhlciwge1xuICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovX2pzeChCYWNrZHJvcFJvb3QsIF9leHRlbmRzKHtcbiAgICAgIFwiYXJpYS1oaWRkZW5cIjogdHJ1ZVxuICAgIH0sIHJvb3RTbG90UHJvcHMsIHtcbiAgICAgIGFzOiAoX3JlZiA9IChfc2xvdHMkcm9vdCA9IHNsb3RzLnJvb3QpICE9IG51bGwgPyBfc2xvdHMkcm9vdCA6IGNvbXBvbmVudHMuUm9vdCkgIT0gbnVsbCA/IF9yZWYgOiBjb21wb25lbnQsXG4gICAgICBjbGFzc05hbWU6IGNsc3goY2xhc3Nlcy5yb290LCBjbGFzc05hbWUsIHJvb3RTbG90UHJvcHMgPT0gbnVsbCA/IHZvaWQgMCA6IHJvb3RTbG90UHJvcHMuY2xhc3NOYW1lKSxcbiAgICAgIG93bmVyU3RhdGU6IF9leHRlbmRzKHt9LCBvd25lclN0YXRlLCByb290U2xvdFByb3BzID09IG51bGwgPyB2b2lkIDAgOiByb290U2xvdFByb3BzLm93bmVyU3RhdGUpLFxuICAgICAgY2xhc3NlczogY2xhc3NlcyxcbiAgICAgIHJlZjogcmVmLFxuICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSkpXG4gIH0pKTtcbn0pO1xucHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gQmFja2Ryb3AucHJvcFR5cGVzIC8qIHJlbW92ZS1wcm9wdHlwZXMgKi8gPSB7XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFdhcm5pbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gfCBUaGVzZSBQcm9wVHlwZXMgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZSBUeXBlU2NyaXB0IHR5cGUgZGVmaW5pdGlvbnMgfFxuICAvLyB8ICAgICBUbyB1cGRhdGUgdGhlbSBlZGl0IHRoZSBkLnRzIGZpbGUgYW5kIHJ1biBcInlhcm4gcHJvcHR5cGVzXCIgICAgIHxcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIE92ZXJyaWRlIG9yIGV4dGVuZCB0aGUgc3R5bGVzIGFwcGxpZWQgdG8gdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50IHVzZWQgZm9yIHRoZSByb290IG5vZGUuXG4gICAqIEVpdGhlciBhIHN0cmluZyB0byB1c2UgYSBIVE1MIGVsZW1lbnQgb3IgYSBjb21wb25lbnQuXG4gICAqL1xuICBjb21wb25lbnQ6IFByb3BUeXBlcy5lbGVtZW50VHlwZSxcbiAgLyoqXG4gICAqIFRoZSBjb21wb25lbnRzIHVzZWQgZm9yIGVhY2ggc2xvdCBpbnNpZGUuXG4gICAqXG4gICAqIFRoaXMgcHJvcCBpcyBhbiBhbGlhcyBmb3IgdGhlIGBzbG90c2AgcHJvcC5cbiAgICogSXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhlIGBzbG90c2AgcHJvcCBpbnN0ZWFkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgY29tcG9uZW50czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBSb290OiBQcm9wVHlwZXMuZWxlbWVudFR5cGVcbiAgfSksXG4gIC8qKlxuICAgKiBUaGUgZXh0cmEgcHJvcHMgZm9yIHRoZSBzbG90IGNvbXBvbmVudHMuXG4gICAqIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGV4aXN0aW5nIHByb3BzIG9yIGFkZCBuZXcgb25lcy5cbiAgICpcbiAgICogVGhpcyBwcm9wIGlzIGFuIGFsaWFzIGZvciB0aGUgYHNsb3RQcm9wc2AgcHJvcC5cbiAgICogSXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhlIGBzbG90UHJvcHNgIHByb3AgaW5zdGVhZCwgYXMgYGNvbXBvbmVudHNQcm9wc2Agd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBmdXR1cmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICBjb21wb25lbnRzUHJvcHM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgcm9vdDogUHJvcFR5cGVzLm9iamVjdFxuICB9KSxcbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIGJhY2tkcm9wIGlzIGludmlzaWJsZS5cbiAgICogSXQgY2FuIGJlIHVzZWQgd2hlbiByZW5kZXJpbmcgYSBwb3BvdmVyIG9yIGEgY3VzdG9tIHNlbGVjdCBjb21wb25lbnQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBpbnZpc2libGU6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogSWYgYHRydWVgLCB0aGUgY29tcG9uZW50IGlzIHNob3duLlxuICAgKi9cbiAgb3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgLyoqXG4gICAqIFRoZSBleHRyYSBwcm9wcyBmb3IgdGhlIHNsb3QgY29tcG9uZW50cy5cbiAgICogWW91IGNhbiBvdmVycmlkZSB0aGUgZXhpc3RpbmcgcHJvcHMgb3IgYWRkIG5ldyBvbmVzLlxuICAgKlxuICAgKiBUaGlzIHByb3AgaXMgYW4gYWxpYXMgZm9yIHRoZSBgY29tcG9uZW50c1Byb3BzYCBwcm9wLCB3aGljaCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICpcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHNsb3RQcm9wczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICByb290OiBQcm9wVHlwZXMub2JqZWN0XG4gIH0pLFxuICAvKipcbiAgICogVGhlIGNvbXBvbmVudHMgdXNlZCBmb3IgZWFjaCBzbG90IGluc2lkZS5cbiAgICpcbiAgICogVGhpcyBwcm9wIGlzIGFuIGFsaWFzIGZvciB0aGUgYGNvbXBvbmVudHNgIHByb3AsIHdoaWNoIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgZnV0dXJlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgc2xvdHM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgcm9vdDogUHJvcFR5cGVzLmVsZW1lbnRUeXBlXG4gIH0pLFxuICAvKipcbiAgICogVGhlIHN5c3RlbSBwcm9wIHRoYXQgYWxsb3dzIGRlZmluaW5nIHN5c3RlbSBvdmVycmlkZXMgYXMgd2VsbCBhcyBhZGRpdGlvbmFsIENTUyBzdHlsZXMuXG4gICAqL1xuICBzeDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5ib29sXSkpLCBQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLm9iamVjdF0pLFxuICAvKipcbiAgICogVGhlIGNvbXBvbmVudCB1c2VkIGZvciB0aGUgdHJhbnNpdGlvbi5cbiAgICogW0ZvbGxvdyB0aGlzIGd1aWRlXSgvbWF0ZXJpYWwtdWkvdHJhbnNpdGlvbnMvI3RyYW5zaXRpb25jb21wb25lbnQtcHJvcCkgdG8gbGVhcm4gbW9yZSBhYm91dCB0aGUgcmVxdWlyZW1lbnRzIGZvciB0aGlzIGNvbXBvbmVudC5cbiAgICogQGRlZmF1bHQgRmFkZVxuICAgKi9cbiAgVHJhbnNpdGlvbkNvbXBvbmVudDogUHJvcFR5cGVzLmVsZW1lbnRUeXBlLFxuICAvKipcbiAgICogVGhlIGR1cmF0aW9uIGZvciB0aGUgdHJhbnNpdGlvbiwgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBZb3UgbWF5IHNwZWNpZnkgYSBzaW5nbGUgdGltZW91dCBmb3IgYWxsIHRyYW5zaXRpb25zLCBvciBpbmRpdmlkdWFsbHkgd2l0aCBhbiBvYmplY3QuXG4gICAqL1xuICB0cmFuc2l0aW9uRHVyYXRpb246IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgYXBwZWFyOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIGVudGVyOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIGV4aXQ6IFByb3BUeXBlcy5udW1iZXJcbiAgfSldKVxufSA6IHZvaWQgMDtcbmV4cG9ydCBkZWZhdWx0IEJhY2tkcm9wOyJdLCJuYW1lcyI6WyJnZXRBcHBCYXJVdGlsaXR5Q2xhc3MiLCJzbG90IiwiZ2VuZXJhdGVVdGlsaXR5Q2xhc3MiLCJnZW5lcmF0ZVV0aWxpdHlDbGFzc2VzIiwiX2V4Y2x1ZGVkIiwiam9pblZhcnMiLCJ2YXIxIiwidmFyMiIsInJlcGxhY2UiLCJBcHBCYXJSb290Iiwic3R5bGVkIiwiUGFwZXIiLCJuYW1lIiwib3ZlcnJpZGVzUmVzb2x2ZXIiLCJwcm9wcyIsInN0eWxlcyIsIm93bmVyU3RhdGUiLCJyb290IiwiY2FwaXRhbGl6ZSIsInBvc2l0aW9uIiwiY29sb3IiLCJ0aGVtZSIsImJhY2tncm91bmRDb2xvckRlZmF1bHQiLCJwYWxldHRlIiwibW9kZSIsImdyZXkiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsIndpZHRoIiwiYm94U2l6aW5nIiwiZmxleFNocmluayIsInpJbmRleCIsInZhcnMiLCJhcHBCYXIiLCJ0b3AiLCJsZWZ0IiwicmlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJnZXRDb250cmFzdFRleHQiLCJtYWluIiwiY29udHJhc3RUZXh0IiwiZW5hYmxlQ29sb3JPbkRhcmsiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJBcHBCYXIiLCJkZWZhdWx0QmciLCJkYXJrQmciLCJ0ZXh0IiwicHJpbWFyeSIsImRhcmtDb2xvciIsIm1hdGNoIiwiaW5Qcm9wcyIsInJlZiIsInVzZVRoZW1lUHJvcHMiLCJjbGFzc05hbWUiLCJvdGhlciIsImNsYXNzZXMiLCJzbG90cyIsImNvbXBvc2VDbGFzc2VzIiwidXNlVXRpbGl0eUNsYXNzZXMiLCJzcXVhcmUiLCJjb21wb25lbnQiLCJlbGV2YXRpb24iLCJjbHN4IiwiZ2V0QmFja2Ryb3BVdGlsaXR5Q2xhc3MiLCJCYWNrZHJvcFJvb3QiLCJpbnZpc2libGUiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJib3R0b20iLCJXZWJraXRUYXBIaWdobGlnaHRDb2xvciIsIl9zbG90UHJvcHMkcm9vdCIsIl9yZWYiLCJfc2xvdHMkcm9vdCIsImNoaWxkcmVuIiwiY29tcG9uZW50cyIsImNvbXBvbmVudHNQcm9wcyIsIm9wZW4iLCJzbG90UHJvcHMiLCJUcmFuc2l0aW9uQ29tcG9uZW50IiwiRmFkZSIsInRyYW5zaXRpb25EdXJhdGlvbiIsInJvb3RTbG90UHJvcHMiLCJpbiIsInRpbWVvdXQiLCJhcyIsIlJvb3QiXSwic291cmNlUm9vdCI6IiJ9