@seatlayer/core 0.57.0 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +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-7PT7OQUO.js";import{a as ct,b as lt,c as ut,d as pt,e as ft,h as P}from"../../chunk-PXWKSYCK.js";import"../../chunk-VI2CLV3Y.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-AQKYUJBX.js";import"../../chunk-6XJN4REG.js";import{ka as v,l as C,ma as g,na as R,pa as S,qa as _,va as O,w}from"../../chunk-VDZ24QVV.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-PMU3VPNK.js";import{a as ct,b as lt,c as ut,d as pt,e as ft,h as P}from"../../chunk-N4CBOQFB.js";import"../../chunk-VI2CLV3Y.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-4BVXDBFE.js";import"../../chunk-6XJN4REG.js";import{ka as v,l as C,ma as g,na as R,pa as S,qa as _,va as O,w}from"../../chunk-GHJUDU3U.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 +1 @@
1
- "use strict";var $=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var Ke=Object.prototype.hasOwnProperty;var $e=(e,t)=>{for(var n in t)$(e,n,{get:t[n],enumerable:!0})},We=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ye(t))!Ke.call(e,r)&&r!==n&&$(e,r,{get:()=>t[r],enumerable:!(o=ze(t,r))||o.enumerable});return e};var Ve=e=>We($({},"__esModule",{value:!0}),e);var Qt={};$e(Qt,{DEFAULT_SEAT_RADIUS:()=>Ge,TEXT_BACKGROUND_PADDING_MAX:()=>dn,TEXT_BACKGROUND_RADIUS_MAX:()=>hn,TEXT_LETTER_SPACING_MAX:()=>un,TEXT_LETTER_SPACING_MIN:()=>ln,TEXT_LINE_HEIGHT_MAX:()=>an,TEXT_LINE_HEIGHT_MIN:()=>cn,TEXT_OPACITY_MIN:()=>fn,TEXT_WIDTH_MAX:()=>sn,TEXT_WIDTH_MIN:()=>rn,allObjects:()=>Ue,applyAffine:()=>Ft,buildAisleHoles:()=>Ze,buildSeatIndex:()=>Kt,buildSectionShell:()=>Qe,chartBounds:()=>Be,composeAffine:()=>Ut,createPerspectiveCamera:()=>Nt,cubicPoint:()=>H,decomposeAffineLinear:()=>Bt,distanceToRings:()=>ge,distributeAlongCubic:()=>W,expandBooth:()=>De,expandChart:()=>Dt,expandRow:()=>ue,expandRowSlots:()=>ke,expandTable:()=>je,expandTableSlots:()=>fe,floorObjects:()=>kt,floorOverviewTranslations:()=>Xe,floorsOf:()=>He,gridStats:()=>qt,hitTest:()=>$t,invertAffine:()=>Ht,layoutFloorOverview:()=>jt,nearestWithin:()=>Wt,objectCenter:()=>Ne,owningSectionForObject:()=>Fe,perspectiveTangentAffine:()=>Xt,pointInPolygon:()=>ae,pointInPolygonWithHoles:()=>Y,polygonArea:()=>Q,polygonInscribedAnchor:()=>Z,polygonLabelPoint:()=>Tt,polygonNetArea:()=>nt,projectPerspectivePoint:()=>K,queryRect:()=>Vt,resolveSegmentedRowGroups:()=>J,rowInventoryCount:()=>Ot,rowSeatPositions:()=>le,segmentedRowComponentSeats:()=>it,segmentedRowComponents:()=>rt,segmentedRowSeatTotal:()=>st,smoothCubicThroughMiddle:()=>qe,stackFloors:()=>Lt,tableInventoryCount:()=>Rt,tableSeatCountsBySide:()=>Le,textLayoutMetrics:()=>V,translateObject:()=>de});module.exports=Ve(Qt);var en=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 H(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 qe(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 W(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[H(e,.5)];let o=Array.from({length:n+1},(u,y)=>H(e,y/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let y=o[u].x-o[u-1].x,a=o[u].y-o[u-1].y;r[u]=r[u-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 u=0;u<t;u+=1){let y=i*u/(t-1);for(;c<r.length-1&&r[c]<y;)c+=1;let a=r[c-1],f=r[c],l=f===a?0:(y-a)/(f-a);s.push({x:o[c-1].x+(o[c].x-o[c-1].x)*l,y:o[c-1].y+(o[c].y-o[c-1].y)*l})}return s}function T(e,t){return{x:e.x+t.x,y:e.y+t.y}}function F(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _(e,t){return{x:e.x*t,y:e.y*t}}function U(e,t=13){return Array.from({length:t},(n,o)=>H(e,o/(t-1)))}function he(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 me(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[he(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(he(e,r)),i}function ye(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([l,p],b)=>{let m=j(L(e[l],e[p],.5),t);m<r&&(r=m,o=b)});let i=e[o],s=e[(o+1)%4],c=e[(o+2)%4],u=e[(o+3)%4],y=L(i,s,.5),a=F(t,y),f=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:s,p2:c,p3:u,normal:_(a,1/f),depth:(j(i,u)+j(s,c))/2}}function xe(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,c=F(n,t),u=F(o,r),y=s*.22,a=s*.12;return{nearPath:{start:t,control1:T(T(t,_(c,1/3)),_(i,y)),control2:T(T(t,_(c,2/3)),_(i,y)),end:n},farPath:{start:o,control1:T(T(r,_(u,2/3)),_(i,a)),control2:T(T(r,_(u,1/3)),_(i,a)),end:r}}}function Qe(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((b,m)=>T(b,m),{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(b=>({...b}))};let c=ye(e,t),{p0:u,p1:y,p2:a,p3:f}=c;if(s==="tapered")return{mode:s,outline:[T(u,_(F(y,u),.14)),T(u,_(F(y,u),1-.14)),a,f]};let{nearPath:l,farPath:p}=xe(c);return{mode:s,outline:[...U(l),...U(p).slice(1)]}}function Ze(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=ye(e,t),{p0:i,p1:s,p2:c,p3:u}=r,y=o==="bezier"?xe(r):null,a=y?U(y.nearPath):null,f=y?U(y.farPath).reverse():null,l=Math.min(.055,.18/(n+1));return Array.from({length:n},(p,b)=>{let m=(b+1)/(n+1),d=m-l/2,h=m+l/2;return a&&f?[...me(a,d,h),...me(f,d,h).reverse()]:[L(i,s,d),L(i,s,h),L(u,c,h),L(u,c,d)]})}var rn=40,sn=1200,cn=.8,an=3,ln=-2,un=20,fn=.1,dn=40,hn=40,pe=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function Je(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/pe(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 u=c.length;s&&s+1+u<=o?s+=1+u:(r+=Math.max(1,Math.ceil(u/o)),s=u%o)}}return Math.max(1,r)}function V(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(c=>c.length))*pe(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=Je(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function et(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 ge(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=et(e,o[i],o[r]);s<n&&(n=s)}return n}function be(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,u=t[r].y;s>e.y!=u>e.y&&e.x<(c-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function tt(e,t,n){let o=be(e,t)&&!n.some(i=>be(e,i)),r=ge(e,[t,...n]);return o?r:-r}function D(e,t,n,o,r){let i=tt({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var q=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 Q(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 nt(e,t){return Math.max(0,Q(e)-(t??[]).reduce((n,o)=>n+Q(o),0))}function Z(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let m=e.reduce((h,g)=>h+g.x,0)/e.length,d=e.reduce((h,g)=>h+g.y,0)/e.length;return{point:{x:m,y:d},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,u=s-r,y=Math.min(c,u);if(!(y>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let a=Math.max(c,u)/150,f=new q,l=y/2;for(let m=o;m<i;m+=y)for(let d=r;d<s;d+=y)f.push(D(m+l,d+l,l,e,n));let p=D(o+c/2,r+u/2,0,e,n),b=0;for(;f.size;){let m=f.pop();if(!m)break;m.d>p.d&&(p=m),!(m.max-p.d<=a)&&(b>=4e3||(b+=1,l=m.h/2,f.push(D(m.x-l,m.y-l,l,e,n)),f.push(D(m.x+l,m.y-l,l,e,n)),f.push(D(m.x-l,m.y+l,l,e,n)),f.push(D(m.x+l,m.y+l,l,e,n))))}return{point:{x:p.x,y:p.y},radius:Math.max(0,p.d)}}function k(e,t,n){return e<t?t:e>n?n:e}var pn=Math.PI*2;function Me(e,t,n){return ot(e,r=>({x:r.x+t,y:r.y+n}))}function ot(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 bn=4/3;function rt(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 u=Math.max(1,Math.round(c/n)),y=c/u,a=Math.atan2(s.y-i.y,s.x-i.x),f=r===0,p=(r>0?t[r-1]:void 0)==="break"?2:1,b=f?{...i}:{x:i.x+Math.cos(a)*y*p,y:i.y+Math.sin(a)*y*p},m=f?u+1:Math.max(1,u-(p-1));o.push({origin:b,rotation:a*180/Math.PI,seatCount:m,seatSpacing:y})}return o}function it(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 st(e){return e.reduce((t,n)=>t+n.seatCount,0)}function J(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((l,p)=>l.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((l,p)=>l.segmentedRow?.kind==="segmented-row-v1"&&l.segmentedRow.groupId===o&&l.segmentedRow.componentCount===s&&l.segmentedRow.componentIndex===p&&l.segmentedRow.repeatLabelOnComponents===c.repeatLabelOnComponents&&(p===0?l.segmentedRow.boundaryBefore==="start":l.segmentedRow.boundaryBefore!=="start")&&l.segmentedRow.displayLabel===c.displayLabel)))continue;let y=i.reduce((l,p)=>l+p.seatCount,0),a=0,f=0;for(let l of i)l.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(l.id,{groupId:o,adjacencyOffset:a,displayOffset:f,displayLabel:c.displayLabel,totalSeats:y,canonical:i[0],viewFromSeatUrl:c.viewFromSeatUrl,viewFromSeatMeta:c.viewFromSeatMeta,confidenceEvidence:c.confidenceEvidence}),a+=l.seatCount,f+=l.seatCount}return t}var ct="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var at="abcdefghijklmnopqrstuvwxyz";function lt(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 ee(e,t=!1){let n=t?at:ct;return lt(Math.max(0,Math.floor(e)-1),n)}var ut=[[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 Se(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of ut)for(;t>=o;)n+=r,t-=o;return n}function ft(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 te(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,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let p=Math.ceil(u/2),b=i==="updown"?t<p?n+2*t:n-1+2*(u-t):t<p?n+2*(p-1-t):n+1+2*(t-p);return`${s}${b}`}let y=i==="odd"||i==="even"?2:r,a=c!=null&&Number.isFinite(c)?c-(u-1)*y:n,f=o==="center"?ft(u)[t]:o==="rtl"?u-1-t:t,l;switch(i){case"odd":{let p=a%2===1?a:a+1;l=String(p+f*2);break}case"even":{let p=a%2===0?a:a+1;l=String(p+f*2);break}case"roman":l=Se(a+f*r);break;case"letters-upper":l=ee(a+f*r,!1);break;case"letters-lower":l=ee(a+f*r,!0);break;default:l=String(a+f*r);break}return`${s}${l}`}function dt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function we(e,t,n){return n?.label??`${e.label}-${te(e,t)}`}function ne(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${te(e,t)}`;let r=dt(n),i=n.displayOffset+t;return`${n.displayLabel}-${te(r,i)}`}var X=.02291666666666667,vn=1/X,ht=58,mt=ht*X;var yt=3,Pe=0,oe=120,xt=0,pt=45,bt=7,B=1.2;function re(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function gt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=bt?e:yt}function ve(e,t={}){let n=re(t.floorBaseHeightM,Pe,oe,0),o=Math.min(oe,n+gt(e.elevation)*mt),r=e.height===void 0?o:re(e.height,Pe,oe,o),i=re(e.rake,xt,pt,0);return{height:r,rake:i}}function Ie(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 Ce(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,u=s.y-i.y,y=c*c+u*u,a=y>1e-12?((t-i.x)*c+(n-i.y)*u)/y:0;a<0?a=0:a>1&&(a=1);let f=Math.hypot(t-(i.x+a*c),n-(i.y+a*u));f<o&&(o=f)}return o}function Mt(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 Ee(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function ie(e,t){let n=1/0;for(let o of Ie(e)){let r=Ce(t,o.x,o.y);r<n&&(n=r)}for(let o of Ie(t)){let r=Ce(e,o.x,o.y);r<n&&(n=r)}return n}function St(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 f=Math.hypot(a.x-n,a.y-o);f>r&&(r=f,i=a)}let s=i.x-n,c=i.y-o,u=Math.hypot(s,c);u>1e-9?(s/=u,c/=u):(s=1,c=0);let y=e.map((a,f)=>({p:a,i:f,t:(a.x-n)*s+(a.y-o)*c})).sort((a,f)=>a.t-f.t);return{pts:y.map(a=>a.p),seatIndices:y.map(a=>t[a.i])}}function wt(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,u=0,y=0,a=0;for(let g of e){let x=g.x-n,M=g.y-o;r+=x*x,s+=M*M,i+=x*M,c+=x*x*x,u+=M*M*M,y+=x*M*M,a+=M*x*x}let f=r*s-i*i;if(Math.abs(f)<1e-9)return null;let l=(c+y)/2,p=(u+a)/2,b=(l*s-p*i)/f,m=(p*r-l*i)/f,d=b+n,h=m+o;return!Number.isFinite(d)||!Number.isFinite(h)?null:{cx:d,cy:h}}var Pt=.15;function vt(e){if(e.length<2)return null;let t=e.map(g=>{let x=0,M=0;for(let P of g.pts)x+=P.x,M+=P.y;return{x:x/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 x=g.x-n,M=g.y-o;r+=x*x,i+=x*M,s+=M*M}let c=r+s,u=r*s-i*i,y=c/2+Math.sqrt(Math.max(0,c*c/4-u)),a,f;Math.abs(i)>1e-12?(a=y-s,f=i):r>=s?(a=1,f=0):(a=0,f=1);let l=Math.hypot(a,f);if(!(l>1e-12))return null;a/=l,f/=l;let p=1/0,b=-1/0,m=[];for(let g of e){let x=1/0,M=-1/0;for(let P of g.pts){let S=P.x*a+P.y*f;S<x&&(x=S),S>M&&(M=S),S<p&&(p=S),S>b&&(b=S)}m.push(M-x)}let d=b-p;return d>1e-9?(m.sort((g,x)=>g-x),m[Math.min(m.length-1,Math.floor(m.length*.9))]/d<=It?{x:a,y:f}:null):null}var It=.35;function Oe(e,t,n,o){let r=new Map;for(let d of n){let h=t[d],g=h.rowId||`__seat-${d}`,x=r.get(g);x||(x={pts:[],idx:[]},r.set(g,x)),x.pts.push({x:h.x,y:h.y}),x.idx.push(d)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[d,h]of r){let g=St(h.pts,h.idx),x=0;for(let M of g.pts)x+=Math.hypot(M.x-o.x,M.y-o.y);i.push({id:d,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:x/g.pts.length})}let s=i.map(d=>Mt(d.pts)),c=[];for(let d=0;d<i.length;d++){let h=1/0;for(let g=0;g<i.length;g++){if(d===g||Ee(s[d],s[g])>=h)continue;let x=ie(i[d].pts,i[g].pts);x<h&&(h=x)}Number.isFinite(h)&&c.push(h)}c.sort((d,h)=>d-h);let u=c.length?c[Math.floor(c.length/2)]:1,y=Math.max(u*1.8,1e-6),a=i.map(()=>[]);for(let d=0;d<i.length;d++)for(let h=d+1;h<i.length;h++)Ee(s[d],s[h])>y||ie(i[d].pts,i[h].pts)<=y&&(a[d].push(h),a[h].push(d));let f=0;for(let d=0;d<i.length;d++){if(i[d].blockId!==-1)continue;let h=f++,g=[d];for(i[d].blockId=h;g.length;){let x=g.pop();for(let M of a[x])i[M].blockId===-1&&(i[M].blockId=h,g.push(M))}}let l=new Map;for(let d of i){let h=l.get(d.blockId)??[];h.push(d),l.set(d.blockId,h)}let p=[];for(let d of i){if(d.pts.length<4)continue;let h=wt(d.pts);h&&(!Number.isFinite(h.cx)||!Number.isFinite(h.cy)||p.push({x:h.cx,y:h.cy}))}let b=p.length>=2?(()=>{let d=p.map(x=>x.x).sort((x,M)=>x-M),h=p.map(x=>x.y).sort((x,M)=>x-M),g=Math.floor(p.length/2);return{cx:d[g],cy:h[g]}})():null;if(b){let d=S=>Math.hypot(S.x-b.cx,S.y-b.cy),h=1/0,g=-1/0,x=[];for(let S of i){let w=1/0,E=-1/0;for(let C of S.pts){let I=d(C);I<w&&(w=I),I>E&&(E=I)}x.push(E-w),w<h&&(h=w),E>g&&(g=E)}let M=g-h;x.sort((S,w)=>S-w);let P=x[Math.min(x.length-1,Math.floor(x.length*.9))];if(M>1e-9&&P/M<=Pt){let S=i.map(v=>{let O=0;for(let R of v.pts)O+=d(R);return{row:v,radius:O/v.pts.length}}),w=1/0;for(let v of S)v.radius<w&&(w=v.radius);S.sort((v,O)=>v.radius-O.radius);let E=-1,C=-1/0,I=M/Math.max(1,S.length)*.5,A=[];for(let v of S)v.radius-C>I&&(E++,C=v.radius),v.row.ordinal=E,v.row.blockDepth=v.radius-w,A.push(v.row);return{sectionId:e,rows:A,blockCount:f}}}let m=[];for(let[,d]of l){let h=vt(d);if(h){let g=M=>{let P=0;for(let S of M.pts)P+=S.x*h.x+S.y*h.y;return P/M.pts.length};d.sort((M,P)=>g(M)-g(P));let x=0;for(let M=0;M<d.length;M++)M>0&&(x+=ie(d[M-1].pts,d[M].pts)),d[M].ordinal=M,d[M].blockDepth=x,m.push(d[M])}else{let g=1/0;for(let x of d)x.focalDistance<g&&(g=x.focalDistance);d.sort((x,M)=>x.focalDistance-M.focalDistance);for(let x=0;x<d.length;x++)d[x].ordinal=x,d[x].blockDepth=Math.max(0,d[x].focalDistance-g),m.push(d[x])}}return{sectionId:e,rows:m,blockCount:f}}function _e(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 z=Math.PI/180,Ct=9,N=16;function ce(e,t,n,o){let r=n*z,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function le(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return W(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(ce(y*n,0,r,i));return s}let c=o/(t-1)*z,u=n/(2*Math.sin(Math.abs(c)/2));for(let y=0;y<t;y++){let a=y*c,f=u*Math.sin(a),l=-u+u*Math.cos(a);s.push(ce(f,l,r,i))}return s}function Et(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function Ot(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 ke(e,t){let n=Et(e);return le(e).map((o,r)=>{let i=n.get(r),s=_e(i),c=we(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:c,displayLabel:ne(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(y=>y!==void 0&&y!==!1&&y!=="")?u:void 0,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function ue(e){let t=[];for(let n of ke(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,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function Le(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 fe(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,f,l,p)=>{let b=o.get(a),m=_e(b),d=b?.label??`${e.label}-${a+1}`,h=e.displayLabel??e.label;return{index:a,label:d,displayLabel:b?.displayLabel??`${h}-${a+1}`,x:f+(b?.dx??0),y:l+(b?.dy??0),categoryKey:b?.categoryKey??e.categoryKey,skipped:!!b?.skip,accessible:m.length>0,accessibility:m,wheelchairSpaceType:b?.wheelchairSpaceType,commercial:b?.commercial,viewUrl:b?.viewFromSeatUrl,viewMeta:b?.viewFromSeatUrl?b.viewFromSeatMeta:void 0,labelStyle:b?.labelStyle,...p?{side:p}:{}}};if(e.shape==="round"){let a=(e.radius??40)+N,f=e.rotation*z,l=Math.max(0,Math.min(360,e.seatArc??360));if(l>=360||n===1){for(let d=0;d<n;d++){let h=f+d/n*2*Math.PI;t.push(r(d,e.center.x+a*Math.cos(h),e.center.y+a*Math.sin(h)))}return t}let p=l*z,b=(2*Math.PI-p)/2,m=f+b;for(let d=0;d<n;d++){let h=m+d/(n-1)*p;t.push(r(d,e.center.x+a*Math.cos(h),e.center.y+a*Math.sin(h)))}return t}let i=e.width??80,s=e.height??50,c=Le(e),u=["top","bottom","left","right"],y=0;for(let a of u){let f=c[a];for(let l=0;l<f;l++){let p,b;a==="top"?(p=-i/2+(l+.5)*i/f,b=-s/2-N):a==="bottom"?(p=-i/2+(l+.5)*i/f,b=s/2+N):a==="left"?(p=-i/2-N,b=-s/2+(l+.5)*s/f):(p=i/2+N,b=-s/2+(l+.5)*s/f);let m=ce(p,b,e.rotation,e.center);t.push(r(y++,m.x,m.y,a))}}return t}function Rt(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):fe(e).filter(t=>!t.skipped).length}function je(e){return fe(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.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function De(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 ae(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,u=t[r].y;s>e.y!=u>e.y&&e.x<(c-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function At(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 Y(e,t,n){return ae(e,t)&&!(n??[]).some(o=>ae(e,o)||At(e,o))}function Tt(e,t){return Z(e,t).point}function se(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 Ne(e){switch(e.type){case"row":{let t=ue(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 se(e.points);case"section":return se(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?se(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 Re(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function _t(e,t){if(e.type!=="gaArea"||!Re(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Re(r,o[i]))}function Fe(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=Ne(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(_t(t,s)||Y(r,s.outline,s.holes))):void 0)??n.find(s=>Y(r,s.outline,s.holes))}function He(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 kt(e,t){let n=He(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function Ue(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function de(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:Me(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 Lt(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:de(s,0,i))}),{...e,objects:n,floors:void 0}}function jt(e){let t=e.floors;if(!t||t.length<2)return e;let n=Xe(e),o=[];return t.forEach((r,i)=>{let{x:s,y:c}=n[i];for(let u of r.objects)o.push(de(u,s,c))}),{...e,objects:o,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function Xe(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(l=>Be({...e,objects:l.objects,floors:void 0,focalPoint:l.focalPoint,referenceImage:void 0,backgroundImage:void 0})),o=Math.max(1,...n.map(l=>Math.max(l.width,l.height))),r=Math.max(64,Math.min(240,o*.08)),i=16/10,s=null;for(let l=1;l<=t.length;l+=1){let p=Math.ceil(t.length/l),b=new Array(l).fill(0),m=new Array(p).fill(0);n.forEach((M,P)=>{let S=P%l,w=Math.floor(P/l);b[S]=Math.max(b[S],M.width),m[w]=Math.max(m[w],M.height)});let d=b.reduce((M,P)=>M+P,0)+r*(l-1),h=m.reduce((M,P)=>M+P,0)+r*(p-1),g=l*p-t.length,x=Math.abs(Math.log(d/Math.max(1,h)/i))+g*.04;(!s||x<s.score)&&(s={columns:l,columnWidths:b,rowHeights:m,score:x})}let{columns:c,columnWidths:u,rowHeights:y}=s,a=[],f=[];return u.reduce((l,p,b)=>(a[b]=l,l+p+r),0),y.reduce((l,p,b)=>(f[b]=l,l+p+r),0),t.map((l,p)=>{let b=n[p],m=p%c,d=Math.floor(p/c),h=a[m]+(u[m]-b.width)/2,g=f[d]+(y[d]-b.height)/2;return{x:h-b.x,y:g-b.y}})}function Ae(e,t,n,o,r,i){let s=[],c=J(e),u=f=>!f?.eventConfigurationId||f.eventConfigurationId===o,y=f=>!!f&&(!f.eventConfigurationId||f.eventConfigurationId===o),a=(f,l)=>y(f)?{...f,coverage:l}:void 0;for(let f of e){let l=[];if(f.type==="row"?l=ue(f):f.type==="table"?l=je(f):f.type==="booth"&&(l=De(f)),!l.length)continue;for(let h of l)h.viewUrl&&!u(h.viewMeta)&&(h.viewUrl=void 0,h.viewMeta=void 0);if(f.type==="row"){let h=c.get(f.id);if(h){let g=new Map((f.overrides??[]).map(x=>[x.index,x]));for(let x of l){let M=Number(x.id.slice(x.id.lastIndexOf(":")+1));if(!Number.isInteger(M))continue;x.logicalRowId=h.groupId,x.logicalSeatIndex=h.adjacencyOffset+M,g.get(M)?.displayLabel||(x.displayLabel=ne(f,M,h)),!x.viewUrl&&h.viewFromSeatUrl&&u(h.viewFromSeatMeta)&&(x.viewUrl=h.viewFromSeatUrl,x.viewMeta=h.viewFromSeatMeta);let P=g.get(M)?.confidenceEvidence;x.confidenceEvidence=a(P,"exact-seat")??a(f.confidenceEvidence,"row-representative")??a(h.confidenceEvidence,"row-representative")}}}let p=Fe(e,f),b=p?.viewFromSeatUrl,d=(p?.zone?t?.find(h=>h.id===p.zone):void 0)?.focalPoint??n;for(let h of l){if(!h.confidenceEvidence){let g=Number(h.id.slice(h.id.lastIndexOf(":")+1)),x=(f.type==="row"||f.type==="table")&&Number.isInteger(g)?f.overrides?.find(M=>M.index===g)?.confidenceEvidence:void 0;h.confidenceEvidence=a(x,"exact-seat")??(f.type==="row"?a(f.confidenceEvidence,"row-representative"):void 0)}h.confidenceEvidence??=a(p?.confidenceEvidence,"section-representative")??(i?a(i.evidence,i.coverage):void 0),!h.viewUrl&&b&&u(p?.viewFromSeatMeta)&&(h.viewUrl=b,h.viewMeta=p?.viewFromSeatMeta),!h.viewUrl&&r&&u(r.meta)&&(h.viewUrl=r.url,h.viewMeta=r.meta),p&&(h.sectionId=p.logicalSectionId??p.id),p?.zone&&(h.zoneId=p.zone),d&&(h.focalPoint={...d})}s.push(...l)}return s}function Dt(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,u=Ae(r.objects,e.zones,i,e.eventConfigurationId,s,c);t.resolveEyeHeights!==!1&&Te(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,u),o.push(...u)}return o}let n=Ae(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&&Te(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),n}function Te(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+B;return}let s=new Array(o.length),c=new Map,u=new Map;for(let a=0;a<o.length;a++){let f=o[a],l=r.find(b=>Y({x:f.x,y:f.y},b.outline,b.holes))??null;if(s[a]=l,!l)continue;c.has(l.id)||c.set(l.id,ve(l,{floorBaseHeightM:n}));let p=u.get(l.id);p?p.push(a):u.set(l.id,[a])}let y=new Array(o.length).fill(void 0);for(let[a,f]of u){let l=c.get(a);if(!l)continue;let p=l.rake>0?Math.tan(l.rake*Math.PI/180):0,b=Oe(a,o,f,t);for(let m of b.rows){let d=m.blockDepth*X*p,h=l.height+d;for(let g of m.seatIndices)y[g]=h}}for(let a=0;a<o.length;a++){let f=o[a],l=s[a];if(!l){f.eyeHeightM=n+B;continue}let p=c.get(l.id);f.eyeHeightM=(y[a]??p.height)+B}}var G=40;function Be(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 Ue(e))if(s.type==="row"){let c=new Map((s.overrides??[]).map(u=>[u.index,u]));le(s).forEach((u,y)=>{let a=c.get(y);a?.skip||i(u.x+(a?.dx??0),u.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+Ct,u=s.shape==="round"?(s.radius??40)+c:Math.max((s.width??80)/2,(s.height??50)/2)+c;i(s.center.x-u,s.center.y-u),i(s.center.x+u,s.center.y+u)}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=V(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:u}=s,y=u*3/4;i(c.x-u/2,c.y-y/2),i(c.x+u/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-G,y:n-G,width:o-t+G*2,height:r-n+G*2}}function Nt(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 K(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,f=Math.hypot(e.distance,e.height),l=(-e.distance*y-e.height*a)/f,p=(-e.height*y+e.distance*a)/f,b=Math.max(f*.08,l),m=e.focalLength/b;return{x:e.target.x+c*m,y:e.target.y-p*m,depth:b,scale:m}}function Ft(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 Ht(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 Ut(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 Xt(e,t,n=()=>0){let o=K(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=K(e,r,n(r)),c=K(e,i,n(i)),u=s.x-o.x,y=s.y-o.y,a=c.x-o.x,f=c.y-o.y;return{a:u,b:y,c:a,d:f,e:o.x-u*t.x-a*t.y,f:o.y-y*t.x-f*t.y}}function Bt(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 Ge=9;function Gt(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 zt(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 u=-i*Math.PI/180,y=Math.cos(u),a=Math.sin(u);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 Yt(e,t,n,o,r){if(e.shape.kind==="circle"){let b=Math.min(Math.max(e.seat.x,t),o),m=Math.min(Math.max(e.seat.y,n),r),d=e.seat.x-b,h=e.seat.y-m;return d*d+h*h<=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),u=Math.sin(s),y=e.shape.width/2,a=e.shape.height/2,f=[[-y,-a],[y,-a],[y,a],[-y,a]].map(([b,m])=>[e.seat.x+b*c-m*u,e.seat.y+b*u+m*c]),l=[[t,n],[o,n],[o,r],[t,r]],p=[[1,0],[0,1],[c,u],[-u,c]];for(let[b,m]of p){let d=1/0,h=-1/0;for(let[M,P]of f){let S=M*b+P*m;S<d&&(d=S),S>h&&(h=S)}let g=1/0,x=-1/0;for(let[M,P]of l){let S=M*b+P*m;S<g&&(g=S),S>x&&(x=S)}if(h<g||x<d)return!1}return!0}function Kt(e,t={}){let n=t.seatRadius??Ge,o=e.length,r=new Array(o),i=1/0,s=1/0,c=-1/0,u=-1/0,y=0;for(let S=0;S<o;S++){let w=e[S],E=t.shapeOf?.(w)??{kind:"circle",r:n},{hx:C,hy:I}=Gt(E);r[S]={seat:w,shape:E,hx:C,hy:I},w.x-C<i&&(i=w.x-C),w.y-I<s&&(s=w.y-I),w.x+C>c&&(c=w.x+C),w.y+I>u&&(u=w.y+I),C>y&&(y=C),I>y&&(y=I)}o===0&&(i=0,s=0,c=0,u=0);let a=y>0?y*4:1,f=Math.max(c-i,0),l=Math.max(u-s,0),p=Math.max(64,t.maxCells??o*4),b=a,m=Math.max(1,Math.ceil(f/b)||1),d=Math.max(1,Math.ceil(l/b)||1);for(;m*d>p&&(m>1||d>1);)b*=2,m=Math.max(1,Math.ceil(f/b)||1),d=Math.max(1,Math.ceil(l/b)||1);let h=m*d,g=new Int32Array(h+1),x=0;for(let S=0;S<o;S++){let w=r[S],E=k(Math.floor((w.seat.x-w.hx-i)/b),0,m-1),C=k(Math.floor((w.seat.x+w.hx-i)/b),0,m-1),I=k(Math.floor((w.seat.y-w.hy-s)/b),0,d-1),A=k(Math.floor((w.seat.y+w.hy-s)/b),0,d-1);for(let v=I;v<=A;v++)for(let O=E;O<=C;O++)g[v*m+O+1]++,x++}for(let S=0;S<h;S++)g[S+1]+=g[S];let M=new Int32Array(x),P=g.slice(0,h);for(let S=0;S<o;S++){let w=r[S],E=k(Math.floor((w.seat.x-w.hx-i)/b),0,m-1),C=k(Math.floor((w.seat.x+w.hx-i)/b),0,m-1),I=k(Math.floor((w.seat.y-w.hy-s)/b),0,d-1),A=k(Math.floor((w.seat.y+w.hy-s)/b),0,d-1);for(let v=I;v<=A;v++)for(let O=E;O<=C;O++){let R=v*m+O;M[P[R]++]=S}}return{seats:e,entries:r,minX:i,minY:s,cell:b,cols:m,rows:d,cellStart:g,items:M,stamp:new Int32Array(o),epoch:0}}function $t(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:c,cellStart:u,items:y,entries:a}=e,f=Math.floor((t.x-s)/i),l=Math.floor((t.y-c)/i);if(f<0||l<0||f>=o||l>=r)return null;let p=l*o+f,b=u[p+1],m=-1,d=1/0;for(let h=u[p];h<b;h++){let g=y[h],x=a[g];if(n.filter&&!n.filter(x.seat.id,x.seat)||!zt(x,t.x,t.y))continue;let M=t.x-x.seat.x,P=t.y-x.seat.y,S=M*M+P*P;(S<d||S===d&&g<m)&&(d=S,m=g)}return m<0?null:a[m].seat.id}function Wt(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:c,minY:u,cellStart:y,items:a,entries:f}=e,l=Math.max(0,Math.floor((t.x-n-c)/s)),p=Math.min(r-1,Math.floor((t.x+n-c)/s)),b=Math.max(0,Math.floor((t.y-n-u)/s)),m=Math.min(i-1,Math.floor((t.y+n-u)/s));if(l>p||b>m)return null;let d=-1,h=n*n,g=e.stamp,x=++e.epoch;for(let M=b;M<=m;M++){let P=M*r;for(let S=l;S<=p;S++){let w=P+S,E=y[w+1];for(let C=y[w];C<E;C++){let I=a[C];if(g[I]===x)continue;g[I]=x;let A=f[I];if(o.filter&&!o.filter(A.seat.id,A.seat))continue;let v=t.x-A.seat.x,O=t.y-A.seat.y,R=v*v+O*O;(R<h||R===h&&I<d)&&(h=R,d=I)}}}return d<0?null:f[d].seat.id}function Vt(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:u,rows:y,cell:a,minX:f,minY:l,cellStart:p,items:b,entries:m}=e,d=Math.max(0,Math.floor((o-f)/a)),h=Math.min(u-1,Math.floor((r-f)/a)),g=Math.max(0,Math.floor((i-l)/a)),x=Math.min(y-1,Math.floor((s-l)/a));if(d>h||g>x)return[];let M=[],P=e.stamp,S=++e.epoch;for(let w=g;w<=x;w++){let E=w*u;for(let C=d;C<=h;C++){let I=E+C,A=p[I+1];for(let v=p[I];v<A;v++){let O=b[v];if(P[O]===S)continue;P[O]=S;let R=m[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:Yt(R,o,i,r,s))&&M.push(O)}}}return M.sort((w,E)=>w-E),M.map(w=>m[w].seat.id)}function qt(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,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,gridStats,hitTest,invertAffine,layoutFloorOverview,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 V=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var Ve=Object.prototype.hasOwnProperty;var qe=(e,t)=>{for(var n in t)V(e,n,{get:t[n],enumerable:!0})},Qe=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of We(t))!Ve.call(e,r)&&r!==n&&V(e,r,{get:()=>t[r],enumerable:!(o=$e(t,r))||o.enumerable});return e};var Ze=e=>Qe(V({},"__esModule",{value:!0}),e);var en={};qe(en,{DEFAULT_SEAT_RADIUS:()=>Ye,TEXT_BACKGROUND_PADDING_MAX:()=>mn,TEXT_BACKGROUND_RADIUS_MAX:()=>yn,TEXT_LETTER_SPACING_MAX:()=>dn,TEXT_LETTER_SPACING_MIN:()=>fn,TEXT_LINE_HEIGHT_MAX:()=>un,TEXT_LINE_HEIGHT_MIN:()=>ln,TEXT_OPACITY_MIN:()=>hn,TEXT_WIDTH_MAX:()=>an,TEXT_WIDTH_MIN:()=>cn,allObjects:()=>Be,applyAffine:()=>Xt,buildAisleHoles:()=>tt,buildSeatIndex:()=>Vt,buildSectionShell:()=>et,chartBounds:()=>ze,composeAffine:()=>Gt,createPerspectiveCamera:()=>Ut,cubicPoint:()=>X,decomposeAffineLinear:()=>Yt,distanceToRings:()=>Se,distributeAlongCubic:()=>q,expandBooth:()=>Fe,expandChart:()=>Ht,expandRow:()=>de,expandRowSlots:()=>je,expandTable:()=>Ne,expandTableSlots:()=>he,floorObjects:()=>Dt,floorOverviewTranslations:()=>Ge,floorsOf:()=>Xe,gridStats:()=>Jt,hitTest:()=>qt,invertAffine:()=>Bt,layoutFloorOverview:()=>Ft,nearestWithin:()=>Qt,objectCenter:()=>He,owningSectionForObject:()=>Ue,perspectiveTangentAffine:()=>zt,pointInPolygon:()=>ue,pointInPolygonWithHoles:()=>$,polygonArea:()=>J,polygonInscribedAnchor:()=>ee,polygonLabelPoint:()=>Lt,polygonNetArea:()=>it,projectPerspectivePoint:()=>W,queryRect:()=>Zt,resolveSegmentedRowGroups:()=>te,rowInventoryCount:()=>Tt,rowSeatPositions:()=>fe,segmentedRowComponentSeats:()=>at,segmentedRowComponents:()=>ct,segmentedRowSeatTotal:()=>lt,smoothCubicThroughMiddle:()=>Je,stackFloors:()=>Nt,tableInventoryCount:()=>_t,tableSeatCountsBySide:()=>De,textLayoutMetrics:()=>Q,translateObject:()=>me});module.exports=Ze(en);var nn=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 X(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 Je(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 q(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[X(e,.5)];let o=Array.from({length:n+1},(u,y)=>X(e,y/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let y=o[u].x-o[u-1].x,a=o[u].y-o[u-1].y;r[u]=r[u-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 u=0;u<t;u+=1){let y=i*u/(t-1);for(;c<r.length-1&&r[c]<y;)c+=1;let a=r[c-1],f=r[c],l=f===a?0:(y-a)/(f-a);s.push({x:o[c-1].x+(o[c].x-o[c-1].x)*l,y:o[c-1].y+(o[c].y-o[c-1].y)*l})}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 B(e,t=13){return Array.from({length:t},(n,o)=>X(e,o/(t-1)))}function ye(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 xe(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[ye(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(ye(e,r)),i}function pe(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([l,p],b)=>{let m=D(j(e[l],e[p],.5),t);m<r&&(r=m,o=b)});let i=e[o],s=e[(o+1)%4],c=e[(o+2)%4],u=e[(o+3)%4],y=j(i,s,.5),a=H(t,y),f=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:s,p2:c,p3:u,normal:k(a,1/f),depth:(D(i,u)+D(s,c))/2}}function be(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,c=H(n,t),u=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(u,2/3)),k(i,a)),control2:_(_(r,k(u,1/3)),k(i,a)),end:r}}}function et(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((b,m)=>_(b,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(b=>({...b}))};let c=pe(e,t),{p0:u,p1:y,p2:a,p3:f}=c;if(s==="tapered")return{mode:s,outline:[_(u,k(H(y,u),.14)),_(u,k(H(y,u),1-.14)),a,f]};let{nearPath:l,farPath:p}=be(c);return{mode:s,outline:[...B(l),...B(p).slice(1)]}}function tt(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=pe(e,t),{p0:i,p1:s,p2:c,p3:u}=r,y=o==="bezier"?be(r):null,a=y?B(y.nearPath):null,f=y?B(y.farPath).reverse():null,l=Math.min(.055,.18/(n+1));return Array.from({length:n},(p,b)=>{let m=(b+1)/(n+1),d=m-l/2,h=m+l/2;return a&&f?[...xe(a,d,h),...xe(f,d,h).reverse()]:[j(i,s,d),j(i,s,h),j(u,c,h),j(u,c,d)]})}var cn=40,an=1200,ln=.8,un=3,fn=-2,dn=20,hn=.1,mn=40,yn=40,ge=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function nt(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/ge(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 u=c.length;s&&s+1+u<=o?s+=1+u:(r+=Math.max(1,Math.ceil(u/o)),s=u%o)}}return Math.max(1,r)}function Q(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(c=>c.length))*ge(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=nt(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function ot(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 Se(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=ot(e,o[i],o[r]);s<n&&(n=s)}return n}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,u=t[r].y;s>e.y!=u>e.y&&e.x<(c-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function rt(e,t,n){let o=Me(e,t)&&!n.some(i=>Me(e,i)),r=Se(e,[t,...n]);return o?r:-r}function N(e,t,n,o,r){let i=rt({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var Z=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 J(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 it(e,t){return Math.max(0,J(e)-(t??[]).reduce((n,o)=>n+J(o),0))}function ee(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let m=e.reduce((h,g)=>h+g.x,0)/e.length,d=e.reduce((h,g)=>h+g.y,0)/e.length;return{point:{x:m,y:d},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,u=s-r,y=Math.min(c,u);if(!(y>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let a=Math.max(c,u)/150,f=new Z,l=y/2;for(let m=o;m<i;m+=y)for(let d=r;d<s;d+=y)f.push(N(m+l,d+l,l,e,n));let p=N(o+c/2,r+u/2,0,e,n),b=0;for(;f.size;){let m=f.pop();if(!m)break;m.d>p.d&&(p=m),!(m.max-p.d<=a)&&(b>=4e3||(b+=1,l=m.h/2,f.push(N(m.x-l,m.y-l,l,e,n)),f.push(N(m.x+l,m.y-l,l,e,n)),f.push(N(m.x-l,m.y+l,l,e,n)),f.push(N(m.x+l,m.y+l,l,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 gn=Math.PI*2;function we(e,t,n){return st(e,r=>({x:r.x+t,y:r.y+n}))}function st(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 Mn=4/3;function ct(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 u=Math.max(1,Math.round(c/n)),y=c/u,a=Math.atan2(s.y-i.y,s.x-i.x),f=r===0,p=(r>0?t[r-1]:void 0)==="break"?2:1,b=f?{...i}:{x:i.x+Math.cos(a)*y*p,y:i.y+Math.sin(a)*y*p},m=f?u+1:Math.max(1,u-(p-1));o.push({origin:b,rotation:a*180/Math.PI,seatCount:m,seatSpacing:y})}return o}function at(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 lt(e){return e.reduce((t,n)=>t+n.seatCount,0)}function te(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((l,p)=>l.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((l,p)=>l.segmentedRow?.kind==="segmented-row-v1"&&l.segmentedRow.groupId===o&&l.segmentedRow.componentCount===s&&l.segmentedRow.componentIndex===p&&l.segmentedRow.repeatLabelOnComponents===c.repeatLabelOnComponents&&(p===0?l.segmentedRow.boundaryBefore==="start":l.segmentedRow.boundaryBefore!=="start")&&l.segmentedRow.displayLabel===c.displayLabel)))continue;let y=i.reduce((l,p)=>l+p.seatCount,0),a=0,f=0;for(let l of i)l.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(l.id,{groupId:o,adjacencyOffset:a,displayOffset:f,displayLabel:c.displayLabel,totalSeats:y,canonical:i[0],viewFromSeatUrl:c.viewFromSeatUrl,viewFromSeatMeta:c.viewFromSeatMeta,confidenceEvidence:c.confidenceEvidence}),a+=l.seatCount,f+=l.seatCount}return t}var ut="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var ft="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 ne(e,t=!1){let n=t?ft:ut;return dt(Math.max(0,Math.floor(e)-1),n)}var ht=[[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 Pe(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of ht)for(;t>=o;)n+=r,t-=o;return n}function mt(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 oe(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,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let p=Math.ceil(u/2),b=i==="updown"?t<p?n+2*t:n-1+2*(u-t):t<p?n+2*(p-1-t):n+1+2*(t-p);return`${s}${b}`}let y=i==="odd"||i==="even"?2:r,a=c!=null&&Number.isFinite(c)?c-(u-1)*y:n,f=o==="center"?mt(u)[t]:o==="rtl"?u-1-t:t,l;switch(i){case"odd":{let p=a%2===1?a:a+1;l=String(p+f*2);break}case"even":{let p=a%2===0?a:a+1;l=String(p+f*2);break}case"roman":l=Pe(a+f*r);break;case"letters-upper":l=ne(a+f*r,!1);break;case"letters-lower":l=ne(a+f*r,!0);break;default:l=String(a+f*r);break}return`${s}${l}`}function yt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function ve(e,t,n){return n?.label??`${e.label}-${oe(e,t)}`}function re(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${oe(e,t)}`;let r=yt(n),i=n.displayOffset+t;return`${n.displayLabel}-${oe(r,i)}`}var G=.02291666666666667,Cn=1/G,xt=58,pt=xt*G;var bt=3,Ie=0,ie=120,gt=0,Mt=45,St=7,z=1.2;function se(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function wt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=St?e:bt}function Ce(e,t={}){let n=se(t.floorBaseHeightM,Ie,ie,0),o=Math.min(ie,n+wt(e.elevation)*pt),r=e.height===void 0?o:se(e.height,Ie,ie,o),i=se(e.rake,gt,Mt,0);return{height:r,rake:i}}function Ee(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 Oe(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,u=s.y-i.y,y=c*c+u*u,a=y>1e-12?((t-i.x)*c+(n-i.y)*u)/y:0;a<0?a=0:a>1&&(a=1);let f=Math.hypot(t-(i.x+a*c),n-(i.y+a*u));f<o&&(o=f)}return o}function Pt(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 Re(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function ce(e,t){let n=1/0;for(let o of Ee(e)){let r=Oe(t,o.x,o.y);r<n&&(n=r)}for(let o of Ee(t)){let r=Oe(e,o.x,o.y);r<n&&(n=r)}return n}function vt(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 f=Math.hypot(a.x-n,a.y-o);f>r&&(r=f,i=a)}let s=i.x-n,c=i.y-o,u=Math.hypot(s,c);u>1e-9?(s/=u,c/=u):(s=1,c=0);let y=e.map((a,f)=>({p:a,i:f,t:(a.x-n)*s+(a.y-o)*c})).sort((a,f)=>a.t-f.t);return{pts:y.map(a=>a.p),seatIndices:y.map(a=>t[a.i])}}function It(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,u=0,y=0,a=0;for(let g of e){let x=g.x-n,M=g.y-o;r+=x*x,s+=M*M,i+=x*M,c+=x*x*x,u+=M*M*M,y+=x*M*M,a+=M*x*x}let f=r*s-i*i;if(Math.abs(f)<1e-9)return null;let l=(c+y)/2,p=(u+a)/2,b=(l*s-p*i)/f,m=(p*r-l*i)/f,d=b+n,h=m+o;return!Number.isFinite(d)||!Number.isFinite(h)?null:{cx:d,cy:h}}var Ct=.15;function Et(e){if(e.length<2)return null;let t=e.map(g=>{let x=0,M=0;for(let P of g.pts)x+=P.x,M+=P.y;return{x:x/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 x=g.x-n,M=g.y-o;r+=x*x,i+=x*M,s+=M*M}let c=r+s,u=r*s-i*i,y=c/2+Math.sqrt(Math.max(0,c*c/4-u)),a,f;Math.abs(i)>1e-12?(a=y-s,f=i):r>=s?(a=1,f=0):(a=0,f=1);let l=Math.hypot(a,f);if(!(l>1e-12))return null;a/=l,f/=l;let p=1/0,b=-1/0,m=[];for(let g of e){let x=1/0,M=-1/0;for(let P of g.pts){let S=P.x*a+P.y*f;S<x&&(x=S),S>M&&(M=S),S<p&&(p=S),S>b&&(b=S)}m.push(M-x)}let d=b-p;return d>1e-9?(m.sort((g,x)=>g-x),m[Math.min(m.length-1,Math.floor(m.length*.9))]/d<=Ot?{x:a,y:f}:null):null}var Ot=.35;function Ae(e,t,n,o){let r=new Map;for(let d of n){let h=t[d],g=h.rowId||`__seat-${d}`,x=r.get(g);x||(x={pts:[],idx:[]},r.set(g,x)),x.pts.push({x:h.x,y:h.y}),x.idx.push(d)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[d,h]of r){let g=vt(h.pts,h.idx),x=0;for(let M of g.pts)x+=Math.hypot(M.x-o.x,M.y-o.y);i.push({id:d,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:x/g.pts.length})}let s=i.map(d=>Pt(d.pts)),c=[];for(let d=0;d<i.length;d++){let h=1/0;for(let g=0;g<i.length;g++){if(d===g||Re(s[d],s[g])>=h)continue;let x=ce(i[d].pts,i[g].pts);x<h&&(h=x)}Number.isFinite(h)&&c.push(h)}c.sort((d,h)=>d-h);let u=c.length?c[Math.floor(c.length/2)]:1,y=Math.max(u*1.8,1e-6),a=i.map(()=>[]);for(let d=0;d<i.length;d++)for(let h=d+1;h<i.length;h++)Re(s[d],s[h])>y||ce(i[d].pts,i[h].pts)<=y&&(a[d].push(h),a[h].push(d));let f=0;for(let d=0;d<i.length;d++){if(i[d].blockId!==-1)continue;let h=f++,g=[d];for(i[d].blockId=h;g.length;){let x=g.pop();for(let M of a[x])i[M].blockId===-1&&(i[M].blockId=h,g.push(M))}}let l=new Map;for(let d of i){let h=l.get(d.blockId)??[];h.push(d),l.set(d.blockId,h)}let p=[];for(let d of i){if(d.pts.length<4)continue;let h=It(d.pts);h&&(!Number.isFinite(h.cx)||!Number.isFinite(h.cy)||p.push({x:h.cx,y:h.cy}))}let b=p.length>=2?(()=>{let d=p.map(x=>x.x).sort((x,M)=>x-M),h=p.map(x=>x.y).sort((x,M)=>x-M),g=Math.floor(p.length/2);return{cx:d[g],cy:h[g]}})():null;if(b){let d=S=>Math.hypot(S.x-b.cx,S.y-b.cy),h=1/0,g=-1/0,x=[];for(let S of i){let w=1/0,C=-1/0;for(let E of S.pts){let v=d(E);v<w&&(w=v),v>C&&(C=v)}x.push(C-w),w<h&&(h=w),C>g&&(g=C)}let M=g-h;x.sort((S,w)=>S-w);let P=x[Math.min(x.length-1,Math.floor(x.length*.9))];if(M>1e-9&&P/M<=Ct){let S=i.map(I=>{let U=0;for(let Ke of I.pts)U+=d(Ke);return{row:I,radius:U/I.pts.length}}),w=S[0],C=S[0];for(let I of S)I.radius<w.radius&&(w=I),I.radius>C.radius&&(C=I);if(w.row.focalDistance>C.row.focalDistance)for(let I of S)I.radius=-I.radius;let v=1/0;for(let I of S)I.radius<v&&(v=I.radius);S.sort((I,U)=>I.radius-U.radius);let T=-1,O=-1/0,R=M/Math.max(1,S.length)*.5,A=[];for(let I of S)I.radius-O>R&&(T++,O=I.radius),I.row.ordinal=T,I.row.blockDepth=I.radius-v,A.push(I.row);return{sectionId:e,rows:A,blockCount:f}}}let m=[];for(let[,d]of l){let h=Et(d);if(h){let g=M=>{let P=0;for(let S of M.pts)P+=S.x*h.x+S.y*h.y;return P/M.pts.length};d.sort((M,P)=>g(M)-g(P)),d.length>=2&&d[0].focalDistance>d[d.length-1].focalDistance&&d.reverse();let x=0;for(let M=0;M<d.length;M++)M>0&&(x+=ce(d[M-1].pts,d[M].pts)),d[M].ordinal=M,d[M].blockDepth=x,m.push(d[M])}else{let g=1/0;for(let x of d)x.focalDistance<g&&(g=x.focalDistance);d.sort((x,M)=>x.focalDistance-M.focalDistance);for(let x=0;x<d.length;x++)d[x].ordinal=x,d[x].blockDepth=Math.max(0,d[x].focalDistance-g),m.push(d[x])}}return{sectionId:e,rows:m,blockCount:f}}function Le(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 K=Math.PI/180,Rt=9,F=16;function le(e,t,n,o){let r=n*K,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function fe(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return q(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(le(y*n,0,r,i));return s}let c=o/(t-1)*K,u=n/(2*Math.sin(Math.abs(c)/2));for(let y=0;y<t;y++){let a=y*c,f=u*Math.sin(a),l=-u+u*Math.cos(a);s.push(le(f,l,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 Tt(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 je(e,t){let n=At(e);return fe(e).map((o,r)=>{let i=n.get(r),s=Le(i),c=ve(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:c,displayLabel:re(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(y=>y!==void 0&&y!==!1&&y!=="")?u:void 0,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function de(e){let t=[];for(let n of je(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,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function De(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 he(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,f,l,p)=>{let b=o.get(a),m=Le(b),d=b?.label??`${e.label}-${a+1}`,h=e.displayLabel??e.label;return{index:a,label:d,displayLabel:b?.displayLabel??`${h}-${a+1}`,x:f+(b?.dx??0),y:l+(b?.dy??0),categoryKey:b?.categoryKey??e.categoryKey,skipped:!!b?.skip,accessible:m.length>0,accessibility:m,wheelchairSpaceType:b?.wheelchairSpaceType,commercial:b?.commercial,viewUrl:b?.viewFromSeatUrl,viewMeta:b?.viewFromSeatUrl?b.viewFromSeatMeta:void 0,labelStyle:b?.labelStyle,...p?{side:p}:{}}};if(e.shape==="round"){let a=(e.radius??40)+F,f=e.rotation*K,l=Math.max(0,Math.min(360,e.seatArc??360));if(l>=360||n===1){for(let d=0;d<n;d++){let h=f+d/n*2*Math.PI;t.push(r(d,e.center.x+a*Math.cos(h),e.center.y+a*Math.sin(h)))}return t}let p=l*K,b=(2*Math.PI-p)/2,m=f+b;for(let d=0;d<n;d++){let h=m+d/(n-1)*p;t.push(r(d,e.center.x+a*Math.cos(h),e.center.y+a*Math.sin(h)))}return t}let i=e.width??80,s=e.height??50,c=De(e),u=["top","bottom","left","right"],y=0;for(let a of u){let f=c[a];for(let l=0;l<f;l++){let p,b;a==="top"?(p=-i/2+(l+.5)*i/f,b=-s/2-F):a==="bottom"?(p=-i/2+(l+.5)*i/f,b=s/2+F):a==="left"?(p=-i/2-F,b=-s/2+(l+.5)*s/f):(p=i/2+F,b=-s/2+(l+.5)*s/f);let m=le(p,b,e.rotation,e.center);t.push(r(y++,m.x,m.y,a))}}return t}function _t(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):he(e).filter(t=>!t.skipped).length}function Ne(e){return he(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.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Fe(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 ue(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,u=t[r].y;s>e.y!=u>e.y&&e.x<(c-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function kt(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 $(e,t,n){return ue(e,t)&&!(n??[]).some(o=>ue(e,o)||kt(e,o))}function Lt(e,t){return ee(e,t).point}function ae(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 He(e){switch(e.type){case"row":{let t=de(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 ae(e.points);case"section":return ae(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?ae(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 Te(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function jt(e,t){if(e.type!=="gaArea"||!Te(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Te(r,o[i]))}function Ue(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=He(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(jt(t,s)||$(r,s.outline,s.holes))):void 0)??n.find(s=>$(r,s.outline,s.holes))}function Xe(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 Dt(e,t){let n=Xe(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function Be(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function me(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:we(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 Nt(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:me(s,0,i))}),{...e,objects:n,floors:void 0}}function Ft(e){let t=e.floors;if(!t||t.length<2)return e;let n=Ge(e),o=[];return t.forEach((r,i)=>{let{x:s,y:c}=n[i];for(let u of r.objects)o.push(me(u,s,c))}),{...e,objects:o,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function Ge(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(l=>ze({...e,objects:l.objects,floors:void 0,focalPoint:l.focalPoint,referenceImage:void 0,backgroundImage:void 0})),o=Math.max(1,...n.map(l=>Math.max(l.width,l.height))),r=Math.max(64,Math.min(240,o*.08)),i=16/10,s=null;for(let l=1;l<=t.length;l+=1){let p=Math.ceil(t.length/l),b=new Array(l).fill(0),m=new Array(p).fill(0);n.forEach((M,P)=>{let S=P%l,w=Math.floor(P/l);b[S]=Math.max(b[S],M.width),m[w]=Math.max(m[w],M.height)});let d=b.reduce((M,P)=>M+P,0)+r*(l-1),h=m.reduce((M,P)=>M+P,0)+r*(p-1),g=l*p-t.length,x=Math.abs(Math.log(d/Math.max(1,h)/i))+g*.04;(!s||x<s.score)&&(s={columns:l,columnWidths:b,rowHeights:m,score:x})}let{columns:c,columnWidths:u,rowHeights:y}=s,a=[],f=[];return u.reduce((l,p,b)=>(a[b]=l,l+p+r),0),y.reduce((l,p,b)=>(f[b]=l,l+p+r),0),t.map((l,p)=>{let b=n[p],m=p%c,d=Math.floor(p/c),h=a[m]+(u[m]-b.width)/2,g=f[d]+(y[d]-b.height)/2;return{x:h-b.x,y:g-b.y}})}function _e(e,t,n,o,r,i){let s=[],c=te(e),u=f=>!f?.eventConfigurationId||f.eventConfigurationId===o,y=f=>!!f&&(!f.eventConfigurationId||f.eventConfigurationId===o),a=(f,l)=>y(f)?{...f,coverage:l}:void 0;for(let f of e){let l=[];if(f.type==="row"?l=de(f):f.type==="table"?l=Ne(f):f.type==="booth"&&(l=Fe(f)),!l.length)continue;for(let h of l)h.viewUrl&&!u(h.viewMeta)&&(h.viewUrl=void 0,h.viewMeta=void 0);if(f.type==="row"){let h=c.get(f.id);if(h){let g=new Map((f.overrides??[]).map(x=>[x.index,x]));for(let x of l){let M=Number(x.id.slice(x.id.lastIndexOf(":")+1));if(!Number.isInteger(M))continue;x.logicalRowId=h.groupId,x.logicalSeatIndex=h.adjacencyOffset+M,g.get(M)?.displayLabel||(x.displayLabel=re(f,M,h)),!x.viewUrl&&h.viewFromSeatUrl&&u(h.viewFromSeatMeta)&&(x.viewUrl=h.viewFromSeatUrl,x.viewMeta=h.viewFromSeatMeta);let P=g.get(M)?.confidenceEvidence;x.confidenceEvidence=a(P,"exact-seat")??a(f.confidenceEvidence,"row-representative")??a(h.confidenceEvidence,"row-representative")}}}let p=Ue(e,f),b=p?.viewFromSeatUrl,d=(p?.zone?t?.find(h=>h.id===p.zone):void 0)?.focalPoint??n;for(let h of l){if(!h.confidenceEvidence){let g=Number(h.id.slice(h.id.lastIndexOf(":")+1)),x=(f.type==="row"||f.type==="table")&&Number.isInteger(g)?f.overrides?.find(M=>M.index===g)?.confidenceEvidence:void 0;h.confidenceEvidence=a(x,"exact-seat")??(f.type==="row"?a(f.confidenceEvidence,"row-representative"):void 0)}h.confidenceEvidence??=a(p?.confidenceEvidence,"section-representative")??(i?a(i.evidence,i.coverage):void 0),!h.viewUrl&&b&&u(p?.viewFromSeatMeta)&&(h.viewUrl=b,h.viewMeta=p?.viewFromSeatMeta),!h.viewUrl&&r&&u(r.meta)&&(h.viewUrl=r.url,h.viewMeta=r.meta),p&&(h.sectionId=p.logicalSectionId??p.id),p?.zone&&(h.zoneId=p.zone),d&&(h.focalPoint={...d})}s.push(...l)}return s}function Ht(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,u=_e(r.objects,e.zones,i,e.eventConfigurationId,s,c);t.resolveEyeHeights!==!1&&ke(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,u),o.push(...u)}return o}let n=_e(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&&ke(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),n}function ke(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,u=new Map;for(let a=0;a<o.length;a++){let f=o[a],l=r.find(b=>$({x:f.x,y:f.y},b.outline,b.holes))??null;if(s[a]=l,!l)continue;c.has(l.id)||c.set(l.id,Ce(l,{floorBaseHeightM:n}));let p=u.get(l.id);p?p.push(a):u.set(l.id,[a])}let y=new Array(o.length).fill(void 0);for(let[a,f]of u){let l=c.get(a);if(!l)continue;let p=l.rake>0?Math.tan(l.rake*Math.PI/180):0,b=Ae(a,o,f,t);for(let m of b.rows){let d=m.blockDepth*G*p,h=l.height+d;for(let g of m.seatIndices)y[g]=h}}for(let a=0;a<o.length;a++){let f=o[a],l=s[a];if(!l){f.eyeHeightM=n+z;continue}let p=c.get(l.id);f.eyeHeightM=(y[a]??p.height)+z}}var Y=40;function ze(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 Be(e))if(s.type==="row"){let c=new Map((s.overrides??[]).map(u=>[u.index,u]));fe(s).forEach((u,y)=>{let a=c.get(y);a?.skip||i(u.x+(a?.dx??0),u.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=F+Rt,u=s.shape==="round"?(s.radius??40)+c:Math.max((s.width??80)/2,(s.height??50)/2)+c;i(s.center.x-u,s.center.y-u),i(s.center.x+u,s.center.y+u)}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=Q(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:u}=s,y=u*3/4;i(c.x-u/2,c.y-y/2),i(c.x+u/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,y:n-Y,width:o-t+Y*2,height:r-n+Y*2}}function Ut(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 W(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,f=Math.hypot(e.distance,e.height),l=(-e.distance*y-e.height*a)/f,p=(-e.height*y+e.distance*a)/f,b=Math.max(f*.08,l),m=e.focalLength/b;return{x:e.target.x+c*m,y:e.target.y-p*m,depth:b,scale:m}}function Xt(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 Bt(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 Gt(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 zt(e,t,n=()=>0){let o=W(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=W(e,r,n(r)),c=W(e,i,n(i)),u=s.x-o.x,y=s.y-o.y,a=c.x-o.x,f=c.y-o.y;return{a:u,b:y,c:a,d:f,e:o.x-u*t.x-a*t.y,f:o.y-y*t.x-f*t.y}}function Yt(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 Kt(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 $t(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 u=-i*Math.PI/180,y=Math.cos(u),a=Math.sin(u);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 Wt(e,t,n,o,r){if(e.shape.kind==="circle"){let b=Math.min(Math.max(e.seat.x,t),o),m=Math.min(Math.max(e.seat.y,n),r),d=e.seat.x-b,h=e.seat.y-m;return d*d+h*h<=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),u=Math.sin(s),y=e.shape.width/2,a=e.shape.height/2,f=[[-y,-a],[y,-a],[y,a],[-y,a]].map(([b,m])=>[e.seat.x+b*c-m*u,e.seat.y+b*u+m*c]),l=[[t,n],[o,n],[o,r],[t,r]],p=[[1,0],[0,1],[c,u],[-u,c]];for(let[b,m]of p){let d=1/0,h=-1/0;for(let[M,P]of f){let S=M*b+P*m;S<d&&(d=S),S>h&&(h=S)}let g=1/0,x=-1/0;for(let[M,P]of l){let S=M*b+P*m;S<g&&(g=S),S>x&&(x=S)}if(h<g||x<d)return!1}return!0}function Vt(e,t={}){let n=t.seatRadius??Ye,o=e.length,r=new Array(o),i=1/0,s=1/0,c=-1/0,u=-1/0,y=0;for(let S=0;S<o;S++){let w=e[S],C=t.shapeOf?.(w)??{kind:"circle",r:n},{hx:E,hy:v}=Kt(C);r[S]={seat:w,shape:C,hx:E,hy:v},w.x-E<i&&(i=w.x-E),w.y-v<s&&(s=w.y-v),w.x+E>c&&(c=w.x+E),w.y+v>u&&(u=w.y+v),E>y&&(y=E),v>y&&(y=v)}o===0&&(i=0,s=0,c=0,u=0);let a=y>0?y*4:1,f=Math.max(c-i,0),l=Math.max(u-s,0),p=Math.max(64,t.maxCells??o*4),b=a,m=Math.max(1,Math.ceil(f/b)||1),d=Math.max(1,Math.ceil(l/b)||1);for(;m*d>p&&(m>1||d>1);)b*=2,m=Math.max(1,Math.ceil(f/b)||1),d=Math.max(1,Math.ceil(l/b)||1);let h=m*d,g=new Int32Array(h+1),x=0;for(let S=0;S<o;S++){let w=r[S],C=L(Math.floor((w.seat.x-w.hx-i)/b),0,m-1),E=L(Math.floor((w.seat.x+w.hx-i)/b),0,m-1),v=L(Math.floor((w.seat.y-w.hy-s)/b),0,d-1),T=L(Math.floor((w.seat.y+w.hy-s)/b),0,d-1);for(let O=v;O<=T;O++)for(let R=C;R<=E;R++)g[O*m+R+1]++,x++}for(let S=0;S<h;S++)g[S+1]+=g[S];let M=new Int32Array(x),P=g.slice(0,h);for(let S=0;S<o;S++){let w=r[S],C=L(Math.floor((w.seat.x-w.hx-i)/b),0,m-1),E=L(Math.floor((w.seat.x+w.hx-i)/b),0,m-1),v=L(Math.floor((w.seat.y-w.hy-s)/b),0,d-1),T=L(Math.floor((w.seat.y+w.hy-s)/b),0,d-1);for(let O=v;O<=T;O++)for(let R=C;R<=E;R++){let A=O*m+R;M[P[A]++]=S}}return{seats:e,entries:r,minX:i,minY:s,cell:b,cols:m,rows:d,cellStart:g,items:M,stamp:new Int32Array(o),epoch:0}}function qt(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:c,cellStart:u,items:y,entries:a}=e,f=Math.floor((t.x-s)/i),l=Math.floor((t.y-c)/i);if(f<0||l<0||f>=o||l>=r)return null;let p=l*o+f,b=u[p+1],m=-1,d=1/0;for(let h=u[p];h<b;h++){let g=y[h],x=a[g];if(n.filter&&!n.filter(x.seat.id,x.seat)||!$t(x,t.x,t.y))continue;let M=t.x-x.seat.x,P=t.y-x.seat.y,S=M*M+P*P;(S<d||S===d&&g<m)&&(d=S,m=g)}return m<0?null:a[m].seat.id}function Qt(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:c,minY:u,cellStart:y,items:a,entries:f}=e,l=Math.max(0,Math.floor((t.x-n-c)/s)),p=Math.min(r-1,Math.floor((t.x+n-c)/s)),b=Math.max(0,Math.floor((t.y-n-u)/s)),m=Math.min(i-1,Math.floor((t.y+n-u)/s));if(l>p||b>m)return null;let d=-1,h=n*n,g=e.stamp,x=++e.epoch;for(let M=b;M<=m;M++){let P=M*r;for(let S=l;S<=p;S++){let w=P+S,C=y[w+1];for(let E=y[w];E<C;E++){let v=a[E];if(g[v]===x)continue;g[v]=x;let T=f[v];if(o.filter&&!o.filter(T.seat.id,T.seat))continue;let O=t.x-T.seat.x,R=t.y-T.seat.y,A=O*O+R*R;(A<h||A===h&&v<d)&&(h=A,d=v)}}}return d<0?null:f[d].seat.id}function Zt(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:u,rows:y,cell:a,minX:f,minY:l,cellStart:p,items:b,entries:m}=e,d=Math.max(0,Math.floor((o-f)/a)),h=Math.min(u-1,Math.floor((r-f)/a)),g=Math.max(0,Math.floor((i-l)/a)),x=Math.min(y-1,Math.floor((s-l)/a));if(d>h||g>x)return[];let M=[],P=e.stamp,S=++e.epoch;for(let w=g;w<=x;w++){let C=w*u;for(let E=d;E<=h;E++){let v=C+E,T=p[v+1];for(let O=p[v];O<T;O++){let R=b[O];if(P[R]===S)continue;P[R]=S;let A=m[R];if(n.filter&&!n.filter(A.seat.id,A.seat))continue;(c==="center"?A.seat.x>=o&&A.seat.x<=r&&A.seat.y>=i&&A.seat.y<=s:Wt(A,o,i,r,s))&&M.push(R)}}}return M.sort((w,C)=>w-C),M.map(w=>m[w].seat.id)}function Jt(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,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,gridStats,hitTest,invertAffine,layoutFloorOverview,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 +1 @@
1
- import{a as U,b as V,c as W,d as X,e as Y,f as Z,g as _,h as $,i as oo,j as ro,k as eo,l as fo,m as mo}from"../../chunk-6VTTBC5F.js";import{Aa as O,Ba as P,Ca as Q,Da as R,Ea as S,Fa as T,I as q,J as s,K as u,L 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,ja as w,ka as y,la as z,ma as A,n as c,na as B,o as d,oa as C,p as g,pa as D,q as h,qa as E,r as i,ra as F,s as j,sa as G,t as k,ta as H,u as l,ua as I,v as n,va as J,wa as K,xa as L,ya as M,za as N}from"../../chunk-VDZ24QVV.js";export{U as DEFAULT_SEAT_RADIUS,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,N as allObjects,oo as applyAffine,i as buildAisleHoles,V as buildSeatIndex,h as buildSectionShell,T as chartBounds,eo as composeAffine,_ as createPerspectiveCamera,c as cubicPoint,mo as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,F as expandBooth,S as expandChart,A as expandRow,z as expandRowSlots,E as expandTable,C as expandTableSlots,M as floorObjects,R as floorOverviewTranslations,L as floorsOf,Z as gridStats,W as hitTest,ro as invertAffine,Q as layoutFloorOverview,X as nearestWithin,J as objectCenter,K as owningSectionForObject,fo as perspectiveTangentAffine,G as pointInPolygon,H as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,I as polygonLabelPoint,l as polygonNetArea,$ as projectPerspectivePoint,Y as queryRect,v as resolveSegmentedRowGroups,y as rowInventoryCount,w as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,P as stackFloors,D as tableInventoryCount,B as tableSeatCountsBySide,b as textLayoutMetrics,O as translateObject};
1
+ import{a as U,b as V,c as W,d as X,e as Y,f as Z,g as _,h as $,i as oo,j as ro,k as eo,l as fo,m as mo}from"../../chunk-66HGMU7D.js";import{Aa as O,Ba as P,Ca as Q,Da as R,Ea as S,Fa as T,I as q,J as s,K as u,L 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,ja as w,ka as y,la as z,ma as A,n as c,na as B,o as d,oa as C,p as g,pa as D,q as h,qa as E,r as i,ra as F,s as j,sa as G,t as k,ta as H,u as l,ua as I,v as n,va as J,wa as K,xa as L,ya as M,za as N}from"../../chunk-GHJUDU3U.js";export{U as DEFAULT_SEAT_RADIUS,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,N as allObjects,oo as applyAffine,i as buildAisleHoles,V as buildSeatIndex,h as buildSectionShell,T as chartBounds,eo as composeAffine,_ as createPerspectiveCamera,c as cubicPoint,mo as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,F as expandBooth,S as expandChart,A as expandRow,z as expandRowSlots,E as expandTable,C as expandTableSlots,M as floorObjects,R as floorOverviewTranslations,L as floorsOf,Z as gridStats,W as hitTest,ro as invertAffine,Q as layoutFloorOverview,X as nearestWithin,J as objectCenter,K as owningSectionForObject,fo as perspectiveTangentAffine,G as pointInPolygon,H as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,I as polygonLabelPoint,l as polygonNetArea,$ as projectPerspectivePoint,Y as queryRect,v as resolveSegmentedRowGroups,y as rowInventoryCount,w as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,P as stackFloors,D as tableInventoryCount,B as tableSeatCountsBySide,b as textLayoutMetrics,O as translateObject};
@@ -1 +1 @@
1
- "use strict";var ae=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var rt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},it=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of nt(t))!ot.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=tt(t,r))||o.enumerable});return e};var st=e=>it(ae({},"__esModule",{value:!0}),e);var mn={};rt(mn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Gt,MAX_EDGE_SAGITTA_RATIO:()=>Ne,TIER_HEIGHT_M:()=>ge,UNGROUPED_ID:()=>ce,applyHidden:()=>pn,arcLevelAt:()=>gt,bearingDeg:()=>Re,buildSectionRake:()=>Ct,computeSections:()=>Qe,distanceToPolyline:()=>ue,fitBowlProfile:()=>xt,fitCircle:()=>ee,hiddenObjectIds:()=>et,indexLabel:()=>Oe,isSectionHidden:()=>Ze,logicalNumberingRow:()=>Te,relabelRows:()=>Pt,resolveSection:()=>dt,reverseSectionOutlinePath:()=>Vt,sampleSectionOutlinePath:()=>Ft,seatConfidenceDisclosure:()=>Tt,seatDisplayLabel:()=>pe,seatInventoryLabel:()=>he,seatLabelPart:()=>ie,sectionCornerSmoothingPath:()=>zt,sectionGeometry:()=>He,sectionOutlinePathFrom:()=>De,sectionPathSegmentEnd:()=>Nt,toBijectiveBase:()=>fe,toLetters:()=>oe,toRoman:()=>de,transformSectionOutlinePath:()=>Le,translateSectionOutlinePath:()=>Bt,validSectionOutlinePath:()=>be});module.exports=st(mn);function ve(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 ue(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],f=s.x-i.x,u=s.y-i.y,m=f*f+u*u,c=m>1e-12?((t-i.x)*f+(n-i.y)*u)/m:0;c<0?c=0:c>1&&(c=1);let b=Math.hypot(t-(i.x+c*f),n-(i.y+c*u));b<o&&(o=b)}return o}function ct(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 Ie(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function le(e,t){let n=1/0;for(let o of ve(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of ve(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function at(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let c of e)n+=c.x,o+=c.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let c of e){let b=Math.hypot(c.x-n,c.y-o);b>r&&(r=b,i=c)}let s=i.x-n,f=i.y-o,u=Math.hypot(s,f);u>1e-9?(s/=u,f/=u):(s=1,f=0);let m=e.map((c,b)=>({p:c,i:b,t:(c.x-n)*s+(c.y-o)*f})).sort((c,b)=>c.t-b.t);return{pts:m.map(c=>c.p),seatIndices:m.map(c=>t[c.i])}}function ee(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,f=0,u=0,m=0,c=0;for(let g of e){let y=g.x-n,a=g.y-o;r+=y*y,s+=a*a,i+=y*a,f+=y*y*y,u+=a*a*a,m+=y*a*a,c+=a*y*y}let b=r*s-i*i;if(Math.abs(b)<1e-9)return null;let d=(f+m)/2,l=(u+c)/2,h=(d*s-l*i)/b,I=(l*r-d*i)/b,p=h+n,x=I+o;return!Number.isFinite(p)||!Number.isFinite(x)?null:{cx:p,cy:x}}var lt=.15;function ut(e){if(e.length<2)return null;let t=e.map(g=>{let y=0,a=0;for(let v of g.pts)y+=v.x,a+=v.y;return{x:y/g.pts.length,y:a/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 y=g.x-n,a=g.y-o;r+=y*y,i+=y*a,s+=a*a}let f=r+s,u=r*s-i*i,m=f/2+Math.sqrt(Math.max(0,f*f/4-u)),c,b;Math.abs(i)>1e-12?(c=m-s,b=i):r>=s?(c=1,b=0):(c=0,b=1);let d=Math.hypot(c,b);if(!(d>1e-12))return null;c/=d,b/=d;let l=1/0,h=-1/0,I=[];for(let g of e){let y=1/0,a=-1/0;for(let v of g.pts){let M=v.x*c+v.y*b;M<y&&(y=M),M>a&&(a=M),M<l&&(l=M),M>h&&(h=M)}I.push(a-y)}let p=h-l;return p>1e-9?(I.sort((g,y)=>g-y),I[Math.min(I.length-1,Math.floor(I.length*.9))]/p<=ft?{x:c,y:b}:null):null}var ft=.35;function dt(e,t,n,o){let r=new Map;for(let p of n){let x=t[p],g=x.rowId||`__seat-${p}`,y=r.get(g);y||(y={pts:[],idx:[]},r.set(g,y)),y.pts.push({x:x.x,y:x.y}),y.idx.push(p)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[p,x]of r){let g=at(x.pts,x.idx),y=0;for(let a of g.pts)y+=Math.hypot(a.x-o.x,a.y-o.y);i.push({id:p,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:y/g.pts.length})}let s=i.map(p=>ct(p.pts)),f=[];for(let p=0;p<i.length;p++){let x=1/0;for(let g=0;g<i.length;g++){if(p===g||Ie(s[p],s[g])>=x)continue;let y=le(i[p].pts,i[g].pts);y<x&&(x=y)}Number.isFinite(x)&&f.push(x)}f.sort((p,x)=>p-x);let u=f.length?f[Math.floor(f.length/2)]:1,m=Math.max(u*1.8,1e-6),c=i.map(()=>[]);for(let p=0;p<i.length;p++)for(let x=p+1;x<i.length;x++)Ie(s[p],s[x])>m||le(i[p].pts,i[x].pts)<=m&&(c[p].push(x),c[x].push(p));let b=0;for(let p=0;p<i.length;p++){if(i[p].blockId!==-1)continue;let x=b++,g=[p];for(i[p].blockId=x;g.length;){let y=g.pop();for(let a of c[y])i[a].blockId===-1&&(i[a].blockId=x,g.push(a))}}let d=new Map;for(let p of i){let x=d.get(p.blockId)??[];x.push(p),d.set(p.blockId,x)}let l=[];for(let p of i){if(p.pts.length<4)continue;let x=ee(p.pts);x&&(!Number.isFinite(x.cx)||!Number.isFinite(x.cy)||l.push({x:x.cx,y:x.cy}))}let h=l.length>=2?(()=>{let p=l.map(y=>y.x).sort((y,a)=>y-a),x=l.map(y=>y.y).sort((y,a)=>y-a),g=Math.floor(l.length/2);return{cx:p[g],cy:x[g]}})():null;if(h){let p=M=>Math.hypot(M.x-h.cx,M.y-h.cy),x=1/0,g=-1/0,y=[];for(let M of i){let A=1/0,T=-1/0;for(let N of M.pts){let B=p(N);B<A&&(A=B),B>T&&(T=B)}y.push(T-A),A<x&&(x=A),T>g&&(g=T)}let a=g-x;y.sort((M,A)=>M-A);let v=y[Math.min(y.length-1,Math.floor(y.length*.9))];if(a>1e-9&&v/a<=lt){let M=i.map(k=>{let S=0;for(let P of k.pts)S+=p(P);return{row:k,radius:S/k.pts.length}}),A=1/0;for(let k of M)k.radius<A&&(A=k.radius);M.sort((k,S)=>k.radius-S.radius);let T=-1,N=-1/0,B=a/Math.max(1,M.length)*.5,z=[];for(let k of M)k.radius-N>B&&(T++,N=k.radius),k.row.ordinal=T,k.row.blockDepth=k.radius-A,z.push(k.row);return{sectionId:e,rows:z,blockCount:b}}}let I=[];for(let[,p]of d){let x=ut(p);if(x){let g=a=>{let v=0;for(let M of a.pts)v+=M.x*x.x+M.y*x.y;return v/a.pts.length};p.sort((a,v)=>g(a)-g(v));let y=0;for(let a=0;a<p.length;a++)a>0&&(y+=le(p[a-1].pts,p[a].pts)),p[a].ordinal=a,p[a].blockDepth=y,I.push(p[a])}else{let g=1/0;for(let y of p)y.focalDistance<g&&(g=y.focalDistance);p.sort((y,a)=>y.focalDistance-a.focalDistance);for(let y=0;y<p.length;y++)p[y].ordinal=y,p[y].blockDepth=Math.max(0,p[y].focalDistance-g),I.push(p[y])}}return{sectionId:e,rows:I,blockCount:b}}var ht=Math.PI/180,R=96,pt=6,mt=60,bt=150,Ae=.2,yt=.35;function Re(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/ht;return n<0?n+360:n}function te(e){if(!e.length)return NaN;let t=[...e].sort((n,o)=>n-o);return t[Math.floor(t.length/2)]}function ne(e,t,n=2){let o=e.length,r=new Float64Array(o);for(let i=0;i<o;i++){let s=0,f=0;for(let u=-n;u<=n;u++){let m=i+u;if(t)m=(m%o+o)%o;else if(m<0||m>=o)continue;s+=e[m],f++}r[i]=s/f}return r}function xt(e,t){let n=e.filter(d=>d.rows.length>=1);if(n.length<1)return null;let o=[],r=0,i=0,s=0;for(let d of n)for(let l of d.rows){for(let h of l.pts)r+=h.x,i+=h.y,s++;if(l.pts.length>=4){let h=ee(l.pts);h&&Number.isFinite(h.cx)&&Number.isFinite(h.cy)&&o.push({x:h.cx,y:h.cy})}}if(!s)return null;let f={x:r/s,y:i/s},u=f;if(o.length>=8){let d=te(o.map(x=>x.x)),l=te(o.map(x=>x.y)),h=0;for(let x of n)for(let g of x.rows)for(let y of g.pts){let a=Math.hypot(y.x-f.x,y.y-f.y);a>h&&(h=a)}let I=0,p=h*.2;for(let x of n)for(let g of x.rows)for(let y of g.pts)Math.hypot(y.x-d,y.y-l)<p&&I++;Math.hypot(d-f.x,l-f.y)<=h&&I/s<.01&&(u={x:d,y:l})}let m=[];for(let d of n){let l={sectionId:d.sectionId,rMin:1/0,rMax:-1/0,samples:[]};for(let h of d.rows)for(let I of h.pts){let p=Math.hypot(I.x-u.x,I.y-u.y),x=Math.min(R-1,Math.floor(Re(u,I)/(360/R)));l.samples.push({r:p,bin:x,levelM:h.levelM}),p<l.rMin&&(l.rMin=p),p>l.rMax&&(l.rMax=p)}l.samples.length&&m.push(l)}if(!m.length)return null;m.sort((d,l)=>d.rMin+d.rMax-(l.rMin+l.rMax));let c=[];for(let d of m){let l=!1;for(let h of c){let I=Math.min(d.rMax,h.rMax)-Math.max(d.rMin,h.rMin),p=Math.min(d.rMax-d.rMin,h.rMax-h.rMin);if(p>1e-9&&I>=yt*p){h.members.push(d),h.rMin=Math.min(h.rMin,d.rMin),h.rMax=Math.max(h.rMax,d.rMax),l=!0;break}}l||c.push({members:[d],rMin:d.rMin,rMax:d.rMax})}let b=[];for(let d of c){let l=new Array(R).fill(null);for(let S of d.members)for(let P of S.samples){let O=l[P.bin];O||(O={samples:[]},l[P.bin]=O),O.samples.push({r:P.r,levelM:P.levelM})}let h=l.map(S=>!!S);if(!h.filter(Boolean).length)continue;let p=[],x=[];for(let S of l){if(!S)continue;let P=1/0,O=-1/0;for(let _ of S.samples)_.r<P&&(P=_.r),_.r>O&&(O=_.r);p.push(P),x.push(O)}let g=te(p),y=te(x);if(!(g>=Ae*y)||!(y>0))continue;let a=[...p].sort((S,P)=>S-P);if(!(a[Math.floor(a.length*.1)]>=Ae*y))continue;let M=l.map(S=>{if(!S)return null;let P=[...S.samples].sort((j,D)=>j.r-D.r),O=P[0].r,_=P[P.length-1].r,G=P[0].levelM,K=-1/0;for(let j of P)j.levelM>K&&(K=j.levelM);let C=[];for(let j of P){let D={r:j.r,l:j.levelM};for(;C.length&&Math.abs(C[C.length-1].r-D.r)<1e-9;){if(C[C.length-1].l<=D.l){D.skip=!0;break}C.pop()}if(!D.skip){for(;C.length>=2;){let V=C[C.length-2],W=C[C.length-1];if((W.r-V.r)*(D.l-V.l)-(W.l-V.l)*(D.r-V.r)<=0)C.pop();else break}C.push(D)}}let U=C.map(j=>j.r),H=C.map(j=>j.l);return{inner:O,outer:_,front:G,top:K,profile:{rs:U,ls:H}}}),A=h.slice();for(let S=0;S<R;S++){if(A[S])continue;let P=-1,O=-1,_=0;for(let w=1;w<=R;w++){let E=(S-w+R*2)%R;if(A[E]){P=E;break}}for(let w=1;w<=R;w++){let E=(S+w)%R;if(A[E]){O=E,_=w;break}}if(P<0||O<0)continue;let G=0;for(let w=1;w<=R;w++){let E=(S-w+R*2)%R;if(h[E]){G=w;break}}if(G-1+_>pt)continue;let C=M[P],U=M[O],H=G/(G+_),j=C.inner+(U.inner-C.inner)*H,D=C.outer+(U.outer-C.outer)*H,V=C.front+(U.front-C.front)*H,W=C.top+(U.top-C.top)*H;M[S]={inner:j,outer:D,front:V,top:W,profile:{rs:[j,D],ls:[V,W]}}}for(let S=0;S<R;S++)M[S]&&(A[S]=!0);let T=360/R,N=[],B=A.filter(Boolean).length,z=[];if(B===R)z.push({start:0,len:R});else{let S=0;for(;A[S];)S=(S+1)%R;let P=-1;for(let O=0;O<=R;O++){let _=(S+O)%R,G=O<R&&A[_];if(G&&P<0)P=_;else if(!G&&P>=0){let K=(_-P+R)%R||R;z.push({start:P,len:K}),P=-1}}}for(let S of z){if(S.len*T<mt&&S.len<R)continue;let P=S.len===R,O=new Float64Array(S.len),_=new Float64Array(S.len),G=new Float64Array(S.len),K=new Float64Array(S.len),C=[];for(let w=0;w<S.len;w++){let E=M[(S.start+w)%R];O[w]=E.inner,_[w]=E.outer,G[w]=E.front,K[w]=E.top,C.push(E.profile??{rs:[E.inner,E.outer],ls:[E.front,E.top]})}let U=ne(O,P),H=ne(_,P),j=ne(G,P),D=ne(K,P);for(let w=0;w<S.len;w++)U[w]>O[w]&&(U[w]=O[w]),H[w]<_[w]&&(H[w]=_[w]),U[w]>H[w]-1e-6&&(U[w]=Math.max(0,H[w]-1e-6)),D[w]<j[w]&&(D[w]=j[w]);let V={startBin:S.start,binCount:S.len,closed:P,innerR:U,outerR:H,frontLevelM:j,topLevelM:D,profiles:C},W=(w,E,F)=>{let Q=C[w],X=Q.rs,$=Q.ls;if(E<=X[0]){$[0]>F&&($[0]=F);return}if(E>=X[X.length-1]){$[$.length-1]>F&&($[$.length-1]=F);return}for(let Y=0;Y+1<X.length;Y++)if(E<=X[Y+1]){$[Y]>F&&($[Y]=F),$[Y+1]>F&&($[Y+1]=F);return}};for(let w=0;w<S.len;w++){let E=l[(S.start+w)%R];if(E)for(let F of E.samples){W(w,F.r,F.levelM);let Q=P?(w-1+S.len)%S.len:w-1,X=P?(w+1)%S.len:w+1;Q>=0&&W(Q,F.r,F.levelM),X<S.len&&W(X,F.r,F.levelM)}}N.push(V)}N.reduce((S,P)=>S+P.binCount*T,0)<bt||b.push({arcs:N,sectionIds:d.members.map(S=>S.sectionId),innerRMedian:g,outerRMedian:y})}if(!b.length)return null;if(b.sort((d,l)=>d.innerRMedian-l.innerRMedian),t){let d=b[b.length-1].outerRMedian;if(Math.hypot(t.x-u.x,t.y-u.y)>.9*d)return null}return{centre:u,binCount:R,binStepDeg:360/R,rings:b}}function gt(e,t,n,o){let r=e.binStepDeg,i=n/r-.5-t.startBin;i=(i%e.binCount+e.binCount)%e.binCount,i>t.binCount-1&&(t.closed?i=i-t.binCount<t.binCount-i?0:t.binCount-1:i=i-(t.binCount-1)<e.binCount-i?t.binCount-1:0);let s=Math.floor(i),f=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),u=i-s,m=c=>{let b=t.profiles[c],d=b.rs,l=b.ls;if(o<=d[0])return l[0];if(o>=d[d.length-1])return l[l.length-1];for(let h=0;h+1<d.length;h++)if(o<=d[h+1]){let I=d[h+1]-d[h],p=I>1e-9?(o-d[h])/I:0;return l[h]+(l[h+1]-l[h])*p}return l[l.length-1]};return m(s)*(1-u)+m(f)*u}var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZ",St="ABCDEFGHJKLMNPQRSTUVWXYZ",Mt="abcdefghijklmnopqrstuvwxyz";function fe(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 Oe(e,t){let n=t.startAt-1,o=e+n;if(t.scheme==="numbers")return String(o+1);let r=t.skipAmbiguous?St:Ce;return fe(o,r)}function oe(e,t=!1){let n=t?Mt:Ce;return fe(Math.max(0,Math.floor(e)-1),n)}var wt=[[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 de(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of wt)for(;t>=o;)n+=r,t-=o;return n}function Pt(e,t){let n=e.length;return e.map((o,r)=>{let i=t.reverse?n-1-r:r;return{...o,label:Oe(i,t)}})}function vt(e){return{kind:"radial",rowCount:0,rows:[],nearestRow:()=>-1,depthAt:(t,n)=>Math.hypot(t-e.x,n-e.y),gradientAt:(t,n)=>{let o=t-e.x,r=n-e.y,i=Math.hypot(o,r);return i<1e-9?[0,0]:[o/i,r/i]}}}function It(e,t){if(!e.length)return null;let n=0,o=0,r=0;for(let l of e)n+=l.x,o+=l.y,r+=Math.hypot(l.x-t.x,l.y-t.y);let i=e.length;n/=i,o/=i,r/=i;let s=e[0],f=-1;for(let l of e){let h=Math.hypot(l.x-n,l.y-o);h>f&&(f=h,s=l)}let u=s.x-n,m=s.y-o,c=Math.hypot(u,m);c>1e-9?(u/=c,m/=c):(u=1,m=0);let b=[...e].sort((l,h)=>(l.x-n)*u+(l.y-o)*m-((h.x-n)*u+(h.y-o)*m)),d=0;for(let l of b){let h=Math.hypot(l.x-n,l.y-o);h>d&&(d=h)}return{pts:b,cx:n,cy:o,radius:d,depth:r}}function Ee(e,t,n){let o=e.pts;if(o.length===1)return Math.hypot(t-o[0].x,n-o[0].y);let r=1/0;for(let i=0;i+1<o.length;i++){let s=o[i],f=o[i+1],u=f.x-s.x,m=f.y-s.y,c=u*u+m*m,b=c>1e-12?((t-s.x)*u+(n-s.y)*m)/c:0;b<0?b=0:b>1&&(b=1);let d=Math.hypot(t-(s.x+b*u),n-(s.y+b*m));d<r&&(r=d)}return r}var re=8;function At(e,t,n){let o=new Array(re).fill(1/0),r=new Array(re).fill(-1);for(let c=0;c<e.length;c++){let b=e[c],d=Math.hypot(t-b.cx,n-b.cy)-b.radius;for(let l=0;l<re;l++)if(d<o[l]){for(let h=re-1;h>l;h--)o[h]=o[h-1],r[h]=r[h-1];o[l]=d,r[l]=c;break}}let i=new Array(3).fill(1/0),s=new Array(3).fill(-1);for(let c of r){if(c<0)continue;let b=Ee(e[c],t,n);for(let d=0;d<3;d++)if(b<i[d]){for(let l=2;l>d;l--)i[l]=i[l-1],s[l]=s[l-1];i[d]=b,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let f=i[0]*2.2,u=0,m=0;for(let c=0;c<3;c++){let b=s[c];if(b<0||i[c]>f)continue;let d=1/(i[c]*i[c]);u+=d*e[b].depth,m+=d}return m>0?u/m:e[s[0]].depth}function Rt(e){let t=(o,r)=>At(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let f=0;f<e.length;f++){let u=e[f];if(Math.hypot(o-u.cx,r-u.cy)-u.radius>=i)continue;let m=Ee(u,o,r);m<i&&(i=m,s=f)}return s};return{kind:"rows",rowCount:e.length,rows:e,nearestRow:n,depthAt:t,gradientAt:(o,r)=>{let i=(t(o+.5,r)-t(o-.5,r))/1,s=(t(o,r+.5)-t(o,r-.5))/(2*.5),f=Math.hypot(i,s);return f<1e-9?[0,0]:[i/f,s/f]}}}function Ct(e,t){let n=[];for(let o of e){let r=It(o.points,t);r&&n.push(r)}return n.length<2?vt(t):(n.sort((o,r)=>o.depth-r.depth),Rt(n))}function Ot(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 Et(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 Tt(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",n=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":t?"Versioned synthetic model":"Generated model \xB7 not verified",o=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",r=t?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",i=[...e.limitations??[],...t?["Synthetic demo; not surveyed or venue-certified."]:[]],s=e.modeledTarget?`${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model`:void 0;return s&&i.push("Modeled target is not a percentage of the show visible."),{headline:r,model:n,reality:o,coverage:Ot(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Et(e.assessedAt),limitations:i,...s?{modeledTarget:s}:{}}}function _t(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 ie(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??"",f=e.seatNumbering?.endAt,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let l=Math.ceil(u/2),h=i==="updown"?t<l?n+2*t:n-1+2*(u-t):t<l?n+2*(l-1-t):n+1+2*(t-l);return`${s}${h}`}let m=i==="odd"||i==="even"?2:r,c=f!=null&&Number.isFinite(f)?f-(u-1)*m:n,b=o==="center"?_t(u)[t]:o==="rtl"?u-1-t:t,d;switch(i){case"odd":{let l=c%2===1?c:c+1;d=String(l+b*2);break}case"even":{let l=c%2===0?c:c+1;d=String(l+b*2);break}case"roman":d=de(c+b*r);break;case"letters-upper":d=oe(c+b*r,!1);break;case"letters-lower":d=oe(c+b*r,!0);break;default:d=String(c+b*r);break}return`${s}${d}`}function Te(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function he(e,t,n){return n?.label??`${e.label}-${ie(e,t)}`}function pe(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${ie(e,t)}`;let r=Te(n),i=n.displayOffset+t;return`${n.displayLabel}-${ie(r,i)}`}function kt(e,t,n){return Math.max(t,Math.min(n,e))}function jt(e){return kt(e,0,1)}function _e(e){let t=jt(e);return t*t*(3-2*t)}var An=Math.PI/180;function L(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function me(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}var q=Math.PI*2;function J(e){return Number.isFinite(e.x)&&Number.isFinite(e.y)}function Lt(e,t,n){let o=t-e;if(n){for(;o<0;)o+=q;for(;o>=q;)o-=q}else{for(;o>0;)o-=q;for(;o<=-q;)o+=q}return o}function Nt(e){return e.end}function be(e){if(e.version!==1||e.closed!==!0||!J(e.start)||!Array.isArray(e.segments)||e.segments.length<2||e.segments.length>512)return!1;let t=e.start;for(let n of e.segments){if(!n||!J(n.end))return!1;if(n.kind==="line"){if(L(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!J(n.control1)||!J(n.control2)||L(t,n.end)<=1e-9)return!1}else if(n.kind==="arc"){if(!J(n.center)||!Number.isFinite(n.radius)||n.radius<=1e-6||Math.abs(L(t,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||Math.abs(L(n.end,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||L(t,n.end)<=1e-9)return!1}else return!1;t=n.end}return L(t,e.start)<=1e-4}function Dt(e,t,n){let o=1-n;return{x:o**3*e.x+3*o**2*n*t.control1.x+3*o*n**2*t.control2.x+n**3*t.end.x,y:o**3*e.y+3*o**2*n*t.control1.y+3*o*n**2*t.control2.y+n**3*t.end.y}}function Ft(e,t=2){if(!be(e))throw new Error("Section outline path is invalid");let n=Math.max(.25,t),o=[{...e.start}],r=e.start;for(let i of e.segments){if(i.kind==="line")o.push({...i.end});else if(i.kind==="arc"){let s=Math.atan2(r.y-i.center.y,r.x-i.center.x),f=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),u=Lt(s,f,i.clockwise),m=Math.max(2,Math.ceil(Math.abs(u)*i.radius/n));for(let c=1;c<=m;c+=1){let b=s+u*c/m;o.push({x:i.center.x+Math.cos(b)*i.radius,y:i.center.y+Math.sin(b)*i.radius})}}else{let s=L(r,i.control1)+L(i.control1,i.control2)+L(i.control2,i.end),f=Math.max(2,Math.ceil(s/n));for(let u=1;u<=f;u+=1)o.push(Dt(r,i,u/f))}r=i.end}return L(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function Bt(e,t,n){return Le(e,r=>({x:r.x+t,y:r.y+n}))}function Le(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 Gt=45,Ut=150,ke=.5523;function je(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function Ht(e){let t=[],n=[];for(e.forEach((o,r)=>{J(o)&&(t.length&&je(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&je(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function zt(e,t,n){return De(e,{cornerSmoothing:t,...n})}var Ne=.5,$t=4/3;function Kt(e,t,n){let o=t.x-e.x,r=t.y-e.y,i=Math.hypot(o,r);if(i<=1e-9)return{kind:"line",end:{...t}};let s=-r/i,f=o/i,u=n*$t;return{kind:"bezier",control1:{x:e.x+o/3+s*u,y:e.y+r/3+f*u},control2:{x:e.x+o*2/3+s*u,y:e.y+r*2/3+f*u},end:{...t}}}function De(e,t){let{points:n,sourceIndex:o}=Ht(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,f=new Array(r).fill(0);if(s?.length)for(let a=0;a<r;a+=1){let v=s[o[a]];f[a]=Number.isFinite(v)?Math.min(100,Math.max(-100,v))/100:0}let u=f.some(a=>Math.abs(a)>1e-6);if(i<=0&&!u)return null;let m=t.wideAngleThresholdDeg??Ut,c=[];for(let a=0;a<r;a+=1)c[a]=L(n[a],n[(a+1)%r]);let b=new Array(r).fill(0);for(let a=0;a<r;a+=1){let v=n[(a-1+r)%r],M=n[a],A=n[(a+1)%r],T={x:v.x-M.x,y:v.y-M.y},N={x:A.x-M.x,y:A.y-M.y},B=Math.hypot(T.x,T.y),z=Math.hypot(N.x,N.y);if(B<=1e-9||z<=1e-9)continue;let k=Math.min(1,Math.max(-1,(T.x*N.x+T.y*N.y)/(B*z))),S=Math.acos(k)*180/Math.PI;if(S<m)continue;let P=_e((S-m)/(180-m));b[a]=i*P*.5*Math.min(B,z)}for(let a=0;a<r;a+=1){let v=(a+1)%r,M=b[a]+b[v];if(M>c[a]&&M>1e-9){let A=c[a]/M;b[a]*=A,b[v]*=A}}let d=new Array(r),l=new Array(r);for(let a=0;a<r;a+=1){let v=n[(a-1+r)%r],M=n[a],A=n[(a+1)%r];if(b[a]<=1e-6){d[a]={...M},l[a]={...M};continue}let T=L(M,v)||1,N=L(M,A)||1;d[a]={x:M.x+(v.x-M.x)/T*b[a],y:M.y+(v.y-M.y)/T*b[a]},l[a]={x:M.x+(A.x-M.x)/N*b[a],y:M.y+(A.y-M.y)/N*b[a]}}if(b.every(a=>a<=1e-6)&&!u)return null;let h=[],I={...l[0]},p=I,x=(a,v)=>{if(L(p,a)<=1e-9)return;let M=f[v];Math.abs(M)>1e-6?h.push(Kt(p,a,M*Ne*c[v])):h.push({kind:"line",end:{...a}}),p=a};for(let a=1;a<=r;a+=1){let v=a%r,M=n[v];x(d[v],(a-1)%r),b[v]>1e-6&&L(d[v],l[v])>1e-9&&(h.push({kind:"bezier",control1:me(d[v],M,ke),control2:me(l[v],M,ke),end:{...l[v]}}),p=l[v])}if(!h.length)return null;let g=h[h.length-1];L(g.end,I)>1e-9&&(g.kind==="line"?g.end={...I}:h.push({kind:"line",end:{...I}}));let y={version:1,closed:!0,start:I,segments:h};return be(y)?y:null}function Vt(e){let t=[],n=e.start;for(let r of e.segments)t.push(n),n=r.end;let o=[];for(let r=e.segments.length-1;r>=0;r-=1){let i=e.segments[r],s=t[r];i.kind==="line"?o.push({kind:"line",end:{...s}}):i.kind==="arc"?o.push({kind:"arc",center:{...i.center},radius:i.radius,clockwise:!i.clockwise,end:{...s}}):o.push({kind:"bezier",control1:{...i.control2},control2:{...i.control1},end:{...s}})}return{version:1,closed:!0,start:{...e.start},segments:o}}function Fe(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 Be(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[Fe(e,.5)];let o=Array.from({length:n+1},(u,m)=>Fe(e,m/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let m=o[u].x-o[u-1].x,c=o[u].y-o[u-1].y;r[u]=r[u-1]+Math.hypot(m,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],f=1;for(let u=0;u<t;u+=1){let m=i*u/(t-1);for(;f<r.length-1&&r[f]<m;)f+=1;let c=r[f-1],b=r[f],d=b===c?0:(m-c)/(b-c);s.push({x:o[f-1].x+(o[f].x-o[f-1].x)*d,y:o[f-1].y+(o[f].y-o[f-1].y)*d})}return s}var Ue=.02291666666666667,_n=1/Ue,Wt=58,ge=Wt*Ue;var Xt=3,Ge=0,ye=120,Yt=0,qt=45,Jt=7;function xe(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function Qt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Jt?e:Xt}function He(e,t={}){let n=xe(t.floorBaseHeightM,Ge,ye,0),o=Math.min(ye,n+Qt(e.elevation)*ge),r=e.height===void 0?o:xe(e.height,Ge,ye,o),i=xe(e.rake,Yt,qt,0);return{height:r,rake:i}}function Ve(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 se=Math.PI/180;var Z=16;function Me(e,t,n,o){let r=n*se,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function Zt(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return Be(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let m=0;m<t;m++)s.push(Me(m*n,0,r,i));return s}let f=o/(t-1)*se,u=n/(2*Math.sin(Math.abs(f)/2));for(let m=0;m<t;m++){let c=m*f,b=u*Math.sin(c),d=-u+u*Math.cos(c);s.push(Me(b,d,r,i))}return s}function en(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function tn(e,t){let n=en(e);return Zt(e).map((o,r)=>{let i=n.get(r),s=Ve(i),f=he(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:f,displayLabel:pe(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(m=>m!==void 0&&m!==!1&&m!=="")?u:void 0,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function we(e){let t=[];for(let n of tn(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,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function nn(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 on(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(c=>[c.index,c])),r=(c,b,d,l)=>{let h=o.get(c),I=Ve(h),p=h?.label??`${e.label}-${c+1}`,x=e.displayLabel??e.label;return{index:c,label:p,displayLabel:h?.displayLabel??`${x}-${c+1}`,x:b+(h?.dx??0),y:d+(h?.dy??0),categoryKey:h?.categoryKey??e.categoryKey,skipped:!!h?.skip,accessible:I.length>0,accessibility:I,wheelchairSpaceType:h?.wheelchairSpaceType,commercial:h?.commercial,viewUrl:h?.viewFromSeatUrl,viewMeta:h?.viewFromSeatUrl?h.viewFromSeatMeta:void 0,labelStyle:h?.labelStyle,...l?{side:l}:{}}};if(e.shape==="round"){let c=(e.radius??40)+Z,b=e.rotation*se,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let p=0;p<n;p++){let x=b+p/n*2*Math.PI;t.push(r(p,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let l=d*se,h=(2*Math.PI-l)/2,I=b+h;for(let p=0;p<n;p++){let x=I+p/(n-1)*l;t.push(r(p,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let i=e.width??80,s=e.height??50,f=nn(e),u=["top","bottom","left","right"],m=0;for(let c of u){let b=f[c];for(let d=0;d<b;d++){let l,h;c==="top"?(l=-i/2+(d+.5)*i/b,h=-s/2-Z):c==="bottom"?(l=-i/2+(d+.5)*i/b,h=s/2+Z):c==="left"?(l=-i/2-Z,h=-s/2+(d+.5)*s/b):(l=i/2+Z,h=-s/2+(d+.5)*s/b);let I=Me(l,h,e.rotation,e.center);t.push(r(m++,I.x,I.y,c))}}return t}function We(e){return on(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.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 ze(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,f=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(f-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function rn(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),f=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=f+1e-7})}function $e(e,t,n){return ze(e,t)&&!(n??[]).some(o=>ze(e,o)||rn(e,o))}function Se(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 sn(e){switch(e.type){case"row":{let t=we(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 Se(e.points);case"section":return Se(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Se(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 Ke(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function cn(e,t){if(e.type!=="gaArea"||!Ke(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Ke(r,o[i]))}function Ye(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=sn(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(cn(t,s)||$e(r,s.outline,s.holes))):void 0)??n.find(s=>$e(r,s.outline,s.holes))}function qe(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var an="__sl_ga__",Pe=1e5;function ln(e,t){return`${an}${encodeURIComponent(e)}__${t+1}`}function un(e){let t=e.inventorySegments;if(t===void 0)return!0;if(!Array.isArray(t)||t.length<1||t.length>256)return!1;let n=0,o=new Map;for(let r of t){if(!r||typeof r.sourceAreaId!="string"||!r.sourceAreaId.trim()||r.sourceAreaId.length>160||!Number.isInteger(r.startIndex)||r.startIndex<0||!Number.isInteger(r.count)||r.count<1||r.startIndex+r.count>Pe||(n+=r.count,n>Pe))return!1;let i=o.get(r.sourceAreaId)??[],s=r.startIndex+r.count;if(i.some(f=>r.startIndex<f.end&&s>f.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function fn(e){let t=Math.min(Pe,Math.max(0,Math.floor(e.capacity)));return e.inventorySegments===void 0?t?[{sourceAreaId:e.id,startIndex:0,count:t}]:[]:un(e)?e.inventorySegments.map(n=>({...n})):[]}function Je(e){return fn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>ln(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function dn(e){return e.type==="row"?we(e).map(t=>t.label):e.type==="table"?We(e).map(t=>t.label):e.type==="booth"?Xe(e).map(t=>t.label):e.type==="gaArea"?Je(e):[]}function hn(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function Qe(e){let t=qe(e),n=t.filter(s=>s.type==="section"),o=new Map;for(let s of n){let f=s.logicalSectionId??s.id;o.get(f)||o.set(f,{id:f,label:s.displayLabel||s.label||"Section",zone:s.zone,seatCount:0,objectIds:[],seatLabels:[]})}let r={id:ce,label:"Other seats",seatCount:0,objectIds:[],seatLabels:[]},i=new Map;for(let s of t){if(!hn(s))continue;let f=dn(s);if(f.length===0)continue;let u=Ye(t,s),m=u?o.get(u.logicalSectionId??u.id):r;m.seatCount+=f.length,m.objectIds.push(s.id),m.seatLabels.push(...f),i.set(s.id,m.id)}return{sections:[...o.values()],ungrouped:r.objectIds.length?r:null,objectToSection:i}}function Ze(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function et(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=Qe(e),s=new Set,f=new Map(o.map(m=>[m.id,m.zone]));for(let m of o){let c=f.get(m.id);(t.has(m.id)||c&&t.has(c))&&s.add(m.id)}let u=!!r&&t.has(ce);for(let[m,c]of i)(s.has(c)||u&&c===ce)&&n.add(m);return n}function pn(e,t){if(!t.size)return e;let n=et(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&Ze(s,o));if(e.floors&&e.floors.length){let s=!1,f=e.floors.map(u=>{let m=u.objects.filter(r);return m.length!==u.objects.length&&(s=!0),m.length===u.objects.length?u:{...u,objects:m}});return s?{...e,floors:f,objects:f[0].objects}:e}let i=e.objects.filter(r);return i.length===e.objects.length?e:{...e,objects:i}}0&&(module.exports={DEFAULT_SECTION_CORNER_SMOOTHING,MAX_EDGE_SAGITTA_RATIO,TIER_HEIGHT_M,UNGROUPED_ID,applyHidden,arcLevelAt,bearingDeg,buildSectionRake,computeSections,distanceToPolyline,fitBowlProfile,fitCircle,hiddenObjectIds,indexLabel,isSectionHidden,logicalNumberingRow,relabelRows,resolveSection,reverseSectionOutlinePath,sampleSectionOutlinePath,seatConfidenceDisclosure,seatDisplayLabel,seatInventoryLabel,seatLabelPart,sectionCornerSmoothingPath,sectionGeometry,sectionOutlinePathFrom,sectionPathSegmentEnd,toBijectiveBase,toLetters,toRoman,transformSectionOutlinePath,translateSectionOutlinePath,validSectionOutlinePath});
1
+ "use strict";var ae=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var rt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},it=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of nt(t))!ot.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=tt(t,r))||o.enumerable});return e};var st=e=>it(ae({},"__esModule",{value:!0}),e);var mn={};rt(mn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Gt,MAX_EDGE_SAGITTA_RATIO:()=>De,TIER_HEIGHT_M:()=>ge,UNGROUPED_ID:()=>ce,applyHidden:()=>pn,arcLevelAt:()=>gt,bearingDeg:()=>Re,buildSectionRake:()=>Ct,computeSections:()=>Qe,distanceToPolyline:()=>ue,fitBowlProfile:()=>xt,fitCircle:()=>ee,hiddenObjectIds:()=>et,indexLabel:()=>Oe,isSectionHidden:()=>Ze,logicalNumberingRow:()=>Te,relabelRows:()=>Pt,resolveSection:()=>dt,reverseSectionOutlinePath:()=>Vt,sampleSectionOutlinePath:()=>Ft,seatConfidenceDisclosure:()=>Tt,seatDisplayLabel:()=>pe,seatInventoryLabel:()=>he,seatLabelPart:()=>ie,sectionCornerSmoothingPath:()=>zt,sectionGeometry:()=>He,sectionOutlinePathFrom:()=>Ne,sectionPathSegmentEnd:()=>Dt,toBijectiveBase:()=>fe,toLetters:()=>oe,toRoman:()=>de,transformSectionOutlinePath:()=>Le,translateSectionOutlinePath:()=>Bt,validSectionOutlinePath:()=>be});module.exports=st(mn);function ve(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 ue(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],f=s.x-i.x,u=s.y-i.y,m=f*f+u*u,c=m>1e-12?((t-i.x)*f+(n-i.y)*u)/m:0;c<0?c=0:c>1&&(c=1);let b=Math.hypot(t-(i.x+c*f),n-(i.y+c*u));b<o&&(o=b)}return o}function ct(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 Ie(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function le(e,t){let n=1/0;for(let o of ve(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of ve(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function at(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let c of e)n+=c.x,o+=c.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let c of e){let b=Math.hypot(c.x-n,c.y-o);b>r&&(r=b,i=c)}let s=i.x-n,f=i.y-o,u=Math.hypot(s,f);u>1e-9?(s/=u,f/=u):(s=1,f=0);let m=e.map((c,b)=>({p:c,i:b,t:(c.x-n)*s+(c.y-o)*f})).sort((c,b)=>c.t-b.t);return{pts:m.map(c=>c.p),seatIndices:m.map(c=>t[c.i])}}function ee(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,f=0,u=0,m=0,c=0;for(let g of e){let y=g.x-n,a=g.y-o;r+=y*y,s+=a*a,i+=y*a,f+=y*y*y,u+=a*a*a,m+=y*a*a,c+=a*y*y}let b=r*s-i*i;if(Math.abs(b)<1e-9)return null;let d=(f+m)/2,l=(u+c)/2,p=(d*s-l*i)/b,A=(l*r-d*i)/b,h=p+n,x=A+o;return!Number.isFinite(h)||!Number.isFinite(x)?null:{cx:h,cy:x}}var lt=.15;function ut(e){if(e.length<2)return null;let t=e.map(g=>{let y=0,a=0;for(let I of g.pts)y+=I.x,a+=I.y;return{x:y/g.pts.length,y:a/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 y=g.x-n,a=g.y-o;r+=y*y,i+=y*a,s+=a*a}let f=r+s,u=r*s-i*i,m=f/2+Math.sqrt(Math.max(0,f*f/4-u)),c,b;Math.abs(i)>1e-12?(c=m-s,b=i):r>=s?(c=1,b=0):(c=0,b=1);let d=Math.hypot(c,b);if(!(d>1e-12))return null;c/=d,b/=d;let l=1/0,p=-1/0,A=[];for(let g of e){let y=1/0,a=-1/0;for(let I of g.pts){let S=I.x*c+I.y*b;S<y&&(y=S),S>a&&(a=S),S<l&&(l=S),S>p&&(p=S)}A.push(a-y)}let h=p-l;return h>1e-9?(A.sort((g,y)=>g-y),A[Math.min(A.length-1,Math.floor(A.length*.9))]/h<=ft?{x:c,y:b}:null):null}var ft=.35;function dt(e,t,n,o){let r=new Map;for(let h of n){let x=t[h],g=x.rowId||`__seat-${h}`,y=r.get(g);y||(y={pts:[],idx:[]},r.set(g,y)),y.pts.push({x:x.x,y:x.y}),y.idx.push(h)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[h,x]of r){let g=at(x.pts,x.idx),y=0;for(let a of g.pts)y+=Math.hypot(a.x-o.x,a.y-o.y);i.push({id:h,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:y/g.pts.length})}let s=i.map(h=>ct(h.pts)),f=[];for(let h=0;h<i.length;h++){let x=1/0;for(let g=0;g<i.length;g++){if(h===g||Ie(s[h],s[g])>=x)continue;let y=le(i[h].pts,i[g].pts);y<x&&(x=y)}Number.isFinite(x)&&f.push(x)}f.sort((h,x)=>h-x);let u=f.length?f[Math.floor(f.length/2)]:1,m=Math.max(u*1.8,1e-6),c=i.map(()=>[]);for(let h=0;h<i.length;h++)for(let x=h+1;x<i.length;x++)Ie(s[h],s[x])>m||le(i[h].pts,i[x].pts)<=m&&(c[h].push(x),c[x].push(h));let b=0;for(let h=0;h<i.length;h++){if(i[h].blockId!==-1)continue;let x=b++,g=[h];for(i[h].blockId=x;g.length;){let y=g.pop();for(let a of c[y])i[a].blockId===-1&&(i[a].blockId=x,g.push(a))}}let d=new Map;for(let h of i){let x=d.get(h.blockId)??[];x.push(h),d.set(h.blockId,x)}let l=[];for(let h of i){if(h.pts.length<4)continue;let x=ee(h.pts);x&&(!Number.isFinite(x.cx)||!Number.isFinite(x.cy)||l.push({x:x.cx,y:x.cy}))}let p=l.length>=2?(()=>{let h=l.map(y=>y.x).sort((y,a)=>y-a),x=l.map(y=>y.y).sort((y,a)=>y-a),g=Math.floor(l.length/2);return{cx:h[g],cy:x[g]}})():null;if(p){let h=S=>Math.hypot(S.x-p.cx,S.y-p.cy),x=1/0,g=-1/0,y=[];for(let S of i){let R=1/0,_=-1/0;for(let N of S.pts){let F=h(N);F<R&&(R=F),F>_&&(_=F)}y.push(_-R),R<x&&(x=R),_>g&&(g=_)}let a=g-x;y.sort((S,R)=>S-R);let I=y[Math.min(y.length-1,Math.floor(y.length*.9))];if(a>1e-9&&I/a<=lt){let S=i.map(P=>{let E=0;for(let B of P.pts)E+=h(B);return{row:P,radius:E/P.pts.length}}),R=S[0],_=S[0];for(let P of S)P.radius<R.radius&&(R=P),P.radius>_.radius&&(_=P);if(R.row.focalDistance>_.row.focalDistance)for(let P of S)P.radius=-P.radius;let F=1/0;for(let P of S)P.radius<F&&(F=P.radius);S.sort((P,E)=>P.radius-E.radius);let H=-1,J=-1/0,w=a/Math.max(1,S.length)*.5,v=[];for(let P of S)P.radius-J>w&&(H++,J=P.radius),P.row.ordinal=H,P.row.blockDepth=P.radius-F,v.push(P.row);return{sectionId:e,rows:v,blockCount:b}}}let A=[];for(let[,h]of d){let x=ut(h);if(x){let g=a=>{let I=0;for(let S of a.pts)I+=S.x*x.x+S.y*x.y;return I/a.pts.length};h.sort((a,I)=>g(a)-g(I)),h.length>=2&&h[0].focalDistance>h[h.length-1].focalDistance&&h.reverse();let y=0;for(let a=0;a<h.length;a++)a>0&&(y+=le(h[a-1].pts,h[a].pts)),h[a].ordinal=a,h[a].blockDepth=y,A.push(h[a])}else{let g=1/0;for(let y of h)y.focalDistance<g&&(g=y.focalDistance);h.sort((y,a)=>y.focalDistance-a.focalDistance);for(let y=0;y<h.length;y++)h[y].ordinal=y,h[y].blockDepth=Math.max(0,h[y].focalDistance-g),A.push(h[y])}}return{sectionId:e,rows:A,blockCount:b}}var ht=Math.PI/180,C=96,pt=6,mt=60,bt=150,Ae=.2,yt=.35;function Re(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/ht;return n<0?n+360:n}function te(e){if(!e.length)return NaN;let t=[...e].sort((n,o)=>n-o);return t[Math.floor(t.length/2)]}function ne(e,t,n=2){let o=e.length,r=new Float64Array(o);for(let i=0;i<o;i++){let s=0,f=0;for(let u=-n;u<=n;u++){let m=i+u;if(t)m=(m%o+o)%o;else if(m<0||m>=o)continue;s+=e[m],f++}r[i]=s/f}return r}function xt(e,t){let n=e.filter(d=>d.rows.length>=1);if(n.length<1)return null;let o=[],r=0,i=0,s=0;for(let d of n)for(let l of d.rows){for(let p of l.pts)r+=p.x,i+=p.y,s++;if(l.pts.length>=4){let p=ee(l.pts);p&&Number.isFinite(p.cx)&&Number.isFinite(p.cy)&&o.push({x:p.cx,y:p.cy})}}if(!s)return null;let f={x:r/s,y:i/s},u=f;if(o.length>=8){let d=te(o.map(x=>x.x)),l=te(o.map(x=>x.y)),p=0;for(let x of n)for(let g of x.rows)for(let y of g.pts){let a=Math.hypot(y.x-f.x,y.y-f.y);a>p&&(p=a)}let A=0,h=p*.2;for(let x of n)for(let g of x.rows)for(let y of g.pts)Math.hypot(y.x-d,y.y-l)<h&&A++;Math.hypot(d-f.x,l-f.y)<=p&&A/s<.01&&(u={x:d,y:l})}let m=[];for(let d of n){let l={sectionId:d.sectionId,rMin:1/0,rMax:-1/0,samples:[]};for(let p of d.rows)for(let A of p.pts){let h=Math.hypot(A.x-u.x,A.y-u.y),x=Math.min(C-1,Math.floor(Re(u,A)/(360/C)));l.samples.push({r:h,bin:x,levelM:p.levelM}),h<l.rMin&&(l.rMin=h),h>l.rMax&&(l.rMax=h)}l.samples.length&&m.push(l)}if(!m.length)return null;m.sort((d,l)=>d.rMin+d.rMax-(l.rMin+l.rMax));let c=[];for(let d of m){let l=!1;for(let p of c){let A=Math.min(d.rMax,p.rMax)-Math.max(d.rMin,p.rMin),h=Math.min(d.rMax-d.rMin,p.rMax-p.rMin);if(h>1e-9&&A>=yt*h){p.members.push(d),p.rMin=Math.min(p.rMin,d.rMin),p.rMax=Math.max(p.rMax,d.rMax),l=!0;break}}l||c.push({members:[d],rMin:d.rMin,rMax:d.rMax})}let b=[];for(let d of c){let l=new Array(C).fill(null);for(let w of d.members)for(let v of w.samples){let P=l[v.bin];P||(P={samples:[]},l[v.bin]=P),P.samples.push({r:v.r,levelM:v.levelM})}let p=l.map(w=>!!w);if(!p.filter(Boolean).length)continue;let h=[],x=[];for(let w of l){if(!w)continue;let v=1/0,P=-1/0;for(let E of w.samples)E.r<v&&(v=E.r),E.r>P&&(P=E.r);h.push(v),x.push(P)}let g=te(h),y=te(x);if(!(g>=Ae*y)||!(y>0))continue;let a=[...h].sort((w,v)=>w-v);if(!(a[Math.floor(a.length*.1)]>=Ae*y))continue;let S=l.map(w=>{if(!w)return null;let v=[...w.samples].sort((k,L)=>k.r-L.r),P=v[0].r,E=v[v.length-1].r,B=v[0].levelM,$=-1/0;for(let k of v)k.levelM>$&&($=k.levelM);let O=[];for(let k of v){let L={r:k.r,l:k.levelM};for(;O.length&&Math.abs(O[O.length-1].r-L.r)<1e-9;){if(O[O.length-1].l<=L.l){L.skip=!0;break}O.pop()}if(!L.skip){for(;O.length>=2;){let K=O[O.length-2],V=O[O.length-1];if((V.r-K.r)*(L.l-K.l)-(V.l-K.l)*(L.r-K.r)<=0)O.pop();else break}O.push(L)}}let G=O.map(k=>k.r),U=O.map(k=>k.l);return{inner:P,outer:E,front:B,top:$,profile:{rs:G,ls:U}}}),R=p.slice();for(let w=0;w<C;w++){if(R[w])continue;let v=-1,P=-1,E=0;for(let M=1;M<=C;M++){let T=(w-M+C*2)%C;if(R[T]){v=T;break}}for(let M=1;M<=C;M++){let T=(w+M)%C;if(R[T]){P=T,E=M;break}}if(v<0||P<0)continue;let B=0;for(let M=1;M<=C;M++){let T=(w-M+C*2)%C;if(p[T]){B=M;break}}if(B-1+E>pt)continue;let O=S[v],G=S[P],U=B/(B+E),k=O.inner+(G.inner-O.inner)*U,L=O.outer+(G.outer-O.outer)*U,K=O.front+(G.front-O.front)*U,V=O.top+(G.top-O.top)*U;S[w]={inner:k,outer:L,front:K,top:V,profile:{rs:[k,L],ls:[K,V]}}}for(let w=0;w<C;w++)S[w]&&(R[w]=!0);let _=360/C,N=[],F=R.filter(Boolean).length,H=[];if(F===C)H.push({start:0,len:C});else{let w=0;for(;R[w];)w=(w+1)%C;let v=-1;for(let P=0;P<=C;P++){let E=(w+P)%C,B=P<C&&R[E];if(B&&v<0)v=E;else if(!B&&v>=0){let $=(E-v+C)%C||C;H.push({start:v,len:$}),v=-1}}}for(let w of H){if(w.len*_<mt&&w.len<C)continue;let v=w.len===C,P=new Float64Array(w.len),E=new Float64Array(w.len),B=new Float64Array(w.len),$=new Float64Array(w.len),O=[];for(let M=0;M<w.len;M++){let T=S[(w.start+M)%C];P[M]=T.inner,E[M]=T.outer,B[M]=T.front,$[M]=T.top,O.push(T.profile??{rs:[T.inner,T.outer],ls:[T.front,T.top]})}let G=ne(P,v),U=ne(E,v),k=ne(B,v),L=ne($,v);for(let M=0;M<w.len;M++)G[M]>P[M]&&(G[M]=P[M]),U[M]<E[M]&&(U[M]=E[M]),G[M]>U[M]-1e-6&&(G[M]=Math.max(0,U[M]-1e-6)),L[M]<k[M]&&(L[M]=k[M]);let K={startBin:w.start,binCount:w.len,closed:v,innerR:G,outerR:U,frontLevelM:k,topLevelM:L,profiles:O},V=(M,T,D)=>{let Q=O[M],W=Q.rs,z=Q.ls;if(T<=W[0]){z[0]>D&&(z[0]=D);return}if(T>=W[W.length-1]){z[z.length-1]>D&&(z[z.length-1]=D);return}for(let X=0;X+1<W.length;X++)if(T<=W[X+1]){z[X]>D&&(z[X]=D),z[X+1]>D&&(z[X+1]=D);return}};for(let M=0;M<w.len;M++){let T=l[(w.start+M)%C];if(T)for(let D of T.samples){V(M,D.r,D.levelM);let Q=v?(M-1+w.len)%w.len:M-1,W=v?(M+1)%w.len:M+1;Q>=0&&V(Q,D.r,D.levelM),W<w.len&&V(W,D.r,D.levelM)}}N.push(K)}N.reduce((w,v)=>w+v.binCount*_,0)<bt||b.push({arcs:N,sectionIds:d.members.map(w=>w.sectionId),innerRMedian:g,outerRMedian:y})}if(!b.length)return null;if(b.sort((d,l)=>d.innerRMedian-l.innerRMedian),t){let d=b[b.length-1].outerRMedian;if(Math.hypot(t.x-u.x,t.y-u.y)>.9*d)return null}return{centre:u,binCount:C,binStepDeg:360/C,rings:b}}function gt(e,t,n,o){let r=e.binStepDeg,i=n/r-.5-t.startBin;i=(i%e.binCount+e.binCount)%e.binCount,i>t.binCount-1&&(t.closed?i=i-t.binCount<t.binCount-i?0:t.binCount-1:i=i-(t.binCount-1)<e.binCount-i?t.binCount-1:0);let s=Math.floor(i),f=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),u=i-s,m=c=>{let b=t.profiles[c],d=b.rs,l=b.ls;if(o<=d[0])return l[0];if(o>=d[d.length-1])return l[l.length-1];for(let p=0;p+1<d.length;p++)if(o<=d[p+1]){let A=d[p+1]-d[p],h=A>1e-9?(o-d[p])/A:0;return l[p]+(l[p+1]-l[p])*h}return l[l.length-1]};return m(s)*(1-u)+m(f)*u}var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZ",St="ABCDEFGHJKLMNPQRSTUVWXYZ",wt="abcdefghijklmnopqrstuvwxyz";function fe(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 Oe(e,t){let n=t.startAt-1,o=e+n;if(t.scheme==="numbers")return String(o+1);let r=t.skipAmbiguous?St:Ce;return fe(o,r)}function oe(e,t=!1){let n=t?wt:Ce;return fe(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 de(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 Pt(e,t){let n=e.length;return e.map((o,r)=>{let i=t.reverse?n-1-r:r;return{...o,label:Oe(i,t)}})}function vt(e){return{kind:"radial",rowCount:0,rows:[],nearestRow:()=>-1,depthAt:(t,n)=>Math.hypot(t-e.x,n-e.y),gradientAt:(t,n)=>{let o=t-e.x,r=n-e.y,i=Math.hypot(o,r);return i<1e-9?[0,0]:[o/i,r/i]}}}function It(e,t){if(!e.length)return null;let n=0,o=0,r=0;for(let l of e)n+=l.x,o+=l.y,r+=Math.hypot(l.x-t.x,l.y-t.y);let i=e.length;n/=i,o/=i,r/=i;let s=e[0],f=-1;for(let l of e){let p=Math.hypot(l.x-n,l.y-o);p>f&&(f=p,s=l)}let u=s.x-n,m=s.y-o,c=Math.hypot(u,m);c>1e-9?(u/=c,m/=c):(u=1,m=0);let b=[...e].sort((l,p)=>(l.x-n)*u+(l.y-o)*m-((p.x-n)*u+(p.y-o)*m)),d=0;for(let l of b){let p=Math.hypot(l.x-n,l.y-o);p>d&&(d=p)}return{pts:b,cx:n,cy:o,radius:d,depth:r}}function Ee(e,t,n){let o=e.pts;if(o.length===1)return Math.hypot(t-o[0].x,n-o[0].y);let r=1/0;for(let i=0;i+1<o.length;i++){let s=o[i],f=o[i+1],u=f.x-s.x,m=f.y-s.y,c=u*u+m*m,b=c>1e-12?((t-s.x)*u+(n-s.y)*m)/c:0;b<0?b=0:b>1&&(b=1);let d=Math.hypot(t-(s.x+b*u),n-(s.y+b*m));d<r&&(r=d)}return r}var re=8;function At(e,t,n){let o=new Array(re).fill(1/0),r=new Array(re).fill(-1);for(let c=0;c<e.length;c++){let b=e[c],d=Math.hypot(t-b.cx,n-b.cy)-b.radius;for(let l=0;l<re;l++)if(d<o[l]){for(let p=re-1;p>l;p--)o[p]=o[p-1],r[p]=r[p-1];o[l]=d,r[l]=c;break}}let i=new Array(3).fill(1/0),s=new Array(3).fill(-1);for(let c of r){if(c<0)continue;let b=Ee(e[c],t,n);for(let d=0;d<3;d++)if(b<i[d]){for(let l=2;l>d;l--)i[l]=i[l-1],s[l]=s[l-1];i[d]=b,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let f=i[0]*2.2,u=0,m=0;for(let c=0;c<3;c++){let b=s[c];if(b<0||i[c]>f)continue;let d=1/(i[c]*i[c]);u+=d*e[b].depth,m+=d}return m>0?u/m:e[s[0]].depth}function Rt(e){let t=(o,r)=>At(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let f=0;f<e.length;f++){let u=e[f];if(Math.hypot(o-u.cx,r-u.cy)-u.radius>=i)continue;let m=Ee(u,o,r);m<i&&(i=m,s=f)}return s};return{kind:"rows",rowCount:e.length,rows:e,nearestRow:n,depthAt:t,gradientAt:(o,r)=>{let i=(t(o+.5,r)-t(o-.5,r))/1,s=(t(o,r+.5)-t(o,r-.5))/(2*.5),f=Math.hypot(i,s);return f<1e-9?[0,0]:[i/f,s/f]}}}function Ct(e,t){let n=[];for(let o of e){let r=It(o.points,t);r&&n.push(r)}return n.length<2?vt(t):(n.sort((o,r)=>o.depth-r.depth),Rt(n))}function Ot(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 Et(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 Tt(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",n=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":t?"Versioned synthetic model":"Generated model \xB7 not verified",o=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",r=t?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",i=[...e.limitations??[],...t?["Synthetic demo; not surveyed or venue-certified."]:[]],s=e.modeledTarget?`${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model`:void 0;return s&&i.push("Modeled target is not a percentage of the show visible."),{headline:r,model:n,reality:o,coverage:Ot(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Et(e.assessedAt),limitations:i,...s?{modeledTarget:s}:{}}}function _t(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 ie(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??"",f=e.seatNumbering?.endAt,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let l=Math.ceil(u/2),p=i==="updown"?t<l?n+2*t:n-1+2*(u-t):t<l?n+2*(l-1-t):n+1+2*(t-l);return`${s}${p}`}let m=i==="odd"||i==="even"?2:r,c=f!=null&&Number.isFinite(f)?f-(u-1)*m:n,b=o==="center"?_t(u)[t]:o==="rtl"?u-1-t:t,d;switch(i){case"odd":{let l=c%2===1?c:c+1;d=String(l+b*2);break}case"even":{let l=c%2===0?c:c+1;d=String(l+b*2);break}case"roman":d=de(c+b*r);break;case"letters-upper":d=oe(c+b*r,!1);break;case"letters-lower":d=oe(c+b*r,!0);break;default:d=String(c+b*r);break}return`${s}${d}`}function Te(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function he(e,t,n){return n?.label??`${e.label}-${ie(e,t)}`}function pe(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${ie(e,t)}`;let r=Te(n),i=n.displayOffset+t;return`${n.displayLabel}-${ie(r,i)}`}function kt(e,t,n){return Math.max(t,Math.min(n,e))}function jt(e){return kt(e,0,1)}function _e(e){let t=jt(e);return t*t*(3-2*t)}var An=Math.PI/180;function j(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function me(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}var Y=Math.PI*2;function q(e){return Number.isFinite(e.x)&&Number.isFinite(e.y)}function Lt(e,t,n){let o=t-e;if(n){for(;o<0;)o+=Y;for(;o>=Y;)o-=Y}else{for(;o>0;)o-=Y;for(;o<=-Y;)o+=Y}return o}function Dt(e){return e.end}function be(e){if(e.version!==1||e.closed!==!0||!q(e.start)||!Array.isArray(e.segments)||e.segments.length<2||e.segments.length>512)return!1;let t=e.start;for(let n of e.segments){if(!n||!q(n.end))return!1;if(n.kind==="line"){if(j(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!q(n.control1)||!q(n.control2)||j(t,n.end)<=1e-9)return!1}else if(n.kind==="arc"){if(!q(n.center)||!Number.isFinite(n.radius)||n.radius<=1e-6||Math.abs(j(t,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||Math.abs(j(n.end,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||j(t,n.end)<=1e-9)return!1}else return!1;t=n.end}return j(t,e.start)<=1e-4}function Nt(e,t,n){let o=1-n;return{x:o**3*e.x+3*o**2*n*t.control1.x+3*o*n**2*t.control2.x+n**3*t.end.x,y:o**3*e.y+3*o**2*n*t.control1.y+3*o*n**2*t.control2.y+n**3*t.end.y}}function Ft(e,t=2){if(!be(e))throw new Error("Section outline path is invalid");let n=Math.max(.25,t),o=[{...e.start}],r=e.start;for(let i of e.segments){if(i.kind==="line")o.push({...i.end});else if(i.kind==="arc"){let s=Math.atan2(r.y-i.center.y,r.x-i.center.x),f=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),u=Lt(s,f,i.clockwise),m=Math.max(2,Math.ceil(Math.abs(u)*i.radius/n));for(let c=1;c<=m;c+=1){let b=s+u*c/m;o.push({x:i.center.x+Math.cos(b)*i.radius,y:i.center.y+Math.sin(b)*i.radius})}}else{let s=j(r,i.control1)+j(i.control1,i.control2)+j(i.control2,i.end),f=Math.max(2,Math.ceil(s/n));for(let u=1;u<=f;u+=1)o.push(Nt(r,i,u/f))}r=i.end}return j(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function Bt(e,t,n){return Le(e,r=>({x:r.x+t,y:r.y+n}))}function Le(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 Gt=45,Ut=150,ke=.5523;function je(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function Ht(e){let t=[],n=[];for(e.forEach((o,r)=>{q(o)&&(t.length&&je(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&je(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function zt(e,t,n){return Ne(e,{cornerSmoothing:t,...n})}var De=.5,$t=4/3;function Kt(e,t,n){let o=t.x-e.x,r=t.y-e.y,i=Math.hypot(o,r);if(i<=1e-9)return{kind:"line",end:{...t}};let s=-r/i,f=o/i,u=n*$t;return{kind:"bezier",control1:{x:e.x+o/3+s*u,y:e.y+r/3+f*u},control2:{x:e.x+o*2/3+s*u,y:e.y+r*2/3+f*u},end:{...t}}}function Ne(e,t){let{points:n,sourceIndex:o}=Ht(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,f=new Array(r).fill(0);if(s?.length)for(let a=0;a<r;a+=1){let I=s[o[a]];f[a]=Number.isFinite(I)?Math.min(100,Math.max(-100,I))/100:0}let u=f.some(a=>Math.abs(a)>1e-6);if(i<=0&&!u)return null;let m=t.wideAngleThresholdDeg??Ut,c=[];for(let a=0;a<r;a+=1)c[a]=j(n[a],n[(a+1)%r]);let b=new Array(r).fill(0);for(let a=0;a<r;a+=1){let I=n[(a-1+r)%r],S=n[a],R=n[(a+1)%r],_={x:I.x-S.x,y:I.y-S.y},N={x:R.x-S.x,y:R.y-S.y},F=Math.hypot(_.x,_.y),H=Math.hypot(N.x,N.y);if(F<=1e-9||H<=1e-9)continue;let J=Math.min(1,Math.max(-1,(_.x*N.x+_.y*N.y)/(F*H))),w=Math.acos(J)*180/Math.PI;if(w<m)continue;let v=_e((w-m)/(180-m));b[a]=i*v*.5*Math.min(F,H)}for(let a=0;a<r;a+=1){let I=(a+1)%r,S=b[a]+b[I];if(S>c[a]&&S>1e-9){let R=c[a]/S;b[a]*=R,b[I]*=R}}let d=new Array(r),l=new Array(r);for(let a=0;a<r;a+=1){let I=n[(a-1+r)%r],S=n[a],R=n[(a+1)%r];if(b[a]<=1e-6){d[a]={...S},l[a]={...S};continue}let _=j(S,I)||1,N=j(S,R)||1;d[a]={x:S.x+(I.x-S.x)/_*b[a],y:S.y+(I.y-S.y)/_*b[a]},l[a]={x:S.x+(R.x-S.x)/N*b[a],y:S.y+(R.y-S.y)/N*b[a]}}if(b.every(a=>a<=1e-6)&&!u)return null;let p=[],A={...l[0]},h=A,x=(a,I)=>{if(j(h,a)<=1e-9)return;let S=f[I];Math.abs(S)>1e-6?p.push(Kt(h,a,S*De*c[I])):p.push({kind:"line",end:{...a}}),h=a};for(let a=1;a<=r;a+=1){let I=a%r,S=n[I];x(d[I],(a-1)%r),b[I]>1e-6&&j(d[I],l[I])>1e-9&&(p.push({kind:"bezier",control1:me(d[I],S,ke),control2:me(l[I],S,ke),end:{...l[I]}}),h=l[I])}if(!p.length)return null;let g=p[p.length-1];j(g.end,A)>1e-9&&(g.kind==="line"?g.end={...A}:p.push({kind:"line",end:{...A}}));let y={version:1,closed:!0,start:A,segments:p};return be(y)?y:null}function Vt(e){let t=[],n=e.start;for(let r of e.segments)t.push(n),n=r.end;let o=[];for(let r=e.segments.length-1;r>=0;r-=1){let i=e.segments[r],s=t[r];i.kind==="line"?o.push({kind:"line",end:{...s}}):i.kind==="arc"?o.push({kind:"arc",center:{...i.center},radius:i.radius,clockwise:!i.clockwise,end:{...s}}):o.push({kind:"bezier",control1:{...i.control2},control2:{...i.control1},end:{...s}})}return{version:1,closed:!0,start:{...e.start},segments:o}}function Fe(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 Be(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[Fe(e,.5)];let o=Array.from({length:n+1},(u,m)=>Fe(e,m/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let m=o[u].x-o[u-1].x,c=o[u].y-o[u-1].y;r[u]=r[u-1]+Math.hypot(m,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],f=1;for(let u=0;u<t;u+=1){let m=i*u/(t-1);for(;f<r.length-1&&r[f]<m;)f+=1;let c=r[f-1],b=r[f],d=b===c?0:(m-c)/(b-c);s.push({x:o[f-1].x+(o[f].x-o[f-1].x)*d,y:o[f-1].y+(o[f].y-o[f-1].y)*d})}return s}var Ue=.02291666666666667,_n=1/Ue,Wt=58,ge=Wt*Ue;var Xt=3,Ge=0,ye=120,Yt=0,qt=45,Jt=7;function xe(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function Qt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Jt?e:Xt}function He(e,t={}){let n=xe(t.floorBaseHeightM,Ge,ye,0),o=Math.min(ye,n+Qt(e.elevation)*ge),r=e.height===void 0?o:xe(e.height,Ge,ye,o),i=xe(e.rake,Yt,qt,0);return{height:r,rake:i}}function Ve(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 se=Math.PI/180;var Z=16;function we(e,t,n,o){let r=n*se,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function Zt(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return Be(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let m=0;m<t;m++)s.push(we(m*n,0,r,i));return s}let f=o/(t-1)*se,u=n/(2*Math.sin(Math.abs(f)/2));for(let m=0;m<t;m++){let c=m*f,b=u*Math.sin(c),d=-u+u*Math.cos(c);s.push(we(b,d,r,i))}return s}function en(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function tn(e,t){let n=en(e);return Zt(e).map((o,r)=>{let i=n.get(r),s=Ve(i),f=he(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:f,displayLabel:pe(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(m=>m!==void 0&&m!==!1&&m!=="")?u:void 0,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function Me(e){let t=[];for(let n of tn(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,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function nn(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 on(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(c=>[c.index,c])),r=(c,b,d,l)=>{let p=o.get(c),A=Ve(p),h=p?.label??`${e.label}-${c+1}`,x=e.displayLabel??e.label;return{index:c,label:h,displayLabel:p?.displayLabel??`${x}-${c+1}`,x:b+(p?.dx??0),y:d+(p?.dy??0),categoryKey:p?.categoryKey??e.categoryKey,skipped:!!p?.skip,accessible:A.length>0,accessibility:A,wheelchairSpaceType:p?.wheelchairSpaceType,commercial:p?.commercial,viewUrl:p?.viewFromSeatUrl,viewMeta:p?.viewFromSeatUrl?p.viewFromSeatMeta:void 0,labelStyle:p?.labelStyle,...l?{side:l}:{}}};if(e.shape==="round"){let c=(e.radius??40)+Z,b=e.rotation*se,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let h=0;h<n;h++){let x=b+h/n*2*Math.PI;t.push(r(h,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let l=d*se,p=(2*Math.PI-l)/2,A=b+p;for(let h=0;h<n;h++){let x=A+h/(n-1)*l;t.push(r(h,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let i=e.width??80,s=e.height??50,f=nn(e),u=["top","bottom","left","right"],m=0;for(let c of u){let b=f[c];for(let d=0;d<b;d++){let l,p;c==="top"?(l=-i/2+(d+.5)*i/b,p=-s/2-Z):c==="bottom"?(l=-i/2+(d+.5)*i/b,p=s/2+Z):c==="left"?(l=-i/2-Z,p=-s/2+(d+.5)*s/b):(l=i/2+Z,p=-s/2+(d+.5)*s/b);let A=we(l,p,e.rotation,e.center);t.push(r(m++,A.x,A.y,c))}}return t}function We(e){return on(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.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 ze(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,f=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(f-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function rn(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),f=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=f+1e-7})}function $e(e,t,n){return ze(e,t)&&!(n??[]).some(o=>ze(e,o)||rn(e,o))}function Se(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 sn(e){switch(e.type){case"row":{let t=Me(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 Se(e.points);case"section":return Se(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Se(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 Ke(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function cn(e,t){if(e.type!=="gaArea"||!Ke(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Ke(r,o[i]))}function Ye(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=sn(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(cn(t,s)||$e(r,s.outline,s.holes))):void 0)??n.find(s=>$e(r,s.outline,s.holes))}function qe(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var an="__sl_ga__",Pe=1e5;function ln(e,t){return`${an}${encodeURIComponent(e)}__${t+1}`}function un(e){let t=e.inventorySegments;if(t===void 0)return!0;if(!Array.isArray(t)||t.length<1||t.length>256)return!1;let n=0,o=new Map;for(let r of t){if(!r||typeof r.sourceAreaId!="string"||!r.sourceAreaId.trim()||r.sourceAreaId.length>160||!Number.isInteger(r.startIndex)||r.startIndex<0||!Number.isInteger(r.count)||r.count<1||r.startIndex+r.count>Pe||(n+=r.count,n>Pe))return!1;let i=o.get(r.sourceAreaId)??[],s=r.startIndex+r.count;if(i.some(f=>r.startIndex<f.end&&s>f.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function fn(e){let t=Math.min(Pe,Math.max(0,Math.floor(e.capacity)));return e.inventorySegments===void 0?t?[{sourceAreaId:e.id,startIndex:0,count:t}]:[]:un(e)?e.inventorySegments.map(n=>({...n})):[]}function Je(e){return fn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>ln(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function dn(e){return e.type==="row"?Me(e).map(t=>t.label):e.type==="table"?We(e).map(t=>t.label):e.type==="booth"?Xe(e).map(t=>t.label):e.type==="gaArea"?Je(e):[]}function hn(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function Qe(e){let t=qe(e),n=t.filter(s=>s.type==="section"),o=new Map;for(let s of n){let f=s.logicalSectionId??s.id;o.get(f)||o.set(f,{id:f,label:s.displayLabel||s.label||"Section",zone:s.zone,seatCount:0,objectIds:[],seatLabels:[]})}let r={id:ce,label:"Other seats",seatCount:0,objectIds:[],seatLabels:[]},i=new Map;for(let s of t){if(!hn(s))continue;let f=dn(s);if(f.length===0)continue;let u=Ye(t,s),m=u?o.get(u.logicalSectionId??u.id):r;m.seatCount+=f.length,m.objectIds.push(s.id),m.seatLabels.push(...f),i.set(s.id,m.id)}return{sections:[...o.values()],ungrouped:r.objectIds.length?r:null,objectToSection:i}}function Ze(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function et(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=Qe(e),s=new Set,f=new Map(o.map(m=>[m.id,m.zone]));for(let m of o){let c=f.get(m.id);(t.has(m.id)||c&&t.has(c))&&s.add(m.id)}let u=!!r&&t.has(ce);for(let[m,c]of i)(s.has(c)||u&&c===ce)&&n.add(m);return n}function pn(e,t){if(!t.size)return e;let n=et(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&Ze(s,o));if(e.floors&&e.floors.length){let s=!1,f=e.floors.map(u=>{let m=u.objects.filter(r);return m.length!==u.objects.length&&(s=!0),m.length===u.objects.length?u:{...u,objects:m}});return s?{...e,floors:f,objects:f[0].objects}:e}let i=e.objects.filter(r);return i.length===e.objects.length?e:{...e,objects:i}}0&&(module.exports={DEFAULT_SECTION_CORNER_SMOOTHING,MAX_EDGE_SAGITTA_RATIO,TIER_HEIGHT_M,UNGROUPED_ID,applyHidden,arcLevelAt,bearingDeg,buildSectionRake,computeSections,distanceToPolyline,fitBowlProfile,fitCircle,hiddenObjectIds,indexLabel,isSectionHidden,logicalNumberingRow,relabelRows,resolveSection,reverseSectionOutlinePath,sampleSectionOutlinePath,seatConfidenceDisclosure,seatDisplayLabel,seatInventoryLabel,seatLabelPart,sectionCornerSmoothingPath,sectionGeometry,sectionOutlinePathFrom,sectionPathSegmentEnd,toBijectiveBase,toLetters,toRoman,transformSectionOutlinePath,translateSectionOutlinePath,validSectionOutlinePath});
@@ -1 +1 @@
1
- import{a as D}from"../../chunk-EQM4FFN5.js";import{a as E,b as F,c as G,d as H}from"../../chunk-55NOSZK5.js";import{j as y,k as z,l as A,m as B,n as C}from"../../chunk-AQKYUJBX.js";import{A as e,B as f,C as m,D as p,E as t,F as x,G as a,H as b,M as c,N as d,O as g,P as h,Q as i,R as j,S as k,T as l,U as n,X as q,fa as s,ga as u,ha as v,ia as w,y as o,z as r}from"../../chunk-VDZ24QVV.js";export{p as DEFAULT_SECTION_CORNER_SMOOTHING,x as MAX_EDGE_SAGITTA_RATIO,q as TIER_HEIGHT_M,y as UNGROUPED_ID,C as applyHidden,H as arcLevelAt,F as bearingDeg,E as buildSectionRake,z as computeSections,u as distanceToPolyline,G as fitBowlProfile,v as fitCircle,B as hiddenObjectIds,d as indexLabel,A as isSectionHidden,k as logicalNumberingRow,i as relabelRows,w as resolveSection,b as reverseSectionOutlinePath,e as sampleSectionOutlinePath,D as seatConfidenceDisclosure,n as seatDisplayLabel,l as seatInventoryLabel,j as seatLabelPart,t as sectionCornerSmoothingPath,s as sectionGeometry,a as sectionOutlinePathFrom,o as sectionPathSegmentEnd,c as toBijectiveBase,g as toLetters,h as toRoman,m as transformSectionOutlinePath,f as translateSectionOutlinePath,r as validSectionOutlinePath};
1
+ import{a as D}from"../../chunk-EQM4FFN5.js";import{a as E,b as F,c as G,d as H}from"../../chunk-IRFG5DVH.js";import{j as y,k as z,l as A,m as B,n as C}from"../../chunk-4BVXDBFE.js";import{A as e,B as f,C as m,D as p,E as t,F as x,G as a,H as b,M as c,N as d,O as g,P as h,Q as i,R as j,S as k,T as l,U as n,X as q,fa as s,ga as u,ha as v,ia as w,y as o,z as r}from"../../chunk-GHJUDU3U.js";export{p as DEFAULT_SECTION_CORNER_SMOOTHING,x as MAX_EDGE_SAGITTA_RATIO,q as TIER_HEIGHT_M,y as UNGROUPED_ID,C as applyHidden,H as arcLevelAt,F as bearingDeg,E as buildSectionRake,z as computeSections,u as distanceToPolyline,G as fitBowlProfile,v as fitCircle,B as hiddenObjectIds,d as indexLabel,A as isSectionHidden,k as logicalNumberingRow,i as relabelRows,w as resolveSection,b as reverseSectionOutlinePath,e as sampleSectionOutlinePath,D as seatConfidenceDisclosure,n as seatDisplayLabel,l as seatInventoryLabel,j as seatLabelPart,t as sectionCornerSmoothingPath,s as sectionGeometry,a as sectionOutlinePathFrom,o as sectionPathSegmentEnd,c as toBijectiveBase,g as toLetters,h as toRoman,m as transformSectionOutlinePath,f as translateSectionOutlinePath,r as validSectionOutlinePath};