@seatlayer/core 0.67.12 → 0.67.13

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 (78) hide show
  1. package/dist/{categoryInventory-DEgsjxCC.d.cts → categoryInventory-BI3jJaqD.d.cts} +1 -1
  2. package/dist/{categoryInventory-C3RogGHF.d.ts → categoryInventory-CDGQe2Ag.d.ts} +1 -1
  3. package/dist/chunk-3TAVIEVO.js +1 -0
  4. package/dist/chunk-52MZJZMW.js +1 -0
  5. package/dist/chunk-5BGP7S3Q.js +1 -0
  6. package/dist/chunk-BTW7IGNT.js +1 -0
  7. package/dist/{chunk-F4GG7KDS.js → chunk-BV6FHURE.js} +1 -1
  8. package/dist/chunk-CRCGO52K.js +1 -0
  9. package/dist/{chunk-5S3OQBZJ.js → chunk-HZT2U5IY.js} +1 -1
  10. package/dist/chunk-I6DNJFRF.js +1 -0
  11. package/dist/{chunk-V7PECHME.js → chunk-QYZ3P5L6.js} +1 -1
  12. package/dist/{chunk-L35GJOTC.js → chunk-RMNTGICO.js} +1 -1
  13. package/dist/chunk-Y2J55NLS.js +1 -0
  14. package/dist/core/chart-ops/index.cjs +1 -1
  15. package/dist/core/chart-ops/index.d.cts +71 -7
  16. package/dist/core/chart-ops/index.d.ts +71 -7
  17. package/dist/core/chart-ops/index.js +1 -1
  18. package/dist/core/inventory/index.cjs +1 -1
  19. package/dist/core/inventory/index.d.cts +4 -4
  20. package/dist/core/inventory/index.d.ts +4 -4
  21. package/dist/core/inventory/index.js +1 -1
  22. package/dist/core/layout/index.cjs +1 -1
  23. package/dist/core/layout/index.d.cts +4 -4
  24. package/dist/core/layout/index.d.ts +4 -4
  25. package/dist/core/layout/index.js +1 -1
  26. package/dist/core/quality/index.d.cts +3 -3
  27. package/dist/core/quality/index.d.ts +3 -3
  28. package/dist/core/render-assets/index.d.cts +1 -1
  29. package/dist/core/render-assets/index.d.ts +1 -1
  30. package/dist/core/seatConfidence.cjs +1 -1
  31. package/dist/core/seatConfidence.d.cts +5 -3
  32. package/dist/core/seatConfidence.d.ts +5 -3
  33. package/dist/core/seatConfidence.js +1 -1
  34. package/dist/core/sections/index.cjs +1 -1
  35. package/dist/core/sections/index.d.cts +5 -5
  36. package/dist/core/sections/index.d.ts +5 -5
  37. package/dist/core/sections/index.js +1 -1
  38. package/dist/eventConfigurations-DImP8Cd6.d.ts +130 -0
  39. package/dist/eventConfigurations-YqyHnreh.d.cts +130 -0
  40. package/dist/index.cjs +1 -1
  41. package/dist/index.d.cts +32 -11
  42. package/dist/index.d.ts +32 -11
  43. package/dist/index.js +1 -1
  44. package/dist/{labeling-DTHo03rf.d.ts → labeling-Cb7ZwhoO.d.ts} +1 -1
  45. package/dist/{labeling-DRFC35VK.d.cts → labeling-lXzjJrgV.d.cts} +1 -1
  46. package/dist/{layout-BSb0-47G.d.ts → layout-ByBMw1t7.d.ts} +7 -3
  47. package/dist/{layout-wVlsj-_w.d.cts → layout-cZ3VfeJR.d.cts} +7 -3
  48. package/dist/{openPanorama-ALLZ6ADE.js → openPanorama-HGRYMWKC.js} +1 -1
  49. package/dist/{renderedQuality-8i9bYccr.d.cts → renderedQuality-6ta0nSPm.d.cts} +1 -1
  50. package/dist/{renderedQuality-CbHiqt1W.d.ts → renderedQuality-BJKHot_g.d.ts} +1 -1
  51. package/dist/{renderer-BxLV6zjl.d.ts → renderer-B9GavToM.d.ts} +3 -1
  52. package/dist/{renderer-DOVelTZw.d.cts → renderer-C9BLd1g2.d.cts} +3 -1
  53. package/dist/{sections-BrQV1WzI.d.ts → sections-BvZ1cQkD.d.ts} +1 -1
  54. package/dist/{sections-D2bxgVgg.d.cts → sections-ND5PRE4j.d.cts} +1 -1
  55. package/dist/{segmentedRowModel-BQYSdf7k.d.cts → segmentedRowModel-BB9MPufB.d.cts} +1 -1
  56. package/dist/{segmentedRowModel-Cl3X8SKt.d.ts → segmentedRowModel-CLKP-2ca.d.ts} +1 -1
  57. package/dist/{ticketRestrictions-D0GRRQ3i.d.cts → ticketRestrictions-CjV47RNG.d.cts} +2 -2
  58. package/dist/{ticketRestrictions-SteRFSGg.d.ts → ticketRestrictions-DUQ8wHjG.d.ts} +2 -2
  59. package/dist/{types-DmgX-iuD.d.cts → types-hv6QjPRV.d.cts} +32 -3
  60. package/dist/{types-DmgX-iuD.d.ts → types-hv6QjPRV.d.ts} +32 -3
  61. package/dist/view/panoramaDelivery.cjs +1 -1
  62. package/dist/view/panoramaDelivery.d.cts +5 -0
  63. package/dist/view/panoramaDelivery.d.ts +5 -0
  64. package/dist/view/panoramaDelivery.js +1 -1
  65. package/dist/view3d/crossfade/panorama.cjs +1 -1
  66. package/dist/view3d/crossfade/panorama.d.cts +7 -1
  67. package/dist/view3d/crossfade/panorama.d.ts +7 -1
  68. package/dist/view3d/crossfade/panorama.js +1 -1
  69. package/dist/view3d/index.cjs +30 -30
  70. package/dist/view3d/index.d.cts +27 -2
  71. package/dist/view3d/index.d.ts +27 -2
  72. package/dist/view3d/index.js +24 -24
  73. package/package.json +1 -1
  74. package/dist/chunk-EQM4FFN5.js +0 -1
  75. package/dist/chunk-IJI4WU57.js +0 -1
  76. package/dist/chunk-TTTRXXAA.js +0 -1
  77. package/dist/chunk-XHXBFFWR.js +0 -1
  78. package/dist/chunk-XPPT3OGQ.js +0 -1
@@ -1,7 +1,7 @@
1
- import { P as Point, C as ChartDoc, R as RowObject } from '../../types-DmgX-iuD.cjs';
2
- import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-DOVelTZw.cjs';
3
- export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-DEgsjxCC.cjs';
4
- export { C as CompanionSelectionIssue, M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, T as TicketOptionApplicabilityIssue, b as TicketSelection, c as TicketSelectionIssue, d as TicketTierResolution, e as applicableTicketTiers, f as companionSelectionIssue, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, r as resolveTicketTierForSeat, t as ticketOptionNotApplicableIssue, m as ticketSelectionIssue, n as ticketTierAppliesToSeat, v as validGAInventorySegments } from '../../ticketRestrictions-D0GRRQ3i.cjs';
1
+ import { P as Point, C as ChartDoc, R as RowObject } from '../../types-hv6QjPRV.cjs';
2
+ import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-C9BLd1g2.cjs';
3
+ export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-BI3jJaqD.cjs';
4
+ export { C as CompanionSelectionIssue, M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, T as TicketOptionApplicabilityIssue, b as TicketSelection, c as TicketSelectionIssue, d as TicketTierResolution, e as applicableTicketTiers, f as companionSelectionIssue, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, r as resolveTicketTierForSeat, t as ticketOptionNotApplicableIssue, m as ticketSelectionIssue, n as ticketTierAppliesToSeat, v as validGAInventorySegments } from '../../ticketRestrictions-CjV47RNG.cjs';
5
5
 
