@stryke/capnp 0.12.45 → 0.12.46

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.
Files changed (97) hide show
  1. package/bin/capnpc.mjs.map +1 -1
  2. package/dist/_virtual/rolldown_runtime.cjs +1 -0
  3. package/dist/_virtual/rolldown_runtime.mjs +1 -0
  4. package/dist/compile.cjs +1 -1
  5. package/dist/compile.d.cts +40 -3
  6. package/dist/compile.d.cts.map +1 -0
  7. package/dist/compile.d.mts +40 -3
  8. package/dist/compile.d.mts.map +1 -0
  9. package/dist/compile.mjs +2 -1
  10. package/dist/compile.mjs.map +1 -0
  11. package/dist/helpers.cjs +1 -1
  12. package/dist/helpers.d.cts +1 -1
  13. package/dist/helpers.d.mts +1 -1
  14. package/dist/helpers.mjs +2 -1
  15. package/dist/helpers.mjs.map +1 -0
  16. package/dist/index.cjs +1 -1
  17. package/dist/index.d.cts +2 -2
  18. package/dist/index.d.mts +2 -2
  19. package/dist/index.mjs +1 -1
  20. package/dist/packages/convert/src/to-array.cjs +1 -0
  21. package/dist/packages/convert/src/to-array.mjs +2 -0
  22. package/dist/packages/convert/src/to-array.mjs.map +1 -0
  23. package/dist/rpc-helpers.cjs +1 -1
  24. package/dist/rpc-helpers.mjs +1 -1
  25. package/dist/rpc-helpers.mjs.map +1 -1
  26. package/dist/types.cjs +1 -1
  27. package/dist/types.d.cts +55 -2
  28. package/dist/types.d.cts.map +1 -0
  29. package/dist/types.d.mts +55 -2
  30. package/dist/types.d.mts.map +1 -0
  31. package/dist/types.mjs +2 -1
  32. package/dist/types.mjs.map +1 -0
  33. package/package.json +9 -9
  34. package/schemas/_virtual/rolldown_runtime.cjs +1 -0
  35. package/schemas/_virtual/rolldown_runtime.mjs +1 -0
  36. package/schemas/packages/capnp/src/compile.cjs +1 -0
  37. package/{dist/compile-DccxA7WZ.d.cts → schemas/packages/capnp/src/compile.d.mts} +4 -4
  38. package/{dist/compile-DccxA7WZ.d.cts.map → schemas/packages/capnp/src/compile.d.mts.map} +1 -1
  39. package/schemas/packages/capnp/src/compile.mjs +1 -0
  40. package/schemas/packages/capnp/src/helpers.cjs +1 -0
  41. package/schemas/packages/capnp/src/helpers.mjs +1 -0
  42. package/schemas/packages/capnp/src/index.cjs +1 -0
  43. package/schemas/packages/capnp/src/index.d.mts +13 -0
  44. package/schemas/packages/capnp/src/index.d.mts.map +1 -0
  45. package/schemas/packages/capnp/src/index.mjs +1 -0
  46. package/{dist/types-D03SjfBL.d.mts → schemas/packages/capnp/src/types.d.mts} +2 -2
  47. package/{dist/types-D03SjfBL.d.mts.map → schemas/packages/capnp/src/types.d.mts.map} +1 -1
  48. package/schemas/persistent.cjs +1 -1
  49. package/schemas/persistent.d.cts +1 -1
  50. package/schemas/persistent.d.mts +1 -1
  51. package/schemas/persistent.mjs +1 -1
  52. package/schemas/persistent.mjs.map +1 -1
  53. package/schemas/rpc-twoparty.cjs +1 -1
  54. package/schemas/rpc-twoparty.d.cts +1 -1
  55. package/schemas/rpc-twoparty.d.mts +1 -1
  56. package/schemas/rpc-twoparty.mjs +1 -1
  57. package/schemas/rpc-twoparty.mjs.map +1 -1
  58. package/schemas/rpc.cjs +1 -1
  59. package/schemas/rpc.d.cts +1 -1
  60. package/schemas/rpc.d.mts +1 -1
  61. package/schemas/rpc.mjs +1 -1
  62. package/schemas/rpc.mjs.map +1 -1
  63. package/schemas/schema.cjs +1 -1
  64. package/schemas/schema.d.cts +1 -1
  65. package/schemas/schema.d.mts +1 -1
  66. package/schemas/schema.mjs +1 -1
  67. package/schemas/schema.mjs.map +1 -1
  68. package/{dist/compile-UkKIpqrK.d.mts → schemas/src/compile.d.cts} +4 -4
  69. package/schemas/src/compile.d.cts.map +1 -0
  70. package/schemas/src/index.d.cts +13 -0
  71. package/schemas/src/index.d.cts.map +1 -0
  72. package/{dist/types-D52qMMoK.d.cts → schemas/src/types.d.cts} +2 -2
  73. package/schemas/src/types.d.cts.map +1 -0
  74. package/dist/capnp-es.GpvEvMIK-BsgDzeBH.mjs +0 -12
  75. package/dist/capnp-es.GpvEvMIK-BsgDzeBH.mjs.map +0 -1
  76. package/dist/capnp-es.GpvEvMIK-xNDcbmgx.cjs +0 -11
  77. package/dist/compile-ChbJ-p6B.cjs +0 -169
  78. package/dist/compile-DJUj4hs3.mjs +0 -163
  79. package/dist/compile-DJUj4hs3.mjs.map +0 -1
  80. package/dist/compile-UkKIpqrK.d.mts.map +0 -1
  81. package/dist/dist-C1gSYYrg.cjs +0 -1
  82. package/dist/dist-CK47iMja.mjs +0 -2
  83. package/dist/dist-CK47iMja.mjs.map +0 -1
  84. package/dist/helpers-BoKbpcuO.mjs +0 -27
  85. package/dist/helpers-BoKbpcuO.mjs.map +0 -1
  86. package/dist/helpers-DSMRKdw1.cjs +0 -26
  87. package/dist/types-BujoAx-K.mjs +0 -2
  88. package/dist/types-BujoAx-K.mjs.map +0 -1
  89. package/dist/types-D52qMMoK.d.cts.map +0 -1
  90. package/dist/types-D6FuBB1k.cjs +0 -1
  91. package/schemas/index-BAJMwFip.d.mts +0 -96
  92. package/schemas/index-BAJMwFip.d.mts.map +0 -1
  93. package/schemas/index-b7dam4EA.d.cts +0 -96
  94. package/schemas/index-b7dam4EA.d.cts.map +0 -1
  95. package/schemas/src-CGrmR2BO.cjs +0 -11
  96. package/schemas/src-DqIy7I3p.mjs +0 -12
  97. package/schemas/src-DqIy7I3p.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.cts","names":[],"sources":["../../../src/compile.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAqCA;;;AAEG,iBAFmB,MAAA,CAEnB,OAAA,EADQ,qBACR,CAAA,EAAA,OAAA,CAAQ,YAAR,CAAA;;AA0EH;;;;;;iBAAsB,OAAA,UAAiB,iBAAiB,gBAAa;;;oBAAA,sBAAA,CAAA;;;MAAA,SAAA,OAAA,oEAAA;MAAA,aAAA,OAAA,CAAA,CAAA,MAAA,+BAAA,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { __export, __reExport } from "../_virtual/rolldown_runtime.cjs";
2
+ import { CapnpcCLIOptions, CapnpcOptions, CapnpcResolvedOptions, CapnpcResult, CodeGeneratorContext, CodeGeneratorFileContext } from "./types.cjs";
3
+ import { capnpc, compile } from "./compile.cjs";
4
+ export * from "capnp-es";
5
+
6
+ //#region src/index.d.ts
7
+ declare namespace index_d_exports {
8
+ export { CapnpcCLIOptions, CapnpcOptions, CapnpcResolvedOptions, CapnpcResult, CodeGeneratorContext, CodeGeneratorFileContext, capnpc, compile };
9
+ }
10
+ import * as import_capnp_es from "capnp-es";
11
+ //#endregion
12
+ export { import_capnp_es as index_d_exports };
13
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/index.ts"],"sourcesContent":[],"mappings":""}
@@ -51,5 +51,5 @@ interface CapnpcResult {
51
51
  files: Map<string, string>;
52
52
  }
53
53
  //#endregion
