realreport-designer 1.10.8 → 1.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* RealReport Designer v1.10.
|
|
2
|
+
* RealReport Designer v1.10.9 (build: 8af1bc1)
|
|
3
3
|
* Copyright (C) 2013-2025 WooriTech Inc.
|
|
4
4
|
* All Rights Reserved.
|
|
5
5
|
*/
|
|
@@ -75,7 +75,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
75
75
|
* @license Copyright (c) 2020-today Wooritech Inc.
|
|
76
76
|
*/const kSe=0,FSe=1,VSe=2,HSe=3,ND=["borderTopStyle","borderBottomStyle","borderLeftStyle","borderRightStyle"],USe=["borderTopColor","borderBottomColor","borderLeftColor","borderRightColor"],V$='<svg xmlns="http://www.w3.org/2000/svg"/>',QSe=a=>a*72/Ct.HTMLDPI;function rP(a,e){const t={left:null,right:null,top:null,bottom:null};{if(a.borderLeft){const i=a.borderLeftStyle,r=a.borderLeftColor,s=a.borderLeftWidth;t.left={style:i,color:r,size:s}}if(a.borderRight){const i=a.borderRightStyle,r=a.borderRightColor,s=a.borderRightWidth;t.right={style:i,color:r,size:s}}if(a.borderTop){const i=a.borderTopStyle,r=a.borderTopColor,s=a.borderTopWidth;t.top={style:i,color:r,size:s}}if(a.borderBottom){const i=a.borderBottomStyle,r=a.borderBottomColor,s=a.borderBottomWidth;t.bottom={style:i,color:r,size:s}}}return ee.isEmpty(t)?null:t}function H$(a,e){const t=e.getBoundingClientRect(),i=e.querySelectorAll("span"),r=i.item(0),s=i.item(1),n=e.children[1],o=document.createElement("canvas"),l=o.getContext("2d");o.width=t.width,o.height=t.height,l.strokeStyle=getComputedStyle(n).borderTopColor,l.beginPath(),l.moveTo(0,0),l.lineTo(t.width,t.height),l.stroke();let h=getComputedStyle(r);return l.textBaseline="bottom",l.fillStyle=h.color,l.font=h.font,l.fillText(r.textContent,0,t.height-1),h=getComputedStyle(s),l.textBaseline="top",l.textAlign="right",l.fillStyle=h.color,l.font=h.font,l.fillText(s.textContent,t.width,1),o.toDataURL()}function tS(a){function e(u){const{left:A,right:f,top:p,bottom:g}=u;return!(A.style!=="none"&&parseFloat(A.size)!==0||f.style!=="none"&&parseFloat(f.size)!==0||p.style!=="none"&&parseFloat(p.size)!==0||g.style!=="none"&&parseFloat(g.size)!==0)}const t=a.getBoundingClientRect(),i=getComputedStyle(a),r=rP(i),{backgroundColor:s}=i,{left:n,right:o,top:l,bottom:h}=r;if(s==="rgba(0, 0, 0, 0)"&&e(r))return null;const c=document.createElement("canvas"),d=c.getContext("2d");return c.width=t.width,c.height=t.height,d.fillStyle=s,d.fillRect(0,0,t.width,t.height),l.style!=="none"&&(d.strokeStyle=l.color,d.lineWidth=parseFloat(l.size),d.beginPath(),d.moveTo(0,0),d.lineTo(t.width,0),d.stroke()),o.style!=="none"&&(d.strokeStyle=o.color,d.lineWidth=parseFloat(o.size),d.beginPath(),d.moveTo(t.width,0),d.lineTo(t.width,t.height),d.stroke()),h.style!=="none"&&(d.strokeStyle=h.color,d.lineWidth=parseFloat(h.size),d.beginPath(),d.moveTo(t.width,t.height),d.lineTo(0,t.height),d.stroke()),n.style!=="none"&&(d.strokeStyle=n.color,d.lineWidth=parseFloat(n.size),d.beginPath(),d.moveTo(0,t.height),d.lineTo(0,0),d.stroke()),c.toDataURL()}class Ro{static getSvg(e){if(e instanceof SVGSVGElement)return new XMLSerializer().serializeToString(e);const t=e[RP];return t?t.substring(t.indexOf("<svg")):V$}static getSvgData(e,t=!1){const i=this.getSvg(e);if(t)return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(i)));{const r=new Blob([i],{type:"image/svg+xml;charset=utf-8"});return(URL||webkitURL).createObjectURL(r)}}static svgToBase64(e){if(e instanceof SVGElement){const i=new XMLSerializer().serializeToString(e);return btoa(i)}else if(typeof e=="string")return btoa(e);throw new Error("SVG 요소나 문자열이 필요합니다")}static svgToDataUri(e){return"data:image/svg+xml;base64,"+Ro.svgToBase64(e)}static async convertToBase64Image(e){return(await Ro.convertToDataURL(e)).replace(/^data:image\/?[A-z]*;base64,/,"")}static async convertToDataURL(e){if(!e)throw new Jg;const t=!(location!=null&&location.hostname);return NSe(e,{filter:i=>{var r;return((r=i.style)===null||r===void 0?void 0:r.display)!=="none"},cacheBust:!0,style:{position:"static"},skipFonts:!t})}static buildFilename(e,t,i){return`${i||e.info.name||"realreport"}${t}`}static getBandBorderContainer(e){let t;const i=e.getRootNode(),r=e.parentElement.parentElement;if(r.classList.contains("rr-band-page")){const s=r.dataset[qt],n=i.getElementsByClassName(Fa.BORDER_CONTAINER);t=Array.from(n).find(l=>l.dataset[qt]===s)}return t}static isValidBase64Image(e){try{if(typeof e!="string"||!e)return!1;let t=e;if(e.startsWith("data:image")){const i=e.match(/^data:image\/([a-zA-Z0-9-+/]+);base64,(.+)$/);if(!i)return!1;t=i[2]}return!!/^[A-Za-z0-9+/]+[=]{0,2}$/.test(t)}catch(t){return console.error(t),!1}}static getDataUrlMimeType(e){const t=e.match(/^data:(image\/[a-zA-Z+]+);base64,/);if(!Ro.isValidBase64Image(e))throw new Error("올바른 dataUrl 형식이 아닙니다.");return t[1]}}const kD={INVAILD_EMAIL_PAGE:"유효하지 않은 이메일 페이지입니다.",INVAILD_EMAIL_BODY:"유효하지 않은 이메일 본문입니다.",INVAILD_EMAIL_ROOT:"유효하지 않은 이메일 루트입니다."},U$={LOAD_IMAGE:"이미지 로드중에 문제가 발생하였습니다.",ONLY_EMAIL_REPORT:"이메일 HTML 내보내기는 이메일용 리포트 타입만 지원합니다."},hV={PAGING_FALSE_NOT_ALLOED_MULTI_PAGE:"가로세로가 혼합된 멀티 페이지 리포트는 페이지 구분없는 출력을 지원하지 않습니다.",PAGING_FALSE_NOT_ALLOED_COMPOSITE_REPORT:"복합 리포트는 페이지 구분없는 출력을 지원하지 않습니다."};class NT{constructor(){this._imageElements=[],this._imageUrlMap=new Map,this._images={},this._loadCount=0}get loaded(){return this._imageElements.length===0}add(e,t){if(!(e in this._images)){const i=document.createElement("img");i.crossOrigin="anonymous",i.src=e,i.style.opacity=t,this._imageElements.push(i),this._images[e]=""}}addUrl(e,t){this._imageUrlMap.set(e,{src:e,opacity:t})}get(e){return this._images[e]}async loadImages(){await this.$_loadImageElements()}async $_loadImageElements(){await Promise.all(Array.from(this._imageUrlMap,([e,t])=>new Promise((i,r)=>{const s=new Image;s.onload=()=>{this._imageElements.push(s),this._images[e]="",i(e)},s.onerror=()=>{r(U$.LOAD_IMAGE)},s.crossOrigin="anonymous",s.style.opacity=t.opacity,s.src=t.src}))),this.$_convertImagesToDataURL()}$_convertImagesToDataURL(){this._imageElements.forEach(e=>{const t=document.createElement("canvas"),i=t.getContext("2d");i.imageSmoothingEnabled=!0,i.imageSmoothingQuality="high";const r=parseFloat(e.style.opacity)||1;t.width=e.width,t.height=e.height,i.globalAlpha=r,i.drawImage(e,0,0);const s=t.toDataURL("image/png",1);this._images[e.src]=s,e.remove()})}}class GSe{static getOpacity(e){const t=parseFloat(e);return isNaN(t)?1:Math.min(Math.max(t,0),1)}}class d2{constructor(){this._elementMap=new Map,this._elementImageMap=new Map}add(e,t){t&&this._elementMap.set(e,t)}getImageDataUrl(e){return this._elementImageMap.get(e)}getImageBase64(e){const t=this.getImageDataUrl(e);return t==null?void 0:t.replace(/^data:image\/?[A-z]*;base64,/,"")}async convertOneToDataURL(e){return Ro.convertToDataURL(this._elementMap.get(e))}async convertToDataURL(){return Promise.all(Array.from(this._elementMap,([e])=>this.convertOneToDataURL(e)))}async loadToImage(){await Promise.all([...this._elementMap.entries()].map(async([e,t])=>{const i=await this.convertOneToDataURL(e);this._elementImageMap.set(e,i)}))}}class D1{constructor(){this.allowedTags=["b","span","u"],this.allowedStyles=["color"]}parse(e){return this.parseNode(e)}parseNode(e){const t=[];function i(r,s,n,o){if(r.nodeType===Node.TEXT_NODE&&r.parentElement){let l="";const h=window.getComputedStyle(r.parentElement);h&&(l=h.color||"black");const c=r.textContent;if(c&&c.length>0){const d=c.replace(/\\n/g,`
|
|
77
77
|
`).split(`
|
|
78
|
-
`),u=d.length;d.forEach((A,f)=>{c!==""&&t.push({type:"text",text:A,color:l,bold:s,underline:n,italic:o}),u-1!==f&&t.push({type:"lineBreak"})})}}else if(r.nodeType===Node.ELEMENT_NODE){const l=r;if(l.tagName.toLowerCase()==="br"){t.push({type:"lineBreak"});return}let h=s,c=n,d=o;l.tagName.toLowerCase()==="b"&&(h=!0),l.tagName.toLowerCase()==="u"&&(c=!0),l.tagName.toLowerCase()==="i"&&(d=!0);for(const u of Array.from(l.childNodes))i(u,h,c,d)}}for(const r of Array.from(e.childNodes))i(r,!1,!1,!1);return t}parseLinesFromDom(e){const t=new Map,i=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let s;for(;s=r.nextNode();)s.textContent&&i.push(s);const n=[];for(const l of i){const h=document.createRange();h.selectNodeContents(l);const c=l.textContent||"";if(c==="")continue;const d=this.getComputedStyleForNode(l),u=h.getClientRects();if(u.length===0)continue;let A=u[0].top,f="",p=this.getLineNumber(A,n);for(let g=0;g<c.length;g++){h.setStart(l,g),h.setEnd(l,g+1);const _=h.getBoundingClientRect();if(Math.abs(_.top-A)>2){const m=f.trim();m!==""?(this.addTextToLine(t,p,f,d),f=""):this.addTextToLine(t,p,m,d),A=_.top,p=this.getLineNumber(A,n)}f+=c[g]}this.addTextToLine(t,p,f,d)}return Array.from(t.entries()).map(([l,h])=>({line:l,nodes:h})).sort((l,h)=>l.line-h.line)}getComputedStyleForNode(e){const t={color:"black",bold:!1,underline:!1,italic:!1};try{if(e.nodeType===Node.TEXT_NODE&&e.parentElement){const i=e.parentElement,r=window.getComputedStyle(i),s=r.color||t.color,o=parseInt(r.fontWeight,10)>=700||r.fontWeight==="bold"||r.fontWeight==="bolder",l=r.textDecoration.includes("underline"),h=r.fontStyle==="italic";return{color:s,bold:o,underline:l,italic:h}}}catch(i){console.error("스타일 계산 중 오류 발생:",i)}return t}getLineNumber(e,t){for(const r of t)if(Math.abs(r.top-e)<2)return r.lineNumber;const i=t.length+1;return t.push({top:e,lineNumber:i}),i}addTextToLine(e,t,i,r){e.has(t)||e.set(t,[]);const s=e.get(t),n=s.length>0?s[s.length-1]:null;i!==""&&(n&&n.type==="text"&&n.color===r.color&&n.bold===r.bold&&n.underline===r.underline&&n.italic===r.italic?n.text+=i:s.push({type:"text",text:i.replace(fce,""),color:r.color,bold:r.bold,underline:r.underline,italic:r.italic}))}}const ar=72/Ct.HTMLDPI,gm=a=>a*72/Ct.HTMLDPI;class KF extends Ai{constructor(e,t,i){super(),this._report=e,this.elementCreator=i,this._imageLoader=new NT,this._domConverter=new d2,this._pages=this.$_build(t)}_doDispose(){super._doDispose()}get report(){return this._report}get font(){return this._font}get fontBold(){return this._fontBold}getOrientation(e){let t;return ee.isArray(this.report)?t=this.report[0].paper.orientation||"portrait":this.report&&this.report.models&&(t=this.report.paper.orientation||"portrait"),this._pages[e]?this._pages[e].pageOrientation:t}getModel(e){if(!e)return;const t=e.dataset[qt];if(!t)return;let i;if(ee.isArray(this.report)){for(const r of this.report)if(i=r.models&&r.models[t],i)break}else if(this.report&&this.report.models)return this.report.models[t];return i}getParentModel(e){if(e instanceof HTMLElement){let t=0;const i=this.getModel(e);let r=null;for(;e&&t<100;){if(e=e.parentElement,e&&i!==this.getModel(e)){if(ee.isArray(this._report)){for(const s of this._report)if(r=s.models[e.dataset[qt]],r)break}else this._report&&this._report.models&&(r=this._report.models[e.dataset[qt]]);if(r)return r}t+=1}}else return null}getParent(e){for(;e;){if(e instanceof HTMLElement){let t;if(ee.isArray(this._report)){for(const i of this._report)if(t=i.models[e.dataset[qt]],t)break}else this._report&&this._report.models&&(t=this._report.models[e.dataset[qt]]);if(t)return e}e=e.parentElement}}imageLoaderAddUrl(e,t){this._imageLoader.addUrl(e,t)}domConverterAdd(e,t){this._domConverter.add(e,t)}getImage(e){return this._imageLoader.get(e)}getDomImage(e){return this._domConverter.getImageDataUrl(e)}async prepare(){await Promise.all([this._imageLoader.loadImages(),this._domConverter.loadToImage()])}write(e,t,i){this._doc=e,this._font=t,this._fontBold=i;for(let r=0;r<this._pages.length;r++){const s=this._pages[r];if(this._offsetX=s.offsetX,this._offsetY=s.offsetY,s.write(this),r<this._pages.length-1){const n=this._pages[r+1].pageOrientation;if(ee.isArray(this.report)){const o=this.report[this._pages[r+1].reportIndex].paper,l=o.getPageSize(null),h=Math.round(gm(l.width)),c=Math.round(gm(l.height));e.addPage({...e.options,size:o.orientation===dl.LANDSCAPE?[c,h]:[h,c],layout:n})}else e.addPage({...e.options,layout:n})}}}getBounds(e){const t=e.getBoundingClientRect();return t.x-=this._offsetX,t.y-=this._offsetY,t.x*=ar,t.y*=ar,t.width*=ar,t.height*=ar,t}getBoundsBeforeRotate(e){var t;const i=(t=e.style)===null||t===void 0?void 0:t.transform,r=this.getBounds(e);if(e.style.transform){e.style.transform=null;const s=this.getBounds(e);return e.style.transform=i,s}return r}getTextBounds(e){const t=ee.getTextRect(e);return t.x-=this._offsetX,t.y-=this._offsetY,t.x*=ar,t.y*=ar,t.width*=ar,t.height*=ar,t}getBox(e){const t=e.getBBox();return t.x*=ar,t.y*=ar,t.width*=ar,t.height*=ar,t}getLineRect(e){const{x1:t,x2:i,y1:r,y2:s}=e;return{x1:t.animVal.value*ar,x2:i.animVal.value*ar,y1:r.animVal.value*ar,y2:s.animVal.value*ar}}text(e,t,i,r,s={},n=!0){if(i.charCodeAt(0)===$6)return this;const o=this._doc;n&&o.save();const l=this.$_css(e),h=this.$_color(l.color),{textDecoration:c}=l;return l.fontStyle==="italic"&&(s.oblique=!0),c&&c.startsWith("underline")&&(s.underline=!0),c&&c.startsWith("line-through")&&(s.strike=!0),Xo.setFontSize(l,this),this.rotate(r,t),h&&o.fillColor(h.color,h.opacity),o.text(i,t.x,t.y,s),n&&o.restore(),this}richText(e,t,i,r){if(!e)return this;const s=this._doc;s.save(),this.rotate(r,i);const n=X.getTextOneLineHeight(e)*ar,o=this.$_css(t),{textAlign:l}=o;return Xo.setFontSize(o,this),new D1().parseLinesFromDom(e).forEach(c=>{let d=0;switch(l){case"start":case"left":d=i.x;break;case"end":case"right":d=i.x+(i.width-this.$_getLinesTextWidth(c.nodes));break;default:d=i.x+(i.width-this.$_getLinesTextWidth(c.nodes))/2;break}c.nodes.forEach((u,A)=>{if(u.type==="text"){const{color:f}=this.$_getPdfColor(u.color),p=s.widthOfString(u.text),g=c.line-1;u.bold?this.setFontBold():this.setFont(),A===0?s.fillColor(f).text(u.text,d,i.y+n*g,{underline:u.underline}):s.fillColor(f).text(u.text,d,i.y+n*g,{underline:u.underline}),d+=p}})}),s.restore(),this}svgText(e,t,i,r,s={},n=!0){if(i.charCodeAt(0)===$6)return this;const o=this._doc;n&&o.save();const{textDecoration:l,fontStyle:h,stroke:c,strokeWidth:d,strokeDasharray:u}=e,A=this.$_color(e.fill||e.color);return h==="italic"&&(s.oblique=!0),l&&l.startsWith("underline")&&(s.underline=!0),l&&l.startsWith("line-through")&&(s.strike=!0),Xo.setFontSize(e,this),this.rotate(r,t),A&&o.fillColor(A.color,A.opacity),o.text(i,t.x,t.y,s),n&&o.restore(),this}list(e,t,i,r=30,s=null){return this.$_render(e,(n,o)=>{this.setFontSize(10),s===Xn.CIRCLE&&n.circle(t.x-6,t.y+5,1.5).lineWidth(.5).stroke(),s===Xn.SQUARE&&n.rect(t.x-7,t.y+5,2.5,2.5).fill("black"),s===Xn.DISC&&n.circle(t.x-6,t.y+5,1.5).fill("black").lineWidth(.5).stroke(),i&&n.text(i,t.x-r,t.y,{align:"right",width:30})}),this}setFontSize(e){return this._doc.fontSize(e),this}setFont(e){return this._doc.font(this._font,"sans-serif"),this}setFontBold(e){return this._doc.font(this._fontBold,"sans-serif"),this}getMaxWidthOfString(e,t,i=!1){let r=0;return(i?e.split(/\r\n|\r|\n|\<br\>|<br\/>/g):e.split(/\r?\n|\r|\n/g)).forEach(n=>{const o=this.widthOfString(n,t);r<o&&(r=o)}),r}widthOfString(e,t={}){return this._doc.widthOfString(e,t)}heightOfString(e,t={}){return this._doc.heightOfString(e,t)}moveDown(){return this._doc.moveDown(),this}save(){return this._doc.save(),this}restore(){return this._doc.restore(),this}transformSvg(e){return this._doc.transform(e.a,e.b,e.c,e.d,e.e*ar,e.f*ar),this}translate(e,t){return this._doc.translate(e,t),this}rotate(e=0,t){return e!==0&&this._doc.rotate(e,{origin:[t.x+t.width/2,t.y+t.height/2]}),this}rotateOrigin(e=0,t){this._doc.rotate(e,{origin:t})}scale(e,t){return this._doc.scale(e,t),this}clip(e){const t=this.getBounds(e);return this._doc.rect(t.x,t.y,t.width,t.height).clip(),this}clipRect(e){return this._doc.rect(e.x,e.y,e.width,e.height).clip(),this}clipXY(e,t,i,r){return this._doc.rect(e,t,i,r).clip(),this}path(e,t){return this.$_render(e,(i,r)=>{const s=this.$_color(r.fill),n=this.$_color(r.stroke),o=parseFloat(r.strokeWidth);(s||n&&o>0)&&(n&&o>0&&i.path(t).lineWidth(o).strokeColor(n.color,n.opacity).stroke(),s&&i.path(t).fillColor(s.color,s.opacity).fill())}),this}svgLine(e,t){return this.$_render(e,(i,r)=>{const s=this.$_color(r.stroke),n=parseFloat(r.strokeWidth),o=parseFloat(r.strokeDasharray);o&&i.dash(o,{}),s&&i.moveTo(t.x1,t.y1).lineWidth(n).lineTo(t.x2,t.y2).strokeColor(s.color,s.opacity).stroke()}),this}dline(e,t,i,r,s){return this.$_render(e,(n,o)=>{this.$_border(o,"top")&&n.moveTo(t,i).lineTo(r,s).stroke()}),this}rect(e,t,i=0,r=!1){return this.$_render(e,(s,n)=>{const o=this.$_color(r?n.fill:n.backgroundColor);o&&(this.rotate(i,t),s.fillColor(o.color,o.opacity),s.rect(t.x,t.y,t.width,t.height).fill().stroke())}),this}polygon(e,t){return this.$_render(e,(i,r)=>{const s=parseFloat(r.strokeWidth),n=this.$_color(r.fill);if(n&&(i.fillColor(n.color,n.opacity),i.polygon(...t).fill()),s>0){const o=this.$_color(r.stroke),l=parseFloat(r.strokeDasharray)||0;o&&(i.strokeColor(o.color,o.opacity).lineWidth(s*ar),l>0&&i.dash(l,{}),i.polygon(...t).stroke())}}),this}ellipse(e,t){return this.$_render(e,(i,r)=>{const s=this.$_color(r.fill),n=t.width/2,o=t.height/2;s&&(i.fillColor(s.color,s.opacity),i.ellipse(t.x+n,t.y+o,n,o).fill());const l=parseFloat(r.strokeWidth);if(l>0){const h=this.$_color(r.stroke),c=parseFloat(r.strokeDasharray)||0;h&&(i.strokeColor(h.color,h.opacity).lineWidth(l*ar),c>0&&i.dash(c,{}),i.ellipse(t.x+n,t.y+o,n,o).stroke())}}),this}border(e,t){return this.$_render(e,(i,r)=>{this.$_border(r,"top")&&i.moveTo(t.x,t.y).lineTo(t.x+t.width,t.y).stroke()}),this.$_render(e,(i,r)=>{this.$_border(r,"bottom")&&i.moveTo(t.x,t.y+t.height).lineTo(t.x+t.width,t.y+t.height).stroke()}),this.$_render(e,(i,r)=>{this.$_border(r,"left")&&i.moveTo(t.x,t.y).lineTo(t.x,t.y+t.height).stroke()}),this.$_render(e,(i,r)=>{this.$_border(r,"right")&&i.moveTo(t.x+t.width,t.y).lineTo(t.x+t.width,t.y+t.height).stroke()}),this}borderXY(e,t,i,r,s){return this.$_render(e,(n,o)=>{this.$_border(o,"top")&&n.moveTo(t,i).lineTo(t+r,i).stroke()}),this.$_render(e,(n,o)=>{this.$_border(o,"bottom")&&n.moveTo(t,i+s).lineTo(t+r,i+s).stroke()}),this.$_render(e,(n,o)=>{this.$_border(o,"left")&&n.moveTo(t,i).lineTo(t,i+s).stroke()}),this.$_render(e,(n,o)=>{this.$_border(o,"right")&&n.moveTo(t+r,i).lineTo(t+r,i+s).stroke()}),this}image(e,t,i,r=0,s){const n="[IMAGE]";return this.$_render(e,(o,l)=>{this.rotate(r,i);try{t?(l.opacity&&o.fillOpacity(GSe.getOpacity(l.opacity)),o.image(t,i.x,i.y,s)):(o.fontSize(13*ar),this.rect(l,i,r),this.text(l,i,n,r,{width:i.width,align:"center"}))}catch(h){console.error("이미지 로드 중 오류가 발생했습니다.",h)}this.border(l,i)}),this}link(e,t){return this._doc.link(e.x,e.y,e.width,e.height,t),this}isPageHeaderItem(e){let t=!1;if(ee.isArray(this.report))for(const i of this.report)i.page.pageHeader.items.forEach(r=>{r===e&&(t=!0)});else this.report&&this.report.models&&this.report.page.pageHeader.items.forEach(i=>{i===e&&(t=!0)});return t}isPageFooterItem(e){let t=!1;if(ee.isArray(this.report))for(const i of this.report)i.page.pageFooter.items.forEach(r=>{r===e&&(t=!0)});else this.report&&this.report.models&&this.report.page.pageFooter.items.forEach(i=>{i===e&&(t=!0)});return t}$_build(e){const t=[];for(let i of e){const r=new $Se(this,i);t.push(r)}return t}$_render(e,t){e=this.$_css(e),this._doc.save(),t(this._doc,e),this._doc.restore()}$_css(e){return e instanceof Element&&(e=getComputedStyle(e)),e}$_color(e){let t=e,i=1;if(!e.startsWith("#"))if(e.startsWith("rgb")){const s=e.substring(e.startsWith("rgb(")?4:5,e.length-1).split(/\s*\,\s*/g);t="#";for(let n=0;n<3;n++)t+=ee.pad16(parseInt(s[n]),2);s.length>3&&(i=parseFloat(s[3]))}else return null;return i>0?{color:t,opacity:i}:null}$_getPdfColor(e){return Dt.isNamedColor(e)?this.$_color(`#${Jv[e.toUpperCase()]}`):this.$_color(e)}$_border(e,t){const i="border"+ee.capitalize(t),r=parseFloat(e[i+"Width"]);if(r>0){const s=this.$_color(e[i+"Color"]);if(s){const n=e[i+"Style"],o=n==="dotted"?1:n==="dashed"?2:0;return this._doc.strokeColor(s.color,s.opacity).lineWidth(r*ar),o>0&&this._doc.dash(o,{}),!0}}}$_getLinesTextWidth(e){let t=0;return e.forEach(i=>{if(i.type==="text"){const r=this.widthOfString(i.text);t+=r}}),t}}KF.FONT_SIZE=10;class Q$ extends Ai{}class $Se extends Q${constructor(e,t){super();const i=t.page.getBoundingClientRect();this.offsetX=i.x,this.offsetY=i.y,this.pageOrientation=t.pageOrientation,this._page=t,this._elements=this.$_build(e)}get reportIndex(){return this._page.reportIndex}write(e){for(let t of this._elements)t.write(e)}$_build(e){const t=this._page,i=[];i.push(new wa(e,t.background)),i.push(new wa(e,t.pageHeader));for(let r of t.contents){const s=r instanceof HTMLElement&&e.getModel(r),n=e.elementCreator(e,s,r);n&&i.push(n)}return i.push(new wa(e,t.pageFooter)),i.push(new wa(e,t.foreground)),i}}class wa extends Q${constructor(e,t){super(),this._dom=t,this._elements=t instanceof HTMLElement?this._build(e,t):void 0}needClip(e,t){const i=e.getModel(t);if(i instanceof ii){const r=getComputedStyle(t);if(i.width&&r.overflow==="hidden")return!0}return i instanceof Yi}findReportItemDom(e,t){const i=t.hash;let r=0,s=this._dom,n=null;for(;r<10;){if(s instanceof HTMLElement&&(n=s.querySelector(`[data-_m_="${i}"`),n))return n;s=s.parentElement,r+=1}return n}write(e){if(this._doBeginWrite(e,this._dom),this._doWrite(e,this._dom),this._elements)for(let t of this._elements)t.write(e);this.$_writeLink(e,this._dom),this._doEndWrite(e,this._dom)}_doBeginWrite(e,t){t instanceof HTMLElement&&this.needClip(e,t)&&(e.save(),e.clip(t))}_doEndWrite(e,t){t instanceof HTMLElement&&this.needClip(e,t)&&e.restore()}_doWrite(e,t){if(t instanceof HTMLElement){const i=e.getParentModel(t),r=e.getModel(t),s=e.getBoundsBeforeRotate(t),n=getComputedStyle(t),o=r!=null&&r.canRotate()?r.rotation:0,l=e.getBounds(t);if(t.classList.contains(Fa.BORDER_CONTAINER)&&e.rect(t,l).border(n,l),i instanceof Vn)return;if(t instanceof HTMLSpanElement){const h=t.innerText;h&&e.text(n,s,h,o)}else if(t instanceof HTMLElement&&t.tagName==="B"){const h=t.textContent;h&&e.text(n,s,h,o)}else(r instanceof ii||r instanceof On||r instanceof bh||r instanceof Ws||r instanceof Yi||r instanceof xo)&&e.rect(n,s,o).border(n,s)}}_build(e,t){const i=[],r=t.children,s=e.getModel(t);if(Xo.isTextItemSpan(e,t)||s instanceof Co)return i;for(let n=0;n<r.length;n++){const o=r[n],l=(o instanceof HTMLElement||o instanceof SVGSVGElement)&&e.getModel(o),h=e.elementCreator(e,l,o);h&&i.push(h)}return i}_getLink(e){}$_writeLink(e,t){if(t instanceof HTMLElement){const i=this._getLink(t);if(i){const r=e.getBounds(t);e.link(r,i)}}}}class G$ extends wa{_needClip(){return!1}_doBeginWrite(e,t){this._needClip()&&(e.save(),e.clip(t))}_doEndWrite(e,t){this._needClip()&&e.restore()}_doWrite(e,t){const i=e.getBounds(t),r=getComputedStyle(t);e.rect(r,i),e.border(r,i)}}class Xo extends wa{static setFontSize(e,t){const{fontSize:i,fontWeight:r,fontFamily:s}=e;let n=parseFloat(i),o=KF.FONT_SIZE;return i.endsWith("px")&&(o=n*ar),parseFloat(r)>=700?t.setFontBold(s):t.setFont(s),t.setFontSize(o),o}static getPaddingX(e){if(!e)return 0;const{paddingLeft:t,paddingRight:i}=e;return parseFloat(t)*ar-parseFloat(i)*ar}static getTableTextGap(e,t){return t.x-e.x}static getLineGap(e,t){let i=parseFloat(e),r=parseFloat(t);return e.endsWith("px")&&(i*=ar),t.startsWith("px")&&(r*=ar),i<r?Math.round(r/(r-i)*100)/100:i-r}static getTextLines(e,t){return e?t.split(/\r\n|\r|\n|<br>|<br\/>/g):t.split(/\r\n|\r|\n/g)}static getTextMaxWidth(e,t,i,r){let s=0;return Xo.getTextLines(t.multiLine,i).forEach(o=>{const l=e.widthOfString(o,r);s<=l&&(s=l)}),s}static isMultiLineText(e,t){return e.multiLine||/\r\n|\r|\n/g.test(t)}static isTextItemSpan(e,t){return e.getModel(t)instanceof ri&&t.className===vu.SPAN}_doWrite(e,t){const i=e.getModel(t),r=e.getParentModel(t);i instanceof Co?this.$_writeTextBand(e,t):r instanceof Ok?this.$_writeTextCell(e,t,r):r instanceof ZP?this.$_writeTextCell(e,t,r):r instanceof Hr?this.$_writeBoxText(e,t,r):t instanceof Text?this.$_writeText(e,t):t instanceof HTMLSpanElement&&this.$_writeTextItem(e,t)}_getLink(e){var t;return(t=e.nextSibling)===null||t===void 0?void 0:t.href}$_writeTextItem(e,t){let i=t.innerText;if(!i)return;const r=e.getModel(t);if(!(r instanceof ri))return;const s=e.getBoundsBeforeRotate(t.parentElement),n=getComputedStyle(t.parentElement),o=e.getBoundsBeforeRotate(t),l=r.canRotate()?r.rotation:0,h=getComputedStyle(t),{fontSize:c,lineHeight:d}=h,u={};Xo.setFontSize(h,e),r.getStyle("lineHeight")&&d&&(u.lineGap=Xo.getLineGap(c,d));let f=0;i=ee.replaceMacEmptyChar(i),r.multiLine&&(i=i.replace(/<br>|<br\/>/g,`
|
|
78
|
+
`),u=d.length;d.forEach((A,f)=>{c!==""&&t.push({type:"text",text:A,color:l,bold:s,underline:n,italic:o}),u-1!==f&&t.push({type:"lineBreak"})})}}else if(r.nodeType===Node.ELEMENT_NODE){const l=r;if(l.tagName.toLowerCase()==="br"){t.push({type:"lineBreak"});return}let h=s,c=n,d=o;l.tagName.toLowerCase()==="b"&&(h=!0),l.tagName.toLowerCase()==="u"&&(c=!0),l.tagName.toLowerCase()==="i"&&(d=!0);for(const u of Array.from(l.childNodes))i(u,h,c,d)}}for(const r of Array.from(e.childNodes))i(r,!1,!1,!1);return t}parseLinesFromDom(e){const t=new Map,i=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let s;for(;s=r.nextNode();)s.textContent&&i.push(s);const n=[];for(const l of i){const h=document.createRange();h.selectNodeContents(l);const c=l.textContent||"";if(c==="")continue;const d=this.getComputedStyleForNode(l),u=h.getClientRects();if(u.length===0)continue;let A=u[0].top,f="",p=this.getLineNumber(A,n);for(let g=0;g<c.length;g++){h.setStart(l,g),h.setEnd(l,g+1);const _=h.getBoundingClientRect();if(Math.abs(_.top-A)>2){const m=f.trim();m!==""?(this.addTextToLine(t,p,f,d),f=""):this.addTextToLine(t,p,m,d),A=_.top,p=this.getLineNumber(A,n)}f+=c[g]}this.addTextToLine(t,p,f,d)}return Array.from(t.entries()).map(([l,h])=>({line:l,nodes:h})).sort((l,h)=>l.line-h.line)}getComputedStyleForNode(e){const t={color:"black",bold:!1,underline:!1,italic:!1};try{if(e.nodeType===Node.TEXT_NODE&&e.parentElement){const i=e.parentElement,r=window.getComputedStyle(i),s=r.color||t.color,o=parseInt(r.fontWeight,10)>=700||r.fontWeight==="bold"||r.fontWeight==="bolder",l=r.textDecoration.includes("underline"),h=r.fontStyle==="italic";return{color:s,bold:o,underline:l,italic:h}}}catch(i){console.error("스타일 계산 중 오류 발생:",i)}return t}getLineNumber(e,t){for(const r of t)if(Math.abs(r.top-e)<2)return r.lineNumber;const i=t.length+1;return t.push({top:e,lineNumber:i}),i}addTextToLine(e,t,i,r){e.has(t)||e.set(t,[]);const s=e.get(t),n=s.length>0?s[s.length-1]:null;i!==""&&(n&&n.type==="text"&&n.color===r.color&&n.bold===r.bold&&n.underline===r.underline&&n.italic===r.italic?n.text+=i:s.push({type:"text",text:i.replace(fce,""),color:r.color,bold:r.bold,underline:r.underline,italic:r.italic}))}}const ar=72/Ct.HTMLDPI,gm=a=>a*72/Ct.HTMLDPI;class KF extends Ai{constructor(e,t,i){super(),this._font="",this._fontBold="",this._report=e,this.elementCreator=i,this._imageLoader=new NT,this._domConverter=new d2,this._pages=this.$_build(t),this._fontMap=new Map}_doDispose(){super._doDispose()}get report(){return this._report}get font(){return this._font}get fontBold(){return this._fontBold}getOrientation(e){let t;return ee.isArray(this.report)?t=this.report[0].paper.orientation||"portrait":this.report&&this.report.models&&(t=this.report.paper.orientation||"portrait"),this._pages[e]?this._pages[e].pageOrientation:t}getModel(e){if(!e)return;const t=e.dataset[qt];if(!t)return;let i;if(ee.isArray(this.report)){for(const r of this.report)if(i=r.models&&r.models[t],i)break}else if(this.report&&this.report.models)return this.report.models[t];return i}getParentModel(e){if(e instanceof HTMLElement){let t=0;const i=this.getModel(e);let r=null;for(;e&&t<100;){if(e=e.parentElement,e&&i!==this.getModel(e)){if(ee.isArray(this._report)){for(const s of this._report)if(r=s.models[e.dataset[qt]],r)break}else this._report&&this._report.models&&(r=this._report.models[e.dataset[qt]]);if(r)return r}t+=1}}else return null}getParent(e){for(;e;){if(e instanceof HTMLElement){let t;if(ee.isArray(this._report)){for(const i of this._report)if(t=i.models[e.dataset[qt]],t)break}else this._report&&this._report.models&&(t=this._report.models[e.dataset[qt]]);if(t)return e}e=e.parentElement}}imageLoaderAddUrl(e,t){this._imageLoader.addUrl(e,t)}domConverterAdd(e,t){this._domConverter.add(e,t)}getImage(e){return this._imageLoader.get(e)}getDomImage(e){return this._domConverter.getImageDataUrl(e)}async prepare(){await Promise.all([this._imageLoader.loadImages(),this._domConverter.loadToImage()])}write(e,t){this._doc=e,t.forEach(i=>{const r=this._fontMap.get(i.name);r?r.push({style:i.style,weight:i.weight}):this._fontMap.set(i.name,[{style:i.style,weight:i.weight}]),i.weight==="normal"&&this._font===""&&(this._font=`${i.name}-${i.weight}`),i.weight==="bold"&&this._fontBold===""&&(this._fontBold=`${i.name}-${i.weight}`)});for(let i=0;i<this._pages.length;i++){const r=this._pages[i];if(this._offsetX=r.offsetX,this._offsetY=r.offsetY,r.write(this),i<this._pages.length-1){const s=this._pages[i+1].pageOrientation;if(ee.isArray(this.report)){const n=this.report[this._pages[i+1].reportIndex].paper,o=n.getPageSize(null),l=Math.round(gm(o.width)),h=Math.round(gm(o.height));e.addPage({...e.options,size:n.orientation===dl.LANDSCAPE?[h,l]:[l,h],layout:s})}else e.addPage({...e.options,layout:s})}}}getBounds(e){const t=e.getBoundingClientRect();return t.x-=this._offsetX,t.y-=this._offsetY,t.x*=ar,t.y*=ar,t.width*=ar,t.height*=ar,t}getBoundsBeforeRotate(e){var t;const i=(t=e.style)===null||t===void 0?void 0:t.transform,r=this.getBounds(e);if(e.style.transform){e.style.transform=null;const s=this.getBounds(e);return e.style.transform=i,s}return r}getTextBounds(e){const t=ee.getTextRect(e);return t.x-=this._offsetX,t.y-=this._offsetY,t.x*=ar,t.y*=ar,t.width*=ar,t.height*=ar,t}getBox(e){const t=e.getBBox();return t.x*=ar,t.y*=ar,t.width*=ar,t.height*=ar,t}getLineRect(e){const{x1:t,x2:i,y1:r,y2:s}=e;return{x1:t.animVal.value*ar,x2:i.animVal.value*ar,y1:r.animVal.value*ar,y2:s.animVal.value*ar}}text(e,t,i,r,s={},n=!0){if(i.charCodeAt(0)===$6)return this;const o=this._doc;n&&o.save();const l=this.$_css(e),h=this.$_color(l.color),{textDecoration:c}=l;return l.fontStyle==="italic"&&(s.oblique=!0),c&&c.startsWith("underline")&&(s.underline=!0),c&&c.startsWith("line-through")&&(s.strike=!0),Xo.setFontSize(l,this),this.rotate(r,t),h&&o.fillColor(h.color,h.opacity),o.text(i,t.x,t.y,s),n&&o.restore(),this}richText(e,t,i,r){if(!e)return this;const s=this._doc;s.save(),this.rotate(r,i);const n=X.getTextOneLineHeight(e)*ar,o=this.$_css(t),{textAlign:l,fontFamily:h}=o;return Xo.setFontSize(o,this),new D1().parseLinesFromDom(e).forEach(d=>{let u=0;switch(l){case"start":case"left":u=i.x;break;case"end":case"right":u=i.x+(i.width-this.$_getLinesTextWidth(d.nodes));break;default:u=i.x+(i.width-this.$_getLinesTextWidth(d.nodes))/2;break}d.nodes.forEach((A,f)=>{if(A.type==="text"){const{color:p}=this.$_getPdfColor(A.color),g=s.widthOfString(A.text),_=d.line-1;A.bold?this.setFontBold(h):this.setFont(h),f===0?s.fillColor(p).text(A.text,u,i.y+n*_,{underline:A.underline}):s.fillColor(p).text(A.text,u,i.y+n*_,{underline:A.underline}),u+=g}})}),s.restore(),this}svgText(e,t,i,r,s={},n=!0){if(i.charCodeAt(0)===$6)return this;const o=this._doc;n&&o.save();const{textDecoration:l,fontStyle:h,stroke:c,strokeWidth:d,strokeDasharray:u}=e,A=this.$_color(e.fill||e.color);return h==="italic"&&(s.oblique=!0),l&&l.startsWith("underline")&&(s.underline=!0),l&&l.startsWith("line-through")&&(s.strike=!0),Xo.setFontSize(e,this),this.rotate(r,t),A&&o.fillColor(A.color,A.opacity),o.text(i,t.x,t.y,s),n&&o.restore(),this}list(e,t,i,r=30,s=null){return this.$_render(e,(n,o)=>{this.setFontSize(10),s===Xn.CIRCLE&&n.circle(t.x-6,t.y+5,1.5).lineWidth(.5).stroke(),s===Xn.SQUARE&&n.rect(t.x-7,t.y+5,2.5,2.5).fill("black"),s===Xn.DISC&&n.circle(t.x-6,t.y+5,1.5).fill("black").lineWidth(.5).stroke(),i&&n.text(i,t.x-r,t.y,{align:"right",width:30})}),this}isFontExist(e="",t,i){if(e==="")return!1;const r=this._fontMap.get(e);return r?!!r.find(n=>n.style===t&&n.weight===i):!1}setFontSize(e){return this._doc.fontSize(e),this}setFont(e=""){const t=e.replace(/"/g,"");return this.isFontExist(t,"normal","normal")?this._doc.font(`${t}-normal`,"sans-serif"):(console.warn(`일치하는 폰트가 없어 ${this._font} 폰트를 사용합니다.`),this._doc.font(this._font,"sans-serif")),this}setFontBold(e=""){const t=e.replace(/"/g,"");return this.isFontExist(t,"normal","bold")?this._doc.font(`${t}-bold`,"sans-serif"):(console.warn(`일치하는 폰트가 없어 ${this._fontBold} 폰트를 사용합니다.`),this._doc.font(this._fontBold,"sans-serif")),this}getMaxWidthOfString(e,t,i=!1){let r=0;return(i?e.split(/\r\n|\r|\n|\<br\>|<br\/>/g):e.split(/\r?\n|\r|\n/g)).forEach(n=>{const o=this.widthOfString(n,t);r<o&&(r=o)}),r}widthOfString(e,t={}){return this._doc.widthOfString(e,t)}heightOfString(e,t={}){return this._doc.heightOfString(e,t)}moveDown(){return this._doc.moveDown(),this}save(){return this._doc.save(),this}restore(){return this._doc.restore(),this}transformSvg(e){return this._doc.transform(e.a,e.b,e.c,e.d,e.e*ar,e.f*ar),this}translate(e,t){return this._doc.translate(e,t),this}rotate(e=0,t){return e!==0&&this._doc.rotate(e,{origin:[t.x+t.width/2,t.y+t.height/2]}),this}rotateOrigin(e=0,t){this._doc.rotate(e,{origin:t})}scale(e,t){return this._doc.scale(e,t),this}clip(e){const t=this.getBounds(e);return this._doc.rect(t.x,t.y,t.width,t.height).clip(),this}clipRect(e){return this._doc.rect(e.x,e.y,e.width,e.height).clip(),this}clipXY(e,t,i,r){return this._doc.rect(e,t,i,r).clip(),this}path(e,t){return this.$_render(e,(i,r)=>{const s=this.$_color(r.fill),n=this.$_color(r.stroke),o=parseFloat(r.strokeWidth);(s||n&&o>0)&&(n&&o>0&&i.path(t).lineWidth(o).strokeColor(n.color,n.opacity).stroke(),s&&i.path(t).fillColor(s.color,s.opacity).fill())}),this}svgLine(e,t){return this.$_render(e,(i,r)=>{const s=this.$_color(r.stroke),n=parseFloat(r.strokeWidth),o=parseFloat(r.strokeDasharray);o&&i.dash(o,{}),s&&i.moveTo(t.x1,t.y1).lineWidth(n).lineTo(t.x2,t.y2).strokeColor(s.color,s.opacity).stroke()}),this}dline(e,t,i,r,s){return this.$_render(e,(n,o)=>{this.$_border(o,"top")&&n.moveTo(t,i).lineTo(r,s).stroke()}),this}rect(e,t,i=0,r=!1){return this.$_render(e,(s,n)=>{const o=this.$_color(r?n.fill:n.backgroundColor);o&&(this.rotate(i,t),s.fillColor(o.color,o.opacity),s.rect(t.x,t.y,t.width,t.height).fill().stroke())}),this}polygon(e,t){return this.$_render(e,(i,r)=>{const s=parseFloat(r.strokeWidth),n=this.$_color(r.fill);if(n&&(i.fillColor(n.color,n.opacity),i.polygon(...t).fill()),s>0){const o=this.$_color(r.stroke),l=parseFloat(r.strokeDasharray)||0;o&&(i.strokeColor(o.color,o.opacity).lineWidth(s*ar),l>0&&i.dash(l,{}),i.polygon(...t).stroke())}}),this}ellipse(e,t){return this.$_render(e,(i,r)=>{const s=this.$_color(r.fill),n=t.width/2,o=t.height/2;s&&(i.fillColor(s.color,s.opacity),i.ellipse(t.x+n,t.y+o,n,o).fill());const l=parseFloat(r.strokeWidth);if(l>0){const h=this.$_color(r.stroke),c=parseFloat(r.strokeDasharray)||0;h&&(i.strokeColor(h.color,h.opacity).lineWidth(l*ar),c>0&&i.dash(c,{}),i.ellipse(t.x+n,t.y+o,n,o).stroke())}}),this}border(e,t){return this.$_render(e,(i,r)=>{this.$_border(r,"top")&&i.moveTo(t.x,t.y).lineTo(t.x+t.width,t.y).stroke()}),this.$_render(e,(i,r)=>{this.$_border(r,"bottom")&&i.moveTo(t.x,t.y+t.height).lineTo(t.x+t.width,t.y+t.height).stroke()}),this.$_render(e,(i,r)=>{this.$_border(r,"left")&&i.moveTo(t.x,t.y).lineTo(t.x,t.y+t.height).stroke()}),this.$_render(e,(i,r)=>{this.$_border(r,"right")&&i.moveTo(t.x+t.width,t.y).lineTo(t.x+t.width,t.y+t.height).stroke()}),this}borderXY(e,t,i,r,s){return this.$_render(e,(n,o)=>{this.$_border(o,"top")&&n.moveTo(t,i).lineTo(t+r,i).stroke()}),this.$_render(e,(n,o)=>{this.$_border(o,"bottom")&&n.moveTo(t,i+s).lineTo(t+r,i+s).stroke()}),this.$_render(e,(n,o)=>{this.$_border(o,"left")&&n.moveTo(t,i).lineTo(t,i+s).stroke()}),this.$_render(e,(n,o)=>{this.$_border(o,"right")&&n.moveTo(t+r,i).lineTo(t+r,i+s).stroke()}),this}image(e,t,i,r=0,s){const n="[IMAGE]";return this.$_render(e,(o,l)=>{this.rotate(r,i);try{t?(l.opacity&&o.fillOpacity(GSe.getOpacity(l.opacity)),o.image(t,i.x,i.y,s)):(o.fontSize(13*ar),this.rect(l,i,r),this.text(l,i,n,r,{width:i.width,align:"center"}))}catch(h){console.error("이미지 로드 중 오류가 발생했습니다.",h)}this.border(l,i)}),this}link(e,t){return this._doc.link(e.x,e.y,e.width,e.height,t),this}isPageHeaderItem(e){let t=!1;if(ee.isArray(this.report))for(const i of this.report)i.page.pageHeader.items.forEach(r=>{r===e&&(t=!0)});else this.report&&this.report.models&&this.report.page.pageHeader.items.forEach(i=>{i===e&&(t=!0)});return t}isPageFooterItem(e){let t=!1;if(ee.isArray(this.report))for(const i of this.report)i.page.pageFooter.items.forEach(r=>{r===e&&(t=!0)});else this.report&&this.report.models&&this.report.page.pageFooter.items.forEach(i=>{i===e&&(t=!0)});return t}$_build(e){const t=[];for(let i of e){const r=new $Se(this,i);t.push(r)}return t}$_render(e,t){e=this.$_css(e),this._doc.save(),t(this._doc,e),this._doc.restore()}$_css(e){return e instanceof Element&&(e=getComputedStyle(e)),e}$_color(e){let t=e,i=1;if(!e.startsWith("#"))if(e.startsWith("rgb")){const s=e.substring(e.startsWith("rgb(")?4:5,e.length-1).split(/\s*\,\s*/g);t="#";for(let n=0;n<3;n++)t+=ee.pad16(parseInt(s[n]),2);s.length>3&&(i=parseFloat(s[3]))}else return null;return i>0?{color:t,opacity:i}:null}$_getPdfColor(e){return Dt.isNamedColor(e)?this.$_color(`#${Jv[e.toUpperCase()]}`):this.$_color(e)}$_border(e,t){const i="border"+ee.capitalize(t),r=parseFloat(e[i+"Width"]);if(r>0){const s=this.$_color(e[i+"Color"]);if(s){const n=e[i+"Style"],o=n==="dotted"?1:n==="dashed"?2:0;return this._doc.strokeColor(s.color,s.opacity).lineWidth(r*ar),o>0&&this._doc.dash(o,{}),!0}}}$_getLinesTextWidth(e){let t=0;return e.forEach(i=>{if(i.type==="text"){const r=this.widthOfString(i.text);t+=r}}),t}}KF.FONT_SIZE=10;class Q$ extends Ai{}class $Se extends Q${constructor(e,t){super();const i=t.page.getBoundingClientRect();this.offsetX=i.x,this.offsetY=i.y,this.pageOrientation=t.pageOrientation,this._page=t,this._elements=this.$_build(e)}get reportIndex(){return this._page.reportIndex}write(e){for(let t of this._elements)t.write(e)}$_build(e){const t=this._page,i=[];i.push(new wa(e,t.background)),i.push(new wa(e,t.pageHeader));for(let r of t.contents){const s=r instanceof HTMLElement&&e.getModel(r),n=e.elementCreator(e,s,r);n&&i.push(n)}return i.push(new wa(e,t.pageFooter)),i.push(new wa(e,t.foreground)),i}}class wa extends Q${constructor(e,t){super(),this._dom=t,this._elements=t instanceof HTMLElement?this._build(e,t):void 0}needClip(e,t){const i=e.getModel(t);if(i instanceof ii){const r=getComputedStyle(t);if(i.width&&r.overflow==="hidden")return!0}return i instanceof Yi}findReportItemDom(e,t){const i=t.hash;let r=0,s=this._dom,n=null;for(;r<10;){if(s instanceof HTMLElement&&(n=s.querySelector(`[data-_m_="${i}"`),n))return n;s=s.parentElement,r+=1}return n}write(e){if(this._doBeginWrite(e,this._dom),this._doWrite(e,this._dom),this._elements)for(let t of this._elements)t.write(e);this.$_writeLink(e,this._dom),this._doEndWrite(e,this._dom)}_doBeginWrite(e,t){t instanceof HTMLElement&&this.needClip(e,t)&&(e.save(),e.clip(t))}_doEndWrite(e,t){t instanceof HTMLElement&&this.needClip(e,t)&&e.restore()}_doWrite(e,t){if(t instanceof HTMLElement){const i=e.getParentModel(t),r=e.getModel(t),s=e.getBoundsBeforeRotate(t),n=getComputedStyle(t),o=r!=null&&r.canRotate()?r.rotation:0,l=e.getBounds(t);if(t.classList.contains(Fa.BORDER_CONTAINER)&&e.rect(t,l).border(n,l),i instanceof Vn)return;if(t instanceof HTMLSpanElement){const h=t.innerText;h&&e.text(n,s,h,o)}else if(t instanceof HTMLElement&&t.tagName==="B"){const h=t.textContent;h&&e.text(n,s,h,o)}else(r instanceof ii||r instanceof On||r instanceof bh||r instanceof Ws||r instanceof Yi||r instanceof xo)&&e.rect(n,s,o).border(n,s)}}_build(e,t){const i=[],r=t.children,s=e.getModel(t);if(Xo.isTextItemSpan(e,t)||s instanceof Co)return i;for(let n=0;n<r.length;n++){const o=r[n],l=(o instanceof HTMLElement||o instanceof SVGSVGElement)&&e.getModel(o),h=e.elementCreator(e,l,o);h&&i.push(h)}return i}_getLink(e){}$_writeLink(e,t){if(t instanceof HTMLElement){const i=this._getLink(t);if(i){const r=e.getBounds(t);e.link(r,i)}}}}class G$ extends wa{_needClip(){return!1}_doBeginWrite(e,t){this._needClip()&&(e.save(),e.clip(t))}_doEndWrite(e,t){this._needClip()&&e.restore()}_doWrite(e,t){const i=e.getBounds(t),r=getComputedStyle(t);e.rect(r,i),e.border(r,i)}}class Xo extends wa{static setFontSize(e,t){const{fontSize:i,fontWeight:r,fontFamily:s}=e;let n=parseFloat(i),o=KF.FONT_SIZE;return i.endsWith("px")&&(o=n*ar),parseFloat(r)>=700?t.setFontBold(s):t.setFont(s),t.setFontSize(o),o}static getPaddingX(e){if(!e)return 0;const{paddingLeft:t,paddingRight:i}=e;return parseFloat(t)*ar-parseFloat(i)*ar}static getTableTextGap(e,t){return t.x-e.x}static getLineGap(e,t){let i=parseFloat(e),r=parseFloat(t);return e.endsWith("px")&&(i*=ar),t.startsWith("px")&&(r*=ar),i<r?Math.round(r/(r-i)*100)/100:i-r}static getTextLines(e,t){return e?t.split(/\r\n|\r|\n|<br>|<br\/>/g):t.split(/\r\n|\r|\n/g)}static getTextMaxWidth(e,t,i,r){let s=0;return Xo.getTextLines(t.multiLine,i).forEach(o=>{const l=e.widthOfString(o,r);s<=l&&(s=l)}),s}static isMultiLineText(e,t){return e.multiLine||/\r\n|\r|\n/g.test(t)}static isTextItemSpan(e,t){return e.getModel(t)instanceof ri&&t.className===vu.SPAN}_doWrite(e,t){const i=e.getModel(t),r=e.getParentModel(t);i instanceof Co?this.$_writeTextBand(e,t):r instanceof Ok?this.$_writeTextCell(e,t,r):r instanceof ZP?this.$_writeTextCell(e,t,r):r instanceof Hr?this.$_writeBoxText(e,t,r):t instanceof Text?this.$_writeText(e,t):t instanceof HTMLSpanElement&&this.$_writeTextItem(e,t)}_getLink(e){var t;return(t=e.nextSibling)===null||t===void 0?void 0:t.href}$_writeTextItem(e,t){let i=t.innerText;if(!i)return;const r=e.getModel(t);if(!(r instanceof ri))return;const s=e.getBoundsBeforeRotate(t.parentElement),n=getComputedStyle(t.parentElement),o=e.getBoundsBeforeRotate(t),l=r.canRotate()?r.rotation:0,h=getComputedStyle(t),{fontSize:c,lineHeight:d}=h,u={};Xo.setFontSize(h,e),r.getStyle("lineHeight")&&d&&(u.lineGap=Xo.getLineGap(c,d));let f=0;i=ee.replaceMacEmptyChar(i),r.multiLine&&(i=i.replace(/<br>|<br\/>/g,`
|
|
79
79
|
`)),f=Math.ceil(e.heightOfString(i,u)),r.height&&(r.multiLine||o.height>f&&(h.verticalAlign==="middle"&&(o.y=o.y+(o.height-f)/2),h.verticalAlign==="bottom"&&(o.y=o.y+(o.height-f)))),e.rect(n,s,l),e.richText(t,h,o,l),e.borderXY(n,s.x,s.y,s.width,s.height)}$_writeText(e,t){let i=t.textContent;if(!i)return;const r=e.getTextBounds(t),s=getComputedStyle(t.parentElement);Xo.setFontSize(s,e),e.text(s,r,i,0)}$_writeTextBand(e,t){var i;let r=(i=t.textContent)!==null&&i!==void 0?i:"";const s=e.getBounds(t),n=getComputedStyle(t.firstChild);Xo.setFontSize(n,e),n&&e.rect(n,s).border(n,s),e.text(n,s,r,0,{width:s.width})}$_writeBoxText(e,t,i){let r=t.innerText;if(!r)return;const s=e.getParent(t.parentElement.parentElement),n=e.getBoundsBeforeRotate(s),o=e.getModel(t),l=e.getBoundsBeforeRotate(t),h=getComputedStyle(t),c=e.getBoundsBeforeRotate(t.parentElement),d=getComputedStyle(t.parentElement),u=d.textAlign?d.textAlign:"center",A=o.canRotate()?o.rotation:0,f={align:u};e.save(),o.multiLine&&(r=r.replace(/<br>|<br\/>/g,`
|
|
80
80
|
`)),Xo.setFontSize(h,e);const p=o.getStyle("lineHeight"),g=(parseFloat(p)-parseFloat(h.fontSize))*ar;p&&(f.lineGap=Number.isNaN(g)?0:g);let _=Xo.getTextMaxWidth(e,o,r,f),m=e.heightOfString(r,f);d&&e.rect(d,c).border(d,c),o.width?f.width=l.width:(f.width=_>c.width?_:n.width,f.align="justify"),o.height&&(o.multiLine||l.height>m&&(h.verticalAlign==="middle"&&(l.y=l.y+(l.height-m)/2),h.verticalAlign==="bottom"&&(l.y=l.y+(l.height-m)))),o.multiLine&&(r=r.replace(/<br>|<br\/>/g,`
|
|
81
81
|
`)),e.richText(t,h,l,A),e.restore(),e.borderXY(d,c.x,c.y,c.width,c.height)}$_writeTextCell(e,t,i){let r=t.innerText;if(!r)return;i.table.getCell(i.row,i.col);const s=this.findReportItemDom(e,i),n=e.getBoundsBeforeRotate(s),o=e.getModel(t),l=t.parentElement,h=e.getBoundsBeforeRotate(t),c=getComputedStyle(l),d=e.getBoundsBeforeRotate(t.parentElement),u=getComputedStyle(t),A=o.canRotate()?o.rotation:0,{textAlign:f,fontSize:p,lineHeight:g}=u;e.save(),c&&e.rect(c,d).border(c,d),Xo.setFontSize(u,e),o.getStyle("lineHeight")&&Xo.getLineGap(p,g),o.multiLine&&(r=r.replace(/<br>|<br\/>/g,`
|
|
@@ -90,7 +90,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
90
90
|
--rr-print-width: ${v.width}px;
|
|
91
91
|
--rr-print-height: ${v.height}px;
|
|
92
92
|
size: ${_._printMode===el.LANDSCAPE?"var(--rr-print-height) var(--rr-print-width)":"var(--rr-print-width) var(--rr-print-height)"};
|
|
93
|
-
}`,m.appendChild(y);const C=e.createElement("div");i&&(C.id=zi.PREVIEW_CLASS+r),C.className="rr-report-root"+(i?" "+zi.PREVIEW_CLASS:""),t.report.type===mt.EMAIL&&(C.className+=C.className+" rr-email"),m.appendChild(C),t.container=C}else m=_._containerDiv.getElementsByClassName(zi.PRINT_BACK_CLASS)[0],t.container=m.getElementsByClassName("rr-report-root")[0]}function o(_,m){const w=t.floatings;if(w.length>0){const y=[];for(let v of w){const C=v[td];for(let E of m){const P=E.page;if(P.contains(C)){y.push(P),E.contents.push(v);break}}}_.$_layoutFloatings(y,w)}}function l(_){d.$_endPrint(t),ee.remove(_._indicator),ee.detach(_._containerDom),s.debug&&console.log("Printed in "+(+new Date-c)+"ms."),_.$_removeBackContainer()}if(t.report.getMaxPageCount()<1){ee.remove(this._indicator);return}const h=e.getElementById(zi.PREVIEW_CLASS+r);let c;t.reportIndex===0&&(s.debug&&(c=+new Date),h&&(ee.detach(h),this.containerDiv.appendChild(this._containerDom)),this._hideError());const d=t.reportView,u=d.model;u.info.paper;const A=d.pageViews,f=s.async&&!this._isTesting,p=s.endCallback;t.async=f,t.preview=i,t.pageDelay=Math.max(0,ee.pickNum(s.pageDelay,0)),t.designDp&&t.designDp.preparePrint(t),t.dp&&t.dp.preparePrint(t),t.initialize(),d.$_preparePrint(t);let g=[];A.forEach((_,m,w)=>{const y=_.model.getPageSize();t.setPageSize(y.width,y.height),t.setBodySize();const v=_.prepareAsync(e,t);m<w.length-1&&v.push({line:new bg,pageIndex:_.model.index}),g=g.concat(v)});try{if(this._printMode===el.MULTI)throw Error(hV.PAGING_FALSE_NOT_ALLOED_MULTI_PAGE);n(this);const _=[];this.$_buildNoPagingOutput(e,t,_,g,0,0,(m,w)=>{this._pages=w.concat(this._pages),p&&p(m,this._pages)}),this.$_resetPreviewer(),o(this,_),l(this)}catch(_){ee.remove(this._indicator),this._showError(h,_),console.error(_);return}}$_getContainer(){return this._containerDiv}$_getPreviewer(e){return this.doc.getElementById(zi.PREVIEW_CLASS+(e||this._previewId))}$_getPageHeight(e){return this._printMode===el.MULTI||this._printMode===el.PORTRAIT?e.find(i=>i.pageOrientation===dl.PORTRAIT).page.offsetHeight:this._printMode===el.LANDSCAPE?e.find(i=>i.pageOrientation===dl.LANDSCAPE).page.offsetHeight:null}$_getPrintBack(){return this._containerDiv.querySelector(`.${zi.PRINT_BACK_CLASS}`)}$_removeBackContainer(){const e=this.$_getPrintBack();e&&e.replaceWith(...e.childNodes)}$_resetPreviewer(){if(this._preview){const e=this.$_getPreviewer(this._previewId),t=this.$_getContainer().getBoundingClientRect(),i=this._zoom;ee.extend(e.style,this._styles),e.style.transform=i==1?"":"scale("+i+")",e.style.setProperty("transform-origin","top left","important"),e.style.overflow="hidden";const r=e.getBoundingClientRect().width||t.width;let s=0;switch(this.align){case Pi.LEFT:break;case Pi.RIGHT:s=t.width-r;break;case Pi.CENTER:default:s=Math.round((t.width-r)/2)}e.style.left=Math.max(0,s)+"px"}}$_buildOutput(e,t,i,r,s,n,o,l,h){var c;function d(){const re=V.length,Z=V[0],le=V[re-1],Ae=le.y+le.h-Z.y;let pe=0;B===eo.END?pe=W-Ae:pe=(W-Ae)/2,pe=Math.max(0,Math.floor(pe)),pe!==0&&V.forEach(me=>{me.line.style.top=Et(me.y+pe)})}const u=r[s]?r[s].pageIndex:0,A=t.report,f=A.getPage(u),p=t.reportView.getPageView(u),g=A.page.pageHeader,_=A.page.pageFooter,m=A.page.reportFooter,w=A.info.paper,y=f.getPageSize(),v=y.height,C=new X5,E=C.contents,P=e.createElement("div"),I=e.createElement("div"),R=t.floatings,D=s,S=t.async,B=f.body.itemsAlign,{singlePage:b,singlePageOptions:L}=o;let V=b||B===eo.MIDDLE||B===eo.END?[]:void 0,U;p.preparePrint(t);const K=t.pages.length;if(t.setPageSize(y.width,y.height),t.setBodySize(),t.preparePage(K,t.prevPages+K),t.band=null,t.contextValues=[],C.reportIndex=t.reportIndex,C.page=P,I.className="rr-print-page-content",C.pageOrientation=w.getOrientation(f),t.preview){P.className="rr-print-page rr-page-break page"+K,P.dataset.page=n+"",b&&this.$_setSinglePageStyles(P,L),this.$_setPageContainerStyle(f,w,P,I);const{width:re,height:Z}=w.getPageSize(f);this.needPrintScale()?this.$_setPrintScaleStyle(f,P,I):this._printMode===el.MULTI&&w.getOrientation(f)===dl.LANDSCAPE&&this.$_setLandscapePageStyle(P,re,Z)}else debugger;I.style.position="absolute",P.appendChild(I),t.container.appendChild(P),this.$_setFrontBackLayer(C,p);let j=0+ee.toNumber(g.spaceTop);U=p.printPageHeader(e,t).dom,U.style.top=j+"px",j+=U[_t]=p.pageHeaderView[_t],C.pageHeader=U,I.appendChild(U);const ae=j;U=p.printPageFooter(e,t).dom,U[_t]=p.pageFooterView[_t],C.pageFooter=U;const k=v-U[_t]-ee.toNumber(_.spaceBottom);U.style.top=k+"px",I.appendChild(U),t.h=t.bodyHeight,n===0&&(U=p.printReportHeader(e,t).dom,U[_t]=p.reportHeaderView[_t]||0,U.style.top=j+"px",E.push(U),I.appendChild(U),t.h-=U[_t],j+=U[_t]);const W=t.h;let z=p.bodyView.itemsView.gap;for(;s<r.length&&t.h>0;){const re=r[s].line;if(re instanceof HTMLDivElement){if(re[td])R.push(re);else{let Z=re[_t];if(Z>t.h&&re.classList.contains("rr-space")&&(Z=t.h),t.h-Z<0&&s>D)break;E.push(re),V&&V.push({line:re,y:j,h:Z}),re.style.top=j+"px",I.appendChild(re),j+=Z+z,t.h-=Z+z}s++}else if(re instanceof bg){s++;break}else if(re instanceof YO){U=p.printReportFooter(e,t).dom;const Z=U[_t]=p.reportFooterView[_t]||0;if(Z>0&&t.h>=Z){let le;m.alignToBottom?le=k-Z:le=j,U.style.top=le+"px",t.h-=Z,E.push(U),I.appendChild(U),s++}else if(Z<=0){debugger;s++}else break}else if(re instanceof e3)if(re.isEnded())s++;else{const Z=re.getNextPage(e,t,t.pageWidth,I);if(Z){const le=Z[_t];Z.style.top=Et(j),E.push(Z),V&&V.push({line:Z,y:j,h:le}),j+=le,t.h-=le,j+=z,t.h-=z}if(re.isEnded())s++;else break}else if(re instanceof vo){const Z=re.band;if(gU.isDataBand(Z)&&(t.band=Z),Z instanceof tt&&Z.dataRowCount===0)if(re.isEmptyDataBandVisible()){const le=re.getEmptyDataBandPage(e,t,re,t.pageWidth,I);if(le){le.style.top=j+"px";const Ae=le[_t];E.push(le),V&&V.push({line:le,y:j,h:Ae}),j+=Ae,t.h-=Ae,j+=z,t.h-=z,re.isHeaderSectionPrinted&&re.isFooterSectionPrinted&&s++}else{if(re.needNextPage)break;s++}}else s++;else{const le=re.getNextPage(e,t,t.pageWidth,I),Ae=re instanceof SU?re.group.noSplit:re.band.noSplit;if(le)if(j>ae&&!re.isEnded()&&Ae){le.remove(),re.rollback(le);break}else{le.style.top=j+"px";const pe=le[_t];E.push(le),V&&V.push({line:le,y:j,h:pe});const me=(c=re.band)===null||c===void 0?void 0:c.styles,ne=this.$_addBorderContainer(e,le,re,j,pe,me,E,I);if(j+=pe+ne,t.h-=pe+ne,t.h<=0){re.isEnded()&&s++;break}j+=z,t.h-=z}if(re.isEnded())s++,s<r.length&&t.h<=0&&r[s].line instanceof bg&&r.splice(s,1);else break}}else s++}!b&&V&&d();for(let re of t.contextValues)re.refreshPrintValues(t);if(b&&(this.$_prepareSinglePage(t,C,V,I),this.$_setFrontBackLayer(C,p)),f.frontContainer.isPrintable(t)&&I.appendChild(C.foreground),f.backContainer.isPrintable(t)&&I.prepend(C.background),l&&l(t,C,n),i.length>0&&this._options.previewOptions.optimize!==!1&&(i[i.length-1].page.style.display="none"),i.push(C),t.pages.push(C),this._floatingLayoutAction.setFloatings(t),S&&this._options.previewOptions.noScroll===!1&&C.page.scrollIntoView({behavior:"auto"}),R.length>0){const re=[],Z=[];for(let le of R){const Ae=le[td];if(I.contains(Ae)){re.push(I),E.push(le),Z.push(le);break}}this.$_layoutFloatings(re,Z)}const Y=n+1;return t.pageCount=t.pages.length,t.isEditable&&this.$_addEditableItems(P),s<r.length?(S&&Y<t.report.getMaxPageCount()&&setTimeout(()=>{try{this.$_buildOutput(e,t,i,r,s,Y,this._options.previewOptions,l,h)}catch(re){ee.remove(this._indicator),this._showError(t.container.parentElement,re),console.error(re)}},t.pageDelay),s):(S&&(this.$_refreshContextValues(t),h&&h(t,i)),r.length)}$_buildNoPagingOutput(e,t,i,r,s,n,o){const l=r[s]?r[s].pageIndex:0,h=t.reportView.getPageView(l),c=t.report,d=c.getPage(l),u=c.info.paper,A=d.getPageSize(),f=new X5,p=f.contents,g=e.createElement("div"),_=e.createElement("div"),m=e.createElement("div"),w=t.floatings;let y,v=0,C=0,E=0;h.preparePrint(t),t.setPageSize(A.width,A.height),t.setBodySize(),t.preparePage(n,t.prevPages+n),t.band=null,f.page=g,g.className="rr-print-root-container",_.className="rr-print-container",m.className=Hk.CLASS,f.pageOrientation=u.getOrientation(d);const{left:P,right:I,top:R,bottom:D}=u.getMargins();if(t.preview){g.className="rr-print-page page"+n,g.dataset.page=n+"";const K=u.getPageSize(d);g.style.width=K.width+"px",ee.extend(g.style,d.styles),ee.extend(m.style,d.body.itemsContainer.styles),_.style.width=m.style.width=K.width-P-I+"px",_.style.top=R+"px",_.style.left=P+"px"}else debugger;_.style.position="absolute",g.appendChild(_),t.container.appendChild(g),m.style.position="absolute";let S=0;n===0&&c.type!==mt.EMAIL&&(y=h.printReportHeader(e,t).dom,y[_t]=h.reportHeaderView[_t]||0,y.style.top=S+"px",p.push(y),_.appendChild(y),v+=y[_t],C+=v);const B=t.reportView.getPageView(l).bodyView,b=B.itemsView.gap;_.appendChild(m),m.style.boxSizing="border-box",m.style.top=v+"px";const{borderTop:L,borderBottom:V}=jr.getBorderBound(B.itemsView.model);for(E+=L+V,C+=L+V;s<r.length;){const K=r[s].line;if(K instanceof HTMLDivElement){if(K[td])w.push(K);else{let j=K[_t];p.push(K),K.style.top=S+"px",m.appendChild(K),S+=j+b,C+=j+b,E+=j+b}s++}else if(K instanceof YO){y=h.printReportFooter(e,t).dom;const j=y[_t]=h.reportFooterView[_t]||0;y.style.top=v+S-b+L+V+"px",p.push(y),_.appendChild(y),C+=j,s++}else if(K instanceof vo){const j=B.itemsView.getWidthWithoutBorder(t.pageWidth),ae=K.getNoPagingPage(e,t,j,m),k=K.band.styles;if(ae){ae.style.top=S+"px";const W=ae[_t];p.push(ae);const z=this.$_addBorderContainer(e,ae,K,S,W,k,p,_,!0);S+=W+z+b,C+=W+z+b,E+=W+z+b}s++}else s++}if(r.length>0&&(E-=b,C-=b),m.style.height=E+"px",i.push(f),t.pages.push(f),this._floatingLayoutAction.setFloatings(t),w.length>0){const K=[],j=[];for(let ae of w){const k=ae[td];if(_.contains(k)){K.push(_),p.push(ae),j.push(ae);break}}this.$_layoutFloatings(K,j)}g.style.height=C+R+D+"px",_.style.height=C+"px";const U=n+1;return t.pageCount=U,o&&o(t,i),r.length}$_setFrontBackLayer(e,t){e.background=t.backFloatingView.cloneNode(),e.foreground=t.frontFloatingView.cloneNode()}$_prepareSubPageViews(e,t){t.forEach(i=>{const r=i.model,s=r.getPageSize();r.isPrintable(e)&&r.type!==Ih.REPORT&&(e.setPageSize(s.width,s.height),e.setBodySize(),i.prepareAsync(this.doc,e))})}$_prepareSinglePage(e,t,i,r){const s=i[i.length-1],n=e.reportHeaderHeight,o=this.$_isReportFooter(t)?e.reportFooterHeight:0;let l=0;i.length>0?l+=s.y+s.h+o:l+=0+n+o;const h=parseFloat(t.pageFooter.style.top)-l;r.style.height=`${parseFloat(r.style.height)-h}px`,t.pageFooter.style.top=`${l}px`;const c=e.reportView.pageView,d=c.frontFloatingView,u=c.backFloatingView;if(d.model.items.length===0){const A=parseFloat(r.style.height);d.height=A,d.dom.style.height=`${A}px`}else d.model.items.forEach(A=>{const f=d.getElementOf(A),{y:p,height:g}=f,_=p+g;r.offsetHeight<_&&(r.style.height=`${_}px`)});if(u.model.items.length===0){const A=parseFloat(r.style.height);u.height=A,u.dom.style.height=`${A}px`}else u.model.items.forEach(A=>{const f=u.getElementOf(A),{y:p,height:g}=f,_=p+g;r.offsetHeight<_&&(r.style.height=`${_}px`)})}$_setSinglePage(e,t){var i;const{marginBottom:r,marginTop:s}=e.report.paper,n=new Ct(s).getFixedPixel(),o=new Ct(r).getFixedPixel(),l=(i=t[0])===null||i===void 0?void 0:i.page,h=l.firstElementChild;if(t.forEach((c,d)=>{if(d===0)c.page.style.height=`${parseFloat(h.style.height)+n}px`,c.page.style.display="block";else{const u=c.page.firstElementChild;u.style.top=`${parseFloat(l.style.height)}px`,l.style.height=`${parseFloat(l.style.height)+parseFloat(u.style.height)}px`,l.appendChild(c.page.firstElementChild),c.page.remove()}d===t.length-1&&(l.style.height=`${parseFloat(l.style.height)+o}px`)}),this._options.previewOptions.pageMark){const c=this._containerDiv.getElementsByClassName(zi.MARKER_CLASS)[0];c&&this._containerDiv&&this._containerDiv.removeChild(c)}}$_setSinglePageStyles(e,t){e.style.marginBottom="0",t.border||e.classList.remove("rr-page-break")}$_isReportFooter(e){let t=!1;return e.contents.forEach(i=>{i.className.includes("rr-report-footer")&&(t=!0)}),t}$_setPrintMode(e){let t="";if(Array.isArray(e))e.forEach(i=>{const r=i.report.paper;i.report.pages.forEach(s=>{if(t===el.MULTI)return;const n=r.getOrientation(s);if(t===""){t=n;return}t!==n&&(t=el.MULTI)})});else{const i=e.paper;e.pages.forEach(r=>{if(t===el.MULTI)return;const s=i.getOrientation(r);if(t===""){t=s;return}t!==s&&(t=el.MULTI)})}this._printMode=t}$_getScaleSize(e,t){const i=e-t,r=(e+t)/2;return 1+i/r}$_setPageContainerStyle(e,t,i,r){t.applyPreviewExtents(e,i.style,t.getOrientation(e)),t.applyPreviewClient(e,r.style)}$_setLandscapePageStyle(e,t,i){e.classList.add("rr-print-page-landscape"),e.style.setProperty("--rr-print-size",`${i}px`),e.style.setProperty("--rr-print-width",`${t}px`),this.$_setUnvisibleDom(e)}$_setPrintScaleStyle(e,t,i){const r=e.report.paper,{width:s,height:n}=r.getPaperSize(),o=this.$_getScaleSize(n,s),l=parseFloat(i.style.left),h=(l*o-l)/2;t.style.setProperty("--rr-print-scale",`${o}`),r.getOrientation(e)===dl.LANDSCAPE?(t.classList.add("rr-print-page-landscape-start"),t.style.setProperty("--rr-print-size",`${s}px`),t.style.setProperty("--rr-print-width",`${s}px`),t.style.setProperty("--rr-print-portrait-x",`${h}px`),this.$_setUnvisibleDom(t)):(t.classList.add("rr-print-page-portrait"),t.style.setProperty("--rr-print-size",`${s}px`),t.style.setProperty("--rr-print-height",`${n}px`),t.style.setProperty("--rr-print-portrait-x",`${h}px`))}$_setUnvisibleDom(e){const t=document.createElement("div");t.style.visibility="hidden",t.style.width="1px",t.innerHTML="​",t.style.position="absolute",t.style.right="0px"}$_layoutFloatings(e,t){t.forEach((i,r)=>{const s=i[td],n=i[_H];let o=s.offsetLeft,l=s.offsetTop,h=s.offsetParent;const c=e[r];for(;h instanceof HTMLElement&&h!==c;)o+=h.offsetLeft,l+=h.offsetTop,h=h.offsetParent;switch(c.appendChild(i),n){case Tn.INNER_LEFT:l-=(i.offsetHeight-s.offsetHeight)/2;break;case Tn.LEFT:o-=i.offsetWidth,l-=(i.offsetHeight-s.offsetHeight)/2;break;case Tn.INNER_RIGHT:o+=s.offsetWidth-i.offsetWidth,l-=(i.offsetHeight-s.offsetHeight)/2;break;case Tn.RIGHT:o+=s.offsetWidth,l-=(i.offsetHeight-s.offsetHeight)/2;break;case Tn.INNER_TOP:o-=(i.offsetWidth-s.offsetWidth)/2;break;case Tn.TOP:o-=(i.offsetWidth-s.offsetWidth)/2,l-=i.offsetHeight;break;case Tn.INNER_BOTTOM:o-=(i.offsetWidth-s.offsetWidth)/2,l+=s.offsetHeight-i.offsetHeight;break;case Tn.BOTTOM:o-=(i.offsetWidth-s.offsetWidth)/2,l+=s.offsetHeight;break;case Tn.CENTER:default:o-=(i.offsetWidth-s.offsetWidth)/2,l-=(i.offsetHeight-s.offsetHeight)/2;break}i.style.left=o+"px",i.style.top=l+"px"})}$_setLanguageContext(e,t){const{languages:i,defaultLanguage:r}=e.i18n;i.length!==0&&(t&&i.includes(t)?this._context.language=t:this._context.language=r)}$_validatePrintOptions(e){if(!ee.isObject(e))throw new Yd(Jh.INVALID_PRINT_OPTION);if(!("report"in e))throw new Yd(Jh.EMPTY_REPORT);this.$_validateReportOption(e.report)}$_validateReportOption(e){if(Array.isArray(e)){const t=e;if(t.length===0)throw new Yd(Jh.EMPTY_REPORT);let i;t.forEach((r,s)=>{let n;if(r instanceof cs)n=r.type;else if(this.$_instanceofIPrintReport(r))n=r.report.type;else throw new Yd(Jh.INVALID_REPORT);if(s===0)i=n;else if(n!==i)throw new Yd(Jh.INVALID_COPOSITE_REPORT_TYPES)})}else if(!(e instanceof cs))throw new Yd(Jh.INVALID_REPORT)}$_createReportView(e,t,i,r){switch(e){case mt.EMAIL:return new r2e(t,i,r);default:return new xc(t,i,r)}}$_instanceofIPrintReport(e){return typeof e=="object"&&"report"in e&&e.report instanceof cs&&"data"in e&&typeof e.data=="object"}$_addMarkerEventListener(e){if(this._contexts){const t=this._contexts.map(i=>i.reportItemElementMap);this.$_addListener(e,"click",i=>{const r=i.target;if(r instanceof HTMLElement&&r.classList.contains(Ap.CLASS_NAME)){const s=r.parentElement;s.querySelector("span");for(const n of t){const o=n.getItemElementByModelHash(X.getData(s,qt));if(o){if(o instanceof Og){const l=s.querySelector("span");this._printEditLayer.show(r.parentElement,o,new vA(this.doc,r,l))}else if(o instanceof Ec){const l=s.querySelector("span");this._printEditLayer.show(r.parentElement,o,new vA(this.doc,r,l))}else if(o instanceof Un){const l=s.querySelector(`.${Un.CHECK_CLASS}`);if(!l)return;const h=X.getData(l,"checked");let c;h==="0"||h==="-1"?(c=o.getCheckedStatusSvg("1"),X.setData(l,"checked","1"),this._printEditableItemManager.updateEditableItem(r,"true")):h==="1"&&(c=o.getCheckedStatusSvg("0"),X.setData(l,"checked","0"),this._printEditableItemManager.updateEditableItem(r,"false")),c&&(l.hasChildNodes()&&(l.innerHTML=null),l.appendChild(c))}}}}},!1)}else{const t=this._context.reportItemElementMap;this.$_addListener(e,"click",i=>{const r=i.target;if(r instanceof HTMLElement&&r.classList.contains(Ap.CLASS_NAME)){const s=r.parentElement,n=t.getItemElementByModelHash(X.getData(s,qt));if(n){if(n instanceof Og){const o=s.querySelector("span");this._printEditLayer.show(r.parentElement,n,new vA(this.doc,r,o))}else if(n instanceof Ec){const o=s.querySelector("span");this._printEditLayer.show(r.parentElement,n,new vA(this.doc,r,o))}else if(n instanceof Un){const o=s.querySelector(`.${Un.CHECK_CLASS}`);if(!o)return;const l=X.getData(o,"checked");let h;l==="0"||l==="-1"?(h=n.getCheckedStatusSvg("1"),X.setData(o,"checked","1"),this._printEditableItemManager.updateEditableItem(r,"true")):l==="1"&&(h=n.getCheckedStatusSvg("0"),X.setData(o,"checked","0"),this._printEditableItemManager.updateEditableItem(r,"false")),h&&(o.hasChildNodes()&&(o.innerHTML=null),o.appendChild(h))}}}},!1)}}$_addEditableItemToManager(e,t){e.forEach(i=>{const r=i.parentElement,s=t.getItemElementByModelHash(X.getData(r,qt));s&&(s instanceof Og?this._printEditableItemManager.addEditableItem(s,r.querySelector(`.${Og.CLASS_NAME} span`),i):s instanceof Ec?this._printEditableItemManager.addEditableItem(s,r.querySelector("span"),i):s instanceof Un&&this._printEditableItemManager.addEditableItem(s,r,i))})}$_addEditableItems(e){if(this._contexts)this._contexts.forEach(t=>{const i=t.reportItemElementMap,r=e.querySelectorAll(".rr-editable-marker");this.$_addEditableItemToManager(r,i)});else{const t=this._context.reportItemElementMap,i=e.querySelectorAll(".rr-editable-marker");this.$_addEditableItemToManager(i,t)}}$_addBorderContainer(e,t,i,r,s,n,o,l,h){const c=i.createBorderContaienr(e,r,t.offsetWidth,Fa.BORDER_CONTAINER,t.dataset[qt]),d=i.band&&(i.band instanceof Bh||i.band instanceof Ei)&&i.band.getItemBorderWidths(),u=d!=null&&d.top?d.top:0,A=d!=null&&d.bottom?d.bottom:0;let f=0;return i instanceof xC?f=u+A:f=u/2+A/2,i.band&&(i.band instanceof Bh||i.band instanceof Ei)&&i.band.hasItemBorder()&&(i.setBorderContainerStyle(c,{height:s+(h?f/2:f)+"px",width:t.offsetWidth+"px",left:t.style.left,...n}),o.push(c),l.appendChild(c)),f}}class hN extends Ai{static getPdfVersion(e){switch(e){case"1.3":return"1.3";case"1.4":return"1.4";case"1.5":return"1.5";case"1.6":return"1.6";case"1.7":return"1.7";case"1.7ext3":return"1.7ext3";default:return"1.7ext3"}}constructor(){super(),this._svgs=[],this._elementCreator=(e,t,i)=>{let r;if(t instanceof Vn)r=new jSe(e,i,t);else if(t instanceof Ks||t instanceof _i)r=new cV(e,i,t);else if(t instanceof ea||t instanceof Ac)r=new cV(e,i,t);else if(t instanceof Xr)i.style.opacity=t.styles.opcaity,r=new XSe(e,i,t);else if(t instanceof Ma){const s=i[RP];if(!s)return new FD(e,i,null,!0);i.innerHTML=s.substring(s.indexOf("<svg")),this._svgs.push(i);const n=i.firstElementChild;n.style.visibility="hidden",r=new FD(e,i,n,!0)}else t instanceof mn?r=new qSe(e,i):t instanceof On?r=new WSe(e,i,t):t instanceof qi?r=new G$(e,i):t instanceof Mn?r=new e2e(e,i):t instanceof Co?r=new Xo(e,i):t instanceof xs?r=new KSe(e,i,t):i instanceof HTMLSpanElement?t instanceof ss?r=new YSe(e,i):t instanceof ri?r=new Xo(e,i):t instanceof jl?r=new Xo(e,i):r=new wa(e,i):i instanceof HTMLTableElement?r=new JSe(e,i,t instanceof Ss):i instanceof HTMLTableCellElement?r=new ZSe(e,i):i instanceof SVGSVGElement?r=new FD(e,null,i,t instanceof xo):i instanceof HTMLCanvasElement?r=new zSe(e,i):i instanceof HTMLElement?r=new wa(e,i):i instanceof Text&&(r=new Xo(e,i));return r}}_doDispose(){super._doDispose()}_base64ToArrayBuffer(e){for(var t=window.atob(e),i=t.length,r=new Uint8Array(i),s=0;s<i;s++)r[s]=t.charCodeAt(s);return r.buffer}async export(e,t,i,r){const s=await this.exportBlob(e,t,i,r);let n;r.preview&&(window==null||window.open(window.URL.createObjectURL(s))),ee.isArray(e)?n=e[0]:n=e,T1(s,Ro.buildFilename(n,".pdf",r.filename))}async exportBlob(e,t,i,r){return zi.setMarkerElementsVisible(t,!1),new Promise(async(s,n)=>{try{this._svgs=[];const o=new KF(e,t,this._elementCreator);await o.prepare();const l=i.map(c=>({name:c.name,content:ee.isDataUrl(c.content)?ee.dataUrlToBase64(c.content):c.content,file:c.file,style:c.style||"normal",weight:c.weight||"normal"})),h=this.$_export(o,l,r);h.on("finish",()=>{zi.setMarkerElementsVisible(t,!0);const c=h.toBlob("application/pdf;charset=utf-8");s(c)})}catch(o){zi.setMarkerElementsVisible(t,!0),n(o)}})}$_export(e,t,i){var r;let s;ee.isArray(e.report)?s=e.report[0].paper:s=e.report.paper;const n=s.getPageSize(null),o=Math.round(gm(n.width)),l=Math.round(gm(n.height)),h=s.getMargins(),c=e.getOrientation(0),d=new window.PDFDocument({size:s.orientation===dl.LANDSCAPE?[l,o]:[o,l],layout:c,margins:{left:gm(h.left),top:gm(h.top),right:gm(h.right),bottom:gm(h.bottom)},margin:0,...i}),u=d.pipe(new window.blobStream);let A,f;if(t&&t.length>0){for(let p of t)p.content&&d.registerFont(p.name,this._base64ToArrayBuffer(p.content));A=t[0].name,f=((r=t[1])===null||r===void 0?void 0:r.name)||A}else throw new Error("Pdf 출력용 폰트가 설정돼야 합니다.");e.write(d,A,f);for(let p of this._svgs)p.removeChild(p.firstElementChild);return d.end(),u}}var $$={exports:{}};/*! For license information please see index.js.LICENSE.txt */(function(a,e){(function(t,i){a.exports=i()})(globalThis,()=>(()=>{var t={9742:(n,o)=>{o.byteLength=function(g){var _=f(g),m=_[0],w=_[1];return 3*(m+w)/4-w},o.toByteArray=function(g){var _,m,w=f(g),y=w[0],v=w[1],C=new c(function(I,R,D){return 3*(R+D)/4-D}(0,y,v)),E=0,P=v>0?y-4:y;for(m=0;m<P;m+=4)_=h[g.charCodeAt(m)]<<18|h[g.charCodeAt(m+1)]<<12|h[g.charCodeAt(m+2)]<<6|h[g.charCodeAt(m+3)],C[E++]=_>>16&255,C[E++]=_>>8&255,C[E++]=255&_;return v===2&&(_=h[g.charCodeAt(m)]<<2|h[g.charCodeAt(m+1)]>>4,C[E++]=255&_),v===1&&(_=h[g.charCodeAt(m)]<<10|h[g.charCodeAt(m+1)]<<4|h[g.charCodeAt(m+2)]>>2,C[E++]=_>>8&255,C[E++]=255&_),C},o.fromByteArray=function(g){for(var _,m=g.length,w=m%3,y=[],v=16383,C=0,E=m-w;C<E;C+=v)y.push(p(g,C,C+v>E?E:C+v));return w===1?(_=g[m-1],y.push(l[_>>2]+l[_<<4&63]+"==")):w===2&&(_=(g[m-2]<<8)+g[m-1],y.push(l[_>>10]+l[_>>4&63]+l[_<<2&63]+"=")),y.join("")};for(var l=[],h=[],c=typeof Uint8Array<"u"?Uint8Array:Array,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,A=d.length;u<A;++u)l[u]=d[u],h[d.charCodeAt(u)]=u;function f(g){var _=g.length;if(_%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var m=g.indexOf("=");return m===-1&&(m=_),[m,m===_?0:4-m%4]}function p(g,_,m){for(var w,y,v=[],C=_;C<m;C+=3)w=(g[C]<<16&16711680)+(g[C+1]<<8&65280)+(255&g[C+2]),v.push(l[(y=w)>>18&63]+l[y>>12&63]+l[y>>6&63]+l[63&y]);return v.join("")}h[45]=62,h[95]=63},8764:(n,o,l)=>{const h=l(9742),c=l(645),d=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;o.Buffer=f,o.SlowBuffer=function(q){return+q!=q&&(q=0),f.alloc(+q)},o.INSPECT_MAX_BYTES=50;const u=2147483647;function A(q){if(q>u)throw new RangeError('The value "'+q+'" is invalid for option "size"');const ie=new Uint8Array(q);return Object.setPrototypeOf(ie,f.prototype),ie}function f(q,ie,oe){if(typeof q=="number"){if(typeof ie=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return _(q)}return p(q,ie,oe)}function p(q,ie,oe){if(typeof q=="string")return function(Me,ze){if(typeof ze=="string"&&ze!==""||(ze="utf8"),!f.isEncoding(ze))throw new TypeError("Unknown encoding: "+ze);const dt=0|v(Me,ze);let It=A(dt);const pt=It.write(Me,ze);return pt!==dt&&(It=It.slice(0,pt)),It}(q,ie);if(ArrayBuffer.isView(q))return function(Me){if(ye(Me,Uint8Array)){const ze=new Uint8Array(Me);return w(ze.buffer,ze.byteOffset,ze.byteLength)}return m(Me)}(q);if(q==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q);if(ye(q,ArrayBuffer)||q&&ye(q.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ye(q,SharedArrayBuffer)||q&&ye(q.buffer,SharedArrayBuffer)))return w(q,ie,oe);if(typeof q=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const be=q.valueOf&&q.valueOf();if(be!=null&&be!==q)return f.from(be,ie,oe);const Pe=function(Me){if(f.isBuffer(Me)){const ze=0|y(Me.length),dt=A(ze);return dt.length===0||Me.copy(dt,0,0,ze),dt}return Me.length!==void 0?typeof Me.length!="number"||Ve(Me.length)?A(0):m(Me):Me.type==="Buffer"&&Array.isArray(Me.data)?m(Me.data):void 0}(q);if(Pe)return Pe;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof q[Symbol.toPrimitive]=="function")return f.from(q[Symbol.toPrimitive]("string"),ie,oe);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q)}function g(q){if(typeof q!="number")throw new TypeError('"size" argument must be of type number');if(q<0)throw new RangeError('The value "'+q+'" is invalid for option "size"')}function _(q){return g(q),A(q<0?0:0|y(q))}function m(q){const ie=q.length<0?0:0|y(q.length),oe=A(ie);for(let be=0;be<ie;be+=1)oe[be]=255&q[be];return oe}function w(q,ie,oe){if(ie<0||q.byteLength<ie)throw new RangeError('"offset" is outside of buffer bounds');if(q.byteLength<ie+(oe||0))throw new RangeError('"length" is outside of buffer bounds');let be;return be=ie===void 0&&oe===void 0?new Uint8Array(q):oe===void 0?new Uint8Array(q,ie):new Uint8Array(q,ie,oe),Object.setPrototypeOf(be,f.prototype),be}function y(q){if(q>=u)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u.toString(16)+" bytes");return 0|q}function v(q,ie){if(f.isBuffer(q))return q.length;if(ArrayBuffer.isView(q)||ye(q,ArrayBuffer))return q.byteLength;if(typeof q!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof q);const oe=q.length,be=arguments.length>2&&arguments[2]===!0;if(!be&&oe===0)return 0;let Pe=!1;for(;;)switch(ie){case"ascii":case"latin1":case"binary":return oe;case"utf8":case"utf-8":return Re(q).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*oe;case"hex":return oe>>>1;case"base64":return we(q).length;default:if(Pe)return be?-1:Re(q).length;ie=(""+ie).toLowerCase(),Pe=!0}}function C(q,ie,oe){let be=!1;if((ie===void 0||ie<0)&&(ie=0),ie>this.length||((oe===void 0||oe>this.length)&&(oe=this.length),oe<=0)||(oe>>>=0)<=(ie>>>=0))return"";for(q||(q="utf8");;)switch(q){case"hex":return ae(this,ie,oe);case"utf8":case"utf-8":return V(this,ie,oe);case"ascii":return K(this,ie,oe);case"latin1":case"binary":return j(this,ie,oe);case"base64":return L(this,ie,oe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,ie,oe);default:if(be)throw new TypeError("Unknown encoding: "+q);q=(q+"").toLowerCase(),be=!0}}function E(q,ie,oe){const be=q[ie];q[ie]=q[oe],q[oe]=be}function P(q,ie,oe,be,Pe){if(q.length===0)return-1;if(typeof oe=="string"?(be=oe,oe=0):oe>2147483647?oe=2147483647:oe<-2147483648&&(oe=-2147483648),Ve(oe=+oe)&&(oe=Pe?0:q.length-1),oe<0&&(oe=q.length+oe),oe>=q.length){if(Pe)return-1;oe=q.length-1}else if(oe<0){if(!Pe)return-1;oe=0}if(typeof ie=="string"&&(ie=f.from(ie,be)),f.isBuffer(ie))return ie.length===0?-1:I(q,ie,oe,be,Pe);if(typeof ie=="number")return ie&=255,typeof Uint8Array.prototype.indexOf=="function"?Pe?Uint8Array.prototype.indexOf.call(q,ie,oe):Uint8Array.prototype.lastIndexOf.call(q,ie,oe):I(q,[ie],oe,be,Pe);throw new TypeError("val must be string, number or Buffer")}function I(q,ie,oe,be,Pe){let Me,ze=1,dt=q.length,It=ie.length;if(be!==void 0&&((be=String(be).toLowerCase())==="ucs2"||be==="ucs-2"||be==="utf16le"||be==="utf-16le")){if(q.length<2||ie.length<2)return-1;ze=2,dt/=2,It/=2,oe/=2}function pt(kt,Gt){return ze===1?kt[Gt]:kt.readUInt16BE(Gt*ze)}if(Pe){let kt=-1;for(Me=oe;Me<dt;Me++)if(pt(q,Me)===pt(ie,kt===-1?0:Me-kt)){if(kt===-1&&(kt=Me),Me-kt+1===It)return kt*ze}else kt!==-1&&(Me-=Me-kt),kt=-1}else for(oe+It>dt&&(oe=dt-It),Me=oe;Me>=0;Me--){let kt=!0;for(let Gt=0;Gt<It;Gt++)if(pt(q,Me+Gt)!==pt(ie,Gt)){kt=!1;break}if(kt)return Me}return-1}function R(q,ie,oe,be){oe=Number(oe)||0;const Pe=q.length-oe;be?(be=Number(be))>Pe&&(be=Pe):be=Pe;const Me=ie.length;let ze;for(be>Me/2&&(be=Me/2),ze=0;ze<be;++ze){const dt=parseInt(ie.substr(2*ze,2),16);if(Ve(dt))return ze;q[oe+ze]=dt}return ze}function D(q,ie,oe,be){return ge(Re(ie,q.length-oe),q,oe,be)}function S(q,ie,oe,be){return ge(function(Pe){const Me=[];for(let ze=0;ze<Pe.length;++ze)Me.push(255&Pe.charCodeAt(ze));return Me}(ie),q,oe,be)}function B(q,ie,oe,be){return ge(we(ie),q,oe,be)}function b(q,ie,oe,be){return ge(function(Pe,Me){let ze,dt,It;const pt=[];for(let kt=0;kt<Pe.length&&!((Me-=2)<0);++kt)ze=Pe.charCodeAt(kt),dt=ze>>8,It=ze%256,pt.push(It),pt.push(dt);return pt}(ie,q.length-oe),q,oe,be)}function L(q,ie,oe){return ie===0&&oe===q.length?h.fromByteArray(q):h.fromByteArray(q.slice(ie,oe))}function V(q,ie,oe){oe=Math.min(q.length,oe);const be=[];let Pe=ie;for(;Pe<oe;){const Me=q[Pe];let ze=null,dt=Me>239?4:Me>223?3:Me>191?2:1;if(Pe+dt<=oe){let It,pt,kt,Gt;switch(dt){case 1:Me<128&&(ze=Me);break;case 2:It=q[Pe+1],(192&It)==128&&(Gt=(31&Me)<<6|63&It,Gt>127&&(ze=Gt));break;case 3:It=q[Pe+1],pt=q[Pe+2],(192&It)==128&&(192&pt)==128&&(Gt=(15&Me)<<12|(63&It)<<6|63&pt,Gt>2047&&(Gt<55296||Gt>57343)&&(ze=Gt));break;case 4:It=q[Pe+1],pt=q[Pe+2],kt=q[Pe+3],(192&It)==128&&(192&pt)==128&&(192&kt)==128&&(Gt=(15&Me)<<18|(63&It)<<12|(63&pt)<<6|63&kt,Gt>65535&&Gt<1114112&&(ze=Gt))}}ze===null?(ze=65533,dt=1):ze>65535&&(ze-=65536,be.push(ze>>>10&1023|55296),ze=56320|1023&ze),be.push(ze),Pe+=dt}return function(Me){const ze=Me.length;if(ze<=U)return String.fromCharCode.apply(String,Me);let dt="",It=0;for(;It<ze;)dt+=String.fromCharCode.apply(String,Me.slice(It,It+=U));return dt}(be)}o.kMaxLength=u,f.TYPED_ARRAY_SUPPORT=function(){try{const q=new Uint8Array(1),ie={foo:function(){return 42}};return Object.setPrototypeOf(ie,Uint8Array.prototype),Object.setPrototypeOf(q,ie),q.foo()===42}catch{return!1}}(),f.TYPED_ARRAY_SUPPORT||typeof console>"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}}),f.poolSize=8192,f.from=function(q,ie,oe){return p(q,ie,oe)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array),f.alloc=function(q,ie,oe){return function(be,Pe,Me){return g(be),be<=0?A(be):Pe!==void 0?typeof Me=="string"?A(be).fill(Pe,Me):A(be).fill(Pe):A(be)}(q,ie,oe)},f.allocUnsafe=function(q){return _(q)},f.allocUnsafeSlow=function(q){return _(q)},f.isBuffer=function(q){return q!=null&&q._isBuffer===!0&&q!==f.prototype},f.compare=function(q,ie){if(ye(q,Uint8Array)&&(q=f.from(q,q.offset,q.byteLength)),ye(ie,Uint8Array)&&(ie=f.from(ie,ie.offset,ie.byteLength)),!f.isBuffer(q)||!f.isBuffer(ie))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(q===ie)return 0;let oe=q.length,be=ie.length;for(let Pe=0,Me=Math.min(oe,be);Pe<Me;++Pe)if(q[Pe]!==ie[Pe]){oe=q[Pe],be=ie[Pe];break}return oe<be?-1:be<oe?1:0},f.isEncoding=function(q){switch(String(q).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},f.concat=function(q,ie){if(!Array.isArray(q))throw new TypeError('"list" argument must be an Array of Buffers');if(q.length===0)return f.alloc(0);let oe;if(ie===void 0)for(ie=0,oe=0;oe<q.length;++oe)ie+=q[oe].length;const be=f.allocUnsafe(ie);let Pe=0;for(oe=0;oe<q.length;++oe){let Me=q[oe];if(ye(Me,Uint8Array))Pe+Me.length>be.length?(f.isBuffer(Me)||(Me=f.from(Me)),Me.copy(be,Pe)):Uint8Array.prototype.set.call(be,Me,Pe);else{if(!f.isBuffer(Me))throw new TypeError('"list" argument must be an Array of Buffers');Me.copy(be,Pe)}Pe+=Me.length}return be},f.byteLength=v,f.prototype._isBuffer=!0,f.prototype.swap16=function(){const q=this.length;if(q%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let ie=0;ie<q;ie+=2)E(this,ie,ie+1);return this},f.prototype.swap32=function(){const q=this.length;if(q%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let ie=0;ie<q;ie+=4)E(this,ie,ie+3),E(this,ie+1,ie+2);return this},f.prototype.swap64=function(){const q=this.length;if(q%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let ie=0;ie<q;ie+=8)E(this,ie,ie+7),E(this,ie+1,ie+6),E(this,ie+2,ie+5),E(this,ie+3,ie+4);return this},f.prototype.toString=function(){const q=this.length;return q===0?"":arguments.length===0?V(this,0,q):C.apply(this,arguments)},f.prototype.toLocaleString=f.prototype.toString,f.prototype.equals=function(q){if(!f.isBuffer(q))throw new TypeError("Argument must be a Buffer");return this===q||f.compare(this,q)===0},f.prototype.inspect=function(){let q="";const ie=o.INSPECT_MAX_BYTES;return q=this.toString("hex",0,ie).replace(/(.{2})/g,"$1 ").trim(),this.length>ie&&(q+=" ... "),"<Buffer "+q+">"},d&&(f.prototype[d]=f.prototype.inspect),f.prototype.compare=function(q,ie,oe,be,Pe){if(ye(q,Uint8Array)&&(q=f.from(q,q.offset,q.byteLength)),!f.isBuffer(q))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof q);if(ie===void 0&&(ie=0),oe===void 0&&(oe=q?q.length:0),be===void 0&&(be=0),Pe===void 0&&(Pe=this.length),ie<0||oe>q.length||be<0||Pe>this.length)throw new RangeError("out of range index");if(be>=Pe&&ie>=oe)return 0;if(be>=Pe)return-1;if(ie>=oe)return 1;if(this===q)return 0;let Me=(Pe>>>=0)-(be>>>=0),ze=(oe>>>=0)-(ie>>>=0);const dt=Math.min(Me,ze),It=this.slice(be,Pe),pt=q.slice(ie,oe);for(let kt=0;kt<dt;++kt)if(It[kt]!==pt[kt]){Me=It[kt],ze=pt[kt];break}return Me<ze?-1:ze<Me?1:0},f.prototype.includes=function(q,ie,oe){return this.indexOf(q,ie,oe)!==-1},f.prototype.indexOf=function(q,ie,oe){return P(this,q,ie,oe,!0)},f.prototype.lastIndexOf=function(q,ie,oe){return P(this,q,ie,oe,!1)},f.prototype.write=function(q,ie,oe,be){if(ie===void 0)be="utf8",oe=this.length,ie=0;else if(oe===void 0&&typeof ie=="string")be=ie,oe=this.length,ie=0;else{if(!isFinite(ie))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");ie>>>=0,isFinite(oe)?(oe>>>=0,be===void 0&&(be="utf8")):(be=oe,oe=void 0)}const Pe=this.length-ie;if((oe===void 0||oe>Pe)&&(oe=Pe),q.length>0&&(oe<0||ie<0)||ie>this.length)throw new RangeError("Attempt to write outside buffer bounds");be||(be="utf8");let Me=!1;for(;;)switch(be){case"hex":return R(this,q,ie,oe);case"utf8":case"utf-8":return D(this,q,ie,oe);case"ascii":case"latin1":case"binary":return S(this,q,ie,oe);case"base64":return B(this,q,ie,oe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,q,ie,oe);default:if(Me)throw new TypeError("Unknown encoding: "+be);be=(""+be).toLowerCase(),Me=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const U=4096;function K(q,ie,oe){let be="";oe=Math.min(q.length,oe);for(let Pe=ie;Pe<oe;++Pe)be+=String.fromCharCode(127&q[Pe]);return be}function j(q,ie,oe){let be="";oe=Math.min(q.length,oe);for(let Pe=ie;Pe<oe;++Pe)be+=String.fromCharCode(q[Pe]);return be}function ae(q,ie,oe){const be=q.length;(!ie||ie<0)&&(ie=0),(!oe||oe<0||oe>be)&&(oe=be);let Pe="";for(let Me=ie;Me<oe;++Me)Pe+=Oe[q[Me]];return Pe}function k(q,ie,oe){const be=q.slice(ie,oe);let Pe="";for(let Me=0;Me<be.length-1;Me+=2)Pe+=String.fromCharCode(be[Me]+256*be[Me+1]);return Pe}function W(q,ie,oe){if(q%1!=0||q<0)throw new RangeError("offset is not uint");if(q+ie>oe)throw new RangeError("Trying to access beyond buffer length")}function z(q,ie,oe,be,Pe,Me){if(!f.isBuffer(q))throw new TypeError('"buffer" argument must be a Buffer instance');if(ie>Pe||ie<Me)throw new RangeError('"value" argument is out of bounds');if(oe+be>q.length)throw new RangeError("Index out of range")}function Y(q,ie,oe,be,Pe){J(ie,be,Pe,q,oe,7);let Me=Number(ie&BigInt(4294967295));q[oe++]=Me,Me>>=8,q[oe++]=Me,Me>>=8,q[oe++]=Me,Me>>=8,q[oe++]=Me;let ze=Number(ie>>BigInt(32)&BigInt(4294967295));return q[oe++]=ze,ze>>=8,q[oe++]=ze,ze>>=8,q[oe++]=ze,ze>>=8,q[oe++]=ze,oe}function re(q,ie,oe,be,Pe){J(ie,be,Pe,q,oe,7);let Me=Number(ie&BigInt(4294967295));q[oe+7]=Me,Me>>=8,q[oe+6]=Me,Me>>=8,q[oe+5]=Me,Me>>=8,q[oe+4]=Me;let ze=Number(ie>>BigInt(32)&BigInt(4294967295));return q[oe+3]=ze,ze>>=8,q[oe+2]=ze,ze>>=8,q[oe+1]=ze,ze>>=8,q[oe]=ze,oe+8}function Z(q,ie,oe,be,Pe,Me){if(oe+be>q.length)throw new RangeError("Index out of range");if(oe<0)throw new RangeError("Index out of range")}function le(q,ie,oe,be,Pe){return ie=+ie,oe>>>=0,Pe||Z(q,0,oe,4),c.write(q,ie,oe,be,23,4),oe+4}function Ae(q,ie,oe,be,Pe){return ie=+ie,oe>>>=0,Pe||Z(q,0,oe,8),c.write(q,ie,oe,be,52,8),oe+8}f.prototype.slice=function(q,ie){const oe=this.length;(q=~~q)<0?(q+=oe)<0&&(q=0):q>oe&&(q=oe),(ie=ie===void 0?oe:~~ie)<0?(ie+=oe)<0&&(ie=0):ie>oe&&(ie=oe),ie<q&&(ie=q);const be=this.subarray(q,ie);return Object.setPrototypeOf(be,f.prototype),be},f.prototype.readUintLE=f.prototype.readUIntLE=function(q,ie,oe){q>>>=0,ie>>>=0,oe||W(q,ie,this.length);let be=this[q],Pe=1,Me=0;for(;++Me<ie&&(Pe*=256);)be+=this[q+Me]*Pe;return be},f.prototype.readUintBE=f.prototype.readUIntBE=function(q,ie,oe){q>>>=0,ie>>>=0,oe||W(q,ie,this.length);let be=this[q+--ie],Pe=1;for(;ie>0&&(Pe*=256);)be+=this[q+--ie]*Pe;return be},f.prototype.readUint8=f.prototype.readUInt8=function(q,ie){return q>>>=0,ie||W(q,1,this.length),this[q]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(q,ie){return q>>>=0,ie||W(q,2,this.length),this[q]|this[q+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(q,ie){return q>>>=0,ie||W(q,2,this.length),this[q]<<8|this[q+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),(this[q]|this[q+1]<<8|this[q+2]<<16)+16777216*this[q+3]},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),16777216*this[q]+(this[q+1]<<16|this[q+2]<<8|this[q+3])},f.prototype.readBigUInt64LE=De(function(q){ce(q>>>=0,"offset");const ie=this[q],oe=this[q+7];ie!==void 0&&oe!==void 0||$(q,this.length-8);const be=ie+256*this[++q]+65536*this[++q]+this[++q]*2**24,Pe=this[++q]+256*this[++q]+65536*this[++q]+oe*2**24;return BigInt(be)+(BigInt(Pe)<<BigInt(32))}),f.prototype.readBigUInt64BE=De(function(q){ce(q>>>=0,"offset");const ie=this[q],oe=this[q+7];ie!==void 0&&oe!==void 0||$(q,this.length-8);const be=ie*2**24+65536*this[++q]+256*this[++q]+this[++q],Pe=this[++q]*2**24+65536*this[++q]+256*this[++q]+oe;return(BigInt(be)<<BigInt(32))+BigInt(Pe)}),f.prototype.readIntLE=function(q,ie,oe){q>>>=0,ie>>>=0,oe||W(q,ie,this.length);let be=this[q],Pe=1,Me=0;for(;++Me<ie&&(Pe*=256);)be+=this[q+Me]*Pe;return Pe*=128,be>=Pe&&(be-=Math.pow(2,8*ie)),be},f.prototype.readIntBE=function(q,ie,oe){q>>>=0,ie>>>=0,oe||W(q,ie,this.length);let be=ie,Pe=1,Me=this[q+--be];for(;be>0&&(Pe*=256);)Me+=this[q+--be]*Pe;return Pe*=128,Me>=Pe&&(Me-=Math.pow(2,8*ie)),Me},f.prototype.readInt8=function(q,ie){return q>>>=0,ie||W(q,1,this.length),128&this[q]?-1*(255-this[q]+1):this[q]},f.prototype.readInt16LE=function(q,ie){q>>>=0,ie||W(q,2,this.length);const oe=this[q]|this[q+1]<<8;return 32768&oe?4294901760|oe:oe},f.prototype.readInt16BE=function(q,ie){q>>>=0,ie||W(q,2,this.length);const oe=this[q+1]|this[q]<<8;return 32768&oe?4294901760|oe:oe},f.prototype.readInt32LE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),this[q]|this[q+1]<<8|this[q+2]<<16|this[q+3]<<24},f.prototype.readInt32BE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),this[q]<<24|this[q+1]<<16|this[q+2]<<8|this[q+3]},f.prototype.readBigInt64LE=De(function(q){ce(q>>>=0,"offset");const ie=this[q],oe=this[q+7];ie!==void 0&&oe!==void 0||$(q,this.length-8);const be=this[q+4]+256*this[q+5]+65536*this[q+6]+(oe<<24);return(BigInt(be)<<BigInt(32))+BigInt(ie+256*this[++q]+65536*this[++q]+this[++q]*16777216)}),f.prototype.readBigInt64BE=De(function(q){ce(q>>>=0,"offset");const ie=this[q],oe=this[q+7];ie!==void 0&&oe!==void 0||$(q,this.length-8);const be=(ie<<24)+65536*this[++q]+256*this[++q]+this[++q];return(BigInt(be)<<BigInt(32))+BigInt(this[++q]*16777216+65536*this[++q]+256*this[++q]+oe)}),f.prototype.readFloatLE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),c.read(this,q,!0,23,4)},f.prototype.readFloatBE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),c.read(this,q,!1,23,4)},f.prototype.readDoubleLE=function(q,ie){return q>>>=0,ie||W(q,8,this.length),c.read(this,q,!0,52,8)},f.prototype.readDoubleBE=function(q,ie){return q>>>=0,ie||W(q,8,this.length),c.read(this,q,!1,52,8)},f.prototype.writeUintLE=f.prototype.writeUIntLE=function(q,ie,oe,be){q=+q,ie>>>=0,oe>>>=0,be||z(this,q,ie,oe,Math.pow(2,8*oe)-1,0);let Pe=1,Me=0;for(this[ie]=255&q;++Me<oe&&(Pe*=256);)this[ie+Me]=q/Pe&255;return ie+oe},f.prototype.writeUintBE=f.prototype.writeUIntBE=function(q,ie,oe,be){q=+q,ie>>>=0,oe>>>=0,be||z(this,q,ie,oe,Math.pow(2,8*oe)-1,0);let Pe=oe-1,Me=1;for(this[ie+Pe]=255&q;--Pe>=0&&(Me*=256);)this[ie+Pe]=q/Me&255;return ie+oe},f.prototype.writeUint8=f.prototype.writeUInt8=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,1,255,0),this[ie]=255&q,ie+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,2,65535,0),this[ie]=255&q,this[ie+1]=q>>>8,ie+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,2,65535,0),this[ie]=q>>>8,this[ie+1]=255&q,ie+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,4,4294967295,0),this[ie+3]=q>>>24,this[ie+2]=q>>>16,this[ie+1]=q>>>8,this[ie]=255&q,ie+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,4,4294967295,0),this[ie]=q>>>24,this[ie+1]=q>>>16,this[ie+2]=q>>>8,this[ie+3]=255&q,ie+4},f.prototype.writeBigUInt64LE=De(function(q,ie=0){return Y(this,q,ie,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeBigUInt64BE=De(function(q,ie=0){return re(this,q,ie,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeIntLE=function(q,ie,oe,be){if(q=+q,ie>>>=0,!be){const dt=Math.pow(2,8*oe-1);z(this,q,ie,oe,dt-1,-dt)}let Pe=0,Me=1,ze=0;for(this[ie]=255&q;++Pe<oe&&(Me*=256);)q<0&&ze===0&&this[ie+Pe-1]!==0&&(ze=1),this[ie+Pe]=(q/Me>>0)-ze&255;return ie+oe},f.prototype.writeIntBE=function(q,ie,oe,be){if(q=+q,ie>>>=0,!be){const dt=Math.pow(2,8*oe-1);z(this,q,ie,oe,dt-1,-dt)}let Pe=oe-1,Me=1,ze=0;for(this[ie+Pe]=255&q;--Pe>=0&&(Me*=256);)q<0&&ze===0&&this[ie+Pe+1]!==0&&(ze=1),this[ie+Pe]=(q/Me>>0)-ze&255;return ie+oe},f.prototype.writeInt8=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,1,127,-128),q<0&&(q=255+q+1),this[ie]=255&q,ie+1},f.prototype.writeInt16LE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,2,32767,-32768),this[ie]=255&q,this[ie+1]=q>>>8,ie+2},f.prototype.writeInt16BE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,2,32767,-32768),this[ie]=q>>>8,this[ie+1]=255&q,ie+2},f.prototype.writeInt32LE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,4,2147483647,-2147483648),this[ie]=255&q,this[ie+1]=q>>>8,this[ie+2]=q>>>16,this[ie+3]=q>>>24,ie+4},f.prototype.writeInt32BE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,4,2147483647,-2147483648),q<0&&(q=4294967295+q+1),this[ie]=q>>>24,this[ie+1]=q>>>16,this[ie+2]=q>>>8,this[ie+3]=255&q,ie+4},f.prototype.writeBigInt64LE=De(function(q,ie=0){return Y(this,q,ie,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),f.prototype.writeBigInt64BE=De(function(q,ie=0){return re(this,q,ie,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),f.prototype.writeFloatLE=function(q,ie,oe){return le(this,q,ie,!0,oe)},f.prototype.writeFloatBE=function(q,ie,oe){return le(this,q,ie,!1,oe)},f.prototype.writeDoubleLE=function(q,ie,oe){return Ae(this,q,ie,!0,oe)},f.prototype.writeDoubleBE=function(q,ie,oe){return Ae(this,q,ie,!1,oe)},f.prototype.copy=function(q,ie,oe,be){if(!f.isBuffer(q))throw new TypeError("argument should be a Buffer");if(oe||(oe=0),be||be===0||(be=this.length),ie>=q.length&&(ie=q.length),ie||(ie=0),be>0&&be<oe&&(be=oe),be===oe||q.length===0||this.length===0)return 0;if(ie<0)throw new RangeError("targetStart out of bounds");if(oe<0||oe>=this.length)throw new RangeError("Index out of range");if(be<0)throw new RangeError("sourceEnd out of bounds");be>this.length&&(be=this.length),q.length-ie<be-oe&&(be=q.length-ie+oe);const Pe=be-oe;return this===q&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(ie,oe,be):Uint8Array.prototype.set.call(q,this.subarray(oe,be),ie),Pe},f.prototype.fill=function(q,ie,oe,be){if(typeof q=="string"){if(typeof ie=="string"?(be=ie,ie=0,oe=this.length):typeof oe=="string"&&(be=oe,oe=this.length),be!==void 0&&typeof be!="string")throw new TypeError("encoding must be a string");if(typeof be=="string"&&!f.isEncoding(be))throw new TypeError("Unknown encoding: "+be);if(q.length===1){const Me=q.charCodeAt(0);(be==="utf8"&&Me<128||be==="latin1")&&(q=Me)}}else typeof q=="number"?q&=255:typeof q=="boolean"&&(q=Number(q));if(ie<0||this.length<ie||this.length<oe)throw new RangeError("Out of range index");if(oe<=ie)return this;let Pe;if(ie>>>=0,oe=oe===void 0?this.length:oe>>>0,q||(q=0),typeof q=="number")for(Pe=ie;Pe<oe;++Pe)this[Pe]=q;else{const Me=f.isBuffer(q)?q:f.from(q,be),ze=Me.length;if(ze===0)throw new TypeError('The value "'+q+'" is invalid for argument "value"');for(Pe=0;Pe<oe-ie;++Pe)this[Pe+ie]=Me[Pe%ze]}return this};const pe={};function me(q,ie,oe){pe[q]=class extends oe{constructor(){super(),Object.defineProperty(this,"message",{value:ie.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${q}]`,this.stack,delete this.name}get code(){return q}set code(be){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:be,writable:!0})}toString(){return`${this.name} [${q}]: ${this.message}`}}}function ne(q){let ie="",oe=q.length;const be=q[0]==="-"?1:0;for(;oe>=be+4;oe-=3)ie=`_${q.slice(oe-3,oe)}${ie}`;return`${q.slice(0,oe)}${ie}`}function J(q,ie,oe,be,Pe,Me){if(q>oe||q<ie){const ze=typeof ie=="bigint"?"n":"";let dt;throw dt=ie===0||ie===BigInt(0)?`>= 0${ze} and < 2${ze} ** ${8*(Me+1)}${ze}`:`>= -(2${ze} ** ${8*(Me+1)-1}${ze}) and < 2 ** ${8*(Me+1)-1}${ze}`,new pe.ERR_OUT_OF_RANGE("value",dt,q)}(function(ze,dt,It){ce(dt,"offset"),ze[dt]!==void 0&&ze[dt+It]!==void 0||$(dt,ze.length-(It+1))})(be,Pe,Me)}function ce(q,ie){if(typeof q!="number")throw new pe.ERR_INVALID_ARG_TYPE(ie,"number",q)}function $(q,ie,oe){throw Math.floor(q)!==q?(ce(q,oe),new pe.ERR_OUT_OF_RANGE("offset","an integer",q)):ie<0?new pe.ERR_BUFFER_OUT_OF_BOUNDS:new pe.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${ie}`,q)}me("ERR_BUFFER_OUT_OF_BOUNDS",function(q){return q?`${q} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),me("ERR_INVALID_ARG_TYPE",function(q,ie){return`The "${q}" argument must be of type number. Received type ${typeof ie}`},TypeError),me("ERR_OUT_OF_RANGE",function(q,ie,oe){let be=`The value of "${q}" is out of range.`,Pe=oe;return Number.isInteger(oe)&&Math.abs(oe)>4294967296?Pe=ne(String(oe)):typeof oe=="bigint"&&(Pe=String(oe),(oe>BigInt(2)**BigInt(32)||oe<-(BigInt(2)**BigInt(32)))&&(Pe=ne(Pe)),Pe+="n"),be+=` It must be ${ie}. Received ${Pe}`,be},RangeError);const Ce=/[^+/0-9A-Za-z-_]/g;function Re(q,ie){let oe;ie=ie||1/0;const be=q.length;let Pe=null;const Me=[];for(let ze=0;ze<be;++ze){if(oe=q.charCodeAt(ze),oe>55295&&oe<57344){if(!Pe){if(oe>56319){(ie-=3)>-1&&Me.push(239,191,189);continue}if(ze+1===be){(ie-=3)>-1&&Me.push(239,191,189);continue}Pe=oe;continue}if(oe<56320){(ie-=3)>-1&&Me.push(239,191,189),Pe=oe;continue}oe=65536+(Pe-55296<<10|oe-56320)}else Pe&&(ie-=3)>-1&&Me.push(239,191,189);if(Pe=null,oe<128){if((ie-=1)<0)break;Me.push(oe)}else if(oe<2048){if((ie-=2)<0)break;Me.push(oe>>6|192,63&oe|128)}else if(oe<65536){if((ie-=3)<0)break;Me.push(oe>>12|224,oe>>6&63|128,63&oe|128)}else{if(!(oe<1114112))throw new Error("Invalid code point");if((ie-=4)<0)break;Me.push(oe>>18|240,oe>>12&63|128,oe>>6&63|128,63&oe|128)}}return Me}function we(q){return h.toByteArray(function(ie){if((ie=(ie=ie.split("=")[0]).trim().replace(Ce,"")).length<2)return"";for(;ie.length%4!=0;)ie+="=";return ie}(q))}function ge(q,ie,oe,be){let Pe;for(Pe=0;Pe<be&&!(Pe+oe>=ie.length||Pe>=q.length);++Pe)ie[Pe+oe]=q[Pe];return Pe}function ye(q,ie){return q instanceof ie||q!=null&&q.constructor!=null&&q.constructor.name!=null&&q.constructor.name===ie.name}function Ve(q){return q!=q}const Oe=function(){const q="0123456789abcdef",ie=new Array(256);for(let oe=0;oe<16;++oe){const be=16*oe;for(let Pe=0;Pe<16;++Pe)ie[be+Pe]=q[oe]+q[Pe]}return ie}();function De(q){return typeof BigInt>"u"?Ke:q}function Ke(){throw new Error("BigInt not supported")}},7187:n=>{var o,l=typeof Reflect=="object"?Reflect:null,h=l&&typeof l.apply=="function"?l.apply:function(C,E,P){return Function.prototype.apply.call(C,E,P)};o=l&&typeof l.ownKeys=="function"?l.ownKeys:Object.getOwnPropertySymbols?function(C){return Object.getOwnPropertyNames(C).concat(Object.getOwnPropertySymbols(C))}:function(C){return Object.getOwnPropertyNames(C)};var c=Number.isNaN||function(C){return C!=C};function d(){d.init.call(this)}n.exports=d,n.exports.once=function(C,E){return new Promise(function(P,I){function R(S){C.removeListener(E,D),I(S)}function D(){typeof C.removeListener=="function"&&C.removeListener("error",R),P([].slice.call(arguments))}v(C,E,D,{once:!0}),E!=="error"&&function(S,B,b){typeof S.on=="function"&&v(S,"error",B,{once:!0})}(C,R)})},d.EventEmitter=d,d.prototype._events=void 0,d.prototype._eventsCount=0,d.prototype._maxListeners=void 0;var u=10;function A(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C)}function f(C){return C._maxListeners===void 0?d.defaultMaxListeners:C._maxListeners}function p(C,E,P,I){var R,D,S,B;if(A(P),(D=C._events)===void 0?(D=C._events=Object.create(null),C._eventsCount=0):(D.newListener!==void 0&&(C.emit("newListener",E,P.listener?P.listener:P),D=C._events),S=D[E]),S===void 0)S=D[E]=P,++C._eventsCount;else if(typeof S=="function"?S=D[E]=I?[P,S]:[S,P]:I?S.unshift(P):S.push(P),(R=f(C))>0&&S.length>R&&!S.warned){S.warned=!0;var b=new Error("Possible EventEmitter memory leak detected. "+S.length+" "+String(E)+" listeners added. Use emitter.setMaxListeners() to increase limit");b.name="MaxListenersExceededWarning",b.emitter=C,b.type=E,b.count=S.length,B=b,console&&console.warn&&console.warn(B)}return C}function g(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _(C,E,P){var I={fired:!1,wrapFn:void 0,target:C,type:E,listener:P},R=g.bind(I);return R.listener=P,I.wrapFn=R,R}function m(C,E,P){var I=C._events;if(I===void 0)return[];var R=I[E];return R===void 0?[]:typeof R=="function"?P?[R.listener||R]:[R]:P?function(D){for(var S=new Array(D.length),B=0;B<S.length;++B)S[B]=D[B].listener||D[B];return S}(R):y(R,R.length)}function w(C){var E=this._events;if(E!==void 0){var P=E[C];if(typeof P=="function")return 1;if(P!==void 0)return P.length}return 0}function y(C,E){for(var P=new Array(E),I=0;I<E;++I)P[I]=C[I];return P}function v(C,E,P,I){if(typeof C.on=="function")I.once?C.once(E,P):C.on(E,P);else{if(typeof C.addEventListener!="function")throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof C);C.addEventListener(E,function R(D){I.once&&C.removeEventListener(E,R),P(D)})}}Object.defineProperty(d,"defaultMaxListeners",{enumerable:!0,get:function(){return u},set:function(C){if(typeof C!="number"||C<0||c(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");u=C}}),d.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},d.prototype.setMaxListeners=function(C){if(typeof C!="number"||C<0||c(C))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+C+".");return this._maxListeners=C,this},d.prototype.getMaxListeners=function(){return f(this)},d.prototype.emit=function(C){for(var E=[],P=1;P<arguments.length;P++)E.push(arguments[P]);var I=C==="error",R=this._events;if(R!==void 0)I=I&&R.error===void 0;else if(!I)return!1;if(I){var D;if(E.length>0&&(D=E[0]),D instanceof Error)throw D;var S=new Error("Unhandled error."+(D?" ("+D.message+")":""));throw S.context=D,S}var B=R[C];if(B===void 0)return!1;if(typeof B=="function")h(B,this,E);else{var b=B.length,L=y(B,b);for(P=0;P<b;++P)h(L[P],this,E)}return!0},d.prototype.addListener=function(C,E){return p(this,C,E,!1)},d.prototype.on=d.prototype.addListener,d.prototype.prependListener=function(C,E){return p(this,C,E,!0)},d.prototype.once=function(C,E){return A(E),this.on(C,_(this,C,E)),this},d.prototype.prependOnceListener=function(C,E){return A(E),this.prependListener(C,_(this,C,E)),this},d.prototype.removeListener=function(C,E){var P,I,R,D,S;if(A(E),(I=this._events)===void 0)return this;if((P=I[C])===void 0)return this;if(P===E||P.listener===E)--this._eventsCount==0?this._events=Object.create(null):(delete I[C],I.removeListener&&this.emit("removeListener",C,P.listener||E));else if(typeof P!="function"){for(R=-1,D=P.length-1;D>=0;D--)if(P[D]===E||P[D].listener===E){S=P[D].listener,R=D;break}if(R<0)return this;R===0?P.shift():function(B,b){for(;b+1<B.length;b++)B[b]=B[b+1];B.pop()}(P,R),P.length===1&&(I[C]=P[0]),I.removeListener!==void 0&&this.emit("removeListener",C,S||E)}return this},d.prototype.off=d.prototype.removeListener,d.prototype.removeAllListeners=function(C){var E,P,I;if((P=this._events)===void 0)return this;if(P.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):P[C]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete P[C]),this;if(arguments.length===0){var R,D=Object.keys(P);for(I=0;I<D.length;++I)(R=D[I])!=="removeListener"&&this.removeAllListeners(R);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(typeof(E=P[C])=="function")this.removeListener(C,E);else if(E!==void 0)for(I=E.length-1;I>=0;I--)this.removeListener(C,E[I]);return this},d.prototype.listeners=function(C){return m(this,C,!0)},d.prototype.rawListeners=function(C){return m(this,C,!1)},d.listenerCount=function(C,E){return typeof C.listenerCount=="function"?C.listenerCount(E):w.call(C,E)},d.prototype.listenerCount=w,d.prototype.eventNames=function(){return this._eventsCount>0?o(this._events):[]}},645:(n,o)=>{o.read=function(l,h,c,d,u){var A,f,p=8*u-d-1,g=(1<<p)-1,_=g>>1,m=-7,w=c?u-1:0,y=c?-1:1,v=l[h+w];for(w+=y,A=v&(1<<-m)-1,v>>=-m,m+=p;m>0;A=256*A+l[h+w],w+=y,m-=8);for(f=A&(1<<-m)-1,A>>=-m,m+=d;m>0;f=256*f+l[h+w],w+=y,m-=8);if(A===0)A=1-_;else{if(A===g)return f?NaN:1/0*(v?-1:1);f+=Math.pow(2,d),A-=_}return(v?-1:1)*f*Math.pow(2,A-d)},o.write=function(l,h,c,d,u,A){var f,p,g,_=8*A-u-1,m=(1<<_)-1,w=m>>1,y=u===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=d?0:A-1,C=d?1:-1,E=h<0||h===0&&1/h<0?1:0;for(h=Math.abs(h),isNaN(h)||h===1/0?(p=isNaN(h)?1:0,f=m):(f=Math.floor(Math.log(h)/Math.LN2),h*(g=Math.pow(2,-f))<1&&(f--,g*=2),(h+=f+w>=1?y/g:y*Math.pow(2,1-w))*g>=2&&(f++,g/=2),f+w>=m?(p=0,f=m):f+w>=1?(p=(h*g-1)*Math.pow(2,u),f+=w):(p=h*Math.pow(2,w-1)*Math.pow(2,u),f=0));u>=8;l[c+v]=255&p,v+=C,p/=256,u-=8);for(f=f<<u|p,_+=u;_>0;l[c+v]=255&f,v+=C,f/=256,_-=8);l[c+v-C]|=128*E}},5705:(n,o,l)=>{var h,c,d=l.g.MutationObserver||l.g.WebKitMutationObserver;if(d){var u=0,A=new d(_),f=l.g.document.createTextNode("");A.observe(f,{characterData:!0}),h=function(){f.data=u=++u%2}}else if(l.g.setImmediate||l.g.MessageChannel===void 0)h="document"in l.g&&"onreadystatechange"in l.g.document.createElement("script")?function(){var m=l.g.document.createElement("script");m.onreadystatechange=function(){_(),m.onreadystatechange=null,m.parentNode.removeChild(m),m=null},l.g.document.documentElement.appendChild(m)}:function(){setTimeout(_,0)};else{var p=new l.g.MessageChannel;p.port1.onmessage=_,h=function(){p.port2.postMessage(0)}}var g=[];function _(){var m,w;c=!0;for(var y=g.length;y;){for(w=g,g=[],m=-1;++m<y;)w[m]();y=g.length}c=!1}n.exports=function(m){g.push(m)!==1||c||h()}},5717:n=>{typeof Object.create=="function"?n.exports=function(o,l){l&&(o.super_=l,o.prototype=Object.create(l.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}))}:n.exports=function(o,l){if(l){o.super_=l;var h=function(){};h.prototype=l.prototype,o.prototype=new h,o.prototype.constructor=o}}},8458:(n,o,l)=>{var h=l(8910),c=l(3790),d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";o.encode=function(u){for(var A,f,p,g,_,m,w,y=[],v=0,C=u.length,E=C,P=h.getTypeOf(u)!=="string";v<u.length;)E=C-v,P?(A=u[v++],f=v<C?u[v++]:0,p=v<C?u[v++]:0):(A=u.charCodeAt(v++),f=v<C?u.charCodeAt(v++):0,p=v<C?u.charCodeAt(v++):0),g=A>>2,_=(3&A)<<4|f>>4,m=E>1?(15&f)<<2|p>>6:64,w=E>2?63&p:64,y.push(d.charAt(g)+d.charAt(_)+d.charAt(m)+d.charAt(w));return y.join("")},o.decode=function(u){var A,f,p,g,_,m,w=0,y=0,v="data:";if(u.substr(0,v.length)===v)throw new Error("Invalid base64 input, it looks like a data url.");var C,E=3*(u=u.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(u.charAt(u.length-1)===d.charAt(64)&&E--,u.charAt(u.length-2)===d.charAt(64)&&E--,E%1!=0)throw new Error("Invalid base64 input, bad content length.");for(C=c.uint8array?new Uint8Array(0|E):new Array(0|E);w<u.length;)A=d.indexOf(u.charAt(w++))<<2|(g=d.indexOf(u.charAt(w++)))>>4,f=(15&g)<<4|(_=d.indexOf(u.charAt(w++)))>>2,p=(3&_)<<6|(m=d.indexOf(u.charAt(w++))),C[y++]=A,_!==64&&(C[y++]=f),m!==64&&(C[y++]=p);return C}},7326:(n,o,l)=>{var h=l(8565),c=l(5301),d=l(2541),u=l(5977);function A(f,p,g,_,m){this.compressedSize=f,this.uncompressedSize=p,this.crc32=g,this.compression=_,this.compressedContent=m}A.prototype={getContentWorker:function(){var f=new c(h.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new u("data_length")),p=this;return f.on("end",function(){if(this.streamInfo.data_length!==p.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),f},getCompressedWorker:function(){return new c(h.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},A.createWorkerFrom=function(f,p,g){return f.pipe(new d).pipe(new u("uncompressedSize")).pipe(p.compressWorker(g)).pipe(new u("compressedSize")).withStreamInfo("compression",p)},n.exports=A},1678:(n,o,l)=>{var h=l(3718);o.STORE={magic:"\0\0",compressWorker:function(){return new h("STORE compression")},uncompressWorker:function(){return new h("STORE decompression")}},o.DEFLATE=l(1033)},6988:(n,o,l)=>{var h=l(8910),c=function(){for(var d,u=[],A=0;A<256;A++){d=A;for(var f=0;f<8;f++)d=1&d?3988292384^d>>>1:d>>>1;u[A]=d}return u}();n.exports=function(d,u){return d!==void 0&&d.length?h.getTypeOf(d)!=="string"?function(A,f,p,g){var _=c,m=0+p;A^=-1;for(var w=0;w<m;w++)A=A>>>8^_[255&(A^f[w])];return-1^A}(0|u,d,d.length):function(A,f,p,g){var _=c,m=0+p;A^=-1;for(var w=0;w<m;w++)A=A>>>8^_[255&(A^f.charCodeAt(w))];return-1^A}(0|u,d,d.length):0}},6032:(n,o)=>{o.base64=!1,o.binary=!1,o.dir=!1,o.createFolders=!0,o.date=null,o.compression=null,o.compressionOptions=null,o.comment=null,o.unixPermissions=null,o.dosPermissions=null},8565:(n,o,l)=>{var h;h=typeof Promise<"u"?Promise:l(3389),n.exports={Promise:h}},1033:(n,o,l)=>{var h=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",c=l(9591),d=l(8910),u=l(3718),A=h?"uint8array":"array";function f(p,g){u.call(this,"FlateWorker/"+p),this._pako=null,this._pakoAction=p,this._pakoOptions=g,this.meta={}}o.magic="\b\0",d.inherits(f,u),f.prototype.processChunk=function(p){this.meta=p.meta,this._pako===null&&this._createPako(),this._pako.push(d.transformTo(A,p.data),!1)},f.prototype.flush=function(){u.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},f.prototype.cleanUp=function(){u.prototype.cleanUp.call(this),this._pako=null},f.prototype._createPako=function(){this._pako=new c[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var p=this;this._pako.onData=function(g){p.push({data:g,meta:p.meta})}},o.compressWorker=function(p){return new f("Deflate",p)},o.uncompressWorker=function(){return new f("Inflate",{})}},4979:(n,o,l)=>{var h=l(8910),c=l(3718),d=l(3600),u=l(6988),A=l(1141),f=function(m,w){var y,v="";for(y=0;y<w;y++)v+=String.fromCharCode(255&m),m>>>=8;return v},p=function(m,w,y,v,C,E){var P,I,R=m.file,D=m.compression,S=E!==d.utf8encode,B=h.transformTo("string",E(R.name)),b=h.transformTo("string",d.utf8encode(R.name)),L=R.comment,V=h.transformTo("string",E(L)),U=h.transformTo("string",d.utf8encode(L)),K=b.length!==R.name.length,j=U.length!==L.length,ae="",k="",W="",z=R.dir,Y=R.date,re={crc32:0,compressedSize:0,uncompressedSize:0};w&&!y||(re.crc32=m.crc32,re.compressedSize=m.compressedSize,re.uncompressedSize=m.uncompressedSize);var Z=0;w&&(Z|=8),S||!K&&!j||(Z|=2048);var le,Ae,pe=0,me=0;z&&(pe|=16),C==="UNIX"?(me=798,pe|=(Ae=le=R.unixPermissions,le||(Ae=z?16893:33204),(65535&Ae)<<16)):(me=20,pe|=63&(R.dosPermissions||0)),P=Y.getUTCHours(),P<<=6,P|=Y.getUTCMinutes(),P<<=5,P|=Y.getUTCSeconds()/2,I=Y.getUTCFullYear()-1980,I<<=4,I|=Y.getUTCMonth()+1,I<<=5,I|=Y.getUTCDate(),K&&(k=f(1,1)+f(u(B),4)+b,ae+="up"+f(k.length,2)+k),j&&(W=f(1,1)+f(u(V),4)+U,ae+="uc"+f(W.length,2)+W);var ne="";return ne+=`
|
|
93
|
+
}`,m.appendChild(y);const C=e.createElement("div");i&&(C.id=zi.PREVIEW_CLASS+r),C.className="rr-report-root"+(i?" "+zi.PREVIEW_CLASS:""),t.report.type===mt.EMAIL&&(C.className+=C.className+" rr-email"),m.appendChild(C),t.container=C}else m=_._containerDiv.getElementsByClassName(zi.PRINT_BACK_CLASS)[0],t.container=m.getElementsByClassName("rr-report-root")[0]}function o(_,m){const w=t.floatings;if(w.length>0){const y=[];for(let v of w){const C=v[td];for(let E of m){const P=E.page;if(P.contains(C)){y.push(P),E.contents.push(v);break}}}_.$_layoutFloatings(y,w)}}function l(_){d.$_endPrint(t),ee.remove(_._indicator),ee.detach(_._containerDom),s.debug&&console.log("Printed in "+(+new Date-c)+"ms."),_.$_removeBackContainer()}if(t.report.getMaxPageCount()<1){ee.remove(this._indicator);return}const h=e.getElementById(zi.PREVIEW_CLASS+r);let c;t.reportIndex===0&&(s.debug&&(c=+new Date),h&&(ee.detach(h),this.containerDiv.appendChild(this._containerDom)),this._hideError());const d=t.reportView,u=d.model;u.info.paper;const A=d.pageViews,f=s.async&&!this._isTesting,p=s.endCallback;t.async=f,t.preview=i,t.pageDelay=Math.max(0,ee.pickNum(s.pageDelay,0)),t.designDp&&t.designDp.preparePrint(t),t.dp&&t.dp.preparePrint(t),t.initialize(),d.$_preparePrint(t);let g=[];A.forEach((_,m,w)=>{const y=_.model.getPageSize();t.setPageSize(y.width,y.height),t.setBodySize();const v=_.prepareAsync(e,t);m<w.length-1&&v.push({line:new bg,pageIndex:_.model.index}),g=g.concat(v)});try{if(this._printMode===el.MULTI)throw Error(hV.PAGING_FALSE_NOT_ALLOED_MULTI_PAGE);n(this);const _=[];this.$_buildNoPagingOutput(e,t,_,g,0,0,(m,w)=>{this._pages=w.concat(this._pages),p&&p(m,this._pages)}),this.$_resetPreviewer(),o(this,_),l(this)}catch(_){ee.remove(this._indicator),this._showError(h,_),console.error(_);return}}$_getContainer(){return this._containerDiv}$_getPreviewer(e){return this.doc.getElementById(zi.PREVIEW_CLASS+(e||this._previewId))}$_getPageHeight(e){return this._printMode===el.MULTI||this._printMode===el.PORTRAIT?e.find(i=>i.pageOrientation===dl.PORTRAIT).page.offsetHeight:this._printMode===el.LANDSCAPE?e.find(i=>i.pageOrientation===dl.LANDSCAPE).page.offsetHeight:null}$_getPrintBack(){return this._containerDiv.querySelector(`.${zi.PRINT_BACK_CLASS}`)}$_removeBackContainer(){const e=this.$_getPrintBack();e&&e.replaceWith(...e.childNodes)}$_resetPreviewer(){if(this._preview){const e=this.$_getPreviewer(this._previewId),t=this.$_getContainer().getBoundingClientRect(),i=this._zoom;ee.extend(e.style,this._styles),e.style.transform=i==1?"":"scale("+i+")",e.style.setProperty("transform-origin","top left","important"),e.style.overflow="hidden";const r=e.getBoundingClientRect().width||t.width;let s=0;switch(this.align){case Pi.LEFT:break;case Pi.RIGHT:s=t.width-r;break;case Pi.CENTER:default:s=Math.round((t.width-r)/2)}e.style.left=Math.max(0,s)+"px"}}$_buildOutput(e,t,i,r,s,n,o,l,h){var c;function d(){const re=V.length,Z=V[0],le=V[re-1],Ae=le.y+le.h-Z.y;let pe=0;B===eo.END?pe=W-Ae:pe=(W-Ae)/2,pe=Math.max(0,Math.floor(pe)),pe!==0&&V.forEach(me=>{me.line.style.top=Et(me.y+pe)})}const u=r[s]?r[s].pageIndex:0,A=t.report,f=A.getPage(u),p=t.reportView.getPageView(u),g=A.page.pageHeader,_=A.page.pageFooter,m=A.page.reportFooter,w=A.info.paper,y=f.getPageSize(),v=y.height,C=new X5,E=C.contents,P=e.createElement("div"),I=e.createElement("div"),R=t.floatings,D=s,S=t.async,B=f.body.itemsAlign,{singlePage:b,singlePageOptions:L}=o;let V=b||B===eo.MIDDLE||B===eo.END?[]:void 0,U;p.preparePrint(t);const K=t.pages.length;if(t.setPageSize(y.width,y.height),t.setBodySize(),t.preparePage(K,t.prevPages+K),t.band=null,t.contextValues=[],C.reportIndex=t.reportIndex,C.page=P,I.className="rr-print-page-content",C.pageOrientation=w.getOrientation(f),t.preview){P.className="rr-print-page rr-page-break page"+K,P.dataset.page=n+"",b&&this.$_setSinglePageStyles(P,L),this.$_setPageContainerStyle(f,w,P,I);const{width:re,height:Z}=w.getPageSize(f);this.needPrintScale()?this.$_setPrintScaleStyle(f,P,I):this._printMode===el.MULTI&&w.getOrientation(f)===dl.LANDSCAPE&&this.$_setLandscapePageStyle(P,re,Z)}else debugger;I.style.position="absolute",P.appendChild(I),t.container.appendChild(P),this.$_setFrontBackLayer(C,p);let j=0+ee.toNumber(g.spaceTop);U=p.printPageHeader(e,t).dom,U.style.top=j+"px",j+=U[_t]=p.pageHeaderView[_t],C.pageHeader=U,I.appendChild(U);const ae=j;U=p.printPageFooter(e,t).dom,U[_t]=p.pageFooterView[_t],C.pageFooter=U;const k=v-U[_t]-ee.toNumber(_.spaceBottom);U.style.top=k+"px",I.appendChild(U),t.h=t.bodyHeight,n===0&&(U=p.printReportHeader(e,t).dom,U[_t]=p.reportHeaderView[_t]||0,U.style.top=j+"px",E.push(U),I.appendChild(U),t.h-=U[_t],j+=U[_t]);const W=t.h;let z=p.bodyView.itemsView.gap;for(;s<r.length&&t.h>0;){const re=r[s].line;if(re instanceof HTMLDivElement){if(re[td])R.push(re);else{let Z=re[_t];if(Z>t.h&&re.classList.contains("rr-space")&&(Z=t.h),t.h-Z<0&&s>D)break;E.push(re),V&&V.push({line:re,y:j,h:Z}),re.style.top=j+"px",I.appendChild(re),j+=Z+z,t.h-=Z+z}s++}else if(re instanceof bg){s++;break}else if(re instanceof YO){U=p.printReportFooter(e,t).dom;const Z=U[_t]=p.reportFooterView[_t]||0;if(Z>0&&t.h>=Z){let le;m.alignToBottom?le=k-Z:le=j,U.style.top=le+"px",t.h-=Z,E.push(U),I.appendChild(U),s++}else if(Z<=0){debugger;s++}else break}else if(re instanceof e3)if(re.isEnded())s++;else{const Z=re.getNextPage(e,t,t.pageWidth,I);if(Z){const le=Z[_t];Z.style.top=Et(j),E.push(Z),V&&V.push({line:Z,y:j,h:le}),j+=le,t.h-=le,j+=z,t.h-=z}if(re.isEnded())s++;else break}else if(re instanceof vo){const Z=re.band;if(gU.isDataBand(Z)&&(t.band=Z),Z instanceof tt&&Z.dataRowCount===0)if(re.isEmptyDataBandVisible()){const le=re.getEmptyDataBandPage(e,t,re,t.pageWidth,I);if(le){le.style.top=j+"px";const Ae=le[_t];E.push(le),V&&V.push({line:le,y:j,h:Ae}),j+=Ae,t.h-=Ae,j+=z,t.h-=z,re.isHeaderSectionPrinted&&re.isFooterSectionPrinted&&s++}else{if(re.needNextPage)break;s++}}else s++;else{const le=re.getNextPage(e,t,t.pageWidth,I),Ae=re instanceof SU?re.group.noSplit:re.band.noSplit;if(le)if(j>ae&&!re.isEnded()&&Ae){le.remove(),re.rollback(le);break}else{le.style.top=j+"px";const pe=le[_t];E.push(le),V&&V.push({line:le,y:j,h:pe});const me=(c=re.band)===null||c===void 0?void 0:c.styles,ne=this.$_addBorderContainer(e,le,re,j,pe,me,E,I);if(j+=pe+ne,t.h-=pe+ne,t.h<=0){re.isEnded()&&s++;break}j+=z,t.h-=z}if(re.isEnded())s++,s<r.length&&t.h<=0&&r[s].line instanceof bg&&r.splice(s,1);else break}}else s++}!b&&V&&d();for(let re of t.contextValues)re.refreshPrintValues(t);if(b&&(this.$_prepareSinglePage(t,C,V,I),this.$_setFrontBackLayer(C,p)),f.frontContainer.isPrintable(t)&&I.appendChild(C.foreground),f.backContainer.isPrintable(t)&&I.prepend(C.background),l&&l(t,C,n),i.length>0&&this._options.previewOptions.optimize!==!1&&(i[i.length-1].page.style.display="none"),i.push(C),t.pages.push(C),this._floatingLayoutAction.setFloatings(t),S&&this._options.previewOptions.noScroll===!1&&C.page.scrollIntoView({behavior:"auto"}),R.length>0){const re=[],Z=[];for(let le of R){const Ae=le[td];if(I.contains(Ae)){re.push(I),E.push(le),Z.push(le);break}}this.$_layoutFloatings(re,Z)}const Y=n+1;return t.pageCount=t.pages.length,t.isEditable&&this.$_addEditableItems(P),s<r.length?(S&&Y<t.report.getMaxPageCount()&&setTimeout(()=>{try{this.$_buildOutput(e,t,i,r,s,Y,this._options.previewOptions,l,h)}catch(re){ee.remove(this._indicator),this._showError(t.container.parentElement,re),console.error(re)}},t.pageDelay),s):(S&&(this.$_refreshContextValues(t),h&&h(t,i)),r.length)}$_buildNoPagingOutput(e,t,i,r,s,n,o){const l=r[s]?r[s].pageIndex:0,h=t.reportView.getPageView(l),c=t.report,d=c.getPage(l),u=c.info.paper,A=d.getPageSize(),f=new X5,p=f.contents,g=e.createElement("div"),_=e.createElement("div"),m=e.createElement("div"),w=t.floatings;let y,v=0,C=0,E=0;h.preparePrint(t),t.setPageSize(A.width,A.height),t.setBodySize(),t.preparePage(n,t.prevPages+n),t.band=null,f.page=g,g.className="rr-print-root-container",_.className="rr-print-container",m.className=Hk.CLASS,f.pageOrientation=u.getOrientation(d);const{left:P,right:I,top:R,bottom:D}=u.getMargins();if(t.preview){g.className="rr-print-page page"+n,g.dataset.page=n+"";const K=u.getPageSize(d);g.style.width=K.width+"px",ee.extend(g.style,d.styles),ee.extend(m.style,d.body.itemsContainer.styles),_.style.width=m.style.width=K.width-P-I+"px",_.style.top=R+"px",_.style.left=P+"px"}else debugger;_.style.position="absolute",g.appendChild(_),t.container.appendChild(g),m.style.position="absolute";let S=0;n===0&&c.type!==mt.EMAIL&&(y=h.printReportHeader(e,t).dom,y[_t]=h.reportHeaderView[_t]||0,y.style.top=S+"px",p.push(y),_.appendChild(y),v+=y[_t],C+=v);const B=t.reportView.getPageView(l).bodyView,b=B.itemsView.gap;_.appendChild(m),m.style.boxSizing="border-box",m.style.top=v+"px";const{borderTop:L,borderBottom:V}=jr.getBorderBound(B.itemsView.model);for(E+=L+V,C+=L+V;s<r.length;){const K=r[s].line;if(K instanceof HTMLDivElement){if(K[td])w.push(K);else{let j=K[_t];p.push(K),K.style.top=S+"px",m.appendChild(K),S+=j+b,C+=j+b,E+=j+b}s++}else if(K instanceof YO){y=h.printReportFooter(e,t).dom;const j=y[_t]=h.reportFooterView[_t]||0;y.style.top=v+S-b+L+V+"px",p.push(y),_.appendChild(y),C+=j,s++}else if(K instanceof vo){const j=B.itemsView.getWidthWithoutBorder(t.pageWidth),ae=K.getNoPagingPage(e,t,j,m),k=K.band.styles;if(ae){ae.style.top=S+"px";const W=ae[_t];p.push(ae);const z=this.$_addBorderContainer(e,ae,K,S,W,k,p,_,!0);S+=W+z+b,C+=W+z+b,E+=W+z+b}s++}else s++}if(r.length>0&&(E-=b,C-=b),m.style.height=E+"px",i.push(f),t.pages.push(f),this._floatingLayoutAction.setFloatings(t),w.length>0){const K=[],j=[];for(let ae of w){const k=ae[td];if(_.contains(k)){K.push(_),p.push(ae),j.push(ae);break}}this.$_layoutFloatings(K,j)}g.style.height=C+R+D+"px",_.style.height=C+"px";const U=n+1;return t.pageCount=U,o&&o(t,i),r.length}$_setFrontBackLayer(e,t){e.background=t.backFloatingView.cloneNode(),e.foreground=t.frontFloatingView.cloneNode()}$_prepareSubPageViews(e,t){t.forEach(i=>{const r=i.model,s=r.getPageSize();r.isPrintable(e)&&r.type!==Ih.REPORT&&(e.setPageSize(s.width,s.height),e.setBodySize(),i.prepareAsync(this.doc,e))})}$_prepareSinglePage(e,t,i,r){const s=i[i.length-1],n=e.reportHeaderHeight,o=this.$_isReportFooter(t)?e.reportFooterHeight:0;let l=0;i.length>0?l+=s.y+s.h+o:l+=0+n+o;const h=parseFloat(t.pageFooter.style.top)-l;r.style.height=`${parseFloat(r.style.height)-h}px`,t.pageFooter.style.top=`${l}px`;const c=e.reportView.pageView,d=c.frontFloatingView,u=c.backFloatingView;if(d.model.items.length===0){const A=parseFloat(r.style.height);d.height=A,d.dom.style.height=`${A}px`}else d.model.items.forEach(A=>{const f=d.getElementOf(A),{y:p,height:g}=f,_=p+g;r.offsetHeight<_&&(r.style.height=`${_}px`)});if(u.model.items.length===0){const A=parseFloat(r.style.height);u.height=A,u.dom.style.height=`${A}px`}else u.model.items.forEach(A=>{const f=u.getElementOf(A),{y:p,height:g}=f,_=p+g;r.offsetHeight<_&&(r.style.height=`${_}px`)})}$_setSinglePage(e,t){var i;const{marginBottom:r,marginTop:s}=e.report.paper,n=new Ct(s).getFixedPixel(),o=new Ct(r).getFixedPixel(),l=(i=t[0])===null||i===void 0?void 0:i.page,h=l.firstElementChild;if(t.forEach((c,d)=>{if(d===0)c.page.style.height=`${parseFloat(h.style.height)+n}px`,c.page.style.display="block";else{const u=c.page.firstElementChild;u.style.top=`${parseFloat(l.style.height)}px`,l.style.height=`${parseFloat(l.style.height)+parseFloat(u.style.height)}px`,l.appendChild(c.page.firstElementChild),c.page.remove()}d===t.length-1&&(l.style.height=`${parseFloat(l.style.height)+o}px`)}),this._options.previewOptions.pageMark){const c=this._containerDiv.getElementsByClassName(zi.MARKER_CLASS)[0];c&&this._containerDiv&&this._containerDiv.removeChild(c)}}$_setSinglePageStyles(e,t){e.style.marginBottom="0",t.border||e.classList.remove("rr-page-break")}$_isReportFooter(e){let t=!1;return e.contents.forEach(i=>{i.className.includes("rr-report-footer")&&(t=!0)}),t}$_setPrintMode(e){let t="";if(Array.isArray(e))e.forEach(i=>{const r=i.report.paper;i.report.pages.forEach(s=>{if(t===el.MULTI)return;const n=r.getOrientation(s);if(t===""){t=n;return}t!==n&&(t=el.MULTI)})});else{const i=e.paper;e.pages.forEach(r=>{if(t===el.MULTI)return;const s=i.getOrientation(r);if(t===""){t=s;return}t!==s&&(t=el.MULTI)})}this._printMode=t}$_getScaleSize(e,t){const i=e-t,r=(e+t)/2;return 1+i/r}$_setPageContainerStyle(e,t,i,r){t.applyPreviewExtents(e,i.style,t.getOrientation(e)),t.applyPreviewClient(e,r.style)}$_setLandscapePageStyle(e,t,i){e.classList.add("rr-print-page-landscape"),e.style.setProperty("--rr-print-size",`${i}px`),e.style.setProperty("--rr-print-width",`${t}px`),this.$_setUnvisibleDom(e)}$_setPrintScaleStyle(e,t,i){const r=e.report.paper,{width:s,height:n}=r.getPaperSize(),o=this.$_getScaleSize(n,s),l=parseFloat(i.style.left),h=(l*o-l)/2;t.style.setProperty("--rr-print-scale",`${o}`),r.getOrientation(e)===dl.LANDSCAPE?(t.classList.add("rr-print-page-landscape-start"),t.style.setProperty("--rr-print-size",`${s}px`),t.style.setProperty("--rr-print-width",`${s}px`),t.style.setProperty("--rr-print-portrait-x",`${h}px`),this.$_setUnvisibleDom(t)):(t.classList.add("rr-print-page-portrait"),t.style.setProperty("--rr-print-size",`${s}px`),t.style.setProperty("--rr-print-height",`${n}px`),t.style.setProperty("--rr-print-portrait-x",`${h}px`))}$_setUnvisibleDom(e){const t=document.createElement("div");t.style.visibility="hidden",t.style.width="1px",t.innerHTML="​",t.style.position="absolute",t.style.right="0px"}$_layoutFloatings(e,t){t.forEach((i,r)=>{const s=i[td],n=i[_H];let o=s.offsetLeft,l=s.offsetTop,h=s.offsetParent;const c=e[r];for(;h instanceof HTMLElement&&h!==c;)o+=h.offsetLeft,l+=h.offsetTop,h=h.offsetParent;switch(c.appendChild(i),n){case Tn.INNER_LEFT:l-=(i.offsetHeight-s.offsetHeight)/2;break;case Tn.LEFT:o-=i.offsetWidth,l-=(i.offsetHeight-s.offsetHeight)/2;break;case Tn.INNER_RIGHT:o+=s.offsetWidth-i.offsetWidth,l-=(i.offsetHeight-s.offsetHeight)/2;break;case Tn.RIGHT:o+=s.offsetWidth,l-=(i.offsetHeight-s.offsetHeight)/2;break;case Tn.INNER_TOP:o-=(i.offsetWidth-s.offsetWidth)/2;break;case Tn.TOP:o-=(i.offsetWidth-s.offsetWidth)/2,l-=i.offsetHeight;break;case Tn.INNER_BOTTOM:o-=(i.offsetWidth-s.offsetWidth)/2,l+=s.offsetHeight-i.offsetHeight;break;case Tn.BOTTOM:o-=(i.offsetWidth-s.offsetWidth)/2,l+=s.offsetHeight;break;case Tn.CENTER:default:o-=(i.offsetWidth-s.offsetWidth)/2,l-=(i.offsetHeight-s.offsetHeight)/2;break}i.style.left=o+"px",i.style.top=l+"px"})}$_setLanguageContext(e,t){const{languages:i,defaultLanguage:r}=e.i18n;i.length!==0&&(t&&i.includes(t)?this._context.language=t:this._context.language=r)}$_validatePrintOptions(e){if(!ee.isObject(e))throw new Yd(Jh.INVALID_PRINT_OPTION);if(!("report"in e))throw new Yd(Jh.EMPTY_REPORT);this.$_validateReportOption(e.report)}$_validateReportOption(e){if(Array.isArray(e)){const t=e;if(t.length===0)throw new Yd(Jh.EMPTY_REPORT);let i;t.forEach((r,s)=>{let n;if(r instanceof cs)n=r.type;else if(this.$_instanceofIPrintReport(r))n=r.report.type;else throw new Yd(Jh.INVALID_REPORT);if(s===0)i=n;else if(n!==i)throw new Yd(Jh.INVALID_COPOSITE_REPORT_TYPES)})}else if(!(e instanceof cs))throw new Yd(Jh.INVALID_REPORT)}$_createReportView(e,t,i,r){switch(e){case mt.EMAIL:return new r2e(t,i,r);default:return new xc(t,i,r)}}$_instanceofIPrintReport(e){return typeof e=="object"&&"report"in e&&e.report instanceof cs&&"data"in e&&typeof e.data=="object"}$_addMarkerEventListener(e){if(this._contexts){const t=this._contexts.map(i=>i.reportItemElementMap);this.$_addListener(e,"click",i=>{const r=i.target;if(r instanceof HTMLElement&&r.classList.contains(Ap.CLASS_NAME)){const s=r.parentElement;s.querySelector("span");for(const n of t){const o=n.getItemElementByModelHash(X.getData(s,qt));if(o){if(o instanceof Og){const l=s.querySelector("span");this._printEditLayer.show(r.parentElement,o,new vA(this.doc,r,l))}else if(o instanceof Ec){const l=s.querySelector("span");this._printEditLayer.show(r.parentElement,o,new vA(this.doc,r,l))}else if(o instanceof Un){const l=s.querySelector(`.${Un.CHECK_CLASS}`);if(!l)return;const h=X.getData(l,"checked");let c;h==="0"||h==="-1"?(c=o.getCheckedStatusSvg("1"),X.setData(l,"checked","1"),this._printEditableItemManager.updateEditableItem(r,"true")):h==="1"&&(c=o.getCheckedStatusSvg("0"),X.setData(l,"checked","0"),this._printEditableItemManager.updateEditableItem(r,"false")),c&&(l.hasChildNodes()&&(l.innerHTML=null),l.appendChild(c))}}}}},!1)}else{const t=this._context.reportItemElementMap;this.$_addListener(e,"click",i=>{const r=i.target;if(r instanceof HTMLElement&&r.classList.contains(Ap.CLASS_NAME)){const s=r.parentElement,n=t.getItemElementByModelHash(X.getData(s,qt));if(n){if(n instanceof Og){const o=s.querySelector("span");this._printEditLayer.show(r.parentElement,n,new vA(this.doc,r,o))}else if(n instanceof Ec){const o=s.querySelector("span");this._printEditLayer.show(r.parentElement,n,new vA(this.doc,r,o))}else if(n instanceof Un){const o=s.querySelector(`.${Un.CHECK_CLASS}`);if(!o)return;const l=X.getData(o,"checked");let h;l==="0"||l==="-1"?(h=n.getCheckedStatusSvg("1"),X.setData(o,"checked","1"),this._printEditableItemManager.updateEditableItem(r,"true")):l==="1"&&(h=n.getCheckedStatusSvg("0"),X.setData(o,"checked","0"),this._printEditableItemManager.updateEditableItem(r,"false")),h&&(o.hasChildNodes()&&(o.innerHTML=null),o.appendChild(h))}}}},!1)}}$_addEditableItemToManager(e,t){e.forEach(i=>{const r=i.parentElement,s=t.getItemElementByModelHash(X.getData(r,qt));s&&(s instanceof Og?this._printEditableItemManager.addEditableItem(s,r.querySelector(`.${Og.CLASS_NAME} span`),i):s instanceof Ec?this._printEditableItemManager.addEditableItem(s,r.querySelector("span"),i):s instanceof Un&&this._printEditableItemManager.addEditableItem(s,r,i))})}$_addEditableItems(e){if(this._contexts)this._contexts.forEach(t=>{const i=t.reportItemElementMap,r=e.querySelectorAll(".rr-editable-marker");this.$_addEditableItemToManager(r,i)});else{const t=this._context.reportItemElementMap,i=e.querySelectorAll(".rr-editable-marker");this.$_addEditableItemToManager(i,t)}}$_addBorderContainer(e,t,i,r,s,n,o,l,h){const c=i.createBorderContaienr(e,r,t.offsetWidth,Fa.BORDER_CONTAINER,t.dataset[qt]),d=i.band&&(i.band instanceof Bh||i.band instanceof Ei)&&i.band.getItemBorderWidths(),u=d!=null&&d.top?d.top:0,A=d!=null&&d.bottom?d.bottom:0;let f=0;return i instanceof xC?f=u+A:f=u/2+A/2,i.band&&(i.band instanceof Bh||i.band instanceof Ei)&&i.band.hasItemBorder()&&(i.setBorderContainerStyle(c,{height:s+(h?f/2:f)+"px",width:t.offsetWidth+"px",left:t.style.left,...n}),o.push(c),l.appendChild(c)),f}}class hN extends Ai{static getPdfVersion(e){switch(e){case"1.3":return"1.3";case"1.4":return"1.4";case"1.5":return"1.5";case"1.6":return"1.6";case"1.7":return"1.7";case"1.7ext3":return"1.7ext3";default:return"1.7ext3"}}constructor(){super(),this._svgs=[],this._elementCreator=(e,t,i)=>{let r;if(t instanceof Vn)r=new jSe(e,i,t);else if(t instanceof Ks||t instanceof _i)r=new cV(e,i,t);else if(t instanceof ea||t instanceof Ac)r=new cV(e,i,t);else if(t instanceof Xr)i.style.opacity=t.styles.opcaity,r=new XSe(e,i,t);else if(t instanceof Ma){const s=i[RP];if(!s)return new FD(e,i,null,!0);i.innerHTML=s.substring(s.indexOf("<svg")),this._svgs.push(i);const n=i.firstElementChild;n.style.visibility="hidden",r=new FD(e,i,n,!0)}else t instanceof mn?r=new qSe(e,i):t instanceof On?r=new WSe(e,i,t):t instanceof qi?r=new G$(e,i):t instanceof Mn?r=new e2e(e,i):t instanceof Co?r=new Xo(e,i):t instanceof xs?r=new KSe(e,i,t):i instanceof HTMLSpanElement?t instanceof ss?r=new YSe(e,i):t instanceof ri?r=new Xo(e,i):t instanceof jl?r=new Xo(e,i):r=new wa(e,i):i instanceof HTMLTableElement?r=new JSe(e,i,t instanceof Ss):i instanceof HTMLTableCellElement?r=new ZSe(e,i):i instanceof SVGSVGElement?r=new FD(e,null,i,t instanceof xo):i instanceof HTMLCanvasElement?r=new zSe(e,i):i instanceof HTMLElement?r=new wa(e,i):i instanceof Text&&(r=new Xo(e,i));return r}}_doDispose(){super._doDispose()}_base64ToArrayBuffer(e){for(var t=window.atob(e),i=t.length,r=new Uint8Array(i),s=0;s<i;s++)r[s]=t.charCodeAt(s);return r.buffer}async export(e,t,i,r){const s=await this.exportBlob(e,t,i,r);let n;r.preview&&(window==null||window.open(window.URL.createObjectURL(s))),ee.isArray(e)?n=e[0]:n=e,T1(s,Ro.buildFilename(n,".pdf",r.filename))}async exportBlob(e,t,i,r){return zi.setMarkerElementsVisible(t,!1),new Promise(async(s,n)=>{try{this._svgs=[];const o=new KF(e,t,this._elementCreator);await o.prepare();const l=i.map(c=>({name:c.name,content:ee.isDataUrl(c.content)?ee.dataUrlToBase64(c.content):c.content,file:c.file,style:c.style||"normal",weight:c.weight||"normal"})),h=this.$_export(o,l,r);h.on("finish",()=>{zi.setMarkerElementsVisible(t,!0);const c=h.toBlob("application/pdf;charset=utf-8");s(c)})}catch(o){zi.setMarkerElementsVisible(t,!0),n(o)}})}$_export(e,t,i){let r;ee.isArray(e.report)?r=e.report[0].paper:r=e.report.paper;const s=r.getPageSize(null),n=Math.round(gm(s.width)),o=Math.round(gm(s.height)),l=r.getMargins(),h=e.getOrientation(0),c=new window.PDFDocument({size:r.orientation===dl.LANDSCAPE?[o,n]:[n,o],layout:h,margins:{left:gm(l.left),top:gm(l.top),right:gm(l.right),bottom:gm(l.bottom)},margin:0,...i}),d=c.pipe(new window.blobStream);if(t&&t.length>0)for(let u of t)u.content&&c.registerFont(`${u.name}-${u.weight}`,this._base64ToArrayBuffer(u.content));else throw new Error("Pdf 출력용 폰트가 설정돼야 합니다.");e.write(c,t);for(let u of this._svgs)u.removeChild(u.firstElementChild);return c.end(),d}}var $$={exports:{}};/*! For license information please see index.js.LICENSE.txt */(function(a,e){(function(t,i){a.exports=i()})(globalThis,()=>(()=>{var t={9742:(n,o)=>{o.byteLength=function(g){var _=f(g),m=_[0],w=_[1];return 3*(m+w)/4-w},o.toByteArray=function(g){var _,m,w=f(g),y=w[0],v=w[1],C=new c(function(I,R,D){return 3*(R+D)/4-D}(0,y,v)),E=0,P=v>0?y-4:y;for(m=0;m<P;m+=4)_=h[g.charCodeAt(m)]<<18|h[g.charCodeAt(m+1)]<<12|h[g.charCodeAt(m+2)]<<6|h[g.charCodeAt(m+3)],C[E++]=_>>16&255,C[E++]=_>>8&255,C[E++]=255&_;return v===2&&(_=h[g.charCodeAt(m)]<<2|h[g.charCodeAt(m+1)]>>4,C[E++]=255&_),v===1&&(_=h[g.charCodeAt(m)]<<10|h[g.charCodeAt(m+1)]<<4|h[g.charCodeAt(m+2)]>>2,C[E++]=_>>8&255,C[E++]=255&_),C},o.fromByteArray=function(g){for(var _,m=g.length,w=m%3,y=[],v=16383,C=0,E=m-w;C<E;C+=v)y.push(p(g,C,C+v>E?E:C+v));return w===1?(_=g[m-1],y.push(l[_>>2]+l[_<<4&63]+"==")):w===2&&(_=(g[m-2]<<8)+g[m-1],y.push(l[_>>10]+l[_>>4&63]+l[_<<2&63]+"=")),y.join("")};for(var l=[],h=[],c=typeof Uint8Array<"u"?Uint8Array:Array,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,A=d.length;u<A;++u)l[u]=d[u],h[d.charCodeAt(u)]=u;function f(g){var _=g.length;if(_%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var m=g.indexOf("=");return m===-1&&(m=_),[m,m===_?0:4-m%4]}function p(g,_,m){for(var w,y,v=[],C=_;C<m;C+=3)w=(g[C]<<16&16711680)+(g[C+1]<<8&65280)+(255&g[C+2]),v.push(l[(y=w)>>18&63]+l[y>>12&63]+l[y>>6&63]+l[63&y]);return v.join("")}h[45]=62,h[95]=63},8764:(n,o,l)=>{const h=l(9742),c=l(645),d=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;o.Buffer=f,o.SlowBuffer=function(q){return+q!=q&&(q=0),f.alloc(+q)},o.INSPECT_MAX_BYTES=50;const u=2147483647;function A(q){if(q>u)throw new RangeError('The value "'+q+'" is invalid for option "size"');const ie=new Uint8Array(q);return Object.setPrototypeOf(ie,f.prototype),ie}function f(q,ie,oe){if(typeof q=="number"){if(typeof ie=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return _(q)}return p(q,ie,oe)}function p(q,ie,oe){if(typeof q=="string")return function(Me,ze){if(typeof ze=="string"&&ze!==""||(ze="utf8"),!f.isEncoding(ze))throw new TypeError("Unknown encoding: "+ze);const dt=0|v(Me,ze);let It=A(dt);const pt=It.write(Me,ze);return pt!==dt&&(It=It.slice(0,pt)),It}(q,ie);if(ArrayBuffer.isView(q))return function(Me){if(ye(Me,Uint8Array)){const ze=new Uint8Array(Me);return w(ze.buffer,ze.byteOffset,ze.byteLength)}return m(Me)}(q);if(q==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q);if(ye(q,ArrayBuffer)||q&&ye(q.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ye(q,SharedArrayBuffer)||q&&ye(q.buffer,SharedArrayBuffer)))return w(q,ie,oe);if(typeof q=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const be=q.valueOf&&q.valueOf();if(be!=null&&be!==q)return f.from(be,ie,oe);const Pe=function(Me){if(f.isBuffer(Me)){const ze=0|y(Me.length),dt=A(ze);return dt.length===0||Me.copy(dt,0,0,ze),dt}return Me.length!==void 0?typeof Me.length!="number"||Ve(Me.length)?A(0):m(Me):Me.type==="Buffer"&&Array.isArray(Me.data)?m(Me.data):void 0}(q);if(Pe)return Pe;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof q[Symbol.toPrimitive]=="function")return f.from(q[Symbol.toPrimitive]("string"),ie,oe);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q)}function g(q){if(typeof q!="number")throw new TypeError('"size" argument must be of type number');if(q<0)throw new RangeError('The value "'+q+'" is invalid for option "size"')}function _(q){return g(q),A(q<0?0:0|y(q))}function m(q){const ie=q.length<0?0:0|y(q.length),oe=A(ie);for(let be=0;be<ie;be+=1)oe[be]=255&q[be];return oe}function w(q,ie,oe){if(ie<0||q.byteLength<ie)throw new RangeError('"offset" is outside of buffer bounds');if(q.byteLength<ie+(oe||0))throw new RangeError('"length" is outside of buffer bounds');let be;return be=ie===void 0&&oe===void 0?new Uint8Array(q):oe===void 0?new Uint8Array(q,ie):new Uint8Array(q,ie,oe),Object.setPrototypeOf(be,f.prototype),be}function y(q){if(q>=u)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u.toString(16)+" bytes");return 0|q}function v(q,ie){if(f.isBuffer(q))return q.length;if(ArrayBuffer.isView(q)||ye(q,ArrayBuffer))return q.byteLength;if(typeof q!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof q);const oe=q.length,be=arguments.length>2&&arguments[2]===!0;if(!be&&oe===0)return 0;let Pe=!1;for(;;)switch(ie){case"ascii":case"latin1":case"binary":return oe;case"utf8":case"utf-8":return Re(q).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*oe;case"hex":return oe>>>1;case"base64":return we(q).length;default:if(Pe)return be?-1:Re(q).length;ie=(""+ie).toLowerCase(),Pe=!0}}function C(q,ie,oe){let be=!1;if((ie===void 0||ie<0)&&(ie=0),ie>this.length||((oe===void 0||oe>this.length)&&(oe=this.length),oe<=0)||(oe>>>=0)<=(ie>>>=0))return"";for(q||(q="utf8");;)switch(q){case"hex":return ae(this,ie,oe);case"utf8":case"utf-8":return V(this,ie,oe);case"ascii":return K(this,ie,oe);case"latin1":case"binary":return j(this,ie,oe);case"base64":return L(this,ie,oe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,ie,oe);default:if(be)throw new TypeError("Unknown encoding: "+q);q=(q+"").toLowerCase(),be=!0}}function E(q,ie,oe){const be=q[ie];q[ie]=q[oe],q[oe]=be}function P(q,ie,oe,be,Pe){if(q.length===0)return-1;if(typeof oe=="string"?(be=oe,oe=0):oe>2147483647?oe=2147483647:oe<-2147483648&&(oe=-2147483648),Ve(oe=+oe)&&(oe=Pe?0:q.length-1),oe<0&&(oe=q.length+oe),oe>=q.length){if(Pe)return-1;oe=q.length-1}else if(oe<0){if(!Pe)return-1;oe=0}if(typeof ie=="string"&&(ie=f.from(ie,be)),f.isBuffer(ie))return ie.length===0?-1:I(q,ie,oe,be,Pe);if(typeof ie=="number")return ie&=255,typeof Uint8Array.prototype.indexOf=="function"?Pe?Uint8Array.prototype.indexOf.call(q,ie,oe):Uint8Array.prototype.lastIndexOf.call(q,ie,oe):I(q,[ie],oe,be,Pe);throw new TypeError("val must be string, number or Buffer")}function I(q,ie,oe,be,Pe){let Me,ze=1,dt=q.length,It=ie.length;if(be!==void 0&&((be=String(be).toLowerCase())==="ucs2"||be==="ucs-2"||be==="utf16le"||be==="utf-16le")){if(q.length<2||ie.length<2)return-1;ze=2,dt/=2,It/=2,oe/=2}function pt(kt,Gt){return ze===1?kt[Gt]:kt.readUInt16BE(Gt*ze)}if(Pe){let kt=-1;for(Me=oe;Me<dt;Me++)if(pt(q,Me)===pt(ie,kt===-1?0:Me-kt)){if(kt===-1&&(kt=Me),Me-kt+1===It)return kt*ze}else kt!==-1&&(Me-=Me-kt),kt=-1}else for(oe+It>dt&&(oe=dt-It),Me=oe;Me>=0;Me--){let kt=!0;for(let Gt=0;Gt<It;Gt++)if(pt(q,Me+Gt)!==pt(ie,Gt)){kt=!1;break}if(kt)return Me}return-1}function R(q,ie,oe,be){oe=Number(oe)||0;const Pe=q.length-oe;be?(be=Number(be))>Pe&&(be=Pe):be=Pe;const Me=ie.length;let ze;for(be>Me/2&&(be=Me/2),ze=0;ze<be;++ze){const dt=parseInt(ie.substr(2*ze,2),16);if(Ve(dt))return ze;q[oe+ze]=dt}return ze}function D(q,ie,oe,be){return ge(Re(ie,q.length-oe),q,oe,be)}function S(q,ie,oe,be){return ge(function(Pe){const Me=[];for(let ze=0;ze<Pe.length;++ze)Me.push(255&Pe.charCodeAt(ze));return Me}(ie),q,oe,be)}function B(q,ie,oe,be){return ge(we(ie),q,oe,be)}function b(q,ie,oe,be){return ge(function(Pe,Me){let ze,dt,It;const pt=[];for(let kt=0;kt<Pe.length&&!((Me-=2)<0);++kt)ze=Pe.charCodeAt(kt),dt=ze>>8,It=ze%256,pt.push(It),pt.push(dt);return pt}(ie,q.length-oe),q,oe,be)}function L(q,ie,oe){return ie===0&&oe===q.length?h.fromByteArray(q):h.fromByteArray(q.slice(ie,oe))}function V(q,ie,oe){oe=Math.min(q.length,oe);const be=[];let Pe=ie;for(;Pe<oe;){const Me=q[Pe];let ze=null,dt=Me>239?4:Me>223?3:Me>191?2:1;if(Pe+dt<=oe){let It,pt,kt,Gt;switch(dt){case 1:Me<128&&(ze=Me);break;case 2:It=q[Pe+1],(192&It)==128&&(Gt=(31&Me)<<6|63&It,Gt>127&&(ze=Gt));break;case 3:It=q[Pe+1],pt=q[Pe+2],(192&It)==128&&(192&pt)==128&&(Gt=(15&Me)<<12|(63&It)<<6|63&pt,Gt>2047&&(Gt<55296||Gt>57343)&&(ze=Gt));break;case 4:It=q[Pe+1],pt=q[Pe+2],kt=q[Pe+3],(192&It)==128&&(192&pt)==128&&(192&kt)==128&&(Gt=(15&Me)<<18|(63&It)<<12|(63&pt)<<6|63&kt,Gt>65535&&Gt<1114112&&(ze=Gt))}}ze===null?(ze=65533,dt=1):ze>65535&&(ze-=65536,be.push(ze>>>10&1023|55296),ze=56320|1023&ze),be.push(ze),Pe+=dt}return function(Me){const ze=Me.length;if(ze<=U)return String.fromCharCode.apply(String,Me);let dt="",It=0;for(;It<ze;)dt+=String.fromCharCode.apply(String,Me.slice(It,It+=U));return dt}(be)}o.kMaxLength=u,f.TYPED_ARRAY_SUPPORT=function(){try{const q=new Uint8Array(1),ie={foo:function(){return 42}};return Object.setPrototypeOf(ie,Uint8Array.prototype),Object.setPrototypeOf(q,ie),q.foo()===42}catch{return!1}}(),f.TYPED_ARRAY_SUPPORT||typeof console>"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}}),f.poolSize=8192,f.from=function(q,ie,oe){return p(q,ie,oe)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array),f.alloc=function(q,ie,oe){return function(be,Pe,Me){return g(be),be<=0?A(be):Pe!==void 0?typeof Me=="string"?A(be).fill(Pe,Me):A(be).fill(Pe):A(be)}(q,ie,oe)},f.allocUnsafe=function(q){return _(q)},f.allocUnsafeSlow=function(q){return _(q)},f.isBuffer=function(q){return q!=null&&q._isBuffer===!0&&q!==f.prototype},f.compare=function(q,ie){if(ye(q,Uint8Array)&&(q=f.from(q,q.offset,q.byteLength)),ye(ie,Uint8Array)&&(ie=f.from(ie,ie.offset,ie.byteLength)),!f.isBuffer(q)||!f.isBuffer(ie))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(q===ie)return 0;let oe=q.length,be=ie.length;for(let Pe=0,Me=Math.min(oe,be);Pe<Me;++Pe)if(q[Pe]!==ie[Pe]){oe=q[Pe],be=ie[Pe];break}return oe<be?-1:be<oe?1:0},f.isEncoding=function(q){switch(String(q).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},f.concat=function(q,ie){if(!Array.isArray(q))throw new TypeError('"list" argument must be an Array of Buffers');if(q.length===0)return f.alloc(0);let oe;if(ie===void 0)for(ie=0,oe=0;oe<q.length;++oe)ie+=q[oe].length;const be=f.allocUnsafe(ie);let Pe=0;for(oe=0;oe<q.length;++oe){let Me=q[oe];if(ye(Me,Uint8Array))Pe+Me.length>be.length?(f.isBuffer(Me)||(Me=f.from(Me)),Me.copy(be,Pe)):Uint8Array.prototype.set.call(be,Me,Pe);else{if(!f.isBuffer(Me))throw new TypeError('"list" argument must be an Array of Buffers');Me.copy(be,Pe)}Pe+=Me.length}return be},f.byteLength=v,f.prototype._isBuffer=!0,f.prototype.swap16=function(){const q=this.length;if(q%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let ie=0;ie<q;ie+=2)E(this,ie,ie+1);return this},f.prototype.swap32=function(){const q=this.length;if(q%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let ie=0;ie<q;ie+=4)E(this,ie,ie+3),E(this,ie+1,ie+2);return this},f.prototype.swap64=function(){const q=this.length;if(q%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let ie=0;ie<q;ie+=8)E(this,ie,ie+7),E(this,ie+1,ie+6),E(this,ie+2,ie+5),E(this,ie+3,ie+4);return this},f.prototype.toString=function(){const q=this.length;return q===0?"":arguments.length===0?V(this,0,q):C.apply(this,arguments)},f.prototype.toLocaleString=f.prototype.toString,f.prototype.equals=function(q){if(!f.isBuffer(q))throw new TypeError("Argument must be a Buffer");return this===q||f.compare(this,q)===0},f.prototype.inspect=function(){let q="";const ie=o.INSPECT_MAX_BYTES;return q=this.toString("hex",0,ie).replace(/(.{2})/g,"$1 ").trim(),this.length>ie&&(q+=" ... "),"<Buffer "+q+">"},d&&(f.prototype[d]=f.prototype.inspect),f.prototype.compare=function(q,ie,oe,be,Pe){if(ye(q,Uint8Array)&&(q=f.from(q,q.offset,q.byteLength)),!f.isBuffer(q))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof q);if(ie===void 0&&(ie=0),oe===void 0&&(oe=q?q.length:0),be===void 0&&(be=0),Pe===void 0&&(Pe=this.length),ie<0||oe>q.length||be<0||Pe>this.length)throw new RangeError("out of range index");if(be>=Pe&&ie>=oe)return 0;if(be>=Pe)return-1;if(ie>=oe)return 1;if(this===q)return 0;let Me=(Pe>>>=0)-(be>>>=0),ze=(oe>>>=0)-(ie>>>=0);const dt=Math.min(Me,ze),It=this.slice(be,Pe),pt=q.slice(ie,oe);for(let kt=0;kt<dt;++kt)if(It[kt]!==pt[kt]){Me=It[kt],ze=pt[kt];break}return Me<ze?-1:ze<Me?1:0},f.prototype.includes=function(q,ie,oe){return this.indexOf(q,ie,oe)!==-1},f.prototype.indexOf=function(q,ie,oe){return P(this,q,ie,oe,!0)},f.prototype.lastIndexOf=function(q,ie,oe){return P(this,q,ie,oe,!1)},f.prototype.write=function(q,ie,oe,be){if(ie===void 0)be="utf8",oe=this.length,ie=0;else if(oe===void 0&&typeof ie=="string")be=ie,oe=this.length,ie=0;else{if(!isFinite(ie))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");ie>>>=0,isFinite(oe)?(oe>>>=0,be===void 0&&(be="utf8")):(be=oe,oe=void 0)}const Pe=this.length-ie;if((oe===void 0||oe>Pe)&&(oe=Pe),q.length>0&&(oe<0||ie<0)||ie>this.length)throw new RangeError("Attempt to write outside buffer bounds");be||(be="utf8");let Me=!1;for(;;)switch(be){case"hex":return R(this,q,ie,oe);case"utf8":case"utf-8":return D(this,q,ie,oe);case"ascii":case"latin1":case"binary":return S(this,q,ie,oe);case"base64":return B(this,q,ie,oe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,q,ie,oe);default:if(Me)throw new TypeError("Unknown encoding: "+be);be=(""+be).toLowerCase(),Me=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const U=4096;function K(q,ie,oe){let be="";oe=Math.min(q.length,oe);for(let Pe=ie;Pe<oe;++Pe)be+=String.fromCharCode(127&q[Pe]);return be}function j(q,ie,oe){let be="";oe=Math.min(q.length,oe);for(let Pe=ie;Pe<oe;++Pe)be+=String.fromCharCode(q[Pe]);return be}function ae(q,ie,oe){const be=q.length;(!ie||ie<0)&&(ie=0),(!oe||oe<0||oe>be)&&(oe=be);let Pe="";for(let Me=ie;Me<oe;++Me)Pe+=Oe[q[Me]];return Pe}function k(q,ie,oe){const be=q.slice(ie,oe);let Pe="";for(let Me=0;Me<be.length-1;Me+=2)Pe+=String.fromCharCode(be[Me]+256*be[Me+1]);return Pe}function W(q,ie,oe){if(q%1!=0||q<0)throw new RangeError("offset is not uint");if(q+ie>oe)throw new RangeError("Trying to access beyond buffer length")}function z(q,ie,oe,be,Pe,Me){if(!f.isBuffer(q))throw new TypeError('"buffer" argument must be a Buffer instance');if(ie>Pe||ie<Me)throw new RangeError('"value" argument is out of bounds');if(oe+be>q.length)throw new RangeError("Index out of range")}function Y(q,ie,oe,be,Pe){J(ie,be,Pe,q,oe,7);let Me=Number(ie&BigInt(4294967295));q[oe++]=Me,Me>>=8,q[oe++]=Me,Me>>=8,q[oe++]=Me,Me>>=8,q[oe++]=Me;let ze=Number(ie>>BigInt(32)&BigInt(4294967295));return q[oe++]=ze,ze>>=8,q[oe++]=ze,ze>>=8,q[oe++]=ze,ze>>=8,q[oe++]=ze,oe}function re(q,ie,oe,be,Pe){J(ie,be,Pe,q,oe,7);let Me=Number(ie&BigInt(4294967295));q[oe+7]=Me,Me>>=8,q[oe+6]=Me,Me>>=8,q[oe+5]=Me,Me>>=8,q[oe+4]=Me;let ze=Number(ie>>BigInt(32)&BigInt(4294967295));return q[oe+3]=ze,ze>>=8,q[oe+2]=ze,ze>>=8,q[oe+1]=ze,ze>>=8,q[oe]=ze,oe+8}function Z(q,ie,oe,be,Pe,Me){if(oe+be>q.length)throw new RangeError("Index out of range");if(oe<0)throw new RangeError("Index out of range")}function le(q,ie,oe,be,Pe){return ie=+ie,oe>>>=0,Pe||Z(q,0,oe,4),c.write(q,ie,oe,be,23,4),oe+4}function Ae(q,ie,oe,be,Pe){return ie=+ie,oe>>>=0,Pe||Z(q,0,oe,8),c.write(q,ie,oe,be,52,8),oe+8}f.prototype.slice=function(q,ie){const oe=this.length;(q=~~q)<0?(q+=oe)<0&&(q=0):q>oe&&(q=oe),(ie=ie===void 0?oe:~~ie)<0?(ie+=oe)<0&&(ie=0):ie>oe&&(ie=oe),ie<q&&(ie=q);const be=this.subarray(q,ie);return Object.setPrototypeOf(be,f.prototype),be},f.prototype.readUintLE=f.prototype.readUIntLE=function(q,ie,oe){q>>>=0,ie>>>=0,oe||W(q,ie,this.length);let be=this[q],Pe=1,Me=0;for(;++Me<ie&&(Pe*=256);)be+=this[q+Me]*Pe;return be},f.prototype.readUintBE=f.prototype.readUIntBE=function(q,ie,oe){q>>>=0,ie>>>=0,oe||W(q,ie,this.length);let be=this[q+--ie],Pe=1;for(;ie>0&&(Pe*=256);)be+=this[q+--ie]*Pe;return be},f.prototype.readUint8=f.prototype.readUInt8=function(q,ie){return q>>>=0,ie||W(q,1,this.length),this[q]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(q,ie){return q>>>=0,ie||W(q,2,this.length),this[q]|this[q+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(q,ie){return q>>>=0,ie||W(q,2,this.length),this[q]<<8|this[q+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),(this[q]|this[q+1]<<8|this[q+2]<<16)+16777216*this[q+3]},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),16777216*this[q]+(this[q+1]<<16|this[q+2]<<8|this[q+3])},f.prototype.readBigUInt64LE=De(function(q){ce(q>>>=0,"offset");const ie=this[q],oe=this[q+7];ie!==void 0&&oe!==void 0||$(q,this.length-8);const be=ie+256*this[++q]+65536*this[++q]+this[++q]*2**24,Pe=this[++q]+256*this[++q]+65536*this[++q]+oe*2**24;return BigInt(be)+(BigInt(Pe)<<BigInt(32))}),f.prototype.readBigUInt64BE=De(function(q){ce(q>>>=0,"offset");const ie=this[q],oe=this[q+7];ie!==void 0&&oe!==void 0||$(q,this.length-8);const be=ie*2**24+65536*this[++q]+256*this[++q]+this[++q],Pe=this[++q]*2**24+65536*this[++q]+256*this[++q]+oe;return(BigInt(be)<<BigInt(32))+BigInt(Pe)}),f.prototype.readIntLE=function(q,ie,oe){q>>>=0,ie>>>=0,oe||W(q,ie,this.length);let be=this[q],Pe=1,Me=0;for(;++Me<ie&&(Pe*=256);)be+=this[q+Me]*Pe;return Pe*=128,be>=Pe&&(be-=Math.pow(2,8*ie)),be},f.prototype.readIntBE=function(q,ie,oe){q>>>=0,ie>>>=0,oe||W(q,ie,this.length);let be=ie,Pe=1,Me=this[q+--be];for(;be>0&&(Pe*=256);)Me+=this[q+--be]*Pe;return Pe*=128,Me>=Pe&&(Me-=Math.pow(2,8*ie)),Me},f.prototype.readInt8=function(q,ie){return q>>>=0,ie||W(q,1,this.length),128&this[q]?-1*(255-this[q]+1):this[q]},f.prototype.readInt16LE=function(q,ie){q>>>=0,ie||W(q,2,this.length);const oe=this[q]|this[q+1]<<8;return 32768&oe?4294901760|oe:oe},f.prototype.readInt16BE=function(q,ie){q>>>=0,ie||W(q,2,this.length);const oe=this[q+1]|this[q]<<8;return 32768&oe?4294901760|oe:oe},f.prototype.readInt32LE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),this[q]|this[q+1]<<8|this[q+2]<<16|this[q+3]<<24},f.prototype.readInt32BE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),this[q]<<24|this[q+1]<<16|this[q+2]<<8|this[q+3]},f.prototype.readBigInt64LE=De(function(q){ce(q>>>=0,"offset");const ie=this[q],oe=this[q+7];ie!==void 0&&oe!==void 0||$(q,this.length-8);const be=this[q+4]+256*this[q+5]+65536*this[q+6]+(oe<<24);return(BigInt(be)<<BigInt(32))+BigInt(ie+256*this[++q]+65536*this[++q]+this[++q]*16777216)}),f.prototype.readBigInt64BE=De(function(q){ce(q>>>=0,"offset");const ie=this[q],oe=this[q+7];ie!==void 0&&oe!==void 0||$(q,this.length-8);const be=(ie<<24)+65536*this[++q]+256*this[++q]+this[++q];return(BigInt(be)<<BigInt(32))+BigInt(this[++q]*16777216+65536*this[++q]+256*this[++q]+oe)}),f.prototype.readFloatLE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),c.read(this,q,!0,23,4)},f.prototype.readFloatBE=function(q,ie){return q>>>=0,ie||W(q,4,this.length),c.read(this,q,!1,23,4)},f.prototype.readDoubleLE=function(q,ie){return q>>>=0,ie||W(q,8,this.length),c.read(this,q,!0,52,8)},f.prototype.readDoubleBE=function(q,ie){return q>>>=0,ie||W(q,8,this.length),c.read(this,q,!1,52,8)},f.prototype.writeUintLE=f.prototype.writeUIntLE=function(q,ie,oe,be){q=+q,ie>>>=0,oe>>>=0,be||z(this,q,ie,oe,Math.pow(2,8*oe)-1,0);let Pe=1,Me=0;for(this[ie]=255&q;++Me<oe&&(Pe*=256);)this[ie+Me]=q/Pe&255;return ie+oe},f.prototype.writeUintBE=f.prototype.writeUIntBE=function(q,ie,oe,be){q=+q,ie>>>=0,oe>>>=0,be||z(this,q,ie,oe,Math.pow(2,8*oe)-1,0);let Pe=oe-1,Me=1;for(this[ie+Pe]=255&q;--Pe>=0&&(Me*=256);)this[ie+Pe]=q/Me&255;return ie+oe},f.prototype.writeUint8=f.prototype.writeUInt8=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,1,255,0),this[ie]=255&q,ie+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,2,65535,0),this[ie]=255&q,this[ie+1]=q>>>8,ie+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,2,65535,0),this[ie]=q>>>8,this[ie+1]=255&q,ie+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,4,4294967295,0),this[ie+3]=q>>>24,this[ie+2]=q>>>16,this[ie+1]=q>>>8,this[ie]=255&q,ie+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,4,4294967295,0),this[ie]=q>>>24,this[ie+1]=q>>>16,this[ie+2]=q>>>8,this[ie+3]=255&q,ie+4},f.prototype.writeBigUInt64LE=De(function(q,ie=0){return Y(this,q,ie,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeBigUInt64BE=De(function(q,ie=0){return re(this,q,ie,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeIntLE=function(q,ie,oe,be){if(q=+q,ie>>>=0,!be){const dt=Math.pow(2,8*oe-1);z(this,q,ie,oe,dt-1,-dt)}let Pe=0,Me=1,ze=0;for(this[ie]=255&q;++Pe<oe&&(Me*=256);)q<0&&ze===0&&this[ie+Pe-1]!==0&&(ze=1),this[ie+Pe]=(q/Me>>0)-ze&255;return ie+oe},f.prototype.writeIntBE=function(q,ie,oe,be){if(q=+q,ie>>>=0,!be){const dt=Math.pow(2,8*oe-1);z(this,q,ie,oe,dt-1,-dt)}let Pe=oe-1,Me=1,ze=0;for(this[ie+Pe]=255&q;--Pe>=0&&(Me*=256);)q<0&&ze===0&&this[ie+Pe+1]!==0&&(ze=1),this[ie+Pe]=(q/Me>>0)-ze&255;return ie+oe},f.prototype.writeInt8=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,1,127,-128),q<0&&(q=255+q+1),this[ie]=255&q,ie+1},f.prototype.writeInt16LE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,2,32767,-32768),this[ie]=255&q,this[ie+1]=q>>>8,ie+2},f.prototype.writeInt16BE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,2,32767,-32768),this[ie]=q>>>8,this[ie+1]=255&q,ie+2},f.prototype.writeInt32LE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,4,2147483647,-2147483648),this[ie]=255&q,this[ie+1]=q>>>8,this[ie+2]=q>>>16,this[ie+3]=q>>>24,ie+4},f.prototype.writeInt32BE=function(q,ie,oe){return q=+q,ie>>>=0,oe||z(this,q,ie,4,2147483647,-2147483648),q<0&&(q=4294967295+q+1),this[ie]=q>>>24,this[ie+1]=q>>>16,this[ie+2]=q>>>8,this[ie+3]=255&q,ie+4},f.prototype.writeBigInt64LE=De(function(q,ie=0){return Y(this,q,ie,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),f.prototype.writeBigInt64BE=De(function(q,ie=0){return re(this,q,ie,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),f.prototype.writeFloatLE=function(q,ie,oe){return le(this,q,ie,!0,oe)},f.prototype.writeFloatBE=function(q,ie,oe){return le(this,q,ie,!1,oe)},f.prototype.writeDoubleLE=function(q,ie,oe){return Ae(this,q,ie,!0,oe)},f.prototype.writeDoubleBE=function(q,ie,oe){return Ae(this,q,ie,!1,oe)},f.prototype.copy=function(q,ie,oe,be){if(!f.isBuffer(q))throw new TypeError("argument should be a Buffer");if(oe||(oe=0),be||be===0||(be=this.length),ie>=q.length&&(ie=q.length),ie||(ie=0),be>0&&be<oe&&(be=oe),be===oe||q.length===0||this.length===0)return 0;if(ie<0)throw new RangeError("targetStart out of bounds");if(oe<0||oe>=this.length)throw new RangeError("Index out of range");if(be<0)throw new RangeError("sourceEnd out of bounds");be>this.length&&(be=this.length),q.length-ie<be-oe&&(be=q.length-ie+oe);const Pe=be-oe;return this===q&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(ie,oe,be):Uint8Array.prototype.set.call(q,this.subarray(oe,be),ie),Pe},f.prototype.fill=function(q,ie,oe,be){if(typeof q=="string"){if(typeof ie=="string"?(be=ie,ie=0,oe=this.length):typeof oe=="string"&&(be=oe,oe=this.length),be!==void 0&&typeof be!="string")throw new TypeError("encoding must be a string");if(typeof be=="string"&&!f.isEncoding(be))throw new TypeError("Unknown encoding: "+be);if(q.length===1){const Me=q.charCodeAt(0);(be==="utf8"&&Me<128||be==="latin1")&&(q=Me)}}else typeof q=="number"?q&=255:typeof q=="boolean"&&(q=Number(q));if(ie<0||this.length<ie||this.length<oe)throw new RangeError("Out of range index");if(oe<=ie)return this;let Pe;if(ie>>>=0,oe=oe===void 0?this.length:oe>>>0,q||(q=0),typeof q=="number")for(Pe=ie;Pe<oe;++Pe)this[Pe]=q;else{const Me=f.isBuffer(q)?q:f.from(q,be),ze=Me.length;if(ze===0)throw new TypeError('The value "'+q+'" is invalid for argument "value"');for(Pe=0;Pe<oe-ie;++Pe)this[Pe+ie]=Me[Pe%ze]}return this};const pe={};function me(q,ie,oe){pe[q]=class extends oe{constructor(){super(),Object.defineProperty(this,"message",{value:ie.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${q}]`,this.stack,delete this.name}get code(){return q}set code(be){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:be,writable:!0})}toString(){return`${this.name} [${q}]: ${this.message}`}}}function ne(q){let ie="",oe=q.length;const be=q[0]==="-"?1:0;for(;oe>=be+4;oe-=3)ie=`_${q.slice(oe-3,oe)}${ie}`;return`${q.slice(0,oe)}${ie}`}function J(q,ie,oe,be,Pe,Me){if(q>oe||q<ie){const ze=typeof ie=="bigint"?"n":"";let dt;throw dt=ie===0||ie===BigInt(0)?`>= 0${ze} and < 2${ze} ** ${8*(Me+1)}${ze}`:`>= -(2${ze} ** ${8*(Me+1)-1}${ze}) and < 2 ** ${8*(Me+1)-1}${ze}`,new pe.ERR_OUT_OF_RANGE("value",dt,q)}(function(ze,dt,It){ce(dt,"offset"),ze[dt]!==void 0&&ze[dt+It]!==void 0||$(dt,ze.length-(It+1))})(be,Pe,Me)}function ce(q,ie){if(typeof q!="number")throw new pe.ERR_INVALID_ARG_TYPE(ie,"number",q)}function $(q,ie,oe){throw Math.floor(q)!==q?(ce(q,oe),new pe.ERR_OUT_OF_RANGE("offset","an integer",q)):ie<0?new pe.ERR_BUFFER_OUT_OF_BOUNDS:new pe.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${ie}`,q)}me("ERR_BUFFER_OUT_OF_BOUNDS",function(q){return q?`${q} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),me("ERR_INVALID_ARG_TYPE",function(q,ie){return`The "${q}" argument must be of type number. Received type ${typeof ie}`},TypeError),me("ERR_OUT_OF_RANGE",function(q,ie,oe){let be=`The value of "${q}" is out of range.`,Pe=oe;return Number.isInteger(oe)&&Math.abs(oe)>4294967296?Pe=ne(String(oe)):typeof oe=="bigint"&&(Pe=String(oe),(oe>BigInt(2)**BigInt(32)||oe<-(BigInt(2)**BigInt(32)))&&(Pe=ne(Pe)),Pe+="n"),be+=` It must be ${ie}. Received ${Pe}`,be},RangeError);const Ce=/[^+/0-9A-Za-z-_]/g;function Re(q,ie){let oe;ie=ie||1/0;const be=q.length;let Pe=null;const Me=[];for(let ze=0;ze<be;++ze){if(oe=q.charCodeAt(ze),oe>55295&&oe<57344){if(!Pe){if(oe>56319){(ie-=3)>-1&&Me.push(239,191,189);continue}if(ze+1===be){(ie-=3)>-1&&Me.push(239,191,189);continue}Pe=oe;continue}if(oe<56320){(ie-=3)>-1&&Me.push(239,191,189),Pe=oe;continue}oe=65536+(Pe-55296<<10|oe-56320)}else Pe&&(ie-=3)>-1&&Me.push(239,191,189);if(Pe=null,oe<128){if((ie-=1)<0)break;Me.push(oe)}else if(oe<2048){if((ie-=2)<0)break;Me.push(oe>>6|192,63&oe|128)}else if(oe<65536){if((ie-=3)<0)break;Me.push(oe>>12|224,oe>>6&63|128,63&oe|128)}else{if(!(oe<1114112))throw new Error("Invalid code point");if((ie-=4)<0)break;Me.push(oe>>18|240,oe>>12&63|128,oe>>6&63|128,63&oe|128)}}return Me}function we(q){return h.toByteArray(function(ie){if((ie=(ie=ie.split("=")[0]).trim().replace(Ce,"")).length<2)return"";for(;ie.length%4!=0;)ie+="=";return ie}(q))}function ge(q,ie,oe,be){let Pe;for(Pe=0;Pe<be&&!(Pe+oe>=ie.length||Pe>=q.length);++Pe)ie[Pe+oe]=q[Pe];return Pe}function ye(q,ie){return q instanceof ie||q!=null&&q.constructor!=null&&q.constructor.name!=null&&q.constructor.name===ie.name}function Ve(q){return q!=q}const Oe=function(){const q="0123456789abcdef",ie=new Array(256);for(let oe=0;oe<16;++oe){const be=16*oe;for(let Pe=0;Pe<16;++Pe)ie[be+Pe]=q[oe]+q[Pe]}return ie}();function De(q){return typeof BigInt>"u"?Ke:q}function Ke(){throw new Error("BigInt not supported")}},7187:n=>{var o,l=typeof Reflect=="object"?Reflect:null,h=l&&typeof l.apply=="function"?l.apply:function(C,E,P){return Function.prototype.apply.call(C,E,P)};o=l&&typeof l.ownKeys=="function"?l.ownKeys:Object.getOwnPropertySymbols?function(C){return Object.getOwnPropertyNames(C).concat(Object.getOwnPropertySymbols(C))}:function(C){return Object.getOwnPropertyNames(C)};var c=Number.isNaN||function(C){return C!=C};function d(){d.init.call(this)}n.exports=d,n.exports.once=function(C,E){return new Promise(function(P,I){function R(S){C.removeListener(E,D),I(S)}function D(){typeof C.removeListener=="function"&&C.removeListener("error",R),P([].slice.call(arguments))}v(C,E,D,{once:!0}),E!=="error"&&function(S,B,b){typeof S.on=="function"&&v(S,"error",B,{once:!0})}(C,R)})},d.EventEmitter=d,d.prototype._events=void 0,d.prototype._eventsCount=0,d.prototype._maxListeners=void 0;var u=10;function A(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C)}function f(C){return C._maxListeners===void 0?d.defaultMaxListeners:C._maxListeners}function p(C,E,P,I){var R,D,S,B;if(A(P),(D=C._events)===void 0?(D=C._events=Object.create(null),C._eventsCount=0):(D.newListener!==void 0&&(C.emit("newListener",E,P.listener?P.listener:P),D=C._events),S=D[E]),S===void 0)S=D[E]=P,++C._eventsCount;else if(typeof S=="function"?S=D[E]=I?[P,S]:[S,P]:I?S.unshift(P):S.push(P),(R=f(C))>0&&S.length>R&&!S.warned){S.warned=!0;var b=new Error("Possible EventEmitter memory leak detected. "+S.length+" "+String(E)+" listeners added. Use emitter.setMaxListeners() to increase limit");b.name="MaxListenersExceededWarning",b.emitter=C,b.type=E,b.count=S.length,B=b,console&&console.warn&&console.warn(B)}return C}function g(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _(C,E,P){var I={fired:!1,wrapFn:void 0,target:C,type:E,listener:P},R=g.bind(I);return R.listener=P,I.wrapFn=R,R}function m(C,E,P){var I=C._events;if(I===void 0)return[];var R=I[E];return R===void 0?[]:typeof R=="function"?P?[R.listener||R]:[R]:P?function(D){for(var S=new Array(D.length),B=0;B<S.length;++B)S[B]=D[B].listener||D[B];return S}(R):y(R,R.length)}function w(C){var E=this._events;if(E!==void 0){var P=E[C];if(typeof P=="function")return 1;if(P!==void 0)return P.length}return 0}function y(C,E){for(var P=new Array(E),I=0;I<E;++I)P[I]=C[I];return P}function v(C,E,P,I){if(typeof C.on=="function")I.once?C.once(E,P):C.on(E,P);else{if(typeof C.addEventListener!="function")throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof C);C.addEventListener(E,function R(D){I.once&&C.removeEventListener(E,R),P(D)})}}Object.defineProperty(d,"defaultMaxListeners",{enumerable:!0,get:function(){return u},set:function(C){if(typeof C!="number"||C<0||c(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");u=C}}),d.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},d.prototype.setMaxListeners=function(C){if(typeof C!="number"||C<0||c(C))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+C+".");return this._maxListeners=C,this},d.prototype.getMaxListeners=function(){return f(this)},d.prototype.emit=function(C){for(var E=[],P=1;P<arguments.length;P++)E.push(arguments[P]);var I=C==="error",R=this._events;if(R!==void 0)I=I&&R.error===void 0;else if(!I)return!1;if(I){var D;if(E.length>0&&(D=E[0]),D instanceof Error)throw D;var S=new Error("Unhandled error."+(D?" ("+D.message+")":""));throw S.context=D,S}var B=R[C];if(B===void 0)return!1;if(typeof B=="function")h(B,this,E);else{var b=B.length,L=y(B,b);for(P=0;P<b;++P)h(L[P],this,E)}return!0},d.prototype.addListener=function(C,E){return p(this,C,E,!1)},d.prototype.on=d.prototype.addListener,d.prototype.prependListener=function(C,E){return p(this,C,E,!0)},d.prototype.once=function(C,E){return A(E),this.on(C,_(this,C,E)),this},d.prototype.prependOnceListener=function(C,E){return A(E),this.prependListener(C,_(this,C,E)),this},d.prototype.removeListener=function(C,E){var P,I,R,D,S;if(A(E),(I=this._events)===void 0)return this;if((P=I[C])===void 0)return this;if(P===E||P.listener===E)--this._eventsCount==0?this._events=Object.create(null):(delete I[C],I.removeListener&&this.emit("removeListener",C,P.listener||E));else if(typeof P!="function"){for(R=-1,D=P.length-1;D>=0;D--)if(P[D]===E||P[D].listener===E){S=P[D].listener,R=D;break}if(R<0)return this;R===0?P.shift():function(B,b){for(;b+1<B.length;b++)B[b]=B[b+1];B.pop()}(P,R),P.length===1&&(I[C]=P[0]),I.removeListener!==void 0&&this.emit("removeListener",C,S||E)}return this},d.prototype.off=d.prototype.removeListener,d.prototype.removeAllListeners=function(C){var E,P,I;if((P=this._events)===void 0)return this;if(P.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):P[C]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete P[C]),this;if(arguments.length===0){var R,D=Object.keys(P);for(I=0;I<D.length;++I)(R=D[I])!=="removeListener"&&this.removeAllListeners(R);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(typeof(E=P[C])=="function")this.removeListener(C,E);else if(E!==void 0)for(I=E.length-1;I>=0;I--)this.removeListener(C,E[I]);return this},d.prototype.listeners=function(C){return m(this,C,!0)},d.prototype.rawListeners=function(C){return m(this,C,!1)},d.listenerCount=function(C,E){return typeof C.listenerCount=="function"?C.listenerCount(E):w.call(C,E)},d.prototype.listenerCount=w,d.prototype.eventNames=function(){return this._eventsCount>0?o(this._events):[]}},645:(n,o)=>{o.read=function(l,h,c,d,u){var A,f,p=8*u-d-1,g=(1<<p)-1,_=g>>1,m=-7,w=c?u-1:0,y=c?-1:1,v=l[h+w];for(w+=y,A=v&(1<<-m)-1,v>>=-m,m+=p;m>0;A=256*A+l[h+w],w+=y,m-=8);for(f=A&(1<<-m)-1,A>>=-m,m+=d;m>0;f=256*f+l[h+w],w+=y,m-=8);if(A===0)A=1-_;else{if(A===g)return f?NaN:1/0*(v?-1:1);f+=Math.pow(2,d),A-=_}return(v?-1:1)*f*Math.pow(2,A-d)},o.write=function(l,h,c,d,u,A){var f,p,g,_=8*A-u-1,m=(1<<_)-1,w=m>>1,y=u===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=d?0:A-1,C=d?1:-1,E=h<0||h===0&&1/h<0?1:0;for(h=Math.abs(h),isNaN(h)||h===1/0?(p=isNaN(h)?1:0,f=m):(f=Math.floor(Math.log(h)/Math.LN2),h*(g=Math.pow(2,-f))<1&&(f--,g*=2),(h+=f+w>=1?y/g:y*Math.pow(2,1-w))*g>=2&&(f++,g/=2),f+w>=m?(p=0,f=m):f+w>=1?(p=(h*g-1)*Math.pow(2,u),f+=w):(p=h*Math.pow(2,w-1)*Math.pow(2,u),f=0));u>=8;l[c+v]=255&p,v+=C,p/=256,u-=8);for(f=f<<u|p,_+=u;_>0;l[c+v]=255&f,v+=C,f/=256,_-=8);l[c+v-C]|=128*E}},5705:(n,o,l)=>{var h,c,d=l.g.MutationObserver||l.g.WebKitMutationObserver;if(d){var u=0,A=new d(_),f=l.g.document.createTextNode("");A.observe(f,{characterData:!0}),h=function(){f.data=u=++u%2}}else if(l.g.setImmediate||l.g.MessageChannel===void 0)h="document"in l.g&&"onreadystatechange"in l.g.document.createElement("script")?function(){var m=l.g.document.createElement("script");m.onreadystatechange=function(){_(),m.onreadystatechange=null,m.parentNode.removeChild(m),m=null},l.g.document.documentElement.appendChild(m)}:function(){setTimeout(_,0)};else{var p=new l.g.MessageChannel;p.port1.onmessage=_,h=function(){p.port2.postMessage(0)}}var g=[];function _(){var m,w;c=!0;for(var y=g.length;y;){for(w=g,g=[],m=-1;++m<y;)w[m]();y=g.length}c=!1}n.exports=function(m){g.push(m)!==1||c||h()}},5717:n=>{typeof Object.create=="function"?n.exports=function(o,l){l&&(o.super_=l,o.prototype=Object.create(l.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}))}:n.exports=function(o,l){if(l){o.super_=l;var h=function(){};h.prototype=l.prototype,o.prototype=new h,o.prototype.constructor=o}}},8458:(n,o,l)=>{var h=l(8910),c=l(3790),d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";o.encode=function(u){for(var A,f,p,g,_,m,w,y=[],v=0,C=u.length,E=C,P=h.getTypeOf(u)!=="string";v<u.length;)E=C-v,P?(A=u[v++],f=v<C?u[v++]:0,p=v<C?u[v++]:0):(A=u.charCodeAt(v++),f=v<C?u.charCodeAt(v++):0,p=v<C?u.charCodeAt(v++):0),g=A>>2,_=(3&A)<<4|f>>4,m=E>1?(15&f)<<2|p>>6:64,w=E>2?63&p:64,y.push(d.charAt(g)+d.charAt(_)+d.charAt(m)+d.charAt(w));return y.join("")},o.decode=function(u){var A,f,p,g,_,m,w=0,y=0,v="data:";if(u.substr(0,v.length)===v)throw new Error("Invalid base64 input, it looks like a data url.");var C,E=3*(u=u.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(u.charAt(u.length-1)===d.charAt(64)&&E--,u.charAt(u.length-2)===d.charAt(64)&&E--,E%1!=0)throw new Error("Invalid base64 input, bad content length.");for(C=c.uint8array?new Uint8Array(0|E):new Array(0|E);w<u.length;)A=d.indexOf(u.charAt(w++))<<2|(g=d.indexOf(u.charAt(w++)))>>4,f=(15&g)<<4|(_=d.indexOf(u.charAt(w++)))>>2,p=(3&_)<<6|(m=d.indexOf(u.charAt(w++))),C[y++]=A,_!==64&&(C[y++]=f),m!==64&&(C[y++]=p);return C}},7326:(n,o,l)=>{var h=l(8565),c=l(5301),d=l(2541),u=l(5977);function A(f,p,g,_,m){this.compressedSize=f,this.uncompressedSize=p,this.crc32=g,this.compression=_,this.compressedContent=m}A.prototype={getContentWorker:function(){var f=new c(h.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new u("data_length")),p=this;return f.on("end",function(){if(this.streamInfo.data_length!==p.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),f},getCompressedWorker:function(){return new c(h.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},A.createWorkerFrom=function(f,p,g){return f.pipe(new d).pipe(new u("uncompressedSize")).pipe(p.compressWorker(g)).pipe(new u("compressedSize")).withStreamInfo("compression",p)},n.exports=A},1678:(n,o,l)=>{var h=l(3718);o.STORE={magic:"\0\0",compressWorker:function(){return new h("STORE compression")},uncompressWorker:function(){return new h("STORE decompression")}},o.DEFLATE=l(1033)},6988:(n,o,l)=>{var h=l(8910),c=function(){for(var d,u=[],A=0;A<256;A++){d=A;for(var f=0;f<8;f++)d=1&d?3988292384^d>>>1:d>>>1;u[A]=d}return u}();n.exports=function(d,u){return d!==void 0&&d.length?h.getTypeOf(d)!=="string"?function(A,f,p,g){var _=c,m=0+p;A^=-1;for(var w=0;w<m;w++)A=A>>>8^_[255&(A^f[w])];return-1^A}(0|u,d,d.length):function(A,f,p,g){var _=c,m=0+p;A^=-1;for(var w=0;w<m;w++)A=A>>>8^_[255&(A^f.charCodeAt(w))];return-1^A}(0|u,d,d.length):0}},6032:(n,o)=>{o.base64=!1,o.binary=!1,o.dir=!1,o.createFolders=!0,o.date=null,o.compression=null,o.compressionOptions=null,o.comment=null,o.unixPermissions=null,o.dosPermissions=null},8565:(n,o,l)=>{var h;h=typeof Promise<"u"?Promise:l(3389),n.exports={Promise:h}},1033:(n,o,l)=>{var h=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",c=l(9591),d=l(8910),u=l(3718),A=h?"uint8array":"array";function f(p,g){u.call(this,"FlateWorker/"+p),this._pako=null,this._pakoAction=p,this._pakoOptions=g,this.meta={}}o.magic="\b\0",d.inherits(f,u),f.prototype.processChunk=function(p){this.meta=p.meta,this._pako===null&&this._createPako(),this._pako.push(d.transformTo(A,p.data),!1)},f.prototype.flush=function(){u.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},f.prototype.cleanUp=function(){u.prototype.cleanUp.call(this),this._pako=null},f.prototype._createPako=function(){this._pako=new c[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var p=this;this._pako.onData=function(g){p.push({data:g,meta:p.meta})}},o.compressWorker=function(p){return new f("Deflate",p)},o.uncompressWorker=function(){return new f("Inflate",{})}},4979:(n,o,l)=>{var h=l(8910),c=l(3718),d=l(3600),u=l(6988),A=l(1141),f=function(m,w){var y,v="";for(y=0;y<w;y++)v+=String.fromCharCode(255&m),m>>>=8;return v},p=function(m,w,y,v,C,E){var P,I,R=m.file,D=m.compression,S=E!==d.utf8encode,B=h.transformTo("string",E(R.name)),b=h.transformTo("string",d.utf8encode(R.name)),L=R.comment,V=h.transformTo("string",E(L)),U=h.transformTo("string",d.utf8encode(L)),K=b.length!==R.name.length,j=U.length!==L.length,ae="",k="",W="",z=R.dir,Y=R.date,re={crc32:0,compressedSize:0,uncompressedSize:0};w&&!y||(re.crc32=m.crc32,re.compressedSize=m.compressedSize,re.uncompressedSize=m.uncompressedSize);var Z=0;w&&(Z|=8),S||!K&&!j||(Z|=2048);var le,Ae,pe=0,me=0;z&&(pe|=16),C==="UNIX"?(me=798,pe|=(Ae=le=R.unixPermissions,le||(Ae=z?16893:33204),(65535&Ae)<<16)):(me=20,pe|=63&(R.dosPermissions||0)),P=Y.getUTCHours(),P<<=6,P|=Y.getUTCMinutes(),P<<=5,P|=Y.getUTCSeconds()/2,I=Y.getUTCFullYear()-1980,I<<=4,I|=Y.getUTCMonth()+1,I<<=5,I|=Y.getUTCDate(),K&&(k=f(1,1)+f(u(B),4)+b,ae+="up"+f(k.length,2)+k),j&&(W=f(1,1)+f(u(V),4)+U,ae+="uc"+f(W.length,2)+W);var ne="";return ne+=`
|
|
94
94
|
\0`,ne+=f(Z,2),ne+=D.magic,ne+=f(P,2),ne+=f(I,2),ne+=f(re.crc32,4),ne+=f(re.compressedSize,4),ne+=f(re.uncompressedSize,4),ne+=f(B.length,2),ne+=f(ae.length,2),{fileRecord:A.LOCAL_FILE_HEADER+ne+B+ae,dirRecord:A.CENTRAL_FILE_HEADER+f(me,2)+ne+f(V.length,2)+"\0\0\0\0"+f(pe,4)+f(v,4)+B+ae+V}},g=function(m){return A.DATA_DESCRIPTOR+f(m.crc32,4)+f(m.compressedSize,4)+f(m.uncompressedSize,4)};function _(m,w,y,v){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=w,this.zipPlatform=y,this.encodeFileName=v,this.streamFiles=m,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}h.inherits(_,c),_.prototype.push=function(m){var w=m.meta.percent||0,y=this.entriesCount,v=this._sources.length;this.accumulate?this.contentBuffer.push(m):(this.bytesWritten+=m.data.length,c.prototype.push.call(this,{data:m.data,meta:{currentFile:this.currentFile,percent:y?(w+100*(y-v-1))/y:100}}))},_.prototype.openedSource=function(m){this.currentSourceOffset=this.bytesWritten,this.currentFile=m.file.name;var w=this.streamFiles&&!m.file.dir;if(w){var y=p(m,w,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:y.fileRecord,meta:{percent:0}})}else this.accumulate=!0},_.prototype.closedSource=function(m){this.accumulate=!1;var w=this.streamFiles&&!m.file.dir,y=p(m,w,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(y.dirRecord),w)this.push({data:g(m),meta:{percent:100}});else for(this.push({data:y.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},_.prototype.flush=function(){for(var m=this.bytesWritten,w=0;w<this.dirRecords.length;w++)this.push({data:this.dirRecords[w],meta:{percent:100}});var y=this.bytesWritten-m,v=function(C,E,P,I,R){var D=h.transformTo("string",R(I));return A.CENTRAL_DIRECTORY_END+"\0\0\0\0"+f(C,2)+f(C,2)+f(E,4)+f(P,4)+f(D.length,2)+D}(this.dirRecords.length,y,m,this.zipComment,this.encodeFileName);this.push({data:v,meta:{percent:100}})},_.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},_.prototype.registerPrevious=function(m){this._sources.push(m);var w=this;return m.on("data",function(y){w.processChunk(y)}),m.on("end",function(){w.closedSource(w.previous.streamInfo),w._sources.length?w.prepareNextSource():w.end()}),m.on("error",function(y){w.error(y)}),this},_.prototype.resume=function(){return!!c.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},_.prototype.error=function(m){var w=this._sources;if(!c.prototype.error.call(this,m))return!1;for(var y=0;y<w.length;y++)try{w[y].error(m)}catch{}return!0},_.prototype.lock=function(){c.prototype.lock.call(this);for(var m=this._sources,w=0;w<m.length;w++)m[w].lock()},n.exports=_},7834:(n,o,l)=>{var h=l(1678),c=l(4979);o.generateWorker=function(d,u,A){var f=new c(u.streamFiles,A,u.platform,u.encodeFileName),p=0;try{d.forEach(function(g,_){p++;var m=function(C,E){var P=C||E,I=h[P];if(!I)throw new Error(P+" is not a valid compression method !");return I}(_.options.compression,u.compression),w=_.options.compressionOptions||u.compressionOptions||{},y=_.dir,v=_.date;_._compressWorker(m,w).withStreamInfo("file",{name:g,dir:y,date:v,comment:_.comment||"",unixPermissions:_.unixPermissions,dosPermissions:_.dosPermissions}).pipe(f)}),f.entriesCount=p}catch(g){f.error(g)}return f}},6085:(n,o,l)=>{function h(){if(!(this instanceof h))return new h;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var c=new h;for(var d in this)typeof this[d]!="function"&&(c[d]=this[d]);return c}}h.prototype=l(7132),h.prototype.loadAsync=l(1062),h.support=l(3790),h.defaults=l(6032),h.version="3.10.1",h.loadAsync=function(c,d){return new h().loadAsync(c,d)},h.external=l(8565),n.exports=h},1062:(n,o,l)=>{var h=l(8910),c=l(8565),d=l(3600),u=l(6624),A=l(2541),f=l(2182);function p(g){return new c.Promise(function(_,m){var w=g.decompressed.getContentWorker().pipe(new A);w.on("error",function(y){m(y)}).on("end",function(){w.streamInfo.crc32!==g.decompressed.crc32?m(new Error("Corrupted zip : CRC32 mismatch")):_()}).resume()})}n.exports=function(g,_){var m=this;return _=h.extend(_||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:d.utf8decode}),f.isNode&&f.isStream(g)?c.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):h.prepareContent("the loaded zip file",g,!0,_.optimizedBinaryString,_.base64).then(function(w){var y=new u(_);return y.load(w),y}).then(function(w){var y=[c.Promise.resolve(w)],v=w.files;if(_.checkCRC32)for(var C=0;C<v.length;C++)y.push(p(v[C]));return c.Promise.all(y)}).then(function(w){for(var y=w.shift(),v=y.files,C=0;C<v.length;C++){var E=v[C],P=E.fileNameStr,I=h.resolve(E.fileNameStr);m.file(I,E.decompressed,{binary:!0,optimizedBinaryString:!0,date:E.date,dir:E.dir,comment:E.fileCommentStr.length?E.fileCommentStr:null,unixPermissions:E.unixPermissions,dosPermissions:E.dosPermissions,createFolders:_.createFolders}),E.dir||(m.file(I).unsafeOriginalName=P)}return y.zipComment.length&&(m.comment=y.zipComment),m})}},2182:n=>{n.exports={isNode:typeof Buffer<"u",newBufferFrom:function(o,l){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(o,l);if(typeof o=="number")throw new Error('The "data" argument must not be a number');return new Buffer(o,l)},allocBuffer:function(o){if(Buffer.alloc)return Buffer.alloc(o);var l=new Buffer(o);return l.fill(0),l},isBuffer:function(o){return Buffer.isBuffer(o)},isStream:function(o){return o&&typeof o.on=="function"&&typeof o.pause=="function"&&typeof o.resume=="function"}}},660:(n,o,l)=>{var h=l(8910),c=l(3718);function d(u,A){c.call(this,"Nodejs stream input adapter for "+u),this._upstreamEnded=!1,this._bindStream(A)}h.inherits(d,c),d.prototype._bindStream=function(u){var A=this;this._stream=u,u.pause(),u.on("data",function(f){A.push({data:f,meta:{percent:0}})}).on("error",function(f){A.isPaused?this.generatedError=f:A.error(f)}).on("end",function(){A.isPaused?A._upstreamEnded=!0:A.end()})},d.prototype.pause=function(){return!!c.prototype.pause.call(this)&&(this._stream.pause(),!0)},d.prototype.resume=function(){return!!c.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},n.exports=d},1220:(n,o,l)=>{var h=l(749).Readable;function c(d,u,A){h.call(this,u),this._helper=d;var f=this;d.on("data",function(p,g){f.push(p)||f._helper.pause(),A&&A(g)}).on("error",function(p){f.emit("error",p)}).on("end",function(){f.push(null)})}l(8910).inherits(c,h),c.prototype._read=function(){this._helper.resume()},n.exports=c},7132:(n,o,l)=>{var h=l(3600),c=l(8910),d=l(3718),u=l(1285),A=l(6032),f=l(7326),p=l(6859),g=l(7834),_=l(2182),m=l(660),w=function(I,R,D){var S,B=c.getTypeOf(R),b=c.extend(D||{},A);b.date=b.date||new Date,b.compression!==null&&(b.compression=b.compression.toUpperCase()),typeof b.unixPermissions=="string"&&(b.unixPermissions=parseInt(b.unixPermissions,8)),b.unixPermissions&&16384&b.unixPermissions&&(b.dir=!0),b.dosPermissions&&16&b.dosPermissions&&(b.dir=!0),b.dir&&(I=v(I)),b.createFolders&&(S=y(I))&&C.call(this,S,!0);var L=B==="string"&&b.binary===!1&&b.base64===!1;D&&D.binary!==void 0||(b.binary=!L),(R instanceof f&&R.uncompressedSize===0||b.dir||!R||R.length===0)&&(b.base64=!1,b.binary=!0,R="",b.compression="STORE",B="string");var V;V=R instanceof f||R instanceof d?R:_.isNode&&_.isStream(R)?new m(I,R):c.prepareContent(I,R,b.binary,b.optimizedBinaryString,b.base64);var U=new p(I,V,b);this.files[I]=U},y=function(I){I.slice(-1)==="/"&&(I=I.substring(0,I.length-1));var R=I.lastIndexOf("/");return R>0?I.substring(0,R):""},v=function(I){return I.slice(-1)!=="/"&&(I+="/"),I},C=function(I,R){return R=R!==void 0?R:A.createFolders,I=v(I),this.files[I]||w.call(this,I,null,{dir:!0,createFolders:R}),this.files[I]};function E(I){return Object.prototype.toString.call(I)==="[object RegExp]"}var P={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(I){var R,D,S;for(R in this.files)S=this.files[R],(D=R.slice(this.root.length,R.length))&&R.slice(0,this.root.length)===this.root&&I(D,S)},filter:function(I){var R=[];return this.forEach(function(D,S){I(D,S)&&R.push(S)}),R},file:function(I,R,D){if(arguments.length===1){if(E(I)){var S=I;return this.filter(function(b,L){return!L.dir&&S.test(b)})}var B=this.files[this.root+I];return B&&!B.dir?B:null}return I=this.root+I,w.call(this,I,R,D),this},folder:function(I){if(!I)return this;if(E(I))return this.filter(function(B,b){return b.dir&&I.test(B)});var R=this.root+I,D=C.call(this,R),S=this.clone();return S.root=D.name,S},remove:function(I){I=this.root+I;var R=this.files[I];if(R||(I.slice(-1)!=="/"&&(I+="/"),R=this.files[I]),R&&!R.dir)delete this.files[I];else for(var D=this.filter(function(B,b){return b.name.slice(0,I.length)===I}),S=0;S<D.length;S++)delete this.files[D[S].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(I){var R,D={};try{if((D=c.extend(I||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:h.utf8encode})).type=D.type.toLowerCase(),D.compression=D.compression.toUpperCase(),D.type==="binarystring"&&(D.type="string"),!D.type)throw new Error("No output type specified.");c.checkSupport(D.type),D.platform!=="darwin"&&D.platform!=="freebsd"&&D.platform!=="linux"&&D.platform!=="sunos"||(D.platform="UNIX"),D.platform==="win32"&&(D.platform="DOS");var S=D.comment||this.comment||"";R=g.generateWorker(this,D,S)}catch(B){(R=new d("error")).error(B)}return new u(R,D.type||"string",D.mimeType)},generateAsync:function(I,R){return this.generateInternalStream(I).accumulate(R)},generateNodeStream:function(I,R){return(I=I||{}).type||(I.type="nodebuffer"),this.generateInternalStream(I).toNodejsStream(R)}};n.exports=P},749:(n,o,l)=>{n.exports=l(2830)},2370:(n,o,l)=>{var h=l(8542);function c(d){h.call(this,d);for(var u=0;u<this.data.length;u++)d[u]=255&d[u]}l(8910).inherits(c,h),c.prototype.byteAt=function(d){return this.data[this.zero+d]},c.prototype.lastIndexOfSignature=function(d){for(var u=d.charCodeAt(0),A=d.charCodeAt(1),f=d.charCodeAt(2),p=d.charCodeAt(3),g=this.length-4;g>=0;--g)if(this.data[g]===u&&this.data[g+1]===A&&this.data[g+2]===f&&this.data[g+3]===p)return g-this.zero;return-1},c.prototype.readAndCheckSignature=function(d){var u=d.charCodeAt(0),A=d.charCodeAt(1),f=d.charCodeAt(2),p=d.charCodeAt(3),g=this.readData(4);return u===g[0]&&A===g[1]&&f===g[2]&&p===g[3]},c.prototype.readData=function(d){if(this.checkOffset(d),d===0)return[];var u=this.data.slice(this.zero+this.index,this.zero+this.index+d);return this.index+=d,u},n.exports=c},8542:(n,o,l)=>{var h=l(8910);function c(d){this.data=d,this.length=d.length,this.index=0,this.zero=0}c.prototype={checkOffset:function(d){this.checkIndex(this.index+d)},checkIndex:function(d){if(this.length<this.zero+d||d<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+d+"). Corrupted zip ?")},setIndex:function(d){this.checkIndex(d),this.index=d},skip:function(d){this.setIndex(this.index+d)},byteAt:function(){},readInt:function(d){var u,A=0;for(this.checkOffset(d),u=this.index+d-1;u>=this.index;u--)A=(A<<8)+this.byteAt(u);return this.index+=d,A},readString:function(d){return h.transformTo("string",this.readData(d))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var d=this.readInt(4);return new Date(Date.UTC(1980+(d>>25&127),(d>>21&15)-1,d>>16&31,d>>11&31,d>>5&63,(31&d)<<1))}},n.exports=c},9583:(n,o,l)=>{var h=l(414);function c(d){h.call(this,d)}l(8910).inherits(c,h),c.prototype.readData=function(d){this.checkOffset(d);var u=this.data.slice(this.zero+this.index,this.zero+this.index+d);return this.index+=d,u},n.exports=c},9226:(n,o,l)=>{var h=l(8542);function c(d){h.call(this,d)}l(8910).inherits(c,h),c.prototype.byteAt=function(d){return this.data.charCodeAt(this.zero+d)},c.prototype.lastIndexOfSignature=function(d){return this.data.lastIndexOf(d)-this.zero},c.prototype.readAndCheckSignature=function(d){return d===this.readData(4)},c.prototype.readData=function(d){this.checkOffset(d);var u=this.data.slice(this.zero+this.index,this.zero+this.index+d);return this.index+=d,u},n.exports=c},414:(n,o,l)=>{var h=l(2370);function c(d){h.call(this,d)}l(8910).inherits(c,h),c.prototype.readData=function(d){if(this.checkOffset(d),d===0)return new Uint8Array(0);var u=this.data.subarray(this.zero+this.index,this.zero+this.index+d);return this.index+=d,u},n.exports=c},8435:(n,o,l)=>{var h=l(8910),c=l(3790),d=l(2370),u=l(9226),A=l(9583),f=l(414);n.exports=function(p){var g=h.getTypeOf(p);return h.checkSupport(g),g!=="string"||c.uint8array?g==="nodebuffer"?new A(p):c.uint8array?new f(h.transformTo("uint8array",p)):new d(h.transformTo("array",p)):new u(p)}},1141:(n,o)=>{o.LOCAL_FILE_HEADER="PK",o.CENTRAL_FILE_HEADER="PK",o.CENTRAL_DIRECTORY_END="PK",o.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",o.ZIP64_CENTRAL_DIRECTORY_END="PK",o.DATA_DESCRIPTOR="PK\x07\b"},4293:(n,o,l)=>{var h=l(3718),c=l(8910);function d(u){h.call(this,"ConvertWorker to "+u),this.destType=u}c.inherits(d,h),d.prototype.processChunk=function(u){this.push({data:c.transformTo(this.destType,u.data),meta:u.meta})},n.exports=d},2541:(n,o,l)=>{var h=l(3718),c=l(6988);function d(){h.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}l(8910).inherits(d,h),d.prototype.processChunk=function(u){this.streamInfo.crc32=c(u.data,this.streamInfo.crc32||0),this.push(u)},n.exports=d},5977:(n,o,l)=>{var h=l(8910),c=l(3718);function d(u){c.call(this,"DataLengthProbe for "+u),this.propName=u,this.withStreamInfo(u,0)}h.inherits(d,c),d.prototype.processChunk=function(u){if(u){var A=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=A+u.data.length}c.prototype.processChunk.call(this,u)},n.exports=d},5301:(n,o,l)=>{var h=l(8910),c=l(3718);function d(u){c.call(this,"DataWorker");var A=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,u.then(function(f){A.dataIsReady=!0,A.data=f,A.max=f&&f.length||0,A.type=h.getTypeOf(f),A.isPaused||A._tickAndRepeat()},function(f){A.error(f)})}h.inherits(d,c),d.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this.data=null},d.prototype.resume=function(){return!!c.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,h.delay(this._tickAndRepeat,[],this)),!0)},d.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(h.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},d.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var u=null,A=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":u=this.data.substring(this.index,A);break;case"uint8array":u=this.data.subarray(this.index,A);break;case"array":case"nodebuffer":u=this.data.slice(this.index,A)}return this.index=A,this.push({data:u,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=d},3718:n=>{function o(l){this.name=l||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}o.prototype={push:function(l){this.emit("data",l)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(l){this.emit("error",l)}return!0},error:function(l){return!this.isFinished&&(this.isPaused?this.generatedError=l:(this.isFinished=!0,this.emit("error",l),this.previous&&this.previous.error(l),this.cleanUp()),!0)},on:function(l,h){return this._listeners[l].push(h),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(l,h){if(this._listeners[l])for(var c=0;c<this._listeners[l].length;c++)this._listeners[l][c].call(this,h)},pipe:function(l){return l.registerPrevious(this)},registerPrevious:function(l){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=l.streamInfo,this.mergeStreamInfo(),this.previous=l;var h=this;return l.on("data",function(c){h.processChunk(c)}),l.on("end",function(){h.end()}),l.on("error",function(c){h.error(c)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var l=!1;return this.generatedError&&(this.error(this.generatedError),l=!0),this.previous&&this.previous.resume(),!l},flush:function(){},processChunk:function(l){this.push(l)},withStreamInfo:function(l,h){return this.extraStreamInfo[l]=h,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var l in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,l)&&(this.streamInfo[l]=this.extraStreamInfo[l])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var l="Worker "+this.name;return this.previous?this.previous+" -> "+l:l}},n.exports=o},1285:(n,o,l)=>{var h=l(8910),c=l(4293),d=l(3718),u=l(8458),A=l(3790),f=l(8565),p=null;if(A.nodestream)try{p=l(1220)}catch{}function g(_,m,w){var y=m;switch(m){case"blob":case"arraybuffer":y="uint8array";break;case"base64":y="string"}try{this._internalType=y,this._outputType=m,this._mimeType=w,h.checkSupport(y),this._worker=_.pipe(new c(y)),_.lock()}catch(v){this._worker=new d("error"),this._worker.error(v)}}g.prototype={accumulate:function(_){return m=this,w=_,new f.Promise(function(y,v){var C=[],E=m._internalType,P=m._outputType,I=m._mimeType;m.on("data",function(R,D){C.push(R),w&&w(D)}).on("error",function(R){C=[],v(R)}).on("end",function(){try{var R=function(D,S,B){switch(D){case"blob":return h.newBlob(h.transformTo("arraybuffer",S),B);case"base64":return u.encode(S);default:return h.transformTo(D,S)}}(P,function(D,S){var B,b=0,L=null,V=0;for(B=0;B<S.length;B++)V+=S[B].length;switch(D){case"string":return S.join("");case"array":return Array.prototype.concat.apply([],S);case"uint8array":for(L=new Uint8Array(V),B=0;B<S.length;B++)L.set(S[B],b),b+=S[B].length;return L;case"nodebuffer":return Buffer.concat(S);default:throw new Error("concat : unsupported type '"+D+"'")}}(E,C),I);y(R)}catch(D){v(D)}C=[]}).resume()});var m,w},on:function(_,m){var w=this;return _==="data"?this._worker.on(_,function(y){m.call(w,y.data,y.meta)}):this._worker.on(_,function(){h.delay(m,arguments,w)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(_){if(h.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new p(this,{objectMode:this._outputType!=="nodebuffer"},_)}},n.exports=g},3790:(n,o,l)=>{if(o.base64=!0,o.array=!0,o.string=!0,o.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",o.nodebuffer=typeof Buffer<"u",o.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")o.blob=!1;else{var h=new ArrayBuffer(0);try{o.blob=new Blob([h],{type:"application/zip"}).size===0}catch{try{var c=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);c.append(h),o.blob=c.getBlob("application/zip").size===0}catch{o.blob=!1}}}try{o.nodestream=!!l(749).Readable}catch{o.nodestream=!1}},3600:(n,o,l)=>{for(var h=l(8910),c=l(3790),d=l(2182),u=l(3718),A=new Array(256),f=0;f<256;f++)A[f]=f>=252?6:f>=248?5:f>=240?4:f>=224?3:f>=192?2:1;function p(){u.call(this,"utf-8 decode"),this.leftOver=null}function g(){u.call(this,"utf-8 encode")}A[254]=A[254]=1,o.utf8encode=function(_){return c.nodebuffer?d.newBufferFrom(_,"utf-8"):function(m){var w,y,v,C,E,P=m.length,I=0;for(C=0;C<P;C++)(64512&(y=m.charCodeAt(C)))==55296&&C+1<P&&(64512&(v=m.charCodeAt(C+1)))==56320&&(y=65536+(y-55296<<10)+(v-56320),C++),I+=y<128?1:y<2048?2:y<65536?3:4;for(w=c.uint8array?new Uint8Array(I):new Array(I),E=0,C=0;E<I;C++)(64512&(y=m.charCodeAt(C)))==55296&&C+1<P&&(64512&(v=m.charCodeAt(C+1)))==56320&&(y=65536+(y-55296<<10)+(v-56320),C++),y<128?w[E++]=y:y<2048?(w[E++]=192|y>>>6,w[E++]=128|63&y):y<65536?(w[E++]=224|y>>>12,w[E++]=128|y>>>6&63,w[E++]=128|63&y):(w[E++]=240|y>>>18,w[E++]=128|y>>>12&63,w[E++]=128|y>>>6&63,w[E++]=128|63&y);return w}(_)},o.utf8decode=function(_){return c.nodebuffer?h.transformTo("nodebuffer",_).toString("utf-8"):function(m){var w,y,v,C,E=m.length,P=new Array(2*E);for(y=0,w=0;w<E;)if((v=m[w++])<128)P[y++]=v;else if((C=A[v])>4)P[y++]=65533,w+=C-1;else{for(v&=C===2?31:C===3?15:7;C>1&&w<E;)v=v<<6|63&m[w++],C--;C>1?P[y++]=65533:v<65536?P[y++]=v:(v-=65536,P[y++]=55296|v>>10&1023,P[y++]=56320|1023&v)}return P.length!==y&&(P.subarray?P=P.subarray(0,y):P.length=y),h.applyFromCharCode(P)}(_=h.transformTo(c.uint8array?"uint8array":"array",_))},h.inherits(p,u),p.prototype.processChunk=function(_){var m=h.transformTo(c.uint8array?"uint8array":"array",_.data);if(this.leftOver&&this.leftOver.length){if(c.uint8array){var w=m;(m=new Uint8Array(w.length+this.leftOver.length)).set(this.leftOver,0),m.set(w,this.leftOver.length)}else m=this.leftOver.concat(m);this.leftOver=null}var y=function(C,E){var P;for((E=E||C.length)>C.length&&(E=C.length),P=E-1;P>=0&&(192&C[P])==128;)P--;return P<0||P===0?E:P+A[C[P]]>E?P:E}(m),v=m;y!==m.length&&(c.uint8array?(v=m.subarray(0,y),this.leftOver=m.subarray(y,m.length)):(v=m.slice(0,y),this.leftOver=m.slice(y,m.length))),this.push({data:o.utf8decode(v),meta:_.meta})},p.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:o.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},o.Utf8DecodeWorker=p,h.inherits(g,u),g.prototype.processChunk=function(_){this.push({data:o.utf8encode(_.data),meta:_.meta})},o.Utf8EncodeWorker=g},8910:(n,o,l)=>{var h=l(3790),c=l(8458),d=l(2182),u=l(8565);function A(w){return w}function f(w,y){for(var v=0;v<w.length;++v)y[v]=255&w.charCodeAt(v);return y}l(4889),o.newBlob=function(w,y){o.checkSupport("blob");try{return new Blob([w],{type:y})}catch{try{var v=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return v.append(w),v.getBlob(y)}catch{throw new Error("Bug : can't construct the Blob.")}}};var p={stringifyByChunk:function(w,y,v){var C=[],E=0,P=w.length;if(P<=v)return String.fromCharCode.apply(null,w);for(;E<P;)y==="array"||y==="nodebuffer"?C.push(String.fromCharCode.apply(null,w.slice(E,Math.min(E+v,P)))):C.push(String.fromCharCode.apply(null,w.subarray(E,Math.min(E+v,P)))),E+=v;return C.join("")},stringifyByChar:function(w){for(var y="",v=0;v<w.length;v++)y+=String.fromCharCode(w[v]);return y},applyCanBeUsed:{uint8array:function(){try{return h.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}}(),nodebuffer:function(){try{return h.nodebuffer&&String.fromCharCode.apply(null,d.allocBuffer(1)).length===1}catch{return!1}}()}};function g(w){var y=65536,v=o.getTypeOf(w),C=!0;if(v==="uint8array"?C=p.applyCanBeUsed.uint8array:v==="nodebuffer"&&(C=p.applyCanBeUsed.nodebuffer),C)for(;y>1;)try{return p.stringifyByChunk(w,v,y)}catch{y=Math.floor(y/2)}return p.stringifyByChar(w)}function _(w,y){for(var v=0;v<w.length;v++)y[v]=w[v];return y}o.applyFromCharCode=g;var m={};m.string={string:A,array:function(w){return f(w,new Array(w.length))},arraybuffer:function(w){return m.string.uint8array(w).buffer},uint8array:function(w){return f(w,new Uint8Array(w.length))},nodebuffer:function(w){return f(w,d.allocBuffer(w.length))}},m.array={string:g,array:A,arraybuffer:function(w){return new Uint8Array(w).buffer},uint8array:function(w){return new Uint8Array(w)},nodebuffer:function(w){return d.newBufferFrom(w)}},m.arraybuffer={string:function(w){return g(new Uint8Array(w))},array:function(w){return _(new Uint8Array(w),new Array(w.byteLength))},arraybuffer:A,uint8array:function(w){return new Uint8Array(w)},nodebuffer:function(w){return d.newBufferFrom(new Uint8Array(w))}},m.uint8array={string:g,array:function(w){return _(w,new Array(w.length))},arraybuffer:function(w){return w.buffer},uint8array:A,nodebuffer:function(w){return d.newBufferFrom(w)}},m.nodebuffer={string:g,array:function(w){return _(w,new Array(w.length))},arraybuffer:function(w){return m.nodebuffer.uint8array(w).buffer},uint8array:function(w){return _(w,new Uint8Array(w.length))},nodebuffer:A},o.transformTo=function(w,y){if(y||(y=""),!w)return y;o.checkSupport(w);var v=o.getTypeOf(y);return m[v][w](y)},o.resolve=function(w){for(var y=w.split("/"),v=[],C=0;C<y.length;C++){var E=y[C];E==="."||E===""&&C!==0&&C!==y.length-1||(E===".."?v.pop():v.push(E))}return v.join("/")},o.getTypeOf=function(w){return typeof w=="string"?"string":Object.prototype.toString.call(w)==="[object Array]"?"array":h.nodebuffer&&d.isBuffer(w)?"nodebuffer":h.uint8array&&w instanceof Uint8Array?"uint8array":h.arraybuffer&&w instanceof ArrayBuffer?"arraybuffer":void 0},o.checkSupport=function(w){if(!h[w.toLowerCase()])throw new Error(w+" is not supported by this platform")},o.MAX_VALUE_16BITS=65535,o.MAX_VALUE_32BITS=-1,o.pretty=function(w){var y,v,C="";for(v=0;v<(w||"").length;v++)C+="\\x"+((y=w.charCodeAt(v))<16?"0":"")+y.toString(16).toUpperCase();return C},o.delay=function(w,y,v){setImmediate(function(){w.apply(v||null,y||[])})},o.inherits=function(w,y){var v=function(){};v.prototype=y.prototype,w.prototype=new v},o.extend=function(){var w,y,v={};for(w=0;w<arguments.length;w++)for(y in arguments[w])Object.prototype.hasOwnProperty.call(arguments[w],y)&&v[y]===void 0&&(v[y]=arguments[w][y]);return v},o.prepareContent=function(w,y,v,C,E){return u.Promise.resolve(y).then(function(P){return h.blob&&(P instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(P))!==-1)&&typeof FileReader<"u"?new u.Promise(function(I,R){var D=new FileReader;D.onload=function(S){I(S.target.result)},D.onerror=function(S){R(S.target.error)},D.readAsArrayBuffer(P)}):P}).then(function(P){var I,R=o.getTypeOf(P);return R?(R==="arraybuffer"?P=o.transformTo("uint8array",P):R==="string"&&(E?P=c.decode(P):v&&C!==!0&&(P=f(I=P,h.uint8array?new Uint8Array(I.length):new Array(I.length)))),P):u.Promise.reject(new Error("Can't read the data of '"+w+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},6624:(n,o,l)=>{var h=l(8435),c=l(8910),d=l(1141),u=l(9392),A=l(3790);function f(p){this.files=[],this.loadOptions=p}f.prototype={checkSignature:function(p){if(!this.reader.readAndCheckSignature(p)){this.reader.index-=4;var g=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+c.pretty(g)+", expected "+c.pretty(p)+")")}},isSignature:function(p,g){var _=this.reader.index;this.reader.setIndex(p);var m=this.reader.readString(4)===g;return this.reader.setIndex(_),m},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var p=this.reader.readData(this.zipCommentLength),g=A.uint8array?"uint8array":"array",_=c.transformTo(g,p);this.zipComment=this.loadOptions.decodeFileName(_)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var p,g,_,m=this.zip64EndOfCentralSize-44;0<m;)p=this.reader.readInt(2),g=this.reader.readInt(4),_=this.reader.readData(g),this.zip64ExtensibleData[p]={id:p,length:g,value:_}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var p,g;for(p=0;p<this.files.length;p++)g=this.files[p],this.reader.setIndex(g.localHeaderOffset),this.checkSignature(d.LOCAL_FILE_HEADER),g.readLocalPart(this.reader),g.handleUTF8(),g.processAttributes()},readCentralDir:function(){var p;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(d.CENTRAL_FILE_HEADER);)(p=new u({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(p);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var p=this.reader.lastIndexOfSignature(d.CENTRAL_DIRECTORY_END);if(p<0)throw this.isSignature(0,d.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(p);var g=p;if(this.checkSignature(d.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===c.MAX_VALUE_16BITS||this.diskWithCentralDirStart===c.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===c.MAX_VALUE_16BITS||this.centralDirRecords===c.MAX_VALUE_16BITS||this.centralDirSize===c.MAX_VALUE_32BITS||this.centralDirOffset===c.MAX_VALUE_32BITS){if(this.zip64=!0,(p=this.reader.lastIndexOfSignature(d.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(p),this.checkSignature(d.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,d.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(d.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(d.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var _=this.centralDirOffset+this.centralDirSize;this.zip64&&(_+=20,_+=12+this.zip64EndOfCentralSize);var m=g-_;if(m>0)this.isSignature(g,d.CENTRAL_FILE_HEADER)||(this.reader.zero=m);else if(m<0)throw new Error("Corrupted zip: missing "+Math.abs(m)+" bytes.")},prepareReader:function(p){this.reader=h(p)},load:function(p){this.prepareReader(p),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},n.exports=f},9392:(n,o,l)=>{var h=l(8435),c=l(8910),d=l(7326),u=l(6988),A=l(3600),f=l(1678),p=l(3790);function g(_,m){this.options=_,this.loadOptions=m}g.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(_){var m,w;if(_.skip(22),this.fileNameLength=_.readInt(2),w=_.readInt(2),this.fileName=_.readData(this.fileNameLength),_.skip(w),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((m=function(y){for(var v in f)if(Object.prototype.hasOwnProperty.call(f,v)&&f[v].magic===y)return f[v];return null}(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+c.pretty(this.compressionMethod)+" unknown (inner file : "+c.transformTo("string",this.fileName)+")");this.decompressed=new d(this.compressedSize,this.uncompressedSize,this.crc32,m,_.readData(this.compressedSize))},readCentralPart:function(_){this.versionMadeBy=_.readInt(2),_.skip(2),this.bitFlag=_.readInt(2),this.compressionMethod=_.readString(2),this.date=_.readDate(),this.crc32=_.readInt(4),this.compressedSize=_.readInt(4),this.uncompressedSize=_.readInt(4);var m=_.readInt(2);if(this.extraFieldsLength=_.readInt(2),this.fileCommentLength=_.readInt(2),this.diskNumberStart=_.readInt(2),this.internalFileAttributes=_.readInt(2),this.externalFileAttributes=_.readInt(4),this.localHeaderOffset=_.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");_.skip(m),this.readExtraFields(_),this.parseZIP64ExtraField(_),this.fileComment=_.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var _=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),_===0&&(this.dosPermissions=63&this.externalFileAttributes),_===3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var _=h(this.extraFields[1].value);this.uncompressedSize===c.MAX_VALUE_32BITS&&(this.uncompressedSize=_.readInt(8)),this.compressedSize===c.MAX_VALUE_32BITS&&(this.compressedSize=_.readInt(8)),this.localHeaderOffset===c.MAX_VALUE_32BITS&&(this.localHeaderOffset=_.readInt(8)),this.diskNumberStart===c.MAX_VALUE_32BITS&&(this.diskNumberStart=_.readInt(4))}},readExtraFields:function(_){var m,w,y,v=_.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});_.index+4<v;)m=_.readInt(2),w=_.readInt(2),y=_.readData(w),this.extraFields[m]={id:m,length:w,value:y};_.setIndex(v)},handleUTF8:function(){var _=p.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=A.utf8decode(this.fileName),this.fileCommentStr=A.utf8decode(this.fileComment);else{var m=this.findExtraFieldUnicodePath();if(m!==null)this.fileNameStr=m;else{var w=c.transformTo(_,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(w)}var y=this.findExtraFieldUnicodeComment();if(y!==null)this.fileCommentStr=y;else{var v=c.transformTo(_,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(v)}}},findExtraFieldUnicodePath:function(){var _=this.extraFields[28789];if(_){var m=h(_.value);return m.readInt(1)!==1||u(this.fileName)!==m.readInt(4)?null:A.utf8decode(m.readData(_.length-5))}return null},findExtraFieldUnicodeComment:function(){var _=this.extraFields[25461];if(_){var m=h(_.value);return m.readInt(1)!==1||u(this.fileComment)!==m.readInt(4)?null:A.utf8decode(m.readData(_.length-5))}return null}},n.exports=g},6859:(n,o,l)=>{var h=l(1285),c=l(5301),d=l(3600),u=l(7326),A=l(3718),f=function(m,w,y){this.name=m,this.dir=y.dir,this.date=y.date,this.comment=y.comment,this.unixPermissions=y.unixPermissions,this.dosPermissions=y.dosPermissions,this._data=w,this._dataBinary=y.binary,this.options={compression:y.compression,compressionOptions:y.compressionOptions}};f.prototype={internalStream:function(m){var w=null,y="string";try{if(!m)throw new Error("No output type specified.");var v=(y=m.toLowerCase())==="string"||y==="text";y!=="binarystring"&&y!=="text"||(y="string"),w=this._decompressWorker();var C=!this._dataBinary;C&&!v&&(w=w.pipe(new d.Utf8EncodeWorker)),!C&&v&&(w=w.pipe(new d.Utf8DecodeWorker))}catch(E){(w=new A("error")).error(E)}return new h(w,y,"")},async:function(m,w){return this.internalStream(m).accumulate(w)},nodeStream:function(m,w){return this.internalStream(m||"nodebuffer").toNodejsStream(w)},_compressWorker:function(m,w){if(this._data instanceof u&&this._data.compression.magic===m.magic)return this._data.getCompressedWorker();var y=this._decompressWorker();return this._dataBinary||(y=y.pipe(new d.Utf8EncodeWorker)),u.createWorkerFrom(y,m,w)},_decompressWorker:function(){return this._data instanceof u?this._data.getContentWorker():this._data instanceof A?this._data:new c(this._data)}};for(var p=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],g=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},_=0;_<p.length;_++)f.prototype[p[_]]=g;n.exports=f},3389:(n,o,l)=>{var h=l(5705);function c(){}var d={},u=["REJECTED"],A=["FULFILLED"],f=["PENDING"];function p(v){if(typeof v!="function")throw new TypeError("resolver must be a function");this.state=f,this.queue=[],this.outcome=void 0,v!==c&&w(this,v)}function g(v,C,E){this.promise=v,typeof C=="function"&&(this.onFulfilled=C,this.callFulfilled=this.otherCallFulfilled),typeof E=="function"&&(this.onRejected=E,this.callRejected=this.otherCallRejected)}function _(v,C,E){h(function(){var P;try{P=C(E)}catch(I){return d.reject(v,I)}P===v?d.reject(v,new TypeError("Cannot resolve promise with itself")):d.resolve(v,P)})}function m(v){var C=v&&v.then;if(v&&(typeof v=="object"||typeof v=="function")&&typeof C=="function")return function(){C.apply(v,arguments)}}function w(v,C){var E=!1;function P(D){E||(E=!0,d.reject(v,D))}function I(D){E||(E=!0,d.resolve(v,D))}var R=y(function(){C(I,P)});R.status==="error"&&P(R.value)}function y(v,C){var E={};try{E.value=v(C),E.status="success"}catch(P){E.status="error",E.value=P}return E}n.exports=p,p.prototype.finally=function(v){if(typeof v!="function")return this;var C=this.constructor;return this.then(function(E){return C.resolve(v()).then(function(){return E})},function(E){return C.resolve(v()).then(function(){throw E})})},p.prototype.catch=function(v){return this.then(null,v)},p.prototype.then=function(v,C){if(typeof v!="function"&&this.state===A||typeof C!="function"&&this.state===u)return this;var E=new this.constructor(c);return this.state!==f?_(E,this.state===A?v:C,this.outcome):this.queue.push(new g(E,v,C)),E},g.prototype.callFulfilled=function(v){d.resolve(this.promise,v)},g.prototype.otherCallFulfilled=function(v){_(this.promise,this.onFulfilled,v)},g.prototype.callRejected=function(v){d.reject(this.promise,v)},g.prototype.otherCallRejected=function(v){_(this.promise,this.onRejected,v)},d.resolve=function(v,C){var E=y(m,C);if(E.status==="error")return d.reject(v,E.value);var P=E.value;if(P)w(v,P);else{v.state=A,v.outcome=C;for(var I=-1,R=v.queue.length;++I<R;)v.queue[I].callFulfilled(C)}return v},d.reject=function(v,C){v.state=u,v.outcome=C;for(var E=-1,P=v.queue.length;++E<P;)v.queue[E].callRejected(C);return v},p.resolve=function(v){return v instanceof this?v:d.resolve(new this(c),v)},p.reject=function(v){var C=new this(c);return d.reject(C,v)},p.all=function(v){var C=this;if(Object.prototype.toString.call(v)!=="[object Array]")return this.reject(new TypeError("must be an array"));var E=v.length,P=!1;if(!E)return this.resolve([]);for(var I=new Array(E),R=0,D=-1,S=new this(c);++D<E;)B(v[D],D);return S;function B(b,L){C.resolve(b).then(function(V){I[L]=V,++R!==E||P||(P=!0,d.resolve(S,I))},function(V){P||(P=!0,d.reject(S,V))})}},p.race=function(v){if(Object.prototype.toString.call(v)!=="[object Array]")return this.reject(new TypeError("must be an array"));var C=v.length,E=!1;if(!C)return this.resolve([]);for(var P,I=-1,R=new this(c);++I<C;)P=v[I],this.resolve(P).then(function(D){E||(E=!0,d.resolve(R,D))},function(D){E||(E=!0,d.reject(R,D))});return R}},9591:(n,o,l)=>{var h={};(0,l(4236).assign)(h,l(4555),l(8843),l(1619)),n.exports=h},4555:(n,o,l)=>{var h=l(405),c=l(4236),d=l(9373),u=l(8898),A=l(2292),f=Object.prototype.toString;function p(_){if(!(this instanceof p))return new p(_);this.options=c.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},_||{});var m=this.options;m.raw&&m.windowBits>0?m.windowBits=-m.windowBits:m.gzip&&m.windowBits>0&&m.windowBits<16&&(m.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new A,this.strm.avail_out=0;var w=h.deflateInit2(this.strm,m.level,m.method,m.windowBits,m.memLevel,m.strategy);if(w!==0)throw new Error(u[w]);if(m.header&&h.deflateSetHeader(this.strm,m.header),m.dictionary){var y;if(y=typeof m.dictionary=="string"?d.string2buf(m.dictionary):f.call(m.dictionary)==="[object ArrayBuffer]"?new Uint8Array(m.dictionary):m.dictionary,(w=h.deflateSetDictionary(this.strm,y))!==0)throw new Error(u[w]);this._dict_set=!0}}function g(_,m){var w=new p(m);if(w.push(_,!0),w.err)throw w.msg||u[w.err];return w.result}p.prototype.push=function(_,m){var w,y,v=this.strm,C=this.options.chunkSize;if(this.ended)return!1;y=m===~~m?m:m===!0?4:0,typeof _=="string"?v.input=d.string2buf(_):f.call(_)==="[object ArrayBuffer]"?v.input=new Uint8Array(_):v.input=_,v.next_in=0,v.avail_in=v.input.length;do{if(v.avail_out===0&&(v.output=new c.Buf8(C),v.next_out=0,v.avail_out=C),(w=h.deflate(v,y))!==1&&w!==0)return this.onEnd(w),this.ended=!0,!1;v.avail_out!==0&&(v.avail_in!==0||y!==4&&y!==2)||(this.options.to==="string"?this.onData(d.buf2binstring(c.shrinkBuf(v.output,v.next_out))):this.onData(c.shrinkBuf(v.output,v.next_out)))}while((v.avail_in>0||v.avail_out===0)&&w!==1);return y===4?(w=h.deflateEnd(this.strm),this.onEnd(w),this.ended=!0,w===0):y!==2||(this.onEnd(0),v.avail_out=0,!0)},p.prototype.onData=function(_){this.chunks.push(_)},p.prototype.onEnd=function(_){_===0&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=_,this.msg=this.strm.msg},o.Deflate=p,o.deflate=g,o.deflateRaw=function(_,m){return(m=m||{}).raw=!0,g(_,m)},o.gzip=function(_,m){return(m=m||{}).gzip=!0,g(_,m)}},8843:(n,o,l)=>{var h=l(7948),c=l(4236),d=l(9373),u=l(1619),A=l(8898),f=l(2292),p=l(2401),g=Object.prototype.toString;function _(w){if(!(this instanceof _))return new _(w);this.options=c.assign({chunkSize:16384,windowBits:0,to:""},w||{});var y=this.options;y.raw&&y.windowBits>=0&&y.windowBits<16&&(y.windowBits=-y.windowBits,y.windowBits===0&&(y.windowBits=-15)),!(y.windowBits>=0&&y.windowBits<16)||w&&w.windowBits||(y.windowBits+=32),y.windowBits>15&&y.windowBits<48&&!(15&y.windowBits)&&(y.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var v=h.inflateInit2(this.strm,y.windowBits);if(v!==u.Z_OK)throw new Error(A[v]);if(this.header=new p,h.inflateGetHeader(this.strm,this.header),y.dictionary&&(typeof y.dictionary=="string"?y.dictionary=d.string2buf(y.dictionary):g.call(y.dictionary)==="[object ArrayBuffer]"&&(y.dictionary=new Uint8Array(y.dictionary)),y.raw&&(v=h.inflateSetDictionary(this.strm,y.dictionary))!==u.Z_OK))throw new Error(A[v])}function m(w,y){var v=new _(y);if(v.push(w,!0),v.err)throw v.msg||A[v.err];return v.result}_.prototype.push=function(w,y){var v,C,E,P,I,R=this.strm,D=this.options.chunkSize,S=this.options.dictionary,B=!1;if(this.ended)return!1;C=y===~~y?y:y===!0?u.Z_FINISH:u.Z_NO_FLUSH,typeof w=="string"?R.input=d.binstring2buf(w):g.call(w)==="[object ArrayBuffer]"?R.input=new Uint8Array(w):R.input=w,R.next_in=0,R.avail_in=R.input.length;do{if(R.avail_out===0&&(R.output=new c.Buf8(D),R.next_out=0,R.avail_out=D),(v=h.inflate(R,u.Z_NO_FLUSH))===u.Z_NEED_DICT&&S&&(v=h.inflateSetDictionary(this.strm,S)),v===u.Z_BUF_ERROR&&B===!0&&(v=u.Z_OK,B=!1),v!==u.Z_STREAM_END&&v!==u.Z_OK)return this.onEnd(v),this.ended=!0,!1;R.next_out&&(R.avail_out!==0&&v!==u.Z_STREAM_END&&(R.avail_in!==0||C!==u.Z_FINISH&&C!==u.Z_SYNC_FLUSH)||(this.options.to==="string"?(E=d.utf8border(R.output,R.next_out),P=R.next_out-E,I=d.buf2string(R.output,E),R.next_out=P,R.avail_out=D-P,P&&c.arraySet(R.output,R.output,E,P,0),this.onData(I)):this.onData(c.shrinkBuf(R.output,R.next_out)))),R.avail_in===0&&R.avail_out===0&&(B=!0)}while((R.avail_in>0||R.avail_out===0)&&v!==u.Z_STREAM_END);return v===u.Z_STREAM_END&&(C=u.Z_FINISH),C===u.Z_FINISH?(v=h.inflateEnd(this.strm),this.onEnd(v),this.ended=!0,v===u.Z_OK):C!==u.Z_SYNC_FLUSH||(this.onEnd(u.Z_OK),R.avail_out=0,!0)},_.prototype.onData=function(w){this.chunks.push(w)},_.prototype.onEnd=function(w){w===u.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=w,this.msg=this.strm.msg},o.Inflate=_,o.inflate=m,o.inflateRaw=function(w,y){return(y=y||{}).raw=!0,m(w,y)},o.ungzip=m},4236:(n,o)=>{var l=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function h(u,A){return Object.prototype.hasOwnProperty.call(u,A)}o.assign=function(u){for(var A=Array.prototype.slice.call(arguments,1);A.length;){var f=A.shift();if(f){if(typeof f!="object")throw new TypeError(f+"must be non-object");for(var p in f)h(f,p)&&(u[p]=f[p])}}return u},o.shrinkBuf=function(u,A){return u.length===A?u:u.subarray?u.subarray(0,A):(u.length=A,u)};var c={arraySet:function(u,A,f,p,g){if(A.subarray&&u.subarray)u.set(A.subarray(f,f+p),g);else for(var _=0;_<p;_++)u[g+_]=A[f+_]},flattenChunks:function(u){var A,f,p,g,_,m;for(p=0,A=0,f=u.length;A<f;A++)p+=u[A].length;for(m=new Uint8Array(p),g=0,A=0,f=u.length;A<f;A++)_=u[A],m.set(_,g),g+=_.length;return m}},d={arraySet:function(u,A,f,p,g){for(var _=0;_<p;_++)u[g+_]=A[f+_]},flattenChunks:function(u){return[].concat.apply([],u)}};o.setTyped=function(u){u?(o.Buf8=Uint8Array,o.Buf16=Uint16Array,o.Buf32=Int32Array,o.assign(o,c)):(o.Buf8=Array,o.Buf16=Array,o.Buf32=Array,o.assign(o,d))},o.setTyped(l)},9373:(n,o,l)=>{var h=l(4236),c=!0,d=!0;try{String.fromCharCode.apply(null,[0])}catch{c=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{d=!1}for(var u=new h.Buf8(256),A=0;A<256;A++)u[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;function f(p,g){if(g<65534&&(p.subarray&&d||!p.subarray&&c))return String.fromCharCode.apply(null,h.shrinkBuf(p,g));for(var _="",m=0;m<g;m++)_+=String.fromCharCode(p[m]);return _}u[254]=u[254]=1,o.string2buf=function(p){var g,_,m,w,y,v=p.length,C=0;for(w=0;w<v;w++)(64512&(_=p.charCodeAt(w)))==55296&&w+1<v&&(64512&(m=p.charCodeAt(w+1)))==56320&&(_=65536+(_-55296<<10)+(m-56320),w++),C+=_<128?1:_<2048?2:_<65536?3:4;for(g=new h.Buf8(C),y=0,w=0;y<C;w++)(64512&(_=p.charCodeAt(w)))==55296&&w+1<v&&(64512&(m=p.charCodeAt(w+1)))==56320&&(_=65536+(_-55296<<10)+(m-56320),w++),_<128?g[y++]=_:_<2048?(g[y++]=192|_>>>6,g[y++]=128|63&_):_<65536?(g[y++]=224|_>>>12,g[y++]=128|_>>>6&63,g[y++]=128|63&_):(g[y++]=240|_>>>18,g[y++]=128|_>>>12&63,g[y++]=128|_>>>6&63,g[y++]=128|63&_);return g},o.buf2binstring=function(p){return f(p,p.length)},o.binstring2buf=function(p){for(var g=new h.Buf8(p.length),_=0,m=g.length;_<m;_++)g[_]=p.charCodeAt(_);return g},o.buf2string=function(p,g){var _,m,w,y,v=g||p.length,C=new Array(2*v);for(m=0,_=0;_<v;)if((w=p[_++])<128)C[m++]=w;else if((y=u[w])>4)C[m++]=65533,_+=y-1;else{for(w&=y===2?31:y===3?15:7;y>1&&_<v;)w=w<<6|63&p[_++],y--;y>1?C[m++]=65533:w<65536?C[m++]=w:(w-=65536,C[m++]=55296|w>>10&1023,C[m++]=56320|1023&w)}return f(C,m)},o.utf8border=function(p,g){var _;for((g=g||p.length)>p.length&&(g=p.length),_=g-1;_>=0&&(192&p[_])==128;)_--;return _<0||_===0?g:_+u[p[_]]>g?_:g}},6069:n=>{n.exports=function(o,l,h,c){for(var d=65535&o|0,u=o>>>16&65535|0,A=0;h!==0;){h-=A=h>2e3?2e3:h;do u=u+(d=d+l[c++]|0)|0;while(--A);d%=65521,u%=65521}return d|u<<16|0}},1619:n=>{n.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},2869:n=>{var o=function(){for(var l,h=[],c=0;c<256;c++){l=c;for(var d=0;d<8;d++)l=1&l?3988292384^l>>>1:l>>>1;h[c]=l}return h}();n.exports=function(l,h,c,d){var u=o,A=d+c;l^=-1;for(var f=d;f<A;f++)l=l>>>8^u[255&(l^h[f])];return-1^l}},405:(n,o,l)=>{var h,c=l(4236),d=l(342),u=l(6069),A=l(2869),f=l(8898),p=-2,g=258,_=262,m=103,w=113,y=666;function v(k,W){return k.msg=f[W],W}function C(k){return(k<<1)-(k>4?9:0)}function E(k){for(var W=k.length;--W>=0;)k[W]=0}function P(k){var W=k.state,z=W.pending;z>k.avail_out&&(z=k.avail_out),z!==0&&(c.arraySet(k.output,W.pending_buf,W.pending_out,z,k.next_out),k.next_out+=z,W.pending_out+=z,k.total_out+=z,k.avail_out-=z,W.pending-=z,W.pending===0&&(W.pending_out=0))}function I(k,W){d._tr_flush_block(k,k.block_start>=0?k.block_start:-1,k.strstart-k.block_start,W),k.block_start=k.strstart,P(k.strm)}function R(k,W){k.pending_buf[k.pending++]=W}function D(k,W){k.pending_buf[k.pending++]=W>>>8&255,k.pending_buf[k.pending++]=255&W}function S(k,W){var z,Y,re=k.max_chain_length,Z=k.strstart,le=k.prev_length,Ae=k.nice_match,pe=k.strstart>k.w_size-_?k.strstart-(k.w_size-_):0,me=k.window,ne=k.w_mask,J=k.prev,ce=k.strstart+g,$=me[Z+le-1],Ce=me[Z+le];k.prev_length>=k.good_match&&(re>>=2),Ae>k.lookahead&&(Ae=k.lookahead);do if(me[(z=W)+le]===Ce&&me[z+le-1]===$&&me[z]===me[Z]&&me[++z]===me[Z+1]){Z+=2,z++;do;while(me[++Z]===me[++z]&&me[++Z]===me[++z]&&me[++Z]===me[++z]&&me[++Z]===me[++z]&&me[++Z]===me[++z]&&me[++Z]===me[++z]&&me[++Z]===me[++z]&&me[++Z]===me[++z]&&Z<ce);if(Y=g-(ce-Z),Z=ce-g,Y>le){if(k.match_start=W,le=Y,Y>=Ae)break;$=me[Z+le-1],Ce=me[Z+le]}}while((W=J[W&ne])>pe&&--re!=0);return le<=k.lookahead?le:k.lookahead}function B(k){var W,z,Y,re,Z,le,Ae,pe,me,ne,J=k.w_size;do{if(re=k.window_size-k.lookahead-k.strstart,k.strstart>=J+(J-_)){c.arraySet(k.window,k.window,J,J,0),k.match_start-=J,k.strstart-=J,k.block_start-=J,W=z=k.hash_size;do Y=k.head[--W],k.head[W]=Y>=J?Y-J:0;while(--z);W=z=J;do Y=k.prev[--W],k.prev[W]=Y>=J?Y-J:0;while(--z);re+=J}if(k.strm.avail_in===0)break;if(le=k.strm,Ae=k.window,pe=k.strstart+k.lookahead,me=re,ne=void 0,(ne=le.avail_in)>me&&(ne=me),z=ne===0?0:(le.avail_in-=ne,c.arraySet(Ae,le.input,le.next_in,ne,pe),le.state.wrap===1?le.adler=u(le.adler,Ae,ne,pe):le.state.wrap===2&&(le.adler=A(le.adler,Ae,ne,pe)),le.next_in+=ne,le.total_in+=ne,ne),k.lookahead+=z,k.lookahead+k.insert>=3)for(Z=k.strstart-k.insert,k.ins_h=k.window[Z],k.ins_h=(k.ins_h<<k.hash_shift^k.window[Z+1])&k.hash_mask;k.insert&&(k.ins_h=(k.ins_h<<k.hash_shift^k.window[Z+3-1])&k.hash_mask,k.prev[Z&k.w_mask]=k.head[k.ins_h],k.head[k.ins_h]=Z,Z++,k.insert--,!(k.lookahead+k.insert<3)););}while(k.lookahead<_&&k.strm.avail_in!==0)}function b(k,W){for(var z,Y;;){if(k.lookahead<_){if(B(k),k.lookahead<_&&W===0)return 1;if(k.lookahead===0)break}if(z=0,k.lookahead>=3&&(k.ins_h=(k.ins_h<<k.hash_shift^k.window[k.strstart+3-1])&k.hash_mask,z=k.prev[k.strstart&k.w_mask]=k.head[k.ins_h],k.head[k.ins_h]=k.strstart),z!==0&&k.strstart-z<=k.w_size-_&&(k.match_length=S(k,z)),k.match_length>=3)if(Y=d._tr_tally(k,k.strstart-k.match_start,k.match_length-3),k.lookahead-=k.match_length,k.match_length<=k.max_lazy_match&&k.lookahead>=3){k.match_length--;do k.strstart++,k.ins_h=(k.ins_h<<k.hash_shift^k.window[k.strstart+3-1])&k.hash_mask,z=k.prev[k.strstart&k.w_mask]=k.head[k.ins_h],k.head[k.ins_h]=k.strstart;while(--k.match_length!=0);k.strstart++}else k.strstart+=k.match_length,k.match_length=0,k.ins_h=k.window[k.strstart],k.ins_h=(k.ins_h<<k.hash_shift^k.window[k.strstart+1])&k.hash_mask;else Y=d._tr_tally(k,0,k.window[k.strstart]),k.lookahead--,k.strstart++;if(Y&&(I(k,!1),k.strm.avail_out===0))return 1}return k.insert=k.strstart<2?k.strstart:2,W===4?(I(k,!0),k.strm.avail_out===0?3:4):k.last_lit&&(I(k,!1),k.strm.avail_out===0)?1:2}function L(k,W){for(var z,Y,re;;){if(k.lookahead<_){if(B(k),k.lookahead<_&&W===0)return 1;if(k.lookahead===0)break}if(z=0,k.lookahead>=3&&(k.ins_h=(k.ins_h<<k.hash_shift^k.window[k.strstart+3-1])&k.hash_mask,z=k.prev[k.strstart&k.w_mask]=k.head[k.ins_h],k.head[k.ins_h]=k.strstart),k.prev_length=k.match_length,k.prev_match=k.match_start,k.match_length=2,z!==0&&k.prev_length<k.max_lazy_match&&k.strstart-z<=k.w_size-_&&(k.match_length=S(k,z),k.match_length<=5&&(k.strategy===1||k.match_length===3&&k.strstart-k.match_start>4096)&&(k.match_length=2)),k.prev_length>=3&&k.match_length<=k.prev_length){re=k.strstart+k.lookahead-3,Y=d._tr_tally(k,k.strstart-1-k.prev_match,k.prev_length-3),k.lookahead-=k.prev_length-1,k.prev_length-=2;do++k.strstart<=re&&(k.ins_h=(k.ins_h<<k.hash_shift^k.window[k.strstart+3-1])&k.hash_mask,z=k.prev[k.strstart&k.w_mask]=k.head[k.ins_h],k.head[k.ins_h]=k.strstart);while(--k.prev_length!=0);if(k.match_available=0,k.match_length=2,k.strstart++,Y&&(I(k,!1),k.strm.avail_out===0))return 1}else if(k.match_available){if((Y=d._tr_tally(k,0,k.window[k.strstart-1]))&&I(k,!1),k.strstart++,k.lookahead--,k.strm.avail_out===0)return 1}else k.match_available=1,k.strstart++,k.lookahead--}return k.match_available&&(Y=d._tr_tally(k,0,k.window[k.strstart-1]),k.match_available=0),k.insert=k.strstart<2?k.strstart:2,W===4?(I(k,!0),k.strm.avail_out===0?3:4):k.last_lit&&(I(k,!1),k.strm.avail_out===0)?1:2}function V(k,W,z,Y,re){this.good_length=k,this.max_lazy=W,this.nice_length=z,this.max_chain=Y,this.func=re}function U(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(1146),this.dyn_dtree=new c.Buf16(122),this.bl_tree=new c.Buf16(78),E(this.dyn_ltree),E(this.dyn_dtree),E(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(16),this.heap=new c.Buf16(573),E(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(573),E(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function K(k){var W;return k&&k.state?(k.total_in=k.total_out=0,k.data_type=2,(W=k.state).pending=0,W.pending_out=0,W.wrap<0&&(W.wrap=-W.wrap),W.status=W.wrap?42:w,k.adler=W.wrap===2?0:1,W.last_flush=0,d._tr_init(W),0):v(k,p)}function j(k){var W,z=K(k);return z===0&&((W=k.state).window_size=2*W.w_size,E(W.head),W.max_lazy_match=h[W.level].max_lazy,W.good_match=h[W.level].good_length,W.nice_match=h[W.level].nice_length,W.max_chain_length=h[W.level].max_chain,W.strstart=0,W.block_start=0,W.lookahead=0,W.insert=0,W.match_length=W.prev_length=2,W.match_available=0,W.ins_h=0),z}function ae(k,W,z,Y,re,Z){if(!k)return p;var le=1;if(W===-1&&(W=6),Y<0?(le=0,Y=-Y):Y>15&&(le=2,Y-=16),re<1||re>9||z!==8||Y<8||Y>15||W<0||W>9||Z<0||Z>4)return v(k,p);Y===8&&(Y=9);var Ae=new U;return k.state=Ae,Ae.strm=k,Ae.wrap=le,Ae.gzhead=null,Ae.w_bits=Y,Ae.w_size=1<<Ae.w_bits,Ae.w_mask=Ae.w_size-1,Ae.hash_bits=re+7,Ae.hash_size=1<<Ae.hash_bits,Ae.hash_mask=Ae.hash_size-1,Ae.hash_shift=~~((Ae.hash_bits+3-1)/3),Ae.window=new c.Buf8(2*Ae.w_size),Ae.head=new c.Buf16(Ae.hash_size),Ae.prev=new c.Buf16(Ae.w_size),Ae.lit_bufsize=1<<re+6,Ae.pending_buf_size=4*Ae.lit_bufsize,Ae.pending_buf=new c.Buf8(Ae.pending_buf_size),Ae.d_buf=1*Ae.lit_bufsize,Ae.l_buf=3*Ae.lit_bufsize,Ae.level=W,Ae.strategy=Z,Ae.method=z,j(k)}h=[new V(0,0,0,0,function(k,W){var z=65535;for(z>k.pending_buf_size-5&&(z=k.pending_buf_size-5);;){if(k.lookahead<=1){if(B(k),k.lookahead===0&&W===0)return 1;if(k.lookahead===0)break}k.strstart+=k.lookahead,k.lookahead=0;var Y=k.block_start+z;if((k.strstart===0||k.strstart>=Y)&&(k.lookahead=k.strstart-Y,k.strstart=Y,I(k,!1),k.strm.avail_out===0)||k.strstart-k.block_start>=k.w_size-_&&(I(k,!1),k.strm.avail_out===0))return 1}return k.insert=0,W===4?(I(k,!0),k.strm.avail_out===0?3:4):(k.strstart>k.block_start&&(I(k,!1),k.strm.avail_out),1)}),new V(4,4,8,4,b),new V(4,5,16,8,b),new V(4,6,32,32,b),new V(4,4,16,16,L),new V(8,16,32,32,L),new V(8,16,128,128,L),new V(8,32,128,256,L),new V(32,128,258,1024,L),new V(32,258,258,4096,L)],o.deflateInit=function(k,W){return ae(k,W,8,15,8,0)},o.deflateInit2=ae,o.deflateReset=j,o.deflateResetKeep=K,o.deflateSetHeader=function(k,W){return k&&k.state?k.state.wrap!==2?p:(k.state.gzhead=W,0):p},o.deflate=function(k,W){var z,Y,re,Z;if(!k||!k.state||W>5||W<0)return k?v(k,p):p;if(Y=k.state,!k.output||!k.input&&k.avail_in!==0||Y.status===y&&W!==4)return v(k,k.avail_out===0?-5:p);if(Y.strm=k,z=Y.last_flush,Y.last_flush=W,Y.status===42)if(Y.wrap===2)k.adler=0,R(Y,31),R(Y,139),R(Y,8),Y.gzhead?(R(Y,(Y.gzhead.text?1:0)+(Y.gzhead.hcrc?2:0)+(Y.gzhead.extra?4:0)+(Y.gzhead.name?8:0)+(Y.gzhead.comment?16:0)),R(Y,255&Y.gzhead.time),R(Y,Y.gzhead.time>>8&255),R(Y,Y.gzhead.time>>16&255),R(Y,Y.gzhead.time>>24&255),R(Y,Y.level===9?2:Y.strategy>=2||Y.level<2?4:0),R(Y,255&Y.gzhead.os),Y.gzhead.extra&&Y.gzhead.extra.length&&(R(Y,255&Y.gzhead.extra.length),R(Y,Y.gzhead.extra.length>>8&255)),Y.gzhead.hcrc&&(k.adler=A(k.adler,Y.pending_buf,Y.pending,0)),Y.gzindex=0,Y.status=69):(R(Y,0),R(Y,0),R(Y,0),R(Y,0),R(Y,0),R(Y,Y.level===9?2:Y.strategy>=2||Y.level<2?4:0),R(Y,3),Y.status=w);else{var le=8+(Y.w_bits-8<<4)<<8;le|=(Y.strategy>=2||Y.level<2?0:Y.level<6?1:Y.level===6?2:3)<<6,Y.strstart!==0&&(le|=32),le+=31-le%31,Y.status=w,D(Y,le),Y.strstart!==0&&(D(Y,k.adler>>>16),D(Y,65535&k.adler)),k.adler=1}if(Y.status===69)if(Y.gzhead.extra){for(re=Y.pending;Y.gzindex<(65535&Y.gzhead.extra.length)&&(Y.pending!==Y.pending_buf_size||(Y.gzhead.hcrc&&Y.pending>re&&(k.adler=A(k.adler,Y.pending_buf,Y.pending-re,re)),P(k),re=Y.pending,Y.pending!==Y.pending_buf_size));)R(Y,255&Y.gzhead.extra[Y.gzindex]),Y.gzindex++;Y.gzhead.hcrc&&Y.pending>re&&(k.adler=A(k.adler,Y.pending_buf,Y.pending-re,re)),Y.gzindex===Y.gzhead.extra.length&&(Y.gzindex=0,Y.status=73)}else Y.status=73;if(Y.status===73)if(Y.gzhead.name){re=Y.pending;do{if(Y.pending===Y.pending_buf_size&&(Y.gzhead.hcrc&&Y.pending>re&&(k.adler=A(k.adler,Y.pending_buf,Y.pending-re,re)),P(k),re=Y.pending,Y.pending===Y.pending_buf_size)){Z=1;break}Z=Y.gzindex<Y.gzhead.name.length?255&Y.gzhead.name.charCodeAt(Y.gzindex++):0,R(Y,Z)}while(Z!==0);Y.gzhead.hcrc&&Y.pending>re&&(k.adler=A(k.adler,Y.pending_buf,Y.pending-re,re)),Z===0&&(Y.gzindex=0,Y.status=91)}else Y.status=91;if(Y.status===91)if(Y.gzhead.comment){re=Y.pending;do{if(Y.pending===Y.pending_buf_size&&(Y.gzhead.hcrc&&Y.pending>re&&(k.adler=A(k.adler,Y.pending_buf,Y.pending-re,re)),P(k),re=Y.pending,Y.pending===Y.pending_buf_size)){Z=1;break}Z=Y.gzindex<Y.gzhead.comment.length?255&Y.gzhead.comment.charCodeAt(Y.gzindex++):0,R(Y,Z)}while(Z!==0);Y.gzhead.hcrc&&Y.pending>re&&(k.adler=A(k.adler,Y.pending_buf,Y.pending-re,re)),Z===0&&(Y.status=m)}else Y.status=m;if(Y.status===m&&(Y.gzhead.hcrc?(Y.pending+2>Y.pending_buf_size&&P(k),Y.pending+2<=Y.pending_buf_size&&(R(Y,255&k.adler),R(Y,k.adler>>8&255),k.adler=0,Y.status=w)):Y.status=w),Y.pending!==0){if(P(k),k.avail_out===0)return Y.last_flush=-1,0}else if(k.avail_in===0&&C(W)<=C(z)&&W!==4)return v(k,-5);if(Y.status===y&&k.avail_in!==0)return v(k,-5);if(k.avail_in!==0||Y.lookahead!==0||W!==0&&Y.status!==y){var Ae=Y.strategy===2?function(pe,me){for(var ne;;){if(pe.lookahead===0&&(B(pe),pe.lookahead===0)){if(me===0)return 1;break}if(pe.match_length=0,ne=d._tr_tally(pe,0,pe.window[pe.strstart]),pe.lookahead--,pe.strstart++,ne&&(I(pe,!1),pe.strm.avail_out===0))return 1}return pe.insert=0,me===4?(I(pe,!0),pe.strm.avail_out===0?3:4):pe.last_lit&&(I(pe,!1),pe.strm.avail_out===0)?1:2}(Y,W):Y.strategy===3?function(pe,me){for(var ne,J,ce,$,Ce=pe.window;;){if(pe.lookahead<=g){if(B(pe),pe.lookahead<=g&&me===0)return 1;if(pe.lookahead===0)break}if(pe.match_length=0,pe.lookahead>=3&&pe.strstart>0&&(J=Ce[ce=pe.strstart-1])===Ce[++ce]&&J===Ce[++ce]&&J===Ce[++ce]){$=pe.strstart+g;do;while(J===Ce[++ce]&&J===Ce[++ce]&&J===Ce[++ce]&&J===Ce[++ce]&&J===Ce[++ce]&&J===Ce[++ce]&&J===Ce[++ce]&&J===Ce[++ce]&&ce<$);pe.match_length=g-($-ce),pe.match_length>pe.lookahead&&(pe.match_length=pe.lookahead)}if(pe.match_length>=3?(ne=d._tr_tally(pe,1,pe.match_length-3),pe.lookahead-=pe.match_length,pe.strstart+=pe.match_length,pe.match_length=0):(ne=d._tr_tally(pe,0,pe.window[pe.strstart]),pe.lookahead--,pe.strstart++),ne&&(I(pe,!1),pe.strm.avail_out===0))return 1}return pe.insert=0,me===4?(I(pe,!0),pe.strm.avail_out===0?3:4):pe.last_lit&&(I(pe,!1),pe.strm.avail_out===0)?1:2}(Y,W):h[Y.level].func(Y,W);if(Ae!==3&&Ae!==4||(Y.status=y),Ae===1||Ae===3)return k.avail_out===0&&(Y.last_flush=-1),0;if(Ae===2&&(W===1?d._tr_align(Y):W!==5&&(d._tr_stored_block(Y,0,0,!1),W===3&&(E(Y.head),Y.lookahead===0&&(Y.strstart=0,Y.block_start=0,Y.insert=0))),P(k),k.avail_out===0))return Y.last_flush=-1,0}return W!==4?0:Y.wrap<=0?1:(Y.wrap===2?(R(Y,255&k.adler),R(Y,k.adler>>8&255),R(Y,k.adler>>16&255),R(Y,k.adler>>24&255),R(Y,255&k.total_in),R(Y,k.total_in>>8&255),R(Y,k.total_in>>16&255),R(Y,k.total_in>>24&255)):(D(Y,k.adler>>>16),D(Y,65535&k.adler)),P(k),Y.wrap>0&&(Y.wrap=-Y.wrap),Y.pending!==0?0:1)},o.deflateEnd=function(k){var W;return k&&k.state?(W=k.state.status)!==42&&W!==69&&W!==73&&W!==91&&W!==m&&W!==w&&W!==y?v(k,p):(k.state=null,W===w?v(k,-3):0):p},o.deflateSetDictionary=function(k,W){var z,Y,re,Z,le,Ae,pe,me,ne=W.length;if(!k||!k.state||(Z=(z=k.state).wrap)===2||Z===1&&z.status!==42||z.lookahead)return p;for(Z===1&&(k.adler=u(k.adler,W,ne,0)),z.wrap=0,ne>=z.w_size&&(Z===0&&(E(z.head),z.strstart=0,z.block_start=0,z.insert=0),me=new c.Buf8(z.w_size),c.arraySet(me,W,ne-z.w_size,z.w_size,0),W=me,ne=z.w_size),le=k.avail_in,Ae=k.next_in,pe=k.input,k.avail_in=ne,k.next_in=0,k.input=W,B(z);z.lookahead>=3;){Y=z.strstart,re=z.lookahead-2;do z.ins_h=(z.ins_h<<z.hash_shift^z.window[Y+3-1])&z.hash_mask,z.prev[Y&z.w_mask]=z.head[z.ins_h],z.head[z.ins_h]=Y,Y++;while(--re);z.strstart=Y,z.lookahead=2,B(z)}return z.strstart+=z.lookahead,z.block_start=z.strstart,z.insert=z.lookahead,z.lookahead=0,z.match_length=z.prev_length=2,z.match_available=0,k.next_in=Ae,k.input=pe,k.avail_in=le,z.wrap=Z,0},o.deflateInfo="pako deflate (from Nodeca project)"},2401:n=>{n.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},4264:n=>{n.exports=function(o,l){var h,c,d,u,A,f,p,g,_,m,w,y,v,C,E,P,I,R,D,S,B,b,L,V,U;h=o.state,c=o.next_in,V=o.input,d=c+(o.avail_in-5),u=o.next_out,U=o.output,A=u-(l-o.avail_out),f=u+(o.avail_out-257),p=h.dmax,g=h.wsize,_=h.whave,m=h.wnext,w=h.window,y=h.hold,v=h.bits,C=h.lencode,E=h.distcode,P=(1<<h.lenbits)-1,I=(1<<h.distbits)-1;e:do{v<15&&(y+=V[c++]<<v,v+=8,y+=V[c++]<<v,v+=8),R=C[y&P];t:for(;;){if(y>>>=D=R>>>24,v-=D,(D=R>>>16&255)==0)U[u++]=65535&R;else{if(!(16&D)){if(!(64&D)){R=C[(65535&R)+(y&(1<<D)-1)];continue t}if(32&D){h.mode=12;break e}o.msg="invalid literal/length code",h.mode=30;break e}S=65535&R,(D&=15)&&(v<D&&(y+=V[c++]<<v,v+=8),S+=y&(1<<D)-1,y>>>=D,v-=D),v<15&&(y+=V[c++]<<v,v+=8,y+=V[c++]<<v,v+=8),R=E[y&I];i:for(;;){if(y>>>=D=R>>>24,v-=D,!(16&(D=R>>>16&255))){if(!(64&D)){R=E[(65535&R)+(y&(1<<D)-1)];continue i}o.msg="invalid distance code",h.mode=30;break e}if(B=65535&R,v<(D&=15)&&(y+=V[c++]<<v,(v+=8)<D&&(y+=V[c++]<<v,v+=8)),(B+=y&(1<<D)-1)>p){o.msg="invalid distance too far back",h.mode=30;break e}if(y>>>=D,v-=D,B>(D=u-A)){if((D=B-D)>_&&h.sane){o.msg="invalid distance too far back",h.mode=30;break e}if(b=0,L=w,m===0){if(b+=g-D,D<S){S-=D;do U[u++]=w[b++];while(--D);b=u-B,L=U}}else if(m<D){if(b+=g+m-D,(D-=m)<S){S-=D;do U[u++]=w[b++];while(--D);if(b=0,m<S){S-=D=m;do U[u++]=w[b++];while(--D);b=u-B,L=U}}}else if(b+=m-D,D<S){S-=D;do U[u++]=w[b++];while(--D);b=u-B,L=U}for(;S>2;)U[u++]=L[b++],U[u++]=L[b++],U[u++]=L[b++],S-=3;S&&(U[u++]=L[b++],S>1&&(U[u++]=L[b++]))}else{b=u-B;do U[u++]=U[b++],U[u++]=U[b++],U[u++]=U[b++],S-=3;while(S>2);S&&(U[u++]=U[b++],S>1&&(U[u++]=U[b++]))}break}}break}}while(c<d&&u<f);c-=S=v>>3,y&=(1<<(v-=S<<3))-1,o.next_in=c,o.next_out=u,o.avail_in=c<d?d-c+5:5-(c-d),o.avail_out=u<f?f-u+257:257-(u-f),h.hold=y,h.bits=v}},7948:(n,o,l)=>{var h=l(4236),c=l(6069),d=l(2869),u=l(4264),A=l(9241),f=-2,p=12,g=30;function _(S){return(S>>>24&255)+(S>>>8&65280)+((65280&S)<<8)+((255&S)<<24)}function m(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new h.Buf16(320),this.work=new h.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function w(S){var B;return S&&S.state?(B=S.state,S.total_in=S.total_out=B.total=0,S.msg="",B.wrap&&(S.adler=1&B.wrap),B.mode=1,B.last=0,B.havedict=0,B.dmax=32768,B.head=null,B.hold=0,B.bits=0,B.lencode=B.lendyn=new h.Buf32(852),B.distcode=B.distdyn=new h.Buf32(592),B.sane=1,B.back=-1,0):f}function y(S){var B;return S&&S.state?((B=S.state).wsize=0,B.whave=0,B.wnext=0,w(S)):f}function v(S,B){var b,L;return S&&S.state?(L=S.state,B<0?(b=0,B=-B):(b=1+(B>>4),B<48&&(B&=15)),B&&(B<8||B>15)?f:(L.window!==null&&L.wbits!==B&&(L.window=null),L.wrap=b,L.wbits=B,y(S))):f}function C(S,B){var b,L;return S?(L=new m,S.state=L,L.window=null,(b=v(S,B))!==0&&(S.state=null),b):f}var E,P,I=!0;function R(S){if(I){var B;for(E=new h.Buf32(512),P=new h.Buf32(32),B=0;B<144;)S.lens[B++]=8;for(;B<256;)S.lens[B++]=9;for(;B<280;)S.lens[B++]=7;for(;B<288;)S.lens[B++]=8;for(A(1,S.lens,0,288,E,0,S.work,{bits:9}),B=0;B<32;)S.lens[B++]=5;A(2,S.lens,0,32,P,0,S.work,{bits:5}),I=!1}S.lencode=E,S.lenbits=9,S.distcode=P,S.distbits=5}function D(S,B,b,L){var V,U=S.state;return U.window===null&&(U.wsize=1<<U.wbits,U.wnext=0,U.whave=0,U.window=new h.Buf8(U.wsize)),L>=U.wsize?(h.arraySet(U.window,B,b-U.wsize,U.wsize,0),U.wnext=0,U.whave=U.wsize):((V=U.wsize-U.wnext)>L&&(V=L),h.arraySet(U.window,B,b-L,V,U.wnext),(L-=V)?(h.arraySet(U.window,B,b-L,L,0),U.wnext=L,U.whave=U.wsize):(U.wnext+=V,U.wnext===U.wsize&&(U.wnext=0),U.whave<U.wsize&&(U.whave+=V))),0}o.inflateReset=y,o.inflateReset2=v,o.inflateResetKeep=w,o.inflateInit=function(S){return C(S,15)},o.inflateInit2=C,o.inflate=function(S,B){var b,L,V,U,K,j,ae,k,W,z,Y,re,Z,le,Ae,pe,me,ne,J,ce,$,Ce,Re,we,ge=0,ye=new h.Buf8(4),Ve=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!S||!S.state||!S.output||!S.input&&S.avail_in!==0)return f;(b=S.state).mode===p&&(b.mode=13),K=S.next_out,V=S.output,ae=S.avail_out,U=S.next_in,L=S.input,j=S.avail_in,k=b.hold,W=b.bits,z=j,Y=ae,Ce=0;e:for(;;)switch(b.mode){case 1:if(b.wrap===0){b.mode=13;break}for(;W<16;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(2&b.wrap&&k===35615){b.check=0,ye[0]=255&k,ye[1]=k>>>8&255,b.check=d(b.check,ye,2,0),k=0,W=0,b.mode=2;break}if(b.flags=0,b.head&&(b.head.done=!1),!(1&b.wrap)||(((255&k)<<8)+(k>>8))%31){S.msg="incorrect header check",b.mode=g;break}if((15&k)!=8){S.msg="unknown compression method",b.mode=g;break}if(W-=4,$=8+(15&(k>>>=4)),b.wbits===0)b.wbits=$;else if($>b.wbits){S.msg="invalid window size",b.mode=g;break}b.dmax=1<<$,S.adler=b.check=1,b.mode=512&k?10:p,k=0,W=0;break;case 2:for(;W<16;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(b.flags=k,(255&b.flags)!=8){S.msg="unknown compression method",b.mode=g;break}if(57344&b.flags){S.msg="unknown header flags set",b.mode=g;break}b.head&&(b.head.text=k>>8&1),512&b.flags&&(ye[0]=255&k,ye[1]=k>>>8&255,b.check=d(b.check,ye,2,0)),k=0,W=0,b.mode=3;case 3:for(;W<32;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}b.head&&(b.head.time=k),512&b.flags&&(ye[0]=255&k,ye[1]=k>>>8&255,ye[2]=k>>>16&255,ye[3]=k>>>24&255,b.check=d(b.check,ye,4,0)),k=0,W=0,b.mode=4;case 4:for(;W<16;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}b.head&&(b.head.xflags=255&k,b.head.os=k>>8),512&b.flags&&(ye[0]=255&k,ye[1]=k>>>8&255,b.check=d(b.check,ye,2,0)),k=0,W=0,b.mode=5;case 5:if(1024&b.flags){for(;W<16;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}b.length=k,b.head&&(b.head.extra_len=k),512&b.flags&&(ye[0]=255&k,ye[1]=k>>>8&255,b.check=d(b.check,ye,2,0)),k=0,W=0}else b.head&&(b.head.extra=null);b.mode=6;case 6:if(1024&b.flags&&((re=b.length)>j&&(re=j),re&&(b.head&&($=b.head.extra_len-b.length,b.head.extra||(b.head.extra=new Array(b.head.extra_len)),h.arraySet(b.head.extra,L,U,re,$)),512&b.flags&&(b.check=d(b.check,L,re,U)),j-=re,U+=re,b.length-=re),b.length))break e;b.length=0,b.mode=7;case 7:if(2048&b.flags){if(j===0)break e;re=0;do $=L[U+re++],b.head&&$&&b.length<65536&&(b.head.name+=String.fromCharCode($));while($&&re<j);if(512&b.flags&&(b.check=d(b.check,L,re,U)),j-=re,U+=re,$)break e}else b.head&&(b.head.name=null);b.length=0,b.mode=8;case 8:if(4096&b.flags){if(j===0)break e;re=0;do $=L[U+re++],b.head&&$&&b.length<65536&&(b.head.comment+=String.fromCharCode($));while($&&re<j);if(512&b.flags&&(b.check=d(b.check,L,re,U)),j-=re,U+=re,$)break e}else b.head&&(b.head.comment=null);b.mode=9;case 9:if(512&b.flags){for(;W<16;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(k!==(65535&b.check)){S.msg="header crc mismatch",b.mode=g;break}k=0,W=0}b.head&&(b.head.hcrc=b.flags>>9&1,b.head.done=!0),S.adler=b.check=0,b.mode=p;break;case 10:for(;W<32;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}S.adler=b.check=_(k),k=0,W=0,b.mode=11;case 11:if(b.havedict===0)return S.next_out=K,S.avail_out=ae,S.next_in=U,S.avail_in=j,b.hold=k,b.bits=W,2;S.adler=b.check=1,b.mode=p;case p:if(B===5||B===6)break e;case 13:if(b.last){k>>>=7&W,W-=7&W,b.mode=27;break}for(;W<3;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}switch(b.last=1&k,W-=1,3&(k>>>=1)){case 0:b.mode=14;break;case 1:if(R(b),b.mode=20,B===6){k>>>=2,W-=2;break e}break;case 2:b.mode=17;break;case 3:S.msg="invalid block type",b.mode=g}k>>>=2,W-=2;break;case 14:for(k>>>=7&W,W-=7&W;W<32;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if((65535&k)!=(k>>>16^65535)){S.msg="invalid stored block lengths",b.mode=g;break}if(b.length=65535&k,k=0,W=0,b.mode=15,B===6)break e;case 15:b.mode=16;case 16:if(re=b.length){if(re>j&&(re=j),re>ae&&(re=ae),re===0)break e;h.arraySet(V,L,U,re,K),j-=re,U+=re,ae-=re,K+=re,b.length-=re;break}b.mode=p;break;case 17:for(;W<14;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(b.nlen=257+(31&k),k>>>=5,W-=5,b.ndist=1+(31&k),k>>>=5,W-=5,b.ncode=4+(15&k),k>>>=4,W-=4,b.nlen>286||b.ndist>30){S.msg="too many length or distance symbols",b.mode=g;break}b.have=0,b.mode=18;case 18:for(;b.have<b.ncode;){for(;W<3;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}b.lens[Ve[b.have++]]=7&k,k>>>=3,W-=3}for(;b.have<19;)b.lens[Ve[b.have++]]=0;if(b.lencode=b.lendyn,b.lenbits=7,Re={bits:b.lenbits},Ce=A(0,b.lens,0,19,b.lencode,0,b.work,Re),b.lenbits=Re.bits,Ce){S.msg="invalid code lengths set",b.mode=g;break}b.have=0,b.mode=19;case 19:for(;b.have<b.nlen+b.ndist;){for(;pe=(ge=b.lencode[k&(1<<b.lenbits)-1])>>>16&255,me=65535&ge,!((Ae=ge>>>24)<=W);){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(me<16)k>>>=Ae,W-=Ae,b.lens[b.have++]=me;else{if(me===16){for(we=Ae+2;W<we;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(k>>>=Ae,W-=Ae,b.have===0){S.msg="invalid bit length repeat",b.mode=g;break}$=b.lens[b.have-1],re=3+(3&k),k>>>=2,W-=2}else if(me===17){for(we=Ae+3;W<we;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}W-=Ae,$=0,re=3+(7&(k>>>=Ae)),k>>>=3,W-=3}else{for(we=Ae+7;W<we;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}W-=Ae,$=0,re=11+(127&(k>>>=Ae)),k>>>=7,W-=7}if(b.have+re>b.nlen+b.ndist){S.msg="invalid bit length repeat",b.mode=g;break}for(;re--;)b.lens[b.have++]=$}}if(b.mode===g)break;if(b.lens[256]===0){S.msg="invalid code -- missing end-of-block",b.mode=g;break}if(b.lenbits=9,Re={bits:b.lenbits},Ce=A(1,b.lens,0,b.nlen,b.lencode,0,b.work,Re),b.lenbits=Re.bits,Ce){S.msg="invalid literal/lengths set",b.mode=g;break}if(b.distbits=6,b.distcode=b.distdyn,Re={bits:b.distbits},Ce=A(2,b.lens,b.nlen,b.ndist,b.distcode,0,b.work,Re),b.distbits=Re.bits,Ce){S.msg="invalid distances set",b.mode=g;break}if(b.mode=20,B===6)break e;case 20:b.mode=21;case 21:if(j>=6&&ae>=258){S.next_out=K,S.avail_out=ae,S.next_in=U,S.avail_in=j,b.hold=k,b.bits=W,u(S,Y),K=S.next_out,V=S.output,ae=S.avail_out,U=S.next_in,L=S.input,j=S.avail_in,k=b.hold,W=b.bits,b.mode===p&&(b.back=-1);break}for(b.back=0;pe=(ge=b.lencode[k&(1<<b.lenbits)-1])>>>16&255,me=65535&ge,!((Ae=ge>>>24)<=W);){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(pe&&!(240&pe)){for(ne=Ae,J=pe,ce=me;pe=(ge=b.lencode[ce+((k&(1<<ne+J)-1)>>ne)])>>>16&255,me=65535&ge,!(ne+(Ae=ge>>>24)<=W);){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}k>>>=ne,W-=ne,b.back+=ne}if(k>>>=Ae,W-=Ae,b.back+=Ae,b.length=me,pe===0){b.mode=26;break}if(32&pe){b.back=-1,b.mode=p;break}if(64&pe){S.msg="invalid literal/length code",b.mode=g;break}b.extra=15&pe,b.mode=22;case 22:if(b.extra){for(we=b.extra;W<we;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}b.length+=k&(1<<b.extra)-1,k>>>=b.extra,W-=b.extra,b.back+=b.extra}b.was=b.length,b.mode=23;case 23:for(;pe=(ge=b.distcode[k&(1<<b.distbits)-1])>>>16&255,me=65535&ge,!((Ae=ge>>>24)<=W);){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(!(240&pe)){for(ne=Ae,J=pe,ce=me;pe=(ge=b.distcode[ce+((k&(1<<ne+J)-1)>>ne)])>>>16&255,me=65535&ge,!(ne+(Ae=ge>>>24)<=W);){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}k>>>=ne,W-=ne,b.back+=ne}if(k>>>=Ae,W-=Ae,b.back+=Ae,64&pe){S.msg="invalid distance code",b.mode=g;break}b.offset=me,b.extra=15&pe,b.mode=24;case 24:if(b.extra){for(we=b.extra;W<we;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}b.offset+=k&(1<<b.extra)-1,k>>>=b.extra,W-=b.extra,b.back+=b.extra}if(b.offset>b.dmax){S.msg="invalid distance too far back",b.mode=g;break}b.mode=25;case 25:if(ae===0)break e;if(re=Y-ae,b.offset>re){if((re=b.offset-re)>b.whave&&b.sane){S.msg="invalid distance too far back",b.mode=g;break}re>b.wnext?(re-=b.wnext,Z=b.wsize-re):Z=b.wnext-re,re>b.length&&(re=b.length),le=b.window}else le=V,Z=K-b.offset,re=b.length;re>ae&&(re=ae),ae-=re,b.length-=re;do V[K++]=le[Z++];while(--re);b.length===0&&(b.mode=21);break;case 26:if(ae===0)break e;V[K++]=b.length,ae--,b.mode=21;break;case 27:if(b.wrap){for(;W<32;){if(j===0)break e;j--,k|=L[U++]<<W,W+=8}if(Y-=ae,S.total_out+=Y,b.total+=Y,Y&&(S.adler=b.check=b.flags?d(b.check,V,Y,K-Y):c(b.check,V,Y,K-Y)),Y=ae,(b.flags?k:_(k))!==b.check){S.msg="incorrect data check",b.mode=g;break}k=0,W=0}b.mode=28;case 28:if(b.wrap&&b.flags){for(;W<32;){if(j===0)break e;j--,k+=L[U++]<<W,W+=8}if(k!==(4294967295&b.total)){S.msg="incorrect length check",b.mode=g;break}k=0,W=0}b.mode=29;case 29:Ce=1;break e;case g:Ce=-3;break e;case 31:return-4;default:return f}return S.next_out=K,S.avail_out=ae,S.next_in=U,S.avail_in=j,b.hold=k,b.bits=W,(b.wsize||Y!==S.avail_out&&b.mode<g&&(b.mode<27||B!==4))&&D(S,S.output,S.next_out,Y-S.avail_out)?(b.mode=31,-4):(z-=S.avail_in,Y-=S.avail_out,S.total_in+=z,S.total_out+=Y,b.total+=Y,b.wrap&&Y&&(S.adler=b.check=b.flags?d(b.check,V,Y,S.next_out-Y):c(b.check,V,Y,S.next_out-Y)),S.data_type=b.bits+(b.last?64:0)+(b.mode===p?128:0)+(b.mode===20||b.mode===15?256:0),(z===0&&Y===0||B===4)&&Ce===0&&(Ce=-5),Ce)},o.inflateEnd=function(S){if(!S||!S.state)return f;var B=S.state;return B.window&&(B.window=null),S.state=null,0},o.inflateGetHeader=function(S,B){var b;return S&&S.state&&2&(b=S.state).wrap?(b.head=B,B.done=!1,0):f},o.inflateSetDictionary=function(S,B){var b,L=B.length;return S&&S.state?(b=S.state).wrap!==0&&b.mode!==11?f:b.mode===11&&c(1,B,L,0)!==b.check?-3:D(S,B,L,L)?(b.mode=31,-4):(b.havedict=1,0):f},o.inflateInfo="pako inflate (from Nodeca project)"},9241:(n,o,l)=>{var h=l(4236),c=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],d=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],u=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],A=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];n.exports=function(f,p,g,_,m,w,y,v){var C,E,P,I,R,D,S,B,b,L=v.bits,V=0,U=0,K=0,j=0,ae=0,k=0,W=0,z=0,Y=0,re=0,Z=null,le=0,Ae=new h.Buf16(16),pe=new h.Buf16(16),me=null,ne=0;for(V=0;V<=15;V++)Ae[V]=0;for(U=0;U<_;U++)Ae[p[g+U]]++;for(ae=L,j=15;j>=1&&Ae[j]===0;j--);if(ae>j&&(ae=j),j===0)return m[w++]=20971520,m[w++]=20971520,v.bits=1,0;for(K=1;K<j&&Ae[K]===0;K++);for(ae<K&&(ae=K),z=1,V=1;V<=15;V++)if(z<<=1,(z-=Ae[V])<0)return-1;if(z>0&&(f===0||j!==1))return-1;for(pe[1]=0,V=1;V<15;V++)pe[V+1]=pe[V]+Ae[V];for(U=0;U<_;U++)p[g+U]!==0&&(y[pe[p[g+U]]++]=U);if(f===0?(Z=me=y,D=19):f===1?(Z=c,le-=257,me=d,ne-=257,D=256):(Z=u,me=A,D=-1),re=0,U=0,V=K,R=w,k=ae,W=0,P=-1,I=(Y=1<<ae)-1,f===1&&Y>852||f===2&&Y>592)return 1;for(;;){S=V-W,y[U]<D?(B=0,b=y[U]):y[U]>D?(B=me[ne+y[U]],b=Z[le+y[U]]):(B=96,b=0),C=1<<V-W,K=E=1<<k;do m[R+(re>>W)+(E-=C)]=S<<24|B<<16|b|0;while(E!==0);for(C=1<<V-1;re&C;)C>>=1;if(C!==0?(re&=C-1,re+=C):re=0,U++,--Ae[V]==0){if(V===j)break;V=p[g+y[U]]}if(V>ae&&(re&I)!==P){for(W===0&&(W=ae),R+=K,z=1<<(k=V-W);k+W<j&&!((z-=Ae[k+W])<=0);)k++,z<<=1;if(Y+=1<<k,f===1&&Y>852||f===2&&Y>592)return 1;m[P=re&I]=ae<<24|k<<16|R-w|0}}return re!==0&&(m[R+re]=V-W<<24|4194304|0),v.bits=ae,0}},8898:n=>{n.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},342:(n,o,l)=>{var h=l(4236);function c(Z){for(var le=Z.length;--le>=0;)Z[le]=0}var d=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],p=new Array(576);c(p);var g=new Array(60);c(g);var _=new Array(512);c(_);var m=new Array(256);c(m);var w=new Array(29);c(w);var y,v,C,E=new Array(30);function P(Z,le,Ae,pe,me){this.static_tree=Z,this.extra_bits=le,this.extra_base=Ae,this.elems=pe,this.max_length=me,this.has_stree=Z&&Z.length}function I(Z,le){this.dyn_tree=Z,this.max_code=0,this.stat_desc=le}function R(Z){return Z<256?_[Z]:_[256+(Z>>>7)]}function D(Z,le){Z.pending_buf[Z.pending++]=255&le,Z.pending_buf[Z.pending++]=le>>>8&255}function S(Z,le,Ae){Z.bi_valid>16-Ae?(Z.bi_buf|=le<<Z.bi_valid&65535,D(Z,Z.bi_buf),Z.bi_buf=le>>16-Z.bi_valid,Z.bi_valid+=Ae-16):(Z.bi_buf|=le<<Z.bi_valid&65535,Z.bi_valid+=Ae)}function B(Z,le,Ae){S(Z,Ae[2*le],Ae[2*le+1])}function b(Z,le){var Ae=0;do Ae|=1&Z,Z>>>=1,Ae<<=1;while(--le>0);return Ae>>>1}function L(Z,le,Ae){var pe,me,ne=new Array(16),J=0;for(pe=1;pe<=15;pe++)ne[pe]=J=J+Ae[pe-1]<<1;for(me=0;me<=le;me++){var ce=Z[2*me+1];ce!==0&&(Z[2*me]=b(ne[ce]++,ce))}}function V(Z){var le;for(le=0;le<286;le++)Z.dyn_ltree[2*le]=0;for(le=0;le<30;le++)Z.dyn_dtree[2*le]=0;for(le=0;le<19;le++)Z.bl_tree[2*le]=0;Z.dyn_ltree[512]=1,Z.opt_len=Z.static_len=0,Z.last_lit=Z.matches=0}function U(Z){Z.bi_valid>8?D(Z,Z.bi_buf):Z.bi_valid>0&&(Z.pending_buf[Z.pending++]=Z.bi_buf),Z.bi_buf=0,Z.bi_valid=0}function K(Z,le,Ae,pe){var me=2*le,ne=2*Ae;return Z[me]<Z[ne]||Z[me]===Z[ne]&&pe[le]<=pe[Ae]}function j(Z,le,Ae){for(var pe=Z.heap[Ae],me=Ae<<1;me<=Z.heap_len&&(me<Z.heap_len&&K(le,Z.heap[me+1],Z.heap[me],Z.depth)&&me++,!K(le,pe,Z.heap[me],Z.depth));)Z.heap[Ae]=Z.heap[me],Ae=me,me<<=1;Z.heap[Ae]=pe}function ae(Z,le,Ae){var pe,me,ne,J,ce=0;if(Z.last_lit!==0)do pe=Z.pending_buf[Z.d_buf+2*ce]<<8|Z.pending_buf[Z.d_buf+2*ce+1],me=Z.pending_buf[Z.l_buf+ce],ce++,pe===0?B(Z,me,le):(B(Z,(ne=m[me])+256+1,le),(J=d[ne])!==0&&S(Z,me-=w[ne],J),B(Z,ne=R(--pe),Ae),(J=u[ne])!==0&&S(Z,pe-=E[ne],J));while(ce<Z.last_lit);B(Z,256,le)}function k(Z,le){var Ae,pe,me,ne=le.dyn_tree,J=le.stat_desc.static_tree,ce=le.stat_desc.has_stree,$=le.stat_desc.elems,Ce=-1;for(Z.heap_len=0,Z.heap_max=573,Ae=0;Ae<$;Ae++)ne[2*Ae]!==0?(Z.heap[++Z.heap_len]=Ce=Ae,Z.depth[Ae]=0):ne[2*Ae+1]=0;for(;Z.heap_len<2;)ne[2*(me=Z.heap[++Z.heap_len]=Ce<2?++Ce:0)]=1,Z.depth[me]=0,Z.opt_len--,ce&&(Z.static_len-=J[2*me+1]);for(le.max_code=Ce,Ae=Z.heap_len>>1;Ae>=1;Ae--)j(Z,ne,Ae);me=$;do Ae=Z.heap[1],Z.heap[1]=Z.heap[Z.heap_len--],j(Z,ne,1),pe=Z.heap[1],Z.heap[--Z.heap_max]=Ae,Z.heap[--Z.heap_max]=pe,ne[2*me]=ne[2*Ae]+ne[2*pe],Z.depth[me]=(Z.depth[Ae]>=Z.depth[pe]?Z.depth[Ae]:Z.depth[pe])+1,ne[2*Ae+1]=ne[2*pe+1]=me,Z.heap[1]=me++,j(Z,ne,1);while(Z.heap_len>=2);Z.heap[--Z.heap_max]=Z.heap[1],function(Re,we){var ge,ye,Ve,Oe,De,Ke,q=we.dyn_tree,ie=we.max_code,oe=we.stat_desc.static_tree,be=we.stat_desc.has_stree,Pe=we.stat_desc.extra_bits,Me=we.stat_desc.extra_base,ze=we.stat_desc.max_length,dt=0;for(Oe=0;Oe<=15;Oe++)Re.bl_count[Oe]=0;for(q[2*Re.heap[Re.heap_max]+1]=0,ge=Re.heap_max+1;ge<573;ge++)(Oe=q[2*q[2*(ye=Re.heap[ge])+1]+1]+1)>ze&&(Oe=ze,dt++),q[2*ye+1]=Oe,ye>ie||(Re.bl_count[Oe]++,De=0,ye>=Me&&(De=Pe[ye-Me]),Ke=q[2*ye],Re.opt_len+=Ke*(Oe+De),be&&(Re.static_len+=Ke*(oe[2*ye+1]+De)));if(dt!==0){do{for(Oe=ze-1;Re.bl_count[Oe]===0;)Oe--;Re.bl_count[Oe]--,Re.bl_count[Oe+1]+=2,Re.bl_count[ze]--,dt-=2}while(dt>0);for(Oe=ze;Oe!==0;Oe--)for(ye=Re.bl_count[Oe];ye!==0;)(Ve=Re.heap[--ge])>ie||(q[2*Ve+1]!==Oe&&(Re.opt_len+=(Oe-q[2*Ve+1])*q[2*Ve],q[2*Ve+1]=Oe),ye--)}}(Z,le),L(ne,Ce,Z.bl_count)}function W(Z,le,Ae){var pe,me,ne=-1,J=le[1],ce=0,$=7,Ce=4;for(J===0&&($=138,Ce=3),le[2*(Ae+1)+1]=65535,pe=0;pe<=Ae;pe++)me=J,J=le[2*(pe+1)+1],++ce<$&&me===J||(ce<Ce?Z.bl_tree[2*me]+=ce:me!==0?(me!==ne&&Z.bl_tree[2*me]++,Z.bl_tree[32]++):ce<=10?Z.bl_tree[34]++:Z.bl_tree[36]++,ce=0,ne=me,J===0?($=138,Ce=3):me===J?($=6,Ce=3):($=7,Ce=4))}function z(Z,le,Ae){var pe,me,ne=-1,J=le[1],ce=0,$=7,Ce=4;for(J===0&&($=138,Ce=3),pe=0;pe<=Ae;pe++)if(me=J,J=le[2*(pe+1)+1],!(++ce<$&&me===J)){if(ce<Ce)do B(Z,me,Z.bl_tree);while(--ce!=0);else me!==0?(me!==ne&&(B(Z,me,Z.bl_tree),ce--),B(Z,16,Z.bl_tree),S(Z,ce-3,2)):ce<=10?(B(Z,17,Z.bl_tree),S(Z,ce-3,3)):(B(Z,18,Z.bl_tree),S(Z,ce-11,7));ce=0,ne=me,J===0?($=138,Ce=3):me===J?($=6,Ce=3):($=7,Ce=4)}}c(E);var Y=!1;function re(Z,le,Ae,pe){S(Z,0+(pe?1:0),3),function(me,ne,J,ce){U(me),D(me,J),D(me,~J),h.arraySet(me.pending_buf,me.window,ne,J,me.pending),me.pending+=J}(Z,le,Ae)}o._tr_init=function(Z){Y||(function(){var le,Ae,pe,me,ne,J=new Array(16);for(pe=0,me=0;me<28;me++)for(w[me]=pe,le=0;le<1<<d[me];le++)m[pe++]=me;for(m[pe-1]=me,ne=0,me=0;me<16;me++)for(E[me]=ne,le=0;le<1<<u[me];le++)_[ne++]=me;for(ne>>=7;me<30;me++)for(E[me]=ne<<7,le=0;le<1<<u[me]-7;le++)_[256+ne++]=me;for(Ae=0;Ae<=15;Ae++)J[Ae]=0;for(le=0;le<=143;)p[2*le+1]=8,le++,J[8]++;for(;le<=255;)p[2*le+1]=9,le++,J[9]++;for(;le<=279;)p[2*le+1]=7,le++,J[7]++;for(;le<=287;)p[2*le+1]=8,le++,J[8]++;for(L(p,287,J),le=0;le<30;le++)g[2*le+1]=5,g[2*le]=b(le,5);y=new P(p,d,257,286,15),v=new P(g,u,0,30,15),C=new P(new Array(0),A,0,19,7)}(),Y=!0),Z.l_desc=new I(Z.dyn_ltree,y),Z.d_desc=new I(Z.dyn_dtree,v),Z.bl_desc=new I(Z.bl_tree,C),Z.bi_buf=0,Z.bi_valid=0,V(Z)},o._tr_stored_block=re,o._tr_flush_block=function(Z,le,Ae,pe){var me,ne,J=0;Z.level>0?(Z.strm.data_type===2&&(Z.strm.data_type=function(ce){var $,Ce=4093624447;for($=0;$<=31;$++,Ce>>>=1)if(1&Ce&&ce.dyn_ltree[2*$]!==0)return 0;if(ce.dyn_ltree[18]!==0||ce.dyn_ltree[20]!==0||ce.dyn_ltree[26]!==0)return 1;for($=32;$<256;$++)if(ce.dyn_ltree[2*$]!==0)return 1;return 0}(Z)),k(Z,Z.l_desc),k(Z,Z.d_desc),J=function(ce){var $;for(W(ce,ce.dyn_ltree,ce.l_desc.max_code),W(ce,ce.dyn_dtree,ce.d_desc.max_code),k(ce,ce.bl_desc),$=18;$>=3&&ce.bl_tree[2*f[$]+1]===0;$--);return ce.opt_len+=3*($+1)+5+5+4,$}(Z),me=Z.opt_len+3+7>>>3,(ne=Z.static_len+3+7>>>3)<=me&&(me=ne)):me=ne=Ae+5,Ae+4<=me&&le!==-1?re(Z,le,Ae,pe):Z.strategy===4||ne===me?(S(Z,2+(pe?1:0),3),ae(Z,p,g)):(S(Z,4+(pe?1:0),3),function(ce,$,Ce,Re){var we;for(S(ce,$-257,5),S(ce,Ce-1,5),S(ce,Re-4,4),we=0;we<Re;we++)S(ce,ce.bl_tree[2*f[we]+1],3);z(ce,ce.dyn_ltree,$-1),z(ce,ce.dyn_dtree,Ce-1)}(Z,Z.l_desc.max_code+1,Z.d_desc.max_code+1,J+1),ae(Z,Z.dyn_ltree,Z.dyn_dtree)),V(Z),pe&&U(Z)},o._tr_tally=function(Z,le,Ae){return Z.pending_buf[Z.d_buf+2*Z.last_lit]=le>>>8&255,Z.pending_buf[Z.d_buf+2*Z.last_lit+1]=255&le,Z.pending_buf[Z.l_buf+Z.last_lit]=255&Ae,Z.last_lit++,le===0?Z.dyn_ltree[2*Ae]++:(Z.matches++,le--,Z.dyn_ltree[2*(m[Ae]+256+1)]++,Z.dyn_dtree[2*R(le)]++),Z.last_lit===Z.lit_bufsize-1},o._tr_align=function(Z){S(Z,2,3),B(Z,256,p),function(le){le.bi_valid===16?(D(le,le.bi_buf),le.bi_buf=0,le.bi_valid=0):le.bi_valid>=8&&(le.pending_buf[le.pending++]=255&le.bi_buf,le.bi_buf>>=8,le.bi_valid-=8)}(Z)}},2292:n=>{n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},4155:n=>{var o,l,h=n.exports={};function c(){throw new Error("setTimeout has not been defined")}function d(){throw new Error("clearTimeout has not been defined")}function u(v){if(o===setTimeout)return setTimeout(v,0);if((o===c||!o)&&setTimeout)return o=setTimeout,setTimeout(v,0);try{return o(v,0)}catch{try{return o.call(null,v,0)}catch{return o.call(this,v,0)}}}(function(){try{o=typeof setTimeout=="function"?setTimeout:c}catch{o=c}try{l=typeof clearTimeout=="function"?clearTimeout:d}catch{l=d}})();var A,f=[],p=!1,g=-1;function _(){p&&A&&(p=!1,A.length?f=A.concat(f):g=-1,f.length&&m())}function m(){if(!p){var v=u(_);p=!0;for(var C=f.length;C;){for(A=f,f=[];++g<C;)A&&A[g].run();g=-1,C=f.length}A=null,p=!1,function(E){if(l===clearTimeout)return clearTimeout(E);if((l===d||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(E);try{l(E)}catch{try{return l.call(null,E)}catch{return l.call(this,E)}}}(v)}}function w(v,C){this.fun=v,this.array=C}function y(){}h.nextTick=function(v){var C=new Array(arguments.length-1);if(arguments.length>1)for(var E=1;E<arguments.length;E++)C[E-1]=arguments[E];f.push(new w(v,C)),f.length!==1||p||u(m)},w.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=y,h.addListener=y,h.once=y,h.off=y,h.removeListener=y,h.removeAllListeners=y,h.emit=y,h.prependListener=y,h.prependOnceListener=y,h.listeners=function(v){return[]},h.binding=function(v){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(v){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},9509:(n,o,l)=>{var h=l(8764),c=h.Buffer;function d(A,f){for(var p in A)f[p]=A[p]}function u(A,f,p){return c(A,f,p)}c.from&&c.alloc&&c.allocUnsafe&&c.allocUnsafeSlow?n.exports=h:(d(h,o),o.Buffer=u),d(c,u),u.from=function(A,f,p){if(typeof A=="number")throw new TypeError("Argument must not be a number");return c(A,f,p)},u.alloc=function(A,f,p){if(typeof A!="number")throw new TypeError("Argument must be a number");var g=c(A);return f!==void 0?typeof p=="string"?g.fill(f,p):g.fill(f):g.fill(0),g},u.allocUnsafe=function(A){if(typeof A!="number")throw new TypeError("Argument must be a number");return c(A)},u.allocUnsafeSlow=function(A){if(typeof A!="number")throw new TypeError("Argument must be a number");return h.SlowBuffer(A)}},6099:(n,o,l)=>{(function(h){h.parser=function(ne,J){return new u(ne,J)},h.SAXParser=u,h.SAXStream=f,h.createStream=function(ne,J){return new f(ne,J)},h.MAX_BUFFER_LENGTH=65536;var c,d=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function u(ne,J){if(!(this instanceof u))return new u(ne,J);var ce=this;(function($){for(var Ce=0,Re=d.length;Ce<Re;Ce++)$[d[Ce]]=""})(ce),ce.q=ce.c="",ce.bufferCheckPosition=h.MAX_BUFFER_LENGTH,ce.opt=J||{},ce.opt.lowercase=ce.opt.lowercase||ce.opt.lowercasetags,ce.looseCase=ce.opt.lowercase?"toLowerCase":"toUpperCase",ce.tags=[],ce.closed=ce.closedRoot=ce.sawRoot=!1,ce.tag=ce.error=null,ce.strict=!!ne,ce.noscript=!(!ne&&!ce.opt.noscript),ce.state=b.BEGIN,ce.strictEntities=ce.opt.strictEntities,ce.ENTITIES=ce.strictEntities?Object.create(h.XML_ENTITIES):Object.create(h.ENTITIES),ce.attribList=[],ce.opt.xmlns&&(ce.ns=Object.create(_)),ce.trackPosition=ce.opt.position!==!1,ce.trackPosition&&(ce.position=ce.line=ce.column=0),V(ce,"onready")}h.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(ne){function J(){}return J.prototype=ne,new J}),Object.keys||(Object.keys=function(ne){var J=[];for(var ce in ne)ne.hasOwnProperty(ce)&&J.push(ce);return J}),u.prototype={end:function(){k(this)},write:function(ne){var J=this;if(this.error)throw this.error;if(J.closed)return ae(J,"Cannot write after close. Assign an onready handler.");if(ne===null)return k(J);typeof ne=="object"&&(ne=ne.toString());for(var ce=0,$="";$=me(ne,ce++),J.c=$,$;)switch(J.trackPosition&&(J.position++,$===`
|
|
95
95
|
`?(J.line++,J.column=0):J.column++),J.state){case b.BEGIN:if(J.state=b.BEGIN_WHITESPACE,$==="\uFEFF")continue;pe(J,$);continue;case b.BEGIN_WHITESPACE:pe(J,$);continue;case b.TEXT:if(J.sawRoot&&!J.closedRoot){for(var Ce=ce-1;$&&$!=="<"&&$!=="&";)($=me(ne,ce++))&&J.trackPosition&&(J.position++,$===`
|
|
96
96
|
`?(J.line++,J.column=0):J.column++);J.textNode+=ne.substring(Ce,ce-1)}$!=="<"||J.sawRoot&&J.closedRoot&&!J.strict?(C($)||J.sawRoot&&!J.closedRoot||W(J,"Text data outside of root node."),$==="&"?J.state=b.TEXT_ENTITY:J.textNode+=$):(J.state=b.OPEN_WAKA,J.startTagPosition=J.position);continue;case b.SCRIPT:$==="<"?J.state=b.SCRIPT_ENDING:J.script+=$;continue;case b.SCRIPT_ENDING:$==="/"?J.state=b.CLOSE_TAG:(J.script+="<"+$,J.state=b.SCRIPT);continue;case b.OPEN_WAKA:if($==="!")J.state=b.SGML_DECL,J.sgmlDecl="";else if(!C($))if(I(m,$))J.state=b.OPEN_TAG,J.tagName=$;else if($==="/")J.state=b.CLOSE_TAG,J.tagName="";else if($==="?")J.state=b.PROC_INST,J.procInstName=J.procInstBody="";else{if(W(J,"Unencoded <"),J.startTagPosition+1<J.position){var Re=J.position-J.startTagPosition;$=new Array(Re).join(" ")+$}J.textNode+="<"+$,J.state=b.TEXT}continue;case b.SGML_DECL:(J.sgmlDecl+$).toUpperCase()==="[CDATA["?(U(J,"onopencdata"),J.state=b.CDATA,J.sgmlDecl="",J.cdata=""):J.sgmlDecl+$==="--"?(J.state=b.COMMENT,J.comment="",J.sgmlDecl=""):(J.sgmlDecl+$).toUpperCase()==="DOCTYPE"?(J.state=b.DOCTYPE,(J.doctype||J.sawRoot)&&W(J,"Inappropriately located doctype declaration"),J.doctype="",J.sgmlDecl=""):$===">"?(U(J,"onsgmldeclaration",J.sgmlDecl),J.sgmlDecl="",J.state=b.TEXT):(E($)&&(J.state=b.SGML_DECL_QUOTED),J.sgmlDecl+=$);continue;case b.SGML_DECL_QUOTED:$===J.q&&(J.state=b.SGML_DECL,J.q=""),J.sgmlDecl+=$;continue;case b.DOCTYPE:$===">"?(J.state=b.TEXT,U(J,"ondoctype",J.doctype),J.doctype=!0):(J.doctype+=$,$==="["?J.state=b.DOCTYPE_DTD:E($)&&(J.state=b.DOCTYPE_QUOTED,J.q=$));continue;case b.DOCTYPE_QUOTED:J.doctype+=$,$===J.q&&(J.q="",J.state=b.DOCTYPE);continue;case b.DOCTYPE_DTD:J.doctype+=$,$==="]"?J.state=b.DOCTYPE:E($)&&(J.state=b.DOCTYPE_DTD_QUOTED,J.q=$);continue;case b.DOCTYPE_DTD_QUOTED:J.doctype+=$,$===J.q&&(J.state=b.DOCTYPE_DTD,J.q="");continue;case b.COMMENT:$==="-"?J.state=b.COMMENT_ENDING:J.comment+=$;continue;case b.COMMENT_ENDING:$==="-"?(J.state=b.COMMENT_ENDED,J.comment=j(J.opt,J.comment),J.comment&&U(J,"oncomment",J.comment),J.comment=""):(J.comment+="-"+$,J.state=b.COMMENT);continue;case b.COMMENT_ENDED:$!==">"?(W(J,"Malformed comment"),J.comment+="--"+$,J.state=b.COMMENT):J.state=b.TEXT;continue;case b.CDATA:$==="]"?J.state=b.CDATA_ENDING:J.cdata+=$;continue;case b.CDATA_ENDING:$==="]"?J.state=b.CDATA_ENDING_2:(J.cdata+="]"+$,J.state=b.CDATA);continue;case b.CDATA_ENDING_2:$===">"?(J.cdata&&U(J,"oncdata",J.cdata),U(J,"onclosecdata"),J.cdata="",J.state=b.TEXT):$==="]"?J.cdata+="]":(J.cdata+="]]"+$,J.state=b.CDATA);continue;case b.PROC_INST:$==="?"?J.state=b.PROC_INST_ENDING:C($)?J.state=b.PROC_INST_BODY:J.procInstName+=$;continue;case b.PROC_INST_BODY:if(!J.procInstBody&&C($))continue;$==="?"?J.state=b.PROC_INST_ENDING:J.procInstBody+=$;continue;case b.PROC_INST_ENDING:$===">"?(U(J,"onprocessinginstruction",{name:J.procInstName,body:J.procInstBody}),J.procInstName=J.procInstBody="",J.state=b.TEXT):(J.procInstBody+="?"+$,J.state=b.PROC_INST_BODY);continue;case b.OPEN_TAG:I(w,$)?J.tagName+=$:(z(J),$===">"?Z(J):$==="/"?J.state=b.OPEN_TAG_SLASH:(C($)||W(J,"Invalid character in tag name"),J.state=b.ATTRIB));continue;case b.OPEN_TAG_SLASH:$===">"?(Z(J,!0),le(J)):(W(J,"Forward-slash in opening tag not followed by >"),J.state=b.ATTRIB);continue;case b.ATTRIB:if(C($))continue;$===">"?Z(J):$==="/"?J.state=b.OPEN_TAG_SLASH:I(m,$)?(J.attribName=$,J.attribValue="",J.state=b.ATTRIB_NAME):W(J,"Invalid attribute name");continue;case b.ATTRIB_NAME:$==="="?J.state=b.ATTRIB_VALUE:$===">"?(W(J,"Attribute without value"),J.attribValue=J.attribName,re(J),Z(J)):C($)?J.state=b.ATTRIB_NAME_SAW_WHITE:I(w,$)?J.attribName+=$:W(J,"Invalid attribute name");continue;case b.ATTRIB_NAME_SAW_WHITE:if($==="=")J.state=b.ATTRIB_VALUE;else{if(C($))continue;W(J,"Attribute without value"),J.tag.attributes[J.attribName]="",J.attribValue="",U(J,"onattribute",{name:J.attribName,value:""}),J.attribName="",$===">"?Z(J):I(m,$)?(J.attribName=$,J.state=b.ATTRIB_NAME):(W(J,"Invalid attribute name"),J.state=b.ATTRIB)}continue;case b.ATTRIB_VALUE:if(C($))continue;E($)?(J.q=$,J.state=b.ATTRIB_VALUE_QUOTED):(W(J,"Unquoted attribute value"),J.state=b.ATTRIB_VALUE_UNQUOTED,J.attribValue=$);continue;case b.ATTRIB_VALUE_QUOTED:if($!==J.q){$==="&"?J.state=b.ATTRIB_VALUE_ENTITY_Q:J.attribValue+=$;continue}re(J),J.q="",J.state=b.ATTRIB_VALUE_CLOSED;continue;case b.ATTRIB_VALUE_CLOSED:C($)?J.state=b.ATTRIB:$===">"?Z(J):$==="/"?J.state=b.OPEN_TAG_SLASH:I(m,$)?(W(J,"No whitespace between attributes"),J.attribName=$,J.attribValue="",J.state=b.ATTRIB_NAME):W(J,"Invalid attribute name");continue;case b.ATTRIB_VALUE_UNQUOTED:if(!P($)){$==="&"?J.state=b.ATTRIB_VALUE_ENTITY_U:J.attribValue+=$;continue}re(J),$===">"?Z(J):J.state=b.ATTRIB;continue;case b.CLOSE_TAG:if(J.tagName)$===">"?le(J):I(w,$)?J.tagName+=$:J.script?(J.script+="</"+J.tagName,J.tagName="",J.state=b.SCRIPT):(C($)||W(J,"Invalid tagname in closing tag"),J.state=b.CLOSE_TAG_SAW_WHITE);else{if(C($))continue;R(m,$)?J.script?(J.script+="</"+$,J.state=b.SCRIPT):W(J,"Invalid tagname in closing tag."):J.tagName=$}continue;case b.CLOSE_TAG_SAW_WHITE:if(C($))continue;$===">"?le(J):W(J,"Invalid characters in closing tag");continue;case b.TEXT_ENTITY:case b.ATTRIB_VALUE_ENTITY_Q:case b.ATTRIB_VALUE_ENTITY_U:var we,ge;switch(J.state){case b.TEXT_ENTITY:we=b.TEXT,ge="textNode";break;case b.ATTRIB_VALUE_ENTITY_Q:we=b.ATTRIB_VALUE_QUOTED,ge="attribValue";break;case b.ATTRIB_VALUE_ENTITY_U:we=b.ATTRIB_VALUE_UNQUOTED,ge="attribValue"}$===";"?(J[ge]+=Ae(J),J.entity="",J.state=we):I(J.entity.length?v:y,$)?J.entity+=$:(W(J,"Invalid character in entity name"),J[ge]+="&"+J.entity+$,J.entity="",J.state=we);continue;default:throw new Error(J,"Unknown state: "+J.state)}return J.position>=J.bufferCheckPosition&&function(ye){for(var Ve=Math.max(h.MAX_BUFFER_LENGTH,10),Oe=0,De=0,Ke=d.length;De<Ke;De++){var q=ye[d[De]].length;if(q>Ve)switch(d[De]){case"textNode":K(ye);break;case"cdata":U(ye,"oncdata",ye.cdata),ye.cdata="";break;case"script":U(ye,"onscript",ye.script),ye.script="";break;default:ae(ye,"Max buffer length exceeded: "+d[De])}Oe=Math.max(Oe,q)}var ie=h.MAX_BUFFER_LENGTH-Oe;ye.bufferCheckPosition=ie+ye.position}(J),J},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var ne;K(ne=this),ne.cdata!==""&&(U(ne,"oncdata",ne.cdata),ne.cdata=""),ne.script!==""&&(U(ne,"onscript",ne.script),ne.script="")}};try{c=l(2830).Stream}catch{c=function(){}}var A=h.EVENTS.filter(function(ne){return ne!=="error"&&ne!=="end"});function f(ne,J){if(!(this instanceof f))return new f(ne,J);c.apply(this),this._parser=new u(ne,J),this.writable=!0,this.readable=!0;var ce=this;this._parser.onend=function(){ce.emit("end")},this._parser.onerror=function($){ce.emit("error",$),ce._parser.error=null},this._decoder=null,A.forEach(function($){Object.defineProperty(ce,"on"+$,{get:function(){return ce._parser["on"+$]},set:function(Ce){if(!Ce)return ce.removeAllListeners($),ce._parser["on"+$]=Ce,Ce;ce.on($,Ce)},enumerable:!0,configurable:!1})})}f.prototype=Object.create(c.prototype,{constructor:{value:f}}),f.prototype.write=function(ne){if(typeof Buffer=="function"&&typeof Buffer.isBuffer=="function"&&Buffer.isBuffer(ne)){if(!this._decoder){var J=l(2553).s;this._decoder=new J("utf8")}ne=this._decoder.write(ne)}return this._parser.write(ne.toString()),this.emit("data",ne),!0},f.prototype.end=function(ne){return ne&&ne.length&&this.write(ne),this._parser.end(),!0},f.prototype.on=function(ne,J){var ce=this;return ce._parser["on"+ne]||A.indexOf(ne)===-1||(ce._parser["on"+ne]=function(){var $=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);$.splice(0,0,ne),ce.emit.apply(ce,$)}),c.prototype.on.call(ce,ne,J)};var p="http://www.w3.org/XML/1998/namespace",g="http://www.w3.org/2000/xmlns/",_={xml:p,xmlns:g},m=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,w=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,y=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,v=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function C(ne){return ne===" "||ne===`
|
|
@@ -257,7 +257,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
257
257
|
display: none !important;
|
|
258
258
|
}`,bf=function(N){zc(N,"."+Gh+Ia+Ja+`
|
|
259
259
|
.`+uo+Wc+Ja)},zc=function(N,M){var H=N.ownerDocument;if(H){var F=H.createElement("style");F.textContent=M,N.appendChild(F)}},Ef=function(){function N(){}return N.getOrigin=function(M){var H=N._link;return H?(H.href=M,H.href=H.href,H.protocol+H.hostname+H.port):"about:blank"},N.isSameOrigin=function(M){return N.getOrigin(M)===N._origin},N.setContext=function(M){N._link=M.document.createElement("a"),N._origin=N.getOrigin(M.location.href)},N._origin="about:blank",N}(),pv=function(){function N(M,H){this.context=M,this._options=H,this._cache={}}return N.prototype.addImage=function(M){var H=Promise.resolve();return this.has(M)||(sm(M)||kE(M))&&(this._cache[M]=this.loadImage(M)).catch(function(){}),H},N.prototype.match=function(M){return this._cache[M]},N.prototype.loadImage=function(M){return s(this,void 0,void 0,function(){var H,F,te,de,_e=this;return n(this,function(Ie){switch(Ie.label){case 0:return H=Ef.isSameOrigin(M),F=!gv(M)&&this._options.useCORS===!0&&Wr.SUPPORT_CORS_IMAGES&&!H,te=!gv(M)&&!H&&!sm(M)&&typeof this._options.proxy=="string"&&Wr.SUPPORT_CORS_XHR&&!F,!H&&this._options.allowTaint===!1&&!gv(M)&&!sm(M)&&!te&&!F?[2]:(de=M,te?[4,this.proxy(de)]:[3,2]);case 1:de=Ie.sent(),Ie.label=2;case 2:return this.context.logger.debug("Added image "+M.substring(0,256)),[4,new Promise(function(Se,ke){var Ue=new Image;Ue.onload=function(){return Se(Ue)},Ue.onerror=ke,(E2(de)||F)&&(Ue.crossOrigin="anonymous"),Ue.src=de,Ue.complete===!0&&setTimeout(function(){return Se(Ue)},500),_e._options.imageTimeout>0&&setTimeout(function(){return ke("Timed out ("+_e._options.imageTimeout+"ms) loading image")},_e._options.imageTimeout)})];case 3:return[2,Ie.sent()]}})})},N.prototype.has=function(M){return typeof this._cache[M]<"u"},N.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},N.prototype.proxy=function(M){var H=this,F=this._options.proxy;if(!F)throw new Error("No proxy defined");var te=M.substring(0,256);return new Promise(function(de,_e){var Ie=Wr.SUPPORT_RESPONSE_TYPE?"blob":"text",Se=new XMLHttpRequest;Se.onload=function(){if(Se.status===200)if(Ie==="text")de(Se.response);else{var Ge=new FileReader;Ge.addEventListener("load",function(){return de(Ge.result)},!1),Ge.addEventListener("error",function(qe){return _e(qe)},!1),Ge.readAsDataURL(Se.response)}else _e("Failed to proxy resource "+te+" with status code "+Se.status)},Se.onerror=_e;var ke=F.indexOf("?")>-1?"&":"?";if(Se.open("GET",""+F+ke+"url="+encodeURIComponent(M)+"&responseType="+Ie),Ie!=="text"&&Se instanceof XMLHttpRequest&&(Se.responseType=Ie),H._options.imageTimeout){var Ue=H._options.imageTimeout;Se.timeout=Ue,Se.ontimeout=function(){return _e("Timed out ("+Ue+"ms) proxying "+te)}}Se.send()})},N}(),NE=/^data:image\/svg\+xml/i,b2=/^data:image\/.*;base64,/i,Sw=/^data:image\/.*/i,kE=function(N){return Wr.SUPPORT_SVG_DRAWING||!x2(N)},gv=function(N){return Sw.test(N)},E2=function(N){return b2.test(N)},sm=function(N){return N.substr(0,4)==="blob"},x2=function(N){return N.substr(-3).toLowerCase()==="svg"||NE.test(N)},yt=function(){function N(M,H){this.type=0,this.x=M,this.y=H}return N.prototype.add=function(M,H){return new N(this.x+M,this.y+H)},N}(),$h=function(N,M,H){return new yt(N.x+(M.x-N.x)*H,N.y+(M.y-N.y)*H)},_v=function(){function N(M,H,F,te){this.type=1,this.start=M,this.startControl=H,this.endControl=F,this.end=te}return N.prototype.subdivide=function(M,H){var F=$h(this.start,this.startControl,M),te=$h(this.startControl,this.endControl,M),de=$h(this.endControl,this.end,M),_e=$h(F,te,M),Ie=$h(te,de,M),Se=$h(_e,Ie,M);return H?new N(this.start,F,_e,Se):new N(Se,Ie,de,this.end)},N.prototype.add=function(M,H){return new N(this.start.add(M,H),this.startControl.add(M,H),this.endControl.add(M,H),this.end.add(M,H))},N.prototype.reverse=function(){return new N(this.end,this.endControl,this.startControl,this.start)},N}(),hh=function(N){return N.type===1},oL=function(){function N(M){var H=M.styles,F=M.bounds,te=Hp(H.borderTopLeftRadius,F.width,F.height),de=te[0],_e=te[1],Ie=Hp(H.borderTopRightRadius,F.width,F.height),Se=Ie[0],ke=Ie[1],Ue=Hp(H.borderBottomRightRadius,F.width,F.height),Ge=Ue[0],qe=Ue[1],Rt=Hp(H.borderBottomLeftRadius,F.width,F.height),At=Rt[0],xt=Rt[1],Fi=[];Fi.push((de+Se)/F.width),Fi.push((At+Ge)/F.width),Fi.push((_e+xt)/F.height),Fi.push((ke+qe)/F.height);var jt=Math.max.apply(Math,Fi);jt>1&&(de/=jt,_e/=jt,Se/=jt,ke/=jt,Ge/=jt,qe/=jt,At/=jt,xt/=jt);var $t=F.width-Se,Nr=F.height-qe,Wi=F.width-Ge,wi=F.height-xt,Nt=H.borderTopWidth,Cr=H.borderRightWidth,br=H.borderBottomWidth,vi=H.borderLeftWidth,Gn=dr(H.paddingTop,M.bounds.width),Bl=dr(H.paddingRight,M.bounds.width),ch=dr(H.paddingBottom,M.bounds.width),fs=dr(H.paddingLeft,M.bounds.width);this.topLeftBorderDoubleOuterBox=de>0||_e>0?Xs(F.left+vi/3,F.top+Nt/3,de-vi/3,_e-Nt/3,Jr.TOP_LEFT):new yt(F.left+vi/3,F.top+Nt/3),this.topRightBorderDoubleOuterBox=de>0||_e>0?Xs(F.left+$t,F.top+Nt/3,Se-Cr/3,ke-Nt/3,Jr.TOP_RIGHT):new yt(F.left+F.width-Cr/3,F.top+Nt/3),this.bottomRightBorderDoubleOuterBox=Ge>0||qe>0?Xs(F.left+Wi,F.top+Nr,Ge-Cr/3,qe-br/3,Jr.BOTTOM_RIGHT):new yt(F.left+F.width-Cr/3,F.top+F.height-br/3),this.bottomLeftBorderDoubleOuterBox=At>0||xt>0?Xs(F.left+vi/3,F.top+wi,At-vi/3,xt-br/3,Jr.BOTTOM_LEFT):new yt(F.left+vi/3,F.top+F.height-br/3),this.topLeftBorderDoubleInnerBox=de>0||_e>0?Xs(F.left+vi*2/3,F.top+Nt*2/3,de-vi*2/3,_e-Nt*2/3,Jr.TOP_LEFT):new yt(F.left+vi*2/3,F.top+Nt*2/3),this.topRightBorderDoubleInnerBox=de>0||_e>0?Xs(F.left+$t,F.top+Nt*2/3,Se-Cr*2/3,ke-Nt*2/3,Jr.TOP_RIGHT):new yt(F.left+F.width-Cr*2/3,F.top+Nt*2/3),this.bottomRightBorderDoubleInnerBox=Ge>0||qe>0?Xs(F.left+Wi,F.top+Nr,Ge-Cr*2/3,qe-br*2/3,Jr.BOTTOM_RIGHT):new yt(F.left+F.width-Cr*2/3,F.top+F.height-br*2/3),this.bottomLeftBorderDoubleInnerBox=At>0||xt>0?Xs(F.left+vi*2/3,F.top+wi,At-vi*2/3,xt-br*2/3,Jr.BOTTOM_LEFT):new yt(F.left+vi*2/3,F.top+F.height-br*2/3),this.topLeftBorderStroke=de>0||_e>0?Xs(F.left+vi/2,F.top+Nt/2,de-vi/2,_e-Nt/2,Jr.TOP_LEFT):new yt(F.left+vi/2,F.top+Nt/2),this.topRightBorderStroke=de>0||_e>0?Xs(F.left+$t,F.top+Nt/2,Se-Cr/2,ke-Nt/2,Jr.TOP_RIGHT):new yt(F.left+F.width-Cr/2,F.top+Nt/2),this.bottomRightBorderStroke=Ge>0||qe>0?Xs(F.left+Wi,F.top+Nr,Ge-Cr/2,qe-br/2,Jr.BOTTOM_RIGHT):new yt(F.left+F.width-Cr/2,F.top+F.height-br/2),this.bottomLeftBorderStroke=At>0||xt>0?Xs(F.left+vi/2,F.top+wi,At-vi/2,xt-br/2,Jr.BOTTOM_LEFT):new yt(F.left+vi/2,F.top+F.height-br/2),this.topLeftBorderBox=de>0||_e>0?Xs(F.left,F.top,de,_e,Jr.TOP_LEFT):new yt(F.left,F.top),this.topRightBorderBox=Se>0||ke>0?Xs(F.left+$t,F.top,Se,ke,Jr.TOP_RIGHT):new yt(F.left+F.width,F.top),this.bottomRightBorderBox=Ge>0||qe>0?Xs(F.left+Wi,F.top+Nr,Ge,qe,Jr.BOTTOM_RIGHT):new yt(F.left+F.width,F.top+F.height),this.bottomLeftBorderBox=At>0||xt>0?Xs(F.left,F.top+wi,At,xt,Jr.BOTTOM_LEFT):new yt(F.left,F.top+F.height),this.topLeftPaddingBox=de>0||_e>0?Xs(F.left+vi,F.top+Nt,Math.max(0,de-vi),Math.max(0,_e-Nt),Jr.TOP_LEFT):new yt(F.left+vi,F.top+Nt),this.topRightPaddingBox=Se>0||ke>0?Xs(F.left+Math.min($t,F.width-Cr),F.top+Nt,$t>F.width+Cr?0:Math.max(0,Se-Cr),Math.max(0,ke-Nt),Jr.TOP_RIGHT):new yt(F.left+F.width-Cr,F.top+Nt),this.bottomRightPaddingBox=Ge>0||qe>0?Xs(F.left+Math.min(Wi,F.width-vi),F.top+Math.min(Nr,F.height-br),Math.max(0,Ge-Cr),Math.max(0,qe-br),Jr.BOTTOM_RIGHT):new yt(F.left+F.width-Cr,F.top+F.height-br),this.bottomLeftPaddingBox=At>0||xt>0?Xs(F.left+vi,F.top+Math.min(wi,F.height-br),Math.max(0,At-vi),Math.max(0,xt-br),Jr.BOTTOM_LEFT):new yt(F.left+vi,F.top+F.height-br),this.topLeftContentBox=de>0||_e>0?Xs(F.left+vi+fs,F.top+Nt+Gn,Math.max(0,de-(vi+fs)),Math.max(0,_e-(Nt+Gn)),Jr.TOP_LEFT):new yt(F.left+vi+fs,F.top+Nt+Gn),this.topRightContentBox=Se>0||ke>0?Xs(F.left+Math.min($t,F.width+vi+fs),F.top+Nt+Gn,$t>F.width+vi+fs?0:Se-vi+fs,ke-(Nt+Gn),Jr.TOP_RIGHT):new yt(F.left+F.width-(Cr+Bl),F.top+Nt+Gn),this.bottomRightContentBox=Ge>0||qe>0?Xs(F.left+Math.min(Wi,F.width-(vi+fs)),F.top+Math.min(Nr,F.height+Nt+Gn),Math.max(0,Ge-(Cr+Bl)),qe-(br+ch),Jr.BOTTOM_RIGHT):new yt(F.left+F.width-(Cr+Bl),F.top+F.height-(br+ch)),this.bottomLeftContentBox=At>0||xt>0?Xs(F.left+vi+fs,F.top+wi,Math.max(0,At-(vi+fs)),xt-(br+ch),Jr.BOTTOM_LEFT):new yt(F.left+vi+fs,F.top+F.height-(br+ch))}return N}(),Jr;(function(N){N[N.TOP_LEFT=0]="TOP_LEFT",N[N.TOP_RIGHT=1]="TOP_RIGHT",N[N.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",N[N.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(Jr||(Jr={}));var Xs=function(N,M,H,F,te){var de=4*((Math.sqrt(2)-1)/3),_e=H*de,Ie=F*de,Se=N+H,ke=M+F;switch(te){case Jr.TOP_LEFT:return new _v(new yt(N,ke),new yt(N,ke-Ie),new yt(Se-_e,M),new yt(Se,M));case Jr.TOP_RIGHT:return new _v(new yt(N,M),new yt(N+_e,M),new yt(Se,ke-Ie),new yt(Se,ke));case Jr.BOTTOM_RIGHT:return new _v(new yt(Se,M),new yt(Se,M+Ie),new yt(N+_e,ke),new yt(N,ke));case Jr.BOTTOM_LEFT:default:return new _v(new yt(Se,ke),new yt(Se-_e,ke),new yt(N,M+Ie),new yt(N,M))}},mv=function(N){return[N.topLeftBorderBox,N.topRightBorderBox,N.bottomRightBorderBox,N.bottomLeftBorderBox]},aL=function(N){return[N.topLeftContentBox,N.topRightContentBox,N.bottomRightContentBox,N.bottomLeftContentBox]},wv=function(N){return[N.topLeftPaddingBox,N.topRightPaddingBox,N.bottomRightPaddingBox,N.bottomLeftPaddingBox]},lL=function(){function N(M,H,F){this.offsetX=M,this.offsetY=H,this.matrix=F,this.type=0,this.target=6}return N}(),yv=function(){function N(M,H){this.path=M,this.target=H,this.type=1}return N}(),hL=function(){function N(M){this.opacity=M,this.type=2,this.target=6}return N}(),cL=function(N){return N.type===0},S2=function(N){return N.type===1},I2=function(N){return N.type===2},FE=function(N,M){return N.length===M.length?N.some(function(H,F){return H===M[F]}):!1},B2=function(N,M,H,F,te){return N.map(function(de,_e){switch(_e){case 0:return de.add(M,H);case 1:return de.add(M+F,H);case 2:return de.add(M+F,H+te);case 3:return de.add(M,H+te)}return de})},P2=function(){function N(M){this.element=M,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return N}(),R2=function(){function N(M,H){if(this.container=M,this.parent=H,this.effects=[],this.curves=new oL(this.container),this.container.styles.opacity<1&&this.effects.push(new hL(this.container.styles.opacity)),this.container.styles.transform!==null){var F=this.container.bounds.left+this.container.styles.transformOrigin[0].number,te=this.container.bounds.top+this.container.styles.transformOrigin[1].number,de=this.container.styles.transform;this.effects.push(new lL(F,te,de))}if(this.container.styles.overflowX!==0){var _e=mv(this.curves),Ie=wv(this.curves);FE(_e,Ie)?this.effects.push(new yv(_e,6)):(this.effects.push(new yv(_e,2)),this.effects.push(new yv(Ie,4)))}}return N.prototype.getEffects=function(M){for(var H=[2,3].indexOf(this.container.styles.position)===-1,F=this.parent,te=this.effects.slice(0);F;){var de=F.effects.filter(function(Se){return!S2(Se)});if(H||F.container.styles.position!==0||!F.parent){if(te.unshift.apply(te,de),H=[2,3].indexOf(F.container.styles.position)===-1,F.container.styles.overflowX!==0){var _e=mv(F.curves),Ie=wv(F.curves);FE(_e,Ie)||te.unshift(new yv(Ie,6))}}else te.unshift.apply(te,de);F=F.parent}return te.filter(function(Se){return En(Se.target,M)})},N}(),VE=function(N,M,H,F){N.container.elements.forEach(function(te){var de=En(te.flags,4),_e=En(te.flags,2),Ie=new R2(te,N);En(te.styles.display,2048)&&F.push(Ie);var Se=En(te.flags,8)?[]:F;if(de||_e){var ke=de||te.styles.isPositioned()?H:M,Ue=new P2(Ie);if(te.styles.isPositioned()||te.styles.opacity<1||te.styles.isTransformed()){var Ge=te.styles.zIndex.order;if(Ge<0){var qe=0;ke.negativeZIndex.some(function(At,xt){return Ge>At.element.container.styles.zIndex.order?(qe=xt,!1):qe>0}),ke.negativeZIndex.splice(qe,0,Ue)}else if(Ge>0){var Rt=0;ke.positiveZIndex.some(function(At,xt){return Ge>=At.element.container.styles.zIndex.order?(Rt=xt+1,!1):Rt>0}),ke.positiveZIndex.splice(Rt,0,Ue)}else ke.zeroOrAutoZIndexOrTransformedOrOpacity.push(Ue)}else te.styles.isFloating()?ke.nonPositionedFloats.push(Ue):ke.nonPositionedInlineLevel.push(Ue);VE(Ie,Ue,de?Ue:H,Se)}else te.styles.isInlineLevel()?M.inlineLevel.push(Ie):M.nonInlineLevel.push(Ie),VE(Ie,M,H,Se);En(te.flags,8)&&HE(te,Se)})},HE=function(N,M){for(var H=N instanceof _w?N.start:1,F=N instanceof _w?N.reversed:!1,te=0;te<M.length;te++){var de=M[te];de.container instanceof av&&typeof de.container.value=="number"&&de.container.value!==0&&(H=de.container.value),de.listValue=Mt(H,de.container.styles.listStyleType,!0),H+=F?-1:1}},dL=function(N){var M=new R2(N,null),H=new P2(M),F=[];return VE(M,H,H,F),HE(M.container,F),H},T2=function(N,M){switch(M){case 0:return rn(N.topLeftBorderBox,N.topLeftPaddingBox,N.topRightBorderBox,N.topRightPaddingBox);case 1:return rn(N.topRightBorderBox,N.topRightPaddingBox,N.bottomRightBorderBox,N.bottomRightPaddingBox);case 2:return rn(N.bottomRightBorderBox,N.bottomRightPaddingBox,N.bottomLeftBorderBox,N.bottomLeftPaddingBox);case 3:default:return rn(N.bottomLeftBorderBox,N.bottomLeftPaddingBox,N.topLeftBorderBox,N.topLeftPaddingBox)}},uL=function(N,M){switch(M){case 0:return rn(N.topLeftBorderBox,N.topLeftBorderDoubleOuterBox,N.topRightBorderBox,N.topRightBorderDoubleOuterBox);case 1:return rn(N.topRightBorderBox,N.topRightBorderDoubleOuterBox,N.bottomRightBorderBox,N.bottomRightBorderDoubleOuterBox);case 2:return rn(N.bottomRightBorderBox,N.bottomRightBorderDoubleOuterBox,N.bottomLeftBorderBox,N.bottomLeftBorderDoubleOuterBox);case 3:default:return rn(N.bottomLeftBorderBox,N.bottomLeftBorderDoubleOuterBox,N.topLeftBorderBox,N.topLeftBorderDoubleOuterBox)}},AL=function(N,M){switch(M){case 0:return rn(N.topLeftBorderDoubleInnerBox,N.topLeftPaddingBox,N.topRightBorderDoubleInnerBox,N.topRightPaddingBox);case 1:return rn(N.topRightBorderDoubleInnerBox,N.topRightPaddingBox,N.bottomRightBorderDoubleInnerBox,N.bottomRightPaddingBox);case 2:return rn(N.bottomRightBorderDoubleInnerBox,N.bottomRightPaddingBox,N.bottomLeftBorderDoubleInnerBox,N.bottomLeftPaddingBox);case 3:default:return rn(N.bottomLeftBorderDoubleInnerBox,N.bottomLeftPaddingBox,N.topLeftBorderDoubleInnerBox,N.topLeftPaddingBox)}},fL=function(N,M){switch(M){case 0:return vv(N.topLeftBorderStroke,N.topRightBorderStroke);case 1:return vv(N.topRightBorderStroke,N.bottomRightBorderStroke);case 2:return vv(N.bottomRightBorderStroke,N.bottomLeftBorderStroke);case 3:default:return vv(N.bottomLeftBorderStroke,N.topLeftBorderStroke)}},vv=function(N,M){var H=[];return hh(N)?H.push(N.subdivide(.5,!1)):H.push(N),hh(M)?H.push(M.subdivide(.5,!0)):H.push(M),H},rn=function(N,M,H,F){var te=[];return hh(N)?te.push(N.subdivide(.5,!1)):te.push(N),hh(H)?te.push(H.subdivide(.5,!0)):te.push(H),hh(F)?te.push(F.subdivide(.5,!0).reverse()):te.push(F),hh(M)?te.push(M.subdivide(.5,!1).reverse()):te.push(M),te},L2=function(N){var M=N.bounds,H=N.styles;return M.add(H.borderLeftWidth,H.borderTopWidth,-(H.borderRightWidth+H.borderLeftWidth),-(H.borderTopWidth+H.borderBottomWidth))},Cv=function(N){var M=N.styles,H=N.bounds,F=dr(M.paddingLeft,H.width),te=dr(M.paddingRight,H.width),de=dr(M.paddingTop,H.width),_e=dr(M.paddingBottom,H.width);return H.add(F+M.borderLeftWidth,de+M.borderTopWidth,-(M.borderRightWidth+M.borderLeftWidth+F+te),-(M.borderTopWidth+M.borderBottomWidth+de+_e))},pL=function(N,M){return N===0?M.bounds:N===2?Cv(M):L2(M)},D2=function(N,M){return N===0?M.bounds:N===2?Cv(M):L2(M)},UE=function(N,M,H){var F=pL(xf(N.styles.backgroundOrigin,M),N),te=D2(xf(N.styles.backgroundClip,M),N),de=gL(xf(N.styles.backgroundSize,M),H,F),_e=de[0],Ie=de[1],Se=Hp(xf(N.styles.backgroundPosition,M),F.width-_e,F.height-Ie),ke=_L(xf(N.styles.backgroundRepeat,M),Se,de,F,te),Ue=Math.round(F.left+Se[0]),Ge=Math.round(F.top+Se[1]);return[ke,Ue,Ge,_e,Ie]},nm=function(N){return xr(N)&&N.value===Ka.AUTO},bv=function(N){return typeof N=="number"},gL=function(N,M,H){var F=M[0],te=M[1],de=M[2],_e=N[0],Ie=N[1];if(!_e)return[0,0];if(Hs(_e)&&Ie&&Hs(Ie))return[dr(_e,H.width),dr(Ie,H.height)];var Se=bv(de);if(xr(_e)&&(_e.value===Ka.CONTAIN||_e.value===Ka.COVER)){if(bv(de)){var ke=H.width/H.height;return ke<de!=(_e.value===Ka.COVER)?[H.width,H.width/de]:[H.height*de,H.height]}return[H.width,H.height]}var Ue=bv(F),Ge=bv(te),qe=Ue||Ge;if(nm(_e)&&(!Ie||nm(Ie))){if(Ue&&Ge)return[F,te];if(!Se&&!qe)return[H.width,H.height];if(qe&&Se){var Rt=Ue?F:te*de,At=Ge?te:F/de;return[Rt,At]}var xt=Ue?F:H.width,Fi=Ge?te:H.height;return[xt,Fi]}if(Se){var jt=0,$t=0;return Hs(_e)?jt=dr(_e,H.width):Hs(Ie)&&($t=dr(Ie,H.height)),nm(_e)?jt=$t*de:(!Ie||nm(Ie))&&($t=jt/de),[jt,$t]}var Nr=null,Wi=null;if(Hs(_e)?Nr=dr(_e,H.width):Ie&&Hs(Ie)&&(Wi=dr(Ie,H.height)),Nr!==null&&(!Ie||nm(Ie))&&(Wi=Ue&&Ge?Nr/F*te:H.height),Wi!==null&&nm(_e)&&(Nr=Ue&&Ge?Wi/te*F:H.width),Nr!==null&&Wi!==null)return[Nr,Wi];throw new Error("Unable to calculate background-size for element")},xf=function(N,M){var H=N[M];return typeof H>"u"?N[0]:H},_L=function(N,M,H,F,te){var de=M[0],_e=M[1],Ie=H[0],Se=H[1];switch(N){case 2:return[new yt(Math.round(F.left),Math.round(F.top+_e)),new yt(Math.round(F.left+F.width),Math.round(F.top+_e)),new yt(Math.round(F.left+F.width),Math.round(Se+F.top+_e)),new yt(Math.round(F.left),Math.round(Se+F.top+_e))];case 3:return[new yt(Math.round(F.left+de),Math.round(F.top)),new yt(Math.round(F.left+de+Ie),Math.round(F.top)),new yt(Math.round(F.left+de+Ie),Math.round(F.height+F.top)),new yt(Math.round(F.left+de),Math.round(F.height+F.top))];case 1:return[new yt(Math.round(F.left+de),Math.round(F.top+_e)),new yt(Math.round(F.left+de+Ie),Math.round(F.top+_e)),new yt(Math.round(F.left+de+Ie),Math.round(F.top+_e+Se)),new yt(Math.round(F.left+de),Math.round(F.top+_e+Se))];default:return[new yt(Math.round(te.left),Math.round(te.top)),new yt(Math.round(te.left+te.width),Math.round(te.top)),new yt(Math.round(te.left+te.width),Math.round(te.height+te.top)),new yt(Math.round(te.left),Math.round(te.height+te.top))]}},mL="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",O2="Hidden Text",wL=function(){function N(M){this._data={},this._document=M}return N.prototype.parseMetrics=function(M,H){var F=this._document.createElement("div"),te=this._document.createElement("img"),de=this._document.createElement("span"),_e=this._document.body;F.style.visibility="hidden",F.style.fontFamily=M,F.style.fontSize=H,F.style.margin="0",F.style.padding="0",F.style.whiteSpace="nowrap",_e.appendChild(F),te.src=mL,te.width=1,te.height=1,te.style.margin="0",te.style.padding="0",te.style.verticalAlign="baseline",de.style.fontFamily=M,de.style.fontSize=H,de.style.margin="0",de.style.padding="0",de.appendChild(this._document.createTextNode(O2)),F.appendChild(de),F.appendChild(te);var Ie=te.offsetTop-de.offsetTop+2;F.removeChild(de),F.appendChild(this._document.createTextNode(O2)),F.style.lineHeight="normal",te.style.verticalAlign="super";var Se=te.offsetTop-F.offsetTop+2;return _e.removeChild(F),{baseline:Ie,middle:Se}},N.prototype.getMetrics=function(M,H){var F=M+" "+H;return typeof this._data[F]>"u"&&(this._data[F]=this.parseMetrics(M,H)),this._data[F]},N}(),M2=function(){function N(M,H){this.context=M,this.options=H}return N}(),yL=1e4,vL=function(N){i(M,N);function M(H,F){var te=N.call(this,H,F)||this;return te._activeEffects=[],te.canvas=F.canvas?F.canvas:document.createElement("canvas"),te.ctx=te.canvas.getContext("2d"),F.canvas||(te.canvas.width=Math.floor(F.width*F.scale),te.canvas.height=Math.floor(F.height*F.scale),te.canvas.style.width=F.width+"px",te.canvas.style.height=F.height+"px"),te.fontMetrics=new wL(document),te.ctx.scale(te.options.scale,te.options.scale),te.ctx.translate(-F.x,-F.y),te.ctx.textBaseline="bottom",te._activeEffects=[],te.context.logger.debug("Canvas renderer initialized ("+F.width+"x"+F.height+") with scale "+F.scale),te}return M.prototype.applyEffects=function(H){for(var F=this;this._activeEffects.length;)this.popEffect();H.forEach(function(te){return F.applyEffect(te)})},M.prototype.applyEffect=function(H){this.ctx.save(),I2(H)&&(this.ctx.globalAlpha=H.opacity),cL(H)&&(this.ctx.translate(H.offsetX,H.offsetY),this.ctx.transform(H.matrix[0],H.matrix[1],H.matrix[2],H.matrix[3],H.matrix[4],H.matrix[5]),this.ctx.translate(-H.offsetX,-H.offsetY)),S2(H)&&(this.path(H.path),this.ctx.clip()),this._activeEffects.push(H)},M.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},M.prototype.renderStack=function(H){return s(this,void 0,void 0,function(){var F;return n(this,function(te){switch(te.label){case 0:return F=H.element.container.styles,F.isVisible()?[4,this.renderStackContent(H)]:[3,2];case 1:te.sent(),te.label=2;case 2:return[2]}})})},M.prototype.renderNode=function(H){return s(this,void 0,void 0,function(){return n(this,function(F){switch(F.label){case 0:if(En(H.container.flags,16))debugger;return H.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(H)]:[3,3];case 1:return F.sent(),[4,this.renderNodeContent(H)];case 2:F.sent(),F.label=3;case 3:return[2]}})})},M.prototype.renderTextWithLetterSpacing=function(H,F,te){var de=this;if(F===0)this.ctx.fillText(H.text,H.bounds.left,H.bounds.top+te);else{var _e=q_(H.text);_e.reduce(function(Ie,Se){return de.ctx.fillText(Se,Ie,H.bounds.top+te),Ie+de.ctx.measureText(Se).width},H.bounds.left)}},M.prototype.createFontStyle=function(H){var F=H.fontVariant.filter(function(_e){return _e==="normal"||_e==="small-caps"}).join(""),te=SL(H.fontFamily).join(", "),de=Mu(H.fontSize)?""+H.fontSize.number+H.fontSize.unit:H.fontSize.number+"px";return[[H.fontStyle,F,H.fontWeight,de,te].join(" "),te,de]},M.prototype.renderTextNode=function(H,F){return s(this,void 0,void 0,function(){var te,de,_e,Ie,Se,ke,Ue,Ge,qe=this;return n(this,function(Rt){return te=this.createFontStyle(F),de=te[0],_e=te[1],Ie=te[2],this.ctx.font=de,this.ctx.direction=F.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",Se=this.fontMetrics.getMetrics(_e,Ie),ke=Se.baseline,Ue=Se.middle,Ge=F.paintOrder,H.textBounds.forEach(function(At){Ge.forEach(function(xt){switch(xt){case 0:qe.ctx.fillStyle=Zr(F.color),qe.renderTextWithLetterSpacing(At,F.letterSpacing,ke);var Fi=F.textShadow;Fi.length&&At.text.trim().length&&(Fi.slice(0).reverse().forEach(function(jt){qe.ctx.shadowColor=Zr(jt.color),qe.ctx.shadowOffsetX=jt.offsetX.number*qe.options.scale,qe.ctx.shadowOffsetY=jt.offsetY.number*qe.options.scale,qe.ctx.shadowBlur=jt.blur.number,qe.renderTextWithLetterSpacing(At,F.letterSpacing,ke)}),qe.ctx.shadowColor="",qe.ctx.shadowOffsetX=0,qe.ctx.shadowOffsetY=0,qe.ctx.shadowBlur=0),F.textDecorationLine.length&&(qe.ctx.fillStyle=Zr(F.textDecorationColor||F.color),F.textDecorationLine.forEach(function(jt){switch(jt){case 1:qe.ctx.fillRect(At.bounds.left,Math.round(At.bounds.top+ke),At.bounds.width,1);break;case 2:qe.ctx.fillRect(At.bounds.left,Math.round(At.bounds.top),At.bounds.width,1);break;case 3:qe.ctx.fillRect(At.bounds.left,Math.ceil(At.bounds.top+Ue),At.bounds.width,1);break}}));break;case 1:F.webkitTextStrokeWidth&&At.text.trim().length&&(qe.ctx.strokeStyle=Zr(F.webkitTextStrokeColor),qe.ctx.lineWidth=F.webkitTextStrokeWidth,qe.ctx.lineJoin=window.chrome?"miter":"round",qe.ctx.strokeText(At.text,At.bounds.left,At.bounds.top+ke)),qe.ctx.strokeStyle="",qe.ctx.lineWidth=0,qe.ctx.lineJoin="miter";break}})}),[2]})})},M.prototype.renderReplacedElement=function(H,F,te){if(te&&H.intrinsicWidth>0&&H.intrinsicHeight>0){var de=Cv(H),_e=wv(F);this.path(_e),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(te,0,0,H.intrinsicWidth,H.intrinsicHeight,de.left,de.top,de.width,de.height),this.ctx.restore()}},M.prototype.renderNodeContent=function(H){return s(this,void 0,void 0,function(){var F,te,de,_e,Ie,Se,$t,$t,ke,Ue,Ge,qe,Wi,Rt,At,wi,xt,Fi,jt,$t,Nr,Wi,wi;return n(this,function(Nt){switch(Nt.label){case 0:this.applyEffects(H.getEffects(4)),F=H.container,te=H.curves,de=F.styles,_e=0,Ie=F.textNodes,Nt.label=1;case 1:return _e<Ie.length?(Se=Ie[_e],[4,this.renderTextNode(Se,de)]):[3,4];case 2:Nt.sent(),Nt.label=3;case 3:return _e++,[3,1];case 4:if(!(F instanceof gw))return[3,8];Nt.label=5;case 5:return Nt.trys.push([5,7,,8]),[4,this.context.cache.match(F.src)];case 6:return $t=Nt.sent(),this.renderReplacedElement(F,te,$t),[3,8];case 7:return Nt.sent(),this.context.logger.error("Error loading image "+F.src),[3,8];case 8:if(F instanceof em&&this.renderReplacedElement(F,te,F.canvas),!(F instanceof ov))return[3,12];Nt.label=9;case 9:return Nt.trys.push([9,11,,12]),[4,this.context.cache.match(F.svg)];case 10:return $t=Nt.sent(),this.renderReplacedElement(F,te,$t),[3,12];case 11:return Nt.sent(),this.context.logger.error("Error loading svg "+F.svg.substring(0,255)),[3,12];case 12:return F instanceof yw&&F.tree?(ke=new M(this.context,{scale:this.options.scale,backgroundColor:F.backgroundColor,x:0,y:0,width:F.width,height:F.height}),[4,ke.render(F.tree)]):[3,14];case 13:Ue=Nt.sent(),F.width&&F.height&&this.ctx.drawImage(Ue,0,0,F.width,F.height,F.bounds.left,F.bounds.top,F.bounds.width,F.bounds.height),Nt.label=14;case 14:if(F instanceof ww&&(Ge=Math.min(F.bounds.width,F.bounds.height),F.type===mf?F.checked&&(this.ctx.save(),this.path([new yt(F.bounds.left+Ge*.39363,F.bounds.top+Ge*.79),new yt(F.bounds.left+Ge*.16,F.bounds.top+Ge*.5549),new yt(F.bounds.left+Ge*.27347,F.bounds.top+Ge*.44071),new yt(F.bounds.left+Ge*.39694,F.bounds.top+Ge*.5649),new yt(F.bounds.left+Ge*.72983,F.bounds.top+Ge*.23),new yt(F.bounds.left+Ge*.84,F.bounds.top+Ge*.34085),new yt(F.bounds.left+Ge*.39363,F.bounds.top+Ge*.79)]),this.ctx.fillStyle=Zr(cv),this.ctx.fill(),this.ctx.restore()):F.type===ho&&F.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(F.bounds.left+Ge/2,F.bounds.top+Ge/2,Ge/4,0,Math.PI*2,!0),this.ctx.fillStyle=Zr(cv),this.ctx.fill(),this.ctx.restore())),CL(F)&&F.value.length){switch(qe=this.createFontStyle(de),Wi=qe[0],Rt=qe[1],At=this.fontMetrics.getMetrics(Wi,Rt).baseline,this.ctx.font=Wi,this.ctx.fillStyle=Zr(de.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=EL(F.styles.textAlign),wi=Cv(F),xt=0,F.styles.textAlign){case 1:xt+=wi.width/2;break;case 2:xt+=wi.width;break}Fi=wi.add(xt,0,0,-wi.height/2+1),this.ctx.save(),this.path([new yt(wi.left,wi.top),new yt(wi.left+wi.width,wi.top),new yt(wi.left+wi.width,wi.top+wi.height),new yt(wi.left,wi.top+wi.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new El(F.value,Fi),de.letterSpacing,At),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!En(F.styles.display,2048))return[3,20];if(F.styles.listStyleImage===null)return[3,19];if(jt=F.styles.listStyleImage,jt.type!==0)return[3,18];$t=void 0,Nr=jt.url,Nt.label=15;case 15:return Nt.trys.push([15,17,,18]),[4,this.context.cache.match(Nr)];case 16:return $t=Nt.sent(),this.ctx.drawImage($t,F.bounds.left-($t.width+10),F.bounds.top),[3,18];case 17:return Nt.sent(),this.context.logger.error("Error loading list-style-image "+Nr),[3,18];case 18:return[3,20];case 19:H.listValue&&F.styles.listStyleType!==-1&&(Wi=this.createFontStyle(de)[0],this.ctx.font=Wi,this.ctx.fillStyle=Zr(de.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",wi=new l(F.bounds.left,F.bounds.top+dr(F.styles.paddingTop,F.bounds.width),F.bounds.width,hf(de.lineHeight,de.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new El(H.listValue,wi),de.letterSpacing,hf(de.lineHeight,de.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),Nt.label=20;case 20:return[2]}})})},M.prototype.renderStackContent=function(H){return s(this,void 0,void 0,function(){var F,te,jt,de,_e,jt,Ie,Se,jt,ke,Ue,jt,Ge,qe,jt,Rt,At,jt,xt,Fi,jt;return n(this,function($t){switch($t.label){case 0:if(En(H.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(H.element)];case 1:$t.sent(),F=0,te=H.negativeZIndex,$t.label=2;case 2:return F<te.length?(jt=te[F],[4,this.renderStack(jt)]):[3,5];case 3:$t.sent(),$t.label=4;case 4:return F++,[3,2];case 5:return[4,this.renderNodeContent(H.element)];case 6:$t.sent(),de=0,_e=H.nonInlineLevel,$t.label=7;case 7:return de<_e.length?(jt=_e[de],[4,this.renderNode(jt)]):[3,10];case 8:$t.sent(),$t.label=9;case 9:return de++,[3,7];case 10:Ie=0,Se=H.nonPositionedFloats,$t.label=11;case 11:return Ie<Se.length?(jt=Se[Ie],[4,this.renderStack(jt)]):[3,14];case 12:$t.sent(),$t.label=13;case 13:return Ie++,[3,11];case 14:ke=0,Ue=H.nonPositionedInlineLevel,$t.label=15;case 15:return ke<Ue.length?(jt=Ue[ke],[4,this.renderStack(jt)]):[3,18];case 16:$t.sent(),$t.label=17;case 17:return ke++,[3,15];case 18:Ge=0,qe=H.inlineLevel,$t.label=19;case 19:return Ge<qe.length?(jt=qe[Ge],[4,this.renderNode(jt)]):[3,22];case 20:$t.sent(),$t.label=21;case 21:return Ge++,[3,19];case 22:Rt=0,At=H.zeroOrAutoZIndexOrTransformedOrOpacity,$t.label=23;case 23:return Rt<At.length?(jt=At[Rt],[4,this.renderStack(jt)]):[3,26];case 24:$t.sent(),$t.label=25;case 25:return Rt++,[3,23];case 26:xt=0,Fi=H.positiveZIndex,$t.label=27;case 27:return xt<Fi.length?(jt=Fi[xt],[4,this.renderStack(jt)]):[3,30];case 28:$t.sent(),$t.label=29;case 29:return xt++,[3,27];case 30:return[2]}})})},M.prototype.mask=function(H){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(H.slice(0).reverse()),this.ctx.closePath()},M.prototype.path=function(H){this.ctx.beginPath(),this.formatPath(H),this.ctx.closePath()},M.prototype.formatPath=function(H){var F=this;H.forEach(function(te,de){var _e=hh(te)?te.start:te;de===0?F.ctx.moveTo(_e.x,_e.y):F.ctx.lineTo(_e.x,_e.y),hh(te)&&F.ctx.bezierCurveTo(te.startControl.x,te.startControl.y,te.endControl.x,te.endControl.y,te.end.x,te.end.y)})},M.prototype.renderRepeat=function(H,F,te,de){this.path(H),this.ctx.fillStyle=F,this.ctx.translate(te,de),this.ctx.fill(),this.ctx.translate(-te,-de)},M.prototype.resizeImage=function(H,F,te){var de;if(H.width===F&&H.height===te)return H;var _e=(de=this.canvas.ownerDocument)!==null&&de!==void 0?de:document,Ie=_e.createElement("canvas");Ie.width=Math.max(1,F),Ie.height=Math.max(1,te);var Se=Ie.getContext("2d");return Se.drawImage(H,0,0,H.width,H.height,0,0,F,te),Ie},M.prototype.renderBackgroundImage=function(H){return s(this,void 0,void 0,function(){var F,te,de,_e,Ie,Se;return n(this,function(ke){switch(ke.label){case 0:F=H.styles.backgroundImage.length-1,te=function(Ue){var Ge,qe,Rt,Gn,Pl,Rl,fs,No,br,At,Gn,Pl,Rl,fs,No,xt,Fi,jt,$t,Nr,Wi,wi,Nt,Cr,br,vi,Gn,Bl,ch,fs,No,zu,Pl,Rl,ag,Ud,Kc,lg,hg,Ku,cg,Yu;return n(this,function(om){switch(om.label){case 0:if(Ue.type!==0)return[3,5];Ge=void 0,qe=Ue.url,om.label=1;case 1:return om.trys.push([1,3,,4]),[4,de.context.cache.match(qe)];case 2:return Ge=om.sent(),[3,4];case 3:return om.sent(),de.context.logger.error("Error loading background-image "+qe),[3,4];case 4:return Ge&&(Rt=UE(H,F,[Ge.width,Ge.height,Ge.width/Ge.height]),Gn=Rt[0],Pl=Rt[1],Rl=Rt[2],fs=Rt[3],No=Rt[4],br=de.ctx.createPattern(de.resizeImage(Ge,fs,No),"repeat"),de.renderRepeat(Gn,br,Pl,Rl)),[3,6];case 5:nf(Ue)?(At=UE(H,F,[null,null,null]),Gn=At[0],Pl=At[1],Rl=At[2],fs=At[3],No=At[4],xt=An(Ue.angle,fs,No),Fi=xt[0],jt=xt[1],$t=xt[2],Nr=xt[3],Wi=xt[4],wi=document.createElement("canvas"),wi.width=fs,wi.height=No,Nt=wi.getContext("2d"),Cr=Nt.createLinearGradient(jt,Nr,$t,Wi),mi(Ue.stops,Fi).forEach(function(Iw){return Cr.addColorStop(Iw.stop,Zr(Iw.color))}),Nt.fillStyle=Cr,Nt.fillRect(0,0,fs,No),fs>0&&No>0&&(br=de.ctx.createPattern(wi,"repeat"),de.renderRepeat(Gn,br,Pl,Rl))):Nh(Ue)&&(vi=UE(H,F,[null,null,null]),Gn=vi[0],Bl=vi[1],ch=vi[2],fs=vi[3],No=vi[4],zu=Ue.position.length===0?[L0]:Ue.position,Pl=dr(zu[0],fs),Rl=dr(zu[zu.length-1],No),ag=P_(Ue,Pl,Rl,fs,No),Ud=ag[0],Kc=ag[1],Ud>0&&Kc>0&&(lg=de.ctx.createRadialGradient(Bl+Pl,ch+Rl,0,Bl+Pl,ch+Rl,Ud),mi(Ue.stops,Ud*2).forEach(function(Iw){return lg.addColorStop(Iw.stop,Zr(Iw.color))}),de.path(Gn),de.ctx.fillStyle=lg,Ud!==Kc?(hg=H.bounds.left+.5*H.bounds.width,Ku=H.bounds.top+.5*H.bounds.height,cg=Kc/Ud,Yu=1/cg,de.ctx.save(),de.ctx.translate(hg,Ku),de.ctx.transform(1,0,0,cg,0,0),de.ctx.translate(-hg,-Ku),de.ctx.fillRect(Bl,Yu*(ch-Ku)+Ku,fs,No*Yu),de.ctx.restore()):de.ctx.fill())),om.label=6;case 6:return F--,[2]}})},de=this,_e=0,Ie=H.styles.backgroundImage.slice(0).reverse(),ke.label=1;case 1:return _e<Ie.length?(Se=Ie[_e],[5,te(Se)]):[3,4];case 2:ke.sent(),ke.label=3;case 3:return _e++,[3,1];case 4:return[2]}})})},M.prototype.renderSolidBorder=function(H,F,te){return s(this,void 0,void 0,function(){return n(this,function(de){return this.path(T2(te,F)),this.ctx.fillStyle=Zr(H),this.ctx.fill(),[2]})})},M.prototype.renderDoubleBorder=function(H,F,te,de){return s(this,void 0,void 0,function(){var _e,Ie;return n(this,function(Se){switch(Se.label){case 0:return F<3?[4,this.renderSolidBorder(H,te,de)]:[3,2];case 1:return Se.sent(),[2];case 2:return _e=uL(de,te),this.path(_e),this.ctx.fillStyle=Zr(H),this.ctx.fill(),Ie=AL(de,te),this.path(Ie),this.ctx.fill(),[2]}})})},M.prototype.renderNodeBackgroundAndBorders=function(H){return s(this,void 0,void 0,function(){var F,te,de,_e,Ie,Se,ke,Ue,Ge=this;return n(this,function(qe){switch(qe.label){case 0:return this.applyEffects(H.getEffects(2)),F=H.container.styles,te=!la(F.backgroundColor)||F.backgroundImage.length,de=[{style:F.borderTopStyle,color:F.borderTopColor,width:F.borderTopWidth},{style:F.borderRightStyle,color:F.borderRightColor,width:F.borderRightWidth},{style:F.borderBottomStyle,color:F.borderBottomColor,width:F.borderBottomWidth},{style:F.borderLeftStyle,color:F.borderLeftColor,width:F.borderLeftWidth}],_e=bL(xf(F.backgroundClip,0),H.curves),te||F.boxShadow.length?(this.ctx.save(),this.path(_e),this.ctx.clip(),la(F.backgroundColor)||(this.ctx.fillStyle=Zr(F.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(H.container)]):[3,2];case 1:qe.sent(),this.ctx.restore(),F.boxShadow.slice(0).reverse().forEach(function(Rt){Ge.ctx.save();var At=mv(H.curves),xt=Rt.inset?0:yL,Fi=B2(At,-xt+(Rt.inset?1:-1)*Rt.spread.number,(Rt.inset?1:-1)*Rt.spread.number,Rt.spread.number*(Rt.inset?-2:2),Rt.spread.number*(Rt.inset?-2:2));Rt.inset?(Ge.path(At),Ge.ctx.clip(),Ge.mask(Fi)):(Ge.mask(At),Ge.ctx.clip(),Ge.path(Fi)),Ge.ctx.shadowOffsetX=Rt.offsetX.number+xt,Ge.ctx.shadowOffsetY=Rt.offsetY.number,Ge.ctx.shadowColor=Zr(Rt.color),Ge.ctx.shadowBlur=Rt.blur.number,Ge.ctx.fillStyle=Rt.inset?Zr(Rt.color):"rgba(0,0,0,1)",Ge.ctx.fill(),Ge.ctx.restore()}),qe.label=2;case 2:Ie=0,Se=0,ke=de,qe.label=3;case 3:return Se<ke.length?(Ue=ke[Se],Ue.style!==0&&!la(Ue.color)&&Ue.width>0?Ue.style!==2?[3,5]:[4,this.renderDashedDottedBorder(Ue.color,Ue.width,Ie,H.curves,2)]:[3,11]):[3,13];case 4:return qe.sent(),[3,11];case 5:return Ue.style!==3?[3,7]:[4,this.renderDashedDottedBorder(Ue.color,Ue.width,Ie,H.curves,3)];case 6:return qe.sent(),[3,11];case 7:return Ue.style!==4?[3,9]:[4,this.renderDoubleBorder(Ue.color,Ue.width,Ie,H.curves)];case 8:return qe.sent(),[3,11];case 9:return[4,this.renderSolidBorder(Ue.color,Ie,H.curves)];case 10:qe.sent(),qe.label=11;case 11:Ie++,qe.label=12;case 12:return Se++,[3,3];case 13:return[2]}})})},M.prototype.renderDashedDottedBorder=function(H,F,te,de,_e){return s(this,void 0,void 0,function(){var Ie,Se,ke,Ue,Ge,qe,Rt,At,xt,Fi,jt,$t,Nr,Wi,wi,Nt,wi,Nt;return n(this,function(Cr){return this.ctx.save(),Ie=fL(de,te),Se=T2(de,te),_e===2&&(this.path(Se),this.ctx.clip()),hh(Se[0])?(ke=Se[0].start.x,Ue=Se[0].start.y):(ke=Se[0].x,Ue=Se[0].y),hh(Se[1])?(Ge=Se[1].end.x,qe=Se[1].end.y):(Ge=Se[1].x,qe=Se[1].y),te===0||te===2?Rt=Math.abs(ke-Ge):Rt=Math.abs(Ue-qe),this.ctx.beginPath(),_e===3?this.formatPath(Ie):this.formatPath(Se.slice(0,2)),At=F<3?F*3:F*2,xt=F<3?F*2:F,_e===3&&(At=F,xt=F),Fi=!0,Rt<=At*2?Fi=!1:Rt<=At*2+xt?(jt=Rt/(2*At+xt),At*=jt,xt*=jt):($t=Math.floor((Rt+xt)/(At+xt)),Nr=(Rt-$t*At)/($t-1),Wi=(Rt-($t+1)*At)/$t,xt=Wi<=0||Math.abs(xt-Nr)<Math.abs(xt-Wi)?Nr:Wi),Fi&&(_e===3?this.ctx.setLineDash([0,At+xt]):this.ctx.setLineDash([At,xt])),_e===3?(this.ctx.lineCap="round",this.ctx.lineWidth=F):this.ctx.lineWidth=F*2+1.1,this.ctx.strokeStyle=Zr(H),this.ctx.stroke(),this.ctx.setLineDash([]),_e===2&&(hh(Se[0])&&(wi=Se[3],Nt=Se[0],this.ctx.beginPath(),this.formatPath([new yt(wi.end.x,wi.end.y),new yt(Nt.start.x,Nt.start.y)]),this.ctx.stroke()),hh(Se[1])&&(wi=Se[1],Nt=Se[2],this.ctx.beginPath(),this.formatPath([new yt(wi.end.x,wi.end.y),new yt(Nt.start.x,Nt.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},M.prototype.render=function(H){return s(this,void 0,void 0,function(){var F;return n(this,function(te){switch(te.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=Zr(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),F=dL(H),[4,this.renderStack(F)];case 1:return te.sent(),this.applyEffects([]),[2,this.canvas]}})})},M}(M2),CL=function(N){return N instanceof Vd||N instanceof tg?!0:N instanceof ww&&N.type!==ho&&N.type!==mf},bL=function(N,M){switch(N){case 0:return mv(M);case 2:return aL(M);case 1:default:return wv(M)}},EL=function(N){switch(N){case 1:return"center";case 2:return"right";case 0:default:return"left"}},xL=["-apple-system","system-ui"],SL=function(N){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?N.filter(function(M){return xL.indexOf(M)===-1}):N},IL=function(N){i(M,N);function M(H,F){var te=N.call(this,H,F)||this;return te.canvas=F.canvas?F.canvas:document.createElement("canvas"),te.ctx=te.canvas.getContext("2d"),te.options=F,te.canvas.width=Math.floor(F.width*F.scale),te.canvas.height=Math.floor(F.height*F.scale),te.canvas.style.width=F.width+"px",te.canvas.style.height=F.height+"px",te.ctx.scale(te.options.scale,te.options.scale),te.ctx.translate(-F.x,-F.y),te.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+F.width+"x"+F.height+" at "+F.x+","+F.y+") with scale "+F.scale),te}return M.prototype.render=function(H){return s(this,void 0,void 0,function(){var F,te;return n(this,function(de){switch(de.label){case 0:return F=j_(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,H),[4,BL(F)];case 1:return te=de.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=Zr(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(te,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},M}(M2),BL=function(N){return new Promise(function(M,H){var F=new Image;F.onload=function(){M(F)},F.onerror=H,F.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(N))})},PL=function(){function N(M){var H=M.id,F=M.enabled;this.id=H,this.enabled=F,this.start=Date.now()}return N.prototype.debug=function(){for(var M=[],H=0;H<arguments.length;H++)M[H]=arguments[H];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,o([this.id,this.getTime()+"ms"],M)):this.info.apply(this,M))},N.prototype.getTime=function(){return Date.now()-this.start},N.prototype.info=function(){for(var M=[],H=0;H<arguments.length;H++)M[H]=arguments[H];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,o([this.id,this.getTime()+"ms"],M))},N.prototype.warn=function(){for(var M=[],H=0;H<arguments.length;H++)M[H]=arguments[H];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,o([this.id,this.getTime()+"ms"],M)):this.info.apply(this,M))},N.prototype.error=function(){for(var M=[],H=0;H<arguments.length;H++)M[H]=arguments[H];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,o([this.id,this.getTime()+"ms"],M)):this.info.apply(this,M))},N.instances={},N}(),RL=function(){function N(M,H){var F;this.windowBounds=H,this.instanceName="#"+N.instanceCount++,this.logger=new PL({id:this.instanceName,enabled:M.logging}),this.cache=(F=M.cache)!==null&&F!==void 0?F:new pv(this,M)}return N.instanceCount=1,N}(),TL=function(N,M){return M===void 0&&(M={}),LL(N,M)};typeof window<"u"&&Ef.setContext(window);var LL=function(N,M){return s(void 0,void 0,void 0,function(){var H,F,te,de,_e,Ie,Se,ke,Ue,Ge,qe,Rt,At,xt,Fi,jt,$t,Nr,Wi,wi,Cr,Nt,Cr,br,vi,Gn,Bl,ch,fs,No,zu,Pl,Rl,ag,Ud,Kc,lg,hg,Ku,cg;return n(this,function(Yu){switch(Yu.label){case 0:if(!N||typeof N!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(H=N.ownerDocument,!H)throw new Error("Element is not attached to a Document");if(F=H.defaultView,!F)throw new Error("Document is not attached to a Window");return te={allowTaint:(br=M.allowTaint)!==null&&br!==void 0?br:!1,imageTimeout:(vi=M.imageTimeout)!==null&&vi!==void 0?vi:15e3,proxy:M.proxy,useCORS:(Gn=M.useCORS)!==null&&Gn!==void 0?Gn:!1},de=r({logging:(Bl=M.logging)!==null&&Bl!==void 0?Bl:!0,cache:M.cache},te),_e={windowWidth:(ch=M.windowWidth)!==null&&ch!==void 0?ch:F.innerWidth,windowHeight:(fs=M.windowHeight)!==null&&fs!==void 0?fs:F.innerHeight,scrollX:(No=M.scrollX)!==null&&No!==void 0?No:F.pageXOffset,scrollY:(zu=M.scrollY)!==null&&zu!==void 0?zu:F.pageYOffset},Ie=new l(_e.scrollX,_e.scrollY,_e.windowWidth,_e.windowHeight),Se=new RL(de,Ie),ke=(Pl=M.foreignObjectRendering)!==null&&Pl!==void 0?Pl:!1,Ue={allowTaint:(Rl=M.allowTaint)!==null&&Rl!==void 0?Rl:!1,onclone:M.onclone,ignoreElements:M.ignoreElements,inlineImages:ke,copyStyles:ke},Se.logger.debug("Starting document clone with size "+Ie.width+"x"+Ie.height+" scrolled to "+-Ie.left+","+-Ie.top),Ge=new Kt(Se,N,Ue),qe=Ge.clonedReferenceElement,qe?[4,Ge.toIFrame(H,Ie)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return Rt=Yu.sent(),At=xl(qe)||uv(qe)?c(qe.ownerDocument):h(Se,qe),xt=At.width,Fi=At.height,jt=At.left,$t=At.top,Nr=DL(Se,qe,M.backgroundColor),Wi={canvas:M.canvas,backgroundColor:Nr,scale:(Ud=(ag=M.scale)!==null&&ag!==void 0?ag:F.devicePixelRatio)!==null&&Ud!==void 0?Ud:1,x:((Kc=M.x)!==null&&Kc!==void 0?Kc:0)+jt,y:((lg=M.y)!==null&&lg!==void 0?lg:0)+$t,width:(hg=M.width)!==null&&hg!==void 0?hg:Math.ceil(xt),height:(Ku=M.height)!==null&&Ku!==void 0?Ku:Math.ceil(Fi)},ke?(Se.logger.debug("Document cloned, using foreign object rendering"),Cr=new IL(Se,Wi),[4,Cr.render(qe)]):[3,3];case 2:return wi=Yu.sent(),[3,5];case 3:return Se.logger.debug("Document cloned, element located at "+jt+","+$t+" with size "+xt+"x"+Fi+" using computed rendering"),Se.logger.debug("Starting DOM parsing"),Nt=$c(Se,qe),Nr===Nt.styles.backgroundColor&&(Nt.styles.backgroundColor=He.TRANSPARENT),Se.logger.debug("Starting renderer for element at "+Wi.x+","+Wi.y+" with size "+Wi.width+"x"+Wi.height),Cr=new vL(Se,Wi),[4,Cr.render(Nt)];case 4:wi=Yu.sent(),Yu.label=5;case 5:return(!((cg=M.removeContainer)!==null&&cg!==void 0)||cg)&&(Kt.destroy(Rt)||Se.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),Se.logger.debug("Finished rendering"),[2,wi]}})})},DL=function(N,M,H){var F=M.ownerDocument,te=F.documentElement?rh(N,getComputedStyle(F.documentElement).backgroundColor):He.TRANSPARENT,de=F.body?rh(N,getComputedStyle(F.body).backgroundColor):He.TRANSPARENT,_e=typeof H=="string"?rh(N,H):H===null?He.TRANSPARENT:4294967295;return M===F.documentElement?la(te)?la(de)?_e:de:te:_e};return TL})})(oz);var fPe=oz.exports,YD=Ph(fPe),Zl=Uint8Array,au=Uint16Array,a4=Int32Array,l4=new Zl([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),h4=new Zl([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),IV=new Zl([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),az=function(a,e){for(var t=new au(31),i=0;i<31;++i)t[i]=e+=1<<a[i-1];for(var r=new a4(t[30]),i=1;i<30;++i)for(var s=t[i];s<t[i+1];++s)r[s]=s-t[i]<<5|i;return{b:t,r}},lz=az(l4,2),pPe=lz.b,IN=lz.r;pPe[28]=258,IN[258]=28;var gPe=az(h4,0),BV=gPe.r,hz=new au(32768);for(var ln=0;ln<32768;++ln){var cm=(ln&43690)>>1|(ln&21845)<<1;cm=(cm&52428)>>2|(cm&13107)<<2,cm=(cm&61680)>>4|(cm&3855)<<4,hz[ln]=((cm&65280)>>8|(cm&255)<<8)>>1}var Px=function(a,e,t){for(var i=a.length,r=0,s=new au(e);r<i;++r)a[r]&&++s[a[r]-1];var n=new au(e);for(r=1;r<e;++r)n[r]=n[r-1]+s[r-1]<<1;var o;for(o=new au(i),r=0;r<i;++r)a[r]&&(o[r]=hz[n[a[r]-1]++]>>15-a[r]);return o},O1=new Zl(288);for(var ln=0;ln<144;++ln)O1[ln]=8;for(var ln=144;ln<256;++ln)O1[ln]=9;for(var ln=256;ln<280;++ln)O1[ln]=7;for(var ln=280;ln<288;++ln)O1[ln]=8;var dP=new Zl(32);for(var ln=0;ln<32;++ln)dP[ln]=5;var _Pe=Px(O1,9),mPe=Px(dP,5),cz=function(a){return(a+7)/8|0},dz=function(a,e,t){return(t==null||t>a.length)&&(t=a.length),new Zl(a.subarray(e,t))},wPe=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],zT=function(a,e,t){var i=new Error(e||wPe[a]);if(i.code=a,Error.captureStackTrace&&Error.captureStackTrace(i,zT),!t)throw i;return i},gg=function(a,e,t){t<<=e&7;var i=e/8|0;a[i]|=t,a[i+1]|=t>>8},rx=function(a,e,t){t<<=e&7;var i=e/8|0;a[i]|=t,a[i+1]|=t>>8,a[i+2]|=t>>16},XD=function(a,e){for(var t=[],i=0;i<a.length;++i)a[i]&&t.push({s:i,f:a[i]});var r=t.length,s=t.slice();if(!r)return{t:Az,l:0};if(r==1){var n=new Zl(t[0].s+1);return n[t[0].s]=1,{t:n,l:1}}t.sort(function(v,C){return v.f-C.f}),t.push({s:-1,f:25001});var o=t[0],l=t[1],h=0,c=1,d=2;for(t[0]={s:-1,f:o.f+l.f,l:o,r:l};c!=r-1;)o=t[t[h].f<t[d].f?h++:d++],l=t[h!=c&&t[h].f<t[d].f?h++:d++],t[c++]={s:-1,f:o.f+l.f,l:o,r:l};for(var u=s[0].s,i=1;i<r;++i)s[i].s>u&&(u=s[i].s);var A=new au(u+1),f=BN(t[c-1],A,0);if(f>e){var i=0,p=0,g=f-e,_=1<<g;for(s.sort(function(C,E){return A[E.s]-A[C.s]||C.f-E.f});i<r;++i){var m=s[i].s;if(A[m]>e)p+=_-(1<<f-A[m]),A[m]=e;else break}for(p>>=g;p>0;){var w=s[i].s;A[w]<e?p-=1<<e-A[w]++-1:++i}for(;i>=0&&p;--i){var y=s[i].s;A[y]==e&&(--A[y],++p)}f=e}return{t:new Zl(A),l:f}},BN=function(a,e,t){return a.s==-1?Math.max(BN(a.l,e,t+1),BN(a.r,e,t+1)):e[a.s]=t},PV=function(a){for(var e=a.length;e&&!a[--e];);for(var t=new au(++e),i=0,r=a[0],s=1,n=function(l){t[i++]=l},o=1;o<=e;++o)if(a[o]==r&&o!=e)++s;else{if(!r&&s>2){for(;s>138;s-=138)n(32754);s>2&&(n(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(n(r),--s;s>6;s-=6)n(8304);s>2&&(n(s-3<<5|8208),s=0)}for(;s--;)n(r);s=1,r=a[o]}return{c:t.subarray(0,i),n:e}},sx=function(a,e){for(var t=0,i=0;i<e.length;++i)t+=a[i]*e[i];return t},uz=function(a,e,t){var i=t.length,r=cz(e+2);a[r]=i&255,a[r+1]=i>>8,a[r+2]=a[r]^255,a[r+3]=a[r+1]^255;for(var s=0;s<i;++s)a[r+s+4]=t[s];return(r+4+i)*8},RV=function(a,e,t,i,r,s,n,o,l,h,c){gg(e,c++,t),++r[256];for(var d=XD(r,15),u=d.t,A=d.l,f=XD(s,15),p=f.t,g=f.l,_=PV(u),m=_.c,w=_.n,y=PV(p),v=y.c,C=y.n,E=new au(19),P=0;P<m.length;++P)++E[m[P]&31];for(var P=0;P<v.length;++P)++E[v[P]&31];for(var I=XD(E,7),R=I.t,D=I.l,S=19;S>4&&!R[IV[S-1]];--S);var B=h+5<<3,b=sx(r,O1)+sx(s,dP)+n,L=sx(r,u)+sx(s,p)+n+14+3*S+sx(E,R)+2*E[16]+3*E[17]+7*E[18];if(l>=0&&B<=b&&B<=L)return uz(e,c,a.subarray(l,l+h));var V,U,K,j;if(gg(e,c,1+(L<b)),c+=2,L<b){V=Px(u,A),U=u,K=Px(p,g),j=p;var ae=Px(R,D);gg(e,c,w-257),gg(e,c+5,C-1),gg(e,c+10,S-4),c+=14;for(var P=0;P<S;++P)gg(e,c+3*P,R[IV[P]]);c+=3*S;for(var k=[m,v],W=0;W<2;++W)for(var z=k[W],P=0;P<z.length;++P){var Y=z[P]&31;gg(e,c,ae[Y]),c+=R[Y],Y>15&&(gg(e,c,z[P]>>5&127),c+=z[P]>>12)}}else V=_Pe,U=O1,K=mPe,j=dP;for(var P=0;P<o;++P){var re=i[P];if(re>255){var Y=re>>18&31;rx(e,c,V[Y+257]),c+=U[Y+257],Y>7&&(gg(e,c,re>>23&31),c+=l4[Y]);var Z=re&31;rx(e,c,K[Z]),c+=j[Z],Z>3&&(rx(e,c,re>>5&8191),c+=h4[Z])}else rx(e,c,V[re]),c+=U[re]}return rx(e,c,V[256]),c+U[256]},yPe=new a4([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Az=new Zl(0),vPe=function(a,e,t,i,r,s){var n=s.z||a.length,o=new Zl(i+n+5*(1+Math.ceil(n/7e3))+r),l=o.subarray(i,o.length-r),h=s.l,c=(s.r||0)&7;if(e){c&&(l[0]=s.r>>3);for(var d=yPe[e-1],u=d>>13,A=d&8191,f=(1<<t)-1,p=s.p||new au(32768),g=s.h||new au(f+1),_=Math.ceil(t/3),m=2*_,w=function($){return(a[$]^a[$+1]<<_^a[$+2]<<m)&f},y=new a4(25e3),v=new au(288),C=new au(32),E=0,P=0,I=s.i||0,R=0,D=s.w||0,S=0;I+2<n;++I){var B=w(I),b=I&32767,L=g[B];if(p[b]=L,g[B]=b,D<=I){var V=n-I;if((E>7e3||R>24576)&&(V>423||!h)){c=RV(a,l,0,y,v,C,P,R,S,I-S,c),R=E=P=0,S=I;for(var U=0;U<286;++U)v[U]=0;for(var U=0;U<30;++U)C[U]=0}var K=2,j=0,ae=A,k=b-L&32767;if(V>2&&B==w(I-k))for(var W=Math.min(u,V)-1,z=Math.min(32767,I),Y=Math.min(258,V);k<=z&&--ae&&b!=L;){if(a[I+K]==a[I+K-k]){for(var re=0;re<Y&&a[I+re]==a[I+re-k];++re);if(re>K){if(K=re,j=k,re>W)break;for(var Z=Math.min(k,re-2),le=0,U=0;U<Z;++U){var Ae=I-k+U&32767,pe=p[Ae],me=Ae-pe&32767;me>le&&(le=me,L=Ae)}}}b=L,L=p[b],k+=b-L&32767}if(j){y[R++]=268435456|IN[K]<<18|BV[j];var ne=IN[K]&31,J=BV[j]&31;P+=l4[ne]+h4[J],++v[257+ne],++C[J],D=I+K,++E}else y[R++]=a[I],++v[a[I]]}}for(I=Math.max(I,D);I<n;++I)y[R++]=a[I],++v[a[I]];c=RV(a,l,h,y,v,C,P,R,S,I-S,c),h||(s.r=c&7|l[c/8|0]<<3,c-=7,s.h=g,s.p=p,s.i=I,s.w=D)}else{for(var I=s.w||0;I<n+h;I+=65535){var ce=I+65535;ce>=n&&(l[c/8|0]=h,ce=n),c=uz(l,c+1,a.subarray(I,ce))}s.i=n}return dz(o,0,i+cz(c)+r)},CPe=function(){for(var a=new Int32Array(256),e=0;e<256;++e){for(var t=e,i=9;--i;)t=(t&1&&-306674912)^t>>>1;a[e]=t}return a}(),bPe=function(){var a=-1;return{p:function(e){for(var t=a,i=0;i<e.length;++i)t=CPe[t&255^e[i]]^t>>>8;a=t},d:function(){return~a}}},EPe=function(a,e,t,i,r){if(!r&&(r={l:1},e.dictionary)){var s=e.dictionary.subarray(-32768),n=new Zl(s.length+a.length);n.set(s),n.set(a,s.length),a=n,r.w=s.length}return vPe(a,e.level==null?6:e.level,e.mem==null?r.l?Math.ceil(Math.max(8,Math.min(13,Math.log(a.length)))*1.5):20:12+e.mem,t,i,r)},fz=function(a,e){var t={};for(var i in a)t[i]=a[i];for(var i in e)t[i]=e[i];return t},tl=function(a,e,t){for(;t;++e)a[e]=t,t>>>=8};function xPe(a,e){return EPe(a,e||{},0,0)}var pz=function(a,e,t,i){for(var r in a){var s=a[r],n=e+r,o=i;Array.isArray(s)&&(o=fz(i,s[1]),s=s[0]),s instanceof Zl?t[n]=[s,o]:(t[n+="/"]=[new Zl(0),o],pz(s,n,t,i))}},TV=typeof TextEncoder<"u"&&new TextEncoder,SPe=typeof TextDecoder<"u"&&new TextDecoder,IPe=0;try{SPe.decode(Az,{stream:!0}),IPe=1}catch{}function LV(a,e){var t;if(TV)return TV.encode(a);for(var i=a.length,r=new Zl(a.length+(a.length>>1)),s=0,n=function(h){r[s++]=h},t=0;t<i;++t){if(s+5>r.length){var o=new Zl(s+8+(i-t<<1));o.set(r),r=o}var l=a.charCodeAt(t);l<128||e?n(l):l<2048?(n(192|l>>6),n(128|l&63)):l>55295&&l<57344?(l=65536+(l&1047552)|a.charCodeAt(++t)&1023,n(240|l>>18),n(128|l>>12&63),n(128|l>>6&63),n(128|l&63)):(n(224|l>>12),n(128|l>>6&63),n(128|l&63))}return dz(r,0,s)}var PN=function(a){var e=0;if(a)for(var t in a){var i=a[t].length;i>65535&&zT(9),e+=i+4}return e},DV=function(a,e,t,i,r,s,n,o){var l=i.length,h=t.extra,c=o&&o.length,d=PN(h);tl(a,e,n!=null?33639248:67324752),e+=4,n!=null&&(a[e++]=20,a[e++]=t.os),a[e]=20,e+=2,a[e++]=t.flag<<1|(s<0&&8),a[e++]=r&&8,a[e++]=t.compression&255,a[e++]=t.compression>>8;var u=new Date(t.mtime==null?Date.now():t.mtime),A=u.getFullYear()-1980;if((A<0||A>119)&&zT(10),tl(a,e,A<<25|u.getMonth()+1<<21|u.getDate()<<16|u.getHours()<<11|u.getMinutes()<<5|u.getSeconds()>>1),e+=4,s!=-1&&(tl(a,e,t.crc),tl(a,e+4,s<0?-s-2:s),tl(a,e+8,t.size)),tl(a,e+12,l),tl(a,e+14,d),e+=16,n!=null&&(tl(a,e,c),tl(a,e+6,t.attrs),tl(a,e+10,n),e+=14),a.set(i,e),e+=l,d)for(var f in h){var p=h[f],g=p.length;tl(a,e,+f),tl(a,e+2,g),a.set(p,e+4),e+=4+g}return c&&(a.set(o,e),e+=c),e},BPe=function(a,e,t,i,r){tl(a,e,101010256),tl(a,e+8,t),tl(a,e+10,t),tl(a,e+12,i),tl(a,e+16,r)};function PPe(a,e){e||(e={});var t={},i=[];pz(a,"",t,e);var r=0,s=0;for(var n in t){var o=t[n],l=o[0],h=o[1],c=h.level==0?0:8,d=LV(n),u=d.length,A=h.comment,f=A&&LV(A),p=f&&f.length,g=PN(h.extra);u>65535&&zT(11);var _=c?xPe(l,h):l,m=_.length,w=bPe();w.p(l),i.push(fz(h,{size:l.length,crc:w.d(),c:_,f:d,m:f,u:u!=n.length||f&&A.length!=p,o:r,compression:c})),r+=30+u+g+m,s+=76+2*(u+g)+(p||0)+m}for(var y=new Zl(s+22),v=r,C=s-r,E=0;E<i.length;++E){var d=i[E];DV(y,d.o,d,d.f,d.u,d.c.length);var P=30+d.f.length+PN(d.extra);y.set(d.c,d.o+P),DV(y,r,d,d.f,d.u,d.c.length,d.o,d.m),r+=16+P+(d.m?d.m.length:0)}return BPe(y,r,i.length,C,v),y}const RPe=-1,gI=-2,TPe=[12,1,RPe,9,1,gI,10,1,gI,11,1,gI,12,0,gI],LPe=[8,53,0,6,7,1,4,7,2,4,8,3,4,11,4,4,12,5,4,14,6,4,15,7,5,19,8,5,20,9,5,7,10,5,8,11,6,8,12,6,3,13,6,52,14,6,53,15,6,42,16,6,43,17,7,39,18,7,12,19,7,8,20,7,23,21,7,3,22,7,4,23,7,40,24,7,43,25,7,19,26,7,36,27,7,24,28,8,2,29,8,3,30,8,26,31,8,27,32,8,18,33,8,19,34,8,20,35,8,21,36,8,22,37,8,23,38,8,40,39,8,41,40,8,42,41,8,43,42,8,44,43,8,45,44,8,4,45,8,5,46,8,10,47,8,11,48,8,82,49,8,83,50,8,84,51,8,85,52,8,36,53,8,37,54,8,88,55,8,89,56,8,90,57,8,91,58,8,74,59,8,75,60,8,50,61,8,51,62,8,52,63],DPe=[5,27,64,5,18,128,6,23,192,7,55,256,8,54,320,8,55,384,8,100,448,8,101,512,8,104,576,8,103,640,9,204,704,9,205,768,9,210,832,9,211,896,9,212,960,9,213,1024,9,214,1088,9,215,1152,9,216,1216,9,217,1280,9,218,1344,9,219,1408,9,152,1472,9,153,1536,9,154,1600,6,24,1664,9,155,1728,11,8,1792,11,12,1856,11,13,1920,12,18,1984,12,19,2048,12,20,2112,12,21,2176,12,22,2240,12,23,2304,12,28,2368,12,29,2432,12,30,2496,12,31,2560],OPe=[10,55,0,3,2,1,2,3,2,2,2,3,3,3,4,4,3,5,4,2,6,5,3,7,6,5,8,6,4,9,7,4,10,7,5,11,7,7,12,8,4,13,8,7,14,9,24,15,10,23,16,10,24,17,10,8,18,11,103,19,11,104,20,11,108,21,11,55,22,11,40,23,11,23,24,11,24,25,12,202,26,12,203,27,12,204,28,12,205,29,12,104,30,12,105,31,12,106,32,12,107,33,12,210,34,12,211,35,12,212,36,12,213,37,12,214,38,12,215,39,12,108,40,12,109,41,12,218,42,12,219,43,12,84,44,12,85,45,12,86,46,12,87,47,12,100,48,12,101,49,12,82,50,12,83,51,12,36,52,12,55,53,12,56,54,12,39,55,12,40,56,12,88,57,12,89,58,12,43,59,12,44,60,12,90,61,12,102,62,12,103,63],MPe=[10,15,64,12,200,128,12,201,192,12,91,256,12,51,320,12,52,384,12,53,448,13,108,512,13,109,576,13,74,640,13,75,704,13,76,768,13,77,832,13,114,896,13,115,960,13,116,1024,13,117,1088,13,118,1152,13,119,1216,13,82,1280,13,83,1344,13,84,1408,13,85,1472,13,90,1536,13,91,1600,13,100,1664,13,101,1728,11,8,1792,11,12,1856,11,13,1920,12,18,1984,12,19,2048,12,20,2112,12,21,2176,12,22,2240,12,23,2304,12,28,2368,12,29,2432,12,30,2496,12,31,2560],gz=function(a,e,t){return{codeLen:a,code:e,runLength:t}},QC=function(a){const e=[];for(let t=0,i=a.length;t<i;t+=3)e.push({codeLen:a[t],code:a[t+1],runLength:a[t+2]});return e},nx=[QC(LPe),QC(OPe)],OV=[QC(DPe),QC(MPe)],NPe=QC(TPe),jD=gz(4,1,0),qD=gz(3,1,0),kPe=QC([7,3,0,6,3,0,3,3,0,1,1,0,3,2,0,6,2,0,7,2,0]);var M1;(function(a){a.GROUP_3="g3",a.GROUP_3_2D="g3-2d",a.GROUP_4="g4"})(M1||(M1={}));const Mw=0,ZD=1,ox=[128,64,32,16,8,4,2,1],FPe=[240,15];class Ww{constructor(e,t){if(!(e===1||e===4||e===8))throw new Error("Invalid bps: "+e);this._bps=e,this._pixels=t,this._bytes=this.bytesOfPixels(t),this._dv=new DataView(new ArrayBuffer(this._bytes))}get byteLength(){return this._bytes}bytesOfPixels(e){return(e*this._bps+7)/8|0}prepare(e,t){for(let i=0;i<this._bytes;i++)this._dv.setUint8(i,e[t+i]);return this}clear(){for(let e=0;e<this._bytes;e++)this._dv.setUint8(e,0);return this}getRow(e){return new Uint8Array(this._dv.buffer.slice(0,this.bytesOfPixels(e)))}getByte(e){return this._dv.getUint8(e)}getBytes(e){return new Uint8Array(this._dv.buffer.slice(0,e))}getPixel(e){const t=e*this._bps,i=t/8|0,r=t%8,s=this._dv.getUint8(i);return this._bps===1?s&ox[r]:this._bps===4?s&FPe[r]:s}getBit(e){const t=e/8|0,i=e%8;return this._dv.getUint8(t)&ox[i]?1:0}setBits(e,t,i){const r=i-1;let s=e/8|0,n=e%8,o=0;for(;o<i;)try{let l=this._dv.getUint8(s);for(;n<8&&o<i;){const h=t&1<<r-o?1:0;l&=~(1<<7-n)&255,l|=h<<7-n,o++,n++}this._dv.setUint8(s,l),s++,n=0}catch{debugger}}setString(e,t){const i=t.length;let r=0;for(let s=0;s<i;s++){const n=t.charAt(s)==="0"?0:1;r+=n<<i-1-s}this.setBits(e,r,i)}getBits(e,t){const i=t-1;let r=e/8|0,s=e%8,n=0,o=0;for(;o<t;){const l=this._dv.getUint8(r);for(;s<8&&o<t;){const h=l&ox[s]?1:0;n|=h<<i-o,o++,s++}r++,s=0}return n}getSpan(e){const t=this._dv.byteLength;let i=e/8|0,r=e%8,s=this._dv.getUint8(i);const n=s&ox[r++]?1:0;let o=1;for(;i<t;){for(;r<8;){if((s&ox[r++]?1:0)!==n)return o;o++}i++,r=0,i<t&&(s=this._dv.getUint8(i))}return o}toString(){let e="";for(let t=0,i=this._dv.byteLength;t<i;t++){const r=this._dv.getUint8(t);for(let s=0;s<8;s++){const n=1<<7-s;e+=r&n?1:0}}return e}}class c4{static encodePixcels(e,t){return t.scheme===M1.GROUP_4?new HPe().encode(e,t):new VPe().encode(e,t)}constructor(){}encode(e,t){return this._wPixels=t.columns,this._doEncode(e,t)}_encodeLine1D(e,t,i,r){let s=0,n=0,o=0,l=0;const h=NPe[0];if(t.setBits(n,h.code,h.codeLen),n+=h.codeLen,r&&(t.setBits(n,1,1),n+=1),e.getBit(0)===ZD){const c=nx[Mw][0];t.setBits(n,c.code,c.codeLen),n+=c.codeLen,o=1}for(;s<i;){const c=e.getSpan(s);if(c<64){const d=nx[o][c];t.setBits(n,d.code,d.codeLen),n+=d.codeLen,l+=d.runLength}else if(c<2624){const d=OV[o][(c-64)/64|0];t.setBits(n,d.code,d.codeLen),n+=d.codeLen,l+=d.runLength;const u=nx[o][c%64];t.setBits(n,u.code,u.codeLen),n+=u.codeLen,l+=u.runLength}else debugger;s+=c,o=1-o}if(l!==i){debugger;console.log(l)}return n}$_findDiff(e,t,i){let r=t;for(;r<this._wPixels;r++)if(e.getBit(r)!==i)return r;return r}$_setSpan(e,t,i,r){let s=0;if(i<64){const n=nx[r][i];e.setBits(t,n.code,n.codeLen),s+=n.codeLen}else if(i<2624){const n=OV[r][(i-64)/64|0];e.setBits(t,n.code,n.codeLen),t+=n.codeLen,s+=n.codeLen;const o=nx[r][i%64];e.setBits(t,o.code,o.codeLen),s+=o.codeLen}else debugger;return s}_encodeLine2D(e,t,i,r){let s=0,n=t.getBit(0)!==Mw?0:this.$_findDiff(t,0,Mw),o=e.getBit(0)!==Mw?0:this.$_findDiff(e,0,Mw),l=0;for(;;){const h=o<r?this.$_findDiff(e,o,e.getBit(o)):r;if(h>=n){const d=o-n;if(d>=-3&&d<=3){const u=kPe[d+3];i.setBits(l,u.code,u.codeLen),l+=u.codeLen,s=n}else{const u=n<r?this.$_findDiff(t,n,t.getBit(n)):r;i.setBits(l,qD.code,qD.codeLen),l+=qD.codeLen,s+n===0||t.getBit(s)===0?(l+=this.$_setSpan(i,l,n-s,Mw),l+=this.$_setSpan(i,l,u-n,ZD)):(l+=this.$_setSpan(i,l,n-s,ZD),l+=this.$_setSpan(i,l,u-n,Mw)),s=u}}else i.setBits(l,jD.code,jD.codeLen),l+=jD.codeLen,s=h;if(s>=r)break;const c=t.getBit(s);n=this.$_findDiff(t,s,c),o=this.$_findDiff(e,s,1-c),o=this.$_findDiff(e,o,c)}return l}}class VPe extends c4{_doEncode(e,t){const i=t.columns,r=t.height;return t.scheme===M1.GROUP_3?this.$_encode1D(e,i,r):this.$_encode2D(e,i,r)}$_encode1D(e,t,i){const r=[],s=[],n=new Ww(1,t),o=n.byteLength,l=new Ww(1,t*4);for(let d=0;d<i;d++){const u=this._encodeLine1D(n.prepare(e,o*d),l.clear(),t,!1),A=l.bytesOfPixels(u);r.push(A),s.push(l.getBytes(A))}const h=s.map(d=>d.length).reduce((d,u)=>d+u,0),c=new Uint8Array(new ArrayBuffer(h));for(let d=0,u=0;d<i;d++)c.set(s[d],u),u+=r[d];return{counts:r,rows:c}}$_encode2D(e,t,i){const r=[],s=[],n=new Ww(1,t),o=n.byteLength,l=new Ww(1,t*4);for(let d=0;d<i;d++){const u=this._encodeLine1D(n.prepare(e,o*d),l.clear(),t,!0),A=l.bytesOfPixels(u);r.push(A),s.push(l.getBytes(A))}const h=s.map(d=>d.length).reduce((d,u)=>d+u,0),c=new Uint8Array(new ArrayBuffer(h));for(let d=0,u=0;d<i;d++)c.set(s[d],u),u+=r[d];return{counts:r,rows:c}}}class HPe extends c4{_doEncode(e,t){const i=t.columns,r=t.height,s=[],n=[];let o=new Ww(1,i).clear();const l=new Ww(1,i),h=l.byteLength,c=new Ww(1,i*4);for(let A=0;A<r;A++){const f=this._encodeLine2D(o,l.prepare(e,h*A),c.clear(),i),p=c.bytesOfPixels(f);s.push(p),n.push(c.getBytes(p))}const d=n.map(A=>A.length).reduce((A,f)=>A+f,0),u=new Uint8Array(new ArrayBuffer(d));for(let A=0,f=0;A<r;A++)u.set(n[A],f),f+=s[A];return{counts:s,rows:u}}}const _g=3,JD=4,MV=5,UPe=3,QPe=4,GPe=0,$Pe=2,Mv=500;class WPe{constructor(){this._curr=0}encode(e,t){const i=8+Mv*e.length+e.map(n=>ee.toEven(n.encoded.counts.length*8+n.encoded.rows.length)).reduce((n,o)=>n+o,0),r=new ArrayBuffer(i),s=this._dv=new DataView(r);return this.$_writeHeader(s),e.forEach((n,o,l)=>this.$_writeIFD(n,t,o,l.length)),r}seek(e){this._curr=e}skip(e){this._curr+=e}set16(e){this._dv.setInt16(this._curr,e),this._curr+=2}setU16(e){this._dv.setUint16(this._curr,e),this._curr+=2}set32(e){this._dv.setInt32(this._curr,e),this._curr+=4}setU32(e){this._dv.setUint32(this._curr,e),this._curr+=4}setStr(e){for(let t=0,i=e.length;t<i;t++)this._dv.setUint8(this._curr++,e.charCodeAt(t)&255);this._curr&1&&this._curr++}strLen(e){return ee.toEven(e.length)}dateStr(e){function t(i){return i<10?"0"+i:String(i)}return e.getFullYear()+":"+t(e.getMonth()+1)+":"+t(e.getDate())+" "+t(e.getHours())+":"+t(e.getMinutes())+":"+t(e.getSeconds())}$_writeHeader(e){this.set16(19789),this.set16(42),this.set32(8)}$_writeIFD(e,t,i,r){const s=i===r-1,n=e.width,o=e.height,l=t.encoding===M1.GROUP_3_2D||t.encoding===M1.GROUP_3?UPe:QPe,h=this._curr,c=e.encoded.counts,d=c.length,u=e.encoded.rows,A=s?0:ee.toEven(h+Mv+c.length*8+u.length);this._entryCount=0,this._pointer=0,this._pointers=[],this.skip(2),this.$_addVal(256,_g,1,n),this.$_addVal(257,_g,1,o),this.$_addVal(259,_g,1,l),this.$_addVal(262,_g,1,GPe),this.$_addVal(266,_g,1,1),this.$_addVal(273,JD,d,h+Mv+d*4),this.$_addVal(277,_g,1,1),this.$_addVal(278,_g,1,1),this.$_addVal(279,JD,d,h+Mv),this.$_addOff(282,MV,1,8),this.$_addOff(283,MV,1,8),this.$_addVal(292,JD,1,1),this.$_addVal(296,_g,1,$Pe),this.set32(A),this.set32(t.dpi||204),this.set32(1),this.set32(t.dpi||196),this.set32(1);let f=h+2+this._entryCount*12+4;this._pointers.forEach(_=>{const m=this._dv.getUint32(_);this._dv.setUint32(_,f+m)});const p=this._curr;this.seek(h),this.setU16(this._entryCount),this.seek(p),this.seek(h+Mv);for(let _=0;_<d;_++)this.setU32(c[_]);for(let _=0,m=this._curr+d*4;_<d;_++)this.setU32(m),m+=c[_];if(this._curr!==h+Mv+d*8)debugger;new Uint8Array(this._dv.buffer).set(e.encoded.rows,this._curr),s||this.seek(A)}$_addVal(e,t,i,r){this.set16(e),this.set16(t),this.set32(i),t===_g&&i===1?(this.set16(r),this.set16(0)):this.set32(r),this._entryCount++}$_addOff(e,t,i,r){this.set16(e),this.set16(t),this.set32(i),this._pointers.push(this._curr),this.set32(this._pointer),this._pointer+=r,this._entryCount++}}class zPe{constructor(){}encode(e,t){t.encoding=t.encoding||M1.GROUP_4;const i=this.$_getImages(e,t.encoding),s=new WPe().encode(i,t);return[new Uint8Array(s)]}$_getImages(e,t){const i=[];return e.forEach((r,s)=>{const n=r.width,o=r.height,l=r.getContext("2d").getImageData(0,0,n,o).data,h=l.length,d=Math.floor((n+7)/8)*o,u=new Uint8Array(d),A=new DataView(u.buffer);let f=0,p=0;for(;f<h;){let _=0;for(;p<d&&f<h&&_<n;){let m=0;for(let w=0;w<8&&f<h&&_<n;w++,_++)if(l[f+3]>0){const y=l[f++],v=l[f++],C=l[f++];f++,m+=(y===255&&v===255&&C===255?0:1)<<7-w}else f+=4;A.setUint8(p++,m)}}if(p!==u.length)debugger;const g=c4.encodePixcels(u,{scheme:t,width:r.width*32,height:r.height,columns:r.width});i.push({index:s,width:r.width,height:r.height,imageData:u,length:ee.toEven(d),encoded:g})}),i}}function _I(a){return~~a}var KPe=100,uh=256,NV=uh-1,dm=4,_z=16,d4=1<<_z,mz=10,u4=10,YPe=d4>>u4,XPe=d4<<mz-u4,jPe=uh>>3,RN=6,qPe=1<<RN,ZPe=jPe*qPe,JPe=30,wz=10,mI=1<<wz,yz=8,kV=1<<yz,eRe=wz+yz,Nv=1<<eRe,FV=499,VV=491,HV=487,vz=503,tRe=3*vz;class iRe{constructor(e,t){var i,r,s,n,o;function l(){i=[],r=[],s=[],n=[],o=[];var m,w;for(m=0;m<uh;m++)w=(m<<dm+8)/uh,i[m]=[w,w,w],n[m]=d4/uh,s[m]=0}function h(){for(var m=0;m<uh;m++)i[m][0]>>=dm,i[m][1]>>=dm,i[m][2]>>=dm,i[m][3]=m}function c(m,w,y,v,C){i[w][0]-=m*(i[w][0]-y)/mI,i[w][1]-=m*(i[w][1]-v)/mI,i[w][2]-=m*(i[w][2]-C)/mI}function d(m,w,y,v,C){for(var E=Math.abs(w-m),P=Math.min(w+m,uh),I=w+1,R=w-1,D=1,S,B;I<P||R>E;)B=o[D++],I<P&&(S=i[I++],S[0]-=B*(S[0]-y)/Nv,S[1]-=B*(S[1]-v)/Nv,S[2]-=B*(S[2]-C)/Nv),R>E&&(S=i[R--],S[0]-=B*(S[0]-y)/Nv,S[1]-=B*(S[1]-v)/Nv,S[2]-=B*(S[2]-C)/Nv)}function u(m,w,y){const v=uh/8;var C=~(1<<31),E=C,P=-1,I=P,R,D,S,B,b;for(R=0;R<v;R++)D=i[R],S=Math.abs(D[0]-m)+Math.abs(D[1]-w)+Math.abs(D[2]-y),S<C&&(C=S,P=R),B=S-(s[R]>>_z-dm),B<E&&(E=B,I=R),b=n[R]>>u4,n[R]-=b,s[R]+=b<<mz;return n[P]+=YPe,s[P]-=XPe,I}function A(){var m,w,y,v,C,E,P=0,I=0;for(m=0;m<uh;m++){for(y=i[m],C=m,E=y[1],w=m+1;w<uh;w++)v=i[w],v[1]<E&&(C=w,E=v[1]);if(v=i[C],m!=C&&(w=v[0],v[0]=y[0],y[0]=w,w=v[1],v[1]=y[1],y[1]=w,w=v[2],v[2]=y[2],y[2]=w,w=v[3],v[3]=y[3],y[3]=w),E!=P){for(r[P]=I+m>>1,w=P+1;w<E;w++)r[w]=m;P=E,I=m}}for(r[P]=I+NV>>1,w=P+1;w<256;w++)r[w]=NV}function f(m,w,y){for(var v,C,E,P=1e3,I=-1,R=r[w],D=R-1;R<uh||D>=0;)R<uh&&(C=i[R],E=C[1]-w,E>=P?R=uh:(R++,E<0&&(E=-E),v=C[0]-m,v<0&&(v=-v),E+=v,E<P&&(v=C[2]-y,v<0&&(v=-v),E+=v,E<P&&(P=E,I=C[3])))),D>=0&&(C=i[D],E=w-C[1],E>=P?D=-1:(D--,E<0&&(E=-E),v=C[0]-m,v<0&&(v=-v),E+=v,E<P&&(v=C[2]-y,v<0&&(v=-v),E+=v,E<P&&(P=E,I=C[3]))));return I}function p(){var m,w=e.length,y=_I(30+(t-1)/3),v=_I(w/(3*t)),C=_I(v/KPe),E=mI,P=ZPe,I=P>>RN;for(I<=1&&(I=0),m=0;m<I;m++)o[m]=_I(E*((I*I-m*m)*kV/(I*I)));var R;w<tRe?(t=1,R=3):w%FV!==0?R=3*FV:w%VV!==0?R=3*VV:w%HV!==0?R=3*HV:R=3*vz;var D,S,B,b,L=0;for(m=0;m<v;)if(D=(e[L]&255)<<dm,S=(e[L+1]&255)<<dm,B=(e[L+2]&255)<<dm,b=u(D,S,B),c(E,b,D,S,B),I!==0&&d(I,b,D,S,B),L+=R,L>=w&&(L-=w),m++,C===0&&(C=1),m%C===0)for(E-=E/y,P-=P/JPe,I=P>>RN,I<=1&&(I=0),b=0;b<I;b++)o[b]=~~(E*((I*I-b*b)*kV/(I*I)))}function g(){l(),p(),h(),A()}this.buildColormap=g;function _(){for(var m=[],w=[],y=0;y<uh;y++)w[i[y][3]]=y;for(var v=0,C=0;C<uh;C++){var E=w[C];m[v++]=i[E][0],m[v++]=i[E][1],m[v++]=i[E][2]}return m}this.getColormap=_,this.lookupRGB=f}}var UV=-1,wI=12,ax=5003,rRe=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];class sRe{constructor(e,t,i,r){var s=Math.max(2,r),n=new Uint8Array(256),o=new Int32Array(ax),l=new Int32Array(ax),h,c=0,d,u=0,A,f,p,g,_=!1,m,w,y;function v(b,L){n[d++]=b,d>=254&&R(L)}function C(b){E(ax),u=w+2,_=!0,B(w,b)}function E(b){for(var L=0;L<b;++L)o[L]=-1}function P(b,L){var V,U,K,j,ae,k,W;for(m=b,_=!1,g=m,A=D(g),w=1<<b-1,y=w+1,u=w+2,d=0,j=S(),W=0,V=ax;V<65536;V*=2)++W;W=8-W,k=ax,E(k),B(w,L);e:for(;(U=S())!=UV;){if(V=(U<<wI)+j,K=U<<W^j,o[K]===V){j=l[K];continue}else if(o[K]>=0){ae=k-K,K===0&&(ae=1);do if((K-=ae)<0&&(K+=k),o[K]===V){j=l[K];continue e}while(o[K]>=0)}B(j,L),j=U,u<1<<wI?(l[K]=u++,o[K]=V):C(L)}B(j,L),B(y,L)}function I(b){b.writeByte(s),f=e*t,p=0,P(s+1,b),b.writeByte(0)}function R(b){d>0&&(b.writeByte(d),b.writeBytes(n,0,d),d=0)}function D(b){return(1<<b)-1}function S(){if(f===0)return UV;--f;var b=i[p++];return b&255}function B(b,L){for(h&=rRe[c],c>0?h|=b<<c:h=b,c+=g;c>=8;)v(h&255,L),h>>=8,c-=8;if((u>A||_)&&(_?(A=D(g=m),_=!1):(++g,g==wI?A=1<<wI:A=D(g))),b==y){for(;c>0;)v(h&255,L),h>>=8,c-=8;R(L)}}this.encode=I}}class Vg{constructor(){this.page=-1,this.pages=[],this.newPage()}newPage(){this.pages[++this.page]=new Uint8Array(Vg.pageSize),this.cursor=0}getData(){for(var e="",t=0;t<this.pages.length;t++)for(var i=0;i<Vg.pageSize;i++)e+=Vg.charMap[this.pages[t][i]];return e}writeByte(e){this.cursor>=Vg.pageSize&&this.newPage(),this.pages[this.page][this.cursor++]=e}writeUTFBytes(e){for(var t=e.length,i=0;i<t;i++)this.writeByte(e.charCodeAt(i))}writeBytes(e,t,i){for(var r=i||e.length,s=t||0;s<r;s++)this.writeByte(e[s])}}Vg.pageSize=4096;Vg.charMap={};for(var yI=0;yI<256;yI++)Vg.charMap[yI]=String.fromCharCode(yI);class nRe{constructor(e,t){this.width=~~e,this.height=~~t,this.transparent=null,this.transIndex=0,this.repeat=-1,this.delay=0,this.image=null,this.pixels=null,this.indexedPixels=null,this.colorDepth=null,this.colorTab=null,this.neuQuant=null,this.usedEntry=new Array,this.palSize=7,this.dispose=-1,this.firstFrame=!0,this.sample=10,this.dither=!1,this.globalPalette=!1,this.out=new Vg}setDelay(e){this.delay=Math.round(e/10)}setFrameRate(e){this.delay=Math.round(100/e)}setDispose(e){e>=0&&(this.dispose=e)}setRepeat(e){this.repeat=e}setTransparent(e){this.transparent=e}addFrame(e){this.image=e,this.colorTab=this.globalPalette&&this.globalPalette.slice?this.globalPalette:null,this.getImagePixels(),this.analyzePixels(),this.globalPalette===!0&&(this.globalPalette=this.colorTab),this.firstFrame&&(this.writeLSD(),this.writePalette(),this.repeat>=0&&this.writeNetscapeExt()),this.writeGraphicCtrlExt(),this.writeImageDesc(),!this.firstFrame&&!this.globalPalette&&this.writePalette(),this.writePixels(),this.firstFrame=!1}finish(){this.out.writeByte(59)}setQuality(e){e<1&&(e=1),this.sample=e}setDither(e){e===!0&&(e="FloydSteinberg"),this.dither=e}setGlobalPalette(e){this.globalPalette=e}getGlobalPalette(){return this.globalPalette&&this.globalPalette.slice&&this.globalPalette.slice(0)||this.globalPalette}writeHeader(){this.out.writeUTFBytes("GIF89a")}analyzePixels(){this.colorTab||(this.neuQuant=new iRe(this.pixels,this.sample),this.neuQuant.buildColormap(),this.colorTab=this.neuQuant.getColormap()),this.dither?this.ditherPixels(this.dither.replace("-serpentine",""),this.dither.match(/-serpentine/)!==null):this.indexPixels(),this.pixels=null,this.colorDepth=8,this.palSize=7,this.transparent!==null&&(this.transIndex=this.findClosest(this.transparent,!0))}indexPixels(e){var t=this.pixels.length/3;this.indexedPixels=new Uint8Array(t);for(var i=0,r=0;r<t;r++){var s=this.findClosestRGB(this.pixels[i++]&255,this.pixels[i++]&255,this.pixels[i++]&255);this.usedEntry[s]=!0,this.indexedPixels[r]=s}}ditherPixels(e,t){var i={FalseFloydSteinberg:[[.375,1,0],[.375,0,1],[.25,1,1]],FloydSteinberg:[[.4375,1,0],[.1875,-1,1],[.3125,0,1],[.0625,1,1]],Stucki:[[.19047619047619047,1,0],[.09523809523809523,2,0],[.047619047619047616,-2,1],[.09523809523809523,-1,1],[.19047619047619047,0,1],[.09523809523809523,1,1],[.047619047619047616,2,1],[.023809523809523808,-2,2],[.047619047619047616,-1,2],[.09523809523809523,0,2],[.047619047619047616,1,2],[.023809523809523808,2,2]],Atkinson:[[.125,1,0],[.125,2,0],[.125,-1,1],[.125,0,1],[.125,1,1],[.125,0,2]]};if(!e||!i[e])throw"Unknown dithering kernel: "+e;var r=i[e],s=0,n=this.height,o=this.width,l=this.pixels,h=t?-1:1;this.indexedPixels=new Uint8Array(this.pixels.length/3);for(var c=0;c<n;c++){t&&(h=h*-1);for(var d=h==1?0:o-1,u=h==1?o:0;d!==u;d+=h){s=c*o+d;var A=s*3,f=l[A],p=l[A+1],g=l[A+2];A=this.findClosestRGB(f,p,g),this.usedEntry[A]=!0,this.indexedPixels[s]=A,A*=3;for(var _=this.colorTab[A],m=this.colorTab[A+1],w=this.colorTab[A+2],y=f-_,v=p-m,C=g-w,E=h==1?0:r.length-1,P=h==1?r.length:0;E!==P;E+=h){var I=r[E][1],R=r[E][2];if(I+d>=0&&I+d<o&&R+c>=0&&R+c<n){var D=r[E][0];A=s+I+R*o,A*=3,l[A]=Math.max(0,Math.min(255,l[A]+y*D)),l[A+1]=Math.max(0,Math.min(255,l[A+1]+v*D)),l[A+2]=Math.max(0,Math.min(255,l[A+2]+C*D))}}}}}findClosest(e,t){return this.findClosestRGB((e&16711680)>>16,(e&65280)>>8,e&255,t)}findClosestRGB(e,t,i,r){if(this.colorTab===null)return-1;if(this.neuQuant&&!r)return this.neuQuant.lookupRGB(e,t,i);for(var s=0,n=256*256*256,o=this.colorTab.length,l=0,h=0;l<o;h++){var c=e-(this.colorTab[l++]&255),d=t-(this.colorTab[l++]&255),u=i-(this.colorTab[l++]&255),A=c*c+d*d+u*u;(!r||this.usedEntry[h])&&A<n&&(n=A,s=h)}return s}getImagePixels(){var e=this.width,t=this.height;this.pixels=new Uint8Array(e*t*3);for(var i=this.image,r=0,s=0,n=0;n<t;n++)for(var o=0;o<e;o++)this.pixels[s++]=i[r++],this.pixels[s++]=i[r++],this.pixels[s++]=i[r++],r++}writeGraphicCtrlExt(){this.out.writeByte(33),this.out.writeByte(249),this.out.writeByte(4);var e,t;this.transparent===null?(e=0,t=0):(e=1,t=2),this.dispose>=0&&(t=this.dispose&7),t<<=2,this.out.writeByte(0|t|0|e),this.writeShort(this.delay),this.out.writeByte(this.transIndex),this.out.writeByte(0)}writeImageDesc(){this.out.writeByte(44),this.writeShort(0),this.writeShort(0),this.writeShort(this.width),this.writeShort(this.height),this.firstFrame||this.globalPalette?this.out.writeByte(0):this.out.writeByte(128|this.palSize)}writeLSD(){this.writeShort(this.width),this.writeShort(this.height),this.out.writeByte(240|this.palSize),this.out.writeByte(0),this.out.writeByte(0)}writeNetscapeExt(){this.out.writeByte(33),this.out.writeByte(255),this.out.writeByte(11),this.out.writeUTFBytes("NETSCAPE2.0"),this.out.writeByte(3),this.out.writeByte(1),this.writeShort(this.repeat),this.out.writeByte(0)}writePalette(){this.out.writeBytes(this.colorTab);for(var e=3*256-this.colorTab.length,t=0;t<e;t++)this.out.writeByte(0)}writeShort(e){this.out.writeByte(e&255),this.out.writeByte(e>>8&255)}writePixels(){var e=new sRe(this.width,this.height,this.indexedPixels,this.colorDepth);e.encode(this.out)}stream(){return this.out}}class QV extends Ai{async export(e,t,i){const r=await this.exportBlobs(e,t,i),s=r.length===1,n=s?r[0]:PPe(await this.$_buildFileMap(r,i)),o=s?i.type||"png":"zip",l=`${i.fileName||"realreport"}.${o}`;T1(n,l)}async exportBlobs(e,t,i){zi.setMarkerElementsVisible(t,!1);const r=i.type||"png",s=[];if(r==="tiff"||r==="tif"){const o=[];for(let d=0;d<t.length;d++){const u=t[d].page,A={onclone:p=>{const g=p.body.getElementsByClassName("rr-print-page");for(let m of g)m.style.boxShadow="unset";const _=p.body.getElementsByClassName("rr-group-element");for(let m of _){const w=getComputedStyle(m).backgroundColor;w&&w!=="rgba(0, 0, 0, 0)"&&w!=="rgba(0,0,0,0)"&&(m.style.backgroundColor="#fff",m.style.backgroundImage=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Crect x='3.5' y='3.5' width='0.5' height='0.5' fill='%23000'/%3E%3C/svg%3E")`)}}},f=function(p,g){return new Promise((_,m)=>{YD(g,A).then(w=>{_(w)})})}(d,u);o.push(f)}const l=await Promise.all(o),h=new zPe().encode(l,i.tiff||{}),c=new Blob(h,{type:`image${r}`});s.push(Promise.resolve(c))}else if(r==="gif"){const o={onclone:l=>{const h=l.body.getElementsByClassName("rr-print-page");for(let c of h)c.style.boxShadow="unset"}};for(let l=0;l<t.length;l++){const h=function(c,d){return new Promise((u,A)=>{YD(d,o).then(f=>{const p=f.getContext("2d").getImageData(0,0,f.width,f.height).data,g=new nRe(f.width,f.height);g.writeHeader(),g.addFrame(p),g.finish();const _=g.out,m=_.pages;let w=0;for(let C=0;C<m.length-1;C++)w+=m[C].length;w+=_.cursor;const y=new Uint8Array(w);m[m.length-1]=m[m.length-1].subarray(0,_.cursor);for(let C=0,E=0;C<m.length;C++)y.set(m[C],E),E+=m[C].length;const v=new Blob([y],{type:"image/gif"});u(v)})})}(l,t[l].page);s.push(h)}}else{const o={png:"",jpg:"image/jpeg",jpeg:"image/jpeg"},l={onclone:h=>{const c=h.body.getElementsByClassName("rr-print-page");for(let d of c)d.style.boxShadow="unset"}};for(let h=0;h<t.length;h++){const c=function(d,u){return new Promise((A,f)=>{YD(u,l).then(p=>{const g=p.toDataURL(o[r]),_=ee.dataUrlImageToBlob(g);A(_)})})}(h,t[h].page);s.push(c)}}const n=await Promise.all(s);return zi.setMarkerElementsVisible(t,!0),n}async $_buildFileMap(e,t){const i={},r=t.fileName||"realreport",s=t.type||"png";for(let n=0;n<e.length;n++){const o=await ee.blobToUnit8Array(e[n]),l=r+(e.length>1?`-${n+1}`:"");i[l+"."+s]=[o,{}]}return i}}class Fl extends To{constructor(e,t){super(),this._root=new oRe(this),this._page=t||0,this._pageObj=e?e.getPage(this._page):null,this.$_build(e,this._page)}_doDispose(){this._source&&this._source.removeListener(this),this._source=null,super._doDispose()}get source(){return this._source}set source(e){this._source=e,this._page=0,this._pageObj=e?e.getPage(this._page):null,this.$_build(e,0),this._fireSourceChanged()}get pageIndex(){return this._page}set pageIndex(e){let t;e=Math.max(0,e||0),this._source&&(e=Math.min(e,this._source.pageCount-1),t=this._source.getPage(e)),(e!==this._page||this._pageObj!=t)&&(this._page=e,this._pageObj=t,this.$_build(this._source,this._page),this._fireSourceChanged())}get root(){return this._root}get page(){return this._root.page}isRoot(e){return e===this._root}findItem(e){return e===this._root.source?this._root:this._root.itemOf(e,!0)}$_build(e,t){const i=e!==this._source;i&&this._source&&this._source.removeListener(this),this._source=e,ee.isObject(e)&&this._root.load(e,t),i&&e&&e.addListener(this)}onReportItemAdded(e,t,i){const r=this._root.itemOf(t.outlineParent);t instanceof ya&&(t=t.item);const s=new GC(t);i<0&&(i=r.count),r&&(r.add(s,i),this._fireItemAdded(s,i))}onReportItemsAdded(e,t,i){const r=this._root.itemOf(t[0].outlineParent),s=[];i<0&&(i=r.count);for(let n=0;n<t.length;n++){let o=t[n];o instanceof ya&&(o=o.item);const l=new GC(o);r.add(l,i+n),s.push(l)}this._fireItemsAdded(s,i)}onReportItemRemoved(e,t,i){t instanceof ya&&(t=t.item);const r=this._root.itemOf(t);r&&(this._fireItemRemoved(r),r.delete())}onReportItemsRemoved(e,t){const i=[];for(let r=t.length-1;r>=0;r--){const s=t[r],n=this._root.itemOf(s);n&&i.push(n)}this._fireItemsRemoved(i);for(let r of i)r.delete()}onReportItemChanged(e,t,i,r,s){const n=this._root.itemOf(t);n&&this._fireItemChanged(n)}onReportCollectionChanged(e,t){const i=this._root.itemOf(t);i&&this._fireChildIndexChanged(i)}_fireSourceChanged(){this.fireEvent(Fl.SOURCE_CHANGED)}_fireItemAdded(e,t){this.fireEvent(Fl.ITEM_ADDED,e,t)}_fireItemsAdded(e,t){this.fireEvent(Fl.ITEMS_ADDED,e,t)}_fireItemRemoved(e){this.fireEvent(Fl.ITEM_REMOVED,e)}_fireItemsRemoved(e){this.fireEvent(Fl.ITEMS_REMOVED,e)}_fireItemChanged(e){this.fireEvent(Fl.ITEM_CHANGED,e)}_fireChildIndexChanged(e){this.fireEvent(Fl.CHILDE_INDEX_CHANGED,e)}}Fl.SOURCE_CHANGED="onOutlineSourceChanged";Fl.ITEM_ADDED="onOutlineItemAdded";Fl.ITEMS_ADDED="onOutlineItemsAdded";Fl.ITEM_REMOVED="onOutlineItemRemoved";Fl.ITEMS_REMOVED="onOutlineItemsRemoved";Fl.ITEM_CHANGED="onOutlineItemChanged";Fl.CHILDE_INDEX_CHANGED="onOutlineChildIndexChanged";class Cz extends Ai{get source(){}get count(){return this._children?this._children.length:0}get displayText(){var e;return(e=this.source)===null||e===void 0?void 0:e.outlineLabel}get expandable(){var e;return(e=this.source)===null||e===void 0?void 0:e.outlineExpandable}get removable(){var e;return(e=this.source)===null||e===void 0?void 0:e.canRemoveFrom()}get(e){return this._children[e]}getSourceType(){return this.source.getSaveType()}itemOf(e,t=!0){var i;if(this._children)for(let r of this._children){if(r.source===e)return r;if(t){const s=r.itemOf(e,!0);if(s)return s}if(((i=r.source)===null||i===void 0?void 0:i.hash)===(e==null?void 0:e.hash))return r}}add(e,t=-1){this._addItem(e,t)}clear(){this._clear()}delete(){this.removable&&this.parent._removeItem(this)}_attached(e){}_detached(){}_clear(){if(this._children){for(let e of this._children)e._detached();this._children=null}}_addItem(e,t=-1){st(!!e);const i=this._children=this._children||[];st(i.indexOf(e)<0),t<0?i.push(e):i.splice(t,0,e),e._attached(this)}_removeItem(e){if(e&&e.removable&&this._children){const t=this._children.indexOf(e);t>=0&&(this._children.splice(t,1),e._detached())}}_sortByOrder(){this._children&&(this._children=this._children.sort((e,t)=>e.source.outlineOrder-t.source.outlineOrder))}}class oRe extends Cz{constructor(e){super(),this._model=e}get page(){return this._page}load(e,t){this._clear(),this._addItem(this._page=new GC(e.getPage(t)))}get outline(){return this._model}get source(){return this._page.source.outlineParent}get parent(){return null}get expandable(){return!0}getSourceType(){return"report"}_clear(){super._clear(),this._page=null}}class GC extends Cz{constructor(e){super(),st(!!e),this._load(this._source=e)}load(){this._load(this._source)}get outline(){return this._parent&&this._parent.outline}get parent(){return this._parent}get source(){return this._source}_attached(e){this._parent=e,super._attached(e)}_detached(){this._parent=null,super._detached()}add(e,t){super.add(e,t),this._sortByOrder()}_load(e){const t=e.outlineItems;if(t){for(let i of t)if(e.outlineVisible(i)!==!1){i instanceof ya&&(i=i.item);const r=new GC(i);this._addItem(r)}this._sortByOrder()}}}var aRe=`/*
|
|
260
|
-
RealReport v1.10.
|
|
260
|
+
RealReport v1.10.9
|
|
261
261
|
Copyright (C) 2013-2025 WooriTech Inc.
|
|
262
262
|
All Rights Reserved.
|
|
263
263
|
*/
|
|
@@ -3204,7 +3204,7 @@ border-bottom: 1px solid #ccc; */
|
|
|
3204
3204
|
<body>
|
|
3205
3205
|
</html>`}$_setElementHidden(e){e.style.display="none",e.style.width="0",e.style.height="0",e.style.border="0"}}class f2 extends Fn{constructor(e,t){super(e,t)}get text(){return this._text}get edit(){return this._edit}_doInitContainer(e,t){const i=this._edit=e.createElement("input");i.type=this._getEditType(),i.className="rr-property-edit",i.spellcheck=!1,i.onchange=()=>{const r=this._parseValue(this._edit.value);this._doUpdateValue(this.model,r)&&(this._text=this._edit.value)},t.appendChild(i)}_doPrepareElement(e,t){var i;this._text=this._setText(this._edit,t),!((i=this.model.prop.typeProps)===null||i===void 0)&&i.editButton?this._editButton||(this._editButton=this._createEditButton()):this._editButton&&(this._editButton.remove(),this._editButton=void 0)}reset(e){this._edit.value=this._text,this.select(e)}_getEdit(e){return this._edit}_getEditType(){return"text"}_parseValue(e){return e}}class l1 extends f2{constructor(e,t){super(e,t),this._prepared=!1,this._expanded=!1}getSubContainer(){return this._subContainer}get expanded(){return this._expanded}set expanded(e){e!==this._expanded&&(this._expanded=e,this.invalidateLayout())}_doInitContainer(e,t){super._doInitContainer(e,t),this._expander=e.createElement("span"),this._expander.className="rp-text-expander",t.appendChild(this._expander)}_doPrepareElement(e,t){super._doPrepareElement(e,t),this._expanded&&(this._subContainer||(this._subContainer=e.createElement("div"),this._subContainer.className="rr-property-item-container"))}_doMeasure(e,t){this.$_resetExpander();const i=super._doMeasure(e,t);return this._expanded&&(this._prepared||(this._doPrepareItems(this.doc,this._subContainer),this._prepared=!0),this._doMesasureItems(this._subContainer,e,t)),i}_doLayoutContent(){super._doLayoutContent(),this._expanded&&(this._doLayoutItems(this._subContainer),this._subContainer.style.top=this.y+this.offsetHeight+"px")}$_resetExpander(){this._expander.innerHTML=this._expanded?"▾":"▸"}}class $V extends f2{constructor(e,t){super(e,t)}}class eO extends f2{constructor(e,t){super(e,t)}_getEditType(){return"number"}_loadText(e){return String(e)}_parseValue(e){const t=e&&e.trim();return t?parseFloat(t):void 0}}class hRe extends Fn{constructor(e,t){super(e,t)}_doInitContainer(e,t){const i=this._check=e.createElement("input");i.type="checkbox",i.onchange=()=>{this._doUpdateValue(this.model,this._check.checked)},t.appendChild(i)}_doPrepareElement(e,t){const i=this._check,r=this.model.getValue(t);i.checked=this._isChecked(r)}reset(){this._check.checked=void 0}_isChecked(e){return!!e}}class cRe extends hRe{constructor(e,t){super(e,t)}_doInitContainer(e,t){super._doInitContainer(e,t)}_doPrepareElement(e,t){super._doPrepareElement(e,t)}}class hC extends Fn{constructor(e,t){super(e,t)}_doInitContainer(e,t){const i=this._edit=e.createElement("input");i.type="number",i.className="rr-property-dim",i.min="0",i.onkeydown=s=>{isNaN(this._oldValue)&&(s.key==="ArrowDown"||s.key==="ArrowUp")&&(s.preventDefault(),s.stopImmediatePropagation())},i.onchange=()=>{this.$_updateValue(),this._text=this._edit.value},t.appendChild(i);const r=this._select=e.createElement("select");hC.UNITS.forEach(s=>{const n=e.createElement("option");n.value=s,n.innerHTML=s,r.appendChild(n)}),r.className="rr-property-dim-units",r.onchange=()=>{this.$_updateValue(),this._text=this._edit.value},t.appendChild(r)}_doPrepareElement(e,t){const i=this.model.getValue(t),r=this._oldValue=parseFloat(i);let s=0;isNaN(r)?(this._edit.value="",this._edit.placeholder="(Not Defined)",s=0):(this._edit.value=String(r),typeof i=="string"&&hC.UNITS.forEach((n,o)=>{if(i.endsWith(n))return s=o,!0})),this._select.selectedIndex=s,this._text=this._edit.value}reset(e){this._edit.value=this._text,this.select(e)}_getEdit(){return this._edit}$_updateValue(){const e=this._select.selectedIndex||0;let t=this._edit.value;t=t?t+hC.UNITS[e]:void 0,this._doUpdateValue(this.model,t)}}hC.UNITS=["px","pt"];class dRe extends Jl{constructor(e,t){super(e,t)}_doInitContainer(e,t){super._doInitContainer(e,t)}_doPrepareElement(e,t){super._doPrepareElement(e,t)}_isNotDefined(e){return!e}}class lu extends rd{constructor(e,t){super(e,t)}get value(){return this._value}_doInitContainer(e,t){const i=this._edit=lu.createEdit(e);i.onchange=()=>{let r=lu.getColor(this._edit);this.model.alphaEnabled||(r=Dt.removeColorAlpha(r)),this._doUpdateValue(this.model,r)&&(this._value=r,this._color.style.backgroundColor=r,this._text=this._edit.value=r)},t.appendChild(i),this._color=lu.createColor(e,t)}_doPrepareElement(e,t){const i=this._value=this.model.getValue(t),r=i===void 0;this._text=this._edit.value=i||"",r&&(this._edit.placeholder="(Not Defined)"),this._color.style.backgroundColor=i||lu.NULL_COLOR,this._color.parentElement.style.height=ee.getBoundingClientRect2(this._edit).height+"px",this._color.dataset.empty=String(r)}reset(){this._edit.value=this._text,this._edit.select()}_getEdit(){return this._edit}}class tO extends Jl{constructor(e,t){super(e,t)}get required(){return!0}}class uRe extends Jl{constructor(e,t){super(e,t)}_isNotDefined(e){return!e}}class ARe extends Fn{constructor(e,t){super(e,t)}_doInitContainer(e,t){}_doPrepareElement(e,t){}reset(){}}class fRe extends f2{constructor(e,t){super(e,t)}_loadText(e){return ee.isArray(e)?e.join(","):""}_parseValue(e){let t=e?e.trim():"";if(t){const i=t.split(/\,s*/);for(let r=0;r<i.length;r++)i[r]=parseFloat(i[r]);return i}else return}}class pRe extends f2{constructor(e,t){super(e,t)}_loadText(e){return ee.isArray(e)?e.join(","):""}_parseValue(e){let t=e?e.trim():"";if(t){const i=t.split(/\,s*/);for(let r=0;r<i.length;r++)i[r]=String(i[r]);return i}else return}}class WV extends Fn{constructor(e,t){super(e,t)}_doInitContainer(e,t){const i=this._edit=e.createElement("input");i.type="number",i.className="rr-property-pixel",i.dataset.rrproperty="",i.min="0",i.onchange=()=>{let s=this._edit.value;s&&!isNaN(Number(s))&&(s+="px"),this._doUpdateValue(this.model,s),this._text=this._edit.value},t.appendChild(i);const r=this._span=e.createElement("span");r.className="rr-property-pixel-suffix",r.textContent="(px)",t.appendChild(r)}_doPrepareElement(e,t){const i=this.model.getValue(t),r=parseFloat(i);isNaN(r)?(this._edit.value="",this._edit.placeholder="(Not Defined)"):this._edit.value=String(r),this._text=this._edit.value}reset(e){this._edit.value=this._text,this.select(e)}_getEdit(){return this._edit}}class zV extends Jl{_isNotDefined(e){return!e}_getOptionHtml(e){return super._getOptionHtml(e)}}class KV extends Jl{constructor(e,t){super(e,t)}_doInitContainer(e,t){super._doInitContainer(e,t)}_doPrepareElement(e,t){super._doPrepareElement(e,t)}_isNotDefined(e){return!e}}class YV extends Jl{constructor(e,t){super(e,t)}_doInitContainer(e,t){super._doInitContainer(e,t)}_doPrepareElement(e,t){super._doPrepareElement(e,t)}_isNotDefined(e){return!e}}class gRe extends Jl{constructor(e,t){super(e,t)}_isNotDefined(e){return!e}}class XV extends Jl{constructor(e,t){super(e,t)}_doInitContainer(e,t){super._doInitContainer(e,t)}_doPrepareElement(e,t){super._doPrepareElement(e,t)}_isNotDefined(e){return!e}}class jV extends Jl{constructor(e,t){super(e,t)}_doInitContainer(e,t){super._doInitContainer(e,t)}_doPrepareElement(e,t){super._doPrepareElement(e,t)}_isNotDefined(e){return!e}_getDomain(e,t){const i=t.getPropDomain(e.prop);return i?i.concat(e.domain):e.domain}}class Jo extends Fn{static createDimEdit(e){const t=e.createElement("input");return t.type="number",t.className="rr-property-dim",t.pattern="[0-9.]+",t.min="0",t}static createDimSelect(e){const t=e.createElement("select");return Jo.UNITS.forEach(i=>{const r=Jo.createSelectOption(e,i);t.appendChild(r)}),t.className="rr-property-dim-units",t}static createSelectOption(e,t){const i=e.createElement("option");return i.value=t,i.innerHTML=t,i}constructor(e,t){super(e,t)}_doInitContainer(e,t){const i=this._edit=Jo.createDimEdit(e);i.onkeydown=s=>{const n={"%":"%",p:"px",t:"pt",m:"mm",c:"cm",i:"in"};for(let o in n)if(s.key===o){this._select.value=n[o],s.preventDefault(),s.stopImmediatePropagation();return}isNaN(this._oldValue)&&this.model instanceof Nx&&(s.key==="ArrowDown"||s.key==="ArrowUp")&&(s.preventDefault(),s.stopImmediatePropagation())},i.onchange=()=>{this.$_updateValue()},t.appendChild(i);const r=this._select=Jo.createDimSelect(e);r.onchange=()=>{this.$_updateValue()},t.appendChild(r)}_doPrepareElement(e,t){const i=this.model.getValue(t),r=this._oldValue=parseFloat(i);let s=0;const n=this._select.options;if(this.model.percentable){if(n.length<Jo.UNITS.length){n.namedItem;const o=Jo.createSelectOption(e,"%");n.add(o)}}else for(let o=0;o<n.length;o++)n[o].value==="%"&&n[o].remove();isNaN(r)?(this._edit.value="",this._edit.placeholder="(Not Defined)"):(this._edit.value=String(r),typeof i=="string"&&Jo.UNITS.forEach((o,l)=>{if(i.endsWith(o))return s=l,!0})),this._text=this._edit.value,this._select.selectedIndex=s}reset(e){this._edit.value=this._text,this.select(e)}_getEdit(){return this._edit}$_updateValue(){const e=this._select.selectedIndex||0;let t=this._edit.value;t=t?t+Jo.UNITS[e]:void 0,this._doUpdateValue(this.model,t)}}Jo.UNITS=["px","pt","mm","cm","in","%"];class _x extends Jl{get selectedValue(){const e=this.model.prop.params;return e&&(e!=null&&e.domainValues)?e.domainValues[this._select.selectedIndex]:super.selectedValue}get required(){return!0}_doInitContainer(e,t){const i=this._edit=e.createElement("input");i.type="text",i.className="rr-property-edit",i.spellcheck=!1,i.onchange=()=>{let r=this._edit.value;this._doUpdateValue(this.model,r),this._text=this._edit.value},t.appendChild(i),super._doInitContainer(e,t),ee.extend(this._select.style,{maxWidth:"18px",marginLeft:"4px",borderRadius:"2px"})}_doSelected(e,t){this._edit.value=t,this._doUpdateValue(this.model,t),this._edit.focus(),this._text=this._edit.value}_doPrepareElement(e,t){super._doPrepareElement(e,t),this._text=this._setText(this._edit,t)}reset(e){this._edit.value=this._text,this.select(e)}_getEdit(){return this._edit}}class _Re extends Jl{constructor(e,t){super(e,t)}_doInitContainer(e,t){super._doInitContainer(e,t)}_doPrepareElement(e,t){super._doPrepareElement(e,t)}_isNotDefined(e){return!e}}class uP extends l1{constructor(e,t){super(e,t)}get color(){return this._color}_doInitContainer(e,t){super._doInitContainer(e,t),this.edit.onchange=()=>{let i=this.edit.value;const r=i.split(" ").slice(2).join(" ");let s=i;this.model.alphaEnabled||(s=i.replace(r,Dt.removeColorAlpha(r))),this._doUpdateValue(this.model,s)&&(this.edit.value=s)}}_doPrepareElement(e,t){super._doPrepareElement(e,t)}_doPrepareItems(e,t){let i=this._divWidth=this.$_createLine(e,t);this.$_createLabel(e,i,"Width"),i.appendChild(this._inputWidth=Jo.createDimEdit(e)),i.appendChild(this._selectWidth=Jo.createDimSelect(e)),this._inputWidth.onchange=()=>{this.$_applyStyles()},i=this._divStyle=this.$_createLine(e,t),this.$_createLabel(e,i,"Style"),i.appendChild(this._selectStyle=Jl.createSelect(e)),["","solid","dotted","dashed"].forEach(r=>{const s=e.createElement("option");s.className="",s.value=r,s.innerHTML=r||"(Not Defined)",this._selectStyle.appendChild(s)}),this._selectStyle.onchange=()=>{this.$_applyStyles()},i=this._divColor=this.$_createLine(e,t),this.$_createLabel(e,this._divColor,"Color"),i.appendChild(this._inputColor=lu.createEdit(e)),this._inputColor.onchange=()=>{const r=lu.getColor(this._inputColor);this._color=this.model.alphaEnabled?r:Dt.removeColorAlpha(r),this._inputColor.value=this._color,this.$_applyStyles()},this._spanColor=lu.createColor(e,i)}updateColor(e){this._color=e,this.$_applyStyles()}_doMesasureItems(e,t,i){const s=this.parent._borderTester.style,n=this.text;s.border=n;let o=s.borderWidth;const l=parseFloat(s.borderWidth);let h=0;isNaN(l)?(this._inputWidth.value="",this._inputWidth.placeholder="(Not Defined)"):(this._inputWidth.value=String(l),typeof o=="string"&&Jo.UNITS.forEach((f,p)=>{if(o.endsWith(f))return h=p,!0})),this._selectWidth.selectedIndex=h,o=s.borderStyle,this._selectStyle.value=o,this._selectStyle.dataset.empty=String(!o);const c=this._color=s.borderColor,d=!c;let u=c;if(this.text.split(" ").slice(2).join(" ").startsWith("#")){const f=Dt.cssToColor(c);u=f?Dt.colorToHex2(f.color,f.alpha):void 0}this._inputColor.value=u||"",d&&(this._inputColor.placeholder="(Not Defined)"),this._spanColor.style.backgroundColor=c||lu.NULL_COLOR,this._spanColor.parentElement.style.height=ee.getBoundingClientRect2(this._inputColor).height+"px",this._spanColor.dataset.empty=String(d)}_doLayoutItems(e){}_getEdit(e){return e instanceof HTMLInputElement?e:super._getEdit(e)}$_createLine(e,t){const i=e.createElement("div");return t.appendChild(i),i.className="rr-property-row rr-property-row-item",i}$_createLabel(e,t,i){const r=e.createElement("span");t.appendChild(r),r.className="rr-property-row-label",r.style.minWidth="50px",r.textContent=i}$_applyStyles(){const t=[(this._inputWidth.value||1)+"px",this._selectStyle.value||"solid",this._color||"black"].join(" ");this._doUpdateValue(this.model,t)}}class bz extends Fn{constructor(e,t){super(e,t)}get value(){return this._value}_doInitContainer(e,t){const i=this._span=e.createElement("span");i.style.flexGrow="1",i.style.color="#bbb",t.appendChild(i);const r=this._button=e.createElement("button");t.appendChild(r),r.textContent="▶",r.style.backgroundColor="",r.style.border="",r.style.color="#555",r.style.padding="1px 7px 0px 8px",r.style.height="17px",r.style.fontSize="10px"}_doPrepareElement(e,t){this._span.textContent=t.getPopupPropLabel(this.model.prop.name)}reset(){}}class mRe extends l1{constructor(e,t){super(e,t)}get topLeftInputValue(){return this._topLeftInputValue}get topRightInputValue(){return this._topRightInputValue}get bottomRightInputValue(){return this._bottomRightInputValue}get bottomLeftInputValue(){return this._bottomLeftInputValue}_doInitContainer(e,t){super._doInitContainer(e,t),this.edit.onchange=()=>{this._doUpdateValue(this.model,this.edit.value)}}_doPrepareElement(e,t){super._doPrepareElement(e,t),this.topLeftModel=new gk(ai[HO]),this.topRightModel=new _k(ai[UO]),this.bottomRightModel=new mk(ai[QO]),this.bottomLeftModel=new wk(ai[GO]),t.getStyleProperty("borderTopLeftRadius")?this._topLeftInputValue=t.getStyleProperty("borderTopLeftRadius"):this._topLeftInputValue=null,t.getStyleProperty("borderTopRightRadius")?this._topRightInputValue=t.getStyleProperty("borderTopRightRadius"):this._topRightInputValue=null,t.getStyleProperty("borderBottomRightRadius")?this._bottomRightInputValue=t.getStyleProperty("borderBottomRightRadius"):this._bottomRightInputValue=null,t.getStyleProperty("borderBottomLeftRadius")?this._bottomLeftInputValue=t.getStyleProperty("borderBottomLeftRadius"):this._bottomLeftInputValue=null}_doPrepareItems(e,t){let i=this.$_createLine(e,t);this.$_createLabel(e,i,"Top Left"),i.appendChild(this._inputTopLeft=Jo.createDimEdit(e)),this._inputTopLeft.type="string",i=this.$_createLine(e,t),this.$_createLabel(e,i,"Top Right"),i.appendChild(this._inputTopRight=Jo.createDimEdit(e)),this._inputTopRight.type="string",i=this.$_createLine(e,t),this.$_createLabel(e,i,"Bottom Right"),i.appendChild(this._inputBottomRight=Jo.createDimEdit(e)),this._inputBottomRight.type="string",i=this.$_createLine(e,t),this.$_createLabel(e,i,"Bottom Left"),i.appendChild(this._inputBottomLeft=Jo.createDimEdit(e)),this._inputBottomLeft.type="string"}_doMesasureItems(e,t,i){this.topLeftInputValue?this._inputTopLeft.value=this.topLeftInputValue:(this._inputTopLeft.value="",this._inputTopLeft.placeholder="(Not Defined)"),this.topRightInputValue?this._inputTopRight.value=this.topRightInputValue:(this._inputTopRight.value="",this._inputTopRight.placeholder="(Not Defined)"),this.bottomRightInputValue?this._inputBottomRight.value=this.bottomRightInputValue:(this._inputBottomRight.value="",this._inputBottomRight.placeholder="(Not Defined)"),this.bottomLeftInputValue?this._inputBottomLeft.value=this.bottomLeftInputValue:(this._inputBottomLeft.value="",this._inputBottomLeft.placeholder="(Not Defined)"),this._inputTopLeft.onchange=()=>{this._topLeftInputValue=this._inputTopLeft.value,this.$_applyStyles()},this._inputTopRight.onchange=()=>{this._topRightInputValue=this._inputTopRight.value,this.$_applyStyles()},this._inputBottomRight.onchange=()=>{this._bottomRightInputValue=this._inputBottomRight.value,this.$_applyStyles()},this._inputBottomLeft.onchange=()=>{this._bottomLeftInputValue=this._inputBottomLeft.value,this.$_applyStyles()}}_doLayoutItems(e){}_getEdit(e){return e instanceof HTMLInputElement?e:super._getEdit(e)}$_createLine(e,t){const i=e.createElement("div");return t.appendChild(i),i.className="rr-property-row rr-property-row-item",i}$_createLabel(e,t,i){const r=e.createElement("span");t.appendChild(r),r.className="rr-property-row-label",r.style.minWidth="100px",r.textContent=i}$_applyStyles(){this.edit.value&&this._doUpdateValue(this.model,this.edit.value),this._doUpdateValue(this.topLeftModel,this._inputTopLeft.value||void 0),this._doUpdateValue(this.topRightModel,this._inputTopRight.value||void 0),this._doUpdateValue(this.bottomRightModel,this._inputBottomRight.value||void 0),this._doUpdateValue(this.bottomLeftModel,this._inputBottomLeft.value||void 0)}}class p2 extends Fn{static getSheetBorderStyle(e,t){switch(e){case"solid":return t===1?Ui.SOLID:t===2?Ui.THICK_SOLID:t>=4?Ui.MEDIUM_SOLID:Ui.NONE;case"dotted":return Ui.DOTTED;case"dashed":return Ui.DASHED;case"double":return Ui.DOUBLE;default:return Ui.NONE}}constructor(e,t){super(e,t),this._borderStyle=Ui.NONE,this._domain=Object.values(Ui)}_doDispose(){super._doDispose(),this._borderStyleSelectElement.innerHTML=null}get modelColor(){var e;return(e=this.model)===null||e===void 0?void 0:e.color}updateColor(e){this.model.color=e,this._colorPicker.style.background=this.modelColor;const t=this.model.borderStyle,i=ic.parseBorderWidth(t),r=ic.parseBorderStyle(t);this.model.border=`${i} ${r} ${e}`}reset(e){this._borderStyleSelectElement.value=Ui.NONE,this._colorPicker.style.backgroundColor=ka.DEAFULT_COLOR,this._colorPicker.dataset.empty="true"}_doInitContainer(e,t){const i=this._borderStyleSelectElement=Jl.createSelect(e);i.style.width="100%",i.style.minWidth="40px",i.style.marginLeft="4px",i.onchange=()=>{this._doSelect(this._domain[i.selectedIndex])},t.appendChild(i),this._colorPicker=rd.createColor(e,t),this.$_setPropertyStyle()}_doPrepareElement(e,t){if(this.model.border=this.model.getValue(t),this.model.border){const i=jr.getBorderStyle(this.model.border);if(i==="none")this.model.borderStyle=this._borderStyle=Ui.NONE,this.model.color="";else{const{borderWidth:r,borderStyle:s,color:n}=i;this.model.borderStyle=this._borderStyle=p2.getSheetBorderStyle(s,r),this.model.color=n}}else this.model.borderStyle=this._borderStyle=Ui.NONE,this.model.color=ka.DEAFULT_COLOR,this._colorPicker.dataset.empty="true";this._borderStyleSelectElement.length=0,this._domain.forEach(i=>{const r=e.createElement("option");r.value=i,r.innerHTML=i,this._borderStyleSelectElement.appendChild(r)}),this._borderStyleSelectElement.value=this._borderStyle,this.modelColor?(this._colorPicker.style.backgroundColor=this.modelColor,X.setData(this._colorPicker,"empty","false")):(this._colorPicker.style.backgroundColor=ka.DEAFULT_COLOR,X.setData(this._colorPicker,"empty","true"))}_doSelect(e){this._borderStyle=e,this.model.borderStyle=e,e===Ui.NONE?this.model.border="":this.model.border=`${ic.parseBorderWidth(e)} ${ic.parseBorderStyle(e)} ${this.modelColor}`,this._doUpdateValue(this.model,this.model.border)}$_setPropertyStyle(){this._colorPicker.parentElement.style.height=ee.getBoundingClientRect2(this._borderStyleSelectElement).height+"px",this._colorPicker.dataset.empty="true"}}class wRe{constructor(e){this._pixelPool=new Array,this._types={StringProperty:$V,NumberProperty:eO,BooleanProperty:cRe,ModelProperty:ARe,NumberArrayProperty:fRe,StringArrayProperty:pRe,ColorProperty:F7,DimensionProperty:Jo,SizeProperty:Jo,ListableProperty:_x,EditListableProperty:_x,ReportItemProperty:gRe,PopupProperty:bz,ColorStyle:lu,FontSizeStyle:hC,TextAlignStyle:zV,WritingModeStyle:KV,VerticalAlignStyle:YV,TextDecorationStyle:XV,LineHeightStyle:WV,PaddingItemStyle:WV,BorderStyle:uP,BorderItemStyle:uP,BorderRadiusStyle:mRe,OpacityStyle:eO,StrokeWidthStyle:eO,StrokeDasharrayStyle:$V,SheetBordersStyle:ic,SheetBorderStyle:p2},this._pools={StringProperty:new Array,NumberProperty:new Array,BooleanProperty:new Array,ColorProperty:new Array,DimensionProperty:new Array,SizeProperty:new Array,ModelProperty:new Array,NumberArrayProperty:new Array,StringArrayProperty:new Array,ReportItemProperty:new Array,ListableProperty:new Array,EditListableProperty:new Array,PopupProperty:new Array,ColorStyle:new Array,FontSizeStyle:new Array,TextAlignStyle:new Array,WritingModeStyle:new Array,VerticalAlignStyle:new Array,TextDecorationStyle:new Array,LineHeightStyle:this._pixelPool,PaddingItemStyle:this._pixelPool,BorderStyle:new Array,BorderItemStyle:new Array,BorderRadiusStyle:new Array,OpacityStyle:new Array,StrokeWidthStyle:new Array,StrokeDasharrayStyle:new Array,SheetBordersStyle:new Array,SheetBorderStyle:new Array},this._domainTypes={FontFamilyStyle:jV,EmailFontFamilyStyle:jV,FontStyleStyle:dRe,FontWeightStyle:tO,TextAlignStyle:zV,WritingModeStyle:KV,VerticalAlignStyle:YV,WhiteSpaceStyle:_Re,TextDecorationStyle:XV,StringProperty:tO,EnumProperty:uRe,ListableProperty:_x,EditListableProperty:_x,CellAlignStyle:tO},this._domainPools={FontFamilyStyle:new Array,EmailFontFamilyStyle:new Array,FontStyleStyle:new Array,FontWeightStyle:new Array,TextAlignStyle:new Array,WritingModeStyle:new Array,VerticalAlignStyle:new Array,WhiteSpaceStyle:new Array,TextDecorationStyle:new Array,StringProperty:new Array,EnumProperty:new Array,ListableProperty:new Array,EditListableProperty:new Array,CellAlignStyle:new Array},this._viewer=e}borrow(e){const t=e.domain&&!(e instanceof pC)&&e.domain.length>0;let i=e.constructor.$_ctor;const r=t?this._domainTypes:this._types,s=t?this._domainPools:this._pools;let n=s[i];if(!n&&(i=ee.getBaseCtor(e),n=s[i],!n))return;let o=n.pop();return o?o.model=e:o=new r[i](this._viewer.doc,e),o.reset(),o}free(e){const t=e.model,i=t.domain&&!(t instanceof pC)&&t.domain.length>0;let r=t.constructor.$_ctor,s=i?this._domainPools[r]:this._pools[r];s||(r=ee.getBaseCtor(t),s=this._pools[r]),s.indexOf(e)<0&&s.push(e)}}const iO=10,yRe=2;class vRe extends k7{constructor(e){super(e.doc),this._lines=[],this._visibleLines=[],this._categoryPool=[],this._rowPoints=[0],this._modelChanged=!1,this._expandedChanged=!1,this._inspector=e,this._rowPool=new wRe(this)}get rowCount(){return this._lines.length}get visibleRowCount(){return this._visibleLines.length}get contentHeight(){return this._rowPoints[this._rowPoints.length-1]+iO}get contentWidth(){return this.width}getVisible(e){return this._visibleLines[e]}expand(e){if(e)e.expanded||(e.expanded=!0,this._expandedChanged=!0,this.invalidateLayout());else{let t=0;this._visibleLines.forEach(i=>{i instanceof Dn&&!i.expanded&&(i.expanded=!0,t++)}),t&&(this._expandedChanged=!0,this.invalidateLayout())}}collapse(e){if(e)e.expanded&&(e.expanded=!1,this._expandedChanged=!0,this.invalidateLayout());else{let t=0;this._visibleLines.forEach(i=>{i instanceof Dn&&i.expanded&&(i.expanded=!1,t++)}),t&&(this._expandedChanged=!0,this.invalidateLayout())}}isExpander(e){return e.classList.contains("rp-expander")}isTextExpander(e){return e.classList.contains("rp-text-expander")}categoryByExpander(e){const t=this.getVisible(e[jC]);return t instanceof Dn?t:null}lineOf(e){if(!e)return;if(w1.isAdd(e))return this._collectionLine;let t=e;for(;t;){if(t.classList.contains("rr-property-line")){for(let i of this._visibleLines)if(i.isDom(t)||i instanceof l1&&i.getSubContainer()===t)return i}if(t.classList.contains("rr-property-item-container")){for(let i of this._visibleLines)if(i instanceof l1&&i.getSubContainer()===t)return i}t=t.parentElement}}lineOfModel(e){for(let t of this._visibleLines)if(t instanceof Fn&&t.model===e)return t}focusedLine(){const e=this._inspector.focusedItem;for(let t of this._visibleLines)if(t instanceof Fn&&t.model===e)return t}refreshRows(){const e=this._inspector.focusedItem;for(let t of this._visibleLines)t instanceof Fn&&t.setFocused(t.model===e)}isColorBox(e){return e.classList.contains(lu.BOX_STYLE)}findElementOf(e){for(let t of this._visibleLines)if(t.containsDom(e))return t}setModelChanged(){this._modelChanged=!0}get isLayer(){return!0}_getCssSelector(){return"rr-property-body"}_initDom(e,t){super._initDom(e,t);const i=t.style;Object.assign(i,{overflow:"hidden auto",width:"100%",height:"100%"}),this._bottomSpace=e.createElement("div"),this._bottomSpace.className="bottomSpace",ee.extend(this._bottomSpace.style,{display:"flex",position:"relative",width:"100%",height:iO+"px",backgroundColor:"transparent"}),this.addDom(this._bottomSpace),this._borderTester=e.createElement("div"),ee.extend(this._borderTester,{position:"absolute",visibility:"hidden",width:"10px",height:"10px"}),this.addDom(this._borderTester),this._borderRadiusTester=e.createElement("div"),ee.extend(this._borderRadiusTester,{position:"absolute",visibility:"hidden",width:"10px",height:"10px"}),this.addDom(this._borderRadiusTester)}clear(){if(super.clear()){for(let e of this._lines)e instanceof Dn?this.$_returnCategory(e):this._rowPool.free(e);return this._lines=[],this._visibleLines=[],!0}}_doMeasure(e,t){var i,r;this._modelChanged?(this._modelChanged=!1,this._expandedChanged=!1,this.clear(),this.$_buildLines(this._model,0),this.$_expandLines(),this.addDom(this._bottomSpace)):this._expandedChanged&&(this._expandedChanged=!1,this.$_expandLines());const s=this._inspector,n=s.focusedItem,o=s.doc,l=this._visibleLines;let h,c=this._rowPoints=[0];!((r=(i=this._model)===null||i===void 0?void 0:i.source)===null||r===void 0)&&r.isEditableCollection()?(this._collectionLine||(this._collectionLine=new w1(o)),this.addChild(this._collectionLine),this._collectionLine.visible=!0,this._collectionLine.$_setLevel(this._model.source,0),this._collectionLine.measure(e,t)):this._collectionLine&&(this._collectionLine.visible=!1,this.removeChild(this._collectionLine));for(let d=0,u=l.length;d<u;d++){const A=l[d],f=h instanceof Dn&&h.model;if(h&&!f&&h.isCategory!=A.isCategory&&(c[c.length-1]=c[c.length-1]+yRe),A.prepareElement(o),A instanceof Fn&&(A.setFocused(A.model===n),gde(A))){const p=A.getSubContainer();A.expanded?this.insertDom(p,l[d]):p&&p.remove()}A.measure(e,t),c.push(c[d]+A.measuredHeight),h=A}return new ft(e,c[c.length-1]+iO)}_doLayoutContent(){var e;this.width;const t=this._visibleLines;this._rowPoints;let i=0;!((e=this._collectionLine)===null||e===void 0)&&e.visible&&(i+=this._collectionLine.measuredHeight);for(let r=0,s=t.length;r<s;r++)t[r].layoutContent()}$_borrowCategory(e){if(this._categoryPool.length>0){const t=this._categoryPool.pop();return t.model=e,t.invalidate(),t}return new Dn(this.doc,e)}$_returnCategory(e,t=!1){e&&(t||this._categoryPool.indexOf(e)<0)&&(this._categoryPool.push(e),e.validate())}$_modelChanged(e){this._modelChanged=!0,this._model=e,this.expand(null)}$_buildGroup(e,t,i,r){const s=this._rowPool,n=this._lines,o=this.$_borrowCategory(t);let l=0;delete o.dom.dataset.model,o.$_setLevel(e,r),o.label=t.label,o.expanded=i,this.addChild(o),n.push(o);for(let h=0,c=t.count;h<c;h++){const d=t.get(h);if(d.isVisible(e)){if(d instanceof Gi)this.$_buildLines(d.model,r+1);else{const u=s.borrow(d);u&&(u.$_setLevel(e,r+1),this.addChild(u),n.push(u))}l++}}l===0&&(this.removeChild(o),n.pop())}$_buildLines(e,t){var i,r;if(e.modelCount>0)for(let s=0,n=e.modelCount;s<n;s++){const o=e.getModel(s),l=this.$_borrowCategory(o);l.$_setLevel(o.source,t),l.label=o.source.getCollectionLabel()+" ["+s+"]",l.dom.dataset.model="",this.addChild(l),this._lines.push(l),this.$_buildLines(o,t+1)}else{const s=e.source;for(let n=0,o=e.groupCount;n<o;n++){const l=e.getGroup(n),h=!(!((r=(i=s.getCollapsedPropCategories)===null||i===void 0?void 0:i.call(s))===null||r===void 0)&&r.includes(l.label)),c=l.source||s;this.$_buildGroup(c,l,h,t)}}}$_expandLines(){const e=this._lines,t=this._visibleLines=[];let i=e.length,r=0,s=0,n=!1;for(;r<i;){const o=e[r++];if(o instanceof Dn){const l=o.level;for(t.push(o),o._vindex=s++,n=o.expanded,o.visible=!0;r<i;){const h=e[r];if(h.level>l){if(n){if(h instanceof Dn)break;t.push(h),h._vindex=s++,h.visible=!0}else h.visible=!1;r++}else break}}else t.push(o),o._vindex=s++,o.visible=!0}}}class CRe extends bd{constructor(e){super(e,"outlineSelectionTool"),this._inspector=e}_doDispose(){this._inspector=null,super._doDispose()}get viewer(){return this._inspector}_doMouseDown(e){const t=this._clickedTarget=this.mouseEventTarget,i=this._inspector,r=i.bodyView,s=this._clickedLine=r.lineOf(t);return this._inspector.hideError(),s instanceof Dn&&r.isExpander(t)?s.expanded?i.collapse(s):i.expand(s):s instanceof l1&&r.isTextExpander(t)?(i.focusedItem=s.model,s.expanded=!s.expanded):s instanceof F7&&r.isColorBox(t)||s instanceof lu&&r.isColorBox(t)?(i.focusedItem=s.model,i.onColorClick&&i.onColorClick(s.model,s.value)):s instanceof uP&&r.isColorBox(t)?(i.focusedItem=s.model,i.onColorClick&&i.onColorClick(s.model,s.color)):(s instanceof p2||s instanceof ic)&&r.isColorBox(t)?(i.focusedItem=s.model,i.onColorClick&&i.onColorClick(s.model,s.model.color)):s instanceof bz?(i.focusedItem=s.model,i.onPopupClick&&i.onPopupClick(s.model,s.source)):s instanceof Fn&&(s.hasFocusEdit()?s.clearSelection():(s instanceof _x||s instanceof Jo)&&t instanceof HTMLSelectElement||(this._needSelectLine=s)),!0}_doMouseMove(e){}_doMouseUp(e){const t=this._inspector,i=this.mouseEventTarget,r=t.bodyView,s=this._clickedLine=r.lineOf(i);s instanceof Fn&&s===this._needSelectLine&&s.select(this._clickedTarget,!1),this._needSelectLine=null}_doClick(e,t,i){const r=this.mouseEventTarget,s=this._inspector,n=s.bodyView,o=this._clickedLine=n.lineOf(r);!n.isExpander(r)&&o instanceof Fn&&o===this._clickedLine?s.focusedItem=o.model:o instanceof w1&&w1.isAdd(r)?s.propContainer.addCollectionItem(o.source):o instanceof Dn&&Dn.isCollectionItemDelete(r)?s.propContainer.removeItem(o.source):o instanceof Dn&&Dn.isCollectionItemUp(r)?s.requestParentProperty(o.source):o instanceof Dn&&Dn.isCollectionItemRight(r)&&s.requestFocusProperty(o.source),s._fireMouseClicked(s.focusedItem)}_doDblClick(e){const t=this.mouseEventTarget,i=this._inspector,s=i.bodyView.lineOf(t);s instanceof Dn&&(s.expanded?i.collapse(s):i.expand(s))}_doMouseWheel(e){return this._inspector,e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY),this._inspector.hideError(),!1}_doMouseEnter(e){}_doMouseLeave(e){}_doMouseOver(e){}_doContextMenu(e){return!1}_doKeyDown(e){const t=e.keyCode,i=this._clickedLine;switch(this._inspector.hideError(),t){case 27:if(i instanceof Fn)return i.reset(this._clickedTarget),!0;case 13:if(i instanceof Fn)return i.select(this._clickedTarget),!1;case 40:i instanceof l1&&(i.expanded=!0);break;case 38:i instanceof l1&&(i.expanded=!1);break}return super._doKeyDown(e)}_doKeyPress(e){return!1}_doKeyUp(e){return!1}}class bRe extends Hn{constructor(e){super(e,"rp-error-view")}setError(e){this.setText(e)}_initDom(e,t){ee.extend(t.style,{position:"absolute"})}}var qV;(function(a){a.CATEGORY="category",a.NAME="name"})(qV||(qV={}));class $C extends sr{constructor(e){super(e),this._focusRequested=!1,this.addElement(this._bodyView=new vRe(this))}get model(){return this._model}set model(e){e!==this._model&&(this._model&&this._model.removeListener(this),this._model=e,this._model&&this._model.addListener(this),this.$_modelchanged())}get bodyView(){return this._bodyView}get focusedItem(){return this._focusedItem}set focusedItem(e){e!==this._focusedItem&&(this._focusedItem,this._focusedItem=e,this._bodyView.refreshRows(),this._focusRequested=!0,this.onFocusItem&&this.onFocusItem(this._focusedItem,this.model))}expand(e){this._bodyView.expand(e)}collapse(e){this._bodyView.collapse(e)}findDropTarget(e,t,i){const r=this._bodyView.findElementOf(t);if(r instanceof Fn&&t instanceof HTMLInputElement){const s=r.model;if(s&&this._model.source.canPropAdoptDragSource(s.prop,e))return s}}itemOfDom(e){const t=this._bodyView.findElementOf(e);return t instanceof Fn&&t.model}updateValue(e,t,i){t.prop.refresh&&(this._bodyView.setModelChanged(),this.invalidateLayout()),this._model.updateValue(e,t,i)}updateValueByName(e,t,i,r){i.prop.refresh&&(this._bodyView.setModelChanged(),this.invalidateLayout()),this._model.updateValueByName(e,t,i,r)}updateColor(e,t){const i=this._bodyView.lineOfModel(e);i instanceof uP&&i.updateColor(t)}updateSheetBorderColor(e,t){const i=this._bodyView.lineOfModel(e);if(i instanceof ic){i.updateColor(t);const{borderType:r,borders:s}=i.model;switch(r){case"outer":this.updateValueByName("borderLeft",this.getFocusedSource(),e,s.borderLeft),this.updateValueByName("borderRight",this.getFocusedSource(),e,s.borderRight),this.updateValueByName("borderTop",this.getFocusedSource(),e,s.borderTop),this.updateValueByName("borderBottom",this.getFocusedSource(),e,s.borderBottom);break;case"left":this.updateValueByName("borderLeft",this.getFocusedSource(),e,s.borderLeft);break;case"right":this.updateValueByName("borderRight",this.getFocusedSource(),e,s.borderRight);break;case"top":this.updateValueByName("borderTop",this.getFocusedSource(),e,s.borderTop);break;case"bottom":this.updateValueByName("borderBottom",this.getFocusedSource(),e,s.borderBottom);break}}else if(i instanceof p2){i.updateColor(t);const{border:r}=i.model;this.updateValue(this.getFocusedSource(),e,r)}}getFocusedSource(){var e,t;return((t=(e=this._focusedItem)===null||e===void 0?void 0:e.group)===null||t===void 0?void 0:t.source)||this.model.source}showError(e,t,i=3){this.hideError();let r=e.x,s=e.y;const n=this.width,o=this.height;this._errorView||(this._errorView=new bRe(this.doc)),this._errorView.dom.classList.remove("rp-error-view-hide"),this._errorView.setError(t),this.addFeedback(this._errorView);const l=this._errorView.getBounds();return r=Math.max(0,r+(n-l.width)/2),l.height<=s?s-=l.height:s=Math.max(o-l.height,s+l.height+2),this._errorView.move(r,s),this._errorView.dom.classList.remove("rp-error-view-hide"),this._errorTimer=setTimeout(()=>{this.hideError()},i*1e3),!0}hideError(){this._hideErrorTimer&&(clearTimeout(this._hideErrorTimer),this._hideErrorTimer=null,this.removeFeedback(this._errorView)),this._errorTimer&&(clearTimeout(this._errorTimer),this._errorTimer=null,this._errorView.dom.classList.add("rp-error-view-hide"),this._hideErrorTimer=setTimeout(()=>{this.removeFeedback(this._errorView)},500))}selectFocusedItem(){const e=this._bodyView.focusedLine();e instanceof Fn&&e.select(null)}requestParentProperty(e){var t;(t=this.onRequestParent)===null||t===void 0||t.call(this,e)}requestFocusProperty(e){var t;(t=this.onRequestFocus)===null||t===void 0||t.call(this,e)}editButtonClick(e,t){this._fireEditButtonClicked(e,t)}_createDefaultTool(){return new CRe(this)}_isAutoFocus(){return!1}_doPrepareContainer(e,t){t.className="rp-root rp-inspector"}_doLayout(e){this._bodyView.measure(e.width,e.height),this._bodyView.setBounds(0,0,e.width,e.height),this._bodyView.layoutContent(),this._focusRequested&&(this._focusRequested=!1)}$_modelchanged(){this._bodyView.$_modelChanged(this._model),this.invalidateLayout()}_fireMouseClicked(e){this.fireEvent($C.MOUSE_CLICKED,e)}_fireEditButtonClicked(e,t){this.fireEvent($C.EDIT_BUTTON_CLICKED,e,t)}onPropertySourceChanged(e){this.$_modelchanged(),this.onFocusItem&&this.onFocusItem(this._focusedItem,this.model)}}$C.MOUSE_CLICKED="onPropertyMouseClicked";$C.EDIT_BUTTON_CLICKED="onPropertyEditButtonClicked";class h1 extends To{constructor(){super(),this._fontSources=new Map}_doDispose(){super._doDispose()}get fonts(){const e=[];return this._fontSources.forEach(t=>{e.push({name:t.name,source:t.source,fontWeight:t.fontWeight,format:t.format})}),e}get fontNames(){const e=[];return this._fontSources.forEach(t=>{e.includes(t.name)||e.push(t.name)}),e}async registerFonts(e=[]){if(Array.isArray(e))for(const t of e){if(!t.name||!t.source)continue;const i=this.$_convertFontType(t.source.split(".").pop());if(!i)return;const r={name:t.name,fontWeight:this.$_convertFontWeight(t.fontWeight),source:await ee.getFileToBase64(t.source),format:i};this._fontSources.set(`${t.name}-${r.fontWeight}`,r),this.fireEvent(h1.FONT_ADDED,r)}}getFonts(e,t){const i=[];return this._fontSources.forEach(r=>{r.name===e&&(t?r.fontWeight===t&&i.push({name:r.name,source:r.source,fontWeight:r.fontWeight,format:r.format}):i.push({name:r.name,source:r.source,fontWeight:r.fontWeight,format:r.format}))}),i}getFontsByWeight(e){const t=[];return this._fontSources.forEach(i=>{i.fontWeight===e&&t.push(i)}),t}$_convertFontWeight(e){switch(e){case"normal":return"normal";case"bold":return"bold";default:return"normal"}}$_convertFontType(e){switch(e){case"ttf":return"truetype";case"otf":return"opentype";case"woff":return"woff"}}$_fireFontAdded(e){this.fireEvent(h1.FONT_ADDED,e)}$_fireFontRemoved(e){this.fireEvent(h1.FONT_REMOVED,e)}}h1.FONT_ADDED="onFontManagerFontAdded";h1.FONT_REMOVED="onFontManagerFontRemoved";class ERe extends eU{constructor(e){super(null,"colorPickerTool"),this._picker=e}_doDispose(){this._picker=null,super._doDispose()}get picker(){return this._picker}_doPointerDown(e){var t;const i=e.pointerX,r=e.pointerY,s=this._picker,n=this.pointerEventTarget;if(!s.contains(n))debugger;if(this.picker.isHeader(n))return this.dragTracker=this.picker.header.tracker,!0;if((t=this.picker.findTracker(n))===null||t===void 0||t.moveToPoint({x:i,y:r}),this.dragTracker=this._getDragTracker())return!0}_doPoinerMove(e){}_doPoinerUp(e){}_doClick(e,t,i){}_doDblClick(e){const t=this._picker,i=this.pointerEventTarget;t.saturationPicker.contains(i)&&t.commit()}_doPointerOutside(){wh.close()}_doPoinerWheel(e){return!0}_doPoinerEnter(e){}_doPoinerLeave(e){}_doPoinerOver(e){}_doContextMenu(e){return!1}_doKeyDown(e){return e.keyCode===27?(wh.close(),!0):super._doKeyDown(e)}_doKeyPress(e){return!1}_doKeyUp(e){return!1}_getDragTracker(){const e=this.pointerEventTarget;return this.picker.findTracker(e)}}class KT extends MAe{}class xRe extends KT{constructor(e){super(null,"saturationTracker"),this._picker=e}_doDrag(e){return this.moveToPoint({x:this.currentX,y:this.currentY}),!0}moveToPoint({x:e,y:t}){const r=Math.max(0,Math.min(this._picker.width,e)),s=Math.max(0,Math.min(this._picker.height,t-40));this._picker.moveToPoint({x:r,y:s})}}class A4 extends Hn{get draggerWidth(){return this._dragger.offsetWidth}get draggerHeight(){return this._dragger.offsetWidth}_initDom(e,t){const i=e.createElement("div");i.classList.add(`${t.classList.value}-dragger`,"rr-color-picker-dragger"),this._dragger=i,t.appendChild(i)}_moveDragger({x:e,y:t}){e!==void 0&&(this._dragger.style.left=`${e}px`),t!==void 0&&(this._dragger.style.top=`${t}px`)}}class SRe extends A4{constructor(e){super(e,"rr-color-picker-saturation-picker"),this._position={x:0,y:0},this._classNamePrefix="rr-color-picker-saturation-picker",this._tracker=new xRe(this)}get tracker(){return this._tracker}get color(){return this._color}get saturation(){return this._saturation}get lightness(){return this._lightness}get colorPicker(){return this.container}_initDom(e,t){super._initDom(e,t);const i=e.createElement("div"),r=e.createElement("div");i.classList.add(`${t.classList.value}-saturation-overlay`,`${t.classList.value}-overlay`),r.classList.add(`${t.classList.value}-value-overlay`,`${t.classList.value}-overlay`),t.append(i,r)}moveToColor(e){const{s:t,l:i}=Dt.rgb2Hsl(e);this.saturation===t&&this.lightness===i||(this._saturation=t,this._lightness=i,this.colorPicker.render())}moveToPoint({x:e,y:t}){const i=e/this.width*100,r=(1-t/this.height)*100;this.saturation===i&&this.lightness===r||(this._saturation=i,this._lightness=r,this.colorPicker.render())}update(e){const t=this.colorPicker.hueColor;this._color=e,this.setStyles({backgroundColor:Dt.toHex(t)||"",color:Dt.toHex(this._color)||""}),this._moveDragger({x:this.width*(this._saturation/100),y:this.height*((100-this._lightness)/100)})}}class IRe extends Hn{constructor(e){super(e,"rr-color-picker-saturation-container")}get saturationPicker(){return this._saturationPicker}_initDom(e){this._saturationPicker=new SRe(e),this.addChild(this._saturationPicker)}}class BRe extends Hn{constructor(e){super(e,"rr-color-picker-pallete"),this._localStorageKey="customColors",this._customColors=[],this._dirty=!0,this._classNamePrefix="rr-color-picker-pallete",this.$_init()}get $_colorPicker(){return this.container}$_selectColor(e,t){return e.matches(t)?(this.$_colorPicker.colorText=e.style.backgroundColor,!0):!1}add(e){const i=this._customColors.findIndex(({color:r,alpha:s})=>r===e.color&&s===e.alpha);i>-1&&this._customColors.splice(i,1),this._customColors=[e,...this._customColors].slice(0,10),localStorage.setItem(this._localStorageKey,JSON.stringify(this._customColors)),this._dirty=!0}update(){if(!this._dirty)return;[...this._custeomColorElement.childNodes].forEach(t=>{this._custeomColorElement.removeChild(t)});const e=document.createDocumentFragment();this._customColors.forEach(t=>{const i=document.createElement("div");i.classList.add(`${this._custeomColorElement.classList.value}-item`),i.style.background=Dt.toRgba(t.color,t.alpha),e.appendChild(i)}),this._custeomColorElement.appendChild(e),this._custeomColorElement.style.display=this._customColors.length?"grid":"none",this._textLabel.style.display=this._customColors.length?"block":"none",this._dirty=!1}_initDom(e,t){this._custeomColorElement=this.$_createCustomColor(e,t),this._textLabel=e.createElement("div"),this._textLabel.classList.add(`${t.classList.value}-custom-label`),this._textLabel.textContent="Recent Color",t.append(this.$_createPallete(e,t),this._textLabel,this._custeomColorElement)}$_init(){localStorage.getItem(this._localStorageKey)&&(this._customColors=JSON.parse(localStorage.getItem("customColors")))}$_createPallete(e,t){const i=Object.keys(e5),r=e.createElement("div");r.classList.add(`${t.classList.value}-palletes`);for(let s=0;s<4;s+=1)i.forEach(n=>{const o=e.createElement("div");o.classList.add(`${t.classList.value}-item`),o.style.background=e5[n][s],r.appendChild(o)});return t.addEventListener("click",s=>{const n=s.target;this.$_selectColor(n,`.${t.classList.value}-item`)}),t.addEventListener("dblclick",s=>{const n=s.target;this.$_selectColor(n,`.${t.classList.value}-item`)&&this.$_colorPicker.commit()}),r}$_createCustomColor(e,t){const i=e.createElement("div");return i.classList.add(`${t.classList.value}-custom-colors`),t.addEventListener("click",r=>{const s=r.target;this.$_selectColor(s,`.${i.classList.value}-item`)}),t.addEventListener("dblclick",r=>{const s=r.target;this.$_selectColor(s,`.${i.classList.value}-item`)&&this.$_colorPicker.commit()}),i}}class PRe extends Hn{constructor(e){super(e,"rr-color-picker-color-info"),this._colorType="Hex",this._classNamePrefix="rr-color-picker-color-info"}get $_colorPicker(){return this.container}get color(){return this._color}get alpha(){return this._alpha}update(e,t){this._type.querySelector("span").textContent=this._colorType,this._color=e,this._alpha=t;let i;if(this._colorType==="Hex"){const r=Dt.toHex(e,Number.NaN,"");this._hex.querySelector("input").value=r,i=this._hex.querySelectorAll("input")[1]}else if(this._colorType==="Rgb"){const r=Dt.toRgb(e),s=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,n=r.match(s);for(let o=0;o<3;o+=1)this._rgb.querySelectorAll("input")[o].value=(n==null?void 0:n[o+1])||"";i=this._rgb.querySelectorAll("input")[3]}i.value=typeof t=="number"?(t*100).toFixed(0):"100",i.disabled=!this.$_colorPicker.alphaEnabled}focus(){this._hex.querySelector("input").focus()}_initDom(e,t){this._colorType="Hex",this._type=this.$_createSelect(e,t),this._hex=this.$_createHexForm(e,t),this._rgb=this.$_createRgbForm(e,t),this._colorType==="Hex"?(this._hex.classList.remove("none"),this._rgb.classList.add("none")):(this._hex.classList.add("none"),this._rgb.classList.remove("none")),t.append(this._type,this._hex,this._rgb),t.addEventListener("paste",i=>{i.preventDefault();const r=i.target;if(!this.$_isInput(r))return;let s=i.clipboardData.getData("text");if(!this.$_validateHexColor(s))return;const{name:n,value:o}=r;switch(n){case"hex":s=s.substring(0,6-o.length);break;case"r":case"g":case"b":case"a":s=s.substring(0,3-o.length)}e.execCommand("insertText",!1,s)}),t.addEventListener("keydown",i=>{const r=i.target;if(!this.$_isInput(r)||i.key==="Backspace"||i.key==="Delete"||i.key==="ArrowLeft"||i.key==="ArrowRight"||i.key==="Tab"||i.metaKey||i.ctrlKey||i.altKey||i.shiftKey)return;const{value:s}=r;let n=s;if(r.selectionStart!==null){const o=r.selectionStart;n=s.slice(0,o)+i.key+s.slice(r.selectionEnd)}this.$_validateInput(i,n)}),t.addEventListener("change",i=>{if(!this.$_isInput(i.target))return;const r=i.target;this.$_validateInput(i,r.value)}),t.addEventListener("keyup",i=>{const r=i.target;if(!this.$_isInput(r))return;if(i.key==="Enter"){this.$_colorPicker.commit();return}let s,n;r.name!=="hex"&&this.$_validateInput(i,r.value),this._colorType==="Hex"?(s=`#${this._hex.querySelector("input").value}`,n=this._hex.querySelectorAll("input")[1].value):this._colorType==="Rgb"&&(s=`rgb(${[...this._rgb.querySelectorAll("input")].filter((c,d)=>d<3).map(c=>c.value).join(",")})`,n=this._rgb.querySelectorAll("input")[3].value);const o=Dt.strToColor(s),l=Number(n)/100;o&&this.$_colorPicker.inputColor({color:o.color,alpha:l})})}$_createSelect(e,t){const i=e.createElement("div"),r=e.createElement("span"),s=this.$_createSelectList(e,t);return i.classList.add(`${t.classList.value}-select`),r.textContent=this._colorType||"Hex",i.addEventListener("click",n=>{n.stopPropagation(),s.classList.remove("none");const o=l=>{l.target.matches(".modal")||(s.classList.add("none"),e.removeEventListener("click",o))};e.addEventListener("click",o)}),i.append(r,s),i}$_createSelectList(e,t){const i=e.createElement("div");i.classList.add(`${t.classList.value}-modal`,"none");const r=e.createElement("ul"),s=e.createElement("li"),n=e.createElement("li");return r.append(s,n),s.textContent="Hex",s.dataset.type="Hex",n.textContent="Rgb",n.dataset.type="Rgb",[s,n].forEach(o=>{o.prepend(Xt.createContextMenuIcon(e,xe.menuChecked))}),s.classList.add("selected"),r.addEventListener("click",o=>{if(!o.target.matches("li"))return;o.stopPropagation();const h=o.target.dataset.type;if(h===this._colorType){i.classList.add("none");return}this._colorType=h,this._hex.classList.toggle("none"),this._rgb.classList.toggle("none"),i.classList.add("none"),h==="Hex"?(s.classList.add("selected"),n.classList.remove("selected")):(n.classList.add("selected"),s.classList.remove("selected")),this.update(this._color,this._alpha)}),i.appendChild(r),i}$_createHexForm(e,t){const i=e.createElement("div"),r=this.$_createLabel("hex"),s=this.$_createLabel("a"),n=e.createElement("span");return n.classList.add(`${t.classList.value}-percent`),n.textContent="%",s.appendChild(n),i.classList.add(`${t.classList.value}-hex`,`${t.classList.value}-inputbox`),i.append(r,s),i}$_createRgbForm(e,t){const i=e.createElement("div"),r=this.$_createLabel("r"),s=this.$_createLabel("g"),n=this.$_createLabel("b"),o=this.$_createLabel("a"),l=e.createElement("span");return l.classList.add(`${t.classList.value}-percent`),l.textContent="%",o.appendChild(l),i.classList.add(`${t.classList.value}-rgb`,`${t.classList.value}-inputbox`),i.append(r,s,n,o),i}$_createLabel(e=""){const t=document.createElement("label"),i=document.createElement("input");return e!=="hex"&&(i.type="number"),t.appendChild(i),i.name=e,t}$_isInput(e){return e.matches("input")}$_validateInput(e,t){const i=e.target;switch(i.name){case"hex":if(!this.$_validateHexColor(t))return e.preventDefault(),!1;t.length>6&&e.preventDefault();break;case"r":case"g":case"b":if(!this.$_validateNumber(t))return e.preventDefault(),!1;Number(t)>255&&(i.value="255",e.preventDefault());break;case"a":if(!this.$_validateNumber(t))return e.preventDefault(),!1;Number(t)>100&&(i.value="100",e.preventDefault());break}return!0}$_validateHexColor(e){return/^[0-9a-f]{1,6}$/i.test(e)}$_validateNumber(e){return/^\d{0,3}$/i.test(e)}}class RRe extends KT{constructor(e){super(null,"alphaTracker"),this._picker=e}_doDrag(e){return this.moveToPoint({x:this.currentX,y:0}),!0}moveToPoint({x:e}){const{draggerWidth:t}=this._picker,i=Math.max(0,Math.min(this._picker.innerWidth,e-this._picker.x-t));this._picker.moveToPoint({x:i})}}class YT extends A4{constructor(e){super(e,"rr-color-picker-alpha-picker"),this._visible=!1,this._position={x:0,y:0},this._classNamePrefix="rr-color-picker-alpha-picker",this._tracker=new RRe(this)}get innerWidth(){return this.width-this.draggerWidth-2}get alpha(){return this.visible?this._alpha:1}get visible(){return this._visible}set visible(e){this._visible!==e&&(this._visible=e)}get colorPicker(){return this.container}moveToColor(e){this._alpha!==e&&(this._alpha=e,this.colorPicker.render())}moveToPoint({x:e}){const t=e/this.innerWidth;this._alpha!==t&&(this._alpha=t,this.colorPicker.render())}update(e){if(!this.visible){this.setStyles({display:"none"});return}const t=`linear-gradient(to left,
|
|
3206
3206
|
${Dt.toHex(e)},${Dt.toRgba(e,0)}),
|
|
3207
|
-
url("${YT.BACKGROUND}")`,i=this.innerWidth*this._alpha;this._moveDragger({x:i}),this.setStyles({backgroundImage:t,display:"block"})}get tracker(){return this._tracker}}YT.BACKGROUND="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='2'%3E%3Cpath d='M1,0H0V1H2V2H1' fill='lightgray'/%3E%3C/svg%3E";class TRe extends KT{constructor(e){super(null,"hueTracker"),this._picker=e}_doDrag(e){return this.moveToPoint({x:this.currentX,y:0}),!0}moveToPoint({x:e}){const{draggerWidth:t}=this._picker,i=Math.max(0,Math.min(this._picker.innerWidth,e-this._picker.x-t));this._picker.moveToPoint({x:i})}}class LRe extends A4{constructor(e){super(e,"rr-color-picker-hue-picker"),this._hueColor=16711680,this._hue=16711680,this._x=0,this._position={x:0,y:0},this._classNamePrefix="rr-color-picker-hue-picker",this._tracker=new TRe(this)}get tracker(){return this._tracker}get hueColor(){return this._hueColor}get hue(){return this._hue}get innerWidth(){return this.width-this.draggerWidth-2}get colorPicker(){return this.container}moveToColor(e){const t=Dt.rbg2Hue(e);this.moveToPoint({x:t*this.innerWidth/360})}moveToPoint({x:e}){const t=e/(this.innerWidth/(Dt.hueCount-1)),i=Math.floor(t),r=Dt.interpoate(Dt.getHue(i),Dt.getHue(i+1),t-i);this._hueColor!==r&&(this._hueColor=r,this._hue=Dt.rbg2Hue(this._hueColor),this._x=e,this.colorPicker.render())}update(){this._moveDragger({x:this._x}),this.setStyle("color",Dt.toHex(this._hueColor))}}class DRe extends Hn{constructor(e){super(e,"rr-color-picker-hue-color-container")}get huePicker(){return this._huePicker}get alphaPicker(){return this._alphaPicker}_initDom(e,t){this._huePicker=new LRe(e),this._alphaPicker=new YT(e),this.addChild(this._huePicker),this.addChild(this._alphaPicker)}}class ORe extends Hn{constructor(e){super(e,"rr-color-picker-hue-container"),this._color=16711680}get hueColorContainer(){return this._hueColorContainer}get $_colorPicker(){return this.container}update(e,t){const i=Dt.toRgba(e,t);this._colorResult.style.backgroundColor=i}_initDom(e,t){const i=this.$_createColorResult(e);this._hueColorContainer=new DRe(e),window.EyeDropper&&(t.appendChild(this.$_createEyeDropper(e,t)),t.classList.add("eye-dropper")),t.appendChild(i),this.addChild(this._hueColorContainer)}$_createColorResult(e){const t=e.createElement("div");t.classList.add("rr-color-picker-color-result");const i=e.createElement("div");i.classList.add("rr-color-picker-color-result-background");const r=e.createElement("div");return r.classList.add("rr-color-picker-color-result-color"),t.append(i,r),this._colorResult=r,t}$_createEyeDropper(e,t){const i=e.createElement("div");return i.classList.add(`${t.classList.value}-eye-dropper`),i.appendChild(Xt.createIconSvg(e,xe.spoid,24,24)),i.addEventListener("click",()=>{new window.EyeDropper().open().then(s=>{this.$_colorPicker.colorText=s.sRGBHex}).catch(s=>{console.log("Color selection cancelled.")})}),i}}class MRe extends Hn{constructor(e){super(e,"rr-color-picker-hsv-container")}_initDom(e,t){this._hueContainer=new ORe(e),this._colorInfo=new PRe(e),this._colorPallete=new BRe(e),this.addChild(this._hueContainer),this.addChild(this._colorInfo),this.addChild(this._colorPallete),t.appendChild(this.$_createButton(e,t))}$_createButton(e,t){const i=e.createElement("div"),r=e.createElement("button"),s=e.createElement("button");return i.classList.add(`${t.classList.value}-buttons`),r.textContent="Cancel",s.textContent="Save",r.addEventListener("click",()=>{wh.close()}),s.addEventListener("click",()=>{this.colorPicker.commit()}),i.append(s,r),i}get hueContainer(){return this._hueContainer}get colorInfo(){return this._colorInfo}get colorPallete(){return this._colorPallete}get huePicker(){return this._hueContainer.hueColorContainer.huePicker}get alphaPicker(){return this._hueContainer.hueColorContainer.alphaPicker}get colorPicker(){return this.container}}class NRe extends KT{constructor(){super(null,"header-tracker")}_doDrag(e){const t=this.currentX-this.startX,i=this.currentY-this.startY;return this.moveToPoint({x:this.startX+t,y:this.startY+i}),!0}moveToPoint(e){wh.moveBy(e.x-this.startX,e.y-this.startY)}}class kRe extends Hn{constructor(e){super(e,"rr-color-picker-header"),this._tracker=new NRe}get tracker(){return this._tracker}_initDom(e,t){t.appendChild(this.$_createHeader(e,t))}$_createHeader(e,t){const i=e.createElement("div"),r=e.createElement("span"),s=e.createElement("span");return i.classList.add(`${t.classList.value}-close`),i.append(r,s),i.addEventListener("click",()=>{wh.close()}),i}}class wh extends FAe{static show(e,t,i,r,s,n){this.Picker||(this.PickerContainer=document.createElement("div"),this.Picker=new wh(this.PickerContainer));const o=this.PickerContainer.style;o.top="50%",o.left="50%",o.transform="translate(-50%, -50%)",this.Picker.alphaEnabled=r,s!==wh._callback&&(wh._callback=s,this.Picker.callback=(h,c)=>{this.close(),s&&s(this.Picker.tag,Dt.colorToHex2(h,c))}),(typeof e=="string"?document.getElementById(e):e).appendChild(this.PickerContainer),this.Picker.closeCallback=n,this.Picker.tag=t,this.Picker.colorText=this.Picker.$_buildColorText(i),this.Picker.$_pallete.update(),setTimeout(()=>{this.Picker.setFocus()},0)}static close(){this.Picker&&this.PickerContainer.parentElement&&(ee.remove(this.PickerContainer),this.Picker.closeCallback&&this.Picker.closeCallback(),this.Picker.closeCallback=null)}static moveBy(e,t){const{offsetTop:i,offsetLeft:r}=this.PickerContainer,{width:s,height:n}=this.PickerContainer.getBoundingClientRect(),o=this.PickerContainer.style,l=Math.max(n/2,i+t),h=Math.max(s/2,r+e);o.top=`${l}px`,o.left=`${h}px`}constructor(e){super(e),this._useRender=!0}_doDispose(){super._doDispose()}get color(){return this.saturationPicker.color}get alpha(){return this.$_alphaPicker.alpha}get colorText(){return Dt.colorToHex(this.$_colorInfo.color,this.$_colorInfo.alpha)}set colorText(e){const{color:t,alpha:i}=Dt.strToColor(e);this._useRender=!1,this.$_huePicker.moveToColor(t),this.saturationPicker.moveToColor(t),this.$_alphaPicker.moveToColor(i),this._useRender=!0,this.render()}get alphaEnabled(){return this._alphaEnabled}set alphaEnabled(e){e!==this._alphaEnabled&&(this._alphaEnabled=e,this.$_alphaPicker.visible=e)}isHeader(e){return this._header.contains(e)}findPicker(e){return[this.$_huePicker,this.saturationPicker,this.$_alphaPicker].find(t=>t.contains(e))}findTracker(e){var t;return((t=this.findPicker(e))===null||t===void 0?void 0:t.tracker)||null}setFocus(){this.$_colorInfo.focus()}render(e){const{input:t=!1}=e||{};if(!this._useRender)return;const{saturation:i,lightness:r}=this.saturationPicker,{hue:s}=this.$_huePicker,{alpha:n}=this.$_alphaPicker,o=Dt.hsl2Rgb(s,i,r);[this.$_huePicker,this.saturationPicker,this.$_alphaPicker,this.$_colorResult,...t?[]:[this.$_colorInfo]].forEach(l=>{l.update(o,n)})}inputColor(e){this._useRender=!1,this.$_huePicker.moveToColor(e.color),this.saturationPicker.moveToColor(e.color),this.$_alphaPicker.moveToColor(e.alpha),this._useRender=!0,this.render({input:!0})}commit(){this.callback&&this.callback(this.color,this.alpha),this.$_pallete.add({color:this.color,alpha:this.alpha})}_getCssSelector(){return"rr-color-picker-root rr-color-picker"}_prepareChildren(e,t){this._addElement(this._header=new kRe(e)),this._addElement(this._saturationContainer=new IRe(e)),this._addElement(this._hsvContainer=new MRe(e))}_createDefaultTool(){return new ERe(this)}$_buildColorText(e){return e&&(Dt.isColorString(e)?e:Dt.toHexColor(e))}get saturationPicker(){return this._saturationContainer.saturationPicker}get hueColor(){return this.$_huePicker.hueColor}get header(){return this._header}get $_huePicker(){return this._hsvContainer.huePicker}get $_alphaPicker(){return this._hsvContainer.alphaPicker}get $_colorResult(){return this._hsvContainer.hueContainer}get $_colorInfo(){return this._hsvContainer.colorInfo}get $_pallete(){return this._hsvContainer.colorPallete}}const FRe="_section_item_";let VRe=0;class N1{static create(e,t){switch(t.type){case"button":return new HRe(t);case"input":return new URe(t);case"number-input":return new QRe(t);case"check":return new GRe(t);case"select":return new $Re(t);case"list":return new WRe(t);case"text":return new zRe(t);case"space":return new KRe(t);case"separator":return new YRe({direction:e.vertical?"horizontal":"vertical",...t});case"group":return new Fb(e,t);default:return t}}constructor(e){var t,i,r;this.visible=!0,this.id=(t=e.id)!==null&&t!==void 0?t:FRe+VRe++,this.tag=e.tag,this.style=e.style,this.supportTypes=(i=e.supportTypes)!==null&&i!==void 0?i:void 0,this.serverRequired=(r=e.serverRequired)!==null&&r!==void 0?r:!1}getToolOptions(){return{id:this.id,tag:this.tag,style:this.style}}checkDisabled(e){return!0}}class kb extends N1{constructor(e){var t;super(e),this._label=e.label||((t=e.action)===null||t===void 0?void 0:t.label),this._hint=e.hint,this.icon=e.icon,this.svg=e.svg,this.placeholder=e.placeholder,this.action=e.action,this.disabled=e.disabled}get label(){var e;return this._label||((e=this.action)===null||e===void 0?void 0:e.label)}set label(e){this._label=e}get hint(){return this._hint||this.label}}class HRe extends kb{constructor(e){super(e),this.type="button",this.variant=e.variant}getToolOptions(){return{...super.getToolOptions(),label:this.label,svg:this.svg,hint:this.hint,action:this.action,variant:this.variant}}checkDisabled(e){return!this.action||this.action.enabled&&this.action.enabled(e,this.action)===!1}}class URe extends kb{constructor(e){super(e),this.type="input";const{value:t,full:i=!1,align:r,onEdit:s}=e;this.value=t,this.full=i,this.align=r,this.onEdit=s}getToolOptions(){return{...super.getToolOptions(),label:this.label,value:this.value,placeholder:this.placeholder,disabled:this.disabled,full:this.full,align:this.align,onEdit:this.onEdit}}}class QRe extends kb{constructor(e){super(e),this.type="number-input";const{value:t,full:i=!1,align:r,min:s,max:n,onEdit:o}=e;this.value=t,this.full=i,this.align=r,this.min=s,this.max=n,this.onEdit=o}getToolOptions(){return{...super.getToolOptions(),label:this.label,value:this.value,placeholder:this.placeholder,disabled:this.disabled,full:this.full,align:this.align,min:this.min,max:this.max,onEdit:this.onEdit}}}class GRe extends kb{constructor(e){super(e),this.type="check";const{value:t,full:i=!1,align:r,onChange:s}=e;this.value=t,this.full=i,this.align=r,this.onChange=s}getToolOptions(){return{...super.getToolOptions(),label:this.label,value:this.value,placeholder:this.placeholder,disabled:this.disabled,full:this.full,align:this.align,onChange:this.onChange}}}class $Re extends kb{constructor(e){super(e),this.type="select";const{domain:t,iconsColors:i,value:r,full:s=!1,onEdit:n}=e;this.domain=t,this.iconsColors=i,this.value=r,this.full=s,this.onEdit=n}getToolOptions(){return{...super.getToolOptions(),label:this.label,domain:this.domain,iconsColors:this.iconsColors,value:this.value,disabled:this.disabled,full:this.full,onEdit:this.onEdit}}}class WRe extends kb{constructor(e){super(e),this.type="list"}}class zRe extends N1{constructor(e){super(e),this.type="text",this.value=e.value}getToolOptions(){return{...super.getToolOptions(),value:this.value}}}class KRe extends N1{constructor(e){super(e),this.type="space",this.size=e.size,this.text=e.text}getToolOptions(){return{...super.getToolOptions(),size:this.size}}}class YRe extends N1{constructor(e){super(e),this.type="separator",this.size=e.size,this.margin=e.margin,this.color=e.color,this.direction=e.direction}getToolOptions(){return{...super.getToolOptions(),size:this.size,margin:this.margin,color:this.color,direction:this.direction}}}class Fb extends N1{constructor(e,t){super(t),this._items=[],this._itemMap={},this.type="group",this._sectionBar=e,this.display=t.display,this.$_load(t.items)}get count(){return this._items.length}get items(){return this._items.slice(0)}getItem(e){return this._items[e]}itemOf(e){return this._itemMap[e]}$_load(e){for(let t of e){const i=N1.create(this._sectionBar,t);i.type!=="group"&&this.$_addItem(i)}}$_addItem(e){this._items.push(e),e.id&&(this._itemMap[e.id]=e)}}class Xd extends Ai{static setItemTags(e,t){e.forEach(i=>{i.tag=t})}constructor(e,t){super(),this.vertical=e,this._items=[],this._itemMap={},this._groupMap={},this.$_load(t)}get count(){return this._items.length}get items(){return this._items}get(e){return this._items[e]}itemOf(e){let t=this._itemMap[e];if(!t){for(const i in this._groupMap)if(t=this._groupMap[i].itemOf(e))break}return t}groupOf(e){return this._groupMap[e]}groupsOf(e){const t=[];return this._items.forEach(i=>{i instanceof Fb&&i.tag===e&&t.push(i)}),t}itemsOf(e){return this._items.filter(t=>t.tag===e)}refresh(e){this._doRefresh(e)}$_load(e){for(let t of e){const i=N1.create(this,t);i.type==="group"?this.$_addGroup(i):this.$_addItem(i)}}$_addGroup(e){this._items.push(e),e.id&&(this._groupMap[e.id]=e)}$_addItem(e){this._items.push(e),e.id&&(this._itemMap[e.id]=e)}}class f4 extends To{constructor(e,t=!1){super(),this.ctx=e,this.vertical=t}}class dy extends f4{}const Ic="rrd-tool";class _d extends un{constructor(e,t,i={}){super(e,t),this.id=i.id,this.tag=i.tag,this.setStyles(i.style)}get id(){return this.dom.id}set id(e){e&&e!==this.dom.id&&(this.dom.id=e)}}class Ez extends _d{}class Ht extends _d{constructor(e,t){var i;super(e,void 0,t),this.large=!1,this.ended=!1,this.checked=!1,this.shifted=!1,Object.assign(this,t),this.styleName=t.className?t.className:`${Ic}-button`,this.dom.title=t.hint||t.label||((i=t.action)===null||i===void 0?void 0:i.label);const{svg:r,svgAttributes:s}=t;if(r){const n=this._svg=e.createElementNS(Di,"svg");if(n.setAttribute("viewBox","0 0 32 32"),n.setAttribute("width",t.size||"24"),n.setAttribute("height",t.size||"24"),n.setAttribute("fill","none"),s)for(const o in s)n.setAttribute(o,s[o]);n.innerHTML=t.svg,this.addDom(n)}if(t.label&&(!t.svg||t.long)){const n=this._label=X.createSpan(this.doc,"rrd-tool-button-label");n.textContent=t.label,this.addDom(this._label)}t.enabled===!1&&(this.enabled=!1)}get enabled(){return!X.hasData(this.dom,"disabled")}set enabled(e){X.setBoolData(this.dom,"disabled",!e),e?this.dom.removeAttribute("disabled"):this.dom.setAttribute("disabled","")}get variant(){return X.getData(this.dom,"variant")||"default"}set variant(e){X.setData(this.dom,"variant",e)}set style(e){this.setStyles(e)}setLabel(e){e!==this.label&&(this._label.textContent=this.label=e)}_createDom(e){return e.createElement("button")}_doDraw(e){}_setSizeStyle(e){}applyBounds(){}update(e){this.enabled=e.disabled!==!0,this.enabled?this.dom.style.opacity="1":this.dom.style.opacity="0.5"}_doInitDom(e,t){t.style.display=this._getCssDisplay(),t.style.justifyContent="center",t.style.alignItems="center"}_getCssDisplay(){return"flex"}}class Om extends Ii{static createButtonGroupView(e,t,i,r="flex"){const s=i.map(n=>new Ht(e,n));return new Om(e,t,s,r)}constructor(e,t,i,r="flex"){switch(super(e,`${Ic}-group`),this._map={},this._display="flex",this._display=r){case"grid":{this.setStyles({display:"grid"});break}case"flex":default:this.setStyles({display:"flex",gap:"2px",flexDirection:t?"column":"row",alignItems:"center",justifyContent:"center",width:t?"100%":"",minWidth:"fit-content"})}i.forEach(s=>{this.addChild(s),s.id&&(this._map[s.id]=s)})}find(e){for(const t of this.getChildren())if(t instanceof _d&&t.containsDom(e))return t}toolOf(e){return this._map[e]}buttonOf(e){const t=this.toolOf(e);if(t instanceof Ht)return t;throw new mu}_initDom(e,t){super._initDom(e,t),t.style.position=""}_getCssDisplay(){return this._display}_setSizeStyle(e){}applyBounds(){}}class k1 extends Ez{constructor(e,t,i={}){super(e,t,i);const{label:r,value:s,placeholder:n,disabled:o,full:l=!1,align:h=Pi.LEFT,validator:c,onEdit:d,onInput:u,onChange:A}=i;(this.label=r)&&this.dom.insertBefore(this.$_createLabelDiv(e,this.label),this._control),i.id&&(this._control.id=i.id),this.value=s,this.enabled=!o,l&&(this.dom.style.width=this._control.style.width="100%"),this._control.placeholder=n??"",X.setData(this._control,"align",h),this._control.style.textAlign=h,this.validator=c,this.onEdit=(f,p)=>{const g=this._getValueAsRaw(p),_=this.$_validate(g),m=typeof _=="boolean"?_:!_,w=typeof _=="string"?_:void 0;g!==this.value&&m?(this.value=g,d==null||d(f,g)):(w&&alert(w),this._control.value=this._getValueAsString(this.value))},this.onInput=(f,p)=>{u==null||u(f,this._getValueAsRaw(p))},this.onChange=(f,p)=>{A==null||A(f,p)}}get enabled(){return!this._control.disabled}set enabled(e){this._control.disabled=!e}get value(){return this._value}set value(e){this.enabled&&(this._value=e,this._control.value=this._getValueAsString(e))}get inputValue(){return this._control.value}get align(){return X.getData(this._control,"align")}get control(){return this._control}_initDom(e,t){super._initDom(e,t),this.dom.appendChild(this._control=this.$_createControlDiv(e))}$_createLabelDiv(e,t){const i=X.createElement(e,"label",void 0,`${this._getCssSelector()}-label`);return i.textContent=t,i}$_createControlDiv(e){return X.createElement(e,"input",void 0,`${this._getCssSelector()}-control`)}$_validate(e){return this.validator?this.validator(e):this._doValidate(e)}}k1.CLASS_NAME=`${Ic}-input`;class FA extends k1{constructor(e,t){super(e,`${Ic}-input`,t)}update(e){this.value=e.value}_getCssSelector(){return`${Ic}-input`}_getValueAsString(e){return e??""}_getValueAsRaw(e){return e}_doValidate(e){return!0}}class XRe extends k1{constructor(e,t){super(e,`${Ic}-number-input`,t);const{min:i,max:r}=t;this._min=i,this._max=r,this._min!==void 0&&(this.control.min=this._min.toString()),this._max!==void 0&&(this.control.max=this._max.toString())}_initDom(e,t){super._initDom(e,t),this.control.type="number"}update(e){this.value=e.value}_getCssSelector(){return`${Ic}-number-input`}_getValueAsString(e){var t;return(t=e==null?void 0:e.toString())!==null&&t!==void 0?t:""}_getValueAsRaw(e){return ee.toNumber(e)}_doValidate(e){let t=!0;return this._min!==void 0&&e<this._min&&(t=!1),this._max!==void 0&&e>this._max&&(t=!1),t}}class xz extends k1{constructor(e,t){super(e,`${Ic}-check-input`,t)}_initDom(e,t){super._initDom(e,t),this.control.type="checkbox"}update(e){this.value=e.value,this.control.checked=e.value,this.control.onclick=t=>{this.value=!this.value,e.value=this.value}}_getCssSelector(){return`${Ic}-check-input`}_getValueAsString(e){return e?"true":"false"}_getValueAsRaw(e){return!!e}_doValidate(e){return!0}}class ql extends _d{static create(e){return new ql(e,{direction:"vertical",size:"60%",margin:6,color:"#9191d8"})}constructor(e,t){super(e,`${Ic}-sep`,t);const{group:i,color:r="lightgray",size:s="80%",margin:n=8,direction:o="vertical"}=t;this.group=i,o==="vertical"?this.setStyles({width:"1px",height:s,margin:`0 ${n}px`,boxSizing:"borderBox",borderRight:`1px solid ${r}`}):this.setStyles({height:"1px",width:s,margin:`${n}px 0`,boxSizing:"borderBox"}),this.setStyles(t.style)}update(e){}}class TN extends na{constructor(e,t,i,r){super(e),this.type=t;const{align:s="center",iconsColors:n,closeOnSelect:o=!1,onSelect:l,onClose:h}=r;this._align=s,this._closeOnSelect=o,this.onSelect=l,this.onClose=h,this._items=i.map(c=>ee.isString(c)?{id:c,label:c}:c),this._items.forEach((c,d)=>{const u=e.createElement("button"),A=e.createElement("div"),f=e.createElement("div");A.className="rrd-select-item-container",X.setStyles(A,{display:"flex",alignItems:"center"}),f.className="rrd-select-item-icon",n&&X.setStyles(f,{backgroundColor:n[d],width:"12px",height:"12px",marginLeft:"6px"}),u.id=c.id,f.id=c.id,A.id=c.id,u.role="option",u.textContent=c.label,u.style.textAlign=this._align,A.appendChild(f),A.appendChild(u),this.addDom(A)}),this.styleName="rrd-popup-selector",this.width=this.height=NaN}get closeOnSelect(){return this._closeOnSelect}select(e){Array.from(this.dom.children).forEach(t=>{X.setData(t,"selected",t.id===e?"true":"")})}_initDom(e,t){super._initDom(e,t),X.setStyles(t,{display:"flex",flexDirection:"column",gap:"1px",pointerEvents:"auto",padding:"2px"})}_getCssDisplay(){return"flex"}}class VA extends Ez{constructor(e,t){var i;super(e,`${Ic}-select`,t);const{label:r,domain:s,iconsColors:n,value:o,full:l=!1,onEdit:h}=t;(this.label=r)&&this.dom.insertBefore(this.$_createLabelDiv(e,this.label),this._control),this.value=(i=o??s[0])!==null&&i!==void 0?i:"",l&&(this._full=l,this.dom.style.width="100%"),this.onEdit=h,this._selector=this.$_createSelector(s,n)}get value(){return this._span.textContent}set value(e){this._span.textContent=e}get inputValue(){return this._span.textContent}get focused(){return!!X.getData(this.dom,"focused")}set focused(e){X.setData(this._control,"focused",e?"1":"")}get control(){return this._control}get domainIcon(){return this._domainIcon}showPicker(e){e.showPopupSelector(this._selector,this.value),this.focused=!0}setDomainIconStyles(e){X.setStyles(this._domainIcon,e)}createSelector(e,t,i){this.value=t,this._selector=this.$_createSelector(e,i)}_initDom(e,t){super._initDom(e,t),this._span=X.createDiv(e,void 0,{flex:1}),this.dom.appendChild(this._control=this.$_createControlDiv(e,this._span))}_getCssDisplay(){return this._full?"block":"flex"}update(e){var t;this.value=(t=e.value)!==null&&t!==void 0?t:e.domain[0],X.setData(this._control,"disabled",e.disabled?"1":"")}$_createLabelDiv(e,t){const i=X.createElement(e,"label",void 0,`${Ic}-select-label`);return i.textContent=t,i}$_createControlDiv(e,t){const i=X.createDiv(e,`${Ic}-select-control`,{display:"flex",justifyContent:"center",alignItems:"center"}),r=X.createDiv(e,"select-domain-icon",{});this._domainIcon=r;const s=e.createElement("div");s.style.width="24px",s.style.display="flex",s.style.justifyContent="center",s.style.alignItems="center";const n=e.createElementNS(Di,"svg");return n.setAttribute("viewBox","0 0 32 32"),n.setAttribute("width","15"),n.setAttribute("height","15"),n.setAttribute("fill","none"),n.innerHTML=xe.toolItem.selector,s.appendChild(n),i.appendChild(r),i.appendChild(t),i.appendChild(s),i}$_createSelector(e,t){return new TN(this.doc,this.id,e,{align:"left",closeOnSelect:!0,iconsColors:t,onSelect:(i,r,s)=>{var n;this.value=s.id,(n=this.onEdit)===null||n===void 0||n.call(this,i,s.id||s.label)},onClose:()=>this.focused=!1})}}class XT extends _d{constructor(e,t){super(e,void 0,t);const{size:i}=t;this.setStyles({flex:i?`0 0 ${i}`:"1 1 0",textAlign:"center"})}update(e){this.dom.textContent=e.text||""}_createDom(e){return e.createElement("span")}}class AP extends _d{constructor(e,t){super(e,`${Ic}-text`,t);const{value:i,style:r={},svg:s,svgAttributes:n}=t;if(this.value=i,this.setStyles({paddingTop:"1px",...r}),s){const o=this._svg=e.createElementNS(Di,"svg");if(o.setAttribute("viewBox","0 0 32 32"),o.setAttribute("width",t.size||"24"),o.setAttribute("height",t.size||"24"),o.setAttribute("fill","none"),n)for(const l in n)o.setAttribute(l,n[l]);o.innerHTML=t.svg,this.addDom(o)}}get value(){return this.dom.textContent}set value(e){this.dom.textContent=e}get svg(){return this._svg.innerHTML}set svg(e){this._svg.innerHTML=e}get dom(){if(super.dom instanceof HTMLSpanElement)return super.dom;throw new mu}_createDom(e){return e.createElement("span")}update(e){this.value=e.value,this.setStyles(e.style)}}class g2 extends sr{constructor(e,t,i){super(e),this._toolMap={},this.dom.className=t,this.$_build(this.doc,this._model=i),this._doPrepareBar(this.doc,this._rootElement.dom,i)}get model(){return this._model}set model(e){e!==this._model&&(this._model=e,this.invalidateLayout())}findToolItem(e){const t=this.findElementOf(e,!0);if(t instanceof _d)return t}findToolItemById(e){const t=this._toolMap[e];if(t instanceof _d)return t;for(const i of Object.values(this._toolMap))if(i instanceof Om){const r=i.toolOf(e);if(r)return r}}toolOf(e){return this.findToolItemById(e.id)}buttonOf(e){const t=this.toolOf(e);if(t instanceof Ht)return t;throw new mu}groupButtonOf(e,t){const i=this._toolMap[e.id];if(i instanceof Om)return i.buttonOf(t)}elementOf(e){return this.doc.getElementById(e.id)}findGroupButton(e,t){return e._itemMap[t]}refreshBar(e){this._model.refresh(e),this._model.items.forEach(t=>{const i=this._toolMap[t.id];if(i)i.visible=t.visible,i.visible&&(i instanceof _d?i.update(t):t.type==="group"&&t.items.forEach(r=>{const s=i.toolOf(r.id);s==null||s.update(r)}));else{const r=this.doc.getElementById(t.id);r&&(r.style.display=t.visible?"":"none")}}),this._doAfterRefreshBar(e,this._model)}_doClick(e){return!0}_doPrepareBar(e,t,i){const r=i.vertical;X.setStyles(t,{display:"flex",flexDirection:r?"column":"row",gap:"2px",alignItems:"center"})}$_build(e,t){for(let i=0;i<t.count;i++){const r=t.get(i);if(r instanceof Fb){const s=this.$_createGroup(e,r);this.addElement(s),r.id&&(this._toolMap[r.id]=s)}else{const s=this.$_createTool(e,r);s&&(this.addElement(s),r.id&&(this._toolMap[r.id]=s))}}}$_createTool(e,t){switch(t.type){case"text":return new AP(e,t.getToolOptions());case"button":return new Ht(e,t.getToolOptions());case"input":return new FA(e,t.getToolOptions());case"number-input":return new XRe(e,t.getToolOptions());case"check":return new xz(e,t.getToolOptions());case"select":return new VA(e,t.getToolOptions());case"list":return;case"separator":return new ql(e,t.getToolOptions());case"space":return new XT(e,t.getToolOptions());default:return t}}$_createGroup(e,t){const i=t.items.map(s=>this.$_createTool(e,s)),r=new Om(e,this.model.vertical,i,t.display);return r.dom.id=t.id,r.setStyles({overflowY:"auto",scrollbarWidth:"none",...t.style}),r}}class p4 extends sr{constructor(e,t,i){super(e),this.dom.className=t,this._doBuildModel(this.doc,this._model=i)}get model(){return this._model}set model(e){e!==this._model&&(this._model&&this._model.removeListener(this),this._model=e,this.invalidateLayout(),this._model&&this._model.addListener(this))}findToolItem(e){const t=this.findElementOf(e,!0);if(t instanceof _d)return t}findToolItemById(e){const t=this.dom.querySelector(`#${e}`);if(t instanceof _d)return t}refreshButtons(e){this._doRefreshButtons(e)}_createDefaultTool(){return new bd(this)}}class uy extends p4{}const g4="export_filename",fP="export_type",jRe="export_run",_4="export_pdf_version",m4="export_pdf_user_password",w4="export_pdf_owner_password",y4="preview_language",Sz=["50%","67%","75%","90%","100%","110%","125%","150%","175%","200%","250%","300%"];var Aa;(function(a){a.Design="design",a.Preview="preview"})(Aa||(Aa={}));var Hw;(function(a){a.PDF="PDF",a.DOCX="DOCX",a.HWP="HWP",a.PNG="PNG",a.EXCEL="EXCEL"})(Hw||(Hw={}));var tc;(function(a){a.NEW_ASSET="new/asset",a.ASSET="r2/asset",a.DATAFIELD="r2/datafield",a.NEW_DATA="new/data",a.DATA="r2/data",a.ITEM="r2/item"})(tc||(tc={}));class rO{constructor(e,t=!1){this.enabled=!1,this._prevX=-1,this._prevY=-1,this._dragging=!1,this._owner=e,this.enabled=t,this.$_prepare(e)}dispose(){this._owner=null,this._dragMask.remove(),this._dragMask=null}get onwer(){return this._owner}get dragging(){return this._dragging}$_prepare(e){const t=e.getDropTarget();t.addEventListener("dragenter",i=>{i.preventDefault(),i.stopPropagation(),this.enabled&&i.target instanceof HTMLElement&&this._owner.checkDragSource(i.dataTransfer)&&this._owner.canDrop(i.target,i.dataTransfer)&&(this._showDragMask(),this._dragging=!0,e.doDragEnter(i,i.dataTransfer))}),t.addEventListener("dragleave",i=>{if(i.preventDefault(),i.stopPropagation(),!this.enabled)return;const r=i.relatedTarget;r instanceof Element&&this._owner.getDropTarget()&&this._owner.getDropTarget().contains(r)||(this._dragging=!1,this._hideDragMask(),e.doDragLeave(i))}),t.addEventListener("dragover",i=>{i.preventDefault(),i.stopPropagation(),i.target instanceof HTMLElement&&this._owner.canDrop(i.target,i.dataTransfer)&&this.enabled&&(i.offsetX!==this._prevX||i.offsetY!==this._prevY)&&(this._prevX=i.offsetX,this._prevY=i.offsetY,e.doDragOver(i))}),t.addEventListener("drop",i=>{i.preventDefault(),i.stopPropagation(),i.target instanceof HTMLElement&&this._owner.canDrop(i.target,i.dataTransfer)&&this.enabled&&(this._dragging=!1,this._hideDragMask(),e.doDrop(i,i.dataTransfer),i.dataTransfer.clearData())})}_showDragMask(){}_hideDragMask(){}}class qRe extends bd{_doDragStart(e){const t=e.target;if(t instanceof HTMLButtonElement){const r=this.owner.findToolItemById(t.id);if(r){e.dataTransfer.setData(uC(JSON.stringify({type:tc.ITEM,name:r.tag})),""),e.dataTransfer.setDragImage(e.target,0,0);return}}X.stopEvent(e)}_doClick(e){debugger}}class ZRe extends g2{constructor(e,t){super(e,"rrd-actionbar",t),this._draggable=!1}get draggable(){return this._draggable}set draggable(e){function t(i){i&&(i.dom.draggable=e,i.dom.style.cursor=e?"pointer":"")}e!==this._draggable&&(this._draggable=e,this.model.items.forEach(i=>{if(i instanceof Fb){const r=this._toolMap[i.id];r instanceof Om&&i.items.forEach(s=>{ee.isString(s.tag)&&t(r.buttonOf(s.id))})}else ee.isString(i.tag)&&t(this._toolMap[i.id])}))}_createDefaultTool(){return new qRe(this)}_doPrepareBar(e,t,i){super._doPrepareBar(e,t,i),this.doc.getElementById("item_bar_expand").style.display="none",this.doc.getElementById("item_bar_design_group").style.overflowY="visible",this.doc.getElementById("item_bar_report_group").style.justifyContent="flex-start",this.doc.getElementById("item_bar_sheet_group").style.justifyContent="flex-start",this.doc.getElementById("item_bar_selection_mode").style.backgroundColor="var(--rrd-light-theme-primary-color-10)",X.setStyles(t,{position:"relative"})}_doAfterRefreshBar(e,t){X.setData(this.dom,"appMode",e.designMode?Aa.Design:Aa.Preview)}setItemBarMode(e){const t=this.dom.children[0].childNodes;for(let i=0;i<t.length;i++){const r=t[i];r.dataset.mode=e?"row":"col"}this.dom.dataset.mode=e?"row":"col",this.doc.getElementById("item_bar_expand").style.display=e?"flex":"none",this.doc.getElementById("item_bar_collapse").style.display=e?"none":"flex"}}const Gs={test:{label:"Test",run(a,e){a.server.getAssetCategories().then(t=>{a.alert(t),a.showMessage("groups<br>error","error")})}},toggleOptions:{label:"Options",run(a,e){a.toggleOptions()}},about:{label:"Show About",run(a,e){a.showAbout()}},preview:{label:"Toggle Design Mode",run(a,e){a.toggleDesignMode(Nf.PREVIEW)}},paperPreview:{label:"Toggle Design Mode",run(a,e){a.toggleDesignMode(Nf.PAPER_PREVIEW)}},toggleDesignMode:{label:"Toggle Design Mode",run(a,e){a.toggleDesignMode()},enabled(a,e){return!a.printing}},toggleOutline:{label:"Toggle Outline",run(a,e){a.toggleOutlineView()}},toggleActionBar:{label:"Toggle ActionBar",run(a,e){a.toggleActionBar()}},toggleInspector:{label:"Toggle Inspector",run(a,e){a.toggleInspector()}},togglePanels:{label:"Toggle Panels",run(a,e){a.togglePanels()}},search:{label:"Search",run(a,e){a.search()}},feedback:{label:"Feedback",run(a,e){a.feedback()}},save:{label:"Save",run:async(a,e)=>{a.saveReport()},enabled:a=>!!a.report},edit:{label:"Edit",run(a,e){}},open:{label:"Open",run(a,e){a.showOpenDlg()}},load:{label:"Load",run(a){const e=a.doc.querySelector(".rrd-file");e.onchange||(e.onchange=t=>{const i=t.target.files[0];if(i){const r=new FileReader;r.onload=function(s){try{const n=JSON.parse(s.target.result),o=ee.isObject(n.report)&&ee.isObject(n.report.page)?n.report:n;a.loadReport(o)}catch(n){a.alert('<b style="font-size: 1.2em;">Load Error</b><br/><br/>'+n)}},r.readAsText(i)}}),e.click()}},download:{label:"Download",enabled:a=>!!a.report,run(a){const e=JSON.stringify(a.report.save()),t=new Blob([e],{type:"text/plain"}),i=window.URL.createObjectURL(t),r=document.createElement("a");try{r.href=i,r.download=`${a.report.info.name||"report"}.r2`,r.click()}finally{r.remove(),window.URL.revokeObjectURL(i)}}},share:{label:"Share",enabled:a=>a.server&&!!a.server.shareReport,run(a){a.shareReport()}},newReport:{label:"New Report",run(a,e){a.showNewDlg()}},selectionMode:{label:"selectionMode",run(a,e){a.editor.selectMode=!0,a.doc.getElementById("item_bar_selection_mode").style.backgroundColor="var(--rrd-light-theme-primary-color-10)",a.doc.getElementById("item_bar_hand_mode").style.backgroundColor=""}},handMode:{label:"handMode",run(a,e){a.editor.handMode=!0,a.doc.getElementById("item_bar_selection_mode").style.backgroundColor="",a.doc.getElementById("item_bar_hand_mode").style.backgroundColor="var(--rrd-light-theme-primary-color-10)"}},actionBarMode:{label:"Expander",run(a,e){a.actionBarMode()}}},qs={first:{label:"Go to first page",enabled:({previewer:a},e)=>(a==null?void 0:a.isPrinted)&&(a==null?void 0:a.page)>0,run(a,e){a.previewer.page=0}},prev:{label:"Go to previous page",enabled:({previewer:a},e)=>(a==null?void 0:a.isPrinted)&&(a==null?void 0:a.page)>0,run(a,e){a.previewer.page-=1}},next:{label:"Go to next page",enabled:({previewer:a},e)=>(a==null?void 0:a.isPrinted)&&(a==null?void 0:a.page)<(a==null?void 0:a.pageCount)-1,run(a,e){a.previewer.page+=1}},last:{label:"Go to last page",enabled:({previewer:a},e)=>(a==null?void 0:a.isPrinted)&&(a==null?void 0:a.page)<(a==null?void 0:a.pageCount)-1,run(a,e){a.previewer.page=a.previewer.pageCount-1}},goToPage:{label:"Go to page",run(a,e,t){Number.isNaN(t)||(a.previewer.page=t)}},zoomIn:{label:"Zoom in",run(a,e){a.previewer.zoom+=.1,a.refreshDesigner()}},zoomOut:{label:"Zoom out",run(a,e){a.previewer.zoom-=.1,a.refreshDesigner()}},setZoom:{label:"Set zoom",run(a,e,t){a.previewer.zoom=Math.round(t)/100,a.refreshDesigner()}},fitToWidth:{label:"Fit to width",run(a,e){a.previewer.fitToWidth(),a.refreshDesigner()}},fitToHeight:{label:"Fit to height",run(a,e){a.previewer.fitToHeight(),a.refreshDesigner()}},fitToPage:{label:"Fit to page",run(a,e){a.previewer.fitToPage(),a.refreshDesigner()}},refresh:{label:"Refresh",run(a,e){a.preview()}},print:{label:"Print",run(a,e){a.print()}},exportHtml:{label:"ExportHtml",run(a,e){return a.exportHtml()}},excelUndo:{run(a,e,t){console.log("undo")}},excelRedo:{run(a,e,t){console.log("redo")}},exportExcel:{label:"ExportExcel",run(a,e){a.exportExcel()}},toggleExportBar:{label:"Show export menu",run(a,e){a.toggleActionSubBar()}},togglePreviewSettingSubBar:{label:"Show preview setting menu",run(a,e){a.togglePreviewSettingSubBar()}},export:{label:"export",run(a,e){const t=a.findToolItemById(fP);if(!(t instanceof VA))throw new mu;const i=a.findToolItemById(g4);if(!(i instanceof FA))throw new mu;const r=i.value;if(!r){alert("파일명을 입력해 주세요.");return}switch(t.value){case Hw.PDF:const s=JRe(a);a.exportPdf({filename:r,...s});break;case Hw.DOCX:a.exportDocx({filename:r});break;case Hw.HWP:a.exportHwp({filename:r});break;case Hw.PNG:a.exportImage({type:"png",fileName:r});break;case Hw.EXCEL:a.exportExcel({fileName:r});break;default:throw new mu}}},archive:{label:"Archive",run(a,e){a.showUploadArchiveDlg()}}};function JRe(a){const e=a.findToolItemById(_4).value,t=a.findToolItemById(m4).value,i=a.findToolItemById(w4).value;return{preview:!1,pdfVersion:hN.getPdfVersion(e),userPassword:t,ownerPassword:i}}class eTe{constructor(e){this._dialog=e}dispose(){}start(e,t){const i=document.getElementsByClassName("rrd-dialog-view");if(!i||i.length<=0)return!1;const r=i[0];if(!(r instanceof HTMLElement))return!1;const s=r.getBoundingClientRect();return this._width=s.width,this._height=s.height,this._x=e,this._y=t,!0}move(e,t){const i=this._width+e-this._x,r=this._height+t-this._y;return this._dialog.resize(i,r),!0}end(e,t){}}class tTe{constructor(e){this._dialog=e}dispose(){}start(e,t){return this._offsetX=this._dialog.x,this._offsetY=this._dialog.y,this._x=e,this._y=t,!0}move(e,t){return e=Math.max(0,this._offsetX+e-this._x),t=Math.max(0,this._offsetY+t-this._y),this._dialog.internalMove(e,t),!0}end(e,t){}}class iTe{constructor(e){this._mouseDownHandler=t=>this._mouseDown(t),this._mouseMoveHandler=t=>this._mouseMove(t),this._mouseUpHandler=t=>this._mouseUp(t),this._dialog=e,document.addEventListener("mousedown",this._mouseDownHandler),document.addEventListener("mousemove",this._mouseMoveHandler),document.addEventListener("mouseup",this._mouseUpHandler)}dispose(){document.removeEventListener("mousedown",this._mouseDownHandler),document.removeEventListener("mousemove",this._mouseMoveHandler),document.removeEventListener("mouseup",this._mouseUpHandler)}_mouseDown(e){this._tracker=this._getMouseTracker(e),this._tracker&&(this._tracker.start(e.clientX,e.clientY)||(this._tracker.end(e.clientX,e.clientY,!1),this._tracker=null))}_mouseMove(e){this._tracker&&(this._tracker.move(e.clientX,e.clientY)||(this._tracker.end(e.clientX,e.clientY,!1),this._tracker=null))}_mouseUp(e){this._tracker&&(this._tracker.end(e.clientX,e.clientY,!0),this._tracker=null)}_getMouseTracker(e){if(e.target instanceof HTMLElement)switch(e.target.id){case"rrd-dialog-caption":case"rrd-dialog-title":return new tTe(this._dialog);case"rrd-dialog-resizer":return new eTe(this._dialog)}}}class pP{static show(e,t,i){this._dlg||(this._dlg=new pP(e)),this._dlg.showModal(t,i)}static isVisible(){return this._dlg&&this._dlg._dialog.parentElement}constructor(e){const t=this._dialog=e.createElement("dialog");t.classList.add("rr-confirm-dlg");const i=e.createElement("div"),r=e.createElement("button"),s=e.createElement("button");t.appendChild(e.createElement("p")),X.setStyles(i,{display:"flex",gap:"6px",marginTop:"20px"}),r.textContent="Cancel",r.style.marginLeft="auto",r.onclick=()=>{t.close()},i.appendChild(r),s.textContent="OK",s.setAttribute("autofocus",""),s.onclick=()=>{t.close("ok")},i.appendChild(s),t.appendChild(i),t.onclose=n=>{var o;console.log(n),(o=this._callback)===null||o===void 0||o.call(this,t.returnValue==="ok"),t.remove()}}showModal(e,t){const i=this._dialog;this._callback=t,i.returnValue="",i.firstElementChild.textContent=e,i.ownerDocument.body.appendChild(i),i.showModal()}}class rTe extends Ii{constructor(e,t){super(e.doc);const i=e.doc,r=this.dom;let s=X.createDiv(i,"rrd-dialog-title"),n;s.id=s.className,s.appendChild(n=X.createSpan(i,"rrd-dialog-caption",null,t)),n.id=n.className,s.appendChild(n=X.createSpan(i,"rrd-dialog-close"));const o=X.createSvg(i,"");o.setAttribute("viewBox","0 0 36 36"),o.setAttribute("width","24"),o.setAttribute("height","24"),o.setAttribute("fill","none"),o.setAttribute("stroke","white"),o.innerHTML=xe.close,n.appendChild(o),n.onclick=()=>{e.dialog.cancel(e)},r.appendChild(s),r.appendChild(this._errorBar=X.createDiv(i,"rrd-dialog-error",{display:"none"}))}_doDispose(){this._errorTimer&&clearTimeout(this._errorTimer)}showError(e){const t=this._errorBar;this._errorTimer&&clearTimeout(this._errorTimer),t.classList.remove("disappear"),t.classList.add("appear"),t.style.display="",t.innerHTML=e,this._errorTimer=setTimeout(()=>{t.classList.remove("appear"),t.classList.add("disappear"),t.style.display="none",this._errorTimer=void 0},5*1e3)}}class Dr extends Ii{constructor(e,t){super(e,"rrd-dialog-body "+t)}refreshBody(e,t){}}Dr.INVALID_FIELD="invalid-field";class Ha extends Ii{constructor(e,t,i,r){super(e.doc,"rrd-dialog "+i),this._permanent=!1,this.closeOnEscape=!0,this.addChild(this._titleView=new rTe(e,t)),this.addChild(this._bodyView=this._initBody(e,r)),this.addChild(this._bottomView=this._createBottom(e).initBottom(e.doc)),this._bodyView.contentChanged=s=>{this._bodyChanged(s)},this._bodyChanged(),this._tool=new iTe(this),document.addEventListener("keydown",this._keydownHandler=s=>{if(!pP.isVisible())switch(s.key){case"Escape":this.closeOnEscape!==!1&&(this.closeConfirm?pP.show(e.doc,"다이얼로그를 닫으시겠습니까?",n=>{n&&(this.cancelOnClose?this.cancel(e):e.closeDialog())}):this.cancelOnClose?this.cancel(e):e.closeDialog(),X.stopEvent(s));break;case"Enter":this.submitOnEnter&&(this.canSubmit()&&this.submit(e),X.stopEvent(s));break}},!0),this.dom.onclick=s=>{const n=this.findChildOf(s.target,!0);n instanceof LN&&(n.action?n.action.run(e,n.action):n.onClick(e,this))},this._permanent=r&&r.retainMode===!0,this._nodraw=!0}canDispose(){return this._permanent!==!0}_doDispose(){this._titleView.dispose(),this._bodyView.dispose(),this._tool&&this._tool.dispose(),document.removeEventListener("keydown",this._keydownHandler,!0)}get titleView(){return this._titleView}initValues(e){const t=this._bodyView.dom;for(const i in e){const r=t.getElementsByClassName(i)[0];r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement?r.value=e[i]:r instanceof HTMLSpanElement&&(r.textContent=e[i])}}focusInput(e,t=!0){e instanceof HTMLInputElement&&(e.focus(),t&&e.select())}showError(e){this._titleView.showError(e)}show(e,t){return this._callback=e||this._callback,this._cancelCallback=t,this.visible=!0,this._doShow(),this}refresh(e){this._bodyView.refreshBody(e,this)}canSubmit(){return!0}submit(e){try{this._callback?this._callback(this):this._doSubmit(e),e.closeDialog(),this._doClose(e)}catch(t){this.showError(t)}}cancel(e){this._cancelCallback?this._cancelCallback(this):this._doCancel(e),e.closeDialog(),this._doClose(e)}findToolItem(e){const t=this.findChildOf(e,!0);if(t instanceof _d)return t}setDisabled(e,t){this._bottomView.findButtonById(e).setDisabled(t)}_doInitDom(e,t){X.setStyles(t,{resize:"both",maxWidth:"90%",maxHeight:"90%"})}_setCallback(e){this._callback=e}_doShow(){}_doSubmit(e){}_doCancel(e){}_doClose(e){}_bodyChanged(e){}}const Th={close:{name:"Close",onClick:a=>{a.dialog.cancel(a)}},cancel:{name:"Cancel",onClick:a=>{a.dialog.cancel(a)}}};class LN extends un{get button(){return this.dom}get id(){return this._id}constructor(e,t){super(e);const i=this.dom;this._id=i.id=t.id||t.name,i.className=`btn ${t.disabled?"disabled":""}`,i.disabled=t.disabled,i.textContent=t.name,t.className&&(i.className=`${i.className} ${t.className}`),t.styles&&ee.extend(i.style,t.styles),this.action=t.action,this.onClick=t.onClick.bind(this)}setDisabled(e){this.button.disabled=e,e?this.button.classList.add("disabled"):this.button.classList.remove("disabled")}_createDom(e){return e.createElement("button")}}class Ua extends Ii{constructor(e,t){super(e,"rrd-dialog-bottom"),this.dialog=t,this._buttonMap=new Map}initBottom(e){return this._doInitBottom(e),this}findButtonById(e){return this._buttonMap.get(e)}_addButtons(e,t){t.forEach(i=>{const r=new LN(e,i);this.addChild(r)})}_addDialogButtons(e,t){this._buttonContainer||(this.addChild(this._buttonContainer=new Ii(e,"rrd-dialog-buttons")),t.forEach(i=>{const r=new LN(e,i);this._buttonContainer.addChild(r),r.id&&this._buttonMap.set(r.id,r)}))}_refresh(e){this.dialog.refresh(e)}}let sTe=class extends Dr{get dataName(){return this._nameInput.value}get fieldRowCount(){return this._table.rows.length}get calcFieldRowCount(){return this._calcTable.rows.length}get sample(){return this._sample}constructor(e,t,i,r){super(e,"rrd-data-dialog-body"),this.titleView=r,this._sample=[],this._nameInput.value=i,setTimeout(()=>{this.$_focusRow(0,this._table)})}getFields(){const e=[];for(let t=0;t<this.fieldRowCount;t++){const{name:i,label:r,dataType:s,source:n,format:o,sample:l,description:h}=this.$_getTableRowInputValue(this._table,t);e.push({fieldName:i,label:r,dataType:s,source:n,format:o,sample:l,description:h})}for(let t=0;t<this.calcFieldRowCount;t++){const{name:i,label:r,dataType:s,source:n,format:o,sample:l,description:h}=this.$_getTableRowInputValue(this._calcTable,t);l.trim()&&e.push({fieldName:i,label:r,dataType:s,source:n,format:o,expression:l,description:h})}return e}addField(e,t){const i=t?this._calcTable:this._table,r=this.$_createTableRow(e,i,t);setTimeout(()=>{this.$_focusRow(r,i)})}validateFields(e){const t=[];let i=!1;return this.$_resetValidateMessage(),this._nameInput.value=this._nameInput.value.trim(),this._nameInput.value===""&&(this._nameInput.classList.add(Dr.INVALID_FIELD),this._nameInput.focus(),i=!0),[this._table,this._calcTable].forEach((r,s)=>{const n=r.rows.length;for(let o=0;o<n;o++){const l=r.rows.item(o),h=l.querySelector(Rr.FIELD_NAME_INPUT_CLASS),c=h.parentElement,d=h.value.trim();if(d?t.indexOf(d)>=0?(h.classList.add(Dr.INVALID_FIELD),c.append(this.$_createValidateMessage(e,"중복된 필드명입니다")),i||(h.focus(),i=!0)):t.push(d):(h.classList.add(Dr.INVALID_FIELD),c.append(this.$_createValidateMessage(e,"필드명을 지정하세요")),i||(h.focus(),i=!0)),s===1){const u=l.querySelector(Rr.FIELD_SAMPLE_CLASS),A=u.parentElement;u.value.trim()||(u.classList.add(Dr.INVALID_FIELD),A.append(this.$_createValidateMessage(e,"Expression을 지정하세요")),i||(u.focus(),i=!0))}}}),!i}_doInitDom(e,t){const i=X.createDiv(e,"rrd-band-data-dialog-name");this._nameInput=X.createElement(e,"input",null,"rrd-band-data-dialog-data-name"),this._pathInput=X.createElement(e,"input",{placeholder:"sample"},"rrd-band-data-dialog-data-path",{flex:"0 1 200px"}),this._fileInput=X.createElement(e,"input",{type:"file"},"",{display:"none"}),this._fileInput.accept=".json",this._fileInput.onchange=u=>this.$_onFileChangeHandler(u,e),i.appendChild(X.createSpan(e,null,null,"Name:")),i.appendChild(this._nameInput),i.appendChild(X.createSpan(e,null,null,"Data Path:")),i.appendChild(this._pathInput),i.appendChild(X.createButton(e,"Load From File",()=>this._fileInput.click(),"data-dialog-load-button")),i.appendChild(this._fileInput),t.appendChild(i);const{div:r,span:s}=this.$_createFieldsLabel(e,"Fields: ");this._fieldsCountLabel=s,t.appendChild(r);const n=X.createDiv(e,"rrd-band-data-dialog-table-container");n.appendChild(this._table=this.$_createTable(e,!1)),n.style.flexGrow="2",t.appendChild(n);const o=this.$_createTableRow(e,this._table,!1);this._table.rows.item(o).querySelector(Rr.FIELD_NAME_INPUT_CLASS).value="field";const{div:l,span:h}=this.$_createFieldsLabel(e,"Calculated Fields: ");this._calculatedFieldsCountLabel=h,t.appendChild(l);const c=X.createDiv(e,"rrd-band-data-dialog-table-container");c.appendChild(this._calcTable=this.$_createTable(e,!0)),t.appendChild(c);const d=this.$_createTableRow(e,this._calcTable,!0);this._calcTable.rows.item(d).querySelector(Rr.FIELD_NAME_INPUT_CLASS).value="calcField"}refreshBody(e,t){this.$_refresh()}$_getTableRowInputValue(e,t){const i=e.rows[t],r=i.querySelector(Rr.FIELD_NAME_INPUT_CLASS).value,s=i.querySelector(Rr.FIELD_LABEL_INPUT_CLASS).value,n=this.$_getBandDataType(i.querySelector(Rr.FIELD_TYPE_SELECT_CLASS).value),o=i.querySelector(Rr.FIELD_SOURCE_INPUT_CLASS).value,l=i.querySelector(Rr.FIELD_FORMAT_INPUT_CLASS).value,h=i.querySelector(Rr.FIELD_SAMPLE_CLASS).value,c=i.querySelector(Rr.FIELD_DESCRIPTION_INPUT_CLASS).value;return{name:r,label:s,dataType:n,source:o,format:l,sample:h,description:c}}$_getBandDataType(e){switch(e){case"text":return"text";case"number":return"number";case"bool":return"bool";default:return"text"}}$_getDataType(e){return typeof e=="number"?"number":typeof e=="boolean"?"bool":"text"}$_createFieldsLabel(e,t){const i=X.createDiv(e,"rrd-data-dialog-fields"),r=X.createSpan(e,"rrd-data-dialog-fields-count",null,"0 items");return i.appendChild(X.createSpan(e,null,null,t)),i.appendChild(X.createSpan(e,"rrd-data-dialog-fields-hline")),i.appendChild(r),{div:i,span:r}}$_createTable(e,t){const i=e.createElement("table"),r=e.createElement("thead");return X.setData(i,"type",t?"calc":"field"),i.className="rrd-band-data-dialog-table",["Field Name","Label","Data Type","Source","Format",t?"Expression":"Sample","Description"].forEach(s=>{const n=e.createElement("th");n.textContent=s,r.appendChild(n)}),i.appendChild(r),i.appendChild(e.createElement("tbody")),i}$_createTableRow(e,t,i){const r=t.insertRow(),s=r.rowIndex;(i?Rr.BAND_DATA_CALC_FIELDS:Rr.BAND_DATA_FIELDS).forEach(d=>{const u=r.insertCell();X.setData(u,"field",d),u.appendChild(this.$_createFieldInput(e,d,s,i))});let o=r.insertCell();o.className="rrd-data-dialog-button-cell";const l=X.createSpan(e,"rrd-data-dialog-table-row-button");l.textContent="—",l.style.fontWeight="bold",l.title="Remove",X.setData(l,"type","remove"),X.setData(l,"row",s),o.appendChild(l),o=r.insertCell(),o.className="rrd-data-dialog-button-cell";const h=X.createSpan(e,"rrd-data-dialog-table-row-button");h.textContent="↑",h.style.fontWeight="bold",h.title="Move Up",X.setData(h,"type","up"),X.setData(h,"row",s),o.appendChild(h),o=r.insertCell(),o.className="rrd-data-dialog-button-cell";const c=X.createSpan(e,"rrd-data-dialog-table-row-button");return c.textContent="↓",c.style.fontWeight="bold",c.title="Move Down",X.setData(c,"type","down"),X.setData(c,"row",s),o.appendChild(c),s}$_createFieldInput(e,t,i,r){const s=r?Rr.BAND_DATA_CALC_FIELDS:Rr.BAND_DATA_FIELDS,n=e.createElement("input");n.className="input",n.placeholder=t.toLowerCase(),n.title=t,X.setData(n,"row",i);const o=e.createElement("select");switch(o.className="select",X.setData(o,"row",i),t){case s[0]:return n.required=!0,X.setData(n,"field","name"),n.oninput=()=>this.$_resetValidateMessage(),n;case s[1]:return n.required=!0,X.setData(n,"field","label"),n;case s[2]:return X.setData(o,"field","type"),["text","number","bool"].forEach(l=>{const h=e.createElement("option");h.value=l,h.textContent=l,o.add(h)}),o;case s[3]:return X.setData(n,"field","source"),n;case s[4]:return X.setData(n,"field","format"),n;case s[5]:return X.setData(n,"field","sample"),r&&(n.oninput=()=>this.$_resetValidateMessage()),n;case s[6]:return X.setData(n,"field","description"),n}}$_refresh(){this.$_refreshItemCount(),this.$_refreshTableRowButtons(this._table,!1),this.$_refreshTableRowButtons(this._calcTable,!0),this.$_resetValidateMessage()}$_refreshItemCount(){this._fieldsCountLabel.textContent=`${this.fieldRowCount} items`,this._calculatedFieldsCountLabel.textContent=`${this.calcFieldRowCount} items`}$_refreshTableRowButtons(e,t){function i(s,n){s.style.color=n?"":"lightgray",s.style.pointerEvents=n?"":"none"}const r=e.rows.length;for(let s=0;s<r;s++){const n=e.rows.item(s),o=n.querySelector('span[data-type="remove"]'),l=n.querySelector('span[data-type="up"]'),h=n.querySelector('span[data-type="down"]');o.onclick=()=>{e.rows.item(s).remove(),this.$_refresh()},l.onclick=()=>{const c=e.rows.item(s),d=e.rows.item(s-1);d.parentNode.insertBefore(c,d),this.$_refresh()},h.onclick=()=>{const c=e.rows.item(s),d=e.rows.item(s+1);d.nextSibling?d.parentNode.insertBefore(c,d.nextSibling):d.parentNode.appendChild(c),this.$_refresh()},r===1?(i(o,t),i(l,!1),i(h,!1)):s===0?(i(o,!0),i(l,!1),i(h,!0)):s===r-1?(i(o,!0),i(l,!0),i(h,!1)):(i(o,!0),i(l,!0),i(h,!0))}}$_focusRow(e,t){t.rows.item(e).querySelector(Rr.FIELD_NAME_INPUT_CLASS).focus()}$_createValidateMessage(e,t){const i=X.createDiv(e,"rrd-validate-message");return i.textContent=t,i}$_resetValidateMessage(){const e=this.fieldRowCount,t=this.calcFieldRowCount,i=this._nameInput;i.classList.contains(Dr.INVALID_FIELD)&&i.classList.remove(Dr.INVALID_FIELD),this.$_resetTableValidateMessage(this._table,e),this.$_resetTableValidateMessage(this._calcTable,t,!0)}$_resetTableValidateMessage(e,t,i){for(let r=0;r<t;r++){const s=e.rows.item(r),n=s.querySelector('input[data-field="name"]'),o=n.parentElement;if(n.classList.contains(Dr.INVALID_FIELD)&&(n.classList.remove(Dr.INVALID_FIELD),o.removeChild(o.querySelector("div"))),i){const l=s.querySelector('input[data-field="sample"]'),h=l.parentElement;l.classList.contains(Dr.INVALID_FIELD)&&(l.classList.remove(Dr.INVALID_FIELD),h.removeChild(h.querySelector("div")))}}}$_setFileData(e,t,i){function r(o,l,h){o.querySelector(l).value=h}const s=t.fields;let n;if(Array.isArray(t))n=t;else if(i){const o=i.split(".");n=t[o[0]],o.shift();for(let l of o)n=n[l]}else n=t.sample;if(s||Array.isArray(n)){if(X.clearTableRows(this._table),X.clearTableRows(this._calcTable),Array.isArray(s))s.forEach(o=>{const l=this.$_createTableRow(e,this._table,!1),h=this._table.rows[l];r(h,Rr.FIELD_NAME_INPUT_CLASS,o.fieldName||""),r(h,Rr.FIELD_TYPE_SELECT_CLASS,this.$_getBandDataType(o.dataType)),r(h,Rr.FIELD_SOURCE_INPUT_CLASS,o.source||""),r(h,Rr.FIELD_FORMAT_INPUT_CLASS,o.format||""),r(h,Rr.FIELD_SAMPLE_CLASS,o.sample||""),r(h,Rr.FIELD_DESCRIPTION_INPUT_CLASS,o.description||"")});else if(Array.isArray(n)){const o=n[0];for(const l in o){const h=this.$_createTableRow(e,this._table,!1),c=this._table.rows[h],d=o[l];r(c,Rr.FIELD_NAME_INPUT_CLASS,l||""),r(c,Rr.FIELD_TYPE_SELECT_CLASS,this.$_getDataType(d)),r(c,Rr.FIELD_SAMPLE_CLASS,d||"")}}this._sample=n,this.$_refresh()}}$_onFileChangeHandler(e,t){const i=e.target.files[0];if(i){const r=new FileReader;r.onload=s=>{try{const n=JSON.parse(s.target.result);this.$_setFileData(t,n,this._pathInput.value)}catch(n){console.log(n)}},r.readAsText(i,"utf-8")}this._fileInput.value=null}},nTe=class extends Ua{_doInitBottom(e){this._addButtons(e,[{name:"Add Field",onClick:t=>{this.dialog.addField(t,e,!1)},className:"dialog-normal-button"},{name:"Add Calc Field",onClick:t=>{this.dialog.addField(t,e,!0)},className:"dialog-normal-button"}]),this._addDialogButtons(e,[{name:"Create",onClick:(t,i)=>{this.dialog.bodyView.validateFields(e)&&i.submit(t)},className:"dialog-submit-button"},Th.cancel])}};class Rr extends Ha{constructor(e,t){super(e,"New - Band Data","rrd-band-data-dialog",t),this.closeConfirm=!0,this.refresh(e)}get bodyView(){return this._bodyView}addField(e,t,i){this.bodyView.addField(t,i),this.refresh(e)}_doInitStyles(e){this.resizeDlg(900,650,e)}_initBody(e,t){return new sTe(e.doc,e,t,this._titleView)}_createBottom(e){return new nTe(e.doc,this)}_doSubmit(e){const t=this.bodyView.getFields(),i=this.bodyView.sample,r=new mr(this.bodyView.dataName,t,i);e.report.addData(r,!1)}}Rr.BAND_DATA_FIELDS=["Field Name","Label","Data Type","Source","Format","Sample","Description"];Rr.BAND_DATA_CALC_FIELDS=["Field Name","Label","Data Type","Source","Format","Expression","Description"];Rr.FIELD_NAME_INPUT_CLASS='input[data-field="name"]';Rr.FIELD_LABEL_INPUT_CLASS='input[data-field="label"]';Rr.FIELD_TYPE_SELECT_CLASS='select[data-field="type"]';Rr.FIELD_SOURCE_INPUT_CLASS='input[data-field="source"]';Rr.FIELD_FORMAT_INPUT_CLASS='input[data-field="format"]';Rr.FIELD_SAMPLE_CLASS='input[data-field="sample"]';Rr.FIELD_DESCRIPTION_INPUT_CLASS='input[data-field="description"]';let oTe=class extends Dr{refreshBody(e,t){}},aTe=class extends Ua{_doInitBottom(e){}};class lTe extends Ha{constructor(e,t){super(e,"Import Band Data","import-band-data-dialog",t)}_initBody(e){return new oTe(e.doc,"")}_createBottom(e){return new aTe(e.doc,this)}}let hTe=class extends Dr{refreshBody(e,t){}},cTe=class extends Ua{_doInitBottom(e){}};class dTe extends Ha{constructor(e,t){super(e,"Import Simple Data","import-simple-data-dialog",t)}_initBody(e){return new hTe(e.doc,"")}_createBottom(e){return new cTe(e.doc,this)}}class _2 extends Ai{constructor(e){super(),this._name=e,this._oldName||(this._oldName=e)}get name(){var e;return String((e=this._name)!==null&&e!==void 0?e:"")}set name(e){e!==this._name&&(this._oldName=this._name,this._name=e)}get oldName(){return this._oldName?String(this._oldName):void 0}get index(){return this._name}get parent(){return this._parent}get json(){return this._parent&&this._parent.json}get level(){return this._parent?this._parent.level+1:0}get revealed(){return!this._parent||this._parent.revealed}get nameEditable(){return this._parent&&!(this._parent instanceof d1)}isGroup(){return!1}getPath(){const e=[this];let t=this._parent;for(;t;)e.push(t),t=t._parent;return e.reverse()}getPathStr(){if(this._parent){const e=this._parent.getPathStr();return(e?e+".":"")+this._name}return""}}_2.TAG="_tag_";class uTe extends _2{save(){}}class gP extends uTe{}class yn extends _2{constructor(e){super(e),this._items=[],this._expanded=!0}get count(){return this._items.length}get items(){return this._items.slice(0)}get expanded(){return this._expanded}indexOf(e){return this._items.indexOf(e)}get(e){return this._items[e]}set(e,t){const i=this._items[e];i!==t&&(this._items[e]=t,t._parent=this,i._parent=null)}getAfter(e){return this._items[this._items.indexOf(e)+1]}contains(e){return this._items.indexOf(e)>=0}canAdd(e){return!!e}add(e,t){if(e&&this._items.indexOf(e)<0)return this._addItem(e,t),!0}addAll(e){let t=0;return e.forEach(i=>{i&&this._items.indexOf(i)<0&&(this._addItem(i,null),t++)}),t}canRemove(e){return!!e}remove(e){const t=this._items.indexOf(e);if(t>=0)return this._removeItem(e,t),!0}clear(){const e=this._items;return this._items=[],e.forEach(t=>t._parent=null),e}collectItems(e,t){for(let i of this._items)e.push(i),i instanceof yn&&i.collectItems(e,t);t&&!(e[e.length-1]instanceof gP)&&e.push(this._addItem(new gP(null),null))}collectVisibles(e){for(let t of this._items)e.push(t),t instanceof yn&&t.expanded&&t.collectVisibles(e)}findByTag(e){if(e===this.tag)return this;for(let t of this._items)if(t instanceof yn){const i=t.findByTag(e);if(i)return i}else if(t===e)return t}getNextName(e){const t=this._items;let i="name"+(e>0?e:"");for(;t.find(r=>r.name===i);)i="name"+(+i.substring(4)+1);return i}isGroup(){return this instanceof yn}_createItem(e,t){if(t==null||Number.isNaN(t))return new Rx(e);if(typeof t=="string")return new _P(e,t);if(typeof t=="number")return new cC(e,t);if(typeof t=="boolean")return new nS(e,t);if(ee.isArray(t))return new d1(e,t);if(t)return new c1(e,t)}_addItem(e,t){if(t){const i=this._items.indexOf(t);i>=0?this._items.splice(i,0,e):this._items.push(e)}else this._items.push(e);return e._parent=this,this._doItemAdded(e),e}_doItemAdded(e){}_removeItem(e,t){this._items.splice(t,1),e._parent=null,this._doItemRemoved(e)}_doItemRemoved(e){}$_expand(e,t){if(e!==this._expanded||t){let i=!1;if(e!==this._expanded&&(this._expanded=e,i=!0),t)for(let r of this._items)r instanceof yn&&r.$_expand(e,!0)&&(i=!0);return i}}}class c1 extends yn{constructor(e,t){super(e),this._nameMap={},this._parse(t)}find(e){return this._nameMap[e]}isValidName(e,t){const i=this._nameMap[t];return!i||i===e}getValidName(e){let t=e,i=1;for(;;){let r=!1;for(let s in this._nameMap)if(t===s){t=e+"-"+i++,r=!0;break}if(!r)break}return t}save(){const e={};for(let t of this._items)t.save()!==void 0&&t.name&&(e[t.name]=t.save());return e}canAdd(e){if(super.canAdd(e)&&e.name){if(this._nameMap[e.name])throw new Error("동일한 속성 이름이 존재합니다: "+e.name);return!0}return!1}_doItemAdded(e){this._nameMap[e.name]=e}_doItemRemoved(e){delete this._nameMap[e.name]}_parse(e){for(let t in e)if(t===_2.TAG)this.tag=e[t];else{const i=this._createItem(t,e[t]);i&&(this._addItem(i,null),this._nameMap[t]=i)}}}class d1 extends yn{constructor(e,t){super(e),this._parse(t)}save(){const e=[];for(let t of this._items)t.save()!==void 0&&e.push(t.save());return e}_doItemAdded(e){this.$_resetIndices()}_doItemRemoved(e){this.$_resetIndices()}_parse(e){for(let t=0;t<e.length;t++){const i=this._createItem(t,e[t]);i&&this._addItem(i,null)}}$_resetIndices(){this._items.forEach((e,t)=>{e.name=String(t)})}}class yo extends _2{constructor(e,t){super(e),this._value=t}get value(){return this._value}set value(e){e!==this._value&&(this._value=e)}get displayText(){return this.value===void 0?"UNDEFINED":this.value===null?"null":this._getDisplayText(this.value)}parseValue(e){if(e!==void 0){if(e===null||e=="null")return null;if(e!="UNDEFINED")return this._doParseValue(e)}}valueEquals(e){return this.value==e}save(){return this._value}}class Rx extends yo{constructor(e){super(e,null)}save(){return null}_getDisplayText(e){return"null"}_doParseValue(e){return null}}class _P extends yo{_getDisplayText(e){return e}_doParseValue(e){return e.startsWith('"')&&e.endsWith('"')?e.slice(1,e.length-1):e}}class cC extends yo{_getDisplayText(e){return isNaN(e)?"NaN":String(e)}_doParseValue(e){return e=="NaN"?NaN:parseFloat(e)}}class nS extends yo{_getDisplayText(e){return e?"true":"false"}_doParseValue(e){const t=e.trim().toLowerCase();return t==="true"||t==="t"||t==="1"}}class cA extends yo{static parseArrayValue(e){const t=e.split(cA.REGEX_COMMA),i=[];return e.trim()===""||t.forEach((r,s)=>{const n=r.toLocaleLowerCase();if(r.startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'"))i[s]=r.slice(1,r.length-1);else if(n==="true"||n==="false")i[s]=n==="true";else{const o=parseFloat(r);i[s]=isNaN(o)?null:o}}),i}constructor(e,t){const i=t.map(r=>Number.isNaN(r)?null:r);super(e,i)}_getDisplayText(e){let t="";const i=new Array(e.length);for(let r=0;r<e.length;r++)typeof e[r]=="string"&&!e[r].includes('"')?i[r]='"'+e[r]+'"':i[r]=e[r];return t+=i.join(","),t}_doParseValue(e){return cA.parseArrayValue(e)}valueEquals(e){if(ee.isArray(e)&&ee.isArray(this.value)){if(e.length&&this.value.length){for(let t=0;t<e.length;t++)if(e[t]!=this.value[t])return!1;return!0}}else return!this.value}}cA.REGEX_COMMA=/\s*\,\s*/;let ATe=class extends Dr{get dataName(){return this._nameInput.value}get rowCount(){return this._table.rows.length}constructor(e,t){super(e,"rrd-data-dialog-body"),this._nameInput.value=t,setTimeout(()=>{this.$_focusRow(0)})}getData(){const e={};for(let t=0;t<this.rowCount;t++){const i=this._table.rows.item(t),r=i.querySelector(Ra.FIELD_NAME_INPUT_CLASS),s=i.querySelector(Ra.FIELD_TYPE_SELECT_CLASS),n=i.querySelector(Ra.FIELD_SAMPLE_VALUE_INPUT_CLASS);e[r.value]=this.$_convertData(n.value,s.value)}return e}addField(e){const t=this.$_createTableRow(e);setTimeout(()=>{this.$_focusRow(t)})}validateFields(e){let t=!1;const i=this.rowCount;this.$_resetValidateMessage(),this._nameInput.value=this._nameInput.value.trim(),this._nameInput.value===""&&(this._nameInput.classList.add(Dr.INVALID_FIELD),this._nameInput.focus(),t=!0);for(let r=0;r<i;r++){const n=this._table.rows.item(r).querySelector(Ra.FIELD_NAME_INPUT_CLASS),o=n.parentElement;n.value.trim()||(n.classList.add(Dr.INVALID_FIELD),o.append(this.$_createValidateMessage(e)),t||(n.focus(),t=!0))}return!t}_doInitDom(e,t){const i=X.createDiv(e,"rrd-simple-data-dialog-name-container");this._nameInput=X.createElement(e,"input",{},"rrd-simple-data-dialog-data-name"),this._pathInput=X.createElement(e,"input",null,"rrd-simple-data-dialog-data-path",{flex:"0 1 100px"}),this._fileInput=X.createElement(e,"input",{type:"file"},"",{display:"none"}),this._fileInput.accept=".json",this._fileInput.onchange=s=>this.$_onFileChangeHandler(s,e),i.appendChild(X.createSpan(e,"rrd-simple-data-dialog-data-name-label",null,"Name: ")),i.appendChild(this._nameInput),i.appendChild(X.createSpan(e,null,null,"Data Path:")),i.appendChild(this._pathInput),i.appendChild(X.createButton(e,"Load From File",()=>this._fileInput.click(),"data-dialog-load-button")),i.appendChild(this._fileInput),t.appendChild(i),t.appendChild(this.$_createFieldsLabel(e,"Values: "));const r=X.createDiv(e,"rrd-simple-data-dialog-table-container");r.appendChild(this._table=this.$_createTable(e)),t.appendChild(r),this.$_createTableRow(e,"field")}refreshBody(e,t){this.$_refresh()}$_createFieldsLabel(e,t){const i=X.createDiv(e,"rrd-data-dialog-fields");return i.appendChild(X.createSpan(e,null,null,t)),i.appendChild(X.createSpan(e,"rrd-data-dialog-fields-hline")),this._itemCountLabel=X.createSpan(e,"rrd-data-dialog-fields-count",null,"0 items"),i.appendChild(this._itemCountLabel),i}$_createTable(e){const t=e.createElement("table"),i=e.createElement("thead");return t.className="rrd-simple-data-dialog-table",Ra.SIMPLE_DATA_FIELDS.forEach(r=>{const s=e.createElement("th");s.textContent=r,i.appendChild(s)}),t.appendChild(i),t.appendChild(e.createElement("tbody")),t}$_createTableRow(e,t){const i=this._table.insertRow(),r=i.rowIndex;Ra.SIMPLE_DATA_FIELDS.forEach(h=>{const c=i.insertCell();X.setData(c,"field",h),c.appendChild(this.$_createFieldInput(e,h,r)),t&&h==="Name"&&(c.firstChild.value=t)});let s=i.insertCell();s.className="rrd-data-dialog-button-cell";const n=X.createSpan(e,"rrd-data-dialog-table-row-button");n.textContent="—",n.style.fontWeight="bold",n.title="Remove",X.setData(n,"type","remove"),X.setData(n,"row",r),s.appendChild(n),s=i.insertCell(),s.className="rrd-data-dialog-button-cell";const o=X.createSpan(e,"rrd-data-dialog-table-row-button");o.textContent="↑",o.style.fontWeight="bold",o.title="Move Up",X.setData(o,"type","up"),X.setData(o,"row",r),s.appendChild(o),s=i.insertCell(),s.className="rrd-data-dialog-button-cell";const l=X.createSpan(e,"rrd-data-dialog-table-row-button");return l.textContent="↓",l.style.fontWeight="bold",l.title="Move Down",X.setData(l,"type","down"),X.setData(l,"row",r),s.appendChild(l),r}$_createFieldInput(e,t,i){const r=e.createElement("input");switch(r.className="input",r.placeholder=t.toLowerCase(),r.title=t,X.setData(r,"row",i),t){case Ra.SIMPLE_DATA_FIELDS[0]:return r.required=!0,X.setData(r,"field","name"),r.oninput=()=>this.$_resetValidateMessage(),r;case Ra.SIMPLE_DATA_FIELDS[1]:{const s=e.createElement("select");return s.className="select",s.title="Value Type, Required.",X.setData(s,"field","type"),X.setData(s,"row",i),["text","number","bool","null","array"].forEach(n=>{const o=e.createElement("option");o.value=n,o.textContent=n,s.add(o)}),s}case Ra.SIMPLE_DATA_FIELDS[2]:return X.setData(r,"field","sample"),r}}$_createValidateMessage(e){const t=X.createDiv(e,"rrd-validate-message");return t.textContent="Value Name Required",t}$_refresh(){this.$_refreshTableRowButtons(),this.$_refreshItemCount(),this.$_resetValidateMessage()}$_refreshTableRowButtons(){function e(i,r){i.style.color=r?"":"lightgray",i.style.pointerEvents=r?"":"none"}const t=this.rowCount;for(let i=0;i<t;i++){const r=this._table.rows.item(i),s=r.querySelector('span[data-type="remove"]'),n=r.querySelector('span[data-type="up"]'),o=r.querySelector('span[data-type="down"]');s.onclick=()=>{this._table.rows.item(i).remove(),this.$_refresh()},n.onclick=()=>{const l=this._table.rows.item(i),h=this._table.rows.item(i-1);h.parentNode.insertBefore(l,h),this.$_refresh()},o.onclick=()=>{const l=this._table.rows.item(i),h=this._table.rows.item(i+1);h.nextSibling?h.parentNode.insertBefore(l,h.nextSibling):h.parentNode.appendChild(l),this.$_refresh()},t===1?(e(s,!1),e(n,!1),e(o,!1)):i===0?(e(s,!0),e(n,!1),e(o,!0)):i===t-1?(e(s,!0),e(n,!0),e(o,!1)):(e(s,!0),e(n,!0),e(o,!0))}}$_resetValidateMessage(){const e=this.rowCount,t=this._nameInput;t.classList.contains(Dr.INVALID_FIELD)&&t.classList.remove(Dr.INVALID_FIELD);for(let i=0;i<e;i++){const s=this._table.rows.item(i).querySelector('input[data-field="name"]'),n=s.parentElement;s.classList.contains(Dr.INVALID_FIELD)&&(s.classList.remove(Dr.INVALID_FIELD),n.removeChild(n.querySelector("div")))}}$_refreshItemCount(){this._itemCountLabel.textContent=`${this.rowCount} items`}$_focusRow(e){this._table.rows.item(e).querySelector(Ra.FIELD_NAME_INPUT_CLASS).focus()}$_convertData(e,t){switch(t){case"number":const i=Number(e);return isNaN(i)?0:i;case"bool":return e==="true";case"null":return null;case"array":return cA.parseArrayValue(e);default:return String(e)}}$_getDataType(e){switch(typeof e){case"number":return"number";case"boolean":return"bool";case"object":return e===null?"null":Array.isArray(e)?"array":"text";default:return"text"}}$_setFileData(e,t,i){function r(s,n,o){s.querySelector(n).value=o}if(i){const s=i.split(".");for(let n of s)t=t[n]}if(ee.isObject(t)&&Object.keys(t).length>0){X.clearTableRows(this._table);for(const s in t){const n=this.$_createTableRow(e),o=this._table.rows[n],l=t[s];r(o,Ra.FIELD_NAME_INPUT_CLASS,s||""),r(o,Ra.FIELD_TYPE_SELECT_CLASS,this.$_getDataType(l)),r(o,Ra.FIELD_SAMPLE_VALUE_INPUT_CLASS,l||"")}this.$_refresh()}}$_onFileChangeHandler(e,t){const i=e.target.files[0];if(i){const r=new FileReader;r.onload=s=>{try{const n=JSON.parse(s.target.result);this.$_setFileData(t,n,this._pathInput.value)}catch(n){console.log(n)}},r.readAsText(i,"utf-8")}}},fTe=class extends Ua{_doInitBottom(e){this._addButtons(e,[{name:"Add Field",onClick:t=>{this.dialog.addField(t,e)},className:"dialog-normal-button"}]),this._addDialogButtons(e,[{name:"Create",onClick:(t,i)=>{this.dialog.validateFields(e)&&i.submit(t)},className:"dialog-submit-button"},Th.cancel])}};class Ra extends Ha{get bodyView(){return this._bodyView}constructor(e,t){super(e,"New - Simple Data","rrd-simple-data-dialog",t),this.closeConfirm=!0,this.refresh(e)}addField(e,t){this.bodyView.addField(t),this.refresh(e)}validateFields(e){return this.bodyView.validateFields(e)}_doInitStyles(e){this.resizeDlg(600,450,e)}_initBody(e,t){return new ATe(e.doc,t)}_createBottom(e){return new fTe(e.doc,this)}_doSubmit(e){const t=new cn(this.bodyView.dataName,this.bodyView.getData());e.report.addData(t,!1)}}Ra.SIMPLE_DATA_FIELDS=["Name","Value Type","Sample Value"];Ra.FIELD_NAME_INPUT_CLASS='input[data-field="name"]';Ra.FIELD_TYPE_SELECT_CLASS='select[data-field="type"]';Ra.FIELD_SAMPLE_VALUE_INPUT_CLASS='input[data-field="sample"]';function vI(a,e){const t=a.data.getAll();let i="",r=1;for(e===cn?i="data":e===mr&&(i="dataset");;){let s=i+"-"+r,n=!1;for(let o of t)if(o.name===s){n=!0;break}if(!n)break;r++}return i+"-"+r}const mP={newSimple:{run(a,e){a.showDialog(new Ra(a,vI(a.report,cn)))}},newBand:{run(a,e){a.showDialog(new Rr(a,vI(a.report,mr)))}},importSimple:{run(a,e){a.showDialog(new dTe(a,vI(a.report,mr)))}},importBand:{run(a,e){a.showDialog(new lTe(a,vI(a.report,mr)))}},remove:{run(a,e){}}};var qv;(function(a){a.DUPULICATED_FIELD_NAME="필드명을 중복으로 설정할 수 없습니다.",a.EMPTY_FIELD_NAME="필드명을 공백으로 설정할 수 없습니다."})(qv||(qv={}));class v4 extends Ii{constructor(e,t){super(e,"rrd-data-container"+(t?" "+t:""))}get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this.render(e))}render(e){this._doRender(this.doc,e||this._report)}_doInitStyles(e){Object.assign(e.style,{position:"absolute",display:"flex",width:"100%",height:"100%"})}_getCssDisplay(){return"flex"}_initStyles(e){}}const pTe={data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFHSURBVHgB7ZfhTcMwEIUfFQN0BG9QNsAbkBE8AhsAEyRMQDYhbAATkA0KE5Q73Vk1lmnskCr94U96ipTcPV+d3skBKitzlRlnSTeknV63JBPFjKov0hvpnTTgH/AiD6Q96TBTn6Q2UewkTbQwG3UkB9kBk8jhe5Z0T+o1J8xvkIkJEl/VdC5Wi/F+Niep0+AWy+E9X+IHm0TwFstzKAnucdwyrthiPhbyGkO/X1xPGDjVCGmpD0h7jaoQA9k9364NMv79pwp4UsM7NXIoh2fCs17b0gJGyOvgtrKQX3aL4xAyiXheiHfI79Sgz9xfi0y9As+g6rAwG6zMRReww3IUefWoc0CocyBkQJ0DKxRwjjnwnRNscb45YHITuYfjQyUX4zvCJHL4HneKg7RcmL9HwaE0NOwio1Lxwo84ccwr/TCZOwcql8sP4jiQjBLEhWIAAAAASUVORK5CYII="};class wP{static createDragImage(e){const t=new Image;return t.src=pTe[e],t}static calcDragImageOffset(e){return{x:e.width/2,y:e.height/2}}}class t_{constructor(e){Object.assign(this,e)}}class CA{constructor(e){this.items=[],Object.assign(this,e)}}let gTe=class extends Dr{constructor(e){super(e.doc,"rrd-share-dialog-body")}_doInitDom(e,t){const i={alignSelf:"center",textAlign:"right"};let r=e.createElement("label"),s=this.edtName=e.createElement("input");X.setStyles(r,i).textContent="Name:",s.required=!0,s.placeholder="Data template 이름을 반드시 지정해야 합니다.",s.oninput=()=>{this.contentChanged()},t.appendChild(r),t.appendChild(s),r=e.createElement("label"),s=this.edtCategory=e.createElement("input"),s.required=!0,s.placeholder="Category를 반드시 지정해야 합니다.",s.oninput=()=>{this.contentChanged()},X.setStyles(r,i).textContent="Category:",t.appendChild(r),t.appendChild(s),r=e.createElement("label");const n=this.edtDescription=e.createElement("textarea");X.setStyles(r,{textAlign:"right",marginTop:"2px"}).textContent="Description:",t.appendChild(r),t.appendChild(n)}_doInitStyles(e){X.setStyles(e,{display:"grid",gridTemplateColumns:"minmax(60px, auto) 1fr",gridTemplateRows:"repeat(2, auto) 1fr",columnGap:"10px",rowGap:"8px"})}},yP=class DN extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{id:DN.BOTTOM_SAVE_BTN_ID,name:"Save",onClick:(t,i)=>{i.submit(t)},className:"dialog-submit-button",disabled:!0},{id:DN.BOTTOM_CANCEL_BTN_ID,...Th.cancel,disabled:!1}])}};yP.BOTTOM_SAVE_BTN_ID="open-dlg-bottom-open";yP.BOTTOM_CANCEL_BTN_ID="open-dlg-bottom-cancel";class _Te extends Ha{constructor(e){super(e,"Share as Data Template","save-dialog",null)}get bodyView(){return this._bodyView}get bottomView(){return this._bottomView}get result(){const e=this.bodyView;return{name:e.edtName.value,category:e.edtCategory.value,description:e.edtDescription.value}}_doInitStyles(e){this.resizeDlg(450,300,e)}_initBody(e){return new gTe(e)}_createBottom(e){return new yP(e.doc,this)}_doShow(){this.focusInput(this.bodyView.edtName)}_bodyChanged(e){this.setDisabled(yP.BOTTOM_SAVE_BTN_ID,!this.bodyView.edtName.value||!this.bodyView.edtCategory.value)}}class mTe extends un{constructor(e){super(e),this.listMode=!1,this.selected=!1,this.styleName="rrd-data-item",this.setStyles({border:"none",backgroundColor:"transparent"});const t=this._icon=e.createElementNS(Di,"svg");t.setAttribute("viewBox","0 0 32 32"),t.setAttribute("width","64"),t.setAttribute("height","64"),t.setAttribute("fill","none"),t.style.pointerEvents="none",this.addDom(t);const i=this._label=X.createSpan(e,"rrd-data-item-label");this.addDom(i)}render(e,t,i,r,s){this.item=e,this.listMode=r,this.selected=s,this.styleName=this.listMode?"rrd-data-list-item":"rrd-data-item",X.setData(this.dom,"index",i),X.setData(this.dom,"name",e.name),this._icon.setAttribute("width",r?"20":"60"),this._icon.setAttribute("height",r?"20":"60"),t?this._icon.innerHTML=e.type==="simple"?xe.dataPanel.dataSimple:xe.dataPanel.dataBand:this._icon.innerHTML=e instanceof cn?xe.dataPanel.dataSimple:xe.dataPanel.dataBand,this._label.textContent=e.name,this.dom.title=e.name}setSelectd(e){this._icon.style.backgroundColor=e?"":"#F1F1F1",this._icon.style.border=e?"2px solid var(--rrd-light-theme-primary-color-8)":"",this._icon.style.boxShadow=e?"2px 1px 8px 0px rgb(201 201 201)":""}removeSelectd(){this._icon.style.backgroundColor="",this._icon.style.border="",this._icon.style.boxShadow=""}_createDom(e){return e.createElement("button")}_doInitDom(e,t){t.draggable=!0}_doDraw(e){}$_iconClass(e){return e?"rrd-data-list-item-icon":"rrd-data-item-icon"}$_iconStyle(e,t){const i={};let r="";return e instanceof cn?r="data-type-simple.png":e instanceof mr&&(r="data-type-band.png"),r?i.background=(t?"rgb(0 0 0 / 38%) ":"")+'no-repeat center/contain url("/assets/images/'+r+'")':i.background=t?"#fff":"#555",i}$_createDataViewButton(e){const t=e.createElement("div"),i=t.style;return t.textContent="V",i.position="absolute",i.right="16px",i.top="0px",i.fontSize="16px",i.fontWeight="bold",t}$_templateIconStyle(e,t){const i={};let r="";return e.type==="band"?r="data-type-band.png":e.type==="simple"?r="data-type-simple.png":e.type==="array"&&(r="data-type-array.png"),r?i.background=(t?"rgb(0 0 0 / 38%) ":"")+'no-repeat center/contain url("/assets/images/'+r+'")':i.background=t?"#fff":"#555",i}$_labelClass(e){return e?"data-list-item-label data-list-item-label-selected":"data-list-item-label"}}let wTe=class extends Ii{get dataListContainer(){return this._dataListContainer}set dataListContainer(e){this._dataListContainer=e}refresh(){this.$_resetButtons(this._dataListContainer.listMode)}_doInitDom(e,t){const i={padding:"3px 4px 2px 4px"};this.addChild(new Ht(e,{label:"Use",action:{run:(r,s)=>{const{selected:n,group:o}=this.dataListContainer;n>=0&&o instanceof CA&&this.dataListContainer.useDataTemplate(r,o.items[n])}},tag:"group",style:i})),this.addChild(new Ht(e,{label:"+ Simple",action:mP.newSimple,tag:"report",style:i})),this.addChild(new Ht(e,{label:"+ Band",action:mP.newBand,tag:"report",style:i})),this.addChild(new Ht(e,{label:"Remove",action:{run:(r,s)=>{var n;const o=this.dataListContainer.selectedItem;o&&((n=r.report)===null||n===void 0||n.removeData(o.name))}},tag:"report",style:i})),this.addChild(new Ht(e,{label:"Share",action:{run:(r,s)=>{const n=this.dataListContainer.selectedItem;n instanceof vc&&r.server&&r.server.shareDataTemplate&&r.showDialog(new _Te(r),async o=>{try{const l=o.result,h=n.save(),c={name:l.name,type:h.type,category:l.category,description:l.description,content:JSON.stringify(h)};await r.server.shareDataTemplate(c),r.showMessage("Template으로 저장됐습니다: "+c.name,"info")}catch(l){console.error(l),r.showMessage(l,"error")}})}},tag:"report",style:i})),this.addDom(X.createSpace(e)),this.addChild(new Ht(e,{id:"refresh",label:"Refresh",tag:"server",onClick:()=>{},style:i})),this.addChild(new Ht(e,{id:"grid",label:"Grid",tag:"viewMode",svg:xe.gridBtn,onClick:()=>{this._dataListContainer.listMode=!1}})),this.addChild(new Ht(e,{id:"list",label:"List",tag:"viewMode",svg:xe.listBtn,onClick:()=>{this._dataListContainer.listMode=!0}})),this.$_resetButtons(!1)}_doInitStyles(e){X.setStyles(e,{flex:"0 0 auto",display:"flex",gap:"4px",alignItems:"center"})}$_resetButtons(e){if(!this.dataListContainer)return;const t=this.dataListContainer.group;X.setBoolData(this.dom.querySelector("#grid"),"checked",!e),X.setBoolData(this.dom.querySelector("#list"),"checked",e),t instanceof CA?this.$_setButtonVisibleByTag("group"):t==="server"?this.$_setButtonVisibleByTag("server"):t==="report"&&this.$_setButtonVisibleByTag("report")}$_setButtonVisibleByTag(e){this._getElements().filter(i=>i instanceof Ht).forEach(i=>{i.tag!=="viewMode"&&(i.tag===e?i.visible=!0:i.visible=!1)})}},yTe=class extends Ii{_doInitStyles(e){X.setStyles(e,{userSelect:"none"})}};class Iz extends v4{constructor(e,t){super(e,"list"),this._listMode=!1,this._itemViews=[],this._selected=-1,this.addChild(this._headerView=new wTe(e,"rrd-data-list-header")),this._headerView.dataListContainer=this,this.addChild(this._bodyView=new yTe(e,"rrd-data-list-body")),this._dataPanel=t}get headerView(){return this._headerView}get bodyView(){return this._bodyView}get listMode(){return this._listMode}set listMode(e){e!==this._listMode&&(this._listMode=e,this.render())}get group(){return this._group}set group(e){e!==this._group&&(this._group=e)}get isReport(){return this._group==="report"}get selected(){return this._selected}get selectedItem(){var e;return(e=this._itemViews[this._selected])===null||e===void 0?void 0:e.item}setSelected(e){var t;e!==this._selected&&(this._selected=e,this._itemViews.forEach((i,r)=>i.setSelectd(r===e)),this.isReport&&this._itemViews[e].item instanceof yd&&((t=this.onSelect)===null||t===void 0||t.call(this,this._itemViews[e].item)))}useDataTemplate(e,t){const{report:i}=e;if(t){const r=ee.deepClone(t.dataLink);e.server&&!t.fields?e.server.getDataTemplate(t.id).then(s=>{this.$_addDataToReport(e,s,s.dataLink,i)}):this.$_addDataToReport(e,t,r,i)}}itemOf(e){var t;return(t=this._itemViews.find(i=>i.containsDom(e)))===null||t===void 0?void 0:t.item}refreshSelected(){this._selected=-1,this._itemViews.forEach((e,t)=>e.removeSelectd())}_doInitStyles(e){super._doInitStyles(e),Object.assign(e.style,{flexDirection:"column"})}_doInitDom(e,t){this.dom.onpointerdown=this._pointerDownHandler.bind(this),this.dom.ondblclick=this._dblClickHandler.bind(this),this.dom.ondragstart=this._dragStartHandler.bind(this),this._dragImage=wP.createDragImage("data")}_doRender(e,t){X.setData(this.dom,"mode",this._listMode?"list":""),this._group instanceof CA?this.$_renderTemplates(e,this._group):this.$_renderReport(e,t),this._headerView.refresh()}$_renderTemplates(e,t){this.$_resetItemViews(e,t.items.length).forEach((r,s)=>{r.render(t.items[s],t,s,this.listMode,!1)})}$_renderReport(e,t){const i=t.data.getAll();this.$_resetItemViews(e,i.length).forEach((s,n)=>{s.render(i[n],null,n,this.listMode,!1)})}$_resetItemViews(e,t){const i=this._bodyView,r=this._itemViews;for(;r.length<t;){const s=new mTe(e);i.addChild(s),r.push(s)}for(;r.length>t;)r.pop().remove();return this._itemViews}_pointerDownHandler(e){for(let t=0;t<this._itemViews.length;t++)if(this._itemViews[t].containsDom(e.target)){this.setSelected(t);break}}_dblClickHandler(e){var t;this._selected>=0&&((t=this.onDblClick)===null||t===void 0||t.call(this,this._itemViews[this._selected].item))}_dragStartHandler(e){const t=e.target;if(t instanceof HTMLButtonElement&&(t.classList.contains("rrd-data-item")||t.classList.contains("rrd-data-list-item"))){const i=this._dataPanel.selected.path,r=t.dataset.name,s=wP.calcDragImageOffset(this._dragImage);if(e.dataTransfer.setDragImage(this._dragImage,s.x,s.y),(i.includes("Stock")||i.includes("Server"))&&this.group instanceof CA){const n=this.group.items[this.selected];n&&e.dataTransfer.setData(uC(JSON.stringify({type:tc.NEW_DATA,data:n})),"")}else e.dataTransfer.setData(uC(JSON.stringify({type:tc.DATA,name:r})),"");return}X.stopEvent(e)}$_addDataToReport(e,t,i,r){let s;switch(t.type){case"band":{const{sample:n,fields:o}=t,l=Array.isArray(n)?n:[];o&&(s=new mr(t.name,o,l,l.length,i));break}case"simple":{const{name:n,sample:o}=t;n&&(s=new cn(t.name,o,i));break}}if(s)try{r.addData(s,!0),this.refreshSelected()}catch(n){e.showMessage(n,"error")}}}class gi{constructor(e){this.tag=e}run(e,t){const i=e.getActiveEditor();i instanceof Uf&&this.$_runExcelEditor(e,i,t)}$_runExcelEditor(e,t,i){var r;const s=t.focusedItem;if(!(s instanceof io||s instanceof Or))return;const n=s.adoptDragSource(()=>new i.tag);if(!n)return;const o=e.report,l=o.pages[t.activePage];let h=n.value;const c=(r=s.parent)!==null&&r!==void 0?r:l.body.itemsContainer;s instanceof Or?h&&!(h instanceof Oi)&&t.selections.items.forEach(d=>{d instanceof Or&&(h||(h=new i.tag),h.row=d.row,h.col=d.col,o.addItem(d.parent,h),o.defaultInit(h,d.parent,void 0,void 0),h=null)}):h instanceof mr?e.designer.startBandDesigner(h,d=>{d.row=s.row,d.col=s.col,e.report.addItem(c,d),e.report.defaultInit(d,c,void 0,void 0)}):h instanceof Qi?e.designer.startBandDesigner(null,d=>{d.row=s.row,d.col=s.col,o.addItem(c,d),o.defaultInit(d,c,void 0,void 0)}):(h&&(h.row=s.row,h.col=s.col),h instanceof on&&(l._checkBoxSize(h)||(h=null)),h&&(o.addItem(c,h),o.defaultInit(h,c,void 0,void 0))),t.setFocus()}}const lx={type:"separator",color:"#5955B3"},ZV=[{type:"group",id:"item_bar_design_group",display:"grid",supportTypes:[mt.REPORT,mt.EMAIL,mt.SHEET],items:[{type:"button",id:"item_bar_expand",svg:xe.expand,action:Gs.actionBarMode,label:"Expander"},{type:"button",id:"item_bar_collapse",svg:xe.collapse,action:Gs.actionBarMode,label:"Expander"},{type:"button",id:"item_bar_toggle_outline",svg:xe.outline,action:Gs.toggleOutline,label:"Outline"},lx,{type:"button",id:"item_bar_selection_mode",svg:xe.selectionMode,action:Gs.selectionMode,label:"Selection Mode"},{type:"button",id:"item_bar_hand_mode",svg:xe.handMode,action:Gs.handMode,label:"Hand Mode"}]},{type:"group",id:"item_bar_report_group",display:"grid",supportTypes:[mt.REPORT],items:[{type:"button",id:"simple_band",svg:xe.simpleband,action:new gi(Bh),label:"Simple Band",tag:"simpleband"},{type:"button",id:"table_band",svg:xe.tableband,action:new gi(Ei),label:"Table Band",tag:"tableband"},{type:"button",id:"text_band",svg:xe.textband,action:new gi(Ei),label:"Text Band",tag:"textband"},{type:"button",id:"crosstab_band",svg:xe.crosstabband,action:new gi(Ss),label:"Crosstab Band",tag:"crosstab"},{type:"button",id:"band_group",svg:xe.bandgroup,action:new gi(Yr),label:"Band Group",tag:"bandgroup"},{type:"button",id:"table",svg:xe.table,action:new gi(ir),label:"Table",tag:"table"},lx,{type:"button",id:"text",svg:xe.text,action:new gi(ri),label:"Text",tag:"text"},{type:"button",id:"summary",svg:xe.summary,action:new gi(jl),label:"Summary",tag:"summary"},{type:"button",id:"html",svg:xe.html,action:new gi(Vn),label:"HTML",tag:"html"},{type:"button",id:"check",svg:xe.check,action:new gi(xs),label:"Check",tag:"check"},{type:"button",id:"image",svg:xe.image,action:new gi(Xr),label:"Image",tag:"image"},{type:"button",id:"svg",svg:xe.svg,action:new gi(Ma),label:"SVG",tag:"svg"},{type:"button",id:"shape",svg:xe.shape,action:new gi(bh),label:"Shape",tag:"shape"},{type:"button",id:"bar",svg:xe.bar,action:new gi(On),label:"Bar",tag:"bar"},{type:"button",id:"rating",svg:xe.rating,action:new gi(Ws),label:"Rating",tag:"rating"},{type:"button",id:"barcode",svg:xe.barcode,action:new gi(Yi),label:"Barcode",tag:"barcode"},{type:"button",id:"qrcode",svg:xe.qrcode,action:new gi(mn),label:"Qrcode",tag:"qrcode"},{type:"button",id:"datamatrix",svg:xe.datamatrix,action:new gi(xo),label:"DataMatrix",tag:"datamatrix"},{type:"button",id:"sign",svg:xe.sign,action:new gi(ea),label:"Sign",tag:"sign"},{type:"button",id:"stamp",svg:xe.stamp,action:new gi(Ac),label:"Stamp",tag:"stamp"},{type:"button",id:"chart",svg:xe.chart,action:new gi(_i),label:"Chart",tag:"realchart"},{type:"button",id:"htmlview",svg:xe.htmlview,action:new gi(Ks),label:"Html View",tag:"htmlView"},{type:"button",id:"space",svg:xe.space,action:new gi(Io),label:"Space",tag:"space"},lx,{type:"button",id:"rbox",svg:xe.rbox,action:new gi(Bo),label:"Row Box",tag:"rbox"},{type:"button",id:"cbox",svg:xe.cbox,action:new gi(hn),label:"Column Box",tag:"cbox"},{type:"button",id:"dbox",svg:xe.dbox,action:new gi(ss),label:"Diagonal Box",tag:"dbox"},{type:"button",id:"stack",svg:xe.stack,action:new gi(So),label:"Stack Container",tag:"stack"},{type:"button",id:"list",svg:xe.list,action:new gi(Mn),label:"List",tag:"list"},{type:"button",id:"datalist",svg:xe.datalist,action:new gi(Iz),label:"Data List",tag:"datalist"},{type:"button",id:"floating",svg:xe.floating,action:new gi(fa),label:"Floating Container",tag:"floating"}]},{type:"group",id:"item_bar_email_group",display:"grid",supportTypes:[mt.EMAIL],items:[{type:"button",id:"databand",svg:xe.tableband,action:new gi(_s),label:"Data Band",tag:"databand"},{type:"button",id:"table",svg:xe.table,action:new gi(_n),label:"Table",tag:"table"},lx,{type:"button",id:"text",svg:xe.text,action:new gi(Na),label:"Text",tag:"text"},{type:"button",id:"summary",svg:xe.summary,action:new gi(fd),label:"Summary",tag:"summary"},{type:"button",id:"image",svg:xe.image,action:new gi(_c),label:"Image",tag:"image"},{type:"button",id:"space",svg:xe.space,action:new gi(Ad),label:"Space",tag:"space"},{type:"button",id:"chart",svg:xe.chart,action:new gi(pd),label:"Chart",tag:"realchart"},lx,{type:"button",id:"rbox",svg:xe.rbox,action:new gi(_a),label:"Row Box",tag:"rbox"},{type:"button",id:"cbox",svg:xe.cbox,action:new gi(ol),label:"Column Box",tag:"cbox"}]},{type:"group",id:"item_bar_sheet_group",display:"grid",supportTypes:[mt.SHEET],items:[{type:"button",id:"text",svg:xe.text,action:new gi(oi),label:"Text",tag:"text"},{type:"button",id:"box",svg:xe.excelBox,action:new gi(on),label:"Box",tag:"box"},{type:"button",id:"databand",svg:xe.tableband,action:new gi(Qi),label:"Data Band",tag:"databand"},{type:"button",id:"image",svg:xe.image,action:new gi(Wg),label:"Image",tag:"image"},{type:"button",id:"summary",svg:xe.summary,action:new gi(wA),label:"Summary",tag:"summary"},{type:"button",id:"barcode",svg:xe.barcode,action:new gi(hp),label:"Barcode",tag:"barcode"},{type:"button",id:"bar",svg:xe.bar,action:new gi(Es),label:"Bar",tag:"bar"},{type:"button",id:"sign",svg:xe.sign,action:new gi(Rm),label:"Sign",tag:"sign"},{type:"button",id:"stamp",svg:xe.stamp,action:new gi(Tm),label:"Stamp",tag:"stamp"}]}],JV=[{type:"button",id:"preview_export",svg:xe.preview.export,action:qs.toggleExportBar,label:"Export",supportTypes:[mt.REPORT,mt.EMAIL,mt.SHEET],style:{marginTop:"10px"}},{type:"button",id:"preview_options",svg:xe.options,action:qs.togglePreviewSettingSubBar,label:"Export",supportTypes:[mt.REPORT,mt.EMAIL,mt.SHEET],style:{marginTop:"10px"}}];class jT extends Xd{constructor(){Xd.setItemTags(ZV,Aa.Design),Xd.setItemTags(JV,Aa.Preview),super(!0,[...ZV,...JV])}_doRefresh(e){var t;const i=(t=e.report)===null||t===void 0?void 0:t.type,r=e.designMode?Aa.Design:Aa.Preview;this.items.forEach(s=>{const n=s.tag,o=s.supportTypes;if(!i){r===Aa.Design&&jT.ALWAYS_VISIBLE_ITEMS_ID.includes(s.id)?s.visible=!0:s.visible=!1;return}if(typeof n=="string"){const l=o.includes(i);s.visible=n===r&&l}})}}jT.ALWAYS_VISIBLE_ITEMS_ID=["item_bar_design_group","item_bar_collapse","item_bar_toggle_outline","item_bar_selection_mode","item_bar_hand_mode"];class vTe extends g2{constructor(e,t){super(e,"rrd-action-subbar",t)}refreshItems(){const e=this.findToolItemById(fP).value;this.findToolItemById(_4).visible=e==="PDF",this.findToolItemById(m4).visible=e==="PDF",this.findToolItemById(w4).visible=e==="PDF"}_doPrepareBar(e,t,i){super._doPrepareBar(e,t,i)}_doAfterRefreshBar(e,t){const i=this.findToolItemById(fP);e.report.type===mt.SHEET?i.createSelector(["EXCEL"],"EXCEL"):window.PDFDocument?i.createSelector(["PDF","DOCX","HWP","PNG"],"PDF"):i.createSelector(["DOCX","HWP","PNG"],"DOCX"),this.refreshItems()}_createDefaultTool(){return new CTe(this)}}class CTe extends bd{constructor(e){super(e)}}const bTe=[{type:"text",id:"rrd-export-bar-header",value:"EXPORT"},{type:"group",style:{width:"100%",marginTop:"12px",padding:"0 12px",gap:"8px"},items:[{id:fP,type:"select",domain:["PDF","DOCX","HWP","PNG"],value:"PDF",label:"Format",full:!0,onEdit:(a,e)=>{a.refreshActionSubBar()}},{id:g4,type:"input",label:"File Name",placeholder:"파일명을 입력해주세요.",full:!0},{id:_4,type:"select",domain:["1.3","1.4","1.5","1.6","1.7","1.7ext3"],value:"1.7ext3",label:"Version",full:!0},{id:m4,type:"input",label:"User Password",placeholder:"사용자 비밀번호를 입력해주세요.",full:!0},{id:w4,type:"input",label:"Owner Password",placeholder:"소유자 비밀번호를 입력해주세요.",full:!0},{id:jRe,type:"button",label:"Save",variant:"filled",style:{width:"100%",height:"24px",padding:"3px 10px",marginTop:"8px"},action:qs.export}]}];class ETe extends Xd{constructor(){super(!0,bTe)}_doRefresh(e){const t=this.itemOf(g4);t.value=e.report.root.name}}class xTe extends uy{constructor(e,t){super(e,"rrd-archivepanel",t),this.contentVisible=!1}_doPrepareContent(e,t){}_doBuildModel(e,t){}_doRefreshButtons(e){}getMenu(e){}}class STe extends dy{}class ITe{constructor(e,t,i){this.dom=e,this.options=t,this.callback=i,this._handler=()=>{const r=this.options,s=r.duration||150,n=+new Date-this._started;n<=s?(r.visible?(this.dom.style.display="",this.dom.style.width=Et(r.size*n/s)):this.dom.style.width=Et(r.size*(1-n/s)),this._handler&&requestAnimationFrame(this._handler)):(this.callback(),this.stop())},this._started=+new Date,requestAnimationFrame(this._handler)}stop(){this._handler=null}}class Vb extends To{constructor(e,t,i="right",r,s){if(super(),this._maxSize=Number.MAX_SAFE_INTEGER,this._minSize=0,this.$_pointerDownHandler=n=>{this._resizer.setPointerCapture(n.pointerId),this._pStart=this._vertical?n.pageY:n.pageX,this._szSave=this.size},this.$_pointerMoveHandler=n=>{var o,l;if(n.buttons===1){const h=this.size,c=this._vertical?n.pageY:n.pageX,d=this._reversed?c-this._pStart:this._pStart-c;this.size=this._szSave+d,this.size>=this._maxSize?this.size=this._maxSize:this.size<=this._minSize&&(this.size=this._minSize),(o=this._content)===null||o===void 0||o.resetSize(),(l=this.onResize)===null||l===void 0||l.call(this,this.size,h)}},this.$_pointerUpHandler=n=>{var o;this.size>=this.maxWidth&&(this.size=this.maxWidth,(o=this._content)===null||o===void 0||o.resetSize())},this._container=t,t.appendChild(this._panel=this.$_createPanel(e,r,this._position=i)),s){const{maxSize:n,minSize:o}=s;this._maxSize=n??Number.MAX_SAFE_INTEGER,this._minSize=o??0}}get container(){return this._container}get contentDiv(){return this._contentDiv}get content(){return this._content}get visible(){return getComputedStyle(this._container).display!=="none"}set visible(e){e!==this.visible&&(this._container.style.display=e?"":"none",this._animation&&(this._animation.stop(),this._animation=null))}get resizerVisible(){return getComputedStyle(this._resizer).display!=="none"}set resizerVisible(e){e!==this.resizerVisible&&(this._resizer.style.display=e?"":"none")}get position(){return this._position}get size(){return this._vertical?this._container.clientHeight:this._container.clientWidth}set size(e){this._container.style[this._vertical?"height":"width"]=Et(Math.max(0,e))}get headHeight(){return this._resizer.offsetHeight+(this._headerView?this._headerView.offsetHeight:0)}get headerView(){return this._headerView}get body(){return this._body}setVisible(e,t=!0,i){var r;e!=this.visible&&(t?((r=this._animation)===null||r===void 0||r.stop(),e?this._saveSize=this._saveSize||this._container.scrollWidth||parseFloat(this._container.style.width):(this._saveSize=this._container.scrollWidth,this._saveMin=parseFloat(this._container.style.minWidth),this._container.style.minWidth=""),this._animation=new ITe(this._container,{visible:e,vertical:this._vertical,size:this._saveSize},()=>{this.visible=e,e&&(this._container.style.width=Et(this._saveSize),isNaN(this._saveMin)||(this._container.style.minWidth=Et(this._saveMin))),i&&i()})):(this.visible=e,i&&i()))}setContent(e){e!==this._content&&(this._content&&(this._content.contentVisible=!1),this._content=e,e&&(e.contentVisible=!0,e.resetSize()))}_createPanelBody(e){const t=this._position,i=this._vertical=t==="top"||t==="bottom",r={height:i?"":"100%",width:i?"100%":""};return X.createDiv(e,"rrd-panel-body",Object.assign({display:"flex",flexDirection:"column",flex:"1 1 auto"},r))}_createHeaderView(e){}$_createPanel(e,t,i){const r=this._vertical=i==="top"||i==="bottom",s=this._reversed=i==="top"||i==="left",n=X.createDiv(e,t||"rrd-panel",{display:"flex",flexDirection:r?s?"column-reverse":"column":s?"row-reverse":"row",height:"100%"}),o={height:r?"":"100%",width:r?"100%":""};return n.appendChild(this._resizer=X.createDiv(e,"rrd-panel-resizer",Object.assign({flex:"0 0 3px",cursor:r?"ns-resize":"ew-resize"},o))),this._resizer.onpointerdown=this.$_pointerDownHandler,this._resizer.onpointermove=this.$_pointerMoveHandler,this._resizer.onpointerup=this.$_pointerUpHandler,n.appendChild(this._body=this._createPanelBody(e)),(this._headerView=this._createHeaderView(e))&&this._body.appendChild(this._headerView.dom),this._body.appendChild(this._contentDiv=X.createDiv(e,"rrd-panel-content",Object.assign({flex:"1 1 auto"},o))),n}}let BTe=class extends Dr{constructor(e,t){super(e.doc,"rrd-asset-dialog-body"),this._nameView.value=t.assetName,this._type=t.assetType}get type(){return this._type}setData(e){const t=new Image;t.onload=()=>{const i=this._imageView,r=i.offsetWidth,s=i.offsetHeight;i.textContent="",t.width>r||t.height>s?i.style.backgroundSize="contain":i.style.backgroundSize="auto",i.style.backgroundImage="url("+e+")",this._textView.defaultValue=e,this._lengthView.textContent=`(${e.length} characters)`,this._sizeView.textContent=`(${t.naturalWidth} * ${t.naturalHeight}) pixels`},t.src=e}checkName(e){const t=this._nameView.value;if(!t){this._nameView.focus();return}if(!e.assets.isValidName(t)){this._nameView.focus(),this._nameView.select();return}return t}_doInitDom(e,t){let i;t.appendChild(i=X.createDiv(e,null,{display:"flex",gap:"10px",alignItems:"center"})),i.appendChild(X.createSpan(e,null,null,"Name:")),i.appendChild(this._nameView=X.createElement(e,"input",null,null,{flex:"1 1 auto"})),t.appendChild(i=X.createDiv(e,null,{display:"flex",gap:"10px",alignItems:"center"})),i.appendChild(X.createSpan(e,null,null,"Image")),i.appendChild(X.createSpan(e,null,{flex:"1 1 0",height:"1px",borderBottom:"1px solid #aaa"})),t.appendChild(i=X.createDiv(e,"rrd-asset-dialog-content",{flex:"1 1 auto",display:"flex",gap:"10px",alignItems:"center"}));let r=X.createDiv(e,null,{flex:"1 1 50%",display:"flex",flexDirection:"column",height:"100%"});const s=this._textView=e.createElement("textarea");X.setStyles(s,{width:"100%",flex:"1 1 0",resize:"none",outline:"none"}),r.appendChild(s),r.appendChild(this._lengthView=e.createElement("span")),i.appendChild(r),r=X.createDiv(e,null,{flex:"1 1 50%",display:"flex",flexDirection:"column",height:"100%"}),r.appendChild(this._imageView=X.createSpan(e,null,{backgroundImage:'url("")',backgroundPosition:"center center",backgroundRepeat:"no-repeat",backgroundSize:"auto",flex:"1 1 0",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"100%",backgroundColor:"lightgray",color:"#666"},"preview")),r.appendChild(this._sizeView=e.createElement("span")),r.ondrop=this.$_onDropHandler.bind(this),r.ondragover=this.$_onDragOverHandler.bind(this),i.appendChild(r)}_doInitStyles(e){X.setStyles(e,{display:"flex",flexDirection:"column",minWidth:"400px",gap:"6px"})}refreshBody(e,t){}$_onDropHandler(e){if(e.preventDefault(),e.dataTransfer.files){const t=e.dataTransfer.files[0],i=new FileReader;i.onload=()=>{this.onDrop(i.result)},(this.type==="image"&&t.type.match(/image.*/)||this.type==="svg"&&t.type.match(/svg/))&&i.readAsDataURL(t)}}$_onDragOverHandler(e){e.preventDefault()}},PTe=class extends Ua{constructor(e,t){super(e,t)}get type(){return this.dialog.type}_doInitBottom(e){const t=e.createElement("input");t.type="file",t.style.display="none",t.onchange=()=>{const i=t.files[0];if(i){const r=new FileReader;r.onload=s=>{this.onLoaded(s.target.result)},r.readAsDataURL(i)}},this.addDom(t),this._addButtons(e,[{name:"Load...",onClick:i=>{t.click()}}]),this.addDom(X.createSpan(e,null,null,"(Drag drop to preview box)")),this._addDialogButtons(e,[{name:"Save",onClick:(i,r)=>{r.submit(i)},className:"dialog-submit-button"},Th.cancel])}};class eH extends Ha{constructor(e,t,i){super(e,`New ${t==="svg"?"SVG":"Image"} Asset`,"rrd-asset-dialog",i),this.type=t}get bodyView(){return this._bodyView}_doInitStyles(e){this.resizeDlg(700,450)}_initBody(e,t){const i=new BTe(e,t);return i.onDrop=r=>{this.bodyView.setData(this._data=r)},i}_createBottom(e){const t=new PTe(e.doc,this);return t.onLoaded=i=>{this.bodyView.setData(this._data=i)},t}_doShow(){this._bottomView.dom.getElementsByTagName("input")[0].accept=this.type==="svg"?".svg":".png,.jpeg,.jpg,.gif,.webp,.bmp,.ico"}_doSubmit(e){const t=this._bodyView.checkName(e.report);t&&(this.type==="image"?e.report.addAsset(null,new Xl(t,this._data)):this.type==="svg"&&e.report.addAsset(null,new Gf(t,this._data)),e.refreshDesigner())}}const vP={newImage:{run(a,e){a.showDialog(new eH(a,"image",{assetName:a.report.assets.getValidName("image"),assetType:"image"}))}},newSvg:{run(a,e){a.showDialog(new eH(a,"svg",{assetName:a.report.assets.getValidName("svg"),assetType:"svg"}))}},remove:{run(a,e){}}};class RTe extends un{constructor(e){super(e),this.listMode=!1,this.selected=!1,this.dom.draggable=!0,this.addDom(this._icon=X.createSpan(e)),this._icon.draggable=!1,this.addDom(this._label=X.createSpan(e)),this._label.draggable=!1}get item(){return this._item}render(e,t,i){this.styleName=t?"rrd-asset-list-item":"rrd-asset-item",this._item=e,this.listMode=t,this.selected=i,this.draw(!0)}setSelectd(e){this._icon.style.backgroundColor=e?"#fff":"transparent",this._icon.style.border=e?"2px solid var(--rrd-light-theme-primary-color-8)":"",this._icon.style.boxShadow=e?"1px 1px 7px 0px rgb(207 207 207)":""}_doDraw(e){const t=this._item;X.setData(this.dom,"name",t.name),this._icon.className=this.$_iconClass(this.listMode,t),Object.assign(this._icon.style,this.$_iconStyle(t)),this._icon.title=this.$_iconHint(t),this._label.className=this.$_labelClass(this.listMode),this._label.textContent=t.name}$_iconClass(e,t){return e?t instanceof Z6?"rrd-asset-list-item-icon-dummy":"rrd-asset-list-item-icon":t instanceof Z6?"rrd-asset-item-icon-dummy":"rrd-asset-item-icon"}$_iconStyle(e){const t={};return e instanceof Xl?t.background='no-repeat center/contain url("'+e.data+'")':e instanceof Gf?t.background="no-repeat center/contain url('"+e.data+"')":e instanceof Ux&&(t.background="no-repeat center/contain url('"+Xt.createUrl(xe.snippet)+"')"),t}$_iconHint(e){if(e instanceof Xl)return"Image";if(e instanceof Gf)return"SVG";if(e instanceof Ux)return"Snippet"}$_labelClass(e){return this.selected?(e?"rrd-asset-list-item-label":"rrd-asset-item-label")+" rrd-asset-item-label-selected":e?"rrd-asset-list-item-label":"rrd-asset-item-label"}}let TTe=class extends Ii{get assetContainer(){return this._assetContainer}set assetContainer(e){this._assetContainer=e}refresh(){this.$_resetButtons(this.assetContainer.listMode)}_getCssDisplay(){return"flex"}_doInitDom(e,t){const i={padding:"3px 4px 2px 4px"};this.addChild(new Ht(e,{label:"Use",action:{run:(r,s)=>{const{group:n,selected:o}=this.assetContainer;o<0||!(n instanceof t_)||r.report.addAsset(null,n.assets[o])}},tag:"group",style:i})),this.addChild(new Ht(e,{id:"refresh",label:"Refresh",tag:"server",onClick:()=>{},style:i})),this.addChild(new Ht(e,{label:"Add Image",action:vP.newImage,tag:"report",style:i})),this.addChild(new Ht(e,{label:"Add SVG",action:vP.newSvg,tag:"report",style:i})),this.addChild(new Ht(e,{label:"Remove",action:{run:(r,s)=>{var n;const o=this.assetContainer.selectedItem;o&&((n=r.report)===null||n===void 0||n.removeAsset(o))}},tag:"report",style:i})),this.addDom(X.createSpace(e)),this.addChild(new Ht(e,{id:"grid",label:"Grid",tag:"viewMode",svg:xe.gridBtn,onClick:()=>{this.assetContainer.listMode=!1}})),this.addChild(new Ht(e,{id:"list",label:"List",tag:"viewMode",svg:xe.listBtn,onClick:()=>{this.assetContainer.listMode=!0}})),this.$_resetButtons(!1)}_doInitStyles(e){X.setStyles(e,{flex:"0 0 auto",display:"flex",gap:"4px",alignItems:"center"})}$_resetButtons(e){if(!this.assetContainer)return;const t=this.assetContainer.group;X.setBoolData(this.dom.querySelector("#grid"),"checked",!e),X.setBoolData(this.dom.querySelector("#list"),"checked",e),t instanceof t_?this.$_setButtonVisibleByTag("group"):t==="server"?this.$_setButtonVisibleByTag("server"):t instanceof jh&&this.$_setButtonVisibleByTag("report")}$_setButtonVisibleByTag(e){this._getElements().filter(i=>i instanceof Ht).forEach(i=>{i.tag!=="viewMode"&&(i.tag===e?i.visible=!0:i.visible=!1)})}},LTe=class extends Ii{_doInitStyles(e){X.setStyles(e,{display:"flex",flexWrap:"wrap",alignItems:"flex-start",padding:"8px 4px",overflow:"auto",userSelect:"none"})}};class DTe extends Ii{constructor(e,t){super(e,"rrd-asset-list"),this._listMode=!1,this._itemViews=[],this._selected=-1,this._panel=t,this.addChild(this._headerView=new TTe(e,"rrd-asset-list-header")),this._headerView.assetContainer=this,this.addChild(this._bodyView=new LTe(e,"rrd-asset-list-body"))}get headerView(){return this._headerView}get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this._group=null,this.render())}get listMode(){return this._listMode}set listMode(e){e!==this._listMode&&(this._listMode=e,this.render())}get group(){return this._group}set group(e){e!==this._group&&(this._group=e)}get isReport(){return this._group instanceof jh}get selected(){return this._selected}get selectedItem(){const e=this._itemViews[this._selected];return e?e.item:null}render(){X.setData(this.dom,"mode",this._listMode?"list":""),this._headerView.visible=!!this._group,this.setSelected(-1),this.$_layoutItems(this.$_getAssetItems(this._group)),this._headerView.refresh()}setSelected(e){var t,i;e!==this._selected&&(this._selected=e,this._itemViews.forEach((r,s)=>r.setSelectd(s===e)),this.isReport&&((t=this._itemViews[e])===null||t===void 0?void 0:t.item)instanceof so&&((i=this.onSelect)===null||i===void 0||i.call(this,this._itemViews[e].item)))}itemOf(e){var t;return(t=this._itemViews.find(i=>i.containsDom(e)))===null||t===void 0?void 0:t.item}_doInitStyles(e){Object.assign(e.style,{position:"absolute",display:"flex",flexDirection:"column",width:"100%",height:"100%"})}_addEventListeners(e){e.onpointerdown=this._pointerDownHandler.bind(this),e.ondblclick=this._dblClickHandler.bind(this),e.ondragstart=this._dragStartHandler.bind(this)}$_layoutItems(e){const t=this.doc,i=this._bodyView,r=this._itemViews,s=this._listMode,n=this._selected;for(;r.length<e.length;){const o=new RTe(t);i.addChild(o),r.push(o)}for(;r.length>e.length;)r.pop().remove();e.forEach((o,l)=>{r[l].render(o,s,l===n)})}$_getAssetItems(e){return e instanceof jh?e.items||[]:e instanceof t_?e.assets||[]:[]}$_prepareDragImage(e){return this._dragImage||(this._dragImage=document.createElement("div"),this._dragImage.style.position="fixed",this._dragImage.style.left="100000px",this._dragImage.style.top="100000px",this._dragImage.className="rrd-asset-drag-image",this.container.addFeedback(this._dragImage)),this._dragImage.textContent=e,this._dragImage}_pointerDownHandler(e){for(let t=0;t<this._itemViews.length;t++)if(this._itemViews[t].containsDom(e.target)){this.setSelected(t);break}}_dblClickHandler(e){var t;if(this._selected>=0){const i=this.selectedItem;(t=this.onDblClick)===null||t===void 0||t.call(this,i)}}_dragStartHandler(e){const t=e.target;if(t instanceof HTMLElement&&(t.classList.contains("rrd-asset-item")||t.classList.contains("rrd-asset-list-item"))){const i=this._panel.selected.path,r=t.dataset.name;if((i.includes("Stock")||i.includes("Server"))&&this.group instanceof t_){const s=this.group.assets[this.selected];s&&e.dataTransfer.setData(uC(JSON.stringify({type:tc.NEW_ASSET,data:{name:r,image:s.data}})),"")}else e.dataTransfer.setData(uC(JSON.stringify({type:tc.ASSET,name:r})),"");e.dataTransfer.setDragImage(this.$_prepareDragImage(r),0,16);return}X.stopEvent(e)}}class hu extends To{constructor(e){super(),this.$_setSource(e)}_doDispose(){this._source=null,super._doDispose()}get source(){return this._source}set source(e){e!==this._source&&this.$_setSource(e)}get root(){return this._root}findByName(e){return this._root.findByName(e)}findByTag(e){return this._root.findByTag(e)}addItem(e,t,i=-1){if(t){const r=new m2(t),s=(e||this._root).add(r,i);if(s>=0)return this._fireItemAdded(r,s),r}}removeItem(e){if(e&&e.tree){const t=e.parent;t.remove(e)&&this._fireItemRemoved(e,t)}}canExapnd(e){return this._fireItemExpanding(e)!==!1}$_setSource(e){this._source=e,this.$_build(e),this._fireSourceChanged()}$_build(e){this._root=new Bz(this,this._source=e),this._root.tag=e&&e.tag}_fireSourceChanged(){this.fireEvent(hu.SOURCE_CHANGED)}_fireItemAdded(e,t){this.fireEvent(hu.ITEM_ADDED,e,t)}_fireItemRemoved(e,t){this.fireEvent(hu.ITEM_REMOVED,e,t)}_fireItemExpanding(e){return this.fireConfirmEvent(hu.ITEM_EXPADNING,e)}}hu.SOURCE_CHANGED="onTreeRootChanged";hu.ITEM_ADDED="onTreeItemAdded";hu.ITEM_REMOVED="onTreeItemRemoved";hu.ITEM_EXPADNING="onTreeItemExpanding";class m2 extends Ai{constructor(e){super(),this._editable=!0,this._expandable=!0,(this._source=e)&&this.$_load(e)}get tree(){return this._parent&&this._parent.tree}get parent(){return this._parent}get count(){return this._children?this._children.length:0}get source(){return this._source}get name(){return this._name}set name(e){e!==this._name&&(this._name=e)}get editable(){return this._editable}get path(){return this._parent.path+"/"+this._name}get displayText(){return this._label?this._label:this._name}get canExpandable(){return this._expandable}get expandable(){return this._expandable&&(this.count>0||this._loadable)}set expandable(e){this._expandable=e}get loadable(){return this._loadable}get iconType(){return this._iconType}get(e){return this._children[e]}findByName(e){if(e===this.name)return this;if(this._children)for(let t of this._children){const i=t.findByName(e);if(i)return i}}findByTag(e){if(e===this.tag)return this;if(this._children)for(let t of this._children){const i=t.findByTag(e);if(i)return i}}add(e,t){return e&&!e.parent?this._addItem(e,t):-1}remove(e){if(e&&e.parent===this)return this._removeItem(e),!0}setLoadable(e){this._loadable=e}$_load(e){var t,i,r;this._name=e.name,this._editable=e.editable!==!1,this._loadable=e.loadable===!0,this._expandable=(t=e.expandable)!==null&&t!==void 0?t:!0,this._label=(i=e.label)!==null&&i!==void 0?i:"",this._iconType=(r=e.iconType)!==null&&r!==void 0?r:null,this.tag=e.tag,this._clear();const s=e.children;if(s&&s.length>0)for(let n of s)this._addItem(new m2(n),-1)}_clear(){if(this._children){for(let e of this._children)e._parent=null;this._children=null}}_addItem(e,t){const i=this._children=this._children||[];return t<0&&(t=i.length),i.splice(t,0,e),e._parent=this,t}_removeItem(e){if(e&&this._children){const t=this._children.indexOf(e);t>=0&&(this._children.splice(t,1),e._parent=null)}}}class Bz extends m2{constructor(e,t){super(t),this._model=e}get tree(){return this._model}get parent(){return null}get path(){return"/"}}class Pz extends $r{constructor(e,t){super(e,t)}_doDispose(){super._doDispose()}get measuredWidth(){return this._measuredWidth}get measuredHeight(){return this._measuredHeight}measure(e,t){const i=this._doMeasure(e,t);return this._measuredWidth=i.width,this._measuredHeight=i.height,i}layoutContent(){this._doLayoutContent()}_getCssSelector(){}_doDraw(e){}_doMeasure(e,t){return new ft(e,t)}_doLayoutContent(){}}class Ol extends Pz{constructor(e,t){super(e,"TreeRowView"),this._expanded=!1,this._childRows=[],this._vindex=-1,this._focused=!1,this._selected=!1,this._model=t}_doDispose(){super._doDispose()}get model(){return this._model}set model(e){e!==this._model&&(this._model=e)}get parentRow(){return this._parentRow}get level(){return this._parentRow?this._parentRow.level+1:1}get rows(){return this._childRows&&this._childRows.slice()}get rowCount(){return this._childRows?this._childRows.length:0}get expanded(){return this._expanded}set expanded(e){e!==this._expanded&&(this._expanded=e)}get vindex(){return this._vindex}get indents(){return this._spanText.getBoundingClientRect().left-this.getBoundingRect().left}get treeIcon(){return this._spanIcon}get treeLabel(){return this._spanText}get expander(){return this._spanExpander}get focused(){return this._focused}get selected(){return this._selected}getRow(e){return this._childRows[e]}addRow(e,t){this._childRows||(this._childRows=[]),this._childRows.splice(t,0,e),e._parentRow=this}removeRow(e){if(e&&this._childRows){const t=this._childRows.indexOf(e);t>=0&&(this._childRows.splice(t,1),e.clearRow())}}clearRow(){if(this._childRows){for(let e of this._childRows)e.clearRow();this._childRows=null}this._parentRow=null,this.visible=!1}setFocused(e){e!==this._focused&&(this._focused=e,this.invalidate())}setSelected(e){e!==this._selected&&(this._selected=e,this.invalidate())}clearText(){this._spanText.style.visibility="hidden"}showText(){this._spanText.style.visibility=""}_getCssSelector(){let e="rr-tree-row";return this._focused?e+=" rr-tree-row-focus":this._selected&&(e+=" rr-tree-row-select"),e}_getCssDisplay(){return"flex"}_isEmptySize(){return!0}_initDom(e,t){super._initDom(e,t),t.appendChild(this._spanIndent=e.createElement("span")),X.setStyles(this._spanIndent,{flexGrow:0,flexShrink:0}),t.appendChild(this._spanExpander=e.createElement("span")),X.setStyles(this._spanExpander,{flexGrow:0,flexShrink:0}),this._spanExpander.className="rr-tree-expander",t.appendChild(this._spanIcon=e.createElement("span")),X.setStyles(this._spanIcon,{display:"flex",alignItems:"center",paddingRight:"5px"}),this._spanIcon.className="rr-tree-icon",t.appendChild(this._spanText=e.createElement("span")),X.setStyles(this._spanText,{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),this._spanText.className="rr-tree-label"}_doDraw(e){}_doMeasure(e,t){const i=this.model,{type:r,value:s}=i.source;return X.setData(this.dom,"type",r??""),X.setData(this.dom,"value",s??""),this._spanIndent.style.minWidth=Ol.INDENT_SIZE*this.level+"px",X.setData(this._spanExpander,"expanded",this.expanded&&i.count>0),this._spanExpander[jC]=this.vindex,this._spanText.textContent=i.displayText,this._spanText.title=i.displayText,new ft(e,Ol.ROW_HEIGHT)}_doLayoutContent(){this.model.expandable?this.expander.dataset.expanded==="true"?this.expander.replaceChildren(Xt.createIconSvg(this.doc,xe.common.collapse,15)):this.expander.replaceChildren(Xt.createIconSvg(this.doc,xe.common.expand,15)):this.expander.replaceChildren(),this.$_setTreeItemIcon()}$_setTreeItemIcon(){const e=this.model.iconType;let t;switch(e){case"group":t=Xt.createIconSvg(this.doc,xe.common.folder,Ol.ICON_SIZE);break;case"report":t=Xt.createIconSvg(this.doc,xe.common.folderReport,Ol.ICON_SIZE);break;case"sheet":t=Xt.createIconSvg(this.doc,xe.common.sheet,Ol.ICON_SIZE);break;case"reportFolder":t=Xt.createIconSvg(this.doc,xe.common.folderRealReport,Ol.ICON_SIZE);break;case"favorite":t=Xt.createIconSvg(this.doc,xe.common.folderFavorite,Ol.ICON_SIZE);break;case"asset":t=Xt.createIconSvg(this.doc,xe.common.folderImage,Ol.ICON_SIZE,24);break;case"simpleData":t=Xt.createIconSvg(this.doc,xe.dataPanel.dataSimple,Ol.ICON_SIZE,32);break;case"bandData":t=Xt.createIconSvg(this.doc,xe.dataPanel.dataBand,Ol.ICON_SIZE,32);break;case"language":t=Xt.createIconSvg(this.doc,xe.common.language,Ol.ICON_SIZE,24);break}e?(this.treeIcon.style.display="flex",this.treeIcon.replaceChildren(t)):this.treeIcon.style.display="none"}}Ol.INDENT_SIZE=8;Ol.ROW_HEIGHT=22;Ol.ICON_SIZE=14;class OTe extends Pz{constructor(e){super(e.doc,"treeBodyView"),this._visibleRows=[],this._rows=[],this._rowPool=[],this._rowPoints=[0],this._viewer=e}_doDispose(){super._doDispose()}get visibleRowCount(){return this._visibleRows.length}get rowCount(){return this._rows.length}get focusedRow(){return this._focusedRow}get contentHeight(){return this._rowPoints[this._rowPoints.length-1]}get contentWidth(){return this.width}getVisible(e){return this._visibleRows[e]}getVisibleItems(e=0,t=-1){const i=this._visibleRows;if(e=Math.max(0,e),t<0?t=i.length=1:t=Math.min(t,i.length-1),t<e){const s=e;e=t,t=s}const r=[];for(let s=e;s<=t;s++)r.push(i[s].model);return r}findVisibleRow(e){return this.$_findRow(this._visibleRows,e)}findRow(e){return this.$_findRow(this._rows,e)}loadRows(e){if(this.clear(),!e)return;const t=this._root=this.$_borrowRow(e.root);this._rows.push(t),this._visibleRows.push(t),this.addChild(t),this.$_loadRows(t),this._viewer.rootVisible||this.expand(t)}addRow(e,t){let i=this.findRow(e.parent);if(i){const r=this.$_borrowRow(e);if(i.addRow(r,t),i=this.findVisibleRow(i.model),i&&i.expanded&&(this.collapse(i),this.expand(i)),this.addChild(r),this._rows.push(r),e instanceof m2)for(let s=0;s<e.count;s++)this.addRow(e.get(s),s);this.invalidateLayout()}}addRows(e,t){let i=this.findRow(e);if(i){const r=[];let s=e.count-t;for(let n=0;n<t;n++){const o=this.$_borrowRow(e.get(s+n));i.addRow(o,s+n),r.push(o)}i=this.findVisibleRow(e),i.expanded&&(this.collapse(i),this.expand(i));for(let n=0;n<t;n++)this.addChild(r[n]),this._rows.push(r[n]);this.invalidateLayout()}}removeRow(e){const t=this.findRow(e);if(!t)return;const i=t.parentRow,r=i.expanded;this._visibleRows;const n=this._rows.indexOf(t);r&&this.collapse(i),n>=0&&this.$_removeRow(t),r&&this.expand(i),this.invalidateLayout()}removeRows(e){for(let t of e)this.removeRow(t)}expand(e,t=!1){if(e=e||this._root,!!e&&!e.expanded){const i=this._visibleRows,r=i.indexOf(e)+1;st(r>0);const s=[];let n=0;e.expanded=!0,this.$_collectVisibleRows(e,s,t);for(let o of s)i.splice(r+n,0,s[n]),n++;return this.invalidateLayout(),!0}}expandAll(e){this.collapseAll(e),this.expand(e,!0)}collapse(e,t=!1){if(e=e||this._root,!!e&&e.expanded){const i=this.$_hideRows(e,t),r=this._visibleRows.indexOf(e)+1;return this._visibleRows.splice(r,i),e.expanded=!1,this.invalidateLayout(),!0}}collapseAll(e){this.collapse(e,!0)}isVisible(e){for(let t of this._visibleRows)if(t.model===e)return!0;return!1}makeVisible(e){const t=this.findRow(e);if(t.vindex>=0)return;let i=t.parentRow;for(;i;){if(i.expanded=!0,i.vindex>=0){this.collapse(i),this.expand(i,!0);break}i=i.parentRow}}isExpander(e){return e.classList.contains("rr-tree-expander")}rowByExpander(e){return this.getVisible(e[jC])}rowOf(e){let t=e;for(;t;){if(t.classList.contains("rr-tree-row")){for(let i of this._visibleRows)if(i.isDom(t))return i}t=t.parentElement}}getNextVisible(e){const t=this._visibleRows;if(e){const i=e.vindex;return i<t.length-1?t[i+1]:e}else return t.length>0?t[0]:null}getPrevVisible(e){const t=this._visibleRows;if(e){const i=e.vindex;return i>0?t[i-1]:e}else return t.length>0?t[0]:null}getNextPageVisible(e){if(!e)return this.getNextVisible(e);const t=this._visibleRows,i=this._rowPoints;let r=this.getBoundingRect().height,s=t.length,n=e.vindex;for(;n<s&&(r-=i[n+1]-i[n],!(r<=0));)n++;return t[Math.min(s-1,n)]}getPrevPageVisible(e){if(!e)return this.getPrevVisible(e);const t=this._visibleRows,i=this._rowPoints;let r=this.getBoundingRect().height;t.length;let s=e.vindex;for(;s>=0&&(r-=i[s+1]-i[s],!(r<=0));)s--;return t[Math.max(0,s)]}get isLayer(){return!0}_getCssSelector(){return"rr-tree-body"}_setSizeStyle(e){}_initDom(e,t){super._initDom(e,t);const i=t.style;i.width="100%",i.height="100%",i.overflow="hidden auto"}clear(){if(super.clear()){for(let e of this._rows)this.$_returnRow(e,!0);return this._rows=[],this._visibleRows=[],!0}}findChildAt(e,t,i,r){return t+=this._dom.scrollTop,super.findChildAt(e,t,i,r)}_doMeasure(e,t){const i=this._viewer;var r=this._rowPoints=[0];this._focusedRow=null;for(let s of this._rows)s.visible=!1,s._vindex=-1,s.setFocused(!1);!i.rootVisible&&this._visibleRows[0]&&this._visibleRows[0].model instanceof Bz&&this._visibleRows.splice(0,1);for(let s=0;s<this._visibleRows.length;s++){const n=this._visibleRows[s],o=n.model;n.visible=!0,n._vindex=s,!this._focusedRow&&i.isFocused(o)&&(n.setFocused(!0),this._focusedRow=n),n.setSelected(i.isSelected(o)),n.measure(e,t),r.push(r[s]+n.measuredHeight)}return new ft(e,r[r.length-1])}scrollToFocused(e,t){const i=this._focusedRow;if(i){const r=this._rowPoints,s=i.vindex;r[s]<e?e=r[s]+(s>0?(r[s-1]-r[s])/2:0):r[s+1]-e>=t&&(e=r[s+1]-t+(s<r.length-1?(r[s+1]-r[s])/2:0))}return e}_doLayoutContent(){const e=this._viewer.itemDraggable,t=this._rowPoints;this.width;let i=0,r=0;for(let s=0;s<this._visibleRows.length;s++){const n=this._visibleRows[s];n.move(r,t[s]-i),n.layoutContent(),e?n.dom.draggable=!0:delete n.dom.draggable}}$_borrowRow(e){if(this._rowPool.length>0){const t=this._rowPool.pop();return t.model=e,t.expanded=!1,t.invalidate(),t}return new Ol(this.doc,e)}$_returnRow(e,t=!1){e&&(t||this._rowPool.indexOf(e)<0)&&(e.clearRow(),this._rowPool.push(e))}$_loadRows(e){const t=e.model,i=t.count;if(i>0)for(let r=0;r<i;r++){const s=t.get(r),n=this.$_borrowRow(s);this._rows.push(n),this.addChild(n),e.addRow(n,r),this.$_loadRows(n)}}$_findRow(e,t){if(e)for(let i of e){if(i.model===t)return i;const r=this.$_findRow(i._children,t);if(r)return r}}$_collectVisibleRows(e,t,i){for(let r=0;r<e.rowCount;r++){const s=e.getRow(r);t.push(s),(s.expanded||i)&&(s.expanded=!0,this.$_collectVisibleRows(s,t,i))}}$_hideRows(e,t){let i=0;i+=e.rowCount;for(let r=0;r<e.rowCount;r++){const s=e.getRow(r);(s.expanded||t)&&(i+=this.$_hideRows(s,t))}return i}$_removeRow(e){const t=this._rows.indexOf(e);if(t>=0){for(let i=0;t<e.rowCount;i++)this.$_removeRow(e.getRow(i));e.parentRow.removeRow(e),this.removeChild(e),this._rows.splice(t,1),this.$_returnRow(e)}}}class MTe extends bd{constructor(e){super(e,"TreeSelectionTool"),this._viewer=e}_doDispose(){this._viewer=null,super._doDispose()}get viewer(){return this._viewer}_doMouseDown(e){const t=this.mouseEventTarget,i=this._viewer,r=i.bodyView,s=this._clickedRow=r.rowOf(t);return s&&r.isExpander(t)&&(s.expanded?i.collapse(s):i.expand(s)),!0}_doMouseMove(e){}_doMouseUp(e){}_doClick(e,t,i){const r=e.ctrlKey||e.metaKey,s=e.shiftKey,n=this.mouseEventTarget,o=this._viewer,h=o.bodyView.rowOf(n);if(h&&h===this._clickedRow){const c=h.model;if(r)o.toggleSelect(c),o.focusedItem||(o.focusedItem=c);else if(s){const d=o.lastSelectedItem;if(d){const u=o.bodyView.findVisibleRow(d),A=o.bodyView.getVisibleItems(u.vindex,h.vindex);o.selectAll(A)}else o.select(c);o.focusedItem||(o.focusedItem=c)}else o.clearSelection(c),o.focusedItem=c;o.focusedItem||(o.focusedItem=c)}}_doDblClick(e){const t=this._viewer,i=t.bodyView,r=this.mouseEventTarget,s=i.rowOf(r);s&&s===this._clickedRow&&(s.model.expandable?s.expanded?t.collapse(s):t.expand(s):t._fireDoubleClicked(s.model))}_doMouseWheel(e){const t=this._viewer;if(e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY))return!0;{const r=t.topPos;return t.topPos=r+e.deltaY,!0}}_doMouseEnter(e){}_doMouseLeave(e){}_doMouseOver(e){}_doContextMenu(e){return!1}_doKeyDown(e){const t=e.keyCode;e.ctrlKey;const i=ee.isMac;i&&e.metaKey||!i&&e.ctrlKey,e.shiftKey,e.altKey;const r=this._viewer,s=r.bodyView,n=s.focusedRow,o=r.focusedItem,l=r.editing;switch(t){case 13:if(l)return r.hideEdit(!0,!0),!0;if(r.showEdit())return!0;break;case 27:if(r.hideEdit(!1,!0))return!0;break;case 40:!l&&r.setFocusedRow(s.getNextVisible(n));break;case 38:!l&&r.setFocusedRow(s.getPrevVisible(n));break;case 34:!l&&r.setFocusedRow(s.getNextPageVisible(n));break;case 33:!l&&r.setFocusedRow(s.getPrevPageVisible(n));break;case 36:!l&&r.setFocusedRow(s.getVisible(0));break;case 35:!l&&r.setFocusedRow(s.getVisible(s.visibleRowCount-1));break;case 37:!l&&n&&(n.expanded?s.collapse(n):n.parent&&s.isVisible(o.parent)&&(r.focusedItem=o.parent));break;case 39:!l&&n&&(n.expanded?o.count>0&&(r.focusedItem=o.get(0)):s.expand(n));break}return super._doKeyDown(e)}_doKeyPress(e){return!1}_doKeyUp(e){return!1}$_findRowView(e){e.parentElement}}let NTe=class{constructor(){this._items=[]}get items(){return this._items.length>0?this._items.slice():null}get last(){return this._items.length>0?this._items[this._items.length-1]:null}contains(e){return e&&this._items.indexOf(e)>=0}clear(){if(this._items.length>0)return this._items=[],!0}add(e){if(e&&this._items.indexOf(e)<0)return this._items.push(e),!0}addAll(e){if(e&&e.length>0){let t=!1;for(let i of e)this._items.indexOf(i)<0&&(this._items.push(i),t=!0);return t}}remove(e){if(e){const t=this._items.indexOf(e);if(t>=0)return this._items.splice(t,1),!0}}};class kTe extends $r{show(e){if(!this.visible){this.visible=!0;const t=this._selectionCallback,i=e.getBoundingRect(),r=i.top-this.getBoundingRect().top;let s=this._row.style;if(s.top=r+"px",s.height=i.height+"px",s=this._input.style,s.marginLeft=e.indents+"px",s.marginRight="1px",e.clearText(),this._input.value=e.model.displayText,this._input.focus(),t){const n=t(e.model,this._input.value);n?this._input.setSelectionRange(n.start,n.end):this._input.select()}else this._input.select()}}hide(){this._input.blur(),this.visible=!1}layout(e){const i=e.getBoundingRect().top-this.getBoundingRect().top;let r=this._row.style;r.top=i+"px"}_getCssSelector(){return"rr-tree-edit-mask"}_initDom(e,t){super._initDom(e,t),t.appendChild(this._row=e.createElement("div"));let i=this._row.style;i.position="absolute",i.left="0",i.width="100%",i.display="flex",i.background="rgba(255, 255, 255, 0.1)",this._row.appendChild(this._input=e.createElement("input")),this._input.className="rr-tree-root rr-tree-edit",this._input.type="text",this._input.spellcheck=!1,this._input.onblur=()=>{this.container.$_editorBlur(this._input.textContent)},i=this._input.style,i.boxSizing="border-box",i.flex="1 1 0",i.background="transparent",i.color="white",i.outline="none",i.height="100%",i.width="100%",i.padding="0",i.border="1px solid #0088ff",i.pointerEvents="auto"}_setSizeStyle(e){}_doDraw(e){}}class cu extends sr{constructor(e){super(e),this._rootVisible=!0,this._itemDraggable=!1,this._selections=new NTe,this._focusRequested=!1,this._editHiding=!1,this.addElement(this._bodyView=new OTe(this)),this.addElement(this._editMask=new kTe(this.doc)),this._editMask.visible=!1}_doDispose(){super._doDispose()}onTreeSourceChanged(e){this._bodyView.loadRows(this.model),this.invalidateLayout(),this._fireModelChanged()}onTreeItemAdded(e,t,i){this._bodyView.addRow(t,i),this.invalidateLayout(),this._fireModelChanged()}onTreeItemRemoved(e,t){this._bodyView.removeRow(t),t===this.focusedItem&&(this.focusedItem=null),this.invalidateLayout(),this._fireModelChanged()}get model(){return this._model}set model(e){e!==this._model&&(this._model&&this._model.removeListener(this),this._model=e,this._bodyView.loadRows(e),this.invalidateLayout(),this._model&&this._model.addListener(this))}get rootVisible(){return this._rootVisible}set rootVisible(e){e!==this._rootVisible&&(this._rootVisible=e,this._bodyView.loadRows(this._model),this.invalidateLayout())}get itemDraggable(){return this._itemDraggable}set itemDraggable(e){e!==this._itemDraggable&&(this._itemDraggable=e,this.invalidateLayout())}get bodyView(){return this._bodyView}get topPos(){return this._bodyView.scrollTop}set topPos(e){e=Math.max(0,Math.min(this._bodyView.contentHeight-this.getBound().height,e)),e!==this.topPos&&this._bodyView.scrollDom(this.leftPos,e)}get leftPos(){return this._bodyView.scrollLeft}set leftPos(e){e=Math.max(0,Math.min(this._bodyView.contentWidth-this.getBound().width,e)),e!==this.leftPos&&this._bodyView.scrollDom(e,this.topPos)}get focusedItem(){return this._focusedItem}set focusedItem(e){if(e!==this._focusedItem){const t=this._focusedItem;this._focusedItem=e,e&&this.makeVisible(e),this.invalidateLayout(),this.clearSelection(),this._focusRequested=!0,this._fireFocusedChanged(e,t)}}get selection(){return this._selections.items}get lastSelectedItem(){return this._selections.last}get editing(){return this._editMask.visible}expand(e){if(!(e&&!e.model.expandable)&&this.model.canExapnd(e.model)&&this._bodyView.expand(e)){const t=e?e.model:this._model.root;this._fireExpanded(t,!0)}}expandAll(e){e&&!e.model.expandable||this._bodyView.expandAll(e)}collapse(e){if(!(e&&!e.model.expandable)&&this._bodyView.collapse(e)){const t=e?e.model:this._model.root;this._fireExpanded(t,!1)}}collapseAll(e){e&&!e.model.expandable||this._bodyView.collapseAll(e)}clearSelection(e){const t=this._selections.clear();(e&&this._selections.add(e)||t)&&this.invalidateLayout()}select(e){this._selections.add(e)&&this.invalidateLayout()}toggleSelect(e){this._selections.contains(e)?this._selections.remove(e):this._selections.add(e),this.invalidateLayout()}selectAll(e){e||(e=this._bodyView.getVisibleItems()),e&&this._selections.addAll(e)&&this.invalidateLayout()}unselect(e){this._selections.remove(e)&&this.invalidateLayout()}setFocusedRow(e){this.focusedItem=e&&e.model}isFocused(e){return this._focusedItem===e}isSelected(e){return this._selections.contains(e)}itemOfDom(e){const t=this._bodyView.rowOf(e);return t&&t.model}showEdit(){if(!this._editMask.visible){const e=this._bodyView.focusedRow;if(e&&e.model.editable)return this._editMask.show(e),!0}}hideEdit(e,t){if(!this._editHiding&&this._editMask.visible){this._editHiding=!0;try{const i=this._bodyView.focusedRow,r=this._editMask._input.value;return this._editMask.hide(),t&&this.setFocus(),e&&this.$_acceptEdit(r),i.showText(),this.invalidateLayout(),!0}finally{this._editHiding=!1}}}makeVisible(e){e&&this._bodyView.makeVisible(e)}_createDefaultTool(){return new MTe(this)}_doPrepareContainer(e,t){t.className="rr-tree-root rr-tree",t.style.outline="none"}_doLayout(e){const t=this.topPos;this._bodyView.measure(e.width,e.height),this._bodyView.setBounds(0,0,e.width,e.height),this._bodyView.layoutContent(),this._focusRequested?(this._focusRequested=!1,this.topPos=this._bodyView.scrollToFocused(t,e.height)):this.topPos=t}setFocus(){this.editing?this._editMask._input.focus():super.setFocus()}$_acceptEdit(e){const t=this.onEdit;t&&t(this.focusedItem,e)}$_editorBlur(e){this.hideEdit(!0,!0)}_fireFocusedChanged(e,t){this.fireEvent(cu.FOCUSED_CHANGED,e,t)}_fireExpanded(e,t){this.fireEvent(cu.EXPANDED,e,t)}_fireDoubleClicked(e){this.fireEvent(cu.DOUBLE_CLICKED,e)}_fireModelChanged(){this.fireEvent(cu.Model_CHANGED)}}cu.FOCUSED_CHANGED="onTreeFocusedChanged";cu.EXPANDED="onTreeExpanded";cu.DOUBLE_CLICKED="onTreeDoubleClicked";cu.Model_CHANGED="onTreeModelChanged";const FTe=new t_({name:"favorites"});class VTe extends dy{}const tH="server-asset-root",Rz="server-asset-group";class qT extends cu{get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this.$_buildTree(this._ctx))}initTree(e){this.$_buildTree(this._ctx=e)}refreshAssetTemplate(e){this.$_buildTree(e)}$_getTree(e,t){const{assetTemplateManager:i,server:r}=e,s={...t.getTree("Report"),type:"report-asset-root"};let n;const o={name:"Assets",editable:!1,children:[n={name:"Stock",editable:!1,tag:"stock",type:"asset-root",iconType:"group",children:[{name:"Favorites",editable:!1,expandable:!1,tag:FTe,type:"asset-favorites",iconType:"favorite"}]}]};if(i){const l=i.getAll();for(let h of l)n.children.push({name:h.title,editable:!1,expandable:!1,tag:h,type:"asset-group",iconType:"group"})}if(r){const l={name:"Server",editable:!1,loadable:!0,tag:"server",type:tH,iconType:"group"};o.children.push(l)}return o.children.push(s),o}$_buildTree(e){const t=this._report&&this._report.assets;let i=t?this.$_getTree(e,t):qT.EMPTY_TREE;this.model=new hu(i),this.expandAll(),this.collapse(this.bodyView.findRow(this.model.findByTag("stock"))),e.server&&this.collapse(this.bodyView.findRow(this.model.findByTag("server"))),this.invalidateLayout(),this.model.addListener(this)}onTreeItemExpanding(e,t){return t.source.type===tH&&t.loadable&&this._ctx.server?(this._ctx.server.getAssetCategories().then(r=>{t.setLoadable(!1),r.forEach(s=>e.addItem(t,{name:s.category,type:Rz,editable:!1,loadable:!0,expandable:!1,iconType:"group",tag:new t_({name:s,title:s,description:s,items:[],assets:[]})})),this.expand(this.bodyView.findRow(t)),this.invalidateLayout()}),!1):(this.bodyView.findRow(t)._childRows.forEach(r=>{r.dom.children[1].children.length>0&&r.dom.children[1].children[0].remove()}),!0)}}qT.EMPTY_TREE={name:"Assets",editable:!1,children:[{name:"Stock",editable:!1,iconType:"group"},{name:"Report",editable:!1,iconType:"reportFolder"}]};class HTe extends uy{getItemMenus(e){return this._itemMenus.forEach(t=>t.tag=e),this._itemMenus}constructor(e,t){super(e,"rrd-assetpanel",t),this._itemMenus=[{type:"text",label:"Delete",icon:xe.delete,visible:(i,r)=>{const s=r.tag;return this.canDelete(s)},onClick:(i,r)=>{const s=r.tag;this.report.removeAsset(s)}},{type:"text",label:"Use",icon:xe.use,visible:(i,r)=>{const s=r.tag;return this.canUse(s)},onClick:(i,r)=>{const s=r.tag;this.report.addAsset(null,s)}}],this._menus=[{type:"check",label:"List View",icon:xe.addSingle,checked:()=>this._contentView.listMode,onClick:(i,r)=>{this._contentView.listMode=!this._contentView.listMode}},{type:"seperator"},{type:"text",label:"Undelete",icon:xe.undo,visible:(i,r)=>this.isReportGroup&&this.report.peekCommand()instanceof JO,onClick:(i,r)=>{this.report.undo()}},{type:"seperator",visible:()=>this.isReportGroup&&this.report.peekCommand()instanceof JO},{type:"text",label:"Add Image",icon:xe.addSingle,visible:()=>this.isReportGroup,onClick:(i,r)=>{vP.newImage.run(this.model.ctx)}},{type:"text",label:"Add Svg",icon:xe.addSingle,visible:()=>this.isReportGroup,onClick:()=>{vP.newSvg.run(this.model.ctx)}}],this.contentVisible=!1}get report(){return this._report}set report(e){e!==this._report&&(this._report&&this._report.removeListener(this),this._report=e,this._report&&this._report.addListener(this),this._treeView.report=e,this._contentView.report=e)}get selected(){return this._selected}get contentView(){return this._contentView}get treeView(){return this._treeView}get isReportGroup(){return!(this._contentView.group instanceof t_)}refreshAssetTemplate(e){this._treeView.refreshAssetTemplate(e)}setSelectedTreeItem(e){const t=this._treeView.bodyView.findRow(this._treeView.model.findByName(e));this._treeView.focusedItem=t.model}canDelete(e){return this.isReportGroup}canUse(e){return!this.isReportGroup}resetSize(e){super.resetSize(e),this._treeView.resetSize()}_doPrepareContent(e,t){X.setStyles(t,{display:"flex"}),t.appendChild(this._treeDiv=X.createDiv(e,"",{minWidth:Et(100),width:"200px"}));const i=new Vb(e,this._treeDiv,"left");i.onResize=(r,s)=>{this._treeView.invalidateLayout()},this._treeView=new qT(i.contentDiv),this.addElement(this._contentLayer=new Ii(e)),this._contentLayer.setStyles({flex:"1 1 auto"}),this._contentLayer.addChild(this._contentView=new DTe(e,this))}_doBuildModel(e,t){this._treeView.initTree(t.ctx),this._treeView.addListener(this)}_doRefreshButtons(e){}_doLayout(e){this._contentView.onSelect=this.onAssetSelected,this._contentView.render()}getMenu(e){const t=this._contentView.itemOf(e);if(t)return this.getItemMenus(t);if(!this._contentView.headerView.containsDom(e))return this._menus}onTreeFocusedChanged(e,t,i){(this._selected=t)&&(t.source.type===Rz&&t.loadable&&this.model.ctx.server?(t.setLoadable(!1),this.model.ctx.server.getAssets(t.source.name).then(r=>{const s=t.tag;r.assets.forEach(n=>{let o;switch(n.type){case"snippet":o=new Ux(n.name,n.content);break;default:o=new Xl(n.name,n.content);break}s.assets.push(o)}),this.invalidateLayout()})):t.tag instanceof t_,this._contentView.group=t.tag,this.invalidateLayout())}onTreeModelChanged(e){}}class w2{constructor(e,t,i=w2.MAXIMUM_WIDTH){this._colResizeCtx=null,this._dom=e,this._onIsColumnResizer=t,this._maximumWidth=i}initListeners(){this.$_preparePointerEvent()}isColumnResizer(e){return e instanceof HTMLElement&&this._onIsColumnResizer(e)}$_preparePointerEvent(){this._dom.addEventListener("pointerdown",t=>{const i=t.target;this.isColumnResizer(i)&&this.$_onColumnResizerPointerDown(t,i)});let e=null;document.addEventListener("pointermove",t=>{e&&Date.now()-e<30||(e=Date.now(),this._colResizeCtx&&this.$_onColumnResizerPointerMove(t))}),document.addEventListener("pointerup",()=>{this._colResizeCtx&&this.$_clearColResize()}),document.addEventListener("pointerleave",()=>{this.$_clearColResize()})}$_onColumnResizerPointerDown(e,t){const i=t.parentElement.parentElement;i instanceof HTMLTableCellElement&&(this._dom.style.cursor="ew-resize",this._colResizeCtx={pointerDownEvent:e,columnHeaderCellDom:i})}$_onColumnResizerPointerMove(e){const{x:t}=e,{x:i}=this._colResizeCtx.columnHeaderCellDom.getBoundingClientRect(),r=t-i;r<0||this._maximumWidth<r||(this._colResizeCtx.columnHeaderCellDom.style.minWidth=`${r.toFixed(2)}px`)}$_clearColResize(){this._colResizeCtx=null,this._dom.style.cursor="unset"}}w2.MAXIMUM_WIDTH=500;class Tz extends Ii{constructor(){super(...arguments),this._changed=!0}get data(){return this._data}set data(e){e!==this._data&&(this._data=e,this._doDataChanged(),this._doChanged())}render(e){this._changed&&(this._changed=!1,this._doRender(e||this._data))}changed(){this._doChanged()}_doChanged(){this._changed||(this._changed=!0,this.invalidateLayout())}_getCssDisplay(){return"flex"}_doInitStyles(e){X.setStyles(e,{position:"absolute",display:"flex",flexDirection:"column",width:"100%",height:"100%"})}_doDataChanged(){}}class Lz extends Tz{_focus(e){e instanceof HTMLElement?e.focus():e.target instanceof HTMLElement&&e.target.focus()}_blur(e){e instanceof HTMLElement?e.blur():e.target instanceof HTMLElement&&e.target.blur()}_getTableCell(e){if(e instanceof Element){let t=e;do{if(t instanceof HTMLTableCellElement)return t;t=t.parentElement}while(t)}}_row(e){return e.parentElement.rowIndex-1}_downCell(e,t,i=!0){if(this._row(e)<t-1){const s=e.parentElement,o=s.parentElement.rows[s.rowIndex].cells[e.cellIndex].firstElementChild;if(o)return i&&o.focus(),o}}_upCell(e,t=!0){if(this._row(e)>0){const r=e.parentElement,n=r.parentElement.rows[r.rowIndex-2].cells[e.cellIndex].firstElementChild;if(n)return t&&n.focus(),n}}}const UTe={text:"",number:0,bool:!0,datetime:new Date},kv=1,sO=2,CI=3,nO=4,QTe=5,iH=6,oO=7,rH=8,aO=8,GTe=["no","fieldName","label","dataType","source","calced","format","sample","description"];class $Te extends un{constructor(e,t){super(e,"rrd-band-data-sample-header")}_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center"})}_getCssDisplay(){return"flex"}}class oS extends Lz{constructor(e,t){super(e,"rrd-band-field-table"),this.changeCallback=t,this.selStart=-1,this.selLength=0,this._focused=-1,this._editCell={row:-1,col:-1},this._editing=!1,this._oldText="",this._tableMouseDownHandler=i=>{if(this.$_findCell(i.target)){const s=this._focused=this.$_findFieldIndex(i.target);s>=0&&this.focusRow(s,!0),ee.clearSelection()}},this._tableKeyDownHandler=i=>{const r=i.target;if(r){const s=i.shiftKey;let n=this._focused=this.$_findFieldIndex(r);const o=r.parentElement;let l=o.cellIndex,h=!1;switch(i.keyCode){case 13:if(l===kv||l===CI){const c=this.$_collectFieldValues(n).fieldName;h=!0,this._validateFieldName(c,n)?(this.$_commitEdit(l),this.$_setFocus(n,l+1)):(this.$_cancelEdit(),this.$_killFocus(n,l))}else if(!(s&&l===sO)){if(!s&&(l===sO||l===nO||l===iH||l===oO||l===rH)){let c=l+1;if(h=!0,this.$_commitEdit(l),l===nO)c++;else if(l===aO){if(n===this.fields.length-1){this.$_killFocus(n,l);return}n++,c=kv}this.$_setFocus(n,c)}}break;case 27:this.$_cancelEdit(),this.$_killFocus(n,l);break;case 40:this._downCell(o,this.fields.length);break;case 38:this._upCell(o);break}h&&X.stopEvent(i)}},this._tableFocusHandler=i=>{i.target instanceof HTMLSpanElement&&(this._oldText=i.target.innerText)},this._tableBlurHandler=i=>{if(i.target instanceof HTMLSpanElement){let s=i.target.parentElement.cellIndex;this.$_commitEdit(s),ee.clearSelection(),i.preventDefault()}},this._tableInputHandler=i=>{i.target instanceof HTMLSpanElement&&this.$_beginEdit(i.target)},this._addFieldHandler=i=>{const r=this.data.getNextFieldName(),s=UTe.text,n={fieldName:r,dataType:"text",sample:s};this.data.fieldCommands.execute(new ZO(this.data,n)),this.changeCallback(),setTimeout(()=>{const o=this.$_getSpan(this.data.fieldCount-1,kv);o==null||o.focus()},50),this._doChanged()},this._addCalcFieldHandler=i=>{const r={fieldName:this.data.getNextFieldName(),dataType:"number",expression:"123 + 456"};this.data.fieldCommands.execute(new ZO(this.data,r)),this.changeCallback(),this._doChanged(),setTimeout(()=>{const s=this.$_getSpan(this.data.fieldCount-1,kv);s==null||s.focus()})},this._removeFieldHandler=i=>{const r=i.target;if(r instanceof Element){const s=this.$_findFieldIndex(r),n=this.data.getField(s);this.data.fieldCommands.execute(new K9(this.data,n)),this._doChanged(),this.changeCallback()}else throw new Jg},this._changeDataTypeHandler=i=>{const r=i.target;if(r instanceof HTMLSelectElement){const s=this.$_findFieldIndex(r);this.$_updateField(s,CI)}else throw new Jg},this.addChild(this.$_initHeader(e,this._header=new $Te(e,"rrd-band-field-table-header"))),this.addDom(this.$_initTable(e,X.createDiv(e,"rrd-band-field-table-container",{flex:"1 1 0",overflow:"auto"}))),this.colResizer=new w2(this.dom,i=>i.classList.contains(oS.CLASS_COLUMN_RESIZE_HANDLE)),this.colResizer.initListeners()}set designerCtx(e){this._designerCtx=e}focusRow(e,t=!0){const i=this._table.rows;e>=0&&e<i.length&&(i[e].scrollIntoView({behavior:"smooth",block:"nearest"}),t&&(this.$_clearSelection(),this.$_setSelection(e)))}commandStackChanged(e,t){this._undoButton.enabled=e&&e.canUndo,this._redoButton.enabled=e&&e.canRedo}_doRender(e){this.fields=e.fields,this.$_renderHeader(),this.$_buildTable(this.doc)}$_initHeader(e,t){t.addDom(Xt.createIconSvg(e,xe.dataPanel.dataSchema,18)),t.addDom(X.createSpan(e,"rrd-band-field-table-header-title",void 0,"Data Fields")),t.addDom(X.createSpace(e)),t.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:n=>{this.data.fieldCommands.undo(),this.changeCallback(),this._doChanged()}})),t.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:n=>{this.data.fieldCommands.redo(),this.changeCallback(),this._doChanged()}})),t.addChild(ql.create(e));const i=X.createSpan(e,"rrd-band-data-sub-action",void 0,"+ Field");i.onclick=n=>this._addFieldHandler(n),t.addDom(i);const r=X.createSpan(e,"rrd-band-data-sub-action",void 0,"+ Calc Field");r.onclick=n=>this._addCalcFieldHandler(n),t.addDom(r);const s=this._spanCount=X.createSpan(e,"rrd-band-data-field-count");return t.addDom(s),t}$_createTable(e){const t=this._table=e.createElement("table"),i=this._colgroup=e.createElement("colgroup"),r=this._thead=e.createElement("thead"),s=e.createElement("tbody");[24,80,80,70,100,18,70,100,100,24].forEach((o,l)=>{const h=e.createElement("col");h.setAttribute("width",String(o)),i.appendChild(h)});const n=e.createElement("tr");return this._thead.appendChild(n),["No","Field Name","Label","Data Type","Link Source","Calced","Format","Sample/Expr","Description",""].forEach(o=>{const l=e.createElement("th"),h=e.createElement("div"),c=e.createElement("span");c.className="rrd-band-field-table-label",c.textContent=o;const d=e.createElement("div");d.className=oS.CLASS_COLUMN_RESIZE_HANDLE,d.style.display="inline-block",d.style.width="3px",d.style.cursor="ew-resize",h.appendChild(c),h.appendChild(d),l.appendChild(h),n.appendChild(l)}),t.id="rrd-band-field-table",t.className="rrd-band-field-table",t.onmousedown=this._tableMouseDownHandler,t.onkeydown=this._tableKeyDownHandler,t.addEventListener("focus",this._tableFocusHandler,!0),t.addEventListener("input",this._tableInputHandler,!0),t.addEventListener("blur",this._tableBlurHandler,!0),t.appendChild(i),t.appendChild(r),t.appendChild(s),t}$_initTable(e,t){return t.appendChild(this.$_createTable(e)),t}$_buildTable(e){const t=this._table.tBodies[0];for(;t.rows.length>0;)t.rows[0].remove();this.fields.forEach((i,r)=>{const s=e.createElement("tr");let n,o;X.setData(s,"fieldIndex",r),n=e.createElement("td"),n.textContent=`${r+1}`,s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rr-band-field-name",null,i.fieldName),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rr-band-field-label",null,i.label),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n);const l=e.createElement("select");l.options.length=0,["text","number","bool","datetime"].forEach(h=>{const c=e.createElement("option");c.value=h,c.textContent=h,l.append(c)}),l.className="select",l.value=i.dataType,l.onchange=this._changeDataTypeHandler,n=e.createElement("td"),n.appendChild(l),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.source),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.expression?"C":""),o.style.textAlign="center",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.format),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.expression||String(i.sample)),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.description),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),n.setAttribute("align","center"),n.appendChild(this.$_createFieldRemoveBtn(e)),s.appendChild(n),t.appendChild(s)})}$_renderHeader(){this._spanCount.textContent=`${this.fields.length} Fields`}$_rowInSelection(e){return this.selLength>0&&e>=this.selStart&&e<this.selStart+this.selLength}$_findCell(e){if(e instanceof Element){let t=e;do{if(t instanceof HTMLTableCellElement)return t;t=t.parentElement}while(t)}}$_findFieldIndex(e){const t=this.$_findCell(e);return t?parseInt(X.getData(t.parentElement,"fieldIndex")):-1}$_setState(e,t){if(e!==this.selStart||t!==this.selLength)return this.selStart=e,this.selLength=t,!0}$_clearSelection(){this.$_setState(-1,0)}$_setSelection(e,t=-1){t<0&&(t=e),e>=0&&t>=0&&this.$_setState(Math.min(e,t),Math.abs(e-t+1))}$_collectFieldValues(e){const t=this._table.tBodies[0].rows[e].cells,i=t[oO].firstElementChild;let s=this.fields[e].expression;return{fieldName:t[kv].firstElementChild.textContent,label:t[sO].firstElementChild.textContent,dataType:t[CI].firstElementChild.value,source:t[nO].firstElementChild.textContent,format:t[iH].firstElementChild.textContent,sample:s?"":i.textContent,expression:s?i.textContent:"",description:t[rH].firstElementChild.textContent}}$_updateField(e,t){var i;if(e>=0){const r=this.data,s=r.getField(e),n=this.$_collectFieldValues(e);if(t===kv){if(n.fieldName!==s.fieldName&&!this._validateFieldName(n.fieldName,e)){this.$_cancelEdit();return}r.fieldCommands.execute(new iAe(r,s,n.fieldName)),this.changeCallback()}else if(t===CI)r.fieldCommands.execute(new rAe(r,s,n.dataType)),this.changeCallback();else if(t===oO){let o=GTe[t];if(this.$_isCalcField()&&(o="expression",((i=n[o])!==null&&i!==void 0?i:"").trim()==="")){this.$_getSpan(this._editCell.row,t).textContent=this._oldText,this._designerCtx.showMessage("Calc Field는 공백으로 설정할 수 없습니다.","warn");return}r.fieldCommands.execute(new sAe(r,s,o,n[o])),this.changeCallback()}this._doChanged()}}$_getSpan(e,t){const i=this._table.tBodies[0].rows[e];if(i)return i.cells[t].firstElementChild}$_getSpanText(e,t){var i;return(i=this.$_getSpan(e,t).innerText)!==null&&i!==void 0?i:""}$_killFocus(e,t){const i=this.$_getSpan(e,Math.min(t,aO));i==null||i.blur()}$_setFocus(e,t){const i=this.$_getSpan(e,Math.min(t,aO));i==null||i.focus()}$_beginEdit(e){!this._editing&&e.innerText!==this._oldText&&(this._editCell={row:this.$_findFieldIndex(e),col:this.$_findCell(e).cellIndex},this._editing=!0)}$_commitEdit(e){this._editing&&(this.$_getSpan(this._editCell.row,this._editCell.col).innerText!==this._oldText&&this.$_updateField(this._editCell.row,e),this.$_resetEdit())}$_cancelEdit(){this._editing&&(this.$_getSpan(this._editCell.row,this._editCell.col).innerText=this._oldText,this.$_resetEdit())}$_resetEdit(){this._editing=!1,this._oldText="",this._editCell={row:-1,col:-1}}_validateFieldName(e,t=-1){return this._isDuplicatedFieldName(e,t)?(console.warn(qv.DUPULICATED_FIELD_NAME),this.showError(qv.DUPULICATED_FIELD_NAME),!1):e.trim()===""?(console.warn(qv.EMPTY_FIELD_NAME),this.showError(qv.EMPTY_FIELD_NAME),!1):!0}_isDuplicatedFieldName(e,t){let i=!1;return this.fields.forEach((r,s)=>{if(t===s)return!1;r.fieldName===e&&(i=!0)}),i}$_createFieldRemoveBtn(e){const t=e.createElement("div");return t.className="rrd-band-field-table-remove-btn",t.appendChild(Xt.createIconSvg(e,xe.dataPanel.remove,20)),t.onclick=i=>this._removeFieldHandler(i),t}$_isCalcField(){const e="C",t=this.$_getSpanText(this._editCell.row,QTe);return e===t}showError(e){}hideError(){}}oS.CLASS_COLUMN_RESIZE_HANDLE="rrd-band-field-table-resize-handle";class WTe extends un{constructor(e){super(e,"rrd-band-data-link-header")}get view(){return this.parent}isLocal(){return this._chkSource.checked}setDirty(e){this._divDirty.style.display=e?"":"none"}render(e){this._chkSource.checked=e.isLocalLink}commandStackChanged(e,t){this._undoButton.enabled=e&&e.canUndo,this._redoButton.enabled=e&&e.canRedo}_doInitDom(e,t){const i=Xt.createIconSvg(e,xe.dataPanel.dataLink,18),r=X.createSpan(e,"rrd-band-data-link-header-title",void 0,"Data Link"),s=this._chkSource=e.createElement("input"),n=e.createElement("label"),o=X.createSpan(e,void 0,{flex:"1"});this.addDom(i),this.addDom(r),s.id="source",s.type="checkbox",X.setStyles(s,{appearance:"checkbox",WebkitAppearance:"checkbox"}),this.addDom(s),n.textContent="Local",n.htmlFor="source",n.style.marginLeft="-2px",s.title=n.title="Local로 지정하면 파일에서 data를 가져와서 출력한다.",s.onclick=()=>{this.view.setLocal(this.isLocal())},this.addDom(n),this._divDirty=X.createDiv(e,void 0,{display:"none",width:"8px",height:"8px",marginLeft:"4px",backgroundColor:"#FFA94D",borderRadius:"50%"}),this.addDom(this._divDirty),this.addDom(o),this.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:l=>{this.view.data.undoLink(),this.view.changed()}})),this.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:l=>{this.view.data.redoLink(),this.view.changed()}})),this.addChild(ql.create(e)),this.addChild(new Ht(e,{label:"Apply",hint:"수정된 값들로 설정",variant:"filled",className:"rrd-band-data-sub-action",action:{run:(l,h,c)=>{this.view._applyHandler(l)}}})),this.addChild(new Ht(e,{label:"Reset",hint:"초기값으로 재설정",variant:"filled",className:"rrd-band-data-sub-action",action:{run:(l,h,c)=>{this.view._resetHandler()}}}))}}class Dz extends Ii{constructor(e){super(e,"rrd-band-data-link-content"),this.visible=!1}get view(){return this.parent}_getCssDisplay(){return"flex"}}class zTe extends Dz{_doInitDom(e,t){const i=new FA(e,{full:!0,onInput:(o,l)=>{this.view.checkDirty()}});this.addChild(this._url=new bI(e,"URL",i));const r=new VA(e,{domain:["GET","POST","PUT"],value:"GET",style:{width:"68px",height:"22px"},onEdit:(o,l)=>{this.view.checkDirty()}});this.addChild(this._method=new bI(e,"Method",r));const s=new VA(e,{domain:["JSON","CSV"],value:"JSON",style:{width:"68px"},onEdit:(o,l)=>{this.view.checkDirty(),this._dataPath.visible=l===Xw.JSON}});this.addChild(this._format=new bI(e,"Format",s));const n=new FA(e,{full:!0,onInput:(o,l)=>{this.view.checkDirty()}});this.addChild(this._dataPath=new bI(e,"Data Path",n)),this._queryParamSection=new zw(e,"Query Parameters","Param"),this._queryParamSection.addListener({[zw.CHANGED]:()=>{this.view.checkDirty()}}),this.addChild(this._queryParamSection),this._httpHeaderSection=new zw(e,"HTTP Headers","Header"),this._httpHeaderSection.addListener({[zw.CHANGED]:()=>{this.view.checkDirty()}}),this.addChild(this._httpHeaderSection)}apply(e){const t=this._url.value;let i;return t&&(i={source:"remote",url:t,format:this._format.value,dataPath:this._dataPath.value||void 0,method:this._method.value,params:this._queryParamSection.collectValues(),headers:this._httpHeaderSection.collectValues()}),i}render(e){var t,i,r,s;const n=e.link;this._dataPath.visible=this._format.value===Xw.JSON,n?(this._url.value=(t=n==null?void 0:n.url)!==null&&t!==void 0?t:"",this._format.value=(i=n.format)!==null&&i!==void 0?i:"JSON",this._dataPath.value=(r=n.dataPath)!==null&&r!==void 0?r:"",this._method.value=(s=n.method)!==null&&s!==void 0?s:"GET",this._queryParamSection.setItems(n.params),this._httpHeaderSection.setItems(n.headers)):(this._url.value="",this._format.value="JSON",this._dataPath.value="",this._method.value="GET",this._queryParamSection.setItems(),this._httpHeaderSection.setItems())}checkDirty(){const e=this.view.data.link;return this._url.checkDirty(e==null?void 0:e.url)||this._method.checkDirty((e==null?void 0:e.method)||"GET")||this._format.checkDirty((e==null?void 0:e.format)||"JSON")||this._dataPath.checkDirty(e==null?void 0:e.dataPath)||!ip.isEqual(this._queryParamSection.collectValues(),e==null?void 0:e.params)||!ip.isEqual(this._httpHeaderSection.collectValues(),e==null?void 0:e.headers)}}class zw extends Ii{constructor(e,t,i){super(e,"rrd-band-data-link-body-section"),this._namePrefix=i;const r=this.$_createHeader(e,t);this.addChild(r),this.addChild(this._itemContainer=new KTe(e))}addItem(e,t){const i=new du(this.doc,e,t,r=>this._itemContainer.removeChild(r));i.addListener({[du.NAME_INPUTED]:(r,s)=>{this.$_fireChangedEvent()},[du.VALUE_INPUTED]:(r,s)=>{this.$_fireChangedEvent()},[du.DELETED]:r=>{this.$_fireChangedEvent()}}),this._itemContainer.addChild(i),this.$_fireChangedEvent()}addNewItem(){const e=this._namePrefix?this.$_getNextName(this._namePrefix):void 0;this.addItem(e,void 0)}setItems(e){this._itemContainer.clear(),e&&Object.entries(e).forEach(([t,i])=>{this.addItem(t,i)})}collectValues(){const e={};return this._itemContainer.items.forEach(t=>{const i=t.dom.querySelectorAll("input"),r=i[0].value,s=i[1].value;r&&(e[r]=s)}),Object.keys(e).length>0?e:void 0}_doInitStyles(e){super._doInitStyles(e),X.setStyles(this.dom,{marginTop:"4px"})}$_createHeader(e,t){const i=new un(e,void 0);return i.setStyles({display:"flex",alignItems:"center",gap:"8px",marginBottom:"6px"}),i.addDom(X.createSpan(e,null,null,t)),i.addDom(X.createSpan(e,null,{boxSizing:"border-box",flex:"1 1 auto",borderBottom:"1px solid var(--rrd-light-theme-primary-color-7)"})),i.addChild(new Ht(e,{label:"Add",variant:"subtle",onClick:()=>{this.addNewItem()}})),i}$_getNextName(e){var t;const i=(t=this.collectValues())!==null&&t!==void 0?t:{};let r=1;for(;;){const s=e+r++;if(!(s in i))return s}}$_fireChangedEvent(){this.fireEvent(zw.CHANGED,this.collectValues())}}zw.CHANGED="onChanged";class KTe extends Ii{constructor(e){super(e,"rrd-band-data-link-section-item-container")}get items(){return this.getChildren().map(e=>{if(!(e instanceof du))throw new Jg;return e})}_doInitStyles(e){super._doInitStyles(e),X.setStyles(e,{display:"flex",flexDirection:"column",gap:"6px"})}}class du extends un{constructor(e,t,i,r){super(e,"rrd-band-data-link-section-item"),this.addDom(X.createSpan(e,null,null,"Name")),this.addChild(new FA(e,{value:t,full:!0,style:{flex:"1 1 auto"},onInput:(s,n)=>{this.fireEvent(du.NAME_INPUTED,n)}})),this.addChild(new XT(e,{size:"6px"})),this.addDom(X.createSpan(e,null,null,"Value")),this.addChild(new FA(e,{value:i,full:!0,style:{flex:"1 1 auto"},onInput:(s,n)=>{this.fireEvent(du.VALUE_INPUTED,n)}})),this.addChild(new Ht(e,{svg:xe.dataPanel.remove,hint:"Delete Param",size:"18px",style:{padding:"2px"},onClick:()=>{r==null||r(this),this.fireEvent(du.DELETED)}}))}_doInitStyles(e){super._doInitStyles(e),X.setStyles(e,{display:"flex",alignItems:"center",gap:"8px",padding:"0 12px"})}}du.NAME_INPUTED="onNameInputed";du.VALUE_INPUTED="onValueInputed";du.DELETED="onDeleted";class bI extends un{constructor(e,t,i){super(e),this.label=t,this._control=i,this.addDom(this.$_createLabel(this.label)),this.addChild(this._control)}get value(){return this._control.value}set value(e){this._control.value=e}checkDirty(e){return e!=(this._control.inputValue||void 0)}_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"10px"})}_getCssDisplay(){return"flex"}$_createLabel(e){const t=X.createSpan(this.doc,void 0,void 0,e);return X.setStyles(t,{minWidth:"60px",textAlign:"left"}),t}}class YTe extends un{_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"8px",marginBottom:"6px"})}_getCssDisplay(){return"flex"}}class C4 extends un{constructor(e){super(e),this.addChild(this.$_createHeader(e));const t=e.createElement("textarea");t.className="rrd-band-data-link-http-body-control",X.setStyles(t,{width:"calc(100% - 12px)",minHeight:"100px",margin:"6px",padding:"6px",resize:"vertical"}),t.addEventListener("input",i=>{const r=i.target;this._value=r.value,this.$_fireChangedEvent()}),this.addDom(this._control=t),this.$_renderByValue()}get value(){return this._value}set value(e){e===void 0?(this._value=void 0,this._control.value=""):this._value=this._control.value=e,this.$_renderByValue(),this.$_fireChangedEvent()}_doInitStyles(e){X.setStyles(e,{marginTop:"4px"})}$_createHeader(e){const t=new YTe(e),i=X.createSpan(e,void 0,{},"HTTP Body");t.addDom(i);const r=X.createSpan(e,void 0,{flex:"1",boxSizing:"border-box",borderBottom:"1px solid var(--rrd-light-theme-primary-color-7)"});return t.addDom(r),t.addChild(this._addBtn=new Ht(e,{label:"Add",variant:"subtle",onClick:()=>{this.value=""}})),t.addChild(this._removeBtn=new Ht(e,{label:"Remove",variant:"subtle",onClick:()=>{this.value=void 0}})),t}$_renderByValue(){this.value===void 0?(this._addBtn.visible=!0,this._removeBtn.visible=!1,this._control.style.display="none"):(this._addBtn.visible=!1,this._removeBtn.visible=!0,this._control.style.display="")}$_fireChangedEvent(){this.fireEvent(C4.CHANGED,this.value)}}C4.CHANGED="onChanged";class XTe extends Dz{get fileType(){return X.getRadioGroupValue(this._fileTypeContainer,"filetype")}_doInitDom(e,t){t.appendChild(this._fileTypeContainer=this.$_createTypes(e)),t.appendChild(this._jsonContainer=this.$_createJson(e,this.$_createFileContainer(e,"json",".json,.txt"))),t.appendChild(this._csvContainer=this.$_createCsv(e,this.$_createFileContainer(e,"csv",".csv,.tsv,.txt"))),t.appendChild(this._excelContainer=this.$_createExcel(e,this.$_createFileContainer(e,"excel",".xlsx"))),this.$_setFileType("json")}apply(e){const t=this.fileType,i={source:"local"};switch(i.fileType=t,t){case"csv":this.$_applyInputValues(i,this._csvContainer,"exts","headerRow","startRow");break;case"excel":this.$_applyInputValues(i,this._excelContainer,"exts","headerRow","startRow");break;default:this.$_applyInputValues(i,this._jsonContainer,"exts","dataPath");break}return i}render(e){const t=e.link;switch(this.$_setFileType(t.fileType||"json"),t.fileType){case"csv":this.$_setInputValues(this._csvContainer,{exts:t.exts,headerRow:t.headerRow,startRow:t.startRow});break;case"excel":this.$_setInputValues(this._excelContainer,{exts:t.exts,headerRow:t.headerRow,startRow:t.startRow});break;default:this.$_setInputValues(this._jsonContainer,{exts:t.exts,dataPath:t.dataPath});break}}checkDirty(){const e=this.view.data.link,t=this.fileType;let i=t!==(e==null?void 0:e.fileType);if(!i)switch(t){case"csv":i=this.$_checkInputsDirty(this._csvContainer,{headerRow:e.headerRow,startRow:e.startRow});break;case"excel":i=this.$_checkInputsDirty(this._excelContainer,{headerRow:e.headerRow,startRow:e.startRow});break;default:i=this.$_checkInputsDirty(this._jsonContainer,{dataPath:e.dataPath});break}return i}$_createInput(e,t,i){const r=e.createElement("input");return r.id=t,i&&(r.type=i),r.oninput=s=>{var n;s.target.value!==((n=this.view.data.link)===null||n===void 0?void 0:n[t])&&(this.view.modified=!0)},r}$_applyInputValues(e,t,...i){for(const r of i){const s=t.querySelector(`#${r}`).value;s!=null&&s?e[r]=s:delete e[r]}}$_createTypes(e){let t=X.createDiv(e,"",{display:"flex",alignItems:"center",gap:"6px",marginBottom:"10px",padding:"2px 2px",backgroundColor:"#f0f8ff"});return t.appendChild(X.createText(e,"File Type:")),dde.forEach(i=>{const r=e.createElement("input"),s=e.createElement("label");r.type="radio",r.name="filetype",r.value=r.id=i,r.onclick=n=>{var o;this.$_setFileType(n.target.value),this.fileType!==((o=this.view.data.link)===null||o===void 0?void 0:o.fileType)&&(this.view.modified=!0)},s.textContent=i,s.htmlFor=r.id,s.style.marginLeft="-3px",t.appendChild(r),t.appendChild(s)}),t}$_createFileContainer(e,t,i){const r=X.createDiv(e,"",{display:"grid",gridTemplateColumns:"minmax(60px, auto) 1fr 1fr",gridTemplateRows:"repeat(2, auto) 1fr",columnGap:"10px",rowGap:"8px",alignItems:"center"});return X.setData(r,"type",t),r.appendChild(X.createTextR(e,"Load Exts:")),r.appendChild(this.$_createInput(e,"exts")),r.appendChild(X.createText(e,`(${i})`)),r}get jsonInfo(){return{}}$_createJson(e,t){return t.appendChild(X.createTextR(e,"Data Path:")),t.appendChild(this.$_createInput(e,"dataPath")),t.appendChild(X.createText(e,"(데이터행 값들의 배열 속성 이름)")),t}$_createCsv(e,t){let i;return t.appendChild(X.createTextR(e,"Header Row:","지정하면 필드 Source에 지정 가능")),t.appendChild(this.$_createInput(e,"headerRow")),t.appendChild(X.createText(e,"(컬럼들의 이름이 표시되는 행 번호. 행은 1부터 시작")),t.appendChild(X.createTextR(e,"Start Row:")),t.appendChild(this.$_createInput(e,"startRow")),t.appendChild(X.createText(e,"(데이터가 시작되는 행 번호. 지정하지 않으면 header row + 1)")),t.appendChild(X.createTextR(e,"Row Count:")),t.appendChild(this.$_createInput(e,"rowCount")),t.appendChild(X.createText(e,"(최대 행 수. 지정하지 않으몀 마지막까지.)")),t.appendChild(X.createTextR(e,"Delimeter:")),t.appendChild(this.$_createInput(e,"delimeter")),t.appendChild(X.createText(e,'필드 구분자. 지정하지 않으면 comma. 탭은 "\\t"로 지정')),t.appendChild(X.createTextR(e,"Quted:")),i=e.createElement("input"),i.type="checkbox",X.setStyles(i,{appearance:"checkbox",justifySelf:"left",marginLeft:"0"}),t.appendChild(i),t.appendChild(X.createText(e,"(지정하면 각 필드 값이 인용 부호로 감싸여 있다고 가정)")),t}$_createExcel(e,t){return t.appendChild(X.createTextR(e,"Header Row:")),t.appendChild(this.$_createInput(e,"headerRow")),t.appendChild(X.createText(e,"(컬럼들의 이름이 표시되는 행 번호. 행은 1부터 시작")),t.appendChild(X.createTextR(e,"Start Row:")),t.appendChild(this.$_createInput(e,"startRow")),t.appendChild(X.createText(e,"(데이터가 시작되는 행 번호. 지정하지 않으면 header row + 1)")),t.appendChild(X.createTextR(e,"Row Count:")),t.appendChild(this.$_createInput(e,"rowCount")),t.appendChild(X.createText(e,"(최대 행 수. 지정하지 않으면 마지막 데이터 행까지.)")),t.appendChild(X.createTextR(e,"Start Col:")),t.appendChild(this.$_createInput(e,"startCol")),t.appendChild(X.createText(e,'(데이터가 시작되는 col. 지정하지 않으면 "A")')),t.appendChild(X.createTextR(e,"End Row Col:")),t.appendChild(this.$_createInput(e,"endRowCol")),t.appendChild(X.createText(e,"(마지막 행 여부 검사 기준 컬럼. 지정하지 않으면 Start Col. 이 행 이전까지 데이터 행.)")),t.appendChild(X.createTextR(e,"End Check Value:")),t.appendChild(this.$_createInput(e,"endCheckValue")),t.appendChild(X.createText(e,"(마지막 행 검사 기준 값. 지정하지 않으면 빈 셀)")),t}$_setFileType(e){for(const t of this._fileTypeContainer.getElementsByTagName("input"))t.checked=t.value===e;[this._jsonContainer,this._csvContainer,this._excelContainer].forEach(t=>{t.style.display=X.getData(t,"type")===e?"grid":"none"})}$_checkInputsDirty(e,t){for(const i in t)if(X.getChildById(e,i).value==t[i])return!0}$_setInputValue(e,t){e.value=t||""}$_setInputValues(e,t){for(const i in t)X.getChildById(e,i).value=t[i]||""}}class jTe extends Tz{constructor(e){super(e,"rrd-band-data-link"),this.addChild(this._headerView=new WTe(e)),this.addChild(this._contentView=this._remoteView=new zTe(e)),this.addChild(this._localView=new XTe(e)),this._headerView.commandStackChanged(null,null),this._contentView.visible=!0}get modified(){return this._modified}set modified(e){this._modified=e,this._headerView.setDirty(e)}get headerView(){return this._headerView}setLocal(e){const t=e?this._localView:this._remoteView;t!==this._contentView&&(this._contentView=t,this._localView.visible=this._contentView===this._localView,this._remoteView.visible=this._contentView===this._remoteView,this.checkDirty())}checkDirty(){this.modified=this.data.isLocalLink!==this.headerView.isLocal()||this._contentView.checkDirty()}_doDataChanged(){this.invalidateLayout()}_doRender(e){this._headerView.render(e),this.setLocal(e.isLocalLink),this._contentView.render(e),this.modified=!1}_applyHandler(e){const t=this.data;if(this.data instanceof vc){const i=this._contentView.apply(t);this.data.updateLink(i)}this.modified=!1,this._doChanged()}_resetHandler(){this.data.resetLink(),this._modified=!1,this._doChanged()}}class qTe extends un{_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"3px",height:"100%"})}_getCssDisplay(){return"flex"}}class ZTe extends un{constructor(e,t){super(e,"rrd-band-data-sample-header")}_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center"})}_getCssDisplay(){return"flex"}}class aS extends Lz{constructor(e){super(e,"rrd-band-data-sample"),this._tableRowSelection={selStart:-1,selLength:0},this._focusRowNo=null,this._selectedRows=[],this.$_clearHandler=()=>{this.clearSample(),this.$_clearSelection()},this._tableKeyDownHandler=t=>{const i=t.keyCode,r=this._getTableCell(t.target);if(r){const s=this.data;i===13?(t.preventDefault(),this._downCell(r,s.rowCount)||(this._blur(t),this._focus(t))):i===27?this.$_cancel(t.target):i===40?this._downCell(r,s.rowCount):i===38?this._upCell(r):r.cellIndex}},this._tableFocusHandler=t=>{t.target instanceof HTMLSpanElement&&ee.selectAll(t.target)},this._tableBlurHandler=t=>{if(t.target instanceof HTMLSpanElement){const i=this.data,r=i._internalValues(),s=t.target.parentElement,n=this._row(s),o=s.cellIndex-1,l=i.fields[o],h=t.target.innerText;let c;if(ee.clearSelection(),!h&&(i instanceof mr?c=r[n][l.fieldName]:c=r[n][o],c==null))return;const d=i.readValue(l,h);i instanceof mr?r[n][l.fieldName]=d:r[n][o]=d}},this._tableMouseDownHandler=t=>{const i=event.target,r=this._getTableCell(i);if(!r)return;const s=parseInt(r.parentElement.dataset.row);if(t.button!==0){ee.clearSelection();return}if(r.cellIndex!==0){this.$_clearSelection();return}t.shiftKey&&this._selectedRows.length>0?this.$_setSelection(this._selectedRows[0],s):this.$_focusRow(s,!0)},this._cellPasteHandler=t=>{event.stopPropagation(),event.preventDefault();const i=t.clipboardData.getData("text");document.execCommand("insertText",!1,i)},this._cellBlurHandler=t=>{const i=t.target,r=+X.getData(i,"row"),s=X.getData(i,"field"),n=t.target.textContent,o=this.data._internalValues();n!==o[r][s]&&this.data.runInMode(()=>{this.data.sampleCommands.execute(new tAe(this.data,r,s,n))})},this._header=this.$_createHeader(e),this.addChild(this._header),this.addDom(this.$_initTable(e,this._container=X.createDiv(e,"rrd-band-data-sample-container",{flex:"1 1 0",overflow:"auto"}))),this._colResizer=new w2(this.dom,t=>t.classList.contains(aS.CLASS_COLUMN_RESIZER)),this._colResizer.initListeners()}focusRow(e,t=!0){this.$_focusRow(e,t)}createFieldSampleRow(){const t=this.data.fields;let i={},r,s;for(let n=0;n<t.length;n++)r=t[n].fieldName,s=t[n].sample,i=Object.assign(i,{[r]:s});return i}addSampleRows(e){const t=this.data._internalValues(),i=t?t.length:0,r=this._focusRowNo||0;if(i<1e3){const s=[],n=r?t[r-1]:this.createFieldSampleRow();for(let o=0;o<e;o++)Array.isArray(n)?s.push(n.slice()):s.push({...n});this.data.runInMode(()=>{this.data.sampleCommands.execute(new eAe(this.data,s))})}setTimeout(()=>{this._container.scrollTop=this._container.scrollHeight}),this._doChanged()}clearSample(){this.data.runInMode(()=>{this.data._internalValues().length>0&&this.data.sampleCommands.execute(new Jue(this.data)),this._doChanged()})}commandStackChanged(e,t){this._undoButton.enabled=e&&e.canUndo,this._redoButton.enabled=e&&e.canRedo}_doRender(e){this._previewCheck.parentElement.style.display=e.link?"flex":"none",this._previewCheck.checked=e.embedPreview,this.$_renderHeader(),this.data.runInMode(()=>{this.$_renderTable(this._table,e.fields)})}$_createImage(e){const t=e.createElementNS(Di,"svg");return t.setAttribute("viewBox","0 0 32 32"),t.setAttribute("width","16"),t.setAttribute("height","16"),t.setAttribute("fill","none"),t.innerHTML=xe.dataPanel.dataSample,t}$_createHeader(e){const t=new ZTe(e);t.addDom(this.$_createImage(e)),t.addDom(X.createSpan(e,"rrd-band-data-sample-header-title",void 0,"Data Sample"));const i=X.createDiv(e,void 0,{display:"flex",alignItems:"center",gap:"4px",marginLeft:"4px"}),r=this._previewCheck=e.createElement("input");r.type="checkbox",r.name="displayInPreview",X.setStyles(r,{height:"18px",margin:0,padding:0}),r.onchange=o=>{const l=o.target;this.data.embedPreview=l.checked},i.appendChild(r);const s=e.createElement("label");s.textContent="preview",s.htmlFor="displayInPreveiw",i.appendChild(s),t.addDom(i),t.addDom(X.createSpace(e));const n=new qTe(e);return n.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:o=>{this.data.runInMode(()=>{this.data.sampleCommands.undo(),this._doChanged()})}})),n.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:o=>{this.data.runInMode(()=>{this.data.sampleCommands.redo(),this._doChanged()})}})),n.addChild(ql.create(e)),n.addChild(new Ht(e,{svg:xe.dataPanel.dataOne,size:"20px",hint:"Generate 1 Data",onClick:()=>this.addSampleRows(1)})),n.addChild(new Ht(e,{svg:xe.dataPanel.dataTen,size:"20px",hint:"Generate 10 Data",onClick:()=>this.addSampleRows(10)})),n.addChild(new Ht(e,{svg:xe.dataPanel.dataGenByLink,size:"20px",hint:"Generate Linked Data",action:{run:(o,l)=>{if(!this.data.link){o.alert("Data Link가 설정되어 있지 않습니다.");return}if(this.data.hasParams())debugger;this.data.runInMode(this.data.fetchData(null).then(()=>{this._doChanged()}).catch(h=>{console.error(h),o.alert(h.message||"Data Link에 설정된 데이터를 불러오지 못했습니다.")}))}}})),n.addChild(ql.create(e)),n.addChild(new Ht(e,{label:"Clear",hint:"Clear Data",variant:"filled",className:"rrd-band-data-sub-action",onClick:o=>this.$_clearHandler()})),t.addChild(n),t.addDom(this._spanCount=X.createSpan(e,"rrd-band-data-sample-row-count",{width:"60px"})),t}$_createTable(e){const t=this._table=e.createElement("table"),i=this._colgroup=e.createElement("colgroup"),r=this._thead=e.createElement("thead"),s=e.createElement("tbody");return r.appendChild(e.createElement("tr")),t.id="rrd-band-data-sample",t.className="rrd-band-data-sample",t.onkeydown=this._tableKeyDownHandler,t.onfocus=this._tableFocusHandler,t.onblur=this._tableBlurHandler,t.appendChild(i),t.appendChild(r),t.appendChild(s),t}$_initTable(e,t){return t.appendChild(this.$_createTable(e)),t}$_renderHeader(){this.data.runInMode(()=>{this._spanCount.textContent=`${this.data._internalValues().length} Rows`})}$_prepareHeads(e,t,i){const r=i.length+1,s=this._colgroup;for(;s.childElementCount<r;)s.appendChild(e.createElement("col"));for(;s.childElementCount>r;)s.lastElementChild.remove();const n=this._thead.firstElementChild;for(;n.childElementCount<r;)n.appendChild(e.createElement("th"));for(;n.childElementCount>r;)n.lastElementChild.remove()}$_prepareRows(e,t,i){const s=this.data._internalValues().length;let n;for(;t.childElementCount<s;)t.appendChild(n=e.createElement("tr")),n.onmousedown=this._tableMouseDownHandler;for(;t.childElementCount>s;)t.lastElementChild.remove();Array.from(t.children).forEach(o=>{const l=i.length+1;for(;o.childElementCount<l;)o.appendChild(e.createElement("td"));for(;o.childElementCount>l;)o.lastElementChild.remove()})}$_renderTable(e,t){const i=this.doc,r=this.data._internalValues();this.$_prepareHeads(i,this._table,t),this.data.runInMode(()=>{this.$_prepareRows(i,this._table.tBodies[0],t)}),this._colgroup.children[0].setAttribute("width","24"),t.forEach((o,l)=>{});const n=this._thead.children[0].children;n[0].textContent="No",t.forEach((o,l)=>{const h=n[l+1];let c=h.firstElementChild;c||(h.appendChild(c=X.createDiv(i)),c.appendChild(X.createSpan(i,"rrd-band-data-sample-head")),c.appendChild(X.createSpan(i,aS.CLASS_COLUMN_RESIZER))),c.firstElementChild.textContent=o.fieldName}),Array.from(e.tBodies[0].rows).forEach((o,l)=>{const h=this.data,c=o.cells;X.setData(o,"row",l),c[0].textContent=String(l+1),t.forEach((d,u)=>{const A=c[u+1],f=Array.isArray(r[l])?r[l][u]:r[l][d.fieldName];let p=A.firstElementChild,g;p||(A.appendChild(p=X.createSpan(i)),p.spellcheck=!1,p.onpaste=this._cellPasteHandler,p.onblur=this._cellBlurHandler),d.expression?(p.contentEditable="false",g=`\${${d.expression}}`):(p.contentEditable="true",h instanceof mr&&(g=d.dataType==="datetime"?h.dateToStr(d,f):ee.getStr(f))),p.textContent=g,X.setData(p,"row",l),X.setData(p,"field",d.fieldName)})})}setTableRowSelection(e){this._tableRowSelection=e}setFocusRowNo(e){this._focusRowNo=e}setSelectedRows(e){this._selectedRows=e}$_clearSelection(e=!1){const t=this._table.tBodies[0].rows;if(e)for(let i=0;i<t.length;i++)t.item(i).classList.remove("selected");else this._selectedRows.forEach(i=>{t.item(i).classList.remove("selected")});this.setTableRowSelection({selStart:-1,selLength:0}),this.setFocusRowNo(null),this.setSelectedRows([])}$_setSelection(e,t=-1){t<0&&(t=e),this.$_clearSelection();const i=Math.min(e,t),r=Math.abs(e-t)+1;this.setTableRowSelection({selStart:i,selLength:r}),this.setFocusRowNo(e+1);const s=[];for(let n=i;n<i+r;n++)s.push(n);this.setSelectedRows(s)}$_focusRow(e,t=!0){const i=this._table.tBodies[0].rows;e>=0&&e<i.length&&(i[e].scrollIntoView({behavior:"smooth",block:"nearest"}),t&&this.$_setSelection(e))}$_cancel(e){console.log(e)}}aS.CLASS_COLUMN_RESIZER="rrd-band-data-sample-size-handle";var mo;(function(a){a.Fields="fields",a.Link="link",a.Sample="sample"})(mo||(mo={}));let JTe=class extends Ii{constructor(e){super(e,"rrd-band-data-header-labels"),this._deleteDataAction={run:()=>{}},this._shareDataAction={run:()=>{}},this.addDom(this._dataNameSpan=X.createSpan(e,void 0,{paddingTop:"2px",fontSize:"13px",fontWeight:600})),this.addChild(new Ht(e,{svg:xe.dataPanel.dataRemove,size:"18px",hint:"Delete",style:{marginLeft:"1px"},action:this._deleteDataAction})),this.addChild(new Ht(e,{label:"Share",size:"18px",style:{marginLeft:"1px"},action:this._shareDataAction}))}layout(e,t){this._dataNameSpan.textContent=e.name,this._deleteDataAction.run=i=>{var r;(r=i.report)===null||r===void 0||r.removeData(e.name)},this._shareDataAction.run=i=>{}}_doInitStyles(e){Object.assign(e.style,{display:"flex",alignItems:"center",gap:"2px"})}},eLe=class extends Ii{constructor(e){super(e,"rrd-band-data-header-tools")}_initItems(e,t){t.forEach(i=>{if(i.type==="button"){const r=new Ht(e,i);this.addChild(r)}else{const r=new ql(e,i);this.addChild(r)}})}layout(e,t){const i=this.getChildren();i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===mo.Fields).forEach(r=>r.visible=t===mo.Fields),i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===mo.Link).forEach(r=>r.visible=t===mo.Link),i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===mo.Sample).forEach(r=>r.visible=t===mo.Sample),X.setData(i.find(r=>r instanceof Ht&&r.tag===mo.Fields).dom,"checked",t===mo.Fields?"1":""),X.setData(i.find(r=>r instanceof Ht&&r.tag===mo.Link).dom,"checked",t===mo.Link?"1":""),X.setData(i.find(r=>r instanceof Ht&&r.tag===mo.Sample).dom,"checked",t===mo.Sample?"1":"")}_doInitStyles(e){super._doInitStyles(e),X.setStyles(this.dom,{height:"100%"})}},tLe=class extends Ii{constructor(e){super(e,"rrd-band-data-header"),this.addChild(this._labelView=new JTe(e)),this.addDom(X.createSpace(e)),this.addChild(this._toolView=new eLe(e))}_initToolItems(e,t){this._toolView._initItems(e,t)}render(e,t){this._toolView.layout(e,t),this._labelView.layout(e,t)}};class iLe extends v4{constructor(e){super(e,"band"),this._inited=!1,this._dataChanged=!1,this._page=mo.Fields,this._fieldsChanged=!1,this._addRowClickedHandler=()=>{this._sampleView.addSampleRows(1)},this._addTenRowsClickedHandler=()=>{this._sampleView.addSampleRows(10)},this._dataGenerateClickedHandler=()=>{},this._pageChangeClickedHandler=(t,i)=>{i!==this._page&&(this._page=i,this.render())},this._saveValuesHandler=(t,i,r=!1)=>{t.setValues(i)},this._changeValuesHandler=(t,i,r)=>{const n=t._internalValues().map(o=>{const l=o[r];return delete o[r],{...o,[i]:l}});t.setValues(n)}}get data(){return this._data}set data(e){let t=this._data;e!==t&&(t&&(t.onFieldChanged=null,t.onSampleChanged=null,t.onLinkChanged=null),t=this._data=e,this._dataChanged=!0,this.invalidateLayout(),t?(t.onFieldChanged=(i,r)=>{this._fieldView.commandStackChanged(i,r)},t.onSampleChanged=(i,r)=>{this._sampleView.commandStackChanged(i,r)},t.onLinkChanged=(i,r)=>{this._linkView.headerView.commandStackChanged(i,r)},this._fieldView.commandStackChanged(t.fieldCommands,null),this._sampleView.commandStackChanged(t.sampleCommands,null),this._linkView.headerView.commandStackChanged(t.linkCommands,null)):(this._fieldView.commandStackChanged(null,null),this._sampleView.commandStackChanged(null,null),this._linkView.headerView.commandStackChanged(null,null)))}prepareBandFieldTableViewHandler(e){this._fieldView.designerCtx=e}_doInitStyles(e){super._doInitStyles(e),Object.assign(e.style,{flexDirection:"column"})}_doInitDom(e,t){this.addChild(this._header=new tLe(e));const i=new Ii(e,"rrd-band-data-body");i.setStyles({flex:"1 1 0",overflow:"auto"});const r=new Ii(e,"rrd-band-data-content");r.setStyles({width:"100%",height:"100%"}),r.addChild(this._fieldView=new oS(e,()=>{this._fieldsChanged=!0})),r.addChild(this._linkView=new jTe(e)),r.addChild(this._sampleView=new aS(e)),i.addChild(r),this.addChild(i)}_doRender(e,t){this._inited||(this._header._initToolItems(e,[{type:"button",tag:mo.Fields,svg:xe.dataPanel.dataSchema,size:"20",hint:"Fields",onClick:this._pageChangeClickedHandler},{type:"button",tag:mo.Link,svg:xe.dataPanel.dataLink,size:"20",hint:"Link",onClick:this._pageChangeClickedHandler},{type:"button",tag:mo.Sample,svg:xe.dataPanel.dataSample,size:"20",hint:"Sample",onClick:this._pageChangeClickedHandler}]),this._inited=!0),this._header.render(this.data,this._page),(this._fieldView.visible=this._page===mo.Fields)&&(this._fieldView.data=this.data,this._fieldView.render(this.data)),(this._linkView.visible=this._page===mo.Link)&&(this._linkView.data=this.data,this._linkView.render(this.data)),(this._sampleView.visible=this._page===mo.Sample)&&(this._sampleView.data=this.data,this._fieldsChanged&&(this._fieldsChanged=!1,this._sampleView.changed()),this._sampleView.render(this.data)),this._dataChanged&&(this._dataChanged=!1,this._linkView.modified=!1)}}const rLe=new CA({name:"favorites",title:"즐겨찾기"});class sLe extends dy{}const sH="server-data-root",Oz="server-data-group";class ZT extends cu{get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this.$_buildTree(this._ctx))}get reportGroup(){return this.model.root.findByTag("report")}initTree(e){this.$_buildTree(this._ctx=e),this.itemDraggable=!0}dataAdded(e,t,i,r){let s;switch(e){case"report":s=this.model.addItem(this.$_reportRoot,this.$_getTreeItemSource(t),r);break;case"server":s=this.model.addItem(this.$_serverRoot,this.$_getTreeItemSource(t))}s&&!i&&(this.focusedItem=s)}dataRemoved(e){const t=this.model.findByTag(e),i=t.parent;this.model.removeItem(t),this.focusedItem=i}dataRenamed(e){const t=this.model.findByTag(e);t.name=e.name,this.refresh()}refreshDataTemplate(e){this.$_buildTree(e)}_doPrepareContainer(e,t){super._doPrepareContainer(e,t),this._dragImage=wP.createDragImage("data"),t.ondragstart=i=>{const r=i.target;if(r instanceof HTMLElement&&r.classList.contains("rr-tree-row")){const n=r.querySelector(".rr-tree-label").textContent,o=wP.calcDragImageOffset(this._dragImage);i.dataTransfer.setData(uC(JSON.stringify({type:tc.DATA,name:n})),""),i.dataTransfer.setDragImage(this._dragImage,o.x,o.y);return}X.stopEvent(i)}}$_getTreeItemSource(e){if(e)return{name:e.name,tag:e,type:`report-${e.getSaveType()}-data`,editable:!1,iconType:e.getSaveType()==="band"?"bandData":"simpleData"}}$_getTree(e,t){const{server:i,dataTemplateManager:r}=e,s={name:"Data",editable:!1,tag:null,children:[]};let n;s.children.push(n={name:"Stock",editable:!1,tag:"stock",type:"data-root",iconType:"group",children:[{name:"Favorites",editable:!1,expandable:!1,tag:rLe,type:"data-favorites",iconType:"favorite"}]}),r&&r.getAll().forEach(d=>{n.children.push({name:d.name,editable:!1,expandable:!1,tag:d,type:"data-group",iconType:"group"})}),i&&s.children.push({name:"Server",editable:!1,loadable:!0,tag:"server",type:sH,iconType:"group"});const o={name:"Report",editable:!1,tag:"report",type:"report-data-root",iconType:"reportFolder"},l=t.getAll(),h=[];for(let c of l){const d=this.$_getTreeItemSource(c);h.push(d)}return o.children=h,s.children.push(o),s}$_buildTree(e){var t;const i=(t=this.report)===null||t===void 0?void 0:t.data,r=i?this.$_getTree(e,i):ZT.EMPTY_TREE;this.model=new hu(r),this.focusedItem=this.reportGroup,this.expandAll(),this.collapse(this.bodyView.findRow(this.model.findByTag("stock"))),e.server&&this.collapse(this.bodyView.findRow(this.model.findByTag("server"))),this.invalidateLayout(),this.model.addListener(this)}get $_serverRoot(){return this.model.root.get(1)}get $_reportRoot(){return this.model.root.findByTag("report")}$_addDataTemplate(e){const{dataTemplateManager:t}=e,i=this.model.findByTag("stock");t&&i&&t.getAll().forEach(s=>{this.model.addItem(i,{name:s.name,editable:!1,tag:s,type:"data-group"})})}onTreeItemExpanding(e,t){return t.source.type===sH&&t.loadable&&this._ctx.server?(this._ctx.server.getDataTemplateCategories().then(r=>{t.setLoadable(!1),r.forEach(s=>e.addItem(t,{name:s.category,type:Oz,editable:!1,expandable:!1,loadable:!0,iconType:"group",tag:new CA({name:s,title:s,description:s,items:[],tag:"server"})})),this.expand(this.bodyView.findRow(t)),setTimeout(()=>this.invalidateLayout())}),!1):(this.bodyView.findRow(t)._childRows.forEach(r=>{r.expander.hasChildNodes()&&r.expander.replaceChildren()}),!0)}}ZT.EMPTY_TREE={name:"Data",editable:!1,children:[{name:"Stock",tag:"stock",editable:!1,iconType:"group",children:[]},{name:"Report",tag:"report",editable:!1,children:[]}]};class Mz extends Ii{constructor(){super(...arguments),this._changed=!0}get data(){return this._data}set data(e){e!==this._data&&(this._data=e,this._doDataChanged(),this._doChanged())}get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this.render())}render(e,t){this._changed&&(this._changed=!1,this._doRender(e||this._data,t))}changed(){this._doChanged()}_doChanged(){this._changed||(this._changed=!0,this.invalidateLayout())}_getCssDisplay(){return"flex"}_doInitStyles(e){X.setStyles(e,{position:"absolute",display:"flex",flexDirection:"column",width:"100%",height:"100%"})}_doDataChanged(){}}class nLe extends un{constructor(e,t){super(e,"rrd-band-data-link-header")}}class oLe extends Ii{constructor(e){super(e,"rrd-band-data-link-content")}}class Kw extends Ii{constructor(e,t,i){super(e,"rrd-band-data-link-body-section"),this._namePrefix=i;const r=this.$_createHeader(e,t);this.addChild(r),this.addChild(this._itemContainer=new aLe(e))}addItem(e,t){const i=new uu(this.doc,e,t,r=>this._itemContainer.removeChild(r));i.addListener({[uu.NAME_INPUTED]:(r,s)=>{this.$_fireChangedEvent()},[uu.VALUE_INPUTED]:(r,s)=>{this.$_fireChangedEvent()},[uu.DELETED]:r=>{this.$_fireChangedEvent()}}),this._itemContainer.addChild(i),this.$_fireChangedEvent()}addNewItem(){const e=this._namePrefix?this.$_getNextName(this._namePrefix):void 0;this.addItem(e,void 0)}setItems(e){this._itemContainer.clear(),e&&Object.entries(e).forEach(([t,i])=>{this.addItem(t,i)})}collectValues(){const e={};return this._itemContainer.items.forEach(t=>{const i=t.dom.querySelectorAll("input"),r=i[0].value,s=i[1].value;r&&(e[r]=s)}),Object.keys(e).length>0?e:void 0}_doInitStyles(e){super._doInitStyles(e),X.setStyles(this.dom,{marginTop:"4px"})}$_createHeader(e,t){const i=new un(e,void 0);return i.setStyles({display:"flex",alignItems:"center",gap:"8px",marginBottom:"6px"}),i.addDom(X.createSpan(e,null,null,t)),i.addDom(X.createSpan(e,null,{boxSizing:"border-box",flex:"1 1 auto",borderBottom:"1px solid var(--rrd-light-theme-primary-color-7)"})),i.addChild(new Ht(e,{label:"Add",variant:"subtle",onClick:()=>{this.addNewItem()}})),i}$_getNextName(e){var t;const i=(t=this.collectValues())!==null&&t!==void 0?t:{};let r=1;for(;;){const s=e+r++;if(!(s in i))return s}}$_fireChangedEvent(){this.fireEvent(Kw.CHANGED,this.collectValues())}}Kw.CHANGED="onChanged";class aLe extends Ii{constructor(e){super(e,"rrd-simple-data-link-section-item-container")}get items(){return this.getChildren().map(e=>{if(!(e instanceof uu))throw new Jg;return e})}_doInitStyles(e){super._doInitStyles(e),X.setStyles(e,{display:"flex",flexDirection:"column",gap:"6px"})}}class uu extends un{constructor(e,t,i,r){super(e,"rrd-band-data-link-section-item"),this.addDom(X.createSpan(e,null,null,"Name")),this.addChild(new FA(e,{value:t,full:!0,style:{flex:"1 1 auto"},onInput:(s,n)=>{this.fireEvent(uu.NAME_INPUTED,n)}})),this.addChild(new XT(e,{size:"6px"})),this.addDom(X.createSpan(e,null,null,"Value")),this.addChild(new FA(e,{value:i,full:!0,style:{flex:"1 1 auto"},onInput:(s,n)=>{this.fireEvent(uu.VALUE_INPUTED,n)}})),this.addChild(new Ht(e,{svg:xe.dataPanel.remove,hint:"Delete Param",size:"18px",style:{padding:"2px"},onClick:()=>{r==null||r(this),this.fireEvent(uu.DELETED)}}))}_doInitStyles(e){super._doInitStyles(e),X.setStyles(e,{display:"flex",alignItems:"center",gap:"8px",padding:"0 12px"})}}uu.NAME_INPUTED="onNameInputed";uu.VALUE_INPUTED="onValueInputed";uu.DELETED="onDeleted";class EI extends un{constructor(e,t,i){super(e),this.label=t,this._control=i,this.addDom(this.$_createLabel(this.label)),this.addChild(this._control)}get value(){return this._control.value}set value(e){this._control.value=e}checkDirty(e){return e!=(this._control.inputValue||void 0)}_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"10px"})}_getCssDisplay(){return"flex"}$_createLabel(e){const t=X.createSpan(this.doc,void 0,void 0,e);return X.setStyles(t,{minWidth:"60px",textAlign:"left"}),t}}class lLe extends un{_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"8px",marginBottom:"6px"})}_getCssDisplay(){return"flex"}}class b4 extends un{constructor(e){super(e),this.addChild(this.$_createHeader(e));const t=e.createElement("textarea");t.className="rrd-band-data-link-http-body-control",X.setStyles(t,{width:"calc(100% - 12px)",minHeight:"100px",margin:"6px",padding:"6px",resize:"vertical"}),t.addEventListener("input",i=>{const r=i.target;this._value=r.value,this.$_fireChangedEvent()}),this.addDom(this._control=t),this.$_renderByValue()}get value(){return this._value}set value(e){e===void 0?(this._value=void 0,this._control.value=""):this._value=this._control.value=e,this.$_renderByValue(),this.$_fireChangedEvent()}_doInitStyles(e){X.setStyles(e,{marginTop:"4px"})}$_createHeader(e){const t=new lLe(e),i=X.createSpan(e,void 0,{},"HTTP Body");t.addDom(i);const r=X.createSpan(e,void 0,{flex:"1",boxSizing:"border-box",borderBottom:"1px solid var(--rrd-light-theme-primary-color-7)"});return t.addDom(r),t.addChild(this._addBtn=new Ht(e,{label:"Add",variant:"subtle",onClick:()=>{this.value=""}})),t.addChild(this._removeBtn=new Ht(e,{label:"Remove",variant:"subtle",onClick:()=>{this.value=void 0}})),t}$_renderByValue(){this.value===void 0?(this._addBtn.visible=!0,this._removeBtn.visible=!1,this._control.style.display="none"):(this._addBtn.visible=!1,this._removeBtn.visible=!0,this._control.style.display="")}$_fireChangedEvent(){this.fireEvent(b4.CHANGED,this.value)}}b4.CHANGED="onChanged";class hLe extends Mz{constructor(e){super(e,"rrd-band-data-link"),this.$_dirty=!1;const t=this.$_createViewHeader(e);this.addChild(t);const i=this.$_createViewBody(e);this.addChild(i)}get dirty(){return this.$_dirty}set dirty(e){this.$_dirty=e,this._dirtyDiv.style.display=e?"block":"none"}commandStackChanged(e,t){this._undoButton.enabled=e&&e.canUndo,this._redoButton.enabled=e&&e.canRedo}checkDirty(){const e=this.data.link;this.dirty=this._url.checkDirty(e==null?void 0:e.url)||this._dataPath.checkDirty(e==null?void 0:e.dataPath)||this._format.checkDirty((e==null?void 0:e.format)||Xw.JSON)||this._method.checkDirty((e==null?void 0:e.method)||"GET")||!ip.isEqual(this._queryParamSection.collectValues(),e==null?void 0:e.params)||!ip.isEqual(this._httpHeaderSection.collectValues(),e==null?void 0:e.headers)}_doInitStyles(e){super._doInitStyles(e)}_doDataChanged(){this.invalidateLayout()}_doRender(e){var t,i,r,s;const n=e.link;n?(this._url.value=(t=n.url)!==null&&t!==void 0?t:"",this._format.value=(i=n.format)!==null&&i!==void 0?i:"JSON",this._dataPath.value=(r=n.dataPath)!==null&&r!==void 0?r:"",this._method.value=(s=n.method)!==null&&s!==void 0?s:"GET",this._queryParamSection.setItems(n.params),this._httpHeaderSection.setItems(n.headers)):(this._url.value="",this._format.value="JSON",this._dataPath.value="",this._method.value="GET",this._queryParamSection.setItems(),this._httpHeaderSection.setItems()),this._dataPath.visible=this._format.value===Xw.JSON,this.dirty=!1}$_createViewHeader(e){const t=new nLe(e),i=Xt.createIconSvg(e,xe.dataPanel.dataLink,18),r=X.createSpan(e,"rrd-band-data-link-header-title",void 0,"Data Link");return t.addDom(i),t.addDom(r),this._dirtyDiv=X.createDiv(e,void 0,{display:"none",width:"8px",height:"8px",marginLeft:"4px",backgroundColor:"#FFA94D",borderRadius:"50%"}),t.addDom(this._dirtyDiv),t.addDom(X.createSpace(e)),t.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:s=>{this.data.undoLink(),this._doChanged()}})),t.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:s=>{this.data.redoLink(),this._doChanged()}})),t.addChild(ql.create(e)),t.addChild(new Ht(e,{label:"Apply",hint:"수정된 값들로 설정",variant:"filled",className:"rrd-band-data-sub-action",action:{run:(s,n,o)=>{this._applyHandler(s)}}})),t.addChild(new Ht(e,{label:"Reset",hint:"초기값으로 재설정",variant:"filled",className:"rrd-band-data-sub-action",action:{run:(s,n,o)=>{this._resetHandler()}}})),t}$_createViewBody(e){const t=new oLe(e),i=new FA(e,{full:!0,onInput:(o,l)=>{this.checkDirty()}});t.addChild(this._url=new EI(e,"URL",i));const r=new FA(e,{full:!0,onInput:(o,l)=>{this.checkDirty()}});t.addChild(this._dataPath=new EI(e,"Data Path",r));const s=new VA(e,{domain:["JSON","CSV"],value:"JSON",style:{width:"68px"},onEdit:(o,l)=>{this.checkDirty(),this._dataPath.visible=l===Xw.JSON}});t.addChild(this._format=new EI(e,"Format",s));const n=new VA(e,{domain:["GET","POST","PUT"],value:"GET",style:{width:"68px",height:"22px"},onEdit:(o,l)=>{this.checkDirty()}});return t.addChild(this._method=new EI(e,"Method",n)),this._queryParamSection=new Kw(e,"Query Parameters","Param"),this._queryParamSection.addListener({[Kw.CHANGED]:(o,l)=>{this.checkDirty()}}),t.addChild(this._queryParamSection),this._httpHeaderSection=new Kw(e,"HTTP Headers","Header"),this._httpHeaderSection.addListener({[Kw.CHANGED]:(o,l)=>{this.checkDirty()}}),t.addChild(this._httpHeaderSection),t}_applyHandler(e){if(this.data instanceof vc){const t=this._url.value;let i;t&&(i={source:"remote",url:t,format:this._format.value,dataPath:this._dataPath.value||void 0,method:this._method.value,params:this._queryParamSection.collectValues(),headers:this._httpHeaderSection.collectValues()}),this.data.updateLink(i)}this.dirty=!1,this._doChanged()}_resetHandler(){this.data.resetLink(),this._doChanged(),this.dirty=!1}}class cLe extends $r{constructor(e,t){super(e,t),this._vindex=-1}get measuredWidth(){return this._measuredWidth}get measuredHeight(){return this._measuredHeight}get vindex(){return this._vindex}measure(e,t){const i=this._doMeasure(e,t);return this._measuredWidth=i.width,this._measuredHeight=i.height,i}layoutContent(){this._doLayoutContent()}_getCssSelector(){}_doDraw(e){}_doMeasure(e,t){return new ft(e,t)}_doLayoutContent(){}}class il extends cLe{constructor(e,t){super(e.doc,"jsonBodyView"),this._trMap=new Map,this._itemMap=new Map,this._mouseMoveHandler=i=>{let r=i.target;if(!this._editor.ignoreHovering(r)&&r!==this._hoverTarget){for(this._hoverTarget=r;r&&!(r instanceof HTMLTableRowElement);)r=r.parentElement;const s=r&&this._trMap.get(r);if(s!==this._hoverItem){const n=this._hoverItem;this._hoverItem=s,this._hoverChanged(r,this._hoverItem,n)}}},this._editor=e,this._draggable=t,this.dom.onmousemove=this._mouseMoveHandler}_doDispose(){this.dom.onmousemove=null,this._tbody=this._thead=this._table=null,this._editor=null,super._doDispose()}get draggable(){return this._draggable}get editor(){return this._editor}get table(){return this._table}isExpander(e){return e&&e.classList.contains(il.EXPANDER)}isName(e){return e&&e.classList.contains(il.FILED_CLASS)}rowOf(e){let t=e;for(;t;){if(t instanceof HTMLTableRowElement)return t;t=t.parentElement}}itemOf(e){const t=this.rowOf(e);return t&&this._trMap.get(t)}rowOfItem(e){return this._itemMap.get(e)}getFirstValue(){const e=this._tbody.rows;for(let t=0;t<e.length;t++){const i=e[t];if(this._trMap.get(i)instanceof yo)return this.$_getValueDom(i)}}getLastValue(){const e=this._tbody.rows;for(let t=e.length-1;t>=0;t--){const i=e[t];if(this._trMap.get(i)instanceof yo)return this.$_getValueDom(i)}}getNameDom(e){return this.$_getNameDom(e)}getValueDom(e){return this.$_getValueDom(e)}getNextValue(e){const t=this._tbody.rows;let i=this.rowOf(e);if(i){for(let r=i.rowIndex;r<t.length;r++)if(i=t[r],this._trMap.get(i)instanceof yo)return this.$_getValueDom(i);return e}}getPrevValue(e){const t=this._tbody.rows;let i=this.rowOf(e);if(i){for(let r=i.rowIndex-2;r>=0;r--)if(i=t[r],this._trMap.get(i)instanceof yo)return this.$_getValueDom(i);return e}}getEditingRow(){let e=this.doc.activeElement;for(;e;){if(e instanceof HTMLTableRowElement&&this._trMap.get(e))return e;e=e.parentElement}}getEditingItem(){const e=this.getEditingRow();return e&&this._trMap.get(e)}makeRowVisible(e){e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}isRowMenu(e){if(e.classList.contains(il.ROW_MENU)){const t=this.$_getTr(e);return this._trMap.get(t)}}beginEdit(e){const t=this.rowOfItem(e);if(t){const i=t.children[2].lastElementChild,r=e!==this._editor.model.root&&this._editor.nameEditable?i.children[1]:i.children[3];if(r instanceof HTMLElement)return this._editor.setFocus(),r.focus(),!0}}getRowContent(e){return e.cells[2].firstElementChild.children[3]}_createDom(e){const t=super._createDom(e),i=this._table=e.createElement("table"),r=i.style;return i.className="json-table",r.setProperty("table-layout","fixed","important"),r.setProperty("width","100%","important"),this._thead=e.createElement("thead"),this.$_prepareHead(e,this._thead),i.appendChild(this._thead),this._tbody=e.createElement("tbody"),i.appendChild(this._tbody),t.appendChild(i),t}_initDom(e,t){super._initDom(e,t),X.setStyles(t,{position:"relative",flex:"1 1 auto",overflow:"auto"})}_getCssSelector(){return"json-body"}_doMeasure(e,t){return this.$_prepareRows(this.doc,this._tbody),new ft(e,t)}_doLayoutContent(){}$_prepareHead(e,t){const i=e.createElement("tr"),r=i.style,s=["24px","1px","","50px"];i.setAttribute("aria-hidden","true"),r.setProperty("border","0px none","important");for(let n=0;n<4;n++){const o=e.createElement("th");let l=o.style;o.scope="col",l.setProperty("visibility","hidden","important"),l.setProperty("margin","0px","important"),l.setProperty("padding","0px","important"),l.setProperty("font-size","0px","important"),l.setProperty("line-height","0px","important"),l.height="0px",l.width=s[n],i.appendChild(o)}t.appendChild(i)}$_prepareRows(e,t){const i=this._editor,r=i.model,s=i.focused,n=i.model&&i.model.visibleItems||[],o=t.rows;for(;o.length<n.length;){const l=e.createElement("tr");l.className="json-row",t.appendChild(l)}for(;o.length>n.length;)o[o.length-1].remove();this._trMap.clear(),this._itemMap.clear();for(let l=0,h=o.length;l<h;l++){const c=o[l],d=n[l];X.setBoolData(c,"focused",d===s),this._prepareRow(e,r,d,c,l),this._trMap.set(c,d),this._itemMap.set(d,c)}}_prepareRow(e,t,i,r,s){let n,o,l;if(r.childElementCount==0)for(let h=0;h<4;h++)r.appendChild(e.createElement("td"));o=r.children[0],l=o.firstElementChild,l||(l=e.createElement("button"),l.className=il.ROW_MOVER,this._draggable&&(l.draggable=!0),o.appendChild(l)),o=r.children[2],n=o.lastChild,n||(n=this.$_prepareCell(e,i),o.appendChild(n)),n.style.marginLeft=16*i.level+"px",this.$_layoutCell(e,t,i,n,s===0&&t.isRoot(i))}$_prepareCell(e,t){const i=e.createElement("div");i.className="json-content";for(let r=0;r<4;r++){const s=document.createElement("span");r==1&&this._draggable&&t instanceof yo&&(s.draggable=!0),i.appendChild(s)}return i}$_layoutCell(e,t,i,r,s){const n=r.children;let o=n[0];i instanceof yn?(o||r.appendChild(o=e.createElement("button")),i.expanded?o.className=il.EXPANDER_EXPANDED:o.className=il.EXPANDER_COLLAPSED):o&&(o.className=il.EXPANDER);let l=n[1];if(l.className=il.FILED_CLASS,l.contentEditable=this._editor.nameEditable&&i.nameEditable?"true":"false",l.textContent=s&&this._editor.model.rootName||i.name,l.spellcheck=!1,l.style.marginLeft="",i instanceof yn)l=n[2],l.className="json-count",i.expanded?i instanceof c1?l.textContent="("+(i.count-1)+") {":i instanceof d1&&(l.textContent="("+(i.count-1)+") ["):i instanceof c1?l.textContent="{"+(i.count-1)+"}":i instanceof d1&&(l.textContent="["+(i.count-1)+"]"),l=n[3],l.contentEditable="false",l.className="json-none",l.style.visibility="hidden",l.textContent="";else if(i instanceof yo){const h=i instanceof cA;l=n[2],l.className="json-separator",l.textContent=h?`[${i.value?i.value.length:0}] :`:":",l=n[3],t.editable?(l.contentEditable="true",l.spellcheck=!1):l.contentEditable="false",l.className="json-value",l.style.visibility="",h?l.dataset.type="array":i instanceof cC?l.dataset.type="number":i instanceof nS?l.dataset.type="bool":i instanceof Rx?l.dataset.type="null":l.dataset.type="string",l.textContent=i.displayText}else l=n[1],l.className="json-count",l.contentEditable="false",l.style.marginLeft="-18px",i instanceof gP?i.parent instanceof c1?l.textContent="}":i.parent instanceof d1?l.textContent="]":l.textContent="":l.textContent="",l=n[2],l.textContent="",l.contentEditable="false",l=n[3],l.className="json-count",l.contentEditable="false",l.textContent=""}$_getNameDom(e){return e.cells[2].firstElementChild.children[1]}$_getValueDom(e){return e.cells[2].firstElementChild.children[3]}$_focusedChanged(e,t){let i=this.rowOfItem(e);i&&X.setBoolData(i,"focused",!1),i=this.rowOfItem(t),i&&(X.setBoolData(i,"focused",!0),this.makeRowVisible(i))}$_getTr(e){do{if(e instanceof HTMLTableRowElement)return e;e=e.parentElement}while(e)}_hoverChanged(e,t,i){}}il.EXPANDER="json-expander";il.EXPANDER_EXPANDED="json-expander json-expander-expanded";il.EXPANDER_COLLAPSED="json-expander json-expander-collapsed";il.ROW_MOVER="json-row-mover";il.ROW_MENU="json-row-menu";il.FILED_CLASS="json-field";class dLe extends bd{constructor(e){super(e,"jsonSelectionTool"),this._editor=e}_doDispose(){this._editor=null,super._doDispose()}get viewer(){return this._editor}_doMouseDown(e){const t=this._editor,i=t.bodyView,r=this.mouseEventTarget,s=i.rowOf(r),n=i.isRowMenu(r);if(n)t.onRowMenuClick&&t.onRowMenuClick(n);else if(i.isExpander(r)){const o=i.itemOf(r);o.isGroup()&&(o.expanded?t.collapse(o):t.expand(o))}return s&&(t.focused=i.itemOf(s)),!0}_doMouseMove(e){}_doMouseUp(e){}_doClick(e,t,i){const r=this._editor,s=r.bodyView,n=this.mouseEventTarget,o=s.rowOf(n);s.isRowMenu(n),o&&(r.focused=s.itemOf(o));const l=this.findElementAt(t,i,!1);l&&this._clickElement}_doDblClick(e){}_doMouseWheel(e){return!!(e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY))}_doMouseEnter(e){}_doMouseLeave(e){}_doMouseOver(e){}_doContextMenu(e){return!1}_doKeyDown(e){const t=e.keyCode,i=e.ctrlKey,r=e.altKey,s=ee.isMac,n=s&&e.metaKey||!s&&e.ctrlKey,o=e.shiftKey,l=n&&!r&&!o,h=e.target instanceof HTMLElement?e.target:null,c=this._editor,d=c.focused,u=c.bodyView.itemOf(h);let A=!1;switch(t){case 90:if(s&&n&&o||i&&o&&!r)return c.redo();if(l)return c.undo();break;case 89:if(l)return c.redo();break;case 13:!i&&!n&&!o&&(A=this.$_enter(h,u||d));break;case 27:A=this.$_esc(h,u);break;case 9:o?A=this.$_tab(h,d,-1):A=this.$_tab(h,d,1);break;case 36:n&&(A=this.$_home());break;case 35:n&&(A=this.$_end());break;case 37:A=this.$_left(h,d);break;case 39:A=this.$_right(h,d);break;case 40:A=this.$_move(h,d,1);break;case 38:A=this.$_move(h,d,-1);break}return A&&(e.preventDefault(),e.stopImmediatePropagation()),A||super._doKeyDown(e)}_doKeyPress(e){return!1}_doKeyUp(e){return!1}_doFocusLeave(e){const t=this._editor;if(t.focused instanceof yo){const i=t.bodyView.rowOfItem(t.focused);if(i){const r=t.bodyView.getNameDom(i),s=t.bodyView.getValueDom(i);t._fireFocusedLeave(t.focused,r.textContent,s.textContent)}}}$_enter(e,t){if(e){const i=this._editor,r=i.bodyView;if(t){const s=r.rowOfItem(t);return i.isEditing()?r.isName(e)?this.$_tab(e,t,1):this.$_move(e,t,1):(t.isGroup()?e=r.getNameDom(s):e=r.getValueDom(s),e&&e.focus(),ee.selectAll(e),!0)}}return!1}$_esc(e,t){const i=this._editor;if(e&&(i.setFocus(),t instanceof yo||t instanceof yn))return i.isName(e)?e.textContent=t.name:t instanceof yo&&(e.textContent=t.value),!0}$_left(e,t){const i=this._editor;if(!i.isEditing()&&t.isGroup())return i.collapse(t),!0}$_right(e,t){const i=this._editor;if(!i.isEditing()&&t.isGroup())return i.expand(t),!0}$_tab(e,t,i){if(e){const r=this._editor,s=r.bodyView,n=s.itemOf(e),o=!n||r.isName(e),l=r.model;let h=r.focused;if((n instanceof yo||n instanceof yn)&&this.$_commitEdit(n,e),r.isEditing()&&e.blur(),h){let c=s.rowOfItem(h);i>0?o&&h instanceof yo?e=s.getValueDom(c):(h=l.getNextVisible(h),h&&(c=s.rowOfItem(h),e=s.getNameDom(c))):i<0&&(h===r.model.root||(!o&&h instanceof yo?e=s.getNameDom(c):(h=l.getPrevVisible(h),h&&(c=s.rowOfItem(h),e=h instanceof yn?s.getNameDom(c):s.getValueDom(c)))))}else h=l.firstVisible,h&&(e=s.getNameDom(s.rowOfItem(h)));return e&&e.focus(),r.focused=h,!0}return!1}$_move(e,t,i){if(e){const r=this._editor,s=r.bodyView,n=s.itemOf(e),o=r.model;let l=r.focused;if((n instanceof yo||n instanceof yn)&&this.$_commitEdit(n,e),r.isEditing()&&e.blur(),l?i>0?l=o.getNextVisible(l):i<0&&(l=o.getPrevVisible(l)):l=o.firstVisible,(l instanceof yo||l instanceof yn)&&o.isEditable(l)){const h=s.rowOfItem(l);e=l instanceof yn?s.getNameDom(h):s.getValueDom(h),e&&e.focus(),ee.selectAll(e)}else r.setFocus();return r.focused=l,!0}return!1}$_home(){const e=this._editor.bodyView.getFirstValue();if(e)return e.focus(),!0}$_end(){const e=this._editor.bodyView.getLastValue();if(e)return e.focus(),!0}$_commitEdit(e,t){const i=this._editor;t.blur();try{return i.isName(t)?(i.model.changeName(e,t.textContent),!0):e instanceof yo&&!i.model.changeValue(e,t.textContent)?(i.invalidateLayout(),!1):!0}catch(r){return i.invalidateLayout(),i.showMessage(r),!1}}}class WC extends sr{constructor(e,t=!1){super(e),this._nameEditable=!1,this.appendDom(this._messageBox=X.createDiv(this.doc,"json-message-box hidden")),this.addElement(this._bodyView=this._createBodyView(t))}_doDispose(){this._bodyView.dispose(),super._doDispose()}get model(){return this._model}set model(e){e!==this._model&&(this._model&&this._model.removeListener(this),this._model=e,this._model&&this._model.addListener(this),this.$_modelchanged())}get nameEditable(){return this._nameEditable}set nameEditable(e){e!==this._nameEditable&&(this._nameEditable=e,this.invalidateLayout())}get focused(){return this._focused}set focused(e){if(e!==this._focused){const t=this._focused;this._focused=e,this.$_focusedChanged(t,this._focused)}}get bodyView(){return this._bodyView}set bodyView(e){e!==this._bodyView&&(this._bodyView=e,this.invalidateLayout())}getName(e){const t=this._bodyView.rowOfItem(e);return t&&this._bodyView.getNameDom(t)}getValue(e){const t=this._bodyView.rowOfItem(e);return t&&this._bodyView.getValueDom(t)}expand(e,t=!1){e=e||this.model.rootGroup,e.$_expand(!0,t)&&(this.model.$_refreshVisibles(),this.invalidateLayout())}collapse(e,t=!1){e=e||this.model.rootGroup,e.$_expand(!1,t)&&(this.model.$_refreshVisibles(),this.invalidateLayout())}expandAll(){this.expand(null,!0)}collapseAll(){this.collapse(null,!0)}isName(e){return e.classList.contains("json-field")}isValue(e){return e.classList.contains("json-value")}isEditing(){return!!this._bodyView.getEditingRow()}isEditingAt(e){return e=e||this._focused,e&&this._bodyView.getEditingItem()===e}undo(){if(this._model.undo())return this.invalidateLayout(),!0}redo(){if(this._model.redo())return this.invalidateLayout(),!0}beginEdit(e=null){return this._bodyView.beginEdit(e||this._focused)}getFocusedTag(e){let t=this._focused;if(t){let i=t.tag;for(;!(i instanceof e)&&(t=t.parent,!!t);)i=t.tag;if(i instanceof e)return i}}ignoreHovering(e){return!1}showMessage(e,t="error"){this.hideMessage(),this._messageBox.textContent=e,this._messageBox.dataset.type=t,this._messageBox.classList.remove("hidden"),this._messageTimer=setTimeout(()=>{this._messageBox.classList.add("hidden"),this._messageTimer=void 0},2*1e3)}hideMessage(){this._messageTimer?(clearTimeout(this._messageTimer),this._messageTimer=void 0):this._messageBox.classList.add("hidden")}closeCommands(){var e;(e=this._model)===null||e===void 0||e.closeCommands()}_createDefaultTool(){return new dLe(this)}_doPrepareContainer(e,t){t.className="json-root json-editor",t.oninput=i=>{this._inputHandler(i)},this.root.setStyles({display:"flex",flexDirection:"column"})}_doLayout(e){this._bodyView.measure(e.width,e.height),this._bodyView.setBounds(0,0,e.width,e.height),this._bodyView.layoutContent()}_createBodyView(e){return new il(this,e)}$_modelchanged(){this._focused=null}$_focusedChanged(e,t){t&&!t.revealed?(this._model.reveal(t),this.invalidateLayout()):this._bodyView.$_focusedChanged(e,t),this._fireFocusedChanged(t,e)}_inputHandler(e){}_fireFocusedChanged(e,t){this.fireEvent(WC.FOCUSED_CHANGED,e,t)}_fireFocusedLeave(e,t,i,r,s,n){this.fireEvent(WC.FOCUSED_LEAVE,e,t,i,r,s,n)}onJsonReset(e){this._focused=null,this.invalidateLayout()}onJsonNameChanged(e,t,i,r){this.invalidateLayout()}onJsonValueChanged(e,t,i,r){this.invalidateLayout()}onJsonItemChanged(e,t,i){this.invalidateLayout()}onJsonItemAdded(e,t,i){this.invalidateLayout()}onJsonItemsAdded(e,t,i){this.invalidateLayout()}onJsonItemRemoved(e,t,i){this.invalidateLayout()}onJsonItemCleared(e,t){this.invalidateLayout()}onJsonCommandStackChanged(e,t,i){var r;(r=this.onCommandChanged)===null||r===void 0||r.call(this,t,i)}}WC.FOCUSED_CHANGED="onJsonFocusedChanged";WC.FOCUSED_LEAVE="onJsonFocusedLeave";class uLe extends wd{constructor(e,t){super(),this._item=e,this._newValue=t,this._oldValue=e.value}_doDispose(){}get source(){return this._item}redo(e){this._item.value=this._newValue}undo(){this._item.value=this._oldValue}}class ALe extends wd{constructor(e,t,i){super(),this._model=e.json,this._parent=e,this._item=t,this._before=i}_doDispose(){this._model=this._parent=this._item=null}get source(){return this._item}redo(e){this._model.$_addItem(this._parent,this._item,this._before)}undo(){this._model.$_removeItem(this._item)}}class fLe extends wd{constructor(e){super(),this._model=e.json,this._parent=e.parent,this._item=e,this._before=this._parent.getAfter(e)}_doDispose(){this._model=this._parent=this._item=null}get source(){return this._item}redo(e){this._model.$_removeItem(this._item)}undo(){this._model.$_addItem(this._parent,this._item,this._before)}}class pLe extends wd{constructor(e){super(),this._group=e,this._items=e.items}_doDispose(){this._group=null}get source(){return this._group}redo(e){this._group.json.$_clearItems(this._group)}undo(){this._group.clear(),this._group.json.$_addItems(this._group,this._items)}}class gLe extends wd{constructor(e,t){super(),this._item=e,this._newName=t,this._oldName=e.name}_doDispose(){}get source(){return this._item}redo(e){this._item.name=this._newName}undo(){this._item.name=this._oldName}}class _Le extends wd{constructor(e,t){super(),this._parent=e.parent,this._index=this._parent.indexOf(e),this._oldItem=e,this._newItem=t}_doDispose(){this._parent=this._oldItem=this._newItem=null}get source(){return this._oldItem}redo(e){this._parent.set(this._index,this._newItem)}undo(){this._parent.set(this._index,this._oldItem)}}class Yn extends To{constructor(e,t){super(),this._editable=!0,this._appendable=!1,this._source=e,this._rootName=(t==null?void 0:t.rootName)||"",(!t||t.undoable!==!1)&&(this._commands=new uS(this)),this._appendable=t&&t.appendable,this.$_load(e)}editCommandStackChanged(e,t,i,r){this.fireEvent(Yn.COMMANDS_STACK_CHANGED,e,t,i,r)}editCommandStackDirtyChanged(e){this.fireEvent(Yn.DIRTY_CHANGED)}editCommandError(e){}get source(){return this._source}get dirty(){return this._commands.canUndo}get rootName(){return this._rootName}get root(){return this._root}get rootGroup(){return this._root instanceof yn?this._root:null}get allItems(){return this._items}get visibleItems(){return this._visibles}get firstVisible(){return this._visibles[0]}get lastVisible(){return this._visibles[this._visibles.length-1]}get editable(){return this._editable}set editable(e){e!==this._editable&&(this._editable=e,this.$_refreshVisibles())}isRoot(e){return e===this._root}load(e){this.$_load(e),this._fireReset()}saveAsString(){const e=this._root.save();return JSON.stringify(e,null,2)}expand(e=null,t=!1){if(!e&&this._root instanceof yn&&(e=this._root),e&&e.$_expand(!0,t))return this.$_refreshVisibles(),!0}collapse(e=null,t=!1){if(!e&&this._root instanceof yn&&(e=this._root),e&&e.$_expand(!1,t))return this.$_refreshVisibles(),!0}reveal(e){if(e&&!e.revealed){const t=e.getPath();for(let i=0;i<t.length-1;i++)t[i].$_expanded=!0;return!0}}findByTag(e){if(this._root instanceof yn)return this._root.findByTag(e)}getNextVisible(e){const t=Math.max(0,Math.min(this._visibles.length-1,this._visibles.indexOf(e)+1));return this._visibles[t]}getPrevVisible(e){const t=Math.max(0,Math.min(this._visibles.length-1,this._visibles.indexOf(e)-1));return this._visibles[t]}closeCommands(){this._commands.close()}clean(){this._commands.flush()}undo(){return this._commands&&this._commands.undo()}redo(){return this._commands&&this._commands.redo()}isEditable(e){return e!==this._root}insertItem(e,t,i){}addItem(e,t,i){if(e&&t&&e.canAdd(t)&&!e.contains(t))return this._commands?this._commands.execute(new ALe(e,t,i)):this.$_addItem(e,t,i),!0}canRemove(e){return e!==this._root&&e&&e.parent&&e.parent.canRemove(e)}removeItem(e){if(e!==this._root&&e&&e.parent)return this._commands?this._commands.execute(new fLe(e)):this.$_removeItem(e),!0}clearItems(e){if(e.count>0)return this._commands?this._commands.execute(new pLe(e)):this.$_clearItems(e),!0}changeName(e,t){if(e&&e.name!=t){const i=e.name;if(e.parent instanceof c1&&!e.parent.isValidName(e,t))throw this._fireNameChanged(e,i),new Error("이미 존재하는 필드 이름입니다: "+t);return this._commands?this._commands.execute(new gLe(e,t)):e.name=t,this._fireNameChanged(e,i),!0}}changeValue(e,t){if(!e)return!1;let i=e.parseValue(t),r=!1;if(e instanceof cA?(i=cA.parseArrayValue(t),r=e.valueEquals(t.split(cA.REGEX_COMMA))):r=e.valueEquals(i),e&&!r){if(e instanceof cC){const n=Number(i);if(isNaN(n))return}const s=e.value;return this._commands?this._commands.execute(new uLe(e,i)):e.value=i,this._fireValueChanged(e,s),!0}}changeType(e,t){if(!(e instanceof t)){const i=e.value;let r;if(t===Rx?r=new Rx(e.name):t===_P?r=new _P(e.name,String(i)):t===nS?r=new nS(e.name,!!i):t===cC?r=new cC(e.name,+i):t===cA&&(r=new cA(e.name,[String(i)])),r){if(this._commands)this._commands.execute(new _Le(e,r));else{const s=e.parent;s.set(s.indexOf(e),r)}return this.$_buildItems(),this._fireItemChanged(e,r),r}}return e}search(e,t){const i=[];t.caseSensitive||(e=e.toLowerCase());for(let r of this._items)if(r instanceof yo){const s=r.displayText;if(s){let n=s;t.caseSensitive||(n=n.toLowerCase()),(t.wholeWord&&n===e||!t.wholeWord&&n.indexOf(e)>=0)&&i.push({item:r,prop:r.displayText})}}return i.length>0?i:null}$_load(e){e==null?this._root=new Rx("/"):ee.isArray(e)?this._root=new d1("/",e):this._root=new c1("/",e);const t=this;Object.defineProperty(this._root,"json",{get:function(){return t}}),this.$_buildItems()}$_save(){this._source&&Object.assign(this._source,this._root.save())}$_buildItems(){this._items=[this._root],this._visibles=[this._root],this._root instanceof yn&&(this._root.collectItems(this._items,this._appendable),this._root.expanded&&this._root.collectVisibles(this._visibles))}$_refreshVisibles(){this._visibles=[this._root],this._root instanceof yn&&this._root.expanded&&this._root.collectVisibles(this._visibles)}$_addItem(e,t,i){if(e&&e.add(t,i))return this.$_buildItems(),this.$_refreshVisibles(),this._fireItemAdded(e,t),t}$_addItems(e,t){e&&e.addAll(t)>0&&(this.$_buildItems(),this.$_refreshVisibles(),this._fireItemsAdded(e,t))}$_removeItem(e){const t=e==null?void 0:e.parent;t&&t.remove(e)&&(this.$_buildItems(),this.$_refreshVisibles(),this._fireItemRemoved(t,e))}$_clearItems(e){if(e&&e.count>0){const t=e.clear();return t.forEach(i=>{let r=this._items.indexOf(i);this._items.splice(r,1)}),this.$_buildItems(),this.$_refreshVisibles(),this._fireItemCleared(e),t}}_fireReset(){this.$_save(),this.fireEvent(Yn.RESET)}_fireNameChanged(e,t){this.$_save(),this.fireEvent(Yn.NAME_CHANGED,e,e.name,t)}_fireValueChanged(e,t){this.$_save(),this.fireEvent(Yn.VALUE_CHANGED,e,e.value,t)}_fireItemChanged(e,t){this.$_save(),this.fireEvent(Yn.ITEM_CHANGED,e,t)}_fireItemAdded(e,t){this.$_save(),this.fireEvent(Yn.ITEM_ADDED,e,t)}_fireItemsAdded(e,t){this.$_save(),this.fireEvent(Yn.ITEMS_ADDED,e,t)}_fireItemRemoved(e,t){this.$_save(),this.fireEvent(Yn.ITEM_REMOVED,e,t)}_fireItemCleared(e){this.$_save(),this.fireEvent(Yn.ITEM_CLEARED,e)}}Yn.COMMANDS_STACK_CHANGED="onJsonCommandStackChanged";Yn.DIRTY_CHANGED="onJsonDirtyChanged";Yn.RESET="onJsonReset";Yn.NAME_CHANGED="onJsonNameChanged";Yn.VALUE_CHANGED="onJsonValueChanged";Yn.ITEM_CHANGED="onJsonItemChanged";Yn.ITEM_ADDED="onJsonItemAdded";Yn.ITEMS_ADDED="onJsonItemsAdded";Yn.ITEM_REMOVED="onJsonItemRemoved";Yn.ITEM_CLEARED="onJsonItemCleared";class mLe extends Yn{constructor(){super(...arguments),this.nextNameId=1}}class wLe extends Hn{constructor(e){super(e.doc,"json-menu"),this.editor=e,this._addMode=!1}_doDispose(){this.editor=null,super._doDispose()}setMenu(e,t,i){const r=this.editor.model;return this.item=e,this.dom.style.display="flex",X.setVisible(this._spanAdd,!this._addMode&&e!==r.root),X.setVisible(this._spanRemove,!this._addMode&&r.canRemove(e)),X.setVisible(this._spanClear,!this._addMode&&e instanceof yn&&e.count>0),this.move(t,i)}setAddMode(e){return e!==this._addMode&&(this._addMode=e,X.setVisible(this._addBox,e,"flex"),X.setVisible(this._spanAdd,!e),X.setVisible(this._spanRemove,!e),X.setVisible(this._spanClear,!e)),this}_initDom(e,t){function i(o,l,h){X.setData(o,"cmd",l),X.setTip(o,h)}const r={};let s,n;X.setStyles(t,{position:"absolute",display:"flex",alignItems:"center",gap:"4px",pointerEvents:"auto"}),t.appendChild(n=this._spanAdd=X.createSpan(e,"json-menu-item",r,"✚")),i(n,"+","Insert Item"),t.appendChild(n=this._spanRemove=X.createSpan(e,"json-menu-item",r,"▬")),i(n,"-","Remove Item"),t.appendChild(n=this._spanClear=X.createSpan(e,"json-menu-item",r,"X")),i(n,"x","Clear Children"),t.appendChild(s=this._addBox=X.createDiv(e,"json-menu-box",{display:"none",alignItems:"center",gap:"4px"})),s.appendChild(n=X.createSpan(e,"json-menu-item",r,"#")),i(n,"N","Insert Number"),s.appendChild(n=X.createSpan(e,"json-menu-item",r,'""')),i(n,"T","Insert Text"),s.appendChild(n=X.createSpan(e,"json-menu-item",r,"!")),i(n,"B","Insert Boolean"),s.appendChild(n=X.createSpan(e,"json-menu-item",r,"{}")),i(n,"O","Insert Object"),s.appendChild(n=X.createSpan(e,"json-menu-item",r,"[]")),i(n,"A","Insert Array")}}class yLe extends il{_hoverChanged(e,t,i){this.editor.$_hoverRow(e,t)}}class vLe extends WC{constructor(e){super(e,!0),this._menuPanel=new wLe(this)}_createBodyView(e){return new yLe(this,e)}_wheelHandler(e){this.$_hoverRow(null,null),super._wheelHandler(e)}_mouseLeaveHandler(e){this.$_hoverRow(null,null),super._mouseLeaveHandler(e)}_doClick(e){try{const t=e.target,i=this._menuPanel.item,r=this.model;let s;if(t instanceof HTMLSpanElement){switch(t.dataset.cmd){case"+":this._menuPanel.setAddMode(!0);break;case"-":this.model.removeItem(i),this.$_hoverRow(null,null);break;case"x":i instanceof yn&&r.clearItems(i),this._menuPanel.setAddMode(!1);break;case"N":s=new cC(i.parent.getNextName(r.nextNameId++),1234);break;case"T":s=new _P(i.parent.getNextName(r.nextNameId++),"값");break;case"B":s=new nS(i.parent.getNextName(r.nextNameId++),!0);break;case"O":s=new c1(i.parent.getNextName(r.nextNameId++),{name:"값"});break;case"A":s=new d1(i.parent.getNextName(r.nextNameId++),["항목"]);break}s&&(r.addItem(i.parent,s,i)&&(this.focused=s,this._menuPanel.setAddMode(!1)),this._menuPanel.setAddMode(!1),setTimeout(()=>{this.$_hoverRow(null,null),ee.focusAndSelect(this.getName(s))},0))}}catch(t){this.showMessage(t)}return super._doClick(e)}_inputHandler(e){this._menuPanel.hide()}ignoreHovering(e){if(this._menuPanel.contains(e))debugger;return this._menuPanel.contains(e)}$_getMenuPos(e){const t=this.containerDiv.getBoundingClientRect(),r=this.bodyView.getRowContent(e).getBoundingClientRect();let s=r.x-t.x+r.width+10,n=r.y-t.y-1;return{x:s,y:n}}$_hoverRow(e,t){if(this._menuPanel.setAddMode(t instanceof gP),t){const{x:i,y:r}=this.$_getMenuPos(e);this.addFeedback(this._menuPanel.setMenu(t,i,r))}else this.removeFeedback(this._menuPanel.setMenu(null,0,0))}}class CLe extends Mz{_focus(e){e instanceof HTMLElement&&e.focus(),e.target instanceof HTMLElement&&e.target.focus()}_blur(e){e instanceof HTMLElement&&e.blur(),e.target instanceof HTMLElement&&e.target.blur()}_getTableCell(e){if(e instanceof Element){let t=e;do{if(t instanceof HTMLTableCellElement)return t;t=t.parentElement}while(t)}}_row(e){return e.parentElement.rowIndex-1}_downCell(e,t,i=!0){if(this._row(e)<t-1){const s=e.parentElement,o=s.parentElement.rows[s.rowIndex].cells[e.cellIndex].firstElementChild;if(o)return i&&o.focus(),o}}_upCell(e,t=!0){if(this._row(e)>0){const r=e.parentElement,n=r.parentElement.rows[r.rowIndex-2].cells[e.cellIndex].firstElementChild;if(n)return t&&n.focus(),n}}}class bLe extends CLe{constructor(e){super(e,"rrd-simple-data-table"),this.selStart=-1,this.selLength=0}get displayInPreview(){var e;return(e=this._previewCheck)===null||e===void 0?void 0:e.checked}get editor(){return this._editor}showErrorLabel(e){this._errorLabel.style.display="block",this._errorLabel.textContent=e,setTimeout(()=>{this._errorLabel.style.display="none"},2e3)}_addEventListeners(e){e.ondragstart=t=>{}}_doInitDom(e,t){const i=X.createDiv(e,"rr-designer-simple-data-body");Object.assign(i.style,{flex:"1 1 0"}),this.addDom(i);const r=X.createDiv(e,"rr-designer-simple-data-editor");Object.assign(r.style,{width:"100%",height:"100%"}),i.appendChild(r),this._editor=this.$_prepareEditor(r)}_doRender(e){e.runInMode("embed",()=>{e.sample===void 0&&e.setSample({}),this._sample=e.sample}),this.$_buildTable(this.doc,this._sample)}$_prepareEditor(e){const t=new vLe(e);return t.nameEditable=!0,t.onCommandChanged=(i,r)=>{var s;(s=this.onSampleChanged)===null||s===void 0||s.call(this,i,r)},t.addListener({onJsonFocusedChanged:(i,r,s)=>{var n;(n=this.onRowFocus)===null||n===void 0||n.call(this,r)},onJsonFocusedLeave:(i,r,s,n)=>{const o=r;console.log("LEAVE",s,n);try{o.name!==s&&i.model.changeName(o,s),o.value!==n&&i.model.changeValue(o,n)}catch(l){i.showMessage(l)}}}),t}$_loadModel(e){const t=this._editor;let i=t.model;(!i||i.source!=e)&&(t.model&&i.removeListener(this),e?(i=t.model=e&&new mLe(e,{appendable:!0,undoable:!0,rootName:this.data.name}),i.clean(),i.addListener(this)):t.model=null),t.invalidateLayout()}$_buildTable(e,t){if(!this._editor){const i=X.createDiv(e,"rrd-simple-data-body");Object.assign(i.style,{flex:"1 1 0",height:"100%"}),this.addDom(i);const r=X.createDiv(e,"rrd-simple-data-editor");Object.assign(r.style,{width:"100%",height:"100%"}),i.appendChild(r),this._editor=this.$_prepareEditor(r)}this.$_loadModel(t)}onJsonNameChanged(e,t,i,r){const s=t.getPath().slice(1,-1).map(n=>n.name).concat(r).join(".");this.data.changeName(s,i)}onJsonValueChanged(e,t,i,r){const s=t.getPath().slice(1).map(n=>n.name).join(".");this.data.setValue(s,i)}}var Nl;(function(a){a.Fields="fields",a.Link="link",a.Sample="sample"})(Nl||(Nl={}));class ELe extends Ii{constructor(e){super(e,"rrd-band-data-header-labels"),this.addDom(this._dataNameSpan=X.createSpan(e,void 0,{paddingTop:"2px",fontSize:"13px",fontWeight:600,whiteSpace:"nowrap"})),this.addChild(new Ht(e,{svg:xe.dataPanel.dataRemove,size:"18px",hint:"Delete",style:{marginLeft:"1px"},onClick:t=>{var i;return(i=t.report)===null||i===void 0?void 0:i.removeData(this.data.name)}})),this.addChild(new Ht(e,{label:"Share",size:"18px",style:{marginLeft:"1px"},onClick:()=>{}}))}layout(e,t){this.data=e,this._dataNameSpan.textContent=e.name}_doInitStyles(e){Object.assign(e.style,{display:"flex",alignItems:"center",gap:"2px"})}}class xLe extends Ii{constructor(e){super(e,"rrd-simple-data-header-tools"),this.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:()=>this.$_getEditor().model.undo()})),this.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:()=>this.$_getEditor().model.redo()})),this.addChild(this._separator=ql.create(e))}_initItems(e,t){t.forEach(i=>{if(i.type==="button"){const r=new Ht(e,i);this.addChild(r)}else{const r=new ql(e,i);this.addChild(r)}})}layout(e,t){const i=this.getChildren();i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===Nl.Fields).forEach(r=>r.visible=t===Nl.Fields),i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===Nl.Link).forEach(r=>r.visible=t===Nl.Link),X.setData(i.find(r=>r instanceof Ht&&r.tag===Nl.Fields).dom,"checked",t===Nl.Fields?"1":""),X.setData(i.find(r=>r instanceof Ht&&r.tag===Nl.Link).dom,"checked",t===Nl.Link?"1":""),this._separator.setVisible(this._redoButton.setVisible(this._undoButton.setVisible(t===Nl.Fields)))}_doInitStyles(e){super._doInitStyles(e),X.setStyles(this.dom,{height:"100%"})}$_getEditor(){let e=this.parent;for(;e&&!(e instanceof Nz);)e=e.parent;return e.dataView.editor}}let SLe=class extends Ii{constructor(e){super(e,"rrd-simple-data-header"),this.addChild(this._labelView=new ELe(e)),this.addDom(this._pathSpan=X.createSpace(e)),X.setStyles(this._pathSpan,{fontWeight:"bold",textAlign:"center",whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"}),this.addChild(this._toolView=new xLe(e))}_initToolItems(e,t){this._toolView._initItems(e,t)}get toolView(){return this._toolView}render(e,t){this._toolView.layout(e,t),this._labelView.layout(e,t)}setPath(e){this._pathSpan.textContent=e?"data."+e.getPathStr():""}};class Nz extends v4{constructor(e){super(e,"simple"),this._inited=!1,this._dataChanged=!1,this._page=Nl.Fields,this._pageChangeClickedHandler=(t,i)=>{i!==this._page&&(this._page=i,this.render())}}get dataView(){return this._dataView}get data(){return this._data}set data(e){e!==this._data&&(this._data&&(this._data.onClean=null),this._data=e,this._dataChanged=!0,this.invalidateLayout(),this._data?(this._data.onLinkChanged=(t,i)=>{this._linkView.commandStackChanged(t,i)},this._data.onClean=()=>{this._dataView.editor.closeCommands()}):this._linkView.commandStackChanged(null,null))}prepareBandFieldTableViewHandler(e){}_doInitStyles(e){super._doInitStyles(e),Object.assign(e.style,{flexDirection:"column"})}_doInitDom(e,t){this.addChild(this._headerView=new SLe(e));const i=new Ii(e,"rrd-band-data-body");i.setStyles({flex:"1 1 0",overflow:"auto"});const r=new Ii(e,"rrd-band-data-content");r.setStyles({width:"100%",height:"100%"}),r.addChild(this._linkView=new hLe(e)),r.addChild(this._dataView=new bLe(e)),this._dataView.onRowFocus=s=>{this._headerView.setPath(s)},i.addChild(r),this.addChild(i),this._dataView.onSampleChanged=(s,n)=>{var o;this._headerView.toolView._undoButton.enabled=s.canUndo,this._headerView.toolView._redoButton.enabled=s.canRedo,this.data.setDirty(),(o=this.data.provider)===null||o===void 0||o.dataChanged(this.data)}}_doRender(e,t){this._inited||(this._headerView._initToolItems(e,[{type:"button",tag:Nl.Fields,svg:xe.dataPanel.dataSchema,size:"20",hint:"Fields",onClick:this._pageChangeClickedHandler},{type:"button",tag:Nl.Link,svg:xe.dataPanel.dataLink,size:"20",hint:"Link",onClick:this._pageChangeClickedHandler}]),this._inited=!0),this._headerView.render(this.data,this._page),(this._dataView.visible=this._page===Nl.Fields)&&(this._dataView.data=this.data,this._dataView.report=this.report,this._dataView.render(this.data)),(this._linkView.visible=this._page===Nl.Link)&&(this._linkView.data=this.data,this._linkView.render(this.data)),this._dataChanged&&(this._dataChanged=!1,this._linkView.dirty=!1)}$_setSampleData(e,t){console.log(e,t);const i=this._data.sample;i[e]=t}$_removeSampleData(e){const t=this._data.sample;delete t[e]}onJsonDirtyChanged(e){this.invalidateLayout()}onJsonValueChanged(e,t,i,r){this.$_setSampleData(t.name,i)}onJsonNameChanged(e,t,i,r){this.$_removeSampleData(r),this.$_setSampleData(i,t.value)}onJsonItemChanged(e,t,i){this.$_setSampleData(t.name,i.value)}onJsonItemRemoved(e,t,i){this.$_removeSampleData(i.name)}}let ILe=class extends uy{getItemMenus(e){return this._itemMenus.forEach(t=>t.tag=e),this._itemMenus}constructor(e,t){super(e,"rrd-datapanel",t),this._itemMenus=[{type:"text",label:"Delete",icon:xe.delete,visible:(i,r)=>{const s=r.tag;return this.canDelete(s)},onClick:(i,r)=>{const s=r.tag;this.report.removeData(s.name)}},{type:"text",label:"Use",icon:xe.use,visible:(i,r)=>{const s=r.tag;return this.canUse(s)},onClick:(i,r)=>{const s=r.tag;this._listView.useDataTemplate(this.model.ctx,s),this._treeView.focusedItem=this._treeView.reportGroup}}],this._listMenus=[{type:"check",label:"List View",icon:xe.addSingle,checked:()=>this._listView.listMode,onClick:(i,r)=>{this._listView.listMode=!this._listView.listMode}},{type:"seperator"},{type:"text",label:"Undelete",icon:xe.addSingle,visible:()=>this.listView.isReport&&this.report.peekCommand()instanceof eM,onClick:(i,r)=>{this.report.undo()}},{type:"seperator",visible:()=>this.listView.isReport&&this.report.peekCommand()instanceof eM},{type:"text",label:"Add Band Data",icon:xe.addSingle,visible:()=>this.listView.isReport,onClick:(i,r)=>{mP.newBand.run(this.model.ctx)}},{type:"text",label:"Add Simple Data",icon:xe.addSingle,visible:()=>this.listView.isReport,onClick:()=>{mP.newSimple.run(this.model.ctx)}}],this.contentVisible=!1}get report(){return this._report}set report(e){var t;e!==this._report&&(this._report&&this._report.removeListener(this),this._report=e,this._report&&this._report.addListener(this),this._treeView.report=e,this._listView.report=e,this._selected=(t=this._treeView.reportGroup)!==null&&t!==void 0?t:null)}get selected(){return this._selected}get listView(){return this._listView}get treeView(){return this._treeView}refreshDataTemplate(e){this._treeView.refreshDataTemplate(e)}canDelete(e){return this._listView.isReport}canUse(e){return!this._listView.isReport}resetSize(e){super.resetSize(e),this._treeView.resetSize()}_doPrepareContent(e,t){X.setStyles(t,{display:"flex"}),t.appendChild(this._treeDiv=X.createDiv(e,"",{minWidth:Et(100),width:"200px"}));const i=new Vb(e,this._treeDiv,"left");this._treeView=new ZT(i.contentDiv),this.addElement(this._contentLayer=new Ii(e)),this._contentLayer.setStyles({flex:"1 1 auto"}),this._listView=new Iz(e,this),this._listView.onDblClick=r=>{const s=this.$_findTreeItem(r);if(s)this._treeView.focusedItem=s;else if(this.model.ctx.server){const n=r.id;if(!n)return;this.model.ctx.server.getDataTemplate(n).then(o=>{const l=o.type==="band"?new mr(o.name,o.fields,o.sample,o.sample.length,o.dataLink):new cn(o.name,o.sample,o.dataLink,o.fields.map(h=>{let c="string";return h.dataType==="bool"?c="boolean":h.dataType==="number"?c="number":c="string",{...h,dataType:c}}));this._selectedServerItem=l,this.invalidateLayout()})}},this._contentLayer.addChild(this._listView),this._simpleView=new Nz(e),this._contentLayer.addChild(this._simpleView),this._bandView=new iLe(e),this._contentLayer.addChild(this._bandView)}_doBuildModel(e,t){this._treeView.initTree(t.ctx),this._treeView.addListener(this),this._bandView.prepareBandFieldTableViewHandler(t.ctx)}_doRefreshButtons(e){}_doLayout(e){var t;const i=(t=this._selected)===null||t===void 0?void 0:t.tag,r=i==="report"||i instanceof CA;this._listView.onSelect=this.onDataSelected,this._listView.group=i,(r||i instanceof CA)&&!this._selectedServerItem?(this._listView.visible=!0,this._listView.group=i,this._simpleView.visible=this._bandView.visible=!1):this._selectedServerItem?(this._listView.group=this._selectedServerItem,this.$_makeDetailViewVisible(this._selectedServerItem)):this.$_makeDetailViewVisible(i),this._listView.visible&&this._listView.render(this._report),this.$_renderDetailView(this._listView.group)}getMenu(e){const t=this._listView.itemOf(e);if(t)return this.getItemMenus(t);if(!this._listView.headerView.containsDom(e)){if(!this._bandView.visible){if(!this._simpleView.visible)return this._listMenus}}}$_makeDetailViewVisible(e){this._listView.visible=!1,this._simpleView.visible=e instanceof cn,this._bandView.visible=e instanceof mr}$_renderDetailView(e){this._simpleView.visible?(this._simpleView.data=e,this._simpleView.report=this.report,this._simpleView.render(this._report)):this._bandView.visible&&(this._bandView.data=e,this._bandView.render(this._report))}$_findTreeItem(e){return this._treeView.model.findByTag(e)}onReportDataAdded(e,t,i,r){const s=this._listView.group;if(s){let n="";s instanceof CA||s==="report"?n="report":this._listView.group==="server"&&(n="server"),this._treeView.dataAdded(n,t,i,r)}}onReportDataRemoved(e,t){this._treeView.dataRemoved(t)}onReportDataUpdated(e,t){}onReportDataNameChanged(e,t,i){this._treeView.dataRenamed(t)}onReportDataFieldNameChanged(e,t,i,r){}onTreeFocusedChanged(e,t,i){this._listView.refreshSelected(),(this._selected=t)&&(this._selectedServerItem=null,t.source.type===Oz&&t.loadable&&this.model.ctx.server?(t.setLoadable(!1),this.model.ctx.server.getDataTemplates(t.name).then(r=>{const s=r==null?void 0:r.templates;if(!s||s.length===0)return;const n=t.tag;s.forEach(o=>{n.items.push(o)}),this.invalidateLayout()})):t.tag instanceof CA,this.invalidateLayout())}onTreeModelChanged(e){}},BLe=class extends Dr{constructor(e){super(e.doc,"rrd-about-dialog-body")}_doInitDom(e,t){t.appendChild(X.createSpan(e,null,{fontSize:"20px",marginTop:"20px"},"RealReport Web Designer")),t.appendChild(X.createSpan(e,null,null,"Application version: 1.10.8")),t.appendChild(X.createSpan(e,null,null,"©Wooritech Inc. All rights reserved."))}_doInitStyles(e){X.setStyles(e,{minWidth:"400px"})}refreshBody(e,t){}},PLe=class extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{...Th.close,name:"확인"}])}};class RLe extends Ha{constructor(e){super(e,"RealReport Designer 정보","rrd-about-dialog",{retainMode:!0})}_doInitStyles(e){this.resizeDlg(450,320)}_initBody(e){return new BLe(e)}_createBottom(e){return new PLe(e.doc,this)}}let TLe=class extends Dr{constructor(e){super(e.doc,"alert-dialog-body")}setMessage(e){this.dom.innerHTML=e}_doInitDom(e,t){}},LLe=class extends Ua{_doInitBottom(e){this._addDialogButtons(e,[Th.close])}};class DLe extends Ha{constructor(e){super(e,"RealReport Designer","alert-dialog",{retainMode:!0})}setMessage(e){return this._bodyView.setMessage(e),this}_doInitStyles(e){this.resizeDlg(550,250)}_initBody(e){return new TLe(e)}_createBottom(e){return new LLe(e.doc,this)}}let OLe=class extends Dr{constructor(e,t){super(e.doc,"rrd-confirm-dialog-body"),this._contentLabel.textContent=t}_doInitDom(e,t){this._contentLabel=X.createSpan(e,"rrd-confirm-dialog-content-label"),t.appendChild(this._contentLabel)}_doInitStyles(e){X.setStyles(e,{})}refreshBody(e,t){}},MLe=class extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{name:"Remove",onClick:(t,i)=>{i.submit(t)},className:"dialog-confirm-button"},Th.cancel])}};class E4 extends Ha{constructor(e,t,i,r){super(e,t,"rrd-confirm-dialog",i),this._setCallback(r)}_doInitStyles(e){this.resizeDlg(500,200)}_initBody(e,t){return new OLe(e,t)}_createBottom(e){return new MLe(e.doc,this)}}class NLe extends Ii{prepare(e,t){const i=t.link;return this.local=t.isLocalLink,this.addDom(this._header=this.$_createHeader(e,t)),this.addDom(this._linkContainer=this.$_createLink(e,i)),this}canPreview(){if(this.local)return!!this.fileData;{const e=this.dom.getElementsByTagName("input");for(const t of e)if(!t.value)return!1;return!0}}$_createHeader(e,t){const i=X.createDiv(e,"rrd-parms-dialog-link-header",{display:"flex",alignItems:"center",gap:"4px"}),r=X.createSpan(e,"",{cursor:"pointer"}),s=X.createSpan(e),n=X.createDiv(e,"",{flex:"1 1 auto",height:"2px",borderTop:"1px solid #ccc",marginLeft:"4px"});return r.textContent="▼",X.setBoolData(r,"collapsed",!1),r.onclick=o=>{const l=o.target,h=!X.getBoolData(l,"collapsed");X.setBoolData(l,"collapsed",h),this.$_setExpander(l,h)},s.textContent=t.name,i.appendChild(r),i.appendChild(s),i.appendChild(n),i}$_createLink(e,t){const i=X.createDiv(e);return i.style.margin="4px 2px 4px 10px",this.local?(X.setStyles(i,{display:"flex",gap:"6px",alignItems:"center",margin:"8px 16px"}),this.$_createLocal(e,i,t)):(X.setStyles(i,{display:"grid",gridTemplateColumns:"minmax(110px, 110px) 1fr",gap:"4px 8px",alignItems:"center"}),this.$_createParams(e,i,t)),i}$_createLocal(e,t,i){const r=e.createElement("input"),s=e.createElement("button"),n=e.createElement("span"),o=i.fileType||"json";let l=i.exts,h;if(!l)switch(o){case"excel":l=".xlsx";break;case"csv":l=".csv,.tsv,.txt";break;default:l=".json,.txt";break}switch(r.type="file",r.style.display="none",r.accept=l,r.onchange=()=>{const c=r.files[0];if(c){const d=new FileReader;d.onload=u=>{this.fileData=u.target.result,n.textContent=`(${c.size} bytes loaded.)`,this.parent.contentChanged()},i.fileType==="excel"?d.readAsArrayBuffer(c):d.readAsText(c,"UTF-8")}},t.appendChild(r),o){case"excel":h="Excel";break;case"csv":h="CSV";break;default:h="Json";break}X.setStyles(s,{background:"var(--rrd-primary-btn-bg)",padding:"4px 8px",color:"white",borderRadius:"5px",fontWeight:"bold"}),s.textContent=`Load ${h} File`,s.onclick=()=>{r.click()},t.appendChild(s),t.appendChild(n)}$_createParams(e,t,i){const r=function(l,h){const c=X.createSpan(e);c.textContent=l+":",X.setStyles(c,{textAlign:"right",fontWeight:"bold",whiteSpace:"nowrap",textOverflow:"ellipsis",wordBreak:"break-all"}),t.appendChild(c);const d=e.createElement("input");d.id=l,d.oninput=()=>{s.parent.contentChanged()},t.appendChild(d),h&&(d.value=h)},s=this,n=i.pathParams,o=i.params;if(n&&n.forEach(l=>{r(l[1])}),o)for(const l in o)r(l,o[l])}$_setExpander(e,t){e.textContent=t?"▶":"▼",this._linkContainer.style.display=t?"none":"grid"}}let kLe=class extends Dr{constructor(e){super(e.doc,""),this._panels=[]}prepare(e,t){return t.forEach(i=>{if(i instanceof vc&&(i.hasParams()||i.isLocalLink)){const r=new NLe(e).prepare(e,i);r.dom.id=i.name,this.addChild(r),this._panels.push(r)}}),this}canPreview(){for(const e of this._panels)if(!e.canPreview())return!1;return!0}getResult(){const e={};return this._panels.forEach(t=>{if(t.local)e[t.dom.id]=t.fileData;else{const i={},r=t.dom.getElementsByTagName("input");for(const s of r)i[s.id]=s.value;e[t.dom.id]=i}}),e}_doInitStyles(e){X.setStyles(e,{overflowY:"auto"})}},CP=class ON extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{id:ON.BOTTOM_PREVIEW_BTN_ID,name:"Preview",onClick:(t,i)=>{i.submit(t)},className:"dialog-submit-button"},{id:ON.BOTTOM_CANCEL_BTN_ID,...Th.cancel,disabled:!1}])}};CP.BOTTOM_PREVIEW_BTN_ID="params-dialog-bottom-preview";CP.BOTTOM_CANCEL_BTN_ID="params-dialog-bottom-cancel";class FLe extends Ha{constructor(e){var t;super(e,`Parameters - [${(t=e.report)===null||t===void 0?void 0:t.info.name}]`,"rrd-data-params-dialog",null),this.cancelOnClose=!0,this.submitOnEnter=!0}get bodyView(){return this._bodyView}get bottomView(){return this._bottomView}get result(){return this.bodyView.getResult()}_doInitStyles(e){this.resizeDlg(450,300)}_initBody(e){return new kLe(e).prepare(e.doc,e.report.data.getAll().filter(t=>e.report.isUsed(t)))}_createBottom(e){return new CP(e.doc,this)}_doShow(){}_bodyChanged(e){this.setDisabled(CP.BOTTOM_PREVIEW_BTN_ID,!this.bodyView.canPreview())}canSubmit(){return this.bodyView.canPreview()}}const VLe={report:{name:"Blank Report Form",type:"report"},page:{name:"reportPage",pageHeader:{name:"pageHeader",items:[{type:"rbox",name:"",right:0,itemGap:4,items:[{type:"text",name:"",text:"Date:"},{type:"text",value:"${date}",name:"",text:"Text"}]}]},reportHeader:{name:"reportHeader",items:[{type:"text",text:"Report Header",styles:{fontSize:"30px",fontWeight:"bold"}}]},reportFooter:{name:"reportFooter"},pageFooter:{name:"pageFooter",items:[{type:"rbox",name:"",right:0,itemGap:4,items:[{type:"text",value:"${page}",name:"",text:"Text"},{type:"text",name:"",text:"/",styles:{paddingLeft:"3px",paddingRight:"3px"}},{type:"text",value:"${pages}",name:"",text:"Text"}]}]},body:{name:"pageBody"}}},HLe={report:{name:"blank",type:"sheet",version:"1",description:"",paperSize:"A4",paperWidth:"210mm",paperHeight:"297mm",marginLeft:"12mm",marginRight:"12mm",marginTop:"15mm",marginBottom:"15mm"},page:{name:"excelPage",type:"sheet",sheet:{type:"sheet",colCount:20,rowCount:40,autoRowHeight:!0,rowHeight:24,sheetName:"Page 1"},body:{items:[]}},assets:{"/":[]},data:{}},ULe={report:{name:"reportRoot",type:"email",paperSize:"A4",paperWidth:"210mm",paperHeight:"297mm",marginLeft:"12mm",marginRight:"12mm",marginTop:"15mm",marginBottom:"15mm"},page:{name:"reportPage",pageHeader:{name:"pageHeader"},reportHeader:{name:"reportHeader"},reportFooter:{name:"reportFooter"},pageFooter:{name:"pageFooter"},body:{name:"pageBody"}},assets:{"/":[]},data:{}},lO={report:{name:"blank report template",report:VLe,type:mt.REPORT,data:{}},sheet:{name:"blank sheet template",report:HLe,type:mt.REPORT,data:{}},email:{name:"blank email template",report:ULe,type:mt.REPORT,data:{}}};var Df;(function(a){a.TEMPLATE_CATEGORY="category",a.REPORT_TYPE="type"})(Df||(Df={}));let kz=class MN extends Dr{constructor(e,t){super(e.doc,"rrd-new-report-dialog-body"),this._mode="stock",this._sheetViewers=[],this._dialog=t,e.server&&this.dom.getElementsByClassName(MN.CLS_INPUT_CONTAINER)[0].appendChild(this.$_createMode(e)),this._reportTypeSelect.onchange=async i=>{const r=i.target.value;await this.$_refreshCategorySelect(e,r),this.$_refreshTemplates(e,r,this._categorySelect.value)},this._categorySelect.onchange=i=>{const r=i.target;this.$_refreshTemplates(e,this._reportTypeSelect.value,r.value)},this.$_refresh(e)}isServer(e){return e.server&&this._mode==="server"}refreshBody(e,t){this.$_refresh(e)}_doInitDom(e,t){const i=this.$_createSelect(e,t,Df.REPORT_TYPE),r=this.$_createSelect(e,t,Df.TEMPLATE_CATEGORY);this.$_createInputContainer(e,t,i,r),this.$_createEmptyView(e,t),this.$_createTemplateContainer(e,t)}async $_refresh(e){var t;(t=this._radioModes)===null||t===void 0||t.forEach(i=>{i.checked=i.value===this._mode}),await this.$_refreshSelects(e),this.$_refreshTemplates(e,this._reportTypeSelect.value,this._categorySelect.value)}async $_refreshSelects(e){var t,i;this.$_prepareSelect({ctx:e,selectEl:this._reportTypeSelect,options:[{value:mt.REPORT,textContent:"리포트"},{value:mt.EMAIL,textContent:"이메일 리포트"},{value:mt.SHEET,textContent:"시트 리포트"}],defaultValue:(i=(t=e.report)===null||t===void 0?void 0:t.type)!==null&&i!==void 0?i:mt.REPORT}),await this.$_refreshCategorySelect(e,this._reportTypeSelect.value)}async $_refreshTemplates(e,t,i){const r=e.doc,s=this._dialog,n=this._templateContainer,l=await e.getReportTemplateManager(this.isServer(e)).getTemplates(t,i),h=l.length===0;n.innerHTML="",this.$_toggleEmptyView(h),h&&this.$_setDefaultTemplate(t),this._sheetViewers.length>0&&(this._sheetViewers.forEach(d=>{d&&d.dispose()}),this._sheetViewers.length=0);let c=[];this.isServer(e)&&(await Promise.all(l.map(u=>e.getReportTemplateManager(!0).getTemplate(u.id)))).forEach(u=>{c.push(u.report)}),l.forEach((d,u)=>{const A=X.createDiv(r,"rrd-new-report-dialog-template-item");if(t==="sheet"){const p=X.createDiv(r,"rrd-new-thumbnail-container",{position:"relative",width:"150px",height:"200px"}),g=X.createDiv(r,"rrd-new-dialog-preview-container",{position:"relative",width:"333%",height:"333%",overflow:"hidden",transformOrigin:"left top",scale:"0.3",pointerEvents:"none"}),_=new $F(g);this._sheetViewers.push(_);const m=this.$_createReport(this.isServer(e)?c[u]:d.report),w=this.$_createDataProvider(m);_.preview(m,w,null),p.appendChild(g),A.appendChild(p)}else{const p=X.createElement(r,"img",{width:150,height:200,src:d.thumbnail});A.appendChild(p)}A.onclick=()=>{this._templateContainer.childNodes.forEach(p=>X.setData(p,"selected","")),X.setData(A,"selected","true"),this._dialog.selectedReportTemplate=d},A.ondblclick=()=>{this._dialog.submit(e)};const f=X.createSpan(r,"rrd-new-report-dialog-template-item-label",{},d.name);A.appendChild(f),n.appendChild(A),u===0&&(X.setData(A,"selected","true"),s.selectedReportTemplate=d)})}$_createTemplateContainer(e,t){this._templateContainer=X.createDiv(e,"rrd-new-report-dialog-template-container"),t.appendChild(this._templateContainer)}$_createEmptyView(e,t){this._emptyView=X.createDiv(e,"rrd-new-report-dialog-empty",{display:"none"});const i=X.createSpan(e,"rrd-new-report-dialog-empty-label",{},"사용 가능한 템플릿이 없습니다.해당 상태에서 create 버튼을 누르시면 빈 양식으로 리포트를 생성합니다.");this._emptyView.appendChild(i),t.appendChild(this._emptyView)}$_toggleEmptyView(e){this._emptyView.style.display=e?"block":"none"}async $_refreshCategorySelect(e,t){const r=await e.getReportTemplateManager(this.isServer(e)).getCategories(this._reportTypeSelect.value);this.$_prepareSelect({ctx:e,selectEl:this._categorySelect,options:r.map(s=>({value:s,textContent:s}))}),this._categorySelect.value=r[0]}$_setDefaultTemplate(e){let t;switch(e){case mt.EMAIL:t=lO.email;break;case mt.SHEET:t=lO.sheet;break;default:t=lO.report;break}this._dialog.selectedReportTemplate=t}$_createReport(e){return new ac(!0,e)}$_createDataProvider(e){const t=new db,i=e.data.getAll(),r={};for(const s of i)(s instanceof mr||s instanceof cn)&&(r[s.name]={values:s.getValues()});return t.load(r),t}$_createInputContainer(e,t,...i){const r=X.createDiv(e,MN.CLS_INPUT_CONTAINER);i.forEach(s=>s&&r.appendChild(s)),t.appendChild(r)}$_createMode(e){var t;const i=e.doc,r=X.createDiv(i,"rrd-new-report-dialog-mode");let s=i.createElement("label"),n=i.createElement("input");return this._radioModes=[],n.id="rrd-new-report-dialog-mode-stock",n.name="mode",n.type="radio",n.value="stock",s.appendChild(n),s.appendChild(X.createSpan(i,null,null,"Stock")),r.appendChild(s),this._radioModes.push(n),s=i.createElement("label"),n=i.createElement("input"),n.id="rrd-new-report-dialog-mode-server",n.name="mode",n.type="radio",n.value="server",s.appendChild(n),s.appendChild(X.createSpan(i,null,null,"Server")),r.appendChild(s),this._radioModes.push(n),(t=this._radioModes)===null||t===void 0||t.forEach(o=>{o.checked=o.value===this._mode,o.onclick=async l=>{this._mode=l.target.value,await this.$_refreshSelects(e),this.$_refreshTemplates(e,this._reportTypeSelect.value,this._categorySelect.value)}}),r}$_createSelect(e,t,i){const r=X.createSelect(e,[]);this.$_setSelectDom(r,i);const s=X.createDiv(e,"rrd-new-report-dialog-select");return s.appendChild(X.createSpan(e,"rrd-new-report-dialog-select-label",{},this.$_getSelectLabel(i))),s.appendChild(this.$_getSelect(i)),s}$_setSelectDom(e,t){switch(t){case Df.TEMPLATE_CATEGORY:this._categorySelect=e;break;case Df.REPORT_TYPE:this._reportTypeSelect=e;break}}$_getSelectLabel(e){switch(e){case Df.TEMPLATE_CATEGORY:return"Template Category";case Df.REPORT_TYPE:return"Report Type"}}$_getSelect(e){switch(e){case Df.TEMPLATE_CATEGORY:return this._categorySelect;case Df.REPORT_TYPE:return this._reportTypeSelect}}$_prepareSelect({ctx:e,options:t,selectEl:i,defaultValue:r}){X.clear(i),t.forEach(({textContent:s,value:n})=>{const o=X.createElement(e.doc,"option");o.value=n,o.textContent=s,r===n&&(o.selected=!0),i.appendChild(o)})}};kz.CLS_INPUT_CONTAINER="rrd-new-report-dialog-input-container";let QLe=class extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{name:"Create",onClick:(t,i)=>{i.submit(t)},className:"dialog-submit-button"},Th.cancel])}};class GLe extends Ha{constructor(e,t){super(e,"New Report","rrd-new-report-dialog",t)}get bodyView(){return this._bodyView}get selectedReportTemplate(){return this._selectedReportTemplate}set selectedReportTemplate(e){this._selectedReportTemplate=e}_doInitStyles(e){this.resizeDlg(700,650,e)}_initBody(e){return new kz(e,this)}_createBottom(e){return new QLe(e.doc,this)}async _doSubmit(e){}}let x4=class QI extends Dr{get selectedReportSource(){return this._selectedReportSource}set selectedReportSource(e){this._selectedReportSource=e}get selectedReportId(){return this._selectedReportId}set selectedReportId(e){this._selectedReportId=e}get printContainer(){return this._printContainer}constructor(e){super(e.doc,"rrd-open-dialog-body"),this._currentTab="recents",this._pathList=[],this._currentDepth=0,this._currentGroup=null,this._ctx=e,this.$_refreshListSection()}hideRecents(){this.$_onTabClick("myreports"),this._tabRecents.style.display="none"}hideLastModifiedColumn(){const e=this.dom.querySelector("."+QI.headerCellLastModified);e&&(e.style.display="none")}_doInitDom(e,t){const i=document.createElement("div"),r=this.$_createTabs(),s=this.$_createSearchSection(e),n=this.$_createPathSection(),o=this.$_createListSection();i.appendChild(r),i.appendChild(s),i.appendChild(n),i.appendChild(o),i.appendChild(o),t.appendChild(i),this._rowList=o.querySelector(".rrd-open-dlg-list-content"),this._detailContainer=this.$_createDetailSection(),this._searchInput.focus()}_doInitStyles(e){X.setStyles(e,{display:"flex",gap:"24px",overflow:"auto"})}$_createTabs(){const e=document.createElement("div");return e.className="rrd-open-dlg-tabs",this._tabRecents=this.$_createTab("Recents",!0),this._tabMyReports=this.$_createTab("MyReports",!1),e.appendChild(this._tabRecents),e.appendChild(this._tabMyReports),this._tabRecents.addEventListener("click",()=>this.$_onTabClick("recents")),this._tabMyReports.addEventListener("click",()=>this.$_onTabClick("myreports")),e}$_onTabClick(e){this._currentTab!==e&&(this._currentTab=e,this.$_refreshTab(),this.$_refreshListSection())}$_refreshTab(){this._currentTab==="recents"?(this._tabRecents.dataset.active="true",this._tabMyReports.dataset.active="false"):(this._tabRecents.dataset.active="false",this._tabMyReports.dataset.active="true")}$_refreshListSection(){this.$_clearListSection();let e=this.$_getReports();e==null||e.then(t=>{this.$_setListSectionBySources(t),this._rootGroup={depth:0,group:{name:"/",children:t,type:"group"}},this._currentGroup=this._rootGroup})}$_clearListSection(){this._rowList.innerHTML=""}$_setListSectionBySources(e){for(const t of e)this._rowList.appendChild(this.$_createListRow(t))}$_getReports(){var e,t,i,r;let s;const n=this._ctx;return n.server?this._currentTab==="myreports"?s=n.server.getReports():s=n.server.getRecents(5):this._currentTab==="myreports"?s=(t=(e=n.options).getReportListCallback)===null||t===void 0?void 0:t.call(e):s=(r=(i=n.options).getRecentReportListCallback)===null||r===void 0?void 0:r.call(i),s}$_createTab(e,t){const i=document.createElement("div");i.className="rrd-open-dlg-tab-btn",t&&(i.dataset.active="true");const r=document.createElement("span");r.textContent=e;const s=document.createElement("div");return s.className="rrd-open-dlg-tab-indicator",i.appendChild(r),i.appendChild(s),i}$_createSearchSection(e){const t=document.createElement("div");t.className="rrd-open-dlg-search";const i=document.createElement("input");i.type="text",this._searchInput=i;const r=e.createElement("div"),s=Xt.createIconSvg(e,xe.search,12);r.appendChild(s),r.className="rrd-open-dlg-search-icon",t.appendChild(i),t.appendChild(r);const n=document.createElement("section");return n.className="rrd-open-dlg-control-section",n.appendChild(t),this._searchInput.addEventListener("input",()=>{this.$_onSearch()}),n}$_createPathSection(){const e=document.createElement("div");return e.className="rrd-open-dlg-path-section",this._pathSection=e,e}$_createPathSegment(e){const t=document.createElement("div");t.className="rrd-open-dlg-path-segment",t.dataset.depth=e.depth+"",t.dataset.name=e.group.name;const i=document.createElement("span");return i.innerText=e.group.name,t.appendChild(i),t.addEventListener("click",()=>{if(this._currentGroup===e)return;const r=Array.from(this._pathSection.children);for(const s of r)+s.dataset.depth>=e.depth&&this._pathSection.removeChild(s);this._pathList=this._pathList.filter(s=>s.depth<=this._currentDepth),this.$_onGroupClick(e)}),t}$_onSearch(){var e;const t=Array.from(this._rowList.children),i=this._searchInput.value;for(const r of t){const n=((e=r.querySelector(".rrd-open-dlg-row-name span"))===null||e===void 0?void 0:e.textContent).includes(i);r.style.display=n?"block":"none"}}$_createHeaderCell(e,t){const i=document.createElement("div");i.className=`rrd-open-dlg-list-header-cell ${t?QI.headerCellName:QI.headerCellLastModified}`;const r=document.createElement("span");r.textContent=e;const s=document.createElement("div");s.className="rrd-open-dlg-header-cell-icon-wrapper",s.setAttribute("data-sort-dir","asc"),s.setAttribute("data-active","false"),s.style.cssText="width: 16px; height: 16px; background: #bbb;";const n=document.createElement("div");return n.className="rrd-open-dlg-header-cell-icon-wrapper",n.setAttribute("data-sort-dir","desc"),n.setAttribute("data-active","false"),n.style.cssText="width: 16px; height: 16px; background: #bbb;",i.appendChild(r),i.appendChild(s),i.appendChild(n),i}$_createListHeader(){const e=document.createElement("div");e.className="rrd-open-dlg-list-header";const t=this.$_createHeaderCell("Name",!0),i=this.$_createHeaderCell("Last Modified",!1);return e.appendChild(t),e.appendChild(i),e}$_createListRow(e){const t=new Date(e.updatedAt),{type:i,name:r}=e,s=document.createElement("div");s.className="rrd-open-dlg-list-row-wrapper";const n=document.createElement("div");n.className="rrd-open-dlg-list-row";const o=document.createElement("div");o.className="rrd-open-dlg-list-cell rrd-open-dlg-row-name";const l=document.createElement("div"),h=Xt.createIconSvg(document,this.$_getIcon(i),12);l.appendChild(h),l.className="rrd-open-dlg-row-icon";const c=document.createElement("span");c.textContent=r,o.appendChild(l),o.appendChild(c);const d=document.createElement("div");d.className="rrd-open-dlg-list-cell rrd-open-dlg-row-last-modified";const u=document.createElement("span");if(u.textContent=this.$_formatDate(t),d.appendChild(u),n.appendChild(o),n.appendChild(d),e.id){const A=e;s.dataset.id=A.id,n.addEventListener("click",()=>this.$_onRowClick(A))}else{const A=e;n.addEventListener("click",()=>this.$_onGroupClick({depth:this._currentDepth+1,group:A}))}return s.appendChild(n),s}$_createDetailSection(){const e=document.createElement("div");e.className="rrd-open-dlg-list-detail";const t=document.createElement("div"),i=document.createElement("div");i.className="rrd-open-dlg-detail-left",this._previewContainer=document.createElement("div"),this._previewContainer.className="rrd-open-dlg-preview-container",this._previewContainer.style.pointerEvents="none",i.appendChild(this._previewContainer);const r=document.createElement("div");r.className="rrd-open-dlg-detail-right";const s=document.createElement("div");s.className="rrd-open-dlg-desc";const n=document.createElement("div");n.className="rrd-open-dlg-submit-buttons";const o=document.createElement("button");o.className="dialog-submit-button btn",o.textContent="Open";const l=document.createElement("button");return l.className="btn",l.textContent="Close",n.appendChild(o),n.appendChild(l),r.appendChild(s),r.appendChild(n),t.appendChild(i),t.appendChild(r),e.appendChild(t),l.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.$_closeDetail()}),o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.$_open()}),i.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.$_open()}),e}$_preview(e){switch(this.$_resetPreview(e),e.type){case mt.REPORT:this._printContainer.print({report:e,data:e==null?void 0:e.data,preview:!0,previewOptions:{async:!0,noIndicator:!0,endCallback:async()=>{this._printContainer.fitToPage()}}});break;case mt.SHEET:const t=e,i=this.$_createData(t);this._sheetViewer.preview(t,i,null);break}}$_resetPreview(e){switch(this._printContainer&&this._printContainer.dispose(),this._sheetViewer&&(this._sheetViewer.containerDiv.remove(),this._sheetViewer.dispose()),this._previewContainer.innerHTML="",e.type){case mt.REPORT:this._normalPreviewEl=X.createDiv(document,"rrd-open-dialog-preview-container",{position:"relative",width:"100%",height:"100%",overflow:"hidden"}),this._printContainer=new zi(this._normalPreviewEl),this._previewContainer.appendChild(this._normalPreviewEl);break;case mt.SHEET:this._sheetPreviewEl=X.createDiv(document,"rrd-open-dialog-preview-container",{position:"relative",width:"250%",height:"250%",overflow:"hidden",transform:"scale(0.4)",transformOrigin:"left top"}),this._sheetViewer=new $F(this._sheetPreviewEl),this._previewContainer.appendChild(this._sheetPreviewEl);break}}$_createData(e){const t=new db,i=e.data.getAll(),r={};for(const s of i)(s instanceof mr||s instanceof cn)&&(r[s.name]={values:s.getValues()});return t.load(r),t}$_closeDetail(){this._activeRow&&(this._activeRow.dataset.active="false",this._activeRow.removeChild(this._detailContainer),this._activeRow=null,this._selectedReportId=null,this._selectedReportSource=null)}$_open(){this.parent.submit(this._ctx)}$_onRowClick(e){const t=this._rowList.querySelector(`div[data-id="${e.id}"]`);if(t){if(this._activeRow===t){this.$_closeDetail();return}Array.from(this._rowList.children).forEach(i=>i.dataset.active="false"),t.appendChild(this._detailContainer),t.dataset.active="true",t.scrollIntoView({behavior:"smooth"}),this._activeRow=t,this._selectedReportId=e.id,this.$_loadReportSrc()}}$_onGroupClick(e){this._currentDepth===0&&this.$_appendGroupSegment(this._rootGroup),this.$_clearListSection(),this.$_setListSectionBySources(e.group.children),this.$_appendGroupSegment(e),this._currentDepth===0&&(this._pathSection.innerHTML=""),this._currentGroup=e}$_appendGroupSegment(e){this._pathList.push(e);const t=this.$_createPathSegment(e);this._pathSection.appendChild(t),this._currentDepth=e.depth}$_loadReportSrc(){var e,t;const i=this._ctx;let r;i.server?r=i.server.getReport(this._selectedReportId):r=(t=(e=i.options).getReportCallback)===null||t===void 0?void 0:t.call(e,this._selectedReportId),r==null||r.then(s=>{if(s){const n=s.source,o=ip.cloneDeep(n);this.selectedReportSource=n,o!=null&&o.pages&&Array.isArray(o.pages)&&(o.pages=[o.pages[0]]);const l=this.$_createReport(o);this.$_setSampleReportData(l==null?void 0:l.data),this.$_preview(l);const h=this._activeRow.querySelector(".rrd-open-dlg-desc");h.innerText="",s.description&&(h.innerText=s.description)}})}$_createReport(e){switch(e.report.type){case"sheet":return new ac(!0).load(e);default:return new cs(!0).load(e)}}$_setSampleReportData(e){e.getAll().forEach(t=>{if(t instanceof mr){const i=t.getFieldSample();t.setValues(i)}})}$_getIcon(e){switch(e){case"sheet":return xe.common.sheet;case"group":return xe.common.folder;default:return xe.common.folderReport}}$_formatDate(e){if(!e||Number.isNaN(e.getFullYear()))return"";const t=(h,c)=>String(h).padStart(c,"0"),i=e.getFullYear(),r=t(e.getMonth()+1,2),s=t(e.getDate(),2),n=t(e.getHours(),2),o=t(e.getMinutes(),2),l=t(e.getSeconds(),2);return`${i}.${r}.${s} ${n}:${o}:${l}`}$_createListSection(){const e=document.createElement("section");e.className="rrd-open-dlg-list-section";const t=this.$_createListHeader(),i=document.createElement("div");return i.className="rrd-open-dlg-list-content",e.appendChild(t),e.appendChild(i),e}};x4.headerCellName="rrd-open-dlg-header-cell-name";x4.headerCellLastModified="rrd-open-dlg-header-cell-last-modified";let $Le=class extends Ua{_doInitBottom(e){}};class WLe extends Ha{constructor(e){super(e,"Open Report","open-dialog",null)}get bodyView(){return this._bodyView}get bottomView(){return this._bottomView}hideRecents(){this.bodyView.hideRecents()}hideLastModifiedColumn(){this.bodyView.hideLastModifiedColumn()}_doInitStyles(e){X.setStyles(e,{minWidth:"760px",minHeight:"500px",width:"880px",height:"750px"})}_initBody(e){return new x4(e)}_createBottom(e){return new $Le(e.doc,this)}async _doSubmit(e){}}let zLe=class extends Dr{constructor(e){super(e.doc,"rrd-save-dialog-body")}_doInitDom(e,t){const i={alignSelf:"center",textAlign:"right"};let r=e.createElement("label"),s=this.edtName=e.createElement("input");X.setStyles(r,i).textContent="Name:",s.required=!0,s.placeholder="리포트 이름을 반드시 지정해야 합니다.",s.oninput=()=>{this.contentChanged()},t.appendChild(r),t.appendChild(s),r=e.createElement("label"),s=this.edtVersion=e.createElement("input"),X.setStyles(r,i).textContent="Version:",s.value="1",t.appendChild(r),t.appendChild(s),r=e.createElement("label");const n=this.edtDescription=e.createElement("textarea");X.setStyles(r,{textAlign:"right",marginTop:"2px"}).textContent="Description:",t.appendChild(r),t.appendChild(n)}_doInitStyles(e){X.setStyles(e,{display:"grid",gridTemplateColumns:"minmax(60px, auto) 1fr",gridTemplateRows:"repeat(2, auto) 1fr",columnGap:"10px",rowGap:"8px"})}},bP=class NN extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{id:NN.BOTTOM_SAVE_BTN_ID,name:"Save",onClick:(t,i)=>{i.submit(t)},className:"dialog-submit-button",disabled:!0},{id:NN.BOTTOM_CANCEL_BTN_ID,...Th.cancel,disabled:!1}])}};bP.BOTTOM_SAVE_BTN_ID="open-dlg-bottom-open";bP.BOTTOM_CANCEL_BTN_ID="open-dlg-bottom-cancel";class KLe extends Ha{constructor(e){super(e,"Save Report","save-dialog",null)}get bodyView(){return this._bodyView}get bottomView(){return this._bottomView}get result(){const e=this.bodyView;return{name:e.edtName.value,version:e.edtVersion.value,description:e.edtDescription.value}}_doInitStyles(e){this.resizeDlg(600,400)}_initBody(e){return new zLe(e)}_createBottom(e){return new bP(e.doc,this)}_doShow(){this.focusInput(this.bodyView.edtName)}_bodyChanged(e){this.setDisabled(bP.BOTTOM_SAVE_BTN_ID,!this.bodyView.edtName.value)}}var Fz={exports:{}};(function(a,e){(function(){var t="ace",i=function(){return this}();!i&&typeof window<"u"&&(i=window);var r=function(c,d,u){if(typeof c!="string"){r.original?r.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(u=d),r.modules[c]||(r.payloads[c]=u,r.modules[c]=null)};r.modules={},r.payloads={};var s=function(c,d,u){if(typeof d=="string"){var A=l(c,d);if(A!=null)return u&&u(),A}else if(Object.prototype.toString.call(d)==="[object Array]"){for(var f=[],p=0,g=d.length;p<g;++p){var _=l(c,d[p]);if(_==null&&n.original)return;f.push(_)}return u&&u.apply(null,f)||!0}},n=function(c,d){var u=s("",c,d);return u==null&&n.original?n.original.apply(this,arguments):u},o=function(c,d){if(d.indexOf("!")!==-1){var u=d.split("!");return o(c,u[0])+"!"+o(c,u[1])}if(d.charAt(0)=="."){var A=c.split("/").slice(0,-1).join("/");for(d=A+"/"+d;d.indexOf(".")!==-1&&f!=d;){var f=d;d=d.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return d},l=function(c,d){d=o(c,d);var u=r.modules[d];if(!u){if(u=r.payloads[d],typeof u=="function"){var A={},f={id:d,uri:"",exports:A,packaged:!0},p=function(_,m){return s(d,_,m)},g=u(p,A,f);A=g||f.exports,r.modules[d]=A,delete r.payloads[d]}u=r.modules[d]=A||u}return u};function h(c){var d=i;i[c]||(i[c]={}),d=i[c],(!d.define||!d.define.packaged)&&(r.original=d.define,d.define=r,d.define.packaged=!0),(!d.require||!d.require.packaged)&&(n.original=d.require,d.require=n,d.require.packaged=!0)}h(t)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(t,i,r){function s(n,o,l){Object.defineProperty(n,o,{value:l,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||s(String.prototype,"startsWith",function(n,o){return o=o||0,this.lastIndexOf(n,o)===o}),String.prototype.endsWith||s(String.prototype,"endsWith",function(n,o){var l=this;(o===void 0||o>l.length)&&(o=l.length),o-=n.length;var h=l.indexOf(n,o);return h!==-1&&h===o}),String.prototype.repeat||s(String.prototype,"repeat",function(n){for(var o="",l=this;n>0;)n&1&&(o+=l),(n>>=1)&&(l+=l);return o}),String.prototype.includes||s(String.prototype,"includes",function(n,o){return this.indexOf(n,o)!=-1}),Object.assign||(Object.assign=function(n){if(n==null)throw new TypeError("Cannot convert undefined or null to object");for(var o=Object(n),l=1;l<arguments.length;l++){var h=arguments[l];h!=null&&Object.keys(h).forEach(function(c){o[c]=h[c]})}return o}),Object.values||(Object.values=function(n){return Object.keys(n).map(function(o){return n[o]})}),Array.prototype.find||s(Array.prototype,"find",function(n){for(var o=this.length,l=arguments[1],h=0;h<o;h++){var c=this[h];if(n.call(l,c,h,this))return c}}),Array.prototype.findIndex||s(Array.prototype,"findIndex",function(n){for(var o=this.length,l=arguments[1],h=0;h<o;h++){var c=this[h];if(n.call(l,c,h,this))return h}}),Array.prototype.includes||s(Array.prototype,"includes",function(n,o){return this.indexOf(n,o)!=-1}),Array.prototype.fill||s(Array.prototype,"fill",function(n){for(var o=this,l=o.length>>>0,h=arguments[1],c=h>>0,d=c<0?Math.max(l+c,0):Math.min(c,l),u=arguments[2],A=u===void 0?l:u>>0,f=A<0?Math.max(l+A,0):Math.min(A,l);d<f;)o[d]=n,d++;return o}),Array.of||s(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(t,i,r){t("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(t,i,r){i.deepCopy=function s(n){if(typeof n!="object"||!n)return n;var o;if(Array.isArray(n)){o=[];for(var l=0;l<n.length;l++)o[l]=s(n[l]);return o}if(Object.prototype.toString.call(n)!=="[object Object]")return n;o={};for(var l in n)o[l]=s(n[l]);return o}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(t,i,r){i.last=function(o){return o[o.length-1]},i.stringReverse=function(o){return o.split("").reverse().join("")},i.stringRepeat=function(o,l){for(var h="";l>0;)l&1&&(h+=o),(l>>=1)&&(o+=o);return h};var s=/^\s\s*/,n=/\s\s*$/;i.stringTrimLeft=function(o){return o.replace(s,"")},i.stringTrimRight=function(o){return o.replace(n,"")},i.copyObject=function(o){var l={};for(var h in o)l[h]=o[h];return l},i.copyArray=function(o){for(var l=[],h=0,c=o.length;h<c;h++)o[h]&&typeof o[h]=="object"?l[h]=this.copyObject(o[h]):l[h]=o[h];return l},i.deepCopy=t("./deep_copy").deepCopy,i.arrayToMap=function(o){for(var l={},h=0;h<o.length;h++)l[o[h]]=1;return l},i.createMap=function(o){var l=Object.create(null);for(var h in o)l[h]=o[h];return l},i.arrayRemove=function(o,l){for(var h=0;h<=o.length;h++)l===o[h]&&o.splice(h,1)},i.escapeRegExp=function(o){return o.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},i.escapeHTML=function(o){return(""+o).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},i.getMatchOffsets=function(o,l){var h=[];return o.replace(l,function(c){h.push({offset:arguments[arguments.length-2],length:c.length})}),h},i.deferredCall=function(o){var l=null,h=function(){l=null,o()},c=function(d){return c.cancel(),l=setTimeout(h,d||0),c};return c.schedule=c,c.call=function(){return this.cancel(),o(),c},c.cancel=function(){return clearTimeout(l),l=null,c},c.isPending=function(){return l},c},i.delayedCall=function(o,l){var h=null,c=function(){h=null,o()},d=function(u){h==null&&(h=setTimeout(c,u||l))};return d.delay=function(u){h&&clearTimeout(h),h=setTimeout(c,u||l)},d.schedule=d,d.call=function(){this.cancel(),o()},d.cancel=function(){h&&clearTimeout(h),h=null},d.isPending=function(){return h},d},i.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},i.skipEmptyMatch=function(o,l,h){return h&&o.codePointAt(l)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(t,i,r){i.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},i.getOS=function(){return i.isMac?i.OS.MAC:i.isLinux?i.OS.LINUX:i.OS.WINDOWS};var s=typeof navigator=="object"?navigator:{},n=(/mac|win|linux/i.exec(s.platform)||["other"])[0].toLowerCase(),o=s.userAgent||"",l=s.appName||"";i.isWin=n=="win",i.isMac=n=="mac",i.isLinux=n=="linux",i.isIE=l=="Microsoft Internet Explorer"||l.indexOf("MSAppHost")>=0?parseFloat((o.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((o.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),i.isOldIE=i.isIE&&i.isIE<9,i.isGecko=i.isMozilla=o.match(/ Gecko\/\d+/),i.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",i.isWebKit=parseFloat(o.split("WebKit/")[1])||void 0,i.isChrome=parseFloat(o.split(" Chrome/")[1])||void 0,i.isSafari=parseFloat(o.split(" Safari/")[1])&&!i.isChrome||void 0,i.isEdge=parseFloat(o.split(" Edge/")[1])||void 0,i.isAIR=o.indexOf("AdobeAIR")>=0,i.isAndroid=o.indexOf("Android")>=0,i.isChromeOS=o.indexOf(" CrOS ")>=0,i.isIOS=/iPad|iPhone|iPod/.test(o)&&!window.MSStream,i.isIOS&&(i.isMac=!0),i.isMobile=i.isIOS||i.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(t,i,r){var s=t("./useragent"),n="http://www.w3.org/1999/xhtml";i.buildDom=function u(A,f,p){if(typeof A=="string"&&A){var g=document.createTextNode(A);return f&&f.appendChild(g),g}if(!Array.isArray(A))return A&&A.appendChild&&f&&f.appendChild(A),A;if(typeof A[0]!="string"||!A[0]){for(var _=[],m=0;m<A.length;m++){var w=u(A[m],f,p);w&&_.push(w)}return _}var y=document.createElement(A[0]),v=A[1],C=1;v&&typeof v=="object"&&!Array.isArray(v)&&(C=2);for(var m=C;m<A.length;m++)u(A[m],y,p);return C==2&&Object.keys(v).forEach(function(E){var P=v[E];E==="class"?y.className=Array.isArray(P)?P.join(" "):P:typeof P=="function"||E=="value"||E[0]=="$"?y[E]=P:E==="ref"?p&&(p[P]=y):E==="style"?typeof P=="string"&&(y.style.cssText=P):P!=null&&y.setAttribute(E,P)}),f&&f.appendChild(y),y},i.getDocumentHead=function(u){return u||(u=document),u.head||u.getElementsByTagName("head")[0]||u.documentElement},i.createElement=function(u,A){return document.createElementNS?document.createElementNS(A||n,u):document.createElement(u)},i.removeChildren=function(u){u.innerHTML=""},i.createTextNode=function(u,A){var f=A?A.ownerDocument:document;return f.createTextNode(u)},i.createFragment=function(u){var A=u?u.ownerDocument:document;return A.createDocumentFragment()},i.hasCssClass=function(u,A){var f=(u.className+"").split(/\s+/g);return f.indexOf(A)!==-1},i.addCssClass=function(u,A){i.hasCssClass(u,A)||(u.className+=" "+A)},i.removeCssClass=function(u,A){for(var f=u.className.split(/\s+/g);;){var p=f.indexOf(A);if(p==-1)break;f.splice(p,1)}u.className=f.join(" ")},i.toggleCssClass=function(u,A){for(var f=u.className.split(/\s+/g),p=!0;;){var g=f.indexOf(A);if(g==-1)break;p=!1,f.splice(g,1)}return p&&f.push(A),u.className=f.join(" "),p},i.setCssClass=function(u,A,f){f?i.addCssClass(u,A):i.removeCssClass(u,A)},i.hasCssString=function(u,A){var f=0,p;if(A=A||document,p=A.querySelectorAll("style")){for(;f<p.length;)if(p[f++].id===u)return!0}},i.removeElementById=function(u,A){A=A||document,A.getElementById(u)&&A.getElementById(u).remove()};var o,l=[];i.useStrictCSP=function(u){o=u,u==!1?h():l||(l=[])};function h(){var u=l;l=null,u&&u.forEach(function(A){c(A[0],A[1])})}function c(u,A,f){if(!(typeof document>"u")){if(l){if(f)h();else if(f===!1)return l.push([u,A])}if(!o){var p=f;!f||!f.getRootNode?p=document:(p=f.getRootNode(),(!p||p==f)&&(p=document));var g=p.ownerDocument||p;if(A&&i.hasCssString(A,p))return null;A&&(u+=`
|
|
3207
|
+
url("${YT.BACKGROUND}")`,i=this.innerWidth*this._alpha;this._moveDragger({x:i}),this.setStyles({backgroundImage:t,display:"block"})}get tracker(){return this._tracker}}YT.BACKGROUND="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='2'%3E%3Cpath d='M1,0H0V1H2V2H1' fill='lightgray'/%3E%3C/svg%3E";class TRe extends KT{constructor(e){super(null,"hueTracker"),this._picker=e}_doDrag(e){return this.moveToPoint({x:this.currentX,y:0}),!0}moveToPoint({x:e}){const{draggerWidth:t}=this._picker,i=Math.max(0,Math.min(this._picker.innerWidth,e-this._picker.x-t));this._picker.moveToPoint({x:i})}}class LRe extends A4{constructor(e){super(e,"rr-color-picker-hue-picker"),this._hueColor=16711680,this._hue=16711680,this._x=0,this._position={x:0,y:0},this._classNamePrefix="rr-color-picker-hue-picker",this._tracker=new TRe(this)}get tracker(){return this._tracker}get hueColor(){return this._hueColor}get hue(){return this._hue}get innerWidth(){return this.width-this.draggerWidth-2}get colorPicker(){return this.container}moveToColor(e){const t=Dt.rbg2Hue(e);this.moveToPoint({x:t*this.innerWidth/360})}moveToPoint({x:e}){const t=e/(this.innerWidth/(Dt.hueCount-1)),i=Math.floor(t),r=Dt.interpoate(Dt.getHue(i),Dt.getHue(i+1),t-i);this._hueColor!==r&&(this._hueColor=r,this._hue=Dt.rbg2Hue(this._hueColor),this._x=e,this.colorPicker.render())}update(){this._moveDragger({x:this._x}),this.setStyle("color",Dt.toHex(this._hueColor))}}class DRe extends Hn{constructor(e){super(e,"rr-color-picker-hue-color-container")}get huePicker(){return this._huePicker}get alphaPicker(){return this._alphaPicker}_initDom(e,t){this._huePicker=new LRe(e),this._alphaPicker=new YT(e),this.addChild(this._huePicker),this.addChild(this._alphaPicker)}}class ORe extends Hn{constructor(e){super(e,"rr-color-picker-hue-container"),this._color=16711680}get hueColorContainer(){return this._hueColorContainer}get $_colorPicker(){return this.container}update(e,t){const i=Dt.toRgba(e,t);this._colorResult.style.backgroundColor=i}_initDom(e,t){const i=this.$_createColorResult(e);this._hueColorContainer=new DRe(e),window.EyeDropper&&(t.appendChild(this.$_createEyeDropper(e,t)),t.classList.add("eye-dropper")),t.appendChild(i),this.addChild(this._hueColorContainer)}$_createColorResult(e){const t=e.createElement("div");t.classList.add("rr-color-picker-color-result");const i=e.createElement("div");i.classList.add("rr-color-picker-color-result-background");const r=e.createElement("div");return r.classList.add("rr-color-picker-color-result-color"),t.append(i,r),this._colorResult=r,t}$_createEyeDropper(e,t){const i=e.createElement("div");return i.classList.add(`${t.classList.value}-eye-dropper`),i.appendChild(Xt.createIconSvg(e,xe.spoid,24,24)),i.addEventListener("click",()=>{new window.EyeDropper().open().then(s=>{this.$_colorPicker.colorText=s.sRGBHex}).catch(s=>{console.log("Color selection cancelled.")})}),i}}class MRe extends Hn{constructor(e){super(e,"rr-color-picker-hsv-container")}_initDom(e,t){this._hueContainer=new ORe(e),this._colorInfo=new PRe(e),this._colorPallete=new BRe(e),this.addChild(this._hueContainer),this.addChild(this._colorInfo),this.addChild(this._colorPallete),t.appendChild(this.$_createButton(e,t))}$_createButton(e,t){const i=e.createElement("div"),r=e.createElement("button"),s=e.createElement("button");return i.classList.add(`${t.classList.value}-buttons`),r.textContent="Cancel",s.textContent="Save",r.addEventListener("click",()=>{wh.close()}),s.addEventListener("click",()=>{this.colorPicker.commit()}),i.append(s,r),i}get hueContainer(){return this._hueContainer}get colorInfo(){return this._colorInfo}get colorPallete(){return this._colorPallete}get huePicker(){return this._hueContainer.hueColorContainer.huePicker}get alphaPicker(){return this._hueContainer.hueColorContainer.alphaPicker}get colorPicker(){return this.container}}class NRe extends KT{constructor(){super(null,"header-tracker")}_doDrag(e){const t=this.currentX-this.startX,i=this.currentY-this.startY;return this.moveToPoint({x:this.startX+t,y:this.startY+i}),!0}moveToPoint(e){wh.moveBy(e.x-this.startX,e.y-this.startY)}}class kRe extends Hn{constructor(e){super(e,"rr-color-picker-header"),this._tracker=new NRe}get tracker(){return this._tracker}_initDom(e,t){t.appendChild(this.$_createHeader(e,t))}$_createHeader(e,t){const i=e.createElement("div"),r=e.createElement("span"),s=e.createElement("span");return i.classList.add(`${t.classList.value}-close`),i.append(r,s),i.addEventListener("click",()=>{wh.close()}),i}}class wh extends FAe{static show(e,t,i,r,s,n){this.Picker||(this.PickerContainer=document.createElement("div"),this.Picker=new wh(this.PickerContainer));const o=this.PickerContainer.style;o.top="50%",o.left="50%",o.transform="translate(-50%, -50%)",this.Picker.alphaEnabled=r,s!==wh._callback&&(wh._callback=s,this.Picker.callback=(h,c)=>{this.close(),s&&s(this.Picker.tag,Dt.colorToHex2(h,c))}),(typeof e=="string"?document.getElementById(e):e).appendChild(this.PickerContainer),this.Picker.closeCallback=n,this.Picker.tag=t,this.Picker.colorText=this.Picker.$_buildColorText(i),this.Picker.$_pallete.update(),setTimeout(()=>{this.Picker.setFocus()},0)}static close(){this.Picker&&this.PickerContainer.parentElement&&(ee.remove(this.PickerContainer),this.Picker.closeCallback&&this.Picker.closeCallback(),this.Picker.closeCallback=null)}static moveBy(e,t){const{offsetTop:i,offsetLeft:r}=this.PickerContainer,{width:s,height:n}=this.PickerContainer.getBoundingClientRect(),o=this.PickerContainer.style,l=Math.max(n/2,i+t),h=Math.max(s/2,r+e);o.top=`${l}px`,o.left=`${h}px`}constructor(e){super(e),this._useRender=!0}_doDispose(){super._doDispose()}get color(){return this.saturationPicker.color}get alpha(){return this.$_alphaPicker.alpha}get colorText(){return Dt.colorToHex(this.$_colorInfo.color,this.$_colorInfo.alpha)}set colorText(e){const{color:t,alpha:i}=Dt.strToColor(e);this._useRender=!1,this.$_huePicker.moveToColor(t),this.saturationPicker.moveToColor(t),this.$_alphaPicker.moveToColor(i),this._useRender=!0,this.render()}get alphaEnabled(){return this._alphaEnabled}set alphaEnabled(e){e!==this._alphaEnabled&&(this._alphaEnabled=e,this.$_alphaPicker.visible=e)}isHeader(e){return this._header.contains(e)}findPicker(e){return[this.$_huePicker,this.saturationPicker,this.$_alphaPicker].find(t=>t.contains(e))}findTracker(e){var t;return((t=this.findPicker(e))===null||t===void 0?void 0:t.tracker)||null}setFocus(){this.$_colorInfo.focus()}render(e){const{input:t=!1}=e||{};if(!this._useRender)return;const{saturation:i,lightness:r}=this.saturationPicker,{hue:s}=this.$_huePicker,{alpha:n}=this.$_alphaPicker,o=Dt.hsl2Rgb(s,i,r);[this.$_huePicker,this.saturationPicker,this.$_alphaPicker,this.$_colorResult,...t?[]:[this.$_colorInfo]].forEach(l=>{l.update(o,n)})}inputColor(e){this._useRender=!1,this.$_huePicker.moveToColor(e.color),this.saturationPicker.moveToColor(e.color),this.$_alphaPicker.moveToColor(e.alpha),this._useRender=!0,this.render({input:!0})}commit(){this.callback&&this.callback(this.color,this.alpha),this.$_pallete.add({color:this.color,alpha:this.alpha})}_getCssSelector(){return"rr-color-picker-root rr-color-picker"}_prepareChildren(e,t){this._addElement(this._header=new kRe(e)),this._addElement(this._saturationContainer=new IRe(e)),this._addElement(this._hsvContainer=new MRe(e))}_createDefaultTool(){return new ERe(this)}$_buildColorText(e){return e&&(Dt.isColorString(e)?e:Dt.toHexColor(e))}get saturationPicker(){return this._saturationContainer.saturationPicker}get hueColor(){return this.$_huePicker.hueColor}get header(){return this._header}get $_huePicker(){return this._hsvContainer.huePicker}get $_alphaPicker(){return this._hsvContainer.alphaPicker}get $_colorResult(){return this._hsvContainer.hueContainer}get $_colorInfo(){return this._hsvContainer.colorInfo}get $_pallete(){return this._hsvContainer.colorPallete}}const FRe="_section_item_";let VRe=0;class N1{static create(e,t){switch(t.type){case"button":return new HRe(t);case"input":return new URe(t);case"number-input":return new QRe(t);case"check":return new GRe(t);case"select":return new $Re(t);case"list":return new WRe(t);case"text":return new zRe(t);case"space":return new KRe(t);case"separator":return new YRe({direction:e.vertical?"horizontal":"vertical",...t});case"group":return new Fb(e,t);default:return t}}constructor(e){var t,i,r;this.visible=!0,this.id=(t=e.id)!==null&&t!==void 0?t:FRe+VRe++,this.tag=e.tag,this.style=e.style,this.supportTypes=(i=e.supportTypes)!==null&&i!==void 0?i:void 0,this.serverRequired=(r=e.serverRequired)!==null&&r!==void 0?r:!1}getToolOptions(){return{id:this.id,tag:this.tag,style:this.style}}checkDisabled(e){return!0}}class kb extends N1{constructor(e){var t;super(e),this._label=e.label||((t=e.action)===null||t===void 0?void 0:t.label),this._hint=e.hint,this.icon=e.icon,this.svg=e.svg,this.placeholder=e.placeholder,this.action=e.action,this.disabled=e.disabled}get label(){var e;return this._label||((e=this.action)===null||e===void 0?void 0:e.label)}set label(e){this._label=e}get hint(){return this._hint||this.label}}class HRe extends kb{constructor(e){super(e),this.type="button",this.variant=e.variant}getToolOptions(){return{...super.getToolOptions(),label:this.label,svg:this.svg,hint:this.hint,action:this.action,variant:this.variant}}checkDisabled(e){return!this.action||this.action.enabled&&this.action.enabled(e,this.action)===!1}}class URe extends kb{constructor(e){super(e),this.type="input";const{value:t,full:i=!1,align:r,onEdit:s}=e;this.value=t,this.full=i,this.align=r,this.onEdit=s}getToolOptions(){return{...super.getToolOptions(),label:this.label,value:this.value,placeholder:this.placeholder,disabled:this.disabled,full:this.full,align:this.align,onEdit:this.onEdit}}}class QRe extends kb{constructor(e){super(e),this.type="number-input";const{value:t,full:i=!1,align:r,min:s,max:n,onEdit:o}=e;this.value=t,this.full=i,this.align=r,this.min=s,this.max=n,this.onEdit=o}getToolOptions(){return{...super.getToolOptions(),label:this.label,value:this.value,placeholder:this.placeholder,disabled:this.disabled,full:this.full,align:this.align,min:this.min,max:this.max,onEdit:this.onEdit}}}class GRe extends kb{constructor(e){super(e),this.type="check";const{value:t,full:i=!1,align:r,onChange:s}=e;this.value=t,this.full=i,this.align=r,this.onChange=s}getToolOptions(){return{...super.getToolOptions(),label:this.label,value:this.value,placeholder:this.placeholder,disabled:this.disabled,full:this.full,align:this.align,onChange:this.onChange}}}class $Re extends kb{constructor(e){super(e),this.type="select";const{domain:t,iconsColors:i,value:r,full:s=!1,onEdit:n}=e;this.domain=t,this.iconsColors=i,this.value=r,this.full=s,this.onEdit=n}getToolOptions(){return{...super.getToolOptions(),label:this.label,domain:this.domain,iconsColors:this.iconsColors,value:this.value,disabled:this.disabled,full:this.full,onEdit:this.onEdit}}}class WRe extends kb{constructor(e){super(e),this.type="list"}}class zRe extends N1{constructor(e){super(e),this.type="text",this.value=e.value}getToolOptions(){return{...super.getToolOptions(),value:this.value}}}class KRe extends N1{constructor(e){super(e),this.type="space",this.size=e.size,this.text=e.text}getToolOptions(){return{...super.getToolOptions(),size:this.size}}}class YRe extends N1{constructor(e){super(e),this.type="separator",this.size=e.size,this.margin=e.margin,this.color=e.color,this.direction=e.direction}getToolOptions(){return{...super.getToolOptions(),size:this.size,margin:this.margin,color:this.color,direction:this.direction}}}class Fb extends N1{constructor(e,t){super(t),this._items=[],this._itemMap={},this.type="group",this._sectionBar=e,this.display=t.display,this.$_load(t.items)}get count(){return this._items.length}get items(){return this._items.slice(0)}getItem(e){return this._items[e]}itemOf(e){return this._itemMap[e]}$_load(e){for(let t of e){const i=N1.create(this._sectionBar,t);i.type!=="group"&&this.$_addItem(i)}}$_addItem(e){this._items.push(e),e.id&&(this._itemMap[e.id]=e)}}class Xd extends Ai{static setItemTags(e,t){e.forEach(i=>{i.tag=t})}constructor(e,t){super(),this.vertical=e,this._items=[],this._itemMap={},this._groupMap={},this.$_load(t)}get count(){return this._items.length}get items(){return this._items}get(e){return this._items[e]}itemOf(e){let t=this._itemMap[e];if(!t){for(const i in this._groupMap)if(t=this._groupMap[i].itemOf(e))break}return t}groupOf(e){return this._groupMap[e]}groupsOf(e){const t=[];return this._items.forEach(i=>{i instanceof Fb&&i.tag===e&&t.push(i)}),t}itemsOf(e){return this._items.filter(t=>t.tag===e)}refresh(e){this._doRefresh(e)}$_load(e){for(let t of e){const i=N1.create(this,t);i.type==="group"?this.$_addGroup(i):this.$_addItem(i)}}$_addGroup(e){this._items.push(e),e.id&&(this._groupMap[e.id]=e)}$_addItem(e){this._items.push(e),e.id&&(this._itemMap[e.id]=e)}}class f4 extends To{constructor(e,t=!1){super(),this.ctx=e,this.vertical=t}}class dy extends f4{}const Ic="rrd-tool";class _d extends un{constructor(e,t,i={}){super(e,t),this.id=i.id,this.tag=i.tag,this.setStyles(i.style)}get id(){return this.dom.id}set id(e){e&&e!==this.dom.id&&(this.dom.id=e)}}class Ez extends _d{}class Ht extends _d{constructor(e,t){var i;super(e,void 0,t),this.large=!1,this.ended=!1,this.checked=!1,this.shifted=!1,Object.assign(this,t),this.styleName=t.className?t.className:`${Ic}-button`,this.dom.title=t.hint||t.label||((i=t.action)===null||i===void 0?void 0:i.label);const{svg:r,svgAttributes:s}=t;if(r){const n=this._svg=e.createElementNS(Di,"svg");if(n.setAttribute("viewBox","0 0 32 32"),n.setAttribute("width",t.size||"24"),n.setAttribute("height",t.size||"24"),n.setAttribute("fill","none"),s)for(const o in s)n.setAttribute(o,s[o]);n.innerHTML=t.svg,this.addDom(n)}if(t.label&&(!t.svg||t.long)){const n=this._label=X.createSpan(this.doc,"rrd-tool-button-label");n.textContent=t.label,this.addDom(this._label)}t.enabled===!1&&(this.enabled=!1)}get enabled(){return!X.hasData(this.dom,"disabled")}set enabled(e){X.setBoolData(this.dom,"disabled",!e),e?this.dom.removeAttribute("disabled"):this.dom.setAttribute("disabled","")}get variant(){return X.getData(this.dom,"variant")||"default"}set variant(e){X.setData(this.dom,"variant",e)}set style(e){this.setStyles(e)}setLabel(e){e!==this.label&&(this._label.textContent=this.label=e)}_createDom(e){return e.createElement("button")}_doDraw(e){}_setSizeStyle(e){}applyBounds(){}update(e){this.enabled=e.disabled!==!0,this.enabled?this.dom.style.opacity="1":this.dom.style.opacity="0.5"}_doInitDom(e,t){t.style.display=this._getCssDisplay(),t.style.justifyContent="center",t.style.alignItems="center"}_getCssDisplay(){return"flex"}}class Om extends Ii{static createButtonGroupView(e,t,i,r="flex"){const s=i.map(n=>new Ht(e,n));return new Om(e,t,s,r)}constructor(e,t,i,r="flex"){switch(super(e,`${Ic}-group`),this._map={},this._display="flex",this._display=r){case"grid":{this.setStyles({display:"grid"});break}case"flex":default:this.setStyles({display:"flex",gap:"2px",flexDirection:t?"column":"row",alignItems:"center",justifyContent:"center",width:t?"100%":"",minWidth:"fit-content"})}i.forEach(s=>{this.addChild(s),s.id&&(this._map[s.id]=s)})}find(e){for(const t of this.getChildren())if(t instanceof _d&&t.containsDom(e))return t}toolOf(e){return this._map[e]}buttonOf(e){const t=this.toolOf(e);if(t instanceof Ht)return t;throw new mu}_initDom(e,t){super._initDom(e,t),t.style.position=""}_getCssDisplay(){return this._display}_setSizeStyle(e){}applyBounds(){}}class k1 extends Ez{constructor(e,t,i={}){super(e,t,i);const{label:r,value:s,placeholder:n,disabled:o,full:l=!1,align:h=Pi.LEFT,validator:c,onEdit:d,onInput:u,onChange:A}=i;(this.label=r)&&this.dom.insertBefore(this.$_createLabelDiv(e,this.label),this._control),i.id&&(this._control.id=i.id),this.value=s,this.enabled=!o,l&&(this.dom.style.width=this._control.style.width="100%"),this._control.placeholder=n??"",X.setData(this._control,"align",h),this._control.style.textAlign=h,this.validator=c,this.onEdit=(f,p)=>{const g=this._getValueAsRaw(p),_=this.$_validate(g),m=typeof _=="boolean"?_:!_,w=typeof _=="string"?_:void 0;g!==this.value&&m?(this.value=g,d==null||d(f,g)):(w&&alert(w),this._control.value=this._getValueAsString(this.value))},this.onInput=(f,p)=>{u==null||u(f,this._getValueAsRaw(p))},this.onChange=(f,p)=>{A==null||A(f,p)}}get enabled(){return!this._control.disabled}set enabled(e){this._control.disabled=!e}get value(){return this._value}set value(e){this.enabled&&(this._value=e,this._control.value=this._getValueAsString(e))}get inputValue(){return this._control.value}get align(){return X.getData(this._control,"align")}get control(){return this._control}_initDom(e,t){super._initDom(e,t),this.dom.appendChild(this._control=this.$_createControlDiv(e))}$_createLabelDiv(e,t){const i=X.createElement(e,"label",void 0,`${this._getCssSelector()}-label`);return i.textContent=t,i}$_createControlDiv(e){return X.createElement(e,"input",void 0,`${this._getCssSelector()}-control`)}$_validate(e){return this.validator?this.validator(e):this._doValidate(e)}}k1.CLASS_NAME=`${Ic}-input`;class FA extends k1{constructor(e,t){super(e,`${Ic}-input`,t)}update(e){this.value=e.value}_getCssSelector(){return`${Ic}-input`}_getValueAsString(e){return e??""}_getValueAsRaw(e){return e}_doValidate(e){return!0}}class XRe extends k1{constructor(e,t){super(e,`${Ic}-number-input`,t);const{min:i,max:r}=t;this._min=i,this._max=r,this._min!==void 0&&(this.control.min=this._min.toString()),this._max!==void 0&&(this.control.max=this._max.toString())}_initDom(e,t){super._initDom(e,t),this.control.type="number"}update(e){this.value=e.value}_getCssSelector(){return`${Ic}-number-input`}_getValueAsString(e){var t;return(t=e==null?void 0:e.toString())!==null&&t!==void 0?t:""}_getValueAsRaw(e){return ee.toNumber(e)}_doValidate(e){let t=!0;return this._min!==void 0&&e<this._min&&(t=!1),this._max!==void 0&&e>this._max&&(t=!1),t}}class xz extends k1{constructor(e,t){super(e,`${Ic}-check-input`,t)}_initDom(e,t){super._initDom(e,t),this.control.type="checkbox"}update(e){this.value=e.value,this.control.checked=e.value,this.control.onclick=t=>{this.value=!this.value,e.value=this.value}}_getCssSelector(){return`${Ic}-check-input`}_getValueAsString(e){return e?"true":"false"}_getValueAsRaw(e){return!!e}_doValidate(e){return!0}}class ql extends _d{static create(e){return new ql(e,{direction:"vertical",size:"60%",margin:6,color:"#9191d8"})}constructor(e,t){super(e,`${Ic}-sep`,t);const{group:i,color:r="lightgray",size:s="80%",margin:n=8,direction:o="vertical"}=t;this.group=i,o==="vertical"?this.setStyles({width:"1px",height:s,margin:`0 ${n}px`,boxSizing:"borderBox",borderRight:`1px solid ${r}`}):this.setStyles({height:"1px",width:s,margin:`${n}px 0`,boxSizing:"borderBox"}),this.setStyles(t.style)}update(e){}}class TN extends na{constructor(e,t,i,r){super(e),this.type=t;const{align:s="center",iconsColors:n,closeOnSelect:o=!1,onSelect:l,onClose:h}=r;this._align=s,this._closeOnSelect=o,this.onSelect=l,this.onClose=h,this._items=i.map(c=>ee.isString(c)?{id:c,label:c}:c),this._items.forEach((c,d)=>{const u=e.createElement("button"),A=e.createElement("div"),f=e.createElement("div");A.className="rrd-select-item-container",X.setStyles(A,{display:"flex",alignItems:"center"}),f.className="rrd-select-item-icon",n&&X.setStyles(f,{backgroundColor:n[d],width:"12px",height:"12px",marginLeft:"6px"}),u.id=c.id,f.id=c.id,A.id=c.id,u.role="option",u.textContent=c.label,u.style.textAlign=this._align,A.appendChild(f),A.appendChild(u),this.addDom(A)}),this.styleName="rrd-popup-selector",this.width=this.height=NaN}get closeOnSelect(){return this._closeOnSelect}select(e){Array.from(this.dom.children).forEach(t=>{X.setData(t,"selected",t.id===e?"true":"")})}_initDom(e,t){super._initDom(e,t),X.setStyles(t,{display:"flex",flexDirection:"column",gap:"1px",pointerEvents:"auto",padding:"2px"})}_getCssDisplay(){return"flex"}}class VA extends Ez{constructor(e,t){var i;super(e,`${Ic}-select`,t);const{label:r,domain:s,iconsColors:n,value:o,full:l=!1,onEdit:h}=t;(this.label=r)&&this.dom.insertBefore(this.$_createLabelDiv(e,this.label),this._control),this.value=(i=o??s[0])!==null&&i!==void 0?i:"",l&&(this._full=l,this.dom.style.width="100%"),this.onEdit=h,this._selector=this.$_createSelector(s,n)}get value(){return this._span.textContent}set value(e){this._span.textContent=e}get inputValue(){return this._span.textContent}get focused(){return!!X.getData(this.dom,"focused")}set focused(e){X.setData(this._control,"focused",e?"1":"")}get control(){return this._control}get domainIcon(){return this._domainIcon}showPicker(e){e.showPopupSelector(this._selector,this.value),this.focused=!0}setDomainIconStyles(e){X.setStyles(this._domainIcon,e)}createSelector(e,t,i){this.value=t,this._selector=this.$_createSelector(e,i)}_initDom(e,t){super._initDom(e,t),this._span=X.createDiv(e,void 0,{flex:1}),this.dom.appendChild(this._control=this.$_createControlDiv(e,this._span))}_getCssDisplay(){return this._full?"block":"flex"}update(e){var t;this.value=(t=e.value)!==null&&t!==void 0?t:e.domain[0],X.setData(this._control,"disabled",e.disabled?"1":"")}$_createLabelDiv(e,t){const i=X.createElement(e,"label",void 0,`${Ic}-select-label`);return i.textContent=t,i}$_createControlDiv(e,t){const i=X.createDiv(e,`${Ic}-select-control`,{display:"flex",justifyContent:"center",alignItems:"center"}),r=X.createDiv(e,"select-domain-icon",{});this._domainIcon=r;const s=e.createElement("div");s.style.width="24px",s.style.display="flex",s.style.justifyContent="center",s.style.alignItems="center";const n=e.createElementNS(Di,"svg");return n.setAttribute("viewBox","0 0 32 32"),n.setAttribute("width","15"),n.setAttribute("height","15"),n.setAttribute("fill","none"),n.innerHTML=xe.toolItem.selector,s.appendChild(n),i.appendChild(r),i.appendChild(t),i.appendChild(s),i}$_createSelector(e,t){return new TN(this.doc,this.id,e,{align:"left",closeOnSelect:!0,iconsColors:t,onSelect:(i,r,s)=>{var n;this.value=s.id,(n=this.onEdit)===null||n===void 0||n.call(this,i,s.id||s.label)},onClose:()=>this.focused=!1})}}class XT extends _d{constructor(e,t){super(e,void 0,t);const{size:i}=t;this.setStyles({flex:i?`0 0 ${i}`:"1 1 0",textAlign:"center"})}update(e){this.dom.textContent=e.text||""}_createDom(e){return e.createElement("span")}}class AP extends _d{constructor(e,t){super(e,`${Ic}-text`,t);const{value:i,style:r={},svg:s,svgAttributes:n}=t;if(this.value=i,this.setStyles({paddingTop:"1px",...r}),s){const o=this._svg=e.createElementNS(Di,"svg");if(o.setAttribute("viewBox","0 0 32 32"),o.setAttribute("width",t.size||"24"),o.setAttribute("height",t.size||"24"),o.setAttribute("fill","none"),n)for(const l in n)o.setAttribute(l,n[l]);o.innerHTML=t.svg,this.addDom(o)}}get value(){return this.dom.textContent}set value(e){this.dom.textContent=e}get svg(){return this._svg.innerHTML}set svg(e){this._svg.innerHTML=e}get dom(){if(super.dom instanceof HTMLSpanElement)return super.dom;throw new mu}_createDom(e){return e.createElement("span")}update(e){this.value=e.value,this.setStyles(e.style)}}class g2 extends sr{constructor(e,t,i){super(e),this._toolMap={},this.dom.className=t,this.$_build(this.doc,this._model=i),this._doPrepareBar(this.doc,this._rootElement.dom,i)}get model(){return this._model}set model(e){e!==this._model&&(this._model=e,this.invalidateLayout())}findToolItem(e){const t=this.findElementOf(e,!0);if(t instanceof _d)return t}findToolItemById(e){const t=this._toolMap[e];if(t instanceof _d)return t;for(const i of Object.values(this._toolMap))if(i instanceof Om){const r=i.toolOf(e);if(r)return r}}toolOf(e){return this.findToolItemById(e.id)}buttonOf(e){const t=this.toolOf(e);if(t instanceof Ht)return t;throw new mu}groupButtonOf(e,t){const i=this._toolMap[e.id];if(i instanceof Om)return i.buttonOf(t)}elementOf(e){return this.doc.getElementById(e.id)}findGroupButton(e,t){return e._itemMap[t]}refreshBar(e){this._model.refresh(e),this._model.items.forEach(t=>{const i=this._toolMap[t.id];if(i)i.visible=t.visible,i.visible&&(i instanceof _d?i.update(t):t.type==="group"&&t.items.forEach(r=>{const s=i.toolOf(r.id);s==null||s.update(r)}));else{const r=this.doc.getElementById(t.id);r&&(r.style.display=t.visible?"":"none")}}),this._doAfterRefreshBar(e,this._model)}_doClick(e){return!0}_doPrepareBar(e,t,i){const r=i.vertical;X.setStyles(t,{display:"flex",flexDirection:r?"column":"row",gap:"2px",alignItems:"center"})}$_build(e,t){for(let i=0;i<t.count;i++){const r=t.get(i);if(r instanceof Fb){const s=this.$_createGroup(e,r);this.addElement(s),r.id&&(this._toolMap[r.id]=s)}else{const s=this.$_createTool(e,r);s&&(this.addElement(s),r.id&&(this._toolMap[r.id]=s))}}}$_createTool(e,t){switch(t.type){case"text":return new AP(e,t.getToolOptions());case"button":return new Ht(e,t.getToolOptions());case"input":return new FA(e,t.getToolOptions());case"number-input":return new XRe(e,t.getToolOptions());case"check":return new xz(e,t.getToolOptions());case"select":return new VA(e,t.getToolOptions());case"list":return;case"separator":return new ql(e,t.getToolOptions());case"space":return new XT(e,t.getToolOptions());default:return t}}$_createGroup(e,t){const i=t.items.map(s=>this.$_createTool(e,s)),r=new Om(e,this.model.vertical,i,t.display);return r.dom.id=t.id,r.setStyles({overflowY:"auto",scrollbarWidth:"none",...t.style}),r}}class p4 extends sr{constructor(e,t,i){super(e),this.dom.className=t,this._doBuildModel(this.doc,this._model=i)}get model(){return this._model}set model(e){e!==this._model&&(this._model&&this._model.removeListener(this),this._model=e,this.invalidateLayout(),this._model&&this._model.addListener(this))}findToolItem(e){const t=this.findElementOf(e,!0);if(t instanceof _d)return t}findToolItemById(e){const t=this.dom.querySelector(`#${e}`);if(t instanceof _d)return t}refreshButtons(e){this._doRefreshButtons(e)}_createDefaultTool(){return new bd(this)}}class uy extends p4{}const g4="export_filename",fP="export_type",jRe="export_run",_4="export_pdf_version",m4="export_pdf_user_password",w4="export_pdf_owner_password",y4="preview_language",Sz=["50%","67%","75%","90%","100%","110%","125%","150%","175%","200%","250%","300%"];var Aa;(function(a){a.Design="design",a.Preview="preview"})(Aa||(Aa={}));var Hw;(function(a){a.PDF="PDF",a.DOCX="DOCX",a.HWP="HWP",a.PNG="PNG",a.EXCEL="EXCEL"})(Hw||(Hw={}));var tc;(function(a){a.NEW_ASSET="new/asset",a.ASSET="r2/asset",a.DATAFIELD="r2/datafield",a.NEW_DATA="new/data",a.DATA="r2/data",a.ITEM="r2/item"})(tc||(tc={}));class rO{constructor(e,t=!1){this.enabled=!1,this._prevX=-1,this._prevY=-1,this._dragging=!1,this._owner=e,this.enabled=t,this.$_prepare(e)}dispose(){this._owner=null,this._dragMask.remove(),this._dragMask=null}get onwer(){return this._owner}get dragging(){return this._dragging}$_prepare(e){const t=e.getDropTarget();t.addEventListener("dragenter",i=>{i.preventDefault(),i.stopPropagation(),this.enabled&&i.target instanceof HTMLElement&&this._owner.checkDragSource(i.dataTransfer)&&this._owner.canDrop(i.target,i.dataTransfer)&&(this._showDragMask(),this._dragging=!0,e.doDragEnter(i,i.dataTransfer))}),t.addEventListener("dragleave",i=>{if(i.preventDefault(),i.stopPropagation(),!this.enabled)return;const r=i.relatedTarget;r instanceof Element&&this._owner.getDropTarget()&&this._owner.getDropTarget().contains(r)||(this._dragging=!1,this._hideDragMask(),e.doDragLeave(i))}),t.addEventListener("dragover",i=>{i.preventDefault(),i.stopPropagation(),i.target instanceof HTMLElement&&this._owner.canDrop(i.target,i.dataTransfer)&&this.enabled&&(i.offsetX!==this._prevX||i.offsetY!==this._prevY)&&(this._prevX=i.offsetX,this._prevY=i.offsetY,e.doDragOver(i))}),t.addEventListener("drop",i=>{i.preventDefault(),i.stopPropagation(),i.target instanceof HTMLElement&&this._owner.canDrop(i.target,i.dataTransfer)&&this.enabled&&(this._dragging=!1,this._hideDragMask(),e.doDrop(i,i.dataTransfer),i.dataTransfer.clearData())})}_showDragMask(){}_hideDragMask(){}}class qRe extends bd{_doDragStart(e){const t=e.target;if(t instanceof HTMLButtonElement){const r=this.owner.findToolItemById(t.id);if(r){e.dataTransfer.setData(uC(JSON.stringify({type:tc.ITEM,name:r.tag})),""),e.dataTransfer.setDragImage(e.target,0,0);return}}X.stopEvent(e)}_doClick(e){debugger}}class ZRe extends g2{constructor(e,t){super(e,"rrd-actionbar",t),this._draggable=!1}get draggable(){return this._draggable}set draggable(e){function t(i){i&&(i.dom.draggable=e,i.dom.style.cursor=e?"pointer":"")}e!==this._draggable&&(this._draggable=e,this.model.items.forEach(i=>{if(i instanceof Fb){const r=this._toolMap[i.id];r instanceof Om&&i.items.forEach(s=>{ee.isString(s.tag)&&t(r.buttonOf(s.id))})}else ee.isString(i.tag)&&t(this._toolMap[i.id])}))}_createDefaultTool(){return new qRe(this)}_doPrepareBar(e,t,i){super._doPrepareBar(e,t,i),this.doc.getElementById("item_bar_expand").style.display="none",this.doc.getElementById("item_bar_design_group").style.overflowY="visible",this.doc.getElementById("item_bar_report_group").style.justifyContent="flex-start",this.doc.getElementById("item_bar_sheet_group").style.justifyContent="flex-start",this.doc.getElementById("item_bar_selection_mode").style.backgroundColor="var(--rrd-light-theme-primary-color-10)",X.setStyles(t,{position:"relative"})}_doAfterRefreshBar(e,t){X.setData(this.dom,"appMode",e.designMode?Aa.Design:Aa.Preview)}setItemBarMode(e){const t=this.dom.children[0].childNodes;for(let i=0;i<t.length;i++){const r=t[i];r.dataset.mode=e?"row":"col"}this.dom.dataset.mode=e?"row":"col",this.doc.getElementById("item_bar_expand").style.display=e?"flex":"none",this.doc.getElementById("item_bar_collapse").style.display=e?"none":"flex"}}const Gs={test:{label:"Test",run(a,e){a.server.getAssetCategories().then(t=>{a.alert(t),a.showMessage("groups<br>error","error")})}},toggleOptions:{label:"Options",run(a,e){a.toggleOptions()}},about:{label:"Show About",run(a,e){a.showAbout()}},preview:{label:"Toggle Design Mode",run(a,e){a.toggleDesignMode(Nf.PREVIEW)}},paperPreview:{label:"Toggle Design Mode",run(a,e){a.toggleDesignMode(Nf.PAPER_PREVIEW)}},toggleDesignMode:{label:"Toggle Design Mode",run(a,e){a.toggleDesignMode()},enabled(a,e){return!a.printing}},toggleOutline:{label:"Toggle Outline",run(a,e){a.toggleOutlineView()}},toggleActionBar:{label:"Toggle ActionBar",run(a,e){a.toggleActionBar()}},toggleInspector:{label:"Toggle Inspector",run(a,e){a.toggleInspector()}},togglePanels:{label:"Toggle Panels",run(a,e){a.togglePanels()}},search:{label:"Search",run(a,e){a.search()}},feedback:{label:"Feedback",run(a,e){a.feedback()}},save:{label:"Save",run:async(a,e)=>{a.saveReport()},enabled:a=>!!a.report},edit:{label:"Edit",run(a,e){}},open:{label:"Open",run(a,e){a.showOpenDlg()}},load:{label:"Load",run(a){const e=a.doc.querySelector(".rrd-file");e.onchange||(e.onchange=t=>{const i=t.target.files[0];if(i){const r=new FileReader;r.onload=function(s){try{const n=JSON.parse(s.target.result),o=ee.isObject(n.report)&&ee.isObject(n.report.page)?n.report:n;a.loadReport(o)}catch(n){a.alert('<b style="font-size: 1.2em;">Load Error</b><br/><br/>'+n)}},r.readAsText(i)}}),e.click()}},download:{label:"Download",enabled:a=>!!a.report,run(a){const e=JSON.stringify(a.report.save()),t=new Blob([e],{type:"text/plain"}),i=window.URL.createObjectURL(t),r=document.createElement("a");try{r.href=i,r.download=`${a.report.info.name||"report"}.r2`,r.click()}finally{r.remove(),window.URL.revokeObjectURL(i)}}},share:{label:"Share",enabled:a=>a.server&&!!a.server.shareReport,run(a){a.shareReport()}},newReport:{label:"New Report",run(a,e){a.showNewDlg()}},selectionMode:{label:"selectionMode",run(a,e){a.editor.selectMode=!0,a.doc.getElementById("item_bar_selection_mode").style.backgroundColor="var(--rrd-light-theme-primary-color-10)",a.doc.getElementById("item_bar_hand_mode").style.backgroundColor=""}},handMode:{label:"handMode",run(a,e){a.editor.handMode=!0,a.doc.getElementById("item_bar_selection_mode").style.backgroundColor="",a.doc.getElementById("item_bar_hand_mode").style.backgroundColor="var(--rrd-light-theme-primary-color-10)"}},actionBarMode:{label:"Expander",run(a,e){a.actionBarMode()}}},qs={first:{label:"Go to first page",enabled:({previewer:a},e)=>(a==null?void 0:a.isPrinted)&&(a==null?void 0:a.page)>0,run(a,e){a.previewer.page=0}},prev:{label:"Go to previous page",enabled:({previewer:a},e)=>(a==null?void 0:a.isPrinted)&&(a==null?void 0:a.page)>0,run(a,e){a.previewer.page-=1}},next:{label:"Go to next page",enabled:({previewer:a},e)=>(a==null?void 0:a.isPrinted)&&(a==null?void 0:a.page)<(a==null?void 0:a.pageCount)-1,run(a,e){a.previewer.page+=1}},last:{label:"Go to last page",enabled:({previewer:a},e)=>(a==null?void 0:a.isPrinted)&&(a==null?void 0:a.page)<(a==null?void 0:a.pageCount)-1,run(a,e){a.previewer.page=a.previewer.pageCount-1}},goToPage:{label:"Go to page",run(a,e,t){Number.isNaN(t)||(a.previewer.page=t)}},zoomIn:{label:"Zoom in",run(a,e){a.previewer.zoom+=.1,a.refreshDesigner()}},zoomOut:{label:"Zoom out",run(a,e){a.previewer.zoom-=.1,a.refreshDesigner()}},setZoom:{label:"Set zoom",run(a,e,t){a.previewer.zoom=Math.round(t)/100,a.refreshDesigner()}},fitToWidth:{label:"Fit to width",run(a,e){a.previewer.fitToWidth(),a.refreshDesigner()}},fitToHeight:{label:"Fit to height",run(a,e){a.previewer.fitToHeight(),a.refreshDesigner()}},fitToPage:{label:"Fit to page",run(a,e){a.previewer.fitToPage(),a.refreshDesigner()}},refresh:{label:"Refresh",run(a,e){a.preview()}},print:{label:"Print",run(a,e){a.print()}},exportHtml:{label:"ExportHtml",run(a,e){return a.exportHtml()}},excelUndo:{run(a,e,t){console.log("undo")}},excelRedo:{run(a,e,t){console.log("redo")}},exportExcel:{label:"ExportExcel",run(a,e){a.exportExcel()}},toggleExportBar:{label:"Show export menu",run(a,e){a.toggleActionSubBar()}},togglePreviewSettingSubBar:{label:"Show preview setting menu",run(a,e){a.togglePreviewSettingSubBar()}},export:{label:"export",run(a,e){const t=a.findToolItemById(fP);if(!(t instanceof VA))throw new mu;const i=a.findToolItemById(g4);if(!(i instanceof FA))throw new mu;const r=i.value;if(!r){alert("파일명을 입력해 주세요.");return}switch(t.value){case Hw.PDF:const s=JRe(a);a.exportPdf({filename:r,...s});break;case Hw.DOCX:a.exportDocx({filename:r});break;case Hw.HWP:a.exportHwp({filename:r});break;case Hw.PNG:a.exportImage({type:"png",fileName:r});break;case Hw.EXCEL:a.exportExcel({fileName:r});break;default:throw new mu}}},archive:{label:"Archive",run(a,e){a.showUploadArchiveDlg()}}};function JRe(a){const e=a.findToolItemById(_4).value,t=a.findToolItemById(m4).value,i=a.findToolItemById(w4).value;return{preview:!1,pdfVersion:hN.getPdfVersion(e),userPassword:t,ownerPassword:i}}class eTe{constructor(e){this._dialog=e}dispose(){}start(e,t){const i=document.getElementsByClassName("rrd-dialog-view");if(!i||i.length<=0)return!1;const r=i[0];if(!(r instanceof HTMLElement))return!1;const s=r.getBoundingClientRect();return this._width=s.width,this._height=s.height,this._x=e,this._y=t,!0}move(e,t){const i=this._width+e-this._x,r=this._height+t-this._y;return this._dialog.resize(i,r),!0}end(e,t){}}class tTe{constructor(e){this._dialog=e}dispose(){}start(e,t){return this._offsetX=this._dialog.x,this._offsetY=this._dialog.y,this._x=e,this._y=t,!0}move(e,t){return e=Math.max(0,this._offsetX+e-this._x),t=Math.max(0,this._offsetY+t-this._y),this._dialog.internalMove(e,t),!0}end(e,t){}}class iTe{constructor(e){this._mouseDownHandler=t=>this._mouseDown(t),this._mouseMoveHandler=t=>this._mouseMove(t),this._mouseUpHandler=t=>this._mouseUp(t),this._dialog=e,document.addEventListener("mousedown",this._mouseDownHandler),document.addEventListener("mousemove",this._mouseMoveHandler),document.addEventListener("mouseup",this._mouseUpHandler)}dispose(){document.removeEventListener("mousedown",this._mouseDownHandler),document.removeEventListener("mousemove",this._mouseMoveHandler),document.removeEventListener("mouseup",this._mouseUpHandler)}_mouseDown(e){this._tracker=this._getMouseTracker(e),this._tracker&&(this._tracker.start(e.clientX,e.clientY)||(this._tracker.end(e.clientX,e.clientY,!1),this._tracker=null))}_mouseMove(e){this._tracker&&(this._tracker.move(e.clientX,e.clientY)||(this._tracker.end(e.clientX,e.clientY,!1),this._tracker=null))}_mouseUp(e){this._tracker&&(this._tracker.end(e.clientX,e.clientY,!0),this._tracker=null)}_getMouseTracker(e){if(e.target instanceof HTMLElement)switch(e.target.id){case"rrd-dialog-caption":case"rrd-dialog-title":return new tTe(this._dialog);case"rrd-dialog-resizer":return new eTe(this._dialog)}}}class pP{static show(e,t,i){this._dlg||(this._dlg=new pP(e)),this._dlg.showModal(t,i)}static isVisible(){return this._dlg&&this._dlg._dialog.parentElement}constructor(e){const t=this._dialog=e.createElement("dialog");t.classList.add("rr-confirm-dlg");const i=e.createElement("div"),r=e.createElement("button"),s=e.createElement("button");t.appendChild(e.createElement("p")),X.setStyles(i,{display:"flex",gap:"6px",marginTop:"20px"}),r.textContent="Cancel",r.style.marginLeft="auto",r.onclick=()=>{t.close()},i.appendChild(r),s.textContent="OK",s.setAttribute("autofocus",""),s.onclick=()=>{t.close("ok")},i.appendChild(s),t.appendChild(i),t.onclose=n=>{var o;console.log(n),(o=this._callback)===null||o===void 0||o.call(this,t.returnValue==="ok"),t.remove()}}showModal(e,t){const i=this._dialog;this._callback=t,i.returnValue="",i.firstElementChild.textContent=e,i.ownerDocument.body.appendChild(i),i.showModal()}}class rTe extends Ii{constructor(e,t){super(e.doc);const i=e.doc,r=this.dom;let s=X.createDiv(i,"rrd-dialog-title"),n;s.id=s.className,s.appendChild(n=X.createSpan(i,"rrd-dialog-caption",null,t)),n.id=n.className,s.appendChild(n=X.createSpan(i,"rrd-dialog-close"));const o=X.createSvg(i,"");o.setAttribute("viewBox","0 0 36 36"),o.setAttribute("width","24"),o.setAttribute("height","24"),o.setAttribute("fill","none"),o.setAttribute("stroke","white"),o.innerHTML=xe.close,n.appendChild(o),n.onclick=()=>{e.dialog.cancel(e)},r.appendChild(s),r.appendChild(this._errorBar=X.createDiv(i,"rrd-dialog-error",{display:"none"}))}_doDispose(){this._errorTimer&&clearTimeout(this._errorTimer)}showError(e){const t=this._errorBar;this._errorTimer&&clearTimeout(this._errorTimer),t.classList.remove("disappear"),t.classList.add("appear"),t.style.display="",t.innerHTML=e,this._errorTimer=setTimeout(()=>{t.classList.remove("appear"),t.classList.add("disappear"),t.style.display="none",this._errorTimer=void 0},5*1e3)}}class Dr extends Ii{constructor(e,t){super(e,"rrd-dialog-body "+t)}refreshBody(e,t){}}Dr.INVALID_FIELD="invalid-field";class Ha extends Ii{constructor(e,t,i,r){super(e.doc,"rrd-dialog "+i),this._permanent=!1,this.closeOnEscape=!0,this.addChild(this._titleView=new rTe(e,t)),this.addChild(this._bodyView=this._initBody(e,r)),this.addChild(this._bottomView=this._createBottom(e).initBottom(e.doc)),this._bodyView.contentChanged=s=>{this._bodyChanged(s)},this._bodyChanged(),this._tool=new iTe(this),document.addEventListener("keydown",this._keydownHandler=s=>{if(!pP.isVisible())switch(s.key){case"Escape":this.closeOnEscape!==!1&&(this.closeConfirm?pP.show(e.doc,"다이얼로그를 닫으시겠습니까?",n=>{n&&(this.cancelOnClose?this.cancel(e):e.closeDialog())}):this.cancelOnClose?this.cancel(e):e.closeDialog(),X.stopEvent(s));break;case"Enter":this.submitOnEnter&&(this.canSubmit()&&this.submit(e),X.stopEvent(s));break}},!0),this.dom.onclick=s=>{const n=this.findChildOf(s.target,!0);n instanceof LN&&(n.action?n.action.run(e,n.action):n.onClick(e,this))},this._permanent=r&&r.retainMode===!0,this._nodraw=!0}canDispose(){return this._permanent!==!0}_doDispose(){this._titleView.dispose(),this._bodyView.dispose(),this._tool&&this._tool.dispose(),document.removeEventListener("keydown",this._keydownHandler,!0)}get titleView(){return this._titleView}initValues(e){const t=this._bodyView.dom;for(const i in e){const r=t.getElementsByClassName(i)[0];r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement?r.value=e[i]:r instanceof HTMLSpanElement&&(r.textContent=e[i])}}focusInput(e,t=!0){e instanceof HTMLInputElement&&(e.focus(),t&&e.select())}showError(e){this._titleView.showError(e)}show(e,t){return this._callback=e||this._callback,this._cancelCallback=t,this.visible=!0,this._doShow(),this}refresh(e){this._bodyView.refreshBody(e,this)}canSubmit(){return!0}submit(e){try{this._callback?this._callback(this):this._doSubmit(e),e.closeDialog(),this._doClose(e)}catch(t){this.showError(t)}}cancel(e){this._cancelCallback?this._cancelCallback(this):this._doCancel(e),e.closeDialog(),this._doClose(e)}findToolItem(e){const t=this.findChildOf(e,!0);if(t instanceof _d)return t}setDisabled(e,t){this._bottomView.findButtonById(e).setDisabled(t)}_doInitDom(e,t){X.setStyles(t,{resize:"both",maxWidth:"90%",maxHeight:"90%"})}_setCallback(e){this._callback=e}_doShow(){}_doSubmit(e){}_doCancel(e){}_doClose(e){}_bodyChanged(e){}}const Th={close:{name:"Close",onClick:a=>{a.dialog.cancel(a)}},cancel:{name:"Cancel",onClick:a=>{a.dialog.cancel(a)}}};class LN extends un{get button(){return this.dom}get id(){return this._id}constructor(e,t){super(e);const i=this.dom;this._id=i.id=t.id||t.name,i.className=`btn ${t.disabled?"disabled":""}`,i.disabled=t.disabled,i.textContent=t.name,t.className&&(i.className=`${i.className} ${t.className}`),t.styles&&ee.extend(i.style,t.styles),this.action=t.action,this.onClick=t.onClick.bind(this)}setDisabled(e){this.button.disabled=e,e?this.button.classList.add("disabled"):this.button.classList.remove("disabled")}_createDom(e){return e.createElement("button")}}class Ua extends Ii{constructor(e,t){super(e,"rrd-dialog-bottom"),this.dialog=t,this._buttonMap=new Map}initBottom(e){return this._doInitBottom(e),this}findButtonById(e){return this._buttonMap.get(e)}_addButtons(e,t){t.forEach(i=>{const r=new LN(e,i);this.addChild(r)})}_addDialogButtons(e,t){this._buttonContainer||(this.addChild(this._buttonContainer=new Ii(e,"rrd-dialog-buttons")),t.forEach(i=>{const r=new LN(e,i);this._buttonContainer.addChild(r),r.id&&this._buttonMap.set(r.id,r)}))}_refresh(e){this.dialog.refresh(e)}}let sTe=class extends Dr{get dataName(){return this._nameInput.value}get fieldRowCount(){return this._table.rows.length}get calcFieldRowCount(){return this._calcTable.rows.length}get sample(){return this._sample}constructor(e,t,i,r){super(e,"rrd-data-dialog-body"),this.titleView=r,this._sample=[],this._nameInput.value=i,setTimeout(()=>{this.$_focusRow(0,this._table)})}getFields(){const e=[];for(let t=0;t<this.fieldRowCount;t++){const{name:i,label:r,dataType:s,source:n,format:o,sample:l,description:h}=this.$_getTableRowInputValue(this._table,t);e.push({fieldName:i,label:r,dataType:s,source:n,format:o,sample:l,description:h})}for(let t=0;t<this.calcFieldRowCount;t++){const{name:i,label:r,dataType:s,source:n,format:o,sample:l,description:h}=this.$_getTableRowInputValue(this._calcTable,t);l.trim()&&e.push({fieldName:i,label:r,dataType:s,source:n,format:o,expression:l,description:h})}return e}addField(e,t){const i=t?this._calcTable:this._table,r=this.$_createTableRow(e,i,t);setTimeout(()=>{this.$_focusRow(r,i)})}validateFields(e){const t=[];let i=!1;return this.$_resetValidateMessage(),this._nameInput.value=this._nameInput.value.trim(),this._nameInput.value===""&&(this._nameInput.classList.add(Dr.INVALID_FIELD),this._nameInput.focus(),i=!0),[this._table,this._calcTable].forEach((r,s)=>{const n=r.rows.length;for(let o=0;o<n;o++){const l=r.rows.item(o),h=l.querySelector(Rr.FIELD_NAME_INPUT_CLASS),c=h.parentElement,d=h.value.trim();if(d?t.indexOf(d)>=0?(h.classList.add(Dr.INVALID_FIELD),c.append(this.$_createValidateMessage(e,"중복된 필드명입니다")),i||(h.focus(),i=!0)):t.push(d):(h.classList.add(Dr.INVALID_FIELD),c.append(this.$_createValidateMessage(e,"필드명을 지정하세요")),i||(h.focus(),i=!0)),s===1){const u=l.querySelector(Rr.FIELD_SAMPLE_CLASS),A=u.parentElement;u.value.trim()||(u.classList.add(Dr.INVALID_FIELD),A.append(this.$_createValidateMessage(e,"Expression을 지정하세요")),i||(u.focus(),i=!0))}}}),!i}_doInitDom(e,t){const i=X.createDiv(e,"rrd-band-data-dialog-name");this._nameInput=X.createElement(e,"input",null,"rrd-band-data-dialog-data-name"),this._pathInput=X.createElement(e,"input",{placeholder:"sample"},"rrd-band-data-dialog-data-path",{flex:"0 1 200px"}),this._fileInput=X.createElement(e,"input",{type:"file"},"",{display:"none"}),this._fileInput.accept=".json",this._fileInput.onchange=u=>this.$_onFileChangeHandler(u,e),i.appendChild(X.createSpan(e,null,null,"Name:")),i.appendChild(this._nameInput),i.appendChild(X.createSpan(e,null,null,"Data Path:")),i.appendChild(this._pathInput),i.appendChild(X.createButton(e,"Load From File",()=>this._fileInput.click(),"data-dialog-load-button")),i.appendChild(this._fileInput),t.appendChild(i);const{div:r,span:s}=this.$_createFieldsLabel(e,"Fields: ");this._fieldsCountLabel=s,t.appendChild(r);const n=X.createDiv(e,"rrd-band-data-dialog-table-container");n.appendChild(this._table=this.$_createTable(e,!1)),n.style.flexGrow="2",t.appendChild(n);const o=this.$_createTableRow(e,this._table,!1);this._table.rows.item(o).querySelector(Rr.FIELD_NAME_INPUT_CLASS).value="field";const{div:l,span:h}=this.$_createFieldsLabel(e,"Calculated Fields: ");this._calculatedFieldsCountLabel=h,t.appendChild(l);const c=X.createDiv(e,"rrd-band-data-dialog-table-container");c.appendChild(this._calcTable=this.$_createTable(e,!0)),t.appendChild(c);const d=this.$_createTableRow(e,this._calcTable,!0);this._calcTable.rows.item(d).querySelector(Rr.FIELD_NAME_INPUT_CLASS).value="calcField"}refreshBody(e,t){this.$_refresh()}$_getTableRowInputValue(e,t){const i=e.rows[t],r=i.querySelector(Rr.FIELD_NAME_INPUT_CLASS).value,s=i.querySelector(Rr.FIELD_LABEL_INPUT_CLASS).value,n=this.$_getBandDataType(i.querySelector(Rr.FIELD_TYPE_SELECT_CLASS).value),o=i.querySelector(Rr.FIELD_SOURCE_INPUT_CLASS).value,l=i.querySelector(Rr.FIELD_FORMAT_INPUT_CLASS).value,h=i.querySelector(Rr.FIELD_SAMPLE_CLASS).value,c=i.querySelector(Rr.FIELD_DESCRIPTION_INPUT_CLASS).value;return{name:r,label:s,dataType:n,source:o,format:l,sample:h,description:c}}$_getBandDataType(e){switch(e){case"text":return"text";case"number":return"number";case"bool":return"bool";default:return"text"}}$_getDataType(e){return typeof e=="number"?"number":typeof e=="boolean"?"bool":"text"}$_createFieldsLabel(e,t){const i=X.createDiv(e,"rrd-data-dialog-fields"),r=X.createSpan(e,"rrd-data-dialog-fields-count",null,"0 items");return i.appendChild(X.createSpan(e,null,null,t)),i.appendChild(X.createSpan(e,"rrd-data-dialog-fields-hline")),i.appendChild(r),{div:i,span:r}}$_createTable(e,t){const i=e.createElement("table"),r=e.createElement("thead");return X.setData(i,"type",t?"calc":"field"),i.className="rrd-band-data-dialog-table",["Field Name","Label","Data Type","Source","Format",t?"Expression":"Sample","Description"].forEach(s=>{const n=e.createElement("th");n.textContent=s,r.appendChild(n)}),i.appendChild(r),i.appendChild(e.createElement("tbody")),i}$_createTableRow(e,t,i){const r=t.insertRow(),s=r.rowIndex;(i?Rr.BAND_DATA_CALC_FIELDS:Rr.BAND_DATA_FIELDS).forEach(d=>{const u=r.insertCell();X.setData(u,"field",d),u.appendChild(this.$_createFieldInput(e,d,s,i))});let o=r.insertCell();o.className="rrd-data-dialog-button-cell";const l=X.createSpan(e,"rrd-data-dialog-table-row-button");l.textContent="—",l.style.fontWeight="bold",l.title="Remove",X.setData(l,"type","remove"),X.setData(l,"row",s),o.appendChild(l),o=r.insertCell(),o.className="rrd-data-dialog-button-cell";const h=X.createSpan(e,"rrd-data-dialog-table-row-button");h.textContent="↑",h.style.fontWeight="bold",h.title="Move Up",X.setData(h,"type","up"),X.setData(h,"row",s),o.appendChild(h),o=r.insertCell(),o.className="rrd-data-dialog-button-cell";const c=X.createSpan(e,"rrd-data-dialog-table-row-button");return c.textContent="↓",c.style.fontWeight="bold",c.title="Move Down",X.setData(c,"type","down"),X.setData(c,"row",s),o.appendChild(c),s}$_createFieldInput(e,t,i,r){const s=r?Rr.BAND_DATA_CALC_FIELDS:Rr.BAND_DATA_FIELDS,n=e.createElement("input");n.className="input",n.placeholder=t.toLowerCase(),n.title=t,X.setData(n,"row",i);const o=e.createElement("select");switch(o.className="select",X.setData(o,"row",i),t){case s[0]:return n.required=!0,X.setData(n,"field","name"),n.oninput=()=>this.$_resetValidateMessage(),n;case s[1]:return n.required=!0,X.setData(n,"field","label"),n;case s[2]:return X.setData(o,"field","type"),["text","number","bool"].forEach(l=>{const h=e.createElement("option");h.value=l,h.textContent=l,o.add(h)}),o;case s[3]:return X.setData(n,"field","source"),n;case s[4]:return X.setData(n,"field","format"),n;case s[5]:return X.setData(n,"field","sample"),r&&(n.oninput=()=>this.$_resetValidateMessage()),n;case s[6]:return X.setData(n,"field","description"),n}}$_refresh(){this.$_refreshItemCount(),this.$_refreshTableRowButtons(this._table,!1),this.$_refreshTableRowButtons(this._calcTable,!0),this.$_resetValidateMessage()}$_refreshItemCount(){this._fieldsCountLabel.textContent=`${this.fieldRowCount} items`,this._calculatedFieldsCountLabel.textContent=`${this.calcFieldRowCount} items`}$_refreshTableRowButtons(e,t){function i(s,n){s.style.color=n?"":"lightgray",s.style.pointerEvents=n?"":"none"}const r=e.rows.length;for(let s=0;s<r;s++){const n=e.rows.item(s),o=n.querySelector('span[data-type="remove"]'),l=n.querySelector('span[data-type="up"]'),h=n.querySelector('span[data-type="down"]');o.onclick=()=>{e.rows.item(s).remove(),this.$_refresh()},l.onclick=()=>{const c=e.rows.item(s),d=e.rows.item(s-1);d.parentNode.insertBefore(c,d),this.$_refresh()},h.onclick=()=>{const c=e.rows.item(s),d=e.rows.item(s+1);d.nextSibling?d.parentNode.insertBefore(c,d.nextSibling):d.parentNode.appendChild(c),this.$_refresh()},r===1?(i(o,t),i(l,!1),i(h,!1)):s===0?(i(o,!0),i(l,!1),i(h,!0)):s===r-1?(i(o,!0),i(l,!0),i(h,!1)):(i(o,!0),i(l,!0),i(h,!0))}}$_focusRow(e,t){t.rows.item(e).querySelector(Rr.FIELD_NAME_INPUT_CLASS).focus()}$_createValidateMessage(e,t){const i=X.createDiv(e,"rrd-validate-message");return i.textContent=t,i}$_resetValidateMessage(){const e=this.fieldRowCount,t=this.calcFieldRowCount,i=this._nameInput;i.classList.contains(Dr.INVALID_FIELD)&&i.classList.remove(Dr.INVALID_FIELD),this.$_resetTableValidateMessage(this._table,e),this.$_resetTableValidateMessage(this._calcTable,t,!0)}$_resetTableValidateMessage(e,t,i){for(let r=0;r<t;r++){const s=e.rows.item(r),n=s.querySelector('input[data-field="name"]'),o=n.parentElement;if(n.classList.contains(Dr.INVALID_FIELD)&&(n.classList.remove(Dr.INVALID_FIELD),o.removeChild(o.querySelector("div"))),i){const l=s.querySelector('input[data-field="sample"]'),h=l.parentElement;l.classList.contains(Dr.INVALID_FIELD)&&(l.classList.remove(Dr.INVALID_FIELD),h.removeChild(h.querySelector("div")))}}}$_setFileData(e,t,i){function r(o,l,h){o.querySelector(l).value=h}const s=t.fields;let n;if(Array.isArray(t))n=t;else if(i){const o=i.split(".");n=t[o[0]],o.shift();for(let l of o)n=n[l]}else n=t.sample;if(s||Array.isArray(n)){if(X.clearTableRows(this._table),X.clearTableRows(this._calcTable),Array.isArray(s))s.forEach(o=>{const l=this.$_createTableRow(e,this._table,!1),h=this._table.rows[l];r(h,Rr.FIELD_NAME_INPUT_CLASS,o.fieldName||""),r(h,Rr.FIELD_TYPE_SELECT_CLASS,this.$_getBandDataType(o.dataType)),r(h,Rr.FIELD_SOURCE_INPUT_CLASS,o.source||""),r(h,Rr.FIELD_FORMAT_INPUT_CLASS,o.format||""),r(h,Rr.FIELD_SAMPLE_CLASS,o.sample||""),r(h,Rr.FIELD_DESCRIPTION_INPUT_CLASS,o.description||"")});else if(Array.isArray(n)){const o=n[0];for(const l in o){const h=this.$_createTableRow(e,this._table,!1),c=this._table.rows[h],d=o[l];r(c,Rr.FIELD_NAME_INPUT_CLASS,l||""),r(c,Rr.FIELD_TYPE_SELECT_CLASS,this.$_getDataType(d)),r(c,Rr.FIELD_SAMPLE_CLASS,d||"")}}this._sample=n,this.$_refresh()}}$_onFileChangeHandler(e,t){const i=e.target.files[0];if(i){const r=new FileReader;r.onload=s=>{try{const n=JSON.parse(s.target.result);this.$_setFileData(t,n,this._pathInput.value)}catch(n){console.log(n)}},r.readAsText(i,"utf-8")}this._fileInput.value=null}},nTe=class extends Ua{_doInitBottom(e){this._addButtons(e,[{name:"Add Field",onClick:t=>{this.dialog.addField(t,e,!1)},className:"dialog-normal-button"},{name:"Add Calc Field",onClick:t=>{this.dialog.addField(t,e,!0)},className:"dialog-normal-button"}]),this._addDialogButtons(e,[{name:"Create",onClick:(t,i)=>{this.dialog.bodyView.validateFields(e)&&i.submit(t)},className:"dialog-submit-button"},Th.cancel])}};class Rr extends Ha{constructor(e,t){super(e,"New - Band Data","rrd-band-data-dialog",t),this.closeConfirm=!0,this.refresh(e)}get bodyView(){return this._bodyView}addField(e,t,i){this.bodyView.addField(t,i),this.refresh(e)}_doInitStyles(e){this.resizeDlg(900,650,e)}_initBody(e,t){return new sTe(e.doc,e,t,this._titleView)}_createBottom(e){return new nTe(e.doc,this)}_doSubmit(e){const t=this.bodyView.getFields(),i=this.bodyView.sample,r=new mr(this.bodyView.dataName,t,i);e.report.addData(r,!1)}}Rr.BAND_DATA_FIELDS=["Field Name","Label","Data Type","Source","Format","Sample","Description"];Rr.BAND_DATA_CALC_FIELDS=["Field Name","Label","Data Type","Source","Format","Expression","Description"];Rr.FIELD_NAME_INPUT_CLASS='input[data-field="name"]';Rr.FIELD_LABEL_INPUT_CLASS='input[data-field="label"]';Rr.FIELD_TYPE_SELECT_CLASS='select[data-field="type"]';Rr.FIELD_SOURCE_INPUT_CLASS='input[data-field="source"]';Rr.FIELD_FORMAT_INPUT_CLASS='input[data-field="format"]';Rr.FIELD_SAMPLE_CLASS='input[data-field="sample"]';Rr.FIELD_DESCRIPTION_INPUT_CLASS='input[data-field="description"]';let oTe=class extends Dr{refreshBody(e,t){}},aTe=class extends Ua{_doInitBottom(e){}};class lTe extends Ha{constructor(e,t){super(e,"Import Band Data","import-band-data-dialog",t)}_initBody(e){return new oTe(e.doc,"")}_createBottom(e){return new aTe(e.doc,this)}}let hTe=class extends Dr{refreshBody(e,t){}},cTe=class extends Ua{_doInitBottom(e){}};class dTe extends Ha{constructor(e,t){super(e,"Import Simple Data","import-simple-data-dialog",t)}_initBody(e){return new hTe(e.doc,"")}_createBottom(e){return new cTe(e.doc,this)}}class _2 extends Ai{constructor(e){super(),this._name=e,this._oldName||(this._oldName=e)}get name(){var e;return String((e=this._name)!==null&&e!==void 0?e:"")}set name(e){e!==this._name&&(this._oldName=this._name,this._name=e)}get oldName(){return this._oldName?String(this._oldName):void 0}get index(){return this._name}get parent(){return this._parent}get json(){return this._parent&&this._parent.json}get level(){return this._parent?this._parent.level+1:0}get revealed(){return!this._parent||this._parent.revealed}get nameEditable(){return this._parent&&!(this._parent instanceof d1)}isGroup(){return!1}getPath(){const e=[this];let t=this._parent;for(;t;)e.push(t),t=t._parent;return e.reverse()}getPathStr(){if(this._parent){const e=this._parent.getPathStr();return(e?e+".":"")+this._name}return""}}_2.TAG="_tag_";class uTe extends _2{save(){}}class gP extends uTe{}class yn extends _2{constructor(e){super(e),this._items=[],this._expanded=!0}get count(){return this._items.length}get items(){return this._items.slice(0)}get expanded(){return this._expanded}indexOf(e){return this._items.indexOf(e)}get(e){return this._items[e]}set(e,t){const i=this._items[e];i!==t&&(this._items[e]=t,t._parent=this,i._parent=null)}getAfter(e){return this._items[this._items.indexOf(e)+1]}contains(e){return this._items.indexOf(e)>=0}canAdd(e){return!!e}add(e,t){if(e&&this._items.indexOf(e)<0)return this._addItem(e,t),!0}addAll(e){let t=0;return e.forEach(i=>{i&&this._items.indexOf(i)<0&&(this._addItem(i,null),t++)}),t}canRemove(e){return!!e}remove(e){const t=this._items.indexOf(e);if(t>=0)return this._removeItem(e,t),!0}clear(){const e=this._items;return this._items=[],e.forEach(t=>t._parent=null),e}collectItems(e,t){for(let i of this._items)e.push(i),i instanceof yn&&i.collectItems(e,t);t&&!(e[e.length-1]instanceof gP)&&e.push(this._addItem(new gP(null),null))}collectVisibles(e){for(let t of this._items)e.push(t),t instanceof yn&&t.expanded&&t.collectVisibles(e)}findByTag(e){if(e===this.tag)return this;for(let t of this._items)if(t instanceof yn){const i=t.findByTag(e);if(i)return i}else if(t===e)return t}getNextName(e){const t=this._items;let i="name"+(e>0?e:"");for(;t.find(r=>r.name===i);)i="name"+(+i.substring(4)+1);return i}isGroup(){return this instanceof yn}_createItem(e,t){if(t==null||Number.isNaN(t))return new Rx(e);if(typeof t=="string")return new _P(e,t);if(typeof t=="number")return new cC(e,t);if(typeof t=="boolean")return new nS(e,t);if(ee.isArray(t))return new d1(e,t);if(t)return new c1(e,t)}_addItem(e,t){if(t){const i=this._items.indexOf(t);i>=0?this._items.splice(i,0,e):this._items.push(e)}else this._items.push(e);return e._parent=this,this._doItemAdded(e),e}_doItemAdded(e){}_removeItem(e,t){this._items.splice(t,1),e._parent=null,this._doItemRemoved(e)}_doItemRemoved(e){}$_expand(e,t){if(e!==this._expanded||t){let i=!1;if(e!==this._expanded&&(this._expanded=e,i=!0),t)for(let r of this._items)r instanceof yn&&r.$_expand(e,!0)&&(i=!0);return i}}}class c1 extends yn{constructor(e,t){super(e),this._nameMap={},this._parse(t)}find(e){return this._nameMap[e]}isValidName(e,t){const i=this._nameMap[t];return!i||i===e}getValidName(e){let t=e,i=1;for(;;){let r=!1;for(let s in this._nameMap)if(t===s){t=e+"-"+i++,r=!0;break}if(!r)break}return t}save(){const e={};for(let t of this._items)t.save()!==void 0&&t.name&&(e[t.name]=t.save());return e}canAdd(e){if(super.canAdd(e)&&e.name){if(this._nameMap[e.name])throw new Error("동일한 속성 이름이 존재합니다: "+e.name);return!0}return!1}_doItemAdded(e){this._nameMap[e.name]=e}_doItemRemoved(e){delete this._nameMap[e.name]}_parse(e){for(let t in e)if(t===_2.TAG)this.tag=e[t];else{const i=this._createItem(t,e[t]);i&&(this._addItem(i,null),this._nameMap[t]=i)}}}class d1 extends yn{constructor(e,t){super(e),this._parse(t)}save(){const e=[];for(let t of this._items)t.save()!==void 0&&e.push(t.save());return e}_doItemAdded(e){this.$_resetIndices()}_doItemRemoved(e){this.$_resetIndices()}_parse(e){for(let t=0;t<e.length;t++){const i=this._createItem(t,e[t]);i&&this._addItem(i,null)}}$_resetIndices(){this._items.forEach((e,t)=>{e.name=String(t)})}}class yo extends _2{constructor(e,t){super(e),this._value=t}get value(){return this._value}set value(e){e!==this._value&&(this._value=e)}get displayText(){return this.value===void 0?"UNDEFINED":this.value===null?"null":this._getDisplayText(this.value)}parseValue(e){if(e!==void 0){if(e===null||e=="null")return null;if(e!="UNDEFINED")return this._doParseValue(e)}}valueEquals(e){return this.value==e}save(){return this._value}}class Rx extends yo{constructor(e){super(e,null)}save(){return null}_getDisplayText(e){return"null"}_doParseValue(e){return null}}class _P extends yo{_getDisplayText(e){return e}_doParseValue(e){return e.startsWith('"')&&e.endsWith('"')?e.slice(1,e.length-1):e}}class cC extends yo{_getDisplayText(e){return isNaN(e)?"NaN":String(e)}_doParseValue(e){return e=="NaN"?NaN:parseFloat(e)}}class nS extends yo{_getDisplayText(e){return e?"true":"false"}_doParseValue(e){const t=e.trim().toLowerCase();return t==="true"||t==="t"||t==="1"}}class cA extends yo{static parseArrayValue(e){const t=e.split(cA.REGEX_COMMA),i=[];return e.trim()===""||t.forEach((r,s)=>{const n=r.toLocaleLowerCase();if(r.startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'"))i[s]=r.slice(1,r.length-1);else if(n==="true"||n==="false")i[s]=n==="true";else{const o=parseFloat(r);i[s]=isNaN(o)?null:o}}),i}constructor(e,t){const i=t.map(r=>Number.isNaN(r)?null:r);super(e,i)}_getDisplayText(e){let t="";const i=new Array(e.length);for(let r=0;r<e.length;r++)typeof e[r]=="string"&&!e[r].includes('"')?i[r]='"'+e[r]+'"':i[r]=e[r];return t+=i.join(","),t}_doParseValue(e){return cA.parseArrayValue(e)}valueEquals(e){if(ee.isArray(e)&&ee.isArray(this.value)){if(e.length&&this.value.length){for(let t=0;t<e.length;t++)if(e[t]!=this.value[t])return!1;return!0}}else return!this.value}}cA.REGEX_COMMA=/\s*\,\s*/;let ATe=class extends Dr{get dataName(){return this._nameInput.value}get rowCount(){return this._table.rows.length}constructor(e,t){super(e,"rrd-data-dialog-body"),this._nameInput.value=t,setTimeout(()=>{this.$_focusRow(0)})}getData(){const e={};for(let t=0;t<this.rowCount;t++){const i=this._table.rows.item(t),r=i.querySelector(Ra.FIELD_NAME_INPUT_CLASS),s=i.querySelector(Ra.FIELD_TYPE_SELECT_CLASS),n=i.querySelector(Ra.FIELD_SAMPLE_VALUE_INPUT_CLASS);e[r.value]=this.$_convertData(n.value,s.value)}return e}addField(e){const t=this.$_createTableRow(e);setTimeout(()=>{this.$_focusRow(t)})}validateFields(e){let t=!1;const i=this.rowCount;this.$_resetValidateMessage(),this._nameInput.value=this._nameInput.value.trim(),this._nameInput.value===""&&(this._nameInput.classList.add(Dr.INVALID_FIELD),this._nameInput.focus(),t=!0);for(let r=0;r<i;r++){const n=this._table.rows.item(r).querySelector(Ra.FIELD_NAME_INPUT_CLASS),o=n.parentElement;n.value.trim()||(n.classList.add(Dr.INVALID_FIELD),o.append(this.$_createValidateMessage(e)),t||(n.focus(),t=!0))}return!t}_doInitDom(e,t){const i=X.createDiv(e,"rrd-simple-data-dialog-name-container");this._nameInput=X.createElement(e,"input",{},"rrd-simple-data-dialog-data-name"),this._pathInput=X.createElement(e,"input",null,"rrd-simple-data-dialog-data-path",{flex:"0 1 100px"}),this._fileInput=X.createElement(e,"input",{type:"file"},"",{display:"none"}),this._fileInput.accept=".json",this._fileInput.onchange=s=>this.$_onFileChangeHandler(s,e),i.appendChild(X.createSpan(e,"rrd-simple-data-dialog-data-name-label",null,"Name: ")),i.appendChild(this._nameInput),i.appendChild(X.createSpan(e,null,null,"Data Path:")),i.appendChild(this._pathInput),i.appendChild(X.createButton(e,"Load From File",()=>this._fileInput.click(),"data-dialog-load-button")),i.appendChild(this._fileInput),t.appendChild(i),t.appendChild(this.$_createFieldsLabel(e,"Values: "));const r=X.createDiv(e,"rrd-simple-data-dialog-table-container");r.appendChild(this._table=this.$_createTable(e)),t.appendChild(r),this.$_createTableRow(e,"field")}refreshBody(e,t){this.$_refresh()}$_createFieldsLabel(e,t){const i=X.createDiv(e,"rrd-data-dialog-fields");return i.appendChild(X.createSpan(e,null,null,t)),i.appendChild(X.createSpan(e,"rrd-data-dialog-fields-hline")),this._itemCountLabel=X.createSpan(e,"rrd-data-dialog-fields-count",null,"0 items"),i.appendChild(this._itemCountLabel),i}$_createTable(e){const t=e.createElement("table"),i=e.createElement("thead");return t.className="rrd-simple-data-dialog-table",Ra.SIMPLE_DATA_FIELDS.forEach(r=>{const s=e.createElement("th");s.textContent=r,i.appendChild(s)}),t.appendChild(i),t.appendChild(e.createElement("tbody")),t}$_createTableRow(e,t){const i=this._table.insertRow(),r=i.rowIndex;Ra.SIMPLE_DATA_FIELDS.forEach(h=>{const c=i.insertCell();X.setData(c,"field",h),c.appendChild(this.$_createFieldInput(e,h,r)),t&&h==="Name"&&(c.firstChild.value=t)});let s=i.insertCell();s.className="rrd-data-dialog-button-cell";const n=X.createSpan(e,"rrd-data-dialog-table-row-button");n.textContent="—",n.style.fontWeight="bold",n.title="Remove",X.setData(n,"type","remove"),X.setData(n,"row",r),s.appendChild(n),s=i.insertCell(),s.className="rrd-data-dialog-button-cell";const o=X.createSpan(e,"rrd-data-dialog-table-row-button");o.textContent="↑",o.style.fontWeight="bold",o.title="Move Up",X.setData(o,"type","up"),X.setData(o,"row",r),s.appendChild(o),s=i.insertCell(),s.className="rrd-data-dialog-button-cell";const l=X.createSpan(e,"rrd-data-dialog-table-row-button");return l.textContent="↓",l.style.fontWeight="bold",l.title="Move Down",X.setData(l,"type","down"),X.setData(l,"row",r),s.appendChild(l),r}$_createFieldInput(e,t,i){const r=e.createElement("input");switch(r.className="input",r.placeholder=t.toLowerCase(),r.title=t,X.setData(r,"row",i),t){case Ra.SIMPLE_DATA_FIELDS[0]:return r.required=!0,X.setData(r,"field","name"),r.oninput=()=>this.$_resetValidateMessage(),r;case Ra.SIMPLE_DATA_FIELDS[1]:{const s=e.createElement("select");return s.className="select",s.title="Value Type, Required.",X.setData(s,"field","type"),X.setData(s,"row",i),["text","number","bool","null","array"].forEach(n=>{const o=e.createElement("option");o.value=n,o.textContent=n,s.add(o)}),s}case Ra.SIMPLE_DATA_FIELDS[2]:return X.setData(r,"field","sample"),r}}$_createValidateMessage(e){const t=X.createDiv(e,"rrd-validate-message");return t.textContent="Value Name Required",t}$_refresh(){this.$_refreshTableRowButtons(),this.$_refreshItemCount(),this.$_resetValidateMessage()}$_refreshTableRowButtons(){function e(i,r){i.style.color=r?"":"lightgray",i.style.pointerEvents=r?"":"none"}const t=this.rowCount;for(let i=0;i<t;i++){const r=this._table.rows.item(i),s=r.querySelector('span[data-type="remove"]'),n=r.querySelector('span[data-type="up"]'),o=r.querySelector('span[data-type="down"]');s.onclick=()=>{this._table.rows.item(i).remove(),this.$_refresh()},n.onclick=()=>{const l=this._table.rows.item(i),h=this._table.rows.item(i-1);h.parentNode.insertBefore(l,h),this.$_refresh()},o.onclick=()=>{const l=this._table.rows.item(i),h=this._table.rows.item(i+1);h.nextSibling?h.parentNode.insertBefore(l,h.nextSibling):h.parentNode.appendChild(l),this.$_refresh()},t===1?(e(s,!1),e(n,!1),e(o,!1)):i===0?(e(s,!0),e(n,!1),e(o,!0)):i===t-1?(e(s,!0),e(n,!0),e(o,!1)):(e(s,!0),e(n,!0),e(o,!0))}}$_resetValidateMessage(){const e=this.rowCount,t=this._nameInput;t.classList.contains(Dr.INVALID_FIELD)&&t.classList.remove(Dr.INVALID_FIELD);for(let i=0;i<e;i++){const s=this._table.rows.item(i).querySelector('input[data-field="name"]'),n=s.parentElement;s.classList.contains(Dr.INVALID_FIELD)&&(s.classList.remove(Dr.INVALID_FIELD),n.removeChild(n.querySelector("div")))}}$_refreshItemCount(){this._itemCountLabel.textContent=`${this.rowCount} items`}$_focusRow(e){this._table.rows.item(e).querySelector(Ra.FIELD_NAME_INPUT_CLASS).focus()}$_convertData(e,t){switch(t){case"number":const i=Number(e);return isNaN(i)?0:i;case"bool":return e==="true";case"null":return null;case"array":return cA.parseArrayValue(e);default:return String(e)}}$_getDataType(e){switch(typeof e){case"number":return"number";case"boolean":return"bool";case"object":return e===null?"null":Array.isArray(e)?"array":"text";default:return"text"}}$_setFileData(e,t,i){function r(s,n,o){s.querySelector(n).value=o}if(i){const s=i.split(".");for(let n of s)t=t[n]}if(ee.isObject(t)&&Object.keys(t).length>0){X.clearTableRows(this._table);for(const s in t){const n=this.$_createTableRow(e),o=this._table.rows[n],l=t[s];r(o,Ra.FIELD_NAME_INPUT_CLASS,s||""),r(o,Ra.FIELD_TYPE_SELECT_CLASS,this.$_getDataType(l)),r(o,Ra.FIELD_SAMPLE_VALUE_INPUT_CLASS,l||"")}this.$_refresh()}}$_onFileChangeHandler(e,t){const i=e.target.files[0];if(i){const r=new FileReader;r.onload=s=>{try{const n=JSON.parse(s.target.result);this.$_setFileData(t,n,this._pathInput.value)}catch(n){console.log(n)}},r.readAsText(i,"utf-8")}}},fTe=class extends Ua{_doInitBottom(e){this._addButtons(e,[{name:"Add Field",onClick:t=>{this.dialog.addField(t,e)},className:"dialog-normal-button"}]),this._addDialogButtons(e,[{name:"Create",onClick:(t,i)=>{this.dialog.validateFields(e)&&i.submit(t)},className:"dialog-submit-button"},Th.cancel])}};class Ra extends Ha{get bodyView(){return this._bodyView}constructor(e,t){super(e,"New - Simple Data","rrd-simple-data-dialog",t),this.closeConfirm=!0,this.refresh(e)}addField(e,t){this.bodyView.addField(t),this.refresh(e)}validateFields(e){return this.bodyView.validateFields(e)}_doInitStyles(e){this.resizeDlg(600,450,e)}_initBody(e,t){return new ATe(e.doc,t)}_createBottom(e){return new fTe(e.doc,this)}_doSubmit(e){const t=new cn(this.bodyView.dataName,this.bodyView.getData());e.report.addData(t,!1)}}Ra.SIMPLE_DATA_FIELDS=["Name","Value Type","Sample Value"];Ra.FIELD_NAME_INPUT_CLASS='input[data-field="name"]';Ra.FIELD_TYPE_SELECT_CLASS='select[data-field="type"]';Ra.FIELD_SAMPLE_VALUE_INPUT_CLASS='input[data-field="sample"]';function vI(a,e){const t=a.data.getAll();let i="",r=1;for(e===cn?i="data":e===mr&&(i="dataset");;){let s=i+"-"+r,n=!1;for(let o of t)if(o.name===s){n=!0;break}if(!n)break;r++}return i+"-"+r}const mP={newSimple:{run(a,e){a.showDialog(new Ra(a,vI(a.report,cn)))}},newBand:{run(a,e){a.showDialog(new Rr(a,vI(a.report,mr)))}},importSimple:{run(a,e){a.showDialog(new dTe(a,vI(a.report,mr)))}},importBand:{run(a,e){a.showDialog(new lTe(a,vI(a.report,mr)))}},remove:{run(a,e){}}};var qv;(function(a){a.DUPULICATED_FIELD_NAME="필드명을 중복으로 설정할 수 없습니다.",a.EMPTY_FIELD_NAME="필드명을 공백으로 설정할 수 없습니다."})(qv||(qv={}));class v4 extends Ii{constructor(e,t){super(e,"rrd-data-container"+(t?" "+t:""))}get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this.render(e))}render(e){this._doRender(this.doc,e||this._report)}_doInitStyles(e){Object.assign(e.style,{position:"absolute",display:"flex",width:"100%",height:"100%"})}_getCssDisplay(){return"flex"}_initStyles(e){}}const pTe={data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFHSURBVHgB7ZfhTcMwEIUfFQN0BG9QNsAbkBE8AhsAEyRMQDYhbAATkA0KE5Q73Vk1lmnskCr94U96ipTcPV+d3skBKitzlRlnSTeknV63JBPFjKov0hvpnTTgH/AiD6Q96TBTn6Q2UewkTbQwG3UkB9kBk8jhe5Z0T+o1J8xvkIkJEl/VdC5Wi/F+Niep0+AWy+E9X+IHm0TwFstzKAnucdwyrthiPhbyGkO/X1xPGDjVCGmpD0h7jaoQA9k9364NMv79pwp4UsM7NXIoh2fCs17b0gJGyOvgtrKQX3aL4xAyiXheiHfI79Sgz9xfi0y9As+g6rAwG6zMRReww3IUefWoc0CocyBkQJ0DKxRwjjnwnRNscb45YHITuYfjQyUX4zvCJHL4HneKg7RcmL9HwaE0NOwio1Lxwo84ccwr/TCZOwcql8sP4jiQjBLEhWIAAAAASUVORK5CYII="};class wP{static createDragImage(e){const t=new Image;return t.src=pTe[e],t}static calcDragImageOffset(e){return{x:e.width/2,y:e.height/2}}}class t_{constructor(e){Object.assign(this,e)}}class CA{constructor(e){this.items=[],Object.assign(this,e)}}let gTe=class extends Dr{constructor(e){super(e.doc,"rrd-share-dialog-body")}_doInitDom(e,t){const i={alignSelf:"center",textAlign:"right"};let r=e.createElement("label"),s=this.edtName=e.createElement("input");X.setStyles(r,i).textContent="Name:",s.required=!0,s.placeholder="Data template 이름을 반드시 지정해야 합니다.",s.oninput=()=>{this.contentChanged()},t.appendChild(r),t.appendChild(s),r=e.createElement("label"),s=this.edtCategory=e.createElement("input"),s.required=!0,s.placeholder="Category를 반드시 지정해야 합니다.",s.oninput=()=>{this.contentChanged()},X.setStyles(r,i).textContent="Category:",t.appendChild(r),t.appendChild(s),r=e.createElement("label");const n=this.edtDescription=e.createElement("textarea");X.setStyles(r,{textAlign:"right",marginTop:"2px"}).textContent="Description:",t.appendChild(r),t.appendChild(n)}_doInitStyles(e){X.setStyles(e,{display:"grid",gridTemplateColumns:"minmax(60px, auto) 1fr",gridTemplateRows:"repeat(2, auto) 1fr",columnGap:"10px",rowGap:"8px"})}},yP=class DN extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{id:DN.BOTTOM_SAVE_BTN_ID,name:"Save",onClick:(t,i)=>{i.submit(t)},className:"dialog-submit-button",disabled:!0},{id:DN.BOTTOM_CANCEL_BTN_ID,...Th.cancel,disabled:!1}])}};yP.BOTTOM_SAVE_BTN_ID="open-dlg-bottom-open";yP.BOTTOM_CANCEL_BTN_ID="open-dlg-bottom-cancel";class _Te extends Ha{constructor(e){super(e,"Share as Data Template","save-dialog",null)}get bodyView(){return this._bodyView}get bottomView(){return this._bottomView}get result(){const e=this.bodyView;return{name:e.edtName.value,category:e.edtCategory.value,description:e.edtDescription.value}}_doInitStyles(e){this.resizeDlg(450,300,e)}_initBody(e){return new gTe(e)}_createBottom(e){return new yP(e.doc,this)}_doShow(){this.focusInput(this.bodyView.edtName)}_bodyChanged(e){this.setDisabled(yP.BOTTOM_SAVE_BTN_ID,!this.bodyView.edtName.value||!this.bodyView.edtCategory.value)}}class mTe extends un{constructor(e){super(e),this.listMode=!1,this.selected=!1,this.styleName="rrd-data-item",this.setStyles({border:"none",backgroundColor:"transparent"});const t=this._icon=e.createElementNS(Di,"svg");t.setAttribute("viewBox","0 0 32 32"),t.setAttribute("width","64"),t.setAttribute("height","64"),t.setAttribute("fill","none"),t.style.pointerEvents="none",this.addDom(t);const i=this._label=X.createSpan(e,"rrd-data-item-label");this.addDom(i)}render(e,t,i,r,s){this.item=e,this.listMode=r,this.selected=s,this.styleName=this.listMode?"rrd-data-list-item":"rrd-data-item",X.setData(this.dom,"index",i),X.setData(this.dom,"name",e.name),this._icon.setAttribute("width",r?"20":"60"),this._icon.setAttribute("height",r?"20":"60"),t?this._icon.innerHTML=e.type==="simple"?xe.dataPanel.dataSimple:xe.dataPanel.dataBand:this._icon.innerHTML=e instanceof cn?xe.dataPanel.dataSimple:xe.dataPanel.dataBand,this._label.textContent=e.name,this.dom.title=e.name}setSelectd(e){this._icon.style.backgroundColor=e?"":"#F1F1F1",this._icon.style.border=e?"2px solid var(--rrd-light-theme-primary-color-8)":"",this._icon.style.boxShadow=e?"2px 1px 8px 0px rgb(201 201 201)":""}removeSelectd(){this._icon.style.backgroundColor="",this._icon.style.border="",this._icon.style.boxShadow=""}_createDom(e){return e.createElement("button")}_doInitDom(e,t){t.draggable=!0}_doDraw(e){}$_iconClass(e){return e?"rrd-data-list-item-icon":"rrd-data-item-icon"}$_iconStyle(e,t){const i={};let r="";return e instanceof cn?r="data-type-simple.png":e instanceof mr&&(r="data-type-band.png"),r?i.background=(t?"rgb(0 0 0 / 38%) ":"")+'no-repeat center/contain url("/assets/images/'+r+'")':i.background=t?"#fff":"#555",i}$_createDataViewButton(e){const t=e.createElement("div"),i=t.style;return t.textContent="V",i.position="absolute",i.right="16px",i.top="0px",i.fontSize="16px",i.fontWeight="bold",t}$_templateIconStyle(e,t){const i={};let r="";return e.type==="band"?r="data-type-band.png":e.type==="simple"?r="data-type-simple.png":e.type==="array"&&(r="data-type-array.png"),r?i.background=(t?"rgb(0 0 0 / 38%) ":"")+'no-repeat center/contain url("/assets/images/'+r+'")':i.background=t?"#fff":"#555",i}$_labelClass(e){return e?"data-list-item-label data-list-item-label-selected":"data-list-item-label"}}let wTe=class extends Ii{get dataListContainer(){return this._dataListContainer}set dataListContainer(e){this._dataListContainer=e}refresh(){this.$_resetButtons(this._dataListContainer.listMode)}_doInitDom(e,t){const i={padding:"3px 4px 2px 4px"};this.addChild(new Ht(e,{label:"Use",action:{run:(r,s)=>{const{selected:n,group:o}=this.dataListContainer;n>=0&&o instanceof CA&&this.dataListContainer.useDataTemplate(r,o.items[n])}},tag:"group",style:i})),this.addChild(new Ht(e,{label:"+ Simple",action:mP.newSimple,tag:"report",style:i})),this.addChild(new Ht(e,{label:"+ Band",action:mP.newBand,tag:"report",style:i})),this.addChild(new Ht(e,{label:"Remove",action:{run:(r,s)=>{var n;const o=this.dataListContainer.selectedItem;o&&((n=r.report)===null||n===void 0||n.removeData(o.name))}},tag:"report",style:i})),this.addChild(new Ht(e,{label:"Share",action:{run:(r,s)=>{const n=this.dataListContainer.selectedItem;n instanceof vc&&r.server&&r.server.shareDataTemplate&&r.showDialog(new _Te(r),async o=>{try{const l=o.result,h=n.save(),c={name:l.name,type:h.type,category:l.category,description:l.description,content:JSON.stringify(h)};await r.server.shareDataTemplate(c),r.showMessage("Template으로 저장됐습니다: "+c.name,"info")}catch(l){console.error(l),r.showMessage(l,"error")}})}},tag:"report",style:i})),this.addDom(X.createSpace(e)),this.addChild(new Ht(e,{id:"refresh",label:"Refresh",tag:"server",onClick:()=>{},style:i})),this.addChild(new Ht(e,{id:"grid",label:"Grid",tag:"viewMode",svg:xe.gridBtn,onClick:()=>{this._dataListContainer.listMode=!1}})),this.addChild(new Ht(e,{id:"list",label:"List",tag:"viewMode",svg:xe.listBtn,onClick:()=>{this._dataListContainer.listMode=!0}})),this.$_resetButtons(!1)}_doInitStyles(e){X.setStyles(e,{flex:"0 0 auto",display:"flex",gap:"4px",alignItems:"center"})}$_resetButtons(e){if(!this.dataListContainer)return;const t=this.dataListContainer.group;X.setBoolData(this.dom.querySelector("#grid"),"checked",!e),X.setBoolData(this.dom.querySelector("#list"),"checked",e),t instanceof CA?this.$_setButtonVisibleByTag("group"):t==="server"?this.$_setButtonVisibleByTag("server"):t==="report"&&this.$_setButtonVisibleByTag("report")}$_setButtonVisibleByTag(e){this._getElements().filter(i=>i instanceof Ht).forEach(i=>{i.tag!=="viewMode"&&(i.tag===e?i.visible=!0:i.visible=!1)})}},yTe=class extends Ii{_doInitStyles(e){X.setStyles(e,{userSelect:"none"})}};class Iz extends v4{constructor(e,t){super(e,"list"),this._listMode=!1,this._itemViews=[],this._selected=-1,this.addChild(this._headerView=new wTe(e,"rrd-data-list-header")),this._headerView.dataListContainer=this,this.addChild(this._bodyView=new yTe(e,"rrd-data-list-body")),this._dataPanel=t}get headerView(){return this._headerView}get bodyView(){return this._bodyView}get listMode(){return this._listMode}set listMode(e){e!==this._listMode&&(this._listMode=e,this.render())}get group(){return this._group}set group(e){e!==this._group&&(this._group=e)}get isReport(){return this._group==="report"}get selected(){return this._selected}get selectedItem(){var e;return(e=this._itemViews[this._selected])===null||e===void 0?void 0:e.item}setSelected(e){var t;e!==this._selected&&(this._selected=e,this._itemViews.forEach((i,r)=>i.setSelectd(r===e)),this.isReport&&this._itemViews[e].item instanceof yd&&((t=this.onSelect)===null||t===void 0||t.call(this,this._itemViews[e].item)))}useDataTemplate(e,t){const{report:i}=e;if(t){const r=ee.deepClone(t.dataLink);e.server&&!t.fields?e.server.getDataTemplate(t.id).then(s=>{this.$_addDataToReport(e,s,s.dataLink,i)}):this.$_addDataToReport(e,t,r,i)}}itemOf(e){var t;return(t=this._itemViews.find(i=>i.containsDom(e)))===null||t===void 0?void 0:t.item}refreshSelected(){this._selected=-1,this._itemViews.forEach((e,t)=>e.removeSelectd())}_doInitStyles(e){super._doInitStyles(e),Object.assign(e.style,{flexDirection:"column"})}_doInitDom(e,t){this.dom.onpointerdown=this._pointerDownHandler.bind(this),this.dom.ondblclick=this._dblClickHandler.bind(this),this.dom.ondragstart=this._dragStartHandler.bind(this),this._dragImage=wP.createDragImage("data")}_doRender(e,t){X.setData(this.dom,"mode",this._listMode?"list":""),this._group instanceof CA?this.$_renderTemplates(e,this._group):this.$_renderReport(e,t),this._headerView.refresh()}$_renderTemplates(e,t){this.$_resetItemViews(e,t.items.length).forEach((r,s)=>{r.render(t.items[s],t,s,this.listMode,!1)})}$_renderReport(e,t){const i=t.data.getAll();this.$_resetItemViews(e,i.length).forEach((s,n)=>{s.render(i[n],null,n,this.listMode,!1)})}$_resetItemViews(e,t){const i=this._bodyView,r=this._itemViews;for(;r.length<t;){const s=new mTe(e);i.addChild(s),r.push(s)}for(;r.length>t;)r.pop().remove();return this._itemViews}_pointerDownHandler(e){for(let t=0;t<this._itemViews.length;t++)if(this._itemViews[t].containsDom(e.target)){this.setSelected(t);break}}_dblClickHandler(e){var t;this._selected>=0&&((t=this.onDblClick)===null||t===void 0||t.call(this,this._itemViews[this._selected].item))}_dragStartHandler(e){const t=e.target;if(t instanceof HTMLButtonElement&&(t.classList.contains("rrd-data-item")||t.classList.contains("rrd-data-list-item"))){const i=this._dataPanel.selected.path,r=t.dataset.name,s=wP.calcDragImageOffset(this._dragImage);if(e.dataTransfer.setDragImage(this._dragImage,s.x,s.y),(i.includes("Stock")||i.includes("Server"))&&this.group instanceof CA){const n=this.group.items[this.selected];n&&e.dataTransfer.setData(uC(JSON.stringify({type:tc.NEW_DATA,data:n})),"")}else e.dataTransfer.setData(uC(JSON.stringify({type:tc.DATA,name:r})),"");return}X.stopEvent(e)}$_addDataToReport(e,t,i,r){let s;switch(t.type){case"band":{const{sample:n,fields:o}=t,l=Array.isArray(n)?n:[];o&&(s=new mr(t.name,o,l,l.length,i));break}case"simple":{const{name:n,sample:o}=t;n&&(s=new cn(t.name,o,i));break}}if(s)try{r.addData(s,!0),this.refreshSelected()}catch(n){e.showMessage(n,"error")}}}class gi{constructor(e){this.tag=e}run(e,t){const i=e.getActiveEditor();i instanceof Uf&&this.$_runExcelEditor(e,i,t)}$_runExcelEditor(e,t,i){var r;const s=t.focusedItem;if(!(s instanceof io||s instanceof Or))return;const n=s.adoptDragSource(()=>new i.tag);if(!n)return;const o=e.report,l=o.pages[t.activePage];let h=n.value;const c=(r=s.parent)!==null&&r!==void 0?r:l.body.itemsContainer;s instanceof Or?h&&!(h instanceof Oi)&&t.selections.items.forEach(d=>{d instanceof Or&&(h||(h=new i.tag),h.row=d.row,h.col=d.col,o.addItem(d.parent,h),o.defaultInit(h,d.parent,void 0,void 0),h=null)}):h instanceof mr?e.designer.startBandDesigner(h,d=>{d.row=s.row,d.col=s.col,e.report.addItem(c,d),e.report.defaultInit(d,c,void 0,void 0)}):h instanceof Qi?e.designer.startBandDesigner(null,d=>{d.row=s.row,d.col=s.col,o.addItem(c,d),o.defaultInit(d,c,void 0,void 0)}):(h&&(h.row=s.row,h.col=s.col),h instanceof on&&(l._checkBoxSize(h)||(h=null)),h&&(o.addItem(c,h),o.defaultInit(h,c,void 0,void 0))),t.setFocus()}}const lx={type:"separator",color:"#5955B3"},ZV=[{type:"group",id:"item_bar_design_group",display:"grid",supportTypes:[mt.REPORT,mt.EMAIL,mt.SHEET],items:[{type:"button",id:"item_bar_expand",svg:xe.expand,action:Gs.actionBarMode,label:"Expander"},{type:"button",id:"item_bar_collapse",svg:xe.collapse,action:Gs.actionBarMode,label:"Expander"},{type:"button",id:"item_bar_toggle_outline",svg:xe.outline,action:Gs.toggleOutline,label:"Outline"},lx,{type:"button",id:"item_bar_selection_mode",svg:xe.selectionMode,action:Gs.selectionMode,label:"Selection Mode"},{type:"button",id:"item_bar_hand_mode",svg:xe.handMode,action:Gs.handMode,label:"Hand Mode"}]},{type:"group",id:"item_bar_report_group",display:"grid",supportTypes:[mt.REPORT],items:[{type:"button",id:"simple_band",svg:xe.simpleband,action:new gi(Bh),label:"Simple Band",tag:"simpleband"},{type:"button",id:"table_band",svg:xe.tableband,action:new gi(Ei),label:"Table Band",tag:"tableband"},{type:"button",id:"text_band",svg:xe.textband,action:new gi(Ei),label:"Text Band",tag:"textband"},{type:"button",id:"crosstab_band",svg:xe.crosstabband,action:new gi(Ss),label:"Crosstab Band",tag:"crosstab"},{type:"button",id:"band_group",svg:xe.bandgroup,action:new gi(Yr),label:"Band Group",tag:"bandgroup"},{type:"button",id:"table",svg:xe.table,action:new gi(ir),label:"Table",tag:"table"},lx,{type:"button",id:"text",svg:xe.text,action:new gi(ri),label:"Text",tag:"text"},{type:"button",id:"summary",svg:xe.summary,action:new gi(jl),label:"Summary",tag:"summary"},{type:"button",id:"html",svg:xe.html,action:new gi(Vn),label:"HTML",tag:"html"},{type:"button",id:"check",svg:xe.check,action:new gi(xs),label:"Check",tag:"check"},{type:"button",id:"image",svg:xe.image,action:new gi(Xr),label:"Image",tag:"image"},{type:"button",id:"svg",svg:xe.svg,action:new gi(Ma),label:"SVG",tag:"svg"},{type:"button",id:"shape",svg:xe.shape,action:new gi(bh),label:"Shape",tag:"shape"},{type:"button",id:"bar",svg:xe.bar,action:new gi(On),label:"Bar",tag:"bar"},{type:"button",id:"rating",svg:xe.rating,action:new gi(Ws),label:"Rating",tag:"rating"},{type:"button",id:"barcode",svg:xe.barcode,action:new gi(Yi),label:"Barcode",tag:"barcode"},{type:"button",id:"qrcode",svg:xe.qrcode,action:new gi(mn),label:"Qrcode",tag:"qrcode"},{type:"button",id:"datamatrix",svg:xe.datamatrix,action:new gi(xo),label:"DataMatrix",tag:"datamatrix"},{type:"button",id:"sign",svg:xe.sign,action:new gi(ea),label:"Sign",tag:"sign"},{type:"button",id:"stamp",svg:xe.stamp,action:new gi(Ac),label:"Stamp",tag:"stamp"},{type:"button",id:"chart",svg:xe.chart,action:new gi(_i),label:"Chart",tag:"realchart"},{type:"button",id:"htmlview",svg:xe.htmlview,action:new gi(Ks),label:"Html View",tag:"htmlView"},{type:"button",id:"space",svg:xe.space,action:new gi(Io),label:"Space",tag:"space"},lx,{type:"button",id:"rbox",svg:xe.rbox,action:new gi(Bo),label:"Row Box",tag:"rbox"},{type:"button",id:"cbox",svg:xe.cbox,action:new gi(hn),label:"Column Box",tag:"cbox"},{type:"button",id:"dbox",svg:xe.dbox,action:new gi(ss),label:"Diagonal Box",tag:"dbox"},{type:"button",id:"stack",svg:xe.stack,action:new gi(So),label:"Stack Container",tag:"stack"},{type:"button",id:"list",svg:xe.list,action:new gi(Mn),label:"List",tag:"list"},{type:"button",id:"datalist",svg:xe.datalist,action:new gi(Iz),label:"Data List",tag:"datalist"},{type:"button",id:"floating",svg:xe.floating,action:new gi(fa),label:"Floating Container",tag:"floating"}]},{type:"group",id:"item_bar_email_group",display:"grid",supportTypes:[mt.EMAIL],items:[{type:"button",id:"databand",svg:xe.tableband,action:new gi(_s),label:"Data Band",tag:"databand"},{type:"button",id:"table",svg:xe.table,action:new gi(_n),label:"Table",tag:"table"},lx,{type:"button",id:"text",svg:xe.text,action:new gi(Na),label:"Text",tag:"text"},{type:"button",id:"summary",svg:xe.summary,action:new gi(fd),label:"Summary",tag:"summary"},{type:"button",id:"image",svg:xe.image,action:new gi(_c),label:"Image",tag:"image"},{type:"button",id:"space",svg:xe.space,action:new gi(Ad),label:"Space",tag:"space"},{type:"button",id:"chart",svg:xe.chart,action:new gi(pd),label:"Chart",tag:"realchart"},lx,{type:"button",id:"rbox",svg:xe.rbox,action:new gi(_a),label:"Row Box",tag:"rbox"},{type:"button",id:"cbox",svg:xe.cbox,action:new gi(ol),label:"Column Box",tag:"cbox"}]},{type:"group",id:"item_bar_sheet_group",display:"grid",supportTypes:[mt.SHEET],items:[{type:"button",id:"text",svg:xe.text,action:new gi(oi),label:"Text",tag:"text"},{type:"button",id:"box",svg:xe.excelBox,action:new gi(on),label:"Box",tag:"box"},{type:"button",id:"databand",svg:xe.tableband,action:new gi(Qi),label:"Data Band",tag:"databand"},{type:"button",id:"image",svg:xe.image,action:new gi(Wg),label:"Image",tag:"image"},{type:"button",id:"summary",svg:xe.summary,action:new gi(wA),label:"Summary",tag:"summary"},{type:"button",id:"barcode",svg:xe.barcode,action:new gi(hp),label:"Barcode",tag:"barcode"},{type:"button",id:"bar",svg:xe.bar,action:new gi(Es),label:"Bar",tag:"bar"},{type:"button",id:"sign",svg:xe.sign,action:new gi(Rm),label:"Sign",tag:"sign"},{type:"button",id:"stamp",svg:xe.stamp,action:new gi(Tm),label:"Stamp",tag:"stamp"}]}],JV=[{type:"button",id:"preview_export",svg:xe.preview.export,action:qs.toggleExportBar,label:"Export",supportTypes:[mt.REPORT,mt.EMAIL,mt.SHEET],style:{marginTop:"10px"}},{type:"button",id:"preview_options",svg:xe.options,action:qs.togglePreviewSettingSubBar,label:"Export",supportTypes:[mt.REPORT,mt.EMAIL,mt.SHEET],style:{marginTop:"10px"}}];class jT extends Xd{constructor(){Xd.setItemTags(ZV,Aa.Design),Xd.setItemTags(JV,Aa.Preview),super(!0,[...ZV,...JV])}_doRefresh(e){var t;const i=(t=e.report)===null||t===void 0?void 0:t.type,r=e.designMode?Aa.Design:Aa.Preview;this.items.forEach(s=>{const n=s.tag,o=s.supportTypes;if(!i){r===Aa.Design&&jT.ALWAYS_VISIBLE_ITEMS_ID.includes(s.id)?s.visible=!0:s.visible=!1;return}if(typeof n=="string"){const l=o.includes(i);s.visible=n===r&&l}})}}jT.ALWAYS_VISIBLE_ITEMS_ID=["item_bar_design_group","item_bar_collapse","item_bar_toggle_outline","item_bar_selection_mode","item_bar_hand_mode"];class vTe extends g2{constructor(e,t){super(e,"rrd-action-subbar",t)}refreshItems(){const e=this.findToolItemById(fP).value;this.findToolItemById(_4).visible=e==="PDF",this.findToolItemById(m4).visible=e==="PDF",this.findToolItemById(w4).visible=e==="PDF"}_doPrepareBar(e,t,i){super._doPrepareBar(e,t,i)}_doAfterRefreshBar(e,t){const i=this.findToolItemById(fP);e.report.type===mt.SHEET?i.createSelector(["EXCEL"],"EXCEL"):window.PDFDocument?i.createSelector(["PDF","DOCX","HWP","PNG"],"PDF"):i.createSelector(["DOCX","HWP","PNG"],"DOCX"),this.refreshItems()}_createDefaultTool(){return new CTe(this)}}class CTe extends bd{constructor(e){super(e)}}const bTe=[{type:"text",id:"rrd-export-bar-header",value:"EXPORT"},{type:"group",style:{width:"100%",marginTop:"12px",padding:"0 12px",gap:"8px"},items:[{id:fP,type:"select",domain:["PDF","DOCX","HWP","PNG"],value:"PDF",label:"Format",full:!0,onEdit:(a,e)=>{a.refreshActionSubBar()}},{id:g4,type:"input",label:"File Name",placeholder:"파일명을 입력해주세요.",full:!0},{id:_4,type:"select",domain:["1.3","1.4","1.5","1.6","1.7","1.7ext3"],value:"1.7ext3",label:"Version",full:!0},{id:m4,type:"input",label:"User Password",placeholder:"사용자 비밀번호를 입력해주세요.",full:!0},{id:w4,type:"input",label:"Owner Password",placeholder:"소유자 비밀번호를 입력해주세요.",full:!0},{id:jRe,type:"button",label:"Save",variant:"filled",style:{width:"100%",height:"24px",padding:"3px 10px",marginTop:"8px"},action:qs.export}]}];class ETe extends Xd{constructor(){super(!0,bTe)}_doRefresh(e){const t=this.itemOf(g4);t.value=e.report.root.name}}class xTe extends uy{constructor(e,t){super(e,"rrd-archivepanel",t),this.contentVisible=!1}_doPrepareContent(e,t){}_doBuildModel(e,t){}_doRefreshButtons(e){}getMenu(e){}}class STe extends dy{}class ITe{constructor(e,t,i){this.dom=e,this.options=t,this.callback=i,this._handler=()=>{const r=this.options,s=r.duration||150,n=+new Date-this._started;n<=s?(r.visible?(this.dom.style.display="",this.dom.style.width=Et(r.size*n/s)):this.dom.style.width=Et(r.size*(1-n/s)),this._handler&&requestAnimationFrame(this._handler)):(this.callback(),this.stop())},this._started=+new Date,requestAnimationFrame(this._handler)}stop(){this._handler=null}}class Vb extends To{constructor(e,t,i="right",r,s){if(super(),this._maxSize=Number.MAX_SAFE_INTEGER,this._minSize=0,this.$_pointerDownHandler=n=>{this._resizer.setPointerCapture(n.pointerId),this._pStart=this._vertical?n.pageY:n.pageX,this._szSave=this.size},this.$_pointerMoveHandler=n=>{var o,l;if(n.buttons===1){const h=this.size,c=this._vertical?n.pageY:n.pageX,d=this._reversed?c-this._pStart:this._pStart-c;this.size=this._szSave+d,this.size>=this._maxSize?this.size=this._maxSize:this.size<=this._minSize&&(this.size=this._minSize),(o=this._content)===null||o===void 0||o.resetSize(),(l=this.onResize)===null||l===void 0||l.call(this,this.size,h)}},this.$_pointerUpHandler=n=>{var o;this.size>=this.maxWidth&&(this.size=this.maxWidth,(o=this._content)===null||o===void 0||o.resetSize())},this._container=t,t.appendChild(this._panel=this.$_createPanel(e,r,this._position=i)),s){const{maxSize:n,minSize:o}=s;this._maxSize=n??Number.MAX_SAFE_INTEGER,this._minSize=o??0}}get container(){return this._container}get contentDiv(){return this._contentDiv}get content(){return this._content}get visible(){return getComputedStyle(this._container).display!=="none"}set visible(e){e!==this.visible&&(this._container.style.display=e?"":"none",this._animation&&(this._animation.stop(),this._animation=null))}get resizerVisible(){return getComputedStyle(this._resizer).display!=="none"}set resizerVisible(e){e!==this.resizerVisible&&(this._resizer.style.display=e?"":"none")}get position(){return this._position}get size(){return this._vertical?this._container.clientHeight:this._container.clientWidth}set size(e){this._container.style[this._vertical?"height":"width"]=Et(Math.max(0,e))}get headHeight(){return this._resizer.offsetHeight+(this._headerView?this._headerView.offsetHeight:0)}get headerView(){return this._headerView}get body(){return this._body}setVisible(e,t=!0,i){var r;e!=this.visible&&(t?((r=this._animation)===null||r===void 0||r.stop(),e?this._saveSize=this._saveSize||this._container.scrollWidth||parseFloat(this._container.style.width):(this._saveSize=this._container.scrollWidth,this._saveMin=parseFloat(this._container.style.minWidth),this._container.style.minWidth=""),this._animation=new ITe(this._container,{visible:e,vertical:this._vertical,size:this._saveSize},()=>{this.visible=e,e&&(this._container.style.width=Et(this._saveSize),isNaN(this._saveMin)||(this._container.style.minWidth=Et(this._saveMin))),i&&i()})):(this.visible=e,i&&i()))}setContent(e){e!==this._content&&(this._content&&(this._content.contentVisible=!1),this._content=e,e&&(e.contentVisible=!0,e.resetSize()))}_createPanelBody(e){const t=this._position,i=this._vertical=t==="top"||t==="bottom",r={height:i?"":"100%",width:i?"100%":""};return X.createDiv(e,"rrd-panel-body",Object.assign({display:"flex",flexDirection:"column",flex:"1 1 auto"},r))}_createHeaderView(e){}$_createPanel(e,t,i){const r=this._vertical=i==="top"||i==="bottom",s=this._reversed=i==="top"||i==="left",n=X.createDiv(e,t||"rrd-panel",{display:"flex",flexDirection:r?s?"column-reverse":"column":s?"row-reverse":"row",height:"100%"}),o={height:r?"":"100%",width:r?"100%":""};return n.appendChild(this._resizer=X.createDiv(e,"rrd-panel-resizer",Object.assign({flex:"0 0 3px",cursor:r?"ns-resize":"ew-resize"},o))),this._resizer.onpointerdown=this.$_pointerDownHandler,this._resizer.onpointermove=this.$_pointerMoveHandler,this._resizer.onpointerup=this.$_pointerUpHandler,n.appendChild(this._body=this._createPanelBody(e)),(this._headerView=this._createHeaderView(e))&&this._body.appendChild(this._headerView.dom),this._body.appendChild(this._contentDiv=X.createDiv(e,"rrd-panel-content",Object.assign({flex:"1 1 auto"},o))),n}}let BTe=class extends Dr{constructor(e,t){super(e.doc,"rrd-asset-dialog-body"),this._nameView.value=t.assetName,this._type=t.assetType}get type(){return this._type}setData(e){const t=new Image;t.onload=()=>{const i=this._imageView,r=i.offsetWidth,s=i.offsetHeight;i.textContent="",t.width>r||t.height>s?i.style.backgroundSize="contain":i.style.backgroundSize="auto",i.style.backgroundImage="url("+e+")",this._textView.defaultValue=e,this._lengthView.textContent=`(${e.length} characters)`,this._sizeView.textContent=`(${t.naturalWidth} * ${t.naturalHeight}) pixels`},t.src=e}checkName(e){const t=this._nameView.value;if(!t){this._nameView.focus();return}if(!e.assets.isValidName(t)){this._nameView.focus(),this._nameView.select();return}return t}_doInitDom(e,t){let i;t.appendChild(i=X.createDiv(e,null,{display:"flex",gap:"10px",alignItems:"center"})),i.appendChild(X.createSpan(e,null,null,"Name:")),i.appendChild(this._nameView=X.createElement(e,"input",null,null,{flex:"1 1 auto"})),t.appendChild(i=X.createDiv(e,null,{display:"flex",gap:"10px",alignItems:"center"})),i.appendChild(X.createSpan(e,null,null,"Image")),i.appendChild(X.createSpan(e,null,{flex:"1 1 0",height:"1px",borderBottom:"1px solid #aaa"})),t.appendChild(i=X.createDiv(e,"rrd-asset-dialog-content",{flex:"1 1 auto",display:"flex",gap:"10px",alignItems:"center"}));let r=X.createDiv(e,null,{flex:"1 1 50%",display:"flex",flexDirection:"column",height:"100%"});const s=this._textView=e.createElement("textarea");X.setStyles(s,{width:"100%",flex:"1 1 0",resize:"none",outline:"none"}),r.appendChild(s),r.appendChild(this._lengthView=e.createElement("span")),i.appendChild(r),r=X.createDiv(e,null,{flex:"1 1 50%",display:"flex",flexDirection:"column",height:"100%"}),r.appendChild(this._imageView=X.createSpan(e,null,{backgroundImage:'url("")',backgroundPosition:"center center",backgroundRepeat:"no-repeat",backgroundSize:"auto",flex:"1 1 0",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"100%",backgroundColor:"lightgray",color:"#666"},"preview")),r.appendChild(this._sizeView=e.createElement("span")),r.ondrop=this.$_onDropHandler.bind(this),r.ondragover=this.$_onDragOverHandler.bind(this),i.appendChild(r)}_doInitStyles(e){X.setStyles(e,{display:"flex",flexDirection:"column",minWidth:"400px",gap:"6px"})}refreshBody(e,t){}$_onDropHandler(e){if(e.preventDefault(),e.dataTransfer.files){const t=e.dataTransfer.files[0],i=new FileReader;i.onload=()=>{this.onDrop(i.result)},(this.type==="image"&&t.type.match(/image.*/)||this.type==="svg"&&t.type.match(/svg/))&&i.readAsDataURL(t)}}$_onDragOverHandler(e){e.preventDefault()}},PTe=class extends Ua{constructor(e,t){super(e,t)}get type(){return this.dialog.type}_doInitBottom(e){const t=e.createElement("input");t.type="file",t.style.display="none",t.onchange=()=>{const i=t.files[0];if(i){const r=new FileReader;r.onload=s=>{this.onLoaded(s.target.result)},r.readAsDataURL(i)}},this.addDom(t),this._addButtons(e,[{name:"Load...",onClick:i=>{t.click()}}]),this.addDom(X.createSpan(e,null,null,"(Drag drop to preview box)")),this._addDialogButtons(e,[{name:"Save",onClick:(i,r)=>{r.submit(i)},className:"dialog-submit-button"},Th.cancel])}};class eH extends Ha{constructor(e,t,i){super(e,`New ${t==="svg"?"SVG":"Image"} Asset`,"rrd-asset-dialog",i),this.type=t}get bodyView(){return this._bodyView}_doInitStyles(e){this.resizeDlg(700,450)}_initBody(e,t){const i=new BTe(e,t);return i.onDrop=r=>{this.bodyView.setData(this._data=r)},i}_createBottom(e){const t=new PTe(e.doc,this);return t.onLoaded=i=>{this.bodyView.setData(this._data=i)},t}_doShow(){this._bottomView.dom.getElementsByTagName("input")[0].accept=this.type==="svg"?".svg":".png,.jpeg,.jpg,.gif,.webp,.bmp,.ico"}_doSubmit(e){const t=this._bodyView.checkName(e.report);t&&(this.type==="image"?e.report.addAsset(null,new Xl(t,this._data)):this.type==="svg"&&e.report.addAsset(null,new Gf(t,this._data)),e.refreshDesigner())}}const vP={newImage:{run(a,e){a.showDialog(new eH(a,"image",{assetName:a.report.assets.getValidName("image"),assetType:"image"}))}},newSvg:{run(a,e){a.showDialog(new eH(a,"svg",{assetName:a.report.assets.getValidName("svg"),assetType:"svg"}))}},remove:{run(a,e){}}};class RTe extends un{constructor(e){super(e),this.listMode=!1,this.selected=!1,this.dom.draggable=!0,this.addDom(this._icon=X.createSpan(e)),this._icon.draggable=!1,this.addDom(this._label=X.createSpan(e)),this._label.draggable=!1}get item(){return this._item}render(e,t,i){this.styleName=t?"rrd-asset-list-item":"rrd-asset-item",this._item=e,this.listMode=t,this.selected=i,this.draw(!0)}setSelectd(e){this._icon.style.backgroundColor=e?"#fff":"transparent",this._icon.style.border=e?"2px solid var(--rrd-light-theme-primary-color-8)":"",this._icon.style.boxShadow=e?"1px 1px 7px 0px rgb(207 207 207)":""}_doDraw(e){const t=this._item;X.setData(this.dom,"name",t.name),this._icon.className=this.$_iconClass(this.listMode,t),Object.assign(this._icon.style,this.$_iconStyle(t)),this._icon.title=this.$_iconHint(t),this._label.className=this.$_labelClass(this.listMode),this._label.textContent=t.name}$_iconClass(e,t){return e?t instanceof Z6?"rrd-asset-list-item-icon-dummy":"rrd-asset-list-item-icon":t instanceof Z6?"rrd-asset-item-icon-dummy":"rrd-asset-item-icon"}$_iconStyle(e){const t={};return e instanceof Xl?t.background='no-repeat center/contain url("'+e.data+'")':e instanceof Gf?t.background="no-repeat center/contain url('"+e.data+"')":e instanceof Ux&&(t.background="no-repeat center/contain url('"+Xt.createUrl(xe.snippet)+"')"),t}$_iconHint(e){if(e instanceof Xl)return"Image";if(e instanceof Gf)return"SVG";if(e instanceof Ux)return"Snippet"}$_labelClass(e){return this.selected?(e?"rrd-asset-list-item-label":"rrd-asset-item-label")+" rrd-asset-item-label-selected":e?"rrd-asset-list-item-label":"rrd-asset-item-label"}}let TTe=class extends Ii{get assetContainer(){return this._assetContainer}set assetContainer(e){this._assetContainer=e}refresh(){this.$_resetButtons(this.assetContainer.listMode)}_getCssDisplay(){return"flex"}_doInitDom(e,t){const i={padding:"3px 4px 2px 4px"};this.addChild(new Ht(e,{label:"Use",action:{run:(r,s)=>{const{group:n,selected:o}=this.assetContainer;o<0||!(n instanceof t_)||r.report.addAsset(null,n.assets[o])}},tag:"group",style:i})),this.addChild(new Ht(e,{id:"refresh",label:"Refresh",tag:"server",onClick:()=>{},style:i})),this.addChild(new Ht(e,{label:"Add Image",action:vP.newImage,tag:"report",style:i})),this.addChild(new Ht(e,{label:"Add SVG",action:vP.newSvg,tag:"report",style:i})),this.addChild(new Ht(e,{label:"Remove",action:{run:(r,s)=>{var n;const o=this.assetContainer.selectedItem;o&&((n=r.report)===null||n===void 0||n.removeAsset(o))}},tag:"report",style:i})),this.addDom(X.createSpace(e)),this.addChild(new Ht(e,{id:"grid",label:"Grid",tag:"viewMode",svg:xe.gridBtn,onClick:()=>{this.assetContainer.listMode=!1}})),this.addChild(new Ht(e,{id:"list",label:"List",tag:"viewMode",svg:xe.listBtn,onClick:()=>{this.assetContainer.listMode=!0}})),this.$_resetButtons(!1)}_doInitStyles(e){X.setStyles(e,{flex:"0 0 auto",display:"flex",gap:"4px",alignItems:"center"})}$_resetButtons(e){if(!this.assetContainer)return;const t=this.assetContainer.group;X.setBoolData(this.dom.querySelector("#grid"),"checked",!e),X.setBoolData(this.dom.querySelector("#list"),"checked",e),t instanceof t_?this.$_setButtonVisibleByTag("group"):t==="server"?this.$_setButtonVisibleByTag("server"):t instanceof jh&&this.$_setButtonVisibleByTag("report")}$_setButtonVisibleByTag(e){this._getElements().filter(i=>i instanceof Ht).forEach(i=>{i.tag!=="viewMode"&&(i.tag===e?i.visible=!0:i.visible=!1)})}},LTe=class extends Ii{_doInitStyles(e){X.setStyles(e,{display:"flex",flexWrap:"wrap",alignItems:"flex-start",padding:"8px 4px",overflow:"auto",userSelect:"none"})}};class DTe extends Ii{constructor(e,t){super(e,"rrd-asset-list"),this._listMode=!1,this._itemViews=[],this._selected=-1,this._panel=t,this.addChild(this._headerView=new TTe(e,"rrd-asset-list-header")),this._headerView.assetContainer=this,this.addChild(this._bodyView=new LTe(e,"rrd-asset-list-body"))}get headerView(){return this._headerView}get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this._group=null,this.render())}get listMode(){return this._listMode}set listMode(e){e!==this._listMode&&(this._listMode=e,this.render())}get group(){return this._group}set group(e){e!==this._group&&(this._group=e)}get isReport(){return this._group instanceof jh}get selected(){return this._selected}get selectedItem(){const e=this._itemViews[this._selected];return e?e.item:null}render(){X.setData(this.dom,"mode",this._listMode?"list":""),this._headerView.visible=!!this._group,this.setSelected(-1),this.$_layoutItems(this.$_getAssetItems(this._group)),this._headerView.refresh()}setSelected(e){var t,i;e!==this._selected&&(this._selected=e,this._itemViews.forEach((r,s)=>r.setSelectd(s===e)),this.isReport&&((t=this._itemViews[e])===null||t===void 0?void 0:t.item)instanceof so&&((i=this.onSelect)===null||i===void 0||i.call(this,this._itemViews[e].item)))}itemOf(e){var t;return(t=this._itemViews.find(i=>i.containsDom(e)))===null||t===void 0?void 0:t.item}_doInitStyles(e){Object.assign(e.style,{position:"absolute",display:"flex",flexDirection:"column",width:"100%",height:"100%"})}_addEventListeners(e){e.onpointerdown=this._pointerDownHandler.bind(this),e.ondblclick=this._dblClickHandler.bind(this),e.ondragstart=this._dragStartHandler.bind(this)}$_layoutItems(e){const t=this.doc,i=this._bodyView,r=this._itemViews,s=this._listMode,n=this._selected;for(;r.length<e.length;){const o=new RTe(t);i.addChild(o),r.push(o)}for(;r.length>e.length;)r.pop().remove();e.forEach((o,l)=>{r[l].render(o,s,l===n)})}$_getAssetItems(e){return e instanceof jh?e.items||[]:e instanceof t_?e.assets||[]:[]}$_prepareDragImage(e){return this._dragImage||(this._dragImage=document.createElement("div"),this._dragImage.style.position="fixed",this._dragImage.style.left="100000px",this._dragImage.style.top="100000px",this._dragImage.className="rrd-asset-drag-image",this.container.addFeedback(this._dragImage)),this._dragImage.textContent=e,this._dragImage}_pointerDownHandler(e){for(let t=0;t<this._itemViews.length;t++)if(this._itemViews[t].containsDom(e.target)){this.setSelected(t);break}}_dblClickHandler(e){var t;if(this._selected>=0){const i=this.selectedItem;(t=this.onDblClick)===null||t===void 0||t.call(this,i)}}_dragStartHandler(e){const t=e.target;if(t instanceof HTMLElement&&(t.classList.contains("rrd-asset-item")||t.classList.contains("rrd-asset-list-item"))){const i=this._panel.selected.path,r=t.dataset.name;if((i.includes("Stock")||i.includes("Server"))&&this.group instanceof t_){const s=this.group.assets[this.selected];s&&e.dataTransfer.setData(uC(JSON.stringify({type:tc.NEW_ASSET,data:{name:r,image:s.data}})),"")}else e.dataTransfer.setData(uC(JSON.stringify({type:tc.ASSET,name:r})),"");e.dataTransfer.setDragImage(this.$_prepareDragImage(r),0,16);return}X.stopEvent(e)}}class hu extends To{constructor(e){super(),this.$_setSource(e)}_doDispose(){this._source=null,super._doDispose()}get source(){return this._source}set source(e){e!==this._source&&this.$_setSource(e)}get root(){return this._root}findByName(e){return this._root.findByName(e)}findByTag(e){return this._root.findByTag(e)}addItem(e,t,i=-1){if(t){const r=new m2(t),s=(e||this._root).add(r,i);if(s>=0)return this._fireItemAdded(r,s),r}}removeItem(e){if(e&&e.tree){const t=e.parent;t.remove(e)&&this._fireItemRemoved(e,t)}}canExapnd(e){return this._fireItemExpanding(e)!==!1}$_setSource(e){this._source=e,this.$_build(e),this._fireSourceChanged()}$_build(e){this._root=new Bz(this,this._source=e),this._root.tag=e&&e.tag}_fireSourceChanged(){this.fireEvent(hu.SOURCE_CHANGED)}_fireItemAdded(e,t){this.fireEvent(hu.ITEM_ADDED,e,t)}_fireItemRemoved(e,t){this.fireEvent(hu.ITEM_REMOVED,e,t)}_fireItemExpanding(e){return this.fireConfirmEvent(hu.ITEM_EXPADNING,e)}}hu.SOURCE_CHANGED="onTreeRootChanged";hu.ITEM_ADDED="onTreeItemAdded";hu.ITEM_REMOVED="onTreeItemRemoved";hu.ITEM_EXPADNING="onTreeItemExpanding";class m2 extends Ai{constructor(e){super(),this._editable=!0,this._expandable=!0,(this._source=e)&&this.$_load(e)}get tree(){return this._parent&&this._parent.tree}get parent(){return this._parent}get count(){return this._children?this._children.length:0}get source(){return this._source}get name(){return this._name}set name(e){e!==this._name&&(this._name=e)}get editable(){return this._editable}get path(){return this._parent.path+"/"+this._name}get displayText(){return this._label?this._label:this._name}get canExpandable(){return this._expandable}get expandable(){return this._expandable&&(this.count>0||this._loadable)}set expandable(e){this._expandable=e}get loadable(){return this._loadable}get iconType(){return this._iconType}get(e){return this._children[e]}findByName(e){if(e===this.name)return this;if(this._children)for(let t of this._children){const i=t.findByName(e);if(i)return i}}findByTag(e){if(e===this.tag)return this;if(this._children)for(let t of this._children){const i=t.findByTag(e);if(i)return i}}add(e,t){return e&&!e.parent?this._addItem(e,t):-1}remove(e){if(e&&e.parent===this)return this._removeItem(e),!0}setLoadable(e){this._loadable=e}$_load(e){var t,i,r;this._name=e.name,this._editable=e.editable!==!1,this._loadable=e.loadable===!0,this._expandable=(t=e.expandable)!==null&&t!==void 0?t:!0,this._label=(i=e.label)!==null&&i!==void 0?i:"",this._iconType=(r=e.iconType)!==null&&r!==void 0?r:null,this.tag=e.tag,this._clear();const s=e.children;if(s&&s.length>0)for(let n of s)this._addItem(new m2(n),-1)}_clear(){if(this._children){for(let e of this._children)e._parent=null;this._children=null}}_addItem(e,t){const i=this._children=this._children||[];return t<0&&(t=i.length),i.splice(t,0,e),e._parent=this,t}_removeItem(e){if(e&&this._children){const t=this._children.indexOf(e);t>=0&&(this._children.splice(t,1),e._parent=null)}}}class Bz extends m2{constructor(e,t){super(t),this._model=e}get tree(){return this._model}get parent(){return null}get path(){return"/"}}class Pz extends $r{constructor(e,t){super(e,t)}_doDispose(){super._doDispose()}get measuredWidth(){return this._measuredWidth}get measuredHeight(){return this._measuredHeight}measure(e,t){const i=this._doMeasure(e,t);return this._measuredWidth=i.width,this._measuredHeight=i.height,i}layoutContent(){this._doLayoutContent()}_getCssSelector(){}_doDraw(e){}_doMeasure(e,t){return new ft(e,t)}_doLayoutContent(){}}class Ol extends Pz{constructor(e,t){super(e,"TreeRowView"),this._expanded=!1,this._childRows=[],this._vindex=-1,this._focused=!1,this._selected=!1,this._model=t}_doDispose(){super._doDispose()}get model(){return this._model}set model(e){e!==this._model&&(this._model=e)}get parentRow(){return this._parentRow}get level(){return this._parentRow?this._parentRow.level+1:1}get rows(){return this._childRows&&this._childRows.slice()}get rowCount(){return this._childRows?this._childRows.length:0}get expanded(){return this._expanded}set expanded(e){e!==this._expanded&&(this._expanded=e)}get vindex(){return this._vindex}get indents(){return this._spanText.getBoundingClientRect().left-this.getBoundingRect().left}get treeIcon(){return this._spanIcon}get treeLabel(){return this._spanText}get expander(){return this._spanExpander}get focused(){return this._focused}get selected(){return this._selected}getRow(e){return this._childRows[e]}addRow(e,t){this._childRows||(this._childRows=[]),this._childRows.splice(t,0,e),e._parentRow=this}removeRow(e){if(e&&this._childRows){const t=this._childRows.indexOf(e);t>=0&&(this._childRows.splice(t,1),e.clearRow())}}clearRow(){if(this._childRows){for(let e of this._childRows)e.clearRow();this._childRows=null}this._parentRow=null,this.visible=!1}setFocused(e){e!==this._focused&&(this._focused=e,this.invalidate())}setSelected(e){e!==this._selected&&(this._selected=e,this.invalidate())}clearText(){this._spanText.style.visibility="hidden"}showText(){this._spanText.style.visibility=""}_getCssSelector(){let e="rr-tree-row";return this._focused?e+=" rr-tree-row-focus":this._selected&&(e+=" rr-tree-row-select"),e}_getCssDisplay(){return"flex"}_isEmptySize(){return!0}_initDom(e,t){super._initDom(e,t),t.appendChild(this._spanIndent=e.createElement("span")),X.setStyles(this._spanIndent,{flexGrow:0,flexShrink:0}),t.appendChild(this._spanExpander=e.createElement("span")),X.setStyles(this._spanExpander,{flexGrow:0,flexShrink:0}),this._spanExpander.className="rr-tree-expander",t.appendChild(this._spanIcon=e.createElement("span")),X.setStyles(this._spanIcon,{display:"flex",alignItems:"center",paddingRight:"5px"}),this._spanIcon.className="rr-tree-icon",t.appendChild(this._spanText=e.createElement("span")),X.setStyles(this._spanText,{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),this._spanText.className="rr-tree-label"}_doDraw(e){}_doMeasure(e,t){const i=this.model,{type:r,value:s}=i.source;return X.setData(this.dom,"type",r??""),X.setData(this.dom,"value",s??""),this._spanIndent.style.minWidth=Ol.INDENT_SIZE*this.level+"px",X.setData(this._spanExpander,"expanded",this.expanded&&i.count>0),this._spanExpander[jC]=this.vindex,this._spanText.textContent=i.displayText,this._spanText.title=i.displayText,new ft(e,Ol.ROW_HEIGHT)}_doLayoutContent(){this.model.expandable?this.expander.dataset.expanded==="true"?this.expander.replaceChildren(Xt.createIconSvg(this.doc,xe.common.collapse,15)):this.expander.replaceChildren(Xt.createIconSvg(this.doc,xe.common.expand,15)):this.expander.replaceChildren(),this.$_setTreeItemIcon()}$_setTreeItemIcon(){const e=this.model.iconType;let t;switch(e){case"group":t=Xt.createIconSvg(this.doc,xe.common.folder,Ol.ICON_SIZE);break;case"report":t=Xt.createIconSvg(this.doc,xe.common.folderReport,Ol.ICON_SIZE);break;case"sheet":t=Xt.createIconSvg(this.doc,xe.common.sheet,Ol.ICON_SIZE);break;case"reportFolder":t=Xt.createIconSvg(this.doc,xe.common.folderRealReport,Ol.ICON_SIZE);break;case"favorite":t=Xt.createIconSvg(this.doc,xe.common.folderFavorite,Ol.ICON_SIZE);break;case"asset":t=Xt.createIconSvg(this.doc,xe.common.folderImage,Ol.ICON_SIZE,24);break;case"simpleData":t=Xt.createIconSvg(this.doc,xe.dataPanel.dataSimple,Ol.ICON_SIZE,32);break;case"bandData":t=Xt.createIconSvg(this.doc,xe.dataPanel.dataBand,Ol.ICON_SIZE,32);break;case"language":t=Xt.createIconSvg(this.doc,xe.common.language,Ol.ICON_SIZE,24);break}e?(this.treeIcon.style.display="flex",this.treeIcon.replaceChildren(t)):this.treeIcon.style.display="none"}}Ol.INDENT_SIZE=8;Ol.ROW_HEIGHT=22;Ol.ICON_SIZE=14;class OTe extends Pz{constructor(e){super(e.doc,"treeBodyView"),this._visibleRows=[],this._rows=[],this._rowPool=[],this._rowPoints=[0],this._viewer=e}_doDispose(){super._doDispose()}get visibleRowCount(){return this._visibleRows.length}get rowCount(){return this._rows.length}get focusedRow(){return this._focusedRow}get contentHeight(){return this._rowPoints[this._rowPoints.length-1]}get contentWidth(){return this.width}getVisible(e){return this._visibleRows[e]}getVisibleItems(e=0,t=-1){const i=this._visibleRows;if(e=Math.max(0,e),t<0?t=i.length=1:t=Math.min(t,i.length-1),t<e){const s=e;e=t,t=s}const r=[];for(let s=e;s<=t;s++)r.push(i[s].model);return r}findVisibleRow(e){return this.$_findRow(this._visibleRows,e)}findRow(e){return this.$_findRow(this._rows,e)}loadRows(e){if(this.clear(),!e)return;const t=this._root=this.$_borrowRow(e.root);this._rows.push(t),this._visibleRows.push(t),this.addChild(t),this.$_loadRows(t),this._viewer.rootVisible||this.expand(t)}addRow(e,t){let i=this.findRow(e.parent);if(i){const r=this.$_borrowRow(e);if(i.addRow(r,t),i=this.findVisibleRow(i.model),i&&i.expanded&&(this.collapse(i),this.expand(i)),this.addChild(r),this._rows.push(r),e instanceof m2)for(let s=0;s<e.count;s++)this.addRow(e.get(s),s);this.invalidateLayout()}}addRows(e,t){let i=this.findRow(e);if(i){const r=[];let s=e.count-t;for(let n=0;n<t;n++){const o=this.$_borrowRow(e.get(s+n));i.addRow(o,s+n),r.push(o)}i=this.findVisibleRow(e),i.expanded&&(this.collapse(i),this.expand(i));for(let n=0;n<t;n++)this.addChild(r[n]),this._rows.push(r[n]);this.invalidateLayout()}}removeRow(e){const t=this.findRow(e);if(!t)return;const i=t.parentRow,r=i.expanded;this._visibleRows;const n=this._rows.indexOf(t);r&&this.collapse(i),n>=0&&this.$_removeRow(t),r&&this.expand(i),this.invalidateLayout()}removeRows(e){for(let t of e)this.removeRow(t)}expand(e,t=!1){if(e=e||this._root,!!e&&!e.expanded){const i=this._visibleRows,r=i.indexOf(e)+1;st(r>0);const s=[];let n=0;e.expanded=!0,this.$_collectVisibleRows(e,s,t);for(let o of s)i.splice(r+n,0,s[n]),n++;return this.invalidateLayout(),!0}}expandAll(e){this.collapseAll(e),this.expand(e,!0)}collapse(e,t=!1){if(e=e||this._root,!!e&&e.expanded){const i=this.$_hideRows(e,t),r=this._visibleRows.indexOf(e)+1;return this._visibleRows.splice(r,i),e.expanded=!1,this.invalidateLayout(),!0}}collapseAll(e){this.collapse(e,!0)}isVisible(e){for(let t of this._visibleRows)if(t.model===e)return!0;return!1}makeVisible(e){const t=this.findRow(e);if(t.vindex>=0)return;let i=t.parentRow;for(;i;){if(i.expanded=!0,i.vindex>=0){this.collapse(i),this.expand(i,!0);break}i=i.parentRow}}isExpander(e){return e.classList.contains("rr-tree-expander")}rowByExpander(e){return this.getVisible(e[jC])}rowOf(e){let t=e;for(;t;){if(t.classList.contains("rr-tree-row")){for(let i of this._visibleRows)if(i.isDom(t))return i}t=t.parentElement}}getNextVisible(e){const t=this._visibleRows;if(e){const i=e.vindex;return i<t.length-1?t[i+1]:e}else return t.length>0?t[0]:null}getPrevVisible(e){const t=this._visibleRows;if(e){const i=e.vindex;return i>0?t[i-1]:e}else return t.length>0?t[0]:null}getNextPageVisible(e){if(!e)return this.getNextVisible(e);const t=this._visibleRows,i=this._rowPoints;let r=this.getBoundingRect().height,s=t.length,n=e.vindex;for(;n<s&&(r-=i[n+1]-i[n],!(r<=0));)n++;return t[Math.min(s-1,n)]}getPrevPageVisible(e){if(!e)return this.getPrevVisible(e);const t=this._visibleRows,i=this._rowPoints;let r=this.getBoundingRect().height;t.length;let s=e.vindex;for(;s>=0&&(r-=i[s+1]-i[s],!(r<=0));)s--;return t[Math.max(0,s)]}get isLayer(){return!0}_getCssSelector(){return"rr-tree-body"}_setSizeStyle(e){}_initDom(e,t){super._initDom(e,t);const i=t.style;i.width="100%",i.height="100%",i.overflow="hidden auto"}clear(){if(super.clear()){for(let e of this._rows)this.$_returnRow(e,!0);return this._rows=[],this._visibleRows=[],!0}}findChildAt(e,t,i,r){return t+=this._dom.scrollTop,super.findChildAt(e,t,i,r)}_doMeasure(e,t){const i=this._viewer;var r=this._rowPoints=[0];this._focusedRow=null;for(let s of this._rows)s.visible=!1,s._vindex=-1,s.setFocused(!1);!i.rootVisible&&this._visibleRows[0]&&this._visibleRows[0].model instanceof Bz&&this._visibleRows.splice(0,1);for(let s=0;s<this._visibleRows.length;s++){const n=this._visibleRows[s],o=n.model;n.visible=!0,n._vindex=s,!this._focusedRow&&i.isFocused(o)&&(n.setFocused(!0),this._focusedRow=n),n.setSelected(i.isSelected(o)),n.measure(e,t),r.push(r[s]+n.measuredHeight)}return new ft(e,r[r.length-1])}scrollToFocused(e,t){const i=this._focusedRow;if(i){const r=this._rowPoints,s=i.vindex;r[s]<e?e=r[s]+(s>0?(r[s-1]-r[s])/2:0):r[s+1]-e>=t&&(e=r[s+1]-t+(s<r.length-1?(r[s+1]-r[s])/2:0))}return e}_doLayoutContent(){const e=this._viewer.itemDraggable,t=this._rowPoints;this.width;let i=0,r=0;for(let s=0;s<this._visibleRows.length;s++){const n=this._visibleRows[s];n.move(r,t[s]-i),n.layoutContent(),e?n.dom.draggable=!0:delete n.dom.draggable}}$_borrowRow(e){if(this._rowPool.length>0){const t=this._rowPool.pop();return t.model=e,t.expanded=!1,t.invalidate(),t}return new Ol(this.doc,e)}$_returnRow(e,t=!1){e&&(t||this._rowPool.indexOf(e)<0)&&(e.clearRow(),this._rowPool.push(e))}$_loadRows(e){const t=e.model,i=t.count;if(i>0)for(let r=0;r<i;r++){const s=t.get(r),n=this.$_borrowRow(s);this._rows.push(n),this.addChild(n),e.addRow(n,r),this.$_loadRows(n)}}$_findRow(e,t){if(e)for(let i of e){if(i.model===t)return i;const r=this.$_findRow(i._children,t);if(r)return r}}$_collectVisibleRows(e,t,i){for(let r=0;r<e.rowCount;r++){const s=e.getRow(r);t.push(s),(s.expanded||i)&&(s.expanded=!0,this.$_collectVisibleRows(s,t,i))}}$_hideRows(e,t){let i=0;i+=e.rowCount;for(let r=0;r<e.rowCount;r++){const s=e.getRow(r);(s.expanded||t)&&(i+=this.$_hideRows(s,t))}return i}$_removeRow(e){const t=this._rows.indexOf(e);if(t>=0){for(let i=0;t<e.rowCount;i++)this.$_removeRow(e.getRow(i));e.parentRow.removeRow(e),this.removeChild(e),this._rows.splice(t,1),this.$_returnRow(e)}}}class MTe extends bd{constructor(e){super(e,"TreeSelectionTool"),this._viewer=e}_doDispose(){this._viewer=null,super._doDispose()}get viewer(){return this._viewer}_doMouseDown(e){const t=this.mouseEventTarget,i=this._viewer,r=i.bodyView,s=this._clickedRow=r.rowOf(t);return s&&r.isExpander(t)&&(s.expanded?i.collapse(s):i.expand(s)),!0}_doMouseMove(e){}_doMouseUp(e){}_doClick(e,t,i){const r=e.ctrlKey||e.metaKey,s=e.shiftKey,n=this.mouseEventTarget,o=this._viewer,h=o.bodyView.rowOf(n);if(h&&h===this._clickedRow){const c=h.model;if(r)o.toggleSelect(c),o.focusedItem||(o.focusedItem=c);else if(s){const d=o.lastSelectedItem;if(d){const u=o.bodyView.findVisibleRow(d),A=o.bodyView.getVisibleItems(u.vindex,h.vindex);o.selectAll(A)}else o.select(c);o.focusedItem||(o.focusedItem=c)}else o.clearSelection(c),o.focusedItem=c;o.focusedItem||(o.focusedItem=c)}}_doDblClick(e){const t=this._viewer,i=t.bodyView,r=this.mouseEventTarget,s=i.rowOf(r);s&&s===this._clickedRow&&(s.model.expandable?s.expanded?t.collapse(s):t.expand(s):t._fireDoubleClicked(s.model))}_doMouseWheel(e){const t=this._viewer;if(e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY))return!0;{const r=t.topPos;return t.topPos=r+e.deltaY,!0}}_doMouseEnter(e){}_doMouseLeave(e){}_doMouseOver(e){}_doContextMenu(e){return!1}_doKeyDown(e){const t=e.keyCode;e.ctrlKey;const i=ee.isMac;i&&e.metaKey||!i&&e.ctrlKey,e.shiftKey,e.altKey;const r=this._viewer,s=r.bodyView,n=s.focusedRow,o=r.focusedItem,l=r.editing;switch(t){case 13:if(l)return r.hideEdit(!0,!0),!0;if(r.showEdit())return!0;break;case 27:if(r.hideEdit(!1,!0))return!0;break;case 40:!l&&r.setFocusedRow(s.getNextVisible(n));break;case 38:!l&&r.setFocusedRow(s.getPrevVisible(n));break;case 34:!l&&r.setFocusedRow(s.getNextPageVisible(n));break;case 33:!l&&r.setFocusedRow(s.getPrevPageVisible(n));break;case 36:!l&&r.setFocusedRow(s.getVisible(0));break;case 35:!l&&r.setFocusedRow(s.getVisible(s.visibleRowCount-1));break;case 37:!l&&n&&(n.expanded?s.collapse(n):n.parent&&s.isVisible(o.parent)&&(r.focusedItem=o.parent));break;case 39:!l&&n&&(n.expanded?o.count>0&&(r.focusedItem=o.get(0)):s.expand(n));break}return super._doKeyDown(e)}_doKeyPress(e){return!1}_doKeyUp(e){return!1}$_findRowView(e){e.parentElement}}let NTe=class{constructor(){this._items=[]}get items(){return this._items.length>0?this._items.slice():null}get last(){return this._items.length>0?this._items[this._items.length-1]:null}contains(e){return e&&this._items.indexOf(e)>=0}clear(){if(this._items.length>0)return this._items=[],!0}add(e){if(e&&this._items.indexOf(e)<0)return this._items.push(e),!0}addAll(e){if(e&&e.length>0){let t=!1;for(let i of e)this._items.indexOf(i)<0&&(this._items.push(i),t=!0);return t}}remove(e){if(e){const t=this._items.indexOf(e);if(t>=0)return this._items.splice(t,1),!0}}};class kTe extends $r{show(e){if(!this.visible){this.visible=!0;const t=this._selectionCallback,i=e.getBoundingRect(),r=i.top-this.getBoundingRect().top;let s=this._row.style;if(s.top=r+"px",s.height=i.height+"px",s=this._input.style,s.marginLeft=e.indents+"px",s.marginRight="1px",e.clearText(),this._input.value=e.model.displayText,this._input.focus(),t){const n=t(e.model,this._input.value);n?this._input.setSelectionRange(n.start,n.end):this._input.select()}else this._input.select()}}hide(){this._input.blur(),this.visible=!1}layout(e){const i=e.getBoundingRect().top-this.getBoundingRect().top;let r=this._row.style;r.top=i+"px"}_getCssSelector(){return"rr-tree-edit-mask"}_initDom(e,t){super._initDom(e,t),t.appendChild(this._row=e.createElement("div"));let i=this._row.style;i.position="absolute",i.left="0",i.width="100%",i.display="flex",i.background="rgba(255, 255, 255, 0.1)",this._row.appendChild(this._input=e.createElement("input")),this._input.className="rr-tree-root rr-tree-edit",this._input.type="text",this._input.spellcheck=!1,this._input.onblur=()=>{this.container.$_editorBlur(this._input.textContent)},i=this._input.style,i.boxSizing="border-box",i.flex="1 1 0",i.background="transparent",i.color="white",i.outline="none",i.height="100%",i.width="100%",i.padding="0",i.border="1px solid #0088ff",i.pointerEvents="auto"}_setSizeStyle(e){}_doDraw(e){}}class cu extends sr{constructor(e){super(e),this._rootVisible=!0,this._itemDraggable=!1,this._selections=new NTe,this._focusRequested=!1,this._editHiding=!1,this.addElement(this._bodyView=new OTe(this)),this.addElement(this._editMask=new kTe(this.doc)),this._editMask.visible=!1}_doDispose(){super._doDispose()}onTreeSourceChanged(e){this._bodyView.loadRows(this.model),this.invalidateLayout(),this._fireModelChanged()}onTreeItemAdded(e,t,i){this._bodyView.addRow(t,i),this.invalidateLayout(),this._fireModelChanged()}onTreeItemRemoved(e,t){this._bodyView.removeRow(t),t===this.focusedItem&&(this.focusedItem=null),this.invalidateLayout(),this._fireModelChanged()}get model(){return this._model}set model(e){e!==this._model&&(this._model&&this._model.removeListener(this),this._model=e,this._bodyView.loadRows(e),this.invalidateLayout(),this._model&&this._model.addListener(this))}get rootVisible(){return this._rootVisible}set rootVisible(e){e!==this._rootVisible&&(this._rootVisible=e,this._bodyView.loadRows(this._model),this.invalidateLayout())}get itemDraggable(){return this._itemDraggable}set itemDraggable(e){e!==this._itemDraggable&&(this._itemDraggable=e,this.invalidateLayout())}get bodyView(){return this._bodyView}get topPos(){return this._bodyView.scrollTop}set topPos(e){e=Math.max(0,Math.min(this._bodyView.contentHeight-this.getBound().height,e)),e!==this.topPos&&this._bodyView.scrollDom(this.leftPos,e)}get leftPos(){return this._bodyView.scrollLeft}set leftPos(e){e=Math.max(0,Math.min(this._bodyView.contentWidth-this.getBound().width,e)),e!==this.leftPos&&this._bodyView.scrollDom(e,this.topPos)}get focusedItem(){return this._focusedItem}set focusedItem(e){if(e!==this._focusedItem){const t=this._focusedItem;this._focusedItem=e,e&&this.makeVisible(e),this.invalidateLayout(),this.clearSelection(),this._focusRequested=!0,this._fireFocusedChanged(e,t)}}get selection(){return this._selections.items}get lastSelectedItem(){return this._selections.last}get editing(){return this._editMask.visible}expand(e){if(!(e&&!e.model.expandable)&&this.model.canExapnd(e.model)&&this._bodyView.expand(e)){const t=e?e.model:this._model.root;this._fireExpanded(t,!0)}}expandAll(e){e&&!e.model.expandable||this._bodyView.expandAll(e)}collapse(e){if(!(e&&!e.model.expandable)&&this._bodyView.collapse(e)){const t=e?e.model:this._model.root;this._fireExpanded(t,!1)}}collapseAll(e){e&&!e.model.expandable||this._bodyView.collapseAll(e)}clearSelection(e){const t=this._selections.clear();(e&&this._selections.add(e)||t)&&this.invalidateLayout()}select(e){this._selections.add(e)&&this.invalidateLayout()}toggleSelect(e){this._selections.contains(e)?this._selections.remove(e):this._selections.add(e),this.invalidateLayout()}selectAll(e){e||(e=this._bodyView.getVisibleItems()),e&&this._selections.addAll(e)&&this.invalidateLayout()}unselect(e){this._selections.remove(e)&&this.invalidateLayout()}setFocusedRow(e){this.focusedItem=e&&e.model}isFocused(e){return this._focusedItem===e}isSelected(e){return this._selections.contains(e)}itemOfDom(e){const t=this._bodyView.rowOf(e);return t&&t.model}showEdit(){if(!this._editMask.visible){const e=this._bodyView.focusedRow;if(e&&e.model.editable)return this._editMask.show(e),!0}}hideEdit(e,t){if(!this._editHiding&&this._editMask.visible){this._editHiding=!0;try{const i=this._bodyView.focusedRow,r=this._editMask._input.value;return this._editMask.hide(),t&&this.setFocus(),e&&this.$_acceptEdit(r),i.showText(),this.invalidateLayout(),!0}finally{this._editHiding=!1}}}makeVisible(e){e&&this._bodyView.makeVisible(e)}_createDefaultTool(){return new MTe(this)}_doPrepareContainer(e,t){t.className="rr-tree-root rr-tree",t.style.outline="none"}_doLayout(e){const t=this.topPos;this._bodyView.measure(e.width,e.height),this._bodyView.setBounds(0,0,e.width,e.height),this._bodyView.layoutContent(),this._focusRequested?(this._focusRequested=!1,this.topPos=this._bodyView.scrollToFocused(t,e.height)):this.topPos=t}setFocus(){this.editing?this._editMask._input.focus():super.setFocus()}$_acceptEdit(e){const t=this.onEdit;t&&t(this.focusedItem,e)}$_editorBlur(e){this.hideEdit(!0,!0)}_fireFocusedChanged(e,t){this.fireEvent(cu.FOCUSED_CHANGED,e,t)}_fireExpanded(e,t){this.fireEvent(cu.EXPANDED,e,t)}_fireDoubleClicked(e){this.fireEvent(cu.DOUBLE_CLICKED,e)}_fireModelChanged(){this.fireEvent(cu.Model_CHANGED)}}cu.FOCUSED_CHANGED="onTreeFocusedChanged";cu.EXPANDED="onTreeExpanded";cu.DOUBLE_CLICKED="onTreeDoubleClicked";cu.Model_CHANGED="onTreeModelChanged";const FTe=new t_({name:"favorites"});class VTe extends dy{}const tH="server-asset-root",Rz="server-asset-group";class qT extends cu{get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this.$_buildTree(this._ctx))}initTree(e){this.$_buildTree(this._ctx=e)}refreshAssetTemplate(e){this.$_buildTree(e)}$_getTree(e,t){const{assetTemplateManager:i,server:r}=e,s={...t.getTree("Report"),type:"report-asset-root"};let n;const o={name:"Assets",editable:!1,children:[n={name:"Stock",editable:!1,tag:"stock",type:"asset-root",iconType:"group",children:[{name:"Favorites",editable:!1,expandable:!1,tag:FTe,type:"asset-favorites",iconType:"favorite"}]}]};if(i){const l=i.getAll();for(let h of l)n.children.push({name:h.title,editable:!1,expandable:!1,tag:h,type:"asset-group",iconType:"group"})}if(r){const l={name:"Server",editable:!1,loadable:!0,tag:"server",type:tH,iconType:"group"};o.children.push(l)}return o.children.push(s),o}$_buildTree(e){const t=this._report&&this._report.assets;let i=t?this.$_getTree(e,t):qT.EMPTY_TREE;this.model=new hu(i),this.expandAll(),this.collapse(this.bodyView.findRow(this.model.findByTag("stock"))),e.server&&this.collapse(this.bodyView.findRow(this.model.findByTag("server"))),this.invalidateLayout(),this.model.addListener(this)}onTreeItemExpanding(e,t){return t.source.type===tH&&t.loadable&&this._ctx.server?(this._ctx.server.getAssetCategories().then(r=>{t.setLoadable(!1),r.forEach(s=>e.addItem(t,{name:s.category,type:Rz,editable:!1,loadable:!0,expandable:!1,iconType:"group",tag:new t_({name:s,title:s,description:s,items:[],assets:[]})})),this.expand(this.bodyView.findRow(t)),this.invalidateLayout()}),!1):(this.bodyView.findRow(t)._childRows.forEach(r=>{r.dom.children[1].children.length>0&&r.dom.children[1].children[0].remove()}),!0)}}qT.EMPTY_TREE={name:"Assets",editable:!1,children:[{name:"Stock",editable:!1,iconType:"group"},{name:"Report",editable:!1,iconType:"reportFolder"}]};class HTe extends uy{getItemMenus(e){return this._itemMenus.forEach(t=>t.tag=e),this._itemMenus}constructor(e,t){super(e,"rrd-assetpanel",t),this._itemMenus=[{type:"text",label:"Delete",icon:xe.delete,visible:(i,r)=>{const s=r.tag;return this.canDelete(s)},onClick:(i,r)=>{const s=r.tag;this.report.removeAsset(s)}},{type:"text",label:"Use",icon:xe.use,visible:(i,r)=>{const s=r.tag;return this.canUse(s)},onClick:(i,r)=>{const s=r.tag;this.report.addAsset(null,s)}}],this._menus=[{type:"check",label:"List View",icon:xe.addSingle,checked:()=>this._contentView.listMode,onClick:(i,r)=>{this._contentView.listMode=!this._contentView.listMode}},{type:"seperator"},{type:"text",label:"Undelete",icon:xe.undo,visible:(i,r)=>this.isReportGroup&&this.report.peekCommand()instanceof JO,onClick:(i,r)=>{this.report.undo()}},{type:"seperator",visible:()=>this.isReportGroup&&this.report.peekCommand()instanceof JO},{type:"text",label:"Add Image",icon:xe.addSingle,visible:()=>this.isReportGroup,onClick:(i,r)=>{vP.newImage.run(this.model.ctx)}},{type:"text",label:"Add Svg",icon:xe.addSingle,visible:()=>this.isReportGroup,onClick:()=>{vP.newSvg.run(this.model.ctx)}}],this.contentVisible=!1}get report(){return this._report}set report(e){e!==this._report&&(this._report&&this._report.removeListener(this),this._report=e,this._report&&this._report.addListener(this),this._treeView.report=e,this._contentView.report=e)}get selected(){return this._selected}get contentView(){return this._contentView}get treeView(){return this._treeView}get isReportGroup(){return!(this._contentView.group instanceof t_)}refreshAssetTemplate(e){this._treeView.refreshAssetTemplate(e)}setSelectedTreeItem(e){const t=this._treeView.bodyView.findRow(this._treeView.model.findByName(e));this._treeView.focusedItem=t.model}canDelete(e){return this.isReportGroup}canUse(e){return!this.isReportGroup}resetSize(e){super.resetSize(e),this._treeView.resetSize()}_doPrepareContent(e,t){X.setStyles(t,{display:"flex"}),t.appendChild(this._treeDiv=X.createDiv(e,"",{minWidth:Et(100),width:"200px"}));const i=new Vb(e,this._treeDiv,"left");i.onResize=(r,s)=>{this._treeView.invalidateLayout()},this._treeView=new qT(i.contentDiv),this.addElement(this._contentLayer=new Ii(e)),this._contentLayer.setStyles({flex:"1 1 auto"}),this._contentLayer.addChild(this._contentView=new DTe(e,this))}_doBuildModel(e,t){this._treeView.initTree(t.ctx),this._treeView.addListener(this)}_doRefreshButtons(e){}_doLayout(e){this._contentView.onSelect=this.onAssetSelected,this._contentView.render()}getMenu(e){const t=this._contentView.itemOf(e);if(t)return this.getItemMenus(t);if(!this._contentView.headerView.containsDom(e))return this._menus}onTreeFocusedChanged(e,t,i){(this._selected=t)&&(t.source.type===Rz&&t.loadable&&this.model.ctx.server?(t.setLoadable(!1),this.model.ctx.server.getAssets(t.source.name).then(r=>{const s=t.tag;r.assets.forEach(n=>{let o;switch(n.type){case"snippet":o=new Ux(n.name,n.content);break;default:o=new Xl(n.name,n.content);break}s.assets.push(o)}),this.invalidateLayout()})):t.tag instanceof t_,this._contentView.group=t.tag,this.invalidateLayout())}onTreeModelChanged(e){}}class w2{constructor(e,t,i=w2.MAXIMUM_WIDTH){this._colResizeCtx=null,this._dom=e,this._onIsColumnResizer=t,this._maximumWidth=i}initListeners(){this.$_preparePointerEvent()}isColumnResizer(e){return e instanceof HTMLElement&&this._onIsColumnResizer(e)}$_preparePointerEvent(){this._dom.addEventListener("pointerdown",t=>{const i=t.target;this.isColumnResizer(i)&&this.$_onColumnResizerPointerDown(t,i)});let e=null;document.addEventListener("pointermove",t=>{e&&Date.now()-e<30||(e=Date.now(),this._colResizeCtx&&this.$_onColumnResizerPointerMove(t))}),document.addEventListener("pointerup",()=>{this._colResizeCtx&&this.$_clearColResize()}),document.addEventListener("pointerleave",()=>{this.$_clearColResize()})}$_onColumnResizerPointerDown(e,t){const i=t.parentElement.parentElement;i instanceof HTMLTableCellElement&&(this._dom.style.cursor="ew-resize",this._colResizeCtx={pointerDownEvent:e,columnHeaderCellDom:i})}$_onColumnResizerPointerMove(e){const{x:t}=e,{x:i}=this._colResizeCtx.columnHeaderCellDom.getBoundingClientRect(),r=t-i;r<0||this._maximumWidth<r||(this._colResizeCtx.columnHeaderCellDom.style.minWidth=`${r.toFixed(2)}px`)}$_clearColResize(){this._colResizeCtx=null,this._dom.style.cursor="unset"}}w2.MAXIMUM_WIDTH=500;class Tz extends Ii{constructor(){super(...arguments),this._changed=!0}get data(){return this._data}set data(e){e!==this._data&&(this._data=e,this._doDataChanged(),this._doChanged())}render(e){this._changed&&(this._changed=!1,this._doRender(e||this._data))}changed(){this._doChanged()}_doChanged(){this._changed||(this._changed=!0,this.invalidateLayout())}_getCssDisplay(){return"flex"}_doInitStyles(e){X.setStyles(e,{position:"absolute",display:"flex",flexDirection:"column",width:"100%",height:"100%"})}_doDataChanged(){}}class Lz extends Tz{_focus(e){e instanceof HTMLElement?e.focus():e.target instanceof HTMLElement&&e.target.focus()}_blur(e){e instanceof HTMLElement?e.blur():e.target instanceof HTMLElement&&e.target.blur()}_getTableCell(e){if(e instanceof Element){let t=e;do{if(t instanceof HTMLTableCellElement)return t;t=t.parentElement}while(t)}}_row(e){return e.parentElement.rowIndex-1}_downCell(e,t,i=!0){if(this._row(e)<t-1){const s=e.parentElement,o=s.parentElement.rows[s.rowIndex].cells[e.cellIndex].firstElementChild;if(o)return i&&o.focus(),o}}_upCell(e,t=!0){if(this._row(e)>0){const r=e.parentElement,n=r.parentElement.rows[r.rowIndex-2].cells[e.cellIndex].firstElementChild;if(n)return t&&n.focus(),n}}}const UTe={text:"",number:0,bool:!0,datetime:new Date},kv=1,sO=2,CI=3,nO=4,QTe=5,iH=6,oO=7,rH=8,aO=8,GTe=["no","fieldName","label","dataType","source","calced","format","sample","description"];class $Te extends un{constructor(e,t){super(e,"rrd-band-data-sample-header")}_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center"})}_getCssDisplay(){return"flex"}}class oS extends Lz{constructor(e,t){super(e,"rrd-band-field-table"),this.changeCallback=t,this.selStart=-1,this.selLength=0,this._focused=-1,this._editCell={row:-1,col:-1},this._editing=!1,this._oldText="",this._tableMouseDownHandler=i=>{if(this.$_findCell(i.target)){const s=this._focused=this.$_findFieldIndex(i.target);s>=0&&this.focusRow(s,!0),ee.clearSelection()}},this._tableKeyDownHandler=i=>{const r=i.target;if(r){const s=i.shiftKey;let n=this._focused=this.$_findFieldIndex(r);const o=r.parentElement;let l=o.cellIndex,h=!1;switch(i.keyCode){case 13:if(l===kv||l===CI){const c=this.$_collectFieldValues(n).fieldName;h=!0,this._validateFieldName(c,n)?(this.$_commitEdit(l),this.$_setFocus(n,l+1)):(this.$_cancelEdit(),this.$_killFocus(n,l))}else if(!(s&&l===sO)){if(!s&&(l===sO||l===nO||l===iH||l===oO||l===rH)){let c=l+1;if(h=!0,this.$_commitEdit(l),l===nO)c++;else if(l===aO){if(n===this.fields.length-1){this.$_killFocus(n,l);return}n++,c=kv}this.$_setFocus(n,c)}}break;case 27:this.$_cancelEdit(),this.$_killFocus(n,l);break;case 40:this._downCell(o,this.fields.length);break;case 38:this._upCell(o);break}h&&X.stopEvent(i)}},this._tableFocusHandler=i=>{i.target instanceof HTMLSpanElement&&(this._oldText=i.target.innerText)},this._tableBlurHandler=i=>{if(i.target instanceof HTMLSpanElement){let s=i.target.parentElement.cellIndex;this.$_commitEdit(s),ee.clearSelection(),i.preventDefault()}},this._tableInputHandler=i=>{i.target instanceof HTMLSpanElement&&this.$_beginEdit(i.target)},this._addFieldHandler=i=>{const r=this.data.getNextFieldName(),s=UTe.text,n={fieldName:r,dataType:"text",sample:s};this.data.fieldCommands.execute(new ZO(this.data,n)),this.changeCallback(),setTimeout(()=>{const o=this.$_getSpan(this.data.fieldCount-1,kv);o==null||o.focus()},50),this._doChanged()},this._addCalcFieldHandler=i=>{const r={fieldName:this.data.getNextFieldName(),dataType:"number",expression:"123 + 456"};this.data.fieldCommands.execute(new ZO(this.data,r)),this.changeCallback(),this._doChanged(),setTimeout(()=>{const s=this.$_getSpan(this.data.fieldCount-1,kv);s==null||s.focus()})},this._removeFieldHandler=i=>{const r=i.target;if(r instanceof Element){const s=this.$_findFieldIndex(r),n=this.data.getField(s);this.data.fieldCommands.execute(new K9(this.data,n)),this._doChanged(),this.changeCallback()}else throw new Jg},this._changeDataTypeHandler=i=>{const r=i.target;if(r instanceof HTMLSelectElement){const s=this.$_findFieldIndex(r);this.$_updateField(s,CI)}else throw new Jg},this.addChild(this.$_initHeader(e,this._header=new $Te(e,"rrd-band-field-table-header"))),this.addDom(this.$_initTable(e,X.createDiv(e,"rrd-band-field-table-container",{flex:"1 1 0",overflow:"auto"}))),this.colResizer=new w2(this.dom,i=>i.classList.contains(oS.CLASS_COLUMN_RESIZE_HANDLE)),this.colResizer.initListeners()}set designerCtx(e){this._designerCtx=e}focusRow(e,t=!0){const i=this._table.rows;e>=0&&e<i.length&&(i[e].scrollIntoView({behavior:"smooth",block:"nearest"}),t&&(this.$_clearSelection(),this.$_setSelection(e)))}commandStackChanged(e,t){this._undoButton.enabled=e&&e.canUndo,this._redoButton.enabled=e&&e.canRedo}_doRender(e){this.fields=e.fields,this.$_renderHeader(),this.$_buildTable(this.doc)}$_initHeader(e,t){t.addDom(Xt.createIconSvg(e,xe.dataPanel.dataSchema,18)),t.addDom(X.createSpan(e,"rrd-band-field-table-header-title",void 0,"Data Fields")),t.addDom(X.createSpace(e)),t.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:n=>{this.data.fieldCommands.undo(),this.changeCallback(),this._doChanged()}})),t.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:n=>{this.data.fieldCommands.redo(),this.changeCallback(),this._doChanged()}})),t.addChild(ql.create(e));const i=X.createSpan(e,"rrd-band-data-sub-action",void 0,"+ Field");i.onclick=n=>this._addFieldHandler(n),t.addDom(i);const r=X.createSpan(e,"rrd-band-data-sub-action",void 0,"+ Calc Field");r.onclick=n=>this._addCalcFieldHandler(n),t.addDom(r);const s=this._spanCount=X.createSpan(e,"rrd-band-data-field-count");return t.addDom(s),t}$_createTable(e){const t=this._table=e.createElement("table"),i=this._colgroup=e.createElement("colgroup"),r=this._thead=e.createElement("thead"),s=e.createElement("tbody");[24,80,80,70,100,18,70,100,100,24].forEach((o,l)=>{const h=e.createElement("col");h.setAttribute("width",String(o)),i.appendChild(h)});const n=e.createElement("tr");return this._thead.appendChild(n),["No","Field Name","Label","Data Type","Link Source","Calced","Format","Sample/Expr","Description",""].forEach(o=>{const l=e.createElement("th"),h=e.createElement("div"),c=e.createElement("span");c.className="rrd-band-field-table-label",c.textContent=o;const d=e.createElement("div");d.className=oS.CLASS_COLUMN_RESIZE_HANDLE,d.style.display="inline-block",d.style.width="3px",d.style.cursor="ew-resize",h.appendChild(c),h.appendChild(d),l.appendChild(h),n.appendChild(l)}),t.id="rrd-band-field-table",t.className="rrd-band-field-table",t.onmousedown=this._tableMouseDownHandler,t.onkeydown=this._tableKeyDownHandler,t.addEventListener("focus",this._tableFocusHandler,!0),t.addEventListener("input",this._tableInputHandler,!0),t.addEventListener("blur",this._tableBlurHandler,!0),t.appendChild(i),t.appendChild(r),t.appendChild(s),t}$_initTable(e,t){return t.appendChild(this.$_createTable(e)),t}$_buildTable(e){const t=this._table.tBodies[0];for(;t.rows.length>0;)t.rows[0].remove();this.fields.forEach((i,r)=>{const s=e.createElement("tr");let n,o;X.setData(s,"fieldIndex",r),n=e.createElement("td"),n.textContent=`${r+1}`,s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rr-band-field-name",null,i.fieldName),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rr-band-field-label",null,i.label),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n);const l=e.createElement("select");l.options.length=0,["text","number","bool","datetime"].forEach(h=>{const c=e.createElement("option");c.value=h,c.textContent=h,l.append(c)}),l.className="select",l.value=i.dataType,l.onchange=this._changeDataTypeHandler,n=e.createElement("td"),n.appendChild(l),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.source),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.expression?"C":""),o.style.textAlign="center",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.format),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.expression||String(i.sample)),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),o=X.createSpan(e,"rrd-band-field-table-edit",null,i.description),o.contentEditable="plaintext-only",n.appendChild(o),s.appendChild(n),n=e.createElement("td"),n.setAttribute("align","center"),n.appendChild(this.$_createFieldRemoveBtn(e)),s.appendChild(n),t.appendChild(s)})}$_renderHeader(){this._spanCount.textContent=`${this.fields.length} Fields`}$_rowInSelection(e){return this.selLength>0&&e>=this.selStart&&e<this.selStart+this.selLength}$_findCell(e){if(e instanceof Element){let t=e;do{if(t instanceof HTMLTableCellElement)return t;t=t.parentElement}while(t)}}$_findFieldIndex(e){const t=this.$_findCell(e);return t?parseInt(X.getData(t.parentElement,"fieldIndex")):-1}$_setState(e,t){if(e!==this.selStart||t!==this.selLength)return this.selStart=e,this.selLength=t,!0}$_clearSelection(){this.$_setState(-1,0)}$_setSelection(e,t=-1){t<0&&(t=e),e>=0&&t>=0&&this.$_setState(Math.min(e,t),Math.abs(e-t+1))}$_collectFieldValues(e){const t=this._table.tBodies[0].rows[e].cells,i=t[oO].firstElementChild;let s=this.fields[e].expression;return{fieldName:t[kv].firstElementChild.textContent,label:t[sO].firstElementChild.textContent,dataType:t[CI].firstElementChild.value,source:t[nO].firstElementChild.textContent,format:t[iH].firstElementChild.textContent,sample:s?"":i.textContent,expression:s?i.textContent:"",description:t[rH].firstElementChild.textContent}}$_updateField(e,t){var i;if(e>=0){const r=this.data,s=r.getField(e),n=this.$_collectFieldValues(e);if(t===kv){if(n.fieldName!==s.fieldName&&!this._validateFieldName(n.fieldName,e)){this.$_cancelEdit();return}r.fieldCommands.execute(new iAe(r,s,n.fieldName)),this.changeCallback()}else if(t===CI)r.fieldCommands.execute(new rAe(r,s,n.dataType)),this.changeCallback();else if(t===oO){let o=GTe[t];if(this.$_isCalcField()&&(o="expression",((i=n[o])!==null&&i!==void 0?i:"").trim()==="")){this.$_getSpan(this._editCell.row,t).textContent=this._oldText,this._designerCtx.showMessage("Calc Field는 공백으로 설정할 수 없습니다.","warn");return}r.fieldCommands.execute(new sAe(r,s,o,n[o])),this.changeCallback()}this._doChanged()}}$_getSpan(e,t){const i=this._table.tBodies[0].rows[e];if(i)return i.cells[t].firstElementChild}$_getSpanText(e,t){var i;return(i=this.$_getSpan(e,t).innerText)!==null&&i!==void 0?i:""}$_killFocus(e,t){const i=this.$_getSpan(e,Math.min(t,aO));i==null||i.blur()}$_setFocus(e,t){const i=this.$_getSpan(e,Math.min(t,aO));i==null||i.focus()}$_beginEdit(e){!this._editing&&e.innerText!==this._oldText&&(this._editCell={row:this.$_findFieldIndex(e),col:this.$_findCell(e).cellIndex},this._editing=!0)}$_commitEdit(e){this._editing&&(this.$_getSpan(this._editCell.row,this._editCell.col).innerText!==this._oldText&&this.$_updateField(this._editCell.row,e),this.$_resetEdit())}$_cancelEdit(){this._editing&&(this.$_getSpan(this._editCell.row,this._editCell.col).innerText=this._oldText,this.$_resetEdit())}$_resetEdit(){this._editing=!1,this._oldText="",this._editCell={row:-1,col:-1}}_validateFieldName(e,t=-1){return this._isDuplicatedFieldName(e,t)?(console.warn(qv.DUPULICATED_FIELD_NAME),this.showError(qv.DUPULICATED_FIELD_NAME),!1):e.trim()===""?(console.warn(qv.EMPTY_FIELD_NAME),this.showError(qv.EMPTY_FIELD_NAME),!1):!0}_isDuplicatedFieldName(e,t){let i=!1;return this.fields.forEach((r,s)=>{if(t===s)return!1;r.fieldName===e&&(i=!0)}),i}$_createFieldRemoveBtn(e){const t=e.createElement("div");return t.className="rrd-band-field-table-remove-btn",t.appendChild(Xt.createIconSvg(e,xe.dataPanel.remove,20)),t.onclick=i=>this._removeFieldHandler(i),t}$_isCalcField(){const e="C",t=this.$_getSpanText(this._editCell.row,QTe);return e===t}showError(e){}hideError(){}}oS.CLASS_COLUMN_RESIZE_HANDLE="rrd-band-field-table-resize-handle";class WTe extends un{constructor(e){super(e,"rrd-band-data-link-header")}get view(){return this.parent}isLocal(){return this._chkSource.checked}setDirty(e){this._divDirty.style.display=e?"":"none"}render(e){this._chkSource.checked=e.isLocalLink}commandStackChanged(e,t){this._undoButton.enabled=e&&e.canUndo,this._redoButton.enabled=e&&e.canRedo}_doInitDom(e,t){const i=Xt.createIconSvg(e,xe.dataPanel.dataLink,18),r=X.createSpan(e,"rrd-band-data-link-header-title",void 0,"Data Link"),s=this._chkSource=e.createElement("input"),n=e.createElement("label"),o=X.createSpan(e,void 0,{flex:"1"});this.addDom(i),this.addDom(r),s.id="source",s.type="checkbox",X.setStyles(s,{appearance:"checkbox",WebkitAppearance:"checkbox"}),this.addDom(s),n.textContent="Local",n.htmlFor="source",n.style.marginLeft="-2px",s.title=n.title="Local로 지정하면 파일에서 data를 가져와서 출력한다.",s.onclick=()=>{this.view.setLocal(this.isLocal())},this.addDom(n),this._divDirty=X.createDiv(e,void 0,{display:"none",width:"8px",height:"8px",marginLeft:"4px",backgroundColor:"#FFA94D",borderRadius:"50%"}),this.addDom(this._divDirty),this.addDom(o),this.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:l=>{this.view.data.undoLink(),this.view.changed()}})),this.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:l=>{this.view.data.redoLink(),this.view.changed()}})),this.addChild(ql.create(e)),this.addChild(new Ht(e,{label:"Apply",hint:"수정된 값들로 설정",variant:"filled",className:"rrd-band-data-sub-action",action:{run:(l,h,c)=>{this.view._applyHandler(l)}}})),this.addChild(new Ht(e,{label:"Reset",hint:"초기값으로 재설정",variant:"filled",className:"rrd-band-data-sub-action",action:{run:(l,h,c)=>{this.view._resetHandler()}}}))}}class Dz extends Ii{constructor(e){super(e,"rrd-band-data-link-content"),this.visible=!1}get view(){return this.parent}_getCssDisplay(){return"flex"}}class zTe extends Dz{_doInitDom(e,t){const i=new FA(e,{full:!0,onInput:(o,l)=>{this.view.checkDirty()}});this.addChild(this._url=new bI(e,"URL",i));const r=new VA(e,{domain:["GET","POST","PUT"],value:"GET",style:{width:"68px",height:"22px"},onEdit:(o,l)=>{this.view.checkDirty()}});this.addChild(this._method=new bI(e,"Method",r));const s=new VA(e,{domain:["JSON","CSV"],value:"JSON",style:{width:"68px"},onEdit:(o,l)=>{this.view.checkDirty(),this._dataPath.visible=l===Xw.JSON}});this.addChild(this._format=new bI(e,"Format",s));const n=new FA(e,{full:!0,onInput:(o,l)=>{this.view.checkDirty()}});this.addChild(this._dataPath=new bI(e,"Data Path",n)),this._queryParamSection=new zw(e,"Query Parameters","Param"),this._queryParamSection.addListener({[zw.CHANGED]:()=>{this.view.checkDirty()}}),this.addChild(this._queryParamSection),this._httpHeaderSection=new zw(e,"HTTP Headers","Header"),this._httpHeaderSection.addListener({[zw.CHANGED]:()=>{this.view.checkDirty()}}),this.addChild(this._httpHeaderSection)}apply(e){const t=this._url.value;let i;return t&&(i={source:"remote",url:t,format:this._format.value,dataPath:this._dataPath.value||void 0,method:this._method.value,params:this._queryParamSection.collectValues(),headers:this._httpHeaderSection.collectValues()}),i}render(e){var t,i,r,s;const n=e.link;this._dataPath.visible=this._format.value===Xw.JSON,n?(this._url.value=(t=n==null?void 0:n.url)!==null&&t!==void 0?t:"",this._format.value=(i=n.format)!==null&&i!==void 0?i:"JSON",this._dataPath.value=(r=n.dataPath)!==null&&r!==void 0?r:"",this._method.value=(s=n.method)!==null&&s!==void 0?s:"GET",this._queryParamSection.setItems(n.params),this._httpHeaderSection.setItems(n.headers)):(this._url.value="",this._format.value="JSON",this._dataPath.value="",this._method.value="GET",this._queryParamSection.setItems(),this._httpHeaderSection.setItems())}checkDirty(){const e=this.view.data.link;return this._url.checkDirty(e==null?void 0:e.url)||this._method.checkDirty((e==null?void 0:e.method)||"GET")||this._format.checkDirty((e==null?void 0:e.format)||"JSON")||this._dataPath.checkDirty(e==null?void 0:e.dataPath)||!ip.isEqual(this._queryParamSection.collectValues(),e==null?void 0:e.params)||!ip.isEqual(this._httpHeaderSection.collectValues(),e==null?void 0:e.headers)}}class zw extends Ii{constructor(e,t,i){super(e,"rrd-band-data-link-body-section"),this._namePrefix=i;const r=this.$_createHeader(e,t);this.addChild(r),this.addChild(this._itemContainer=new KTe(e))}addItem(e,t){const i=new du(this.doc,e,t,r=>this._itemContainer.removeChild(r));i.addListener({[du.NAME_INPUTED]:(r,s)=>{this.$_fireChangedEvent()},[du.VALUE_INPUTED]:(r,s)=>{this.$_fireChangedEvent()},[du.DELETED]:r=>{this.$_fireChangedEvent()}}),this._itemContainer.addChild(i),this.$_fireChangedEvent()}addNewItem(){const e=this._namePrefix?this.$_getNextName(this._namePrefix):void 0;this.addItem(e,void 0)}setItems(e){this._itemContainer.clear(),e&&Object.entries(e).forEach(([t,i])=>{this.addItem(t,i)})}collectValues(){const e={};return this._itemContainer.items.forEach(t=>{const i=t.dom.querySelectorAll("input"),r=i[0].value,s=i[1].value;r&&(e[r]=s)}),Object.keys(e).length>0?e:void 0}_doInitStyles(e){super._doInitStyles(e),X.setStyles(this.dom,{marginTop:"4px"})}$_createHeader(e,t){const i=new un(e,void 0);return i.setStyles({display:"flex",alignItems:"center",gap:"8px",marginBottom:"6px"}),i.addDom(X.createSpan(e,null,null,t)),i.addDom(X.createSpan(e,null,{boxSizing:"border-box",flex:"1 1 auto",borderBottom:"1px solid var(--rrd-light-theme-primary-color-7)"})),i.addChild(new Ht(e,{label:"Add",variant:"subtle",onClick:()=>{this.addNewItem()}})),i}$_getNextName(e){var t;const i=(t=this.collectValues())!==null&&t!==void 0?t:{};let r=1;for(;;){const s=e+r++;if(!(s in i))return s}}$_fireChangedEvent(){this.fireEvent(zw.CHANGED,this.collectValues())}}zw.CHANGED="onChanged";class KTe extends Ii{constructor(e){super(e,"rrd-band-data-link-section-item-container")}get items(){return this.getChildren().map(e=>{if(!(e instanceof du))throw new Jg;return e})}_doInitStyles(e){super._doInitStyles(e),X.setStyles(e,{display:"flex",flexDirection:"column",gap:"6px"})}}class du extends un{constructor(e,t,i,r){super(e,"rrd-band-data-link-section-item"),this.addDom(X.createSpan(e,null,null,"Name")),this.addChild(new FA(e,{value:t,full:!0,style:{flex:"1 1 auto"},onInput:(s,n)=>{this.fireEvent(du.NAME_INPUTED,n)}})),this.addChild(new XT(e,{size:"6px"})),this.addDom(X.createSpan(e,null,null,"Value")),this.addChild(new FA(e,{value:i,full:!0,style:{flex:"1 1 auto"},onInput:(s,n)=>{this.fireEvent(du.VALUE_INPUTED,n)}})),this.addChild(new Ht(e,{svg:xe.dataPanel.remove,hint:"Delete Param",size:"18px",style:{padding:"2px"},onClick:()=>{r==null||r(this),this.fireEvent(du.DELETED)}}))}_doInitStyles(e){super._doInitStyles(e),X.setStyles(e,{display:"flex",alignItems:"center",gap:"8px",padding:"0 12px"})}}du.NAME_INPUTED="onNameInputed";du.VALUE_INPUTED="onValueInputed";du.DELETED="onDeleted";class bI extends un{constructor(e,t,i){super(e),this.label=t,this._control=i,this.addDom(this.$_createLabel(this.label)),this.addChild(this._control)}get value(){return this._control.value}set value(e){this._control.value=e}checkDirty(e){return e!=(this._control.inputValue||void 0)}_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"10px"})}_getCssDisplay(){return"flex"}$_createLabel(e){const t=X.createSpan(this.doc,void 0,void 0,e);return X.setStyles(t,{minWidth:"60px",textAlign:"left"}),t}}class YTe extends un{_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"8px",marginBottom:"6px"})}_getCssDisplay(){return"flex"}}class C4 extends un{constructor(e){super(e),this.addChild(this.$_createHeader(e));const t=e.createElement("textarea");t.className="rrd-band-data-link-http-body-control",X.setStyles(t,{width:"calc(100% - 12px)",minHeight:"100px",margin:"6px",padding:"6px",resize:"vertical"}),t.addEventListener("input",i=>{const r=i.target;this._value=r.value,this.$_fireChangedEvent()}),this.addDom(this._control=t),this.$_renderByValue()}get value(){return this._value}set value(e){e===void 0?(this._value=void 0,this._control.value=""):this._value=this._control.value=e,this.$_renderByValue(),this.$_fireChangedEvent()}_doInitStyles(e){X.setStyles(e,{marginTop:"4px"})}$_createHeader(e){const t=new YTe(e),i=X.createSpan(e,void 0,{},"HTTP Body");t.addDom(i);const r=X.createSpan(e,void 0,{flex:"1",boxSizing:"border-box",borderBottom:"1px solid var(--rrd-light-theme-primary-color-7)"});return t.addDom(r),t.addChild(this._addBtn=new Ht(e,{label:"Add",variant:"subtle",onClick:()=>{this.value=""}})),t.addChild(this._removeBtn=new Ht(e,{label:"Remove",variant:"subtle",onClick:()=>{this.value=void 0}})),t}$_renderByValue(){this.value===void 0?(this._addBtn.visible=!0,this._removeBtn.visible=!1,this._control.style.display="none"):(this._addBtn.visible=!1,this._removeBtn.visible=!0,this._control.style.display="")}$_fireChangedEvent(){this.fireEvent(C4.CHANGED,this.value)}}C4.CHANGED="onChanged";class XTe extends Dz{get fileType(){return X.getRadioGroupValue(this._fileTypeContainer,"filetype")}_doInitDom(e,t){t.appendChild(this._fileTypeContainer=this.$_createTypes(e)),t.appendChild(this._jsonContainer=this.$_createJson(e,this.$_createFileContainer(e,"json",".json,.txt"))),t.appendChild(this._csvContainer=this.$_createCsv(e,this.$_createFileContainer(e,"csv",".csv,.tsv,.txt"))),t.appendChild(this._excelContainer=this.$_createExcel(e,this.$_createFileContainer(e,"excel",".xlsx"))),this.$_setFileType("json")}apply(e){const t=this.fileType,i={source:"local"};switch(i.fileType=t,t){case"csv":this.$_applyInputValues(i,this._csvContainer,"exts","headerRow","startRow");break;case"excel":this.$_applyInputValues(i,this._excelContainer,"exts","headerRow","startRow");break;default:this.$_applyInputValues(i,this._jsonContainer,"exts","dataPath");break}return i}render(e){const t=e.link;switch(this.$_setFileType(t.fileType||"json"),t.fileType){case"csv":this.$_setInputValues(this._csvContainer,{exts:t.exts,headerRow:t.headerRow,startRow:t.startRow});break;case"excel":this.$_setInputValues(this._excelContainer,{exts:t.exts,headerRow:t.headerRow,startRow:t.startRow});break;default:this.$_setInputValues(this._jsonContainer,{exts:t.exts,dataPath:t.dataPath});break}}checkDirty(){const e=this.view.data.link,t=this.fileType;let i=t!==(e==null?void 0:e.fileType);if(!i)switch(t){case"csv":i=this.$_checkInputsDirty(this._csvContainer,{headerRow:e.headerRow,startRow:e.startRow});break;case"excel":i=this.$_checkInputsDirty(this._excelContainer,{headerRow:e.headerRow,startRow:e.startRow});break;default:i=this.$_checkInputsDirty(this._jsonContainer,{dataPath:e.dataPath});break}return i}$_createInput(e,t,i){const r=e.createElement("input");return r.id=t,i&&(r.type=i),r.oninput=s=>{var n;s.target.value!==((n=this.view.data.link)===null||n===void 0?void 0:n[t])&&(this.view.modified=!0)},r}$_applyInputValues(e,t,...i){for(const r of i){const s=t.querySelector(`#${r}`).value;s!=null&&s?e[r]=s:delete e[r]}}$_createTypes(e){let t=X.createDiv(e,"",{display:"flex",alignItems:"center",gap:"6px",marginBottom:"10px",padding:"2px 2px",backgroundColor:"#f0f8ff"});return t.appendChild(X.createText(e,"File Type:")),dde.forEach(i=>{const r=e.createElement("input"),s=e.createElement("label");r.type="radio",r.name="filetype",r.value=r.id=i,r.onclick=n=>{var o;this.$_setFileType(n.target.value),this.fileType!==((o=this.view.data.link)===null||o===void 0?void 0:o.fileType)&&(this.view.modified=!0)},s.textContent=i,s.htmlFor=r.id,s.style.marginLeft="-3px",t.appendChild(r),t.appendChild(s)}),t}$_createFileContainer(e,t,i){const r=X.createDiv(e,"",{display:"grid",gridTemplateColumns:"minmax(60px, auto) 1fr 1fr",gridTemplateRows:"repeat(2, auto) 1fr",columnGap:"10px",rowGap:"8px",alignItems:"center"});return X.setData(r,"type",t),r.appendChild(X.createTextR(e,"Load Exts:")),r.appendChild(this.$_createInput(e,"exts")),r.appendChild(X.createText(e,`(${i})`)),r}get jsonInfo(){return{}}$_createJson(e,t){return t.appendChild(X.createTextR(e,"Data Path:")),t.appendChild(this.$_createInput(e,"dataPath")),t.appendChild(X.createText(e,"(데이터행 값들의 배열 속성 이름)")),t}$_createCsv(e,t){let i;return t.appendChild(X.createTextR(e,"Header Row:","지정하면 필드 Source에 지정 가능")),t.appendChild(this.$_createInput(e,"headerRow")),t.appendChild(X.createText(e,"(컬럼들의 이름이 표시되는 행 번호. 행은 1부터 시작")),t.appendChild(X.createTextR(e,"Start Row:")),t.appendChild(this.$_createInput(e,"startRow")),t.appendChild(X.createText(e,"(데이터가 시작되는 행 번호. 지정하지 않으면 header row + 1)")),t.appendChild(X.createTextR(e,"Row Count:")),t.appendChild(this.$_createInput(e,"rowCount")),t.appendChild(X.createText(e,"(최대 행 수. 지정하지 않으몀 마지막까지.)")),t.appendChild(X.createTextR(e,"Delimeter:")),t.appendChild(this.$_createInput(e,"delimeter")),t.appendChild(X.createText(e,'필드 구분자. 지정하지 않으면 comma. 탭은 "\\t"로 지정')),t.appendChild(X.createTextR(e,"Quted:")),i=e.createElement("input"),i.type="checkbox",X.setStyles(i,{appearance:"checkbox",justifySelf:"left",marginLeft:"0"}),t.appendChild(i),t.appendChild(X.createText(e,"(지정하면 각 필드 값이 인용 부호로 감싸여 있다고 가정)")),t}$_createExcel(e,t){return t.appendChild(X.createTextR(e,"Header Row:")),t.appendChild(this.$_createInput(e,"headerRow")),t.appendChild(X.createText(e,"(컬럼들의 이름이 표시되는 행 번호. 행은 1부터 시작")),t.appendChild(X.createTextR(e,"Start Row:")),t.appendChild(this.$_createInput(e,"startRow")),t.appendChild(X.createText(e,"(데이터가 시작되는 행 번호. 지정하지 않으면 header row + 1)")),t.appendChild(X.createTextR(e,"Row Count:")),t.appendChild(this.$_createInput(e,"rowCount")),t.appendChild(X.createText(e,"(최대 행 수. 지정하지 않으면 마지막 데이터 행까지.)")),t.appendChild(X.createTextR(e,"Start Col:")),t.appendChild(this.$_createInput(e,"startCol")),t.appendChild(X.createText(e,'(데이터가 시작되는 col. 지정하지 않으면 "A")')),t.appendChild(X.createTextR(e,"End Row Col:")),t.appendChild(this.$_createInput(e,"endRowCol")),t.appendChild(X.createText(e,"(마지막 행 여부 검사 기준 컬럼. 지정하지 않으면 Start Col. 이 행 이전까지 데이터 행.)")),t.appendChild(X.createTextR(e,"End Check Value:")),t.appendChild(this.$_createInput(e,"endCheckValue")),t.appendChild(X.createText(e,"(마지막 행 검사 기준 값. 지정하지 않으면 빈 셀)")),t}$_setFileType(e){for(const t of this._fileTypeContainer.getElementsByTagName("input"))t.checked=t.value===e;[this._jsonContainer,this._csvContainer,this._excelContainer].forEach(t=>{t.style.display=X.getData(t,"type")===e?"grid":"none"})}$_checkInputsDirty(e,t){for(const i in t)if(X.getChildById(e,i).value==t[i])return!0}$_setInputValue(e,t){e.value=t||""}$_setInputValues(e,t){for(const i in t)X.getChildById(e,i).value=t[i]||""}}class jTe extends Tz{constructor(e){super(e,"rrd-band-data-link"),this.addChild(this._headerView=new WTe(e)),this.addChild(this._contentView=this._remoteView=new zTe(e)),this.addChild(this._localView=new XTe(e)),this._headerView.commandStackChanged(null,null),this._contentView.visible=!0}get modified(){return this._modified}set modified(e){this._modified=e,this._headerView.setDirty(e)}get headerView(){return this._headerView}setLocal(e){const t=e?this._localView:this._remoteView;t!==this._contentView&&(this._contentView=t,this._localView.visible=this._contentView===this._localView,this._remoteView.visible=this._contentView===this._remoteView,this.checkDirty())}checkDirty(){this.modified=this.data.isLocalLink!==this.headerView.isLocal()||this._contentView.checkDirty()}_doDataChanged(){this.invalidateLayout()}_doRender(e){this._headerView.render(e),this.setLocal(e.isLocalLink),this._contentView.render(e),this.modified=!1}_applyHandler(e){const t=this.data;if(this.data instanceof vc){const i=this._contentView.apply(t);this.data.updateLink(i)}this.modified=!1,this._doChanged()}_resetHandler(){this.data.resetLink(),this._modified=!1,this._doChanged()}}class qTe extends un{_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"3px",height:"100%"})}_getCssDisplay(){return"flex"}}class ZTe extends un{constructor(e,t){super(e,"rrd-band-data-sample-header")}_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center"})}_getCssDisplay(){return"flex"}}class aS extends Lz{constructor(e){super(e,"rrd-band-data-sample"),this._tableRowSelection={selStart:-1,selLength:0},this._focusRowNo=null,this._selectedRows=[],this.$_clearHandler=()=>{this.clearSample(),this.$_clearSelection()},this._tableKeyDownHandler=t=>{const i=t.keyCode,r=this._getTableCell(t.target);if(r){const s=this.data;i===13?(t.preventDefault(),this._downCell(r,s.rowCount)||(this._blur(t),this._focus(t))):i===27?this.$_cancel(t.target):i===40?this._downCell(r,s.rowCount):i===38?this._upCell(r):r.cellIndex}},this._tableFocusHandler=t=>{t.target instanceof HTMLSpanElement&&ee.selectAll(t.target)},this._tableBlurHandler=t=>{if(t.target instanceof HTMLSpanElement){const i=this.data,r=i._internalValues(),s=t.target.parentElement,n=this._row(s),o=s.cellIndex-1,l=i.fields[o],h=t.target.innerText;let c;if(ee.clearSelection(),!h&&(i instanceof mr?c=r[n][l.fieldName]:c=r[n][o],c==null))return;const d=i.readValue(l,h);i instanceof mr?r[n][l.fieldName]=d:r[n][o]=d}},this._tableMouseDownHandler=t=>{const i=event.target,r=this._getTableCell(i);if(!r)return;const s=parseInt(r.parentElement.dataset.row);if(t.button!==0){ee.clearSelection();return}if(r.cellIndex!==0){this.$_clearSelection();return}t.shiftKey&&this._selectedRows.length>0?this.$_setSelection(this._selectedRows[0],s):this.$_focusRow(s,!0)},this._cellPasteHandler=t=>{event.stopPropagation(),event.preventDefault();const i=t.clipboardData.getData("text");document.execCommand("insertText",!1,i)},this._cellBlurHandler=t=>{const i=t.target,r=+X.getData(i,"row"),s=X.getData(i,"field"),n=t.target.textContent,o=this.data._internalValues();n!==o[r][s]&&this.data.runInMode(()=>{this.data.sampleCommands.execute(new tAe(this.data,r,s,n))})},this._header=this.$_createHeader(e),this.addChild(this._header),this.addDom(this.$_initTable(e,this._container=X.createDiv(e,"rrd-band-data-sample-container",{flex:"1 1 0",overflow:"auto"}))),this._colResizer=new w2(this.dom,t=>t.classList.contains(aS.CLASS_COLUMN_RESIZER)),this._colResizer.initListeners()}focusRow(e,t=!0){this.$_focusRow(e,t)}createFieldSampleRow(){const t=this.data.fields;let i={},r,s;for(let n=0;n<t.length;n++)r=t[n].fieldName,s=t[n].sample,i=Object.assign(i,{[r]:s});return i}addSampleRows(e){const t=this.data._internalValues(),i=t?t.length:0,r=this._focusRowNo||0;if(i<1e3){const s=[],n=r?t[r-1]:this.createFieldSampleRow();for(let o=0;o<e;o++)Array.isArray(n)?s.push(n.slice()):s.push({...n});this.data.runInMode(()=>{this.data.sampleCommands.execute(new eAe(this.data,s))})}setTimeout(()=>{this._container.scrollTop=this._container.scrollHeight}),this._doChanged()}clearSample(){this.data.runInMode(()=>{this.data._internalValues().length>0&&this.data.sampleCommands.execute(new Jue(this.data)),this._doChanged()})}commandStackChanged(e,t){this._undoButton.enabled=e&&e.canUndo,this._redoButton.enabled=e&&e.canRedo}_doRender(e){this._previewCheck.parentElement.style.display=e.link?"flex":"none",this._previewCheck.checked=e.embedPreview,this.$_renderHeader(),this.data.runInMode(()=>{this.$_renderTable(this._table,e.fields)})}$_createImage(e){const t=e.createElementNS(Di,"svg");return t.setAttribute("viewBox","0 0 32 32"),t.setAttribute("width","16"),t.setAttribute("height","16"),t.setAttribute("fill","none"),t.innerHTML=xe.dataPanel.dataSample,t}$_createHeader(e){const t=new ZTe(e);t.addDom(this.$_createImage(e)),t.addDom(X.createSpan(e,"rrd-band-data-sample-header-title",void 0,"Data Sample"));const i=X.createDiv(e,void 0,{display:"flex",alignItems:"center",gap:"4px",marginLeft:"4px"}),r=this._previewCheck=e.createElement("input");r.type="checkbox",r.name="displayInPreview",X.setStyles(r,{height:"18px",margin:0,padding:0}),r.onchange=o=>{const l=o.target;this.data.embedPreview=l.checked},i.appendChild(r);const s=e.createElement("label");s.textContent="preview",s.htmlFor="displayInPreveiw",i.appendChild(s),t.addDom(i),t.addDom(X.createSpace(e));const n=new qTe(e);return n.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:o=>{this.data.runInMode(()=>{this.data.sampleCommands.undo(),this._doChanged()})}})),n.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:o=>{this.data.runInMode(()=>{this.data.sampleCommands.redo(),this._doChanged()})}})),n.addChild(ql.create(e)),n.addChild(new Ht(e,{svg:xe.dataPanel.dataOne,size:"20px",hint:"Generate 1 Data",onClick:()=>this.addSampleRows(1)})),n.addChild(new Ht(e,{svg:xe.dataPanel.dataTen,size:"20px",hint:"Generate 10 Data",onClick:()=>this.addSampleRows(10)})),n.addChild(new Ht(e,{svg:xe.dataPanel.dataGenByLink,size:"20px",hint:"Generate Linked Data",action:{run:(o,l)=>{if(!this.data.link){o.alert("Data Link가 설정되어 있지 않습니다.");return}if(this.data.hasParams())debugger;this.data.runInMode(this.data.fetchData(null).then(()=>{this._doChanged()}).catch(h=>{console.error(h),o.alert(h.message||"Data Link에 설정된 데이터를 불러오지 못했습니다.")}))}}})),n.addChild(ql.create(e)),n.addChild(new Ht(e,{label:"Clear",hint:"Clear Data",variant:"filled",className:"rrd-band-data-sub-action",onClick:o=>this.$_clearHandler()})),t.addChild(n),t.addDom(this._spanCount=X.createSpan(e,"rrd-band-data-sample-row-count",{width:"60px"})),t}$_createTable(e){const t=this._table=e.createElement("table"),i=this._colgroup=e.createElement("colgroup"),r=this._thead=e.createElement("thead"),s=e.createElement("tbody");return r.appendChild(e.createElement("tr")),t.id="rrd-band-data-sample",t.className="rrd-band-data-sample",t.onkeydown=this._tableKeyDownHandler,t.onfocus=this._tableFocusHandler,t.onblur=this._tableBlurHandler,t.appendChild(i),t.appendChild(r),t.appendChild(s),t}$_initTable(e,t){return t.appendChild(this.$_createTable(e)),t}$_renderHeader(){this.data.runInMode(()=>{this._spanCount.textContent=`${this.data._internalValues().length} Rows`})}$_prepareHeads(e,t,i){const r=i.length+1,s=this._colgroup;for(;s.childElementCount<r;)s.appendChild(e.createElement("col"));for(;s.childElementCount>r;)s.lastElementChild.remove();const n=this._thead.firstElementChild;for(;n.childElementCount<r;)n.appendChild(e.createElement("th"));for(;n.childElementCount>r;)n.lastElementChild.remove()}$_prepareRows(e,t,i){const s=this.data._internalValues().length;let n;for(;t.childElementCount<s;)t.appendChild(n=e.createElement("tr")),n.onmousedown=this._tableMouseDownHandler;for(;t.childElementCount>s;)t.lastElementChild.remove();Array.from(t.children).forEach(o=>{const l=i.length+1;for(;o.childElementCount<l;)o.appendChild(e.createElement("td"));for(;o.childElementCount>l;)o.lastElementChild.remove()})}$_renderTable(e,t){const i=this.doc,r=this.data._internalValues();this.$_prepareHeads(i,this._table,t),this.data.runInMode(()=>{this.$_prepareRows(i,this._table.tBodies[0],t)}),this._colgroup.children[0].setAttribute("width","24"),t.forEach((o,l)=>{});const n=this._thead.children[0].children;n[0].textContent="No",t.forEach((o,l)=>{const h=n[l+1];let c=h.firstElementChild;c||(h.appendChild(c=X.createDiv(i)),c.appendChild(X.createSpan(i,"rrd-band-data-sample-head")),c.appendChild(X.createSpan(i,aS.CLASS_COLUMN_RESIZER))),c.firstElementChild.textContent=o.fieldName}),Array.from(e.tBodies[0].rows).forEach((o,l)=>{const h=this.data,c=o.cells;X.setData(o,"row",l),c[0].textContent=String(l+1),t.forEach((d,u)=>{const A=c[u+1],f=Array.isArray(r[l])?r[l][u]:r[l][d.fieldName];let p=A.firstElementChild,g;p||(A.appendChild(p=X.createSpan(i)),p.spellcheck=!1,p.onpaste=this._cellPasteHandler,p.onblur=this._cellBlurHandler),d.expression?(p.contentEditable="false",g=`\${${d.expression}}`):(p.contentEditable="true",h instanceof mr&&(g=d.dataType==="datetime"?h.dateToStr(d,f):ee.getStr(f))),p.textContent=g,X.setData(p,"row",l),X.setData(p,"field",d.fieldName)})})}setTableRowSelection(e){this._tableRowSelection=e}setFocusRowNo(e){this._focusRowNo=e}setSelectedRows(e){this._selectedRows=e}$_clearSelection(e=!1){const t=this._table.tBodies[0].rows;if(e)for(let i=0;i<t.length;i++)t.item(i).classList.remove("selected");else this._selectedRows.forEach(i=>{t.item(i).classList.remove("selected")});this.setTableRowSelection({selStart:-1,selLength:0}),this.setFocusRowNo(null),this.setSelectedRows([])}$_setSelection(e,t=-1){t<0&&(t=e),this.$_clearSelection();const i=Math.min(e,t),r=Math.abs(e-t)+1;this.setTableRowSelection({selStart:i,selLength:r}),this.setFocusRowNo(e+1);const s=[];for(let n=i;n<i+r;n++)s.push(n);this.setSelectedRows(s)}$_focusRow(e,t=!0){const i=this._table.tBodies[0].rows;e>=0&&e<i.length&&(i[e].scrollIntoView({behavior:"smooth",block:"nearest"}),t&&this.$_setSelection(e))}$_cancel(e){console.log(e)}}aS.CLASS_COLUMN_RESIZER="rrd-band-data-sample-size-handle";var mo;(function(a){a.Fields="fields",a.Link="link",a.Sample="sample"})(mo||(mo={}));let JTe=class extends Ii{constructor(e){super(e,"rrd-band-data-header-labels"),this._deleteDataAction={run:()=>{}},this._shareDataAction={run:()=>{}},this.addDom(this._dataNameSpan=X.createSpan(e,void 0,{paddingTop:"2px",fontSize:"13px",fontWeight:600})),this.addChild(new Ht(e,{svg:xe.dataPanel.dataRemove,size:"18px",hint:"Delete",style:{marginLeft:"1px"},action:this._deleteDataAction})),this.addChild(new Ht(e,{label:"Share",size:"18px",style:{marginLeft:"1px"},action:this._shareDataAction}))}layout(e,t){this._dataNameSpan.textContent=e.name,this._deleteDataAction.run=i=>{var r;(r=i.report)===null||r===void 0||r.removeData(e.name)},this._shareDataAction.run=i=>{}}_doInitStyles(e){Object.assign(e.style,{display:"flex",alignItems:"center",gap:"2px"})}},eLe=class extends Ii{constructor(e){super(e,"rrd-band-data-header-tools")}_initItems(e,t){t.forEach(i=>{if(i.type==="button"){const r=new Ht(e,i);this.addChild(r)}else{const r=new ql(e,i);this.addChild(r)}})}layout(e,t){const i=this.getChildren();i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===mo.Fields).forEach(r=>r.visible=t===mo.Fields),i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===mo.Link).forEach(r=>r.visible=t===mo.Link),i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===mo.Sample).forEach(r=>r.visible=t===mo.Sample),X.setData(i.find(r=>r instanceof Ht&&r.tag===mo.Fields).dom,"checked",t===mo.Fields?"1":""),X.setData(i.find(r=>r instanceof Ht&&r.tag===mo.Link).dom,"checked",t===mo.Link?"1":""),X.setData(i.find(r=>r instanceof Ht&&r.tag===mo.Sample).dom,"checked",t===mo.Sample?"1":"")}_doInitStyles(e){super._doInitStyles(e),X.setStyles(this.dom,{height:"100%"})}},tLe=class extends Ii{constructor(e){super(e,"rrd-band-data-header"),this.addChild(this._labelView=new JTe(e)),this.addDom(X.createSpace(e)),this.addChild(this._toolView=new eLe(e))}_initToolItems(e,t){this._toolView._initItems(e,t)}render(e,t){this._toolView.layout(e,t),this._labelView.layout(e,t)}};class iLe extends v4{constructor(e){super(e,"band"),this._inited=!1,this._dataChanged=!1,this._page=mo.Fields,this._fieldsChanged=!1,this._addRowClickedHandler=()=>{this._sampleView.addSampleRows(1)},this._addTenRowsClickedHandler=()=>{this._sampleView.addSampleRows(10)},this._dataGenerateClickedHandler=()=>{},this._pageChangeClickedHandler=(t,i)=>{i!==this._page&&(this._page=i,this.render())},this._saveValuesHandler=(t,i,r=!1)=>{t.setValues(i)},this._changeValuesHandler=(t,i,r)=>{const n=t._internalValues().map(o=>{const l=o[r];return delete o[r],{...o,[i]:l}});t.setValues(n)}}get data(){return this._data}set data(e){let t=this._data;e!==t&&(t&&(t.onFieldChanged=null,t.onSampleChanged=null,t.onLinkChanged=null),t=this._data=e,this._dataChanged=!0,this.invalidateLayout(),t?(t.onFieldChanged=(i,r)=>{this._fieldView.commandStackChanged(i,r)},t.onSampleChanged=(i,r)=>{this._sampleView.commandStackChanged(i,r)},t.onLinkChanged=(i,r)=>{this._linkView.headerView.commandStackChanged(i,r)},this._fieldView.commandStackChanged(t.fieldCommands,null),this._sampleView.commandStackChanged(t.sampleCommands,null),this._linkView.headerView.commandStackChanged(t.linkCommands,null)):(this._fieldView.commandStackChanged(null,null),this._sampleView.commandStackChanged(null,null),this._linkView.headerView.commandStackChanged(null,null)))}prepareBandFieldTableViewHandler(e){this._fieldView.designerCtx=e}_doInitStyles(e){super._doInitStyles(e),Object.assign(e.style,{flexDirection:"column"})}_doInitDom(e,t){this.addChild(this._header=new tLe(e));const i=new Ii(e,"rrd-band-data-body");i.setStyles({flex:"1 1 0",overflow:"auto"});const r=new Ii(e,"rrd-band-data-content");r.setStyles({width:"100%",height:"100%"}),r.addChild(this._fieldView=new oS(e,()=>{this._fieldsChanged=!0})),r.addChild(this._linkView=new jTe(e)),r.addChild(this._sampleView=new aS(e)),i.addChild(r),this.addChild(i)}_doRender(e,t){this._inited||(this._header._initToolItems(e,[{type:"button",tag:mo.Fields,svg:xe.dataPanel.dataSchema,size:"20",hint:"Fields",onClick:this._pageChangeClickedHandler},{type:"button",tag:mo.Link,svg:xe.dataPanel.dataLink,size:"20",hint:"Link",onClick:this._pageChangeClickedHandler},{type:"button",tag:mo.Sample,svg:xe.dataPanel.dataSample,size:"20",hint:"Sample",onClick:this._pageChangeClickedHandler}]),this._inited=!0),this._header.render(this.data,this._page),(this._fieldView.visible=this._page===mo.Fields)&&(this._fieldView.data=this.data,this._fieldView.render(this.data)),(this._linkView.visible=this._page===mo.Link)&&(this._linkView.data=this.data,this._linkView.render(this.data)),(this._sampleView.visible=this._page===mo.Sample)&&(this._sampleView.data=this.data,this._fieldsChanged&&(this._fieldsChanged=!1,this._sampleView.changed()),this._sampleView.render(this.data)),this._dataChanged&&(this._dataChanged=!1,this._linkView.modified=!1)}}const rLe=new CA({name:"favorites",title:"즐겨찾기"});class sLe extends dy{}const sH="server-data-root",Oz="server-data-group";class ZT extends cu{get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this.$_buildTree(this._ctx))}get reportGroup(){return this.model.root.findByTag("report")}initTree(e){this.$_buildTree(this._ctx=e),this.itemDraggable=!0}dataAdded(e,t,i,r){let s;switch(e){case"report":s=this.model.addItem(this.$_reportRoot,this.$_getTreeItemSource(t),r);break;case"server":s=this.model.addItem(this.$_serverRoot,this.$_getTreeItemSource(t))}s&&!i&&(this.focusedItem=s)}dataRemoved(e){const t=this.model.findByTag(e),i=t.parent;this.model.removeItem(t),this.focusedItem=i}dataRenamed(e){const t=this.model.findByTag(e);t.name=e.name,this.refresh()}refreshDataTemplate(e){this.$_buildTree(e)}_doPrepareContainer(e,t){super._doPrepareContainer(e,t),this._dragImage=wP.createDragImage("data"),t.ondragstart=i=>{const r=i.target;if(r instanceof HTMLElement&&r.classList.contains("rr-tree-row")){const n=r.querySelector(".rr-tree-label").textContent,o=wP.calcDragImageOffset(this._dragImage);i.dataTransfer.setData(uC(JSON.stringify({type:tc.DATA,name:n})),""),i.dataTransfer.setDragImage(this._dragImage,o.x,o.y);return}X.stopEvent(i)}}$_getTreeItemSource(e){if(e)return{name:e.name,tag:e,type:`report-${e.getSaveType()}-data`,editable:!1,iconType:e.getSaveType()==="band"?"bandData":"simpleData"}}$_getTree(e,t){const{server:i,dataTemplateManager:r}=e,s={name:"Data",editable:!1,tag:null,children:[]};let n;s.children.push(n={name:"Stock",editable:!1,tag:"stock",type:"data-root",iconType:"group",children:[{name:"Favorites",editable:!1,expandable:!1,tag:rLe,type:"data-favorites",iconType:"favorite"}]}),r&&r.getAll().forEach(d=>{n.children.push({name:d.name,editable:!1,expandable:!1,tag:d,type:"data-group",iconType:"group"})}),i&&s.children.push({name:"Server",editable:!1,loadable:!0,tag:"server",type:sH,iconType:"group"});const o={name:"Report",editable:!1,tag:"report",type:"report-data-root",iconType:"reportFolder"},l=t.getAll(),h=[];for(let c of l){const d=this.$_getTreeItemSource(c);h.push(d)}return o.children=h,s.children.push(o),s}$_buildTree(e){var t;const i=(t=this.report)===null||t===void 0?void 0:t.data,r=i?this.$_getTree(e,i):ZT.EMPTY_TREE;this.model=new hu(r),this.focusedItem=this.reportGroup,this.expandAll(),this.collapse(this.bodyView.findRow(this.model.findByTag("stock"))),e.server&&this.collapse(this.bodyView.findRow(this.model.findByTag("server"))),this.invalidateLayout(),this.model.addListener(this)}get $_serverRoot(){return this.model.root.get(1)}get $_reportRoot(){return this.model.root.findByTag("report")}$_addDataTemplate(e){const{dataTemplateManager:t}=e,i=this.model.findByTag("stock");t&&i&&t.getAll().forEach(s=>{this.model.addItem(i,{name:s.name,editable:!1,tag:s,type:"data-group"})})}onTreeItemExpanding(e,t){return t.source.type===sH&&t.loadable&&this._ctx.server?(this._ctx.server.getDataTemplateCategories().then(r=>{t.setLoadable(!1),r.forEach(s=>e.addItem(t,{name:s.category,type:Oz,editable:!1,expandable:!1,loadable:!0,iconType:"group",tag:new CA({name:s,title:s,description:s,items:[],tag:"server"})})),this.expand(this.bodyView.findRow(t)),setTimeout(()=>this.invalidateLayout())}),!1):(this.bodyView.findRow(t)._childRows.forEach(r=>{r.expander.hasChildNodes()&&r.expander.replaceChildren()}),!0)}}ZT.EMPTY_TREE={name:"Data",editable:!1,children:[{name:"Stock",tag:"stock",editable:!1,iconType:"group",children:[]},{name:"Report",tag:"report",editable:!1,children:[]}]};class Mz extends Ii{constructor(){super(...arguments),this._changed=!0}get data(){return this._data}set data(e){e!==this._data&&(this._data=e,this._doDataChanged(),this._doChanged())}get report(){return this._report}set report(e){e!==this._report&&(this._report=e,this.render())}render(e,t){this._changed&&(this._changed=!1,this._doRender(e||this._data,t))}changed(){this._doChanged()}_doChanged(){this._changed||(this._changed=!0,this.invalidateLayout())}_getCssDisplay(){return"flex"}_doInitStyles(e){X.setStyles(e,{position:"absolute",display:"flex",flexDirection:"column",width:"100%",height:"100%"})}_doDataChanged(){}}class nLe extends un{constructor(e,t){super(e,"rrd-band-data-link-header")}}class oLe extends Ii{constructor(e){super(e,"rrd-band-data-link-content")}}class Kw extends Ii{constructor(e,t,i){super(e,"rrd-band-data-link-body-section"),this._namePrefix=i;const r=this.$_createHeader(e,t);this.addChild(r),this.addChild(this._itemContainer=new aLe(e))}addItem(e,t){const i=new uu(this.doc,e,t,r=>this._itemContainer.removeChild(r));i.addListener({[uu.NAME_INPUTED]:(r,s)=>{this.$_fireChangedEvent()},[uu.VALUE_INPUTED]:(r,s)=>{this.$_fireChangedEvent()},[uu.DELETED]:r=>{this.$_fireChangedEvent()}}),this._itemContainer.addChild(i),this.$_fireChangedEvent()}addNewItem(){const e=this._namePrefix?this.$_getNextName(this._namePrefix):void 0;this.addItem(e,void 0)}setItems(e){this._itemContainer.clear(),e&&Object.entries(e).forEach(([t,i])=>{this.addItem(t,i)})}collectValues(){const e={};return this._itemContainer.items.forEach(t=>{const i=t.dom.querySelectorAll("input"),r=i[0].value,s=i[1].value;r&&(e[r]=s)}),Object.keys(e).length>0?e:void 0}_doInitStyles(e){super._doInitStyles(e),X.setStyles(this.dom,{marginTop:"4px"})}$_createHeader(e,t){const i=new un(e,void 0);return i.setStyles({display:"flex",alignItems:"center",gap:"8px",marginBottom:"6px"}),i.addDom(X.createSpan(e,null,null,t)),i.addDom(X.createSpan(e,null,{boxSizing:"border-box",flex:"1 1 auto",borderBottom:"1px solid var(--rrd-light-theme-primary-color-7)"})),i.addChild(new Ht(e,{label:"Add",variant:"subtle",onClick:()=>{this.addNewItem()}})),i}$_getNextName(e){var t;const i=(t=this.collectValues())!==null&&t!==void 0?t:{};let r=1;for(;;){const s=e+r++;if(!(s in i))return s}}$_fireChangedEvent(){this.fireEvent(Kw.CHANGED,this.collectValues())}}Kw.CHANGED="onChanged";class aLe extends Ii{constructor(e){super(e,"rrd-simple-data-link-section-item-container")}get items(){return this.getChildren().map(e=>{if(!(e instanceof uu))throw new Jg;return e})}_doInitStyles(e){super._doInitStyles(e),X.setStyles(e,{display:"flex",flexDirection:"column",gap:"6px"})}}class uu extends un{constructor(e,t,i,r){super(e,"rrd-band-data-link-section-item"),this.addDom(X.createSpan(e,null,null,"Name")),this.addChild(new FA(e,{value:t,full:!0,style:{flex:"1 1 auto"},onInput:(s,n)=>{this.fireEvent(uu.NAME_INPUTED,n)}})),this.addChild(new XT(e,{size:"6px"})),this.addDom(X.createSpan(e,null,null,"Value")),this.addChild(new FA(e,{value:i,full:!0,style:{flex:"1 1 auto"},onInput:(s,n)=>{this.fireEvent(uu.VALUE_INPUTED,n)}})),this.addChild(new Ht(e,{svg:xe.dataPanel.remove,hint:"Delete Param",size:"18px",style:{padding:"2px"},onClick:()=>{r==null||r(this),this.fireEvent(uu.DELETED)}}))}_doInitStyles(e){super._doInitStyles(e),X.setStyles(e,{display:"flex",alignItems:"center",gap:"8px",padding:"0 12px"})}}uu.NAME_INPUTED="onNameInputed";uu.VALUE_INPUTED="onValueInputed";uu.DELETED="onDeleted";class EI extends un{constructor(e,t,i){super(e),this.label=t,this._control=i,this.addDom(this.$_createLabel(this.label)),this.addChild(this._control)}get value(){return this._control.value}set value(e){this._control.value=e}checkDirty(e){return e!=(this._control.inputValue||void 0)}_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"10px"})}_getCssDisplay(){return"flex"}$_createLabel(e){const t=X.createSpan(this.doc,void 0,void 0,e);return X.setStyles(t,{minWidth:"60px",textAlign:"left"}),t}}class lLe extends un{_doInitStyles(e){X.setStyles(e,{display:"flex",alignItems:"center",gap:"8px",marginBottom:"6px"})}_getCssDisplay(){return"flex"}}class b4 extends un{constructor(e){super(e),this.addChild(this.$_createHeader(e));const t=e.createElement("textarea");t.className="rrd-band-data-link-http-body-control",X.setStyles(t,{width:"calc(100% - 12px)",minHeight:"100px",margin:"6px",padding:"6px",resize:"vertical"}),t.addEventListener("input",i=>{const r=i.target;this._value=r.value,this.$_fireChangedEvent()}),this.addDom(this._control=t),this.$_renderByValue()}get value(){return this._value}set value(e){e===void 0?(this._value=void 0,this._control.value=""):this._value=this._control.value=e,this.$_renderByValue(),this.$_fireChangedEvent()}_doInitStyles(e){X.setStyles(e,{marginTop:"4px"})}$_createHeader(e){const t=new lLe(e),i=X.createSpan(e,void 0,{},"HTTP Body");t.addDom(i);const r=X.createSpan(e,void 0,{flex:"1",boxSizing:"border-box",borderBottom:"1px solid var(--rrd-light-theme-primary-color-7)"});return t.addDom(r),t.addChild(this._addBtn=new Ht(e,{label:"Add",variant:"subtle",onClick:()=>{this.value=""}})),t.addChild(this._removeBtn=new Ht(e,{label:"Remove",variant:"subtle",onClick:()=>{this.value=void 0}})),t}$_renderByValue(){this.value===void 0?(this._addBtn.visible=!0,this._removeBtn.visible=!1,this._control.style.display="none"):(this._addBtn.visible=!1,this._removeBtn.visible=!0,this._control.style.display="")}$_fireChangedEvent(){this.fireEvent(b4.CHANGED,this.value)}}b4.CHANGED="onChanged";class hLe extends Mz{constructor(e){super(e,"rrd-band-data-link"),this.$_dirty=!1;const t=this.$_createViewHeader(e);this.addChild(t);const i=this.$_createViewBody(e);this.addChild(i)}get dirty(){return this.$_dirty}set dirty(e){this.$_dirty=e,this._dirtyDiv.style.display=e?"block":"none"}commandStackChanged(e,t){this._undoButton.enabled=e&&e.canUndo,this._redoButton.enabled=e&&e.canRedo}checkDirty(){const e=this.data.link;this.dirty=this._url.checkDirty(e==null?void 0:e.url)||this._dataPath.checkDirty(e==null?void 0:e.dataPath)||this._format.checkDirty((e==null?void 0:e.format)||Xw.JSON)||this._method.checkDirty((e==null?void 0:e.method)||"GET")||!ip.isEqual(this._queryParamSection.collectValues(),e==null?void 0:e.params)||!ip.isEqual(this._httpHeaderSection.collectValues(),e==null?void 0:e.headers)}_doInitStyles(e){super._doInitStyles(e)}_doDataChanged(){this.invalidateLayout()}_doRender(e){var t,i,r,s;const n=e.link;n?(this._url.value=(t=n.url)!==null&&t!==void 0?t:"",this._format.value=(i=n.format)!==null&&i!==void 0?i:"JSON",this._dataPath.value=(r=n.dataPath)!==null&&r!==void 0?r:"",this._method.value=(s=n.method)!==null&&s!==void 0?s:"GET",this._queryParamSection.setItems(n.params),this._httpHeaderSection.setItems(n.headers)):(this._url.value="",this._format.value="JSON",this._dataPath.value="",this._method.value="GET",this._queryParamSection.setItems(),this._httpHeaderSection.setItems()),this._dataPath.visible=this._format.value===Xw.JSON,this.dirty=!1}$_createViewHeader(e){const t=new nLe(e),i=Xt.createIconSvg(e,xe.dataPanel.dataLink,18),r=X.createSpan(e,"rrd-band-data-link-header-title",void 0,"Data Link");return t.addDom(i),t.addDom(r),this._dirtyDiv=X.createDiv(e,void 0,{display:"none",width:"8px",height:"8px",marginLeft:"4px",backgroundColor:"#FFA94D",borderRadius:"50%"}),t.addDom(this._dirtyDiv),t.addDom(X.createSpace(e)),t.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:s=>{this.data.undoLink(),this._doChanged()}})),t.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:s=>{this.data.redoLink(),this._doChanged()}})),t.addChild(ql.create(e)),t.addChild(new Ht(e,{label:"Apply",hint:"수정된 값들로 설정",variant:"filled",className:"rrd-band-data-sub-action",action:{run:(s,n,o)=>{this._applyHandler(s)}}})),t.addChild(new Ht(e,{label:"Reset",hint:"초기값으로 재설정",variant:"filled",className:"rrd-band-data-sub-action",action:{run:(s,n,o)=>{this._resetHandler()}}})),t}$_createViewBody(e){const t=new oLe(e),i=new FA(e,{full:!0,onInput:(o,l)=>{this.checkDirty()}});t.addChild(this._url=new EI(e,"URL",i));const r=new FA(e,{full:!0,onInput:(o,l)=>{this.checkDirty()}});t.addChild(this._dataPath=new EI(e,"Data Path",r));const s=new VA(e,{domain:["JSON","CSV"],value:"JSON",style:{width:"68px"},onEdit:(o,l)=>{this.checkDirty(),this._dataPath.visible=l===Xw.JSON}});t.addChild(this._format=new EI(e,"Format",s));const n=new VA(e,{domain:["GET","POST","PUT"],value:"GET",style:{width:"68px",height:"22px"},onEdit:(o,l)=>{this.checkDirty()}});return t.addChild(this._method=new EI(e,"Method",n)),this._queryParamSection=new Kw(e,"Query Parameters","Param"),this._queryParamSection.addListener({[Kw.CHANGED]:(o,l)=>{this.checkDirty()}}),t.addChild(this._queryParamSection),this._httpHeaderSection=new Kw(e,"HTTP Headers","Header"),this._httpHeaderSection.addListener({[Kw.CHANGED]:(o,l)=>{this.checkDirty()}}),t.addChild(this._httpHeaderSection),t}_applyHandler(e){if(this.data instanceof vc){const t=this._url.value;let i;t&&(i={source:"remote",url:t,format:this._format.value,dataPath:this._dataPath.value||void 0,method:this._method.value,params:this._queryParamSection.collectValues(),headers:this._httpHeaderSection.collectValues()}),this.data.updateLink(i)}this.dirty=!1,this._doChanged()}_resetHandler(){this.data.resetLink(),this._doChanged(),this.dirty=!1}}class cLe extends $r{constructor(e,t){super(e,t),this._vindex=-1}get measuredWidth(){return this._measuredWidth}get measuredHeight(){return this._measuredHeight}get vindex(){return this._vindex}measure(e,t){const i=this._doMeasure(e,t);return this._measuredWidth=i.width,this._measuredHeight=i.height,i}layoutContent(){this._doLayoutContent()}_getCssSelector(){}_doDraw(e){}_doMeasure(e,t){return new ft(e,t)}_doLayoutContent(){}}class il extends cLe{constructor(e,t){super(e.doc,"jsonBodyView"),this._trMap=new Map,this._itemMap=new Map,this._mouseMoveHandler=i=>{let r=i.target;if(!this._editor.ignoreHovering(r)&&r!==this._hoverTarget){for(this._hoverTarget=r;r&&!(r instanceof HTMLTableRowElement);)r=r.parentElement;const s=r&&this._trMap.get(r);if(s!==this._hoverItem){const n=this._hoverItem;this._hoverItem=s,this._hoverChanged(r,this._hoverItem,n)}}},this._editor=e,this._draggable=t,this.dom.onmousemove=this._mouseMoveHandler}_doDispose(){this.dom.onmousemove=null,this._tbody=this._thead=this._table=null,this._editor=null,super._doDispose()}get draggable(){return this._draggable}get editor(){return this._editor}get table(){return this._table}isExpander(e){return e&&e.classList.contains(il.EXPANDER)}isName(e){return e&&e.classList.contains(il.FILED_CLASS)}rowOf(e){let t=e;for(;t;){if(t instanceof HTMLTableRowElement)return t;t=t.parentElement}}itemOf(e){const t=this.rowOf(e);return t&&this._trMap.get(t)}rowOfItem(e){return this._itemMap.get(e)}getFirstValue(){const e=this._tbody.rows;for(let t=0;t<e.length;t++){const i=e[t];if(this._trMap.get(i)instanceof yo)return this.$_getValueDom(i)}}getLastValue(){const e=this._tbody.rows;for(let t=e.length-1;t>=0;t--){const i=e[t];if(this._trMap.get(i)instanceof yo)return this.$_getValueDom(i)}}getNameDom(e){return this.$_getNameDom(e)}getValueDom(e){return this.$_getValueDom(e)}getNextValue(e){const t=this._tbody.rows;let i=this.rowOf(e);if(i){for(let r=i.rowIndex;r<t.length;r++)if(i=t[r],this._trMap.get(i)instanceof yo)return this.$_getValueDom(i);return e}}getPrevValue(e){const t=this._tbody.rows;let i=this.rowOf(e);if(i){for(let r=i.rowIndex-2;r>=0;r--)if(i=t[r],this._trMap.get(i)instanceof yo)return this.$_getValueDom(i);return e}}getEditingRow(){let e=this.doc.activeElement;for(;e;){if(e instanceof HTMLTableRowElement&&this._trMap.get(e))return e;e=e.parentElement}}getEditingItem(){const e=this.getEditingRow();return e&&this._trMap.get(e)}makeRowVisible(e){e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}isRowMenu(e){if(e.classList.contains(il.ROW_MENU)){const t=this.$_getTr(e);return this._trMap.get(t)}}beginEdit(e){const t=this.rowOfItem(e);if(t){const i=t.children[2].lastElementChild,r=e!==this._editor.model.root&&this._editor.nameEditable?i.children[1]:i.children[3];if(r instanceof HTMLElement)return this._editor.setFocus(),r.focus(),!0}}getRowContent(e){return e.cells[2].firstElementChild.children[3]}_createDom(e){const t=super._createDom(e),i=this._table=e.createElement("table"),r=i.style;return i.className="json-table",r.setProperty("table-layout","fixed","important"),r.setProperty("width","100%","important"),this._thead=e.createElement("thead"),this.$_prepareHead(e,this._thead),i.appendChild(this._thead),this._tbody=e.createElement("tbody"),i.appendChild(this._tbody),t.appendChild(i),t}_initDom(e,t){super._initDom(e,t),X.setStyles(t,{position:"relative",flex:"1 1 auto",overflow:"auto"})}_getCssSelector(){return"json-body"}_doMeasure(e,t){return this.$_prepareRows(this.doc,this._tbody),new ft(e,t)}_doLayoutContent(){}$_prepareHead(e,t){const i=e.createElement("tr"),r=i.style,s=["24px","1px","","50px"];i.setAttribute("aria-hidden","true"),r.setProperty("border","0px none","important");for(let n=0;n<4;n++){const o=e.createElement("th");let l=o.style;o.scope="col",l.setProperty("visibility","hidden","important"),l.setProperty("margin","0px","important"),l.setProperty("padding","0px","important"),l.setProperty("font-size","0px","important"),l.setProperty("line-height","0px","important"),l.height="0px",l.width=s[n],i.appendChild(o)}t.appendChild(i)}$_prepareRows(e,t){const i=this._editor,r=i.model,s=i.focused,n=i.model&&i.model.visibleItems||[],o=t.rows;for(;o.length<n.length;){const l=e.createElement("tr");l.className="json-row",t.appendChild(l)}for(;o.length>n.length;)o[o.length-1].remove();this._trMap.clear(),this._itemMap.clear();for(let l=0,h=o.length;l<h;l++){const c=o[l],d=n[l];X.setBoolData(c,"focused",d===s),this._prepareRow(e,r,d,c,l),this._trMap.set(c,d),this._itemMap.set(d,c)}}_prepareRow(e,t,i,r,s){let n,o,l;if(r.childElementCount==0)for(let h=0;h<4;h++)r.appendChild(e.createElement("td"));o=r.children[0],l=o.firstElementChild,l||(l=e.createElement("button"),l.className=il.ROW_MOVER,this._draggable&&(l.draggable=!0),o.appendChild(l)),o=r.children[2],n=o.lastChild,n||(n=this.$_prepareCell(e,i),o.appendChild(n)),n.style.marginLeft=16*i.level+"px",this.$_layoutCell(e,t,i,n,s===0&&t.isRoot(i))}$_prepareCell(e,t){const i=e.createElement("div");i.className="json-content";for(let r=0;r<4;r++){const s=document.createElement("span");r==1&&this._draggable&&t instanceof yo&&(s.draggable=!0),i.appendChild(s)}return i}$_layoutCell(e,t,i,r,s){const n=r.children;let o=n[0];i instanceof yn?(o||r.appendChild(o=e.createElement("button")),i.expanded?o.className=il.EXPANDER_EXPANDED:o.className=il.EXPANDER_COLLAPSED):o&&(o.className=il.EXPANDER);let l=n[1];if(l.className=il.FILED_CLASS,l.contentEditable=this._editor.nameEditable&&i.nameEditable?"true":"false",l.textContent=s&&this._editor.model.rootName||i.name,l.spellcheck=!1,l.style.marginLeft="",i instanceof yn)l=n[2],l.className="json-count",i.expanded?i instanceof c1?l.textContent="("+(i.count-1)+") {":i instanceof d1&&(l.textContent="("+(i.count-1)+") ["):i instanceof c1?l.textContent="{"+(i.count-1)+"}":i instanceof d1&&(l.textContent="["+(i.count-1)+"]"),l=n[3],l.contentEditable="false",l.className="json-none",l.style.visibility="hidden",l.textContent="";else if(i instanceof yo){const h=i instanceof cA;l=n[2],l.className="json-separator",l.textContent=h?`[${i.value?i.value.length:0}] :`:":",l=n[3],t.editable?(l.contentEditable="true",l.spellcheck=!1):l.contentEditable="false",l.className="json-value",l.style.visibility="",h?l.dataset.type="array":i instanceof cC?l.dataset.type="number":i instanceof nS?l.dataset.type="bool":i instanceof Rx?l.dataset.type="null":l.dataset.type="string",l.textContent=i.displayText}else l=n[1],l.className="json-count",l.contentEditable="false",l.style.marginLeft="-18px",i instanceof gP?i.parent instanceof c1?l.textContent="}":i.parent instanceof d1?l.textContent="]":l.textContent="":l.textContent="",l=n[2],l.textContent="",l.contentEditable="false",l=n[3],l.className="json-count",l.contentEditable="false",l.textContent=""}$_getNameDom(e){return e.cells[2].firstElementChild.children[1]}$_getValueDom(e){return e.cells[2].firstElementChild.children[3]}$_focusedChanged(e,t){let i=this.rowOfItem(e);i&&X.setBoolData(i,"focused",!1),i=this.rowOfItem(t),i&&(X.setBoolData(i,"focused",!0),this.makeRowVisible(i))}$_getTr(e){do{if(e instanceof HTMLTableRowElement)return e;e=e.parentElement}while(e)}_hoverChanged(e,t,i){}}il.EXPANDER="json-expander";il.EXPANDER_EXPANDED="json-expander json-expander-expanded";il.EXPANDER_COLLAPSED="json-expander json-expander-collapsed";il.ROW_MOVER="json-row-mover";il.ROW_MENU="json-row-menu";il.FILED_CLASS="json-field";class dLe extends bd{constructor(e){super(e,"jsonSelectionTool"),this._editor=e}_doDispose(){this._editor=null,super._doDispose()}get viewer(){return this._editor}_doMouseDown(e){const t=this._editor,i=t.bodyView,r=this.mouseEventTarget,s=i.rowOf(r),n=i.isRowMenu(r);if(n)t.onRowMenuClick&&t.onRowMenuClick(n);else if(i.isExpander(r)){const o=i.itemOf(r);o.isGroup()&&(o.expanded?t.collapse(o):t.expand(o))}return s&&(t.focused=i.itemOf(s)),!0}_doMouseMove(e){}_doMouseUp(e){}_doClick(e,t,i){const r=this._editor,s=r.bodyView,n=this.mouseEventTarget,o=s.rowOf(n);s.isRowMenu(n),o&&(r.focused=s.itemOf(o));const l=this.findElementAt(t,i,!1);l&&this._clickElement}_doDblClick(e){}_doMouseWheel(e){return!!(e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY))}_doMouseEnter(e){}_doMouseLeave(e){}_doMouseOver(e){}_doContextMenu(e){return!1}_doKeyDown(e){const t=e.keyCode,i=e.ctrlKey,r=e.altKey,s=ee.isMac,n=s&&e.metaKey||!s&&e.ctrlKey,o=e.shiftKey,l=n&&!r&&!o,h=e.target instanceof HTMLElement?e.target:null,c=this._editor,d=c.focused,u=c.bodyView.itemOf(h);let A=!1;switch(t){case 90:if(s&&n&&o||i&&o&&!r)return c.redo();if(l)return c.undo();break;case 89:if(l)return c.redo();break;case 13:!i&&!n&&!o&&(A=this.$_enter(h,u||d));break;case 27:A=this.$_esc(h,u);break;case 9:o?A=this.$_tab(h,d,-1):A=this.$_tab(h,d,1);break;case 36:n&&(A=this.$_home());break;case 35:n&&(A=this.$_end());break;case 37:A=this.$_left(h,d);break;case 39:A=this.$_right(h,d);break;case 40:A=this.$_move(h,d,1);break;case 38:A=this.$_move(h,d,-1);break}return A&&(e.preventDefault(),e.stopImmediatePropagation()),A||super._doKeyDown(e)}_doKeyPress(e){return!1}_doKeyUp(e){return!1}_doFocusLeave(e){const t=this._editor;if(t.focused instanceof yo){const i=t.bodyView.rowOfItem(t.focused);if(i){const r=t.bodyView.getNameDom(i),s=t.bodyView.getValueDom(i);t._fireFocusedLeave(t.focused,r.textContent,s.textContent)}}}$_enter(e,t){if(e){const i=this._editor,r=i.bodyView;if(t){const s=r.rowOfItem(t);return i.isEditing()?r.isName(e)?this.$_tab(e,t,1):this.$_move(e,t,1):(t.isGroup()?e=r.getNameDom(s):e=r.getValueDom(s),e&&e.focus(),ee.selectAll(e),!0)}}return!1}$_esc(e,t){const i=this._editor;if(e&&(i.setFocus(),t instanceof yo||t instanceof yn))return i.isName(e)?e.textContent=t.name:t instanceof yo&&(e.textContent=t.value),!0}$_left(e,t){const i=this._editor;if(!i.isEditing()&&t.isGroup())return i.collapse(t),!0}$_right(e,t){const i=this._editor;if(!i.isEditing()&&t.isGroup())return i.expand(t),!0}$_tab(e,t,i){if(e){const r=this._editor,s=r.bodyView,n=s.itemOf(e),o=!n||r.isName(e),l=r.model;let h=r.focused;if((n instanceof yo||n instanceof yn)&&this.$_commitEdit(n,e),r.isEditing()&&e.blur(),h){let c=s.rowOfItem(h);i>0?o&&h instanceof yo?e=s.getValueDom(c):(h=l.getNextVisible(h),h&&(c=s.rowOfItem(h),e=s.getNameDom(c))):i<0&&(h===r.model.root||(!o&&h instanceof yo?e=s.getNameDom(c):(h=l.getPrevVisible(h),h&&(c=s.rowOfItem(h),e=h instanceof yn?s.getNameDom(c):s.getValueDom(c)))))}else h=l.firstVisible,h&&(e=s.getNameDom(s.rowOfItem(h)));return e&&e.focus(),r.focused=h,!0}return!1}$_move(e,t,i){if(e){const r=this._editor,s=r.bodyView,n=s.itemOf(e),o=r.model;let l=r.focused;if((n instanceof yo||n instanceof yn)&&this.$_commitEdit(n,e),r.isEditing()&&e.blur(),l?i>0?l=o.getNextVisible(l):i<0&&(l=o.getPrevVisible(l)):l=o.firstVisible,(l instanceof yo||l instanceof yn)&&o.isEditable(l)){const h=s.rowOfItem(l);e=l instanceof yn?s.getNameDom(h):s.getValueDom(h),e&&e.focus(),ee.selectAll(e)}else r.setFocus();return r.focused=l,!0}return!1}$_home(){const e=this._editor.bodyView.getFirstValue();if(e)return e.focus(),!0}$_end(){const e=this._editor.bodyView.getLastValue();if(e)return e.focus(),!0}$_commitEdit(e,t){const i=this._editor;t.blur();try{return i.isName(t)?(i.model.changeName(e,t.textContent),!0):e instanceof yo&&!i.model.changeValue(e,t.textContent)?(i.invalidateLayout(),!1):!0}catch(r){return i.invalidateLayout(),i.showMessage(r),!1}}}class WC extends sr{constructor(e,t=!1){super(e),this._nameEditable=!1,this.appendDom(this._messageBox=X.createDiv(this.doc,"json-message-box hidden")),this.addElement(this._bodyView=this._createBodyView(t))}_doDispose(){this._bodyView.dispose(),super._doDispose()}get model(){return this._model}set model(e){e!==this._model&&(this._model&&this._model.removeListener(this),this._model=e,this._model&&this._model.addListener(this),this.$_modelchanged())}get nameEditable(){return this._nameEditable}set nameEditable(e){e!==this._nameEditable&&(this._nameEditable=e,this.invalidateLayout())}get focused(){return this._focused}set focused(e){if(e!==this._focused){const t=this._focused;this._focused=e,this.$_focusedChanged(t,this._focused)}}get bodyView(){return this._bodyView}set bodyView(e){e!==this._bodyView&&(this._bodyView=e,this.invalidateLayout())}getName(e){const t=this._bodyView.rowOfItem(e);return t&&this._bodyView.getNameDom(t)}getValue(e){const t=this._bodyView.rowOfItem(e);return t&&this._bodyView.getValueDom(t)}expand(e,t=!1){e=e||this.model.rootGroup,e.$_expand(!0,t)&&(this.model.$_refreshVisibles(),this.invalidateLayout())}collapse(e,t=!1){e=e||this.model.rootGroup,e.$_expand(!1,t)&&(this.model.$_refreshVisibles(),this.invalidateLayout())}expandAll(){this.expand(null,!0)}collapseAll(){this.collapse(null,!0)}isName(e){return e.classList.contains("json-field")}isValue(e){return e.classList.contains("json-value")}isEditing(){return!!this._bodyView.getEditingRow()}isEditingAt(e){return e=e||this._focused,e&&this._bodyView.getEditingItem()===e}undo(){if(this._model.undo())return this.invalidateLayout(),!0}redo(){if(this._model.redo())return this.invalidateLayout(),!0}beginEdit(e=null){return this._bodyView.beginEdit(e||this._focused)}getFocusedTag(e){let t=this._focused;if(t){let i=t.tag;for(;!(i instanceof e)&&(t=t.parent,!!t);)i=t.tag;if(i instanceof e)return i}}ignoreHovering(e){return!1}showMessage(e,t="error"){this.hideMessage(),this._messageBox.textContent=e,this._messageBox.dataset.type=t,this._messageBox.classList.remove("hidden"),this._messageTimer=setTimeout(()=>{this._messageBox.classList.add("hidden"),this._messageTimer=void 0},2*1e3)}hideMessage(){this._messageTimer?(clearTimeout(this._messageTimer),this._messageTimer=void 0):this._messageBox.classList.add("hidden")}closeCommands(){var e;(e=this._model)===null||e===void 0||e.closeCommands()}_createDefaultTool(){return new dLe(this)}_doPrepareContainer(e,t){t.className="json-root json-editor",t.oninput=i=>{this._inputHandler(i)},this.root.setStyles({display:"flex",flexDirection:"column"})}_doLayout(e){this._bodyView.measure(e.width,e.height),this._bodyView.setBounds(0,0,e.width,e.height),this._bodyView.layoutContent()}_createBodyView(e){return new il(this,e)}$_modelchanged(){this._focused=null}$_focusedChanged(e,t){t&&!t.revealed?(this._model.reveal(t),this.invalidateLayout()):this._bodyView.$_focusedChanged(e,t),this._fireFocusedChanged(t,e)}_inputHandler(e){}_fireFocusedChanged(e,t){this.fireEvent(WC.FOCUSED_CHANGED,e,t)}_fireFocusedLeave(e,t,i,r,s,n){this.fireEvent(WC.FOCUSED_LEAVE,e,t,i,r,s,n)}onJsonReset(e){this._focused=null,this.invalidateLayout()}onJsonNameChanged(e,t,i,r){this.invalidateLayout()}onJsonValueChanged(e,t,i,r){this.invalidateLayout()}onJsonItemChanged(e,t,i){this.invalidateLayout()}onJsonItemAdded(e,t,i){this.invalidateLayout()}onJsonItemsAdded(e,t,i){this.invalidateLayout()}onJsonItemRemoved(e,t,i){this.invalidateLayout()}onJsonItemCleared(e,t){this.invalidateLayout()}onJsonCommandStackChanged(e,t,i){var r;(r=this.onCommandChanged)===null||r===void 0||r.call(this,t,i)}}WC.FOCUSED_CHANGED="onJsonFocusedChanged";WC.FOCUSED_LEAVE="onJsonFocusedLeave";class uLe extends wd{constructor(e,t){super(),this._item=e,this._newValue=t,this._oldValue=e.value}_doDispose(){}get source(){return this._item}redo(e){this._item.value=this._newValue}undo(){this._item.value=this._oldValue}}class ALe extends wd{constructor(e,t,i){super(),this._model=e.json,this._parent=e,this._item=t,this._before=i}_doDispose(){this._model=this._parent=this._item=null}get source(){return this._item}redo(e){this._model.$_addItem(this._parent,this._item,this._before)}undo(){this._model.$_removeItem(this._item)}}class fLe extends wd{constructor(e){super(),this._model=e.json,this._parent=e.parent,this._item=e,this._before=this._parent.getAfter(e)}_doDispose(){this._model=this._parent=this._item=null}get source(){return this._item}redo(e){this._model.$_removeItem(this._item)}undo(){this._model.$_addItem(this._parent,this._item,this._before)}}class pLe extends wd{constructor(e){super(),this._group=e,this._items=e.items}_doDispose(){this._group=null}get source(){return this._group}redo(e){this._group.json.$_clearItems(this._group)}undo(){this._group.clear(),this._group.json.$_addItems(this._group,this._items)}}class gLe extends wd{constructor(e,t){super(),this._item=e,this._newName=t,this._oldName=e.name}_doDispose(){}get source(){return this._item}redo(e){this._item.name=this._newName}undo(){this._item.name=this._oldName}}class _Le extends wd{constructor(e,t){super(),this._parent=e.parent,this._index=this._parent.indexOf(e),this._oldItem=e,this._newItem=t}_doDispose(){this._parent=this._oldItem=this._newItem=null}get source(){return this._oldItem}redo(e){this._parent.set(this._index,this._newItem)}undo(){this._parent.set(this._index,this._oldItem)}}class Yn extends To{constructor(e,t){super(),this._editable=!0,this._appendable=!1,this._source=e,this._rootName=(t==null?void 0:t.rootName)||"",(!t||t.undoable!==!1)&&(this._commands=new uS(this)),this._appendable=t&&t.appendable,this.$_load(e)}editCommandStackChanged(e,t,i,r){this.fireEvent(Yn.COMMANDS_STACK_CHANGED,e,t,i,r)}editCommandStackDirtyChanged(e){this.fireEvent(Yn.DIRTY_CHANGED)}editCommandError(e){}get source(){return this._source}get dirty(){return this._commands.canUndo}get rootName(){return this._rootName}get root(){return this._root}get rootGroup(){return this._root instanceof yn?this._root:null}get allItems(){return this._items}get visibleItems(){return this._visibles}get firstVisible(){return this._visibles[0]}get lastVisible(){return this._visibles[this._visibles.length-1]}get editable(){return this._editable}set editable(e){e!==this._editable&&(this._editable=e,this.$_refreshVisibles())}isRoot(e){return e===this._root}load(e){this.$_load(e),this._fireReset()}saveAsString(){const e=this._root.save();return JSON.stringify(e,null,2)}expand(e=null,t=!1){if(!e&&this._root instanceof yn&&(e=this._root),e&&e.$_expand(!0,t))return this.$_refreshVisibles(),!0}collapse(e=null,t=!1){if(!e&&this._root instanceof yn&&(e=this._root),e&&e.$_expand(!1,t))return this.$_refreshVisibles(),!0}reveal(e){if(e&&!e.revealed){const t=e.getPath();for(let i=0;i<t.length-1;i++)t[i].$_expanded=!0;return!0}}findByTag(e){if(this._root instanceof yn)return this._root.findByTag(e)}getNextVisible(e){const t=Math.max(0,Math.min(this._visibles.length-1,this._visibles.indexOf(e)+1));return this._visibles[t]}getPrevVisible(e){const t=Math.max(0,Math.min(this._visibles.length-1,this._visibles.indexOf(e)-1));return this._visibles[t]}closeCommands(){this._commands.close()}clean(){this._commands.flush()}undo(){return this._commands&&this._commands.undo()}redo(){return this._commands&&this._commands.redo()}isEditable(e){return e!==this._root}insertItem(e,t,i){}addItem(e,t,i){if(e&&t&&e.canAdd(t)&&!e.contains(t))return this._commands?this._commands.execute(new ALe(e,t,i)):this.$_addItem(e,t,i),!0}canRemove(e){return e!==this._root&&e&&e.parent&&e.parent.canRemove(e)}removeItem(e){if(e!==this._root&&e&&e.parent)return this._commands?this._commands.execute(new fLe(e)):this.$_removeItem(e),!0}clearItems(e){if(e.count>0)return this._commands?this._commands.execute(new pLe(e)):this.$_clearItems(e),!0}changeName(e,t){if(e&&e.name!=t){const i=e.name;if(e.parent instanceof c1&&!e.parent.isValidName(e,t))throw this._fireNameChanged(e,i),new Error("이미 존재하는 필드 이름입니다: "+t);return this._commands?this._commands.execute(new gLe(e,t)):e.name=t,this._fireNameChanged(e,i),!0}}changeValue(e,t){if(!e)return!1;let i=e.parseValue(t),r=!1;if(e instanceof cA?(i=cA.parseArrayValue(t),r=e.valueEquals(t.split(cA.REGEX_COMMA))):r=e.valueEquals(i),e&&!r){if(e instanceof cC){const n=Number(i);if(isNaN(n))return}const s=e.value;return this._commands?this._commands.execute(new uLe(e,i)):e.value=i,this._fireValueChanged(e,s),!0}}changeType(e,t){if(!(e instanceof t)){const i=e.value;let r;if(t===Rx?r=new Rx(e.name):t===_P?r=new _P(e.name,String(i)):t===nS?r=new nS(e.name,!!i):t===cC?r=new cC(e.name,+i):t===cA&&(r=new cA(e.name,[String(i)])),r){if(this._commands)this._commands.execute(new _Le(e,r));else{const s=e.parent;s.set(s.indexOf(e),r)}return this.$_buildItems(),this._fireItemChanged(e,r),r}}return e}search(e,t){const i=[];t.caseSensitive||(e=e.toLowerCase());for(let r of this._items)if(r instanceof yo){const s=r.displayText;if(s){let n=s;t.caseSensitive||(n=n.toLowerCase()),(t.wholeWord&&n===e||!t.wholeWord&&n.indexOf(e)>=0)&&i.push({item:r,prop:r.displayText})}}return i.length>0?i:null}$_load(e){e==null?this._root=new Rx("/"):ee.isArray(e)?this._root=new d1("/",e):this._root=new c1("/",e);const t=this;Object.defineProperty(this._root,"json",{get:function(){return t}}),this.$_buildItems()}$_save(){this._source&&Object.assign(this._source,this._root.save())}$_buildItems(){this._items=[this._root],this._visibles=[this._root],this._root instanceof yn&&(this._root.collectItems(this._items,this._appendable),this._root.expanded&&this._root.collectVisibles(this._visibles))}$_refreshVisibles(){this._visibles=[this._root],this._root instanceof yn&&this._root.expanded&&this._root.collectVisibles(this._visibles)}$_addItem(e,t,i){if(e&&e.add(t,i))return this.$_buildItems(),this.$_refreshVisibles(),this._fireItemAdded(e,t),t}$_addItems(e,t){e&&e.addAll(t)>0&&(this.$_buildItems(),this.$_refreshVisibles(),this._fireItemsAdded(e,t))}$_removeItem(e){const t=e==null?void 0:e.parent;t&&t.remove(e)&&(this.$_buildItems(),this.$_refreshVisibles(),this._fireItemRemoved(t,e))}$_clearItems(e){if(e&&e.count>0){const t=e.clear();return t.forEach(i=>{let r=this._items.indexOf(i);this._items.splice(r,1)}),this.$_buildItems(),this.$_refreshVisibles(),this._fireItemCleared(e),t}}_fireReset(){this.$_save(),this.fireEvent(Yn.RESET)}_fireNameChanged(e,t){this.$_save(),this.fireEvent(Yn.NAME_CHANGED,e,e.name,t)}_fireValueChanged(e,t){this.$_save(),this.fireEvent(Yn.VALUE_CHANGED,e,e.value,t)}_fireItemChanged(e,t){this.$_save(),this.fireEvent(Yn.ITEM_CHANGED,e,t)}_fireItemAdded(e,t){this.$_save(),this.fireEvent(Yn.ITEM_ADDED,e,t)}_fireItemsAdded(e,t){this.$_save(),this.fireEvent(Yn.ITEMS_ADDED,e,t)}_fireItemRemoved(e,t){this.$_save(),this.fireEvent(Yn.ITEM_REMOVED,e,t)}_fireItemCleared(e){this.$_save(),this.fireEvent(Yn.ITEM_CLEARED,e)}}Yn.COMMANDS_STACK_CHANGED="onJsonCommandStackChanged";Yn.DIRTY_CHANGED="onJsonDirtyChanged";Yn.RESET="onJsonReset";Yn.NAME_CHANGED="onJsonNameChanged";Yn.VALUE_CHANGED="onJsonValueChanged";Yn.ITEM_CHANGED="onJsonItemChanged";Yn.ITEM_ADDED="onJsonItemAdded";Yn.ITEMS_ADDED="onJsonItemsAdded";Yn.ITEM_REMOVED="onJsonItemRemoved";Yn.ITEM_CLEARED="onJsonItemCleared";class mLe extends Yn{constructor(){super(...arguments),this.nextNameId=1}}class wLe extends Hn{constructor(e){super(e.doc,"json-menu"),this.editor=e,this._addMode=!1}_doDispose(){this.editor=null,super._doDispose()}setMenu(e,t,i){const r=this.editor.model;return this.item=e,this.dom.style.display="flex",X.setVisible(this._spanAdd,!this._addMode&&e!==r.root),X.setVisible(this._spanRemove,!this._addMode&&r.canRemove(e)),X.setVisible(this._spanClear,!this._addMode&&e instanceof yn&&e.count>0),this.move(t,i)}setAddMode(e){return e!==this._addMode&&(this._addMode=e,X.setVisible(this._addBox,e,"flex"),X.setVisible(this._spanAdd,!e),X.setVisible(this._spanRemove,!e),X.setVisible(this._spanClear,!e)),this}_initDom(e,t){function i(o,l,h){X.setData(o,"cmd",l),X.setTip(o,h)}const r={};let s,n;X.setStyles(t,{position:"absolute",display:"flex",alignItems:"center",gap:"4px",pointerEvents:"auto"}),t.appendChild(n=this._spanAdd=X.createSpan(e,"json-menu-item",r,"✚")),i(n,"+","Insert Item"),t.appendChild(n=this._spanRemove=X.createSpan(e,"json-menu-item",r,"▬")),i(n,"-","Remove Item"),t.appendChild(n=this._spanClear=X.createSpan(e,"json-menu-item",r,"X")),i(n,"x","Clear Children"),t.appendChild(s=this._addBox=X.createDiv(e,"json-menu-box",{display:"none",alignItems:"center",gap:"4px"})),s.appendChild(n=X.createSpan(e,"json-menu-item",r,"#")),i(n,"N","Insert Number"),s.appendChild(n=X.createSpan(e,"json-menu-item",r,'""')),i(n,"T","Insert Text"),s.appendChild(n=X.createSpan(e,"json-menu-item",r,"!")),i(n,"B","Insert Boolean"),s.appendChild(n=X.createSpan(e,"json-menu-item",r,"{}")),i(n,"O","Insert Object"),s.appendChild(n=X.createSpan(e,"json-menu-item",r,"[]")),i(n,"A","Insert Array")}}class yLe extends il{_hoverChanged(e,t,i){this.editor.$_hoverRow(e,t)}}class vLe extends WC{constructor(e){super(e,!0),this._menuPanel=new wLe(this)}_createBodyView(e){return new yLe(this,e)}_wheelHandler(e){this.$_hoverRow(null,null),super._wheelHandler(e)}_mouseLeaveHandler(e){this.$_hoverRow(null,null),super._mouseLeaveHandler(e)}_doClick(e){try{const t=e.target,i=this._menuPanel.item,r=this.model;let s;if(t instanceof HTMLSpanElement){switch(t.dataset.cmd){case"+":this._menuPanel.setAddMode(!0);break;case"-":this.model.removeItem(i),this.$_hoverRow(null,null);break;case"x":i instanceof yn&&r.clearItems(i),this._menuPanel.setAddMode(!1);break;case"N":s=new cC(i.parent.getNextName(r.nextNameId++),1234);break;case"T":s=new _P(i.parent.getNextName(r.nextNameId++),"값");break;case"B":s=new nS(i.parent.getNextName(r.nextNameId++),!0);break;case"O":s=new c1(i.parent.getNextName(r.nextNameId++),{name:"값"});break;case"A":s=new d1(i.parent.getNextName(r.nextNameId++),["항목"]);break}s&&(r.addItem(i.parent,s,i)&&(this.focused=s,this._menuPanel.setAddMode(!1)),this._menuPanel.setAddMode(!1),setTimeout(()=>{this.$_hoverRow(null,null),ee.focusAndSelect(this.getName(s))},0))}}catch(t){this.showMessage(t)}return super._doClick(e)}_inputHandler(e){this._menuPanel.hide()}ignoreHovering(e){if(this._menuPanel.contains(e))debugger;return this._menuPanel.contains(e)}$_getMenuPos(e){const t=this.containerDiv.getBoundingClientRect(),r=this.bodyView.getRowContent(e).getBoundingClientRect();let s=r.x-t.x+r.width+10,n=r.y-t.y-1;return{x:s,y:n}}$_hoverRow(e,t){if(this._menuPanel.setAddMode(t instanceof gP),t){const{x:i,y:r}=this.$_getMenuPos(e);this.addFeedback(this._menuPanel.setMenu(t,i,r))}else this.removeFeedback(this._menuPanel.setMenu(null,0,0))}}class CLe extends Mz{_focus(e){e instanceof HTMLElement&&e.focus(),e.target instanceof HTMLElement&&e.target.focus()}_blur(e){e instanceof HTMLElement&&e.blur(),e.target instanceof HTMLElement&&e.target.blur()}_getTableCell(e){if(e instanceof Element){let t=e;do{if(t instanceof HTMLTableCellElement)return t;t=t.parentElement}while(t)}}_row(e){return e.parentElement.rowIndex-1}_downCell(e,t,i=!0){if(this._row(e)<t-1){const s=e.parentElement,o=s.parentElement.rows[s.rowIndex].cells[e.cellIndex].firstElementChild;if(o)return i&&o.focus(),o}}_upCell(e,t=!0){if(this._row(e)>0){const r=e.parentElement,n=r.parentElement.rows[r.rowIndex-2].cells[e.cellIndex].firstElementChild;if(n)return t&&n.focus(),n}}}class bLe extends CLe{constructor(e){super(e,"rrd-simple-data-table"),this.selStart=-1,this.selLength=0}get displayInPreview(){var e;return(e=this._previewCheck)===null||e===void 0?void 0:e.checked}get editor(){return this._editor}showErrorLabel(e){this._errorLabel.style.display="block",this._errorLabel.textContent=e,setTimeout(()=>{this._errorLabel.style.display="none"},2e3)}_addEventListeners(e){e.ondragstart=t=>{}}_doInitDom(e,t){const i=X.createDiv(e,"rr-designer-simple-data-body");Object.assign(i.style,{flex:"1 1 0"}),this.addDom(i);const r=X.createDiv(e,"rr-designer-simple-data-editor");Object.assign(r.style,{width:"100%",height:"100%"}),i.appendChild(r),this._editor=this.$_prepareEditor(r)}_doRender(e){e.runInMode("embed",()=>{e.sample===void 0&&e.setSample({}),this._sample=e.sample}),this.$_buildTable(this.doc,this._sample)}$_prepareEditor(e){const t=new vLe(e);return t.nameEditable=!0,t.onCommandChanged=(i,r)=>{var s;(s=this.onSampleChanged)===null||s===void 0||s.call(this,i,r)},t.addListener({onJsonFocusedChanged:(i,r,s)=>{var n;(n=this.onRowFocus)===null||n===void 0||n.call(this,r)},onJsonFocusedLeave:(i,r,s,n)=>{const o=r;console.log("LEAVE",s,n);try{o.name!==s&&i.model.changeName(o,s),o.value!==n&&i.model.changeValue(o,n)}catch(l){i.showMessage(l)}}}),t}$_loadModel(e){const t=this._editor;let i=t.model;(!i||i.source!=e)&&(t.model&&i.removeListener(this),e?(i=t.model=e&&new mLe(e,{appendable:!0,undoable:!0,rootName:this.data.name}),i.clean(),i.addListener(this)):t.model=null),t.invalidateLayout()}$_buildTable(e,t){if(!this._editor){const i=X.createDiv(e,"rrd-simple-data-body");Object.assign(i.style,{flex:"1 1 0",height:"100%"}),this.addDom(i);const r=X.createDiv(e,"rrd-simple-data-editor");Object.assign(r.style,{width:"100%",height:"100%"}),i.appendChild(r),this._editor=this.$_prepareEditor(r)}this.$_loadModel(t)}onJsonNameChanged(e,t,i,r){const s=t.getPath().slice(1,-1).map(n=>n.name).concat(r).join(".");this.data.changeName(s,i)}onJsonValueChanged(e,t,i,r){const s=t.getPath().slice(1).map(n=>n.name).join(".");this.data.setValue(s,i)}}var Nl;(function(a){a.Fields="fields",a.Link="link",a.Sample="sample"})(Nl||(Nl={}));class ELe extends Ii{constructor(e){super(e,"rrd-band-data-header-labels"),this.addDom(this._dataNameSpan=X.createSpan(e,void 0,{paddingTop:"2px",fontSize:"13px",fontWeight:600,whiteSpace:"nowrap"})),this.addChild(new Ht(e,{svg:xe.dataPanel.dataRemove,size:"18px",hint:"Delete",style:{marginLeft:"1px"},onClick:t=>{var i;return(i=t.report)===null||i===void 0?void 0:i.removeData(this.data.name)}})),this.addChild(new Ht(e,{label:"Share",size:"18px",style:{marginLeft:"1px"},onClick:()=>{}}))}layout(e,t){this.data=e,this._dataNameSpan.textContent=e.name}_doInitStyles(e){Object.assign(e.style,{display:"flex",alignItems:"center",gap:"2px"})}}class xLe extends Ii{constructor(e){super(e,"rrd-simple-data-header-tools"),this.addChild(this._undoButton=new Ht(e,{svg:xe.undo,size:"18px",hint:"Undo",enabled:!1,style:{marginLeft:"1px"},onClick:()=>this.$_getEditor().model.undo()})),this.addChild(this._redoButton=new Ht(e,{svg:xe.redo,size:"18px",hint:"Redo",enabled:!1,style:{marginLeft:"1px"},onClick:()=>this.$_getEditor().model.redo()})),this.addChild(this._separator=ql.create(e))}_initItems(e,t){t.forEach(i=>{if(i.type==="button"){const r=new Ht(e,i);this.addChild(r)}else{const r=new ql(e,i);this.addChild(r)}})}layout(e,t){const i=this.getChildren();i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===Nl.Fields).forEach(r=>r.visible=t===Nl.Fields),i.filter(r=>(r instanceof Ht||r instanceof ql)&&r.group===Nl.Link).forEach(r=>r.visible=t===Nl.Link),X.setData(i.find(r=>r instanceof Ht&&r.tag===Nl.Fields).dom,"checked",t===Nl.Fields?"1":""),X.setData(i.find(r=>r instanceof Ht&&r.tag===Nl.Link).dom,"checked",t===Nl.Link?"1":""),this._separator.setVisible(this._redoButton.setVisible(this._undoButton.setVisible(t===Nl.Fields)))}_doInitStyles(e){super._doInitStyles(e),X.setStyles(this.dom,{height:"100%"})}$_getEditor(){let e=this.parent;for(;e&&!(e instanceof Nz);)e=e.parent;return e.dataView.editor}}let SLe=class extends Ii{constructor(e){super(e,"rrd-simple-data-header"),this.addChild(this._labelView=new ELe(e)),this.addDom(this._pathSpan=X.createSpace(e)),X.setStyles(this._pathSpan,{fontWeight:"bold",textAlign:"center",whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"}),this.addChild(this._toolView=new xLe(e))}_initToolItems(e,t){this._toolView._initItems(e,t)}get toolView(){return this._toolView}render(e,t){this._toolView.layout(e,t),this._labelView.layout(e,t)}setPath(e){this._pathSpan.textContent=e?"data."+e.getPathStr():""}};class Nz extends v4{constructor(e){super(e,"simple"),this._inited=!1,this._dataChanged=!1,this._page=Nl.Fields,this._pageChangeClickedHandler=(t,i)=>{i!==this._page&&(this._page=i,this.render())}}get dataView(){return this._dataView}get data(){return this._data}set data(e){e!==this._data&&(this._data&&(this._data.onClean=null),this._data=e,this._dataChanged=!0,this.invalidateLayout(),this._data?(this._data.onLinkChanged=(t,i)=>{this._linkView.commandStackChanged(t,i)},this._data.onClean=()=>{this._dataView.editor.closeCommands()}):this._linkView.commandStackChanged(null,null))}prepareBandFieldTableViewHandler(e){}_doInitStyles(e){super._doInitStyles(e),Object.assign(e.style,{flexDirection:"column"})}_doInitDom(e,t){this.addChild(this._headerView=new SLe(e));const i=new Ii(e,"rrd-band-data-body");i.setStyles({flex:"1 1 0",overflow:"auto"});const r=new Ii(e,"rrd-band-data-content");r.setStyles({width:"100%",height:"100%"}),r.addChild(this._linkView=new hLe(e)),r.addChild(this._dataView=new bLe(e)),this._dataView.onRowFocus=s=>{this._headerView.setPath(s)},i.addChild(r),this.addChild(i),this._dataView.onSampleChanged=(s,n)=>{var o;this._headerView.toolView._undoButton.enabled=s.canUndo,this._headerView.toolView._redoButton.enabled=s.canRedo,this.data.setDirty(),(o=this.data.provider)===null||o===void 0||o.dataChanged(this.data)}}_doRender(e,t){this._inited||(this._headerView._initToolItems(e,[{type:"button",tag:Nl.Fields,svg:xe.dataPanel.dataSchema,size:"20",hint:"Fields",onClick:this._pageChangeClickedHandler},{type:"button",tag:Nl.Link,svg:xe.dataPanel.dataLink,size:"20",hint:"Link",onClick:this._pageChangeClickedHandler}]),this._inited=!0),this._headerView.render(this.data,this._page),(this._dataView.visible=this._page===Nl.Fields)&&(this._dataView.data=this.data,this._dataView.report=this.report,this._dataView.render(this.data)),(this._linkView.visible=this._page===Nl.Link)&&(this._linkView.data=this.data,this._linkView.render(this.data)),this._dataChanged&&(this._dataChanged=!1,this._linkView.dirty=!1)}$_setSampleData(e,t){console.log(e,t);const i=this._data.sample;i[e]=t}$_removeSampleData(e){const t=this._data.sample;delete t[e]}onJsonDirtyChanged(e){this.invalidateLayout()}onJsonValueChanged(e,t,i,r){this.$_setSampleData(t.name,i)}onJsonNameChanged(e,t,i,r){this.$_removeSampleData(r),this.$_setSampleData(i,t.value)}onJsonItemChanged(e,t,i){this.$_setSampleData(t.name,i.value)}onJsonItemRemoved(e,t,i){this.$_removeSampleData(i.name)}}let ILe=class extends uy{getItemMenus(e){return this._itemMenus.forEach(t=>t.tag=e),this._itemMenus}constructor(e,t){super(e,"rrd-datapanel",t),this._itemMenus=[{type:"text",label:"Delete",icon:xe.delete,visible:(i,r)=>{const s=r.tag;return this.canDelete(s)},onClick:(i,r)=>{const s=r.tag;this.report.removeData(s.name)}},{type:"text",label:"Use",icon:xe.use,visible:(i,r)=>{const s=r.tag;return this.canUse(s)},onClick:(i,r)=>{const s=r.tag;this._listView.useDataTemplate(this.model.ctx,s),this._treeView.focusedItem=this._treeView.reportGroup}}],this._listMenus=[{type:"check",label:"List View",icon:xe.addSingle,checked:()=>this._listView.listMode,onClick:(i,r)=>{this._listView.listMode=!this._listView.listMode}},{type:"seperator"},{type:"text",label:"Undelete",icon:xe.addSingle,visible:()=>this.listView.isReport&&this.report.peekCommand()instanceof eM,onClick:(i,r)=>{this.report.undo()}},{type:"seperator",visible:()=>this.listView.isReport&&this.report.peekCommand()instanceof eM},{type:"text",label:"Add Band Data",icon:xe.addSingle,visible:()=>this.listView.isReport,onClick:(i,r)=>{mP.newBand.run(this.model.ctx)}},{type:"text",label:"Add Simple Data",icon:xe.addSingle,visible:()=>this.listView.isReport,onClick:()=>{mP.newSimple.run(this.model.ctx)}}],this.contentVisible=!1}get report(){return this._report}set report(e){var t;e!==this._report&&(this._report&&this._report.removeListener(this),this._report=e,this._report&&this._report.addListener(this),this._treeView.report=e,this._listView.report=e,this._selected=(t=this._treeView.reportGroup)!==null&&t!==void 0?t:null)}get selected(){return this._selected}get listView(){return this._listView}get treeView(){return this._treeView}refreshDataTemplate(e){this._treeView.refreshDataTemplate(e)}canDelete(e){return this._listView.isReport}canUse(e){return!this._listView.isReport}resetSize(e){super.resetSize(e),this._treeView.resetSize()}_doPrepareContent(e,t){X.setStyles(t,{display:"flex"}),t.appendChild(this._treeDiv=X.createDiv(e,"",{minWidth:Et(100),width:"200px"}));const i=new Vb(e,this._treeDiv,"left");this._treeView=new ZT(i.contentDiv),this.addElement(this._contentLayer=new Ii(e)),this._contentLayer.setStyles({flex:"1 1 auto"}),this._listView=new Iz(e,this),this._listView.onDblClick=r=>{const s=this.$_findTreeItem(r);if(s)this._treeView.focusedItem=s;else if(this.model.ctx.server){const n=r.id;if(!n)return;this.model.ctx.server.getDataTemplate(n).then(o=>{const l=o.type==="band"?new mr(o.name,o.fields,o.sample,o.sample.length,o.dataLink):new cn(o.name,o.sample,o.dataLink,o.fields.map(h=>{let c="string";return h.dataType==="bool"?c="boolean":h.dataType==="number"?c="number":c="string",{...h,dataType:c}}));this._selectedServerItem=l,this.invalidateLayout()})}},this._contentLayer.addChild(this._listView),this._simpleView=new Nz(e),this._contentLayer.addChild(this._simpleView),this._bandView=new iLe(e),this._contentLayer.addChild(this._bandView)}_doBuildModel(e,t){this._treeView.initTree(t.ctx),this._treeView.addListener(this),this._bandView.prepareBandFieldTableViewHandler(t.ctx)}_doRefreshButtons(e){}_doLayout(e){var t;const i=(t=this._selected)===null||t===void 0?void 0:t.tag,r=i==="report"||i instanceof CA;this._listView.onSelect=this.onDataSelected,this._listView.group=i,(r||i instanceof CA)&&!this._selectedServerItem?(this._listView.visible=!0,this._listView.group=i,this._simpleView.visible=this._bandView.visible=!1):this._selectedServerItem?(this._listView.group=this._selectedServerItem,this.$_makeDetailViewVisible(this._selectedServerItem)):this.$_makeDetailViewVisible(i),this._listView.visible&&this._listView.render(this._report),this.$_renderDetailView(this._listView.group)}getMenu(e){const t=this._listView.itemOf(e);if(t)return this.getItemMenus(t);if(!this._listView.headerView.containsDom(e)){if(!this._bandView.visible){if(!this._simpleView.visible)return this._listMenus}}}$_makeDetailViewVisible(e){this._listView.visible=!1,this._simpleView.visible=e instanceof cn,this._bandView.visible=e instanceof mr}$_renderDetailView(e){this._simpleView.visible?(this._simpleView.data=e,this._simpleView.report=this.report,this._simpleView.render(this._report)):this._bandView.visible&&(this._bandView.data=e,this._bandView.render(this._report))}$_findTreeItem(e){return this._treeView.model.findByTag(e)}onReportDataAdded(e,t,i,r){const s=this._listView.group;if(s){let n="";s instanceof CA||s==="report"?n="report":this._listView.group==="server"&&(n="server"),this._treeView.dataAdded(n,t,i,r)}}onReportDataRemoved(e,t){this._treeView.dataRemoved(t)}onReportDataUpdated(e,t){}onReportDataNameChanged(e,t,i){this._treeView.dataRenamed(t)}onReportDataFieldNameChanged(e,t,i,r){}onTreeFocusedChanged(e,t,i){this._listView.refreshSelected(),(this._selected=t)&&(this._selectedServerItem=null,t.source.type===Oz&&t.loadable&&this.model.ctx.server?(t.setLoadable(!1),this.model.ctx.server.getDataTemplates(t.name).then(r=>{const s=r==null?void 0:r.templates;if(!s||s.length===0)return;const n=t.tag;s.forEach(o=>{n.items.push(o)}),this.invalidateLayout()})):t.tag instanceof CA,this.invalidateLayout())}onTreeModelChanged(e){}},BLe=class extends Dr{constructor(e){super(e.doc,"rrd-about-dialog-body")}_doInitDom(e,t){t.appendChild(X.createSpan(e,null,{fontSize:"20px",marginTop:"20px"},"RealReport Web Designer")),t.appendChild(X.createSpan(e,null,null,"Application version: 1.10.9")),t.appendChild(X.createSpan(e,null,null,"©Wooritech Inc. All rights reserved."))}_doInitStyles(e){X.setStyles(e,{minWidth:"400px"})}refreshBody(e,t){}},PLe=class extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{...Th.close,name:"확인"}])}};class RLe extends Ha{constructor(e){super(e,"RealReport Designer 정보","rrd-about-dialog",{retainMode:!0})}_doInitStyles(e){this.resizeDlg(450,320)}_initBody(e){return new BLe(e)}_createBottom(e){return new PLe(e.doc,this)}}let TLe=class extends Dr{constructor(e){super(e.doc,"alert-dialog-body")}setMessage(e){this.dom.innerHTML=e}_doInitDom(e,t){}},LLe=class extends Ua{_doInitBottom(e){this._addDialogButtons(e,[Th.close])}};class DLe extends Ha{constructor(e){super(e,"RealReport Designer","alert-dialog",{retainMode:!0})}setMessage(e){return this._bodyView.setMessage(e),this}_doInitStyles(e){this.resizeDlg(550,250)}_initBody(e){return new TLe(e)}_createBottom(e){return new LLe(e.doc,this)}}let OLe=class extends Dr{constructor(e,t){super(e.doc,"rrd-confirm-dialog-body"),this._contentLabel.textContent=t}_doInitDom(e,t){this._contentLabel=X.createSpan(e,"rrd-confirm-dialog-content-label"),t.appendChild(this._contentLabel)}_doInitStyles(e){X.setStyles(e,{})}refreshBody(e,t){}},MLe=class extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{name:"Remove",onClick:(t,i)=>{i.submit(t)},className:"dialog-confirm-button"},Th.cancel])}};class E4 extends Ha{constructor(e,t,i,r){super(e,t,"rrd-confirm-dialog",i),this._setCallback(r)}_doInitStyles(e){this.resizeDlg(500,200)}_initBody(e,t){return new OLe(e,t)}_createBottom(e){return new MLe(e.doc,this)}}class NLe extends Ii{prepare(e,t){const i=t.link;return this.local=t.isLocalLink,this.addDom(this._header=this.$_createHeader(e,t)),this.addDom(this._linkContainer=this.$_createLink(e,i)),this}canPreview(){if(this.local)return!!this.fileData;{const e=this.dom.getElementsByTagName("input");for(const t of e)if(!t.value)return!1;return!0}}$_createHeader(e,t){const i=X.createDiv(e,"rrd-parms-dialog-link-header",{display:"flex",alignItems:"center",gap:"4px"}),r=X.createSpan(e,"",{cursor:"pointer"}),s=X.createSpan(e),n=X.createDiv(e,"",{flex:"1 1 auto",height:"2px",borderTop:"1px solid #ccc",marginLeft:"4px"});return r.textContent="▼",X.setBoolData(r,"collapsed",!1),r.onclick=o=>{const l=o.target,h=!X.getBoolData(l,"collapsed");X.setBoolData(l,"collapsed",h),this.$_setExpander(l,h)},s.textContent=t.name,i.appendChild(r),i.appendChild(s),i.appendChild(n),i}$_createLink(e,t){const i=X.createDiv(e);return i.style.margin="4px 2px 4px 10px",this.local?(X.setStyles(i,{display:"flex",gap:"6px",alignItems:"center",margin:"8px 16px"}),this.$_createLocal(e,i,t)):(X.setStyles(i,{display:"grid",gridTemplateColumns:"minmax(110px, 110px) 1fr",gap:"4px 8px",alignItems:"center"}),this.$_createParams(e,i,t)),i}$_createLocal(e,t,i){const r=e.createElement("input"),s=e.createElement("button"),n=e.createElement("span"),o=i.fileType||"json";let l=i.exts,h;if(!l)switch(o){case"excel":l=".xlsx";break;case"csv":l=".csv,.tsv,.txt";break;default:l=".json,.txt";break}switch(r.type="file",r.style.display="none",r.accept=l,r.onchange=()=>{const c=r.files[0];if(c){const d=new FileReader;d.onload=u=>{this.fileData=u.target.result,n.textContent=`(${c.size} bytes loaded.)`,this.parent.contentChanged()},i.fileType==="excel"?d.readAsArrayBuffer(c):d.readAsText(c,"UTF-8")}},t.appendChild(r),o){case"excel":h="Excel";break;case"csv":h="CSV";break;default:h="Json";break}X.setStyles(s,{background:"var(--rrd-primary-btn-bg)",padding:"4px 8px",color:"white",borderRadius:"5px",fontWeight:"bold"}),s.textContent=`Load ${h} File`,s.onclick=()=>{r.click()},t.appendChild(s),t.appendChild(n)}$_createParams(e,t,i){const r=function(l,h){const c=X.createSpan(e);c.textContent=l+":",X.setStyles(c,{textAlign:"right",fontWeight:"bold",whiteSpace:"nowrap",textOverflow:"ellipsis",wordBreak:"break-all"}),t.appendChild(c);const d=e.createElement("input");d.id=l,d.oninput=()=>{s.parent.contentChanged()},t.appendChild(d),h&&(d.value=h)},s=this,n=i.pathParams,o=i.params;if(n&&n.forEach(l=>{r(l[1])}),o)for(const l in o)r(l,o[l])}$_setExpander(e,t){e.textContent=t?"▶":"▼",this._linkContainer.style.display=t?"none":"grid"}}let kLe=class extends Dr{constructor(e){super(e.doc,""),this._panels=[]}prepare(e,t){return t.forEach(i=>{if(i instanceof vc&&(i.hasParams()||i.isLocalLink)){const r=new NLe(e).prepare(e,i);r.dom.id=i.name,this.addChild(r),this._panels.push(r)}}),this}canPreview(){for(const e of this._panels)if(!e.canPreview())return!1;return!0}getResult(){const e={};return this._panels.forEach(t=>{if(t.local)e[t.dom.id]=t.fileData;else{const i={},r=t.dom.getElementsByTagName("input");for(const s of r)i[s.id]=s.value;e[t.dom.id]=i}}),e}_doInitStyles(e){X.setStyles(e,{overflowY:"auto"})}},CP=class ON extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{id:ON.BOTTOM_PREVIEW_BTN_ID,name:"Preview",onClick:(t,i)=>{i.submit(t)},className:"dialog-submit-button"},{id:ON.BOTTOM_CANCEL_BTN_ID,...Th.cancel,disabled:!1}])}};CP.BOTTOM_PREVIEW_BTN_ID="params-dialog-bottom-preview";CP.BOTTOM_CANCEL_BTN_ID="params-dialog-bottom-cancel";class FLe extends Ha{constructor(e){var t;super(e,`Parameters - [${(t=e.report)===null||t===void 0?void 0:t.info.name}]`,"rrd-data-params-dialog",null),this.cancelOnClose=!0,this.submitOnEnter=!0}get bodyView(){return this._bodyView}get bottomView(){return this._bottomView}get result(){return this.bodyView.getResult()}_doInitStyles(e){this.resizeDlg(450,300)}_initBody(e){return new kLe(e).prepare(e.doc,e.report.data.getAll().filter(t=>e.report.isUsed(t)))}_createBottom(e){return new CP(e.doc,this)}_doShow(){}_bodyChanged(e){this.setDisabled(CP.BOTTOM_PREVIEW_BTN_ID,!this.bodyView.canPreview())}canSubmit(){return this.bodyView.canPreview()}}const VLe={report:{name:"Blank Report Form",type:"report"},page:{name:"reportPage",pageHeader:{name:"pageHeader",items:[{type:"rbox",name:"",right:0,itemGap:4,items:[{type:"text",name:"",text:"Date:"},{type:"text",value:"${date}",name:"",text:"Text"}]}]},reportHeader:{name:"reportHeader",items:[{type:"text",text:"Report Header",styles:{fontSize:"30px",fontWeight:"bold"}}]},reportFooter:{name:"reportFooter"},pageFooter:{name:"pageFooter",items:[{type:"rbox",name:"",right:0,itemGap:4,items:[{type:"text",value:"${page}",name:"",text:"Text"},{type:"text",name:"",text:"/",styles:{paddingLeft:"3px",paddingRight:"3px"}},{type:"text",value:"${pages}",name:"",text:"Text"}]}]},body:{name:"pageBody"}}},HLe={report:{name:"blank",type:"sheet",version:"1",description:"",paperSize:"A4",paperWidth:"210mm",paperHeight:"297mm",marginLeft:"12mm",marginRight:"12mm",marginTop:"15mm",marginBottom:"15mm"},page:{name:"excelPage",type:"sheet",sheet:{type:"sheet",colCount:20,rowCount:40,autoRowHeight:!0,rowHeight:24,sheetName:"Page 1"},body:{items:[]}},assets:{"/":[]},data:{}},ULe={report:{name:"reportRoot",type:"email",paperSize:"A4",paperWidth:"210mm",paperHeight:"297mm",marginLeft:"12mm",marginRight:"12mm",marginTop:"15mm",marginBottom:"15mm"},page:{name:"reportPage",pageHeader:{name:"pageHeader"},reportHeader:{name:"reportHeader"},reportFooter:{name:"reportFooter"},pageFooter:{name:"pageFooter"},body:{name:"pageBody"}},assets:{"/":[]},data:{}},lO={report:{name:"blank report template",report:VLe,type:mt.REPORT,data:{}},sheet:{name:"blank sheet template",report:HLe,type:mt.REPORT,data:{}},email:{name:"blank email template",report:ULe,type:mt.REPORT,data:{}}};var Df;(function(a){a.TEMPLATE_CATEGORY="category",a.REPORT_TYPE="type"})(Df||(Df={}));let kz=class MN extends Dr{constructor(e,t){super(e.doc,"rrd-new-report-dialog-body"),this._mode="stock",this._sheetViewers=[],this._dialog=t,e.server&&this.dom.getElementsByClassName(MN.CLS_INPUT_CONTAINER)[0].appendChild(this.$_createMode(e)),this._reportTypeSelect.onchange=async i=>{const r=i.target.value;await this.$_refreshCategorySelect(e,r),this.$_refreshTemplates(e,r,this._categorySelect.value)},this._categorySelect.onchange=i=>{const r=i.target;this.$_refreshTemplates(e,this._reportTypeSelect.value,r.value)},this.$_refresh(e)}isServer(e){return e.server&&this._mode==="server"}refreshBody(e,t){this.$_refresh(e)}_doInitDom(e,t){const i=this.$_createSelect(e,t,Df.REPORT_TYPE),r=this.$_createSelect(e,t,Df.TEMPLATE_CATEGORY);this.$_createInputContainer(e,t,i,r),this.$_createEmptyView(e,t),this.$_createTemplateContainer(e,t)}async $_refresh(e){var t;(t=this._radioModes)===null||t===void 0||t.forEach(i=>{i.checked=i.value===this._mode}),await this.$_refreshSelects(e),this.$_refreshTemplates(e,this._reportTypeSelect.value,this._categorySelect.value)}async $_refreshSelects(e){var t,i;this.$_prepareSelect({ctx:e,selectEl:this._reportTypeSelect,options:[{value:mt.REPORT,textContent:"리포트"},{value:mt.EMAIL,textContent:"이메일 리포트"},{value:mt.SHEET,textContent:"시트 리포트"}],defaultValue:(i=(t=e.report)===null||t===void 0?void 0:t.type)!==null&&i!==void 0?i:mt.REPORT}),await this.$_refreshCategorySelect(e,this._reportTypeSelect.value)}async $_refreshTemplates(e,t,i){const r=e.doc,s=this._dialog,n=this._templateContainer,l=await e.getReportTemplateManager(this.isServer(e)).getTemplates(t,i),h=l.length===0;n.innerHTML="",this.$_toggleEmptyView(h),h&&this.$_setDefaultTemplate(t),this._sheetViewers.length>0&&(this._sheetViewers.forEach(d=>{d&&d.dispose()}),this._sheetViewers.length=0);let c=[];this.isServer(e)&&(await Promise.all(l.map(u=>e.getReportTemplateManager(!0).getTemplate(u.id)))).forEach(u=>{c.push(u.report)}),l.forEach((d,u)=>{const A=X.createDiv(r,"rrd-new-report-dialog-template-item");if(t==="sheet"){const p=X.createDiv(r,"rrd-new-thumbnail-container",{position:"relative",width:"150px",height:"200px"}),g=X.createDiv(r,"rrd-new-dialog-preview-container",{position:"relative",width:"333%",height:"333%",overflow:"hidden",transformOrigin:"left top",scale:"0.3",pointerEvents:"none"}),_=new $F(g);this._sheetViewers.push(_);const m=this.$_createReport(this.isServer(e)?c[u]:d.report),w=this.$_createDataProvider(m);_.preview(m,w,null),p.appendChild(g),A.appendChild(p)}else{const p=X.createElement(r,"img",{width:150,height:200,src:d.thumbnail});A.appendChild(p)}A.onclick=()=>{this._templateContainer.childNodes.forEach(p=>X.setData(p,"selected","")),X.setData(A,"selected","true"),this._dialog.selectedReportTemplate=d},A.ondblclick=()=>{this._dialog.submit(e)};const f=X.createSpan(r,"rrd-new-report-dialog-template-item-label",{},d.name);A.appendChild(f),n.appendChild(A),u===0&&(X.setData(A,"selected","true"),s.selectedReportTemplate=d)})}$_createTemplateContainer(e,t){this._templateContainer=X.createDiv(e,"rrd-new-report-dialog-template-container"),t.appendChild(this._templateContainer)}$_createEmptyView(e,t){this._emptyView=X.createDiv(e,"rrd-new-report-dialog-empty",{display:"none"});const i=X.createSpan(e,"rrd-new-report-dialog-empty-label",{},"사용 가능한 템플릿이 없습니다.해당 상태에서 create 버튼을 누르시면 빈 양식으로 리포트를 생성합니다.");this._emptyView.appendChild(i),t.appendChild(this._emptyView)}$_toggleEmptyView(e){this._emptyView.style.display=e?"block":"none"}async $_refreshCategorySelect(e,t){const r=await e.getReportTemplateManager(this.isServer(e)).getCategories(this._reportTypeSelect.value);this.$_prepareSelect({ctx:e,selectEl:this._categorySelect,options:r.map(s=>({value:s,textContent:s}))}),this._categorySelect.value=r[0]}$_setDefaultTemplate(e){let t;switch(e){case mt.EMAIL:t=lO.email;break;case mt.SHEET:t=lO.sheet;break;default:t=lO.report;break}this._dialog.selectedReportTemplate=t}$_createReport(e){return new ac(!0,e)}$_createDataProvider(e){const t=new db,i=e.data.getAll(),r={};for(const s of i)(s instanceof mr||s instanceof cn)&&(r[s.name]={values:s.getValues()});return t.load(r),t}$_createInputContainer(e,t,...i){const r=X.createDiv(e,MN.CLS_INPUT_CONTAINER);i.forEach(s=>s&&r.appendChild(s)),t.appendChild(r)}$_createMode(e){var t;const i=e.doc,r=X.createDiv(i,"rrd-new-report-dialog-mode");let s=i.createElement("label"),n=i.createElement("input");return this._radioModes=[],n.id="rrd-new-report-dialog-mode-stock",n.name="mode",n.type="radio",n.value="stock",s.appendChild(n),s.appendChild(X.createSpan(i,null,null,"Stock")),r.appendChild(s),this._radioModes.push(n),s=i.createElement("label"),n=i.createElement("input"),n.id="rrd-new-report-dialog-mode-server",n.name="mode",n.type="radio",n.value="server",s.appendChild(n),s.appendChild(X.createSpan(i,null,null,"Server")),r.appendChild(s),this._radioModes.push(n),(t=this._radioModes)===null||t===void 0||t.forEach(o=>{o.checked=o.value===this._mode,o.onclick=async l=>{this._mode=l.target.value,await this.$_refreshSelects(e),this.$_refreshTemplates(e,this._reportTypeSelect.value,this._categorySelect.value)}}),r}$_createSelect(e,t,i){const r=X.createSelect(e,[]);this.$_setSelectDom(r,i);const s=X.createDiv(e,"rrd-new-report-dialog-select");return s.appendChild(X.createSpan(e,"rrd-new-report-dialog-select-label",{},this.$_getSelectLabel(i))),s.appendChild(this.$_getSelect(i)),s}$_setSelectDom(e,t){switch(t){case Df.TEMPLATE_CATEGORY:this._categorySelect=e;break;case Df.REPORT_TYPE:this._reportTypeSelect=e;break}}$_getSelectLabel(e){switch(e){case Df.TEMPLATE_CATEGORY:return"Template Category";case Df.REPORT_TYPE:return"Report Type"}}$_getSelect(e){switch(e){case Df.TEMPLATE_CATEGORY:return this._categorySelect;case Df.REPORT_TYPE:return this._reportTypeSelect}}$_prepareSelect({ctx:e,options:t,selectEl:i,defaultValue:r}){X.clear(i),t.forEach(({textContent:s,value:n})=>{const o=X.createElement(e.doc,"option");o.value=n,o.textContent=s,r===n&&(o.selected=!0),i.appendChild(o)})}};kz.CLS_INPUT_CONTAINER="rrd-new-report-dialog-input-container";let QLe=class extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{name:"Create",onClick:(t,i)=>{i.submit(t)},className:"dialog-submit-button"},Th.cancel])}};class GLe extends Ha{constructor(e,t){super(e,"New Report","rrd-new-report-dialog",t)}get bodyView(){return this._bodyView}get selectedReportTemplate(){return this._selectedReportTemplate}set selectedReportTemplate(e){this._selectedReportTemplate=e}_doInitStyles(e){this.resizeDlg(700,650,e)}_initBody(e){return new kz(e,this)}_createBottom(e){return new QLe(e.doc,this)}async _doSubmit(e){}}let x4=class QI extends Dr{get selectedReportSource(){return this._selectedReportSource}set selectedReportSource(e){this._selectedReportSource=e}get selectedReportId(){return this._selectedReportId}set selectedReportId(e){this._selectedReportId=e}get printContainer(){return this._printContainer}constructor(e){super(e.doc,"rrd-open-dialog-body"),this._currentTab="recents",this._pathList=[],this._currentDepth=0,this._currentGroup=null,this._ctx=e,this.$_refreshListSection()}hideRecents(){this.$_onTabClick("myreports"),this._tabRecents.style.display="none"}hideLastModifiedColumn(){const e=this.dom.querySelector("."+QI.headerCellLastModified);e&&(e.style.display="none")}_doInitDom(e,t){const i=document.createElement("div"),r=this.$_createTabs(),s=this.$_createSearchSection(e),n=this.$_createPathSection(),o=this.$_createListSection();i.appendChild(r),i.appendChild(s),i.appendChild(n),i.appendChild(o),i.appendChild(o),t.appendChild(i),this._rowList=o.querySelector(".rrd-open-dlg-list-content"),this._detailContainer=this.$_createDetailSection(),this._searchInput.focus()}_doInitStyles(e){X.setStyles(e,{display:"flex",gap:"24px",overflow:"auto"})}$_createTabs(){const e=document.createElement("div");return e.className="rrd-open-dlg-tabs",this._tabRecents=this.$_createTab("Recents",!0),this._tabMyReports=this.$_createTab("MyReports",!1),e.appendChild(this._tabRecents),e.appendChild(this._tabMyReports),this._tabRecents.addEventListener("click",()=>this.$_onTabClick("recents")),this._tabMyReports.addEventListener("click",()=>this.$_onTabClick("myreports")),e}$_onTabClick(e){this._currentTab!==e&&(this._currentTab=e,this.$_refreshTab(),this.$_refreshListSection())}$_refreshTab(){this._currentTab==="recents"?(this._tabRecents.dataset.active="true",this._tabMyReports.dataset.active="false"):(this._tabRecents.dataset.active="false",this._tabMyReports.dataset.active="true")}$_refreshListSection(){this.$_clearListSection();let e=this.$_getReports();e==null||e.then(t=>{this.$_setListSectionBySources(t),this._rootGroup={depth:0,group:{name:"/",children:t,type:"group"}},this._currentGroup=this._rootGroup})}$_clearListSection(){this._rowList.innerHTML=""}$_setListSectionBySources(e){for(const t of e)this._rowList.appendChild(this.$_createListRow(t))}$_getReports(){var e,t,i,r;let s;const n=this._ctx;return n.server?this._currentTab==="myreports"?s=n.server.getReports():s=n.server.getRecents(5):this._currentTab==="myreports"?s=(t=(e=n.options).getReportListCallback)===null||t===void 0?void 0:t.call(e):s=(r=(i=n.options).getRecentReportListCallback)===null||r===void 0?void 0:r.call(i),s}$_createTab(e,t){const i=document.createElement("div");i.className="rrd-open-dlg-tab-btn",t&&(i.dataset.active="true");const r=document.createElement("span");r.textContent=e;const s=document.createElement("div");return s.className="rrd-open-dlg-tab-indicator",i.appendChild(r),i.appendChild(s),i}$_createSearchSection(e){const t=document.createElement("div");t.className="rrd-open-dlg-search";const i=document.createElement("input");i.type="text",this._searchInput=i;const r=e.createElement("div"),s=Xt.createIconSvg(e,xe.search,12);r.appendChild(s),r.className="rrd-open-dlg-search-icon",t.appendChild(i),t.appendChild(r);const n=document.createElement("section");return n.className="rrd-open-dlg-control-section",n.appendChild(t),this._searchInput.addEventListener("input",()=>{this.$_onSearch()}),n}$_createPathSection(){const e=document.createElement("div");return e.className="rrd-open-dlg-path-section",this._pathSection=e,e}$_createPathSegment(e){const t=document.createElement("div");t.className="rrd-open-dlg-path-segment",t.dataset.depth=e.depth+"",t.dataset.name=e.group.name;const i=document.createElement("span");return i.innerText=e.group.name,t.appendChild(i),t.addEventListener("click",()=>{if(this._currentGroup===e)return;const r=Array.from(this._pathSection.children);for(const s of r)+s.dataset.depth>=e.depth&&this._pathSection.removeChild(s);this._pathList=this._pathList.filter(s=>s.depth<=this._currentDepth),this.$_onGroupClick(e)}),t}$_onSearch(){var e;const t=Array.from(this._rowList.children),i=this._searchInput.value;for(const r of t){const n=((e=r.querySelector(".rrd-open-dlg-row-name span"))===null||e===void 0?void 0:e.textContent).includes(i);r.style.display=n?"block":"none"}}$_createHeaderCell(e,t){const i=document.createElement("div");i.className=`rrd-open-dlg-list-header-cell ${t?QI.headerCellName:QI.headerCellLastModified}`;const r=document.createElement("span");r.textContent=e;const s=document.createElement("div");s.className="rrd-open-dlg-header-cell-icon-wrapper",s.setAttribute("data-sort-dir","asc"),s.setAttribute("data-active","false"),s.style.cssText="width: 16px; height: 16px; background: #bbb;";const n=document.createElement("div");return n.className="rrd-open-dlg-header-cell-icon-wrapper",n.setAttribute("data-sort-dir","desc"),n.setAttribute("data-active","false"),n.style.cssText="width: 16px; height: 16px; background: #bbb;",i.appendChild(r),i.appendChild(s),i.appendChild(n),i}$_createListHeader(){const e=document.createElement("div");e.className="rrd-open-dlg-list-header";const t=this.$_createHeaderCell("Name",!0),i=this.$_createHeaderCell("Last Modified",!1);return e.appendChild(t),e.appendChild(i),e}$_createListRow(e){const t=new Date(e.updatedAt),{type:i,name:r}=e,s=document.createElement("div");s.className="rrd-open-dlg-list-row-wrapper";const n=document.createElement("div");n.className="rrd-open-dlg-list-row";const o=document.createElement("div");o.className="rrd-open-dlg-list-cell rrd-open-dlg-row-name";const l=document.createElement("div"),h=Xt.createIconSvg(document,this.$_getIcon(i),12);l.appendChild(h),l.className="rrd-open-dlg-row-icon";const c=document.createElement("span");c.textContent=r,o.appendChild(l),o.appendChild(c);const d=document.createElement("div");d.className="rrd-open-dlg-list-cell rrd-open-dlg-row-last-modified";const u=document.createElement("span");if(u.textContent=this.$_formatDate(t),d.appendChild(u),n.appendChild(o),n.appendChild(d),e.id){const A=e;s.dataset.id=A.id,n.addEventListener("click",()=>this.$_onRowClick(A))}else{const A=e;n.addEventListener("click",()=>this.$_onGroupClick({depth:this._currentDepth+1,group:A}))}return s.appendChild(n),s}$_createDetailSection(){const e=document.createElement("div");e.className="rrd-open-dlg-list-detail";const t=document.createElement("div"),i=document.createElement("div");i.className="rrd-open-dlg-detail-left",this._previewContainer=document.createElement("div"),this._previewContainer.className="rrd-open-dlg-preview-container",this._previewContainer.style.pointerEvents="none",i.appendChild(this._previewContainer);const r=document.createElement("div");r.className="rrd-open-dlg-detail-right";const s=document.createElement("div");s.className="rrd-open-dlg-desc";const n=document.createElement("div");n.className="rrd-open-dlg-submit-buttons";const o=document.createElement("button");o.className="dialog-submit-button btn",o.textContent="Open";const l=document.createElement("button");return l.className="btn",l.textContent="Close",n.appendChild(o),n.appendChild(l),r.appendChild(s),r.appendChild(n),t.appendChild(i),t.appendChild(r),e.appendChild(t),l.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.$_closeDetail()}),o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.$_open()}),i.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.$_open()}),e}$_preview(e){switch(this.$_resetPreview(e),e.type){case mt.REPORT:this._printContainer.print({report:e,data:e==null?void 0:e.data,preview:!0,previewOptions:{async:!0,noIndicator:!0,endCallback:async()=>{this._printContainer.fitToPage()}}});break;case mt.SHEET:const t=e,i=this.$_createData(t);this._sheetViewer.preview(t,i,null);break}}$_resetPreview(e){switch(this._printContainer&&this._printContainer.dispose(),this._sheetViewer&&(this._sheetViewer.containerDiv.remove(),this._sheetViewer.dispose()),this._previewContainer.innerHTML="",e.type){case mt.REPORT:this._normalPreviewEl=X.createDiv(document,"rrd-open-dialog-preview-container",{position:"relative",width:"100%",height:"100%",overflow:"hidden"}),this._printContainer=new zi(this._normalPreviewEl),this._previewContainer.appendChild(this._normalPreviewEl);break;case mt.SHEET:this._sheetPreviewEl=X.createDiv(document,"rrd-open-dialog-preview-container",{position:"relative",width:"250%",height:"250%",overflow:"hidden",transform:"scale(0.4)",transformOrigin:"left top"}),this._sheetViewer=new $F(this._sheetPreviewEl),this._previewContainer.appendChild(this._sheetPreviewEl);break}}$_createData(e){const t=new db,i=e.data.getAll(),r={};for(const s of i)(s instanceof mr||s instanceof cn)&&(r[s.name]={values:s.getValues()});return t.load(r),t}$_closeDetail(){this._activeRow&&(this._activeRow.dataset.active="false",this._activeRow.removeChild(this._detailContainer),this._activeRow=null,this._selectedReportId=null,this._selectedReportSource=null)}$_open(){this.parent.submit(this._ctx)}$_onRowClick(e){const t=this._rowList.querySelector(`div[data-id="${e.id}"]`);if(t){if(this._activeRow===t){this.$_closeDetail();return}Array.from(this._rowList.children).forEach(i=>i.dataset.active="false"),t.appendChild(this._detailContainer),t.dataset.active="true",t.scrollIntoView({behavior:"smooth"}),this._activeRow=t,this._selectedReportId=e.id,this.$_loadReportSrc()}}$_onGroupClick(e){this._currentDepth===0&&this.$_appendGroupSegment(this._rootGroup),this.$_clearListSection(),this.$_setListSectionBySources(e.group.children),this.$_appendGroupSegment(e),this._currentDepth===0&&(this._pathSection.innerHTML=""),this._currentGroup=e}$_appendGroupSegment(e){this._pathList.push(e);const t=this.$_createPathSegment(e);this._pathSection.appendChild(t),this._currentDepth=e.depth}$_loadReportSrc(){var e,t;const i=this._ctx;let r;i.server?r=i.server.getReport(this._selectedReportId):r=(t=(e=i.options).getReportCallback)===null||t===void 0?void 0:t.call(e,this._selectedReportId),r==null||r.then(s=>{if(s){const n=s.source,o=ip.cloneDeep(n);this.selectedReportSource=n,o!=null&&o.pages&&Array.isArray(o.pages)&&(o.pages=[o.pages[0]]);const l=this.$_createReport(o);this.$_setSampleReportData(l==null?void 0:l.data),this.$_preview(l);const h=this._activeRow.querySelector(".rrd-open-dlg-desc");h.innerText="",s.description&&(h.innerText=s.description)}})}$_createReport(e){switch(e.report.type){case"sheet":return new ac(!0).load(e);default:return new cs(!0).load(e)}}$_setSampleReportData(e){e.getAll().forEach(t=>{if(t instanceof mr){const i=t.getFieldSample();t.setValues(i)}})}$_getIcon(e){switch(e){case"sheet":return xe.common.sheet;case"group":return xe.common.folder;default:return xe.common.folderReport}}$_formatDate(e){if(!e||Number.isNaN(e.getFullYear()))return"";const t=(h,c)=>String(h).padStart(c,"0"),i=e.getFullYear(),r=t(e.getMonth()+1,2),s=t(e.getDate(),2),n=t(e.getHours(),2),o=t(e.getMinutes(),2),l=t(e.getSeconds(),2);return`${i}.${r}.${s} ${n}:${o}:${l}`}$_createListSection(){const e=document.createElement("section");e.className="rrd-open-dlg-list-section";const t=this.$_createListHeader(),i=document.createElement("div");return i.className="rrd-open-dlg-list-content",e.appendChild(t),e.appendChild(i),e}};x4.headerCellName="rrd-open-dlg-header-cell-name";x4.headerCellLastModified="rrd-open-dlg-header-cell-last-modified";let $Le=class extends Ua{_doInitBottom(e){}};class WLe extends Ha{constructor(e){super(e,"Open Report","open-dialog",null)}get bodyView(){return this._bodyView}get bottomView(){return this._bottomView}hideRecents(){this.bodyView.hideRecents()}hideLastModifiedColumn(){this.bodyView.hideLastModifiedColumn()}_doInitStyles(e){X.setStyles(e,{minWidth:"760px",minHeight:"500px",width:"880px",height:"750px"})}_initBody(e){return new x4(e)}_createBottom(e){return new $Le(e.doc,this)}async _doSubmit(e){}}let zLe=class extends Dr{constructor(e){super(e.doc,"rrd-save-dialog-body")}_doInitDom(e,t){const i={alignSelf:"center",textAlign:"right"};let r=e.createElement("label"),s=this.edtName=e.createElement("input");X.setStyles(r,i).textContent="Name:",s.required=!0,s.placeholder="리포트 이름을 반드시 지정해야 합니다.",s.oninput=()=>{this.contentChanged()},t.appendChild(r),t.appendChild(s),r=e.createElement("label"),s=this.edtVersion=e.createElement("input"),X.setStyles(r,i).textContent="Version:",s.value="1",t.appendChild(r),t.appendChild(s),r=e.createElement("label");const n=this.edtDescription=e.createElement("textarea");X.setStyles(r,{textAlign:"right",marginTop:"2px"}).textContent="Description:",t.appendChild(r),t.appendChild(n)}_doInitStyles(e){X.setStyles(e,{display:"grid",gridTemplateColumns:"minmax(60px, auto) 1fr",gridTemplateRows:"repeat(2, auto) 1fr",columnGap:"10px",rowGap:"8px"})}},bP=class NN extends Ua{_doInitBottom(e){this._addDialogButtons(e,[{id:NN.BOTTOM_SAVE_BTN_ID,name:"Save",onClick:(t,i)=>{i.submit(t)},className:"dialog-submit-button",disabled:!0},{id:NN.BOTTOM_CANCEL_BTN_ID,...Th.cancel,disabled:!1}])}};bP.BOTTOM_SAVE_BTN_ID="open-dlg-bottom-open";bP.BOTTOM_CANCEL_BTN_ID="open-dlg-bottom-cancel";class KLe extends Ha{constructor(e){super(e,"Save Report","save-dialog",null)}get bodyView(){return this._bodyView}get bottomView(){return this._bottomView}get result(){const e=this.bodyView;return{name:e.edtName.value,version:e.edtVersion.value,description:e.edtDescription.value}}_doInitStyles(e){this.resizeDlg(600,400)}_initBody(e){return new zLe(e)}_createBottom(e){return new bP(e.doc,this)}_doShow(){this.focusInput(this.bodyView.edtName)}_bodyChanged(e){this.setDisabled(bP.BOTTOM_SAVE_BTN_ID,!this.bodyView.edtName.value)}}var Fz={exports:{}};(function(a,e){(function(){var t="ace",i=function(){return this}();!i&&typeof window<"u"&&(i=window);var r=function(c,d,u){if(typeof c!="string"){r.original?r.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(u=d),r.modules[c]||(r.payloads[c]=u,r.modules[c]=null)};r.modules={},r.payloads={};var s=function(c,d,u){if(typeof d=="string"){var A=l(c,d);if(A!=null)return u&&u(),A}else if(Object.prototype.toString.call(d)==="[object Array]"){for(var f=[],p=0,g=d.length;p<g;++p){var _=l(c,d[p]);if(_==null&&n.original)return;f.push(_)}return u&&u.apply(null,f)||!0}},n=function(c,d){var u=s("",c,d);return u==null&&n.original?n.original.apply(this,arguments):u},o=function(c,d){if(d.indexOf("!")!==-1){var u=d.split("!");return o(c,u[0])+"!"+o(c,u[1])}if(d.charAt(0)=="."){var A=c.split("/").slice(0,-1).join("/");for(d=A+"/"+d;d.indexOf(".")!==-1&&f!=d;){var f=d;d=d.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return d},l=function(c,d){d=o(c,d);var u=r.modules[d];if(!u){if(u=r.payloads[d],typeof u=="function"){var A={},f={id:d,uri:"",exports:A,packaged:!0},p=function(_,m){return s(d,_,m)},g=u(p,A,f);A=g||f.exports,r.modules[d]=A,delete r.payloads[d]}u=r.modules[d]=A||u}return u};function h(c){var d=i;i[c]||(i[c]={}),d=i[c],(!d.define||!d.define.packaged)&&(r.original=d.define,d.define=r,d.define.packaged=!0),(!d.require||!d.require.packaged)&&(n.original=d.require,d.require=n,d.require.packaged=!0)}h(t)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(t,i,r){function s(n,o,l){Object.defineProperty(n,o,{value:l,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||s(String.prototype,"startsWith",function(n,o){return o=o||0,this.lastIndexOf(n,o)===o}),String.prototype.endsWith||s(String.prototype,"endsWith",function(n,o){var l=this;(o===void 0||o>l.length)&&(o=l.length),o-=n.length;var h=l.indexOf(n,o);return h!==-1&&h===o}),String.prototype.repeat||s(String.prototype,"repeat",function(n){for(var o="",l=this;n>0;)n&1&&(o+=l),(n>>=1)&&(l+=l);return o}),String.prototype.includes||s(String.prototype,"includes",function(n,o){return this.indexOf(n,o)!=-1}),Object.assign||(Object.assign=function(n){if(n==null)throw new TypeError("Cannot convert undefined or null to object");for(var o=Object(n),l=1;l<arguments.length;l++){var h=arguments[l];h!=null&&Object.keys(h).forEach(function(c){o[c]=h[c]})}return o}),Object.values||(Object.values=function(n){return Object.keys(n).map(function(o){return n[o]})}),Array.prototype.find||s(Array.prototype,"find",function(n){for(var o=this.length,l=arguments[1],h=0;h<o;h++){var c=this[h];if(n.call(l,c,h,this))return c}}),Array.prototype.findIndex||s(Array.prototype,"findIndex",function(n){for(var o=this.length,l=arguments[1],h=0;h<o;h++){var c=this[h];if(n.call(l,c,h,this))return h}}),Array.prototype.includes||s(Array.prototype,"includes",function(n,o){return this.indexOf(n,o)!=-1}),Array.prototype.fill||s(Array.prototype,"fill",function(n){for(var o=this,l=o.length>>>0,h=arguments[1],c=h>>0,d=c<0?Math.max(l+c,0):Math.min(c,l),u=arguments[2],A=u===void 0?l:u>>0,f=A<0?Math.max(l+A,0):Math.min(A,l);d<f;)o[d]=n,d++;return o}),Array.of||s(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(t,i,r){t("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(t,i,r){i.deepCopy=function s(n){if(typeof n!="object"||!n)return n;var o;if(Array.isArray(n)){o=[];for(var l=0;l<n.length;l++)o[l]=s(n[l]);return o}if(Object.prototype.toString.call(n)!=="[object Object]")return n;o={};for(var l in n)o[l]=s(n[l]);return o}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(t,i,r){i.last=function(o){return o[o.length-1]},i.stringReverse=function(o){return o.split("").reverse().join("")},i.stringRepeat=function(o,l){for(var h="";l>0;)l&1&&(h+=o),(l>>=1)&&(o+=o);return h};var s=/^\s\s*/,n=/\s\s*$/;i.stringTrimLeft=function(o){return o.replace(s,"")},i.stringTrimRight=function(o){return o.replace(n,"")},i.copyObject=function(o){var l={};for(var h in o)l[h]=o[h];return l},i.copyArray=function(o){for(var l=[],h=0,c=o.length;h<c;h++)o[h]&&typeof o[h]=="object"?l[h]=this.copyObject(o[h]):l[h]=o[h];return l},i.deepCopy=t("./deep_copy").deepCopy,i.arrayToMap=function(o){for(var l={},h=0;h<o.length;h++)l[o[h]]=1;return l},i.createMap=function(o){var l=Object.create(null);for(var h in o)l[h]=o[h];return l},i.arrayRemove=function(o,l){for(var h=0;h<=o.length;h++)l===o[h]&&o.splice(h,1)},i.escapeRegExp=function(o){return o.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},i.escapeHTML=function(o){return(""+o).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},i.getMatchOffsets=function(o,l){var h=[];return o.replace(l,function(c){h.push({offset:arguments[arguments.length-2],length:c.length})}),h},i.deferredCall=function(o){var l=null,h=function(){l=null,o()},c=function(d){return c.cancel(),l=setTimeout(h,d||0),c};return c.schedule=c,c.call=function(){return this.cancel(),o(),c},c.cancel=function(){return clearTimeout(l),l=null,c},c.isPending=function(){return l},c},i.delayedCall=function(o,l){var h=null,c=function(){h=null,o()},d=function(u){h==null&&(h=setTimeout(c,u||l))};return d.delay=function(u){h&&clearTimeout(h),h=setTimeout(c,u||l)},d.schedule=d,d.call=function(){this.cancel(),o()},d.cancel=function(){h&&clearTimeout(h),h=null},d.isPending=function(){return h},d},i.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},i.skipEmptyMatch=function(o,l,h){return h&&o.codePointAt(l)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(t,i,r){i.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},i.getOS=function(){return i.isMac?i.OS.MAC:i.isLinux?i.OS.LINUX:i.OS.WINDOWS};var s=typeof navigator=="object"?navigator:{},n=(/mac|win|linux/i.exec(s.platform)||["other"])[0].toLowerCase(),o=s.userAgent||"",l=s.appName||"";i.isWin=n=="win",i.isMac=n=="mac",i.isLinux=n=="linux",i.isIE=l=="Microsoft Internet Explorer"||l.indexOf("MSAppHost")>=0?parseFloat((o.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((o.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),i.isOldIE=i.isIE&&i.isIE<9,i.isGecko=i.isMozilla=o.match(/ Gecko\/\d+/),i.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",i.isWebKit=parseFloat(o.split("WebKit/")[1])||void 0,i.isChrome=parseFloat(o.split(" Chrome/")[1])||void 0,i.isSafari=parseFloat(o.split(" Safari/")[1])&&!i.isChrome||void 0,i.isEdge=parseFloat(o.split(" Edge/")[1])||void 0,i.isAIR=o.indexOf("AdobeAIR")>=0,i.isAndroid=o.indexOf("Android")>=0,i.isChromeOS=o.indexOf(" CrOS ")>=0,i.isIOS=/iPad|iPhone|iPod/.test(o)&&!window.MSStream,i.isIOS&&(i.isMac=!0),i.isMobile=i.isIOS||i.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(t,i,r){var s=t("./useragent"),n="http://www.w3.org/1999/xhtml";i.buildDom=function u(A,f,p){if(typeof A=="string"&&A){var g=document.createTextNode(A);return f&&f.appendChild(g),g}if(!Array.isArray(A))return A&&A.appendChild&&f&&f.appendChild(A),A;if(typeof A[0]!="string"||!A[0]){for(var _=[],m=0;m<A.length;m++){var w=u(A[m],f,p);w&&_.push(w)}return _}var y=document.createElement(A[0]),v=A[1],C=1;v&&typeof v=="object"&&!Array.isArray(v)&&(C=2);for(var m=C;m<A.length;m++)u(A[m],y,p);return C==2&&Object.keys(v).forEach(function(E){var P=v[E];E==="class"?y.className=Array.isArray(P)?P.join(" "):P:typeof P=="function"||E=="value"||E[0]=="$"?y[E]=P:E==="ref"?p&&(p[P]=y):E==="style"?typeof P=="string"&&(y.style.cssText=P):P!=null&&y.setAttribute(E,P)}),f&&f.appendChild(y),y},i.getDocumentHead=function(u){return u||(u=document),u.head||u.getElementsByTagName("head")[0]||u.documentElement},i.createElement=function(u,A){return document.createElementNS?document.createElementNS(A||n,u):document.createElement(u)},i.removeChildren=function(u){u.innerHTML=""},i.createTextNode=function(u,A){var f=A?A.ownerDocument:document;return f.createTextNode(u)},i.createFragment=function(u){var A=u?u.ownerDocument:document;return A.createDocumentFragment()},i.hasCssClass=function(u,A){var f=(u.className+"").split(/\s+/g);return f.indexOf(A)!==-1},i.addCssClass=function(u,A){i.hasCssClass(u,A)||(u.className+=" "+A)},i.removeCssClass=function(u,A){for(var f=u.className.split(/\s+/g);;){var p=f.indexOf(A);if(p==-1)break;f.splice(p,1)}u.className=f.join(" ")},i.toggleCssClass=function(u,A){for(var f=u.className.split(/\s+/g),p=!0;;){var g=f.indexOf(A);if(g==-1)break;p=!1,f.splice(g,1)}return p&&f.push(A),u.className=f.join(" "),p},i.setCssClass=function(u,A,f){f?i.addCssClass(u,A):i.removeCssClass(u,A)},i.hasCssString=function(u,A){var f=0,p;if(A=A||document,p=A.querySelectorAll("style")){for(;f<p.length;)if(p[f++].id===u)return!0}},i.removeElementById=function(u,A){A=A||document,A.getElementById(u)&&A.getElementById(u).remove()};var o,l=[];i.useStrictCSP=function(u){o=u,u==!1?h():l||(l=[])};function h(){var u=l;l=null,u&&u.forEach(function(A){c(A[0],A[1])})}function c(u,A,f){if(!(typeof document>"u")){if(l){if(f)h();else if(f===!1)return l.push([u,A])}if(!o){var p=f;!f||!f.getRootNode?p=document:(p=f.getRootNode(),(!p||p==f)&&(p=document));var g=p.ownerDocument||p;if(A&&i.hasCssString(A,p))return null;A&&(u+=`
|
|
3208
3208
|
/*# sourceURL=ace/css/`+A+" */");var _=i.createElement("style");_.appendChild(g.createTextNode(u)),A&&(_.id=A),p==g&&(p=i.getDocumentHead(g)),p.insertBefore(_,p.firstChild)}}}if(i.importCssString=c,i.importCssStylsheet=function(u,A){i.buildDom(["link",{rel:"stylesheet",href:u}],i.getDocumentHead(A))},i.scrollbarWidth=function(u){var A=i.createElement("ace_inner");A.style.width="100%",A.style.minWidth="0px",A.style.height="200px",A.style.display="block";var f=i.createElement("ace_outer"),p=f.style;p.position="absolute",p.left="-10000px",p.overflow="hidden",p.width="200px",p.minWidth="0px",p.height="150px",p.display="block",f.appendChild(A);var g=u&&u.documentElement||document&&document.documentElement;if(!g)return 0;g.appendChild(f);var _=A.offsetWidth;p.overflow="scroll";var m=A.offsetWidth;return _===m&&(m=f.clientWidth),g.removeChild(f),_-m},i.computedStyle=function(u,A){return window.getComputedStyle(u,"")||{}},i.setStyle=function(u,A,f){u[A]!==f&&(u[A]=f)},i.HAS_CSS_ANIMATION=!1,i.HAS_CSS_TRANSFORMS=!1,i.HI_DPI=s.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,s.isChromeOS&&(i.HI_DPI=!1),typeof document<"u"){var d=document.createElement("div");i.HI_DPI&&d.style.transform!==void 0&&(i.HAS_CSS_TRANSFORMS=!0),!s.isEdge&&typeof d.style.animationName<"u"&&(i.HAS_CSS_ANIMATION=!0),d=null}i.HAS_CSS_TRANSFORMS?i.translate=function(u,A,f){u.style.transform="translate("+Math.round(A)+"px, "+Math.round(f)+"px)"}:i.translate=function(u,A,f){u.style.top=Math.round(f)+"px",u.style.left=Math.round(A)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(t,i,r){/*
|
|
3209
3209
|
* based on code from:
|
|
3210
3210
|
*
|