6
6
  /**
7
7
  * Best-available seat selection — a PURE, fully unit-testable ranking function.
@@ -1,7 +1,7 @@
1
- import { P as Point, C as ChartDoc, R as RowObject } from '../../types-DmgX-iuD.js';
2
- import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-BxLV6zjl.js';
3
- export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-C3RogGHF.js';
4
- export { C as CompanionSelectionIssue, M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, T as TicketOptionApplicabilityIssue, b as TicketSelection, c as TicketSelectionIssue, d as TicketTierResolution, e as applicableTicketTiers, f as companionSelectionIssue, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, r as resolveTicketTierForSeat, t as ticketOptionNotApplicableIssue, m as ticketSelectionIssue, n as ticketTierAppliesToSeat, v as validGAInventorySegments } from '../../ticketRestrictions-SteRFSGg.js';
1
+ import { P as Point, C as ChartDoc, R as RowObject } from '../../types-hv6QjPRV.js';
2
+ import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-B9GavToM.js';
3
+ export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-CDGQe2Ag.js';
4
+ export { C as CompanionSelectionIssue, M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, T as TicketOptionApplicabilityIssue, b as TicketSelection, c as TicketSelectionIssue, d as TicketTierResolution, e as applicableTicketTiers, f as companionSelectionIssue, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, r as resolveTicketTierForSeat, t as ticketOptionNotApplicableIssue, m as ticketSelectionIssue, n as ticketTierAppliesToSeat, v as validGAInventorySegments } from '../../ticketRestrictions-DUQ8wHjG.js';
5
5
 
6
6
  /**
7
7
  * Best-available seat selection — a PURE, fully unit-testable ranking function.
@@ -1 +1 @@
1
- import{a as H,b as V,c as Z,d as tt,e as et,f as ot,g as rt,h as nt,i as at,j as it,k as st}from"../../chunk-L35GJOTC.js";import{a as ct,b as lt,c as ut,d as pt,e as ft,h as P}from"../../chunk-TTTRXXAA.js";import"../../chunk-GXMGOWKB.js";import"../../chunk-DNGP2HDT.js";import{a as L,b as z,c as F,d as J,e as Q,f as U,g as Y,h as $,i as q}from"../../chunk-5S3OQBZJ.js";import"../../chunk-VI3IZS2B.js";import{l as C,ma as v,oa as g,pa as R,ra as S,sa as _,w,xa as O}from"../../chunk-XHXBFFWR.js";import"../../chunk-CXF32VPG.js";function b(t){return t.floors?.length?t.floors.flatMap(e=>e.objects):t.objects}function I(t){return b(t).reduce((e,r)=>r.type==="row"?e+v(r):r.type==="table"?e+S(r):r.type==="gaArea"?e+Math.max(0,Math.floor(r.capacity)):r.type==="booth"?e+1:e,0)}function bt(t){let e={};for(let o of t.categories??[])e[o.key]=0;let r=(o,a)=>{a>0&&(e[o]=(e[o]??0)+a)};for(let o of b(t))if(o.type==="row")for(let a of g(o))r(a.categoryKey,1);else if(o.type==="table")if(o.bookAsWhole||o.variableOccupancy)r(o.categoryKey,Math.max(0,Math.round(o.seatCount)));else for(let a of _(o))r(a.categoryKey,1);else o.type==="gaArea"?r(o.categoryKey,Math.max(0,Math.floor(o.capacity))):o.type==="booth"&&r(o.categoryKey,1);return e}function G(t){if(!t.template)return null;let e=b(t),r=e.filter(l=>l.type==="row"||l.type==="table"||l.type==="gaArea");if(!r.length)return null;let a=e.filter(l=>l.type==="booth").length+r.reduce((l,f)=>l+(f.type==="table"?2:1),0),s=I(t),c=Math.max(a+1,Math.min(5e4,s*4)),u=[.5,1,1.5,2].map(l=>w(Math.round(s*l),a,c));return{family:t.template.family,display:t.template.family.replace(/-/g," ").replace(/\b\w/g,l=>l.toUpperCase()),min:a,max:c,presets:["S","M","L","XL"].map((l,f)=>({size:l,seats:u[f]}))}}function A(t){let e=g(t);return e.length?C(e):{...t.origin}}function dt(t,e){let r=G(t);if(!r)return structuredClone(t);let o=structuredClone(t),a=b(o),s=a.filter(n=>n.type==="row"||n.type==="table"||n.type==="gaArea"),c=a.filter(n=>n.type==="booth").length,u=Math.max(r.min,Math.min(r.max,Math.round(e))),l=u-c,f=s.map((n,i)=>{let m=n.type==="gaArea"?Math.max(0,Math.floor(n.capacity)):n.seatCount,x=n.type==="table"?2:1;return{object:n,index:i,current:m,minimum:x,value:x,fraction:0}}),E=f.reduce((n,i)=>n+i.minimum,0),d=Math.max(0,l-E),T=f.reduce((n,i)=>n+Math.max(1,i.current-i.minimum),0);for(let n of f){let i=d*Math.max(1,n.current-n.minimum)/T,m=Math.floor(i);n.value+=m,n.fraction=i-m}d=l-f.reduce((n,i)=>n+i.value,0),f.sort((n,i)=>i.fraction-n.fraction||n.index-i.index);for(let n=0;n<d;n++)f[n%f.length].value++;f.sort((n,i)=>n.index-i.index);for(let n of f)if(n.object.type==="row"){let i=A(n.object);n.object.seatCount=n.value;let m=A(n.object);n.object.origin.x+=i.x-m.x,n.object.origin.y+=i.y-m.y}else if(n.object.type==="table"){let i=n.object;if(i.seatCountsBySide){let m=["top","bottom","left","right"],x=R(i),N=m.reduce((p,y)=>p+x[y],0)||1,h=m.map((p,y)=>{let M=n.value*x[p]/N;return{side:p,index:y,value:Math.floor(M),fraction:M-Math.floor(M)}}),k=n.value-h.reduce((p,y)=>p+y.value,0);h.sort((p,y)=>y.fraction-p.fraction||p.index-y.index);for(let p=0;p<k;p++)h[p%h.length].value+=1;h.sort((p,y)=>p.index-y.index),i.seatCountsBySide={top:h[0].value,bottom:h[1].value,left:h[2].value,right:h[3].value},i.sides=m.filter(p=>i.seatCountsBySide[p]>0)}i.seatCount=n.value,i.overrides&&(i.overrides=i.overrides.filter(m=>m.index<n.value),i.overrides.length||delete i.overrides)}else n.object.capacity=n.value;return o.floors?.length&&(o.objects=o.floors[0].objects),o.template={family:o.template.family,targetSeats:u},o=P(o).doc,o.template={family:t.template.family,targetSeats:I(o)},o}var W=1,B=100;function X(t,e){if(!Number.isInteger(e)||e<W||e>B)return null;let r=t.rotation*Math.PI/180,o={x:Math.cos(r),y:Math.sin(r)},a={x:-o.y,y:o.x};return Array.from({length:e},(s,c)=>{let u=t.style==="intertwined"&&c%2===1?t.seatSpacing/2:0;return{type:"row",id:`__block_preview_${c}`,label:"",origin:{x:t.origin.x+a.x*c*t.rowGap+o.x*u,y:t.origin.y+a.y*c*t.rowGap+o.y*u},rotation:t.rotation,curve:t.curve,seatCount:t.seatsPerRow,seatSpacing:t.seatSpacing,categoryKey:"__preview__"}})}function j(t,e=t.rowCount){let r=X(t,e);return r?.length?O(r[r.length-1]):null}function Ct(t,e){if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||t.rowGap<=0)return null;let r=j(t,1);if(!r)return null;let o=t.rotation*Math.PI/180,a={x:-Math.sin(o),y:Math.cos(o)},s=(e.x-r.x)*a.x+(e.y-r.y)*a.y,c=Math.max(W,Math.min(B,Math.round(s/t.rowGap)+1)),u=j(t,c);return u?{rowCount:c,edgePoint:u}:null}function wt(t,e){return t.length!==e.rowCount?!1:[...t].sort((o,a)=>(o.rowBlockGeneration?.rowIndex??1/0)-(a.rowBlockGeneration?.rowIndex??1/0)).every((o,a)=>{let s=o.rowBlockGeneration;return s?.kind==="row-block-v1"&&s.groupId===e.groupId&&s.rowIndex===a&&s.signature===e.signature&&JSON.stringify(s)===JSON.stringify({...e,rowIndex:a})})}var Rt=1,St=300,_t=330;function D(t,e){if(t.path||!Number.isInteger(e)||e<1||e>300)return null;let r=t.seatCount>1?t.curve/(t.seatCount-1):0;return{...t,seatCount:e,curve:r*(e-1)}}function K(t,e=t.seatCount){let r=D(t,e);if(!r)return null;if(e===1)return{...r.origin};let o=r.rotation*Math.PI/180,a=r.curve/(e-1)*Math.PI/180,s,c;if(Math.abs(a)<1e-9)s=(e-1)*r.seatSpacing,c=0;else{let u=r.seatSpacing/(2*Math.sin(Math.abs(a)/2)),l=a*(e-1);s=u*Math.sin(l),c=-u+u*Math.cos(l)}return{x:r.origin.x+s*Math.cos(o)-c*Math.sin(o),y:r.origin.y+s*Math.sin(o)+c*Math.cos(o)}}function Ot(t,e){if(t.path||!Number.isFinite(e.x)||!Number.isFinite(e.y))return null;let r=t.seatCount>1?t.curve/(t.seatCount-1):0,o=Math.abs(r)<1e-9?300:Math.min(300,Math.floor(330/Math.abs(r))+1),a=null;for(let s=1;s<=Math.max(1,o);s+=1){let c=K(t,s);if(!c)continue;let u=Math.hypot(c.x-e.x,c.y-e.y),l=r*(s-1);(!a||u<a.distance||u===a.distance&&s<a.seatCount)&&(a={seatCount:s,curve:l,endpoint:c,distance:u})}return a}export{ct as CATEGORY_INVENTORY_FAMILIES,it as GroupedTableProjectionError,_t as MAX_DIRECT_ROW_SWEEP,z as MAX_EVENT_INVENTORY,L as MAX_GA_CAPACITY,B as MAX_ROW_BLOCK_ROWS,St as MAX_ROW_SEATS,W as MIN_ROW_BLOCK_ROWS,Rt as MIN_ROW_SEATS,ot as applicableTicketTiers,G as capacityControl,bt as categoryCapacity,I as chartCapacity,nt as companionSelectionIssue,pt as describeCategoryInventoryConflict,lt as effectiveSeatOwnerCategoryCounts,$ as gaAreasOf,Q as gaInventorySegments,F as gaUnitLabel,U as gaUnitLabels,st as groupedTableInventory,Y as growJoinedGAInventory,ut as inspectCategoryInventoryConflicts,wt as intactRowBlockMembers,q as isGaUnitLabel,V as pickBestAvailable,Z as pickBestAvailableInventory,ft as remediateCategoryInventoryConflicts,dt as resizeChartCapacity,Ct as resolveRowBlockCount,Ot as resolveRowTerminalCapacity,rt as resolveTicketTierForSeat,j as rowBlockEdgePoint,X as rowBlockPreviewRows,K as rowTerminalEndpoint,D as rowWithTerminalCapacity,H as strandedSingles,tt as ticketOptionNotApplicableIssue,at as ticketSelectionIssue,et as ticketTierAppliesToSeat,J as validGAInventorySegments};
1
+ import{a as H,b as V,c as Z,d as tt,e as et,f as ot,g as rt,h as nt,i as at,j as it,k as st}from"../../chunk-RMNTGICO.js";import{d as ct,e as lt,f as ut,g as pt,h as ft,k as P}from"../../chunk-BTW7IGNT.js";import"../../chunk-GXMGOWKB.js";import"../../chunk-DNGP2HDT.js";import{a as L,b as z,c as F,d as J,e as Q,f as U,g as Y,h as $,i as q}from"../../chunk-HZT2U5IY.js";import"../../chunk-VI3IZS2B.js";import{l as C,ma as v,oa as g,pa as R,ra as S,sa as _,w,xa as O}from"../../chunk-I6DNJFRF.js";import"../../chunk-CXF32VPG.js";import"../../chunk-CRCGO52K.js";function b(t){return t.floors?.length?t.floors.flatMap(e=>e.objects):t.objects}function I(t){return b(t).reduce((e,r)=>r.type==="row"?e+v(r):r.type==="table"?e+S(r):r.type==="gaArea"?e+Math.max(0,Math.floor(r.capacity)):r.type==="booth"?e+1:e,0)}function bt(t){let e={};for(let o of t.categories??[])e[o.key]=0;let r=(o,a)=>{a>0&&(e[o]=(e[o]??0)+a)};for(let o of b(t))if(o.type==="row")for(let a of g(o))r(a.categoryKey,1);else if(o.type==="table")if(o.bookAsWhole||o.variableOccupancy)r(o.categoryKey,Math.max(0,Math.round(o.seatCount)));else for(let a of _(o))r(a.categoryKey,1);else o.type==="gaArea"?r(o.categoryKey,Math.max(0,Math.floor(o.capacity))):o.type==="booth"&&r(o.categoryKey,1);return e}function G(t){if(!t.template)return null;let e=b(t),r=e.filter(l=>l.type==="row"||l.type==="table"||l.type==="gaArea");if(!r.length)return null;let a=e.filter(l=>l.type==="booth").length+r.reduce((l,f)=>l+(f.type==="table"?2:1),0),s=I(t),c=Math.max(a+1,Math.min(5e4,s*4)),u=[.5,1,1.5,2].map(l=>w(Math.round(s*l),a,c));return{family:t.template.family,display:t.template.family.replace(/-/g," ").replace(/\b\w/g,l=>l.toUpperCase()),min:a,max:c,presets:["S","M","L","XL"].map((l,f)=>({size:l,seats:u[f]}))}}function A(t){let e=g(t);return e.length?C(e):{...t.origin}}function dt(t,e){let r=G(t);if(!r)return structuredClone(t);let o=structuredClone(t),a=b(o),s=a.filter(n=>n.type==="row"||n.type==="table"||n.type==="gaArea"),c=a.filter(n=>n.type==="booth").length,u=Math.max(r.min,Math.min(r.max,Math.round(e))),l=u-c,f=s.map((n,i)=>{let m=n.type==="gaArea"?Math.max(0,Math.floor(n.capacity)):n.seatCount,x=n.type==="table"?2:1;return{object:n,index:i,current:m,minimum:x,value:x,fraction:0}}),E=f.reduce((n,i)=>n+i.minimum,0),d=Math.max(0,l-E),T=f.reduce((n,i)=>n+Math.max(1,i.current-i.minimum),0);for(let n of f){let i=d*Math.max(1,n.current-n.minimum)/T,m=Math.floor(i);n.value+=m,n.fraction=i-m}d=l-f.reduce((n,i)=>n+i.value,0),f.sort((n,i)=>i.fraction-n.fraction||n.index-i.index);for(let n=0;n<d;n++)f[n%f.length].value++;f.sort((n,i)=>n.index-i.index);for(let n of f)if(n.object.type==="row"){let i=A(n.object);n.object.seatCount=n.value;let m=A(n.object);n.object.origin.x+=i.x-m.x,n.object.origin.y+=i.y-m.y}else if(n.object.type==="table"){let i=n.object;if(i.seatCountsBySide){let m=["top","bottom","left","right"],x=R(i),N=m.reduce((p,y)=>p+x[y],0)||1,h=m.map((p,y)=>{let M=n.value*x[p]/N;return{side:p,index:y,value:Math.floor(M),fraction:M-Math.floor(M)}}),k=n.value-h.reduce((p,y)=>p+y.value,0);h.sort((p,y)=>y.fraction-p.fraction||p.index-y.index);for(let p=0;p<k;p++)h[p%h.length].value+=1;h.sort((p,y)=>p.index-y.index),i.seatCountsBySide={top:h[0].value,bottom:h[1].value,left:h[2].value,right:h[3].value},i.sides=m.filter(p=>i.seatCountsBySide[p]>0)}i.seatCount=n.value,i.overrides&&(i.overrides=i.overrides.filter(m=>m.index<n.value),i.overrides.length||delete i.overrides)}else n.object.capacity=n.value;return o.floors?.length&&(o.objects=o.floors[0].objects),o.template={family:o.template.family,targetSeats:u},o=P(o).doc,o.template={family:t.template.family,targetSeats:I(o)},o}var W=1,B=100;function X(t,e){if(!Number.isInteger(e)||e<W||e>B)return null;let r=t.rotation*Math.PI/180,o={x:Math.cos(r),y:Math.sin(r)},a={x:-o.y,y:o.x};return Array.from({length:e},(s,c)=>{let u=t.style==="intertwined"&&c%2===1?t.seatSpacing/2:0;return{type:"row",id:`__block_preview_${c}`,label:"",origin:{x:t.origin.x+a.x*c*t.rowGap+o.x*u,y:t.origin.y+a.y*c*t.rowGap+o.y*u},rotation:t.rotation,curve:t.curve,seatCount:t.seatsPerRow,seatSpacing:t.seatSpacing,categoryKey:"__preview__"}})}function j(t,e=t.rowCount){let r=X(t,e);return r?.length?O(r[r.length-1]):null}function Ct(t,e){if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||t.rowGap<=0)return null;let r=j(t,1);if(!r)return null;let o=t.rotation*Math.PI/180,a={x:-Math.sin(o),y:Math.cos(o)},s=(e.x-r.x)*a.x+(e.y-r.y)*a.y,c=Math.max(W,Math.min(B,Math.round(s/t.rowGap)+1)),u=j(t,c);return u?{rowCount:c,edgePoint:u}:null}function wt(t,e){return t.length!==e.rowCount?!1:[...t].sort((o,a)=>(o.rowBlockGeneration?.rowIndex??1/0)-(a.rowBlockGeneration?.rowIndex??1/0)).every((o,a)=>{let s=o.rowBlockGeneration;return s?.kind==="row-block-v1"&&s.groupId===e.groupId&&s.rowIndex===a&&s.signature===e.signature&&JSON.stringify(s)===JSON.stringify({...e,rowIndex:a})})}var Rt=1,St=300,_t=330;function D(t,e){if(t.path||!Number.isInteger(e)||e<1||e>300)return null;let r=t.seatCount>1?t.curve/(t.seatCount-1):0;return{...t,seatCount:e,curve:r*(e-1)}}function K(t,e=t.seatCount){let r=D(t,e);if(!r)return null;if(e===1)return{...r.origin};let o=r.rotation*Math.PI/180,a=r.curve/(e-1)*Math.PI/180,s,c;if(Math.abs(a)<1e-9)s=(e-1)*r.seatSpacing,c=0;else{let u=r.seatSpacing/(2*Math.sin(Math.abs(a)/2)),l=a*(e-1);s=u*Math.sin(l),c=-u+u*Math.cos(l)}return{x:r.origin.x+s*Math.cos(o)-c*Math.sin(o),y:r.origin.y+s*Math.sin(o)+c*Math.cos(o)}}function Ot(t,e){if(t.path||!Number.isFinite(e.x)||!Number.isFinite(e.y))return null;let r=t.seatCount>1?t.curve/(t.seatCount-1):0,o=Math.abs(r)<1e-9?300:Math.min(300,Math.floor(330/Math.abs(r))+1),a=null;for(let s=1;s<=Math.max(1,o);s+=1){let c=K(t,s);if(!c)continue;let u=Math.hypot(c.x-e.x,c.y-e.y),l=r*(s-1);(!a||u<a.distance||u===a.distance&&s<a.seatCount)&&(a={seatCount:s,curve:l,endpoint:c,distance:u})}return a}export{ct as CATEGORY_INVENTORY_FAMILIES,it as GroupedTableProjectionError,_t as MAX_DIRECT_ROW_SWEEP,z as MAX_EVENT_INVENTORY,L as MAX_GA_CAPACITY,B as MAX_ROW_BLOCK_ROWS,St as MAX_ROW_SEATS,W as MIN_ROW_BLOCK_ROWS,Rt as MIN_ROW_SEATS,ot as applicableTicketTiers,G as capacityControl,bt as categoryCapacity,I as chartCapacity,nt as companionSelectionIssue,pt as describeCategoryInventoryConflict,lt as effectiveSeatOwnerCategoryCounts,$ as gaAreasOf,Q as gaInventorySegments,F as gaUnitLabel,U as gaUnitLabels,st as groupedTableInventory,Y as growJoinedGAInventory,ut as inspectCategoryInventoryConflicts,wt as intactRowBlockMembers,q as isGaUnitLabel,V as pickBestAvailable,Z as pickBestAvailableInventory,ft as remediateCategoryInventoryConflicts,dt as resizeChartCapacity,Ct as resolveRowBlockCount,Ot as resolveRowTerminalCapacity,rt as resolveTicketTierForSeat,j as rowBlockEdgePoint,X as rowBlockPreviewRows,K as rowTerminalEndpoint,D as rowWithTerminalCapacity,H as strandedSingles,tt as ticketOptionNotApplicableIssue,at as ticketSelectionIssue,et as ticketTierAppliesToSeat,J as validGAInventorySegments};
@@ -1 +1 @@
1
- "use strict";var J=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var qe=Object.prototype.hasOwnProperty;var Qe=(e,t)=>{for(var n in t)J(e,n,{get:t[n],enumerable:!0})},Ze=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ve(t))!qe.call(e,r)&&r!==n&&J(e,r,{get:()=>t[r],enumerable:!(o=We(t,r))||o.enumerable});return e};var Je=e=>Ze(J({},"__esModule",{value:!0}),e);var on={};Qe(on,{DEFAULT_SEAT_RADIUS:()=>Ye,TABLE_SEAT_OFFSET:()=>N,TEXT_BACKGROUND_PADDING_MAX:()=>xn,TEXT_BACKGROUND_RADIUS_MAX:()=>bn,TEXT_LETTER_SPACING_MAX:()=>yn,TEXT_LETTER_SPACING_MIN:()=>mn,TEXT_LINE_HEIGHT_MAX:()=>dn,TEXT_LINE_HEIGHT_MIN:()=>hn,TEXT_OPACITY_MIN:()=>pn,TEXT_WIDTH_MAX:()=>fn,TEXT_WIDTH_MIN:()=>un,allObjects:()=>ze,applyAffine:()=>zt,buildAisleHoles:()=>nt,buildSeatIndex:()=>Zt,buildSectionShell:()=>tt,chartBounds:()=>q,composeAffine:()=>Yt,createPerspectiveCamera:()=>Gt,cubicPoint:()=>G,decomposeAffineLinear:()=>Wt,distanceToRings:()=>ve,distributeAlongCubic:()=>ee,expandBooth:()=>Xe,expandChart:()=>Bt,expandRow:()=>pe,expandRowSlots:()=>Fe,expandTable:()=>Ue,expandTableSlots:()=>xe,floorObjects:()=>Nt,floorOverviewTranslations:()=>Ke,floorsOf:()=>Ge,floorsShareFootprint:()=>Ut,gridStats:()=>nn,hitTest:()=>Jt,invertAffine:()=>Kt,layoutFloorOverview:()=>Ht,layoutFloorRings:()=>Xt,nearestWithin:()=>en,objectCenter:()=>X,owningSectionForObject:()=>Be,perspectiveTangentAffine:()=>$t,pointInPolygon:()=>me,pointInPolygonWithHoles:()=>U,polygonArea:()=>oe,polygonInscribedAnchor:()=>re,polygonLabelPoint:()=>jt,polygonNetArea:()=>st,projectPerspectivePoint:()=>Q,queryRect:()=>tn,resolveSegmentedRowGroups:()=>ie,rowInventoryCount:()=>_t,rowSeatPositions:()=>ye,segmentedRowComponentSeats:()=>lt,segmentedRowComponents:()=>at,segmentedRowSeatTotal:()=>ut,smoothCubicThroughMiddle:()=>et,stackFloors:()=>Ft,tableInventoryCount:()=>kt,tableSeatCountsBySide:()=>He,textLayoutMetrics:()=>te,translateObject:()=>V});module.exports=Je(on);var sn=Math.PI/180;function D(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function j(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function G(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function et(e,t,n){let o={x:(e.x+t.x)/2,y:(e.y+t.y)/2},r={x:(n.x-o.x)*4/3,y:(n.y-o.y)*4/3};return{start:{...e},control1:{x:e.x+(t.x-e.x)/3+r.x,y:e.y+(t.y-e.y)/3+r.y},control2:{x:e.x+(t.x-e.x)*2/3+r.x,y:e.y+(t.y-e.y)*2/3+r.y},end:{...t}}}function ee(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[G(e,.5)];let o=Array.from({length:n+1},(l,y)=>G(e,y/n)),r=new Float64Array(o.length);for(let l=1;l<o.length;l+=1){let y=o[l].x-o[l-1].x,a=o[l].y-o[l-1].y;r[l]=r[l-1]+Math.hypot(y,a)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],c=1;for(let l=0;l<t;l+=1){let y=i*l/(t-1);for(;c<r.length-1&&r[c]<y;)c+=1;let a=r[c-1],u=r[c],f=u===a?0:(y-a)/(u-a);s.push({x:o[c-1].x+(o[c].x-o[c-1].x)*f,y:o[c-1].y+(o[c].y-o[c-1].y)*f})}return s}function _(e,t){return{x:e.x+t.x,y:e.y+t.y}}function H(e,t){return{x:e.x-t.x,y:e.y-t.y}}function k(e,t){return{x:e.x*t,y:e.y*t}}function z(e,t=13){return Array.from({length:t},(n,o)=>G(e,o/(t-1)))}function be(e,t){let n=Math.max(0,Math.min(1,t))*(e.length-1),o=Math.min(e.length-2,Math.floor(n));return j(e[o],e[o+1],n-o)}function ge(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[be(e,o)];for(let s=1;s<e.length-1;s+=1){let c=s/(e.length-1);c>o+1e-9&&c<r-1e-9&&i.push(e[s])}return i.push(be(e,r)),i}function Me(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([f,p],x)=>{let m=D(j(e[f],e[p],.5),t);m<r&&(r=m,o=x)});let i=e[o],s=e[(o+1)%4],c=e[(o+2)%4],l=e[(o+3)%4],y=j(i,s,.5),a=H(t,y),u=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:s,p2:c,p3:l,normal:k(a,1/u),depth:(D(i,l)+D(s,c))/2}}function we(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,c=H(n,t),l=H(o,r),y=s*.22,a=s*.12;return{nearPath:{start:t,control1:_(_(t,k(c,1/3)),k(i,y)),control2:_(_(t,k(c,2/3)),k(i,y)),end:n},farPath:{start:o,control1:_(_(r,k(l,2/3)),k(i,a)),control2:_(_(r,k(l,1/3)),k(i,a)),end:r}}}function tt(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((x,m)=>_(x,m),{x:0,y:0});o.x/=4,o.y/=4;let r=D(e[0],e[1]),i=D(e[0],e[3]),s=n==="auto"?r>i*1.25&&D(o,t)>i?"bezier":"tapered":n;if(s==="rectangle")return{mode:s,outline:e.map(x=>({...x}))};let c=Me(e,t),{p0:l,p1:y,p2:a,p3:u}=c;if(s==="tapered")return{mode:s,outline:[_(l,k(H(y,l),.14)),_(l,k(H(y,l),1-.14)),a,u]};let{nearPath:f,farPath:p}=we(c);return{mode:s,outline:[...z(f),...z(p).slice(1)]}}function nt(e,t,n,o){if(e.length!==4)throw new Error("Aisle generation requires four mapped bounds corners");if(!Number.isInteger(n)||n<0||n>3)throw new Error("Aisle count must be an integer from 0 to 3");if(n===0)return[];let r=Me(e,t),{p0:i,p1:s,p2:c,p3:l}=r,y=o==="bezier"?we(r):null,a=y?z(y.nearPath):null,u=y?z(y.farPath).reverse():null,f=Math.min(.055,.18/(n+1));return Array.from({length:n},(p,x)=>{let m=(x+1)/(n+1),h=m-f/2,d=m+f/2;return a&&u?[...ge(a,h,d),...ge(u,h,d).reverse()]:[j(i,s,h),j(i,s,d),j(l,c,d),j(l,c,h)]})}var un=40,fn=1200,hn=.8,dn=3,mn=-2,yn=20,pn=.1,xn=40,bn=40,Se=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function ot(e,t){let n=e.text.split(/\r?\n/);if(!e.width)return Math.max(1,n.length);let o=Math.max(1,Math.floor(t/Se(e))),r=0;for(let i of n){if(!i.length){r+=1;continue}let s=0;for(let c of i.split(/\s+/)){let l=c.length;s&&s+1+l<=o?s+=1+l:(r+=Math.max(1,Math.ceil(l/o)),s=l%o)}}return Math.max(1,r)}function te(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(c=>c.length))*Se(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=ot(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function rt(e,t,n){let o=n.x-t.x,r=n.y-t.y,i=o*o+r*r,s=i?Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*r)/i)):0;return Math.hypot(e.x-(t.x+s*o),e.y-(t.y+s*r))}function ve(e,t){let n=1/0;for(let o of t)if(!(o.length<2))for(let r=0,i=o.length-1;r<o.length;i=r++){let s=rt(e,o[i],o[r]);s<n&&(n=s)}return n}function Pe(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,c=t[r].x,l=t[r].y;s>e.y!=l>e.y&&e.x<(c-i)*(e.y-s)/(l-s)+i&&(n=!n)}return n}function it(e,t,n){let o=Pe(e,t)&&!n.some(i=>Pe(e,i)),r=ve(e,[t,...n]);return o?r:-r}function F(e,t,n,o,r){let i=it({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var ne=class{constructor(){this.items=[]}get size(){return this.items.length}push(t){let n=this.items;n.push(t);let o=n.length-1;for(;o>0;){let r=o-1>>1;if(n[r].max>=n[o].max)break;[n[r],n[o]]=[n[o],n[r]],o=r}}pop(){let t=this.items,n=t[0],o=t.pop();if(t.length&&o){t[0]=o;let r=0;for(;;){let i=r*2+1,s=i+1,c=r;if(i<t.length&&t[i].max>t[c].max&&(c=i),s<t.length&&t[s].max>t[c].max&&(c=s),c===r)break;[t[c],t[r]]=[t[r],t[c]],r=c}}return n}};function oe(e){if(e.length<3)return 0;let t=0;for(let n=0,o=e.length-1;n<e.length;o=n++)t+=(e[o].x+e[n].x)*(e[o].y-e[n].y);return Math.abs(t)/2}function st(e,t){return Math.max(0,oe(e)-(t??[]).reduce((n,o)=>n+oe(o),0))}function re(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let m=e.reduce((d,g)=>d+g.x,0)/e.length,h=e.reduce((d,g)=>d+g.y,0)/e.length;return{point:{x:m,y:h},radius:0}}let o=1/0,r=1/0,i=-1/0,s=-1/0;for(let m of e)m.x<o&&(o=m.x),m.y<r&&(r=m.y),m.x>i&&(i=m.x),m.y>s&&(s=m.y);let c=i-o,l=s-r,y=Math.min(c,l);if(!(y>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let a=Math.max(c,l)/150,u=new ne,f=y/2;for(let m=o;m<i;m+=y)for(let h=r;h<s;h+=y)u.push(F(m+f,h+f,f,e,n));let p=F(o+c/2,r+l/2,0,e,n),x=0;for(;u.size;){let m=u.pop();if(!m)break;m.d>p.d&&(p=m),!(m.max-p.d<=a)&&(x>=4e3||(x+=1,f=m.h/2,u.push(F(m.x-f,m.y-f,f,e,n)),u.push(F(m.x+f,m.y-f,f,e,n)),u.push(F(m.x-f,m.y+f,f,e,n)),u.push(F(m.x+f,m.y+f,f,e,n))))}return{point:{x:p.x,y:p.y},radius:Math.max(0,p.d)}}function L(e,t,n){return e<t?t:e>n?n:e}var Sn=Math.PI*2;function Ie(e,t,n){return ct(e,r=>({x:r.x+t,y:r.y+n}))}function ct(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var Pn=4/3;function at(e,t,n){let o=[];for(let r=0;r<e.length-1;r+=1){let i=e[r],s=e[r+1],c=Math.hypot(s.x-i.x,s.y-i.y);if(c<=0)continue;let l=Math.max(1,Math.round(c/n)),y=c/l,a=Math.atan2(s.y-i.y,s.x-i.x),u=r===0,p=(r>0?t[r-1]:void 0)==="break"?2:1,x=u?{...i}:{x:i.x+Math.cos(a)*y*p,y:i.y+Math.sin(a)*y*p},m=u?l+1:Math.max(1,l-(p-1));o.push({origin:x,rotation:a*180/Math.PI,seatCount:m,seatSpacing:y})}return o}function lt(e){let t=e.rotation*Math.PI/180,n={x:Math.cos(t),y:Math.sin(t)};return Array.from({length:e.seatCount},(o,r)=>({x:e.origin.x+n.x*r*e.seatSpacing,y:e.origin.y+n.y*r*e.seatSpacing}))}function ut(e){return e.reduce((t,n)=>t+n.seatCount,0)}function ie(e){let t=new Map,n=new Map;for(let o of e){if(o.type!=="row"||!o.segmentedRow)continue;let r=n.get(o.segmentedRow.groupId)??[];r.push(o),n.set(o.segmentedRow.groupId,r)}for(let[o,r]of n){let i=r.slice().sort((f,p)=>f.segmentedRow.componentIndex-p.segmentedRow.componentIndex),s=i[0]?.segmentedRow?.componentCount??0,c=i[0]?.segmentedRow;if(!c||!(s>=2&&i.length===s&&c?.boundaryBefore==="start"&&i.every((f,p)=>f.segmentedRow?.kind==="segmented-row-v1"&&f.segmentedRow.groupId===o&&f.segmentedRow.componentCount===s&&f.segmentedRow.componentIndex===p&&f.segmentedRow.repeatLabelOnComponents===c.repeatLabelOnComponents&&(p===0?f.segmentedRow.boundaryBefore==="start":f.segmentedRow.boundaryBefore!=="start")&&f.segmentedRow.displayLabel===c.displayLabel)))continue;let y=i.reduce((f,p)=>f+p.seatCount,0),a=0,u=0;for(let f of i)f.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(f.id,{groupId:o,adjacencyOffset:a,displayOffset:u,displayLabel:c.displayLabel,totalSeats:y,canonical:i[0],viewFromSeatUrl:c.viewFromSeatUrl,viewFromSeatMeta:c.viewFromSeatMeta,confidenceEvidence:c.confidenceEvidence}),a+=f.seatCount,u+=f.seatCount}return t}var ft="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var ht="abcdefghijklmnopqrstuvwxyz";function dt(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function se(e,t=!1){let n=t?ht:ft;return dt(Math.max(0,Math.floor(e)-1),n)}var mt=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function Ce(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of mt)for(;t>=o;)n+=r,t-=o;return n}function yt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function ce(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",c=e.seatNumbering?.endAt,l=e.seatCount;if(i==="updown"||i==="updown-descending"){let p=Math.ceil(l/2),x=i==="updown"?t<p?n+2*t:n-1+2*(l-t):t<p?n+2*(p-1-t):n+1+2*(t-p);return`${s}${x}`}let y=i==="odd"||i==="even"?2:r,a=c!=null&&Number.isFinite(c)?c-(l-1)*y:n,u=o==="center"?yt(l)[t]:o==="rtl"?l-1-t:t,f;switch(i){case"odd":{let p=a%2===1?a:a+1;f=String(p+u*2);break}case"even":{let p=a%2===0?a:a+1;f=String(p+u*2);break}case"roman":f=Ce(a+u*r);break;case"letters-upper":f=se(a+u*r,!1);break;case"letters-lower":f=se(a+u*r,!0);break;default:f=String(a+u*r);break}return`${s}${f}`}function pt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function Ee(e,t,n){return n?.label??`${e.label}-${ce(e,t)}`}function ae(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${ce(e,t)}`;let r=pt(n),i=n.displayOffset+t;return`${n.displayLabel}-${ce(r,i)}`}var K=.02291666666666667,Rn=1/K,xt=58,bt=xt*K;var gt=3,Oe=0,le=120,Mt=0,wt=45,St=7,Y=1.2;function ue(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function Pt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=St?e:gt}function Re(e,t={}){let n=ue(t.floorBaseHeightM,Oe,le,0),o=Math.min(le,n+Pt(e.elevation)*bt),r=e.height===void 0?o:ue(e.height,Oe,le,o),i=ue(e.rake,Mt,wt,0);return{height:r,rake:i}}function Te(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function Ae(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],c=s.x-i.x,l=s.y-i.y,y=c*c+l*l,a=y>1e-12?((t-i.x)*c+(n-i.y)*l)/y:0;a<0?a=0:a>1&&(a=1);let u=Math.hypot(t-(i.x+a*c),n-(i.y+a*l));u<o&&(o=u)}return o}function vt(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function _e(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function fe(e,t){let n=1/0;for(let o of Te(e)){let r=Ae(t,o.x,o.y);r<n&&(n=r)}for(let o of Te(t)){let r=Ae(e,o.x,o.y);r<n&&(n=r)}return n}function It(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let a of e)n+=a.x,o+=a.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let a of e){let u=Math.hypot(a.x-n,a.y-o);u>r&&(r=u,i=a)}let s=i.x-n,c=i.y-o,l=Math.hypot(s,c);l>1e-9?(s/=l,c/=l):(s=1,c=0);let y=e.map((a,u)=>({p:a,i:u,t:(a.x-n)*s+(a.y-o)*c})).sort((a,u)=>a.t-u.t);return{pts:y.map(a=>a.p),seatIndices:y.map(a=>t[a.i])}}function Ct(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let g of e)n+=g.x,o+=g.y;n/=t,o/=t;let r=0,i=0,s=0,c=0,l=0,y=0,a=0;for(let g of e){let b=g.x-n,M=g.y-o;r+=b*b,s+=M*M,i+=b*M,c+=b*b*b,l+=M*M*M,y+=b*M*M,a+=M*b*b}let u=r*s-i*i;if(Math.abs(u)<1e-9)return null;let f=(c+y)/2,p=(l+a)/2,x=(f*s-p*i)/u,m=(p*r-f*i)/u,h=x+n,d=m+o;return!Number.isFinite(h)||!Number.isFinite(d)?null:{cx:h,cy:d}}var Et=.15;function Ot(e){if(e.length<2)return null;let t=e.map(g=>{let b=0,M=0;for(let P of g.pts)b+=P.x,M+=P.y;return{x:b/g.pts.length,y:M/g.pts.length}}),n=0,o=0;for(let g of t)n+=g.x,o+=g.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let g of t){let b=g.x-n,M=g.y-o;r+=b*b,i+=b*M,s+=M*M}let c=r+s,l=r*s-i*i,y=c/2+Math.sqrt(Math.max(0,c*c/4-l)),a,u;Math.abs(i)>1e-12?(a=y-s,u=i):r>=s?(a=1,u=0):(a=0,u=1);let f=Math.hypot(a,u);if(!(f>1e-12))return null;a/=f,u/=f;let p=1/0,x=-1/0,m=[];for(let g of e){let b=1/0,M=-1/0;for(let P of g.pts){let w=P.x*a+P.y*u;w<b&&(b=w),w>M&&(M=w),w<p&&(p=w),w>x&&(x=w)}m.push(M-b)}let h=x-p;return h>1e-9?(m.sort((g,b)=>g-b),m[Math.min(m.length-1,Math.floor(m.length*.9))]/h<=Rt?{x:a,y:u}:null):null}var Rt=.35;function ke(e,t,n,o){let r=new Map;for(let h of n){let d=t[h],g=d.rowId||`__seat-${h}`,b=r.get(g);b||(b={pts:[],idx:[]},r.set(g,b)),b.pts.push({x:d.x,y:d.y}),b.idx.push(h)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[h,d]of r){let g=It(d.pts,d.idx),b=0;for(let M of g.pts)b+=Math.hypot(M.x-o.x,M.y-o.y);i.push({id:h,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:b/g.pts.length})}let s=i.map(h=>vt(h.pts)),c=[];for(let h=0;h<i.length;h++){let d=1/0;for(let g=0;g<i.length;g++){if(h===g||_e(s[h],s[g])>=d)continue;let b=fe(i[h].pts,i[g].pts);b<d&&(d=b)}Number.isFinite(d)&&c.push(d)}c.sort((h,d)=>h-d);let l=c.length?c[Math.floor(c.length/2)]:1,y=Math.max(l*1.8,1e-6),a=i.map(()=>[]);for(let h=0;h<i.length;h++)for(let d=h+1;d<i.length;d++)_e(s[h],s[d])>y||fe(i[h].pts,i[d].pts)<=y&&(a[h].push(d),a[d].push(h));let u=0;for(let h=0;h<i.length;h++){if(i[h].blockId!==-1)continue;let d=u++,g=[h];for(i[h].blockId=d;g.length;){let b=g.pop();for(let M of a[b])i[M].blockId===-1&&(i[M].blockId=d,g.push(M))}}let f=new Map;for(let h of i){let d=f.get(h.blockId)??[];d.push(h),f.set(h.blockId,d)}let p=[];for(let h of i){if(h.pts.length<4)continue;let d=Ct(h.pts);d&&(!Number.isFinite(d.cx)||!Number.isFinite(d.cy)||p.push({x:d.cx,y:d.cy}))}let x=p.length>=2?(()=>{let h=p.map(b=>b.x).sort((b,M)=>b-M),d=p.map(b=>b.y).sort((b,M)=>b-M),g=Math.floor(p.length/2);return{cx:h[g],cy:d[g]}})():null;if(x){let h=w=>Math.hypot(w.x-x.cx,w.y-x.cy),d=1/0,g=-1/0,b=[];for(let w of i){let S=1/0,E=-1/0;for(let I of w.pts){let v=h(I);v<S&&(S=v),v>E&&(E=v)}b.push(E-S),S<d&&(d=S),E>g&&(g=E)}let M=g-d;b.sort((w,S)=>w-S);let P=b[Math.min(b.length-1,Math.floor(b.length*.9))];if(M>1e-9&&P/M<=Et){let w=i.map(C=>{let B=0;for(let $e of C.pts)B+=h($e);return{row:C,radius:B/C.pts.length}}),S=0,E=0;for(let C of w)S+=C.radius,E+=C.row.focalDistance;S/=w.length,E/=w.length;let I=0;for(let C of w)I+=(C.radius-S)*(C.row.focalDistance-E);if(I<0)for(let C of w)C.radius=-C.radius;let A=1/0;for(let C of w)C.radius<A&&(A=C.radius);w.sort((C,B)=>C.radius-B.radius);let R=-1,O=-1/0,T=M/Math.max(1,w.length)*.5,Z=[];for(let C of w)C.radius-O>T&&(R++,O=C.radius),C.row.ordinal=R,C.row.blockDepth=C.radius-A,Z.push(C.row);return{sectionId:e,rows:Z,blockCount:u}}}let m=[];for(let[,h]of f){let d=Ot(h);if(d){let g=M=>{let P=0;for(let w of M.pts)P+=w.x*d.x+w.y*d.y;return P/M.pts.length};h.sort((M,P)=>g(M)-g(P)),h.length>=2&&h[0].focalDistance>h[h.length-1].focalDistance&&h.reverse();let b=0;for(let M=0;M<h.length;M++)M>0&&(b+=fe(h[M-1].pts,h[M].pts)),h[M].ordinal=M,h[M].blockDepth=b,m.push(h[M])}else{let g=1/0;for(let b of h)b.focalDistance<g&&(g=b.focalDistance);h.sort((b,M)=>b.focalDistance-M.focalDistance);for(let b=0;b<h.length;b++)h[b].ordinal=b,h[b].blockDepth=Math.max(0,h[b].focalDistance-g),m.push(h[b])}}return{sectionId:e,rows:m,blockCount:u}}function Ne(e){return e?e.accessibility&&e.accessibility.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var W=Math.PI/180,Tt=9,N=16;function de(e,t,n,o){let r=n*W,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function ye(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return ee(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let y=0;y<t;y++)s.push(de(y*n,0,r,i));return s}let c=o/(t-1)*W,l=n/(2*Math.sin(Math.abs(c)/2));for(let y=0;y<t;y++){let a=y*c,u=l*Math.sin(a),f=-l+l*Math.cos(a);s.push(de(u,f,r,i))}return s}function At(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function _t(e){let t=new Set((e.overrides??[]).filter(n=>n.skip&&Number.isInteger(n.index)&&n.index>=0&&n.index<e.seatCount).map(n=>n.index));return Math.max(0,e.seatCount-t.size)}function Fe(e,t){let n=At(e);return ye(e).map((o,r)=>{let i=n.get(r),s=Ne(i),c=Ee(e,r,i),l={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:c,displayLabel:ae(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(l).some(y=>y!==void 0&&y!==!1&&y!=="")?l:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function pe(e){let t=[];for(let n of Fe(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function He(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function xe(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(a=>[a.index,a])),r=(a,u,f,p)=>{let x=o.get(a),m=Ne(x),h=x?.label??`${e.label}-${a+1}`,d=e.displayLabel??e.label;return{index:a,label:h,displayLabel:x?.displayLabel??`${d}-${a+1}`,x:u+(x?.dx??0),y:f+(x?.dy??0),categoryKey:x?.categoryKey??e.categoryKey,skipped:!!x?.skip,accessible:m.length>0,accessibility:m,wheelchairSpaceType:x?.wheelchairSpaceType,commercial:x?.commercial,glyph:x?.glyph,viewUrl:x?.viewFromSeatUrl,viewMeta:x?.viewFromSeatUrl?x.viewFromSeatMeta:void 0,labelStyle:x?.labelStyle,...p?{side:p}:{}}};if(e.shape==="round"){let a=(e.radius??40)+N,u=e.rotation*W,f=Math.max(0,Math.min(360,e.seatArc??360));if(f>=360||n===1){for(let h=0;h<n;h++){let d=u+h/n*2*Math.PI;t.push(r(h,e.center.x+a*Math.cos(d),e.center.y+a*Math.sin(d)))}return t}let p=f*W,x=(2*Math.PI-p)/2,m=u+x;for(let h=0;h<n;h++){let d=m+h/(n-1)*p;t.push(r(h,e.center.x+a*Math.cos(d),e.center.y+a*Math.sin(d)))}return t}let i=e.width??80,s=e.height??50,c=He(e),l=["top","bottom","left","right"],y=0;for(let a of l){let u=c[a];for(let f=0;f<u;f++){let p,x;a==="top"?(p=-i/2+(f+.5)*i/u,x=-s/2-N):a==="bottom"?(p=-i/2+(f+.5)*i/u,x=s/2+N):a==="left"?(p=-i/2-N,x=-s/2+(f+.5)*s/u):(p=i/2+N,x=-s/2+(f+.5)*s/u);let m=de(p,x,e.rotation,e.center);t.push(r(y++,m.x,m.y,a))}}return t}function kt(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):xe(e).filter(t=>!t.skipped).length}function Ue(e){return xe(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Xe(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function me(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,c=t[r].x,l=t[r].y;s>e.y!=l>e.y&&e.x<(c-i)*(e.y-s)/(l-s)+i&&(n=!n)}return n}function Lt(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),c=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=c+1e-7})}function U(e,t,n){return me(e,t)&&!(n??[]).some(o=>me(e,o)||Lt(e,o))}function jt(e,t){return re(e,t).point}function he(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function X(e){switch(e.type){case"row":{let t=pe(e);if(!t.length)return{x:e.origin.x,y:e.origin.y};let n=0,o=0;for(let r of t)n+=r.x,o+=r.y;return{x:n/t.length,y:o/t.length}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return he(e.points);case"section":return he(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?he(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Le(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function Dt(e,t){if(e.type!=="gaArea"||!Le(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Le(r,o[i]))}function Be(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=X(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(Dt(t,s)||U(r,s.outline,s.holes))):void 0)??n.find(s=>U(r,s.outline,s.holes))}function Ge(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function Nt(e,t){let n=Ge(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function ze(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function V(e,t,n){let o=i=>({x:i.x+t,y:i.y+n}),r=i=>i.map(o);switch(e.type){case"row":return{...e,origin:o(e.origin)};case"table":case"booth":return{...e,center:o(e.center)};case"gaArea":return{...e,points:r(e.points),...e.holes?{holes:e.holes.map(r)}:{}};case"section":return{...e,outline:r(e.outline),...e.outlinePath?{outlinePath:Ie(e.outlinePath,t,n)}:{},...e.holes?{holes:e.holes.map(r)}:{}};case"text":return{...e,position:o(e.position)};case"shape":return{...e,...e.points?{points:r(e.points)}:{},...e.x!=null?{x:e.x+t}:{},...e.y!=null?{y:e.y+n}:{}};case"decorImage":return{...e,x:e.x+t,y:e.y+n}}}function Ft(e,t=900){if(!e.floors||e.floors.length<2)return e;let n=[];return e.floors.forEach((o,r)=>{let i=-r*t;for(let s of o.objects)n.push(i===0?s:V(s,0,i))}),{...e,objects:n,floors:void 0}}function Ht(e){let t=e.floors;if(!t||t.length<2)return e;let n=Ke(e),o=[];return t.forEach((r,i)=>{let{x:s,y:c}=n[i];for(let l of r.objects)o.push(V(l,s,c))}),{...e,objects:o,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function Ut(e){let t=e.floors;if(!t||t.length<2)return!1;let n=t.map(l=>q({...e,objects:l.objects,floors:void 0,focalPoint:l.focalPoint,referenceImage:void 0,backgroundImage:void 0}));if(n.some(l=>l.width<=0||l.height<=0))return!1;let[o,...r]=n;if(!r.every(l=>{let y=Math.min(o.x+o.width,l.x+l.width)-Math.max(o.x,l.x),a=Math.min(o.y+o.height,l.y+l.height)-Math.max(o.y,l.y);return y<=0||a<=0?!1:y>=Math.min(o.width,l.width)*.7&&a>=Math.min(o.height,l.height)*.7}))return!1;let s={x:o.x+o.width/2,y:o.y+o.height/2},c=Math.hypot(o.width,o.height)/2;return t.every(l=>l.objects.length?l.objects.filter(a=>{let u=X(a);return Math.hypot(u.x-s.x,u.y-s.y)>=c*.25}).length>=l.objects.length*.6:!1)}function Xt(e){let t=e.floors;if(!t||t.length<2)return e;let n=t.map((l,y)=>({floor:l,index:y,height:l.baseHeightM??0})).sort((l,y)=>l.height-y.height||l.index-y.index),o=q({...e,objects:n[0].floor.objects,floors:void 0,focalPoint:n[0].floor.focalPoint,referenceImage:void 0,backgroundImage:void 0}),r={x:o.x+o.width/2,y:o.y+o.height/2},i=Math.max(48,Math.min(200,Math.max(o.width,o.height)*.06)),s=[],c=0;return n.forEach((l,y)=>{let a=l.floor.objects.map(m=>{let h=X(m);return Math.hypot(h.x-r.x,h.y-r.y)}),u=a.filter(m=>Number.isFinite(m)),f=u.length?Math.min(...u):0,p=u.length?Math.max(...u):0,x=y===0?0:Math.max(0,c+i-f);c=p+x,l.floor.objects.forEach((m,h)=>{if(y>0&&m.type==="shape"&&m.role==="stage")return;if(x===0){s.push(m);return}let d=a[h];if(!Number.isFinite(d)||d<1e-6){s.push(m);return}let g=X(m);s.push(V(m,(g.x-r.x)/d*x,(g.y-r.y)/d*x))})}),{...e,objects:s,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function Ke(e){let t=e.floors;if(!t?.length)return[{x:0,y:0}];if(t.length<2)return t.map(()=>({x:0,y:0}));let n=t.map(f=>q({...e,objects:f.objects,floors:void 0,focalPoint:f.focalPoint,referenceImage:void 0,backgroundImage:void 0})),o=Math.max(1,...n.map(f=>Math.max(f.width,f.height))),r=Math.max(64,Math.min(240,o*.08)),i=16/10,s=null;for(let f=1;f<=t.length;f+=1){let p=Math.ceil(t.length/f),x=new Array(f).fill(0),m=new Array(p).fill(0);n.forEach((M,P)=>{let w=P%f,S=Math.floor(P/f);x[w]=Math.max(x[w],M.width),m[S]=Math.max(m[S],M.height)});let h=x.reduce((M,P)=>M+P,0)+r*(f-1),d=m.reduce((M,P)=>M+P,0)+r*(p-1),g=f*p-t.length,b=Math.abs(Math.log(h/Math.max(1,d)/i))+g*.04;(!s||b<s.score)&&(s={columns:f,columnWidths:x,rowHeights:m,score:b})}let{columns:c,columnWidths:l,rowHeights:y}=s,a=[],u=[];return l.reduce((f,p,x)=>(a[x]=f,f+p+r),0),y.reduce((f,p,x)=>(u[x]=f,f+p+r),0),t.map((f,p)=>{let x=n[p],m=p%c,h=Math.floor(p/c),d=a[m]+(l[m]-x.width)/2,g=u[h]+(y[h]-x.height)/2;return{x:d-x.x,y:g-x.y}})}function je(e,t,n,o,r,i){let s=[],c=ie(e),l=u=>!u?.eventConfigurationId||u.eventConfigurationId===o,y=u=>!!u&&(!u.eventConfigurationId||u.eventConfigurationId===o),a=(u,f)=>y(u)?{...u,coverage:f}:void 0;for(let u of e){let f=[];if(u.type==="row"?f=pe(u):u.type==="table"?f=Ue(u):u.type==="booth"&&(f=Xe(u)),!f.length)continue;for(let d of f)d.viewUrl&&!l(d.viewMeta)&&(d.viewUrl=void 0,d.viewMeta=void 0);if(u.type==="row"){let d=c.get(u.id);if(d){let g=new Map((u.overrides??[]).map(b=>[b.index,b]));for(let b of f){let M=Number(b.id.slice(b.id.lastIndexOf(":")+1));if(!Number.isInteger(M))continue;b.logicalRowId=d.groupId,b.logicalSeatIndex=d.adjacencyOffset+M,g.get(M)?.displayLabel||(b.displayLabel=ae(u,M,d)),!b.viewUrl&&d.viewFromSeatUrl&&l(d.viewFromSeatMeta)&&(b.viewUrl=d.viewFromSeatUrl,b.viewMeta=d.viewFromSeatMeta);let P=g.get(M)?.confidenceEvidence;b.confidenceEvidence=a(P,"exact-seat")??a(u.confidenceEvidence,"row-representative")??a(d.confidenceEvidence,"row-representative")}}}let p=Be(e,u),x=p?.viewFromSeatUrl,h=(p?.zone?t?.find(d=>d.id===p.zone):void 0)?.focalPoint??n;for(let d of f){if(!d.confidenceEvidence){let g=Number(d.id.slice(d.id.lastIndexOf(":")+1)),b=(u.type==="row"||u.type==="table")&&Number.isInteger(g)?u.overrides?.find(M=>M.index===g)?.confidenceEvidence:void 0;d.confidenceEvidence=a(b,"exact-seat")??(u.type==="row"?a(u.confidenceEvidence,"row-representative"):void 0)}d.confidenceEvidence??=a(p?.confidenceEvidence,"section-representative")??(i?a(i.evidence,i.coverage):void 0),!d.viewUrl&&x&&l(p?.viewFromSeatMeta)&&(d.viewUrl=x,d.viewMeta=p?.viewFromSeatMeta),!d.viewUrl&&r&&l(r.meta)&&(d.viewUrl=r.url,d.viewMeta=r.meta),p&&(d.sectionId=p.logicalSectionId??p.id),p?.zone&&(d.zoneId=p.zone),h&&(d.focalPoint={...h})}s.push(...f)}return s}function Bt(e,t={}){if(e.floors?.length){let o=[];for(let r of e.floors){let i=r.focalPoint??e.focalPoint,s=r.viewFromSeatUrl?{url:r.viewFromSeatUrl,meta:r.viewFromSeatMeta}:e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,c=r.confidenceEvidence?{evidence:r.confidenceEvidence,coverage:"floor-representative"}:e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,l=je(r.objects,e.zones,i,e.eventConfigurationId,s,c);t.resolveEyeHeights!==!1&&De(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,l),o.push(...l)}return o}let n=je(e.objects,e.zones,e.focalPoint,e.eventConfigurationId,e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0);return t.resolveEyeHeights!==!1&&De(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),n}function De(e,t,n,o){let r=e.filter(a=>a.type==="section"),i=n>0||r.some(a=>a.height!==void 0||a.rake!==void 0||(a.elevation??0)>0);if(!r.length||!i||!t){for(let a of o)a.eyeHeightM=n+Y;return}let s=new Array(o.length),c=new Map,l=new Map;for(let a=0;a<o.length;a++){let u=o[a],p=(u.sectionId?r.find(m=>m.id===u.sectionId)??r.find(m=>m.logicalSectionId===u.sectionId&&U({x:u.x,y:u.y},m.outline,m.holes)):void 0)??r.find(m=>U({x:u.x,y:u.y},m.outline,m.holes))??null;if(s[a]=p,!p)continue;c.has(p.id)||c.set(p.id,Re(p,{floorBaseHeightM:n}));let x=l.get(p.id);x?x.push(a):l.set(p.id,[a])}let y=new Array(o.length).fill(void 0);for(let[a,u]of l){let f=c.get(a);if(!f)continue;let p=f.rake>0?Math.tan(f.rake*Math.PI/180):0,x=ke(a,o,u,t);for(let m of x.rows){let h=m.blockDepth*K*p,d=f.height+h;for(let g of m.seatIndices)y[g]=d}}for(let a=0;a<o.length;a++){let u=o[a],f=s[a];if(!f){u.eyeHeightM=n+Y;continue}let p=c.get(f.id);u.eyeHeightM=(y[a]??p.height)+Y}}var $=40;function q(e){let t=1/0,n=1/0,o=-1/0,r=-1/0,i=(s,c)=>{s<t&&(t=s),c<n&&(n=c),s>o&&(o=s),c>r&&(r=c)};for(let s of ze(e))if(s.type==="row"){let c=new Map((s.overrides??[]).map(l=>[l.index,l]));ye(s).forEach((l,y)=>{let a=c.get(y);a?.skip||i(l.x+(a?.dx??0),l.y+(a?.dy??0))})}else if(s.type==="gaArea")for(let c of s.points)i(c.x,c.y);else if(s.type==="section")for(let c of s.outline)i(c.x,c.y);else if(s.type==="decorImage")i(s.x,s.y),i(s.x+s.width,s.y+s.height);else if(s.type==="shape")if(s.points&&s.points.length)for(let c of s.points)i(c.x,c.y);else s.x!=null&&s.y!=null&&s.width!=null&&s.height!=null&&(i(s.x,s.y),i(s.x+s.width,s.y+s.height));else if(s.type==="table"){let c=N+Tt,l=s.shape==="round"?(s.radius??40)+c:Math.max((s.width??80)/2,(s.height??50)/2)+c;i(s.center.x-l,s.center.y-l),i(s.center.x+l,s.center.y+l)}else if(s.type==="booth"){let c=Math.max(s.width,s.height)/2;i(s.center.x-c,s.center.y-c),i(s.center.x+c,s.center.y+c)}else if(s.type==="text"){let c=te(s);i(s.position.x,s.position.y),i(s.position.x+c.width,s.position.y+c.height)}for(let s of[e.referenceImage,e.backgroundImage]){if(!s)continue;let{center:c,width:l}=s,y=l*3/4;i(c.x-l/2,c.y-y/2),i(c.x+l/2,c.y+y/2)}if(!isFinite(t)){let s=e.focalPoint??{x:0,y:0};return{x:s.x-200,y:s.y-200,width:400,height:400}}return{x:t-$,y:n-$,width:o-t+$*2,height:r-n+$*2}}function Gt(e,t=0){let n=Math.max(1,e.width,e.height),o={x:e.x+e.width/2,y:e.y+e.height/2},r=n*1.55,i=Math.max(n*.82,Math.max(0,t)+n*.45);return{target:o,distance:r,height:i,focalLength:Math.hypot(r,i),yawRad:-8*Math.PI/180}}function Q(e,t,n=0){let o=t.x-e.target.x,r=t.y-e.target.y,i=Math.cos(e.yawRad),s=Math.sin(e.yawRad),c=o*i-r*s,y=o*s+r*i-e.distance,a=n-e.height,u=Math.hypot(e.distance,e.height),f=(-e.distance*y-e.height*a)/u,p=(-e.height*y+e.distance*a)/u,x=Math.max(u*.08,f),m=e.focalLength/x;return{x:e.target.x+c*m,y:e.target.y-p*m,depth:x,scale:m}}function zt(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function Kt(e){let t=e.a*e.d-e.b*e.c;if(!Number.isFinite(t)||Math.abs(t)<1e-9)throw new Error("perspective projection produced a singular affine");let n=e.d/t,o=-e.b/t,r=-e.c/t,i=e.a/t;return{a:n,b:o,c:r,d:i,e:-(n*e.e+r*e.f),f:-(o*e.e+i*e.f)}}function Yt(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function $t(e,t,n=()=>0){let o=Q(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=Q(e,r,n(r)),c=Q(e,i,n(i)),l=s.x-o.x,y=s.y-o.y,a=c.x-o.x,u=c.y-o.y;return{a:l,b:y,c:a,d:u,e:o.x-l*t.x-a*t.y,f:o.y-y*t.x-u*t.y}}function Wt(e){let t=Math.hypot(e.a,e.b),n=e.a*e.d-e.b*e.c;return{rotationDeg:Math.atan2(e.b,e.a)*180/Math.PI,scaleX:t,scaleY:n/Math.max(t,1e-9),skewX:(e.a*e.c+e.b*e.d)/Math.max(n,1e-9)}}var Ye=9;function Vt(e){if(e.kind==="circle")return{hx:e.r,hy:e.r};let t=e.width/2,n=e.height/2,o=e.rotation??0;if(!o)return{hx:t,hy:n};let r=o*Math.PI/180,i=Math.abs(Math.cos(r)),s=Math.abs(Math.sin(r));return{hx:t*i+n*s,hy:t*s+n*i}}function qt(e,t,n){let o=t-e.seat.x,r=n-e.seat.y;if(e.shape.kind==="circle")return o*o+r*r<=e.shape.r*e.shape.r;let i=e.shape.rotation??0,s=o,c=r;if(i){let l=-i*Math.PI/180,y=Math.cos(l),a=Math.sin(l);s=o*y-r*a,c=o*a+r*y}return Math.abs(s)<=e.shape.width/2&&Math.abs(c)<=e.shape.height/2}function Qt(e,t,n,o,r){if(e.shape.kind==="circle"){let x=Math.min(Math.max(e.seat.x,t),o),m=Math.min(Math.max(e.seat.y,n),r),h=e.seat.x-x,d=e.seat.y-m;return h*h+d*d<=e.shape.r*e.shape.r}let i=e.shape.rotation??0;if(!i)return e.seat.x-e.hx<=o&&e.seat.x+e.hx>=t&&e.seat.y-e.hy<=r&&e.seat.y+e.hy>=n;let s=i*Math.PI/180,c=Math.cos(s),l=Math.sin(s),y=e.shape.width/2,a=e.shape.height/2,u=[[-y,-a],[y,-a],[y,a],[-y,a]].map(([x,m])=>[e.seat.x+x*c-m*l,e.seat.y+x*l+m*c]),f=[[t,n],[o,n],[o,r],[t,r]],p=[[1,0],[0,1],[c,l],[-l,c]];for(let[x,m]of p){let h=1/0,d=-1/0;for(let[M,P]of u){let w=M*x+P*m;w<h&&(h=w),w>d&&(d=w)}let g=1/0,b=-1/0;for(let[M,P]of f){let w=M*x+P*m;w<g&&(g=w),w>b&&(b=w)}if(d<g||b<h)return!1}return!0}function Zt(e,t={}){let n=t.seatRadius??Ye,o=e.length,r=new Array(o),i=1/0,s=1/0,c=-1/0,l=-1/0,y=0;for(let w=0;w<o;w++){let S=e[w],E=t.shapeOf?.(S)??{kind:"circle",r:n},{hx:I,hy:v}=Vt(E);r[w]={seat:S,shape:E,hx:I,hy:v},S.x-I<i&&(i=S.x-I),S.y-v<s&&(s=S.y-v),S.x+I>c&&(c=S.x+I),S.y+v>l&&(l=S.y+v),I>y&&(y=I),v>y&&(y=v)}o===0&&(i=0,s=0,c=0,l=0);let a=y>0?y*4:1,u=Math.max(c-i,0),f=Math.max(l-s,0),p=Math.max(64,t.maxCells??o*4),x=a,m=Math.max(1,Math.ceil(u/x)||1),h=Math.max(1,Math.ceil(f/x)||1);for(;m*h>p&&(m>1||h>1);)x*=2,m=Math.max(1,Math.ceil(u/x)||1),h=Math.max(1,Math.ceil(f/x)||1);let d=m*h,g=new Int32Array(d+1),b=0;for(let w=0;w<o;w++){let S=r[w],E=L(Math.floor((S.seat.x-S.hx-i)/x),0,m-1),I=L(Math.floor((S.seat.x+S.hx-i)/x),0,m-1),v=L(Math.floor((S.seat.y-S.hy-s)/x),0,h-1),A=L(Math.floor((S.seat.y+S.hy-s)/x),0,h-1);for(let R=v;R<=A;R++)for(let O=E;O<=I;O++)g[R*m+O+1]++,b++}for(let w=0;w<d;w++)g[w+1]+=g[w];let M=new Int32Array(b),P=g.slice(0,d);for(let w=0;w<o;w++){let S=r[w],E=L(Math.floor((S.seat.x-S.hx-i)/x),0,m-1),I=L(Math.floor((S.seat.x+S.hx-i)/x),0,m-1),v=L(Math.floor((S.seat.y-S.hy-s)/x),0,h-1),A=L(Math.floor((S.seat.y+S.hy-s)/x),0,h-1);for(let R=v;R<=A;R++)for(let O=E;O<=I;O++){let T=R*m+O;M[P[T]++]=w}}return{seats:e,entries:r,minX:i,minY:s,cell:x,cols:m,rows:h,cellStart:g,items:M,stamp:new Int32Array(o),epoch:0}}function Jt(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:c,cellStart:l,items:y,entries:a}=e,u=Math.floor((t.x-s)/i),f=Math.floor((t.y-c)/i);if(u<0||f<0||u>=o||f>=r)return null;let p=f*o+u,x=l[p+1],m=-1,h=1/0;for(let d=l[p];d<x;d++){let g=y[d],b=a[g];if(n.filter&&!n.filter(b.seat.id,b.seat)||!qt(b,t.x,t.y))continue;let M=t.x-b.seat.x,P=t.y-b.seat.y,w=M*M+P*P;(w<h||w===h&&g<m)&&(h=w,m=g)}return m<0?null:a[m].seat.id}function en(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:c,minY:l,cellStart:y,items:a,entries:u}=e,f=Math.max(0,Math.floor((t.x-n-c)/s)),p=Math.min(r-1,Math.floor((t.x+n-c)/s)),x=Math.max(0,Math.floor((t.y-n-l)/s)),m=Math.min(i-1,Math.floor((t.y+n-l)/s));if(f>p||x>m)return null;let h=-1,d=n*n,g=e.stamp,b=++e.epoch;for(let M=x;M<=m;M++){let P=M*r;for(let w=f;w<=p;w++){let S=P+w,E=y[S+1];for(let I=y[S];I<E;I++){let v=a[I];if(g[v]===b)continue;g[v]=b;let A=u[v];if(o.filter&&!o.filter(A.seat.id,A.seat))continue;let R=t.x-A.seat.x,O=t.y-A.seat.y,T=R*R+O*O;(T<d||T===d&&v<h)&&(d=T,h=v)}}}return h<0?null:u[h].seat.id}function tn(e,t,n={}){let o=Math.min(t.x,t.x+t.width),r=Math.max(t.x,t.x+t.width),i=Math.min(t.y,t.y+t.height),s=Math.max(t.y,t.y+t.height),c=n.mode??"center",{cols:l,rows:y,cell:a,minX:u,minY:f,cellStart:p,items:x,entries:m}=e,h=Math.max(0,Math.floor((o-u)/a)),d=Math.min(l-1,Math.floor((r-u)/a)),g=Math.max(0,Math.floor((i-f)/a)),b=Math.min(y-1,Math.floor((s-f)/a));if(h>d||g>b)return[];let M=[],P=e.stamp,w=++e.epoch;for(let S=g;S<=b;S++){let E=S*l;for(let I=h;I<=d;I++){let v=E+I,A=p[v+1];for(let R=p[v];R<A;R++){let O=x[R];if(P[O]===w)continue;P[O]=w;let T=m[O];if(n.filter&&!n.filter(T.seat.id,T.seat))continue;(c==="center"?T.seat.x>=o&&T.seat.x<=r&&T.seat.y>=i&&T.seat.y<=s:Qt(T,o,i,r,s))&&M.push(O)}}}return M.sort((S,E)=>S-E),M.map(S=>m[S].seat.id)}function nn(e){let t=e.cols*e.rows,n=0,o=0;for(let i=0;i<t;i++){let s=e.cellStart[i+1]-e.cellStart[i];s>0&&n++,s>o&&(o=s)}let r=e.items.length;return{cell:e.cell,cols:e.cols,rows:e.rows,cells:t,occupiedCells:n,refs:r,maxPerCell:o,meanPerOccupiedCell:n?r/n:0}}0&&(module.exports={DEFAULT_SEAT_RADIUS,TABLE_SEAT_OFFSET,TEXT_BACKGROUND_PADDING_MAX,TEXT_BACKGROUND_RADIUS_MAX,TEXT_LETTER_SPACING_MAX,TEXT_LETTER_SPACING_MIN,TEXT_LINE_HEIGHT_MAX,TEXT_LINE_HEIGHT_MIN,TEXT_OPACITY_MIN,TEXT_WIDTH_MAX,TEXT_WIDTH_MIN,allObjects,applyAffine,buildAisleHoles,buildSeatIndex,buildSectionShell,chartBounds,composeAffine,createPerspectiveCamera,cubicPoint,decomposeAffineLinear,distanceToRings,distributeAlongCubic,expandBooth,expandChart,expandRow,expandRowSlots,expandTable,expandTableSlots,floorObjects,floorOverviewTranslations,floorsOf,floorsShareFootprint,gridStats,hitTest,invertAffine,layoutFloorOverview,layoutFloorRings,nearestWithin,objectCenter,owningSectionForObject,perspectiveTangentAffine,pointInPolygon,pointInPolygonWithHoles,polygonArea,polygonInscribedAnchor,polygonLabelPoint,polygonNetArea,projectPerspectivePoint,queryRect,resolveSegmentedRowGroups,rowInventoryCount,rowSeatPositions,segmentedRowComponentSeats,segmentedRowComponents,segmentedRowSeatTotal,smoothCubicThroughMiddle,stackFloors,tableInventoryCount,tableSeatCountsBySide,textLayoutMetrics,translateObject});
1
+ "use strict";var Z=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var Je=(e,t)=>{for(var n in t)Z(e,n,{get:t[n],enumerable:!0})},Ze=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of qe(t))!Qe.call(e,r)&&r!==n&&Z(e,r,{get:()=>t[r],enumerable:!(o=We(t,r))||o.enumerable});return e};var et=e=>Ze(Z({},"__esModule",{value:!0}),e);var fn={};Je(fn,{DEFAULT_SEAT_RADIUS:()=>Ke,TABLE_SEAT_OFFSET:()=>N,TEXT_BACKGROUND_PADDING_MAX:()=>vn,TEXT_BACKGROUND_RADIUS_MAX:()=>In,TEXT_LETTER_SPACING_MAX:()=>wn,TEXT_LETTER_SPACING_MIN:()=>Sn,TEXT_LINE_HEIGHT_MAX:()=>Mn,TEXT_LINE_HEIGHT_MIN:()=>gn,TEXT_OPACITY_MIN:()=>Pn,TEXT_WIDTH_MAX:()=>bn,TEXT_WIDTH_MIN:()=>xn,allObjects:()=>Ye,applyAffine:()=>Qt,buildAisleHoles:()=>ot,buildSeatIndex:()=>sn,buildSectionShell:()=>nt,chartBounds:()=>q,composeAffine:()=>Zt,createPerspectiveCamera:()=>qt,cubicPoint:()=>G,decomposeAffineLinear:()=>tn,distanceToRings:()=>ve,distributeAlongCubic:()=>ee,expandBooth:()=>Xe,expandChart:()=>Wt,expandRow:()=>pe,expandRowSlots:()=>Be,expandTable:()=>He,expandTableSlots:()=>xe,floorObjects:()=>Vt,floorOverviewTranslations:()=>ze,floorsOf:()=>Ve,floorsShareFootprint:()=>Kt,gridStats:()=>un,hitTest:()=>cn,invertAffine:()=>Jt,layoutFloorOverview:()=>zt,layoutFloorRings:()=>$t,nearestWithin:()=>an,objectCenter:()=>H,owningSectionForObject:()=>Ge,perspectiveTangentAffine:()=>en,pointInPolygon:()=>me,pointInPolygonWithHoles:()=>U,polygonArea:()=>oe,polygonInscribedAnchor:()=>re,polygonLabelPoint:()=>Xt,polygonNetArea:()=>ct,projectPerspectivePoint:()=>Q,queryRect:()=>ln,resolveSegmentedRowGroups:()=>ie,rowInventoryCount:()=>Bt,rowSeatPositions:()=>ye,segmentedRowComponentSeats:()=>ut,segmentedRowComponents:()=>lt,segmentedRowSeatTotal:()=>ft,smoothCubicThroughMiddle:()=>tt,stackFloors:()=>Yt,tableInventoryCount:()=>Ut,tableSeatCountsBySide:()=>Ue,textLayoutMetrics:()=>te,translateObject:()=>W});module.exports=et(fn);var hn=Math.PI/180;function j(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function L(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function G(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function tt(e,t,n){let o={x:(e.x+t.x)/2,y:(e.y+t.y)/2},r={x:(n.x-o.x)*4/3,y:(n.y-o.y)*4/3};return{start:{...e},control1:{x:e.x+(t.x-e.x)/3+r.x,y:e.y+(t.y-e.y)/3+r.y},control2:{x:e.x+(t.x-e.x)*2/3+r.x,y:e.y+(t.y-e.y)*2/3+r.y},end:{...t}}}function ee(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[G(e,.5)];let o=Array.from({length:n+1},(l,y)=>G(e,y/n)),r=new Float64Array(o.length);for(let l=1;l<o.length;l+=1){let y=o[l].x-o[l-1].x,a=o[l].y-o[l-1].y;r[l]=r[l-1]+Math.hypot(y,a)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],c=1;for(let l=0;l<t;l+=1){let y=i*l/(t-1);for(;c<r.length-1&&r[c]<y;)c+=1;let a=r[c-1],m=r[c],h=m===a?0:(y-a)/(m-a);s.push({x:o[c-1].x+(o[c].x-o[c-1].x)*h,y:o[c-1].y+(o[c].y-o[c-1].y)*h})}return s}function _(e,t){return{x:e.x+t.x,y:e.y+t.y}}function B(e,t){return{x:e.x-t.x,y:e.y-t.y}}function k(e,t){return{x:e.x*t,y:e.y*t}}function V(e,t=13){return Array.from({length:t},(n,o)=>G(e,o/(t-1)))}function be(e,t){let n=Math.max(0,Math.min(1,t))*(e.length-1),o=Math.min(e.length-2,Math.floor(n));return L(e[o],e[o+1],n-o)}function ge(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[be(e,o)];for(let s=1;s<e.length-1;s+=1){let c=s/(e.length-1);c>o+1e-9&&c<r-1e-9&&i.push(e[s])}return i.push(be(e,r)),i}function Me(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([h,x],d)=>{let f=j(L(e[h],e[x],.5),t);f<r&&(r=f,o=d)});let i=e[o],s=e[(o+1)%4],c=e[(o+2)%4],l=e[(o+3)%4],y=L(i,s,.5),a=B(t,y),m=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:s,p2:c,p3:l,normal:k(a,1/m),depth:(j(i,l)+j(s,c))/2}}function Se(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,c=B(n,t),l=B(o,r),y=s*.22,a=s*.12;return{nearPath:{start:t,control1:_(_(t,k(c,1/3)),k(i,y)),control2:_(_(t,k(c,2/3)),k(i,y)),end:n},farPath:{start:o,control1:_(_(r,k(l,2/3)),k(i,a)),control2:_(_(r,k(l,1/3)),k(i,a)),end:r}}}function nt(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((d,f)=>_(d,f),{x:0,y:0});o.x/=4,o.y/=4;let r=j(e[0],e[1]),i=j(e[0],e[3]),s=n==="auto"?r>i*1.25&&j(o,t)>i?"bezier":"tapered":n;if(s==="rectangle")return{mode:s,outline:e.map(d=>({...d}))};let c=Me(e,t),{p0:l,p1:y,p2:a,p3:m}=c;if(s==="tapered")return{mode:s,outline:[_(l,k(B(y,l),.14)),_(l,k(B(y,l),1-.14)),a,m]};let{nearPath:h,farPath:x}=Se(c);return{mode:s,outline:[...V(h),...V(x).slice(1)]}}function ot(e,t,n,o){if(e.length!==4)throw new Error("Aisle generation requires four mapped bounds corners");if(!Number.isInteger(n)||n<0||n>3)throw new Error("Aisle count must be an integer from 0 to 3");if(n===0)return[];let r=Me(e,t),{p0:i,p1:s,p2:c,p3:l}=r,y=o==="bezier"?Se(r):null,a=y?V(y.nearPath):null,m=y?V(y.farPath).reverse():null,h=Math.min(.055,.18/(n+1));return Array.from({length:n},(x,d)=>{let f=(d+1)/(n+1),u=f-h/2,b=f+h/2;return a&&m?[...ge(a,u,b),...ge(m,u,b).reverse()]:[L(i,s,u),L(i,s,b),L(l,c,b),L(l,c,u)]})}var xn=40,bn=1200,gn=.8,Mn=3,Sn=-2,wn=20,Pn=.1,vn=40,In=40,we=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function rt(e,t){let n=e.text.split(/\r?\n/);if(!e.width)return Math.max(1,n.length);let o=Math.max(1,Math.floor(t/we(e))),r=0;for(let i of n){if(!i.length){r+=1;continue}let s=0;for(let c of i.split(/\s+/)){let l=c.length;s&&s+1+l<=o?s+=1+l:(r+=Math.max(1,Math.ceil(l/o)),s=l%o)}}return Math.max(1,r)}function te(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(c=>c.length))*we(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=rt(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function it(e,t,n){let o=n.x-t.x,r=n.y-t.y,i=o*o+r*r,s=i?Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*r)/i)):0;return Math.hypot(e.x-(t.x+s*o),e.y-(t.y+s*r))}function ve(e,t){let n=1/0;for(let o of t)if(!(o.length<2))for(let r=0,i=o.length-1;r<o.length;i=r++){let s=it(e,o[i],o[r]);s<n&&(n=s)}return n}function Pe(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,c=t[r].x,l=t[r].y;s>e.y!=l>e.y&&e.x<(c-i)*(e.y-s)/(l-s)+i&&(n=!n)}return n}function st(e,t,n){let o=Pe(e,t)&&!n.some(i=>Pe(e,i)),r=ve(e,[t,...n]);return o?r:-r}function F(e,t,n,o,r){let i=st({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var ne=class{constructor(){this.items=[]}get size(){return this.items.length}push(t){let n=this.items;n.push(t);let o=n.length-1;for(;o>0;){let r=o-1>>1;if(n[r].max>=n[o].max)break;[n[r],n[o]]=[n[o],n[r]],o=r}}pop(){let t=this.items,n=t[0],o=t.pop();if(t.length&&o){t[0]=o;let r=0;for(;;){let i=r*2+1,s=i+1,c=r;if(i<t.length&&t[i].max>t[c].max&&(c=i),s<t.length&&t[s].max>t[c].max&&(c=s),c===r)break;[t[c],t[r]]=[t[r],t[c]],r=c}}return n}};function oe(e){if(e.length<3)return 0;let t=0;for(let n=0,o=e.length-1;n<e.length;o=n++)t+=(e[o].x+e[n].x)*(e[o].y-e[n].y);return Math.abs(t)/2}function ct(e,t){return Math.max(0,oe(e)-(t??[]).reduce((n,o)=>n+oe(o),0))}function re(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let f=e.reduce((b,S)=>b+S.x,0)/e.length,u=e.reduce((b,S)=>b+S.y,0)/e.length;return{point:{x:f,y:u},radius:0}}let o=1/0,r=1/0,i=-1/0,s=-1/0;for(let f of e)f.x<o&&(o=f.x),f.y<r&&(r=f.y),f.x>i&&(i=f.x),f.y>s&&(s=f.y);let c=i-o,l=s-r,y=Math.min(c,l);if(!(y>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let a=Math.max(c,l)/150,m=new ne,h=y/2;for(let f=o;f<i;f+=y)for(let u=r;u<s;u+=y)m.push(F(f+h,u+h,h,e,n));let x=F(o+c/2,r+l/2,0,e,n),d=0;for(;m.size;){let f=m.pop();if(!f)break;f.d>x.d&&(x=f),!(f.max-x.d<=a)&&(d>=4e3||(d+=1,h=f.h/2,m.push(F(f.x-h,f.y-h,h,e,n)),m.push(F(f.x+h,f.y-h,h,e,n)),m.push(F(f.x-h,f.y+h,h,e,n)),m.push(F(f.x+h,f.y+h,h,e,n))))}return{point:{x:x.x,y:x.y},radius:Math.max(0,x.d)}}function D(e,t,n){return e<t?t:e>n?n:e}var An=Math.PI*2;function Ie(e,t,n){return at(e,r=>({x:r.x+t,y:r.y+n}))}function at(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var Rn=4/3;function lt(e,t,n){let o=[];for(let r=0;r<e.length-1;r+=1){let i=e[r],s=e[r+1],c=Math.hypot(s.x-i.x,s.y-i.y);if(c<=0)continue;let l=Math.max(1,Math.round(c/n)),y=c/l,a=Math.atan2(s.y-i.y,s.x-i.x),m=r===0,x=(r>0?t[r-1]:void 0)==="break"?2:1,d=m?{...i}:{x:i.x+Math.cos(a)*y*x,y:i.y+Math.sin(a)*y*x},f=m?l+1:Math.max(1,l-(x-1));o.push({origin:d,rotation:a*180/Math.PI,seatCount:f,seatSpacing:y})}return o}function ut(e){let t=e.rotation*Math.PI/180,n={x:Math.cos(t),y:Math.sin(t)};return Array.from({length:e.seatCount},(o,r)=>({x:e.origin.x+n.x*r*e.seatSpacing,y:e.origin.y+n.y*r*e.seatSpacing}))}function ft(e){return e.reduce((t,n)=>t+n.seatCount,0)}function ie(e){let t=new Map,n=new Map;for(let o of e){if(o.type!=="row"||!o.segmentedRow)continue;let r=n.get(o.segmentedRow.groupId)??[];r.push(o),n.set(o.segmentedRow.groupId,r)}for(let[o,r]of n){let i=r.slice().sort((h,x)=>h.segmentedRow.componentIndex-x.segmentedRow.componentIndex),s=i[0]?.segmentedRow?.componentCount??0,c=i[0]?.segmentedRow;if(!c||!(s>=2&&i.length===s&&c?.boundaryBefore==="start"&&i.every((h,x)=>h.segmentedRow?.kind==="segmented-row-v1"&&h.segmentedRow.groupId===o&&h.segmentedRow.componentCount===s&&h.segmentedRow.componentIndex===x&&h.segmentedRow.repeatLabelOnComponents===c.repeatLabelOnComponents&&(x===0?h.segmentedRow.boundaryBefore==="start":h.segmentedRow.boundaryBefore!=="start")&&h.segmentedRow.displayLabel===c.displayLabel)))continue;let y=i.reduce((h,x)=>h+x.seatCount,0),a=0,m=0;for(let h of i)h.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(h.id,{groupId:o,adjacencyOffset:a,displayOffset:m,displayLabel:c.displayLabel,totalSeats:y,canonical:i[0],viewFromSeatUrl:c.viewFromSeatUrl,viewFromSeatMeta:c.viewFromSeatMeta,confidenceEvidence:c.confidenceEvidence}),a+=h.seatCount,m+=h.seatCount}return t}var dt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var ht="abcdefghijklmnopqrstuvwxyz";function mt(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function se(e,t=!1){let n=t?ht:dt;return mt(Math.max(0,Math.floor(e)-1),n)}var yt=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function Ce(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of yt)for(;t>=o;)n+=r,t-=o;return n}function pt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function ce(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",c=e.seatNumbering?.endAt,l=e.seatCount;if(i==="updown"||i==="updown-descending"){let x=Math.ceil(l/2),d=i==="updown"?t<x?n+2*t:n-1+2*(l-t):t<x?n+2*(x-1-t):n+1+2*(t-x);return`${s}${d}`}let y=i==="odd"||i==="even"?2:r,a=c!=null&&Number.isFinite(c)?c-(l-1)*y:n,m=o==="center"?pt(l)[t]:o==="rtl"?l-1-t:t,h;switch(i){case"odd":{let x=a%2===1?a:a+1;h=String(x+m*2);break}case"even":{let x=a%2===0?a:a+1;h=String(x+m*2);break}case"roman":h=Ce(a+m*r);break;case"letters-upper":h=se(a+m*r,!1);break;case"letters-lower":h=se(a+m*r,!0);break;default:h=String(a+m*r);break}return`${s}${h}`}function xt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function Ee(e,t,n){return n?.label??`${e.label}-${ce(e,t)}`}function ae(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${ce(e,t)}`;let r=xt(n),i=n.displayOffset+t;return`${n.displayLabel}-${ce(r,i)}`}var Y=.02291666666666667,jn=1/Y,bt=58,gt=bt*Y;var Mt=3,Oe=0,le=120,St=0,wt=45,Pt=7,z=1.2;function ue(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function vt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Pt?e:Mt}function Ae(e,t={}){let n=ue(t.floorBaseHeightM,Oe,le,0),o=Math.min(le,n+vt(e.elevation)*gt),r=e.height===void 0?o:ue(e.height,Oe,le,o),i=ue(e.rake,St,wt,0);return{height:r,rake:i}}function Re(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function Te(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],c=s.x-i.x,l=s.y-i.y,y=c*c+l*l,a=y>1e-12?((t-i.x)*c+(n-i.y)*l)/y:0;a<0?a=0:a>1&&(a=1);let m=Math.hypot(t-(i.x+a*c),n-(i.y+a*l));m<o&&(o=m)}return o}function It(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function _e(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function fe(e,t){let n=1/0;for(let o of Re(e)){let r=Te(t,o.x,o.y);r<n&&(n=r)}for(let o of Re(t)){let r=Te(e,o.x,o.y);r<n&&(n=r)}return n}function Ct(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let a of e)n+=a.x,o+=a.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let a of e){let m=Math.hypot(a.x-n,a.y-o);m>r&&(r=m,i=a)}let s=i.x-n,c=i.y-o,l=Math.hypot(s,c);l>1e-9?(s/=l,c/=l):(s=1,c=0);let y=e.map((a,m)=>({p:a,i:m,t:(a.x-n)*s+(a.y-o)*c})).sort((a,m)=>a.t-m.t);return{pts:y.map(a=>a.p),seatIndices:y.map(a=>t[a.i])}}function Et(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let S of e)n+=S.x,o+=S.y;n/=t,o/=t;let r=0,i=0,s=0,c=0,l=0,y=0,a=0;for(let S of e){let g=S.x-n,p=S.y-o;r+=g*g,s+=p*p,i+=g*p,c+=g*g*g,l+=p*p*p,y+=g*p*p,a+=p*g*g}let m=r*s-i*i;if(Math.abs(m)<1e-9)return null;let h=(c+y)/2,x=(l+a)/2,d=(h*s-x*i)/m,f=(x*r-h*i)/m,u=d+n,b=f+o;return!Number.isFinite(u)||!Number.isFinite(b)?null:{cx:u,cy:b}}var Ot=.15;function At(e){if(e.length<2)return null;let t=e.map(S=>{let g=0,p=0;for(let P of S.pts)g+=P.x,p+=P.y;return{x:g/S.pts.length,y:p/S.pts.length}}),n=0,o=0;for(let S of t)n+=S.x,o+=S.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let S of t){let g=S.x-n,p=S.y-o;r+=g*g,i+=g*p,s+=p*p}let c=r+s,l=r*s-i*i,y=c/2+Math.sqrt(Math.max(0,c*c/4-l)),a,m;Math.abs(i)>1e-12?(a=y-s,m=i):r>=s?(a=1,m=0):(a=0,m=1);let h=Math.hypot(a,m);if(!(h>1e-12))return null;a/=h,m/=h;let x=1/0,d=-1/0,f=[];for(let S of e){let g=1/0,p=-1/0;for(let P of S.pts){let M=P.x*a+P.y*m;M<g&&(g=M),M>p&&(p=M),M<x&&(x=M),M>d&&(d=M)}f.push(p-g)}let u=d-x;return u>1e-9?(f.sort((S,g)=>S-g),f[Math.min(f.length-1,Math.floor(f.length*.9))]/u<=Rt?{x:a,y:m}:null):null}var Rt=.35;function ke(e,t,n,o){let r=new Map;for(let u of n){let b=t[u],S=b.rowId||`__seat-${u}`,g=r.get(S);g||(g={pts:[],idx:[]},r.set(S,g)),g.pts.push({x:b.x,y:b.y}),g.idx.push(u)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[u,b]of r){let S=Ct(b.pts,b.idx),g=0;for(let p of S.pts)g+=Math.hypot(p.x-o.x,p.y-o.y);i.push({id:u,pts:S.pts,seatIndices:S.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:g/S.pts.length})}let s=i.map(u=>It(u.pts)),c=[];for(let u=0;u<i.length;u++){let b=1/0;for(let S=0;S<i.length;S++){if(u===S||_e(s[u],s[S])>=b)continue;let g=fe(i[u].pts,i[S].pts);g<b&&(b=g)}Number.isFinite(b)&&c.push(b)}c.sort((u,b)=>u-b);let l=c.length?c[Math.floor(c.length/2)]:1,y=Math.max(l*1.8,1e-6),a=i.map(()=>[]);for(let u=0;u<i.length;u++)for(let b=u+1;b<i.length;b++)_e(s[u],s[b])>y||fe(i[u].pts,i[b].pts)<=y&&(a[u].push(b),a[b].push(u));let m=0;for(let u=0;u<i.length;u++){if(i[u].blockId!==-1)continue;let b=m++,S=[u];for(i[u].blockId=b;S.length;){let g=S.pop();for(let p of a[g])i[p].blockId===-1&&(i[p].blockId=b,S.push(p))}}let h=new Map;for(let u of i){let b=h.get(u.blockId)??[];b.push(u),h.set(u.blockId,b)}let x=[];for(let u of i){if(u.pts.length<4)continue;let b=Et(u.pts);b&&(!Number.isFinite(b.cx)||!Number.isFinite(b.cy)||x.push({x:b.cx,y:b.cy}))}let d=x.length>=2?(()=>{let u=x.map(g=>g.x).sort((g,p)=>g-p),b=x.map(g=>g.y).sort((g,p)=>g-p),S=Math.floor(x.length/2);return{cx:u[S],cy:b[S]}})():null;if(d){let u=M=>Math.hypot(M.x-d.cx,M.y-d.cy),b=1/0,S=-1/0,g=[];for(let M of i){let w=1/0,I=-1/0;for(let C of M.pts){let v=u(C);v<w&&(w=v),v>I&&(I=v)}g.push(I-w),w<b&&(b=w),I>S&&(S=I)}let p=S-b;g.sort((M,w)=>M-w);let P=g[Math.min(g.length-1,Math.floor(g.length*.9))];if(p>1e-9&&P/p<=Ot){let M=i.map(E=>{let X=0;for(let $e of E.pts)X+=u($e);return{row:E,radius:X/E.pts.length}}),w=0,I=0;for(let E of M)w+=E.radius,I+=E.row.focalDistance;w/=M.length,I/=M.length;let C=0;for(let E of M)C+=(E.radius-w)*(E.row.focalDistance-I);if(C<0)for(let E of M)E.radius=-E.radius;let T=1/0;for(let E of M)E.radius<T&&(T=E.radius);M.sort((E,X)=>E.radius-X.radius);let A=-1,O=-1/0,R=p/Math.max(1,M.length)*.5,J=[];for(let E of M)E.radius-O>R&&(A++,O=E.radius),E.row.ordinal=A,E.row.blockDepth=E.radius-T,J.push(E.row);return{sectionId:e,rows:J,blockCount:m}}}let f=[];for(let[,u]of h){let b=At(u);if(b){let S=p=>{let P=0;for(let M of p.pts)P+=M.x*b.x+M.y*b.y;return P/p.pts.length};u.sort((p,P)=>S(p)-S(P)),u.length>=2&&u[0].focalDistance>u[u.length-1].focalDistance&&u.reverse();let g=0;for(let p=0;p<u.length;p++)p>0&&(g+=fe(u[p-1].pts,u[p].pts)),u[p].ordinal=p,u[p].blockDepth=g,f.push(u[p])}else{let S=1/0;for(let g of u)g.focalDistance<S&&(S=g.focalDistance);u.sort((g,p)=>g.focalDistance-p.focalDistance);for(let g=0;g<u.length;g++)u[g].ordinal=g,u[g].blockDepth=Math.max(0,u[g].focalDistance-S),f.push(u[g])}}return{sectionId:e,rows:f,blockCount:m}}var Tt=/^\d{4}-\d{2}-\d{2}$/;function _t(e){let t=Date.parse(e);return Number.isFinite(t)?Tt.test(e)?t+864e5:t:null}function kt(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=_t(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function Dt(e,t,n){return!(e.eventConfigurationId&&e.eventConfigurationId!==t||e.eventConfigurationVersion!==void 0&&e.eventConfigurationVersion!==n)}function Lt(e){return e.status!=="draft"&&e.status!=="retracted"}function jt(e,t){return e.status===void 0?t===void 0:e.status!=="approved"?!0:typeof t=="string"&&typeof e.basisSha256=="string"&&e.basisSha256===t}function De(e,t={}){return!!e&&Lt(e)&&Dt(e,t.activeConfigurationId,t.activeConfigurationVersion)&&jt(e,t.activeBasisSha256)&&kt(e,t.now)}function Fe(e){return e?e.accessibility&&e.accessibility.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var $=Math.PI/180,Nt=9,N=16;function he(e,t,n,o){let r=n*$,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function ye(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return ee(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let y=0;y<t;y++)s.push(he(y*n,0,r,i));return s}let c=o/(t-1)*$,l=n/(2*Math.sin(Math.abs(c)/2));for(let y=0;y<t;y++){let a=y*c,m=l*Math.sin(a),h=-l+l*Math.cos(a);s.push(he(m,h,r,i))}return s}function Ft(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function Bt(e){let t=new Set((e.overrides??[]).filter(n=>n.skip&&Number.isInteger(n.index)&&n.index>=0&&n.index<e.seatCount).map(n=>n.index));return Math.max(0,e.seatCount-t.size)}function Be(e,t){let n=Ft(e);return ye(e).map((o,r)=>{let i=n.get(r),s=Fe(i),c=Ee(e,r,i),l={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:c,displayLabel:ae(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(l).some(y=>y!==void 0&&y!==!1&&y!=="")?l:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function pe(e){let t=[];for(let n of Be(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function Ue(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function xe(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(a=>[a.index,a])),r=(a,m,h,x)=>{let d=o.get(a),f=Fe(d),u=d?.label??`${e.label}-${a+1}`,b=e.displayLabel??e.label;return{index:a,label:u,displayLabel:d?.displayLabel??`${b}-${a+1}`,x:m+(d?.dx??0),y:h+(d?.dy??0),categoryKey:d?.categoryKey??e.categoryKey,skipped:!!d?.skip,accessible:f.length>0,accessibility:f,wheelchairSpaceType:d?.wheelchairSpaceType,commercial:d?.commercial,glyph:d?.glyph,viewUrl:d?.viewFromSeatUrl,viewMeta:d?.viewFromSeatUrl?d.viewFromSeatMeta:void 0,labelStyle:d?.labelStyle,...x?{side:x}:{}}};if(e.shape==="round"){let a=(e.radius??40)+N,m=e.rotation*$,h=Math.max(0,Math.min(360,e.seatArc??360));if(h>=360||n===1){for(let u=0;u<n;u++){let b=m+u/n*2*Math.PI;t.push(r(u,e.center.x+a*Math.cos(b),e.center.y+a*Math.sin(b)))}return t}let x=h*$,d=(2*Math.PI-x)/2,f=m+d;for(let u=0;u<n;u++){let b=f+u/(n-1)*x;t.push(r(u,e.center.x+a*Math.cos(b),e.center.y+a*Math.sin(b)))}return t}let i=e.width??80,s=e.height??50,c=Ue(e),l=["top","bottom","left","right"],y=0;for(let a of l){let m=c[a];for(let h=0;h<m;h++){let x,d;a==="top"?(x=-i/2+(h+.5)*i/m,d=-s/2-N):a==="bottom"?(x=-i/2+(h+.5)*i/m,d=s/2+N):a==="left"?(x=-i/2-N,d=-s/2+(h+.5)*s/m):(x=i/2+N,d=-s/2+(h+.5)*s/m);let f=he(x,d,e.rotation,e.center);t.push(r(y++,f.x,f.y,a))}}return t}function Ut(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):xe(e).filter(t=>!t.skipped).length}function He(e){return xe(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Xe(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function me(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,c=t[r].x,l=t[r].y;s>e.y!=l>e.y&&e.x<(c-i)*(e.y-s)/(l-s)+i&&(n=!n)}return n}function Ht(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),c=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=c+1e-7})}function U(e,t,n){return me(e,t)&&!(n??[]).some(o=>me(e,o)||Ht(e,o))}function Xt(e,t){return re(e,t).point}function de(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function H(e){switch(e.type){case"row":{let t=pe(e);if(!t.length)return{x:e.origin.x,y:e.origin.y};let n=0,o=0;for(let r of t)n+=r.x,o+=r.y;return{x:n/t.length,y:o/t.length}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return de(e.points);case"section":return de(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?de(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Le(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function Gt(e,t){if(e.type!=="gaArea"||!Le(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Le(r,o[i]))}function Ge(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=H(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(Gt(t,s)||U(r,s.outline,s.holes))):void 0)??n.find(s=>U(r,s.outline,s.holes))}function Ve(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function Vt(e,t){let n=Ve(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function Ye(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function W(e,t,n){let o=i=>({x:i.x+t,y:i.y+n}),r=i=>i.map(o);switch(e.type){case"row":return{...e,origin:o(e.origin)};case"table":case"booth":return{...e,center:o(e.center)};case"gaArea":return{...e,points:r(e.points),...e.holes?{holes:e.holes.map(r)}:{}};case"section":return{...e,outline:r(e.outline),...e.outlinePath?{outlinePath:Ie(e.outlinePath,t,n)}:{},...e.holes?{holes:e.holes.map(r)}:{}};case"text":return{...e,position:o(e.position)};case"shape":return{...e,...e.points?{points:r(e.points)}:{},...e.x!=null?{x:e.x+t}:{},...e.y!=null?{y:e.y+n}:{}};case"decorImage":return{...e,x:e.x+t,y:e.y+n}}}function Yt(e,t=900){if(!e.floors||e.floors.length<2)return e;let n=[];return e.floors.forEach((o,r)=>{let i=-r*t;for(let s of o.objects)n.push(i===0?s:W(s,0,i))}),{...e,objects:n,floors:void 0}}function zt(e){let t=e.floors;if(!t||t.length<2)return e;let n=ze(e),o=[];return t.forEach((r,i)=>{let{x:s,y:c}=n[i];for(let l of r.objects)o.push(W(l,s,c))}),{...e,objects:o,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function Kt(e){let t=e.floors;if(!t||t.length<2)return!1;let n=t.map(l=>q({...e,objects:l.objects,floors:void 0,focalPoint:l.focalPoint,referenceImage:void 0,backgroundImage:void 0}));if(n.some(l=>l.width<=0||l.height<=0))return!1;let[o,...r]=n;if(!r.every(l=>{let y=Math.min(o.x+o.width,l.x+l.width)-Math.max(o.x,l.x),a=Math.min(o.y+o.height,l.y+l.height)-Math.max(o.y,l.y);return y<=0||a<=0?!1:y>=Math.min(o.width,l.width)*.7&&a>=Math.min(o.height,l.height)*.7}))return!1;let s={x:o.x+o.width/2,y:o.y+o.height/2},c=Math.hypot(o.width,o.height)/2;return t.every(l=>l.objects.length?l.objects.filter(a=>{let m=H(a);return Math.hypot(m.x-s.x,m.y-s.y)>=c*.25}).length>=l.objects.length*.6:!1)}function $t(e){let t=e.floors;if(!t||t.length<2)return e;let n=t.map((l,y)=>({floor:l,index:y,height:l.baseHeightM??0})).sort((l,y)=>l.height-y.height||l.index-y.index),o=q({...e,objects:n[0].floor.objects,floors:void 0,focalPoint:n[0].floor.focalPoint,referenceImage:void 0,backgroundImage:void 0}),r={x:o.x+o.width/2,y:o.y+o.height/2},i=Math.max(48,Math.min(200,Math.max(o.width,o.height)*.06)),s=[],c=0;return n.forEach((l,y)=>{let a=l.floor.objects.map(f=>{let u=H(f);return Math.hypot(u.x-r.x,u.y-r.y)}),m=a.filter(f=>Number.isFinite(f)),h=m.length?Math.min(...m):0,x=m.length?Math.max(...m):0,d=y===0?0:Math.max(0,c+i-h);c=x+d,l.floor.objects.forEach((f,u)=>{if(y>0&&f.type==="shape"&&f.role==="stage")return;if(d===0){s.push(f);return}let b=a[u];if(!Number.isFinite(b)||b<1e-6){s.push(f);return}let S=H(f);s.push(W(f,(S.x-r.x)/b*d,(S.y-r.y)/b*d))})}),{...e,objects:s,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function ze(e){let t=e.floors;if(!t?.length)return[{x:0,y:0}];if(t.length<2)return t.map(()=>({x:0,y:0}));let n=t.map(h=>q({...e,objects:h.objects,floors:void 0,focalPoint:h.focalPoint,referenceImage:void 0,backgroundImage:void 0})),o=Math.max(1,...n.map(h=>Math.max(h.width,h.height))),r=Math.max(64,Math.min(240,o*.08)),i=16/10,s=null;for(let h=1;h<=t.length;h+=1){let x=Math.ceil(t.length/h),d=new Array(h).fill(0),f=new Array(x).fill(0);n.forEach((p,P)=>{let M=P%h,w=Math.floor(P/h);d[M]=Math.max(d[M],p.width),f[w]=Math.max(f[w],p.height)});let u=d.reduce((p,P)=>p+P,0)+r*(h-1),b=f.reduce((p,P)=>p+P,0)+r*(x-1),S=h*x-t.length,g=Math.abs(Math.log(u/Math.max(1,b)/i))+S*.04;(!s||g<s.score)&&(s={columns:h,columnWidths:d,rowHeights:f,score:g})}let{columns:c,columnWidths:l,rowHeights:y}=s,a=[],m=[];return l.reduce((h,x,d)=>(a[d]=h,h+x+r),0),y.reduce((h,x,d)=>(m[d]=h,h+x+r),0),t.map((h,x)=>{let d=n[x],f=x%c,u=Math.floor(x/c),b=a[f]+(l[f]-d.width)/2,S=m[u]+(y[u]-d.height)/2;return{x:b-d.x,y:S-d.y}})}function je(e,t,n,o,r,i,s,c,l){let y=[],a=ie(e),m=d=>!d?.eventConfigurationId||d.eventConfigurationId===o&&(d.eventConfigurationVersion===void 0||d.eventConfigurationVersion===l),h=d=>De(d,{activeConfigurationId:o,activeConfigurationVersion:l,activeBasisSha256:r,now:c}),x=(d,f)=>h(d)?{...d,coverage:f}:void 0;for(let d of e){let f=[];if(d.type==="row"?f=pe(d):d.type==="table"?f=He(d):d.type==="booth"&&(f=Xe(d)),!f.length)continue;for(let p of f)p.viewUrl&&!m(p.viewMeta)&&(p.viewUrl=void 0,p.viewMeta=void 0);if(d.type==="row"){let p=a.get(d.id);if(p){let P=new Map((d.overrides??[]).map(M=>[M.index,M]));for(let M of f){let w=Number(M.id.slice(M.id.lastIndexOf(":")+1));if(!Number.isInteger(w))continue;M.logicalRowId=p.groupId,M.logicalSeatIndex=p.adjacencyOffset+w,P.get(w)?.displayLabel||(M.displayLabel=ae(d,w,p)),!M.viewUrl&&p.viewFromSeatUrl&&m(p.viewFromSeatMeta)&&(M.viewUrl=p.viewFromSeatUrl,M.viewMeta=p.viewFromSeatMeta);let I=P.get(w)?.confidenceEvidence;M.confidenceEvidence=x(I,"exact-seat")??x(d.confidenceEvidence,"row-representative")??x(p.confidenceEvidence,"row-representative")}}}let u=Ge(e,d),b=u?.viewFromSeatUrl,g=(u?.zone?t?.find(p=>p.id===u.zone):void 0)?.focalPoint??n;for(let p of f){if(!p.confidenceEvidence){let P=Number(p.id.slice(p.id.lastIndexOf(":")+1)),M=(d.type==="row"||d.type==="table")&&Number.isInteger(P)?d.overrides?.find(w=>w.index===P)?.confidenceEvidence:void 0;p.confidenceEvidence=x(M,"exact-seat")??(d.type==="row"?x(d.confidenceEvidence,"row-representative"):void 0)}p.confidenceEvidence??=x(u?.confidenceEvidence,"section-representative")??(s?x(s.evidence,s.coverage):void 0),!p.viewUrl&&b&&m(u?.viewFromSeatMeta)&&(p.viewUrl=b,p.viewMeta=u?.viewFromSeatMeta),!p.viewUrl&&i&&m(i.meta)&&(p.viewUrl=i.url,p.viewMeta=i.meta),u&&(p.sectionId=u.logicalSectionId??u.id),u?.zone&&(p.zoneId=u.zone),g&&(p.focalPoint={...g})}y.push(...f)}return y}function Wt(e,t={}){if(e.floors?.length){let o=[];for(let r of e.floors){let i=r.focalPoint??e.focalPoint,s=r.viewFromSeatUrl?{url:r.viewFromSeatUrl,meta:r.viewFromSeatMeta}:e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,c=r.confidenceEvidence?{evidence:r.confidenceEvidence,coverage:"floor-representative"}:e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,l=je(r.objects,e.zones,i,e.eventConfigurationId,e.confidenceBasisSha256,s,c,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);t.resolveEyeHeights!==!1&&Ne(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,l);for(let y of l)y.floorId=r.id;o.push(...l)}return o}let n=je(e.objects,e.zones,e.focalPoint,e.eventConfigurationId,e.confidenceBasisSha256,e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);return t.resolveEyeHeights!==!1&&Ne(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),n}function Ne(e,t,n,o){let r=e.filter(a=>a.type==="section"),i=n>0||r.some(a=>a.height!==void 0||a.rake!==void 0||(a.elevation??0)>0);if(!r.length||!i||!t){for(let a of o)a.eyeHeightM=n+z;return}let s=new Array(o.length),c=new Map,l=new Map;for(let a=0;a<o.length;a++){let m=o[a],x=(m.sectionId?r.find(f=>f.id===m.sectionId)??r.find(f=>f.logicalSectionId===m.sectionId&&U({x:m.x,y:m.y},f.outline,f.holes)):void 0)??r.find(f=>U({x:m.x,y:m.y},f.outline,f.holes))??null;if(s[a]=x,!x)continue;c.has(x.id)||c.set(x.id,Ae(x,{floorBaseHeightM:n}));let d=l.get(x.id);d?d.push(a):l.set(x.id,[a])}let y=new Array(o.length).fill(void 0);for(let[a,m]of l){let h=c.get(a);if(!h)continue;let x=h.rake>0?Math.tan(h.rake*Math.PI/180):0,d=ke(a,o,m,t);for(let f of d.rows){let u=f.blockDepth*Y*x,b=h.height+u;for(let S of f.seatIndices)y[S]=b}}for(let a=0;a<o.length;a++){let m=o[a],h=s[a];if(!h){m.eyeHeightM=n+z;continue}let x=c.get(h.id);m.eyeHeightM=(y[a]??x.height)+z}}var K=40;function q(e){let t=1/0,n=1/0,o=-1/0,r=-1/0,i=(s,c)=>{s<t&&(t=s),c<n&&(n=c),s>o&&(o=s),c>r&&(r=c)};for(let s of Ye(e))if(s.type==="row"){let c=new Map((s.overrides??[]).map(l=>[l.index,l]));ye(s).forEach((l,y)=>{let a=c.get(y);a?.skip||i(l.x+(a?.dx??0),l.y+(a?.dy??0))})}else if(s.type==="gaArea")for(let c of s.points)i(c.x,c.y);else if(s.type==="section")for(let c of s.outline)i(c.x,c.y);else if(s.type==="decorImage")i(s.x,s.y),i(s.x+s.width,s.y+s.height);else if(s.type==="shape")if(s.points&&s.points.length)for(let c of s.points)i(c.x,c.y);else s.x!=null&&s.y!=null&&s.width!=null&&s.height!=null&&(i(s.x,s.y),i(s.x+s.width,s.y+s.height));else if(s.type==="table"){let c=N+Nt,l=s.shape==="round"?(s.radius??40)+c:Math.max((s.width??80)/2,(s.height??50)/2)+c;i(s.center.x-l,s.center.y-l),i(s.center.x+l,s.center.y+l)}else if(s.type==="booth"){let c=Math.max(s.width,s.height)/2;i(s.center.x-c,s.center.y-c),i(s.center.x+c,s.center.y+c)}else if(s.type==="text"){let c=te(s);i(s.position.x,s.position.y),i(s.position.x+c.width,s.position.y+c.height)}for(let s of[e.referenceImage,e.backgroundImage]){if(!s)continue;let{center:c,width:l}=s,y=l*3/4;i(c.x-l/2,c.y-y/2),i(c.x+l/2,c.y+y/2)}if(!isFinite(t)){let s=e.focalPoint??{x:0,y:0};return{x:s.x-200,y:s.y-200,width:400,height:400}}return{x:t-K,y:n-K,width:o-t+K*2,height:r-n+K*2}}function qt(e,t=0){let n=Math.max(1,e.width,e.height),o={x:e.x+e.width/2,y:e.y+e.height/2},r=n*1.55,i=Math.max(n*.82,Math.max(0,t)+n*.45);return{target:o,distance:r,height:i,focalLength:Math.hypot(r,i),yawRad:-8*Math.PI/180}}function Q(e,t,n=0){let o=t.x-e.target.x,r=t.y-e.target.y,i=Math.cos(e.yawRad),s=Math.sin(e.yawRad),c=o*i-r*s,y=o*s+r*i-e.distance,a=n-e.height,m=Math.hypot(e.distance,e.height),h=(-e.distance*y-e.height*a)/m,x=(-e.height*y+e.distance*a)/m,d=Math.max(m*.08,h),f=e.focalLength/d;return{x:e.target.x+c*f,y:e.target.y-x*f,depth:d,scale:f}}function Qt(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function Jt(e){let t=e.a*e.d-e.b*e.c;if(!Number.isFinite(t)||Math.abs(t)<1e-9)throw new Error("perspective projection produced a singular affine");let n=e.d/t,o=-e.b/t,r=-e.c/t,i=e.a/t;return{a:n,b:o,c:r,d:i,e:-(n*e.e+r*e.f),f:-(o*e.e+i*e.f)}}function Zt(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function en(e,t,n=()=>0){let o=Q(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=Q(e,r,n(r)),c=Q(e,i,n(i)),l=s.x-o.x,y=s.y-o.y,a=c.x-o.x,m=c.y-o.y;return{a:l,b:y,c:a,d:m,e:o.x-l*t.x-a*t.y,f:o.y-y*t.x-m*t.y}}function tn(e){let t=Math.hypot(e.a,e.b),n=e.a*e.d-e.b*e.c;return{rotationDeg:Math.atan2(e.b,e.a)*180/Math.PI,scaleX:t,scaleY:n/Math.max(t,1e-9),skewX:(e.a*e.c+e.b*e.d)/Math.max(n,1e-9)}}var Ke=9;function nn(e){if(e.kind==="circle")return{hx:e.r,hy:e.r};let t=e.width/2,n=e.height/2,o=e.rotation??0;if(!o)return{hx:t,hy:n};let r=o*Math.PI/180,i=Math.abs(Math.cos(r)),s=Math.abs(Math.sin(r));return{hx:t*i+n*s,hy:t*s+n*i}}function on(e,t,n){let o=t-e.seat.x,r=n-e.seat.y;if(e.shape.kind==="circle")return o*o+r*r<=e.shape.r*e.shape.r;let i=e.shape.rotation??0,s=o,c=r;if(i){let l=-i*Math.PI/180,y=Math.cos(l),a=Math.sin(l);s=o*y-r*a,c=o*a+r*y}return Math.abs(s)<=e.shape.width/2&&Math.abs(c)<=e.shape.height/2}function rn(e,t,n,o,r){if(e.shape.kind==="circle"){let d=Math.min(Math.max(e.seat.x,t),o),f=Math.min(Math.max(e.seat.y,n),r),u=e.seat.x-d,b=e.seat.y-f;return u*u+b*b<=e.shape.r*e.shape.r}let i=e.shape.rotation??0;if(!i)return e.seat.x-e.hx<=o&&e.seat.x+e.hx>=t&&e.seat.y-e.hy<=r&&e.seat.y+e.hy>=n;let s=i*Math.PI/180,c=Math.cos(s),l=Math.sin(s),y=e.shape.width/2,a=e.shape.height/2,m=[[-y,-a],[y,-a],[y,a],[-y,a]].map(([d,f])=>[e.seat.x+d*c-f*l,e.seat.y+d*l+f*c]),h=[[t,n],[o,n],[o,r],[t,r]],x=[[1,0],[0,1],[c,l],[-l,c]];for(let[d,f]of x){let u=1/0,b=-1/0;for(let[p,P]of m){let M=p*d+P*f;M<u&&(u=M),M>b&&(b=M)}let S=1/0,g=-1/0;for(let[p,P]of h){let M=p*d+P*f;M<S&&(S=M),M>g&&(g=M)}if(b<S||g<u)return!1}return!0}function sn(e,t={}){let n=t.seatRadius??Ke,o=e.length,r=new Array(o),i=1/0,s=1/0,c=-1/0,l=-1/0,y=0;for(let M=0;M<o;M++){let w=e[M],I=t.shapeOf?.(w)??{kind:"circle",r:n},{hx:C,hy:v}=nn(I);r[M]={seat:w,shape:I,hx:C,hy:v},w.x-C<i&&(i=w.x-C),w.y-v<s&&(s=w.y-v),w.x+C>c&&(c=w.x+C),w.y+v>l&&(l=w.y+v),C>y&&(y=C),v>y&&(y=v)}o===0&&(i=0,s=0,c=0,l=0);let a=y>0?y*4:1,m=Math.max(c-i,0),h=Math.max(l-s,0),x=Math.max(64,t.maxCells??o*4),d=a,f=Math.max(1,Math.ceil(m/d)||1),u=Math.max(1,Math.ceil(h/d)||1);for(;f*u>x&&(f>1||u>1);)d*=2,f=Math.max(1,Math.ceil(m/d)||1),u=Math.max(1,Math.ceil(h/d)||1);let b=f*u,S=new Int32Array(b+1),g=0;for(let M=0;M<o;M++){let w=r[M],I=D(Math.floor((w.seat.x-w.hx-i)/d),0,f-1),C=D(Math.floor((w.seat.x+w.hx-i)/d),0,f-1),v=D(Math.floor((w.seat.y-w.hy-s)/d),0,u-1),T=D(Math.floor((w.seat.y+w.hy-s)/d),0,u-1);for(let A=v;A<=T;A++)for(let O=I;O<=C;O++)S[A*f+O+1]++,g++}for(let M=0;M<b;M++)S[M+1]+=S[M];let p=new Int32Array(g),P=S.slice(0,b);for(let M=0;M<o;M++){let w=r[M],I=D(Math.floor((w.seat.x-w.hx-i)/d),0,f-1),C=D(Math.floor((w.seat.x+w.hx-i)/d),0,f-1),v=D(Math.floor((w.seat.y-w.hy-s)/d),0,u-1),T=D(Math.floor((w.seat.y+w.hy-s)/d),0,u-1);for(let A=v;A<=T;A++)for(let O=I;O<=C;O++){let R=A*f+O;p[P[R]++]=M}}return{seats:e,entries:r,minX:i,minY:s,cell:d,cols:f,rows:u,cellStart:S,items:p,stamp:new Int32Array(o),epoch:0}}function cn(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:c,cellStart:l,items:y,entries:a}=e,m=Math.floor((t.x-s)/i),h=Math.floor((t.y-c)/i);if(m<0||h<0||m>=o||h>=r)return null;let x=h*o+m,d=l[x+1],f=-1,u=1/0;for(let b=l[x];b<d;b++){let S=y[b],g=a[S];if(n.filter&&!n.filter(g.seat.id,g.seat)||!on(g,t.x,t.y))continue;let p=t.x-g.seat.x,P=t.y-g.seat.y,M=p*p+P*P;(M<u||M===u&&S<f)&&(u=M,f=S)}return f<0?null:a[f].seat.id}function an(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:c,minY:l,cellStart:y,items:a,entries:m}=e,h=Math.max(0,Math.floor((t.x-n-c)/s)),x=Math.min(r-1,Math.floor((t.x+n-c)/s)),d=Math.max(0,Math.floor((t.y-n-l)/s)),f=Math.min(i-1,Math.floor((t.y+n-l)/s));if(h>x||d>f)return null;let u=-1,b=n*n,S=e.stamp,g=++e.epoch;for(let p=d;p<=f;p++){let P=p*r;for(let M=h;M<=x;M++){let w=P+M,I=y[w+1];for(let C=y[w];C<I;C++){let v=a[C];if(S[v]===g)continue;S[v]=g;let T=m[v];if(o.filter&&!o.filter(T.seat.id,T.seat))continue;let A=t.x-T.seat.x,O=t.y-T.seat.y,R=A*A+O*O;(R<b||R===b&&v<u)&&(b=R,u=v)}}}return u<0?null:m[u].seat.id}function ln(e,t,n={}){let o=Math.min(t.x,t.x+t.width),r=Math.max(t.x,t.x+t.width),i=Math.min(t.y,t.y+t.height),s=Math.max(t.y,t.y+t.height),c=n.mode??"center",{cols:l,rows:y,cell:a,minX:m,minY:h,cellStart:x,items:d,entries:f}=e,u=Math.max(0,Math.floor((o-m)/a)),b=Math.min(l-1,Math.floor((r-m)/a)),S=Math.max(0,Math.floor((i-h)/a)),g=Math.min(y-1,Math.floor((s-h)/a));if(u>b||S>g)return[];let p=[],P=e.stamp,M=++e.epoch;for(let w=S;w<=g;w++){let I=w*l;for(let C=u;C<=b;C++){let v=I+C,T=x[v+1];for(let A=x[v];A<T;A++){let O=d[A];if(P[O]===M)continue;P[O]=M;let R=f[O];if(n.filter&&!n.filter(R.seat.id,R.seat))continue;(c==="center"?R.seat.x>=o&&R.seat.x<=r&&R.seat.y>=i&&R.seat.y<=s:rn(R,o,i,r,s))&&p.push(O)}}}return p.sort((w,I)=>w-I),p.map(w=>f[w].seat.id)}function un(e){let t=e.cols*e.rows,n=0,o=0;for(let i=0;i<t;i++){let s=e.cellStart[i+1]-e.cellStart[i];s>0&&n++,s>o&&(o=s)}let r=e.items.length;return{cell:e.cell,cols:e.cols,rows:e.rows,cells:t,occupiedCells:n,refs:r,maxPerCell:o,meanPerOccupiedCell:n?r/n:0}}0&&(module.exports={DEFAULT_SEAT_RADIUS,TABLE_SEAT_OFFSET,TEXT_BACKGROUND_PADDING_MAX,TEXT_BACKGROUND_RADIUS_MAX,TEXT_LETTER_SPACING_MAX,TEXT_LETTER_SPACING_MIN,TEXT_LINE_HEIGHT_MAX,TEXT_LINE_HEIGHT_MIN,TEXT_OPACITY_MIN,TEXT_WIDTH_MAX,TEXT_WIDTH_MIN,allObjects,applyAffine,buildAisleHoles,buildSeatIndex,buildSectionShell,chartBounds,composeAffine,createPerspectiveCamera,cubicPoint,decomposeAffineLinear,distanceToRings,distributeAlongCubic,expandBooth,expandChart,expandRow,expandRowSlots,expandTable,expandTableSlots,floorObjects,floorOverviewTranslations,floorsOf,floorsShareFootprint,gridStats,hitTest,invertAffine,layoutFloorOverview,layoutFloorRings,nearestWithin,objectCenter,owningSectionForObject,perspectiveTangentAffine,pointInPolygon,pointInPolygonWithHoles,polygonArea,polygonInscribedAnchor,polygonLabelPoint,polygonNetArea,projectPerspectivePoint,queryRect,resolveSegmentedRowGroups,rowInventoryCount,rowSeatPositions,segmentedRowComponentSeats,segmentedRowComponents,segmentedRowSeatTotal,smoothCubicThroughMiddle,stackFloors,tableInventoryCount,tableSeatCountsBySide,textLayoutMetrics,translateObject});
@@ -1,7 +1,7 @@
1
- import { P as Point, t as CubicPath, u as TextObject } from '../../types-DmgX-iuD.cjs';
2
- export { E as ExpandChartOptions, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, a as TableSeatSlot, b as allObjects, c as chartBounds, e as expandBooth, d as expandChart, f as expandRow, g as expandRowSlots, h as expandTable, i as expandTableSlots, j as floorObjects, k as floorOverviewTranslations, l as floorsOf, m as floorsShareFootprint, n as layoutFloorOverview, o as layoutFloorRings, p as objectCenter, q as owningSectionForObject, r as pointInPolygon, s as pointInPolygonWithHoles, t as polygonLabelPoint, u as rowInventoryCount, v as rowSeatPositions, w as stackFloors, x as tableInventoryCount, y as tableSeatCountsBySide, z as translateObject } from '../../layout-wVlsj-_w.cjs';
3
- export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-BQYSdf7k.cjs';
4
- import { E as ExpandedSeat } from '../../renderer-DOVelTZw.cjs';
1
+ import { P as Point, t as CubicPath, u as TextObject } from '../../types-hv6QjPRV.cjs';
2
+ export { E as ExpandChartOptions, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, a as TableSeatSlot, b as allObjects, c as chartBounds, e as expandBooth, d as expandChart, f as expandRow, g as expandRowSlots, h as expandTable, i as expandTableSlots, j as floorObjects, k as floorOverviewTranslations, l as floorsOf, m as floorsShareFootprint, n as layoutFloorOverview, o as layoutFloorRings, p as objectCenter, q as owningSectionForObject, r as pointInPolygon, s as pointInPolygonWithHoles, t as polygonLabelPoint, u as rowInventoryCount, v as rowSeatPositions, w as stackFloors, x as tableInventoryCount, y as tableSeatCountsBySide, z as translateObject } from '../../layout-cZ3VfeJR.cjs';
3
+ export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-BB9MPufB.cjs';
4
+ import { E as ExpandedSeat } from '../../renderer-C9BLd1g2.cjs';
5
5
 
6
6
  type SectionShellMode = 'auto' | 'rectangle' | 'tapered' | 'bezier';
7
7
  declare function cubicPoint(path: CubicPath, t: number): Point;
@@ -1,7 +1,7 @@
1
- import { P as Point, t as CubicPath, u as TextObject } from '../../types-DmgX-iuD.js';
2
- export { E as ExpandChartOptions, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, a as TableSeatSlot, b as allObjects, c as chartBounds, e as expandBooth, d as expandChart, f as expandRow, g as expandRowSlots, h as expandTable, i as expandTableSlots, j as floorObjects, k as floorOverviewTranslations, l as floorsOf, m as floorsShareFootprint, n as layoutFloorOverview, o as layoutFloorRings, p as objectCenter, q as owningSectionForObject, r as pointInPolygon, s as pointInPolygonWithHoles, t as polygonLabelPoint, u as rowInventoryCount, v as rowSeatPositions, w as stackFloors, x as tableInventoryCount, y as tableSeatCountsBySide, z as translateObject } from '../../layout-BSb0-47G.js';
3
- export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-Cl3X8SKt.js';
4
- import { E as ExpandedSeat } from '../../renderer-BxLV6zjl.js';
1
+ import { P as Point, t as CubicPath, u as TextObject } from '../../types-hv6QjPRV.js';
2
+ export { E as ExpandChartOptions, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, a as TableSeatSlot, b as allObjects, c as chartBounds, e as expandBooth, d as expandChart, f as expandRow, g as expandRowSlots, h as expandTable, i as expandTableSlots, j as floorObjects, k as floorOverviewTranslations, l as floorsOf, m as floorsShareFootprint, n as layoutFloorOverview, o as layoutFloorRings, p as objectCenter, q as owningSectionForObject, r as pointInPolygon, s as pointInPolygonWithHoles, t as polygonLabelPoint, u as rowInventoryCount, v as rowSeatPositions, w as stackFloors, x as tableInventoryCount, y as tableSeatCountsBySide, z as translateObject } from '../../layout-ByBMw1t7.js';
3
+ export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-CLKP-2ca.js';
4
+ import { E as ExpandedSeat } from '../../renderer-B9GavToM.js';
5
5
 
6
6
  type SectionShellMode = 'auto' | 'rectangle' | 'tapered' | 'bezier';
7
7
  declare function cubicPoint(path: CubicPath, t: number): Point;
@@ -1 +1 @@
1
- import{a as X,b as Y,c as Z,d as _,e as $,f as oo,g as ro,h as eo,i as fo,j as mo,k as po,l as to,m as xo}from"../../chunk-V7PECHME.js";import{Aa as N,Ba as O,Ca as P,Da as Q,Ea as R,Fa as S,Ga as T,Ha as U,Ia as V,J as q,Ja as W,K as s,L as u,M as v,a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,ka as w,la as y,ma as z,n as c,na as A,o as d,oa as B,p as g,pa as C,q as h,qa as D,r as i,ra as E,s as j,sa as F,t as k,ta as G,u as l,ua as H,v as n,va as I,wa as J,xa as K,ya as L,za as M}from"../../chunk-XHXBFFWR.js";export{X as DEFAULT_SEAT_RADIUS,w as TABLE_SEAT_OFFSET,x as TEXT_BACKGROUND_PADDING_MAX,a as TEXT_BACKGROUND_RADIUS_MAX,p as TEXT_LETTER_SPACING_MAX,m as TEXT_LETTER_SPACING_MIN,f as TEXT_LINE_HEIGHT_MAX,e as TEXT_LINE_HEIGHT_MIN,t as TEXT_OPACITY_MIN,r as TEXT_WIDTH_MAX,o as TEXT_WIDTH_MIN,O as allObjects,fo as applyAffine,i as buildAisleHoles,Y as buildSeatIndex,h as buildSectionShell,W as chartBounds,po as composeAffine,ro as createPerspectiveCamera,c as cubicPoint,xo as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,G as expandBooth,V as expandChart,B as expandRow,A as expandRowSlots,F as expandTable,D as expandTableSlots,N as floorObjects,U as floorOverviewTranslations,M as floorsOf,S as floorsShareFootprint,oo as gridStats,Z as hitTest,mo as invertAffine,R as layoutFloorOverview,T as layoutFloorRings,_ as nearestWithin,K as objectCenter,L as owningSectionForObject,to as perspectiveTangentAffine,H as pointInPolygon,I as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,J as polygonLabelPoint,l as polygonNetArea,eo as projectPerspectivePoint,$ as queryRect,v as resolveSegmentedRowGroups,z as rowInventoryCount,y as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,Q as stackFloors,E as tableInventoryCount,C as tableSeatCountsBySide,b as textLayoutMetrics,P as translateObject};
1
+ import{a as X,b as Y,c as Z,d as _,e as $,f as oo,g as ro,h as eo,i as fo,j as mo,k as po,l as to,m as xo}from"../../chunk-QYZ3P5L6.js";import{Aa as N,Ba as O,Ca as P,Da as Q,Ea as R,Fa as S,Ga as T,Ha as U,Ia as V,J as q,Ja as W,K as s,L as u,M as v,a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,ka as w,la as y,ma as z,n as c,na as A,o as d,oa as B,p as g,pa as C,q as h,qa as D,r as i,ra as E,s as j,sa as F,t as k,ta as G,u as l,ua as H,v as n,va as I,wa as J,xa as K,ya as L,za as M}from"../../chunk-I6DNJFRF.js";import"../../chunk-CRCGO52K.js";export{X as DEFAULT_SEAT_RADIUS,w as TABLE_SEAT_OFFSET,x as TEXT_BACKGROUND_PADDING_MAX,a as TEXT_BACKGROUND_RADIUS_MAX,p as TEXT_LETTER_SPACING_MAX,m as TEXT_LETTER_SPACING_MIN,f as TEXT_LINE_HEIGHT_MAX,e as TEXT_LINE_HEIGHT_MIN,t as TEXT_OPACITY_MIN,r as TEXT_WIDTH_MAX,o as TEXT_WIDTH_MIN,O as allObjects,fo as applyAffine,i as buildAisleHoles,Y as buildSeatIndex,h as buildSectionShell,W as chartBounds,po as composeAffine,ro as createPerspectiveCamera,c as cubicPoint,xo as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,G as expandBooth,V as expandChart,B as expandRow,A as expandRowSlots,F as expandTable,D as expandTableSlots,N as floorObjects,U as floorOverviewTranslations,M as floorsOf,S as floorsShareFootprint,oo as gridStats,Z as hitTest,mo as invertAffine,R as layoutFloorOverview,T as layoutFloorRings,_ as nearestWithin,K as objectCenter,L as owningSectionForObject,to as perspectiveTangentAffine,H as pointInPolygon,I as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,J as polygonLabelPoint,l as polygonNetArea,eo as projectPerspectivePoint,$ as queryRect,v as resolveSegmentedRowGroups,z as rowInventoryCount,y as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,Q as stackFloors,E as tableInventoryCount,C as tableSeatCountsBySide,b as textLayoutMetrics,P as translateObject};
@@ -1,7 +1,7 @@
1
- import { A as AccessibilityType } from '../../types-DmgX-iuD.cjs';
1
+ import { A as AccessibilityType } from '../../types-hv6QjPRV.cjs';
2
2
  import { contrastRatioOrNull } from '../color.cjs';
3
- export { R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-8i9bYccr.cjs';
4
- import '../../renderer-DOVelTZw.cjs';
3
+ export { R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-6ta0nSPm.cjs';
4
+ import '../../renderer-C9BLd1g2.cjs';
5
5
 
6
6
  /**
7
7
  * Rendering constants that quality inspection must agree with.
@@ -1,7 +1,7 @@
1
- import { A as AccessibilityType } from '../../types-DmgX-iuD.js';
1
+ import { A as AccessibilityType } from '../../types-hv6QjPRV.js';
2
2
  import { contrastRatioOrNull } from '../color.js';
3
- export { R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-CbHiqt1W.js';
4
- import '../../renderer-BxLV6zjl.js';
3
+ export { R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-BJKHot_g.js';
4
+ import '../../renderer-B9GavToM.js';
5
5
 
6
6
  /**
7
7
  * Rendering constants that quality inspection must agree with.
@@ -1,4 +1,4 @@
1
- import { C as ChartDoc, F as Floor, n as ChartReferenceImage, a as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-DmgX-iuD.cjs';
1
+ import { C as ChartDoc, F as Floor, n as ChartReferenceImage, a as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-hv6QjPRV.cjs';
2
2
 
3
3
  type BackgroundOwner = Pick<ChartDoc, 'referenceImage' | 'backgroundImage'> | Pick<Floor, 'referenceImage' | 'backgroundImage'>;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { C as ChartDoc, F as Floor, n as ChartReferenceImage, a as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-DmgX-iuD.js';
1
+ import { C as ChartDoc, F as Floor, n as ChartReferenceImage, a as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-hv6QjPRV.js';
2
2
 
3
3
  type BackgroundOwner = Pick<ChartDoc, 'referenceImage' | 'backgroundImage'> | Pick<Floor, 'referenceImage' | 'backgroundImage'>;
4
4
  /**
@@ -1 +1 @@
1
- "use strict";var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var f=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},u=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of l(t))!c.call(e,i)&&i!==r&&s(e,i,{get:()=>t[i],enumerable:!(n=d(t,i))||n.enumerable});return e};var m=e=>u(s({},"__esModule",{value:!0}),e);var y={};f(y,{seatConfidenceDisclosure:()=>p});module.exports=m(y);function v(e){return e==="exact-seat"?"Exact seat in the model":e==="row-representative"?"Representative row evidence":e==="section-representative"?"Representative section evidence":e==="floor-representative"?"Representative floor evidence":"Representative venue evidence"}function g(e){if(!e)return"No assessment date supplied";let t=new Date(e);return Number.isFinite(t.getTime())?`Assessed ${t.toISOString().slice(0,10)}`:"No assessment date supplied"}function p(e){if(!e)return{headline:"Generated view \xB7 unverified",model:"No geometry or event-configuration verification supplied",reality:"No real-world check supplied",coverage:"Selected chart seat",provenance:"Chart-derived model",freshness:"No evidence date supplied",limitations:["Generated view is not surveyed sightline truth."]};let t=e.evidenceKind==="synthetic-model",r=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":t?"Versioned synthetic model":"Generated model \xB7 not verified",n=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",i=t?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",a=[...e.limitations??[],...t?["Synthetic demo; not surveyed or venue-certified."]:[]],o=e.modeledTarget?`${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model`:void 0;return o&&a.push("Modeled target is not a percentage of the show visible."),{headline:i,model:r,reality:n,coverage:v(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:g(e.assessedAt),limitations:a,...o?{modeledTarget:o}:{}}}0&&(module.exports={seatConfidenceDisclosure});
1
+ "use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var m=(e,t)=>{for(var n in t)s(e,n,{get:t[n],enumerable:!0})},p=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of f(t))!g.call(e,i)&&i!==n&&s(e,i,{get:()=>t[i],enumerable:!(r=c(t,i))||r.enumerable});return e};var v=e=>p(s({},"__esModule",{value:!0}),e);var I={};m(I,{seatConfidenceDisclosure:()=>E});module.exports=v(I);var b=/^\d{4}-\d{2}-\d{2}$/;function h(e){let t=Date.parse(e);return Number.isFinite(t)?b.test(e)?t+864e5:t:null}function d(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let r=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(r)&&(t instanceof Date?t.getTime():t)<=r+366*864e5}let n=h(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function l(e){return e.status!=="draft"&&e.status!=="retracted"}function y(e){return e==="exact-seat"?"Exact seat in the model":e==="row-representative"?"Representative row evidence":e==="section-representative"?"Representative section evidence":e==="floor-representative"?"Representative floor evidence":"Representative venue evidence"}function C(e){if(!e)return"No assessment date supplied";let t=new Date(e);return Number.isFinite(t.getTime())?`Assessed ${t.toISOString().slice(0,10)}`:"No assessment date supplied"}function S(){return{headline:"Generated view \xB7 unverified",model:"No geometry or event-configuration verification supplied",reality:"No real-world check supplied",coverage:"Selected chart seat",provenance:"Chart-derived model",freshness:"No current organizer-approved evidence matches this Event, venue revision, or renewal window",limitations:["Generated view is not surveyed sightline truth."]}}function D(e){let t=C(e.assessedAt);if(!e.validUntil)return t;let n=Date.parse(e.validUntil);return Number.isFinite(n)?`${t} \xB7 valid until ${e.validUntil.slice(0,10)}`:t}function E(e,t={}){if(!e||!l(e)||!d(e,t.now))return S();let n=e.evidenceKind==="synthetic-model",r=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":n?"Versioned synthetic model":"Generated model \xB7 not verified",i=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",u=n?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",a=[...e.limitations??[],...n?["Synthetic demo; not surveyed or venue-certified."]:[]],o=e.modeledTarget?`${e.modeledTarget.label} \xB7 ${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model \xB7 ${e.modeledTarget.methodLabel}`+(e.modeledTarget.occluderLabels?.length?` \xB7 modeled occluders: ${e.modeledTarget.occluderLabels.join(", ")}`:""):void 0;return o&&a.push("Modeled target is not a percentage of the show visible."),{headline:u,model:r,reality:i,coverage:y(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:D(e),limitations:a,...o?{modeledTarget:o}:{}}}0&&(module.exports={seatConfidenceDisclosure});
@@ -1,4 +1,4 @@
1
- import { h as ResolvedSeatConfidenceEvidence } from '../types-DmgX-iuD.cjs';
1
+ import { h as ResolvedSeatConfidenceEvidence } from '../types-hv6QjPRV.cjs';
2
2
 
3
3
  interface SeatConfidenceDisclosure {
4
4
  headline: string;
@@ -12,7 +12,9 @@ interface SeatConfidenceDisclosure {
12
12
  }
13
13
  /** Buyer-safe copy for one resolved passport. This function never upgrades a
14
14
  * generated record into a verified claim and keeps modeled and reality
15
- * evidence visibly separate. */
16
- declare function seatConfidenceDisclosure(evidence: ResolvedSeatConfidenceEvidence | undefined): SeatConfidenceDisclosure;
15
+ * evidence visibly separate. Expired records fail closed to generated copy. */
16
+ declare function seatConfidenceDisclosure(evidence: ResolvedSeatConfidenceEvidence | undefined, options?: {
17
+ now?: Date | number;
18
+ }): SeatConfidenceDisclosure;
17
19
 
