pixel-react-excel-sheet 1.0.47 → 1.0.48

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.
package/lib/index.cjs CHANGED
@@ -32,7 +32,7 @@ object-assign
32
32
  *
33
33
  * This source code is licensed under the MIT license found in the
34
34
  * LICENSE file in the root directory of this source tree.
35
- */function Du(){return yu||(yu=1,function(e){"production"!==process.env.NODE_ENV&&function(){var t,n,r,o,A;if("undefined"==typeof window||"function"!=typeof MessageChannel){var i=null,a=null,l=function(){if(null!==i)try{var t=e.unstable_now();i(!0,t),i=null}catch(e){throw setTimeout(l,0),e}},c=Date.now();e.unstable_now=function(){return Date.now()-c},t=function(e){null!==i?setTimeout(t,0,e):(i=e,setTimeout(l,0))},n=function(e,t){a=setTimeout(e,t)},r=function(){clearTimeout(a)},o=function(){return!1},A=e.unstable_forceFrameRate=function(){}}else{var s=window.performance,f=window.Date,d=window.setTimeout,u=window.clearTimeout;if("undefined"!=typeof console){var C=window.requestAnimationFrame,p=window.cancelAnimationFrame;"function"!=typeof C&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof p&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof s&&"function"==typeof s.now)e.unstable_now=function(){return s.now()};else{var g=f.now();e.unstable_now=function(){return f.now()-g}}var h=!1,m=null,E=-1,b=5,w=0;o=function(){return e.unstable_now()>=w},A=function(){},e.unstable_forceFrameRate=function(e){e<0||e>125?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):b=e>0?Math.floor(1e3/e):5};var v=new MessageChannel,B=v.port2;v.port1.onmessage=function(){if(null!==m){var t=e.unstable_now();w=t+b;try{m(!0,t)?B.postMessage(null):(h=!1,m=null)}catch(e){throw B.postMessage(null),e}}else h=!1},t=function(e){m=e,h||(h=!0,B.postMessage(null))},n=function(t,n){E=d((function(){t(e.unstable_now())}),n)},r=function(){u(E),E=-1}}function L(e,t){var n=e.length;e.push(t),function(e,t,n){var r=n;for(;;){var o=r-1>>>1,A=e[o];if(!(void 0!==A&&y(A,t)>0))return;e[o]=t,e[r]=A,r=o}}(e,t,n)}function M(e){var t=e[0];return void 0===t?null:t}function I(e){var t=e[0];if(void 0!==t){var n=e.pop();return n!==t&&(e[0]=n,function(e,t,n){var r=n,o=e.length;for(;r<o;){var A=2*(r+1)-1,i=e[A],a=A+1,l=e[a];if(void 0!==i&&y(i,t)<0)void 0!==l&&y(l,i)<0?(e[r]=l,e[a]=t,r=a):(e[r]=i,e[A]=t,r=A);else{if(!(void 0!==l&&y(l,t)<0))return;e[r]=l,e[a]=t,r=a}}}(e,n,0)),t}return null}function y(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var x=0,Q=0,D="function"==typeof SharedArrayBuffer?new SharedArrayBuffer(4*Int32Array.BYTES_PER_ELEMENT):"function"==typeof ArrayBuffer?new ArrayBuffer(4*Int32Array.BYTES_PER_ELEMENT):null,H=null!==D?new Int32Array(D):[];H[0]=0,H[3]=0,H[1]=0;var Z=0,k=null,V=null,j=0;function N(e){if(null!==V){var t=j;if((j+=e.length)+1>Z){if((Z*=2)>524288)return console.error("Scheduler Profiling: Event log exceeded maximum size. Don't forget to call `stopLoggingProfilingEvents()`."),void z();var n=new Int32Array(4*Z);n.set(V),k=n.buffer,V=n}V.set(e,t)}}function z(){var e=k;return Z=0,k=null,V=null,j=0,e}function O(e,t){H[3]++,null!==V&&N([1,1e3*t,e.id,e.priorityLevel])}function P(e,t){H[0]=0,H[1]=0,H[3]--,null!==V&&N([2,1e3*t,e.id])}function S(e,t){x++,H[0]=e.priorityLevel,H[1]=e.id,H[2]=x,null!==V&&N([5,1e3*t,e.id,x])}function F(e,t){H[0]=0,H[1]=0,H[2]=0,null!==V&&N([6,1e3*t,e.id,x])}var T=[],R=[],G=1,X=null,Y=3,K=!1,U=!1,W=!1;function q(e){for(var t=M(R);null!==t;){if(null===t.callback)I(R);else{if(!(t.startTime<=e))return;I(R),t.sortIndex=t.expirationTime,L(T,t),O(t,e),t.isQueued=!0}t=M(R)}}function J(e){if(W=!1,q(e),!U)if(null!==M(T))U=!0,t(_);else{var r=M(R);null!==r&&n(J,r.startTime-e)}}function _(t,A){var i;i=A,null!==V&&N([8,1e3*i,Q]),U=!1,W&&(W=!1,r()),K=!0;var a=Y;try{try{return function(t,r){var A=r;q(A),X=M(T);for(;null!==X&&(!(X.expirationTime>A)||t&&!o());){var i=X.callback;if(null!==i){X.callback=null,Y=X.priorityLevel;var a=X.expirationTime<=A;S(X,A);var l=i(a);A=e.unstable_now(),"function"==typeof l?(X.callback=l,F(X,A)):(P(X,A),X.isQueued=!1,X===M(T)&&I(T)),q(A)}else I(T);X=M(T)}if(null!==X)return!0;var c=M(R);return null!==c&&n(J,c.startTime-A),!1}(t,A)}catch(t){if(null!==X){var l=e.unstable_now();!function(e,t){H[0]=0,H[1]=0,H[3]--,null!==V&&N([3,1e3*t,e.id])}(X,l),X.isQueued=!1}throw t}}finally{X=null,Y=a,K=!1,function(e){Q++,null!==V&&N([7,1e3*e,Q])}(e.unstable_now())}}function $(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var ee=A,te={startLoggingProfilingEvents:function(){Z=131072,k=new ArrayBuffer(4*Z),V=new Int32Array(k),j=0},stopLoggingProfilingEvents:z,sharedProfilingBuffer:D};e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=te,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(t){t.isQueued&&(!function(e,t){H[3]--,null!==V&&N([4,1e3*t,e.id])}(t,e.unstable_now()),t.isQueued=!1),t.callback=null},e.unstable_continueExecution=function(){U||K||(U=!0,t(_))},e.unstable_getCurrentPriorityLevel=function(){return Y},e.unstable_getFirstCallbackNode=function(){return M(T)},e.unstable_next=function(e){var t;switch(Y){case 1:case 2:case 3:t=3;break;default:t=Y}var n=Y;Y=t;try{return e()}finally{Y=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=ee,e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Y;Y=e;try{return t()}finally{Y=n}},e.unstable_scheduleCallback=function(o,A,i){var a,l,c=e.unstable_now();if("object"==typeof i&&null!==i){var s=i.delay;a="number"==typeof s&&s>0?c+s:c,l="number"==typeof i.timeout?i.timeout:$(o)}else l=$(o),a=c;var f=a+l,d={id:G++,callback:A,priorityLevel:o,startTime:a,expirationTime:f,sortIndex:-1,isQueued:!1};return a>c?(d.sortIndex=a,L(R,d),null===M(T)&&d===M(R)&&(W?r():W=!0,n(J,a-c))):(d.sortIndex=f,L(T,d),O(d,c),d.isQueued=!0,U||K||(U=!0,t(_))),d},e.unstable_shouldYield=function(){var t=e.unstable_now();q(t);var n=M(T);return n!==X&&null!==X&&null!==n&&null!==n.callback&&n.startTime<=t&&n.expirationTime<X.expirationTime||o()},e.unstable_wrapCallback=function(e){var t=Y;return function(){var n=Y;Y=t;try{return e.apply(this,arguments)}finally{Y=n}}}}()}(Qu)),Qu}var Hu=(xu||(xu=1,"production"===process.env.NODE_ENV?Mu.exports=(Lu||(Lu=1,function(e){var t,n,r,o,A;if("undefined"==typeof window||"function"!=typeof MessageChannel){var i=null,a=null,l=function(){if(null!==i)try{var t=e.unstable_now();i(!0,t),i=null}catch(e){throw setTimeout(l,0),e}},c=Date.now();e.unstable_now=function(){return Date.now()-c},t=function(e){null!==i?setTimeout(t,0,e):(i=e,setTimeout(l,0))},n=function(e,t){a=setTimeout(e,t)},r=function(){clearTimeout(a)},o=function(){return!1},A=e.unstable_forceFrameRate=function(){}}else{var s=window.performance,f=window.Date,d=window.setTimeout,u=window.clearTimeout;if("undefined"!=typeof console){var C=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof C&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof s&&"function"==typeof s.now)e.unstable_now=function(){return s.now()};else{var p=f.now();e.unstable_now=function(){return f.now()-p}}var g=!1,h=null,m=-1,E=5,b=0;o=function(){return e.unstable_now()>=b},A=function(){},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):E=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,v=w.port2;w.port1.onmessage=function(){if(null!==h){var t=e.unstable_now();b=t+E;try{h(!0,t)?v.postMessage(null):(g=!1,h=null)}catch(e){throw v.postMessage(null),e}}else g=!1},t=function(e){h=e,g||(g=!0,v.postMessage(null))},n=function(t,n){m=d((function(){t(e.unstable_now())}),n)},r=function(){u(m),m=-1}}function B(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,o=e[r];if(!(void 0!==o&&0<I(o,t)))break e;e[r]=t,e[n]=o,n=r}}function L(e){return void 0===(e=e[0])?null:e}function M(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length;r<o;){var A=2*(r+1)-1,i=e[A],a=A+1,l=e[a];if(void 0!==i&&0>I(i,n))void 0!==l&&0>I(l,i)?(e[r]=l,e[a]=n,r=a):(e[r]=i,e[A]=n,r=A);else{if(!(void 0!==l&&0>I(l,n)))break e;e[r]=l,e[a]=n,r=a}}}return t}return null}function I(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var y=[],x=[],Q=1,D=null,H=3,Z=!1,k=!1,V=!1;function j(e){for(var t=L(x);null!==t;){if(null===t.callback)M(x);else{if(!(t.startTime<=e))break;M(x),t.sortIndex=t.expirationTime,B(y,t)}t=L(x)}}function N(e){if(V=!1,j(e),!k)if(null!==L(y))k=!0,t(z);else{var r=L(x);null!==r&&n(N,r.startTime-e)}}function z(t,A){k=!1,V&&(V=!1,r()),Z=!0;var i=H;try{for(j(A),D=L(y);null!==D&&(!(D.expirationTime>A)||t&&!o());){var a=D.callback;if(null!==a){D.callback=null,H=D.priorityLevel;var l=a(D.expirationTime<=A);A=e.unstable_now(),"function"==typeof l?D.callback=l:D===L(y)&&M(y),j(A)}else M(y);D=L(y)}if(null!==D)var c=!0;else{var s=L(x);null!==s&&n(N,s.startTime-A),c=!1}return c}finally{D=null,H=i,Z=!1}}function O(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var P=A;e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){k||Z||(k=!0,t(z))},e.unstable_getCurrentPriorityLevel=function(){return H},e.unstable_getFirstCallbackNode=function(){return L(y)},e.unstable_next=function(e){switch(H){case 1:case 2:case 3:var t=3;break;default:t=H}var n=H;H=t;try{return e()}finally{H=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=P,e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=H;H=e;try{return t()}finally{H=n}},e.unstable_scheduleCallback=function(o,A,i){var a=e.unstable_now();if("object"==typeof i&&null!==i){var l=i.delay;l="number"==typeof l&&0<l?a+l:a,i="number"==typeof i.timeout?i.timeout:O(o)}else i=O(o),l=a;return o={id:Q++,callback:A,priorityLevel:o,startTime:l,expirationTime:i=l+i,sortIndex:-1},l>a?(o.sortIndex=l,B(x,o),null===L(y)&&o===L(x)&&(V?r():V=!0,n(N,l-a))):(o.sortIndex=i,B(y,o),k||Z||(k=!0,t(z))),o},e.unstable_shouldYield=function(){var t=e.unstable_now();j(t);var n=L(y);return n!==D&&null!==D&&null!==n&&null!==n.callback&&n.startTime<=t&&n.expirationTime<D.expirationTime||o()},e.unstable_wrapCallback=function(e){var t=H;return function(){var n=H;H=t;try{return e.apply(this,arguments)}finally{H=n}}}}(Iu)),Iu):Mu.exports=Du()),Mu.exports);const Zu=Symbol(),ku=Symbol(),Vu="undefined"==typeof window||/ServerSideRendering/.test(window.navigator&&window.navigator.userAgent)?t.useEffect:t.useLayoutEffect,ju=Hu.unstable_runWithPriority?e=>{try{Hu.unstable_runWithPriority(Hu.unstable_NormalPriority,e)}catch(t){if("Not implemented."!==t.message)throw t;e()}}:e=>e();function Nu(e,n){const r=t.useContext(e)[Zu];if("object"==typeof process&&"production"!==process.env.NODE_ENV&&!r)throw new Error("useContextSelector requires special context");const{v:{current:o},n:{current:A},l:i}=r,a=n(o),[l,c]=t.useReducer(((e,t)=>{if(!t)return[o,a];if("p"in t)throw t.p;if(t.n===A)return Object.is(e[1],a)?e:[o,a];try{if("v"in t){if(Object.is(e[0],t.v))return e;const r=n(t.v);return Object.is(e[1],r)?e:[t.v,r]}}catch(e){}return[...e]}),[o,a]);return Object.is(l[1],a)||c(),Vu((()=>(i.add(c),()=>{i.delete(c)})),[i]),l[1]}const zu=function(e){const n=t.createContext({[Zu]:{v:{current:e},n:{current:-1},l:new Set,u:e=>e()}});var r;return n[ku]=n.Provider,n.Provider=(r=n.Provider,({value:e,children:n})=>{const o=t.useRef(e),A=t.useRef(0),[i,a]=t.useState(null);i&&(i(e),a(null));const l=t.useRef();if(!l.current){const e=new Set,t=(t,n)=>{A.current+=1;const r={n:A.current};(null==n?void 0:n.suspense)&&(r.n*=-1,r.p=new Promise((e=>{a((()=>t=>{r.v=t,delete r.p,e(t)}))}))),e.forEach((e=>e(r))),t()};l.current={[Zu]:{v:o,n:A,l:e,u:t}}}return Vu((()=>{o.current=e,A.current+=1,ju((()=>{l.current[Zu].l.forEach((t=>{t({n:A.current,v:e})}))}))}),[e]),t.createElement(r,{value:l.current},n)}),delete n.Consumer,n}([vu,()=>{}]),Ou=({children:t,columns:n,hideColumnIndicators:r})=>{const o=Sd(n+(r?0:1)).map((t=>e.jsx("col",{},t)));return e.jsxs("table",{className:"ff-spreadsheet-table",children:[e.jsx("colgroup",{children:o}),e.jsx("tbody",{children:t})]})},Pu=t=>e.jsx("tr",{...t}),Su=t=>e.jsx("tr",{className:"ff-spreadsheet-row-header",...t});function Fu(){return Nu(zu,(([,e])=>e))}function Tu(e){return Nu(zu,(([t])=>e(t)))}const Ru=({selected:t,onSelect:n})=>{const r=o.useCallback((()=>{n()}),[n]);return e.jsx("th",{className:"ff-spreadsheet-corner-header",onClick:r,tabIndex:0,children:e.jsx("div",{className:u("corner-header",{"ff-spreadsheet-header--selected":t}),children:e.jsx(E,{variant:t?"dark":"light",name:"excel_corner_menu"})})})},Gu=t=>function(n){const r=Fu(),A=o.useCallback((()=>r({type:of})),[r]),i=Tu((e=>e.selected instanceof Zd));return e.jsx(t,{...n,selected:i,onSelect:A})},Xu=t=>function(n){const r=Fu(),A=o.useCallback(((e,t)=>r(function(e,t){return{type:rf,payload:{column:e,extend:t}}}(e,t))),[r]),i=Tu((e=>e.selected.hasEntireColumn(n.column)));return e.jsx(t,{...n,selected:i,onSelect:A})},Yu=Xu((({column:t,label:n,selected:r,onSelect:A,setContextMenu:i,deleteColumn:a,addColumnLeft:l,addColumnRight:c,columnContextEnable:s,data:f})=>{const d=Fu(),C=Tu((e=>e.columnDimensions[t]?.width||100)),p=[{label:"Add Column Left",value:"Add Column Left",iconName:"plus_icon",action:()=>{l(f)},disable:!1},{label:"Add Column Right",value:"Add Column Right",iconName:"plus_icon",action:()=>{c(f)},disable:!1},{label:"Delete Column",value:"Delete Column",iconName:"delete",action:()=>{a(f)},disable:!1}],g=o.useCallback((e=>{A(t,e.shiftKey);const n=e.clientX,r=C,o=e=>{const o=Math.max(100,r+(e.clientX-n));d(function(e,t){return{type:Pf,payload:{column:e,width:t}}}(t,o))},i=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",i),d(dd())};document.addEventListener("mousemove",o),document.addEventListener("mouseup",i),d(fd())}),[t,C,d]),h=o.useCallback((e=>d(ad(e))),[d]),m=o.useCallback((e=>{A(t,e.shiftKey)}),[A,t]),E=o.useCallback((e=>{e.preventDefault(),A(t,e.shiftKey),i({open:s,position:{x:e.pageX,y:e.pageY},options:p})}),[A,t,i]);return e.jsxs("th",{className:u("ff-spreadsheet-header",{"ff-spreadsheet-header--selected":r}),style:{minWidth:`${C}px`},onClick:m,onContextMenu:E,tabIndex:0,children:[e.jsx("div",{onClick:m,onContextMenu:E,tabIndex:0}),e.jsx(b,{fontWeight:"medium",children:void 0!==n?n:Ku(t)}),e.jsx("div",{onMouseDown:g,onClick:()=>h({row:-1,column:t}),style:{zIndex:"inherit",width:"2px",position:"absolute",right:0,top:0,height:"100%",cursor:"ew-resize"}})]})}));function Ku(e){let t="",n=e;for(;n>=0;)t=String.fromCharCode(65+n%26)+t,n=Math.floor(n/26)-1;return t}const Uu=({row:t,label:n,selected:r,onSelect:A,setContextMenu:i,addRowTop:a,addRowBottom:l,deleteRow:c,rowContextEnable:s,data:f})=>{const d=Fu(),C=Tu((e=>e.rowDimensions[t]?.height||28)),p=[{label:"Add Row Top",value:"Add Row Top",iconName:"plus_icon",action:()=>{a(f)},disable:!1},{label:"Add Row Bottom",value:"Add Row Bottom",iconName:"plus_icon",action:()=>{l(f)},disable:!1},{label:"Delete Row",value:"Delete Row",iconName:"delete",action:()=>{c(f)},disable:!1}],g=o.useCallback((e=>{A(t,e.shiftKey);const n=e.clientY,r=C,o=e=>{const o=Math.max(28,r+(e.clientY-n));d(function(e,t){return{type:Of,payload:{row:e,height:t}}}(t,o))},i=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",i),d(dd())};document.addEventListener("mousemove",o),document.addEventListener("mouseup",i),d(dd())}),[A,C,t]),h=o.useCallback((e=>d(ad(e))),[d]),m=o.useCallback((e=>{A(t,e.shiftKey)}),[A,t]),E=o.useCallback((e=>{e.preventDefault(),A(t,e.shiftKey),i({open:s,position:{x:e.pageX,y:e.pageY},options:p})}),[A,t,i]);return e.jsxs("th",{className:u("ff-spreadsheet-header",{"ff-spreadsheet-header--selected":r}),style:{height:`${C}px`,minWidth:"60px"},onClick:m,onContextMenu:E,tabIndex:0,children:[e.jsx(b,{fontWeight:"medium",children:void 0!==n?n:t+1}),e.jsx("div",{onMouseDown:g,onClick:()=>h({row:t,column:-1}),style:{zIndex:"inherit",height:"2px",position:"absolute",right:0,bottom:0,width:"100%",cursor:"ns-resize"}})]})},Wu=t=>function(n){const r=Fu(),A=Tu((e=>e.selected.hasEntireRow(n.row))),i=o.useCallback(((e,t)=>r(function(e,t){return{type:nf,payload:{row:e,extend:t}}}(e,t))),[r]);return e.jsx(t,{...n,selected:A,onSelect:i})},qu=({row:t,column:n,DataViewer:r,selected:A,active:i,dragging:a,mode:l,data:c,evaluatedData:s,select:f,activate:d,setCellDimensions:C,setCellData:p})=>{const g=o.useRef(null),h=o.useMemo((()=>({row:t,column:n})),[t,n]),m=o.useCallback((e=>{"view"===l&&(C(h,Td(e.currentTarget)),e.shiftKey?f(h):d(h))}),[l,C,h,f,d]),E=o.useCallback((e=>{a&&(C(h,Td(e.currentTarget)),f(h))}),[C,f,a,h]);return o.useEffect((()=>{const e=g.current;A&&e&&C(h,Td(e)),e&&i&&"view"===l&&e.focus()}),[C,A,i,l,h,c]),c&&c.DataViewer&&(r=c.DataViewer),e.jsx("td",{ref:g,style:c?.style,className:u("ff-spreadsheet-cell",c?.className,{"ff-spreadsheet-active-cell":i||a}),onMouseEnter:E,onMouseDown:m,tabIndex:0,children:e.jsx(r,{row:t,column:n,cell:c,active:i,evaluatedCell:s,setCellData:p,inputValue:()=>null})})},Ju=t=>function(n){const{row:r,column:A}=n,i=Fu(),a=o.useMemo((()=>({row:r,column:A})),[r,A]),l=o.useCallback((e=>i(ld(a,e))),[i,a]),c=o.useCallback((e=>i(function(e){return{type:af,payload:{point:e}}}(e))),[i]),s=o.useCallback((e=>i(ad(e))),[i]),f=o.useCallback(((e,t)=>i(function(e,t){return{type:sf,payload:{point:e,dimensions:t}}}(e,t))),[i]),d=Tu((e=>Fd(e.active,a))),u=Tu((e=>d?e.mode:"view")),C=Tu((e=>gd(a,e.model.data))),p=Tu((e=>gd(a,e.model.evaluatedData))),g=Tu((e=>e.selected.has(e.model.data,a))),h=Tu((e=>e.dragging)),m=Tu((e=>e.copied?.has(a)||!1));return e.jsx(t,{...n,selected:g,active:d,copied:m,dragging:h,mode:u,evaluatedData:p,data:C,select:c,activate:s,setCellDimensions:f,setCellData:l})},_u=({cell:t,evaluatedCell:n,active:r})=>{const o=function(e,t){const n=t?.value??e?.value;if(n&&"object"==typeof n)return n.toString();return n}(t,n);return"boolean"==typeof o?e.jsx("span",{className:"ff-spreadsheet-data-viewer ff-spreadsheet-data-viewer--boolean",children:$u(o)}):e.jsx("span",{className:u("ff-spreadsheet-data-viewer",{"ff-spreadsheet-data-viewer--preserve-breaks":Ud(o)}),children:r||"dropDown"!==t?.inputType?.type?r||"file"!==t?.inputType?.type?!r&&o:e.jsx(e.Fragment,{children:M(t?.value)?e.jsxs("div",{className:"ff-spreadsheet-data-viewer--without-fileType",children:[e.jsx(E,{name:"attachment_icon"})," Attachment"]}):(t=>{if(M(t))return e.jsx(e.Fragment,{});return JSON.parse(t).map(((t,n)=>e.jsxs("div",{className:"ff-spreadsheet-data-viewer--fileType",children:[n+1,". ",t.name]},t.name)))})(o)}):e.jsxs("div",{className:"ff-spreadsheet-data-viewer--dropdownType",children:[o,e.jsx(E,{name:"arrow_down",height:8,className:"dropdownType-icon"})]})})};function $u(e){return e?"TRUE":"FALSE"}const eC=({onChange:t,cell:n})=>{const r=o.useRef(null),A=o.useCallback((e=>{t({...n,value:e.target.value,style:n?.style,inputType:n?.inputType??{type:"text"}})}),[t,n]);o.useEffect((()=>{var e;r.current&&((e=r.current).selectionStart=e.selectionEnd=e.value.length)}),[r]);const i=n?.value??"";return e.jsx("div",{className:"ff-spreadsheet-data-editor",style:{...n?.style,border:"none"},children:e.jsx("input",{ref:r,type:"text",onChange:A,value:i,autoFocus:!0,disabled:n?.readOnly})})},tC=t=>{const[n,r]=o.useState({value:"",name:""}),[A,i]=o.useState(!1),[a,l]=o.useState([]),c=o.useRef(null),s=Fu(),f=o.useCallback(((e,t)=>s(ld(e,t))),[s]),d=o.useCallback((e=>s(ad(e))),[s]),C=o.useCallback((()=>s({type:Cf})),[s]),p=o.useCallback((e=>s({type:Sf,payload:{autofill:e}})),[s]),g=o.useCallback((e=>s(function(e){return{type:wf,payload:{changes:e}}}(e))),[s]),h=o.useCallback((()=>{s({type:pf})}),[s]),m=Tu((e=>e.active)),E=Tu((e=>e.mode)),b=Tu((e=>e.active?gd(e.active,e.model.data):void 0)),w=Tu((e=>{let t=m?Rd(m,e.rowDimensions,e.columnDimensions):void 0;return t={top:t?.top??0,height:(t?.height??0)+1,left:t?.left??0,width:(t?.width??0)+1},t})),v=o.useMemo((()=>!m||!w),[m,w]),B=o.useRef(void 0),L=o.useRef(null),M=o.useRef(void 0),I=o.useCallback((e=>{m&&f(m,e)}),[f,m]);o.useEffect((()=>{const e=c.current;!v&&e&&(e.focus(),i((e=>!e)))}),[c,v,m]),o.useEffect((()=>{const e=L.current,t=M.current;if(L.current=m,M.current=b,!e||!t)return;const n=m?.row!==e.row||m?.column!==e.column;if(n||"edit"!==E){const e=B.current;t!==e?g([{prevCell:e||null,nextCell:t}]):n||b===t||g([{prevCell:t,nextCell:b||null}]),B.current=b}}));const y=b&&b.DataEditor||t.DataEditor,x=b&&b.readOnly,Q=o.useCallback((()=>{m&&(p(!0),d(m))}),[d,p,m]),D=o.useCallback((e=>{e.preventDefault(),t.setContextMenu({open:t.contextOption?.open??!1,position:{x:e.pageX-450,y:e.pageY-260},options:t.contextOption?.options||[]})}),[t]);return e.jsxs("div",{ref:c,className:u("ff-spreadsheet-active-cell",`ff-spreadsheet-active-cell--${E}`),style:w,onContextMenu:D,onClick:"view"!==E||x?void 0:C,tabIndex:0,children:["dropDown"===b?.inputType?.type?e.jsx(Y,{...b?.inputType?.inputProps,showOptions:{open:!0,toggle:A},selectedOption:n,optionsList:b?.inputType?.options||[],height:26,showLabel:!1,showBorder:!1,onChange:e=>{r({value:e.value,name:e.label}),I({...b,value:e.value,style:b?.style,inputType:b?.inputType??{type:"text"}})}}):"file"===b?.inputType?.type?e.jsx(_s,{...b?.inputType?.inputProps,label:"",selectedFiles:a,onFilesChange:e=>{const t=[...e];if(t.length>5)return;const n=t.map((e=>({name:e.name,size:e.size,type:e.type})));I({...b,value:JSON.stringify(n),style:b?.style,inputType:b?.inputType}),l(t)},disabled:!1,maxFileSizeMB:5,maxFiles:5,buttonLabel:"+ Attachments",buttonVariant:"tertiary",deleteButton:!0,addAttachmentButton:!0}):"edit"===E&&m?e.jsx(y,{row:m.row,column:m.column,cell:b,onChange:I,exitEditMode:h}):e.jsx("div",{className:"ff-spreadsheet-data-editor",style:{...b?.style,border:"none"},children:e.jsx("input",{type:"text",value:b?.value,disabled:b?.readOnly})}),e.jsx("div",{onMouseDown:Q,className:"select_dot"})]})},nC=({dimensions:t,dragging:n,hidden:r,variant:o})=>{const A=Tu((e=>e.active)),i=Tu((e=>e.autoFill)),a=Tu((e=>A?Rd(A,e.rowDimensions,e.columnDimensions):void 0)),{width:l,height:c,top:s,left:f}=t||{};let d=a?.height??0,C=a?.width??0,p=l,g=c;return i.open&&l&&c&&a&&(l-C>c-d?(p=l,g=a.height):(g=c,p=a.width)),e.jsx("div",{className:u("ff-spreadsheet-floating-rect",{[`ff-spreadsheet-floating-rect--${o}`]:o,"ff-spreadsheet-floating-rect--dragging":n,"ff-spreadsheet-floating-rect--hidden":r}),style:{width:(p??0)+1,height:(g??0)+1,top:s,left:f}})},rC=()=>{const t=Tu((e=>e.selected)),n=Tu((e=>t&&function(e,t,n,r){const o=r.toRange(n);return o?Gd(e,t,o):void 0}(e.rowDimensions,e.columnDimensions,e.model.data,e.selected))),r=Tu((e=>e.dragging)),o=Tu((e=>e.selected.size(e.model.data)<2));return e.jsx(nC,{variant:"selected",dimensions:n,dragging:r,hidden:o})},oC=()=>{const t=Tu((e=>e.copied)),n=Tu((e=>t&&Gd(e.rowDimensions,e.columnDimensions,t))),r=null===t;return e.jsx(nC,{variant:"copied",dimensions:n,hidden:r,dragging:!1})};A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-excel {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.ff-excel .ff-excel-toolbar-container {\n position: relative;\n top: 0;\n background-color: var(--excel-toolbar-bg);\n padding: 4px 8px;\n margin-bottom: 20px;\n}\n.ff-excel .ff-excel-toolbar-container-hide {\n display: none;\n}\n.ff-excel .ff-excel-spreadsheet {\n --background-color: var(--drawer-footer-bg);\n --text-color: var(--text-color);\n --readonly-text-color: var(--toggle-strip-active);\n --outline-color: var(--toggle-strip-active);\n --outline-background-color: var(--overlay-bg);\n --border-color: var(--excel-header-border);\n --header-background-color: var(--excel-header-bg);\n --elevation: var(--brand-color);\n position: relative;\n overflow: scroll;\n background: var(--background-color);\n color: var(--text-color);\n scrollbar-width: none;\n display: inline-block;\n}\n.ff-excel .ff-excel-header-hider {\n position: absolute;\n background-color: var(--excel-header-border);\n z-index: 500;\n left: -1px;\n top: 59px;\n}\n.ff-excel .ff-excel-header-hider-remover {\n position: absolute;\n background-color: var(--excel-header-border);\n z-index: 500;\n left: -1px;\n}\n.ff-excel .ff-excel-header-column-hider {\n height: 34px;\n width: 100%;\n}\n.ff-excel .ff-excel-header-row-hider {\n bottom: 0px;\n width: 60px;\n}\n.ff-excel .ff-spreadsheet-active-cell {\n position: absolute;\n border: 2px solid var(--outline-color);\n box-sizing: border-box;\n z-index: 500;\n}\n.ff-excel .ff-spreadsheet-active-cell--edit {\n background: var(--background-color);\n box-shadow: var(--elevation);\n}\n.ff-excel .ff-spreadsheet-table {\n overflow: scroll;\n top: 0;\n left: 0;\n margin: 0;\n position: relative;\n border-collapse: collapse;\n table-layout: fixed;\n}\n.ff-excel .ff-spreadsheet-table::-webkit-scrollbar {\n height: 0px;\n}\n.ff-excel .ff-spreadsheet-cell {\n outline: none;\n position: relative;\n z-index: 0;\n}\n.ff-excel .ff-spreadsheet-active-cell .select_dot {\n background-color: var(--elevation);\n height: 10px;\n width: 10px;\n border-radius: 50%;\n position: absolute;\n bottom: -5px;\n right: -5px;\n cursor: crosshair;\n z-index: 1000;\n}\n.ff-excel .ff-spreadsheet-cell--readonly {\n color: var(--readonly-text-color);\n}\n.ff-excel .ff-spreadsheet-cell,\n.ff-excel .ff-spreadsheet-header {\n border: 0.1px solid var(--border-color);\n overflow: hidden;\n word-break: keep-all;\n white-space: nowrap;\n text-align: left;\n box-sizing: border-box;\n user-select: none;\n}\n.ff-excel .ff-spreadsheet-header {\n background-color: var(--header-background-color);\n color: var(--readonly-text-color);\n text-align: center;\n z-index: 1000;\n position: sticky;\n top: 0;\n left: 0;\n}\n.ff-excel .ff-spreadsheet-corner-header {\n position: fixed;\n z-index: 2000;\n border: 2px solid var(--border-color);\n}\n.ff-excel .ff-spreadsheet-row-header {\n height: 34px;\n}\n.ff-excel .corner-header {\n background-color: var(--header-background-color);\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1500;\n top: -2px;\n width: 58px;\n height: 32px;\n left: -1px;\n}\n.ff-excel .ff-spreadsheet-header--selected {\n background: var(--brand-color);\n color: var(--tooltip-text-color);\n}\n.ff-excel .ff-spreadsheet-data-viewer,\n.ff-excel .ff-spreadsheet-data-editor input {\n padding: 4px;\n box-sizing: border-box;\n z-index: 5;\n}\n.ff-excel .ff-spreadsheet-data-viewer--dropdownType {\n display: inline-flex;\n align-items: center;\n width: 90%;\n padding: 0px 2px;\n}\n.ff-excel .ff-spreadsheet-data-viewer--dropdownType .dropdownType-icon {\n margin-left: auto;\n}\n.ff-excel .ff-spreadsheet-data-viewer--without-fileType {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.ff-excel .ff-spreadsheet-data-viewer--fileType {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n.ff-excel .ff-spreadsheet-header {\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-data-viewer--preserve-breaks {\n white-space: pre-wrap;\n}\n.ff-excel .ff-spreadsheet-data-editor,\n.ff-excel .ff-spreadsheet-data-editor input {\n width: 100%;\n height: 100%;\n}\n.ff-excel .ff-spreadsheet-data-editor input {\n font: inherit;\n color: inherit;\n background: none;\n border: none;\n outline: none;\n margin: 0;\n}\n.ff-excel .ff-spreadsheet-data-viewer--boolean {\n text-align: center;\n}\n.ff-excel .ff-spreadsheet-floating-rect {\n position: absolute;\n pointer-events: none;\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-floating-rect--hidden {\n display: none;\n}\n.ff-excel .ff-spreadsheet-floating-rect--selected {\n background: var(--outline-background-color);\n border: 2px var(--outline-color) solid;\n}\n.ff-excel .ff-spreadsheet-floating-rect--dragging {\n border: none;\n}\n.ff-excel .ff-spreadsheet-floating-rect--copied {\n border: 2px var(--outline-color) dashed;\n}');A(".ff-excel-toolbar {\n display: flex;\n height: 32px;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-divider {\n width: 1px;\n height: 24px;\n background-color: var(--excel-toolbar-divider);\n margin: 0 24px;\n border-radius: 1px;\n z-index: 1000;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font {\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font .ff-excel-toolbar-font-family {\n width: 120px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font .ff-excel-toolbar-font-size {\n width: 56px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-text {\n width: 100px;\n height: 24px;\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-text .ff-excel-toolbar-icon-underline {\n display: flex;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon {\n width: 88px;\n height: 24px;\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n width: 24px;\n height: 24px;\n border-radius: 4px;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color:hover {\n border-radius: 4px;\n background-color: var(--icon-hover-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n background-color: var(--brand-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover {\n background-color: var(--primary-button-text-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover svg path {\n fill: var(--brand-color);\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color:hover {\n border-radius: 4px;\n background-color: var(--icon-hover-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n background-color: var(--brand-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover {\n background-color: var(--primary-button-text-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover svg path {\n fill: var(--brand-color);\n}\n.ff-excel-toolbar .ff-excel-toolbar-menu {\n display: flex;\n align-items: center;\n width: 36px;\n height: 24px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-menu .ff-excel-toolbar-menu-option {\n display: flex;\n align-items: center;\n}");A(".ff-excel-color-selector {\n position: absolute;\n background-color: var(--error_light);\n width: 14px;\n height: 3px;\n bottom: 3px;\n z-index: 200;\n cursor: pointer;\n}\n.ff-excel-color-selector .ff-excel-color-selector-picker {\n width: 100%;\n height: 0;\n padding: 0;\n visibility: hidden;\n}");const AC=({getColorValue:n,disabled:r})=>{const o=t.useRef(null),[A,i]=t.useState("#e42525");return e.jsx("div",{className:"ff-excel-color-selector",style:{backgroundColor:`${A}`},onClick:()=>{o.current&&o.current.click()},children:e.jsx("input",{type:"color",disabled:r,className:"ff-excel-color-selector-picker",ref:o,onChange:e=>{i(e.target.value),n(e.target.value.replace("#",""))}})})},iC=e=>{switch(e.toUpperCase()){case"LEFT":default:return"left";case"RIGHT":return"right";case"CENTER":return"center";case"JUSTIFY":return"justify"}},aC=e=>{if(!e)return"solid";switch(e.toLowerCase()){case"solid":default:return"solid";case"dotted":return"dotted";case"dashed":return"dashed";case"wavy":return"wavy"}},lC=e=>{switch(e){case"left":default:return"LEFT";case"right":return"RIGHT";case"center":return"CENTER";case"justify":return"JUSTIFY"}};function cC(e){const{border:t}=e;let n="",r="",o="",A="";return"THIN"!==t.top&&(n="MEDIUM"===t.top?"2px solid var(--input-hover-border-color)":"1px solid var(--excel-header-border)"),"THIN"!==t.right&&(r="MEDIUM"===t.right?"2px solid var(--input-hover-border-color)":"1px solid var(--excel-header-border)"),"THIN"!==t.bottom&&(o="MEDIUM"===t.bottom?"2px solid var(--input-hover-border-color)":"1px solid var(--excel-header-border)"),"THIN"!==t.left&&(A="MEDIUM"===t.left?"2px solid var(--input-hover-border-color)":"1px solid var(--excel-header-border)"),{fontSize:`${e.size}px`,fontFamily:e.name,color:`#${e.color}`,backgroundColor:`#${e.backgroundColor}`,fontWeight:e.bold?"bold":"normal",fontStyle:e.italic?"italic":"normal",textDecoration:e.underline?`underline ${aC(e.underline)}`:"none",borderTop:n,borderRight:r,borderBottom:o,borderLeft:A,textAlign:iC(e.alignment.horizontal)}}const sC=e=>{if(!e||"none"===e)return"THIN";if(e.includes("solid")||e.includes("dashed")||e.includes("dotted")){if(e.includes("2px")||e.includes("medium"))return"MEDIUM";if(e.includes("3px")||e.includes("medium"))return"THICK"}return"THIN"},fC=e=>({name:e.fontFamily||"Arial",size:parseInt(e.fontSize?.toString()||"11",11),bold:"bold"===e.fontWeight,italic:"italic"===e.fontStyle,underline:"solid",color:e.color?.replace("#","")||"000000",backgroundColor:e.backgroundColor?.replace("#","")||"FFFFFF",borderColor:e.borderTop&&e.borderTop.toString().includes("solid")?"F2F2F2":"000000",border:{top:sC(e.borderTop?e.borderTop.toString():void 0),right:sC(e.borderRight?e.borderRight.toString():void 0),bottom:sC(e.borderBottom?e.borderBottom.toString():void 0),left:sC(e.borderLeft?e.borderLeft.toString():void 0)},alignment:{horizontal:lC(e.textAlign),vertical:"BOTTOM",wrapText:!1}}),dC=({toolbar:n="show",onBold:r,onItalic:o,setUnderlineType:A,setColor:i,setFontSize:a,setFontFamily:l,setTextAlign:c,setBackgroundColor:s,setBorderType:f,setFormatePainter:d})=>{const u=Tu((e=>e.active?gd(e.active,e.model.data):null)),C=Tu((e=>e.model.data)),p=Tu((e=>e.formattedStyle.open)),g={...gC.style,color:"#e42525",backgroundColor:"#e42525",borderColor:"#c9c9c9"},[h,m]=t.useState(u?.style||g),b=t.useRef(null),w=t.useRef(null);t.useEffect((()=>{u?.style&&JSON.stringify(u.style)!==JSON.stringify(h)&&m(u?.style||g)}),[u]);const v=fC(h),[B,L]=t.useState("border-none"),[M,y]=t.useState("underline"),[x,Q]=t.useState({label:"Times New Roman",value:"Times New Roman"}),[D,H]=t.useState({label:"11",value:"11"}),[Z,k]=t.useState({color:"#e42525",backgroundColor:"#e42525",borderColor:"#c9c9c9"}),V=[{value:"border-all-sides",label:"All Border",icon:"all_borders"},{value:"border-bottom",label:"Border Bottom",icon:"border_bottom"},{value:"border-left",label:"Border Left",icon:"border_left"},{value:"border-right",label:"Border Right",icon:"border_right"},{value:"border-top",label:"Border Top",icon:"border_top"},{value:"border-none",label:"No Border",icon:"no_border"}],j=[{value:"underline",label:"Underline",icon:"underline"},{value:"double_border",label:"Double Underline",icon:"double_underline"}],N=[5,6,8,9,10,12,14,16,18,20,22,24,26,28,32,36,40,48,56,72].map((e=>({label:e,value:e})));t.useEffect((()=>{let e=setTimeout((()=>{i(C,Z.color)}),0);return()=>{clearTimeout(e)}}),[Z.color]),t.useEffect((()=>{let e=setTimeout((()=>{s(C,Z.backgroundColor)}),0);return()=>{clearTimeout(e)}}),[Z.backgroundColor]);return t.useEffect((()=>{const e=h.fontFamily,t=function(e){const t=parseFloat(e.replace("px",""))/1.33;return`${Math.round(t)}`}(h.fontSize);Q({label:e,value:e}),H({label:t,value:t})}),[h]),e.jsxs("div",{className:"ff-excel-toolbar",children:[e.jsxs("div",{className:"ff-excel-toolbar-font ",children:[e.jsx(I,{placement:"top",title:"Font Family",children:e.jsx("div",{className:"ff-excel-toolbar-font-family",children:e.jsx(Y,{showLabel:!1,optionZIndex:1e3,onChange:e=>{Q({label:e.label,value:e.label}),l(C,e.value)},required:!1,optionsList:[{label:"Times New Roman",value:'"Times New Roman"'},{label:"Arial",value:"Arial"},{label:"fantasy",value:"fantasy"},{label:"cursive",value:"cursive"},{label:"Poppins",value:"Poppins"},{label:"Courier New",value:'"Courier New"'},{label:"Verdana",value:"Verdana"},{label:"Tahoma",value:"Tahoma"},{label:"Trebuchet MS",value:'"Trebuchet MS"'},{label:"Comic Sans MS",value:'"Comic Sans MS"'},{label:"Impact",value:"Impact"},{label:"Arial Black",value:'"Arial Black"'},{label:"Lucida Console",value:'"Lucida Console"'},{label:"Lucida Sans Unicode",value:'"Lucida Sans Unicode"'},{label:"Courier",value:"Courier"},{label:"Arial Rounded MT Bold",value:'"Arial Rounded MT Bold"'},{label:"Georgia",value:"Georgia"},{label:"sans-serif",value:"sans-serif"},{label:"serif",value:"serif"},{label:"monospace",value:"monospace"}],selectedOption:x})})}),e.jsx(I,{placement:"top",title:"Font Size",children:e.jsx("div",{className:"ff-excel-toolbar-font-size",children:e.jsx(Y,{showLabel:!1,optionZIndex:1e3,required:!1,onChange:e=>{H({label:e.label,value:e.value}),a(C,e.value)},optionsList:N,selectedOption:D})})})]}),e.jsx("div",{className:"ff-excel-toolbar-divider"}),e.jsxs("div",{className:"ff-excel-toolbar-icon",children:[e.jsx(I,{placement:"top",title:"Text Left",children:e.jsx(E,{variant:"left"===h.textAlign?"dark":"light",hoverEffect:"left"!==h.textAlign,disabled:"disable"===n,onClick:()=>c(C,"left"),name:"text_align_left"})}),e.jsx(I,{placement:"top",title:"Text Center",children:e.jsx(E,{variant:"center"===h.textAlign?"dark":"light",hoverEffect:"center"!==h.textAlign,disabled:"disable"===n,onClick:()=>c(C,"center"),name:"text_align_center"})}),e.jsx(I,{placement:"top",title:"Text Right",children:e.jsx(E,{variant:"right"===h.textAlign?"dark":"light",hoverEffect:"right"!==h.textAlign,disabled:"disable"===n,onClick:()=>c(C,"right"),name:"text_align_right"})})]}),e.jsx("div",{className:"ff-excel-toolbar-divider"}),e.jsxs("div",{className:"ff-excel-toolbar-text",children:[e.jsx(I,{placement:"top",title:"Bold",children:e.jsx(E,{variant:v.bold?"dark":"light",hoverEffect:!v.bold,disabled:"disable"===n,onClick:()=>r(C),name:"bold"})}),e.jsx(I,{placement:"top",title:"Italic",children:e.jsx(E,{variant:v.italic?"dark":"light",hoverEffect:!v.italic,disabled:"disable"===n,onClick:()=>o(C),name:"italic"})}),e.jsx(I,{placement:"top",title:"Underline Type",children:e.jsxs("div",{className:"ff-excel-toolbar-icon-underline",children:[e.jsx(E,{variant:h.textDecoration===M?"dark":"light",hoverEffect:h.textDecoration!==M,disabled:"disable"===n,onClick:()=>A(C,M,!0),name:(()=>{const e=j.find((e=>e.value===M));return e?e.icon:""})()}),e.jsx("span",{ref:b,children:e.jsx(q,{targetRef:b,iconName:"arrow_down",zIndex:1e3,iconSize:12,options:j,tooltipPlacement:"top",onOptionClick:e=>{let t=e.value;A(C,t,!0),y(t)}})})]})})]}),e.jsx("div",{className:"ff-excel-toolbar-divider"}),e.jsxs("div",{className:"ff-excel-toolbar-icon",children:[e.jsx(I,{placement:"top",title:"Format Painter",children:e.jsx(E,{variant:p?"dark":"light",hoverEffect:!p,disabled:"disable"===n,onClick:()=>{d(C)},name:"formate_painter"})}),e.jsx(I,{placement:"top",title:"Text Color",children:e.jsxs("div",{className:"ff-excel-toolbar-icon-color",children:[e.jsx(E,{hoverEffect:!0,width:12,height:12,disabled:"disable"===n,onClick:()=>{i(C,Z.color)},name:"text_color"}),e.jsx(AC,{disabled:"disable"===n,getColorValue:e=>{k((t=>({...t,color:e})))}})]})}),e.jsx(I,{placement:"top",title:"Background Color",children:e.jsxs("div",{className:"ff-excel-toolbar-icon-color",children:[e.jsx(E,{hoverEffect:!0,width:12,height:12,disabled:"disable"===n,onClick:()=>s(C,Z.backgroundColor),name:"fill_color"}),e.jsx(AC,{disabled:"disable"===n,getColorValue:e=>{k((t=>({...t,backgroundColor:e})))}})]})})]}),e.jsx("div",{className:"ff-excel-toolbar-divider"}),e.jsx("div",{className:"ff-excel-toolbar-menu",children:e.jsx(I,{placement:"top",title:"Border Type",children:e.jsxs("div",{className:"ff-excel-toolbar-menu-option",children:[e.jsx(E,{hoverEffect:!0,disabled:"disable"===n,onClick:()=>f(C,B,"black"),name:(()=>{const e=V.find((e=>e.value===B));return e?e.icon:""})()}),e.jsx("span",{ref:w,children:e.jsx(q,{iconName:"arrow_down",targetRef:w,iconSize:12,zIndex:1e3,options:V,tooltipPlacement:"top",onOptionClick:e=>{let t=e.value;f(C,t,"black"),L(t)}})})]})})})]})},uC=t=>{const{className:n,columnLabels:r,rowLabels:A,toolbar:i,onKeyDown:a,Table:l=Ou,Row:c=Pu,sheetHeight:s,HeaderRow:f=Su,DataEditor:d=eC,DataViewer:C=_u,onSelect:p=()=>{},onActivate:g=()=>{},onEvaluatedDataChange:h=()=>{},contextOption:m}=t,[E,b]=o.useState(!1),w=o.useMemo((()=>{const e=t.createFormulaParser||qd,n=new tu(e,t.data);return b((e=>!e)),{...vu,model:n,selected:t.selected||vu.selected}}),[t.createFormulaParser,t.data,t.selected]),v=o.useReducer(Bu,w),[B,L]=v,M=o.useMemo((()=>function(e,t,n){const{columns:r,rows:o}=vd(e);return{rows:t?Math.max(o,t.length):o,columns:n?Math.max(r,n.length):r}}(B.model.data,A,r)),[B.model.data,A,r]),I=B.mode,y=o.useRef(null),x=e=>o.useCallback(((...t)=>L(e(...t))),[e]),Q=x(Cd),D=x(ud),H=x(pd),Z=x(cd),k=x(sd),V=x(rd),j=x(fd),N=x(dd),z=x(od),O=x(Ad),P=x(id),S=x(Ff),F=x(Tf),T=x(Gf),R=x(Kf),G=x(Xf),X=x(Yf),Y=x(Rf),K=x(Uf),U=x(Wf),W=x(qf),q=x(Jf),J=x(_f),_=x($f),$=x(ed),ee=x(td),te=x(nd),ne=o.useRef(B.active);o.useEffect((()=>{if(B.active!==ne.current)if(B.active)g(B.active);else{const e=y.current;e&&Kd(e)&&document.activeElement&&document.activeElement.blur()}ne.current=B.active}),[g,B.active]);const re=o.useRef(B.model.evaluatedData);o.useEffect((()=>{B?.model?.evaluatedData!==re?.current&&h(B?.model?.evaluatedData),re.current=B.model.evaluatedData}),[B?.model?.evaluatedData,h]),o.useEffect((()=>{H()}),[E]);const oe=o.useRef(B.selected);o.useEffect((()=>{B.selected.equals(oe.current)||t.selected&&B.selected.equals(t.selected)||p(B.selected),oe.current=B.selected}),[B.selected,p,t.selected]);const Ae=o.useRef(t.selected);o.useEffect((()=>{t.selected&&Ae.current&&!t.selected.equals(Ae.current)&&P(t.selected),Ae.current=t.selected}),[t.selected,P]);let ie=o.useRef(t.data);o.useEffect((()=>{t.data!==ie.current&&z(t.data),ie.current=t.data}),[t.data,z]);const ae=o.useRef(t.createFormulaParser);o.useEffect((()=>{t.createFormulaParser!==ae.current&&t.createFormulaParser&&O(t.createFormulaParser),ae.current=t.createFormulaParser}),[t.createFormulaParser,O]);const le=o.useCallback((e=>{const{model:t,selected:n}=B,{data:r}=t,o=n.toRange(r);if(o){!function(e,t){e.clipboardData?.setData(Pd,t)}(e,Xd(function(e,t,n){const r=[],o=t.column-e.column;for(let A=e.row;A<=t.row;A++){const i=A-e.row;r[i]=r[i]||Array(o);for(let o=e.column;o<=t.column;o++)r[i][o-e.column]=gd({row:A,column:o},n)}return r}(o.start,o.end,r)))}}),[B]),ce=o.useCallback((e=>{Yd(y.current,I)&&(e.preventDefault(),e.stopPropagation(),le(e),Q())}),[I,le,Q]),se=o.useCallback((e=>{Yd(y.current,I)&&(e.preventDefault(),e.stopPropagation(),le(e),D())}),[I,le,D]),fe=o.useCallback((e=>{if(Yd(y.current,I)&&(e.preventDefault(),e.stopPropagation(),e.clipboardData)){const t=function(e){return window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):e.clipboardData&&e.clipboardData.getData?e.clipboardData.getData(Pd):""}(e);Z(t)}}),[I,Z]),de=o.useCallback((e=>{e.persist(),a&&a(e),e.defaultPrevented||(function(e,t){return void 0!==Eu(e,t)}(B,e)&&e.nativeEvent.preventDefault(),k(e))}),[B,a,k]),ue=o.useCallback((()=>{N(),document.removeEventListener("mouseup",ue)}),[N]),Ce=o.useCallback((e=>{B.dragging||1!==e.buttons||(j(),document.addEventListener("mouseup",ue))}),[B,j,ue]),pe=o.useMemo((()=>Ju(t.Cell||qu)),[t.Cell,E]),ge=o.useMemo((()=>Gu(t.CornerIndicator||Ru)),[t.CornerIndicator,E]),he=o.useMemo((()=>Wu(t.RowIndicator||Uu)),[t.RowIndicator,E]),me=o.useMemo((()=>Xu(t.ColumnIndicator||Yu)),[t.ColumnIndicator,E]);o.useEffect((()=>(document.addEventListener("cut",ce),document.addEventListener("copy",se),document.addEventListener("paste",fe),()=>{document.removeEventListener("cut",ce),document.removeEventListener("copy",se),document.removeEventListener("paste",fe)})),[ce,se,fe]);const Ee=o.useMemo((()=>e.jsxs(l,{columns:M.columns,children:[e.jsxs(f,{children:[e.jsx(ge,{}),Sd(M.columns).map((n=>r?e.jsx(me,{column:n,setContextMenu:t.setContextMenu,label:n in r?r[n]:null,deleteColumn:te,addColumnLeft:_,addColumnRight:$,data:t.data,columnContextEnable:t.columnContextEnable},n):e.jsx(me,{column:n,setContextMenu:t.setContextMenu,deleteColumn:te,addColumnLeft:_,addColumnRight:$,data:t.data,columnContextEnable:t.columnContextEnable},n)))]}),Sd(M.rows).map((n=>e.jsxs(c,{row:n,children:[A?e.jsx(he,{label:n in A?A[n]:null,row:n,addRowTop:q,addRowBottom:J,deleteRow:ee,setContextMenu:t.setContextMenu,rowContextEnable:t.rowContextEnable,data:t.data},n):e.jsx(he,{row:n,addRowTop:q,addRowBottom:J,deleteRow:ee,setContextMenu:t.setContextMenu,rowContextEnable:t.rowContextEnable,data:t.data},n),Sd(M.columns).map((t=>e.jsx(pe,{row:n,column:t,DataViewer:C},t)))]},n)))]})),[l,M.rows,M.columns,c,f,ge,r,me,A,he,pe,C]),be=o.useMemo((()=>e.jsx(tC,{contextOption:m,setContextMenu:t.setContextMenu,DataEditor:d})),[d]),we=o.useMemo((()=>e.jsxs("div",{className:"ff-excel",children:[e.jsx("div",{className:u("ff-excel-header-column-hider",{"ff-excel-header-hider-remover":"hide"===i,"ff-excel-header-hider":"hide"!==i})}),e.jsx("div",{className:"ff-excel-header-hider ff-excel-header-row-hider"}),e.jsx("div",{className:"hide"===i?"ff-excel-toolbar-container-hide":"ff-excel-toolbar-container",children:e.jsx(dC,{toolbar:i,onBold:S,onItalic:F,setUnderlineType:T,setColor:K,setBorderType:Y,setFontSize:G,setFontFamily:X,setTextAlign:R,setBackgroundColor:U,setFormatePainter:W})}),e.jsxs("div",{ref:y,style:{height:s},className:u("ff-excel-spreadsheet",n),onKeyPress:e=>{V(e)},onKeyDown:e=>{de(e)},onMouseMove:Ce,children:[Ee,be,e.jsx(rC,{}),e.jsx(oC,{})]})]})),[n,V,de,Ce,Ee,be]);return e.jsx(zu.Provider,{value:v,children:we})};A(".ff-excel {\n position: relative;\n}\n.ff-excel .ff-excel-sheet {\n position: relative;\n top: 0;\n}\n.ff-excel .ff-excel-sheet-bar-hider {\n display: none;\n}\n.ff-excel .ff-excel-sheet-bar {\n position: static;\n max-width: 100%;\n margin-left: 60px;\n display: flex;\n height: 36px;\n align-items: center;\n color: var(--brand2-color);\n box-shadow: 0px 0px 4px -1px var(--toggle-strip-shadow);\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-add-sheet-set {\n position: relative;\n background-color: var(--tab-bg-color);\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n top: 0;\n left: 0px;\n height: 100%;\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-add-sheet-set .ff-excel-add-sheet-icon {\n padding: 8px 10px;\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-tab-container {\n height: 36px;\n display: flex;\n overflow-x: auto;\n align-items: center;\n scrollbar-width: none;\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-tab-container .ff-excel-tab-list {\n padding: 10px 9px;\n height: 16px;\n min-width: max-content;\n cursor: pointer;\n display: flex;\n background-color: var(--hover-color);\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-tab-container .ff-excel-tab-list.active {\n background-color: var(--excel-sheet-button-color);\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-tab-container .ff-excel-tab-list:focus {\n outline: none;\n text-decoration: none;\n}");A(".ff-excel-menu {\n position: fixed;\n border: 1px solid var(--option-card-border-color);\n background: var(--option-card-bg-color);\n border-radius: 4px;\n margin: 2px;\n min-height: 32px;\n min-width: 111px;\n white-space: nowrap;\n z-index: 2000;\n}\n.ff-excel-menu .ff-excel-menu-options {\n color: var(--text-color);\n cursor: pointer;\n border-radius: 3px;\n display: flex;\n align-items: center;\n padding: 4px;\n gap: 8px;\n}\n.ff-excel-menu .ff-excel-menu-options:hover {\n background-color: var(--hover-color);\n}\n.ff-excel-menu .ff-excel-menu-options label {\n cursor: pointer;\n}");const CC=({contextMenu:t,position:n})=>e.jsx("div",{className:"ff-excel-menu",style:{left:n.x,top:n.y},children:t.options.map((t=>e.jsxs("div",{className:"ff-excel-menu-options",onClick:()=>{t.action()},children:[t.iconName&&e.jsx(E,{name:t.iconName,height:16,width:16,color:t.label.includes("Delete")?"var(--label-edit-error-text)":"var(--brand-color)"}),e.jsx(b,{as:"label",children:t.label})]})))}),pC=(e,t)=>{let n=null;const r=function(...r){n&&clearTimeout(n),n=setTimeout((()=>{e.apply(this,r)}),t)};return r.cancel=()=>{n&&clearTimeout(n),n=null},r},gC={value:"",inputType:{type:"text"},readOnly:!1,style:{color:"#000000",backgroundColor:"#ffffff",borderColor:"#c9c9c9",textDecoration:"none solid",borderRight:"1px solid var(--excel-header-border)",borderLeft:"1px solid var(--excel-header-border)",borderTop:"1px solid var(--excel-header-border)",borderBottom:"1px solid var(--excel-header-border)",fontSize:"15px",fontWeight:"normal",fontStyle:"normal",fontFamily:"Poppins",textAlign:"left"}};A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-module-chip {\n padding: 0 12px;\n width: fit-content;\n height: 30px;\n color: var(--table-column-text-color);\n border: 1px solid var(--ff-editor-line-bg);\n border-radius: 16px;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n}\n.ff-module-chip .module-typography {\n color: var(--table-column-text-color);\n}\n.ff-module-chip--active {\n border: 0.5px solid var(--brand-color);\n background: var(--brand-color);\n}\n.ff-module-chip--active .module-typography {\n color: var(--base-bg-color);\n font-weight: 600;\n}\n.ff-module-chip:hover {\n background-color: var(--hover-color);\n}\n.ff-module-chip:hover .module-typography {\n color: var(--table-column-text-color);\n}\n\n.ff-filter-chip {\n height: 22px;\n border: 0.5px solid var(--in-active-button-color);\n}\n.ff-filter-chip:hover {\n background-color: var(--ff-icon-hover-fill-color);\n}\n.ff-filter-chip:hover .module-typography {\n color: var(--table-column-text-color);\n}\n.ff-filter-chip--active {\n box-shadow: 0px 4px 4px 0px var(--toggle-strip-shadow) inset;\n border: none;\n background: linear-gradient(90deg, var(--brand-color) 0%, var(--button-background-gradient-color) 100%);\n}\n.ff-filter-chip--active .module-typography {\n color: var(--base-bg-color);\n font-weight: 600;\n}\n.ff-filter-chip--active:hover {\n border: none;\n box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922) inset;\n background: linear-gradient(90deg, var(--brand-color) 0%, var(--button-background-gradient-color) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));\n}\n.ff-filter-chip--active:hover .module-typography {\n color: var(--base-bg-color);\n}');A('.fontXs, .ff-icon-radial-chart-container svg text {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-icon-radial-chart-container {\n position: relative;\n}\n.ff-icon-radial-chart-container svg .ff-radial-chart-icon-padding {\n padding: 0px;\n}\n.ff-icon-radial-chart-container svg text {\n font-size: var(--fontSize) !important;\n font-weight: 400;\n}\n.ff-icon-radial-chart-container .ff-icon-radial-chart-tooltip {\n position: fixed;\n padding: 5px;\n border-radius: 4px;\n pointer-events: none;\n background-color: var(--tooltip-bg-color);\n color: var(--tooltip-text-color);\n}');const hC=({x:e,y:t,radius:n,startAngle:r,endAngle:o})=>{const A=e+n*Math.cos(r),i=t+n*Math.sin(r),a=e+n*Math.cos(o),l=t+n*Math.sin(o),c=o-r>Math.PI?1:0;return o-r>=2*Math.PI?`\n M ${e+n} ${t}\n A ${n} ${n} 0 1 1 ${e-n} ${t}\n A ${n} ${n} 0 1 1 ${e+n} ${t}\n `:`M ${A} ${i} A ${n} ${n} 0 ${c} 1 ${a} ${l}`};A(".ff-attach-image-container {\n position: relative;\n display: inline-block;\n}\n.ff-attach-image-container .ff-image-wrapper {\n position: relative;\n width: 79px;\n height: 75px;\n}\n.ff-attach-image-container .ff-image-wrapper img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.ff-attach-image-container .ff-image-wrapper .ff-hover-icons {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 0;\n background-color: rgba(0, 0, 0, 0.7);\n transition: opacity 0.4s ease;\n}\n.ff-attach-image-container .ff-image-wrapper .ff-hover-icons .ff-top-icons {\n position: absolute;\n top: 1px;\n right: 1px;\n display: flex;\n gap: 4px;\n}\n.ff-attach-image-container .ff-image-wrapper .ff-hover-icons .ff-top-icons .ff-icon-container {\n width: 8px;\n height: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.3s ease;\n}\n.ff-attach-image-container .ff-image-wrapper .ff-hover-icons .ff-expand-icon-container {\n width: 24px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.3s ease;\n}\n.ff-attach-image-container .ff-image-wrapper:hover .ff-hover-icons {\n opacity: 1;\n}\n.ff-attach-image-container .ff-image-wrapper:hover .ff-icon-container, .ff-attach-image-container .ff-image-wrapper:hover .ff-top-icons .ff-icon-container {\n border-radius: 4px;\n background-color: var(--ff-icon-hover-bg-color);\n}\n.ff-attach-image-container .ff-image-wrapper:hover .ff-expand-icon-container {\n background-color: var(--ff-icon-hover-bg-color);\n}");A(".ff-card-container {\n height: 78px;\n display: flex;\n align-items: center;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n overflow: hidden;\n cursor: pointer;\n}\n.ff-card-container:hover.passed {\n border-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.passed .ff-status-bar {\n border-right: 1px solid var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.failed {\n border-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.failed .ff-status-bar {\n border-right: 1px solid var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.warning {\n border-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.warning .ff-status-bar {\n border-right: 1px solid var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.skipped {\n border-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container:hover.skipped .ff-status-bar {\n border-right: 1px solid var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container:hover.flaky {\n border-color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container:hover.flaky .ff-status-bar {\n border-right: 1px solid var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container:hover.total {\n border-color: var(--card-total-defect-color);\n}\n.ff-card-container:hover.total .ff-status-bar {\n border-right: 1px solid var(--card-total-defect-color);\n}\n.ff-card-container:hover.defect {\n border-color: var(--card-defect-density);\n}\n.ff-card-container:hover.defect .ff-status-bar {\n border-right: 1px solid var(--card-defect-density);\n}\n.ff-card-container:hover.open {\n border-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.open .ff-status-bar {\n border-right: 1px solid var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.closed {\n border-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.closed .ff-status-bar {\n border-right: 1px solid var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.quality {\n border-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.quality .ff-status-bar {\n border-right: 1px solid var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container .ff-status-bar {\n width: 12%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n border-right: 1px solid var(--border-color);\n border-radius: 3px;\n}\n.ff-card-container .ff-status-bar .ff-status-text {\n transform: rotate(-90deg);\n transform-origin: center;\n display: flex;\n align-items: start;\n height: 16px;\n width: 6px;\n}\n.ff-card-container.passed .ff-status-bar {\n background-color: var(--ff-card-passed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.passed .ff-content .ff-number {\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.passed.toggled {\n background-color: var(--ff-card-passed-status-bg-color);\n border: 1px solid var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.passed.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-passed-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.passed.toggled .ff-content {\n background-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.failed .ff-status-bar {\n background-color: var(--ff-card-failed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.failed .ff-content .ff-number {\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.failed.toggled {\n background-color: var(--ff-card-failed-status-bg-color);\n border: 1px solid var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.failed.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-failed-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.failed.toggled .ff-content {\n background-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.warning .ff-status-bar {\n background-color: var(--ff-card-warning-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.warning .ff-content .ff-number {\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.warning.toggled {\n background-color: var(--ff-card-warning-status-bg-color);\n border: 1px solid var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.warning.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-warning-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.warning.toggled .ff-content {\n background-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.skipped .ff-status-bar {\n background-color: var(--ff-card-skipped-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.skipped .ff-content .ff-number {\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.skipped.toggled {\n background-color: var(--ff-card-skipped-status-bg-color);\n border: 1px solid var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.skipped.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-skipped-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.skipped.toggled .ff-content {\n background-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.flaky .ff-status-bar {\n background-color: var(--ff-card-flaky-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.flaky .ff-content .ff-number {\n color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.flaky.toggled {\n background-color: var(--ff-card-flaky-status-bg-color);\n border: 1px solid var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.flaky.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-flaky-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.flaky.toggled .ff-content {\n background-color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.total .ff-status-bar {\n background-color: var(--card-total-defect-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.total .ff-content .ff-number {\n color: var(--card-total-defect-color);\n}\n.ff-card-container.total.toggled {\n background-color: var(--card-total-defect-color);\n border: 1px solid var(--card-total-defect-color);\n}\n.ff-card-container.total.toggled .ff-status-bar {\n border-right: 1px solid var(--card-total-defect-color);\n background-color: var(--base-bg-color);\n color: var(--card-total-defect-color);\n}\n.ff-card-container.total.toggled .ff-content {\n background-color: var(--card-total-defect-color);\n}\n.ff-card-container.defect .ff-status-bar {\n background-color: var(--card-defect-density);\n color: var(--base-bg-color);\n}\n.ff-card-container.defect .ff-content .ff-number {\n color: var(--card-defect-density);\n}\n.ff-card-container.defect.toggled {\n background-color: var(--card-defect-density);\n border: 1px solid var(--card-defect-density);\n}\n.ff-card-container.defect.toggled .ff-status-bar {\n border-right: 1px solid var(--card-defect-density);\n background-color: var(--base-bg-color);\n color: var(--card-defect-density);\n}\n.ff-card-container.defect.toggled .ff-content {\n background-color: var(--card-defect-density);\n}\n.ff-card-container.open .ff-status-bar {\n background-color: var(--ff-card-failed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.open .ff-content .ff-number {\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.open.toggled {\n background-color: var(--ff-card-failed-status-bg-color);\n border: 1px solid var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.open.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-failed-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.open.toggled .ff-content {\n background-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.closed .ff-status-bar {\n background-color: var(--ff-card-passed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.closed .ff-content .ff-number {\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.closed.toggled {\n background-color: var(--ff-card-passed-status-bg-color);\n border: 1px solid var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.closed.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-passed-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.closed.toggled .ff-content {\n background-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.quality .ff-status-bar {\n background-color: var(--ff-card-warning-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.quality .ff-content .ff-number {\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.quality.toggled {\n background-color: var(--ff-card-warning-status-bg-color);\n border: 1px solid var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.quality.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-warning-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.quality.toggled .ff-content {\n background-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container .ff-content {\n height: 100%;\n flex: 1;\n padding: 0px 8px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.ff-card-container .ff-content .ff-number {\n margin-bottom: 4px;\n color: inherit;\n}\n.ff-card-container .ff-content.red-background {\n gap: 8px;\n}");A(".ff-variable-dropdown {\n display: flex;\n flex-direction: column;\n background-color: var(--variable-dropdown-bg);\n border: 1px solid var(--border-color);\n border-radius: 3px;\n overflow: hidden;\n overflow-y: auto;\n}\n.ff-variable-dropdown.absolute {\n position: absolute;\n top: 34px;\n}\n.ff-variable-dropdown.relative {\n position: relative;\n}\n\n.ff-variable-option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n cursor: pointer;\n}\n.ff-variable-option:hover {\n background-color: var(--hover-color);\n}");const mC=({optionsList:t=[],onSelectVariable:n,dropdownPosition:r,position:o="relative",width:A="300px",zIndex:i=9999,truncateTextValue:a=34})=>e.jsx("div",{className:u("ff-variable-dropdown",o),style:r?{top:r.top+30,left:r.left-30,width:A,zIndex:i}:{width:A,zIndex:i},children:M(t)?e.jsx("div",{className:"ff-variable-option",children:e.jsx(b,{as:"span",fontSize:14,children:"No Option"})}):t?.map((t=>e.jsxs("div",{className:"ff-variable-option",onMouseDown:()=>n(t),children:[e.jsx(b,{as:"span",fontSize:14,children:D(t?.name,a)}),e.jsx(E,{name:"LOCAL"===t?.type?"local_variable_icon":"GLOBAL"===t?.type?"global_variable_icon":"project_env_variable_icon",height:16,width:16,hoverEffect:!0})]},t?.id)))});A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm, .ff-line-chart-inner-tooltip, .ff--line-chart-x-line-data, .ff-line-chart-y-axis-text, .ff-line-chart-date {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8, .ff-line-chart-x-axis-label {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-line-chart-container {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.ff-line-chart-text {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n.ff-line-chart-text .smooth-dot {\n transition: cx 0.2s ease, cy 0.2s ease;\n}\n\n.ff-line-chart-yAxisLabel-warpper {\n position: relative;\n min-width: 20px;\n height: 100%;\n}\n.ff-line-chart-yAxisLabel-warpper .ff-line-chart-yAxisLabel {\n position: absolute;\n right: 0;\n top: 50%;\n display: flex;\n white-space: nowrap;\n transform: rotate(270deg) translateX(60%);\n transform-origin: right center;\n}\n\n.ff-line-chart-text1 {\n transform-origin: center;\n transform: rotate(-90deg);\n transition: transform 1s ease-in-out;\n position: relative;\n left: 163px;\n min-width: 10px;\n color: var(--drawer-title-color);\n}\n\n.ff-line-chart-tooltip {\n position: absolute;\n background-color: var(--tooltip-bg-color);\n border-radius: 4px;\n pointer-events: none;\n display: flex;\n flex-direction: column;\n min-width: 30px;\n min-height: 30px;\n justify-content: center;\n align-items: flex-start;\n row-gap: 10px;\n padding: 8px !important;\n}\n\n.ff-line-chart-status-dot {\n width: 16px;\n height: 16px;\n border-radius: 100%;\n}\n\n.ff-line-chart-inner-tooltip {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 5px;\n color: var(--arrow-button-bg-color);\n}\n\n.ff-line-chart-date {\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n border-bottom: 1px solid var(--arrow-button-bg-color);\n color: var(--arrow-button-bg-color);\n}\n\n.ff-line-chart-x-axis-label {\n font-weight: 600;\n}');const EC=/([0-9\.]+)/,bC=/[a-zA-Z]+/,wC=/^(\d+\.?\d*)\s*(GB|MB|KB)?$/i;A(".ff-download-client-wrapper {\n position: absolute;\n height: 181px;\n width: 368px;\n border: 1px solid var(--download-client-border-color);\n border-radius: 4px;\n box-shadow: 0px 0px 8px 0px var(--download-client-icon-container-box-shadow-color);\n}\n.ff-download-client-wrapper .ff-download-client-header-wrapper {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n justify-content: space-between;\n background-color: var(--download-client-header-bg-color);\n}\n.ff-download-client-wrapper .ff-download-client-header-wrapper .ff-download-client-hollow-triangle {\n position: absolute;\n height: 8px;\n width: 8px;\n border: 1px solid var(--download-client-border-color);\n top: -6px;\n right: 64px;\n z-index: -1;\n border-radius: 2px;\n transform: rotate(45deg);\n}\n.ff-download-client-wrapper .ff-download-client-header-wrapper .ff-download-client-header-text {\n margin-left: 4px;\n}\n.ff-download-client-wrapper .ff-download-client-header-wrapper .ff-download-client-close-icon {\n cursor: pointer;\n margin-right: 10px;\n}\n.ff-download-client-wrapper .ff-download-client-content-text {\n width: calc(100% - 16px);\n height: 132px;\n background-color: #fff;\n padding: 8px;\n}\n.ff-download-client-wrapper .ff-download-client-content-text .ff-download-client-description-text {\n margin-bottom: 8px;\n}\n.ff-download-client-wrapper .ff-download-client-os-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n gap: 24px;\n}\n.ff-download-client-wrapper .ff-download-client-os-wrapper .ff-os-version-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n height: 64px;\n width: 64px;\n cursor: pointer;\n border-radius: 8px;\n border: 1px solid var(--download-client-icon-container-border-color);\n box-shadow: 0px 0px 10px 0px var(--download-client-icon-container-box-shadow-color);\n}");A(".ff_fieldSet_container .ff_fieldSet {\n border: 1px solid var(--ff-select-border-color);\n border-radius: 5px;\n}\n.ff_fieldSet_container .ff_fieldSet .ff_legend_container {\n display: flex;\n margin-left: 8px;\n}");A(".ff-create-variable-slider {\n padding: 8px;\n display: flex;\n transition: all 0.3s ease;\n flex-direction: column;\n gap: 8px;\n}\n.ff-create-variable-slider .ff-hide-value-content {\n display: flex;\n align-items: center;\n}\n\n.ff-create-slider-footer {\n width: 100%;\n gap: 8px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}");A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n:root {\n --tooltip-bg-color: #1e161f;\n --status-approved-text-color: #016102;\n --status-warning-text-color: #ff8b00;\n --status-rejected-text-color: #c60202;\n --status-skipped-text-color: #3c3838;\n --status-approved-bg-color: #c6efcd;\n --status-rejected-bg-color: #f7d9d9;\n --status-warning-bg-color: #fae2c6;\n --status-skipped-bg-color: #c4c3c3;\n --brand-color: #71347b;\n --icons-default-color: #71347b;\n --default-icon-color: #a3a3a3;\n --default-color: #747474;\n --primary-icon-color: #ffffff;\n --secondary-icon-color: #71347b;\n --system-color--error: #c50303;\n --hover-color: #f7ebff;\n --brand2-color: #610b86;\n --status-warning-hover-bg-color: #fcd8ac;\n --status-percentage-growth-bg-color: #ecedf8;\n --primary-icon-color: #ffffff;\n --secondary-icon-color: #71347b;\n --description-text-color: #d9d9d9;\n --expandable-menu-default-bg: #fdfaff;\n --expandable-menu-option-bg: rgba(97, 11, 134, 0.1019607843);\n --text-color: #1e161f;\n --file-dropzone-default-color: rgba(113, 52, 123, 0.1019607843);\n --file-dropzone-selected-color: rgba(113, 52, 123, 0.2);\n --file-details-container-shadow: rgba(30, 22, 31, 0.1607843137);\n --file-details-bg: #ffffff;\n --error-light: #e42525;\n --tabs-label-default-color: tabs-label-default-color;\n --tabs-label-active-color: tabs-label-active-color;\n --tabs-border-color: tabs-border-color;\n --tabs-bg-color: tabs-bg-color;\n --tab-bg-color: tab-bg-color;\n --toggle-button-bg-color: #ffffff;\n --toggle-strip-shadow: rgba(0, 0, 0, 0.2509803922);\n --toggle-strip-color: #cfd1e2;\n --disable-color: rgba(113, 52, 123, 0.5019607843);\n --toggle-strip-color: #cfd1e2;\n --add-icon-hover-color: #431b4a;\n --arrows-button-border-color: #ded1e5;\n --arrow-button-bg-color: #ffffff;\n --text-bg-highlight: #f5fb00;\n --slider-table-color: #efe1f9;\n --variable-dropdown-bg: #($variable-dropdown-bg);\n --dataset-tooltip-title: #($dataset-tooltip-title),\n --dataset-tooltip-value: #($dataset-tooltip-value), ;\n}\n\n.ff-accordion-table-container {\n overflow-y: auto;\n}\n.ff-accordion-table-container .ff-accordion-table {\n width: 100%;\n}\n.ff-accordion-table-container .ff-accordion-table .ff-table-header,\n.ff-accordion-table-container .ff-accordion-table .ff-table-cell {\n text-align: left;\n padding: 9px;\n}\n.ff-accordion-table-container .ff-accordion-table .ff-table-header {\n color: var(--text-color);\n border-bottom: 1px solid var(--slider-table-color);\n}\n.ff-accordion-table-container .ff-accordion-table .ff-table-body .ff-table-row:hover {\n background-color: var(--hover-color);\n}\n.ff-accordion-table-container .ff-accordion-table--primary-bg {\n background-color: var(--table-with-accordion-header-primary-bg);\n}\n.ff-accordion-table-container .ff-accordion-table--secondary-bg {\n background-color: var(--secondary-bg);\n}\n.ff-accordion-table-container .ff-accordion-table--default-bg {\n background-color: var(--default-bg);\n}\n.ff-accordion-table-container .ff-accordion-fixed-header {\n position: sticky;\n top: 0;\n z-index: 99;\n background-color: var(--file-details-bg);\n}\n.ff-accordion-table-container .column-table-accordion {\n width: 100%;\n}\n.ff-accordion-table-container .column-table-accordion .accordion-header {\n display: flex;\n align-items: center;\n}\n.ff-accordion-table-container .column-table-accordion .accordion-header .header-title {\n padding: 8px;\n}\n.ff-accordion-table-container .column-table-accordion .accordion-header .accordion-arrow img {\n height: 30px;\n width: 35px;\n}');A(".ff-progress-bar-container {\n width: 100%;\n min-width: 200px;\n display: flex;\n align-items: center;\n gap: 5px;\n}\n.ff-progress-bar-container.ff-has-label {\n justify-content: space-between;\n}\n.ff-progress-bar-container:not(.ff-has-label) .ff-progress-bar-track {\n flex: 1;\n}\n\n.ff-progress-bar-track {\n flex: 1;\n background-color: var(--ff-progress-bar-bg-color);\n border-radius: 5px;\n overflow: hidden;\n position: relative;\n}\n\n.ff-progress-bar {\n border-radius: 5px;\n transition: width 0.3s ease;\n}\n\n.ff-progress-bar-percentage {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.ff-progress-bar-label {\n max-width: 50px;\n font-size: 14px;\n color: var(--ff-card-status-text-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}");A("/* Container Styling */\n.ff-script-switch-container {\n display: flex;\n background-color: var(--base-bg-color);\n height: 24px;\n width: 48px;\n border-radius: 6px;\n border: 1px solid var(--border-color);\n align-items: center;\n justify-content: center;\n /* Button Styling */\n /* Active Button */\n}\n.ff-script-switch-container .ff-script-switch-button {\n padding: 0.1px;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n outline: none;\n transition: all 0.3s ease;\n /* Button Hover Effect */\n}\n.ff-script-switch-container .ff-script-switch-button:hover {\n background-color: var(--hover-color);\n color: var(--brand-color);\n}\n.ff-script-switch-container .ff-script-switch-button.active {\n background-color: var(--ff-line-number-bg);\n color: var(--base-bg-color);\n}");A("/* Container Styling */\n.ff-switch-container {\n display: flex;\n background-color: var(--base-bg-color);\n height: 24px;\n width: 48px;\n border-radius: 5px;\n border: 1px solid var(--brand-color);\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n overflow: hidden;\n /* Button Styling */\n /* Active Button */\n}\n.ff-switch-container .ff-switch-button {\n cursor: pointer;\n transition: all 0.3s ease;\n /* Button Hover Effect */\n}\n.ff-switch-container .ff-switch-button:hover {\n background-color: var(--hover-color);\n color: var(--brand-color);\n}\n.ff-switch-container .ff-switch-button.active {\n background-color: var(--brand-color);\n color: var(--base-bg-color);\n}");A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-mobileskin-wrapper, .ff-mobileskin-wrapper .ff-mobileskin-container {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n flex-direction: column;\n}\n.ff-mobileskin-wrapper.portrait, .ff-mobileskin-wrapper .portrait.ff-mobileskin-container {\n gap: 30px;\n}\n.ff-mobileskin-wrapper.landscape, .ff-mobileskin-wrapper .landscape.ff-mobileskin-container {\n gap: 38px;\n}\n.ff-mobileskin-wrapper .ff-mobileskin-container .ff-mobile-container {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n border: 8px solid var(--text-color);\n border-radius: 30px;\n position: relative;\n overflow: hidden;\n}\n.ff-mobileskin-wrapper .ff-mobileskin-container .ff-mobile-container::-webkit-scrollbar {\n width: 0;\n height: 0;\n}\n.ff-mobileskin-wrapper .ff-mobileskin-container .ff-mobile-container::-webkit-scrollbar-thumb {\n background-color: transparent;\n}\n.ff-mobileskin-wrapper .ff-mobileskin-container .ff-mobile-container .ff-mobile-image-container {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n overflow: hidden;\n}\n.ff-mobileskin-wrapper .ff-nav-bar {\n height: 32px;\n padding: 8px;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n border: 1px solid var(--brand-color);\n border-radius: 24px;\n}\n.ff-mobileskin-wrapper .ff-nav-bar-icon {\n height: 16px;\n padding: 8px;\n border-right: 1px solid var(--brand-color);\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n}\n.ff-mobileskin-wrapper .ff-nav-bar-icon.last-icon {\n border-right: none;\n}');const vC=(e,t)=>{if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return!1;const n=Array.isArray(e),r=Array.isArray(t);if(n!==r)return!1;const o=n?e:Object.keys(e),A=r?t:Object.keys(t);if(o.length!==A.length)return!1;if(n)return o.every(((e,t)=>vC(e,A[t])));{const n=new Set(A);return o.every((r=>n.has(r)&&vC(e[r],t[r])))}};function BC(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function LC(e,t){return e&t}function MC(e,t){return e|t}function IC(e,t){return e^t}function yC(e,t){return e&~t}function xC(e){if(0==e)return-1;var t=0;return 65535&e||(e>>=16,t+=16),255&e||(e>>=8,t+=8),15&e||(e>>=4,t+=4),3&e||(e>>=2,t+=2),1&e||++t,t}function QC(e){for(var t=0;0!=e;)e&=e-1,++t;return t}var DC,HC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function ZC(e){var t,n,r="";for(t=0;t+3<=e.length;t+=3)n=parseInt(e.substring(t,t+3),16),r+=HC.charAt(n>>6)+HC.charAt(63&n);for(t+1==e.length?(n=parseInt(e.substring(t,t+1),16),r+=HC.charAt(n<<2)):t+2==e.length&&(n=parseInt(e.substring(t,t+2),16),r+=HC.charAt(n>>2)+HC.charAt((3&n)<<4));(3&r.length)>0;)r+="=";return r}function kC(e){var t,n="",r=0,o=0;for(t=0;t<e.length&&"="!=e.charAt(t);++t){var A=HC.indexOf(e.charAt(t));A<0||(0==r?(n+=BC(A>>2),o=3&A,r=1):1==r?(n+=BC(o<<2|A>>4),o=15&A,r=2):2==r?(n+=BC(o),n+=BC(A>>2),o=3&A,r=3):(n+=BC(o<<2|A>>4),n+=BC(15&A),r=0))}return 1==r&&(n+=BC(o<<2)),n}var VC,jC=function(e){var t;if(void 0===DC){var n="0123456789ABCDEF",r=" \f\n\r\t \u2028\u2029";for(DC={},t=0;t<16;++t)DC[n.charAt(t)]=t;for(n=n.toLowerCase(),t=10;t<16;++t)DC[n.charAt(t)]=t;for(t=0;t<8;++t)DC[r.charAt(t)]=-1}var o=[],A=0,i=0;for(t=0;t<e.length;++t){var a=e.charAt(t);if("="==a)break;if(-1!=(a=DC[a])){if(void 0===a)throw new Error("Illegal character at offset "+t);A|=a,++i>=2?(o[o.length]=A,A=0,i=0):A<<=4}}if(i)throw new Error("Hex encoding incomplete: 4 bits missing");return o},NC={decode:function(e){var t;if(void 0===VC){var n="= \f\n\r\t \u2028\u2029";for(VC=Object.create(null),t=0;t<64;++t)VC["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)]=t;for(VC["-"]=62,VC._=63,t=0;t<9;++t)VC[n.charAt(t)]=-1}var r=[],o=0,A=0;for(t=0;t<e.length;++t){var i=e.charAt(t);if("="==i)break;if(-1!=(i=VC[i])){if(void 0===i)throw new Error("Illegal character at offset "+t);o|=i,++A>=4?(r[r.length]=o>>16,r[r.length]=o>>8&255,r[r.length]=255&o,o=0,A=0):o<<=6}}switch(A){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:r[r.length]=o>>10;break;case 3:r[r.length]=o>>16,r[r.length]=o>>8&255}return r},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(e){var t=NC.re.exec(e);if(t)if(t[1])e=t[1];else{if(!t[2])throw new Error("RegExp out of sync");e=t[2]}return NC.decode(e)}},zC=1e13,OC=function(){function e(e){this.buf=[+e||0]}return e.prototype.mulAdd=function(e,t){var n,r,o=this.buf,A=o.length;for(n=0;n<A;++n)(r=o[n]*e+t)<zC?t=0:r-=(t=0|r/zC)*zC,o[n]=r;t>0&&(o[n]=t)},e.prototype.sub=function(e){var t,n,r=this.buf,o=r.length;for(t=0;t<o;++t)(n=r[t]-e)<0?(n+=zC,e=1):e=0,r[t]=n;for(;0===r[r.length-1];)r.pop()},e.prototype.toString=function(e){if(10!=(e||10))throw new Error("only base 10 is supported");for(var t=this.buf,n=t[t.length-1].toString(),r=t.length-2;r>=0;--r)n+=(zC+t[r]).toString().substring(1);return n},e.prototype.valueOf=function(){for(var e=this.buf,t=0,n=e.length-1;n>=0;--n)t=t*zC+e[n];return t},e.prototype.simplify=function(){var e=this.buf;return 1==e.length?e[0]:this},e}(),PC=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,SC=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function FC(e,t){return e.length>t&&(e=e.substring(0,t)+"…"),e}var TC,RC=function(){function e(t,n){this.hexDigits="0123456789ABCDEF",t instanceof e?(this.enc=t.enc,this.pos=t.pos):(this.enc=t,this.pos=n)}return e.prototype.get=function(e){if(void 0===e&&(e=this.pos++),e>=this.enc.length)throw new Error("Requesting byte offset ".concat(e," on a stream of length ").concat(this.enc.length));return"string"==typeof this.enc?this.enc.charCodeAt(e):this.enc[e]},e.prototype.hexByte=function(e){return this.hexDigits.charAt(e>>4&15)+this.hexDigits.charAt(15&e)},e.prototype.hexDump=function(e,t,n){for(var r="",o=e;o<t;++o)if(r+=this.hexByte(this.get(o)),!0!==n)switch(15&o){case 7:r+=" ";break;case 15:r+="\n";break;default:r+=" "}return r},e.prototype.isASCII=function(e,t){for(var n=e;n<t;++n){var r=this.get(n);if(r<32||r>176)return!1}return!0},e.prototype.parseStringISO=function(e,t){for(var n="",r=e;r<t;++r)n+=String.fromCharCode(this.get(r));return n},e.prototype.parseStringUTF=function(e,t){for(var n="",r=e;r<t;){var o=this.get(r++);n+=o<128?String.fromCharCode(o):o>191&&o<224?String.fromCharCode((31&o)<<6|63&this.get(r++)):String.fromCharCode((15&o)<<12|(63&this.get(r++))<<6|63&this.get(r++))}return n},e.prototype.parseStringBMP=function(e,t){for(var n,r,o="",A=e;A<t;)n=this.get(A++),r=this.get(A++),o+=String.fromCharCode(n<<8|r);return o},e.prototype.parseTime=function(e,t,n){var r=this.parseStringISO(e,t),o=(n?PC:SC).exec(r);return o?(n&&(o[1]=+o[1],o[1]+=+o[1]<70?2e3:1900),r=o[1]+"-"+o[2]+"-"+o[3]+" "+o[4],o[5]&&(r+=":"+o[5],o[6]&&(r+=":"+o[6],o[7]&&(r+="."+o[7]))),o[8]&&(r+=" UTC","Z"!=o[8]&&(r+=o[8],o[9]&&(r+=":"+o[9]))),r):"Unrecognized time: "+r},e.prototype.parseInteger=function(e,t){for(var n,r=this.get(e),o=r>127,A=o?255:0,i="";r==A&&++e<t;)r=this.get(e);if(0===(n=t-e))return o?-1:0;if(n>4){for(i=r,n<<=3;!(128&(+i^A));)i=+i<<1,--n;i="("+n+" bit)\n"}o&&(r-=256);for(var a=new OC(r),l=e+1;l<t;++l)a.mulAdd(256,this.get(l));return i+a.toString()},e.prototype.parseBitString=function(e,t,n){for(var r=this.get(e),o="("+((t-e-1<<3)-r)+" bit)\n",A="",i=e+1;i<t;++i){for(var a=this.get(i),l=i==t-1?r:0,c=7;c>=l;--c)A+=a>>c&1?"1":"0";if(A.length>n)return o+FC(A,n)}return o+A},e.prototype.parseOctetString=function(e,t,n){if(this.isASCII(e,t))return FC(this.parseStringISO(e,t),n);var r=t-e,o="("+r+" byte)\n";r>(n/=2)&&(t=e+n);for(var A=e;A<t;++A)o+=this.hexByte(this.get(A));return r>n&&(o+="…"),o},e.prototype.parseOID=function(e,t,n){for(var r="",o=new OC,A=0,i=e;i<t;++i){var a=this.get(i);if(o.mulAdd(128,127&a),A+=7,!(128&a)){if(""===r)if((o=o.simplify())instanceof OC)o.sub(80),r="2."+o.toString();else{var l=o<80?o<40?0:1:2;r=l+"."+(o-40*l)}else r+="."+o.toString();if(r.length>n)return FC(r,n);o=new OC,A=0}}return A>0&&(r+=".incomplete"),r},e}(),GC=function(){function e(e,t,n,r,o){if(!(r instanceof XC))throw new Error("Invalid tag value.");this.stream=e,this.header=t,this.length=n,this.tag=r,this.sub=o}return e.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}},e.prototype.content=function(e){if(void 0===this.tag)return null;void 0===e&&(e=1/0);var t=this.posContent(),n=Math.abs(this.length);if(!this.tag.isUniversal())return null!==this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(t,t+n,e);switch(this.tag.tagNumber){case 1:return 0===this.stream.get(t)?"false":"true";case 2:return this.stream.parseInteger(t,t+n);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(t,t+n,e);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(t,t+n,e);case 6:return this.stream.parseOID(t,t+n,e);case 16:case 17:return null!==this.sub?"("+this.sub.length+" elem)":"(no elem)";case 12:return FC(this.stream.parseStringUTF(t,t+n),e);case 18:case 19:case 20:case 21:case 22:case 26:return FC(this.stream.parseStringISO(t,t+n),e);case 30:return FC(this.stream.parseStringBMP(t,t+n),e);case 23:case 24:return this.stream.parseTime(t,t+n,23==this.tag.tagNumber)}return null},e.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},e.prototype.toPrettyString=function(e){void 0===e&&(e="");var t=e+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(t+="+"),t+=this.length,this.tag.tagConstructed?t+=" (constructed)":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(t+=" (encapsulates)"),t+="\n",null!==this.sub){e+=" ";for(var n=0,r=this.sub.length;n<r;++n)t+=this.sub[n].toPrettyString(e)}return t},e.prototype.posStart=function(){return this.stream.pos},e.prototype.posContent=function(){return this.stream.pos+this.header},e.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},e.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},e.decodeLength=function(e){var t=e.get(),n=127&t;if(n==t)return n;if(n>6)throw new Error("Length over 48 bits not supported at position "+(e.pos-1));if(0===n)return null;t=0;for(var r=0;r<n;++r)t=256*t+e.get();return t},e.prototype.getHexStringValue=function(){var e=this.toHexString(),t=2*this.header,n=2*this.length;return e.substr(t,n)},e.decode=function(t){var n;n=t instanceof RC?t:new RC(t,0);var r=new RC(n),o=new XC(n),A=e.decodeLength(n),i=n.pos,a=i-r.pos,l=null,c=function(){var t=[];if(null!==A){for(var r=i+A;n.pos<r;)t[t.length]=e.decode(n);if(n.pos!=r)throw new Error("Content size is not correct for container starting at offset "+i)}else try{for(;;){var o=e.decode(n);if(o.tag.isEOC())break;t[t.length]=o}A=i-n.pos}catch(e){throw new Error("Exception while decoding undefined length content: "+e)}return t};if(o.tagConstructed)l=c();else if(o.isUniversal()&&(3==o.tagNumber||4==o.tagNumber))try{if(3==o.tagNumber&&0!=n.get())throw new Error("BIT STRINGs with unused bits cannot encapsulate.");l=c();for(var s=0;s<l.length;++s)if(l[s].tag.isEOC())throw new Error("EOC is not supposed to be actual content.")}catch(e){l=null}if(null===l){if(null===A)throw new Error("We can't skip over an invalid tag with undefined length at offset "+i);n.pos=i+Math.abs(A)}return new e(r,a,A,o,l)},e}(),XC=function(){function e(e){var t=e.get();if(this.tagClass=t>>6,this.tagConstructed=!!(32&t),this.tagNumber=31&t,31==this.tagNumber){var n=new OC;do{t=e.get(),n.mulAdd(128,127&t)}while(128&t);this.tagNumber=n.simplify()}}return e.prototype.isUniversal=function(){return 0===this.tagClass},e.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},e}(),YC=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],KC=(1<<26)/YC[YC.length-1],UC=function(){function e(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}return e.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,r=(1<<t)-1,o=!1,A="",i=this.t,a=this.DB-i*this.DB%t;if(i-- >0)for(a<this.DB&&(n=this[i]>>a)>0&&(o=!0,A=BC(n));i>=0;)a<t?(n=(this[i]&(1<<a)-1)<<t-a,n|=this[--i]>>(a+=this.DB-t)):(n=this[i]>>(a-=t)&r,a<=0&&(a+=this.DB,--i)),n>0&&(o=!0),o&&(A+=BC(n));return o?A:"0"},e.prototype.negate=function(){var t=$C();return e.ZERO.subTo(this,t),t},e.prototype.abs=function(){return this.s<0?this.negate():this},e.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},e.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+ap(this[this.t-1]^this.s&this.DM)},e.prototype.mod=function(t){var n=$C();return this.abs().divRemTo(t,null,n),this.s<0&&n.compareTo(e.ZERO)>0&&t.subTo(n,n),n},e.prototype.modPowInt=function(e,t){var n;return n=e<256||t.isEven()?new qC(t):new JC(t),this.exp(e,n)},e.prototype.clone=function(){var e=$C();return this.copyTo(e),e},e.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},e.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},e.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},e.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},e.prototype.toByteArray=function(){var e=this.t,t=[];t[0]=this.s;var n,r=this.DB-e*this.DB%8,o=0;if(e-- >0)for(r<this.DB&&(n=this[e]>>r)!=(this.s&this.DM)>>r&&(t[o++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this[e]&(1<<r)-1)<<8-r,n|=this[--e]>>(r+=this.DB-8)):(n=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),128&n&&(n|=-256),0==o&&(128&this.s)!=(128&n)&&++o,(o>0||n!=this.s)&&(t[o++]=n);return t},e.prototype.equals=function(e){return 0==this.compareTo(e)},e.prototype.min=function(e){return this.compareTo(e)<0?this:e},e.prototype.max=function(e){return this.compareTo(e)>0?this:e},e.prototype.and=function(e){var t=$C();return this.bitwiseTo(e,LC,t),t},e.prototype.or=function(e){var t=$C();return this.bitwiseTo(e,MC,t),t},e.prototype.xor=function(e){var t=$C();return this.bitwiseTo(e,IC,t),t},e.prototype.andNot=function(e){var t=$C();return this.bitwiseTo(e,yC,t),t},e.prototype.not=function(){for(var e=$C(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e},e.prototype.shiftLeft=function(e){var t=$C();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},e.prototype.shiftRight=function(e){var t=$C();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},e.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+xC(this[e]);return this.s<0?this.t*this.DB:-1},e.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,n=0;n<this.t;++n)e+=QC(this[n]^t);return e},e.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:!!(this[t]&1<<e%this.DB)},e.prototype.setBit=function(e){return this.changeBit(e,MC)},e.prototype.clearBit=function(e){return this.changeBit(e,yC)},e.prototype.flipBit=function(e){return this.changeBit(e,IC)},e.prototype.add=function(e){var t=$C();return this.addTo(e,t),t},e.prototype.subtract=function(e){var t=$C();return this.subTo(e,t),t},e.prototype.multiply=function(e){var t=$C();return this.multiplyTo(e,t),t},e.prototype.divide=function(e){var t=$C();return this.divRemTo(e,t,null),t},e.prototype.remainder=function(e){var t=$C();return this.divRemTo(e,null,t),t},e.prototype.divideAndRemainder=function(e){var t=$C(),n=$C();return this.divRemTo(e,t,n),[t,n]},e.prototype.modPow=function(e,t){var n,r,o=e.bitLength(),A=ip(1);if(o<=0)return A;n=o<18?1:o<48?3:o<144?4:o<768?5:6,r=o<8?new qC(t):t.isEven()?new _C(t):new JC(t);var i=[],a=3,l=n-1,c=(1<<n)-1;if(i[1]=r.convert(this),n>1){var s=$C();for(r.sqrTo(i[1],s);a<=c;)i[a]=$C(),r.mulTo(s,i[a-2],i[a]),a+=2}var f,d,u=e.t-1,C=!0,p=$C();for(o=ap(e[u])-1;u>=0;){for(o>=l?f=e[u]>>o-l&c:(f=(e[u]&(1<<o+1)-1)<<l-o,u>0&&(f|=e[u-1]>>this.DB+o-l)),a=n;!(1&f);)f>>=1,--a;if((o-=a)<0&&(o+=this.DB,--u),C)i[f].copyTo(A),C=!1;else{for(;a>1;)r.sqrTo(A,p),r.sqrTo(p,A),a-=2;a>0?r.sqrTo(A,p):(d=A,A=p,p=d),r.mulTo(p,i[f],A)}for(;u>=0&&!(e[u]&1<<o);)r.sqrTo(A,p),d=A,A=p,p=d,--o<0&&(o=this.DB-1,--u)}return r.revert(A)},e.prototype.modInverse=function(t){var n=t.isEven();if(this.isEven()&&n||0==t.signum())return e.ZERO;for(var r=t.clone(),o=this.clone(),A=ip(1),i=ip(0),a=ip(0),l=ip(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),n?(A.isEven()&&i.isEven()||(A.addTo(this,A),i.subTo(t,i)),A.rShiftTo(1,A)):i.isEven()||i.subTo(t,i),i.rShiftTo(1,i);for(;o.isEven();)o.rShiftTo(1,o),n?(a.isEven()&&l.isEven()||(a.addTo(this,a),l.subTo(t,l)),a.rShiftTo(1,a)):l.isEven()||l.subTo(t,l),l.rShiftTo(1,l);r.compareTo(o)>=0?(r.subTo(o,r),n&&A.subTo(a,A),i.subTo(l,i)):(o.subTo(r,o),n&&a.subTo(A,a),l.subTo(i,l))}return 0!=o.compareTo(e.ONE)?e.ZERO:l.compareTo(t)>=0?l.subtract(t):l.signum()<0?(l.addTo(t,l),l.signum()<0?l.add(t):l):l},e.prototype.pow=function(e){return this.exp(e,new WC)},e.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),n=e.s<0?e.negate():e.clone();if(t.compareTo(n)<0){var r=t;t=n,n=r}var o=t.getLowestSetBit(),A=n.getLowestSetBit();if(A<0)return t;for(o<A&&(A=o),A>0&&(t.rShiftTo(A,t),n.rShiftTo(A,n));t.signum()>0;)(o=t.getLowestSetBit())>0&&t.rShiftTo(o,t),(o=n.getLowestSetBit())>0&&n.rShiftTo(o,n),t.compareTo(n)>=0?(t.subTo(n,t),t.rShiftTo(1,t)):(n.subTo(t,n),n.rShiftTo(1,n));return A>0&&n.lShiftTo(A,n),n},e.prototype.isProbablePrime=function(e){var t,n=this.abs();if(1==n.t&&n[0]<=YC[YC.length-1]){for(t=0;t<YC.length;++t)if(n[0]==YC[t])return!0;return!1}if(n.isEven())return!1;for(t=1;t<YC.length;){for(var r=YC[t],o=t+1;o<YC.length&&r<KC;)r*=YC[o++];for(r=n.modInt(r);t<o;)if(r%YC[t++]==0)return!1}return n.millerRabin(e)},e.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},e.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},e.prototype.fromString=function(t,n){var r;if(16==n)r=4;else if(8==n)r=3;else if(256==n)r=8;else if(2==n)r=1;else if(32==n)r=5;else{if(4!=n)return void this.fromRadix(t,n);r=2}this.t=0,this.s=0;for(var o=t.length,A=!1,i=0;--o>=0;){var a=8==r?255&+t[o]:Ap(t,o);a<0?"-"==t.charAt(o)&&(A=!0):(A=!1,0==i?this[this.t++]=a:i+r>this.DB?(this[this.t-1]|=(a&(1<<this.DB-i)-1)<<i,this[this.t++]=a>>this.DB-i):this[this.t-1]|=a<<i,(i+=r)>=this.DB&&(i-=this.DB))}8==r&&128&+t[0]&&(this.s=-1,i>0&&(this[this.t-1]|=(1<<this.DB-i)-1<<i)),this.clamp(),A&&e.ZERO.subTo(this,this)},e.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},e.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},e.prototype.drShiftTo=function(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s},e.prototype.lShiftTo=function(e,t){for(var n=e%this.DB,r=this.DB-n,o=(1<<r)-1,A=Math.floor(e/this.DB),i=this.s<<n&this.DM,a=this.t-1;a>=0;--a)t[a+A+1]=this[a]>>r|i,i=(this[a]&o)<<n;for(a=A-1;a>=0;--a)t[a]=0;t[A]=i,t.t=this.t+A+1,t.s=this.s,t.clamp()},e.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var r=e%this.DB,o=this.DB-r,A=(1<<r)-1;t[0]=this[n]>>r;for(var i=n+1;i<this.t;++i)t[i-n-1]|=(this[i]&A)<<o,t[i-n]=this[i]>>r;r>0&&(t[this.t-n-1]|=(this.s&A)<<o),t.t=this.t-n,t.clamp()}},e.prototype.subTo=function(e,t){for(var n=0,r=0,o=Math.min(e.t,this.t);n<o;)r+=this[n]-e[n],t[n++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r-=e.s;n<this.t;)r+=this[n],t[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<e.t;)r-=e[n],t[n++]=r&this.DM,r>>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[n++]=this.DV+r:r>0&&(t[n++]=r),t.t=n,t.clamp()},e.prototype.multiplyTo=function(t,n){var r=this.abs(),o=t.abs(),A=r.t;for(n.t=A+o.t;--A>=0;)n[A]=0;for(A=0;A<o.t;++A)n[A+r.t]=r.am(0,o[A],n,A,0,r.t);n.s=0,n.clamp(),this.s!=t.s&&e.ZERO.subTo(n,n)},e.prototype.squareTo=function(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var r=t.am(n,t[n],e,2*n,0,1);(e[n+t.t]+=t.am(n+1,2*t[n],e,2*n+1,r,t.t-n-1))>=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},e.prototype.divRemTo=function(t,n,r){var o=t.abs();if(!(o.t<=0)){var A=this.abs();if(A.t<o.t)return null!=n&&n.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=$C());var i=$C(),a=this.s,l=t.s,c=this.DB-ap(o[o.t-1]);c>0?(o.lShiftTo(c,i),A.lShiftTo(c,r)):(o.copyTo(i),A.copyTo(r));var s=i.t,f=i[s-1];if(0!=f){var d=f*(1<<this.F1)+(s>1?i[s-2]>>this.F2:0),u=this.FV/d,C=(1<<this.F1)/d,p=1<<this.F2,g=r.t,h=g-s,m=null==n?$C():n;for(i.dlShiftTo(h,m),r.compareTo(m)>=0&&(r[r.t++]=1,r.subTo(m,r)),e.ONE.dlShiftTo(s,m),m.subTo(i,i);i.t<s;)i[i.t++]=0;for(;--h>=0;){var E=r[--g]==f?this.DM:Math.floor(r[g]*u+(r[g-1]+p)*C);if((r[g]+=i.am(0,E,r,h,0,s))<E)for(i.dlShiftTo(h,m),r.subTo(m,r);r[g]<--E;)r.subTo(m,r)}null!=n&&(r.drShiftTo(s,n),a!=l&&e.ZERO.subTo(n,n)),r.t=s,r.clamp(),c>0&&r.rShiftTo(c,r),a<0&&e.ZERO.subTo(r,r)}}},e.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(!(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},e.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},e.prototype.exp=function(t,n){if(t>4294967295||t<1)return e.ONE;var r=$C(),o=$C(),A=n.convert(this),i=ap(t)-1;for(A.copyTo(r);--i>=0;)if(n.sqrTo(r,o),(t&1<<i)>0)n.mulTo(o,A,r);else{var a=r;r=o,o=a}return n.revert(r)},e.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},e.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),n=Math.pow(e,t),r=ip(n),o=$C(),A=$C(),i="";for(this.divRemTo(r,o,A);o.signum()>0;)i=(n+A.intValue()).toString(e).substr(1)+i,o.divRemTo(r,o,A);return A.intValue().toString(e)+i},e.prototype.fromRadix=function(t,n){this.fromInt(0),null==n&&(n=10);for(var r=this.chunkSize(n),o=Math.pow(n,r),A=!1,i=0,a=0,l=0;l<t.length;++l){var c=Ap(t,l);c<0?"-"==t.charAt(l)&&0==this.signum()&&(A=!0):(a=n*a+c,++i>=r&&(this.dMultiply(o),this.dAddOffset(a,0),i=0,a=0))}i>0&&(this.dMultiply(Math.pow(n,i)),this.dAddOffset(a,0)),A&&e.ZERO.subTo(this,this)},e.prototype.fromNumber=function(t,n,r){if("number"==typeof n)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(e.ONE.shiftLeft(t-1),MC,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(n);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(e.ONE.shiftLeft(t-1),this);else{var o=[],A=7&t;o.length=1+(t>>3),n.nextBytes(o),A>0?o[0]&=(1<<A)-1:o[0]=0,this.fromString(o,256)}},e.prototype.bitwiseTo=function(e,t,n){var r,o,A=Math.min(e.t,this.t);for(r=0;r<A;++r)n[r]=t(this[r],e[r]);if(e.t<this.t){for(o=e.s&this.DM,r=A;r<this.t;++r)n[r]=t(this[r],o);n.t=this.t}else{for(o=this.s&this.DM,r=A;r<e.t;++r)n[r]=t(o,e[r]);n.t=e.t}n.s=t(this.s,e.s),n.clamp()},e.prototype.changeBit=function(t,n){var r=e.ONE.shiftLeft(t);return this.bitwiseTo(r,n,r),r},e.prototype.addTo=function(e,t){for(var n=0,r=0,o=Math.min(e.t,this.t);n<o;)r+=this[n]+e[n],t[n++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r+=e.s;n<this.t;)r+=this[n],t[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<e.t;)r+=e[n],t[n++]=r&this.DM,r>>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[n++]=r:r<-1&&(t[n++]=this.DV+r),t.t=n,t.clamp()},e.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},e.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},e.prototype.multiplyLowerTo=function(e,t,n){var r=Math.min(this.t+e.t,t);for(n.s=0,n.t=r;r>0;)n[--r]=0;for(var o=n.t-this.t;r<o;++r)n[r+this.t]=this.am(0,e[r],n,r,0,this.t);for(o=Math.min(e.t,t);r<o;++r)this.am(0,e[r],n,r,0,t-r);n.clamp()},e.prototype.multiplyUpperTo=function(e,t,n){--t;var r=n.t=this.t+e.t-t;for(n.s=0;--r>=0;)n[r]=0;for(r=Math.max(t-this.t,0);r<e.t;++r)n[this.t+r-t]=this.am(t-r,e[r],n,0,0,this.t+r-t);n.clamp(),n.drShiftTo(1,n)},e.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,n=this.s<0?e-1:0;if(this.t>0)if(0==t)n=this[0]%e;else for(var r=this.t-1;r>=0;--r)n=(t*n+this[r])%e;return n},e.prototype.millerRabin=function(t){var n=this.subtract(e.ONE),r=n.getLowestSetBit();if(r<=0)return!1;var o=n.shiftRight(r);(t=t+1>>1)>YC.length&&(t=YC.length);for(var A=$C(),i=0;i<t;++i){A.fromInt(YC[Math.floor(Math.random()*YC.length)]);var a=A.modPow(o,this);if(0!=a.compareTo(e.ONE)&&0!=a.compareTo(n)){for(var l=1;l++<r&&0!=a.compareTo(n);)if(0==(a=a.modPowInt(2,this)).compareTo(e.ONE))return!1;if(0!=a.compareTo(n))return!1}}return!0},e.prototype.square=function(){var e=$C();return this.squareTo(e),e},e.prototype.gcda=function(e,t){var n=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(n.compareTo(r)<0){var o=n;n=r,r=o}var A=n.getLowestSetBit(),i=r.getLowestSetBit();if(i<0)t(n);else{A<i&&(i=A),i>0&&(n.rShiftTo(i,n),r.rShiftTo(i,r));var a=function(){(A=n.getLowestSetBit())>0&&n.rShiftTo(A,n),(A=r.getLowestSetBit())>0&&r.rShiftTo(A,r),n.compareTo(r)>=0?(n.subTo(r,n),n.rShiftTo(1,n)):(r.subTo(n,r),r.rShiftTo(1,r)),n.signum()>0?setTimeout(a,0):(i>0&&r.lShiftTo(i,r),setTimeout((function(){t(r)}),0))};setTimeout(a,10)}},e.prototype.fromNumberAsync=function(t,n,r,o){if("number"==typeof n)if(t<2)this.fromInt(1);else{this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(e.ONE.shiftLeft(t-1),MC,this),this.isEven()&&this.dAddOffset(1,0);var A=this,i=function(){A.dAddOffset(2,0),A.bitLength()>t&&A.subTo(e.ONE.shiftLeft(t-1),A),A.isProbablePrime(n)?setTimeout((function(){o()}),0):setTimeout(i,0)};setTimeout(i,0)}else{var a=[],l=7&t;a.length=1+(t>>3),n.nextBytes(a),l>0?a[0]&=(1<<l)-1:a[0]=0,this.fromString(a,256)}},e}(),WC=function(){function e(){}return e.prototype.convert=function(e){return e},e.prototype.revert=function(e){return e},e.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n)},e.prototype.sqrTo=function(e,t){e.squareTo(t)},e}(),qC=function(){function e(e){this.m=e}return e.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},e.prototype.revert=function(e){return e},e.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},e.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},e.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},e}(),JC=function(){function e(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}return e.prototype.convert=function(e){var t=$C();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(UC.ZERO)>0&&this.m.subTo(t,t),t},e.prototype.revert=function(e){var t=$C();return e.copyTo(t),this.reduce(t),t},e.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var n=32767&e[t],r=n*this.mpl+((n*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},e.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},e.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},e}(),_C=function(){function e(e){this.m=e,this.r2=$C(),this.q3=$C(),UC.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e)}return e.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=$C();return e.copyTo(t),this.reduce(t),t},e.prototype.revert=function(e){return e},e.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},e.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},e.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},e}();function $C(){return new UC(null)}function ep(e,t){return new UC(e,t)}var tp="undefined"!=typeof navigator;tp&&"Microsoft Internet Explorer"==navigator.appName?(UC.prototype.am=function(e,t,n,r,o,A){for(var i=32767&t,a=t>>15;--A>=0;){var l=32767&this[e],c=this[e++]>>15,s=a*l+c*i;o=((l=i*l+((32767&s)<<15)+n[r]+(1073741823&o))>>>30)+(s>>>15)+a*c+(o>>>30),n[r++]=1073741823&l}return o},TC=30):tp&&"Netscape"!=navigator.appName?(UC.prototype.am=function(e,t,n,r,o,A){for(;--A>=0;){var i=t*this[e++]+n[r]+o;o=Math.floor(i/67108864),n[r++]=67108863&i}return o},TC=26):(UC.prototype.am=function(e,t,n,r,o,A){for(var i=16383&t,a=t>>14;--A>=0;){var l=16383&this[e],c=this[e++]>>14,s=a*l+c*i;o=((l=i*l+((16383&s)<<14)+n[r]+o)>>28)+(s>>14)+a*c,n[r++]=268435455&l}return o},TC=28),UC.prototype.DB=TC,UC.prototype.DM=(1<<TC)-1,UC.prototype.DV=1<<TC;UC.prototype.FV=Math.pow(2,52),UC.prototype.F1=52-TC,UC.prototype.F2=2*TC-52;var np,rp,op=[];for(np="0".charCodeAt(0),rp=0;rp<=9;++rp)op[np++]=rp;for(np="a".charCodeAt(0),rp=10;rp<36;++rp)op[np++]=rp;for(np="A".charCodeAt(0),rp=10;rp<36;++rp)op[np++]=rp;function Ap(e,t){var n=op[e.charCodeAt(t)];return null==n?-1:n}function ip(e){var t=$C();return t.fromInt(e),t}function ap(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}UC.ZERO=ip(0),UC.ONE=ip(1);var lp=function(){function e(){this.i=0,this.j=0,this.S=[]}return e.prototype.init=function(e){var t,n,r;for(t=0;t<256;++t)this.S[t]=t;for(n=0,t=0;t<256;++t)n=n+this.S[t]+e[t%e.length]&255,r=this.S[t],this.S[t]=this.S[n],this.S[n]=r;this.i=0,this.j=0},e.prototype.next=function(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]},e}();var cp,sp,fp=null;if(null==fp){fp=[],sp=0;var dp=void 0;if("undefined"!=typeof window&&window.crypto&&window.crypto.getRandomValues){var up=new Uint32Array(256);for(window.crypto.getRandomValues(up),dp=0;dp<up.length;++dp)fp[sp++]=255&up[dp]}var Cp=0,pp=function(e){if((Cp=Cp||0)>=256||sp>=256)window.removeEventListener?window.removeEventListener("mousemove",pp,!1):window.detachEvent&&window.detachEvent("onmousemove",pp);else try{var t=e.x+e.y;fp[sp++]=255&t,Cp+=1}catch(e){}};"undefined"!=typeof window&&(window.addEventListener?window.addEventListener("mousemove",pp,!1):window.attachEvent&&window.attachEvent("onmousemove",pp))}function gp(){if(null==cp){for(cp=new lp;sp<256;){var e=Math.floor(65536*Math.random());fp[sp++]=255&e}for(cp.init(fp),sp=0;sp<fp.length;++sp)fp[sp]=0;sp=0}return cp.next()}var hp=function(){function e(){}return e.prototype.nextBytes=function(e){for(var t=0;t<e.length;++t)e[t]=gp()},e}();var mp=function(){function e(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}return e.prototype.doPublic=function(e){return e.modPowInt(this.e,this.n)},e.prototype.doPrivate=function(e){if(null==this.p||null==this.q)return e.modPow(this.d,this.n);for(var t=e.mod(this.p).modPow(this.dmp1,this.p),n=e.mod(this.q).modPow(this.dmq1,this.q);t.compareTo(n)<0;)t=t.add(this.p);return t.subtract(n).multiply(this.coeff).mod(this.p).multiply(this.q).add(n)},e.prototype.setPublic=function(e,t){null!=e&&null!=t&&e.length>0&&t.length>0?(this.n=ep(e,16),this.e=parseInt(t,16)):console.error("Invalid RSA public key")},e.prototype.encrypt=function(e){var t=this.n.bitLength()+7>>3,n=function(e,t){if(t<e.length+11)return console.error("Message too long for RSA"),null;for(var n=[],r=e.length-1;r>=0&&t>0;){var o=e.charCodeAt(r--);o<128?n[--t]=o:o>127&&o<2048?(n[--t]=63&o|128,n[--t]=o>>6|192):(n[--t]=63&o|128,n[--t]=o>>6&63|128,n[--t]=o>>12|224)}n[--t]=0;for(var A=new hp,i=[];t>2;){for(i[0]=0;0==i[0];)A.nextBytes(i);n[--t]=i[0]}return n[--t]=2,n[--t]=0,new UC(n)}(e,t);if(null==n)return null;var r=this.doPublic(n);if(null==r)return null;for(var o=r.toString(16),A=o.length,i=0;i<2*t-A;i++)o="0"+o;return o},e.prototype.setPrivate=function(e,t,n){null!=e&&null!=t&&e.length>0&&t.length>0?(this.n=ep(e,16),this.e=parseInt(t,16),this.d=ep(n,16)):console.error("Invalid RSA private key")},e.prototype.setPrivateEx=function(e,t,n,r,o,A,i,a){null!=e&&null!=t&&e.length>0&&t.length>0?(this.n=ep(e,16),this.e=parseInt(t,16),this.d=ep(n,16),this.p=ep(r,16),this.q=ep(o,16),this.dmp1=ep(A,16),this.dmq1=ep(i,16),this.coeff=ep(a,16)):console.error("Invalid RSA private key")},e.prototype.generate=function(e,t){var n=new hp,r=e>>1;this.e=parseInt(t,16);for(var o=new UC(t,16);;){for(;this.p=new UC(e-r,1,n),0!=this.p.subtract(UC.ONE).gcd(o).compareTo(UC.ONE)||!this.p.isProbablePrime(10););for(;this.q=new UC(r,1,n),0!=this.q.subtract(UC.ONE).gcd(o).compareTo(UC.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var A=this.p;this.p=this.q,this.q=A}var i=this.p.subtract(UC.ONE),a=this.q.subtract(UC.ONE),l=i.multiply(a);if(0==l.gcd(o).compareTo(UC.ONE)){this.n=this.p.multiply(this.q),this.d=o.modInverse(l),this.dmp1=this.d.mod(i),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}},e.prototype.decrypt=function(e){var t=ep(e,16),n=this.doPrivate(t);return null==n?null:function(e,t){var n=e.toByteArray(),r=0;for(;r<n.length&&0==n[r];)++r;if(n.length-r!=t-1||2!=n[r])return null;++r;for(;0!=n[r];)if(++r>=n.length)return null;var o="";for(;++r<n.length;){var A=255&n[r];A<128?o+=String.fromCharCode(A):A>191&&A<224?(o+=String.fromCharCode((31&A)<<6|63&n[r+1]),++r):(o+=String.fromCharCode((15&A)<<12|(63&n[r+1])<<6|63&n[r+2]),r+=2)}return o}(n,this.n.bitLength()+7>>3)},e.prototype.generateAsync=function(e,t,n){var r=new hp,o=e>>1;this.e=parseInt(t,16);var A=new UC(t,16),i=this,a=function(){var t=function(){if(i.p.compareTo(i.q)<=0){var e=i.p;i.p=i.q,i.q=e}var t=i.p.subtract(UC.ONE),r=i.q.subtract(UC.ONE),o=t.multiply(r);0==o.gcd(A).compareTo(UC.ONE)?(i.n=i.p.multiply(i.q),i.d=A.modInverse(o),i.dmp1=i.d.mod(t),i.dmq1=i.d.mod(r),i.coeff=i.q.modInverse(i.p),setTimeout((function(){n()}),0)):setTimeout(a,0)},l=function(){i.q=$C(),i.q.fromNumberAsync(o,1,r,(function(){i.q.subtract(UC.ONE).gcda(A,(function(e){0==e.compareTo(UC.ONE)&&i.q.isProbablePrime(10)?setTimeout(t,0):setTimeout(l,0)}))}))},c=function(){i.p=$C(),i.p.fromNumberAsync(e-o,1,r,(function(){i.p.subtract(UC.ONE).gcda(A,(function(e){0==e.compareTo(UC.ONE)&&i.p.isProbablePrime(10)?setTimeout(l,0):setTimeout(c,0)}))}))};setTimeout(c,0)};setTimeout(a,0)},e.prototype.sign=function(e,t,n){var r=function(e,t){if(t<e.length+22)return console.error("Message too long for RSA"),null;for(var n=t-e.length-6,r="",o=0;o<n;o+=2)r+="ff";return ep("0001"+r+"00"+e,16)}((Ep[n]||"")+t(e).toString(),this.n.bitLength()/4);if(null==r)return null;var o=this.doPrivate(r);if(null==o)return null;var A=o.toString(16);return 1&A.length?"0"+A:A},e.prototype.verify=function(e,t,n){var r=ep(t,16),o=this.doPublic(r);return null==o?null:function(e){for(var t in Ep)if(Ep.hasOwnProperty(t)){var n=Ep[t],r=n.length;if(e.substr(0,r)==n)return e.substr(r)}return e}
35
+ */function Du(){return yu||(yu=1,function(e){"production"!==process.env.NODE_ENV&&function(){var t,n,r,o,A;if("undefined"==typeof window||"function"!=typeof MessageChannel){var i=null,a=null,l=function(){if(null!==i)try{var t=e.unstable_now();i(!0,t),i=null}catch(e){throw setTimeout(l,0),e}},c=Date.now();e.unstable_now=function(){return Date.now()-c},t=function(e){null!==i?setTimeout(t,0,e):(i=e,setTimeout(l,0))},n=function(e,t){a=setTimeout(e,t)},r=function(){clearTimeout(a)},o=function(){return!1},A=e.unstable_forceFrameRate=function(){}}else{var s=window.performance,f=window.Date,d=window.setTimeout,u=window.clearTimeout;if("undefined"!=typeof console){var C=window.requestAnimationFrame,p=window.cancelAnimationFrame;"function"!=typeof C&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof p&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof s&&"function"==typeof s.now)e.unstable_now=function(){return s.now()};else{var g=f.now();e.unstable_now=function(){return f.now()-g}}var h=!1,m=null,E=-1,b=5,w=0;o=function(){return e.unstable_now()>=w},A=function(){},e.unstable_forceFrameRate=function(e){e<0||e>125?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):b=e>0?Math.floor(1e3/e):5};var v=new MessageChannel,B=v.port2;v.port1.onmessage=function(){if(null!==m){var t=e.unstable_now();w=t+b;try{m(!0,t)?B.postMessage(null):(h=!1,m=null)}catch(e){throw B.postMessage(null),e}}else h=!1},t=function(e){m=e,h||(h=!0,B.postMessage(null))},n=function(t,n){E=d((function(){t(e.unstable_now())}),n)},r=function(){u(E),E=-1}}function L(e,t){var n=e.length;e.push(t),function(e,t,n){var r=n;for(;;){var o=r-1>>>1,A=e[o];if(!(void 0!==A&&y(A,t)>0))return;e[o]=t,e[r]=A,r=o}}(e,t,n)}function M(e){var t=e[0];return void 0===t?null:t}function I(e){var t=e[0];if(void 0!==t){var n=e.pop();return n!==t&&(e[0]=n,function(e,t,n){var r=n,o=e.length;for(;r<o;){var A=2*(r+1)-1,i=e[A],a=A+1,l=e[a];if(void 0!==i&&y(i,t)<0)void 0!==l&&y(l,i)<0?(e[r]=l,e[a]=t,r=a):(e[r]=i,e[A]=t,r=A);else{if(!(void 0!==l&&y(l,t)<0))return;e[r]=l,e[a]=t,r=a}}}(e,n,0)),t}return null}function y(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var x=0,Q=0,D="function"==typeof SharedArrayBuffer?new SharedArrayBuffer(4*Int32Array.BYTES_PER_ELEMENT):"function"==typeof ArrayBuffer?new ArrayBuffer(4*Int32Array.BYTES_PER_ELEMENT):null,H=null!==D?new Int32Array(D):[];H[0]=0,H[3]=0,H[1]=0;var Z=0,k=null,V=null,j=0;function N(e){if(null!==V){var t=j;if((j+=e.length)+1>Z){if((Z*=2)>524288)return console.error("Scheduler Profiling: Event log exceeded maximum size. Don't forget to call `stopLoggingProfilingEvents()`."),void z();var n=new Int32Array(4*Z);n.set(V),k=n.buffer,V=n}V.set(e,t)}}function z(){var e=k;return Z=0,k=null,V=null,j=0,e}function O(e,t){H[3]++,null!==V&&N([1,1e3*t,e.id,e.priorityLevel])}function P(e,t){H[0]=0,H[1]=0,H[3]--,null!==V&&N([2,1e3*t,e.id])}function S(e,t){x++,H[0]=e.priorityLevel,H[1]=e.id,H[2]=x,null!==V&&N([5,1e3*t,e.id,x])}function F(e,t){H[0]=0,H[1]=0,H[2]=0,null!==V&&N([6,1e3*t,e.id,x])}var T=[],R=[],G=1,X=null,Y=3,K=!1,U=!1,W=!1;function q(e){for(var t=M(R);null!==t;){if(null===t.callback)I(R);else{if(!(t.startTime<=e))return;I(R),t.sortIndex=t.expirationTime,L(T,t),O(t,e),t.isQueued=!0}t=M(R)}}function J(e){if(W=!1,q(e),!U)if(null!==M(T))U=!0,t(_);else{var r=M(R);null!==r&&n(J,r.startTime-e)}}function _(t,A){var i;i=A,null!==V&&N([8,1e3*i,Q]),U=!1,W&&(W=!1,r()),K=!0;var a=Y;try{try{return function(t,r){var A=r;q(A),X=M(T);for(;null!==X&&(!(X.expirationTime>A)||t&&!o());){var i=X.callback;if(null!==i){X.callback=null,Y=X.priorityLevel;var a=X.expirationTime<=A;S(X,A);var l=i(a);A=e.unstable_now(),"function"==typeof l?(X.callback=l,F(X,A)):(P(X,A),X.isQueued=!1,X===M(T)&&I(T)),q(A)}else I(T);X=M(T)}if(null!==X)return!0;var c=M(R);return null!==c&&n(J,c.startTime-A),!1}(t,A)}catch(t){if(null!==X){var l=e.unstable_now();!function(e,t){H[0]=0,H[1]=0,H[3]--,null!==V&&N([3,1e3*t,e.id])}(X,l),X.isQueued=!1}throw t}}finally{X=null,Y=a,K=!1,function(e){Q++,null!==V&&N([7,1e3*e,Q])}(e.unstable_now())}}function $(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var ee=A,te={startLoggingProfilingEvents:function(){Z=131072,k=new ArrayBuffer(4*Z),V=new Int32Array(k),j=0},stopLoggingProfilingEvents:z,sharedProfilingBuffer:D};e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=te,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(t){t.isQueued&&(!function(e,t){H[3]--,null!==V&&N([4,1e3*t,e.id])}(t,e.unstable_now()),t.isQueued=!1),t.callback=null},e.unstable_continueExecution=function(){U||K||(U=!0,t(_))},e.unstable_getCurrentPriorityLevel=function(){return Y},e.unstable_getFirstCallbackNode=function(){return M(T)},e.unstable_next=function(e){var t;switch(Y){case 1:case 2:case 3:t=3;break;default:t=Y}var n=Y;Y=t;try{return e()}finally{Y=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=ee,e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Y;Y=e;try{return t()}finally{Y=n}},e.unstable_scheduleCallback=function(o,A,i){var a,l,c=e.unstable_now();if("object"==typeof i&&null!==i){var s=i.delay;a="number"==typeof s&&s>0?c+s:c,l="number"==typeof i.timeout?i.timeout:$(o)}else l=$(o),a=c;var f=a+l,d={id:G++,callback:A,priorityLevel:o,startTime:a,expirationTime:f,sortIndex:-1,isQueued:!1};return a>c?(d.sortIndex=a,L(R,d),null===M(T)&&d===M(R)&&(W?r():W=!0,n(J,a-c))):(d.sortIndex=f,L(T,d),O(d,c),d.isQueued=!0,U||K||(U=!0,t(_))),d},e.unstable_shouldYield=function(){var t=e.unstable_now();q(t);var n=M(T);return n!==X&&null!==X&&null!==n&&null!==n.callback&&n.startTime<=t&&n.expirationTime<X.expirationTime||o()},e.unstable_wrapCallback=function(e){var t=Y;return function(){var n=Y;Y=t;try{return e.apply(this,arguments)}finally{Y=n}}}}()}(Qu)),Qu}var Hu=(xu||(xu=1,"production"===process.env.NODE_ENV?Mu.exports=(Lu||(Lu=1,function(e){var t,n,r,o,A;if("undefined"==typeof window||"function"!=typeof MessageChannel){var i=null,a=null,l=function(){if(null!==i)try{var t=e.unstable_now();i(!0,t),i=null}catch(e){throw setTimeout(l,0),e}},c=Date.now();e.unstable_now=function(){return Date.now()-c},t=function(e){null!==i?setTimeout(t,0,e):(i=e,setTimeout(l,0))},n=function(e,t){a=setTimeout(e,t)},r=function(){clearTimeout(a)},o=function(){return!1},A=e.unstable_forceFrameRate=function(){}}else{var s=window.performance,f=window.Date,d=window.setTimeout,u=window.clearTimeout;if("undefined"!=typeof console){var C=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof C&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof s&&"function"==typeof s.now)e.unstable_now=function(){return s.now()};else{var p=f.now();e.unstable_now=function(){return f.now()-p}}var g=!1,h=null,m=-1,E=5,b=0;o=function(){return e.unstable_now()>=b},A=function(){},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):E=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,v=w.port2;w.port1.onmessage=function(){if(null!==h){var t=e.unstable_now();b=t+E;try{h(!0,t)?v.postMessage(null):(g=!1,h=null)}catch(e){throw v.postMessage(null),e}}else g=!1},t=function(e){h=e,g||(g=!0,v.postMessage(null))},n=function(t,n){m=d((function(){t(e.unstable_now())}),n)},r=function(){u(m),m=-1}}function B(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,o=e[r];if(!(void 0!==o&&0<I(o,t)))break e;e[r]=t,e[n]=o,n=r}}function L(e){return void 0===(e=e[0])?null:e}function M(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length;r<o;){var A=2*(r+1)-1,i=e[A],a=A+1,l=e[a];if(void 0!==i&&0>I(i,n))void 0!==l&&0>I(l,i)?(e[r]=l,e[a]=n,r=a):(e[r]=i,e[A]=n,r=A);else{if(!(void 0!==l&&0>I(l,n)))break e;e[r]=l,e[a]=n,r=a}}}return t}return null}function I(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var y=[],x=[],Q=1,D=null,H=3,Z=!1,k=!1,V=!1;function j(e){for(var t=L(x);null!==t;){if(null===t.callback)M(x);else{if(!(t.startTime<=e))break;M(x),t.sortIndex=t.expirationTime,B(y,t)}t=L(x)}}function N(e){if(V=!1,j(e),!k)if(null!==L(y))k=!0,t(z);else{var r=L(x);null!==r&&n(N,r.startTime-e)}}function z(t,A){k=!1,V&&(V=!1,r()),Z=!0;var i=H;try{for(j(A),D=L(y);null!==D&&(!(D.expirationTime>A)||t&&!o());){var a=D.callback;if(null!==a){D.callback=null,H=D.priorityLevel;var l=a(D.expirationTime<=A);A=e.unstable_now(),"function"==typeof l?D.callback=l:D===L(y)&&M(y),j(A)}else M(y);D=L(y)}if(null!==D)var c=!0;else{var s=L(x);null!==s&&n(N,s.startTime-A),c=!1}return c}finally{D=null,H=i,Z=!1}}function O(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var P=A;e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){k||Z||(k=!0,t(z))},e.unstable_getCurrentPriorityLevel=function(){return H},e.unstable_getFirstCallbackNode=function(){return L(y)},e.unstable_next=function(e){switch(H){case 1:case 2:case 3:var t=3;break;default:t=H}var n=H;H=t;try{return e()}finally{H=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=P,e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=H;H=e;try{return t()}finally{H=n}},e.unstable_scheduleCallback=function(o,A,i){var a=e.unstable_now();if("object"==typeof i&&null!==i){var l=i.delay;l="number"==typeof l&&0<l?a+l:a,i="number"==typeof i.timeout?i.timeout:O(o)}else i=O(o),l=a;return o={id:Q++,callback:A,priorityLevel:o,startTime:l,expirationTime:i=l+i,sortIndex:-1},l>a?(o.sortIndex=l,B(x,o),null===L(y)&&o===L(x)&&(V?r():V=!0,n(N,l-a))):(o.sortIndex=i,B(y,o),k||Z||(k=!0,t(z))),o},e.unstable_shouldYield=function(){var t=e.unstable_now();j(t);var n=L(y);return n!==D&&null!==D&&null!==n&&null!==n.callback&&n.startTime<=t&&n.expirationTime<D.expirationTime||o()},e.unstable_wrapCallback=function(e){var t=H;return function(){var n=H;H=t;try{return e.apply(this,arguments)}finally{H=n}}}}(Iu)),Iu):Mu.exports=Du()),Mu.exports);const Zu=Symbol(),ku=Symbol(),Vu="undefined"==typeof window||/ServerSideRendering/.test(window.navigator&&window.navigator.userAgent)?t.useEffect:t.useLayoutEffect,ju=Hu.unstable_runWithPriority?e=>{try{Hu.unstable_runWithPriority(Hu.unstable_NormalPriority,e)}catch(t){if("Not implemented."!==t.message)throw t;e()}}:e=>e();function Nu(e,n){const r=t.useContext(e)[Zu];if("object"==typeof process&&"production"!==process.env.NODE_ENV&&!r)throw new Error("useContextSelector requires special context");const{v:{current:o},n:{current:A},l:i}=r,a=n(o),[l,c]=t.useReducer(((e,t)=>{if(!t)return[o,a];if("p"in t)throw t.p;if(t.n===A)return Object.is(e[1],a)?e:[o,a];try{if("v"in t){if(Object.is(e[0],t.v))return e;const r=n(t.v);return Object.is(e[1],r)?e:[t.v,r]}}catch(e){}return[...e]}),[o,a]);return Object.is(l[1],a)||c(),Vu((()=>(i.add(c),()=>{i.delete(c)})),[i]),l[1]}const zu=function(e){const n=t.createContext({[Zu]:{v:{current:e},n:{current:-1},l:new Set,u:e=>e()}});var r;return n[ku]=n.Provider,n.Provider=(r=n.Provider,({value:e,children:n})=>{const o=t.useRef(e),A=t.useRef(0),[i,a]=t.useState(null);i&&(i(e),a(null));const l=t.useRef();if(!l.current){const e=new Set,t=(t,n)=>{A.current+=1;const r={n:A.current};(null==n?void 0:n.suspense)&&(r.n*=-1,r.p=new Promise((e=>{a((()=>t=>{r.v=t,delete r.p,e(t)}))}))),e.forEach((e=>e(r))),t()};l.current={[Zu]:{v:o,n:A,l:e,u:t}}}return Vu((()=>{o.current=e,A.current+=1,ju((()=>{l.current[Zu].l.forEach((t=>{t({n:A.current,v:e})}))}))}),[e]),t.createElement(r,{value:l.current},n)}),delete n.Consumer,n}([vu,()=>{}]),Ou=({children:t,columns:n,hideColumnIndicators:r})=>{const o=Sd(n+(r?0:1)).map((t=>e.jsx("col",{},t)));return e.jsxs("table",{className:"ff-spreadsheet-table",children:[e.jsx("colgroup",{children:o}),e.jsx("tbody",{children:t})]})},Pu=t=>e.jsx("tr",{...t}),Su=t=>e.jsx("tr",{className:"ff-spreadsheet-row-header",...t});function Fu(){return Nu(zu,(([,e])=>e))}function Tu(e){return Nu(zu,(([t])=>e(t)))}const Ru=({selected:t,onSelect:n})=>{const r=o.useCallback((()=>{n()}),[n]);return e.jsx("th",{className:"ff-spreadsheet-corner-header",onClick:r,tabIndex:0,children:e.jsx("div",{className:u("corner-header",{"ff-spreadsheet-header--selected":t}),children:e.jsx(E,{variant:t?"dark":"light",name:"excel_corner_menu"})})})},Gu=t=>function(n){const r=Fu(),A=o.useCallback((()=>r({type:of})),[r]),i=Tu((e=>e.selected instanceof Zd));return e.jsx(t,{...n,selected:i,onSelect:A})},Xu=t=>function(n){const r=Fu(),A=o.useCallback(((e,t)=>r(function(e,t){return{type:rf,payload:{column:e,extend:t}}}(e,t))),[r]),i=Tu((e=>e.selected.hasEntireColumn(n.column)));return e.jsx(t,{...n,selected:i,onSelect:A})},Yu=Xu((({column:t,label:n,selected:r,onSelect:A,setContextMenu:i,deleteColumn:a,addColumnLeft:l,addColumnRight:c,columnContextEnable:s,data:f})=>{const d=Fu(),C=Tu((e=>e.columnDimensions[t]?.width||100)),p=[{label:"Add Column Left",value:"Add Column Left",iconName:"plus_icon",action:()=>{l(f)},disable:!1},{label:"Add Column Right",value:"Add Column Right",iconName:"plus_icon",action:()=>{c(f)},disable:!1},{label:"Delete Column",value:"Delete Column",iconName:"delete",action:()=>{a(f)},disable:!1}],g=o.useCallback((e=>{A(t,e.shiftKey);const n=e.clientX,r=C,o=e=>{const o=Math.max(100,r+(e.clientX-n));d(function(e,t){return{type:Pf,payload:{column:e,width:t}}}(t,o))},i=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",i),d(dd())};document.addEventListener("mousemove",o),document.addEventListener("mouseup",i),d(fd())}),[t,C,d]),h=o.useCallback((e=>d(ad(e))),[d]),m=o.useCallback((e=>{A(t,e.shiftKey)}),[A,t]),E=o.useCallback((e=>{e.preventDefault(),A(t,e.shiftKey),i({open:s,position:{x:e.pageX,y:e.pageY},options:p})}),[A,t,i]);return e.jsxs("th",{className:u("ff-spreadsheet-header",{"ff-spreadsheet-header--selected":r}),style:{minWidth:`${C}px`},onClick:m,onContextMenu:E,tabIndex:0,children:[e.jsx("div",{onClick:m,onContextMenu:E,tabIndex:0}),e.jsx(b,{fontWeight:"medium",children:void 0!==n?n:Ku(t)}),e.jsx("div",{onMouseDown:g,onClick:()=>h({row:-1,column:t}),style:{zIndex:"inherit",width:"2px",position:"absolute",right:0,top:0,height:"100%",cursor:"ew-resize"}})]})}));function Ku(e){let t="",n=e;for(;n>=0;)t=String.fromCharCode(65+n%26)+t,n=Math.floor(n/26)-1;return t}const Uu=({row:t,label:n,selected:r,onSelect:A,setContextMenu:i,addRowTop:a,addRowBottom:l,deleteRow:c,rowContextEnable:s,data:f})=>{const d=Fu(),C=Tu((e=>e.rowDimensions[t]?.height||28)),p=[{label:"Add Row Top",value:"Add Row Top",iconName:"plus_icon",action:()=>{a(f)},disable:!1},{label:"Add Row Bottom",value:"Add Row Bottom",iconName:"plus_icon",action:()=>{l(f)},disable:!1},{label:"Delete Row",value:"Delete Row",iconName:"delete",action:()=>{c(f)},disable:!1}],g=o.useCallback((e=>{A(t,e.shiftKey);const n=e.clientY,r=C,o=e=>{const o=Math.max(28,r+(e.clientY-n));d(function(e,t){return{type:Of,payload:{row:e,height:t}}}(t,o))},i=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",i),d(dd())};document.addEventListener("mousemove",o),document.addEventListener("mouseup",i),d(dd())}),[A,C,t]),h=o.useCallback((e=>d(ad(e))),[d]),m=o.useCallback((e=>{A(t,e.shiftKey)}),[A,t]),E=o.useCallback((e=>{e.preventDefault(),A(t,e.shiftKey),i({open:s,position:{x:e.pageX,y:e.pageY},options:p})}),[A,t,i]);return e.jsxs("th",{className:u("ff-spreadsheet-header",{"ff-spreadsheet-header--selected":r}),style:{height:`${C}px`,minWidth:"60px"},onClick:m,onContextMenu:E,tabIndex:0,children:[e.jsx(b,{fontWeight:"medium",children:void 0!==n?n:t+1}),e.jsx("div",{onMouseDown:g,onClick:()=>h({row:t,column:-1}),style:{zIndex:"inherit",height:"2px",position:"absolute",right:0,bottom:0,width:"100%",cursor:"ns-resize"}})]})},Wu=t=>function(n){const r=Fu(),A=Tu((e=>e.selected.hasEntireRow(n.row))),i=o.useCallback(((e,t)=>r(function(e,t){return{type:nf,payload:{row:e,extend:t}}}(e,t))),[r]);return e.jsx(t,{...n,selected:A,onSelect:i})},qu=({row:t,column:n,DataViewer:r,selected:A,active:i,dragging:a,mode:l,data:c,evaluatedData:s,select:f,activate:d,setCellDimensions:C,setCellData:p})=>{const g=o.useRef(null),h=o.useMemo((()=>({row:t,column:n})),[t,n]),m=o.useCallback((e=>{"view"===l&&(C(h,Td(e.currentTarget)),e.shiftKey?f(h):d(h))}),[l,C,h,f,d]),E=o.useCallback((e=>{a&&(C(h,Td(e.currentTarget)),f(h))}),[C,f,a,h]);return o.useEffect((()=>{const e=g.current;A&&e&&C(h,Td(e)),e&&i&&"view"===l&&e.focus()}),[C,A,i,l,h,c]),c&&c.DataViewer&&(r=c.DataViewer),e.jsx("td",{ref:g,style:c?.style,className:u("ff-spreadsheet-cell",c?.className,{"ff-spreadsheet-active-cell":i||a}),onMouseEnter:E,onMouseDown:m,tabIndex:0,children:e.jsx(r,{row:t,column:n,cell:c,active:i,evaluatedCell:s,setCellData:p,inputValue:()=>null})})},Ju=t=>function(n){const{row:r,column:A}=n,i=Fu(),a=o.useMemo((()=>({row:r,column:A})),[r,A]),l=o.useCallback((e=>i(ld(a,e))),[i,a]),c=o.useCallback((e=>i(function(e){return{type:af,payload:{point:e}}}(e))),[i]),s=o.useCallback((e=>i(ad(e))),[i]),f=o.useCallback(((e,t)=>i(function(e,t){return{type:sf,payload:{point:e,dimensions:t}}}(e,t))),[i]),d=Tu((e=>Fd(e.active,a))),u=Tu((e=>d?e.mode:"view")),C=Tu((e=>gd(a,e.model.data))),p=Tu((e=>gd(a,e.model.evaluatedData))),g=Tu((e=>e.selected.has(e.model.data,a))),h=Tu((e=>e.dragging)),m=Tu((e=>e.copied?.has(a)||!1));return e.jsx(t,{...n,selected:g,active:d,copied:m,dragging:h,mode:u,evaluatedData:p,data:C,select:c,activate:s,setCellDimensions:f,setCellData:l})},_u=({cell:t,evaluatedCell:n,active:r})=>{const o=function(e,t){const n=t?.value??e?.value;if(n&&"object"==typeof n)return n.toString();return n}(t,n);return"boolean"==typeof o?e.jsx("span",{className:"ff-spreadsheet-data-viewer ff-spreadsheet-data-viewer--boolean",children:$u(o)}):e.jsx("span",{className:u("ff-spreadsheet-data-viewer",{"ff-spreadsheet-data-viewer--preserve-breaks":Ud(o)}),children:r||"dropDown"!==t?.inputType?.type?r||"file"!==t?.inputType?.type?!r&&o:e.jsx(e.Fragment,{children:M(t?.value)?e.jsxs("div",{className:"ff-spreadsheet-data-viewer--without-fileType",children:[e.jsx(E,{name:"attachment_icon"})," Attachment"]}):(t=>{if(M(t))return e.jsx(e.Fragment,{});return JSON.parse(t).map(((t,n)=>e.jsxs("div",{className:"ff-spreadsheet-data-viewer--fileType",children:[n+1,". ",t.name]},t.name)))})(o)}):e.jsxs("div",{className:"ff-spreadsheet-data-viewer--dropdownType",children:[o,e.jsx(E,{name:"arrow_down",height:8,className:"dropdownType-icon"})]})})};function $u(e){return e?"TRUE":"FALSE"}const eC=({onChange:t,cell:n})=>{const r=o.useRef(null),A=o.useCallback((e=>{t({...n,value:e.target.value,style:n?.style,inputType:n?.inputType??{type:"text"}})}),[t,n]);o.useEffect((()=>{var e;r.current&&((e=r.current).selectionStart=e.selectionEnd=e.value.length)}),[r]);const i=n?.value??"";return e.jsx("div",{className:"ff-spreadsheet-data-editor",style:{...n?.style,border:"none"},children:e.jsx("input",{ref:r,type:"text",onChange:A,value:i,autoFocus:!0,disabled:n?.readOnly})})},tC=t=>{const[n,r]=o.useState({value:"",name:""}),[A,i]=o.useState(!1),[a,l]=o.useState([]),c=o.useRef(null),s=Fu(),f=o.useCallback(((e,t)=>s(ld(e,t))),[s]),d=o.useCallback((e=>s(ad(e))),[s]),C=o.useCallback((()=>s({type:Cf})),[s]),p=o.useCallback((e=>s({type:Sf,payload:{autofill:e}})),[s]),g=o.useCallback((e=>s(function(e){return{type:wf,payload:{changes:e}}}(e))),[s]),h=o.useCallback((()=>{s({type:pf})}),[s]),m=Tu((e=>e.active)),E=Tu((e=>e.mode)),b=Tu((e=>e.active?gd(e.active,e.model.data):void 0)),w=Tu((e=>{let t=m?Rd(m,e.rowDimensions,e.columnDimensions):void 0;return t={top:t?.top??0,height:(t?.height??0)+1,left:t?.left??0,width:(t?.width??0)+1},t})),v=o.useMemo((()=>!m||!w),[m,w]),B=o.useRef(void 0),L=o.useRef(null),M=o.useRef(void 0),I=o.useCallback((e=>{m&&f(m,e)}),[f,m]);o.useEffect((()=>{const e=c.current;!v&&e&&(e.focus(),i((e=>!e)))}),[c,v,m]),o.useEffect((()=>{const e=L.current,t=M.current;if(L.current=m,M.current=b,!e||!t)return;const n=m?.row!==e.row||m?.column!==e.column;if(n||"edit"!==E){const e=B.current;t!==e?g([{prevCell:e||null,nextCell:t}]):n||b===t||g([{prevCell:t,nextCell:b||null}]),B.current=b}}));const y=b&&b.DataEditor||t.DataEditor,x=b&&b.readOnly,Q=o.useCallback((()=>{m&&(p(!0),d(m))}),[d,p,m]),D=o.useCallback((e=>{e.preventDefault(),t.setContextMenu({open:t.contextOption?.open??!1,position:{x:e.pageX-450,y:e.pageY-260},options:t.contextOption?.options||[]})}),[t]);return e.jsxs("div",{ref:c,className:u("ff-spreadsheet-active-cell",`ff-spreadsheet-active-cell--${E}`),style:w,onContextMenu:D,onClick:"view"!==E||x?void 0:C,tabIndex:0,children:["dropDown"===b?.inputType?.type?e.jsx(Y,{...b?.inputType?.inputProps,showOptions:{open:!0,toggle:A},selectedOption:n,optionsList:b?.inputType?.options||[],height:26,showLabel:!1,showBorder:!1,onChange:e=>{r({value:e.value,name:e.label}),I({...b,value:e.value,style:b?.style,inputType:b?.inputType??{type:"text"}})}}):"file"===b?.inputType?.type?e.jsx(_s,{...b?.inputType?.inputProps,label:"",selectedFiles:a,onFilesChange:e=>{const t=[...e];if(t.length>5)return;const n=t.map((e=>({name:e.name,size:e.size,type:e.type})));I({...b,value:JSON.stringify(n),style:b?.style,inputType:b?.inputType}),l(t)},disabled:!1,maxFileSizeMB:5,maxFiles:5,buttonLabel:"+ Attachments",buttonVariant:"tertiary",deleteButton:!0,addAttachmentButton:!0}):"edit"===E&&m?e.jsx(y,{row:m.row,column:m.column,cell:b,onChange:I,exitEditMode:h}):e.jsx("div",{className:"ff-spreadsheet-data-editor",style:{...b?.style,border:"none"},children:e.jsx("input",{type:"text",value:b?.value,disabled:b?.readOnly})}),e.jsx("div",{onMouseDown:Q,className:"select_dot"})]})},nC=({dimensions:t,dragging:n,hidden:r,variant:o})=>{const A=Tu((e=>e.active)),i=Tu((e=>e.autoFill)),a=Tu((e=>A?Rd(A,e.rowDimensions,e.columnDimensions):void 0)),{width:l,height:c,top:s,left:f}=t||{};let d=a?.height??0,C=a?.width??0,p=l,g=c;return i.open&&l&&c&&a&&(l-C>c-d?(p=l,g=a.height):(g=c,p=a.width)),e.jsx("div",{className:u("ff-spreadsheet-floating-rect",{[`ff-spreadsheet-floating-rect--${o}`]:o,"ff-spreadsheet-floating-rect--dragging":n,"ff-spreadsheet-floating-rect--hidden":r}),style:{width:(p??0)+1,height:(g??0)+1,top:s,left:f}})},rC=()=>{const t=Tu((e=>e.selected)),n=Tu((e=>t&&function(e,t,n,r){const o=r.toRange(n);return o?Gd(e,t,o):void 0}(e.rowDimensions,e.columnDimensions,e.model.data,e.selected))),r=Tu((e=>e.dragging)),o=Tu((e=>e.selected.size(e.model.data)<2));return e.jsx(nC,{variant:"selected",dimensions:n,dragging:r,hidden:o})},oC=()=>{const t=Tu((e=>e.copied)),n=Tu((e=>t&&Gd(e.rowDimensions,e.columnDimensions,t))),r=null===t;return e.jsx(nC,{variant:"copied",dimensions:n,hidden:r,dragging:!1})};A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-excel {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.ff-excel .ff-excel-toolbar-container {\n position: relative;\n top: 0;\n background-color: var(--excel-toolbar-bg);\n padding: 4px 8px;\n margin-bottom: 20px;\n}\n.ff-excel .ff-excel-toolbar-container-hide {\n display: none;\n}\n.ff-excel .ff-excel-spreadsheet {\n --background-color: var(--drawer-footer-bg);\n --text-color: var(--text-color);\n --readonly-text-color: var(--toggle-strip-active);\n --outline-color: var(--toggle-strip-active);\n --outline-background-color: var(--overlay-bg);\n --border-color: var(--excel-header-border);\n --header-background-color: var(--excel-header-bg);\n --elevation: var(--brand-color);\n position: relative;\n overflow: scroll;\n background: var(--background-color);\n color: var(--text-color);\n scrollbar-width: none;\n display: inline-block;\n}\n.ff-excel .ff-excel-header-hider {\n position: absolute;\n background-color: var(--excel-header-border);\n z-index: 500;\n left: -1px;\n top: 59px;\n}\n.ff-excel .ff-excel-header-hider-remover {\n position: absolute;\n background-color: var(--excel-header-border);\n z-index: 500;\n left: -1px;\n}\n.ff-excel .ff-excel-header-column-hider {\n height: 34px;\n width: 100%;\n}\n.ff-excel .ff-excel-header-row-hider {\n bottom: 0px;\n width: 60px;\n}\n.ff-excel .ff-spreadsheet-active-cell {\n position: absolute;\n border: 2px solid var(--outline-color);\n box-sizing: border-box;\n z-index: 500;\n}\n.ff-excel .ff-spreadsheet-active-cell--edit {\n background: var(--background-color);\n box-shadow: var(--elevation);\n}\n.ff-excel .ff-spreadsheet-table {\n overflow: scroll;\n top: 0;\n left: 0;\n margin: 0;\n position: relative;\n border-collapse: collapse;\n table-layout: fixed;\n}\n.ff-excel .ff-spreadsheet-table::-webkit-scrollbar {\n height: 0px;\n}\n.ff-excel .ff-spreadsheet-cell {\n outline: none;\n position: relative;\n z-index: 0;\n}\n.ff-excel .ff-spreadsheet-active-cell .select_dot {\n background-color: var(--elevation);\n height: 10px;\n width: 10px;\n border-radius: 50%;\n position: absolute;\n bottom: -5px;\n right: -5px;\n cursor: crosshair;\n z-index: 1000;\n}\n.ff-excel .ff-spreadsheet-cell--readonly {\n color: var(--readonly-text-color);\n}\n.ff-excel .ff-spreadsheet-cell,\n.ff-excel .ff-spreadsheet-header {\n border: 0.1px solid var(--border-color);\n overflow: hidden;\n word-break: keep-all;\n white-space: nowrap;\n text-align: left;\n box-sizing: border-box;\n user-select: none;\n}\n.ff-excel .ff-spreadsheet-header {\n background-color: var(--header-background-color);\n color: var(--readonly-text-color);\n text-align: center;\n z-index: 1000;\n position: sticky;\n top: 0;\n left: 0;\n}\n.ff-excel .ff-spreadsheet-corner-header {\n position: fixed;\n z-index: 2000;\n border: 2px solid var(--border-color);\n}\n.ff-excel .ff-spreadsheet-row-header {\n height: 34px;\n}\n.ff-excel .corner-header {\n background-color: var(--header-background-color);\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1500;\n top: -2px;\n width: 58px;\n height: 32px;\n left: -1px;\n}\n.ff-excel .ff-spreadsheet-header--selected {\n background: var(--brand-color);\n color: var(--tooltip-text-color);\n}\n.ff-excel .ff-spreadsheet-data-viewer,\n.ff-excel .ff-spreadsheet-data-editor input {\n padding: 4px;\n box-sizing: border-box;\n z-index: 5;\n}\n.ff-excel .ff-spreadsheet-data-viewer--dropdownType {\n display: inline-flex;\n align-items: center;\n width: 90%;\n padding: 0px 2px;\n}\n.ff-excel .ff-spreadsheet-data-viewer--dropdownType .dropdownType-icon {\n margin-left: auto;\n}\n.ff-excel .ff-spreadsheet-data-viewer--without-fileType {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.ff-excel .ff-spreadsheet-data-viewer--fileType {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n.ff-excel .ff-spreadsheet-header {\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-data-viewer--preserve-breaks {\n white-space: pre-wrap;\n}\n.ff-excel .ff-spreadsheet-data-editor,\n.ff-excel .ff-spreadsheet-data-editor input {\n width: 100%;\n height: 100%;\n}\n.ff-excel .ff-spreadsheet-data-editor input {\n font: inherit;\n color: inherit;\n background: none;\n border: none;\n outline: none;\n margin: 0;\n}\n.ff-excel .ff-spreadsheet-data-viewer--boolean {\n text-align: center;\n}\n.ff-excel .ff-spreadsheet-floating-rect {\n position: absolute;\n pointer-events: none;\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-floating-rect--hidden {\n display: none;\n}\n.ff-excel .ff-spreadsheet-floating-rect--selected {\n background: var(--outline-background-color);\n border: 2px var(--outline-color) solid;\n}\n.ff-excel .ff-spreadsheet-floating-rect--dragging {\n border: none;\n}\n.ff-excel .ff-spreadsheet-floating-rect--copied {\n border: 2px var(--outline-color) dashed;\n}');A(".ff-excel-toolbar {\n display: flex;\n height: 32px;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-divider {\n width: 1px;\n height: 24px;\n background-color: var(--excel-toolbar-divider);\n margin: 0 24px;\n border-radius: 1px;\n z-index: 1000;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font {\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font .ff-excel-toolbar-font-family {\n width: 120px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font .ff-excel-toolbar-font-size {\n width: 56px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-text {\n width: 100px;\n height: 24px;\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-text .ff-excel-toolbar-icon-underline {\n display: flex;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon {\n width: 88px;\n height: 24px;\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n width: 24px;\n height: 24px;\n border-radius: 4px;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color:hover {\n border-radius: 4px;\n background-color: var(--icon-hover-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n background-color: var(--brand-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover {\n background-color: var(--primary-button-text-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover svg path {\n fill: var(--brand-color);\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color:hover {\n border-radius: 4px;\n background-color: var(--icon-hover-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n background-color: var(--brand-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover {\n background-color: var(--primary-button-text-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover svg path {\n fill: var(--brand-color);\n}\n.ff-excel-toolbar .ff-excel-toolbar-menu {\n display: flex;\n align-items: center;\n width: 36px;\n height: 24px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-menu .ff-excel-toolbar-menu-option {\n display: flex;\n align-items: center;\n}");A(".ff-excel-color-selector {\n position: absolute;\n background-color: var(--error_light);\n width: 14px;\n height: 3px;\n bottom: 3px;\n z-index: 200;\n cursor: pointer;\n}\n.ff-excel-color-selector .ff-excel-color-selector-picker {\n width: 100%;\n height: 0;\n padding: 0;\n visibility: hidden;\n}");const AC=({getColorValue:n,disabled:r})=>{const o=t.useRef(null),[A,i]=t.useState("#e42525");return e.jsx("div",{className:"ff-excel-color-selector",style:{backgroundColor:`${A}`},onClick:()=>{o.current&&o.current.click()},children:e.jsx("input",{type:"color",disabled:r,className:"ff-excel-color-selector-picker",ref:o,onChange:e=>{i(e.target.value),n(e.target.value.replace("#",""))}})})},iC=e=>{switch(e.toUpperCase()){case"LEFT":default:return"left";case"RIGHT":return"right";case"CENTER":return"center";case"JUSTIFY":return"justify"}},aC=e=>{if(!e)return"solid";switch(e.toLowerCase()){case"solid":default:return"solid";case"dotted":return"dotted";case"dashed":return"dashed";case"wavy":return"wavy"}},lC=e=>{switch(e){case"left":default:return"LEFT";case"right":return"RIGHT";case"center":return"CENTER";case"justify":return"JUSTIFY"}};function cC(e){const{border:t}=e;let n="",r="",o="",A="";return"THIN"!==t.top&&(n="MEDIUM"===t.top?"2px solid var(--input-hover-border-color)":"1px solid var(--excel-header-border)"),"THIN"!==t.right&&(r="MEDIUM"===t.right?"2px solid var(--input-hover-border-color)":"1px solid var(--excel-header-border)"),"THIN"!==t.bottom&&(o="MEDIUM"===t.bottom?"2px solid var(--input-hover-border-color)":"1px solid var(--excel-header-border)"),"THIN"!==t.left&&(A="MEDIUM"===t.left?"2px solid var(--input-hover-border-color)":"1px solid var(--excel-header-border)"),{fontSize:`${e.size}px`,fontFamily:e.name,color:`#${e.color}`,backgroundColor:`#${e.backgroundColor}`,fontWeight:e.bold?"bold":"normal",fontStyle:e.italic?"italic":"normal",textDecoration:e.underline?`underline ${aC(e.underline)}`:"none",borderTop:n,borderRight:r,borderBottom:o,borderLeft:A,textAlign:iC(e.alignment.horizontal)}}const sC=e=>{if(!e||"none"===e)return"THIN";if(e.includes("solid")||e.includes("dashed")||e.includes("dotted")){if(e.includes("2px")||e.includes("medium"))return"MEDIUM";if(e.includes("3px")||e.includes("medium"))return"THICK"}return"THIN"},fC=e=>({name:e.fontFamily||"Arial",size:parseInt(e.fontSize?.toString()||"11",11),bold:"bold"===e.fontWeight,italic:"italic"===e.fontStyle,underline:"solid",color:e.color?.replace("#","")||"000000",backgroundColor:e.backgroundColor?.replace("#","")||"FFFFFF",borderColor:e.borderTop&&e.borderTop.toString().includes("solid")?"F2F2F2":"000000",border:{top:sC(e.borderTop?e.borderTop.toString():void 0),right:sC(e.borderRight?e.borderRight.toString():void 0),bottom:sC(e.borderBottom?e.borderBottom.toString():void 0),left:sC(e.borderLeft?e.borderLeft.toString():void 0)},alignment:{horizontal:lC(e.textAlign),vertical:"BOTTOM",wrapText:!1}}),dC=({toolbar:n="show",onBold:r,onItalic:o,setUnderlineType:A,setColor:i,setFontSize:a,setFontFamily:l,setTextAlign:c,setBackgroundColor:s,setBorderType:f,setFormatePainter:d})=>{const u=Tu((e=>e.active?gd(e.active,e.model.data):null)),C=Tu((e=>e.model.data)),p=Tu((e=>e.formattedStyle.open)),g={...gC.style,color:"#e42525",backgroundColor:"#e42525",borderColor:"#c9c9c9"},[h,m]=t.useState(u?.style||g),b=t.useRef(null),w=t.useRef(null);t.useEffect((()=>{u?.style&&JSON.stringify(u.style)!==JSON.stringify(h)&&m(u?.style||g)}),[u]);const v=fC(h),[B,L]=t.useState("border-none"),[M,y]=t.useState("underline"),[x,Q]=t.useState({label:"Times New Roman",value:"Times New Roman"}),[D,H]=t.useState({label:"11",value:"11"}),[Z,k]=t.useState({color:"#e42525",backgroundColor:"#e42525",borderColor:"#c9c9c9"}),V=[{value:"border-all-sides",label:"All Border",icon:"all_borders"},{value:"border-bottom",label:"Border Bottom",icon:"border_bottom"},{value:"border-left",label:"Border Left",icon:"border_left"},{value:"border-right",label:"Border Right",icon:"border_right"},{value:"border-top",label:"Border Top",icon:"border_top"},{value:"border-none",label:"No Border",icon:"no_border"}],j=[{value:"underline",label:"Underline",icon:"underline"},{value:"double_border",label:"Double Underline",icon:"double_underline"}],N=[5,6,8,9,10,12,14,16,18,20,22,24,26,28,32,36,40,48,56,72].map((e=>({label:e,value:e})));t.useEffect((()=>{let e=setTimeout((()=>{i(C,Z.color)}),0);return()=>{clearTimeout(e)}}),[Z.color]),t.useEffect((()=>{let e=setTimeout((()=>{s(C,Z.backgroundColor)}),0);return()=>{clearTimeout(e)}}),[Z.backgroundColor]);return t.useEffect((()=>{const e=h.fontFamily,t=function(e){const t=parseFloat(e.replace("px",""))/1.33;return`${Math.round(t)}`}(h.fontSize);Q({label:e,value:e}),H({label:t,value:t})}),[h]),e.jsxs("div",{className:"ff-excel-toolbar",children:[e.jsxs("div",{className:"ff-excel-toolbar-font ",children:[e.jsx(I,{placement:"top",title:"Font Family",children:e.jsx("div",{className:"ff-excel-toolbar-font-family",children:e.jsx(Y,{showLabel:!1,optionZIndex:1e3,onChange:e=>{Q({label:e.label,value:e.label}),l(C,e.value)},required:!1,optionsList:[{label:"Times New Roman",value:'"Times New Roman"'},{label:"Arial",value:"Arial"},{label:"fantasy",value:"fantasy"},{label:"cursive",value:"cursive"},{label:"Poppins",value:"Poppins"},{label:"Courier New",value:'"Courier New"'},{label:"Verdana",value:"Verdana"},{label:"Tahoma",value:"Tahoma"},{label:"Trebuchet MS",value:'"Trebuchet MS"'},{label:"Comic Sans MS",value:'"Comic Sans MS"'},{label:"Impact",value:"Impact"},{label:"Arial Black",value:'"Arial Black"'},{label:"Lucida Console",value:'"Lucida Console"'},{label:"Lucida Sans Unicode",value:'"Lucida Sans Unicode"'},{label:"Courier",value:"Courier"},{label:"Arial Rounded MT Bold",value:'"Arial Rounded MT Bold"'},{label:"Georgia",value:"Georgia"},{label:"sans-serif",value:"sans-serif"},{label:"serif",value:"serif"},{label:"monospace",value:"monospace"}],selectedOption:x})})}),e.jsx(I,{placement:"top",title:"Font Size",children:e.jsx("div",{className:"ff-excel-toolbar-font-size",children:e.jsx(Y,{showLabel:!1,optionZIndex:1e3,required:!1,onChange:e=>{H({label:e.label,value:e.value}),a(C,e.value)},optionsList:N,selectedOption:D})})})]}),e.jsx("div",{className:"ff-excel-toolbar-divider"}),e.jsxs("div",{className:"ff-excel-toolbar-icon",children:[e.jsx(I,{placement:"top",title:"Text Left",children:e.jsx(E,{variant:"left"===h.textAlign?"dark":"light",hoverEffect:"left"!==h.textAlign,disabled:"disable"===n,onClick:()=>c(C,"left"),name:"text_align_left"})}),e.jsx(I,{placement:"top",title:"Text Center",children:e.jsx(E,{variant:"center"===h.textAlign?"dark":"light",hoverEffect:"center"!==h.textAlign,disabled:"disable"===n,onClick:()=>c(C,"center"),name:"text_align_center"})}),e.jsx(I,{placement:"top",title:"Text Right",children:e.jsx(E,{variant:"right"===h.textAlign?"dark":"light",hoverEffect:"right"!==h.textAlign,disabled:"disable"===n,onClick:()=>c(C,"right"),name:"text_align_right"})})]}),e.jsx("div",{className:"ff-excel-toolbar-divider"}),e.jsxs("div",{className:"ff-excel-toolbar-text",children:[e.jsx(I,{placement:"top",title:"Bold",children:e.jsx(E,{variant:v.bold?"dark":"light",hoverEffect:!v.bold,disabled:"disable"===n,onClick:()=>r(C),name:"bold"})}),e.jsx(I,{placement:"top",title:"Italic",children:e.jsx(E,{variant:v.italic?"dark":"light",hoverEffect:!v.italic,disabled:"disable"===n,onClick:()=>o(C),name:"italic"})}),e.jsx(I,{placement:"top",title:"Underline Type",children:e.jsxs("div",{className:"ff-excel-toolbar-icon-underline",children:[e.jsx(E,{variant:h.textDecoration===M?"dark":"light",hoverEffect:h.textDecoration!==M,disabled:"disable"===n,onClick:()=>A(C,M,!0),name:(()=>{const e=j.find((e=>e.value===M));return e?e.icon:""})()}),e.jsx("span",{ref:b,children:e.jsx(q,{targetRef:b,iconName:"arrow_down",zIndex:1e3,iconSize:12,options:j,tooltipPlacement:"top",onOptionClick:e=>{let t=e.value;A(C,t,!0),y(t)}})})]})})]}),e.jsx("div",{className:"ff-excel-toolbar-divider"}),e.jsxs("div",{className:"ff-excel-toolbar-icon",children:[e.jsx(I,{placement:"top",title:"Format Painter",children:e.jsx(E,{variant:p?"dark":"light",hoverEffect:!p,disabled:"disable"===n,onClick:()=>{d(C)},name:"formate_painter"})}),e.jsx(I,{placement:"top",title:"Text Color",children:e.jsxs("div",{className:"ff-excel-toolbar-icon-color",children:[e.jsx(E,{hoverEffect:!0,width:12,height:12,disabled:"disable"===n,onClick:()=>{i(C,Z.color)},name:"text_color"}),e.jsx(AC,{disabled:"disable"===n,getColorValue:e=>{k((t=>({...t,color:e})))}})]})}),e.jsx(I,{placement:"top",title:"Background Color",children:e.jsxs("div",{className:"ff-excel-toolbar-icon-color",children:[e.jsx(E,{hoverEffect:!0,width:12,height:12,disabled:"disable"===n,onClick:()=>s(C,Z.backgroundColor),name:"fill_color"}),e.jsx(AC,{disabled:"disable"===n,getColorValue:e=>{k((t=>({...t,backgroundColor:e})))}})]})})]}),e.jsx("div",{className:"ff-excel-toolbar-divider"}),e.jsx("div",{className:"ff-excel-toolbar-menu",children:e.jsx(I,{placement:"top",title:"Border Type",children:e.jsxs("div",{className:"ff-excel-toolbar-menu-option",children:[e.jsx(E,{hoverEffect:!0,disabled:"disable"===n,onClick:()=>f(C,B,"black"),name:(()=>{const e=V.find((e=>e.value===B));return e?e.icon:""})()}),e.jsx("span",{ref:w,children:e.jsx(q,{iconName:"arrow_down",targetRef:w,iconSize:12,zIndex:1e3,options:V,tooltipPlacement:"top",onOptionClick:e=>{let t=e.value;f(C,t,"black"),L(t)}})})]})})})]})},uC=t=>{const{className:n,columnLabels:r,rowLabels:A,toolbar:i,onKeyDown:a,Table:l=Ou,Row:c=Pu,sheetHeight:s,HeaderRow:f=Su,DataEditor:d=eC,DataViewer:C=_u,onSelect:p=()=>{},onActivate:g=()=>{},onEvaluatedDataChange:h=()=>{},contextOption:m}=t,[E,b]=o.useState(!1),w=o.useMemo((()=>{const e=t.createFormulaParser||qd,n=new tu(e,t.data);return b((e=>!e)),{...vu,model:n,selected:t.selected||vu.selected}}),[t.createFormulaParser,t.data,t.selected]),v=o.useReducer(Bu,w),[B,L]=v,M=o.useMemo((()=>function(e,t,n){const{columns:r,rows:o}=vd(e);return{rows:t?Math.max(o,t.length):o,columns:n?Math.max(r,n.length):r}}(B.model.data,A,r)),[B.model.data,A,r]),I=B.mode,y=o.useRef(null),x=e=>o.useCallback(((...t)=>L(e(...t))),[e]),Q=x(Cd),D=x(ud),H=x(pd),Z=x(cd),k=x(sd),V=x(rd),j=x(fd),N=x(dd),z=x(od),O=x(Ad),P=x(id),S=x(Ff),F=x(Tf),T=x(Gf),R=x(Kf),G=x(Xf),X=x(Yf),Y=x(Rf),K=x(Uf),U=x(Wf),W=x(qf),q=x(Jf),J=x(_f),_=x($f),$=x(ed),ee=x(td),te=x(nd),ne=o.useRef(B.active);o.useEffect((()=>{if(B.active!==ne.current)if(B.active)g(B.active);else{const e=y.current;e&&Kd(e)&&document.activeElement&&document.activeElement.blur()}ne.current=B.active}),[g,B.active]);const re=o.useRef(B.model.evaluatedData);o.useEffect((()=>{B?.model?.evaluatedData!==re?.current&&h(B?.model?.evaluatedData),re.current=B.model.evaluatedData}),[B?.model?.evaluatedData,h]),o.useEffect((()=>{H()}),[E]);const oe=o.useRef(B.selected);o.useEffect((()=>{B.selected.equals(oe.current)||t.selected&&B.selected.equals(t.selected)||p(B.selected),oe.current=B.selected}),[B.selected,p,t.selected]);const Ae=o.useRef(t.selected);o.useEffect((()=>{t.selected&&Ae.current&&!t.selected.equals(Ae.current)&&P(t.selected),Ae.current=t.selected}),[t.selected,P]);let ie=o.useRef(t.data);o.useEffect((()=>{t.data!==ie.current&&z(t.data),ie.current=t.data}),[t.data,z]);const ae=o.useRef(t.createFormulaParser);o.useEffect((()=>{t.createFormulaParser!==ae.current&&t.createFormulaParser&&O(t.createFormulaParser),ae.current=t.createFormulaParser}),[t.createFormulaParser,O]);const le=o.useCallback((e=>{const{model:t,selected:n}=B,{data:r}=t,o=n.toRange(r);if(o){!function(e,t){e.clipboardData?.setData(Pd,t)}(e,Xd(function(e,t,n){const r=[],o=t.column-e.column;for(let A=e.row;A<=t.row;A++){const i=A-e.row;r[i]=r[i]||Array(o);for(let o=e.column;o<=t.column;o++)r[i][o-e.column]=gd({row:A,column:o},n)}return r}(o.start,o.end,r)))}}),[B]),ce=o.useCallback((e=>{Yd(y.current,I)&&(e.preventDefault(),e.stopPropagation(),le(e),Q())}),[I,le,Q]),se=o.useCallback((e=>{Yd(y.current,I)&&(e.preventDefault(),e.stopPropagation(),le(e),D())}),[I,le,D]),fe=o.useCallback((e=>{if(Yd(y.current,I)&&(e.preventDefault(),e.stopPropagation(),e.clipboardData)){const t=function(e){return window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):e.clipboardData&&e.clipboardData.getData?e.clipboardData.getData(Pd):""}(e);Z(t)}}),[I,Z]),de=o.useCallback((e=>{e.persist(),a&&a(e),e.defaultPrevented||(function(e,t){return void 0!==Eu(e,t)}(B,e)&&e.nativeEvent.preventDefault(),k(e))}),[B,a,k]),ue=o.useCallback((()=>{N(),document.removeEventListener("mouseup",ue)}),[N]),Ce=o.useCallback((e=>{B.dragging||1!==e.buttons||(j(),document.addEventListener("mouseup",ue))}),[B,j,ue]),pe=o.useMemo((()=>Ju(t.Cell||qu)),[t.Cell,E]),ge=o.useMemo((()=>Gu(t.CornerIndicator||Ru)),[t.CornerIndicator,E]),he=o.useMemo((()=>Wu(t.RowIndicator||Uu)),[t.RowIndicator,E]),me=o.useMemo((()=>Xu(t.ColumnIndicator||Yu)),[t.ColumnIndicator,E]);o.useEffect((()=>(document.addEventListener("cut",ce),document.addEventListener("copy",se),document.addEventListener("paste",fe),()=>{document.removeEventListener("cut",ce),document.removeEventListener("copy",se),document.removeEventListener("paste",fe)})),[ce,se,fe]);const Ee=o.useMemo((()=>e.jsxs(l,{columns:M.columns,children:[e.jsxs(f,{children:[e.jsx(ge,{}),Sd(M.columns).map((n=>r?e.jsx(me,{column:n,setContextMenu:t.setContextMenu,label:n in r?r[n]:null,deleteColumn:te,addColumnLeft:_,addColumnRight:$,data:t.data,columnContextEnable:t.columnContextEnable},n):e.jsx(me,{column:n,setContextMenu:t.setContextMenu,deleteColumn:te,addColumnLeft:_,addColumnRight:$,data:t.data,columnContextEnable:t.columnContextEnable},n)))]}),Sd(M.rows).map((n=>e.jsxs(c,{row:n,children:[A?e.jsx(he,{label:n in A?A[n]:null,row:n,addRowTop:q,addRowBottom:J,deleteRow:ee,setContextMenu:t.setContextMenu,rowContextEnable:t.rowContextEnable,data:t.data},n):e.jsx(he,{row:n,addRowTop:q,addRowBottom:J,deleteRow:ee,setContextMenu:t.setContextMenu,rowContextEnable:t.rowContextEnable,data:t.data},n),Sd(M.columns).map((t=>e.jsx(pe,{row:n,column:t,DataViewer:C},t)))]},n)))]})),[l,M.rows,M.columns,c,f,ge,r,me,A,he,pe,C]),be=o.useMemo((()=>e.jsx(tC,{contextOption:m,setContextMenu:t.setContextMenu,DataEditor:d})),[d]),we=o.useMemo((()=>e.jsxs("div",{className:"ff-excel",children:[e.jsx("div",{className:u("ff-excel-header-column-hider",{"ff-excel-header-hider-remover":"hide"===i,"ff-excel-header-hider":"hide"!==i})}),e.jsx("div",{className:"ff-excel-header-hider ff-excel-header-row-hider"}),e.jsx("div",{className:"hide"===i?"ff-excel-toolbar-container-hide":"ff-excel-toolbar-container",children:e.jsx(dC,{toolbar:i,onBold:S,onItalic:F,setUnderlineType:T,setColor:K,setBorderType:Y,setFontSize:G,setFontFamily:X,setTextAlign:R,setBackgroundColor:U,setFormatePainter:W})}),e.jsxs("div",{ref:y,style:{height:s},className:u("ff-excel-spreadsheet",n),onKeyPress:e=>{V(e)},onKeyDown:e=>{de(e)},onMouseMove:Ce,children:[Ee,be,e.jsx(rC,{}),e.jsx(oC,{})]})]})),[n,V,de,Ce,Ee,be]);return e.jsx(zu.Provider,{value:v,children:we})};A(".ff-excel {\n position: relative;\n}\n.ff-excel .ff-excel-sheet {\n position: relative;\n top: 0;\n}\n.ff-excel .ff-excel-sheet-bar-hider {\n display: none;\n}\n.ff-excel .ff-excel-sheet-bar {\n position: static;\n max-width: 100%;\n margin-left: 60px;\n display: flex;\n height: 36px;\n align-items: center;\n color: var(--brand2-color);\n box-shadow: 0px 0px 4px -1px var(--toggle-strip-shadow);\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-add-sheet-set {\n position: relative;\n background-color: var(--tab-bg-color);\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n top: 0;\n left: 0px;\n height: 100%;\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-add-sheet-set .ff-excel-add-sheet-icon {\n padding: 8px 10px;\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-tab-container {\n height: 36px;\n display: flex;\n overflow-x: auto;\n align-items: center;\n scrollbar-width: none;\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-tab-container .ff-excel-tab-list {\n padding: 10px 9px;\n height: 16px;\n min-width: max-content;\n cursor: pointer;\n background-color: var(--hover-color);\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-tab-container .ff-excel-tab-list.active {\n background-color: var(--excel-sheet-button-color);\n padding: 10px 9px;\n height: 16px;\n}\n.ff-excel .ff-excel-sheet-bar .ff-excel-tab-container .ff-excel-tab-list:focus {\n outline: none;\n text-decoration: none;\n}");A(".ff-excel-menu {\n position: fixed;\n border: 1px solid var(--option-card-border-color);\n background: var(--option-card-bg-color);\n border-radius: 4px;\n margin: 2px;\n min-height: 32px;\n min-width: 111px;\n white-space: nowrap;\n z-index: 2000;\n}\n.ff-excel-menu .ff-excel-menu-options {\n color: var(--text-color);\n cursor: pointer;\n border-radius: 3px;\n display: flex;\n align-items: center;\n padding: 4px;\n gap: 8px;\n}\n.ff-excel-menu .ff-excel-menu-options:hover {\n background-color: var(--hover-color);\n}\n.ff-excel-menu .ff-excel-menu-options label {\n cursor: pointer;\n}");const CC=({contextMenu:t,position:n})=>e.jsx("div",{className:"ff-excel-menu",style:{left:n.x,top:n.y},children:t.options.map((t=>e.jsxs("div",{className:"ff-excel-menu-options",onClick:()=>{t.action()},children:[t.iconName&&e.jsx(E,{name:t.iconName,height:16,width:16,color:t.label.includes("Delete")?"var(--label-edit-error-text)":"var(--brand-color)"}),e.jsx(b,{as:"label",children:t.label})]})))}),pC=(e,t)=>{let n=null;const r=function(...r){n&&clearTimeout(n),n=setTimeout((()=>{e.apply(this,r)}),t)};return r.cancel=()=>{n&&clearTimeout(n),n=null},r},gC={value:"",inputType:{type:"text"},readOnly:!1,style:{color:"#000000",backgroundColor:"#ffffff",borderColor:"#c9c9c9",textDecoration:"none solid",borderRight:"1px solid var(--excel-header-border)",borderLeft:"1px solid var(--excel-header-border)",borderTop:"1px solid var(--excel-header-border)",borderBottom:"1px solid var(--excel-header-border)",fontSize:"15px",fontWeight:"normal",fontStyle:"normal",fontFamily:"Poppins",textAlign:"left"}};A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-module-chip {\n padding: 0 12px;\n width: fit-content;\n height: 30px;\n color: var(--table-column-text-color);\n border: 1px solid var(--ff-editor-line-bg);\n border-radius: 16px;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n}\n.ff-module-chip .module-typography {\n color: var(--table-column-text-color);\n}\n.ff-module-chip--active {\n border: 0.5px solid var(--brand-color);\n background: var(--brand-color);\n}\n.ff-module-chip--active .module-typography {\n color: var(--base-bg-color);\n font-weight: 600;\n}\n.ff-module-chip:hover {\n background-color: var(--hover-color);\n}\n.ff-module-chip:hover .module-typography {\n color: var(--table-column-text-color);\n}\n\n.ff-filter-chip {\n height: 22px;\n border: 0.5px solid var(--in-active-button-color);\n}\n.ff-filter-chip:hover {\n background-color: var(--ff-icon-hover-fill-color);\n}\n.ff-filter-chip:hover .module-typography {\n color: var(--table-column-text-color);\n}\n.ff-filter-chip--active {\n box-shadow: 0px 4px 4px 0px var(--toggle-strip-shadow) inset;\n border: none;\n background: linear-gradient(90deg, var(--brand-color) 0%, var(--button-background-gradient-color) 100%);\n}\n.ff-filter-chip--active .module-typography {\n color: var(--base-bg-color);\n font-weight: 600;\n}\n.ff-filter-chip--active:hover {\n border: none;\n box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922) inset;\n background: linear-gradient(90deg, var(--brand-color) 0%, var(--button-background-gradient-color) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));\n}\n.ff-filter-chip--active:hover .module-typography {\n color: var(--base-bg-color);\n}');A('.fontXs, .ff-icon-radial-chart-container svg text {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-icon-radial-chart-container {\n position: relative;\n}\n.ff-icon-radial-chart-container svg .ff-radial-chart-icon-padding {\n padding: 0px;\n}\n.ff-icon-radial-chart-container svg text {\n font-size: var(--fontSize) !important;\n font-weight: 400;\n}\n.ff-icon-radial-chart-container .ff-icon-radial-chart-tooltip {\n position: fixed;\n padding: 5px;\n border-radius: 4px;\n pointer-events: none;\n background-color: var(--tooltip-bg-color);\n color: var(--tooltip-text-color);\n}');const hC=({x:e,y:t,radius:n,startAngle:r,endAngle:o})=>{const A=e+n*Math.cos(r),i=t+n*Math.sin(r),a=e+n*Math.cos(o),l=t+n*Math.sin(o),c=o-r>Math.PI?1:0;return o-r>=2*Math.PI?`\n M ${e+n} ${t}\n A ${n} ${n} 0 1 1 ${e-n} ${t}\n A ${n} ${n} 0 1 1 ${e+n} ${t}\n `:`M ${A} ${i} A ${n} ${n} 0 ${c} 1 ${a} ${l}`};A(".ff-attach-image-container {\n position: relative;\n display: inline-block;\n}\n.ff-attach-image-container .ff-image-wrapper {\n position: relative;\n width: 79px;\n height: 75px;\n}\n.ff-attach-image-container .ff-image-wrapper img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.ff-attach-image-container .ff-image-wrapper .ff-hover-icons {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n opacity: 0;\n background-color: rgba(0, 0, 0, 0.7);\n transition: opacity 0.4s ease;\n}\n.ff-attach-image-container .ff-image-wrapper .ff-hover-icons .ff-top-icons {\n position: absolute;\n top: 1px;\n right: 1px;\n display: flex;\n gap: 4px;\n}\n.ff-attach-image-container .ff-image-wrapper .ff-hover-icons .ff-top-icons .ff-icon-container {\n width: 8px;\n height: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.3s ease;\n}\n.ff-attach-image-container .ff-image-wrapper .ff-hover-icons .ff-expand-icon-container {\n width: 24px;\n height: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n border-radius: 4px;\n background-color: transparent;\n transition: background-color 0.3s ease;\n}\n.ff-attach-image-container .ff-image-wrapper:hover .ff-hover-icons {\n opacity: 1;\n}\n.ff-attach-image-container .ff-image-wrapper:hover .ff-icon-container, .ff-attach-image-container .ff-image-wrapper:hover .ff-top-icons .ff-icon-container {\n border-radius: 4px;\n background-color: var(--ff-icon-hover-bg-color);\n}\n.ff-attach-image-container .ff-image-wrapper:hover .ff-expand-icon-container {\n background-color: var(--ff-icon-hover-bg-color);\n}");A(".ff-card-container {\n height: 78px;\n display: flex;\n align-items: center;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n overflow: hidden;\n cursor: pointer;\n}\n.ff-card-container:hover.passed {\n border-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.passed .ff-status-bar {\n border-right: 1px solid var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.failed {\n border-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.failed .ff-status-bar {\n border-right: 1px solid var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.warning {\n border-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.warning .ff-status-bar {\n border-right: 1px solid var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.skipped {\n border-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container:hover.skipped .ff-status-bar {\n border-right: 1px solid var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container:hover.flaky {\n border-color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container:hover.flaky .ff-status-bar {\n border-right: 1px solid var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container:hover.total {\n border-color: var(--card-total-defect-color);\n}\n.ff-card-container:hover.total .ff-status-bar {\n border-right: 1px solid var(--card-total-defect-color);\n}\n.ff-card-container:hover.defect {\n border-color: var(--card-defect-density);\n}\n.ff-card-container:hover.defect .ff-status-bar {\n border-right: 1px solid var(--card-defect-density);\n}\n.ff-card-container:hover.open {\n border-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.open .ff-status-bar {\n border-right: 1px solid var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.closed {\n border-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.closed .ff-status-bar {\n border-right: 1px solid var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.quality {\n border-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.quality .ff-status-bar {\n border-right: 1px solid var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container .ff-status-bar {\n width: 12%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n border-right: 1px solid var(--border-color);\n border-radius: 3px;\n}\n.ff-card-container .ff-status-bar .ff-status-text {\n transform: rotate(-90deg);\n transform-origin: center;\n display: flex;\n align-items: start;\n height: 16px;\n width: 6px;\n}\n.ff-card-container.passed .ff-status-bar {\n background-color: var(--ff-card-passed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.passed .ff-content .ff-number {\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.passed.toggled {\n background-color: var(--ff-card-passed-status-bg-color);\n border: 1px solid var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.passed.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-passed-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.passed.toggled .ff-content {\n background-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.failed .ff-status-bar {\n background-color: var(--ff-card-failed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.failed .ff-content .ff-number {\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.failed.toggled {\n background-color: var(--ff-card-failed-status-bg-color);\n border: 1px solid var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.failed.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-failed-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.failed.toggled .ff-content {\n background-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.warning .ff-status-bar {\n background-color: var(--ff-card-warning-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.warning .ff-content .ff-number {\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.warning.toggled {\n background-color: var(--ff-card-warning-status-bg-color);\n border: 1px solid var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.warning.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-warning-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.warning.toggled .ff-content {\n background-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.skipped .ff-status-bar {\n background-color: var(--ff-card-skipped-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.skipped .ff-content .ff-number {\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.skipped.toggled {\n background-color: var(--ff-card-skipped-status-bg-color);\n border: 1px solid var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.skipped.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-skipped-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.skipped.toggled .ff-content {\n background-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.flaky .ff-status-bar {\n background-color: var(--ff-card-flaky-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.flaky .ff-content .ff-number {\n color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.flaky.toggled {\n background-color: var(--ff-card-flaky-status-bg-color);\n border: 1px solid var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.flaky.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-flaky-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.flaky.toggled .ff-content {\n background-color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.total .ff-status-bar {\n background-color: var(--card-total-defect-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.total .ff-content .ff-number {\n color: var(--card-total-defect-color);\n}\n.ff-card-container.total.toggled {\n background-color: var(--card-total-defect-color);\n border: 1px solid var(--card-total-defect-color);\n}\n.ff-card-container.total.toggled .ff-status-bar {\n border-right: 1px solid var(--card-total-defect-color);\n background-color: var(--base-bg-color);\n color: var(--card-total-defect-color);\n}\n.ff-card-container.total.toggled .ff-content {\n background-color: var(--card-total-defect-color);\n}\n.ff-card-container.defect .ff-status-bar {\n background-color: var(--card-defect-density);\n color: var(--base-bg-color);\n}\n.ff-card-container.defect .ff-content .ff-number {\n color: var(--card-defect-density);\n}\n.ff-card-container.defect.toggled {\n background-color: var(--card-defect-density);\n border: 1px solid var(--card-defect-density);\n}\n.ff-card-container.defect.toggled .ff-status-bar {\n border-right: 1px solid var(--card-defect-density);\n background-color: var(--base-bg-color);\n color: var(--card-defect-density);\n}\n.ff-card-container.defect.toggled .ff-content {\n background-color: var(--card-defect-density);\n}\n.ff-card-container.open .ff-status-bar {\n background-color: var(--ff-card-failed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.open .ff-content .ff-number {\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.open.toggled {\n background-color: var(--ff-card-failed-status-bg-color);\n border: 1px solid var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.open.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-failed-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.open.toggled .ff-content {\n background-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.closed .ff-status-bar {\n background-color: var(--ff-card-passed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.closed .ff-content .ff-number {\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.closed.toggled {\n background-color: var(--ff-card-passed-status-bg-color);\n border: 1px solid var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.closed.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-passed-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.closed.toggled .ff-content {\n background-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.quality .ff-status-bar {\n background-color: var(--ff-card-warning-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.quality .ff-content .ff-number {\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.quality.toggled {\n background-color: var(--ff-card-warning-status-bg-color);\n border: 1px solid var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.quality.toggled .ff-status-bar {\n border-right: 1px solid var(--ff-card-warning-status-bg-color);\n background-color: var(--base-bg-color);\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.quality.toggled .ff-content {\n background-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container .ff-content {\n height: 100%;\n flex: 1;\n padding: 0px 8px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.ff-card-container .ff-content .ff-number {\n margin-bottom: 4px;\n color: inherit;\n}\n.ff-card-container .ff-content.red-background {\n gap: 8px;\n}");A(".ff-variable-dropdown {\n display: flex;\n flex-direction: column;\n background-color: var(--variable-dropdown-bg);\n border: 1px solid var(--border-color);\n border-radius: 3px;\n overflow: hidden;\n overflow-y: auto;\n}\n.ff-variable-dropdown.absolute {\n position: absolute;\n top: 34px;\n}\n.ff-variable-dropdown.relative {\n position: relative;\n}\n\n.ff-variable-option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n cursor: pointer;\n}\n.ff-variable-option:hover {\n background-color: var(--hover-color);\n}");const mC=({optionsList:t=[],onSelectVariable:n,dropdownPosition:r,position:o="relative",width:A="300px",zIndex:i=9999,truncateTextValue:a=34})=>e.jsx("div",{className:u("ff-variable-dropdown",o),style:r?{top:r.top+30,left:r.left-30,width:A,zIndex:i}:{width:A,zIndex:i},children:M(t)?e.jsx("div",{className:"ff-variable-option",children:e.jsx(b,{as:"span",fontSize:14,children:"No Option"})}):t?.map((t=>e.jsxs("div",{className:"ff-variable-option",onMouseDown:()=>n(t),children:[e.jsx(b,{as:"span",fontSize:14,children:D(t?.name,a)}),e.jsx(E,{name:"LOCAL"===t?.type?"local_variable_icon":"GLOBAL"===t?.type?"global_variable_icon":"project_env_variable_icon",height:16,width:16,hoverEffect:!0})]},t?.id)))});A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm, .ff-line-chart-inner-tooltip, .ff--line-chart-x-line-data, .ff-line-chart-y-axis-text, .ff-line-chart-date {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8, .ff-line-chart-x-axis-label {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-line-chart-container {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.ff-line-chart-text {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n.ff-line-chart-text .smooth-dot {\n transition: cx 0.2s ease, cy 0.2s ease;\n}\n\n.ff-line-chart-yAxisLabel-warpper {\n position: relative;\n min-width: 20px;\n height: 100%;\n}\n.ff-line-chart-yAxisLabel-warpper .ff-line-chart-yAxisLabel {\n position: absolute;\n right: 0;\n top: 50%;\n display: flex;\n white-space: nowrap;\n transform: rotate(270deg) translateX(60%);\n transform-origin: right center;\n}\n\n.ff-line-chart-text1 {\n transform-origin: center;\n transform: rotate(-90deg);\n transition: transform 1s ease-in-out;\n position: relative;\n left: 163px;\n min-width: 10px;\n color: var(--drawer-title-color);\n}\n\n.ff-line-chart-tooltip {\n position: absolute;\n background-color: var(--tooltip-bg-color);\n border-radius: 4px;\n pointer-events: none;\n display: flex;\n flex-direction: column;\n min-width: 30px;\n min-height: 30px;\n justify-content: center;\n align-items: flex-start;\n row-gap: 10px;\n padding: 8px !important;\n}\n\n.ff-line-chart-status-dot {\n width: 16px;\n height: 16px;\n border-radius: 100%;\n}\n\n.ff-line-chart-inner-tooltip {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 5px;\n color: var(--arrow-button-bg-color);\n}\n\n.ff-line-chart-date {\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n border-bottom: 1px solid var(--arrow-button-bg-color);\n color: var(--arrow-button-bg-color);\n}\n\n.ff-line-chart-x-axis-label {\n font-weight: 600;\n}');const EC=/([0-9\.]+)/,bC=/[a-zA-Z]+/,wC=/^(\d+\.?\d*)\s*(GB|MB|KB)?$/i;A(".ff-download-client-wrapper {\n position: absolute;\n height: 181px;\n width: 368px;\n border: 1px solid var(--download-client-border-color);\n border-radius: 4px;\n box-shadow: 0px 0px 8px 0px var(--download-client-icon-container-box-shadow-color);\n}\n.ff-download-client-wrapper .ff-download-client-header-wrapper {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n justify-content: space-between;\n background-color: var(--download-client-header-bg-color);\n}\n.ff-download-client-wrapper .ff-download-client-header-wrapper .ff-download-client-hollow-triangle {\n position: absolute;\n height: 8px;\n width: 8px;\n border: 1px solid var(--download-client-border-color);\n top: -6px;\n right: 64px;\n z-index: -1;\n border-radius: 2px;\n transform: rotate(45deg);\n}\n.ff-download-client-wrapper .ff-download-client-header-wrapper .ff-download-client-header-text {\n margin-left: 4px;\n}\n.ff-download-client-wrapper .ff-download-client-header-wrapper .ff-download-client-close-icon {\n cursor: pointer;\n margin-right: 10px;\n}\n.ff-download-client-wrapper .ff-download-client-content-text {\n width: calc(100% - 16px);\n height: 132px;\n background-color: #fff;\n padding: 8px;\n}\n.ff-download-client-wrapper .ff-download-client-content-text .ff-download-client-description-text {\n margin-bottom: 8px;\n}\n.ff-download-client-wrapper .ff-download-client-os-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n gap: 24px;\n}\n.ff-download-client-wrapper .ff-download-client-os-wrapper .ff-os-version-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n height: 64px;\n width: 64px;\n cursor: pointer;\n border-radius: 8px;\n border: 1px solid var(--download-client-icon-container-border-color);\n box-shadow: 0px 0px 10px 0px var(--download-client-icon-container-box-shadow-color);\n}");A(".ff_fieldSet_container .ff_fieldSet {\n border: 1px solid var(--ff-select-border-color);\n border-radius: 5px;\n}\n.ff_fieldSet_container .ff_fieldSet .ff_legend_container {\n display: flex;\n margin-left: 8px;\n}");A(".ff-create-variable-slider {\n padding: 8px;\n display: flex;\n transition: all 0.3s ease;\n flex-direction: column;\n gap: 8px;\n}\n.ff-create-variable-slider .ff-hide-value-content {\n display: flex;\n align-items: center;\n}\n\n.ff-create-slider-footer {\n width: 100%;\n gap: 8px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}");A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n:root {\n --tooltip-bg-color: #1e161f;\n --status-approved-text-color: #016102;\n --status-warning-text-color: #ff8b00;\n --status-rejected-text-color: #c60202;\n --status-skipped-text-color: #3c3838;\n --status-approved-bg-color: #c6efcd;\n --status-rejected-bg-color: #f7d9d9;\n --status-warning-bg-color: #fae2c6;\n --status-skipped-bg-color: #c4c3c3;\n --brand-color: #71347b;\n --icons-default-color: #71347b;\n --default-icon-color: #a3a3a3;\n --default-color: #747474;\n --primary-icon-color: #ffffff;\n --secondary-icon-color: #71347b;\n --system-color--error: #c50303;\n --hover-color: #f7ebff;\n --brand2-color: #610b86;\n --status-warning-hover-bg-color: #fcd8ac;\n --status-percentage-growth-bg-color: #ecedf8;\n --primary-icon-color: #ffffff;\n --secondary-icon-color: #71347b;\n --description-text-color: #d9d9d9;\n --expandable-menu-default-bg: #fdfaff;\n --expandable-menu-option-bg: rgba(97, 11, 134, 0.1019607843);\n --text-color: #1e161f;\n --file-dropzone-default-color: rgba(113, 52, 123, 0.1019607843);\n --file-dropzone-selected-color: rgba(113, 52, 123, 0.2);\n --file-details-container-shadow: rgba(30, 22, 31, 0.1607843137);\n --file-details-bg: #ffffff;\n --error-light: #e42525;\n --tabs-label-default-color: tabs-label-default-color;\n --tabs-label-active-color: tabs-label-active-color;\n --tabs-border-color: tabs-border-color;\n --tabs-bg-color: tabs-bg-color;\n --tab-bg-color: tab-bg-color;\n --toggle-button-bg-color: #ffffff;\n --toggle-strip-shadow: rgba(0, 0, 0, 0.2509803922);\n --toggle-strip-color: #cfd1e2;\n --disable-color: rgba(113, 52, 123, 0.5019607843);\n --toggle-strip-color: #cfd1e2;\n --add-icon-hover-color: #431b4a;\n --arrows-button-border-color: #ded1e5;\n --arrow-button-bg-color: #ffffff;\n --text-bg-highlight: #f5fb00;\n --slider-table-color: #efe1f9;\n --variable-dropdown-bg: #($variable-dropdown-bg);\n --dataset-tooltip-title: #($dataset-tooltip-title),\n --dataset-tooltip-value: #($dataset-tooltip-value), ;\n}\n\n.ff-accordion-table-container {\n overflow-y: auto;\n}\n.ff-accordion-table-container .ff-accordion-table {\n width: 100%;\n}\n.ff-accordion-table-container .ff-accordion-table .ff-table-header,\n.ff-accordion-table-container .ff-accordion-table .ff-table-cell {\n text-align: left;\n padding: 9px;\n}\n.ff-accordion-table-container .ff-accordion-table .ff-table-header {\n color: var(--text-color);\n border-bottom: 1px solid var(--slider-table-color);\n}\n.ff-accordion-table-container .ff-accordion-table .ff-table-body .ff-table-row:hover {\n background-color: var(--hover-color);\n}\n.ff-accordion-table-container .ff-accordion-table--primary-bg {\n background-color: var(--table-with-accordion-header-primary-bg);\n}\n.ff-accordion-table-container .ff-accordion-table--secondary-bg {\n background-color: var(--secondary-bg);\n}\n.ff-accordion-table-container .ff-accordion-table--default-bg {\n background-color: var(--default-bg);\n}\n.ff-accordion-table-container .ff-accordion-fixed-header {\n position: sticky;\n top: 0;\n z-index: 99;\n background-color: var(--file-details-bg);\n}\n.ff-accordion-table-container .column-table-accordion {\n width: 100%;\n}\n.ff-accordion-table-container .column-table-accordion .accordion-header {\n display: flex;\n align-items: center;\n}\n.ff-accordion-table-container .column-table-accordion .accordion-header .header-title {\n padding: 8px;\n}\n.ff-accordion-table-container .column-table-accordion .accordion-header .accordion-arrow img {\n height: 30px;\n width: 35px;\n}');A(".ff-progress-bar-container {\n width: 100%;\n min-width: 200px;\n display: flex;\n align-items: center;\n gap: 5px;\n}\n.ff-progress-bar-container.ff-has-label {\n justify-content: space-between;\n}\n.ff-progress-bar-container:not(.ff-has-label) .ff-progress-bar-track {\n flex: 1;\n}\n\n.ff-progress-bar-track {\n flex: 1;\n background-color: var(--ff-progress-bar-bg-color);\n border-radius: 5px;\n overflow: hidden;\n position: relative;\n}\n\n.ff-progress-bar {\n border-radius: 5px;\n transition: width 0.3s ease;\n}\n\n.ff-progress-bar-percentage {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.ff-progress-bar-label {\n max-width: 50px;\n font-size: 14px;\n color: var(--ff-card-status-text-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}");A("/* Container Styling */\n.ff-script-switch-container {\n display: flex;\n background-color: var(--base-bg-color);\n height: 24px;\n width: 48px;\n border-radius: 6px;\n border: 1px solid var(--border-color);\n align-items: center;\n justify-content: center;\n /* Button Styling */\n /* Active Button */\n}\n.ff-script-switch-container .ff-script-switch-button {\n padding: 0.1px;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n outline: none;\n transition: all 0.3s ease;\n /* Button Hover Effect */\n}\n.ff-script-switch-container .ff-script-switch-button:hover {\n background-color: var(--hover-color);\n color: var(--brand-color);\n}\n.ff-script-switch-container .ff-script-switch-button.active {\n background-color: var(--ff-line-number-bg);\n color: var(--base-bg-color);\n}");A("/* Container Styling */\n.ff-switch-container {\n display: flex;\n background-color: var(--base-bg-color);\n height: 24px;\n width: 48px;\n border-radius: 5px;\n border: 1px solid var(--brand-color);\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n overflow: hidden;\n /* Button Styling */\n /* Active Button */\n}\n.ff-switch-container .ff-switch-button {\n cursor: pointer;\n transition: all 0.3s ease;\n /* Button Hover Effect */\n}\n.ff-switch-container .ff-switch-button:hover {\n background-color: var(--hover-color);\n color: var(--brand-color);\n}\n.ff-switch-container .ff-switch-button.active {\n background-color: var(--brand-color);\n color: var(--base-bg-color);\n}");A('.fontXs {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: "Poppins";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: "Poppins";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: "Poppins";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: "Poppins";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: "Poppins";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: "Poppins";\n font-size: 8px;\n}\n\n.font-size-10 {\n font-family: "Poppins";\n font-size: 10px;\n}\n\n.font-size-20 {\n font-family: "Poppins";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: "Poppins";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: "Poppins";\n font-size: 80px;\n}\n\n.ff-mobileskin-wrapper, .ff-mobileskin-wrapper .ff-mobileskin-container {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n flex-direction: column;\n}\n.ff-mobileskin-wrapper.portrait, .ff-mobileskin-wrapper .portrait.ff-mobileskin-container {\n gap: 30px;\n}\n.ff-mobileskin-wrapper.landscape, .ff-mobileskin-wrapper .landscape.ff-mobileskin-container {\n gap: 38px;\n}\n.ff-mobileskin-wrapper .ff-mobileskin-container .ff-mobile-container {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n border: 8px solid var(--text-color);\n border-radius: 30px;\n position: relative;\n overflow: hidden;\n}\n.ff-mobileskin-wrapper .ff-mobileskin-container .ff-mobile-container::-webkit-scrollbar {\n width: 0;\n height: 0;\n}\n.ff-mobileskin-wrapper .ff-mobileskin-container .ff-mobile-container::-webkit-scrollbar-thumb {\n background-color: transparent;\n}\n.ff-mobileskin-wrapper .ff-mobileskin-container .ff-mobile-container .ff-mobile-image-container {\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n overflow: hidden;\n}\n.ff-mobileskin-wrapper .ff-nav-bar {\n height: 32px;\n padding: 8px;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n border: 1px solid var(--brand-color);\n border-radius: 24px;\n}\n.ff-mobileskin-wrapper .ff-nav-bar-icon {\n height: 16px;\n padding: 8px;\n border-right: 1px solid var(--brand-color);\n display: flex;\n justify-content: center;\n align-items: center;\n align-content: center;\n}\n.ff-mobileskin-wrapper .ff-nav-bar-icon.last-icon {\n border-right: none;\n}');const vC=(e,t)=>{if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return!1;const n=Array.isArray(e),r=Array.isArray(t);if(n!==r)return!1;const o=n?e:Object.keys(e),A=r?t:Object.keys(t);if(o.length!==A.length)return!1;if(n)return o.every(((e,t)=>vC(e,A[t])));{const n=new Set(A);return o.every((r=>n.has(r)&&vC(e[r],t[r])))}};function BC(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function LC(e,t){return e&t}function MC(e,t){return e|t}function IC(e,t){return e^t}function yC(e,t){return e&~t}function xC(e){if(0==e)return-1;var t=0;return 65535&e||(e>>=16,t+=16),255&e||(e>>=8,t+=8),15&e||(e>>=4,t+=4),3&e||(e>>=2,t+=2),1&e||++t,t}function QC(e){for(var t=0;0!=e;)e&=e-1,++t;return t}var DC,HC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function ZC(e){var t,n,r="";for(t=0;t+3<=e.length;t+=3)n=parseInt(e.substring(t,t+3),16),r+=HC.charAt(n>>6)+HC.charAt(63&n);for(t+1==e.length?(n=parseInt(e.substring(t,t+1),16),r+=HC.charAt(n<<2)):t+2==e.length&&(n=parseInt(e.substring(t,t+2),16),r+=HC.charAt(n>>2)+HC.charAt((3&n)<<4));(3&r.length)>0;)r+="=";return r}function kC(e){var t,n="",r=0,o=0;for(t=0;t<e.length&&"="!=e.charAt(t);++t){var A=HC.indexOf(e.charAt(t));A<0||(0==r?(n+=BC(A>>2),o=3&A,r=1):1==r?(n+=BC(o<<2|A>>4),o=15&A,r=2):2==r?(n+=BC(o),n+=BC(A>>2),o=3&A,r=3):(n+=BC(o<<2|A>>4),n+=BC(15&A),r=0))}return 1==r&&(n+=BC(o<<2)),n}var VC,jC=function(e){var t;if(void 0===DC){var n="0123456789ABCDEF",r=" \f\n\r\t \u2028\u2029";for(DC={},t=0;t<16;++t)DC[n.charAt(t)]=t;for(n=n.toLowerCase(),t=10;t<16;++t)DC[n.charAt(t)]=t;for(t=0;t<8;++t)DC[r.charAt(t)]=-1}var o=[],A=0,i=0;for(t=0;t<e.length;++t){var a=e.charAt(t);if("="==a)break;if(-1!=(a=DC[a])){if(void 0===a)throw new Error("Illegal character at offset "+t);A|=a,++i>=2?(o[o.length]=A,A=0,i=0):A<<=4}}if(i)throw new Error("Hex encoding incomplete: 4 bits missing");return o},NC={decode:function(e){var t;if(void 0===VC){var n="= \f\n\r\t \u2028\u2029";for(VC=Object.create(null),t=0;t<64;++t)VC["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)]=t;for(VC["-"]=62,VC._=63,t=0;t<9;++t)VC[n.charAt(t)]=-1}var r=[],o=0,A=0;for(t=0;t<e.length;++t){var i=e.charAt(t);if("="==i)break;if(-1!=(i=VC[i])){if(void 0===i)throw new Error("Illegal character at offset "+t);o|=i,++A>=4?(r[r.length]=o>>16,r[r.length]=o>>8&255,r[r.length]=255&o,o=0,A=0):o<<=6}}switch(A){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:r[r.length]=o>>10;break;case 3:r[r.length]=o>>16,r[r.length]=o>>8&255}return r},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(e){var t=NC.re.exec(e);if(t)if(t[1])e=t[1];else{if(!t[2])throw new Error("RegExp out of sync");e=t[2]}return NC.decode(e)}},zC=1e13,OC=function(){function e(e){this.buf=[+e||0]}return e.prototype.mulAdd=function(e,t){var n,r,o=this.buf,A=o.length;for(n=0;n<A;++n)(r=o[n]*e+t)<zC?t=0:r-=(t=0|r/zC)*zC,o[n]=r;t>0&&(o[n]=t)},e.prototype.sub=function(e){var t,n,r=this.buf,o=r.length;for(t=0;t<o;++t)(n=r[t]-e)<0?(n+=zC,e=1):e=0,r[t]=n;for(;0===r[r.length-1];)r.pop()},e.prototype.toString=function(e){if(10!=(e||10))throw new Error("only base 10 is supported");for(var t=this.buf,n=t[t.length-1].toString(),r=t.length-2;r>=0;--r)n+=(zC+t[r]).toString().substring(1);return n},e.prototype.valueOf=function(){for(var e=this.buf,t=0,n=e.length-1;n>=0;--n)t=t*zC+e[n];return t},e.prototype.simplify=function(){var e=this.buf;return 1==e.length?e[0]:this},e}(),PC=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,SC=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function FC(e,t){return e.length>t&&(e=e.substring(0,t)+"…"),e}var TC,RC=function(){function e(t,n){this.hexDigits="0123456789ABCDEF",t instanceof e?(this.enc=t.enc,this.pos=t.pos):(this.enc=t,this.pos=n)}return e.prototype.get=function(e){if(void 0===e&&(e=this.pos++),e>=this.enc.length)throw new Error("Requesting byte offset ".concat(e," on a stream of length ").concat(this.enc.length));return"string"==typeof this.enc?this.enc.charCodeAt(e):this.enc[e]},e.prototype.hexByte=function(e){return this.hexDigits.charAt(e>>4&15)+this.hexDigits.charAt(15&e)},e.prototype.hexDump=function(e,t,n){for(var r="",o=e;o<t;++o)if(r+=this.hexByte(this.get(o)),!0!==n)switch(15&o){case 7:r+=" ";break;case 15:r+="\n";break;default:r+=" "}return r},e.prototype.isASCII=function(e,t){for(var n=e;n<t;++n){var r=this.get(n);if(r<32||r>176)return!1}return!0},e.prototype.parseStringISO=function(e,t){for(var n="",r=e;r<t;++r)n+=String.fromCharCode(this.get(r));return n},e.prototype.parseStringUTF=function(e,t){for(var n="",r=e;r<t;){var o=this.get(r++);n+=o<128?String.fromCharCode(o):o>191&&o<224?String.fromCharCode((31&o)<<6|63&this.get(r++)):String.fromCharCode((15&o)<<12|(63&this.get(r++))<<6|63&this.get(r++))}return n},e.prototype.parseStringBMP=function(e,t){for(var n,r,o="",A=e;A<t;)n=this.get(A++),r=this.get(A++),o+=String.fromCharCode(n<<8|r);return o},e.prototype.parseTime=function(e,t,n){var r=this.parseStringISO(e,t),o=(n?PC:SC).exec(r);return o?(n&&(o[1]=+o[1],o[1]+=+o[1]<70?2e3:1900),r=o[1]+"-"+o[2]+"-"+o[3]+" "+o[4],o[5]&&(r+=":"+o[5],o[6]&&(r+=":"+o[6],o[7]&&(r+="."+o[7]))),o[8]&&(r+=" UTC","Z"!=o[8]&&(r+=o[8],o[9]&&(r+=":"+o[9]))),r):"Unrecognized time: "+r},e.prototype.parseInteger=function(e,t){for(var n,r=this.get(e),o=r>127,A=o?255:0,i="";r==A&&++e<t;)r=this.get(e);if(0===(n=t-e))return o?-1:0;if(n>4){for(i=r,n<<=3;!(128&(+i^A));)i=+i<<1,--n;i="("+n+" bit)\n"}o&&(r-=256);for(var a=new OC(r),l=e+1;l<t;++l)a.mulAdd(256,this.get(l));return i+a.toString()},e.prototype.parseBitString=function(e,t,n){for(var r=this.get(e),o="("+((t-e-1<<3)-r)+" bit)\n",A="",i=e+1;i<t;++i){for(var a=this.get(i),l=i==t-1?r:0,c=7;c>=l;--c)A+=a>>c&1?"1":"0";if(A.length>n)return o+FC(A,n)}return o+A},e.prototype.parseOctetString=function(e,t,n){if(this.isASCII(e,t))return FC(this.parseStringISO(e,t),n);var r=t-e,o="("+r+" byte)\n";r>(n/=2)&&(t=e+n);for(var A=e;A<t;++A)o+=this.hexByte(this.get(A));return r>n&&(o+="…"),o},e.prototype.parseOID=function(e,t,n){for(var r="",o=new OC,A=0,i=e;i<t;++i){var a=this.get(i);if(o.mulAdd(128,127&a),A+=7,!(128&a)){if(""===r)if((o=o.simplify())instanceof OC)o.sub(80),r="2."+o.toString();else{var l=o<80?o<40?0:1:2;r=l+"."+(o-40*l)}else r+="."+o.toString();if(r.length>n)return FC(r,n);o=new OC,A=0}}return A>0&&(r+=".incomplete"),r},e}(),GC=function(){function e(e,t,n,r,o){if(!(r instanceof XC))throw new Error("Invalid tag value.");this.stream=e,this.header=t,this.length=n,this.tag=r,this.sub=o}return e.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}},e.prototype.content=function(e){if(void 0===this.tag)return null;void 0===e&&(e=1/0);var t=this.posContent(),n=Math.abs(this.length);if(!this.tag.isUniversal())return null!==this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(t,t+n,e);switch(this.tag.tagNumber){case 1:return 0===this.stream.get(t)?"false":"true";case 2:return this.stream.parseInteger(t,t+n);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(t,t+n,e);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(t,t+n,e);case 6:return this.stream.parseOID(t,t+n,e);case 16:case 17:return null!==this.sub?"("+this.sub.length+" elem)":"(no elem)";case 12:return FC(this.stream.parseStringUTF(t,t+n),e);case 18:case 19:case 20:case 21:case 22:case 26:return FC(this.stream.parseStringISO(t,t+n),e);case 30:return FC(this.stream.parseStringBMP(t,t+n),e);case 23:case 24:return this.stream.parseTime(t,t+n,23==this.tag.tagNumber)}return null},e.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},e.prototype.toPrettyString=function(e){void 0===e&&(e="");var t=e+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(t+="+"),t+=this.length,this.tag.tagConstructed?t+=" (constructed)":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(t+=" (encapsulates)"),t+="\n",null!==this.sub){e+=" ";for(var n=0,r=this.sub.length;n<r;++n)t+=this.sub[n].toPrettyString(e)}return t},e.prototype.posStart=function(){return this.stream.pos},e.prototype.posContent=function(){return this.stream.pos+this.header},e.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},e.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},e.decodeLength=function(e){var t=e.get(),n=127&t;if(n==t)return n;if(n>6)throw new Error("Length over 48 bits not supported at position "+(e.pos-1));if(0===n)return null;t=0;for(var r=0;r<n;++r)t=256*t+e.get();return t},e.prototype.getHexStringValue=function(){var e=this.toHexString(),t=2*this.header,n=2*this.length;return e.substr(t,n)},e.decode=function(t){var n;n=t instanceof RC?t:new RC(t,0);var r=new RC(n),o=new XC(n),A=e.decodeLength(n),i=n.pos,a=i-r.pos,l=null,c=function(){var t=[];if(null!==A){for(var r=i+A;n.pos<r;)t[t.length]=e.decode(n);if(n.pos!=r)throw new Error("Content size is not correct for container starting at offset "+i)}else try{for(;;){var o=e.decode(n);if(o.tag.isEOC())break;t[t.length]=o}A=i-n.pos}catch(e){throw new Error("Exception while decoding undefined length content: "+e)}return t};if(o.tagConstructed)l=c();else if(o.isUniversal()&&(3==o.tagNumber||4==o.tagNumber))try{if(3==o.tagNumber&&0!=n.get())throw new Error("BIT STRINGs with unused bits cannot encapsulate.");l=c();for(var s=0;s<l.length;++s)if(l[s].tag.isEOC())throw new Error("EOC is not supposed to be actual content.")}catch(e){l=null}if(null===l){if(null===A)throw new Error("We can't skip over an invalid tag with undefined length at offset "+i);n.pos=i+Math.abs(A)}return new e(r,a,A,o,l)},e}(),XC=function(){function e(e){var t=e.get();if(this.tagClass=t>>6,this.tagConstructed=!!(32&t),this.tagNumber=31&t,31==this.tagNumber){var n=new OC;do{t=e.get(),n.mulAdd(128,127&t)}while(128&t);this.tagNumber=n.simplify()}}return e.prototype.isUniversal=function(){return 0===this.tagClass},e.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},e}(),YC=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],KC=(1<<26)/YC[YC.length-1],UC=function(){function e(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}return e.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,r=(1<<t)-1,o=!1,A="",i=this.t,a=this.DB-i*this.DB%t;if(i-- >0)for(a<this.DB&&(n=this[i]>>a)>0&&(o=!0,A=BC(n));i>=0;)a<t?(n=(this[i]&(1<<a)-1)<<t-a,n|=this[--i]>>(a+=this.DB-t)):(n=this[i]>>(a-=t)&r,a<=0&&(a+=this.DB,--i)),n>0&&(o=!0),o&&(A+=BC(n));return o?A:"0"},e.prototype.negate=function(){var t=$C();return e.ZERO.subTo(this,t),t},e.prototype.abs=function(){return this.s<0?this.negate():this},e.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},e.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+ap(this[this.t-1]^this.s&this.DM)},e.prototype.mod=function(t){var n=$C();return this.abs().divRemTo(t,null,n),this.s<0&&n.compareTo(e.ZERO)>0&&t.subTo(n,n),n},e.prototype.modPowInt=function(e,t){var n;return n=e<256||t.isEven()?new qC(t):new JC(t),this.exp(e,n)},e.prototype.clone=function(){var e=$C();return this.copyTo(e),e},e.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},e.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},e.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},e.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},e.prototype.toByteArray=function(){var e=this.t,t=[];t[0]=this.s;var n,r=this.DB-e*this.DB%8,o=0;if(e-- >0)for(r<this.DB&&(n=this[e]>>r)!=(this.s&this.DM)>>r&&(t[o++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this[e]&(1<<r)-1)<<8-r,n|=this[--e]>>(r+=this.DB-8)):(n=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),128&n&&(n|=-256),0==o&&(128&this.s)!=(128&n)&&++o,(o>0||n!=this.s)&&(t[o++]=n);return t},e.prototype.equals=function(e){return 0==this.compareTo(e)},e.prototype.min=function(e){return this.compareTo(e)<0?this:e},e.prototype.max=function(e){return this.compareTo(e)>0?this:e},e.prototype.and=function(e){var t=$C();return this.bitwiseTo(e,LC,t),t},e.prototype.or=function(e){var t=$C();return this.bitwiseTo(e,MC,t),t},e.prototype.xor=function(e){var t=$C();return this.bitwiseTo(e,IC,t),t},e.prototype.andNot=function(e){var t=$C();return this.bitwiseTo(e,yC,t),t},e.prototype.not=function(){for(var e=$C(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e},e.prototype.shiftLeft=function(e){var t=$C();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},e.prototype.shiftRight=function(e){var t=$C();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},e.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+xC(this[e]);return this.s<0?this.t*this.DB:-1},e.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,n=0;n<this.t;++n)e+=QC(this[n]^t);return e},e.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:!!(this[t]&1<<e%this.DB)},e.prototype.setBit=function(e){return this.changeBit(e,MC)},e.prototype.clearBit=function(e){return this.changeBit(e,yC)},e.prototype.flipBit=function(e){return this.changeBit(e,IC)},e.prototype.add=function(e){var t=$C();return this.addTo(e,t),t},e.prototype.subtract=function(e){var t=$C();return this.subTo(e,t),t},e.prototype.multiply=function(e){var t=$C();return this.multiplyTo(e,t),t},e.prototype.divide=function(e){var t=$C();return this.divRemTo(e,t,null),t},e.prototype.remainder=function(e){var t=$C();return this.divRemTo(e,null,t),t},e.prototype.divideAndRemainder=function(e){var t=$C(),n=$C();return this.divRemTo(e,t,n),[t,n]},e.prototype.modPow=function(e,t){var n,r,o=e.bitLength(),A=ip(1);if(o<=0)return A;n=o<18?1:o<48?3:o<144?4:o<768?5:6,r=o<8?new qC(t):t.isEven()?new _C(t):new JC(t);var i=[],a=3,l=n-1,c=(1<<n)-1;if(i[1]=r.convert(this),n>1){var s=$C();for(r.sqrTo(i[1],s);a<=c;)i[a]=$C(),r.mulTo(s,i[a-2],i[a]),a+=2}var f,d,u=e.t-1,C=!0,p=$C();for(o=ap(e[u])-1;u>=0;){for(o>=l?f=e[u]>>o-l&c:(f=(e[u]&(1<<o+1)-1)<<l-o,u>0&&(f|=e[u-1]>>this.DB+o-l)),a=n;!(1&f);)f>>=1,--a;if((o-=a)<0&&(o+=this.DB,--u),C)i[f].copyTo(A),C=!1;else{for(;a>1;)r.sqrTo(A,p),r.sqrTo(p,A),a-=2;a>0?r.sqrTo(A,p):(d=A,A=p,p=d),r.mulTo(p,i[f],A)}for(;u>=0&&!(e[u]&1<<o);)r.sqrTo(A,p),d=A,A=p,p=d,--o<0&&(o=this.DB-1,--u)}return r.revert(A)},e.prototype.modInverse=function(t){var n=t.isEven();if(this.isEven()&&n||0==t.signum())return e.ZERO;for(var r=t.clone(),o=this.clone(),A=ip(1),i=ip(0),a=ip(0),l=ip(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),n?(A.isEven()&&i.isEven()||(A.addTo(this,A),i.subTo(t,i)),A.rShiftTo(1,A)):i.isEven()||i.subTo(t,i),i.rShiftTo(1,i);for(;o.isEven();)o.rShiftTo(1,o),n?(a.isEven()&&l.isEven()||(a.addTo(this,a),l.subTo(t,l)),a.rShiftTo(1,a)):l.isEven()||l.subTo(t,l),l.rShiftTo(1,l);r.compareTo(o)>=0?(r.subTo(o,r),n&&A.subTo(a,A),i.subTo(l,i)):(o.subTo(r,o),n&&a.subTo(A,a),l.subTo(i,l))}return 0!=o.compareTo(e.ONE)?e.ZERO:l.compareTo(t)>=0?l.subtract(t):l.signum()<0?(l.addTo(t,l),l.signum()<0?l.add(t):l):l},e.prototype.pow=function(e){return this.exp(e,new WC)},e.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),n=e.s<0?e.negate():e.clone();if(t.compareTo(n)<0){var r=t;t=n,n=r}var o=t.getLowestSetBit(),A=n.getLowestSetBit();if(A<0)return t;for(o<A&&(A=o),A>0&&(t.rShiftTo(A,t),n.rShiftTo(A,n));t.signum()>0;)(o=t.getLowestSetBit())>0&&t.rShiftTo(o,t),(o=n.getLowestSetBit())>0&&n.rShiftTo(o,n),t.compareTo(n)>=0?(t.subTo(n,t),t.rShiftTo(1,t)):(n.subTo(t,n),n.rShiftTo(1,n));return A>0&&n.lShiftTo(A,n),n},e.prototype.isProbablePrime=function(e){var t,n=this.abs();if(1==n.t&&n[0]<=YC[YC.length-1]){for(t=0;t<YC.length;++t)if(n[0]==YC[t])return!0;return!1}if(n.isEven())return!1;for(t=1;t<YC.length;){for(var r=YC[t],o=t+1;o<YC.length&&r<KC;)r*=YC[o++];for(r=n.modInt(r);t<o;)if(r%YC[t++]==0)return!1}return n.millerRabin(e)},e.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},e.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},e.prototype.fromString=function(t,n){var r;if(16==n)r=4;else if(8==n)r=3;else if(256==n)r=8;else if(2==n)r=1;else if(32==n)r=5;else{if(4!=n)return void this.fromRadix(t,n);r=2}this.t=0,this.s=0;for(var o=t.length,A=!1,i=0;--o>=0;){var a=8==r?255&+t[o]:Ap(t,o);a<0?"-"==t.charAt(o)&&(A=!0):(A=!1,0==i?this[this.t++]=a:i+r>this.DB?(this[this.t-1]|=(a&(1<<this.DB-i)-1)<<i,this[this.t++]=a>>this.DB-i):this[this.t-1]|=a<<i,(i+=r)>=this.DB&&(i-=this.DB))}8==r&&128&+t[0]&&(this.s=-1,i>0&&(this[this.t-1]|=(1<<this.DB-i)-1<<i)),this.clamp(),A&&e.ZERO.subTo(this,this)},e.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},e.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},e.prototype.drShiftTo=function(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s},e.prototype.lShiftTo=function(e,t){for(var n=e%this.DB,r=this.DB-n,o=(1<<r)-1,A=Math.floor(e/this.DB),i=this.s<<n&this.DM,a=this.t-1;a>=0;--a)t[a+A+1]=this[a]>>r|i,i=(this[a]&o)<<n;for(a=A-1;a>=0;--a)t[a]=0;t[A]=i,t.t=this.t+A+1,t.s=this.s,t.clamp()},e.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var r=e%this.DB,o=this.DB-r,A=(1<<r)-1;t[0]=this[n]>>r;for(var i=n+1;i<this.t;++i)t[i-n-1]|=(this[i]&A)<<o,t[i-n]=this[i]>>r;r>0&&(t[this.t-n-1]|=(this.s&A)<<o),t.t=this.t-n,t.clamp()}},e.prototype.subTo=function(e,t){for(var n=0,r=0,o=Math.min(e.t,this.t);n<o;)r+=this[n]-e[n],t[n++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r-=e.s;n<this.t;)r+=this[n],t[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<e.t;)r-=e[n],t[n++]=r&this.DM,r>>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[n++]=this.DV+r:r>0&&(t[n++]=r),t.t=n,t.clamp()},e.prototype.multiplyTo=function(t,n){var r=this.abs(),o=t.abs(),A=r.t;for(n.t=A+o.t;--A>=0;)n[A]=0;for(A=0;A<o.t;++A)n[A+r.t]=r.am(0,o[A],n,A,0,r.t);n.s=0,n.clamp(),this.s!=t.s&&e.ZERO.subTo(n,n)},e.prototype.squareTo=function(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var r=t.am(n,t[n],e,2*n,0,1);(e[n+t.t]+=t.am(n+1,2*t[n],e,2*n+1,r,t.t-n-1))>=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},e.prototype.divRemTo=function(t,n,r){var o=t.abs();if(!(o.t<=0)){var A=this.abs();if(A.t<o.t)return null!=n&&n.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=$C());var i=$C(),a=this.s,l=t.s,c=this.DB-ap(o[o.t-1]);c>0?(o.lShiftTo(c,i),A.lShiftTo(c,r)):(o.copyTo(i),A.copyTo(r));var s=i.t,f=i[s-1];if(0!=f){var d=f*(1<<this.F1)+(s>1?i[s-2]>>this.F2:0),u=this.FV/d,C=(1<<this.F1)/d,p=1<<this.F2,g=r.t,h=g-s,m=null==n?$C():n;for(i.dlShiftTo(h,m),r.compareTo(m)>=0&&(r[r.t++]=1,r.subTo(m,r)),e.ONE.dlShiftTo(s,m),m.subTo(i,i);i.t<s;)i[i.t++]=0;for(;--h>=0;){var E=r[--g]==f?this.DM:Math.floor(r[g]*u+(r[g-1]+p)*C);if((r[g]+=i.am(0,E,r,h,0,s))<E)for(i.dlShiftTo(h,m),r.subTo(m,r);r[g]<--E;)r.subTo(m,r)}null!=n&&(r.drShiftTo(s,n),a!=l&&e.ZERO.subTo(n,n)),r.t=s,r.clamp(),c>0&&r.rShiftTo(c,r),a<0&&e.ZERO.subTo(r,r)}}},e.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(!(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},e.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},e.prototype.exp=function(t,n){if(t>4294967295||t<1)return e.ONE;var r=$C(),o=$C(),A=n.convert(this),i=ap(t)-1;for(A.copyTo(r);--i>=0;)if(n.sqrTo(r,o),(t&1<<i)>0)n.mulTo(o,A,r);else{var a=r;r=o,o=a}return n.revert(r)},e.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},e.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),n=Math.pow(e,t),r=ip(n),o=$C(),A=$C(),i="";for(this.divRemTo(r,o,A);o.signum()>0;)i=(n+A.intValue()).toString(e).substr(1)+i,o.divRemTo(r,o,A);return A.intValue().toString(e)+i},e.prototype.fromRadix=function(t,n){this.fromInt(0),null==n&&(n=10);for(var r=this.chunkSize(n),o=Math.pow(n,r),A=!1,i=0,a=0,l=0;l<t.length;++l){var c=Ap(t,l);c<0?"-"==t.charAt(l)&&0==this.signum()&&(A=!0):(a=n*a+c,++i>=r&&(this.dMultiply(o),this.dAddOffset(a,0),i=0,a=0))}i>0&&(this.dMultiply(Math.pow(n,i)),this.dAddOffset(a,0)),A&&e.ZERO.subTo(this,this)},e.prototype.fromNumber=function(t,n,r){if("number"==typeof n)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(e.ONE.shiftLeft(t-1),MC,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(n);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(e.ONE.shiftLeft(t-1),this);else{var o=[],A=7&t;o.length=1+(t>>3),n.nextBytes(o),A>0?o[0]&=(1<<A)-1:o[0]=0,this.fromString(o,256)}},e.prototype.bitwiseTo=function(e,t,n){var r,o,A=Math.min(e.t,this.t);for(r=0;r<A;++r)n[r]=t(this[r],e[r]);if(e.t<this.t){for(o=e.s&this.DM,r=A;r<this.t;++r)n[r]=t(this[r],o);n.t=this.t}else{for(o=this.s&this.DM,r=A;r<e.t;++r)n[r]=t(o,e[r]);n.t=e.t}n.s=t(this.s,e.s),n.clamp()},e.prototype.changeBit=function(t,n){var r=e.ONE.shiftLeft(t);return this.bitwiseTo(r,n,r),r},e.prototype.addTo=function(e,t){for(var n=0,r=0,o=Math.min(e.t,this.t);n<o;)r+=this[n]+e[n],t[n++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r+=e.s;n<this.t;)r+=this[n],t[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<e.t;)r+=e[n],t[n++]=r&this.DM,r>>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[n++]=r:r<-1&&(t[n++]=this.DV+r),t.t=n,t.clamp()},e.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},e.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},e.prototype.multiplyLowerTo=function(e,t,n){var r=Math.min(this.t+e.t,t);for(n.s=0,n.t=r;r>0;)n[--r]=0;for(var o=n.t-this.t;r<o;++r)n[r+this.t]=this.am(0,e[r],n,r,0,this.t);for(o=Math.min(e.t,t);r<o;++r)this.am(0,e[r],n,r,0,t-r);n.clamp()},e.prototype.multiplyUpperTo=function(e,t,n){--t;var r=n.t=this.t+e.t-t;for(n.s=0;--r>=0;)n[r]=0;for(r=Math.max(t-this.t,0);r<e.t;++r)n[this.t+r-t]=this.am(t-r,e[r],n,0,0,this.t+r-t);n.clamp(),n.drShiftTo(1,n)},e.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,n=this.s<0?e-1:0;if(this.t>0)if(0==t)n=this[0]%e;else for(var r=this.t-1;r>=0;--r)n=(t*n+this[r])%e;return n},e.prototype.millerRabin=function(t){var n=this.subtract(e.ONE),r=n.getLowestSetBit();if(r<=0)return!1;var o=n.shiftRight(r);(t=t+1>>1)>YC.length&&(t=YC.length);for(var A=$C(),i=0;i<t;++i){A.fromInt(YC[Math.floor(Math.random()*YC.length)]);var a=A.modPow(o,this);if(0!=a.compareTo(e.ONE)&&0!=a.compareTo(n)){for(var l=1;l++<r&&0!=a.compareTo(n);)if(0==(a=a.modPowInt(2,this)).compareTo(e.ONE))return!1;if(0!=a.compareTo(n))return!1}}return!0},e.prototype.square=function(){var e=$C();return this.squareTo(e),e},e.prototype.gcda=function(e,t){var n=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(n.compareTo(r)<0){var o=n;n=r,r=o}var A=n.getLowestSetBit(),i=r.getLowestSetBit();if(i<0)t(n);else{A<i&&(i=A),i>0&&(n.rShiftTo(i,n),r.rShiftTo(i,r));var a=function(){(A=n.getLowestSetBit())>0&&n.rShiftTo(A,n),(A=r.getLowestSetBit())>0&&r.rShiftTo(A,r),n.compareTo(r)>=0?(n.subTo(r,n),n.rShiftTo(1,n)):(r.subTo(n,r),r.rShiftTo(1,r)),n.signum()>0?setTimeout(a,0):(i>0&&r.lShiftTo(i,r),setTimeout((function(){t(r)}),0))};setTimeout(a,10)}},e.prototype.fromNumberAsync=function(t,n,r,o){if("number"==typeof n)if(t<2)this.fromInt(1);else{this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(e.ONE.shiftLeft(t-1),MC,this),this.isEven()&&this.dAddOffset(1,0);var A=this,i=function(){A.dAddOffset(2,0),A.bitLength()>t&&A.subTo(e.ONE.shiftLeft(t-1),A),A.isProbablePrime(n)?setTimeout((function(){o()}),0):setTimeout(i,0)};setTimeout(i,0)}else{var a=[],l=7&t;a.length=1+(t>>3),n.nextBytes(a),l>0?a[0]&=(1<<l)-1:a[0]=0,this.fromString(a,256)}},e}(),WC=function(){function e(){}return e.prototype.convert=function(e){return e},e.prototype.revert=function(e){return e},e.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n)},e.prototype.sqrTo=function(e,t){e.squareTo(t)},e}(),qC=function(){function e(e){this.m=e}return e.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},e.prototype.revert=function(e){return e},e.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},e.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},e.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},e}(),JC=function(){function e(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}return e.prototype.convert=function(e){var t=$C();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(UC.ZERO)>0&&this.m.subTo(t,t),t},e.prototype.revert=function(e){var t=$C();return e.copyTo(t),this.reduce(t),t},e.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var n=32767&e[t],r=n*this.mpl+((n*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},e.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},e.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},e}(),_C=function(){function e(e){this.m=e,this.r2=$C(),this.q3=$C(),UC.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e)}return e.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=$C();return e.copyTo(t),this.reduce(t),t},e.prototype.revert=function(e){return e},e.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},e.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},e.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},e}();function $C(){return new UC(null)}function ep(e,t){return new UC(e,t)}var tp="undefined"!=typeof navigator;tp&&"Microsoft Internet Explorer"==navigator.appName?(UC.prototype.am=function(e,t,n,r,o,A){for(var i=32767&t,a=t>>15;--A>=0;){var l=32767&this[e],c=this[e++]>>15,s=a*l+c*i;o=((l=i*l+((32767&s)<<15)+n[r]+(1073741823&o))>>>30)+(s>>>15)+a*c+(o>>>30),n[r++]=1073741823&l}return o},TC=30):tp&&"Netscape"!=navigator.appName?(UC.prototype.am=function(e,t,n,r,o,A){for(;--A>=0;){var i=t*this[e++]+n[r]+o;o=Math.floor(i/67108864),n[r++]=67108863&i}return o},TC=26):(UC.prototype.am=function(e,t,n,r,o,A){for(var i=16383&t,a=t>>14;--A>=0;){var l=16383&this[e],c=this[e++]>>14,s=a*l+c*i;o=((l=i*l+((16383&s)<<14)+n[r]+o)>>28)+(s>>14)+a*c,n[r++]=268435455&l}return o},TC=28),UC.prototype.DB=TC,UC.prototype.DM=(1<<TC)-1,UC.prototype.DV=1<<TC;UC.prototype.FV=Math.pow(2,52),UC.prototype.F1=52-TC,UC.prototype.F2=2*TC-52;var np,rp,op=[];for(np="0".charCodeAt(0),rp=0;rp<=9;++rp)op[np++]=rp;for(np="a".charCodeAt(0),rp=10;rp<36;++rp)op[np++]=rp;for(np="A".charCodeAt(0),rp=10;rp<36;++rp)op[np++]=rp;function Ap(e,t){var n=op[e.charCodeAt(t)];return null==n?-1:n}function ip(e){var t=$C();return t.fromInt(e),t}function ap(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}UC.ZERO=ip(0),UC.ONE=ip(1);var lp=function(){function e(){this.i=0,this.j=0,this.S=[]}return e.prototype.init=function(e){var t,n,r;for(t=0;t<256;++t)this.S[t]=t;for(n=0,t=0;t<256;++t)n=n+this.S[t]+e[t%e.length]&255,r=this.S[t],this.S[t]=this.S[n],this.S[n]=r;this.i=0,this.j=0},e.prototype.next=function(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]},e}();var cp,sp,fp=null;if(null==fp){fp=[],sp=0;var dp=void 0;if("undefined"!=typeof window&&window.crypto&&window.crypto.getRandomValues){var up=new Uint32Array(256);for(window.crypto.getRandomValues(up),dp=0;dp<up.length;++dp)fp[sp++]=255&up[dp]}var Cp=0,pp=function(e){if((Cp=Cp||0)>=256||sp>=256)window.removeEventListener?window.removeEventListener("mousemove",pp,!1):window.detachEvent&&window.detachEvent("onmousemove",pp);else try{var t=e.x+e.y;fp[sp++]=255&t,Cp+=1}catch(e){}};"undefined"!=typeof window&&(window.addEventListener?window.addEventListener("mousemove",pp,!1):window.attachEvent&&window.attachEvent("onmousemove",pp))}function gp(){if(null==cp){for(cp=new lp;sp<256;){var e=Math.floor(65536*Math.random());fp[sp++]=255&e}for(cp.init(fp),sp=0;sp<fp.length;++sp)fp[sp]=0;sp=0}return cp.next()}var hp=function(){function e(){}return e.prototype.nextBytes=function(e){for(var t=0;t<e.length;++t)e[t]=gp()},e}();var mp=function(){function e(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}return e.prototype.doPublic=function(e){return e.modPowInt(this.e,this.n)},e.prototype.doPrivate=function(e){if(null==this.p||null==this.q)return e.modPow(this.d,this.n);for(var t=e.mod(this.p).modPow(this.dmp1,this.p),n=e.mod(this.q).modPow(this.dmq1,this.q);t.compareTo(n)<0;)t=t.add(this.p);return t.subtract(n).multiply(this.coeff).mod(this.p).multiply(this.q).add(n)},e.prototype.setPublic=function(e,t){null!=e&&null!=t&&e.length>0&&t.length>0?(this.n=ep(e,16),this.e=parseInt(t,16)):console.error("Invalid RSA public key")},e.prototype.encrypt=function(e){var t=this.n.bitLength()+7>>3,n=function(e,t){if(t<e.length+11)return console.error("Message too long for RSA"),null;for(var n=[],r=e.length-1;r>=0&&t>0;){var o=e.charCodeAt(r--);o<128?n[--t]=o:o>127&&o<2048?(n[--t]=63&o|128,n[--t]=o>>6|192):(n[--t]=63&o|128,n[--t]=o>>6&63|128,n[--t]=o>>12|224)}n[--t]=0;for(var A=new hp,i=[];t>2;){for(i[0]=0;0==i[0];)A.nextBytes(i);n[--t]=i[0]}return n[--t]=2,n[--t]=0,new UC(n)}(e,t);if(null==n)return null;var r=this.doPublic(n);if(null==r)return null;for(var o=r.toString(16),A=o.length,i=0;i<2*t-A;i++)o="0"+o;return o},e.prototype.setPrivate=function(e,t,n){null!=e&&null!=t&&e.length>0&&t.length>0?(this.n=ep(e,16),this.e=parseInt(t,16),this.d=ep(n,16)):console.error("Invalid RSA private key")},e.prototype.setPrivateEx=function(e,t,n,r,o,A,i,a){null!=e&&null!=t&&e.length>0&&t.length>0?(this.n=ep(e,16),this.e=parseInt(t,16),this.d=ep(n,16),this.p=ep(r,16),this.q=ep(o,16),this.dmp1=ep(A,16),this.dmq1=ep(i,16),this.coeff=ep(a,16)):console.error("Invalid RSA private key")},e.prototype.generate=function(e,t){var n=new hp,r=e>>1;this.e=parseInt(t,16);for(var o=new UC(t,16);;){for(;this.p=new UC(e-r,1,n),0!=this.p.subtract(UC.ONE).gcd(o).compareTo(UC.ONE)||!this.p.isProbablePrime(10););for(;this.q=new UC(r,1,n),0!=this.q.subtract(UC.ONE).gcd(o).compareTo(UC.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var A=this.p;this.p=this.q,this.q=A}var i=this.p.subtract(UC.ONE),a=this.q.subtract(UC.ONE),l=i.multiply(a);if(0==l.gcd(o).compareTo(UC.ONE)){this.n=this.p.multiply(this.q),this.d=o.modInverse(l),this.dmp1=this.d.mod(i),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}},e.prototype.decrypt=function(e){var t=ep(e,16),n=this.doPrivate(t);return null==n?null:function(e,t){var n=e.toByteArray(),r=0;for(;r<n.length&&0==n[r];)++r;if(n.length-r!=t-1||2!=n[r])return null;++r;for(;0!=n[r];)if(++r>=n.length)return null;var o="";for(;++r<n.length;){var A=255&n[r];A<128?o+=String.fromCharCode(A):A>191&&A<224?(o+=String.fromCharCode((31&A)<<6|63&n[r+1]),++r):(o+=String.fromCharCode((15&A)<<12|(63&n[r+1])<<6|63&n[r+2]),r+=2)}return o}(n,this.n.bitLength()+7>>3)},e.prototype.generateAsync=function(e,t,n){var r=new hp,o=e>>1;this.e=parseInt(t,16);var A=new UC(t,16),i=this,a=function(){var t=function(){if(i.p.compareTo(i.q)<=0){var e=i.p;i.p=i.q,i.q=e}var t=i.p.subtract(UC.ONE),r=i.q.subtract(UC.ONE),o=t.multiply(r);0==o.gcd(A).compareTo(UC.ONE)?(i.n=i.p.multiply(i.q),i.d=A.modInverse(o),i.dmp1=i.d.mod(t),i.dmq1=i.d.mod(r),i.coeff=i.q.modInverse(i.p),setTimeout((function(){n()}),0)):setTimeout(a,0)},l=function(){i.q=$C(),i.q.fromNumberAsync(o,1,r,(function(){i.q.subtract(UC.ONE).gcda(A,(function(e){0==e.compareTo(UC.ONE)&&i.q.isProbablePrime(10)?setTimeout(t,0):setTimeout(l,0)}))}))},c=function(){i.p=$C(),i.p.fromNumberAsync(e-o,1,r,(function(){i.p.subtract(UC.ONE).gcda(A,(function(e){0==e.compareTo(UC.ONE)&&i.p.isProbablePrime(10)?setTimeout(l,0):setTimeout(c,0)}))}))};setTimeout(c,0)};setTimeout(a,0)},e.prototype.sign=function(e,t,n){var r=function(e,t){if(t<e.length+22)return console.error("Message too long for RSA"),null;for(var n=t-e.length-6,r="",o=0;o<n;o+=2)r+="ff";return ep("0001"+r+"00"+e,16)}((Ep[n]||"")+t(e).toString(),this.n.bitLength()/4);if(null==r)return null;var o=this.doPrivate(r);if(null==o)return null;var A=o.toString(16);return 1&A.length?"0"+A:A},e.prototype.verify=function(e,t,n){var r=ep(t,16),o=this.doPublic(r);return null==o?null:function(e){for(var t in Ep)if(Ep.hasOwnProperty(t)){var n=Ep[t],r=n.length;if(e.substr(0,r)==n)return e.substr(r)}return e}
36
36
  /*!
37
37
  Copyright (c) 2011, Yahoo! Inc. All rights reserved.
38
38
  Code licensed under the BSD License: