@fnndsc/argus 0.18.10 → 0.18.12
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/dist/assets/{Settings-DHjLKHZP.js → Settings-DFQr7wEV.js} +1 -1
- package/dist/assets/{Texture-Ctp-d7rh.js → Texture-dJi69dtp.js} +1 -1
- package/dist/assets/{addVolumesToViewports-D_l8ia6j.js → addVolumesToViewports-jX4czw_h.js} +1 -1
- package/dist/assets/{cornerstoneEngine-CN2tyFbO.js → cornerstoneEngine-BM0LAMyj.js} +2 -2
- package/dist/assets/{index-BisTeyJD.js → index-BdW31dRj.js} +1 -1
- package/dist/assets/{index-CfaJLOOV.js → index-C9cIMMzK.js} +1 -1
- package/dist/assets/{index-CHY0Et2A.js → index-CfGYnRNw.js} +1 -1
- package/dist/assets/{index-BSGb208x.js → index-CiDtwxnI.js} +1 -1
- package/dist/assets/index-DDO4uNG8.css +1 -0
- package/dist/assets/{index-BWoPz01i.js → index-FnjZ_iaa.js} +1 -1
- package/dist/assets/index-MqfligLa.js +4257 -0
- package/dist/assets/{index-t_nbIgLx.js → index-OUFdJIE-.js} +1 -1
- package/dist/assets/{niivueEngine-B0dhoHeV.js → niivueEngine-MdXoDRBv.js} +2 -2
- package/dist/assets/{slabScene-BTxu8vm3.js → slabScene-BNLTuq1R.js} +1 -1
- package/dist/index.html +44 -2
- package/package.json +2 -2
- package/dist/assets/index-CZDbAZTT.js +0 -4256
- package/dist/assets/index-DDBXALkf.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c4 as Jf,c5 as Ai,c6 as Xo,c7 as Yf,c8 as Xf,c9 as Kf,ca as Qf,cb as ec,cc as tc,cd as rc,ce as nc,cf as ac,cg as ic,ch as oc,ci as sc,cj as lc,ck as fc,cl as cc,cm as uc,cn as dc,co as hc,bi as vn,t as Pa,e as xa,ah as _n,cp as ll,aN as fl,au as pc,aV as vc,K as gc,bP as _c,cq as cl,cr as ul,cs as lo,aX as ca,ct as yc,bL as mc,aQ as bc,at as wc,cu as Pc,cv as xc}from"./Settings-DHjLKHZP.js";import{r as ei}from"./cornerstoneEngine-CN2tyFbO.js";import"./Texture-Ctp-d7rh.js";import{u as dl}from"./index-BWoPz01i.js";import{c as gn,g as Ci}from"./_commonjsHelpers-CE1G-McA.js";import{_ as hl}from"./index-CZDbAZTT.js";import"./dcmjs.es-DfWkgqfk.js";import"./refusal-DOpm8I8L.js";const pl=["PixelData","FramePixelData","FloatPixelData","7FE00010","7fe00010","7FE00008","7fe00008"],Ec=["FloatPixelData","7FE00008","7fe00008"];function Tc(e){for(const r of pl){const t=e[r];if(t!=null&&Array.isArray(t)&&t.length>0)return t}}function $c(e){for(const r of pl){const t=e[r];if(t!=null&&Array.isArray(t)&&t.length>0)return r}}function Ac(e){const r=$c(e);return r!==void 0&&Ec.includes(r)}function fo(e){return e instanceof ArrayBuffer?new Uint8Array(e):e}function Cc(e){return e instanceof ArrayBuffer,e.byteLength}function Ko(e,r){const t=e[r];if(t!=null)return Array.isArray(t)?t.map(fo):fo(t)}function Sc(e,r,t,n){if(e.length!==1||!Ac(n))return;const i=e[0];if(i==null)return;const l=fo(i),a=Cc(i);if(t<=0||a%t!==0)return;const d=a/t,P=r*d;return P+d>a?void 0:(console.warn("[compressedFrameData] Splitting single-buffer pixel data by numberOfFrames for paramap-type image; frameIndex=",r,", numberOfFrames=",t,", frameSize=",d),[(l instanceof Uint8Array?l:new Uint8Array(l.buffer,l.byteOffset,l.byteLength)).subarray(P,P+d)])}function Dc(e,r){if(!e)return;const t=Tc(e);if(!t)return;const{TransferSyntaxUID:n}=e;if(!n)return;const i=r??0,l=i+1,a=e.NumberOfFrames!=null?Number(e.NumberOfFrames):1;let d;if(t.length===a?d=Ko(t,i):(d=Sc(t,i,a,e),d===void 0&&(d=Ko(t,i))),d!==void 0)return{transferSyntaxUid:n,frameOfInterest:i,frameNumber:l,pixelData:d}}const Rc=Ai.COMPRESSED_FRAME_DATA,Ic=(e,r,t,n)=>{const i=n?.frameIndex??0,l=Dc(t,i);return l||e(r,t,n)};function Oc(){Jf(Rc,Ic)}const kc=-1e3;function vl(){Xo(Yf,kc),Xo(Xf.get),Kf(),Qf(),ec(),tc(),rc(),nc(),ac(),ic(),oc(),sc(),lc(),fc(),cc(),uc(),dc(),Oc(),hc()}function Do(e,r,t){if(e===void 0)throw new Error("decodeRGB: rgbBuffer must be defined");if(e.length%3!==0)throw new Error(`decodeRGB: rgbBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0;if(t){for(let a=0;a<n;a++)r[l++]=e[i++],r[l++]=e[i++],r[l++]=e[i++],r[l++]=255;return}r.set(e)}function gl(e,r,t){if(e===void 0)throw new Error("decodeRGB: rgbBuffer must be defined");if(e.length%3!==0)throw new Error(`decodeRGB: rgbBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0,a=n,d=n*2;if(t)for(let P=0;P<n;P++)r[i++]=e[l++],r[i++]=e[a++],r[i++]=e[d++],r[i++]=255;else for(let P=0;P<n;P++)r[i++]=e[l++],r[i++]=e[a++],r[i++]=e[d++]}function _l(e,r,t){if(e===void 0)throw new Error("convertYBRFullByPixel: ybrBuffer must be defined");if(e.length%3!==0)throw new Error(`convertYBRFullByPixel: ybrBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0;if(t){for(let a=0;a<n;a++){const d=e[i++],P=e[i++],y=e[i++];r[l++]=d+1.402*(y-128),r[l++]=d-.34414*(P-128)-.71414*(y-128),r[l++]=d+1.772*(P-128),r[l++]=255}return}for(let a=0;a<n;a++){const d=e[i++],P=e[i++],y=e[i++];r[l++]=d+1.402*(y-128),r[l++]=d-.34414*(P-128)-.71414*(y-128),r[l++]=d+1.772*(P-128)}}function yl(e,r,t){if(e===void 0)throw new Error("convertYBRFullByPlane: ybrBuffer must be defined");if(e.length%3!==0)throw new Error(`convertYBRFullByPlane: ybrBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0,a=n,d=n*2;if(t){for(let P=0;P<n;P++){const y=e[l++],w=e[a++],W=e[d++];r[i++]=y+1.402*(W-128),r[i++]=y-.34414*(w-128)-.71414*(W-128),r[i++]=y+1.772*(w-128),r[i++]=255}return}for(let P=0;P<n;P++){const y=e[l++],w=e[a++],W=e[d++];r[i++]=y+1.402*(W-128),r[i++]=y-.34414*(w-128)-.71414*(W-128),r[i++]=y+1.772*(w-128)}}function Lc(e,r,t){if(e===void 0)throw new Error("convertYBRFull422ByPixel: ybrBuffer must be defined");if(e.length%2!==0)throw new Error(`convertYBRFull422ByPixel: ybrBuffer length ${e.length} must be divisible by 2`);const n=e.length/2;let i=0,l=0;if(t){for(let a=0;a<n;a+=2){const d=e[i++],P=e[i++],y=e[i++],w=e[i++];r[l++]=d+1.402*(w-128),r[l++]=d-.34414*(y-128)-.71414*(w-128),r[l++]=d+1.772*(y-128),r[l++]=255,r[l++]=P+1.402*(w-128),r[l++]=P-.34414*(y-128)-.71414*(w-128),r[l++]=P+1.772*(y-128),r[l++]=255}return}for(let a=0;a<n;a+=2){const d=e[i++],P=e[i++],y=e[i++],w=e[i++];r[l++]=d+1.402*(w-128),r[l++]=d-.34414*(y-128)-.71414*(w-128),r[l++]=d+1.772*(y-128),r[l++]=P+1.402*(w-128),r[l++]=P-.34414*(y-128)-.71414*(w-128),r[l++]=P+1.772*(y-128)}}function Ea(e,r,t){const n=e[`${r}PaletteColorLookupTableData`];if(n)return Promise.resolve(n);const i=vn("imagePixelModule",e.imageId);return i&&typeof i.then=="function"?i.then(l=>l?l[`${r}PaletteColorLookupTableData`]:t):Promise.resolve(i?i[`${r}PaletteColorLookupTableData`]:t)}async function Uc(e){const r=[];if(!e.redPaletteColorLookupTableData||!e.greenPaletteColorLookupTableData||!e.bluePaletteColorLookupTableData){const n=Promise.all([Ea(e,"red",null),Ea(e,"green",null),Ea(e,"blue",null)]).then(([i,l,a])=>{e.redPaletteColorLookupTableData=i,e.greenPaletteColorLookupTableData=l,e.bluePaletteColorLookupTableData=a});r.push(n)}r.length>0&&await Promise.all(r)}function Bi(e,r){const t=e.length,n=new Uint8ClampedArray(t);for(let i=0;i<t;++i)n[i]=e[i]>>r;return n}function Ro(e,r,t){const n=e.columns*e.rows,i=e.pixelData,l=e.redPaletteColorLookupTableData,a=e.greenPaletteColorLookupTableData,d=e.bluePaletteColorLookupTableData;if(!l||!a||!d)throw new Error("The image does not have a complete color palette. R, G, and B palette data are required.");const P=l.length;let y=0,w=0;const W=e.redPaletteColorLookupTableDescriptor[1],k=e.redPaletteColorLookupTableDescriptor[2]>8&&l.some(ee=>ee>255)?8:0,j=Bi(l,k),Y=Bi(a,k),K=Bi(d,k);if(t){for(let ee=0;ee<n;++ee){let X=i[y++];X<W?X=0:X>W+P-1?X=P-1:X-=W,r[w++]=j[X],r[w++]=Y[X],r[w++]=K[X],r[w++]=255}return}for(let ee=0;ee<n;++ee){let X=i[y++];X<W?X=0:X>W+P-1?X=P-1:X-=W,r[w++]=j[X],r[w++]=Y[X],r[w++]=K[X]}}async function Mc(e,r,t){await Uc(e),Ro(e,r,t)}function ji(e,r){if(!(!e.elements[r]||e.elements[r].length!==6))return[e.uint16(r,0),e.uint16(r,1),e.uint16(r,2)]}function Hi(e,r,t){const n=[],i=e.elements[r];for(let l=0;l<t[0];l++)t[2]===16?n[l]=e.uint16(r,l):n[l]=e.byteArray[l+i.dataOffset];return n}function Fc(e,r){r.redPaletteColorLookupTableDescriptor=ji(e,"x00281101"),r.greenPaletteColorLookupTableDescriptor=ji(e,"x00281102"),r.bluePaletteColorLookupTableDescriptor=ji(e,"x00281103"),r.redPaletteColorLookupTableDescriptor[0]===0&&(r.redPaletteColorLookupTableDescriptor[0]=65536,r.greenPaletteColorLookupTableDescriptor[0]=65536,r.bluePaletteColorLookupTableDescriptor[0]=65536);const t=r.redPaletteColorLookupTableDescriptor[0],i=e.elements.x00281201.length===t?8:16;r.redPaletteColorLookupTableDescriptor[2]!==i&&(r.redPaletteColorLookupTableDescriptor[2]=i,r.greenPaletteColorLookupTableDescriptor[2]=i,r.bluePaletteColorLookupTableDescriptor[2]=i),r.redPaletteColorLookupTableData=Hi(e,"x00281201",r.redPaletteColorLookupTableDescriptor),r.greenPaletteColorLookupTableData=Hi(e,"x00281202",r.greenPaletteColorLookupTableDescriptor),r.bluePaletteColorLookupTableData=Hi(e,"x00281203",r.bluePaletteColorLookupTableDescriptor)}function Nc(e,r){e.uint16("x00280103")===0?(r.smallestPixelValue=e.uint16("x00280106"),r.largestPixelValue=e.uint16("x00280107")):(r.smallestPixelValue=e.int16("x00280106"),r.largestPixelValue=e.int16("x00280107"))}function ml(e){const r={samplesPerPixel:e.uint16("x00280002"),photometricInterpretation:e.string("x00280004"),rows:e.uint16("x00280010"),columns:e.uint16("x00280011"),bitsAllocated:e.uint16("x00280100"),bitsStored:e.uint16("x00280101"),highBit:e.uint16("x00280102"),pixelRepresentation:e.uint16("x00280103"),planarConfiguration:e.uint16("x00280006"),pixelAspectRatio:e.string("x00280034")};return Nc(e,r),r.photometricInterpretation==="PALETTE COLOR"&&e.elements.x00281101&&Fc(e,r),r}function Wc(e,r){let t=r.uint16("x00283002",0);t===0&&(t=65535);let n=0;e===0?n=r.uint16("x00283002",1):n=r.int16("x00283002",1);const i=r.uint16("x00283002",2),l={id:"1",firstValueMapped:n,numBitsPerEntry:i,lut:[]};for(let a=0;a<t;a++)e===0?l.lut[a]=r.uint16("x00283006",a):l.lut[a]=r.int16("x00283006",a);return l}function co(e,r){if(!r||!r.items||!r.items.length)return;const t=[];for(let n=0;n<r.items.length;n++){const i=r.items[n].dataSet,l=Wc(e,i);l&&t.push(l)}return t}function Bc(e){const r=e.uint16("x00280103"),t=e.uint16("x00280101");return r===0?0:-1<<t-1}function bl(e){const r=e.string("x00080016");if(r==="1.2.840.10008.5.1.4.1.1.2"||r==="1.2.840.10008.5.1.4.1.1.2.1")return 1;const t=e.floatString("x00281052"),n=e.floatString("x00281053");return t!==void 0&&n!==void 0?Bc(e)*n+t<0?1:0:e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")}function Ar(e,r,t){const n=[],i=e.string(r);if(!i)return;const l=i.split("\\");if(!(t&&l.length<t)){for(let a=0;a<l.length;a++)n.push(parseFloat(l[a]));return n}}var yi={exports:{}};var jc=yi.exports,Qo;function Hc(){return Qo||(Qo=1,(function(e,r){(function(t,n){e.exports=n(ei)})(jc,function(t){return i=[function(a,d){a.exports=t},function(a,d,P){P.r(d),P.d(d,"isStringVr",function(){return w}),P.d(d,"isPrivateTag",function(){return W}),P.d(d,"parsePN",function(){return F}),P.d(d,"parseTM",function(){return k}),P.d(d,"parseDA",function(){return Y}),P.d(d,"explicitElementToString",function(){return K}),P.d(d,"explicitDataSetToJS",function(){return ee}),P.d(d,"createJPEGBasicOffsetTable",function(){return J}),P.d(d,"parseDicomDataSetExplicit",function(){return Ke}),P.d(d,"parseDicomDataSetImplicit",function(){return ft}),P.d(d,"readFixedString",function(){return le}),P.d(d,"alloc",function(){return bt}),P.d(d,"version",function(){return ot}),P.d(d,"bigEndianByteArrayParser",function(){return Ze}),P.d(d,"ByteStream",function(){return Qe}),P.d(d,"sharedCopy",function(){return He}),P.d(d,"DataSet",function(){return oe}),P.d(d,"findAndSetUNElementLength",function(){return re}),P.d(d,"findEndOfEncapsulatedElement",function(){return he}),P.d(d,"findItemDelimitationItemAndSetElementLength",function(){return be}),P.d(d,"littleEndianByteArrayParser",function(){return vt}),P.d(d,"parseDicom",function(){return Bt}),P.d(d,"readDicomElementExplicit",function(){return Ce}),P.d(d,"readDicomElementImplicit",function(){return ve}),P.d(d,"readEncapsulatedImageFrame",function(){return vr}),P.d(d,"readEncapsulatedPixelData",function(){return Sr}),P.d(d,"readEncapsulatedPixelDataFromFragments",function(){return wt}),P.d(d,"readPart10Header",function(){return Zt}),P.d(d,"readSequenceItemsExplicit",function(){return Be}),P.d(d,"readSequenceItemsImplicit",function(){return Fe}),P.d(d,"readSequenceItem",function(){return ge}),P.d(d,"readTag",function(){return ce});var y={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},w=function(m){return y[m]},W=function(m){if(m=parseInt(m[4],16),isNaN(m))throw"dicomParser.isPrivateTag: cannot parse last character of group";return m%2==1},F=function(m){if(m!==void 0)return m=m.split("^"),{familyName:m[0],givenName:m[1],middleName:m[2],prefix:m[3],suffix:m[4]}};function k(m,$){if(2<=m.length){var I=parseInt(m.substring(0,2),10),T=4<=m.length?parseInt(m.substring(2,4),10):void 0,L=6<=m.length?parseInt(m.substring(4,6),10):void 0,Z=8<=m.length?m.substring(7,13):void 0,Z=Z?parseInt(Z,10)*Math.pow(10,6-Z.length):void 0;if($&&(isNaN(I)||T!==void 0&&isNaN(T)||L!==void 0&&isNaN(L)||Z!==void 0&&isNaN(Z)||I<0||23<I||T&&(T<0||59<T)||L&&(L<0||59<L)||Z&&(Z<0||999999<Z)))throw"invalid TM '".concat(m,"'");return{hours:I,minutes:T,seconds:L,fractionalSeconds:Z}}if($)throw"invalid TM '".concat(m,"'")}function j(m,$,I){return!isNaN(I)&&0<$&&$<=12&&0<m&&m<=(function(T,L){switch(T){case 2:return L%4==0&&L%100||L%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}})($,I)}function Y(m,$){if(m&&m.length===8){var I=parseInt(m.substring(0,4),10),T=parseInt(m.substring(4,6),10),L=parseInt(m.substring(6,8),10);if($&&j(L,T,I)!==!0)throw"invalid DA '".concat(m,"'");return{year:I,month:T,day:L}}if($)throw"invalid DA '".concat(m,"'")}function K(m,$){if(m===void 0||$===void 0)throw"dicomParser.explicitElementToString: missing required parameters";if($.vr===void 0)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var I,T=$.vr,L=$.tag;function Z(xe,De){for(var ze="",Ee=0;Ee<xe;Ee++)Ee!==0&&(ze+="/"),ze+=De.call(m,L,Ee).toString();return ze}if(w(T)===!0)I=m.string(L);else{if(T==="AT"){var fe=m.uint32(L);return fe===void 0?void 0:"x".concat((fe=fe<0?4294967295+fe+1:fe).toString(16).toUpperCase())}T==="US"?I=Z($.length/2,m.uint16):T==="SS"?I=Z($.length/2,m.int16):T==="UL"?I=Z($.length/4,m.uint32):T==="SL"?I=Z($.length/4,m.int32):T==="FD"?I=Z($.length/8,m.double):T==="FL"&&(I=Z($.length/4,m.float))}return I}function ee(m,$){if(m===void 0)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";$=$||{omitPrivateAttibutes:!0,maxElementLength:128};var I,T={};for(I in m.elements){var L=m.elements[I];if($.omitPrivateAttibutes!==!0||!W(I))if(L.items){for(var Z=[],fe=0;fe<L.items.length;fe++)Z.push(ee(L.items[fe].dataSet,$));T[I]=Z}else{var xe=void 0;L.length<$.maxElementLength&&(xe=K(m,L)),T[I]=xe!==void 0?xe:{dataOffset:L.dataOffset,length:L.length}}}return T}function X(m,$){return m.byteArray[$]===255&&m.byteArray[$+1]===217}function H(m,$,I){for(var T,L,Z=I;Z<$.fragments.length;Z++)if(T=m,L=Z,L=$.fragments[L],!(!X(T,L.position+L.length-2)&&!X(T,L.position+L.length-3)))return Z}function J(m,$,I){if(m===void 0)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if($===void 0)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if($.tag!=="x7fe00010")throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if($.encapsulatedPixelData!==!0||$.hadUndefinedLength!==!0||$.basicOffsetTable===void 0||$.fragments===void 0||$.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(I&&I.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";I=I||$.fragments;for(var T=[],L=0;;){T.push($.fragments[L].offset);var Z=H(m,$,L);if(Z===void 0||Z===$.fragments.length-1)return T;L=Z+1}}function ce(I){if(I===void 0)throw"dicomParser.readTag: missing required parameter 'byteStream'";var $=256*I.readUint16()*256,I=I.readUint16();return"x".concat("00000000".concat(($+I).toString(16)).substr(-8))}function he(m,$,I){if(m===void 0)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if($.encapsulatedPixelData=!0,$.basicOffsetTable=[],$.fragments=[],ce(m)!=="xfffee000")throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var T=m.readUint32()/4,L=0;L<T;L++){var Z=m.readUint32();$.basicOffsetTable.push(Z)}for(var fe=m.position;m.position<m.byteArray.length;){var xe=ce(m),De=m.readUint32();if(xe==="xfffee0dd")return m.seek(De),void($.length=m.position-$.dataOffset);if(xe!=="xfffee000")return I&&I.push("unexpected tag ".concat(xe," while searching for end of pixel data element with undefined length")),De>m.byteArray.length-m.position&&(De=m.byteArray.length-m.position),$.fragments.push({offset:m.position-fe-8,position:m.position,length:De}),m.seek(De),void($.length=m.position-$.dataOffset);$.fragments.push({offset:m.position-fe-8,position:m.position,length:De}),m.seek(De)}I&&I.push("pixel data element ".concat($.tag," missing sequence delimiter tag xfffee0dd"))}function re(m,$){if(m===void 0)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var I=m.byteArray.length-8;m.position<=I;)if(m.readUint16()===65534){var T=m.readUint16();if(T===57565)return m.readUint32()!==0&&m.warnings("encountered non zero length following item delimiter at position ".concat(m.position-4," while reading element of undefined length with tag ").concat($.tag)),void($.length=m.position-$.dataOffset)}$.length=m.byteArray.length-$.dataOffset,m.seek(m.byteArray.length-m.position)}function le(m,$,I){if(I<0)throw"dicomParser.readFixedString - length cannot be less than 0";if($+I>m.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var T,L="",Z=0;Z<I;Z++){if((T=m[$+Z])===0)return $+=I,L;L+=String.fromCharCode(T)}return L}function ie(m,$){for(var I=0;I<$.length;I++){var T=$[I];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(m,T.key,T)}}function te(m,$){return m.parser!==void 0?m.parser:$}var oe=(function(){function m(T,L,Z){(function(fe,xe){if(!(fe instanceof xe))throw new TypeError("Cannot call a class as a function")})(this,m),this.byteArrayParser=T,this.byteArray=L,this.elements=Z}var $,I;return $=m,(I=[{key:"uint16",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readUint16(this.byteArray,T.dataOffset+2*L)}},{key:"int16",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readInt16(this.byteArray,T.dataOffset+2*L)}},{key:"uint32",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readUint32(this.byteArray,T.dataOffset+4*L)}},{key:"int32",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readInt32(this.byteArray,T.dataOffset+4*L)}},{key:"float",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readFloat(this.byteArray,T.dataOffset+4*L)}},{key:"double",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readDouble(this.byteArray,T.dataOffset+8*L)}},{key:"numStringValues",value:function(T){if(T=this.elements[T],T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length).match(/\\/g),T===null?1:T.length+1}},{key:"string",value:function(T,L){if(T=this.elements[T],T&&T.Value)return T.Value;if(T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length),0<=L?T.split("\\")[L].trim():T.trim()}},{key:"text",value:function(T,L){if(T=this.elements[T],T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length),0<=L?T.split("\\")[L].replace(/ +$/,""):T.replace(/ +$/,"")}},{key:"floatString",value:function(T,L){var Z=this.elements[T];if(Z&&0<Z.length&&(L=this.string(T,L=L!==void 0?L:0),L!==void 0))return parseFloat(L)}},{key:"intString",value:function(T,L){var Z=this.elements[T];if(Z&&0<Z.length&&(L=this.string(T,L=L!==void 0?L:0),L!==void 0))return parseInt(L)}},{key:"attributeTag",value:function(T){var L=this.elements[T];if(L&&L.length===4){var Z=te(L,this.byteArrayParser).readUint16,T=this.byteArray,L=L.dataOffset;return"x".concat("00000000".concat((256*Z(T,L)*256+Z(T,L+2)).toString(16)).substr(-8))}}}])&&ie($.prototype,I),Object.defineProperty($,"prototype",{writable:!1}),m})();function be(m,$){if(m===void 0)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var I=m.byteArray.length-8;m.position<=I;)if(m.readUint16()===65534){var T=m.readUint16();if(T===57357)return m.readUint32()!==0&&m.warnings("encountered non zero length following item delimiter at position ".concat(m.position-4," while reading element of undefined length with tag ").concat($.tag)),void($.length=m.position-$.dataOffset)}$.length=m.byteArray.length-$.dataOffset,m.seek(m.byteArray.length-m.position)}var Te=function(m,$){return m.vr!==void 0?m.vr==="SQ":$.position+4<=$.byteArray.length?(m=ce($),$.seek(-4),m==="xfffee000"||m==="xfffee0dd"):($.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1)};function ve(m,$,I){if(m===void 0)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var T=ce(m),T={tag:T,vr:I!==void 0?I(T):void 0,length:m.readUint32(),dataOffset:m.position};return T.length===4294967295&&(T.hadUndefinedLength=!0),T.tag===$||(!Te(T,m)||W(T.tag)&&!T.hadUndefinedLength?T.hadUndefinedLength?be(m,T):m.seek(T.length):(Fe(m,T,I),W(T.tag)&&(T.items=void 0))),T}function ge(m){if(m===void 0)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var $={tag:ce(m),length:m.readUint32(),dataOffset:m.position};if($.tag!=="xfffee000")throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(m.position);return $}function Re(m,$){var I=ge(m);return I.length===4294967295?(I.hadUndefinedLength=!0,I.dataSet=(function(T,L){for(var Z={};T.position<T.byteArray.length;){var fe=ve(T,void 0,L);if((Z[fe.tag]=fe).tag==="xfffee00d")return new oe(T.byteArrayParser,T.byteArray,Z)}return T.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new oe(T.byteArrayParser,T.byteArray,Z)})(m,$),I.length=m.position-I.dataOffset):(I.dataSet=new oe(m.byteArrayParser,m.byteArray,{}),ft(I.dataSet,m,m.position+I.length,{vrCallback:$})),I}function Fe(m,$,I){if(m===void 0)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";$.items=[],($.length===4294967295?function(T,L,Z){for(;T.position+4<=T.byteArray.length;){var fe=ce(T);if(T.seek(-4),fe==="xfffee0dd")return L.length=T.position-L.dataOffset,T.seek(8);fe=Re(T,Z),L.items.push(fe)}T.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),L.length=T.byteArray.length-L.dataOffset}:function(T,L,Z){for(var fe=L.dataOffset+L.length;T.position<fe;){var xe=Re(T,Z);L.items.push(xe)}})(m,$,I)}function Ie(m,$){var I=ge(m);return I.length===4294967295?(I.hadUndefinedLength=!0,I.dataSet=(function(T,L){for(var Z={};T.position<T.byteArray.length;){var fe=Ce(T,L);if((Z[fe.tag]=fe).tag==="xfffee00d")return new oe(T.byteArrayParser,T.byteArray,Z)}return L.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new oe(T.byteArrayParser,T.byteArray,Z)})(m,$),I.length=m.position-I.dataOffset):(I.dataSet=new oe(m.byteArrayParser,m.byteArray,{}),Ke(I.dataSet,m,m.position+I.length)),I}function Be(m,$,I){if(m===void 0)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";$.items=[],($.length===4294967295?function(T,L,Z){for(;T.position+4<=T.byteArray.length;){var fe=ce(T);if(T.seek(-4),fe==="xfffee0dd")return L.length=T.position-L.dataOffset,T.seek(8);fe=Ie(T,Z),L.items.push(fe)}Z.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),L.length=T.position-L.dataOffset}:function(T,L,Z){for(var fe=L.dataOffset+L.length;T.position<fe;){var xe=Ie(T,Z);L.items.push(xe)}})(m,$,I)}var je=function(m){return m==="OB"||m==="OD"||m==="OL"||m==="OW"||m==="SQ"||m==="OF"||m==="UC"||m==="UR"||m==="UT"||m==="UN"?4:2};function Ce(m,$,I){if(m===void 0)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var T={tag:ce(m),vr:m.readFixedString(2)};return je(T.vr)===2?T.length=m.readUint16():(m.seek(2),T.length=m.readUint32()),T.dataOffset=m.position,T.length===4294967295&&(T.hadUndefinedLength=!0),T.tag===I||(T.vr==="SQ"?Be(m,T,$):T.length===4294967295?T.tag==="x7fe00010"?he(m,T,$):(T.vr==="UN"?Fe:be)(m,T):m.seek(T.length)),T}function Ke(m,$,I){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:{};if(I=I===void 0?$.byteArray.length:I,$===void 0)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(I<$.position||I>$.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var L=m.elements;$.position<I;){var Z=Ce($,m.warnings,T.untilTag);if((L[Z.tag]=Z).tag===T.untilTag)return}if($.position>I)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function ft(m,$,I){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:{};if(I=I===void 0?m.byteArray.length:I,$===void 0)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(I<$.position||I>$.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var L=m.elements;$.position<I;){var Z=ve($,T.untilTag,T.vrCallback);if((L[Z.tag]=Z).tag===T.untilTag)return}}function bt(m,$){if(typeof Buffer<"u"&&m instanceof Buffer)return Buffer.alloc($);if(m instanceof Uint8Array)return new Uint8Array($);throw"dicomParser.alloc: unknown type for byteArray"}var ot="1.8.12",Ze={readUint16:function(m,$){if($<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if($+2>m.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(m[$]<<8)+m[$+1]},readInt16:function(m,$){if($<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if($+2>m.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";return $=(m[$]<<8)+m[$+1],$=32768&$?$-65535-1:$},readUint32:function(m,$){if($<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*m[$]+m[$+1])+m[$+2])+m[$+3]},readInt32:function(m,$){if($<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(m[$]<<24)+(m[$+1]<<16)+(m[$+2]<<8)+m[$+3]},readFloat:function(m,$){if($<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var I=new Uint8Array(4);return I[3]=m[$],I[2]=m[$+1],I[1]=m[$+2],I[0]=m[$+3],new Float32Array(I.buffer)[0]},readDouble:function(m,$){if($<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if($+8>m.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var I=new Uint8Array(8);return I[7]=m[$],I[6]=m[$+1],I[5]=m[$+2],I[4]=m[$+3],I[3]=m[$+4],I[2]=m[$+5],I[1]=m[$+6],I[0]=m[$+7],new Float64Array(I.buffer)[0]}};function He(m,$,I){if(typeof Buffer<"u"&&m instanceof Buffer)return m.slice($,$+I);if(m instanceof Uint8Array)return new Uint8Array(m.buffer,m.byteOffset+$,I);throw"dicomParser.from: unknown type for byteArray"}function ke(m,$){for(var I=0;I<$.length;I++){var T=$[I];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(m,T.key,T)}}var Qe=(function(){function m(T,L,Z){if((function(fe,xe){if(!(fe instanceof xe))throw new TypeError("Cannot call a class as a function")})(this,m),T===void 0)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(L===void 0)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(!(L instanceof Uint8Array)&&(typeof Buffer>"u"||!(L instanceof Buffer)))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(Z<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(Z>=L.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=T,this.byteArray=L,this.position=Z||0,this.warnings=[]}var $,I;return $=m,(I=[{key:"seek",value:function(T){if(this.position+T<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=T}},{key:"readByteStream",value:function(T){if(this.position+T>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var L=He(this.byteArray,this.position,T);return this.position+=T,new m(this.byteArrayParser,L)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var T=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,T}},{key:"readUint32",value:function(){var T=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,T}},{key:"readFixedString",value:function(T){var L=le(this.byteArray,this.position,T);return this.position+=T,L}}])&&ke($.prototype,I),Object.defineProperty($,"prototype",{writable:!1}),m})(),vt={readUint16:function(m,$){if($<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if($+2>m.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return m[$]+256*m[$+1]},readInt16:function(m,$){if($<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if($+2>m.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";return $=m[$]+(m[$+1]<<8),$=32768&$?$-65535-1:$},readUint32:function(m,$){if($<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return m[$]+256*m[$+1]+256*m[$+2]*256+256*m[$+3]*256*256},readInt32:function(m,$){if($<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return m[$]+(m[$+1]<<8)+(m[$+2]<<16)+(m[$+3]<<24)},readFloat:function(m,$){if($<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var I=new Uint8Array(4);return I[0]=m[$],I[1]=m[$+1],I[2]=m[$+2],I[3]=m[$+3],new Float32Array(I.buffer)[0]},readDouble:function(m,$){if($<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if($+8>m.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var I=new Uint8Array(8);return I[0]=m[$],I[1]=m[$+1],I[2]=m[$+2],I[3]=m[$+3],I[4]=m[$+4],I[5]=m[$+5],I[6]=m[$+6],I[7]=m[$+7],new Float64Array(I.buffer)[0]}};function Zt(m){var $=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};if(m===void 0)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var I=$.TransferSyntaxUID,T=new Qe(vt,m);return(function(){var L=(function(){if(T.getSize()<=132&&I)return!1;if(T.seek(128),T.readFixedString(4)==="DICM")return!0;if(!($||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return T.seek(0),!1})(),Z=[],fe={};if(!L)return T.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:I}},warnings:Z};for(;T.position<T.byteArray.length;){var xe=T.position,De=Ce(T,Z);if("x0002ffff"<De.tag){T.position=xe;break}De.parser=vt,fe[De.tag]=De}return(L=new oe(T.byteArrayParser,T.byteArray,fe)).warnings=T.warnings,L.position=T.position,L})()}var Wt="1.2.840.10008.1.2.2";function Bt(m){var $=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};if(m===void 0)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var I,T=function(Z){if(Z.elements.x00020010===void 0)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");return Z=Z.elements.x00020010,Z&&Z.Value||le(m,Z.dataOffset,Z.length)};function L(De){var xe=T(De),fe=xe!=="1.2.840.10008.1.2",xe=(function(ze,Ee){var qe=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";if(ze!=="1.2.840.10008.1.2.1.99")return new Qe(ze===Wt?Ze:vt,m,Ee);if($&&$.inflater)return ze=$.inflater(m,Ee),new Qe(vt,ze,0);if(qe==!0){var Ne=P(0),Ve=He(m,Ee,m.length-Ee),Ne=Ne.inflateRawSync(Ve),Ve=bt(m,Ne.length+Ee);return m.copy(Ve,0,0,Ee),Ne.copy(Ve,Ee),new Qe(vt,Ve,0)}if(typeof pako>"u")throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax";return Ne=m.slice(Ee),Ve=pako.inflateRaw(Ne),(Ne=bt(m,Ve.length+Ee)).set(m.slice(0,Ee),0),Ne.set(Ve,Ee),new Qe(vt,Ne,0)})(xe,De.position),De=new oe(xe.byteArrayParser,xe.byteArray,{});De.warnings=xe.warnings;try{(fe?Ke:ft)(De,xe,xe.byteArray.length,$)}catch(ze){throw{exception:ze,dataSet:De}}return De}return(function(Z,fe){for(var xe in Z.elements)Z.elements.hasOwnProperty(xe)&&(fe.elements[xe]=Z.elements[xe]);return Z.warnings!==void 0&&(fe.warnings=Z.warnings.concat(fe.warnings)),fe})(I=Zt(m,$),L(I))}var kt=function(m,$,I){for(var T=0,L=$;L<$+I;L++)T+=m[L].length;return T};function wt(m,fe,I,T,L){if(L=L||fe.fragments,m===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(fe===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(I===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if((T=T||1)===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if(fe.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(fe.encapsulatedPixelData!==!0||fe.hadUndefinedLength!==!0||fe.basicOffsetTable===void 0||fe.fragments===void 0||fe.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(I<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(I>=fe.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(T<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(I+T>fe.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var Z=new Qe(m.byteArrayParser,m.byteArray,fe.dataOffset),fe=ge(Z);if(fe.tag!=="xfffee000")throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";Z.seek(fe.length);var xe=Z.position;if(T===1)return He(Z.byteArray,xe+L[I].offset+8,L[I].length);for(var fe=kt(L,I,T),De=bt(Z.byteArray,fe),ze=0,Ee=I;Ee<I+T;Ee++)for(var qe=xe+L[Ee].offset+8,Ne=0;Ne<L[Ee].length;Ne++)De[ze++]=Z.byteArray[qe++];return De}var hr=function(m,$){for(var I=0;I<m.length;I++)if(m[I].offset===$)return I},pr=function(m,$,I,T){if(m===$.length-1)return I.length-T;for(var L=$[m+1],Z=T+1;Z<I.length;Z++)if(I[Z].offset===L)return Z-T;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function vr(m,$,I,T,L){if(T=T||$.basicOffsetTable,L=L||$.fragments,m===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if($===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(I===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(T===void 0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if($.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if($.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if($.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if($.fragments===void 0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(T.length===0)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(I<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(I>=T.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var Z=T[I],Z=hr(L,Z);if(Z===void 0)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return wt(m,$,Z,pr(I,T,L,Z),L)}var Cr=!1;function Sr(m,$,I){if(Cr||(Cr=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),m===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if($===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(I===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if($.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if($.encapsulatedPixelData!==!0||$.hadUndefinedLength!==!0||$.basicOffsetTable===void 0||$.fragments===void 0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(I<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return $.basicOffsetTable.length!==0?vr(m,$,I):wt(m,$,0,$.fragments.length)}d.default={isStringVr:w,isPrivateTag:W,parsePN:F,parseTM:k,parseDA:Y,explicitElementToString:K,explicitDataSetToJS:ee,createJPEGBasicOffsetTable:J,parseDicomDataSetExplicit:Ke,parseDicomDataSetImplicit:ft,readFixedString:le,alloc:bt,version:ot,bigEndianByteArrayParser:Ze,ByteStream:Qe,sharedCopy:He,DataSet:oe,findAndSetUNElementLength:re,findEndOfEncapsulatedElement:he,findItemDelimitationItemAndSetElementLength:be,littleEndianByteArrayParser:vt,parseDicom:Bt,readDicomElementExplicit:Ce,readDicomElementImplicit:ve,readEncapsulatedImageFrame:vr,readEncapsulatedPixelData:Sr,readEncapsulatedPixelDataFromFragments:wt,readPart10Header:Zt,readSequenceItemsExplicit:Be,readSequenceItemsImplicit:Fe,readSequenceItem:ge,readTag:ce,LEI:"1.2.840.10008.1.2",LEE:"1.2.840.10008.1.2.1"}}],l={},n.m=i,n.c=l,n.d=function(a,d,P){n.o(a,d)||Object.defineProperty(a,d,{enumerable:!0,get:P})},n.r=function(a){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},n.t=function(a,d){if(1&d&&(a=n(a)),8&d||4&d&&typeof a=="object"&&a&&a.__esModule)return a;var P=Object.create(null);if(n.r(P),Object.defineProperty(P,"default",{enumerable:!0,value:a}),2&d&&typeof a!="string")for(var y in a)n.d(P,y,(function(w){return a[w]}).bind(null,y));return P},n.n=function(a){var d=a&&a.__esModule?function(){return a.default}:function(){return a};return n.d(d,"a",d),d},n.o=function(a,d){return Object.prototype.hasOwnProperty.call(a,d)},n.p="",n(n.s=1);function n(a){if(l[a])return l[a].exports;var d=l[a]={i:a,l:!1,exports:{}};return i[a].call(d.exports,d,d.exports,n),d.l=!0,d.exports}var i,l})})(yi)),yi.exports}var ar=Hc();function Da(e){const r=e.indexOf(":");let t=e.substring(r+1);const n=t.indexOf("frame=");let i;if(n!==-1){const d=t.substring(n+6);i=parseInt(d,10),t=t.substring(0,n-1)}const l=e.substring(0,r),a=i!==void 0?i-1:void 0;return{scheme:l,url:t,frame:i,pixelDataFrame:a}}let uo={open(e,r){e.open("get",r,!0)},beforeSend:async()=>{},beforeProcessing(e){return Promise.resolve(e.response)},imageCreated(){},strict:!1};function wl(e){uo=Object.assign(uo,e)}function ti(){return uo}function Si(e,r,t={},n={}){const i=ti(),l=P=>{if(typeof i.errorInterceptor=="function"){const y=new Error("request failed");y.request=P,y.response=P.response,y.status=P.status,i.errorInterceptor(y)}},a=new XMLHttpRequest,d=new Promise(async(P,y)=>{i.open(a,e,t,n);const w=await i.beforeSend(a,r,t,n);a.responseType="arraybuffer";const W=Object.assign({},t,w);Object.keys(W).forEach(function(F){W[F]!==null&&(F==="Accept"&&e.indexOf("accept=")!==-1||a.setRequestHeader(F,W[F]))}),n.deferred={resolve:P,reject:y},n.url=e,n.imageId=r,a.onloadstart=function(F){i.onloadstart&&i.onloadstart(F,n),Pa(xa,"cornerstoneimageloadstart",{url:e,imageId:r})},a.onloadend=function(F){i.onloadend&&i.onloadend(F,n),Pa(xa,"cornerstoneimageloadend",{url:e,imageId:r})},a.onreadystatechange=function(F){i.onreadystatechange&&i.onreadystatechange(F,n),a.readyState===4&&(a.status===200||a.status===206?i.beforeProcessing(a).then(P).catch(()=>{l(a),y(a)}):(l(a),y(a)))},a.onprogress=function(F){const k=F.loaded;let j,Y;F.lengthComputable&&(j=F.total,Y=Math.round(k/j*100)),Pa(xa,"cornerstoneimageloadprogress",{url:e,imageId:r,loaded:k,total:j,percentComplete:Y}),i.onprogress&&i.onprogress(F,n)},a.onerror=function(){l(a),y(a)},a.onabort=function(){l(a),y(a)},a.send()});return d.xhr=a,d}function zc(e,r,t){if(t+e.length>r.length)return!1;let n=t;for(let i=0;i<e.length;i++)if(e[i]!==r[n++])return!1;return!0}function Vc(e){const r=new Uint8Array(e.length);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return r}function ho(e,r,t){t=t||0;const n=Vc(r);for(let i=t;i<e.length;i++)if(n[0]===e[i]&&zc(n,e,i))return i;return-1}const{ImageQualityStatus:es}=_n;function Io(e,r,t){t||={};const n=new Uint8Array(r),i=!!t?.isPartial;if(e.indexOf("multipart")===-1)return{contentType:e,imageQualityStatus:i?es.SUBRESOLUTION:es.FULL_RESOLUTION,pixelData:n};let{tokenIndex:l,responseHeaders:a,boundary:d,multipartContentType:P}=t;if(l||=ho(n,`\r
|
|
1
|
+
import{c4 as Jf,c5 as Ai,c6 as Xo,c7 as Yf,c8 as Xf,c9 as Kf,ca as Qf,cb as ec,cc as tc,cd as rc,ce as nc,cf as ac,cg as ic,ch as oc,ci as sc,cj as lc,ck as fc,cl as cc,cm as uc,cn as dc,co as hc,bi as vn,t as Pa,e as xa,ah as _n,cp as ll,aN as fl,au as pc,aV as vc,K as gc,bP as _c,cq as cl,cr as ul,cs as lo,aX as ca,ct as yc,bL as mc,aQ as bc,at as wc,cu as Pc,cv as xc}from"./Settings-DFQr7wEV.js";import{r as ei}from"./cornerstoneEngine-BM0LAMyj.js";import"./Texture-dJi69dtp.js";import{u as dl}from"./index-FnjZ_iaa.js";import{c as gn,g as Ci}from"./_commonjsHelpers-CE1G-McA.js";import{_ as hl}from"./index-MqfligLa.js";import"./dcmjs.es-DfWkgqfk.js";import"./refusal-DOpm8I8L.js";const pl=["PixelData","FramePixelData","FloatPixelData","7FE00010","7fe00010","7FE00008","7fe00008"],Ec=["FloatPixelData","7FE00008","7fe00008"];function Tc(e){for(const r of pl){const t=e[r];if(t!=null&&Array.isArray(t)&&t.length>0)return t}}function $c(e){for(const r of pl){const t=e[r];if(t!=null&&Array.isArray(t)&&t.length>0)return r}}function Ac(e){const r=$c(e);return r!==void 0&&Ec.includes(r)}function fo(e){return e instanceof ArrayBuffer?new Uint8Array(e):e}function Cc(e){return e instanceof ArrayBuffer,e.byteLength}function Ko(e,r){const t=e[r];if(t!=null)return Array.isArray(t)?t.map(fo):fo(t)}function Sc(e,r,t,n){if(e.length!==1||!Ac(n))return;const i=e[0];if(i==null)return;const l=fo(i),a=Cc(i);if(t<=0||a%t!==0)return;const d=a/t,P=r*d;return P+d>a?void 0:(console.warn("[compressedFrameData] Splitting single-buffer pixel data by numberOfFrames for paramap-type image; frameIndex=",r,", numberOfFrames=",t,", frameSize=",d),[(l instanceof Uint8Array?l:new Uint8Array(l.buffer,l.byteOffset,l.byteLength)).subarray(P,P+d)])}function Dc(e,r){if(!e)return;const t=Tc(e);if(!t)return;const{TransferSyntaxUID:n}=e;if(!n)return;const i=r??0,l=i+1,a=e.NumberOfFrames!=null?Number(e.NumberOfFrames):1;let d;if(t.length===a?d=Ko(t,i):(d=Sc(t,i,a,e),d===void 0&&(d=Ko(t,i))),d!==void 0)return{transferSyntaxUid:n,frameOfInterest:i,frameNumber:l,pixelData:d}}const Rc=Ai.COMPRESSED_FRAME_DATA,Ic=(e,r,t,n)=>{const i=n?.frameIndex??0,l=Dc(t,i);return l||e(r,t,n)};function Oc(){Jf(Rc,Ic)}const kc=-1e3;function vl(){Xo(Yf,kc),Xo(Xf.get),Kf(),Qf(),ec(),tc(),rc(),nc(),ac(),ic(),oc(),sc(),lc(),fc(),cc(),uc(),dc(),Oc(),hc()}function Do(e,r,t){if(e===void 0)throw new Error("decodeRGB: rgbBuffer must be defined");if(e.length%3!==0)throw new Error(`decodeRGB: rgbBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0;if(t){for(let a=0;a<n;a++)r[l++]=e[i++],r[l++]=e[i++],r[l++]=e[i++],r[l++]=255;return}r.set(e)}function gl(e,r,t){if(e===void 0)throw new Error("decodeRGB: rgbBuffer must be defined");if(e.length%3!==0)throw new Error(`decodeRGB: rgbBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0,a=n,d=n*2;if(t)for(let P=0;P<n;P++)r[i++]=e[l++],r[i++]=e[a++],r[i++]=e[d++],r[i++]=255;else for(let P=0;P<n;P++)r[i++]=e[l++],r[i++]=e[a++],r[i++]=e[d++]}function _l(e,r,t){if(e===void 0)throw new Error("convertYBRFullByPixel: ybrBuffer must be defined");if(e.length%3!==0)throw new Error(`convertYBRFullByPixel: ybrBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0;if(t){for(let a=0;a<n;a++){const d=e[i++],P=e[i++],y=e[i++];r[l++]=d+1.402*(y-128),r[l++]=d-.34414*(P-128)-.71414*(y-128),r[l++]=d+1.772*(P-128),r[l++]=255}return}for(let a=0;a<n;a++){const d=e[i++],P=e[i++],y=e[i++];r[l++]=d+1.402*(y-128),r[l++]=d-.34414*(P-128)-.71414*(y-128),r[l++]=d+1.772*(P-128)}}function yl(e,r,t){if(e===void 0)throw new Error("convertYBRFullByPlane: ybrBuffer must be defined");if(e.length%3!==0)throw new Error(`convertYBRFullByPlane: ybrBuffer length ${e.length} must be divisible by 3`);const n=e.length/3;let i=0,l=0,a=n,d=n*2;if(t){for(let P=0;P<n;P++){const y=e[l++],w=e[a++],W=e[d++];r[i++]=y+1.402*(W-128),r[i++]=y-.34414*(w-128)-.71414*(W-128),r[i++]=y+1.772*(w-128),r[i++]=255}return}for(let P=0;P<n;P++){const y=e[l++],w=e[a++],W=e[d++];r[i++]=y+1.402*(W-128),r[i++]=y-.34414*(w-128)-.71414*(W-128),r[i++]=y+1.772*(w-128)}}function Lc(e,r,t){if(e===void 0)throw new Error("convertYBRFull422ByPixel: ybrBuffer must be defined");if(e.length%2!==0)throw new Error(`convertYBRFull422ByPixel: ybrBuffer length ${e.length} must be divisible by 2`);const n=e.length/2;let i=0,l=0;if(t){for(let a=0;a<n;a+=2){const d=e[i++],P=e[i++],y=e[i++],w=e[i++];r[l++]=d+1.402*(w-128),r[l++]=d-.34414*(y-128)-.71414*(w-128),r[l++]=d+1.772*(y-128),r[l++]=255,r[l++]=P+1.402*(w-128),r[l++]=P-.34414*(y-128)-.71414*(w-128),r[l++]=P+1.772*(y-128),r[l++]=255}return}for(let a=0;a<n;a+=2){const d=e[i++],P=e[i++],y=e[i++],w=e[i++];r[l++]=d+1.402*(w-128),r[l++]=d-.34414*(y-128)-.71414*(w-128),r[l++]=d+1.772*(y-128),r[l++]=P+1.402*(w-128),r[l++]=P-.34414*(y-128)-.71414*(w-128),r[l++]=P+1.772*(y-128)}}function Ea(e,r,t){const n=e[`${r}PaletteColorLookupTableData`];if(n)return Promise.resolve(n);const i=vn("imagePixelModule",e.imageId);return i&&typeof i.then=="function"?i.then(l=>l?l[`${r}PaletteColorLookupTableData`]:t):Promise.resolve(i?i[`${r}PaletteColorLookupTableData`]:t)}async function Uc(e){const r=[];if(!e.redPaletteColorLookupTableData||!e.greenPaletteColorLookupTableData||!e.bluePaletteColorLookupTableData){const n=Promise.all([Ea(e,"red",null),Ea(e,"green",null),Ea(e,"blue",null)]).then(([i,l,a])=>{e.redPaletteColorLookupTableData=i,e.greenPaletteColorLookupTableData=l,e.bluePaletteColorLookupTableData=a});r.push(n)}r.length>0&&await Promise.all(r)}function Bi(e,r){const t=e.length,n=new Uint8ClampedArray(t);for(let i=0;i<t;++i)n[i]=e[i]>>r;return n}function Ro(e,r,t){const n=e.columns*e.rows,i=e.pixelData,l=e.redPaletteColorLookupTableData,a=e.greenPaletteColorLookupTableData,d=e.bluePaletteColorLookupTableData;if(!l||!a||!d)throw new Error("The image does not have a complete color palette. R, G, and B palette data are required.");const P=l.length;let y=0,w=0;const W=e.redPaletteColorLookupTableDescriptor[1],k=e.redPaletteColorLookupTableDescriptor[2]>8&&l.some(ee=>ee>255)?8:0,j=Bi(l,k),Y=Bi(a,k),K=Bi(d,k);if(t){for(let ee=0;ee<n;++ee){let X=i[y++];X<W?X=0:X>W+P-1?X=P-1:X-=W,r[w++]=j[X],r[w++]=Y[X],r[w++]=K[X],r[w++]=255}return}for(let ee=0;ee<n;++ee){let X=i[y++];X<W?X=0:X>W+P-1?X=P-1:X-=W,r[w++]=j[X],r[w++]=Y[X],r[w++]=K[X]}}async function Mc(e,r,t){await Uc(e),Ro(e,r,t)}function ji(e,r){if(!(!e.elements[r]||e.elements[r].length!==6))return[e.uint16(r,0),e.uint16(r,1),e.uint16(r,2)]}function Hi(e,r,t){const n=[],i=e.elements[r];for(let l=0;l<t[0];l++)t[2]===16?n[l]=e.uint16(r,l):n[l]=e.byteArray[l+i.dataOffset];return n}function Fc(e,r){r.redPaletteColorLookupTableDescriptor=ji(e,"x00281101"),r.greenPaletteColorLookupTableDescriptor=ji(e,"x00281102"),r.bluePaletteColorLookupTableDescriptor=ji(e,"x00281103"),r.redPaletteColorLookupTableDescriptor[0]===0&&(r.redPaletteColorLookupTableDescriptor[0]=65536,r.greenPaletteColorLookupTableDescriptor[0]=65536,r.bluePaletteColorLookupTableDescriptor[0]=65536);const t=r.redPaletteColorLookupTableDescriptor[0],i=e.elements.x00281201.length===t?8:16;r.redPaletteColorLookupTableDescriptor[2]!==i&&(r.redPaletteColorLookupTableDescriptor[2]=i,r.greenPaletteColorLookupTableDescriptor[2]=i,r.bluePaletteColorLookupTableDescriptor[2]=i),r.redPaletteColorLookupTableData=Hi(e,"x00281201",r.redPaletteColorLookupTableDescriptor),r.greenPaletteColorLookupTableData=Hi(e,"x00281202",r.greenPaletteColorLookupTableDescriptor),r.bluePaletteColorLookupTableData=Hi(e,"x00281203",r.bluePaletteColorLookupTableDescriptor)}function Nc(e,r){e.uint16("x00280103")===0?(r.smallestPixelValue=e.uint16("x00280106"),r.largestPixelValue=e.uint16("x00280107")):(r.smallestPixelValue=e.int16("x00280106"),r.largestPixelValue=e.int16("x00280107"))}function ml(e){const r={samplesPerPixel:e.uint16("x00280002"),photometricInterpretation:e.string("x00280004"),rows:e.uint16("x00280010"),columns:e.uint16("x00280011"),bitsAllocated:e.uint16("x00280100"),bitsStored:e.uint16("x00280101"),highBit:e.uint16("x00280102"),pixelRepresentation:e.uint16("x00280103"),planarConfiguration:e.uint16("x00280006"),pixelAspectRatio:e.string("x00280034")};return Nc(e,r),r.photometricInterpretation==="PALETTE COLOR"&&e.elements.x00281101&&Fc(e,r),r}function Wc(e,r){let t=r.uint16("x00283002",0);t===0&&(t=65535);let n=0;e===0?n=r.uint16("x00283002",1):n=r.int16("x00283002",1);const i=r.uint16("x00283002",2),l={id:"1",firstValueMapped:n,numBitsPerEntry:i,lut:[]};for(let a=0;a<t;a++)e===0?l.lut[a]=r.uint16("x00283006",a):l.lut[a]=r.int16("x00283006",a);return l}function co(e,r){if(!r||!r.items||!r.items.length)return;const t=[];for(let n=0;n<r.items.length;n++){const i=r.items[n].dataSet,l=Wc(e,i);l&&t.push(l)}return t}function Bc(e){const r=e.uint16("x00280103"),t=e.uint16("x00280101");return r===0?0:-1<<t-1}function bl(e){const r=e.string("x00080016");if(r==="1.2.840.10008.5.1.4.1.1.2"||r==="1.2.840.10008.5.1.4.1.1.2.1")return 1;const t=e.floatString("x00281052"),n=e.floatString("x00281053");return t!==void 0&&n!==void 0?Bc(e)*n+t<0?1:0:e.elements.x00283000&&e.elements.x00283000.length>0?0:e.uint16("x00280103")}function Ar(e,r,t){const n=[],i=e.string(r);if(!i)return;const l=i.split("\\");if(!(t&&l.length<t)){for(let a=0;a<l.length;a++)n.push(parseFloat(l[a]));return n}}var yi={exports:{}};var jc=yi.exports,Qo;function Hc(){return Qo||(Qo=1,(function(e,r){(function(t,n){e.exports=n(ei)})(jc,function(t){return i=[function(a,d){a.exports=t},function(a,d,P){P.r(d),P.d(d,"isStringVr",function(){return w}),P.d(d,"isPrivateTag",function(){return W}),P.d(d,"parsePN",function(){return F}),P.d(d,"parseTM",function(){return k}),P.d(d,"parseDA",function(){return Y}),P.d(d,"explicitElementToString",function(){return K}),P.d(d,"explicitDataSetToJS",function(){return ee}),P.d(d,"createJPEGBasicOffsetTable",function(){return J}),P.d(d,"parseDicomDataSetExplicit",function(){return Ke}),P.d(d,"parseDicomDataSetImplicit",function(){return ft}),P.d(d,"readFixedString",function(){return le}),P.d(d,"alloc",function(){return bt}),P.d(d,"version",function(){return ot}),P.d(d,"bigEndianByteArrayParser",function(){return Ze}),P.d(d,"ByteStream",function(){return Qe}),P.d(d,"sharedCopy",function(){return He}),P.d(d,"DataSet",function(){return oe}),P.d(d,"findAndSetUNElementLength",function(){return re}),P.d(d,"findEndOfEncapsulatedElement",function(){return he}),P.d(d,"findItemDelimitationItemAndSetElementLength",function(){return be}),P.d(d,"littleEndianByteArrayParser",function(){return vt}),P.d(d,"parseDicom",function(){return Bt}),P.d(d,"readDicomElementExplicit",function(){return Ce}),P.d(d,"readDicomElementImplicit",function(){return ve}),P.d(d,"readEncapsulatedImageFrame",function(){return vr}),P.d(d,"readEncapsulatedPixelData",function(){return Sr}),P.d(d,"readEncapsulatedPixelDataFromFragments",function(){return wt}),P.d(d,"readPart10Header",function(){return Zt}),P.d(d,"readSequenceItemsExplicit",function(){return Be}),P.d(d,"readSequenceItemsImplicit",function(){return Fe}),P.d(d,"readSequenceItem",function(){return ge}),P.d(d,"readTag",function(){return ce});var y={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},w=function(m){return y[m]},W=function(m){if(m=parseInt(m[4],16),isNaN(m))throw"dicomParser.isPrivateTag: cannot parse last character of group";return m%2==1},F=function(m){if(m!==void 0)return m=m.split("^"),{familyName:m[0],givenName:m[1],middleName:m[2],prefix:m[3],suffix:m[4]}};function k(m,$){if(2<=m.length){var I=parseInt(m.substring(0,2),10),T=4<=m.length?parseInt(m.substring(2,4),10):void 0,L=6<=m.length?parseInt(m.substring(4,6),10):void 0,Z=8<=m.length?m.substring(7,13):void 0,Z=Z?parseInt(Z,10)*Math.pow(10,6-Z.length):void 0;if($&&(isNaN(I)||T!==void 0&&isNaN(T)||L!==void 0&&isNaN(L)||Z!==void 0&&isNaN(Z)||I<0||23<I||T&&(T<0||59<T)||L&&(L<0||59<L)||Z&&(Z<0||999999<Z)))throw"invalid TM '".concat(m,"'");return{hours:I,minutes:T,seconds:L,fractionalSeconds:Z}}if($)throw"invalid TM '".concat(m,"'")}function j(m,$,I){return!isNaN(I)&&0<$&&$<=12&&0<m&&m<=(function(T,L){switch(T){case 2:return L%4==0&&L%100||L%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}})($,I)}function Y(m,$){if(m&&m.length===8){var I=parseInt(m.substring(0,4),10),T=parseInt(m.substring(4,6),10),L=parseInt(m.substring(6,8),10);if($&&j(L,T,I)!==!0)throw"invalid DA '".concat(m,"'");return{year:I,month:T,day:L}}if($)throw"invalid DA '".concat(m,"'")}function K(m,$){if(m===void 0||$===void 0)throw"dicomParser.explicitElementToString: missing required parameters";if($.vr===void 0)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var I,T=$.vr,L=$.tag;function Z(xe,De){for(var ze="",Ee=0;Ee<xe;Ee++)Ee!==0&&(ze+="/"),ze+=De.call(m,L,Ee).toString();return ze}if(w(T)===!0)I=m.string(L);else{if(T==="AT"){var fe=m.uint32(L);return fe===void 0?void 0:"x".concat((fe=fe<0?4294967295+fe+1:fe).toString(16).toUpperCase())}T==="US"?I=Z($.length/2,m.uint16):T==="SS"?I=Z($.length/2,m.int16):T==="UL"?I=Z($.length/4,m.uint32):T==="SL"?I=Z($.length/4,m.int32):T==="FD"?I=Z($.length/8,m.double):T==="FL"&&(I=Z($.length/4,m.float))}return I}function ee(m,$){if(m===void 0)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";$=$||{omitPrivateAttibutes:!0,maxElementLength:128};var I,T={};for(I in m.elements){var L=m.elements[I];if($.omitPrivateAttibutes!==!0||!W(I))if(L.items){for(var Z=[],fe=0;fe<L.items.length;fe++)Z.push(ee(L.items[fe].dataSet,$));T[I]=Z}else{var xe=void 0;L.length<$.maxElementLength&&(xe=K(m,L)),T[I]=xe!==void 0?xe:{dataOffset:L.dataOffset,length:L.length}}}return T}function X(m,$){return m.byteArray[$]===255&&m.byteArray[$+1]===217}function H(m,$,I){for(var T,L,Z=I;Z<$.fragments.length;Z++)if(T=m,L=Z,L=$.fragments[L],!(!X(T,L.position+L.length-2)&&!X(T,L.position+L.length-3)))return Z}function J(m,$,I){if(m===void 0)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if($===void 0)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if($.tag!=="x7fe00010")throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if($.encapsulatedPixelData!==!0||$.hadUndefinedLength!==!0||$.basicOffsetTable===void 0||$.fragments===void 0||$.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(I&&I.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";I=I||$.fragments;for(var T=[],L=0;;){T.push($.fragments[L].offset);var Z=H(m,$,L);if(Z===void 0||Z===$.fragments.length-1)return T;L=Z+1}}function ce(I){if(I===void 0)throw"dicomParser.readTag: missing required parameter 'byteStream'";var $=256*I.readUint16()*256,I=I.readUint16();return"x".concat("00000000".concat(($+I).toString(16)).substr(-8))}function he(m,$,I){if(m===void 0)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if($.encapsulatedPixelData=!0,$.basicOffsetTable=[],$.fragments=[],ce(m)!=="xfffee000")throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var T=m.readUint32()/4,L=0;L<T;L++){var Z=m.readUint32();$.basicOffsetTable.push(Z)}for(var fe=m.position;m.position<m.byteArray.length;){var xe=ce(m),De=m.readUint32();if(xe==="xfffee0dd")return m.seek(De),void($.length=m.position-$.dataOffset);if(xe!=="xfffee000")return I&&I.push("unexpected tag ".concat(xe," while searching for end of pixel data element with undefined length")),De>m.byteArray.length-m.position&&(De=m.byteArray.length-m.position),$.fragments.push({offset:m.position-fe-8,position:m.position,length:De}),m.seek(De),void($.length=m.position-$.dataOffset);$.fragments.push({offset:m.position-fe-8,position:m.position,length:De}),m.seek(De)}I&&I.push("pixel data element ".concat($.tag," missing sequence delimiter tag xfffee0dd"))}function re(m,$){if(m===void 0)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var I=m.byteArray.length-8;m.position<=I;)if(m.readUint16()===65534){var T=m.readUint16();if(T===57565)return m.readUint32()!==0&&m.warnings("encountered non zero length following item delimiter at position ".concat(m.position-4," while reading element of undefined length with tag ").concat($.tag)),void($.length=m.position-$.dataOffset)}$.length=m.byteArray.length-$.dataOffset,m.seek(m.byteArray.length-m.position)}function le(m,$,I){if(I<0)throw"dicomParser.readFixedString - length cannot be less than 0";if($+I>m.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var T,L="",Z=0;Z<I;Z++){if((T=m[$+Z])===0)return $+=I,L;L+=String.fromCharCode(T)}return L}function ie(m,$){for(var I=0;I<$.length;I++){var T=$[I];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(m,T.key,T)}}function te(m,$){return m.parser!==void 0?m.parser:$}var oe=(function(){function m(T,L,Z){(function(fe,xe){if(!(fe instanceof xe))throw new TypeError("Cannot call a class as a function")})(this,m),this.byteArrayParser=T,this.byteArray=L,this.elements=Z}var $,I;return $=m,(I=[{key:"uint16",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readUint16(this.byteArray,T.dataOffset+2*L)}},{key:"int16",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readInt16(this.byteArray,T.dataOffset+2*L)}},{key:"uint32",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readUint32(this.byteArray,T.dataOffset+4*L)}},{key:"int32",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readInt32(this.byteArray,T.dataOffset+4*L)}},{key:"float",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readFloat(this.byteArray,T.dataOffset+4*L)}},{key:"double",value:function(T,L){if(T=this.elements[T],L=L!==void 0?L:0,T&&T.length!==0)return te(T,this.byteArrayParser).readDouble(this.byteArray,T.dataOffset+8*L)}},{key:"numStringValues",value:function(T){if(T=this.elements[T],T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length).match(/\\/g),T===null?1:T.length+1}},{key:"string",value:function(T,L){if(T=this.elements[T],T&&T.Value)return T.Value;if(T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length),0<=L?T.split("\\")[L].trim():T.trim()}},{key:"text",value:function(T,L){if(T=this.elements[T],T&&0<T.length)return T=le(this.byteArray,T.dataOffset,T.length),0<=L?T.split("\\")[L].replace(/ +$/,""):T.replace(/ +$/,"")}},{key:"floatString",value:function(T,L){var Z=this.elements[T];if(Z&&0<Z.length&&(L=this.string(T,L=L!==void 0?L:0),L!==void 0))return parseFloat(L)}},{key:"intString",value:function(T,L){var Z=this.elements[T];if(Z&&0<Z.length&&(L=this.string(T,L=L!==void 0?L:0),L!==void 0))return parseInt(L)}},{key:"attributeTag",value:function(T){var L=this.elements[T];if(L&&L.length===4){var Z=te(L,this.byteArrayParser).readUint16,T=this.byteArray,L=L.dataOffset;return"x".concat("00000000".concat((256*Z(T,L)*256+Z(T,L+2)).toString(16)).substr(-8))}}}])&&ie($.prototype,I),Object.defineProperty($,"prototype",{writable:!1}),m})();function be(m,$){if(m===void 0)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var I=m.byteArray.length-8;m.position<=I;)if(m.readUint16()===65534){var T=m.readUint16();if(T===57357)return m.readUint32()!==0&&m.warnings("encountered non zero length following item delimiter at position ".concat(m.position-4," while reading element of undefined length with tag ").concat($.tag)),void($.length=m.position-$.dataOffset)}$.length=m.byteArray.length-$.dataOffset,m.seek(m.byteArray.length-m.position)}var Te=function(m,$){return m.vr!==void 0?m.vr==="SQ":$.position+4<=$.byteArray.length?(m=ce($),$.seek(-4),m==="xfffee000"||m==="xfffee0dd"):($.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1)};function ve(m,$,I){if(m===void 0)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var T=ce(m),T={tag:T,vr:I!==void 0?I(T):void 0,length:m.readUint32(),dataOffset:m.position};return T.length===4294967295&&(T.hadUndefinedLength=!0),T.tag===$||(!Te(T,m)||W(T.tag)&&!T.hadUndefinedLength?T.hadUndefinedLength?be(m,T):m.seek(T.length):(Fe(m,T,I),W(T.tag)&&(T.items=void 0))),T}function ge(m){if(m===void 0)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var $={tag:ce(m),length:m.readUint32(),dataOffset:m.position};if($.tag!=="xfffee000")throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(m.position);return $}function Re(m,$){var I=ge(m);return I.length===4294967295?(I.hadUndefinedLength=!0,I.dataSet=(function(T,L){for(var Z={};T.position<T.byteArray.length;){var fe=ve(T,void 0,L);if((Z[fe.tag]=fe).tag==="xfffee00d")return new oe(T.byteArrayParser,T.byteArray,Z)}return T.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new oe(T.byteArrayParser,T.byteArray,Z)})(m,$),I.length=m.position-I.dataOffset):(I.dataSet=new oe(m.byteArrayParser,m.byteArray,{}),ft(I.dataSet,m,m.position+I.length,{vrCallback:$})),I}function Fe(m,$,I){if(m===void 0)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";$.items=[],($.length===4294967295?function(T,L,Z){for(;T.position+4<=T.byteArray.length;){var fe=ce(T);if(T.seek(-4),fe==="xfffee0dd")return L.length=T.position-L.dataOffset,T.seek(8);fe=Re(T,Z),L.items.push(fe)}T.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),L.length=T.byteArray.length-L.dataOffset}:function(T,L,Z){for(var fe=L.dataOffset+L.length;T.position<fe;){var xe=Re(T,Z);L.items.push(xe)}})(m,$,I)}function Ie(m,$){var I=ge(m);return I.length===4294967295?(I.hadUndefinedLength=!0,I.dataSet=(function(T,L){for(var Z={};T.position<T.byteArray.length;){var fe=Ce(T,L);if((Z[fe.tag]=fe).tag==="xfffee00d")return new oe(T.byteArrayParser,T.byteArray,Z)}return L.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new oe(T.byteArrayParser,T.byteArray,Z)})(m,$),I.length=m.position-I.dataOffset):(I.dataSet=new oe(m.byteArrayParser,m.byteArray,{}),Ke(I.dataSet,m,m.position+I.length)),I}function Be(m,$,I){if(m===void 0)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if($===void 0)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";$.items=[],($.length===4294967295?function(T,L,Z){for(;T.position+4<=T.byteArray.length;){var fe=ce(T);if(T.seek(-4),fe==="xfffee0dd")return L.length=T.position-L.dataOffset,T.seek(8);fe=Ie(T,Z),L.items.push(fe)}Z.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),L.length=T.position-L.dataOffset}:function(T,L,Z){for(var fe=L.dataOffset+L.length;T.position<fe;){var xe=Ie(T,Z);L.items.push(xe)}})(m,$,I)}var je=function(m){return m==="OB"||m==="OD"||m==="OL"||m==="OW"||m==="SQ"||m==="OF"||m==="UC"||m==="UR"||m==="UT"||m==="UN"?4:2};function Ce(m,$,I){if(m===void 0)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var T={tag:ce(m),vr:m.readFixedString(2)};return je(T.vr)===2?T.length=m.readUint16():(m.seek(2),T.length=m.readUint32()),T.dataOffset=m.position,T.length===4294967295&&(T.hadUndefinedLength=!0),T.tag===I||(T.vr==="SQ"?Be(m,T,$):T.length===4294967295?T.tag==="x7fe00010"?he(m,T,$):(T.vr==="UN"?Fe:be)(m,T):m.seek(T.length)),T}function Ke(m,$,I){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:{};if(I=I===void 0?$.byteArray.length:I,$===void 0)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(I<$.position||I>$.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var L=m.elements;$.position<I;){var Z=Ce($,m.warnings,T.untilTag);if((L[Z.tag]=Z).tag===T.untilTag)return}if($.position>I)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function ft(m,$,I){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:{};if(I=I===void 0?m.byteArray.length:I,$===void 0)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(I<$.position||I>$.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var L=m.elements;$.position<I;){var Z=ve($,T.untilTag,T.vrCallback);if((L[Z.tag]=Z).tag===T.untilTag)return}}function bt(m,$){if(typeof Buffer<"u"&&m instanceof Buffer)return Buffer.alloc($);if(m instanceof Uint8Array)return new Uint8Array($);throw"dicomParser.alloc: unknown type for byteArray"}var ot="1.8.12",Ze={readUint16:function(m,$){if($<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if($+2>m.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(m[$]<<8)+m[$+1]},readInt16:function(m,$){if($<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if($+2>m.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";return $=(m[$]<<8)+m[$+1],$=32768&$?$-65535-1:$},readUint32:function(m,$){if($<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*m[$]+m[$+1])+m[$+2])+m[$+3]},readInt32:function(m,$){if($<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(m[$]<<24)+(m[$+1]<<16)+(m[$+2]<<8)+m[$+3]},readFloat:function(m,$){if($<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if($+4>m.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var I=new Uint8Array(4);return I[3]=m[$],I[2]=m[$+1],I[1]=m[$+2],I[0]=m[$+3],new Float32Array(I.buffer)[0]},readDouble:function(m,$){if($<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if($+8>m.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var I=new Uint8Array(8);return I[7]=m[$],I[6]=m[$+1],I[5]=m[$+2],I[4]=m[$+3],I[3]=m[$+4],I[2]=m[$+5],I[1]=m[$+6],I[0]=m[$+7],new Float64Array(I.buffer)[0]}};function He(m,$,I){if(typeof Buffer<"u"&&m instanceof Buffer)return m.slice($,$+I);if(m instanceof Uint8Array)return new Uint8Array(m.buffer,m.byteOffset+$,I);throw"dicomParser.from: unknown type for byteArray"}function ke(m,$){for(var I=0;I<$.length;I++){var T=$[I];T.enumerable=T.enumerable||!1,T.configurable=!0,"value"in T&&(T.writable=!0),Object.defineProperty(m,T.key,T)}}var Qe=(function(){function m(T,L,Z){if((function(fe,xe){if(!(fe instanceof xe))throw new TypeError("Cannot call a class as a function")})(this,m),T===void 0)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(L===void 0)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(!(L instanceof Uint8Array)&&(typeof Buffer>"u"||!(L instanceof Buffer)))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(Z<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(Z>=L.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=T,this.byteArray=L,this.position=Z||0,this.warnings=[]}var $,I;return $=m,(I=[{key:"seek",value:function(T){if(this.position+T<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=T}},{key:"readByteStream",value:function(T){if(this.position+T>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var L=He(this.byteArray,this.position,T);return this.position+=T,new m(this.byteArrayParser,L)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var T=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,T}},{key:"readUint32",value:function(){var T=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,T}},{key:"readFixedString",value:function(T){var L=le(this.byteArray,this.position,T);return this.position+=T,L}}])&&ke($.prototype,I),Object.defineProperty($,"prototype",{writable:!1}),m})(),vt={readUint16:function(m,$){if($<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if($+2>m.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return m[$]+256*m[$+1]},readInt16:function(m,$){if($<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if($+2>m.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";return $=m[$]+(m[$+1]<<8),$=32768&$?$-65535-1:$},readUint32:function(m,$){if($<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return m[$]+256*m[$+1]+256*m[$+2]*256+256*m[$+3]*256*256},readInt32:function(m,$){if($<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return m[$]+(m[$+1]<<8)+(m[$+2]<<16)+(m[$+3]<<24)},readFloat:function(m,$){if($<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if($+4>m.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var I=new Uint8Array(4);return I[0]=m[$],I[1]=m[$+1],I[2]=m[$+2],I[3]=m[$+3],new Float32Array(I.buffer)[0]},readDouble:function(m,$){if($<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if($+8>m.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var I=new Uint8Array(8);return I[0]=m[$],I[1]=m[$+1],I[2]=m[$+2],I[3]=m[$+3],I[4]=m[$+4],I[5]=m[$+5],I[6]=m[$+6],I[7]=m[$+7],new Float64Array(I.buffer)[0]}};function Zt(m){var $=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};if(m===void 0)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var I=$.TransferSyntaxUID,T=new Qe(vt,m);return(function(){var L=(function(){if(T.getSize()<=132&&I)return!1;if(T.seek(128),T.readFixedString(4)==="DICM")return!0;if(!($||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return T.seek(0),!1})(),Z=[],fe={};if(!L)return T.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:I}},warnings:Z};for(;T.position<T.byteArray.length;){var xe=T.position,De=Ce(T,Z);if("x0002ffff"<De.tag){T.position=xe;break}De.parser=vt,fe[De.tag]=De}return(L=new oe(T.byteArrayParser,T.byteArray,fe)).warnings=T.warnings,L.position=T.position,L})()}var Wt="1.2.840.10008.1.2.2";function Bt(m){var $=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};if(m===void 0)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var I,T=function(Z){if(Z.elements.x00020010===void 0)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");return Z=Z.elements.x00020010,Z&&Z.Value||le(m,Z.dataOffset,Z.length)};function L(De){var xe=T(De),fe=xe!=="1.2.840.10008.1.2",xe=(function(ze,Ee){var qe=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";if(ze!=="1.2.840.10008.1.2.1.99")return new Qe(ze===Wt?Ze:vt,m,Ee);if($&&$.inflater)return ze=$.inflater(m,Ee),new Qe(vt,ze,0);if(qe==!0){var Ne=P(0),Ve=He(m,Ee,m.length-Ee),Ne=Ne.inflateRawSync(Ve),Ve=bt(m,Ne.length+Ee);return m.copy(Ve,0,0,Ee),Ne.copy(Ve,Ee),new Qe(vt,Ve,0)}if(typeof pako>"u")throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax";return Ne=m.slice(Ee),Ve=pako.inflateRaw(Ne),(Ne=bt(m,Ve.length+Ee)).set(m.slice(0,Ee),0),Ne.set(Ve,Ee),new Qe(vt,Ne,0)})(xe,De.position),De=new oe(xe.byteArrayParser,xe.byteArray,{});De.warnings=xe.warnings;try{(fe?Ke:ft)(De,xe,xe.byteArray.length,$)}catch(ze){throw{exception:ze,dataSet:De}}return De}return(function(Z,fe){for(var xe in Z.elements)Z.elements.hasOwnProperty(xe)&&(fe.elements[xe]=Z.elements[xe]);return Z.warnings!==void 0&&(fe.warnings=Z.warnings.concat(fe.warnings)),fe})(I=Zt(m,$),L(I))}var kt=function(m,$,I){for(var T=0,L=$;L<$+I;L++)T+=m[L].length;return T};function wt(m,fe,I,T,L){if(L=L||fe.fragments,m===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(fe===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(I===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if((T=T||1)===void 0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if(fe.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(fe.encapsulatedPixelData!==!0||fe.hadUndefinedLength!==!0||fe.basicOffsetTable===void 0||fe.fragments===void 0||fe.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(I<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(I>=fe.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(T<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(I+T>fe.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var Z=new Qe(m.byteArrayParser,m.byteArray,fe.dataOffset),fe=ge(Z);if(fe.tag!=="xfffee000")throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";Z.seek(fe.length);var xe=Z.position;if(T===1)return He(Z.byteArray,xe+L[I].offset+8,L[I].length);for(var fe=kt(L,I,T),De=bt(Z.byteArray,fe),ze=0,Ee=I;Ee<I+T;Ee++)for(var qe=xe+L[Ee].offset+8,Ne=0;Ne<L[Ee].length;Ne++)De[ze++]=Z.byteArray[qe++];return De}var hr=function(m,$){for(var I=0;I<m.length;I++)if(m[I].offset===$)return I},pr=function(m,$,I,T){if(m===$.length-1)return I.length-T;for(var L=$[m+1],Z=T+1;Z<I.length;Z++)if(I[Z].offset===L)return Z-T;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function vr(m,$,I,T,L){if(T=T||$.basicOffsetTable,L=L||$.fragments,m===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if($===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(I===void 0)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(T===void 0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if($.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if($.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if($.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if($.fragments===void 0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(T.length===0)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(I<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(I>=T.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var Z=T[I],Z=hr(L,Z);if(Z===void 0)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return wt(m,$,Z,pr(I,T,L,Z),L)}var Cr=!1;function Sr(m,$,I){if(Cr||(Cr=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),m===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if($===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(I===void 0)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if($.tag!=="x7fe00010")throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if($.encapsulatedPixelData!==!0||$.hadUndefinedLength!==!0||$.basicOffsetTable===void 0||$.fragments===void 0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(I<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return $.basicOffsetTable.length!==0?vr(m,$,I):wt(m,$,0,$.fragments.length)}d.default={isStringVr:w,isPrivateTag:W,parsePN:F,parseTM:k,parseDA:Y,explicitElementToString:K,explicitDataSetToJS:ee,createJPEGBasicOffsetTable:J,parseDicomDataSetExplicit:Ke,parseDicomDataSetImplicit:ft,readFixedString:le,alloc:bt,version:ot,bigEndianByteArrayParser:Ze,ByteStream:Qe,sharedCopy:He,DataSet:oe,findAndSetUNElementLength:re,findEndOfEncapsulatedElement:he,findItemDelimitationItemAndSetElementLength:be,littleEndianByteArrayParser:vt,parseDicom:Bt,readDicomElementExplicit:Ce,readDicomElementImplicit:ve,readEncapsulatedImageFrame:vr,readEncapsulatedPixelData:Sr,readEncapsulatedPixelDataFromFragments:wt,readPart10Header:Zt,readSequenceItemsExplicit:Be,readSequenceItemsImplicit:Fe,readSequenceItem:ge,readTag:ce,LEI:"1.2.840.10008.1.2",LEE:"1.2.840.10008.1.2.1"}}],l={},n.m=i,n.c=l,n.d=function(a,d,P){n.o(a,d)||Object.defineProperty(a,d,{enumerable:!0,get:P})},n.r=function(a){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},n.t=function(a,d){if(1&d&&(a=n(a)),8&d||4&d&&typeof a=="object"&&a&&a.__esModule)return a;var P=Object.create(null);if(n.r(P),Object.defineProperty(P,"default",{enumerable:!0,value:a}),2&d&&typeof a!="string")for(var y in a)n.d(P,y,(function(w){return a[w]}).bind(null,y));return P},n.n=function(a){var d=a&&a.__esModule?function(){return a.default}:function(){return a};return n.d(d,"a",d),d},n.o=function(a,d){return Object.prototype.hasOwnProperty.call(a,d)},n.p="",n(n.s=1);function n(a){if(l[a])return l[a].exports;var d=l[a]={i:a,l:!1,exports:{}};return i[a].call(d.exports,d,d.exports,n),d.l=!0,d.exports}var i,l})})(yi)),yi.exports}var ar=Hc();function Da(e){const r=e.indexOf(":");let t=e.substring(r+1);const n=t.indexOf("frame=");let i;if(n!==-1){const d=t.substring(n+6);i=parseInt(d,10),t=t.substring(0,n-1)}const l=e.substring(0,r),a=i!==void 0?i-1:void 0;return{scheme:l,url:t,frame:i,pixelDataFrame:a}}let uo={open(e,r){e.open("get",r,!0)},beforeSend:async()=>{},beforeProcessing(e){return Promise.resolve(e.response)},imageCreated(){},strict:!1};function wl(e){uo=Object.assign(uo,e)}function ti(){return uo}function Si(e,r,t={},n={}){const i=ti(),l=P=>{if(typeof i.errorInterceptor=="function"){const y=new Error("request failed");y.request=P,y.response=P.response,y.status=P.status,i.errorInterceptor(y)}},a=new XMLHttpRequest,d=new Promise(async(P,y)=>{i.open(a,e,t,n);const w=await i.beforeSend(a,r,t,n);a.responseType="arraybuffer";const W=Object.assign({},t,w);Object.keys(W).forEach(function(F){W[F]!==null&&(F==="Accept"&&e.indexOf("accept=")!==-1||a.setRequestHeader(F,W[F]))}),n.deferred={resolve:P,reject:y},n.url=e,n.imageId=r,a.onloadstart=function(F){i.onloadstart&&i.onloadstart(F,n),Pa(xa,"cornerstoneimageloadstart",{url:e,imageId:r})},a.onloadend=function(F){i.onloadend&&i.onloadend(F,n),Pa(xa,"cornerstoneimageloadend",{url:e,imageId:r})},a.onreadystatechange=function(F){i.onreadystatechange&&i.onreadystatechange(F,n),a.readyState===4&&(a.status===200||a.status===206?i.beforeProcessing(a).then(P).catch(()=>{l(a),y(a)}):(l(a),y(a)))},a.onprogress=function(F){const k=F.loaded;let j,Y;F.lengthComputable&&(j=F.total,Y=Math.round(k/j*100)),Pa(xa,"cornerstoneimageloadprogress",{url:e,imageId:r,loaded:k,total:j,percentComplete:Y}),i.onprogress&&i.onprogress(F,n)},a.onerror=function(){l(a),y(a)},a.onabort=function(){l(a),y(a)},a.send()});return d.xhr=a,d}function zc(e,r,t){if(t+e.length>r.length)return!1;let n=t;for(let i=0;i<e.length;i++)if(e[i]!==r[n++])return!1;return!0}function Vc(e){const r=new Uint8Array(e.length);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return r}function ho(e,r,t){t=t||0;const n=Vc(r);for(let i=t;i<e.length;i++)if(n[0]===e[i]&&zc(n,e,i))return i;return-1}const{ImageQualityStatus:es}=_n;function Io(e,r,t){t||={};const n=new Uint8Array(r),i=!!t?.isPartial;if(e.indexOf("multipart")===-1)return{contentType:e,imageQualityStatus:i?es.SUBRESOLUTION:es.FULL_RESOLUTION,pixelData:n};let{tokenIndex:l,responseHeaders:a,boundary:d,multipartContentType:P}=t;if(l||=ho(n,`\r
|
|
2
2
|
\r
|
|
3
3
|
`),l===-1)throw new Error("invalid response - no multipart mime header");if(!d&&(a=qc(n,0,l).split(`\r
|
|
4
4
|
`),d=Gc(a),!d))throw new Error("invalid response - no boundary marker");const y=l+4,w=ho(n,d,y);if(w===-1&&!i)throw new Error("invalid response - terminating boundary not found");return P||=Zc(a),t.tokenIndex=l,t.boundary=d,t.responseHeaders=a,t.multipartContentType=P,t.isPartial=w===-1,{contentType:P,extractDone:!i||w!==-1,tokenIndex:l,responseHeaders:a,boundary:d,multipartContentType:P,pixelData:r.slice(y,w-2)}}function Gc(e){for(let r=0;r<e.length;r++)if(e[r].substr(0,2)==="--")return e[r]}function Zc(e){for(let r=0;r<e.length;r++)if(e[r].substr(0,13)==="Content-Type:")return e[r].substr(13).trim()}function qc(e,r,t){r=r||0,t=t||e.length-r;let n="";for(let i=r;i<r+t;i++)n+=String.fromCharCode(e[i]);return n}const{ImageQualityStatus:ts}=_n;function Oo(e,r=!0){return r?e.imageQualityStatus??ts.FULL_RESOLUTION:ts.SUBRESOLUTION}const{ProgressiveIterator:Jc}=dl;function Pl(e,r,t={},n={}){const i=ti(),{retrieveOptions:l={},streamingData:a={}}=n,d=l.minChunkSize||128*1024,P=w=>{if(typeof i.errorInterceptor=="function"){const W=new Error("request failed");i.errorInterceptor(W)}},y=new Jc("streamRequest");return y.generate(async(w,W)=>{const F=await i.beforeSend?.(null,e,t,{}),k=Object.assign({},t,F);Object.keys(k).forEach(function(j){k[j]===null&&(k[j]=void 0),j==="Accept"&&e.indexOf("accept=")!==-1&&(k[j]=void 0)});try{const j=await fetch(e,{headers:k,signal:void 0});if(j.status!==200)throw new Error(`Couldn't retrieve ${e} got status ${j.status}`);const Y=j.body.getReader(),K=j.headers,ee=K.get("content-type"),X=Number(K.get("Content-Length"));let H=!1,J=a.encodedData,ce=a.lastSize||0;for(a.isPartial=!0;!H;){const{done:he,value:re}=await Y.read();if(J=Yc(J,re),!J){if(H)throw new Error(`Done but no image frame available ${r}`);continue}if(H=he||J.byteLength===X,!H&&J.length<ce+d)continue;ce=J.length,a.isPartial=!he;const le=Io(ee,J,a),ie=Oo(l,H),te={url:e,imageId:r,...le,percentComplete:he?100:le.pixelData?.length*100/X,imageQualityStatus:ie,done:H};w.add(te,H)}}catch(j){P(),console.error(j),W(j)}}),y.getNextPromise()}function Yc(e,r){if(!e)return r;if(!r)return e;const t=new Uint8Array(e.length+r.length);return t.set(e,0),t.set(r,e.length),t}const Xc={xhrRequest:Si,streamRequest:Pl,setOptions:wl,getOptions:ti};const Kc=4,rs=0,ns=1,Qc=2;function Ra(e){let r=e.length;for(;--r>=0;)e[r]=0}const eu=0,xl=1,tu=2,ru=3,nu=258,ko=29,ri=256,Ga=ri+1+ko,Ta=30,Lo=19,El=2*Ga+1,da=15,zi=16,au=7,Uo=256,Tl=16,$l=17,Al=18,po=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),mi=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),iu=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Cl=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ou=512,hn=new Array((Ga+2)*2);Ra(hn);const Ba=new Array(Ta*2);Ra(Ba);const Za=new Array(ou);Ra(Za);const qa=new Array(nu-ru+1);Ra(qa);const Mo=new Array(ko);Ra(Mo);const xi=new Array(Ta);Ra(xi);function Vi(e,r,t,n,i){this.static_tree=e,this.extra_bits=r,this.extra_base=t,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}let Sl,Dl,Rl;function Gi(e,r){this.dyn_tree=e,this.max_code=0,this.stat_desc=r}const Il=e=>e<256?Za[e]:Za[256+(e>>>7)],Ja=(e,r)=>{e.pending_buf[e.pending++]=r&255,e.pending_buf[e.pending++]=r>>>8&255},Gt=(e,r,t)=>{e.bi_valid>zi-t?(e.bi_buf|=r<<e.bi_valid&65535,Ja(e,e.bi_buf),e.bi_buf=r>>zi-e.bi_valid,e.bi_valid+=t-zi):(e.bi_buf|=r<<e.bi_valid&65535,e.bi_valid+=t)},Br=(e,r,t)=>{Gt(e,t[r*2],t[r*2+1])},Ol=(e,r)=>{let t=0;do t|=e&1,e>>>=1,t<<=1;while(--r>0);return t>>>1},su=e=>{e.bi_valid===16?(Ja(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},lu=(e,r)=>{const t=r.dyn_tree,n=r.max_code,i=r.stat_desc.static_tree,l=r.stat_desc.has_stree,a=r.stat_desc.extra_bits,d=r.stat_desc.extra_base,P=r.stat_desc.max_length;let y,w,W,F,k,j,Y=0;for(F=0;F<=da;F++)e.bl_count[F]=0;for(t[e.heap[e.heap_max]*2+1]=0,y=e.heap_max+1;y<El;y++)w=e.heap[y],F=t[t[w*2+1]*2+1]+1,F>P&&(F=P,Y++),t[w*2+1]=F,!(w>n)&&(e.bl_count[F]++,k=0,w>=d&&(k=a[w-d]),j=t[w*2],e.opt_len+=j*(F+k),l&&(e.static_len+=j*(i[w*2+1]+k)));if(Y!==0){do{for(F=P-1;e.bl_count[F]===0;)F--;e.bl_count[F]--,e.bl_count[F+1]+=2,e.bl_count[P]--,Y-=2}while(Y>0);for(F=P;F!==0;F--)for(w=e.bl_count[F];w!==0;)W=e.heap[--y],!(W>n)&&(t[W*2+1]!==F&&(e.opt_len+=(F-t[W*2+1])*t[W*2],t[W*2+1]=F),w--)}},kl=(e,r,t)=>{const n=new Array(da+1);let i=0,l,a;for(l=1;l<=da;l++)i=i+t[l-1]<<1,n[l]=i;for(a=0;a<=r;a++){let d=e[a*2+1];d!==0&&(e[a*2]=Ol(n[d]++,d))}},fu=()=>{let e,r,t,n,i;const l=new Array(da+1);for(t=0,n=0;n<ko-1;n++)for(Mo[n]=t,e=0;e<1<<po[n];e++)qa[t++]=n;for(qa[t-1]=n,i=0,n=0;n<16;n++)for(xi[n]=i,e=0;e<1<<mi[n];e++)Za[i++]=n;for(i>>=7;n<Ta;n++)for(xi[n]=i<<7,e=0;e<1<<mi[n]-7;e++)Za[256+i++]=n;for(r=0;r<=da;r++)l[r]=0;for(e=0;e<=143;)hn[e*2+1]=8,e++,l[8]++;for(;e<=255;)hn[e*2+1]=9,e++,l[9]++;for(;e<=279;)hn[e*2+1]=7,e++,l[7]++;for(;e<=287;)hn[e*2+1]=8,e++,l[8]++;for(kl(hn,Ga+1,l),e=0;e<Ta;e++)Ba[e*2+1]=5,Ba[e*2]=Ol(e,5);Sl=new Vi(hn,po,ri+1,Ga,da),Dl=new Vi(Ba,mi,0,Ta,da),Rl=new Vi(new Array(0),iu,0,Lo,au)},Ll=e=>{let r;for(r=0;r<Ga;r++)e.dyn_ltree[r*2]=0;for(r=0;r<Ta;r++)e.dyn_dtree[r*2]=0;for(r=0;r<Lo;r++)e.bl_tree[r*2]=0;e.dyn_ltree[Uo*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},Ul=e=>{e.bi_valid>8?Ja(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},as=(e,r,t,n)=>{const i=r*2,l=t*2;return e[i]<e[l]||e[i]===e[l]&&n[r]<=n[t]},Zi=(e,r,t)=>{const n=e.heap[t];let i=t<<1;for(;i<=e.heap_len&&(i<e.heap_len&&as(r,e.heap[i+1],e.heap[i],e.depth)&&i++,!as(r,n,e.heap[i],e.depth));)e.heap[t]=e.heap[i],t=i,i<<=1;e.heap[t]=n},is=(e,r,t)=>{let n,i,l=0,a,d;if(e.sym_next!==0)do n=e.pending_buf[e.sym_buf+l++]&255,n+=(e.pending_buf[e.sym_buf+l++]&255)<<8,i=e.pending_buf[e.sym_buf+l++],n===0?Br(e,i,r):(a=qa[i],Br(e,a+ri+1,r),d=po[a],d!==0&&(i-=Mo[a],Gt(e,i,d)),n--,a=Il(n),Br(e,a,t),d=mi[a],d!==0&&(n-=xi[a],Gt(e,n,d)));while(l<e.sym_next);Br(e,Uo,r)},vo=(e,r)=>{const t=r.dyn_tree,n=r.stat_desc.static_tree,i=r.stat_desc.has_stree,l=r.stat_desc.elems;let a,d,P=-1,y;for(e.heap_len=0,e.heap_max=El,a=0;a<l;a++)t[a*2]!==0?(e.heap[++e.heap_len]=P=a,e.depth[a]=0):t[a*2+1]=0;for(;e.heap_len<2;)y=e.heap[++e.heap_len]=P<2?++P:0,t[y*2]=1,e.depth[y]=0,e.opt_len--,i&&(e.static_len-=n[y*2+1]);for(r.max_code=P,a=e.heap_len>>1;a>=1;a--)Zi(e,t,a);y=l;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Zi(e,t,1),d=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=d,t[y*2]=t[a*2]+t[d*2],e.depth[y]=(e.depth[a]>=e.depth[d]?e.depth[a]:e.depth[d])+1,t[a*2+1]=t[d*2+1]=y,e.heap[1]=y++,Zi(e,t,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],lu(e,r),kl(t,P,e.bl_count)},os=(e,r,t)=>{let n,i=-1,l,a=r[1],d=0,P=7,y=4;for(a===0&&(P=138,y=3),r[(t+1)*2+1]=65535,n=0;n<=t;n++)l=a,a=r[(n+1)*2+1],!(++d<P&&l===a)&&(d<y?e.bl_tree[l*2]+=d:l!==0?(l!==i&&e.bl_tree[l*2]++,e.bl_tree[Tl*2]++):d<=10?e.bl_tree[$l*2]++:e.bl_tree[Al*2]++,d=0,i=l,a===0?(P=138,y=3):l===a?(P=6,y=3):(P=7,y=4))},ss=(e,r,t)=>{let n,i=-1,l,a=r[1],d=0,P=7,y=4;for(a===0&&(P=138,y=3),n=0;n<=t;n++)if(l=a,a=r[(n+1)*2+1],!(++d<P&&l===a)){if(d<y)do Br(e,l,e.bl_tree);while(--d!==0);else l!==0?(l!==i&&(Br(e,l,e.bl_tree),d--),Br(e,Tl,e.bl_tree),Gt(e,d-3,2)):d<=10?(Br(e,$l,e.bl_tree),Gt(e,d-3,3)):(Br(e,Al,e.bl_tree),Gt(e,d-11,7));d=0,i=l,a===0?(P=138,y=3):l===a?(P=6,y=3):(P=7,y=4)}},cu=e=>{let r;for(os(e,e.dyn_ltree,e.l_desc.max_code),os(e,e.dyn_dtree,e.d_desc.max_code),vo(e,e.bl_desc),r=Lo-1;r>=3&&e.bl_tree[Cl[r]*2+1]===0;r--);return e.opt_len+=3*(r+1)+5+5+4,r},uu=(e,r,t,n)=>{let i;for(Gt(e,r-257,5),Gt(e,t-1,5),Gt(e,n-4,4),i=0;i<n;i++)Gt(e,e.bl_tree[Cl[i]*2+1],3);ss(e,e.dyn_ltree,r-1),ss(e,e.dyn_dtree,t-1)},du=e=>{let r=4093624447,t;for(t=0;t<=31;t++,r>>>=1)if(r&1&&e.dyn_ltree[t*2]!==0)return rs;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return ns;for(t=32;t<ri;t++)if(e.dyn_ltree[t*2]!==0)return ns;return rs};let ls=!1;const hu=e=>{ls||(fu(),ls=!0),e.l_desc=new Gi(e.dyn_ltree,Sl),e.d_desc=new Gi(e.dyn_dtree,Dl),e.bl_desc=new Gi(e.bl_tree,Rl),e.bi_buf=0,e.bi_valid=0,Ll(e)},Ml=(e,r,t,n)=>{Gt(e,(eu<<1)+(n?1:0),3),Ul(e),Ja(e,t),Ja(e,~t),t&&e.pending_buf.set(e.window.subarray(r,r+t),e.pending),e.pending+=t},pu=e=>{Gt(e,xl<<1,3),Br(e,Uo,hn),su(e)},vu=(e,r,t,n)=>{let i,l,a=0;e.level>0?(e.strm.data_type===Qc&&(e.strm.data_type=du(e)),vo(e,e.l_desc),vo(e,e.d_desc),a=cu(e),i=e.opt_len+3+7>>>3,l=e.static_len+3+7>>>3,l<=i&&(i=l)):i=l=t+5,t+4<=i&&r!==-1?Ml(e,r,t,n):e.strategy===Kc||l===i?(Gt(e,(xl<<1)+(n?1:0),3),is(e,hn,Ba)):(Gt(e,(tu<<1)+(n?1:0),3),uu(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),is(e,e.dyn_ltree,e.dyn_dtree)),Ll(e),n&&Ul(e)},gu=(e,r,t)=>(e.pending_buf[e.sym_buf+e.sym_next++]=r,e.pending_buf[e.sym_buf+e.sym_next++]=r>>8,e.pending_buf[e.sym_buf+e.sym_next++]=t,r===0?e.dyn_ltree[t*2]++:(e.matches++,r--,e.dyn_ltree[(qa[t]+ri+1)*2]++,e.dyn_dtree[Il(r)*2]++),e.sym_next===e.sym_end);var _u=hu,yu=Ml,mu=vu,bu=gu,wu=pu,Pu={_tr_init:_u,_tr_stored_block:yu,_tr_flush_block:mu,_tr_tally:bu,_tr_align:wu};const xu=(e,r,t,n)=>{let i=e&65535|0,l=e>>>16&65535|0,a=0;for(;t!==0;){a=t>2e3?2e3:t,t-=a;do i=i+r[n++]|0,l=l+i|0;while(--a);i%=65521,l%=65521}return i|l<<16|0};var Ya=xu;const Eu=()=>{let e,r=[];for(var t=0;t<256;t++){e=t;for(var n=0;n<8;n++)e=e&1?3988292384^e>>>1:e>>>1;r[t]=e}return r},Tu=new Uint32Array(Eu()),$u=(e,r,t,n)=>{const i=Tu,l=n+t;e^=-1;for(let a=n;a<l;a++)e=e>>>8^i[(e^r[a])&255];return e^-1};var mt=$u,va={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},ni={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Au,_tr_stored_block:go,_tr_flush_block:Cu,_tr_tally:Fn,_tr_align:Su}=Pu,{Z_NO_FLUSH:Nn,Z_PARTIAL_FLUSH:Du,Z_FULL_FLUSH:Ru,Z_FINISH:ur,Z_BLOCK:fs,Z_OK:Ct,Z_STREAM_END:cs,Z_STREAM_ERROR:jr,Z_DATA_ERROR:Iu,Z_BUF_ERROR:qi,Z_DEFAULT_COMPRESSION:Ou,Z_FILTERED:ku,Z_HUFFMAN_ONLY:ui,Z_RLE:Lu,Z_FIXED:Uu,Z_DEFAULT_STRATEGY:Mu,Z_UNKNOWN:Fu,Z_DEFLATED:Di}=ni,Nu=9,Wu=15,Bu=8,ju=29,Hu=256,_o=Hu+1+ju,zu=30,Vu=19,Gu=2*_o+1,Zu=15,Oe=3,Mn=258,Hr=Mn+Oe+1,qu=32,Aa=42,Fo=57,yo=69,mo=73,bo=91,wo=103,ha=113,Ua=666,Nt=1,Ia=2,ga=3,Oa=4,Ju=3,pa=(e,r)=>(e.msg=va[r],r),us=e=>e*2-(e>4?9:0),Un=e=>{let r=e.length;for(;--r>=0;)e[r]=0},Yu=e=>{let r,t,n,i=e.w_size;r=e.hash_size,n=r;do t=e.head[--n],e.head[n]=t>=i?t-i:0;while(--r);r=i,n=r;do t=e.prev[--n],e.prev[n]=t>=i?t-i:0;while(--r)};let Xu=(e,r,t)=>(r<<e.hash_shift^t)&e.hash_mask,Wn=Xu;const nr=e=>{const r=e.state;let t=r.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.output.set(r.pending_buf.subarray(r.pending_out,r.pending_out+t),e.next_out),e.next_out+=t,r.pending_out+=t,e.total_out+=t,e.avail_out-=t,r.pending-=t,r.pending===0&&(r.pending_out=0))},ir=(e,r)=>{Cu(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,r),e.block_start=e.strstart,nr(e.strm)},We=(e,r)=>{e.pending_buf[e.pending++]=r},La=(e,r)=>{e.pending_buf[e.pending++]=r>>>8&255,e.pending_buf[e.pending++]=r&255},Po=(e,r,t,n)=>{let i=e.avail_in;return i>n&&(i=n),i===0?0:(e.avail_in-=i,r.set(e.input.subarray(e.next_in,e.next_in+i),t),e.state.wrap===1?e.adler=Ya(e.adler,r,i,t):e.state.wrap===2&&(e.adler=mt(e.adler,r,i,t)),e.next_in+=i,e.total_in+=i,i)},Fl=(e,r)=>{let t=e.max_chain_length,n=e.strstart,i,l,a=e.prev_length,d=e.nice_match;const P=e.strstart>e.w_size-Hr?e.strstart-(e.w_size-Hr):0,y=e.window,w=e.w_mask,W=e.prev,F=e.strstart+Mn;let k=y[n+a-1],j=y[n+a];e.prev_length>=e.good_match&&(t>>=2),d>e.lookahead&&(d=e.lookahead);do if(i=r,!(y[i+a]!==j||y[i+a-1]!==k||y[i]!==y[n]||y[++i]!==y[n+1])){n+=2,i++;do;while(y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&y[++n]===y[++i]&&n<F);if(l=Mn-(F-n),n=F-Mn,l>a){if(e.match_start=r,a=l,l>=d)break;k=y[n+a-1],j=y[n+a]}}while((r=W[r&w])>P&&--t!==0);return a<=e.lookahead?a:e.lookahead},Ca=e=>{const r=e.w_size;let t,n,i;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=r+(r-Hr)&&(e.window.set(e.window.subarray(r,r+r-n),0),e.match_start-=r,e.strstart-=r,e.block_start-=r,e.insert>e.strstart&&(e.insert=e.strstart),Yu(e),n+=r),e.strm.avail_in===0)break;if(t=Po(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=t,e.lookahead+e.insert>=Oe)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=Wn(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=Wn(e,e.ins_h,e.window[i+Oe-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<Oe)););}while(e.lookahead<Hr&&e.strm.avail_in!==0)},Nl=(e,r)=>{let t=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,n,i,l,a=0,d=e.strm.avail_in;do{if(n=65535,l=e.bi_valid+42>>3,e.strm.avail_out<l||(l=e.strm.avail_out-l,i=e.strstart-e.block_start,n>i+e.strm.avail_in&&(n=i+e.strm.avail_in),n>l&&(n=l),n<t&&(n===0&&r!==ur||r===Nn||n!==i+e.strm.avail_in)))break;a=r===ur&&n===i+e.strm.avail_in?1:0,go(e,0,0,a),e.pending_buf[e.pending-4]=n,e.pending_buf[e.pending-3]=n>>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,nr(e.strm),i&&(i>n&&(i=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,n-=i),n&&(Po(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(a===0);return d-=e.strm.avail_in,d&&(d>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=d&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-d,e.strm.next_in),e.strstart),e.strstart+=d,e.insert+=d>e.w_size-e.insert?e.w_size-e.insert:d),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),a?Oa:r!==Nn&&r!==ur&&e.strm.avail_in===0&&e.strstart===e.block_start?Ia:(l=e.window_size-e.strstart,e.strm.avail_in>l&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,l+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),l>e.strm.avail_in&&(l=e.strm.avail_in),l&&(Po(e.strm,e.window,e.strstart,l),e.strstart+=l,e.insert+=l>e.w_size-e.insert?e.w_size-e.insert:l),e.high_water<e.strstart&&(e.high_water=e.strstart),l=e.bi_valid+42>>3,l=e.pending_buf_size-l>65535?65535:e.pending_buf_size-l,t=l>e.w_size?e.w_size:l,i=e.strstart-e.block_start,(i>=t||(i||r===ur)&&r!==Nn&&e.strm.avail_in===0&&i<=l)&&(n=i>l?l:i,a=r===ur&&e.strm.avail_in===0&&n===i?1:0,go(e,e.block_start,n,a),e.block_start+=n,nr(e.strm)),a?ga:Nt)},Ji=(e,r)=>{let t,n;for(;;){if(e.lookahead<Hr){if(Ca(e),e.lookahead<Hr&&r===Nn)return Nt;if(e.lookahead===0)break}if(t=0,e.lookahead>=Oe&&(e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+Oe-1]),t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),t!==0&&e.strstart-t<=e.w_size-Hr&&(e.match_length=Fl(e,t)),e.match_length>=Oe)if(n=Fn(e,e.strstart-e.match_start,e.match_length-Oe),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Oe){e.match_length--;do e.strstart++,e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+Oe-1]),t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+1]);else n=Fn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(ir(e,!1),e.strm.avail_out===0))return Nt}return e.insert=e.strstart<Oe-1?e.strstart:Oe-1,r===ur?(ir(e,!0),e.strm.avail_out===0?ga:Oa):e.sym_next&&(ir(e,!1),e.strm.avail_out===0)?Nt:Ia},ma=(e,r)=>{let t,n,i;for(;;){if(e.lookahead<Hr){if(Ca(e),e.lookahead<Hr&&r===Nn)return Nt;if(e.lookahead===0)break}if(t=0,e.lookahead>=Oe&&(e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+Oe-1]),t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Oe-1,t!==0&&e.prev_length<e.max_lazy_match&&e.strstart-t<=e.w_size-Hr&&(e.match_length=Fl(e,t),e.match_length<=5&&(e.strategy===ku||e.match_length===Oe&&e.strstart-e.match_start>4096)&&(e.match_length=Oe-1)),e.prev_length>=Oe&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-Oe,n=Fn(e,e.strstart-1-e.prev_match,e.prev_length-Oe),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=Wn(e,e.ins_h,e.window[e.strstart+Oe-1]),t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Oe-1,e.strstart++,n&&(ir(e,!1),e.strm.avail_out===0))return Nt}else if(e.match_available){if(n=Fn(e,0,e.window[e.strstart-1]),n&&ir(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return Nt}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=Fn(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Oe-1?e.strstart:Oe-1,r===ur?(ir(e,!0),e.strm.avail_out===0?ga:Oa):e.sym_next&&(ir(e,!1),e.strm.avail_out===0)?Nt:Ia},Ku=(e,r)=>{let t,n,i,l;const a=e.window;for(;;){if(e.lookahead<=Mn){if(Ca(e),e.lookahead<=Mn&&r===Nn)return Nt;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Oe&&e.strstart>0&&(i=e.strstart-1,n=a[i],n===a[++i]&&n===a[++i]&&n===a[++i])){l=e.strstart+Mn;do;while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<l);e.match_length=Mn-(l-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Oe?(t=Fn(e,1,e.match_length-Oe),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(t=Fn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),t&&(ir(e,!1),e.strm.avail_out===0))return Nt}return e.insert=0,r===ur?(ir(e,!0),e.strm.avail_out===0?ga:Oa):e.sym_next&&(ir(e,!1),e.strm.avail_out===0)?Nt:Ia},Qu=(e,r)=>{let t;for(;;){if(e.lookahead===0&&(Ca(e),e.lookahead===0)){if(r===Nn)return Nt;break}if(e.match_length=0,t=Fn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,t&&(ir(e,!1),e.strm.avail_out===0))return Nt}return e.insert=0,r===ur?(ir(e,!0),e.strm.avail_out===0?ga:Oa):e.sym_next&&(ir(e,!1),e.strm.avail_out===0)?Nt:Ia};function Wr(e,r,t,n,i){this.good_length=e,this.max_lazy=r,this.nice_length=t,this.max_chain=n,this.func=i}const Ma=[new Wr(0,0,0,0,Nl),new Wr(4,4,8,4,Ji),new Wr(4,5,16,8,Ji),new Wr(4,6,32,32,Ji),new Wr(4,4,16,16,ma),new Wr(8,16,32,32,ma),new Wr(8,16,128,128,ma),new Wr(8,32,128,256,ma),new Wr(32,128,258,1024,ma),new Wr(32,258,258,4096,ma)],ed=e=>{e.window_size=2*e.w_size,Un(e.head),e.max_lazy_match=Ma[e.level].max_lazy,e.good_match=Ma[e.level].good_length,e.nice_match=Ma[e.level].nice_length,e.max_chain_length=Ma[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Oe-1,e.match_available=0,e.ins_h=0};function td(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Di,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Gu*2),this.dyn_dtree=new Uint16Array((2*zu+1)*2),this.bl_tree=new Uint16Array((2*Vu+1)*2),Un(this.dyn_ltree),Un(this.dyn_dtree),Un(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Zu+1),this.heap=new Uint16Array(2*_o+1),Un(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*_o+1),Un(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const ai=e=>{if(!e)return 1;const r=e.state;return!r||r.strm!==e||r.status!==Aa&&r.status!==Fo&&r.status!==yo&&r.status!==mo&&r.status!==bo&&r.status!==wo&&r.status!==ha&&r.status!==Ua?1:0},Wl=e=>{if(ai(e))return pa(e,jr);e.total_in=e.total_out=0,e.data_type=Fu;const r=e.state;return r.pending=0,r.pending_out=0,r.wrap<0&&(r.wrap=-r.wrap),r.status=r.wrap===2?Fo:r.wrap?Aa:ha,e.adler=r.wrap===2?0:1,r.last_flush=-2,Au(r),Ct},Bl=e=>{const r=Wl(e);return r===Ct&&ed(e.state),r},rd=(e,r)=>ai(e)||e.state.wrap!==2?jr:(e.state.gzhead=r,Ct),jl=(e,r,t,n,i,l)=>{if(!e)return jr;let a=1;if(r===Ou&&(r=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),i<1||i>Nu||t!==Di||n<8||n>15||r<0||r>9||l<0||l>Uu||n===8&&a!==1)return pa(e,jr);n===8&&(n=9);const d=new td;return e.state=d,d.strm=e,d.status=Aa,d.wrap=a,d.gzhead=null,d.w_bits=n,d.w_size=1<<d.w_bits,d.w_mask=d.w_size-1,d.hash_bits=i+7,d.hash_size=1<<d.hash_bits,d.hash_mask=d.hash_size-1,d.hash_shift=~~((d.hash_bits+Oe-1)/Oe),d.window=new Uint8Array(d.w_size*2),d.head=new Uint16Array(d.hash_size),d.prev=new Uint16Array(d.w_size),d.lit_bufsize=1<<i+6,d.pending_buf_size=d.lit_bufsize*4,d.pending_buf=new Uint8Array(d.pending_buf_size),d.sym_buf=d.lit_bufsize,d.sym_end=(d.lit_bufsize-1)*3,d.level=r,d.strategy=l,d.method=t,Bl(e)},nd=(e,r)=>jl(e,r,Di,Wu,Bu,Mu),ad=(e,r)=>{if(ai(e)||r>fs||r<0)return e?pa(e,jr):jr;const t=e.state;if(!e.output||e.avail_in!==0&&!e.input||t.status===Ua&&r!==ur)return pa(e,e.avail_out===0?qi:jr);const n=t.last_flush;if(t.last_flush=r,t.pending!==0){if(nr(e),e.avail_out===0)return t.last_flush=-1,Ct}else if(e.avail_in===0&&us(r)<=us(n)&&r!==ur)return pa(e,qi);if(t.status===Ua&&e.avail_in!==0)return pa(e,qi);if(t.status===Aa&&t.wrap===0&&(t.status=ha),t.status===Aa){let i=Di+(t.w_bits-8<<4)<<8,l=-1;if(t.strategy>=ui||t.level<2?l=0:t.level<6?l=1:t.level===6?l=2:l=3,i|=l<<6,t.strstart!==0&&(i|=qu),i+=31-i%31,La(t,i),t.strstart!==0&&(La(t,e.adler>>>16),La(t,e.adler&65535)),e.adler=1,t.status=ha,nr(e),t.pending!==0)return t.last_flush=-1,Ct}if(t.status===Fo){if(e.adler=0,We(t,31),We(t,139),We(t,8),t.gzhead)We(t,(t.gzhead.text?1:0)+(t.gzhead.hcrc?2:0)+(t.gzhead.extra?4:0)+(t.gzhead.name?8:0)+(t.gzhead.comment?16:0)),We(t,t.gzhead.time&255),We(t,t.gzhead.time>>8&255),We(t,t.gzhead.time>>16&255),We(t,t.gzhead.time>>24&255),We(t,t.level===9?2:t.strategy>=ui||t.level<2?4:0),We(t,t.gzhead.os&255),t.gzhead.extra&&t.gzhead.extra.length&&(We(t,t.gzhead.extra.length&255),We(t,t.gzhead.extra.length>>8&255)),t.gzhead.hcrc&&(e.adler=mt(e.adler,t.pending_buf,t.pending,0)),t.gzindex=0,t.status=yo;else if(We(t,0),We(t,0),We(t,0),We(t,0),We(t,0),We(t,t.level===9?2:t.strategy>=ui||t.level<2?4:0),We(t,Ju),t.status=ha,nr(e),t.pending!==0)return t.last_flush=-1,Ct}if(t.status===yo){if(t.gzhead.extra){let i=t.pending,l=(t.gzhead.extra.length&65535)-t.gzindex;for(;t.pending+l>t.pending_buf_size;){let d=t.pending_buf_size-t.pending;if(t.pending_buf.set(t.gzhead.extra.subarray(t.gzindex,t.gzindex+d),t.pending),t.pending=t.pending_buf_size,t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),t.gzindex+=d,nr(e),t.pending!==0)return t.last_flush=-1,Ct;i=0,l-=d}let a=new Uint8Array(t.gzhead.extra);t.pending_buf.set(a.subarray(t.gzindex,t.gzindex+l),t.pending),t.pending+=l,t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),t.gzindex=0}t.status=mo}if(t.status===mo){if(t.gzhead.name){let i=t.pending,l;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),nr(e),t.pending!==0)return t.last_flush=-1,Ct;i=0}t.gzindex<t.gzhead.name.length?l=t.gzhead.name.charCodeAt(t.gzindex++)&255:l=0,We(t,l)}while(l!==0);t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),t.gzindex=0}t.status=bo}if(t.status===bo){if(t.gzhead.comment){let i=t.pending,l;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i)),nr(e),t.pending!==0)return t.last_flush=-1,Ct;i=0}t.gzindex<t.gzhead.comment.length?l=t.gzhead.comment.charCodeAt(t.gzindex++)&255:l=0,We(t,l)}while(l!==0);t.gzhead.hcrc&&t.pending>i&&(e.adler=mt(e.adler,t.pending_buf,t.pending-i,i))}t.status=wo}if(t.status===wo){if(t.gzhead.hcrc){if(t.pending+2>t.pending_buf_size&&(nr(e),t.pending!==0))return t.last_flush=-1,Ct;We(t,e.adler&255),We(t,e.adler>>8&255),e.adler=0}if(t.status=ha,nr(e),t.pending!==0)return t.last_flush=-1,Ct}if(e.avail_in!==0||t.lookahead!==0||r!==Nn&&t.status!==Ua){let i=t.level===0?Nl(t,r):t.strategy===ui?Qu(t,r):t.strategy===Lu?Ku(t,r):Ma[t.level].func(t,r);if((i===ga||i===Oa)&&(t.status=Ua),i===Nt||i===ga)return e.avail_out===0&&(t.last_flush=-1),Ct;if(i===Ia&&(r===Du?Su(t):r!==fs&&(go(t,0,0,!1),r===Ru&&(Un(t.head),t.lookahead===0&&(t.strstart=0,t.block_start=0,t.insert=0))),nr(e),e.avail_out===0))return t.last_flush=-1,Ct}return r!==ur?Ct:t.wrap<=0?cs:(t.wrap===2?(We(t,e.adler&255),We(t,e.adler>>8&255),We(t,e.adler>>16&255),We(t,e.adler>>24&255),We(t,e.total_in&255),We(t,e.total_in>>8&255),We(t,e.total_in>>16&255),We(t,e.total_in>>24&255)):(La(t,e.adler>>>16),La(t,e.adler&65535)),nr(e),t.wrap>0&&(t.wrap=-t.wrap),t.pending!==0?Ct:cs)},id=e=>{if(ai(e))return jr;const r=e.state.status;return e.state=null,r===ha?pa(e,Iu):Ct},od=(e,r)=>{let t=r.length;if(ai(e))return jr;const n=e.state,i=n.wrap;if(i===2||i===1&&n.status!==Aa||n.lookahead)return jr;if(i===1&&(e.adler=Ya(e.adler,r,t,0)),n.wrap=0,t>=n.w_size){i===0&&(Un(n.head),n.strstart=0,n.block_start=0,n.insert=0);let P=new Uint8Array(n.w_size);P.set(r.subarray(t-n.w_size,t),0),r=P,t=n.w_size}const l=e.avail_in,a=e.next_in,d=e.input;for(e.avail_in=t,e.next_in=0,e.input=r,Ca(n);n.lookahead>=Oe;){let P=n.strstart,y=n.lookahead-(Oe-1);do n.ins_h=Wn(n,n.ins_h,n.window[P+Oe-1]),n.prev[P&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=P,P++;while(--y);n.strstart=P,n.lookahead=Oe-1,Ca(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=Oe-1,n.match_available=0,e.next_in=a,e.input=d,e.avail_in=l,n.wrap=i,Ct};var sd=nd,ld=jl,fd=Bl,cd=Wl,ud=rd,dd=ad,hd=id,pd=od,vd="pako deflate (from Nodeca project)",ja={deflateInit:sd,deflateInit2:ld,deflateReset:fd,deflateResetKeep:cd,deflateSetHeader:ud,deflate:dd,deflateEnd:hd,deflateSetDictionary:pd,deflateInfo:vd};const gd=(e,r)=>Object.prototype.hasOwnProperty.call(e,r);var _d=function(e){const r=Array.prototype.slice.call(arguments,1);for(;r.length;){const t=r.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(const n in t)gd(t,n)&&(e[n]=t[n])}}return e},yd=e=>{let r=0;for(let n=0,i=e.length;n<i;n++)r+=e[n].length;const t=new Uint8Array(r);for(let n=0,i=0,l=e.length;n<l;n++){let a=e[n];t.set(a,i),i+=a.length}return t},Ri={assign:_d,flattenChunks:yd};let Hl=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Hl=!1}const Xa=new Uint8Array(256);for(let e=0;e<256;e++)Xa[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Xa[254]=Xa[254]=1;var md=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let r,t,n,i,l,a=e.length,d=0;for(i=0;i<a;i++)t=e.charCodeAt(i),(t&64512)===55296&&i+1<a&&(n=e.charCodeAt(i+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),i++)),d+=t<128?1:t<2048?2:t<65536?3:4;for(r=new Uint8Array(d),l=0,i=0;l<d;i++)t=e.charCodeAt(i),(t&64512)===55296&&i+1<a&&(n=e.charCodeAt(i+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),i++)),t<128?r[l++]=t:t<2048?(r[l++]=192|t>>>6,r[l++]=128|t&63):t<65536?(r[l++]=224|t>>>12,r[l++]=128|t>>>6&63,r[l++]=128|t&63):(r[l++]=240|t>>>18,r[l++]=128|t>>>12&63,r[l++]=128|t>>>6&63,r[l++]=128|t&63);return r};const bd=(e,r)=>{if(r<65534&&e.subarray&&Hl)return String.fromCharCode.apply(null,e.length===r?e:e.subarray(0,r));let t="";for(let n=0;n<r;n++)t+=String.fromCharCode(e[n]);return t};var wd=(e,r)=>{const t=r||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,r));let n,i;const l=new Array(t*2);for(i=0,n=0;n<t;){let a=e[n++];if(a<128){l[i++]=a;continue}let d=Xa[a];if(d>4){l[i++]=65533,n+=d-1;continue}for(a&=d===2?31:d===3?15:7;d>1&&n<t;)a=a<<6|e[n++]&63,d--;if(d>1){l[i++]=65533;continue}a<65536?l[i++]=a:(a-=65536,l[i++]=55296|a>>10&1023,l[i++]=56320|a&1023)}return bd(l,i)},Pd=(e,r)=>{r=r||e.length,r>e.length&&(r=e.length);let t=r-1;for(;t>=0&&(e[t]&192)===128;)t--;return t<0||t===0?r:t+Xa[e[t]]>r?t:r},Ka={string2buf:md,buf2string:wd,utf8border:Pd};function xd(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var zl=xd;const Vl=Object.prototype.toString,{Z_NO_FLUSH:Ed,Z_SYNC_FLUSH:Td,Z_FULL_FLUSH:$d,Z_FINISH:Ad,Z_OK:Ei,Z_STREAM_END:Cd,Z_DEFAULT_COMPRESSION:Sd,Z_DEFAULT_STRATEGY:Dd,Z_DEFLATED:Rd}=ni;function ii(e){this.options=Ri.assign({level:Sd,method:Rd,chunkSize:16384,windowBits:15,memLevel:8,strategy:Dd},e||{});let r=this.options;r.raw&&r.windowBits>0?r.windowBits=-r.windowBits:r.gzip&&r.windowBits>0&&r.windowBits<16&&(r.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zl,this.strm.avail_out=0;let t=ja.deflateInit2(this.strm,r.level,r.method,r.windowBits,r.memLevel,r.strategy);if(t!==Ei)throw new Error(va[t]);if(r.header&&ja.deflateSetHeader(this.strm,r.header),r.dictionary){let n;if(typeof r.dictionary=="string"?n=Ka.string2buf(r.dictionary):Vl.call(r.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(r.dictionary):n=r.dictionary,t=ja.deflateSetDictionary(this.strm,n),t!==Ei)throw new Error(va[t]);this._dict_set=!0}}ii.prototype.push=function(e,r){const t=this.strm,n=this.options.chunkSize;let i,l;if(this.ended)return!1;for(r===~~r?l=r:l=r===!0?Ad:Ed,typeof e=="string"?t.input=Ka.string2buf(e):Vl.call(e)==="[object ArrayBuffer]"?t.input=new Uint8Array(e):t.input=e,t.next_in=0,t.avail_in=t.input.length;;){if(t.avail_out===0&&(t.output=new Uint8Array(n),t.next_out=0,t.avail_out=n),(l===Td||l===$d)&&t.avail_out<=6){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(i=ja.deflate(t,l),i===Cd)return t.next_out>0&&this.onData(t.output.subarray(0,t.next_out)),i=ja.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Ei;if(t.avail_out===0){this.onData(t.output);continue}if(l>0&&t.next_out>0){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(t.avail_in===0)break}return!0};ii.prototype.onData=function(e){this.chunks.push(e)};ii.prototype.onEnd=function(e){e===Ei&&(this.result=Ri.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function No(e,r){const t=new ii(r);if(t.push(e,!0),t.err)throw t.msg||va[t.err];return t.result}function Id(e,r){return r=r||{},r.raw=!0,No(e,r)}function Od(e,r){return r=r||{},r.gzip=!0,No(e,r)}var kd=ii,Ld=No,Ud=Id,Md=Od,Fd={Deflate:kd,deflate:Ld,deflateRaw:Ud,gzip:Md};const di=16209,Nd=16191;var Wd=function(r,t){let n,i,l,a,d,P,y,w,W,F,k,j,Y,K,ee,X,H,J,ce,he,re,le,ie,te;const oe=r.state;n=r.next_in,ie=r.input,i=n+(r.avail_in-5),l=r.next_out,te=r.output,a=l-(t-r.avail_out),d=l+(r.avail_out-257),P=oe.dmax,y=oe.wsize,w=oe.whave,W=oe.wnext,F=oe.window,k=oe.hold,j=oe.bits,Y=oe.lencode,K=oe.distcode,ee=(1<<oe.lenbits)-1,X=(1<<oe.distbits)-1;e:do{j<15&&(k+=ie[n++]<<j,j+=8,k+=ie[n++]<<j,j+=8),H=Y[k&ee];t:for(;;){if(J=H>>>24,k>>>=J,j-=J,J=H>>>16&255,J===0)te[l++]=H&65535;else if(J&16){ce=H&65535,J&=15,J&&(j<J&&(k+=ie[n++]<<j,j+=8),ce+=k&(1<<J)-1,k>>>=J,j-=J),j<15&&(k+=ie[n++]<<j,j+=8,k+=ie[n++]<<j,j+=8),H=K[k&X];r:for(;;){if(J=H>>>24,k>>>=J,j-=J,J=H>>>16&255,J&16){if(he=H&65535,J&=15,j<J&&(k+=ie[n++]<<j,j+=8,j<J&&(k+=ie[n++]<<j,j+=8)),he+=k&(1<<J)-1,he>P){r.msg="invalid distance too far back",oe.mode=di;break e}if(k>>>=J,j-=J,J=l-a,he>J){if(J=he-J,J>w&&oe.sane){r.msg="invalid distance too far back",oe.mode=di;break e}if(re=0,le=F,W===0){if(re+=y-J,J<ce){ce-=J;do te[l++]=F[re++];while(--J);re=l-he,le=te}}else if(W<J){if(re+=y+W-J,J-=W,J<ce){ce-=J;do te[l++]=F[re++];while(--J);if(re=0,W<ce){J=W,ce-=J;do te[l++]=F[re++];while(--J);re=l-he,le=te}}}else if(re+=W-J,J<ce){ce-=J;do te[l++]=F[re++];while(--J);re=l-he,le=te}for(;ce>2;)te[l++]=le[re++],te[l++]=le[re++],te[l++]=le[re++],ce-=3;ce&&(te[l++]=le[re++],ce>1&&(te[l++]=le[re++]))}else{re=l-he;do te[l++]=te[re++],te[l++]=te[re++],te[l++]=te[re++],ce-=3;while(ce>2);ce&&(te[l++]=te[re++],ce>1&&(te[l++]=te[re++]))}}else if((J&64)===0){H=K[(H&65535)+(k&(1<<J)-1)];continue r}else{r.msg="invalid distance code",oe.mode=di;break e}break}}else if((J&64)===0){H=Y[(H&65535)+(k&(1<<J)-1)];continue t}else if(J&32){oe.mode=Nd;break e}else{r.msg="invalid literal/length code",oe.mode=di;break e}break}}while(n<i&&l<d);ce=j>>3,n-=ce,j-=ce<<3,k&=(1<<j)-1,r.next_in=n,r.next_out=l,r.avail_in=n<i?5+(i-n):5-(n-i),r.avail_out=l<d?257+(d-l):257-(l-d),oe.hold=k,oe.bits=j};const ba=15,ds=852,hs=592,ps=0,Yi=1,vs=2,Bd=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),jd=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Hd=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),zd=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Vd=(e,r,t,n,i,l,a,d)=>{const P=d.bits;let y=0,w=0,W=0,F=0,k=0,j=0,Y=0,K=0,ee=0,X=0,H,J,ce,he,re,le=null,ie;const te=new Uint16Array(ba+1),oe=new Uint16Array(ba+1);let be=null,Te,ve,ge;for(y=0;y<=ba;y++)te[y]=0;for(w=0;w<n;w++)te[r[t+w]]++;for(k=P,F=ba;F>=1&&te[F]===0;F--);if(k>F&&(k=F),F===0)return i[l++]=1<<24|64<<16|0,i[l++]=1<<24|64<<16|0,d.bits=1,0;for(W=1;W<F&&te[W]===0;W++);for(k<W&&(k=W),K=1,y=1;y<=ba;y++)if(K<<=1,K-=te[y],K<0)return-1;if(K>0&&(e===ps||F!==1))return-1;for(oe[1]=0,y=1;y<ba;y++)oe[y+1]=oe[y]+te[y];for(w=0;w<n;w++)r[t+w]!==0&&(a[oe[r[t+w]]++]=w);if(e===ps?(le=be=a,ie=20):e===Yi?(le=Bd,be=jd,ie=257):(le=Hd,be=zd,ie=0),X=0,w=0,y=W,re=l,j=k,Y=0,ce=-1,ee=1<<k,he=ee-1,e===Yi&&ee>ds||e===vs&&ee>hs)return 1;for(;;){Te=y-Y,a[w]+1<ie?(ve=0,ge=a[w]):a[w]>=ie?(ve=be[a[w]-ie],ge=le[a[w]-ie]):(ve=96,ge=0),H=1<<y-Y,J=1<<j,W=J;do J-=H,i[re+(X>>Y)+J]=Te<<24|ve<<16|ge|0;while(J!==0);for(H=1<<y-1;X&H;)H>>=1;if(H!==0?(X&=H-1,X+=H):X=0,w++,--te[y]===0){if(y===F)break;y=r[t+a[w]]}if(y>k&&(X&he)!==ce){for(Y===0&&(Y=k),re+=W,j=y-Y,K=1<<j;j+Y<F&&(K-=te[j+Y],!(K<=0));)j++,K<<=1;if(ee+=1<<j,e===Yi&&ee>ds||e===vs&&ee>hs)return 1;ce=X&he,i[ce]=k<<24|j<<16|re-l|0}}return X!==0&&(i[re+X]=y-Y<<24|64<<16|0),d.bits=k,0};var Ha=Vd;const Gd=0,Gl=1,Zl=2,{Z_FINISH:gs,Z_BLOCK:Zd,Z_TREES:hi,Z_OK:_a,Z_STREAM_END:qd,Z_NEED_DICT:Jd,Z_STREAM_ERROR:dr,Z_DATA_ERROR:ql,Z_MEM_ERROR:Jl,Z_BUF_ERROR:Yd,Z_DEFLATED:_s}=ni,Ii=16180,ys=16181,ms=16182,bs=16183,ws=16184,Ps=16185,xs=16186,Es=16187,Ts=16188,$s=16189,Ti=16190,dn=16191,Xi=16192,As=16193,Ki=16194,Cs=16195,Ss=16196,Ds=16197,Rs=16198,pi=16199,vi=16200,Is=16201,Os=16202,ks=16203,Ls=16204,Us=16205,Qi=16206,Ms=16207,Fs=16208,Xe=16209,Yl=16210,Xl=16211,Xd=852,Kd=592,Qd=15,e0=Qd,Ns=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function t0(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const ya=e=>{if(!e)return 1;const r=e.state;return!r||r.strm!==e||r.mode<Ii||r.mode>Xl?1:0},Kl=e=>{if(ya(e))return dr;const r=e.state;return e.total_in=e.total_out=r.total=0,e.msg="",r.wrap&&(e.adler=r.wrap&1),r.mode=Ii,r.last=0,r.havedict=0,r.flags=-1,r.dmax=32768,r.head=null,r.hold=0,r.bits=0,r.lencode=r.lendyn=new Int32Array(Xd),r.distcode=r.distdyn=new Int32Array(Kd),r.sane=1,r.back=-1,_a},Ql=e=>{if(ya(e))return dr;const r=e.state;return r.wsize=0,r.whave=0,r.wnext=0,Kl(e)},ef=(e,r)=>{let t;if(ya(e))return dr;const n=e.state;return r<0?(t=0,r=-r):(t=(r>>4)+5,r<48&&(r&=15)),r&&(r<8||r>15)?dr:(n.window!==null&&n.wbits!==r&&(n.window=null),n.wrap=t,n.wbits=r,Ql(e))},tf=(e,r)=>{if(!e)return dr;const t=new t0;e.state=t,t.strm=e,t.window=null,t.mode=Ii;const n=ef(e,r);return n!==_a&&(e.state=null),n},r0=e=>tf(e,e0);let Ws=!0,eo,to;const n0=e=>{if(Ws){eo=new Int32Array(512),to=new Int32Array(32);let r=0;for(;r<144;)e.lens[r++]=8;for(;r<256;)e.lens[r++]=9;for(;r<280;)e.lens[r++]=7;for(;r<288;)e.lens[r++]=8;for(Ha(Gl,e.lens,0,288,eo,0,e.work,{bits:9}),r=0;r<32;)e.lens[r++]=5;Ha(Zl,e.lens,0,32,to,0,e.work,{bits:5}),Ws=!1}e.lencode=eo,e.lenbits=9,e.distcode=to,e.distbits=5},rf=(e,r,t,n)=>{let i;const l=e.state;return l.window===null&&(l.wsize=1<<l.wbits,l.wnext=0,l.whave=0,l.window=new Uint8Array(l.wsize)),n>=l.wsize?(l.window.set(r.subarray(t-l.wsize,t),0),l.wnext=0,l.whave=l.wsize):(i=l.wsize-l.wnext,i>n&&(i=n),l.window.set(r.subarray(t-n,t-n+i),l.wnext),n-=i,n?(l.window.set(r.subarray(t-n,t),0),l.wnext=n,l.whave=l.wsize):(l.wnext+=i,l.wnext===l.wsize&&(l.wnext=0),l.whave<l.wsize&&(l.whave+=i))),0},a0=(e,r)=>{let t,n,i,l,a,d,P,y,w,W,F,k,j,Y,K=0,ee,X,H,J,ce,he,re,le;const ie=new Uint8Array(4);let te,oe;const be=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ya(e)||!e.output||!e.input&&e.avail_in!==0)return dr;t=e.state,t.mode===dn&&(t.mode=Xi),a=e.next_out,i=e.output,P=e.avail_out,l=e.next_in,n=e.input,d=e.avail_in,y=t.hold,w=t.bits,W=d,F=P,le=_a;e:for(;;)switch(t.mode){case Ii:if(t.wrap===0){t.mode=Xi;break}for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.wrap&2&&y===35615){t.wbits===0&&(t.wbits=15),t.check=0,ie[0]=y&255,ie[1]=y>>>8&255,t.check=mt(t.check,ie,2,0),y=0,w=0,t.mode=ys;break}if(t.head&&(t.head.done=!1),!(t.wrap&1)||(((y&255)<<8)+(y>>8))%31){e.msg="incorrect header check",t.mode=Xe;break}if((y&15)!==_s){e.msg="unknown compression method",t.mode=Xe;break}if(y>>>=4,w-=4,re=(y&15)+8,t.wbits===0&&(t.wbits=re),re>15||re>t.wbits){e.msg="invalid window size",t.mode=Xe;break}t.dmax=1<<t.wbits,t.flags=0,e.adler=t.check=1,t.mode=y&512?$s:dn,y=0,w=0;break;case ys:for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.flags=y,(t.flags&255)!==_s){e.msg="unknown compression method",t.mode=Xe;break}if(t.flags&57344){e.msg="unknown header flags set",t.mode=Xe;break}t.head&&(t.head.text=y>>8&1),t.flags&512&&t.wrap&4&&(ie[0]=y&255,ie[1]=y>>>8&255,t.check=mt(t.check,ie,2,0)),y=0,w=0,t.mode=ms;case ms:for(;w<32;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.head&&(t.head.time=y),t.flags&512&&t.wrap&4&&(ie[0]=y&255,ie[1]=y>>>8&255,ie[2]=y>>>16&255,ie[3]=y>>>24&255,t.check=mt(t.check,ie,4,0)),y=0,w=0,t.mode=bs;case bs:for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.head&&(t.head.xflags=y&255,t.head.os=y>>8),t.flags&512&&t.wrap&4&&(ie[0]=y&255,ie[1]=y>>>8&255,t.check=mt(t.check,ie,2,0)),y=0,w=0,t.mode=ws;case ws:if(t.flags&1024){for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.length=y,t.head&&(t.head.extra_len=y),t.flags&512&&t.wrap&4&&(ie[0]=y&255,ie[1]=y>>>8&255,t.check=mt(t.check,ie,2,0)),y=0,w=0}else t.head&&(t.head.extra=null);t.mode=Ps;case Ps:if(t.flags&1024&&(k=t.length,k>d&&(k=d),k&&(t.head&&(re=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(n.subarray(l,l+k),re)),t.flags&512&&t.wrap&4&&(t.check=mt(t.check,n,k,l)),d-=k,l+=k,t.length-=k),t.length))break e;t.length=0,t.mode=xs;case xs:if(t.flags&2048){if(d===0)break e;k=0;do re=n[l+k++],t.head&&re&&t.length<65536&&(t.head.name+=String.fromCharCode(re));while(re&&k<d);if(t.flags&512&&t.wrap&4&&(t.check=mt(t.check,n,k,l)),d-=k,l+=k,re)break e}else t.head&&(t.head.name=null);t.length=0,t.mode=Es;case Es:if(t.flags&4096){if(d===0)break e;k=0;do re=n[l+k++],t.head&&re&&t.length<65536&&(t.head.comment+=String.fromCharCode(re));while(re&&k<d);if(t.flags&512&&t.wrap&4&&(t.check=mt(t.check,n,k,l)),d-=k,l+=k,re)break e}else t.head&&(t.head.comment=null);t.mode=Ts;case Ts:if(t.flags&512){for(;w<16;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.wrap&4&&y!==(t.check&65535)){e.msg="header crc mismatch",t.mode=Xe;break}y=0,w=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),e.adler=t.check=0,t.mode=dn;break;case $s:for(;w<32;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}e.adler=t.check=Ns(y),y=0,w=0,t.mode=Ti;case Ti:if(t.havedict===0)return e.next_out=a,e.avail_out=P,e.next_in=l,e.avail_in=d,t.hold=y,t.bits=w,Jd;e.adler=t.check=1,t.mode=dn;case dn:if(r===Zd||r===hi)break e;case Xi:if(t.last){y>>>=w&7,w-=w&7,t.mode=Qi;break}for(;w<3;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}switch(t.last=y&1,y>>>=1,w-=1,y&3){case 0:t.mode=As;break;case 1:if(n0(t),t.mode=pi,r===hi){y>>>=2,w-=2;break e}break;case 2:t.mode=Ss;break;case 3:e.msg="invalid block type",t.mode=Xe}y>>>=2,w-=2;break;case As:for(y>>>=w&7,w-=w&7;w<32;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if((y&65535)!==(y>>>16^65535)){e.msg="invalid stored block lengths",t.mode=Xe;break}if(t.length=y&65535,y=0,w=0,t.mode=Ki,r===hi)break e;case Ki:t.mode=Cs;case Cs:if(k=t.length,k){if(k>d&&(k=d),k>P&&(k=P),k===0)break e;i.set(n.subarray(l,l+k),a),d-=k,l+=k,P-=k,a+=k,t.length-=k;break}t.mode=dn;break;case Ss:for(;w<14;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.nlen=(y&31)+257,y>>>=5,w-=5,t.ndist=(y&31)+1,y>>>=5,w-=5,t.ncode=(y&15)+4,y>>>=4,w-=4,t.nlen>286||t.ndist>30){e.msg="too many length or distance symbols",t.mode=Xe;break}t.have=0,t.mode=Ds;case Ds:for(;t.have<t.ncode;){for(;w<3;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.lens[be[t.have++]]=y&7,y>>>=3,w-=3}for(;t.have<19;)t.lens[be[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,te={bits:t.lenbits},le=Ha(Gd,t.lens,0,19,t.lencode,0,t.work,te),t.lenbits=te.bits,le){e.msg="invalid code lengths set",t.mode=Xe;break}t.have=0,t.mode=Rs;case Rs:for(;t.have<t.nlen+t.ndist;){for(;K=t.lencode[y&(1<<t.lenbits)-1],ee=K>>>24,X=K>>>16&255,H=K&65535,!(ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(H<16)y>>>=ee,w-=ee,t.lens[t.have++]=H;else{if(H===16){for(oe=ee+2;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(y>>>=ee,w-=ee,t.have===0){e.msg="invalid bit length repeat",t.mode=Xe;break}re=t.lens[t.have-1],k=3+(y&3),y>>>=2,w-=2}else if(H===17){for(oe=ee+3;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}y>>>=ee,w-=ee,re=0,k=3+(y&7),y>>>=3,w-=3}else{for(oe=ee+7;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}y>>>=ee,w-=ee,re=0,k=11+(y&127),y>>>=7,w-=7}if(t.have+k>t.nlen+t.ndist){e.msg="invalid bit length repeat",t.mode=Xe;break}for(;k--;)t.lens[t.have++]=re}}if(t.mode===Xe)break;if(t.lens[256]===0){e.msg="invalid code -- missing end-of-block",t.mode=Xe;break}if(t.lenbits=9,te={bits:t.lenbits},le=Ha(Gl,t.lens,0,t.nlen,t.lencode,0,t.work,te),t.lenbits=te.bits,le){e.msg="invalid literal/lengths set",t.mode=Xe;break}if(t.distbits=6,t.distcode=t.distdyn,te={bits:t.distbits},le=Ha(Zl,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,te),t.distbits=te.bits,le){e.msg="invalid distances set",t.mode=Xe;break}if(t.mode=pi,r===hi)break e;case pi:t.mode=vi;case vi:if(d>=6&&P>=258){e.next_out=a,e.avail_out=P,e.next_in=l,e.avail_in=d,t.hold=y,t.bits=w,Wd(e,F),a=e.next_out,i=e.output,P=e.avail_out,l=e.next_in,n=e.input,d=e.avail_in,y=t.hold,w=t.bits,t.mode===dn&&(t.back=-1);break}for(t.back=0;K=t.lencode[y&(1<<t.lenbits)-1],ee=K>>>24,X=K>>>16&255,H=K&65535,!(ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(X&&(X&240)===0){for(J=ee,ce=X,he=H;K=t.lencode[he+((y&(1<<J+ce)-1)>>J)],ee=K>>>24,X=K>>>16&255,H=K&65535,!(J+ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}y>>>=J,w-=J,t.back+=J}if(y>>>=ee,w-=ee,t.back+=ee,t.length=H,X===0){t.mode=Us;break}if(X&32){t.back=-1,t.mode=dn;break}if(X&64){e.msg="invalid literal/length code",t.mode=Xe;break}t.extra=X&15,t.mode=Is;case Is:if(t.extra){for(oe=t.extra;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.length+=y&(1<<t.extra)-1,y>>>=t.extra,w-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=Os;case Os:for(;K=t.distcode[y&(1<<t.distbits)-1],ee=K>>>24,X=K>>>16&255,H=K&65535,!(ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if((X&240)===0){for(J=ee,ce=X,he=H;K=t.distcode[he+((y&(1<<J+ce)-1)>>J)],ee=K>>>24,X=K>>>16&255,H=K&65535,!(J+ee<=w);){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}y>>>=J,w-=J,t.back+=J}if(y>>>=ee,w-=ee,t.back+=ee,X&64){e.msg="invalid distance code",t.mode=Xe;break}t.offset=H,t.extra=X&15,t.mode=ks;case ks:if(t.extra){for(oe=t.extra;w<oe;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}t.offset+=y&(1<<t.extra)-1,y>>>=t.extra,w-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){e.msg="invalid distance too far back",t.mode=Xe;break}t.mode=Ls;case Ls:if(P===0)break e;if(k=F-P,t.offset>k){if(k=t.offset-k,k>t.whave&&t.sane){e.msg="invalid distance too far back",t.mode=Xe;break}k>t.wnext?(k-=t.wnext,j=t.wsize-k):j=t.wnext-k,k>t.length&&(k=t.length),Y=t.window}else Y=i,j=a-t.offset,k=t.length;k>P&&(k=P),P-=k,t.length-=k;do i[a++]=Y[j++];while(--k);t.length===0&&(t.mode=vi);break;case Us:if(P===0)break e;i[a++]=t.length,P--,t.mode=vi;break;case Qi:if(t.wrap){for(;w<32;){if(d===0)break e;d--,y|=n[l++]<<w,w+=8}if(F-=P,e.total_out+=F,t.total+=F,t.wrap&4&&F&&(e.adler=t.check=t.flags?mt(t.check,i,F,a-F):Ya(t.check,i,F,a-F)),F=P,t.wrap&4&&(t.flags?y:Ns(y))!==t.check){e.msg="incorrect data check",t.mode=Xe;break}y=0,w=0}t.mode=Ms;case Ms:if(t.wrap&&t.flags){for(;w<32;){if(d===0)break e;d--,y+=n[l++]<<w,w+=8}if(t.wrap&4&&y!==(t.total&4294967295)){e.msg="incorrect length check",t.mode=Xe;break}y=0,w=0}t.mode=Fs;case Fs:le=qd;break e;case Xe:le=ql;break e;case Yl:return Jl;case Xl:default:return dr}return e.next_out=a,e.avail_out=P,e.next_in=l,e.avail_in=d,t.hold=y,t.bits=w,(t.wsize||F!==e.avail_out&&t.mode<Xe&&(t.mode<Qi||r!==gs))&&rf(e,e.output,e.next_out,F-e.avail_out),W-=e.avail_in,F-=e.avail_out,e.total_in+=W,e.total_out+=F,t.total+=F,t.wrap&4&&F&&(e.adler=t.check=t.flags?mt(t.check,i,F,e.next_out-F):Ya(t.check,i,F,e.next_out-F)),e.data_type=t.bits+(t.last?64:0)+(t.mode===dn?128:0)+(t.mode===pi||t.mode===Ki?256:0),(W===0&&F===0||r===gs)&&le===_a&&(le=Yd),le},i0=e=>{if(ya(e))return dr;let r=e.state;return r.window&&(r.window=null),e.state=null,_a},o0=(e,r)=>{if(ya(e))return dr;const t=e.state;return(t.wrap&2)===0?dr:(t.head=r,r.done=!1,_a)},s0=(e,r)=>{const t=r.length;let n,i,l;return ya(e)||(n=e.state,n.wrap!==0&&n.mode!==Ti)?dr:n.mode===Ti&&(i=1,i=Ya(i,r,t,0),i!==n.check)?ql:(l=rf(e,r,t,t),l?(n.mode=Yl,Jl):(n.havedict=1,_a))};var l0=Ql,f0=ef,c0=Kl,u0=r0,d0=tf,h0=a0,p0=i0,v0=o0,g0=s0,_0="pako inflate (from Nodeca project)",pn={inflateReset:l0,inflateReset2:f0,inflateResetKeep:c0,inflateInit:u0,inflateInit2:d0,inflate:h0,inflateEnd:p0,inflateGetHeader:v0,inflateSetDictionary:g0,inflateInfo:_0};function y0(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var m0=y0;const nf=Object.prototype.toString,{Z_NO_FLUSH:b0,Z_FINISH:w0,Z_OK:Qa,Z_STREAM_END:ro,Z_NEED_DICT:no,Z_STREAM_ERROR:P0,Z_DATA_ERROR:Bs,Z_MEM_ERROR:x0}=ni;function oi(e){this.options=Ri.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});const r=this.options;r.raw&&r.windowBits>=0&&r.windowBits<16&&(r.windowBits=-r.windowBits,r.windowBits===0&&(r.windowBits=-15)),r.windowBits>=0&&r.windowBits<16&&!(e&&e.windowBits)&&(r.windowBits+=32),r.windowBits>15&&r.windowBits<48&&(r.windowBits&15)===0&&(r.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zl,this.strm.avail_out=0;let t=pn.inflateInit2(this.strm,r.windowBits);if(t!==Qa)throw new Error(va[t]);if(this.header=new m0,pn.inflateGetHeader(this.strm,this.header),r.dictionary&&(typeof r.dictionary=="string"?r.dictionary=Ka.string2buf(r.dictionary):nf.call(r.dictionary)==="[object ArrayBuffer]"&&(r.dictionary=new Uint8Array(r.dictionary)),r.raw&&(t=pn.inflateSetDictionary(this.strm,r.dictionary),t!==Qa)))throw new Error(va[t])}oi.prototype.push=function(e,r){const t=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let l,a,d;if(this.ended)return!1;for(r===~~r?a=r:a=r===!0?w0:b0,nf.call(e)==="[object ArrayBuffer]"?t.input=new Uint8Array(e):t.input=e,t.next_in=0,t.avail_in=t.input.length;;){for(t.avail_out===0&&(t.output=new Uint8Array(n),t.next_out=0,t.avail_out=n),l=pn.inflate(t,a),l===no&&i&&(l=pn.inflateSetDictionary(t,i),l===Qa?l=pn.inflate(t,a):l===Bs&&(l=no));t.avail_in>0&&l===ro&&t.state.wrap>0&&e[t.next_in]!==0;)pn.inflateReset(t),l=pn.inflate(t,a);switch(l){case P0:case Bs:case no:case x0:return this.onEnd(l),this.ended=!0,!1}if(d=t.avail_out,t.next_out&&(t.avail_out===0||l===ro))if(this.options.to==="string"){let P=Ka.utf8border(t.output,t.next_out),y=t.next_out-P,w=Ka.buf2string(t.output,P);t.next_out=y,t.avail_out=n-y,y&&t.output.set(t.output.subarray(P,P+y),0),this.onData(w)}else this.onData(t.output.length===t.next_out?t.output:t.output.subarray(0,t.next_out));if(!(l===Qa&&d===0)){if(l===ro)return l=pn.inflateEnd(this.strm),this.onEnd(l),this.ended=!0,!0;if(t.avail_in===0)break}}return!0};oi.prototype.onData=function(e){this.chunks.push(e)};oi.prototype.onEnd=function(e){e===Qa&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Ri.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Wo(e,r){const t=new oi(r);if(t.push(e),t.err)throw t.msg||va[t.err];return t.result}function E0(e,r){return r=r||{},r.raw=!0,Wo(e,r)}var T0=oi,$0=Wo,A0=E0,C0=Wo,S0={Inflate:T0,inflate:$0,inflateRaw:A0,ungzip:C0};const{Deflate:D0,deflate:R0,deflateRaw:I0,gzip:O0}=Fd,{Inflate:k0,inflate:L0,inflateRaw:U0,ungzip:M0}=S0;var F0=D0,N0=R0,W0=I0,B0=O0,j0=k0,H0=L0,z0=U0,V0=M0,G0=ni,Z0={Deflate:F0,deflate:N0,deflateRaw:W0,gzip:B0,Inflate:j0,inflate:H0,inflateRaw:z0,ungzip:V0,constants:G0};function q0(e,r){const t=e.slice(r),n=Z0.inflateRaw(t),i=new Uint8Array(n.length+r);return i.set(e.slice(0,r),0),i.set(n,r),i}const J0={inflater:q0};function xo(e,r){return ar.parseDicom(e,{...J0,...r})}function Y0(e){const r=e.elements.x7fe00010.fragments,t=e.byteArray.length;for(const n of r){const{position:i,length:l}=n;l>t-i&&(console.log(`Truncated fragment, changing fragment length from ${n.length} to ${t-i}`),n.length=t-i)}return e}function X0(e){let r=xo(e,{untilTag:"x7fe00010"});r.elements.x7fe00010||console.warn("Pixel data not found!");let t;try{t=xo(e)}catch(n){console.error(n),console.log("pixel data dataset:",n.dataSet),t=n.dataSet}return r.elements.x7fe00010=t.elements.x7fe00010,r=Y0(r),r}async function af(e,r,t){const n=X0(e),{uri:i,imageId:l,fileTotalLength:a}=t;return n.fetchMore=async function(d){const P=Object.assign({uri:i,imageId:l,fetchedLength:e.length,lengthToFetch:a-e.length},d),{fetchedLength:y,lengthToFetch:w}=P,{arrayBuffer:W}=await r(i,l,{byteRange:`${y}-${y+w}`}),F=new Uint8Array(W),k=new Uint8Array(n.byteArray.length+F.length);return k.set(n.byteArray),k.set(F,n.byteArray.length),af(k,r,t)},n}function K0(e,r){if(!e)return;const{NumberOfFrames:t,PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:i}=sf(e);if(n||t>1){const{shared:l,perFrame:a}=of(n,i,r);return{NumberOfFrames:t,PerFrameFunctionalInformation:a,SharedFunctionalInformation:l}}return{NumberOfFrames:t}}function of(e,r,t){const n={};(r?Object.values(r.items[0].dataSet.elements):[]).map(l=>n[l.tag]=l);const i={};return(e?Object.values(e.items[t-1].dataSet.elements):[]).map(l=>i[l.tag]=l),{shared:n,perFrame:i}}function sf(e){if(!e)return;const{elements:r,...t}=e,{x52009230:n,x52009229:i,...l}=r;return{NumberOfFrames:e.intString("x00280008"),PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:i,otherElements:l,otherAttributtes:t}}function Q0(e,r){if(!r)return;const{NumberOfFrames:t,PerFrameFunctionalGroupsSequence:n,SharedFunctionalGroupsSequence:i,otherElements:l}=sf(r);if(n||t>1){const{shared:a,perFrame:d}=of(n,i,e),P={elements:{...l,...a,...d}},y=Object.create(r);return Object.assign(y,P)}return r}let pt={};const eh=()=>{pt={}};function Bo(e){if(pt[e])return pt[e]}function th(e){const r=Bo(e);return lf(r)}function lf(e){if(!e)return!1;const r=e.intString("x00280008");return r&&r>1}function rh(e){const r=e.match(/[?&]frame=/);return r?r.index:-1}function nh(e){const r=rh(e),t=r===-1?e:e.slice(0,r),n=parseInt(e.slice(r+7),10)||1;let i;return pt[t]?i=pt[t].dataSet:i=void 0,{dataSet:i,frame:n}}function ah(e){const r=[],t=Bo(e);if(lf(t)){const n=t.intString("x00280008");for(let i=1;i<=n;i++)r.push(`${e}&frame=${i}`)}else r.push(e);return r}const ff={_get:Bo,generateMultiframeWADOURIs:ah,retrieveMultiframeDataset:nh,isMultiframeDataset:th};let Sa=0,ua={};function ih(e){return pt[e]!==void 0}function oh(e){let r;if(/[?&]frame=/.test(e)){const{frame:t,dataSet:n}=ff.retrieveMultiframeDataset(e);r=Q0(t,n)}else pt[e]&&(r=pt[e].dataSet);return r}function sh(e,r){const t=pt[e];if(!t){console.error(`No loaded dataSet for uri ${e}`);return}Sa-=t.dataSet.byteArray.length,t.dataSet=r,Sa+=r.byteArray.length,Pa(xa,"datasetscachechanged",{uri:e,action:"updated",cacheInfo:Oi()})}function lh(e,r=Si,t){if(pt[e])return new Promise(l=>{pt[e].cacheCount++,l(pt[e].dataSet)});if(ua[e])return ua[e].cacheCount++,ua[e];const n=r(e,t),i=new Promise((l,a)=>{n.then(async function(d){const P={isPartialContent:!1,fileTotalLength:null};if(!(d instanceof ArrayBuffer)){if(!d.arrayBuffer)return a(new Error("If not returning ArrayBuffer, must return object with `arrayBuffer` parameter"));P.isPartialContent=d.flags.isPartialContent,P.fileTotalLength=d.flags.fileTotalLength,d=d.arrayBuffer}const y=new Uint8Array(d);let w;try{P.isPartialContent?w=await af(y,r,{uri:e,imageId:t,fileTotalLength:P.fileTotalLength}):w=xo(y)}catch(W){return a(W)}pt[e]={dataSet:w,cacheCount:i.cacheCount},Sa+=w.byteArray.length,l(w),Pa(xa,"datasetscachechanged",{uri:e,action:"loaded",cacheInfo:Oi()})},a).then(()=>{delete ua[e]},()=>{delete ua[e]})});return i.cacheCount=1,ua[e]=i,i}function fh(e){pt[e]&&(pt[e].cacheCount--,pt[e].cacheCount===0&&(Sa-=pt[e].dataSet.byteArray.length,delete pt[e],Pa(xa,"datasetscachechanged",{uri:e,action:"unloaded",cacheInfo:Oi()})))}function Oi(){return{cacheSizeInBytes:Sa,numberOfDataSetsCached:Object.keys(pt).length}}function ch(){eh(),ua={},Sa=0}const si={isLoaded:ih,load:lh,unload:fh,getInfo:Oi,purge:ch,get:oh,update:sh};function uh(e){const r=[];for(let t=0;t<=30;t+=2){let n=`x60${t.toString(16)}`;n.length===4&&(n=`x600${t.toString(16)}`);const i=e.elements[`${n}3000`];if(!i)continue;const l=[];for(let a=0;a<i.length;a++)for(let d=0;d<8;d++){const P=e.byteArray[i.dataOffset+a];l[a*8+d]=P>>d&1}r.push({rows:e.uint16(`${n}0010`),columns:e.uint16(`${n}0011`),type:e.string(`${n}0040`),x:e.int16(`${n}0050`,1)-1,y:e.int16(`${n}0050`,0)-1,pixelData:l,description:e.string(`${n}0022`),label:e.string(`${n}1500`),roiArea:e.string(`${n}1301`),roiMean:e.string(`${n}1302`),roiStandardDeviation:e.string(`${n}1303`)})}return{overlays:r}}function ka(e){return e==="RECON TOMO"||e==="RECON GATED TOMO"}function jo(e,r){const t=e.string("x00080008");if(t){const n=t.split("\\");if(n.length>r)return n[r]}}function dh(e){let r;if(e.string("x00080060")?.includes("NM")){const n=jo(e,2);n&&ka(n)&&e.elements.x00540022&&(r=Ar(e.elements.x00540022.items[0].dataSet,"x00200037",6))}return r}function hh(e){let r;if(e.string("x00080060")?.includes("NM")){const n=jo(e,2);n&&ka(n)&&e.elements.x00540022&&(r=Ar(e.elements.x00540022.items[0].dataSet,"x00200032",3))}return r}function js(e){let r=Ar(e,"x00200037",6);return!r&&e.elements.x00209116?.items?.[0]?.dataSet&&(r=Ar(e.elements.x00209116.items[0].dataSet,"x00200037",6)),r||(r=dh(e)),r}function Hs(e){let r=Ar(e,"x00200032",3);return!r&&e.elements.x00209113?.items?.[0]?.dataSet&&(r=Ar(e.elements.x00209113.items[0].dataSet,"x00200032",3)),r||(r=hh(e)),r}function zs(e){let r=Ar(e,"x00280030",2);return!r&&e.elements.x00289110?.items?.[0]?.dataSet&&(r=Ar(e.elements.x00289110.items[0].dataSet,"x00280030",2)),r}function Vs(e){let r;return e.elements.x00180050?r=e.floatString("x00180050"):e.elements.x00289110&&e.elements.x00289110.items.length&&e.elements.x00289110.items[0].dataSet.elements.x00180050&&(r=e.elements.x00289110.items[0].dataSet.floatString("x00180050")),r}const cf=["multiframeModule","generalSeriesModule","patientStudyModule","imagePixelModule","modalityLutModule","voiLutModule","sopCommonModule","petIsotopeModule","overlayPlaneModule","transferSyntax","petSeriesModule","petImageModule"];function Gs(e){const r=e.elements.x00186011;return!r||!r.items?[]:r.items.map(n=>{const i=n.dataSet.double("x0018602c"),l=n.dataSet.double("x0018602e"),a=n.dataSet.uint16("x00186024"),d=n.dataSet.uint16("x00186026"),P=n.dataSet.uint16("x0018601a"),y=n.dataSet.uint16("x0018601e"),w=n.dataSet.uint16("x00186018"),W=n.dataSet.uint16("x0018601c"),F=n.dataSet.int32("x00186020")||null,k=n.dataSet.int32("x00186022")||null,j=n.dataSet.uint16("x0018602a"),Y=n.dataSet.uint16("x00186028"),K=n.dataSet.uint16("x00186012"),ee=n.dataSet.uint16("x00186014"),X=n.dataSet.uint16("x00186016"),H=n.dataSet.uint16("x00186030");return{regionLocationMinY0:P,regionLocationMaxY1:y,regionLocationMinX0:w,regionLocationMaxX1:W,referencePixelX0:F,referencePixelY0:k,physicalDeltaX:i,physicalDeltaY:l,physicalUnitsXDirection:a,physicalUnitsYDirection:d,referencePhysicalPixelValueY:j,referencePhysicalPixelValueX:Y,regionSpatialFormat:K,regionDataType:ee,regionFlags:X,transducerFrequency:H}})}function uf(e,r){const{MetadataModules:t}=_n;if(Array.isArray(r))return;const n=Da(r);if(e===t.MULTIFRAME){const a=ff.retrieveMultiframeDataset(n.url);return a.dataSet?K0(a.dataSet,a.frame):void 0}let i=n.url;n.frame&&(i=`${i}&frame=${n.frame}`);const l=si.get(i);if(l)return df(e,r,l)}function df(e,r,t){const{MetadataModules:n}=_n;if(e===n.GENERAL_STUDY)return{studyDescription:t.string("x00081030"),studyDate:ar.parseDA(t.string("x00080020")),studyTime:ar.parseTM(t.string("x00080030")||""),accessionNumber:t.string("x00080050")};if(e===n.GENERAL_SERIES)return{modality:t.string("x00080060"),seriesInstanceUID:t.string("x0020000e"),seriesDescription:t.string("x0008103e"),seriesNumber:t.intString("x00200011"),studyInstanceUID:t.string("x0020000d"),seriesDate:ar.parseDA(t.string("x00080021")),seriesTime:ar.parseTM(t.string("x00080031")||""),acquisitionDate:ar.parseDA(t.string("x00080022")),acquisitionTime:ar.parseTM(t.string("x00080032")||"")};if(e===n.GENERAL_IMAGE)return{sopInstanceUID:t.string("x00080018"),instanceNumber:t.intString("x00200013"),lossyImageCompression:t.string("x00282110"),lossyImageCompressionRatio:t.floatString("x00282112"),lossyImageCompressionMethod:t.string("x00282114")};if(e===n.PATIENT)return{patientID:t.string("x00100020"),patientName:t.string("x00100010")};if(e===n.PATIENT_STUDY)return{patientAge:t.intString("x00101010"),patientSize:t.floatString("x00101020"),patientSex:t.string("x00100040"),patientWeight:t.floatString("x00101030")};if(e===n.NM_MULTIFRAME_GEOMETRY){const i=t.string("x00080060"),l=jo(t,2);return{modality:i,imageType:t.string("x00080008"),imageSubType:l,imageOrientationPatient:js(t),imagePositionPatient:Hs(t),sliceThickness:Vs(t),pixelSpacing:zs(t),numberOfFrames:t.uint16("x00280008"),isNMReconstructable:ka(l)&&i.includes("NM")}}if(e===n.IMAGE_PLANE){const i=js(t),l=Hs(t),a=zs(t),d=Vs(t);let P=null,y=null,w=!1;a?(y=a[0],P=a[1]):(w=!0,y=1,P=1);let W=null,F=null;return i&&(W=[parseFloat(i[0]),parseFloat(i[1]),parseFloat(i[2])],F=[parseFloat(i[3]),parseFloat(i[4]),parseFloat(i[5])]),{frameOfReferenceUID:t.string("x00200052"),rows:t.uint16("x00280010"),columns:t.uint16("x00280011"),imageOrientationPatient:i,rowCosines:W,columnCosines:F,imagePositionPatient:l,sliceThickness:d,sliceLocation:t.floatString("x00201041"),pixelSpacing:a,rowPixelSpacing:y,columnPixelSpacing:P,usingDefaultValues:w}}if(e===n.CINE)return{frameTime:t.floatString("x00181063")};if(e===n.IMAGE_PIXEL)return ml(t);if(e===n.VOI_LUT){const i=bl(t);return{windowCenter:Ar(t,"x00281050",1),windowWidth:Ar(t,"x00281051",1),voiLUTSequence:co(i,t.elements.x00283010),voiLUTFunction:t.string("x00281056")}}if(e===n.MODALITY_LUT)return{rescaleIntercept:t.floatString("x00281052"),rescaleSlope:t.floatString("x00281053"),rescaleType:t.string("x00281054"),modalityLUTSequence:co(t.uint16("x00280103"),t.elements.x00283000)};if(e===n.SOP_COMMON)return{sopClassUID:t.string("x00080016"),sopInstanceUID:t.string("x00080018")};if(e===n.PET_ISOTOPE){const i=t.elements.x00540016;if(i===void 0)return;const l=i.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:ar.parseTM(l.string("x00181072")||""),radionuclideTotalDose:l.floatString("x00181074"),radionuclideHalfLife:l.floatString("x00181075")}}}if(e===n.OVERLAY_PLANE)return uh(t);if(e==="transferSyntax"){let i;try{i=t.string("x00020010")}catch{}return{transferSyntaxUID:i}}if(e===n.PET_SERIES)return{correctedImage:t.string("x00280051"),units:t.string("x00541001"),decayCorrection:t.string("x00541102")};if(e===n.PET_IMAGE)return{frameReferenceTime:t.floatString(t.string("x00541300")||""),actualFrameDuration:t.intString(t.string("x00181242"))};if(e===n.ULTRASOUND_ENHANCED_REGION)return Gs(t);if(e===n.CALIBRATION&&t.string("x00080060")==="US")return{sequenceOfUltrasoundRegions:Gs(t)};if(e==="instance")return ll(r,cf)}let ki=[];function ph(e){return`dicomfile:${ki.push(e)-1}`}function vh(e){return ki[e]}function gh(e){ki[e]=void 0}function _h(){ki=[]}const hf={add:ph,get:vh,remove:gh,purge:_h};function yh(e){const r=e.intString("x00280008"),t=e.elements.x7fe00010;return r!==t.fragments.length}function pf(e,r){if(e.elements.x7fe00010&&e.elements.x7fe00010.basicOffsetTable.length)return ar.readEncapsulatedImageFrame(e,e.elements.x7fe00010,r);if(yh(e)){const y=ar.createJPEGBasicOffsetTable(e,e.elements.x7fe00010);return ar.readEncapsulatedImageFrame(e,e.elements.x7fe00010,r,y)}const t=e.elements.x7fe00010.fragments,n=new ar.ByteStream(e.byteArrayParser,e.byteArray,e.elements.x7fe00010.dataOffset),i=ar.readSequenceItem(n);if(i.tag!=="xfffee000")throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";n.seek(i.length);const l=n.position;if(r+1>t.length)throw"dicomParser.readEncapsulatedPixelData: frame exceeds number of fragments";const d=l+t[r].offset+8,P=t[r].length;return new Uint8Array(n.byteArray.buffer.slice(n.byteArray.byteOffset+d,n.byteArray.byteOffset+d+P))}function mh(e,r){return e&1<<r}function vf(e,r,t){const n=new Uint8Array(t);for(let i=0;i<t;i++){const l=Math.floor(i/8),a=e[l+r],d=i%8;n[i]=mh(a,d)?1:0}return n}function gf(e,r){const t=e.elements.x7fe00010||e.elements.x7fe00008,n=e.uint16("x00280100"),i=e.uint16("x00280010"),l=e.uint16("x00280011");let a=e.uint16("x00280002");e.string("x00280004")==="YBR_FULL_422"&&(a=2,console.warn(`Using SamplesPerPixel of 2 for YBR_FULL_422 photometric interpretation.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:Antonio;src:url(./antonio-latin-400-normal-CZjzwNAN.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Antonio;src:url(./antonio-latin-700-normal-DSH-lEDG.woff2) format("woff2");font-weight:700;font-display:swap}html{font-size:22px;color:#fff}:root{--lfw: 168px;--bar-height: 28px;--left-frame-padding: .75rem;--elbow-radius: 100px;--elbow-inner: 60px;--elbow-inner-radius: 44px;--bar-spur: 8px;--bar-spur-lift: 22px;--bar-bite-radius: 8px;--panel-border: 8px solid #000}body{display:flex;flex-direction:row;margin:0;padding:10px 0 0 5px;background-color:#000;color:var(--daybreak);font-family:Antonio,Arial Narrow,Avenir Next Condensed,sans-serif;line-height:1.5}.wrap-all{display:flex;flex-direction:column;flex:1 1 auto;min-width:auto;min-height:auto;width:100%}.wrap{display:flex;flex:1 1 auto;width:100%;padding:0 15px 0 5px;overflow:hidden}#gap.wrap{margin-top:var(--left-frame-padding)}main{display:block;flex:1 1 auto;min-width:0;padding:60px 0 11px 50px}.left-frame{display:flex;flex-direction:column;justify-content:space-between;position:relative;flex:none;width:var(--lfw);background-color:var(--orange);color:#000;text-align:right;font-weight:700;line-height:1.2}.left-frame-top{display:flex;flex-direction:column;flex:none;width:var(--lfw);border-bottom-left-radius:var(--elbow-radius);background-color:var(--october-sunset);color:#000;text-align:right;font-weight:700;line-height:1.2}button[class^=panel-]{display:flex;justify-content:flex-end;width:var(--lfw);padding:var(--left-frame-padding);border:none;border-bottom:8px solid #000;color:#000;text-align:right;font-family:inherit;font-weight:700;font-size:inherit;line-height:1.2;cursor:pointer}button.panel-1{min-height:160px;flex-direction:column;justify-content:space-between;align-items:flex-end;overflow:hidden}button.panel-2{position:relative;flex:1 1 auto;border-bottom:0;border-bottom-left-radius:var(--elbow-radius)}button.panel-3{align-items:flex-end;border-top-left-radius:var(--elbow-radius)}button.panel-7{border-top:8px solid #000;border-bottom:0}button.panel-console,button.panel-lang{border-bottom:8px solid #000}.banner{min-width:0;min-height:0;padding-left:5px;padding-bottom:4.4px;color:var(--honey);text-align:right;text-transform:uppercase;line-height:1.1}.panel-1,.panel-4,.panel-spacer{background-color:var(--orange)}.panel-2,.panel-3,.panel-6{background-color:var(--october-sunset)}.panel-5,.panel-7,.panel-gather{background-color:var(--harvestgold)}.panel-spacer{width:var(--lfw);background-color:var(--orange);color:#000;text-align:right;font-weight:700;line-height:1.2}.hop{font-family:inherit;font-size:inherit;font-weight:700;line-height:1.2;text-align:right}h1{margin:0;font-size:4rem;font-weight:400;letter-spacing:.2em;line-height:1.2;text-align:right;text-transform:uppercase}.right-frame{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.right-frame-top{position:relative;display:flex;flex-direction:column;width:100%;min-width:0}.bar-panel{display:flex;width:100%}.data-cascade-button-group{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;min-width:0;min-height:0;padding-bottom:var(--left-frame-padding)}.first-bar-panel{position:relative;margin-top:2.5vh}.bar-1,.bar-2,.bar-3,.bar-4,.bar-5,.bar-6,.bar-7,.bar-8,.bar-9,.bar-10{height:var(--bar-height)}.bar-1,.bar-6{width:10%;background-color:var(--october-sunset);border-right:8px solid #000}.bar-2,.bar-7{width:12%;background-color:var(--orange);border-right:8px solid #000}.bar-3,.bar-8{width:17%;background-color:var(--honey);border-right:8px solid #000}.bar-5,.bar-10{width:5%;background-color:var(--october-sunset);border-left:8px solid #000}.bar-4,.bar-9{position:relative;width:56.0022%;background-color:var(--harvestgold);z-index:-1}.bar-4:before,.bar-9:before,.bar-4:after,.bar-9:after{content:"";position:absolute}.bar-4:before,.bar-9:before{right:60%;width:40%;height:var(--bar-spur);background-color:var(--october-sunset)}.bar-4:before{top:calc(-1 * var(--bar-spur-lift))}.bar-9:before{bottom:calc(-1 * var(--bar-spur-lift))}.bar-4:after,.bar-9:after{right:68%;width:32%;height:48%;background-color:#000;z-index:-1}.bar-4:after{top:52%;border-top-right-radius:var(--bar-bite-radius)}.bar-9:after{bottom:52%;border-bottom-right-radius:var(--bar-bite-radius)}.headtrim,.baseboard{position:fixed;left:0;right:0;height:10px;background-color:#000;z-index:999}.headtrim{top:0}.baseboard{bottom:0}*{box-sizing:border-box}button{margin:0;padding:0;font-family:inherit;font-size:inherit;font-weight:700;line-height:1.5;color:inherit}input,select,textarea{margin:0;padding:0;font-family:inherit;font-size:inherit;line-height:1.5;color:inherit}.argus-input-line input{font-weight:400}a{color:var(--honey);text-decoration:none;text-transform:uppercase;line-height:1.3}.banner a{line-height:1.1}.about-footer a{color:var(--october-sunset);text-transform:none}p{margin:0}label{line-height:1.5}:root{--face-label: "Antonio", sans-serif;--face-data: inherit;--lfw: 168px;--state-done: var(--daybreak);--state-running: var(--orange);--state-error: color-mix(in srgb, #f2402a 80%, var(--october-sunset));--mars: #f2402a}@font-face{font-family:MesloLGS NF;src:url(./MesloLGS-NF-Regular-DAUcZJjt.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:MesloLGS NF;src:url(./MesloLGS-NF-Bold-DbxbaV6p.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-400-normal-SafcrIr2.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-500-normal-BR1ody1F.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-600-normal-DVQm9bgb.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Chakra Petch;src:url(./chakra-petch-latin-700-normal-CnDBPjkL.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2");font-weight:500;font-display:swap}#status-strip{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:.8rem;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}#status-strip .readout{color:var(--honey)}#status-strip .readout:empty{display:none}#status-strip .lamp-online{color:#000}#status-strip .mismatch{color:#ff5f5f;font-weight:700}.lamp-online{background:#6f6;color:#000;padding:0 .5rem;border-radius:.6rem}.lamp-host{background:#ffaf00;color:#000;padding:0 .5rem;border-radius:.6rem}#status-strip .lamp-host{color:#000}.lamp-offline{background:var(--state-error);color:var(--butter);padding:0 .5rem;border-radius:.6rem}.wrap:not(#gap),.left-frame{transition:translate .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1)}body[data-zoom]{height:100dvh;overflow:hidden}body[data-zoom] .wrap:not(#gap){translate:0 calc(-1 * var(--zoom-header-height, 100vh));margin-bottom:calc(-1 * var(--zoom-header-height, 0px))}body[data-zoom] .left-frame,body[data-gutter=away] .left-frame{translate:calc(-100% - 20px) 0;margin-right:calc(-1 * var(--lfw))}#gutter-restore{display:none}body[data-gutter=away] #gutter-restore{display:block;position:fixed;left:0;top:20%;bottom:20%;width:12px;z-index:1000;border-radius:0 6px 6px 0;background-color:var(--october-sunset);cursor:pointer;animation:beckon 3.5s ease-in-out infinite}#gutter-restore:hover{animation:none;background-color:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}#drawer{transition:height .5s cubic-bezier(.22,1,.36,1)}#drawer.drawer-dragging{transition:none}body[data-zoom=console] #drawer{height:auto!important;flex:1 1 auto;min-height:0}body[data-zoom=console] main{display:none}body[data-zoom]:not([data-zoom=console]) #drawer{height:0!important}body[data-zoom] .pane-zoomed .files-panel{max-height:calc(100dvh - 7rem)}.lcars-bar-zoom{width:40px;height:28px;background-color:var(--butter);margin-left:.5rem;cursor:pointer}.lcars-bar-zoom:hover{filter:brightness(1.18)}body[data-zoom=console] #drawer .lcars-bar-zoom{background-color:var(--october-sunset)}.files-header-bar{margin:.2rem 0 .5rem}.pane-zoomed .files-header-bar .lcars-bar-zoom{background-color:var(--october-sunset)}.lcars-bar-split{width:28px;height:28px;margin-left:.5rem;cursor:pointer;background:linear-gradient(to right,var(--pumpkin-pie) 45%,transparent 45%,transparent 55%,var(--pumpkin-pie) 55%)}.lcars-bar-split.lcars-split-row{background:linear-gradient(to bottom,var(--pumpkin-pie) 45%,transparent 45%,transparent 55%,var(--pumpkin-pie) 55%)}.lcars-bar-split:hover{filter:brightness(1.4);box-shadow:0 0 10px var(--pumpkin-pie)}.pane-handle{cursor:pointer}.pane-handle:hover .lcars-bar-end{filter:brightness(1.25)}.pane-drawer{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.35rem .6rem;margin:-.3rem 0 .5rem;background-color:#00000059;border-left:6px solid var(--pumpkin-pie);border-radius:0 12px 12px 0}.pane-drawer[hidden]{display:none}.pane-drawer button:focus{outline:2px solid var(--butter);outline-offset:2px;box-shadow:0 0 8px var(--butter)}.pane-drawer .drawer-children{display:inline-flex;gap:.4rem}.drawer-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.drawer-group+.drawer-group{margin-left:.7rem;padding-left:.7rem;border-left:2px solid color-mix(in srgb,var(--harvestgold) 35%,transparent)}.drawer-group:empty{display:none}.drawer-label{color:var(--harvestgold);font-family:var(--face-label);font-size:.7rem;letter-spacing:.14em;margin-right:.1rem}.drawer-structure .pacs-capsule{background-color:var(--harvestgold);color:#000}.drawer-structure .drawer-mode{background-color:#ffeecc38;color:var(--butter)}.drawer-structure .drawer-mode.drawer-mode-selected{background-color:var(--butter);color:#000;box-shadow:0 0 8px #fec9}.pane-drawer[data-mode=move] .drawer-split{background-color:var(--october-sunset)}.pane-drawer .drawer-split:disabled{opacity:.3;cursor:default}.drawer-binding .drawer-bind,.drawer-binding .drawer-cwdbind{background-color:#ffeecc38;color:var(--butter)}.drawer-binding .drawer-label-cwd{margin-left:.5rem}.drawer-binding .drawer-bind.drawer-bind-selected,.drawer-binding .drawer-cwdbind.drawer-bind-selected{background-color:var(--butter);color:#000;box-shadow:0 0 8px #fec9}.drawer-children .drawer-child{background-color:var(--orange);color:#000}.drawer-children .drawer-child.drawer-destructive{background-color:#d22;color:var(--butter)}.pane-zoomed .pane-drawer .drawer-zoom{background-color:var(--butter)}.pane-view .view-body{flex:1 1 0;min-height:0;overflow:auto}#pacs-workspace{--roster-gap: .8rem;--roster-pad: 6px;display:flex;flex-direction:column;height:100%;overflow:auto;scrollbar-gutter:stable;min-width:0;min-height:0}.workspace-pane{display:none}.layout-leaf>.workspace-pane{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.roster-order{position:sticky;top:0;z-index:2;background:#000}.files-panel>.roster-order{position:static;z-index:auto;flex:none}.files-body{--roster-gap: 0px;--roster-pad: 0px}.dag-roster{--roster-gap: .8rem;--roster-pad: 6px}.roster-caps{display:grid;grid-template-columns:var(--roster-cols);column-gap:var(--roster-gap);padding:0 calc(var(--roster-pad) + var(--elbow-clear, 0px)) 0 var(--roster-pad);margin:.2rem 0 .45rem;font-size:.8rem;clip-path:inset(0 calc(var(--roster-pad) + var(--elbow-clear, 0px)) 0 0)}.roster-cap{min-width:0;height:24px;margin-right:calc(3px - var(--roster-gap));border:none;border-radius:0;background-color:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em;text-align:left;padding:0 .15rem;cursor:pointer}.pane-dag .roster-cap[data-key=id],.files-body .roster-cap[data-key=size],.files-body .roster-cap[data-key=owner],.files-body .roster-cap[data-key=date]{text-align:right}.roster-cap:first-of-type{border-radius:9px 0 0 9px;padding-left:.7rem}.roster-cap:last-of-type{border-radius:0 9px 9px 0;padding-right:.7rem;margin-right:0}.roster-cap:nth-of-type(3n+2),.mode-frame .strategy-pill:nth-of-type(3n+2){background-color:var(--daybreak)}.roster-cap:nth-of-type(3n+3),.mode-frame .strategy-pill:nth-of-type(3n+3){background-color:var(--orange)}.roster-cap.roster-active{background-color:var(--butter)}.roster-filter[hidden]{display:none}.roster-filter{display:flex;align-items:stretch;height:26px;margin:0 0 .4rem;background:#000}.roster-filter-glyph{display:flex;align-items:center;padding:0 .8rem 0 1rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.12em;border-radius:13px 0 0 13px}.roster-filter-input{flex:1;background:transparent;border:none;border-bottom:2px solid var(--pumpkin-pie);outline:none;padding:0 .7rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.74rem}.pane-mode{margin-left:auto;font-family:Share Tech Mono,monospace;font-size:.6rem;letter-spacing:.06em;text-transform:none;opacity:.85}.pane-mode:empty{display:none}.pane-legend .legend-swatch{display:inline-block;width:.55rem;height:.55rem;margin:0 .25rem 0 0;border-radius:2px;vertical-align:-1px}.pane-state{margin-left:1rem;font-family:Share Tech Mono,monospace;font-size:.6rem;letter-spacing:.06em;text-transform:none;opacity:.85}.pane-state.state-live{color:var(--harvestgold);opacity:1}.pane-state.state-settled{opacity:.7}.pane-state.state-stale{color:color-mix(in srgb,var(--orange) 40%,#000);opacity:1;text-decoration:underline dotted}.pane-state.state-wait{color:var(--butter);opacity:1}.pane-state.state-note{color:var(--butter);opacity:1;font-style:italic}.left-frame-top .panel-1{flex-direction:column;align-items:flex-end;justify-content:space-between}.brand-mark{width:4.2rem;aspect-ratio:111 / 78;background-color:#000;mask:url(./ChRISlogo-color-t-i99soF.svg) no-repeat center / contain;-webkit-mask:url(./ChRISlogo-color-t-i99soF.svg) no-repeat center / contain}.left-frame>div:first-child{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column}.left-frame>div:first-child:before{content:"";position:absolute;top:0;left:0;width:var(--elbow-radius);height:var(--elbow-radius);background-color:#000}.right-frame-top:before,.right-frame-top:after,.right-frame:before,.right-frame:after{content:"";position:absolute;left:0;z-index:-1;width:var(--elbow-inner);height:var(--elbow-inner)}.right-frame-top:before,.right-frame-top:after{bottom:var(--bar-height)}.right-frame:before,.right-frame:after{top:var(--bar-height)}.right-frame-top:before{background-image:linear-gradient(to right top,var(--october-sunset) 50%,#000 50%)}.right-frame-top:after{background-color:#000;border-bottom-left-radius:var(--elbow-inner-radius)}.right-frame:before{background-image:linear-gradient(to right bottom,var(--october-sunset) 50%,#000 50%)}.right-frame:after{background-color:#000;border-top-left-radius:var(--elbow-inner-radius)}body[data-zoom] .right-frame:before,body[data-zoom] .right-frame:after,body[data-zoom] .right-frame-top:before,body[data-zoom] .right-frame-top:after,body[data-gutter=away] .right-frame:before,body[data-gutter=away] .right-frame:after,body[data-gutter=away] .right-frame-top:before,body[data-gutter=away] .right-frame-top:after{display:none}.left-frame button[class^=panel-],.left-frame .panel-spacer{position:relative}.left-frame .panel-3{height:auto;max-height:none;flex:3 1 0;min-height:3.5rem}.left-frame .panel-4{height:auto;min-height:3rem;flex:2 1 0}.left-frame .panel-5{height:auto;flex:4 1 0;min-height:3rem}.left-frame .panel-6{height:auto;flex:2 1 0;min-height:3rem}.left-frame .panel-spacer{height:auto;flex:1 1 0;min-height:.8rem}.left-frame .panel-7{height:clamp(3.5rem,12vh,30vh)}html,body{height:100dvh}body{overflow:hidden}.wrap-all{height:100%;display:flex;flex-direction:column}.wrap-all>.wrap{width:100%}.wrap:not(#gap){flex:none}#gap{flex:1;min-height:0}.right-frame{display:flex;flex-direction:column;min-height:0}.bar-panel{flex:none}main{flex:1;min-height:0;display:flex;flex-direction:column}#status-strip{flex:none}#layout-root{flex:1;min-height:0}#layout-root>.layout-split,#layout-root>.layout-leaf{height:100%}.layout-split{min-height:0}.layout-leaf{display:flex;min-height:0}#pacs-form{display:grid;grid-template-columns:var(--roster-cols);align-items:end;column-gap:var(--roster-gap);padding:0 calc(var(--roster-pad) + var(--elbow-clear, 0px)) 0 var(--roster-pad);margin:.3rem 0 .5rem;font-size:.8rem}#pacs-form label{display:flex;flex-direction:column;gap:.15rem;min-width:0;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}#pacs-form .pacs-form-gutter,#pacs-form .pacs-form-blank{min-width:0}#pacs-form #pacs-run{min-width:0;justify-self:stretch}#pacs-form input{min-width:0;width:100%}#pacs-form input{background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.8rem;padding:.15rem .5rem;outline:none}#pacs-form input:focus,#pacs-command:focus{border-color:var(--harvestgold);box-shadow:0 0 6px #fa46}#pacs-commandline{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem}#pacs-command{flex:1 1 10rem;min-width:10rem;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.pacs-capsule{border:none;border-radius:.8rem;padding:.1rem .9rem;background-color:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.1em;cursor:pointer}.pacs-capsule-off{background-color:color-mix(in srgb,var(--harvestgold) 28%,transparent);color:var(--honey)}.pacs-capsule:hover{filter:brightness(1.3);box-shadow:0 0 8px var(--harvestgold)}.pacs-capsule:active{background-color:color-mix(in srgb,var(--harvestgold) 45%,#000);color:var(--butter);filter:none;box-shadow:none}.pacs-capsule:disabled{opacity:.35;cursor:default}.pacs-provenance{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right;padding-right:.6rem;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}.pacs-capsule.pacs-capsule-requery{background-color:var(--october-sunset);color:#000}.pacs-capsule.pacs-capsule-requery:hover{box-shadow:0 0 8px var(--october-sunset)}.pacs-listing{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);margin-bottom:.6rem}#pacs-results{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding-top:calc(var(--rule-h) + .3rem)}#pacs-results>.roster-order{position:static;z-index:auto;flex:none}#pacs-results>.listing-field{flex:1 1 auto;padding-right:.5rem}.pacs-study{margin-bottom:.7rem}.pacs-study-row{padding-block:3px;color:var(--orange);border-bottom:2px solid var(--orange);cursor:pointer}.pacs-study-row:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-study-row>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-study-patient,.pacs-study-desc{color:var(--butter)}.pacs-study-mrn,.pacs-study-accession{color:var(--harvestgold)}.pacs-study-date,.pacs-study-modalities,.pacs-study-server,.pacs-study-count{color:var(--pumpkin-pie)}#pacs-results .listing-level[data-depth="2"]{font-size:.8rem;padding-left:1.4em}#pacs-results .listing-level[data-depth="2"] .roster-caps{margin:.35rem 0 .3rem}.pacs-series{padding-block:2px}.pacs-series:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-series-desc{color:var(--butter);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-series-modality{color:var(--harvestgold)}.pacs-series-files{color:var(--pumpkin-pie);text-align:right}#pacs-results .roster-cap[data-key=files]{text-align:right}.pacs-badge{display:grid;grid-template-columns:1fr 9.5em;align-items:center;gap:.4rem;min-width:0;font-size:.7rem;color:var(--honey)}.pacs-badge:not(:has(>.listing-progress,>.pacs-bar-full,>.pacs-bar)){grid-template-columns:1fr}.pacs-badge .listing-progress,.pacs-badge .pacs-bar{min-width:0}.pacs-badge-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pacs-badge[data-state=running]{color:var(--state-running)}.pacs-badge[data-state=done]{color:var(--state-done)}.pacs-badge[data-state=error]{color:var(--state-error)}.pacs-badge[data-state=unconfirmed]{color:var(--honey)}.pane-gather{display:flex;flex-direction:column;min-height:0}.gather-listing{--roster-gap: .8rem;--roster-pad: 6px;position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w)}.gather-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.gather-cohort-name{color:var(--harvestgold);font-weight:700}.gather-series-desc{color:var(--butter)}.gather-series-state{color:var(--honey);text-transform:uppercase;font-size:.75rem}#layout-root{width:100%}#layout-root.layout-arrive{animation:layout-arrive .45s cubic-bezier(.22,1,.36,1)}@keyframes layout-arrive{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}.layout-split{display:flex;width:100%;min-width:0}.layout-col{flex-direction:row}.layout-row{flex-direction:column}.layout-leaf{min-width:0;overflow:hidden;border-radius:4px}.layout-leaf.pane-focused{position:relative}.layout-leaf.pane-focused:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:20;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--harvestgold) 45%,transparent)}.layout-divider{flex:none;background:var(--pumpkin-pie);opacity:.35;border-radius:3px}.layout-col>.layout-divider{width:6px;margin:0 4px;cursor:col-resize}.layout-row>.layout-divider{height:6px;margin:4px 0;cursor:row-resize}.layout-divider:hover{opacity:1;background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.dag-canvas{flex:1 1 0;min-height:0;overflow:hidden;position:relative}.node-overlay{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;background:#000000eb;border-left:6px solid var(--harvestgold);opacity:0;transition:opacity .3s ease;overflow:hidden}.node-overlay-open{opacity:1}.node-overlay-body{flex:1;min-height:0}.dag-node-tip{position:absolute;z-index:5;pointer-events:none;padding:.15rem .55rem;background:#000000d9;border:1px solid var(--pumpkin-pie);border-radius:.6rem .2rem;color:var(--butter);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.dag-canvas canvas,.universe-canvas canvas{display:block;width:100%!important;height:100%!important}.wait-progress{position:absolute;left:1rem;bottom:1rem;z-index:6;pointer-events:none;display:flex;flex-direction:column;gap:.35rem;min-width:18rem;max-width:calc(100% - 2rem);padding:.45rem .8rem .55rem;background:#000c;border:1px solid var(--pumpkin-pie);border-radius:.8rem .25rem}.wait-progress[hidden]{display:none}.wait-progress-label{color:var(--butter);font-family:var(--face-label);font-size:.8rem;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wait-progress-track{position:relative;display:block;height:.4rem;border-radius:.2rem;background:#ffffff1f;overflow:hidden}.wait-progress-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--pumpkin-pie);border-radius:.2rem;transition:width .15s linear}.wait-progress-indeterminate .wait-progress-fill{width:30%;animation:wait-progress-run 1.2s ease-in-out infinite}@keyframes wait-progress-run{0%{left:-30%}to{left:100%}}.universe-canvas{flex:1 1 0;min-height:0;overflow:hidden;position:relative}body[data-zoom]:not([data-zoom=console]) .layout-leaf:not(.pane-zoomed),body[data-zoom]:not([data-zoom=console]) .layout-divider{display:none}body[data-zoom]:not([data-zoom=console]) .pane-zoomed-path,body[data-zoom]:not([data-zoom=console]) .pane-zoomed{flex:1 1 100%!important;width:100%!important;height:100%!important}body[data-zoom]:not([data-zoom=console]) .pane-zoomed-path>:not(.pane-zoomed,.pane-zoomed-path,.layout-divider){display:none}.dag-facts{position:absolute;left:.6rem;bottom:.5rem;z-index:3;max-width:46%;padding:.25rem .6rem;font-size:.75rem;background:#000000b8;border-left:4px solid var(--harvestgold);border-radius:0 10px 10px 0}.dag-facts:not(:has(>:not(.more-chip))){display:none}.dag-subway{display:flex;align-items:flex-start;margin-top:.5rem;padding-bottom:.1rem}.subway-step{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex:none;margin-top:0}.subway-stop{width:10px;height:10px;border-radius:50%;border:1px solid var(--pumpkin-pie);background:transparent;flex:none}.subway-label{font-family:var(--face-label);font-size:.5rem;letter-spacing:.06em;line-height:1;color:var(--pumpkin-pie);white-space:nowrap}.subway-step-here .subway-label{color:var(--orange);font-weight:700}.subway-step:has(.subway-passed) .subway-label,.subway-step:has(.subway-done) .subway-label{color:var(--harvestgold)}.subway-step:has(.subway-failed) .subway-label{color:var(--state-error)}.subway-step-here .subway-stop{width:13px;height:13px;margin-top:-1.5px}.subway-stop.subway-passed{background:var(--harvestgold);border-color:var(--harvestgold)}.subway-stop.subway-here{background:var(--orange);border-color:var(--orange);box-shadow:0 0 7px var(--orange)}.subway-stop.subway-terminal.subway-done{background:var(--butter);border-color:var(--butter)}.subway-stop.subway-terminal.subway-failed{background:var(--state-error);border-color:var(--state-error);box-shadow:0 0 7px var(--state-error)}.subway-link{height:2px;flex:1 1 8px;min-width:10px;margin-top:4px;background:#cc550073}.subway-link.subway-passed{background:var(--harvestgold)}.dag-roster{display:none;position:relative;flex:1 1 0;min-height:0;padding-right:var(--spine-w)}.dag-roster.roster-shown{display:flex;flex-direction:column}.dag-feedlist{display:none;flex:1 1 0;min-height:0;flex-direction:column;overflow:hidden;font-size:.8rem}.dag-feedlist>.roster-order{position:static;z-index:auto;flex:none}.dag-feedlist .roster-order{margin-bottom:calc(var(--rule-h) + .3rem)}.feedlist-loading{padding:.5rem .6rem;color:var(--harvestgold);letter-spacing:.12em;animation:roster-breathe 1.2s ease-in-out infinite}.feedlist-refusal{padding:.5rem .9rem .15rem;color:var(--honey);font-family:var(--face-label);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.feedlist-warming{padding:.15rem .9rem .5rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.7rem}@keyframes roster-breathe{0%,to{opacity:.35}50%{opacity:1}}.feedlist-row:hover{background:color-mix(in srgb,var(--harvestgold) 18%,transparent)}.feedlist-row.feedlist-arrived .feedlist-id,.feedlist-row.feedlist-arrived .feedlist-title{animation:roster-breathe 1.6s ease-in-out infinite}.feedlist-id{color:var(--daybreak);text-align:right}.feedlist-title{color:var(--butter);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.feedlist-status{color:var(--honey);font-size:.7rem}.feedlist-finishedWithError .feedlist-status,.feedlist-cancelled .feedlist-status{color:var(--state-error)}.feedlist-started .feedlist-status,.feedlist-running .feedlist-status{color:var(--orange)}.feedlist-owner,.feedlist-created{color:var(--daybreak);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}*{scrollbar-width:thin;scrollbar-color:var(--harvestgold) #000}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:#000}*::-webkit-scrollbar-thumb{background:var(--harvestgold);border-radius:4px}*::-webkit-scrollbar-button{display:none;height:0}.files-body,.image-body,.tags-body,.help-body,.dag-canvas,.universe-canvas,.dag-roster,.gather-listing,.header-gather-field,.files-table-field,.pacs-listing{--frame-top: var(--mode-frame-top, 0px);--spine-w: 21px;--rule-h: 6px;--bar-w: 7.2rem;--elbow-h: 30px;--elbow-clear: 36px}.workspace-pane[data-modes=open] .files-body,.workspace-pane[data-modes=open] .image-body,.workspace-pane[data-modes=open] .tags-body,.workspace-pane[data-modes=open] .dag-canvas,.workspace-pane[data-modes=open] .universe-canvas,.workspace-pane[data-modes=open] .dag-roster,.workspace-pane[data-modes=open] .gather-listing,.workspace-pane[data-modes=open] .files-table-field,.workspace-pane[data-modes=open] .pacs-listing,.header-gather-field[data-modes=open]{--spine-w: var(--bar-w)}.header-gather-field[data-modes=open] .mode-frame{visibility:visible;opacity:1;transition:opacity .12s ease-out .16s,visibility 0s linear .16s}.field-rule{position:absolute;top:var(--frame-top);left:0;right:var(--spine-w);height:var(--rule-h);background-color:var(--harvestgold);transition:right .22s ease-out;z-index:4;pointer-events:none}.mode-strip{color:#000;position:absolute;top:var(--frame-top);right:0;bottom:0;width:var(--spine-w);margin:0;padding:0;border:none;border-radius:0 22px 4px 4px;background-color:var(--harvestgold);cursor:pointer;transition:width .22s ease-out;z-index:4}.mode-strip:hover{filter:brightness(1.18)}.mode-elbow{position:absolute;top:var(--frame-top);right:0;width:calc(var(--spine-w) + var(--elbow-clear));height:var(--elbow-h);background-color:var(--harvestgold);border-top-right-radius:22px;transition:width .22s ease-out;z-index:5;pointer-events:none}.mode-elbow:after{content:"";position:absolute;left:0;bottom:0;width:var(--elbow-clear);height:calc(var(--elbow-h) - var(--rule-h));background-color:#000;border-top-right-radius:12px}.mode-frame{position:absolute;top:calc(var(--frame-top) + var(--elbow-h) + 3px);right:0;bottom:0;width:var(--spine-w);display:flex;flex-direction:column;gap:3px;background-color:#000;visibility:hidden;opacity:0;transition:opacity .12s ease-out,visibility 0s linear .12s;z-index:5;overflow-y:auto;scrollbar-width:none}.mode-frame::-webkit-scrollbar{display:none}.holds-more{scrollbar-width:none}.holds-more::-webkit-scrollbar{display:none}.more-chip{position:sticky;bottom:.3rem;display:block;flex:none;margin:.3rem auto 0;width:max-content;z-index:2;align-self:center;padding:.25rem .7rem;border:none;border-radius:999px;background:var(--butter);color:#000;font-family:var(--face-label);font-size:.62rem;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 0 4px #000}.more-chip[hidden]{display:none}.more-chip:hover{background:var(--harvestgold)}.frame-more{bottom:0;margin-top:auto}.workspace-pane[data-modes=open] .mode-frame{visibility:visible;opacity:1;transition:opacity .12s ease-out .16s,visibility 0s linear .16s}.mode-frame .strategy-pill{flex:none;width:100%;min-width:0;height:1.6rem;line-height:1.6rem;margin:0;padding:0 .6rem 0 .4rem;border:none;border-radius:0;background-color:var(--harvestgold);color:#000;text-align:right}.mode-frame .strategy-pill:hover{filter:brightness(1.18)}.mode-fill{flex:1 1 0;min-height:1rem;background-color:var(--daybreak);border-radius:0 0 4px 4px;cursor:pointer}.mode-fill:hover{filter:brightness(1.18)}.mode-frame .strategy-pill.rail-off{background-color:color-mix(in srgb,var(--harvestgold) 30%,transparent);color:var(--honey)}.mode-frame .strategy-pill.rail-na{background-color:color-mix(in srgb,var(--harvestgold) 30%,transparent);color:var(--honey);text-decoration:line-through}.files-body.content-view>.field-rule,.files-body.content-view>.mode-strip,.files-body.content-view>.mode-elbow,.files-body.content-view>.mode-frame,.dag-canvas:has(>.node-overlay)>.field-rule,.dag-canvas:has(>.node-overlay)>.mode-strip,.dag-canvas:has(>.node-overlay)>.mode-elbow,.dag-canvas:has(>.node-overlay)>.mode-frame{display:none}.strategy-pill{border:none;border-radius:.7rem;padding:0 .7rem;background-color:#000;color:var(--harvestgold);font-family:var(--face-label);font-weight:700;font-size:.65rem;letter-spacing:.1em;cursor:pointer}.strategy-pill:hover{filter:brightness(1.18)}#header-dag{gap:2rem}body:not([data-header]) #header-dag,body[data-header=dag] #header-dag{display:flex}#pipeline-cycler{position:relative;flex:0 1 30%;min-width:10rem;height:7.5rem}#header-dag-info{flex:1 1 68%;min-width:0;font-family:Share Tech Mono,monospace;font-size:.72rem}#index-instrument{column-span:all;margin-bottom:.35rem}#index-instrument .index-row{margin-bottom:.15rem}#index-instrument .index-bar{flex:0 1 16rem;min-width:6rem}#index-instrument .status-degraded .telemetry-value{color:var(--state-error)}#index-instrument .index-verb{flex:none;margin-left:.4rem;background-color:var(--state-error);color:var(--butter)}#about-rows{columns:3;column-gap:2rem}#pipeline-cycler canvas{display:block;width:100%!important;height:100%!important}#pipeline-cycler-name{position:absolute;bottom:.2rem;left:.6rem;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.files-panel{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.status-degraded{color:var(--state-error)}.listing-progress{display:block;position:relative;height:.45rem;min-width:2rem;border-radius:.25rem;background:color-mix(in srgb,var(--pumpkin-pie) 22%,transparent);overflow:hidden}.listing-progress-idle{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.listing-progress-fill{display:block;height:100%;border-radius:.25rem;transition:width .25s linear}.listing-progress-running .listing-progress-fill{background:var(--state-running)}.listing-progress-done .listing-progress-fill{background:var(--pumpkin-pie)}.listing-progress-failed .listing-progress-fill{background:var(--state-error)}.listing-index-cell{display:flex;align-items:center;padding-inline-end:.5rem}.listing-index{box-sizing:border-box;min-width:4.4rem;padding:.05rem .45rem;border-radius:.7rem;font:600 .78rem/1.3 var(--lcars-font, inherit);letter-spacing:.04em;text-align:center;color:#ffffff61;background:#ffffff0f}.listing-index.numbered{color:#000;background:var(--listing-index-hue, var(--butter))}.pane-files{--listing-index-hue: var(--harvestgold)}.pane-pacs,.pacs-panel,[class*=pacs-],.pane-gather,.gather-rows,#header-gather{--listing-index-hue: var(--daybreak)}.pane-dag,.pane-tags{--listing-index-hue: var(--harvestgold)}.listing-actions{--listing-action-height: 1.35rem;box-sizing:border-box;display:flex;gap:.4rem;align-items:center;min-height:var(--listing-action-height)}.listing-action{box-sizing:border-box;height:var(--listing-action-height);border:none;border-radius:.8rem;padding:.1rem .9rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.1em;cursor:pointer}.listing-action:hover:not(:disabled){filter:brightness(1.3);box-shadow:0 0 8px var(--harvestgold)}.listing-action:active:not(:disabled),.listing-action-selected:not(:disabled){background:color-mix(in srgb,var(--harvestgold) 42%,#000);color:var(--butter);filter:none;box-shadow:none}.listing-action-selected:hover:not(:disabled){filter:brightness(1.2);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.listing-action:disabled{opacity:.35;cursor:default}.listing-readout{color:var(--honey);font-size:.7rem;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-row-indicated .files-name,.files-row-indicated .files-glyph,.feedlist-row.listing-indicated .feedlist-title,.feedlist-row.listing-indicated .feedlist-id{color:var(--butter);text-shadow:0 0 8px rgb(255 238 204 / 60%)}.listing-row{display:grid;grid-template-columns:var(--roster-cols);align-items:center;column-gap:var(--roster-gap);padding:2px calc(var(--roster-pad) + var(--elbow-clear, 0px)) 2px var(--roster-pad);font-size:.8rem}.listing-row>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-row>.listing-actions{padding-block:0}.listing-activatable{cursor:pointer}.listing-group{display:block}.listing-level{padding-left:0}.listing-indicated>span:first-child,.listing-indicated>span:nth-child(2){color:var(--butter);text-shadow:0 0 8px rgb(255 238 204 / 60%)}.listing-selected>span{color:var(--butter)}.mode-frame .listing-zone{display:flex;flex-direction:column;gap:3px;margin-top:.75rem}.mode-frame .listing-zone[hidden]{display:none}.mode-frame .listing-zone .listing-action{flex:none;width:100%;min-width:0;height:auto;min-height:1.6rem;line-height:1.2;margin:0;padding:.2rem .6rem .2rem .4rem;border-radius:0;font-size:.65rem;text-align:right;white-space:normal;overflow-wrap:anywhere}.mode-frame .listing-zone .listing-readout{padding:.1rem .6rem 0 .4rem;text-align:right;white-space:normal;overflow:visible;line-height:1.25}.listing-framed .listing-indicated{background:var(--harvestgold);margin-right:-.5rem;padding-right:calc(var(--roster-pad) + var(--elbow-clear, 0px) + .5rem)}.listing-framed .listing-indicated>span,.listing-framed .listing-indicated>span:first-child,.listing-framed .listing-indicated>span:nth-child(2){color:#000;text-shadow:none}.listing-framed .listing-indicated .files-name{font-weight:700}.listing-framed .listing-field{overflow-x:hidden}.listing-field:has(.listing-activating) .listing-row:not(.listing-activating){opacity:.25}.listing-row.listing-activating{background:var(--harvestgold);color:#000}.listing-row.listing-activating .listing-control{background:var(--butter);color:#000;animation:grip-breathe .8s ease-in-out infinite alternate}.pane-state.state-refused{color:var(--state-error);opacity:1}.listing-framed .listing-indicated .listing-progress{background:#000}.listing-framed .listing-indicated .listing-progress-idle{background:#000;box-shadow:none}.listing-framed .listing-indicated .listing-progress-fill,.listing-framed .listing-indicated .pacs-bar-full{background:var(--butter)}.listing-framed .listing-indicated .listing-progress-running .listing-progress-fill{background:var(--state-running)}.listing-framed .listing-indicated .listing-progress-failed .listing-progress-fill{background:var(--state-error)}.listing-framed .listing-indicated .pacs-badge,.listing-framed .listing-indicated .pacs-badge[data-state]{color:#000}.listing-framed:not(.listing-selecting):has(.listing-indicated) .listing-row:not(.listing-indicated):not(.files-lead-up):not(.files-lead-home){opacity:.25;transition:opacity .12s ease-out}.listing-framed:not(.listing-selecting):has(.listing-indicated) .listing-row:not(.listing-indicated):not(.files-lead-up):not(.files-lead-home):hover{opacity:1}.files-row.files-denied{opacity:.55}.files-row.files-denied .files-glyph{color:var(--state-error)}.files-row.files-denied .files-name{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--state-error) 70%,transparent)}.files-content-refused{color:var(--state-error)}.files-refused{padding:.6rem .2rem}.files-refused-lede{margin:0 0 .4rem;color:var(--state-error);font-family:var(--face-label);font-weight:700;letter-spacing:.12em}.files-refused-said{margin:0;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.8rem;white-space:pre-wrap;opacity:.9}.listing-field{flex:1 1 0;min-height:0;overflow-y:auto}.files-panel>.listing-field{padding-right:.5rem}.empty-shortcuts{display:flex;gap:.6rem;margin:.3rem 0 .6rem}.empty-promptline{display:flex;margin-bottom:.6rem}.empty-prompt{flex:1;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.empty-prompt:focus{border-color:var(--harvestgold);box-shadow:0 0 6px color-mix(in srgb,var(--harvestgold) 40%,transparent)}.empty-result{flex:1 1 0;min-height:0;overflow:auto;font-family:Share Tech Mono,monospace;font-size:.8rem;color:var(--daybreak);white-space:pre-wrap}.files-empty{color:var(--honey);opacity:.6;font-size:.8rem;letter-spacing:.08em}.files-listing{margin-bottom:1rem;overflow-x:auto}.files-path{position:sticky;top:0;z-index:2;background:#000;color:var(--orange);font-weight:700;letter-spacing:.05em;padding-bottom:.2rem;margin-bottom:calc(var(--rule-h, 6px) + .4rem);font-size:.9rem;min-width:0;overflow-wrap:anywhere;word-break:break-word}.files-crumb{font:inherit;color:inherit;letter-spacing:inherit;background:none;border:0;padding:0 .1em;margin:0;border-radius:.3em}button.files-crumb{cursor:pointer}button.files-crumb:hover,button.files-crumb:focus-visible{background:var(--orange);color:#000;outline:none}.files-crumb-here{color:var(--honey, var(--orange))}.files-content-header{position:static;border-bottom:2px solid var(--orange);margin-bottom:.3rem}.files-row>span{padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-glyph{font-family:MesloLGS NF,Inconsolata,monospace;font-size:.95rem;line-height:1;color:var(--console-white, var(--butter))}.files-glyph-dir,.files-type-dir .files-name{color:var(--console-yellow, var(--harvestgold));font-weight:700}.files-glyph-file,.files-type-file .files-name{color:var(--console-white, var(--butter))}.files-glyph-link,.files-type-link .files-name{color:var(--console-cyan, var(--daybreak))}.files-glyph-plugin,.files-type-plugin .files-name{color:var(--console-green, var(--honey));font-weight:700}.files-glyph-pipeline,.files-type-pipeline .files-name{color:var(--console-magenta, var(--honey));font-weight:700}.files-glyph-vfs,.files-type-vfs .files-name{color:var(--console-magenta, var(--harvestgold));font-weight:700}.files-glyph-job,.files-type-job .files-name{color:var(--console-cyan, var(--harvestgold));font-weight:700}.files-name{color:var(--console-white, var(--butter))}.files-version{color:var(--console-white, var(--butter));font-variant-numeric:tabular-nums}.files-run-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;min-width:0;padding:.3rem var(--roster-pad, 6px) .4rem;margin-right:calc(var(--elbow-clear, 0px) + .5rem)}.files-binding{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.files-command{flex:1 1 14em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.2rem .6rem;outline:none}.files-command:focus{border-color:var(--harvestgold)}.files-feed{flex:none;border:none}.files-body.files-catalogue .files-home,.files-body.files-catalogue .files-back,.files-body.files-catalogue .files-mkdir,.files-body.files-catalogue .files-upload,.files-body.files-catalogue .files-select{display:none}.files-capsule,.listing-capsule,.listing-control.pacs-fold{display:inline-flex;align-items:center;justify-content:center;align-self:center;box-sizing:border-box;min-height:24px;margin:2px 0;padding:.1rem .7rem;border-radius:.8rem;background:color-mix(in srgb,var(--harvestgold) 38%,transparent);color:#000;font-family:var(--face-label);font-weight:700;font-size:.62rem;letter-spacing:.1em;line-height:1;cursor:pointer;transition:background-color .12s ease-out}.files-capsule:hover,.listing-capsule:hover,.listing-control.pacs-fold:hover{background:var(--harvestgold)}.files-control.files-capsule{font-family:MesloLGS NF,Inconsolata,monospace;font-size:.95rem;letter-spacing:0;padding:.1rem .5rem;color:#000}.files-control.files-capsule.files-glyph-dir{background:var(--console-yellow, var(--harvestgold))}.files-control.files-capsule.files-glyph-file,.files-control.files-capsule.files-glyph-job{background:var(--console-white, var(--butter))}.files-control.files-capsule.files-glyph-link{background:var(--console-cyan, var(--daybreak))}.files-control.files-capsule.files-glyph-plugin{background:var(--console-green, var(--honey))}.files-control.files-capsule.files-glyph-pipeline,.files-control.files-capsule.files-glyph-vfs{background:var(--console-magenta, var(--honey))}.listing-framed .listing-indicated .files-capsule,.listing-framed .listing-indicated .listing-capsule,.listing-framed .listing-indicated .listing-control.pacs-fold{background:#00000047}.listing-framed .listing-indicated .files-capsule:hover,.listing-framed .listing-indicated .listing-capsule:hover,.listing-framed .listing-indicated .listing-control.pacs-fold:hover{background:#000;color:var(--harvestgold)}.files-type{color:var(--honey);font-size:.7rem;letter-spacing:.04em;opacity:.85}.files-size,.files-owner,.files-date{color:var(--pumpkin-pie);text-align:right;white-space:nowrap}.files-activatable{cursor:pointer}.files-activatable:hover>span{background:color-mix(in srgb,var(--harvestgold) 18%,transparent)}.files-content-header{display:flex;align-items:center;gap:.5rem}.files-content-header>span:first-child{flex:1 1 auto;min-width:0}.files-close-pill{border:none;background:var(--mars);color:#000;font-family:inherit;font-size:.6rem;font-weight:700;letter-spacing:.1em;border-radius:.6rem;padding:.1rem .8rem;cursor:pointer}.files-close-pill:hover{filter:brightness(1.3)}.files-image{display:block;flex:1 1 0;min-height:0;width:100%;max-width:100%;align-self:stretch;object-fit:contain;margin:.5rem 0}.files-body{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.files-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.6rem;padding:.3rem .5rem .6rem 0}.files-card{background:linear-gradient(135deg,#161616,#070707);border:2px solid var(--october-sunset);border-radius:10px;padding:.55rem .7rem;min-width:0;transition:border-color .15s,transform .15s}.files-card.files-activatable{cursor:pointer}.files-cards.files-previews{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.files-card-thumb{height:6.5rem;margin:-.55rem -.7rem .45rem;border-radius:8px 8px 0 0;background-color:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:2rem}.files-card-thumb.thumb-wait{opacity:.45}.files-card-thumb svg{width:100%;height:100%;color:var(--harvestgold)}.files-card-thumb.thumb-count{font-size:.8rem;letter-spacing:.12em}.files-target{margin-left:.6em;opacity:.6;font-size:.85em}.files-card-target{margin-top:.25rem;color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-card-thumb img{width:100%;height:100%;object-fit:cover}.files-card-thumb pre{margin:0;padding:.3rem .5rem;width:100%;height:100%;font:.55rem/1.3 Share Tech Mono,monospace;color:var(--honey);white-space:pre;overflow:hidden;overscroll-behavior:contain;text-align:left}.files-card-thumb pre::-webkit-scrollbar{width:6px;height:6px}.files-card-thumb pre::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--honey) 45%,transparent);border-radius:3px}.files-card:hover .files-card-thumb pre::-webkit-scrollbar-thumb{background:var(--honey)}.files-card.files-activatable:hover{border-color:var(--honey);transform:translateY(-2px)}.files-card-up{display:flex;align-items:center;color:var(--pumpkin-pie);font-family:var(--face-label);letter-spacing:.08em}.files-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.files-card-badge{background:var(--harvestgold);color:#000;border-radius:9px;padding:0 .6rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.12em;line-height:1.6}.files-card.files-type-plugin .files-card-badge{background:var(--daybreak)}.files-card.files-type-pipeline .files-card-badge{background:var(--orange)}.files-card.files-type-dir .files-card-badge,.files-card.files-type-vfs .files-card-badge,.files-card.files-type-job .files-card-badge{background:var(--butter)}.files-card-size{color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.68rem}.files-card-title{color:var(--honey);font-family:var(--face-label);font-size:.95rem;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-card-meta{display:flex;justify-content:space-between;margin-top:.3rem;color:var(--pumpkin-pie);font-family:Share Tech Mono,monospace;font-size:.66rem}.files-content-view{display:flex;flex-direction:column;min-height:100%}.dag-scene-canvas{display:block;width:100%!important;height:100%!important}.files-diagram{flex:1 1 0;min-height:14rem;position:relative;overflow:hidden}.files-diagram-empty{display:flex;align-items:center;justify-content:center;color:var(--pumpkin-pie);font-family:var(--face-label);letter-spacing:.1em}.man-head{color:var(--harvestgold);font-weight:600}.man-key{color:var(--honey)}.man-flag{color:var(--daybreak)}.man-str{color:var(--orange)}.files-content.files-json .json-key{color:var(--daybreak)}.files-content.files-json .json-string{color:var(--butter)}.files-content.files-json .json-number{color:var(--orange)}.files-content.files-json .json-literal{color:var(--honey)}.files-panel>.files-content{flex:1 1 0;min-height:0;overflow:auto}.files-content{margin:0;padding:.4rem 0;font-family:MesloLGS NF,Inconsolata,Courier New,monospace;font-size:.7rem;line-height:1.35;color:var(--butter);white-space:pre-wrap;word-break:break-word;text-shadow:0 0 5px rgb(255 238 204 / 30%)}.data-column{transition:filter .3s ease}.dc-sweep{filter:brightness(1.6)}.dc-sweep>div{color:var(--butter)!important;text-shadow:0 0 8px rgb(255 238 204 / 60%)}#data-cascade.dc-stale{filter:brightness(.45) saturate(.5)}.banner{font-size:clamp(1.1rem,1.4vw,1.8rem);padding-bottom:.2rem}.header-face{display:none;padding:.2rem .5rem;columns:3;column-gap:2rem;font-family:Share Tech Mono,monospace;font-size:.75rem;letter-spacing:.06em;height:var(--header-band-h, 19vh);max-height:var(--header-band-h, 19vh);overflow:hidden auto}.header-gather-field{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);transition:padding-right .22s ease-out}.header-gather-field .gather-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:auto;scrollbar-width:none;padding-top:calc(var(--rule-h) + .3rem);--roster-gap: .6rem;--roster-pad: .4rem}.header-gather-field .gather-more{position:absolute;margin:0;right:calc(var(--spine-w) + .6rem);bottom:.4rem;z-index:3;padding:.25rem .9rem;border:none;border-radius:999px;background:var(--butter);color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 0 4px #000}.header-gather-field .gather-more:hover{background:var(--harvestgold)}.header-gather-field .gather-rows>.roster-order{position:sticky;top:0;z-index:2;flex:none;background:#000}.gather-state{flex:none;padding:0 .6rem .2rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.1em;color:var(--butter)}button.panel-gather{flex:none;min-height:3.2rem;align-items:flex-end;justify-content:flex-end;white-space:nowrap;border-bottom:8px solid #000}button.panel-gather.panel-gather-empty{background-color:color-mix(in srgb,var(--harvestgold) 38%,#000);color:color-mix(in srgb,#000 70%,var(--harvestgold))}body[data-header=stats] #header-telemetry{display:block}body[data-header=gather] #header-gather{display:flex;flex-direction:column;columns:auto;flex:1 1 100%;width:100%;min-width:0}body[data-header=away] .wrap:not(#gap){position:absolute;inset:0 0 auto;translate:0 -100%}#header-restore,body[data-zoom] .headtrim,body[data-zoom] .baseboard{display:none}body[data-zoom]:not([data-zoom=console]) #drawer-toggle,body[data-zoom]:not([data-zoom=console]) #status-strip,body[data-zoom]:not([data-zoom=console]) .right-frame:before{display:none}body[data-header=away]:not([data-zoom]) #gap,body[data-zoom]:not([data-zoom=console]) #gap{margin-top:12px}body[data-header=away] #header-restore,body[data-zoom] #header-restore{display:block;position:fixed;top:0;left:20%;right:20%;height:12px;z-index:1000;border-radius:0 0 6px 6px;background-color:var(--october-sunset);cursor:pointer;animation:beckon 3.5s ease-in-out infinite}#header-restore:hover{animation:none;background-color:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}.header-controls{column-span:all;display:flex;gap:.7rem;margin-bottom:.3rem}.telemetry-row{display:flex;align-items:center;gap:.7rem;break-inside:avoid;margin-bottom:.2rem;min-width:0}.telemetry-label{flex:none;min-width:9.5rem;padding:0 .7rem;border-radius:.6rem 0 0 .6rem;background-color:var(--honey);color:#000;font-family:var(--face-label);font-weight:700;font-size:.7rem;line-height:1.2rem;letter-spacing:.08em;text-align:right;text-transform:uppercase}#header-about .telemetry-label{background-color:var(--october-sunset)}:root[data-theme=medical] #header-about .telemetry-label,:root[data-theme=pharos] #header-about .telemetry-label{color:var(--butter)}.telemetry-value{color:var(--daybreak);font-size:.9rem;min-width:0}#header-dag-info .telemetry-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.about-footer{column-span:all;margin-top:.15rem;padding-bottom:0;padding-left:0;font-size:.62rem;line-height:1.3;opacity:.75}.audio-pill,.theme-pill,.door-pill{padding:.1rem .9rem;border:none;border-radius:.8rem;color:#000;font-family:var(--face-label);font-weight:700;font-size:.75rem;letter-spacing:.1em;cursor:pointer}.audio-pill{background-color:var(--state-done)}.theme-pill{background-color:var(--harvestgold)}.door-pill{background-color:var(--orange)}.audio-pill:hover,.theme-pill:hover,.door-pill:hover{filter:brightness(1.3);box-shadow:0 0 8px currentcolor}.audio-pill.audio-off{background-color:var(--state-error)}.audio-pill.audio-off:after{content:" OFF"}:root{--butter: #fec;--daybreak: #f91;--harvestgold: #fa4;--honey: #fc9;--october-sunset: #f40;--orange: #f70;--pumpkin-pie: #c50}:root[data-theme=gold]{--butter: #fff3cd;--daybreak: #fc3;--harvestgold: #ffd75e;--honey: #ffe49c;--october-sunset: #c99700;--orange: #e9b200;--pumpkin-pie: #a07800}:root[data-theme=medical]{--butter: #dff5fd;--daybreak: #7edcf7;--harvestgold: #1ebef0;--honey: #7fd9f7;--october-sunset: #30619d;--orange: #1d7bb9;--pumpkin-pie: #0f3566}:root[data-theme=nemesis]{--butter: #f0e4fc;--daybreak: #cfa0ff;--harvestgold: #d0a8f0;--honey: #e0c8f8;--october-sunset: #8c5fc0;--orange: #b48ae0;--pumpkin-pie: #7a4ea8}:root[data-theme=pharos]{--butter: #dff5fd;--daybreak: #7edcf7;--harvestgold: #1ebef0;--honey: #7fd9f7;--october-sunset: #30619d;--orange: #1d7bb9;--pumpkin-pie: #0f3566;--face-label: "Chakra Petch", "Arial Narrow", sans-serif;--face-data: "JetBrains Mono", "MesloLGS NF", monospace;--elbow-radius: 0;--elbow-inner-radius: 0;--radius-top: 0;--radius-bottom: 0;--radius-content-top: 0;--radius-content-bottom: 0;--pharos-lit: rgba(255, 255, 255, .55);--pharos-cut: 9px;--pharos-cut-small: 5px;--pharos-inset: 18px;--pharos-flank: 26px}[data-theme=pharos] body{font-family:var(--face-label)}[data-theme=pharos] .listing-row,[data-theme=pharos] .roster-filter-input{font-family:var(--face-data)}[data-theme=pharos] .left-frame-top .panel-1,[data-theme=pharos] .left-frame-top .panel-2,[data-theme=pharos] .left-frame-top .panel-gather,[data-theme=pharos] .left-frame button[class^=panel-],[data-theme=pharos] .left-frame .panel-spacer,[data-theme=pharos] .lcars-bar-horizontal,[data-theme=pharos] .lcars-bar-end,[data-theme=pharos] .mode-strip,[data-theme=pharos] .mode-fill{box-shadow:inset 0 3px 0 var(--pharos-lit)}[data-theme=pharos] .left-frame button[class^=panel-]{clip-path:polygon(var(--pharos-cut) 0,100% 0,100% 100%,0 100%,0 var(--pharos-cut));transition:margin-left .18s ease-out,width .18s ease-out}[data-theme=pharos] .roster-cap,[data-theme=pharos] .roster-cap:first-of-type,[data-theme=pharos] .roster-cap:last-of-type,[data-theme=pharos] .strategy-pill,[data-theme=pharos] .listing-action,[data-theme=pharos] .pacs-capsule,[data-theme=pharos] .ask-capsule,[data-theme=pharos] .theme-pill,[data-theme=pharos] .audio-pill,[data-theme=pharos] .telemetry-label,[data-theme=pharos] .lamp-online,[data-theme=pharos] .lamp-host,[data-theme=pharos] .lamp-offline{border-radius:0;clip-path:polygon(0 0,calc(100% - var(--pharos-cut-small)) 0,100% var(--pharos-cut-small),100% 100%,0 100%)}[data-theme=pharos] .pacs-capsule,[data-theme=pharos] .listing-action,[data-theme=pharos] .strategy-pill{white-space:nowrap;letter-spacing:.04em}[data-theme=pharos] body[data-focus=files] #gutter-files,[data-theme=pharos] body[data-focus=dag] #gutter-runs,[data-theme=pharos] body[data-focus=pacs] #gutter-tools{margin-left:var(--pharos-inset);width:calc(var(--lfw) - var(--pharos-inset))}[data-theme=pharos] .left-frame-top{position:relative;overflow:hidden}[data-theme=pharos] .left-frame-top:after{content:"";position:absolute;left:0;bottom:0;width:78px;height:78px;pointer-events:none;background:radial-gradient(circle at 0 100%,var(--butter) 0 11px,transparent 11.5px),repeating-radial-gradient(circle at 0 100%,var(--butter) 0 2px,transparent 2px 9px);clip-path:circle(78px at 0 100%);animation:pharos-lamp 5s ease-in-out infinite}@keyframes pharos-lamp{0%,to{opacity:.55}50%{opacity:1}}[data-theme=pharos] .wrap-all{border-left:3px solid var(--october-sunset);border-radius:var(--pharos-flank) 0 0 var(--pharos-flank)}[data-theme=pharos] .left-frame-top{border-top-left-radius:calc(var(--pharos-flank) - 3px)}[data-theme=pharos] .left-frame>div:last-child .panel-7{clip-path:none;border-bottom-left-radius:calc(var(--pharos-flank) - 3px)}[data-theme=pharos] .lcars-bar-horizontal{border-radius:0}[data-theme=pharos] .lcars-bar-end{border-radius:0;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 100%,0 100%)}[data-theme=pharos] .mode-elbow,[data-theme=pharos] .mode-elbow:after{border-top-right-radius:0}[data-theme=pharos] .mode-strip,[data-theme=pharos] .mode-fill{border-radius:0}[data-theme=pharos] .listing-indicated>span:first-child,[data-theme=pharos] .listing-indicated>span:nth-child(2){text-shadow:none}[data-theme=pharos] .listing-action:hover:not(:disabled),[data-theme=pharos] .audio-pill:hover,[data-theme=pharos] .theme-pill:hover,[data-theme=pharos] .pacs-capsule:hover{box-shadow:none;filter:brightness(1.15)}@media(prefers-reduced-motion:reduce){[data-theme=pharos] .left-frame-top:after{animation:none}[data-theme=pharos] .left-frame button[class^=panel-]{transition:none}}[data-theme=pharos] body,[data-theme=pharos] .banner,[data-theme=pharos] h1,[data-theme=pharos] a,[data-theme=pharos] button,[data-theme=pharos] #status-strip,[data-theme=pharos] .dag-node-tip,[data-theme=pharos] .feedlist-refusal,[data-theme=pharos] .telemetry-label,[data-theme=pharos] .lcars-bar-horizontal{text-transform:lowercase}[data-theme=pharos] .listing-row,[data-theme=pharos] .argus-output,[data-theme=pharos] #pacs-results,[data-theme=pharos] #files-results,[data-theme=pharos] #pipeline-cycler-name,[data-theme=pharos] input,[data-theme=pharos] textarea,[data-theme=pharos] select,[data-theme=pharos] .about-footer,[data-theme=pharos] .about-footer a{text-transform:none}#drawer{display:flex;flex-direction:column;flex:none;height:28vh;min-height:0;overflow:hidden}#drawer.drawer-closed{height:0}.lcars-terminal-header-bar{flex:none;display:flex;min-width:0;height:28px;align-items:flex-end}.lcars-bar-horizontal{flex:1;min-width:0;height:28px;background-color:var(--harvestgold);display:flex;align-items:center;justify-content:space-between;padding-inline:1rem;color:#000;font-weight:700;text-transform:uppercase;font-family:var(--face-label);font-size:.8rem;letter-spacing:1px}.lcars-bar-horizontal>.lcars-title{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lcars-bar-horizontal>.pane-mode,.lcars-bar-horizontal>.pane-state{flex:none;white-space:nowrap}.lcars-terminal-status{font-size:.6rem;opacity:.8;margin-left:1rem;font-family:Share Tech Mono,monospace;text-transform:none}.lcars-bar-end{width:60px;height:28px;background-color:var(--harvestgold);border-radius:0 14px 14px 0;margin-left:.5rem}#terminal{flex:1;min-height:0;display:flex}.argus-screen{flex:1;min-width:0;background-color:#000;padding:.8rem 1rem;display:flex;flex-direction:column;font-family:Share Tech Mono,MesloLGS NF,monospace;color:var(--daybreak)}.argus-output{flex:1;overflow-y:auto;margin-bottom:.5rem;font-size:.75rem;line-height:1.35;letter-spacing:1px;white-space:pre-wrap;word-break:break-word}.argus-line{min-height:1em}.argus-echo .user-input,.user-input{color:var(--butter);text-shadow:none}.argus-echo .prompt-glyph{color:var(--sky, #9cf)}.argus-result.error{color:#f24444}.argus-banner-line{opacity:.9}.argus-splash{display:flex;align-items:center;gap:1.5rem;margin-bottom:.4rem}.argus-splash-brain{flex:none;margin:0;font-size:.42em;line-height:1;letter-spacing:0;white-space:pre;opacity:.9}.argus-splash-greeting{flex:1 1 auto;min-width:0}.pane-universe:not(.universe-inside) .universe-open,.pane-universe:not(.universe-inside):not(.universe-cluster) .universe-back,.universe-facts[hidden]{display:none}.universe-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.universe-node-verbs{display:flex;gap:.4rem;margin-top:.35rem}.argus-greeting-line{white-space:pre-wrap;min-height:1em}.dim{opacity:.45}.argus-progress{flex:none;font-size:.7rem;letter-spacing:0;text-shadow:none;line-height:1.6}.argus-progress-row{display:flex;align-items:center;gap:.5rem;color:var(--butter);opacity:.85}.argus-progress-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.argus-progress-counts{opacity:.6}.argus-progress-elapsed{flex:none;opacity:.5;font-variant-numeric:tabular-nums}.argus-progress-spin{flex:none;width:.6rem;height:.6rem;border:2px solid var(--pumpkin-pie);border-top-color:transparent;border-radius:50%;animation:argus-progress-turn .8s linear infinite}.argus-progress-bar{flex:2;height:.4rem;background:#ffffff1f;border-radius:.2rem;overflow:hidden}.argus-progress-fill{display:block;height:100%;width:0;background:var(--pumpkin-pie);transition:width .12s linear}@keyframes argus-progress-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.argus-progress-spin{animation:none}.argus-progress-fill{transition:none}}.argus-prompt-bar{flex:none;font-size:.7rem;letter-spacing:0;text-shadow:none;line-height:1.5;white-space:pre;overflow-x:hidden}.argus-input-line{flex:none;display:flex;align-items:center;border-top:1px solid var(--pumpkin-pie);padding-top:.4rem;margin-top:.2rem}.argus-input-glyph{color:#00d787;font-size:.8rem}.argus-input-line input{background:transparent;border:none;color:var(--butter);font-family:inherit;font-size:.75rem;letter-spacing:1px;flex:1;outline:none;margin-left:.6rem}#drawer-strip{position:relative;flex:none;height:4px;margin:3px 0;background:var(--pumpkin-pie);border-radius:0;cursor:row-resize;touch-action:none;z-index:6}#drawer-strip:before{content:"";position:absolute;inset:-14px 0 -8px}#drawer-strip:hover,#drawer-strip:active{animation:none;background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}#drawer-toggle{cursor:pointer}@keyframes beckon{0%,to{filter:brightness(1)}50%{filter:brightness(1.2);box-shadow:0 0 8px #ff770073}}@keyframes beckon-mars{0%,to{filter:brightness(1);box-shadow:none}50%{filter:brightness(1.3);box-shadow:0 0 10px #f229}}.attach-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000000e0;z-index:100}.attach-hidden{display:none}.attach-card{width:20rem;border:2px solid var(--orange);border-radius:1.2rem 0;padding:1.2rem 1.4rem;background:#000}.attach-card h1{margin:0 0 .3rem;color:var(--orange);letter-spacing:.2em}.attach-card p{margin:0 0 .7rem;font-size:.7rem;color:var(--honey)}.attach-card input{width:100%;background:#111;color:var(--butter);border:1px solid var(--harvestgold);border-radius:4px;padding:.4rem .5rem;font-family:inherit;font-size:.75rem;letter-spacing:.1em;margin-bottom:.6rem;box-sizing:border-box}.attach-card button{background:var(--orange);color:#000;border:none;border-radius:.65rem;padding:.4rem 1.1rem;font-family:inherit;font-size:.75rem;font-weight:700;letter-spacing:.1em;cursor:pointer}.attach-card button:hover{filter:brightness(1.15)}.attach-error{color:var(--state-error);min-height:1.2em;margin-top:.5rem}.domain-inert{background-color:color-mix(in srgb,var(--inert-ground, var(--october-sunset)) 50%,#000);color:var(--butter)}.panel-1.domain-inert,.panel-4.domain-inert,.panel-spacer.domain-inert{--inert-ground: var(--orange)}.panel-2.domain-inert,.panel-3.domain-inert,.panel-6.domain-inert{--inert-ground: var(--october-sunset)}.panel-5.domain-inert,.panel-7.domain-inert{--inert-ground: var(--harvestgold)}.pacs-study-progress{display:block;min-width:0}.listing-control.pacs-fold-none{background:transparent;cursor:default}.pacs-fold:before{content:"OPEN"}.listing-group.listing-open>.listing-row>.pacs-fold:before{content:"CLOSE"}.pacs-fold.pacs-fold-none:before{content:""}.pacs-capsule-study{background-color:var(--october-sunset);color:#000}.pacs-capsule-study:hover{box-shadow:0 0 8px var(--october-sunset)}.pacs-bar-full{min-width:2rem;height:.45rem;border-radius:.25rem;background:var(--state-done)}.pacs-waiting{display:flex;align-items:center;gap:.7rem;padding:.6rem .2rem}.pacs-waiting .pacs-bar{flex:0 0 12rem}.pacs-waiting-note{color:var(--harvestgold);font-family:var(--face-label);letter-spacing:.12em;font-size:.8rem}.pacs-bar{position:relative;flex:1 1 auto;min-width:2rem;height:.45rem;border-radius:.25rem;background:color-mix(in srgb,var(--state-running) 18%,transparent);overflow:hidden}.listing-framed .listing-indicated .pacs-bar{background:#000}.listing-framed .listing-indicated .pacs-bar-fill{background:var(--state-running)}.pacs-bar-fill{display:block;width:0;height:100%;border-radius:.25rem;background:var(--state-running);transition:width .25s linear}.pacs-bar-pacing .pacs-bar-fill{width:35%;animation:pacs-pace 1.4s ease-in-out infinite}@keyframes pacs-pace{0%{transform:translate(-100%)}to{transform:translate(300%)}}#lang-palette{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:1200;display:flex;align-items:stretch;width:min(52rem,70vw);height:30px;background:#000}#lang-palette[hidden]{display:none}.lang-glyph{display:flex;align-items:center;padding:0 .9rem 0 1.1rem;background:var(--harvestgold);color:#000;font-family:var(--face-label);font-size:.8rem;letter-spacing:.12em;border-radius:0 0 0 14px}#lang-input{flex:1;background:transparent;border:none;border-bottom:2px solid var(--pumpkin-pie);outline:none;padding:0 .7rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.78rem;letter-spacing:.04em}#lang-palette:after{content:"";width:34px;background:var(--harvestgold);border-radius:0 0 14px}#lang-result{position:absolute;top:100%;left:0;right:0;padding:.25rem .9rem;color:var(--honey);font-family:Share Tech Mono,monospace;font-size:.72rem;white-space:pre-wrap;background:#000000eb;border-bottom:1px solid color-mix(in srgb,var(--orange) 55%,transparent)}#lang-result:empty{display:none}.left-frame .panel-lang{display:flex;justify-content:flex-end;height:auto;flex:1.2 1 0;min-height:2.4rem;padding:var(--left-frame-padding);background-color:var(--harvestgold);border-bottom:var(--panel-border)}.left-frame .panel-console{display:flex;justify-content:flex-end;height:auto;flex:2 1 0;min-height:3rem;padding:var(--left-frame-padding);background-color:var(--october-sunset);border-bottom:var(--panel-border)}.left-frame .panel-lang.lang-live{background-color:var(--butter)}#drawer~.bar-panel{flex-wrap:nowrap;cursor:pointer}#drawer~.bar-panel:hover .bar-10{filter:brightness(1.2)}#drawer.drawer-closed~.bar-panel .bar-10{animation:lid-beckon 3.5s ease-in-out infinite}@keyframes lid-beckon{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}.feedlist-size,.feedlist-time{text-align:right;font-family:Share Tech Mono,monospace}.dag-roster .roster-cap[data-key=sizeBytes],.dag-roster .roster-cap[data-key=wallSeconds]{text-align:right}.files-body .diagram-strategy,.files-body .diagram-projection,.files-body .diagram-pulse,.files-body.diagram-shown .files-view,.files-body.diagram-shown .files-filter,.files-body.diagram-shown .files-home,.files-body.diagram-shown .files-back,.files-body.diagram-shown .files-mkdir,.files-body.diagram-shown .files-upload,.files-body.diagram-shown .files-select,.files-body.diagram-shown .files-row-zone{display:none}.files-row-selected .files-name,.files-row-selected .files-glyph,.files-row-selected .files-type,.files-row-selected .files-size{background:color-mix(in srgb,var(--butter) 22%,transparent);color:var(--butter)}.files-body.diagram-shown .diagram-strategy,.files-body.diagram-shown .diagram-projection,.files-body.diagram-shown .diagram-pulse{display:block}.files-body .diagram-run{display:none}.files-body.files-catalogue.diagram-shown .diagram-run{display:block;background-color:var(--october-sunset);color:#000}.telemetry-input{flex:1 1 8em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.85rem;padding:.1rem .5rem;outline:none}.telemetry-input:focus{border-color:var(--harvestgold)}.telemetry-input[type=checkbox]{flex:none;width:1rem;height:1rem;accent-color:var(--harvestgold)}.telemetry-hint{flex:none;color:var(--honey);font-size:.7rem;opacity:.8}.mode-frame .strategy-pill.diagram-pulse.pulse-running{background-color:var(--october-sunset);color:#000}.dag-facts-immersed{max-width:72%;max-height:70%;overflow-y:auto;border-left-color:var(--october-sunset)}.pacs-patient{margin-bottom:.9rem}.pacs-patient-row{padding-block:4px;color:var(--harvestgold);border-bottom:2px solid var(--harvestgold);cursor:pointer}.pacs-patient-row:hover{background:color-mix(in srgb,var(--harvestgold) 12%,transparent)}.pacs-patient-row>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pacs-patient-name{color:var(--butter)}.pacs-patient-mrn{color:var(--harvestgold)}.pacs-patient-count,.pacs-patient-server,.pacs-patient-answered{color:var(--pumpkin-pie)}.pacs-unasked,.pacs-patient-unasked .pacs-patient-count{color:var(--mars)}.pacs-patient-progress{display:block;min-width:0}#pacs-results .listing-level[data-depth="1"]{box-shadow:inset 2px 0 #ffcc6659}#pacs-results .listing-level[data-depth="1"] .roster-caps{margin:.35rem 0 .3rem}#pacs-form .pacs-form-field{display:flex;flex-direction:column;gap:.15rem;min-width:0;color:var(--honey);font-family:var(--face-label);font-size:.66rem;letter-spacing:.12em}.pacs-server-cell{min-width:0;width:100%;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--butter);font-family:Share Tech Mono,monospace;font-size:.8rem;padding:.15rem .5rem;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.pacs-server-cell:hover,.pacs-server-open{border-color:var(--harvestgold);color:var(--harvestgold)}.pacs-server-many{color:var(--october-sunset);border-color:var(--october-sunset)}.pacs-server-strip{display:flex;flex-wrap:wrap;gap:.3rem;padding:.35rem var(--roster-pad) .5rem;margin-bottom:.4rem;border-bottom:2px solid var(--pumpkin-pie)}.pacs-server-segment{background:#000;border:1px solid var(--pumpkin-pie);border-radius:.9rem;color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;padding:.1rem .7rem;cursor:pointer}.pacs-server-segment:hover{color:var(--harvestgold);border-color:var(--harvestgold)}.pacs-server-chosen{background:var(--harvestgold);border-color:var(--harvestgold);color:#000}.argus-ask{color:var(--harvestgold)}.ask-glyph{color:var(--butter);margin-right:.35rem}.ask-answer,.argus-ask-answered .ask-glyph{color:var(--pumpkin-pie)}.ask-capsule{background:var(--harvestgold);border:none;border-radius:.9rem;color:#000;font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;padding:.1rem .9rem;cursor:pointer}.ask-capsule-no{background:var(--october-sunset)}.ask-capsule:hover{filter:brightness(1.3)}.stale-page{position:fixed;top:calc(env(safe-area-inset-top,0px) + 1rem);left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:1rem;max-width:calc(100% - 2rem);padding:.55rem .7rem .55rem 1.1rem;background:#000;border:2px solid var(--pumpkin-pie);border-radius:1.2rem .3rem;color:var(--butter);font-family:var(--face-label);letter-spacing:.08em}.stale-page-words{min-width:0}.errand-bar{display:flex;align-items:center;gap:.6rem;padding:.35rem .6rem;margin-bottom:.3rem;border-bottom:2px solid var(--october-sunset);flex:none}.errand-caption{color:var(--butter);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;white-space:nowrap;align-self:center}.errand-path{flex:1 1 14em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.75rem;padding:.1rem .5rem;outline:none}.errand-path:focus{border-color:var(--harvestgold)}.errand-commit{background-color:var(--october-sunset)}.pacs-wrote{color:var(--pumpkin-pie);font-family:var(--face-label);font-size:.68rem;letter-spacing:.1em;align-self:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pane-image{display:flex;flex-direction:column;min-height:0}.image-body{position:relative;flex:1 1 0;min-height:0;overflow:hidden}.pane-image[data-modality=MR] .image-body{--harvestgold: var(--daybreak)}.pane-image[data-modality=CT] .image-body{--harvestgold: var(--honey)}.pane-image[data-modality=PT] .image-body{--harvestgold: var(--tomato, #f77)}.pane-image[data-modality=NIFTI] .image-body{--harvestgold: var(--daybreak)}.image-field{position:absolute;top:calc(var(--frame-top) + var(--rule-h));left:0;right:var(--spine-w);bottom:0;background:#000;outline:none;transition:right .22s ease-out}.image-working{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:14rem;padding:1rem 1.4rem;background:#000000b8;border-radius:.4rem;font-family:var(--face-label);letter-spacing:.12em;color:var(--harvestgold);font-size:.75rem;pointer-events:none;z-index:3}.image-working-track{width:100%;height:.35rem;border-radius:.2rem;background:color-mix(in srgb,var(--harvestgold) 22%,transparent);overflow:hidden}.image-working-fill{display:block;height:100%;width:0;border-radius:.2rem;background:var(--harvestgold);transition:width .12s linear}.image-working-fill.image-working-pacing{width:35%;animation:image-pacing 1.1s ease-in-out infinite}@keyframes image-pacing{0%{transform:translate(-100%)}to{transform:translate(285%)}}.image-working-count{font-size:.7rem;color:var(--honey)}.image-working-failed{color:var(--tomato, #f77)}.image-working-failed .image-working-track{display:none}.image-working-failed .image-working-count{color:var(--tomato, #f77);letter-spacing:.04em}.image-overlay-note{position:absolute;left:.8rem;top:.6rem;display:flex;flex-direction:column;gap:.05rem;font-family:var(--face-label);font-size:.62rem;letter-spacing:.09em;line-height:1.35;color:var(--honey);text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none;z-index:2}.image-probe-note{position:absolute;left:.8rem;bottom:.6rem;font-family:var(--face-label);font-size:.66rem;letter-spacing:.1em;color:var(--harvestgold);text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none;z-index:2}.pane-image.image-field-focused .image-field{box-shadow:inset 0 0 0 2px var(--harvestgold)}.image-viewport{position:absolute;inset:0}.image-mpr,.image-render{position:absolute;inset:0;display:grid;gap:2px}.image-mpr{grid-template-columns:1fr 1fr 1fr}.image-mpr .image-viewport,.image-render .image-viewport{position:relative;inset:auto;min-width:0;min-height:0}.image-canvas{display:block;width:100%!important;height:100%!important}.mode-frame .image-focus{text-align:right;padding:0 .6rem 0 .4rem;height:1.6rem;line-height:1.6rem;background-color:var(--harvestgold);color:#000}.pane-tags{display:flex;flex-direction:column;min-height:0}.tags-body,.help-body{--roster-gap: 0px;--roster-pad: 0px;position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column;padding-right:var(--spine-w)}.help-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.help-panel>.roster-order{position:static;z-index:auto;flex:none}.help-panel>.listing-field{padding-right:.5rem}.help-key{font-family:Share Tech Mono,monospace;color:var(--butter)}.help-does{color:var(--harvestgold)}.help-verb .help-does{color:var(--daybreak)}.help-block-head{margin:.4rem 0 .2rem;color:var(--butter);font-family:var(--face-label);font-size:.68rem;letter-spacing:.08em}.pane-tags[data-modality=MR] .tags-body{--harvestgold: var(--daybreak)}.pane-tags[data-modality=CT] .tags-body{--harvestgold: var(--honey)}.pane-tags[data-modality=PT] .tags-body{--harvestgold: var(--tomato, #f77)}.tags-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tags-panel>.roster-order{position:static;z-index:auto;flex:none}.tags-panel>.listing-field{padding-right:.5rem}.tags-fold{color:var(--harvestgold)}.tags-fold:before{content:"▸"}.listing-group.listing-open>.listing-row>.tags-fold:before{content:"▾"}.tags-fold.tags-fold-none:before{content:""}.tags-group-row{font-weight:700}.tags-tag,.tags-vr{opacity:.7;font-family:monospace}.tags-name,.tags-value-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tags-decoded{opacity:.6}.tags-redacted .tags-phi .tags-value{letter-spacing:.15em;opacity:.6}.tags-note{padding:1rem;opacity:.7}.files-card-thumb.thumb-series{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem}.thumb-series-mark{font-weight:700;letter-spacing:.1em;color:var(--harvestgold)}.thumb-series-text{font-size:.8em;opacity:.8;text-align:center;padding:0 .4rem}@keyframes lcars-breath{0%{filter:brightness(.82)}to{filter:brightness(1.28)}}#header-restore,.mode-strip,.mode-fill{animation:lcars-breath 2.2s ease-in-out infinite alternate}@keyframes lcars-breath-spine{0%{filter:brightness(.45)}to{filter:brightness(1.6)}}.mode-strip{animation:lcars-breath-spine 1.6s ease-in-out infinite alternate}#header-restore{animation-duration:2s}#header-restore:hover,.mode-strip:hover,.mode-fill:hover{animation:none}@media(prefers-reduced-motion:reduce){#drawer.drawer-closed~.bar-panel .bar-10,#header-restore,.mode-strip,.mode-fill,.image-working-fill.image-working-pacing{animation:none!important}}[data-theme=pharos] .left-frame-top,[data-theme=pharos] button.panel-2,[data-theme=pharos] button.panel-3{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}[data-theme=pharos] button.panel-3{border-top-left-radius:0}.launcher-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;position:relative;padding:0 .6rem .6rem .2rem}.launcher-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(min-content,1fr);overflow-y:auto;gap:.85rem;flex:1 1 auto;min-height:0}.launcher-tile{display:flex;flex-direction:column;gap:.45rem;align-items:stretch;text-align:left;border:none;cursor:pointer;padding:.9rem 1.1rem .8rem;border-radius:8px 28px 28px 8px;background-color:var(--tile-hue);color:#000;overflow:hidden}.launcher-tile-wide{grid-column:span 2}.launcher-tile:hover{filter:brightness(1.08)}.launcher-head{display:flex;align-items:baseline;gap:.7rem}.launcher-name{font-family:var(--face-label);font-weight:700;font-size:1.5rem;letter-spacing:.14em}.launcher-tile-wide .launcher-name{font-size:1.9rem}.launcher-numeral{margin-left:auto;font-family:Share Tech Mono,monospace;font-size:.85rem}.launcher-figure{border:none;border-radius:.8rem;padding:.1rem .7rem;background-color:var(--butter);color:#000;font-family:Share Tech Mono,monospace;font-size:.8rem;cursor:inherit}button.launcher-figure{cursor:pointer}.launcher-figure-errored{background-color:var(--state-error);color:#000}.launcher-rule{display:block;height:3px;background-color:#000}.launcher-rows{display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.launcher-row{display:flex;align-items:center;gap:.55rem;border:none;background:none;padding:.12rem .3rem;border-radius:.5rem;color:#000;font-family:Share Tech Mono,monospace;font-size:.85rem;text-align:left;cursor:inherit}button.launcher-row{cursor:pointer}button.launcher-row:hover,.launcher-row-arrived{background-color:color-mix(in srgb,#000 12%,var(--tile-hue))}.launcher-row-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launcher-dot{flex:none;width:.5rem;height:.5rem;border-radius:50%;background-color:#000}.launcher-dot-errored{background-color:var(--state-error)}.launcher-go{flex:none;font-family:Share Tech Mono,monospace}.launcher-verb{margin-top:auto;align-self:flex-start;background-color:#000;color:var(--tile-hue);font-family:var(--face-label);font-weight:700;font-size:.7rem;letter-spacing:.12em;padding:.22rem .85rem;border-radius:.9rem}.launcher-start{position:absolute;right:.9rem;bottom:-.1rem}.panes-body{overflow:auto;padding:.9rem;min-height:0}.panes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;align-content:start}.panes-empty{color:var(--honey);font-family:var(--face-data);font-size:.8rem;padding:1.2rem .4rem}.panes-card{display:grid;grid-template-rows:auto auto auto;gap:.4rem;padding:.6rem;border:none;border-radius:.6rem;background-color:color-mix(in srgb,var(--harvestgold) 14%,transparent);text-align:left;cursor:pointer;position:relative}.panes-card:hover{background-color:color-mix(in srgb,var(--harvestgold) 26%,transparent);box-shadow:0 0 8px var(--harvestgold)}.panes-card-figure{display:block;aspect-ratio:4 / 3;max-width:100%;background-color:#000;border-radius:.3rem;overflow:hidden}.panes-card-figure img{width:100%;height:100%;object-fit:contain;display:block}.panes-card-glyph{display:flex;align-items:center;justify-content:center;color:var(--harvestgold);font-size:2.4rem;line-height:1}.panes-card-label{color:var(--daybreak);font-family:var(--face-label);font-weight:700;font-size:.78rem;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panes-card-badges{display:flex;flex-wrap:wrap;gap:.3rem}.panes-card-badge{font-family:var(--face-label);font-size:.56rem;letter-spacing:.12em;color:#000;background-color:var(--harvestgold);border-radius:.5rem;padding:.05rem .45rem}.panes-card-dismiss{position:absolute;top:.5rem;right:.5rem;border:none;border-radius:.5rem;padding:.05rem .45rem;font-family:var(--face-label);font-size:.56rem;letter-spacing:.12em;color:var(--honey);background-color:color-mix(in srgb,var(--october-sunset) 55%,transparent);cursor:pointer;opacity:0}.panes-card:hover .panes-card-dismiss{opacity:1}.panes-card-dismiss:hover{color:#000;background-color:var(--october-sunset)}.ask-bar{display:flex;align-items:center;gap:.6rem;padding:0 .6rem;flex:none;max-height:0;overflow:hidden;border-bottom:2px solid var(--harvestgold);transition:max-height .16s ease-out,padding .16s ease-out}.ask-bar-shown{max-height:3rem;padding:.35rem .6rem;margin-bottom:.3rem}.ask-bar-glyph{color:var(--harvestgold);font-family:var(--face-label);font-weight:700;font-size:.85rem}.ask-bar-caption{color:var(--butter);font-family:var(--face-label);font-size:.7rem;letter-spacing:.1em;white-space:nowrap;align-self:center}.ask-bar-field{flex:1 1 12em;min-width:0;background:#000;border:1px solid var(--pumpkin-pie);border-radius:.4rem;color:var(--daybreak);font-family:Share Tech Mono,monospace;font-size:.75rem;padding:.1rem .5rem;outline:none}.ask-bar-field:focus{border-color:var(--harvestgold)}.ask-bar-commit,.ask-bar-yes{background-color:var(--harvestgold)}.ask-bar-no,.ask-bar-abandon{background-color:var(--october-sunset)}.dag-process{align-self:flex-start;margin-top:.6rem}.files-projection .files-mkdir,.files-projection .files-upload{display:none}.pacs-wrote-opens{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.files-table-view{display:flex;flex-direction:column;flex:1 1 0;min-height:0}.files-table-field{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding-right:var(--spine-w);transition:padding-right .22s ease-out;--mode-frame-top: 0px}.files-table-rows{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;padding-top:calc(var(--rule-h) + .3rem);--roster-gap: .6rem;--roster-pad: .4rem}.files-table-rows>.roster-order{position:sticky;top:0;z-index:2;flex:none;background:#000}.files-table-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-raw-pill,.files-download-pill{background-color:var(--october-sunset)}.gather-series-study{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header-strip{position:fixed;left:var(--lfw);right:0;height:16px;z-index:40;cursor:ns-resize;background:transparent;touch-action:none}#header-strip:after{content:"";position:absolute;left:50%;top:6px;width:7rem;height:4px;border-radius:2px;transform:translate(-50%);background:color-mix(in srgb,var(--harvestgold) 80%,transparent)}#header-strip:hover:after,#header-strip:active:after{background:var(--harvestgold);box-shadow:0 0 8px color-mix(in srgb,var(--harvestgold) 60%,transparent)}body[data-header=away] #header-strip,body[data-zoom] #header-strip{display:none}@keyframes grip-breathe{0%{opacity:.45}to{opacity:1}}#header-strip:after{animation:grip-breathe 2.2s ease-in-out infinite alternate}#header-strip:hover:after,#header-strip:active:after{animation:none;opacity:1}.head-menu-pill{display:none}@media(min-width:701px)and (max-width:1100px){#about-rows,.header-face{columns:2}.telemetry-label{min-width:4.5rem;padding:0 .4rem}.telemetry-row{gap:.4rem}}@media(max-width:700px){:root{--lfw: 56px;--elbow-radius: 36px;--elbow-inner: 24px;--elbow-inner-radius: 18px;--left-frame-padding: .4rem;--bar-height: 14px}html{font-size:15px}body{padding:6px 0 0 2px}.wrap{padding:0 4px 0 2px}main{padding:14px 0 6px 8px;min-width:0}.right-frame,.right-frame-top{min-width:0}.left-frame .gutter-word,.left-frame-top .hop,.left-frame .hop-dash,.brand-label{display:none}button[class^=panel-]{padding:.35rem;font-size:.85rem}button.panel-1{min-height:56px}button.panel-lang{font-size:.7rem}.banner{font-size:1.3rem}.head-menu-pill{display:inline-block;margin-left:.6rem;padding:0 .7rem;border:none;border-radius:.7rem;background-color:var(--honey);color:#000;font-family:inherit;font-size:1.1rem;font-weight:700;line-height:1.4rem;vertical-align:middle;cursor:pointer}body:not([data-header]) #header-dag,body[data-header=dag] #header-dag{display:none}body[data-head-menu=open]:not([data-header]) #header-dag,body[data-head-menu=open][data-header=dag] #header-dag{display:block;position:fixed;top:3.4rem;left:8px;right:8px;z-index:60;height:auto;max-height:70vh;padding:.6rem;border:2px solid var(--honey);border-radius:.8rem;background-color:#000;columns:1}body[data-head-menu=open] #pipeline-cycler{display:none}#about-rows{columns:1}.telemetry-label{min-width:6.5rem}.header-face{columns:1}.brand-mark{width:2.6rem}.launcher-body{overflow-y:auto}.launcher-grid{grid-template-columns:1fr;grid-auto-rows:auto}.launcher-tile-wide{grid-column:auto}.launcher-head{flex-wrap:wrap}.launcher-tile-wide .launcher-name,.launcher-name{font-size:1.4rem}}
|