54
- export { CodeGeneratorContext as a, CapnpcResult as i, CapnpcOptions as n, CodeGeneratorFileContext as o, CapnpcResolvedOptions as r, CapnpcCLIOptions as t };
55
- //# sourceMappingURL=types-D52qMMoK.d.cts.map
54
+ export { CapnpcCLIOptions, CapnpcOptions, CapnpcResolvedOptions, CapnpcResult, CodeGeneratorContext, CodeGeneratorFileContext };
55
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/types.ts"],"sourcesContent":[],"mappings":";;;;UA4BiB,wBAAA;kBAEC;EAFD,SAAA,OAAA,EAGG,yCAHqB,EAAA;EAEvB,aAAA,EAID,KAJC,CAAA,CAAA,MAAA,EAIc,KAJd,CAAA,CAAA;EACE,gBAAA,EAIA,GAJA,CAAA,MAAA,CAAA;EAGY,0BAAA,EAEF,GAFE,CAAA,MAAA,CAAA;EAAf,MAAA,EAAA,MAAA;EACG,SAAA,CAAA,EAAA,MAAA,EAAA;EACU,WAAA,EAAA,GAAA;EAAG,QAAA,EAAA,GAAA,GAAA,MAAA;AASjC;AAIiB,cAJJ,oBAAA,CAIoB;EAgBrB,KAAA,EAnBH,wBAmBgB,EAAA;;AAAG,UAhBX,gBAAA,CAgBW;EAIV,IAAA,CAAA,EAAA,OAAA;EAIC,EAAA,CAAA,EAAA,OAAA;EAAiB,GAAA,CAAA,EAAA,OAAA;EAKxB,KAAA,CAAA,EAAA,OAAA;EACV,MAAA,CAAA,EAAA,MAAA;EADkC,MAAA,CAAA,EAAA,MAAA;EAWpB,UAAA,CAAA,EAAA,MAAA;EAAL,QAAA,CAAA,EAAA,MAAA;EAAT,cAAA,CAAA,EAAA,OAAA;EAIY,gBAAA,CAAA,EAAA,OAAA;EAAiB,WAAA,CAAA,EAAA,MAAA;EAGd,aAAA,CAAA,EAAY,MAAA;;;KA/BjB,aAAA,GAAgB,KAAK;;;YAIf;;;aAIC;;;KAKP,qBAAA,GAAwB,KAClC,4HAUA,SAAS,KAAK;;;;YAIF;;UAGG,YAAA;OACV;SACE"}
@@ -1,12 +0,0 @@
1
- var e=(e=>(e[e.VOID=0]=`VOID`,e[e.BIT=1]=`BIT`,e[e.BYTE=2]=`BYTE`,e[e.BYTE_2=3]=`BYTE_2`,e[e.BYTE_4=4]=`BYTE_4`,e[e.BYTE_8=5]=`BYTE_8`,e[e.POINTER=6]=`POINTER`,e[e.COMPOSITE=7]=`COMPOSITE`,e))(e||{});const t=new DataView(new ArrayBuffer(8));new Uint16Array(t.buffer)[0]=258;const n=4096,r=64<<20,i=4096,a=t.getUint8(0)===2,o=2147483647,s=4294967295,c=`CAPNP-TS000 Unreachable code detected.`;function l(e){throw Error(`CAPNP-TS000 Unreachable code detected. (never block hit with: ${e})`)}const u=`CAPNP-TS001 Attempted to parse an invalid message frame header; are you sure this is a Cap'n Proto message?`,d=`CAPNP-TS004 Segment ID %X is out of bounds for message %s.`,f=`CAPNP-TS005 First segment must have at least enough room to hold the root pointer (8 bytes).`,p=`CAPNP-TS006 %s is not implemented.`,m=`CAPNP-TS011 Nesting depth limit exceeded for %s.`,h=`CAPNP-TS016 Invalid list element size: %x.`,ee=`CAPNP-TS017 Invalid pointer type: %x.`,te=`CAPNP-TS037 Segment buffer length %d is not a multiple of 8.`,ne=`CAPNP-TS039 Requested size %x exceeds maximum value (${s}).`,g=`CAPNP-TS045: Cannot call mutative methods on an immutable list.`,_=`CAPNP-TS046: Search is not supported for list.`,re=`CAPNP-TS100 Call on null client.`,ie=`CAPNP-TS101 Promised answer call queue full.`,ae=`CAPNP-TS102 Queue call canceled.`,oe=`CAPNP-TS105 Ref() called on zeroed refcount.`,se=`CAPNP-TS106 Call on closed import.`,ce=`CAPNP-TS107 Method not implemented.`,le=`CAPNP-TS109 Target not found.`,ue=`CAPNP-TS111 Received return for unknown question (id=%s).`,de=`CAPNP-TS112 Attempted to re-use question id (%s).`,fe=`CAPNP-TS113 Capability table references unknown export ID (%s).`,pe=`CAPNP-TS114 Capability table references unknown answer ID (%s).`,me=`CAPNP-TS115 Unknown cap descriptor type (which: %s).`,he=`CAPNP-TS116 RPC method failed at %s.%s(): %s`,ge=`CAPNP-TS117 RPC call failed, reason: %s`,_e=`CAPNP-TS118 Received bootstrap message without main interface set.`,ve=`CAPNP-TS119 Received finish message for unknown answer ID (%s).`,ye=`CAPNP-TS120 Fulfill called more than once for question (%s).`;function be(e){let t=new Uint8Array(e),n=[];for(let e=0;e<t.byteLength;e++)n.push(y(t[e].toString(16),2));return`[${n.join(` `)}]`}function xe(e){let t=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=Math.min(t.byteLength,8192),r=v(`
2
- === buffer[%d] ===`,n);for(let e=0;e<n;e+=16){r+=`
3
- ${y(e.toString(16),8)}: `;let n=``,i;for(i=0;i<16&&e+i<t.byteLength;i++){let a=t[e+i];r+=`${y(a.toString(16),2)} `,n+=a>31&&a<255?String.fromCharCode(a):`·`,i===7&&(r+=` `)}r+=`${` `.repeat((17-i)*3)}${n}`}return r+=`
4
- `,n!==t.byteLength&&(r+=v(`=== (truncated %d bytes) ===
5
- `,t.byteLength-n)),r}function v(e,...t){let n=e.length,r,i=0,a,o=!1,s=0,c=!1,l,u=``;function d(){return t[i++]}function f(){let t=``;for(;/\d/.test(e[s]);)t+=e[s++],a=e[s];return t.length>0?Number.parseInt(t,10):null}for(;s<n;++s)if(a=e[s],o)switch(o=!1,a===`.`?(c=!1,a=e[++s]):a===`0`&&e[s+1]===`.`?(c=!0,s+=2,a=e[s]):c=!0,l=f(),a){case`a`:u+=`0x`+y(Number.parseInt(String(d()),10).toString(16),8);break;case`b`:u+=Number.parseInt(String(d()),10).toString(2);break;case`c`:r=d(),u+=typeof r==`string`||r instanceof String?r:String.fromCharCode(Number.parseInt(String(r),10));break;case`d`:u+=Number.parseInt(String(d()),10);break;case`f`:{let e=Number.parseFloat(String(d())).toFixed(l||6);u+=c?e:e.replace(/^0/,``);break}case`j`:u+=JSON.stringify(d());break;case`o`:u+=`0`+Number.parseInt(String(d()),10).toString(8);break;case`s`:u+=d();break;case`x`:u+=`0x`+Number.parseInt(String(d()),10).toString(16);break;case`X`:u+=`0x`+Number.parseInt(String(d()),10).toString(16).toUpperCase();break;default:u+=a;break}else a===`%`?o=!0:u+=a;return u}function y(e,t,n=`0`){return e.length>=t?e:Array.from({length:t-e.length+1}).join(n)+e}function b(e){return e+7&-8}var Se=class{constructor(e,t){this.dataByteLength=e,this.pointerLength=t}toString(){return v(`ObjectSize_dw:%d,pc:%d`,S(this),this.pointerLength)}};function x(e){return e.dataByteLength+e.pointerLength*8}function S(e){return e.dataByteLength/8}function C(e){return e.dataByteLength/8+e.pointerLength}function Ce(e){return new Se(b(e.dataByteLength),e.pointerLength)}var we=class{_capnp;byteOffset;segment;constructor(t){let n=O(t);switch(this.segment=n.segment,this.byteOffset=n.byteOffset,this._capnp={},this._capnp.type=P(t),this._capnp.type){case V.STRUCT:this._capnp.size=F(t);break;case V.LIST:this._capnp.length=N(t),this._capnp.elementSize=M(t),this._capnp.elementSize===e.COMPOSITE&&(this._capnp.size=Be(t));break;case V.OTHER:this._capnp.capId=Me(t);break;default:throw Error(ee)}Ae(t)}_moveTo(t){if(this._capnp===void 0)throw Error(v(`CAPNP-TS009 Attempted to adopt %s more than once.`,this));if(this.segment.message!==t.segment.message)throw Error(v(`CAPNP-TS008 Attempted to adopt %s into a pointer in a different message %s.`,this,t));E(t);let n=I(this.segment,this.byteOffset,t);switch(this._capnp.type){case V.STRUCT:z(n.offsetWords,this._capnp.size,n.pointer);break;case V.LIST:{let{offsetWords:t}=n;this._capnp.elementSize===e.COMPOSITE&&t--,R(t,this._capnp.elementSize,this._capnp.length,n.pointer,this._capnp.size);break}case V.OTHER:We(this._capnp.capId,n.pointer);break;default:throw Error(ee)}this._capnp=void 0}dispose(){if(this._capnp!==void 0){switch(this._capnp.type){case V.STRUCT:this.segment.fillZeroWords(this.byteOffset,C(this._capnp.size));break;case V.LIST:{let e=Oe(this._capnp.elementSize,this._capnp.length,this._capnp.size);this.segment.fillZeroWords(this.byteOffset,e);break}}this._capnp=void 0}}[Symbol.for(`nodejs.util.inspect.custom`)](){return v(`Orphan_%d@%a,type:%s`,this.segment.id,this.byteOffset,this._capnp&&this._capnp.type)}};function Te(e,t){e._moveTo(t)}function Ee(e){return new we(e)}function De(e){return be(e.segment.buffer.slice(e.byteOffset,e.byteOffset+8))}function Oe(t,n,r){switch(t){case e.BIT:return b(n+7>>>3);case e.BYTE:case e.BYTE_2:case e.BYTE_4:case e.BYTE_8:case e.POINTER:case e.VOID:return b(w(t)*n);case e.COMPOSITE:if(r===void 0)throw Error(v(h,NaN));return n*b(x(r));default:throw Error(h)}}function w(t){switch(t){case e.BIT:return NaN;case e.BYTE:return 1;case e.BYTE_2:return 2;case e.BYTE_4:return 4;case e.BYTE_8:case e.POINTER:return 8;case e.COMPOSITE:return NaN;case e.VOID:return 0;default:throw Error(v(h,t))}}function ke(e,t){return new H(t.segment,t.byteOffset+e,t._capnp.depthLimit)}function T(e,t){if(!(t.segment===e.segment&&t.byteOffset===e.byteOffset)&&(E(t),!L(e)))switch(P(e)){case V.STRUCT:Je(e,t);break;case V.LIST:qe(e,t);break;case V.OTHER:Ke(e,t);break;default:throw Error(v(ee,P(t)))}}function E(t){if(L(t))return;let n;switch(P(t)){case V.STRUCT:{let e=F(t);n=O(t),n.segment.fillZeroWords(n.byteOffset,e.dataByteLength/8);for(let t=0;t<e.pointerLength;t++)E(ke(t*8,n));break}case V.LIST:{let r=M(t),i=N(t),a=b(i*w(r));if(n=O(t),r===e.POINTER){for(let e=0;e<i;e++)E(new H(n.segment,n.byteOffset+e*8,t._capnp.depthLimit-1));break}else if(r===e.COMPOSITE){let e=ke(-8,n),r=j(e),o=x(r);a=k(e),n.segment.setWordZero(n.byteOffset-8);for(let e=0;e<i;e++)for(let i=0;i<r.pointerLength;i++)E(new H(n.segment,n.byteOffset+e*o+i*8,t._capnp.depthLimit-1))}n.segment.fillZeroWords(n.byteOffset,a);break}case V.OTHER:break;default:throw Error(v(ee,P(t)))}Ae(t)}function Ae(e){if(A(e)===V.FAR){let t=je(e);Ve(e)&&t.segment.setWordZero(t.byteOffset+8),t.segment.setWordZero(t.byteOffset)}e.segment.setWordZero(e.byteOffset)}function je(e){return new H(e.segment.message.getSegment(e.segment.getUint32(e.byteOffset+4)),(e.segment.getUint32(e.byteOffset)>>>3)*8,e._capnp.depthLimit-1)}function D(e){if(A(e)===V.FAR){let t=je(e);return Ve(e)&&(t.byteOffset+=8),t}return e}function Me(e){return e.segment.getUint32(e.byteOffset+4)}function Ne(t){return P(t)===V.LIST&&M(t)===e.COMPOSITE}function O(e,t){let n;if(Ve(e)){let t=je(e);n=new H(e.segment.message.getSegment(Pe(t)),k(t)*8)}else{let t=D(e);n=new H(t.segment,t.byteOffset+8+k(t)*8)}return Ne(e)&&(n.byteOffset+=8),!t&&e._capnp.compositeIndex!==void 0&&(n.byteOffset-=8,n.byteOffset+=8+e._capnp.compositeIndex*x(Ce(j(n)))),n}function Pe(e){return e.segment.getUint32(e.byteOffset+4)}function Fe(e){return e.segment.getUint32(e.byteOffset+4)&7}function Ie(e){return e.segment.getUint32(e.byteOffset+4)>>>3}function k(e){let t=e.segment.getInt32(e.byteOffset);return t&2?t>>3:t>>2}function A(e){return e.segment.getUint32(e.byteOffset)&3}function Le(e){return e.segment.getUint16(e.byteOffset+4)}function Re(e){return e.segment.getUint16(e.byteOffset+6)}function j(e){return new Se(Le(e)*8,Re(e))}function ze(e){let t=O(e);return t.byteOffset-=8,t}function Be(e){return j(ze(e))}function M(e){return Fe(D(e))}function N(t){let n=D(t);return Fe(n)===e.COMPOSITE?k(ze(t)):Ie(n)}function P(e){let t=A(D(e));if(t===V.FAR)throw Error(v(`CAPNP-TS015 Target of a far pointer (%s) is another far pointer.`,e));return t}function F(e){return j(D(e))}function I(e,t,n){if(n.segment!==e){if(!e.hasCapacity(8)){let r=n.segment.allocate(16);return Ue(!0,r.byteOffset/8,r.segment.id,n),Ue(!1,t/8,e.id,r),r.byteOffset+=8,new Xe(r,0)}let r=e.allocate(8);if(r.segment.id!==e.id)throw Error(c);return Ue(!1,r.byteOffset/8,r.segment.id,n),new Xe(r,(t-r.byteOffset-8)/8)}return new Xe(n,(t-n.byteOffset-8)/8)}function Ve(e){return A(e)===V.FAR&&(e.segment.getUint32(e.byteOffset)&4)!=0}function L(e){return e.segment.isWordZero(e.byteOffset)}function He(e,t){let n=D(t),r=n.segment.getUint8(n.byteOffset)&3,i=n.segment.getUint32(n.byteOffset+4);E(e);let a=I(n.segment,n.byteOffset+8+k(n)*8,e);a.pointer.segment.setUint32(a.pointer.byteOffset,r|a.offsetWords<<2),a.pointer.segment.setUint32(a.pointer.byteOffset+4,i),Ae(t)}function Ue(e,t,n,r){let i=V.FAR,a=e?1:0,o=t,s=n;r.segment.setUint32(r.byteOffset,i|a<<2|o<<3),r.segment.setUint32(r.byteOffset+4,s)}function We(e,t){t.segment.setUint32(t.byteOffset,V.OTHER),t.segment.setUint32(t.byteOffset+4,e)}function Ge(e){return e.segment.getUint32(e.byteOffset+4)}function R(t,n,r,i,a){let o=V.LIST,s=t,c=n,l=r;if(n===e.COMPOSITE){if(a===void 0)throw TypeError(`CAPNP-TS040 Must provide a composite element size for composite list pointers.`);l*=C(a)}i.segment.setUint32(i.byteOffset,o|s<<2),i.segment.setUint32(i.byteOffset+4,c|l<<3)}function z(e,t,n){let r=V.STRUCT,i=e,a=S(t),o=t.pointerLength;n.segment.setUint32(n.byteOffset,r|i<<2),n.segment.setUint16(n.byteOffset+4,a),n.segment.setUint16(n.byteOffset+6,o)}function B(t,n,r){if(L(n))return;let i=D(n);if((i.segment.getUint32(i.byteOffset)&3)!==t)throw Error(v(`CAPNP-TS024 Attempted to convert pointer %s to a %s type.`,n,t));if(r!==void 0&&(i.segment.getUint32(i.byteOffset+4)&7)!==r)throw Error(v(`CAPNP-TS023 Cannot convert %s to a %s list.`,n,e[r]))}function Ke(e,t){let n=Ge(e);if(n<0)return;let r=e.segment.message._capnp.capTable;if(!r)return;let i=r[n];i&&We(t.segment.message.addCap(i),t)}function qe(t,n){if(n._capnp.depthLimit<=0)throw Error(m);let r=O(t),i=M(t),a=N(t),o,s,c;if(i===e.POINTER){c=n.segment.allocate(a<<3);for(let e=0;e<a;e++)T(new H(r.segment,r.byteOffset+(e<<3),t._capnp.depthLimit-1),new H(c.segment,c.byteOffset+(e<<3),n._capnp.depthLimit-1))}else if(i===e.COMPOSITE){if(o=Ce(Be(t)),s=x(o),c=n.segment.allocate(x(o)*a+8),c.segment.copyWord(c.byteOffset,r.segment,r.byteOffset-8),o.dataByteLength>0){let e=C(o)*a;c.segment.copyWords(c.byteOffset+8,r.segment,r.byteOffset,e)}for(let e=0;e<a;e++)for(let i=0;i<o.pointerLength;i++){let a=e*s+o.dataByteLength+(i<<3);T(new H(r.segment,r.byteOffset+a,t._capnp.depthLimit-1),new H(c.segment,c.byteOffset+a+8,n._capnp.depthLimit-1))}}else{let t=b(i===e.BIT?a+7>>>3:w(i)*a),o=t>>>3;c=n.segment.allocate(t),c.segment.copyWords(c.byteOffset,r.segment,r.byteOffset,o)}let l=I(c.segment,c.byteOffset,n);R(l.offsetWords,i,a,l.pointer,o)}function Je(e,t){if(t._capnp.depthLimit<=0)throw Error(m);let n=O(e),r=F(e),i=S(r),a=t.segment.allocate(x(r));a.segment.copyWords(a.byteOffset,n.segment,n.byteOffset,i);for(let i=0;i<r.pointerLength;i++){let o=r.dataByteLength+i*8;T(new H(n.segment,n.byteOffset+o,e._capnp.depthLimit-1),new H(a.segment,a.byteOffset+o,t._capnp.depthLimit-1))}if(t._capnp.compositeList)return;let o=I(a.segment,a.byteOffset,t);z(o.offsetWords,r,o.pointer)}function Ye(e,t){if(e._capnp.traversalLimit-=8,e._capnp.traversalLimit<=0)throw Error(v(`CAPNP-TS022 Traversal limit exceeded! Slow down! %s`,t))}var Xe=class{constructor(e,t){this.pointer=e,this.offsetWords=t}},V=(e=>(e[e.STRUCT=0]=`STRUCT`,e[e.LIST=1]=`LIST`,e[e.FAR=2]=`FAR`,e[e.OTHER=3]=`OTHER`,e))(V||{}),H=class{static _capnp={displayName:`Pointer`};_capnp;byteOffset;segment;constructor(e,t,n=o){if(this._capnp={compositeList:!1,depthLimit:n},this.segment=e,this.byteOffset=t,n<1)throw Error(v(m,this));if(Ye(e.message,this),t<0||t>e.byteLength)throw Error(v(`CAPNP-TS019 Pointer offset %a is out of bounds for underlying buffer.`,t))}[Symbol.toStringTag](){return v(`Pointer_%d`,this.segment.id)}toString(){return v(`->%d@%a%s`,this.segment.id,this.byteOffset,De(this))}},Ze=class t extends H{static _capnp={displayName:`List<Generic>`,size:e.VOID};constructor(e,n,r){return super(e,n,r),new Proxy(this,t.#e)}static#e={get(e,t,n){let r=Reflect.get(e,t,n);if(r!==void 0)return r;if(typeof t==`string`)return e.get(+t)}};get length(){return N(this)}toArray(){let{length:e}=this,t=Array.from({length:e});for(let n=0;n<e;n++)t[n]=this.at(n);return t}get(e){throw TypeError(`Cannot get from a generic list.`)}set(e,t){throw TypeError(`Cannot set on a generic list.`)}at(e){return this.get(e<0?this.length+e:e)}concat(e){let{length:t}=this,n=e.length,r=Array.from({length:t+n});for(let e=0;e<t;e++)r[e]=this.at(e);for(let i=0;i<n;i++)r[i+t]=e.at(i);return r}some(e,t){for(let n=0;n<this.length;n++)if(e.call(t,this.at(n),n,this))return!0;return!1}filter(e,t){let n=[];for(let r=0;r<this.length;r++){let i=this.at(r);e.call(t,i,r,this)&&n.push(i)}return n}find(e,t){for(let n=0;n<this.length;n++){let r=this.at(n);if(e.call(t,r,n,this))return r}}findIndex(e,t){for(let n=0;n<this.length;n++){let r=this.at(n);if(e.call(t,r,n,this))return n}return-1}forEach(e,t){for(let n=0;n<this.length;n++)e.call(t,this.at(n),n,this)}map(e,t){let{length:n}=this,r=Array.from({length:n});for(let i=0;i<n;i++)r[i]=e.call(t,this.at(i),i,this);return r}flatMap(e,t){let n=[];for(let r=0;r<this.length;r++){let i=e.call(t,this.at(r),r,this);n.push(...Array.isArray(i)?i:[i])}return n}every(e,t){for(let n=0;n<this.length;n++)if(!e.call(t,this.at(n),n,this))return!1;return!0}reduce(e,t){let n=0,r;for(t===void 0?(r=this.at(0),n++):r=t;n<this.length;n++)r=e(r,this.at(n),n,this);return r}reduceRight(e,t){let n=this.length-1,r;for(t===void 0?(r=this.at(n),n--):r=t;n>=0;n--)r=e(r,this.at(n),n,this);return r}slice(e=0,t){let n=t?Math.min(this.length,t):this.length,r=Array.from({length:n-e});for(let t=e;t<n;t++)r[t]=this.at(t);return r}join(e){return this.toArray().join(e)}toReversed(){return this.toArray().reverse()}toSorted(e){return this.toArray().sort(e)}toSpliced(e,t,...n){return this.toArray().splice(e,t,...n)}fill(e,t,n){let{length:r}=this,i=Math.max(t??0,0),a=Math.min(n??r,r);for(let t=i;t<a;t++)this.set(t,e);return this}copyWithin(e,t,n){let{length:r}=this,i=n??r,a=t<0?Math.max(r+t,0):t,o=e<0?Math.max(r+e,0):e,s=Math.min(i-a,r-o);for(let e=0;e<s;e++)this.set(o+e,this.at(a+e));return this}keys(){return Array.from({length:this.length},(e,t)=>t)[Symbol.iterator]()}values(){return this.toArray().values()}entries(){return this.toArray().entries()}flat(e){return this.toArray().flat(e)}with(e,t){return this.toArray().with(e,t)}includes(e,t){throw Error(_)}findLast(e,t){throw Error(_)}findLastIndex(e,t){throw Error(_)}indexOf(e,t){throw Error(_)}lastIndexOf(e,t){throw Error(_)}pop(){throw Error(g)}push(...e){throw Error(g)}reverse(){throw Error(g)}shift(){throw Error(g)}unshift(...e){throw Error(g)}splice(e,t,...n){throw Error(g)}sort(e){throw Error(g)}get[Symbol.unscopables](){return Array.prototype[Symbol.unscopables]}[Symbol.iterator](){return this.values()}toJSON(){return this.toArray()}toString(){return this.join(`,`)}toLocaleString(e,t){return this.toString()}[Symbol.toStringTag](){return`[object Array]`}static[Symbol.toStringTag](){return this._capnp.displayName}};function U(t,n,r,i){let a;switch(t){case e.BIT:a=r.segment.allocate(Math.ceil(n/8));break;case e.BYTE:case e.BYTE_2:case e.BYTE_4:case e.BYTE_8:case e.POINTER:a=r.segment.allocate(n*w(t));break;case e.COMPOSITE:{if(i===void 0)throw Error(v(`CAPNP-TS010 Attempted to set a composite list without providing a composite element size.`));i=Ce(i);let e=x(i)*n;a=r.segment.allocate(e+8),z(n,i,a);break}case e.VOID:R(0,t,n,r);return;default:throw Error(v(h,t))}let o=I(a.segment,a.byteOffset,r);R(o.offsetWords,t,n,o.pointer,i)}var Qe=class extends Ze{static fromPointer(t){return B(V.LIST,t,e.BYTE),this._fromPointerUnchecked(t)}static _fromPointerUnchecked(e){return new this(e.segment,e.byteOffset,e._capnp.depthLimit)}copyBuffer(e){let t=O(this),n=this.length,r=e.byteLength,i=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,Math.min(n,r)),a=new Uint8Array(t.segment.buffer,t.byteOffset,this.length);a.set(i),n>r&&a.fill(0,r,n)}get(e){let t=O(this);return t.segment.getUint8(t.byteOffset+e)}set(e,t){let n=O(this);n.segment.setUint8(n.byteOffset+e,t)}toArrayBuffer(){let e=O(this);return e.segment.buffer.slice(e.byteOffset,e.byteOffset+this.length)}toDataView(){let e=O(this);return new DataView(e.segment.buffer,e.byteOffset,this.length)}[Symbol.toStringTag](){return`Data_${super.toString()}`}toUint8Array(){let e=O(this);return new Uint8Array(e.segment.buffer,e.byteOffset,this.length)}};const $e=new TextEncoder,et=new TextDecoder;var tt=class extends Ze{static fromPointer(t){return B(V.LIST,t,e.BYTE),nt(t)}get(e=0){if(L(this))return``;let t=O(this);return et.decode(new Uint8Array(t.segment.buffer,t.byteOffset+e,this.length-e))}get length(){return super.length-1}set(t,n){let r=$e.encode(n),i=r.byteLength+t,a,o;if(!L(this)){a=O(this);let e=Math.min(this.length,t);o=new Uint8Array(a.segment.buffer.slice(a.byteOffset,a.byteOffset+e)),E(this)}U(e.BYTE,i+1,this),a=O(this);let s=new Uint8Array(a.segment.buffer,a.byteOffset,i);o&&s.set(o),s.set(r,t)}toString(){return this.get()}toJSON(){return this.get()}[Symbol.toPrimitive](){return this.get()}[Symbol.toStringTag](){return`Text_${super.toString()}`}};function nt(e){return new tt(e.segment,e.byteOffset,e._capnp.depthLimit)}var rt=class extends H{static _capnp={displayName:`Struct`};constructor(e,t,n=o,r){super(e,t,n),this._capnp.compositeIndex=r,this._capnp.compositeList=r!==void 0}static[Symbol.toStringTag](){return this._capnp.displayName}[Symbol.toStringTag](){return`Struct_${super.toString()}${this._capnp.compositeIndex===void 0?``:`,ci:${this._capnp.compositeIndex}`} > ${O(this).toString()}`}},it=class extends rt{static _capnp={displayName:`AnyStruct`,id:`0`,size:new Se(0,0)}},at=class{struct(){return Promise.resolve(this.structSync())}},ot=class extends at{constructor(e){super(),this.err=e}structSync(){throw this.err}pipelineCall(e,t){return this}pipelineClose(e){throw this.err}},st=class{constructor(e){this.err=e}call(e){return new ot(this.err)}close(){throw this.err}};function ct(e){return e??new st(Error(re))}const W=new DataView(new ArrayBuffer(8));function lt(e,t){if(t._capnp.compositeIndex!==void 0)throw Error(v(`CAPNP-TS013 Attempted to initialize a struct member from a composite list (%s).`,t));E(t);let n=t.segment.allocate(x(e)),r=I(n.segment,n.byteOffset,t);z(r.offsetWords,e,r.pointer)}function ut(e,t,n){let r=Tt(e,t,n);return lt(t._capnp.size,r),r}function G(e,t){let{pointerLength:n}=J(t);if(e<0||e>=n)throw Error(v(`CAPNP-TS021 Attempted to access out-of-bounds struct pointer (%s, index: %d, length: %d).`,t,e,n))}function dt(e,t){return ft(wt(e,t))}function ft(e){let t=null,n=Ge(e),{capTable:r}=e.segment.message._capnp;return r&&n>=0&&n<r.length&&(t=r[n]),ct(t)}function pt(t,n){let r=J(n),i=O(n),a=n.segment.allocate(x(t));a.segment.copyWords(a.byteOffset,i.segment,i.byteOffset,Math.min(S(r),S(t)));let o=I(a.segment,a.byteOffset,n);z(o.offsetWords,t,o.pointer);for(let n=0;n<Math.min(r.pointerLength,t.pointerLength);n++){let o=new H(i.segment,i.byteOffset+r.dataByteLength+n*8);if(L(o))continue;let s=D(o),c=O(o),l=new H(a.segment,a.byteOffset+t.dataByteLength+n*8);P(o)===V.LIST&&M(o)===e.COMPOSITE&&(c.byteOffset-=8);let u=I(c.segment,c.byteOffset,l),d=s.segment.getUint8(s.byteOffset)&3,f=s.segment.getUint32(s.byteOffset+4);u.pointer.segment.setUint32(u.pointer.byteOffset,d|u.offsetWords<<2),u.pointer.segment.setUint32(u.pointer.byteOffset+4,f)}i.segment.fillZeroWords(i.byteOffset,C(r))}function mt(e,t){return new e(t.segment,t.byteOffset,t._capnp.depthLimit,t._capnp.compositeIndex)}function ht(e,t,n){let r=Math.floor(e/8),i=1<<e%8;Y(r,1,t);let a=K(t),o=a.segment.getUint8(a.byteOffset+r);return n===void 0?(o&i)!==0:((o^n.getUint8(0))&i)!==0}function gt(t,n,r){G(t,n);let i=q(n);i.byteOffset+=t*8;let a=new Qe(i.segment,i.byteOffset,n._capnp.depthLimit-1);return L(a)&&(r?T(r,a):U(e.BYTE,0,a)),a}function K(e){return O(e)}function _t(e,t,n){Y(e,4,t);let r=K(t);if(n===void 0)return r.segment.getFloat32(r.byteOffset+e);let i=r.segment.getUint32(r.byteOffset+e)^n.getUint32(0,!0);return W.setUint32(0,i,a),W.getFloat32(0,a)}function vt(e,t,n){Y(e,8,t);let r=K(t);if(n!==void 0){let t=r.segment.getUint32(r.byteOffset+e)^n.getUint32(0,!0),i=r.segment.getUint32(r.byteOffset+e+4)^n.getUint32(4,!0);return W.setUint32(0,t,a),W.setUint32(4,i,a),W.getFloat64(0,a)}return r.segment.getFloat64(r.byteOffset+e)}function yt(e,t,n){Y(e,2,t);let r=K(t);if(n===void 0)return r.segment.getInt16(r.byteOffset+e);let i=r.segment.getUint16(r.byteOffset+e)^n.getUint16(0,!0);return W.setUint16(0,i,a),W.getInt16(0,a)}function bt(e,t,n){Y(e,4,t);let r=K(t);if(n===void 0)return r.segment.getInt32(r.byteOffset+e);let i=r.segment.getUint32(r.byteOffset+e)^n.getUint16(0,!0);return W.setUint32(0,i,a),W.getInt32(0,a)}function xt(e,t,n){Y(e,8,t);let r=K(t);if(n!==void 0){let t=r.segment.getUint32(r.byteOffset+e)^n.getUint32(0,!0),i=r.segment.getUint32(r.byteOffset+e+4)^n.getUint32(4,!0);return W.setUint32(a?0:4,t,a),W.setUint32(a?4:0,i,a),W.getBigInt64(0,a)}return r.segment.getInt64(r.byteOffset+e)}function St(e,t,n){Y(e,1,t);let r=K(t);if(n===void 0)return r.segment.getInt8(r.byteOffset+e);let i=r.segment.getUint8(r.byteOffset+e)^n.getUint8(0);return W.setUint8(0,i),W.getInt8(0)}function Ct(t,n,r,i){G(t,r);let a=q(r);a.byteOffset+=t*8;let o=new n(a.segment,a.byteOffset,r._capnp.depthLimit-1);if(L(o))i?T(i,o):U(n._capnp.size,0,o,n._capnp.compositeSize);else if(n._capnp.compositeSize!==void 0){let t=Be(o),r=n._capnp.compositeSize;if(r.dataByteLength>t.dataByteLength||r.pointerLength>t.pointerLength){let i=O(o),a=N(o),s=o.segment.allocate(x(r)*a+8),c=I(s.segment,s.byteOffset,o);R(c.offsetWords,n._capnp.size,a,c.pointer,r),z(a,r,s),s.byteOffset+=8;for(let n=0;n<a;n++){let a=i.byteOffset+n*x(t),o=s.byteOffset+n*x(r);s.segment.copyWords(o,i.segment,a,C(t));for(let n=0;n<t.pointerLength;n++){let c=new H(i.segment,a+t.dataByteLength+n*8),l=new H(s.segment,o+r.dataByteLength+n*8),u=D(c),d=O(c);P(c)===V.LIST&&M(c)===e.COMPOSITE&&(d.byteOffset-=8);let f=I(d.segment,d.byteOffset,l),p=u.segment.getUint8(u.byteOffset)&3,m=u.segment.getUint32(u.byteOffset+4);f.pointer.segment.setUint32(f.pointer.byteOffset,p|f.offsetWords<<2),f.pointer.segment.setUint32(f.pointer.byteOffset+4,m)}}i.segment.fillZeroWords(i.byteOffset,C(t)*a)}}return o}function wt(e,t){G(e,t);let n=q(t);return n.byteOffset+=e*8,new H(n.segment,n.byteOffset,t._capnp.depthLimit-1)}function Tt(e,t,n){G(e,n);let r=q(n);return r.byteOffset+=e*8,new t(r.segment,r.byteOffset,n._capnp.depthLimit-1)}function q(e){let t=O(e);return t.byteOffset+=b(J(e).dataByteLength),t}function J(e){if(e._capnp.compositeIndex!==void 0){let t=O(e,!0);return t.byteOffset-=8,j(t)}return F(e)}function Et(e,t,n,r){let i=Tt(e,t,n);if(L(i))r?T(r,i):lt(t._capnp.size,i);else{B(V.STRUCT,i);let e=F(i);(e.dataByteLength<t._capnp.size.dataByteLength||e.pointerLength<t._capnp.size.pointerLength)&&pt(t._capnp.size,i)}return i}function Dt(e,t,n){let r=tt.fromPointer(wt(e,t));return L(r)&&n&&r.set(0,n),r.get(0)}function Ot(e,t,n){Y(e,2,t);let r=K(t);return n===void 0?r.segment.getUint16(r.byteOffset+e):r.segment.getUint16(r.byteOffset+e)^n.getUint16(0,!0)}function kt(e,t,n){Y(e,4,t);let r=K(t);return n===void 0?r.segment.getUint32(r.byteOffset+e):r.segment.getUint32(r.byteOffset+e)^n.getUint32(0,!0)}function At(e,t,n){Y(e,8,t);let r=K(t);if(n!==void 0){let t=r.segment.getUint32(r.byteOffset+e)^n.getUint32(0,!0),i=r.segment.getUint32(r.byteOffset+e+4)^n.getUint32(4,!0);return W.setUint32(a?0:4,t,a),W.setUint32(a?4:0,i,a),W.getBigUint64(0,a)}return r.segment.getUint64(r.byteOffset+e)}function jt(e,t,n){Y(e,1,t);let r=K(t);return n===void 0?r.segment.getUint8(r.byteOffset+e):r.segment.getUint8(r.byteOffset+e)^n.getUint8(0)}function Mt(t,n,r){G(t,r);let i=q(r);i.byteOffset+=t*8;let a=new Qe(i.segment,i.byteOffset,r._capnp.depthLimit-1);return E(a),U(e.BYTE,n,a),a}function Nt(e,t,n,r){G(e,r);let i=q(r);i.byteOffset+=e*8;let a=new t(i.segment,i.byteOffset,r._capnp.depthLimit-1);return E(a),U(t._capnp.size,n,a,t._capnp.compositeSize),a}function Pt(e,t,n,r){let i=Math.floor(e/8),a=1<<e%8;Y(i,1,n);let o=K(n),s=o.segment.getUint8(o.byteOffset+i);r!==void 0&&(t=(r.getUint8(0)&a)===0?t:!t),o.segment.setUint8(o.byteOffset+i,t?s|a:s&~a)}function Ft(e,t,n,r){Y(e,4,n);let i=K(n);if(r!==void 0){W.setFloat32(0,t,a);let n=W.getUint32(0,a)^r.getUint32(0,!0);i.segment.setUint32(i.byteOffset+e,n);return}i.segment.setFloat32(i.byteOffset+e,t)}function It(e,t,n,r){Y(e,8,n);let i=K(n);if(r!==void 0){W.setFloat64(0,t,a);let n=W.getUint32(0,a)^r.getUint32(0,!0),o=W.getUint32(4,a)^r.getUint32(4,!0);i.segment.setUint32(i.byteOffset+e,n),i.segment.setUint32(i.byteOffset+e+4,o);return}i.segment.setFloat64(i.byteOffset+e,t)}function Lt(e,t,n,r){Y(e,2,n);let i=K(n);if(r!==void 0){W.setInt16(0,t,a);let n=W.getUint16(0,a)^r.getUint16(0,!0);i.segment.setUint16(i.byteOffset+e,n);return}i.segment.setInt16(i.byteOffset+e,t)}function Rt(e,t,n,r){Y(e,4,n);let i=K(n);if(r!==void 0){W.setInt32(0,t,a);let n=W.getUint32(0,a)^r.getUint32(0,!0);i.segment.setUint32(i.byteOffset+e,n);return}i.segment.setInt32(i.byteOffset+e,t)}function zt(e,t,n,r){Y(e,8,n);let i=K(n);if(r!==void 0){W.setBigInt64(0,t,a);let n=W.getUint32(a?0:4,a)^r.getUint32(0,!0),o=W.getUint32(a?4:0,a)^r.getUint32(4,!0);i.segment.setUint32(i.byteOffset+e,n),i.segment.setUint32(i.byteOffset+e+4,o);return}i.segment.setInt64(i.byteOffset+e,t)}function Bt(e,t,n,r){Y(e,1,n);let i=K(n);if(r!==void 0){W.setInt8(0,t);let n=W.getUint8(0)^r.getUint8(0);i.segment.setUint8(i.byteOffset+e,n);return}i.segment.setInt8(i.byteOffset+e,t)}function Vt(e,t,n){tt.fromPointer(wt(e,n)).set(0,t)}function Ht(e,t,n,r){Y(e,2,n);let i=K(n);r!==void 0&&(t^=r.getUint16(0,!0)),i.segment.setUint16(i.byteOffset+e,t)}function Ut(e,t,n,r){Y(e,4,n);let i=K(n);r!==void 0&&(t^=r.getUint32(0,!0)),i.segment.setUint32(i.byteOffset+e,t)}function Wt(e,t,n,r){Y(e,8,n);let i=K(n);if(r!==void 0){W.setBigUint64(0,t,a);let n=W.getUint32(a?0:4,a)^r.getUint32(0,!0),o=W.getUint32(a?4:0,a)^r.getUint32(4,!0);i.segment.setUint32(i.byteOffset+e,n),i.segment.setUint32(i.byteOffset+e+4,o);return}i.segment.setUint64(i.byteOffset+e,t)}function Gt(e,t,n,r){Y(e,1,n);let i=K(n);r!==void 0&&(t^=r.getUint8(0)),i.segment.setUint8(i.byteOffset+e,t)}function Kt(e,t,n,r){if(t!==n)throw Error(v(`CAPNP-TS018 Attempted to access getter on %s for union field %s that is not currently set (wanted: %d, found: %d).`,r,e,t,n))}function Y(e,t,n){let{dataByteLength:r}=J(n);if(e<0||t<0||e+t>r)throw Error(v(`CAPNP-TS020 Attempted to access out-of-bounds struct data (struct: %s, %d bytes at %a, data words: %d).`,n,t,e,r))}function qt(t){return class extends Ze{static _capnp={compositeSize:t._capnp.size,displayName:`List<${t._capnp.displayName}>`,size:e.COMPOSITE};get(e){return new t(this.segment,this.byteOffset,this._capnp.depthLimit-1,e)}set(e,t){T(t,this.get(e))}[Symbol.toStringTag](){return`Composite_${super.toString()},cls:${t.toString()}`}}}function X(e,t){return n=>{let r=new DataView(new ArrayBuffer(e));return t.call(r,0,n,!0),r}}const Jt=X(4,DataView.prototype.setFloat32),Yt=X(8,DataView.prototype.setFloat64),Xt=X(2,DataView.prototype.setInt16),Zt=X(4,DataView.prototype.setInt32),Qt=X(8,DataView.prototype.setBigInt64),$t=X(1,DataView.prototype.setInt8),en=X(2,DataView.prototype.setUint16),tn=X(4,DataView.prototype.setUint32),nn=X(8,DataView.prototype.setBigUint64),rn=X(1,DataView.prototype.setUint8);function an(e,t){let n=new DataView(new ArrayBuffer(1));return e&&n.setUint8(0,1<<t%8),n}var Z=(e=>(e[e.SINGLE_SEGMENT=0]=`SINGLE_SEGMENT`,e[e.MULTI_SEGMENT=1]=`MULTI_SEGMENT`,e))(Z||{}),on=class{buffer;id;constructor(e,t){this.id=e,this.buffer=t}},sn=class{constructor(e=[new ArrayBuffer(n)]){this.buffers=e;let t=e.length;for(;--t>=0;)if(e[t].byteLength&7)throw Error(v(te,e[t].byteLength))}static allocate=cn;static getBuffer=ln;static getNumSegments=un;kind=Z.MULTI_SEGMENT;toString(){return v(`MultiSegmentArena_segments:%d`,un(this))}};function cn(e,t){let r=new ArrayBuffer(b(Math.max(e,n)));return t.buffers.push(r),new on(t.buffers.length-1,r)}function ln(e,t){if(e<0||e>=t.buffers.length)throw Error(v(`CAPNP-TS036 Attempted to get an out-of-bounds segment (%d).`,e));return t.buffers[e]}function un(e){return e.buffers.length}var Q=class{static allocate=dn;static getBuffer=fn;static getNumSegments=pn;buffer;kind=Z.SINGLE_SEGMENT;constructor(e=new ArrayBuffer(n)){if(e.byteLength&7)throw Error(v(te,e.byteLength));this.buffer=e}toString(){return v(`SingleSegmentArena_len:%x`,this.buffer.byteLength)}};function dn(e,t,n){let r=t.length>0?t[0].buffer:n.buffer;return e=e<i?i:b(e),n.buffer=new ArrayBuffer(r.byteLength+e),new Float64Array(n.buffer).set(new Float64Array(r)),new on(0,n.buffer)}function fn(e,t){if(e!==0)throw Error(v(`CAPNP-TS035 Attempted to get a segment other than 0 (%d) from a single segment arena.`,e));return t.buffer}function pn(){return 1}var $=class{static allocate=mn;static copy=hn;static getBuffer=gn;static getNumSegments=_n};function mn(e,t,n){switch(n.kind){case Z.MULTI_SEGMENT:return sn.allocate(e,n);case Z.SINGLE_SEGMENT:return Q.allocate(e,t,n);default:return l(n)}}function hn(e){switch(e.kind){case Z.MULTI_SEGMENT:{let t=e.buffers.length,n=Array.from({length:t});for(;--t>=0;)n[t]=e.buffers[t].slice(0);return new sn(n)}case Z.SINGLE_SEGMENT:return new Q(e.buffer.slice(0));default:return l(e)}}function gn(e,t){switch(t.kind){case Z.MULTI_SEGMENT:return sn.getBuffer(e,t);case Z.SINGLE_SEGMENT:return Q.getBuffer(e,t);default:return l(t)}}function _n(e){switch(e.kind){case Z.MULTI_SEGMENT:return sn.getNumSegments(e);case Z.SINGLE_SEGMENT:return Q.getNumSegments();default:return l(e)}}function vn(e){let t=e-(e>>1&1431655765);return t=(t&858993459)+(t>>2&858993459),(t+(t>>4)&252645135)*16843009>>24}function yn(e,t,n,r,i,a,o,s){return(e===0?0:1)|(t===0?0:2)|(n===0?0:4)|(r===0?0:8)|(i===0?0:16)|(a===0?0:32)|(o===0?0:64)|(s===0?0:128)}function bn(e){let t=new Uint8Array(e),n=0,r=119;for(let e=0;e<t.byteLength;){let i=t[e];r===0?(n+=i,e++,r=119):r===255?(n+=i,e+=i*8+1,r=119):(n++,e+=vn(i)+1,r=i)}return n*8}function xn(e,t,n,r,i,a,o,s){return(e===0?1:0)+(t===0?1:0)+(n===0?1:0)+(r===0?1:0)+(i===0?1:0)+(a===0?1:0)+(o===0?1:0)+(s===0?1:0)}function Sn(e,t=0,n){if(e.byteLength%8!=0)throw Error(`CAPNP-TS003 Attempted to pack a message that was not word-aligned.`);let r=new Uint8Array(e,t,n),i=[],a=119,o=0,s=0;for(let e=0;e<r.byteLength;e+=8){let t=r[e],n=r[e+1],c=r[e+2],l=r[e+3],u=r[e+4],d=r[e+5],f=r[e+6],p=r[e+7],m=yn(t,n,c,l,u,d,f,p),h=!0;switch(a){case 0:m!==0||s>=255?(i.push(s),s=0,h=!1):s++;break;case 255:xn(t,n,c,l,u,d,f,p)>=2||s>=255?(i[o]=s,s=0,h=!1):(i.push(t,n,c,l,u,d,f,p),s++);break;default:h=!1;break}h||(i.push(m),a=m,t!==0&&i.push(t),n!==0&&i.push(n),c!==0&&i.push(c),l!==0&&i.push(l),u!==0&&i.push(u),d!==0&&i.push(d),f!==0&&i.push(f),p!==0&&i.push(p),m===255&&(o=i.length,i.push(0)))}return a===0?i.push(s):a===255&&(i[o]=s),new Uint8Array(i).buffer}function Cn(e){let t=new Uint8Array(e),n=new Uint8Array(new ArrayBuffer(bn(e))),r=119;for(let e=0,i=0;e<t.byteLength;){let a=t[e];if(r===0)i+=a*8,e++,r=119;else if(r===255){let o=a*8;n.set(t.subarray(e+1,e+1+o),i),i+=o,e+=1+o,r=119}else{e++;for(let r=1;r<=128;r<<=1)(a&r)!==0&&(n[i]=t[e++]),i++;r=a}}return n.buffer}var wn=class{constructor(e,t,n,r=0){this.id=e,this.message=t,this.message=t,this.buffer=n,this._dv=new DataView(n),this.byteOffset=0,this.byteLength=r}buffer;byteLength;byteOffset;[Symbol.toStringTag]=`Segment`;_dv;allocate(e){let t=this;if(e=b(e),e>s-8)throw Error(v(ne,e));t.hasCapacity(e)||(t=t.message.allocateSegment(e));let n=t.byteLength;return t.byteLength+=e,new H(t,n)}copyWord(e,t,n){let r=t._dv.getFloat64(n,a);this._dv.setFloat64(e,r,a)}copyWords(e,t,n,r){let i=new Float64Array(this.buffer,e,r),a=new Float64Array(t.buffer,n,r);i.set(a)}fillZeroWords(e,t){new Float64Array(this.buffer,e,t).fill(0)}getBigInt64(e,t){return this._dv.getBigInt64(e,t)}getBigUint64(e,t){return this._dv.getBigUint64(e,t)}getCapacity(){return this.buffer.byteLength}getFloat32(e){return this._dv.getFloat32(e,!0)}getFloat64(e){return this._dv.getFloat64(e,!0)}getInt16(e){return this._dv.getInt16(e,!0)}getInt32(e){return this._dv.getInt32(e,!0)}getInt64(e){return this._dv.getBigInt64(e,!0)}getInt8(e){return this._dv.getInt8(e)}getUint16(e){return this._dv.getUint16(e,!0)}getUint32(e){return this._dv.getUint32(e,!0)}getUint64(e){return this._dv.getBigUint64(e,!0)}getUint8(e){return this._dv.getUint8(e)}hasCapacity(e){return this.buffer.byteLength-this.byteLength>=e}isWordZero(e){return this._dv.getFloat64(e,a)===0}replaceBuffer(e){if(this.buffer!==e){if(e.byteLength<this.byteLength)throw Error(`CAPNP-TS038 Attempted to replace a segment buffer with one that is smaller than the allocated space.`);this._dv=new DataView(e),this.buffer=e}}setBigInt64(e,t,n){this._dv.setBigInt64(e,t,n)}setBigUint64(e,t,n){this._dv.setBigUint64(e,t,n)}setFloat32(e,t){this._dv.setFloat32(e,t,!0)}setFloat64(e,t){this._dv.setFloat64(e,t,!0)}setInt16(e,t){this._dv.setInt16(e,t,!0)}setInt32(e,t){this._dv.setInt32(e,t,!0)}setInt8(e,t){this._dv.setInt8(e,t)}setInt64(e,t){this._dv.setBigInt64(e,t,!0)}setUint16(e,t){this._dv.setUint16(e,t,!0)}setUint32(e,t){this._dv.setUint32(e,t,!0)}setUint64(e,t){this._dv.setBigUint64(e,t,!0)}setUint8(e,t){this._dv.setUint8(e,t)}setWordZero(e){this._dv.setFloat64(e,0,a)}toString(){return v(`Segment_id:%d,off:%a,len:%a,cap:%a`,this.id,this.byteLength,this.byteOffset,this.buffer.byteLength)}},Tn=class{static allocateSegment=jn;static dump=Mn;static getRoot=Nn;static getSegment=Pn;static initRoot=Fn;static readRawPointer=In;static toArrayBuffer=Rn;static toPackedArrayBuffer=zn;_capnp;constructor(e,t=!0,n=!1){this._capnp=En(e,t,n),e&&On(this)}allocateSegment(e){return jn(e,this)}copy(){return Vn(this)}dump(){return Mn(this)}getRoot(e){return Nn(e,this)}getSegment(e){return Pn(e,this)}initRoot(e){return Fn(e,this)}setRoot(e){Ln(e,this)}toArrayBuffer(){return Rn(this)}toPackedArrayBuffer(){return zn(this)}addCap(e){this._capnp.capTable||(this._capnp.capTable=[]);let t=this._capnp.capTable.length;return this._capnp.capTable.push(e),t}toString(){return`Message_arena:${this._capnp.arena}`}};function En(e,t=!0,n=!1){if(e===void 0)return{arena:new Q,segments:[],traversalLimit:r};if(An(e))return{arena:e,segments:[],traversalLimit:r};let i=e;return kn(i)&&(i=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)),t&&(i=Cn(i)),n?{arena:new Q(i),segments:[],traversalLimit:r}:{arena:new sn(Dn(i)),segments:[],traversalLimit:r}}function Dn(e){let t=new DataView(e),n=t.getUint32(0,!0)+1,r=Array.from({length:n}),i=4+n*4;if(i+=i%8,i+n*4>e.byteLength)throw Error(u);for(let a=0;a<n;a++){let n=t.getUint32(4+a*4,!0)*8;if(i+n>e.byteLength)throw Error(u);r[a]=e.slice(i,i+n),i+=n}return r}function On(e){let t=$.getNumSegments(e._capnp.arena);e._capnp.segments=Array.from({length:t});for(let n=0;n<t;n++){if(n===0&&$.getBuffer(n,e._capnp.arena).byteLength<8)throw Error(f);let t=$.getBuffer(n,e._capnp.arena),r=new wn(n,e,t,t.byteLength);e._capnp.segments[n]=r}}function kn(e){return e.byteOffset!==void 0}function An(e){return e.kind!==void 0}function jn(e,t){let n=$.allocate(e,t._capnp.segments,t._capnp.arena),r;if(n.id===t._capnp.segments.length)r=new wn(n.id,t,n.buffer),t._capnp.segments.push(r);else if(n.id<0||n.id>t._capnp.segments.length)throw Error(v(d,n.id,t));else r=t._capnp.segments[n.id],r.replaceBuffer(n.buffer);return r}function Mn(e){let t=``;if(e._capnp.segments.length===0)return`================
6
- No Segments
7
- ================
8
- `;for(let n=0;n<e._capnp.segments.length;n++){t+=`================
9
- Segment #${n}
10
- ================
11
- `;let{buffer:r,byteLength:i}=e._capnp.segments[n],a=new Uint8Array(r,0,i);t+=xe(a)}return t}function Nn(e,t){let n=new e(t.getSegment(0),0);B(V.STRUCT,n);let r=F(n);return(r.dataByteLength<e._capnp.size.dataByteLength||r.pointerLength<e._capnp.size.pointerLength)&&pt(e._capnp.size,n),n}function Pn(e,t){let r=t._capnp.segments.length;if(e===0&&r===0){if($.getNumSegments(t._capnp.arena)===0?jn(n,t):t._capnp.segments[0]=new wn(0,t,$.getBuffer(0,t._capnp.arena)),!t._capnp.segments[0].hasCapacity(8))throw Error(f);return t._capnp.segments[0].allocate(8),t._capnp.segments[0]}if(e<0||e>=r)throw Error(v(d,e,t));return t._capnp.segments[e]}function Fn(e,t){let n=new e(t.getSegment(0),0);return lt(e._capnp.size,n),n}function In(e){return new H(new Tn(e).getSegment(0),0)}function Ln(e,t){T(e,new H(t.getSegment(0),0))}function Rn(e){let t=Bn(e);e._capnp.segments.length===0&&Pn(0,e);let{segments:n}=e._capnp,r=t.byteLength+n.reduce((e,t)=>e+b(t.byteLength),0),i=new Uint8Array(new ArrayBuffer(r)),a=t.byteLength;i.set(new Uint8Array(t));for(let e of n){let t=b(e.byteLength);i.set(new Uint8Array(e.buffer,0,t),a),a+=t}return i.buffer}function zn(e){let t=Sn(Bn(e));e._capnp.segments.length===0&&e.getSegment(0);let n=e._capnp.segments.map(e=>Sn(e.buffer,0,b(e.byteLength))),r=t.byteLength+n.reduce((e,t)=>e+t.byteLength,0),i=new Uint8Array(new ArrayBuffer(r)),a=t.byteLength;i.set(new Uint8Array(t));for(let e of n)i.set(new Uint8Array(e),a),a+=e.byteLength;return i.buffer}function Bn(e){let{length:t}=e._capnp.segments;if(t===0)return new Float64Array(1).buffer;let n=4+t*4+(1-t%2)*4,r=new DataView(new ArrayBuffer(n));r.setUint32(0,t-1,!0);for(let[t,n]of e._capnp.segments.entries())r.setUint32(t*4+4,n.byteLength/8,!0);return r.buffer}function Vn(e){return new Tn($.copy(e._capnp.arena))}export{ct as $,Mt as $t,le as A,Fe as At,de as B,Re as Bt,o as C,Wt as Cn,St as Ct,H as D,B as Dn,Ct as Dt,we as E,Ye as En,Ge as Et,se as F,q as Ft,fe as G,N as Gt,ue as H,Be as Ht,he as I,A as It,tt as J,Dt as Jt,oe as K,P as Kt,ce as L,J as Lt,ge as M,k as Mt,ve as N,wt as Nt,Xe as O,Oe as Ot,ye as P,Tt as Pt,G as Q,jt as Qt,_e as R,Et as Rt,e as S,Ut as Sn,xt as St,Se as T,Kt as Tn,dt as Tt,pe as U,ze as Ut,ae as V,j as Vt,me as W,M as Wt,Te as X,kt as Xt,ke as Y,Ot as Yt,Y as Z,At as Zt,ot as _,We as _n,Pe as _t,Jt as a,L as an,De as at,c as b,Vt as bn,yt as bt,Zt as c,pt as cn,je as ct,en as d,Ft as dn,mt as dt,Nt as en,T as et,tn as f,It as fn,ht as ft,Qe as g,Bt as gn,K as gt,it as h,zt as hn,gt as ht,an as i,Ve as in,Ee as it,ie as j,Ie as jt,V as k,w as kt,Qt as l,Pt as ln,D as lt,rn as m,Rt as mn,O as mt,In as n,lt as nn,qe as nt,Yt as o,y as on,E as ot,nn as p,Lt as pn,Me as pt,rt as q,F as qt,qt as r,ut as rn,Je as rt,Xt as s,He as sn,Ae as st,Tn as t,I as tn,Ke as tt,$t as u,Ue as un,v as ut,st as v,R as vn,_t as vt,p as w,Gt as wn,ft as wt,Ze as x,Ht as xn,bt as xt,at as y,z as yn,vt as yt,re as z,Le as zt};
12
- //# sourceMappingURL=capnp-es.GpvEvMIK-BsgDzeBH.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capnp-es.GpvEvMIK-BsgDzeBH.mjs","names":["dump","#proxyHandler","padToWord"],"sources":["../../../../node_modules/.pnpm/capnp-es@0.0.11_patch_hash=503a440bd2bef41c0cb22819bc4ced5a7f04993fb999f0d944e284220f14916b_typescript@5.9.3/node_modules/capnp-es/dist/shared/capnp-es.0-_cOx6D.mjs","../../../../node_modules/.pnpm/capnp-es@0.0.11_patch_hash=503a440bd2bef41c0cb22819bc4ced5a7f04993fb999f0d944e284220f14916b_typescript@5.9.3/node_modules/capnp-es/dist/shared/capnp-es.BvfUH5E6.mjs","../../../../node_modules/.pnpm/capnp-es@0.0.11_patch_hash=503a440bd2bef41c0cb22819bc4ced5a7f04993fb999f0d944e284220f14916b_typescript@5.9.3/node_modules/capnp-es/dist/shared/capnp-es.GpvEvMIK.mjs"],"sourcesContent":["var ListElementSize = /* @__PURE__ */ ((ListElementSize2) => {\n ListElementSize2[ListElementSize2[\"VOID\"] = 0] = \"VOID\";\n ListElementSize2[ListElementSize2[\"BIT\"] = 1] = \"BIT\";\n ListElementSize2[ListElementSize2[\"BYTE\"] = 2] = \"BYTE\";\n ListElementSize2[ListElementSize2[\"BYTE_2\"] = 3] = \"BYTE_2\";\n ListElementSize2[ListElementSize2[\"BYTE_4\"] = 4] = \"BYTE_4\";\n ListElementSize2[ListElementSize2[\"BYTE_8\"] = 5] = \"BYTE_8\";\n ListElementSize2[ListElementSize2[\"POINTER\"] = 6] = \"POINTER\";\n ListElementSize2[ListElementSize2[\"COMPOSITE\"] = 7] = \"COMPOSITE\";\n return ListElementSize2;\n})(ListElementSize || {});\n\nconst tmpWord = new DataView(new ArrayBuffer(8));\nnew Uint16Array(tmpWord.buffer)[0] = 258;\nconst DEFAULT_BUFFER_SIZE = 4096;\nconst DEFAULT_TRAVERSE_LIMIT = 64 << 20;\nconst LIST_SIZE_MASK = 7;\nconst MAX_BUFFER_DUMP_BYTES = 8192;\nconst MAX_INT32 = 2147483647;\nconst MAX_UINT32 = 4294967295;\nconst MIN_SINGLE_SEGMENT_GROWTH = 4096;\nconst NATIVE_LITTLE_ENDIAN = tmpWord.getUint8(0) === 2;\nconst PACK_SPAN_THRESHOLD = 2;\nconst POINTER_DOUBLE_FAR_MASK = 4;\nconst POINTER_TYPE_MASK = 3;\nconst MAX_DEPTH = MAX_INT32;\nconst MAX_SEGMENT_LENGTH = MAX_UINT32;\n\nconst INVARIANT_UNREACHABLE_CODE = \"CAPNP-TS000 Unreachable code detected.\";\nfunction assertNever(n) {\n throw new Error(INVARIANT_UNREACHABLE_CODE + ` (never block hit with: ${n})`);\n}\nconst MSG_INVALID_FRAME_HEADER = \"CAPNP-TS001 Attempted to parse an invalid message frame header; are you sure this is a Cap'n Proto message?\";\nconst MSG_PACK_NOT_WORD_ALIGNED = \"CAPNP-TS003 Attempted to pack a message that was not word-aligned.\";\nconst MSG_SEGMENT_OUT_OF_BOUNDS = \"CAPNP-TS004 Segment ID %X is out of bounds for message %s.\";\nconst MSG_SEGMENT_TOO_SMALL = \"CAPNP-TS005 First segment must have at least enough room to hold the root pointer (8 bytes).\";\nconst NOT_IMPLEMENTED = \"CAPNP-TS006 %s is not implemented.\";\nconst PTR_ADOPT_WRONG_MESSAGE = \"CAPNP-TS008 Attempted to adopt %s into a pointer in a different message %s.\";\nconst PTR_ALREADY_ADOPTED = \"CAPNP-TS009 Attempted to adopt %s more than once.\";\nconst PTR_COMPOSITE_SIZE_UNDEFINED = \"CAPNP-TS010 Attempted to set a composite list without providing a composite element size.\";\nconst PTR_DEPTH_LIMIT_EXCEEDED = \"CAPNP-TS011 Nesting depth limit exceeded for %s.\";\nconst PTR_INIT_COMPOSITE_STRUCT = \"CAPNP-TS013 Attempted to initialize a struct member from a composite list (%s).\";\nconst PTR_INVALID_FAR_TARGET = \"CAPNP-TS015 Target of a far pointer (%s) is another far pointer.\";\nconst PTR_INVALID_LIST_SIZE = \"CAPNP-TS016 Invalid list element size: %x.\";\nconst PTR_INVALID_POINTER_TYPE = \"CAPNP-TS017 Invalid pointer type: %x.\";\nconst PTR_INVALID_UNION_ACCESS = \"CAPNP-TS018 Attempted to access getter on %s for union field %s that is not currently set (wanted: %d, found: %d).\";\nconst PTR_OFFSET_OUT_OF_BOUNDS = \"CAPNP-TS019 Pointer offset %a is out of bounds for underlying buffer.\";\nconst PTR_STRUCT_DATA_OUT_OF_BOUNDS = \"CAPNP-TS020 Attempted to access out-of-bounds struct data (struct: %s, %d bytes at %a, data words: %d).\";\nconst PTR_STRUCT_POINTER_OUT_OF_BOUNDS = \"CAPNP-TS021 Attempted to access out-of-bounds struct pointer (%s, index: %d, length: %d).\";\nconst PTR_TRAVERSAL_LIMIT_EXCEEDED = \"CAPNP-TS022 Traversal limit exceeded! Slow down! %s\";\nconst PTR_WRONG_LIST_TYPE = \"CAPNP-TS023 Cannot convert %s to a %s list.\";\nconst PTR_WRONG_POINTER_TYPE = \"CAPNP-TS024 Attempted to convert pointer %s to a %s type.\";\nconst SEG_GET_NON_ZERO_SINGLE = \"CAPNP-TS035 Attempted to get a segment other than 0 (%d) from a single segment arena.\";\nconst SEG_ID_OUT_OF_BOUNDS = \"CAPNP-TS036 Attempted to get an out-of-bounds segment (%d).\";\nconst SEG_NOT_WORD_ALIGNED = \"CAPNP-TS037 Segment buffer length %d is not a multiple of 8.\";\nconst SEG_REPLACEMENT_BUFFER_TOO_SMALL = \"CAPNP-TS038 Attempted to replace a segment buffer with one that is smaller than the allocated space.\";\nconst SEG_SIZE_OVERFLOW = `CAPNP-TS039 Requested size %x exceeds maximum value (${MAX_SEGMENT_LENGTH}).`;\nconst TYPE_COMPOSITE_SIZE_UNDEFINED = \"CAPNP-TS040 Must provide a composite element size for composite list pointers.\";\nconst LIST_NO_MUTABLE = \"CAPNP-TS045: Cannot call mutative methods on an immutable list.\";\nconst LIST_NO_SEARCH = \"CAPNP-TS046: Search is not supported for list.\";\nconst RPC_NULL_CLIENT = \"CAPNP-TS100 Call on null client.\";\nconst RPC_CALL_QUEUE_FULL = \"CAPNP-TS101 Promised answer call queue full.\";\nconst RPC_QUEUE_CALL_CANCEL = \"CAPNP-TS102 Queue call canceled.\";\nconst RPC_ZERO_REF = \"CAPNP-TS105 Ref() called on zeroed refcount.\";\nconst RPC_IMPORT_CLOSED = \"CAPNP-TS106 Call on closed import.\";\nconst RPC_METHOD_NOT_IMPLEMENTED = \"CAPNP-TS107 Method not implemented.\";\nconst RPC_BAD_TARGET = \"CAPNP-TS109 Target not found.\";\nconst RPC_RETURN_FOR_UNKNOWN_QUESTION = \"CAPNP-TS111 Received return for unknown question (id=%s).\";\nconst RPC_QUESTION_ID_REUSED = \"CAPNP-TS112 Attempted to re-use question id (%s).\";\nconst RPC_UNKNOWN_EXPORT_ID = \"CAPNP-TS113 Capability table references unknown export ID (%s).\";\nconst RPC_UNKNOWN_ANSWER_ID = \"CAPNP-TS114 Capability table references unknown answer ID (%s).\";\nconst RPC_UNKNOWN_CAP_DESCRIPTOR = \"CAPNP-TS115 Unknown cap descriptor type (which: %s).\";\nconst RPC_METHOD_ERROR = \"CAPNP-TS116 RPC method failed at %s.%s(): %s\";\nconst RPC_ERROR = \"CAPNP-TS117 RPC call failed, reason: %s\";\nconst RPC_NO_MAIN_INTERFACE = \"CAPNP-TS118 Received bootstrap message without main interface set.\";\nconst RPC_FINISH_UNKNOWN_ANSWER = \"CAPNP-TS119 Received finish message for unknown answer ID (%s).\";\nconst RPC_FULFILL_ALREADY_CALLED = \"CAPNP-TS120 Fulfill called more than once for question (%s).\";\n\nfunction bufferToHex(buffer) {\n const a = new Uint8Array(buffer);\n const h = [];\n for (let i = 0; i < a.byteLength; i++) {\n h.push(pad(a[i].toString(16), 2));\n }\n return `[${h.join(\" \")}]`;\n}\nfunction dumpBuffer(buffer) {\n const b = buffer instanceof ArrayBuffer ? new Uint8Array(buffer) : new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n const byteLength = Math.min(b.byteLength, MAX_BUFFER_DUMP_BYTES);\n let r = format(\"\\n=== buffer[%d] ===\", byteLength);\n for (let j = 0; j < byteLength; j += 16) {\n r += `\n${pad(j.toString(16), 8)}: `;\n let s = \"\";\n let k;\n for (k = 0; k < 16 && j + k < b.byteLength; k++) {\n const v = b[j + k];\n r += `${pad(v.toString(16), 2)} `;\n s += v > 31 && v < 255 ? String.fromCharCode(v) : \"\\xB7\";\n if (k === 7) {\n r += \" \";\n }\n }\n r += `${\" \".repeat((17 - k) * 3)}${s}`;\n }\n r += \"\\n\";\n if (byteLength !== b.byteLength) {\n r += format(\"=== (truncated %d bytes) ===\\n\", b.byteLength - byteLength);\n }\n return r;\n}\nfunction format(s, ...args) {\n const n = s.length;\n let arg;\n let argIndex = 0;\n let c;\n let escaped = false;\n let i = 0;\n let leadingZero = false;\n let precision;\n let result = \"\";\n function nextArg() {\n return args[argIndex++];\n }\n function slurpNumber() {\n let digits = \"\";\n while (/\\d/.test(s[i])) {\n digits += s[i++];\n c = s[i];\n }\n return digits.length > 0 ? Number.parseInt(digits, 10) : null;\n }\n for (; i < n; ++i) {\n c = s[i];\n if (escaped) {\n escaped = false;\n if (c === \".\") {\n leadingZero = false;\n c = s[++i];\n } else if (c === \"0\" && s[i + 1] === \".\") {\n leadingZero = true;\n i += 2;\n c = s[i];\n } else {\n leadingZero = true;\n }\n precision = slurpNumber();\n switch (c) {\n case \"a\": {\n result += \"0x\" + pad(Number.parseInt(String(nextArg()), 10).toString(16), 8);\n break;\n }\n case \"b\": {\n result += Number.parseInt(String(nextArg()), 10).toString(2);\n break;\n }\n case \"c\": {\n arg = nextArg();\n result += typeof arg === \"string\" || arg instanceof String ? arg : String.fromCharCode(Number.parseInt(String(arg), 10));\n break;\n }\n case \"d\": {\n result += Number.parseInt(String(nextArg()), 10);\n break;\n }\n case \"f\": {\n const tmp = Number.parseFloat(String(nextArg())).toFixed(\n precision || 6\n );\n result += leadingZero ? tmp : tmp.replace(/^0/, \"\");\n break;\n }\n case \"j\": {\n result += JSON.stringify(nextArg());\n break;\n }\n case \"o\": {\n result += \"0\" + Number.parseInt(String(nextArg()), 10).toString(8);\n break;\n }\n case \"s\": {\n result += nextArg();\n break;\n }\n case \"x\": {\n result += \"0x\" + Number.parseInt(String(nextArg()), 10).toString(16);\n break;\n }\n case \"X\": {\n result += \"0x\" + Number.parseInt(String(nextArg()), 10).toString(16).toUpperCase();\n break;\n }\n default: {\n result += c;\n break;\n }\n }\n } else if (c === \"%\") {\n escaped = true;\n } else {\n result += c;\n }\n }\n return result;\n}\nfunction pad(v, width, pad2 = \"0\") {\n return v.length >= width ? v : Array.from({ length: width - v.length + 1 }).join(pad2) + v;\n}\nfunction padToWord$1(size) {\n return size + 7 & -8;\n}\n\nclass ObjectSize {\n /**\n * Creates a new ObjectSize instance.\n *\n * @param dataByteLength - The number of bytes in the data section of the struct\n * @param pointerLength - The number of pointers in the pointer section of the struct\n */\n constructor(dataByteLength, pointerLength) {\n this.dataByteLength = dataByteLength;\n this.pointerLength = pointerLength;\n }\n toString() {\n return format(\n \"ObjectSize_dw:%d,pc:%d\",\n getDataWordLength(this),\n this.pointerLength\n );\n }\n}\nfunction getByteLength(o) {\n return o.dataByteLength + o.pointerLength * 8;\n}\nfunction getDataWordLength(o) {\n return o.dataByteLength / 8;\n}\nfunction getWordLength(o) {\n return o.dataByteLength / 8 + o.pointerLength;\n}\nfunction padToWord(o) {\n return new ObjectSize(padToWord$1(o.dataByteLength), o.pointerLength);\n}\n\nclass Orphan {\n /** If this member is not present then the orphan has already been adopted, or something went very wrong. */\n _capnp;\n byteOffset;\n segment;\n constructor(src) {\n const c = getContent(src);\n this.segment = c.segment;\n this.byteOffset = c.byteOffset;\n this._capnp = {};\n this._capnp.type = getTargetPointerType(src);\n switch (this._capnp.type) {\n case PointerType.STRUCT: {\n this._capnp.size = getTargetStructSize(src);\n break;\n }\n case PointerType.LIST: {\n this._capnp.length = getTargetListLength(src);\n this._capnp.elementSize = getTargetListElementSize(src);\n if (this._capnp.elementSize === ListElementSize.COMPOSITE) {\n this._capnp.size = getTargetCompositeListSize(src);\n }\n break;\n }\n case PointerType.OTHER: {\n this._capnp.capId = getCapabilityId(src);\n break;\n }\n default: {\n throw new Error(PTR_INVALID_POINTER_TYPE);\n }\n }\n erasePointer(src);\n }\n /**\n * Adopt (move) this orphan into the target pointer location. This will allocate far pointers in `dst` as needed.\n *\n * @param dst The destination pointer.\n */\n _moveTo(dst) {\n if (this._capnp === undefined) {\n throw new Error(format(PTR_ALREADY_ADOPTED, this));\n }\n if (this.segment.message !== dst.segment.message) {\n throw new Error(format(PTR_ADOPT_WRONG_MESSAGE, this, dst));\n }\n erase(dst);\n const res = initPointer(this.segment, this.byteOffset, dst);\n switch (this._capnp.type) {\n case PointerType.STRUCT: {\n setStructPointer(res.offsetWords, this._capnp.size, res.pointer);\n break;\n }\n case PointerType.LIST: {\n let { offsetWords } = res;\n if (this._capnp.elementSize === ListElementSize.COMPOSITE) {\n offsetWords--;\n }\n setListPointer(\n offsetWords,\n this._capnp.elementSize,\n this._capnp.length,\n res.pointer,\n this._capnp.size\n );\n break;\n }\n case PointerType.OTHER: {\n setInterfacePointer(this._capnp.capId, res.pointer);\n break;\n }\n /* istanbul ignore next */\n default: {\n throw new Error(PTR_INVALID_POINTER_TYPE);\n }\n }\n this._capnp = undefined;\n }\n dispose() {\n if (this._capnp === undefined) {\n return;\n }\n switch (this._capnp.type) {\n case PointerType.STRUCT: {\n this.segment.fillZeroWords(\n this.byteOffset,\n getWordLength(this._capnp.size)\n );\n break;\n }\n case PointerType.LIST: {\n const byteLength = getListByteLength(\n this._capnp.elementSize,\n this._capnp.length,\n this._capnp.size\n );\n this.segment.fillZeroWords(this.byteOffset, byteLength);\n break;\n }\n }\n this._capnp = undefined;\n }\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n return format(\n \"Orphan_%d@%a,type:%s\",\n this.segment.id,\n this.byteOffset,\n this._capnp && this._capnp.type\n );\n }\n}\n\nfunction adopt(src, p) {\n src._moveTo(p);\n}\nfunction disown(p) {\n return new Orphan(p);\n}\nfunction dump(p) {\n return bufferToHex(p.segment.buffer.slice(p.byteOffset, p.byteOffset + 8));\n}\nfunction getListByteLength(elementSize, length, compositeSize) {\n switch (elementSize) {\n case ListElementSize.BIT: {\n return padToWord$1(length + 7 >>> 3);\n }\n case ListElementSize.BYTE:\n case ListElementSize.BYTE_2:\n case ListElementSize.BYTE_4:\n case ListElementSize.BYTE_8:\n case ListElementSize.POINTER:\n case ListElementSize.VOID: {\n return padToWord$1(getListElementByteLength(elementSize) * length);\n }\n /* istanbul ignore next */\n case ListElementSize.COMPOSITE: {\n if (compositeSize === undefined) {\n throw new Error(format(PTR_INVALID_LIST_SIZE, Number.NaN));\n }\n return length * padToWord$1(getByteLength(compositeSize));\n }\n /* istanbul ignore next */\n default: {\n throw new Error(PTR_INVALID_LIST_SIZE);\n }\n }\n}\nfunction getListElementByteLength(elementSize) {\n switch (elementSize) {\n /* istanbul ignore next */\n case ListElementSize.BIT: {\n return Number.NaN;\n }\n case ListElementSize.BYTE: {\n return 1;\n }\n case ListElementSize.BYTE_2: {\n return 2;\n }\n case ListElementSize.BYTE_4: {\n return 4;\n }\n case ListElementSize.BYTE_8:\n case ListElementSize.POINTER: {\n return 8;\n }\n /* istanbul ignore next */\n case ListElementSize.COMPOSITE: {\n return Number.NaN;\n }\n /* istanbul ignore next */\n case ListElementSize.VOID: {\n return 0;\n }\n /* istanbul ignore next */\n default: {\n throw new Error(format(PTR_INVALID_LIST_SIZE, elementSize));\n }\n }\n}\nfunction add(offset, p) {\n return new Pointer(p.segment, p.byteOffset + offset, p._capnp.depthLimit);\n}\nfunction copyFrom(src, p) {\n if (p.segment === src.segment && p.byteOffset === src.byteOffset) {\n return;\n }\n erase(p);\n if (isNull(src)) return;\n switch (getTargetPointerType(src)) {\n case PointerType.STRUCT: {\n copyFromStruct(src, p);\n break;\n }\n case PointerType.LIST: {\n copyFromList(src, p);\n break;\n }\n case PointerType.OTHER: {\n copyFromInterface(src, p);\n break;\n }\n /* istanbul ignore next */\n default: {\n throw new Error(\n format(PTR_INVALID_POINTER_TYPE, getTargetPointerType(p))\n );\n }\n }\n}\nfunction erase(p) {\n if (isNull(p)) return;\n let c;\n switch (getTargetPointerType(p)) {\n case PointerType.STRUCT: {\n const size = getTargetStructSize(p);\n c = getContent(p);\n c.segment.fillZeroWords(c.byteOffset, size.dataByteLength / 8);\n for (let i = 0; i < size.pointerLength; i++) {\n erase(add(i * 8, c));\n }\n break;\n }\n case PointerType.LIST: {\n const elementSize = getTargetListElementSize(p);\n const length = getTargetListLength(p);\n let contentWords = padToWord$1(\n length * getListElementByteLength(elementSize)\n );\n c = getContent(p);\n if (elementSize === ListElementSize.POINTER) {\n for (let i = 0; i < length; i++) {\n erase(\n new Pointer(\n c.segment,\n c.byteOffset + i * 8,\n p._capnp.depthLimit - 1\n )\n );\n }\n break;\n } else if (elementSize === ListElementSize.COMPOSITE) {\n const tag = add(-8, c);\n const compositeSize = getStructSize(tag);\n const compositeByteLength = getByteLength(compositeSize);\n contentWords = getOffsetWords(tag);\n c.segment.setWordZero(c.byteOffset - 8);\n for (let i = 0; i < length; i++) {\n for (let j = 0; j < compositeSize.pointerLength; j++) {\n erase(\n new Pointer(\n c.segment,\n c.byteOffset + i * compositeByteLength + j * 8,\n p._capnp.depthLimit - 1\n )\n );\n }\n }\n }\n c.segment.fillZeroWords(c.byteOffset, contentWords);\n break;\n }\n case PointerType.OTHER: {\n break;\n }\n default: {\n throw new Error(\n format(PTR_INVALID_POINTER_TYPE, getTargetPointerType(p))\n );\n }\n }\n erasePointer(p);\n}\nfunction erasePointer(p) {\n if (getPointerType(p) === PointerType.FAR) {\n const landingPad = followFar(p);\n if (isDoubleFar(p)) {\n landingPad.segment.setWordZero(landingPad.byteOffset + 8);\n }\n landingPad.segment.setWordZero(landingPad.byteOffset);\n }\n p.segment.setWordZero(p.byteOffset);\n}\nfunction followFar(p) {\n const targetSegment = p.segment.message.getSegment(\n p.segment.getUint32(p.byteOffset + 4)\n );\n const targetWordOffset = p.segment.getUint32(p.byteOffset) >>> 3;\n return new Pointer(\n targetSegment,\n targetWordOffset * 8,\n p._capnp.depthLimit - 1\n );\n}\nfunction followFars(p) {\n if (getPointerType(p) === PointerType.FAR) {\n const landingPad = followFar(p);\n if (isDoubleFar(p)) {\n landingPad.byteOffset += 8;\n }\n return landingPad;\n }\n return p;\n}\nfunction getCapabilityId(p) {\n return p.segment.getUint32(p.byteOffset + 4);\n}\nfunction isCompositeList(p) {\n return getTargetPointerType(p) === PointerType.LIST && getTargetListElementSize(p) === ListElementSize.COMPOSITE;\n}\nfunction getContent(p, ignoreCompositeIndex) {\n let c;\n if (isDoubleFar(p)) {\n const landingPad = followFar(p);\n c = new Pointer(\n p.segment.message.getSegment(getFarSegmentId(landingPad)),\n getOffsetWords(landingPad) * 8\n );\n } else {\n const target = followFars(p);\n c = new Pointer(\n target.segment,\n target.byteOffset + 8 + getOffsetWords(target) * 8\n );\n }\n if (isCompositeList(p)) {\n c.byteOffset += 8;\n }\n if (!ignoreCompositeIndex && p._capnp.compositeIndex !== undefined) {\n c.byteOffset -= 8;\n c.byteOffset += 8 + p._capnp.compositeIndex * getByteLength(padToWord(getStructSize(c)));\n }\n return c;\n}\nfunction getFarSegmentId(p) {\n return p.segment.getUint32(p.byteOffset + 4);\n}\nfunction getListElementSize(p) {\n return p.segment.getUint32(p.byteOffset + 4) & LIST_SIZE_MASK;\n}\nfunction getListLength(p) {\n return p.segment.getUint32(p.byteOffset + 4) >>> 3;\n}\nfunction getOffsetWords(p) {\n const o = p.segment.getInt32(p.byteOffset);\n return o & 2 ? o >> 3 : o >> 2;\n}\nfunction getPointerType(p) {\n return p.segment.getUint32(p.byteOffset) & POINTER_TYPE_MASK;\n}\nfunction getStructDataWords(p) {\n return p.segment.getUint16(p.byteOffset + 4);\n}\nfunction getStructPointerLength(p) {\n return p.segment.getUint16(p.byteOffset + 6);\n}\nfunction getStructSize(p) {\n return new ObjectSize(getStructDataWords(p) * 8, getStructPointerLength(p));\n}\nfunction getTargetCompositeListTag(p) {\n const c = getContent(p);\n c.byteOffset -= 8;\n return c;\n}\nfunction getTargetCompositeListSize(p) {\n return getStructSize(getTargetCompositeListTag(p));\n}\nfunction getTargetListElementSize(p) {\n return getListElementSize(followFars(p));\n}\nfunction getTargetListLength(p) {\n const t = followFars(p);\n if (getListElementSize(t) === ListElementSize.COMPOSITE) {\n return getOffsetWords(getTargetCompositeListTag(p));\n }\n return getListLength(t);\n}\nfunction getTargetPointerType(p) {\n const t = getPointerType(followFars(p));\n if (t === PointerType.FAR) {\n throw new Error(format(PTR_INVALID_FAR_TARGET, p));\n }\n return t;\n}\nfunction getTargetStructSize(p) {\n return getStructSize(followFars(p));\n}\nfunction initPointer(contentSegment, contentOffset, p) {\n if (p.segment !== contentSegment) {\n if (!contentSegment.hasCapacity(8)) {\n const landingPad2 = p.segment.allocate(16);\n setFarPointer(true, landingPad2.byteOffset / 8, landingPad2.segment.id, p);\n setFarPointer(false, contentOffset / 8, contentSegment.id, landingPad2);\n landingPad2.byteOffset += 8;\n return new PointerAllocationResult(landingPad2, 0);\n }\n const landingPad = contentSegment.allocate(8);\n if (landingPad.segment.id !== contentSegment.id) {\n throw new Error(INVARIANT_UNREACHABLE_CODE);\n }\n setFarPointer(false, landingPad.byteOffset / 8, landingPad.segment.id, p);\n return new PointerAllocationResult(\n landingPad,\n (contentOffset - landingPad.byteOffset - 8) / 8\n );\n }\n return new PointerAllocationResult(p, (contentOffset - p.byteOffset - 8) / 8);\n}\nfunction isDoubleFar(p) {\n return getPointerType(p) === PointerType.FAR && (p.segment.getUint32(p.byteOffset) & POINTER_DOUBLE_FAR_MASK) !== 0;\n}\nfunction isNull(p) {\n return p.segment.isWordZero(p.byteOffset);\n}\nfunction relocateTo(dst, src) {\n const t = followFars(src);\n const lo = t.segment.getUint8(t.byteOffset) & 3;\n const hi = t.segment.getUint32(t.byteOffset + 4);\n erase(dst);\n const res = initPointer(\n t.segment,\n t.byteOffset + 8 + getOffsetWords(t) * 8,\n dst\n );\n res.pointer.segment.setUint32(\n res.pointer.byteOffset,\n lo | res.offsetWords << 2\n );\n res.pointer.segment.setUint32(res.pointer.byteOffset + 4, hi);\n erasePointer(src);\n}\nfunction setFarPointer(doubleFar, offsetWords, segmentId, p) {\n const A = PointerType.FAR;\n const B = doubleFar ? 1 : 0;\n const C = offsetWords;\n const D = segmentId;\n p.segment.setUint32(p.byteOffset, A | B << 2 | C << 3);\n p.segment.setUint32(p.byteOffset + 4, D);\n}\nfunction setInterfacePointer(capId, p) {\n p.segment.setUint32(p.byteOffset, PointerType.OTHER);\n p.segment.setUint32(p.byteOffset + 4, capId);\n}\nfunction getInterfacePointer(p) {\n return p.segment.getUint32(p.byteOffset + 4);\n}\nfunction setListPointer(offsetWords, size, length, p, compositeSize) {\n const A = PointerType.LIST;\n const B = offsetWords;\n const C = size;\n let D = length;\n if (size === ListElementSize.COMPOSITE) {\n if (compositeSize === undefined) {\n throw new TypeError(TYPE_COMPOSITE_SIZE_UNDEFINED);\n }\n D *= getWordLength(compositeSize);\n }\n p.segment.setUint32(p.byteOffset, A | B << 2);\n p.segment.setUint32(p.byteOffset + 4, C | D << 3);\n}\nfunction setStructPointer(offsetWords, size, p) {\n const A = PointerType.STRUCT;\n const B = offsetWords;\n const C = getDataWordLength(size);\n const D = size.pointerLength;\n p.segment.setUint32(p.byteOffset, A | B << 2);\n p.segment.setUint16(p.byteOffset + 4, C);\n p.segment.setUint16(p.byteOffset + 6, D);\n}\nfunction validate(pointerType, p, elementSize) {\n if (isNull(p)) {\n return;\n }\n const t = followFars(p);\n const A = t.segment.getUint32(t.byteOffset) & POINTER_TYPE_MASK;\n if (A !== pointerType) {\n throw new Error(format(PTR_WRONG_POINTER_TYPE, p, pointerType));\n }\n if (elementSize !== undefined) {\n const C = t.segment.getUint32(t.byteOffset + 4) & LIST_SIZE_MASK;\n if (C !== elementSize) {\n throw new Error(\n format(PTR_WRONG_LIST_TYPE, p, ListElementSize[elementSize])\n );\n }\n }\n}\nfunction copyFromInterface(src, dst) {\n const srcCapId = getInterfacePointer(src);\n if (srcCapId < 0) {\n return;\n }\n const srcCapTable = src.segment.message._capnp.capTable;\n if (!srcCapTable) {\n return;\n }\n const client = srcCapTable[srcCapId];\n if (!client) {\n return;\n }\n const dstCapId = dst.segment.message.addCap(client);\n setInterfacePointer(dstCapId, dst);\n}\nfunction copyFromList(src, dst) {\n if (dst._capnp.depthLimit <= 0) {\n throw new Error(PTR_DEPTH_LIMIT_EXCEEDED);\n }\n const srcContent = getContent(src);\n const srcElementSize = getTargetListElementSize(src);\n const srcLength = getTargetListLength(src);\n let srcCompositeSize;\n let srcStructByteLength;\n let dstContent;\n if (srcElementSize === ListElementSize.POINTER) {\n dstContent = dst.segment.allocate(srcLength << 3);\n for (let i = 0; i < srcLength; i++) {\n const srcPtr = new Pointer(\n srcContent.segment,\n srcContent.byteOffset + (i << 3),\n src._capnp.depthLimit - 1\n );\n const dstPtr = new Pointer(\n dstContent.segment,\n dstContent.byteOffset + (i << 3),\n dst._capnp.depthLimit - 1\n );\n copyFrom(srcPtr, dstPtr);\n }\n } else if (srcElementSize === ListElementSize.COMPOSITE) {\n srcCompositeSize = padToWord(getTargetCompositeListSize(src));\n srcStructByteLength = getByteLength(srcCompositeSize);\n dstContent = dst.segment.allocate(\n getByteLength(srcCompositeSize) * srcLength + 8\n );\n dstContent.segment.copyWord(\n dstContent.byteOffset,\n srcContent.segment,\n srcContent.byteOffset - 8\n );\n if (srcCompositeSize.dataByteLength > 0) {\n const wordLength = getWordLength(srcCompositeSize) * srcLength;\n dstContent.segment.copyWords(\n dstContent.byteOffset + 8,\n srcContent.segment,\n srcContent.byteOffset,\n wordLength\n );\n }\n for (let i = 0; i < srcLength; i++) {\n for (let j = 0; j < srcCompositeSize.pointerLength; j++) {\n const offset = i * srcStructByteLength + srcCompositeSize.dataByteLength + (j << 3);\n const srcPtr = new Pointer(\n srcContent.segment,\n srcContent.byteOffset + offset,\n src._capnp.depthLimit - 1\n );\n const dstPtr = new Pointer(\n dstContent.segment,\n dstContent.byteOffset + offset + 8,\n dst._capnp.depthLimit - 1\n );\n copyFrom(srcPtr, dstPtr);\n }\n }\n } else {\n const byteLength = padToWord$1(\n srcElementSize === ListElementSize.BIT ? srcLength + 7 >>> 3 : getListElementByteLength(srcElementSize) * srcLength\n );\n const wordLength = byteLength >>> 3;\n dstContent = dst.segment.allocate(byteLength);\n dstContent.segment.copyWords(\n dstContent.byteOffset,\n srcContent.segment,\n srcContent.byteOffset,\n wordLength\n );\n }\n const res = initPointer(dstContent.segment, dstContent.byteOffset, dst);\n setListPointer(\n res.offsetWords,\n srcElementSize,\n srcLength,\n res.pointer,\n srcCompositeSize\n );\n}\nfunction copyFromStruct(src, dst) {\n if (dst._capnp.depthLimit <= 0) {\n throw new Error(PTR_DEPTH_LIMIT_EXCEEDED);\n }\n const srcContent = getContent(src);\n const srcSize = getTargetStructSize(src);\n const srcDataWordLength = getDataWordLength(srcSize);\n const dstContent = dst.segment.allocate(getByteLength(srcSize));\n dstContent.segment.copyWords(\n dstContent.byteOffset,\n srcContent.segment,\n srcContent.byteOffset,\n srcDataWordLength\n );\n for (let i = 0; i < srcSize.pointerLength; i++) {\n const offset = srcSize.dataByteLength + i * 8;\n const srcPtr = new Pointer(\n srcContent.segment,\n srcContent.byteOffset + offset,\n src._capnp.depthLimit - 1\n );\n const dstPtr = new Pointer(\n dstContent.segment,\n dstContent.byteOffset + offset,\n dst._capnp.depthLimit - 1\n );\n copyFrom(srcPtr, dstPtr);\n }\n if (dst._capnp.compositeList) {\n return;\n }\n const res = initPointer(dstContent.segment, dstContent.byteOffset, dst);\n setStructPointer(res.offsetWords, srcSize, res.pointer);\n}\nfunction trackPointerAllocation(message, p) {\n message._capnp.traversalLimit -= 8;\n if (message._capnp.traversalLimit <= 0) {\n throw new Error(format(PTR_TRAVERSAL_LIMIT_EXCEEDED, p));\n }\n}\nclass PointerAllocationResult {\n constructor(pointer, offsetWords) {\n this.pointer = pointer;\n this.offsetWords = offsetWords;\n }\n}\n\nvar PointerType = /* @__PURE__ */ ((PointerType2) => {\n PointerType2[PointerType2[\"STRUCT\"] = 0] = \"STRUCT\";\n PointerType2[PointerType2[\"LIST\"] = 1] = \"LIST\";\n PointerType2[PointerType2[\"FAR\"] = 2] = \"FAR\";\n PointerType2[PointerType2[\"OTHER\"] = 3] = \"OTHER\";\n return PointerType2;\n})(PointerType || {});\nclass Pointer {\n static _capnp = {\n displayName: \"Pointer\"\n };\n _capnp;\n /** Offset, in bytes, from the start of the segment to the beginning of this pointer. */\n byteOffset;\n /**\n * The starting segment for this pointer's data. In the case of a far pointer, the actual content this pointer is\n * referencing will be in another segment within the same message.\n */\n segment;\n constructor(segment, byteOffset, depthLimit = MAX_DEPTH) {\n this._capnp = { compositeList: false, depthLimit };\n this.segment = segment;\n this.byteOffset = byteOffset;\n if (depthLimit < 1) {\n throw new Error(format(PTR_DEPTH_LIMIT_EXCEEDED, this));\n }\n trackPointerAllocation(segment.message, this);\n if (byteOffset < 0 || byteOffset > segment.byteLength) {\n throw new Error(format(PTR_OFFSET_OUT_OF_BOUNDS, byteOffset));\n }\n }\n [Symbol.toStringTag]() {\n return format(\"Pointer_%d\", this.segment.id);\n }\n toString() {\n return format(\"->%d@%a%s\", this.segment.id, this.byteOffset, dump(this));\n }\n}\n\nclass List extends Pointer {\n static _capnp = {\n displayName: \"List<Generic>\",\n size: ListElementSize.VOID\n };\n constructor(segment, byteOffset, depthLimit) {\n super(segment, byteOffset, depthLimit);\n return new Proxy(this, List.#proxyHandler);\n }\n static #proxyHandler = {\n get(target, prop, receiver) {\n const val = Reflect.get(target, prop, receiver);\n if (val !== undefined) {\n return val;\n }\n if (typeof prop === \"string\") {\n return target.get(+prop);\n }\n }\n };\n get length() {\n return getTargetListLength(this);\n }\n toArray() {\n const { length } = this;\n const res = Array.from({ length });\n for (let i = 0; i < length; i++) {\n res[i] = this.at(i);\n }\n return res;\n }\n get(_index) {\n throw new TypeError(\"Cannot get from a generic list.\");\n }\n set(_index, _value) {\n throw new TypeError(\"Cannot set on a generic list.\");\n }\n at(index) {\n return this.get(index < 0 ? this.length + index : index);\n }\n concat(other) {\n const { length } = this;\n const otherLength = other.length;\n const res = Array.from({ length: length + otherLength });\n for (let i = 0; i < length; i++) res[i] = this.at(i);\n for (let i = 0; i < otherLength; i++) res[i + length] = other.at(i);\n return res;\n }\n some(cb, _this) {\n for (let i = 0; i < this.length; i++) {\n if (cb.call(_this, this.at(i), i, this)) {\n return true;\n }\n }\n return false;\n }\n filter(cb, _this) {\n const res = [];\n for (let i = 0; i < this.length; i++) {\n const value = this.at(i);\n if (cb.call(_this, value, i, this)) {\n res.push(value);\n }\n }\n return res;\n }\n find(cb, _this) {\n for (let i = 0; i < this.length; i++) {\n const value = this.at(i);\n if (cb.call(_this, value, i, this)) {\n return value;\n }\n }\n return undefined;\n }\n findIndex(cb, _this) {\n for (let i = 0; i < this.length; i++) {\n const value = this.at(i);\n if (cb.call(_this, value, i, this)) {\n return i;\n }\n }\n return -1;\n }\n forEach(cb, _this) {\n for (let i = 0; i < this.length; i++) {\n cb.call(_this, this.at(i), i, this);\n }\n }\n map(cb, _this) {\n const { length } = this;\n const res = Array.from({ length });\n for (let i = 0; i < length; i++) {\n res[i] = cb.call(_this, this.at(i), i, this);\n }\n return res;\n }\n flatMap(cb, _this) {\n const res = [];\n for (let i = 0; i < this.length; i++) {\n const r = cb.call(_this, this.at(i), i, this);\n res.push(...Array.isArray(r) ? r : [r]);\n }\n return res;\n }\n every(cb, _this) {\n for (let i = 0; i < this.length; i++) {\n if (!cb.call(_this, this.at(i), i, this)) {\n return false;\n }\n }\n return true;\n }\n reduce(cb, initialValue) {\n let i = 0;\n let res;\n if (initialValue === undefined) {\n res = this.at(0);\n i++;\n } else {\n res = initialValue;\n }\n for (; i < this.length; i++) {\n res = cb(res, this.at(i), i, this);\n }\n return res;\n }\n reduceRight(cb, initialValue) {\n let i = this.length - 1;\n let res;\n if (initialValue === undefined) {\n res = this.at(i);\n i--;\n } else {\n res = initialValue;\n }\n for (; i >= 0; i--) {\n res = cb(res, this.at(i), i, this);\n }\n return res;\n }\n slice(start = 0, end) {\n const length = end ? Math.min(this.length, end) : this.length;\n const res = Array.from({ length: length - start });\n for (let i = start; i < length; i++) {\n res[i] = this.at(i);\n }\n return res;\n }\n join(separator) {\n return this.toArray().join(separator);\n }\n toReversed() {\n return this.toArray().reverse();\n }\n toSorted(compareFn) {\n return this.toArray().sort(compareFn);\n }\n toSpliced(start, deleteCount, ...items) {\n return this.toArray().splice(start, deleteCount, ...items);\n }\n fill(value, start, end) {\n const { length } = this;\n const s = Math.max(start ?? 0, 0);\n const e = Math.min(end ?? length, length);\n for (let i = s; i < e; i++) {\n this.set(i, value);\n }\n return this;\n }\n copyWithin(target, start, end) {\n const { length } = this;\n const e = end ?? length;\n const s = start < 0 ? Math.max(length + start, 0) : start;\n const t = target < 0 ? Math.max(length + target, 0) : target;\n const len = Math.min(e - s, length - t);\n for (let i = 0; i < len; i++) {\n this.set(t + i, this.at(s + i));\n }\n return this;\n }\n keys() {\n return Array.from({ length: this.length }, (_, i) => i)[Symbol.iterator]();\n }\n values() {\n return this.toArray().values();\n }\n entries() {\n return this.toArray().entries();\n }\n flat(depth) {\n return this.toArray().flat(depth);\n }\n with(index, value) {\n return this.toArray().with(index, value);\n }\n includes(_searchElement, _fromIndex) {\n throw new Error(LIST_NO_SEARCH);\n }\n findLast(_cb, _thisArg) {\n throw new Error(LIST_NO_SEARCH);\n }\n findLastIndex(_cb, _t) {\n throw new Error(LIST_NO_SEARCH);\n }\n indexOf(_searchElement, _fromIndex) {\n throw new Error(LIST_NO_SEARCH);\n }\n lastIndexOf(_searchElement, _fromIndex) {\n throw new Error(LIST_NO_SEARCH);\n }\n pop() {\n throw new Error(LIST_NO_MUTABLE);\n }\n push(..._items) {\n throw new Error(LIST_NO_MUTABLE);\n }\n reverse() {\n throw new Error(LIST_NO_MUTABLE);\n }\n shift() {\n throw new Error(LIST_NO_MUTABLE);\n }\n unshift(..._items) {\n throw new Error(LIST_NO_MUTABLE);\n }\n splice(_start, _deleteCount, ..._rest) {\n throw new Error(LIST_NO_MUTABLE);\n }\n sort(_fn) {\n throw new Error(LIST_NO_MUTABLE);\n }\n get [Symbol.unscopables]() {\n return Array.prototype[Symbol.unscopables];\n }\n [Symbol.iterator]() {\n return this.values();\n }\n toJSON() {\n return this.toArray();\n }\n toString() {\n return this.join(\",\");\n }\n toLocaleString(_locales, _options) {\n return this.toString();\n }\n [Symbol.toStringTag]() {\n return \"[object Array]\";\n }\n static [Symbol.toStringTag]() {\n return this._capnp.displayName;\n }\n}\nfunction initList$1(elementSize, length, list, compositeSize) {\n let c;\n switch (elementSize) {\n case ListElementSize.BIT: {\n c = list.segment.allocate(Math.ceil(length / 8));\n break;\n }\n case ListElementSize.BYTE:\n case ListElementSize.BYTE_2:\n case ListElementSize.BYTE_4:\n case ListElementSize.BYTE_8:\n case ListElementSize.POINTER: {\n c = list.segment.allocate(length * getListElementByteLength(elementSize));\n break;\n }\n case ListElementSize.COMPOSITE: {\n if (compositeSize === undefined) {\n throw new Error(format(PTR_COMPOSITE_SIZE_UNDEFINED));\n }\n compositeSize = padToWord(compositeSize);\n const byteLength = getByteLength(compositeSize) * length;\n c = list.segment.allocate(byteLength + 8);\n setStructPointer(length, compositeSize, c);\n break;\n }\n case ListElementSize.VOID: {\n setListPointer(0, elementSize, length, list);\n return;\n }\n default: {\n throw new Error(format(PTR_INVALID_LIST_SIZE, elementSize));\n }\n }\n const res = initPointer(c.segment, c.byteOffset, list);\n setListPointer(\n res.offsetWords,\n elementSize,\n length,\n res.pointer,\n compositeSize\n );\n}\n\nclass Data extends List {\n static fromPointer(pointer) {\n validate(PointerType.LIST, pointer, ListElementSize.BYTE);\n return this._fromPointerUnchecked(pointer);\n }\n static _fromPointerUnchecked(pointer) {\n return new this(\n pointer.segment,\n pointer.byteOffset,\n pointer._capnp.depthLimit\n );\n }\n /**\n * Copy the contents of `src` into this Data pointer. If `src` is smaller than the length of this pointer then the\n * remaining bytes will be zeroed out. Extra bytes in `src` are ignored.\n *\n * @param src The source buffer.\n */\n // TODO: Would be nice to have a way to zero-copy a buffer by allocating a new segment into the message with that\n // buffer data.\n copyBuffer(src) {\n const c = getContent(this);\n const dstLength = this.length;\n const srcLength = src.byteLength;\n const i = src instanceof ArrayBuffer ? new Uint8Array(src) : new Uint8Array(\n src.buffer,\n src.byteOffset,\n Math.min(dstLength, srcLength)\n );\n const o = new Uint8Array(c.segment.buffer, c.byteOffset, this.length);\n o.set(i);\n if (dstLength > srcLength) {\n o.fill(0, srcLength, dstLength);\n }\n }\n /**\n * Read a byte from the specified offset.\n *\n * @param byteOffset The byte offset to read.\n * @returns The byte value.\n */\n get(byteOffset) {\n const c = getContent(this);\n return c.segment.getUint8(c.byteOffset + byteOffset);\n }\n /**\n * Write a byte at the specified offset.\n *\n * @param byteOffset The byte offset to set.\n * @param value The byte value to set.\n */\n set(byteOffset, value) {\n const c = getContent(this);\n c.segment.setUint8(c.byteOffset + byteOffset, value);\n }\n /**\n * Creates a **copy** of the underlying buffer data and returns it as an ArrayBuffer.\n *\n * To obtain a reference to the underlying buffer instead, use `toUint8Array()` or `toDataView()`.\n *\n * @returns A copy of this data buffer.\n */\n toArrayBuffer() {\n const c = getContent(this);\n return c.segment.buffer.slice(c.byteOffset, c.byteOffset + this.length);\n }\n /**\n * Convert this Data pointer to a DataView representing the pointer's contents.\n *\n * WARNING: The DataView references memory from a message segment, so do not venture outside the bounds of the\n * DataView or else BAD THINGS.\n *\n * @returns A live reference to the underlying buffer.\n */\n toDataView() {\n const c = getContent(this);\n return new DataView(c.segment.buffer, c.byteOffset, this.length);\n }\n [Symbol.toStringTag]() {\n return `Data_${super.toString()}`;\n }\n /**\n * Convert this Data pointer to a Uint8Array representing the pointer's contents.\n *\n * WARNING: The Uint8Array references memory from a message segment, so do not venture outside the bounds of the\n * Uint8Array or else BAD THINGS.\n *\n * @returns A live reference to the underlying buffer.\n */\n toUint8Array() {\n const c = getContent(this);\n return new Uint8Array(c.segment.buffer, c.byteOffset, this.length);\n }\n}\n\nconst textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\nclass Text extends List {\n static fromPointer(pointer) {\n validate(PointerType.LIST, pointer, ListElementSize.BYTE);\n return textFromPointerUnchecked(pointer);\n }\n /**\n * Read a utf-8 encoded string value from this pointer.\n *\n * @param index The index at which to start reading; defaults to zero.\n * @returns The string value.\n */\n get(index = 0) {\n if (isNull(this)) {\n return \"\";\n }\n const c = getContent(this);\n return textDecoder.decode(\n new Uint8Array(\n c.segment.buffer,\n c.byteOffset + index,\n this.length - index\n )\n );\n }\n /**\n * Get the number of utf-8 encoded bytes in this text. This does **not** include the NUL byte.\n *\n * @returns The number of bytes allocated for the text.\n */\n get length() {\n return super.length - 1;\n }\n /**\n * Write a utf-8 encoded string value starting at the specified index.\n *\n * @param index The index at which to start copying the string. Note that if this is not zero the bytes\n * before `index` will be left as-is. All bytes after `index` will be overwritten.\n * @param value The string value to set.\n */\n set(index, value) {\n const src = textEncoder.encode(value);\n const dstLength = src.byteLength + index;\n let c;\n let original;\n if (!isNull(this)) {\n c = getContent(this);\n const originalLength = Math.min(this.length, index);\n original = new Uint8Array(\n c.segment.buffer.slice(c.byteOffset, c.byteOffset + originalLength)\n );\n erase(this);\n }\n initList$1(ListElementSize.BYTE, dstLength + 1, this);\n c = getContent(this);\n const dst = new Uint8Array(c.segment.buffer, c.byteOffset, dstLength);\n if (original) {\n dst.set(original);\n }\n dst.set(src, index);\n }\n toString() {\n return this.get();\n }\n toJSON() {\n return this.get();\n }\n [Symbol.toPrimitive]() {\n return this.get();\n }\n [Symbol.toStringTag]() {\n return `Text_${super.toString()}`;\n }\n}\nfunction textFromPointerUnchecked(pointer) {\n return new Text(\n pointer.segment,\n pointer.byteOffset,\n pointer._capnp.depthLimit\n );\n}\n\nclass Struct extends Pointer {\n static _capnp = {\n displayName: \"Struct\"\n };\n /**\n * Create a new pointer to a struct.\n *\n * @param segment The segment the pointer resides in.\n * @param byteOffset The offset from the beginning of the segment to the beginning of the pointer data.\n * @param depthLimit The nesting depth limit for this object.\n * @param compositeIndex If set, then this pointer is actually a reference to a composite list\n * (`this._getPointerTargetType() === PointerType.LIST`), and this number is used as the index of the struct within\n * the list. It is not valid to call `initStruct()` on a composite struct – the struct contents are initialized when\n * the list pointer is initialized.\n */\n constructor(segment, byteOffset, depthLimit = MAX_DEPTH, compositeIndex) {\n super(segment, byteOffset, depthLimit);\n this._capnp.compositeIndex = compositeIndex;\n this._capnp.compositeList = compositeIndex !== undefined;\n }\n static [Symbol.toStringTag]() {\n return this._capnp.displayName;\n }\n [Symbol.toStringTag]() {\n return `Struct_${super.toString()}${this._capnp.compositeIndex === undefined ? \"\" : `,ci:${this._capnp.compositeIndex}`} > ${getContent(this).toString()}`;\n }\n}\nclass AnyStruct extends Struct {\n static _capnp = {\n displayName: \"AnyStruct\",\n id: \"0\",\n size: new ObjectSize(0, 0)\n };\n}\n\nclass FixedAnswer {\n struct() {\n return Promise.resolve(this.structSync());\n }\n}\n\nclass ErrorAnswer extends FixedAnswer {\n constructor(err) {\n super();\n this.err = err;\n }\n structSync() {\n throw this.err;\n }\n pipelineCall(_transform, _call) {\n return this;\n }\n pipelineClose(_transform) {\n throw this.err;\n }\n}\n\nclass ErrorClient {\n constructor(err) {\n this.err = err;\n }\n call(_call) {\n return new ErrorAnswer(this.err);\n }\n close() {\n throw this.err;\n }\n}\nfunction clientOrNull(client) {\n return client ?? new ErrorClient(new Error(RPC_NULL_CLIENT));\n}\n\nconst TMP_WORD = new DataView(new ArrayBuffer(8));\nfunction initStruct(size, s) {\n if (s._capnp.compositeIndex !== undefined) {\n throw new Error(format(PTR_INIT_COMPOSITE_STRUCT, s));\n }\n erase(s);\n const c = s.segment.allocate(getByteLength(size));\n const res = initPointer(c.segment, c.byteOffset, s);\n setStructPointer(res.offsetWords, size, res.pointer);\n}\nfunction initStructAt(index, StructClass, p) {\n const s = getPointerAs(index, StructClass, p);\n initStruct(StructClass._capnp.size, s);\n return s;\n}\nfunction checkPointerBounds(index, s) {\n const { pointerLength } = getSize(s);\n if (index < 0 || index >= pointerLength) {\n throw new Error(\n format(PTR_STRUCT_POINTER_OUT_OF_BOUNDS, s, index, pointerLength)\n );\n }\n}\nfunction getInterfaceClientOrNullAt(index, s) {\n return getInterfaceClientOrNull(getPointer(index, s));\n}\nfunction getInterfaceClientOrNull(p) {\n let client = null;\n const capId = getInterfacePointer(p);\n const { capTable } = p.segment.message._capnp;\n if (capTable && capId >= 0 && capId < capTable.length) {\n client = capTable[capId];\n }\n return clientOrNull(client);\n}\nfunction resize(dstSize, s) {\n const srcSize = getSize(s);\n const srcContent = getContent(s);\n const dstContent = s.segment.allocate(getByteLength(dstSize));\n dstContent.segment.copyWords(\n dstContent.byteOffset,\n srcContent.segment,\n srcContent.byteOffset,\n Math.min(getDataWordLength(srcSize), getDataWordLength(dstSize))\n );\n const res = initPointer(dstContent.segment, dstContent.byteOffset, s);\n setStructPointer(res.offsetWords, dstSize, res.pointer);\n for (let i = 0; i < Math.min(srcSize.pointerLength, dstSize.pointerLength); i++) {\n const srcPtr = new Pointer(\n srcContent.segment,\n srcContent.byteOffset + srcSize.dataByteLength + i * 8\n );\n if (isNull(srcPtr)) {\n continue;\n }\n const srcPtrTarget = followFars(srcPtr);\n const srcPtrContent = getContent(srcPtr);\n const dstPtr = new Pointer(\n dstContent.segment,\n dstContent.byteOffset + dstSize.dataByteLength + i * 8\n );\n if (getTargetPointerType(srcPtr) === PointerType.LIST && getTargetListElementSize(srcPtr) === ListElementSize.COMPOSITE) {\n srcPtrContent.byteOffset -= 8;\n }\n const r = initPointer(\n srcPtrContent.segment,\n srcPtrContent.byteOffset,\n dstPtr\n );\n const a = srcPtrTarget.segment.getUint8(srcPtrTarget.byteOffset) & 3;\n const b = srcPtrTarget.segment.getUint32(srcPtrTarget.byteOffset + 4);\n r.pointer.segment.setUint32(r.pointer.byteOffset, a | r.offsetWords << 2);\n r.pointer.segment.setUint32(r.pointer.byteOffset + 4, b);\n }\n srcContent.segment.fillZeroWords(\n srcContent.byteOffset,\n getWordLength(srcSize)\n );\n}\nfunction getAs(StructClass, s) {\n return new StructClass(\n s.segment,\n s.byteOffset,\n s._capnp.depthLimit,\n s._capnp.compositeIndex\n );\n}\nfunction getBit(bitOffset, s, defaultMask) {\n const byteOffset = Math.floor(bitOffset / 8);\n const bitMask = 1 << bitOffset % 8;\n checkDataBounds(byteOffset, 1, s);\n const ds = getDataSection(s);\n const v = ds.segment.getUint8(ds.byteOffset + byteOffset);\n if (defaultMask === undefined) {\n return (v & bitMask) !== 0;\n }\n const defaultValue = defaultMask.getUint8(0);\n return ((v ^ defaultValue) & bitMask) !== 0;\n}\nfunction getData(index, s, defaultValue) {\n checkPointerBounds(index, s);\n const ps = getPointerSection(s);\n ps.byteOffset += index * 8;\n const l = new Data(ps.segment, ps.byteOffset, s._capnp.depthLimit - 1);\n if (isNull(l)) {\n if (defaultValue) {\n copyFrom(defaultValue, l);\n } else {\n initList$1(ListElementSize.BYTE, 0, l);\n }\n }\n return l;\n}\nfunction getDataSection(s) {\n return getContent(s);\n}\nfunction getFloat32(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 4, s);\n const ds = getDataSection(s);\n if (defaultMask === undefined) {\n return ds.segment.getFloat32(ds.byteOffset + byteOffset);\n }\n const v = ds.segment.getUint32(ds.byteOffset + byteOffset) ^ defaultMask.getUint32(0, true);\n TMP_WORD.setUint32(0, v, NATIVE_LITTLE_ENDIAN);\n return TMP_WORD.getFloat32(0, NATIVE_LITTLE_ENDIAN);\n}\nfunction getFloat64(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 8, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n const lo = ds.segment.getUint32(ds.byteOffset + byteOffset) ^ defaultMask.getUint32(0, true);\n const hi = ds.segment.getUint32(ds.byteOffset + byteOffset + 4) ^ defaultMask.getUint32(4, true);\n TMP_WORD.setUint32(0, lo, NATIVE_LITTLE_ENDIAN);\n TMP_WORD.setUint32(4, hi, NATIVE_LITTLE_ENDIAN);\n return TMP_WORD.getFloat64(0, NATIVE_LITTLE_ENDIAN);\n }\n return ds.segment.getFloat64(ds.byteOffset + byteOffset);\n}\nfunction getInt16(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 2, s);\n const ds = getDataSection(s);\n if (defaultMask === undefined) {\n return ds.segment.getInt16(ds.byteOffset + byteOffset);\n }\n const v = ds.segment.getUint16(ds.byteOffset + byteOffset) ^ defaultMask.getUint16(0, true);\n TMP_WORD.setUint16(0, v, NATIVE_LITTLE_ENDIAN);\n return TMP_WORD.getInt16(0, NATIVE_LITTLE_ENDIAN);\n}\nfunction getInt32(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 4, s);\n const ds = getDataSection(s);\n if (defaultMask === undefined) {\n return ds.segment.getInt32(ds.byteOffset + byteOffset);\n }\n const v = ds.segment.getUint32(ds.byteOffset + byteOffset) ^ defaultMask.getUint16(0, true);\n TMP_WORD.setUint32(0, v, NATIVE_LITTLE_ENDIAN);\n return TMP_WORD.getInt32(0, NATIVE_LITTLE_ENDIAN);\n}\nfunction getInt64(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 8, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n const lo = ds.segment.getUint32(ds.byteOffset + byteOffset) ^ defaultMask.getUint32(0, true);\n const hi = ds.segment.getUint32(ds.byteOffset + byteOffset + 4) ^ defaultMask.getUint32(4, true);\n TMP_WORD.setUint32(NATIVE_LITTLE_ENDIAN ? 0 : 4, lo, NATIVE_LITTLE_ENDIAN);\n TMP_WORD.setUint32(NATIVE_LITTLE_ENDIAN ? 4 : 0, hi, NATIVE_LITTLE_ENDIAN);\n return TMP_WORD.getBigInt64(0, NATIVE_LITTLE_ENDIAN);\n }\n return ds.segment.getInt64(ds.byteOffset + byteOffset);\n}\nfunction getInt8(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 1, s);\n const ds = getDataSection(s);\n if (defaultMask === undefined) {\n return ds.segment.getInt8(ds.byteOffset + byteOffset);\n }\n const v = ds.segment.getUint8(ds.byteOffset + byteOffset) ^ defaultMask.getUint8(0);\n TMP_WORD.setUint8(0, v);\n return TMP_WORD.getInt8(0);\n}\nfunction getList(index, ListClass, s, defaultValue) {\n checkPointerBounds(index, s);\n const ps = getPointerSection(s);\n ps.byteOffset += index * 8;\n const l = new ListClass(ps.segment, ps.byteOffset, s._capnp.depthLimit - 1);\n if (isNull(l)) {\n if (defaultValue) {\n copyFrom(defaultValue, l);\n } else {\n initList$1(ListClass._capnp.size, 0, l, ListClass._capnp.compositeSize);\n }\n } else if (ListClass._capnp.compositeSize !== undefined) {\n const srcSize = getTargetCompositeListSize(l);\n const dstSize = ListClass._capnp.compositeSize;\n if (dstSize.dataByteLength > srcSize.dataByteLength || dstSize.pointerLength > srcSize.pointerLength) {\n const srcContent = getContent(l);\n const srcLength = getTargetListLength(l);\n const dstContent = l.segment.allocate(\n getByteLength(dstSize) * srcLength + 8\n );\n const res = initPointer(dstContent.segment, dstContent.byteOffset, l);\n setListPointer(\n res.offsetWords,\n ListClass._capnp.size,\n srcLength,\n res.pointer,\n dstSize\n );\n setStructPointer(srcLength, dstSize, dstContent);\n dstContent.byteOffset += 8;\n for (let i = 0; i < srcLength; i++) {\n const srcElementOffset = srcContent.byteOffset + i * getByteLength(srcSize);\n const dstElementOffset = dstContent.byteOffset + i * getByteLength(dstSize);\n dstContent.segment.copyWords(\n dstElementOffset,\n srcContent.segment,\n srcElementOffset,\n getWordLength(srcSize)\n );\n for (let j = 0; j < srcSize.pointerLength; j++) {\n const srcPtr = new Pointer(\n srcContent.segment,\n srcElementOffset + srcSize.dataByteLength + j * 8\n );\n const dstPtr = new Pointer(\n dstContent.segment,\n dstElementOffset + dstSize.dataByteLength + j * 8\n );\n const srcPtrTarget = followFars(srcPtr);\n const srcPtrContent = getContent(srcPtr);\n if (getTargetPointerType(srcPtr) === PointerType.LIST && getTargetListElementSize(srcPtr) === ListElementSize.COMPOSITE) {\n srcPtrContent.byteOffset -= 8;\n }\n const r = initPointer(\n srcPtrContent.segment,\n srcPtrContent.byteOffset,\n dstPtr\n );\n const a = srcPtrTarget.segment.getUint8(srcPtrTarget.byteOffset) & 3;\n const b = srcPtrTarget.segment.getUint32(srcPtrTarget.byteOffset + 4);\n r.pointer.segment.setUint32(\n r.pointer.byteOffset,\n a | r.offsetWords << 2\n );\n r.pointer.segment.setUint32(r.pointer.byteOffset + 4, b);\n }\n }\n srcContent.segment.fillZeroWords(\n srcContent.byteOffset,\n getWordLength(srcSize) * srcLength\n );\n }\n }\n return l;\n}\nfunction getPointer(index, s) {\n checkPointerBounds(index, s);\n const ps = getPointerSection(s);\n ps.byteOffset += index * 8;\n return new Pointer(ps.segment, ps.byteOffset, s._capnp.depthLimit - 1);\n}\nfunction getPointerAs(index, PointerClass, s) {\n checkPointerBounds(index, s);\n const ps = getPointerSection(s);\n ps.byteOffset += index * 8;\n return new PointerClass(ps.segment, ps.byteOffset, s._capnp.depthLimit - 1);\n}\nfunction getPointerSection(s) {\n const ps = getContent(s);\n ps.byteOffset += padToWord$1(getSize(s).dataByteLength);\n return ps;\n}\nfunction getSize(s) {\n if (s._capnp.compositeIndex !== undefined) {\n const c = getContent(s, true);\n c.byteOffset -= 8;\n return getStructSize(c);\n }\n return getTargetStructSize(s);\n}\nfunction getStruct(index, StructClass, s, defaultValue) {\n const t = getPointerAs(index, StructClass, s);\n if (isNull(t)) {\n if (defaultValue) {\n copyFrom(defaultValue, t);\n } else {\n initStruct(StructClass._capnp.size, t);\n }\n } else {\n validate(PointerType.STRUCT, t);\n const ts = getTargetStructSize(t);\n if (ts.dataByteLength < StructClass._capnp.size.dataByteLength || ts.pointerLength < StructClass._capnp.size.pointerLength) {\n resize(StructClass._capnp.size, t);\n }\n }\n return t;\n}\nfunction getText(index, s, defaultValue) {\n const t = Text.fromPointer(getPointer(index, s));\n if (isNull(t) && defaultValue) {\n t.set(0, defaultValue);\n }\n return t.get(0);\n}\nfunction getUint16(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 2, s);\n const ds = getDataSection(s);\n if (defaultMask === undefined) {\n return ds.segment.getUint16(ds.byteOffset + byteOffset);\n }\n return ds.segment.getUint16(ds.byteOffset + byteOffset) ^ defaultMask.getUint16(0, true);\n}\nfunction getUint32(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 4, s);\n const ds = getDataSection(s);\n if (defaultMask === undefined) {\n return ds.segment.getUint32(ds.byteOffset + byteOffset);\n }\n return ds.segment.getUint32(ds.byteOffset + byteOffset) ^ defaultMask.getUint32(0, true);\n}\nfunction getUint64(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 8, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n const lo = ds.segment.getUint32(ds.byteOffset + byteOffset) ^ defaultMask.getUint32(0, true);\n const hi = ds.segment.getUint32(ds.byteOffset + byteOffset + 4) ^ defaultMask.getUint32(4, true);\n TMP_WORD.setUint32(NATIVE_LITTLE_ENDIAN ? 0 : 4, lo, NATIVE_LITTLE_ENDIAN);\n TMP_WORD.setUint32(NATIVE_LITTLE_ENDIAN ? 4 : 0, hi, NATIVE_LITTLE_ENDIAN);\n return TMP_WORD.getBigUint64(0, NATIVE_LITTLE_ENDIAN);\n }\n return ds.segment.getUint64(ds.byteOffset + byteOffset);\n}\nfunction getUint8(byteOffset, s, defaultMask) {\n checkDataBounds(byteOffset, 1, s);\n const ds = getDataSection(s);\n if (defaultMask === undefined) {\n return ds.segment.getUint8(ds.byteOffset + byteOffset);\n }\n return ds.segment.getUint8(ds.byteOffset + byteOffset) ^ defaultMask.getUint8(0);\n}\nfunction initData(index, length, s) {\n checkPointerBounds(index, s);\n const ps = getPointerSection(s);\n ps.byteOffset += index * 8;\n const l = new Data(ps.segment, ps.byteOffset, s._capnp.depthLimit - 1);\n erase(l);\n initList$1(ListElementSize.BYTE, length, l);\n return l;\n}\nfunction initList(index, ListClass, length, s) {\n checkPointerBounds(index, s);\n const ps = getPointerSection(s);\n ps.byteOffset += index * 8;\n const l = new ListClass(ps.segment, ps.byteOffset, s._capnp.depthLimit - 1);\n erase(l);\n initList$1(ListClass._capnp.size, length, l, ListClass._capnp.compositeSize);\n return l;\n}\nfunction setBit(bitOffset, value, s, defaultMask) {\n const byteOffset = Math.floor(bitOffset / 8);\n const bitMask = 1 << bitOffset % 8;\n checkDataBounds(byteOffset, 1, s);\n const ds = getDataSection(s);\n const b = ds.segment.getUint8(ds.byteOffset + byteOffset);\n if (defaultMask !== undefined) {\n value = (defaultMask.getUint8(0) & bitMask) === 0 ? value : !value;\n }\n ds.segment.setUint8(\n ds.byteOffset + byteOffset,\n value ? b | bitMask : b & ~bitMask\n );\n}\nfunction setFloat32(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 4, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n TMP_WORD.setFloat32(0, value, NATIVE_LITTLE_ENDIAN);\n const v = TMP_WORD.getUint32(0, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint32(0, true);\n ds.segment.setUint32(ds.byteOffset + byteOffset, v);\n return;\n }\n ds.segment.setFloat32(ds.byteOffset + byteOffset, value);\n}\nfunction setFloat64(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 8, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n TMP_WORD.setFloat64(0, value, NATIVE_LITTLE_ENDIAN);\n const lo = TMP_WORD.getUint32(0, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint32(0, true);\n const hi = TMP_WORD.getUint32(4, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint32(4, true);\n ds.segment.setUint32(ds.byteOffset + byteOffset, lo);\n ds.segment.setUint32(ds.byteOffset + byteOffset + 4, hi);\n return;\n }\n ds.segment.setFloat64(ds.byteOffset + byteOffset, value);\n}\nfunction setInt16(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 2, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n TMP_WORD.setInt16(0, value, NATIVE_LITTLE_ENDIAN);\n const v = TMP_WORD.getUint16(0, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint16(0, true);\n ds.segment.setUint16(ds.byteOffset + byteOffset, v);\n return;\n }\n ds.segment.setInt16(ds.byteOffset + byteOffset, value);\n}\nfunction setInt32(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 4, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n TMP_WORD.setInt32(0, value, NATIVE_LITTLE_ENDIAN);\n const v = TMP_WORD.getUint32(0, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint32(0, true);\n ds.segment.setUint32(ds.byteOffset + byteOffset, v);\n return;\n }\n ds.segment.setInt32(ds.byteOffset + byteOffset, value);\n}\nfunction setInt64(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 8, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n TMP_WORD.setBigInt64(0, value, NATIVE_LITTLE_ENDIAN);\n const lo = TMP_WORD.getUint32(NATIVE_LITTLE_ENDIAN ? 0 : 4, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint32(0, true);\n const hi = TMP_WORD.getUint32(NATIVE_LITTLE_ENDIAN ? 4 : 0, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint32(4, true);\n ds.segment.setUint32(ds.byteOffset + byteOffset, lo);\n ds.segment.setUint32(ds.byteOffset + byteOffset + 4, hi);\n return;\n }\n ds.segment.setInt64(ds.byteOffset + byteOffset, value);\n}\nfunction setInt8(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 1, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n TMP_WORD.setInt8(0, value);\n const v = TMP_WORD.getUint8(0) ^ defaultMask.getUint8(0);\n ds.segment.setUint8(ds.byteOffset + byteOffset, v);\n return;\n }\n ds.segment.setInt8(ds.byteOffset + byteOffset, value);\n}\nfunction setText(index, value, s) {\n Text.fromPointer(getPointer(index, s)).set(0, value);\n}\nfunction setUint16(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 2, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n value ^= defaultMask.getUint16(0, true);\n }\n ds.segment.setUint16(ds.byteOffset + byteOffset, value);\n}\nfunction setUint32(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 4, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n value ^= defaultMask.getUint32(0, true);\n }\n ds.segment.setUint32(ds.byteOffset + byteOffset, value);\n}\nfunction setUint64(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 8, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n TMP_WORD.setBigUint64(0, value, NATIVE_LITTLE_ENDIAN);\n const lo = TMP_WORD.getUint32(NATIVE_LITTLE_ENDIAN ? 0 : 4, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint32(0, true);\n const hi = TMP_WORD.getUint32(NATIVE_LITTLE_ENDIAN ? 4 : 0, NATIVE_LITTLE_ENDIAN) ^ defaultMask.getUint32(4, true);\n ds.segment.setUint32(ds.byteOffset + byteOffset, lo);\n ds.segment.setUint32(ds.byteOffset + byteOffset + 4, hi);\n return;\n }\n ds.segment.setUint64(ds.byteOffset + byteOffset, value);\n}\nfunction setUint8(byteOffset, value, s, defaultMask) {\n checkDataBounds(byteOffset, 1, s);\n const ds = getDataSection(s);\n if (defaultMask !== undefined) {\n value ^= defaultMask.getUint8(0);\n }\n ds.segment.setUint8(ds.byteOffset + byteOffset, value);\n}\nfunction testWhich(name, found, wanted, s) {\n if (found !== wanted) {\n throw new Error(format(PTR_INVALID_UNION_ACCESS, s, name, found, wanted));\n }\n}\nfunction checkDataBounds(byteOffset, byteLength, s) {\n const { dataByteLength } = getSize(s);\n if (byteOffset < 0 || byteLength < 0 || byteOffset + byteLength > dataByteLength) {\n throw new Error(\n format(\n PTR_STRUCT_DATA_OUT_OF_BOUNDS,\n s,\n byteLength,\n byteOffset,\n dataByteLength\n )\n );\n }\n}\n\nexport { Pointer as $, setInt16 as A, getInt32 as B, setInt32 as C, getInt64 as D, setInt64 as E, getFloat32 as F, setFloat32 as G, getFloat64 as H, setFloat64 as I, getData as J, initData as K, List as L, ListElementSize as M, format as N, ObjectSize as O, SEG_NOT_WORD_ALIGNED as P, DEFAULT_BUFFER_SIZE as Q, SEG_ID_OUT_OF_BOUNDS as R, Struct as S, padToWord$1 as T, SEG_GET_NON_ZERO_SINGLE as U, MIN_SINGLE_SEGMENT_GROWTH as V, assertNever as W, MSG_PACK_NOT_WORD_ALIGNED as X, PACK_SPAN_THRESHOLD as Y, MAX_SEGMENT_LENGTH as Z, SEG_SIZE_OVERFLOW as _, adopt as a, setListPointer as a$, NATIVE_LITTLE_ENDIAN as a0, SEG_REPLACEMENT_BUFFER_TOO_SMALL as a1, DEFAULT_TRAVERSE_LIMIT as a2, MSG_INVALID_FRAME_HEADER as a3, MSG_SEGMENT_TOO_SMALL as a4, MSG_SEGMENT_OUT_OF_BOUNDS as a5, dumpBuffer as a6, validate as a7, PointerType as a8, getTargetStructSize as a9, getCapabilityId as aA, getContent as aB, getDataSection as aC, getFarSegmentId as aD, getInterfaceClientOrNullAt as aE, getInterfacePointer as aF, getListByteLength as aG, getListElementByteLength as aH, getListElementSize as aI, getListLength as aJ, getOffsetWords as aK, getPointerAs as aL, getPointerSection as aM, getPointerType as aN, getSize as aO, getStructDataWords as aP, getStructPointerLength as aQ, getStructSize as aR, getTargetCompositeListSize as aS, getTargetCompositeListTag as aT, getTargetListElementSize as aU, getTargetListLength as aV, initPointer as aW, isDoubleFar as aX, relocateTo as aY, setFarPointer as aZ, setInterfacePointer as a_, resize as aa, initStruct as ab, MAX_DEPTH as ac, getTargetPointerType as ad, FixedAnswer as ae, getInterfaceClientOrNull as af, ErrorAnswer as ag, RPC_CALL_QUEUE_FULL as ah, INVARIANT_UNREACHABLE_CODE as ai, RPC_QUEUE_CALL_CANCEL as aj, RPC_NULL_CLIENT as ak, RPC_METHOD_ERROR as al, RPC_METHOD_NOT_IMPLEMENTED as am, pad as an, PointerAllocationResult as ao, add as ap, checkDataBounds as aq, checkPointerBounds as ar, copyFromInterface as as, copyFromList as at, copyFromStruct as au, dump as av, erase as aw, erasePointer as ax, followFar as ay, followFars as az, getUint16 as b, setStructPointer as b0, trackPointerAllocation as b1, Data as b2, Text as b3, ErrorClient as b4, RPC_ZERO_REF as b5, RPC_ERROR as b6, RPC_FULFILL_ALREADY_CALLED as b7, NOT_IMPLEMENTED as b8, RPC_IMPORT_CLOSED as b9, AnyStruct as ba, RPC_QUESTION_ID_REUSED as bb, RPC_NO_MAIN_INTERFACE as bc, RPC_BAD_TARGET as bd, RPC_UNKNOWN_CAP_DESCRIPTOR as be, RPC_FINISH_UNKNOWN_ANSWER as bf, RPC_RETURN_FOR_UNKNOWN_QUESTION as bg, RPC_UNKNOWN_ANSWER_ID as bh, RPC_UNKNOWN_EXPORT_ID as bi, Orphan as bj, clientOrNull as bk, copyFrom as c, disown as d, getUint32 as e, setUint32 as f, getPointer as g, getBit as h, isNull as i, setBit as j, getStruct as k, initStructAt as l, getList as m, initList as n, getUint8 as o, setUint8 as p, getText as q, setText as r, setUint16 as s, testWhich as t, getUint64 as u, setUint64 as v, getAs as w, getInt8 as x, setInt8 as y, getInt16 as z };\n","import { L as List, M as ListElementSize, c as copyFrom } from './capnp-es.0-_cOx6D.mjs';\n\nfunction CompositeList(CompositeClass) {\n return class extends List {\n static _capnp = {\n compositeSize: CompositeClass._capnp.size,\n displayName: `List<${CompositeClass._capnp.displayName}>`,\n size: ListElementSize.COMPOSITE\n };\n get(index) {\n return new CompositeClass(\n this.segment,\n this.byteOffset,\n this._capnp.depthLimit - 1,\n index\n );\n }\n set(index, value) {\n copyFrom(value, this.get(index));\n }\n [Symbol.toStringTag]() {\n return `Composite_${super.toString()},cls:${CompositeClass.toString()}`;\n }\n };\n}\n\nfunction _makePrimitiveMaskFn(byteLength, setter) {\n return (x) => {\n const dv = new DataView(new ArrayBuffer(byteLength));\n setter.call(dv, 0, x, true);\n return dv;\n };\n}\nconst getFloat32Mask = _makePrimitiveMaskFn(\n 4,\n DataView.prototype.setFloat32\n);\nconst getFloat64Mask = _makePrimitiveMaskFn(\n 8,\n DataView.prototype.setFloat64\n);\nconst getInt16Mask = _makePrimitiveMaskFn(\n 2,\n DataView.prototype.setInt16\n);\nconst getInt32Mask = _makePrimitiveMaskFn(\n 4,\n DataView.prototype.setInt32\n);\nconst getInt64Mask = _makePrimitiveMaskFn(\n 8,\n DataView.prototype.setBigInt64\n);\nconst getInt8Mask = _makePrimitiveMaskFn(1, DataView.prototype.setInt8);\nconst getUint16Mask = _makePrimitiveMaskFn(\n 2,\n DataView.prototype.setUint16\n);\nconst getUint32Mask = _makePrimitiveMaskFn(\n 4,\n DataView.prototype.setUint32\n);\nconst getUint64Mask = _makePrimitiveMaskFn(\n 8,\n DataView.prototype.setBigUint64\n);\nconst getUint8Mask = _makePrimitiveMaskFn(\n 1,\n DataView.prototype.setUint8\n);\nfunction getBitMask(value, bitOffset) {\n const dv = new DataView(new ArrayBuffer(1));\n if (!value) {\n return dv;\n }\n dv.setUint8(0, 1 << bitOffset % 8);\n return dv;\n}\n\nexport { CompositeList as C, getUint8Mask as a, getUint16Mask as b, getFloat32Mask as c, getFloat64Mask as d, getInt16Mask as e, getInt32Mask as f, getBitMask as g, getInt64Mask as h, getInt8Mask as i, getUint32Mask as j, getUint64Mask as k };\n","import { N as format, P as SEG_NOT_WORD_ALIGNED, Q as DEFAULT_BUFFER_SIZE, R as SEG_ID_OUT_OF_BOUNDS, T as padToWord, U as SEG_GET_NON_ZERO_SINGLE, V as MIN_SINGLE_SEGMENT_GROWTH, W as assertNever, X as MSG_PACK_NOT_WORD_ALIGNED, Y as PACK_SPAN_THRESHOLD, Z as MAX_SEGMENT_LENGTH, _ as SEG_SIZE_OVERFLOW, $ as Pointer, a0 as NATIVE_LITTLE_ENDIAN, a1 as SEG_REPLACEMENT_BUFFER_TOO_SMALL, a2 as DEFAULT_TRAVERSE_LIMIT, a3 as MSG_INVALID_FRAME_HEADER, a4 as MSG_SEGMENT_TOO_SMALL, a5 as MSG_SEGMENT_OUT_OF_BOUNDS, a6 as dumpBuffer, a7 as validate, a8 as PointerType, a9 as getTargetStructSize, aa as resize, ab as initStruct, c as copyFrom } from './capnp-es.0-_cOx6D.mjs';\n\nvar ArenaKind = /* @__PURE__ */ ((ArenaKind2) => {\n ArenaKind2[ArenaKind2[\"SINGLE_SEGMENT\"] = 0] = \"SINGLE_SEGMENT\";\n ArenaKind2[ArenaKind2[\"MULTI_SEGMENT\"] = 1] = \"MULTI_SEGMENT\";\n return ArenaKind2;\n})(ArenaKind || {});\n\nclass ArenaAllocationResult {\n /**\n * The newly allocated buffer. This buffer might be a copy of an existing segment's buffer with free space appended.\n */\n buffer;\n /**\n * The id of the newly-allocated segment.\n */\n id;\n constructor(id, buffer) {\n this.id = id;\n this.buffer = buffer;\n }\n}\n\nclass MultiSegmentArena {\n constructor(buffers = [new ArrayBuffer(DEFAULT_BUFFER_SIZE)]) {\n this.buffers = buffers;\n let i = buffers.length;\n while (--i >= 0) {\n if ((buffers[i].byteLength & 7) !== 0) {\n throw new Error(format(SEG_NOT_WORD_ALIGNED, buffers[i].byteLength));\n }\n }\n }\n static allocate = allocate$2;\n static getBuffer = getBuffer$2;\n static getNumSegments = getNumSegments$2;\n kind = ArenaKind.MULTI_SEGMENT;\n toString() {\n return format(\"MultiSegmentArena_segments:%d\", getNumSegments$2(this));\n }\n}\nfunction allocate$2(minSize, m) {\n const b = new ArrayBuffer(padToWord(Math.max(minSize, DEFAULT_BUFFER_SIZE)));\n m.buffers.push(b);\n return new ArenaAllocationResult(m.buffers.length - 1, b);\n}\nfunction getBuffer$2(id, m) {\n if (id < 0 || id >= m.buffers.length) {\n throw new Error(format(SEG_ID_OUT_OF_BOUNDS, id));\n }\n return m.buffers[id];\n}\nfunction getNumSegments$2(m) {\n return m.buffers.length;\n}\n\nclass SingleSegmentArena {\n static allocate = allocate$1;\n static getBuffer = getBuffer$1;\n static getNumSegments = getNumSegments$1;\n buffer;\n kind = ArenaKind.SINGLE_SEGMENT;\n constructor(buffer = new ArrayBuffer(DEFAULT_BUFFER_SIZE)) {\n if ((buffer.byteLength & 7) !== 0) {\n throw new Error(format(SEG_NOT_WORD_ALIGNED, buffer.byteLength));\n }\n this.buffer = buffer;\n }\n toString() {\n return format(\"SingleSegmentArena_len:%x\", this.buffer.byteLength);\n }\n}\nfunction allocate$1(minSize, segments, s) {\n const srcBuffer = segments.length > 0 ? segments[0].buffer : s.buffer;\n minSize = minSize < MIN_SINGLE_SEGMENT_GROWTH ? MIN_SINGLE_SEGMENT_GROWTH : padToWord(minSize);\n s.buffer = new ArrayBuffer(srcBuffer.byteLength + minSize);\n new Float64Array(s.buffer).set(new Float64Array(srcBuffer));\n return new ArenaAllocationResult(0, s.buffer);\n}\nfunction getBuffer$1(id, s) {\n if (id !== 0) throw new Error(format(SEG_GET_NON_ZERO_SINGLE, id));\n return s.buffer;\n}\nfunction getNumSegments$1() {\n return 1;\n}\n\nclass Arena {\n static allocate = allocate;\n static copy = copy$1;\n static getBuffer = getBuffer;\n static getNumSegments = getNumSegments;\n}\nfunction allocate(minSize, segments, a) {\n switch (a.kind) {\n case ArenaKind.MULTI_SEGMENT: {\n return MultiSegmentArena.allocate(minSize, a);\n }\n case ArenaKind.SINGLE_SEGMENT: {\n return SingleSegmentArena.allocate(minSize, segments, a);\n }\n default: {\n return assertNever(a);\n }\n }\n}\nfunction copy$1(a) {\n switch (a.kind) {\n case ArenaKind.MULTI_SEGMENT: {\n let i = a.buffers.length;\n const buffers = Array.from({ length: i });\n while (--i >= 0) {\n buffers[i] = a.buffers[i].slice(0);\n }\n return new MultiSegmentArena(buffers);\n }\n case ArenaKind.SINGLE_SEGMENT: {\n return new SingleSegmentArena(a.buffer.slice(0));\n }\n default: {\n return assertNever(a);\n }\n }\n}\nfunction getBuffer(id, a) {\n switch (a.kind) {\n case ArenaKind.MULTI_SEGMENT: {\n return MultiSegmentArena.getBuffer(id, a);\n }\n case ArenaKind.SINGLE_SEGMENT: {\n return SingleSegmentArena.getBuffer(id, a);\n }\n default: {\n return assertNever(a);\n }\n }\n}\nfunction getNumSegments(a) {\n switch (a.kind) {\n case ArenaKind.MULTI_SEGMENT: {\n return MultiSegmentArena.getNumSegments(a);\n }\n case ArenaKind.SINGLE_SEGMENT: {\n return SingleSegmentArena.getNumSegments();\n }\n default: {\n return assertNever(a);\n }\n }\n}\n\nfunction getHammingWeight(x) {\n let w = x - (x >> 1 & 1431655765);\n w = (w & 858993459) + (w >> 2 & 858993459);\n return (w + (w >> 4) & 252645135) * 16843009 >> 24;\n}\nfunction getTagByte(a, b, c, d, e, f, g, h) {\n return (a === 0 ? 0 : 1) | (b === 0 ? 0 : 2) | (c === 0 ? 0 : 4) | (d === 0 ? 0 : 8) | (e === 0 ? 0 : 16) | (f === 0 ? 0 : 32) | (g === 0 ? 0 : 64) | (h === 0 ? 0 : 128);\n}\nfunction getUnpackedByteLength(packed) {\n const p = new Uint8Array(packed);\n let wordCount = 0;\n let lastTag = 119 /* NONZERO_NONSPAN */;\n for (let i = 0; i < p.byteLength; ) {\n const tag = p[i];\n if (lastTag === 0 /* ZERO */) {\n wordCount += tag;\n i++;\n lastTag = 119 /* NONZERO_NONSPAN */;\n } else if (lastTag === 255 /* SPAN */) {\n wordCount += tag;\n i += tag * 8 + 1;\n lastTag = 119 /* NONZERO_NONSPAN */;\n } else {\n wordCount++;\n i += getHammingWeight(tag) + 1;\n lastTag = tag;\n }\n }\n return wordCount * 8;\n}\nfunction getZeroByteCount(a, b, c, d, e, f, g, h) {\n return (a === 0 ? 1 : 0) + (b === 0 ? 1 : 0) + (c === 0 ? 1 : 0) + (d === 0 ? 1 : 0) + (e === 0 ? 1 : 0) + (f === 0 ? 1 : 0) + (g === 0 ? 1 : 0) + (h === 0 ? 1 : 0);\n}\nfunction pack(unpacked, byteOffset = 0, byteLength) {\n if (unpacked.byteLength % 8 !== 0) {\n throw new Error(MSG_PACK_NOT_WORD_ALIGNED);\n }\n const src = new Uint8Array(unpacked, byteOffset, byteLength);\n const dst = [];\n let lastTag = 119 /* NONZERO_NONSPAN */;\n let spanWordCountOffset = 0;\n let rangeWordCount = 0;\n for (let srcByteOffset = 0; srcByteOffset < src.byteLength; srcByteOffset += 8) {\n const a = src[srcByteOffset];\n const b = src[srcByteOffset + 1];\n const c = src[srcByteOffset + 2];\n const d = src[srcByteOffset + 3];\n const e = src[srcByteOffset + 4];\n const f = src[srcByteOffset + 5];\n const g = src[srcByteOffset + 6];\n const h = src[srcByteOffset + 7];\n const tag = getTagByte(a, b, c, d, e, f, g, h);\n let skipWriteWord = true;\n switch (lastTag) {\n case 0 /* ZERO */: {\n if (tag !== 0 /* ZERO */ || rangeWordCount >= 255) {\n dst.push(rangeWordCount);\n rangeWordCount = 0;\n skipWriteWord = false;\n } else {\n rangeWordCount++;\n }\n break;\n }\n case 255 /* SPAN */: {\n const zeroCount = getZeroByteCount(a, b, c, d, e, f, g, h);\n if (zeroCount >= PACK_SPAN_THRESHOLD || rangeWordCount >= 255) {\n dst[spanWordCountOffset] = rangeWordCount;\n rangeWordCount = 0;\n skipWriteWord = false;\n } else {\n dst.push(a, b, c, d, e, f, g, h);\n rangeWordCount++;\n }\n break;\n }\n default: {\n skipWriteWord = false;\n break;\n }\n }\n if (skipWriteWord) {\n continue;\n }\n dst.push(tag);\n lastTag = tag;\n if (a !== 0) dst.push(a);\n if (b !== 0) dst.push(b);\n if (c !== 0) dst.push(c);\n if (d !== 0) dst.push(d);\n if (e !== 0) dst.push(e);\n if (f !== 0) dst.push(f);\n if (g !== 0) dst.push(g);\n if (h !== 0) dst.push(h);\n if (tag === 255 /* SPAN */) {\n spanWordCountOffset = dst.length;\n dst.push(0);\n }\n }\n if (lastTag === 0 /* ZERO */) {\n dst.push(rangeWordCount);\n } else if (lastTag === 255 /* SPAN */) {\n dst[spanWordCountOffset] = rangeWordCount;\n }\n return new Uint8Array(dst).buffer;\n}\nfunction unpack(packed) {\n const src = new Uint8Array(packed);\n const dst = new Uint8Array(new ArrayBuffer(getUnpackedByteLength(packed)));\n let lastTag = 119 /* NONZERO_NONSPAN */;\n for (let srcByteOffset = 0, dstByteOffset = 0; srcByteOffset < src.byteLength; ) {\n const tag = src[srcByteOffset];\n if (lastTag === 0 /* ZERO */) {\n dstByteOffset += tag * 8;\n srcByteOffset++;\n lastTag = 119 /* NONZERO_NONSPAN */;\n } else if (lastTag === 255 /* SPAN */) {\n const spanByteLength = tag * 8;\n dst.set(\n src.subarray(srcByteOffset + 1, srcByteOffset + 1 + spanByteLength),\n dstByteOffset\n );\n dstByteOffset += spanByteLength;\n srcByteOffset += 1 + spanByteLength;\n lastTag = 119 /* NONZERO_NONSPAN */;\n } else {\n srcByteOffset++;\n for (let i = 1; i <= 128; i <<= 1) {\n if ((tag & i) !== 0) {\n dst[dstByteOffset] = src[srcByteOffset++];\n }\n dstByteOffset++;\n }\n lastTag = tag;\n }\n }\n return dst.buffer;\n}\n\nclass Segment {\n constructor(id, message, buffer, byteLength = 0) {\n this.id = id;\n this.message = message;\n this.message = message;\n this.buffer = buffer;\n this._dv = new DataView(buffer);\n this.byteOffset = 0;\n this.byteLength = byteLength;\n }\n buffer;\n /** The number of bytes currently allocated in the segment. */\n byteLength;\n /**\n * This value should always be zero. It's only here to satisfy the DataView interface.\n *\n * In the future the Segment implementation (or a child class) may allow accessing the buffer from a nonzero offset,\n * but that adds a lot of extra arithmetic.\n */\n byteOffset;\n [Symbol.toStringTag] = \"Segment\";\n _dv;\n /**\n * Attempt to allocate the requested number of bytes in this segment. If this segment is full this method will return\n * a pointer to freshly allocated space in another segment from the same message.\n *\n * @param byteLength The number of bytes to allocate, will be rounded up to the nearest word.\n * @returns A pointer to the newly allocated space.\n */\n allocate(byteLength) {\n let segment = this;\n byteLength = padToWord(byteLength);\n if (byteLength > MAX_SEGMENT_LENGTH - 8) {\n throw new Error(format(SEG_SIZE_OVERFLOW, byteLength));\n }\n if (!segment.hasCapacity(byteLength)) {\n segment = segment.message.allocateSegment(byteLength);\n }\n const byteOffset = segment.byteLength;\n segment.byteLength += byteLength;\n return new Pointer(segment, byteOffset);\n }\n /**\n * Quickly copy a word (8 bytes) from `srcSegment` into this one at the given offset.\n *\n * @param byteOffset The offset to write the word to.\n * @param srcSegment The segment to copy the word from.\n * @param srcByteOffset The offset from the start of `srcSegment` to copy from.\n */\n copyWord(byteOffset, srcSegment, srcByteOffset) {\n const value = srcSegment._dv.getFloat64(\n srcByteOffset,\n NATIVE_LITTLE_ENDIAN\n );\n this._dv.setFloat64(byteOffset, value, NATIVE_LITTLE_ENDIAN);\n }\n /**\n * Quickly copy words from `srcSegment` into this one.\n *\n * @param byteOffset The offset to start copying into.\n * @param srcSegment The segment to copy from.\n * @param srcByteOffset The start offset to copy from.\n * @param wordLength The number of words to copy.\n */\n copyWords(byteOffset, srcSegment, srcByteOffset, wordLength) {\n const dst = new Float64Array(this.buffer, byteOffset, wordLength);\n const src = new Float64Array(srcSegment.buffer, srcByteOffset, wordLength);\n dst.set(src);\n }\n /**\n * Quickly fill a number of words in the buffer with zeroes.\n *\n * @param byteOffset The first byte to set to zero.\n * @param wordLength The number of words (not bytes!) to zero out.\n */\n fillZeroWords(byteOffset, wordLength) {\n new Float64Array(this.buffer, byteOffset, wordLength).fill(0);\n }\n getBigInt64(byteOffset, littleEndian) {\n return this._dv.getBigInt64(byteOffset, littleEndian);\n }\n getBigUint64(byteOffset, littleEndian) {\n return this._dv.getBigUint64(byteOffset, littleEndian);\n }\n /**\n * Get the total number of bytes available in this segment (the size of its underlying buffer).\n *\n * @returns The total number of bytes this segment can hold.\n */\n getCapacity() {\n return this.buffer.byteLength;\n }\n /**\n * Read a float32 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getFloat32(byteOffset) {\n return this._dv.getFloat32(byteOffset, true);\n }\n /**\n * Read a float64 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getFloat64(byteOffset) {\n return this._dv.getFloat64(byteOffset, true);\n }\n /**\n * Read an int16 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getInt16(byteOffset) {\n return this._dv.getInt16(byteOffset, true);\n }\n /**\n * Read an int32 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getInt32(byteOffset) {\n return this._dv.getInt32(byteOffset, true);\n }\n /**\n * Read an int64 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getInt64(byteOffset) {\n return this._dv.getBigInt64(byteOffset, true);\n }\n /**\n * Read an int8 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getInt8(byteOffset) {\n return this._dv.getInt8(byteOffset);\n }\n /**\n * Read a uint16 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getUint16(byteOffset) {\n return this._dv.getUint16(byteOffset, true);\n }\n /**\n * Read a uint32 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getUint32(byteOffset) {\n return this._dv.getUint32(byteOffset, true);\n }\n /**\n * Read a uint64 value (as a bigint) out of this segment.\n * NOTE: this does not copy the memory region, so updates to the underlying buffer will affect the returned value!\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getUint64(byteOffset) {\n return this._dv.getBigUint64(byteOffset, true);\n }\n /**\n * Read a uint8 value out of this segment.\n *\n * @param byteOffset The offset in bytes to the value.\n * @returns The value.\n */\n getUint8(byteOffset) {\n return this._dv.getUint8(byteOffset);\n }\n hasCapacity(byteLength) {\n return this.buffer.byteLength - this.byteLength >= byteLength;\n }\n /**\n * Quickly check the word at the given offset to see if it is equal to zero.\n *\n * PERF_V8: Fastest way to do this is by reading the whole word as a `number` (float64) in the _native_ endian format\n * and see if it's zero.\n *\n * Benchmark: http://jsben.ch/#/Pjooc\n *\n * @param byteOffset The offset to the word.\n * @returns `true` if the word is zero.\n */\n isWordZero(byteOffset) {\n return this._dv.getFloat64(byteOffset, NATIVE_LITTLE_ENDIAN) === 0;\n }\n /**\n * Swap out this segment's underlying buffer with a new one. It's assumed that the new buffer has the same content but\n * more free space, otherwise all existing pointers to this segment will be hilariously broken.\n *\n * @param buffer The new buffer to use.\n */\n replaceBuffer(buffer) {\n if (this.buffer === buffer) {\n return;\n }\n if (buffer.byteLength < this.byteLength) {\n throw new Error(SEG_REPLACEMENT_BUFFER_TOO_SMALL);\n }\n this._dv = new DataView(buffer);\n this.buffer = buffer;\n }\n setBigInt64(byteOffset, value, littleEndian) {\n this._dv.setBigInt64(byteOffset, value, littleEndian);\n }\n /** WARNING: This function is not yet implemented. */\n setBigUint64(byteOffset, value, littleEndian) {\n this._dv.setBigUint64(byteOffset, value, littleEndian);\n }\n /**\n * Write a float32 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setFloat32(byteOffset, val) {\n this._dv.setFloat32(byteOffset, val, true);\n }\n /**\n * Write an float64 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setFloat64(byteOffset, val) {\n this._dv.setFloat64(byteOffset, val, true);\n }\n /**\n * Write an int16 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setInt16(byteOffset, val) {\n this._dv.setInt16(byteOffset, val, true);\n }\n /**\n * Write an int32 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setInt32(byteOffset, val) {\n this._dv.setInt32(byteOffset, val, true);\n }\n /**\n * Write an int8 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setInt8(byteOffset, val) {\n this._dv.setInt8(byteOffset, val);\n }\n /**\n * Write an int64 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setInt64(byteOffset, val) {\n this._dv.setBigInt64(byteOffset, val, true);\n }\n /**\n * Write a uint16 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setUint16(byteOffset, val) {\n this._dv.setUint16(byteOffset, val, true);\n }\n /**\n * Write a uint32 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setUint32(byteOffset, val) {\n this._dv.setUint32(byteOffset, val, true);\n }\n /**\n * Write a uint64 value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setUint64(byteOffset, val) {\n this._dv.setBigUint64(byteOffset, val, true);\n }\n /**\n * Write a uint8 (byte) value to the specified offset.\n *\n * @param byteOffset The offset from the beginning of the buffer.\n * @param val The value to store.\n */\n setUint8(byteOffset, val) {\n this._dv.setUint8(byteOffset, val);\n }\n /**\n * Write a zero word (8 bytes) to the specified offset. This is slightly faster than calling `setUint64` or\n * `setFloat64` with a zero value.\n *\n * Benchmark: http://jsben.ch/#/dUdPI\n *\n * @param byteOffset The offset of the word to set to zero.\n */\n setWordZero(byteOffset) {\n this._dv.setFloat64(byteOffset, 0, NATIVE_LITTLE_ENDIAN);\n }\n toString() {\n return format(\n \"Segment_id:%d,off:%a,len:%a,cap:%a\",\n this.id,\n this.byteLength,\n this.byteOffset,\n this.buffer.byteLength\n );\n }\n}\n\nclass Message {\n static allocateSegment = allocateSegment;\n static dump = dump;\n static getRoot = getRoot;\n static getSegment = getSegment;\n static initRoot = initRoot;\n static readRawPointer = readRawPointer;\n static toArrayBuffer = toArrayBuffer;\n static toPackedArrayBuffer = toPackedArrayBuffer;\n _capnp;\n /**\n * A Cap'n Proto message.\n *\n * SECURITY WARNING: In Node.js do not pass a Buffer's internal array buffer into this constructor. Pass the buffer\n * directly and everything will be fine. If not, your message will potentially be initialized with random memory\n * contents!\n *\n * The constructor method creates a new Message, optionally using a provided arena for segment allocation, or a buffer\n * to read from.\n *\n * @param src The source for the message.\n * A value of `undefined` will cause the message to initialize with a single segment arena only big enough for the\n * root pointer; it will expand as you go. This is a reasonable choice for most messages.\n *\n * Passing an arena will cause the message to use that arena for its segment allocation. Contents will be accepted\n * as-is.\n *\n * Passing an array buffer view (like `DataView`, `Uint8Array` or `Buffer`) will create a **copy** of the source\n * buffer; beware of the potential performance cost!\n *\n * @param packed Whether or not the message is packed. If `true` (the default), the message will be\n * unpacked.\n *\n * @param singleSegment If true, `src` will be treated as a message consisting of a single segment without\n * a framing header.\n *\n */\n constructor(src, packed = true, singleSegment = false) {\n this._capnp = initMessage(src, packed, singleSegment);\n if (src) {\n preallocateSegments(this);\n }\n }\n allocateSegment(byteLength) {\n return allocateSegment(byteLength, this);\n }\n /**\n * Copies the contents of this message into an identical message with its own ArrayBuffers.\n *\n * @returns A copy of this message.\n */\n copy() {\n return copy(this);\n }\n /**\n * Create a pretty-printed string dump of this message; incredibly useful for debugging.\n *\n * WARNING: Do not call this method on large messages!\n *\n * @returns A big steaming pile of pretty hex digits.\n */\n dump() {\n return dump(this);\n }\n /**\n * Get a struct pointer for the root of this message. This is primarily used when reading a message; it will not\n * overwrite existing data.\n *\n * @param RootStruct The struct type to use as the root.\n * @returns A struct representing the root of the message.\n */\n getRoot(RootStruct) {\n return getRoot(RootStruct, this);\n }\n /**\n * Get a segment by its id.\n *\n * This will lazily allocate the first segment if it doesn't already exist.\n *\n * @param id The segment id.\n * @returns The requested segment.\n */\n getSegment(id) {\n return getSegment(id, this);\n }\n /**\n * Initialize a new message using the provided struct type as the root.\n *\n * @param RootStruct The struct type to use as the root.\n * @returns An initialized struct pointing to the root of the message.\n */\n initRoot(RootStruct) {\n return initRoot(RootStruct, this);\n }\n /**\n * Set the root of the message to a copy of the given pointer. Used internally\n * to make copies of pointers for default values.\n *\n * @param src The source pointer to copy.\n */\n setRoot(src) {\n setRoot(src, this);\n }\n /**\n * Combine the contents of this message's segments into a single array buffer and prepend a stream framing header\n * containing information about the following segment data.\n *\n * @returns An ArrayBuffer with the contents of this message.\n */\n toArrayBuffer() {\n return toArrayBuffer(this);\n }\n /**\n * Like `toArrayBuffer()`, but also applies the packing algorithm to the output. This is typically what you want to\n * use if you're sending the message over a network link or other slow I/O interface where size matters.\n *\n * @returns A packed message.\n */\n toPackedArrayBuffer() {\n return toPackedArrayBuffer(this);\n }\n addCap(client) {\n if (!this._capnp.capTable) {\n this._capnp.capTable = [];\n }\n const id = this._capnp.capTable.length;\n this._capnp.capTable.push(client);\n return id;\n }\n toString() {\n return `Message_arena:${this._capnp.arena}`;\n }\n}\nfunction initMessage(src, packed = true, singleSegment = false) {\n if (src === undefined) {\n return {\n arena: new SingleSegmentArena(),\n segments: [],\n traversalLimit: DEFAULT_TRAVERSE_LIMIT\n };\n }\n if (isAnyArena(src)) {\n return { arena: src, segments: [], traversalLimit: DEFAULT_TRAVERSE_LIMIT };\n }\n let buf = src;\n if (isArrayBufferView(buf)) {\n buf = buf.buffer.slice(\n buf.byteOffset,\n buf.byteOffset + buf.byteLength\n );\n }\n if (packed) {\n buf = unpack(buf);\n }\n if (singleSegment) {\n return {\n arena: new SingleSegmentArena(buf),\n segments: [],\n traversalLimit: DEFAULT_TRAVERSE_LIMIT\n };\n }\n return {\n arena: new MultiSegmentArena(getFramedSegments(buf)),\n segments: [],\n traversalLimit: DEFAULT_TRAVERSE_LIMIT\n };\n}\nfunction getFramedSegments(message) {\n const dv = new DataView(message);\n const segmentCount = dv.getUint32(0, true) + 1;\n const segments = Array.from({ length: segmentCount });\n let byteOffset = 4 + segmentCount * 4;\n byteOffset += byteOffset % 8;\n if (byteOffset + segmentCount * 4 > message.byteLength) {\n throw new Error(MSG_INVALID_FRAME_HEADER);\n }\n for (let i = 0; i < segmentCount; i++) {\n const byteLength = dv.getUint32(4 + i * 4, true) * 8;\n if (byteOffset + byteLength > message.byteLength) {\n throw new Error(MSG_INVALID_FRAME_HEADER);\n }\n segments[i] = message.slice(byteOffset, byteOffset + byteLength);\n byteOffset += byteLength;\n }\n return segments;\n}\nfunction preallocateSegments(m) {\n const numSegments = Arena.getNumSegments(m._capnp.arena);\n m._capnp.segments = Array.from({ length: numSegments });\n for (let i = 0; i < numSegments; i++) {\n if (i === 0 && Arena.getBuffer(i, m._capnp.arena).byteLength < 8) {\n throw new Error(MSG_SEGMENT_TOO_SMALL);\n }\n const buffer = Arena.getBuffer(i, m._capnp.arena);\n const segment = new Segment(i, m, buffer, buffer.byteLength);\n m._capnp.segments[i] = segment;\n }\n}\nfunction isArrayBufferView(src) {\n return src.byteOffset !== undefined;\n}\nfunction isAnyArena(o) {\n return o.kind !== undefined;\n}\nfunction allocateSegment(byteLength, m) {\n const res = Arena.allocate(byteLength, m._capnp.segments, m._capnp.arena);\n let s;\n if (res.id === m._capnp.segments.length) {\n s = new Segment(res.id, m, res.buffer);\n m._capnp.segments.push(s);\n } else if (res.id < 0 || res.id > m._capnp.segments.length) {\n throw new Error(format(MSG_SEGMENT_OUT_OF_BOUNDS, res.id, m));\n } else {\n s = m._capnp.segments[res.id];\n s.replaceBuffer(res.buffer);\n }\n return s;\n}\nfunction dump(m) {\n let r = \"\";\n if (m._capnp.segments.length === 0) {\n return \"================\\nNo Segments\\n================\\n\";\n }\n for (let i = 0; i < m._capnp.segments.length; i++) {\n r += `================\nSegment #${i}\n================\n`;\n const { buffer, byteLength } = m._capnp.segments[i];\n const b = new Uint8Array(buffer, 0, byteLength);\n r += dumpBuffer(b);\n }\n return r;\n}\nfunction getRoot(RootStruct, m) {\n const root = new RootStruct(m.getSegment(0), 0);\n validate(PointerType.STRUCT, root);\n const ts = getTargetStructSize(root);\n if (ts.dataByteLength < RootStruct._capnp.size.dataByteLength || ts.pointerLength < RootStruct._capnp.size.pointerLength) {\n resize(RootStruct._capnp.size, root);\n }\n return root;\n}\nfunction getSegment(id, m) {\n const segmentLength = m._capnp.segments.length;\n if (id === 0 && segmentLength === 0) {\n const arenaSegments = Arena.getNumSegments(m._capnp.arena);\n if (arenaSegments === 0) {\n allocateSegment(DEFAULT_BUFFER_SIZE, m);\n } else {\n m._capnp.segments[0] = new Segment(\n 0,\n m,\n Arena.getBuffer(0, m._capnp.arena)\n );\n }\n if (!m._capnp.segments[0].hasCapacity(8)) {\n throw new Error(MSG_SEGMENT_TOO_SMALL);\n }\n m._capnp.segments[0].allocate(8);\n return m._capnp.segments[0];\n }\n if (id < 0 || id >= segmentLength) {\n throw new Error(format(MSG_SEGMENT_OUT_OF_BOUNDS, id, m));\n }\n return m._capnp.segments[id];\n}\nfunction initRoot(RootStruct, m) {\n const root = new RootStruct(m.getSegment(0), 0);\n initStruct(RootStruct._capnp.size, root);\n return root;\n}\nfunction readRawPointer(data) {\n return new Pointer(new Message(data).getSegment(0), 0);\n}\nfunction setRoot(src, m) {\n copyFrom(src, new Pointer(m.getSegment(0), 0));\n}\nfunction toArrayBuffer(m) {\n const streamFrame = getStreamFrame(m);\n if (m._capnp.segments.length === 0) {\n getSegment(0, m);\n }\n const { segments } = m._capnp;\n const totalLength = streamFrame.byteLength + segments.reduce((l, s) => l + padToWord(s.byteLength), 0);\n const out = new Uint8Array(new ArrayBuffer(totalLength));\n let o = streamFrame.byteLength;\n out.set(new Uint8Array(streamFrame));\n for (const s of segments) {\n const segmentLength = padToWord(s.byteLength);\n out.set(new Uint8Array(s.buffer, 0, segmentLength), o);\n o += segmentLength;\n }\n return out.buffer;\n}\nfunction toPackedArrayBuffer(m) {\n const streamFrame = pack(getStreamFrame(m));\n if (m._capnp.segments.length === 0) {\n m.getSegment(0);\n }\n const segments = m._capnp.segments.map(\n (s) => pack(s.buffer, 0, padToWord(s.byteLength))\n );\n const totalLength = streamFrame.byteLength + segments.reduce((l, s) => l + s.byteLength, 0);\n const out = new Uint8Array(new ArrayBuffer(totalLength));\n let o = streamFrame.byteLength;\n out.set(new Uint8Array(streamFrame));\n for (const s of segments) {\n out.set(new Uint8Array(s), o);\n o += s.byteLength;\n }\n return out.buffer;\n}\nfunction getStreamFrame(m) {\n const { length } = m._capnp.segments;\n if (length === 0) {\n return new Float64Array(1).buffer;\n }\n const frameLength = 4 + length * 4 + (1 - length % 2) * 4;\n const out = new DataView(new ArrayBuffer(frameLength));\n out.setUint32(0, length - 1, true);\n for (const [i, s] of m._capnp.segments.entries()) {\n out.setUint32(i * 4 + 4, s.byteLength / 8, true);\n }\n return out.buffer;\n}\nfunction copy(m) {\n return new Message(Arena.copy(m._capnp.arena));\n}\n\nexport { Message as M, readRawPointer as r };\n"],"x_google_ignoreList":[0,1,2],"mappings":"AAAA,IAAI,GAAoC,IACtC,EAAiB,EAAiB,KAAU,GAAK,OACjD,EAAiB,EAAiB,IAAS,GAAK,MAChD,EAAiB,EAAiB,KAAU,GAAK,OACjD,EAAiB,EAAiB,OAAY,GAAK,SACnD,EAAiB,EAAiB,OAAY,GAAK,SACnD,EAAiB,EAAiB,OAAY,GAAK,SACnD,EAAiB,EAAiB,QAAa,GAAK,UACpD,EAAiB,EAAiB,UAAe,GAAK,YAC/C,IACN,GAAmB,EAAE,CAAC,CAEzB,MAAM,EAAU,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC,CAChD,IAAI,YAAY,EAAQ,OAAO,CAAC,GAAK,IACrC,MAAM,EAAsB,KACtB,EAAyB,IAAM,GAK/B,EAA4B,KAC5B,EAAuB,EAAQ,SAAS,EAAE,GAAK,EAI/C,EAAY,WACZ,EAAqB,WAErB,EAA6B,yCACnC,SAAS,EAAY,EAAG,CACtB,MAAU,MAAM,iEAAwD,EAAE,GAAG,CAE/E,MAAM,EAA2B,8GAE3B,EAA4B,6DAC5B,EAAwB,+FACxB,EAAkB,qCAIlB,EAA2B,mDAG3B,EAAwB,6CACxB,GAA2B,wCAU3B,GAAuB,+DAEvB,GAAoB,wDAAwD,EAAmB,IAE/F,EAAkB,kEAClB,EAAiB,iDACjB,GAAkB,mCAClB,GAAsB,+CACtB,GAAwB,mCACxB,GAAe,+CACf,GAAoB,qCACpB,GAA6B,sCAC7B,GAAiB,gCACjB,GAAkC,4DAClC,GAAyB,oDACzB,GAAwB,kEACxB,GAAwB,kEACxB,GAA6B,uDAC7B,GAAmB,+CACnB,GAAY,0CACZ,GAAwB,qEACxB,GAA4B,kEAC5B,GAA6B,+DAEnC,SAAS,GAAY,EAAQ,CAC3B,IAAM,EAAI,IAAI,WAAW,EAAO,CAC1B,EAAI,EAAE,CACZ,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,WAAY,IAChC,EAAE,KAAK,EAAI,EAAE,GAAG,SAAS,GAAG,CAAE,EAAE,CAAC,CAEnC,MAAO,IAAI,EAAE,KAAK,IAAI,CAAC,GAEzB,SAAS,GAAW,EAAQ,CAC1B,IAAM,EAAI,aAAkB,YAAc,IAAI,WAAW,EAAO,CAAG,IAAI,WAAW,EAAO,OAAQ,EAAO,WAAY,EAAO,WAAW,CAChI,EAAa,KAAK,IAAI,EAAE,WAAY,KAAsB,CAC5D,EAAI,EAAO;oBAAwB,EAAW,CAClD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAY,GAAK,GAAI,CACvC,GAAK;EACP,EAAI,EAAE,SAAS,GAAG,CAAE,EAAE,CAAC,IACrB,IAAI,EAAI,GACJ,EACJ,IAAK,EAAI,EAAG,EAAI,IAAM,EAAI,EAAI,EAAE,WAAY,IAAK,CAC/C,IAAM,EAAI,EAAE,EAAI,GAChB,GAAK,GAAG,EAAI,EAAE,SAAS,GAAG,CAAE,EAAE,CAAC,GAC/B,GAAK,EAAI,IAAM,EAAI,IAAM,OAAO,aAAa,EAAE,CAAG,IAC9C,IAAM,IACR,GAAK,KAGT,GAAK,GAAG,IAAI,QAAQ,GAAK,GAAK,EAAE,GAAG,IAMrC,MAJA,IAAK;EACD,IAAe,EAAE,aACnB,GAAK,EAAO;EAAkC,EAAE,WAAa,EAAW,EAEnE,EAET,SAAS,EAAO,EAAG,GAAG,EAAM,CAC1B,IAAM,EAAI,EAAE,OACR,EACA,EAAW,EACX,EACA,EAAU,GACV,EAAI,EACJ,EAAc,GACd,EACA,EAAS,GACb,SAAS,GAAU,CACjB,OAAO,EAAK,KAEd,SAAS,GAAc,CACrB,IAAI,EAAS,GACb,KAAO,KAAK,KAAK,EAAE,GAAG,EACpB,GAAU,EAAE,KACZ,EAAI,EAAE,GAER,OAAO,EAAO,OAAS,EAAI,OAAO,SAAS,EAAQ,GAAG,CAAG,KAE3D,KAAO,EAAI,EAAG,EAAE,EAEd,GADA,EAAI,EAAE,GACF,EAaF,OAZA,EAAU,GACN,IAAM,KACR,EAAc,GACd,EAAI,EAAE,EAAE,IACC,IAAM,KAAO,EAAE,EAAI,KAAO,KACnC,EAAc,GACd,GAAK,EACL,EAAI,EAAE,IAEN,EAAc,GAEhB,EAAY,GAAa,CACjB,EAAR,CACE,IAAK,IACH,GAAU,KAAO,EAAI,OAAO,SAAS,OAAO,GAAS,CAAC,CAAE,GAAG,CAAC,SAAS,GAAG,CAAE,EAAE,CAC5E,MAEF,IAAK,IACH,GAAU,OAAO,SAAS,OAAO,GAAS,CAAC,CAAE,GAAG,CAAC,SAAS,EAAE,CAC5D,MAEF,IAAK,IACH,EAAM,GAAS,CACf,GAAU,OAAO,GAAQ,UAAY,aAAe,OAAS,EAAM,OAAO,aAAa,OAAO,SAAS,OAAO,EAAI,CAAE,GAAG,CAAC,CACxH,MAEF,IAAK,IACH,GAAU,OAAO,SAAS,OAAO,GAAS,CAAC,CAAE,GAAG,CAChD,MAEF,IAAK,IAAK,CACR,IAAM,EAAM,OAAO,WAAW,OAAO,GAAS,CAAC,CAAC,CAAC,QAC/C,GAAa,EACd,CACD,GAAU,EAAc,EAAM,EAAI,QAAQ,KAAM,GAAG,CACnD,MAEF,IAAK,IACH,GAAU,KAAK,UAAU,GAAS,CAAC,CACnC,MAEF,IAAK,IACH,GAAU,IAAM,OAAO,SAAS,OAAO,GAAS,CAAC,CAAE,GAAG,CAAC,SAAS,EAAE,CAClE,MAEF,IAAK,IACH,GAAU,GAAS,CACnB,MAEF,IAAK,IACH,GAAU,KAAO,OAAO,SAAS,OAAO,GAAS,CAAC,CAAE,GAAG,CAAC,SAAS,GAAG,CACpE,MAEF,IAAK,IACH,GAAU,KAAO,OAAO,SAAS,OAAO,GAAS,CAAC,CAAE,GAAG,CAAC,SAAS,GAAG,CAAC,aAAa,CAClF,MAEF,QACE,GAAU,EACV,WAGK,IAAM,IACf,EAAU,GAEV,GAAU,EAGd,OAAO,EAET,SAAS,EAAI,EAAG,EAAO,EAAO,IAAK,CACjC,OAAO,EAAE,QAAU,EAAQ,EAAI,MAAM,KAAK,CAAE,OAAQ,EAAQ,EAAE,OAAS,EAAG,CAAC,CAAC,KAAK,EAAK,CAAG,EAE3F,SAAS,EAAY,EAAM,CACzB,OAAO,EAAO,EAAI,GAGpB,IAAM,GAAN,KAAiB,CAOf,YAAY,EAAgB,EAAe,CACzC,KAAK,eAAiB,EACtB,KAAK,cAAgB,EAEvB,UAAW,CACT,OAAO,EACL,yBACA,EAAkB,KAAK,CACvB,KAAK,cACN,GAGL,SAAS,EAAc,EAAG,CACxB,OAAO,EAAE,eAAiB,EAAE,cAAgB,EAE9C,SAAS,EAAkB,EAAG,CAC5B,OAAO,EAAE,eAAiB,EAE5B,SAAS,EAAc,EAAG,CACxB,OAAO,EAAE,eAAiB,EAAI,EAAE,cAElC,SAAS,GAAU,EAAG,CACpB,OAAO,IAAI,GAAW,EAAY,EAAE,eAAe,CAAE,EAAE,cAAc,CAGvE,IAAM,GAAN,KAAa,CAEX,OACA,WACA,QACA,YAAY,EAAK,CACf,IAAM,EAAI,EAAW,EAAI,CAKzB,OAJA,KAAK,QAAU,EAAE,QACjB,KAAK,WAAa,EAAE,WACpB,KAAK,OAAS,EAAE,CAChB,KAAK,OAAO,KAAO,EAAqB,EAAI,CACpC,KAAK,OAAO,KAApB,CACE,KAAK,EAAY,OACf,KAAK,OAAO,KAAO,EAAoB,EAAI,CAC3C,MAEF,KAAK,EAAY,KACf,KAAK,OAAO,OAAS,EAAoB,EAAI,CAC7C,KAAK,OAAO,YAAc,EAAyB,EAAI,CACnD,KAAK,OAAO,cAAgB,EAAgB,YAC9C,KAAK,OAAO,KAAO,GAA2B,EAAI,EAEpD,MAEF,KAAK,EAAY,MACf,KAAK,OAAO,MAAQ,GAAgB,EAAI,CACxC,MAEF,QACE,MAAU,MAAM,GAAyB,CAG7C,GAAa,EAAI,CAOnB,QAAQ,EAAK,CACX,GAAI,KAAK,SAAW,IAAA,GAClB,MAAU,MAAM,EAAO,oDAAqB,KAAK,CAAC,CAEpD,GAAI,KAAK,QAAQ,UAAY,EAAI,QAAQ,QACvC,MAAU,MAAM,EAAO,8EAAyB,KAAM,EAAI,CAAC,CAE7D,EAAM,EAAI,CACV,IAAM,EAAM,EAAY,KAAK,QAAS,KAAK,WAAY,EAAI,CAC3D,OAAQ,KAAK,OAAO,KAApB,CACE,KAAK,EAAY,OACf,EAAiB,EAAI,YAAa,KAAK,OAAO,KAAM,EAAI,QAAQ,CAChE,MAEF,KAAK,EAAY,KAAM,CACrB,GAAI,CAAE,eAAgB,EAClB,KAAK,OAAO,cAAgB,EAAgB,WAC9C,IAEF,EACE,EACA,KAAK,OAAO,YACZ,KAAK,OAAO,OACZ,EAAI,QACJ,KAAK,OAAO,KACb,CACD,MAEF,KAAK,EAAY,MACf,GAAoB,KAAK,OAAO,MAAO,EAAI,QAAQ,CACnD,MAGF,QACE,MAAU,MAAM,GAAyB,CAG7C,KAAK,OAAS,IAAA,GAEhB,SAAU,CACJ,QAAK,SAAW,IAAA,GAGpB,QAAQ,KAAK,OAAO,KAApB,CACE,KAAK,EAAY,OACf,KAAK,QAAQ,cACX,KAAK,WACL,EAAc,KAAK,OAAO,KAAK,CAChC,CACD,MAEF,KAAK,EAAY,KAAM,CACrB,IAAM,EAAa,GACjB,KAAK,OAAO,YACZ,KAAK,OAAO,OACZ,KAAK,OAAO,KACb,CACD,KAAK,QAAQ,cAAc,KAAK,WAAY,EAAW,CACvD,OAGJ,KAAK,OAAS,IAAA,IAEhB,CAAC,OAAO,IAAI,6BAA6B,GAAI,CAC3C,OAAO,EACL,uBACA,KAAK,QAAQ,GACb,KAAK,WACL,KAAK,QAAU,KAAK,OAAO,KAC5B,GAIL,SAAS,GAAM,EAAK,EAAG,CACrB,EAAI,QAAQ,EAAE,CAEhB,SAAS,GAAO,EAAG,CACjB,OAAO,IAAI,GAAO,EAAE,CAEtB,SAASA,GAAK,EAAG,CACf,OAAO,GAAY,EAAE,QAAQ,OAAO,MAAM,EAAE,WAAY,EAAE,WAAa,EAAE,CAAC,CAE5E,SAAS,GAAkB,EAAa,EAAQ,EAAe,CAC7D,OAAQ,EAAR,CACE,KAAK,EAAgB,IACnB,OAAO,EAAY,EAAS,IAAM,EAAE,CAEtC,KAAK,EAAgB,KACrB,KAAK,EAAgB,OACrB,KAAK,EAAgB,OACrB,KAAK,EAAgB,OACrB,KAAK,EAAgB,QACrB,KAAK,EAAgB,KACnB,OAAO,EAAY,EAAyB,EAAY,CAAG,EAAO,CAGpE,KAAK,EAAgB,UACnB,GAAI,IAAkB,IAAA,GACpB,MAAU,MAAM,EAAO,EAAuB,IAAW,CAAC,CAE5D,OAAO,EAAS,EAAY,EAAc,EAAc,CAAC,CAG3D,QACE,MAAU,MAAM,EAAsB,EAI5C,SAAS,EAAyB,EAAa,CAC7C,OAAQ,EAAR,CAEE,KAAK,EAAgB,IACnB,MAAO,KAET,KAAK,EAAgB,KACnB,MAAO,GAET,KAAK,EAAgB,OACnB,MAAO,GAET,KAAK,EAAgB,OACnB,MAAO,GAET,KAAK,EAAgB,OACrB,KAAK,EAAgB,QACnB,MAAO,GAGT,KAAK,EAAgB,UACnB,MAAO,KAGT,KAAK,EAAgB,KACnB,MAAO,GAGT,QACE,MAAU,MAAM,EAAO,EAAuB,EAAY,CAAC,EAIjE,SAAS,GAAI,EAAQ,EAAG,CACtB,OAAO,IAAI,EAAQ,EAAE,QAAS,EAAE,WAAa,EAAQ,EAAE,OAAO,WAAW,CAE3E,SAAS,EAAS,EAAK,EAAG,CACpB,OAAE,UAAY,EAAI,SAAW,EAAE,aAAe,EAAI,cAGtD,EAAM,EAAE,CACJ,GAAO,EAAI,EACf,OAAQ,EAAqB,EAAI,CAAjC,CACE,KAAK,EAAY,OACf,GAAe,EAAK,EAAE,CACtB,MAEF,KAAK,EAAY,KACf,GAAa,EAAK,EAAE,CACpB,MAEF,KAAK,EAAY,MACf,GAAkB,EAAK,EAAE,CACzB,MAGF,QACE,MAAU,MACR,EAAO,GAA0B,EAAqB,EAAE,CAAC,CAC1D,EAIP,SAAS,EAAM,EAAG,CAChB,GAAI,EAAO,EAAE,CAAE,OACf,IAAI,EACJ,OAAQ,EAAqB,EAAE,CAA/B,CACE,KAAK,EAAY,OAAQ,CACvB,IAAM,EAAO,EAAoB,EAAE,CACnC,EAAI,EAAW,EAAE,CACjB,EAAE,QAAQ,cAAc,EAAE,WAAY,EAAK,eAAiB,EAAE,CAC9D,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,cAAe,IACtC,EAAM,GAAI,EAAI,EAAG,EAAE,CAAC,CAEtB,MAEF,KAAK,EAAY,KAAM,CACrB,IAAM,EAAc,EAAyB,EAAE,CACzC,EAAS,EAAoB,EAAE,CACjC,EAAe,EACjB,EAAS,EAAyB,EAAY,CAC/C,CAED,GADA,EAAI,EAAW,EAAE,CACb,IAAgB,EAAgB,QAAS,CAC3C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,EACE,IAAI,EACF,EAAE,QACF,EAAE,WAAa,EAAI,EACnB,EAAE,OAAO,WAAa,EACvB,CACF,CAEH,cACS,IAAgB,EAAgB,UAAW,CACpD,IAAM,EAAM,GAAI,GAAI,EAAE,CAChB,EAAgB,EAAc,EAAI,CAClC,EAAsB,EAAc,EAAc,CACxD,EAAe,EAAe,EAAI,CAClC,EAAE,QAAQ,YAAY,EAAE,WAAa,EAAE,CACvC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAc,cAAe,IAC/C,EACE,IAAI,EACF,EAAE,QACF,EAAE,WAAa,EAAI,EAAsB,EAAI,EAC7C,EAAE,OAAO,WAAa,EACvB,CACF,CAIP,EAAE,QAAQ,cAAc,EAAE,WAAY,EAAa,CACnD,MAEF,KAAK,EAAY,MACf,MAEF,QACE,MAAU,MACR,EAAO,GAA0B,EAAqB,EAAE,CAAC,CAC1D,CAGL,GAAa,EAAE,CAEjB,SAAS,GAAa,EAAG,CACvB,GAAI,EAAe,EAAE,GAAK,EAAY,IAAK,CACzC,IAAM,EAAa,GAAU,EAAE,CAC3B,GAAY,EAAE,EAChB,EAAW,QAAQ,YAAY,EAAW,WAAa,EAAE,CAE3D,EAAW,QAAQ,YAAY,EAAW,WAAW,CAEvD,EAAE,QAAQ,YAAY,EAAE,WAAW,CAErC,SAAS,GAAU,EAAG,CAKpB,OAAO,IAAI,EAJW,EAAE,QAAQ,QAAQ,WACtC,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CACtC,EACwB,EAAE,QAAQ,UAAU,EAAE,WAAW,GAAK,GAG1C,EACnB,EAAE,OAAO,WAAa,EACvB,CAEH,SAAS,EAAW,EAAG,CACrB,GAAI,EAAe,EAAE,GAAK,EAAY,IAAK,CACzC,IAAM,EAAa,GAAU,EAAE,CAI/B,OAHI,GAAY,EAAE,GAChB,EAAW,YAAc,GAEpB,EAET,OAAO,EAET,SAAS,GAAgB,EAAG,CAC1B,OAAO,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CAE9C,SAAS,GAAgB,EAAG,CAC1B,OAAO,EAAqB,EAAE,GAAK,EAAY,MAAQ,EAAyB,EAAE,GAAK,EAAgB,UAEzG,SAAS,EAAW,EAAG,EAAsB,CAC3C,IAAI,EACJ,GAAI,GAAY,EAAE,CAAE,CAClB,IAAM,EAAa,GAAU,EAAE,CAC/B,EAAI,IAAI,EACN,EAAE,QAAQ,QAAQ,WAAW,GAAgB,EAAW,CAAC,CACzD,EAAe,EAAW,CAAG,EAC9B,KACI,CACL,IAAM,EAAS,EAAW,EAAE,CAC5B,EAAI,IAAI,EACN,EAAO,QACP,EAAO,WAAa,EAAI,EAAe,EAAO,CAAG,EAClD,CASH,OAPI,GAAgB,EAAE,GACpB,EAAE,YAAc,GAEd,CAAC,GAAwB,EAAE,OAAO,iBAAmB,IAAA,KACvD,EAAE,YAAc,EAChB,EAAE,YAAc,EAAI,EAAE,OAAO,eAAiB,EAAc,GAAU,EAAc,EAAE,CAAC,CAAC,EAEnF,EAET,SAAS,GAAgB,EAAG,CAC1B,OAAO,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CAE9C,SAAS,GAAmB,EAAG,CAC7B,OAAO,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CAAG,EAEjD,SAAS,GAAc,EAAG,CACxB,OAAO,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,GAAK,EAEnD,SAAS,EAAe,EAAG,CACzB,IAAM,EAAI,EAAE,QAAQ,SAAS,EAAE,WAAW,CAC1C,OAAO,EAAI,EAAI,GAAK,EAAI,GAAK,EAE/B,SAAS,EAAe,EAAG,CACzB,OAAO,EAAE,QAAQ,UAAU,EAAE,WAAW,CAAG,EAE7C,SAAS,GAAmB,EAAG,CAC7B,OAAO,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CAE9C,SAAS,GAAuB,EAAG,CACjC,OAAO,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CAE9C,SAAS,EAAc,EAAG,CACxB,OAAO,IAAI,GAAW,GAAmB,EAAE,CAAG,EAAG,GAAuB,EAAE,CAAC,CAE7E,SAAS,GAA0B,EAAG,CACpC,IAAM,EAAI,EAAW,EAAE,CAEvB,MADA,GAAE,YAAc,EACT,EAET,SAAS,GAA2B,EAAG,CACrC,OAAO,EAAc,GAA0B,EAAE,CAAC,CAEpD,SAAS,EAAyB,EAAG,CACnC,OAAO,GAAmB,EAAW,EAAE,CAAC,CAE1C,SAAS,EAAoB,EAAG,CAC9B,IAAM,EAAI,EAAW,EAAE,CAIvB,OAHI,GAAmB,EAAE,GAAK,EAAgB,UACrC,EAAe,GAA0B,EAAE,CAAC,CAE9C,GAAc,EAAE,CAEzB,SAAS,EAAqB,EAAG,CAC/B,IAAM,EAAI,EAAe,EAAW,EAAE,CAAC,CACvC,GAAI,IAAM,EAAY,IACpB,MAAU,MAAM,EAAO,mEAAwB,EAAE,CAAC,CAEpD,OAAO,EAET,SAAS,EAAoB,EAAG,CAC9B,OAAO,EAAc,EAAW,EAAE,CAAC,CAErC,SAAS,EAAY,EAAgB,EAAe,EAAG,CACrD,GAAI,EAAE,UAAY,EAAgB,CAChC,GAAI,CAAC,EAAe,YAAY,EAAE,CAAE,CAClC,IAAM,EAAc,EAAE,QAAQ,SAAS,GAAG,CAI1C,OAHA,GAAc,GAAM,EAAY,WAAa,EAAG,EAAY,QAAQ,GAAI,EAAE,CAC1E,GAAc,GAAO,EAAgB,EAAG,EAAe,GAAI,EAAY,CACvE,EAAY,YAAc,EACnB,IAAI,GAAwB,EAAa,EAAE,CAEpD,IAAM,EAAa,EAAe,SAAS,EAAE,CAC7C,GAAI,EAAW,QAAQ,KAAO,EAAe,GAC3C,MAAU,MAAM,EAA2B,CAG7C,OADA,GAAc,GAAO,EAAW,WAAa,EAAG,EAAW,QAAQ,GAAI,EAAE,CAClE,IAAI,GACT,GACC,EAAgB,EAAW,WAAa,GAAK,EAC/C,CAEH,OAAO,IAAI,GAAwB,GAAI,EAAgB,EAAE,WAAa,GAAK,EAAE,CAE/E,SAAS,GAAY,EAAG,CACtB,OAAO,EAAe,EAAE,GAAK,EAAY,MAAQ,EAAE,QAAQ,UAAU,EAAE,WAAW,CAAG,IAA6B,EAEpH,SAAS,EAAO,EAAG,CACjB,OAAO,EAAE,QAAQ,WAAW,EAAE,WAAW,CAE3C,SAAS,GAAW,EAAK,EAAK,CAC5B,IAAM,EAAI,EAAW,EAAI,CACnB,EAAK,EAAE,QAAQ,SAAS,EAAE,WAAW,CAAG,EACxC,EAAK,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CAChD,EAAM,EAAI,CACV,IAAM,EAAM,EACV,EAAE,QACF,EAAE,WAAa,EAAI,EAAe,EAAE,CAAG,EACvC,EACD,CACD,EAAI,QAAQ,QAAQ,UAClB,EAAI,QAAQ,WACZ,EAAK,EAAI,aAAe,EACzB,CACD,EAAI,QAAQ,QAAQ,UAAU,EAAI,QAAQ,WAAa,EAAG,EAAG,CAC7D,GAAa,EAAI,CAEnB,SAAS,GAAc,EAAW,EAAa,EAAW,EAAG,CAC3D,IAAM,EAAI,EAAY,IAChB,EAAI,EAAY,EAAI,EACpB,EAAI,EACJ,EAAI,EACV,EAAE,QAAQ,UAAU,EAAE,WAAY,EAAI,GAAK,EAAI,GAAK,EAAE,CACtD,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAG,EAAE,CAE1C,SAAS,GAAoB,EAAO,EAAG,CACrC,EAAE,QAAQ,UAAU,EAAE,WAAY,EAAY,MAAM,CACpD,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAG,EAAM,CAE9C,SAAS,GAAoB,EAAG,CAC9B,OAAO,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CAE9C,SAAS,EAAe,EAAa,EAAM,EAAQ,EAAG,EAAe,CACnE,IAAM,EAAI,EAAY,KAChB,EAAI,EACJ,EAAI,EACN,EAAI,EACR,GAAI,IAAS,EAAgB,UAAW,CACtC,GAAI,IAAkB,IAAA,GACpB,MAAU,UAAU,iFAA8B,CAEpD,GAAK,EAAc,EAAc,CAEnC,EAAE,QAAQ,UAAU,EAAE,WAAY,EAAI,GAAK,EAAE,CAC7C,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAG,EAAI,GAAK,EAAE,CAEnD,SAAS,EAAiB,EAAa,EAAM,EAAG,CAC9C,IAAM,EAAI,EAAY,OAChB,EAAI,EACJ,EAAI,EAAkB,EAAK,CAC3B,EAAI,EAAK,cACf,EAAE,QAAQ,UAAU,EAAE,WAAY,EAAI,GAAK,EAAE,CAC7C,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAG,EAAE,CACxC,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAG,EAAE,CAE1C,SAAS,EAAS,EAAa,EAAG,EAAa,CAC7C,GAAI,EAAO,EAAE,CACX,OAEF,IAAM,EAAI,EAAW,EAAE,CAEvB,IADU,EAAE,QAAQ,UAAU,EAAE,WAAW,CAAG,KACpC,EACR,MAAU,MAAM,EAAO,4DAAwB,EAAG,EAAY,CAAC,CAEjE,GAAI,IAAgB,IAAA,KACR,EAAE,QAAQ,UAAU,EAAE,WAAa,EAAE,CAAG,KACxC,EACR,MAAU,MACR,EAAO,8CAAqB,EAAG,EAAgB,GAAa,CAC7D,CAIP,SAAS,GAAkB,EAAK,EAAK,CACnC,IAAM,EAAW,GAAoB,EAAI,CACzC,GAAI,EAAW,EACb,OAEF,IAAM,EAAc,EAAI,QAAQ,QAAQ,OAAO,SAC/C,GAAI,CAAC,EACH,OAEF,IAAM,EAAS,EAAY,GACtB,GAIL,GADiB,EAAI,QAAQ,QAAQ,OAAO,EAAO,CACrB,EAAI,CAEpC,SAAS,GAAa,EAAK,EAAK,CAC9B,GAAI,EAAI,OAAO,YAAc,EAC3B,MAAU,MAAM,EAAyB,CAE3C,IAAM,EAAa,EAAW,EAAI,CAC5B,EAAiB,EAAyB,EAAI,CAC9C,EAAY,EAAoB,EAAI,CACtC,EACA,EACA,EACJ,GAAI,IAAmB,EAAgB,QAAS,CAC9C,EAAa,EAAI,QAAQ,SAAS,GAAa,EAAE,CACjD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAW,IAW7B,EAVe,IAAI,EACjB,EAAW,QACX,EAAW,YAAc,GAAK,GAC9B,EAAI,OAAO,WAAa,EACzB,CACc,IAAI,EACjB,EAAW,QACX,EAAW,YAAc,GAAK,GAC9B,EAAI,OAAO,WAAa,EACzB,CACuB,SAEjB,IAAmB,EAAgB,UAAW,CAWvD,GAVA,EAAmB,GAAU,GAA2B,EAAI,CAAC,CAC7D,EAAsB,EAAc,EAAiB,CACrD,EAAa,EAAI,QAAQ,SACvB,EAAc,EAAiB,CAAG,EAAY,EAC/C,CACD,EAAW,QAAQ,SACjB,EAAW,WACX,EAAW,QACX,EAAW,WAAa,EACzB,CACG,EAAiB,eAAiB,EAAG,CACvC,IAAM,EAAa,EAAc,EAAiB,CAAG,EACrD,EAAW,QAAQ,UACjB,EAAW,WAAa,EACxB,EAAW,QACX,EAAW,WACX,EACD,CAEH,IAAK,IAAI,EAAI,EAAG,EAAI,EAAW,IAC7B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAiB,cAAe,IAAK,CACvD,IAAM,EAAS,EAAI,EAAsB,EAAiB,gBAAkB,GAAK,GAWjF,EAVe,IAAI,EACjB,EAAW,QACX,EAAW,WAAa,EACxB,EAAI,OAAO,WAAa,EACzB,CACc,IAAI,EACjB,EAAW,QACX,EAAW,WAAa,EAAS,EACjC,EAAI,OAAO,WAAa,EACzB,CACuB,MAGvB,CACL,IAAM,EAAa,EACjB,IAAmB,EAAgB,IAAM,EAAY,IAAM,EAAI,EAAyB,EAAe,CAAG,EAC3G,CACK,EAAa,IAAe,EAClC,EAAa,EAAI,QAAQ,SAAS,EAAW,CAC7C,EAAW,QAAQ,UACjB,EAAW,WACX,EAAW,QACX,EAAW,WACX,EACD,CAEH,IAAM,EAAM,EAAY,EAAW,QAAS,EAAW,WAAY,EAAI,CACvE,EACE,EAAI,YACJ,EACA,EACA,EAAI,QACJ,EACD,CAEH,SAAS,GAAe,EAAK,EAAK,CAChC,GAAI,EAAI,OAAO,YAAc,EAC3B,MAAU,MAAM,EAAyB,CAE3C,IAAM,EAAa,EAAW,EAAI,CAC5B,EAAU,EAAoB,EAAI,CAClC,EAAoB,EAAkB,EAAQ,CAC9C,EAAa,EAAI,QAAQ,SAAS,EAAc,EAAQ,CAAC,CAC/D,EAAW,QAAQ,UACjB,EAAW,WACX,EAAW,QACX,EAAW,WACX,EACD,CACD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,cAAe,IAAK,CAC9C,IAAM,EAAS,EAAQ,eAAiB,EAAI,EAW5C,EAVe,IAAI,EACjB,EAAW,QACX,EAAW,WAAa,EACxB,EAAI,OAAO,WAAa,EACzB,CACc,IAAI,EACjB,EAAW,QACX,EAAW,WAAa,EACxB,EAAI,OAAO,WAAa,EACzB,CACuB,CAE1B,GAAI,EAAI,OAAO,cACb,OAEF,IAAM,EAAM,EAAY,EAAW,QAAS,EAAW,WAAY,EAAI,CACvE,EAAiB,EAAI,YAAa,EAAS,EAAI,QAAQ,CAEzD,SAAS,GAAuB,EAAS,EAAG,CAE1C,GADA,EAAQ,OAAO,gBAAkB,EAC7B,EAAQ,OAAO,gBAAkB,EACnC,MAAU,MAAM,EAAO,sDAA8B,EAAE,CAAC,CAG5D,IAAM,GAAN,KAA8B,CAC5B,YAAY,EAAS,EAAa,CAChC,KAAK,QAAU,EACf,KAAK,YAAc,IAInB,GAAgC,IAClC,EAAa,EAAa,OAAY,GAAK,SAC3C,EAAa,EAAa,KAAU,GAAK,OACzC,EAAa,EAAa,IAAS,GAAK,MACxC,EAAa,EAAa,MAAW,GAAK,QACnC,IACN,GAAe,EAAE,CAAC,CACf,EAAN,KAAc,CACZ,OAAO,OAAS,CACd,YAAa,UACd,CACD,OAEA,WAKA,QACA,YAAY,EAAS,EAAY,EAAa,EAAW,CAIvD,GAHA,KAAK,OAAS,CAAE,cAAe,GAAO,aAAY,CAClD,KAAK,QAAU,EACf,KAAK,WAAa,EACd,EAAa,EACf,MAAU,MAAM,EAAO,EAA0B,KAAK,CAAC,CAGzD,GADA,GAAuB,EAAQ,QAAS,KAAK,CACzC,EAAa,GAAK,EAAa,EAAQ,WACzC,MAAU,MAAM,EAAO,wEAA0B,EAAW,CAAC,CAGjE,CAAC,OAAO,cAAe,CACrB,OAAO,EAAO,aAAc,KAAK,QAAQ,GAAG,CAE9C,UAAW,CACT,OAAO,EAAO,YAAa,KAAK,QAAQ,GAAI,KAAK,WAAYA,GAAK,KAAK,CAAC,GAItE,GAAN,MAAM,UAAa,CAAQ,CACzB,OAAO,OAAS,CACd,YAAa,gBACb,KAAM,EAAgB,KACvB,CACD,YAAY,EAAS,EAAY,EAAY,CAE3C,OADA,MAAM,EAAS,EAAY,EAAW,CAC/B,IAAI,MAAM,KAAM,GAAA,EAAmB,CAE5C,OAAA,EAAuB,CACrB,IAAI,EAAQ,EAAM,EAAU,CAC1B,IAAM,EAAM,QAAQ,IAAI,EAAQ,EAAM,EAAS,CAC/C,GAAI,IAAQ,IAAA,GACV,OAAO,EAET,GAAI,OAAO,GAAS,SAClB,OAAO,EAAO,IAAI,CAAC,EAAK,EAG7B,CACD,IAAI,QAAS,CACX,OAAO,EAAoB,KAAK,CAElC,SAAU,CACR,GAAM,CAAE,UAAW,KACb,EAAM,MAAM,KAAK,CAAE,SAAQ,CAAC,CAClC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,EAAI,GAAK,KAAK,GAAG,EAAE,CAErB,OAAO,EAET,IAAI,EAAQ,CACV,MAAU,UAAU,kCAAkC,CAExD,IAAI,EAAQ,EAAQ,CAClB,MAAU,UAAU,gCAAgC,CAEtD,GAAG,EAAO,CACR,OAAO,KAAK,IAAI,EAAQ,EAAI,KAAK,OAAS,EAAQ,EAAM,CAE1D,OAAO,EAAO,CACZ,GAAM,CAAE,UAAW,KACb,EAAc,EAAM,OACpB,EAAM,MAAM,KAAK,CAAE,OAAQ,EAAS,EAAa,CAAC,CACxD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAAK,EAAI,GAAK,KAAK,GAAG,EAAE,CACpD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAa,IAAK,EAAI,EAAI,GAAU,EAAM,GAAG,EAAE,CACnE,OAAO,EAET,KAAK,EAAI,EAAO,CACd,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,OAAQ,IAC/B,GAAI,EAAG,KAAK,EAAO,KAAK,GAAG,EAAE,CAAE,EAAG,KAAK,CACrC,MAAO,GAGX,MAAO,GAET,OAAO,EAAI,EAAO,CAChB,IAAM,EAAM,EAAE,CACd,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,OAAQ,IAAK,CACpC,IAAM,EAAQ,KAAK,GAAG,EAAE,CACpB,EAAG,KAAK,EAAO,EAAO,EAAG,KAAK,EAChC,EAAI,KAAK,EAAM,CAGnB,OAAO,EAET,KAAK,EAAI,EAAO,CACd,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,OAAQ,IAAK,CACpC,IAAM,EAAQ,KAAK,GAAG,EAAE,CACxB,GAAI,EAAG,KAAK,EAAO,EAAO,EAAG,KAAK,CAChC,OAAO,GAKb,UAAU,EAAI,EAAO,CACnB,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,OAAQ,IAAK,CACpC,IAAM,EAAQ,KAAK,GAAG,EAAE,CACxB,GAAI,EAAG,KAAK,EAAO,EAAO,EAAG,KAAK,CAChC,OAAO,EAGX,MAAO,GAET,QAAQ,EAAI,EAAO,CACjB,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,OAAQ,IAC/B,EAAG,KAAK,EAAO,KAAK,GAAG,EAAE,CAAE,EAAG,KAAK,CAGvC,IAAI,EAAI,EAAO,CACb,GAAM,CAAE,UAAW,KACb,EAAM,MAAM,KAAK,CAAE,SAAQ,CAAC,CAClC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,EAAI,GAAK,EAAG,KAAK,EAAO,KAAK,GAAG,EAAE,CAAE,EAAG,KAAK,CAE9C,OAAO,EAET,QAAQ,EAAI,EAAO,CACjB,IAAM,EAAM,EAAE,CACd,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,OAAQ,IAAK,CACpC,IAAM,EAAI,EAAG,KAAK,EAAO,KAAK,GAAG,EAAE,CAAE,EAAG,KAAK,CAC7C,EAAI,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAG,EAAI,CAAC,EAAE,CAAC,CAEzC,OAAO,EAET,MAAM,EAAI,EAAO,CACf,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,OAAQ,IAC/B,GAAI,CAAC,EAAG,KAAK,EAAO,KAAK,GAAG,EAAE,CAAE,EAAG,KAAK,CACtC,MAAO,GAGX,MAAO,GAET,OAAO,EAAI,EAAc,CACvB,IAAI,EAAI,EACJ,EAOJ,IANI,IAAiB,IAAA,IACnB,EAAM,KAAK,GAAG,EAAE,CAChB,KAEA,EAAM,EAED,EAAI,KAAK,OAAQ,IACtB,EAAM,EAAG,EAAK,KAAK,GAAG,EAAE,CAAE,EAAG,KAAK,CAEpC,OAAO,EAET,YAAY,EAAI,EAAc,CAC5B,IAAI,EAAI,KAAK,OAAS,EAClB,EAOJ,IANI,IAAiB,IAAA,IACnB,EAAM,KAAK,GAAG,EAAE,CAChB,KAEA,EAAM,EAED,GAAK,EAAG,IACb,EAAM,EAAG,EAAK,KAAK,GAAG,EAAE,CAAE,EAAG,KAAK,CAEpC,OAAO,EAET,MAAM,EAAQ,EAAG,EAAK,CACpB,IAAM,EAAS,EAAM,KAAK,IAAI,KAAK,OAAQ,EAAI,CAAG,KAAK,OACjD,EAAM,MAAM,KAAK,CAAE,OAAQ,EAAS,EAAO,CAAC,CAClD,IAAK,IAAI,EAAI,EAAO,EAAI,EAAQ,IAC9B,EAAI,GAAK,KAAK,GAAG,EAAE,CAErB,OAAO,EAET,KAAK,EAAW,CACd,OAAO,KAAK,SAAS,CAAC,KAAK,EAAU,CAEvC,YAAa,CACX,OAAO,KAAK,SAAS,CAAC,SAAS,CAEjC,SAAS,EAAW,CAClB,OAAO,KAAK,SAAS,CAAC,KAAK,EAAU,CAEvC,UAAU,EAAO,EAAa,GAAG,EAAO,CACtC,OAAO,KAAK,SAAS,CAAC,OAAO,EAAO,EAAa,GAAG,EAAM,CAE5D,KAAK,EAAO,EAAO,EAAK,CACtB,GAAM,CAAE,UAAW,KACb,EAAI,KAAK,IAAI,GAAS,EAAG,EAAE,CAC3B,EAAI,KAAK,IAAI,GAAO,EAAQ,EAAO,CACzC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACrB,KAAK,IAAI,EAAG,EAAM,CAEpB,OAAO,KAET,WAAW,EAAQ,EAAO,EAAK,CAC7B,GAAM,CAAE,UAAW,KACb,EAAI,GAAO,EACX,EAAI,EAAQ,EAAI,KAAK,IAAI,EAAS,EAAO,EAAE,CAAG,EAC9C,EAAI,EAAS,EAAI,KAAK,IAAI,EAAS,EAAQ,EAAE,CAAG,EAChD,EAAM,KAAK,IAAI,EAAI,EAAG,EAAS,EAAE,CACvC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,IACvB,KAAK,IAAI,EAAI,EAAG,KAAK,GAAG,EAAI,EAAE,CAAC,CAEjC,OAAO,KAET,MAAO,CACL,OAAO,MAAM,KAAK,CAAE,OAAQ,KAAK,OAAQ,EAAG,EAAG,IAAM,EAAE,CAAC,OAAO,WAAW,CAE5E,QAAS,CACP,OAAO,KAAK,SAAS,CAAC,QAAQ,CAEhC,SAAU,CACR,OAAO,KAAK,SAAS,CAAC,SAAS,CAEjC,KAAK,EAAO,CACV,OAAO,KAAK,SAAS,CAAC,KAAK,EAAM,CAEnC,KAAK,EAAO,EAAO,CACjB,OAAO,KAAK,SAAS,CAAC,KAAK,EAAO,EAAM,CAE1C,SAAS,EAAgB,EAAY,CACnC,MAAU,MAAM,EAAe,CAEjC,SAAS,EAAK,EAAU,CACtB,MAAU,MAAM,EAAe,CAEjC,cAAc,EAAK,EAAI,CACrB,MAAU,MAAM,EAAe,CAEjC,QAAQ,EAAgB,EAAY,CAClC,MAAU,MAAM,EAAe,CAEjC,YAAY,EAAgB,EAAY,CACtC,MAAU,MAAM,EAAe,CAEjC,KAAM,CACJ,MAAU,MAAM,EAAgB,CAElC,KAAK,GAAG,EAAQ,CACd,MAAU,MAAM,EAAgB,CAElC,SAAU,CACR,MAAU,MAAM,EAAgB,CAElC,OAAQ,CACN,MAAU,MAAM,EAAgB,CAElC,QAAQ,GAAG,EAAQ,CACjB,MAAU,MAAM,EAAgB,CAElC,OAAO,EAAQ,EAAc,GAAG,EAAO,CACrC,MAAU,MAAM,EAAgB,CAElC,KAAK,EAAK,CACR,MAAU,MAAM,EAAgB,CAElC,IAAK,OAAO,cAAe,CACzB,OAAO,MAAM,UAAU,OAAO,aAEhC,CAAC,OAAO,WAAY,CAClB,OAAO,KAAK,QAAQ,CAEtB,QAAS,CACP,OAAO,KAAK,SAAS,CAEvB,UAAW,CACT,OAAO,KAAK,KAAK,IAAI,CAEvB,eAAe,EAAU,EAAU,CACjC,OAAO,KAAK,UAAU,CAExB,CAAC,OAAO,cAAe,CACrB,MAAO,iBAET,OAAQ,OAAO,cAAe,CAC5B,OAAO,KAAK,OAAO,cAGvB,SAAS,EAAW,EAAa,EAAQ,EAAM,EAAe,CAC5D,IAAI,EACJ,OAAQ,EAAR,CACE,KAAK,EAAgB,IACnB,EAAI,EAAK,QAAQ,SAAS,KAAK,KAAK,EAAS,EAAE,CAAC,CAChD,MAEF,KAAK,EAAgB,KACrB,KAAK,EAAgB,OACrB,KAAK,EAAgB,OACrB,KAAK,EAAgB,OACrB,KAAK,EAAgB,QACnB,EAAI,EAAK,QAAQ,SAAS,EAAS,EAAyB,EAAY,CAAC,CACzE,MAEF,KAAK,EAAgB,UAAW,CAC9B,GAAI,IAAkB,IAAA,GACpB,MAAU,MAAM,EAAO,4FAA6B,CAAC,CAEvD,EAAgB,GAAU,EAAc,CACxC,IAAM,EAAa,EAAc,EAAc,CAAG,EAClD,EAAI,EAAK,QAAQ,SAAS,EAAa,EAAE,CACzC,EAAiB,EAAQ,EAAe,EAAE,CAC1C,MAEF,KAAK,EAAgB,KACnB,EAAe,EAAG,EAAa,EAAQ,EAAK,CAC5C,OAEF,QACE,MAAU,MAAM,EAAO,EAAuB,EAAY,CAAC,CAG/D,IAAM,EAAM,EAAY,EAAE,QAAS,EAAE,WAAY,EAAK,CACtD,EACE,EAAI,YACJ,EACA,EACA,EAAI,QACJ,EACD,CAGH,IAAM,GAAN,cAAmB,EAAK,CACtB,OAAO,YAAY,EAAS,CAE1B,OADA,EAAS,EAAY,KAAM,EAAS,EAAgB,KAAK,CAClD,KAAK,sBAAsB,EAAQ,CAE5C,OAAO,sBAAsB,EAAS,CACpC,OAAO,IAAI,KACT,EAAQ,QACR,EAAQ,WACR,EAAQ,OAAO,WAChB,CAUH,WAAW,EAAK,CACd,IAAM,EAAI,EAAW,KAAK,CACpB,EAAY,KAAK,OACjB,EAAY,EAAI,WAChB,EAAI,aAAe,YAAc,IAAI,WAAW,EAAI,CAAG,IAAI,WAC/D,EAAI,OACJ,EAAI,WACJ,KAAK,IAAI,EAAW,EAAU,CAC/B,CACK,EAAI,IAAI,WAAW,EAAE,QAAQ,OAAQ,EAAE,WAAY,KAAK,OAAO,CACrE,EAAE,IAAI,EAAE,CACJ,EAAY,GACd,EAAE,KAAK,EAAG,EAAW,EAAU,CASnC,IAAI,EAAY,CACd,IAAM,EAAI,EAAW,KAAK,CAC1B,OAAO,EAAE,QAAQ,SAAS,EAAE,WAAa,EAAW,CAQtD,IAAI,EAAY,EAAO,CACrB,IAAM,EAAI,EAAW,KAAK,CAC1B,EAAE,QAAQ,SAAS,EAAE,WAAa,EAAY,EAAM,CAStD,eAAgB,CACd,IAAM,EAAI,EAAW,KAAK,CAC1B,OAAO,EAAE,QAAQ,OAAO,MAAM,EAAE,WAAY,EAAE,WAAa,KAAK,OAAO,CAUzE,YAAa,CACX,IAAM,EAAI,EAAW,KAAK,CAC1B,OAAO,IAAI,SAAS,EAAE,QAAQ,OAAQ,EAAE,WAAY,KAAK,OAAO,CAElE,CAAC,OAAO,cAAe,CACrB,MAAO,QAAQ,MAAM,UAAU,GAUjC,cAAe,CACb,IAAM,EAAI,EAAW,KAAK,CAC1B,OAAO,IAAI,WAAW,EAAE,QAAQ,OAAQ,EAAE,WAAY,KAAK,OAAO,GAItE,MAAM,GAAc,IAAI,YAClB,GAAc,IAAI,YACxB,IAAM,GAAN,cAAmB,EAAK,CACtB,OAAO,YAAY,EAAS,CAE1B,OADA,EAAS,EAAY,KAAM,EAAS,EAAgB,KAAK,CAClD,GAAyB,EAAQ,CAQ1C,IAAI,EAAQ,EAAG,CACb,GAAI,EAAO,KAAK,CACd,MAAO,GAET,IAAM,EAAI,EAAW,KAAK,CAC1B,OAAO,GAAY,OACjB,IAAI,WACF,EAAE,QAAQ,OACV,EAAE,WAAa,EACf,KAAK,OAAS,EACf,CACF,CAOH,IAAI,QAAS,CACX,OAAO,MAAM,OAAS,EASxB,IAAI,EAAO,EAAO,CAChB,IAAM,EAAM,GAAY,OAAO,EAAM,CAC/B,EAAY,EAAI,WAAa,EAC/B,EACA,EACJ,GAAI,CAAC,EAAO,KAAK,CAAE,CACjB,EAAI,EAAW,KAAK,CACpB,IAAM,EAAiB,KAAK,IAAI,KAAK,OAAQ,EAAM,CACnD,EAAW,IAAI,WACb,EAAE,QAAQ,OAAO,MAAM,EAAE,WAAY,EAAE,WAAa,EAAe,CACpE,CACD,EAAM,KAAK,CAEb,EAAW,EAAgB,KAAM,EAAY,EAAG,KAAK,CACrD,EAAI,EAAW,KAAK,CACpB,IAAM,EAAM,IAAI,WAAW,EAAE,QAAQ,OAAQ,EAAE,WAAY,EAAU,CACjE,GACF,EAAI,IAAI,EAAS,CAEnB,EAAI,IAAI,EAAK,EAAM,CAErB,UAAW,CACT,OAAO,KAAK,KAAK,CAEnB,QAAS,CACP,OAAO,KAAK,KAAK,CAEnB,CAAC,OAAO,cAAe,CACrB,OAAO,KAAK,KAAK,CAEnB,CAAC,OAAO,cAAe,CACrB,MAAO,QAAQ,MAAM,UAAU,KAGnC,SAAS,GAAyB,EAAS,CACzC,OAAO,IAAI,GACT,EAAQ,QACR,EAAQ,WACR,EAAQ,OAAO,WAChB,CAGH,IAAM,GAAN,cAAqB,CAAQ,CAC3B,OAAO,OAAS,CACd,YAAa,SACd,CAYD,YAAY,EAAS,EAAY,EAAa,EAAW,EAAgB,CACvE,MAAM,EAAS,EAAY,EAAW,CACtC,KAAK,OAAO,eAAiB,EAC7B,KAAK,OAAO,cAAgB,IAAmB,IAAA,GAEjD,OAAQ,OAAO,cAAe,CAC5B,OAAO,KAAK,OAAO,YAErB,CAAC,OAAO,cAAe,CACrB,MAAO,UAAU,MAAM,UAAU,GAAG,KAAK,OAAO,iBAAmB,IAAA,GAAY,GAAK,OAAO,KAAK,OAAO,iBAAiB,KAAK,EAAW,KAAK,CAAC,UAAU,KAGtJ,GAAN,cAAwB,EAAO,CAC7B,OAAO,OAAS,CACd,YAAa,YACb,GAAI,IACJ,KAAM,IAAI,GAAW,EAAG,EAAE,CAC3B,EAGG,GAAN,KAAkB,CAChB,QAAS,CACP,OAAO,QAAQ,QAAQ,KAAK,YAAY,CAAC,GAIvC,GAAN,cAA0B,EAAY,CACpC,YAAY,EAAK,CACf,OAAO,CACP,KAAK,IAAM,EAEb,YAAa,CACX,MAAM,KAAK,IAEb,aAAa,EAAY,EAAO,CAC9B,OAAO,KAET,cAAc,EAAY,CACxB,MAAM,KAAK,MAIT,GAAN,KAAkB,CAChB,YAAY,EAAK,CACf,KAAK,IAAM,EAEb,KAAK,EAAO,CACV,OAAO,IAAI,GAAY,KAAK,IAAI,CAElC,OAAQ,CACN,MAAM,KAAK,MAGf,SAAS,GAAa,EAAQ,CAC5B,OAAO,GAAU,IAAI,GAAgB,MAAM,GAAgB,CAAC,CAG9D,MAAM,EAAW,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC,CACjD,SAAS,GAAW,EAAM,EAAG,CAC3B,GAAI,EAAE,OAAO,iBAAmB,IAAA,GAC9B,MAAU,MAAM,EAAO,kFAA2B,EAAE,CAAC,CAEvD,EAAM,EAAE,CACR,IAAM,EAAI,EAAE,QAAQ,SAAS,EAAc,EAAK,CAAC,CAC3C,EAAM,EAAY,EAAE,QAAS,EAAE,WAAY,EAAE,CACnD,EAAiB,EAAI,YAAa,EAAM,EAAI,QAAQ,CAEtD,SAAS,GAAa,EAAO,EAAa,EAAG,CAC3C,IAAM,EAAI,GAAa,EAAO,EAAa,EAAE,CAE7C,OADA,GAAW,EAAY,OAAO,KAAM,EAAE,CAC/B,EAET,SAAS,EAAmB,EAAO,EAAG,CACpC,GAAM,CAAE,iBAAkB,EAAQ,EAAE,CACpC,GAAI,EAAQ,GAAK,GAAS,EACxB,MAAU,MACR,EAAO,4FAAkC,EAAG,EAAO,EAAc,CAClE,CAGL,SAAS,GAA2B,EAAO,EAAG,CAC5C,OAAO,GAAyB,GAAW,EAAO,EAAE,CAAC,CAEvD,SAAS,GAAyB,EAAG,CACnC,IAAI,EAAS,KACP,EAAQ,GAAoB,EAAE,CAC9B,CAAE,YAAa,EAAE,QAAQ,QAAQ,OAIvC,OAHI,GAAY,GAAS,GAAK,EAAQ,EAAS,SAC7C,EAAS,EAAS,IAEb,GAAa,EAAO,CAE7B,SAAS,GAAO,EAAS,EAAG,CAC1B,IAAM,EAAU,EAAQ,EAAE,CACpB,EAAa,EAAW,EAAE,CAC1B,EAAa,EAAE,QAAQ,SAAS,EAAc,EAAQ,CAAC,CAC7D,EAAW,QAAQ,UACjB,EAAW,WACX,EAAW,QACX,EAAW,WACX,KAAK,IAAI,EAAkB,EAAQ,CAAE,EAAkB,EAAQ,CAAC,CACjE,CACD,IAAM,EAAM,EAAY,EAAW,QAAS,EAAW,WAAY,EAAE,CACrE,EAAiB,EAAI,YAAa,EAAS,EAAI,QAAQ,CACvD,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,IAAI,EAAQ,cAAe,EAAQ,cAAc,CAAE,IAAK,CAC/E,IAAM,EAAS,IAAI,EACjB,EAAW,QACX,EAAW,WAAa,EAAQ,eAAiB,EAAI,EACtD,CACD,GAAI,EAAO,EAAO,CAChB,SAEF,IAAM,EAAe,EAAW,EAAO,CACjC,EAAgB,EAAW,EAAO,CAClC,EAAS,IAAI,EACjB,EAAW,QACX,EAAW,WAAa,EAAQ,eAAiB,EAAI,EACtD,CACG,EAAqB,EAAO,GAAK,EAAY,MAAQ,EAAyB,EAAO,GAAK,EAAgB,YAC5G,EAAc,YAAc,GAE9B,IAAM,EAAI,EACR,EAAc,QACd,EAAc,WACd,EACD,CACK,EAAI,EAAa,QAAQ,SAAS,EAAa,WAAW,CAAG,EAC7D,EAAI,EAAa,QAAQ,UAAU,EAAa,WAAa,EAAE,CACrE,EAAE,QAAQ,QAAQ,UAAU,EAAE,QAAQ,WAAY,EAAI,EAAE,aAAe,EAAE,CACzE,EAAE,QAAQ,QAAQ,UAAU,EAAE,QAAQ,WAAa,EAAG,EAAE,CAE1D,EAAW,QAAQ,cACjB,EAAW,WACX,EAAc,EAAQ,CACvB,CAEH,SAAS,GAAM,EAAa,EAAG,CAC7B,OAAO,IAAI,EACT,EAAE,QACF,EAAE,WACF,EAAE,OAAO,WACT,EAAE,OAAO,eACV,CAEH,SAAS,GAAO,EAAW,EAAG,EAAa,CACzC,IAAM,EAAa,KAAK,MAAM,EAAY,EAAE,CACtC,EAAU,GAAK,EAAY,EACjC,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CACtB,EAAI,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAW,CAKzD,OAJI,IAAgB,IAAA,IACV,EAAI,KAAa,IAGlB,EADY,EAAY,SAAS,EAAE,EACf,KAAa,EAE5C,SAAS,GAAQ,EAAO,EAAG,EAAc,CACvC,EAAmB,EAAO,EAAE,CAC5B,IAAM,EAAK,EAAkB,EAAE,CAC/B,EAAG,YAAc,EAAQ,EACzB,IAAM,EAAI,IAAI,GAAK,EAAG,QAAS,EAAG,WAAY,EAAE,OAAO,WAAa,EAAE,CAQtE,OAPI,EAAO,EAAE,GACP,EACF,EAAS,EAAc,EAAE,CAEzB,EAAW,EAAgB,KAAM,EAAG,EAAE,EAGnC,EAET,SAAS,EAAe,EAAG,CACzB,OAAO,EAAW,EAAE,CAEtB,SAAS,GAAW,EAAY,EAAG,EAAa,CAC9C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAClB,OAAO,EAAG,QAAQ,WAAW,EAAG,WAAa,EAAW,CAE1D,IAAM,EAAI,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAAG,EAAY,UAAU,EAAG,GAAK,CAE3F,OADA,EAAS,UAAU,EAAG,EAAG,EAAqB,CACvC,EAAS,WAAW,EAAG,EAAqB,CAErD,SAAS,GAAW,EAAY,EAAG,EAAa,CAC9C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,IAAM,EAAK,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAAG,EAAY,UAAU,EAAG,GAAK,CACtF,EAAK,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAa,EAAE,CAAG,EAAY,UAAU,EAAG,GAAK,CAGhG,OAFA,EAAS,UAAU,EAAG,EAAI,EAAqB,CAC/C,EAAS,UAAU,EAAG,EAAI,EAAqB,CACxC,EAAS,WAAW,EAAG,EAAqB,CAErD,OAAO,EAAG,QAAQ,WAAW,EAAG,WAAa,EAAW,CAE1D,SAAS,GAAS,EAAY,EAAG,EAAa,CAC5C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAClB,OAAO,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAW,CAExD,IAAM,EAAI,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAAG,EAAY,UAAU,EAAG,GAAK,CAE3F,OADA,EAAS,UAAU,EAAG,EAAG,EAAqB,CACvC,EAAS,SAAS,EAAG,EAAqB,CAEnD,SAAS,GAAS,EAAY,EAAG,EAAa,CAC5C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAClB,OAAO,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAW,CAExD,IAAM,EAAI,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAAG,EAAY,UAAU,EAAG,GAAK,CAE3F,OADA,EAAS,UAAU,EAAG,EAAG,EAAqB,CACvC,EAAS,SAAS,EAAG,EAAqB,CAEnD,SAAS,GAAS,EAAY,EAAG,EAAa,CAC5C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,IAAM,EAAK,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAAG,EAAY,UAAU,EAAG,GAAK,CACtF,EAAK,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAa,EAAE,CAAG,EAAY,UAAU,EAAG,GAAK,CAGhG,OAFA,EAAS,UAAU,EAAuB,EAAI,EAAG,EAAI,EAAqB,CAC1E,EAAS,UAAU,EAAuB,EAAI,EAAG,EAAI,EAAqB,CACnE,EAAS,YAAY,EAAG,EAAqB,CAEtD,OAAO,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAW,CAExD,SAAS,GAAQ,EAAY,EAAG,EAAa,CAC3C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAClB,OAAO,EAAG,QAAQ,QAAQ,EAAG,WAAa,EAAW,CAEvD,IAAM,EAAI,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAW,CAAG,EAAY,SAAS,EAAE,CAEnF,OADA,EAAS,SAAS,EAAG,EAAE,CAChB,EAAS,QAAQ,EAAE,CAE5B,SAAS,GAAQ,EAAO,EAAW,EAAG,EAAc,CAClD,EAAmB,EAAO,EAAE,CAC5B,IAAM,EAAK,EAAkB,EAAE,CAC/B,EAAG,YAAc,EAAQ,EACzB,IAAM,EAAI,IAAI,EAAU,EAAG,QAAS,EAAG,WAAY,EAAE,OAAO,WAAa,EAAE,CAC3E,GAAI,EAAO,EAAE,CACP,EACF,EAAS,EAAc,EAAE,CAEzB,EAAW,EAAU,OAAO,KAAM,EAAG,EAAG,EAAU,OAAO,cAAc,SAEhE,EAAU,OAAO,gBAAkB,IAAA,GAAW,CACvD,IAAM,EAAU,GAA2B,EAAE,CACvC,EAAU,EAAU,OAAO,cACjC,GAAI,EAAQ,eAAiB,EAAQ,gBAAkB,EAAQ,cAAgB,EAAQ,cAAe,CACpG,IAAM,EAAa,EAAW,EAAE,CAC1B,EAAY,EAAoB,EAAE,CAClC,EAAa,EAAE,QAAQ,SAC3B,EAAc,EAAQ,CAAG,EAAY,EACtC,CACK,EAAM,EAAY,EAAW,QAAS,EAAW,WAAY,EAAE,CACrE,EACE,EAAI,YACJ,EAAU,OAAO,KACjB,EACA,EAAI,QACJ,EACD,CACD,EAAiB,EAAW,EAAS,EAAW,CAChD,EAAW,YAAc,EACzB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAW,IAAK,CAClC,IAAM,EAAmB,EAAW,WAAa,EAAI,EAAc,EAAQ,CACrE,EAAmB,EAAW,WAAa,EAAI,EAAc,EAAQ,CAC3E,EAAW,QAAQ,UACjB,EACA,EAAW,QACX,EACA,EAAc,EAAQ,CACvB,CACD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,cAAe,IAAK,CAC9C,IAAM,EAAS,IAAI,EACjB,EAAW,QACX,EAAmB,EAAQ,eAAiB,EAAI,EACjD,CACK,EAAS,IAAI,EACjB,EAAW,QACX,EAAmB,EAAQ,eAAiB,EAAI,EACjD,CACK,EAAe,EAAW,EAAO,CACjC,EAAgB,EAAW,EAAO,CACpC,EAAqB,EAAO,GAAK,EAAY,MAAQ,EAAyB,EAAO,GAAK,EAAgB,YAC5G,EAAc,YAAc,GAE9B,IAAM,EAAI,EACR,EAAc,QACd,EAAc,WACd,EACD,CACK,EAAI,EAAa,QAAQ,SAAS,EAAa,WAAW,CAAG,EAC7D,EAAI,EAAa,QAAQ,UAAU,EAAa,WAAa,EAAE,CACrE,EAAE,QAAQ,QAAQ,UAChB,EAAE,QAAQ,WACV,EAAI,EAAE,aAAe,EACtB,CACD,EAAE,QAAQ,QAAQ,UAAU,EAAE,QAAQ,WAAa,EAAG,EAAE,EAG5D,EAAW,QAAQ,cACjB,EAAW,WACX,EAAc,EAAQ,CAAG,EAC1B,EAGL,OAAO,EAET,SAAS,GAAW,EAAO,EAAG,CAC5B,EAAmB,EAAO,EAAE,CAC5B,IAAM,EAAK,EAAkB,EAAE,CAE/B,MADA,GAAG,YAAc,EAAQ,EAClB,IAAI,EAAQ,EAAG,QAAS,EAAG,WAAY,EAAE,OAAO,WAAa,EAAE,CAExE,SAAS,GAAa,EAAO,EAAc,EAAG,CAC5C,EAAmB,EAAO,EAAE,CAC5B,IAAM,EAAK,EAAkB,EAAE,CAE/B,MADA,GAAG,YAAc,EAAQ,EAClB,IAAI,EAAa,EAAG,QAAS,EAAG,WAAY,EAAE,OAAO,WAAa,EAAE,CAE7E,SAAS,EAAkB,EAAG,CAC5B,IAAM,EAAK,EAAW,EAAE,CAExB,MADA,GAAG,YAAc,EAAY,EAAQ,EAAE,CAAC,eAAe,CAChD,EAET,SAAS,EAAQ,EAAG,CAClB,GAAI,EAAE,OAAO,iBAAmB,IAAA,GAAW,CACzC,IAAM,EAAI,EAAW,EAAG,GAAK,CAE7B,MADA,GAAE,YAAc,EACT,EAAc,EAAE,CAEzB,OAAO,EAAoB,EAAE,CAE/B,SAAS,GAAU,EAAO,EAAa,EAAG,EAAc,CACtD,IAAM,EAAI,GAAa,EAAO,EAAa,EAAE,CAC7C,GAAI,EAAO,EAAE,CACP,EACF,EAAS,EAAc,EAAE,CAEzB,GAAW,EAAY,OAAO,KAAM,EAAE,KAEnC,CACL,EAAS,EAAY,OAAQ,EAAE,CAC/B,IAAM,EAAK,EAAoB,EAAE,EAC7B,EAAG,eAAiB,EAAY,OAAO,KAAK,gBAAkB,EAAG,cAAgB,EAAY,OAAO,KAAK,gBAC3G,GAAO,EAAY,OAAO,KAAM,EAAE,CAGtC,OAAO,EAET,SAAS,GAAQ,EAAO,EAAG,EAAc,CACvC,IAAM,EAAI,GAAK,YAAY,GAAW,EAAO,EAAE,CAAC,CAIhD,OAHI,EAAO,EAAE,EAAI,GACf,EAAE,IAAI,EAAG,EAAa,CAEjB,EAAE,IAAI,EAAE,CAEjB,SAAS,GAAU,EAAY,EAAG,EAAa,CAC7C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAI5B,OAHI,IAAgB,IAAA,GACX,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAElD,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAAG,EAAY,UAAU,EAAG,GAAK,CAE1F,SAAS,GAAU,EAAY,EAAG,EAAa,CAC7C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAI5B,OAHI,IAAgB,IAAA,GACX,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAElD,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAAG,EAAY,UAAU,EAAG,GAAK,CAE1F,SAAS,GAAU,EAAY,EAAG,EAAa,CAC7C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,IAAM,EAAK,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAAG,EAAY,UAAU,EAAG,GAAK,CACtF,EAAK,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAa,EAAE,CAAG,EAAY,UAAU,EAAG,GAAK,CAGhG,OAFA,EAAS,UAAU,EAAuB,EAAI,EAAG,EAAI,EAAqB,CAC1E,EAAS,UAAU,EAAuB,EAAI,EAAG,EAAI,EAAqB,CACnE,EAAS,aAAa,EAAG,EAAqB,CAEvD,OAAO,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAW,CAEzD,SAAS,GAAS,EAAY,EAAG,EAAa,CAC5C,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAI5B,OAHI,IAAgB,IAAA,GACX,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAW,CAEjD,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAW,CAAG,EAAY,SAAS,EAAE,CAElF,SAAS,GAAS,EAAO,EAAQ,EAAG,CAClC,EAAmB,EAAO,EAAE,CAC5B,IAAM,EAAK,EAAkB,EAAE,CAC/B,EAAG,YAAc,EAAQ,EACzB,IAAM,EAAI,IAAI,GAAK,EAAG,QAAS,EAAG,WAAY,EAAE,OAAO,WAAa,EAAE,CAGtE,OAFA,EAAM,EAAE,CACR,EAAW,EAAgB,KAAM,EAAQ,EAAE,CACpC,EAET,SAAS,GAAS,EAAO,EAAW,EAAQ,EAAG,CAC7C,EAAmB,EAAO,EAAE,CAC5B,IAAM,EAAK,EAAkB,EAAE,CAC/B,EAAG,YAAc,EAAQ,EACzB,IAAM,EAAI,IAAI,EAAU,EAAG,QAAS,EAAG,WAAY,EAAE,OAAO,WAAa,EAAE,CAG3E,OAFA,EAAM,EAAE,CACR,EAAW,EAAU,OAAO,KAAM,EAAQ,EAAG,EAAU,OAAO,cAAc,CACrE,EAET,SAAS,GAAO,EAAW,EAAO,EAAG,EAAa,CAChD,IAAM,EAAa,KAAK,MAAM,EAAY,EAAE,CACtC,EAAU,GAAK,EAAY,EACjC,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CACtB,EAAI,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAW,CACrD,IAAgB,IAAA,KAClB,GAAS,EAAY,SAAS,EAAE,CAAG,KAAa,EAAI,EAAQ,CAAC,GAE/D,EAAG,QAAQ,SACT,EAAG,WAAa,EAChB,EAAQ,EAAI,EAAU,EAAI,CAAC,EAC5B,CAEH,SAAS,GAAW,EAAY,EAAO,EAAG,EAAa,CACrD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,EAAS,WAAW,EAAG,EAAO,EAAqB,CACnD,IAAM,EAAI,EAAS,UAAU,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CACtF,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAE,CACnD,OAEF,EAAG,QAAQ,WAAW,EAAG,WAAa,EAAY,EAAM,CAE1D,SAAS,GAAW,EAAY,EAAO,EAAG,EAAa,CACrD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,EAAS,WAAW,EAAG,EAAO,EAAqB,CACnD,IAAM,EAAK,EAAS,UAAU,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CACjF,EAAK,EAAS,UAAU,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CACvF,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAG,CACpD,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAa,EAAG,EAAG,CACxD,OAEF,EAAG,QAAQ,WAAW,EAAG,WAAa,EAAY,EAAM,CAE1D,SAAS,GAAS,EAAY,EAAO,EAAG,EAAa,CACnD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,EAAS,SAAS,EAAG,EAAO,EAAqB,CACjD,IAAM,EAAI,EAAS,UAAU,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CACtF,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAE,CACnD,OAEF,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAY,EAAM,CAExD,SAAS,GAAS,EAAY,EAAO,EAAG,EAAa,CACnD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,EAAS,SAAS,EAAG,EAAO,EAAqB,CACjD,IAAM,EAAI,EAAS,UAAU,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CACtF,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAE,CACnD,OAEF,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAY,EAAM,CAExD,SAAS,GAAS,EAAY,EAAO,EAAG,EAAa,CACnD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,EAAS,YAAY,EAAG,EAAO,EAAqB,CACpD,IAAM,EAAK,EAAS,UAAU,EAAuB,EAAI,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CAC5G,EAAK,EAAS,UAAU,EAAuB,EAAI,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CAClH,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAG,CACpD,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAa,EAAG,EAAG,CACxD,OAEF,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAY,EAAM,CAExD,SAAS,GAAQ,EAAY,EAAO,EAAG,EAAa,CAClD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,EAAS,QAAQ,EAAG,EAAM,CAC1B,IAAM,EAAI,EAAS,SAAS,EAAE,CAAG,EAAY,SAAS,EAAE,CACxD,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAY,EAAE,CAClD,OAEF,EAAG,QAAQ,QAAQ,EAAG,WAAa,EAAY,EAAM,CAEvD,SAAS,GAAQ,EAAO,EAAO,EAAG,CAChC,GAAK,YAAY,GAAW,EAAO,EAAE,CAAC,CAAC,IAAI,EAAG,EAAM,CAEtD,SAAS,GAAU,EAAY,EAAO,EAAG,EAAa,CACpD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CACxB,IAAgB,IAAA,KAClB,GAAS,EAAY,UAAU,EAAG,GAAK,EAEzC,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAM,CAEzD,SAAS,GAAU,EAAY,EAAO,EAAG,EAAa,CACpD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CACxB,IAAgB,IAAA,KAClB,GAAS,EAAY,UAAU,EAAG,GAAK,EAEzC,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAM,CAEzD,SAAS,GAAU,EAAY,EAAO,EAAG,EAAa,CACpD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CAC5B,GAAI,IAAgB,IAAA,GAAW,CAC7B,EAAS,aAAa,EAAG,EAAO,EAAqB,CACrD,IAAM,EAAK,EAAS,UAAU,EAAuB,EAAI,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CAC5G,EAAK,EAAS,UAAU,EAAuB,EAAI,EAAG,EAAqB,CAAG,EAAY,UAAU,EAAG,GAAK,CAClH,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAG,CACpD,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAa,EAAG,EAAG,CACxD,OAEF,EAAG,QAAQ,UAAU,EAAG,WAAa,EAAY,EAAM,CAEzD,SAAS,GAAS,EAAY,EAAO,EAAG,EAAa,CACnD,EAAgB,EAAY,EAAG,EAAE,CACjC,IAAM,EAAK,EAAe,EAAE,CACxB,IAAgB,IAAA,KAClB,GAAS,EAAY,SAAS,EAAE,EAElC,EAAG,QAAQ,SAAS,EAAG,WAAa,EAAY,EAAM,CAExD,SAAS,GAAU,EAAM,EAAO,EAAQ,EAAG,CACzC,GAAI,IAAU,EACZ,MAAU,MAAM,EAAO,qHAA0B,EAAG,EAAM,EAAO,EAAO,CAAC,CAG7E,SAAS,EAAgB,EAAY,EAAY,EAAG,CAClD,GAAM,CAAE,kBAAmB,EAAQ,EAAE,CACrC,GAAI,EAAa,GAAK,EAAa,GAAK,EAAa,EAAa,EAChE,MAAU,MACR,EACE,0GACA,EACA,EACA,EACA,EACD,CACF,CCv6DL,SAAS,GAAc,EAAgB,CACrC,OAAO,cAAc,EAAK,CACxB,OAAO,OAAS,CACd,cAAe,EAAe,OAAO,KACrC,YAAa,QAAQ,EAAe,OAAO,YAAY,GACvD,KAAM,EAAgB,UACvB,CACD,IAAI,EAAO,CACT,OAAO,IAAI,EACT,KAAK,QACL,KAAK,WACL,KAAK,OAAO,WAAa,EACzB,EACD,CAEH,IAAI,EAAO,EAAO,CAChB,EAAS,EAAO,KAAK,IAAI,EAAM,CAAC,CAElC,CAAC,OAAO,cAAe,CACrB,MAAO,aAAa,MAAM,UAAU,CAAC,OAAO,EAAe,UAAU,KAK3E,SAAS,EAAqB,EAAY,EAAQ,CAChD,MAAQ,IAAM,CACZ,IAAM,EAAK,IAAI,SAAS,IAAI,YAAY,EAAW,CAAC,CAEpD,OADA,EAAO,KAAK,EAAI,EAAG,EAAG,GAAK,CACpB,GAGX,MAAM,GAAiB,EACrB,EACA,SAAS,UAAU,WACpB,CACK,GAAiB,EACrB,EACA,SAAS,UAAU,WACpB,CACK,GAAe,EACnB,EACA,SAAS,UAAU,SACpB,CACK,GAAe,EACnB,EACA,SAAS,UAAU,SACpB,CACK,GAAe,EACnB,EACA,SAAS,UAAU,YACpB,CACK,GAAc,EAAqB,EAAG,SAAS,UAAU,QAAQ,CACjE,GAAgB,EACpB,EACA,SAAS,UAAU,UACpB,CACK,GAAgB,EACpB,EACA,SAAS,UAAU,UACpB,CACK,GAAgB,EACpB,EACA,SAAS,UAAU,aACpB,CACK,GAAe,EACnB,EACA,SAAS,UAAU,SACpB,CACD,SAAS,GAAW,EAAO,EAAW,CACpC,IAAM,EAAK,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC,CAK3C,OAJK,GAGL,EAAG,SAAS,EAAG,GAAK,EAAY,EAAE,CAFzB,ECvEX,IAAI,GAA8B,IAChC,EAAW,EAAW,eAAoB,GAAK,iBAC/C,EAAW,EAAW,cAAmB,GAAK,gBACvC,IACN,GAAa,EAAE,CAAC,CAEb,GAAN,KAA4B,CAI1B,OAIA,GACA,YAAY,EAAI,EAAQ,CACtB,KAAK,GAAK,EACV,KAAK,OAAS,IAIZ,GAAN,KAAwB,CACtB,YAAY,EAAU,CAAC,IAAI,YAAY,EAAoB,CAAC,CAAE,CAC5D,KAAK,QAAU,EACf,IAAI,EAAI,EAAQ,OAChB,KAAO,EAAE,GAAK,GACZ,GAAK,EAAQ,GAAG,WAAa,EAC3B,MAAU,MAAM,EAAO,GAAsB,EAAQ,GAAG,WAAW,CAAC,CAI1E,OAAO,SAAW,GAClB,OAAO,UAAY,GACnB,OAAO,eAAiB,GACxB,KAAO,EAAU,cACjB,UAAW,CACT,OAAO,EAAO,gCAAiC,GAAiB,KAAK,CAAC,GAG1E,SAAS,GAAW,EAAS,EAAG,CAC9B,IAAM,EAAI,IAAI,YAAYE,EAAU,KAAK,IAAI,EAAS,EAAoB,CAAC,CAAC,CAE5E,OADA,EAAE,QAAQ,KAAK,EAAE,CACV,IAAI,GAAsB,EAAE,QAAQ,OAAS,EAAG,EAAE,CAE3D,SAAS,GAAY,EAAI,EAAG,CAC1B,GAAI,EAAK,GAAK,GAAM,EAAE,QAAQ,OAC5B,MAAU,MAAM,EAAO,8DAAsB,EAAG,CAAC,CAEnD,OAAO,EAAE,QAAQ,GAEnB,SAAS,GAAiB,EAAG,CAC3B,OAAO,EAAE,QAAQ,OAGnB,IAAM,EAAN,KAAyB,CACvB,OAAO,SAAW,GAClB,OAAO,UAAY,GACnB,OAAO,eAAiB,GACxB,OACA,KAAO,EAAU,eACjB,YAAY,EAAS,IAAI,YAAY,EAAoB,CAAE,CACzD,GAAK,EAAO,WAAa,EACvB,MAAU,MAAM,EAAO,GAAsB,EAAO,WAAW,CAAC,CAElE,KAAK,OAAS,EAEhB,UAAW,CACT,OAAO,EAAO,4BAA6B,KAAK,OAAO,WAAW,GAGtE,SAAS,GAAW,EAAS,EAAU,EAAG,CACxC,IAAM,EAAY,EAAS,OAAS,EAAI,EAAS,GAAG,OAAS,EAAE,OAI/D,MAHA,GAAU,EAAU,EAA4B,EAA4BA,EAAU,EAAQ,CAC9F,EAAE,OAAS,IAAI,YAAY,EAAU,WAAa,EAAQ,CAC1D,IAAI,aAAa,EAAE,OAAO,CAAC,IAAI,IAAI,aAAa,EAAU,CAAC,CACpD,IAAI,GAAsB,EAAG,EAAE,OAAO,CAE/C,SAAS,GAAY,EAAI,EAAG,CAC1B,GAAI,IAAO,EAAG,MAAU,MAAM,EAAO,wFAAyB,EAAG,CAAC,CAClE,OAAO,EAAE,OAEX,SAAS,IAAmB,CAC1B,MAAO,GAGT,IAAM,EAAN,KAAY,CACV,OAAO,SAAW,GAClB,OAAO,KAAO,GACd,OAAO,UAAY,GACnB,OAAO,eAAiB,IAE1B,SAAS,GAAS,EAAS,EAAU,EAAG,CACtC,OAAQ,EAAE,KAAV,CACE,KAAK,EAAU,cACb,OAAO,GAAkB,SAAS,EAAS,EAAE,CAE/C,KAAK,EAAU,eACb,OAAO,EAAmB,SAAS,EAAS,EAAU,EAAE,CAE1D,QACE,OAAO,EAAY,EAAE,EAI3B,SAAS,GAAO,EAAG,CACjB,OAAQ,EAAE,KAAV,CACE,KAAK,EAAU,cAAe,CAC5B,IAAI,EAAI,EAAE,QAAQ,OACZ,EAAU,MAAM,KAAK,CAAE,OAAQ,EAAG,CAAC,CACzC,KAAO,EAAE,GAAK,GACZ,EAAQ,GAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,CAEpC,OAAO,IAAI,GAAkB,EAAQ,CAEvC,KAAK,EAAU,eACb,OAAO,IAAI,EAAmB,EAAE,OAAO,MAAM,EAAE,CAAC,CAElD,QACE,OAAO,EAAY,EAAE,EAI3B,SAAS,GAAU,EAAI,EAAG,CACxB,OAAQ,EAAE,KAAV,CACE,KAAK,EAAU,cACb,OAAO,GAAkB,UAAU,EAAI,EAAE,CAE3C,KAAK,EAAU,eACb,OAAO,EAAmB,UAAU,EAAI,EAAE,CAE5C,QACE,OAAO,EAAY,EAAE,EAI3B,SAAS,GAAe,EAAG,CACzB,OAAQ,EAAE,KAAV,CACE,KAAK,EAAU,cACb,OAAO,GAAkB,eAAe,EAAE,CAE5C,KAAK,EAAU,eACb,OAAO,EAAmB,gBAAgB,CAE5C,QACE,OAAO,EAAY,EAAE,EAK3B,SAAS,GAAiB,EAAG,CAC3B,IAAI,EAAI,GAAK,GAAK,EAAI,YAEtB,MADA,IAAK,EAAI,YAAc,GAAK,EAAI,YACxB,GAAK,GAAK,GAAK,WAAa,UAAY,GAElD,SAAS,GAAW,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC1C,OAAQ,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,KAAO,IAAM,EAAI,EAAI,KAAO,IAAM,EAAI,EAAI,KAAO,IAAM,EAAI,EAAI,KAEvK,SAAS,GAAsB,EAAQ,CACrC,IAAM,EAAI,IAAI,WAAW,EAAO,CAC5B,EAAY,EACZ,EAAU,IACd,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,YAAc,CAClC,IAAM,EAAM,EAAE,GACV,IAAY,GACd,GAAa,EACb,IACA,EAAU,KACD,IAAY,KACrB,GAAa,EACb,GAAK,EAAM,EAAI,EACf,EAAU,MAEV,IACA,GAAK,GAAiB,EAAI,CAAG,EAC7B,EAAU,GAGd,OAAO,EAAY,EAErB,SAAS,GAAiB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAChD,OAAQ,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,GAEpK,SAAS,GAAK,EAAU,EAAa,EAAG,EAAY,CAClD,GAAI,EAAS,WAAa,GAAM,EAC9B,MAAU,MAAM,qEAA0B,CAE5C,IAAM,EAAM,IAAI,WAAW,EAAU,EAAY,EAAW,CACtD,EAAM,EAAE,CACV,EAAU,IACV,EAAsB,EACtB,EAAiB,EACrB,IAAK,IAAI,EAAgB,EAAG,EAAgB,EAAI,WAAY,GAAiB,EAAG,CAC9E,IAAM,EAAI,EAAI,GACR,EAAI,EAAI,EAAgB,GACxB,EAAI,EAAI,EAAgB,GACxB,EAAI,EAAI,EAAgB,GACxB,EAAI,EAAI,EAAgB,GACxB,EAAI,EAAI,EAAgB,GACxB,EAAI,EAAI,EAAgB,GACxB,EAAI,EAAI,EAAgB,GACxB,EAAM,GAAW,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CAC1C,EAAgB,GACpB,OAAQ,EAAR,CACE,IAAK,GACC,IAAQ,GAAgB,GAAkB,KAC5C,EAAI,KAAK,EAAe,CACxB,EAAiB,EACjB,EAAgB,IAEhB,IAEF,MAEF,IAAK,KACe,GAAiB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,EACzC,GAAuB,GAAkB,KACxD,EAAI,GAAuB,EAC3B,EAAiB,EACjB,EAAgB,KAEhB,EAAI,KAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CAChC,KAEF,MAEF,QACE,EAAgB,GAChB,MAGA,IAGJ,EAAI,KAAK,EAAI,CACb,EAAU,EACN,IAAM,GAAG,EAAI,KAAK,EAAE,CACpB,IAAM,GAAG,EAAI,KAAK,EAAE,CACpB,IAAM,GAAG,EAAI,KAAK,EAAE,CACpB,IAAM,GAAG,EAAI,KAAK,EAAE,CACpB,IAAM,GAAG,EAAI,KAAK,EAAE,CACpB,IAAM,GAAG,EAAI,KAAK,EAAE,CACpB,IAAM,GAAG,EAAI,KAAK,EAAE,CACpB,IAAM,GAAG,EAAI,KAAK,EAAE,CACpB,IAAQ,MACV,EAAsB,EAAI,OAC1B,EAAI,KAAK,EAAE,GAQf,OALI,IAAY,EACd,EAAI,KAAK,EAAe,CACf,IAAY,MACrB,EAAI,GAAuB,GAEtB,IAAI,WAAW,EAAI,CAAC,OAE7B,SAAS,GAAO,EAAQ,CACtB,IAAM,EAAM,IAAI,WAAW,EAAO,CAC5B,EAAM,IAAI,WAAW,IAAI,YAAY,GAAsB,EAAO,CAAC,CAAC,CACtE,EAAU,IACd,IAAK,IAAI,EAAgB,EAAG,EAAgB,EAAG,EAAgB,EAAI,YAAc,CAC/E,IAAM,EAAM,EAAI,GAChB,GAAI,IAAY,EACd,GAAiB,EAAM,EACvB,IACA,EAAU,YACD,IAAY,IAAgB,CACrC,IAAM,EAAiB,EAAM,EAC7B,EAAI,IACF,EAAI,SAAS,EAAgB,EAAG,EAAgB,EAAI,EAAe,CACnE,EACD,CACD,GAAiB,EACjB,GAAiB,EAAI,EACrB,EAAU,QACL,CACL,IACA,IAAK,IAAI,EAAI,EAAG,GAAK,IAAK,IAAM,GACzB,EAAM,KAAO,IAChB,EAAI,GAAiB,EAAI,MAE3B,IAEF,EAAU,GAGd,OAAO,EAAI,OAGb,IAAM,GAAN,KAAc,CACZ,YAAY,EAAI,EAAS,EAAQ,EAAa,EAAG,CAC/C,KAAK,GAAK,EACV,KAAK,QAAU,EACf,KAAK,QAAU,EACf,KAAK,OAAS,EACd,KAAK,IAAM,IAAI,SAAS,EAAO,CAC/B,KAAK,WAAa,EAClB,KAAK,WAAa,EAEpB,OAEA,WAOA,WACA,CAAC,OAAO,aAAe,UACvB,IAQA,SAAS,EAAY,CACnB,IAAI,EAAU,KAEd,GADA,EAAaA,EAAU,EAAW,CAC9B,EAAa,EAAqB,EACpC,MAAU,MAAM,EAAO,GAAmB,EAAW,CAAC,CAEnD,EAAQ,YAAY,EAAW,GAClC,EAAU,EAAQ,QAAQ,gBAAgB,EAAW,EAEvD,IAAM,EAAa,EAAQ,WAE3B,MADA,GAAQ,YAAc,EACf,IAAI,EAAQ,EAAS,EAAW,CASzC,SAAS,EAAY,EAAY,EAAe,CAC9C,IAAM,EAAQ,EAAW,IAAI,WAC3B,EACA,EACD,CACD,KAAK,IAAI,WAAW,EAAY,EAAO,EAAqB,CAU9D,UAAU,EAAY,EAAY,EAAe,EAAY,CAC3D,IAAM,EAAM,IAAI,aAAa,KAAK,OAAQ,EAAY,EAAW,CAC3D,EAAM,IAAI,aAAa,EAAW,OAAQ,EAAe,EAAW,CAC1E,EAAI,IAAI,EAAI,CAQd,cAAc,EAAY,EAAY,CACpC,IAAI,aAAa,KAAK,OAAQ,EAAY,EAAW,CAAC,KAAK,EAAE,CAE/D,YAAY,EAAY,EAAc,CACpC,OAAO,KAAK,IAAI,YAAY,EAAY,EAAa,CAEvD,aAAa,EAAY,EAAc,CACrC,OAAO,KAAK,IAAI,aAAa,EAAY,EAAa,CAOxD,aAAc,CACZ,OAAO,KAAK,OAAO,WAQrB,WAAW,EAAY,CACrB,OAAO,KAAK,IAAI,WAAW,EAAY,GAAK,CAQ9C,WAAW,EAAY,CACrB,OAAO,KAAK,IAAI,WAAW,EAAY,GAAK,CAQ9C,SAAS,EAAY,CACnB,OAAO,KAAK,IAAI,SAAS,EAAY,GAAK,CAQ5C,SAAS,EAAY,CACnB,OAAO,KAAK,IAAI,SAAS,EAAY,GAAK,CAQ5C,SAAS,EAAY,CACnB,OAAO,KAAK,IAAI,YAAY,EAAY,GAAK,CAQ/C,QAAQ,EAAY,CAClB,OAAO,KAAK,IAAI,QAAQ,EAAW,CAQrC,UAAU,EAAY,CACpB,OAAO,KAAK,IAAI,UAAU,EAAY,GAAK,CAQ7C,UAAU,EAAY,CACpB,OAAO,KAAK,IAAI,UAAU,EAAY,GAAK,CAS7C,UAAU,EAAY,CACpB,OAAO,KAAK,IAAI,aAAa,EAAY,GAAK,CAQhD,SAAS,EAAY,CACnB,OAAO,KAAK,IAAI,SAAS,EAAW,CAEtC,YAAY,EAAY,CACtB,OAAO,KAAK,OAAO,WAAa,KAAK,YAAc,EAarD,WAAW,EAAY,CACrB,OAAO,KAAK,IAAI,WAAW,EAAY,EAAqB,GAAK,EAQnE,cAAc,EAAQ,CAChB,QAAK,SAAW,EAGpB,IAAI,EAAO,WAAa,KAAK,WAC3B,MAAU,MAAM,uGAAiC,CAEnD,KAAK,IAAM,IAAI,SAAS,EAAO,CAC/B,KAAK,OAAS,GAEhB,YAAY,EAAY,EAAO,EAAc,CAC3C,KAAK,IAAI,YAAY,EAAY,EAAO,EAAa,CAGvD,aAAa,EAAY,EAAO,EAAc,CAC5C,KAAK,IAAI,aAAa,EAAY,EAAO,EAAa,CAQxD,WAAW,EAAY,EAAK,CAC1B,KAAK,IAAI,WAAW,EAAY,EAAK,GAAK,CAQ5C,WAAW,EAAY,EAAK,CAC1B,KAAK,IAAI,WAAW,EAAY,EAAK,GAAK,CAQ5C,SAAS,EAAY,EAAK,CACxB,KAAK,IAAI,SAAS,EAAY,EAAK,GAAK,CAQ1C,SAAS,EAAY,EAAK,CACxB,KAAK,IAAI,SAAS,EAAY,EAAK,GAAK,CAQ1C,QAAQ,EAAY,EAAK,CACvB,KAAK,IAAI,QAAQ,EAAY,EAAI,CAQnC,SAAS,EAAY,EAAK,CACxB,KAAK,IAAI,YAAY,EAAY,EAAK,GAAK,CAQ7C,UAAU,EAAY,EAAK,CACzB,KAAK,IAAI,UAAU,EAAY,EAAK,GAAK,CAQ3C,UAAU,EAAY,EAAK,CACzB,KAAK,IAAI,UAAU,EAAY,EAAK,GAAK,CAQ3C,UAAU,EAAY,EAAK,CACzB,KAAK,IAAI,aAAa,EAAY,EAAK,GAAK,CAQ9C,SAAS,EAAY,EAAK,CACxB,KAAK,IAAI,SAAS,EAAY,EAAI,CAUpC,YAAY,EAAY,CACtB,KAAK,IAAI,WAAW,EAAY,EAAG,EAAqB,CAE1D,UAAW,CACT,OAAO,EACL,qCACA,KAAK,GACL,KAAK,WACL,KAAK,WACL,KAAK,OAAO,WACb,GAIC,GAAN,KAAc,CACZ,OAAO,gBAAkB,GACzB,OAAO,KAAO,GACd,OAAO,QAAU,GACjB,OAAO,WAAa,GACpB,OAAO,SAAW,GAClB,OAAO,eAAiB,GACxB,OAAO,cAAgB,GACvB,OAAO,oBAAsB,GAC7B,OA4BA,YAAY,EAAK,EAAS,GAAM,EAAgB,GAAO,CACrD,KAAK,OAAS,GAAY,EAAK,EAAQ,EAAc,CACjD,GACF,GAAoB,KAAK,CAG7B,gBAAgB,EAAY,CAC1B,OAAO,GAAgB,EAAY,KAAK,CAO1C,MAAO,CACL,OAAO,GAAK,KAAK,CASnB,MAAO,CACL,OAAO,GAAK,KAAK,CASnB,QAAQ,EAAY,CAClB,OAAO,GAAQ,EAAY,KAAK,CAUlC,WAAW,EAAI,CACb,OAAO,GAAW,EAAI,KAAK,CAQ7B,SAAS,EAAY,CACnB,OAAO,GAAS,EAAY,KAAK,CAQnC,QAAQ,EAAK,CACX,GAAQ,EAAK,KAAK,CAQpB,eAAgB,CACd,OAAO,GAAc,KAAK,CAQ5B,qBAAsB,CACpB,OAAO,GAAoB,KAAK,CAElC,OAAO,EAAQ,CACR,KAAK,OAAO,WACf,KAAK,OAAO,SAAW,EAAE,EAE3B,IAAM,EAAK,KAAK,OAAO,SAAS,OAEhC,OADA,KAAK,OAAO,SAAS,KAAK,EAAO,CAC1B,EAET,UAAW,CACT,MAAO,iBAAiB,KAAK,OAAO,UAGxC,SAAS,GAAY,EAAK,EAAS,GAAM,EAAgB,GAAO,CAC9D,GAAI,IAAQ,IAAA,GACV,MAAO,CACL,MAAO,IAAI,EACX,SAAU,EAAE,CACZ,eAAgB,EACjB,CAEH,GAAI,GAAW,EAAI,CACjB,MAAO,CAAE,MAAO,EAAK,SAAU,EAAE,CAAE,eAAgB,EAAwB,CAE7E,IAAI,EAAM,EAiBV,OAhBI,GAAkB,EAAI,GACxB,EAAM,EAAI,OAAO,MACf,EAAI,WACJ,EAAI,WAAa,EAAI,WACtB,EAEC,IACF,EAAM,GAAO,EAAI,EAEf,EACK,CACL,MAAO,IAAI,EAAmB,EAAI,CAClC,SAAU,EAAE,CACZ,eAAgB,EACjB,CAEI,CACL,MAAO,IAAI,GAAkB,GAAkB,EAAI,CAAC,CACpD,SAAU,EAAE,CACZ,eAAgB,EACjB,CAEH,SAAS,GAAkB,EAAS,CAClC,IAAM,EAAK,IAAI,SAAS,EAAQ,CAC1B,EAAe,EAAG,UAAU,EAAG,GAAK,CAAG,EACvC,EAAW,MAAM,KAAK,CAAE,OAAQ,EAAc,CAAC,CACjD,EAAa,EAAI,EAAe,EAEpC,GADA,GAAc,EAAa,EACvB,EAAa,EAAe,EAAI,EAAQ,WAC1C,MAAU,MAAM,EAAyB,CAE3C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAc,IAAK,CACrC,IAAM,EAAa,EAAG,UAAU,EAAI,EAAI,EAAG,GAAK,CAAG,EACnD,GAAI,EAAa,EAAa,EAAQ,WACpC,MAAU,MAAM,EAAyB,CAE3C,EAAS,GAAK,EAAQ,MAAM,EAAY,EAAa,EAAW,CAChE,GAAc,EAEhB,OAAO,EAET,SAAS,GAAoB,EAAG,CAC9B,IAAM,EAAc,EAAM,eAAe,EAAE,OAAO,MAAM,CACxD,EAAE,OAAO,SAAW,MAAM,KAAK,CAAE,OAAQ,EAAa,CAAC,CACvD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAa,IAAK,CACpC,GAAI,IAAM,GAAK,EAAM,UAAU,EAAG,EAAE,OAAO,MAAM,CAAC,WAAa,EAC7D,MAAU,MAAM,EAAsB,CAExC,IAAM,EAAS,EAAM,UAAU,EAAG,EAAE,OAAO,MAAM,CAC3C,EAAU,IAAI,GAAQ,EAAG,EAAG,EAAQ,EAAO,WAAW,CAC5D,EAAE,OAAO,SAAS,GAAK,GAG3B,SAAS,GAAkB,EAAK,CAC9B,OAAO,EAAI,aAAe,IAAA,GAE5B,SAAS,GAAW,EAAG,CACrB,OAAO,EAAE,OAAS,IAAA,GAEpB,SAAS,GAAgB,EAAY,EAAG,CACtC,IAAM,EAAM,EAAM,SAAS,EAAY,EAAE,OAAO,SAAU,EAAE,OAAO,MAAM,CACrE,EACJ,GAAI,EAAI,KAAO,EAAE,OAAO,SAAS,OAC/B,EAAI,IAAI,GAAQ,EAAI,GAAI,EAAG,EAAI,OAAO,CACtC,EAAE,OAAO,SAAS,KAAK,EAAE,SAChB,EAAI,GAAK,GAAK,EAAI,GAAK,EAAE,OAAO,SAAS,OAClD,MAAU,MAAM,EAAO,EAA2B,EAAI,GAAI,EAAE,CAAC,MAE7D,EAAI,EAAE,OAAO,SAAS,EAAI,IAC1B,EAAE,cAAc,EAAI,OAAO,CAE7B,OAAO,EAET,SAAS,GAAK,EAAG,CACf,IAAI,EAAI,GACR,GAAI,EAAE,OAAO,SAAS,SAAW,EAC/B,MAAO;;;EAET,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAO,SAAS,OAAQ,IAAK,CACjD,GAAK;WACE,EAAE;;EAGT,GAAM,CAAE,SAAQ,cAAe,EAAE,OAAO,SAAS,GAC3C,EAAI,IAAI,WAAW,EAAQ,EAAG,EAAW,CAC/C,GAAK,GAAW,EAAE,CAEpB,OAAO,EAET,SAAS,GAAQ,EAAY,EAAG,CAC9B,IAAM,EAAO,IAAI,EAAW,EAAE,WAAW,EAAE,CAAE,EAAE,CAC/C,EAAS,EAAY,OAAQ,EAAK,CAClC,IAAM,EAAK,EAAoB,EAAK,CAIpC,OAHI,EAAG,eAAiB,EAAW,OAAO,KAAK,gBAAkB,EAAG,cAAgB,EAAW,OAAO,KAAK,gBACzG,GAAO,EAAW,OAAO,KAAM,EAAK,CAE/B,EAET,SAAS,GAAW,EAAI,EAAG,CACzB,IAAM,EAAgB,EAAE,OAAO,SAAS,OACxC,GAAI,IAAO,GAAK,IAAkB,EAAG,CAWnC,GAVsB,EAAM,eAAe,EAAE,OAAO,MAAM,GACpC,EACpB,GAAgB,EAAqB,EAAE,CAEvC,EAAE,OAAO,SAAS,GAAK,IAAI,GACzB,EACA,EACA,EAAM,UAAU,EAAG,EAAE,OAAO,MAAM,CACnC,CAEC,CAAC,EAAE,OAAO,SAAS,GAAG,YAAY,EAAE,CACtC,MAAU,MAAM,EAAsB,CAGxC,OADA,EAAE,OAAO,SAAS,GAAG,SAAS,EAAE,CACzB,EAAE,OAAO,SAAS,GAE3B,GAAI,EAAK,GAAK,GAAM,EAClB,MAAU,MAAM,EAAO,EAA2B,EAAI,EAAE,CAAC,CAE3D,OAAO,EAAE,OAAO,SAAS,GAE3B,SAAS,GAAS,EAAY,EAAG,CAC/B,IAAM,EAAO,IAAI,EAAW,EAAE,WAAW,EAAE,CAAE,EAAE,CAE/C,OADA,GAAW,EAAW,OAAO,KAAM,EAAK,CACjC,EAET,SAAS,GAAe,EAAM,CAC5B,OAAO,IAAI,EAAQ,IAAI,GAAQ,EAAK,CAAC,WAAW,EAAE,CAAE,EAAE,CAExD,SAAS,GAAQ,EAAK,EAAG,CACvB,EAAS,EAAK,IAAI,EAAQ,EAAE,WAAW,EAAE,CAAE,EAAE,CAAC,CAEhD,SAAS,GAAc,EAAG,CACxB,IAAM,EAAc,GAAe,EAAE,CACjC,EAAE,OAAO,SAAS,SAAW,GAC/B,GAAW,EAAG,EAAE,CAElB,GAAM,CAAE,YAAa,EAAE,OACjB,EAAc,EAAY,WAAa,EAAS,QAAQ,EAAG,IAAM,EAAIA,EAAU,EAAE,WAAW,CAAE,EAAE,CAChG,EAAM,IAAI,WAAW,IAAI,YAAY,EAAY,CAAC,CACpD,EAAI,EAAY,WACpB,EAAI,IAAI,IAAI,WAAW,EAAY,CAAC,CACpC,IAAK,IAAM,KAAK,EAAU,CACxB,IAAM,EAAgBA,EAAU,EAAE,WAAW,CAC7C,EAAI,IAAI,IAAI,WAAW,EAAE,OAAQ,EAAG,EAAc,CAAE,EAAE,CACtD,GAAK,EAEP,OAAO,EAAI,OAEb,SAAS,GAAoB,EAAG,CAC9B,IAAM,EAAc,GAAK,GAAe,EAAE,CAAC,CACvC,EAAE,OAAO,SAAS,SAAW,GAC/B,EAAE,WAAW,EAAE,CAEjB,IAAM,EAAW,EAAE,OAAO,SAAS,IAChC,GAAM,GAAK,EAAE,OAAQ,EAAGA,EAAU,EAAE,WAAW,CAAC,CAClD,CACK,EAAc,EAAY,WAAa,EAAS,QAAQ,EAAG,IAAM,EAAI,EAAE,WAAY,EAAE,CACrF,EAAM,IAAI,WAAW,IAAI,YAAY,EAAY,CAAC,CACpD,EAAI,EAAY,WACpB,EAAI,IAAI,IAAI,WAAW,EAAY,CAAC,CACpC,IAAK,IAAM,KAAK,EACd,EAAI,IAAI,IAAI,WAAW,EAAE,CAAE,EAAE,CAC7B,GAAK,EAAE,WAET,OAAO,EAAI,OAEb,SAAS,GAAe,EAAG,CACzB,GAAM,CAAE,UAAW,EAAE,OAAO,SAC5B,GAAI,IAAW,EACb,OAAO,IAAI,aAAa,EAAE,CAAC,OAE7B,IAAM,EAAc,EAAI,EAAS,GAAK,EAAI,EAAS,GAAK,EAClD,EAAM,IAAI,SAAS,IAAI,YAAY,EAAY,CAAC,CACtD,EAAI,UAAU,EAAG,EAAS,EAAG,GAAK,CAClC,IAAK,GAAM,CAAC,EAAG,KAAM,EAAE,OAAO,SAAS,SAAS,CAC9C,EAAI,UAAU,EAAI,EAAI,EAAG,EAAE,WAAa,EAAG,GAAK,CAElD,OAAO,EAAI,OAEb,SAAS,GAAK,EAAG,CACf,OAAO,IAAI,GAAQ,EAAM,KAAK,EAAE,OAAO,MAAM,CAAC"}