18
20
  export { type SeatConfidenceDisclosure, seatConfidenceDisclosure };
@@ -1,4 +1,4 @@
1
- import { h as ResolvedSeatConfidenceEvidence } from '../types-DmgX-iuD.js';
1
+ import { h as ResolvedSeatConfidenceEvidence } from '../types-hv6QjPRV.js';
2
2
 
3
3
  interface SeatConfidenceDisclosure {
4
4
  headline: string;
@@ -12,7 +12,9 @@ interface SeatConfidenceDisclosure {
12
12
  }
13
13
  /** Buyer-safe copy for one resolved passport. This function never upgrades a
14
14
  * generated record into a verified claim and keeps modeled and reality
15
- * evidence visibly separate. */
16
- declare function seatConfidenceDisclosure(evidence: ResolvedSeatConfidenceEvidence | undefined): SeatConfidenceDisclosure;
15
+ * evidence visibly separate. Expired records fail closed to generated copy. */
16
+ declare function seatConfidenceDisclosure(evidence: ResolvedSeatConfidenceEvidence | undefined, options?: {
17
+ now?: Date | number;
18
+ }): SeatConfidenceDisclosure;
17
19
 
18
20
  export { type SeatConfidenceDisclosure, seatConfidenceDisclosure };
@@ -1 +1 @@
1
- import{a as o}from"../chunk-EQM4FFN5.js";export{o as seatConfidenceDisclosure};
1
+ import{a as o}from"../chunk-Y2J55NLS.js";import"../chunk-CRCGO52K.js";export{o as seatConfidenceDisclosure};