dioxus-spline 0.2.3

A Spline component for dioxus
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
var Ex=Object.defineProperty;var MB=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(g,e)=>(typeof require<"u"?require:g)[e]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var ms=(A,g)=>()=>(A&&(g=A(A=0)),g);var kB=(A,g)=>{for(var e in g)Ex(A,e,{get:g[e],enumerable:!0})};var vm={};kB(vm,{default:()=>lx});var hx,lx,Km=ms(()=>{hx=function(){var A=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return function(e){e=e||{};var e=typeof e<"u"?e:{},I,i;e.ready=new Promise(function(M,_){I=M,i=_});var t={},C;for(C in e)e.hasOwnProperty(C)&&(t[C]=e[C]);var o=[],a="./this.program",r=function(M,_){throw _},s=!0,B=!1,Q="";function n(M){return e.locateFile?e.locateFile(M,Q):Q+M}var E,l,h,u;(s||B)&&(B?Q=self.location.href:typeof document<"u"&&document.currentScript&&(Q=document.currentScript.src),A&&(Q=A),Q.indexOf("blob:")!==0?Q=Q.substr(0,Q.replace(/[?#].*/,"").lastIndexOf("/")+1):Q="",E=function(M){var _=new XMLHttpRequest;return _.open("GET",M,!1),_.send(null),_.responseText},B&&(h=function(M){var _=new XMLHttpRequest;return _.open("GET",M,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}),l=function(M,_,uA){var xA=new XMLHttpRequest;xA.open("GET",M,!0),xA.responseType="arraybuffer",xA.onload=function(){if(xA.status==200||xA.status==0&&xA.response){_(xA.response);return}uA()},xA.onerror=uA,xA.send(null)},u=function(M){document.title=M});var D=e.print||console.log.bind(console),p=e.printErr||console.warn.bind(console);for(C in t)t.hasOwnProperty(C)&&(e[C]=t[C]);t=null,e.arguments&&(o=e.arguments),e.thisProgram&&(a=e.thisProgram),e.quit&&(r=e.quit);function w(M,_){if(typeof WebAssembly.Function=="function"){for(var uA={i:"i32",j:"i64",f:"f32",d:"f64"},xA={parameters:[],results:_[0]=="v"?[]:[uA[_[0]]]},ig=1;ig<_.length;++ig)xA.parameters.push(uA[_[ig]]);return new WebAssembly.Function(xA,M)}var Bg=[1,0,1,96],lg=_.slice(0,1),Lg=_.slice(1),ne={i:127,j:126,f:125,d:124};Bg.push(Lg.length);for(var ig=0;ig<Lg.length;++ig)Bg.push(ne[Lg[ig]]);lg=="v"?Bg.push(0):Bg=Bg.concat([1,ne[lg]]),Bg[1]=Bg.length-2;var $e=new Uint8Array([0,97,115,109,1,0,0,0].concat(Bg,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),cg=new WebAssembly.Module($e),Wg=new WebAssembly.Instance(cg,{e:{f:M}}),yI=Wg.exports.f;return yI}var k=[],U;function N(){if(k.length)return k.pop();try{Gg.grow(1)}catch(M){throw M instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":M}return Gg.length-1}function G(M,_){for(var uA=M;uA<M+_;uA++){var xA=ZA(uA);xA&&U.set(xA,uA)}}function R(M,_){if(U||(U=new WeakMap,G(0,Gg.length)),U.has(M))return U.get(M);var uA=N();try{pg(uA,M)}catch(ig){if(!(ig instanceof TypeError))throw ig;var xA=w(M,_);pg(uA,xA)}return U.set(M,uA),uA}var J;e.wasmBinary&&(J=e.wasmBinary);var q=e.noExitRuntime||!0;typeof WebAssembly!="object"&&Cg("no native wasm support detected");var T,P=!1,H;function eA(M,_){M||Cg("Assertion failed: "+_)}var rA=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function BA(M,_,uA){for(var xA=_+uA,ig=_;M[ig]&&!(ig>=xA);)++ig;if(ig-_>16&&M.subarray&&rA)return rA.decode(M.subarray(_,ig));for(var Bg="";_<ig;){var lg=M[_++];if(!(lg&128)){Bg+=String.fromCharCode(lg);continue}var Lg=M[_++]&63;if((lg&224)==192){Bg+=String.fromCharCode((lg&31)<<6|Lg);continue}var ne=M[_++]&63;if((lg&240)==224?lg=(lg&15)<<12|Lg<<6|ne:lg=(lg&7)<<18|Lg<<12|ne<<6|M[_++]&63,lg<65536)Bg+=String.fromCharCode(lg);else{var $e=lg-65536;Bg+=String.fromCharCode(55296|$e>>10,56320|$e&1023)}}return Bg}function aA(M,_){return M?BA(GA,M,_):""}function yA(M,_,uA,xA){if(!(xA>0))return 0;for(var ig=uA,Bg=uA+xA-1,lg=0;lg<M.length;++lg){var Lg=M.charCodeAt(lg);if(Lg>=55296&&Lg<=57343){var ne=M.charCodeAt(++lg);Lg=65536+((Lg&1023)<<10)|ne&1023}if(Lg<=127){if(uA>=Bg)break;_[uA++]=Lg}else if(Lg<=2047){if(uA+1>=Bg)break;_[uA++]=192|Lg>>6,_[uA++]=128|Lg&63}else if(Lg<=65535){if(uA+2>=Bg)break;_[uA++]=224|Lg>>12,_[uA++]=128|Lg>>6&63,_[uA++]=128|Lg&63}else{if(uA+3>=Bg)break;_[uA++]=240|Lg>>18,_[uA++]=128|Lg>>12&63,_[uA++]=128|Lg>>6&63,_[uA++]=128|Lg&63}}return _[uA]=0,uA-ig}function SA(M){for(var _=0,uA=0;uA<M.length;++uA){var xA=M.charCodeAt(uA);xA>=55296&&xA<=57343&&(xA=65536+((xA&1023)<<10)|M.charCodeAt(++uA)&1023),xA<=127?++_:xA<=2047?_+=2:xA<=65535?_+=3:_+=4}return _}function pA(M,_){UA.set(M,_)}function wA(M,_,uA){for(var xA=0;xA<M.length;++xA)UA[_++>>0]=M.charCodeAt(xA);uA||(UA[_>>0]=0)}function RA(M,_){return M%_>0&&(M+=_-M%_),M}var kA,UA,GA,zA,KA,LA,YA,sg,$A;function VA(M){kA=M,e.HEAP8=UA=new Int8Array(M),e.HEAP16=zA=new Int16Array(M),e.HEAP32=LA=new Int32Array(M),e.HEAPU8=GA=new Uint8Array(M),e.HEAPU16=KA=new Uint16Array(M),e.HEAPU32=YA=new Uint32Array(M),e.HEAPF32=sg=new Float32Array(M),e.HEAPF64=$A=new Float64Array(M)}var vg=e.INITIAL_MEMORY||16777216,Gg,Ng=[],Kg=[],mg=[],Sg=!1;function Ae(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)CA(e.preRun.shift());xe(Ng)}function Mg(){Sg=!0,xe(Kg)}function sA(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)dg(e.postRun.shift());xe(mg)}function CA(M){Ng.unshift(M)}function OA(M){Kg.unshift(M)}function dg(M){mg.unshift(M)}var X=0,eg=null,Og=null;function Eg(M){X++,e.monitorRunDependencies&&e.monitorRunDependencies(X)}function og(M){if(X--,e.monitorRunDependencies&&e.monitorRunDependencies(X),X==0&&(eg!==null&&(clearInterval(eg),eg=null),Og)){var _=Og;Og=null,_()}}e.preloadedImages={},e.preloadedAudios={};function Cg(M){e.onAbort&&e.onAbort(M),M="Aborted("+M+")",p(M),P=!0,H=1,M+=". Build with -s ASSERTIONS=1 for more info.";var _=new WebAssembly.RuntimeError(M);throw i(_),_}var Yg="data:application/octet-stream;base64,";function kg(M){return M.startsWith(Yg)}var Pg;Pg="navmesh.wasm",kg(Pg)||(Pg=n(Pg));function Ie(M){try{if(M==Pg&&J)return new Uint8Array(J);if(h)return h(M);throw"both async and sync fetching of the wasm failed"}catch(_){Cg(_)}}function Ke(){return!J&&(s||B)&&typeof fetch=="function"?fetch(Pg,{credentials:"same-origin"}).then(function(M){if(!M.ok)throw"failed to load wasm binary file at '"+Pg+"'";return M.arrayBuffer()}).catch(function(){return Ie(Pg)}):Promise.resolve().then(function(){return Ie(Pg)})}function Je(){var M={a:mI};function _(lg,Lg){var ne=lg.exports;e.asm=ne,T=e.asm.m,VA(T.buffer),Gg=e.asm.Jb,OA(e.asm.n),og("wasm-instantiate")}Eg("wasm-instantiate");function uA(lg){_(lg.instance)}function xA(lg){return Ke().then(function(Lg){return WebAssembly.instantiate(Lg,M)}).then(function(Lg){return Lg}).then(lg,function(Lg){p("failed to asynchronously prepare wasm: "+Lg),Cg(Lg)})}function ig(){return!J&&typeof WebAssembly.instantiateStreaming=="function"&&!kg(Pg)&&typeof fetch=="function"?fetch(Pg,{credentials:"same-origin"}).then(function(lg){var Lg=WebAssembly.instantiateStreaming(lg,M);return Lg.then(uA,function(ne){return p("wasm streaming compile failed: "+ne),p("falling back to ArrayBuffer instantiation"),xA(uA)})}):xA(uA)}if(e.instantiateWasm)try{var Bg=e.instantiateWasm(M,_);return Bg}catch(lg){return p("Module.instantiateWasm callback failed with error: "+lg),!1}return ig().catch(i),{}}function xe(M){for(;M.length>0;){var _=M.shift();if(typeof _=="function"){_(e);continue}var uA=_.func;typeof uA=="number"?_.arg===void 0?ZA(uA)():ZA(uA)(_.arg):uA(_.arg===void 0?null:_.arg)}}var FA=[];function ZA(M){var _=FA[M];return _||(M>=FA.length&&(FA.length=M+1),FA[M]=_=Gg.get(M)),_}function pg(M,_){Gg.set(M,_),FA[M]=_}function Dg(M){return Ii(M+16)+16}function ge(M){this.excPtr=M,this.ptr=M-16,this.set_type=function(_){LA[this.ptr+4>>2]=_},this.get_type=function(){return LA[this.ptr+4>>2]},this.set_destructor=function(_){LA[this.ptr+8>>2]=_},this.get_destructor=function(){return LA[this.ptr+8>>2]},this.set_refcount=function(_){LA[this.ptr>>2]=_},this.set_caught=function(_){_=_?1:0,UA[this.ptr+12>>0]=_},this.get_caught=function(){return UA[this.ptr+12>>0]!=0},this.set_rethrown=function(_){_=_?1:0,UA[this.ptr+13>>0]=_},this.get_rethrown=function(){return UA[this.ptr+13>>0]!=0},this.init=function(_,uA){this.set_type(_),this.set_destructor(uA),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var _=LA[this.ptr>>2];LA[this.ptr>>2]=_+1},this.release_ref=function(){var _=LA[this.ptr>>2];return LA[this.ptr>>2]=_-1,_===1}}var Fg=0,gI=0;function Zg(M,_,uA){var xA=new ge(M);throw xA.init(_,uA),Fg=M,gI++,M}function SI(){Cg("")}function We(M,_,uA){GA.copyWithin(M,_,_+uA)}function GI(M){try{return T.grow(M-kA.byteLength+65535>>>16),VA(T.buffer),1}catch{}}function ti(M){var _=GA.length;M=M>>>0;var uA=2147483648;if(M>uA)return!1;for(var xA=1;xA<=4;xA*=2){var ig=_*(1+.2/xA);ig=Math.min(ig,M+100663296);var Bg=Math.min(uA,RA(Math.max(M,ig),65536)),lg=GI(Bg);if(lg)return!0}return!1}var Ci={};function XC(){return a||"./this.program"}function at(){if(!at.strings){var M=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:M,_:XC()};for(var uA in Ci)Ci[uA]===void 0?delete _[uA]:_[uA]=Ci[uA];var xA=[];for(var uA in _)xA.push(uA+"="+_[uA]);at.strings=xA}return at.strings}var mt={mappings:{},buffers:[null,[],[]],printChar:function(M,_){var uA=mt.buffers[M];_===0||_===10?((M===1?D:p)(BA(uA,0)),uA.length=0):uA.push(_)},varargs:void 0,get:function(){mt.varargs+=4;var M=LA[mt.varargs-4>>2];return M},getStr:function(M){var _=aA(M);return _},get64:function(M,_){return M}};function cA(M,_){var uA=0;return at().forEach(function(xA,ig){var Bg=_+uA;LA[M+ig*4>>2]=Bg,wA(xA,Bg),uA+=xA.length+1}),0}function jA(M,_){var uA=at();LA[M>>2]=uA.length;var xA=0;return uA.forEach(function(ig){xA+=ig.length+1}),LA[_>>2]=xA,0}function Ig(M){return 0}function HA(M,_,uA,xA){var ig=mt.getStreamFromFD(M),Bg=mt.doReadv(ig,_,uA);return LA[xA>>2]=Bg,0}function rg(M,_,uA,xA,ig){}function bg(M,_,uA,xA){for(var ig=0,Bg=0;Bg<uA;Bg++){var lg=LA[_>>2],Lg=LA[_+4>>2];_+=8;for(var ne=0;ne<Lg;ne++)mt.printChar(M,GA[lg+ne]);ig+=Lg}return LA[xA>>2]=ig,0}function oe(M){return M%4===0&&(M%100!==0||M%400===0)}function ue(M,_){for(var uA=0,xA=0;xA<=_;uA+=M[xA++]);return uA}var Qe=[31,29,31,30,31,30,31,31,30,31,30,31],Ze=[31,28,31,30,31,30,31,31,30,31,30,31];function qe(M,_){for(var uA=new Date(M.getTime());_>0;){var xA=oe(uA.getFullYear()),ig=uA.getMonth(),Bg=(xA?Qe:Ze)[ig];if(_>Bg-uA.getDate())_-=Bg-uA.getDate()+1,uA.setDate(1),ig<11?uA.setMonth(ig+1):(uA.setMonth(0),uA.setFullYear(uA.getFullYear()+1));else return uA.setDate(uA.getDate()+_),uA}return uA}function Ge(M,_,uA,xA){var ig=LA[xA+40>>2],Bg={tm_sec:LA[xA>>2],tm_min:LA[xA+4>>2],tm_hour:LA[xA+8>>2],tm_mday:LA[xA+12>>2],tm_mon:LA[xA+16>>2],tm_year:LA[xA+20>>2],tm_wday:LA[xA+24>>2],tm_yday:LA[xA+28>>2],tm_isdst:LA[xA+32>>2],tm_gmtoff:LA[xA+36>>2],tm_zone:ig?aA(ig):""},lg=aA(uA),Lg={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var ne in Lg)lg=lg.replace(new RegExp(ne,"g"),Lg[ne]);var $e=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],cg=["January","February","March","April","May","June","July","August","September","October","November","December"];function Wg(qg,Oe,ht){for(var ai=typeof qg=="number"?qg.toString():qg||"";ai.length<Oe;)ai=ht[0]+ai;return ai}function yI(qg,Oe){return Wg(qg,Oe,"0")}function rI(qg,Oe){function ht(Ma){return Ma<0?-1:Ma>0?1:0}var ai;return(ai=ht(qg.getFullYear()-Oe.getFullYear()))===0&&(ai=ht(qg.getMonth()-Oe.getMonth()))===0&&(ai=ht(qg.getDate()-Oe.getDate())),ai}function Et(qg){switch(qg.getDay()){case 0:return new Date(qg.getFullYear()-1,11,29);case 1:return qg;case 2:return new Date(qg.getFullYear(),0,3);case 3:return new Date(qg.getFullYear(),0,2);case 4:return new Date(qg.getFullYear(),0,1);case 5:return new Date(qg.getFullYear()-1,11,31);case 6:return new Date(qg.getFullYear()-1,11,30)}}function ni(qg){var Oe=qe(new Date(qg.tm_year+1900,0,1),qg.tm_yday),ht=new Date(Oe.getFullYear(),0,4),ai=new Date(Oe.getFullYear()+1,0,4),Ma=Et(ht),Gs=Et(ai);return rI(Ma,Oe)<=0?rI(Gs,Oe)<=0?Oe.getFullYear()+1:Oe.getFullYear():Oe.getFullYear()-1}var Rm={"%a":function(qg){return $e[qg.tm_wday].substring(0,3)},"%A":function(qg){return $e[qg.tm_wday]},"%b":function(qg){return cg[qg.tm_mon].substring(0,3)},"%B":function(qg){return cg[qg.tm_mon]},"%C":function(qg){var Oe=qg.tm_year+1900;return yI(Oe/100|0,2)},"%d":function(qg){return yI(qg.tm_mday,2)},"%e":function(qg){return Wg(qg.tm_mday,2," ")},"%g":function(qg){return ni(qg).toString().substring(2)},"%G":function(qg){return ni(qg)},"%H":function(qg){return yI(qg.tm_hour,2)},"%I":function(qg){var Oe=qg.tm_hour;return Oe==0?Oe=12:Oe>12&&(Oe-=12),yI(Oe,2)},"%j":function(qg){return yI(qg.tm_mday+ue(oe(qg.tm_year+1900)?Qe:Ze,qg.tm_mon-1),3)},"%m":function(qg){return yI(qg.tm_mon+1,2)},"%M":function(qg){return yI(qg.tm_min,2)},"%n":function(){return`
`},"%p":function(qg){return qg.tm_hour>=0&&qg.tm_hour<12?"AM":"PM"},"%S":function(qg){return yI(qg.tm_sec,2)},"%t":function(){return"	"},"%u":function(qg){return qg.tm_wday||7},"%U":function(qg){var Oe=new Date(qg.tm_year+1900,0,1),ht=Oe.getDay()===0?Oe:qe(Oe,7-Oe.getDay()),ai=new Date(qg.tm_year+1900,qg.tm_mon,qg.tm_mday);if(rI(ht,ai)<0){var Ma=ue(oe(ai.getFullYear())?Qe:Ze,ai.getMonth()-1)-31,Gs=31-ht.getDate(),mB=Gs+Ma+ai.getDate();return yI(Math.ceil(mB/7),2)}return rI(ht,Oe)===0?"01":"00"},"%V":function(qg){var Oe=new Date(qg.tm_year+1900,0,4),ht=new Date(qg.tm_year+1901,0,4),ai=Et(Oe),Ma=Et(ht),Gs=qe(new Date(qg.tm_year+1900,0,1),qg.tm_yday);if(rI(Gs,ai)<0)return"53";if(rI(Ma,Gs)<=0)return"01";var mB;return ai.getFullYear()<qg.tm_year+1900?mB=qg.tm_yday+32-ai.getDate():mB=qg.tm_yday+1-ai.getDate(),yI(Math.ceil(mB/7),2)},"%w":function(qg){return qg.tm_wday},"%W":function(qg){var Oe=new Date(qg.tm_year,0,1),ht=Oe.getDay()===1?Oe:qe(Oe,Oe.getDay()===0?1:7-Oe.getDay()+1),ai=new Date(qg.tm_year+1900,qg.tm_mon,qg.tm_mday);if(rI(ht,ai)<0){var Ma=ue(oe(ai.getFullYear())?Qe:Ze,ai.getMonth()-1)-31,Gs=31-ht.getDate(),mB=Gs+Ma+ai.getDate();return yI(Math.ceil(mB/7),2)}return rI(ht,Oe)===0?"01":"00"},"%y":function(qg){return(qg.tm_year+1900).toString().substring(2)},"%Y":function(qg){return qg.tm_year+1900},"%z":function(qg){var Oe=qg.tm_gmtoff,ht=Oe>=0;return Oe=Math.abs(Oe)/60,Oe=Oe/60*100+Oe%60,(ht?"+":"-")+("0000"+Oe).slice(-4)},"%Z":function(qg){return qg.tm_zone},"%%":function(){return"%"}};for(var ne in Rm)lg.includes(ne)&&(lg=lg.replace(new RegExp(ne,"g"),Rm[ne](Bg)));var Wp=Qi(lg,!1);return Wp.length>_?0:(pA(Wp,M),Wp.length-1)}function aI(M,_,uA,xA){return Ge(M,_,uA,xA)}function Qi(M,_,uA){var xA=uA>0?uA:SA(M)+1,ig=new Array(xA),Bg=yA(M,ig,0,ig.length);return _&&(ig.length=Bg),ig}var mI={l:Dg,k:Zg,b:SI,j:We,a:ti,g:cA,h:jA,c:Ig,e:HA,i:rg,d:bg,f:aI},Ai=Je(),sI=e.___wasm_call_ctors=function(){return(sI=e.___wasm_call_ctors=e.asm.n).apply(null,arguments)},te=e._emscripten_bind_VoidPtr___destroy___0=function(){return(te=e._emscripten_bind_VoidPtr___destroy___0=e.asm.o).apply(null,arguments)},Ki=e._emscripten_bind_rcConfig_rcConfig_0=function(){return(Ki=e._emscripten_bind_rcConfig_rcConfig_0=e.asm.p).apply(null,arguments)},zi=e._emscripten_bind_rcConfig_get_width_0=function(){return(zi=e._emscripten_bind_rcConfig_get_width_0=e.asm.q).apply(null,arguments)},rt=e._emscripten_bind_rcConfig_set_width_1=function(){return(rt=e._emscripten_bind_rcConfig_set_width_1=e.asm.r).apply(null,arguments)},Ne=e._emscripten_bind_rcConfig_get_height_0=function(){return(Ne=e._emscripten_bind_rcConfig_get_height_0=e.asm.s).apply(null,arguments)},uI=e._emscripten_bind_rcConfig_set_height_1=function(){return(uI=e._emscripten_bind_rcConfig_set_height_1=e.asm.t).apply(null,arguments)},Tt=e._emscripten_bind_rcConfig_get_tileSize_0=function(){return(Tt=e._emscripten_bind_rcConfig_get_tileSize_0=e.asm.u).apply(null,arguments)},vI=e._emscripten_bind_rcConfig_set_tileSize_1=function(){return(vI=e._emscripten_bind_rcConfig_set_tileSize_1=e.asm.v).apply(null,arguments)},st=e._emscripten_bind_rcConfig_get_borderSize_0=function(){return(st=e._emscripten_bind_rcConfig_get_borderSize_0=e.asm.w).apply(null,arguments)},Bt=e._emscripten_bind_rcConfig_set_borderSize_1=function(){return(Bt=e._emscripten_bind_rcConfig_set_borderSize_1=e.asm.x).apply(null,arguments)},bI=e._emscripten_bind_rcConfig_get_cs_0=function(){return(bI=e._emscripten_bind_rcConfig_get_cs_0=e.asm.y).apply(null,arguments)},Fe=e._emscripten_bind_rcConfig_set_cs_1=function(){return(Fe=e._emscripten_bind_rcConfig_set_cs_1=e.asm.z).apply(null,arguments)},Qo=e._emscripten_bind_rcConfig_get_ch_0=function(){return(Qo=e._emscripten_bind_rcConfig_get_ch_0=e.asm.A).apply(null,arguments)},Ot=e._emscripten_bind_rcConfig_set_ch_1=function(){return(Ot=e._emscripten_bind_rcConfig_set_ch_1=e.asm.B).apply(null,arguments)},JC=e._emscripten_bind_rcConfig_get_bmin_1=function(){return(JC=e._emscripten_bind_rcConfig_get_bmin_1=e.asm.C).apply(null,arguments)},di=e._emscripten_bind_rcConfig_set_bmin_2=function(){return(di=e._emscripten_bind_rcConfig_set_bmin_2=e.asm.D).apply(null,arguments)},V=e._emscripten_bind_rcConfig_get_bmax_1=function(){return(V=e._emscripten_bind_rcConfig_get_bmax_1=e.asm.E).apply(null,arguments)},oA=e._emscripten_bind_rcConfig_set_bmax_2=function(){return(oA=e._emscripten_bind_rcConfig_set_bmax_2=e.asm.F).apply(null,arguments)},MA=e._emscripten_bind_rcConfig_get_walkableSlopeAngle_0=function(){return(MA=e._emscripten_bind_rcConfig_get_walkableSlopeAngle_0=e.asm.G).apply(null,arguments)},nA=e._emscripten_bind_rcConfig_set_walkableSlopeAngle_1=function(){return(nA=e._emscripten_bind_rcConfig_set_walkableSlopeAngle_1=e.asm.H).apply(null,arguments)},JA=e._emscripten_bind_rcConfig_get_walkableHeight_0=function(){return(JA=e._emscripten_bind_rcConfig_get_walkableHeight_0=e.asm.I).apply(null,arguments)},fg=e._emscripten_bind_rcConfig_set_walkableHeight_1=function(){return(fg=e._emscripten_bind_rcConfig_set_walkableHeight_1=e.asm.J).apply(null,arguments)},CC=e._emscripten_bind_rcConfig_get_walkableClimb_0=function(){return(CC=e._emscripten_bind_rcConfig_get_walkableClimb_0=e.asm.K).apply(null,arguments)},zI=e._emscripten_bind_rcConfig_set_walkableClimb_1=function(){return(zI=e._emscripten_bind_rcConfig_set_walkableClimb_1=e.asm.L).apply(null,arguments)},$C=e._emscripten_bind_rcConfig_get_walkableRadius_0=function(){return($C=e._emscripten_bind_rcConfig_get_walkableRadius_0=e.asm.M).apply(null,arguments)},qC=e._emscripten_bind_rcConfig_set_walkableRadius_1=function(){return(qC=e._emscripten_bind_rcConfig_set_walkableRadius_1=e.asm.N).apply(null,arguments)},_t=e._emscripten_bind_rcConfig_get_maxEdgeLen_0=function(){return(_t=e._emscripten_bind_rcConfig_get_maxEdgeLen_0=e.asm.O).apply(null,arguments)},gi=e._emscripten_bind_rcConfig_set_maxEdgeLen_1=function(){return(gi=e._emscripten_bind_rcConfig_set_maxEdgeLen_1=e.asm.P).apply(null,arguments)},Lo=e._emscripten_bind_rcConfig_get_maxSimplificationError_0=function(){return(Lo=e._emscripten_bind_rcConfig_get_maxSimplificationError_0=e.asm.Q).apply(null,arguments)},bC=e._emscripten_bind_rcConfig_set_maxSimplificationError_1=function(){return(bC=e._emscripten_bind_rcConfig_set_maxSimplificationError_1=e.asm.R).apply(null,arguments)},Qt=e._emscripten_bind_rcConfig_get_minRegionArea_0=function(){return(Qt=e._emscripten_bind_rcConfig_get_minRegionArea_0=e.asm.S).apply(null,arguments)},Vi=e._emscripten_bind_rcConfig_set_minRegionArea_1=function(){return(Vi=e._emscripten_bind_rcConfig_set_minRegionArea_1=e.asm.T).apply(null,arguments)},xo=e._emscripten_bind_rcConfig_get_mergeRegionArea_0=function(){return(xo=e._emscripten_bind_rcConfig_get_mergeRegionArea_0=e.asm.U).apply(null,arguments)},Pt=e._emscripten_bind_rcConfig_set_mergeRegionArea_1=function(){return(Pt=e._emscripten_bind_rcConfig_set_mergeRegionArea_1=e.asm.V).apply(null,arguments)},dC=e._emscripten_bind_rcConfig_get_maxVertsPerPoly_0=function(){return(dC=e._emscripten_bind_rcConfig_get_maxVertsPerPoly_0=e.asm.W).apply(null,arguments)},LC=e._emscripten_bind_rcConfig_set_maxVertsPerPoly_1=function(){return(LC=e._emscripten_bind_rcConfig_set_maxVertsPerPoly_1=e.asm.X).apply(null,arguments)},Er=e._emscripten_bind_rcConfig_get_detailSampleDist_0=function(){return(Er=e._emscripten_bind_rcConfig_get_detailSampleDist_0=e.asm.Y).apply(null,arguments)},wa=e._emscripten_bind_rcConfig_set_detailSampleDist_1=function(){return(wa=e._emscripten_bind_rcConfig_set_detailSampleDist_1=e.asm.Z).apply(null,arguments)},wi=e._emscripten_bind_rcConfig_get_detailSampleMaxError_0=function(){return(wi=e._emscripten_bind_rcConfig_get_detailSampleMaxError_0=e.asm._).apply(null,arguments)},DI=e._emscripten_bind_rcConfig_set_detailSampleMaxError_1=function(){return(DI=e._emscripten_bind_rcConfig_set_detailSampleMaxError_1=e.asm.$).apply(null,arguments)},jt=e._emscripten_bind_rcConfig___destroy___0=function(){return(jt=e._emscripten_bind_rcConfig___destroy___0=e.asm.aa).apply(null,arguments)},Ds=e._emscripten_bind_Vec3_Vec3_0=function(){return(Ds=e._emscripten_bind_Vec3_Vec3_0=e.asm.ba).apply(null,arguments)},iI=e._emscripten_bind_Vec3_Vec3_3=function(){return(iI=e._emscripten_bind_Vec3_Vec3_3=e.asm.ca).apply(null,arguments)},hr=e._emscripten_bind_Vec3_get_x_0=function(){return(hr=e._emscripten_bind_Vec3_get_x_0=e.asm.da).apply(null,arguments)},lr=e._emscripten_bind_Vec3_set_x_1=function(){return(lr=e._emscripten_bind_Vec3_set_x_1=e.asm.ea).apply(null,arguments)},he=e._emscripten_bind_Vec3_get_y_0=function(){return(he=e._emscripten_bind_Vec3_get_y_0=e.asm.fa).apply(null,arguments)},xC=e._emscripten_bind_Vec3_set_y_1=function(){return(xC=e._emscripten_bind_Vec3_set_y_1=e.asm.ga).apply(null,arguments)},Ao=e._emscripten_bind_Vec3_get_z_0=function(){return(Ao=e._emscripten_bind_Vec3_get_z_0=e.asm.ha).apply(null,arguments)},Yo=e._emscripten_bind_Vec3_set_z_1=function(){return(Yo=e._emscripten_bind_Vec3_set_z_1=e.asm.ia).apply(null,arguments)},Wt=e._emscripten_bind_Vec3___destroy___0=function(){return(Wt=e._emscripten_bind_Vec3___destroy___0=e.asm.ja).apply(null,arguments)},cr=e._emscripten_bind_Triangle_Triangle_0=function(){return(cr=e._emscripten_bind_Triangle_Triangle_0=e.asm.ka).apply(null,arguments)},Me=e._emscripten_bind_Triangle_getPoint_1=function(){return(Me=e._emscripten_bind_Triangle_getPoint_1=e.asm.la).apply(null,arguments)},dr=e._emscripten_bind_Triangle___destroy___0=function(){return(dr=e._emscripten_bind_Triangle___destroy___0=e.asm.ma).apply(null,arguments)},Ho=e._emscripten_bind_DebugNavMesh_DebugNavMesh_0=function(){return(Ho=e._emscripten_bind_DebugNavMesh_DebugNavMesh_0=e.asm.na).apply(null,arguments)},ur=e._emscripten_bind_DebugNavMesh_getTriangleCount_0=function(){return(ur=e._emscripten_bind_DebugNavMesh_getTriangleCount_0=e.asm.oa).apply(null,arguments)},uC=e._emscripten_bind_DebugNavMesh_getTriangle_1=function(){return(uC=e._emscripten_bind_DebugNavMesh_getTriangle_1=e.asm.pa).apply(null,arguments)},fa=e._emscripten_bind_DebugNavMesh___destroy___0=function(){return(fa=e._emscripten_bind_DebugNavMesh___destroy___0=e.asm.qa).apply(null,arguments)},no=e._emscripten_bind_dtNavMesh___destroy___0=function(){return(no=e._emscripten_bind_dtNavMesh___destroy___0=e.asm.ra).apply(null,arguments)},DC=e._emscripten_bind_NavmeshData_NavmeshData_0=function(){return(DC=e._emscripten_bind_NavmeshData_NavmeshData_0=e.asm.sa).apply(null,arguments)},AA=e._emscripten_bind_NavmeshData_get_dataPointer_0=function(){return(AA=e._emscripten_bind_NavmeshData_get_dataPointer_0=e.asm.ta).apply(null,arguments)},fi=e._emscripten_bind_NavmeshData_set_dataPointer_1=function(){return(fi=e._emscripten_bind_NavmeshData_set_dataPointer_1=e.asm.ua).apply(null,arguments)},Sa=e._emscripten_bind_NavmeshData_get_size_0=function(){return(Sa=e._emscripten_bind_NavmeshData_get_size_0=e.asm.va).apply(null,arguments)},tI=e._emscripten_bind_NavmeshData_set_size_1=function(){return(tI=e._emscripten_bind_NavmeshData_set_size_1=e.asm.wa).apply(null,arguments)},pC=e._emscripten_bind_NavmeshData___destroy___0=function(){return(pC=e._emscripten_bind_NavmeshData___destroy___0=e.asm.xa).apply(null,arguments)},Eo=e._emscripten_bind_NavPath_getPointCount_0=function(){return(Eo=e._emscripten_bind_NavPath_getPointCount_0=e.asm.ya).apply(null,arguments)},To=e._emscripten_bind_NavPath_getPoint_1=function(){return(To=e._emscripten_bind_NavPath_getPoint_1=e.asm.za).apply(null,arguments)},Dr=e._emscripten_bind_NavPath___destroy___0=function(){return(Dr=e._emscripten_bind_NavPath___destroy___0=e.asm.Aa).apply(null,arguments)},pr=e._emscripten_bind_dtObstacleRef___destroy___0=function(){return(pr=e._emscripten_bind_dtObstacleRef___destroy___0=e.asm.Ba).apply(null,arguments)},ps=e._emscripten_bind_dtCrowdAgentParams_dtCrowdAgentParams_0=function(){return(ps=e._emscripten_bind_dtCrowdAgentParams_dtCrowdAgentParams_0=e.asm.Ca).apply(null,arguments)},ys=e._emscripten_bind_dtCrowdAgentParams_get_radius_0=function(){return(ys=e._emscripten_bind_dtCrowdAgentParams_get_radius_0=e.asm.Da).apply(null,arguments)},ho=e._emscripten_bind_dtCrowdAgentParams_set_radius_1=function(){return(ho=e._emscripten_bind_dtCrowdAgentParams_set_radius_1=e.asm.Ea).apply(null,arguments)},Oo=e._emscripten_bind_dtCrowdAgentParams_get_height_0=function(){return(Oo=e._emscripten_bind_dtCrowdAgentParams_get_height_0=e.asm.Fa).apply(null,arguments)},vA=e._emscripten_bind_dtCrowdAgentParams_set_height_1=function(){return(vA=e._emscripten_bind_dtCrowdAgentParams_set_height_1=e.asm.Ga).apply(null,arguments)},Ji=e._emscripten_bind_dtCrowdAgentParams_get_maxAcceleration_0=function(){return(Ji=e._emscripten_bind_dtCrowdAgentParams_get_maxAcceleration_0=e.asm.Ha).apply(null,arguments)},ws=e._emscripten_bind_dtCrowdAgentParams_set_maxAcceleration_1=function(){return(ws=e._emscripten_bind_dtCrowdAgentParams_set_maxAcceleration_1=e.asm.Ia).apply(null,arguments)},yr=e._emscripten_bind_dtCrowdAgentParams_get_maxSpeed_0=function(){return(yr=e._emscripten_bind_dtCrowdAgentParams_get_maxSpeed_0=e.asm.Ja).apply(null,arguments)},fs=e._emscripten_bind_dtCrowdAgentParams_set_maxSpeed_1=function(){return(fs=e._emscripten_bind_dtCrowdAgentParams_set_maxSpeed_1=e.asm.Ka).apply(null,arguments)},oC=e._emscripten_bind_dtCrowdAgentParams_get_collisionQueryRange_0=function(){return(oC=e._emscripten_bind_dtCrowdAgentParams_get_collisionQueryRange_0=e.asm.La).apply(null,arguments)},_o=e._emscripten_bind_dtCrowdAgentParams_set_collisionQueryRange_1=function(){return(_o=e._emscripten_bind_dtCrowdAgentParams_set_collisionQueryRange_1=e.asm.Ma).apply(null,arguments)},wr=e._emscripten_bind_dtCrowdAgentParams_get_pathOptimizationRange_0=function(){return(wr=e._emscripten_bind_dtCrowdAgentParams_get_pathOptimizationRange_0=e.asm.Na).apply(null,arguments)},nt=e._emscripten_bind_dtCrowdAgentParams_set_pathOptimizationRange_1=function(){return(nt=e._emscripten_bind_dtCrowdAgentParams_set_pathOptimizationRange_1=e.asm.Oa).apply(null,arguments)},Zi=e._emscripten_bind_dtCrowdAgentParams_get_separationWeight_0=function(){return(Zi=e._emscripten_bind_dtCrowdAgentParams_get_separationWeight_0=e.asm.Pa).apply(null,arguments)},ci=e._emscripten_bind_dtCrowdAgentParams_set_separationWeight_1=function(){return(ci=e._emscripten_bind_dtCrowdAgentParams_set_separationWeight_1=e.asm.Qa).apply(null,arguments)},Po=e._emscripten_bind_dtCrowdAgentParams_get_updateFlags_0=function(){return(Po=e._emscripten_bind_dtCrowdAgentParams_get_updateFlags_0=e.asm.Ra).apply(null,arguments)},lo=e._emscripten_bind_dtCrowdAgentParams_set_updateFlags_1=function(){return(lo=e._emscripten_bind_dtCrowdAgentParams_set_updateFlags_1=e.asm.Sa).apply(null,arguments)},ei=e._emscripten_bind_dtCrowdAgentParams_get_obstacleAvoidanceType_0=function(){return(ei=e._emscripten_bind_dtCrowdAgentParams_get_obstacleAvoidanceType_0=e.asm.Ta).apply(null,arguments)},BI=e._emscripten_bind_dtCrowdAgentParams_set_obstacleAvoidanceType_1=function(){return(BI=e._emscripten_bind_dtCrowdAgentParams_set_obstacleAvoidanceType_1=e.asm.Ua).apply(null,arguments)},fr=e._emscripten_bind_dtCrowdAgentParams_get_queryFilterType_0=function(){return(fr=e._emscripten_bind_dtCrowdAgentParams_get_queryFilterType_0=e.asm.Va).apply(null,arguments)},Sr=e._emscripten_bind_dtCrowdAgentParams_set_queryFilterType_1=function(){return(Sr=e._emscripten_bind_dtCrowdAgentParams_set_queryFilterType_1=e.asm.Wa).apply(null,arguments)},Mt=e._emscripten_bind_dtCrowdAgentParams_get_userData_0=function(){return(Mt=e._emscripten_bind_dtCrowdAgentParams_get_userData_0=e.asm.Xa).apply(null,arguments)},kt=e._emscripten_bind_dtCrowdAgentParams_set_userData_1=function(){return(kt=e._emscripten_bind_dtCrowdAgentParams_set_userData_1=e.asm.Ya).apply(null,arguments)},co=e._emscripten_bind_dtCrowdAgentParams___destroy___0=function(){return(co=e._emscripten_bind_dtCrowdAgentParams___destroy___0=e.asm.Za).apply(null,arguments)},Gr=e._emscripten_bind_NavMesh_NavMesh_0=function(){return(Gr=e._emscripten_bind_NavMesh_NavMesh_0=e.asm._a).apply(null,arguments)},zt=e._emscripten_bind_NavMesh_destroy_0=function(){return(zt=e._emscripten_bind_NavMesh_destroy_0=e.asm.$a).apply(null,arguments)},uo=e._emscripten_bind_NavMesh_build_5=function(){return(uo=e._emscripten_bind_NavMesh_build_5=e.asm.ab).apply(null,arguments)},me=e._emscripten_bind_NavMesh_buildFromNavmeshData_1=function(){return(me=e._emscripten_bind_NavMesh_buildFromNavmeshData_1=e.asm.bb).apply(null,arguments)},d=e._emscripten_bind_NavMesh_getNavmeshData_0=function(){return(d=e._emscripten_bind_NavMesh_getNavmeshData_0=e.asm.cb).apply(null,arguments)},f=e._emscripten_bind_NavMesh_freeNavmeshData_1=function(){return(f=e._emscripten_bind_NavMesh_freeNavmeshData_1=e.asm.db).apply(null,arguments)},F=e._emscripten_bind_NavMesh_getDebugNavMesh_0=function(){return(F=e._emscripten_bind_NavMesh_getDebugNavMesh_0=e.asm.eb).apply(null,arguments)},L=e._emscripten_bind_NavMesh_getClosestPoint_1=function(){return(L=e._emscripten_bind_NavMesh_getClosestPoint_1=e.asm.fb).apply(null,arguments)},W=e._emscripten_bind_NavMesh_getRandomPointAround_2=function(){return(W=e._emscripten_bind_NavMesh_getRandomPointAround_2=e.asm.gb).apply(null,arguments)},iA=e._emscripten_bind_NavMesh_moveAlong_2=function(){return(iA=e._emscripten_bind_NavMesh_moveAlong_2=e.asm.hb).apply(null,arguments)},hA=e._emscripten_bind_NavMesh_getNavMesh_0=function(){return(hA=e._emscripten_bind_NavMesh_getNavMesh_0=e.asm.ib).apply(null,arguments)},c=e._emscripten_bind_NavMesh_computePath_2=function(){return(c=e._emscripten_bind_NavMesh_computePath_2=e.asm.jb).apply(null,arguments)},S=e._emscripten_bind_NavMesh_setDefaultQueryExtent_1=function(){return(S=e._emscripten_bind_NavMesh_setDefaultQueryExtent_1=e.asm.kb).apply(null,arguments)},v=e._emscripten_bind_NavMesh_getDefaultQueryExtent_0=function(){return(v=e._emscripten_bind_NavMesh_getDefaultQueryExtent_0=e.asm.lb).apply(null,arguments)},Y=e._emscripten_bind_NavMesh_addCylinderObstacle_3=function(){return(Y=e._emscripten_bind_NavMesh_addCylinderObstacle_3=e.asm.mb).apply(null,arguments)},Z=e._emscripten_bind_NavMesh_addBoxObstacle_3=function(){return(Z=e._emscripten_bind_NavMesh_addBoxObstacle_3=e.asm.nb).apply(null,arguments)},QA=e._emscripten_bind_NavMesh_removeObstacle_1=function(){return(QA=e._emscripten_bind_NavMesh_removeObstacle_1=e.asm.ob).apply(null,arguments)},gA=e._emscripten_bind_NavMesh_update_0=function(){return(gA=e._emscripten_bind_NavMesh_update_0=e.asm.pb).apply(null,arguments)},fA=e._emscripten_bind_NavMesh___destroy___0=function(){return(fA=e._emscripten_bind_NavMesh___destroy___0=e.asm.qb).apply(null,arguments)},bA=e._emscripten_bind_Crowd_Crowd_3=function(){return(bA=e._emscripten_bind_Crowd_Crowd_3=e.asm.rb).apply(null,arguments)},XA=e._emscripten_bind_Crowd_destroy_0=function(){return(XA=e._emscripten_bind_Crowd_destroy_0=e.asm.sb).apply(null,arguments)},Rg=e._emscripten_bind_Crowd_addAgent_2=function(){return(Rg=e._emscripten_bind_Crowd_addAgent_2=e.asm.tb).apply(null,arguments)},Jg=e._emscripten_bind_Crowd_removeAgent_1=function(){return(Jg=e._emscripten_bind_Crowd_removeAgent_1=e.asm.ub).apply(null,arguments)},jg=e._emscripten_bind_Crowd_update_1=function(){return(jg=e._emscripten_bind_Crowd_update_1=e.asm.vb).apply(null,arguments)},Tg=e._emscripten_bind_Crowd_getAgentPosition_1=function(){return(Tg=e._emscripten_bind_Crowd_getAgentPosition_1=e.asm.wb).apply(null,arguments)},zg=e._emscripten_bind_Crowd_getAgentVelocity_1=function(){return(zg=e._emscripten_bind_Crowd_getAgentVelocity_1=e.asm.xb).apply(null,arguments)},Ee=e._emscripten_bind_Crowd_getAgentNextTargetPath_1=function(){return(Ee=e._emscripten_bind_Crowd_getAgentNextTargetPath_1=e.asm.yb).apply(null,arguments)},UI=e._emscripten_bind_Crowd_getAgentState_1=function(){return(UI=e._emscripten_bind_Crowd_getAgentState_1=e.asm.zb).apply(null,arguments)},lI=e._emscripten_bind_Crowd_overOffmeshConnection_1=function(){return(lI=e._emscripten_bind_Crowd_overOffmeshConnection_1=e.asm.Ab).apply(null,arguments)},yg=e._emscripten_bind_Crowd_agentGoto_2=function(){return(yg=e._emscripten_bind_Crowd_agentGoto_2=e.asm.Bb).apply(null,arguments)},ae=e._emscripten_bind_Crowd_agentTeleport_2=function(){return(ae=e._emscripten_bind_Crowd_agentTeleport_2=e.asm.Cb).apply(null,arguments)},oi=e._emscripten_bind_Crowd_getAgentParameters_1=function(){return(oi=e._emscripten_bind_Crowd_getAgentParameters_1=e.asm.Db).apply(null,arguments)},pI=e._emscripten_bind_Crowd_setAgentParameters_2=function(){return(pI=e._emscripten_bind_Crowd_setAgentParameters_2=e.asm.Eb).apply(null,arguments)},Si=e._emscripten_bind_Crowd_setDefaultQueryExtent_1=function(){return(Si=e._emscripten_bind_Crowd_setDefaultQueryExtent_1=e.asm.Fb).apply(null,arguments)},MI=e._emscripten_bind_Crowd_getDefaultQueryExtent_0=function(){return(MI=e._emscripten_bind_Crowd_getDefaultQueryExtent_0=e.asm.Gb).apply(null,arguments)},Ga=e._emscripten_bind_Crowd_getCorners_1=function(){return(Ga=e._emscripten_bind_Crowd_getCorners_1=e.asm.Hb).apply(null,arguments)},Ss=e._emscripten_bind_Crowd___destroy___0=function(){return(Ss=e._emscripten_bind_Crowd___destroy___0=e.asm.Ib).apply(null,arguments)},Ii=e._malloc=function(){return(Ii=e._malloc=e.asm.Kb).apply(null,arguments)},LQ=e._free=function(){return(LQ=e._free=e.asm.Lb).apply(null,arguments)};e.UTF8ToString=aA,e.addFunction=R;var ma;Og=function M(){ma||Re(),ma||(Og=M)};function Re(M){if(M=M||o,X>0||(Ae(),X>0))return;function _(){ma||(ma=!0,e.calledRun=!0,!P&&(Mg(),I(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),sA()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),_()},1)):_()}if(e.run=Re,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();Re();function KI(){}KI.prototype=Object.create(KI.prototype),KI.prototype.constructor=KI,KI.prototype.__class__=KI,KI.__cache__={},e.WrapperObject=KI;function z(M){return(M||KI).__cache__}e.getCache=z;function b(M,_){var uA=z(_),xA=uA[M];return xA||(xA=Object.create((_||KI).prototype),xA.ptr=M,uA[M]=xA)}e.wrapPointer=b;function $(M,_){return b(M.ptr,_)}e.castObject=$,e.NULL=b(0);function lA(M){if(!M.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";M.__destroy__(),delete z(M.__class__)[M.ptr]}e.destroy=lA;function qA(M,_){return M.ptr===_.ptr}e.compare=qA;function tg(M){return M.ptr}e.getPointer=tg;function ug(M){return M.__class__}e.getClass=ug;var Ug={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Ug.needed){for(var M=0;M<Ug.temps.length;M++)e._free(Ug.temps[M]);Ug.temps.length=0,e._free(Ug.buffer),Ug.buffer=0,Ug.size+=Ug.needed,Ug.needed=0}Ug.buffer||(Ug.size+=128,Ug.buffer=e._malloc(Ug.size),eA(Ug.buffer)),Ug.pos=0},alloc:function(M,_){eA(Ug.buffer);var uA=_.BYTES_PER_ELEMENT,xA=M.length*uA;xA=xA+7&-8;var ig;return Ug.pos+xA>=Ug.size?(eA(xA>0),Ug.needed+=xA,ig=e._malloc(xA),Ug.temps.push(ig)):(ig=Ug.buffer+Ug.pos,Ug.pos+=xA),ig},copy:function(M,_,uA){uA>>>=0;var xA=_.BYTES_PER_ELEMENT;switch(xA){case 2:uA>>>=1;break;case 4:uA>>>=2;break;case 8:uA>>>=3;break}for(var ig=0;ig<M.length;ig++)_[uA+ig]=M[ig]}};function Te(M){if(typeof M=="object"){var _=Ug.alloc(M,LA);return Ug.copy(M,LA,_),_}return M}function be(M){if(typeof M=="object"){var _=Ug.alloc(M,sg);return Ug.copy(M,sg,_),_}return M}function QI(){throw"cannot construct a VoidPtr, no constructor in IDL"}QI.prototype=Object.create(KI.prototype),QI.prototype.constructor=QI,QI.prototype.__class__=QI,QI.__cache__={},e.VoidPtr=QI,QI.prototype.__destroy__=QI.prototype.__destroy__=function(){var M=this.ptr;te(M)};function _A(){this.ptr=Ki(),z(_A)[this.ptr]=this}_A.prototype=Object.create(KI.prototype),_A.prototype.constructor=_A,_A.prototype.__class__=_A,_A.__cache__={},e.rcConfig=_A,_A.prototype.get_width=_A.prototype.get_width=function(){var M=this.ptr;return zi(M)},_A.prototype.set_width=_A.prototype.set_width=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),rt(_,M)},Object.defineProperty(_A.prototype,"width",{get:_A.prototype.get_width,set:_A.prototype.set_width}),_A.prototype.get_height=_A.prototype.get_height=function(){var M=this.ptr;return Ne(M)},_A.prototype.set_height=_A.prototype.set_height=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),uI(_,M)},Object.defineProperty(_A.prototype,"height",{get:_A.prototype.get_height,set:_A.prototype.set_height}),_A.prototype.get_tileSize=_A.prototype.get_tileSize=function(){var M=this.ptr;return Tt(M)},_A.prototype.set_tileSize=_A.prototype.set_tileSize=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),vI(_,M)},Object.defineProperty(_A.prototype,"tileSize",{get:_A.prototype.get_tileSize,set:_A.prototype.set_tileSize}),_A.prototype.get_borderSize=_A.prototype.get_borderSize=function(){var M=this.ptr;return st(M)},_A.prototype.set_borderSize=_A.prototype.set_borderSize=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Bt(_,M)},Object.defineProperty(_A.prototype,"borderSize",{get:_A.prototype.get_borderSize,set:_A.prototype.set_borderSize}),_A.prototype.get_cs=_A.prototype.get_cs=function(){var M=this.ptr;return bI(M)},_A.prototype.set_cs=_A.prototype.set_cs=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Fe(_,M)},Object.defineProperty(_A.prototype,"cs",{get:_A.prototype.get_cs,set:_A.prototype.set_cs}),_A.prototype.get_ch=_A.prototype.get_ch=function(){var M=this.ptr;return Qo(M)},_A.prototype.set_ch=_A.prototype.set_ch=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Ot(_,M)},Object.defineProperty(_A.prototype,"ch",{get:_A.prototype.get_ch,set:_A.prototype.set_ch}),_A.prototype.get_bmin=_A.prototype.get_bmin=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),JC(_,M)},_A.prototype.set_bmin=_A.prototype.set_bmin=function(M,_){var uA=this.ptr;Ug.prepare(),M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),di(uA,M,_)},Object.defineProperty(_A.prototype,"bmin",{get:_A.prototype.get_bmin,set:_A.prototype.set_bmin}),_A.prototype.get_bmax=_A.prototype.get_bmax=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),V(_,M)},_A.prototype.set_bmax=_A.prototype.set_bmax=function(M,_){var uA=this.ptr;Ug.prepare(),M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),oA(uA,M,_)},Object.defineProperty(_A.prototype,"bmax",{get:_A.prototype.get_bmax,set:_A.prototype.set_bmax}),_A.prototype.get_walkableSlopeAngle=_A.prototype.get_walkableSlopeAngle=function(){var M=this.ptr;return MA(M)},_A.prototype.set_walkableSlopeAngle=_A.prototype.set_walkableSlopeAngle=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),nA(_,M)},Object.defineProperty(_A.prototype,"walkableSlopeAngle",{get:_A.prototype.get_walkableSlopeAngle,set:_A.prototype.set_walkableSlopeAngle}),_A.prototype.get_walkableHeight=_A.prototype.get_walkableHeight=function(){var M=this.ptr;return JA(M)},_A.prototype.set_walkableHeight=_A.prototype.set_walkableHeight=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),fg(_,M)},Object.defineProperty(_A.prototype,"walkableHeight",{get:_A.prototype.get_walkableHeight,set:_A.prototype.set_walkableHeight}),_A.prototype.get_walkableClimb=_A.prototype.get_walkableClimb=function(){var M=this.ptr;return CC(M)},_A.prototype.set_walkableClimb=_A.prototype.set_walkableClimb=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),zI(_,M)},Object.defineProperty(_A.prototype,"walkableClimb",{get:_A.prototype.get_walkableClimb,set:_A.prototype.set_walkableClimb}),_A.prototype.get_walkableRadius=_A.prototype.get_walkableRadius=function(){var M=this.ptr;return $C(M)},_A.prototype.set_walkableRadius=_A.prototype.set_walkableRadius=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),qC(_,M)},Object.defineProperty(_A.prototype,"walkableRadius",{get:_A.prototype.get_walkableRadius,set:_A.prototype.set_walkableRadius}),_A.prototype.get_maxEdgeLen=_A.prototype.get_maxEdgeLen=function(){var M=this.ptr;return _t(M)},_A.prototype.set_maxEdgeLen=_A.prototype.set_maxEdgeLen=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),gi(_,M)},Object.defineProperty(_A.prototype,"maxEdgeLen",{get:_A.prototype.get_maxEdgeLen,set:_A.prototype.set_maxEdgeLen}),_A.prototype.get_maxSimplificationError=_A.prototype.get_maxSimplificationError=function(){var M=this.ptr;return Lo(M)},_A.prototype.set_maxSimplificationError=_A.prototype.set_maxSimplificationError=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),bC(_,M)},Object.defineProperty(_A.prototype,"maxSimplificationError",{get:_A.prototype.get_maxSimplificationError,set:_A.prototype.set_maxSimplificationError}),_A.prototype.get_minRegionArea=_A.prototype.get_minRegionArea=function(){var M=this.ptr;return Qt(M)},_A.prototype.set_minRegionArea=_A.prototype.set_minRegionArea=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Vi(_,M)},Object.defineProperty(_A.prototype,"minRegionArea",{get:_A.prototype.get_minRegionArea,set:_A.prototype.set_minRegionArea}),_A.prototype.get_mergeRegionArea=_A.prototype.get_mergeRegionArea=function(){var M=this.ptr;return xo(M)},_A.prototype.set_mergeRegionArea=_A.prototype.set_mergeRegionArea=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Pt(_,M)},Object.defineProperty(_A.prototype,"mergeRegionArea",{get:_A.prototype.get_mergeRegionArea,set:_A.prototype.set_mergeRegionArea}),_A.prototype.get_maxVertsPerPoly=_A.prototype.get_maxVertsPerPoly=function(){var M=this.ptr;return dC(M)},_A.prototype.set_maxVertsPerPoly=_A.prototype.set_maxVertsPerPoly=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),LC(_,M)},Object.defineProperty(_A.prototype,"maxVertsPerPoly",{get:_A.prototype.get_maxVertsPerPoly,set:_A.prototype.set_maxVertsPerPoly}),_A.prototype.get_detailSampleDist=_A.prototype.get_detailSampleDist=function(){var M=this.ptr;return Er(M)},_A.prototype.set_detailSampleDist=_A.prototype.set_detailSampleDist=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),wa(_,M)},Object.defineProperty(_A.prototype,"detailSampleDist",{get:_A.prototype.get_detailSampleDist,set:_A.prototype.set_detailSampleDist}),_A.prototype.get_detailSampleMaxError=_A.prototype.get_detailSampleMaxError=function(){var M=this.ptr;return wi(M)},_A.prototype.set_detailSampleMaxError=_A.prototype.set_detailSampleMaxError=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),DI(_,M)},Object.defineProperty(_A.prototype,"detailSampleMaxError",{get:_A.prototype.get_detailSampleMaxError,set:_A.prototype.set_detailSampleMaxError}),_A.prototype.__destroy__=_A.prototype.__destroy__=function(){var M=this.ptr;jt(M)};function dA(M,_,uA){if(M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),uA&&typeof uA=="object"&&(uA=uA.ptr),M===void 0){this.ptr=Ds(),z(dA)[this.ptr]=this;return}if(_===void 0){this.ptr=_emscripten_bind_Vec3_Vec3_1(M),z(dA)[this.ptr]=this;return}if(uA===void 0){this.ptr=_emscripten_bind_Vec3_Vec3_2(M,_),z(dA)[this.ptr]=this;return}this.ptr=iI(M,_,uA),z(dA)[this.ptr]=this}dA.prototype=Object.create(KI.prototype),dA.prototype.constructor=dA,dA.prototype.__class__=dA,dA.__cache__={},e.Vec3=dA,dA.prototype.get_x=dA.prototype.get_x=function(){var M=this.ptr;return hr(M)},dA.prototype.set_x=dA.prototype.set_x=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),lr(_,M)},Object.defineProperty(dA.prototype,"x",{get:dA.prototype.get_x,set:dA.prototype.set_x}),dA.prototype.get_y=dA.prototype.get_y=function(){var M=this.ptr;return he(M)},dA.prototype.set_y=dA.prototype.set_y=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),xC(_,M)},Object.defineProperty(dA.prototype,"y",{get:dA.prototype.get_y,set:dA.prototype.set_y}),dA.prototype.get_z=dA.prototype.get_z=function(){var M=this.ptr;return Ao(M)},dA.prototype.set_z=dA.prototype.set_z=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Yo(_,M)},Object.defineProperty(dA.prototype,"z",{get:dA.prototype.get_z,set:dA.prototype.set_z}),dA.prototype.__destroy__=dA.prototype.__destroy__=function(){var M=this.ptr;Wt(M)};function Qg(){this.ptr=cr(),z(Qg)[this.ptr]=this}Qg.prototype=Object.create(KI.prototype),Qg.prototype.constructor=Qg,Qg.prototype.__class__=Qg,Qg.__cache__={},e.Triangle=Qg,Qg.prototype.getPoint=Qg.prototype.getPoint=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(Me(_,M),dA)},Qg.prototype.__destroy__=Qg.prototype.__destroy__=function(){var M=this.ptr;dr(M)};function y(){this.ptr=Ho(),z(y)[this.ptr]=this}y.prototype=Object.create(KI.prototype),y.prototype.constructor=y,y.prototype.__class__=y,y.__cache__={},e.DebugNavMesh=y,y.prototype.getTriangleCount=y.prototype.getTriangleCount=function(){var M=this.ptr;return ur(M)},y.prototype.getTriangle=y.prototype.getTriangle=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(uC(_,M),Qg)},y.prototype.__destroy__=y.prototype.__destroy__=function(){var M=this.ptr;fa(M)};function m(){throw"cannot construct a dtNavMesh, no constructor in IDL"}m.prototype=Object.create(KI.prototype),m.prototype.constructor=m,m.prototype.__class__=m,m.__cache__={},e.dtNavMesh=m,m.prototype.__destroy__=m.prototype.__destroy__=function(){var M=this.ptr;no(M)};function K(){this.ptr=DC(),z(K)[this.ptr]=this}K.prototype=Object.create(KI.prototype),K.prototype.constructor=K,K.prototype.__class__=K,K.__cache__={},e.NavmeshData=K,K.prototype.get_dataPointer=K.prototype.get_dataPointer=function(){var M=this.ptr;return AA(M)},K.prototype.set_dataPointer=K.prototype.set_dataPointer=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),fi(_,M)},Object.defineProperty(K.prototype,"dataPointer",{get:K.prototype.get_dataPointer,set:K.prototype.set_dataPointer}),K.prototype.get_size=K.prototype.get_size=function(){var M=this.ptr;return Sa(M)},K.prototype.set_size=K.prototype.set_size=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),tI(_,M)},Object.defineProperty(K.prototype,"size",{get:K.prototype.get_size,set:K.prototype.set_size}),K.prototype.__destroy__=K.prototype.__destroy__=function(){var M=this.ptr;pC(M)};function O(){throw"cannot construct a NavPath, no constructor in IDL"}O.prototype=Object.create(KI.prototype),O.prototype.constructor=O,O.prototype.__class__=O,O.__cache__={},e.NavPath=O,O.prototype.getPointCount=O.prototype.getPointCount=function(){var M=this.ptr;return Eo(M)},O.prototype.getPoint=O.prototype.getPoint=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(To(_,M),dA)},O.prototype.__destroy__=O.prototype.__destroy__=function(){var M=this.ptr;Dr(M)};function IA(){throw"cannot construct a dtObstacleRef, no constructor in IDL"}IA.prototype=Object.create(KI.prototype),IA.prototype.constructor=IA,IA.prototype.__class__=IA,IA.__cache__={},e.dtObstacleRef=IA,IA.prototype.__destroy__=IA.prototype.__destroy__=function(){var M=this.ptr;pr(M)};function tA(){this.ptr=ps(),z(tA)[this.ptr]=this}tA.prototype=Object.create(KI.prototype),tA.prototype.constructor=tA,tA.prototype.__class__=tA,tA.__cache__={},e.dtCrowdAgentParams=tA,tA.prototype.get_radius=tA.prototype.get_radius=function(){var M=this.ptr;return ys(M)},tA.prototype.set_radius=tA.prototype.set_radius=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),ho(_,M)},Object.defineProperty(tA.prototype,"radius",{get:tA.prototype.get_radius,set:tA.prototype.set_radius}),tA.prototype.get_height=tA.prototype.get_height=function(){var M=this.ptr;return Oo(M)},tA.prototype.set_height=tA.prototype.set_height=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),vA(_,M)},Object.defineProperty(tA.prototype,"height",{get:tA.prototype.get_height,set:tA.prototype.set_height}),tA.prototype.get_maxAcceleration=tA.prototype.get_maxAcceleration=function(){var M=this.ptr;return Ji(M)},tA.prototype.set_maxAcceleration=tA.prototype.set_maxAcceleration=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),ws(_,M)},Object.defineProperty(tA.prototype,"maxAcceleration",{get:tA.prototype.get_maxAcceleration,set:tA.prototype.set_maxAcceleration}),tA.prototype.get_maxSpeed=tA.prototype.get_maxSpeed=function(){var M=this.ptr;return yr(M)},tA.prototype.set_maxSpeed=tA.prototype.set_maxSpeed=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),fs(_,M)},Object.defineProperty(tA.prototype,"maxSpeed",{get:tA.prototype.get_maxSpeed,set:tA.prototype.set_maxSpeed}),tA.prototype.get_collisionQueryRange=tA.prototype.get_collisionQueryRange=function(){var M=this.ptr;return oC(M)},tA.prototype.set_collisionQueryRange=tA.prototype.set_collisionQueryRange=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),_o(_,M)},Object.defineProperty(tA.prototype,"collisionQueryRange",{get:tA.prototype.get_collisionQueryRange,set:tA.prototype.set_collisionQueryRange}),tA.prototype.get_pathOptimizationRange=tA.prototype.get_pathOptimizationRange=function(){var M=this.ptr;return wr(M)},tA.prototype.set_pathOptimizationRange=tA.prototype.set_pathOptimizationRange=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),nt(_,M)},Object.defineProperty(tA.prototype,"pathOptimizationRange",{get:tA.prototype.get_pathOptimizationRange,set:tA.prototype.set_pathOptimizationRange}),tA.prototype.get_separationWeight=tA.prototype.get_separationWeight=function(){var M=this.ptr;return Zi(M)},tA.prototype.set_separationWeight=tA.prototype.set_separationWeight=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),ci(_,M)},Object.defineProperty(tA.prototype,"separationWeight",{get:tA.prototype.get_separationWeight,set:tA.prototype.set_separationWeight}),tA.prototype.get_updateFlags=tA.prototype.get_updateFlags=function(){var M=this.ptr;return Po(M)},tA.prototype.set_updateFlags=tA.prototype.set_updateFlags=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),lo(_,M)},Object.defineProperty(tA.prototype,"updateFlags",{get:tA.prototype.get_updateFlags,set:tA.prototype.set_updateFlags}),tA.prototype.get_obstacleAvoidanceType=tA.prototype.get_obstacleAvoidanceType=function(){var M=this.ptr;return ei(M)},tA.prototype.set_obstacleAvoidanceType=tA.prototype.set_obstacleAvoidanceType=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),BI(_,M)},Object.defineProperty(tA.prototype,"obstacleAvoidanceType",{get:tA.prototype.get_obstacleAvoidanceType,set:tA.prototype.set_obstacleAvoidanceType}),tA.prototype.get_queryFilterType=tA.prototype.get_queryFilterType=function(){var M=this.ptr;return fr(M)},tA.prototype.set_queryFilterType=tA.prototype.set_queryFilterType=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Sr(_,M)},Object.defineProperty(tA.prototype,"queryFilterType",{get:tA.prototype.get_queryFilterType,set:tA.prototype.set_queryFilterType}),tA.prototype.get_userData=tA.prototype.get_userData=function(){var M=this.ptr;return b(Mt(M),QI)},tA.prototype.set_userData=tA.prototype.set_userData=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),kt(_,M)},Object.defineProperty(tA.prototype,"userData",{get:tA.prototype.get_userData,set:tA.prototype.set_userData}),tA.prototype.__destroy__=tA.prototype.__destroy__=function(){var M=this.ptr;co(M)};function EA(){this.ptr=Gr(),z(EA)[this.ptr]=this}EA.prototype=Object.create(KI.prototype),EA.prototype.constructor=EA,EA.prototype.__class__=EA,EA.__cache__={},e.NavMesh=EA,EA.prototype.destroy=EA.prototype.destroy=function(){var M=this.ptr;zt(M)},EA.prototype.build=EA.prototype.build=function(M,_,uA,xA,ig){var Bg=this.ptr;Ug.prepare(),typeof M=="object"&&(M=be(M)),_&&typeof _=="object"&&(_=_.ptr),typeof uA=="object"&&(uA=Te(uA)),xA&&typeof xA=="object"&&(xA=xA.ptr),ig&&typeof ig=="object"&&(ig=ig.ptr),uo(Bg,M,_,uA,xA,ig)},EA.prototype.buildFromNavmeshData=EA.prototype.buildFromNavmeshData=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),me(_,M)},EA.prototype.getNavmeshData=EA.prototype.getNavmeshData=function(){var M=this.ptr;return b(d(M),K)},EA.prototype.freeNavmeshData=EA.prototype.freeNavmeshData=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),f(_,M)},EA.prototype.getDebugNavMesh=EA.prototype.getDebugNavMesh=function(){var M=this.ptr;return b(F(M),y)},EA.prototype.getClosestPoint=EA.prototype.getClosestPoint=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(L(_,M),dA)},EA.prototype.getRandomPointAround=EA.prototype.getRandomPointAround=function(M,_){var uA=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),b(W(uA,M,_),dA)},EA.prototype.moveAlong=EA.prototype.moveAlong=function(M,_){var uA=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),b(iA(uA,M,_),dA)},EA.prototype.getNavMesh=EA.prototype.getNavMesh=function(){var M=this.ptr;return b(hA(M),m)},EA.prototype.computePath=EA.prototype.computePath=function(M,_){var uA=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),b(c(uA,M,_),O)},EA.prototype.setDefaultQueryExtent=EA.prototype.setDefaultQueryExtent=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),S(_,M)},EA.prototype.getDefaultQueryExtent=EA.prototype.getDefaultQueryExtent=function(){var M=this.ptr;return b(v(M),dA)},EA.prototype.addCylinderObstacle=EA.prototype.addCylinderObstacle=function(M,_,uA){var xA=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),uA&&typeof uA=="object"&&(uA=uA.ptr),b(Y(xA,M,_,uA),IA)},EA.prototype.addBoxObstacle=EA.prototype.addBoxObstacle=function(M,_,uA){var xA=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),uA&&typeof uA=="object"&&(uA=uA.ptr),b(Z(xA,M,_,uA),IA)},EA.prototype.removeObstacle=EA.prototype.removeObstacle=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),QA(_,M)},EA.prototype.update=EA.prototype.update=function(){var M=this.ptr;gA(M)},EA.prototype.__destroy__=EA.prototype.__destroy__=function(){var M=this.ptr;fA(M)};function DA(M,_,uA){M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),uA&&typeof uA=="object"&&(uA=uA.ptr),this.ptr=bA(M,_,uA),z(DA)[this.ptr]=this}return DA.prototype=Object.create(KI.prototype),DA.prototype.constructor=DA,DA.prototype.__class__=DA,DA.__cache__={},e.Crowd=DA,DA.prototype.destroy=DA.prototype.destroy=function(){var M=this.ptr;XA(M)},DA.prototype.addAgent=DA.prototype.addAgent=function(M,_){var uA=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),Rg(uA,M,_)},DA.prototype.removeAgent=DA.prototype.removeAgent=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Jg(_,M)},DA.prototype.update=DA.prototype.update=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),jg(_,M)},DA.prototype.getAgentPosition=DA.prototype.getAgentPosition=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(Tg(_,M),dA)},DA.prototype.getAgentVelocity=DA.prototype.getAgentVelocity=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(zg(_,M),dA)},DA.prototype.getAgentNextTargetPath=DA.prototype.getAgentNextTargetPath=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(Ee(_,M),dA)},DA.prototype.getAgentState=DA.prototype.getAgentState=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),UI(_,M)},DA.prototype.overOffmeshConnection=DA.prototype.overOffmeshConnection=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),!!lI(_,M)},DA.prototype.agentGoto=DA.prototype.agentGoto=function(M,_){var uA=this.ptr;M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),yg(uA,M,_)},DA.prototype.agentTeleport=DA.prototype.agentTeleport=function(M,_){var uA=this.ptr;M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),ae(uA,M,_)},DA.prototype.getAgentParameters=DA.prototype.getAgentParameters=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(oi(_,M),tA)},DA.prototype.setAgentParameters=DA.prototype.setAgentParameters=function(M,_){var uA=this.ptr;M&&typeof M=="object"&&(M=M.ptr),_&&typeof _=="object"&&(_=_.ptr),pI(uA,M,_)},DA.prototype.setDefaultQueryExtent=DA.prototype.setDefaultQueryExtent=function(M){var _=this.ptr;M&&typeof M=="object"&&(M=M.ptr),Si(_,M)},DA.prototype.getDefaultQueryExtent=DA.prototype.getDefaultQueryExtent=function(){var M=this.ptr;return b(MI(M),dA)},DA.prototype.getCorners=DA.prototype.getCorners=function(M){var _=this.ptr;return M&&typeof M=="object"&&(M=M.ptr),b(Ga(_,M),O)},DA.prototype.__destroy__=DA.prototype.__destroy__=function(){var M=this.ptr;Ss(M)},e.ready}}(),lx=hx});var jm={};kB(jm,{ActiveCollisionTypes:()=>nh,ActiveEvents:()=>Cd,ActiveHooks:()=>od,Ball:()=>XQ,BroadPhase:()=>Mh,CCDSolver:()=>Gh,Capsule:()=>gn,CharacterCollision:()=>bh,CoefficientCombineRule:()=>HQ,Collider:()=>nn,ColliderDesc:()=>Qd,ColliderSet:()=>Rh,Cone:()=>Bn,ConvexPolyhedron:()=>qB,Cuboid:()=>$Q,Cylinder:()=>rn,DebugRenderBuffers:()=>Jh,DebugRenderPipeline:()=>qh,EventQueue:()=>nd,FeatureType:()=>vB,FixedImpulseJoint:()=>lh,FixedMultibodyJoint:()=>ph,HalfSpace:()=>Fh,Heightfield:()=>an,ImpulseJoint:()=>Ur,ImpulseJointSet:()=>Dh,IntegrationParameters:()=>hh,IslandManager:()=>mh,JointData:()=>sd,JointType:()=>$i,KinematicCharacterController:()=>Lh,MassPropsMode:()=>ks,MotorModel:()=>id,MultibodyJoint:()=>Nr,MultibodyJointSet:()=>Sh,NarrowPhase:()=>kh,PhysicsPipeline:()=>vh,PointColliderProjection:()=>WQ,PointProjection:()=>jQ,Polyline:()=>Cn,PrismaticImpulseJoint:()=>ch,PrismaticMultibodyJoint:()=>yh,Quaternion:()=>xQ,QueryFilterFlags:()=>td,QueryPipeline:()=>Kh,Ray:()=>Bd,RayColliderIntersection:()=>VQ,RayColliderToi:()=>Nh,RayIntersection:()=>zQ,RevoluteImpulseJoint:()=>dh,RevoluteMultibodyJoint:()=>wh,RigidBody:()=>TQ,RigidBodyDesc:()=>rd,RigidBodySet:()=>Eh,RigidBodyType:()=>Do,RotationOps:()=>Xe,RoundCone:()=>Qn,RoundConvexPolyhedron:()=>bB,RoundCuboid:()=>An,RoundCylinder:()=>sn,RoundTriangle:()=>tn,SdpMatrix3:()=>Qh,SdpMatrix3Ops:()=>YQ,Segment:()=>en,SerializationPipeline:()=>En,Shape:()=>mi,ShapeColliderTOI:()=>ZQ,ShapeContact:()=>KB,ShapeTOI:()=>JB,ShapeType:()=>CI,SolverFlags:()=>ad,SphericalImpulseJoint:()=>uh,SphericalMultibodyJoint:()=>fh,TempContactForceEvent:()=>Yh,TempContactManifold:()=>Uh,TriMesh:()=>on,Triangle:()=>In,UnitImpulseJoint:()=>_Q,UnitMultibodyJoint:()=>PQ,Vector3:()=>Bh,VectorOps:()=>TA,World:()=>xh,default:()=>ux,init:()=>_m,version:()=>Pm});function LI(A){return kI[A]}function ah(A){let g=LI(A);return function(e){e<36||(kI[e]=oh,oh=e)}(A),g}function Xi(A){oh===kI.length&&kI.push(kI.length+1);let g=oh;return oh=kI[g],kI[g]=A,g}function Be(A){return A==null}function jc(){return Hc.byteLength===0&&(Hc=new Float64Array(j.memory.buffer)),Hc}function VI(){return Tc.byteLength===0&&(Tc=new Int32Array(j.memory.buffer)),Tc}function Ym(A,g){return xm.decode((Oc.byteLength===0&&(Oc=new Uint8Array(j.memory.buffer)),Oc).subarray(A,A+g))}function NA(A,g){if(!(A instanceof g))throw new Error(`expected instance of ${g.name}`);return A.ptr}function Us(){return _c.byteLength===0&&(_c=new Float32Array(j.memory.buffer)),_c}function ui(A){if(ri==1)throw new Error("out of js stack");return kI[--ri]=A,ri}function Jm(A,g){return Us().subarray(A/4,A/4+g)}function Hm(){return Pc.byteLength===0&&(Pc=new Uint32Array(j.memory.buffer)),Pc}function UB(A,g){let e=g(4*A.length);return Us().set(A,e/4),go=A.length,e}function xc(A,g){let e=g(4*A.length);return Hm().set(A,e/4),go=A.length,e}function zp(A,g){try{return A.apply(this,g)}catch(e){j.__wbindgen_exn_store(Xi(e))}}async function Tm(A){A===void 0&&(A=new URL("rapier_wasm3d_bg.wasm","<deleted>"));let g=function(){let i={wbg:{}};return i.wbg.__wbindgen_object_drop_ref=function(t){ah(t)},i.wbg.__wbindgen_number_new=function(t){return Xi(t)},i.wbg.__wbindgen_number_get=function(t,C){let o=LI(C),a=typeof o=="number"?o:void 0;jc()[t/8+1]=Be(a)?0:a,VI()[t/4+0]=!Be(a)},i.wbg.__wbindgen_boolean_get=function(t){let C=LI(t);return typeof C=="boolean"?C?1:0:2},i.wbg.__wbindgen_is_function=function(t){return typeof LI(t)=="function"},i.wbg.__wbg_rawraycolliderintersection_new=function(t){return Xi($c.__wrap(t))},i.wbg.__wbg_rawcontactforceevent_new=function(t){return Xi(Vp.__wrap(t))},i.wbg.__wbg_call_168da88779e35f61=function(){return zp(function(t,C,o){return Xi(LI(t).call(LI(C),LI(o)))},arguments)},i.wbg.__wbg_call_3999bee59e9f7719=function(){return zp(function(t,C,o,a){return Xi(LI(t).call(LI(C),LI(o),LI(a)))},arguments)},i.wbg.__wbg_call_e1f72c051cdab859=function(){return zp(function(t,C,o,a,r){return Xi(LI(t).call(LI(C),LI(o),LI(a),LI(r)))},arguments)},i.wbg.__wbg_bind_10dfe70e95d2a480=function(t,C,o,a){return Xi(LI(t).bind(LI(C),LI(o),LI(a)))},i.wbg.__wbg_buffer_3f3d764d4747d564=function(t){return Xi(LI(t).buffer)},i.wbg.__wbg_newwithbyteoffsetandlength_d9aa266703cb98be=function(t,C,o){return Xi(new Uint8Array(LI(t),C>>>0,o>>>0))},i.wbg.__wbg_new_8c3f0052272a457a=function(t){return Xi(new Uint8Array(LI(t)))},i.wbg.__wbg_set_83db9690f9353e79=function(t,C,o){LI(t).set(LI(C),o>>>0)},i.wbg.__wbg_length_9e1ae1900cb0fbd5=function(t){return LI(t).length},i.wbg.__wbg_newwithbyteoffsetandlength_be22e5fcf4f69ab4=function(t,C,o){return Xi(new Float32Array(LI(t),C>>>0,o>>>0))},i.wbg.__wbg_set_0e0314cf6675c1b9=function(t,C,o){LI(t).set(LI(C),o>>>0)},i.wbg.__wbg_length_9a2deed95d22668d=function(t){return LI(t).length},i.wbg.__wbg_newwithlength_a7168e4a1e8f5e12=function(t){return Xi(new Float32Array(t>>>0))},i.wbg.__wbindgen_throw=function(t,C){throw new Error(Ym(t,C))},i.wbg.__wbindgen_memory=function(){return Xi(j.memory)},i}();(typeof A=="string"||typeof Request=="function"&&A instanceof Request||typeof URL=="function"&&A instanceof URL)&&(A=fetch(A));let{instance:e,module:I}=await async function(i,t){if(typeof Response=="function"&&i instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(i,t)}catch(o){if(i.headers.get("Content-Type")=="application/wasm")throw o;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",o)}let C=await i.arrayBuffer();return await WebAssembly.instantiate(C,t)}{let C=await WebAssembly.instantiate(i,t);return C instanceof WebAssembly.Instance?{instance:C,module:i}:C}}(await A,g);return function(i,t){return j=i.exports,Tm.__wbindgen_wasm_module=t,_c=new Float32Array,Hc=new Float64Array,Tc=new Int32Array,Pc=new Uint32Array,Oc=new Uint8Array,j}(e,I)}function cx(A,g,e,I){return new(e||(e=Promise))(function(i,t){function C(r){try{a(I.next(r))}catch(s){t(s)}}function o(r){try{a(I.throw(r))}catch(s){t(s)}}function a(r){var s;r.done?i(r.value):(s=r.value,s instanceof e?s:new e(function(B){B(s)})).then(C,o)}a((I=I.apply(A,g||[])).next())})}function Lm(A){var g=A.length;if(g%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=A.indexOf("=");return e===-1&&(e=g),[e,e===g?0:4-e%4]}function dx(A,g,e){for(var I,i,t=[],C=g;C<e;C+=3)I=(A[C]<<16&16711680)+(A[C+1]<<8&65280)+(255&A[C+2]),t.push(jo[(i=I)>>18&63]+jo[i>>12&63]+jo[i>>6&63]+jo[63&i]);return t.join("")}function _m(){return cx(this,void 0,void 0,function*(){yield Tm(Om.toByteArray("AGFzbQEAAAABrwuTAWACf38AYAN/f38AYAR/f39/AGACf38Bf2ABfwF/YAN/f38Bf2ABfwF+YAF/AGAFf39/f38AYAZ/f39/fX8AYAJ/fAF/YAF/AX1gBX9/f31/AGAFf39/f30AYAN/fH8AYAR/f399AX9gBn9/f39/fQBgAAF/YAR/f39/AX1gA39/fwF9YAN/f30AYAN/f38BfmADf399AX9gBH9/f38Bf2AGf39/f39/AX9gAn99AGAEf3x/fwBgAn98AX1gBn9/f39/fwBgAX0BfWADf3x9AGAIf39/f39/fX8Bf2AIf39/f39/f38AYAN/f3wAYAJ/fwF9YAV/f39/fwF/YAAAYAd/f39/f39/AGAIf39/f39/f30AYAF/AXxgA35+fwF+YAN/fH8BfWADfX19AX9gCX9/f39/f39/fwBgD39/f39/f39/f39/f39/fwBgBn99f39/fQBgCn9/f39/f39/fX8AYAt/f39/f39/f319fwBgBX9/fX9/AGAGf3x/f39/AGAFf3x/f38AYAN/fH8Bf2AFf3x9fX0AYAJ9fQF/YAZ/fH19fX0AYAp/f39/f399f39/AGAHf39/f31/fwBgCX9/f39/f31/fwF/YAt/f39/f39/f39/fwBgBn99fX9/fQBgBH99f38Bf2ADf35/AX9gD39/f39/fX9/f39/fH98fwF/YAN/fX0AYA9/f39/f39/f39/f3x/fH8AYAJ9fQF9YAN/fHwBf2ABfQF/YAV/fH99fQBgAn98AXxgBH98fX8AYAJ/fABgBX9/fHx/AXxgBH19fX0Bf2ABfAF/YAh/f39/fX9/fwBgCX9/f39/fX9/fwBgB39/f39/f30AYAt/f39/f39/f31/fwBgD39/f39/f39/f39/f319fwBgDH99f39/f39/f39/fwF/YAt/f399f399f319fwBgBn9/f39/fwF9YAl/f39/f39/f30AYAl/f39/f39/fX8AYBJ/f39/f39/f39/f399f319fX0AYAh/f39/fX1/fwBgCn9/f39/f39/fX8Bf2AJf39/f39/fX9/AGALf39/f31/f39/f38AYAh/fX9/f39/fwBgB39/f39/f30Bf2AKf31/f39/f39/fwBgBH9/f30AYAp/f39/fX9/f39/AGACf34Bf2AGf31/f39/AGAHf39/fX1/fwBgCH9/f39/f31/AGARf39/f39/f31/f39/f3x/fH8Bf2AEf39+fwBgCH99f31/fX9/AGAGf39/f319AGAJf3x/f39/f31/AX9gDH9/f39/f39/fH98fwF/YAR/f31/AGAHf39/f399fwF/YAt/f39/f39/f399fwBgB398f3x/fX8Bf2ANf39/f39/f39/fH98fwBgCn9/f39/f39/f38Bf2ANf39/f39/f319fX19fQBgBn98f39/fQF/YAZ/fH1/f38AYAV/f39/fwF9YBl/f39/fX1/f39/f39/f39/f399fX9/f39/AXxgB398fX9/f38AYAd/f39/f31/AX1gGn9/f39/f399f39/fX19f39/f39/f399f3x/AGANf39/f39/f39/fH98fwF/YAl/f39/f39+fn4AYAZ/f39/f30Bf2AHf39/f39/fwF/YAR/fHx9AX9gA35/fwF/YAZ/fH9/fX8Bf2AQf39/f399f39/f39/fH98fwBgBn9/f399fQF/YAR/fH9/AX9gDn99f39/fH9/f31/f39/AGASf31/f39/f39/f39/f39/f39/AGACf34AYAV/fH9/fwF/YAZ/fH9/fX8BfWAFf3x/f30Bf2AGf3x/fX19AGAHf3x/fX19fQBgBX9/f399AX9gBH99fX8AYAZ/f319fX0AYAN/fH8BfGAHf3x9fX19fwBgBn98fX19fwBgBX9/fH9/AGAEf31/fwBgBX9/fn9/AGAEf35/fwAChQYWA3diZxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgAHA3diZxVfX3diaW5kZ2VuX251bWJlcl9uZXcASgN3YmcVX193YmluZGdlbl9udW1iZXJfZ2V0AAADd2JnFl9fd2JpbmRnZW5fYm9vbGVhbl9nZXQABAN3YmcWX193YmluZGdlbl9pc19mdW5jdGlvbgAEA3diZyRfX3diZ19yYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9uZXcABAN3YmceX193YmdfcmF3Y29udGFjdGZvcmNlZXZlbnRfbmV3AAQDd2JnG19fd2JnX2NhbGxfMTY4ZGE4ODc3OWUzNWY2MQAFA3diZxtfX3diZ19jYWxsXzM5OTliZWU1OWU5Zjc3MTkAFwN3YmcbX193YmdfY2FsbF9lMWY3MmMwNTFjZGFiODU5ACMD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AgEBAAQHAQsUBwAqABYWFhYWFhYWFhYWFhYWAxcDAxEDAwMDAAALAwcZGQcZGRkAAAAAABkLBwQEBBUVAQAAGREDAQEDFAsECwsEBAsLCwQEBAQECwsECwsLCxUVAwMDAwMDAwsBBwcBAQcLBAUYAxEIjwEjMJEBBwIDAAUAAAIUAQABAwAAAAAAAAARFwAAAAAAABcAAQEBAQEBAQEBAAADAwMDCAAAAwMHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwMAAwICAgIAAgICAgICCAgICwMDAQEBAwEABQMDBAMDAwMDACQkAwMBAQELBQUFAwMAAQQIQQcLCwsdBgYGBAMGBgYGBgYGBgYGBgYGBgYGBgYGBgYDBQsEBAQEBAQEBAsEBAsEBAsEBAsEBAQEBgYHAAgtBAcBcAGxB7EHBQMBABEGCQF/AUGAgMAACwfpdbMDBm1lbW9yeQIAB3ZlcnNpb24AwwoqX193YmdfcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9mcmVlAOMJI3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfbmV3APQGInJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfdXAAkwglcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zZXRVcACNByZyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX29mZnNldACWCylyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldE9mZnNldADECixyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NsaWRlRW5hYmxlZACXCy9yYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX3NldFNsaWRlRW5hYmxlZADaCjFyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2F1dG9zdGVwTWF4SGVpZ2h0AK0KMHJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBNaW5XaWR0aACuCj1yYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2F1dG9zdGVwSW5jbHVkZXNEeW5hbWljQm9kaWVzAOQJL3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBFbmFibGVkAIcLLnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZW5hYmxlQXV0b3N0ZXAAsAkvcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9kaXNhYmxlQXV0b3N0ZXAA+AoycmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9tYXhTbG9wZUNsaW1iQW5nbGUAmAs1cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zZXRNYXhTbG9wZUNsaW1iQW5nbGUA+QoycmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9taW5TbG9wZVNsaWRlQW5nbGUAmQs1cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zZXRNaW5TbG9wZVNsaWRlQW5nbGUA+go0cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zbmFwVG9Hcm91bmREaXN0YW5jZQCvCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2VuYWJsZVNuYXBUb0dyb3VuZADFCjNyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2Rpc2FibGVTbmFwVG9Hcm91bmQA+wozcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zbmFwVG9Hcm91bmRFbmFibGVkAIgLN3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZUNvbGxpZGVyTW92ZW1lbnQAvwUwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlZE1vdmVtZW50AK0IMHJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZWRHcm91bmRlZACaCzVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX251bUNvbXB1dGVkQ29sbGlzaW9ucwCbCzFyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2NvbXB1dGVkQ29sbGlzaW9uAP4HIF9fd2JnX3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl9mcmVlALYLGXJhd2NoYXJhY3RlcmNvbGxpc2lvbl9uZXcA4QYccmF3Y2hhcmFjdGVyY29sbGlzaW9uX2hhbmRsZQD5CChyYXdjaGFyYWN0ZXJjb2xsaXNpb25fdHJhbnNsYXRpb25BcHBsaWVkAJQIKnJhd2NoYXJhY3RlcmNvbGxpc2lvbl90cmFuc2xhdGlvblJlbWFpbmluZwCVCBlyYXdjaGFyYWN0ZXJjb2xsaXNpb25fdG9pAJwLI3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MxAJYII3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZFdpdG5lc3MyAIgFInJhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZE5vcm1hbDEAlwgicmF3Y2hhcmFjdGVyY29sbGlzaW9uX3dvcmxkTm9ybWFsMgCuBRdfX3diZ19yYXdjY2Rzb2x2ZXJfZnJlZQCTCRByYXdjY2Rzb2x2ZXJfbmV3AO0JHHJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFR5cGUA+QYjcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Qm9keUhhbmRsZTEAqAcjcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Qm9keUhhbmRsZTIAqQcfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50RnJhbWVYMQDFBh9yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRGcmFtZVgyAMYGH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEFuY2hvcjEAmAYfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50QW5jaG9yMgCZBiJyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRBbmNob3IxAO8GInJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldEFuY2hvcjIA8AYncmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29udGFjdHNFbmFibGVkANUHKnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldENvbnRhY3RzRW5hYmxlZACjCCVyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNFbmFibGVkAP8GIXJhd2ltcHVsc2Vqb2ludHNldF9qb2ludExpbWl0c01pbgCUByFyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNNYXgAlQchcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50U2V0TGltaXRzAKUHK3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yTW9kZWwAhAcucmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29uZmlndXJlTW90b3JWZWxvY2l0eQCwBy5yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3RvclBvc2l0aW9uALEHJnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yALIHHV9fd2JnX3Jhd2ltcHVsc2Vqb2ludHNldF9mcmVlAJQJFnJhd2ltcHVsc2Vqb2ludHNldF9uZXcA7gkecmF3aW1wdWxzZWpvaW50c2V0X2NyZWF0ZUpvaW50AOEIGXJhd2ltcHVsc2Vqb2ludHNldF9yZW1vdmUA3QgWcmF3aW1wdWxzZWpvaW50c2V0X2xlbgDvCRtyYXdpbXB1bHNlam9pbnRzZXRfY29udGFpbnMAsQglcmF3aW1wdWxzZWpvaW50c2V0X2ZvckVhY2hKb2ludEhhbmRsZQCmCTJyYXdpbXB1bHNlam9pbnRzZXRfZm9yRWFjaEpvaW50QXR0YWNoZWRUb1JpZ2lkQm9keQChCSNfX3diZ19yYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZnJlZQC2CxxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbmV3AI4HG3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19kdAC7CytyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfYWxsb3dlZExpbmVhckVycm9yAJ0LK3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19wcmVkaWN0aW9uRGlzdGFuY2UAngsucmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21heFZlbG9jaXR5SXRlcmF0aW9ucwCfCzZyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbWF4VmVsb2NpdHlGcmljdGlvbkl0ZXJhdGlvbnMAoAszcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21heFN0YWJpbGl6YXRpb25JdGVyYXRpb25zAKELJnJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19taW5Jc2xhbmRTaXplAKILJ3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19tYXhDY2RTdWJzdGVwcwCjCx9yYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X2R0AI8LIHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfZXJwAPwKL3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfYWxsb3dlZExpbmVhckVycm9yAP0KL3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfcHJlZGljdGlvbkRpc3RhbmNlAP4KMnJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWF4VmVsb2NpdHlJdGVyYXRpb25zAP8KOnJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWF4VmVsb2NpdHlGcmljdGlvbkl0ZXJhdGlvbnMAgAs3cmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9tYXhTdGFiaWxpemF0aW9uSXRlcmF0aW9ucwCBCypyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X21pbklzbGFuZFNpemUAggsrcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9tYXhDY2RTdWJzdGVwcwCDCxtfX3diZ19yYXdpc2xhbmRtYW5hZ2VyX2ZyZWUA2wYUcmF3aXNsYW5kbWFuYWdlcl9uZXcAjwctcmF3aXNsYW5kbWFuYWdlcl9mb3JFYWNoQWN0aXZlUmlnaWRCb2R5SGFuZGxlAKcJGl9fd2JnX3Jhd2dlbmVyaWNqb2ludF9mcmVlALYLGXJhd2dlbmVyaWNqb2ludF9zcGhlcmljYWwAwAUZcmF3Z2VuZXJpY2pvaW50X3ByaXNtYXRpYwCLBRVyYXdnZW5lcmljam9pbnRfZml4ZWQA8QIYcmF3Z2VuZXJpY2pvaW50X3Jldm9sdXRlAJUFHnJhd211bHRpYm9keWpvaW50c2V0X2pvaW50VHlwZQDaCSFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEZyYW1lWDEAuQUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRGcmFtZVgyALoFIXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50QW5jaG9yMQC7BSFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEFuY2hvcjIAvAUpcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRDb250YWN0c0VuYWJsZWQA5gYscmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAgAcncmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRMaW1pdHNFbmFibGVkALEJI3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzTWluAIgGI3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzTWF4AIkGH19fd2JnX3Jhd211bHRpYm9keWpvaW50c2V0X2ZyZWUAlQkYcmF3bXVsdGlib2R5am9pbnRzZXRfbmV3APAJIHJhd211bHRpYm9keWpvaW50c2V0X2NyZWF0ZUpvaW50AOIIG3Jhd211bHRpYm9keWpvaW50c2V0X3JlbW92ZQDvCB1yYXdtdWx0aWJvZHlqb2ludHNldF9jb250YWlucwCYCCdyYXdtdWx0aWJvZHlqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUAqAk0cmF3bXVsdGlib2R5am9pbnRzZXRfZm9yRWFjaEpvaW50QXR0YWNoZWRUb1JpZ2lkQm9keQCiCR1yYXdyaWdpZGJvZHlzZXRfcmJUcmFuc2xhdGlvbgCaBhpyYXdyaWdpZGJvZHlzZXRfcmJSb3RhdGlvbgDHBhdyYXdyaWdpZGJvZHlzZXRfcmJTbGVlcAC/CBxyYXdyaWdpZGJvZHlzZXRfcmJJc1NsZWVwaW5nAOcHGnJhd3JpZ2lkYm9keXNldF9yYklzTW92aW5nAOgHIXJhd3JpZ2lkYm9keXNldF9yYk5leHRUcmFuc2xhdGlvbgCbBh5yYXdyaWdpZGJvZHlzZXRfcmJOZXh0Um90YXRpb24AjQYgcmF3cmlnaWRib2R5c2V0X3JiU2V0VHJhbnNsYXRpb24AmAodcmF3cmlnaWRib2R5c2V0X3JiU2V0Um90YXRpb24AlQobcmF3cmlnaWRib2R5c2V0X3JiU2V0TGludmVsAOcGG3Jhd3JpZ2lkYm9keXNldF9yYlNldEFuZ3ZlbADoBi1yYXdyaWdpZGJvZHlzZXRfcmJTZXROZXh0S2luZW1hdGljVHJhbnNsYXRpb24AygcqcmF3cmlnaWRib2R5c2V0X3JiU2V0TmV4dEtpbmVtYXRpY1JvdGF0aW9uALAKNnJhd3JpZ2lkYm9keXNldF9yYlJlY29tcHV0ZU1hc3NQcm9wZXJ0aWVzRnJvbUNvbGxpZGVycwCWByNyYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsTWFzcwDLBy1yYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsTWFzc1Byb3BlcnRpZXMAwgMYcmF3cmlnaWRib2R5c2V0X3JiTGludmVsAI4GGHJhd3JpZ2lkYm9keXNldF9yYkFuZ3ZlbACPBiJyYXdyaWdpZGJvZHlzZXRfcmJMb2NrVHJhbnNsYXRpb25zAJkKKHJhd3JpZ2lkYm9keXNldF9yYlNldEVuYWJsZWRUcmFuc2xhdGlvbnMA0AkfcmF3cmlnaWRib2R5c2V0X3JiTG9ja1JvdGF0aW9ucwCaCiVyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkUm90YXRpb25zANEJIHJhd3JpZ2lkYm9keXNldF9yYkRvbWluYW5jZUdyb3VwAMQHI3Jhd3JpZ2lkYm9keXNldF9yYlNldERvbWluYW5jZUdyb3VwALIIG3Jhd3JpZ2lkYm9keXNldF9yYkVuYWJsZUNjZACkCBZyYXdyaWdpZGJvZHlzZXRfcmJNYXNzAOkHGXJhd3JpZ2lkYm9keXNldF9yYkludk1hc3MA1gcicmF3cmlnaWRib2R5c2V0X3JiRWZmZWN0aXZlSW52TWFzcwCcBhpyYXdyaWdpZGJvZHlzZXRfcmJMb2NhbENvbQCdBhpyYXdyaWdpZGJvZHlzZXRfcmJXb3JsZENvbQCeBilyYXdyaWdpZGJvZHlzZXRfcmJJbnZQcmluY2lwYWxJbmVydGlhU3FydACfBixyYXdyaWdpZGJvZHlzZXRfcmJQcmluY2lwYWxJbmVydGlhTG9jYWxGcmFtZQCgBiJyYXdyaWdpZGJvZHlzZXRfcmJQcmluY2lwYWxJbmVydGlhAN8GLnJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZVdvcmxkSW52SW5lcnRpYVNxcnQA9QUpcmF3cmlnaWRib2R5c2V0X3JiRWZmZWN0aXZlQW5ndWxhckluZXJ0aWEAyAYYcmF3cmlnaWRib2R5c2V0X3JiV2FrZVVwALMIHnJhd3JpZ2lkYm9keXNldF9yYklzQ2NkRW5hYmxlZADqBx5yYXdyaWdpZGJvZHlzZXRfcmJOdW1Db2xsaWRlcnMAzAcacmF3cmlnaWRib2R5c2V0X3JiQ29sbGlkZXIA3wkacmF3cmlnaWRib2R5c2V0X3JiQm9keVR5cGUA1wcdcmF3cmlnaWRib2R5c2V0X3JiU2V0Qm9keVR5cGUAvAcZcmF3cmlnaWRib2R5c2V0X3JiSXNGaXhlZADrBx1yYXdyaWdpZGJvZHlzZXRfcmJJc0tpbmVtYXRpYwDsBxtyYXdyaWdpZGJvZHlzZXRfcmJJc0R5bmFtaWMA7QcfcmF3cmlnaWRib2R5c2V0X3JiTGluZWFyRGFtcGluZwDYByByYXdyaWdpZGJvZHlzZXRfcmJBbmd1bGFyRGFtcGluZwDZByJyYXdyaWdpZGJvZHlzZXRfcmJTZXRMaW5lYXJEYW1waW5nALQII3Jhd3JpZ2lkYm9keXNldF9yYlNldEFuZ3VsYXJEYW1waW5nAKUIHHJhd3JpZ2lkYm9keXNldF9yYlNldEVuYWJsZWQApggbcmF3cmlnaWRib2R5c2V0X3JiSXNFbmFibGVkAO4HHnJhd3JpZ2lkYm9keXNldF9yYkdyYXZpdHlTY2FsZQDvByFyYXdyaWdpZGJvZHlzZXRfcmJTZXRHcmF2aXR5U2NhbGUAmQgdcmF3cmlnaWRib2R5c2V0X3JiUmVzZXRGb3JjZXMApwgecmF3cmlnaWRib2R5c2V0X3JiUmVzZXRUb3JxdWVzAKgIGnJhd3JpZ2lkYm9keXNldF9yYkFkZEZvcmNlAOkGHnJhd3JpZ2lkYm9keXNldF9yYkFwcGx5SW1wdWxzZQDqBhtyYXdyaWdpZGJvZHlzZXRfcmJBZGRUb3JxdWUA6wYkcmF3cmlnaWRib2R5c2V0X3JiQXBwbHlUb3JxdWVJbXB1bHNlAOwGIXJhd3JpZ2lkYm9keXNldF9yYkFkZEZvcmNlQXRQb2ludAC1BSVyYXdyaWdpZGJvZHlzZXRfcmJBcHBseUltcHVsc2VBdFBvaW50ALYFGnJhd3JpZ2lkYm9keXNldF9yYlVzZXJEYXRhANoHHXJhd3JpZ2lkYm9keXNldF9yYlNldFVzZXJEYXRhAP8HGl9fd2JnX3Jhd3JpZ2lkYm9keXNldF9mcmVlAMEFE3Jhd3JpZ2lkYm9keXNldF9uZXcAkAgfcmF3cmlnaWRib2R5c2V0X2NyZWF0ZVJpZ2lkQm9keQC0AxZyYXdyaWdpZGJvZHlzZXRfcmVtb3ZlAKQFE3Jhd3JpZ2lkYm9keXNldF9sZW4A8QkYcmF3cmlnaWRib2R5c2V0X2NvbnRhaW5zALUIJnJhd3JpZ2lkYm9keXNldF9mb3JFYWNoUmlnaWRCb2R5SGFuZGxlAKkJOXJhd3JpZ2lkYm9keXNldF9wcm9wYWdhdGVNb2RpZmllZEJvZHlQb3NpdGlvbnNUb0NvbGxpZGVycwDICRhfX3diZ19yYXdicm9hZHBoYXNlX2ZyZWUAlgkRcmF3YnJvYWRwaGFzZV9uZXcA0gkccmF3Y29sbGlkZXJzZXRfY29UcmFuc2xhdGlvbgChBhlyYXdjb2xsaWRlcnNldF9jb1JvdGF0aW9uAJAGH3Jhd2NvbGxpZGVyc2V0X2NvU2V0VHJhbnNsYXRpb24AzQcocmF3Y29sbGlkZXJzZXRfY29TZXRUcmFuc2xhdGlvbldydFBhcmVudADOBxxyYXdjb2xsaWRlcnNldF9jb1NldFJvdGF0aW9uALEKJXJhd2NvbGxpZGVyc2V0X2NvU2V0Um90YXRpb25XcnRQYXJlbnQAsgoZcmF3Y29sbGlkZXJzZXRfY29Jc1NlbnNvcgDwBxpyYXdjb2xsaWRlcnNldF9jb1NoYXBlVHlwZQDbCSByYXdjb2xsaWRlcnNldF9jb0hhbGZzcGFjZU5vcm1hbADFBRxyYXdjb2xsaWRlcnNldF9jb0hhbGZFeHRlbnRzAPUGH3Jhd2NvbGxpZGVyc2V0X2NvU2V0SGFsZkV4dGVudHMAlwkXcmF3Y29sbGlkZXJzZXRfY29SYWRpdXMA2QgacmF3Y29sbGlkZXJzZXRfY29TZXRSYWRpdXMAzQobcmF3Y29sbGlkZXJzZXRfY29IYWxmSGVpZ2h0ANoIHnJhd2NvbGxpZGVyc2V0X2NvU2V0SGFsZkhlaWdodADOChxyYXdjb2xsaWRlcnNldF9jb1JvdW5kUmFkaXVzANsIH3Jhd2NvbGxpZGVyc2V0X2NvU2V0Um91bmRSYWRpdXMAzwoZcmF3Y29sbGlkZXJzZXRfY29WZXJ0aWNlcwDNBhhyYXdjb2xsaWRlcnNldF9jb0luZGljZXMAzgYjcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZEhlaWdodHMAzwYhcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZFNjYWxlAPYGIXJhd2NvbGxpZGVyc2V0X2NvSGVpZ2h0ZmllbGROUm93cwD6CCFyYXdjb2xsaWRlcnNldF9jb0hlaWdodGZpZWxkTkNvbHMA+wgXcmF3Y29sbGlkZXJzZXRfY29QYXJlbnQA8gYbcmF3Y29sbGlkZXJzZXRfY29TZXRFbmFibGVkAKkIGnJhd2NvbGxpZGVyc2V0X2NvSXNFbmFibGVkAPEHGXJhd2NvbGxpZGVyc2V0X2NvRnJpY3Rpb24A4wcccmF3Y29sbGlkZXJzZXRfY29SZXN0aXR1dGlvbgDkBxhyYXdjb2xsaWRlcnNldF9jb0RlbnNpdHkA8gcVcmF3Y29sbGlkZXJzZXRfY29NYXNzAPMHF3Jhd2NvbGxpZGVyc2V0X2NvVm9sdW1lAPQHIHJhd2NvbGxpZGVyc2V0X2NvQ29sbGlzaW9uR3JvdXBzAKoHHXJhd2NvbGxpZGVyc2V0X2NvU29sdmVyR3JvdXBzAKsHHHJhd2NvbGxpZGVyc2V0X2NvQWN0aXZlSG9va3MA9QclcmF3Y29sbGlkZXJzZXRfY29BY3RpdmVDb2xsaXNpb25UeXBlcwDbBx1yYXdjb2xsaWRlcnNldF9jb0FjdGl2ZUV2ZW50cwD2BytyYXdjb2xsaWRlcnNldF9jb0NvbnRhY3RGb3JjZUV2ZW50VGhyZXNob2xkAPcHHnJhd2NvbGxpZGVyc2V0X2NvQ29udGFpbnNQb2ludAD2BRpyYXdjb2xsaWRlcnNldF9jb0Nhc3RTaGFwZQCYAh1yYXdjb2xsaWRlcnNldF9jb0Nhc3RDb2xsaWRlcgDYAiByYXdjb2xsaWRlcnNldF9jb0ludGVyc2VjdHNTaGFwZQDRBh1yYXdjb2xsaWRlcnNldF9jb0NvbnRhY3RTaGFwZQCgAyByYXdjb2xsaWRlcnNldF9jb0NvbnRhY3RDb2xsaWRlcgDjBB1yYXdjb2xsaWRlcnNldF9jb1Byb2plY3RQb2ludACWBR5yYXdjb2xsaWRlcnNldF9jb0ludGVyc2VjdHNSYXkAnQcYcmF3Y29sbGlkZXJzZXRfY29DYXN0UmF5AJEHJHJhd2NvbGxpZGVyc2V0X2NvQ2FzdFJheUFuZEdldE5vcm1hbACCBRpyYXdjb2xsaWRlcnNldF9jb1NldFNlbnNvcgCqCB9yYXdjb2xsaWRlcnNldF9jb1NldFJlc3RpdHV0aW9uALYIHHJhd2NvbGxpZGVyc2V0X2NvU2V0RnJpY3Rpb24AtwgkcmF3Y29sbGlkZXJzZXRfY29GcmljdGlvbkNvbWJpbmVSdWxlANwHJ3Jhd2NvbGxpZGVyc2V0X2NvU2V0RnJpY3Rpb25Db21iaW5lUnVsZQCBCCdyYXdjb2xsaWRlcnNldF9jb1Jlc3RpdHV0aW9uQ29tYmluZVJ1bGUA3QcqcmF3Y29sbGlkZXJzZXRfY29TZXRSZXN0aXR1dGlvbkNvbWJpbmVSdWxlAIIII3Jhd2NvbGxpZGVyc2V0X2NvU2V0Q29sbGlzaW9uR3JvdXBzALcHIHJhd2NvbGxpZGVyc2V0X2NvU2V0U29sdmVyR3JvdXBzALgHH3Jhd2NvbGxpZGVyc2V0X2NvU2V0QWN0aXZlSG9va3MAgwggcmF3Y29sbGlkZXJzZXRfY29TZXRBY3RpdmVFdmVudHMAhAgocmF3Y29sbGlkZXJzZXRfY29TZXRBY3RpdmVDb2xsaXNpb25UeXBlcwCFCBlyYXdjb2xsaWRlcnNldF9jb1NldFNoYXBlANIGLnJhd2NvbGxpZGVyc2V0X2NvU2V0Q29udGFjdEZvcmNlRXZlbnRUaHJlc2hvbGQAuAgbcmF3Y29sbGlkZXJzZXRfY29TZXREZW5zaXR5ALkIGHJhd2NvbGxpZGVyc2V0X2NvU2V0TWFzcwC6CCJyYXdjb2xsaWRlcnNldF9jb1NldE1hc3NQcm9wZXJ0aWVzAKcDGV9fd2JnX3Jhd2NvbGxpZGVyc2V0X2ZyZWUAoAUScmF3Y29sbGlkZXJzZXRfbmV3AKQHEnJhd2NvbGxpZGVyc2V0X2xlbgDyCRdyYXdjb2xsaWRlcnNldF9jb250YWlucwC7CB1yYXdjb2xsaWRlcnNldF9jcmVhdGVDb2xsaWRlcgCDBBVyYXdjb2xsaWRlcnNldF9yZW1vdmUA4AUkcmF3Y29sbGlkZXJzZXRfZm9yRWFjaENvbGxpZGVySGFuZGxlAKoJGl9fd2JnX3Jhd3NoYXBlY29udGFjdF9mcmVlALYLGHJhd3NoYXBlY29udGFjdF9kaXN0YW5jZQCkCxlfX3diZ19yYXduYXJyb3dwaGFzZV9mcmVlAJgJEnJhd25hcnJvd3BoYXNlX25ldwDTCRxyYXduYXJyb3dwaGFzZV9jb250YWN0c193aXRoAPMJG3Jhd25hcnJvd3BoYXNlX2NvbnRhY3RfcGFpcgDcBiFyYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25zX3dpdGgA9AkgcmF3bmFycm93cGhhc2VfaW50ZXJzZWN0aW9uX3BhaXIArAcdX193YmdfcmF3Y29udGFjdG1hbmlmb2xkX2ZyZWUAtgsYcmF3Y29udGFjdHBhaXJfY29sbGlkZXIxAPwIGHJhd2NvbnRhY3RwYWlyX2NvbGxpZGVyMgDwCCJyYXdjb250YWN0cGFpcl9udW1Db250YWN0TWFuaWZvbGRzAJsKHnJhd2NvbnRhY3RwYWlyX2NvbnRhY3RNYW5pZm9sZADPBxlyYXdjb250YWN0bWFuaWZvbGRfbm9ybWFsAK0HG3Jhd2NvbnRhY3RtYW5pZm9sZF9sb2NhbF9uMQCzBxtyYXdjb250YWN0bWFuaWZvbGRfbG9jYWxfbjIAtAcccmF3Y29udGFjdG1hbmlmb2xkX3N1YnNoYXBlMQCzChxyYXdjb250YWN0bWFuaWZvbGRfc3Vic2hhcGUyALQKH3Jhd2NvbnRhY3RtYW5pZm9sZF9udW1fY29udGFjdHMAnAojcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfbG9jYWxfcDEA4gYjcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfbG9jYWxfcDIA4wYfcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfZGlzdACBCR9yYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9maWQxAIIJH3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2ZpZDIAgwkicmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfaW1wdWxzZQCECSxyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF90YW5nZW50X2ltcHVsc2VfeACFCSxyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF90YW5nZW50X2ltcHVsc2VfeQCGCSZyYXdjb250YWN0bWFuaWZvbGRfbnVtX3NvbHZlcl9jb250YWN0cwCdCidyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfcG9pbnQA5AYmcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X2Rpc3QAhwkqcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X2ZyaWN0aW9uAPYILXJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9yZXN0aXR1dGlvbgD3CDJyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfdGFuZ2VudF92ZWxvY2l0eQDtBh1fX3diZ19yYXdwb2ludHByb2plY3Rpb25fZnJlZQC2CyVfX3diZ19yYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9mcmVlALYLKXJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2NvbGxpZGVySGFuZGxlAPEIJnJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZlYXR1cmVUeXBlAJsLJHJhd3BvaW50Y29sbGlkZXJwcm9qZWN0aW9uX2ZlYXR1cmVJZAC1Ch1fX3diZ19yYXdyYXlpbnRlcnNlY3Rpb25fZnJlZQC2Cx5yYXdyYXlpbnRlcnNlY3Rpb25fZmVhdHVyZVR5cGUAvAsccmF3cmF5aW50ZXJzZWN0aW9uX2ZlYXR1cmVJZADGCiFyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9ub3JtYWwAmggecmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fdG9pAKULJnJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVUeXBlAKYLJHJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVJZAC2ChxfX3diZ19yYXdyYXljb2xsaWRlcnRvaV9mcmVlALYLE19fd2JnX3Jhd3NoYXBlX2ZyZWUAyQkPcmF3c2hhcGVfY3Vib2lkALQJFHJhd3NoYXBlX3JvdW5kQ3Vib2lkALIJDXJhd3NoYXBlX2JhbGwAvwkScmF3c2hhcGVfaGFsZnNwYWNlAJMGEHJhd3NoYXBlX2NhcHN1bGUA0AcRcmF3c2hhcGVfY3lsaW5kZXIAuQkWcmF3c2hhcGVfcm91bmRDeWxpbmRlcgC1CQ1yYXdzaGFwZV9jb25lALoJEnJhd3NoYXBlX3JvdW5kQ29uZQC2CRFyYXdzaGFwZV9wb2x5bGluZQCRCBByYXdzaGFwZV90cmltZXNoAJIIFHJhd3NoYXBlX2hlaWdodGZpZWxkAP0FEHJhd3NoYXBlX3NlZ21lbnQA2QURcmF3c2hhcGVfdHJpYW5nbGUA/gQWcmF3c2hhcGVfcm91bmRUcmlhbmdsZQDyBBNyYXdzaGFwZV9jb252ZXhIdWxsALwIGHJhd3NoYXBlX3JvdW5kQ29udmV4SHVsbACuCBNyYXdzaGFwZV9jb252ZXhNZXNoAMUHGHJhd3NoYXBlX3JvdW5kQ29udmV4TWVzaADABxJyYXdzaGFwZV9jYXN0U2hhcGUAmwEYcmF3c2hhcGVfaW50ZXJzZWN0c1NoYXBlALgDFXJhd3NoYXBlX2NvbnRhY3RTaGFwZQC6ARZyYXdzaGFwZV9jb250YWluc1BvaW50AI0FFXJhd3NoYXBlX3Byb2plY3RQb2ludAC6BBZyYXdzaGFwZV9pbnRlcnNlY3RzUmF5AKsEEHJhd3NoYXBlX2Nhc3RSYXkA8gMccmF3c2hhcGVfY2FzdFJheUFuZEdldE5vcm1hbADAAhZfX3diZ19yYXdzaGFwZXRvaV9mcmVlALYLFHJhd3NoYXBldG9pX3dpdG5lc3MxAJsIE3Jhd3NoYXBldG9pX25vcm1hbDEAnAgTcmF3c2hhcGV0b2lfbm9ybWFsMgCdCB5fX3diZ19yYXdzaGFwZWNvbGxpZGVydG9pX2ZyZWUAtgsccmF3c2hhcGVjb2xsaWRlcnRvaV93aXRuZXNzMgCeCBtyYXdzaGFwZWNvbGxpZGVydG9pX25vcm1hbDIAnwgPcmF3cm90YXRpb25fbmV3AMcKFHJhd3JvdGF0aW9uX2lkZW50aXR5AO8KDXJhd3JvdGF0aW9uX3kApwsNcmF3cm90YXRpb25fdwCoCw5yYXd2ZWN0b3JfemVybwCQCw1yYXd2ZWN0b3JfbmV3ANsKD3Jhd3ZlY3Rvcl9zZXRfeQCECw1yYXd2ZWN0b3JfeHl6AOYIDXJhd3ZlY3Rvcl95eHoA5wgNcmF3dmVjdG9yX3p4eQDoCA1yYXd2ZWN0b3JfeHp5AOkIDXJhd3ZlY3Rvcl95engA6ggNcmF3dmVjdG9yX3p5eADrCBZyYXdzZHBtYXRyaXgzX2VsZW1lbnRzAL0HIV9fd2JnX3Jhd2RlYnVncmVuZGVycGlwZWxpbmVfZnJlZQDOBBpyYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX25ldwDeBx9yYXdkZWJ1Z3JlbmRlcnBpcGVsaW5lX3ZlcnRpY2VzANUIHXJhd2RlYnVncmVuZGVycGlwZWxpbmVfY29sb3JzANYIHXJhd2RlYnVncmVuZGVycGlwZWxpbmVfcmVuZGVyAK8FGF9fd2JnX3Jhd2V2ZW50cXVldWVfZnJlZQByH19fd2JnX3Jhd2NvbnRhY3Rmb3JjZWV2ZW50X2ZyZWUAtgsecmF3Y29udGFjdGZvcmNlZXZlbnRfY29sbGlkZXIyAPIIIHJhd2NvbnRhY3Rmb3JjZWV2ZW50X3RvdGFsX2ZvcmNlAKAIKnJhd2NvbnRhY3Rmb3JjZWV2ZW50X3RvdGFsX2ZvcmNlX21hZ25pdHVkZQCpCyhyYXdjb250YWN0Zm9yY2VldmVudF9tYXhfZm9yY2VfZGlyZWN0aW9uAKEIKHJhd2NvbnRhY3Rmb3JjZWV2ZW50X21heF9mb3JjZV9tYWduaXR1ZGUAqgsRcmF3ZXZlbnRxdWV1ZV9uZXcA+gcicmF3ZXZlbnRxdWV1ZV9kcmFpbkNvbGxpc2lvbkV2ZW50cwDKCSVyYXdldmVudHF1ZXVlX2RyYWluQ29udGFjdEZvcmNlRXZlbnRzAMsJE3Jhd2V2ZW50cXVldWVfY2xlYXIA+AcdX193YmdfcmF3cGh5c2ljc3BpcGVsaW5lX2ZyZWUAvQEWcmF3cGh5c2ljc3BpcGVsaW5lX25ldwCZCRdyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcAC9BCFyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcFdpdGhFdmVudHMApgQbX193YmdfcmF3cXVlcnlwaXBlbGluZV9mcmVlAJMJFHJhd3F1ZXJ5cGlwZWxpbmVfbmV3APUJF3Jhd3F1ZXJ5cGlwZWxpbmVfdXBkYXRlAN8HGHJhd3F1ZXJ5cGlwZWxpbmVfY2FzdFJheQCoBCRyYXdxdWVyeXBpcGVsaW5lX2Nhc3RSYXlBbmRHZXROb3JtYWwAwwMlcmF3cXVlcnlwaXBlbGluZV9pbnRlcnNlY3Rpb25zV2l0aFJheQCDBSZyYXdxdWVyeXBpcGVsaW5lX2ludGVyc2VjdGlvbldpdGhTaGFwZQDEBB1yYXdxdWVyeXBpcGVsaW5lX3Byb2plY3RQb2ludACXBCpyYXdxdWVyeXBpcGVsaW5lX3Byb2plY3RQb2ludEFuZEdldEZlYXR1cmUAnQIncmF3cXVlcnlwaXBlbGluZV9pbnRlcnNlY3Rpb25zV2l0aFBvaW50APMCGnJhd3F1ZXJ5cGlwZWxpbmVfY2FzdFNoYXBlAPUBJ3Jhd3F1ZXJ5cGlwZWxpbmVfaW50ZXJzZWN0aW9uc1dpdGhTaGFwZQDYBDJyYXdxdWVyeXBpcGVsaW5lX2NvbGxpZGVyc1dpdGhBYWJiSW50ZXJzZWN0aW5nQWFiYgD6Bh9fX3diZ19yYXdkZXNlcmlhbGl6ZWR3b3JsZF9mcmVlANoFIHJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VHcmF2aXR5AJcHLnJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VJbnRlZ3JhdGlvblBhcmFtZXRlcnMAvgQmcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUlzbGFuZE1hbmFnZXIAyQQjcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUJyb2FkUGhhc2UAkAckcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZU5hcnJvd1BoYXNlANUEH3Jhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VCb2RpZXMAtwUicmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUNvbGxpZGVycwCXBSZyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlSW1wdWxzZUpvaW50cwChBChyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlTXVsdGlib2R5Sm9pbnRzAKIEJXJhd3NlcmlhbGl6YXRpb25waXBlbGluZV9zZXJpYWxpemVBbGwAjAMncmF3c2VyaWFsaXphdGlvbnBpcGVsaW5lX2Rlc2VyaWFsaXplQWxsALADGV9fd2JnX3Jhd2NvbnRhY3RwYWlyX2ZyZWUAtgslX193YmdfcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fZnJlZQC2CxZfX3diZ19yYXdyb3RhdGlvbl9mcmVlALYLFF9fd2JnX3Jhd3ZlY3Rvcl9mcmVlALYLGF9fd2JnX3Jhd3NkcG1hdHJpeDNfZnJlZQC2Cw9yYXd2ZWN0b3Jfc2V0X3gAjwsPcmF3dmVjdG9yX3NldF96APwKG3Jhd3BvaW50cHJvamVjdGlvbl9pc0luc2lkZQCaCyNyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9pc0luc2lkZQCaCxxyYXdjb2xsaWRlcnNldF9pc0hhbmRsZVZhbGlkALsIFnJhd3NoYXBlY29udGFjdF9wb2ludDEArQgWcmF3c2hhcGVjb250YWN0X3BvaW50MgCWCBdyYXdzaGFwZWNvbnRhY3Rfbm9ybWFsMgCXCBhyYXdwb2ludHByb2plY3Rpb25fcG9pbnQArQggcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fcG9pbnQArQgZcmF3cmF5aW50ZXJzZWN0aW9uX25vcm1hbACWCBxyYXdzaGFwZWNvbGxpZGVydG9pX3dpdG5lc3MxAJYIF3Jhd3NoYXBlY29udGFjdF9ub3JtYWwxAJ4IG3Jhd3NoYXBlY29sbGlkZXJ0b2lfbm9ybWFsMQCXCBRyYXdzaGFwZXRvaV93aXRuZXNzMgCgCBxyYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfbmV3AMALHHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19lcnAAnAsWcmF3cmF5aW50ZXJzZWN0aW9uX3RvaQCcCxVyYXdyYXljb2xsaWRlcnRvaV90b2kAnAsPcmF3c2hhcGV0b2lfdG9pALsLF3Jhd3NoYXBlY29sbGlkZXJ0b2lfdG9pAJwLDXJhd3JvdGF0aW9uX3gAuwsNcmF3cm90YXRpb25fegCcCwtyYXd2ZWN0b3JfeAC7CwtyYXd2ZWN0b3JfeQCnCwtyYXd2ZWN0b3JfegCcCylyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9jb2xsaWRlckhhbmRsZQD5CCByYXdyYXljb2xsaWRlcnRvaV9jb2xsaWRlckhhbmRsZQD5CCJyYXdzaGFwZWNvbGxpZGVydG9pX2NvbGxpZGVySGFuZGxlAPkIHnJhd2NvbnRhY3Rmb3JjZWV2ZW50X2NvbGxpZGVyMQD5CCNfX3diZ19yYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfZnJlZQC3Cx9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyANMMD19fd2JpbmRnZW5fZnJlZQDjCxFfX3diaW5kZ2VuX21hbGxvYwDUChRfX3diaW5kZ2VuX2V4bl9zdG9yZQD4CwnGDgEAQQELsAfNDPILrgHqCekJ7AnrCeoJpg3VDOUM5gy2DNQM2QrtCsMJyQvxDPMMxguUCu4EoAnwC+IJ9guSCdgM6wq/B8AElwrUB7AI7gqhBe8E1ATCBfQL9Av0C/QLrwmcB80JnQOcAqsDtgeRBewI8wbHBdgKkQ2SDJYNnw2PDZkM5wzdC7MGlwasBZMFhwf5AdID7gilBOYFvgWqBfUL9Qv1C/ULogjYBsQI8gL4AfcClgqTCrgK4QTIBZIGjw2UDLQLlwzcC8QMlgbyDNcM1gzoDPUMpw2oDakNvwrcAsMEpw3ZAUs27ArXBtEMwwumB8ELwwu+C8oLxwvBC8ELxAvCC8ULpg3rCvcJ9gn3CfgJ+Qn3CYwJigurC/cJ+gmRC70K3gmmDXUyZ1dJzQEvFtkK8grFCcsL8QzwCvEK6wrACvMI2AzrCr8HwASXCtQHsAjuCqEF7wTUBMIF+Qv5C/kL+QuvCZwHzQmdA5wCqwPHBecMlwa5DFG7DE+6DGW8DEzyDNwMrAv8CY8Jiwv9CfwJ/gmmDcYJzAvZBoUN8QyCB/YM+gy7CYcNgQ34DIkNhA27CfkM8wy3CvsM6gWIDcQDhg2DDewM/wyBB/4MnAWKDf0M9wzZBoANgg38DOsK6wrdDPIM4wjCDLEB/gv+C/4L/guRDJkCgwyDDIMMgwySDL8CjgyODI4MjgyTDMsB+gv6C/oL+guUDNgBigyKDIoMigyVDKICsgbwArUHxgjUCaEKsQPMBdMD8QWADIAMgAyADKMFrATKBckCtALgAswK0wv0CqQJ0wb7Bo4NlQztDI0NlgznDOcM5AiLBsEH+AKeCuEHvQjzCucD8ASVA8MF+wv7C/sL+wuvCZwHzQmmA6MCtQOXA6kEwQynAcAMfsMMnQG+DO4CvwyQA+AH/gLQCrwJ1wiUC/QD/wSkA8kFggyCDIIMggymCtYB3QrWA7UC+gOmBcwG1QnLArcEkg2RDJoM3gvFDKcGrAmMC9II5QmUBtcC0geJAswE7gj/AugF6AOqBYQMhAyEDIQMogjgBMQIgALnAZIC1wWNAuYJ5gmjBNIKjg2NCIoD5QLkC88IgweNBPME6wO2BP8L/wv/C/8LpwqwAeAK3QOzAv0DmQfHB60JjgOBBa4JkA2TDO4MmAzUC+oMpgblBYUH3QKPA4AIgAiqA6kD6wTQBtAG9AL1AsoEiQiGA1vlC8sIaoYE+wTAA+sFiwyLDIsMiwxSVeoK0QO6AuMDjQv7B6cC3gyEBc4Lkw2bDOEF4gWcDKUG3QnpDNMH/ALLClzOCHjvA/0E6QPtBfwL/Av8C/wLRkrhCs8DsgLlA40L+wfaBN4MhAWUDZ0MmQ2eDKUGkQb0DLcJogOYB1TGB2yzA9sE6gPsBYcMhwyHDIcMP1riCtADvALkA40L+weLAd4MhAWVC5UNnwygDKUGtAX0DIEBzAOMAucL0QiLDYUE9AS+A4wNhQyFDIUMhQyoCnzfCt8DuwL5A44LwgexBKEM8QSXDaIMjAaKCIMDGbEFyQiyC4sE9gTIAs0FhgyGDIYMhgysCokB5wreA7EC9gOzBZsC5wnPC90F0wiYDaMMpwWkDN8Lxgz7BfADgAT/Af8BpAGVBMsDlgTlBK8EqwmWAucFmgK4BZAMkAyQDJAMqgrcAeYK2wOvAvgD7Qv1CrkK3wz/BdQGmg2lDO8MpgzgC+0D4AjgCIEEgQSYA48IiwOmAuYLxwiwC4wE/AS6A84FjQyNDI0MjQyrCsAB6QrVA7AC/wPuC7oK4AyABpsNpwzXCqgM4QvsA4oHiQeaA5oDmASGBugCngevCOAJwQqhA9sFzQP6BY8MjwyPDI8MnwfyBeUHnwOUAskD0AupDLsK0QvWBp0NqgycDc0LjAiHAxzpC8oIswuJBPcEuQPRBf0L/Qv9C/0LqQqvAeMK3AO9Av4D+Ab5B9cJ7QSFBYAGog2xDMcM9gqyDNgLpAaHCIgDHugLzQivC44E+QS7A88FgQyBDIEMgQyiCr8B3grZA7YC+wP3BtYJ7ATUBqENrwywDNcLogaOCIQDIOoLyAixC4cE+gS8A9MFiQyJDIkMiQykCt8B6ArXA7cC9QPCBIMCzAnuBt4F0wijDbMMogW0DNkLvASICIkDG+wLzAitC4oE9QS/A9AFjAyMDIwMjAylCqgB5Qra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IABBMGsiASkCADcCACAOQQhqIAFBCGooAgA2AgALAkAgCyAAQQhrKAIARw0AIAUoAiAgAEEEaygCAEcNACAOIAApAgA3AgAgDkEIaiAAQQhqKAIANgIACyAAQeAAaiEBIABBDGogB0cNAAsLIAogBUEwaiIFRw0ACwtBACEAIA1FDQYgCRC1AQwGCyAKDQBBACEAIAIgAxCACiEDIAQgBRCACiECIANFDQUgAkUNBSACKgIAITMgAyoCACE0IAYgASoCECIjICOUIAFBFGoqAgAiIiAilJIgAUEYaioCACIGIAaUkkMAAAAAkhCTASIkIDSTIDOTIjBeRQRAIAdB6ABqQQA2AgAMBgsCfSAkQwAAAABbBEBDAACAPyEGQwAAAAAMAQsgBiAklSEmICIgJJUhBiAjICSVCyEiIDMgASoCDCIqIAYgASoCACIklCAiIAFBBGoqAgAiMZSTIiMgI5IiKZQgMSAmIDGUIAYgAUEIaioCACIolJMiIyAjkiIrlCAkICIgKJQgJiAklJMiIyAjkiIjlJOSICaTIiyUIScgMyAqICOUICQgKZQgKCArlJOSIAaTIiSUISUgMyAqICuUICggI5QgMSAplJOSICKTIiOUISggNCAmlCEqIDQgBpQhKSA0ICKUIStBACEDIwBBIGsiACQAIABBADYCBCAAQSBqJAACQCAHQegAaigCAEUEQCAHQeAAaiIAKAIARQRAIABBABC5BiAHQegAaigCACEDCyAHQegAaiADQQFqNgIAIAdB5ABqKAIAIANBMGxqIgBBADYCLCAAQgA3AiQgAEGAgICAfDYCICAAQYCAgIB8NgIcIAAgMDgCGCAAICc4AhQgACAlOAIQIAAgKDgCDCAAICo4AgggACApOAIEIAAgKzgCAAwBCyAHQeQAaigCACIAQYCAgIB8NgIgIABBgICAgHw2AhwgACAoOAIMIAAgKjgCCCAAICk4AgQgACArOAIAIAAgMDgCGCAAQRRqICc4AgAgAEEQaiAlOAIACyAHICM4AkwgByAiOAJAIAdB1ABqICw4AgAgB0HQAGogJDgCACAHQcgAaiAmOAIAIAdBxABqIAY4AgBBACEADAULIAIgAxCACiIJBEAgCEEIaiIDQQhqIgAgAUEIaikCADcDACADQRhqIgIgAUEYaigCADYCACAAIAAqAgAiJ4w4AgAg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DUHQgMMAEMMIAAsgCEKAgICAEDcCCCAIQoCAgIAQNwIAIAhBEGpCADcCAEECCyECQQIhCyACIQlBAiEECyAAIAQ2AhQgACAINgIQIAAgCzYCDCAAIAk2AgggACAGNgIEIAAgAjYCAAsgAygCKARAIAMoAiwQtQELIAMoAhgEQCADKAIcELUBCyADKAIIBEAgAygCDBC1AQsgEBC1AQsgA0HQAmokAA8LQRhBBEHI78MAKAIAIgBBigcgABsRAAAACyAEIAJByO/DACgCACIAQYoHIAAbEQAAAAvGZQMvfwR+AX0jAEGQBGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkAgASgCBCIEQQRPBEAgASAEQQRrIgU2AgQgASABKAIAIgNBBGo2AgAgAygAACIIDhMDBAUGBwgJCgsMDQ4PEBESExQVAQsgAkKBygA3A8gCIAJByAJqEIkLDAELIAJBAToAyAIgAiAIrTcD0AIgAkHIAmpBnIjAAEGMg8AAEKwICyEBIABBEzYCACAAIAE2AgQMPQsgBUEETwRAIAEgBEEIazYCBCABIANBCGo2AgAgACADKAAENgIEIABBADYCAAw9CyACQQA6AMsCIAJBJTsAyQIgAkEANgLMAiACQQE6AMgCIAJByAJqEIkLIQEgAEETNgIAIAAgATYCBAw8CyACQcgCaiABELkEIAIoAsgCRQRAIAIoAswCIQEgACACQdACaikDADcCCCAAIAE2AgQgAEEBNgIADDwLIAAgAigCzAI2AgQgAEETNgIADDsLIAJByAJqIAEQuQQCfyACKALIAgRAIAIoAswCDAELIAJB0AJqIgMpAwAhMSACKALMAiEGIAJByAJqIAEQuQQgAigCyAIEQCACKALMAgwBCyABKAIEIgRBA0sNESACQQA6AMsCIAJBJTsAyQIgAkEANgLMAiACQQE6AMgCIAJByAJqEIkLCyEBIABBEzYCACAAIAE2AgQMOgsgAkHIAmogARC5BCACKALIAkUEQCACQdACaiIDKQMAITEgAigCzAIhBiACQcgCaiABELkEIAIoAsgCRQ0RCyACKALMAiEBIABBEzYCACAAIAE2AgQMOQsgAkHIAmogARC5BAJAIAIoAsgCDQAgAkHQAmoiAykDACExIAIoAswCIQYgAkHIAmogARC5BCACKALIAg0AIAMpAwAhMiACKALMAiEDIAJByAJqIAEQuQQgAigCyAJFDRELIAIoAswCIQEgAEETNgIAIAAgATYCBAw4CyACIAE2AmwgAkEHNgJoIAJByAJqIAJB6ABqEFYgAigCyAINECACQegCaigCACIcRQRAQQBB0IrAAEGMg8AAEOYHIQEMNwsgAkGQA2ooAgAhJyACQYwDaigCACEdIAJBiANqKAIAIR4gAkGEA2ooAgAhKCACQYADaigCACEfIAJB/AJqKAIAISAgAkH4AmooAgAhKSACQfQCaigCACEhIAJB8AJqKAIAISIgAkHsAmooAgAhKiACQeQCaigCACEjIAJBgAFqIgNBCGogAkHIAmoiAUEQaikDADcDACADQRBqIAJB4AJqKAIANgIAIAIgAUEIaiIDKQMANwOAASACKALMAiErIAEgAkHoAGoQggQgAigCyAINESADKAIAIiRFBEBBAUHQisAAQYyDwAAQ5gchAQw2CyACKALMAiElAkAgAigCaCIBBEAgAkHUAmooAgAhLCACIAFBAWs2AmggAigCbCIDKAIEIgFBB00EQCACQoHKADcDyAIgAkHIAmoQiQshAQw3CyADIAFBCGsiDzYCBCADIAMoAgAiAUEIajYCACACQShqIAEpAAAQhwYgAigCLCEBIAIoAigNNgJAIAFBgCAgAUGAIEkbIgVFBEBBBCEMDAELIAVBDGwiBEEEEPcLIgxFDRULQQAhCCACQQA2AtACIAIgDDYCzAIgAiAFNgLIAiABBEADQAJAAn8gD0EDTQRAIAJCgcoANwMoIAJBKGoQiQsMAQsgAyAPQQRrIgU2AgQgAyADKAIAIgRBBGo2AgAgBUEDTQRAIAJCgcoANwMoIAJBKGoQiQsMAQsgBCgAACEHIAMgBUEEayIFNgIEIAMgBEEIajYCACAFQQNLDQEgAkKBygA3AyggAkEoahCJCwshASACKALIAkUNOSACKALMAhC1AQw5CyABQQFrIQEgBDUABCExIAMgBUEEayIPNgIEIAMgBEEMajYCACAxIAQ1AAhCIIaEITEg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CyACQfwCaigCACENIAJB+AJqKAIAIRUgAkH0AmooAgAhByACQfACaigCACEQIAJB7AJqKAIAIRYgAkHkAmooAgAhDiACQYABaiIDQQhqIAJByAJqIgFBEGopAwA3AwAgA0EQaiACQeACaigCADYCACACIAFBCGoiAykDADcDgAEgAigCzAIhFyABIAJB6ABqEIIEAkAgAigCyAJFBEAgAygCACIRRQRAQQFBiITAAEGMg8AAEOYHIQEMMAsgAigCzAIhEiACKAJoBEAgAigCbCIDKAIEIgFBB00EQCACQoHKADcDyAIgAkHIAmoQiQshAQwwCyACQdQCaigCACEYIAMgAUEIayIPNgIEIAMgAygCACIBQQhqNgIAIAJBKGogASkAABCHBiACKAIsIQEgAigCKA0vAkAgAUGAICABQYAgSRsiCEUEQEEEIQwMAQsgCEEDdCIGQQQQ9wsiDEUNPAtBACEFIAJBADYC0AIgAiAMNgLMAiACIAg2AsgCIAEEQANAAkACfyAPQQNNBEAgAkKBygA3AyggAkEoahCJCwwBCyADIA9BBGsiCDYCBCADIAMoAgAiBkEEajYCACAIQQNLDQEgAkKBygA3AyggAkEoahCJCwshASACKALIAkUNMiACKALMAhC1AQwyCyABQQFrIQEgBjUAACExIAMgCEEEayIPNgIEIAMgBkEIajYCACAxIAY1AARCIIaEITEgAigCyAIgBUYEQCACQcgCaiAFELgGIAIoAswCIQwgAigC0AIhBQsgDCAFQQN0aiAxNwIAIAIgBUEBaiIFNgLQAiABDQALIAIoAswCIQwgAigCyAIhCAsgDA0CIAghAQwvC0ECQYiEwABBjIPAABDmByEBDC4LIAIoAswCIQEMLgsgACACKQOAATcCCCAAQRhqIAJBkAFqKAIANgIAIABBEGogAkGIAWopAwA3AgAgACAFNgJgIAAgDDYCXCAAIAg2AlggACAYNgJUIAAgETYCUCAAIBI2AkwgACAUNgJIIAAgCTYCRCAAIAo2AkAgACATNgI8IAAgCzYCOCAAIA02AjQgACAVNgIwIAAgBzYCLCAAIBA2AiggACAWNgIkIAAgBDYCICAAIA42AhwgACAXNgIEIABBBjYCAAw2CyACQcgCaiABELkEIAIoAsgCRQRAIAIoAswCIQEgACACQdACaikDADcC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QQA6AMsCIAJBJTsAyQIgAkEANgLMAiACQQE6AMgCIAJByAJqEIkLCyEBIABBEzYCACAAIAE2AgQMLwsgAkHIAmogARC5BAJ/IAIoAsgCBEAgAigCzAIMAQsgAkHQAmoiAykDACExIAIoAswCIQYgAkHIAmogARC5BCACKALIAgRAIAIoAswCDAELIAMpAwAhMiACKALMAiEDIAJByAJqIAEQuQQgAigCyAIEQCACKALMAgwBCyABKAIEIgRBA0sNGSACQQA6AMsCIAJBJTsAyQIgAkEANgLMAiACQQE6AMgCIAJByAJqEIkLCyEBIABBEzYCACAAIAE2AgQMLgsCfyAFQQNNBEAgAkEAOgDLAiACQSU7AMkCIAJBADYCzAIgAkEBOgDIAiACQcgCahCJCwwBCyABIARBCGsiBjYCBCABIANBCGo2AgAgBkEDTQRAIAJBADoAywIgAkElOwDJAiACQQA2AswCIAJBAToAyAIgAkHIAmoQiQsMAQsgAygABCEGIAEgBEEMayIFNgIEIAEgA0EMajYCACAFQQNLDRkgAkEAOgDLAiACQSU7AMkCIAJBADYCzAIgAkEBOgDIAiACQcgCahCJCwshASAAQRM2AgAgACABNgIEDC0LAn8gBUEDTQRAIAJBADoAywIgAkElOwDJAiACQQA2AswCIAJBAToAyAIgAkHIAmoQiQsMAQsgASAEQQhrIgY2AgQgASADQQhqNgIAIAZBA00EQCACQQA6AMsCIAJBJTsAyQIgAkEANgLMAiACQQE6AMgCIAJByAJqEIkLDAELIAMoAAQhBiABIARBDGsiBTYCBCABIANBDGo2AgAgBUEDSw0ZIAJBADoAywIgAkElOwDJAiACQQA2AswCIAJBAToAyAIgAkHIAmoQiQsLIQEgAEETNgIAIAAgATYCBAwsCyACQcgCaiABEGEgAigCyAIhBiACKALMAiIDBEAgAigCoAMhBCACKAKcAyEFIAIoApQDIQggAigCkAMhCSACKAKIAyEKIAIoAoQDIQsgAigC/AIhDSACKAL4AiEHIAIoAvACIQwgAigC7AIhDyACKALkAiEQIAIoAuACIQ4gAigC2AIhESACKALUAiESIAEoAgQiFEEDSw0ZIAJBADoAywIgAkElOwDJAiACQQA2AswCIAJBAToAyAIgAkHIAmoQiQshASAGBEAgAxC1AQsgEgRAIBEQtQELIA4EQCAQELUBCyAPBEAgDBC1AQsgBwRAIA0QtQELIAsEQCAKELUBCyAJBEAgCBC1AQsgBQRAIAQQtQELIAEhBgsgAEETNgIAIAAgBjYCBAwrCyAFQQRPBEAgASAEQQhrNgIEIAEgA0EIajYCACAAIAMoAAQ2AgQgAEESNgIADCsLIAJCgcoANwPIAiACQcgCahCJCyEBIABBEzYCACAAIAE2AgQMKgsgAykDACEyIAIoAswCIQMgASAEQQRrNgIEIAEgASgCACIBQQRqNgIAIAAgASoAADgCHCAAIDI3AhQgACADNgIQIAAgMTcCCCAAIAY2AgQgAEECNgIADCkLIAIoAswCIQEgACADKQMANwIUIAAgATYCECAAIDE3AgggACAGNgIEIABBAzYCAAwoCyACKALMAiEBIAAgAkHQAmopAwA3AiAgACABNgIcIAAgMjcCFCAAIAM2AhAgACAxNwIIIAAgBjYCBCAAQQQ2AgAMJwsgAigCzAIhAQwlCyACKALMAiEBDCMLIARBBEHI78MAKAIAIgBBigcgABsRAAAACwALIBRBBEHI78MAKAIAIgBBigcgABsRAAAACyADQQRByO/DACgCACIAQYoHIAAbEQAAAAsgAigCzAIhAQwYCyACKALMAiEBDBQLIANBAUHI78MAKAIAIgBBigcgABsRAAAACyACQoHKADcDyAIgAkHIAmoQiQshAQwQCyACQoHKADcDyAIgAkHIAmoQiQshAQwPCyACQoHKADcDyAIgAkHIAmoQiQshAQwNCyACKALMAiEDDAoLIAJB6ABqIgNBCGoiCiACQcgCaiIBQRBqIgUpAwA3AwAgA0EQaiILIAFBGGoiCCgCADYCACACIAIpA9ACNwNoIAIoAswCIQcgAkHEAGogAkGAAWoiA0EIaikDADcCACACQcwAaiADQRBqKQMANwIAIAJB1ABqIANBGGooAgA2AgAgAUEwaiIMIAJBIGooAgA2AgAgAUEoaiIPIAIpAxg3AwAgAUEIaiIQIANBIGoiA0EIaikCADcDACAFIANBEGopAgA3AwAgCCADQRhqKQIANwMAIAFBIGoiDiADQSBqKQIANwMAIAIgAikDgAE3AjwgAiADKQIANwPIAiACQShqIgFBEGoiAyALKAIANgIAIABBMGogAUEoaikDADcC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IQcgBEEBNgKAAyAEQoCAgIAwNwL4AiAEQQA2AsgDIARCgoCAgBA3AsADIAEgByAFIARB+AJqIAMQkwMgA0EwaiAGKAIANgIAIANBKGogCCkDADcDACADQSBqIAopAwA3AwAgA0EYaiALKQMANwMAIANBEGogCSkDADcDACADQQhqIBEpAwA3AwAgBCAEKQP4AzcDwAMgBC0ArAQhCCAEKALMASIGIAQoAtQBIgdGBEAgEiAHEMkGIAQoAswBIQYgBCgC1AEhBwsgBCgC0AEiASAHQTRsaiIDIAQpA4gCNwIAIANBKGogDSkDADcCACADQSBqIBUpAwA3AgAgA0EYaiAWKQMANwIAIANBEGogFykDADcCACADQQhqIBgpAwA3AgAgA0EwaiAPKAIANgIAIAQgB0EBaiIHNgLUASAGIAdGBEAgEiAGEMkGIAQoAswBIQYgBCgC1AEhByAEKALQASEBCyABIAdBNGxqIgMgBCkDwAI3AgAgA0EoaiAEQcACaiIFQShqKQMANwIAIANBIGogBUEgaikDADcCACADQRhqIAVBGGopAwA3AgAgA0EQaiAFQRBqKQMANwIAIANBCGogBUEIaikDADcCACADQTBqIAVBMGooAgA2AgAgBCAHQQFqIgc2AtQBIAYgB0YEQCASIAYQyQYgBCgCzAEhBiAEKALUASEHIAQoAtABIQELIAEgB0E0bGoiAyAEKQOIAzcCACADQShqIARBiANqIgVBKGopAwA3AgAgA0EgaiAFQSBqKQMANwIAIANBGGogBUEYaikDADcCACADQRBqIAVBEGopAwA3AgAgA0EIaiAFQQhqKQMANwIAIANBMGogBUEwaigCADYCACAEIAdBAWoiBTYC1AEgBSAGRgRAIBIgBhDJBiAEKALUASEFIAQoAtABIQELIAEgBUE0bGoiAyAEKQPAAzcCACADQShqIARBwANqIgdBKGopAwA3AgAgA0EgaiAHQSBqKQMANwIAIANBGGogB0EYaikDADcCACADQRBqIAdBEGopAwA3AgAgA0EIaiAHQQhqKQMANwIAIANBMGogB0EwaigCADYCACAEIAVBAWoiAzYC1AECQCAZRQ0AAkAgAwRAIAQoAsgBRQ0BIAFBGGoqAgAgBCgCxAEiAyoCAJQgAUEcaioCACADQQRqKgIAlJIgAUEgaioCACADQQhq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Rg0LIARB+AJqIA8Q9gIgDUEBaiENIAQoAvgCQQFGDQEMDAsLIAogA0H8nsIAEMMIAAtBp/XBAEErQYyfwgAQ2QkACyAEQQA2AoAEIAZBCGogBEHAA2ogBEH4A2pBvJvCABCOCQALIAkgA0G8nsIAEMMIAAsgBEEANgKABCALQQhqIARBwANqIARB+ANqQbybwgAQjgkACyAHIANBrJ7CABDDCAALIARBADYCgAQgCUEIaiAEQcADaiAEQfgDakG8m8IAEI4JAAsgBSADQZyewgAQwwgACyAFIANBjJ7CABDDCAALIAMgCEsEQCAEQcADaiIBIAQoAtABIAhBNGxqIAQoAsQBIAcQkwQgBEH4A2oiAkEIaiIDIAFBCGooAgA2AgAgAkEUaiABQRRqKAIANgIAIAQgBCkCzAM3AoQEIARB8AFqIgFBCGogAykDADcDACABQRBqIAJBEGopAwA3AwAgBCAEKQPAAzcD8AEMAwsgCCADQfydwgAQwwgACyAAQQE6AAwgACACKQIANwIAIABBCGogAkEIaigCADYCACAEKALAAQRAIAQoAsQBELUBCyAEKALMAQRAIAQoAtABELUBCyAEKALYAQRAIAQoAtwBELUBCyAEKALkAUUNBSAEKALoARC1AQwFCyAEKALUASIBIAhNDQEgBEHAA2oiASAEKALQASAIQTRsaiAEKALEASAEKALIARCTBCAEQfgDaiICQQhqIgMgAUEIaigCADYCACACQRRqIAFBFGooAgA2AgAgBCAEKQLMAzcChAQgBEHwAWoiAUEIaiADKQMANwMAIAFBEGogAkEQaikDADcDACAEIAQpA8ADNwPwAQsgACAEKQPwATcCACAAQQhqIARB+AFqKAIANgIAIABBAToADCAEKALAAQRAIAQoAsQBELUBCyAEKALMAQRAIAQoAtABELUBCyAEKALYAQRAIAQoAtwBELUBCyAEKALkAUUNAyAEKALoARC1AQwDCyAIIAFB3J3CABDDCAALIARB+ANqIARBARDPASAEKgKABCEfIAQqAvwDISAgBCoC+AMLISEgAEEAOgAMIAAgHzgCCCAAICA4AgQgACAhOAIACyAEQbAEaiQADwtBkI7CAEEoQdCgwgAQ2QkAC/JSAxZ/E30BfiMAQbAEayIEJAAgBEGoAWpBADYCACAEQbgBakEANgIAIARC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QegAakKAgICA8P//v383AgAgEEHgAGpC////+////7//ADcCACAQQdgAakL////7BzcCACAQQdAAakKAgICA8P//v383AgAgEEHIAGpC////+////7//ADcCACAQQUBrQv////sHNwIAIBBBOGpCgICAgPD//79/NwIAIBBBMGpC////+////7//ADcCACAQQShqIJ4BNwIAIBBB2AJqLQAAITAgEEGkAWpC////+wc3AgAgEEGsAWpBADoAACAQQaABaiAPKAAANgAAIBBBmQFqIAgpAwA3AAAgEEGRAWogICkD6AE3AAAgEEHAAWpC////+wc3AgAgEEHIAWpBADoAACAQQa0BaiAgKQPQATcAACAQQbUBaiASKQMANwAAIBBBvAFqIBooAAA2AAAgEEHJAWogICkDuAE3AAAgEEHRAWogLSkDADcAACAQQdgBaiAkKAAANgAAIBBB5AFqQQA6AAAgEEHcAWpC////+wc3AgAgEEH0AWogKygAADYAACAQQe0BaiAnKQMANwAAIBBB5QFqICApA6ABNwAAIBBBgAJqQQA6AAAgEEH4AWpC////+wc3AgAgEEGQAmogNCgAADYAACAQQYkCaiAvKQMANwAAIBBBgQJqICApA4gBNwAAIBBBqAJqQoCAgICAgIDAPzcCACAQQaACakIANwIAIBBBnAJqQQA6AAAgEEGUAmpC////+wc3AgAgEEHAAmpCADcCACAQQbgCakIANwIAIBBBsAJqQgA3AgAgEEHIAmpBgICA/AM2AgAgEEHcAmpBADoAACAQQdQCakIANwIAIBBBzAJqQgA3AgAgEEHdAmpBAToAACAQQeQCaiAoKQEANwEAIBBB3gJqICApAXA3AQAgEEH0AmpBADYCACAQQewCakIANwIAIBMoAgBFDQtBACESIBYoAgBBADYC/AIgFSAVKAKQAUEGajYCkAFBBCEPIBVBBGooAgAhECAVQQhqIhooAgAiCARAIAhB/////wFLDQkgCEECdCISQQQQ9wsiD0UNCwsgDyAQIBIQ5AwhDyAgIBUoAgwiEDYCPCAgIAg2AjggICAPNgI0ICAgCDYCMCAgQcgCaiAQQQZqIi0gIEEwahCOBSAgKALIAiEkICAoAswCIQggICgC0AIhDyAgKALUAiESIC0EQCAIQRhqIAggEEECdBDiDBoLIBJBBU0NGiAIQgA3AgAgCEEQakIANwIAIAhBCGpCADcCACAPIBJHDRggFSgCAARAIBVBBGooAgAQtQELIBUgDzYCDCAVICQ2AgAgGiAPNgIAQQQhEiAVQQRqIAg2AgAgFUEUaiIaKAIAIQ8CQCAVQRhqIi0oAgAiCEUEQEEAIRAMAQsgCEH/////AUsNCSAIQQJ0IhBBBBD3CyISRQ0KCyASIA8gEBDkDCEPICAgFUEcaigCACIQNgI8ICAgCDYCOCAgIA82AjQgICAINgIwICBByAJqIBBBBmoiJCAgQTBqEI4FICAoAsgCIScgICgCzAIhCCAgKALQAiEPICAoAtQCIRIgJARAIAhBGGogCCAQQQJ0EOIMGgsgEkEFTQ0aIAhCADcCACAIQRBqQgA3AgAgCEEIakIANwIAIA8gEkcNGCAVKAIQBEAgGigCABC1AQsgFSAPNgIcIBUgJzYCECAtIA82AgAgGiAINgIAIBVBJGoiEigCACEaAkAgFUEoaiItKAIAIghFBEBBBCEQQQAhDwwBCyAIQf////8BSw0JIAhBAnQiD0EEEPcLIhBFDQgLIBAgGiAPEOQMIQ8gICAVQSxqKAIAIhA2AjwgICAINgI4ICAgDzYCNCAgIAg2AjAgIEHIAmogEEEGaiIkICBBMGoQjgUgICgCyAIhJyAgKALMAiEIICAoAtACIQ8gICgC1AIhGiAkBEAgCEEYaiAIIBBBAnQQ4gwaCyAaQQVNDRogCEIANwIAIAhBEGpCADcCACAIQQhqQgA3AgAgDyAaRw0YIBUoAiAEQCASKAIAELUBCyAVIA82AiwgFSAnNgIgIC0gDzYCACASIAg2AgAgEygCACIPRQ0GIA9BAUYNDiAwaSESIBYoAgAhCAJ/IA9B1ANsIhpBqAdrIi1B1ANuQQFqQQdxIg9FBEAgCCIPQdQDagwBCyAPQdQDbCEQIAghDwNAIA9B0AZqIiQgJCgCACASajYCACAPQdQDaiEPIBBB1ANrIhANAAsgD0HUA2oLIRAgLUHMGUkNDiAIIBpqIQgDQCAPQdAGaiIPIA8oAgAgEmo2AgAgEEHQBmoiDyAPKAIAIBJqNgIAIBBBpApqIg8gDygCACASajYCACAQQfgNaiIPIA8oAgAgEmo2AgAgEEHMEWoiDyAPKAIAIBJqNgIAIBBBoBVqIg8gDygCACASajYCACAQQfQYaiIPIA8oAgAgEmo2AgAgEEHIHGoiDyAPKAIAIBJqNgIAIBBBzBlqIQ8gCCAQQaAdaiIQRw0ACwwOC0GYo8EAQTZB0KPBABDZCQALQeCjwQBBM0GUpMEAENkJAAsgFEEoaikDACGeASAUQTBqKQMAIZ8BIB1BCGpCADcAACAdQgA3AAAgHkIANwAAIB5BCGpCADcAACAYQgA3AAAgGEEIakIANwAAIBxCADcAACAcQQhqQgA3AAAgI0IANwAAICNBCGpCADcAACAgQdABaiIIQQ9qIhIgIEHIAmoiJEEPaigAADYAACAIQQhqIicgJEEIaiIIKQAANwMAICAgICkAyAI3A9ABICBBuAFqIiRBD2oiKyAgQagCaiIvQQ9qKAAANgAAICRBCGoiJCAvQQhqKQAANwMAICAgICkAqAI3A7gBICBBoAFqIi9BD2oiNCAgQZUCaiIwQQ9qKAAANgAAIC9BCGoiLyAwQQhqKQAANwMAICAgICkAlQI3A6ABICBBiAFqIjBBD2oiKiAgQYICaiIsQQ9qKAAANgAAIDBBCGoiMCAsQQhqKQAANwMAICAgICkAggI3A4gBICBB8ABqIixBD2oiMyAgQegBaiIuQQ9qKAAANgAAICxBCGoiLCAuQQhqKQAANwMAICAgICkA6AE3A3AgH0EQakIANwEAIB9BCGpCADcBACAfQgA3AQAgEEHYAmoiLi0AACExIAggFEFAaygCADYCACAUQThqKQIAIaABIBBB8ABqQf////sHNgIAIBBB6ABqQoCAgIDw//+/fzcCACAQQeAAakL////7////v/8ANwIAIBBB2ABqQv////sHNwIAIBBB0ABqQoCAgIDw//+/fzcCACAQQcgAakL////7////v/8ANwIAIBBBQGtC////+wc3AgAgEEE4akKAgICA8P//v383AgAgEEEwakL////7////v/8ANwIAIBBBKGpCgICAgICAgMA/NwIAIBBCADcCICAQQfQAakIANwIAIBBB/ABqQgA3AgAgEEGEAWpBADYCACAQQZABakEAOgAAIBBBiAFqQv////sHNwIAICAgoAE3A8gCIBBBpAFqQv////sHNwIAIBBBrAFqQQA6AAAgEEHAAWpC////+wc3AgAgEEHIAWpBADoAACAQQaABaiASKAAANgAAIBBBmQFqICcpAwA3AAAgEEGRAWogICkD0AE3AAAgEEGtAWogICkDuAE3AAAgEEG1AWogJCkDADcAACAQQbwBaiArKAAANgAAIBBByQFqICApA6ABNwAAIBBB0QFqIC8pAwA3AAAgEEHYAWogNCgAADYAACAQQeQBakEAOgAAIBBB3AFqQv////sHNwIAIBBBgAJqQQA6AAAgEEH4AWpC////+wc3AgAgEEGcAmpBADoAACAQQZQCakL////7BzcCACAQQagCaiCfATcCACAQQaACaiCeATcCACAQQfQBaiAqKAAANgAAIBBB7QFqIDApAwA3AAAgEEHlAWogICkDiAE3AAAgEEGQAmogMygAADYAACAQQYkCaiAsKQMANwAAIBBBgQJqICApA3A3AAAgEEG4AmogCCgCADYCACAQQbACaiAgKQPIAjcCACAQQcQCakKAgICAgICAwD83AgAgEEG8AmpCADcCACAQQdQCakEANgIAIBBBzAJqQgA3AgAgEEHcAmpBgAI7AQAgLkE/NgIAIBBB9gJqICUvAQA7AQAgEEHuAmogGSkBADcBACAQQeYCaiAgQThqKQEANwEAIBBB3gJqICApATA3AQAgEygCAEUNAiAWKAIAQQA2AvwCIBUgFSgCkAEiEEEGIDFpayISazYCkAECQCAQIBJGBEAgFSgCAARAIBVBBGooAgAQtQELIBVCADcCCCAVQoCAgIDAADcCACAVKAIQBEAgFUEUaigCABC1AQsgFUKAgICAwAA3AhAgFUEYakIANwIAIBUoAiAEQCAVQSRqKAIAELUBCyAVQoCAgIDAADcCICAVQShqQgA3AgAMAQsgDygCACIPIBJNDRUgICASQQJ0IhAgFUEEaiIkKAIAajYCqAIgICAPNgKwAiAgQQAgDyASayInIA8gJ0kbNgKsAiAgQcgCaiAgQagCahCfBCAVKAIABEAgJCgCABC1AQsgFSAgKQPIAjcCACAVQQhqIAgpAwA3AgAgGigCACIPIBJNDRUgICAVQRRqIhooAgAgEGo2AqgCICAgDzYCsAIgIEEAIA8gEmsiJCAPICRJGzYCrAIgIEHIAmogIEGoAmoQnwQgFUEQaiIPKAIABEAgGigCABC1AQsgDyAgKQPIAjcCACAPQQhqIAgpAwA3AgAgLSgCACIPIBJNDRUgICAQIBVBJGoiGigCAGo2AqgCICAgDzYCsAIg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IYMBIAFBkANqKgAAIYQBIAFBjANqKgAAIYUBIAFBiANqKgAAIYYBIAFBhANqKgAAIYcBIAFBgANqKAAAIQ4gAUH4AmopAAAhayABQd0Cai0AACEGIAFB3AJqLQAAIQIgAUHYAmotAAAhCiABQcgCaioAACGIASABQcQCaioAACGJASABQcACaioAACGKASABQbwCaioAACGLASABQawCaioAACGMASABQagCaioAACGNASABQaQCaioAACGOASABQaACaioAACGPASABQZwCai0AACEhIAFBmAJqKgAAIZABIAFBlAJqKgAAIZEBIAFBgAJqLQAAISkgAUH8AWoqAAAhkgEgAUH4AWoqAAAhkwEgAUHkAWotAAAhGiABQeABaioAACGUASABQdwBaioAACGVASABQcgBai0AACEqIAFBxAFqKgAAIZYBIAFBwAFqKgAAIZcBIAFBrAFqLQAAISsgAUGoAWoqAAAhmAEgAUGkAWoqAAAhmQEgAUHZAmovAAAhXSABQdsCai0AACFeIARBoAZqIgdBCGoiXyABQQhqKQIANwMAIAdBEGoiYCABQRBqKQIANwMAIAdBGGoiYSABQRhqKQIANwMAIAQgASkCADcDoAYgBEGIBmoiB0EQaiIsIAFBhAFqKAIANgIAIAdBCGoiLSABQfwAaikCADcDACAEIAFB9ABqKQIANwOIBiAEQfAFaiIHQQ9qIi4gAUGgAWooAAA2AAAgB0EIaiIvIAFBmQFqKQAANwMAIAQgAUGRAWopAAA3A/AFIARB2AVqIgdBD2oiMCABQbwBaigAADYAACAHQQhqIjEgAUG1AWopAAA3AwAgBCABQa0BaikAADcD2AUgBEHABWoiB0EPaiIyIAFB2AFqKAAANgAAIAdBCGoiMyABQdEBaikAADcDACAEIAFByQFqKQAANwPABSAEQagFaiIHQQ9qIjQgAUH0AWooAAA2AAAgB0EIaiI1IAFB7QFqKQAANwMAIAQgAUHlAWopAAA3A6gFIARBkAVqIgdBD2oiNiABQZACaigAADYAACAHQQhqIjcgAUGJAmopAAA3AwAgBCABQYECaikAADcDkAUgBEGOBWoiYiABQZ8Cai0AADoAACAEIAFBnQJqLwAAOwGMBSAEQYgFaiI4IAFBuAJqKAAANgIAIAQgAUGwAmopAAA3A4AFIARB+ARqIjkgAUHUAmooAAA2AgAgBCABQcwCaikAADcD8AQgBEHQBGoiB0EYaiI6IAFB9gJqLwAAOwEAIAdBEGoiOyABQe4CaikAADcDACAHQQhqIjwgAUHmAmopAAA3AwAgBCABQd4CaikAADcD0AQgBEHIBGoiPSABQZwDaigAADYCACAEIAFBlANqKQAANwPABCAEQbACaiIHQTBqImMgAUHQA2ooAAA2AgAgB0EoaiJkIAFByANqKQAANwMAIAdBIGoiZSABQcADaikAADcDACAHQRhqImYgAUG4A2opAAA3AwAgB0EQaiJnIAFBsANqKQAANwMAIAdBCGoiaCABQagDaikAADcDACAEIAFBoANqKQAANwOwAgJAAkACQAJAAkACQAJAIAVFIAUgEkZyImlFBEAgDiAQTw0CIAUgEE8NAyAJIBRqIBQgDkECdGooAgA2AgAMAQsgBSAQTw0DIAkgFGogBCgCqAIiATYCACAEQQA2AtAGIARCADcDyAYgBEKAgICAwAA3A8AGIFwgBEHABmoiBxBjIARBADYC0AYgBEIANwPIBiAEQoCAgIDAADcDwAYgWyAHEGMgH0IANwIAIB9BCGpCADcCACAnQgA3AgAgJ0EIakIANwIAIARBADYCwAggBEKAgICAwAA3A7gIIARBBDYC1AggBEIANwLMCCAEQoCAgIDAADcCxAggBEIANwPIByAEQoCAgIDAADcDwAcgBEIANwO4ByAEQoCAgIDAADcDsAcgBEIANwOoByAEQoCAgIDAADcDoAcgBEEENgLoCCAEQQA6AKwJIARCADcDsAggBEIENwKkCSAEQgA3ApwJIARCgICAgMAANwKUCSAEQgQ3AowJIARCADcChAkgBEIENwL8CCAEQoCAgIDAADcD0AcgBEIANwPYByAEKAKgAiABRgRAIARBoAJqIQwjAEEgayIHJAACQAJAIAFBAWoiAUUNACAMKAIAIg9BAXQiKCABIAEgKEkbIgFBBCABQQRLGyIBQZACbCEoIAFB+fDhA0lBAnQhagJAIA8EQCAHIA9BkAJsNgIUIAdBBDYCGCAHIAxBBGooAgA2AhAMAQsgB0EANgIYCyAHICggaiAHQRBqEIYHIAcoAgQhDyAHKAIARQRAIAwgATYCACAMIA82AgQMAgsgB0EIaigCACIBQYGAgIB4Rg0BIAFFDQAgDyABQcjvwwAoAgAiAEGKByAAGxEAAAALEKAKAAsgB0EgaiQAIAQoAqgCIQELIAQoAqQCIAFBkAJsaiAEQaAHakGQAhDkDBogBCABQQFqNgKoAgsgBSAQRg0DIAkgFGooAgAiASAEKAKoAiIHTw0EIAkgHWogBCgCpAIgAUGQAmxqIgFBoAFqKAIANgIAIAFBmAFqIQcgaUUEQCBdIF5BEHRyIQ8MBgsgJkEIakIANwAAICZCADcAACAXQgA3AAAgF0EIakIANwAAIBZCADcAACAWQQhqQgA3AAAgHkIANwAAIB5BCGpCADcAACAiQgA3AAAgIkEIakIANwAAIC8gBEHABmoiAkEIaikAADcDACAuIAJBD2ooAAA2AAAgBCAEKQDABjcD8AUgMCAEQY0HaiICQQ9qKAAANgAAIDEgAkEIaikAADcDACAEIAQpAI0HNwPYBSAyIARB+gZqIgJBD2ooAAA2AAAgMyACQQhqKQAANwMAIAQgBCkA+gY3A8AFIDQgBEHnBmoiAkEPaigAADYAACA1IAJBCGopAAA3AwAgBCAEKQDnBjcDqAUgNiAEQdQGaiICQQ9qKAAANgAAIDcgAkEIaikAADcDACAEIAQpANQGNwOQBSATQRBqQgA3AQAgE0EIakIANwEAIBNCADcBAEEAIQ8gLEEANgIAIC1CADcDACAEQgA3A4gGIDggPSgCADYCACAEIAQpA8AENwOABSA5QQA2AgAgBEIANwPwBCA6IARBoAdqIgJBGGovAQA7AQAgOyACQRBqKQEANwMAIDwgAkEIaikBADcDACAEIAQpAaAHNwPQBEE/IQpD//9//yF/QwAAgD8hiAFDAAAAACGYAUP//39/IZkBQQEhBkEAIQJBACErQ///f38hlwFDAAAAACGWAUEAISpD//9/fyGVAUMAAAAAIZQBQQAhGkP//39/IZMBQwAAAAAhkgFBACEpQ///f38hkQFDAAAAACGQAUEAISEghwEhjwEghgEhjgEghQEhjQEghAEhjAFDAAAAACGLAUMAAAAAIYoBQwAAAAAhiQFDAAAAACGDAUMAAAAAIYIBQwAAAAAhgQFDAACAPyGAAUP//39/IX5DAAAAACF9Q///f/8hfEP//39/IXtDAAAAACF6Q///f/8heUP//39/IXhDAAAAACF3Q///f/8hdkP//39/IXVDAAAAACF0Q///f/8hc0P//39/IXJDAAAAACFxQ///f/8hcEP//39/IW9D//9/fyFuQwAAAAAhbUEAISAMBQsgDiAQQeidwQAQwwgACyAFIBBB+J3BABDDCAALIAUgEEHYncEAEMMIAAsgECAQQYiewQAQwwgACyABIAdBmJ7BABDDCAALIAEgASgCkAEgCkH/AXFpa0EGajYCkAEgBygCCCIMIAcoAgBGBEAgByAMEMIGIAcoAgghDAsgBygCBCAMQdQDbGoiASAEKQOgBjcCACABIG84AnAgASBwOAJsIAEgcTgCaCABIHI4AmQgASBzOAJgIAEgdDgCXCABIHU4AlggASB2OAJUIAEgdzgCUCABIHg4AkwgASB5OAJIIAEgejgCRCABIHs4AkAgASB8OAI8IAEgfTgCOCABIH44AjQgASB/OAIwIAEggAE4AiwgASCBATgCKCABIIIBOAIkIAEggwE4AiAgAUEYaiBhKQMANwIAIAFBEGogYCkDADcCACABQQhqIF8pAwA3AgAgASBuOAKIASABIG04AowBIAEgIDoAkAEgASCZATgCpAEgASCYATgCqAEgASArOgCsASABQYQBaiAsKAIANgIAIAFB/ABqIC0pAwA3AgAgASAEKQOIBjcCdCABIAQpA/AFNwCRASABQZkBaiAvKQMANwAAIAFBoAFqIC4oAAA2AAAgASAqOgDIASABIJYBOALEASABIJcBOALAASABIBo6AOQBIAEglAE4AuABIAEglQE4AtwBIAFBvAFqIDAoAAA2AAAgAUG1AWogMSkDADcAACABIAQpA9gFNwCtASABIAQpA8AFNwDJASABQdEBaiAzKQMANwAAIAFB2AFqIDIoAAA2AAAgAUH0AWogNCgAADYAACABQe0BaiA1KQMANwAAIAEgBCkDqAU3AOUBIAEgKToAgAIgASCSATgC/AEgASCTATgC+AEgAUGQAmogNigAADYAACABQYkCaiA3KQMANwAAIAEgBCkDkAU3AIECIAEgIToAnAIgASCQATgCmAIgASCRATgClAIgAUGfAmogYi0AADoAACABIAQvAYwFOwCdAiABIIwBOAKsAiABII0BOAKoAiABII4BOAKkAiABII8BOAKgAiABQbgCaiA4KAIANgIAIAEgBCkDgAU3ArACIAEgiAE4AsgCIAEgiQE4AsQCIAEgigE4AsAC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tAdqQQA2AgAgBEGYjMEANgKoByAEQZi/wAA2ArAHIARBADYCoAcgBEGgB2pBoIzBABDTCgALQZCNwQBBE0H4p8EAEM4MAAtBiMLAAEErQYiowQAQ2QkACyAGIBtHDQALDAELIAYgG0YNACAbIAZrQZACbkGQAmwhAQNAIAYQiwIgBkGQAmohBiABQZACayIBDQALCyAPRQ0AIAcQtQELIARBsAlqJAAPC0GY98AAQR1BoPjAABC4CwALIAFBBEHI78MAKAIAIgBBigcgABsRAAAAC705Ax9/L30DfiMAQbAKayILJAAgC0EQaiIMQShqIApBKGopAgA3AwAgDEEgaiAKQSBqKQIANwMAIAxBGGogCkEYaikCADcDACAMQRBqIApBEGopAgA3AwAgDEEIaiAKQQhqKQIANwMAIAsgAzYCSCALIAI2AkQgCyABNgJAIAsgCikCADcDECABKAIAIQ0gASgCBCIOKAIIIREgC0GgBGoiEiAGIAQgBygCiAERAQAgC0HQAGoiA0EIakEANgIAIAtCADcDUCALQcAGaiICQQhqIg8gBUEIaigCADYCACALIAUpAgA3A8AGIAtBoAVqIgogAyACENYKIBJBEGoqAgAhLCALQbQEaioCACErIAsqAqAEIS4gCyoCrAQhLyALKgKkBCEwIAsqAqgEITEgAkEQaiAKQRBqKQMANwMAIA8gCkEIaikDADcDACALIAspA6AFNwPABiADIAIQigYgC0GUAmogDjYCACALQYwCaiArIDGTQwAAAD+UIio4AgAgC0GIAmogKjgCACALQYQCaiAqOAIAIAtBgAJqICo4AgAgC0H8AWogLCAwk0MAAAA/lCIqOAIAIAtB+AFqICo4AgAgC0H0AWogKjgCACALQfABaiAqOAIAIAtB7AFqIC8gLpNDAAAAP5QiKjgCACALQegBaiAqOAIAIAtB5AFqICo4AgAgC0HcAWogMSArkkMAAAC/lCIrOAIAIAtB2AFqICs4AgAgC0HUAWogKzgCACALQdABaiArOAIAIAtBzAFqIDAgLJJDAAAAv5QiKzgCACALQcgBaiArOAIAIAtBxAFqICs4AgAgC0HAAWogKzgCACALQbwBaiAuIC+SQwAAAL+UIis4AgAgC0G4AWogKzgCACALQbQBaiArOAIAIAsgBTYCqAIgCyAENgKkAiALIA0g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AwAgEyAmKQMANwMAIBQgJykDADcDACAWICgpAwA3AwAgFyADKQMANwMAICkgBC0AADoAACALIAspA4gJNwPwCSALIBU6AKQKIAtBwAhqIgMgC0HwCWoiBCkCEDcCECADQRhqIARBGGooAgA2AgAgBkEYaioCACE2IAZBFGoqAgAhNyAEQQxqKgIAIS8gBEEIaioCACEwIAZBDGoqAgAhLiAGQQRqKgIAISogBEEkaioCACExIAZBCGoqAgAhKyAEQSBqKgIAITIgBioCECE4IAQqAgQhLSAEKgIcITMgBioCACEsIAMgBCoCADgCACADQTBqIARBMGooAgA2AgAgAyAEKQIoNwIoIAMgBC0ANDoANCADIDMgLiAqIDGUICsgMpSTIjQgNJIiNJQgKiAsIDKUICogM5STIjUgNZIiNZQgKyArIDOUICwgMZSTIjMgM5IiM5STkpI4AhwgA0EgaiAyIC4gM5QgKyA0lCAsIDWUk5KSOAIAIANBJGogMSAuIDWUICwgM5QgKiA0lJOSkjgCACADIDggLSAuIC8gKpQgMCArlJMiMSAxkiIxlCAqIDAgLJQgLSAqlJMiMiAykiIylCArIC0gK5QgLyAslJMiLSAtkiItlJOSkpI4AgQgA0EIaiA3IDAgLiAtlCArIDGUICwgMpSTkpKSOAIAIANBDGogNiAvIC4gMpQgLCAtlCAqIDGUk5KSkjgCACALLQD0CCEEIBcgEkEIaikCADcDACAWIBJBEGopAgA3AwAgFCASQRhqKQIANwMAIBMgEkEgaikCADcDACAQIBJBKGopAgA3AwAgC0GKCWoiBiAbQQJqLQAAOgAAIAsgEikCADcD8AkgCyAbLwAAOwGICSAEQQRGDQAgCyoCwAghKiALQcAGaiAFaiIDIA82AgAgA0EIaiAqOAIAIANBBGogHzYCACADQQxqIAspA/AJNwIAIANBFGogFykDADcCACADQRxqIBYpAwA3AgAgA0EkaiAUKQMANwIAIANBLGogEykDADcCACADQTRqIBApAwA3AgAgA0E8aiAEOgAAIANBPWogCy8BiAk7AAAgA0E/aiAGLQAAOgAAIAtBqAZqIApqICo4AgAgByAIICpeOgAACyAFQUBrIQUgB0EBaiEHIApBBGohCiBZQgRSDQALIAtB4ARqIgRBEGogC0HABmoiA0EQaikDADcDACAEQRhqIANBGGopAwA3AwAgBEEgaiADQSBqKQMANwMAIARBKGogA0EoaikDADcDACAEQTBqIANBMGopAwA3AwAgBEE4aiADQThqKAIANgIAIAsgCykDwAY3A+AEIAsgA0EIaikDADcD6AQgCyoCtAYhLiALKgKwBiEsIAsqAqwGISsgCyoCqAYhKiALKAK8BiEKIAtBoARqIgNBCGogDkEIaikAADcDACADQRBqIA5BEGopAAA3AwAgA0EYaiAOQRhqKQAANwMAIANBIGogDkEgaikAADcDACADQShqIA5BKGopAAA3AwAgA0EwaiAOQTBqKQAANwMAIANBN2ogDkE3aikAADcAACALIA4pAAA3A6AEIAstAPwGIQUgCy0AvAchByALQeADaiIDQTdqIA1BN2opAAA3AAAgA0EwaiANQTBqKQAANwMAIANBKGogDUEoaikAADcDACADQSBqIA1BIGopAAA3AwAgA0EYaiANQRhqKQAANwMAIANBEGogDUEQaikAADcDACADQQhqIA1BCGopAAA3AwAgCyANKQAANwPgAyALLQD8ByEEIAtBoANqIgNBN2ogDEE3aikAADcAACADQTBqIAxBMGopAAA3AwAgA0EoaiAMQShqKQAANwMAIANBIGogDEEgaikAADcDACADQRhqIAxBGGopAAA3AwAgA0EQaiAMQRBqKQAANwMAIANBCGogDEEIaikAADcDACALIAwpAAA3A6ADIAstALwIIQYgC0GeA2ogGEECai0AADoAACALIBgvAAA7AZwDIApB/wFxQQJHDQIgBUH/AXFBBEYNAyALQcsGaiALKQPoBDcAACALQfIJaiALLQCiBDoAACALQfsGaiALQZgFaigCADYAACALQfMGaiALQeAEaiIBQTBqKQMANwAAIAtB6wZqIAFBKGopAwA3AAAgC0HjBmogAUEgaikDADcAACALQdsGaiABQRhqKQMANwAAIAtB0wZqIAFBEGopAwA3AAAgCyALKQPgBDcAwwYgCyALLwGgBDsB8AkgC0GgBWoiAUE3aiALQcAGaiICQTdqKQAANwAAIAFBMGogAkEwaikAADcDACABQShqIAJBKGopAAA3AwAgAUEgaiACQSBqKQAANwMAIAFBGGogAkEYaikAADcDACABQRBqIAJBEGopAAA3AwAgAUEIaiACQQhqKQAANwMAIAsgCykAwAY3A6AFIAUhAgwFCyADIAVBrNvAABDDCAALIApB/wFxQQJGDQFBBCEFQQQhB0EEIQRBBCEGCyAJQfgAaiEQIAtBwAZqIgNBCGogCykD6AQ3AwAgA0E4aiALQeAEaiIPQThqKAIANgIAIANBMGogD0EwaikDADcDACADQShqIA9BKGopAwA3AwAgA0EgaiAPQSBqKQMANwMAIANBGGogD0EYaikDADcDACADQRBqIA9BEGopAwA3AwAgCyALKQPgBDcDwAYgCyAFOgD8BiAOIAspA6AENwAAIA5BCGogC0GgBGoiA0EIaikDADcAACAOQRBqIANBEGopAwA3AAAgDkEYaiADQRhqKQMANwAAIA5BIGogA0EgaikDADcAACAOQShqIANBKGopAwA3AAAgDkEwaiADQTBqKQMANwAAIA5BN2ogA0E3aikAADcAACALIAc6ALwHIA1BN2ogC0HgA2oiA0E3aikAADcAACANQTBqIANBMGopAwA3AAAgDUEoaiADQShqKQMANwAAIA1BIGogA0EgaikDADcAACANQRhqIANBGGopAwA3AAAgDUEQaiADQRBqKQMANwAAIA1BCGogA0EIaikDADcAACANIAspA+ADNwAAIAsgBDoA/AcgDEE3aiALQaADaiIDQTdqKQAANwAAIAxBMGogA0EwaikDADcAACAMQShqIANBKGopAwA3AAAgDEEgaiADQSBqKQMANwAAIAxBGGogA0EYaikDADcAACAMQRBqIANBEGopAwA3AAAgDEEIaiADQQhqKQMANwAAIAwgCykDoAM3AAAgCyAGOgC8CCAYQQJqIAtBngNqLQAAOgAAIBggCy8BnAM7AAAgCyAuOAL8CSALICw4AvgJIAsgKzgC9AkgCyAqOALwCSAKQRV2QQhxIApBDnZBBHEgCkEHdkECcSAKQQFxcnJyrSFbIAFBKGooAgAhBSABQcwAaigCACEGQgAhWQNAIFkiWkIBfCFZAkAgWyBaiKdBAXFFDQAgWqchAyAQLQAAQQFxBEAgA0ECdCIHIAtB8AlqaioCACIqIAhdRQ0BIAtBwAZqIANBBnRqIgQtADwiA0EERg0BIAYgByAJakHgAGooAgBNDQEgESAEKQAANwAAIBFBOGogBEE4aigAADYAACARQTBqIARBMGopAAA3AAAgEUEoaiAEQShqKQAANwAAIBFBIGogBEEgaikAADcAACARQRhqIARBGGopAAA3AAAgEUEQaiAEQRBqKQAANwAAIBFBCGogBEEIaikAADcAACALQc4CaiAEQT9qLQAAOgAAIAsgBC8APTsBzAIgC0HQAmoiAkE3aiALQaAFaiIEQTdqKQAANwAAIAJBMGogBEEwaikAADcDACACQShqIARBKGopAAA3AwAgAkEgaiAEQSBqKQAANwMAIAJBGGogBEEYaikAADcDACACQRBqIARBEGopAAA3AwAgAkEIaiAEQQhqKQAANwMAIAsgCykAoAU3A9ACIAMhAiAqIQgMAQsgA0ECdCIDIAlqQeAAaigCACIEIAVPDQAgC0HwCWogA2oqAgCMISogCygCyAIiCiEHIAsoAsACIApGBEAgC0HAAmogChC4BiALKALIAiEHCyALKALEAiIDIAdBA3RqIg8gKjgCBCAPIAQ2AgAgCyAHQQFqNgLIAiADIApBA3RqIgQqAgQhKiAEKAIAIQQCQCAKRQRAQQAhBwwBCwNAQQBBfyADIApBAWsiD0EBdiIHQQN0aiITQQRqKgIAIisgKl8iFBtBAUECIBQbICogK18bQQFqQQJJBEAgCiEHDAILIAMgCkEDdGogEykCADcCACAHIQogD0EBSw0ACwsgAyAHQQN0aiIDICo4AgQgAyAENgIACyBZQgRSDQALIAtBkANqIAtBwAJqEPYCIAsoApADQQFGDQEMAwsLIAtBoAVqIgFBN2ogC0HQAmoiA0E3aikAADcAACABQTBqIANBMGopAwA3AwAgAUEoaiADQShqKQMANwMAIAFBIGogA0EgaikDADcDACABQRhqIANBGGopAwA3AwAgAUEQaiADQRBqKQMANwMAIAFBCGogA0EIaikDADcDACALQfIJaiALQc4Cai0AADoAACALIAspA9ACNwOgBSALIAsvAcwCOwHwCQsgCygCwAJFDQEgCygCxAIQtQEMAQsgC0GgBWoiAUEIaiALQdACaiIDQQhqKQMANwMAIAFBEGogA0EQaikDADcDACABQRhqIANBGGopAwA3AwAgAUEgaiADQSBqKQMANwMAIAFBKGogA0EoaikDADcDACABQTBqIANBMGopAwA3AwAgAUE3aiADQTdqKQAANwAAIAtB8glqIAtBzgJqLQAAOgAAIAsgCykD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AwQFBgcICQoLDA0ODxAREgALIAkoAgwhAiABKAIAIgEoAgghAyABKAIAIANrQQNNBEAgASADQQQQ2gYgASgCCCEDC0EAIQAgASgCBCADakEANgAAIAEgA0EEaiIDNgIIIAIqAgAhCiABKAIAIANrQQNNBEAgASADQQQQ2gYgASgCCCEDCyABIANBBGo2AgggASgCBCADaiAKOAAADBQLIAkoAgwhACABKAIAIgIoAgghASACKAIAIAFrQQNNBEAgAiABQQQQ2gYgAigCCCEBCyACIAFBBGo2AgggAigCBCABakEBNgAAIAAgAhDwBSEADBMLIAkoAgwhAiABKAIAIgEoAgghACABKAIAIABrQQNNBEAgASAAQQQQ2gYgASgCCCEACyABIABBBGo2AgggASgCBCAAakECNgAAIAIgARDwBSIADRIgAkEMaiABEPAFIgANEiACKgIYIQogASgCACABKAIIIgBrQQNNBEAgASAAQQQQ2gYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiAKOAAADBELIAkoAgwhAiABKAIAIgEoAgghACABKAIAIABrQQNNBEAgASAAQQQQ2gYgASgCCCEACyABIABBBGo2AgggASgCBCAAakEDNgAAIAIgARDwBSIADREgAkEMaiABEPAFIQAMEQsgCSgCDCECIAEoAgAiASgCCCEAIAEoAgAgAGtBA00EQCABIABBBBDaBiABKAIIIQALIAEgAEEEajYCCCABKAIEIABqQQQ2AAAgAiABEPAFIgANECACQQxqIAEQ8AUiAA0QIAJBGGogARDwBSEADBALIAkoAgwhByABKAIAIgAoAgghAyAAKAIAIANrQQNNBEAgACADQQQQ2gYgACgCCCEDCyAAIANBBGo2AgggACgCBCADakEFNgAAIAEgBxCNASIADQ8gB0HQAGooAgAhAiAHQcwAaigCACEGIAEoAgAiBSgCCCEAIAUoAgAgAGtBB00EQCAFIABBCBDaBiAFKAIIIQALIAUgAEEIajYCCCAFKAIEIABqIAKtNwAAIAJBDGwhAwNAIAMEQCADQQxrIQMgBiAFEPAFIQAgBkEMaiEGIABFDQEMEQsLIAdB3ABqKAIAIQAgB0HYAGooAgAhAyABKAIAIgQoAgghCCAEKAIAIAhrQQdNBEAgBCAIQQgQ2gYgBCgCCCEICyAE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AgAiAigCCCEGIAIoAgAgBmtBB00EQCACIAZBCBDaBiACKAIIIQYLIAIgBkEIajYCCCACKAIEIAZqIACtNwAAIABBJGwhBgNAIAYEQCABIAMQmgUiAA0NIANBEGogASgCABDwBSIADQ0gBkEkayEGIANBHGohACADQSRqIQMgACABECkiAEUNAQwNCwsgASAFQRhqEI0BIgANCyAFQfQAaigCACECIAVB8ABqKAIAIQMgASgCACIEKAIIIQAgBCgCACAAa0EHTQRAIAQgAEEIENoGIAQoAgghAAsgBCAAQQhqNgIIIAQoAgQgAGogAq03AAAgAkEYbCEGA0AgBgRAIAMgBBDwBSIADQ0gBkEYayEGIANBDGohACADQRhqIQMgACAEEPAFIgBFDQEMDQsLIAUgASgCACIBEPAFIgANCyAFQQxqIAEQ8AUhAAwLCyAJKAIMIQAgASgCACICKAIIIQMgAigCACADa0EDTQRAIAIgA0EEENoGIAIoAgghAwsgAiADQQRqNgIIIAIoAgQgA2pBCjYAACAAIAEQmgEhAAwKCyAJKAIMIQAgASgCACICKAIIIQEgAigCACABa0EDTQRAIAIgAUEEENoGIAIoAgghAQsgAigCBCABakELNgAAIAIgAUEEaiIBNgIIIABBBGoqAgAhCyAAKgIAIQogAigCACABa0EDTQRAIAIgAUEEENoGIAIoAgghAQsgAigCBCABaiAKOAAAIAIgAUEEaiIBNgIIIAIoAgAgAWtBA00EQCACIAFBBBDaBiACKAIIIQELIAIgAUEEajYCCCACKAIEIAFqIAs4AAAMCAsgCSgCDCEAIAEoAgAiAigCCCEBIAIoAgAgAWtBA00EQCACIAFBBBDaBiACKAIIIQELIAIoAgQgAWpBDDYAACACIAFBBGoiATYCCCAAQQRqKgIAIQsgACoCACEKIAIoAgAgAWtBA00EQCACIAFBBBDaBiACKAIIIQELIAIoAgQgAWogCjgAACACIAFBBGoiATYCCCACKAIAIAFrQQNNBEAgAiABQQQQ2gYgAigCCCEBCyACIAFBBGo2AgggAigCBCABaiALOAAADAcLIAkoAgwhAiABKAIAIgEoAgghACABKAIAIABrQQNNBEAgASAAQQQQ2gYgASgCCCEACyABIABBBGo2AgggASgCBCAAakENNgAAIAIgARDwBSIADQcgAioCDCEKIAEoAgAgASgCCCIAa0EDTQRAIAEgAEEEENoGIAEoAgghAAsgASAAQQRqNgIIIAEoAgQgAGogCjgAAAwGCyAJKAIMIQIgASgCACIBKAIIIQAgASgCACAAa0EDTQRAIAEgAEEEENoGIAEoAgghAAsgASAAQQRqNgIIIAEoAgQgAGpBDjYAACACIAEQ8AUiAA0GIAJBDGogARDwBSIADQYgAkEYaiABEPAFIgANBiACKgIkIQogASgCACABKAIIIgBrQQNNBEAgASAAQQQQ2gYgASgCCCEACyABIABBBGo2AgggASgCBCAAaiAKOAAADAULIAkoAgwhACABKAIAIgIoAgghASACKAIAIAFrQQNNBEAgAiABQQQQ2gYgAigCCCEBCyACKAIEIAFqQQ82AAAgAiABQQRqIgE2AgggAEEEaioCACELIAAqAgAhCiACKAIAIAFrQQNNBEAgAiABQQQQ2gYgAigCCCEBCyACKAIEIAFqIAo4AAAgAiABQQRqIgE2AgggAigCACABa0EDTQRAIAIgAUEEENoGIAIoAgghAQsgAigCBCABaiALOAAAIAIgAUEEaiIBNgIIIAAqAgghCiACKAIAIAFrQQNNBEAgAiABQQQQ2gYgAigCCCEBCyACIAFBBGo2AgggAigCBCABaiAKOAAADAQLIAkoAgwhACABKAIAIgIoAgghASACKAIAIAFrQQNNBEAgAiABQQQQ2gYgAigCCCEBCyACKAIEIAFqQRA2AAAgAiABQQRqIgE2AgggAEEEaioCACELIAAqAgAhCiACKAIAIAFrQQNNBEAgAiABQQQQ2gYgAigCCCEBCyACKAIEIAFqIAo4AAAgAiABQQRqIgE2AgggAigCACABa0EDTQRAIAIgAUEEENoGIAIoAgghAQsgAigCBCABaiALOAAAIAIgAUEEaiIBNgIIIAAqAgghCiACKAIAIAFrQQNNBEAgAiABQQQQ2gYgAigCCCEBCyACIAFBBGo2AgggAigCBCABaiAKOAAADAMLIAkoAgwhAiABKAIAIgAoAgghAyAAKAIAIANrQQNNBEAgACADQQQQ2gYgACgCCCEDCyAAIANBBGo2AgggACgCBCADakERNgAAIAIgARCaASIADQMgAioCYCEKIAEoAgAiACgCCCEBIAAoAgAgAWtBA00EQCAAIAFB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AyAKQagDaiILQShqIApBkAdqIg1BKGopAwA3AwAgC0EgaiANQSBqKQMANwMAIAtBGGogDUEYaikDADcDACALQRBqIA1BEGopAwA3AwAgC0EIaiANQQhqKQMANwMAIApBpgNqIApBjgdqLQAAOgAAIApB8AJqIg1BKGogCkHQBmoiC0EoaikDADcDACANQSBqIAtBIGopAwA3AwAgDUEYaiALQRhqKQMANwMAIA1BEGogC0EQaikDADcDACAKIAopA5AHNwOoAyAKIAovAYwHOwGkAyAKIAtBCGopAwA3A/gCIAogCikD0AY3A/ACIApB7gJqIApBzgZqLQAAOgAAIAogCi8BzAY7AewCIApBuAJqIgtBKGogCkGYBmoiDUEoaikDADcDACALQSBqIA1BIGopAwA3AwAgC0EYaiANQRhqKQMANwMAIAtBEGogDUEQaikDADcDACALQQhqIA1BCGopAwA3AwAgCiAKKQOYBjcDuAIgCkG2AmogCkGWBmotAAA6AAAgCiAKLwGUBjsBtAIgDkEYdCADQRB0ciAJQQh0ciAUciEDCyADQf8BcUECRwRAIARB+ABqIQsgGCAKKQPwAzcCACAhIAovAewDOwAAICAgCikD4AM3AgAgGEEIaiAKQfADaiIJQQhqKQMANwIAIBhBEGogCUEQaikDADcCACAYQRhqIAlBGGopAwA3AgAgIUECaiAKQe4Dai0AADoAACAgQQhqIApB6ANqKAIANgIAIAogQzgClAQgCiAaNgKQBCAKIBs6ALgEIB8gCi8B3AM7AAAgH0ECaiAKQd4Dai0AADoAACASIAopA6gDNwIAIBJBCGogCkGoA2oiCUEIaikDADcCACASQRBqIAlBEGopAwA3AgAgEkEYaiAJQRhqKQMANwIAIBJBIGogCUEgaikDADcCACASQShqIAlBKGopAwA3AgAgCiAFOgDIBCAKICg2AswEIAogYTgC0AQgHiAKLwGkAzsAACAeQQJqIApBpgNqLQAAOgAAIBEgCikD8AI3AgAgEUEIaiAKKQP4AjcCACARQRBqIApB8AJqIgVBEGopAwA3AgAgEUEYaiAFQRhqKQMANwIAIBFBIGogBUEgaikDADcCACARQShqIAVBKGopAwA3AgAgCiAGOgCEBSAKIGI4AowFIAogKTYCiAUgCiACOgDABSAdQQJqIApB7gJqLQAAOgAAIB0gCi8B7AI7AAAgCiBjOALIBSAKICo2AsQFIBBBKGogCkG4AmoiAkEoaikDADcCACAQQSBqIAJBIGopAwA3AgAgEEEYaiACQRhqKQMANwIAIBBBEGogAkEQaikDADcCACAQQQhqIAJBCGopAwA3AgAgECAKKQO4AjcCACAKIAc6APwFIBxBAmogCkG2AmotAAA6AAAgHCAKLwG0AjsAACAKIAg4AowIIAogLTgCiAggCiAuOAKECCAKIDA4AoAIIANBFXZBCHEgA0EOdkEEcSADQQd2QQJxIANBAXFycnKtIWYgE0EgaigCACEOIBNBxABqKAIAIQZCACFkA0AgZCJlQgF8IWQCQCBmIGWIp0EBcUUNACBlpyECIAstAABBAXEEQCACQQJ0IgUgCkGACGpqKgIAIgggL11FDQEgCkGQBGogAkE8bGoiAy0AOCICQQRGDQEgBiAEIAVqQeAAaigCAE0NASAKQYYCaiADQTtqLQAAOgAAIApBiAJqIgFBCGogA0EgaikAADcDACABQRBqIANBKGopAAA3AwAgAUEYaiADQTBqKQAANwMAIAogAy8AOTsBhAIgCiADKQAYNwOIAiADKgIUIUQgAygCECErIAMqAgwhRSADKgIIIUYgAyoCBCFHIAIhASAIIS8MAQsgAkECdCICIARqQeAAaigCACIHIA5PDQAgCkGACGogAmoqAgCMIQggCigCgAIiAyECIAooAvgBIANGBEAgCkH4AWogAxC4BiAKKAKAAiECCyAKKAL8ASIFIAJBA3RqIgkgCDgCBCAJIAc2AgAgCiACQQFqNgKAAiAFIANBA3RqIgIqAgQhCCACKAIAIQcCQCADRQRAQQAhAgwBCwNAQQBBfyAFIANBAWsiCUEBdiICQQN0aiINQQRqKgIAIi4gCF8iFBtBAUECIBQbIAggLl8bQQFqQQJJBEAgAyECDAILIAUgA0EDdGogDSkCADcCACACIQMgCUEBSw0ACwsgBSACQQN0aiICIAg4AgQgAiAHNgIACyBkQgRSDQALIApBqAJqIApB+AFqEPYCIAooAqgCQQFGDQEMAgsLIApBgghqAn8gG0EERgRAIApBkARqIgJBGGogCkGIAmoiA0EYaikDADcDACACQRBqIANBEGopAwA3AwAgAkEIaiADQQhqKQMANwMAIAogCikDiAI3A5AEIApBhAJqDAELIApBkARqIgFBGGogCkHwA2oiAkEYaikDADcDACABQRBqIAJBEGopAwA3AwAgAUEIaiACQQhqKQMANwMAIAogCikD8AM3A5AEIEMhRCAaISsgCCFFIC0hRiAuIUcgGyEBIApB7ANqCyICQQJqLQAAOgAAIAogAi8AADsBgAggCigC+AFFDQEgCigC/AEQtQEMAQsgCkGQBGoiAkEIaiAKQYgCaiIDQQhqKQMANwMAIAJBEGogA0EQaikDADcDACACQRhqIANBGGopAwA3AwAgCkGCCGogCkGGAmotAAA6AAAgCiAKKQOIAjcDkAQgCiAKLwGEAjsBgAggCigC+AFFDQAgCigC/AEQtQELIAFB/wFxQQRHDQELIABBBDoANAwBCyAAIAovAYAIOwA1IAAgRDgCECAAICs2AgwgACBFOAIIIAAgRjgCBCAAIEc4AgAgACAKKQOQBDcCFCAAQTdqIApBgghqLQAAOgAAIABBHGogCkGYBGopAwA3AgAgAEEkaiAKQaAEaikDADcCACAAQSxqIApBqARqKQMANwIAIAAgAToANAsgCkHACGokAAv9KQMjfx99A34jAEHwB2siCyQAIAsgBiAHKAKAAREAACALQRxqIAc2AgAgC0EUaiAENgIAIAsgCjoANCALIAk4AiQgCyAIOAIgIAsgBTYCMCALIAI2AiwgCyABNgIoIAsgBjYCGCALIAM2AhACQAJAIAMgBCgCEBEEACIQQSBqKAIAIgYEQCALQQA2AkAgC0KAgICAwAA3AzggC0E4aiIBQQAQuAYgCygCPCALKAJAIgJBA3RqQoCAgIDw////fjcCACALIAJBAWo2AkAgC0GIAWogARD2AkEEIQECQAJAIAsoAogBQQFHDQAgC0E0aiEjIAtBJGohJCALQSBqISUgC0GjBmohBSALQewDaiEYIAtB6QNqIRQgC0HwAmohCiALQegGaiIBQRxqIRkgAUEoaiEaIAFBBHIhGyABQRBqIRwgC0G4B2oiAUEoaiEdIAFBHGohHiABQRBqIR8gAUEEciEgQ///f38hCCALQbADaiEhQQQhAQJAAkACQANAIAggCyoCkAGMXw0EIAsoAowBIgIgBk8NAiAQQRxqKAIAIAJBB3RqIgMtAHhBAXEiEQRAIBBBQGsoAgAiAiADKAJgIgRBDGxqQQAgBCAQQcQAaigCACIESRsiBkEIakEAIAYbISYgAiADQewAaigCACIGQQxsakEAIAQgBksbIgZBCGpBACAGGyEnIAIgA0HoAGooAgAiBkEMbGpBACAEIAZLGyIGQQhqQQAgBhshKCACIANB5ABqKAIAIgZBDGxqQQAgBCAGSxsiAkEIakEAIAIbISILIANB+ABqISkgCyAIOAKkAyAhQgA3AwAgC0IANwOoA0EAIQYgC0EANgK8AyALQQQ6AKwFIAtBBDoA8AQgC0EEOgC0BCALQQQ6APgDIANBNGoqAgAhCSADQThqKgIAIS8gA0E8aioCACExIANBFGoqAgAhOyADQcQAaioCACE0IANBGGoqAgAhPSADQcgAaioCACEwIANBHGoqAgAhOSADQcwAaioCACEyIANBJGoqAgAhOiADQdQAaioCACEuIANBKGoqAgAhRyADQdgAaioCACE+IANBLGoqAgAhSCADQdwAaioCACE/IAMqAgQhMyADKgIIITYgAyoCDCE1IAMqAhwhPCADKgIsIUkgAyoCGCE3IAMqAighQCADKgIUITggAyoCJCFBIAMqAjAiSiADKgIAIkKTIkMgQ5QgA0FAayoCACJDIAMqAhAiS5MiRCBElJIgA0HQAGoqAgAiRCADKgIgIkWTIkYgRpSSQwAAAACSEJMBIUYgCSAzkyJMIEyUIDQgOJMiOCA4lJIgLiBBkyI4IDiUkkMAAAAAkhCTASE4IC8gNpMiQSBBlCAwIDeTIjcgN5SSID4gQJMiNyA3lJJDAAAAAJIQkwEhNyALQbAFaiICIDEgNZMiQCBAlCAyIDyTIjwgPJSSID8gSZMiPCA8lJJDAAAAAJIQkwE4AgwgAiA3OAIIIAIgODgCBCACIEY4AgAgSCA/kkMAAAA/lCFIIEcgPpJDAAAAP5QhRyA6IC6SQwAAAD+UITwgOSAykkMAAAA/lCFJID0gMJJDAAAAP5QhNyA7IDSSQwAAAD+UIUAgRSBEkkMAAAA/lCE4IEsgQ5JDAAAAP5QhQSA1IDGSQwAAAD+UIUMgNiAvkkMAAAA/lCFLIDMgCZJDAAAAP5QhRCBCIEqSQwAAAD+UIUpBACEEAkADQCALIAQ2AswFIAsgQzgCrAYgCyBLOAKoBiALIEQ4AqQGIAsgSjgCoAYgC0GgBmoiAiAGaiIHKgIAITAgCyBJOAKsBiALIDc4AqgGIAsgQDgCpAYgCyBBOAKgBiAHKgIAITIgCyBIOAKsBiALIEc4AqgGIAsgPDgCpAYgCyA4OAKgBiAHKgIAIS4gCyALQbAFaiAGaioCACI+OALQBSALIAsqAgwiPzgC2AUgC0HgBWoiDEEIaiIVIAsoAiwiB0EIaikCADcDACAMQRBqIg4gB0EQaikCADcDACAMQSBqIg8gB0EgaikCADcDACAMQRhqIhIgB0EYaikCADcDACAMQShqIAdBKGopAgA3AwAgDEEwaiAHQTBqKQIANwMAIAxBOGogB0E4aikCADcDACALIAcpAgA3A+AFIA8qAgAhMyASKgIAITsgCyoC9AUhPSALKgL8BSE2IAsqAoQGITUgDiAOKgIAIkIgMCALKgLsBSI0IC4gCyoC5AUiCZQgMiAVKgIAIi+UkyIxIDGSIjmUIAkgMiALKgLgBSIxlCAwIAmUkyI6IDqSIjqUIC8gMCAvlCAuIDGUkyIwIDCSIjCUk5KSkiJFOAIAIBIgOyAuIDQgOpQgMSAwlCAJIDmUk5KSkiJGOAIAIAsgPSAyIDQgMJQgLyA5lCAxIDqUk5KSkiI5OAL0BSAPID0gMyA0IC8gNpQgMSA1lJMiMCAwkiIwlCAvIAkgNZQgLyAzlJMiMiAykiIylCAxIDEgM5QgCSA2lJMiLiAukiIulJOSkpIgOZMiMyA0IDEgOyA1IDQgLpQgMSAwlCAJIDKUk5KSkiBGkyI1lCAvIEIgNiA0IDKUIAkgLpQgLyAwlJOSkpIgRZMiMJSTIjIgMpIiMpQgMSAJIDCUIDEgM5STIi4gLpIiLpQgLyAvIDOUIAkgNZSTIjMgM5IiM5STkpI4AgAgCyA1IDQgLpQgCSAzlCAxIDKUk5KSOAKEBiALIDAgNCAzlCAvIDKUIAkgLpSTkpI4AvwFIAJBCGoiEiALKAIwIgdBCGopAgA3AwAgAkEQaiIMIAdBEGopAgA3AwAgAkEYaiIOIAdBGGopAgA3AwAgAkEgaiIPIAdBIGopAgA3AwAgAkEoaiIVIAdBKGopAgA3AwAgAkEwaiIqIAdBMGopAgA3AwAgAkE4aiAHQThqKQIANwMAIAsgBykCADcDoAYgCyoCCCIuIAsqAqQGIgmUIAsqAgQiNSASKgIAIi+UkyIxIDGSITAgNSALKgKgBiIxlCALKgIAIjMgCZSTIjQgNJIhMiAMIAwqAgAiPSAzIAsqAqwGIjQgMJQgCSAylCAvIDMgL5QgLiAxlJMiMyAzkiI7lJOSkpIiOTgCACAOIA4qAgAiOiAuIDQgMpQgMSA7lCAJIDCUk5KSkiJCOAIAIA8qAgAhLiALKgLEBiEzIAsqArwGITYgCyALKgK0BiJFIDUgNCA7lCAvIDCUIDEgMpSTkpKSIjU4ArQGIA8gRSAuIDQgLyA2lCAxIDOUkyIwIDCSIjCUIC8gCSAzlCAvIC6UkyIyIDKSIjKUIDEgMSAulCAJIDaUkyIuIC6SIi6Uk5KSkiA1kyI1IDQgMSA6IDMgNCAulCAxIDCUIAkgMpSTkpKSIEKTIjOUIC8gPSA2IDQgMpQgCSAulCAvIDCUk5KSkiA5kyIwlJMiMiAykiIylCAxIAkgMJQgMSA1lJMiLiAukiIulCAvIC8gNZQgCSAzlJMiNiA2kiI2lJOSkjgCACALIDAgNCA2lCAvIDKUIAkgLpSTkpI4ArwGIAsgMyA0IC6UIAkgNpQgMSAylJOSkjgCxAYgCyoCJCEJIAsqAiAhLyALKAIoIQICQCA+ID9gRQRAIAtBADYCoAcgC0G4B2ogAiALQaAGaiA/IAtB2AVqIAtB4AVqID4gC0HQBWogLyAJIAtBoAdqEEAgCy0A7AciB0EERg0BIBwgICkCADcCACAbIB8pAgA3AgAgGiAeKQIANwIAIBkgHSkCADcCACAcQQhqICBBCGooAgA2AgAgG0EIaiAfQQhqKAIANgIAIBpBCGogHkEIaigCADYCACAZQQhqIB1BCGooAgA2AgAgCyALKgK4BzgC6AYMAQsgC0EANgK4ByALQegGaiACIAtB4AVqID4gC0HQBWogC0GgBmogPyALQdgFaiAvIAkgC0G4B2oQQCALLQCcByEHCwJAIAdB/wFxQQRGDQAgCyoC6AYhCSARBEAgCyAnNgKsByALICg2AqgHIAsgIjYCpAcgCyAmNgKgByAJIAsqAqQDXUUNASALKALMBSICQQNLDQMgC0GgB2ogAkECdGooAgAiAkUNASALIAIoAgAiAjYCtAcgCygCECEHIAsoAhQhDSALIAsoAjA2AtQHIAsgCykDKDcCzAcgCyAjNgLIByALICQ2AsQHIAsgJTYCwAcgCyALKQMYNwO4ByALIAtBtAdqNgLsByALIAtBwANqNgLoByALIAtBpANqNgLkByALIAtBvANqNgLgByALIAtBzAVqNgLcByALIAtBqANqNgLYByAHIAIgC0G4B2pBpLLCACANQQxqKAIAEQIADAELIAsoAswFIgJBBE8NBCALQbwDaiACaiAJIAsqAqQDXToAACALQagDaiACQQJ0aiAJOAIACyAGQQRqIQYgBEEBaiIEQQRHDQALIAogCykDwAM3AgAgCkEIaiIGIAtBwANqIgJBCGoiBykDADcCACAKQRBqIhEgAkEQaiINKQMANwIAIApBGGoiEyACQRhqIhYpAwA3AgAgCkEgaiIXIAJBIGoiKykDADcCACALQd4CaiIsIBRBAmoiLS0AADoAACALIAspA6gDNwPgAiALIBQvAAA7AdwCIAsgISkDADcD6AIgCy0A6AMhAiALKAK8AyEEIAtBmAFqIBhBxAEQ5AwaIARB/wFxQQJGDQQgFCALLwHcAjsAACArIBcpAgA3AwAgFiATKQIANwMAIA0gESkCADcDACAHIAYpAgA3AwAgLSAsLQAAOgAAIAsgAjoA6AMgCyAKKQIANwPAAyAYIAtBmAFqQcQBEOQMGiALIAspA+gCNwPoBSALIAspA+ACNwPgBSAEQRV2QQhxIARBDnZBBHEgBEEHdkECcSAEQQFxcnJyrSFPIBBBIGooAgAhBiAQQcQAaigCACERQgAhTQNAIE0iTkIBfCFNAkAgTyBOiKdBAXFFDQAgTqchAiApLQAAQQFxBEAgAkECdCIHIAtB4AVqaioCACIJIAhdRQ0BIAtBwANqIAJBPGxqIgQtADgiAkEERg0BIBEgAyAHakHgAGooAgBNDQEgBSAEKQAANwAAIAVBMGogBEEwaikAADcAACAFQShqIARBKGopAAA3AAAgBUEgaiAEQSBqKQAANwAAIAVBGGogBEEYaikAADcAACAFQRBqIARBEGopAAA3AAAgBUEIaiAEQQhqKQAANwAAIAtBxgBqIARBO2otAAA6AAAgCyAELwA5OwFEIAtByABqIgFBN2ogC0HXBmooAAA2AAAgAUEwaiAqKQAANwMAIAFBKGogFSkAADcDACABQSBqIA8pAAA3AwAgAUEYaiAOKQAANwMAIAFBEGogDCkAADcDACABQQhqIBIpAAA3AwAgCyALKQCgBjcDSCACIQEgCSEIDAELIAJBAnQiAiADakHgAGooAgAiDSAGTw0AIAtB4AVqIAJqKgIAjCEJIAsoAkAiByEEIAsoAjggB0YEQCALQThqIAcQuAYgCygCQCEECyALKAI8IgIgBEEDdGoiEyAJOAIEIBMgDTYCACALIARBAWo2AkAgAiAHQQN0aiIEKgIEIQkgBCgCACENAkAgB0UEQEEAIQQMAQsDQEEAQX8gAiAHQQFrIhNBAXYiBEEDdGoiFkEEaioCACIvIAlfIhcbQQFBAiAXGyAJIC9fG0EBakECSQRAIAchBAwCCyACIAdBA3RqIBYpAgA3AgAgBCEHIBNBAUsNAAsLIAIgBEEDdGoiAiAJOAIEIAIgDTYCAAsgTUIEUg0ACyALQYgBaiALQThqEPYCIAsoAogBQQFGDQEMBQsLIAJBBEGoqcIAEMMIAAsgAkEEQZipwgAQwwgACyACIAZBrInCABDDCAALAkAgAkEERgRAIAtBoAZqIgJBN2ogC0HIAGoiA0E3aigAADYAACACQTBqIANBMGopAwA3AwAgAkEoaiADQShqKQMANwMAIAJBIGogA0EgaikDADcDACACQRhqIANBGGopAwA3AwAgAkEQaiADQRBqKQMANwMAIAJBCGogA0EIaikDADcDACALQeIFaiALQcYAai0AADoAACALIAspA0g3A6AGIAsgCy8BRDsB4AUMAQsgC0HLA2ogCykD6AI3AAAgC0HzA2ogC0HgAmoiAUEwaikDADcAACALQesDaiABQShqKQMANwAAIAtB4wNqIAFBIGopAwA3AAAgC0HbA2ogAUEYaikDADcAACALQdMDaiABQRBqKQMANwAAIAtB4gVqIAtB3gJqLQAAOgAAIAsgCykD4AI3AMMDIAsgCy8B3AI7AeAFIAtBoAZqIgFBCGogC0HAA2oiA0EIaikAADcDACABQTdqIANBN2ooAAA2AAAgAUEwaiADQTBqKQAANwMAIAFBKGogA0EoaikAADcDACABQSBqIANBIGopAAA3AwAgAUEYaiADQRhqKQAANwMAIAFBEGogA0EQaikAADcDACALIAspAMADNwOgBiACIQELIAsoAjhFDQEgCygCPBC1AQwBCyALQaAGaiICQQhqIAtByABqIgNBCGopAwA3AwAgAkEQaiADQRBqKQMANwMAIAJBGGogA0EYaikDADcDACACQSBqIANBIGopAwA3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IgBBigcgABsRAAAACyAHQZwBaigCACEDIAdBmAFqKAIAIQAgBygClAEhBCAHKAKIASEIIAcoApABIQogBygCjAEhASAHQYCAgPwDNgIwIAdCgICA/IOAgMA/NwMoIAlBCGogBkEIaikCADcDACAHIAYpAgA3A4gBIAIgASAKIAAgAyAFIAdBKGogCRCuAiAEBEAgABC1AQsgCEUNCCABELUBDAgLIAcoAiQhBCAHQYgBaiIDQRBqIAFBEGooAgA2AgAgA0EIaiABQQhqKQIANwMAIAcgASkCADcDiAEgB0EoaiIBQQhqIAZBCGopAgA3AwAgByAGKQIANwMoIAAgAyACIARB6KrAACAFIAEQLAwHCyAHQYgBaiEDIAcoAiQhASAAQeABaigCACELIABB5AFqKAIAIQQjAEHgAGsiACQAIAEqAgQhGCABKgIIIRogASoCACEZIABBADYCECAAQoCAgIDAADcDCCAAQQA2AiAgAEKAgICAwAA3AxggAEEIaiIIQQAQtAYgACgCDCAAKAIQIglBDGxqIgFBADYCCCABIBmMIhsgGpMiHTgCBCABIBiMIhg4AgAgACAJQQFqNgIQIABBADYCMCAAIBs4AiwgACAYOAIoIABBADYCQCAAIB04AjwgACAYOAI4IABBADYCUCAAIBs4AkwgACAYIBqTIh04AkggAEEoaiAAQThqIABByABqIAQgCBD3ASAaIBmSIRogACgCECIBIAAoAggiCEYEQCAAQQhqIAEQtAYgACgCCCEIIAAoAhAhAQsgACgCDCIJIAFBDGxqIgpBADYCCCAKIBs4AgQgCiAdOAIAIAAgAUEBaiIBNgIQIAEgCEYEQCAAQQhqIAgQtAYgACgCDCEJIAAoAhAhAQsgCSABQQxsaiIIQQA2AgggCCAZOAIEIAggHTgCACAAIAFBAWo2AhAgAEEANgIwIAAgGTgCLCAAIBg4AiggAEEANgJAIAAgGTgCPCAAIB04AjggAEEANgJQIAAgGjgCTCAAIBg4AkggAEEoaiAAQThqIABByABqIAQgAEEIahD3ASAAKAIQIgEgACgCCEYEQCAAQQhqIAEQtAYgACgCECEBCyAAQQhqIghBCGoiCSABQQFqNgIAIAAoAgwgAUEMbGoiAUEANgIIIAEgGjgCBCABIBg4AgAgACAENgJQIABByABqIgFBDGogBEECajYCACABQRRqIARBAXQiBEECajYCACAAQoCAgIAQNwNIIAAgBEEBcjYCWEEAIAFBAyALIAggAEEYaiIBEHsgA0EIaiIEIAkoAgA2AgAgAyAAKQMINwIAIAMgACkDGDcCDCADQRRqIAFBCGooAgA2AgAgAEHgAGokACAHQZwBaigCACEIIAdBmAFqKAIAIQAgBygClAEhCSAHKAKIASEKIAcoApABIQsgBygCjAEhASAHQYCAgPwDNgIwIAdCgICA/IOAgMA/NwMoIAQgBkEIaikCADcDACAHIAYpAgA3A4gBIAIgASALIAAgCCAFIAdBKGogAxCuAiAJBEAgABC1AQsgCkUNBiABELUBDAYLIAdBiAFqIQMgBygCJCEBIABB4AFqKAIAIQsgAEHkAWooAgAhBCMAQeAAayIAJAAgASoCCCEZIAEqAgQhGiABKgIAIRggAEEANgIQIABCgICAgMAANwMIIABBADYCICAAQoCAgIDAADcDGCAaIBqUIBhDAAAAwJQiHyAflJJDAAAAAJIQkwEhGyAAQQhqIghBABC0BiAAKAIMIAAoAhAiCUEMbGoiAUEANgIIIAEgGIwiHiAZkyIcOAIEIAEgGowiHTgCACAAIAlBAWo2AhAgAEEANgIwIAAgHjgCLCAAIB04AiggAEEANgJAIAAgHDgCPCAAIB04AjggACAZQwAAAAAgG5WUQwAAAACSIh04AlAgACAZIBogG5WUIh4gGJMiHDgCTCAAIBkgHyAblZQiGyAakyIfOAJIIABBKGogAEE4aiAAQcgAaiAEIAgQ9wEgG0MAAAAAkiEaIBkgGJIhGSAYIB6SIRsgACgCECIBIAAoAggiCEYEQCAAQQhqIAEQtAYgACgCCCEIIAAoAhAhAQsgACgCDCIJIAFBDGxqIgogHTgCCCAKIBw4AgQgCiAfOAIAIAAgAUEBaiIBNgIQIAEgCEYEQCAAQQhqIAgQtAYgACgCDCEJIAAoAhAhAQsgCSABQQxsaiIIIB04AgggCCAbOAIEIAggGjgCACAAIAFBAWo2AhAgAEEANgIwIAAgGDgCLCAAQQA2AiggACAdOAJAIAAgGzgCPCAAIBo4AjggAEEANgJQIAAgGTgCTCAAQQA2AkggAEEoaiAAQThqIABByABqIAQgAEEIahD3ASAAKAIQIgEgACgCCEYEQCAAQQhqIAEQtAYgACgCECEBCyAAQQhqIghBCGoiCSABQQFqNgIAIAAoAgwgAUEMbGoiAUEANgIIIAEgGTgCBCABQQA2AgAgACAENgJQIABByABqIgFBDGogBEECajYCACABQRRqIARBAXQiBEECajYCACAAQoCAgIAQNwNIIAAgBEEBcjYCWEEBIAFBAyALIAggAEEYaiIBEHsgA0EIaiIEIAkoAgA2AgAgAyAAKQMINwIAIAMgACkDGDcCDCADQRRqIAFBCGooAgA2AgAgAEHgAGokACAHQZwBaigCACEIIAdBmAFqKAIAIQAgBygClAEhCSAHKAKIASEKIAcoApABIQsgBygCjAEhASAHQYCAgPwDNgIwIAdCgICA/IOAgMA/NwMoIAQgBkEIaikCADcDACAHIAYpAgA3A4gBIAIgASALIAAgCCAFIAdBKGogAxCuAiAJBEAgABC1AQsgCkUNBSABELUBDAULIAdBiAFqIRAgBygCJCEKIABB5AFqKAIAIRNBACEBIwBB4ABrIggkACAIQQA2AgggCEKAgICAwAA3AwAgCEEANgIYIAhCgICAgMAANwMQIApBEGooAgAiBCAKQRRqKAIAIhFBA3RqIRQgEQRAIApBHGooAgAhFSAKQSBqKAIAIQ8gCkE4aigCACESIApBNGooAgAhFiAKQQRqKAIAIRcgCkEIaigCACEOIAoqAmAhGEEEIQwgBCEAA0ACQCALIA5HBEAgACgCBCINIAAoAgAiCWohAwJAIAMgDU8EQCADIBJLDQEgDUUNAyAXIAtBDGxqIgMqAgghGSADKgIEIRogAyoCACEbIBYgCUECdGohCSANQQJ0IQMDQCAJKAIAIg0gD0kEQCAZIBUgDUEUbGoiDSoCECAYlJIhHSAaIA0qAgwgGJSSIR8gGyANKgIIIBiUkiEeIAlBBGohCSAIKAIAIAFGBEAgCCABELQGIAgoAgQhDCAIKAIIIQELIAwgAUEMbGoiDSAdOAIIIA0gHzgCBCANIB44AgAgCCABQQFqIgE2AgggA0EEayIDDQEMBQsLIA0gD0Hwi8MAEMMIAAsgCSADQeCLwwAQzAwACyADIBJB4IvDABDLDAALIA4gDkHQi8MAEMMIAAsgC0EBaiELIBQgAEEIaiIARw0ACwsgCkEgaigCACIABEAgCkEcaigCACIMIABBFGxqIQ8gCkEEaigCACESIApBCGooAgAhCyAKQdwAaigCACEOIApB2ABqKAIAIRUgCioCYCEYA0ACfyAMKAIEIgMgDCgCACIJaiEAAkACQCAAIANPBEAgACAOSw0BIANFBEBBfyEJIAEhAAwDCyAVIAlBAnRqIQkgA0ECdCEDIAEhAAJAA0AgCSgCACINIAtPDQEgEiANQQxsaiINKgIIIAwqAhAgGJSSIRkgDSoCBCAMKgIMIBiUkiEaIA0qAgAgDCoCCCAYlJIhGyAIKAIAIABGBEAgCCAAELQGIAgoAgghAAsgCUEEaiEJIAgoAgQgAEEMbGoiDSAZOAIIIA0gGjgCBCANIBs4AgAgCCAAQQFqIgA2AgggA0EEayIDDQALIAwoAgRBAWsiCQ0DIAgoAhghCUEBDAQLIA0gC0GQjMMAEMMIAAsgCSAAQYCMwwAQzAwACyAAIA5BgIzDABDLDAALIAmtISwgCCgCGCEJIAEhAwNAIAOtISsgKyADQQFqIgOtQiCGhCErIAgoAhAgCUYEQCAIQRBqIAkQuAYgCCgCGCEJCyAIKAIUIAlBA3RqICs3AgAgCCAJQQFqIgk2AhggLEIBfSIsUEUNAAsgDCgCBAshAyAMQRRqIQwgAa0gASADakEBa61CIIaEISsgCCgCECAJRgRAIAhBEGogCRC4BiAIKAIYIQkLIAgoAhQgCUEDdGogKzcCACAIIAlBAWo2AhggACEBIAwgD0cNAAsLAkACQCARBEAgE0EBayEPQQAhACAKQQRqIRJBACELA0AgCkEIaigCACIBIAtNDQIgCEEoaiIVIBIoAgAgC0EMbGoiAUEIaigCADYCACAIIAEpAgA3AyAgBCgCBCINBEAgDa0hLkIAISsDQAJAIC4gKyIsQgF8IitYDQAgACAsp2oiEa0hMCArpyEDAkADQAJAIAgoAgghDCAIQThqIBUoAgA2AgAgCCAIKQMgNwMwIAwgEU0NACAIQcgAaiAIKAIEIgEgEUEMbGoiCUEIaigCADYCACAIIAkpAgA3A0AgACADaiIOIAxPDQIgCEHQAGoiCUEIaiABIA5BDGxqIgFBCGooAgA2AgAgCCABKQIANwNQIAhBMGogCEFAayAJIBMgCBD3AQJAAkAgDCAPaiIWIAxLBEAgDK0iLEIghiItIDCEIS8gCCgCGCIJIAgoAhBGBEAgCEEQaiAJELgGIAgoAhghCQsgCCgCFCIBIAlBA3RqIC83AgAgCCAJQQFqIgk2AhggFkEBayIWrSEvIAwgFkkEQCAtQoCAgIAQfCEtA0AgLCAthCExICxCAXwhLCAIKAIQIAlGBEAgCEEQaiAJELgGIAgoAhghCSAIKAIUIQELIAEgCUEDdGogMTcCACAIIAlBAWoiCTYCGCAtQoCAgIAQfCEtICwgL1INAAsLIA6tQiCGIC+EISwgCSAIKAIQRg0BDAILIA6tQiCGIDCEISwgCCgCGCIJIAgoAhBHDQELIAhBEGogCRC4BiAIKAIYIQkLIAgoAhQgCUEDdGogLDcCACAIIAlBAWo2AhggDSADQQFqIgNHDQEMAwsLIBEgDEHMjsMAEMMIAAsgDiAMQdyOwwAQwwgACyArIC5SDQALIAAgDWohAAsgC0EBaiELIBQgBEEIaiIERw0ACwsgECAIKQMANwIAIBAgCCkDEDcCDCAQQQhqIAhBCGooAgA2AgAgEEEUaiAIQRhqKAIANgIAIAhB4ABqJAAMAQsgCyABQaCMwwAQwwgACyAHQZwBaigCACEDIAdBmAFqKAIAIQAgBygClAEhBCAHKAKIASEIIAcoApABIQkgBygCjAEhASAHQYCAgPwDNgIwIAdCgICA/IOAgMA/NwMoIBBBCGogBkEIaikCADcDACAHIAYpAgA3A4gBIAIgASAJIAAgAyAFIAdBKGogEBCuAiAEBEAgABC1AQsgCEUNBCABELUBDAQLIAdBiAFqIgQgBygCJCIDQQBBABCEAiAHQgA3A9gBIAcgAzYC4AEgB0EoaiIDIARB3AAQ5AwaIAQgA0HcABDkDBogBygCiAEhCCAHQbgCaiIDQSBqIgwgB0GsAWooAgA2AgAgA0EYaiIQIAdBpAFqKQIANwMAIANBEGoiDiAHQZwBaikCADcDACADQQhqIg0gBEEMaikCADcDACAHQQA2AogBIAcgBykCjAE3A7gCIAdBtAFqIQogBEEEciELIAMhBCAIQQFHDQFBAQwCCwJAAkADQCADKAIAIgkgDSgCACIETw0BIANBBGooAgAiCyAETw0CIANBCGooAgAiDCAESQRAIAogESgCACIQIAtBDGxqIhMpAgA3AgAgB0GIAWoiBEEIaiILIBAgCUEMbGoiFEEIaigCADYCACAKQQhqIBNBCGooAgA2AgAgCCAQIAxBDGxqIgkpAgA3AgAgCEEIaiAJQQhqKAIANgIAIAdBKGoiCUEIaiIMIAspAwA3AwAgCUEQaiIQIARBEGoiEykDADcDACAJQRhqIg8gCCkDADcDACAJQSBqIgkgBEEgaiISKAIANgIAIAcgFCkCADcDKCASIAkoAgA2AgAgCCAPKQMANwMAIBMgECkDADcDACALIAwpAwA3AwAgByAHKQMoNwOIASAHQbgCaiIJQRBqIAFBEGooAgA2AgAgCUEIaiABQQhqKQIANwMAIAcgASkCADcDuAIgB0HoAWoiC0EIaiAGQQhqKQIANwMAIAcgBikCADcD6AEgACAJIAIgBEHoqsAAIAUgCxAsIA4gA0EMaiIDRg0GDAELCyAMIARB7JrAABDDCAALIAkgBEHMmsAAEMMIAAsgCyAEQdyawAAQwwgAC0EACyEIA0AgCARAIAdB6AFqIghBIGogBEEgaigCACIJNgIAIAhBGGogBEEYaikCACIrNwMAIAhBEGogBEEQaikCACIsNwMAIAhBCGogBEEIaikCACItNwMAIAcgBCkCACIuNwPoASAMIAk2AgAgECArNwMAIA4gLDcDACANIC03AwAgByAuNwO4AiAHQZACaiIIQRBqIAFBEGooAgA2AgAgCEEIaiABQQhqKQIANwMAIAcgASkCADcDkAIgB0GoAmoiCUEIaiAGQQhqKQIANwMAIAcgBikCADcDqAIgACAIIAIgB0G4AmpB6KrAACAFIAkQLCAMIAtBIGooAgA2AgAgECALQRhqKQIANwMAIA4gC0EQaikCADcDACANIAtBCGopAgA3AwAgB0EANgKIASAHIAspAgA3A7gCQQAhCAwBBSAHKALgASIJQQxqIRECfwNAIAcoArABIQggB0EANgKwASAKIAhBAUYNARogByAHKALYAUEBaiIENgLYASAHKALcASEIIAdBiAFqIRMgESgCAEEBayAETQRAIAggCUEQaigCAEECa08NBSAHQQA2AtgBIAcgCEEBaiIINgLcAUEAIQQLIBMgCSAEIAgQhAIgDSALQQhqKQIANwMAIA4gC0EQaikCADcDACAQIAtBGGopAgA3AwAgDCALQSBqKAIANgIAIAcoAogBIQQgB0EANgKIASAHIAspAgA3A7gCIARBAUcNAAsgAwshBEEBIQgMAQsACwALIAdB4AJqJAAL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ACAJQZgDakIANwMAIAlBoANqQgA3AwAgCUGoA2pCADcDACAJQbADakIANwMAIAlBtgNqQgA3AQAgCUHIA2pCADcDACAJQdADakIANwMAIAlB2ANqQgA3AwAgCUHgA2pCADcDACAJQegDakIANwMAIAlB8ANqQgA3AwAgCUH4A2pCADcDACAJQf4DakIANwEAIAlC////+////7//ADcD+AIgCUL////7////v/8ANwPAAyAJQcYEakIANwEAIAlBwARqQgA3AwAgCUG4BGpCADcDACAJQbAEakIANwMAIAlBqARqQgA3AwAgCUGgBGpCADcDACAJQZgEakIANwMAIAlBkARqQgA3AwAgCUGOBWpCADcBACAJQYgFakIANwMAIAlBgAVqQgA3AwAgCUH4BGpCADcDACAJQfAEakIANwMAIAlB6ARqQgA3AwAgCUHgBGpCADcDACAJQdgEakIANwMAIAlC////+////7//ADcDiAQgCUL////7////v/8ANwPQBCAJQv////v///+//wA3A5gFIAlB1gVqQgA3AQAgCUHQBWpCADcDACAJQcgFakIANwMAIAlBwAVqQgA3AwAgCUG4BWpCADcDACAJQbAFakIANwMAIAlBqAVqQgA3AwAgCUGgBWpCADcDACAJQv////v///+//wA3A+AFIAlBngZqQgA3AQAgCUGYBmpCADcDACAJQZAGakIANwMAIAlBiAZqQgA3AwAgCUGABmpCADcDACAJQfgFakIANwMAIAlB8AVqQgA3AwAgCUHoBWpCADcDACAJQv////v///+//wA3A6gGIAlB5gZqQgA3AQAgCUHgBmpCADcDACAJQdgGakIANwMAIAlB0AZqQgA3AwAgCUHIBmpCADcDACAJQcAGakIANwMAIAlBuAZqQgA3AwAgCUGwBmpCADcDACAJQv////v///+//wA3A/AGIAlBrgdqQgA3AQAgCUGoB2pCADcDACAJQaAHakIANwMAIAlBmAdqQgA3AwAgCUGQB2pCADcDACAJQYgHakIANwMAIAlBgAdqQgA3AwAgCUH4BmpCADcDACAJQv////v///+//wA3A7gHIAlB9gdqQgA3AQAgCUHwB2pCADcDACAJQegHakIANwMAIAlB4AdqQgA3AwAgCUHYB2pCADcDACAJQdAHakIANwMAIAlByAdqQgA3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L0L////7////v/8ANwPoASAvQv////v///+//wA3A6ACIC9C////+////7//ADcD2AIgL0GMA2pBADYCACAvQYQDakIANwIAIC9B/AJqQgA3AgAgL0H0AmpCADcCACAvQagDakF/NgIAIC9BmANqQgA3AwAgL0GgA2pC/////w83AwAgL0GsA2pCADcCACAvQbQDakIANwIAIC9BvANqQgA3AgAgL0HEA2pBADYCACAvQeADakF/NgIAIC9B0ANqQgA3AwAgL0HYA2pC/////w83AwAgL0HkA2pCADcCACAvQewDakIANwIAIC9B9ANqQgA3AgAgL0H8A2pBADYCACAvQv////v///+//wA3A5ADIC9C////+////7//ADcDyAMgL0GYBGpBfzYCACAvQZAEakL/////DzcDACAvQYgEakIANwMAIC9BtARqQQA2AgAgL0GsBGpCADcCACAvQaQEakIANwIAIC9BnARqQgA3AgAgL0HIBGpC/////w83AwAgL0HABGpCADcDACAvQdAEakF/NgIAIC9B7ARqQQA2AgAgL0HkBGpCADcCACAvQdwEakIANwIAIC9B1ARqQgA3AgAgL0GABWpC/////w83AwAgL0H4BGpCADcDACAvQYgFakF/NgIAIC9C////+////7//ADcDgAQgL0L////7////v/8ANwO4BCAvQv////v///+//wA3A/AEIC9BpAVqQQA2AgAgL0GcBWpCADcCACAvQZQFakIANwIAIC9BjAVqQgA3AgAgL0HABWpBfzYCACAvQbgFakL/////DzcDACAvQbAFakIANwMAIC9C////+////7//ADcDqAUgL0HcBWpBADYCACAvQdQFakIANwIAIC9BzAVqQgA3AgAgL0HEBWpCADcCACAvQfgFakF/NgIAIC9B8AVqQv////8PNwMAIC9B6AVqQgA3AwAgL0L////7////v/8ANwPgBSAvQZQGakEANgIAIC9BjAZqQgA3AgAgL0GEBmpCADcCACAvQfwFakIANwIAIC9BsAZqQX82AgAgL0GoBmpC/////w83AwAgL0GgBmpCADcDACAvQv////v///+//wA3A5gGIC9BzAZqQQA2AgAgL0HEBmpCADcCACAvQbwGakIANwIAIC9BtAZqQgA3AgAgL0HoBmpBfzYCACAvQeAGakL/////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BEAgByEGDAELIAkgACgCCCAPIgZrSwRAIABBCGogDyAJEK0GIABBEGooAgAhBgsgAEEMaigCACAGQQN0aiEDIAlBAk8EQCAJQQFrIgxBB3EhAiAJQQJrQQdPBEAgDEF4cSEIA0AgA0L////79/////8ANwIAIANBOGpC////+/f/////ADcCACADQTBqQv////v3/////wA3AgAgA0EoakL////79/////8ANwIAIANBIGpC////+/f/////ADcCACADQRhqQv////v3/////wA3AgAgA0EQakL////79/////8ANwIAIANBCGpC////+/f/////ADcCACADQUBrIQMgCEEIayIIDQALCyACBEADQCADQv////v3/////wA3AgAgA0EIaiEDIAJBAWsiAg0ACwsgBiAJakEBayEGCyAJBEAgA0L////79/////8ANwIAIAZBAWohBgsgAEEcaigCACEJCyAKIAY2AgAgCQRAIA9BAmshBiAHQQJrIQMgAEEYaigCACIMIAlBDGxqIQ4gAEEQaiEKAkACQANAAkACQCAKKAIAIgkgBksEQCAOQQxrIQ4gBkEDdCECIANBA3QhCANAIABBDGooAgAiByACaiIPKgIAIh8gDioCACIeXw0CIAMgCU8NAyAHIAhqIgdBBGogD0EEaigCADYCACAHIB84AgAgAkEIayECIAhBCGshCCADQQFrIQMgBkEBayIGIAooAgAiCUkNAAsLIAYgCUH01sEAEMMIAAsgAyAJTw0CIAcgCGoiAkEEaiAOQQRqKAIANgIAIAIgHjgCACAOQQhqIAM2AgAgA0EBayEDIAwgDkcNAQwDCwsgAyAJQZTXwQAQwwgACyADIAlBhNfBABDDCAALIABBEGooAgAhBgsgBkEBayEIAkAgBgRAIAVFDQIgAEEMaigCACEMIABBHGoiAygCACECIANBADYCACACQQxsIQMgAEEYaigCACEKIARBDGooAgAhEQJAAkACQCABQQNPBEADQCADRQ0HIANBDGshAyAKKAIEIQAgCkEMaiEKIABBAE4NAAsgESAAQf////8HcSIHSw0BDAULIAMgCmohDyAEQQhqKAIAIQkgBkEDdEEQayEEIAFBAnQhBgNAIAogD0YNBiAKIgBBDGohCiAAKAIEIgFBAE4NACARIAFB/////wdxIgdNDQUgACgCCCICQQFqIgMgCEsNAiADIAhGDQAgACoCACEfIAkgB0EsbGoiEEEMaiIBIAZqKgIAIR4gBCACQQN0ayECIAwgA0EDdGohAwNAAkAgA0EEaigCACIAQf////8HcSIOIAdGDQAgDiARTw0FIAkgDkEsbGohDQJAIABBAE4EQCAGIA1qKgIAIB9fDQEMAgsgAyoCACAeXUUNAQsgECoCACANKgIMX0UNACAQQQRqKgIAIA1BEGoqAgBfRQ0AIBBBCGoqAgAgDUEUaioCAF9FDQAgASoCACANKgIAYEUNACAQQRBqKgIAIA1BBGoqAgBgRQ0AIBBBFGoqAgAgDUEIaioCAGBFDQAgBSAHIA4gByAOSRsgByAOIAcgDksbQQEQwgELIANBCGohAyACQQhrIgINAAsMAAsAC0G8/MAAQRtBxNfBABC4CwALIAMgCEHU18EAEMoMAAsgDiARQeTXwQAQwwgACyAIQQBBpNfBABDLDAALIAcgEUG018EAEMMIAAsgC0FAayQAC/4dAxF/Fn0CfiMAQcACayIMJAAgDCAHNgIMIAwgATgCCCAMIAo2AhAgDCALNgIUIAwgAEEMaioCAEMAAIA/IAgqAgQgAEEIaigCABuUQ83MjD+UIgE4AhwgDEEANgIoIAxCgICAgMAANwMgIAxBMGogBSAHIAYoAogBEQEAIAFDAAAAAGAEQCAMQQA6ABsgDEFAayoCACEfIAxBxABqKgIAISMgDCoCMCEgIAwqAjQhHiAMKgI4ISIgDCoCPCEdIAwgAjYCQCAMIAk2AjwgDCADNgI4IAwgCDYCYCAMIAA2AlwgDCAGNgI0IAwgBTYCMCAMIAxBuAJqNgJMIAwgDEEMajYCSCAMIAxBIGo2AkQgDCAMQQhqNgJoIAwgDEEbajYCZCAMIAxBFGo2AlggDCAMQRBqNgJUIAwgDEEcajYCUCAMIAEgI5I4AqQCIAwgASAfkjgCoAIgDCABIB2SOAKcAiAMICIgAZM4ApgCIAwgHiABkzgClAIgDCAgIAGTOAKQAiAMQfAAaiAMQZACahCKBiAMIAxBMGo2AtABIAxBADYC6AEgDEKAgICAwAA3A+ABAkAgBEEoaigCACIKRQ0AIAxB4AFqQQAQtgYgDCgC5AEgDCgC6AEiAEECdGpBADYCACAAQQFqIgBFDQAgBEHIAGooAgAhDyAEQcwAaigCACEQIARBJGooAgAhFwNAIAwgAEEBayILNgLoAQJAAkAgDCgC5AEgC0ECdGooAgAiACAKSQRAIBcgAEEHdGoiCC0AeEEBcUUNASAIQeQAaigCACEAIAhB6ABqKAIAIQIgCEHsAGooAgAhAyAIKAJgIQQgDEHwAWogCCAMQfAAahDkAiAMIA8gBEEEdGpBACAEIBBJGyIEQQhqQQAgBBs2AoACIAwgDyADQQR0akEAIAMgEEkbIgNBCGpBACADGzYCjAIgDCAPIAJBBHRqQQAgAiAQSRsiAkEIakEAIAIbNgKIAiAMIA8gAEEEdGpBACAAIBBJGyIAQQhqQQAgABs2AoQCIAwtAPMBQQN0QQhxIAwtAPIBQQJ0QQRxIAwtAPEBQQF0QQJxIAwtAPABQQFxcnJyrSE0QgAhMwNAAkAgNCAziEIBg1ANACAMQYACaiAzp0ECdGooAgAiAkUNACAMKALQASIDKAIIIgRBMGooAgAiBSACKAIAIgBNDQAgBEEsaigCACAAQagBbGpBACAAIAVJGyIFKAIAQQFHDQAgAkEEaigCACICIAUoAgRHDQAgAygCDCADKAIQIgRBIGoiESgCACAEQSRqIhIoAgAgACACIAVBCGoQzgNFDQAgAygCFCIGQQhqIgIoAgAhACACQQA2AgAgBkEEaiEEIAAEQCAAQagBbCEHIAQoAgBBhAFqIQADQCAAQSRrKAIABEAgAEEgaygCABC1AQsgAEEEaygCAARAIAAoAgAQtQELIABBqAFqIQAgB0GoAWsiBw0ACwsgDCADKAIYIhMoAgAiAEEIaioCACIBIAVB3ABqIhgqAgAiHpQgAEEEaioCACIfIAVB2ABqIhkqAgAiIpQgACoCACIjIAVB1ABqKgIAIh2UIAAqAgwiICAFQeAAaioCACIklJKSkjgCnAIgDCAfIB2UICAgHpQgIyAilJOSIAEgJJSTOAKYAiAMICAgIpQgIyAelJIgHyAklJMgASAdlJM4ApQCIAwgASAilCAgIB2UICMgJJSTIB8gHpSTkjgCkAIgHyAFQeQAaioCACAAKgIQkyIdlCAjIAVB6ABqKgIAIABBFGoqAgCTIiSUkyIeIB6SIR4gASAklCAfIAVB7ABqKgIAIABBGGoqAgCTIiGUkyIiICKSISIgDCAhICAgHpQgHyAilCAjICMgIZQgASAdlJMiISAhkiIhlJOSkjgCqAIgDCAkICAgIZQgIyAelCABICKUk5KSOAKkAiAMIB0gICAilCABICGUIB8gHpSTkpI4AqACIAMoAgQhACADKAIAIQcgAygCHCEJIAwgBUEYaiINKAIEIg42AgQgDCANKAIAIA4oAghBB2pBeHFqNgIAIAMoAiAiGioCACEBIAwoAgQhDSAMKAIAIQ4gDEEANgKwAiAJIAxBkAJqIAcgACAOIA0gASAGIAxBsAJqEC8aAkAgDCgCsAIiAEUNACAAIAwoArQCKAIAEQcAIAwoArQCIgBBBGooAgBFDQAgAEEIaigCABogDCgCsAIQtQELAkAgAygCJCgCACINBEAgAygCKCgCACIJDQELIAIoAgBBqAFsIQAgBCgCACEHIAMoAjAhAiADKAIsIQQDQCAARQ0CIABBqAFrIQAgBCAHIBMoAgAgAkEEaioCABDmBCEFIAdBqAFqIQcgBUUNAAsgAygCNEEBOgAADAcLIA1BCGohDiANQQRqIRQCQCAFQShqKAIARQRAQQAhAAwBC0EAIQAgBUEsaigCACIGIBIoAgAiB08NACARKAIAIAZB6AJsakEAIAYgB0kbIgYoAgBBAUcNACAGKAIEIAVBMGooAgBHDQAgBkEIakEAIAZB4QJqLQAAQQFLGyEACyAOKgIAISwgFCoCACEtIA0qAgAhLgJAIAIoAgAiAkUNACACQagBbCEHIAQoAgAhAiADKAI0IREgAygCMCESIAMoAiwhFSAABEAgAiAHaiEbIAMoAjghFgNAIBUgAiIDIBMoAgAgEkEEaioCABDmBARAIBFBAToAAAsgA0GoAWohAgJAIANB6ABqKAIAIgZFDQAgEygCACIEQQxqKgIAISMgA0HIAGoqAgAiJCAEQQRqKgIAIh+UIANBxABqKgIAIiEgBEEIaioCACIglJMiASABkiEeICEgBCoCACIilCADKgJAIgEgH5STIh0gHZIhHSABICMgHpQgHyAdlCAgIAEgIJQgJCAilJMiASABkiIllJOSkiEBICQgIyAdlCAiICWUIB8gHpSTkpIhHyAhICMgJZQgICAelCAiIB2Uk5KSIimMISMgBkEwbCEGIANB5ABqKAIAQRhqIQdDAAAAACEgQQAhBEMAAAAAIR5DAAAAACEiA0AgByoCACAaKgIAXwRAIAdBBGsqAgAiKCAZKgIAIh2UIAdBCGsqAgAiKiAYKgIAIiSUkyIhICGSISEgKiAFKgJUIiWUIAdBDGsqAgAiJiAdlJMiJyAnkiEnIBYqAgAgBSoCZCAmIAUqAmAiKyAhlCAdICeUICQgJiAklCAoICWUkyImICaSIiaUk5KSkiIvIAAqAtgBkyIwIABBhAFqKgIAIjGUIAUqAmwgKCArICeUICUgJpQgHSAhlJOSkpIiKCAAKgLgAZMiHSAAKgJ8IjKUkyAAKgJ0kiAjlCABIB0gAEGAAWoqAgAiHZQgBSoCaCAqICsgJpQgJCAhlCAlICeUk5KSkiIkIAAqAtwBkyIhIDGUkyAAKgJwkpSTIB8gISAylCAwIB2UkyAAKgJ4kpSTlCAJQQRqIgMqAgAiISAjlCABIAkqAgAiJZSTIB8gCUEIaiIcKgIAIieUk5MhHSAcICcgHyAdlJM4AgAgAyAhICkgHZSTOAIAIAkgJSABIB2UkzgCACAgIC+SISAgIiAokiEiIB4gJJIhHiAEQQFqIQQLIAdBMGohByAGQTBrIgYNAAsgBEEATA0AIB4gBLIiHpUgACoC3AGTIh0gACoCfCIklCAgIB6VIAAqAtgBkyIgIABBgAFqKgIAIiGUkyAAKgJ4kiIlIB8gICAAQYQBaioCACIglCAiIB6VIAAqAuABkyIeICSUkyAAKgJ0kiIiICOUIAEgHiAhlCAdICCUkyAAKgJwkiIelJMgHyAllJMiH5SSIR0gFioCACIjICIgKSAflJKUISAgIyAeIAEgH5SSlCIBiyANKgIAi14EQCANIAE4AgALICMgHZQhASAgiyAUKgIAi14EQCAUICA4AgALIAGLIA4qAgCLXkUNACAOIAE4AgALIAIgG0cNAAsMAQsDQCAVIAIgEygCACASQQRqKgIAEOYEBEAgEUEBOgAACyACQagBaiECIAdBqAFrIgcNAAsLIA4qAgAhASAUKgIAIR8gCSANKgIAIC6TIAkqAgCSOAIAIAkgHyAtkyAJKgIEkjgCBCAJIAEgLJMgCSoCCJI4AggLIDNCAXwiM0IEUg0ACwwCCyAAIApBvNvAABDDCAALIAxB8AFqIAggDEHwAGoQ5AILIAwtAPABIgJBAkYNASAIQfgAaiEAIAwtAPMBQQN0QQhxIAwtAPIBQQJ0QQRxIAJBAXEiAiAMLQDxAUEBdEECcXJyciIDrSEzAkAgAkUNACAALQAAQQFxDQAgCCgCYCICIApLDQAgDCgC4AEgC0YEQCAMQeABaiALELYGIAwoAugBIQsLIAwoAuQBIAtBAnRqIAI2AgAgDCALQQFqNgLoAQsCQCAzQgKDUA0AIAAtAABBAXENACAIQeQAaigCACICIApLDQAgDCgC6AEiByAMKALgAUYEQCAMQeABaiAHELYGIAwoAugBIQcLIAwoAuQBIAdBAnRqIAI2AgAgDCAHQQFqNgLoAQsCQCAzQgSDUA0AIAAtAABBAXENACAIQegAaigCACICIApLDQAgDCgC6AEiByAMKALgAUYEQCAMQeABaiAHELYGIAwoAugBIQcLIAwoAuQBIAdBAnRqIAI2AgAgDCAHQQFqNgLoAQsCQCADQQhJDQAgAC0AAEEBcQ0AIAhB7ABqKAIAIgIgCksNACAMKALoASIAIAwoAuABRgRAIAxB4AFqIAAQtgYgDCgC6AEhAAsgDCgC5AEgAEECdGogAjYCACAMIABBAWoiADYC6AEgAA0BDAILIAwoAugBIgANAAsLIAwoAuABBEAgDCgC5AEQtQELIAwoAigiAARAIABBqAFsIQcgDCgCJEGEAWohAANAIABBJGsoAgAEQCAAQSBrKAIAELUBCyAAQQRrKAIABEAgACgCABC1AQsgAEGoAWohACAHQagBayIHDQALCyAMKAIgBEAgDCgCJBC1AQsgDC0AGyEAIAxBwAJqJAAgAA8LIAxB8ABqIgBBDGpBATYCACAMQYQBakEANgIAIAxBwL/AADYCeCAMQZi/wAA2AoABIAxBADYCcCAAQbTAwAAQ0woAC4s/AxN/Rn0EfiMAQYABayIFJAACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCvAEOBA4VAAECCyAFQUBrIgRBCGogAUEYaigCADYCACAEQRRqIAFBPGooAgA2AgAgBEEgaiABQeAAaigCADYCACAFIAEpAhA3A0AgBSABQTRqIgcpAgA3AkwgBSABQdgAaiIDKQIANwNYIAVBADYCeCAFQgA3A3AgBUEYaiIGIAQgBUHwAGpBARBCIAVBEGoiCSAGQQhqKQMANwMAIAUgBSkDGDcDCCABQRBqIQQgBkEUaigCACECIAZBGGoqAgAhFSAFQTRqKgIAIRYgBSgCKA4DDg8QGQsgBUFAayIDQQhqIAFBGGooAgA2AgAgA0EUaiIKIAFBPGooAgA2AgAgA0EgaiIMIAFB4ABqKAIANgIAIAVB7ABqIAFBhAFqKAIANgIAIAUgASkCEDcDQCAFIAFBNGoiBykCADcCTCAFIAFB2ABqIgQpAgA3A1ggBSABQfwAaiIJKQIANwJkIAVBADYCeCAFQgA3A3AgBUEYaiILIQIjAEEgayIGJAAgAyoCJCJBIAMqAgAiLZMiLiAFQfAAaiIIKgIAIhwgLZMiFZQgA0EoaioCACJCIAMqAgQiL5MiMCAIKgIEIh0gL5MiFpSSIANBLGoqAgAiQyADKgIIIjGTIjIgCCoCCCIeIDGTIheUkiElIAMqAhgiOyAtkyIzIBWUIANBHGoqAgAiPCAvkyI0IBaUkiAMKgIAIj0gMZMiNSAXlJIhIgJAAkACQAJAAkACQAJAAkACQCADKgIMIjggLZMiISAVlCADQRBqKgIAIjkgL5MiKiAWlJIgCioCACI6IDGTIisgF5SSIixDAAAAAF9FDQAgIkMAAAAAX0UNACAlQwAAAABfDQELIEEgOJMiNiAcIDiTIhiUIEIgOZMiJiAdIDmTIhqUkiBDIDqTIicgHiA6kyIblJIhRiAhIBiUICogGpSSICsgG5SSISgCQCA7IDiTIjcgGJQgPCA5kyIpIBqUkiA9IDqTIiMgG5SSIkRDAAAAAF9FDQAgRkMAAAAAX0UNACAoQwAAAABgDQILIDcgHCA7kyIZlCApIB0gPJMiH5SSICMgHiA9kyIglJIhRyAzIBmUIDQgH5SSIDUgIJSSISQCQCBBIDuTIkwgGZQgQiA8kyJNIB+UkiBDID2TIk4gIJSSIk9DAAAAAF9FDQAgR0MAAAAAYEUNACAkQwAAAABgDQMLIDYgHCBBkyIclCAmIB0gQpMiHZSSICcgHiBDkyIelJIhVCBMIByUIE0gHZSSIE4gHpSSIVUCQCAuIByUIDAgHZSSIDIgHpSSIlBDAAAAAGBFDQAgVEMAAAAAYEUNACBVQwAAAABgDQQLICEgMJQgKiAulJMiSCAqIBWUICEgFpSTIj6UICogMpQgKyAwlJMiSSArIBaUICogF5STIj+UICsgLpQgISAylJMiSiAhIBeUICsgFZSTIkCUkpIhViAhIDSUICogM5STIksgPpQgKiA1lCArIDSUkyI+ID+UICsgM5QgISA1lJMiPyBAlJKSIVcgLCAokyIoQwAAAABbDQQgV0MAAAAAYEUNBCBWQwAAAABgRQ0EICxDAAAAAGBFDQQgKCAsYEUNBCACQgE3AhAgAkEAOgAMIAIgKyAsICiVIhWUIDGSOAIIIAIgKiAVlCAvkjgCBCACIC0gISAVlJI4AgAgAkMAAIA/IBWTvK0gFbytQiCGhDcCGAwFCyACQgA3AhAgAkEAOgAMIAIgAykCADcCACACQQhqIANBCGooAgA2AgAMBAsgAkKAgICAEDcCECACQQA6AAwgAiADQQxqIgMpAgA3AgAgAkEIaiADQQhqKAIANgIADAMLIAJCgICAgCA3AhAgAkEAOgAMIAIgA0EYaiIDKQIANwIAIAJBCGogA0EIaigCADYCAAwCCyACQoCAgIAwNwIQIAJBADoADCACIANBJGoiAykCADcCACACQQhqIANBCGooAgA2AgAMAQsgMyAwlCA0IC6UkyIsIDQgFZQgMyAWlJMiUZQgNCAylCA1IDCUkyIoIDUgFpQgNCAXlJMiUpQgNSAulCAzIDKUkyJAIDMgF5QgNSAVlJMiRZSSkiFYIEUgP4yUID4gUpSTIFEgS5STIVECQCAiICSTIiRDAAAAAFsNACBYQwAAAABgRQ0AIFFDAAAAAGBFDQAgIkMAAAAAYEUNACAiICRfRQ0AIAJCgYCAgBA3AhAgAkEAOgAMIAIgNSAiICSVIhWUIDGSOAIIIAIgNCAVlCAvkjgCBCACIC0gMyAVlJI4AgAgAkMAAIA/IBWTvK0gFbytQiCGhDcCGAwBCyAuIBeUIDIgFZSTIiIgQIyUICggMiAWlCAwIBeUkyIklJMgMCAVlCAuIBaUkyJFICyUkyFSICIgSoyUIEkgJJSTIEUgSJSTIUUCQCAlIFCTIiJDAAAAAFsNACBFQwAAAABgRQ0AIFJDAAAAAGBFDQAgJUMAAAAAYEUNACAiICVgRQ0AIAJCgYCAgCA3AhAgAkEAOgAMIAIgMiAlICKVIhWUIDGSOAIIIAIgMCAVlCAvkjgCBCACIC0gLiAVlJI4AgAgAkMAAIA/IBWTvK0gFbytQiCGhDcCGAwBCyA3ICaUICkgNpSTIiUgKSAYlCA3IBqUkyJTlCApICeUICMgJpSTIiIgIyAalCApIBuUkyJZlCAjIDaUIDcgJ5STIiQgNyAblCAjIBiUkyJalJKSIVAgSyBTlCA+IFmUID8gWpSSkiFTAkAgRCBHkyJHQwAAAABbDQAgU0MAAAAAYEUNACBQQwAAAABgRQ0AIERDAAAAAGBFDQAgRCBHX0UNACACQoGAgIAwNwIQIAJBADoADCACICMgRCBHlSIVlCA6kjgCCCACICkgFZQgOZI4AgQgAiA3IBWUIDiSOAIAIAJDAACAPyAVk7ytIBW8rUIghoQ3AhgMAQsgSCAmIBiUIDYgGpSTIimUIEkgJyAalCAmIBuUkyIjlCBKIDYgG5QgJyAYlJMiRJSSkiE3IEQgJIyUICIgI5STICkgJZSTISkCQCBGIFSTIiNDAAAAAFsNACApQwAAAABgRQ0AIDdDAAAAAGBFDQAgRkMAAAAAYEUNACAjIEZgRQ0AIAJCgYCAgMAANwIQIAJBADoADCACICcgRiAjlSIVlCA6kjgCCCACICYgFZQgOZI4AgQgAiA2IBWUIDiSOAIAIAJDAACAPyAVk7ytIBW8rUIghoQ3AhgMAQsgJSBNIBmUIEwgH5STIiaUICIgTiAflCBNICCUkyInlCAkIEwgIJQgTiAZlJMiI5SSkiE2ICwgJpQgKCAnlCBAICOUkpIhJgJAIE8gVZMiJ0MAAAAAWw0AICZDAAAAAGBFDQAgNkMAAAAAYEUNACBPQwAAAABgRQ0AICcgT2BFDQAgAkKBgICA0AA3AhAgAkEAOgAMIAIgTiBPICeVIhWUID2SOAIIIAIgTSAVlCA8kjgCBCACIEwgFZQgO5I4AgAgAkMAAIA/IBWTvK0gFbytQiCGhDcCGAwBCwJAIFdDAAAAAF1FDQAgU0MAAAAAXUUNACBRQwAAAABdRQ0AIAYgPzgCBCAGID44AgAgBiBLOAIIIC4gPpQgMCA/lJIgMiBLlJIgPiAVlCAWID+UkiAXIEuUkpRDAAAAAF1FDQAgBkEQaiAGENwIIAYoAhBFDQAgFiAblCAaIBeUkyAGKgIUIhyUIBggF5QgFSAblJMgBkEYaioCACIdlJIgFSAalCAYIBaUkyAGQRxqKgIAIh6UkiIhIBogIJQgHyAblJMgHJQgGSAblCAYICCUkyAdlJIgGCAflCAZIBqUkyAelJIiGCAfIBeUIBYgIJSTIByUIBUgIJQgGSAXlJMgHZSSIBkgFpQgFSAflJMgHpSSIhaSkiIVQwAAAABbDQIgAkICNwIQIAJBADoADCACICFDAACAPyAVlSIXlCIVOAIgIAIgFiAXlCIWOAIcIAIgGCAXlCIXOAIYIAIgFyAxlCAWIDqUkiAVID2UkjgCCCACIBcgL5QgFiA5lJIgFSA8lJI4AgQgAiAXIC2UIBYgOJSSIBUgO5SSOAIADAELAkAgRUMAAAAAXUUNACBWQwAAAABdRQ0AIDdDAAAAAF1FDQAgBiBKOAIEIAYgSTgCACAGIEg4AgggMyBJlCA0IEqUkiA1IEiUkiAVIEmUIBYgSpSSIBcgSJSSlEMAAAAAXUUNACAGQRBqIAYQ3AggBigCEEUNACAWIBuUIBogF5STIAYqAhQiGZQgGCAXlCAVIBuUkyAGQRhqKgIAIh+UkiAVIBqUIBggFpSTIAZBHGoqAgAiIJSSIiEgGiAelCAdIBuUkyAZlCAcIBuUIBggHpSTIB+UkiAYIB2UIBwgGpSTICCUkiIYIB0gF5QgFiAelJMgGZQgFSAelCAcIBeUkyAflJIgHCAWlCAVIB2UkyAglJIiFpKSIhVDAAAAAFsNAiACQoKAgIAQNwIQIAJBADoADCACICFDAACAPyAVlSIXlCIVOAIgIAIgFiAXlCIWOAIcIAIgGCAXlCIXOAIYIAIgFyAxlCAWIDqUkiAVIEOUkjgCCCACIBcgL5QgFiA5lJIgFSBClJI4AgQgAiAXIC2UIBYgOJSSIBUgQZSSOAIADAELAkAgWEMAAAAAXUUNACAmQwAAAABdRQ0AIFJDAAAAAF1FDQAgBiBAOAIEIAYgKDgCACAGICw4AgggISAolCAqIECUkiArICyUkiAVICiUIBYgQJSSIBcgLJSSlEMAAAAAXUUNACAGQRBqIAYQ3AggBigCEEUNACAWICCUIB8gF5STIAYqAhQiGJQgGSAXlCAVICCUkyAGQRhqKgIAIhqUkiAVIB+UIBkgFpSTIAZBHGoqAgAiG5SSIiEgHyAelCAdICCUkyAYlCAcICCUIBkgHpSTIBqUkiAZIB2UIBwgH5STIBuUkiIZIB0gF5QgFiAelJMgGJQgFSAelCAcIBeUkyAalJIgHCAWlCAVIB2UkyAblJIiFpKSIhVDAAAAAFsNAiACQoKAgIAgNwIQIAJBADoADCACICFDAACAPyAVlSIXlCIVOAIgIAIgFiAXlCIWOAIcIAIgGSAXlCIXOAIYIAIgFyAxlCAWID2UkiAVIEOUkjgCCCACIBcgL5QgFiA8lJIgFSBClJI4AgQgAiAXIC2UIBYgO5SSIBUgQZSSOAIADAELAkACQCBQQwAAAABdRQ0AIDZDAAAAAF1FDQAgKUMAAAAAXUUNACAGICQ4AgQgBiAiOAIAIAYgJTgCCCAkICqMlCAhICKUkyArICWUkyAYICKUIBogJJSSIBsgJZSSlEMAAAAAXUUNACAGQRBqIAYQ3AggBigCEEUNACAaICCUIB8gG5STIAYqAhQiFZQgGSAblCAYICCUkyAGQRhqKgIAIhaUkiAYIB+UIBkgGpSTIAZBHGoqAgAiF5SSIiEgHyAelCAdICCUkyAVlCAcICCUIBkgHpSTIBaUkiAZIB2UIBwgH5STIBeUkiIZIB0gG5QgGiAelJMgFZQgGCAelCAcIBuUkyAWlJIgHCAalCAYIB2UkyAXlJIiFpKSIhVDAAAAAFsNASACQoKAgIAwNwIQIAJBADoADCACICFDAACAPyAVlSIXlCIVOAIgIAIgFiAXlCIWOAIcIAIgGSAXlCIXOAIYIAIgFyA6lCAWID2UkiAVIEOUkjgCCCACIBcgOZQgFiA8lJIgFSBClJI4AgQgAiAXIDiUIBYgO5SSIBUgQZSSOAIADAILIAJBAzYCECACQQE6AAwgAiAIKQIANwIAIAJBCGogCEEIaigCADYCAAwBCwwBCyAGQSBqJAAMAQtBuK7CAEEdQcyvwgAQ2QkACyAFQRBqIgwgC0EIaikDADcDACAFIAUpAxg3AwggAUEQaiEDIAtBFGooAgAhAiALQRhqKgIAIRUgBUE0aioCACEXIAUoAigiDQ4DAQIDHQtBlKPCAEEfQbSjwgAQ2QkACyACQQRPDRIgBUFAayIEQSBqIgcgA0EgaiIGKAIANgIAIARBGGoiCSADQRhqIggpAgA3AwAgBEEQaiILIANBEGoiCikCADcDACAEQQhqIg4gA0EIaiIPKQIANwMAIAMgAkEkbGoiBEEgaiIQKAIAIREgBEEYaiISKQIAIVsgBEEQaiITKQIAIVwgBEEIaiIUKQIAIV0gAykCACFeIAMgBCkCADcCACAPIF03AgAgCiBcNwIAIAggWzcCACAGIBE2AgAgBSBeNwNAIAQgBSkDQDcCACAUIA4pAwA3AgAgEyALKQMANwIAIBIgCSkDADcCACAQIAcoAgA2AgAgASgCACEEIAEgASACQQJ0aiIDKAIANgIAIAMgBDYCACABQYCAgPwDNgKwAQwaCyACDgYYAgMEBQYBCyAFQThqKgIAIRYgFyEYAkACQAJ/AkACQAJAIAIOBAUEAQIAC0GQjsIAQShBxKPCABDZCQALIBYhGCAHDAELIBUhGCAWIRUgAwshBCAXIRYLIAQgCSkCADcCACAEQSBqIAlBIGooAgA2AgAgBEEYaiAJQRhqKQIANwIAIARBEGogCUEQaikCADcCACAEQQhqIAlBCGopAgA3AgAgGCEXCyABIBU4ArABIAFBuAFqIBY4AgAgAUG0AWogFzgCAAwYC0GQjsIAQShB1KPCABDZCQALIAcpAgAhWyAHIAQpAgA3AgAgBUFAayIDQSBqIgIgB0EgaiIGKAIANgIAIANBGGoiCSAHQRhqIggpAgA3AwAgA0EQaiILIAdBEGoiCikCADcDACADQQhqIgMgB0EIaiIHKQIANwMAIAcgBEEIaiIHKQIANwIAIAogBEEQaiIKKQIANwIAIAggBEEYaiIIKQIANwIAIAYgBEEgaiIGKAIANgIAIAUgWzcDQCAEIAUpA0A3AgAgBiACKAIANgIAIAggCSkDADcCACAKIAspAwA3AgAgByADKQMANwIAQQIMBQsgBykCACFbIAcgCSkCADcCACAFQUBrIgRBIGoiAyAHQSBqIgIoAgA2AgAgBEEYaiIGIAdBGGoiCCkCADcDACAEQRBqIgsgB0EQaiIKKQIANwMAIARBCGoiBCAHQQhqIgcpAgA3AwAgByAJQQhqIgcpAgA3AgAgCiAJQRBqIgopAgA3AgAgCCAJQRhqIggpAgA3AgAgAiAJQSBqIgIoAgA2AgAgBSBbNwNAIAkgBSkDQDcCACACIAMoAgA2AgAgCCAGKQMANwIAIAogCykDADcCACAHIAQpAwA3AgAMAwsgAykCACFbIAMgBCkCADcCACAFQUBrIgdBIGoiAiADQSBqIgYoAgA2AgAgB0EYaiIJIANBGGoiCCkCADcDACAHQRBqIgsgA0EQaiIKKQIANwMAIAdBCGoiByADQQhqIgMpAgA3AwAgAyAEQQhqIgMpAgA3AgAgCiAEQRBqIgopAgA3AgAgCCAEQRhqIggpAgA3AgAgBiAEQSBqIgYoAgA2AgAgBSBbNwNAIAQgBSkDQDcCACAGIAIoAgA2AgAgCCAJKQMANwIAIAogCykDADcCACADIAcpAwA3AgBBAiEEDBELIAMpAgAhWyADIAkpAgA3AgAgBUFAayIEQSBqIgcgA0EgaiICKAIANgIAIARBGGoiBiADQRhqIggpAgA3AwAgBEEQaiILIANBEGoiCikCADcDACAEQQhqIgQgA0EIaiIDKQIANwMAIAMgCUEIaiIDKQIANwIAIAogCUEQaiIKKQIANwIAIAggCUEYaiIIKQIANwIAIAIgCUEgaiICKAIANgIAIAUgWzcDQCAJIAUpA0A3AgAgAiAHKAIANgIAIAggBikDADcCACAKIAspAwA3AgAgAyAEKQMANwIAQQMhBAwQCyADKQIAIVsgAyAEKQIANwIAIAVBQGsiAkEgaiIGIANBIGoiCigCADYCACACQRhqIgggA0EYaiIOKQIANwMAIAJBEGoiCyADQRBqIg8pAgA3AwAgAkEIaiICIANBCGoiAykCADcDACADIARBCGoiAykCADcCACAPIARBEGoiDykCADcCACAOIARBGGoiDikCADcCACAKIARBIGoiCigCADYCACAFIFs3A0AgBCAFKQNANwIAIAogBigCADYCACAOIAgpAwA3AgAgDyALKQMANwIAIAMgAikDADcCACABKAIIIQQgASABKAIANgIIIAEgBDYCACAGIAdBIGoiBCgCADYCACAIIAdBGGoiAykCADcDACALIAdBEGoiCikCADcDACACIAdBCGoiDikCADcDACAHKQIAIVsgByAJKQIANwIAIA4gCUEIaiIHKQIANwIAIAogCUEQaiIKKQIANwIAIAMgCUEYaiIDKQIANwIAIAQgCUEgaiIEKAIANgIAIAUgWzcDQCAJIAUpA0A3AgAgBCAGKAIANgIAIAMgCCkDADcCACAKIAspAwA3AgAgByACKQMANwIAC0EDCyEEIBUhFiABQQRqDA4LIAFBgICA/AM2ArABIAAgASkCEDcCACAAQQhqIAFBGGooAgA2AgAMEQsgAkEETw0HIAVBQGsiA0EgaiIHIARBIGoiBigCADYCACADQRhqIgggBEEYaiILKQIANwMAIANBEGoiDCAEQRBqIg0pAgA3AwAgA0EIaiIKIARBCGoiDikC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IQEMAQsgAkEgaiIFQQhqIAJBkAJqIgNBEGoiBCkDADcDACAFQRBqIAJBqAJqIgUpAwA3AwAgAiADQQhqIgopAwA3AyAgAigClAIhDSADIAEQxgUgAigCkAIEQCACKAKUAiEBDAELIAJBOGoiA0EIaiAEKQMANwMAIANBEGogBSkDADcDACACIAopAwA3AzggASgCBCIFRQRAIAJCgcoANwOQAiACQZACahCJCyEBDAELIAIoApQCIQ4gASAFQQFrIgQ2AgQgASABKAIAIgNBAWo2AgAgBEUEQCACQoHKADcDkAIgAkGQAmoQiQshAQwBCyADLQAAIQ8gASAFQQJrIgQ2AgQgASADQQJqNgIAIARFBEAgAkKBygA3A5ACIAJBkAJqEIkLIQEMAQsgAy0AASEQIAEgBUEDayIENgIEIAEgA0EDajYCACAERQRAIAJCgcoANwOQAiACQZACahCJCyEBDAELIAMtAAIhESABIAVBBGsiBDYCBCABIANBBGo2AgAgBEEDTQRAIAJBADoAkwIgAkElOwCRAiACQQA2ApQCIAJBAToAkAIgAkGQAmoQiQshAQwBCyADLQADIRIgASAFQQhrIgQ2AgQgASADQQhqNgIAIARBA00EQCACQQA6AJMCIAJBJTsAkQIgAkEANgKUAiACQQE6AJACIAJBkAJqEIkLIQEMAQsgAygABCETIAEgBUEMayIENgIEIAEgA0EMajYCACAEQQNNBEAgAkEAOgCTAiACQSU7AJECIAJBADYClAIgAkEBOgCQAiACQZACahCJCyEBDAELIAM1AAghGiABIAVBEGsiBDYCBCABIANBEGo2AgAgBEEDTQRAIAJBADoAkwIgAkElOwCRAiACQQA2ApQCIAJBAToAkAIgAkGQAmoQiQshAQwBCyADNQAMIRsgASAFQRRrIgQ2AgQgASADQRRqNgIAIARBA00EQCACQQA6AJMCIAJBJTsAkQIgAkEANgKUAiACQQE6AJACIAJBkAJqEIkLIQEMAQsgAygAECEUIAEgBUEYayIENgIEIAEgA0EYajYCACAEQQNNBEAgAkEAOgCTAiACQSU7AJECIAJBADYClAIgAkEBOgCQAiACQZACahCJCyEBDAELIAM1ABQhHCABIAVBHGsiBDYCBCABIANBHGo2AgAgBEEDTQRAIAJBADoAkwIgAkElOwCRAiACQQA2ApQCIAJBAToAkAIgAkGQAmoQiQshAQwBCyADNQAYIR0gASAFQSBrIgQ2AgQgASADQSBqNgIAIARBA00EQCACQQA6AJMCIAJBJTsAkQIgAkEANgKUAiACQQE6AJACIAJBkAJqEIkLIQEMAQsgAygAHCEVIAEgBUEkayIENgIEIAEgA0EkajYCACAEQQNNBEAgAkEAOgCTAiACQSU7AJECIAJBADYClAIgAkEBOgCQAiACQZACahCJCyEBDAELIAM1ACAhHiABIAVBKGsiBDYCBCABIANBKGo2AgAgBEEDTQRAIAJBADoAkwIgAkElOwCRAiACQQA2ApQCIAJBAToAkAIgAkGQAmoQiQshAQwBCyADNQAkIR8gASAFQSxrIgQ2AgQgASADQSxqNgIAIARBA00EQCACQQA6AJMCIAJBJTsAkQIgAkEANgKUAiACQQE6AJACIAJBkAJqEIkLIQEMAQsgAygAKCEWIAEgBUEwayIENgIEIAEgA0EwajYCACAEQQNNBEAgAkEAOgCTAiACQSU7AJECIAJBADYClAIgAkEBOgCQAiACQZACahCJCyEBDAELIAM1ACwhICABIAVBNGsiBDYCBCABIANBNGo2AgAgBEEDTQRAIAJBADoAkwIgAkElOwCRAiACQQA2ApQCIAJBAToAkAIgAkGQAmoQiQshAQwBCyADNQAwISEgASAFQThrIgQ2AgQgASADQThqNgIAIARBA00EQCACQQA6AJMCIAJBJTsAkQIgAkEANgKUAiACQQE6AJACIAJBkAJqEIkLIQEMAQsgAygANCEXIAEgBUE8ayIENgIEIAEgA0E8ajYCACAEQQNNBEAgAkEAOgCTAiACQSU7AJECIAJBADYClAIgAkEBOgCQAiACQZACahCJCyEBDAELIAM1ADghIiABIAVBQGoiBDYCBCABIANBQGs2AgAgBEEDTQRAIAJBADoAkwIgAkElOwCRAiACQQA2ApQCIAJBAToAkAIgAkGQAmoQiQshAQwBCyADNQA8ISMgASAFQcQAayIENgIEIAEgA0HEAGo2AgAgBEEDTQRAIAJBADoAkwIgAkElOwCRAiACQQA2ApQCIAJBAToAkAIgAkGQAmoQiQshAQwBCyADKABAIRggASAFQcgAayIENgIEIAEgA0HIAGo2AgAgBEEDTQRAIAJBADoAkwIgAkElOwCRAiACQQA2ApQCIAJBAToAkAIgAkGQAmoQiQshAQwBCyADNQBEISQgASAFQcwAazYCBCABIANBzABqNgIAIAM1AEghJSACIAE2AtQCIAJBBjYC0AIgAkHYAmogAkHQAmoQ1QICQAJAAkACQAJAAkACQCACLQDwAiIFQQNHBEAgBUECRgRAQQAgAkH4A2pB4LHAABDmByEBDAkLIAJB+AJqIAJB0AJqENUCIAItAJADIgRBA0YNASAEQQJGBEBBASACQfgDakHgscAAEOYHIQEMCQsgAkGYA2ogAkHQAmoQ1QIgAi0AsAMiCkEDRg0CIApBAkYEQEECIAJB+ANqQeCxwAAQ5gchAQwJCyACQbgDaiACQdACahDVAiACLQDQAyILQQNGDQMgC0ECRgRAQQMgAkH4A2pB4LHAABDmByEBDAkLIAJB2ANqIAJB0AJqENUCIAItAPADIgxBA0YNBCAMQQJGBEBBBCACQfgDakHgscAAEOYHIQEMCQsgAkGQAmogAkHQAmoQ1QICQAJAAkAgAi0AqAIiGUECaw4CAQACCyACKAKQAiEBDAoLQQUgAkH4A2pB4LHAABDmByEBDAkLIAJB1gBqIAJBqwJqLQAAOgAAIAJBtAJqIgNBAmogAkHxAmoiBkECai0AADoAACACQdYBaiACQZEDaiIHQQJqLQAAOgAAIAJBtgFqIAJBsQNqIglBAmotAAA6AAAgAkGWAWogAkHRA2oiCEECai0AADoAACACIAIvAKkCOwFUIAIgBi8AADsBtAIgAiAHLwAAOwHUASACIAkvAAA7AbQBIAIgCC8AADsBlAEgAkH2AGogAkHxA2oiBkECai0AADoAACACQfgBaiIHQQhqIAJB5AJqKQIANwMAIAdBEGogAkHsAmooAgA2AgAgAkG/AmogAkH4AmoiB0EIaikDADcAACACQccCaiAHQRBqKQMANwAAIAJBuAFqIgdBEGogAkGYA2oiCUEQaikDADcDACAHQQhqIAlBCGopAwA3AwAgAiAGLwAAOwF0IAIgAikC3AI3A/gBIAIgAikD+AI3ALcCIAIgAikDmAM3A7gBIAIoAtgCIQkgAkGYAWoiBkEQaiACQbgDaiIHQRBqKQMANwMAIAZBCGogB0EIaikDADcDACACQfgAaiIGQRBqIAJB2ANqIgdBEGopAwA3AwAgBkEIaiAHQQhqKQMANwMAIAJB2ABqIgZBEGogAkGQAmoiB0EQaikDADcDACAGQQhqIAdBCGopAwA3AwAgAiACKQO4AzcDmAEgAiACKQPYAzcDeCACIAIpA5ACNwNYIAJB2AFqIgZBF2ogA0EXaigAADYAACAGQRBqIANBEGopAQA3AwAgBkEIaiADQQhqKQEANwMAIAIgAikBtAI3A9gBIAEoAgQiBkUNBSABIAZBAWsiCDYCBCABIAEoAgAiA0EBajYCACADLQAAIgdBAk8EQEEQQQQQ9wsiAUUNByABIAc6AAEgAUECOgAADAkLIAhBBEkNByABIAZBBWs2AgQgASADQQVqNgIAIAMoAAEiAUEDTwRAIAJBAToAkAIgAiABrTcDmAIgAkGQAmpBoIvAAEGMg8AAEKwIIQEMCQsgACACKQMgNwL0ASAAIAIpAzg3ApACIABBhAJqIAJBIGoiA0EQaikDADcCACAAQfwBaiADQQhqKQMANwIAIABBmAJqIAJBOGoiA0EIaikDADcCACAAQaACaiADQRBqKQMANwIAIAJBCGoiA0EIaiIGIAJB+AFqIghBCGopAwA3AwAgA0EQaiIDIAhBEGooAgA2AgAgAiACKQP4ATcDCCAAQfgAaiACQe8BaigAADYAACAAQfEAaiACQdgBaiIIQRBqKQMANwAAIABB6QBqIAhBCGopAwA3AAAgACACKQPYATcAYSAAQf8AaiACQdYBai0AADoAACAAIAIvAdQBOwB9IABBkAFqIAJBuAFqIghBEGopAwA3AgAgAEGIAWogCEEIaikDADcCACAAIAIpA7gBNwKAASAAQZsBaiACQbYBai0AADoAACAAIAIvAbQBOwCZASAAQawBaiACQZgBaiIIQRBqKQMANwIAIABBpAFqIAhBCGopAwA3AgAgACACKQOYATcCnAEgAEG3AWogAkGWAWotAAA6AAAgACACLwGUATsAtQEgAEHIAWogAkH4AGoiCEEQaikDADcCACAAQcABaiAIQQhqKQMANwIAIAAgAikDeDcCuAEgAEHTAWogAkH2AGotAAA6AAAgACACLwF0OwDRASAAQeQBaiACQdgAaiIIQRBqKQMANwIAIABB3AFqIAhBCGopAwA3AgAgACACKQNYNwLUASAAQe8BaiACQdYAai0AADoAACAAIAIvAVQ7AO0BIAAgCTYC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IgogGSAVIBogChtdGyIKQQJqQQNwIQwgCkEBakEDcCEOIAFBIGoiDSgCACILIQogAUEYaiIIKAIAIAtGBEAgCCALEMAGIA0oAgAhCgsgAUEcaiIPKAIAIApBB3RqIghCADcDYCAIQegAakIANwMAIAggBjYCcCAIQv////v///+/fzcDWCAIQv////v///+/fzcDUCAIQv////v///+/fzcDSCAIQv////v///+/fzcDQCAIQv////v///+/fzcDOCAIQv////v///+/fzcDMCAIQv////v3//+//wA3AyggCEL////79///v/8ANwMgIAhC////+/f//7//ADcDGCAIQv////v3//+//wA3AxAgCEL////79///v/8ANwMIIAhC////+/f//7//ADcDACAIQQA6AHggCCAHOgB0IA0gCkEBajYCACAFQQhqKAIAIQYgBUEEaigCACEHIAItAAAhCiAJIBc4AkggCSAWOAJEIAkgGDgCQCAJQeAAaiIIIAMgBCAHIAYgCUFAayIDIA4gChCuBCAJQewAaiIEKAIAIQ4gCSgCaCEQIAggCSgCYCAJKAJkIAcgBiADIAwgChCuBCAEKAIAIREgCSgCaCESIAkoAmQhEyAJKAJgIRQgCCAQIA4gByAGIAMgDCAKEK4EIAQoAgAhBCAJKAJoIQYgCSgCZCEHIAkoAmAhCiAJIAEgAiAUIBMgBSALQQAQQSAJQSBqIAEgAiASIBEgBSALQQEQQSADIAEgAiAKIAcgBSALQQIQQSAIIAEgAiAGIAQgBSALQQMQQSANKAIAIgIgC00NAyAJKgJ4IRcgCSoCdCEWIAkqAnAhGCAJKgJsIRUgCSoCaCEaIAkqAmQhGSAJKAJgIQMgCSoCWCEbIAkqAlQhHCAJKgJQIR0gCSoCTCEeIAkqAkghHyAJKgJEISAgCSgCQCEEIAkqAjghISAJKgI0ISIgCSoCMCEjIAkqAiwhJCAJKgIoISUgCSoCJCEmIAkoAiAhBSAJKgIYIScgCSoCFCEoIAkqAhAhKSAJKgIMISogCSoCCCErIAkqAgQhLCAPKAIAIAtBB3RqIgIgCSgCADYCYCACQewAaiADNgIAIAJB6ABqIAQ2AgAgAkHkAGogBTYCACABQSBqIgMoAgAiAiALTQ0EIAtBB3QiBCABQRxqIgUoAgBqIgIgFzgCXCACIBs4AlggAiAhOAJUIAIgJzgCUCACIBY4AkwgAiAcOAJIIAIgIjgCRCACICg4AkAgAiAYOAI8IAIgHTgCOCACICM4AjQgAiApOAIwIAIgFTgCLCACIB44AiggAiAkOAIkIAIgKjgCICACIBo4AhwgAiAfOAIYIAIgJTgCFCACICs4AhAgAiAZOAIMIAIgIDgCCCACICY4AgQgAiAsOAIAIAMoAgAiAiALTQ0FIAUoAgAhAiAJQgA3A2ggCUIANwNgIAIgBGogCUHgAGoQngIgAUEgaigCACICIAtLDQEgCyACQZiIwgAQwwgACyABQSBqKAIAIQtD//9/fyEXQ///f/8hFkF/IQIgBEUEQEF/IQpBfyENQX8hCEP//3//IRtD//9//yEcQ///f38hHUP//39/IR5D//9//yEgQ///f/8hIUP//3//ISJD//9/fyEjQ///f38hJEP//39/ISVD//9//yEmQ///f/8hJ0P//3//IShD//9/fyEpQ///f38hKkP//39/IStD//9//yEYQ///f/8hH0P//3//IRVD//9/fyEaQ///f38hGUP//39/ISwMCQsgAygCACIKIAVBCGooAgAiDE8NByABQcQAaigCACIMIApNDQYgBUEEaigCACAKQRhsaiIIKgIUIRggCCoCECEfIAgqAgwhFSAIKgIIIRogCCoCBCEZIAgqAgAhLCABQUBrKAIAIApBDGxqIghBADoABCAIIAs2AgAgBEEBRgRAQX8hDUF/IQhD//9//yEbQ///f/8hHEP//39/IR1D//9/fyEeQ///f/8hIEP//3//ISFD//9//yEiQ///f38hI0P//39/ISRD//9/fyElQ///f/8hJkP//3//ISdD//9//yEoQ///f38hKUP//39/ISpD//9/fyErDAkLIAMoAgQiDSAFQQhqKAIAIgxPBEAgDSEKDAgLIA0gAUHEAGooAgAiDE8EQCANIQoMBwsgBUEEaigCACANQRhsaiIIKgIUISYgCCoCECEnIAgqAgwhKCAIKgIIISkgCCoCBCEqIAgqAgAhKyABQUBrKAIAIA1BDGxqIghBAToABCAIIAs2AgAgBEECRgRAQX8hCEP//3//IRtD//9//yEcQ///f38hHUP//39/IR5D//9//yEgQ///f/8hIUP//3//ISJD//9/fyEjQ///f38hJEP//39/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QwAAADSUXyEBCyAlIAE6AAwgJSADKQIANwIAICVBCGoiASADQQhqKAIANgIAIABBCGogASkDADcCACAAICQpA4ABNwIAIABBIGogBjgCACAAQRxqIAQ4AgAgAEEYakMAAIA/IASTIAaTOAIAIABBFGogJjYCACAAQQI2AhAMAgsgAEEDNgIQIABBAToADCAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIADAELIABBATYCECAAQQE6AAwgACAJOAIIIAAgCDgCBCAAIAc4AgAgAEEUaiABNgIAIABBGGpDAACAPyAEk7ytIAS8rUIghoQ3AgALICRBoAFqJAAL2h4DCn8afQN+IwBBsANrIgUkACAAKgKYASEgIABBQGtBADYCACAAQShqQQA2AgAgBUEBOgBPAkACQAJAAkACQAJAAkACQCACQSRqKAIAIggEQCAIQf////8BSw0DIAhBAnQiBkEEEPcLIgcNAQwICyAFQQA2AlggBUKAgICAwAA3A1AgBSAINgJoIAVCgICAgMAANwNgIAVBOGoiBkEAOgAEIAZBfzYCAEEEIQcMAQsgBUEANgJYIAUgBzYCVCAFIAg2AlAgCEHVqtUqSw0BIAhBGGwiB0EEEPcLIgZFDQIgBSAGNgJkIAUgCDYCYAJAIAhBAkkNACAIQQFrIgdBA3EhCSAIQQJrQQNPBEAgB0F8cSEHA0AgBkL////7////v383AhAgBkL////79///v383AgggBkL////79///v/8ANwIAIAZB2ABqQv////v///+/fzcCACAGQdAAakL////79///v383AgAgBkHIAGpC////+/f//7//ADcCACAGQUBrQv////v///+/fzcCACAGQThqQv////v3//+/fzcCACAGQTBqQv////v3//+//wA3AgAgBkEoakL////7////v383AgAgBkEgakL////79///v383AgAgBkEYakL////79///v/8ANwIAIAZB4ABqIQYgB0EEayIHDQALCyAJRQ0AA0AgBkL////7////v383AhAgBkL////79///v383AgggBkL////79///v/8ANwIAIAZBGGohBiAJQQFrIgkNAAsLIAZC////+////79/NwIQIAZC////+/f//79/NwIIIAZC////+/f//7//ADcCACAFIAg2AmggAkEkaigCACEJIAVBQGsiBkEAOgAEIAZBfzYCACAJRQRAQQQhB0EAIQkMAQsgCUH///8/Sw0BIAUtAEQhCiAFKAJAIQsgCUEEdCIGQQQQ9wsiB0UNBiAHIQYCQCAJQQJJDQAgCUEBayIMQQNxIQggCUECa0EDTwRAIAxBfHEhDANAIAZCfzcCCCAGIAo6AAQgBiALNgIAIAZBOGpCfzcCACAGQTRqIAo6AAAgBkEwaiALNgIAIAZBKGpCfzcCACAGQSRqIAo6AAAgBkEgaiALNgIAIAZBGGpCfzcCACAGQRRqIAo6AAAgBkEQaiALNgIAIAZBQGshBiAMQQRrIgwNAAsLIAhFDQADQCAGQn83AgggBiAKOgAEIAYgCzYCACAGQRBqIQYgCEEBayIIDQALCyAGQn83AgggBiAKOgAEIAYgCzYCAAsgAEHEAGoiBigCAARAIABByABqKAIAELUBCyAAIAk2AkQgAEHMAGogCTYCACAAQcgAaiAHNgIAIAUgBjYC2AEgBSAFQdAAajYC4AEgBSAFQeAAajYC3AECQCADQQFrDgIEAAMLIAJBMGooAgBBqAFsIQogAUEkaigCACEJIAFBIGooAgAhCyACQSxqKAIAIQwgBUHYAmohA0EAIQZBACEIA0AgBiAKRg0FAkAgBiAMaiICKAIARQ0AIAJBngFqLQAADQAgAkEEaigCACEHAkAgAkEoaigCAEEBRgRAIAJBLGooAgAiASAJTw0BIAsgAUHoAmxqQQAgASAJSRsiASgCAEEBRw0BIAEoAgQgAkEwaigCAEcNASACQcwAaioCACEXIAJByABqKgIAIRggAkHEAGoqAgAhGyACQUBrKgIAIRQgAkE8aioCACEVIAJBOGoqAgAhEyACQTRqKgIAIRYgAUGEAWoqAgAhISABQYgBaioCACEiIAFBjAFqKgIAIRogAUGsAWoqAgAhGSABQaABaioCACEQIAFBmAFqKgIAIR4gAUGQAmoqAgAhDyABQagBaioCACERIAFBiAJqKgIAIRwgAUGcAWoqAgAhEiABQYwCaioCACEdIAFBpAFqKgIAIR8gAUH4AGoqAgAhIyABQewBaioCACEkIAFB/AFqKgIAISUgAUH8AGoqAgAhJiABQfABaioCACEnIAFBgAJqKgIAISggBSABQYQCaioCACABQfQBaioCAJQgBJQgAUGAAWoqAgCSOALYAiAFICYgKCAnlCAElJI4AtQCIAUgIyAlICSUIASUkjgC0AIgBSAaIBkgECAclCARIB2UkiAZIA+UkiIZlCAQIB4gHJQgEiAdlJIgECAPlJIiGpQgESASIByUIB8gHZSSIBEgD5SSIg+UkpIgBJSSOALkAiAFICIgESAZlCASIBqUIB8gD5SSkiAElJI4AuACIAUgISAQIBmUIB4gGpQgEiAPlJKSIASUkjgC3AIgBUHwAGogBUHQAmogBCABQShqIAFBwAFqEMgBIAUgFCAFKgJ8Ig+UIBYgBSoCcCIQlJMgEyAFKgJ0IhGUkyAVIAUqAngiEpSTOAL8ASAFIBQgEpQgEyAQlCAVIA+UkiAWIBGUk5I4AvgBIAUgFiASlCAUIBGUIBMgD5QgFSAQlJOSkjgC9AEgBSAVIBGUIBQgEJQgFiAPlJKSIBMgEpSTOALwASAFIAUqAogBIBcgDyAYIBCUIBsgEZSTIhQgFJIiFJQgECAbIBKUIBcgEJSTIhUgFZIiFZQgESAXIBGUIBggEpSTIhMgE5IiE5STkpKSOAKIAiAFIAUqAoQBIBggDyAVlCASIBOUIBAgFJSTkpKSOAKEAiAFIAUqAoABIBsgDyATlCARIBSUIBIgFZSTkpKSOAKAAiAFQShqIgEgAkEYaiINKAIEIg42AgQgASANKAIAIA4oAghBB2pBeHFqNgIAIAMgBSgCKCACQdQAaiAFQfABaiAFKAIsKAK4ARECACAFIAc2AtQCIAUgCDYC0AIgBUHYAWogCCAHIAMQyQEMAgsgBUEwaiIBIAJBGGoiDSgCBCIONgIEIAEgDSgCACAOKAIIQQdqQXhxajYCACADIAUoAjAgAkHUAGogBSgCNCgCiAERAQAgBSAHNgLUAiAFIAg2AtACIAVB2AFqIAggByADEMkBDAELQZCNwQBBE0HQ7MEAEM4MAAsgCEEBaiEIIAZBqAFqIQYMAAsACxCgCgALIAdBBEHI78MAKAIAIgBBigcgABsRAAAACyACQTBqKAIAQagBbCEJIAJBLGooAgAhBiAFQdgCaiEBQQAhBwNAIAlFDQICQCAGKAIARQ0AIAZBngFqLQAADQAgBkEEaigCACECIAVBEGoiAyAGQRhqIggoAgQiCjYCBCADIAgoAgAgCigCCEEHakF4cWo2AgAgASAFKAIQIAZB1ABqIAUoAhQoAogBEQEAIAUgAjYC1AIgBSAHNgLQAiAFQdgBaiAHIAIgARDJAQsgBkGoAWohBiAHQQFqIQcgCUGoAWshCQwACwALIAJBMGooAgBBqAFsIQogAUEkaigCACEIIAFBIGooAgAhCyACQSxqKAIAIQwgBUHYAmohA0EAIQZBACEHA0AgBiAKRg0BAkAgBiAMaiIBKAIARQ0AIAFBngFqLQAADQAgAUEEaigCACEJAkAgAUEoaigCAEEBRgRAIAFBLGooAgAiAiAITw0BIAsgAkHoAmxqQQAgAiAISRsiAigCAEEBRw0BIAIoAgQgAUEwaigCAEcNASABQcwAaioCACEPIAFByABqKgIAIRQgAUHEAGoqAgAhFSAFIAFBQGsqAgAiEyACQdAAaioCACISlCABQTRqKgIAIhYgAkHEAGoqAgAiBJSTIAFBOGoqAgAiFyACQcgAaioCACIQlJMgAUE8aioCACIYIAJBzABqKgIAIhGUkzgC/AEgBSATIBGUIBcgBJQgGCASlJIgFiAQlJOSOAL4ASAFIBYgEZQgEyAQlCAXIBKUIBggBJSTkpI4AvQBIAUgGCAQlCATIASUIBYgEpSSkiAXIBGUkzgC8AEgBSACQdwAaioCACAPIBIgFCAElCAVIBCUkyITIBOSIhOUIAQgFSARlCAPIASUkyIWIBaSIhaUIBAgDyAQlCAUIBGUkyIPIA+SIg+Uk5KSkjgCiAIgBSACQdgAaioCACAUIBIgFpQgESAPlCAEIBOUk5KSkjgChAIgBSACQdQAaioCACAVIBIgD5QgECATlCARIBaUk5KSkjgCgAIgBUEYaiICIAFBGGoiDSgCBCIONgIEIAIgDSgCACAOKAIIQQdqQXhxajYCACADIAUoAhggAUHUAGogBUHwAWogBSgCHCgCuAERAgAgBSAJNgLUAiAFIAc2AtACIAVB2AFqIAcgCSADEMkBDAILIAVBIGoiAiABQRhqIg0oAgQiDjYCBCACIA0oAgAgDigCCEEHakF4cWo2AgAgAyAFKAIgIAFB1ABqIAUoAiQoAogBEQEAIAUgCTYC1AIgBSAHNgLQAiAFQdgBaiAHIAkgAxDJAQwBC0GQjcEAQRNB4OzBABDODAALIAdBAWohByAGQagBaiEGDAALAAsgAEEIaiEBIAVB8ABqEKMJIAVBCGoiAkEAOgAEIAJBfzYCACAFLQAMIQMgBSgCCCEGIABBKGoiAigCACIHIAAoAiBGBEAgAEEgaiAHEMAGIAIoAgAhBwsgAEEkaiIJKAIAIAdBB3RqIAVB8ABqQeAAEOQMIgBBADoAeCAAIAM6AHQgACAGNgJwIABCfzcDaCAAQoGAgIBwNwNgIAIgB0EBajYCACAFQQA6AAQgBUEANgIAIAVB0AJqIgAgASAFQc8AaiAFKAJUIAUoAlggBUHgAGogBSgCACAFLQAEICAQUyAFQdgBaiIDQRBqIAVB5AJqKQIAIik3AwAgA0EIaiAFQdwCaikCACIqNwMAIAUgBSkC1AIiKzcD2AEgAUEQaiApNwIAIAFBCGogKjcCACABICs3AgAgAEEQaiApNwMAIABBCGogKjcDACAFQagDakL////7////v383AwAgBUGgA2pC////+/f//79/NwMAIAVBkANqQv////v///+/fzcDACAFQYgDakL////79///v383AwAgAEEoakL////7////v383AwAgBUHwAmpC////+/f//79/NwMAIAUgKzcD0AIgBUL////79///v/8ANwOYAyAFQv////v3//+//wA3A4ADIAVC////+/f//7//ADcD6AIgBUHwAWogABC1BCACKAIABEAgCSgCACAFQfABakHgABDkDBogBSgCYARAIAUoAmQQtQELIAUoAlAEQCAFKAJUELUBCyAFQbADaiQADwtBAEEAQcjVwAAQwwgACyAGQQRByO/DACgCACIAQYoHIAAbEQAAAAv3GAMEfBp/AX4jAEHABGsiCiQAIApBCGpBAEGgARDjDBogCkGoAWpBAEGgARDjDBogCkHIAmpBAEGgARDjDBogCkHoA2pBAEHQABDjDBogAkEDa0EYbSISIQxBzJfDACgCACIOIQkgEkECdEHcl8MAaiEIIBJBaGwgAmohCwNAIAcgCU8hDSAHIAcgCUlqIQIgCkEIaiAHQQN0aiAMQQBIBHxEAAAAAAAAAAAFIAgoAgC3CzkDACAIQQRqIQggDEEBaiEMIA0gCSACIgdJckUNAAtBACEJA0AgCSAOSSECIApByAJqIAlBA3RqIAArAwAgCkEIaiAJQQN0aisDAKJEAAAAAAAAAACgOQMAIAkgDkkEQCAOIAIgCWoiCU8NAQsLRAAAAAAAAPB/RAAAAAAAAOB/IAtBlwhrIgJB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GZQgFyAYlJMiEiASkiISlJOSIBiTOAIAIA0gFSAalCAWIBKUIBMgFJSTkiAZkzgCACALIBOMOAKgAiALIBaMOAKkAiALIBUgEpQgFyAUlCAWIBqUk5IgG5M4ArACIAJBBGoqAgAiFyADKgIAIhuUIAIqAgAiEyADQQRqKgIAIhmUkyISIBKSIRYgByoCACIUIBmUIBcgA0EIaioCACIYlJMiEiASkiEaIAsgGCACKgIMIhUgFpQgFyAalCATIBMgGJQgFCAblJMiEiASkiISlJOSkow4AsgCIAsgGSAVIBKUIBMgFpQgFCAalJOSkow4AsQCIAsgGyAVIBqUIBQgEpQgFyAWlJOSkow4AsACIAtB6AFqIAEgDiALQcACaiAMIAQgBSAIIAkQWSALLQCcAiIBQQVHBEAgC0HgAWogC0HoAWoiAkEMaigCADYCACALQdABaiACQRhqKAIANgIAIAtBwAFqIAJBJGooAgA2AgAgC0GwAWogAkEwaigCADYCACALIAspAuwBNwPYASALIAspA/gBNwPIASALIAspAoQCNwO4ASALIAspA5ACNwOoASALKgLoASEIIAFBBEcEQCALQZABaiALQeABaigCADYCACALQaABaiALQdABaigCADYCACALQfAAaiALQcABaigCADYCACALQYABaiALQbABaigCADYCACALIAspA9gBNwOIASALIAspA8gBNwOYASALIAspA7gBNwNoIAsgCykDqAE3A3gLIAAgCDgCACAAIAspA5gBNwIEIABBDGogC0GgAWooAgA2AgAgACALKQOIATcCECAAQRhqIAtBkAFqKAIANgIAIAAgCykDeDcCHCAAQSRqIAtBgAFqKAIANgIAIAAgCykDaDcCKCAAQTBqIAtB8ABqKAIANgIAIAAgAToANAwECyAAQQU6ADQMAwsgC0EgaiAEIA8RAAAgCygCJCEOIAsoAiAhDyALQRhqIAYgEBEAAAJAIA8EQCALKAIYIg0NAQsgC0EQaiAEIAUoAqwBEQAAIAsoAhAiDQRAIAAgASACIAMgDSALKAIUIAYgByAIIAkQKgwECyALQQhqIAYgBygCrAERAAAgCygCCCIOBEAgCygCDCENIwBB8ABrIgwkACAMQUBrIhBBCGoiBiACQQhqIgcpAgA3AwAgEEEYaiIPIAJBGGooAgA2AgAgBiAG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EGogBikDADcDACACQQhqIAUpAwA3AwAgAkEgaiADKQMANwMAIAlB6ABqIA0pAwA3AwAgCSAJKQOoAzcDQCAJIAkpA5ADNwNYIAlB+ABqIAQpAwA3AwAgCUGAAWogDikDADcDACAJIAkpA/gCNwNwIAlBmAFqIBIpAwA3AwAgCUGQAWogESkDADcDACAJIAkpA+ACNwOIASAJQYAEaiACELUEIAFBIGoiAigCACIDIApNDQQgCkEHdCIEIAFBHGoiAygCAGogCUGABGpB4AAQ5AwaIAIoAgAiAiAKTQ0FIAMoAgAhAiAJIAg4AkwgCSAIOAJIIAkgCDgCRCAJIAg4AkAgAiAEaiAJQUBrEJ4CIAFBIGooAgAiAiAKSw0BIAogAkG41cAAEMMIAAsgAUEgaigCACEPQ///f38hGkP//3//IRtBfyENIARFBEBBfyEKQX8hC0F/IQxD//9//yEWQ///f/8hHEP//39/IR1D//9/fyEeQ///f/8hH0P//3//ISBD//9//yEhQ///f38hIkP//39/ISND//9/fyEkQ///f/8hJUP//3//ISZD//9//yEnQ///f38hKEP//39/ISlD//9/fyEqQ///f/8hGUP//3//IStD//9//yEVQ///f38hF0P//39/IRhD//9/fyEsDAkLIAVBCGooAgAiAiADKAIAIgpNDQcgBUEEaigCACAKQRhsaiICKgIUIRkgAioCECErIAIqAgwhFSACKgIIIRcgAioCBCEYIAIqAgAhLCAJQRhqIgJBADoABCACIA82AgAgCiABQcQAaigCACICTw0GIAkoAhghAiABQUBrKAIAIApBBHRqIgsgCS0AHDoABCALIAI2AgAgBEEBRgRAQX8hC0F/IQxD//9//yEWQ///f/8hHEP//39/IR1D//9/fyEeQ///f/8hH0P//3//ISBD//9//yEhQ///f38hIkP//39/ISND//9/fyEkQ///f/8hJUP//3//ISZD//9//yEnQ///f38hKEP//39/ISlD//9/fyEqDAkLIAVBCGooAgAiAiADKAIEIgtNBEAgCyEKDAgLIAVBBGooAgAgC0EYbGoiAioCFCElIAIqAhAhJiACKgIMIScgAioCCCEoIAIqAgQhKSACKgIAISogCUEQaiICQQE6AAQgAiAPNgIAIAFBxABqKAIAIgIgAygCBCIMTQRAIAwhCgwHCyAJKAIQIQIgAUFAaygCACAMQQR0aiIMIAktABQ6AAQgDCACNgIAIARBAkYEQEF/IQxD//9//yEWQ///f/8hHEP//39/IR1D//9/fyEeQ///f/8hH0P//3//ISBD//9//yEhQ///f38hIkP//39/ISND//9/fyEkDAkLIAVBCGooAgAiAiADKAIIIgxNBEAgDCEKDAgLIAVBBGooAgAgDEEYbGoiAioCFCEfIAIqAhAhICACKgIMISEgAioCCCEiIAIqAgQhIyACKgIAISQgCUEIaiICQQI6AAQgAiAPNgIAIAFBxABqKAIAIgIgAygCCCIOTQRAIA4hCgwHCyAJKAIIIQIgAUFAaygCACAOQQR0aiIOIAktAAw6AAQgDiACNgIAIARBA0YEQEP//3//IRZD//9//yEcQ///f38hHUP//39/IR4MCQsgBUEIaigCACICIAMoAgwiDU0EQCANIQoMCAsgBUEEaigCACANQRhsaiICKgIUIRsgAioCECEWIAIqAgwhHCACKgIIIRogAioCBCEdIAIqAgAhHiAJQQM6AAQgCSAPNgIAIAFBxABqKAIAIgIgAygCDCIDTQRAIAMhCgwHCyAJKAIAIQIgAUFAaygCACADQQR0aiIDIAktAAQ6AAQgAyACNgIADAgLIABBBGogAUEcaigCACAKQQd0ahDFAyAAIAo2AgAMCAsgCiAMQejUwAAQwwgACyAKIAJBiNXAABDDCAALIAogA0GY1cAAEMMIAAsgCiACQajVwAAQwwgACyAKIAxB+NTAABDDCAALIAogAkHY1MAAEMMIAAsgCiACQcjUwAAQwwgACyAJIBs4ApwCIAkgFjgCmAIgCSAcOAKUAiAJIBo4ApACIAkgHTgCjAIgCSAeOAKIAiAJIB84AoQCIAkgIDgCgAIgCSAhOAL8ASAJICI4AvgBIAkgIzgC9AEgCSAkOALwASAJICU4AuwBIAkgJjgC6AEgCSAnOALkASAJICg4AuABIAkgKTgC3AEgCSAqOALYASAJIBk4AtQBIAkgKzgC0AEgCSAVOALMASAJIBc4AsgBIAkgGDgCxAEgCSAsOALAASAJQUBrIgIgCUHAAWoiAxC1BCAJQbQBaiAHOgAAIAlBrAFqIA02AgAgCUGoAWogDDYCACAJQaQBaiALNgIAIAlBAToAuAEgCSAGNgKwASAJIAo2AqABIAkgCDgCzAEgCSAIOALIASAJIAg4AsQBIAkgCDgCwAEgAiADEJ4CIAlBgARqIAIQxQMgAyACQYABEOQMGiABKAIgIgogASgCGEYEQCABQRhqIAoQwAYgASgCICEKCyABQRxqKAIAIApBB3RqIAlBwAFqQYABEOQMGiABIApBAWo2AiAgAEEUaiAJQZAEaikDADcCACAAQQxqIAlBiARqKQMANwIAIAAgCSkDgAQ3AgQgACAPNgIACyAJQeAEaiQAC6cXAyp/CH0DfiMAQfADayIDJAACQAJAAkACQCABQeQAaigCAEUEQCADQQA6ADggAyACNgI0IAMgAioCCCItOAIsIAMgLTgCKCADIC04AiQgAyAtOAIgIAMgAioCBCItOAIcIAMgLTgCGCADIC04AhQgAyAtOAIQIAMgAioCACItOAIMIAMgLTgCCCADIC04AgQgAyAtOAIAIAMgATYCMCABQSBqKAIAIhVFDQIgA0EANgJQIANCgICAgMAANwNIIANByABqIgVBABC4BiADKAJMIAMoAlAiBEEDdGpCgICAgPD///9+NwIAIAMgBEEBajYCUCADQfAAaiAFEPYCIAMoAnBBAUcEQEEEIRAMAgsgAUFAaygCACETIAFBxABqKAIAIREgAUEcaigCACEdIANByANqIgVBA2ohFyADQaACaiIEQdAAaiEMIANB1AJqIQ0gBEEYaiEOIANBzAFqIQ8gBUENaiEYIANBkANqIgVBGGohGSAFQQxqIRpD//9/fyEtIAFBzABqIR4gAUHYAGohHyABQdwAaiEgQQQhEANAIC0gAyoCeIxfDQIgAygCdCIFIBVJBEAgHSAFQQd0aiIKLQB4QQFxIgUEQCATIAooAmAiBEEMbGpBACAEIBFJGyIEQQhqQQAgBBshISATIApB7ABqKAIAIgRBDGxqQQAgBCARSRsiBEEIakEAIAQbISIgEyAKQegAaigCACIEQQxsakEAIAQgEUkbIgRBCGpBACAEGyEjIBMgCkHkAGooAgAiBEEMbGpBACAEIBFJGyIEQQhqQQAgBBshGwsgA0HwAWogCiADEPQBIAMqAvABIC1dIiStITYgAyoC/AEhLiADKgL4ASEwIAMqAvQBITECfyAFBEAgAyAiNgKMAiADICM2AogCIAMgGzYChAIgAyAhNgKAAkIAITUgA0GYAmoiJUIANwMAIANCADcDkAIgA0EENgKIAyADQQQ2AuwCIANBBDYC0AIgA0EENgK0AiAtIDFeIiatQgGGIDaEIC0gMF4iJ61CAoaEIC0gLl4iKK1CA4aEITcgAUHQAGooAgAhByAeKAIAIRIgHygCACEpICAoAgAhFEEAIQZBACEFA0ACQCA3IDWIQgGDUA0AIANBgAJqIAZqKAIAIgRFDQACQAJAAkAgBCgCACIIIBRJBEAgKSAIQQxsaiIEKAIAIgkgB08NASAEKAIEIgsgB08NAiAEKAIIIgQgB08NAyAaIBIgC0EMbGoiCykCADcCACAZIBIgBEEMbGoiBCkCADcCACADQZADaiIWQQhqIBIgCUEMbGoiCUEIaigCADYCACAaQQhqIAtBCGooAgA2AgAgGUEIaiAEQQhqKAIANgIAIAMgCSkCADcDkAMgA0HIA2oiBCAWIAJBARBCIANBwgNqIBhBAmotAAAiCzoAACADIBgvAAAiFjsBwAMgAygC3AMhKiADKALYAyEJIAMtANQDISsgAyoC0AMhMiADKgLIAyEzIAMqAswDITQgBEECaiIsIAs6AAAgAyAWOwHIAyAzIAIqAgCTIi8gL5QgNCACKgIEkyIvIC+UkiAyIAIqAgiTIi8gL5SSQwAAAACSEJMBIS8gA0GgAmogBWoiBEEMaiArOgAAIARBCGogMjgCACAEQQRqIDQ4AgAgBCAzOAIAIANBkAJqIAZqIC84AgAgBEEYaiAqQQAgCUEDSSILGzYCACAEQRRqIAlBAiALGzYCACAEQRBqIAg2AgAgBEENaiADLwHIAzsAACAEQQ9qICwtAAA6AAAMBAsgCCAUQdDmwgAQwwgACyAJIAdB4ObCABDDCAALIAsgB0Hw5sIAEMMIAAsgBCAHQYDnwgAQwwgACyAGQQRqIQYgBUEcaiEFIDVCAXwiNUIEUg0ACyAPIAMpA6ACNwIAIA9BCGogA0GgAmoiBUEIaikDADcCACAPQRBqIAVBEGooAgA2AgAgA0GwAWoiBUEIaiAOQQhqKQIANwMAIAVBEGogDkEQaikCADcDACADIAMpA5ACNwPgASADIA4pAgA3A7ABIAMgJSkDADcD6AEgAygCtAIhBCADQZgBaiIFQQhqIA1BCGopAgA3AwAgBUEQaiANQRBqKQIANwMAIANBkAFqIAxBEGopAgA3AwAgAyANKQIANwOYASADIAwpAgA3A4ABIAMgDEEIaikCADcDiAEgBEEFRwRAIAMoAtACIQYgAygCiAMhByADKALsAgwCCyADQasCaiADKQPoATcAACADIAMpA+ABNwCjAiADQcgDaiIBQQhqIANBoAJqIgJBCGopAAA3AwAgAUEPaiACQQ9qKAAANgAAIAMgAykAoAI3A8gDICZBCHQgJHIgJ0EQdHIhASAoQRh0IQIgAygCSARAIAMoAkwQtQELIAEgAnIhHAwHCyADIAMpA/gBNwPoASADIAMpA/ABNwPgAUEEIQRBBCEGQQQhB0EECyEFIApB+ABqIRIgDiADKQOwATcCACANIAMpA5gBNwIAIANBoAJqIghBEGogD0EQaigCADYCACAIQQhqIA9BCGopAgA3AwAgDkEIaiADQbABaiIIQQhqKQMANwIAIA5BEGogCEEQaikDADcCACANQQhqIANBmAFqIghBCGopAwA3AgAgDUEQaiAIQRBqKQMANwIAIAMgBDYCtAIgAyAGNgLQAiADIA8pAgA3A6ACIAwgAykDgAE3AgAgDEEIaiADKQOIATcCACAMQRBqIANBkAFqKQMANwIAIAMgBTYC7AIgAyAHNgKIAyADIAMpA+gBNwOYAyADIAMpA+ABNwOQAyAtIDFerUIBhiA2hCAtIDBerUIChoQgLSAuXq1CA4aEITdCACE1A0AgNSI2QgF8ITUCQCA3IDaIp0EBcUUNACA2pyEFIBItAABBAXEEQCAFQQJ0IgYgA0GQA2pqKgIAIi4gLV1FDQEgA0GgAmogBUEcbGoiBCgCFCIFQQRGDQEgESAGIApqQeAAaigCAE0NASAXIAQpAAA3AAAgF0EIaiAEQQhqKQAANwAAIANB2ABqIhBBCGogA0HIA2oiBkEIaikAADcDACAQQQ9qIAZBD2ooAAA2AAAgAyADKQDIAzcDWCAEKAIQIRwgBSEQIC4hLQwBCyAFQQJ0IgUgCmpB4ABqKAIAIgcgFU8NACADQZADaiAFaioCAIwhLiADKAJQIgQhBSADKAJIIARGBEAgA0HIAGogBBC4BiADKAJQIQULIAMoAkwiBiAFQQN0aiIIIC44AgQgCCAHNgIAIAMgBUEBajYCUCAGIARBA3RqIgUqAgQhLiAFKAIAIQcCQCAERQRAQQAhBQwBCwNAQQBBfyAGIARBAWsiCEEBdiIFQQN0aiIUQQRqKgIAIjAgLl8iCRtBAUECIAkbIC4gMF8bQQFqQQJJBEAgBCEFDAILIAYgBEEDdGogFCkCADcCACAFIQQgCEEBSw0ACwsgBiAFQQN0aiIFIC44AgQgBSAHNgIACyA1QgRSDQALIANB8ABqIANByABqEPYCIAMoAnBBAUYNAQwDCwsgBSAVQayJwgAQwwgACyADQaACaiABIAJBAEP//39/ED0gAygCtAJBBEcEQCADQQhqIANBqAJqKQMAIjU3AwAgAyADKQOgAiI2NwMAIAMoArACIQEgAEEIaiA1NwIAIAAgNjcCACAAQRRqIAE2AgAMBAtBp/XBAEErQdiswgAQ2QkACyADQcgDaiIBQQhqIANB2ABqIgJBCGopAwA3AwAgAUEPaiACQQ9qKAAANgAAIAMgAykDWDcDyAMgAygCSARAIAMoAkwQtQELIBBBBEcNAQtBp/XBAEErQaiswgAQ2QkACyADQaACaiIBQQ9qIANByANqIgJBD2ooAAA2AAAgAUEIaiACQQhqKQMANwMAIAMgAykDyAM3A6ACIABBCGogA0GrAmopAAA3AAAgACADKQCjAjcAACAAQRRqIBw2AgALIABBAjYCECADQfADaiQAC/0WAyN/C30LfiMAQYADayIFJAAgBSACNgJoIAUgATYCZCAFIAQ6AGwgBSADOAJgIAUgAioCFCIoOAJcIAUgKDgCWCAFICg4AlQgBSAoOAJQIAUgAioCECIoOAJMIAUgKDgCSCAFICg4AkQgBSAoOAJAIAUgAioCDCIoOAI8IAUgKDgCOCAFICg4AjQgBSAoOAIwIAUgAioCCCIoOAIsIAUgKDgCKCAFICg4AiQgBSAoOAIgIAUgAioCBCIoOAIcIAUgKDgCGCAFICg4AhQgBSAoOAIQIAUgAioCACIoOAIMIAUgKDgCCCAFICg4AgQgBSAoOAIAAkACQCABQThqKAIAIhMEQCAFQQA2AnggBUKAgICAwAA3A3AgBUHwAGoiBkEAELgGIAUoAnQgBSgCeCIHQQN0akKAgICA8P///343AgAgBSAHQQFqNgJ4IAVBgAFqIAYQ9gICQAJAIAUoAoABQQFHBEBBBCEPDAELIAVB0AFqIgZB5ABqIRcgBUGYAmohGCAFQfwBaiEZIAVB4AFqIRogBkEMaiELQ///f38hKiABQTRqIR0gAUHcAGohGyABQegAaiESIAFB2ABqIR5BBCEPA0AgKiAFKgKIAYxfDQECQAJ+AkAgBSgChAEiBiATSQRAIB0oAgAgBkEHdGoiDC0AeEEBcSIJBEAgHigCACIGIAwoAmAiB0EMbGpBACAHIBsoAgAiB0kbIhFBCGpBACARGyERIAYgDEHsAGooAgAiDUEMbGpBACAHIA1LGyINQQhqQQAgDRshDSAGIAxB6ABqKAIAIg5BDGxqQQAgByAOSxsiDkEIakEAIA4bIQ4gBiAMQeQAaigCACIQQQxsakEAIAcgEEsbIgZBCGpBACAGGyEQCyAFIAM4AvwCIAUgAzgC+AIgBSADOAL0AiAFIAM4AvACIAVB0AFqIAwgBSAFQfACahDVASAFKALQASEGIAUpAtQBITMgBSoC4AEhLCAFKgLkASErIAUqAugBISggBSoC7AEhKUIEITUgCUUEQEIEITRCBCE2IDMhPUIEDAMLIAUgBSgC3AE2AvwCIAUgMzcC9AIgBSAGNgLwAiAFICkgKl06ANMBIAUgKCAqXToA0gEgBSAqICteOgDRASAFICogLF46ANABIAVB4AJqIAVB8AJqIAVB0AFqENgJIAUtAOACIAUtAOECQQF0ciAFLQDiAkECdHIgBS0A4wJBA3RyIhStIjRC/wGDITdCACEzQgQhNkMAAAAAIStBACEHQQAhBkMAAAAAISxCACE4IDRCAYNQDQEgEUUNASARKAIAIgggEigCAE8NASABQeQAaigCACAIQSRsaiIGQSBqKAIAIQggBUHQAWogBigCHCAIKAIIQQdqQXhxaiAGIAIgAyAEIAgoAhwRCQAgBSgC0AFBBEYEQEEAIQYMAgsgESgCACEfIAVB+AJqIAtBCGooAgA2AgAgBSALKQIANwPwAiAFKQPQASI1QoCAgIBwgyE4QQEhBiAFKgLYASEsDAELIAYgE0GsicIAEMMIAAsCQCA3QgKDUA0AIBBFDQAgECgCACIIIBIoAgBPDQAgAUHkAGooAgAgCEEkbGoiB0EgaigCACEIIAVB0AFqIAcoAhwgCCgCCEEHakF4cWogByACIAMgBCAIKAIcEQkAIAUoAtABQQRGBEBBACEHDAELIBAoAgAhICAFQegCaiALQQhqKAIANgIAIAUgCykCADcD4AIgBSkD0AEiNkKAgICAcIMhM0GAAiEHIAUqAtgBISsLQgQhNEMAAAAAISlBACEJQgAhOUIAITpCBCE7QQAhCAJ9QwAAAAAgN0IEg1ANABpDAAAAACAORQ0AGkMAAAAAIA4oAgAiCiASKAIATw0AGiABQeQAaigCACAKQSRsaiIIQSBqKAIAIQogBUHQAWogCCgCHCAKKAIIQQdqQXhxaiAIIAIgAyAEIAooAhwRCQAgBSgC0AFBBEYEQEEAIQhDAAAAAAwBCyAOKAIAISEgBUHYAmogC0EIaigCADYCACAFIAspAgA3A9ACIAUpA9ABIjtCgICAgHCDITpBgIAEIQggBSoC2AELISgCQCAUQf8BcUEISQ0AIA1FDQAgDSgCACIKIBIoAgBPDQAgAUHkAGooAgAgCkEkbGoiCUEgaigCACEKIAVB0AFqIAkoAhwgCigCCEEHakF4cWogCSACIAMgBCAKKAIcEQkAIAUoAtABQQRGBEBBACEJDAELIA0oAgAhIiAFQcgCaiALQQhqKAIANgIAIAUgCykCADcDwAIgBSkD0AEiNEKAgICAcIMhOUGAgIAIIQkgBSoC2AEhKQsgBUG4AWogBUHoAmooAgA2AgAgBUGoAWogBUHYAmooAgA2AgAgBUGYAWogBUHIAmooAgA2AgAgBSAFKQPwAjcDwAEgBSAFKQPgAjcDsAEgBSAFKQPQAjcDoAEgBSAFKQPAAjcDkAEgBSAFQfgCaigCADYCyAEgCEGAgARxIAdBgAJxIAZyciEGIDVC/////w+DIjdCBVENASAGIAlyIQYgNEL/////D4MgOYQhNSAzIDZC/////w+DhCE0IDcgOIQhNiA5QiCIpyEIIDpCIIinIQogM0IgiKchFCA4QiCIpyEjICwhLyArITAgKCExICkhMiA7Qv////8PgyA6hAshMyAMQfgAaiEkIBogBSkDwAE3AgAgGSAFKQOwATcCACAaQQhqIAUoAsgBNgIAIBlBCGogBUG4AWooAgA2AgAgBSAvOALcASAFIB82AtABIAUgMDgC+AEgBSAgNgLsASAFIDE4ApQCIAUgITYCiAIgBSA2Qv////8PgyAjrUIghoQ3AtQBIAUgNEL/////D4MgFK1CIIaENwPwASAFIDNC/////w+DIAqtQiCGhDcCjAIgGCAFKQOgATcCACAYQQhqIAVBqAFqKAIANgIAIBcgBSkDkAE3AgAgF0EIaiAFQZgBaigCADYCACAFIDI4ArACIAUgNUL/////D4MgCK1CIIaENwOoAiAFICI2AqQCIAUgKTgC/AIgBSAoOAL4AiAFICs4AvQCIAUgLDgC8AIgBkEVdkEIcSAGQQ52QQRxIAZBB3ZBAnEgBkEBcXJycq0hNCAbKAIAISVCACE1A0AgNSIzQgF8ITUCQCA0IDOIp0EBcUUNACAzpyEGICQtAABBAXEEQCAGQQJ0IgkgBUHwAmpqKgIAIiggKl1FDQEgBUHQAWogBkEcbGoiBygCBCIGQQRGDQEgJSAJIAxqQeAAaigCAE0NASAHKQIUITwgBygCECEcIAcqAgwhLSAHKgIIIS4gBiEPICghKgwBCyAGQQJ0IgYgDGpB4ABqKAIAIhUgE08NACAFQfACaiAGaioCAIwhKCAFKAJ4IgYhByAFKAJwIAZGBEAgBUHwAGogBhC4BiAFKAJ4IQcLIAUoAnQiCSAHQQN0aiIWICg4AgQgFiAVNgIAIAUgB0EBajYCeCAJIAZBA3RqIgcqAgQhKCAHKAIAIRUCQCAGRQRAQQAhBwwBCwNAQQBBfyAJIAZBAWsiFkEBdiIHQQN0aiImQQRqKgIAIikgKF8iJxtBAUECICcbICggKV8bQQFqQQJJBEAgBiEHDAILIAkgBkEDdGogJikCADcCACAHIQYgFkEBSw0ACwsgCSAHQQN0aiIGICg4AgQgBiAVNgIACyA1QgRSDQALIAVBgAFqIAVB8ABqEPYCIAUoAoABQQFGDQEMAgsLICu8IgFBBEcEQCAJQYCAgAhxIAZyIRwgPSE8ICkhLSAoIS4gASEPCyAFKAJwRQ0BIAUoAnQQtQEMAQsgBSgCcEUNACAFKAJ0ELUBCyAPQQRHDQELIABBBDYCAAwBCyAAIDw3AhAgACAcNgIMIAAgLTgCCCAAIC44AgQgACAPNgIACyAFQYADaiQAC9cYAhl/A34jAEHAA2siAiQAIAAiBwJ/IAEoAgAiAEUEQCAHQSBqQQA2AgBBAAwBCyABIABBAWs2AgAgAiABKAIEIgQ2AgQgAkGAA2ogBBC5BAJAIAIoAoADBEAgAigChAMhAQwBCyACQYgDaiIAKQMAIRwgAigChAMhGCACQYADaiAEELkEIAIoAoADBEAgAigChAMhAQwBCyACQQM2AgAgBCgCBCIBQQdNBEAgAkKBygA3A4ADIAJBgANqEIkLIQEMAQsgACkDACEdIAIoAoQDIRkgBCABQQhrNgIEIAQgBCgCACIAQQhqNgIAIAJB0AJqIAApAAAQhwYgAigC1AIhACACKALQAgRAIAAhAQwBCwJAAkACQAJAAkACQAJAAkACQAJAIABBgCAgAEGAIEkbIgZFBEBBECEKDAELIAZBB3QiAUEQEPcLIgpFDQELIAJBADYCECACIAo2AgwgAiAGNgIIIAAEQCACQaACaiIBQRxqIRMgAUEMaiEUIAJB8AFqIgFBHGohFSABQQxqIRcgAkGIA2ohCANAIAIgBDYC7AEgAkECNgLoASACQYADaiACQegBahDFASACKAKEAyEBIAIoAoADIgNBAkYNCiACQdACaiIGQShqIgUgCEEoaiIPKAIANgIAIAZBIGoiCSAIQSBqIhApAgA3AwAgBkEYaiILIAhBGGoiESkCADcDACAGQRBqIgwgCEEQaiISKQIANwMAIAZBCGoiDSAIQQhqIhYpAgA3AwAgAiAIKQIANwPQAiADRQ0DIAJB8AFqIgZBKGogBSgCADYCACAGQSBqIAkpAwA3AwAgBkEYaiALKQMANwMAIAZBEGogDCkDADcDACAGQQhqIhogDSkDADcDACACIAIpA9ACNwPwASACQYADaiACQegBahDFASACKAKEAyEGIAIoAoADIgNBAkYNBCAFIA8oAgA2AgAgCSAQKQIANwMAIAsgESkCADcDACAMIBIpAgA3AwAgDSAWKQIANwMAIAIgCCkCADcD0AIgA0UEQEEBIAJBuANqQfyAwAAQ5gchAQwLCyACQaACaiIDQShqIAUoAgA2AgAgA0EgaiAJKQMANwMAIANBGGogCykDADcDACADQRBqIAwpAwA3AwAgA0EIaiIDIA0pAwA3AwAgAkHgAWoiCSAaKAIANgIAIAIgAikD0AI3A6ACIAIgAikD8AE3A9gBIAIgF0EIaikCADcDyAEgAiAXKQIANwPAASACIBVBCGopAgA3A7gBIAIgFSkCADcDsAEgAkGoAWoiCyADKAIANgIAIAIgAikDoAI3A6ABIAIgFEEIaikCADcDmAEgAiAUKQIANwOQASACIBNBCGopAgA3A4gBIAIgEykCADcDgAEgBCgCBCIFQQNNBEAgAkKBygA3A4ADIAJBgANqEIkLIQEMCwsgBCAFQQRrIgw2AgQgBCAEKAIAIgNBBGo2AgAgDEEDTQRAIAJCgcoANwOAAyACQYADahCJCyEBDAsLIAMoAAAhDCAEIAVBCGsiDTYCBCAEIANBCGo2AgAgDUEDTQRAIAJCgcoANwOAAyACQYADahCJCyEBDAsLIAMoAAQhDSAEIAVBDGsiDzYCBCAEIANBDGo2AgAgD0EDTQRAIAJCgcoANwOAAyACQYADahCJCyEBDAsLIAMoAAghDyAEIAVBEGsiEDYCBCAEIANBEGo2AgAgEEEDTQRAIAJCgcoANwOAAyACQYADahCJCyEBDAsLIAMoAAwhECAEIAVBFGsiETYCBCAEIANBFGo2AgAgEUUEQCACQoHKADcDgAMgAkGAA2oQiQshAQwLCyADKAAQIREgBCAFQRVrIhI2AgQgBCADQRVqNgIAIBJFBEAgAkKBygA3A4ADIAJBgANqEIkLIQEMCwsgAEEBayEAIAMtABQhEiAEIAVBFms2AgQgBCADQRZqNgIAIAJB+ABqIgUgCSgCADYCACACQcgAaiIJIAsoAgA2AgAgAiACKQPYATcDcCACIAIpA8ABNwNgIAIgAikDyAE3A2ggAiACKQOwATcDUCACIAIpA7gBNwNYIAIgAikDoAE3A0AgAy0AFSELIAIgAikDmAE3AzggAiACKQOQATcDMCACIAIpA4ABNwMgIAIgAikDiAE3AyggAkHIAWoiFiAFKAIANgIAIAIgAikDcDcDwAEgAiACKQNgNwOAAyACIAIpA2g3A4gDIAIgAikDUDcD0AIgAiACKQNYNwPYAiACQbgBaiIFIAkoAgA2AgAgAiACKQNANwOwASACIAIpAzg3A6gCIAIgAikDMDcDoAIgAiACKQMoNwP4ASACIAIpAyA3A/ABIAJBggFqIgkgAkEfai0AADoAACACIAIvAB07AYABIAIgAkEZaigAADYAkwEgAiACKAAWNgKQASACKAIIIA5GBEAgAkEIaiAOEMAGIAIoAhAhDiACKAIMIQoLIAogDkEHdGoiAyABNgIAIANBDGogFigCADYCACADIAIpA8ABNwIEIAMgAikDgAM3AxAgA0EYaiACKQOIAzcDACADQShqIAIpA9gCNwMAIAMgAikD0AI3AyAgAyAGNgIwIANBPGogBSgCADYCACADIAIpA7ABNwI0IAMgAikDoAI3A0AgA0HIAGogAikDqAI3AwAgAyACKQPwATcDUCADQdgAaiACKQP4ATcDACADIBI6AHQgAyARNgJwIAMgEDYCbCADIA82AmggAyANNgJkIAMgDDYCYCADQfcAaiAJLQAAOgAAIAMgAi8BgAE7AHUgAyALOgB4IANB/ABqIAIoAJMBNgAAIAMgAigCkAE2AHkgAiAOQQFqIg42AhAgAA0ACyACKAIMIQogAigCCCEGCyAKRQRAIAYhAQwKCyACQYADaiACEK8DIAIoAoADDQMgAkGIA2ooAgAiCUUEQEECQbiOwABBjIPAABDmByEBDAgLIAJBjANqKAIAIRMgAigChAMhCyACQYADaiACEK8DAkAgAigCgANFBEAgAkGIA2ooAgAiDEUEQEEDQbiOwABBjIPAABDmByEBDAkLIAIoAoQDIQ0gAigCAARAIAIoAgQiAygCBCIAQQdNBEAgAkKBygA3A4ADIAJBgANqEIkLIQEMCQsgAkGMA2ooAgAhFCADIABBCGsiBTYCBCADIAMoAgAiAEEIajYCACACQdACaiAAKQAAEIcGIAIoAtQCIQEgAigC0AINCAJAIAFBgCAgAUGAIEkbIgBFBEBBBCEEDAELIABBDGwiCEEEEPcLIgRFDQgLQQAhCCACQQA2AogDIAIgBDYChAMgAiAANgKAAyABBEADQAJAAn8gBUEDTQRAIAJCgcoANwPQAiACQdACahCJCwwBCyADIAVBBGsiBTYCBCADIAMoAgAiAEEEajYCACAFRQRAIAJCgcoANwPQAiACQdACahCJCwwBCyAAKAAAIRUgAyAFQQFrIgU2AgQgAyAAQQVqNgIAIAVBA0sNASACQoHKADcD0AIgAkHQAmoQiQsLIQEgAigCgANFDQsgAigChAMQtQEMCwsgAUEBayEBIAAxAAQhGyADIAVBBGsiBTYCBCADIABBCWo2AgAgGyAANQAFQiCGhCEbIAIoAoADIAhGBEAgAkGAA2ogCBC0BiACKAKIAyEIIAIoAoQDIQQLIAQgCEEMbGoiACAbNwIEIAAgFTYCACACIAhBAWoiCDYCiAMgAQ0ACyACKAKEAyEEIAIoAoADIQALIAQNAiAAIQEMCAtBBEG4jsAAQYyDwAAQ5gchAQwHCyACKAKEAyEBDAcLIAcgGDYCBCAHQcgAaiAINgIAIAdBxABqIAQ2AgAgB0FAayAANgIAIAdBPGogFDYCACAHQThqIAw2AgAgB0E0aiANNgIAIAdBMGogEzYCACAHQSxqIAk2AgAgB0EoaiALNgIAIAdBJGogDjYCACAHQSBqIAo2AgAgB0EcaiAGNgIAIAdBFGogHTcCACAHQRBqIBk2AgAgB0EIaiAcNwIAQQAMCgsgAUEQQcjvwwAoAgAiAEGKByAAGxEAAAALQQAgAkG4A2pB/IDAABDmByEBDAYLIAYhAQwFCyACKAKEAyEBDAMLIAhBBEHI78MAKAIAIgBBigcgABsRAAAACyANRQ0AIAwQtQELIAtFDQAgCRC1AQsgBkUNASAKELUBDAELIAIoAghFDQAgChC1AQsgByABNgIEQQELNgIAIAJBwANqJAALiEYDDH8qfQJ+IwBBwAJrIggkACAIQYABaiADIARB4ABqKAIAIgkRAAAgCCgCgAEiCiAIKAKEAUEMaigCABEGACE+IAhB+ABqIAUgBkHgAGooAgAiDhEAAAJAAkACQAJAAkACQAJAAkACQAJAIApBACA+QtPy/sOGxe2cvH9RGyIMQQAgCCgCeCIKQQAgCiAIKAJ8QQxqKAIAEQYAQtPy/sOGxe2cvH9RGyIKG0UEQCAMQQAgBSAGKAKkAREEABsNASAKQQAgAyAEKAKkAREEABsNAiAIQfAAaiADIAkRAAAgCCgCcCIMIAgoAnRBDGooAgARBgAhPyAIQegAaiAFIA4RAAAgCCgCaCIKIAgoAmxBDGooAgARBgAhPiAMQQAgP0K1wfyA4MOcm3NRGyIMBEAgCkEAID5CtcH8gODDnJtzURsiCg0ECyAIQeAAaiADIAkRAAAgCCgCYCIMIAgoAmRBDGooAgARBgAhPyAIQdgAaiAFIA4RAAAgCCgCWCIKIAgoAlxBDGooAgARBgAhPiAMQQAgP0K1wfyA4MOcm3NRGyIMBEAgCkEAID5CtcH8gODDnJtzURsiCg0FCyAIQdAAaiADIAkRAAAgCCgCUCIMIAgoAlRBDGooAgARBgAhPyAIQcgAaiAFIA4RAAAgCCgCSCIKIAgoAkxBDGooAgARBgAhPiAMQQAgP0KB/J7Rk++WozxRGyIMBEAgCkEAID5CgdDa5fGu+N+Af1EbIgoNBgsgCEFAayADIAkRAAAgCCgCQCIKIAgoAkRBDGooAgARBgAhPiAIQThqIAUgBigCqAEiCxEAACAKQQAgPkLhk8fU3Om5+dQAURsiDARAIAgoAjgiCg0HCyAIQTBqIAMgBCgCqAEiCREAACAIKAI0IQwgCCgCMCEPIAhBKGogBSAOEQAAIAgoAigiCiAIKAIsQQxqKAIAEQYAIT4gDwRAIApBACA+QuGTx9Tc6bn51ABRGyIKDQgLIAhBIGogAyAJEQAAIAgoAiQhDCAIKAIgIQkgCEEYaiAFIAsRAAAgCQRAIAgoAhgiCg0JCyAIQRBqIAMgBCgCrAERAAAgCCgCECIKRQ0JIAAgASACIAogCCgCFCAFIAYgBxA5DAoLAn8CQCAHQwAAAABgBEAgCioCACEuIAwqAgAhICACKgIQIh8gH5QgAkEUaioCACIYIBiUkiACQRhqKgIAIhUgFZSSQwAAAACSIh0QkwEiFiAHkyEUIBQgICAukiIHXw0BQQIMAgsgCEHkAWpBATYCACAIQewBakEANgIAIAhB/IrCADYC4AEgCEHk78EANgLoASAIQQA2AtgBIAhB2AFqQYiMwgAQ0woAC0EAIAcgFmANABogHyAdEJMBIgeVIh4gAioCDCIXIBggB5UiHCACQQhqKgIAIhmUIBUgB5UiGiACQQRqKgIAIhuUkyIHIAeSIhWUIBkgGiACKgIAIhiUIB4gGZSTIgcgB5IiHZQgGyAeIBuUIBwgGJSTIgcgB5IiFpSTkpIgLowiFJQhHyAaIBcgFpQgGyAVlCAYIB2Uk5KSIBSUIQcgHCAXIB2UIBggFpQgGSAVlJOSkiAUlCEuICAgGpQhGCAgIByUIRUgICAelCEgQQELIQEgACAHOAIYIAAgLjgCFCAAIB84AhAgACAYOAIMIAAgFTgCCCAAICA4AgQgACABNgIADAkLIAwqAgAhFiAIQbgBaiIEQQhqIgEgAkEIaikCADcDACAEQRhqIgMgAkEYaigCADYCACABIAEqAgAiHow4AgAgCCACKQIQNwPIASAIIAIpAgA3A7gBIB4gCCoCyAEiGJQgCCoCuAEiHCADKgIAIheUkyIUIBSSIRogHCAEQRRqIgEqAgAiFZQgCCoCvAEiGSAYlJMiFCAUkiEbIAEgCCoCxAEiHSAalCAcIBuUIB4gGSAXlCAeIBWUkyIUIBSSIhSUk5IgFZM4AgAgAyAdIBuUIBkgFJQgHCAalJOSIBeTOAIAIAggHIw4ArgBIAggGYw4ArwBIAggHSAUlCAeIBqUIBkgG5STkiAYkzgCyAEgCEHYAWogBCAFIAYgFiAHEI4CIAACf0ECIAgoAtgBRQ0AGiAIQYwCaioCACEHIAhBkAJqIgpBEGogCEHYAWoiBkEUaikCADcDACAKQQhqIAhB5AFqIgQpAgA3AwAgCkEoaiAGQSxqKQIANwMAIApBIGogCEH8AWopAgAiPzcDACAKQRhqIAhB9AFqKQIAIj43AwAgCEGIAWoiBUEIaiIDIApBFGooAgA2AgAgCCAIKQLcATcDkAIgCCAIKQKcAjcDiAEgBUEsaiA/PgIAIAggPjcCrAEgBUEYaiICIAgpArQCNwMAIAVBIGoiASAKQSxqKAIANgIAIAVBFGogBCgCADYCACAIIAgpAtwBNwKUASAGQShqIAVBKGopAwA3AwAgBkEgaiABKQMANwMAIAZBGGogAikDADcDACAGQRBqIAVBEGopAwA3AwAgBkEIaiADKQMANwMAIAggCCkDiAE3A9gBQQAgB0MAAAAAXw0AGiAIQZgCaiAIQZABaigCADYCACAIQcABaiAIQewBaigCADYCACAIIAgpA4gBNwOQAiAIIAgpAuQBNwO4AUEBCzYCACAAIAgpA5ACNwIEIAAgCCkDuAE3AhAgAEEMaiAIQZgCaigCADYCACAAQRhqIAhBwAFqKAIANgIADAgLIAhB2AFqIAIgAyAEIAoqAgAgBxCOAiAAAn9BAiAIKALYAUUNABogCEG4AmogCEGEAmopAgA3AwAgCEGwAmogCEH8AWopAgA3AwAgCEGoAmogCEH0AWopAgA3AwAgCEGgAmogCEHsAWopAgA3AwAgCEGYAmogCEHkAWopAgA3AwAgCCAIKQLcATcDkAJBACAIQYwCaioCAEMAAAAAXw0AGiAIQZABaiAIQdgBakEEciIBQQhqKAIANgIAIAhBwAFqIAhBpAJqKAIANgIAIAggCCkCnAI3A7gBIAggASkCADcDiAFBAQs2AgAgACAIKQOIATcCBCAAIAgpA7gBNwIQIABBDGogCEGQAWooAgA2AgAgAEEYaiAIQcABaigCADYCAAwHCyAIQdgBaiIBIAIgDCAKIAcQhgEgAEEYaiABQRhqKAIANgIAIABBEGogAUEQaikDADcCACAAQQhqIAFBCGopAwA3AgAgACAIKQPYATcCAAwGCyAIQdgBaiIBIAIgDCAKIAcQhgEgAEEYaiABQRhqKAIANgIAIABBEGogAUEQaikDADcCACAAQQhqIAFBCGopAwA3AgAgACAIKQPYATcCAAwFCyAIQdgBaiENIAchHSMAQdACayIFJAAgBUEIaiIGIAJBCGopAgA3AwAgBUEYaiIEIAJBGGooAgA2AgAgBiAGKgIAIhmMOAIAIAUgAikCEDcDECAFIAIpAgA3AwAgGSAFKgIQIhWUIAUqAgAiGiAEKgIAIhaUkyIHIAeSIRggGiAFQRRqIgEqAgAiFJQgBSoCBCIbIBWUkyIHIAeSIRcgASAFKgIMIikgGJQgGiAXlCAZIBsgFpQgGSAUlJMiByAHkiIHlJOSIBSTIiE4AgAgBCApIBeUIBsgB5QgGiAYlJOSIBaTIio4AgAgBSAajDgCACAFIBuMOAIEIAUgKSAHlCAZIBiUIBsgF5STkiAVkyIgOAIQIAVBIGoiA0EIaiIBIAYpAwA3AwAgA0EYaiICIAQoAgA2AgAgASABKgIAIiWMOAIAIAUgBSkDEDcDMCAFIAUpAwA3AyAgJSAFKgIwIhWUIAUqAiAiJCACKgIAIhaUkyIHIAeSIRggJCADQRRqIgEqAgAiFJQgBSoCJCImIBWUkyIHIAeSIRcgASAFKgIsIjEgGJQgJCAXlCAlICYgFpQgJSAUlJMiByAHkiIHlJOSIBSTIho4AgAgAiAxIBeUICYgB5QgJCAYlJOSIBaTIhs4AgAgBSAkjCIuOAIgIAUgJow4AiQgBSAxIAeUICUgGJQgJiAXlJOSIBWTIhg4AjAgBUFAayAKIAwiAyAFEJ8BAkACQAJAIAUqAkAiMiAdXkUEQCAFQYACaiADQQhqIgEoAgA2AgAgBSADKQIANwP4ASAFIAMqAgwiOCADKgIAIjOTIhcgA0EcaioCACI5IANBBGoqAgAiK5MiFZQgA0EQaioCACI6ICuTIgcgAyoCGCI7IDOTIhaUkyIZIBmUIAcgA0EgaioCACI8IAEqAgAiI5MiFJQgA0EUaioCACI9ICOTIgcgFZSTIhUgFZQgByAWlCAXIBSUkyIUIBSUkpJDAAAAAJIiB0MAAIAoXgR/IAVBlAFqIBkgBxCTASIHlTgCACAFQZABaiAUIAeVOAIAIAUgFSAHlTgCjAFBAQVBAAs2AogBIAVB0ABqIAVB+AFqIAVBiAFqIAogBUEgahDFAiAFKgJQIjQgHV4NASADQRhqIQQgA0EMaiECIAUqAgQhJyAFKgIIISIgBSoCACEoIAVB8AFqQQA2AgAgBUHgAWpBADYCACAFQYgBaiIBQcQAakIANwIAIAFBNGpBADYCACAFQagBakIANwMAIAVBmAFqQQA2AgAgBUHsAWogICAzICkgIyAnlCArICKUkyIHIAeSIh+UICcgKyAolCAzICeUkyIHIAeSIh6UICIgMyAilCAjICiUkyIHIAeSIhyUk5KSkiIsICAgOyApIDwgJ5QgOSAilJMiByAHkiIZlCAnIDkgKJQgOyAnlJMiByAHkiIXlCAiIDsgIpQgPCAolJMiByAHkiIVlJOSkpIiL5MiNTgCACAFQdgBaiAhICsgKSAclCAiIB+UICggHpSTkpKSIi0gISA5ICkgFZQgIiAZlCAoIBeUk5KSkiIwkyI2OAIAIAVByAFqIC8gICA4ICkgPSAnlCA6ICKUkyIHIAeSIhaUICcgOiAolCA4ICeUkyIHIAeSIhSUICIgOCAilCA9ICiUkyIHIAeSIgeUk5KSkiIrkyI3OAIAIAFBLGogMCAhIDogKSAHlCAiIBaUICggFJSTkpKSIiCTIiI4AgAgAUEcaiArICyTIiE4AgAgBUHkAWogNYw4AgAgBUHAAWogN4w4AgAgAUEUaiAhjDgCACAFICogIyApIB6UICggHJQgJyAflJOSkpIiHyAqIDwgKSAXlCAoIBWUICcgGZSTkpKSIh6TIhw4AtwBIAVB1AFqIByMOAIAIAUgHiAqID0gKSAUlCAoIAeUICcgFpSTkpKSIgeTIhk4ArgBIAVBsAFqIBmMOAIAIAVBADYCiAEgBSAgIC2TIiM4ApABIAUgNow4AugBIAUgIow4AsQBIAUgI4w4AqABIAUgByAfkyIXOAKUASAFIBeMIio4AowBIAVB+AFqIgFBxABqIAdDAAAAAJQgICA1lCArIDaUk5I4AgAgBUG0AmogIEMAAAAAlCArIByUkiAHIDWUkzgCACABQTRqIAcgNpQgK0MAAAAAlCAgIByUk5I4AgAgAUEsaiAeQwAAAACUIhYgMCA3lCAvICKUk5I4AgAgBUGcAmogMEMAAAAAlCIUIC8gGZSSIB4gN5STOAIAIAFBHGogHiAilCAvQwAAAACUIgcgMCAZlJOSOAIAIAFBFGogFiAwICGUIC8gI5STkjgCACABQQxqIBQgLyAXlJIgHiAhlJM4AgAgBSAfQwAAAACUIhUgLSA1lCAsIDaUk5I4ArgCIAUgLUMAAAAAlCIWICwgHJSSIB8gNZSTOAKwAiAFIB8gNpQgLEMAAAAAlCIUIC0gHJSTkjgCqAIgBSAVIC0gN5QgLCAilJOSOAKgAiAFIBYgLCAZlJIgHyA3lJM4ApgCIAUgHyAilCAUIC0gGZSTkjgCkAIgBSAVIC0gIZQgLCAjlJOSOAKIAiAFIBYgLCAXlJIgHyAhlJM4AoACIAUgHiAjlCAHIDAgF5STkjgC/AEgBSAfICOUIBQgLSAXlJOSOAL4ASAKKAIIIgtB/////wdxIRIgCigCBCIGQf////8HcSETIAooAgAiCUH/////B3EhDiAGviEZQ///f/8hB0MAAAAAISADQAJAIAVBiAFqIBBqIhEqAgAiFCAUlCARQQRqIgwqAgAiFCAUlJIgEUEIaiIGKgIAIhQgFJSSQwAAAACSIhRDAAAANF5FDQAgFBCTASEhIAEqAgAiFyABQQRqKgIAIhVeIQ8gFyAVIA8bjCAhlSARKgIAIh8gH7xBgICAgHhxIA5yvpQgDCoCACIeIB68QYCAgIB4cSATcr6UkiAGKgIAIhwgHLxBgICAgHhxIBJyvpSSICGVIhSTIRYgFSAXIA8bICGVIBSTIhQgB14EQCAcICGVISMgHiAhlSEqIB8gIZUhICAUIQcLIAcgFl1FDQAgHIwgIZUhIyAejCAhlSEqIB+MICGVISAgFiEHCyABQQhqIQEgEEEMaiIQQewARw0ACwJAAkACQAJAAkAgByAdXkUEQAJAIDJDAAAAAF9FDQAgNEMAAAAAX0UNACAHQwAAAABfDQILIAcgMl8gMiA0YHENAiAyIDRfIAcgNF9xDQMgByA0YCAHIDJgcQ0EQZCOwgBBKEHckMIAENkJAAsgBUECNgKIAQwHCyAFQQA2AogBDAYLIAVBkAFqIgQgBUHMAGooAgA2AgAgBCAEKgIAjDgCACAFIAUpAkQ3A4gBIAUgBSoCiAGMOAKIASAFIAUqAowBjDgCjAEgBUH4AWogAyAFIAVBiAFqEPQCIAUCfyAJviIUjCAFKgL4ASIakyIHQwAAAAAgB0MAAAAAYBsgGiAUkyIHQwAAAAAgB0MAAAAAYBuTIhZDAAAAAFsgGYwgBSoC/AEiG5MiB0MAAAAAIAdDAAAAAGAbIBsgGZMiB0MAAAAAIAdDAAAAAGAbkyIXQwAAAABbcSALviIUjCAFKgKAAiIYkyIHQwAAAAAgB0MAAAAAYBsgGCAUkyIHQwAAAAAgB0MAAAAAYBuTIgdDAAAAAFtxIQJBAiAYIBhDAAAAgCAHIAIbkiIVkyIHIAeUIBogGkMAAACAIBYgAhuSIhaTIgcgB5QgGyAbQwAAAIAgFyACG5IiFJMiByAHlJKSQwAAAACSIB0gHZReDQAaIAVBlAFqIBU4AgAgBCAUOAIAIAVBoAFqIAUqAjggGCAxIBsgLpQgGiAFKgIkIheUkyIHIAeSIh2UIBogBSoCKCIVlCAkIBiUkiIHIAeSIhQgLpQgFyAXIBiUIBUgG5STIgcgB5IiB5STkpKSOAIAIAVBnAFqIAUqAjQgGyAxIBSUICQgHZQgFSAHlJKSkpI4AgAgBSAWOAKMASAFIAUqAjAgGiAxIAeUIBcgHZQgFSAUlJOSkpI4ApgBQQELIgE2AogBDAILICYgBSoCLCIfICUgBUHQAGoiAUEIaioCACIelCAmIAFBDGoqAgAiHJSTIgcgB5IiGZQgJiAmIAUqAlQiFZQgJCAelJMiByAHkiIWlCAlICQgHJQgJSAVlJMiByAHkiIUlJOSIBWTvEGAgICAeHEgDnK+IheUICQgHyAUlCAlIBmUICQgFpSTkiAek7xBgICAgHhxIBNyviIVlJMiByAHkiEeIAUgGyAfIB6UICYgJSAVlCAmIBYgH5QgJCAUlCAmIBmUk5IgHJO8QYCAgIB4cSAScr4iFpSTIgcgB5IiFJQgJCAkIBaUICUgF5STIgcgB5IiB5STkiAWkpI4AoACIAUgGiAfIAeUICQgHpQgJSAUlJOSIBWSkjgC/AEgBSAYIB8gFJQgJSAHlCAmIB6Uk5IgF5KSOAL4ASAFQYgBaiADIAVB+AFqQQEQQkECIQEgBSoC+AEiHCAFKgKIASIVkyIHIAeUIAUqAvwBIhkgBSoCjAEiFpMiByAHlJIgBSoCgAIiGiAFKgKQASIUkyIHIAeUkkMAAAAAkiAdIB2UXkUEQCAFQaABaiAUOAIAIAVBnAFqIBY4AgAgBUGIAWoiAUEMaiAFKgIYIBogBSoCDCIdIBkgBSoCACIblCAcIAUqAgQiGJSTIgcgB5IiFpQgGyAcIAUqAggiF5QgGiAblJMiByAHkiIUlCAYIBogGJQgGSAXlJMiByAHkiIHlJOSkpI4AgAgAUEIaiAFKgIUIBkgHSAUlCAXIAeUIBsgFpSTkpKSOAIAIAUgFTgCmAEgBSAFKgIQIBwgHSAHlCAYIBaUIBcgFJSTkpKSOAKMAUEBIQELIAUgATYCiAEMAQsgBSAjOAKAASAFICo4AnwgBSAgOAJ4IAVBwAJqIgtBCGogCkEIaigCADYCACAFIAopAgA3A8ACIAVB+AFqIgpBCGoiCUEANgIAIAVCADcD+AFBAiAqiyIUICCLIgddIgEgI4sgFCAHIAEbXRsiBkECdCIMIAtqKgIAIQcgCiAMaiAHOAIAIAZBAWpBA3BBAnQiASAKaiABIAtqKgIAIAEgBUH4AGoiAWoqAgCYOAIAIAZBAmpBA3BBAnQiBiAKaiAGIAtqKgIAIAEgBmoqAgCYOAIAIAVBiAFqIgFBCGoiCiAJKAIAIgY2AgAgBSAFKQP4ASI+NwOIASABIAxqIAeMOAIAIAVB4ABqIgFBCGogBjYCACAFID43A2AgAUEUaiAKKAIANgIAIAUgBSkDiAE3AmwCQAJAAkBBAiA9IAUqAiwiGCAgIAUqAiQiFZQgKiAFKgIgIhqUkyIHIAeSIhaUIBogIyAalCAgIAUqAigiG5STIgcgB5IiFJQgFSAqIBuUICMgFZSTIgcgB5IiB5STkiAjkyIXlCA4IBggB5QgFSAWlCAbIBSUk5IgIJMiFZQgOiAYIBSUIBsgB5QgGiAWlJOSICqTIhaUkpIiFCADIgFBCGoqAgAgF5QgMyAVlCABQQRqKgIAIBaUkpIiB10iBiA8IBeUIDsgFZQgOSAWlJKSIBQgByAGG10bDgIAAQILIAIhASAEIQIMAQsgBCEBIAMhAgsgCSABQQhqKAIANgIAIAVB+AFqIgNBFGogAkEIaigCADYCACAFIAEpAgA3A/gBIAUgAikCADcChAIgBUGIAWogBSAFQeAAaiADIB0QhgEgBSgCiAEhAQsgAUEBRw0CIA0gBSkDmAE3AgQgDSAFKQKMATcCECANQQE2AgAgDUEMaiAFQYgBaiIBQRhqKAIANgIAIA1BGGogAUEMaigCADYCAAwDCyAFQQI2AogBDAELIAVBAjYCiAELIA0gBSkDiAE3AgAgDUEYaiAFQYgBaiIBQRhqKAIANgIAIA1BEGogAUEQaikDADcCACANQQhqIAFBCGopAwA3AgALIAVB0AJqJAAgAEEYaiANQRhqKAIANgIAIABBEGogDUEQaikDADcCACAAQQhqIA1BCGopAwA3AgAgACAIKQPYATcCAAwECyAIQdgBaiIBIAIgDCAKIAgoAjwgBxCeAyAAQRhqIAFBGGooAgA2AgAgAEEQaiABQRBqKQMANwIAIABBCGogAUEIaikDADcCACAAIAgpA9gBNwIADAMLIAhB2AFqIQUjAEFAaiIGJAAgBkEgaiIEQQhqIgEgAkEIaikCADcDACAEQRhqIgMgAkEYaigCADYCACABIAEqAgAiHIw4AgAgBiACKQIQNwMwIAYgAikCADcDICAcIAYqAjAiF5QgBioCICIZIAMqAgAiFZSTIhQgFJIhGyAZIAZBNGoiASoCACIdlCAGKgIkIhogF5STIhQgFJIhGCABIAYqAiwiFiAblCAZIBiUIBwgGiAVlCAcIB2UkyIUIBSSIhSUk5IgHZM4AgAgAyAWIBiUIBogFJQgGSAblJOSIBWTOAIAIAYgGYw4AiAgBiAajDgCJCAGIBYgFJQgHCAblCAaIBiUk5IgF5M4AjAgBiAEIAogDyAMIAcQngMCQCAGKAIAQQFGBEAgBSAGKQMQNwIEIAUgBikCBDcCECAFQQE2AgAgBUEMaiAGQRhqKAIANgIAIAVBGGogBkEMaigCADYCAAwBCyAFIAYpAwA3AgAgBUEYaiAGQRhqKAIANgIAIAVBEGogBkEQaikDADcCACAFQQhqIAZBCGopAwA3AgALIAZBQGskACAAQRhqIAVBGGooAgA2AgAgAEEQaiAFQRBqKQMANwIAIABBCGogBUEIaikDADcCACAAIAgpA9gBNwIADAILIAhB2AFqIQsgCSEBIAgoAhwhBiMAQaACayIJJAAgCUHYAWpBADYCACAJQegBakEANgIAIAlCADcD0AEgCUIANwPgASAJQoKAgIAwNwM4IAlCgICAgBA3AzAgCUFAa0EAQZABEOMMGgJAIAIqAhAiFSAVlCACQRRqKgIAIh0gHZSSIAJBGGoqAgAiFiAWlJJDAAAAAJIiFEMAAIAoXgRAIAlB8AFqIgNBCGoiBSAWjCAUEJMBIhSVOAIAIAkgHYwgFJU4AvQBIAkgFYwgFJU4AvABDAELIAlB8AFqIgNBCGoiBUEANgIAIAlCgICA/AM3A/ABCyAJQYACaiABIAMgDEEMaigCABEBACAJQQhqIgNBCGoiBCAFKAIANgIAIAQgBCoCAIw4AgAgCSAJKQPwATcDCCAJIAkqAgiMOAIIIAkgCSoCDIw4AgwgCUGQAmogCiACIAMgBigCFBECACAJQcQAaiAJKgKEAiIXIAkqApQCIhWTOAIAIAlBADYC7AEgCUEANgLcASAJIAkqAoACIh0gCSoCkAIiFpM4AkAgCSoCiAIhGCAJQeAAaiAJKgKYAiIUOAIAIAlB3ABqIBU4AgAgCUEwaiIEQShqIBY4AgAgCUHUAGogGDgCACAJQdAAaiAXOAIAIAlBzABqIB04AgAgBEEYaiAYIBSTOAIAIAMgAiABIAwgCiAGIAdBASAEEJwBAkACQAJAAkAgCSgCCCIBQQFrDgMAAQIDCyALIAkpAgw3AgQgC0EMaiAJQQhqIgFBDGooAgA2AgAgCSoCGCACKgIQkyIVIAJBBGoqAgAiGZQgAUEUaioCACACKgIUkyIdIAIqAgAiGpSTIgcgB5IhGyAdIAJBCGoqAgAiGJQgAUEYaioCACACKgIYkyIWIBmUkyIHIAeSIRcgC0EYaiAWIAIqAgwiFCAblCAZIBeUIBogFiAalCAVIBiUkyIHIAeSIgeUk5KSOAIAIAtBFGogHSAUIAeUIBogG5QgGCAXlJOSkjgCACALIBUgFCAXlCAYIAeUIBkgG5STkpI4AhBBASEBDAILQZCOwgBBKEGgk8IAENkJAAtBAiEBCyALIAE2AgAgCUGgAmokACAAQRhqIAtBGGooAgA2AgAgAEEQaiALQRBqKQMANwIAIABBCGogC0EIaikDADcCACAAIAgpA9gBNwIADAELIAhBCGogBSAGKAKsAREAACAIKAIIIgYEQCAIKAIMIQUjAEFAaiILJAAgC0EgaiIJQQhqIgwgAkEIaikCADcDACAJQRhqIgogAkEYaigCADYCACAMIAwqAgAiHIw4AgAgCyACKQIQNwMwIAsgAikCADcDICAcIAsqAjAiF5QgCyoCICIZIAoqAgAiFZSTIhQgFJIhGyAZIAtBNGoiAioCACIdlCALKgIkIhogF5STIhQgFJIhGCACIAsqAiwiFiAblCAZIBiUIBwgGiAVlCAcIB2UkyIUIBSSIhSUk5IgHZM4AgAgCiAWIBiUIBogFJQgGSAblJOSIBWTOAIAIAsgGYw4AiAgCyAajDgCJCALIBYgFJQgHCAblCAaIBiUk5IgF5M4AjAgCyABIAkgBiAFIAMgBCAHEDkCQCALKAIAQQFGBEAgACALKQMQNwIEIAAgCykCBDcCECAAQQE2AgAgAEEMaiALQRhqKAIANgIAIABBGGogC0EMaigCADYCAAwBCyAAIAspAwA3AgAgAEEYaiALQRhqKAIANgIAIABBEGogC0EQaikDADcCACAAQQhqIAtBCGopAwA3AgALIAtBQGskAAwBCyAAQQM2AgALIAhBwAJqJAALwCECDX0VfyMAQbABayIRJAAgASgCAEH/////B3G+IgIgAUEEaiIQKAIAQf////8Hcb4iAyACIANgGyICIAFBCGoiEigCAEH/////B3G+IgMgAiADYBsiAiABKAIMQf////8Hcb4iAyACIANgGyICIAFBEGoiFCgCAEH/////B3G+IgMgAiADYBsiAiABQRRqIhMoAgBB/////wdxviIDIAIgA2AbIgIgASgCGEH/////B3G+IgMgAiADYBsiAiABQRxqIg8oAgBB/////wdxviIDIAIgA2AbIgIgAUEgaiIVKAIAQf////8Hcb4iAyACIANgGyIIQwAAAABcBEAgASABKgIAIAiVOAIAIAEgASoCDCAIlTgCDCABIAEqAhggCJU4AhggECAQKgIAIAiVOAIAIBIgEioCACAIlTgCACAUIBQqAgAgCJU4AgAgEyATKgIAIAiVOAIAIA8gDyoCACAIlTgCACAVIBUqAgAgCJU4AgALIBFB0ABqIhNBIGogAUEgaigCADYCACATQRhqIAFBGGopAgA3AwAgE0EQaiABQRBqKQIANwMAIBNBCGogAUEIaikCADcDACARIAEpAgA3A1AgEUH4AGohG0EAIQEjAEEQayIZJAAgGUIANwMIIBNBJGohHSATQRRqIR4gGUEQaiEgQQEhFANAIAFBAnQiFiATaiABQQxsaiIQQQRqIhVBAiABayIcIBUgHBDUAUMAAAAAkiIFEJMBIgQgBIwgFSoCACICQwAAAABgIhIbIQMgFSACIAOSOAIAAkAgBSAEIAIgAowgEhuUkiICIAKSIgJDAAAAAFsEQCAWIBlqIAM4AgAMAQsgEEEQ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IA1cIQZB/////wcCfyAHi0MAAABPXQRAIAeoDAELQYCAgIB4C0GAgICAeCACGyAHQ////05eGyECIAcgB1whHkMAAMB/QwAAgD8gEJggECAQXBsiB0MAAADPYCEhQQAgBSAGGyEFQQAgAiAeGyEGQQBB/////wcCfyAJi0MAAABPXQRAIAmoDAELQYCAgIB4C0GAgICAeCADGyAJQ////05eGyAJIAlcGyEmQQBB/////wcCfyAHi0MAAABPXQRAIAeoDAELQYCAgIB4C0GAgICAeCAhGyAHQ////05eGyAHIAdcGyEnIARBEGohHiAEQQxqISEgBEEwaiEiA0ACfSAQQwAAAABeRQRAQ///f38gEEMAAAAAXUUNARogBCoCKEMAAIA/IB4oAgCzQwAAgL+SlSAGspRDAAAAv5KUIBOTIBCVDAELIAQqAihDAACAPyAeKAIAs0MAAIC/kpUgBkEBarKUQwAAAL+SlCATkyAQlQsiByAaKgIAIg1eIA0CfSAOQwAAAABeRQRAQ///f38gDkMAAAAAXUUNARogIioCAEMAAIA/ICEoAgCzQwAAgL+SlSAFspRDAAAAv5KUIAuTIA6VDAELICIqAgBDAACAPyAhKAIAs0MAAIC/kpUgBUEBarKUQwAAAL+SlCALkyAOlQsiCV1xDQIgJkEAIAcgCWAbQQAgCUMAAAAAYBsiASAnQQAgByAJXxtBACAHQwAAAABgGyICckUNAiACIB1qIh0gAiAbaiIbIAJBAEobIiNBAEggICAjTHIhJAJAIB8gASAcaiIcIAEgCGoiCCABQQBKGyIlSiAlQQBOcUUEQCAkDQQMAQsgAUUNACAbIB0gGyAdShshKCAbIQMDQCADIChGDQEgGkHYAGogJSADEJkBISkgA0EBaiEDIClFDQALIABBBToANAwFCyABIAVqIQUgAiAGaiEGICQNACACRQ0AIAggHCAIIBxKGyEBIAghAwNAIAEgA0YNASAaQdgAaiADICMQmQEhAiADQQFqIQMgAkUNAAsLIABBBToANAwDCyAAIBopAyA3AgAgAEEwaiAaQSBqIgFBMGopAwA3AgAgAEEoaiABQShqKQMANwIAIABBIGogAUEgaikDADcCACAAQRhqIAFBGGopAwA3AgAgAEEQaiABQRBqKQMANwIAIABBCGogAUEIaikDADcCAAwC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ahD0CAwECyAAQQI2AhgMBgsgAEECNgIYDAULIBJB2ABqIhNBOGogEkEYaiIJQThqKQMANwMAIBNBMGogCUEwaikDADcDACATQShqIAlBKGopAwA3AwAgE0EgaiAJQSBqKQMANwMAIBNBGGogCUEYaikDADcDACATQRBqIAlBEGopAwA3AwAgE0EIaiAJQQhqKQMANwMAIBIgEikDGDcDWAwCCyASQfABaiAJQThqKAIANgIAIBJB6AFqIAlBMGopAgA3AwAgEkHYAWoiF0EIaiAJQShqKQIANwMAIBIgCSkCIDcD2AEgEkGgA2oiFUEIaiAJQcABaigCADYCACASIAlBuAFqKQIANwOgAyASQZgCaiIUQQhqIAlB4ABqKAIANgIAIBIgCSkCWDcDmAIgEkGYAWoiE0EIaiAJQewAaigCADYCACASIAlB5ABqKQIANwOYASASQdACaiAXIBUgFCATEIYICyASQdgAaiITQThqIBJB0AJqIglBOGopAwA3AwAgE0EwaiAJQTBqKQMANwMAIBNBKGogCUEoaikDADcDACATQSBqIAlBIGopAwA3AwAgE0EYaiAJQRhqKQMANwMAIBNBEGogCUEQaikDADcDACATQQhqIAlBCGopAwA3AwAgEiASKQPQAjcDWAsCQAJAAkAgCgRAIApBwAJqLQAADQEgEkHwAWogCkHUAGooAgA2AgAgEkHoAWogCkHMAGopAgA3AwAgEkHgAWogCkHEAGopAgA3AwAgEiAKQTxqKQIANwPYASASQdACaiASQdgBahD0CAwCCyASQZgBaiIKQThqIBJBGGoiCUE4aikDADcDACAKQTBqIAlBMGopAwA3AwAgCkEoaiAJQShqKQMANwMAIApBIGogCUEgaikDADcDACAKQRhqIAlBGGopAwA3AwAgCkEQaiAJQRBqKQMANwMAIApBCGogCUEIaikDADcDACASIBIpAxg3A5gBDAILIBJB8AFqIApBOGooAgA2AgAgEkHoAWogCkEwaikCADcDACASQdgBaiIVQQhqIApBKGopAgA3AwAgEiAKKQIgNwPYASASQZADaiIUQQhqIApBwAFqKAIANgIAIBIgCkG4AWopAgA3A5ADIBJBoANqIhNBCGogCkHgAGooAgA2AgAgEiAKKQJYNwOgAyASQZgCaiIJQQhqIApB7ABqKAIANgIA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JAAgAEHYAGooAgAhCSAAQdwAaigCACEGIABBOGpBADYCACAAQSBqQQA2AgAgA0EBOgAPIAZBDGwhCAJAAkACQCAGBEACQCAGQQJ0IgJBBBD3CyIBBEAgA0EANgIYIAMgATYCFCADIAY2AhAgCEH8////A0sNAyAGQRhsIgRBAEgNAyAIQf3///8DSUECdCECIAQEfyAEIAIQ9wsFIAILIgFFDQEgAyABNgIkIAMgBjYCIAJAIAhBDUkNACAGQQFrIgJBA3EhBCAGQQJrQQNPBEAgAkF8cSEFA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFB2ABqQv////v///+/fzcCACABQdAAakL////79///v383AgAgAUHIAGpC////+/f//7//ADcCACABQUBrQv////v///+/fzcCACABQThqQv////v3//+/fzcCACABQTBqQv////v3//+//wA3AgAgAUEoakL////7////v383AgAgAUEgakL////79///v383AgAgAUEYakL////79///v/8ANwIAIAFB4ABqIQEgBUEEayIFDQALCyAERQ0AA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFBGGohASAEQQFrIgQNAAsLIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACADIAY2AiggCEH5////B0kiAkUNAyAIIAJBAnQiARD3CyICRQ0EIAIhAQJAIAhBDUkNACAGQQFrIgdBA3EhBCAGQQJrQQNPBEAgB0F8cSEFA0AgAUJ/NwIIIAFBADoABCABQX82AgAgAUEsakF/NgIAIAFBKGpBADoAACABQSBqQn83AgAgAUEcakEAOgAAIAFBFGpCfzcCACABQRBqQQA6AAAgAUEwaiEBIAVBBGsiBQ0ACwsgBEUNAANAIAFBfzYCCCABQQA6AAQgAUF/NgIAIAFBDGohASAEQQFrIgQNAAsLIAFBfzYCCCABQQA6AAQgAUF/NgIADAULIAJBBEHI78MAKAIAIgBBigcgABsRAAAACyAEIAJByO/DACgCACIAQYoHIAAbEQAAAAsgA0EANgIYIANCgICAgMAANwMQIANBADYCKCADQoCAgIDAADcDIEEEIQIMAgsQoAoACyAIIAFByO/DACgCACIAQYoHIAAbEQAAAAsgACgCPARAIABBQGsoAgAQtQELIAAgBjYCPCAAQcQAaiIMIAY2AgAgAEFAayINIAI2AgACQAJAAkAgBgR/IAggCWohDiAAQdAAaiEPIABBzABqIRAgAEE8aiERQQAhBANAAkACQAJAIAkoAgAiASAPKAIAIgJJBEAgCSgCBCIHIAJPDQEgCSgCCCIFIAJPDQIgBEEBaiEIIBAoAgAiAiABQQxsaiIBKgIEIRQgAiAFQQxsaiIFKgIAIRcgAiAHQQxsaiICKgIAIRggAioCCCIVIAEqAggiFl4hByAFKgIIIhMgEyAVIBUgFiAHGyAWIBZcGyIZIBMgGV4bIBkgGVwbIRkgFiAWIBUgBxsgFSAVXBsiFSAVIBMgEyAVXhsgEyATXBshGiACKgIEIhUgFF4hAiAFKgIEIhMgEyAVIBUgFCACGyAUIBRcGyIWIBMgFl4bIBYgFlwbIRYgFCAUIBUgAhsgFSAVXBsiFCAUIBMgEyAUXhsgEyATXBshFSABKgIAIhQgGF0hAiAXIBcgGCAYIBQgAhsgFCAUXBsiEyATIBddGyATIBNcGyETIBQgFCAYIAIbIBggGFwbIhQgFCAXIBQgF10bIBcgF1wbIRcgBCAGSQ0DIAAoAjwgBiICayAIIAJrIgdJBEAgESAGIAcQrgYgDCgCACECCyANKAIAIAJBDGxqIQEgB0ECTwRAIAQgBmsiBUEDcSEKIAQgBkF/c2pBA08EQCAFQXxxIQUDQCABQn83AgggAUEAOgAEIAFBfzYCACABQSxqQX82AgAgAUEoakEAOgAAIAFBIGpCfzcCACABQRxqQQA6AAAgAUEUakJ/NwIAIAFBEGpBADoAACABQTBqIQEgBUEEayIFDQALCyAKBEAgCyAGa0EDcSEFA0AgAUF/NgIIIAFBADoABCABQX82AgAgAUEMaiEBIAVBAWsiBQ0ACwsgAiAHakEBayECCyAGIAhHBEAgAUF/NgIIIAFBADoABCABQX82AgAgAkEBaiECCyAMIAIiBjYCACADAn8gCCADKAIoIgcgBEsNABogCCAHIgJrIQogCiADKAIgIAJrSwRAIANBIGogByAKELAGIAMoAighAgsgAygCJCACQRhsaiEBIApBAk8EQCAEIAdrIgVBA3EhEiAEIAdBf3NqQQNPBEAgBUF8cSEFA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFB2ABqQv////v///+/fzcCACABQdAAakL////79///v383AgAgAUHIAGpC////+/f//7//ADcCACABQUBrQv////v///+/fzcCACABQThqQv////v3//+/fzcCACABQTBqQv////v3//+//wA3AgAgAUEoakL////7////v383AgAgAUEgakL////79///v383AgAgAUEYakL////79///v/8ANwIAIAFB4ABqIQEgBUEEayIFDQALCyASBEAgCyAHa0EDcSEFA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFBGGohASAFQQFrIgUNAAsLIAIgCmpBAWshAgsgAiAHIAhGDQAaIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACACQQFqCzYCKAwDCyABIAJB8OPCABDDCAALIAcgAkGA5MIAEMMIAAsgBSACQZDkwgAQwwgACyAEIAZPDQIgDSgCACAEQQxsaiAENgIIIAMoAigiAiAETQ0DIAlBDGohCSADKAIkIARBGGxqIgIgGTgCFCACIBY4AhAgAiATOAIMIAIgGjgCCCACIBU4AgQgAiAXOAIAIAMoAhgiASADKAIQRgRAIANBEGogARC2BiADKAIYIQELIAMoAhQgAUECdGogBDYCACADIAFBAWo2AhggC0EBaiELIAghBCAJIA5HDQALIABBIGooAgAFQQALIQQgBCAAQRhqIgIoAgBGBEAgAiAEEMAGIABBIGooAgAhBAsgAEEcaiIBKAIAIARBB3RqIgJBATYCYCACQv////v///+/fzcDWCACQv////v///+/fzcDUCACQv////v///+/fzcDSCACQv////v///+/fzcDQCACQv////v///+/fzcDOCACQv////v///+/fzcDMCACQv////v3//+//wA3AyggAkL////79///v/8ANwMgIAJC////+/f//7//ADcDGCACQv////v3//+//wA3AxAgAkL////79///v/8ANwMIIAJC////+/f//7//ADcDACACQn83AmQgAkEAOgB0IAJBADoAeCACQewAakJ/NwIAIABBIGoiAiAEQQFqNgIAIANBMGogACADQQ9qIAMoAhQiBCADKAIYIANBIGpBAEEAEEEgA0E4aioCACEXIANBPGoqAgAhFCADQUBrKgIAIRggA0HEAGoqAgAhEyADKgI0IRUgACADQcgAaioCACIWOAIUIAAgEzgCECAAIBg4AgwgACAUOAIIIAAgFzgCBCAAIBU4AgAgAigCAEUNAiABKAIAIgBB////ezYCXCAAQv////v///+/fzcCVCAAIBY4AlAgAEH///97NgJMIABC////+////79/NwJEIAAgEzgCQCAAQf///3s2AjwgAEL////7////v383AjQgACAYOAIwIABB////+wc2AiwgAEL////79///v/8ANwIkIAAgFDgCICAAQf////sHNgIcIABC////+/f//7//ADcCFCAAIBc4AhAgAEH////7BzYCDCAAQv////v3//+//wA3AgQgACAVOAIAIAMoAiAEQCADKAIkELUBCyADKAIQBEAgBBC1AQsgA0HQAGokAA8LIAQgBkGIh8IAEMMIAAsgBCACQZiHwgAQwwgAC0EAQQBB+IbCABDDCAALihICM38CfQJAIAFBDGooAgAiCSABQRBqIiwoAgAiEyAJIBNJGyIORQRAQQQhHEEAIQ4MAQsgDkH/////AE0EQCAOQQN0IgRBBBD3CyIcBEAgHEEAIAQQ4wwhLSAJQQN0IS4gE0EBayEvIAlBAWshMCATQQJrITEgCUECayEiIAlBAnQiGEEEaiEPIBhBBGshMgNAIBAhBANAIAQgDiAEIA5LGyEzIARBAWshGiAvIARrIQIgMCAEayEDIAkgBGshHSAEIA9sIhBBBGoiESEWIA8gEGoiFyEjQXwhHiAEQQJ0IhBBBGshHyAQIDJqISAgESIKIg0iDCIGIQcgBCEQAkACQANAIAMhEiAGISQgDCElIBchJiANIScgAiEUIAohKCARISkgIyEqIBYhKyAQIgUgM0YNB0EAIQggAUEEaigCACILIAUgBSAJbCI0akECdGoiFSgCAEH/////B3G+ITUgCSAFayIbQQFHBEAgByALaiECQQEhAwNAIAMgCCACKAIAQf////8Hcb4iNiA1XiIQGyEIIDYgNSAQGyE1IAJBBGohAiAdIANBAWoiA0cNAAsL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BSACIAEQtgYgAigCBCEHIAIoAggLIgBBAWoiATYCCCAHIABBAnRqIAM2AgALAkAgIkICg1AEQCABIQMMAQsgBS0AAEEBcQRAIAEhAwwBCyAKIAZB5ABqKAIAIgBJBEAgASEDDAELIAIoAgAgAUYEQCACIAEQtgYgAigCBCEHIAIoAgghAQsgAiABQQFqIgM2AgggByABQQJ0aiAANgIACwJAICJCBINQBEAgAyEBDAELIAUtAABBAXEEQCADIQEMAQsgCiAGQegAaigCACIASQRAIAMhAQwBCyACKAIAIANGBEAgAiADELYGIAIoAgQhByACKAIIIQMLIAIgA0EBaiIBNgIIIAcgA0ECdGogADYCAAsgCEEISQRAIAEiAEUNAgwBCyAFLQAAQQFxBEAgASIARQ0CDAELIAogBkHsAGooAgAiA0kEQCABIgBFDQIMAQsgAigCACABRgRAIAIgARC2BiACKAIEIQcgAigCCCEBCyACIAFBAWoiADYCCCAHIAFBAnRqIAM2AgAgAA0ACwsgBEHQAmokAAuCGgMSfwZ9AX4jAEHQAGsiCCQAIAhBKGoiBEEIaiABQQhqKAIANgIAIAggASkCADcDKCAIIABBBGogBBCEBAJAAkACQAJAAkACQAJAAkACQAJAIAgoAgBFBEAgCEEUaigCAEEEaygCACIAIAhBEGooAgAiAUEYaigCACICTw0BIAFBFGooAgAgAEEUbGooAhAhBwwICyAIQSBqIAhBEGooAgA2AgAgCCAIQQhqKQMANwMYIAAqAgAiFiABKAIIspQhFyAWIBeSIRggFiAWIAEoAgSylCIZkiEaIBYgFiABKAIAspQiFpIhGyAIQRRqKAIAIQQgCCgCBCEMAkACQCADKAIIIgFFDQAgAyABQQFrIgE2AgggAygCBCABQQJ0aigCACIBRQ0AIAFBEGpBADYCACABQRxqQQA2AgAgAUEIaiEJIAEoAggiBUUEQCAJQQAQuAYgASgCCCEFIAEoAhAhBwsgASAHQQFqIgM2AhAgAUEMaigCACIGIAdBA3RqQv///3s3AgAgAyAFRgRAIAkgBRC4BiABKAIMIQYgASgCECEDCyABIBs4AgQgASAWOAIAIAEgA0EBajYCEEEAIQcgAUE8akEANgIAIAFBMGpBADYCACAGIANBA3RqQv////v3/////wA3AgAgAUEoaiIJKAIAIgVFBEAgCUEAELgGIAEoAighBSABKAIwIQcLIAEgB0EBaiIDNgIwIAFBLGooAgAiBiAHQQN0akL///97NwIAIAMgBUYEQCAJIAUQuAYgASgCLCEGIAEoAjAhAwsgASAZOAIgIAEgA0EBajYCMEEAIQcgAUHcAGpBADYCACABQSRqIBo4AgAgAUHQAGpBADYCACAGIANBA3RqQv////v3/////wA3AgAgAUHIAGoiCSgCACIFRQRAIAlBABC4BiABKAJIIQUgASgCUCEHCyABIAdBAWoiAzYCUCABQcwAaigCACIGIAdBA3RqQv///3s3AgAgAyAFRgRAIAkgBRC4BiABKAJMIQYgASgCUCEDCyABQQA6AJABIAEgFzgCQCABIANBAWo2AlAgAUHEAGogGDgCACAGIANBA3RqQv////v3/////wA3AgAgAUHkAGooAgAEQCABQegAaigCABC1AQsgAUEAOgCRASABQX82AnAgAUIANwJgIAFBjAFqQQA2AgAgAUHoAGpCBDcCACABKAJ0DQMgAUGAAWooAgBFDQFB4ODBAEEqQYzhwQAQ2QkACwJAIBYgG18EQEEQQQQQ9wsiAw0BDAsLDAsLIANC////+/f/////ADcCCCADQv///3s3AgACQCAZIBpfBEBBEEEEEPcLIgcNAQwLCwwLCyAHQv////v3/////wA3AgggB0L///97NwIAAkAgFyAYXwRAQRBBBBD3CyIFDQEMCwsMCwsgBUL////79/////8ANwIIIAVC////ezcCAEGUAUEEEPcLIgFFDQMgAUEAOwGQASABQgQ3AogBIAFCADcCgAEgAUKAgICAwAA3AnggAUL/////DzcCcCABQgQ3AmggAUIANwJgIAFCBDcCWCABQgI3AlAgASAFNgJMIAFBAjYCSCABIBg4AkQgASAXOAJAIAFCBDcCOCABQgI3AjAgASAHNgIsIAFBAjYCKCABIBo4AiQgASAZOAIgIAFCBDcCGCABQgI3AhAgASADNgIMIAFBAjYCCCABIBs4AgQgASAWOAIACyAALQA8IQMgAC0APSEFAkAgAigCACIHQX9GBEAgAkEMaigCACIHIAIoAgRGBEAgAkEEaiAHEL0GIAIoAgwhBwsgAiAHQQFqNgIMIAJBCGooAgAgB0EsbGoiAiADOgApDAELIAJB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BCITNgIEIBEgEigCACATKAIIQQdqQXhxajYCACACKAIQIAVBzABqIAEoAgwgAigCFCgCSBEFAEUNACABKAIQKAIAKAIAIQEgAkEhNgKIAiACQQhqIgUgDzYCBCAFIAs2AgAgAiACKwMIEAE2AowCIAIgASACQYgCaiACQYwCahDcCSACKAIEIQUCQAJAIAIoAgBFBEBBASEBQQAhCwJAAkACQCAFEAMOAgABAgtBACEBDAELQQEhC0EAIQELIAEgC3IhASAFQSRJDQIMAQtBASEBIAVBI00NAQsgBRAACyACKAKMAiIFQSRPBEAgBRAACyACKAKIAiIFQSRPBEAgBRAACyABRQ0GCyAAQQRqIQAgFEIBfCIUQgRSDQALDAILIAAgCUHYmcAAEMMIAAsgAkHgAWogBCACQZABahD7AiACLQDjASENIAItAOIBIQ4gAi0A4QEhCCACLQDgASEHCyAHQQJGDQEgBEH4AGohACAIQQF0QQJxIAdBAXEiASAOQQJ0QQRxIA1BA3RBCHFycnIiB60hFAJAIAFFDQAgAC0AAEEBcQ0AIAQoAmAiASAJSw0AIAIoAtABIANGBEAgAkHQAWogAxC2BiACKALUASEGIAIoAtgBIQMLIAYgA0ECdGogATYCACACIANBAWoiAzYC2AELAkAgFEICg1ANACAALQAAQQFxDQAgBEHkAGooAgAiASAJSw0AIAIoAtABIANGBEAgAkHQAWogAxC2BiACKALUASEGIAIoAtgBIQMLIAYgA0ECdGogATYCACACIANBAWoiAzYC2AELAkAgFEIEg1ANACAALQAAQQFxDQAgBEHoAGooAgAiASAJSw0AIAIoAtABIANGBEAgAkHQAWogAxC2BiACKALUASEGIAIoAtgBIQMLIAYgA0ECdGogATYCACACIANBAWoiAzYC2AELAkAgB0EISQ0AIAAtAABBAXENACAEQewAaigCACIAIAlLDQAgAigC0AEgA0YEQCACQdABaiADELYGIAIoAtQBIQYgAigC2AEhAwsgBiADQQJ0aiAANgIAIAIgA0EBaiIDNgLYAQsgAw0ACwsgAigC0AEEQCACKALUARC1AQsgAkGQAmokAAu4DQISfwJ9AkAgAUECSQ0AAkACQAJAAkAgAigCACICQQhqKAIAIgsgACgCBCIFSwRAIAAoAgAiDCALTw0B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kpIhCiACIQYLIAAoAggiACANOAIMIAAgCzgCCCAAIAo4AgQgACAQOAIAIAAgBCkDeDcCECAAIBE4AiQgACAOOAIgIAAgDzgCHCAAIAQpAwA3AiggACAGOgA0IABBGGogBEGAAWooAgA2AgAgAEEwaiAEQQhqKAIANgIACyAEQbABaiQAC9cPAhB/A34jAEGwBGsiAyQAIANBADYCiAEgA0IANwOAASADQoCAgIDAADcDeCAAQUBrIANB+ABqIgQQYyADQQA2AogBIANCADcDgAEgA0KAgICAwAA3A3ggAEHoAGogBBBjIABBoAFqIgxBADYCACAAQoCAgIDAADcCmAEgAEG0AWpBBDYCACAAQawBaiINQgA3AgAgAEKAgICAwAA3AqQBIABBKGpCADcCACAAQoCAgIDAADcCICAAQRhqQgA3AgAgAEKAgICAwAA3AhAgAEIANwIIIABCgICAgMAANwIAIABBuAFqQgA3AgAgAEHAAWpCADcCACAAQcgBakEENgIAIABCADcCkAEgAEHUAWpCADcCACAAQcwBakIANwIAIABB3AFqQgQ3AgAgAEHkAWpCADcCACAAQewBakIENwIAIABCgICAgMAANwL0ASAAQfwBakIANwIAIABBhAJqQgQ3AgAgAEEBOgCMAiAAQThqQgA3AgAgAEKAgICAwAA3AjAgBEELakIANwAAIANBkARqIgZBC2pCADcAACADQfwDaiIFQQtqQgA3AAAgA0HpA2oiB0ELakIANwAAIANB1gNqIghBC2pCADcAACADQgA3AHsgA0IANwCTBCADQgA3AP8DIANCADcA7AMgA0IANwDZAyADQeAAaiIJQQ9qIg4gBEEPaigAADYAACAJQQhqIgkgBEEIaikAADcDACADIAMpAHg3A2AgA0HIAGoiCkEIaiIPIAZBCGopAAA3AwAgCkEPaiIKIAZBD2ooAAA2AAAgAyADKQCQBDcDSCADQTBqIgZBD2oiECAFQQ9qKAAANgAAIAZBCGoiBiAFQQhqKQAANwMAIAMgAykA/AM3AzAgA0EYaiILQQ9qIhEgB0EPaigAADYAACALQQhqIgsgB0EIaikAADcDACADIAMpAOkDNwMYIANBD2oiByAIQQ9qKAAANgAAIANBCGoiEiAIQQhqKQAANwMAIAMgAykA1gM3AwAgA0GGBGpBADYBACADQgA3Af4DIANB1AFqQgA3AgAgA0HcAWpBADYCACADQf////sHNgLIASADQoCAgIDw//+/fzcDwAEgA0L////7////v/8ANwO4ASADQv////sHNwOwASADQoCAgIDw//+/fzcDqAEgA0L////7////v/8ANwOgASADQv////sHNwOYASADQoCAgIDw//+/fzcDkAEgA0L////7////v/8ANwOIASADQoCAgICAgIDAPzcDgAEgA0IANwN4IANCADcCzAEgA0EAOgDoASADQv////sHNwPgASADQfEBaiAJKQMANwAAIANB+AFqIA4oAAA2AAAgAyADKQNgNwDpASADQQA6AIQCIANC////+wc3AvwBIANBlAJqIAooAAA2AAAgA0GNAmogDykDADcAACADIAMpA0g3AIUCIANBADoAoAIgA0L////7BzcDmAIgBEG4AWogECgAADYAACADQakCaiAGKQMANwAAIAMgAykDMDcAoQIgA0EAOgC8AiADQv////sHNwK0AiAEQdQBaiARKAAANgAAIANBxQJqIAspAwA3AAAgAyADKQMYNwC9AiADQQA6ANgCIANC////+wc3A9ACIANB6AJqIAcoAAA2AAAgA0HhAmogEikDADcAACADIAMpAwA3ANkCIANCgICAgICAgMA/NwOAAyADQgA3A/gCIANBADoA9AIgA0L////7BzcC7AIgA0GYA2pCADcDACADQZADakIANwMAIANCADcDiAMgA0GAgID8AzYCoAMgA0G0A2pBADoAACADQawDakIANwIAIANCADcCpAMgA0EBOgC1AyADQbwDaiAFQQZqKQEANwEAIAMgAykB/AM3AbYDIANBzANqQQA2AgAgA0IANwLEAyAMKAIAIQYgACAAKAIMIgdBBmoiBBCgAiAAQRBqIAQQoAIgAEEgaiAEEKACIA0oAgAiBSAAKAKkAUYEQCAAQaQBaiAFQQEQrwYgACgCrAEhBQsgACAFQQFqNgKsASAAKAKoASAFQQR0aiIFQgA3AgggBUKAgICAwAA3AgAgACAAKAKQAUEGaiIINgKQAQJAIAAoAhwgBE8EQCAAKAIUIAdBAnRqIgRBFGpBzZmz7gM2AgAgBEEMakLNmbPu05mz5j03AgAgA0GQBGogA0H4AGoQxAEgACgCoAEiBSAAKAKYAUYEQCAAQZgBaiAFEMIG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CQALIAsoAgAiBi0AACEBIAZBAToAACAEIAFBAXEiAToAJyABDQtBACECQdzvwwAoAgBB/////wdxBEBBzPPDACgCAEVFIQILIAYtAAENCCAGQQhqKAIAQQxrIQUgBkEMaigCACIHQQxsIQFBfyEDA0AgAUUNCiADQQFqIQMgAUEMayEBIAVBDGoiBSgCACAKRw0ACyADIAdPDQcgBUEIaigCACEDIAUgBUEMaiABEOIMGiAGQQxqIAdBAWs2AgAgA0UNCSADIAMoAgAiAUEBazYCACABQQFGBEAgAxDCCQsCQCACDQBB3O/DACgCAEH/////B3FFDQBBzPPDACgCAEUNACAGQQE6AAELIAZBADoAACAEKAIIIQEgBEECNgIIIAFBAkYNCiAAIAQoAhw2AhggACAEKQIUNwIQIAAgBCkCDDcCCCAAIAE2AgQgAEEANgIADAILIAsoAgAiBi0AACEBIAZBAToAACAEIAFBAXEiAToAJyABDQpBACECQdzvwwAoAgBB/////wdxBEBBzPPDACgCAEVFIQILIAYtAAENAyAGQQhqKAIAQQxrIQUgBkEMaigCACIHQQxsIQFBfyEDA0AgAUUNBSADQQFqIQMgAUEMayEBIAVBDGoiBSgCACAKRw0ACyADIAdPDQIgBUEIaigCACEDIAUgBUEMaiABEOIMGiAGQQxqIAdBAWs2AgAgA0UNBCADIAMoAgAiAUEBazYCACABQQFGBEAgAxDCCQsCQCACDQBB3O/DACgCAEH/////B3FFDQBBzPPDACgCAEUNACAGQQE6AAELIAZBADoAACAEKAIIIQEgBEECNgIIIAFBAkYNBSAAIAQoAhw2AhggACAEKQIUNwIQIAAgBCkCDDcCCCAAIAE2AgQgAEEBNgIADAELIAQtACBFBEBBACEBA0AgASABQQFqIAFBCksgAUEHT3EbIQEgBC0AIEUNAAsLIABBAjYCAAsgBEFAayQADwsgAyAHQezDwAAQwggACyAEIAI6ACwgBCAGNgIoQfzDwABBKyAEQShqQezHwABBiMnAABD9BwALQYjCwABBK0GIycAAENkJAAtBiMLAAEErQZjJwAAQ2QkACyADIAdB7MPAABDCCAALIAQgAjoALCAEIAY2AihB/MPAAEErIARBKGpB7MfAAEGoycAAEP0HAAtBiMLAAEErQajJwAAQ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BiAEQQgQ2gYgBigCCCEECyAGIARBCGo2AgggBigCBCAEaiACrTcAACACBEAgBSACQQd0aiEDA0AgCCAFKQMINwMIIAggBSkDADcDACAIIAVBKGopAwA3AyggCCAFQSBqKQMANwMgIAggBUEYaikDADcDGCAIIAVBEGopAwA3AxAgCCAFQdgAaikDADcDWCAIIAVB0ABqKQMANwNQIAggBUHIAGopAwA3A0ggCCAFQUBrKQMANwNAIAggBUE4aikDADcDOCAIIAVBMGopAwA3AzAgACAIEPYBIgQNAiAAIAhBMGoQ9gEiBA0CIAVB4ABqKAIAIQQgACgCACIGKAIIIQIgBigCACACa0EDTQRAIAYgAkEEENoGIAYoAgghAgsgBigCBCACaiAENgAAIAYgAkEEaiICNgIIIAVB5ABqKAIAIQQgBigCACACa0EDTQRAIAYgAkEEENoGIAYoAgghAgsgBigCBCACaiAENgAAIAYgAkEEaiICNgIIIAVB6ABqKAIAIQQgBigCACACa0EDTQRAIAYgAkEEENoGIAYoAgghAgsgBigCBCACaiAENgAAIAYgAkEEaiICNgIIIAVB7ABqKAIAIQQgBigCACACa0EDTQRAIAYgAkEEENoGIAYoAgghAgsgBiACQQRqNgIIIAYoAgQgAmogBDYAACAFQfQAai0AACEGIAVB8ABqKAIAIQQgACgCACIHKAIIIQIgBygCACACa0EDTQRAIAcgAkEEENoGIAcoAgghAgsgBygCBCACaiAENgAAIAcgAkEEaiICNgIIIAIgBygCAEYEQCAHIAJBARDaBiAHKAIIIQILIAcgAkEBajYCCCAHKAIEIAJqIAY6AAAgBUH4AGotAAAhBCAAKAIAIgYoAggiAiAGKAIARgRAIAYgAkEBENoGIAYoAgghAgsgBiACQQFqNgIIIAYoAgQgAmogBDoAACADIAVBgAFqIgVHDQALCyABQSxqKAIAIQQgAUEoaigCACEHIAAoAgAiAygCCCEFIAMoAgAgBWtBB00EQCADIAVBCBDaBiADKAIIIQULIAMgBUEIaiICNgIIIAMoAgQgBWogBK03AAAgBARAIARBAnQhBQNAIAcoAgAhBiAHQQRqIQcgAyADKAIAIAJrQQNLBH8gAgUgAyACQQQQ2gYgAygCCAsiBEEEaiICNgIIIAMoAgQgBGogBjYAACAFQQRrIgUNAAsLIAFBOGooAgAhBCABQTRqKAIAIQcgACgCACIDKAIIIQUgAygCACAFa0EHTQRAIAMgBUEIENoGIAMoAgghBQsgAyAFQQhqIgI2AgggAygCBCAFaiAErTcAACAEBEAgBEECdCEFA0AgBygCACEGIAdBBGohByADIAMoAgAgAmtBA0sEfyACBSADIAJBBBDaBiADKAIICyIEQQRqIgI2AgggAygCBCAEaiAGNgAAIAVBBGsiBQ0ACwsgAUHEAGooAgAhAiABQUBrKAIAIQcgACgCACIDKAIIIQQgAygCACAEa0EHTQRAIAMgBEEIENoGIAMoAgghBAsgAyAEQQhqIgA2AgggAygCBCAEaiACrTcAAEEAIQQgAkUNACAHIAJBDGxqIQYDQCAHQQRqLQAAIQIgBygCACEBIAMoAgAgAGtBA00EQCADIABBBBDaBiADKAIIIQALIAMoAgQgAGogATYAACADIABBBGoiADYCCCAAIAMoAgBGBEAgAyAAQQEQ2gYgAygCCCEACyADKAIEIABqIAI6AAAgAyAAQQFqIgI2AgggB0EIaigCACEBIAMoAgAgAmtBA00EQCADIAJBBBDaBiADKAIIIQILIAMgAkEEaiIANgIIIAMoAgQgAmogATYAACAGIAdBDGoiB0cNAAsLIAhB4ABqJAAgBAvwCwIBfwl9IwBBwAFrIgskACABIAEoAgBBCXI2AgAgByAEKgIMIhIgCEEUaioCACIOlCAEKgIAIgwgCCoCCCIPlJMgBCoCBCINIAhBDGoqAgAiE5STIAQqAggiECAIQRBqKgIAIhSUkzgCDCAHIBAgDpQgDCATlCASIBSUkiANIA+Uk5I4AgggByAQIA+UIA0gDpQgEiATlCAMIBSUk5KSOAIEIAcgDSAUlCASIA+UIAwgDpSSkiAQIBOUkzgCACAMIAhBHGoqAgAiE5QgDSAIQRhqKgIAIhSUkyIOIA6SIQ4gECAUlCAMIAhBIGoqAgAiEZSTIg8gD5IhDyAHIAQqAhggESASIA6UIAwgD5QgDSANIBGUIBAgE5STIhEgEZIiEZSTkpKSOAIYIAcgBCoCFCATIBIgD5QgECARlCAMIA6Uk5KSkjgCFCAHIAQqAhAgFCASIBGUIA0gDpQgECAPlJOSkpI4AhAgAioCACEMIAtBGGoiASAJKAIEIgc2AgQgASAJKAIAIAcoAghBB2pBeHFqNgIAIAIgDCAMIAsoAhggCygCHCgCnAERCwAiDSAMIA1dGyANIA1cGzgCACALQRBqIgEgCSgCBCIHNgIEIAEgCSgCACAHKAIIQQdqQXhxajYCACALQSBqIAsoAhAgCEEIaiIIIAsoAhQoAowBEQEAIAIqAgQhDCACIAsqAiAiDSANlCALKgIkIg0gDZSSIAsqAigiDSANlJJDAAAAAJIQkwEgCyoCLJIiDSANIAwgDCANXRsgDCAMXBs4AgQgC0EIaiIBIAkoAgQiAjYCBCABIAkoAgAgAigCCEEHakF4cWo2AgAgCygCDCECIAsoAgghBwJAAkACQAJAIAooAgBBAWsOAgEAAgsgC0HgAGoiAkEIaiAKKAIEIgFBCGopAgA3AwAgAkEQaiABQRBqKQIANwMAIAJBGGogAUEYaikCADcDACACQSBqIAFBIGopAgA3AwAgAkEoaiABQShqKAIANgIAIAsgASkCADcDYAwCCyAKKgIEIgxDAAAAAFsEQCALQfgAakIANwMAIAtBgAFqQgA3AwAgC0GIAWpBADYCACALQgA3A3AgC0IANwNgIAtCgICAgICAgMA/NwNoDAILIAtBkAFqIgEgB0MAAIA/IAIoApABERQAIAEgDBDFCCALQeAAaiICQShqIAFBKGooAgA2AgAgAkEgaiABQSBqKQMANwMAIAJBGGogAUEYaikDADcDACACQRBqIAFBEGopAwA3AwAgAkEIaiABQQhqKQMANwMAIAsgCykDkAE3A2AMAQsgCioCBCIMQwAAAABbBEAgC0H4AGpCADcDACALQYABakIANwMAIAtBiAFqQQA2AgAgC0IANwNwIAtCADcDYCALQoCAgICAgIDAPzcDaAwBCyALQeAAaiAHIAwgAigCkAERFAALIAtBMGogC0HgAGogCBDgAyAAKAIIIgggACgCAEYEQCAAIAgQuAYgACgCCCEICyAAIAhBAWo2AgggACgCBCAIQQN0aiIAIAY2AgQgACAFNgIAIAtBkAFqIgBBKGogC0EwaiIBQShqKAIANgIAIABBIGogAUEgaikDADcDACAAQRhqIAFBGGopAwA3AwAgAEEQaiIFIAFBEGopAwA3AwAgAEEIaiICIAFBCGopAwA3AwAgCyALKQMwNwOQASADQRhqIgEgABCC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IANFDQsgBhC1AQwLC0EBQeSIwABBjIPAABDmByEBDAoLIAIoAkwhAQwKCyAAQQxqIAIpAxA3AgAgAEEUaiACQRhqKAIANgIAIABBKGogDT4CACAAQSBqIAetQoGAgIAQfjcCACAAQRxqIAY2AgAgAEEYaiADNgIAIABBCGogCTYCACAAIAo2AgRBAAwKCyACQoHKADcDSCACQcgAahCJCyEBDAcLIAVBBEHI78MAKAIAIgBBigcgABsRAAAACyACQoHKADcDSCACQcgAahCJCyEBDAQLIAJCgcoANwNIIAJByABqEIkLIQEMAwsgAkKBygA3A0ggAkHIAGoQiQshAQwBC0EQQQRByO/DACgCACIAQYoHIAAbEQAAAAsgA0UNASAGELUBDAELIAIoAjBFDQAgAigCNBC1AQsgCkUNACAJELUBCyAAIAE2AgRBAQshASAAIAE2AgAgAkHgAGokAAvmCQIRfwJ9IwBBgAJrIgMkAAJAIAFBAEgNACACQQBIDQAgA0HYAGoiCCAAKAIIIAEgAhCGAiADQQhqIgFBCGoiESADQeQAaikCADcDACABQRBqIhIgA0HsAGopAgA3AwAgAUEYaiITIANB9ABqKQIANwMAIAFBIGoiByADQfwAaigCADYCACADIAMpAlw3AwggAygCWCECIANBMGoiAUEIaiADQYwBaikCADcDACABQRBqIANBlAFqKQIANwMAIAFBGGogA0GcAWopAgA3AwAgAUEgaiADQaQBaigCADYCACADIANBhAFqKQIANwMwIAMoAoABIQEgACgCICIGQTVqIQkgBkEEaiEEIAhBNWohCiAIQQRyIQUgACgCHCELIAAoAhghDCAAKAIEIQ0gACgCACEOIAAoAhQhDyAAKAIQIRAgACgCDCEIAkACQAJAAkAgAkEBaw4CAAIBCyADQagBaiIAQSBqIAcoAgA2AgAgAEEYaiATKQMANwMAIABBEGogEikDADcDACAAQQhqIBEpAwA3AwAgAyADKQMINwOoASADQdgAaiAIIBAgDyAAQeiwwgAgDiANIAwqAgAgCy0AABBJIAMtAIwBIgBBBUYNAiADQdABaiICQQhqIAVBCGopAgA3AwAgAkEQaiAFQRBqKQIANwMAIAJBGGogBUEYaikCADcDACACQSBqIAVBIGopAgA3AwAgAkEoaiAFQShqKQIANwMAIANBzgFqIApBAmotAAA6AAAgAyAFKQIANwPQASADIAovAAA7AcwBIABBBEYNACADKgJYIRRD//9/fyEVIAYtADRBBEcEfSAGKgIABUP//39/CyAUXkUNACAGIBQ4AgAgBCADKQPQATcCACAGIAA6ADQgCSADLwHMATsAACAEQQhqIANB0AFqIgBBCGopAwA3AgAgBEEQaiAAQRBqKQMANwIAIARBGGogAEEYaikDADcCACAEQSBqIABBIGopAwA3AgAgBEEoaiAAQShqKQMANwIAIAlBAmogA0HOAWotAAA6AAALIAFBAUcNACADQagBaiIBQSBqIANBMGoiAEEgaigCADYCACABQRhqIABBGGopAwA3AwAgAUEQaiAAQRBqKQMANwMAIAFBCGogAEEIaikDADcDACADIAMpAzA3A6gBIANB2ABqIAggECAPIAFB6LDCACAOIA0gDCoCACALLQAAEEkgAy0AjAEiAEEFRg0BIANB0AFqIgFBCGogBUEIaikCADcDACABQRBqIAVBEGopAgA3AwAgAUEYaiAFQRhqKQIANwMAIAFBIGogBUEgaikCADcDACABQShqIAVBKGopAgA3AwAgA0HOAWogCkECai0AADoAACADIAUpAgA3A9ABIAMgCi8AADsBzAEgAEEERg0AIAMqAlghFEP//39/IRUgBi0ANEEERwR9IAYqAgAFQ///f38LIBReRQ0AIAYgFDgCACAEIAMpA9ABNwIAIAYgADoANCAJIAMvAcwBOwAAIARBCGogA0HQAWoiAEEIaikDADcCACAEQRBqIABBEGopAwA3AgAgBEEYaiAAQRhqKQMANwIAIARBIGogAEEgaikDADcCACAEQShqIABBKGopAwA3AgAgCUECaiADQc4Bai0AADoAAAtBACEHDAELQQEhBwsgA0GAAmokACAHC6UKAQZ/IABBCGooAgAhAyAAQQRqKAIAIQUgASgCACIEKAIIIQIgBCgCACACa0EHTQRAIAQgAkEIENoGIAQoAgghAgsgBCACQQhqNgIIIAQoAgQgAmogA603AAAgA0EMbCECAkADQCACBEAgAkEMayECIAUgBBDwBSEDIAVBDGohBSADRQ0BDAILCyAAQRRqKAIAIQMgAEEQaigCACEGIAEoAgAiAigCCCEEIAIoAgAgBGtBB00EQCACIARBCBDaBiACKAIIIQQLIAIgBEEIaiIFNgIIIAIoAgQgBGogA603AAAgAwRAIAYgA0EDdGohBANAIAZBBGooAgAhByAGKAIAIQMgAigCACAFa0EDTQRAIAIgBUEEENoGIAIoAgghBQsgAigCBCAFaiADNgAAIAIgBUEEaiIDNgIIIAIoAgAgA2tBA00EQCACIANBBBDaBiACKAIIIQMLIAIgA0EEaiIFNgIIIAIoAgQgA2ogBzYAACAEIAZBCGoiBkcNAAsLIABBIGooAgAhBCAAQRxqKAIAIQUgASgCACICKAIIIQMgAigCACADa0EHTQRAIAIgA0EIENoGIAIoAgghAwsgAiADQQhqNgIIIAIoAgQgA2ogBK03AAAgBEEUbCEGA0AgBgRAIAUoAgAhBCACKAIAIAIoAggiA2tBA00EQCACIANBBBDaBiACKAIIIQMLIAIoAgQgA2ogBDYAACACIANBBGoiAzYCCCAFKAIEIQQgAigCACADa0EDTQRAIAIgA0EEENoGIAIoAgghAwsgAiADQQRqNgIIIAIoAgQgA2ogBDYAACAGQRRrIQYgBUEIaiEDIAVBFGohBSADIAIQ8AUiA0UNAQwCCwsgAEEsaigCACEGIABBKGooAgAhBSABKAIAIgIoAgghBCACKAIAIARrQQdNBEAgAiAEQQgQ2gYgAigCCCEECyACIARBCGoiAzYCCCACKAIEIARqIAatNwAAIAYEQCAFIAZBBXRqIQYDQCAFQQRqKAIAIQQgBSgCACEHIAIoAgAgA2tBB00EQCACIANBCBDaBiACKAIIIQMLIAIoAgQgA2pCAjcAACACIANBCGoiAzYCCCACKAIAIANrQQNNBEAgAiADQQQQ2gYgAigCCCEDCyACKAIEIANqIAc2AAAgAiADQQRqIgM2AgggAigCACADa0EDTQRAIAIgA0EEENoGIAIoAgghAwsgAigCBCADaiAENgAAIAIgA0EEaiIDNgIIIAVBDGooAgAhBCAFQQhqKAIAIQcgAigCACADa0EHTQRAIAIgA0EIENoGIAIoAgghAwsgAigCBCADakICNwAAIAIgA0EIaiIDNgIIIAIoAgAgA2tBA00EQCACIANBBBDaBiACKAIIIQMLIAIoAgQgA2ogBzYAACACIANBBGoiAzYCCCACKAIAIANrQQNNBEAgAiADQQQQ2gYgAigCCCEDCyACIANBBGo2AgggAigCBCADaiAENgAAIAVBEGoiBCACEPAFIgMNAiAEQQxqLQAAIQcgAigCCCIFIAIoAgBGBEAgAiAFQQEQ2gYgAigCCCEFCyACIAVBAWoiAzYCCCACKAIEIAVqIAc6AAAgBiAEQRBqIgVHDQALCyABIABBNGooAgAgAEE4aigCABCMByIDDQAgASAAQUBrKAIAIABBxABqKAIAEIwHIgMNACABIABBzABqKAIAIABB0ABqKAIAEIwHIgMNACABIABB2ABqKAIAIABB3ABqKAIAEIwHIQMLIAML7gkBDH8jAEHwAWsiCiQAAkACQAJAIABFDQAgACgCACILQX9GDQIgACALQQFqNgIAIAFFDQAgASgCACILQX9GDQIgASALQQFqNgIAIAJFDQAgAigCACILQX9GDQIgAiALQQFqNgIAIANFDQAgAygCACILQX9GDQIgAyALQQFqNgIAIARFDQAgBCgCACILQX9GDQIgBCALQQFqNgIAIAVFDQAgBSgCACILQX9GDQIgBSALQQFqNgIAIAZFDQAgBigCACILQX9GDQIgBiALQQFqNgIAIAdFDQAgBygCACILQX9GDQIgByALQQFqNgIAIApBQGsiDEEIaiACQQRqIgtBCGopAgA3AwAgCiALKQIANwNAIAxBGGogAUEEaiILQQhqKAIANgIAIAogCykCADcDUCAKQeAAaiINQQhqIAZBBGoiC0EIaikCADcDACAKIAspAgA3A2AgDUEYaiAFQQRqIgtBCGooAgA2AgAgCiALKQIANwNwIAogBEEEaiILKAIEIg42AgQgCiALKAIAIA4oAghBB2pBeHFqNgIAQQQhCyAKQbgBaiAMIANBBGogACgCBCAAQQhqKAIAIgwoAghBB2pBeHFqIAwgDSAHQQRqIAooAgAgCigCBCAIIAlBAEcQ0QICQCAKLQDsASIJQQVGDQAgCkGAAWoiDEEwaiIOIApBuAFqIg1BMGoiDygCADYCACAMQShqIhAgDUEoaiIRKQMANwMAIAxBIGoiEiANQSBqIhMpAwA3AwAgDEEYaiANQRhqKQMANwMAIAxBEGoiFCANQRBqIhUpAwA3AwAgDEEIaiANQQhqKQMANwMAIApB/gBqIgwgCkHvAWotAAA6AAAgCiAKKQO4ATcDgAEgCiAKLwDtATsBfCAJQQRGDQAg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5AwhASAAQdwAaiACNgIAIABB2ABqIAE2AgAgACACNgJUIABB0ABqIA02AgAgAEHMAGogAzYCACAAIA02AkggAEHEAGogCTYCACAAQUBrIBM2AgAgACAJNgI8IABBOGogDDYCACAAQTRqIBI2AgAgACAMNgIwIABBLGogCDYCACAAQShqIBE2AgAgACAINgIkIABBIGogCzYCACAAQRxqIBA2AgAgACALNgIYIABBFGogBzYCACAAQRBqIA82AgAgACAHNgIMIAAgCjYCCCAAIA42AgQgACAKNgIADwsgBCAGQcjvwwAoAgAiAEGKByAAGxEAAAALIAMgAkHI78MAKAIAIgBBigcgABsRAAAACyAFIAJByO/DACgCACIAQYoHIAAbEQAAAAsgAyAEQcjvwwAoAgAiAEGKByAAGxEAAAALIAYgAkHI78MAKAIAIgBBigcgABsRAAAACxCgCgALIAUgAUHI78MAKAIAIgBBigcgABsRAAAACyACIARByO/DACgCACIAQYoHIAAbEQAAAAudCgEBfyMAQTBrIgIkAAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEQECAwQFBgcICQoLDA0ODxARAAsgAiAALQABOgAIIAJBJGpBAjYCACACQSxqQQE2AgAgAkGIncMANgIgIAJBADYCGCACQYUHNgIUIAIgAkEQajYCKCACIAJBCGo2AhAgASACQRhqEJ8JDBELIAIgACkDCDcDCCACQSRqQQI2AgAgAkEsakEBNgIAIAJB7JzDADYCICACQQA2AhggAkH1ADYCFCACIAJBEGo2AiggAiACQQhqNgIQIAEgAkEYahCfCQwQCyACIAApAwg3AwggAkEkakECNgIAIAJBLGpBATYCACACQeycwwA2AiAgAkEANgIYIAJBhgc2AhQgAiACQRBqNgIoIAIgAkEIajYCECABIAJBGGoQnwkMDwsgAiAAKwMIOQMIIAJBJGpBAjYCACACQSxqQQE2AgAgAkHQnMMANgIgIAJBADYCGCACQYcHNgIUIAIgAkEQajYCKCACIAJBCGo2AhAgASACQRhqEJ8JDA4LIAIgACgCBDYCCCACQSRqQQI2AgAgAkEsakEBNgIAIAJBsJzDADYCICACQQA2AhggAkGIBzYCFCACIAJBEGo2AiggAiACQQhqNgIQIAEgAkEYahCfCQwNCyACIAApAgQ3AwggAkEkakEBNgIAIAJBLGpBATYCACACQZycwwA2AiAgAkEANgIYIAJBiQc2AhQgAiACQRBqNgIoIAIgAkEIajYCECABIAJBGGoQnwkMDAsgAkEkakEBNgIAIAJBLGpBADYCACACQYycwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMCwsgAkEkakEBNgIAIAJBLGpBADYCACACQYScwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMCgsgAkEkakEBNgIAIAJBLGpBADYCACACQfCbwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMCQsgAkEkakEBNgIAIAJBLGpBADYCACACQdybwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMCAsgAkEkakEBNgIAIAJBLGpBADYCACACQcSbwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMBwsgAkEkakEBNgIAIAJBLGpBADYCACACQbSbwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMBgsgAkEkakEBNgIAIAJBLGpBADYCACACQaibwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMBQsgAkEkakEBNgIAIAJBLGpBADYCACACQZybwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMBAsgAkEkakEBNgIAIAJBLGpBADYCACACQYibwwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMAwsgAkEkakEBNgIAIAJBLGpBADYCACACQfCawwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMAgsgAkEkakEBNgIAIAJBLGpBADYCACACQdiawwA2AiAgAkHAmsMANgIoIAJBADYCGCABIAJBGGoQnwkMAQsgASgCACAAKAIEIABBCGooAgAgASgCBCgCDBEFAAshACACQTBqJAAgAAuACQIBfxJ9IwBBkAJrIgUkACAFQbABakEANgIAIAVBwAFqQQA2AgAgBUIANwOoASAFQgA3A7gBIAVCgoCAgDA3AxAgBUKAgICAEDcDCCAFQTxqQQBB7AAQ4wwaIAJBEGoqAgAiDIwiEyACKgIMIgsgC5QgDCAMlJIgAkEUaioCACINIA2UkkMAAAAAkiIOEJMBIgeVIRACQAJ9AkAgDYwiFCAHlSIKIAqUIAuMIhUgB5UiCSAJlEMAAAAAkpJDAAAAAJIQkwEiBkMAAAAAXARAIBAgASoCACIHlCIRIAogCiAGlSABKgIEIg+UIgiUIAkgCSAGlSAPlCIPlCARk5JeDQEgB4whBgwDCyABKgIAIgcgEJgMAQtDAAAAACEIIAcLIQZDAAAAACEPCyAFQThqQQA2AgAgBUEwakIANwMAIAVBLGogCCAKIAEqAggiCpSSIAIqAggiEZMiCDgCACAFQShqIAYgECAKlJIgAioCBCIQkyIGOAIAIAVBJGogDyAJIAqUkiACKgIAIg+TIgk4AgAgBUEgaiAIOAIAIAVBHGogBjgCACAFQQA2AsQBIAVBADYCtAEgBSAJOAIYIAVByAFqIAEgBUEIaiACIAMQgwEgBSgCyAEhAgJAIAQEQCACRQRAIABBBDYCAAwCCyAAIAUpA9ABNwIMIAAgBSoCzAE4AgggAEEDNgIAIABBFGogBUHYAWooAgA2AgAMAQsgAkUEQCAAQQQ2AgAMAQsgBSoCzAEiBkMAAAAAXARAIAAgBjgCCCAAQQM2AgAgACAFQdABaiIBKQIANwIMIABBFGogAUEIaigCADYCAAwBCyAMIA4QkwEiCJUiBiANIAiVIgkgCZQgCyAIlSIIIAiUIAYgBpSSkkMAAAAAkhCTASILlSENAkACQCAJIAuVIgwgDJQgCCALlSILIAuUQwAAAACSkkMAAAAAkhCTASIOQwAAAABcBEAgByANlCIWIAwgDCAOlSABKgIEIheUIhKUIAsgCyAOlSAXlCIOlCAWk5JeDQEgB4whBwwCCyAHIA2YIQcLQwAAAAAhEkMAAAAAIQ4LIAVB9AFqIBQ4AgAgBUHwAWogEzgCACAFIBU4AuwBIAVBADYCxAEgBUEANgK0ASAFQQA2AjggBUIANwMwIAUgESAJIAkgCiAMlCASkiIJIBGTlCAGIAogDZQgB5IiDCAQk5QgCCAKIAuUIA6SIgogD5OUkpJDbxKDOpIiB5SSIgs4AugBIAUgCSALkyIJOAIsIAUgECAGIAeUkiIGOALkASAFIAwgBpMiBjgCKCAFIA8gCCAHlJIiCDgC4AEgBSAKIAiTIgo4AiQgBSAJOAIgIAUgBjgCHCAFIAo4AhggBUH4AWogASAFQQhqIAVB4AFqIAdDbxKDOpIQgwEgBSgC+AFFBEAgAEEENgIADAELIAMgByAFKgL8AZMiA2BFBEAgAEEENgIADAELIAAgAzgCCCAAQQM2AgAgAEEUaiAFQYgCaigCADYCACAAIAVBgAJqKQMANwIMCyAFQZACaiQAC94IAgJ/FH0jAEGQAmsiBSQAIAVBsAFqQQA2AgAgBUHAAWpBADYCACAFQgA3A6gBIAVCADcDuAEgBUKCgICAMDcDECAFQoCAgIAQNwMIIAVBPGpBAEHsABDjDBogAkEUaioCACIKjCEVIAJBEGoqAgAiDIwhFiACKgIMIg2MIRdDAACAPyEIIA0gDZQgDCAMlJIgCiAKlJJDAAAAAJIiDkMAAAAAXgRAIBUgDhCTASIHlSEJIBYgB5UhCCAXIAeVIQcLIAVBOGpBADYCACAFQTBqQgA3AwAgByABKgIAIg+UIAggAUEEaioCACIQlJIgCSABQQhqKgIAIhGUkiAHIAFBDGoqAgAiEpQgCCABQRBqKgIAIhOUkiAJIAFBFGoqAgAiFJSSXiEGIAVBLGogCSABKgIYIguUIBEgFCAGG5IgAioCCCIYkyIJOAIAIAVBKGogCCALlCAQIBMgBhuSIAIqAgQiGZMiCDgCACAFQSRqIAcgC5QgDyASIAYbkiACKgIAIhqTIgc4AgAgBUEgaiAJOAIAIAVBCGoiBkEUaiAIOAIAIAVBADYCxAEgBUEANgK0ASAFIAc4AhggBUHIAWogASAGIAIgAxCHASAFKALIASECAkAgBARAIAJFBEAgAEEENgIADAILIAAgBSkD0AE3AgwgACAFKgLMATgCCCAAQQM2AgAgAEEUaiAFQdgBaigCADYCAAwBCyACRQRAIABBBDYCAAwBC0MAAAAAIQkgBSoCzAEiCEMAAAAAXARAIAAgCDgCCCAAQQM2AgAgACAFQdABaiIBKQIANwIMIABBFGogAUEIaigCADYCAAwBC0MAAIA/IQhDAAAAACEHIAogDhCTASIOlSIKIAqUIA0gDpUiDSANlCAMIA6VIgwgDJSSkkMAAAAAkiIOQwAAAABeBEAgCiAOEJMBIgeVIQkgDCAHlSEIIA0gB5UhBwsgBUH0AWogFTgCACAFQfABaiAWOAIAIAUgFzgC7AEgBUEANgLEASAFQQA2ArQBIAVBADYCOCAFQgA3AzAgBSAYIAogCiALIAmUIBEgFCARIAmUIBAgCJQgDyAHlJKSIBQgCZQgEyAIlCASIAeUkpJeIgIbkiIKIBiTlCANIAsgB5QgDyASIAIbkiIHIBqTlCAMIAsgCJQgECATIAIbkiIIIBmTlJKSQ28SgzqSIgmUkiILOALoASAFIAogC5MiCzgCLCAFIBkgDCAJlJIiCjgC5AEgBSAIIAqTIgg4AiggBSAaIA0gCZSSIgo4AuABIAUgByAKkyIHOAIkIAUgCzgCICAFIAg4AhwgBSAHOAIYIAVB+AFqIAEgBUEIaiAFQeABaiAJQ28SgzqSEIcBIAUoAvgBRQRAIABBBDYCAAwBCyADIAkgBSoC/AGTIgNgRQRAIABBBDYCAAwBCyAAIAM4AgggAEEDNgIAIABBFGogBUGIAmooAgA2AgAgACAFQYACaikDADcCDAsgBUGQAmokAAvoBwIEfw59IwBB4ABrIgQkACAAKAIIIQcgACgCDCEFAkAgAQRAIAFBBGoqAgAiCiAFKgIQIAEqAhCTIhSUIAEqAgAiCyAFQRRqKgIAIAFBFGoqAgCTIg2UkyIIIAiSIQ8gAUEIaioCACIIIA2UIAogBUEYaioCACABQRhqKgIAkyIMlJMiCSAJkiEQIARBQGsiBkEYaiAMIAEqAgwiCSAPlCAKIBCUIAsgCyAMlCAIIBSUkyIMIAySIg6Uk5KSOAIAIAZBFGogDSAJIA6UIAsgD5QgCCAQlJOSkjgCACAEIAggBSoCCCINlCAKIAUqAgQiDJQgCyAFKgIAIhGUIAkgBSoCDCISlJKSkjgCTCAEIAogEZQgCSANlCALIAyUk5IgCCASlJM4AkggBCAJIAyUIAsgDZSSIAogEpSTIAggEZSTOAJEIAQgCCAMlCAJIBGUIAsgEpSTIAogDZSTkjgCQCAEIBQgCSAQlCAIIA6UIAogD5STkpI4AlAMAQsgBEFAayIGQRhqIAVBGGooAgA2AgAgBkEQaiAFQRBqKQIANwMAIAZBCGogBUEIaikCADcDACAEIAUpAgA3A0ALIARBCGogByAEQUBrIAIgAyAAKAIAIAAoAgQgACgCECoCABBnAkAgBCgCCEEBRw0AIARBPGoqAgAhFCAEQSxqKgIAIQkgBEEoaioCACEPIARBJGoqAgAhECAEQRRqKgIAIQ0gBEEQaioCACEMIAQqAgwhESAAKAIUIgAoAgAEQCAAKgI0IBReRQ0BCyAEQTBqIQIgBEEYaiEDIAEEQCAJIAFBDGoqAgAiEiAPIAEqAgAiCpQgECABQQRqKgIAIguUkyIIIAiSIg6UIAogECABQQhqKgIAIgiUIAkgCpSTIhMgE5IiE5QgCyAJIAuUIA8gCJSTIgkgCZIiFZSTkpIhCSAPIBIgE5QgCCAVlCAKIA6Uk5KSIQ8gECASIBWUIAsgDpQgCCATlJOSkiEQIAFBGGoqAgAgDSASIAwgCpQgESALlJMiDiAOkiIOlCAKIBEgCJQgDSAKlJMiEyATkiITlCALIA0gC5QgDCAIlJMiDSANkiIVlJOSkpIhDSABKgIQIBEgEiAVlCALIA6UIAggE5STkpKSIREgAUEUaioCACAMIBIgE5QgCCAVlCAKIA6Uk5KSkiEMCyAAIA04AgwgACAMOAIIIAAgETgCBCAAQQE2AgAgACAJOAIkIAAgDzgCICAAIBA4AhwgACAUOAI0IAAgAykCADcCECAAIAIpAgA3AiggAEEYaiADQQhqKAIANgIAIABBMGogAkEIaigCADYCAAsgBEHgAGokAAvxBwEIfwJAAkAgAEEDakF8cSICIABrIgUgAUsNACAFQQRLDQAgASAFayIHQQRJDQAgB0EDcSEIQQAhAQJAIAAgAkYNACAFQQNxIQMCQCACIABBf3NqQQNJBEAgACECDAELIAVBfHEhBiAAIQIDQCABIAIsAABBv39KaiACLAABQb9/SmogAiwAAkG/f0pqIAIsAANBv39KaiEBIAJBBGohAiAGQQRrIgYNAAsLIANFDQADQCABIAIsAABBv39KaiEBIAJBAWohAiADQQFrIgMNAAsLIAAgBWohAAJAIAhFDQAgACAHQXxxaiICLAAAQb9/SiEEIAhBAUYNACAEIAIsAAFBv39KaiEEIAhBAkYNACAEIAIsAAJBv39KaiEECyAHQQJ2IQUgASAEaiEDA0AgACEBIAVFDQIgBUHAASAFQcABSRsiBEEDcSEGIARBAnQhCAJAIARB/AFxIgdFBEBBACECDAELIAEgB0ECdGohCUEAIQIDQCAARQ0BIAIgACgCACICQX9zQQd2IAJBBnZyQYGChAhxaiAAQQRqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBCGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEMaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiECIAkgAEEQaiIARw0ACwsgBSAEayEFIAEgCGohACACQQh2Qf+B/AdxIAJB/4H8B3FqQYGABGxBEHYgA2ohAyAGRQ0ACwJAIAFFBEBBACECDAELIAEgB0ECdGohACAGQQFrQf////8DcSICQQFqIgRBA3EhAQJAIAJBA0kEQEEAIQIMAQsgBEH8////B3EhBkEAIQIDQCACIAAoAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEEaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiAAQQhqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBDGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWohAiAAQRBqIQAgBkEEayIGDQALCyABRQ0AA0AgAiAAKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIQIgAEEEaiEAIAFBAWsiAQ0ACwsgAkEIdkH/gfwHcSACQf+B/AdxakGBgARsQRB2IANqDwsgAUUEQEEADwsgAUEDcSECAkAgAUEBa0EDSQRADAELIAFBfHEhAQNAIAMgACwAAEG/f0pqIAAsAAFBv39KaiAALAACQb9/SmogACwAA0G/f0pqIQMgAEEEaiEAIAFBBGsiAQ0ACwsgAkUNAANAIAMgACwAAEG/f0pqIQMgAEEBaiEAIAJBAWsiAg0ACwsgAwvzJQIDfB5/IwBBEGsiDSQAIAC7IQECQAJAAkACQCAAvCIPQf////8HcSIGQdufpPoDTwRAIAZB0qftgwRJDQEgBkHW44iHBEkNAiAGQf////sHTQ0DIAAgAJMhAAwECyAGQYCAgMwDTwRAIAEgAaIiAiABoiIDIAIgAqKiIAJEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAyACRLL7bokQEYE/okR3rMtUVVXFv6CiIAGgoLYhAAwECyANIABDAACAA5QgAEMAAIB7kiAGQYCAgARJGzgCCCANKgIIGgwDCyAGQeSX24AETwRARBgtRFT7IQnARBgtRFT7IQlAIA9BAE4bIAGgIgIgAqIiASACmqIiAyABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAMgAUSy+26JEBGBP6JEd6zLVFVVxb+goiACoaC2IQAMAwsgD0EATgRAIAFEGC1EVPsh+b+gIgEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYhAAwDCyABRBgtRFT7Ifk/oCIBIAGiIgEgAaIhAiABRIFeDP3//9+/okQAAAAAAADwP6AgAkRCOgXhU1WlP6KgIAEgAqIgAURpUO7gQpP5PqJEJx4P6IfAVr+goqC2jCEADAILIAZB4Nu/hQRPBEBEGC1EVPshGcBEGC1EVPshGUAgD0EAThsgAaAiAiACoiEBIAIgAaIiAyABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAIgAyABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQAMAgsgD0EATgRAIAFE0iEzf3zZEsCgIgEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMAgsgAUTSITN/fNkSQKAiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEADAELIA1CADcDCAJ8IAZB2p+k7gRNBEAgAUSDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCICRAAAAAAAAODBZiEFQQBB/////wcCfyACmUQAAAAAAADgQWMEQCACqgwBC0GAgICAeAtBgICAgHggBRsgAkQAAMD////fQWQbIAIgAmIbIQYgASACRAAAAFD7Ifm/oqAgAkRjYhphtBBRvqKgDAELIA0gBiAGQRd2QZYBayIGQRd0a767OQMAIA1BCGohGSMAQbAEayIEJAAgBEIANwOYASAEQgA3A5ABIARCADcDiAEgBEIANwOAASAEQgA3A3ggBEIANwNwIARCADcDaCAEQgA3A2AgBEIANwNYIARCADcDUCAEQgA3A0ggBEIANwNAIARCADcDOCAEQgA3AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCCAEQgA3AwAgBEIANwO4AiAEQgA3A7ACIARCADcDqAIgBEIANwOgAiAEQgA3A5gCIARCADcDkAIgBEIANwOIAiAEQgA3A4ACIARCADcD+AEgBEIANwPwASAEQgA3A+gBIARCADcD4AEgBEIANwPYASAEQgA3A9ABIARCADcDyAEgBEIANwPAASAEQgA3A7gBIARCADcDsAEgBEIANwOoASAEQgA3A6ABIARCADcD2AMgBEIANwPQAyAEQgA3A8gDIARCADcDwAMgBEIANwO4AyAEQgA3A7ADIARCADcDqAMgBEIANwOgAyAEQgA3A5gDIARCADcDkAMgBEIANwOIAyAEQgA3A4ADIARCADcD+AIgBEIANwPwAiAEQgA3A+gCIARCADcD4AIgBEIANwPYAiAEQgA3A9ACIARCADcDyAIgBEIANwPAAiAEQeADakEAQdAAEOMMGkGw5sMAKAIAIg4hCSAGIghBA2tBGG0iBkEAIAZBAEobIhoiB0FobCEMIAdBAnRBwObDAGohBgNAIAUgCU8hECAFIAUgCUlqIQogBCAFQQN0aiAHQQBIBHxEAAAAAAAAAAAFIAYoAgC3CzkDACAGQQRqIQYgB0EBaiEHIBAgCSAKIgVJckUNAAtBACEHA0AgB0EDdCIGIARBwAJqaiANKwMAIAQgBmorAwCiRAAAAAAAAAAAoDkDACAHIA5JBEAgDiAHIAcgDklqIgdPDQELC0QAAAAAAADwf0QAAAAAAADgfyAIIAxqIghBlwhrIgZB/wdLIhQbRAAAAAAAAAAARAAAAAAAAGADIAhBGGsiCkG5cEkiFRtEAAAAAAAA8D8gCkGCeEgiFhsgCkH/B0oiFxsgCkH9FyAKQf0XSBtB/g9rIAYgFBsiECAKQfBoIApB8GhKG0GSD2ogCEGxB2ogFRsiEyAKIBYbIBcbQf8Haq1CNIa/oiEDIA5BAnQgBGpB3ANqIRtBDyAIa0EfcSEcQRAgCGtBH3EhGCAIQRlrIR0gDiEGAkADQCAEQcACaiAGQQN0aisDACEBAkAgBkUNACAEQeADaiEJIAYhBQNAIAFEAAAAAAAAcD6iIgJEAAAAAAAA4MFmIQwgAUEAQf////8HAn8gAplEAAAAAAAA4EFjBEAgAqoMAQtBgICAgHgLQYCAgIB4IAwbIAJEAADA////30FkGyACIAJiG7ciAkQAAAAAAABwwaKgIgFEAAAAAAAA4MFmIQwgCUEAQf////8HAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLQYCAgIB4IAwbIAFEAADA////30FkGyABIAFiGzYCACAFQQN0IARqQbgCaisDACACoCEBIAVBAkkNASAJQQRqIQkgBSAFQQFLayIFDQALCwJ/AkAgF0UEQCAWDQEgCgwCCyABRAAAAAAAAOB/oiIBRAAAAAAAAOB/oiABIBQbIQEgEAwBCyABRAAAAAAAAGADoiIBRAAAAAAAAGADoiABIBUbIQEgEwshBSABIAVB/wdqrUI0hr+iIgEgAUQAAAAAAADAP6KcRAAAAAAAACDAoqAiAUQAAAAAAADgwWYhByABQQBB/////wcCfyABmUQAAAAAAADgQWMEQCABqgwBC0GAgICAeAtBgICAgHggBxsgAUQAAMD////fQWQbIAEgAWIbIhG3oSEBAkACQAJAAn8gCkEASiIeRQRAIAoNAiAGQQJ0IARqQdwDaigCAEEXdQwBCyAGQQJ0IARqQdwDaiIHKAIAIgkgGHUhBSAHIAkgBSAYdGsiBzYCACAFIBFqIREgByAcdQsiDEEASg0BDAILQQAhDCABRAAAAAAAAOA/ZkUNAUECIQwLAkAgBkUEQEEAIQcMAQsgBkEBcSEfQQAhB0EAIQkgBkEBRwRAIAZBfnEhICAEQeADaiEFA0AgBSgCACESQf///wchCwJ/AkAgBw0AQYCAgAghCyASDQBBAQwBCyAFIAsgEms2AgBBAAshByAJQQJqIQkgBUEEaiIhKAIAIRJB////ByELAn8CQCAHRQ0AQYCAgAghCyASDQBBAAwBCyAhIAsgEms2AgBBAQshByAFQQhqIQUgCSAgRw0ACwsgH0UNACAEQeADaiAJQQJ0aiILKAIAIQVB////ByEJAkAgBw0AQYCAgAghCSAFDQBBACEHDAELIAsgCSAFazYCAEEBIQcLAkAgHkUNAEH///8DIQUCQAJAIB0OAgEAAgtB////ASEFCyAGQQJ0IARqQdwDaiIJIAkoAgAgBXE2AgALIBFBAWohESAMQQJHDQBEAAAAAAAA8D8gAaEiASADoSABIAcbIQFBAiEMCyABRAAAAAAAAAAAYQRAIBshBSAGIQcCQCAOIAZBAWsiCUsNAEEAIQsDQAJAIARB4ANqIAlBAnRqKAIAIAtyIQsgCSAOTQ0AIA4gCSAJIA5LayIJTQ0BCwsgBiEHIAtFDQAgBkECdCAEakHcA2ohBSAKIQgDQCAGQQFrIQYgCEEYayEIIAUoAgAhByAFQQRrIQUgB0UNAAsMAwsDQCAHQQFqIQcgBSgCACEJIAVBBGshBSAJRQ0ACyAGQQFqIQsgCyAHIgZLDQEDQCAEIAtBA3QiBWoiByALIBpqQQJ0QcDmwwBqKAIAtzkDACAEQcACaiAFaiANKwMAIAcrAwCiRAAAAAAAAAAAoDkDACAGIAtLIgUgC2ohCyAFRQ0CIAYgC08NAAsMAQsLAkACQEEYIAhrIgVB/wdMBEAgBUGCeE4NAiABRAAAAAAAAGADoiEBIAVBuHBNDQFB4QcgCGshBQwCCyABRAAAAAAAAOB/oiEBQZl4IAhrIgdBgAhJBEAgByEFDAILIAFEAAAAAAAA4H+iIQEgBUH9FyAFQf0XSBtB/g9rIQUMAQsgAUQAAAAAAABgA6IhASAFQfBoIAVB8GhKG0GSD2ohBQsCQCABIAVB/wdqrUI0hr+iIgFEAAAAAAAAcEFmRQRAIAohCAwBCyABRAAAAAAAAHA+oiICRAAAAAAAAODBZiEHIAFBAEH/////BwJ/IAKZRAAAAAAAAOBBYwRAIAKqDAELQYCAgIB4C0GAgICAeCAHGyACRAAAwP///99BZBsgAiACYhu3IgFEAAAAAAAAcMGioCICRAAAAAAAAODBZiEHIARB4ANqIAZBAnRqQQBB/////wcCfyACmUQAAAAAAADgQWMEQCACqgwBC0GAgICAeAtBgICAgHggBxsgAkQAAMD////fQWQbIAIgAmIbNgIAIAZBAWohBgsgAUQAAAAAAADgwWYhByAEQeADaiAGQQJ0akEAQf////8HAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLQYCAgIB4IAcbIAFEAADA////30FkGyABIAFiGzYCAAsCQAJAIAhB/wdMBEBEAAAAAAAA8D8hASAIQYJ4SA0BIAghBQwCC0QAAAAAAADgfyEBIAhB/wdrIgVBgAhJDQEgCEH9FyAIQf0XSBtB/g9rIQVEAAAAAAAA8H8hAQwBCyAIQbhwSwRAIAhByQdqIQVEAAAAAAAAYAMhAQwBCyAIQfBoIAhB8GhKG0GSD2ohBUQAAAAAAAAAACEBCyABIAVB/wdqrUI0hr+iIQEgBkEBcQR/IAYFIARBwAJqIAZBA3RqIAEgBEHgA2ogBkECdGooAgC3ojkDACABRAAAAAAAAHA+oiEBIAYgBkEAR2sLIQUgBgRAA0AgBEHAAmoiByAFQQN0aiABIARB4ANqIgogBUECdGooAgC3ojkDACAHIAUgBUEAR2siCEEDdGogAUQAAAAAAABwPqIiASAKIAhBAnRqKAIAt6I5AwAgCCAIQQBHayEFIAFEAAAAAAAAcD6iIQEgCA0ACwsgBEHAAmogBkEDdGohCSAGIQgDQEEAIQVBf0EAIAgiBxshECAGIAhrIQpEAAAAAAAAAAAhAUEBIQgDQAJAIAEgBUHI6MMAaisDACAFIAlqKwMAoqAhASAIIA5LDQAgBUEIaiEFIAggCk0hEyAIQQFqIQggEw0BCwsgBEGgAWogCkEDdGogATkDACAJQQhrIQkgByAQaiEIIAcNAAtEAAAAAAAAAAAhAQJAIAZBAWpBA3EiB0UEQCAGIQUMAQsgBiEIA0AgASAEQaABaiAIQQN0aisDAKAhASAIIAhBAEdrIgUhCCAHQQFrIgcNAAsLIAZBA08EQANAIAUgBUEAR2siCCAIQQBHayIHIAdBAEdrIQYgASAFQQN0IARBoAFqIgVqKwMAoCAFIAhBA3RqKwMAoCAFIAdBA3RqKwMAoCAFIAZBA3RqKwMAoCEBIAYgBkEAR2shBSAGDQALCyAZIAGaIAEgDBs5AwAgBEGwBGokACARQQdxIQYgD0EATgRAIA0rAwgMAQtBACAGayEGIA0rAwiaCyEBAkACQAJAAkAgBkEDcQ4DAQIDAAsgASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowhAAwDCyABIAEgAaIiAqIiAyACIAKioiACRKdGO4yHzcY+okR058ri+QAqv6CiIAEgAyACRLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQAMAgsgASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEADAELIAEgAaIiAiABmqIiAyACIAKioiACRKdGO4yHzcY+okR058ri+QAqv6CiIAMgAkSy+26JEBGBP6JEd6zLVFVVxb+goiABoaC2IQALIA1BEGokACAAC40LAgN8A38jAEEQayIFJAAgALshAQJAAkACQAJAIAC8IgZB/////wdxIgRB25+k+gNPBEAgBEHSp+2DBEkNASAEQdbjiIcESQ0CIARB////+wdNDQMgACAAkyEADAQLIARBgICAzANPBEAgASABoiICIAGiIgMgAiACoqIgAkSnRjuMh83GPqJEdOfK4vkAKr+goiADIAJEsvtuiRARgT+iRHesy1RVVcW/oKIgAaCgtiEADAQLIAUgAEMAAIADlCAAQwAAgHuSIARBgICABEkbOAIIIAUqAggaDAMLIARB5JfbgARPBEBEGC1EVPshCcBEGC1EVPshCUAgBkEAThsgAaAiAiACoiIBIAKaoiIDIAEgAaKiIAFEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAyABRLL7bokQEYE/okR3rMtUVVXFv6CiIAKhoLYhAAwDCyAGQQBOBEAgAUQYLURU+yH5v6AiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEADAMLIAFEGC1EVPsh+T+gIgEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMAgsgBEHg27+FBE8EQEQYLURU+yEZwEQYLURU+yEZQCAGQQBOGyABoCICIAKiIQEgAiABoiIDIAEgAaKiIAFEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAiADIAFEsvtuiRARgT+iRHesy1RVVcW/oKKgoLYhAAwCCyAGQQBOBEAgAUTSITN/fNkSwKAiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowhAAwCCyABRNIhM3982RJAoCIBIAGiIgEgAaIhAiABRIFeDP3//9+/okQAAAAAAADwP6AgAkRCOgXhU1WlP6KgIAEgAqIgAURpUO7gQpP5PqJEJx4P6IfAVr+goqC2IQAMAQsgBUIANwMIAnwgBEHan6TuBE0EQCABRIPIyW0wX+Q/okQAAAAAAAA4Q6BEAAAAAAAAOMOgIgJEAAAAAAAA4MFmIQZBAEH/////BwJ/IAKZRAAAAAAAAOBBYwRAIAKqDAELQYCAgIB4C0GAgICAeCAGGyACRAAAwP///99BZBsgAiACYhshBCABIAJEAAAAUPsh+b+ioCACRGNiGmG0EFG+oqAMAQsgBSAEIARBF3ZBlgFrIgRBF3Rrvrs5AwAgBSAFQQhqIAQQRCEEIAZBAE4EQCAFKwMIDAELQQAgBGshBCAFKwMImgshAQJAAkACQAJAIARBA3EOAwECAwALIAEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMAwsgASABIAGiIgKiIgMgAiACoqIgAkSnRjuMh83GPqJEdOfK4vkAKr+goiABIAMgAkSy+26JEBGBP6JEd6zLVFVVxb+goqCgtiEADAILIAEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYhAAwBCyABIAGiIgIgAZqiIgMgAiACoqIgAkSnRjuMh83GPqJEdOfK4vkAKr+goiADIAJEsvtuiRARgT+iRHesy1RVVcW/oKIgAaGgtiEACyAFQRBqJAAgAAv6BgEFfyAAQQhrIgAoAgRBeHEhAiAAIAJqIQECQAJAAkAgACgCBEEBcQ0AIAAoAgAhAwJAIAAtAARBA3EEQCACIANqIQIgACADayIAQajzwwAoAgBHDQEgASgCBEEDcUEDRw0CQaDzwwAgAjYCACABIAEoAgRBfnE2AgQgACACQQFyNgIEIAAgAmogAjYCAA8LDAILIANBgAJPBEAgABCeBQwBCyAAQQxqKAIAIgQgAEEIaigCACIFRwRAIAUgBDYCDCAEIAU2AggMAQtBmPPDAEGY88MAKAIAQX4gA0EDdndxNgIACwJAIAEtAARBAnFBAXYEQCABIAEoAgRBfnE2AgQgACACQQFyNgIEIAAgAmogAjYCAAwBCwJAAkACQEGs88MAKAIAIAFHBEAgAUGo88MAKAIARw0BQajzwwAgADYCAEGg88MAQaDzwwAoAgAgAmoiATYCACAAIAFBAXI2AgQgACABaiABNgIADwtBrPPDACAANgIAQaTzwwBBpPPDACgCACACaiIBNgIAIAAgAUEBcjYCBCAAQajzwwAoAgBGDQEMAgsgASgCBEF4cSIDIAJqIQICQCADQYACTwRAIAEQngUMAQsgAUEMaigCACIEIAFBCGooAgAiAUcEQCABIAQ2AgwgBCABNgIIDAELQZjzwwBBmPPDACgCAEF+IANBA3Z3cTYCAAsgACACQQFyNgIEIAAgAmogAjYCACAAQajzwwAoAgBHDQJBoPPDACACNgIADAMLQaDzwwBBADYCAEGo88MAQQA2AgALQbjzwwAoAgAgAU8NAUGs88MAKAIARQ0BQQAhAgJAQaTzwwAoAgBBKE0NAEGs88MAKAIAIQFBgPHDACEAAkADQCABIAAoAgBPBEAgACgCACAAKAIEaiABSw0CCyAAKAIIIgANAAtBACEACyAAKAIMQQFxDQAgAEEMaigCABoLEKgFDQFBpPPDACgCAEG488MAKAIATQ0BQbjzwwBBfzYCAA8LIAJBgAJJDQEgACACEJsFQcDzwwBBwPPDACgCAEEBayIANgIAIAANABCoBRoPCw8LIAJBeHFBkPHDAGohAQJ/QZjzwwAoAgAiA0EBIAJBA3Z0IgJxBEAgASgCCAwBC0GY88MAIAIgA3I2AgAgAQshAiABIAA2AgggAiAANgIMIAAgATYCDCAAIAI2AggLkggCD38BfSMAQSBrIgkkACAJIABBDGooAgAiBDYCACAAQRBqKAIAIQMgCSACNgIEAkAgAiAERgRAIAIgA0cNASAAQSRqKAIAIgMgAEEgaigCACILTQRAAkAgAwRAIABBGGooAgAiBiADQQN0aiEFIAYhBANAIAtBA3QiDSAGaiIOIAQgBCAFRiIKGyIHKAIAIgggAk8NAiAHKAIEIgwgAk8NAiAEIA1qIQQgA0EBR0EDdCENIANBAWshAyAIIAxHBEAgASAIQQJ0aiIIKgIAIRIgCCABIAxBAnRqIggoAgA2AgAgCCASOAIACyAEIAUgChshBSAOIAYgChshBiAHIA1qIQQgAw0ACwsgAEEEaigCACELAkACQCACQQFrIgUEQCALQQhqIQggAUEIaiEMIAJBAmshDSACQQJ0QQRqIQ5BACEHIAUhCgNAIAIgB0YNAwJAIAciAEEBaiIHIAJGDQAgASAAQQJ0aioCACESIAUgAGtBAXEhD0EAIQYgACANRwRAIApBfnEhECAIIQQgDCEDA0AgAyADKgIAIBIgBCoCAJSTOAIAIANBBGsiESARKgIAIBIgBEEEayoCAJSTOAIAIARBCGohBCADQQhqIQMgECAGQQJqIgZHDQALCyAPRQ0AIAZBAnQiBCABIAdBAnRqaiIDIAMqAgAgEiALIAAgAmwgB2pBAnRqIARqKgIAlJM4AgALIApBAWshCiAIIA5qIQggDEEEaiEMIAUgB0cNAAsgAkUNAQsgCyAFIAIgBWwiCGpBAnRqKgIAIhJDAAAAAFsNACACQQJrIQxBACEHQQAgAkECdGshDSALIAIgBWxBAnRqIQogAiEAA0AgACEEIAEgBSIAQQJ0aiIDKgIAIBKVIRIgAyASOAIAAkAgAiAETwRAIABFDQMgAEEBcSEFQQAhBiAHIAxGDQEgAEF+cSEOIAohBCABIQMDQCADIAMqAgAgEiAEKgIAlJM4AgAgA0EEaiIPIA8qAgAgEiAEQQRqKgIAlJM4AgAgBEEIaiEEIANBCGohAyAOIAZBAmoiBkcNAAsMAQtBmPfAAEEdQbD4wAAQuAsACyAFBEAgBkECdCIEIAFqIgMgAyoCACASIAsgCEECdGogBGoqAgCUkzgCAAsgCiANaiEKIAdBAWohByALIABBAWsiBSACbCIIIAVqQQJ0aioCACISQwAAAABcDQALCyAJQSBqJAAPC0GY98AAQR1BsPjAABC4CwALQcCEwQBBPkGAhcEAENkJAAtBmPfAAEEdQaD4wAAQuAsACyAJQQA2AhwgCUGYv8AANgIYIAlBATYCFCAJQfCIwQA2AhAgCUEANgIIIAkgCUEEaiAJQQhqQfiIwQAQiwkAC0GIicEAQS5BuInBABC4CwAL7QoCA3wDfyMAQRBrIgUkACAAuyEBAn0CQAJAAkACQAJAIAC8IgZB/////wdxIgRB25+k+gNPBEAgBEHSp+2DBEkNASAEQdbjiIcESQ0CIARB////+wdNDQMgACAAkwwGCyAEQYCAgMwDTwRAIAEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYMBgsgBSAAQwAAgHuSOAIIIAUqAggaQwAAgD8MBQsgBEHjl9uABEsNAiAGQQBOBEBEGC1EVPsh+T8gAaEiAiACoiEBIAIgAaIiAyABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAIgAyABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2DAULIAFEGC1EVPsh+T+gIgIgAqIhASACIAGiIgMgASABoqIgAUSnRjuMh83GPqJEdOfK4vkAKr+goiACIAMgAUSy+26JEBGBP6JEd6zLVFVVxb+goqCgtgwECyAEQd/bv4UESw0CIAZBAE4EQCABRNIhM3982RLAoCICIAKiIQEgAiABoiIDIAEgAaKiIAFEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAiADIAFEsvtuiRARgT+iRHesy1RVVcW/oKKgoLYMBAtE0iEzf3zZEsAgAaEiAiACoiEBIAIgAaIiAyABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAIgAyABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2DAMLIAVCADcDCAJ8IARB2p+k7gRNBEAgAUSDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCICRAAAAAAAAODBZiEGQQBB/////wcCfyACmUQAAAAAAADgQWMEQCACqgwBC0GAgICAeAtBgICAgHggBhsgAkQAAMD////fQWQbIAIgAmIbIQQgASACRAAAAFD7Ifm/oqAgAkRjYhphtBBRvqKgDAELIAUgBCAEQRd2QZYBayIEQRd0a767OQMAIAUgBUEIaiAEEEQhBCAGQQBOBEAgBSsDCAwBC0EAIARrIQQgBSsDCJoLIQECQAJAAkACQCAEQQNxDgMBAgMACyABIAEgAaIiAqIiAyACIAKioiACRKdGO4yHzcY+okR058ri+QAqv6CiIAEgAyACRLL7bokQEYE/okR3rMtUVVXFv6CioKC2DAULIAEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYMBAsgASABoiICIAGaoiIDIAIgAqKiIAJEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAyACRLL7bokQEYE/okR3rMtUVVXFv6CiIAGhoLYMAwsgASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowMAgtEGC1EVPshCcBEGC1EVPshCUAgBkEAThsgAaAiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowMAQtEGC1EVPshGcBEGC1EVPshGUAgBkEAThsgAaAiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtgshACAFQRBqJAAgAAvGCAIIfwZ+AkACQAJAAkACQAJAIAEpAwAiDVBFBEAgDUL//////////x9WDQEgA0UNAyABLwEYIgFBIGsgASANQoCAgIAQVCIBGyIFQRBrIAUgDUIghiANIAEbIg1CgICAgICAwABUIgEbIgVBCGsgBSANQhCGIA0gARsiDUKAgICAgICAgAFUIgEbIgVBBGsgBSANQgiGIA0gARsiDUKAgICAgICAgBBUIgUbIQEgDUIEhiANIAUbIg1CgICAgICAgIDAAFQhBUGgfyANQgKGIA0gBRsiDUI/h6dBf3MgAUECayABIAUbaiIFa0EQdEEQdUHQAGxBsKcFakHOEG0iAUHRAE8NAiABQQR0IgFBurbDAGovAQAhBwJ/IAFBsLbDAGopAwAiD0L/////D4MiDiANIA1Cf4VCP4iGIhBCIIgiEX4hDSAPQiCIIhIgEEL/////D4MiEH4hDwJAAkAgESASfiANQiCIfCAPQiCIfCANQv////8PgyAOIBB+QiCIfCAPQv////8Pg3xCgICAgAh8QiCIfCIOQUAgBSABQbi2wwBqLwEAamsiAUE/ca0iDYinIgVBkM4ATwRAIAVBwIQ9SQ0BIAVBgMLXL0kNAkEIQQkgBUGAlOvcA0kiBhshCEGAwtcvQYCU69wDIAYbDAMLIAVB5ABPBEBBAkEDIAVB6AdJIgYbIQhB5ABB6AcgBhsMAwsgBUEJSyEIQQFBCiAFQQpJGwwCC0EEQQUgBUGgjQZJIgYbIQhBkM4AQaCNBiAGGwwBC0EGQQcgBUGAreIESSIGGyEIQcCEPUGAreIEIAYbCyEGQgEgDYYhDwJAIAggB2tBEHRBgIAEakEQdSIHIARBEHRBEHUiCUoEQCAPQgF9IhEgDoMhDiABQf//A3EhCyAHIARrQRB0QRB1IAMgByAJayADSRsiCUEBayEMQQAhAQNAIAUgBm4hCiABIANGDQcgBSAGIApsayEFIAEgAmogCkEwajoAACABIAxGDQggASAIRg0CIAFBAWohASAGQQpJIQogBkEKbiEGIApFDQALQbDCwwBBGUGsxMMAENkJAAsgACACIANBACAHIAQgDkIKgCAGrSANhiAPEKoEDwsgAUEBaiIBIAMgASADSxshBSALQQFrQT9xrSESQgEhEANAIBAgEohQRQRAIABBADYCAA8LIAEgBUYNByABIAJqIA5CCn4iDiANiKdBMGo6AAAgEEIKfiEQIA4gEYMhDiAJIAFBAWoiAUcNAAsgACACIAMgCSAHIAQgDiAPIBAQqgQPC0H3scMAQRxB2MPDABDZCQALQejDwwBBJEGMxMMAENkJAAsgAUHRAEHwwMMAEMMIAAtBjMPDAEEhQZzEwwAQ2QkACyADIANBvMTDABDDCAALIAAgAiADIAkgByAEIAWtIA2GIA58IAatIA2GIA8QqgQPCyAFIANBzMTDABDDCAALtQcCAX8dfSMAQeAAayIIJAAgCCACIAcqAgQQigIgCCoCACIKIAZBBGoqAgAiE5QgCCoCBCIJIAYqAgAiFJSTIgsgC5IhCyAIKgIIIhIgFJQgCiAGQQhqKgIAIg+UkyIOIA6SIQ4gDyAIKgIMIhUgC5QgCiAOlCAJIAkgD5QgEiATlJMiDyAPkiIMlJOSkiEPIBMgFSAOlCASIAyUIAogC5STkpIhEyAUIBUgDJQgCSALlCASIA6Uk5KSIRIgBSoCCCEOIAUqAgQhFCAFKgIAIRUgAyoCCCEjIAMqAgQhJCADKgIAISVBACEGAkADQCAHAn0gAUMAAAAAXUUEQCABQwAAoDVeRQ0DIAcgByoCBCIJOAIAIAkgByoCCCIKkgwBCyAHIAcqAgQiCjgCCCAKIAcqAgAiCZILQwAAAD+UIgE4AgQgCiAJk0MAAKA1XUUEQCAIQSBqIAIgARCKAiAIQUBrIAQgARCKAiAPIAgqAiwiCyASIAgqAiQiAZQgEyAIKgIgIgqUkyIJIAmSIhuUIAEgEyAIKgIoIgmUIA8gAZSTIgwgDJIiHJQgCiAPIAqUIBIgCZSTIgwgDJIiHZSTkpIhHiABIAgqAlAgCCoCMJMiH5QgCiAIKgJUIAgqAjSTIiCUkyIMIAySIQwgCSAglCABIAgqAlggCCoCOJMiDZSTIhYgFpIhFiAeIA0gCyAMlCABIBaUIAogCiANlCAJIB+UkyINIA2SIiGUk5KSIA4gCSAIKgJIIg2UIAEgCCoCRCIQlCAKIAgqAkAiEZQgCyAIKgJMIheUkpKSIiIgCSAQlCALIBGUIAogF5STIAEgDZSTkiIZIBSUIAsgEJQgCiANlJIgASAXlJMgCSARlJMiGiAVlJMiGCAYkiIYlCAZIAEgEZQgCyANlCAKIBCUk5IgCSAXlJMiDSAVlCAZIA6UkyIQIBCSIhCUIBogGiAOlCANIBSUkyIRIBGSIhGUk5KSkpQgEiALIByUIAkgHZQgASAblJOSkiIXIB8gCyAWlCAJICGUIAEgDJSTkpIgFSAiIBGUIBogGJQgDSAQlJOSkpKUIBMgCyAdlCAKIBuUIAkgHJSTkpIiASAgIAsgIZQgCiAMlCAJIBaUk5KSIBQgIiAQlCANIBGUIBkgGJSTkpKSlJKSIBcgJZQgASAklJIgHiAjlJKTIQEgBkEBaiEGDAELCyAHIAo4AgQLIAAgBjYCDCAAIAcpAgA3AgAgAEEIaiAHQQhqKAIANgIAIAhB4ABqJAALlQgBCH8jAEHwAWsiByQAAkACQAJAIABFDQAgACgCACIIQX9GDQIgACAIQQFqNgIAIAFFDQAgASgCACIIQX9GDQIgASAIQQFqNgIAIAJFDQAgAigCACIIQX9GDQIgAiAIQQFqNgIAIANFDQAgAygCACIIQX9GDQIgAyAIQQFqNgIAIARFDQAgBCgCACIIQX9GDQIgBCAIQQFqNgIAIAVFDQAgBSgCACIIQX9GDQJBASEMIAUgCEEBajYCACAHQUBrIghBCGogAkEEaiIJQQhqKQIANwMAIAcgCSkCADcDQCAIQRhqIAFBBGoiCUEIaigCADYCACAHIAkpAgA3A1AgB0HgAGoiCUEIaiAFQQxqKQIANwMAIAcgBSkCBDcDYCAJQRhqIARBBGoiCkEIaigCADYCACAHIAopAgA3A3AgByADQQRqIgooAgQiCzYCBCAHIAooAgAgCygCCEEHakF4cWo2AgAgB0G4AWogCCAAKAIEIABBCGooAgAiCCgCCEEHakF4cWogCCAJIAcoAgAgBygCBCAGEKYBAkAgBygCuAEiCUECRg0AIAdBgAFqIghBMGoiCiAHQewBaigCADYCACAIQShqIgsgB0HkAWopAgA3AwAgCEEgaiINIAdB3AFqKQIANwMAIAhBGGogB0HUAWopAgA3AwAgCEEQaiIOIAdBzAFqKQIANwMAIAhBCGogB0HEAWopAgA3AwAgByAHKQK8ATcDgAEgCUUNACAHQbgBaiIIQTBqIAooAgA2AgAgCEEoaiALKQMANwMAIAhBIGogDSkDADcDACAIQRhqIAdBgAFqIglBGGopAwA3AwAgCEEQaiAOKQMANwMAIAhBCGogCUEIaikDADcDACAHIAcpA4ABNwO4AUEAIQwLIAdBCGoiCEEIaiAHQbgBaiIJQQhqKQMANwMAIAhBEGogCUEQaikDADcDACAIQRhqIAlBGGopAwA3AwAgCEEgaiAJQSBqKQMANwMAIAhBKGogCUEoaikDADcDACAIQTBqIAlBMGooAgA2AgAgByAHKQO4ATcDCCAFIAUoAgBBAWs2AgAgBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACACIAIoAgBBAWs2AgAgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEEAIQAgDEUEQEE4QQQQ9wsiAEUNAiAAQQA2AgAgACAHKQMINwIEIABBDGogB0EQaikDADcCACAAQRRqIAdBGGopAwA3AgAgAEEcaiAHQSBqKQMANwIAIABBJGogB0EoaikDADcCACAAQSxqIAdBMGopAwA3AgAgAEE0aiAHQThqKAIANgIACyAHQfABaiQAIAAPCxDaDAALQThBBEHI78MAKAIAIgBBigcgABsRAAAACxDbDAALoggBCH8CQCABQf8JTQRAIAFBBXYhBQJAAkACQCAAKAKgASIEBEAgBEECdCAAakEEayECIAQgBWpBAnQgAGpBBGshBiAEQQFrIgNBJ0shBANAIAQNBCADIAVqIgdBKE8NAiAGIAIoAgA2AgAgBkEEayEGIAJBBGshAiADQQFrIgNBf0cNAAsLIAFBIEkNBCAAQQA2AgAgAUHAAE8NAQwECyAHQShBmN7DABDDCAALIABBADYCBCAFQQEgBUEBSxsiAkECRg0CIABBADYCCCACQQNGDQIgAEEANgIMIAJBBEYNAiAAQQA2AhAgAkEFRg0CIABBADYCFCACQQZGDQIgAEEANgIYIAJBB0YNAiAAQQA2AhwgAkEIRg0CIABBADYCICACQQlGDQIgAEEANgIkIAJBCkYNAiAAQQA2AiggAkELRg0CIABBADYCLCACQQxGDQIgAEEANgIwIAJBDUYNAiAAQQA2AjQgAkEORg0CIABBADYCOCACQQ9GDQIgAEEANgI8IAJBEEYNAiAAQQA2AkAgAkERRg0CIABBADYCRCACQRJGDQIgAEEANgJIIAJBE0YNAiAAQQA2AkwgAkEURg0CIABBADYCUCACQRVGDQIgAEEANgJUIAJBFkYNAiAAQQA2AlggAkEXRg0CIABBADYCXCACQRhGDQIgAEEANgJgIAJBGUYNAiAAQQA2AmQgAkEaRg0CIABBADYCaCACQRtGDQIgAEEANgJsIAJBHEYNAiAAQQA2AnAgAkEdRg0CIABBADYCdCACQR5GDQIgAEEANgJ4IAJBH0YNAiAAQQA2AnwgAkEgRg0CIABBADYCgAEgAkEhRg0CIABBADYChAEgAkEiRg0CIABBADYCiAEgAkEjRg0CIABBADYCjAEgAkEkRg0CIABBADYCkAEgAkElRg0CIABBADYClAEgAkEmRg0CIABBADYCmAEgAkEnRg0CIABBADYCnAEgAkEoRg0CQShBKEGY3sMAEMMIAAsgA0EoQZjewwAQwwgAC0HC3sMAQR1BmN7DABDZCQALIAAoAqABIAVqIQIgAUEfcSIHRQRAIAAgAjYCoAEgAA8LAkAgAkEBayIDQSdNBEAgAiEEIAAgA0ECdGooAgAiBkEAIAFrIgF2IgNFDQEgAkEnTQRAIAAgAkECdGogAzYCACACQQFqIQQMAgsgAkEoQZjewwAQwwgACyADQShBmN7DABDDCAALAkAgAiAFQQFqIghLBEAgAUEfcSEBIAJBAnQgAGpBCGshAwNAIAJBAmtBKE8NAiAGIAd0IQkgA0EEaiAJIAMoAgAiBiABdnI2AgAgA0EEayEDIAggAkEBayICSQ0ACwsgACAFQQJ0aiIBIAEoAgAgB3Q2AgAgACAENgKgASAADwtBf0EoQZjewwAQwwgAC40IAgN/GH0jAEFAaiIIJAAgACgCACIKIAEgAhDACSEJIAogAyAEEMAJIQICQCAJRQ0AIAJFDQACfSAJLQDZAkEBRwRAQwAAgD8hEEMAAIA/IRFDAACAPyEMQwAAgD8gCUHUAmotAABFDQEaCyACLQDZAkEBRwRAQwAAgD8hEEMAAIA/IRFDAACAPyEMQwAAgD8gAkHUAmotAABFDQEaCyAAKAIEIgEqAgwhECABKgIIIREgASoCBCEMIAEqAgALIQ4gAkEwaiIKKgIAISEgAkE0aioCACEiIAJBOGoiBCoCACESIAJBLGoqAgAhGiAFQZwCaioCACEbIAJBIGoqAgAhEyACQSRqKgIAIRQgBUGkAmoqAgAhHCACQShqKgIAIRUgBUGgAmoqAgAhHSAJQTBqIgMqAgAhFiAJQTRqKgIAIQ8gCUE4aiICKgIAIQsgCUEsaioCACEeIAVBgAJqKgIAIR8gCUEgaioCACEXIAlBJGoqAgAhGCAFQYgCaioCACENIAlBKGoqAgAhGSAFQYQCaioCACEgIAhBCGoiASAEKAIANgIAIAYgDiAGKgIAlDgCACAHIA4gByoCAJQ4AgAgBiAMIAYqAgSUOAIEIAcgDCAHKgIElDgCBCAGQQhqIgkgESAJKgIAlDgCACAHQQhqIgQgESAEKgIAlDgCACAGIBAgBioCDJQ4AgwgByAQIAcqAgyUOAIMIAggCikCADcDACAAKAIIIQogCEEQaiIFQQhqIAIoAgA2AgAgCCADKQIANwMQIAggCyANIB4gICAXlCAfIBiUkyILIAuSIgyUIBcgHyAZlCANIBeUkyILIAuSIg6UIBggDSAYlCAgIBmUkyILIAuSIguUk5KSkiINOAIoIAggDyAgIB4gDpQgGSALlCAXIAyUk5KSkiIPOAIkIAggFiAfIB4gC5QgGCAMlCAZIA6Uk5KSkiILOAIgIAhBMGoiA0EIaiIAIAkpAgA3AwAgCCAGKQIANwMwIAogBSAIQSBqIgIgAxDtAiAIIA04AhggCCAPOAIUIAggCzgCECAIIBIgHCAaIB0gE5QgGyAUlJMiCyALkiISlCATIBsgFZQgHCATlJMiCyALkiIWlCAUIBwgFJQgHSAVlJMiCyALkiILlJOSkpIiDTgCKCAIICIgHSAaIBaUIBUgC5QgEyASlJOSkpIiDzgCJCAIICEgGyAaIAuUIBQgEpQgFSAWlJOSkpIiCzgCICAAIAQpAgA3AwAgCCAHKQIANwMwIAogBSACIAMQ7QIgCCANOAIYIAggDzgCFCAIIAs4AhAgAkEIaiABKAIANgIAIAggCCkDADcDICAAIAkpAgA3AwAgCCAGKQIANwMwIAogBSACIAMQ7QILIAhBQGskAAuTBgEPfwJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAKAKcBCEEIAAoApgEIQMgACgClAQhByAAKAKMBCEIIAAoAogEIQkgACgCgAQhCiAAKAL8AyELIAAoAvgDIQUgACgC9AMhAiAAKALwAyEMIAAoAuwDIQEgACgC6AMhBiAAKALkAyENIAAoAtwDIQ4gACgC2AMhDyAAELUBIA8EQCAOELUBCyABBEAgAUEMbCEBIAYhAANAIAAoAgAEQCAAQQRqKAIAELUBCyAAQQxqIQAgAUEMayIBDQALCyANBEAgBhC1AQsgBQRAIAVBDGwhASACIQADQCAAKAIABEAgAEEEaigCABC1AQsgAEEMaiEAIAFBDGsiAQ0ACwsgDARAIAIQtQELIAsEQCAKELUBCyAJBEAgCBC1AQsgBARAIAMgBEHkAWxqIQIgA0HcAWohAQNAIAFB3AFrIgAoAgAEQCABQdgBaygCABC1AQsgAEEQaigCAARAIAFByAFrKAIAELUBCyAAQRxqKAIABEAgAUG8AWsoAgAQtQELIABBKGooAgAEQCABQbABaygCABC1AQsgAEE0aigCAARAIAFBpAFrKAIAELUBCyAAQUBrKAIABEAgAUGYAWsoAgAQtQELIABBzABqKAIABEAgAUGMAWsoAgAQtQELIABB2ABqKAIABEAgAUGAAWsoAgAQtQELIABB5ABqKAIABEAgAUH0AGsoAgAQtQELIABB9ABqKAIABEAgAUHkAGsoAgAQtQELIABBgAFqKAIABEAgAUHYAGsoAgAQtQELIABBjAFqKAIABEAgAUHMAGsoAgAQtQELIABBmAFqKAIABEAgAUFAaigCABC1AQsgAEGkAWooAgAEQCABQTRrKAIAELUBCyAAQbABaigCAARAIAFBKGsoAgAQtQELIABBvAFqKAIABEAgAUEcaygCABC1AQsgAEHYAWooAgAEQCABKAIAELUBCyAAQcgBaigCAARAIAFBEGsoAgAQtQELIAFB5AFqIQEgAEHkAWogAkcNAAsLIAcEQCADELUBCwvYBwIBfwt9IwBBwAFrIgokACAKIAIgCSoCBBCKAiAKKgIAIgsgCEEEaioCACIVlCAKKgIEIgwgCCoCACIOlJMiDyAPkiEPIAoqAggiEyAOlCALIAhBCGoqAgAiEpSTIg0gDZIhDSASIAoqAgwiECAPlCALIA2UIAwgDCASlCATIBWUkyISIBKSIhGUk5KSIRIgFSAQIA2UIBMgEZQgCyAPlJOSkiEVIA4gECARlCAMIA+UIBMgDZSTkpIhE0EAIQgCQANAIAkCfSABQwAAAABdRQRAIAFDAACgNV5FDQMgCSAJKgIEIgw4AgAgDCAJKgIIIguSDAELIAkgCSoCBCILOAIIIAsgCSoCACIMkgtDAAAAP5QiATgCBCALIAyTQwAAoDVdRQRAIApBIGogAiABEIoCIApBQGsgBSABEIoCIAogCioCKCIBIAoqAkgiDZQgCioCJCILIAoqAkQiDpQgCioCICIMIAoqAkAiEJQgCioCLCIPIAoqAkwiEZSSkpI4AmwgCiALIBCUIA8gDZQgDCAOlJOSIAEgEZSTOAJoIAogDyAOlCAMIA2UkiALIBGUkyABIBCUkzgCZCAKIAEgDpQgDyAQlCAMIBGUkyALIA2Uk5I4AmAgCyAKKgJQIAoqAjCTIhCUIAwgCioCVCAKKgI0kyIRlJMiDSANkiENIAEgEZQgCyAKKgJYIAoqAjiTIhSUkyIOIA6SIQ4gCiAUIA8gDZQgCyAOlCAMIAwgFJQgASAQlJMiFCAUkiIUlJOSkjgCeCAKIBEgDyAUlCAMIA2UIAEgDpSTkpI4AnQgCiAQIA8gDpQgASAUlCALIA2Uk5KSOAJwIAogEiAPIBMgC5QgFSAMlJMiDSANkiINlCALIBUgAZQgEiALlJMiDiAOkiIOlCAMIBIgDJQgEyABlJMiECAQkiIQlJOSkjgCiAEgCiAVIA8gEJQgDCANlCABIA6Uk5KSOAKEASAKIBMgDyAOlCABIBCUIAsgDZSTkpI4AoABIApBkAFqIAMgCkGAAWogBCgCEBEBACAKIAoqAogBjDgCuAEgCiAKKgKEAYw4ArQBIAogCioCgAGMOAKwASAKQaABaiAGIApB4ABqIApBsAFqIAcoAhgRAgAgCioCoAEgCioCgAEiAZQgCioCpAEgCioChAEiC5SSIAoqAqgBIAoqAogBIgyUkiABIAoqApABlCALIAoqApQBlJIgDCAKKgKYAZSSkyEBIAhBAWohCAwBCwsgCSALOAIECyAAIAg2AgwgACAJKQIANwIAIABBCGogCUEIaigCADYCACAKQcABaiQAC5UIAgJ/EX0jAEGQAmsiBSQAIAVBsAFqQQA2AgAgBUHAAWpBADYCACAFQgA3A6gBIAVCADcDuAEgBUKCgICAMDcDECAFQoCAgIAQNwMIIAVBPGpBAEHsABDjDBogAkEQaioCACIJjCERIAJBFGoqAgAiCowiFSACKgIMIgsgC5QgCSAJlJIgCiAKlJJDAAAAAJIiEhCTASIOlSIIIAiUIAuMIhYgDpUiByAHlEMAAAAAkpJDAAAAAJIQkwEiD0MAAAAAXARAIAggD5UgASoCBCINlCEMIAcgD5UgDZQhDQsgBUE4akEANgIAIAVBMGpCADcDACAFQSxqIAwgCCABKgIIIgiUkiACKgIIIg+TIgw4AgAgBUEoaiABKgIAIhcgESAOlSIOmCAOIAiUkiACKgIEIg6TIhM4AgAgBUEkaiANIAcgCJSSIAIqAgAiDZMiBzgCACAFQSBqIAw4AgAgBUEIaiIGQRRqIBM4AgAgBUEANgLEASAFQQA2ArQBIAUgBzgCGCAFQcgBaiABIAYgAiADEIwBIAUoAsgBIQICQCAEBEAgAkUEQCAAQQQ2AgAMAgsgACAFKQPQATcCDCAAIAUqAswBOAIIIABBAzYCACAAQRRqIAVB2AFqKAIANgIADAELIAJFBEAgAEEENgIADAELQwAAAAAhEyAFKgLMASIHQwAAAABcBEAgACAHOAIIIABBAzYCACAAIAVB0AFqIgEpAgA3AgwgAEEUaiABQQhqKAIANgIADAELIAogEhCTASIHlSIKIAogCpQgCyAHlSILIAuUIAkgB5UiCSAJlJKSQwAAAACSEJMBIhKVIgcgB5QgCyASlSIMIAyUQwAAAACSkkMAAAAAkhCTASIUQwAAAABcBEAgByAUlSABKgIEIhCUIRMgDCAUlSAQlCEQCyAFQfQBaiAVOAIAIAVB8AFqIBE4AgAgBSAWOALsASAFQQA2AsQBIAVBADYCtAEgBUEANgI4IAVCADcDMCAFIA8gCiAKIAggB5QgE5IiCiAPk5QgCSAXIAkgEpUiB5ggCCAHlJIiByAOk5QgCyAIIAyUIBCSIgwgDZOUkpJDbxKDOpIiCJSSIhE4AugBIAUgCiARkyIKOAIsIAUgDiAJIAiUkiIJOALkASAFIAcgCZMiCTgCKCAFIA0gCyAIlJIiCzgC4AEgBSAMIAuTIgs4AiQgBSAKOAIgIAUgCTgCHCAFIAs4AhggBUH4AWogASAFQQhqIAVB4AFqIAhDbxKDOpIQjAEgBSgC+AFFBEAgAEEENgIADAELIAMgCCAFKgL8AZMiA2BFBEAgAEEENgIADAELIAAgAzgCCCAAQQM2AgAgAEEUaiAFQYgCaigCADYCACAAIAVBgAJqKQMANwIMCyAFQZACaiQAC6sIAgF/EH0jAEGQAmsiBSQAIAVBsAFqQQA2AgAgBUHAAWpBADYCACAFQgA3A6gBIAVCADcDuAEgBUKCgICAMDcDECAFQoCAgIAQNwMIIAVBPGpBAEHsABDjDBogAkEUaioCACIIjCERIAJBEGoqAgAiCYwhDiACKgIMIgyMIQ8CQAJ9AkAgDCAMlCIQQwAAAACSIAggCJQiFZJDAAAAAJIQkwEiB0MAAAAAXARAIAEqAgAiCyAOlCIGIA8gB5UgASoCBCINlCIKIA+UIAaTIAggESAHlSANlCIGlJNeDQEgC4whBwwDCyABQQRqKgIAIQ0gASoCACILIA6YDAELQwAAAAAhBiALCyEHQwAAAAAhCgsgBUE4akEANgIAIAVBMGpCADcDACAFQSxqIAYgAioCCCISkyIGOAIAIAVBKGogByACKgIEIhOTIgc4AgAgBUEkaiAKIAIqAgAiFJMiCjgCACAFQSBqIAY4AgAgBUEcaiAHOAIAIAVBADYCxAEgBUEANgK0ASAFIAo4AhggBUHIAWogCyANIAVBCGogAiADEI8BIAUoAsgBIQECQCAEBEAgAUUEQCAAQQQ2AgAMAgsgACAFKQPQATcCDCAAIAUqAswBOAIIIABBAzYCACAAQRRqIAVB2AFqKAIANgIADAELIAFFBEAgAEEENgIADAELIAUqAswBIgdDAAAAAFwEQCAAIAc4AgggAEEDNgIAIAAgBUHQAWoiASkCADcCDCAAQRRqIAFBCGooAgA2AgAMAQsgCSAQIAkgCZSSIBWSQwAAAACSEJMBIgeVIQoCQAJ9AkAgCCAHlSIGIAaUIAwgB5UiCSAJlEMAAAAAkpJDAAAAAJIQkwEiCEMAAAAAXARAIAsgCpQiECAGIA0gBiAIlZQiB5QgCSANIAkgCJWUIgyUIBCTkl4NASALjCEIDAMLIAsgCpghCEMAAAAADAELIAshCEMAAAAACyEHQwAAAAAhDAsgBUH0AWogETgCACAFQfABaiAOOAIAIAUgDzgC7AEgBUEANgLEASAFQQA2ArQBIAVBADYCOCAFQgA3AzAgBSASIAYgBiAHIBKTlCAKIAggE5OUIAkgDCAUk5SSkkNvEoM6kiIGlJIiDjgC6AEgBSAHIA6TIgc4AiwgBSATIAogBpSSIgo4AuQBIAUgCCAKkyIIOAIoIAUgFCAJIAaUkiIJOALgASAFIAwgCZMiCTgCJCAFIAc4AiAgBSAIOAIcIAUgCTgCGCAFQfgBaiALIA0gBUEIaiAFQeABaiAGQ28SgzqSEI8BIAUoAvgBRQRAIABBBDYCAAwBCyADIAYgBSoC/AGTIgNgRQRAIABBBDYCAAwBCyAAIAM4AgggAEEDNgIAIABBFGogBUGIAmooAgA2AgAgACAFQYACaikDADcCDAsgBUGQAmokAAuVCAIJfwF+IwBB0ABrIgIkAAJ/IAEoAgAiBEUEQCAAQQhqQQA2AgBBAAwBCyABIARBAWs2AgACQCABKAIEIgcoAgQiAUEHTQRAIAJCgcoANwM4IAJBOGoQiQshAwwBCyAHIAFBCGs2AgQgByAHKAIAIgFBCGo2AgAgAkEgaiABKQAAEIcGIAIoAiQhAyACKAIgDQACQAJAAkACQAJAAkACQCADQYAgIANBgCBJGyIFRQRAQQQhBgwBCyAFQQR0IgFBBBD3CyIGRQ0BC0EAIQEgAkEANgIIIAIgBjYCBCACIAU2AgAgAwRAA0AgAiAHNgIkIAJBAzYCICACQThqIAJBIGoQmwMCQCACKAI4RQRAIAIoAkAiCEUEQEEAIAJBEGpBsIPAABDmByEDDAoLIAIoAjwhCSACKAIgIgRFBEBBASACQRBqQbCDwAAQ5gchAwwJCyAEQQFHBEAgAigCJCIKKAIEIgRBCEkNBiACKAJEIQUgCiAEQQhrNgIEIAogCigCACIEQQhqNgIAIAQpAAAiC0KAgICAEFQNAiACQQE6ADggAiALNwNAIAJBOGogAkEQakHsgMAAEKwIIQMMCQtBAiACQRBqQbCDwAAQ5gchAwwICyACKAI8IQMMCAsgC6dBA2wiBCAFRwRAIAJBLGpBATYCACACIAQ2AjAgAkEBNgIkIAIgBTYCNCACIAJBNGo2AiggAiACQTBqNgIgIAJBAjYCTCACQQI2AkQgAkGYscAANgJAIAJBADYCOCACIAJBIGoiBTYCSCACQRBqIgQgAkE4ahCUAyAFIAQQ/wggAkHDAGogBUEIaigCADYAACACIAIpAyA3ADtBEEEEEPcLIgNFDQUgA0EIOgAAIAMgAikAODcAASADQQhqIAJBP2opAAA3AAAgAigCEARAIAIoAhQQtQELIAlFDQggCBC1AQwICyADQQFrIQMgBa0gC0IghoQhCyACKAIAIAFGBEAgAiABELcGIAIoAgQhBiACKAIIIQELIAYgAUEEdGoiBCALNwIIIAQgCDYCBCAEIAk2AgAgAiABQQFqIgE2AgggAw0ACyACKAIEIQYgAigCACEFCyAGDQMgBSEDDAYLIAFBBEHI78MAKAIAIgBBigcgABsRAAAACyACQoHKADcDOCACQThqEIkLIQMMAgtBEEEEQcjvwwAoAgAiAEGKByAAGxEAAAALIAAgBTYCBCAAQQxqIAE2AgAgAEEIaiAGNgIAQQAMAwsgCUUNACAIELUBCyACKAIEIQQgAQRAIAFBBHQhBSAEIQEDQCABKAIABEAgAUEEaigCABC1AQsgAUEQaiEBIAVBEGsiBQ0ACwsgAigCAEUNACAEELUBCyAAIAM2AgRBAQshASAAIAE2AgAgAkHQAGokAAvDDgIVfwN+IwBBIGsiCiQAIABBDGooAgAiBUEEayEOIAFBufPd8XlsQQV3IAJzQbnz3fF5bCIPQRl2IhGtQoGChIiQoMCAAX4hGyAAQRhqKAIAIQggAEEUaigCACEJIAAoAgAhByAPIQQCQAJAAkACQAJAAkADQCAbIAQgB3EiDCAFaikAACIahSIZQoGChIiQoMCAAX0gGUJ/hYNCgIGChIiQoMCAf4MhGQNAIBlQBEAgGiAaQgGGg0KAgYKEiJCgwIB/g1BFDQMgDCAGQQhqIgZqIQQMAgsgDiAZeqdBA3YgDGogB3FBAnRrKAIAIgQgCE8NAyAZQgF9IBmDIRkgCSAEQQR0aiILKAIAIAFHDQAgC0EEaigCACACRw0ACwsgCSAEQQR0aiADOgAMDAULIAcgD3EiBiAFaikAAEKAgYKEiJCgwIB/gyIZUARAQQghBANAIAQgBmohBiAEQQhqIQQgBiAHcSIGIAVqKQAAQoCBgoSIkKDAgH+DIhlQDQALCyAFIBl6p0EDdiAGaiAHcSIEaiwAACIGQQBOBEAgBSAFKQMAQoCBgoSIkKDAgH+DeqdBA3YiBGotAAAhBgsgBkEBcSESAkAgACgCBA0AIBJFDQAjAEFAaiIGJAAgBiAINgI0IAYgCTYCMCAAQQhqKAIAIQwgBiAGQTBqNgI8AkAgDEEBaiIERQRAEL0JIAYoAgwaDAELAkACQAJAAkACQAJ/IAAoAgAiDkEBaiEQAkAgDiAQQQN2QQdsIA5BCEkbIgVBAXYgBEkEQCAEIAVBAWoiBSAEIAVLGyIFQQhJDQFBfyAFQQN0QQduQQFrZ3ZBAWogBSAFQf////8BcUYNAhoQvQkgBigCLEGBgICAeEcNCCAGKAIoDAILIAAgBkE8akGGARCIAgwHC0EEQQggBUEESRsLIgQgBEH/////A3FHDQAgBEECdCIHQQdqIQUgBSAHSQ0AIAVBeHEiByAEQQhqIglqIQUgBSAHSQ0AIAVBAEgNASAFQQgQ9wsiC0UEQCAFQQhByO/DACgCACIAQYoHIAAbEQAAAAsgByALakH/ASAJEOMMIQUgBEEBayIHIARBA3ZBB2wgB0EISRsgDGshEyAQRQRAIAAgEzYCBCAAIAc2AgAgACgCDCELIAAgBTYCDCAAQQhqIAw2AgAMBQsgAEEMaigCACILQQRrIRUgBigCMCEWIAYoAjQhFEEAIQkDQCAJIAtqLAAAQQBOBEAgFSAJQQJ0IhdrKAIAIgQgFE8NBCAFIAcgFiAEQQR0aigCCCIYcSINaikAAEKAgYKEiJCgwIB/gyIZUARAQQghBANAIAQgDWohDSAEQQhqIQQgBSAHIA1xIg1qKQAAQoCBgoSIkKDAgH+DIhlQDQALCyAFIBl6p0EDdiANaiAHcSIEaiwAAEEATgRAIAUpAwBCgIGChIiQoMCAf4N6p0EDdiEECyAEIAVqIBhBGXYiDToAACAEQQhrIAdxIAVqQQhqIA06AAAgBSAEQQJ0a0EEayALIBdrQQRrKAAANgIACyAJIA5GIQQgCUEBaiEJIARFDQALDAMLEL0JIAYoAhQaDAQLEL0JIAYoAhwaDAMLIAQgFEGI98AAEMMIAAsgACAFNgIMIAAgEzYCBCAAIAc2AgAgAEEIaiAMNgIAIA4NAAwBCyALIBBBAnRBB2pBeHFrELUBCyAGQUBrJAAgAEEMaigCACIFIA8gACgCACIHcSIGaikAAEKAgYKEiJCgwIB/gyIZUARAQQghBANAIAQgBmohBiAEQQhqIQQgBiAHcSIGIAVqKQAAQoCBgoSIkKDAgH+DIhlQDQALCyAFIBl6p0EDdiAGaiAHcSIEaiwAAEEASA0AIAUpAwBCgIGChIiQoMCAf4N6p0EDdiEECyAAQRBqIQkgACAAKAIEIBJrNgIEIAQgBWogEToAACAEQQhrIAdxIAVqQQhqIBE6AAAgACAAKAIIQQFqNgIIIABBDGooAgAgBEECdGtBBGsgCDYCACAIIAAoAhAiBEcNAyAAKAIEIAAoAghqIABBGGooAgAiBmshBCAEIAggBmtNBEAgCCEEDAQLIAYgBCAGaiIESw0CIARBBHQhBiAEQYCAgMAASUECdCEFAkAgCARAIApBBDYCGCAKIAhBBHQ2AhQgCiAAQRRqKAIANgIQDAELIApBADYCGAsgCiAGIAUgCkEQahCGByAKKAIEIQggCigCAEUEQCAAIAQ2AhAgAEEUaiAINgIADAQLIApBCGooAgAiBEGBgICAeEYNASAERQ0CIAggBEHI78MAKAIAIgBBigcgABsRAAAACyAEIAhB4PTAABDDCAALIAkoAgAhBAwBCxCgCgALIABBGGoiCCgCACIGIARGBEAgCSAEELcGIAgoAgAhBgsgCCAGQQFqNgIAIABBFGooAgAgBkEEdGoiACADOgAMIAAgDzYCCCAAIAI2AgQgACABNgIACyAKQSBqJAALww4CFX8DfiMAQSBrIgokACAAQQxqKAIAIgVBBGshDiABQbnz3fF5bEEFdyACc0G5893xeWwiD0EZdiIRrUKBgoSIkKDAgAF+IRsgAEEYaigCACEIIABBFGooAgAhCSAAKAIAIQcgDyEEAkACQAJAAkACQAJAA0AgGyAEIAdxIgwgBWopAAAiGoUiGUKBgoSIkKDAgAF9IBlCf4WDQoCBgoSIkKDAgH+DIRkDQCAZUARAIBogGkIBhoNCgIGChIiQoMCAf4NQRQ0DIAwgBkEIaiIGaiEEDAILIA4gGXqnQQN2IAxqIAdxQQJ0aygCACIEIAhPDQMgGUIBfSAZgyEZIAkgBEEEdGoiCygCACABRw0AIAtBBGooAgAgAkcNAAsLIAkgBEEEdGogAzgCDAwFCyAHIA9xIgYgBWopAABCgIGChIiQoMCAf4MiGVAEQEEIIQQDQCAEIAZqIQYgBEEIaiEEIAYgB3EiBiAFaikAAEKAgYKEiJCgwIB/gyIZUA0ACwsgBSAZeqdBA3YgBmogB3EiBGosAAAiBkEATgRAIAUgBSkDAEKAgYKEiJCgwIB/g3qnQQN2IgRqLQAAIQYLIAZBAXEhEgJAIAAoAgQNACASRQ0AIwBBQGoiBiQAIAYgCDYCNCAGIAk2AjAgAEEIaigCACEMIAYgBkEwajYCPAJAIAxBAWoiBEUEQBC9CSAGKAIMGgwBCwJAAkACQAJAAkACfyAAKAIAIg5BAWohEAJAIA4gEEEDdkEHbCAOQQhJGyIFQQF2IARJBEAgBCAFQQFqIgUgBCAFSxsiBUEISQ0BQX8gBUEDdEEHbkEBa2d2QQFqIAUgBUH/////AXFGDQIaEL0JIAYoAixBgYCAgHhHDQggBigCKAwCCyAAIAZBPGpBiQEQiAIMBwtBBEEIIAVBBEkbCyIEIARB/////wNxRw0AIARBAnQiB0EHaiEFIAUgB0kNACAFQXhxIgcgBEEIaiIJaiEFIAUgB0kNACAFQQBIDQEgBUEIEPcLIgtFBEAgBUEIQcjvwwAoAgAiAEGKByAAGxEAAAALIAcgC2pB/wEgCRDjDCEFIARBAWsiByAEQQN2QQdsIAdBCEkbIAxrIRMgEEUEQCAAIBM2AgQgACAHNgIAIAAoAgwhCyAAIAU2AgwgAEEIaiAMNgIADAULIABBDGooAgAiC0EEayEVIAYoAjAhFiAGKAI0IRRBACEJA0AgCSALaiwAAEEATgRAIBUgCUECdCIXaygCACIEIBRPDQQgBSAHIBYgBEEEdGooAggiGHEiDWopAABCgIGChIiQoMCAf4MiGVAEQEEIIQQDQCAEIA1qIQ0gBEEIaiEEIAUgByANcSINaikAAEKAgYKEiJCgwIB/gyIZUA0ACwsgBSAZeqdBA3YgDWogB3EiBGosAABBAE4EQCAFKQMAQoCBgoSIkKDAgH+DeqdBA3YhBAsgBCAFaiAYQRl2Ig06AAAgBEEIayAHcSAFakEIaiANOgAAIAUgBEECdGtBBGsgCyAXa0EEaygAADYCAAsgCSAORiEEIAlBAWohCSAERQ0ACwwDCxC9CSAGKAIUGgwECxC9CSAGKAIcGgwDCyAEIBRBiPfAABDDCAALIAAgBTYCDCAAIBM2AgQgACAHNgIAIABBCGogDDYCACAODQAMAQsgCyAQQQJ0QQdqQXhxaxC1AQsgBkFAayQAIABBDGooAgAiBSAPIAAoAgAiB3EiBmopAABCgIGChIiQoMCAf4MiGVAEQEEIIQQDQCAEIAZqIQYgBEEIaiEEIAYgB3EiBiAFaikAAEKAgYKEiJCgwIB/gyIZUA0ACwsgBSAZeqdBA3YgBmogB3EiBGosAABBAEgNACAFKQMAQoCBgoSIkKDAgH+DeqdBA3YhBAsgAEEQaiEJIAAgACgCBCASazYCBCAEIAVqIBE6AAAgBEEIayAHcSAFakEIaiAROgAAIAAgACgCCEEBajYCCCAAQQxqKAIAIARBAnRrQQRrIAg2AgAgCCAAKAIQIgRHDQMgACgCBCAAKAIIaiAAQRhqKAIAIgZrIQQgBCAIIAZrTQRAIAghBAwECyAGIAQgBmoiBEsNAiAEQQR0IQYgBEGAgIDAAElBAnQhBQJAIAgEQCAKQQQ2AhggCiAIQQR0NgIUIAogAEEUaigCADYCEAwBCyAKQQA2AhgLIAogBiAFIApBEGoQhgcgCigCBCEIIAooAgBFBEAgACAENgIQIABBFGogCDYCAAwECyAKQQhqKAIAIgRBgYCAgHhGDQEgBEUNAiAIIARByO/DACgCACIAQYoHIAAbEQAAAAsgBCAIQeD0wAAQwwgACyAJKAIAIQQMAQsQoAoACyAAQRhqIggoAgAiBiAERgRAIAkgBBC3BiAIKAIAIQYLIAggBkEBajYCACAAQRRqKAIAIAZBBHRqIgAgAzgCDCAAIA82AgggACACNgIEIAAgATYCAAsgCkEgaiQAC/0GAhl9An8gAUGQAmoqAgAhFSABQZQCaioCACEWIAFBmAJqKgIAIRcgAUHAAmoqAgAhGCABQcgCaioCACEZIAFBxAJqKgIAIRogAUG4AmotAAAhGyABQbQCaioCACEHIAFBsAJqKgIAIQkgAUGsAmoqAgAhEyAAIAEqAggiBCABQaQCaioCACIDlCABKgIEIgYgAUGgAmoqAgAiApQgASoCACIFIAFBnAJqKgIAIgqUIAEqAgwiESABQagCaioCACIIlJKSkiILIAFBjAJqKgIAIhKUIAQgApQgBSAIlCARIAqUkyAGIAOUk5IiDCABQYACaioCACIOlJMgBSADlCARIAKUkyAGIAiUkiAEIAqUkyINIAFBhAJqKgIAIg+UkyAGIAqUIBEgA4yUIAUgApSTkiAEIAiUkiIUIAFBiAJqKgIAIhCUkzgCDCAAIBQgD5QgCyAOlCAMIBKUkpIgDSAQlJM4AgAgACALIBCUIA0gDpQgFCASlJIgDCAPlJOSOAIIIAAgDCAQlCALIA+UIA0gEpQgFCAOlJOSkjgCBCAAQRhqIBcgCCAKIAmUIAIgE5STIgsgC5IiC5QgAiACIAeUIAMgCZSTIgwgDJIiDJQgCiADIBOUIAogB5STIg0gDZIiDZSTkiAHkyIHIBEgBSAIIA2UIAogC5QgAyAMlJOSIAmTIgqUIAYgCCAMlCADIA2UIAIgC5STkiATkyIDlJMiAiACkiIClCAFIAQgA5QgBSAHlJMiCCAIkiIIlCAGIAYgB5QgBCAKlJMiByAHkiIHlJOSkiIJIAlDAAAAAJIgG0EBcSIBGyIJIAlDAAAAAJIgG0ECcSIcG0MAAACAIBkgG0EEcSIbG5IiCSASIA4gCiARIAiUIAQgB5QgBSAClJOSkiIFIAVDAAAAAJIgARtDAAAAgCAaIBwbkiIFIAVDAAAAAJIgGxsiBZQgDyADIBEgB5QgBiAClCAEIAiUk5KSQwAAAIAgGCABG5IiBCAEQwAAAACSIBwbIgQgBEMAAAAAkiAbGyIElJMiAyADkiIDlCAOIAQgEJQgCSAOlJMiBiAGkiIGlCAPIAkgD5QgBSAQlJMiAiACkiIClJOSkpI4AgAgAEEUaiAWIAUgEiAGlCAQIAKUIA4gA5STkpKSOAIAIAAgFSAEIBIgApQgDyADlCAQIAaUk5KSkjgCEAuNCAIIfwh9IwBBEGsiAyQAAkAgASgCACICRQRAIABBADYCAAwBCyABIAJBAWs2AgACfyABKAIEIgEoAgQiBUEHTQRAIANCgcoANwMIIANBCGoQiQsMAQsgASAFQQhrIgQ2AgQgASABKAIAIgJBCGo2AgAgAyACKQAAEIcGIAMoAgQiBiADKAIADQAaAkACQAJAAkACQCAGRQRAQQAhBAwBCyAEQQNNDQQgASAFQQxrIgQ2AgQgASACQQxqNgIAIARBA00NAyACKAAIIQkgASAFQRBrIgQ2AgQgASACQRBqNgIAIARBA00NAiACKgAMIQogASAFQRRrIgQ2AgQgASACQRRqNgIAIARBA00NASACKgAQIQsgASAFQRhrIgg2AgQgASACQRhqNgIAQQEhBCAGQQFGDQAgCEEESQ0EIAIqABQhDCABIAVBHGsiBDYCBCABIAJBHGo2AgAgBEEESQ0DIAIoABghCCABIAVBIGsiBDYCBCABIAJBIGo2AgAgBEEESQ0CIAIqABwhDSABIAVBJGsiBDYCBCABIAJBJGo2AgAgBEEESQ0BIAIqACAhDiABIAVBKGsiBzYCBCABIAJBKGo2AgBBAiEEIAZBAkYNACAHQQRJDQQgAioAJCEPIAEgBUEsayIENgIEIAEgAkEsajYCACAEQQRJDQMgAigAKCEEIAEgBUEwayIHNgIEIAEgAkEwajYCACAHQQRJDQIgAioALCEQIAEgBUE0ayIHNgIEIAEgAkE0ajYCACAHQQRJDQEgAioAMCERIAEgBUE4ayIHNgIEIAEgAkE4ajYCACAGQQNHBEAgB0EESQ0FIAEgBUE8ayIGNgIEIAEgAkE8ajYCACAGQQRJDQQgASAFQUBqIgY2AgQgASACQUBrNgIAIAZBBEkNAyABIAVBxABrIgY2AgQgASACQcQAajYCACAGQQRJDQIgASAFQcgAazYCBCABIAJByABqNgIAQQMgA0GQgMAAEOYHDAYLIAAgAioANDgCMCAAIBE4AiwgACAQOAIoIAAgBDYCJCAAIA84AiAgACAOOAIcIAAgDTgCGCAAIAg2AhQgACAMOAIQIAAgCzgCDCAAIAo4AgggACAJNgIEIABBATYCAAwGCyAEIANBkIDAABDmBwwECyADQQA6AAsgA0ElOwAJIANBADYCDCADQQE6AAggA0EIahCJCwwDCyADQQA6AAsgA0ElOwAJIANBADYCDCADQQE6AAggA0EIahCJCwwCCyADQQA6AAsgA0ElOwAJIANBADYCDCADQQE6AAggA0EIahCJCwwBCyADQQA6AAsgA0ElOwAJIANBADYCDCADQQE6AAggA0EIahCJCwshBiAAQQI2AgAgACAGNgIECyADQRBqJAALvAgCCX8IfUEGIAJB2AJqLQAAaSILayIMIAJB/AJqKAIAIgpqIQICQAJAAkACQAJAAkACQCACIAxPBEAgAUEIaigCACINIAJJDQFBACAFIAtBBUYiAhsiDiAMTw0CIAIgBUEAR3ENAiAHQQxqKAIAIgsgASgCkAEiDUEBdCIMIAYoAgAiAmpJDQMgACoCFCEUIAAqAgAhFSAAKgIQIRYgAyoCBCEXIAMqAgAhGCABQQRqKAIAIApBAnRqIA5BAnRqKgIAIRkgAiAFaiAKaiEOIAwEQCAHQQRqKAIAIAJBAnRqIgIgDEECdGohAyAMIQogAiEAA0AgC0ECdCIRIAJqIhIgACAAIANGIg8bIhBBADYCACAQQQRqIhAgACARaiADIA8bIgNGIQAgEiACIA8bIgIgEWoiDyAQIAAbIhJBADYCACAQIBFqIAMgABshAyAPIAIgABshAiASIApBAkdBAnRqIQAgCkECayIKDQALIAdBDGooAgAhCwtBACAOIAtBAUYiABsiAiALTw0EIAAgDkEAR3ENBCAHQQRqKAIAIgAgAkECdGpBgICA/AM2AgBBACANIA5qIgIgC0EBRiIDGyIHIAtPDQUgAyACQQBHcQ0FIAAgB0ECdGoiAkGAgID8AzYCACAGKAIAIgMgDWoiByANaiALSw0GIAFBQGsgACAHQQJ0aiANELYBIAEoApQBIQEgAioCACETAn8gCSgCAEEBRgRAIAkoAgQiAiAIQQhqKAIAIgBPDQkgCUEEaiEKIAhBBGooAgAgAkHwAGxqDAELIAgoAggiAiAIKAIARgRAIAggAhDLBiAIKAIIIQILIAhBCGohCiAIKAIEIAJB8ABsagsiAEEANgJAIAAgGTgCOCAAQv////8PNwIoIAAgAzYCJCAAIA02AiAgACABNgIcIAAgBTYCGCAAQQE2AhQgAEEFNgIIIAogAkEBajYCACAGIAMgDGo2AgAgAEP//39/QwAAAAAgBCAXXhs4AhAgAEP//3//QwAAAIAgBCAYXRs4AgwgAEMAAAAAQwAAgD8gE5UiGiATQwjlPB5fGyAaIBNDCOU8nmAbOAIwIABDAAAAAEMAAAAAIAQgF5MiEyATQwAAAABdGyATIBNcG0MAAAAAQwAAAAAgGCAEkyIEIARDAAAAAF0bIAQgBFwbkyAWQwAAAABDAACAPyAVlSAVQwAAAABbG5SUIBmSOAI0IABDAACAPyAWlUMAAIC/kiIEIASUIBQgFCAEQwAAgD+SQwAAgECUlJSVOAI8DwsgCiACQciiwQAQzAwACyACIA1ByKLBABDLDAALQbz8wABBG0GQr8EAELgLAAtBmPfAAEEdQaD4wAAQuAsAC0G8/MAAQRtBoK/BABC4CwALQbz8wABBG0Gwr8EAELgLAAtBmPfAAEEdQaD4wAAQuAsACyACIABBwK/BABDDCAALrA4CFX8EfiMAQSBrIggkACABQiCIpyABp0HH3PnueHNBufPd8XlsQQV3c0G5893xeWwiDUEZdiIPrUKBgoSIkKDAgAF+IRogAEEMaigCACIFQQRrIQsgAEEYaigCACEGIABBFGooAgAhByAAKAIAIQMgDSECAkACQAJAAkACQANAIBogAiADcSICIAVqKQAAIhmFIhdCgYKEiJCgwIABfSAXQn+Fg0KAgYKEiJCgwIB/gyEXA0ACQCAXIhhQBEAgGSAZQgGGg0KAgYKEiJCgwIB/g1BFDQEgAiAEQQhqIgRqIQIMAwsgCyAYeqdBA3YgAmogA3FBAnRrKAIAIgkgBk8NAyAYQgF9IBiDIRcgByAJQQxsaikCACABUg0BDAcLCwsgAyANcSIEIAVqKQAAQoCBgoSIkKDAgH+DIhdQBEBBCCECA0AgAiAEaiEEIAJBCGohAiADIARxIgQgBWopAABCgIGChIiQoMCAf4MiF1ANAAsLIAUgF3qnQQN2IARqIANxIgJqLAAAIgRBAE4EQCAFIAUpAwBCgIGChIiQoMCAf4N6p0EDdiICai0AACEECyAEQQFxIRACQCAAKAIEDQAgEEUNACMAQUBqIgQkACAEIAY2AjQgBCAHNgIwIABBCGooAgAhCSAEIARBMGo2AjwCQCAJQQFqIgJFBEAQvQkgBCgCDBoMAQsCQAJAAkACQAJAAn8gACgCACILQQFqIQ4CQCALIA5BA3ZBB2wgC0EISRsiA0EBdiACSQRAIAIgA0EBaiIDIAIgA0sbIgNBCEkNAUF/IANBA3RBB25BAWtndkEBaiADIANB/////wFxRg0CGhC9CSAEKAIsQYGAgIB4Rw0IIAQoAigMAgsgACAEQTxqQYgBEIgCDAcLQQRBCCADQQRJGwsiAiACQf////8DcUcNACACQQJ0IgVBB2ohAyADIAVJDQAgA0F4cSIFIAJBCGoiB2ohAyADIAVJDQAgA0EASA0BIANBCBD3CyIMRQRAIANBCEHI78MAKAIAIgBBigcgABsRAAAACyAFIAxqQf8BIAcQ4wwhAyACQQFrIgUgAkEDdkEHbCAFQQhJGyAJayERIA5FBEAgACARNgIEIAAgBTYCACAAKAIMIQwgACADNgIMIABBCGogCTYCAAwFCyAAQQxqKAIAIgxBBGshEyAEKAIwIRQgBCgCNCESQQAhBwNAIAcgDGosAABBAE4EQCATIAdBAnQiFWsoAgAiAiASTw0EIAMgBSAUIAJBDGxqKAIIIhZxIgpqKQAAQoCBgoSIkKDAgH+DIhdQBEBBCCECA0AgAiAKaiEKIAJBCGohAiADIAUgCnEiCmopAABCgIGChIiQoMCAf4MiF1ANAAsLIAMgF3qnQQN2IApqIAVxIgJqLAAAQQBOBEAgAykDAEKAgYKEiJCgwIB/g3qnQQN2IQILIAIgA2ogFkEZdiIKOgAAIAJBCGsgBXEgA2pBCGogCjoAACADIAJBAnRrQQRrIAwgFWtBBGsoAAA2AgALIAcgC0YhAiAHQQFqIQcgAkUNAAsMAwsQvQkgBCgCFBoMBAsQvQkgBCgCHBoMAwsgAiASQYj3wAAQwwgACyAAIAM2AgwgACARNgIEIAAgBTYCACAAQQhqIAk2AgAgCw0ADAELIAwgDkECdEEHakF4cWsQtQELIARBQGskACAAQQxqKAIAIgUgDSAAKAIAIgNxIgRqKQAAQoCBgoSIkKDAgH+DIhdQBEBBCCECA0AgAiAEaiEEIAJBCGohAiADIARxIgQgBWopAABCgIGChIiQoMCAf4MiF1ANAAsLIAUgF3qnQQN2IARqIANxIgJqLAAAQQBIDQAgBSkDAEKAgYKEiJCgwIB/g3qnQQN2IQILIABBEGohByAAIAAoAgQgEGs2AgQgAiAFaiAPOgAAIAJBCGsgA3EgBWpBCGogDzoAACAAIAAoAghBAWo2AgggAEEMaigCACACQQJ0a0EEayAGNgIAIAYgACgCECICRw0DIAAoAgQgACgCCGogAEEYaigCACIEayECIAIgBiAEa00EQCAGIQIMBAsgBCACIARqIgJLDQIgAkEMbCEEIAJBq9Wq1QBJQQJ0IQMCQCAGBEAgCEEENgIYIAggBkEMbDYCFCAIIABBFGooAgA2AhAMAQsgCEEANgIYCyAIIAQgAyAIQRBqEIYHIAgoAgQhBiAIKAIARQRAIAAgAjYCECAAQRRqIAY2AgAMBAsgCEEIaigCACICQYGAgIB4Rg0BIAJFDQIgBiACQcjvwwAoAgAiAEGKByAAGxEAAAALIAkgBkHg9MAAEMMIAAsgBygCACECDAELEKAKAAsgAEEYaiIGKAIAIgMgAkYEQCAHIAIQtAYgBigCACEDCyAGIANBAWo2AgAgAEEUaigCACADQQxsaiIAIA02AgggACABNwIACyAIQSBqJAAgGEIAUgvlBgIWfQJ/IANBGGoqAgAhDiADQRRqKgIAIRQgA0EQaioCACEVIANBDGoqAgAhCyAEQQRqKgIAIRAgA0EIaiIbKgIAIQ8gBEEIaioCACEIIANBBGoiHCoCACERIAEqAgghGCABKgIEIRkgASoCACEaIAMqAgAhDCAEKgIAIRJDAACAPyENIAEqAgwgApRDAAAAP5QiBiAGlCABQRBqKgIAIAKUQwAAAD+UIgkgCZSSIAFBFGoqAgAgApRDAAAAP5QiEyATlJJDAAAAAJIiFkMAAIAoX0UEQCMAQRBrIgFDAAAAfzgCDCABKgIMGiAWEJMBIgcQtAEhCiAHELcBQwAAgD+UIQ0gEyAKQwAAgD+UIAeVIgWUIQcgCSAFlCEKIAYgBZQhBQsgAEEMaiALIA2UIAwgBZSTIAogHCoCACIGlJMgByAbKgIAIgmUkyITQwAAQEAgCyAFlCAMIA2UkiAKIAmUkiAHIAaUkyIWIBaUIAsgB5QgBSAGlCANIAmUkiAMIAqUk5IiFyAXlJIgDCAHlCALIAqUIA0gBpQgBSAJlJOSkiIJIAmUIBMgE5SSkkMAAAAAkpNDAAAAP5QiBpQ4AgAgAEEIaiAXIAaUOAIAIABBBGogCSAGlDgCACAAIBYgBpQ4AgAgAEEYaiAOIAggCyAQIAyUIBEgEpSTIgYgBpIiBpQgDCAPIBKUIAggDJSTIgkgCZIiCZQgESARIAiUIA8gEJSTIgggCJIiE5STkpKSIgggGCAClJIgDSAVIBIgEyALlCARIAaUIA8gCZSTkpKSIhEgCpQgFCAQIAsgCZQgDyATlCAMIAaUk5KSkiIMIAWUkyILIAuSIguUIAUgCCAFlCARIAeUkyIPIA+SIg+UIAogDCAHlCAIIAqUkyIQIBCSIhCUk5IgCJOSIA4gDSAFIBSUIBUgCpSTIgggCJIiCJQgBSAVIAeUIAUgDpSTIhIgEpIiEpQgCiAKIA6UIAcgFJSTIg4gDpIiDpSTkpKSOAIAIABBFGogGSAClCAMkiANIA+UIAcgEJQgBSALlJOSIAyTkiAUIA0gEpQgByAOlCAFIAiUk5KSkjgCACAAIBogApQgEZIgDSAQlCAKIAuUIAcgD5STkiARk5IgFSANIA6UIAogCJQgByASlJOSkpI4AhAL7wgBC38jAEEQayIMJAAgASAAKAIAIgYoAghPBEAgDEEIaiIFQQA6AAQgBUF/NgIAIAFBAWoiCyEHAkAgBigCCCIIIAtPDQAgDC0ADCEJIAwoAgghCiAIIQcgCyAIayINIAYoAgAgCGtLBEAgBiAIIA0QrwYgBigCCCEHCyAGKAIEIAdBBHRqIQQgDUECTwRAIAEgCGsiBUEDcSEOIAhBf3MgAWpBA08EQCAFQXxxIQUDQCAEQn83AgggBCAJOgAEIAQgCjYCACAEQThqQn83AgAgBEE0aiAJOgAAIARBMGogCjYCACAEQShqQn83AgAgBEEkaiAJOgAAIARBIGogCjYCACAEQRhqQn83AgAgBEEUaiAJOgAAIARBEGogCjYCACAEQUBrIQQgBUEEayIFDQALCyAOBEADQCAEQn83AgggBCAJOgAEIAQgCjYCACAEQRBqIQQgDkEBayIODQALCyAHIA1qQQFrIQcLIAggC0YNACAEQn83AgggBCAJOgAEIAQgCjYCACAHQQFqIQcLIAYgBzYCCAJAIAAoAgQiCSgCCCIIIAtPDQAgCCEFIAsgCGsiCiAJKAIAIAhrSwRAIAkgCCAKELAGIAkoAgghBQsgCSgCBCAFQRhsaiEEIApBAk8EQCABIAhrIgdBA3EhBiAIQX9zIAFqQQNPBEAgB0F8cSEHA0AgBEL////7////v383AhAgBEL////79///v383AgggBEL////79///v/8ANwIAIARB2ABqQv////v///+/fzcCACAEQdAAakL////79///v383AgAgBEHIAGpC////+/f//7//ADcCACAEQUBrQv////v///+/fzcCACAEQThqQv////v3//+/fzcCACAEQTBqQv////v3//+//wA3AgAgBEEoakL////7////v383AgAgBEEgakL////79///v383AgAgBEEYakL////79///v/8ANwIAIARB4ABqIQQgB0EEayIHDQALCyAGBEADQCAEQv////v///+/fzcCECAEQv////v3//+/fzcCCCAEQv////v3//+//wA3AgAgBEEYaiEEIAZBAWsi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AGooAgA2AgAgAEEwaiALQeAAaigCADYCAAwDCyAAQQU6ADQMAgsgAyAEKAKcARELACAGIAcoApwBEQsAkiERIAMgBCgCoAERCwAhECAGIAcoAqABEQsAIhIgEiAQIBAgEl0bIBAgEFwbIRBBAQshCiALQegAaiADIAQoAoABEQAAIAtB+ABqIAYgBygCgAERAAACQCALKgJ0IAsqAoQBYEUEQCALIBA4AiggCyAROAIkIAsgCjYCICALQYgBaiABIAUgDiAPIAYgByACIAwgDSADIAQgCCAJIAtBIGoQOCALLQC8ASIDQQRGBEAgC0EEOgBUDAILIAtBIGoiAUEYaiALQYgBaiICQQxqKAIANgIAIAFBDGogAkEYaigCADYCACABQTBqIAJBJGooAgA2AgAgAUEkaiACQTBqKAIANgIAIAsgCykCjAE3AzAgCyALKQOYATcCJCALIAspAqQBNwNIIAsgCykDsAE3AjwgCyADOgBUIAsgCyoCiAE4AiAMAQsgCyAQOAKQASALIBE4AowBIAsgCjYCiAEgC0EgaiABIAIgDCANIAMgBCAFIA4gDyAGIAcgCCAJIAtBiAFqEDgLIAAgCykDIDcCACAAQTBqIAtBIGoiAUEwaikDADcCACAAQShqIAFBKGopAwA3AgAgAEEgaiABQSBqKQMANwIAIABBGGogAUEYaikDADcCACAAQRBqIAFBEGopAwA3AgAgAEEIaiABQQhqKQMANwIACyALQcABaiQAC/UHAgV/Dn0jAEGQAmsiBSQAIAVBsAFqQQA2AgAgBUHAAWpBADYCACAFQgA3A6gBIAVCADcDuAEgBUKCgICAMDcDECAFQoCAgIAQNwMIIAVBPGpBAEHsABDjDBogAioCDCIMIAyUIAJBEGoqAgAiDSANlJIgAkEUaioCACILIAuUkkMAAAAAkiIREJMBIQogBUE4akEANgIAIAVBMGpCADcDACAFQSxqIAuMIhMgCpUiDyABKgIMIg6UIAEoAghB/////wdxIgYgD7xBgICAgHhxcr6SIAIqAggiD5MiFDgCACAFQShqIA4gDYwiFSAKlSIQlCABKAIEQf////8HcSIHIBC8QYCAgIB4cXK+kiACKgIEIhCTIhY4AgAgBUEkaiAOIAyMIhcgCpUiCpQgASgCAEH/////B3EiCCAKvEGAgICAeHFyvpIg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aiIDQQhqKQMANwIAIAFBHGogA0EQaikDADcCACABQSRqIANBGGooAgA2AgAgAUEwaiACQQhqKQMANwIAIAFBOGogAkEQaikDADcCACABQUBrIAJBGGooAgA2AgAgASAKOgBEIAEgAi8AQDsARSABQccAaiACQcIAai0AADoAACAAQaSWwgA2AgQgACABNgIAIAJBgAFqJAAPCyAEIAdByO/DACgCACIAQYoHIAAbEQAAAAsQoAoACyAGIAdByO/DACgCACIAQYoHIAAbEQAAAAtByABBBEHI78MAKAIAIgBBigcgABsRAAAAC70HAQV/AkACQAJAAkAgACgCAEEBaw4CAQIACyAAKAIEIgIoAoACIQEgAiABQQFrNgKAAiABQQFHDQIgACgCBCIDKAJAIQEgAyADKALQASICIAFyNgJAIAEgAnFFBEAgA0GAAWoQ9AUgA0GgAWoQ9AULIAAoAgQiAS0AiAIhAiABQQE6AIgCIAJFDQIgACgCBCICQcQBaigCAARAIAIoAsABELUBCyACQYQBahDjBSACQaQBahDjBSACELUBDAILIAAoAgQiAigCwAEhASACIAFBAWs2AsABIAFBAUcNASAAKAIEIgEoAkAhAiABIAJBAXI2AkAgAkEBcUUEQCABQYABahD0BQsgACgCBCIBLQDIASECIAFBAToAyAEgAkUNASAAKAIEIgUoAgQhASAFKAIAQX5xIgMgBSgCQEF+cSIERwRAA0AgA0E+cUE+RgRAIAEoAgAhAiABELUBIAIhAQsgBCADQQJqIgNHDQALCyABBEAgARC1AQsgBUGEAWoQ4wUgBRC1AQwBCyAAKAIEIgIoAjghASACIAFBAWs2AjggAUEBRw0AIAAoAgQiARCBBiABLQBAIQIgAUEBOgBAIAJFDQAgACgCBCICQQRqEOMFIAJBHGoQ4wUgAhC1AQsCQAJAAkACQCAAKAIIQQFrDgIBAgALIABBDGooAgAiAigCgAIhASACIAFBAWs2AoACIAFBAUcNAiAAKAIMIgMoAkAhASADIAMoAtABIgIgAXI2AkAgASACcUUEQCADQYABahD0BSADQaABahD0BQsgACgCDCIBLQCIAiECIAFBAToAiAIgAkUNAiAAKAIMIgBBxAFqKAIABEAgACgCwAEQtQELIABBhAFqEOMFIABBpAFqEOMFIAAQtQEP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ACAOOAIAIABBDGogGDgCACAAQQhqIBc4AgAgBEGQAWokAAv2BgEIfyMAQTBrIgIkACACIAA2AggCQAJAAkACQAJAAkAgAEECSQRAAkACQCABIABByABsaigCDCIFQQJPDQAgASAFQcgAbGotAERFDQMgASAAQcgAbGpBEGooAgAiBkECTwRAIAYhBQwBCyABIAZByABsai0AREUNAyABIABByABsakEUaigCACIHQQJJDQEgByEFCyAFQQJBtIXDABDDCAALIAEgB0HIAGxqLQBERQ0BIAJBADYCDCABIABByABsaigCGCIDQQJLDQUgASAFQcgAbGogA0ECdGpBDGoiBCgCACAARw0CIAEgBUHIAGxqIANBAnRqIghBGGoiBCgCAA0DIAIgCEEkaigCACIINgIQIAIgASAAQcgAbGpBKGooAgAiBDYCFCAEIAhHDQQgAiABIAVByABsaiADQQFqQf8BcUEDcEECdGpBJGooAgAiBTYCECACIAEgAEHIAGxqIgMoAiQiBDYCFAJAIAQgBUcNACACQQE2AgwgA0EcaigCACIDQQJLDQYgASAGQcgAbGogA0ECdGoiCUEMaiIEKAIAIABHDQMgCUEYaiIEKAIAQQFHDQQgAiABIAZByABsaiIEIANBAnRqQSRqKAIAIgY2AhAgAiABIABByABsakEsaigCACIJNgIUIAYgCUcNBSACIAQgA0EBakH/AXFBA3BBAnRqQSRqKAIAIgM2AhAgAiAINgIUIAMgCEcNACABIABByABsakEgaigCACEDIAJBAjYCDCADQQJLDQYgASAHQcgAbGogA0ECdGpBDGoiBCgCACAARw0DIAEgB0HIAGxqIANBAnRqIgBBGGoiBCgCAEECRw0EIAIgAEEkaigCACIANgIQIAIgBTYCFCAAIAVHDQUgAiABIAdByABsaiADQQFqQf8BcUEDcEECdGpBJGooAgAiADYCECACIAY2AhQgACAGRg0HCyACQQA2AiAgAkEQaiACQRRqIAJBGGpBwIbDABCOCQALIABBAkGkhcMAEMMIAAtBxIXDAEEsQfCFwwAQ2QkACyACQQA2AiAgBCACQQhqIAJBGGpBkIbDABCOCQALIAJBADYCICAEIAJBDGogAkEYakGghsMAEI4JAAsgAkEANgIgIAJBEGogAkEUaiACQRhqQbCGwwAQjgkA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NgJYIBMgEUHYAGpBABDGAgsgEUGQAWokACASQRBqIghBOGogE0E4aigCADYCACAIQTBqIBNBMGopAwA3AwAgCEEoaiATQShqKQMANwMAIAhBIGogE0EgaikDADcDACAIQRhqIBNBGGopAwA3AwAgCEEQaiATQRBqKQMANwMAIAhBCGogE0EIaikDADcDACASQQ5qIBJBjwFqLQAAOgAAIBIgEikDUDcDECASIBIvAI0BOwEMIBItAIwBIQggBiAGKAIAQQFrNgIAIAUgBSgCAEEBazYCACAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIAhBBEcEQEHEAEEEEPcLIhBFDQIgEEEANgIAIBAgEikDEDcCBCAQIAg6AEAgEEEMaiASQRhqKQMANwIAIBBBFGogEkEgaikDADcCACAQQRxqIBJBKGopAwA3AgAgEEEkaiASQTBqKQMANwIAIBBBLGogEkE4aikDADcCACAQQTRqIBJBQGspAwA3AgAgEEE8aiASQcgAaigCADYCACAQQcMAaiASQQ5qLQAAOgAAIBAgEi8BDDsAQQsgEkGQAWokACAQDwsQ2gwAC0HEAEEEQcjvwwAoAgAiAEGKByAAGxEAAAALENsMAAvDBgIBfwF9IAAoAgAiAigCCCEAIAIoAgAgAGtBB00EQCACIABBCBDaBiACKAIIIQALIAIoAgQgAGpCAzcAACACIABBCGoiADYCCCABKgIAIQMgAigCACAAa0EDTQRAIAIgAEEEENoGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAEqAgQhAyACKAIAIABrQQNNBEAgAiAAQQQQ2gYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggASoCCCEDIAIoAgAgAGtBA00EQCACIABBBBDaBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABKgIMIQMgAigCACAAa0EDTQRAIAIgAEEEENoGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAEqAhAhAyACKAIAIABrQQNNBEAgAiAAQQQQ2gYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggAUEU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BZQgCSADlCAGIASUk5KSkjgCACAAIBYgApQgD5IgByALIAOUIAogBJQgCSAFlJOSkpI4AhALpQQBAn8gACgCmAEEQCAAQZwBaigCABC1AQsgACgCAARAIABBBGooAgAQtQELIAAoAhAEQCAAQRRqKAIAELUBCyAAKAIgBEAgAEEkaigCABC1AQsgAEGsAWooAgAiAQRAIABBqAFqKAIAIQIgAUEEdCEBA0AgAigCAARAIAJBBGooAgAQtQELIAJBEGohAiABQRBrIgENAAsLIAAoAqQBBEAgAEGoAWooAgAQtQELIAAoArABBEAgAEG0AWooAgAQtQELIAAoAkAEQCAAQcQAaigCABC1AQsgAEHUAGooAgAEQCAAQdgAaigCABC1AQsgACgCxAEEQCAAQcgBaigCABC1AQsgACgCaARAIABB7ABqKAIAELUBCyAAQfwAaigCAARAIABBgAFqKAIAELUBCyAAQegBaigCAARAIABB7AFqKAIAELUBCyAAKALYAQRAIABB3AFqKAIAELUBCyAAQfwBaigCACIBBEAgAEH4AWooAgAhAiABQQR0IQEDQCACKAIABEAgAkEEaigCABC1AQsgAkEQaiECIAFBEGsiAQ0ACwsgACgC9AEEQCAAQfgBaigCABC1AQsgAEGIAmooAgAiAQRAIABBhAJqKAIAIQIgAUEEdCEBA0AgAigCAARAIAJBBGooAgAQtQELIAJBEGohAiABQRBrIgENAAsLIAAoAoACBEAgAEGEAmooAgAQtQELIAAoAjAEQCAAQTRqKAIAELUBCwvzBQMNfwV9BH4jAEHAAmsiBCQAIABBADoADCAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIAIARBCGoiAyABQQBBABCGAiAEQgA3A1ggBCABNgJgIARB6ABqIgUgA0HcABDkDBogBCgCaEEBRiEBIARBlAFqIQggBUEEciEFQ///f38hEgNAIARBmAJqIgNBIGoiCSAFQSBqIgooAgA2AgAgA0EYaiILIAVBGGoiDCkCADcDACADQRBqIg0gBUEQaiIOKQIANwMAIANBCGoiDyAFQQhqIhApAgA3AwAgBEEANgJoIAQgBSkCADcDmAICQCABQQFxDQAgBCgCwAEhBwNAIAQoApABIQEgBEEANgKQASABQQFGBEAgCCEDDAILIAQgBCgCuAFB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aigCADYCACAKIAdB7ABqKQIANwMAIAcgBykCZDcDKAsgB0EQaiILQQhqIAopAwA3AwAgC0EQaiAHQThqKAIANgIAIAcgBykDKDcDECAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIAlFBEBBHEEEEPcLIghFDQIgCCAGNgIEIAhBADYCACAIIAcpAxA3AgggCEEQaiAHQRhqKQMANwIAIAhBGGogB0EgaigCADYCAAsgB0GQAWokACAIDwsQ2gwAC0EcQQRByO/DACgCACIAQYoHIAAbEQAAAAsQ2wwAC4cFAQZ/AkAgAEEYaigCACIGIAFPDQAgASAGIgRrIQUgBSAAKAIQIARrSwRAIABBEGogBiAFELAGIAAoAhghBAsgAEEUaigCACAEQRhsaiEDIAVBAk8EQCAGQX9zIAFqIgdBB3EhCCAFQQJrQQdPBEAgB0F4cSEHA0AgA0IANwIAIANBEGpCADcCACADQQhqQgA3AgAgA0EYakIANwIAIANBIGpCADcCACADQShqQgA3AgAgA0EwakIANwIAIANBOGpCADcCACADQUBrQgA3AgAgA0HIAGpCADcCACADQdAAakIANwIAIANB2ABqQgA3AgAgA0HgAGpCADcCACADQegAakIANwIAIANB8ABqQgA3AgAgA0GIAWpCADcCACADQYABakIANwIAIANB+ABqQgA3AgAgA0GgAWpCADcCACADQZgBakIANwIAIANBkAFqQgA3AgAgA0GoAWpCADcCACADQbABakIANwIAIANBuAFqQgA3AgAgA0HAAWohAyAHQQhrIgcNAAsLIAgEQANAIANCADcCACADQRBqQgA3AgAgA0EIakIANwIAIANBGGohAyAIQQFrIggNAAsLIAQgBWpBAWshBAsgASAGRgRAIAQhAQwBCyADQgA3AgAgA0EQakIANwIAIANBCGpCADcCACAEQQFqIQELIAAgATYCGAJAAkACQCACRQRAQQQhAwwBCyACQf////8BSw0BIAJBAnQiAUEEEPcLIgNFDQIgA0EAIAEQ4wwaCyAAKAIABEAgAEEEaigCABC1AQsgACACNgIMIAAgAjYCCCAAIAI2AgAgAEEEaiADNgIADwsQoAoACyABQQRByO/DACgCACIA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C4kFAgV/AX4jAEFAaiICJAACfyABKAIAIgNFBEAgAEEIakEANgIAQQAMAQsgASADQQFrNgIAIAIgASgCBDYCFCACQQM2AhAgAkEoaiACQRBqEJsDAkACQAJAAkACQAJAIAIoAihFBEAgAkEwaigCACIDRQRAQQAgAkGwg8AAEOYHIQEMBwsgAigCLCEEIAIoAhAiAUUEQEEBIAJBsIPAABDmByEBDAYLIAFBAUcEQCACKAIUIgEoAgQiBkEISQ0DIAJBNGooAgAhBSABIAZBCGs2AgQgASABKAIAIgFBCGo2AgAgASkAACIHQoCAgIAQVA0CIAJBAToAKCACIAc3AzAgAkEoaiACQeyAwAAQrAghAQwGC0ECIAJBsIPAABDmByEBDAULIAIoAiwhAQwFCyAHp0EGbCIBIAVGDQIgAkEcakEBNgIAIAIgATYCICACQQE2AhQgAiAFNgIkIAIgAkEkajYCGCACIAJBIGo2AhAgAkECNgI8IAJBAjYCNCACQZixwAA2AjAgAkEANgIoIAIgAkEQaiIBNgI4IAIgAkEoahCUAyABIAIQ/wggAkEzaiABQQhqKAIANgAAIAIgAikDEDcAK0EQQQQQ9wsiAUUNASABQQg6AAAgASACKQAoNwABIAFBCGogAkEvaikAADcAACACKAIABEAgAigCBBC1AQsgBEUNBCADELUBDAQLIAJCgcoANwMoIAJBKGoQiQshAQwCC0EQQQRByO/DACgCACIAQYoHIAAbEQAAAAsgACAENgIEIABBCGogAzYCACAAQQxqIAWtIAdCIIaENwIAQQAMAgsgBEUNACADELUBCyAAIAE2AgRBAQshASAAIAE2AgAgAkFAayQAC/YEAgN/An0CQAJAQTBBBBD3CyIDBEAgAyABKQIANwIAIANBKGogAUEoaikCADcCACADQSBqIAFBIGopAgA3AgAgA0EYaiABQRhqKQIANwIAIANBEGogAUEQaikCADcCACADQQhqIAFBCGopAgA3AgAgAEHUAWooAgAiBEUNAQJAAn8CQAJAIAQoAgAiASADKAIARw0AIAENASAEQRRqKgIAIANBFGoqAgBcDQAgBEEYaioCACADQRhqKgIAXA0AIARBHGoqAgAgA0EcaioCAFwNACAEQSBqKgIAIANBIGoqAgBcDQAgBEEkaioCACADQSRqKgIAXA0A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AyoADCEJIAEgBUEUayIENgIEIAEgA0EUajYCACAEQQNNBEAgAkEAOgADIAJBJTsAASACQQA2AgQgAkEBOgAADAELIAMqABAhCiABIAVBGGsiBDYCBCABIANBGGo2AgAgBEEETwRAIAMqABQhCyABIAVBHGs2AgQgASADQRxqNgIAQQAhAQJAAkACQCADKAAYIgMOAgIBAAsgAkEBOgAAIAIgA603AwggAkHUh8AAQYyDwAAQrAgMBAtBASEBCyAAIAE6ABggACALOAIUIAAgCjgCECAAIAk4AgwgACAIOAIIIAAgBzgCBCAAIAY2AgAMAwsgAkKBygA3AwALIAIQiQsLIQEgAEEDOgAYIAAgATYCAAsgAkEQaiQAC58FAg9/AX4jAEEQayIDJAAgASkCYCERIAFCgICAgMAANwJgIANBCGoiBiABQegAaiICKAIANgIAIAJBADYCACADIBE3AwAgAUGEAWooAgAhByABQewAaigCACEIIAFBoAFqKAIAIQkgAUGcAWooAgAhCiABQZgBaigCACELIAFBlAFqKAIAIQwgAUGQAWooAgAhDSABQYwBaigCACEOIAEoAlwhDyABKAJYIRACQAJAAkAgAUGIAWooAgAiAkUEQEEEIQQMAQsgAkGz5swZSw0BIAJBKGwiBUEEEPcLIgRFDQILIAQgByAFEOQMIQQgAEHwAGogAUHwAGopAgA3AgAgAEH4AGogAUH4AGooAgA2AgAgACADKQMANwJgIABB6ABqIAYoAgA2AgAgACABKQJANwJAIABByABqIAFByABqKAIANgIAIAAgASkCTDcCTCAAQdQAaiABQdQAaigCADYCACABQfwAaigCACEFIAFBpAFqLwEAIQYgACAPNgJcIAAgEDYCWCAAIAEpAgA3AgAgAEEIaiABQQhqKQIANwIAIABBEGogAUEQaikCADcCACAAQRhqIAFBGGopAgA3AgAgACABKQIgNwIgIABBKGogAUEoaikCADcCACAAQTBqIAFBMGopAgA3AgAgAEE4aiABQThqKQIANwIAIABBpAFqIAY7AQAgAEGgAWogCTYCACAAQZwBaiAKNgIAIABBmAFqIAs2AgAgAEGUAWogDDYCACAAQZABaiANNgIAIABBjAFqIA42AgAgAEGIAWogAjYCACAAQYQBaiAENgIAIABBgAFqIAI2AgAg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BEKAgICA8P//v383AjggBEL////7////v/8ANwIwIARC////+wc3AiggBEKAgICA8P//v383AiAgBEL////7////v/8ANwIYIARC////+wc3AhAgBEKAgICA8P//v383AgggBEL////7////v/8ANwIAIAZBoAVqIgdBGGoiCSAOKAIANgIAIAdBEGoiCCANKQMANwMAIAdBCGoiCiAMKQMANwMAIAYgBikDADcDoAUgBCAHKQIANwLwASAFIAkoAgA2AgAgBEGAAmogCCkCADcCACAEQfgBaiAKKQIANwIAIAZBQGsiBSAEQbACEOQMGiAJIBEoAgA2AgAgCCAQKQMANwMAIAogDykDADcDACAGIAYpAyA3A6AFIAUgBykCADcCjAIgBUGkAmogCSgCADYCACAFQZwCaiAIKQIANwIAIAVBlAJqIAopAgA3AgAgBCAFQbACEOQMGiAFIAQQvQwgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAQbQCQQQQ9wsiAEUNASAAQQA2AgAgAEEEaiAGQUBrQbACEOQMGiAGQcAFaiQAIAAPCxDaDAALQbQCQQRByO/DACgCACIAQYoHIAAbEQAAAAsQ2wwAC/YDAgJ/CX0jAEHQAGsiBiQAIAMqAgAgAioCEJMiDyACQQRqKgIAIgqUIAMqAgQgAkEUaioCAJMiECACKgIAIguUkyIJIAmSIQwgECACQQhqKgIAIgmUIAMqAgggAkEYaioCAJMiCCAKlJMiDiAOkiENIAYgCCACKgIMIg4gDJQgCiANlCALIAggC5QgDyAJlJMiCCAIkiIIlJOSkjgCMCAGIBAgDiAIlCALIAyUIAkgDZSTkpI4AiwgBiAPIA4gDZQgCSAIlCAKIAyUk5KSOAIoIAogA0EMaioCACIPlCALIANBEGoqAgAiEJSTIgwgDJIhDCAJIBCUIAogA0EUaioCACIIlJMiDSANkiENIAYgCCAOIAyUIAogDZQgCyALIAiUIAkgD5STIgggCJIiCJSTkpI4AkAgBiAQIA4gCJQgCyAMlCAJIA2Uk5KSOAI8IAYgDyAOIA2UIAkgCJQgCiAMlJOSkjgCOCAGQRBqIgMgBkEoaiAGQThqIgIQ1gogAUEIaiIHKgIAIQogASoCACELIAEqAgQhCSAC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CCELCyAOKAIEIAtqIBw3AAAgDiALQQhqIgs2AgggCjUCNCEcIA5BCGohDCAOQQRqIRMgDigCACALa0EHTQRAIA4gC0EIENoGIA4oAgghCwsgDiALQQhqIhI2AgggDigCBCALaiAcNwAAIBgoAggiD0EMaigCACELIA9BCGooAgAhDSAOKAIAIBJrQQdNBEAgDiASQQgQ2gYgDigCCCESCyAMIBJBCGoiCjYCACATKAIAIBJqIAutNwAAIAsEQCANIAtBA3RqIREDQCANQQRqKAIAIRIgDSgCACELIA4oAgAgCmtBA00EQCAOIApBBBDaBiAOKAIIIQoLIA4oAgQgCmogCzYAACAOIApBBGoiCzYCCCAOKAIAIAtrQQNNBEAgDiALQQQQ2gYgDigCCCELCyAMIAtBBGoiCjYCACATKAIAIAtqIBI2AAAgESANQQhqIg1HDQALCyAPQRhqKAIAIREgD0EUaigCACENIA4oAgAgCmtBB00EQCAOIApBCBDaBiAOKAIIIQoLIAwgCkEIaiILNgIAIBMoAgAgCmogEa03AAAgEQRAIA0gEUEDdGohEQNAIA1BBGooAgAhEiANKAIAIQogDigCACALa0EDTQRAIA4gC0EEENoGIA4oAgghCwsgDigCBCALaiAKNgAAIA4gC0EEaiIKNgIIIA4oAgAgCmtBA00EQCAOIApBBBDaBiAOKAIIIQoLIAwgCkEEaiILNgIAIBMoAgAgCmogEjYAACARIA1BCGoiDUcNAAsLIA9BJGooAgAhESAPQSBqKAIAIQ0gDigCACALa0EHTQRAIA4gC0EIENoGIA4oAgghCwsgDCALQQhqIgo2AgAgEygCACALaiARrTcAACARBEAgEUECdCESA0AgDTUCACEcIA1BBGohDSAMIA4oAgAgCmtBB0sEfyAKBSAOIApBCBDaBiAOKAIICyILQQhqIgo2AgAgEygCACALaiAcNwAAIBJBBGsiEg0ACwsgDygCACENIA4oAgAgCmtBA00EQCAOIApBBBDaBiAOKAIIIQoLIA4gCkEEaiILNgIIIA4oAgQgCmogDTYAACAYKAIMIhZBDGooAgAhDSAWQQhqKAIAIQ8gDigCACALa0EHTQRAIA4gC0EIENoGIA4oAgghCwsgDCALQQhqIgo2AgAgEygCACALaiANrTcAACANBEAgDyANQSxs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eEcEQCADRQ09IAEgA0HI78MAKAIAIgBBigcgABsRAAAACyACKAKoAyEECyAEIAIoArADIgNGBEAgJSAEELwGIAIoArADIQMLIAIoAqwDIANBFGxqIgEgITYCBCABQQxqIBk2AgAgAUEIaiAUNgIAIAEgCjYCACABICI2AhAgAiADQQFqNgKwAwsgByEEIAUNAAsgAigCmAMhCSACKAKkAyIORQRAIAkhAwwICyACKAKwAyEHIAIoAqwDIRMgAigCqAMhFSACKQKcAyFPIGW8IQMgHkECaw4CBwcICyAHIANByO/DACgCACIAQYoHIAAbEQAAAAsgAkKBygA3A5gDIAJBmANqEIkLIQMMBQsMLQsgAkKBygA3A5gDIAJBmANqEIkLIQMMAwsgByACQYgHakGQgMAAEOYHDAELIAJCgcoANwOABCACQYAEahCJCwshAyACKAKYAyIBBEAgAigCpAMgAUECdEELakF4cWsQtQELIAIoAqgDRQ0AIAIoAqwDELUBCyACKAK0AiEHIAsEQCALQQZ0IQQgByEBA0AgARC7ByABQUBrIQEgBEFAaiIEDQALCyACKAKwAkUNFiAHELUBDBYLIAZBAWshBiACKAKwAiALRgRAIAJBsAJqIAsQvwYgAigCuAIhCyACKAK0AiEMCyAMIAtBBnRqIgEgLjoAPSABICs6ADwgASAwOgA7IAEgKjoAOiABICk6ADkgASAeOgA4IAFCBDcCMCABQgA3AiggAUKAgICAwAA3AiAgASAHNgIcIAEgEzYCGCABIBU2AhQgASAONgIQIAEgTzcCCCABIAk2AgQgASADNgIAIAIgC0EBaiILNgK4AiAGDQALIAIoArACIQMgAigCtAIiDA0TDBQLDCYLQZQBQQRByO/DACgCACIAQYoHIAAbEQAAAAsgAkKBygA3A8ABIAJBwAFqEIkLIQMMFQsgAkKBygA3A8ABIAJBwAFqEIkLIQMMFAsgAigCxAEhAwwUCyACQoHKADcDwAEgAkHAAWoQiQshAwwUCyACKALsAiEDDBULDB4LDCMLIAIoApwDIQEMFwsgAigCnAMhAQwXCyACQoHKADcDmAMgAkGYA2oQiQshAQwXCyACQoHKADcDmAMgAkGYA2oQiQshAQwWCwwYCyACQoHKADcDmAMgAkGYA2oQiQshAQwUCyACQoHKADcDmAMg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BEAgCkEgaygCABC1AQsgCkEEaygCAARAIAooAgAQtQELIApBqAFqIQogBkGoAWsiBg0ACwsgBSgCCEUNACADELUBCyAiQQI6ACQgIiABNgIACyAFQZACaiQADAMLIAggA0HI78MAKAIAIgBBigcgABsRAAAACyADIARB6JvAABDDCAALIA4gBEHI78MAKAIAIgBBigcgABsRAAAACyACKAKYAyEDAkAgAi0AvAMiCUECRwRAIDMgMikCADcCACAzQRhqIDJBGGopAgA3AgAgM0EQaiAyQRBqKQIANwIAIDNBCGogMkEIaikCADcCACACIEYvAAAiATsBiAUgAiBGQQJqLQAAIgQ6AIoFIDUgATsAACA1QQJqIgggBDoAACACIAk6AKQEIAIgAzYCgAQCfyAPKAIEIgNBA00EQCACQoHKADcDmAMgAkGYA2oQiQsMAQsgDyADQQRrIgQ2AgQgDyAPKAIAIgFBBGo2AgAgBEEDTQRAIAJCgcoANwOYAyACQZgDahCJCwwBCyABKAAAIQ4gDyADQQhrIgQ2AgQgDyABQQhqNgIAIARBA00EQCACQoHKADcDmAMgAkGYA2oQiQsMAQsgASgABCELIA8gA0EMayIENgIEIA8gAUEMajYCACAEQQNLDQIgAkKBygA3A5gDIAJBmANqEIkLCyEDIAJBgARqEJUGCyANBEAgDUE4bCEJIBxBEGohBANAIAQQlQYgBEE4aiEEIAlBOGsiCQ0ACwsgAigC6AJFDQYgHBC1AQwGCyAYQQFrIRggASgACCEFIA8gA0EQazYCBCAPIAFBEGo2AgAgAkGwAmoiA0EIaiIMIAJBgARqIgRBCGopAwA3AwAgA0EQaiIKIARBEGopAwA3AwAgA0EYaiISIARBGGopAwA3AwAgA0EgaiIRIARBIGooAgA2AgAgAiACKQOABDcDsAIgAiA1LwAAOwGIAiACIAgtAAA6AIoCIAEoAAwhAyACQZgDaiIBQQhqIhYgDCkDADcDACABQRBqIgQgCikDADcDACABQRhqIgwgEikDADcDACABQSBqIgogESgCADYCACACIAIpA7ACNwOYAyACIAIvAYgCOwGABCACIAItAIoCOgCCBCACKALoAiANRgRAIAJB6AJqIA0QwQYgAigC7AIhHCACKALwAiENCyAcIA1BOGxqIgEgAzYCDCABIAU2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AkGwAmoiA0EIaikDADcCACABQegCaiADQRBqKQMANwIAIAFB8AJqIANBGGopAwA3AgAgAUH4AmogA0EgaikDADcCACABQYADaiADQShqKQMANwIAIAFBiANqIANBMGooAgA2AgAgAUGMA2ogAkGABGpBzAAQ5AwaIAEgBDYCiAQgAUGABGogBykDADcCACABQfgDaiAJKQMANwIAIAFB8ANqIAgpAwA3AgAgAUHoA2ogDCkDADcCACABQeADaiAFKQMANwIAIAEgAikD6AI3AtgDDC0LIAJCgcoANwOABCACQYAEahCJCyEDDBoLIAJCgcoANwOABCACQYAEahCJCyEDDBkLIARBCEHI78MAKAIAIgBBigcgABsRAAAAC0EwQQRByO/DACgCACIAQYoHIAAbEQAAAAsgAkKBygA3A5gDIAJBmANqEIkLIQcMEAsgAkKBygA3A5gDIAJBmANqEIkLIQcMDwsgAkKBygA3A5gDIAJBmANqEIkLIQcMDgsgAkKBygA3A5gDIAJBmANqEIkLIQcMDQsgAkKBygA3A5gDIAJBmANqEIkLIQcMDAsgAkKBygA3A5gDIAJBmANqEIkLIQcMCgsgAkKBygA3A5gDIAJBmANqEIkLIQcMCQsgAkKBygA3A5gDIAJBmANqEIkLIQcMCAsgAkKBygA3A5gDIAJBmANqEIkLIQkMBgsgAkKBygA3A5gDIAJBmANqEIkLIQkMBQsgJkECNgJMICYgATYCACACQYAEahCnBwwBCyAmQQI2AkwgJiABNgIACyACQbACahD+BQwBCyAmQQI2AkwgJiABNgIACyACQYgCahD+BgwFCyAQBEAgEEHoAmwhBCANIQEDQAJAIAEoAgBFDQAgAUHcAWooAgAiBwRAIAcQtQELIAFBtAJqKAIARQ0AIAFBuAJqKAIAELUBCyABQegCaiEBIARB6AJrIgQNAAsLIAMEQCANELUBCyAJIQMMAwsgHkUNACArELUBCyAOBEAgDhC1AQsgByEDCyACKALsBCEHIBAEQCAQQegCbCEEIAchAQNAAkAgASgCAEUNACABQdwBaigCACIJBEAgCRC1AQsgAUG0AmooAgBFDQAgAUG4AmooAgAQtQELIAFB6AJqIQEgBEHoAmsiBA0ACwsgAigC6ARFDQAgBxC1AQsgJkECNgJMICYgAzYCAAsgAkHAAWoQxAUMBwsgAkKBygA3A5gDIAJBmANqEIkLIQMLIBMEQCAIELUBCyAYRQ0CIBcQtQEMAgsgAigCmANFDQAgAigCnAMQtQELIBNFDQAgCBC1AQsgBwRAICcQtQELIA0EQCANQThsIQkgHEEQaiEEA0AgBBCVBiAEQThqIQQgCUE4ayIJDQALCyAORQ0BIBwQtQEMAQsgB0UNACAnELUBCyAvIC8oAgAiAUEBazYCACABQQFGBEAgLyBBEL4ICyAmQQI2AkwgJiADNgIACyACQdgAahDHAwwGCyALRQ0AIAUQtQELIAhFDQEgBxC1AQwBCyAIRQ0AIAcQtQELIAJBmANqEOAGCyAQBEAgEEEsbCEEIBhBIGohAQNAAkAgAUEEaygCAEUNACABKAIARQ0AIAEQ1AgLIAFBLGohASAEQSxrIgQNAAsLIAIoAogFRQ0AIBgQtQELICZBAjYCTCAmIAM2AgALIAJBGGoQrwcMBQsgDEUNACAIELUBCyAJRQ0AIAcQtQELIARFDQAgAxC1AQsgJkECNgJMICYgATYCAAwBCyAmQQI2AkwgJiABNgIACyACQZAHaiQADAkLIAFBBEHI78MAKAIAIgBBigcgABsRAAAAC0EQQQRByO/DACgCACIAQYoHIAAbEQAAAAsgBEEEQcjvwwAoAgAiAEGKByAAGxEAAAALIAdBBEHI78MAKAIAIgBBigcgABsRAAAACyAHIARByO/DACgCACIAQYoHIAAbEQAAAAtByABBBEHI78MAKAIAIgBBigcgABsRAAAAC0EgQQRByO/DACgCACIAQYoHIAAbEQAAAAsgA0EEQcjvwwAoAgAiAEGKByAAGxEAAAALIBJBCEHI78MAKAIAIgBBigcgABsRAAAACyAfKALIBCEEAkACQCAfKAKUBSIHQQJHBEAgH0H4A2oiAyAfQcgEakEEckHIABDkDBogH0EkaiIBIB9BmAVqQdQDEOQMGiAgQcwAaiABQSBqKAIANgIAICAgHykCPDcCRCAgIAQ2AgAgICAfKQL4AzcCBCAgQQxqIANBCGopAgA3AgAgIEEUaiADQRBqKQIANwIAICBBHGogH0GQBGopAgA3AgAgIEEkaiADQSBqKQIANwIAICBBLGogH0GgBGopAgA3AgAgIEE0aiAfQagEaikCADcCACAgQTxqIB9BsARqKAIANgIAICBBATYCQCAgIAc2AlwgICAfKQK0BDcCUCAgQdgAaiADQcQAaigCADYCACAgIB8pAiQ3AmAgIEHoAGogAUEIaikCADcCACAgQfAAaiABQRBqKQIANwIAICBB+ABqIAFBJGpB5AAQ5AwaICBB3AFqIB9BrAFqQcQAEOQMGiAgQdgCaiAfQagCaigCADYCACAgQdACaiAfQaACaikCADcCACAgQcgCaiAfQZgCaikCADcCACAgQcACaiAfQZACaikCADcCACAgQbgCaiAfQYgCaikCADcCACAgQbACaiABQdwBaikCADcCACAgQagCaiAfQfgBaikCADcCACAgIB8pAvABNwKgAiAgIB8pAqwCNwLcAiAgQeQCaiAfQbQCaikCADcCACAgQewCaiAfQbwCaikCADcCACAgQfQCaiAfQcQCaikCADcCACAgQfwCaiABQagCaikCADcCACAgQYQDaiABQbACaikCADcCACAgQYwDaiABQbgCaigCADYCACAgQZADaiAfQeACakHMABDkDBogIEHcA2ogH0GsA2pBzAAQ5AwaIB8oAhgEQCAfKAIcELUBCyAfKAIUIgFBI0sNAQwCCyAfIAQ2AsgEIB9ByARqEMMHICBBAjYCQCAfKAIYBEAgSxC1AQsgHygCFCIBQSRJDQELIAEQAAsgH0HwCGokACAoQegDaiIBQThqICBBOGopAwA3AwAgAUEwaiAgQTBqKQMANwMAIAFBKGogIEEoaikDADcDACABQSBqICBBIGopAwA3AwAgAUEYaiAgQRhqKQMANwMAIAFBEGogIEEQaikDADcDACABQQhqICBBCGopAwA3AwAgKCAoKQOoBDcD6AMgKCgC6AQhASAoQQRqIChB7ARqQeQDEOQMGiAAIAAoAgBBAWs2AgBBACEAAkAgAUECRwRAQawEQQQQ9wsiAEUNASAAQQA2AgAgACAoKQPoAzcCBCAAIAE2AkQgAEEMaiAoQfADaikDADcCACAAQRRqIChB+ANqKQMANwIAIABBHGogKEGABGopAwA3AgAgAEEkaiAoQYgEaikDADcCACAAQSxqIChBkARqKQMANwIAIABBNGogKEGYBGopAwA3AgAgAEE8aiAoQaAEaikDADcCACAAQcgAaiAoQQRqQeQDEOQMGgsgKEHQCGokACAADwtBrARBBEHI78MAKAIAIgBB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AyAKNgKAAQJAAkAgBEEoaigCACIZBEAgA0EANgKgASADQoCAgIDAADcDmAEgA0GYAWoiAkEAELgGIAMoApwBIAMoAqABIgRBA3RqQoCAgIDw////fjcCACADIARBAWo2AqABIANBwAFqIAIQ9gICQAJAIAMoAsABQQFHBEBBBCEBDAELIAFByABqKAIAIRYgAUHMAGooAgAhESABQSRqKAIAISAgA0GIBGoiAUEDaiEeIANB3ANqIQogA0G8A2ohDCADQZwDaiEXIAFBDWohH0P//39/ISMgA0HYAWohGkEEIQECQAJAA0AgIyADKgLIAYxfDQMgAygCxAEiAiAZSQRAICAgAkEHdGoiDS0AeEEBcSICBEAgFiANKAJgIgRBBHRqQQAgBCARSRsiBEEIakEAIAQbIRsgFiANQewAaigCACIEQQR0akEAIAQgEUkbIgRBCGpBACAEGyEcIBYgDUHoAGooAgAiBEEEdGpBACAEIBFJGyIEQQhqQQAgBBshHSAWIA1B5ABqKAIAIgRBBHRqQQAgBCARSRsiBEEIakEAIAQbIRgLIANB0AJqIA0gA0HQAGoQ9AEgAyoC0AIgI12tISkgAyoC3AIhJCADKgLYAiElIAMqAtQCISYCfyACBEAgAyAcNgLsAiADIB02AugCIAMgGDYC5AIgAyAbNgLgAkIAISggA0H4AmoiD0IANwMAIANCADcD8AIgA0EENgL4AyADQQQ2AtgDIANBBDYCuAMgA0EENgKYAyAjICZerUIBhiAphCAjICVerUIChoQgIyAkXq1CA4aEISpBACECQQAhCwNAAkAgKiAoiEIBg1ANACADQeACaiACaigCACIIRQ0AIAgoAgAiByADKAKAASIOKAI4IgRBMGooAgAiCU8NACAEQSxqKAIAIAdBqAFsakEAIAcgCUkbIgQoAgBBAUcNACAIKAIEIgkgBCgCBEcNACADKAKEASEFIA4gDigCNCIIQSBqKAIAIAhBJGooAgAgByAJIARBCGoQzgNFDQAgA0EIaiIIIARBGGoiDigCBCIVNgIEIAggDigCACAVKAIIQQdqQXhxajYCACADQYgEaiADKAIIIARB1ABqIAUgAygCDCgCRBECACADQYYEaiIVIB9BAmotAAA6AAAgAyAfLwAAOwGEBCADKAKYBCEIIAMoApwEIQQgAy0AlAQhDiAD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IAMgIjgCUCADIAc2AoABAkACQCAGQShqKAIAIh8EQCADQQA2ApgBIANCgICAgMAANwOQASADQZABaiICQQAQuAYgAygClAEgAygCmAEiAUEDdGpCgICAgPD///9+NwIAIAMgAUEBajYCmAEgA0GwAWogAhD2AkECIQECQAJAIAMoArABQQFHDQAgBkHIAGooAgAhGyAGQcwAaigCACEXIAZBJGooAgAhGiADQfgCaiEcIANB0wJqIRkgA0G1A2ohHSADQZ0DaiETIANBhQNqIRQgA0HtAmohHkP//39/ISMgA0HLAWoiIEEIaiEhA0AgIyADKgK4AYxfDQECQCADKAK0ASICIB9JBEAgGiACQQd0aiIOLQB4QQFxIgQEQCAbIA4oAmAiAkEEdGpBACACIBdJGyICQQhqQQAgAhshESAbIA5B7ABqKAIAIgJBBHRqQQAgAiAXSRsiAkEIakEAIAIbIRggGyAOQegAaigCACICQQR0akEAIAIgF0kbIgJBCGpBACACGyEVIBsgDkHkAGooAgAiAkEEdGpBACACIBdJGyICQQhqQQAgAhshDwsgA0GwAmogDiADQdAAahD0ASADKgKwAiAjXa0hJiADKgK8AiElIAMqArgCISQgAyoCtAIhIiAEBEAgAyAYNgLMAiADIBU2AsgCIAMgDzYCxAIgAyARNgLAAkIAIScgA0HYAmoiFkIANwMAIANCADcD0AIgA0ECOgC0AyADQQI6AJwDIANBAjoAhAMgA0ECOgDsAiAiICNdrUIBhiAmhCAjICRerUIChoQgIyAlXq1CA4aEIShBACEEQQAhCgNAAkAgKCAniEIBg1ANACADQcACaiAEaigCACIHRQ0AIAMoAoABIgsoAjgiBkEwaigCACICIAcoAgAiCE0NACAGQSxqKAIAIAhBqAFsakEAIAIgCEsbIhAoAgBBAUcNACAHKAIEIgYgECgCBEcNACADKAKEASEJIAsgCygCNCICQSBqKAIAIAJBJGooAgAgCCAGIBBBCGoQzgNFDQAgA0EIaiIHIBBBGGoiCygCBCICNgIEIAcgCygCACACKAIIQQdqQXhxajYCACADQcADaiICIAMoAgggEEHUAGogCSADLQCIASADKAIMKAI8EQgAIAMtAMwDIQsgA0HQAmogBGogAyoCwAMgCSoCAJMiIiAilCADKgLEAyAJ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IABrQQNNBEAgAiAAQQQQ2gYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggASoCCCEDIAIoAgAgAGtBA00EQCACIABBBBDaBiACKAIIIQALIAIoAgQgAGogAzgAACACIABBBGoiADYCCCABKgIMIQMgAigCACAAa0EDTQRAIAIgAEEEENoGIAIoAgghAAsgAigCBCAAaiADOAAAIAIgAEEEaiIANgIIIAEqAhAhAyACKAIAIABrQQNNBEAgAiAAQQQQ2gYgAigCCCEACyACKAIEIABqIAM4AAAgAiAAQQRqIgA2AgggASoCFCEDIAIoAgAgAGtBA00EQCACIABBBBDaBiACKAIIIQALIAIgAEEEajYCCCACKAIEIABqIAM4AABBAAvHAgIBfgF/IAEpAwAhAiAAQQhqKAIAIgMEfiACIANBDGxBDGtBDG6tQhR+fEIcfAUgAkIIfAshAiAAQRRqKAIAIgMEfiACIANBA3RBCGutfEIQfAUgAkIIfAshAiAAQSBqKAIAIgMEfiACIANBFGxBFGtBFG6tQhx+fEIkfAUgAkIIfAshAiAAQSxqKAIAIgMEfiACIANBBXRBIGtBBXatQjV+fEI9fAUgAkIIfAshAiAAQThqKAIAIgMEfiACIANBAnRBBGutfEIMfAUgAkIIfAshAiAAQcQAaigCACIDBH4gAiADQQJ0QQRrrXxCDHwFIAJCCHwLIQIgAEHQAGooAgAiAwR+IAIgA0ECdEEEa618Qgx8BSACQgh8CyECIAEgAEHcAGooAgAiAAR+IAIgAEECdEEEa618Qgx8BSACQgh8CzcDAEEAC7sDAQh/IwBBEGsiByQAIAdBCGoiBSACNgIEIAUgATYCACAHKAIMIQsgAEEIaigCACIEIAcoAggiBk0EQCAAQQhqAn8gBkEBaiIJIARNBEAgCQwBCyAEIQUgCSAEayIKIAAoAgAgBGtLBEAgACAEIAoQrQYgAEEIaigCACEFCyAAKAIEIAVBA3RqIQIgCkECTwR/IAYgBGsiCEEHcSEBIAYgBEF/c2pBB08EQCAIQXhxIQgDQCACQv////8PNwIAIAJBOGpC/////w83AgAgAkEwakL/////DzcCACACQShqQv////8PNwIAIAJBIGpC/////w83AgAgAkEYakL/////DzcCACACQRBqQv////8PNwIAIAJBCGpC/////w83AgAgAkFAayECIAhBCGsiCA0ACwsgAQRAA0AgAkL/////DzcCACACQQhqIQIgAUEBayIBDQALCyAFIApqQQFrBSAFCyIBIAQgCUYNABogAkL/////DzcCACABQQFqCyIENgIACyAEIAZLBEAgAEEEaigCACAGQQN0aiIAIAM2AgQgACALNgIAIAdBEGokAA8LIAYgBEHMosAAEMMIAAu/GQMffwl9A34jAEHwAGsiBiQAIAEoAgAoAgAhECABKAIEIg0oAgAiFwRAIAZBEGoiBSANKAIEIgRB//8DcTYCBCAFIARBEHY2AgAgBigCFCENIAYoAhAhEQsgASgCCCIOKAIAIhgEQCAGQQhqIgQgDikDCCIrQiCIPgIEIAQgKz4CACAGKAIIIQ4gBigCDCEZCyABKAIMIg8oAgAiHgRAIAYgDykDCCIrQiCIPgIEIAYgKz4CACAGKAIAIQ8gBigCBCEICyAGQTBqIgdBCGogASgCECgCACIEQQhqKAIANgIAIAYgBCkCADcDMCAGQUBrIgVBCGogASgCFCgCACIEQQhqKAIANgIAIAYgBCkCADcDQCAGQRhqIgQgByAFENYKIAEoAigtAAAhCiABKAIkKgIAISIgASgCICgCACELIAEoAhwoAgAhByABKAIYKAIAIQEgBiAINgJsIAYgDzYCaCAGIB42AmQgBiAZNgJgIAYgDjYCXCAGIBg2AlggBiANNgJUIAYgETYCUCAGIBc2AkwgBkEAIBAgEEFBcRs2AkggBkGou8AANgJEIAYgAjYCQEEAIQ1BACEPIwBBkANrIgMkACADQUBrIghBKGogBUEoaikCADcDACAIQSBqIAVBIGopAgA3AwAgCEEYaiAFQRhqKQIANwMAIAhBEGogBUEQaikCADcDACAIQQhqIAVBCGopAgA3AwAgAyALNgJ4IAMgBzYCdCADIAE2AnAgAyAFKQIANwNAIANBoAJqIgJBEGogBEEQaikCADcDACACQQhqIARBCGopAgA3AwAgAyAEKQIANwOgAiADQYABaiACEIoGIAMgBDYC6AEgAyAKOgDsASADICI4AuABIAMgCDYC5AEgACICAn9BACABQShqKAIAIg5FDQAaIANBADYC+AEgA0KAgICAwAA3A/ABIANB8AFqIgRBABC4BiADKAL0ASADKAL4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B0HUAGogAygCyAEgAyoCwAEgAy0AzAEgAygCFCgCHBEJACADKAKgAkEERg0AIAwoAgQhESAMKAIAIRogA0HYA2ogGEEIaigCADYCACADIBgpAgA3A9ADIAMpA6ACIjpCgICAgHCDIT5BgAIhEyADKgKoAiEvC0IEIUJDAAAAACExQQAhAkIAIUFCBCE7QQAhAEMAAAAAITICfkIAIDdCBINQDQAaQgAgFkUNABoCQCADKALEASIHKAI4IgVBMGooAgAiBCAWKAIAIghNDQAgBUEsaigCACAIQagBbGpBACAEIAhLGyINKAIAQQFHDQAgFigCBCIEIA0oAgRHDQBCACAHIAcoAjQiHUEgaigCACAdQSRqKAIAIAggBCANQQhqEM4DRQ0BGiADQQhqIgcgDUEYaiIFKAIEIgQ2AgQgByAFKAIAIAQoAghBB2pBeHFqNgIAIANBoAJqIAMoAgggDUHUAGogAygCyAEgAyoCwAEgAy0AzAEgAygCDCgCHBEJAEIAIAMoAqACQQRGDQEaIBYoAgQhJSAWKAIAISYgA0HIA2ogGEEIaigCADYCACADIBgpAgA3A8ADQYCABCEAIAMqAqgCITIgAykDoAIiO0KAgICAcIMMAQtCAAshOAJAIApB/wFxQQhJDQAgFUUNACADKALEASIHKAI4IgVBMGooAgAiBCAVKAIAIgpNDQAgBUEsaigCACAKQagBbGpBACAEIApLGyIIKAIAQQFHDQAgFSgCBCIFIAgoAgRHDQAgByAHKAI0IgRBIGooAgAgBEEkaigCACAKIAUgCEEIahDOA0UNACADIAhBGGoiBSgCBCIENgIEIAMgBSgCACAEKAIIQQdqQXhxajYCACADQaACaiADKAIAIAhB1ABqIAMoAsgBIAMqAsABIAMtAMwBIAMoAgQoAhwRCQAgAygCoAJBBEYNACAVKAIEIScgFSgCACEdIANBuANqIBhBCGooAgA2AgAgAyAYKQIANwOwAyADKQOgAiJCQoCAgIBwgyFBQYCAgAghAiADKgKoAiExCyADQZgCaiADQdgDaigCADYCACADQYgCaiADQcgDaigCADYCACADQfgBaiADQbgDaigCADYCACADIAMpA9ADNwOQAiADIAMpA8ADNwOAAiADIAMpA7ADNwPwASA+IDpC/////w+DhCE/IDZCIIghNSBAQv//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IgQgA4siAyADIARdG0MAAAA0lF9FDQELQQEhByACQQhqKgIAIgMgAUEIaioCACIEWw0AQQAhByADQwAAgH9bDQAgA0MAAID/Ww0AIARDAACAf1sNACAEQwAAgP9bDQBBASEHIAMgBJOLIgVDAAAANF8NACAFIASLIgQgA4siAyADIARdG0MAAAA0lF8hBwsgBkEIaiIBIAJBCGooAgA2AgAgBiACKQIANwMAIAAgBzoADCAAIAYpAgA3AgAgAEEIaiABKAIANgIAIAZBEGokAAv2AgIEfwF+IwBBQGoiAiQAAkAgAARAIAAoAgBFDQEQ2wwACxDaDAALIABBADYCACAAQQxqIgMoAgAhBCADQQA2AgAgACkCBCEFIAJBCGoiA0EwaiAAQUBrKAIANgIAIANBKGogAEE4aikCADcDACADQSBqIABBMGopAgA3AwAgA0EYaiAAQShqKQIANwMAIANBEGogAEEgaikCADcDACACQRBqIABBGGopAgA3AwAgAiAAQRBqKQIANwMIAkAgBARAQcQAQQQQ9wsiAUUNASABIAQ2AgwgASAFNwIEIAFBADYCACABIAIpAwg3AhAgAUEYaiACQRBqKQMANwIAIAFBIGogAkEYaikDADcCACABQShqIAJBCGoiAEEYaikDADcCACABQTBqIABBIGopAwA3AgAgAUE4aiAAQShqKQMANwIAIAFBQGsgAEEwaigCADYCAAsgAkFAayQAIAEPC0HEAEEEQcjvwwAoAgAiAEGKByAAGxEAAAALkAMBBX8jAEHAAWsiASQAIAFB2ABqIgNBIGoiBSAAQSBqKAIANgIAIANBGGoiByAAQRhqKQIANwMAIANBEGogAEEQaikCADcDACADQQhqIABBCGoiBikCADcDACABIAApAgA3A1ggAUGAAWoiBEEUaiADQRRqKAIANgIAIARBCGoiAyAGKAIANgIAIAEgASkCZDcCjAEgASAAKQIANwOAASAEQRhqIgAgBykDADcDACAEQSBqIgYgBSgCADYCACABQawBaiAFKAIANgIAIAEgBykDADcCpAEgAUKCgICAIDcCuAEgAUKAgICAEDcCsAEgAUEwaiABQbABaiIFENQFIAFCgoCAgCA3ArgBIAFCgICAgBA3ArABIAFBQGsgBRDVBSABQQhqIAMpAwA3AwAgAUEQaiAEQRBqKQMA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lCAIIAeUIAkgBSAJlCALIAqUkyIFIAWSIgWUk5KSOAIgIAQgDCANIAWUIAkgBpQgCiAHlJOSkjgCHCAEIAsgDSAHlCAKIAWUIAggBpSTkpI4AhggBEE4aiIDIAEgBEEYakEBEHYgBEEwaiADQQhqKQMAIg43AwAgBEEIaiAONwMAIARBFGogA0EUaigCAEEAIAQoAkgiAUEDSSIDGzYCACAEIAQpAzgiDjcDKCAEIA43AwAgBCABQQIgAxs2AhAgACAEIAIQhQYgACAEKQMQNwIQIARB4ABqJAALhQMBBH8jAEFAaiIBJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIABB4AFqIgQoAgAhAyAEQQA2AgAgAUE4aiAAQZwCaikCADcDACABQTBqIABBlAJqKQIANwMAIAFBKGogAEGMAmopAgA3AwAgAUEgaiAAQYQCaikCADcDACABQRhqIABB/AFqKQIANwMAIAFBEGogAEH0AWopAgA3AwAgAUEIaiAAQewBaikCADcDACABIABB5AFqKQIANwMAAkAgAwRAQcgAQQQQ9wsiAkUNASACIAM2AgQgAkEANgIAIAIgASkDADcCCCACQRBqIAFBCGopAwA3AgAgAkEYaiABQRBqKQMANwIAIAJBIGogAUEYaikDADcCACACQShqIAFBIGopAwA3AgAgAkEwaiABQShqKQMANwIAIAJBOGogAUEwaikDADcCACACQUBrIAFBOGopAwA3AgALIAFBQGskACACDwtByABBBEHI78MAKAIAIgBBigcgABsRAAAAC40DAgN/A30jAEEQayECAkACfwJAAkACQCAAvCIDQf////8HcSIBQf///+METQRAIAFBgICA9wNJDQEgAb4hACABQYCA4PwDSQ0CIAFBgIDwgARJDQNDAACAvyAAlSEAQQMMBAsgACAAXA0EQ9oPyT9D2g/JvyADQQBOGw8LQX8gAUH////LA0sNAhogAUH///8DSw0DIAIgACAAlDgCDCACKgIMGiAADwsgAUGAgMD5A08EQCAAQwAAgL+SIABDAACAP5KVIQBBAQwCCyAAIACSQwAAgL+SIABDAAAAQJKVIQBBAAwBCyAAQwAAwL+SIABDAADAP5RDAACAP5KVIQBBAgshAiAAIACUIgUgBZQiBCAEQ0cS2r2UQ5jKTL6SlCEG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IANqIAJBDGogARDkDBogACABIANqNgIICyACQRBqJABBAAvdAgIFfwF+IwBBsAFrIgEkACABQdgAaiIDQRBqIABBEGopAgA3AwAgA0EIaiAAQQhqIgUpAgA3AwAgASAAKQIANwNYIAFB8ABqIgRBFGogA0EUaigCACIDNgIAIARBGGoiBiABKQJkIgg3AwAgBEEgaiIHIAM2AgAgAUGcAWogAzYCACAEQQhqIgMgBSgCADYCACABIAg3AnwgASAINwKUASABIAApAgA3A3AgAUKBgICAEDcCqAEgAUKAgICAEDcCoAEgAUEwaiABQaABaiIAENQFIABBCGpCADcDACABQgA3A6ABIAFBQGsgABDVBSABQQhqIAMpAwA3AwAgAUEQaiAEQRBqKQMANwMAIAFBGGogBikDADcDACABQSBqIAcpAwA3AwAgAUEoaiAEQShqKQMANwMAIAFCgICAgCw3A1AgASABKQNwNwMAIAIgAUHYABDkDBogAUGwAWokAAvtAgIDfwd9IwBBMGsiAyQAIANBADYCECADQoCAgPwDNwMIIANBGGoiBCABIAIgA0EIaiIFEIEEIANBgICA/Hs2AgggAyoCGCEHIAQgASACIAUQgQQgA0KAgICAgICAwD83AwggAyoCGCEIIAQgASACIAUQgQQgA0GAgID8ezYCDCADKgIcIQkgBCABIAIgBRCBBCADQoCAgICAgIDAPzcCDCADKgIcIQogBCABIAIgBRCBBCADQYCAgPx7NgIQIAMqAiAhCyAEIAEgAiAFEIEEIAEqAggiBkMAAAAAYEUEQCADQSRqQQE2AgAgA0EsakEANgIAIANBqP/BADYCICADQeTvwQA2AiggA0EANgIYIANBGGpBsP/BABDTCgALIAMqAiAhDCAAQRRqIAsgBpI4AgAgAEEQaiAJIAaSOAIAIAAgByAGkjgCDCAAIAwgBpM4AgggACAKIAaTOAIEIAAgCCAGkzgCACADQTBqJAAL7QICA38HfSMAQTBrIgMkACADQQA2AhAgA0KAgID8AzcDCCADQRhqIgQgASACIANBCGoiBRCaAyADQYCAgPx7NgIIIAMqAhghByAEIAEgAiAFEJoDIANCgICAgICAgMA/NwMIIAMqAhghCCAEIAEgAiAFEJoDIANBgICA/Hs2AgwgAyoCHCEJIAQgASACIAUQmgMg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AiAGQQFqNgIAIAdBsAJqIQwgAEEEaiEOIAFBBGohDyADQQBHIRMjAEGQB2siBiQAAkACQAJAIAJBBGoiAyoCACIWIBaUIAMqAgQiFyAXlJIgAyoCCCIVIBWUkkMAAAAAkiIYQwAAAABeBEAgBiAVIBgQkwEiFZU4ArgCIAYgFyAVlTgCtAIgBiAWIBWVOAKwAiMAQRBrIggkACAIQQhqIgkgBkGwAmoiDUEIaigCADYCACAIIA0pAgA3AwAjAEGwBWsiAyQAIANBuARqQQA2AgAgA0HUBGpBADYCACADQfwCakIANwIAIANBhANqQQA2AgAgA0ELakIANwAAIANBnQVqIgpBC2pCADcAACADQYoFaiIQQQtqQgA3AAAgA0IANwOwBCADQgA3AswEIANCADcC9AIgA0IANwADIANCADcAoAUgA0IANwCNBSADQfcEaiIRQQtqQgA3AAAgA0IANwD6BCADQeQEaiISQQtqQgA3AAAgA0IANwDnBCADQZkDaiADQQhqIhQpAAA3AAAgA0GgA2ogA0EPaigAADYAACADIAMpAAA3AJEDIANBtQNqIApBCGopAAA3AAAgA0G8A2ogCkEPaigAADYAACADIAMpAJ0FNwCtAyADQdgDaiAQQQ9qKAAANgAAIANB0QNqIBBBCGopAAA3AAAgAyADKQCKBTcAyQMgA0H0A2ogEUEPaigAADYAACADQe0DaiARQQhqKQAANwAAIAMgAykA9wQ3AOUDIANBkARqIBJBD2ooAAA2AAAgA0GJBGogEkEIaikAADcAACADIAMpAOQENwCBBCADQYACOwHcBCADQT42AtgEIANCgICAgICAgMA/NwLEBCADQgA3ArwEIANCgICAgICAgMA/NwOoBCADQgA3A6AEIANBADoAnAQgA0L////7BzcClAQgA0EAOgCABCADQv////sHNwP4AyADQQA6AOQDIANC////+wc3AtwDIANBADoAyAMgA0L////7BzcDwAMgA0EAOgCsAyADQv////sHNwKkAyADQQA6AJADIANC////+wc3A4gDIANB////+wc2AvACIANCgICAgPD//79/NwPoAiADQv////v///+//wA3A+ACIANC////+wc3A9gCIANCgICAgPD//79/NwPQAiADQv////v///+//wA3A8gCIANC////+wc3A8ACIANC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ajYCACABRQ0AIAEoAgAiA0F/Rg0CIAEgA0EBajYCACACRQ0AIAIoAgAiA0F/Rg0CIAIgA0EBajYCACAFQbACaiEJIABBBGohCiABQQRqIQsjAEHwBGsiBCQAAkAgAkEEaiIDKgIAIhEgEZQgAyoCBCISIBKUkiADKgIIIhAgEJSSQwAAAACSIhNDAAAAAF4EQCAEIBAgExCTASIQlTgCCCAEIBIgEJU4AgQgBCARIBCVOAIAIwBBEGsiBiQAIAZBCGoiByAEQQhqKAIANgIAIAYgBCkCADcDACMAQbAFayIDJAAgA0G4BGpBADYCACADQdQEakEANgIAIANB/AJqQgA3AgAgA0GEA2pBADYCACADQQtqQgA3AAAgA0GdBWoiCEELakIANwAAIANBigVqIgxBC2pCADcAACADQgA3A7AEIANCADcCzAQgA0IANwL0AiADQgA3AAMgA0IANwCgBSADQgA3AI0FIANB9wRqIg1BC2pCADcAACADQgA3APoEIANB5ARqIg5BC2pCADcAACADQgA3AOcEIANBmQNqIANBCGoiDykAADcAACADQaADaiADQQ9qKAAANgAAIAMgAykAADcAkQMgA0G1A2ogCEEIaikAADcAACADQbwDaiAIQQ9qKAAANgAAIAMgAykAnQU3AK0DIANB2ANqIAxBD2ooAAA2AAAgA0HRA2ogDEEIaikAADcAACADIAMpAIoFNwDJAyADQfQDaiANQQ9qKAAANgAAIANB7QNqIA1BCGopAAA3AAAgAyADKQD3BDcA5QMgA0GQBGogDkEPaigAADYAACADQYkEaiAOQQhqKQAANwAAIAMgAykA5AQ3AIEEIANBgAI7AdwEIANBNzYC2AQgA0KAgICAgICAwD83AsQEIANCADcCvAQgA0KAgICAgICAwD83A6gEIANCADcDoAQgA0EAOgCcBCADQv////sHNwKUBCADQQA6AIAEIANC////+wc3A/gDIANBADoA5AMgA0L////7BzcC3AMgA0EAOgDIAyADQv////sHNwPAAyADQQA6AKwDIANC////+wc3AqQDIANBADoAkAMgA0L////7BzcDiAMgA0H////7BzYC8AIgA0KAgICA8P//v383A+gCIANC////+////7//ADcD4AIgA0L////7BzcD2AIgA0KAgICA8P//v383A9ACIANC////+////7//ADcDyAIgA0L////7BzcDwAIgA0KAgICA8P//v383A7gCIANC////+////7//ADcDsAIgDyAHKAIANgIAIAMgBikCADcDACADQaAEaiADEO4DIAMgA0GwAmpBsAIQ5AwiA0GwAmoiCEEIaiAHKAIANgIAIAMgBikCADcDsAIgA0GMAmogCBDuAyAIIANBsAIQ5AwaIARBsAJqIgcgCEGwAhDkDBogA0GwBWokACAGQRBqJAAgBEHgBGoiA0EIaiIGIApBCGooAgA2AgAgBCAKKQIANwPgBCAEIAcgAxCSCyAGIAtBCGooAgA2AgAgBCALKQIANwPgBCAHIAQgAxCTCyAEIAcQvQwgCSAEQbACEOQMGgwBCyAJQQI6AGALIARB8ARqJAAgBUHQAWogCUHgABDkDBogBS0AkAMhAyAFQQFqIAVBkQNqQc8BEOQMGiACIAIoAgBBAWs2AgAgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEEAIQAgA0ECRwRAQbQCQQQQ9wsiAEUNAiAAQQA2AgAgAEEEaiAFQdABakHgABDkDBogACADOgBkIABB5QBqIAVBAWpBzwEQ5AwaCyAFQeAEaiQAIAAPCxDaDAALQbQCQQRByO/DACgCACIAQYoHIAAbEQAAAAsQ2wwAC+sCAgV/AX4jAEEwayIEJAACQAJAAkACQCAARQ0AIAAoAgAiBUF/Rg0DIAAgBUEBajYCACACRQ0AIAIoAgAiBUF/Rg0DIAIgBUEBajYCACAEQQhqIgUgAb0iCUIgiD4CBCAFIAk+AgAgAEEEaiAEKAIIIAQoAgwQwQkiBUUNASAEQSBqIgZBCGogAkEMaigCADYCACAEIAIpAgQ3AyAgBCAFQRBqIgcoAgQiCDYCBCAEIAcoAgAgCCgCCEEHakF4cWo2AgAgBEEQaiAEKAIAIAVBzABqIAYgA0EARyAEKAIEKAI8EQgAIAIgAigCAEEBazYCACAAIAAoAgBBAWs2AgBBFEEEEPcLIgBFDQIgAEEANgIAIAAgBCkDEDcCBCAAQQxqIARBGGopAwA3AgAgBEEwaiQAIAAPCxDaDAALQeC1wABBzABB1LbAABDODAALQRRBBEHI78MAKAIAIgBBigcgABsRAAAACxDbDAALxQIBBH8jAEEwayIBJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIABB+AJqIgMoAgAhBCADQQI2AgAgAUEYaiIDQQhqIABB6AJqKQIANwMAIANBEGogAEHwAmopAgA3AwAgAUEIaiAAQYQDaikCADcDACABQRBqIABBjANqKQIANwMAIAEgAEHgAmopAgA3AxggASAAQfwCaikCADcDAAJAIARBAkcEQEE4QQQQ9wsiAkUNASACQQA2AgAgAiABKQMYNwIEIAIgBDYCHCACIAEpAwA3AiAgAkEMaiABQRhqIgBBCGopAwA3AgAgAkEUaiAAQRBqKQMANwIAIAJBKGogAUEIaikDADcCACACQTBqIAFBEGopAwA3AgALIAFBMGokACACDwtBOEEEQcjvwwAoAgAiAEGKByAAGxEAAAAL1AEBAX8gACgCACIBKAIIBEAgAUEMaigCABC1AQsgASgCFARAIAFBGGooAgAQtQELIAFBKGooAgAEQCABQSxqKAIAELUBCyABQTRqKAIABEAgAUE4aigCABC1AQsgAUHIAGooAgAEQCABQcwAaigCABC1AQsgAUHUAGooAgAEQCABQdgAaigCABC1AQsgAUHkAGooAgAEQCABQegAaigCABC1AQsgASgCeARAIAFB/ABqKAIAELUBCyABKAKEAQRAIAFBiAFqKAIAELUBCyAAKAIAELUBC9ECAgR/An4jAEFAaiIDJAAgAAJ/IAAtAAgEQCAAKAIAIQVBAQwBCyAAKAIAIQUgAEEEaigCACIEKAIYIgZBBHFFBEBBASAEKAIAQeHKwwBB+8rDACAFG0ECQQEgBRsgBCgCBCgCDBEFAA0BGiABIAQgAigCDBEDAAwBCyAFRQRAIAQoAgBB+crDAEECIAQoAgQoAgwRBQAEQEEAIQVBAQwCCyAEKAIYIQYLIANBAToAFyADQcDKwwA2AhwgAyAEKQIANwMIIAMgA0EXajYCECAEKQIIIQcgBCkCECEIIAMgBC0AIDoAOCADIAQoAhw2AjQgAyAGNgIwIAMgCDcDKCADIAc3AyAgAyADQQhqNgIYQQEgASADQRhqIAIoAgwRAwANABogAygCGEHfysMAQQIgAygCHCgCDBEFAAs6AAggACAFQQFqNgIAIANBQGskACAAC8ECAgF/AX0gACgCACICKAIIIQAgAigCACAAa0EHTQRAIAIgAEEIENoGIAIoAgghAAsg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BEAgDEEgagJ/IBNBAWoiCiAHTQRAIAoMAQsgByEJIAogB2siFyAMKAIYIAdrSwRAIAxBGGogByAXEK0GIAxBIGooAgAhCQsgDEEcaigCACAJQQN0aiELIBdBAk8EQCATIAdrIgZBB3EhCCATIAdBf3NqQQdPBEAgBkF4cSEGA0AgC0L/////DzcCACALQThqQv////8PNwIAIAtBMGpC/////w83AgAgC0EoakL/////DzcCACALQSBqQv////8PNwIAIAtBGGpC/////w83AgAgC0EQakL/////DzcCACALQQhqQv////8PNwIAIAtBQGshCyAGQQhrIgYNAAsLIAgEQANAIAtC/////w83AgAgC0EIaiELIAhBAWsiCA0ACwsgCSAXakEBayEJCyAJIAcgCkYNABogC0L/////DzcCACAJQQFqCyIHNgIACyAHIBNNBEAgEyAHQYiOwQAQwwgACyAMQRxqKAIAIBNBA3RqIgYgFjYCBCAGIA02AgALIB1B4AJqJAAgESgC0AIEQCARKALUAhC1AQtBACEIIwBBEGsiGiQAAkAgFEEgaigCACAbTQ0AIBRBHGooAgAgG0EUbGoiBigCACAcRw0AIAZBDGooAgAhFSAaQQA2AgggGkKAgICAwAA3AwAgFEEUaiELIBRBEGohHkF/IQlBfyEGIBUgFEEIaiIXKAIASQRAIBRBBGooAgAgFUEEdGoiBygCCCEGIAdBDGooAgAhCQsgCygCACEgIB4oAgAhISAUQSRqIRIgFEEUaiENQQQhCgJAA0ACQAJAAkACQCAGICBJBEAgISAGQQR0aigCACEHDAELA0AgICAJIgtNDQIgISALQQR0aiIHKAIEIQkgBygCCCAVRg0ACyAGIQcgCyEGCyANKAIAIAZNDQIgHigCACAGQQR0aiIGQQhqKAIAIhwgFygCACILTw0EIAZBDGooAgAiBiALSQ0BIAYgC0Hg48EAEMMIAAsgGigCACEHIAgEQCAKIAhBA3RqIQYgCiEJA0AgFCAJKAIAIAkoAgRBARAmIAYgCUEIaiIJRw0ACwsgB0UNBCAKELUBDAQLIBRBBGooAgAiCyAGQQR0aiIGKAIEIQ4gBigCACETIAsgHEEEdGoiBigCACEPIAYoAgQhGyAaKAIAIAhGBEAgGiAIELgGIBooAgghCCAaKAIEIQoLIAogCEEDdGoiBiAONgIEIAYgEzYCACAaIAhBAWoiCDYCCCAUKAIsIgsgFCgCJCIZRgRAIBIgCxC4BiAUKAIkIRkgFCgCLCELCyAUIAtBAWoiBjYCLCALQQN0IRwgHCAUKAIoIgtqIhwgGzYCBCAcIA82AgAgBiAZRgRAIBIgGRC4BiAUKAIoIQsgFCgCLCEGCyAUIAZBAWo2AiwgCyAGQQN0aiIGIA42AgQgBiATNgIAIAchBgwBCwsMAwsgHCALQdDjwQAQwwgACyAaQRBqJAAgGEEIaiARQShqQagCEOQMGiAYICc6AMACIBggKjcDuAIgGCAiNgK0AiAYICM2ArACIBggJDYCBCAYICY2AgAgGEHYAmogEUEfaikAADcAACAYQdECaiARQRhqKQMANwAAIBhByQJqIBFBEGopAwA3AAAgGCARKQMINwDBAgsgEUHwA2okAAwBC0GIwsAAQStB8OPBABDZCQALAkAgHy0A0AJBAkYNACAfQeQBaigCACIGBEAgBhC1AQsgHygCvAJFDQAgH0HAAmooAgAQtQELIAVBADYCACAEQQA2AgAgA0EANgIAIAJBADYCACAAQQA2AgAgH0HwAmokAA8LENoMAAsQ2wwAC54CAQF/IwBBEGsiAiQAIAAoAgAhAAJ/AkAgASgCCEEBRwRAIAEoAhBBAUcNAQsgAkEANgIMIAEgAkEMagJ/AkACQCAAQYABTwRAIABBgBBJDQEgAEGAgARPDQIgAiAAQT9xQYABcjoADiACIABBDHZB4AFyOgAMIAIgAEEGdkE/cUGAAXI6AA1BAwwDCyACIAA6AAxBAQwCCyACIABBP3FBgAFyOgANIAIgAEEGdkHAAXI6AAxBAgwBCyACIABBP3FBgAFyOgAPIAIgAEESdkHwAXI6AAwgAiAAQQZ2QT9xQYABcjoADiACIABBDHZBP3FBgAFyOgANQQQLENABDAELIAEoAgAgACABKAIEKAIQEQMACyEBIAJBEGokACABC5cCAgp9AX8gACABKgIAIgIgAUEMaiIMKgIAIgMgAiABQQRqKgIAIghDAAAAAJQiBJIgAUEIaioCACIJQwAAAACUIgaSIAMgAUEQaioCACIKQwAAAACUIgWSIAFBFGoqAgAiC0MAAAAAlCIHkl4bOAIMIAAgAiADIAQgApMgBpIgBSADkyAHkl4bOAIAIABBFGogASAMIAkgAkMAAAAAlCICIASSIgSSIAsgA0MAAAAAlCIDIAWSIgWSXhsqAgg4AgAgAEEQaiABIAwgAiAIkiAGkiADIAqSIAeSXhsqAgQ4AgAgACABIAwgBCAJkyAFIAuTXhsqAgg4AgggACABIAwgAiAIkyAGkiADIAqTIAeSXhsqAgQ4AgQLmQICCH0BfyAAQQhqKAIAIgkEQCAAQQRqKAIAIgAqAgghBSAAKgIEIQYgACoCACECAkAgCUEBRgRAIAUhByAGIQMgAiEBDAELIAAgCUEMbGohCSAAQQxqIQAgAiEBIAYhAyAFIQcDQCAHIABBCGoqAgAiCCAHIAhgGyEHIAMgAEEEaioCACIEIAMgBGAbIQMgBSAIIAUgCF8bIQUgBiAEIAQgBmAbIQYgASAAKgIAIgQgASAEYBshASACIAQgAiAEXxshAiAJIABBDGoiAEcNAAsLIAEgApNDAAAAP5QiAiADIAaTQwAAAD+UIgEgASACYBsiAyAHIAWTQwAAAD+UIgEgASADYBsPC0GxgMIAQdIAQZSBwgAQzgwAC1MBBH9BiPHDACgCACIABEADQCAAIgEoAgghACABKAIEGiABKAIAGiABQQxqKAIAGiACQQFqIQIgAA0ACwtBwPPDACACQf8fIAJB/x9LGzYCAEEAC8MDAgJ/C30jAEEwayIDJAAgA0EIaiIEIAEgAhDSAiAEQRRqIQIgASoCJCIJQwAAAABgRQRAIANBFGpBATYCACACQQA2AgAgA0Go/8EANgIQIANB5O/BADYCGCADQQA2AgggA0EIakGw/8EAENMKAAsgA0EkaioCACEHIANBGGoqAgAhCiADKgIgIQggAyoCFCELIAMqAgwhDCADKgIIIQ0gAEEUaiADQShqKgIAIg4gDiACKgIAIg8gDyADKgIQIgUgBSAPXSIBGyAFIAVcGyIGIAYgDl0bIAYgBlwbIAmSOAIAIABBEGogByAHIAogCiAMIAogDF4iAhsgDCAMXBsiBiAGIAddGyAGIAZcGyAJkjgCACAAIAggCCALIAsgDSALIA1eIgQbIA0gDVwbIgYgBiAIXRsgBiAGXBsgCZI4AgwgACAFIAUgDyABGyAPIA9cGyIFIAUgDiAFIA5dGyAOIA5cGyAJkzgCCCAAIAwgDCAKIAIbIAogClwbIgUgBSAHIAUgB10bIAcgB1wbIAmTOAIEIAAgDSANIAsgBBsgCyALXBsiBSAFIAggBSAIXRsgCCAIXBsgCZM4AgAgA0EwaiQAC/sBAgt9AX8gAioCBCABQRRqKgIAkyIKIAFBCGoqAgAiA5QgAioCCCABQRhqKgIAkyILIAFBBGoqAgAiBZSTIgYgBpIhBiALIAEqAgAiCJQgAioCACABKgIQkyIEIAOUkyIHIAeSIQcCQCAEIAEqAgwiDCAGlCADIAeUIAUgBCAFlCAKIAiUkyIEIASSIgSUk5KSIg0gACoCACIJjF0NACAJIA1dDQAgCiAMIAeUIAggBJQgAyAGlJOSkiIDIAAqAgQiCYxdDQAgAyAJXg0AIAsgDCAElCAFIAaUIAggB5STkpIiAyAAKgIIIgVeRSADIAWMXUF/c3EhDgsgDguiAwIFfwN+IwBBIGsiASQAAkACQAJAQcTzwwAoAgBFBEBBxPPDAEF/NgIAQcjzwwAoAgAiAEUEQCABQRBqQRhBCBD8ByABKAIUIQIgASgCECEDIAFBCGpBGEEIEPwHIAEoAgwhACABKAIIIgQEQCAEIAAQ9wshAAsgAEUNAiAAQoGAgIAQNwIAIABBADYCCEHg78MAKQMAIQUDQCAFQgF8IgZQDQQgBSEHIAdB4O/DACkDACIFUSECQeDvwwAgBiAFIAIbNwMAIAJFDQALIABBADsBFEHI88MAIAA2AgAgAEEQakEANgIAIABBGGogBjcDAAsgACAAKAIAIgJBAWo2AgAgAkEASA0DQcTzwwBBxPPDACgCAEEBajYCACABQSBqJAAgAA8LQbidwwBBECABQRhqQcidwwBBsKLDABD9BwALIAMgAkHI78MAKAIAIgBBigcgABsRAAAACyMAQSBrIgAkACAAQRRqQQE2AgAgAEEcakEANgIAIABB5KDDADYCECAAQbidwwA2AhggAEEANgIIIABBCGpB7KDDABDTCgALAAu2AgMFfwN9AX4jAEHgAGsiBSQAIAFBCGoiBioCACEKIAEqAgAhCyABKgIEIQwgBUEcaiAGKAIANgIAIAUgCow4AhAgBSAMjDgCDCAFIAuMOAIIIAUgASkCADcCFCAFQTBqIgEgBUEIaiACIAMQxAIgBS0APCEDIAVBKGogAUEIaiIGKAIAIgc2AgAgBSAFKQMwIg03AyAgBUHQAGoiCEEIaiIJIAc2AgAgBSANNwNQIAEgAzoADCABIAgpAgA3AgAgBiAJKAIANgIAAkAgAioCACAFKgIwkyIKIAqUIAIqAgQgBSoCNJMiCiAKlJIgAioCCCAFKgI4kyIKIAqUkkMAAAAAkhCTASAEXkUEQCAAIAUpAzA3AgAgAEEIaiAGKQMANwIADAELIABBAjoADAsgBUHgAGokAAu5AgIGfwN9IAFBBGshASACQQRrIQIgA0ECdCEEIANBAWtBAkkhBwJAAkADQCADIgZFDQEgB0UNAiABIARqIQUgAiAEaiEIIAFBBGshASACQQRrIQIgBkEBayEDIAgoAgBB/////wdxviAFQQRqKAIAQf////8Hcb4gBSoCACIKvEH/////B3G+kkMAAAA0lF5FDQALIAEgBGohBSACIARqIQRBfyECA0AgBCEBIAMgAkEBaiICRg0BIAEqAgAiC0MAAAAAXARAIAFBBGshBCAKvEH/////B3G+IQwgBSoCACEKIAVBBGshBSALvEH/////B3G+IAwgCrxB/////wdxvpJDAAAANJRfRQ0BCwsgAUEANgIAQQEhCQsgACAGNgIEIAAgCTYCAA8LQbj4wQBBG0HE/cEAELkLAAuRAgEJfQJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIABBPGoqAgAhASAAQThqKgIAIQcgAEE0aioCACEIIABB0ABqKgIAIQkgAEHMAGoqAgAhAiAAQcgAaioCACEDIABBxABqKgIAIQRBEEEEEPcLIgBFBEBBEEEEQcjvwwAoAgAiAEGKByAAGxEAAAALIABBADYCACAAIAEgCSAEIAeUIAMgCJSTIgUgBZIiBZQgBCACIAiUIAQgAZSTIgYgBpIiBpQgAyADIAGUIAIgB5STIgEgAZIiAZSTkpI4AgwgACAHIAkgBpQgAiABlCAEIAWUk5KSOAIIIAAgCCAJIAGUIAMgBZQgAiAGlJOSkjgCBCAAC59BAx1/GX0BfgJAAkAgAEUNACAAKAIADQEgAEF/NgIAIAFFDQAgASgCACIGQX9GDQEgASAGQQFqNgIAIAJFDQAgAigCACIGQX9GDQEgAiAGQQFqNgIAIANFDQAgAygCACIGQX9GDQEgAyAGQQFqNgIAIARFDQAgBCgCACIGQX9GDQEgBCAGQQFqNgIAIAVFDQAgBSgCACIGQX9GDQEgBSAGQQFqNgIAIAJBBGohGCADQQRqIR0gBEEEaiEgIAVBBGohGSMAQfABayIGJAAgAEEIaiILQYwCakEANgIAIAtBgAJqQQA2AgAgBiALQYQCaiIONgJEIAYgC0H4AWoiCDYCQCAGQagBaiABQQRqIh4QyAogBigCsAEhByAGKAKsASEPAkAgCygC8AEiCkECcUEBdiALQegBaioCACIwQwAAAABccUUEQANAIAcgD0YNAiAHQegCaiEHDAALAAsgC0GsAWoqAgAhJyALQagBaioCACEpIAtBpAFqKgIAISwgC0GgAWoqAgAhKwNAIA8gByIJRwRAIAlB6AJqIQcgCSgCAEUNASAGIAlBLGoqAgAiIyAJQTBqKgIAIiWUIiQgJJIiKCAJQShqKgIAIiQgCUE0aioCACImlCIqICqSIiqTOAJkIAYgJCAllCIuIC6SIi4gIyAmlCIvIC+SIi+SOAJgIAYgKCAqkjgCXCAGICQgI5QiKCAokiIoICUgJpQiKiAqkiIqkzgCVCAGIC4gL5M4AlAgBiAoICqSOAJMIAYgJSAllCIlICYgJpQiJiAkICSUIiSTIiggIyAjlCIjk5I4AmggBiAjICiSICWTOAJYIAYgJCAmkiAjkyAlkzgCSEMAAIA/ISNDAACAPyEmQwAAgD8hJUMAAIA/ISQgCUHcAmotAAAEQCApISYgKyEkICwhJSAnISMLIAYgIzgC1AEgBiAlOALMASAGICM4AsQBIAYgJTgCvAEgBiAjOAK0ASAGICU4AqwBIAYgJkPNzEw+lDgC0AEgBiAkQwAAcEOUOALIASAGICZDzczMPZQ4AsABIAYgJEMAAPBClDgCuAEgBiAmQwAAgD6UOAKwASAGICRDAAAAAJQ4AqgBIAlB6AFqKgIAIS4gCUHkAWoqAgAhLyAJQeABaioCACExIAZBqAFqIQ1BACEJA0AgMCAGQcgAaiAJaiIMKgIAlCElIDAgDEEIaioCAJQhJCAwIAxBBGoqAgCUISYgDUEMaioCACEtIA1BCGoqAgAhKiANQQRqKgIAISggDSoCACEjIAsoAvgBIAsoAoACIgprQQJNBEAgCCAKQQMQqQYgCygCgAIhCgsgMSAlkiElIC4gJJIhJCAvICaSISYgCygC/AEgCkECdGoiDCAuOAIIIAwgLzgCBCAMIDE4AgAgCyAKQQNqIgo2AoACIAsoAvgBIAprQQJNBEAgCCAKQQMQqQYgCygCgAIhCgsgCyAKQQNqNgKAAiALKAL8ASAKQQJ0aiIMICQ4AgggDCAmOAIEIAwgJTgCACAoQwAAgD8gKiAqkkMAAIC/kouTlCIkQwAAgD8gIyAjQwAAtEOVjkMAALRDlJNDAABwQpUiKBCZA0MAAIC/kouTlCElQwAAAAAhIwJAAkAgKEMAAAAAYEUNACAoQwAAgD9dRQ0AICQhJgwBCwJAIChDAACAP2BFDQAgKEMAAABAXUUNACAlISYgJCElDAELQwAAAAAhJgJAIChDAAAAQGBFDQAgKEMAAEBAXUUNACAlISMgJCElDAELAkAgKEMAAEBAYEUNACAoQwAAgEBdRQ0AICQhIwwBCyAlICQgKEMAAKBAXSAoQwAAgEBgcSIMGyEmICQgJSAMGyEjQwAAAAAhJQsgCygChAIgCygCjAIiCmtBB00EQCAOIApBCBCpBiALKAKMAiEKCyALIApBCGo2AowCIAsoAogCIApBAnRqIgwgLTgCHCAMIC04AgwgDCAqICRDAAAAv5SSIiQgI5IiIzgCGCAMICQgJZIiJTgCFCAMICQgJpIiJDgCECAMICM4AgggDCAlOAIEIAwgJDgCACANQRBqIQ0gCUEMaiIJQSRHDQALDAELCyALKALwASEKCwJAIApBAXFFDQAgBkGoAWogGBDKCiALQSxqIQ8gC0EoaiEOIAtBJGohFCALQSBqIREgC0E8aiEQIAtBOGohEyALQTRqIRUgC0EwaiEXIAtBzABqIRIgC0HIAGohFiALQcQAaiEbIAtBQGshHCAGKAK0ASENIAYoArABIQogBigCrAEhIQNAIAogIUYEQCALKALwASEKDAILIAooAgAEQCAKQQRqKAIAISIgBkGoAWohByAKQQhqIhohCQJAIBooAiBFBEAgB0EANgIADAELIAcgCUEkaikCADcCBCAHQQE2AgALAn0CQAJAAkACQCAGKAKoAUUNACAeIAYoAqwBIAYoArABEMAJIh9FDQBDAACAPyEjQwAAgD8hJkMAAIA/ISVDAACAPyEkIB9B1AJqLQAABEAgCyoCqAEhJiALKgKgASEkIAsqAqQBISUgCyoCrAEhIwsgESEJIBQhByAOIQggDyEMIB8tANkCQQFrDgMBAgIDCyALKgJYISYgCyoCUCEkIAsqAlQhJSALKgJcDAMLIBchCSAVIQcgEyEIIBAhDAwBCyAcIQkgGyEHIBYhCCASIQwLICYgCCoCAJQhJiAkIAkqAgCUISQgJSAHKgIAlCElICMgDCoCAJQLISMgBiAiNgK0ASAGIA02ArABIAYgGjYCrAEgBkEBNgKoASAGQThqIBoQyQogBigCPCEHIAYoAjghCSAGICM4AlQgBiAmOAJQIAYgJTgCTCAGICQ4AkggCyAGQagBaiAGQUBrIAkgByAaQcwAaiAGQcgAahAsCyAKQagBaiEKIA1BAWohDQwACwALIApBwABxBEAgBkGoAWogGBDKCiALQdABaiEMIAYoArABIQ0gBigCrAEhCANAIAggDUcEQCANIgdBqAFqIQ0gBygCAEUNASMAQRBrIgkkACAJQQhqIgogB0EIaiIHQRBqIg8oAgQiDjYCBCAKIA8oAgAgDigCCEEHakF4cWo2AgAgBkHIAGogCSgCCCAHQcwAaiAJKAIMKAKIAREBACAJQRBqJAAgBiAGKgJcIiMgBioCUCIlk0MAAAA/lDgCeCAGIAYqAlgiJCAGKgJMIiaTQwAAAD+UOAJ0IAYgBioCVCInIAYqAkgiKZNDAAAAP5Q4AnAgBkEENgKAASAGICMgJZJDAAAAP5Q4AsABIAYgJCAmkkMAAAA/lDgCvAEgBiAnICmSQwAAAD+UOAK4ASAGQoCAgICAgIDAPzcDsAEgBkIANwOoASAGQZgBaiIHQQhqIAxBCGopAgA3AwAgBiAMKQIANwOYASALIAZBgAFqIAZBQGsgBkHwAGpBrK/AACAGQagBaiAHECwMAQsLIAsoAvABIQoLIAYgHjYCmAEgBiALQaABajYCnAEgBiAGQUBrNgKgAQJAIApBCHFFDQAgBkEwaiIHIB1BEGooAgAiCTYCBCAHIAkgHUEUaigCAEHwAmxqNgIAIAYoAjQiCiAGKAIwIhRGDQAgC0HwAGohCSALQeAAaiEMIAZBuAFqIQcDQCAKQdgCaikCACE8IApBsAJqKAIAIQggCkG0AmooAgAhDSAKQbgCaigCACEPIApBvAJqKAIAIQ4gBkGoAWoiEUEIaiAMQQhqKQIANwMAIAcgCSkCADcCACAHQQhqIAlBCGopAgA3AgAgBiAMKQIANwOoASAGIDw3AuQBIAYgCjYC4AEgBkECNgLcASAGIAo2AtgBIAYgDjYC1AEgBiAPNgLQASAGIA02AswBIAYgCDYCyAEgBkGYAWogCCANIA8gDiAKIBEgBxC8ASAUIApB8AJqIgpHDQALCwJAIAstAPABQQRxRQ0AIAZBqAFqICAQ3AogBigCrAEiCiAGKAKoASIPRg0AIAYoArABIQkgC0GQAWohDiALQYABaiEUIAZBuAFqIQ0gBigCtAEiB0HIAGohFSAHQcQAaiEXA0AgCkEUaiEHAkACQCAKKAIAIgxBf0cEQCAGQShqIgggDDYCBCAIIAk2AgAgCkEQaigCACIIDQELIAcgD0YNAwwBCwJAAkACQAJAIApBBGooAgAiDCAVKAIAIhFPDQAgFygCACAMQZQCbGpBACAMIBFJGyIMLQCMAkECRg0AIAwoApACIApBCGooAgBHDQAgDEGgAWooAgAiESAITQ0BIAYoAiwhEiAGKAIoIRYgDEGcAWooAgAhCiAGQYgBaiIQIBRBCGopAgA3AwAgBiAUKQIANwOAASAGQdAAaiIbIA5BCGopAgA3AwAgBiAOKQIANwNIIAogCEHUA2xqIggoAvgCRQ0CIBEgCCgCgAMiEU0NAyAGQSBqIAogEUHUA2xqKQIANwMAIAYoAiAhCiAGKAIkIREgBkEYaiAIKQIANwMAIAZBqAFqIhxBCGogECkDADcDACAGKAIYIRAgBigCHCETIA0gBikDSDcCACANQQhqIBspAwA3AgAgBiASNgLsASAGIBY2AugBIAYgCDYC5AEgBiAMNgLgASAGQQM2AtwBIAYgCEEwaiIMNgLYASAGIBE2AswBIAYgCjYCyAEgBiAGKQOAATcDqAEgBiATNgLUASAGIBA2AtABIAZBmAFqIAogESAQIBMgDCAcIA0QvAEgByAPRw0EDAYLQbiAwABBE0GApcAAEM4MAAtB4IbAAEErQZClwAAQ2QkAC0HghsAAQStBkK7AABDZCQALQeCGwABBK0GArsAAENkJAAsgCUEBaiEJIAchCgwACwALIAYoAkQhDSAGKAJAIQoCQAJAAkACQAJAIAsoAvABIglBIHFFDQAgBkEQaiIHIBlBGGooAgAiDDYCBCAHIAwgGUEcaigCAEE4bGo2AgAgBigCFCIPIAYoAhAiE0YNAANAIBggDygCECAPQRRqKAIAEMEJIRQgGCAPQRhqKAIAIA9BHGooAgAQwQkhEQJAIBRFDQAgEUUNACAPQTBqKAIAIgdFDQAgD0EsaigCACIMIAdBqAFsaiEVA0AgDEHoAGooAgAiBwRAIAxB5ABqKAIAIgkgB0EwbGohFwNAIBRBzABqIgdBFGoqAgAhNiAHQRhqKgIAITIgB0EMaioCACEsIAdBBGoqAgAhIyAHQQhqKgIAISUgByoCECE3IAkqAgAhKyAHKgIAISQgCSoCCCEoIAkqAgQhMCAJQRBqKgIAISogEUHMAGoiB0EIaioCACEmIAlBFGoqAgAhLiAHQQRqKgIAIScgB0EMaioCACEvIAlBDGoqAgAhMSAHKgIAISkgByoCECE4IAdBGGoqAgAhOSAHQRRqKgIAITogCyoCvAEhMyALKgK4ASEtIAsqArQBITsgCyoCsAEhNCAKKAIAIgcgCigCCCIIa0ECTQRAIAggCEEDaiIISw0HIAdBAXQiDiAIIAggDkkbIghBBCAIQQRLGyIIQQJ0IQ4gCEGAgICAAklBAnQhECAGIAcEfyAGIAdBAnQ2AqwBIAYgCkEEaigCADYCqAFBBAVBAAs2ArABIAZByABqIA4gECAGQagBahCGByAGKAJMIQcCQCAGKAJIRQRAIAogCDYCACAKQQRqIAc2AgAMAQsgBigCUCIIQYGAgIB4Rg0AIAhFDQgMCQsgCigCCCEICyAKQQRqIg4oAgAgCEECdGoiByAyICggLCAwICSUICsgI5STIjIgMpIiMpQgJCArICWUICggJJSTIjUgNZIiNZQgIyAoICOUIDAgJZSTIiggKJIiKJSTkpKSOAIIIAcgNiAwICwgNZQgJSAolCAkIDKUk5KSkjgCBCAHIDcgKyAsICiUICMgMpQgJSA1lJOSkpI4AgAgCiAIQQNqIgg2AgggCigCACIHIAhrQQJNBEAgCCAIQQNqIghLDQcgB0EBdCIQIAggCCAQSRsiCEEEIAhBBEsbIghBAnQhECAIQYCAgIACSUECdCESIAYgBwR/IAYgB0ECdDYCrAEgBiAKQQRqKAIANgKoAUEEBUEACzYCsAEgBkHIAGogECASIAZBqAFqEIYHIAYoAkwhBwJAIAYoAkhFBEAgCiAINgIAIA4gBzYCAAwBCyAGKAJQIghBgYCAgHhGDQAgCEUNCAwJCyAKKAIIIQgLIAogCEEDajYCCCAOKAIAIAhBAnRqIgcgOSAuIC8gKiAplCAxICeUkyIjICOSIiOUICkgMSAmlCAuICmUkyIlICWSIiWUICcgLiAnlCAqICaUkyIkICSSIiSUk5KSkjgCCCAHIDogKiAvICWUICYgJJQgKSAjlJOSkpI4AgQgByA4IDEgLyAklCAnICOUICYgJZSTkpKSOAIAIDtDAACAPyAtIC2SQwAAgL+Si5OUIiZDAACAPyA0IDRDAAC0Q5WOQwAAtEOUk0MAAHBClSInEJkDQwAAgL+Si5OUISNDAAAAACElAkACQCAnQwAAAABgRQ0AICdDAACAP11FDQAgJiEkDAELAkAgJ0MAAIA/YEUNACAnQwAAAEBdRQ0AICMhJCAmISMMAQtDAAAAACEkAkAgJ0MAAABAYEUNACAnQwAAQEBdRQ0AICMhJSAmISMMAQsCQCAnQwAAQEBgRQ0AICdDAACAQF1FDQAgJiElDAELICMgJiAnQwAAoEBdICdDAACAQGBxIgcbISQgJiAjIAcbISVDAAAAACEjCyANKAIAIgcgDSgCCCIIa0EHTQRAIAggCEEIaiIISw0HIAdBAXQiECAIIAggEEkbIghBAnQhECAIQYCAgIACSUECdCESIAYgBwR/IAYgB0ECdDYCrAEgBiANQQRqKAIANgKoAUEEBUEACzYCsAEgBkHIAGogECASIAZBqAFqEIYHIAYoAkwhBwJAIAYoAkhFBEAgDSAINgIAIA1BBGogBzYCAAwBCyAGKAJQIghBgYCAgHhGDQAgCEUNCAwJCyANKAIIIQgLIA0gCEEIajYCCCANQQRqIhAoAgAgCEECdGoiByAzOAIcIAcgLSAmQwAAAL+UkiImICWSIiU4AhggByAmICOSIiM4AhQgByAmICSSIiQ4AhAgByAzOAIMIAcgJTgCCCAHICM4AgQgByAkOAIAIAlBBGoqAgAhJyAUQcwAaiIHQQhqKgIAISMgCUEIaioCACEpIAdBBGoqAgAhJSAHQQxqKgIAISYgByoCACEkIAkqAgAhLCAHKgIQITAgB0EUaioCACEqIAdBGGoqAgAhLiALKgLsASErIAwqAkQhMiAMKgJIITUgDCoCQCE2IAsqAswBIS8gCyoCyAEhKCALKgLEASE3IAsqAsABITEgCigCACIHIAooAggiCGtBAk0EQCAIIAhBA2oiCEsNByAHQQF0IhIgCCAIIBJJGyIIQQQgCEEESxsiCEECdCESIAhBgICAgAJJQQJ0IRYgBiAHBH8gBiAHQQJ0NgKsASAGIApBBGooAgA2AqgBQQQFQQALNgKwASAGQcgAaiASIBYgBkGoAWoQhgcgBigCTCEHAkAgBigCSEUEQCAKIAg2AgAgDiAHNgIADAELIAYoAlAiCEGBgICAeEYNACAIRQ0IDAkLIAooAgghCAsgDigCACAIQQJ0aiIHIC4gKSAmICcgJJQgLCAllJMiLSAtkiItlCAkICwgI5QgKSAklJMiMyAzkiIzlCAlICkgJZQgJyAjlJMiNCA0kiI0lJOSkpI4AgggByAqICcgJiAzlCAjIDSUICQgLZSTkpKSOAIEIAcgMCAsICYgNJQgJSAtlCAjIDOUk5KSkjgCACAKIAhBA2oiCDYCCCAKKAIAIgcgCGtBAk0EQCAIIAhBA2oiCEsNByAHQQF0IhIgCCAIIBJJGyIIQQQgCEEESxsiCEECdCESIAhBgICAgAJJQQJ0IRYgBiAHBH8gBiAHQQJ0NgKsASAGIApBBGooAgA2AqgBQQQFQQALNgKwASAGQcgAaiASIBYgBkGoAWoQhgcgBigCTCEHAkAgBigCSEUEQCAKIAg2AgAgDiAHNgIADAELIAYoAlAiCEGBgICAeEYNACAIRQ0IDAkLIAooAgghCAsgCiAIQQNqNgIIICcgMiArlJIiLSAklCAlICwgNiArlJIiLJSTIicgJ5IhJyAjICyUICkgNSArlJIiKyAklJMiKSApkiEpIA4oAgAgCEECdGoiByAuICsgJiAnlCAkICmUICUgJSArlCAjIC2UkyIrICuSIiuUk5KSkjgCCCAHICogLSAmICmUICMgK5QgJCAnlJOSkpI4AgQgByAwICwgJiArlCAlICeUICMgKZSTkpKSOAIAIDdDAACAPyAoICiSQwAAgL+Si5OUIiZDAACAPyAxIDFDAAC0Q5WOQwAAtEOUk0MAAHBClSInEJkDQwAAgL+Si5OUISNDAAAAACElAkACQCAnQwAAAABgRQ0AICdDAACAP11FDQAgJiEkDAELAkAgJ0MAAIA/YEUNACAnQwAAAEBdRQ0AICMhJCAmISMMAQtDAAAAACEkAkAgJ0MAAABAYEUNACAnQwAAQEBdRQ0AICMhJSAmISMMAQsCQCAnQwAAQEBgRQ0AICdDAACAQF1FDQAgJiElDAELICMgJiAnQwAAoEBdICdDAACAQGBxIgcbISQgJiAjIAcbISVDAAAAACEjCyANKAIAIgcgDSgCCCIIa0EHTQRAIAggCEEIaiIISw0HIAdBAXQiDiAIIAggDkkbIghBAnQhDiAIQYCAgIACSUECdCESIAYgBwR/IAYgB0ECdDYCrAEgBiANQQRqKAIANgKoAUEEBUEACzYCsAEgBkHIAGogDiASIAZBqAFqEIYHIAYoAkwhBwJAIAYoAkhFBEAgDSAINgIAIBAgBzYCAAwBCyAGKAJQIghBgYCAgHhGDQAgCEUNCAwJCyANKAIIIQgLIA0gCEEIajYCCCAQKAIAIAhBAnRqIgcgLzgCHCAHICggJkMAAAC/lJIiJiAlkiIlOAIYIAcgJiAjkiIjOAIUIAcgJiAkkiIkOAIQIAcgLzgCDCAHICU4AgggByAjOAIEIAcgJDgCACAXIAlBMGoiCUcNAAsLIBUgDEGoAWoiDEcNAAsLIBMgD0E4aiIPRw0ACyALKALwASEJCwJAIAlBEHFFDQAgBkEIaiIHIBlBGGooAgAiCTYCBCAHIAkgGUEcaigCAEE4bGo2AgAgBigCDCIPIAYoAggiFEYNACALQcQBaioCAEMAAIA/IAtByAFqKgIAIiYgJpJDAACAv5KLk5QiJUMAAIA/IAtBwAFqKgIAIiMgI0MAALRDlY5DAAC0Q5STQwAAcEKVIiMQmQNDAACAv5KLk5QhJCAjQwAAgD9dICNDAAAAAGBxIgkgI0MAAABAXSAjQwAAgD9gcXIiDCAjQwAAQEBdICNDAAAAQGBxciIIICNDAACAQF0gI0MAAEBAYHFyIQcgJiAlQwAAAL+UkiImICUgJCAJG0MAAAAAIAwbICQgJSAjQwAAoEBdICNDAACAQGBxIg4bIAcbkiEnICYgJCAlIAkbICQgCBtDAAAAACAHG5IhKSAmQwAAAAAgJCAMGyAlIAgbICUgJCAOGyAHG5IhJSALQcwBaioCACEkIAtB7AFqKgIAISMDQCAPQTBqKAIAIgcEQCAPQSxqKAIAIgggB0GoAWxqIREDQCAIQYgBaigCACIHBEAgCEGEAWooAgAiDCAHQShsaiEQA0AgBkGIAWoiEyAMQQhqIgcoAgA2AgAgBiAMKQIANwOAASAIKgJ4ISYgByoCACEsIAgqAnQhKyAMKgIEISggCCoCcCEwIAwqAgAhKiAKKAIAIgcgCigCCCIJa0ECTQRAIAkgCUEDaiIJSw0HIAdBAXQiDiAJIAkgDkkbIglBBCAJQQRLGyIJQQJ0IQ4gCUGAgICAAklBAnQhFSAGIAcEfyAGIAdBAnQ2AqwBIAYgCkEEaigCADYCqAFBBAVBAAs2ArABIAZByABqIA4gFSAGQagBahCGByAGKAJMIQcCQCAGKAJIRQRAIAogCTYCACAKQQRqIAc2AgAMAQsgBigCUCIJQYGAgIB4Rg0AIAlFDQgMCgsgCigCCCEJCyAKQQRqIg4oAgAgCUECdGoiByAGKQOAATcCACAHQQhqIBMoAgA2AgAgCiAJQQNqIgk2AgggCigCACIHIAlrQQJNBEAgCSAJQQNqIglLDQcgB0EBdCITIAkgCSATSRsiCUEEIAlBBEsbIglBAnQhEyAJQYCAgIACSUECdCEVIAYgBwR/IAYgB0ECdDYCrAEgBiAKQQRqKAIANgKoAUEEBUEACzYCsAEgBkHIAGogEyAVIAZBqAFqEIYHIAYoAkwhBwJAIAYoAkhFBEAgCiAJNgIAIA4gBzYCAAwBCyAGKAJQIglBgYCAgHhGDQAgCUUNCAwKCyAKKAIIIQkLIAogCUEDajYCCCAOKAIAIAlBAnRqIgcgLCAjICaUkjgCCCAHICggIyArlJI4AgQgByAqICMgMJSSOAIAIA0oAgAiByANKAIIIglrQQdNBEAgCSAJQQhqIglLDQcgB0EBdCIOIAkgCSAOSRsiCUECdCEOIAlBgICAgAJJQQJ0IRMgBiAHBH8gBiAHQQJ0NgKsASAGIA1BBGooAgA2AqgBQQQFQQALNgKwASAGQcgAaiAOIBMgBkGoAWoQhgcgBigCTCEHAkAgBigCSEUEQCANIAk2AgAgDUEEaiAHNgIADAELIAYoAlAiCUGBgICAeEYNACAJRQ0IDAoLIA0oAgghCQsgDSAJQQhqNgIIIA1BBGooAgAgCUECdGoiByAkOAIcIAcgJTgCGCAHICk4AhQgByAnOAIQIAcgJDgCDCAHICU4AgggByApOAIEIAcgJzgCACAQIAxBKGoiDEcNAAsLIBEgCEGoAWoiCEcNAAsLIBQgD0E4aiIPRw0ACwsgBkHwAWokAAwDCxCgCgALIAcgCEHI78MAKAIAIgBBigcgABsRAAAACyAHIAlByO/DACgCACIAQYoHIAAbEQAAAAsgBSAFKAIAQQFrNgIAIAQgBCgCAEEBazYCACADIAMoAgBBAWs2AgAgAiACKAIAQQFrNgIAIAEgASgCAEEBazYCACAAQQA2AgAPCxDaDAALENsMAAvXCAIIfwF+IwBBEGsiByQAIAAoAgAhCCAAQQA2AgACQCAIBEAgACkCBCIKpyIFKAIAQYABaiEAIAgoAgAhCCMAQSBrIgIkACAALQAAIQMgAEEBOgAAIAIgA0EBcSIDOgAHAkACQAJAIANFBEBB3O/DACgCAEH/////B3EEQEHM88MAKAIARUUhBAsgAC0AAQ0CIAEoAgAiBigCACEDIAYgA0EBajYCACADQQBIDQEgAEEMaigCACIDIAAoAgRGBEAgAEEEaiADELQGIAAoAgwhAwsgACADQQFqIgk2AgwgAEEIaigCACADQQxsaiIDIAY2AgggA0EANgIEIAMgCDYCACAAIAkEf0EBBSAAQRhqKAIAC0U6ABwCQCAEDQBB3O/DACgCAEH/////B3FFDQBBzPPDACgCAEUNACAAQQE6AAELIABBADoAACACQSBqJAAMAwsgAkEANgIcIAJBmL/AADYCGCACQQE2AhQgAkHkzMAANgIQIAJBADYCCCACQQdqIAJBCGoQiAkACwALIAIgBDoADCACIAA2AghB/MPAAEErIAJBCGpB7MfAAEHIxMAAEP0HAAsgCkIgiKchAiAFKAIAIgAoAswBIAAoAgBqIAAoAkAgACgC0AFBf3NxRgRAIAUoAgAiACgC0AEgACgCQHFFDQILIAEoAgBBEGoiAygCACEAIAMgAEEBIAAbNgIADAELQYjCwABBK0HgxsAAENkJAAsCQAJAIAEgAikDACACKAIIEI8EIgBBAWtBAk8EQAJAAkAgAEEBaw4DAAADAQsAC0HYxMAAQShB2MrAABDZCQALIAUoAgBBgAFqIQBBACEGIwBBIGsiASQAIAAtAAAhAiAAQQE6AAAgASACQQFxIgI6AAcCQAJAAkAgAkUEQEHc78MAKAIAQf////8HcQRAQczzwwAoAgBFRSEGCyAALQABDQIgAEEIaigCAEEMayECIABBDGooAgAiA0EMbCEFQX8hBAJAAkADQCAFRQ0BIARBAWohBCAFQQxrIQUgAkEMaiICKAIAIAhHDQALIAMgBE0NAyAHIAIpAgA3AgAgB0EIaiACQQhqKAIANgIAIAIgAkEMaiAFEOIMGiAAQQxqIANBAWsiAzYCAAwBCyAHQQA2AggLIAAgAwR/QQEFIABBGGooAgALRToAHAJAIAYNAEHc78MAKAIAQf////8HcUUNAEHM88MAKAIARQ0AIABBAToAAQsgAEEAOgAAIAFBIGokAAwDCyABQQA2AhwgAUGYv8AANgIYIAFBATYCFCABQeTMwAA2AhAgAUEANgIIIAFBB2ogAUEIahCICQALIAQgA0Hsw8AAEMIIAAsgASAGOgAMIAEgADYCCEH8w8AAQSsgAUEIakHsx8AAQajEwAAQ/QcACyAHKAIIIgBFDQEgACAAKAIAIgFBAWs2AgAgAUEBRw0AIAAQwgkLIAdBEGokAA8LQYjCwABBK0HIysAAENkJAAuRAgICfwR9IwBBMGsiAyQAIANBEGogASACQQAQGQJAIAIqAgAgAyoCEJMiBowgBiADLQAcIgQbIgYgBpQgAioCBCADKgIUkyIHjCAHIAQbIgcgB5SSIAIqAgggAyoCGJMiBYwgBSAEGyIFIAWUkkMAAAAAkiIIQwAAgCheBEAgAyAFIAgQkwEiBZU4AiggAyAHIAWVOAIkIAMgBiAFlTgCICADQQhqIAEgA0EgahDmASADKAIIIQIgAygCDCEBIABBCGogA0EYaikDADcCACAAIAMpAxA3AgAgAEEUaiABNgIADAELIAAgAykDEDcCACAAQQhqIANBGGopAwA3AgBBAyECCyAAIAI2AhAgA0EwaiQAC4cCAgZ9AX8gAioCACIEIASUIAIqAgQiBSAFlJIgAioCCCIGIAaUkkMAAAAAkhCTASEDIAQgA5UiBCABQRhqIgIqAgCUIAUgA5UiBSABQRxqKgIAlJIgBiADlSIDIAFBIGoqAgCUkiEGAkAgBCABKgIAlCAFIAFBBGoqAgCUkiADIAFBCGoqAgCUkiIHIAQgAUEMaiIJKgIAlCAFIAFBEGoqAgCUkiADIAFBFGoqAgCUkiIIXkUEQCAGIAhdRQ0BIAkhAgwBCyABIAIgBiAHXRshAgsgACACKgIIIAMgASoCJCIDlJI4AgggACACKgIEIAUgA5SSOAIEIAAgAioCACAEIAOUkjgCAAuUAgIIfQF/IAFBCGooAgAiCgRAIAFBBGooAgAiASoCCCEDIAEqAgQhBCABKgIAIQUCQCAKQQFGBEAgAyEGIAQhByAFIQgMAQsgASAKQQxsaiEKIAFBDGohASAFIQggBCEHIAMhBgNAIAYgAUEIaioCACIJIAYgCWAbIQYgByABQQRqKgIAIgIgAiAHXxshByADIAkgAyAJXxshAyAEIAIgAiAEYBshBCAIIAEqAgAiAiACIAhfGyEIIAUgAiACIAVgGyEFIAogAUEMaiIBRw0ACwsgACAIOAIMIAAgAzgCCCAAIAQ4AgQgACAFOAIAIABBFGogBjgCACAAQRBqIAc4AgAPC0GxgMIAQdIAQZSBwgAQzgwAC6YCAQR/IwBBMGsiBCQAAkACQAJAIAEgAEHcAGooAgAiBUkEQCAAQdgAaigCACABQQxsaiIFKAIAIgYgAEHQAGooAgAiAU8NASABIAUoAgQiB00NAiAFKAIIIgUgAU8NAyAEQQhqIgFBCGogAEHMAGooAgAiACAGQQxsaiIGQQhqKAIANgIAIAQgBikCADcDCCAEQRxqIAAgB0EMbGoiBkEIaigCADYCACAEIAYpAgA3AhQgBEEoaiAAIAVBDGxqIgBBCGooAgA2AgAgBCAAKQIANwMgIAJBACABQeiwwgAgAygCEBECACAEQTBqJAAPCyABIAVB0ObCABDDCAALIAYgAUHg5sIAEMMIAAsgByABQfDmwgAQwwgACyAFIAFBgOfCABDDCAAL5gQDBX8FfQF+IwBBMGsiBiQAAkACQAJAIABFDQAgACgCAA0CIABBfzYCACACRQ0AIAIoAgAiBUF/Rg0CIAIgBUEBajYCACADRQ0AIAMoAgAiBUF/Rg0CIAMgBUEBajYCACAGQQhqIgUgAb0iD0IgiD4CBCAFIA8+AgAgAEEEaiAGKAIIIAYoAgwQoQciBUUNASAGQRBqIghBCGogAkEMaigCADYCACAGIAIpAgQ3AxAgBkEgaiIHQQhqIANBDGooAgA2AgAgBiADKQIENwMgIARBAEchCQJAAkACQCAIIgQqAgAiDEMAAAAAXA0AIARBBGoqAgAiC0MAAAAAXA0AIARBCGoqAgAiCkMAAAAAWw0CIAUtANkCRQ0BDAILIAUtANkCDQEgBCoCCCEKIAQqAgQhCwsgBUGQAmoiBCAMIAQqAgCSOAIAIAVBlAJqIgQgCyAEKgIAkjgCACAFQZgCaiIEIAogBCoCAJI4AgAgBUGcAmoiBCAEKgIAIAogByoCBCAFQdwBaioCAJMiDZQgCyAHKgIIIAVB4AFqKgIAkyIOlJOSOAIAIAVBoAJqIgQgDCAOlCAKIAcqAgAgBUHYAWoqAgCTIgqUkyAEKgIAkjgCACAFQaQCaiIEIAsgCpQgDCANlJMgBCoCAJI4AgAgCUUNACAFQdQCai0AAARAIAUgBSgCqAJBBHI2AqgCCyAFQQA6ANQCIAVB0AJqQQA2AgALIAMgAygCAEEBazYCACACIAIoAgBBAWs2AgAgAEEANgIAIAZBMGokAA8LENoMAAtByLTAAEHNAEHQtcAAEM4MAAsQ2wwAC/kEAwZ/CX0BfiMAQTBrIgckAAJAAkACQCAARQ0AIAAoAgANAiAAQX82AgAgAkUNACACKAIAIgZBf0YNAiACIAZBAWo2AgAgA0UNACADKAIAIgZBf0YNAiADIAZBAWo2AgAgB0EIaiIGIAG9IhRCIIg+AgQgBiAUPgIAIABBBGogBygCCCAHKAIMEKEHIgVFDQEgB0EQaiIJQQhqIAJBDGooAgA2AgAgByACKQIENwMQIAdBIGoiBkEIaiADQQxqKAIANgIAIAcgAykCBDcDICAEQQBHIQojAEEQayIIJAAgBUHgAWoqAgAhESAFQdwBaioCACESIAVB2AFqKgIAIQ0gCSoCCCELIAkqAgQhDCAGKgIIIRMgBioCBCEOIAYqAgAhDwJAAkACQCAJKgIAIhBDAAAAAFwNACAMQwAAAABcDQAgC0MAAAAAWw0CIAUtANkCRQ0BDAILIAUtANkCDQELIAUgECAFQeQBaioCAJQgBSoCcJI4AnAgBUH0AGoiBCAMIAVB6AFqKgIAlCAEKgIAkjgCACAFQfgAaiIEIAsgBUHsAWoqAgCUIAQqAgCSOAIAIApFDQAgBUHUAmotAAAEQCAFIAUoAqgCQQRyNgKoAgsgBUEAOgDUAiAFQdACakEANgIACyAIIA8gDZMiDSAMlCAOIBKTIg4gEJSTOAIIIAggEyARkyIPIBCUIA0gC5STOAIEIAggDiALlCAPIAyUkzgCACAFIAggChDdBCAIQRBqJAAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACAAQQA2AgAgB0EwaiQADwsQ2gwAC0HItMAAQc0AQdC1wAAQzgwACxDbDAALmgIBBH8jAEEwayIBJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIABB4ABqIgQoAgAhAyAEQQI2AgAgAUEoaiAAQdwAaigCADYCACABQRBqIABB7ABqKQIANwMAIAFBGGogAEH0AGopAgA3AwAgASAAQdQAaikCADcDICABIABB5ABqKQIANwMIAkAgA0ECRwRAQSxBBBD3CyICRQ0BIAJBADYCACACIAEpAyA3AgQgAiADNgIQIAIgASkDCDcCFCACQQxqIAFBKGooAgA2AgAgAkEcaiABQRBqKQMANwIAIAJBJGogAUEYaikDADcCAAsgAUEwaiQAIAIPC0EsQQRByO/DACgCACIAQYoHIAAbEQAAAAv2AQEKfSACKgIEIAFBFGoqAgCTIgogAUEIaioCACIFlCACKgIIIAFBGGoqAgCTIgggAUEEaioCACIDlJMiBiAGkiEGIAggASoCACIJlCACKgIAIAEqAhCTIgQgBZSTIgcgB5IhByAEIAEqAgwiCyAGlCAFIAeUIAMgBCADlCAKIAmUkyIEIASSIgSUk5KSIgwgDJQgCCALIASUIAMgBpQgCSAHlJOSkiIDIAOUkkMAAAAAkhCTASEDAn8CQCAKIAsgB5QgCSAElCAFIAaUk5KSIgUgACoCACIIjGBFDQAgBSAIX0UNAEEBIAMgACoCBF8NARoLQQALC7cCAgR/AX4jAEEgayICJAACQCAABEAgACgCACIDQX9HDQEQ2wwACxDaDAALIAAgA0EBajYCACACQQhqIgMgAb0iBkIgiD4CBCADIAY+AgAgAiAAQQRqIAIoAgggAigCDBCIBwJAAkAgAigCACIDBEAgAigCBCIEIANBoAFqKAIATw0BIAJBGGoiBSADQZwBaigCACAEQdQDbGpBIGoiA0GIAmopAgA3AwAgA0GAAmopAgAhBiAAIAAoAgBBAWs2AgAgAiAGNwMQQRRBBBD3CyIARQ0CIABBADYCACAAIAIpAxA3AgQgAEEMaiAFKQMANwIAIAJBIGokACAADwtBkLPAAEHJAEGYtMAAEM4MAAtB4IbAAEErQYi0wAAQ2QkAC0EUQQRByO/DACgCACIAQYoHIAAbEQAAAAu3AgIEfwF+IwBBIGsiAiQAAkAgAARAIAAoAgAiA0F/Rw0BENsMAAsQ2gwACyAAIANBAWo2AgAgAkEIaiIDIAG9IgZCIIg+AgQgAyAGPgIAIAIgAEEEaiACKAIIIAIoAgwQiAcCQAJAIAIoAgAiAwRAIAIoAgQiBCADQaABaigCAE8NASACQRhqIgUgA0GcAWooAgAgBEHUA2xqQSBqIgNBpAJqKQIANwMAIANBnAJqKQIAIQYgACAAKAIAQQFrNgIAIAIgBjcDEEEUQQQQ9wsiAEUNAiAAQQA2AgAgACACKQMQNwIEIABBDGogBSkDADcCACACQSBqJAAgAA8LQZCzwABByQBBmLTAABDODAALQeCGwABBK0GItMAAENkJAAtBFEEEQcjvwwAoAgAiAEGKByAAGxEAAAALtwICBH8BfiMAQSBrIgIkAAJAIAAEQCAAKAIAIgNBf0cNARDbDAALENoMAAsgACADQQFqNgIAIAJBCGoiAyABvSIGQiCIPgIEIAMgBj4CACACIABBBGogAigCCCACKAIMEIgHAkACQCACKAIAIgMEQCACKAIEIgQgA0GgAWooAgBPDQEgAkEYaiIFIANBnAFqKAIAIARB1ANsakEgaiIDQZgCaigCADYCACADQZACaikCACEGIAAgACgCAEEBazYCACACIAY3AxBBEEEEEPcLIgBFDQIgAEEANgIAIAAgAikDEDcCBCAAQQxqIAUoAgA2AgAgAkEgaiQAIAAPC0GQs8AAQckAQZi0wAAQzgwAC0HghsAAQStBiLTAABDZCQALQRBBBEHI78MAKAIAIgBBigcgABsRAAAAC7cCAgR/AX4jAEEgayICJAACQCAABEAgACgCACIDQX9HDQEQ2wwACxDaDAALIAAgA0EBajYCACACQQhqIgMgAb0iBkIgiD4CBCADIAY+AgAgAiAAQQRqIAIoAgggAigCDBCIBwJAAkAgAigCACIDBEAgAigCBCIEIANBoAFqKAIATw0BIAJBGGoiBSADQZwBaigCACAEQdQDbGpBIGoiA0G0AmooAgA2AgAgA0GsAmopAgAhBiAAIAAoAgBBAWs2AgAgAiAGNwMQQRBBBBD3CyIARQ0CIABBADYCACAAIAIpAxA3AgQgAEEMaiAFKAIANgIAIAJBIGokACAADwtBkLPAAEHJAEGYtMAAEM4MAAtB4IbAAEErQYi0wAAQ2QkAC0EQQQRByO/DACgCACIAQYoHIAAbEQAAAAu2AwILfQN/IwBBIGsiDSQAIAEqAiQiBkMAAAAAYEUEQCANQRRqQQE2AgAgDUEIaiIAQRRqQQA2AgAgDUGo/8EANgIQIA1B5O/BADYCGCANQQA2AgggAEGw/8EAENMKAAsgAUEcaioCACEEIAFBEGoqAgAhByABKgIYIQUgASoCDCEIIAEqAgQhCSABKgIAIQogAEEUaiABQSBqKgIAIgsgCyABQRRqKgIAIgwgDCABKgIIIgIgAiAMXSIBGyACIAJcGyIDIAMgC10bIAMgA1wbIAaSOAIAIABBEGogBCAEIAcgByAJIAcgCV4iDhsgCSAJXBsiAyADIARdGyADIANcGyAGkjgCACAAIAUgBSAIIAggCiAIIApeIg8bIAogClwbIgMgAyAFXRsgAyADXBsgBpI4AgwgACACIAIgDCABGyAMIAxcGyICIAIgCyACIAtdGyALIAtcGyAGkzgCCCAAIAkgCSAHIA4bIAcgB1wbIgIgAiAEIAIgBF0bIAQgBFwbIAaTOAIEIAAgCiAKIAggDxsgCCAIXBsiAiACIAUgAiAFXRsgBSAFXBsgBpM4AgAgDUEgaiQAC/oBAgF/CX0jAEEwayIEJAAgAyoCACACKgIQkyILIAJBBGoqAgAiCJQgAyoCBCACQRRqKgIAkyIMIAIqAgAiCZSTIgYgBpIhBiAMIAJBCGoqAgAiCpQgAyoCCCACQRhqKgIAkyIFIAiUkyIHIAeSIQcgBCAFIAIqAgwiDSAGlCAIIAeUIAkgBSAJlCALIAqUkyIFIAWSIgWUk5KSOAIoIAQgDCANIAWUIAkgBpQgCiAHlJOSkjgCJCAEIAsgDSAHlCAKIAWUIAggBpSTkpI4AiAgBEEIaiIDIAEgBEEgahD5ASAAIAMgAhCFBiAAIAQpAxg3AhAgBEEwaiQAC9QFAgR/AX4jAEEQayIPJAACQAJAIABFDQAgACgCAA0BIABBfzYCACACRQ0AIAIoAgANASACQX82AgAgA0UNACADKAIAIg5Bf0YNASADIA5BAWo2AgAgBEUNACAEKAIAIg5Bf0YNASAEIA5BAWo2AgAgBkUNACAGKAIAIg5Bf0YNASAGIA5BAWo2AgAgDyANNgIMIA9BDGohDiMAQYABayINJAAgDSABOAIQIA0gAEEEaiIQNgIMIA0gAkEEajYCFCANIANBBGoiETYCGCANIARBBGo2AhwgDSAGQQRqNgIgIA0gB0EARzoAJyANIAk4AiwgDSAINgIoIA0gCjYCNCANIAw2AjwgDSALNgI4IA0gBb0iEkIgiD4CBCANIBI+AgAgDSANKAIEIgc2AkQgDSANKAIAIgg2AkACQAJAIBEgCCAHEMEJIgcEQCANIAc2AkggDigCABAEQQFHDQEgDSAONgJMIA0gDUEoajYCfCANIA1BJ2o2AnggDSANQSBqNgJ0IA0gDUEcajYCcCANIA1BGGo2AmwgDSANQRRqNgJoIA0gDUEQajYCZCANIA1BDGo2AmAgDSANQcgAajYCXCANIA1BQGs2AlggDSANQThqNgJUIA0gDUE0ajYCUCANQdAAaiANQcwAahBeDAILIBBCADcCACAQQQhqQQA2AgAMAQsgDSANQShqNgJ8IA0gDUEnajYCeCANIA1BIGo2AnQgDSANQRxqNgJwIA0gDUEYajYCbCANIA1BFGo2AmggDSANQRBqNgJkIA0gDUEMajYCYCANIA1ByABqNgJcIA0gDUFAazYCWCANIA1BOGo2AlQgDSANQTRqNgJQIA1B0ABqQQAQXgsgDUGAAWokACAGIAYoAgBBAWs2AgAgBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACACQQA2AgAgAEEANgIAIA9BEGokAA8LENoMAAsQ2wwAC+AHAQh/IwBB8ARrIgQkAAJAAkACQCAARQ0AIAAoAgAiAkF/Rg0CIAAgAkEBajYCACABRQ0AIAEoAgAiAkF/Rg0CIAEgAkEBajYCACMAQeAAayIDQc0AaiIFQQtqQgA3AAAgA0E6aiIGQQtqQgA3AAAgA0EnaiIHQQtqQgA3AAAgA0EUaiIIQQtqQgA3AAAgA0EBaiIJQQtqQgA3AAAgA0IANwBQIARBsAJqIgIgAykATTcAYSACQekAaiAFQQhqKQAANwAAIAJB8ABqIAVBD2ooAAA2AAAgA0IANwA9IAJBhQFqIAZBCGopAAA3AAAgA0IANwAqIANCADcAFyADQgA3AAQgAkGMAWogBkEPaigAADYAACACIAMpADo3AH0gAkGoAWogB0EPaigAADYAACACQaEBaiAHQQhqKQAANwAAIAIgAykAJzcAmQEgAkHEAWogCEEPaigAADYAACACQb0BaiAIQQhqKQAANwAAIAIgAykAFDcAtQEgAkHgAWogCUEPaigAADYAACACQdkBaiAJQQhqKQAANwAAIAIgAykAATcA0QEgAkHUAGpCgICAgPD//7//ADcCACACQcwAakIANwIAIAJCADcCRCACQgA3AoACIAJBiAJqQQA2AgAgAkIANwKcAiACQYACOwGsAiACQaQCakKAgICA8AA3AgAgAkKAgICAgICAwD83ApQCIAJCADcCjAIgAkKAgICAgICAwD83AvgBIAJCADcC8AEgAkEAOgDsASACQv////sHNwLkASACQQA6ANABIAJC////+wc3AsgBIAJBADoAtAEgAkL////7BzcCrAEgAkEAOgCYASACQv////sHNwKQASACQQA6AHwgAkL////7BzcCdCACQQA6AGAgAkEANgJcIAJB////+wc2AkAgAkKAgICA8P//v383AjggAkL////7////v/8ANwIwIAJC////+wc3AiggAkKAgICA8P//v383AiAgAkL////7////v/8ANwIYIAJC////+wc3AhAgAkKAgICA8P//v383AgggAkL////7////v/8ANwIAIARB4ARqIgNBCGoiBSAAQQRqIgZBCGooAgA2AgAgBCAGKQIANwPgBCAEIAIgAxCSCyAFIAFBDGooAgA2AgAgBCABKQIENwPgBCACIAQgAxCTCyAEIAIQvQwgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEG0AkEEEPcLIgBFDQEgAEEANgIAIABBBGogBEGwAhDkDBogBEHwBGokACAADwsQ2gwAC0G0AkEEQcjvwwAoAgAiAEGKByAAGxEAAAALENsMAAvwAQECfyMAQeAAayIBJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIAFBMGoiAkEQaiAAQRBqKQIANwMAIAJBCGogAEEIaikCADcDACACQRhqIABBGGopAgA3AwAgAkEgaiAAQSBqKQIANwMAIAJBKGogAEEoaigCADYCACABQQhqIgJBCGogAUE8aikCADcDACACQRBqIAFBxABqKQIANwMAIAJBGGogAUHMAGopAgA3AwAgAkEgaiABQdQAaikCADcDACABIAApAgA3AzAgASABKQI0NwMIIAAQtQEgAhD+BiABQeAAaiQAC/IBAgF/CX0jAEFAaiIDJAAgAioCACABKgIQkyIKIAFBBGoqAgAiB5QgAioCBCABQRRqKgIAkyILIAEqAgAiCJSTIgUgBZIhBSALIAFBCGoqAgAiCZQgAioCCCABQRhqKgIA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CyADlCAHIASUIAggBZSTkpKSOAIAIAxBEGokAAvyAQEBfyMAQRBrIgIkACAAKAIAIQAgAkEANgIMIAAgAkEMagJ/AkACQCABQYABTwRAIAFBgBBJDQEgAUGAgARPDQIgAiABQT9xQYABcjoADiACIAFBDHZB4AFyOgAMIAIgAUEGdkE/cUGAAXI6AA1BAwwDCyACIAE6AAxBAQwCCyACIAFBP3FBgAFyOgANIAIgAUEGdkHAAXI6AAxBAgwBCyACIAFBP3FBgAFyOgAPIAIgAUEGdkE/cUGAAXI6AA4gAiABQQx2QT9xQYABcjoADSACIAFBEnZBB3FB8AFyOgAMQQQLEPEDIQAgAkEQaiQAIAALhAICAn8BfiMAQbABayIFJAACQAJAIABFDQAgACgCAA0BIABBfzYCACACRQ0AIAIoAgANASACQX82AgAgA0UNACADKAIADQEgA0F/NgIAIAVBCGoiBiABvSIHQiCIPgIEIAYgBz4CACAFQRBqIABBBGogBSgCCCAFKAIMIAJBBGogA0EEaiAEQQBHENMBAkAgBSgCMEECRg0AIAUoAiAiBigCACEEIAYgBEEBazYCACAEQQFGBEAgBSgCICAFQSRqKAIAEL4ICyAFKAIoQQJJDQAgBUEsaigCABC1AQsgA0EANgIAIAJBADYCACAAQQA2AgAgBUGwAWokAA8LENoMAAsQ2wwAC5sCAgJ9A38gAEHoAGooAgAiA0UEQEP//39/DwsgAEHkAGooAgAhBCADQQFrQf////8DcSEFAn8gA0EBcUUEQEP//39/IQEgBAwBCyAEQRxqKAIAIARBIGooAgAiACgCCEEHakF4cWogACgCnAERCwAiAUP//39/IAFD//9/f10bIQEgBEEkagshACAFBEAgBCADQSRsaiEEA0AgASABIABBHGooAgAgAEEgaigCACIDKAIIQQdqQXhxaiADKAKcARELACICIAEgAl0bIAIgAlwbIgIgAiAAQUBrKAIAIABBxABqKAIAIgMoAghBB2pBeHFqIAMoApwBEQsAIgEgASACXhsgASABXBshASAEIABByABqIgBHDQALCyABC6gCAgN9A38gAEHoAGooAgAiBUUEQEP//39/DwsgAEHkAGooAgAhBCAFQQFrQf////8DcSEGAn8gBUEBcUUEQEP//39/IQIgBAwBC0P//39/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BCgCBCIaKAIIQQdqQXhxaiEjICxBLGohEiAsQTBqISEgBUEkaiEqIAVBIGohMCAHQQhqITYgEEEQaiEgA0ACQAJAAkACQAJAAkACQCAhKAIAIgMgJSgCECICTQ0AIBIoAgAiACACQagBbGpBACACIANJGyIVKAIAQQFHDQAgFSgCBCAlQRRqKAIARw0AAkAgJUEYaigCACICIANPDQAgACACQagBbGpBACACIANJGyIeKAIAQQFHDQAgHigCBCAlQRxqKAIARw0AICVBNGotAAAhGyAVQdAAaigCAEECTQRAIB5B0ABqKAIAQQNJDQgLQQEhKUEBIR8CQCAVQShqKAIAIgJBAUYEQCAqKAIAIgAgFUEsaigCACIDTQ0BIDAoAgAgA0HoAmxqQQAgACADSxsiACgCAEEBRw0BIAAoAgQgFUEwaigCAEcNASAAQeECai0AACEfCyAlQRBqIRwgHkEoaigCAEEBRw0DAkAgKigCACIAIB5BLGooAgAiF00NACAwKAIAIBdB6AJsakEAIAAgF0sbIgMoAgBBAUcNACAeQTBqKAIAIgAgAygCBEcNACADQeECai0AACEpIAJFDQQgB0EcaigCACEGIBVBMGooAgAhC0EAIR1BACECIAdBIGooAgAiAyAVQSxqKAIAIhNLBEAgBiATQQN0aiICQQRqQQAgAigCACALRhshAgsgAyAXSwRAIAYgF0EDdGoiA0EEakEAIAMoAgAgAEYbIR0LIAJBACAdG0EAIAIbIQIgB0EUaigCACERIAdBEGooAgAhCiA2KAIAIQwgB0EEaigCACEJA0ACQAJAIAJFDQAgAigCACICIAxPDQAgHSgCACEmAkAgESAJIAJBBHRqQQAgAiAMSRsiBigCCCICSwRAA0AgCiACQfACbGoiA0HsAmooAgAgJkYNAiARIAMoAuACIgJLDQALCyARIAZBDGooAgAiAk0NAQNAIAogAkHwAmxqIgMoAugCICZGDQEgESADQeQCaigCACICSw0ACwwBCyACIBFPDQAgCiACQfACbGoiA0HoAmooAgAgDE8NACADQewCaigCACAMSQ0BCyAUQeAAaiERAkACQCAIQSBqKAIAIgMgE00NACAIQRxqKAIAIgkgE0EUbGoiAigCACALRw0AIAMgF00NACAJIBdBFGxqIgMoAgAgAEcNACACQQRqIgIo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QSBrIgMkAAJAAkAgASABIAJqIgFLDQAgACgCACICQQF0IgQgASABIARJGyIBQQggAUEISxsiAUF/c0EfdiEEAkAgAgRAIANBATYCGCADIAI2AhQgAyAAQQRqKAIANgIQDAELIANBADYCGAsgAyABIAQgA0EQahCGByADKAIEIQIgAygCAEUEQCAAIAE2AgAgACACNgIEDAILIANBCGooAgAiAEGBgICAeEYNASAARQ0AIAIgAEHI78MAKAIAIgBBigcgABsRAAAACxCgCgALIANBIGokAAvSAQEBfyMAQZABayIBJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIAFByABqIABBxAAQ5AwaIAFBQGsgAUGEAWopAgA3AwAgAUE4aiABQfwAaikCADcDACABQTBqIAFB9ABqKQIANwMAIAFBKGogAUHsAGopAgA3AwAgAUEgaiABQeQAaikCADcDACABQRhqIAFB3ABqKQIANwMAIAFBEGogAUHUAGopAgA3AwAgASABKQJMNwMIIAAQtQEgAUEIahCvByABQZABaiQAC4AEAgl/AX4jAEEQayIFJAACQCAABEAgACgCACIDQX9HDQEQ2wwACxDaDAALIAAgA0EBajYCACAFQQhqIgMgAb0iDEIgiD4CBCADIAw+AgAgBSgCDCEDIAUoAgghBiAFIAK9IgxCIIg+AgQgBSAMPgIAIAUoAgAhByAFKAIEIQkCQCAAQQRqIgRBQGsoAgAiCCAGTQ0AIAMgBkEMbCAEQTxqKAIAIgZqIgsoAgBHDQAgByAITw0AIAYgB0EMbGoiBygCACAJRw0AIARBEGooAgAiBiALQQRqKAIAIgNNDQAgBygCBCEJIARBGGooAgAhBwJAIARBDGooAgAgA0EEdGpBACADIAZJGyIIKAIIIgMgBEEcaigCACIESQRAA0AgByADQThsaiILQQxqKAIAIAlGDQIgBCALKAIAIgNLDQALCyAEIAhBDGooAgAiA00NAQNAIAcgA0E4bGoiCCgCCCAJRg0BIAQgCCgCBCIDSw0ACwwBCyADIARPDQAgByADQThsaiIDQQhqKAIAIAZPDQAgA0EQakEAIANBDGooAgAgBkkbIQoLIAAgACgCAEEBazYCAAJAAkAgCkUEQEEAIQAMAQtBCEEEEPcLIgBFDQEgACAKNgIEIABBADYCAAsgBUEQaiQAIAAPC0EIQQRByO/DACgCACIAQYoHIAAbEQAAAAvcAQECfyMAQSBrIgMkAAJAAkAgASABIAJqIgFLDQAgACgCACICQQF0IgQgASABIARJGyIBQQggAUEISxsiAUF/c0EfdiEEAkAgAgRAIANBATYCGCADIAI2AhQgAyAAQQRqKAIANgIQDAELIANBADYCGAsgAyABIAQgA0EQahDxBiADKAIEIQIgAygCAEUEQCAAIAE2AgAgACACNgIEDAILIANBCGooAgAiAEGBgICAeEYNASAARQ0AIAIgAEHI78MAKAIAIgBBigcgABsRAAAACxCgCgALIANBIGokAAvaAQEDfyMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AIAAoAgAiA0EBdCIEIAEgASAESRsiAUEIIAFBCEsbIgFBf3NBH3YhBAJAIAMEQCACQQE2AhggAiADNgIUIAIgAEEEaigCADYCEAwBCyACQQA2AhgLIAIgASAEIAJBEGoQhgcgAigCBCEDIAIoAgBFBEAgACABNgIAIAAgAzYCBAwCCyACQQhqKAIAIgBBgYCAgHhGDQEgAEUNACADIABByO/DACgCACIAQYoHIAAbEQAAAAsQoAoACyACQSBqJAAL2gIDAX0DfwF+IwBBIGsiAyQAAkAgAARAIAAoAgAiBEF/Rw0BENsMAAsQ2gwACyAAIARBAWo2AgAgA0EIaiIEIAG9IgZCIIg+AgQgBCAGPgIAAkAgAEEEaiADKAIIIAMoAgwQwAkiBQRAIANBFGoiBEMAAAAAQwAAgD8gBUGoAWoiBUEoaioCACICIAKUIgKVIAJDAAAAAFsbOAIIIARDAAAAAEMAAIA/IAVBJGoqAgAiAiAClCIClSACQwAAAABbGzgCBCAEQwAAAABDAACAPyAFQSBqKgIAIgIgApQiApUgAkMAAAAAWxs4AgAgACAAKAIAQQFrNgIAQRBBBBD3CyIARQ0BIABBADYCACAAIAMpAhQ3AgQgAEEMaiADQRxqKAIANgIAIANBIGokACAADwtByLTAAEHNAEHAtcAAEM4MAAtBEEEEQcjvwwAoAgAiAEGKByAAGxEAAAALhAEAIAAoAggEQCAAQQxqKAIAELUBCyAAKAIUBEAgAEEYaigCABC1AQsgAEEoaigCAARAIABBLGooAgAQtQELIABBNGooAgAEQCAAQThqKAIAELUBCyAAQcgAaigCAARAIABBzABqKAIAELUBCyAAQdQAaigCAARAIABB2ABqKAIAELUBCwuAAgEEfyMAQRBrIgEkACABQQhqQn83AwAgASgCDCECIAEoAgghA0H4AEEEEPcLIgBFBEBB+ABBBEHI78MAKAIAIgBBigcgABsRAAAACyAAQgA3AgwgACADNgIEIABBADYCACAAQgA3AlQgAEKAgICAgICAwD83AkwgAEIANwJEIABBAjoAQCAAQQA2AjwgAEKAgICAgICAwD83AjQgAEKAgID8AzcCLCAAIAI2AgggAEEUakIANwIAIABBHGpCADcCACAAQSRqQgA3AgAgAEHcAGpCADcCACAAQeQAakIANwIAIABB7ABqQgA3AgAgAEH0AGpBADYCACABQRBqJAAgAAveAQIEfwF+IwBBEGsiAiQAAkAgAARAIAAoAgAiA0F/Rw0BENsMAAsQ2gwACyAAIANBAWo2AgACQAJAIAEgACgCBCIEQegAaigCAEkEQCACQQhqIgUgBEHkAGooAgAgAUEwbGoiAUEIaigCADYCACABKQIAIQYgACADNgIAIAIgBjcDAEEQQQQQ9wsiAEUNAiAAQQA2AgAgACACKQMANwIEIABBDGogBSgCADYCAAwBCyAAIAM2AgBBACEACyACQRBqJAAgAA8LQRBBBEHI78MAKAIAIgBBigcgABsRAAAAC94BAgR/AX4jAEEQayICJAACQCAABEAgACgCACIDQX9HDQEQ2wwACxDaDAALIAAgA0EBajYCAAJAAkAgASAAKAIEIgRB6ABqKAIASQRAIAJBCGoiBSAEQeQAaigCACABQTBsaiIBQRRqKAIANgIAIAEpAgwhBiAAIAM2AgAgAiAGNwMAQRBBBBD3CyIARQ0CIABBADYCACAAIAIpAwA3AgQgAEEMaiAFKAIANgIADAELIAAgAzYCAEEAIQALIAJBEGokACAADwtBEEEEQcjvwwAoAgAiAEGKByAAGxEAAAAL3gECBH8BfiMAQRBrIgIkAAJAIAAEQCAAKAIAIgNBf0cNARDbDAALENoMAAsgACADQQFqNgIAAkACQCABIAAoAgQiBEGIAWooAgBJBEAgAkEIaiIFIARBhAFqKAIAIAFBKGxqIgFBCGooAgA2AgAgASkCACEGIAAgAzYCACACIAY3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IAEoAgAhBSABQQRqIQEgAyADKAIAIABrQQNLBH8gAAUgAyAAQQQQ2gYgAygCCAsiAkEEaiIANgIIIAMoAgQgAmogBTYAACAEQQRrIgQNAAsLQQALrwECBH0BfwJAAkAgAEUNACAAKAIADQEgAEF/NgIAIAFFDQAgASgCACIGQX9GDQEgASAGQQFqNgIAIAEqAgQiAyADlCABQQhqKgIAIgQgBJSSIAFBDGoqAgAiBSAFlJJDAAAAAJIQkwEhAiAAQThqIAUgApU4AgAgAEE0aiAEIAKVOAIAIABBMGogAyAClTgCACABIAEoAgBBAWs2AgAgAEEANgIADwsQ2gwACxDbDAALpAIBAn8jAEFAaiIAJAAgAEEBOgA4IABCiICAgBA3AiggAELvpIzYwwA3AiAgAELvpIzU8///v/8ANwIYIABCgICA/IOAgMA/NwIQIABCzZmz+oOAgMA+NwIIIABCiZGi5PPnsJc5NwIAIABCgIGAgBA3AjBBwABBBBD3CyIBRQRAQcAAQQRByO/DACgCACIAQYoHIAAbEQAAAAsgAUEANgIAIAEgACkDADcCBCABQQxqIABBCGopAwA3AgAgAUEUaiAAQRBqKQMANwIAIAFBHGogAEEYaikDADcCACABQSRqIABBIGopAwA3AgAgAUEsaiAAQShqKQMANwIAIAFBNGogAEEwaikDADcCACABQTxqIABBOGooAgA2AgAgAEFAayQAIAELjwIBAn8jAEFAaiIAJAAgAEKAgICAwAA3AhAgAEIANwIAIABCgICAgMAANwIoIABBIGpCBDcCACAAQRhqQgA3AgAgAEEIakIENwIAIABBOGpCBDcCACAAQTBqQgA3AgBBxABBBBD3CyIBRQRAQcQAQQRByO/DACgCACIAQYoHIAAbEQAAAAsgAUEANgIAIAEgACkDADcCBCABQQxqIABBCGopAwA3AgAgAUEUaiAAQRBqKQMANwIAIAFBHGogAEEYaikDADcCACABQSRqIABBIGopAwA3AgAgAUEsaiAAQShqKQMANwIAIAFBNGogAEEwaikDADcCACABQTxqIABBOGopAwA3AgAgAEFAayQAIAELvwECBH8BfiMAQeAAayICJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIABBhAFqIgQoAgAhAyAEQQA2AgAgAEH8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AgBFDQEQ2wwACxDaDAALIABBfzYCACADQQhqIgQgAkH//wNxNgIEIAQgAkEQdjYCACADKAIMIQQgAygCCCEFIAMgAb0iB0IgiD4CBCADIAc+AgAgAEEEaiADKAIAIAMoAgQQogciAkUEQEHgtcAAQcwAQeS2wAAQzgwACyACQYABaiEGAkAgBSACQfwAaigCAEYEQCAGKAIAIARGDQELIAIgBTYCfCAGIAQ2AgAgAiACKAJIQRByNgJICyAAQQA2AgAgA0EQaiQAC+IBAgR/AX4jAEEQayIDJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEF/NgIAIANBCGoiBCACQf//A3E2AgQgBCACQRB2NgIAIAMoAgwhBCADKAIIIQUgAyABvSIHQiCIPgIEIAMgBz4CACAAQQRqIAMoAgAgAygCBBCiByICRQRAQeC1wABBzABB5LbAABDODAALIAJBiAFqIQYCQCAFIAJBhAFqKAIARgRAIAYoAgAgBEYNAQsgAiAFNgKEASAGIAQ2AgAgAiACKAJIQRByNgJICyAAQQA2AgAgA0EQaiQAC5UBAQN/IwBBgAFrIgMkACAAKAIAIQADQCACIANqQf8AaiAAQQ9xIgRBMEHXACAEQQpJG2o6AAAgAkEBayECIABBD0shBCAAQQR2IQAgBA0ACyACQYABaiIAQYEBTwRAIABBgAFBnMvDABDKDAALIAFBAUGsy8MAQQIgAiADakGAAWpBACACaxD+ASEAIANBgAFqJAAgAAuUAQEDfyMAQYABayIDJAAgACgCACEAA0AgAiADakH/AGogAEEPcSIEQTBBNyAEQQpJG2o6AAAgAkEBayECIABBD0shBCAAQQR2IQAgBA0ACyACQYABaiIAQYEBTwRAIABBgAFBnMvDABDKDAALIAFBAUGsy8MAQQIgAiADakGAAWpBACACaxD+ASEAIANBgAFqJAAgAAthAQF/IAAoAgQiAQRAIABBEGooAgAgAUECdEELakF4cWsQtQELIABBFGooAgAEQCAAQRhqKAIAELUBCyAAKAIgBEAgAEEkaigCABC1AQsgACgCLARAIABBMGooAgAQtQELC6YCAgR/AX4jAEEQayIFJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEF/NgIAAkAgAkEESQRAIAVBCGoiBCABvSIIQiCI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AgA3A2AgBkHwAGoiAUEIaiACQQhqKAIANgIAIAYgAikCADcDcCAGIRAjAEGQAWsiAyQAAkACQAJAAkACQAJAAkACQAJ/IAEoAgQiCUUEQCAMQQhqKAIAQQFrIgVFBEBBBCEJQQAhBUEADAILIAVB/////wBLDQIgBUEDdCICQQBIDQIgBUGAgICAAUlBAnQhASACBH8gAiABEPcLBSABCyIJBEAgBa0iFUIDgyEXAkAgFUIBfUIDVARAQgAhFQwBCyAVQvz///8PgyEYQgAhFSAJIQFCgICAgCAhFgNAIAFBGGogFkKAgICAIHwgFUIDfIQ3AgAgAUEQaiAWQoCAgIAQfCAVQgJ8hDcCACABQQhqIBYgFUIBfIQ3AgAgASAWQoCAgIAQfSAVhDcCACABQSBqIQEgFkKAgICAQH0hFiAEQQRqIQQgGCAVQgR8IhVSDQALCyAXUEUEQCAJIARBA3RqIQEgFUIghkKAgICAEHwhFgNAIAEgFSAWhDcCACABQQhqIQEgFkKAgICAEHwhFiAVQgF8IRUgF0IBfSIXQgBSDQALCyAFDAILDAgLIAEoAgghBSABKAIACyERIANBKGpCBDcDACADQSBqQgA3AwBBACEBIANBOGpBADYCACADQoCAgIDAADcDMCADQoCAgICAAjcDGCADQv////v///+/fzcDECADQv////v3//+/fzcDCCADQv////v3//+//wA3AwAgA0EBOgBPIAVFDQEgBUECdCIBQQQQ9wsiAkUNAyADQQA2AlggAyACNgJUIAMgBTYCUCAFQdWq1SpLDQAgBUEYbCIGQQBIDQAgBUHWqtUqSUECdCECIAYEfyAGIAIQ9wsFIAILIgFFDQIgAyABNgJkIAMgBTYCYAJAIAVBAkkNACAFQQFrIgJBA3EhBCAFQQJrQQNPBEAgAkF8cSEHA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFB2ABqQv////v///+/fzcCACABQdAAakL////79///v383AgAgAUHIAGpC////+/f//7//ADcCACABQUBrQv////v///+/fzcCACABQThqQv////v3//+/fzcCACABQTBqQv////v3//+//wA3AgAgAUEoakL////7////v383AgAgAUEgakL////79///v383AgAgAUEYakL////79///v/8ANwIAIAFB4ABqIQEgB0EEayIHDQALCyAERQ0AA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFBGGohASAEQQFrIgQNAAsLIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACADIAU2AmggBUGq1arVAEsNACAFQQxsIgJBAEgNACAFQavVqtUASUECdCEBIAIEfyACIAEQ9wsFIAELIg0EQCAFQQN0IQIgDSEBAkAgBUECSQ0AIAVBAWsiBkEDcSEEIAVBAmtBA08EQCAGQXxxIQcDQCABQn83AgggAUEAOgAEIAFBfzYCACABQSxqQX82AgAgAUEoakEAOgAAIAFBIGpCfzcCACABQRxqQQA6AAAgAUEUakJ/NwIAIAFBEGpBADoAACABQTBqIQEgB0EEayIHDQALCyAERQ0AA0AgAUF/NgIIIAFBADoABCABQX82AgAgAUEMaiEBIARBAWsiBA0ACwsgAiAJaiESIAFBfzYCCCABQQA6AAQgAUF/NgIAIAMgBTYCRCADIA02AkAgAyAFNgI8IANBPGohEyAFIQZBACEEIAkhDgJAAkADQAJAAkAgDEEIaigCACIBIA4oAgAiAksEQCAOQQRqKAIAIgggAU8NASAEQQFqIQogCEEMbCAMQQRqKAIAIghqIgEqAgQhGSABKgIAIRogASoCCCEbIAggAkEMbGoiASoCACEcIAEqAgQhHSABKgIIIR4gBCAGSQ0CIAogBiICayEIIAggAygCPCACa0sEQCATIAYgCBCuBiADKAJAIQ0gAygCRCECCyANIAJBDGxqIQEgCEECTwRAIAQgBmsiB0EDcSELIAQgBkF/c2pBA08EQCAHQXxxIQcDQCABQn83AgggAUEAOgAEIAFBfzYCACABQSxqQX82AgAgAUEoakEAOgAAIAFBIGpCfzcCACABQRxqQQA6AAAgAUEUakJ/NwIAIAFBEGpBADoAACABQTBqIQEgB0EEayIHDQALCyALBEAgDyAGa0EDcSEHA0AgAUF/NgIIIAFBADoABCABQX82AgAgAUEMaiEBIAdBAWsiBw0ACwsgAiAIakEBayECCyADIAYgCkcEfyABQX82AgggAUEAOgAEIAFBfzYCACACQQFqBSACCyIGNgJEIAMCfyAKIAMoAmgiCCAESw0AGiAKIAgiAmshCyALIAMoAmAgAmtLBEAgA0HgAGogCCALELAGIAMoAmghAgsgAygCZCACQRhsaiEBIAtBAk8EQCAEIAhrIgdBA3EhFCAEIAhBf3NqQQNPBEAgB0F8cSEHA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFB2ABqQv////v///+/fzcCACABQdAAakL////79///v383AgAgAUHIAGpC////+/f//7//ADcCACABQUBrQv////v///+/fzcCACABQThqQv////v3//+/fzcCACABQTBqQv////v3//+//wA3AgAgAUEoakL////7////v383AgAgAUEgakL////79///v383AgAgAUEYakL////79///v/8ANwIAIAFB4ABqIQEgB0EEayIHDQALCyAUBEAgDyAIa0EDcSEHA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFBGGohASAHQQFrIgcNAAsLIAIgC2pBAWshAgsgAiAIIApGDQAaIAFC////+////79/NwIQIAFC////+/f//79/NwIIIAFC////+/f//7//ADcCACACQQFqCzYCaAwCCyACIAFBpLXCABDDCAALIAggAUG0tcIAEMMIAAsgBCAGTw0BIA0gBEEMbGogBDYCCCADKAJoIgEgBE0NAiAOQQhqIQ4gAygCZCAEQRhsaiIBIB4gGyAeIB1DAAAAAJQiISAcQwAAAACUIiKSIiWSIBsgGkMAAAAAlCIjIBlDAAAAAJQiJJIiJpJeGzgCFCABIB0gGSAeQwAAAACUIh8gHSAikpIgIyAZkiAbQwAAAACUIiCSXhs4AhAgASAcIBogHyAcICGSkiAaICSSICCSXhs4AgwgASAeIBsgJSAekyAmIBuTXhs4AgggASAdIBkgHyAiIB2TkiAjIBmTICCSXhs4AgQgASAcIBogHyAhIByTkiAkIBqTICCSXhs4AgAgAygCWCIBIAMoAlBGBEAgA0HQAGogARC2BiADKAJYIQELIAMoAlQgAUECdGogBDYCACADIAFBAWo2AlggD0EBaiEPIAohBCAOIBJHDQALIAMoAhgiASADKAIgIgRHDQgMBwsgBCAGQYiHwgAQwwgACyAEIAFBmIfCABDDCAALDAYLEKAKAAsgA0EANgJYIANCgICAgMAANwNQIANBADYCRCADQoCAgIDAADcCPCADQQA2AmggA0KAgICAwAA3A2AMAgsgBiACQcjvwwAoAgAiAEGKByAAGxEAAAALIAFBBEHI78MAKAIAIgBBigcgABsRAAAACyADQRhqIAEQwAYgAygCICEECyADKAIcIARBB3RqIgFBATYCYCABQv////v///+/fzcDWCABQv////v///+/fzcDUCABQv////v///+/fzcDSCABQv////v///+/fzcDQCABQv////v///+/fzcDOCABQv////v///+/fzcDMCABQv////v3//+//wA3AyggAUL////79///v/8ANwMgIAFC////+/f//7//ADcDGCABQv////v3//+//wA3AxAgAUL////79///v/8ANwMIIAFC////+/f//7//ADcDACABQn83AmQgAUEAOgB0IAFBADoAeCABQewAakJ/NwIAIAMgBEEBajYCICADQfAAaiADIANBzwBqIAMoAlQiAiADKAJYIANB4ABqQQBBABBBIAMgA0GIAWoqAgAiGTgCFCADIANBhAFqKgIAIho4AhAgAyADQYABaioCACIbOAIMIAMgA0H8AGoqAgAiHDgCCCADIANB+ABqKgIAIh04AgQgAyADKgJ0Ih44AgAgAygCIARAIAMoAhwiAUH///97NgJcIAFC////+////79/NwJUIAEgGTgCUCABQf///3s2AkwgAUL////7////v383AkQgASAaOAJAIAFB////ezYCPCABQv////v///+/fzcCNCABIBs4AjAgAUH////7BzYCLCABQv////v3//+//wA3AiQgASAcOAIgIAFB////+wc2AhwgAUL////79///v/8ANwIUIAEgHTgCECABQf////sHNgIMIAFC////+/f//7//ADcCBCABIB44AgAgAygCYARAIAMoAmQQtQELIAMoAlAEQCACELUBCyAQIANByAAQ5AwiAUHcAGogBTYCACABQdgAaiAJNgIAIAEgETYCVCABQdAAaiAMQQhqKAIANgIAIAEgDCkCADcCSCADQZABaiQADAILQQBBAEH4hsIAEMMIAAsgAiABQcjvwwAoAgAiAEGKByAAGxEA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QfAAaiEMIwBBMGsiCyQAIANByABqIgAqAgQhFCAAKgIAIRMCQEEYQQQQ9wsiAARAIABCADcCCCAAQoCAgPiLgICAv383AgAgAEEQakKAgID4AzcCACALQQI2AhggCyAANgIUIAtBAjYCECALQSBqIgBBCGoiBkEANgIAIAtCgICAgMAANwMgQQFBqPrBAEEBIAggC0EQaiAAEHsgC0EIaiAGKAIAIgI2AgAgCyALKQMgIiA3AwAgCygCECEKIAsoAhQhACALKAIYIQQgBiACNgIAIAsgIDcDIAJAIARFDQAgEyATkiETIBQgFJIhFCAAIQIgBEEMbCIHQQxrIgFBDG5BAXFFBEAgACAUIAAqAgCUOAIAIABBBGoiAiATIAIqAgCUOAIAIABBCGoiAiAUIAIqAgCUOAIAIABBDGohAgsgAUEMSQ0AIAAgB2ohBwNAIAIgFCACKgIAlDgCACACQQRqIgEgEyABKgIAlDgCACACQQhqIgEgFCABKgIAlDgCACACQQxqIgEgFCABKgIAlDgCACACQRBqIgEgEyABKgIAlDgCACACQRRqIgEgFCABKgIAlDgCACAHIAJBGGoiAkcNAAsLIAwgCykDIDcCDCAMIAQ2AgggDCAANgIEIAwgCjYCACAMQRRqIAYoAgA2AgAgC0EwaiQADAELQRhBBEHI78MAKAIAIghBigcgCBsRAAAACyADQYgBaiIAQRBqIgogDEEQaiIHKQMANwMAIABBCGoiASAMQQhqIgIpAwA3AwAgAyADKQNwNwOIASADQdgAaiADQShqQsHniPmG2pa4ZCAAEPoBAkAgAygCXCIARQ0AIAMoAlgEQCAAELUBCyADKAJkRQ0AIANB6ABqKAIAELUBCyADQQhqIgBDAAAAPzgCBCAAQwAAAD84AgAgAyADKQMINwNIIANB8ABqIANByABqIAgQrQMgCiAHKQMANwMAIAEgAikDADcDACADIAMpA3A3A4gBIANB2ABqIANBKGpChfLcotvHio6vfyADQYgBahD6AQJAIAMoAlwiCEUNACADKAJYBEAgCBC1AQsgAygCZEUNACADQegAaigCABC1AQsgDUEgaiAJQdABEOQMGiANQQ82AvABIA1BGGogA0EoaiIIQRhqKQMANwMAIA1BEGogCEEQaikDADcDACANQQhqIAhBCGopAwA3AwAgDSAD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QQhqIAZBCGoqAgA4AgAgBEEMaiEEIApBAWohCiADQQNrIgMNAAsLAkAgEEEIaigCACIERQRAQQAhBgwBCyAQQQRqKAIAIQNBACEGIARBA24iAiAEIAJBA2xHaiIIBEAgCEGq1arVAEsNBCAIQQxsIgdBAEgNBCAIQavVqtUASUECdCECIAcEfyAHIAIQ9wsFIAILIgBFDQULIAAhAgNAIARBAyAEQQNJGyIHQQFGDQYgBEECTQ0HIAIgAygCADYCACACQQRqIAMpAgQ3AgAgAkEMaiECIAZBAWohBiADIAdBAnRqIQMgBCAHayIEDQALCyALIAo2AhggCyABNgIUIAsgBTYCECALIAY2AiggCyAANgIkIAsgCDYCICALQQhqIRMjAEHwAWsiByQAIAdB0AFqIgJBCGogC0EQaiIAQQhqKAIANgIAIAcgACkCADcD0AEgB0HgAWoiAUEIaiALQSBqIgBBCGooAgA2AgAgByAAKQIANwPgASAHQQhqIQQjAEEgayIIJAACQCABKAIIBEAgBEEAOgDAASAEQgQ3AkAgBEIANwI4IARCgICAgMAANwIwIARCBDcCKCAEQgA3AiAgBEKAgICAgAI3AhggBEL////7////v383AhAgBEL////79///v383AgggBEL////79///v/8ANwIAIAQgAikCADcCSCAEIAEpAgA3AlQgBEGgAWpBADYCACAEQfwAaiIAQQA2AgAgBEHkAGpBADYCACAEQdAAaiACQQhqKAIANgIAIARB3ABqIgMgAUEIaigCADYCAEEAIQojAEGgAWsiAiQAIAhBCGoiFkECNgIAIAMoAgAhBgJAIAAoAgAiAUUNACAEKAJ4BEAgARC1AQsgBEGEAWooAgAEQCAEQYgBaigCABC1AQsgBEGQAWooAgBFDQAgBEGUAWooAgAQtQELIABBADYCAAJAIARB5ABqIgAoAgAiAUUNACAEKAJgBEAgARC1AQsgBEHsAGooAgBFDQAgBEHwAGooAgAQtQELIABBADYCAAJAIARBoAFqIgAoAgAiAUUNACAEKAKcAQRAIAEQtQELIARBqAFqKAIABEAgBEGsAWooAgAQtQELIARBtAFqKAIARQ0AIARBuAFqKAIAELUBCyAAQQA2AgACQAJAAkAgBC0AwAFBf3NBEHEiFEEPTQ0AIAJBADYCMCACQoCA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RQRAQRBBBEHI78MAKAIAIgBBigcgABsRAAAACyAAQQA2AgAgACABKQMANwIEIABBDGogAigCADYCACABQRBqJAAgAAuUAQECfyMAQRBrIgEkAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIAFBCGoiAiAAQfQAaigCADYCACABIABB7ABqKQIANwMAQRBBBBD3CyIARQRAQRBBBEHI78MAKAIAIgBBigcgABsRAAAACyAAQQA2AgAgACABKQMANwIEIABBDGogAigCADYCACABQRBqJAAgAAuSAQECfyMAQRBrIgEkAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIAFBCGoiAiAAQRhqKAIANgIAIAEgAEEQaikCADcDAEEQQQQQ9wsiAEUEQEEQQQRByO/DACgCACIAQYoHIAAbEQAAAAsgAEEANgIAIAAgASkDADcCBCAAQQxqIAIoAgA2AgAgAUEQaiQAIAALkgEBAn8jAEEQayIBJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyABQQhqIgIgAEEwaigCADYCACABIABBKGopAgA3AwBBEEEEEPcLIgBFBEBBEEEEQcjvwwAoAgAiAEGKByAAGxEAAAALIABBADYCACAAIAEpAwA3AgQgAEEMaiACKAIANgIAIAFBEGokACAAC4IBAgJ/AX4jAEEQayICJAACQCAABEAgACgCACIDQX9HDQEQ2wwACxDaDAALIAAgA0EBajYCACACQQhqIgMgAb0iBEIgiD4CBCADIAQ+AgAgAiAAQQRqIAIoAgggAigCDBCIByACKAIAIQMgACAAKAIAQQFrNgIAIAJBEGokACADQQBHC8cBAgJ/AX4jAEEQayIFJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEF/NgIAIAVBCGoiBCABvSIGQiCIPgIEIAQgBj4CACAAQQRqIAUoAgggBSgCDBChByIERQRAQci0wABBzQBB0LXAABDODAALIANBAEchAyACIARBjAJqKgIAXARAAkAgA0UNACAEQdQCai0AAEUNACAEQQA6ANQCIAQgBCgCqAJBBHI2AqgCCyAEIAI4AowCCyAAQQA2AgAgBUEQaiQAC5IBAQJ/IwBBEGsiASQAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgAUEIaiICIABBIGoo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C6wBAgJ/AX4jAEEQayIDJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEF/NgIAIANBCGoiAiABvSIEQiCIPgIEIAIgBD4CACAAQQRqIAMoAgggAygCDBChByICRQRAQci0wABBzQBB0LXAABDODAALIAJB1AJqLQAABEAgAiACKAKoAkEEcjYCqAILIAJBADoA1AIgAkHQAmpBADYCACAAQQA2AgAgA0EQaiQAC4YBAgJ/AX4jAEEQayIDJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEF/NgIAIANBCGoiBCABvSIFQiCIPgIEIAQgBT4CACAAQQRqIAMoAgggAygCDBChByIERQRAQci0wABBzQBB0LXAABDODAALIAQgAjgCiAEgAEEANgIAIANBEGokAAt7AgJ/AX4jAEEQayIDJAACQCAABEAgACgCACICQX9HDQEQ2wwACxDaDAALIAAgAkEBajYCACADQQhqIgIgAb0iBEIgiD4CBCACIAQ+AgAgAEEEaiADKAIIIAMoAgwQwAkhAiAAIAAoAgBBAWs2AgAgA0EQaiQAIAJBAEcLiQECAn8BfiMAQRBrIgMkAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQX82AgAgA0EIaiIEIAG9IgVCIIg+AgQgBCAFPgIAIABBBGogAygCCCADKAIMEKIHIgRFBEBB4LXAAEHMAEHktsAAEM4MAAsgBEH0AGogAjgCACAAQQA2AgAgA0EQaiQAC4UBAgJ/AX4jAEEQayIDJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEF/NgIAIANBCGoiBCABvSIFQiCIPgIEIAQgBT4CACAAQQRqIAMoAgggAygCDBCiByIERQRAQeC1wABBzABB5LbAABDODAALIAQgAjgCcCAAQQA2AgAgA0EQaiQAC4UBAgJ/AX4jAEEQayIDJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEF/NgIAIANBCGoiBCABvSIFQiCIPgIEIAQgBT4CACAAQQRqIAMoAgggAygCDBCiByIERQRAQeC1wABBzABB5LbAABDODAALIAQgAjgCbCAAQQA2AgAgA0EQaiQAC6YBAgN/AX4jAEEQayIEJAACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEF/NgIAIARBCGoiAyAB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CGoiBCACQQxqKAIANgIEIAQgAzYCACABKwMIIQUgACAAKAIAQQFrNgIAIAFBEGokACAFC3UCA38BfCMAQRBrIgEkAAJAIAAEQCAAKAIAIgJBf0cNARDbDAALENoMAAsgACACQQFqNgIAIABBFGooAgAhAiABQQhqIgMgAEEYaigCADYCBCADIAI2AgAgASsDCCEEIAAgACgCAEEBazYCACABQRBqJAAgBAt1AgN/AXwjAEEQayIBJAACQCAABEAgACgCACICQX9HDQEQ2wwACxDaDAALIAAgAkEBajYCACAAQQxqKAIAIQIgAUEIaiIDIABBEGooAgA2AgQgAyACNgIAIAErAwghBCAAIAAoAgBBAWs2AgAgAUEQaiQAIAQLiwEBAn8jAEEgayICJAAgACgCACEDIAJBCGoiACABKAIAQZi/wABBACABKAIEKAIMEQUAOgAIIAAgATYCBCAAQQE6AAkgAEEANgIAIAIgAzYCGCACIANBBGo2AhwgACACQRhqQajQwAAQmQUaIAAgAkEcakGo0MAAEJkFGiAAEMkHIQAgAkEgaiQAIAALawAgAEIANwIcIAAgASkCADcCACAAQSRqQgA3AgAgAEEsakIANwIAIABBNGpCADcCACAAQTxqQQA2AgAgAEEYaiABQRhqKAIANgIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3AgALcAICfwJ9QwAAoEAhBEMAAKBAQwAAgD8gAEEfdSIBIABzIAFrIgFBAXEbIQMgAUECTwRAA0AgAyAEIASUIgRDAACAPyABQQJxG5QhAyABQQNLIQIgAUEBdiEBIAINAAsLQwAAgD8gA5UgAyAAQQBIGwtsAgN/AX0CQCAABEAgACgCACICQX9HDQEQ2wwACxDaDAALIAAgAkEBajYCACABIAAoAgQiA0GIAWooAgAiBE8EQCABIARB7LjAABDDCAALIANBhAFqKAIAIAFBKGxqKgIQIQUgACACNgIAIAULbAIDfwF9AkAgAARAIAAoAgAiAkF/Rw0BENsMAAsQ2gwACyAAIAJBAWo2AgAgASAAKAIEIgNBiAFqKAIAIgRPBEAgASAEQfy4wAAQwwgACyADQYQBaigCACABQShsaioCFCEFIAAgAjYCACAFC2kBAn8jAEEgayICJAAgAiABNgIEQQEhAwJAIAAoAgAgAUYNAEECIQMgACgCBCABRg0AQQAhAyAAKAIIIAFGDQAgAkEANgIQIABBCGogAkEEaiACQQhqQbybwgAQjgkACyACQSBqJAAgAwtyAgN/AXwjAEEQayIBJAACQCAABEAgACgCACICQX9HDQEQ2wwACxDaDAALIAAgAkEBajYCACAAKAIEIQIgAUEIaiIDIABBCGooAgA2AgQgAyACNgIAIAErAwghBCAAIAAoAgBBAWs2AgAgAUEQaiQAIAQLlgICBX8BfiMAQRBrIgUkAAJAIAEEQCABKAIAIgNBf0cNARDbDAALENoMAAsgASADQQFqNgIAIAVBCGohBiMAQSBrIgMkACADQRhqIgQgAr0iCEIgiD4CBCAEIAg+AgACQCABQQRqIAMoAhggAygCHBDBCSIEBEAgA0EQaiAEEMkKAkAgAygCECADKAIUKAKUAREEAEH/AXFBCEcNACADQQhqIAQQyQogAygCCCADKAIMEIcKIgRFDQAgBEEMaigCAEEBayEEQQEhBwsgBiAENgIEIAYgBzYCACADQSBqJAAMAQtB4LXAAEHMAEHUtsAAEM4MAAsgBSkDCCEIIAEgASgCAEEBazYCACAAIAg3AwAgBUEQaiQAC5YCAgV/AX4jAEEQayIFJAACQCABBEAgASgCACIDQX9HDQEQ2wwACxDaDAALIAEgA0EBajYCACAFQQhqIQYjAEEgayIDJAAgA0EYaiIEIAK9IghCIIg+AgQgBCAIPgIAAkAgAUEEaiADKAIYIAMoAhwQwQkiBARAIANBEGogBBDJCgJAIAMoAhAgAygCFCgClAERBABB/wFxQQhHDQAgA0EIaiAEEMkKIAMoAgggAygCDBCHCiIERQ0AIARBEGooAgBBAWshBEEBIQcLIAYgBDYCBCAGIAc2AgAgA0EgaiQADAELQeC1wABBzABB1LbAABDODAALIAUpAwghCCABIAEoAgBBAWs2AgAgACAINwMAIAVBEGokAAt0AgR/AXwjAEEQayIBJAACQCAABEAgACgCACICQX9HDQEQ2wwACxDaDAALIAAgAkEBajYCACAAKAIEIgIoAgAhAyABQQhqIgQgAigCBDYCBCAEIAM2AgAgASsDCCEFIAAgACgCAEEBazYCACABQRBqJAAgBQtoAgF/BH0jAEEQayIDJAAgAioCACIFIAWUIAIqAgQiBiAGlJIgAioCCCIHIAeUkkMAAAAAkhCTASEEIAMgByAElTgCCCADIAYgBJU4AgQgAyAFIASVOAIAIAAgASADEK4DIANBEGokAAtpACAAQgA3AgAgAEIANwIwIABCADcCQCAAQShqQgA3AgAgAEEgakIANwIAIABBGGpCADcCACAAQRBqQgA3AgAgAEEIakIANwIAIABBOGpCADcCACAAQcgAakIANwIAIABB0ABqQgA3AgALewECfyABQQRqKAIAIQMCQAJAAkAgAUEIaigCACIBRQRAQQEhAgwBCyABQQBIDQEgAUEBEPcLIgJFDQILIAIgAyABEOQMIQIgACABNgIIIAAgAjYCBCAAIAE2AgAPCxCgCgALIAFBAUHI78MAKAIAIgBBigcgABsRAAAAC2sBAX8jAEEgayICJAAgAkHkgsAANgIEIAIgADYCACACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIQQAgAkHsl8AAIAJBBGpB7JfAACAAQbiUwAAQoAQAC2ACAX0CfwJAIAAEQCAAKAIAIgNBf0cNARDbDAALENoMAAsgACADQQFqNgIAIAEgACgCBCIEQegAaigCAEkEQCAEQeQAaigCACABQTBsakEYaioCACECCyAAIAM2AgAgAgteAQN/AkAgAARAIAAoAgAiA0F/Rw0BENsMAAsQ2gwACyAAIANBAWo2AgAgASAAKAIEIgRB6ABqKAIASQRAIARB5ABqKAIAIAFBMGxqQRxqKAIAIQILIAAgAzYCACACC14BA38CQCAABEAgACgCACIDQX9HDQEQ2wwACxDaDAALIAAgA0EBajYCACABIAAoAgQiBEHoAGooAgBJBEAgBEHkAGooAgAgAUEwbGpBIGooAgAhAgsgACADNgIAIAILYAIBfQJ/AkAgAARAIAAoAgAiA0F/Rw0BENsMAAsQ2gwACyAAIANBAWo2AgAgASAAKAIEIgRB6ABqKAIASQRAIARB5ABqKAIAIAFBMGxqQSxqKgIAIQILIAAgAzYCACACC2ACAX0CfwJAIAAEQCAAKAIAIgNBf0cNARDbDAALENoMAAsgACADQQFqNgIAIAEgACgCBCIEQegAaigCAEkEQCAEQeQAaigCACABQTBsakEkaioCACECCyAAIAM2AgAgAgtgAgF9An8CQCAABEAgACgCACIDQX9HDQEQ2wwACxDaDAALIAAgA0EBajYCACABIAAoAgQiBEHoAGooAgBJBEAgBEHkAGooAgAgAUEwbGpBKGoqAgAhAgsgACADNgIAIAILYAIBfQJ/AkAgAARAIAAoAgAiA0F/Rw0BENsMAAsQ2gwACyAAIANBAWo2AgAgASAAKAIEIgRBiAFqKAIASQRAIARBhAFqKAIAIAFBKGxqQQxqKgIAIQILIAAgAzYCACACC2sBAX8jAEEgayICJAAgAkHEwMAANgIEIAIgADYCACACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIQQAgAkGY0MAAIAJBBGpBmNDAACAAQdTNwAAQoAQAC2UBAX8jAEEgayIFJAAgBSACNgIEIAUgATYCACAFQQhqIgFBEGogA0EQaikCADcDACABQQhqIANBCGopAgA3AwAgBSADKQIANwMIIAAgBUHoz8AAIAVBBGpB6M/AACABIAQQoAQAC2UBAX8jAEEgayIEJAAgBCABNgIEIAQgADYCACAEQQhqIgBBEGogAkEQaikCADcDACAAQQhqIAJBCGopAgA3AwAgBCACKQIANwMIQQAgBEGI0MAAIARBBGpBiNDAACAAIAMQoAQAC2UBAX8jAEEgayIEJAAgBCABNgIEIAQgADYCACAEQQhqIgBBEGogAkEQaikCADcDACAAQQhqIAJBCGopAgA3AwAgBCACKQIANwMIQQAgBEGo0MAAIARBBGpBqNDAACAAIAMQoAQAC4QBAQJ/IwBBIGsiAiQAIAJBCGoiAyABKAIAQZi/wABBACABKAIEKAIMEQUAOgAIIAMgATYCBCADQQE6AAkgA0EANgIAIAIgADYCGCACIABBBGo2AhwgAyACQRhqQajQwAAQmQUaIAMgAkEcakGo0MAAEJkFGiADEMkHIQAgAkEgaiQAIAALaAEBfyMAQSBrIgMkACADQdT1wQA2AgQgAyAANgIAIANBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACADIAEpAgA3AwhBACADQeT0wQAgA0EEakHk9MEAIAAgAhCgBAALZQEBfyMAQSBrIgQkACAEIAE2AgQgBCAANgIAIARBCGoiAEEQaiACQRBqKQIANwMAIABBCGogAkEIaikCADcDACAEIAIpAgA3AwhBACAEQdT0wQAgBEEEakHU9MEAIAAgAxCgBAALhAEBAn8jAEEgayICJAAgAkEIaiIDIAEoAgBB5O/BAEEAIAEoAgQoAgwRBQA6AAggAyABNgIEIANBAToACSADQQA2AgAgAiAANgIYIAIgAEEEajYCHCADIAJBGGpB1PTBABCZBRogAyACQRxqQdT0wQAQmQUaIAMQyQchACACQSBqJAAgAAtrAQF/IwBBIGsiAiQAIAJB2J3DADYCBCACIAA2AgAgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCEEAIAJB1J7DACACQQRqQdSewwAgAEH8psMAEKAEAAtoAQF/IwBBIGsiAyQAIANBjKfDADYCBCADIAA2AgAgA0EIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAMgASkCADcDCEEAIANB5J7DACADQQRqQeSewwAgACACEKAEAAtgAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpBwJbAACAAEMwCIQAgAkEgaiQAIAAL7gIBAn8jAEHAAmsiAiQAAkAgAARAIAAoAgBFDQEQ2wwACxDaDAALIABBADYCACACQaABaiIBIABBoAEQ5AwaIAIgAUEEckGcARDkDCEBIAAQtQEgASgCACIAKAIAIQIgACACQQFrNgIAIAJBAUYEQCABKAIAIAFBBGooAgAQvggLIAFBIGooAgAEQCABQSRqKAIAELUBCyABQSxqKAIABEAgAUEwaigCABC1AQsgAUE4aigCAARAIAFBPGooAgAQtQELIAFBxABqKAIABEAgAUHIAGooAgAQtQELIAEoAlAEQCABQdQAaigCABC1AQsgAUHcAGooAgAEQCABQeAAaigCABC1AQsgAUHoAGooAgAEQCABQewAaigCABC1AQsgAUH0AGooAgAEQCABQfgAaigCABC1AQsgAUGAAWooAgAEQCABQYQBaigCABC1AQsgAUGMAWooAgAEQCABQZABaigCABC1AQsgAUHAAmokAAtfAQJ/IwBBoAFrIgEkAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQQA2AgAgAUHQ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KQMYNwOgASAAQagBaiAgKQMANwMAIABBsAFqIB8pAwA3AwAgACABKQMANwOYAiAAQaACaiAEKQMANwMAIABBqAJqIAMpAwA3AwAgAEGQBGpCBDcDACAAQYgEakIANwMAIABCgICAgMAANwOABCAAQfgDakIENwMAIABB8ANqQgA3AwAgAEKAgICAwAA3A+gDIABB4ANqQgQ3AwAgAEHYA2pCADcDACAAQoCAgIDAADcD0AMgAEEBOgDIAyAAQQA2AsADIABCADcDuAMgAEIANwPgAiAAQQA2AtgCIABCADcD0AIgAUGAA2okACACQagEaiAAQZgEEOQMGkGgBEEIEPcLIgBFBEBBoARBCEHI78MAKAIAIgBBigcgABsRAAAACyAAQQA2AgAgAEEEaiACQaQEakGcBBDkDBogAkHACGokACAAC2wBAn8gACABKQIANwIMIAAgAikCADcCGCAAQRRqIAFBCGoiAygCADYCACAAQSBqIAJBCGoiBCgCADYCACAAIAEqAgQgAioCBJM4AgQgACABKgIAIAIqAgCTOAIAIAAgAyoCACAEKgIAkzgCCAtgAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpBoJ3DACAAEMwCIQAgAkEgaiQAIAALYAEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQeyqwwAgABDMAiEAIAJBIGokACAAC14BA38jAEEgayICJAAgASgCBCEDIAEoAgAhBCACQQhqIgFBEGogAEEQaikCADcDACABQQhqIABBCGopAgA3AwAgAiAAKQIANwMIIAQgAyABEMwCIQAgAkEgaiQAIAALYAEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQfjMwwAgABDMAiEAIAJBIGokACAAC14BA38jAEEgayICJAAgACgCBCEDIAAoAgAhBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAQgAyAA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aigCACIEIBAoAgAiAk8NBCAFQQxqKAIAIgUgAk8NBSAGQQRqKAIAIQIgAyAKNgLIASADIAIgBUEEdGopAgA3A8ABIAMgAiAEQQR0aikCADcDuAEMBgsgA0ECOgB8DAELCyADQaABaiANEOIEDAQLQeCGwABBK0GgqMAAENkJAAsgBCACQYCowAAQwwgACyAFIAJBkKjAABDDCAALIANBoAFqIgJBEGogA0G4AWoiBEEQaigCADYCACACQQhqIARBCGopAwA3AwAgAyADKQO4ATcDoAELIAMoArABRQRAIAMoAhwiAkEkTwRAIAIQAAsgA0HQAWokAAwBCyADKAKoASECIANBCGoiBCADKAKsATYCBCAEIAI2AgAgAyADKwMIEAE2ArgBIAMgCyADQRxqIANBuAFqENwJIAMoAgQiAkEkTwRAIAIQAAsgAygCuAEiAkEkSQ0BIAIQAAwBCwsgACAAKAIAQQFrNgIAIAlBEGokAAvOAQAgAEL////7////v383AzAgAEL////79///v/8ANwMoIABC////+/f//7//ADcDICAAQv////v3//+//wA3AxggAEL////79///v/8ANwMQIABC////+/f//7//ADcDCCAAQv////v3//+//wA3AwAgAEHYAGpC////+////79/NwMAIABB0ABqQv////v///+/fzcDACAAQcgAakL////7////v383AwAgAEFAa0L////7////v383AwAgAEE4akL////7////v383AwALYAEDfSAAIAIqAhAiBCABKgIAIgOSOAIMIAAgBCADkzgCACAAQRRqIAMgAkEYaioCACIEkjgCACAAQRBqIAMgAkEUaioCACIFkjgCACAAIAQgA5M4AgggACAFIAOTOAIEC10BAX8jAEEgayICJAAgAiAANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakH4zMMAIAAQzAIhACACQSBqJAAgAAuzAgEGfyMAQRBrIgQkAAJAIAAEQCAAKAIAIgJBf0cNARDbDAALENoMAAsgACACQQFqNgIAIAQgATYCDCAEQQxqIQYjAEEgayIBJAAgAUEhNgIYIAFBEGoiAiAAQQRqIgVBEGooAgAiAzYCBCACIAMgBUEUaigCAEHwAmxqNgIAAkAg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KCAAQoCAgICAAjcCICAAQv////v///+/fzcCGCAAQv////v3//+/fzcCECAAQv////v3//+//wA3AgggAEGw0MEANgIEIAAgATYCACABQoGAgIAQNwIAQaABQQQQ9wsiAUUEQEGgAUEEQcjvwwAoAgAiAEGKByAAGxEAAAALIAFBADYCACABQQRqIABBnAEQ5AwaIABBoAFqJAAgAQvQBAEEfyMAQdAAayIBJAAjAEFAaiIAJAAgAEEUakIENwIAIABCADcCDCAAQQA2AgggAEEANgIAIABBADYCOCAAQSBqQTBBBCAAQTBqEIYHIAAoAiQhAgJAAkACQAJAAkACQCAAKAIgBEAgAEEoaigCACIDQYGAgIB4Rg0BIANFDQMgAiADQcjvwwAoAgAiAEGKByAAGxEAAAALIABBBDYCECAAIAI2AhQMAQsgAEEQakEAQQQQrgYgACgCFCECIAAoAhghAwsgAiADQQxsaiICQQE2AgggAkKAgICAEDcCACACQRRqQQI2AgAgAkEMakKAgICAEDcCACACQSBqQQM2AgAgAkEYakKAgICAEDcCACACQSRqQgA3AgAgAEIBNwMAIAAgA0EEajYCGEGgAUEEEPcLIgJFDQFB4BxBBBD3CyIDRQ0CIAFCADcCFCABIAApAwA3AjAgAUKAgICAwAA3AiQgASADNgIQIAFCgICAgKABNwIIIAEgAjYCBCABQQo2AgAgAUEcakIENwIAIAFBLGpBADYCACABQThqIABBCGopAwA3AgAgAUFAayAAQRBqKQMANwIAIAFByABqIABBGGooAgA2AgAgAEFAayQADAMLEKAKAAtBoAFBBEHI78MAKAIAIgBBigcgABsRAAAAC0HgHEEEQcjvwwAoAgAiAEGKByAAGxEAAAALQdAAQQQQ9wsiAEUEQEHQAEEEQcjvwwAoAgAiAEGKByAAGxEAAAALIABBADYCACAAQQRqIAFBzAAQ5AwaIAFB0ABqJAAgAAtDAQF/AkAgAARAIAAoAgAiAUF/Rw0BENsMAAsQ2gwACyAAIAFBAWo2AgAgAEEYaigCACEBIAAgACgCAEEBazYCACABC8sCAQR/IwBB0ABrIgAkACMAQSBrIgEkACABQRRqQgQ3AgAgAUIANwIMIAFBADYCCCABQQA2AgAgAUEEEOYCAkACQEGgAUEEEPcLIgIEQEGg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IAdBBHRqIgQoAgghAiAEQQxqKAIAIQQLIANBADoAjAEgAyAHNgKIASADIAg2AoABIAMgBDYCfCADIAZBIGo2ApABIAMgBTYChAEgAyACNgJ4AkACQCACIAVJBEAgAyAIIAJBFGxqKAIANgJ4DAELA0AgBSAEIgJNDQIgAyAIIAJBFGxqIg8oAgQiBDYCfCAPKAIIIAdGDQALCyAMKAIAIAJNDQMgAkEUbCIHIA0oAgBqIgVBCGooAgAiBCAOKAIAIgJPDQQgBUEMaigCACIFIAJPDQUgBkEkaigCACECIAMgByAIakEQai0AADoA6AEgAyACIAVBBHRqKQIANwPgASADIAIgBEEEdGopAgA3A9gBDAYLIANBAjoAjAEgAygCsAEiAkECRw0ACwsgA0HAAWogCxDRBAwEC0HghsAAQStBoKjAABDZCQALIAQgAkGAqMAAEMMIAAsgBSACQZCowAAQwwgACyADQcABaiICQRBqIANB2AFqIgRBEGooAgA2AgAgAkEIaiAEQQhqKQMANwMAIAMgAykD2AE3A8ABCyADLQDQASICQQJGBEAgAygCLCICQSRPBEAgAhAACyADKAIoIgJBJE8EQCACEAALIANB8AFqJAAMAQsgAkUNAQJ/IAMoAsABIgIgCUYgAygCxAEiBCAKRnFFBEAgA0EYaiIGIAQ2AgQgBiACNgIAIAMoAhghBCADKAIcDAELIAMoAsgBIQIgA0EQaiIEIAMoAswBNgIEIAQgAjYCACADKAIQIQQgAygCFAshAiADIAStIAKtQiCGhL8QATYC2AEgA0EIaiADQShqIANBLGogA0HYAWoQ3AkgAygCDCICQSRPBEAgAhAACyADKALYASICQSRJDQEgAhAADAELCyAAIAAoAgBBAWs2AgALiQMBAn8jAEGgAWsiACQAQQhBBBD3CyIBRQRAQQhBBEHI78MAKAIAIgBBigcgABsRAAAACyAAQYquj+EDNgKYASAAQv////v3//+//wA3AgggAEGw0MEANgIEIAAgATYCACABQoGAgIAQNwIAIABCgICAgMAANwJQIABByABqQgQ3AgAgAEFAa0IANwIAIABBOGpCgICAgMAANwIAIABBMGpCBDcCACAAQShqQgA3AgAgAEEgakKAgICAgAI3AgAgAEEYakL////7////v383AgAgAEEQakL////79///v383AgAgAEHYAGpCADcCACAAQeAAakIENwIAIABB6ABqQoCAgIDAADcCACAAQfAAakIANwIAIABB+ABqQgQ3AgAgAEGAAWpCgICAgBA3AgAgAEGIAWpCADcCACAAQZABakIENwIAQaABQQQQ9wsiAUUEQEGgAUEEQcjvwwAoAgAiAEGKByAAGxEAAAALIAFBADYCACABQQRqIABBnAEQ5AwaIABBoAFqJAAgAQtDACABKAIMIAJBAnRrQQRrKAIAIgEgACgCACIAQQRqKAIAIgJPBEAgASACQYj3wAAQwwgACyAAKAIAIAFBFGxqNQIQC0MAIAEoAgwgAkECdGtBBGsoAgAiASAAKAIAIgBBBGooAgAiAk8EQCABIAJBiPfAABDDCAALIAAoAgAgAUEEdGo1AggLQwAgASgCDCACQQJ0a0EEaygCACIBIAAoAgAiAEEEaigCACICTwRAIAEgAkGI98AAEMMIAAsgACgCACABQQN0ajUCAAtDACABKAIMIAJBAnRrQQRrKAIAIgEgACgCACIAQQRqKAIAIgJPBEAgASACQYj3wAAQwwgACyAAKAIAIAFBDGxqNQIIC0MAIAEoAgwgAkECdGtBBGsoAgAiASAAKAIAIgBBBGooAgAiAk8EQCABIAJBiPfAABDDCAALIAAoAgAgAUEUbGo1AgALngQBDH8jAEEQayIFJAAgASABKAJIQSByNgJIIAVBCGohBiMAQSBrIgMkACABQRBqIgEoAgAiBCgCBCECIARBfyACIAJBAUYbNgIEAkACQCACQQFHDQAgASgCACICQQE2AgQgAigCAEEBRw0AIAEoAgAiAiABKAIEKAIIQQdqQXhxag0BCyADQRhqIAEoAgAiByABQQRqKAIAIgIoAghBB2pBeHFqIAIoAoQBEQAAIAMoAhghCCADQRBqIAMoAhwiCUEEaigCACIEIAlBCGooAgAiChD8ByADKAIUIQsgAygCECEMIANBCGogBCAKEPwHIAMoAgwhAiADKAIIIg0EQCANIAIQ9wshAgsgAgRAIAJCgYCAgBA3AgAgAiAKQQdqQXhxaiAIIAQQ5AwaIAQEQCAIELUBCyAHIAcoAgAiBEEBazYCACAEQQFGBEAgASgCACABQQRqKAIAEL4ICyABIAI2AgAgAUEEaiAJNgIADAELIAwgC0HI78MAKAIAIgBBigcgABsRAAAACyACQX8gAigCBCICIAJBAUYbNgIEAkACQCACQQFHDQAgASgCACICQQE2AgQgAigCAEEBRw0AIAEoAgAgASgCBCIBKAIIQQdqQXhxaiICDQELQaf1wQBBK0Hw9cIAENkJAAsgBiABNgIEIAYgAjYCACADQSBqJAAgBSgCDCEBIAAgBSgCCDYCACAAIAE2AgQgBUEQaiQAC0MAIAEoAgwgAkECdGtBBGsoAgAiASAAKAIAIgBBBGooAgAiAk8EQCABIAJBkPfBABDDCAALIAAoAgAgAUEEdGo1AggLQwAgASgCDCACQQJ0a0EEaygCACIBIAAoAgAiAEEEaigCACICTwRAIAEgAkGQ98EAEMMIAAsgACgCACABQRhsajUCCAtDACABKAIMIAJBAnRrQQRrKAIAIgEgACgCACIAQQRqKAIAIgJPBEAgASACQZD3wQAQwwgACyAAKAIAIAFBFGxqNQIAC1QAIABCADcCoAEgAEIANwKwASAAQoKAgIAwNwIIIABCgICAgBA3AgAgAEGoAWpCADcCACAAQbgBakEANgIAIABBEGpBAEGQARDjDBogAEEANgK8AQtPAgF/AX4jAEEQayICJAAgAkEIaiAAIAEoAmARAAAgAigCCCIAIAIoAgxBDGooAgARBgAhAyACQRBqJAAgAEEAIANC0/L+w4bF7Zy8f1EbC08CAX8BfiMAQRBrIgIkACACQQhqIAAgASgCYBEAACACKAIIIgAgAigCDEEMaigCABEGACEDIAJBEGokACAAQQAgA0KB0Nrl8a7434B/URsLTwIBfwF+IwBBEGsiAiQAIAJBCGogACABKAJgEQAAIAIoAggiACACKAIMQQxqKAIAEQYAIQMgAkEQaiQAIABBACADQuGTx9Tc6bn51ABRGwtOAgF/AX4jAEEQayICJAAgAkEIaiAAIAEoAmARAAAgAigCCCIAIAIoAgxBDGooAgARBgAhAyACQRBqJAAgAEEAIANCkZ24ktSP4ucwURsLTgIBfwF+IwBBEGsiAiQAIAJBCGogACABKAJkEQAAIAIoAggiACACKAIMQQxqKAIAEQYAIQMgAkEQaiQAIABBACADQpGduJLUj+LnMFEbC04CAX8BfiMAQRBrIgIkACACQQhqIAAgASgCYBEAACACKAIIIgAgAigCDEEMaigCABEGACEDIAJBEGokACAAQQAgA0KB/J7Rk++WozxRGwtOAgF/AX4jAEEQayICJAAgAkEIaiAAIAEoAmARAAAgAigCCCIAIAIoAgxBDGooAgARBgAhAyACQRBqJAAgAEEAIANCkuSO9Iza+L8cURsLTgIBfwF+IwBBEGsiAiQAIAJBCGogACABKAJgEQAAIAIoAggiACACKAIMQQxqKAIAEQYAIQMgAkEQaiQAIABBACADQsmhrZa86KezQlEbC04CAX8BfiMAQRBrIgIkACACQQhqIAAgASgCYBEAACACKAIIIgAgAigCDEEMaigCABEGACEDIAJBEGokACAAQQAgA0KPw/et4LSlmzlRGwtOAgF/AX4jAEEQayICJAAgAkEIaiAAIAEoAmQRAAAgAigCCCIAIAIoAgxBDGooAgARBgAhAyACQRBqJAAgAEEAIANCj8P3reC0pZs5URsLTwIBfwF+IwBBEGsiAiQAIAJBCGogACABKAJgEQAAIAIoAggiACACKAIMQQxqKAIAEQYAIQMgAkEQaiQAIABBACADQvH/2KjZ+LTHnX9RGwtOAgF/AX4jAEEQayICJAAgAkEIaiAAIAEoAmARAAAgAigCCCIAIAIoAgxBDGooAgARBgAhAyACQRBqJAAgAEEAIANC5ZKlzO7l4fpnURsLTwIBfwF+IwBBEGsiAiQAIAJBCGogACABKAJgEQAAIAIoAggiACACKAIMQQxqKAIAEQYAIQMgAkEQaiQAIABBACADQoXy3KLbx4qOr39RGwtPAgF/AX4jAEEQayICJAAgAkEIaiAAIAEoAmQRAAAgAigCCCIAIAIoAgxBDGooAgARBgAhAyACQRBqJAAgAEEAIANChfLcotvHio6vf1EbC04CAX8BfiMAQRBrIgIkACACQQhqIAAgASgCYBEAACACKAIIIgAgAigCDEEMaigCABEGACEDIAJBEGokACAAQQAgA0LB54j5htqWuGRRGwtOAgF/AX4jAEEQayICJAAgAkEIaiAAIAEoAmQRAAAgAigCCCIAIAIoAgxBDGooAgARBgAhAyACQRBqJAAgAEEAIANCweeI+YbalrhkURsLTgIBfwF+IwBBEGsiAiQAIAJBCGogACABKAJgEQAAIAIoAggiACACKAIMQQxqKAIAEQYAIQMgAkEQaiQAIABBACADQsj/vKOH6/O3HVEbC04C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Qci0wABBzQBB0LXAABDODAALIAJB1AJqLQAABEAgAiACKAKoAkEEcjYCqAILIAJBADoA1AIgAkHQAmpBADYCAAsgAiACLQDwAUHHAXFBOEEAIAQbcjoA8AEgAhCQBQsgA0EQaiQAIABBADYCAAtAAQJ/AkAgAARAIAAoAgAiAUF/Rw0BENsMAAsQ2gwACyAAIAFBAWo2AgAgACgCBEEgaigCACECIAAgATYCACACC0EBAn8CQCAABEAgACgCACIBQX9HDQEQ2wwACxDaDAALIAAgAUEBajYCACAAKAIEQegAaigCACECIAAgATYCACACC0EBAn8CQCAABEAgACgCACIBQX9HDQEQ2wwACxDaDAALIAAgAUEBajYCACAAKAIEQYgBaigCACECIAAgATYCACACCz0BAn8jAEEwayIEJAAgBEEIaiIFIAEgAiADEEIgAEEIaiAFQQhqKQMANwIAIAAgBCkDCDcCACAEQTBqJAALSgEBfyMAQSBrIgAkACAAQRRqQQE2AgAgAEEcakEANgIAIABB2KTDADYCECAAQbidwwA2AhggAEEANgIIIABBCGpBkKXDABDTCgALSgEBfyMAQSBrIgAkACAAQRRqQQE2AgAgAEEcakEANgIAIABBtKvDADYCECAAQYSrwwA2AhggAEEANgIIIABBCGpBvKvDABDTCgALOwEBfSABKgIAIgIgApQgAUEEaioCACICIAKUkiABQQhqKgIAIgIgApSSQwAAAACSIAAqAgAiAiAClF8LPwEBfyMAQSBrIgUkACAFQQhqIAEgAiADIAQQvwEgBSgCCCEBIAAgBSoCEDgCBCAAIAFBBEc2AgAgBUEgaiQACz8BAX8jAEEgayIFJAAgBUEIaiABIAIgAyAEEM4BIAUoAgghASAAIAUqAhA4AgQgACABQQRHNgIAIAVBIGokAAs/AQF/IwBBIGsiBSQAIAVBCGogASACIAMgBBDfASAFKAIIIQEgACAFKgIQOAIEIAAgAUEERzYCACAFQSBqJAALPwEBfyMAQSBrIgUkACAFQQhqIAEgAiADIAQQqAEgBSgCCCEBIAAgBSoCEDgCBCAAIAFBBEc2AgAgBUEgaiQACz8BAX8jAEEgayIFJAAgBUEIaiABIAIgAyAEENYBIAUoAgghASAAIAUqAhA4AgQgACABQQRHNgIAIAVBIGokAAs/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Ags9AQJ/AkAgAARAIAAoAgAiAUF/Rw0BENsMAAsQ2gwACyAAIAFBAWo2AgAgACgCBCgCXCECIAAgATYCACACCzkAAkAgAQRAIAEoAgBBf0cNARDbDAALENoMAAsgACABQSBqKAIANgIEIAAgAUEcaigCAEEDRzYCAAs5AAJAIAEEQCABKAIAQX9HDQEQ2wwACxDaDAALIAAgAUEQaigCADYCBCAAIAFBDGooAgBBA0c2AgALKAAgACgCAARAIABBBGooAgAQtQELIAAoAhQEQCAAQRhqKAIAELUBCwtUAQF/QQxBBBD3CyICRQRAQQxBBEHI78MAKAIAIgBBigcgABsRAAAACyACIAEpAgA3AgAgAkEIaiABQQhqKAIANgIAIABB7LrCADYCBCAAIAI2AgALVgECfSABKgIEIQIgASoCACEDQQhBBBD3CyIBRQRAQQhBBEHI78MAKAIAIgBBigcgABsRAAAACyABIAI4AgQgASADOAIAIABBlNDCADYCBCAAIAE2AgALVgECfSABKgIEIQIgASoCACEDQQhBBBD3CyIBRQRAQQhBBEHI78MAKAIAIgBBigcgABsRAAAACyABIAI4AgQgASADOAIAIABBnNPCADYCBCAAIAE2AgALVAEBf0EMQQQQ9wsiAkUEQEEMQQRByO/DACgCACIAQYoHIAAbEQAAAAsgAiABKQIANwIAIAJBCGogAUEIaigCADYCACAAQdDWwgA2AgQgACACNgIAC1YBAn8gASgCBCECIAEoAgAhA0EIQQQQ9wsiAUUEQEEIQQRByO/DACgCACIAQYoHIAAbEQAAAAsgASACNgIEIAEgAzYCACAAQeijwwA2AgQgACABNgIACz8CAX8BfSABKAIYQQFxIQIgACoCACEDIAEoAhBBAUYEQCABIAMgAiABQRRqKAIAEOkBDwsgASADIAJBABClAguQDQMHfwZ+AXwgASgCGEEBcSEEIAArAwAhDyABKAIQQQFGBEAgAUEUaigCACEFIwBB8AhrIgIkACAPvSEJAkAgDyAPYgRAQQIhAwwBCyAJQv////////8HgyINQoCAgICAgIAIhCAJQgGGQv7///////8PgyAJQjSIp0H/D3EiABsiCkIBgyEMQQMhAwJAAkACQEEBQQJBBCAJQoCAgICAgID4/wCDIg5QIgYbIA5CgICAgICAgPj/AFEbQQNBBCAGGyANUBtBAmsOAwABAgMLQQQhAwwCCyAAQbMIayEHIAxQIQNCASELDAELQoCAgICAgIAgIApCAYYgCkKAgICAgICACFEiBhshCkICQgEgBhshCyAMUCEDQct3Qcx3IAYbIABqIQcLIAIgBzsB6AggAiALNwPgCCACQgE3A9gIIAIgCjcD0AggAiADOgDqCAJ/IANBAkYEQEHArsMADAELIARFBEAgCUI/iKchCEHYx8MAQcCuwwAgCUIAUxsMAQtBASEIQdjHwwBB2cfDACAJQgBTGwshAEEBIQYCQAJAAn8CQAJAAkACQCADQQJrQQMgA0EBSxtB/wFxQQFrDgMCAQADC0F0QQUgB0EQdEEQdSIEQQBIGyAEbCIEQb/9AEsNBCACQZAIaiACQdAIaiACQRBqIARBBHZBFWoiA0EAIAVrQYCAfiAFQYCAAkkbIgQQuAEgBEEQdEEQdSEEAkAgAigCkAhFBEAgAkHACGogAkHQCGogAkEQaiADIAQQLQwBCyACQcgIaiACQZgIaigCADYCACACIAIpA5AINwPACAsgBCACLgHICCIESARAIAJBCGogAigCwAggAigCxAggBCAFIAJBkAhqELMEIAIoAgwhBiACKAIIDAQLQQIhBiACQQI7AZAIIAUEQCACQaAIaiAFNgIAIAJBADsBnAggAkECNgKYCCACQajGwwA2ApQIIAJBkAhqDAQLQQEhBiACQQE2ApgIIAJB2sfDADYClAggAkGQCGoMAwtBAiEGIAJBAjsBkAggBQRAIAJBoAhqIAU2AgAgAkEAOwGcCCACQQI2ApgIIAJBqMbDADYClAggAkGQCGoMAwtBASEGIAJBATYCmAggAkHax8MANgKUCCACQZAIagwCCyACQQM2ApgIIAJB28fDADYClAggAkECOwGQCCACQZAIagwBCyACQQM2ApgIIAJB3sfDADYClAggAkECOwGQCCACQZAIagshBCACQcwIaiAGNgIAIAIgBDYCyAggAiAINgLECCACIAA2AsAIIAEgAkHACGoQ0wIhACACQfAIaiQADAELQefHwwBBJUGMyMMAENkJAAsgAA8LIwBBgAFrIgIkACAPvSEJAkAgDyAPYgRAQQIhAwwBCyAJQv////////8HgyINQoCAgICAgIAIhCAJQgGGQv7///////8PgyAJQjSI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DAMLIARBGGogAxD7CSAEKAIYIAQoAhwQkQoiA0UNAyADQQhqDAILIARBIGogAxD7CSAEKAIgIQUgBCgCJCEGIwBBEGsiAyQAIANBCGogBSAGKAJkEQAAIAMoAggiBSADKAIMQQxqKAIAEQYAIQcgA0EQaiQAIAVBACAHQrDcoOfr19mZvn9RGyIDRQ0CIANBCGoMAQsgBEEoaiADEPsJIAQoAighBSAEKAIsIQYjAEEQayIDJAAgA0EIaiAFIAYoAmQRAAAgAygCCCIFIAMoAgxBDGooAgARBgAhByADQRBqJAAgBUEAIAdCsqHit7ee0vFtURsiA0UNASADQeAAagsgAjgCAAsgBEFAayQADAELQeC1wABBzABB5LbAABDODAALIABBADYCAAs1ACMAQSBrIgMkACADIAEgAhDUAiAAQQhqIANBCGopAwA3AgAgACADKQMANwIAIANBIGokAAs3AQF/IwBBEGsiAyQAIANBCGogAkEIaigCADYCACADIAIpAgA3AwAgACABIAMQoAEgA0EQaiQACzcBAX8jAEEQayIDJAAgA0EIaiABQQhqKAIANgIAIAMgASkCADcDACACIAAgAxCgASADQRBqJAAL5AIBAn8jAEEgayICJAAgAkEBOgAYIAIgATYCFCACIAA2AhAgAkH4yMMANgIMIAJBwK7DADYCCCMAQRBrIgEkAAJAIAJBCGoiACgCDCICBEAgACgCCCIDRQ0BIAEgAjYCCCABIAA2AgQgASADNgIAIwBBEGsiACQAIABBCGogAUEIaigCADYCACAAIAEpAgA3AwAjAEEQayIBJAAgACgCACICQRRqKAIAIQMCQAJ/AkACQCACQQxqKAIADgIAAQMLIAMNAkEAIQJBuJ3DAAwBCyADDQEgAigCCCIDKAIEIQIgAygCAAshAyABIAI2AgQgASADNgIAIAFBjKTDACAAKAIEIgEoAgggACgCCCABLQAQEOUGAAsgAUEANgIEIAEgAjYCDCABQfijwwAgACgCBCIBKAIIIAAoAgggAS0AEBDlBgALQfSewwBBK0HIo8MAENkJAAtB9J7DAEErQbijwwAQ2QkACzMAAkAgAEH8////B0sNACAARQRAQQQPCyAAIABB/f///wdJQQJ0EPcLIgBFDQAgAA8LAAs9ACAAQgA3AhAgAEIANwIAIABCgICAgICAgMA/NwIIIABBGGpCADcCACAAQSBqQgA3AgAgAEEoakEANgIACzYAIAAgASkCADcCACAAIAIpAgA3AgwgAEEIaiABQQhqKAIANgIAIABBFGogAkEIaigCADYCAAtMAQJ9IAAqAgQgACoCABDrDCIBQwAAAABgBEBD2w/JPyABkyICIAIgASABkiIBIAEgAl4bIAEgAVwbDwtB2NTCAEEoQYDVwgAQ2QkACz0AIABCADcCECAAQgA3AgAgAEKAgICAgICAwD83AgggAEEYakIANwIAIABBIGpCADcCACAAQShqQQA2AgALQwEBfyAAKAIAIQECQCAAQQRqLQAADQBB3O/DACgCAEH/////B3FFDQBBzPPDACgCAEUNACABQQE6AAELIAFBADoAAAsvAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQQA2AgAgAEHYAGogAUEARzoAAAtHAQF/QRBBBBD3CyIDRQRAQRBBBEHI78MAKAIAIgNBigcgAxsRAAAACyADIAI4AgwgAyABOAIIIAMgADgCBCADQQA2AgAgAws0AQF/IAAgATYCDCAAQQA2AgggACABQRxqKAIAIgI2AgQgACACIAFBIGooAgBBFGxqNgIACzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBENYBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARC/ASADKAIIIQAgA0EgaiQAIABBBEcLLwEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQfCADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQsAEgAygCCCEAIANBIGokACAAQQRHCy8BAX8jAEEQayIDJAAgA0EIaiAAIAEgAkEBEEYgAygCCCEAIANBEGokACAAQQFGCy8BAX8jAEEQayIDJAAgA0EIaiAAIAEgAkEBED8gAygCCCEAIANBEGokACAAQQFGCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEK8BIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDOASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQqAEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBENwBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARCJASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQ3wEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEMABIAMoAgghACADQSBqJAAgAEEERwsvAQF/IwBBEGsiAyQAIANBCGogACABIAJBARBSIAMoAgghACADQRBqJAAgAEEBRgs+ACAAKAIAIQAgAS0AGEEQcUEEdkUEQCABLQAYQSBxQQV2RQRAIAAgARDNDA8LIAAgARC6Bw8LIAAgARC5BwsuACMAQRBrIgMkACADIAAoAgA2AgwgA0EMaiABIAIgAxDXBiEAIANBEGokACAAC1ABAn8jAEEQayIAJAAgASgCAEHYmMAAQQsgASgCBCgCDBEFACEDIABBCGoiAkEAOgAFIAIgAzoABCACIAE2AgAgAhCaByEBIABBEGokACABCy0BAX8jAEEwayICJAAgAkEIaiAAIAFBARB2IAItABQhACACQTBqJAAgAEEARwtHAQF/QRRBBBD3CyIARQRAQRRBBEHI78MAKAIAIgBBigcgABsRAAAACyAAQgA3AgAgAEGAgID8AzYCECAAQQhqQgA3AgAgAAvkAgEDfyAAKAIAIQAgAS0AGEEQcUEEdkUEQCABLQAYQSBxQQV2RQRAIAAxAABBASABEIAFDwsjAEGAAWsiAyQAIAAtAAAhAkEAIQADQCAAIANqQf8AakEwQTcgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAkH/AXEiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQZzLwwAQygwACyABQQFBrMvDAEECIAAgA2pBgAFqQQAgAGsQ/gEhACADQYABaiQAIAAPCyMAQYABayIDJAAgAC0AACECQQAhAANAIAAgA2pB/wBqQTBB1wAgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAkH/AXEiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQZzLwwAQygwACyABQQFBrMvDAEECIAAgA2pBgAFqQQAgAGsQ/gEhACADQYABaiQAIAALhQMCA38BfiAAKAIAIQAgAS0AGEEQcUEEdkUEQCABLQAYQSBxQQV2RQRAIAAuAQAiAK0iBUL//wODQgAgBUIwhkIwh30gAEEATiIAGyAAIAEQgAUPCyMAQYABayIDJAAgAC8BACECQQAhAANAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQZzLwwAQygwACyABQQFBrMvDAEECIAAgA2pBgAFqQQAgAGsQ/gEhACADQYABaiQAIAAPCyMAQYABayIDJAAgAC8BACECQQAhAANAIAAgA2pB/wBqQTBB1wAgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAkH//wNxIgRBBHYhAiAEQQ9LDQALIABBgAFqIgJBgQFPBEAgAkGAAUGcy8MAEMoMAAsgAUEBQazLwwBBAiAAIANqQYABakEAIABrEP4BIQAgA0GAAWokACAAC1ABAn8jAEEQayIAJAAgASgCAEHl0cAAQQsgASgCBCgCDBEFACEDIABBCGoiAkEAOgAFIAIgAzoABCACIAE2AgAgAhCaByEBIABBEGokACABCy0BAX8jAEEwayICJAAgAkEIaiAAIAFBARBCIAItABQhACACQTBqJAAgAEEARwtIAQF9IAEqAgAhAkEEQQQQ9wsiAUUEQEEEQQRByO/DACgCACIAQYoHIAAbEQAAAAsgASACOAIAIABB3KfCADYCBCAAIAE2AgALMgEBfSAAIAEqAgAiAiAClCABQQRqKgIAIgIgApSSEJMBOAIMIABBADYCCCAAQgA3AgALTAECfSAAKgIEIAAqAgAQ6wwiAUMAAAAAYEUEQEHY1MIAQShBgNXCABDZCQALQ9sPyT8gAZMiAiACIAEgAZIiASABIAJeGyABIAFcGwtQAQJ/IwBBEGsiACQAIAEoAgBBp6HDAEELIAEoAgQoAgwRBQAhAyAAQQhqIgJBADoABSACIAM6AAQgAiABNgIAIAIQmgchASAAQRBqJAAgAQssAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQQA2AgAgAEHEAGpBAjYCAAsrAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQQA2AgAgAEE8aiABOAIACysAAkAgAARAIAAoAgBFDQEQ2wwACxDaDAALIABBADYCACAAQUBrIAE4AgALKwACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIABBIGpBAjYCAAsrAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQQA2AgAgAEEMaiABOAIACysAAkAgAARAIAAoAgBFDQEQ2wwACxDaDAALIABBADYCACAAQRxqIAE4AgALKwACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIABBJGogATgCAAsrAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQQA2AgAgAEEoaiABNgIACysAAkAgAARAIAAoAgBFDQEQ2wwACxDaDAALIABBADYCACAAQSxqIAE2AgALKwACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIABBMGogATYCAAsrAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQQA2AgAgAEE0aiABNgIACysAAkAgAARAIAAoAgBFDQEQ2wwACxDaDAALIABBADYCACAAQThqIAE2AgALKwACQCAABEAgACgCAEUNARDbDAALENoMAAsgAEEANgIAIABBCGogATgCAAstAQJ9IAAqAgwgACoCACIBIAAqAgQiAiABIAJfGyIBIAAqAggiAiABIAJfG5ILKQEBfwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgABC1AQsLKAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQcQAaigCAEECRwsnAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIABBIGooAgBBAkcLQAEBfiAAKQIAIQFBEEEEEPcLIgBFBEBBEEEEQcjvwwAoAgAiAEGKByAAGxEAAAALIAAgATcCBCAAQQA6AAAgAAsoACAAKAIAKAIAIgApAwAgAEEIaikDACABKAIMIAJBdGxqQQxrEKMDCygAIAAoAgAoAgAiACkDACAAQQhqKQMAIAEoAgwgAkF0bGpBDGsQnAMLMAEBfSAAIAIqAgggASoCACIDlDgCCCAAIAMgAioCBJQ4AgQgACADIAIqAgCUOAIACywAIAAgASkCADcCACAAQRBqIAFBEGopAgA3AgAgAEEIaiABQQhqKQIANwIACy0AIAAgASkCNDcCACAAQRBqIAFBxABqKQIANwIAIABBCGogAUE8aikCADcCAAsoAAJAIAAEQCAAKAIARQ0BENsMAAsQ2gwACyAAQQA2AgAgACABOAIECzwBAX9BEEEEEPcLIgBFBEBBEEEEQcjvwwAoAgAiAEGKByAAGxEAAAALIABCADcCACAAQQhqQgA3AgAgAAs4AAJAIAEtABhBEHFBBHZFBEAgAS0AGEEgcUEFdg0BIAAgARDNDA8LIAAgARC5Bw8LIAAgARC6BwssACABQYACaiACKQIANwIAIAFBiAJqIAJBCGooAgA2AgAgACABQbACEOQMGgssACABQZwCaiACKQIANwIAIAFBpAJqIAJBCGooAgA2AgAgACABQbACEOQMGgspAQF/IwBBIGsiAiQAIAIgACABENQCIAItAAwhACACQSBqJAAgAEEARwstACAAIAIgAUHMAGooAgAgAUHQAGooAgAgAUHYAGooAgAgAUHcAGooAgAQ4AELJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQSxqKgIACyUAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgAEHYAGotAAALJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQTxqKgIACyQAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgAEFAayoCAAskAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIABBEGotAAALJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQRxqKAIACyQAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgAEEMaioCAAskAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIABBHGoqAgALJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQSRqKgIACyQAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgAEEoaigCAAskAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIABBLGooAgALJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQTBqKAIACyQAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgAEE0aigCAAskAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIABBOGooAgALJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQTRqKgIACyQAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgAEEUaioCAAskAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIABBDGooAgALJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQQhqKgIACyQAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgAEEQaioCAAskAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIABBIGoqAgALJAACQCAABEAgACgCAEF/Rw0BENsMAAsQ2gwACyAAQTBqKgIACygAIAAoAgAoAgAiACkDACAAQQhqKQMAIAEoAgwgAkEFdGtBIGsQ4gMLKAAgACgCACgCACIAKQMAIABBCGopAwAgASgCDCACQQN0a0EIaxCsAwsnAQF/IwBBEGsiAiQAIAIgACABQQEQGyACLQAMIQAgAkEQaiQAIAALJwEBfyMAQRBrIgIkACACIAAgAUEBEB8gAi0ADCEAIAJBEGokACAACycBAX8jAEEQayICJAAgAiAAIAFBARAeIAItAAwhACACQRBqJAAgAAsoAQF/IwBBEGsiAiQAIAIgACABQQEQpgIgAi0ADCEAIAJBEGokACAACycBAX8jAEEQayICJAAgAiAAIAFBARAgIAItAAwhACACQRBqJAAgAAsnAQF/IwBBEGsiAiQAIAIgACABQQEQGSACLQAMIQAgAkEQaiQAIAALJwEBfyMAQRBrIgIkACACIAAgAUEBEBwgAi0ADCEAIAJBEGokACAACycBAn0gACoCACIBIAAqAgQiAiABIAJfGyIBIAAqAggiAiABIAJfGwtvAQF/IwBBEGsiAyQAIAMgAjYCCCADIAE2AgQgAyAANgIAIwBBEGsiACQAIABBCGogA0EIaigCADYCACAAIAMpAgA3AwAjAEEQayIBJAAgASAAKQIANwMIIAFBCGpByJTAAEEAIAAoAghBARDlBgALHwACQCAABEAgACgCAEUNARDbDAALENoMAAsgABC1AQsfAAJAIAAEQCAAKAIADQEgABC1AQ8LENoMAAsQ2wwAC28BAX8jAEEQayIDJAAgAyACNgIIIAMgATYCBCADIAA2AgAjAEEQayIAJAAgAEEIaiADQQhqKAIANgIAIAAgAykCADcDACMAQRBrIgEkACABIAApAgA3AwggAUEIakHkzcAAQQAgACgCCEEBEOUGAAtvAQF/IwBBEGsiAyQAIAMgAjYCCCADIAE2AgQgAyAANgIAIwBBEGsiACQAIABBCGogA0EIaigCADYCACAAIAMpAgA3AwAjAEEQayIBJAAgASAAKQIANwMIIAFBCGpB3PDBAEEAIAAoAghBARDlBgALIQEBfwJAIABBBGooAgAiAUUNACAAKAIARQ0AIAEQtQELCyEAAkAgAARAIAAoAgBBf0cNARDbDAALENoMAAsgACoCBAshAAJAIAAEQCAAKAIAQX9HDQEQ2wwACxDaDAALIAAoAgQLIAAgAUECTQRAIAAgAUECdGoPC0G8/MAAQRsgAhC4CwALJQAgAEUEQEHwvMAAQTAQ2QwACyAAIAIgAyAEIAUgASgCEBEjAAsiAQJ+IAApAwAiAkI/hyEDIAIgA4UgA30gAkIAWSABEIAFCzIBAX9BBEEEEPcLIgBFBEBBBEEEQcjvwwAoAgAiAEGKByAAGxEAAAALIABBADYCACAACyMAIABFBEBB8LzAAEEwENkMAAsgACACIAMgBCABKAIQEQIACyMAIABFBEBB8LzAAEEwENkMAAsgACACIAMgBCABKAIQERoACyMAIABFBEBB8LzAAEEwENkMAAsgACACIAMgBCABKAIQERcACyQAIABFBEBB8LzAAEEwENkMAAsgACACIAMgBCABKAIQEZABAAskACAARQRAQfC8wABBMBDZDAALIAAgAiADIAQgASgCEBGSAQALFQAgACgCAARAIABBBGooAgAQtQELCyEAIABFBEBB8LzAAEEwENkMAAsgACACIAMgASgCEBEBAAskACAALQAARQRAIAFBkM7DAEEFENABDwsgAUGMzsMAQQQQ0AELHQAgASgCAEUEQAALIABB6LDAADYCBCAAIAE2AgALHwAgAEUEQEHwvMAAQTAQ2QwACyAAIAIgASgCEBEDAAsdACABKAIARQRAAAsgAEHYicEANgIEIAAgATYCAAsdACABKAIARQRAAAsgAEH0/cEANgIEIAAgATYCAAs0ACAAQv////f//////gA3AgggAEL////3/////343AgAgAEEQakL////39/////4ANwIAC4ELAgh/GH0gAUHkAGooAgAhCSABQegAaigCACEBIwBB8ABrIgMkACADQQA2AhAgA0KAgICAwAA3AwgCQCABRQRADAELIAFBJGwhCiADQThqIQgDQCAGIAlqIgRBIGooAgAhASADQRhqIARBHGooAgAgASgCCEEHakF4cWogAiABKAKQAREUACADQdAAaiIFIAhBCGooAgA2AgAgAyAIKQIANwNIIAMqAiwiEiAEKgIAIg2UIAMqAigiFCAEQQRqKgIAIg6UkyIMIAySIRYgFCAEQQhqKgIAIg+UIAMqAjAiCyANlJMiDCAMkiEXIARBGGoqAgAgCyAEQQxqKgIAIhEgFpQgDSAXlCAOIAsgDpQgEiAPlJMiDCAMkiIMlJOSkpIhHCAPIAMqAiQiEJQgDSADKgIcIhWUIBEgAyoCICITlJIgDiADKgIYIguUk5IhICAPIAuUIA4gEJQgESAVlCANIBOUk5KSISEgDiATlCARIAuUIA0gEJSSkiAPIBWUkyEiIBEgEJQgDSALlJMgDiAVlJMgDyATlJMhEyAaQwAAAABDAACAPyADKgI0IhWVIBVDAAAAAFsbIhAgHJSSIRogGyAQIARBFGoqAgAgEiARIBeUIA8gDJQgDSAWlJOSkpIiC5SSIRsgGSAQIARBEGoqAgAgFCARIAyUIA4gFpQgDyAXlJOSkpIiDJSSIRkgGCAQkiEYIAMoAhAiBCADKAIIRgRAIANBCGogBBC9BiADKAIQIQQLIAMoAgwiASAEQSxsaiIHIBU4AhwgByAcOAIYIAcgCzgCFCAHIAw4AhAgByATOAIMIAcgIDgCCCAHICE4AgQgByAiOAIAIAcgAykDSDcCICAHQShqIAUoAgA2AgAgAyAEQQFqIgU2AhAgCiAGQSRqIgZHDQALIBhDAAAAAF4EQCAbIBiVIRsgGiAYlSEaIBkgGJUhGQsgAygCCCEIQwAAAAAhDUMAAAAAIQ5DAAAAACEWQwAAAAAhF0MAAAAAIQ9DAAAAACERQwAAAAAhECAFBEAgBEEsbEEsaiEEIAEhBQNAIANBGGoiBkEQaiIJIAVBEGopAgA3AwAgBkEYaiIKIAVBGGopAgA3AwAgBkEoaiAFQShqKAIANgIAIAZBIGogBUEgaikCADcDACAGQQhqIAVBCGopAgA3AwAgAyAFKQIANwMYIAkqAgAhEyAKKgIAIQsgAyoCLCEMIANByABqIAYQ/QECfSADKgI0IgJDAAAAAFsEQCADKgJoIRQgAyoCZCEcIAMqAmAhFSADKgJcISAgAyoCWCELIAMqAlQhISADKgJQISIgAyoCTCETIAMqAkgMAQsgGyAMkyISIBogC5MiC5RDAAAAAJJDAACAPyAClSIdlCICIAMqAmSSIRwgGSATkyIUIAuUQwAAAACSIB2UIgwgAyoCYJIhFSACIAMqAlySISAgFCASlEMAAAAAkiAdlCICIAMqAlSSISEgDCADKgJQkiEiIAIgAyoCTJIhEyALIAuUIgsgFCAUlCIMIBIgEpQiApKSQwAAAACSIRIgHSALIBKSlCADKgJokiEUIB0gAiASkpQgAyoCWJIhCyAdIAwgEpKUIAMqAkiSCyECIAVBLGohBSAQIBSSIRAgESAckiERIA8gFZIhDyAeICCSIR4gFyALkiEXIBYgIZIhFiAOICKSIQ4gDSATkiENIB8gApIhHyAEQSxrIgQNAAsLIAhFDQAgARC1AQsgAyAaOAJQIAMgGzgCTCADIBk4AkggAyAQOAI4IAMgETgCNCADIA84AjAgAyAeOAIsIAMgFzgCKCADIBY4AiQgAyAOOAIgIAMgDTgCHCADIB84AhggACADQcgAaiAYIANBGGoQoQIgA0HwAGokAAsZACAAIAFBBGooAgAgAUEIaigCACACEMcCCzQAIABC////9//////+ADcCCCAAQv////f/////fjcCACAAQRBqQv////f3/////gA3AgALNAAgAEL////3//////4ANwIIIABC////9/////9+NwIAIABBEGpC////9/f////+ADcCAAsZACAAKAIAIgAoAgAgAEEEaigCACABEOgBCxoAIABBADYCCCAAQgA3AgAgACABKgIAOAIMCx0AIABBzL/CADYCBCAAIAE2AgAgACABKgIYOAIICx0AIABBxLzCADYCBCAAIAE2AgAgACABKgIMOAIICx0AIABBjMDCADYCBCAAIAE2AgAgACABKgIkOAIICx0AIABB7NHCADYCBCAAIAE2AgAgACABKgIIOAIICx0AIABBrNXCADYCBCAAIAE2AgAgACABKgIIOAIICx0AIABB8M7CADYCBCAAIAE2AgAgACABKgJgOAIICyABAX8QqwUiAEUEQEGfn8MAQd4AQZygwwAQzgwACyAACxgAIAAoAgAgASgCACAC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8cEANgIEIAAgATYCAAsTACAAQZDxwQA2AgQgACABNgIACxMAIABBoPHBADYCBCAAIAE2AgALEwAgAEGw8cEANgIEIAAgATYCAAsTACAAQcDxwQA2AgQgACABNgIACxMAIABB0PHBADYCBCAAIAE2AgALEwAgAEHg8cEANgIEIAAgATYCAAsTACAAQfDxwQA2AgQgACABNgIACxMAIABBgPLBADYCBCAAIAE2AgALEwAgAEGQ8sEANgIEIAAgATYCAAsTACAAQaDywQA2AgQgACABNgIACxMAIABBsPLBADYCBCAAIAE2AgALEwAgAEHA8sEANgIEIAAgATYCAAsTACAAQdDywQA2AgQgACABNgIACxMAIABB4PLBADYCBCAAIAE2AgALEwAgAEHw8sEANgIEIAAgATYCAAsTACAAQYDzwQA2AgQgACABNgIACxMAIABBkPPBADYCBCAAIAE2AgALEwAgAEGg88EANgIEIAAgATYCAAsTACAAQbDzwQA2AgQgACABNgIACxMAIABBwPPBADYCBCAAIAE2AgALEwAgAEHQ88EANgIEIAAgATYCAAsQACAAQQM2AgAgACABNgIECxAAIABBBDYCACAAIAE2AgQLEAAgAEECNgIAIAAgATYCBAsQACAAQQE2AgAgACABNgIECxAAIABBADYCACAAIAE2AgQLEwAgAEHQucIANgIEIAAgATYCAAsTACAAQai8wgA2AgQgACABNgIACxMAIABBsL/CADYCBCAAIAE2AgALEwAgAEHwv8IANgIEIAAgATYCAAsTACAAQbDAwgA2AgQgACABNgIACxAAIABBCTYCACAAIAE2AgQLEwAgAEH4w8IANgIEIAAgATYCAAsQACAAQQY2AgAgACABNgIECxMAIABB1MbCADYCBCAAIAE2AgALEAAgAEEFNgIAIAAgATYCBAsTACAAQbDJwgA2AgQgACABNgIACw4AIAAgAUE0aiACENkCCxAAIABBCDYCACAAIAE2AgQLEAAgAEEKNgIAIAAgATYCBAsTACAAQdTOwgA2AgQgACABNgIACxAAIABBCzYCACAAIAE2AgQLEwAgAEHQ0cIANgIEIAAgATYCAAsQACAAQQw2AgAgACABNgIECxMAIABBkNXCADYCBCAAIAE2AgALGQAgAEKAgICA8P//v/8ANwIIIABCADcCAAsQACAAQQc2AgAgACABNgIECxAAIABBDTYCACAAIAE2AgQLEwAgAEHklMMANgIEIAAgATYCAAsQACAAQQ42AgAgACABNgIECxMAIABBgJXDADYCBCAAIAE2AgALEAAgAEEPNgIAIAAgATYCBAsTACAAQZyVwwA2AgQgACABNgIACxAAIABBEDYCACAAIAE2AgQLEwAgAEG4lcMANgIEIAAgATYCAAsQACAAQRE2AgAgACABNgIECxMAIABB1JXDADYCBCAAIAE2AgALEQAgACgCACAAKAIEIAEQ6AELHAAgASgCACAAKAIAIAAoAgQgASgCBCgCDBEFAAsTACAAQeijwwA2AgQgACABNgIACxEAIAEgACgCACAAKAIEENABCwwAIAAgASACIAMQUQsMACAAIAEgAiADEGULDAAgACABIAIgAxBPCwwAIAAgASACIAMQTAsNACAAIAFBsAIQ5AwaCw0AIAAgASACIAMQ7gILDQAgACABIAIgAxCQAwsMACAAIAEgAiADEH4LDQAgACABIAIgAxCnAQsNACAAIAEgAiADELEBCw0AIAAgASACIAMQnQELwQMBBH0jAEEQayIBJAACQAJAAkACQAJAAkAgAg4DAAECAwtDAABAQBCTASEFIABBATYCACAAQQxqQwAAgL9DAACAPyADQQRxGyAFlTgCACAAQQhqQwAAgL9DAACAPyADQQJxGyAFlTgCACAAQwAAgL9DAACAPyADQQFxGyAFlTgCBAwECyABQQA2AgggAUIANwMAIAEgA0EDcSICQQFqQQNwIgRBAnRqQwAAgL9DAACAPyADQQJ2IgMgBHZBAXEbOAIAIAEgAkECakEDcCICQQJ0akMAAIC/QwAAgD8gAyACdkEBcRs4AgAgASoCACIGIAaUIAEqAgQiByAHlJIgASoCCCIIIAiUkkMAAAAAkhCTASEFIABBATYCACAAQQxqIAggBZU4AgAgAEEIaiAHIAWVOAIAIAAgBiAFlTgCBAwDCyABQQA2AgggAUIANwMAQwAAgD8hBSADQQNJDQFDAACAvyEFIANBA2siA0EDSQ0BQbj4wQBBG0GstMIAELkLAAsgAEEANgIADAELIAEgA0ECdGogBTgCACAAQQE2AgAgACABKQMANwIEIABBDGogAUEIaigCADYCAAsgAUEQaiQAC+kDAQV9IwBBIGsiBCQA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akEBNgIAIANBnM/DADYCECADQQA2AgggA0EBNgIkIAMgATYCGCADIANBBGo2AiggAyADNgIgIAAgAhDTCgALewEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakECNgIAIANBHGpBAjYCACADQSBqIgFBDGpBATYCACADQbzPwwA2AhAgA0EANgIIIANBATYCJCADIAE2AhggAyADQQRqNgIoIAMgAzYCICAAIAIQ0woAC3sBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQhqIgBBDGpBAjYCACADQRxqQQI2AgAgA0EgaiIBQQxqQQE2AgAgA0Hwz8MANgIQIANBADYCCCADQQE2AiQgAyABNgIYIAMgA0EEajYCKCADIAM2AiAgACACENMKAAsOACAANQIAQQEgARCABQttAQF/IwBBEGsiAyQAIAMgATYCDCADIAA2AggjAEEgayIAJAAgAEEMakEBNgIAIABBFGpBATYCACAAQYjJwwA2AgggAEEANgIAIABBowc2AhwgACADQQhqNgIYIAAgAEEYajYCECAAIAIQ0woAC88CAgR/An4jAEFAaiICJABBASEEAkAgAC0ABA0AIAAtAAUhBAJAAkACQCAAKAIAIgMoAhgiBUEEcUUEQCAEDQEMAwsgBA0BQQEhBCADKAIAQf3KwwBBASADKAIEKAIMEQUADQMgAygCGCEFDAELQQEhBCADKAIAQeHKwwBBAiADKAIEKAIMEQUARQ0BDAILQQEhBCACQQE6ABcgAkHAysMANgIcIAIgAykCADcDCCACIAJBF2o2AhAgAykCCCEGIAMpAhAhByACIAMtACA6ADggAiADKAIcNgI0IAIgBTYCMCACIAc3AyggAiAGNwMgIAIgAkEIajYCGCABIAJBGGpBgPXBACgCABEDAA0BIAIoAhhB38rDAEECIAIoAhwoAgwRBQAhBAwBCyABIANBgPXBACgCABEDACEECyAAQQE6AAUgACAEOgAEIAJBQGskAAsOACAAKAIAIAEgAhDxAwsOACAAKQMAQQEgARCABQvSAwIBfgR/IAAoAgApAwAhAiMAQYABayIFJAACQAJAAkACQCABKAIYIgBBEHFFBEAgAEEgcQ0BIAJBASABEIAFIQAMBAtBgAEhACAFQYABaiEEAkACQANAIABFBEBBACEADAMLIARBAWtBMEHXACACpyIDQQ9xIgZBCkkbIAZqOgAAIAJCEFoEQCAEQQJrIgQgA0H/AXEiA0EEdkEwQdcAIANBoAFJG2o6AAAgAEECayEAIAJCgAJUIQMgAkIIiCECIANFDQEMAgsLIABBAWshAAsgAEGBAU8NAgsgAUEBQazLwwBBAiAAIAVqQYABIABrEP4BIQAMAwtBgAEhACAFQYABaiEEAkACQANAIABFBEBBACEADAMLIARBAWtBMEE3IAKnIgNBD3EiBkEKSRsgBmo6AAAgAkIQWgRAIARBAmsiBCADQf8BcSIDQQR2QTBBNyADQaABSRtqOgAAIABBAmshACACQoACVCEDIAJCCIghAiADRQ0BDAILCyAAQQFrIQALIABBgQFPDQILIAFBAUGsy8MAQQIgACAFakGAASAAaxD+ASEADAILIABBgAFBnMvDABDKDAALIABBgAFBnMvDABDKDAALIAVBgAFqJAAgAAsLACAAIwBqJAAjAAsZACABKAIAQZyDwABBESABKAIEKAIMEQUACxkAIAEoAgBBgIDAAEEOIAEoAgQoAgwRBQALGQAgASgCAEHMscAAQRQgASgCBCgCDBEFAAsZACABKAIAQaixwABBFCABKAIEKAIMEQUACwwAIAAoAgAgARDICwsJACAAIAEQFAALDQBBnL7AAEEbENkMAAsOAEG3vsAAQc8AENkMAAsOACABQYjOwABBAhDQAQuwCQMIfwJ9A34gACgCACECIAEoAhhBAXEhAAJAIAEoAhBBAUYEQCABIAIqAgAgACABQRRqKAIAEOkBIQAMAQsgAigCACICviEKAkAgAkH/////B3G+IgtDyhsOWmANACALQwAAAABcIAtDF7fROF1xDQAgASAKIABBARClAiEADAELIwBBoAFrIgIkACAKvCEEQQMhAwJAIApDAACAf1sNACAKQwAAgP9bDQAgCiAKXARAQQIhAwwBCyAEQf///wNxQYCAgARyIARBAXRB/v//B3EgBEEXdkH/AXEiBRsiB60iDEIBgyEOQQQhAwJAAkBBBEEDIARBgICA/AdxG0ECIARB/////wdxG0EDaw4CAAECCyAFQZYBayEGIA5QIQNCASENDAELQoCAgBAgDEIBhiAHQYCAgARGIgYbIQxCAkIBIAYbIQ0gDlAhA0HofkHpfiAGGyAFaiEG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AEELCwQAQQwLBwBD//9/fwsEAEEHCwQAQQ0LBwBD2w/JPwsEAEEOCwQAQQ8LBABBEAsEAEERCw0AQpu135fe5cG/5wALDABC0ZWWx/rwkbl4CwMAAQsDAAELAwABCwMAAQsL7egDBgBBgIDAAAuGsANhIG1hdHJpeCBhcnJheQAACQAAAAAAAAABAAAACgAAAG5vIGVudHJ5IGZvdW5kIGZvciBrZXkAAE5vIGVsZW1lbnQgYXQgaW5kZXhDYW5ub3QgZGVzZXJpYWxpemUgY3VzdG9tIHNoYXBlLgAJAAAAAAAAAAEAAAALAAAACQAAAAAAAAABAAAADAAAAEFsbG9jYXRpb24gZnJvbSBpdGVyYXRvciBlcnJvcjogdGhlIGl0ZXJhdG9yIGRpZCBub3QgeWllbGQgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGVsZW1lbnRzLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvbmFsZ2VicmEtMC4zMi4xL3NyYy9iYXNlL2RlZmF1bHRfYWxsb2NhdG9yLnJz5gAQAG4AAAB8AAAACQAAAABzdHJ1Y3QgQml0VmVjIHdpdGggMiBlbGVtZW50cwAAZQEQAB0AAAAJAAAACAAAAAQAAAANAAAAYSB0dXBsZSBvZiBzaXplIDMAAAAJAAAAAAAAAAEAAAAOAAAAc3RydWN0IENvbXBvdW5kIHdpdGggNCBlbGVtZW50cwDAARAAHwAAAHN0cnVjdCBQb2x5bGluZSB3aXRoIDMgZWxlbWVudHMA6AEQAB8AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS42L3NyYy93YWtlci5ycwAAABACEABlAAAAaAAAACsAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlABACEABlAAAAAwEAABkAAAAQAhAAZQAAAN4AAAAdAAAADwAAAAgAAAAEAAAAEAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY3Jvc3NiZWFtLWNoYW5uZWwtMC41LjYvc3JjL2ZsYXZvcnMvemVyby5yc+QCEABsAAAAZgEAABkAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAOQCEABsAAAAuQAAABcAAADkAhAAbAAAAMAAAAAXAAAA5AIQAGwAAAAWAQAAGQAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMrwDEAAYAAAAc3RydWN0IEVkZ2Ugd2l0aCA0IGVsZW1lbnRzANwDEAAbAAAAdmFyaWFudCBpbmRleCAwIDw9IGkgPCAxOQAAAAAEEAAZAAAAc3RydWN0IEdyYXBoIHdpdGggMiBlbGVtZW50cyQEEAAcAAAAc3RydWN0IExVIHdpdGggMiBlbGVtZW50cwAAAEgEEAAZAAAAc3RydWN0IFJpZ2lkQm9keVNldCB3aXRoIDIgZWxlbWVudHMAbAQQACMAAABzdHJ1Y3QgSXNsYW5kTWFuYWdlciB3aXRoIDQgZWxlbWVudHOYBBAAJAAAAHN0cnVjdCBDb252ZXhQb2x5aGVkcm9uIHdpdGggOCBlbGVtZW50cwDEBBAAJwAAAHN0cnVjdCBDb250YWN0TWFuaWZvbGREYXRhIHdpdGggNyBlbGVtZW50cwAA9AQQACoAAABzdHJ1Y3QgR2VuZXJpY1RyaU1lc2ggd2l0aCA3IGVsZW1lbnRzAAAAKAUQACUAAABzdHJ1Y3QgTWFzc1Byb3BlcnRpZXMgd2l0aCA0IGVsZW1lbnRzAAAAWAUQACUAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDOIBRAAGAAAAHN0cnVjdCBJc29tZXRyeSB3aXRoIDIgZWxlbWVudHMAqAUQAB8AAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDTQBRAAGAAAAHN0cnVjdCBUcmlNZXNoQ29ubmVjdGVkQ29tcG9uZW50cyB3aXRoIDMgZWxlbWVudHMAAADwBRAAMQAAAHN0cnVjdCBHZW5lcmljSGVpZ2h0RmllbGQgd2l0aCA1IGVsZW1lbnRzAAAALAYQACkAAABzdHJ1Y3QgTXVsdGlib2R5IHdpdGggMTYgZWxlbWVudHMAAABgBhAAIQAAAHN0cnVjdCBTQVBSZWdpb24gd2l0aCA3IGVsZW1lbnRzjAYQACAAAABzdHJ1Y3QgSW1wdWxzZUpvaW50IHdpdGggNSBlbGVtZW50cwC0BhAAIwAAAHN0cnVjdCBJbnRlcm5hbEVkZ2VzRml4ZXIgd2l0aCAyIGVsZW1lbnRzAAAA4AYQACkAAABzdHJ1Y3QgR2VuZXJpY1Fidmggd2l0aCA1IGVsZW1lbnRzAAAUBxAAIgAAAHN0cnVjdCBNdWx0aWJvZHlKb2ludCB3aXRoIDMgZWxlbWVudHMAAABABxAAJQAAAHN0cnVjdCBJbXB1bHNlSm9pbnRTZXQgd2l0aCA0IGVsZW1lbnRzAABwBxAAJgAAAHN0cnVjdCBNdWx0aWJvZHlKb2ludFNldCB3aXRoIDQgZWxlbWVudHOgBxAAKAAAAHN0cnVjdCBNdWx0aWJvZHlXb3Jrc3BhY2Ugd2l0aCAyIGVsZW1lbnRzAAAA0AcQACkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy91dGlscy9hcnJheS5ycwAABAgQAGIAAABKAAAACQAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgNngIEAAYAAAAc3RydWN0IFRyaU1lc2hTaGFwZUNvbnRhY3RNYW5pZm9sZHNXb3Jrc3BhY2Ugd2l0aCA0IGVsZW1lbnRzmAgQADwAAABzdHJ1Y3QgSGVpZ2h0RmllbGRTaGFwZUNvbnRhY3RNYW5pZm9sZHNXb3Jrc3BhY2Ugd2l0aCAzIGVsZW1lbnRz3AgQAEAAAABzdHJ1Y3QgQ29udGFjdE1hbmlmb2xkIHdpdGggOCBlbGVtZW50cwAAJAkQACYAAABzdHJ1Y3QgSGVpZ2h0RmllbGRDb21wb3NpdGVTaGFwZUNvbnRhY3RNYW5pZm9sZHNXb3Jrc3BhY2Ugd2l0aCAzIGVsZW1lbnRzAAAAVAkQAEkAAABjYW5ub3QgcmVjdXJzaXZlbHkgYWNxdWlyZSBtdXRleKgJEAAgAAAAL3J1c3RjLzA0NjhhMDBhZTNmZDZlZjFhNmEwZjllYWY2MzdkN2FhOWU2MDRhY2MvbGlicmFyeS9zdGQvc3JjL3N5cy93YXNtLy4uL3Vuc3VwcG9ydGVkL2xvY2tzL211dGV4LnJzAADQCRAAZgAAABQAAAAJAAAACQAAAAgAAAAEAAAAEQAAABIAAAAJAAAAJAAAAAQAAAATAAAACQAAAAwAAAAEAAAAFAAAAAAAAAABAAAAFQAAAAwAAAAEAAAAFgAAABcAAAAYAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAJAAAAAAAAAAEAAAAZAAAAL3J1c3RjLzA0NjhhMDBhZTNmZDZlZjFhNmEwZjllYWY2MzdkN2FhOWU2MDRhY2MvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAOQKEABLAAAA6AkAAAkAAAAJAAAABAAAAAQAAAAaAAAAGwAAABwAAABjYW5ub3QgdHJhbnNtdXRlX2NvcHkgaWYgRHN0IGlzIGxhcmdlciB0aGFuIFNyYwBYCxAALwAAAC9ydXN0Yy8wNDY4YTAwYWUzZmQ2ZWYxYTZhMGY5ZWFmNjM3ZDdhYTllNjA0YWNjL2xpYnJhcnkvY29yZS9zcmMvbWVtL21vZC5ycwCQCxAASwAAABgEAAAFAAAACQAAAAQAAAAEAAAAHQAAAAkAAAAEAAAABAAAAB4AAABpbnZhbGlkIHZhbHVlOiAsIGV4cGVjdGVkIAAADAwQAA8AAAAbDBAACwAAAGludmFsaWQgbGVuZ3RoIAA4DBAADwAAABsMEAALAAAAUG9pc29uRXJyb3IvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMAAABjDBAAcgAAAE0AAAAZAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvc2hhcGUvdHJpbWVzaC5yc+gMEABkAAAA6AMAABEAAADoDBAAZAAAAOkDAAARAAAA6AwQAGQAAADqAwAAEQAAAAAAAAD//////////y9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvaW5kZXhtYXAtMS45LjEvc3JjL21hcC9jb3JlLnJzAIgNEABfAAAAKgAAACMAAACIDRAAXwAAACIAAAAPAAAATWF0cml4IGluaXQuIGVycm9yOiB0aGUgc2xpY2UgZGlkIG5vdCBjb250YWluIHRoZSByaWdodCBudW1iZXIgb2YgZWxlbWVudHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9uYWxnZWJyYS0wLjMyLjEvc3JjL2Jhc2UvY29uc3RydWN0aW9uLnJzUw4QAGkAAABrAAAACQAAAE1hdHJpeCBpbmRleCBvdXQgb2YgYm91bmRzLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9kYXRhL2FyZW5hLnJzAAAA5w4QAGIAAAAKAQAAHgAAAGNvcnJ1cHQgZnJlZSBsaXN0AAAAXA8QABEAAADnDhAAYgAAAAsBAAArAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2RhdGEvZ3JhcGgucnMAAIgPEABiAAAAkgAAABgAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmVkZ2VzLmxlbigpICE9IGNyYXRlOjpJTlZBTElEX1VTSVpFAACIDxAAYgAAANwAAAAJAAAAR3JhcGg6OmFkZF9lZGdlOiBub2RlIGluZGljZXMgb3V0IG9mIGJvdW5kcwBIEBAAKwAAAIgPEABiAAAA5AAAABsAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLm5vZGVzLmxlbigpICE9IGNyYXRlOjpJTlZBTElEX1VTSVpFAACIDxAAYgAAALMAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2RhdGEvY29hcmVuYS5yc9gQEABkAAAAXQAAABkAAADYEBAAZAAAAE4AAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2R5bmFtaWNzL2pvaW50L2ltcHVsc2Vfam9pbnQvaW1wdWxzZV9qb2ludF9zZXQucnMAAFwREACGAAAADAEAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9qb2ludF9zZXQucnMAAPQREACKAAAAaQAAABsAAAD0ERAAigAAAGoAAAAvAAAA9BEQAIoAAACVAAAAHwAAAPQREACKAAAAmAAAABgAAAD0ERAAigAAAJQAAAATAAAAUGFyZW50IHJpZ2lkIGJvZHkgbm90IGZvdW5kLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9nZW9tZXRyeS9jb2xsaWRlcl9zZXQucnMAAADsEhAAbQAAAIAAAAANAAAA7BIQAG0AAAB9AAAAFAAAAOwSEABtAAAAdwAAABYAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvZ2VvbWV0cnkvaW50ZXJhY3Rpb25fZ3JhcGgucnMAAIwTEAByAAAAgwAAAA4AAACMExAAcgAAAIMAAAAnAAAAjBMQAHIAAACCAAAAHQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUvZGVidWdfcmVuZGVyX2JhY2tlbmQucnMAMBQQAIsAAAA1AAAAOAAAADAUEACLAAAANgAAADgAAAAJAAAAJAAAAAQAAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAACQAAACQAAAAEAAAAEwAAACkAAAAqAAAAKwAAACwAAAAJAAAAJAAAAAQAAAAJAAAAJAAAAAQAAAATAAAAKQAAACoAAAArAAAALAAAADAVEAAwFRAAKgAAAAkAAAAkAAAABAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAADcFBAAEwAAAFwKEAApAAAAKgAAACsAAAAsAAAAEBUQADAVEAAwFRAAKgAAADwVEAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL3BpcGVsaW5lL2RlYnVnX3JlbmRlcl9waXBlbGluZS9kZWJ1Z19yZW5kZXJfcGlwZWxpbmUucnMkFhAAjAAAAAcCAAAjAAAAJBYQAIwAAAD8AQAAIwAAAAAAAAABAAAAAgAAAAMAAAAkFhAAjAAAAK8BAAAjAAAAJBYQAIwAAACkAQAAIwAAACQWEACMAAAA0AAAAB4AAAAkFhAAjAAAANAAAAAtAAAACQAAAAwAAAAEAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAAkAAAAMAAAABAAAABQAAABNAAAATgAAAE8AAABQAAAACQAAAAwAAAAEAAAACQAAAAwAAAAEAAAAFAAAAE0AAABOAAAATwAAAFAAAAB0FxAAdBcQAE4AAAAJAAAADAAAAAQAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAAIBcQABQAAABsChAATQAAAE4AAABPAAAAUAAAAFQXEAB0FxAAdBcQAE4AAACAFxAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAPAAAAD0AAABgAAAAPwAAAGEAAABiAAAAYwAAAAkAAAAIAAAABAAAAGQAAAABAAAARXhwZWN0ZWQgIGNvbXBvbmVudHMsIGZvdW5kIHwYEAAJAAAAhRgQABMAAABhbiBhcnJheSBvZiBsZW5ndGggMwkAAAAAAAAAAQAAAGUAAABhbiBhcnJheSBvZiBsZW5ndGggNgkAAAAAAAAAAQAAAGYAAABJbnZhbGlkIEltcHVsc2VKb2ludCByZWZlcmVuY2UuIEl0IG1heSBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBwaHlzaWNzIFdvcmxkLnJhcGllcjNkLy4uL3NyYy9keW5hbWljcy9pbXB1bHNlX2pvaW50X3NldC5ycwAAAEAZEAAtAAAACwAAABQAAABAGRAALQAAABYAAAAUAAAASW52YWxpZCBKb2ludCByZWZlcmVuY2UuIEl0IG1heSBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBwaHlzaWNzIFdvcmxkLnJhcGllcjNkLy4uL3NyYy9keW5hbWljcy9tdWx0aWJvZHlfam9pbnRfc2V0LnJz2RkQAC8AAAAPAAAACwAAANkZEAAvAAAACwAAAB8AAADZGRAALwAAABsAAAAQAAAA2RkQAC8AAAAXAAAAHwAAAEludmFsaWQgUmlnaWRCb2R5IHJlZmVyZW5jZS4gSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHBoeXNpY3MgV29ybGQucmFwaWVyM2QvLi4vc3JjL2R5bmFtaWNzL3JpZ2lkX2JvZHlfc2V0LnJzAJUaEAAqAAAAKwAAABQAAACVGhAAKgAAADYAAAAUAAAASW52YWxpZCBDb2xsaWRlciByZWZlcmVuY2UuIEl0IG1heSBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBwaHlzaWNzIFdvcmxkLnJhcGllcjNkLy4uL3NyYy9nZW9tZXRyeS9jb2xsaWRlcl9zZXQucnMsGxAAKAAAABQAAAAYAAAALBsQACgAAAAgAAAAGAAAACwbEAAoAAAAaAAAAA0AAAAwLjExLjJpbnZhbGlkIGVudW0gdmFsdWUgcGFzc2VkcmFwaWVyM2QvLi4vc3JjL2R5bmFtaWNzL3JpZ2lkX2JvZHkucnMAAACjGxAAJgAAAPsBAAAyAAAATm90IHlldCBpbXBsZW1lbnRlZC5yYXBpZXIzZC8uLi9zcmMvZ2VvbWV0cnkvY29sbGlkZXIucnPwGxAAJAAAAJMAAAAiAAAA8BsQACQAAAAsAgAAEwAAAPAbEAAkAAAAawIAABMAAAByYXBpZXIzZC8uLi9zcmMvZ2VvbWV0cnkvbmFycm93X3BoYXNlLnJzRBwQACgAAADWAAAAEgAAAEQcEAAoAAAA2gAAABIAAABEHBAAKAAAAN4AAAASAAAAcmFwaWVyM2QvLi4vc3JjL2dlb21ldHJ5L3NoYXBlLnJzAAAAnBwQACEAAAAcAQAAQAAAAJwcEAAhAAAAJgEAADgAAACcHBAAIQAAACYBAAA+AAAAnBwQACEAAABuAQAAQAAAAJwcEAAhAAAAbgEAAEYAAACcHBAAIQAAAHkBAABAAAAAnBwQACEAAAB5AQAARgAAAAkAAAAAAAAAAQAAAGcAAABoAAAAaQAAAAkAAAAAAAAAAQAAAAkAAAAAAAAAAQAAAEgdEABqAAAAawAAAGwAAAAMAAAABAAAAG0AAABuAAAAbwAAAHAAAAAQAAAABAAAAHAAAAAQAAAABAAAAIQdEABxAAAAcgAAAAkAAAAEAAAABAAAAHMAAAB0AAAAdAAAAHN0cnVjdCBEZXNlcmlhbGl6YWJsZVdvcmxkIHdpdGggOSBlbGVtZW50cwAAwB0QACoAAAAAAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAgAAAAEAAAAAAwQEBAQEAgFJbnZhbGlkIHNpemUgOiBzaXplcyBtdXN0IGZpdCBpbiBhIHVzaXplICgwIHRvICkAAAAhHhAADQAAAC4eEAAiAAAAUB4QAAEAAAD/////Y2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGRlc3Ryb3llZCBhbHJlYWR5ggAAAAQAAAAEAAAAgwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvanMtc3lzLTAuMy42MC9zcmMvbGliLnJzAAAAsB4QAFkAAADDFgAAAQAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3RjYXBhY2l0eSBvdmVyZmxvdwBUaGUgbG9vc2VuaW5nIG1hcmdpbiBtdXN0IGJlIHBvc2l0aXZlLgAAmB8QACYAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5ycwDIHxAAawAAACECAAAJAAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3F1ZXJ5L2RlZmF1bHRfcXVlcnlfZGlzcGF0Y2hlci5ycwAARSAQAHUAAAARAgAAHgAAAJIAAAAAAAAAAQAAAJIAAAAAAAAAAQAAAMwgEACTAAAAlAAAAJUAAACWAAAAlwAAAJgAAACZAAAAmgAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUARSAQAHUAAADqAQAAGQAAAEUgEAB1AAAA1wEAABkAAABFIBAAdQAAAEECAAAZAAAARSAQAHUAAABQAgAAGQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY3Jvc3NiZWFtLWNoYW5uZWwtMC41LjYvc3JjL3dha2VyLnJzAAAAdCEQAGUAAABoAAAAKwAAAHQhEABlAAAARgAAACgAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAHQhEABlAAAA0QAAABkAAAB0IRAAZQAAAN4AAAAdAAAAdCEQAGUAAADGAAAAGQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGUvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS42L3NyYy9jaGFubmVsLnJzAIAiEABnAAAAswEAAC0AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS42L3NyYy9jb250ZXh0LnJzAPgiEABnAAAAMwAAABUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS42L3NyYy9mbGF2b3JzL2xpc3QucnNwIxAAbAAAAAUBAAA4AAAAmwAAAAgAAAAEAAAAnAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvY3Jvc3NiZWFtLWNoYW5uZWwtMC41LjYvc3JjL2ZsYXZvcnMvemVyby5yc/wjEABsAAAA4QAAABkAAAD8IxAAbAAAAOgAAAARAAAA/CMQAGwAAAAGAQAAFQAAAPwjEABsAAAABwEAACgAAAD8IxAAbAAAAAEBAAAVAAAA/CMQAGwAAAACAQAAKAAAAPwjEABsAAAA/wAAACYAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS42L3NyYy9mbGF2b3JzL2FycmF5LnJzAAAA2CQQAG0AAAB4AQAAGQAAANgkEABtAAAAdgEAACoAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvYmFzZS92ZWNfc3RvcmFnZS5ycy9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3V0aWxzL2FycmF5LnJzAADQJRAAYgAAAEoAAAAJAAAAY2Fubm90IHJlY3Vyc2l2ZWx5IGFjcXVpcmUgbXV0ZXhEJhAAIAAAAC9ydXN0Yy8wNDY4YTAwYWUzZmQ2ZWYxYTZhMGY5ZWFmNjM3ZDdhYTllNjA0YWNjL2xpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC9sb2Nrcy9tdXRleC5ycwAAbCYQAGYAAAAUAAAACQAAAJIAAAAIAAAABAAAAJ0AAACeAAAAkgAAACQAAAAEAAAAnwAAACgpAAAAAAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyb2Fzc2VydGlvbiBmYWlsZWQ6IG1pbiA8PSBtYXgvcnVzdGMvMDQ2OGEwMGFlM2ZkNmVmMWE2YTBmOWVhZjYzN2Q3YWE5ZTYwNGFjYy9saWJyYXJ5L2NvcmUvc3JjL251bS9mMzIucnNFJxAASwAAAHIFAAAJAAAAkgAAAAQAAAAEAAAAoAAAAGFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpAAAAAACSAAAABAAAAAQAAAChAAAAkgAAAAQAAAAEAAAAogAAAJIAAAAEAAAABAAAAKMAAACSAAAABAAAAAQAAACkAAAAkgAAAAQAAAAEAAAApQAAAJIAAAAEAAAABAAAAKYAAAAvcnVzdGMvMDQ2OGEwMGFlM2ZkNmVmMWE2YTBmOWVhZjYzN2Q3YWE5ZTYwNGFjYy9saWJyYXJ5L2FsbG9jL3NyYy9zbGljZS5ycwAAOCgQAEoAAAAhBAAAFQAAADgoEABKAAAALwQAAB4AAAA4KBAASgAAADgEAAAYAAAAOCgQAEoAAAA8BAAAGgAAADgoEABKAAAAQgQAAA0AAAA4KBAASgAAAFMDAABDAAAA/1BvaXNvbkVycm9yL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9iaXQtdmVjLTAuNi4zL3NyYy9saWIucnMAAADwKBAAWQAAAMABAAAYAAAAaW5kZXggb3V0IG9mIGJvdW5kczogID49IAAAAFwpEAAVAAAAcSkQAAQAAADwKBAAWQAAABsCAAAJAAAA8CgQAFkAAAAfAgAAGgAAAPAoEABZAAAAIAIAABoAAADwKBAAWQAAAAwFAAANAAAA8CgQAFkAAAD5BAAAGQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3BhcnRpdGlvbmluZy9xYnZoL2J1aWxkLnJzAADYKRAAbgAAAFsBAAAhAAAA2CkQAG4AAABdAQAAEQAAANgpEABuAAAAeQEAABoAAADYKRAAbgAAAIEBAAAlAAAA2CkQAG4AAACzAQAACQAAANgpEABuAAAAtQEAAAkAAADYKRAAbgAAALcBAAAJAAAA2CkQAG4AAAC7AQAAFwAAANgpEABuAAAARAEAAAkAAADYKRAAbgAAACwBAAANAAAA2CkQAG4AAAAtAQAADQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3BhcnRpdGlvbmluZy9xYnZoL3VwZGF0ZS5ycwD4KhAAbwAAAJQBAAAdAAAA+CoQAG8AAAC1AQAAHwAAAPgqEABvAAAAtgEAABQAAAD4KhAAbwAAALgBAAApAAAA+CoQAG8AAAC5AQAAFQAAAPgqEABvAAAAuwEAABUAAAD4KhAAbwAAAL0BAAAtAAAA+CoQAG8AAAC+AQAAFQAAAPgqEABvAAAAwAEAABUAAAD4KhAAbwAAAMYBAAAVAAAA+CoQAG8AAADSAQAAEQAAAPgqEABvAAAA4gEAABEAAAD4KhAAbwAAAPcBAAAaAAAA+CoQAG8AAAD/AQAAJQAAAPgqEABvAAAAFwIAAA0AAAD4KhAAbwAAADICAAAJAAAA+CoQAG8AAAA0AgAACQAAAPgqEABvAAAANgIAAAkAAAD4KhAAbwAAADoCAAAXAAAA+CoQAG8AAABIAAAAGgAAAPgqEABvAAAATgAAACEAAAD4KhAAbwAAAFcAAAAVAAAA+CoQAG8AAABaAAAAJwAAAPgqEABvAAAAiQAAAA0AAAD4KhAAbwAAAIsAAAAdAAAA+CoQAG8AAAArAAAACQAAAPgqEABvAAAAegEAAAkAAAD4KhAAbwAAAFYBAAAdAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcGFydGl0aW9uaW5nL3FidmgvdHJhdmVyc2FsLnJzAAAoLRAAcgAAANoAAAAZAAAAKC0QAHIAAACaAAAAGQAAACgtEAByAAAATQAAABkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9pbnRlcm5hbF9lZGdlc19maXhlci5ycwDMLRAAgwAAAG8AAAAhAAAAzC0QAIMAAABeAAAAFgAAAMwtEACDAAAAXwAAABYAAADMLRAAgwAAAIUAAAA4AAAAzC0QAIMAAACKAAAATQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hhbGZzcGFjZV9wZm0ucnMAAKAuEACOAAAAQAAAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc190cmltZXNoX3NoYXBlLnJzAABALxAAjgAAAK8AAAARAAAAQC8QAI4AAAC1AAAAHQAAAJIAAAAkAAAABAAAAKcAAACoAAAAqQAAAKoAAACrAAAArAAAAK0AAACuAAAArwAAALAAAACSAAAAJAAAAAQAAACfAAAAsQAAALIAAACzAAAAtAAAAJIAAAAkAAAABAAAAJIAAAAkAAAABAAAAJ8AAACxAAAAsgAAALMAAAC0AAAARDAQAEQwEACyAAAAkgAAACQAAAAEAAAAtQAAALYAAAC3AAAAuAAAALkAAAC6AAAApwAAAKgAAACpAAAAqgAAAKsAAACsAAAArQAAAK4AAACvAAAAsAAAAPAvEACfAAAA+CYQALEAAACyAAAAswAAALQAAAAkMBAARDAQAEQwEACyAAAAUDAQADMAAAA0AAAANQAAADYAAAC7AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAALwAAABAAAAAQQAAAL0AAABALxAAjgAAAGAAAAAJAAAAQC8QAI4AAADPAAAADgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX3NoYXBlLnJzAABYMRAAkgAAAHYAAAAJAAAAWDEQAJIAAACKAAAAIAAAAFgxEACSAAAAoQAAAB0AAABYMRAAkgAAAL8AAAASAAAAWDEQAJIAAADAAAAAEgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwAAPDIQAJYAAABJAAAACQAAAJIAAAA0AAAABAAAAL4AAAC/AAAAPDIQAJYAAABdAAAAJAAAADwyEACWAAAAegAAACEAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19oZWlnaHRmaWVsZF9jb21wb3NpdGVfc2hhcGUucnMYMxAAnAAAAFMAAAAJAAAAGDMQAJwAAACtAAAAEgAAABgzEACcAAAArgAAABIAAACSAAAANAAAAAQAAADAAAAAwQAAABgzEACcAAAAawAAACgAAAAYMxAAnAAAAIgAAAAlAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcXVlcnkvY29udGFjdF9tYW5pZm9sZHMvY29udGFjdF9tYW5pZm9sZHNfY29tcG9zaXRlX3NoYXBlX2NvbXBvc2l0ZV9zaGFwZS5ycxg0EACgAAAASAAAAAkAAACSAAAAOAAAAAQAAADCAAAAwwAAAJIAAAA4AAAABAAAAMQAAADFAAAAGDQQAKAAAAB2AAAALAAAABg0EACgAAAAlQAAACkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9lcGEvZXBhMy5ycwAAABA1EABlAAAAIQEAABsAAAAQNRAAZQAAAPAAAAAXAAAAEDUQAGUAAADxAAAAFwAAABA1EABlAAAA8gAAABcAAAAQNRAAZQAAAA0BAAAdAAAAEDUQAGUAAAANAQAANwAAABA1EABlAAAAEgEAAB0AAAAQNRAAZQAAABIBAAA3AAAAEDUQAGUAAAAXAQAAHQAAABA1EABlAAAAFwEAADcAAAAQNRAAZQAAABwBAAAdAAAAEDUQAGUAAAAcAQAANwAAABA1EABlAAAAowEAABoAAAAQNRAAZQAAAEQBAAAYAAAAEDUQAGUAAABYAQAAIgAAABA1EABlAAAAXQEAAA0AAAAQNRAAZQAAAF8BAAAiAAAAEDUQAGUAAABgAQAAIgAAABA1EABlAAAAYQEAACIAAAAQNRAAZQAAAG8BAAAVAAAAEDUQAGUAAACDAQAAMAAAABA1EABlAAAAgwEAACIAAAAQNRAAZQAAAJcBAAANAAAAEDUQAGUAAACYAQAADQAAABA1EABlAAAAPQEAACEAAABhc3NlcnRpb24gZmFpbGVkOiBtaW5fYm91bmQgPT0gbWluX2JvdW5kL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcXVlcnkvZ2prL2dqay5yczA3EABkAAAAjAAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9zaGFwZS9oZWlnaHRmaWVsZDMucnMAAACkNxAAaQAAANgAAAARAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvc2hhcGUvcG9seWdvbmFsX2ZlYXR1cmUzZC5ycyA4EABwAAAAvgAAABYAAAAgOBAAcAAAABkBAAAeAAAAIDgQAHAAAAAbAQAAOgAAACA4EABwAAAAHgEAACkAAAAgOBAAcAAAAEUBAAAeAAAAIDgQAHAAAABHAQAAOgAAACA4EABwAAAASgEAACkAAAAgOBAAcAAAAG4BAAARAAAAIDgQAHAAAABvAQAAEQAAACA4EABwAAAAdAEAABUAAAAgOBAAcAAAAHUBAAAVAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvc2hhcGUvdHJpbWVzaC5yc0A5EABkAAAAFQQAABMAAABAORAAZAAAABcEAAANAAAAQDkQAGQAAAAYBAAADQAAAEA5EABkAAAAGQQAAA0AAABpbmRleCBvdXQgb2YgYm91bmRzAP//////////L1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9pbmRleG1hcC0xLjkuMS9zcmMvbWFwL2NvcmUucnMAADoQAF8AAAAqAAAAIwAAAGluZGV4IG5vdCBmb3VuZAAAOhAAXwAAADUAAAARAAAAADoQAF8AAACrAgAADgAAAAA6EABfAAAAygEAACIAAAAAOhAAXwAAANABAAAeAAAAYXNzZXJ0aW9uIGZhaWxlZDogaW5kaWNlcy5jYXBhY2l0eSgpIC0gaW5kaWNlcy5sZW4oKSA+PSBlbnRyaWVzLmxlbigpL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9pbmRleG1hcC0xLjkuMS9zcmMvbWFwL2NvcmUvcmF3LnJzBTsQAGMAAAAQAAAABQAAAAU7EABjAAAAgwAAAAoAAAAAOhAAXwAAACIAAAAPAAAATWF0cml4IHNsaWNpbmcgb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvYmFzZS9tYXRyaXhfdmlldy5ycwAAALU7EABoAAAAFgEAAAkAAAC1OxAAaAAAABoBAAAJAAAAUm93cyByYW5nZSBwYWlyOiB0aGUgcmFuZ2VzIG11c3Qgbm90IG92ZXJsYXAuAAAAtTsQAGgAAAASAwAABQAAAFJvd3MgcmFuZ2UgcGFpcjogaW5kZXggb3V0IG9mIHJhbmdlLkRhdGEgc3RvcmFnZSBidWZmZXIgZGltZW5zaW9uIG1pc21hdGNoLgBoJRAAaAAAAFQAAAAJAAAAQ29tcG9uZW50d2lzZSBtdWwvZGl2OiBtaXNtYXRjaGVkIG1hdHJpeCBkaW1lbnNpb25zLtw8EAA0AAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9uYWxnZWJyYS0wLjMyLjEvc3JjL2Jhc2UvY29tcG9uZW50d2lzZS5ycwAAGD0QAGoAAACWAAAABQAAAE1hdHJpeCB2aWV3OiBpbnB1dCBkYXRhIGJ1ZmZlciB0b28gc21hbGwuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9uYWxnZWJyYS0wLjMyLjEvc3JjL2Jhc2UvY29uc3RydWN0aW9uX3ZpZXcucnMAvT0QAG4AAAAwAAAACQAAAE1hdHJpeCBpbmRleCBvdXQgb2YgYm91bmRzLk1hdHJpeCBhZGRpdGlvbi9zdWJ0cmFjdGlvbiBkaW1lbnNpb25zIG1pc21hdGNoLgBXPhAAMAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvbmFsZ2VicmEtMC4zMi4xL3NyYy9iYXNlL29wcy5yc5A+EABgAAAAaAEAAAEAAABnZW1tOiBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBhZGRpdGlvbi4AAD8QACcAAABHZW12OiBkaW1lbnNpb25zIG1pc21hdGNoLiBhbmQgOiBsZWZ0IHJvd3MgIT0gcmlnaHQgcm93cy5NYXRyaXggbXVsdGlwbGljYXRpb24gb3V0cHV0IGRpbWVuc2lvbnMgbWlzbWF0Y2ggOiBsZWZ0IGNvbHMgIT0gcmlnaHQgcm93cy5pPxAAMQAAAEo/EAAFAAAAmj8QABoAAACQPhAAYAAAANUCAAAJAAAAQXhweTogbWlzbWF0Y2hlZCB2ZWN0b3Igc2hhcGVzLgDcPxAAHwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvbmFsZ2VicmEtMC4zMi4xL3NyYy9iYXNlL2JsYXMucnMAAAAEQBAAYQAAAEIBAAAJAAAABEAQAGEAAAAIAgAACQAAAERvdCBwcm9kdWN0IGRpbWVuc2lvbnMgbWlzbWF0Y2ggZm9yIHNoYXBlcyAAiEAQACsAAABKPxAABQAAAE8/EAAaAAAABEAQAGEAAAAgAAAACQAAAARAEABhAAAAGAMAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvYmFzZS9tYXRyaXgucnNNYXRyaXggZWxlbWVudHMgc3dhcCBpbmRleCBvdXQgb2YgYm91bmRzLuxAEABjAAAAtgQAAAkAAADsQBAAYwAAALoEAAAJAAAAVW5hYmxlIHRvIGNvcHkgZnJvbSBhIG1hdHJpeCB3aXRoIGEgZGlmZmVyZW50IHNoYXBlLuxAEABjAAAA4wQAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvYmFzZS9lZGl0aW9uLnJzYXNzZXJ0aW9uIGZhaWxlZDogaXJvdzEgPCBzZWxmLm5yb3dzKCkgJiYgaXJvdzIgPCBzZWxmLm5yb3dzKCkAANxBEABkAAAAOAEAAAkAAABJbmRleCBvdXQgb2YgYm91bmRzLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvbmFsZ2VicmEtMC4zMi4xL3NyYy9iYXNlL2luZGV4aW5nLnJzAAAApEIQAGUAAABSAQAACQAAAE1heGltdW0gbnVtYmVyIG9mIHBlcm11dGF0aW9ucyBleGNlZWRlZC4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvbGluYWxnL3Blcm11dGF0aW9uX3NlcXVlbmNlLnJzAERDEABzAAAAVQAAAA0AAABEQxAAcwAAAFkAAAANAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9uYWxnZWJyYS0wLjMyLjEvc3JjL2xpbmFsZy9sdS5ycwAAANhDEABhAAAAgAEAACsAAABMVSBzb2x2ZSBtYXRyaXggZGltZW5zaW9uIG1pc21hdGNoLgBMRBAAIwAAANhDEABhAAAA9gAAAAkAAABMVSBzb2x2ZTogdW5hYmxlIHRvIHNvbHZlIGEgbm9uLXNxdWFyZSBzeXN0ZW0uAADYQxAAYQAAAPsAAAAJAAAA2EMQAGEAAABoAAAAGAAAAJIAAAAIAAAABAAAAMYAAAACAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2NvbnRyb2wvY2hhcmFjdGVyX2NvbnRyb2xsZXIucnPsRBAAdAAAAMsCAAAdAAAA7EQQAHQAAADKAgAAHwAAAOxEEAB0AAAAuwIAAC8AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvZGF0YS9hcmVuYS5ycwAAkEUQAGIAAAAKAQAAHgAAAGNvcnJ1cHQgZnJlZSBsaXN0AAAABEYQABEAAACQRRAAYgAAAAsBAAArAAAAaW5zZXJ0aW5nIHdpbGwgYWx3YXlzIHN1Y2NlZWQgYWZ0ZXIgcmVzZXJ2aW5nIGFkZGl0aW9uYWwgc3BhY2UAAJIAAAAAAAAAAQAAAMcAAACQRRAAYgAAAEoBAAAJAAAATm8gZWxlbWVudCBhdCBpbmRleC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9kYXRhL2NvYXJlbmEucnMAo0YQAGQAAABOAAAACQAAAENhbm5vdCBpbmRleCB0aGUgc2FtZSBvYmplY3QgdHdpY2UuABhHEAAjAAAAo0YQAGQAAABwAAAACQAAAKNGEABkAAAAeAAAACsAAACjRhAAZAAAAHkAAAATAAAAo0YQAGQAAAB5AAAAIgAAAKNGEABkAAAAgQAAACsAAACjRhAAZAAAAIIAAAATAAAAo0YQAGQAAACCAAAAKwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9kYXRhL2dyYXBoLnJzAAC0RxAAYgAAAJIAAAAYAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5ub2Rlcy5sZW4oKSAhPSBjcmF0ZTo6SU5WQUxJRF9VU0laRQAAtEcQAGIAAACzAAAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuZWRnZXMubGVuKCkgIT0gY3JhdGU6OklOVkFMSURfVVNJWkUAALRHEABiAAAA3AAAAAkAAABHcmFwaDo6YWRkX2VkZ2U6IG5vZGUgaW5kaWNlcyBvdXQgb2YgYm91bmRzAMBIEAArAAAAtEcQAGIAAADkAAAAGwAAAAABL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2R5bmFtaWNz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X3NldC5ycwAAbFMQAIoAAADKAAAAJQAAAGxTEACKAAAAywAAACcAAABsUxAAigAAAMYAAAAdAAAAbFMQAIoAAACzAAAAFQAAAGxTEACKAAAAsQAAACEAAABsUxAAigAAALAAAAAoAAAAbFMQAIoAAACtAAAAHQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9keW5hbWljcy9qb2ludC9tdWx0aWJvZHlfam9pbnQvbXVsdGlib2R5X2xpbmsucnMAAABoVBAAhQAAAHEAAAAZAAAASW50ZXJuYWwgZXJyb3I6IGNpcmN1bGFyIHJpZ2lkIGJvZHkgZGVwZW5kZW5jeS4AAFUQAC8AAABoVBAAhQAAAHMAAAAJAAAASW52YWxpZCBwYXJlbnQgaW5kZXguAAAASFUQABUAAABoVBAAhQAAAHcAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnQucnMAAHhVEACGAAAAVgAAACMAAAB4VRAAhgAAAHcAAAASAAAAeFUQAIYAAABzAAAANwAAAG5vdCB5ZXQgaW1wbGVtZW50ZWQAeFUQAIYAAABvAAAAEQAAAHhVEACGAAAAYQAAAC4AAAB4VRAAhgAAAGEAAAARAAAAeFUQAIYAAACpAAAAEgAAAHhVEACGAAAAoQAAABEAAAB4VRAAhgAAALYAAAAxAAAAeFUQAIYAAADSAAAAEgAAAHhVEACGAAAAzwAAADcAAAB4VRAAhgAAAMsAAAARAAAAeFUQAIYAAADHAAAALgAAAHhVEACGAAAAxwAAABUAAAB4VRAAhgAAAOAAAAARAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC91bml0X211bHRpYm9keV9qb2ludC5ycwAEVxAAiwAAACEAAAAXAAAABFcQAIsAAAAlAAAABQAAAARXEACLAAAAJgAAAAUAAAAEVxAAiwAAAEEAAAAJAAAABFcQAIsAAABiAAAABQAAAARXEACLAAAAYwAAAAUAAAAEVxAAiwAAAHgAAAAQAAAABFcQAIsAAACLAAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X2NvbXBvbmVudHMucnMAABBYEAB2AAAApgMAACgAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvZHluYW1pY3Mvc29sdmVyL2NhdGVnb3JpemF0aW9uLnJzAACYWBAAdgAAAA8AAAAZAAAAmFgQAHYAAAA0AAAAFgAAAJhYEAB2AAAANQAAABQAAACYWBAAdgAAADYAAAAUAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2R5bmFtaWNzL3NvbHZlci9nZW5lcmljX3ZlbG9jaXR5X2NvbnN0cmFpbnQucnMAUFkQAIMAAAAsAAAAFAAAAFBZEACDAAAALQAAABQAAABQWRAAgwAAACoAAAAXAAAAUFkQAIMAAAApAAAAFwAAAFBZEACDAAAANQAAABgAAABQWRAAgwAAADgAAAAYAAAAUFkQAIMAAABJAQAAIgAAAFBZEACDAAAATwEAACIAAABQWRAAgwAAAFQBAAAdAAAAUFkQAIMAAABrAQAADQAAAFBZEACDAAAAbwEAAA0AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvZHluYW1pY3Mvc29sdmVyL2dlbmVyaWNfdmVsb2Np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AARkEAB7AAAAgQEAACcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvZHluYW1pY3Mvc29sdmVyL3ZlbG9jaXR5X2dyb3VuZF9jb25zdHJhaW50LnJzAACUZRAAggAAADYAAAAYAAAAlGUQAIIAAAA8AAAAFAAAAJRlEACCAAAAcwAAABEAAACUZRAAggAAADwAAAAbAAAAlGUQAIIAAADtAAAAHgAAAJRlEACCAAAA8QAAABIAAACUZRAAggAAAPwAAAAJAAAAlGUQAIIAAAABAQAAHQAAAJRlEACCAAAABAEAAB4AAACUZRAAggAAAAUBAAAnAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL2R5bmFtaWNzL3NvbHZlci92ZWxvY2l0eV9zb2x2ZXIucnMAuGYQAHcAAAA7AAAAGwAAALhmEAB3AAAAPAAAACEAAAC4ZhAAdwAAADAAAAAhAAAAuGYQAHcAAACWAAAAHAAAALhmEAB3AAAAhQAAACEAAAC4ZhAAdwAAAOAAAAAcAAAAuGYQAHcAAADUAAAAIQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X3NldC5ycwCgZxAAbwAAALMAAAAOAAAAoGcQAG8AAADdAAAAOQAAAJIAAAAAAAAAAQAAAMwgEACTAAAAlAAAAJUAAACWAAAAlwAAAJgAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvZ2VvbWV0cnkvYnJvYWRfcGhhc2VfbXVsdGlfc2FwL2Jyb2FkX3BoYXNlLnJzAABYaBAAggAAAKUAAAAaAAAAWGgQAIIAAACmAAAAGgAAAFhoEACCAAAAxgAA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AG0AAAAhAwAAGAAAAGByEABtAAAAMQMAACAAAABgchAAbQAAADUDAAAgAAAAQSBjb250YWN0IG1hbmlmb2xkIGNhbm5vdCBjb250YWluIG1vcmUgdGhhbiAyNTUgY29udGFjdHMgY3VycmVudGx5LgDAcxAAQwAAAGByEABtAAAArAMAABkAAABgchAAbQAAAJcDAAAfAAAAYHIQAG0AAACbAwAAHwAAAGByEABtAAAA+gMAACAAAABgchAAbQAAAAsEAAAoAAAAYHIQAG0AAAAXBAAAKAAAAGByEABtAAAAKwQAABkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvZ2VvbWV0cnkvY29sbGlkZXJfc2V0LnJzAAAAfHQQAG0AAACsAAAAHQAAAHx0EABtAAAAFwEAAA4AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3JhcGllcjNkLTAuMTcuMi9zcmMvcGlwZWxpbmUvcGh5c2ljc19waXBlbGluZS5ycwAAAAx1EABxAAAA6wAAABEAAAAMdRAAcQAAAPIAAAAWAAAADHUQAHEAAAD0AAAAFgAAAAx1EABxAAAALwEAABgAAAAMdRAAcQAAADABAAAYAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL3BpcGVsaW5lL3F1ZXJ5X3BpcGVsaW5lLnJzANB1EABvAAAAXgEAABEAAADQdRAAbwAAAJEBAAArAAAA0HUQAG8AAACGAQAANAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcmFwaWVyM2QtMC4xNy4yL3NyYy9waXBlbGluZS91c2VyX2NoYW5nZXMucnMAAABwdhAAbQAAABQAAAAmAAAAVW5hYmxlIHRvIGluZGV4IHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UuAPB2EAAnAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9yYXBpZXIzZC0wLjE3LjIvc3JjL3V0aWxzLnJzAAAAIHcQAF0AAAAPAwAACQAAAJBCEAAUAAAAIHcQAF0AAAAQAwAACQAAAEtpbmVtYXRpY1ZlbG9jaXR5QmFzZWRLaW5lbWF0aWNQb3NpdGlvbkJhc2VkRml4ZWREeW5hbWljAQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2ltYmEtMC44LjAvc3JjL3NpbWQvYXV0b19zaW1kX2ltcGwucnMA5HcQAGcAAAC/BQAAAQAAAM8AAAAIAAAABAAAANAAAADRAAAA0gAAAEgAAAAEAAAA0wAAAM8AAAAkAAAABAAAANQAAADVAAAAYAAAAAQAAADWAAAAzwAAAAwAAAAEAAAA1wAAANgAAAAgAAAABAAAANkAAADPAAAAHAAAAAQAAADaAAAAzwAAAAQAAAAEAAAA2wAAAM8AAAAMAAAABAAAANwAAADPAAAAGAAAAAQAAADdAAAA3gAAACAAAAAEAAAA3wAAAM8AAAAMAAAABAAAAOAAAADhAAAAUAAAAAQAAADiAAAA4wAAAGAAAAAEAAAA5AAAAOUAAADEAAAABAAAAOYAAADPAAAAEAAAAAQAAADnAAAA6AAAAGQAAAAEAAAA6QAAAOoAAABYAAAABAAAAOsAAADsAAAAeAAAAAQAAADtAAAAzwAAACgAAAAEAAAA7gAAAM8AAAAIAAAABAAAAO8AAADwAAAASAAAAAQAAADxAAAAzwAAAAwAAAAEAAAA8gAAAM8AAAAIAAAABAAAAPMAAABhc3NlcnRpb24gZmFpbGVkOiBtaW4gPD0gbWF4L3J1c3RjLzA0NjhhMDBhZTNmZDZlZjFhNmEwZjllYWY2MzdkN2FhOWU2MDRhY2MvbGlicmFyeS9jb3JlL3NyYy9jbXAucnMA/HkQAEcAAABfAwAACQAAAM8AAAAEAAAABAAAAPQAAADPAAAABAAAAAQAAAD1AAAAzwAAAAQAAAAEAAAA9gAAAGFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAAAAAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAAAAAAP//////////L1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9pbmRleG1hcC0xLjkuMS9zcmMvbWFwL2NvcmUucnMAEHsQAF8AAAAqAAAAIwAAABB7EABfAAAAqwIAAA4AAAAQexAAXwAAACIAAAAPAAAATWF0cml4IHNsaWNpbmcgb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvYmFzZS9tYXRyaXhfdmlldy5ycwAAAL17EABoAAAAGgEAAAkAAABNYXRyaXggaW5kZXggb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvYmFzZS9ibGFzLnJzRG90IHByb2R1Y3QgZGltZW5zaW9ucyBtaXNtYXRjaCBmb3Igc2hhcGVzICBhbmQgOiBsZWZ0IHJvd3MgIT0gcmlnaHQgcm93cy4AALR8EAArAAAA33wQAAUAAADkfBAAGgAAAFN8EABhAAAAIAAAAAkAAAAAAAAAAQAAAAAAAAACAAAASW5kZXggb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvYmFzZS9pbmRleGluZy5ycwAAAEx9EABlAAAAUgEAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL25hbGdlYnJhLTAuMzIuMS9zcmMvbGluYWxnL3N5bW1ldHJpY19laWdlbi5ycwAAxH0QAG4AAACOAAAAFQAAAMR9EABuAAAAkAAAAB0AAADEfRAAbgAAAJEAAAAdAAAAxH0QAG4AAACUAAAAFQAAAMR9EABuAAAAoQAAACMAAADEfRAAbgAAALAAAAAwAAAAxH0QAG4AAADEAAAAFQAAAMR9EABuAAAAxQAAABUAAADEfRAAbgAAAMkAAAAfAAAAxH0QAG4AAAD+AAAAEAAAAMR9EABuAAAAQAAAAAkAAADEfRAAbgAAAFQAAAAbAAAAzwAAAAgAAAAEAAAA9wAAAM8AAAAEAAAABAAAAPgAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5yc1RoZSBsb29zZW5pbmcgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUuAAAAf38QACYAAAAUfxAAawAAACECAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvYm91bmRpbmdfdm9sdW1lL2FhYmJfdXRpbHMucnNQb2ludCBjbG91ZCBBYWJiIGNvbnN0cnVjdGlvbjogdGhlIGlucHV0IGl0ZXJhdG9yIHNob3VsZCB5aWVsZCBhdCBsZWFzdCBvbmUgcG9pbnQuAMB/EABxAAAAQAAAAA4AAADAfxAAcQAAAFcAAAAOAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvYm91bmRpbmdfdm9sdW1lL2JvdW5kaW5nX3NwaGVyZS5ycwAApIAQAHYAAAB6AAAACQAAAHR3byBhcnJheXMgY29udGFpbmluZyBhdCBsZWFzdCAgZmxvYXRzAAAsgRAAHwAAAEuBEAAHAAAAGAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL21hc3NfcHJvcGVydGllcy9tYXNzX3Byb3BlcnRpZXNfdHJpbWVzaDNkLnJzaIEQAIAAAAAWAAAAFwAAAGiBEACAAAAAFwAAABcAAABogRAAgAAAABgAAAAXAAAAaIEQAIAAAAClAAAAEgAAAGiBEACAAAAApgAAABIAAABogRAAgAAAAKcAAAASAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcGFydGl0aW9uaW5nL3FidmgvdXRpbHMucnMAAEiCEABuAAAAEgAAABEAAABIghAAbgAAABMAAAAWAAAASIIQAG4AAAAVAAAADAAAAEiCEABuAAAAFwAAABUAAABIghAAbgAAACUAAAARAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcGFydGl0aW9uaW5nL3FidmgvYnVpbGQucnMAAAiDEABuAAAARAEAAAkAAAAIgxAAbgAAACwBAAANAAAACIMQAG4AAAAtAQAADQAAAAiDEABuAAAAWwEAACEAAAAIgxAAbgAAAF0BAAARAAAACIMQAG4AAAB5AQAAGgAAAAiDEABuAAAAgQEAACUAAAAIgxAAbgAAALMBAAAJAAAACIMQAG4AAAC1AQAACQAAAAiDEABuAAAAtwEAAAkAAAAIgxAAbgAAALsBAAAXAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcGFydGl0aW9uaW5nL3FidmgvdHJhdmVyc2FsLnJzAAAohBAAcgAAAE0AAAAZAAAAKIQQAHIAAACaAAAAGQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3F1ZXJ5L2NsaXAvY2xpcF9hYWJiX2xpbmUucnO8hBAAcAAAAI0AAAANAAAAvIQQAHAAAACbAAAADQAAAFRoZSBwcm94aW1pdHkgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUgb3IgbnVsbC4AAEyFEAAuAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfYmFsbF9iYWxsLnJzhIUQAIQAAAAPAAAABQAAAFRoZSBjb21wb3NpdGUgc2hhcGUgbXVzdCBub3QgYmUgZW1wdHkuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfY29tcG9zaXRlX3NoYXBlX3NoYXBlLnJzAAA+hhAAkAAAABkAAAAFAAAAPoYQAJAAAACBAAAAIQAAAD6GEACQAAAAggAAACEAAAA+hhAAkAAAAIMAAAAhAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZS9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2N1Ym9pZF9jdWJvaWQucnM4hxAAiAAAAFIAAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfY3Vib2lkX3RyaWFuZ2xlLnJzAADQhxAAigAAAE0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfaGFsZnNwYWNlX3N1cHBvcnRfbWFwLnJzbIgQAJAAAAANAAAABQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAAAMiRAAkgAAACAAAAAkAAAAzwAAABgAAAAEAAAA+QAAAPoAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9jb250YWN0L2NvbnRhY3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnPEiRAAhAAAAB4AAAAkAAAA2AAAACAAAAAEAAAA2AAAACAAAAAEAAAA2QAAAPsAAAD8AAAA/QAAAP4AAABYihAAWIoQAPwAAAD/AAAAAAEAAN4AAAAgAAAABAAAAN4AAAAgAAAABAAAAN8AAAABAQAAAgEAAAMBAAAEAQAAmIoQAJiKEAACAQAABQEAAAYBAADwAAAASAAAAAQAAADwAAAASAAAAAQAAADxAAAABwEAAAgBAAAJAQAACgEAANiKEADYihAACAEAAAsBAAAMAQAA0gAAAEgAAAAEAAAA0gAAAEgAAAAEAAAA0wAAAA0BAAAOAQAADwEAABABAAAYixAAGIsQAA4BAAARAQAAEgEAAOoAAABYAAAABAAAAOoAAABYAAAABAAAAOsAAAATAQAAFAEAABUBAAAWAQAAWIsQAFiLEAAUAQAAFwEAABgBAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9kaXN0YW5jZS9kaXN0YW5jZV9jb21wb3NpdGVfc2hhcGVfc2hhcGUucnOYixAAhAAAABUAAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2Vfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAACyMEACGAAAANAAAACQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9lcGEvZXBhMy5ycwAAAMSMEABlAAAARgAAAA4AAADEjBAAZQAAAEcAAAAOAAAAxIwQAGUAAABIAAAADgAAAMSMEABlAAAAXgAAAA0AAADEjBAAZQAAAF8AAAANAAAAxIwQAGUAAABgAAAADQAAAMSMEABlAAAAbgAAAA0AAADEjBAAZQAAAG8AAAATAAAAxIwQAGUAAABwAAAAEwAAAMSMEABlAAAAgQAAAA0AAADEjBAAZQAAAIcAAAAcAAAAxIwQAGUAAACHAAAAEwAAAMSMEABlAAAAiAAAABMAAADEjBAAZQAAAIkAAAATAAAAxIwQAGUAAACKAAAAEwAAAMSMEABlAAAAIQEAABsAAADEjBAAZQAAAPAAAAAXAAAAxIwQAGUAAADxAAAAFwAAAMSMEABlAAAA8gAAABcAAADEjBAAZQAAAA0BAAAdAAAAxIwQAGUAAAANAQAANwAAAMSMEABlAAAAEgEAAB0AAADEjBAAZQAAABIBAAA3AAAAxIwQAGUAAAAXAQAAHQAAAMSMEABlAAAAFwEAADcAAADEjBAAZQAAABwBAAAdAAAAxIwQAGUAAAAcAQAANwAAAMSMEABlAAAAowEAABoAAADEjBAAZQAAAEQBAAAYAAAAxIwQAGUAAABYAQAAIgAAAMSMEABlAAAAXQEAAA0AAADEjBAAZQAAAF8BAAAiAAAAxIwQAGUAAABgAQAAIgAAAMSMEABlAAAAYQEAACIAAADEjBAAZQAAAG8BAAAVAAAAxIwQAGUAAACDAQAAMAAAAMSMEABlAAAAgwEAACIAAADEjBAAZQAAAJcBAAANAAAAxIwQAGUAAACYAQAADQAAAMSMEABlAAAAPQEAACEAAADEjBAAZQAAAKkBAAANAAAAxIwQAGUAAACyAQAAHAAAAMSMEABlAAAAtgEAABUAAADEjBAAZQAAALgBAAAVAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvcXVlcnkvZ2prL2dqay5yc+yPEABkAAAAQwAAAA4AAABhc3NlcnRpb24gZmFpbGVkOiBtaW5fYm91bmQgPT0gbWluX2JvdW5k7I8QAGQAAACMAAAACQAAAOyPEABkAAAATwEAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9namsvdm9yb25vaV9zaW1wbGV4My5ycwAAAKiQEABxAAAAJwAAABcAAACokBAAcQAAAFAAAAASAAAAOH0QABQAAACokBAAcQAAAFsAAAAJAAAAqJAQAHEAAABgAAAACQAAAKiQEABxAAAAYQAAAAoAAACokBAAcQAAAGcAAAAJAAAAqJAQAHEAAABtAAAACgAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuZGltID09IDMAqJAQAHEAAAC8AAAADQAAAKiQEABxAAAAEQEAAB4AAACokBAAcQAAAOgAAAAeAAAAqJAQAHEAAACOAAAAFgAAAKiQEABxAAAAXwEAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9pbnRlcnNlY3Rpb25fdGVzdC9pbnRlcnNlY3Rpb25fdGVzdF9zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwSSEACYAAAAOQAAACkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy9xdWVyeS9ub25saW5lYXJfdGltZV9vZl9pbXBhY3Qvbm9ubGluZWFyX3RpbWVfb2ZfaW1wYWN0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OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy90cmFuc2Zvcm1hdGlvbi9jb252ZXhfaHVsbDMvdHJpYW5nbGVfZmFjZXQucnMAAAC0wBAAgQAAABUAAAAUAAAAtMAQAIEAAAAVAAAAIQAAALTAEACBAAAAFgAAABQAAABhc3NlcnRpb24gZmFpbGVkOiBkaXN0YW5jZSA+IGNyYXRlOjptYXRoOjpERUZBVUxUX0VQU0lMT04AAAC0wBAAgQAAACoAAAAJAAAAtMAQAIEAAAA1AAAAGwAAALTAEACBAAAANQAAACsAAAC0wBAAgQAAAEsAAAAJAAAAtMAQAIEAAABYAAAAEgAAALTAEACBAAAAWQAAABIAAAC0wBAAgQAAAHAAAAAWAAAAtMAQAIEAAABxAAAAFgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3RyYW5zZm9ybWF0aW9uL2NvbnZleF9odWxsMy92YWxpZGF0aW9uLnJzAAAAJMIQAH0AAAAGAAAAEgAAACTCEAB9AAAACQAAABEAAABhc3NlcnRpb24gZmFpbGVkOiBmYWNldHNbZmFjZXQuYWRqW2ldXS52YWxpZCTCEAB9AAAACQAAAAkAAAAkwhAAfQAAAA8AAAAUAAAAJMIQAH0AAAAPAAAACQAAACTCEAB9AAAAEAAAAAkAAAAkwhAAfQAAABEAAAAJAAAAJMIQAH0AAAAVAAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3RyYW5zZm9ybWF0aW9uL2NvbnZleF9odWxsX3V0aWxzLnJzAFDDEAB3AAAAKQAAACIAAABQwxAAdwAAAEIAAAAiAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvdHJhbnNmb3JtYXRpb24vdG9fb3V0bGluZS9iYWxsX3RvX291dGxpbmUucnPowxAAgAAAAB4AAAAOAAAA6MMQAIAAAAAiAAAADgAAAOjDEACAAAAAPAAAAA4AAADowxAAgAAAAEAAAAAOAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvdHJhbnNmb3JtYXRpb24vdG9fb3V0bGluZS9jYXBzdWxlX3RvX291dGxpbmUucnMAqMQQAIMAAAAcAAAABQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX291dGxpbmUvcm91bmRfY29udmV4X3BvbHloZWRyb25fdG9fb3V0bGluZS5ycwA8xRAAkwAAAA8AAAAaAAAAPMUQAJMAAAASAAAAHgAAADzFEACTAAAAFQAAABwAAAA8xRAAkwAAACIAAAAZAAAAPMUQAJMAAAAjAAAAHgAAADzFEACTAAAAMAAAABoAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy90cmFuc2Zvcm1hdGlvbi90b190cmltZXNoL2NvbnZleF9wb2x5aGVkcm9uX3RvX3RyaW1lc2gucnMAAAAwxhAAjQAAAA0AAAAcAAAAMMYQAI0AAAAPAAAAGAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvcGFycnkzZC0wLjEzLjEvc3JjL3RyYW5zZm9ybWF0aW9uL3V0aWxzLnJzAODGEABrAAAAxAAAAAkAAADgxhAAawAAAMUAAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogbnN1YmRpdnMgPiAwAADgxhAAawAAANYAAAAFAAAA4MYQAGsAAAAzAQAAIAAAAODGEABrAAAARAEAABYAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy91dGlscy9hcnJheS5ycwAAvMcQAGIAAABKAAAACQAAAENhbm5vdCBjb21wdXRlIHRoZSBjZW50ZXIgb2YgbGVzcyB0aGFuIDEgcG9pbnQuADDIEAAvAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvdXRpbHMvY2VudGVyLnJzAGjIEABjAAAABwAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3BhcnJ5M2QtMC4xMy4xL3NyYy91dGlscy9jbGVhbnVwLnJz3MgQAGQAAAAMAAAACQAAANzIEABkAAAADQAAAAkAAADcyBAAZAAAAA4AAAAJAAAA3MgQAGQAAAATAAAADQAAANzIEABkAAAAFQAAAA0AAADcyBAAZAAAABYAAAAXAAAA3MgQAGQAAAAdAAAAEQAAANzIEABkAAAAHgAAABEAAADcyBAAZAAAAB8AAAARAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9wYXJyeTNkLTAuMTMuMS9zcmMvdXRpbHMvcG9pbnRfY2xvdWRfc3VwcG9ydF9wb2ludC5ycwAA0MkQAHYAAAAHAAAAGAAAAEFhYmJtaW5zbWF4c88AAAAQAAAABAAAAHADAABxAwAAcgMAAHMDAADPAAAAKAAAAAQAAAB0AwAAdQMAAHYDAAB3AwAAzwAAAAwAAAAEAAAAeAMAAHkDAAB6AwAAewMAAM8AAAAMAAAABAAAAHwDAAB9AwAAfgMAAH8DAADoAAAAZAAAAAQAAACAAwAAgQMAAIIDAACDAwAASW50ZXJuYWxFcnJvcgAAAM8AAAAEAAAABAAAAIQDAABIYXNoIHRhYmxlIGNhcGFjaXR5IG92ZXJmbG93EMsQABwAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2hhc2hicm93bi0wLjEyLjMvc3JjL3Jhdy9tb2QucnM0yxAAYAAAAFoAAAAoAAAAOGPtPtoPST9emHs/2g/JP2k3rDFoISIztA8UM2ghojMAAAA/AAAAvwMAAAAEAAAABAAAAAYAAACD+aIARE5uAPwpFQDRVycA3TT1AGLbwAA8mZUAQZBDAGNR/gC73qsAt2HFADpuJADSTUIASQbgAAnqLgAcktEA6x3+ACmxHADoPqcA9TWCAES7LgCc6YQAtCZwAEF+XwDWkTkAU4M5AJz0OQCLX4QAKPm9APgfOwDe/5cAD5gFABEv7wAKWosAbR9tAM9+NgAJyycARk+3AJ5mPwAt6l8Auid1AOXrxwA9e/EA9zkHAJJSigD7a+oAH7FfAAhdjQAwA1YAe/xGAPCrawAgvM8ANvSaAOOpHQBeYZEACBvmAIWZZQCgFF8AjUBoAIDY/wAnc00ABgYxAMpWFQDJqHMAe+JgAGuMwAAAAAAAAAAAQPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNdsPST/bD0m/5MsWQAAAAAAAAACA2w9JQGJ5dGUgYXJyYXlzdHJ1Y3QgdmFyaWFudErNEAAOAAAAdHVwbGUgdmFyaWFudAAAAGDNEAANAAAAbmV3dHlwZSB2YXJpYW50AHjNEAAPAAAAdW5pdCB2YXJpYW50kM0QAAwAAABlbnVtpM0QAAQAAABtYXAAsM0QAAMAAABzZXF1ZW5jZbzNEAAIAAAAbmV3dHlwZSBzdHJ1Y3QAAMzNEAAOAAAAT3B0aW9uIHZhbHVl5M0QAAwAAAB1bml0IHZhbHVlAAD4zRAACgAAAEDNEAAKAAAAc3RyaW5nIAAUzhAABwAAAGNoYXJhY3RlciBgYCTOEAALAAAAL84QAAEAAABmbG9hdGluZyBwb2ludCBgQM4QABAAAAAvzhAAAQAAAGludGVnZXIgYAAAAGDOEAAJAAAAL84QAAEAAABib29sZWFuIGAAAAB8zhAACQAAAC/OEAABAAAAdXNpemUAAACLAwAABAAAAAQAAACMAwAAjQMAAI4DAABhbHJlYWR5IGJvcnJvd2VkiwMAAAAAAAABAAAAjwMAAABvdmVyZmxvdyBpbiBEdXJhdGlvbjo6bmV3AADZzhAAGQAAAC9ydXN0Yy8wNDY4YTAwYWUzZmQ2ZWYxYTZhMGY5ZWFmNjM3ZDdhYTllNjA0YWNjL2xpYnJhcnkvY29yZS9zcmMvdGltZS5yc/zOEABIAAAAygAAABUAAACLAwAABAAAAAQAAACQAwAAiwMAAAQAAAAEAAAAkQMAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWV1c2Ugb2Ygc3RkOjp0aHJlYWQ6OmN1cnJlbnQoKSBpcyBub3QgcG9zc2libGUgYWZ0ZXIgdGhlIHRocmVhZCdzIGxvY2FsIGRhdGEgaGFzIGJlZW4gZGVzdHJveWVkbGlicmFyeS9zdGQvc3JjL3RocmVhZC9tb2QucnMAAP3PEAAdAAAA3AIAAAUAAABmYWlsZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIHRocmVhZCBJRDogYml0c3BhY2UgZXhoYXVzdGVkACzQEAA3AAAA/c8QAB0AAABVBAAADQAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWVQb2lzb25FcnJvcm92ZXJmbG93IHdoZW4gYWRkaW5nIGR1cmF0aW9uIHRvIGluc3RhbnRsaWJyYXJ5L3N0ZC9zcmMvdGltZS5ycwAAANrQEAAXAAAAmAEAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzX2NvbW1vbi90aHJlYWRfaW5mby5ycwAAAATREAApAAAAFgAAADMAAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkCgBA0RAAFQAAAFXREAAOAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzdNEQABgAAABVAQAACQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnOc0RAAHAAAAD4CAAAPAAAAnNEQABwAAAA9AgAADwAAAJIDAAAMAAAABAAAAJMDAACLAwAACAAAAAQAAACUAwAAlQMAABAAAAAEAAAAlgMAAJcDAACLAwAACAAAAAQAAACYAwAAmQMAAIsDAAAAAAAAAQAAAJoDAAB0aW1lIG5vdCBpbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtAAAAMNIQACUAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc20vLi4vdW5zdXBwb3J0ZWQvdGltZS5ycwBg0hAALwAAAA0AAAAJAAAAY29uZHZhciB3YWl0IG5vdCBzdXBwb3J0ZWQAAKDSEAAaAAAAbGlicmFyeS9zdGQvc3JjL3N5cy93YXNtLy4uL3Vuc3VwcG9ydGVkL2xvY2tzL2NvbmR2YXIucnPE0hAAOAAAABQAAAAJAAAAxNIQADgAAAAYAAAACQAAAGNhbm5vdCByZWN1cnNpdmVseSBhY3F1aXJlIG11dGV4HNMQACAAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc20vLi4vdW5zdXBwb3J0ZWQvbG9ja3MvbXV0ZXgucnMAAETTEAA2AAAAFAAAAAkAAAACAAAAmwMAAAgAAAAEAAAAnAMAAGxpYnJhcnkvc3RkL3NyYy9zeXNfY29tbW9uL3RocmVhZF9wYXJrZXIvZ2VuZXJpYy5ycwCg0xAAMwAAACcAAAAVAAAAaW5jb25zaXN0ZW50IHBhcmsgc3RhdGUA5NMQABcAAACg0xAAMwAAADUAAAAXAAAAcGFyayBzdGF0ZSBjaGFuZ2VkIHVuZXhwZWN0ZWRseQAU1BAAHwAAAKDTEAAzAAAAMgAAABEAAACg0xAAMwAAAEgAAAARAAAAaW5jb25zaXN0ZW50IHBhcmtfdGltZW91dCBzdGF0ZQBc1BAAHwAAAKDTEAAzAAAAUQAAABcAAACg0xAAMwAAAE4AAAARAAAAaW5jb25zaXN0ZW50IHN0YXRlIGluIHVucGFya6TUEAAcAAAAoNMQADMAAABsAAAAEgAAAKDTEAAzAAAAegAAAA4AAABIYXNoIHRhYmxlIGNhcGFjaXR5IG92ZXJmbG936NQQABwAAAAvY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9oYXNoYnJvd24tMC4xMi4zL3NyYy9yYXcvbW9kLnJzAAzVEABPAAAAWgAAACgAAACdAwAABAAAAAQAAACeAwAAnwMAAKADAABsaWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAACg1RAAEQAAAITVEAAcAAAABgIAAAUAAABhIGZvcm1hdHRpbmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IAnQMA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").buffer)})}function Pm(){return function(){try{let e=j.__wbindgen_add_to_stack_pointer(-16);j.version(e);var A=VI()[e/4+0],g=VI()[e/4+1];return Ym(A,g)}finally{j.__wbindgen_add_to_stack_pointer(16),j.__wbindgen_free(A,g)}}()}var j,kI,oh,Hc,Tc,xm,Oc,_c,ri,Pc,go,Ed,FB,rh,Wc,Gi,Vp,Zp,Xp,$p,Ay,zc,Ms,mr,RB,Mr,gy,kr,Ns,ey,Vc,Zc,Xc,$c,Iy,Ad,qi,nI,gd,iy,HI,ed,sh,Id,WA,Bh,TA,xQ,Xe,Qh,YQ,Do,$i,id,HQ,vB,CI,nh,ks,td,Cd,od,ad,TQ,rd,OQ,Eh,hh,Ur,_Q,lh,ch,dh,uh,sd,Dh,Nr,PQ,ph,yh,wh,fh,Sh,Gh,mh,Mh,kh,Uh,KB,jQ,WQ,Bd,zQ,VQ,Nh,JB,ZQ,mi,XQ,Fh,$Q,An,gn,en,In,tn,Cn,on,qB,bB,an,rn,sn,Bn,Qn,nn,Qd,Rh,vh,Kh,En,Jh,qh,bh,Lh,xh,Yh,nd,Om,jo,eo,qm,Yc,NB,bm,ux,Wm=ms(()=>{kI=new Array(32).fill(void 0);kI.push(void 0,null,!0,!1);oh=kI.length;Hc=new Float64Array;Tc=new Int32Array;xm=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});xm.decode();Oc=new Uint8Array;_c=new Float32Array;ri=32;Pc=new Uint32Array;go=0;Object.freeze({Revolute:0,0:"Revolute",Fixed:1,1:"Fixed",Prismatic:2,2:"Prismatic",Spherical:3,3:"Spherical",Generic:4,4:"Generic"}),Object.freeze({AccelerationBased:0,0:"AccelerationBased",ForceBased:1,1:"ForceBased"});Ed=Object.freeze({X:0,0:"X",Y:1,1:"Y",Z:2,2:"Z",AngX:3,3:"AngX",AngY:4,4:"AngY",AngZ:5,5:"AngZ"});Object.freeze({Dynamic:0,0:"Dynamic",Fixed:1,1:"Fixed",KinematicPositionBased:2,2:"KinematicPositionBased",KinematicVelocityBased:3,3:"KinematicVelocityBased"}),Object.freeze({Vertex:0,0:"Vertex",Edge:1,1:"Edge",Face:2,2:"Face",Unknown:3,3:"Unknown"}),Object.freeze({Ball:0,0:"Ball",Cuboid:1,1:"Cuboid",Capsule:2,2:"Capsule",Segment:3,3:"Segment",Polyline:4,4:"Polyline",Triangle:5,5:"Triangle",TriMesh:6,6:"TriMesh",HeightField:7,7:"HeightField",Compound:8,8:"Compound",ConvexPolyhedron:9,9:"ConvexPolyhedron",Cylinder:10,10:"Cylinder",Cone:11,11:"Cone",RoundCuboid:12,12:"RoundCuboid",RoundTriangle:13,13:"RoundTriangle",RoundCylinder:14,14:"RoundCylinder",RoundCone:15,15:"RoundCone",RoundConvexPolyhedron:16,16:"RoundConvexPolyhedron",HalfSpace:17,17:"HalfSpace"});FB=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawbroadphase_free(g)}constructor(){let g=j.rawbroadphase_new();return A.__wrap(g)}},rh=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawccdsolver_free(g)}constructor(){let g=j.rawccdsolver_new();return A.__wrap(g)}},Wc=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawcharactercollision_free(g)}constructor(){let g=j.rawcharactercollision_new();return A.__wrap(g)}handle(){return j.rawcharactercollision_handle(this.ptr)}translationApplied(){let g=j.rawcharactercollision_translationApplied(this.ptr);return WA.__wrap(g)}translationRemaining(){let g=j.rawcharactercollision_translationRemaining(this.ptr);return WA.__wrap(g)}toi(){return j.rawcharactercollision_toi(this.ptr)}worldWitness1(){let g=j.rawcharactercollision_worldWitness1(this.ptr);return WA.__wrap(g)}worldWitness2(){let g=j.rawcharactercollision_worldWitness2(this.ptr);return WA.__wrap(g)}worldNormal1(){let g=j.rawcharactercollision_worldNormal1(this.ptr);return WA.__wrap(g)}worldNormal2(){let g=j.rawcharactercollision_worldNormal2(this.ptr);return WA.__wrap(g)}},Gi=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawcolliderset_free(g)}coTranslation(g){let e=j.rawcolliderset_coTranslation(this.ptr,g);return WA.__wrap(e)}coRotation(g){let e=j.rawcolliderset_coRotation(this.ptr,g);return nI.__wrap(e)}coSetTranslation(g,e,I,i){j.rawcolliderset_coSetTranslation(this.ptr,g,e,I,i)}coSetTranslationWrtParent(g,e,I,i){j.rawcolliderset_coSetTranslationWrtParent(this.ptr,g,e,I,i)}coSetRotation(g,e,I,i,t){j.rawcolliderset_coSetRotation(this.ptr,g,e,I,i,t)}coSetRotationWrtParent(g,e,I,i,t){j.rawcolliderset_coSetRotationWrtParent(this.ptr,g,e,I,i,t)}coIsSensor(g){return j.rawcolliderset_coIsSensor(this.ptr,g)!==0}coShapeType(g){return j.rawcolliderset_coShapeType(this.ptr,g)>>>0}coHalfspaceNormal(g){let e=j.rawcolliderset_coHalfspaceNormal(this.ptr,g);return e===0?void 0:WA.__wrap(e)}coHalfExtents(g){let e=j.rawcolliderset_coHalfExtents(this.ptr,g);return e===0?void 0:WA.__wrap(e)}coSetHalfExtents(g,e){NA(e,WA),j.rawcolliderset_coSetHalfExtents(this.ptr,g,e.ptr)}coRadius(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coRadius(i,this.ptr,g);var e=VI()[i/4+0],I=Us()[i/4+1];return e===0?void 0:I}finally{j.__wbindgen_add_to_stack_pointer(16)}}coSetRadius(g,e){j.rawcolliderset_coSetRadius(this.ptr,g,e)}coHalfHeight(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coHalfHeight(i,this.ptr,g);var e=VI()[i/4+0],I=Us()[i/4+1];return e===0?void 0:I}finally{j.__wbindgen_add_to_stack_pointer(16)}}coSetHalfHeight(g,e){j.rawcolliderset_coSetHalfHeight(this.ptr,g,e)}coRoundRadius(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coRoundRadius(i,this.ptr,g);var e=VI()[i/4+0],I=Us()[i/4+1];return e===0?void 0:I}finally{j.__wbindgen_add_to_stack_pointer(16)}}coSetRoundRadius(g,e){j.rawcolliderset_coSetRoundRadius(this.ptr,g,e)}coVertices(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coVertices(i,this.ptr,g);var e=VI()[i/4+0],I=VI()[i/4+1];let t;return e!==0&&(t=Jm(e,I).slice(),j.__wbindgen_free(e,4*I)),t}finally{j.__wbindgen_add_to_stack_pointer(16)}}coIndices(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coIndices(i,this.ptr,g);var e=VI()[i/4+0],I=VI()[i/4+1];let t;return e!==0&&(t=function(C,o){return Hm().subarray(C/4,C/4+o)}(e,I).slice(),j.__wbindgen_free(e,4*I)),t}finally{j.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldHeights(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coHeightfieldHeights(i,this.ptr,g);var e=VI()[i/4+0],I=VI()[i/4+1];let t;return e!==0&&(t=Jm(e,I).slice(),j.__wbindgen_free(e,4*I)),t}finally{j.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldScale(g){let e=j.rawcolliderset_coHeightfieldScale(this.ptr,g);return e===0?void 0:WA.__wrap(e)}coHeightfieldNRows(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coHeightfieldNRows(i,this.ptr,g);var e=VI()[i/4+0],I=VI()[i/4+1];return e===0?void 0:I>>>0}finally{j.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldNCols(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coHeightfieldNCols(i,this.ptr,g);var e=VI()[i/4+0],I=VI()[i/4+1];return e===0?void 0:I>>>0}finally{j.__wbindgen_add_to_stack_pointer(16)}}coParent(g){try{let i=j.__wbindgen_add_to_stack_pointer(-16);j.rawcolliderset_coParent(i,this.ptr,g);var e=VI()[i/4+0],I=jc()[i/8+1];return e===0?void 0:I}finally{j.__wbindgen_add_to_stack_pointer(16)}}coSetEnabled(g,e){j.rawcolliderset_coSetEnabled(this.ptr,g,e)}coIsEnabled(g){return j.rawcolliderset_coIsEnabled(this.ptr,g)!==0}coFriction(g){return j.rawcolliderset_coFriction(this.ptr,g)}coRestitution(g){return j.rawcolliderset_coRestitution(this.ptr,g)}coDensity(g){return j.rawcolliderset_coDensity(this.ptr,g)}coMass(g){return j.rawcolliderset_coMass(this.ptr,g)}coVolume(g){return j.rawcolliderset_coVolume(this.ptr,g)}coCollisionGroups(g){return j.rawcolliderset_coCollisionGroups(this.ptr,g)>>>0}coSolverGroups(g){return j.rawcolliderset_coSolverGroups(this.ptr,g)>>>0}coActiveHooks(g){return j.rawcolliderset_coActiveHooks(this.ptr,g)>>>0}coActiveCollisionTypes(g){return j.rawcolliderset_coActiveCollisionTypes(this.ptr,g)}coActiveEvents(g){return j.rawcolliderset_coActiveEvents(this.ptr,g)>>>0}coContactForceEventThreshold(g){return j.rawcolliderset_coContactForceEventThreshold(this.ptr,g)}coContainsPoint(g,e){return NA(e,WA),j.rawcolliderset_coContainsPoint(this.ptr,g,e.ptr)!==0}coCastShape(g,e,I,i,t,C,o,a){NA(e,WA),NA(I,HI),NA(i,WA),NA(t,nI),NA(C,WA);let r=j.rawcolliderset_coCastShape(this.ptr,g,e.ptr,I.ptr,i.ptr,t.ptr,C.ptr,o,a);return r===0?void 0:Id.__wrap(r)}coCastCollider(g,e,I,i,t,C){NA(e,WA),NA(i,WA);let o=j.rawcolliderset_coCastCollider(this.ptr,g,e.ptr,I,i.ptr,t,C);return o===0?void 0:ed.__wrap(o)}coIntersectsShape(g,e,I,i){return NA(e,HI),NA(I,WA),NA(i,nI),j.rawcolliderset_coIntersectsShape(this.ptr,g,e.ptr,I.ptr,i.ptr)!==0}coContactShape(g,e,I,i,t){NA(e,HI),NA(I,WA),NA(i,nI);let C=j.rawcolliderset_coContactShape(this.ptr,g,e.ptr,I.ptr,i.ptr,t);return C===0?void 0:sh.__wrap(C)}coContactCollider(g,e,I){let i=j.rawcolliderset_coContactCollider(this.ptr,g,e,I);return i===0?void 0:sh.__wrap(i)}coProjectPoint(g,e,I){NA(e,WA);let i=j.rawcolliderset_coProjectPoint(this.ptr,g,e.ptr,I);return Zc.__wrap(i)}coIntersectsRay(g,e,I,i){return NA(e,WA),NA(I,WA),j.rawcolliderset_coIntersectsRay(this.ptr,g,e.ptr,I.ptr,i)!==0}coCastRay(g,e,I,i,t){return NA(e,WA),NA(I,WA),j.rawcolliderset_coCastRay(this.ptr,g,e.ptr,I.ptr,i,t)}coCastRayAndGetNormal(g,e,I,i,t){NA(e,WA),NA(I,WA);let C=j.rawcolliderset_coCastRayAndGetNormal(this.ptr,g,e.ptr,I.ptr,i,t);return C===0?void 0:Ad.__wrap(C)}coSetSensor(g,e){j.rawcolliderset_coSetSensor(this.ptr,g,e)}coSetRestitution(g,e){j.rawcolliderset_coSetRestitution(this.ptr,g,e)}coSetFriction(g,e){j.rawcolliderset_coSetFriction(this.ptr,g,e)}coFrictionCombineRule(g){return j.rawcolliderset_coFrictionCombineRule(this.ptr,g)>>>0}coSetFrictionCombineRule(g,e){j.rawcolliderset_coSetFrictionCombineRule(this.ptr,g,e)}coRestitutionCombineRule(g){return j.rawcolliderset_coRestitutionCombineRule(this.ptr,g)>>>0}coSetRestitutionCombineRule(g,e){j.rawcolliderset_coSetRestitutionCombineRule(this.ptr,g,e)}coSetCollisionGroups(g,e){j.rawcolliderset_coSetCollisionGroups(this.ptr,g,e)}coSetSolverGroups(g,e){j.rawcolliderset_coSetSolverGroups(this.ptr,g,e)}coSetActiveHooks(g,e){j.rawcolliderset_coSetActiveHooks(this.ptr,g,e)}coSetActiveEvents(g,e){j.rawcolliderset_coSetActiveEvents(this.ptr,g,e)}coSetActiveCollisionTypes(g,e){j.rawcolliderset_coSetActiveCollisionTypes(this.ptr,g,e)}coSetShape(g,e){NA(e,HI),j.rawcolliderset_coSetShape(this.ptr,g,e.ptr)}coSetContactForceEventThreshold(g,e){j.rawcolliderset_coSetContactForceEventThreshold(this.ptr,g,e)}coSetDensity(g,e){j.rawcolliderset_coSetDensity(this.ptr,g,e)}coSetMass(g,e){j.rawcolliderset_coSetMass(this.ptr,g,e)}coSetMassProperties(g,e,I,i,t){NA(I,WA),NA(i,WA),NA(t,nI),j.rawcolliderset_coSetMassProperties(this.ptr,g,e,I.ptr,i.ptr,t.ptr)}constructor(){let g=j.rawcolliderset_new();return A.__wrap(g)}len(){return j.rawcolliderset_len(this.ptr)>>>0}contains(g){return j.rawcolliderset_contains(this.ptr,g)!==0}createCollider(g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l,h,u,D,p,w,k,U,N,G){try{let q=j.__wbindgen_add_to_stack_pointer(-16);NA(e,HI),NA(I,WA),NA(i,nI),NA(o,WA),NA(a,WA),NA(r,nI),NA(G,qi),j.rawcolliderset_createCollider(q,this.ptr,g,e.ptr,I.ptr,i.ptr,t,C,o.ptr,a.ptr,r.ptr,s,B,Q,n,E,l,h,u,D,p,w,k,U,N,G.ptr);var R=VI()[q/4+0],J=jc()[q/8+1];return R===0?void 0:J}finally{j.__wbindgen_add_to_stack_pointer(16)}}remove(g,e,I,i){NA(e,Mr),NA(I,qi),j.rawcolliderset_remove(this.ptr,g,e.ptr,I.ptr,i)}isHandleValid(g){return j.rawcolliderset_contains(this.ptr,g)!==0}forEachColliderHandle(g){try{j.rawcolliderset_forEachColliderHandle(this.ptr,ui(g))}finally{kI[ri++]=void 0}}},Vp=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawcontactforceevent_free(g)}collider1(){return j.rawcharactercollision_handle(this.ptr)}collider2(){return j.rawcontactforceevent_collider2(this.ptr)}total_force(){let g=j.rawcontactforceevent_total_force(this.ptr);return WA.__wrap(g)}total_force_magnitude(){return j.rawcontactforceevent_total_force_magnitude(this.ptr)}max_force_direction(){let g=j.rawcontactforceevent_max_force_direction(this.ptr);return WA.__wrap(g)}max_force_magnitude(){return j.rawcontactforceevent_max_force_magnitude(this.ptr)}},Zp=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawcontactmanifold_free(g)}normal(){let g=j.rawcontactmanifold_normal(this.ptr);return WA.__wrap(g)}local_n1(){let g=j.rawcontactmanifold_local_n1(this.ptr);return WA.__wrap(g)}local_n2(){let g=j.rawcontactmanifold_local_n2(this.ptr);return WA.__wrap(g)}subshape1(){return j.rawcontactmanifold_subshape1(this.ptr)>>>0}subshape2(){return j.rawcontactmanifold_subshape2(this.ptr)>>>0}num_contacts(){return j.rawcontactmanifold_num_contacts(this.ptr)>>>0}contact_local_p1(g){let e=j.rawcontactmanifold_contact_local_p1(this.ptr,g);return e===0?void 0:WA.__wrap(e)}contact_local_p2(g){let e=j.rawcontactmanifold_contact_local_p2(this.ptr,g);return e===0?void 0:WA.__wrap(e)}contact_dist(g){return j.rawcontactmanifold_contact_dist(this.ptr,g)}contact_fid1(g){return j.rawcontactmanifold_contact_fid1(this.ptr,g)>>>0}contact_fid2(g){return j.rawcontactmanifold_contact_fid2(this.ptr,g)>>>0}contact_impulse(g){return j.rawcontactmanifold_contact_impulse(this.ptr,g)}contact_tangent_impulse_x(g){return j.rawcontactmanifold_contact_tangent_impulse_x(this.ptr,g)}contact_tangent_impulse_y(g){return j.rawcontactmanifold_contact_tangent_impulse_y(this.ptr,g)}num_solver_contacts(){return j.rawcontactmanifold_num_solver_contacts(this.ptr)>>>0}solver_contact_point(g){let e=j.rawcontactmanifold_solver_contact_point(this.ptr,g);return e===0?void 0:WA.__wrap(e)}solver_contact_dist(g){return j.rawcontactmanifold_solver_contact_dist(this.ptr,g)}solver_contact_friction(g){return j.rawcontactmanifold_solver_contact_friction(this.ptr,g)}solver_contact_restitution(g){return j.rawcontactmanifold_solver_contact_restitution(this.ptr,g)}solver_contact_tangent_velocity(g){let e=j.rawcontactmanifold_solver_contact_tangent_velocity(this.ptr,g);return WA.__wrap(e)}},Xp=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawcontactpair_free(g)}collider1(){return j.rawcontactpair_collider1(this.ptr)}collider2(){return j.rawcontactpair_collider2(this.ptr)}numContactManifolds(){return j.rawcontactpair_numContactManifolds(this.ptr)>>>0}contactManifold(g){let e=j.rawcontactpair_contactManifold(this.ptr,g);return e===0?void 0:Zp.__wrap(e)}},$p=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawdebugrenderpipeline_free(g)}constructor(){let g=j.rawdebugrenderpipeline_new();return A.__wrap(g)}vertices(){return ah(j.rawdebugrenderpipeline_vertices(this.ptr))}colors(){return ah(j.rawdebugrenderpipeline_colors(this.ptr))}render(g,e,I,i,t){NA(g,qi),NA(e,Gi),NA(I,mr),NA(i,kr),NA(t,Ns),j.rawdebugrenderpipeline_render(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr)}},Ay=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawdeserializedworld_free(g)}takeGravity(){let g=j.rawdeserializedworld_takeGravity(this.ptr);return g===0?void 0:WA.__wrap(g)}takeIntegrationParameters(){let g=j.rawdeserializedworld_takeIntegrationParameters(this.ptr);return g===0?void 0:RB.__wrap(g)}takeIslandManager(){let g=j.rawdeserializedworld_takeIslandManager(this.ptr);return g===0?void 0:Mr.__wrap(g)}takeBroadPhase(){let g=j.rawdeserializedworld_takeBroadPhase(this.ptr);return g===0?void 0:FB.__wrap(g)}takeNarrowPhase(){let g=j.rawdeserializedworld_takeNarrowPhase(this.ptr);return g===0?void 0:Ns.__wrap(g)}takeBodies(){let g=j.rawdeserializedworld_takeBodies(this.ptr);return g===0?void 0:qi.__wrap(g)}takeColliders(){let g=j.rawdeserializedworld_takeColliders(this.ptr);return g===0?void 0:Gi.__wrap(g)}takeImpulseJoints(){let g=j.rawdeserializedworld_takeImpulseJoints(this.ptr);return g===0?void 0:mr.__wrap(g)}takeMultibodyJoints(){let g=j.rawdeserializedworld_takeMultibodyJoints(this.ptr);return g===0?void 0:kr.__wrap(g)}},zc=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_raweventqueue_free(g)}constructor(g){let e=j.raweventqueue_new(g);return A.__wrap(e)}drainCollisionEvents(g){try{j.raweventqueue_drainCollisionEvents(this.ptr,ui(g))}finally{kI[ri++]=void 0}}drainContactForceEvents(g){try{j.raweventqueue_drainContactForceEvents(this.ptr,ui(g))}finally{kI[ri++]=void 0}}clear(){j.raweventqueue_clear(this.ptr)}},Ms=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawgenericjoint_free(g)}static spherical(g,e){NA(g,WA),NA(e,WA);let I=j.rawgenericjoint_spherical(g.ptr,e.ptr);return A.__wrap(I)}static prismatic(g,e,I,i,t,C){NA(g,WA),NA(e,WA),NA(I,WA);let o=j.rawgenericjoint_prismatic(g.ptr,e.ptr,I.ptr,i,t,C);return o===0?void 0:A.__wrap(o)}static fixed(g,e,I,i){NA(g,WA),NA(e,nI),NA(I,WA),NA(i,nI);let t=j.rawgenericjoint_fixed(g.ptr,e.ptr,I.ptr,i.ptr);return A.__wrap(t)}static revolute(g,e,I){NA(g,WA),NA(e,WA),NA(I,WA);let i=j.rawgenericjoint_revolute(g.ptr,e.ptr,I.ptr);return i===0?void 0:A.__wrap(i)}},mr=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawimpulsejointset_free(g)}jointType(g){return j.rawimpulsejointset_jointType(this.ptr,g)>>>0}jointBodyHandle1(g){return j.rawimpulsejointset_jointBodyHandle1(this.ptr,g)}jointBodyHandle2(g){return j.rawimpulsejointset_jointBodyHandle2(this.ptr,g)}jointFrameX1(g){let e=j.rawimpulsejointset_jointFrameX1(this.ptr,g);return nI.__wrap(e)}jointFrameX2(g){let e=j.rawimpulsejointset_jointFrameX2(this.ptr,g);return nI.__wrap(e)}jointAnchor1(g){let e=j.rawimpulsejointset_jointAnchor1(this.ptr,g);return WA.__wrap(e)}jointAnchor2(g){let e=j.rawimpulsejointset_jointAnchor2(this.ptr,g);return WA.__wrap(e)}jointSetAnchor1(g,e){NA(e,WA),j.rawimpulsejointset_jointSetAnchor1(this.ptr,g,e.ptr)}jointSetAnchor2(g,e){NA(e,WA),j.rawimpulsejointset_jointSetAnchor2(this.ptr,g,e.ptr)}jointContactsEnabled(g){return j.rawimpulsejointset_jointContactsEnabled(this.ptr,g)!==0}jointSetContactsEnabled(g,e){j.rawimpulsejointset_jointSetContactsEnabled(this.ptr,g,e)}jointLimitsEnabled(g,e){return j.rawimpulsejointset_jointLimitsEnabled(this.ptr,g,e)!==0}jointLimitsMin(g,e){return j.rawimpulsejointset_jointLimitsMin(this.ptr,g,e)}jointLimitsMax(g,e){return j.rawimpulsejointset_jointLimitsMax(this.ptr,g,e)}jointSetLimits(g,e,I,i){j.rawimpulsejointset_jointSetLimits(this.ptr,g,e,I,i)}jointConfigureMotorModel(g,e,I){j.rawimpulsejointset_jointConfigureMotorModel(this.ptr,g,e,I)}jointConfigureMotorVelocity(g,e,I,i){j.rawimpulsejointset_jointConfigureMotorVelocity(this.ptr,g,e,I,i)}jointConfigureMotorPosition(g,e,I,i,t){j.rawimpulsejointset_jointConfigureMotorPosition(this.ptr,g,e,I,i,t)}jointConfigureMotor(g,e,I,i,t,C){j.rawimpulsejointset_jointConfigureMotor(this.ptr,g,e,I,i,t,C)}constructor(){let g=j.rawimpulsejointset_new();return A.__wrap(g)}createJoint(g,e,I,i){return NA(g,Ms),j.rawimpulsejointset_createJoint(this.ptr,g.ptr,e,I,i)}remove(g,e){j.rawimpulsejointset_remove(this.ptr,g,e)}len(){return j.rawimpulsejointset_len(this.ptr)>>>0}contains(g){return j.rawimpulsejointset_contains(this.ptr,g)!==0}forEachJointHandle(g){try{j.rawimpulsejointset_forEachJointHandle(this.ptr,ui(g))}finally{kI[ri++]=void 0}}forEachJointAttachedToRigidBody(g,e){try{j.rawimpulsejointset_forEachJointAttachedToRigidBody(this.ptr,g,ui(e))}finally{kI[ri++]=void 0}}},RB=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawintegrationparameters_free(g)}constructor(){let g=j.rawintegrationparameters_new();return A.__wrap(g)}get dt(){return j.rawintegrationparameters_dt(this.ptr)}get erp(){return j.rawcharactercollision_toi(this.ptr)}get allowedLinearError(){return j.rawintegrationparameters_allowedLinearError(this.ptr)}get predictionDistance(){return j.rawintegrationparameters_predictionDistance(this.ptr)}get maxVelocityIterations(){return j.rawintegrationparameters_maxVelocityIterations(this.ptr)>>>0}get maxVelocityFrictionIterations(){return j.rawintegrationparameters_maxVelocityFrictionIterations(this.ptr)>>>0}get maxStabilizationIterations(){return j.rawintegrationparameters_maxStabilizationIterations(this.ptr)>>>0}get minIslandSize(){return j.rawintegrationparameters_minIslandSize(this.ptr)>>>0}get maxCcdSubsteps(){return j.rawintegrationparameters_maxCcdSubsteps(this.ptr)>>>0}set dt(g){j.rawintegrationparameters_set_dt(this.ptr,g)}set erp(g){j.rawintegrationparameters_set_erp(this.ptr,g)}set allowedLinearError(g){j.rawintegrationparameters_set_allowedLinearError(this.ptr,g)}set predictionDistance(g){j.rawintegrationparameters_set_predictionDistance(this.ptr,g)}set maxVelocityIterations(g){j.rawintegrationparameters_set_maxVelocityIterations(this.ptr,g)}set maxVelocityFrictionIterations(g){j.rawintegrationparameters_set_maxVelocityFrictionIterations(this.ptr,g)}set maxStabilizationIterations(g){j.rawintegrationparameters_set_maxStabilizationIterations(this.ptr,g)}set minIslandSize(g){j.rawintegrationparameters_set_minIslandSize(this.ptr,g)}set maxCcdSubsteps(g){j.rawintegrationparameters_set_maxCcdSubsteps(this.ptr,g)}},Mr=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawislandmanager_free(g)}constructor(){let g=j.rawislandmanager_new();return A.__wrap(g)}forEachActiveRigidBodyHandle(g){try{j.rawislandmanager_forEachActiveRigidBodyHandle(this.ptr,ui(g))}finally{kI[ri++]=void 0}}},gy=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawkinematiccharactercontroller_free(g)}constructor(g){let e=j.rawkinematiccharactercontroller_new(g);return A.__wrap(e)}up(){let g=j.rawkinematiccharactercontroller_up(this.ptr);return WA.__wrap(g)}setUp(g){NA(g,WA),j.rawkinematiccharactercontroller_setUp(this.ptr,g.ptr)}offset(){return j.rawkinematiccharactercontroller_offset(this.ptr)}setOffset(g){j.rawkinematiccharactercontroller_setOffset(this.ptr,g)}slideEnabled(){return j.rawkinematiccharactercontroller_slideEnabled(this.ptr)!==0}setSlideEnabled(g){j.rawkinematiccharactercontroller_setSlideEnabled(this.ptr,g)}autostepMaxHeight(){try{let I=j.__wbindgen_add_to_stack_pointer(-16);j.rawkinematiccharactercontroller_autostepMaxHeight(I,this.ptr);var g=VI()[I/4+0],e=Us()[I/4+1];return g===0?void 0:e}finally{j.__wbindgen_add_to_stack_pointer(16)}}autostepMinWidth(){try{let I=j.__wbindgen_add_to_stack_pointer(-16);j.rawkinematiccharactercontroller_autostepMinWidth(I,this.ptr);var g=VI()[I/4+0],e=Us()[I/4+1];return g===0?void 0:e}finally{j.__wbindgen_add_to_stack_pointer(16)}}autostepIncludesDynamicBodies(){let g=j.rawkinematiccharactercontroller_autostepIncludesDynamicBodies(this.ptr);return g===16777215?void 0:g!==0}autostepEnabled(){return j.rawkinematiccharactercontroller_autostepEnabled(this.ptr)!==0}enableAutostep(g,e,I){j.rawkinematiccharactercontroller_enableAutostep(this.ptr,g,e,I)}disableAutostep(){j.rawkinematiccharactercontroller_disableAutostep(this.ptr)}maxSlopeClimbAngle(){return j.rawkinematiccharactercontroller_maxSlopeClimbAngle(this.ptr)}setMaxSlopeClimbAngle(g){j.rawkinematiccharactercontroller_setMaxSlopeClimbAngle(this.ptr,g)}minSlopeSlideAngle(){return j.rawkinematiccharactercontroller_minSlopeSlideAngle(this.ptr)}setMinSlopeSlideAngle(g){j.rawkinematiccharactercontroller_setMinSlopeSlideAngle(this.ptr,g)}snapToGroundDistance(){try{let I=j.__wbindgen_add_to_stack_pointer(-16);j.rawkinematiccharactercontroller_snapToGroundDistance(I,this.ptr);var g=VI()[I/4+0],e=Us()[I/4+1];return g===0?void 0:e}finally{j.__wbindgen_add_to_stack_pointer(16)}}enableSnapToGround(g){j.rawkinematiccharactercontroller_enableSnapToGround(this.ptr,g)}disableSnapToGround(){j.rawkinematiccharactercontroller_disableSnapToGround(this.ptr)}snapToGroundEnabled(){return j.rawkinematiccharactercontroller_snapToGroundEnabled(this.ptr)!==0}computeColliderMovement(g,e,I,i,t,C,o,a,r,s,B){try{NA(e,qi),NA(I,Gi),NA(i,Xc),NA(C,WA),j.rawkinematiccharactercontroller_computeColliderMovement(this.ptr,g,e.ptr,I.ptr,i.ptr,t,C.ptr,o,!Be(a),Be(a)?0:a,r,!Be(s),Be(s)?0:s,ui(B))}finally{kI[ri++]=void 0}}computedMovement(){let g=j.rawkinematiccharactercontroller_computedMovement(this.ptr);return WA.__wrap(g)}computedGrounded(){return j.rawkinematiccharactercontroller_computedGrounded(this.ptr)!==0}numComputedCollisions(){return j.rawkinematiccharactercontroller_numComputedCollisions(this.ptr)>>>0}computedCollision(g,e){return NA(e,Wc),j.rawkinematiccharactercontroller_computedCollision(this.ptr,g,e.ptr)!==0}},kr=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawmultibodyjointset_free(g)}jointType(g){return j.rawmultibodyjointset_jointType(this.ptr,g)>>>0}jointFrameX1(g){let e=j.rawmultibodyjointset_jointFrameX1(this.ptr,g);return nI.__wrap(e)}jointFrameX2(g){let e=j.rawmultibodyjointset_jointFrameX2(this.ptr,g);return nI.__wrap(e)}jointAnchor1(g){let e=j.rawmultibodyjointset_jointAnchor1(this.ptr,g);return WA.__wrap(e)}jointAnchor2(g){let e=j.rawmultibodyjointset_jointAnchor2(this.ptr,g);return WA.__wrap(e)}jointContactsEnabled(g){return j.rawmultibodyjointset_jointContactsEnabled(this.ptr,g)!==0}jointSetContactsEnabled(g,e){j.rawmultibodyjointset_jointSetContactsEnabled(this.ptr,g,e)}jointLimitsEnabled(g,e){return j.rawmultibodyjointset_jointLimitsEnabled(this.ptr,g,e)!==0}jointLimitsMin(g,e){return j.rawmultibodyjointset_jointLimitsMin(this.ptr,g,e)}jointLimitsMax(g,e){return j.rawmultibodyjointset_jointLimitsMax(this.ptr,g,e)}constructor(){let g=j.rawmultibodyjointset_new();return A.__wrap(g)}createJoint(g,e,I,i){return NA(g,Ms),j.rawmultibodyjointset_createJoint(this.ptr,g.ptr,e,I,i)}remove(g,e){j.rawmultibodyjointset_remove(this.ptr,g,e)}contains(g){return j.rawmultibodyjointset_contains(this.ptr,g)!==0}forEachJointHandle(g){try{j.rawmultibodyjointset_forEachJointHandle(this.ptr,ui(g))}finally{kI[ri++]=void 0}}forEachJointAttachedToRigidBody(g,e){try{j.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.ptr,g,ui(e))}finally{kI[ri++]=void 0}}},Ns=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawnarrowphase_free(g)}constructor(){let g=j.rawnarrowphase_new();return A.__wrap(g)}contacts_with(g,e){j.rawnarrowphase_contacts_with(this.ptr,g,Xi(e))}contact_pair(g,e){let I=j.rawnarrowphase_contact_pair(this.ptr,g,e);return I===0?void 0:Xp.__wrap(I)}intersections_with(g,e){j.rawnarrowphase_intersections_with(this.ptr,g,Xi(e))}intersection_pair(g,e){return j.rawnarrowphase_intersection_pair(this.ptr,g,e)!==0}},ey=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawphysicspipeline_free(g)}constructor(){let g=j.rawphysicspipeline_new();return A.__wrap(g)}step(g,e,I,i,t,C,o,a,r,s){NA(g,WA),NA(e,RB),NA(I,Mr),NA(i,FB),NA(t,Ns),NA(C,qi),NA(o,Gi),NA(a,mr),NA(r,kr),NA(s,rh),j.rawphysicspipeline_step(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr,C.ptr,o.ptr,a.ptr,r.ptr,s.ptr)}stepWithEvents(g,e,I,i,t,C,o,a,r,s,B,Q,n,E){NA(g,WA),NA(e,RB),NA(I,Mr),NA(i,FB),NA(t,Ns),NA(C,qi),NA(o,Gi),NA(a,mr),NA(r,kr),NA(s,rh),NA(B,zc),j.rawphysicspipeline_stepWithEvents(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr,C.ptr,o.ptr,a.ptr,r.ptr,s.ptr,B.ptr,Xi(Q),Xi(n),Xi(E))}},Vc=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawpointcolliderprojection_free(g)}colliderHandle(){return j.rawpointcolliderprojection_colliderHandle(this.ptr)}point(){let g=j.rawkinematiccharactercontroller_computedMovement(this.ptr);return WA.__wrap(g)}isInside(){return j.rawkinematiccharactercontroller_computedGrounded(this.ptr)!==0}featureType(){return j.rawpointcolliderprojection_featureType(this.ptr)>>>0}featureId(){try{let I=j.__wbindgen_add_to_stack_pointer(-16);j.rawpointcolliderprojection_featureId(I,this.ptr);var g=VI()[I/4+0],e=VI()[I/4+1];return g===0?void 0:e>>>0}finally{j.__wbindgen_add_to_stack_pointer(16)}}},Zc=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawpointprojection_free(g)}point(){let g=j.rawkinematiccharactercontroller_computedMovement(this.ptr);return WA.__wrap(g)}isInside(){return j.rawkinematiccharactercontroller_computedGrounded(this.ptr)!==0}},Xc=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawquerypipeline_free(g)}constructor(){let g=j.rawquerypipeline_new();return A.__wrap(g)}update(g,e){NA(g,qi),NA(e,Gi),j.rawquerypipeline_update(this.ptr,g.ptr,e.ptr)}castRay(g,e,I,i,t,C,o,a,r,s,B){try{NA(g,qi),NA(e,Gi),NA(I,WA),NA(i,WA);let Q=j.rawquerypipeline_castRay(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t,C,o,!Be(a),Be(a)?0:a,!Be(r),Be(r)?0:r,!Be(s),Be(s)?0:s,ui(B));return Q===0?void 0:Iy.__wrap(Q)}finally{kI[ri++]=void 0}}castRayAndGetNormal(g,e,I,i,t,C,o,a,r,s,B){try{NA(g,qi),NA(e,Gi),NA(I,WA),NA(i,WA);let Q=j.rawquerypipeline_castRayAndGetNormal(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t,C,o,!Be(a),Be(a)?0:a,!Be(r),Be(r)?0:r,!Be(s),Be(s)?0:s,ui(B));return Q===0?void 0:$c.__wrap(Q)}finally{kI[ri++]=void 0}}intersectionsWithRay(g,e,I,i,t,C,o,a,r,s,B,Q){try{NA(g,qi),NA(e,Gi),NA(I,WA),NA(i,WA),j.rawquerypipeline_intersectionsWithRay(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t,C,ui(o),a,!Be(r),Be(r)?0:r,!Be(s),Be(s)?0:s,!Be(B),Be(B)?0:B,ui(Q))}finally{kI[ri++]=void 0,kI[ri++]=void 0}}intersectionWithShape(g,e,I,i,t,C,o,a,r,s){try{let n=j.__wbindgen_add_to_stack_pointer(-16);NA(g,qi),NA(e,Gi),NA(I,WA),NA(i,nI),NA(t,HI),j.rawquerypipeline_intersectionWithShape(n,this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr,C,!Be(o),Be(o)?0:o,!Be(a),Be(a)?0:a,!Be(r),Be(r)?0:r,ui(s));var B=VI()[n/4+0],Q=jc()[n/8+1];return B===0?void 0:Q}finally{j.__wbindgen_add_to_stack_pointer(16),kI[ri++]=void 0}}projectPoint(g,e,I,i,t,C,o,a,r){try{NA(g,qi),NA(e,Gi),NA(I,WA);let s=j.rawquerypipeline_projectPoint(this.ptr,g.ptr,e.ptr,I.ptr,i,t,!Be(C),Be(C)?0:C,!Be(o),Be(o)?0:o,!Be(a),Be(a)?0:a,ui(r));return s===0?void 0:Vc.__wrap(s)}finally{kI[ri++]=void 0}}projectPointAndGetFeature(g,e,I,i,t,C,o,a){try{NA(g,qi),NA(e,Gi),NA(I,WA);let r=j.rawquerypipeline_projectPointAndGetFeature(this.ptr,g.ptr,e.ptr,I.ptr,i,!Be(t),Be(t)?0:t,!Be(C),Be(C)?0:C,!Be(o),Be(o)?0:o,ui(a));return r===0?void 0:Vc.__wrap(r)}finally{kI[ri++]=void 0}}intersectionsWithPoint(g,e,I,i,t,C,o,a,r){try{NA(g,qi),NA(e,Gi),NA(I,WA),j.rawquerypipeline_intersectionsWithPoint(this.ptr,g.ptr,e.ptr,I.ptr,ui(i),t,!Be(C),Be(C)?0:C,!Be(o),Be(o)?0:o,!Be(a),Be(a)?0:a,ui(r))}finally{kI[ri++]=void 0,kI[ri++]=void 0}}castShape(g,e,I,i,t,C,o,a,r,s,B,Q,n){try{NA(g,qi),NA(e,Gi),NA(I,WA),NA(i,nI),NA(t,WA),NA(C,HI);let E=j.rawquerypipeline_castShape(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr,C.ptr,o,a,r,!Be(s),Be(s)?0:s,!Be(B),Be(B)?0:B,!Be(Q),Be(Q)?0:Q,ui(n));return E===0?void 0:ed.__wrap(E)}finally{kI[ri++]=void 0}}intersectionsWithShape(g,e,I,i,t,C,o,a,r,s,B){try{NA(g,qi),NA(e,Gi),NA(I,WA),NA(i,nI),NA(t,HI),j.rawquerypipeline_intersectionsWithShape(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr,ui(C),o,!Be(a),Be(a)?0:a,!Be(r),Be(r)?0:r,!Be(s),Be(s)?0:s,ui(B))}finally{kI[ri++]=void 0,kI[ri++]=void 0}}collidersWithAabbIntersectingAabb(g,e,I){try{NA(g,WA),NA(e,WA),j.rawquerypipeline_collidersWithAabbIntersectingAabb(this.ptr,g.ptr,e.ptr,ui(I))}finally{kI[ri++]=void 0}}},$c=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawraycolliderintersection_free(g)}colliderHandle(){return j.rawcharactercollision_handle(this.ptr)}normal(){let g=j.rawraycolliderintersection_normal(this.ptr);return WA.__wrap(g)}toi(){return j.rawraycolliderintersection_toi(this.ptr)}featureType(){return j.rawraycolliderintersection_featureType(this.ptr)>>>0}featureId(){try{let I=j.__wbindgen_add_to_stack_pointer(-16);j.rawraycolliderintersection_featureId(I,this.ptr);var g=VI()[I/4+0],e=VI()[I/4+1];return g===0?void 0:e>>>0}finally{j.__wbindgen_add_to_stack_pointer(16)}}},Iy=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawraycollidertoi_free(g)}colliderHandle(){return j.rawcharactercollision_handle(this.ptr)}toi(){return j.rawcharactercollision_toi(this.ptr)}},Ad=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawrayintersection_free(g)}normal(){let g=j.rawcharactercollision_worldWitness1(this.ptr);return WA.__wrap(g)}toi(){return j.rawcharactercollision_toi(this.ptr)}featureType(){return j.rawrayintersection_featureType(this.ptr)>>>0}featureId(){try{let I=j.__wbindgen_add_to_stack_pointer(-16);j.rawrayintersection_featureId(I,this.ptr);var g=VI()[I/4+0],e=VI()[I/4+1];return g===0?void 0:e>>>0}finally{j.__wbindgen_add_to_stack_pointer(16)}}},qi=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawrigidbodyset_free(g)}rbTranslation(g){let e=j.rawrigidbodyset_rbTranslation(this.ptr,g);return WA.__wrap(e)}rbRotation(g){let e=j.rawrigidbodyset_rbRotation(this.ptr,g);return nI.__wrap(e)}rbSleep(g){j.rawrigidbodyset_rbSleep(this.ptr,g)}rbIsSleeping(g){return j.rawrigidbodyset_rbIsSleeping(this.ptr,g)!==0}rbIsMoving(g){return j.rawrigidbodyset_rbIsMoving(this.ptr,g)!==0}rbNextTranslation(g){let e=j.rawrigidbodyset_rbNextTranslation(this.ptr,g);return WA.__wrap(e)}rbNextRotation(g){let e=j.rawrigidbodyset_rbNextRotation(this.ptr,g);return nI.__wrap(e)}rbSetTranslation(g,e,I,i,t){j.rawrigidbodyset_rbSetTranslation(this.ptr,g,e,I,i,t)}rbSetRotation(g,e,I,i,t,C){j.rawrigidbodyset_rbSetRotation(this.ptr,g,e,I,i,t,C)}rbSetLinvel(g,e,I){NA(e,WA),j.rawrigidbodyset_rbSetLinvel(this.ptr,g,e.ptr,I)}rbSetAngvel(g,e,I){NA(e,WA),j.rawrigidbodyset_rbSetAngvel(this.ptr,g,e.ptr,I)}rbSetNextKinematicTranslation(g,e,I,i){j.rawrigidbodyset_rbSetNextKinematicTranslation(this.ptr,g,e,I,i)}rbSetNextKinematicRotation(g,e,I,i,t){j.rawrigidbodyset_rbSetNextKinematicRotation(this.ptr,g,e,I,i,t)}rbRecomputeMassPropertiesFromColliders(g,e){NA(e,Gi),j.rawrigidbodyset_rbRecomputeMassPropertiesFromColliders(this.ptr,g,e.ptr)}rbSetAdditionalMass(g,e,I){j.rawrigidbodyset_rbSetAdditionalMass(this.ptr,g,e,I)}rbSetAdditionalMassProperties(g,e,I,i,t,C){NA(I,WA),NA(i,WA),NA(t,nI),j.rawrigidbodyset_rbSetAdditionalMassProperties(this.ptr,g,e,I.ptr,i.ptr,t.ptr,C)}rbLinvel(g){let e=j.rawrigidbodyset_rbLinvel(this.ptr,g);return WA.__wrap(e)}rbAngvel(g){let e=j.rawrigidbodyset_rbAngvel(this.ptr,g);return WA.__wrap(e)}rbLockTranslations(g,e,I){j.rawrigidbodyset_rbLockTranslations(this.ptr,g,e,I)}rbSetEnabledTranslations(g,e,I,i,t){j.rawrigidbodyset_rbSetEnabledTranslations(this.ptr,g,e,I,i,t)}rbLockRotations(g,e,I){j.rawrigidbodyset_rbLockRotations(this.ptr,g,e,I)}rbSetEnabledRotations(g,e,I,i,t){j.rawrigidbodyset_rbSetEnabledRotations(this.ptr,g,e,I,i,t)}rbDominanceGroup(g){return j.rawrigidbodyset_rbDominanceGroup(this.ptr,g)}rbSetDominanceGroup(g,e){j.rawrigidbodyset_rbSetDominanceGroup(this.ptr,g,e)}rbEnableCcd(g,e){j.rawrigidbodyset_rbEnableCcd(this.ptr,g,e)}rbMass(g){return j.rawrigidbodyset_rbMass(this.ptr,g)}rbInvMass(g){return j.rawrigidbodyset_rbInvMass(this.ptr,g)}rbEffectiveInvMass(g){let e=j.rawrigidbodyset_rbEffectiveInvMass(this.ptr,g);return WA.__wrap(e)}rbLocalCom(g){let e=j.rawrigidbodyset_rbLocalCom(this.ptr,g);return WA.__wrap(e)}rbWorldCom(g){let e=j.rawrigidbodyset_rbWorldCom(this.ptr,g);return WA.__wrap(e)}rbInvPrincipalInertiaSqrt(g){let e=j.rawrigidbodyset_rbInvPrincipalInertiaSqrt(this.ptr,g);return WA.__wrap(e)}rbPrincipalInertiaLocalFrame(g){let e=j.rawrigidbodyset_rbPrincipalInertiaLocalFrame(this.ptr,g);return nI.__wrap(e)}rbPrincipalInertia(g){let e=j.rawrigidbodyset_rbPrincipalInertia(this.ptr,g);return WA.__wrap(e)}rbEffectiveWorldInvInertiaSqrt(g){let e=j.rawrigidbodyset_rbEffectiveWorldInvInertiaSqrt(this.ptr,g);return gd.__wrap(e)}rbEffectiveAngularInertia(g){let e=j.rawrigidbodyset_rbEffectiveAngularInertia(this.ptr,g);return gd.__wrap(e)}rbWakeUp(g){j.rawrigidbodyset_rbWakeUp(this.ptr,g)}rbIsCcdEnabled(g){return j.rawrigidbodyset_rbIsCcdEnabled(this.ptr,g)!==0}rbNumColliders(g){return j.rawrigidbodyset_rbNumColliders(this.ptr,g)>>>0}rbCollider(g,e){return j.rawrigidbodyset_rbCollider(this.ptr,g,e)}rbBodyType(g){return j.rawrigidbodyset_rbBodyType(this.ptr,g)>>>0}rbSetBodyType(g,e,I){j.rawrigidbodyset_rbSetBodyType(this.ptr,g,e,I)}rbIsFixed(g){return j.rawrigidbodyset_rbIsFixed(this.ptr,g)!==0}rbIsKinematic(g){return j.rawrigidbodyset_rbIsKinematic(this.ptr,g)!==0}rbIsDynamic(g){return j.rawrigidbodyset_rbIsDynamic(this.ptr,g)!==0}rbLinearDamping(g){return j.rawrigidbodyset_rbLinearDamping(this.ptr,g)}rbAngularDamping(g){return j.rawrigidbodyset_rbAngularDamping(this.ptr,g)}rbSetLinearDamping(g,e){j.rawrigidbodyset_rbSetLinearDamping(this.ptr,g,e)}rbSetAngularDamping(g,e){j.rawrigidbodyset_rbSetAngularDamping(this.ptr,g,e)}rbSetEnabled(g,e){j.rawrigidbodyset_rbSetEnabled(this.ptr,g,e)}rbIsEnabled(g){return j.rawrigidbodyset_rbIsEnabled(this.ptr,g)!==0}rbGravityScale(g){return j.rawrigidbodyset_rbGravityScale(this.ptr,g)}rbSetGravityScale(g,e,I){j.rawrigidbodyset_rbSetGravityScale(this.ptr,g,e,I)}rbResetForces(g,e){j.rawrigidbodyset_rbResetForces(this.ptr,g,e)}rbResetTorques(g,e){j.rawrigidbodyset_rbResetTorques(this.ptr,g,e)}rbAddForce(g,e,I){NA(e,WA),j.rawrigidbodyset_rbAddForce(this.ptr,g,e.ptr,I)}rbApplyImpulse(g,e,I){NA(e,WA),j.rawrigidbodyset_rbApplyImpulse(this.ptr,g,e.ptr,I)}rbAddTorque(g,e,I){NA(e,WA),j.rawrigidbodyset_rbAddTorque(this.ptr,g,e.ptr,I)}rbApplyTorqueImpulse(g,e,I){NA(e,WA),j.rawrigidbodyset_rbApplyTorqueImpulse(this.ptr,g,e.ptr,I)}rbAddForceAtPoint(g,e,I,i){NA(e,WA),NA(I,WA),j.rawrigidbodyset_rbAddForceAtPoint(this.ptr,g,e.ptr,I.ptr,i)}rbApplyImpulseAtPoint(g,e,I,i){NA(e,WA),NA(I,WA),j.rawrigidbodyset_rbApplyImpulseAtPoint(this.ptr,g,e.ptr,I.ptr,i)}rbUserData(g){return j.rawrigidbodyset_rbUserData(this.ptr,g)>>>0}rbSetUserData(g,e){j.rawrigidbodyset_rbSetUserData(this.ptr,g,e)}constructor(){let g=j.rawrigidbodyset_new();return A.__wrap(g)}createRigidBody(g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l,h,u,D,p,w,k,U,N,G){return NA(e,WA),NA(I,nI),NA(o,WA),NA(a,WA),NA(r,WA),NA(s,WA),NA(B,nI),j.rawrigidbodyset_createRigidBody(this.ptr,g,e.ptr,I.ptr,i,t,C,o.ptr,a.ptr,r.ptr,s.ptr,B.ptr,Q,n,E,l,h,u,D,p,w,k,U,N,G)}remove(g,e,I,i,t){NA(e,Mr),NA(I,Gi),NA(i,mr),NA(t,kr),j.rawrigidbodyset_remove(this.ptr,g,e.ptr,I.ptr,i.ptr,t.ptr)}len(){return j.rawrigidbodyset_len(this.ptr)>>>0}contains(g){return j.rawrigidbodyset_contains(this.ptr,g)!==0}forEachRigidBodyHandle(g){try{j.rawrigidbodyset_forEachRigidBodyHandle(this.ptr,ui(g))}finally{kI[ri++]=void 0}}propagateModifiedBodyPositionsToColliders(g){NA(g,Gi),j.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.ptr,g.ptr)}},nI=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawrotation_free(g)}constructor(g,e,I,i){let t=j.rawrotation_new(g,e,I,i);return A.__wrap(t)}static identity(){let g=j.rawrotation_identity();return A.__wrap(g)}get x(){return j.rawintegrationparameters_dt(this.ptr)}get y(){return j.rawrotation_y(this.ptr)}get z(){return j.rawcharactercollision_toi(this.ptr)}get w(){return j.rawrotation_w(this.ptr)}},gd=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawsdpmatrix3_free(g)}elements(){return ah(j.rawsdpmatrix3_elements(this.ptr))}},iy=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawserializationpipeline_free(g)}constructor(){let g=j.rawserializationpipeline_new();return A.__wrap(g)}serializeAll(g,e,I,i,t,C,o,a,r){return NA(g,WA),NA(e,RB),NA(I,Mr),NA(i,FB),NA(t,Ns),NA(C,qi),NA(o,Gi),NA(a,mr),NA(r,kr),ah(j.rawserializationpipeline_serializeAll(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr,C.ptr,o.ptr,a.ptr,r.ptr))}deserializeAll(g){let e=j.rawserializationpipeline_deserializeAll(this.ptr,Xi(g));return e===0?void 0:Ay.__wrap(e)}},HI=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawshape_free(g)}static cuboid(g,e,I){let i=j.rawshape_cuboid(g,e,I);return A.__wrap(i)}static roundCuboid(g,e,I,i){let t=j.rawshape_roundCuboid(g,e,I,i);return A.__wrap(t)}static ball(g){let e=j.rawshape_ball(g);return A.__wrap(e)}static halfspace(g){NA(g,WA);let e=j.rawshape_halfspace(g.ptr);return A.__wrap(e)}static capsule(g,e){let I=j.rawshape_capsule(g,e);return A.__wrap(I)}static cylinder(g,e){let I=j.rawshape_cylinder(g,e);return A.__wrap(I)}static roundCylinder(g,e,I){let i=j.rawshape_roundCylinder(g,e,I);return A.__wrap(i)}static cone(g,e){let I=j.rawshape_cone(g,e);return A.__wrap(I)}static roundCone(g,e,I){let i=j.rawshape_roundCone(g,e,I);return A.__wrap(i)}static polyline(g,e){let I=UB(g,j.__wbindgen_malloc),i=go,t=xc(e,j.__wbindgen_malloc),C=go,o=j.rawshape_polyline(I,i,t,C);return A.__wrap(o)}static trimesh(g,e){let I=UB(g,j.__wbindgen_malloc),i=go,t=xc(e,j.__wbindgen_malloc),C=go,o=j.rawshape_trimesh(I,i,t,C);return A.__wrap(o)}static heightfield(g,e,I,i){let t=UB(I,j.__wbindgen_malloc),C=go;NA(i,WA);let o=j.rawshape_heightfield(g,e,t,C,i.ptr);return A.__wrap(o)}static segment(g,e){NA(g,WA),NA(e,WA);let I=j.rawshape_segment(g.ptr,e.ptr);return A.__wrap(I)}static triangle(g,e,I){NA(g,WA),NA(e,WA),NA(I,WA);let i=j.rawshape_triangle(g.ptr,e.ptr,I.ptr);return A.__wrap(i)}static roundTriangle(g,e,I,i){NA(g,WA),NA(e,WA),NA(I,WA);let t=j.rawshape_roundTriangle(g.ptr,e.ptr,I.ptr,i);return A.__wrap(t)}static convexHull(g){let e=UB(g,j.__wbindgen_malloc),I=go,i=j.rawshape_convexHull(e,I);return i===0?void 0:A.__wrap(i)}static roundConvexHull(g,e){let I=UB(g,j.__wbindgen_malloc),i=go,t=j.rawshape_roundConvexHull(I,i,e);return t===0?void 0:A.__wrap(t)}static convexMesh(g,e){let I=UB(g,j.__wbindgen_malloc),i=go,t=xc(e,j.__wbindgen_malloc),C=go,o=j.rawshape_convexMesh(I,i,t,C);return o===0?void 0:A.__wrap(o)}static roundConvexMesh(g,e,I){let i=UB(g,j.__wbindgen_malloc),t=go,C=xc(e,j.__wbindgen_malloc),o=go,a=j.rawshape_roundConvexMesh(i,t,C,o,I);return a===0?void 0:A.__wrap(a)}castShape(g,e,I,i,t,C,o,a,r){NA(g,WA),NA(e,nI),NA(I,WA),NA(i,A),NA(t,WA),NA(C,nI),NA(o,WA);let s=j.rawshape_castShape(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr,C.ptr,o.ptr,a,r);return s===0?void 0:Id.__wrap(s)}intersectsShape(g,e,I,i,t){return NA(g,WA),NA(e,nI),NA(I,A),NA(i,WA),NA(t,nI),j.rawshape_intersectsShape(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr)!==0}contactShape(g,e,I,i,t,C){NA(g,WA),NA(e,nI),NA(I,A),NA(i,WA),NA(t,nI);let o=j.rawshape_contactShape(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t.ptr,C);return o===0?void 0:sh.__wrap(o)}containsPoint(g,e,I){return NA(g,WA),NA(e,nI),NA(I,WA),j.rawshape_containsPoint(this.ptr,g.ptr,e.ptr,I.ptr)!==0}projectPoint(g,e,I,i){NA(g,WA),NA(e,nI),NA(I,WA);let t=j.rawshape_projectPoint(this.ptr,g.ptr,e.ptr,I.ptr,i);return Zc.__wrap(t)}intersectsRay(g,e,I,i,t){return NA(g,WA),NA(e,nI),NA(I,WA),NA(i,WA),j.rawshape_intersectsRay(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t)!==0}castRay(g,e,I,i,t,C){return NA(g,WA),NA(e,nI),NA(I,WA),NA(i,WA),j.rawshape_castRay(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t,C)}castRayAndGetNormal(g,e,I,i,t,C){NA(g,WA),NA(e,nI),NA(I,WA),NA(i,WA);let o=j.rawshape_castRayAndGetNormal(this.ptr,g.ptr,e.ptr,I.ptr,i.ptr,t,C);return o===0?void 0:Ad.__wrap(o)}},ed=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawshapecollidertoi_free(g)}colliderHandle(){return j.rawcharactercollision_handle(this.ptr)}toi(){return j.rawcharactercollision_toi(this.ptr)}witness1(){let g=j.rawcharactercollision_worldWitness1(this.ptr);return WA.__wrap(g)}witness2(){let g=j.rawshapecollidertoi_witness2(this.ptr);return WA.__wrap(g)}normal1(){let g=j.rawcharactercollision_worldNormal1(this.ptr);return WA.__wrap(g)}normal2(){let g=j.rawshapecollidertoi_normal2(this.ptr);return WA.__wrap(g)}},sh=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawshapecontact_free(g)}distance(){return j.rawshapecontact_distance(this.ptr)}point1(){let g=j.rawkinematiccharactercontroller_computedMovement(this.ptr);return WA.__wrap(g)}point2(){let g=j.rawcharactercollision_worldWitness1(this.ptr);return WA.__wrap(g)}normal1(){let g=j.rawshapecollidertoi_witness2(this.ptr);return WA.__wrap(g)}normal2(){let g=j.rawcharactercollision_worldNormal1(this.ptr);return WA.__wrap(g)}},Id=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawshapetoi_free(g)}toi(){return j.rawintegrationparameters_dt(this.ptr)}witness1(){let g=j.rawshapetoi_witness1(this.ptr);return WA.__wrap(g)}witness2(){let g=j.rawcontactforceevent_total_force(this.ptr);return WA.__wrap(g)}normal1(){let g=j.rawshapetoi_normal1(this.ptr);return WA.__wrap(g)}normal2(){let g=j.rawshapetoi_normal2(this.ptr);return WA.__wrap(g)}},WA=class A{static __wrap(g){let e=Object.create(A.prototype);return e.ptr=g,e}__destroy_into_raw(){let g=this.ptr;return this.ptr=0,g}free(){let g=this.__destroy_into_raw();j.__wbg_rawvector_free(g)}static zero(){let g=j.rawvector_zero();return A.__wrap(g)}constructor(g,e,I){let i=j.rawvector_new(g,e,I);return A.__wrap(i)}get x(){return j.rawintegrationparameters_dt(this.ptr)}set x(g){j.rawintegrationparameters_set_dt(this.ptr,g)}get y(){return j.rawrotation_y(this.ptr)}set y(g){j.rawvector_set_y(this.ptr,g)}get z(){return j.rawcharactercollision_toi(this.ptr)}set z(g){j.rawintegrationparameters_set_erp(this.ptr,g)}xyz(){let g=j.rawvector_xyz(this.ptr);return A.__wrap(g)}yxz(){let g=j.rawvector_yxz(this.ptr);return A.__wrap(g)}zxy(){let g=j.rawvector_zxy(this.ptr);return A.__wrap(g)}xzy(){let g=j.rawvector_xzy(this.ptr);return A.__wrap(g)}yzx(){let g=j.rawvector_yzx(this.ptr);return A.__wrap(g)}zyx(){let g=j.rawvector_zyx(this.ptr);return A.__wrap(g)}};Bh=class{constructor(g,e,I){this.x=g,this.y=e,this.z=I}},TA=class A{static new(g,e,I){return new Bh(g,e,I)}static intoRaw(g){return new WA(g.x,g.y,g.z)}static zeros(){return A.new(0,0,0)}static fromRaw(g){if(!g)return null;let e=A.new(g.x,g.y,g.z);return g.free(),e}static copy(g,e){g.x=e.x,g.y=e.y,g.z=e.z}},xQ=class{constructor(g,e,I,i){this.x=g,this.y=e,this.z=I,this.w=i}},Xe=class{static identity(){return new xQ(0,0,0,1)}static fromRaw(g){if(!g)return null;let e=new xQ(g.x,g.y,g.z,g.w);return g.free(),e}static intoRaw(g){return new nI(g.x,g.y,g.z,g.w)}static copy(g,e){g.x=e.x,g.y=e.y,g.z=e.z,g.w=e.w}},Qh=class{constructor(g){this.elements=g}get m11(){return this.elements[0]}get m12(){return this.elements[1]}get m21(){return this.m12}get m13(){return this.elements[2]}get m31(){return this.m13}get m22(){return this.elements[3]}get m23(){return this.elements[4]}get m32(){return this.m23}get m33(){return this.elements[5]}},YQ=class{static fromRaw(g){let e=new Qh(g.elements());return g.free(),e}};(function(A){A[A.Dynamic=0]="Dynamic",A[A.Fixed=1]="Fixed",A[A.KinematicPositionBased=2]="KinematicPositionBased",A[A.KinematicVelocityBased=3]="KinematicVelocityBased"})(Do||(Do={}));TQ=class{constructor(g,e,I){this.rawSet=g,this.colliderSet=e,this.handle=I}finalizeDeserialization(g){this.colliderSet=g}isValid(){return this.rawSet.contains(this.handle)}lockTranslations(g,e){return this.rawSet.rbLockTranslations(this.handle,g,e)}lockRotations(g,e){return this.rawSet.rbLockRotations(this.handle,g,e)}setEnabledTranslations(g,e,I,i){return this.rawSet.rbSetEnabledTranslations(this.handle,g,e,I,i)}restrictTranslations(g,e,I,i){this.setEnabledTranslations(g,e,I,i)}setEnabledRotations(g,e,I,i){return this.rawSet.rbSetEnabledRotations(this.handle,g,e,I,i)}restrictRotations(g,e,I,i){this.setEnabledRotations(g,e,I,i)}dominanceGroup(){return this.rawSet.rbDominanceGroup(this.handle)}setDominanceGroup(g){this.rawSet.rbSetDominanceGroup(this.handle,g)}enableCcd(g){this.rawSet.rbEnableCcd(this.handle,g)}translation(){let g=this.rawSet.rbTranslation(this.handle);return TA.fromRaw(g)}rotation(){let g=this.rawSet.rbRotation(this.handle);return Xe.fromRaw(g)}nextTranslation(){let g=this.rawSet.rbNextTranslation(this.handle);return TA.fromRaw(g)}nextRotation(){let g=this.rawSet.rbNextRotation(this.handle);return Xe.fromRaw(g)}setTranslation(g,e){this.rawSet.rbSetTranslation(this.handle,g.x,g.y,g.z,e)}setLinvel(g,e){let I=TA.intoRaw(g);this.rawSet.rbSetLinvel(this.handle,I,e),I.free()}gravityScale(){return this.rawSet.rbGravityScale(this.handle)}setGravityScale(g,e){this.rawSet.rbSetGravityScale(this.handle,g,e)}setRotation(g,e){this.rawSet.rbSetRotation(this.handle,g.x,g.y,g.z,g.w,e)}setAngvel(g,e){let I=TA.intoRaw(g);this.rawSet.rbSetAngvel(this.handle,I,e),I.free()}setNextKinematicTranslation(g){this.rawSet.rbSetNextKinematicTranslation(this.handle,g.x,g.y,g.z)}setNextKinematicRotation(g){this.rawSet.rbSetNextKinematicRotation(this.handle,g.x,g.y,g.z,g.w)}linvel(){return TA.fromRaw(this.rawSet.rbLinvel(this.handle))}angvel(){return TA.fromRaw(this.rawSet.rbAngvel(this.handle))}mass(){return this.rawSet.rbMass(this.handle)}effectiveInvMass(){return TA.fromRaw(this.rawSet.rbEffectiveInvMass(this.handle))}invMass(){return this.rawSet.rbInvMass(this.handle)}localCom(){return TA.fromRaw(this.rawSet.rbLocalCom(this.handle))}worldCom(){return TA.fromRaw(this.rawSet.rbWorldCom(this.handle))}invPrincipalInertiaSqrt(){return TA.fromRaw(this.rawSet.rbInvPrincipalInertiaSqrt(this.handle))}principalInertia(){return TA.fromRaw(this.rawSet.rbPrincipalInertia(this.handle))}principalInertiaLocalFrame(){return Xe.fromRaw(this.rawSet.rbPrincipalInertiaLocalFrame(this.handle))}effectiveWorldInvInertiaSqrt(){return YQ.fromRaw(this.rawSet.rbEffectiveWorldInvInertiaSqrt(this.handle))}effectiveAngularInertia(){return YQ.fromRaw(this.rawSet.rbEffectiveAngularInertia(this.handle))}sleep(){this.rawSet.rbSleep(this.handle)}wakeUp(){this.rawSet.rbWakeUp(this.handle)}isCcdEnabled(){return this.rawSet.rbIsCcdEnabled(this.handle)}numColliders(){return this.rawSet.rbNumColliders(this.handle)}collider(g){return this.colliderSet.get(this.rawSet.rbCollider(this.handle,g))}setEnabled(g){this.rawSet.rbSetEnabled(this.handle,g)}isEnabled(){return this.rawSet.rbIsEnabled(this.handle)}bodyType(){return this.rawSet.rbBodyType(this.handle)}setBodyType(g,e){return this.rawSet.rbSetBodyType(this.handle,g,e)}isSleeping(){return this.rawSet.rbIsSleeping(this.handle)}isMoving(){return this.rawSet.rbIsMoving(this.handle)}isFixed(){return this.rawSet.rbIsFixed(this.handle)}isKinematic(){return this.rawSet.rbIsKinematic(this.handle)}isDynamic(){return this.rawSet.rbIsDynamic(this.handle)}linearDamping(){return this.rawSet.rbLinearDamping(this.handle)}angularDamping(){return this.rawSet.rbAngularDamping(this.handle)}setLinearDamping(g){this.rawSet.rbSetLinearDamping(this.handle,g)}recomputeMassPropertiesFromColliders(){this.rawSet.rbRecomputeMassPropertiesFromColliders(this.handle,this.colliderSet.raw)}setAdditionalMass(g,e){this.rawSet.rbSetAdditionalMass(this.handle,g,e)}setAdditionalMassProperties(g,e,I,i,t){let C=TA.intoRaw(e),o=TA.intoRaw(I),a=Xe.intoRaw(i);this.rawSet.rbSetAdditionalMassProperties(this.handle,g,C,o,a,t),C.free(),o.free(),a.free()}setAngularDamping(g){this.rawSet.rbSetAngularDamping(this.handle,g)}resetForces(g){this.rawSet.rbResetForces(this.handle,g)}resetTorques(g){this.rawSet.rbResetTorques(this.handle,g)}addForce(g,e){let I=TA.intoRaw(g);this.rawSet.rbAddForce(this.handle,I,e),I.free()}applyImpulse(g,e){let I=TA.intoRaw(g);this.rawSet.rbApplyImpulse(this.handle,I,e),I.free()}addTorque(g,e){let I=TA.intoRaw(g);this.rawSet.rbAddTorque(this.handle,I,e),I.free()}applyTorqueImpulse(g,e){let I=TA.intoRaw(g);this.rawSet.rbApplyTorqueImpulse(this.handle,I,e),I.free()}addForceAtPoint(g,e,I){let i=TA.intoRaw(g),t=TA.intoRaw(e);this.rawSet.rbAddForceAtPoint(this.handle,i,t,I),i.free(),t.free()}applyImpulseAtPoint(g,e,I){let i=TA.intoRaw(g),t=TA.intoRaw(e);this.rawSet.rbApplyImpulseAtPoint(this.handle,i,t,I),i.free(),t.free()}},rd=class A{constructor(g){this.enabled=!0,this.status=g,this.translation=TA.zeros(),this.rotation=Xe.identity(),this.gravityScale=1,this.linvel=TA.zeros(),this.mass=0,this.massOnly=!1,this.centerOfMass=TA.zeros(),this.translationsEnabledX=!0,this.translationsEnabledY=!0,this.angvel=TA.zeros(),this.principalAngularInertia=TA.zeros(),this.angularInertiaLocalFrame=Xe.identity(),this.translationsEnabledZ=!0,this.rotationsEnabledX=!0,this.rotationsEnabledY=!0,this.rotationsEnabledZ=!0,this.linearDamping=0,this.angularDamping=0,this.canSleep=!0,this.sleeping=!1,this.ccdEnabled=!1,this.dominanceGroup=0}static dynamic(){return new A(Do.Dynamic)}static kinematicPositionBased(){return new A(Do.KinematicPositionBased)}static kinematicVelocityBased(){return new A(Do.KinematicVelocityBased)}static fixed(){return new A(Do.Fixed)}static newDynamic(){return new A(Do.Dynamic)}static newKinematicPositionBased(){return new A(Do.KinematicPositionBased)}static newKinematicVelocityBased(){return new A(Do.KinematicVelocityBased)}static newStatic(){return new A(Do.Fixed)}setDominanceGroup(g){return this.dominanceGroup=g,this}setEnabled(g){return this.enabled=g,this}setTranslation(g,e,I){if(typeof g!="number"||typeof e!="number"||typeof I!="number")throw TypeError("The translation components must be numbers.");return this.translation={x:g,y:e,z:I},this}setRotation(g){return Xe.copy(this.rotation,g),this}setGravityScale(g){return this.gravityScale=g,this}setAdditionalMass(g){return this.mass=g,this.massOnly=!0,this}setLinvel(g,e,I){if(typeof g!="number"||typeof e!="number"||typeof I!="number")throw TypeError("The linvel components must be numbers.");return this.linvel={x:g,y:e,z:I},this}setAngvel(g){return TA.copy(this.angvel,g),this}setAdditionalMassProperties(g,e,I,i){return this.mass=g,TA.copy(this.centerOfMass,e),TA.copy(this.principalAngularInertia,I),Xe.copy(this.angularInertiaLocalFrame,i),this.massOnly=!1,this}enabledTranslations(g,e,I){return this.translationsEnabledX=g,this.translationsEnabledY=e,this.translationsEnabledZ=I,this}restrictTranslations(g,e,I){return this.enabledTranslations(g,e,I)}lockTranslations(){return this.enabledTranslations(!1,!1,!1)}enabledRotations(g,e,I){return this.rotationsEnabledX=g,this.rotationsEnabledY=e,this.rotationsEnabledZ=I,this}restrictRotations(g,e,I){return this.enabledRotations(g,e,I)}lockRotations(){return this.restrictRotations(!1,!1,!1)}setLinearDamping(g){return this.linearDamping=g,this}setAngularDamping(g){return this.angularDamping=g,this}setCanSleep(g){return this.canSleep=g,this}setSleeping(g){return this.sleeping=g,this}setCcdEnabled(g){return this.ccdEnabled=g,this}setUserData(g){return this.userData=g,this}},OQ=class{constructor(){this.fconv=new Float64Array(1),this.uconv=new Uint32Array(this.fconv.buffer),this.data=new Array,this.size=0}set(g,e){let I=this.index(g);for(;this.data.length<=I;)this.data.push(null);this.data[I]==null&&(this.size+=1),this.data[I]=e}len(){return this.size}delete(g){let e=this.index(g);e<this.data.length&&(this.data[e]!=null&&(this.size-=1),this.data[e]=null)}clear(){this.data=new Array}get(g){let e=this.index(g);return e<this.data.length?this.data[e]:null}forEach(g){for(let e of this.data)e!=null&&g(e)}getAll(){return this.data.filter(g=>g!=null)}index(g){return this.fconv[0]=g,this.uconv[0]}},Eh=class{constructor(g){this.raw=g||new qi,this.map=new OQ,g&&g.forEachRigidBodyHandle(e=>{this.map.set(e,new TQ(g,null,e))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(g){this.map.forEach(e=>e.finalizeDeserialization(g))}createRigidBody(g,e){let I=TA.intoRaw(e.translation),i=Xe.intoRaw(e.rotation),t=TA.intoRaw(e.linvel),C=TA.intoRaw(e.centerOfMass),o=TA.intoRaw(e.angvel),a=TA.intoRaw(e.principalAngularInertia),r=Xe.intoRaw(e.angularInertiaLocalFrame),s=this.raw.createRigidBody(e.enabled,I,i,e.gravityScale,e.mass,e.massOnly,C,t,o,a,r,e.translationsEnabledX,e.translationsEnabledY,e.translationsEnabledZ,e.rotationsEnabledX,e.rotationsEnabledY,e.rotationsEnabledZ,e.linearDamping,e.angularDamping,e.status,e.canSleep,e.sleeping,e.ccdEnabled,e.dominanceGroup);I.free(),i.free(),t.free(),C.free(),o.free(),a.free(),r.free();let B=new TQ(this.raw,g,s);return B.userData=e.userData,this.map.set(s,B),B}remove(g,e,I,i,t){for(let C=0;C<this.raw.rbNumColliders(g);C+=1)I.unmap(this.raw.rbCollider(g,C));i.forEachJointHandleAttachedToRigidBody(g,C=>i.unmap(C)),t.forEachJointHandleAttachedToRigidBody(g,C=>t.unmap(C)),this.raw.remove(g,e.raw,I.raw,i.raw,t.raw),this.map.delete(g)}len(){return this.map.len()}contains(g){return this.get(g)!=null}get(g){return this.map.get(g)}forEach(g){this.map.forEach(g)}forEachActiveRigidBody(g,e){g.forEachActiveRigidBodyHandle(I=>{e(this.get(I))})}getAll(){return this.map.getAll()}},hh=class{constructor(g){this.raw=g||new RB}free(){this.raw&&this.raw.free(),this.raw=void 0}get dt(){return this.raw.dt}get erp(){return this.raw.erp}get allowedLinearError(){return this.raw.allowedLinearError}get predictionDistance(){return this.raw.predictionDistance}get maxVelocityIterations(){return this.raw.maxVelocityIterations}get maxVelocityFrictionIterations(){return this.raw.maxVelocityFrictionIterations}get maxStabilizationIterations(){return this.raw.maxStabilizationIterations}get minIslandSize(){return this.raw.minIslandSize}get maxCcdSubsteps(){return this.raw.maxCcdSubsteps}set dt(g){this.raw.dt=g}set erp(g){this.raw.erp=g}set allowedLinearError(g){this.raw.allowedLinearError=g}set predictionDistance(g){this.raw.predictionDistance=g}set maxVelocityIterations(g){this.raw.maxVelocityIterations=g}set maxVelocityFrictionIterations(g){this.raw.maxVelocityFrictionIterations=g}set maxStabilizationIterations(g){this.raw.maxStabilizationIterations=g}set minIslandSize(g){this.raw.minIslandSize=g}set maxCcdSubsteps(g){this.raw.maxCcdSubsteps=g}};(function(A){A[A.Revolute=0]="Revolute",A[A.Fixed=1]="Fixed",A[A.Prismatic=2]="Prismatic",A[A.Spherical=3]="Spherical"})($i||($i={})),function(A){A[A.AccelerationBased=0]="AccelerationBased",A[A.ForceBased=1]="ForceBased"}(id||(id={}));Ur=class A{constructor(g,e,I){this.rawSet=g,this.bodySet=e,this.handle=I}static newTyped(g,e,I){switch(g.jointType(I)){case $i.Revolute:return new dh(g,e,I);case $i.Prismatic:return new ch(g,e,I);case $i.Fixed:return new lh(g,e,I);case $i.Spherical:return new uh(g,e,I);default:return new A(g,e,I)}}finalizeDeserialization(g){this.bodySet=g}isValid(){return this.rawSet.contains(this.handle)}body1(){return this.bodySet.get(this.rawSet.jointBodyHandle1(this.handle))}body2(){return this.bodySet.get(this.rawSet.jointBodyHandle2(this.handle))}type(){return this.rawSet.jointType(this.handle)}frameX1(){return Xe.fromRaw(this.rawSet.jointFrameX1(this.handle))}frameX2(){return Xe.fromRaw(this.rawSet.jointFrameX2(this.handle))}anchor1(){return TA.fromRaw(this.rawSet.jointAnchor1(this.handle))}anchor2(){return TA.fromRaw(this.rawSet.jointAnchor2(this.handle))}setAnchor1(g){let e=TA.intoRaw(g);this.rawSet.jointSetAnchor1(this.handle,e),e.free()}setAnchor2(g){let e=TA.intoRaw(g);this.rawSet.jointSetAnchor2(this.handle,e),e.free()}setContactsEnabled(g){this.rawSet.jointSetContactsEnabled(this.handle,g)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}},_Q=class extends Ur{limitsEnabled(){return this.rawSet.jointLimitsEnabled(this.handle,this.rawAxis())}limitsMin(){return this.rawSet.jointLimitsMin(this.handle,this.rawAxis())}limitsMax(){return this.rawSet.jointLimitsMax(this.handle,this.rawAxis())}setLimits(g,e){this.rawSet.jointSetLimits(this.handle,this.rawAxis(),g,e)}configureMotorModel(g){this.rawSet.jointConfigureMotorModel(this.handle,this.rawAxis(),g)}configureMotorVelocity(g,e){this.rawSet.jointConfigureMotorVelocity(this.handle,this.rawAxis(),g,e)}configureMotorPosition(g,e,I){this.rawSet.jointConfigureMotorPosition(this.handle,this.rawAxis(),g,e,I)}configureMotor(g,e,I,i){this.rawSet.jointConfigureMotor(this.handle,this.rawAxis(),g,e,I,i)}},lh=class extends Ur{},ch=class extends _Q{rawAxis(){return Ed.X}},dh=class extends _Q{rawAxis(){return Ed.AngX}},uh=class extends Ur{},sd=class A{constructor(){}static fixed(g,e,I,i){let t=new A;return t.anchor1=g,t.anchor2=I,t.frame1=e,t.frame2=i,t.jointType=$i.Fixed,t}static spherical(g,e){let I=new A;return I.anchor1=g,I.anchor2=e,I.jointType=$i.Spherical,I}static prismatic(g,e,I){let i=new A;return i.anchor1=g,i.anchor2=e,i.axis=I,i.jointType=$i.Prismatic,i}static revolute(g,e,I){let i=new A;return i.anchor1=g,i.anchor2=e,i.axis=I,i.jointType=$i.Revolute,i}intoRaw(){let g,e,I=TA.intoRaw(this.anchor1),i=TA.intoRaw(this.anchor2),t=!1,C=0,o=0;switch(this.jointType){case $i.Fixed:let a=Xe.intoRaw(this.frame1),r=Xe.intoRaw(this.frame2);e=Ms.fixed(I,a,i,r),a.free(),r.free();break;case $i.Prismatic:g=TA.intoRaw(this.axis),this.limitsEnabled&&(t=!0,C=this.limits[0],o=this.limits[1]),e=Ms.prismatic(I,i,g,t,C,o),g.free();break;case $i.Spherical:e=Ms.spherical(I,i);break;case $i.Revolute:g=TA.intoRaw(this.axis),e=Ms.revolute(I,i,g),g.free()}return I.free(),i.free(),e}},Dh=class{constructor(g){this.raw=g||new mr,this.map=new OQ,g&&g.forEachJointHandle(e=>{this.map.set(e,Ur.newTyped(g,null,e))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}finalizeDeserialization(g){this.map.forEach(e=>e.finalizeDeserialization(g))}createJoint(g,e,I,i,t){let C=e.intoRaw(),o=this.raw.createJoint(C,I,i,t);C.free();let a=Ur.newTyped(this.raw,g,o);return this.map.set(o,a),a}remove(g,e){this.raw.remove(g,e),this.unmap(g)}forEachJointHandleAttachedToRigidBody(g,e){this.raw.forEachJointAttachedToRigidBody(g,e)}unmap(g){this.map.delete(g)}len(){return this.map.len()}contains(g){return this.get(g)!=null}get(g){return this.map.get(g)}forEach(g){this.map.forEach(g)}getAll(){return this.map.getAll()}},Nr=class A{constructor(g,e){this.rawSet=g,this.handle=e}static newTyped(g,e){switch(g.jointType(e)){case $i.Revolute:return new wh(g,e);case $i.Prismatic:return new yh(g,e);case $i.Fixed:return new ph(g,e);case $i.Spherical:return new fh(g,e);default:return new A(g,e)}}isValid(){return this.rawSet.contains(this.handle)}setContactsEnabled(g){this.rawSet.jointSetContactsEnabled(this.handle,g)}contactsEnabled(){return this.rawSet.jointContactsEnabled(this.handle)}},PQ=class extends Nr{},ph=class extends Nr{},yh=class extends PQ{rawAxis(){return Ed.X}},wh=class extends PQ{rawAxis(){return Ed.AngX}},fh=class extends Nr{},Sh=class{constructor(g){this.raw=g||new kr,this.map=new OQ,g&&g.forEachJointHandle(e=>{this.map.set(e,Nr.newTyped(this.raw,e))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}createJoint(g,e,I,i){let t=g.intoRaw(),C=this.raw.createJoint(t,e,I,i);t.free();let o=Nr.newTyped(this.raw,C);return this.map.set(C,o),o}remove(g,e){this.raw.remove(g,e),this.map.delete(g)}unmap(g){this.map.delete(g)}len(){return this.map.len()}contains(g){return this.get(g)!=null}get(g){return this.map.get(g)}forEach(g){this.map.forEach(g)}forEachJointHandleAttachedToRigidBody(g,e){this.raw.forEachJointAttachedToRigidBody(g,e)}getAll(){return this.map.getAll()}};(function(A){A[A.Average=0]="Average",A[A.Min=1]="Min",A[A.Multiply=2]="Multiply",A[A.Max=3]="Max"})(HQ||(HQ={}));Gh=class{constructor(g){this.raw=g||new rh}free(){this.raw&&this.raw.free(),this.raw=void 0}},mh=class{constructor(g){this.raw=g||new Mr}free(){this.raw&&this.raw.free(),this.raw=void 0}forEachActiveRigidBodyHandle(g){this.raw.forEachActiveRigidBodyHandle(g)}},Mh=class{constructor(g){this.raw=g||new FB}free(){this.raw&&this.raw.free(),this.raw=void 0}},kh=class{constructor(g){this.raw=g||new Ns,this.tempManifold=new Uh(null)}free(){this.raw&&this.raw.free(),this.raw=void 0}contactsWith(g,e){this.raw.contacts_with(g,e)}intersectionsWith(g,e){this.raw.intersections_with(g,e)}contactPair(g,e,I){let i=this.raw.contact_pair(g,e);if(i){let t=i.collider1()!=g,C;for(C=0;C<i.numContactManifolds();++C)this.tempManifold.raw=i.contactManifold(C),this.tempManifold.raw&&I(this.tempManifold,t),this.tempManifold.free();i.free()}}intersectionPair(g,e){return this.raw.intersection_pair(g,e)}},Uh=class{constructor(g){this.raw=g}free(){this.raw&&this.raw.free(),this.raw=void 0}normal(){return TA.fromRaw(this.raw.normal())}localNormal1(){return TA.fromRaw(this.raw.local_n1())}localNormal2(){return TA.fromRaw(this.raw.local_n2())}subshape1(){return this.raw.subshape1()}subshape2(){return this.raw.subshape2()}numContacts(){return this.raw.num_contacts()}localContactPoint1(g){return TA.fromRaw(this.raw.contact_local_p1(g))}localContactPoint2(g){return TA.fromRaw(this.raw.contact_local_p2(g))}contactDist(g){return this.raw.contact_dist(g)}contactFid1(g){return this.raw.contact_fid1(g)}contactFid2(g){return this.raw.contact_fid2(g)}contactImpulse(g){return this.raw.contact_impulse(g)}contactTangentImpulseX(g){return this.raw.contact_tangent_impulse_x(g)}contactTangentImpulseY(g){return this.raw.contact_tangent_impulse_y(g)}numSolverContacts(){return this.raw.num_solver_contacts()}solverContactPoint(g){return TA.fromRaw(this.raw.solver_contact_point(g))}solverContactDist(g){return this.raw.solver_contact_dist(g)}solverContactFriction(g){return this.raw.solver_contact_friction(g)}solverContactRestitution(g){return this.raw.solver_contact_restitution(g)}solverContactTangentVelocity(g){return TA.fromRaw(this.raw.solver_contact_tangent_velocity(g))}},KB=class A{constructor(g,e,I,i,t){this.distance=g,this.point1=e,this.point2=I,this.normal1=i,this.normal2=t}static fromRaw(g){if(!g)return null;let e=new A(g.distance(),TA.fromRaw(g.point1()),TA.fromRaw(g.point2()),TA.fromRaw(g.normal1()),TA.fromRaw(g.normal2()));return g.free(),e}};(function(A){A[A.Vertex=0]="Vertex",A[A.Edge=1]="Edge",A[A.Face=2]="Face",A[A.Unknown=3]="Unknown"})(vB||(vB={}));jQ=class A{constructor(g,e){this.point=g,this.isInside=e}static fromRaw(g){if(!g)return null;let e=new A(TA.fromRaw(g.point()),g.isInside());return g.free(),e}},WQ=class A{constructor(g,e,I,i,t){this.featureType=vB.Unknown,this.featureId=void 0,this.collider=g,this.point=e,this.isInside=I,t!==void 0&&(this.featureId=t),i!==void 0&&(this.featureType=i)}static fromRaw(g,e){if(!e)return null;let I=new A(g.get(e.colliderHandle()),TA.fromRaw(e.point()),e.isInside(),e.featureType(),e.featureId());return e.free(),I}},Bd=class{constructor(g,e){this.origin=g,this.dir=e}pointAt(g){return{x:this.origin.x+this.dir.x*g,y:this.origin.y+this.dir.y*g,z:this.origin.z+this.dir.z*g}}},zQ=class A{constructor(g,e,I,i){this.featureType=vB.Unknown,this.featureId=void 0,this.toi=g,this.normal=e,i!==void 0&&(this.featureId=i),I!==void 0&&(this.featureType=I)}static fromRaw(g){if(!g)return null;let e=new A(g.toi(),TA.fromRaw(g.normal()),g.featureType(),g.featureId());return g.free(),e}},VQ=class A{constructor(g,e,I,i,t){this.featureType=vB.Unknown,this.featureId=void 0,this.collider=g,this.toi=e,this.normal=I,t!==void 0&&(this.featureId=t),i!==void 0&&(this.featureType=i)}static fromRaw(g,e){if(!e)return null;let I=new A(g.get(e.colliderHandle()),e.toi(),TA.fromRaw(e.normal()),e.featureType(),e.featureId());return e.free(),I}},Nh=class A{constructor(g,e){this.collider=g,this.toi=e}static fromRaw(g,e){if(!e)return null;let I=new A(g.get(e.colliderHandle()),e.toi());return e.free(),I}},JB=class A{constructor(g,e,I,i,t){this.toi=g,this.witness1=e,this.witness2=I,this.normal1=i,this.normal2=t}static fromRaw(g,e){if(!e)return null;let I=new A(e.toi(),TA.fromRaw(e.witness1()),TA.fromRaw(e.witness2()),TA.fromRaw(e.normal1()),TA.fromRaw(e.normal2()));return e.free(),I}},ZQ=class A extends JB{constructor(g,e,I,i,t,C){super(e,I,i,t,C),this.collider=g}static fromRaw(g,e){if(!e)return null;let I=new A(g.get(e.colliderHandle()),e.toi(),TA.fromRaw(e.witness1()),TA.fromRaw(e.witness2()),TA.fromRaw(e.normal1()),TA.fromRaw(e.normal2()));return e.free(),I}},mi=class{static fromRaw(g,e){let I=g.coShapeType(e),i,t,C,o,a,r,s;switch(I){case CI.Ball:return new XQ(g.coRadius(e));case CI.Cuboid:return i=g.coHalfExtents(e),new $Q(i.x,i.y,i.z);case CI.RoundCuboid:return i=g.coHalfExtents(e),t=g.coRoundRadius(e),new An(i.x,i.y,i.z,t);case CI.Capsule:return a=g.coHalfHeight(e),r=g.coRadius(e),new gn(a,r);case CI.Segment:return C=g.coVertices(e),new en(TA.new(C[0],C[1],C[2]),TA.new(C[3],C[4],C[5]));case CI.Polyline:return C=g.coVertices(e),o=g.coIndices(e),new Cn(C,o);case CI.Triangle:return C=g.coVertices(e),new In(TA.new(C[0],C[1],C[2]),TA.new(C[3],C[4],C[5]),TA.new(C[6],C[7],C[8]));case CI.RoundTriangle:return C=g.coVertices(e),t=g.coRoundRadius(e),new tn(TA.new(C[0],C[1],C[2]),TA.new(C[3],C[4],C[5]),TA.new(C[6],C[7],C[8]),t);case CI.HalfSpace:return s=TA.fromRaw(g.coHalfspaceNormal(e)),new Fh(s);case CI.TriMesh:return C=g.coVertices(e),o=g.coIndices(e),new on(C,o);case CI.HeightField:let B=g.coHeightfieldScale(e),Q=g.coHeightfieldHeights(e),n=g.coHeightfieldNRows(e),E=g.coHeightfieldNCols(e);return new an(n,E,Q,B);case CI.ConvexPolyhedron:return C=g.coVertices(e),o=g.coIndices(e),new qB(C,o);case CI.RoundConvexPolyhedron:return C=g.coVertices(e),o=g.coIndices(e),t=g.coRoundRadius(e),new bB(C,o,t);case CI.Cylinder:return a=g.coHalfHeight(e),r=g.coRadius(e),new rn(a,r);case CI.RoundCylinder:return a=g.coHalfHeight(e),r=g.coRadius(e),t=g.coRoundRadius(e),new sn(a,r,t);case CI.Cone:return a=g.coHalfHeight(e),r=g.coRadius(e),new Bn(a,r);case CI.RoundCone:return a=g.coHalfHeight(e),r=g.coRadius(e),t=g.coRoundRadius(e),new Qn(a,r,t);default:throw new Error("unknown shape type: "+I)}}castShape(g,e,I,i,t,C,o,a,r){let s=TA.intoRaw(g),B=Xe.intoRaw(e),Q=TA.intoRaw(I),n=TA.intoRaw(t),E=Xe.intoRaw(C),l=TA.intoRaw(o),h=this.intoRaw(),u=i.intoRaw(),D=JB.fromRaw(null,h.castShape(s,B,Q,u,n,E,l,a,r));return s.free(),B.free(),Q.free(),n.free(),E.free(),l.free(),h.free(),u.free(),D}intersectsShape(g,e,I,i,t){let C=TA.intoRaw(g),o=Xe.intoRaw(e),a=TA.intoRaw(i),r=Xe.intoRaw(t),s=this.intoRaw(),B=I.intoRaw(),Q=s.intersectsShape(C,o,B,a,r);return C.free(),o.free(),a.free(),r.free(),s.free(),B.free(),Q}contactShape(g,e,I,i,t,C){let o=TA.intoRaw(g),a=Xe.intoRaw(e),r=TA.intoRaw(i),s=Xe.intoRaw(t),B=this.intoRaw(),Q=I.intoRaw(),n=KB.fromRaw(B.contactShape(o,a,Q,r,s,C));return o.free(),a.free(),r.free(),s.free(),B.free(),Q.free(),n}containsPoint(g,e,I){let i=TA.intoRaw(g),t=Xe.intoRaw(e),C=TA.intoRaw(I),o=this.intoRaw(),a=o.containsPoint(i,t,C);return i.free(),t.free(),C.free(),o.free(),a}projectPoint(g,e,I,i){let t=TA.intoRaw(g),C=Xe.intoRaw(e),o=TA.intoRaw(I),a=this.intoRaw(),r=jQ.fromRaw(a.projectPoint(t,C,o,i));return t.free(),C.free(),o.free(),a.free(),r}intersectsRay(g,e,I,i){let t=TA.intoRaw(e),C=Xe.intoRaw(I),o=TA.intoRaw(g.origin),a=TA.intoRaw(g.dir),r=this.intoRaw(),s=r.intersectsRay(t,C,o,a,i);return t.free(),C.free(),o.free(),a.free(),r.free(),s}castRay(g,e,I,i,t){let C=TA.intoRaw(e),o=Xe.intoRaw(I),a=TA.intoRaw(g.origin),r=TA.intoRaw(g.dir),s=this.intoRaw(),B=s.castRay(C,o,a,r,i,t);return C.free(),o.free(),a.free(),r.free(),s.free(),B}castRayAndGetNormal(g,e,I,i,t){let C=TA.intoRaw(e),o=Xe.intoRaw(I),a=TA.intoRaw(g.origin),r=TA.intoRaw(g.dir),s=this.intoRaw(),B=zQ.fromRaw(s.castRayAndGetNormal(C,o,a,r,i,t));return C.free(),o.free(),a.free(),r.free(),s.free(),B}};(function(A){A[A.Ball=0]="Ball",A[A.Cuboid=1]="Cuboid",A[A.Capsule=2]="Capsule",A[A.Segment=3]="Segment",A[A.Polyline=4]="Polyline",A[A.Triangle=5]="Triangle",A[A.TriMesh=6]="TriMesh",A[A.HeightField=7]="HeightField",A[A.ConvexPolyhedron=9]="ConvexPolyhedron",A[A.Cylinder=10]="Cylinder",A[A.Cone=11]="Cone",A[A.RoundCuboid=12]="RoundCuboid",A[A.RoundTriangle=13]="RoundTriangle",A[A.RoundCylinder=14]="RoundCylinder",A[A.RoundCone=15]="RoundCone",A[A.RoundConvexPolyhedron=16]="RoundConvexPolyhedron",A[A.HalfSpace=17]="HalfSpace"})(CI||(CI={}));XQ=class extends mi{constructor(g){super(),this.type=CI.Ball,this.radius=g}intoRaw(){return HI.ball(this.radius)}},Fh=class extends mi{constructor(g){super(),this.type=CI.HalfSpace,this.normal=g}intoRaw(){let g=TA.intoRaw(this.normal),e=HI.halfspace(g);return g.free(),e}},$Q=class extends mi{constructor(g,e,I){super(),this.type=CI.Cuboid,this.halfExtents=TA.new(g,e,I)}intoRaw(){return HI.cuboid(this.halfExtents.x,this.halfExtents.y,this.halfExtents.z)}},An=class extends mi{constructor(g,e,I,i){super(),this.type=CI.RoundCuboid,this.halfExtents=TA.new(g,e,I),this.borderRadius=i}intoRaw(){return HI.roundCuboid(this.halfExtents.x,this.halfExtents.y,this.halfExtents.z,this.borderRadius)}},gn=class extends mi{constructor(g,e){super(),this.type=CI.Capsule,this.halfHeight=g,this.radius=e}intoRaw(){return HI.capsule(this.halfHeight,this.radius)}},en=class extends mi{constructor(g,e){super(),this.type=CI.Segment,this.a=g,this.b=e}intoRaw(){let g=TA.intoRaw(this.a),e=TA.intoRaw(this.b),I=HI.segment(g,e);return g.free(),e.free(),I}},In=class extends mi{constructor(g,e,I){super(),this.type=CI.Triangle,this.a=g,this.b=e,this.c=I}intoRaw(){let g=TA.intoRaw(this.a),e=TA.intoRaw(this.b),I=TA.intoRaw(this.c),i=HI.triangle(g,e,I);return g.free(),e.free(),I.free(),i}},tn=class extends mi{constructor(g,e,I,i){super(),this.type=CI.RoundTriangle,this.a=g,this.b=e,this.c=I,this.borderRadius=i}intoRaw(){let g=TA.intoRaw(this.a),e=TA.intoRaw(this.b),I=TA.intoRaw(this.c),i=HI.roundTriangle(g,e,I,this.borderRadius);return g.free(),e.free(),I.free(),i}},Cn=class extends mi{constructor(g,e){super(),this.type=CI.Polyline,this.vertices=g,this.indices=e??new Uint32Array(0)}intoRaw(){return HI.polyline(this.vertices,this.indices)}},on=class extends mi{constructor(g,e){super(),this.type=CI.TriMesh,this.vertices=g,this.indices=e}intoRaw(){return HI.trimesh(this.vertices,this.indices)}},qB=class extends mi{constructor(g,e){super(),this.type=CI.ConvexPolyhedron,this.vertices=g,this.indices=e}intoRaw(){return this.indices?HI.convexMesh(this.vertices,this.indices):HI.convexHull(this.vertices)}},bB=class extends mi{constructor(g,e,I){super(),this.type=CI.RoundConvexPolyhedron,this.vertices=g,this.indices=e,this.borderRadius=I}intoRaw(){return this.indices?HI.roundConvexMesh(this.vertices,this.indices,this.borderRadius):HI.roundConvexHull(this.vertices,this.borderRadius)}},an=class extends mi{constructor(g,e,I,i){super(),this.type=CI.HeightField,this.nrows=g,this.ncols=e,this.heights=I,this.scale=i}intoRaw(){let g=TA.intoRaw(this.scale),e=HI.heightfield(this.nrows,this.ncols,this.heights,g);return g.free(),e}},rn=class extends mi{constructor(g,e){super(),this.type=CI.Cylinder,this.halfHeight=g,this.radius=e}intoRaw(){return HI.cylinder(this.halfHeight,this.radius)}},sn=class extends mi{constructor(g,e,I){super(),this.type=CI.RoundCylinder,this.borderRadius=I,this.halfHeight=g,this.radius=e}intoRaw(){return HI.roundCylinder(this.halfHeight,this.radius,this.borderRadius)}},Bn=class extends mi{constructor(g,e){super(),this.type=CI.Cone,this.halfHeight=g,this.radius=e}intoRaw(){return HI.cone(this.halfHeight,this.radius)}},Qn=class extends mi{constructor(g,e,I){super(),this.type=CI.RoundCone,this.halfHeight=g,this.radius=e,this.borderRadius=I}intoRaw(){return HI.roundCone(this.halfHeight,this.radius,this.borderRadius)}};(function(A){A[A.DYNAMIC_DYNAMIC=1]="DYNAMIC_DYNAMIC",A[A.DYNAMIC_KINEMATIC=12]="DYNAMIC_KINEMATIC",A[A.DYNAMIC_FIXED=2]="DYNAMIC_FIXED",A[A.KINEMATIC_KINEMATIC=52224]="KINEMATIC_KINEMATIC",A[A.KINEMATIC_FIXED=8704]="KINEMATIC_FIXED",A[A.FIXED_FIXED=32]="FIXED_FIXED",A[A.DEFAULT=15]="DEFAULT",A[A.ALL=60943]="ALL"})(nh||(nh={}));nn=class{constructor(g,e,I,i){this.colliderSet=g,this.handle=e,this._parent=I,this._shape=i}finalizeDeserialization(g){this.handle!=null&&(this._parent=g.get(this.colliderSet.raw.coParent(this.handle)))}ensureShapeIsCached(){this._shape||(this._shape=mi.fromRaw(this.colliderSet.raw,this.handle))}get shape(){return this.ensureShapeIsCached(),this._shape}isValid(){return this.colliderSet.raw.contains(this.handle)}translation(){return TA.fromRaw(this.colliderSet.raw.coTranslation(this.handle))}rotation(){return Xe.fromRaw(this.colliderSet.raw.coRotation(this.handle))}isSensor(){return this.colliderSet.raw.coIsSensor(this.handle)}setSensor(g){this.colliderSet.raw.coSetSensor(this.handle,g)}setShape(g){let e=g.intoRaw();this.colliderSet.raw.coSetShape(this.handle,e),e.free(),this._shape=g}setEnabled(g){this.colliderSet.raw.coSetEnabled(this.handle,g)}isEnabled(){return this.colliderSet.raw.coIsEnabled(this.handle)}setRestitution(g){this.colliderSet.raw.coSetRestitution(this.handle,g)}setFriction(g){this.colliderSet.raw.coSetFriction(this.handle,g)}frictionCombineRule(){return this.colliderSet.raw.coFrictionCombineRule(this.handle)}setFrictionCombineRule(g){this.colliderSet.raw.coSetFrictionCombineRule(this.handle,g)}restitutionCombineRule(){return this.colliderSet.raw.coRestitutionCombineRule(this.handle)}setRestitutionCombineRule(g){this.colliderSet.raw.coSetRestitutionCombineRule(this.handle,g)}setCollisionGroups(g){this.colliderSet.raw.coSetCollisionGroups(this.handle,g)}setSolverGroups(g){this.colliderSet.raw.coSetSolverGroups(this.handle,g)}activeHooks(){return this.colliderSet.raw.coActiveHooks(this.handle)}setActiveHooks(g){this.colliderSet.raw.coSetActiveHooks(this.handle,g)}activeEvents(){return this.colliderSet.raw.coActiveEvents(this.handle)}setActiveEvents(g){this.colliderSet.raw.coSetActiveEvents(this.handle,g)}activeCollisionTypes(){return this.colliderSet.raw.coActiveCollisionTypes(this.handle)}setContactForceEventThreshold(g){return this.colliderSet.raw.coSetContactForceEventThreshold(this.handle,g)}contactForceEventThreshold(){return this.colliderSet.raw.coContactForceEventThreshold(this.handle)}setActiveCollisionTypes(g){this.colliderSet.raw.coSetActiveCollisionTypes(this.handle,g)}setDensity(g){this.colliderSet.raw.coSetDensity(this.handle,g)}setMass(g){this.colliderSet.raw.coSetMass(this.handle,g)}setMassProperties(g,e,I,i){let t=TA.intoRaw(e),C=TA.intoRaw(I),o=Xe.intoRaw(i);this.colliderSet.raw.coSetMassProperties(this.handle,g,t,C,o),t.free(),C.free(),o.free()}setTranslation(g){this.colliderSet.raw.coSetTranslation(this.handle,g.x,g.y,g.z)}setTranslationWrtParent(g){this.colliderSet.raw.coSetTranslationWrtParent(this.handle,g.x,g.y,g.z)}setRotation(g){this.colliderSet.raw.coSetRotation(this.handle,g.x,g.y,g.z,g.w)}setRotationWrtParent(g){this.colliderSet.raw.coSetRotationWrtParent(this.handle,g.x,g.y,g.z,g.w)}shapeType(){return this.colliderSet.raw.coShapeType(this.handle)}halfExtents(){return TA.fromRaw(this.colliderSet.raw.coHalfExtents(this.handle))}setHalfExtents(g){let e=TA.intoRaw(g);this.colliderSet.raw.coSetHalfExtents(this.handle,e)}radius(){return this.colliderSet.raw.coRadius(this.handle)}setRadius(g){this.colliderSet.raw.coSetRadius(this.handle,g)}roundRadius(){return this.colliderSet.raw.coRoundRadius(this.handle)}setRoundRadius(g){this.colliderSet.raw.coSetRoundRadius(this.handle,g)}halfHeight(){return this.colliderSet.raw.coHalfHeight(this.handle)}setHalfHeight(g){this.colliderSet.raw.coSetHalfHeight(this.handle,g)}vertices(){return this.colliderSet.raw.coVertices(this.handle)}indices(){return this.colliderSet.raw.coIndices(this.handle)}heightfieldHeights(){return this.colliderSet.raw.coHeightfieldHeights(this.handle)}heightfieldScale(){let g=this.colliderSet.raw.coHeightfieldScale(this.handle);return TA.fromRaw(g)}heightfieldNRows(){return this.colliderSet.raw.coHeightfieldNRows(this.handle)}heightfieldNCols(){return this.colliderSet.raw.coHeightfieldNCols(this.handle)}parent(){return this._parent}friction(){return this.colliderSet.raw.coFriction(this.handle)}restitution(){return this.colliderSet.raw.coRestitution(this.handle)}density(){return this.colliderSet.raw.coDensity(this.handle)}mass(){return this.colliderSet.raw.coMass(this.handle)}volume(){return this.colliderSet.raw.coVolume(this.handle)}collisionGroups(){return this.colliderSet.raw.coCollisionGroups(this.handle)}solverGroups(){return this.colliderSet.raw.coSolverGroups(this.handle)}containsPoint(g){let e=TA.intoRaw(g),I=this.colliderSet.raw.coContainsPoint(this.handle,e);return e.free(),I}projectPoint(g,e){let I=TA.intoRaw(g),i=jQ.fromRaw(this.colliderSet.raw.coProjectPoint(this.handle,I,e));return I.free(),i}intersectsRay(g,e){let I=TA.intoRaw(g.origin),i=TA.intoRaw(g.dir),t=this.colliderSet.raw.coIntersectsRay(this.handle,I,i,e);return I.free(),i.free(),t}castShape(g,e,I,i,t,C,o){let a=TA.intoRaw(g),r=TA.intoRaw(I),s=Xe.intoRaw(i),B=TA.intoRaw(t),Q=e.intoRaw(),n=JB.fromRaw(this.colliderSet,this.colliderSet.raw.coCastShape(this.handle,a,Q,r,s,B,C,o));return a.free(),r.free(),s.free(),B.free(),Q.free(),n}castCollider(g,e,I,i,t){let C=TA.intoRaw(g),o=TA.intoRaw(I),a=ZQ.fromRaw(this.colliderSet,this.colliderSet.raw.coCastCollider(this.handle,C,e.handle,o,i,t));return C.free(),o.free(),a}intersectsShape(g,e,I){let i=TA.intoRaw(e),t=Xe.intoRaw(I),C=g.intoRaw(),o=this.colliderSet.raw.coIntersectsShape(this.handle,C,i,t);return i.free(),t.free(),C.free(),o}contactShape(g,e,I,i){let t=TA.intoRaw(e),C=Xe.intoRaw(I),o=g.intoRaw(),a=KB.fromRaw(this.colliderSet.raw.coContactShape(this.handle,o,t,C,i));return t.free(),C.free(),o.free(),a}contactCollider(g,e){return KB.fromRaw(this.colliderSet.raw.coContactCollider(this.handle,g.handle,e))}castRay(g,e,I){let i=TA.intoRaw(g.origin),t=TA.intoRaw(g.dir),C=this.colliderSet.raw.coCastRay(this.handle,i,t,e,I);return i.free(),t.free(),C}castRayAndGetNormal(g,e,I){let i=TA.intoRaw(g.origin),t=TA.intoRaw(g.dir),C=zQ.fromRaw(this.colliderSet.raw.coCastRayAndGetNormal(this.handle,i,t,e,I));return i.free(),t.free(),C}};(function(A){A[A.Density=0]="Density",A[A.Mass=1]="Mass",A[A.MassProps=2]="MassProps"})(ks||(ks={}));Qd=class A{constructor(g){this.enabled=!0,this.shape=g,this.massPropsMode=ks.Density,this.density=1,this.friction=.5,this.restitution=0,this.rotation=Xe.identity(),this.translation=TA.zeros(),this.isSensor=!1,this.collisionGroups=4294967295,this.solverGroups=4294967295,this.frictionCombineRule=HQ.Average,this.restitutionCombineRule=HQ.Average,this.activeCollisionTypes=nh.DEFAULT,this.activeEvents=0,this.activeHooks=0,this.mass=0,this.centerOfMass=TA.zeros(),this.contactForceEventThreshold=0,this.principalAngularInertia=TA.zeros(),this.angularInertiaLocalFrame=Xe.identity()}static ball(g){let e=new XQ(g);return new A(e)}static capsule(g,e){let I=new gn(g,e);return new A(I)}static segment(g,e){let I=new en(g,e);return new A(I)}static triangle(g,e,I){let i=new In(g,e,I);return new A(i)}static roundTriangle(g,e,I,i){let t=new tn(g,e,I,i);return new A(t)}static polyline(g,e){let I=new Cn(g,e);return new A(I)}static trimesh(g,e){let I=new on(g,e);return new A(I)}static cuboid(g,e,I){let i=new $Q(g,e,I);return new A(i)}static roundCuboid(g,e,I,i){let t=new An(g,e,I,i);return new A(t)}static heightfield(g,e,I,i){let t=new an(g,e,I,i);return new A(t)}static cylinder(g,e){let I=new rn(g,e);return new A(I)}static roundCylinder(g,e,I){let i=new sn(g,e,I);return new A(i)}static cone(g,e){let I=new Bn(g,e);return new A(I)}static roundCone(g,e,I){let i=new Qn(g,e,I);return new A(i)}static convexHull(g){let e=new qB(g,null);return new A(e)}static convexMesh(g,e){let I=new qB(g,e);return new A(I)}static roundConvexHull(g,e){let I=new bB(g,null,e);return new A(I)}static roundConvexMesh(g,e,I){let i=new bB(g,e,I);return new A(i)}setTranslation(g,e,I){if(typeof g!="number"||typeof e!="number"||typeof I!="number")throw TypeError("The translation components must be numbers.");return this.translation={x:g,y:e,z:I},this}setRotation(g){return Xe.copy(this.rotation,g),this}setSensor(g){return this.isSensor=g,this}setEnabled(g){return this.enabled=g,this}setDensity(g){return this.massPropsMode=ks.Density,this.density=g,this}setMass(g){return this.massPropsMode=ks.Mass,this.mass=g,this}setMassProperties(g,e,I,i){return this.massPropsMode=ks.MassProps,this.mass=g,TA.copy(this.centerOfMass,e),TA.copy(this.principalAngularInertia,I),Xe.copy(this.angularInertiaLocalFrame,i),this}setRestitution(g){return this.restitution=g,this}setFriction(g){return this.friction=g,this}setFrictionCombineRule(g){return this.frictionCombineRule=g,this}setRestitutionCombineRule(g){return this.restitutionCombineRule=g,this}setCollisionGroups(g){return this.collisionGroups=g,this}setSolverGroups(g){return this.solverGroups=g,this}setActiveHooks(g){return this.activeHooks=g,this}setActiveEvents(g){return this.activeEvents=g,this}setActiveCollisionTypes(g){return this.activeCollisionTypes=g,this}setContactForceEventThreshold(g){return this.contactForceEventThreshold=g,this}},Rh=class{constructor(g){this.raw=g||new Gi,this.map=new OQ,g&&g.forEachColliderHandle(e=>{this.map.set(e,new nn(this,e,null))})}free(){this.raw&&this.raw.free(),this.raw=void 0,this.map&&this.map.clear(),this.map=void 0}castClosure(g){return e=>g?g(this.get(e)):void 0}finalizeDeserialization(g){this.map.forEach(e=>e.finalizeDeserialization(g))}createCollider(g,e,I){let i=I!=null&&I!=null;if(i&&isNaN(I))throw Error("Cannot create a collider with a parent rigid-body handle that is not a number.");let t=e.shape.intoRaw(),C=TA.intoRaw(e.translation),o=Xe.intoRaw(e.rotation),a=TA.intoRaw(e.centerOfMass),r=TA.intoRaw(e.principalAngularInertia),s=Xe.intoRaw(e.angularInertiaLocalFrame),B=this.raw.createCollider(e.enabled,t,C,o,e.massPropsMode,e.mass,a,r,s,e.density,e.friction,e.restitution,e.frictionCombineRule,e.restitutionCombineRule,e.isSensor,e.collisionGroups,e.solverGroups,e.activeCollisionTypes,e.activeHooks,e.activeEvents,e.contactForceEventThreshold,i,i?I:0,g.raw);t.free(),C.free(),o.free(),a.free(),r.free(),s.free();let Q=i?g.get(I):null,n=new nn(this,B,Q,e.shape);return this.map.set(B,n),n}remove(g,e,I,i){this.raw.remove(g,e.raw,I.raw,i),this.unmap(g)}unmap(g){this.map.delete(g)}get(g){return this.map.get(g)}len(){return this.map.len()}contains(g){return this.get(g)!=null}forEach(g){this.map.forEach(g)}getAll(){return this.map.getAll()}},vh=class{constructor(g){this.raw=g||new ey}free(){this.raw&&this.raw.free(),this.raw=void 0}step(g,e,I,i,t,C,o,a,r,s,B,Q){let n=TA.intoRaw(g);B?this.raw.stepWithEvents(n,e.raw,I.raw,i.raw,t.raw,C.raw,o.raw,a.raw,r.raw,s.raw,B.raw,Q,Q?Q.filterContactPair:null,Q?Q.filterIntersectionPair:null):this.raw.step(n,e.raw,I.raw,i.raw,t.raw,C.raw,o.raw,a.raw,r.raw,s.raw),n.free()}};(function(A){A[A.EXCLUDE_FIXED=1]="EXCLUDE_FIXED",A[A.EXCLUDE_KINEMATIC=2]="EXCLUDE_KINEMATIC",A[A.EXCLUDE_DYNAMIC=4]="EXCLUDE_DYNAMIC",A[A.EXCLUDE_SENSORS=8]="EXCLUDE_SENSORS",A[A.EXCLUDE_SOLIDS=16]="EXCLUDE_SOLIDS",A[A.ONLY_DYNAMIC=3]="ONLY_DYNAMIC",A[A.ONLY_KINEMATIC=5]="ONLY_KINEMATIC",A[A.ONLY_FIXED=6]="ONLY_FIXED"})(td||(td={}));Kh=class{constructor(g){this.raw=g||new Xc}free(){this.raw&&this.raw.free(),this.raw=void 0}update(g,e){this.raw.update(g.raw,e.raw)}castRay(g,e,I,i,t,C,o,a,r,s){let B=TA.intoRaw(I.origin),Q=TA.intoRaw(I.dir),n=Nh.fromRaw(e,this.raw.castRay(g.raw,e.raw,B,Q,i,t,C,o,a,r,s));return B.free(),Q.free(),n}castRayAndGetNormal(g,e,I,i,t,C,o,a,r,s){let B=TA.intoRaw(I.origin),Q=TA.intoRaw(I.dir),n=VQ.fromRaw(e,this.raw.castRayAndGetNormal(g.raw,e.raw,B,Q,i,t,C,o,a,r,s));return B.free(),Q.free(),n}intersectionsWithRay(g,e,I,i,t,C,o,a,r,s,B){let Q=TA.intoRaw(I.origin),n=TA.intoRaw(I.dir);this.raw.intersectionsWithRay(g.raw,e.raw,Q,n,i,t,E=>C(VQ.fromRaw(e,E)),o,a,r,s,B),Q.free(),n.free()}intersectionWithShape(g,e,I,i,t,C,o,a,r,s){let B=TA.intoRaw(I),Q=Xe.intoRaw(i),n=t.intoRaw(),E=this.raw.intersectionWithShape(g.raw,e.raw,B,Q,n,C,o,a,r,s);return B.free(),Q.free(),n.free(),E}projectPoint(g,e,I,i,t,C,o,a,r){let s=TA.intoRaw(I),B=WQ.fromRaw(e,this.raw.projectPoint(g.raw,e.raw,s,i,t,C,o,a,r));return s.free(),B}projectPointAndGetFeature(g,e,I,i,t,C,o,a){let r=TA.intoRaw(I),s=WQ.fromRaw(e,this.raw.projectPointAndGetFeature(g.raw,e.raw,r,i,t,C,o,a));return r.free(),s}intersectionsWithPoint(g,e,I,i,t,C,o,a,r){let s=TA.intoRaw(I);this.raw.intersectionsWithPoint(g.raw,e.raw,s,i,t,C,o,a,r),s.free()}castShape(g,e,I,i,t,C,o,a,r,s,B,Q,n){let E=TA.intoRaw(I),l=Xe.intoRaw(i),h=TA.intoRaw(t),u=C.intoRaw(),D=ZQ.fromRaw(e,this.raw.castShape(g.raw,e.raw,E,l,h,u,o,a,r,s,B,Q,n));return E.free(),l.free(),h.free(),u.free(),D}intersectionsWithShape(g,e,I,i,t,C,o,a,r,s,B){let Q=TA.intoRaw(I),n=Xe.intoRaw(i),E=t.intoRaw();this.raw.intersectionsWithShape(g.raw,e.raw,Q,n,E,C,o,a,r,s,B),Q.free(),n.free(),E.free()}collidersWithAabbIntersectingAabb(g,e,I){let i=TA.intoRaw(g),t=TA.intoRaw(e);this.raw.collidersWithAabbIntersectingAabb(i,t,I),i.free(),t.free()}},En=class{constructor(g){this.raw=g||new iy}free(){this.raw&&this.raw.free(),this.raw=void 0}serializeAll(g,e,I,i,t,C,o,a,r){let s=TA.intoRaw(g),B=this.raw.serializeAll(s,e.raw,I.raw,i.raw,t.raw,C.raw,o.raw,a.raw,r.raw);return s.free(),B}deserializeAll(g){return xh.fromRaw(this.raw.deserializeAll(g))}},Jh=class{constructor(g,e){this.vertices=g,this.colors=e}},qh=class{constructor(g){this.raw=g||new $p}free(){this.raw&&this.raw.free(),this.raw=void 0,this.vertices=void 0,this.colors=void 0}render(g,e,I,i,t){this.raw.render(g.raw,e.raw,I.raw,i.raw,t.raw),this.vertices=this.raw.vertices(),this.colors=this.raw.colors()}},bh=class{},Lh=class{constructor(g,e,I,i,t){this.params=e,this.bodies=I,this.colliders=i,this.queries=t,this.raw=new gy(g),this.rawCharacterCollision=new Wc,this._applyImpulsesToDynamicBodies=!1,this._characterMass=null}free(){this.raw&&(this.raw.free(),this.rawCharacterCollision.free()),this.raw=void 0,this.rawCharacterCollision=void 0}up(){return this.raw.up()}setUp(g){let e=TA.intoRaw(g);return this.raw.setUp(e)}applyImpulsesToDynamicBodies(){return this._applyImpulsesToDynamicBodies}setApplyImpulsesToDynamicBodies(g){this._applyImpulsesToDynamicBodies=g}characterMass(){return this._characterMass}setCharacterMass(g){this._characterMass=g}offset(){return this.raw.offset()}setOffset(g){this.raw.setOffset(g)}slideEnabled(){return this.raw.slideEnabled()}setSlideEnabled(g){this.raw.setSlideEnabled(g)}autostepMaxHeight(){return this.raw.autostepMaxHeight()}autostepMinWidth(){return this.raw.autostepMinWidth()}autostepIncludesDynamicBodies(){return this.raw.autostepIncludesDynamicBodies()}autostepEnabled(){return this.raw.autostepEnabled()}enableAutostep(g,e,I){this.raw.enableAutostep(g,e,I)}disableAutostep(){return this.raw.disableAutostep()}maxSlopeClimbAngle(){return this.raw.maxSlopeClimbAngle()}setMaxSlopeClimbAngle(g){this.raw.setMaxSlopeClimbAngle(g)}minSlopeSlideAngle(){return this.raw.minSlopeSlideAngle()}setMinSlopeSlideAngle(g){this.raw.setMinSlopeSlideAngle(g)}snapToGroundDistance(){return this.raw.snapToGroundDistance()}enableSnapToGround(g){this.raw.enableSnapToGround(g)}disableSnapToGround(){this.raw.disableSnapToGround()}snapToGroundEnabled(){return this.raw.snapToGroundEnabled()}computeColliderMovement(g,e,I,i,t){let C=TA.intoRaw(e);this.raw.computeColliderMovement(this.params.dt,this.bodies.raw,this.colliders.raw,this.queries.raw,g.handle,C,this._applyImpulsesToDynamicBodies,this._characterMass,I,i,this.colliders.castClosure(t)),C.free()}computedMovement(){return TA.fromRaw(this.raw.computedMovement())}computedGrounded(){return this.raw.computedGrounded()}numComputedCollisions(){return this.raw.numComputedCollisions()}computedCollision(g,e){if(this.raw.computedCollision(g,this.rawCharacterCollision)){let I=this.rawCharacterCollision;return(e=e??new bh).translationApplied=TA.fromRaw(I.translationApplied()),e.translationRemaining=TA.fromRaw(I.translationRemaining()),e.toi=I.toi(),e.witness1=TA.fromRaw(I.worldWitness1()),e.witness2=TA.fromRaw(I.worldWitness2()),e.normal1=TA.fromRaw(I.worldNormal1()),e.normal2=TA.fromRaw(I.worldNormal2()),e.collider=this.colliders.get(I.handle()),e}return null}},xh=class A{constructor(g,e,I,i,t,C,o,a,r,s,B,Q,n,E){this.gravity=g,this.integrationParameters=new hh(e),this.islands=new mh(I),this.broadPhase=new Mh(i),this.narrowPhase=new kh(t),this.bodies=new Eh(C),this.colliders=new Rh(o),this.impulseJoints=new Dh(a),this.multibodyJoints=new Sh(r),this.ccdSolver=new Gh(s),this.queryPipeline=new Kh(B),this.physicsPipeline=new vh(Q),this.serializationPipeline=new En(n),this.debugRenderPipeline=new qh(E),this.characterControllers=new Set,this.impulseJoints.finalizeDeserialization(this.bodies),this.bodies.finalizeDeserialization(this.colliders),this.colliders.finalizeDeserialization(this.bodies)}free(){this.integrationParameters.free(),this.islands.free(),this.broadPhase.free(),this.narrowPhase.free(),this.bodies.free(),this.colliders.free(),this.impulseJoints.free(),this.multibodyJoints.free(),this.ccdSolver.free(),this.queryPipeline.free(),this.physicsPipeline.free(),this.serializationPipeline.free(),this.debugRenderPipeline.free(),this.characterControllers.forEach(g=>g.free()),this.integrationParameters=void 0,this.islands=void 0,this.broadPhase=void 0,this.narrowPhase=void 0,this.bodies=void 0,this.colliders=void 0,this.ccdSolver=void 0,this.impulseJoints=void 0,this.multibodyJoints=void 0,this.queryPipeline=void 0,this.physicsPipeline=void 0,this.serializationPipeline=void 0,this.debugRenderPipeline=void 0,this.characterControllers=void 0}static fromRaw(g){return g?new A(TA.fromRaw(g.takeGravity()),g.takeIntegrationParameters(),g.takeIslandManager(),g.takeBroadPhase(),g.takeNarrowPhase(),g.takeBodies(),g.takeColliders(),g.takeImpulseJoints(),g.takeMultibodyJoints()):null}takeSnapshot(){return this.serializationPipeline.serializeAll(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints)}static restoreSnapshot(g){return new En().deserializeAll(g)}debugRender(){return this.debugRenderPipeline.render(this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.narrowPhase),new Jh(this.debugRenderPipeline.vertices,this.debugRenderPipeline.colors)}step(g,e){this.physicsPipeline.step(this.gravity,this.integrationParameters,this.islands,this.broadPhase,this.narrowPhase,this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.ccdSolver,g,e),this.queryPipeline.update(this.bodies,this.colliders)}propagateModifiedBodyPositionsToColliders(){this.bodies.raw.propagateModifiedBodyPositionsToColliders(this.colliders.raw)}updateSceneQueries(){this.propagateModifiedBodyPositionsToColliders(),this.queryPipeline.update(this.bodies,this.colliders)}get timestep(){return this.integrationParameters.dt}set timestep(g){this.integrationParameters.dt=g}get maxVelocityIterations(){return this.integrationParameters.maxVelocityIterations}set maxVelocityIterations(g){this.integrationParameters.maxVelocityIterations=g}get maxVelocityFrictionIterations(){return this.integrationParameters.maxVelocityFrictionIterations}set maxVelocityFrictionIterations(g){this.integrationParameters.maxVelocityFrictionIterations=g}get maxStabilizationIterations(){return this.integrationParameters.maxStabilizationIterations}set maxStabilizationIterations(g){this.integrationParameters.maxStabilizationIterations=g}createRigidBody(g){return this.bodies.createRigidBody(this.colliders,g)}createCharacterController(g){let e=new Lh(g,this.integrationParameters,this.bodies,this.colliders,this.queryPipeline);return this.characterControllers.add(e),e}removeCharacterController(g){this.characterControllers.delete(g),g.free()}createCollider(g,e){let I=e?e.handle:void 0;return this.colliders.createCollider(this.bodies,g,I)}createImpulseJoint(g,e,I,i){return this.impulseJoints.createJoint(this.bodies,g,e.handle,I.handle,i)}createMultibodyJoint(g,e,I,i){return this.multibodyJoints.createJoint(g,e.handle,I.handle,i)}getRigidBody(g){return this.bodies.get(g)}getCollider(g){return this.colliders.get(g)}getImpulseJoint(g){return this.impulseJoints.get(g)}getMultibodyJoint(g){return this.multibodyJoints.get(g)}removeRigidBody(g){this.bodies&&this.bodies.remove(g.handle,this.islands,this.colliders,this.impulseJoints,this.multibodyJoints)}removeCollider(g,e){this.colliders&&this.colliders.remove(g.handle,this.islands,this.bodies,e)}removeImpulseJoint(g,e){this.impulseJoints&&this.impulseJoints.remove(g.handle,e)}removeMultibodyJoint(g,e){this.impulseJoints&&this.multibodyJoints.remove(g.handle,e)}forEachCollider(g){this.colliders.forEach(g)}forEachRigidBody(g){this.bodies.forEach(g)}forEachActiveRigidBody(g){this.bodies.forEachActiveRigidBody(this.islands,g)}castRay(g,e,I,i,t,C,o,a){return this.queryPipeline.castRay(this.bodies,this.colliders,g,e,I,i,t,C?C.handle:null,o?o.handle:null,this.colliders.castClosure(a))}castRayAndGetNormal(g,e,I,i,t,C,o,a){return this.queryPipeline.castRayAndGetNormal(this.bodies,this.colliders,g,e,I,i,t,C?C.handle:null,o?o.handle:null,this.colliders.castClosure(a))}intersectionsWithRay(g,e,I,i,t,C,o,a,r){this.queryPipeline.intersectionsWithRay(this.bodies,this.colliders,g,e,I,i,t,C,o?o.handle:null,a?a.handle:null,this.colliders.castClosure(r))}intersectionWithShape(g,e,I,i,t,C,o,a){let r=this.queryPipeline.intersectionWithShape(this.bodies,this.colliders,g,e,I,i,t,C?C.handle:null,o?o.handle:null,this.colliders.castClosure(a));return r!=null?this.colliders.get(r):null}projectPoint(g,e,I,i,t,C,o){return this.queryPipeline.projectPoint(this.bodies,this.colliders,g,e,I,i,t?t.handle:null,C?C.handle:null,this.colliders.castClosure(o))}projectPointAndGetFeature(g,e,I,i,t,C){return this.queryPipeline.projectPointAndGetFeature(this.bodies,this.colliders,g,e,I,i?i.handle:null,t?t.handle:null,this.colliders.castClosure(C))}intersectionsWithPoint(g,e,I,i,t,C,o){this.queryPipeline.intersectionsWithPoint(this.bodies,this.colliders,g,this.colliders.castClosure(e),I,i,t?t.handle:null,C?C.handle:null,this.colliders.castClosure(o))}castShape(g,e,I,i,t,C,o,a,r,s,B){return this.queryPipeline.castShape(this.bodies,this.colliders,g,e,I,i,t,C,o,a,r?r.handle:null,s?s.handle:null,this.colliders.castClosure(B))}intersectionsWithShape(g,e,I,i,t,C,o,a,r){this.queryPipeline.intersectionsWithShape(this.bodies,this.colliders,g,e,I,this.colliders.castClosure(i),t,C,o?o.handle:null,a?a.handle:null,this.colliders.castClosure(r))}collidersWithAabbIntersectingAabb(g,e,I){this.queryPipeline.collidersWithAabbIntersectingAabb(g,e,this.colliders.castClosure(I))}contactsWith(g,e){this.narrowPhase.contactsWith(g.handle,this.colliders.castClosure(e))}intersectionsWith(g,e){this.narrowPhase.intersectionsWith(g.handle,this.colliders.castClosure(e))}contactPair(g,e,I){this.narrowPhase.contactPair(g.handle,e.handle,I)}intersectionPair(g,e){return this.narrowPhase.intersectionPair(g.handle,e.handle)}};(function(A){A[A.COLLISION_EVENTS=1]="COLLISION_EVENTS",A[A.CONTACT_FORCE_EVENTS=2]="CONTACT_FORCE_EVENTS"})(Cd||(Cd={}));Yh=class{free(){this.raw&&this.raw.free(),this.raw=void 0}collider1(){return this.raw.collider1()}collider2(){return this.raw.collider2()}totalForce(){return TA.fromRaw(this.raw.total_force())}totalForceMagnitude(){return this.raw.total_force_magnitude()}maxForceDirection(){return TA.fromRaw(this.raw.max_force_direction())}maxForceMagnitude(){return this.raw.max_force_magnitude()}},nd=class{constructor(g,e){this.raw=e||new zc(g)}free(){this.raw&&this.raw.free(),this.raw=void 0}drainCollisionEvents(g){this.raw.drainCollisionEvents(g)}drainContactForceEvents(g){let e=new Yh;this.raw.drainContactForceEvents(I=>{e.raw=I,g(e),e.free()})}clear(){this.raw.clear()}};(function(A){A[A.FILTER_CONTACT_PAIRS=1]="FILTER_CONTACT_PAIRS",A[A.FILTER_INTERSECTION_PAIRS=2]="FILTER_INTERSECTION_PAIRS"})(od||(od={})),function(A){A[A.EMPTY=0]="EMPTY",A[A.COMPUTE_IMPULSE=1]="COMPUTE_IMPULSE"}(ad||(ad={}));for(Om={byteLength:function(A){var g=Lm(A),e=g[0],I=g[1];return 3*(e+I)/4-I},toByteArray:function(A){var g,e,I=Lm(A),i=I[0],t=I[1],C=new qm(function(r,s,B){return 3*(s+B)/4-B}(0,i,t)),o=0,a=t>0?i-4:i;for(e=0;e<a;e+=4)g=eo[A.charCodeAt(e)]<<18|eo[A.charCodeAt(e+1)]<<12|eo[A.charCodeAt(e+2)]<<6|eo[A.charCodeAt(e+3)],C[o++]=g>>16&255,C[o++]=g>>8&255,C[o++]=255&g;return t===2&&(g=eo[A.charCodeAt(e)]<<2|eo[A.charCodeAt(e+1)]>>4,C[o++]=255&g),t===1&&(g=eo[A.charCodeAt(e)]<<10|eo[A.charCodeAt(e+1)]<<4|eo[A.charCodeAt(e+2)]>>2,C[o++]=g>>8&255,C[o++]=255&g),C},fromByteArray:function(A){for(var g,e=A.length,I=e%3,i=[],t=16383,C=0,o=e-I;C<o;C+=t)i.push(dx(A,C,C+t>o?o:C+t));return I===1?(g=A[e-1],i.push(jo[g>>2]+jo[g<<4&63]+"==")):I===2&&(g=(A[e-2]<<8)+A[e-1],i.push(jo[g>>10]+jo[g>>4&63]+jo[g<<2&63]+"=")),i.join("")}},jo=[],eo=[],qm=typeof Uint8Array<"u"?Uint8Array:Array,Yc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",NB=0,bm=Yc.length;NB<bm;++NB)jo[NB]=Yc[NB],eo[Yc.charCodeAt(NB)]=NB;eo[45]=62,eo[95]=63;ux=Object.freeze({__proto__:null,version:Pm,Vector3:Bh,VectorOps:TA,Quaternion:xQ,RotationOps:Xe,SdpMatrix3:Qh,SdpMatrix3Ops:YQ,get RigidBodyType(){return Do},RigidBody:TQ,RigidBodyDesc:rd,RigidBodySet:Eh,IntegrationParameters:hh,get JointType(){return $i},get MotorModel(){return id},ImpulseJoint:Ur,UnitImpulseJoint:_Q,FixedImpulseJoint:lh,PrismaticImpulseJoint:ch,RevoluteImpulseJoint:dh,SphericalImpulseJoint:uh,JointData:sd,ImpulseJointSet:Dh,MultibodyJoint:Nr,UnitMultibodyJoint:PQ,FixedMultibodyJoint:ph,PrismaticMultibodyJoint:yh,RevoluteMultibodyJoint:wh,SphericalMultibodyJoint:fh,MultibodyJointSet:Sh,get CoefficientCombineRule(){return HQ},CCDSolver:Gh,IslandManager:mh,BroadPhase:Mh,NarrowPhase:kh,TempContactManifold:Uh,Shape:mi,get ShapeType(){return CI},Ball:XQ,HalfSpace:Fh,Cuboid:$Q,RoundCuboid:An,Capsule:gn,Segment:en,Triangle:In,RoundTriangle:tn,Polyline:Cn,TriMesh:on,ConvexPolyhedron:qB,RoundConvexPolyhedron:bB,Heightfield:an,Cylinder:rn,RoundCylinder:sn,Cone:Bn,RoundCone:Qn,get ActiveCollisionTypes(){return nh},Collider:nn,get MassPropsMode(){return ks},ColliderDesc:Qd,ColliderSet:Rh,get FeatureType(){return vB},Ray:Bd,RayIntersection:zQ,RayColliderIntersection:VQ,RayColliderToi:Nh,PointProjection:jQ,PointColliderProjection:WQ,ShapeTOI:JB,ShapeColliderTOI:ZQ,ShapeContact:KB,World:xh,PhysicsPipeline:vh,SerializationPipeline:En,get ActiveEvents(){return Cd},TempContactForceEvent:Yh,EventQueue:nd,get ActiveHooks(){return od},get SolverFlags(){return ad},DebugRenderBuffers:Jh,DebugRenderPipeline:qh,get QueryFilterFlags(){return td},QueryPipeline:Kh,init:_m,CharacterCollision:bh,KinematicCharacterController:Lh})});var zm={};kB(zm,{default:()=>px});var Dx,px,Vm=ms(()=>{Dx=(()=>{var A=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return function(g={}){var e=g,I,i;e.ready=new Promise((y,m)=>{I=y,i=m});var t=Object.assign({},e),C=[],o="./this.program",a=(y,m)=>{throw m},r=!0,s=!1,B="";function Q(y){return e.locateFile?e.locateFile(y,B):B+y}var n,E,l;(r||s)&&(s?B=self.location.href:typeof document<"u"&&document.currentScript&&(B=document.currentScript.src),A&&(B=A),B.indexOf("blob:")!==0?B=B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1):B="",n=y=>{var m=new XMLHttpRequest;return m.open("GET",y,!1),m.send(null),m.responseText},s&&(l=y=>{var m=new XMLHttpRequest;return m.open("GET",y,!1),m.responseType="arraybuffer",m.send(null),new Uint8Array(m.response)}),E=(y,m,K)=>{var O=new XMLHttpRequest;O.open("GET",y,!0),O.responseType="arraybuffer",O.onload=()=>{if(O.status==200||O.status==0&&O.response){m(O.response);return}K()},O.onerror=K,O.send(null)});var h=e.print||console.log.bind(console),u=e.printErr||console.error.bind(console);Object.assign(e,t),t=null,e.arguments&&(C=e.arguments),e.thisProgram&&(o=e.thisProgram),e.quit&&(a=e.quit);var D;e.wasmBinary&&(D=e.wasmBinary);var p=e.noExitRuntime||!0;typeof WebAssembly!="object"&&VA("no native wasm support detected");var w,k=!1,U;function N(y,m){y||VA(m)}var G,R,J,q,T,P,H,eA;function rA(){var y=w.buffer;e.HEAP8=G=new Int8Array(y),e.HEAP16=J=new Int16Array(y),e.HEAPU8=R=new Uint8Array(y),e.HEAPU16=q=new Uint16Array(y),e.HEAP32=T=new Int32Array(y),e.HEAPU32=P=new Uint32Array(y),e.HEAPF32=H=new Float32Array(y),e.HEAPF64=eA=new Float64Array(y)}var BA=[],aA=[],yA=[],SA=!1;function pA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)kA(e.preRun.shift());OA(BA)}function wA(){SA=!0,!e.noFSInit&&!c.init.initialized&&c.init(),c.ignorePermissions=!1,zt.init(),OA(aA)}function RA(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)GA(e.postRun.shift());OA(yA)}function kA(y){BA.unshift(y)}function UA(y){aA.unshift(y)}function GA(y){yA.unshift(y)}var zA=0,KA=null,LA=null;function YA(y){return y}function sg(y){zA++,e.monitorRunDependencies&&e.monitorRunDependencies(zA)}function $A(y){if(zA--,e.monitorRunDependencies&&e.monitorRunDependencies(zA),zA==0&&(KA!==null&&(clearInterval(KA),KA=null),LA)){var m=LA;LA=null,m()}}function VA(y){e.onAbort&&e.onAbort(y),y="Aborted("+y+")",u(y),k=!0,U=1,y+=". Build with -sASSERTIONS for more info.";var m=new WebAssembly.RuntimeError(y);throw i(m),m}var vg="data:application/octet-stream;base64,";function Gg(y){return y.startsWith(vg)}var Ng;Ng="process.wasm",Gg(Ng)||(Ng=Q(Ng));function Kg(y){if(y==Ng&&D)return new Uint8Array(D);if(l)return l(y);throw"both async and sync fetching of the wasm failed"}function mg(y){return!D&&(r||s)&&typeof fetch=="function"?fetch(y,{credentials:"same-origin"}).then(m=>{if(!m.ok)throw"failed to load wasm binary file at '"+y+"'";return m.arrayBuffer()}).catch(()=>Kg(y)):Promise.resolve().then(()=>Kg(y))}function Sg(y,m,K){return mg(y).then(O=>WebAssembly.instantiate(O,m)).then(O=>O).then(K,O=>{u(`failed to asynchronously prepare wasm: ${O}`),VA(O)})}function Ae(y,m,K,O){return!y&&typeof WebAssembly.instantiateStreaming=="function"&&!Gg(m)&&typeof fetch=="function"?fetch(m,{credentials:"same-origin"}).then(IA=>{var tA=WebAssembly.instantiateStreaming(IA,K);return tA.then(O,function(EA){return u(`wasm streaming compile failed: ${EA}`),u("falling back to ArrayBuffer instantiation"),Sg(m,K,O)})}):Sg(m,K,O)}function Mg(){var y={a:Ss};function m(O,IA){return Ii=O.exports,w=Ii.K,rA(),nA=Ii.O,UA(Ii.L),$A("wasm-instantiate"),Ii}sg("wasm-instantiate");function K(O){m(O.instance)}if(e.instantiateWasm)try{return e.instantiateWasm(y,m)}catch(O){u(`Module.instantiateWasm callback failed with error: ${O}`),i(O)}return Ae(D,Ng,y,K).catch(i),{}}var sA,CA,OA=y=>{for(;y.length>0;)y.shift()(e)};function dg(y){this.excPtr=y,this.ptr=y-24,this.set_type=function(m){P[this.ptr+4>>2]=m},this.get_type=function(){return P[this.ptr+4>>2]},this.set_destructor=function(m){P[this.ptr+8>>2]=m},this.get_destructor=function(){return P[this.ptr+8>>2]},this.set_caught=function(m){m=m?1:0,G[this.ptr+12>>0]=m},this.get_caught=function(){return G[this.ptr+12>>0]!=0},this.set_rethrown=function(m){m=m?1:0,G[this.ptr+13>>0]=m},this.get_rethrown=function(){return G[this.ptr+13>>0]!=0},this.init=function(m,K){this.set_adjusted_ptr(0),this.set_type(m),this.set_destructor(K)},this.set_adjusted_ptr=function(m){P[this.ptr+16>>2]=m},this.get_adjusted_ptr=function(){return P[this.ptr+16>>2]},this.get_exception_ptr=function(){var m=ug(this.get_type());if(m)return P[this.excPtr>>2];var K=this.get_adjusted_ptr();return K!==0?K:this.excPtr}}var X=0,eg=0,Og=(y,m,K)=>{var O=new dg(y);throw O.init(m,K),X=y,eg++,X},Eg={},og=y=>{for(;y.length;){var m=y.pop(),K=y.pop();K(m)}};function Cg(y){return this.fromWireType(T[y>>2])}var Yg={},kg={},Pg={},Ie,Ke=y=>{throw new Ie(y)},Je=(y,m,K)=>{y.forEach(function(DA){Pg[DA]=m});function O(DA){var M=K(DA);M.length!==y.length&&Ke("Mismatched type converter count");for(var _=0;_<y.length;++_)We(y[_],M[_])}var IA=new Array(m.length),tA=[],EA=0;m.forEach((DA,M)=>{kg.hasOwnProperty(DA)?IA[M]=kg[DA]:(tA.push(DA),Yg.hasOwnProperty(DA)||(Yg[DA]=[]),Yg[DA].push(()=>{IA[M]=kg[DA],++EA,EA===tA.length&&O(IA)}))}),tA.length===0&&O(IA)},xe=y=>{var m=Eg[y];delete Eg[y];var K=m.elements,O=K.length,IA=K.map(DA=>DA.getterReturnType).concat(K.map(DA=>DA.setterArgumentType)),tA=m.rawConstructor,EA=m.rawDestructor;Je([y],IA,function(DA){return K.forEach((M,_)=>{var uA=DA[_],xA=M.getter,ig=M.getterContext,Bg=DA[_+O],lg=M.setter,Lg=M.setterContext;M.read=ne=>uA.fromWireType(xA(ig,ne)),M.write=(ne,$e)=>{var cg=[];lg(Lg,ne,Bg.toWireType(cg,$e)),og(cg)}}),[{name:m.name,fromWireType:M=>{for(var _=new Array(O),uA=0;uA<O;++uA)_[uA]=K[uA].read(M);return EA(M),_},toWireType:(M,_)=>{if(O!==_.length)throw new TypeError(`Incorrect number of tuple elements for ${m.name}: expected=${O}, actual=${_.length}`);for(var uA=tA(),xA=0;xA<O;++xA)K[xA].write(uA,_[xA]);return M!==null&&M.push(EA,uA),uA},argPackAdvance:GI,readValueFromPointer:Cg,destructorFunction:EA}]})},FA={},ZA=y=>{var m=FA[y];delete FA[y];var K=m.rawConstructor,O=m.rawDestructor,IA=m.fields,tA=IA.map(EA=>EA.getterReturnType).concat(IA.map(EA=>EA.setterArgumentType));Je([y],tA,EA=>{var DA={};return IA.forEach((M,_)=>{var uA=M.fieldName,xA=EA[_],ig=M.getter,Bg=M.getterContext,lg=EA[_+IA.length],Lg=M.setter,ne=M.setterContext;DA[uA]={read:$e=>xA.fromWireType(ig(Bg,$e)),write:($e,cg)=>{var Wg=[];Lg(ne,$e,lg.toWireType(Wg,cg)),og(Wg)}}}),[{name:m.name,fromWireType:M=>{var _={};for(var uA in DA)_[uA]=DA[uA].read(M);return O(M),_},toWireType:(M,_)=>{for(var uA in DA)if(!(uA in _))throw new TypeError(`Missing field: "${uA}"`);var xA=K();for(uA in DA)DA[uA].write(xA,_[uA]);return M!==null&&M.push(O,xA),xA},argPackAdvance:GI,readValueFromPointer:Cg,destructorFunction:O}]})},pg=(y,m,K,O,IA)=>{},Dg=()=>{for(var y=new Array(256),m=0;m<256;++m)y[m]=String.fromCharCode(m);ge=y},ge,Fg=y=>{for(var m="",K=y;R[K];)m+=ge[R[K++]];return m},gI,Zg=y=>{throw new gI(y)};function SI(y,m,K={}){var O=m.name;if(y||Zg(`type "${O}" must have a positive integer typeid pointer`),kg.hasOwnProperty(y)){if(K.ignoreDuplicateRegistrations)return;Zg(`Cannot register type '${O}' twice`)}if(kg[y]=m,delete Pg[y],Yg.hasOwnProperty(y)){var IA=Yg[y];delete Yg[y],IA.forEach(tA=>tA())}}function We(y,m,K={}){if(!("argPackAdvance"in m))throw new TypeError("registerType registeredInstance requires argPackAdvance");return SI(y,m,K)}var GI=8,ti=(y,m,K,O)=>{m=Fg(m),We(y,{name:m,fromWireType:function(IA){return!!IA},toWireType:function(IA,tA){return tA?K:O},argPackAdvance:GI,readValueFromPointer:function(IA){return this.fromWireType(R[IA])},destructorFunction:null})},Ci=y=>({count:y.count,deleteScheduled:y.deleteScheduled,preservePointerOnDelete:y.preservePointerOnDelete,ptr:y.ptr,ptrType:y.ptrType,smartPtr:y.smartPtr,smartPtrType:y.smartPtrType}),XC=y=>{function m(K){return K.$$.ptrType.registeredClass.name}Zg(m(y)+" instance already deleted")},at=!1,mt=y=>{},cA=y=>{y.smartPtr?y.smartPtrType.rawDestructor(y.smartPtr):y.ptrType.registeredClass.rawDestructor(y.ptr)},jA=y=>{y.count.value-=1;var m=y.count.value===0;m&&cA(y)},Ig=(y,m,K)=>{if(m===K)return y;if(K.baseClass===void 0)return null;var O=Ig(y,m,K.baseClass);return O===null?null:K.downcast(O)},HA={},rg=()=>Object.keys(Ge).length,bg=()=>{var y=[];for(var m in Ge)Ge.hasOwnProperty(m)&&y.push(Ge[m]);return y},oe=[],ue=()=>{for(;oe.length;){var y=oe.pop();y.$$.deleteScheduled=!1,y.delete()}},Qe,Ze=y=>{Qe=y,oe.length&&Qe&&Qe(ue)},qe=()=>{e.getInheritedInstanceCount=rg,e.getLiveInheritedInstances=bg,e.flushPendingDeletes=ue,e.setDelayFunction=Ze},Ge={},aI=(y,m)=>{for(m===void 0&&Zg("ptr should not be undefined");y.baseClass;)m=y.upcast(m),y=y.baseClass;return m},Qi=(y,m)=>(m=aI(y,m),Ge[m]),mI=(y,m)=>{(!m.ptrType||!m.ptr)&&Ke("makeClassHandle requires ptr and ptrType");var K=!!m.smartPtrType,O=!!m.smartPtr;return K!==O&&Ke("Both smartPtrType and smartPtr must be specified"),m.count={value:1},sI(Object.create(y,{$$:{value:m}}))};function Ai(y){var m=this.getPointee(y);if(!m)return this.destructor(y),null;var K=Qi(this.registeredClass,m);if(K!==void 0){if(K.$$.count.value===0)return K.$$.ptr=m,K.$$.smartPtr=y,K.clone();var O=K.clone();return this.destructor(y),O}function IA(){return this.isSmartPointer?mI(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:m,smartPtrType:this,smartPtr:y}):mI(this.registeredClass.instancePrototype,{ptrType:this,ptr:y})}var tA=this.registeredClass.getActualType(m),EA=HA[tA];if(!EA)return IA.call(this);var DA;this.isConst?DA=EA.constPointerType:DA=EA.pointerType;var M=Ig(m,this.registeredClass,DA.registeredClass);return M===null?IA.call(this):this.isSmartPointer?mI(DA.registeredClass.instancePrototype,{ptrType:DA,ptr:M,smartPtrType:this,smartPtr:y}):mI(DA.registeredClass.instancePrototype,{ptrType:DA,ptr:M})}var sI=y=>typeof FinalizationRegistry>"u"?(sI=m=>m,y):(at=new FinalizationRegistry(m=>{jA(m.$$)}),sI=m=>{var K=m.$$,O=!!K.smartPtr;if(O){var IA={$$:K};at.register(m,IA,m)}return m},mt=m=>at.unregister(m),sI(y)),te=()=>{Object.assign(Ki.prototype,{isAliasOf(y){if(!(this instanceof Ki)||!(y instanceof Ki))return!1;var m=this.$$.ptrType.registeredClass,K=this.$$.ptr;y.$$=y.$$;for(var O=y.$$.ptrType.registeredClass,IA=y.$$.ptr;m.baseClass;)K=m.upcast(K),m=m.baseClass;for(;O.baseClass;)IA=O.upcast(IA),O=O.baseClass;return m===O&&K===IA},clone(){if(this.$$.ptr||XC(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var y=sI(Object.create(Object.getPrototypeOf(this),{$$:{value:Ci(this.$$)}}));return y.$$.count.value+=1,y.$$.deleteScheduled=!1,y},delete(){this.$$.ptr||XC(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Zg("Object already scheduled for deletion"),mt(this),jA(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||XC(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Zg("Object already scheduled for deletion"),oe.push(this),oe.length===1&&Qe&&Qe(ue),this.$$.deleteScheduled=!0,this}})};function Ki(){}var zi=48,rt=57,Ne=y=>{if(y===void 0)return"_unknown";y=y.replace(/[^a-zA-Z0-9_]/g,"$");var m=y.charCodeAt(0);return m>=zi&&m<=rt?`_${y}`:y};function uI(y,m){return y=Ne(y),{[y]:function(){return m.apply(this,arguments)}}[y]}var Tt=(y,m,K)=>{if(y[m].overloadTable===void 0){var O=y[m];y[m]=function(){return y[m].overloadTable.hasOwnProperty(arguments.length)||Zg(`Function '${K}' called with an invalid number of arguments (${arguments.length}) - expects one of (${y[m].overloadTable})!`),y[m].overloadTable[arguments.length].apply(this,arguments)},y[m].overloadTable=[],y[m].overloadTable[O.argCount]=O}},vI=(y,m,K)=>{e.hasOwnProperty(y)?((K===void 0||e[y].overloadTable!==void 0&&e[y].overloadTable[K]!==void 0)&&Zg(`Cannot register public name '${y}' twice`),Tt(e,y,y),e.hasOwnProperty(K)&&Zg(`Cannot register multiple overloads of a function with the same number of arguments (${K})!`),e[y].overloadTable[K]=m):(e[y]=m,K!==void 0&&(e[y].numArguments=K))};function st(y,m,K,O,IA,tA,EA,DA){this.name=y,this.constructor=m,this.instancePrototype=K,this.rawDestructor=O,this.baseClass=IA,this.getActualType=tA,this.upcast=EA,this.downcast=DA,this.pureVirtualFunctions=[]}var Bt=(y,m,K)=>{for(;m!==K;)m.upcast||Zg(`Expected null or instance of ${K.name}, got an instance of ${m.name}`),y=m.upcast(y),m=m.baseClass;return y};function bI(y,m){if(m===null)return this.isReference&&Zg(`null is not a valid ${this.name}`),0;m.$$||Zg(`Cannot pass "${Yo(m)}" as a ${this.name}`),m.$$.ptr||Zg(`Cannot pass deleted object as a pointer of type ${this.name}`);var K=m.$$.ptrType.registeredClass,O=Bt(m.$$.ptr,K,this.registeredClass);return O}function Fe(y,m){var K;if(m===null)return this.isReference&&Zg(`null is not a valid ${this.name}`),this.isSmartPointer?(K=this.rawConstructor(),y!==null&&y.push(this.rawDestructor,K),K):0;m.$$||Zg(`Cannot pass "${Yo(m)}" as a ${this.name}`),m.$$.ptr||Zg(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&m.$$.ptrType.isConst&&Zg(`Cannot convert argument of type ${m.$$.smartPtrType?m.$$.smartPtrType.name:m.$$.ptrType.name} to parameter type ${this.name}`);var O=m.$$.ptrType.registeredClass;if(K=Bt(m.$$.ptr,O,this.registeredClass),this.isSmartPointer)switch(m.$$.smartPtr===void 0&&Zg("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:m.$$.smartPtrType===this?K=m.$$.smartPtr:Zg(`Cannot convert argument of type ${m.$$.smartPtrType?m.$$.smartPtrType.name:m.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:K=m.$$.smartPtr;break;case 2:if(m.$$.smartPtrType===this)K=m.$$.smartPtr;else{var IA=m.clone();K=this.rawShare(K,iI.toHandle(()=>IA.delete())),y!==null&&y.push(this.rawDestructor,K)}break;default:Zg("Unsupporting sharing policy")}return K}function Qo(y,m){if(m===null)return this.isReference&&Zg(`null is not a valid ${this.name}`),0;m.$$||Zg(`Cannot pass "${Yo(m)}" as a ${this.name}`),m.$$.ptr||Zg(`Cannot pass deleted object as a pointer of type ${this.name}`),m.$$.ptrType.isConst&&Zg(`Cannot convert argument of type ${m.$$.ptrType.name} to parameter type ${this.name}`);var K=m.$$.ptrType.registeredClass,O=Bt(m.$$.ptr,K,this.registeredClass);return O}function Ot(y){return this.fromWireType(P[y>>2])}var JC=()=>{Object.assign(di.prototype,{getPointee(y){return this.rawGetPointee&&(y=this.rawGetPointee(y)),y},destructor(y){this.rawDestructor&&this.rawDestructor(y)},argPackAdvance:GI,readValueFromPointer:Ot,deleteObject(y){y!==null&&y.delete()},fromWireType:Ai})};function di(y,m,K,O,IA,tA,EA,DA,M,_,uA){this.name=y,this.registeredClass=m,this.isReference=K,this.isConst=O,this.isSmartPointer=IA,this.pointeeType=tA,this.sharingPolicy=EA,this.rawGetPointee=DA,this.rawConstructor=M,this.rawShare=_,this.rawDestructor=uA,!IA&&m.baseClass===void 0?O?(this.toWireType=bI,this.destructorFunction=null):(this.toWireType=Qo,this.destructorFunction=null):this.toWireType=Fe}var V=(y,m,K)=>{e.hasOwnProperty(y)||Ke("Replacing nonexistant public symbol"),e[y].overloadTable!==void 0&&K!==void 0?e[y].overloadTable[K]=m:(e[y]=m,e[y].argCount=K)},oA=(y,m,K)=>{var O=e["dynCall_"+y];return K&&K.length?O.apply(null,[m].concat(K)):O.call(null,m)},MA=[],nA,JA=y=>{var m=MA[y];return m||(y>=MA.length&&(MA.length=y+1),MA[y]=m=nA.get(y)),m},fg=(y,m,K)=>{if(y.includes("j"))return oA(y,m,K);var O=JA(m).apply(null,K);return O},CC=(y,m)=>{var K=[];return function(){return K.length=0,Object.assign(K,arguments),fg(y,m,K)}},zI=(y,m)=>{y=Fg(y);function K(){return y.includes("j")?CC(y,m):JA(m)}var O=K();return typeof O!="function"&&Zg(`unknown function pointer with signature ${y}: ${m}`),O},$C=(y,m)=>{var K=uI(m,function(O){this.name=m,this.message=O;var IA=new Error(O).stack;IA!==void 0&&(this.stack=this.toString()+`
`+IA.replace(/^Error(:[^\n]*)?\n/,""))});return K.prototype=Object.create(y.prototype),K.prototype.constructor=K,K.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},K},qC,_t=y=>{var m=KI(y),K=Fg(m);return Re(m),K},gi=(y,m)=>{var K=[],O={};function IA(tA){if(!O[tA]&&!kg[tA]){if(Pg[tA]){Pg[tA].forEach(IA);return}K.push(tA),O[tA]=!0}}throw m.forEach(IA),new qC(`${y}: `+K.map(_t).join([", "]))},Lo=(y,m,K,O,IA,tA,EA,DA,M,_,uA,xA,ig)=>{uA=Fg(uA),tA=zI(IA,tA),DA&&(DA=zI(EA,DA)),_&&(_=zI(M,_)),ig=zI(xA,ig);var Bg=Ne(uA);vI(Bg,function(){gi(`Cannot construct ${uA} due to unbound types`,[O])}),Je([y,m,K],O?[O]:[],function(lg){lg=lg[0];var Lg,ne;O?(Lg=lg.registeredClass,ne=Lg.instancePrototype):ne=Ki.prototype;var $e=uI(Bg,function(){if(Object.getPrototypeOf(this)!==cg)throw new gI("Use 'new' to construct "+uA);if(Wg.constructor_body===void 0)throw new gI(uA+" has no accessible constructor");var ni=Wg.constructor_body[arguments.length];if(ni===void 0)throw new gI(`Tried to invoke ctor of ${uA} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(Wg.constructor_body).toString()}) parameters instead!`);return ni.apply(this,arguments)}),cg=Object.create(ne,{constructor:{value:$e}});$e.prototype=cg;var Wg=new st(uA,$e,cg,ig,Lg,tA,DA,_);Wg.baseClass&&(Wg.baseClass.__derivedClasses===void 0&&(Wg.baseClass.__derivedClasses=[]),Wg.baseClass.__derivedClasses.push(Wg));var yI=new di(uA,Wg,!0,!1,!1),rI=new di(uA+"*",Wg,!1,!1,!1),Et=new di(uA+" const*",Wg,!1,!0,!1);return HA[y]={pointerType:rI,constPointerType:Et},V(Bg,$e),[yI,rI,Et]})},bC=(y,m)=>{for(var K=[],O=0;O<y;O++)K.push(P[m+O*4>>2]);return K};function Qt(y,m){if(!(y instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof y} which is not a function`);var K=uI(y.name||"unknownFunctionName",function(){});K.prototype=y.prototype;var O=new K,IA=y.apply(O,m);return IA instanceof Object?IA:O}function Vi(y,m,K,O,IA,tA){var EA=m.length;EA<2&&Zg("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var DA=m[1]!==null&&K!==null,M=!1,_=1;_<m.length;++_)if(m[_]!==null&&m[_].destructorFunction===void 0){M=!0;break}for(var uA=m[0].name!=="void",xA="",ig="",_=0;_<EA-2;++_)xA+=(_!==0?", ":"")+"arg"+_,ig+=(_!==0?", ":"")+"arg"+_+"Wired";var Bg=`
        return function ${Ne(y)}(${xA}) {
        if (arguments.length !== ${EA-2}) {
          throwBindingError('function ${y} called with ' + arguments.length + ' arguments, expected ${EA-2}');
        }`;M&&(Bg+=`var destructors = [];
`);var lg=M?"destructors":"null",Lg=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],ne=[Zg,O,IA,og,m[0],m[1]];DA&&(Bg+="var thisWired = classParam.toWireType("+lg+`, this);
`);for(var _=0;_<EA-2;++_)Bg+="var arg"+_+"Wired = argType"+_+".toWireType("+lg+", arg"+_+"); // "+m[_+2].name+`
`,Lg.push("argType"+_),ne.push(m[_+2]);if(DA&&(ig="thisWired"+(ig.length>0?", ":"")+ig),Bg+=(uA||tA?"var rv = ":"")+"invoker(fn"+(ig.length>0?", ":"")+ig+`);
`,M)Bg+=`runDestructors(destructors);
`;else for(var _=DA?1:2;_<m.length;++_){var $e=_===1?"thisWired":"arg"+(_-2)+"Wired";m[_].destructorFunction!==null&&(Bg+=$e+"_dtor("+$e+"); // "+m[_].name+`
`,Lg.push($e+"_dtor"),ne.push(m[_].destructorFunction))}return uA&&(Bg+=`var ret = retType.fromWireType(rv);
return ret;
`),Bg+=`}
`,Lg.push(Bg),Qt(Function,Lg).apply(null,ne)}var xo=(y,m,K,O,IA,tA)=>{var EA=bC(m,K);IA=zI(O,IA),Je([],[y],function(DA){DA=DA[0];var M=`constructor ${DA.name}`;if(DA.registeredClass.constructor_body===void 0&&(DA.registeredClass.constructor_body=[]),DA.registeredClass.constructor_body[m-1]!==void 0)throw new gI(`Cannot register multiple constructors with identical number of parameters (${m-1}) for class '${DA.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return DA.registeredClass.constructor_body[m-1]=()=>{gi(`Cannot construct ${DA.name} due to unbound types`,EA)},Je([],EA,_=>(_.splice(1,0,null),DA.registeredClass.constructor_body[m-1]=Vi(M,_,null,IA,tA),[])),[]})},Pt=(y,m,K,O,IA,tA,EA,DA,M)=>{var _=bC(K,O);m=Fg(m),tA=zI(IA,tA),Je([],[y],function(uA){uA=uA[0];var xA=`${uA.name}.${m}`;m.startsWith("@@")&&(m=Symbol[m.substring(2)]),DA&&uA.registeredClass.pureVirtualFunctions.push(m);function ig(){gi(`Cannot call ${xA} due to unbound types`,_)}var Bg=uA.registeredClass.instancePrototype,lg=Bg[m];return lg===void 0||lg.overloadTable===void 0&&lg.className!==uA.name&&lg.argCount===K-2?(ig.argCount=K-2,ig.className=uA.name,Bg[m]=ig):(Tt(Bg,m,xA),Bg[m].overloadTable[K-2]=ig),Je([],_,function(Lg){var ne=Vi(xA,Lg,uA,tA,EA,M);return Bg[m].overloadTable===void 0?(ne.argCount=K-2,Bg[m]=ne):Bg[m].overloadTable[K-2]=ne,[]}),[]})},dC=(y,m,K)=>(y instanceof Object||Zg(`${K} with invalid "this": ${y}`),y instanceof m.registeredClass.constructor||Zg(`${K} incompatible with "this" of type ${y.constructor.name}`),y.$$.ptr||Zg(`cannot call emscripten binding method ${K} on deleted object`),Bt(y.$$.ptr,y.$$.ptrType.registeredClass,m.registeredClass)),LC=(y,m,K,O,IA,tA,EA,DA,M,_)=>{m=Fg(m),IA=zI(O,IA),Je([],[y],function(uA){uA=uA[0];var xA=`${uA.name}.${m}`,ig={get(){gi(`Cannot access ${xA} due to unbound types`,[K,EA])},enumerable:!0,configurable:!0};return M?ig.set=()=>gi(`Cannot access ${xA} due to unbound types`,[K,EA]):ig.set=Bg=>Zg(xA+" is a read-only property"),Object.defineProperty(uA.registeredClass.instancePrototype,m,ig),Je([],M?[K,EA]:[K],function(Bg){var lg=Bg[0],Lg={get(){var $e=dC(this,uA,xA+" getter");return lg.fromWireType(IA(tA,$e))},enumerable:!0};if(M){M=zI(DA,M);var ne=Bg[1];Lg.set=function($e){var cg=dC(this,uA,xA+" setter"),Wg=[];M(_,cg,ne.toWireType(Wg,$e)),og(Wg)}}return Object.defineProperty(uA.registeredClass.instancePrototype,m,Lg),[]}),[]})};function Er(){Object.assign(wa.prototype,{get(y){return this.allocated[y]},has(y){return this.allocated[y]!==void 0},allocate(y){var m=this.freelist.pop()||this.allocated.length;return this.allocated[m]=y,m},free(y){this.allocated[y]=void 0,this.freelist.push(y)}})}function wa(){this.allocated=[void 0],this.freelist=[]}var wi=new wa,DI=y=>{y>=wi.reserved&&--wi.get(y).refcount===0&&wi.free(y)},jt=()=>{for(var y=0,m=wi.reserved;m<wi.allocated.length;++m)wi.allocated[m]!==void 0&&++y;return y},Ds=()=>{wi.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),wi.reserved=wi.allocated.length,e.count_emval_handles=jt},iI={toValue:y=>(y||Zg("Cannot use deleted val. handle = "+y),wi.get(y).value),toHandle:y=>{switch(y){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return wi.allocate({refcount:1,value:y})}}},hr=(y,m)=>{m=Fg(m),We(y,{name:m,fromWireType:K=>{var O=iI.toValue(K);return DI(K),O},toWireType:(K,O)=>iI.toHandle(O),argPackAdvance:GI,readValueFromPointer:Cg,destructorFunction:null})},lr=(y,m,K)=>{switch(m){case 1:return K?function(O){return this.fromWireType(G[O>>0])}:function(O){return this.fromWireType(R[O>>0])};case 2:return K?function(O){return this.fromWireType(J[O>>1])}:function(O){return this.fromWireType(q[O>>1])};case 4:return K?function(O){return this.fromWireType(T[O>>2])}:function(O){return this.fromWireType(P[O>>2])};default:throw new TypeError(`invalid integer width (${m}): ${y}`)}},he=(y,m,K,O)=>{m=Fg(m);function IA(){}IA.values={},We(y,{name:m,constructor:IA,fromWireType:function(tA){return this.constructor.values[tA]},toWireType:(tA,EA)=>EA.value,argPackAdvance:GI,readValueFromPointer:lr(m,K,O),destructorFunction:null}),vI(m,IA)},xC=(y,m)=>{var K=kg[y];return K===void 0&&Zg(m+" has unknown type "+_t(y)),K},Ao=(y,m,K)=>{var O=xC(y,"enum");m=Fg(m);var IA=O.constructor,tA=Object.create(O.constructor.prototype,{value:{value:K},constructor:{value:uI(`${O.name}_${m}`,function(){})}});IA.values[K]=tA,IA[m]=tA},Yo=y=>{if(y===null)return"null";var m=typeof y;return m==="object"||m==="array"||m==="function"?y.toString():""+y},Wt=(y,m)=>{switch(m){case 4:return function(K){return this.fromWireType(H[K>>2])};case 8:return function(K){return this.fromWireType(eA[K>>3])};default:throw new TypeError(`invalid float width (${m}): ${y}`)}},cr=(y,m,K)=>{m=Fg(m),We(y,{name:m,fromWireType:O=>O,toWireType:(O,IA)=>IA,argPackAdvance:GI,readValueFromPointer:Wt(m,K),destructorFunction:null})},Me=(y,m,K,O,IA,tA,EA)=>{var DA=bC(m,K);y=Fg(y),IA=zI(O,IA),vI(y,function(){gi(`Cannot call ${y} due to unbound types`,DA)},m-1),Je([],DA,function(M){var _=[M[0],null].concat(M.slice(1));return V(y,Vi(y,_,null,IA,tA,EA),m-1),[]})},dr=(y,m,K)=>{switch(m){case 1:return K?O=>G[O>>0]:O=>R[O>>0];case 2:return K?O=>J[O>>1]:O=>q[O>>1];case 4:return K?O=>T[O>>2]:O=>P[O>>2];default:throw new TypeError(`invalid integer width (${m}): ${y}`)}},Ho=(y,m,K,O,IA)=>{m=Fg(m),IA===-1&&(IA=4294967295);var tA=uA=>uA;if(O===0){var EA=32-8*K;tA=uA=>uA<<EA>>>EA}var DA=m.includes("unsigned"),M=(uA,xA)=>{},_;DA?_=function(uA,xA){return M(xA,this.name),xA>>>0}:_=function(uA,xA){return M(xA,this.name),xA},We(y,{name:m,fromWireType:tA,toWireType:_,argPackAdvance:GI,readValueFromPointer:dr(m,K,O!==0),destructorFunction:null})},ur=(y,m,K)=>{var O=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],IA=O[m];function tA(EA){var DA=P[EA>>2],M=P[EA+4>>2];return new IA(G.buffer,M,DA)}K=Fg(K),We(y,{name:K,fromWireType:tA,argPackAdvance:GI,readValueFromPointer:tA},{ignoreDuplicateRegistrations:!0})},uC=(y,m,K,O)=>{if(!(O>0))return 0;for(var IA=K,tA=K+O-1,EA=0;EA<y.length;++EA){var DA=y.charCodeAt(EA);if(DA>=55296&&DA<=57343){var M=y.charCodeAt(++EA);DA=65536+((DA&1023)<<10)|M&1023}if(DA<=127){if(K>=tA)break;m[K++]=DA}else if(DA<=2047){if(K+1>=tA)break;m[K++]=192|DA>>6,m[K++]=128|DA&63}else if(DA<=65535){if(K+2>=tA)break;m[K++]=224|DA>>12,m[K++]=128|DA>>6&63,m[K++]=128|DA&63}else{if(K+3>=tA)break;m[K++]=240|DA>>18,m[K++]=128|DA>>12&63,m[K++]=128|DA>>6&63,m[K++]=128|DA&63}}return m[K]=0,K-IA},fa=(y,m,K)=>uC(y,R,m,K),no=y=>{for(var m=0,K=0;K<y.length;++K){var O=y.charCodeAt(K);O<=127?m++:O<=2047?m+=2:O>=55296&&O<=57343?(m+=4,++K):m+=3}return m},DC=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,AA=(y,m,K)=>{for(var O=m+K,IA=m;y[IA]&&!(IA>=O);)++IA;if(IA-m>16&&y.buffer&&DC)return DC.decode(y.subarray(m,IA));for(var tA="";m<IA;){var EA=y[m++];if(!(EA&128)){tA+=String.fromCharCode(EA);continue}var DA=y[m++]&63;if((EA&224)==192){tA+=String.fromCharCode((EA&31)<<6|DA);continue}var M=y[m++]&63;if((EA&240)==224?EA=(EA&15)<<12|DA<<6|M:EA=(EA&7)<<18|DA<<12|M<<6|y[m++]&63,EA<65536)tA+=String.fromCharCode(EA);else{var _=EA-65536;tA+=String.fromCharCode(55296|_>>10,56320|_&1023)}}return tA},fi=(y,m)=>y?AA(R,y,m):"",Sa=(y,m)=>{m=Fg(m);var K=m==="std::string";We(y,{name:m,fromWireType(O){var IA=P[O>>2],tA=O+4,EA;if(K)for(var DA=tA,M=0;M<=IA;++M){var _=tA+M;if(M==IA||R[_]==0){var uA=_-DA,xA=fi(DA,uA);EA===void 0?EA=xA:(EA+="\0",EA+=xA),DA=_+1}}else{for(var ig=new Array(IA),M=0;M<IA;++M)ig[M]=String.fromCharCode(R[tA+M]);EA=ig.join("")}return Re(O),EA},toWireType(O,IA){IA instanceof ArrayBuffer&&(IA=new Uint8Array(IA));var tA,EA=typeof IA=="string";EA||IA instanceof Uint8Array||IA instanceof Uint8ClampedArray||IA instanceof Int8Array||Zg("Cannot pass non-string to std::string"),K&&EA?tA=no(IA):tA=IA.length;var DA=ma(4+tA+1),M=DA+4;if(P[DA>>2]=tA,K&&EA)fa(IA,M,tA+1);else if(EA)for(var _=0;_<tA;++_){var uA=IA.charCodeAt(_);uA>255&&(Re(M),Zg("String has UTF-16 code units that do not fit in 8 bits")),R[M+_]=uA}else for(var _=0;_<tA;++_)R[M+_]=IA[_];return O!==null&&O.push(Re,DA),DA},argPackAdvance:GI,readValueFromPointer:Ot,destructorFunction(O){Re(O)}})},tI=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,pC=(y,m)=>{for(var K=y,O=K>>1,IA=O+m/2;!(O>=IA)&&q[O];)++O;if(K=O<<1,K-y>32&&tI)return tI.decode(R.subarray(y,K));for(var tA="",EA=0;!(EA>=m/2);++EA){var DA=J[y+EA*2>>1];if(DA==0)break;tA+=String.fromCharCode(DA)}return tA},Eo=(y,m,K)=>{if(K===void 0&&(K=2147483647),K<2)return 0;K-=2;for(var O=m,IA=K<y.length*2?K/2:y.length,tA=0;tA<IA;++tA){var EA=y.charCodeAt(tA);J[m>>1]=EA,m+=2}return J[m>>1]=0,m-O},To=y=>y.length*2,Dr=(y,m)=>{for(var K=0,O="";!(K>=m/4);){var IA=T[y+K*4>>2];if(IA==0)break;if(++K,IA>=65536){var tA=IA-65536;O+=String.fromCharCode(55296|tA>>10,56320|tA&1023)}else O+=String.fromCharCode(IA)}return O},pr=(y,m,K)=>{if(K===void 0&&(K=2147483647),K<4)return 0;for(var O=m,IA=O+K-4,tA=0;tA<y.length;++tA){var EA=y.charCodeAt(tA);if(EA>=55296&&EA<=57343){var DA=y.charCodeAt(++tA);EA=65536+((EA&1023)<<10)|DA&1023}if(T[m>>2]=EA,m+=4,m+4>IA)break}return T[m>>2]=0,m-O},ps=y=>{for(var m=0,K=0;K<y.length;++K){var O=y.charCodeAt(K);O>=55296&&O<=57343&&++K,m+=4}return m},ys=(y,m,K)=>{K=Fg(K);var O,IA,tA,EA,DA;m===2?(O=pC,IA=Eo,EA=To,tA=()=>q,DA=1):m===4&&(O=Dr,IA=pr,EA=ps,tA=()=>P,DA=2),We(y,{name:K,fromWireType:M=>{for(var _=P[M>>2],uA=tA(),xA,ig=M+4,Bg=0;Bg<=_;++Bg){var lg=M+4+Bg*m;if(Bg==_||uA[lg>>DA]==0){var Lg=lg-ig,ne=O(ig,Lg);xA===void 0?xA=ne:(xA+="\0",xA+=ne),ig=lg+m}}return Re(M),xA},toWireType:(M,_)=>{typeof _!="string"&&Zg(`Cannot pass non-string to C++ string type ${K}`);var uA=EA(_),xA=ma(4+uA+m);return P[xA>>2]=uA>>DA,IA(_,xA+4,uA+m),M!==null&&M.push(Re,xA),xA},argPackAdvance:GI,readValueFromPointer:Cg,destructorFunction(M){Re(M)}})},ho=(y,m,K,O,IA,tA)=>{Eg[y]={name:Fg(m),rawConstructor:zI(K,O),rawDestructor:zI(IA,tA),elements:[]}},Oo=(y,m,K,O,IA,tA,EA,DA,M)=>{Eg[y].elements.push({getterReturnType:m,getter:zI(K,O),getterContext:IA,setterArgumentType:tA,setter:zI(EA,DA),setterContext:M})},vA=(y,m,K,O,IA,tA)=>{FA[y]={name:Fg(m),rawConstructor:zI(K,O),rawDestructor:zI(IA,tA),fields:[]}},Ji=(y,m,K,O,IA,tA,EA,DA,M,_)=>{FA[y].fields.push({fieldName:Fg(m),getterReturnType:K,getter:zI(O,IA),getterContext:tA,setterArgumentType:EA,setter:zI(DA,M),setterContext:_})},ws=(y,m)=>{m=Fg(m),We(y,{isVoid:!0,name:m,argPackAdvance:0,fromWireType:()=>{},toWireType:(K,O)=>{}})},yr=y=>{y>4&&(wi.get(y).refcount+=1)},fs=(y,m)=>{y=xC(y,"_emval_take_value");var K=y.readValueFromPointer(m);return iI.toHandle(K)},oC=()=>{VA("")},_o=(y,m,K)=>R.copyWithin(y,m,m+K),wr=()=>2147483648,nt=y=>{var m=w.buffer,K=(y-m.byteLength+65535)/65536;try{return w.grow(K),rA(),1}catch{}},Zi=y=>{var m=R.length;y>>>=0;var K=wr();if(y>K)return!1;for(var O=(M,_)=>M+(_-M%_)%_,IA=1;IA<=4;IA*=2){var tA=m*(1+.2/IA);tA=Math.min(tA,y+100663296);var EA=Math.min(K,O(Math.max(y,tA),65536)),DA=nt(EA);if(DA)return!0}return!1},ci={},Po=()=>o||"./this.program",lo=()=>{if(!lo.strings){var y=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",m={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:y,_:Po()};for(var K in ci)ci[K]===void 0?delete m[K]:m[K]=ci[K];var O=[];for(var K in m)O.push(`${K}=${m[K]}`);lo.strings=O}return lo.strings},ei=(y,m)=>{for(var K=0;K<y.length;++K)G[m++>>0]=y.charCodeAt(K);G[m>>0]=0},BI={isAbs:y=>y.charAt(0)==="/",splitPath:y=>{var m=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return m.exec(y).slice(1)},normalizeArray:(y,m)=>{for(var K=0,O=y.length-1;O>=0;O--){var IA=y[O];IA==="."?y.splice(O,1):IA===".."?(y.splice(O,1),K++):K&&(y.splice(O,1),K--)}if(m)for(;K;K--)y.unshift("..");return y},normalize:y=>{var m=BI.isAbs(y),K=y.substr(-1)==="/";return y=BI.normalizeArray(y.split("/").filter(O=>!!O),!m).join("/"),!y&&!m&&(y="."),y&&K&&(y+="/"),(m?"/":"")+y},dirname:y=>{var m=BI.splitPath(y),K=m[0],O=m[1];return!K&&!O?".":(O&&(O=O.substr(0,O.length-1)),K+O)},basename:y=>{if(y==="/")return"/";y=BI.normalize(y),y=y.replace(/\/$/,"");var m=y.lastIndexOf("/");return m===-1?y:y.substr(m+1)},join:function(){var y=Array.prototype.slice.call(arguments);return BI.normalize(y.join("/"))},join2:(y,m)=>BI.normalize(y+"/"+m)},fr=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return y=>crypto.getRandomValues(y);VA("initRandomDevice")},Sr=y=>(Sr=fr())(y),Mt={resolve:function(){for(var y="",m=!1,K=arguments.length-1;K>=-1&&!m;K--){var O=K>=0?arguments[K]:c.cwd();if(typeof O!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!O)return"";y=O+"/"+y,m=BI.isAbs(O)}return y=BI.normalizeArray(y.split("/").filter(IA=>!!IA),!m).join("/"),(m?"/":"")+y||"."},relative:(y,m)=>{y=Mt.resolve(y).substr(1),m=Mt.resolve(m).substr(1);function K(_){for(var uA=0;uA<_.length&&_[uA]==="";uA++);for(var xA=_.length-1;xA>=0&&_[xA]==="";xA--);return uA>xA?[]:_.slice(uA,xA-uA+1)}for(var O=K(y.split("/")),IA=K(m.split("/")),tA=Math.min(O.length,IA.length),EA=tA,DA=0;DA<tA;DA++)if(O[DA]!==IA[DA]){EA=DA;break}for(var M=[],DA=EA;DA<O.length;DA++)M.push("..");return M=M.concat(IA.slice(EA)),M.join("/")}},kt=[];function co(y,m,K){var O=K>0?K:no(y)+1,IA=new Array(O),tA=uC(y,IA,0,IA.length);return m&&(IA.length=tA),IA}var Gr=()=>{if(!kt.length){var y=null;if(typeof window<"u"&&typeof window.prompt=="function"?(y=window.prompt("Input: "),y!==null&&(y+=`
`)):typeof readline=="function"&&(y=readline(),y!==null&&(y+=`
`)),!y)return null;kt=co(y,!0)}return kt.shift()},zt={ttys:[],init(){},shutdown(){},register(y,m){zt.ttys[y]={input:[],output:[],ops:m},c.registerDevice(y,zt.stream_ops)},stream_ops:{open(y){var m=zt.ttys[y.node.rdev];if(!m)throw new c.ErrnoError(43);y.tty=m,y.seekable=!1},close(y){y.tty.ops.fsync(y.tty)},fsync(y){y.tty.ops.fsync(y.tty)},read(y,m,K,O,IA){if(!y.tty||!y.tty.ops.get_char)throw new c.ErrnoError(60);for(var tA=0,EA=0;EA<O;EA++){var DA;try{DA=y.tty.ops.get_char(y.tty)}catch{throw new c.ErrnoError(29)}if(DA===void 0&&tA===0)throw new c.ErrnoError(6);if(DA==null)break;tA++,m[K+EA]=DA}return tA&&(y.node.timestamp=Date.now()),tA},write(y,m,K,O,IA){if(!y.tty||!y.tty.ops.put_char)throw new c.ErrnoError(60);try{for(var tA=0;tA<O;tA++)y.tty.ops.put_char(y.tty,m[K+tA])}catch{throw new c.ErrnoError(29)}return O&&(y.node.timestamp=Date.now()),tA}},default_tty_ops:{get_char(y){return Gr()},put_char(y,m){m===null||m===10?(h(AA(y.output,0)),y.output=[]):m!=0&&y.output.push(m)},fsync(y){y.output&&y.output.length>0&&(h(AA(y.output,0)),y.output=[])},ioctl_tcgets(y){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(y,m,K){return 0},ioctl_tiocgwinsz(y){return[24,80]}},default_tty1_ops:{put_char(y,m){m===null||m===10?(u(AA(y.output,0)),y.output=[]):m!=0&&y.output.push(m)},fsync(y){y.output&&y.output.length>0&&(u(AA(y.output,0)),y.output=[])}}},uo=y=>{VA()},me={ops_table:null,mount(y){return me.createNode(null,"/",16895,0)},createNode(y,m,K,O){if(c.isBlkdev(K)||c.isFIFO(K))throw new c.ErrnoError(63);me.ops_table||(me.ops_table={dir:{node:{getattr:me.node_ops.getattr,setattr:me.node_ops.setattr,lookup:me.node_ops.lookup,mknod:me.node_ops.mknod,rename:me.node_ops.rename,unlink:me.node_ops.unlink,rmdir:me.node_ops.rmdir,readdir:me.node_ops.readdir,symlink:me.node_ops.symlink},stream:{llseek:me.stream_ops.llseek}},file:{node:{getattr:me.node_ops.getattr,setattr:me.node_ops.setattr},stream:{llseek:me.stream_ops.llseek,read:me.stream_ops.read,write:me.stream_ops.write,allocate:me.stream_ops.allocate,mmap:me.stream_ops.mmap,msync:me.stream_ops.msync}},link:{node:{getattr:me.node_ops.getattr,setattr:me.node_ops.setattr,readlink:me.node_ops.readlink},stream:{}},chrdev:{node:{getattr:me.node_ops.getattr,setattr:me.node_ops.setattr},stream:c.chrdev_stream_ops}});var IA=c.createNode(y,m,K,O);return c.isDir(IA.mode)?(IA.node_ops=me.ops_table.dir.node,IA.stream_ops=me.ops_table.dir.stream,IA.contents={}):c.isFile(IA.mode)?(IA.node_ops=me.ops_table.file.node,IA.stream_ops=me.ops_table.file.stream,IA.usedBytes=0,IA.contents=null):c.isLink(IA.mode)?(IA.node_ops=me.ops_table.link.node,IA.stream_ops=me.ops_table.link.stream):c.isChrdev(IA.mode)&&(IA.node_ops=me.ops_table.chrdev.node,IA.stream_ops=me.ops_table.chrdev.stream),IA.timestamp=Date.now(),y&&(y.contents[m]=IA,y.timestamp=IA.timestamp),IA},getFileDataAsTypedArray(y){return y.contents?y.contents.subarray?y.contents.subarray(0,y.usedBytes):new Uint8Array(y.contents):new Uint8Array(0)},expandFileStorage(y,m){var K=y.contents?y.contents.length:0;if(!(K>=m)){var O=1024*1024;m=Math.max(m,K*(K<O?2:1.125)>>>0),K!=0&&(m=Math.max(m,256));var IA=y.contents;y.contents=new Uint8Array(m),y.usedBytes>0&&y.contents.set(IA.subarray(0,y.usedBytes),0)}},resizeFileStorage(y,m){if(y.usedBytes!=m)if(m==0)y.contents=null,y.usedBytes=0;else{var K=y.contents;y.contents=new Uint8Array(m),K&&y.contents.set(K.subarray(0,Math.min(m,y.usedBytes))),y.usedBytes=m}},node_ops:{getattr(y){var m={};return m.dev=c.isChrdev(y.mode)?y.id:1,m.ino=y.id,m.mode=y.mode,m.nlink=1,m.uid=0,m.gid=0,m.rdev=y.rdev,c.isDir(y.mode)?m.size=4096:c.isFile(y.mode)?m.size=y.usedBytes:c.isLink(y.mode)?m.size=y.link.length:m.size=0,m.atime=new Date(y.timestamp),m.mtime=new Date(y.timestamp),m.ctime=new Date(y.timestamp),m.blksize=4096,m.blocks=Math.ceil(m.size/m.blksize),m},setattr(y,m){m.mode!==void 0&&(y.mode=m.mode),m.timestamp!==void 0&&(y.timestamp=m.timestamp),m.size!==void 0&&me.resizeFileStorage(y,m.size)},lookup(y,m){throw c.genericErrors[44]},mknod(y,m,K,O){return me.createNode(y,m,K,O)},rename(y,m,K){if(c.isDir(y.mode)){var O;try{O=c.lookupNode(m,K)}catch{}if(O)for(var IA in O.contents)throw new c.ErrnoError(55)}delete y.parent.contents[y.name],y.parent.timestamp=Date.now(),y.name=K,m.contents[K]=y,m.timestamp=y.parent.timestamp,y.parent=m},unlink(y,m){delete y.contents[m],y.timestamp=Date.now()},rmdir(y,m){var K=c.lookupNode(y,m);for(var O in K.contents)throw new c.ErrnoError(55);delete y.contents[m],y.timestamp=Date.now()},readdir(y){var m=[".",".."];for(var K in y.contents)y.contents.hasOwnProperty(K)&&m.push(K);return m},symlink(y,m,K){var O=me.createNode(y,m,41471,0);return O.link=K,O},readlink(y){if(!c.isLink(y.mode))throw new c.ErrnoError(28);return y.link}},stream_ops:{read(y,m,K,O,IA){var tA=y.node.contents;if(IA>=y.node.usedBytes)return 0;var EA=Math.min(y.node.usedBytes-IA,O);if(EA>8&&tA.subarray)m.set(tA.subarray(IA,IA+EA),K);else for(var DA=0;DA<EA;DA++)m[K+DA]=tA[IA+DA];return EA},write(y,m,K,O,IA,tA){if(m.buffer===G.buffer&&(tA=!1),!O)return 0;var EA=y.node;if(EA.timestamp=Date.now(),m.subarray&&(!EA.contents||EA.contents.subarray)){if(tA)return EA.contents=m.subarray(K,K+O),EA.usedBytes=O,O;if(EA.usedBytes===0&&IA===0)return EA.contents=m.slice(K,K+O),EA.usedBytes=O,O;if(IA+O<=EA.usedBytes)return EA.contents.set(m.subarray(K,K+O),IA),O}if(me.expandFileStorage(EA,IA+O),EA.contents.subarray&&m.subarray)EA.contents.set(m.subarray(K,K+O),IA);else for(var DA=0;DA<O;DA++)EA.contents[IA+DA]=m[K+DA];return EA.usedBytes=Math.max(EA.usedBytes,IA+O),O},llseek(y,m,K){var O=m;if(K===1?O+=y.position:K===2&&c.isFile(y.node.mode)&&(O+=y.node.usedBytes),O<0)throw new c.ErrnoError(28);return O},allocate(y,m,K){me.expandFileStorage(y.node,m+K),y.node.usedBytes=Math.max(y.node.usedBytes,m+K)},mmap(y,m,K,O,IA){if(!c.isFile(y.node.mode))throw new c.ErrnoError(43);var tA,EA,DA=y.node.contents;if(!(IA&2)&&DA.buffer===G.buffer)EA=!1,tA=DA.byteOffset;else{if((K>0||K+m<DA.length)&&(DA.subarray?DA=DA.subarray(K,K+m):DA=Array.prototype.slice.call(DA,K,K+m)),EA=!0,tA=uo(m),!tA)throw new c.ErrnoError(48);G.set(DA,tA)}return{ptr:tA,allocated:EA}},msync(y,m,K,O,IA){return me.stream_ops.write(y,m,0,O,K,!1),0}}},d=(y,m,K,O)=>{var IA=O?"":`al ${y}`;E(y,tA=>{N(tA,`Loading data file "${y}" failed (no arrayBuffer).`),m(new Uint8Array(tA)),IA&&$A(IA)},tA=>{if(K)K();else throw`Loading data file "${y}" failed.`}),IA&&sg(IA)},f=(y,m,K,O,IA,tA)=>c.createDataFile(y,m,K,O,IA,tA),F=e.preloadPlugins||[],L=(y,m,K,O)=>{typeof Browser<"u"&&Browser.init();var IA=!1;return F.forEach(tA=>{IA||tA.canHandle(m)&&(tA.handle(y,m,K,O),IA=!0)}),IA},W=(y,m,K,O,IA,tA,EA,DA,M,_)=>{var uA=m?Mt.resolve(BI.join2(y,m)):y,xA=`cp ${uA}`;function ig(Bg){function lg(Lg){_&&_(),DA||f(y,m,Lg,O,IA,M),tA&&tA(),$A(xA)}L(Bg,uA,lg,()=>{EA&&EA(),$A(xA)})||lg(Bg)}sg(xA),typeof K=="string"?d(K,Bg=>ig(Bg),EA):ig(K)},iA=y=>{var m={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},K=m[y];if(typeof K>"u")throw new Error(`Unknown file open mode: ${y}`);return K},hA=(y,m)=>{var K=0;return y&&(K|=365),m&&(K|=146),K},c={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(y,m={}){if(y=Mt.resolve(y),!y)return{path:"",node:null};var K={follow_mount:!0,recurse_count:0};if(m=Object.assign(K,m),m.recurse_count>8)throw new c.ErrnoError(32);for(var O=y.split("/").filter(xA=>!!xA),IA=c.root,tA="/",EA=0;EA<O.length;EA++){var DA=EA===O.length-1;if(DA&&m.parent)break;if(IA=c.lookupNode(IA,O[EA]),tA=BI.join2(tA,O[EA]),c.isMountpoint(IA)&&(!DA||DA&&m.follow_mount)&&(IA=IA.mounted.root),!DA||m.follow)for(var M=0;c.isLink(IA.mode);){var _=c.readlink(tA);tA=Mt.resolve(BI.dirname(tA),_);var uA=c.lookupPath(tA,{recurse_count:m.recurse_count+1});if(IA=uA.node,M++>40)throw new c.ErrnoError(32)}}return{path:tA,node:IA}},getPath(y){for(var m;;){if(c.isRoot(y)){var K=y.mount.mountpoint;return m?K[K.length-1]!=="/"?`${K}/${m}`:K+m:K}m=m?`${y.name}/${m}`:y.name,y=y.parent}},hashName(y,m){for(var K=0,O=0;O<m.length;O++)K=(K<<5)-K+m.charCodeAt(O)|0;return(y+K>>>0)%c.nameTable.length},hashAddNode(y){var m=c.hashName(y.parent.id,y.name);y.name_next=c.nameTable[m],c.nameTable[m]=y},hashRemoveNode(y){var m=c.hashName(y.parent.id,y.name);if(c.nameTable[m]===y)c.nameTable[m]=y.name_next;else for(var K=c.nameTable[m];K;){if(K.name_next===y){K.name_next=y.name_next;break}K=K.name_next}},lookupNode(y,m){var K=c.mayLookup(y);if(K)throw new c.ErrnoError(K,y);for(var O=c.hashName(y.id,m),IA=c.nameTable[O];IA;IA=IA.name_next){var tA=IA.name;if(IA.parent.id===y.id&&tA===m)return IA}return c.lookup(y,m)},createNode(y,m,K,O){var IA=new c.FSNode(y,m,K,O);return c.hashAddNode(IA),IA},destroyNode(y){c.hashRemoveNode(y)},isRoot(y){return y===y.parent},isMountpoint(y){return!!y.mounted},isFile(y){return(y&61440)===32768},isDir(y){return(y&61440)===16384},isLink(y){return(y&61440)===40960},isChrdev(y){return(y&61440)===8192},isBlkdev(y){return(y&61440)===24576},isFIFO(y){return(y&61440)===4096},isSocket(y){return(y&49152)===49152},flagsToPermissionString(y){var m=["r","w","rw"][y&3];return y&512&&(m+="w"),m},nodePermissions(y,m){return c.ignorePermissions?0:m.includes("r")&&!(y.mode&292)||m.includes("w")&&!(y.mode&146)||m.includes("x")&&!(y.mode&73)?2:0},mayLookup(y){var m=c.nodePermissions(y,"x");return m||(y.node_ops.lookup?0:2)},mayCreate(y,m){try{var K=c.lookupNode(y,m);return 20}catch{}return c.nodePermissions(y,"wx")},mayDelete(y,m,K){var O;try{O=c.lookupNode(y,m)}catch(tA){return tA.errno}var IA=c.nodePermissions(y,"wx");if(IA)return IA;if(K){if(!c.isDir(O.mode))return 54;if(c.isRoot(O)||c.getPath(O)===c.cwd())return 10}else if(c.isDir(O.mode))return 31;return 0},mayOpen(y,m){return y?c.isLink(y.mode)?32:c.isDir(y.mode)&&(c.flagsToPermissionString(m)!=="r"||m&512)?31:c.nodePermissions(y,c.flagsToPermissionString(m)):44},MAX_OPEN_FDS:4096,nextfd(){for(var y=0;y<=c.MAX_OPEN_FDS;y++)if(!c.streams[y])return y;throw new c.ErrnoError(33)},getStreamChecked(y){var m=c.getStream(y);if(!m)throw new c.ErrnoError(8);return m},getStream:y=>c.streams[y],createStream(y,m=-1){return c.FSStream||(c.FSStream=function(){this.shared={}},c.FSStream.prototype={},Object.defineProperties(c.FSStream.prototype,{object:{get(){return this.node},set(K){this.node=K}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(K){this.shared.flags=K}},position:{get(){return this.shared.position},set(K){this.shared.position=K}}})),y=Object.assign(new c.FSStream,y),m==-1&&(m=c.nextfd()),y.fd=m,c.streams[m]=y,y},closeStream(y){c.streams[y]=null},chrdev_stream_ops:{open(y){var m=c.getDevice(y.node.rdev);y.stream_ops=m.stream_ops,y.stream_ops.open&&y.stream_ops.open(y)},llseek(){throw new c.ErrnoError(70)}},major:y=>y>>8,minor:y=>y&255,makedev:(y,m)=>y<<8|m,registerDevice(y,m){c.devices[y]={stream_ops:m}},getDevice:y=>c.devices[y],getMounts(y){for(var m=[],K=[y];K.length;){var O=K.pop();m.push(O),K.push.apply(K,O.mounts)}return m},syncfs(y,m){typeof y=="function"&&(m=y,y=!1),c.syncFSRequests++,c.syncFSRequests>1&&u(`warning: ${c.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var K=c.getMounts(c.root.mount),O=0;function IA(EA){return c.syncFSRequests--,m(EA)}function tA(EA){if(EA)return tA.errored?void 0:(tA.errored=!0,IA(EA));++O>=K.length&&IA(null)}K.forEach(EA=>{if(!EA.type.syncfs)return tA(null);EA.type.syncfs(EA,y,tA)})},mount(y,m,K){var O=K==="/",IA=!K,tA;if(O&&c.root)throw new c.ErrnoError(10);if(!O&&!IA){var EA=c.lookupPath(K,{follow_mount:!1});if(K=EA.path,tA=EA.node,c.isMountpoint(tA))throw new c.ErrnoError(10);if(!c.isDir(tA.mode))throw new c.ErrnoError(54)}var DA={type:y,opts:m,mountpoint:K,mounts:[]},M=y.mount(DA);return M.mount=DA,DA.root=M,O?c.root=M:tA&&(tA.mounted=DA,tA.mount&&tA.mount.mounts.push(DA)),M},unmount(y){var m=c.lookupPath(y,{follow_mount:!1});if(!c.isMountpoint(m.node))throw new c.ErrnoError(28);var K=m.node,O=K.mounted,IA=c.getMounts(O);Object.keys(c.nameTable).forEach(EA=>{for(var DA=c.nameTable[EA];DA;){var M=DA.name_next;IA.includes(DA.mount)&&c.destroyNode(DA),DA=M}}),K.mounted=null;var tA=K.mount.mounts.indexOf(O);K.mount.mounts.splice(tA,1)},lookup(y,m){return y.node_ops.lookup(y,m)},mknod(y,m,K){var O=c.lookupPath(y,{parent:!0}),IA=O.node,tA=BI.basename(y);if(!tA||tA==="."||tA==="..")throw new c.ErrnoError(28);var EA=c.mayCreate(IA,tA);if(EA)throw new c.ErrnoError(EA);if(!IA.node_ops.mknod)throw new c.ErrnoError(63);return IA.node_ops.mknod(IA,tA,m,K)},create(y,m){return m=m!==void 0?m:438,m&=4095,m|=32768,c.mknod(y,m,0)},mkdir(y,m){return m=m!==void 0?m:511,m&=1023,m|=16384,c.mknod(y,m,0)},mkdirTree(y,m){for(var K=y.split("/"),O="",IA=0;IA<K.length;++IA)if(K[IA]){O+="/"+K[IA];try{c.mkdir(O,m)}catch(tA){if(tA.errno!=20)throw tA}}},mkdev(y,m,K){return typeof K>"u"&&(K=m,m=438),m|=8192,c.mknod(y,m,K)},symlink(y,m){if(!Mt.resolve(y))throw new c.ErrnoError(44);var K=c.lookupPath(m,{parent:!0}),O=K.node;if(!O)throw new c.ErrnoError(44);var IA=BI.basename(m),tA=c.mayCreate(O,IA);if(tA)throw new c.ErrnoError(tA);if(!O.node_ops.symlink)throw new c.ErrnoError(63);return O.node_ops.symlink(O,IA,y)},rename(y,m){var K=BI.dirname(y),O=BI.dirname(m),IA=BI.basename(y),tA=BI.basename(m),EA,DA,M;if(EA=c.lookupPath(y,{parent:!0}),DA=EA.node,EA=c.lookupPath(m,{parent:!0}),M=EA.node,!DA||!M)throw new c.ErrnoError(44);if(DA.mount!==M.mount)throw new c.ErrnoError(75);var _=c.lookupNode(DA,IA),uA=Mt.relative(y,O);if(uA.charAt(0)!==".")throw new c.ErrnoError(28);if(uA=Mt.relative(m,K),uA.charAt(0)!==".")throw new c.ErrnoError(55);var xA;try{xA=c.lookupNode(M,tA)}catch{}if(_!==xA){var ig=c.isDir(_.mode),Bg=c.mayDelete(DA,IA,ig);if(Bg)throw new c.ErrnoError(Bg);if(Bg=xA?c.mayDelete(M,tA,ig):c.mayCreate(M,tA),Bg)throw new c.ErrnoError(Bg);if(!DA.node_ops.rename)throw new c.ErrnoError(63);if(c.isMountpoint(_)||xA&&c.isMountpoint(xA))throw new c.ErrnoError(10);if(M!==DA&&(Bg=c.nodePermissions(DA,"w"),Bg))throw new c.ErrnoError(Bg);c.hashRemoveNode(_);try{DA.node_ops.rename(_,M,tA)}catch(lg){throw lg}finally{c.hashAddNode(_)}}},rmdir(y){var m=c.lookupPath(y,{parent:!0}),K=m.node,O=BI.basename(y),IA=c.lookupNode(K,O),tA=c.mayDelete(K,O,!0);if(tA)throw new c.ErrnoError(tA);if(!K.node_ops.rmdir)throw new c.ErrnoError(63);if(c.isMountpoint(IA))throw new c.ErrnoError(10);K.node_ops.rmdir(K,O),c.destroyNode(IA)},readdir(y){var m=c.lookupPath(y,{follow:!0}),K=m.node;if(!K.node_ops.readdir)throw new c.ErrnoError(54);return K.node_ops.readdir(K)},unlink(y){var m=c.lookupPath(y,{parent:!0}),K=m.node;if(!K)throw new c.ErrnoError(44);var O=BI.basename(y),IA=c.lookupNode(K,O),tA=c.mayDelete(K,O,!1);if(tA)throw new c.ErrnoError(tA);if(!K.node_ops.unlink)throw new c.ErrnoError(63);if(c.isMountpoint(IA))throw new c.ErrnoError(10);K.node_ops.unlink(K,O),c.destroyNode(IA)},readlink(y){var m=c.lookupPath(y),K=m.node;if(!K)throw new c.ErrnoError(44);if(!K.node_ops.readlink)throw new c.ErrnoError(28);return Mt.resolve(c.getPath(K.parent),K.node_ops.readlink(K))},stat(y,m){var K=c.lookupPath(y,{follow:!m}),O=K.node;if(!O)throw new c.ErrnoError(44);if(!O.node_ops.getattr)throw new c.ErrnoError(63);return O.node_ops.getattr(O)},lstat(y){return c.stat(y,!0)},chmod(y,m,K){var O;if(typeof y=="string"){var IA=c.lookupPath(y,{follow:!K});O=IA.node}else O=y;if(!O.node_ops.setattr)throw new c.ErrnoError(63);O.node_ops.setattr(O,{mode:m&4095|O.mode&-4096,timestamp:Date.now()})},lchmod(y,m){c.chmod(y,m,!0)},fchmod(y,m){var K=c.getStreamChecked(y);c.chmod(K.node,m)},chown(y,m,K,O){var IA;if(typeof y=="string"){var tA=c.lookupPath(y,{follow:!O});IA=tA.node}else IA=y;if(!IA.node_ops.setattr)throw new c.ErrnoError(63);IA.node_ops.setattr(IA,{timestamp:Date.now()})},lchown(y,m,K){c.chown(y,m,K,!0)},fchown(y,m,K){var O=c.getStreamChecked(y);c.chown(O.node,m,K)},truncate(y,m){if(m<0)throw new c.ErrnoError(28);var K;if(typeof y=="string"){var O=c.lookupPath(y,{follow:!0});K=O.node}else K=y;if(!K.node_ops.setattr)throw new c.ErrnoError(63);if(c.isDir(K.mode))throw new c.ErrnoError(31);if(!c.isFile(K.mode))throw new c.ErrnoError(28);var IA=c.nodePermissions(K,"w");if(IA)throw new c.ErrnoError(IA);K.node_ops.setattr(K,{size:m,timestamp:Date.now()})},ftruncate(y,m){var K=c.getStreamChecked(y);if(!(K.flags&2097155))throw new c.ErrnoError(28);c.truncate(K.node,m)},utime(y,m,K){var O=c.lookupPath(y,{follow:!0}),IA=O.node;IA.node_ops.setattr(IA,{timestamp:Math.max(m,K)})},open(y,m,K){if(y==="")throw new c.ErrnoError(44);m=typeof m=="string"?iA(m):m,K=typeof K>"u"?438:K,m&64?K=K&4095|32768:K=0;var O;if(typeof y=="object")O=y;else{y=BI.normalize(y);try{var IA=c.lookupPath(y,{follow:!(m&131072)});O=IA.node}catch{}}var tA=!1;if(m&64)if(O){if(m&128)throw new c.ErrnoError(20)}else O=c.mknod(y,K,0),tA=!0;if(!O)throw new c.ErrnoError(44);if(c.isChrdev(O.mode)&&(m&=-513),m&65536&&!c.isDir(O.mode))throw new c.ErrnoError(54);if(!tA){var EA=c.mayOpen(O,m);if(EA)throw new c.ErrnoError(EA)}m&512&&!tA&&c.truncate(O,0),m&=-131713;var DA=c.createStream({node:O,path:c.getPath(O),flags:m,seekable:!0,position:0,stream_ops:O.stream_ops,ungotten:[],error:!1});return DA.stream_ops.open&&DA.stream_ops.open(DA),e.logReadFiles&&!(m&1)&&(c.readFiles||(c.readFiles={}),y in c.readFiles||(c.readFiles[y]=1)),DA},close(y){if(c.isClosed(y))throw new c.ErrnoError(8);y.getdents&&(y.getdents=null);try{y.stream_ops.close&&y.stream_ops.close(y)}catch(m){throw m}finally{c.closeStream(y.fd)}y.fd=null},isClosed(y){return y.fd===null},llseek(y,m,K){if(c.isClosed(y))throw new c.ErrnoError(8);if(!y.seekable||!y.stream_ops.llseek)throw new c.ErrnoError(70);if(K!=0&&K!=1&&K!=2)throw new c.ErrnoError(28);return y.position=y.stream_ops.llseek(y,m,K),y.ungotten=[],y.position},read(y,m,K,O,IA){if(O<0||IA<0)throw new c.ErrnoError(28);if(c.isClosed(y))throw new c.ErrnoError(8);if((y.flags&2097155)===1)throw new c.ErrnoError(8);if(c.isDir(y.node.mode))throw new c.ErrnoError(31);if(!y.stream_ops.read)throw new c.ErrnoError(28);var tA=typeof IA<"u";if(!tA)IA=y.position;else if(!y.seekable)throw new c.ErrnoError(70);var EA=y.stream_ops.read(y,m,K,O,IA);return tA||(y.position+=EA),EA},write(y,m,K,O,IA,tA){if(O<0||IA<0)throw new c.ErrnoError(28);if(c.isClosed(y))throw new c.ErrnoError(8);if(!(y.flags&2097155))throw new c.ErrnoError(8);if(c.isDir(y.node.mode))throw new c.ErrnoError(31);if(!y.stream_ops.write)throw new c.ErrnoError(28);y.seekable&&y.flags&1024&&c.llseek(y,0,2);var EA=typeof IA<"u";if(!EA)IA=y.position;else if(!y.seekable)throw new c.ErrnoError(70);var DA=y.stream_ops.write(y,m,K,O,IA,tA);return EA||(y.position+=DA),DA},allocate(y,m,K){if(c.isClosed(y))throw new c.ErrnoError(8);if(m<0||K<=0)throw new c.ErrnoError(28);if(!(y.flags&2097155))throw new c.ErrnoError(8);if(!c.isFile(y.node.mode)&&!c.isDir(y.node.mode))throw new c.ErrnoError(43);if(!y.stream_ops.allocate)throw new c.ErrnoError(138);y.stream_ops.allocate(y,m,K)},mmap(y,m,K,O,IA){if(O&2&&!(IA&2)&&(y.flags&2097155)!==2)throw new c.ErrnoError(2);if((y.flags&2097155)===1)throw new c.ErrnoError(2);if(!y.stream_ops.mmap)throw new c.ErrnoError(43);return y.stream_ops.mmap(y,m,K,O,IA)},msync(y,m,K,O,IA){return y.stream_ops.msync?y.stream_ops.msync(y,m,K,O,IA):0},munmap:y=>0,ioctl(y,m,K){if(!y.stream_ops.ioctl)throw new c.ErrnoError(59);return y.stream_ops.ioctl(y,m,K)},readFile(y,m={}){if(m.flags=m.flags||0,m.encoding=m.encoding||"binary",m.encoding!=="utf8"&&m.encoding!=="binary")throw new Error(`Invalid encoding type "${m.encoding}"`);var K,O=c.open(y,m.flags),IA=c.stat(y),tA=IA.size,EA=new Uint8Array(tA);return c.read(O,EA,0,tA,0),m.encoding==="utf8"?K=AA(EA,0):m.encoding==="binary"&&(K=EA),c.close(O),K},writeFile(y,m,K={}){K.flags=K.flags||577;var O=c.open(y,K.flags,K.mode);if(typeof m=="string"){var IA=new Uint8Array(no(m)+1),tA=uC(m,IA,0,IA.length);c.write(O,IA,0,tA,void 0,K.canOwn)}else if(ArrayBuffer.isView(m))c.write(O,m,0,m.byteLength,void 0,K.canOwn);else throw new Error("Unsupported data type");c.close(O)},cwd:()=>c.currentPath,chdir(y){var m=c.lookupPath(y,{follow:!0});if(m.node===null)throw new c.ErrnoError(44);if(!c.isDir(m.node.mode))throw new c.ErrnoError(54);var K=c.nodePermissions(m.node,"x");if(K)throw new c.ErrnoError(K);c.currentPath=m.path},createDefaultDirectories(){c.mkdir("/tmp"),c.mkdir("/home"),c.mkdir("/home/web_user")},createDefaultDevices(){c.mkdir("/dev"),c.registerDevice(c.makedev(1,3),{read:()=>0,write:(O,IA,tA,EA,DA)=>EA}),c.mkdev("/dev/null",c.makedev(1,3)),zt.register(c.makedev(5,0),zt.default_tty_ops),zt.register(c.makedev(6,0),zt.default_tty1_ops),c.mkdev("/dev/tty",c.makedev(5,0)),c.mkdev("/dev/tty1",c.makedev(6,0));var y=new Uint8Array(1024),m=0,K=()=>(m===0&&(m=Sr(y).byteLength),y[--m]);c.createDevice("/dev","random",K),c.createDevice("/dev","urandom",K),c.mkdir("/dev/shm"),c.mkdir("/dev/shm/tmp")},createSpecialDirectories(){c.mkdir("/proc");var y=c.mkdir("/proc/self");c.mkdir("/proc/self/fd"),c.mount({mount(){var m=c.createNode(y,"fd",16895,73);return m.node_ops={lookup(K,O){var IA=+O,tA=c.getStreamChecked(IA),EA={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>tA.path}};return EA.parent=EA,EA}},m}},{},"/proc/self/fd")},createStandardStreams(){e.stdin?c.createDevice("/dev","stdin",e.stdin):c.symlink("/dev/tty","/dev/stdin"),e.stdout?c.createDevice("/dev","stdout",null,e.stdout):c.symlink("/dev/tty","/dev/stdout"),e.stderr?c.createDevice("/dev","stderr",null,e.stderr):c.symlink("/dev/tty1","/dev/stderr");var y=c.open("/dev/stdin",0),m=c.open("/dev/stdout",1),K=c.open("/dev/stderr",1)},ensureErrnoError(){c.ErrnoError||(c.ErrnoError=function(m,K){this.name="ErrnoError",this.node=K,this.setErrno=function(O){this.errno=O},this.setErrno(m),this.message="FS error"},c.ErrnoError.prototype=new Error,c.ErrnoError.prototype.constructor=c.ErrnoError,[44].forEach(y=>{c.genericErrors[y]=new c.ErrnoError(y),c.genericErrors[y].stack="<generic error, no stack>"}))},staticInit(){c.ensureErrnoError(),c.nameTable=new Array(4096),c.mount(me,{},"/"),c.createDefaultDirectories(),c.createDefaultDevices(),c.createSpecialDirectories(),c.filesystems={MEMFS:me}},init(y,m,K){c.init.initialized=!0,c.ensureErrnoError(),e.stdin=y||e.stdin,e.stdout=m||e.stdout,e.stderr=K||e.stderr,c.createStandardStreams()},quit(){c.init.initialized=!1;for(var y=0;y<c.streams.length;y++){var m=c.streams[y];m&&c.close(m)}},findObject(y,m){var K=c.analyzePath(y,m);return K.exists?K.object:null},analyzePath(y,m){try{var K=c.lookupPath(y,{follow:!m});y=K.path}catch{}var O={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var K=c.lookupPath(y,{parent:!0});O.parentExists=!0,O.parentPath=K.path,O.parentObject=K.node,O.name=BI.basename(y),K=c.lookupPath(y,{follow:!m}),O.exists=!0,O.path=K.path,O.object=K.node,O.name=K.node.name,O.isRoot=K.path==="/"}catch(IA){O.error=IA.errno}return O},createPath(y,m,K,O){y=typeof y=="string"?y:c.getPath(y);for(var IA=m.split("/").reverse();IA.length;){var tA=IA.pop();if(tA){var EA=BI.join2(y,tA);try{c.mkdir(EA)}catch{}y=EA}}return EA},createFile(y,m,K,O,IA){var tA=BI.join2(typeof y=="string"?y:c.getPath(y),m),EA=hA(O,IA);return c.create(tA,EA)},createDataFile(y,m,K,O,IA,tA){var EA=m;y&&(y=typeof y=="string"?y:c.getPath(y),EA=m?BI.join2(y,m):y);var DA=hA(O,IA),M=c.create(EA,DA);if(K){if(typeof K=="string"){for(var _=new Array(K.length),uA=0,xA=K.length;uA<xA;++uA)_[uA]=K.charCodeAt(uA);K=_}c.chmod(M,DA|146);var ig=c.open(M,577);c.write(ig,K,0,K.length,0,tA),c.close(ig),c.chmod(M,DA)}return M},createDevice(y,m,K,O){var IA=BI.join2(typeof y=="string"?y:c.getPath(y),m),tA=hA(!!K,!!O);c.createDevice.major||(c.createDevice.major=64);var EA=c.makedev(c.createDevice.major++,0);return c.registerDevice(EA,{open(DA){DA.seekable=!1},close(DA){O&&O.buffer&&O.buffer.length&&O(10)},read(DA,M,_,uA,xA){for(var ig=0,Bg=0;Bg<uA;Bg++){var lg;try{lg=K()}catch{throw new c.ErrnoError(29)}if(lg===void 0&&ig===0)throw new c.ErrnoError(6);if(lg==null)break;ig++,M[_+Bg]=lg}return ig&&(DA.node.timestamp=Date.now()),ig},write(DA,M,_,uA,xA){for(var ig=0;ig<uA;ig++)try{O(M[_+ig])}catch{throw new c.ErrnoError(29)}return uA&&(DA.node.timestamp=Date.now()),ig}}),c.mkdev(IA,tA,EA)},forceLoadFile(y){if(y.isDevice||y.isFolder||y.link||y.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(n)try{y.contents=co(n(y.url),!0),y.usedBytes=y.contents.length}catch{throw new c.ErrnoError(29)}else throw new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(y,m,K,O,IA){function tA(){this.lengthKnown=!1,this.chunks=[]}if(tA.prototype.get=function(Bg){if(!(Bg>this.length-1||Bg<0)){var lg=Bg%this.chunkSize,Lg=Bg/this.chunkSize|0;return this.getter(Lg)[lg]}},tA.prototype.setDataGetter=function(Bg){this.getter=Bg},tA.prototype.cacheLength=function(){var Bg=new XMLHttpRequest;if(Bg.open("HEAD",K,!1),Bg.send(null),!(Bg.status>=200&&Bg.status<300||Bg.status===304))throw new Error("Couldn't load "+K+". Status: "+Bg.status);var lg=Number(Bg.getResponseHeader("Content-length")),Lg,ne=(Lg=Bg.getResponseHeader("Accept-Ranges"))&&Lg==="bytes",$e=(Lg=Bg.getResponseHeader("Content-Encoding"))&&Lg==="gzip",cg=1024*1024;ne||(cg=lg);var Wg=(rI,Et)=>{if(rI>Et)throw new Error("invalid range ("+rI+", "+Et+") or no bytes requested!");if(Et>lg-1)throw new Error("only "+lg+" bytes available! programmer error!");var ni=new XMLHttpRequest;if(ni.open("GET",K,!1),lg!==cg&&ni.setRequestHeader("Range","bytes="+rI+"-"+Et),ni.responseType="arraybuffer",ni.overrideMimeType&&ni.overrideMimeType("text/plain; charset=x-user-defined"),ni.send(null),!(ni.status>=200&&ni.status<300||ni.status===304))throw new Error("Couldn't load "+K+". Status: "+ni.status);return ni.response!==void 0?new Uint8Array(ni.response||[]):co(ni.responseText||"",!0)},yI=this;yI.setDataGetter(rI=>{var Et=rI*cg,ni=(rI+1)*cg-1;if(ni=Math.min(ni,lg-1),typeof yI.chunks[rI]>"u"&&(yI.chunks[rI]=Wg(Et,ni)),typeof yI.chunks[rI]>"u")throw new Error("doXHR failed!");return yI.chunks[rI]}),($e||!lg)&&(cg=lg=1,lg=this.getter(0).length,cg=lg,h("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=lg,this._chunkSize=cg,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!s)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var EA=new tA;Object.defineProperties(EA,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var DA={isDevice:!1,contents:EA}}else var DA={isDevice:!1,url:K};var M=c.createFile(y,m,DA,O,IA);DA.contents?M.contents=DA.contents:DA.url&&(M.contents=null,M.url=DA.url),Object.defineProperties(M,{usedBytes:{get:function(){return this.contents.length}}});var _={},uA=Object.keys(M.stream_ops);uA.forEach(ig=>{var Bg=M.stream_ops[ig];_[ig]=function(){return c.forceLoadFile(M),Bg.apply(null,arguments)}});function xA(ig,Bg,lg,Lg,ne){var $e=ig.node.contents;if(ne>=$e.length)return 0;var cg=Math.min($e.length-ne,Lg);if($e.slice)for(var Wg=0;Wg<cg;Wg++)Bg[lg+Wg]=$e[ne+Wg];else for(var Wg=0;Wg<cg;Wg++)Bg[lg+Wg]=$e.get(ne+Wg);return cg}return _.read=(ig,Bg,lg,Lg,ne)=>(c.forceLoadFile(M),xA(ig,Bg,lg,Lg,ne)),_.mmap=(ig,Bg,lg,Lg,ne)=>{c.forceLoadFile(M);var $e=uo(Bg);if(!$e)throw new c.ErrnoError(48);return xA(ig,G,$e,Bg,lg),{ptr:$e,allocated:!0}},M.stream_ops=_,M}},S={DEFAULT_POLLMASK:5,calculateAt(y,m,K){if(BI.isAbs(m))return m;var O;if(y===-100)O=c.cwd();else{var IA=S.getStreamFromFD(y);O=IA.path}if(m.length==0){if(!K)throw new c.ErrnoError(44);return O}return BI.join2(O,m)},doStat(y,m,K){try{var O=y(m)}catch(DA){if(DA&&DA.node&&BI.normalize(m)!==BI.normalize(c.getPath(DA.node)))return-54;throw DA}T[K>>2]=O.dev,T[K+4>>2]=O.mode,P[K+8>>2]=O.nlink,T[K+12>>2]=O.uid,T[K+16>>2]=O.gid,T[K+20>>2]=O.rdev,CA=[O.size>>>0,(sA=O.size,+Math.abs(sA)>=1?sA>0?+Math.floor(sA/4294967296)>>>0:~~+Math.ceil((sA-+(~~sA>>>0))/4294967296)>>>0:0)],T[K+24>>2]=CA[0],T[K+28>>2]=CA[1],T[K+32>>2]=4096,T[K+36>>2]=O.blocks;var IA=O.atime.getTime(),tA=O.mtime.getTime(),EA=O.ctime.getTime();return CA=[Math.floor(IA/1e3)>>>0,(sA=Math.floor(IA/1e3),+Math.abs(sA)>=1?sA>0?+Math.floor(sA/4294967296)>>>0:~~+Math.ceil((sA-+(~~sA>>>0))/4294967296)>>>0:0)],T[K+40>>2]=CA[0],T[K+44>>2]=CA[1],P[K+48>>2]=IA%1e3*1e3,CA=[Math.floor(tA/1e3)>>>0,(sA=Math.floor(tA/1e3),+Math.abs(sA)>=1?sA>0?+Math.floor(sA/4294967296)>>>0:~~+Math.ceil((sA-+(~~sA>>>0))/4294967296)>>>0:0)],T[K+56>>2]=CA[0],T[K+60>>2]=CA[1],P[K+64>>2]=tA%1e3*1e3,CA=[Math.floor(EA/1e3)>>>0,(sA=Math.floor(EA/1e3),+Math.abs(sA)>=1?sA>0?+Math.floor(sA/4294967296)>>>0:~~+Math.ceil((sA-+(~~sA>>>0))/4294967296)>>>0:0)],T[K+72>>2]=CA[0],T[K+76>>2]=CA[1],P[K+80>>2]=EA%1e3*1e3,CA=[O.ino>>>0,(sA=O.ino,+Math.abs(sA)>=1?sA>0?+Math.floor(sA/4294967296)>>>0:~~+Math.ceil((sA-+(~~sA>>>0))/4294967296)>>>0:0)],T[K+88>>2]=CA[0],T[K+92>>2]=CA[1],0},doMsync(y,m,K,O,IA){if(!c.isFile(m.node.mode))throw new c.ErrnoError(43);if(O&2)return 0;var tA=R.slice(y,y+K);c.msync(m,tA,IA,K,O)},varargs:void 0,get(){var y=T[+S.varargs>>2];return S.varargs+=4,y},getp(){return S.get()},getStr(y){var m=fi(y);return m},getStreamFromFD(y){var m=c.getStreamChecked(y);return m}},v=(y,m)=>{var K=0;return lo().forEach((O,IA)=>{var tA=m+K;P[y+IA*4>>2]=tA,ei(O,tA),K+=O.length+1}),0},Y=(y,m)=>{var K=lo();P[y>>2]=K.length;var O=0;return K.forEach(IA=>O+=IA.length+1),P[m>>2]=O,0};function Z(y){try{var m=S.getStreamFromFD(y);return c.close(m),0}catch(K){if(typeof c>"u"||K.name!=="ErrnoError")throw K;return K.errno}}var QA=(y,m,K,O)=>{for(var IA=0,tA=0;tA<K;tA++){var EA=P[m>>2],DA=P[m+4>>2];m+=8;var M=c.read(y,G,EA,DA,O);if(M<0)return-1;if(IA+=M,M<DA)break;typeof O<"u"&&(O+=M)}return IA};function gA(y,m,K,O){try{var IA=S.getStreamFromFD(y),tA=QA(IA,m,K);return P[O>>2]=tA,0}catch(EA){if(typeof c>"u"||EA.name!=="ErrnoError")throw EA;return EA.errno}}var fA=(y,m)=>m+2097152>>>0<4194305-!!y?(y>>>0)+m*4294967296:NaN;function bA(y,m,K,O,IA){var tA=fA(m,K);try{if(isNaN(tA))return 61;var EA=S.getStreamFromFD(y);return c.llseek(EA,tA,O),CA=[EA.position>>>0,(sA=EA.position,+Math.abs(sA)>=1?sA>0?+Math.floor(sA/4294967296)>>>0:~~+Math.ceil((sA-+(~~sA>>>0))/4294967296)>>>0:0)],T[IA>>2]=CA[0],T[IA+4>>2]=CA[1],EA.getdents&&tA===0&&O===0&&(EA.getdents=null),0}catch(DA){if(typeof c>"u"||DA.name!=="ErrnoError")throw DA;return DA.errno}}var XA=(y,m,K,O)=>{for(var IA=0,tA=0;tA<K;tA++){var EA=P[m>>2],DA=P[m+4>>2];m+=8;var M=c.write(y,G,EA,DA,O);if(M<0)return-1;IA+=M,typeof O<"u"&&(O+=M)}return IA};function Rg(y,m,K,O){try{var IA=S.getStreamFromFD(y),tA=XA(IA,m,K);return P[O>>2]=tA,0}catch(EA){if(typeof c>"u"||EA.name!=="ErrnoError")throw EA;return EA.errno}}var Jg=y=>y%4===0&&(y%100!==0||y%400===0),jg=(y,m)=>{for(var K=0,O=0;O<=m;K+=y[O++]);return K},Tg=[31,29,31,30,31,30,31,31,30,31,30,31],zg=[31,28,31,30,31,30,31,31,30,31,30,31],Ee=(y,m)=>{for(var K=new Date(y.getTime());m>0;){var O=Jg(K.getFullYear()),IA=K.getMonth(),tA=(O?Tg:zg)[IA];if(m>tA-K.getDate())m-=tA-K.getDate()+1,K.setDate(1),IA<11?K.setMonth(IA+1):(K.setMonth(0),K.setFullYear(K.getFullYear()+1));else return K.setDate(K.getDate()+m),K}return K},UI=(y,m)=>{G.set(y,m)},lI=(y,m,K,O)=>{var IA=P[O+40>>2],tA={tm_sec:T[O>>2],tm_min:T[O+4>>2],tm_hour:T[O+8>>2],tm_mday:T[O+12>>2],tm_mon:T[O+16>>2],tm_year:T[O+20>>2],tm_wday:T[O+24>>2],tm_yday:T[O+28>>2],tm_isdst:T[O+32>>2],tm_gmtoff:T[O+36>>2],tm_zone:IA?fi(IA):""},EA=fi(K),DA={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var M in DA)EA=EA.replace(new RegExp(M,"g"),DA[M]);var _=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],uA=["January","February","March","April","May","June","July","August","September","October","November","December"];function xA(cg,Wg,yI){for(var rI=typeof cg=="number"?cg.toString():cg||"";rI.length<Wg;)rI=yI[0]+rI;return rI}function ig(cg,Wg){return xA(cg,Wg,"0")}function Bg(cg,Wg){function yI(Et){return Et<0?-1:Et>0?1:0}var rI;return(rI=yI(cg.getFullYear()-Wg.getFullYear()))===0&&(rI=yI(cg.getMonth()-Wg.getMonth()))===0&&(rI=yI(cg.getDate()-Wg.getDate())),rI}function lg(cg){switch(cg.getDay()){case 0:return new Date(cg.getFullYear()-1,11,29);case 1:return cg;case 2:return new Date(cg.getFullYear(),0,3);case 3:return new Date(cg.getFullYear(),0,2);case 4:return new Date(cg.getFullYear(),0,1);case 5:return new Date(cg.getFullYear()-1,11,31);case 6:return new Date(cg.getFullYear()-1,11,30)}}function Lg(cg){var Wg=Ee(new Date(cg.tm_year+1900,0,1),cg.tm_yday),yI=new Date(Wg.getFullYear(),0,4),rI=new Date(Wg.getFullYear()+1,0,4),Et=lg(yI),ni=lg(rI);return Bg(Et,Wg)<=0?Bg(ni,Wg)<=0?Wg.getFullYear()+1:Wg.getFullYear():Wg.getFullYear()-1}var ne={"%a":cg=>_[cg.tm_wday].substring(0,3),"%A":cg=>_[cg.tm_wday],"%b":cg=>uA[cg.tm_mon].substring(0,3),"%B":cg=>uA[cg.tm_mon],"%C":cg=>{var Wg=cg.tm_year+1900;return ig(Wg/100|0,2)},"%d":cg=>ig(cg.tm_mday,2),"%e":cg=>xA(cg.tm_mday,2," "),"%g":cg=>Lg(cg).toString().substring(2),"%G":cg=>Lg(cg),"%H":cg=>ig(cg.tm_hour,2),"%I":cg=>{var Wg=cg.tm_hour;return Wg==0?Wg=12:Wg>12&&(Wg-=12),ig(Wg,2)},"%j":cg=>ig(cg.tm_mday+jg(Jg(cg.tm_year+1900)?Tg:zg,cg.tm_mon-1),3),"%m":cg=>ig(cg.tm_mon+1,2),"%M":cg=>ig(cg.tm_min,2),"%n":()=>`
`,"%p":cg=>cg.tm_hour>=0&&cg.tm_hour<12?"AM":"PM","%S":cg=>ig(cg.tm_sec,2),"%t":()=>"	","%u":cg=>cg.tm_wday||7,"%U":cg=>{var Wg=cg.tm_yday+7-cg.tm_wday;return ig(Math.floor(Wg/7),2)},"%V":cg=>{var Wg=Math.floor((cg.tm_yday+7-(cg.tm_wday+6)%7)/7);if((cg.tm_wday+371-cg.tm_yday-2)%7<=2&&Wg++,Wg){if(Wg==53){var rI=(cg.tm_wday+371-cg.tm_yday)%7;rI!=4&&(rI!=3||!Jg(cg.tm_year))&&(Wg=1)}}else{Wg=52;var yI=(cg.tm_wday+7-cg.tm_yday-1)%7;(yI==4||yI==5&&Jg(cg.tm_year%400-1))&&Wg++}return ig(Wg,2)},"%w":cg=>cg.tm_wday,"%W":cg=>{var Wg=cg.tm_yday+7-(cg.tm_wday+6)%7;return ig(Math.floor(Wg/7),2)},"%y":cg=>(cg.tm_year+1900).toString().substring(2),"%Y":cg=>cg.tm_year+1900,"%z":cg=>{var Wg=cg.tm_gmtoff,yI=Wg>=0;return Wg=Math.abs(Wg)/60,Wg=Wg/60*100+Wg%60,(yI?"+":"-")+("0000"+Wg).slice(-4)},"%Z":cg=>cg.tm_zone,"%%":()=>"%"};EA=EA.replace(/%%/g,"\0\0");for(var M in ne)EA.includes(M)&&(EA=EA.replace(new RegExp(M,"g"),ne[M](tA)));EA=EA.replace(/\0\0/g,"%");var $e=co(EA,!1);return $e.length>m?0:(UI($e,y),$e.length-1)},yg=(y,m,K,O,IA)=>lI(y,m,K,O),ae=y=>{var m=e["_"+y];return m},oi=y=>{var m=no(y)+1,K=qA(m);return fa(y,K,m),K},pI=(y,m,K,O,IA)=>{var tA={string:lg=>{var Lg=0;return lg!=null&&lg!==0&&(Lg=oi(lg)),Lg},array:lg=>{var Lg=qA(lg.length);return UI(lg,Lg),Lg}};function EA(lg){return m==="string"?fi(lg):m==="boolean"?!!lg:lg}var DA=ae(y),M=[],_=0;if(O)for(var uA=0;uA<O.length;uA++){var xA=tA[K[uA]];xA?(_===0&&(_=$()),M[uA]=xA(O[uA])):M[uA]=O[uA]}var ig=DA.apply(null,M);function Bg(lg){return _!==0&&lA(_),EA(lg)}return ig=Bg(ig),ig};Ie=e.InternalError=class extends Error{constructor(m){super(m),this.name="InternalError"}},Dg(),gI=e.BindingError=class extends Error{constructor(m){super(m),this.name="BindingError"}},te(),qe(),JC(),qC=e.UnboundTypeError=$C(Error,"UnboundTypeError"),Er(),Ds();var Si=function(y,m,K,O){y||(y=this),this.parent=y,this.mount=y.mount,this.mounted=null,this.id=c.nextInode++,this.name=m,this.mode=K,this.node_ops={},this.stream_ops={},this.rdev=O},MI=365,Ga=146;Object.defineProperties(Si.prototype,{read:{get:function(){return(this.mode&MI)===MI},set:function(y){y?this.mode|=MI:this.mode&=~MI}},write:{get:function(){return(this.mode&Ga)===Ga},set:function(y){y?this.mode|=Ga:this.mode&=~Ga}},isFolder:{get:function(){return c.isDir(this.mode)}},isDevice:{get:function(){return c.isChrdev(this.mode)}}}),c.FSNode=Si,c.createPreloadedFile=W,c.staticInit();var Ss={d:Og,n:xe,l:ZA,w:pg,G:ti,h:Lo,g:xo,c:Pt,q:LC,F:hr,p:he,i:Ao,t:cr,a:Me,j:Ho,e:ur,u:Sa,r:ys,o:ho,b:Oo,m:vA,f:Ji,H:ws,I:DI,J:yr,k:fs,s:oC,E:_o,y:Zi,z:v,A:Y,B:Z,D:gA,v:bA,C:Rg,x:yg},Ii=Mg(),LQ=()=>(LQ=Ii.L)(),ma=e._malloc=y=>(ma=e._malloc=Ii.M)(y),Re=e._free=y=>(Re=e._free=Ii.N)(y),KI=y=>(KI=Ii.P)(y),z=e.__embind_initialize_bindings=()=>(z=e.__embind_initialize_bindings=Ii.Q)(),b=()=>(b=Ii.__errno_location)(),$=()=>($=Ii.R)(),lA=y=>(lA=Ii.S)(y),qA=y=>(qA=Ii.T)(y),tg=y=>(tg=Ii.__cxa_increment_exception_refcount)(y),ug=y=>(ug=Ii.U)(y),Ug=e.dynCall_jiji=(y,m,K,O,IA)=>(Ug=e.dynCall_jiji=Ii.V)(y,m,K,O,IA),Te=e.dynCall_viijii=(y,m,K,O,IA,tA,EA)=>(Te=e.dynCall_viijii=Ii.W)(y,m,K,O,IA,tA,EA),be=e.dynCall_iiiiij=(y,m,K,O,IA,tA,EA)=>(be=e.dynCall_iiiiij=Ii.X)(y,m,K,O,IA,tA,EA),QI=e.dynCall_iiiiijj=(y,m,K,O,IA,tA,EA,DA,M)=>(QI=e.dynCall_iiiiijj=Ii.Y)(y,m,K,O,IA,tA,EA,DA,M),_A=e.dynCall_iiiiiijj=(y,m,K,O,IA,tA,EA,DA,M,_)=>(_A=e.dynCall_iiiiiijj=Ii.Z)(y,m,K,O,IA,tA,EA,DA,M,_);e.ccall=pI;var dA;LA=function y(){dA||Qg(),dA||(LA=y)};function Qg(){if(zA>0||(pA(),zA>0))return;function y(){dA||(dA=!0,e.calledRun=!0,!k&&(wA(),I(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),RA()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),y()},1)):y()}if(e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return Qg(),g.ready}})(),px=Dx});var Zm={};kB(Zm,{default:()=>wx});var yx,wx,Xm=ms(()=>{yx=(()=>{var A=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return function(g={}){var e=g,I,i;e.ready=new Promise((c,S)=>{I=c,i=S});var t=Object.assign({},e),C=[],o="./this.program",a=(c,S)=>{throw S},r=!0,s=!1,B="";function Q(c){return e.locateFile?e.locateFile(c,B):B+c}var n,E,l;(r||s)&&(s?B=self.location.href:typeof document<"u"&&document.currentScript&&(B=document.currentScript.src),A&&(B=A),B.indexOf("blob:")!==0?B=B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1):B="",n=c=>{var S=new XMLHttpRequest;return S.open("GET",c,!1),S.send(null),S.responseText},s&&(l=c=>{var S=new XMLHttpRequest;return S.open("GET",c,!1),S.responseType="arraybuffer",S.send(null),new Uint8Array(S.response)}),E=(c,S,v)=>{var Y=new XMLHttpRequest;Y.open("GET",c,!0),Y.responseType="arraybuffer",Y.onload=()=>{if(Y.status==200||Y.status==0&&Y.response){S(Y.response);return}v()},Y.onerror=v,Y.send(null)});var h=e.print||console.log.bind(console),u=e.printErr||console.error.bind(console);Object.assign(e,t),t=null,e.arguments&&(C=e.arguments),e.thisProgram&&(o=e.thisProgram),e.quit&&(a=e.quit);var D;e.wasmBinary&&(D=e.wasmBinary),typeof WebAssembly!="object"&&$A("no native wasm support detected");var p,w=!1,k;function U(c,S){c||$A(S)}var N,G,R,J,q,T,P,H;function eA(){var c=p.buffer;e.HEAP8=N=new Int8Array(c),e.HEAP16=R=new Int16Array(c),e.HEAPU8=G=new Uint8Array(c),e.HEAPU16=J=new Uint16Array(c),e.HEAP32=q=new Int32Array(c),e.HEAPU32=T=new Uint32Array(c),e.HEAPF32=P=new Float32Array(c),e.HEAPF64=H=new Float64Array(c)}var rA=[],BA=[],aA=[],yA=!1;function SA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)RA(e.preRun.shift());CA(rA)}function pA(){yA=!0,!e.noFSInit&&!AA.init.initialized&&AA.init(),AA.ignorePermissions=!1,Wt.init(),CA(BA)}function wA(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)UA(e.postRun.shift());CA(aA)}function RA(c){rA.unshift(c)}function kA(c){BA.unshift(c)}function UA(c){aA.unshift(c)}var GA=0,zA=null,KA=null;function LA(c){return c}function YA(c){GA++,e.monitorRunDependencies&&e.monitorRunDependencies(GA)}function sg(c){if(GA--,e.monitorRunDependencies&&e.monitorRunDependencies(GA),GA==0&&(zA!==null&&(clearInterval(zA),zA=null),KA)){var S=KA;KA=null,S()}}function $A(c){e.onAbort&&e.onAbort(c),c="Aborted("+c+")",u(c),w=!0,k=1,c+=". Build with -sASSERTIONS for more info.";var S=new WebAssembly.RuntimeError(c);throw i(S),S}var VA="data:application/octet-stream;base64,",vg=c=>c.startsWith(VA),Gg;Gg="boolean.wasm",vg(Gg)||(Gg=Q(Gg));function Ng(c){if(c==Gg&&D)return new Uint8Array(D);if(l)return l(c);throw"both async and sync fetching of the wasm failed"}function Kg(c){return!D&&(r||s)&&typeof fetch=="function"?fetch(c,{credentials:"same-origin"}).then(S=>{if(!S.ok)throw"failed to load wasm binary file at '"+c+"'";return S.arrayBuffer()}).catch(()=>Ng(c)):Promise.resolve().then(()=>Ng(c))}function mg(c,S,v){return Kg(c).then(Y=>WebAssembly.instantiate(Y,S)).then(Y=>Y).then(v,Y=>{u(`failed to asynchronously prepare wasm: ${Y}`),$A(Y)})}function Sg(c,S,v,Y){return!c&&typeof WebAssembly.instantiateStreaming=="function"&&!vg(S)&&typeof fetch=="function"?fetch(S,{credentials:"same-origin"}).then(Z=>{var QA=WebAssembly.instantiateStreaming(Z,v);return QA.then(Y,function(gA){return u(`wasm streaming compile failed: ${gA}`),u("falling back to ArrayBuffer instantiation"),mg(S,v,Y)})}):mg(S,v,Y)}function Ae(){var c={a:lo};function S(Y,Z){return ei=Y.exports,p=ei.A,eA(),Ki=ei.C,kA(ei.B),sg("wasm-instantiate"),ei}YA("wasm-instantiate");function v(Y){S(Y.instance)}if(e.instantiateWasm)try{return e.instantiateWasm(c,S)}catch(Y){u(`Module.instantiateWasm callback failed with error: ${Y}`),i(Y)}return Sg(D,Gg,c,v).catch(i),{}}var Mg,sA,CA=c=>{for(;c.length>0;)c.shift()(e)},OA=e.noExitRuntime||!0;function dg(c){this.excPtr=c,this.ptr=c-24,this.set_type=function(S){T[this.ptr+4>>2]=S},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(S){T[this.ptr+8>>2]=S},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(S){S=S?1:0,N[this.ptr+12>>0]=S},this.get_caught=function(){return N[this.ptr+12>>0]!=0},this.set_rethrown=function(S){S=S?1:0,N[this.ptr+13>>0]=S},this.get_rethrown=function(){return N[this.ptr+13>>0]!=0},this.init=function(S,v){this.set_adjusted_ptr(0),this.set_type(S),this.set_destructor(v)},this.set_adjusted_ptr=function(S){T[this.ptr+16>>2]=S},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){var S=me(this.get_type());if(S)return T[this.excPtr>>2];var v=this.get_adjusted_ptr();return v!==0?v:this.excPtr}}var X=0,eg=0,Og=(c,S,v)=>{var Y=new dg(c);throw Y.init(S,v),X=c,eg++,X},Eg={},og=c=>{for(;c.length;){var S=c.pop(),v=c.pop();v(S)}};function Cg(c){return this.fromWireType(q[c>>2])}var Yg={},kg={},Pg={},Ie,Ke=c=>{throw new Ie(c)},Je=(c,S,v)=>{c.forEach(function(fA){Pg[fA]=S});function Y(fA){var bA=v(fA);bA.length!==c.length&&Ke("Mismatched type converter count");for(var XA=0;XA<c.length;++XA)Zg(c[XA],bA[XA])}var Z=new Array(S.length),QA=[],gA=0;S.forEach((fA,bA)=>{kg.hasOwnProperty(fA)?Z[bA]=kg[fA]:(QA.push(fA),Yg.hasOwnProperty(fA)||(Yg[fA]=[]),Yg[fA].push(()=>{Z[bA]=kg[fA],++gA,gA===QA.length&&Y(Z)}))}),QA.length===0&&Y(Z)},xe=c=>{var S=Eg[c];delete Eg[c];var v=S.elements,Y=v.length,Z=v.map(fA=>fA.getterReturnType).concat(v.map(fA=>fA.setterArgumentType)),QA=S.rawConstructor,gA=S.rawDestructor;Je([c],Z,function(fA){return v.forEach((bA,XA)=>{var Rg=fA[XA],Jg=bA.getter,jg=bA.getterContext,Tg=fA[XA+Y],zg=bA.setter,Ee=bA.setterContext;bA.read=UI=>Rg.fromWireType(Jg(jg,UI)),bA.write=(UI,lI)=>{var yg=[];zg(Ee,UI,Tg.toWireType(yg,lI)),og(yg)}}),[{name:S.name,fromWireType:bA=>{for(var XA=new Array(Y),Rg=0;Rg<Y;++Rg)XA[Rg]=v[Rg].read(bA);return gA(bA),XA},toWireType:(bA,XA)=>{if(Y!==XA.length)throw new TypeError(`Incorrect number of tuple elements for ${S.name}: expected=${Y}, actual=${XA.length}`);for(var Rg=QA(),Jg=0;Jg<Y;++Jg)v[Jg].write(Rg,XA[Jg]);return bA!==null&&bA.push(gA,Rg),Rg},argPackAdvance:SI,readValueFromPointer:Cg,destructorFunction:gA}]})},FA=(c,S,v,Y,Z)=>{},ZA=()=>{for(var c=new Array(256),S=0;S<256;++S)c[S]=String.fromCharCode(S);pg=c},pg,Dg=c=>{for(var S="",v=c;G[v];)S+=pg[G[v++]];return S},ge,Fg=c=>{throw new ge(c)};function gI(c,S,v={}){var Y=S.name;if(c||Fg(`type "${Y}" must have a positive integer typeid pointer`),kg.hasOwnProperty(c)){if(v.ignoreDuplicateRegistrations)return;Fg(`Cannot register type '${Y}' twice`)}if(kg[c]=S,delete Pg[c],Yg.hasOwnProperty(c)){var Z=Yg[c];delete Yg[c],Z.forEach(QA=>QA())}}function Zg(c,S,v={}){if(!("argPackAdvance"in S))throw new TypeError("registerType registeredInstance requires argPackAdvance");return gI(c,S,v)}var SI=8,We=(c,S,v,Y)=>{S=Dg(S),Zg(c,{name:S,fromWireType:function(Z){return!!Z},toWireType:function(Z,QA){return QA?v:Y},argPackAdvance:SI,readValueFromPointer:function(Z){return this.fromWireType(G[Z])},destructorFunction:null})};function GI(){Object.assign(ti.prototype,{get(c){return this.allocated[c]},has(c){return this.allocated[c]!==void 0},allocate(c){var S=this.freelist.pop()||this.allocated.length;return this.allocated[S]=c,S},free(c){this.allocated[c]=void 0,this.freelist.push(c)}})}function ti(){this.allocated=[void 0],this.freelist=[]}var Ci=new ti,XC=c=>{c>=Ci.reserved&&--Ci.get(c).refcount===0&&Ci.free(c)},at=()=>{for(var c=0,S=Ci.reserved;S<Ci.allocated.length;++S)Ci.allocated[S]!==void 0&&++c;return c},mt=()=>{Ci.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Ci.reserved=Ci.allocated.length,e.count_emval_handles=at},cA={toValue:c=>(c||Fg("Cannot use deleted val. handle = "+c),Ci.get(c).value),toHandle:c=>{switch(c){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Ci.allocate({refcount:1,value:c})}}},jA=(c,S)=>{S=Dg(S),Zg(c,{name:S,fromWireType:v=>{var Y=cA.toValue(v);return XC(v),Y},toWireType:(v,Y)=>cA.toHandle(Y),argPackAdvance:SI,readValueFromPointer:Cg,destructorFunction:null})},Ig=(c,S,v)=>{if(c[S].overloadTable===void 0){var Y=c[S];c[S]=function(){return c[S].overloadTable.hasOwnProperty(arguments.length)||Fg(`Function '${v}' called with an invalid number of arguments (${arguments.length}) - expects one of (${c[S].overloadTable})!`),c[S].overloadTable[arguments.length].apply(this,arguments)},c[S].overloadTable=[],c[S].overloadTable[Y.argCount]=Y}},HA=(c,S,v)=>{e.hasOwnProperty(c)?((v===void 0||e[c].overloadTable!==void 0&&e[c].overloadTable[v]!==void 0)&&Fg(`Cannot register public name '${c}' twice`),Ig(e,c,c),e.hasOwnProperty(v)&&Fg(`Cannot register multiple overloads of a function with the same number of arguments (${v})!`),e[c].overloadTable[v]=S):(e[c]=S,v!==void 0&&(e[c].numArguments=v))},rg=(c,S,v)=>{switch(S){case 1:return v?function(Y){return this.fromWireType(N[Y>>0])}:function(Y){return this.fromWireType(G[Y>>0])};case 2:return v?function(Y){return this.fromWireType(R[Y>>1])}:function(Y){return this.fromWireType(J[Y>>1])};case 4:return v?function(Y){return this.fromWireType(q[Y>>2])}:function(Y){return this.fromWireType(T[Y>>2])};default:throw new TypeError(`invalid integer width (${S}): ${c}`)}},bg=(c,S,v,Y)=>{S=Dg(S);function Z(){}Z.values={},Zg(c,{name:S,constructor:Z,fromWireType:function(QA){return this.constructor.values[QA]},toWireType:(QA,gA)=>gA.value,argPackAdvance:SI,readValueFromPointer:rg(S,v,Y),destructorFunction:null}),HA(S,Z)},oe=(c,S)=>Object.defineProperty(S,"name",{value:c}),ue=c=>{var S=fr(c),v=Dg(S);return kt(S),v},Qe=(c,S)=>{var v=kg[c];return v===void 0&&Fg(S+" has unknown type "+ue(c)),v},Ze=(c,S,v)=>{var Y=Qe(c,"enum");S=Dg(S);var Z=Y.constructor,QA=Object.create(Y.constructor.prototype,{value:{value:v},constructor:{value:oe(`${Y.name}_${S}`,function(){})}});Z.values[v]=QA,Z[S]=QA},qe=(c,S)=>{switch(S){case 4:return function(v){return this.fromWireType(P[v>>2])};case 8:return function(v){return this.fromWireType(H[v>>3])};default:throw new TypeError(`invalid float width (${S}): ${c}`)}},Ge=(c,S,v)=>{S=Dg(S),Zg(c,{name:S,fromWireType:Y=>Y,toWireType:(Y,Z)=>Z,argPackAdvance:SI,readValueFromPointer:qe(S,v),destructorFunction:null})};function aI(c,S){if(!(c instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof c} which is not a function`);var v=oe(c.name||"unknownFunctionName",function(){});v.prototype=c.prototype;var Y=new v,Z=c.apply(Y,S);return Z instanceof Object?Z:Y}function Qi(c,S,v,Y,Z,QA){var gA=S.length;gA<2&&Fg("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var fA=S[1]!==null&&v!==null,bA=!1,XA=1;XA<S.length;++XA)if(S[XA]!==null&&S[XA].destructorFunction===void 0){bA=!0;break}for(var Rg=S[0].name!=="void",Jg="",jg="",XA=0;XA<gA-2;++XA)Jg+=(XA!==0?", ":"")+"arg"+XA,jg+=(XA!==0?", ":"")+"arg"+XA+"Wired";var Tg=`
        return function (${Jg}) {
        if (arguments.length !== ${gA-2}) {
          throwBindingError('function ${c} called with ' + arguments.length + ' arguments, expected ${gA-2}');
        }`;bA&&(Tg+=`var destructors = [];
`);var zg=bA?"destructors":"null",Ee=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],UI=[Fg,Y,Z,og,S[0],S[1]];fA&&(Tg+="var thisWired = classParam.toWireType("+zg+`, this);
`);for(var XA=0;XA<gA-2;++XA)Tg+="var arg"+XA+"Wired = argType"+XA+".toWireType("+zg+", arg"+XA+"); // "+S[XA+2].name+`
`,Ee.push("argType"+XA),UI.push(S[XA+2]);if(fA&&(jg="thisWired"+(jg.length>0?", ":"")+jg),Tg+=(Rg||QA?"var rv = ":"")+"invoker(fn"+(jg.length>0?", ":"")+jg+`);
`,bA)Tg+=`runDestructors(destructors);
`;else for(var XA=fA?1:2;XA<S.length;++XA){var lI=XA===1?"thisWired":"arg"+(XA-2)+"Wired";S[XA].destructorFunction!==null&&(Tg+=lI+"_dtor("+lI+"); // "+S[XA].name+`
`,Ee.push(lI+"_dtor"),UI.push(S[XA].destructorFunction))}Rg&&(Tg+=`var ret = retType.fromWireType(rv);
return ret;
`),Tg+=`}
`,Ee.push(Tg);var yg=aI(Function,Ee).apply(null,UI);return oe(c,yg)}var mI=(c,S)=>{for(var v=[],Y=0;Y<c;Y++)v.push(T[S+Y*4>>2]);return v},Ai=(c,S,v)=>{e.hasOwnProperty(c)||Ke("Replacing nonexistant public symbol"),e[c].overloadTable!==void 0&&v!==void 0?e[c].overloadTable[v]=S:(e[c]=S,e[c].argCount=v)},sI=(c,S,v)=>{var Y=e["dynCall_"+c];return v&&v.length?Y.apply(null,[S].concat(v)):Y.call(null,S)},te=[],Ki,zi=c=>{var S=te[c];return S||(c>=te.length&&(te.length=c+1),te[c]=S=Ki.get(c)),S},rt=(c,S,v)=>{if(c.includes("j"))return sI(c,S,v);var Y=zi(S).apply(null,v);return Y},Ne=(c,S)=>{var v=[];return function(){return v.length=0,Object.assign(v,arguments),rt(c,S,v)}},uI=(c,S)=>{c=Dg(c);function v(){return c.includes("j")?Ne(c,S):zi(S)}var Y=v();return typeof Y!="function"&&Fg(`unknown function pointer with signature ${c}: ${S}`),Y},Tt=(c,S)=>{var v=oe(S,function(Y){this.name=S,this.message=Y;var Z=new Error(Y).stack;Z!==void 0&&(this.stack=this.toString()+`
`+Z.replace(/^Error(:[^\n]*)?\n/,""))});return v.prototype=Object.create(c.prototype),v.prototype.constructor=v,v.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},v},vI,st=(c,S)=>{var v=[],Y={};function Z(QA){if(!Y[QA]&&!kg[QA]){if(Pg[QA]){Pg[QA].forEach(Z);return}v.push(QA),Y[QA]=!0}}throw S.forEach(Z),new vI(`${c}: `+v.map(ue).join([", "]))},Bt=c=>{c=c.trim();let S=c.indexOf("(");return S!==-1?c.substr(0,S):c},bI=(c,S,v,Y,Z,QA,gA)=>{var fA=mI(S,v);c=Dg(c),c=Bt(c),Z=uI(Y,Z),HA(c,function(){st(`Cannot call ${c} due to unbound types`,fA)},S-1),Je([],fA,function(bA){var XA=[bA[0],null].concat(bA.slice(1));return Ai(c,Qi(c,XA,null,Z,QA,gA),S-1),[]})},Fe=(c,S,v)=>{switch(S){case 1:return v?Y=>N[Y>>0]:Y=>G[Y>>0];case 2:return v?Y=>R[Y>>1]:Y=>J[Y>>1];case 4:return v?Y=>q[Y>>2]:Y=>T[Y>>2];default:throw new TypeError(`invalid integer width (${S}): ${c}`)}},Qo=(c,S,v,Y,Z)=>{S=Dg(S),Z===-1&&(Z=4294967295);var QA=Rg=>Rg;if(Y===0){var gA=32-8*v;QA=Rg=>Rg<<gA>>>gA}var fA=S.includes("unsigned"),bA=(Rg,Jg)=>{},XA;fA?XA=function(Rg,Jg){return bA(Jg,this.name),Jg>>>0}:XA=function(Rg,Jg){return bA(Jg,this.name),Jg},Zg(c,{name:S,fromWireType:QA,toWireType:XA,argPackAdvance:SI,readValueFromPointer:Fe(S,v,Y!==0),destructorFunction:null})},Ot=(c,S,v)=>{var Y=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Z=Y[S];function QA(gA){var fA=T[gA>>2],bA=T[gA+4>>2];return new Z(N.buffer,bA,fA)}v=Dg(v),Zg(c,{name:v,fromWireType:QA,argPackAdvance:SI,readValueFromPointer:QA},{ignoreDuplicateRegistrations:!0})};function JC(c){return this.fromWireType(T[c>>2])}var di=(c,S,v,Y)=>{if(!(Y>0))return 0;for(var Z=v,QA=v+Y-1,gA=0;gA<c.length;++gA){var fA=c.charCodeAt(gA);if(fA>=55296&&fA<=57343){var bA=c.charCodeAt(++gA);fA=65536+((fA&1023)<<10)|bA&1023}if(fA<=127){if(v>=QA)break;S[v++]=fA}else if(fA<=2047){if(v+1>=QA)break;S[v++]=192|fA>>6,S[v++]=128|fA&63}else if(fA<=65535){if(v+2>=QA)break;S[v++]=224|fA>>12,S[v++]=128|fA>>6&63,S[v++]=128|fA&63}else{if(v+3>=QA)break;S[v++]=240|fA>>18,S[v++]=128|fA>>12&63,S[v++]=128|fA>>6&63,S[v++]=128|fA&63}}return S[v]=0,v-Z},V=(c,S,v)=>di(c,G,S,v),oA=c=>{for(var S=0,v=0;v<c.length;++v){var Y=c.charCodeAt(v);Y<=127?S++:Y<=2047?S+=2:Y>=55296&&Y<=57343?(S+=4,++v):S+=3}return S},MA=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,nA=(c,S,v)=>{for(var Y=S+v,Z=S;c[Z]&&!(Z>=Y);)++Z;if(Z-S>16&&c.buffer&&MA)return MA.decode(c.subarray(S,Z));for(var QA="";S<Z;){var gA=c[S++];if(!(gA&128)){QA+=String.fromCharCode(gA);continue}var fA=c[S++]&63;if((gA&224)==192){QA+=String.fromCharCode((gA&31)<<6|fA);continue}var bA=c[S++]&63;if((gA&240)==224?gA=(gA&15)<<12|fA<<6|bA:gA=(gA&7)<<18|fA<<12|bA<<6|c[S++]&63,gA<65536)QA+=String.fromCharCode(gA);else{var XA=gA-65536;QA+=String.fromCharCode(55296|XA>>10,56320|XA&1023)}}return QA},JA=(c,S)=>c?nA(G,c,S):"",fg=(c,S)=>{S=Dg(S);var v=S==="std::string";Zg(c,{name:S,fromWireType(Y){var Z=T[Y>>2],QA=Y+4,gA;if(v)for(var fA=QA,bA=0;bA<=Z;++bA){var XA=QA+bA;if(bA==Z||G[XA]==0){var Rg=XA-fA,Jg=JA(fA,Rg);gA===void 0?gA=Jg:(gA+="\0",gA+=Jg),fA=XA+1}}else{for(var jg=new Array(Z),bA=0;bA<Z;++bA)jg[bA]=String.fromCharCode(G[QA+bA]);gA=jg.join("")}return kt(Y),gA},toWireType(Y,Z){Z instanceof ArrayBuffer&&(Z=new Uint8Array(Z));var QA,gA=typeof Z=="string";gA||Z instanceof Uint8Array||Z instanceof Uint8ClampedArray||Z instanceof Int8Array||Fg("Cannot pass non-string to std::string"),v&&gA?QA=oA(Z):QA=Z.length;var fA=Mt(4+QA+1),bA=fA+4;if(T[fA>>2]=QA,v&&gA)V(Z,bA,QA+1);else if(gA)for(var XA=0;XA<QA;++XA){var Rg=Z.charCodeAt(XA);Rg>255&&(kt(bA),Fg("String has UTF-16 code units that do not fit in 8 bits")),G[bA+XA]=Rg}else for(var XA=0;XA<QA;++XA)G[bA+XA]=Z[XA];return Y!==null&&Y.push(kt,fA),fA},argPackAdvance:SI,readValueFromPointer:JC,destructorFunction(Y){kt(Y)}})},CC=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,zI=(c,S)=>{for(var v=c,Y=v>>1,Z=Y+S/2;!(Y>=Z)&&J[Y];)++Y;if(v=Y<<1,v-c>32&&CC)return CC.decode(G.subarray(c,v));for(var QA="",gA=0;!(gA>=S/2);++gA){var fA=R[c+gA*2>>1];if(fA==0)break;QA+=String.fromCharCode(fA)}return QA},$C=(c,S,v)=>{if(v===void 0&&(v=2147483647),v<2)return 0;v-=2;for(var Y=S,Z=v<c.length*2?v/2:c.length,QA=0;QA<Z;++QA){var gA=c.charCodeAt(QA);R[S>>1]=gA,S+=2}return R[S>>1]=0,S-Y},qC=c=>c.length*2,_t=(c,S)=>{for(var v=0,Y="";!(v>=S/4);){var Z=q[c+v*4>>2];if(Z==0)break;if(++v,Z>=65536){var QA=Z-65536;Y+=String.fromCharCode(55296|QA>>10,56320|QA&1023)}else Y+=String.fromCharCode(Z)}return Y},gi=(c,S,v)=>{if(v===void 0&&(v=2147483647),v<4)return 0;for(var Y=S,Z=Y+v-4,QA=0;QA<c.length;++QA){var gA=c.charCodeAt(QA);if(gA>=55296&&gA<=57343){var fA=c.charCodeAt(++QA);gA=65536+((gA&1023)<<10)|fA&1023}if(q[S>>2]=gA,S+=4,S+4>Z)break}return q[S>>2]=0,S-Y},Lo=c=>{for(var S=0,v=0;v<c.length;++v){var Y=c.charCodeAt(v);Y>=55296&&Y<=57343&&++v,S+=4}return S},bC=(c,S,v)=>{v=Dg(v);var Y,Z,QA,gA,fA;S===2?(Y=zI,Z=$C,gA=qC,QA=()=>J,fA=1):S===4&&(Y=_t,Z=gi,gA=Lo,QA=()=>T,fA=2),Zg(c,{name:v,fromWireType:bA=>{for(var XA=T[bA>>2],Rg=QA(),Jg,jg=bA+4,Tg=0;Tg<=XA;++Tg){var zg=bA+4+Tg*S;if(Tg==XA||Rg[zg>>fA]==0){var Ee=zg-jg,UI=Y(jg,Ee);Jg===void 0?Jg=UI:(Jg+="\0",Jg+=UI),jg=zg+S}}return kt(bA),Jg},toWireType:(bA,XA)=>{typeof XA!="string"&&Fg(`Cannot pass non-string to C++ string type ${v}`);var Rg=gA(XA),Jg=Mt(4+Rg+S);return T[Jg>>2]=Rg>>fA,Z(XA,Jg+4,Rg+S),bA!==null&&bA.push(kt,Jg),Jg},argPackAdvance:SI,readValueFromPointer:Cg,destructorFunction(bA){kt(bA)}})},Qt=(c,S,v,Y,Z,QA)=>{Eg[c]={name:Dg(S),rawConstructor:uI(v,Y),rawDestructor:uI(Z,QA),elements:[]}},Vi=(c,S,v,Y,Z,QA,gA,fA,bA)=>{Eg[c].elements.push({getterReturnType:S,getter:uI(v,Y),getterContext:Z,setterArgumentType:QA,setter:uI(gA,fA),setterContext:bA})},xo=(c,S)=>{S=Dg(S),Zg(c,{isVoid:!0,name:S,argPackAdvance:0,fromWireType:()=>{},toWireType:(v,Y)=>{}})},Pt=()=>{$A("")},dC=(c,S,v)=>G.copyWithin(c,S,S+v),LC=()=>2147483648,Er=c=>{var S=p.buffer,v=(c-S.byteLength+65535)/65536;try{return p.grow(v),eA(),1}catch{}},wa=c=>{var S=G.length;c>>>=0;var v=LC();if(c>v)return!1;for(var Y=(bA,XA)=>bA+(XA-bA%XA)%XA,Z=1;Z<=4;Z*=2){var QA=S*(1+.2/Z);QA=Math.min(QA,c+100663296);var gA=Math.min(v,Y(Math.max(c,QA),65536)),fA=Er(gA);if(fA)return!0}return!1},wi={},DI=()=>o||"./this.program",jt=()=>{if(!jt.strings){var c=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",S={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:c,_:DI()};for(var v in wi)wi[v]===void 0?delete S[v]:S[v]=wi[v];var Y=[];for(var v in S)Y.push(`${v}=${S[v]}`);jt.strings=Y}return jt.strings},Ds=(c,S)=>{for(var v=0;v<c.length;++v)N[S++>>0]=c.charCodeAt(v);N[S>>0]=0},iI={isAbs:c=>c.charAt(0)==="/",splitPath:c=>{var S=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return S.exec(c).slice(1)},normalizeArray:(c,S)=>{for(var v=0,Y=c.length-1;Y>=0;Y--){var Z=c[Y];Z==="."?c.splice(Y,1):Z===".."?(c.splice(Y,1),v++):v&&(c.splice(Y,1),v--)}if(S)for(;v;v--)c.unshift("..");return c},normalize:c=>{var S=iI.isAbs(c),v=c.substr(-1)==="/";return c=iI.normalizeArray(c.split("/").filter(Y=>!!Y),!S).join("/"),!c&&!S&&(c="."),c&&v&&(c+="/"),(S?"/":"")+c},dirname:c=>{var S=iI.splitPath(c),v=S[0],Y=S[1];return!v&&!Y?".":(Y&&(Y=Y.substr(0,Y.length-1)),v+Y)},basename:c=>{if(c==="/")return"/";c=iI.normalize(c),c=c.replace(/\/$/,"");var S=c.lastIndexOf("/");return S===-1?c:c.substr(S+1)},join:function(){var c=Array.prototype.slice.call(arguments);return iI.normalize(c.join("/"))},join2:(c,S)=>iI.normalize(c+"/"+S)},hr=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return c=>crypto.getRandomValues(c);$A("initRandomDevice")},lr=c=>(lr=hr())(c),he={resolve:function(){for(var c="",S=!1,v=arguments.length-1;v>=-1&&!S;v--){var Y=v>=0?arguments[v]:AA.cwd();if(typeof Y!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!Y)return"";c=Y+"/"+c,S=iI.isAbs(Y)}return c=iI.normalizeArray(c.split("/").filter(Z=>!!Z),!S).join("/"),(S?"/":"")+c||"."},relative:(c,S)=>{c=he.resolve(c).substr(1),S=he.resolve(S).substr(1);function v(XA){for(var Rg=0;Rg<XA.length&&XA[Rg]==="";Rg++);for(var Jg=XA.length-1;Jg>=0&&XA[Jg]==="";Jg--);return Rg>Jg?[]:XA.slice(Rg,Jg-Rg+1)}for(var Y=v(c.split("/")),Z=v(S.split("/")),QA=Math.min(Y.length,Z.length),gA=QA,fA=0;fA<QA;fA++)if(Y[fA]!==Z[fA]){gA=fA;break}for(var bA=[],fA=gA;fA<Y.length;fA++)bA.push("..");return bA=bA.concat(Z.slice(gA)),bA.join("/")}},xC=[];function Ao(c,S,v){var Y=v>0?v:oA(c)+1,Z=new Array(Y),QA=di(c,Z,0,Z.length);return S&&(Z.length=QA),Z}var Yo=()=>{if(!xC.length){var c=null;if(typeof window<"u"&&typeof window.prompt=="function"?(c=window.prompt("Input: "),c!==null&&(c+=`
`)):typeof readline=="function"&&(c=readline(),c!==null&&(c+=`
`)),!c)return null;xC=Ao(c,!0)}return xC.shift()},Wt={ttys:[],init(){},shutdown(){},register(c,S){Wt.ttys[c]={input:[],output:[],ops:S},AA.registerDevice(c,Wt.stream_ops)},stream_ops:{open(c){var S=Wt.ttys[c.node.rdev];if(!S)throw new AA.ErrnoError(43);c.tty=S,c.seekable=!1},close(c){c.tty.ops.fsync(c.tty)},fsync(c){c.tty.ops.fsync(c.tty)},read(c,S,v,Y,Z){if(!c.tty||!c.tty.ops.get_char)throw new AA.ErrnoError(60);for(var QA=0,gA=0;gA<Y;gA++){var fA;try{fA=c.tty.ops.get_char(c.tty)}catch{throw new AA.ErrnoError(29)}if(fA===void 0&&QA===0)throw new AA.ErrnoError(6);if(fA==null)break;QA++,S[v+gA]=fA}return QA&&(c.node.timestamp=Date.now()),QA},write(c,S,v,Y,Z){if(!c.tty||!c.tty.ops.put_char)throw new AA.ErrnoError(60);try{for(var QA=0;QA<Y;QA++)c.tty.ops.put_char(c.tty,S[v+QA])}catch{throw new AA.ErrnoError(29)}return Y&&(c.node.timestamp=Date.now()),QA}},default_tty_ops:{get_char(c){return Yo()},put_char(c,S){S===null||S===10?(h(nA(c.output,0)),c.output=[]):S!=0&&c.output.push(S)},fsync(c){c.output&&c.output.length>0&&(h(nA(c.output,0)),c.output=[])},ioctl_tcgets(c){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(c,S,v){return 0},ioctl_tiocgwinsz(c){return[24,80]}},default_tty1_ops:{put_char(c,S){S===null||S===10?(u(nA(c.output,0)),c.output=[]):S!=0&&c.output.push(S)},fsync(c){c.output&&c.output.length>0&&(u(nA(c.output,0)),c.output=[])}}},cr=c=>{$A()},Me={ops_table:null,mount(c){return Me.createNode(null,"/",16895,0)},createNode(c,S,v,Y){if(AA.isBlkdev(v)||AA.isFIFO(v))throw new AA.ErrnoError(63);Me.ops_table||(Me.ops_table={dir:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,lookup:Me.node_ops.lookup,mknod:Me.node_ops.mknod,rename:Me.node_ops.rename,unlink:Me.node_ops.unlink,rmdir:Me.node_ops.rmdir,readdir:Me.node_ops.readdir,symlink:Me.node_ops.symlink},stream:{llseek:Me.stream_ops.llseek}},file:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:{llseek:Me.stream_ops.llseek,read:Me.stream_ops.read,write:Me.stream_ops.write,allocate:Me.stream_ops.allocate,mmap:Me.stream_ops.mmap,msync:Me.stream_ops.msync}},link:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,readlink:Me.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:AA.chrdev_stream_ops}});var Z=AA.createNode(c,S,v,Y);return AA.isDir(Z.mode)?(Z.node_ops=Me.ops_table.dir.node,Z.stream_ops=Me.ops_table.dir.stream,Z.contents={}):AA.isFile(Z.mode)?(Z.node_ops=Me.ops_table.file.node,Z.stream_ops=Me.ops_table.file.stream,Z.usedBytes=0,Z.contents=null):AA.isLink(Z.mode)?(Z.node_ops=Me.ops_table.link.node,Z.stream_ops=Me.ops_table.link.stream):AA.isChrdev(Z.mode)&&(Z.node_ops=Me.ops_table.chrdev.node,Z.stream_ops=Me.ops_table.chrdev.stream),Z.timestamp=Date.now(),c&&(c.contents[S]=Z,c.timestamp=Z.timestamp),Z},getFileDataAsTypedArray(c){return c.contents?c.contents.subarray?c.contents.subarray(0,c.usedBytes):new Uint8Array(c.contents):new Uint8Array(0)},expandFileStorage(c,S){var v=c.contents?c.contents.length:0;if(!(v>=S)){var Y=1024*1024;S=Math.max(S,v*(v<Y?2:1.125)>>>0),v!=0&&(S=Math.max(S,256));var Z=c.contents;c.contents=new Uint8Array(S),c.usedBytes>0&&c.contents.set(Z.subarray(0,c.usedBytes),0)}},resizeFileStorage(c,S){if(c.usedBytes!=S)if(S==0)c.contents=null,c.usedBytes=0;else{var v=c.contents;c.contents=new Uint8Array(S),v&&c.contents.set(v.subarray(0,Math.min(S,c.usedBytes))),c.usedBytes=S}},node_ops:{getattr(c){var S={};return S.dev=AA.isChrdev(c.mode)?c.id:1,S.ino=c.id,S.mode=c.mode,S.nlink=1,S.uid=0,S.gid=0,S.rdev=c.rdev,AA.isDir(c.mode)?S.size=4096:AA.isFile(c.mode)?S.size=c.usedBytes:AA.isLink(c.mode)?S.size=c.link.length:S.size=0,S.atime=new Date(c.timestamp),S.mtime=new Date(c.timestamp),S.ctime=new Date(c.timestamp),S.blksize=4096,S.blocks=Math.ceil(S.size/S.blksize),S},setattr(c,S){S.mode!==void 0&&(c.mode=S.mode),S.timestamp!==void 0&&(c.timestamp=S.timestamp),S.size!==void 0&&Me.resizeFileStorage(c,S.size)},lookup(c,S){throw AA.genericErrors[44]},mknod(c,S,v,Y){return Me.createNode(c,S,v,Y)},rename(c,S,v){if(AA.isDir(c.mode)){var Y;try{Y=AA.lookupNode(S,v)}catch{}if(Y)for(var Z in Y.contents)throw new AA.ErrnoError(55)}delete c.parent.contents[c.name],c.parent.timestamp=Date.now(),c.name=v,S.contents[v]=c,S.timestamp=c.parent.timestamp,c.parent=S},unlink(c,S){delete c.contents[S],c.timestamp=Date.now()},rmdir(c,S){var v=AA.lookupNode(c,S);for(var Y in v.contents)throw new AA.ErrnoError(55);delete c.contents[S],c.timestamp=Date.now()},readdir(c){var S=[".",".."];for(var v in c.contents)c.contents.hasOwnProperty(v)&&S.push(v);return S},symlink(c,S,v){var Y=Me.createNode(c,S,41471,0);return Y.link=v,Y},readlink(c){if(!AA.isLink(c.mode))throw new AA.ErrnoError(28);return c.link}},stream_ops:{read(c,S,v,Y,Z){var QA=c.node.contents;if(Z>=c.node.usedBytes)return 0;var gA=Math.min(c.node.usedBytes-Z,Y);if(gA>8&&QA.subarray)S.set(QA.subarray(Z,Z+gA),v);else for(var fA=0;fA<gA;fA++)S[v+fA]=QA[Z+fA];return gA},write(c,S,v,Y,Z,QA){if(S.buffer===N.buffer&&(QA=!1),!Y)return 0;var gA=c.node;if(gA.timestamp=Date.now(),S.subarray&&(!gA.contents||gA.contents.subarray)){if(QA)return gA.contents=S.subarray(v,v+Y),gA.usedBytes=Y,Y;if(gA.usedBytes===0&&Z===0)return gA.contents=S.slice(v,v+Y),gA.usedBytes=Y,Y;if(Z+Y<=gA.usedBytes)return gA.contents.set(S.subarray(v,v+Y),Z),Y}if(Me.expandFileStorage(gA,Z+Y),gA.contents.subarray&&S.subarray)gA.contents.set(S.subarray(v,v+Y),Z);else for(var fA=0;fA<Y;fA++)gA.contents[Z+fA]=S[v+fA];return gA.usedBytes=Math.max(gA.usedBytes,Z+Y),Y},llseek(c,S,v){var Y=S;if(v===1?Y+=c.position:v===2&&AA.isFile(c.node.mode)&&(Y+=c.node.usedBytes),Y<0)throw new AA.ErrnoError(28);return Y},allocate(c,S,v){Me.expandFileStorage(c.node,S+v),c.node.usedBytes=Math.max(c.node.usedBytes,S+v)},mmap(c,S,v,Y,Z){if(!AA.isFile(c.node.mode))throw new AA.ErrnoError(43);var QA,gA,fA=c.node.contents;if(!(Z&2)&&fA.buffer===N.buffer)gA=!1,QA=fA.byteOffset;else{if((v>0||v+S<fA.length)&&(fA.subarray?fA=fA.subarray(v,v+S):fA=Array.prototype.slice.call(fA,v,v+S)),gA=!0,QA=cr(S),!QA)throw new AA.ErrnoError(48);N.set(fA,QA)}return{ptr:QA,allocated:gA}},msync(c,S,v,Y,Z){return Me.stream_ops.write(c,S,0,Y,v,!1),0}}},dr=(c,S,v,Y)=>{var Z=Y?"":`al ${c}`;E(c,QA=>{U(QA,`Loading data file "${c}" failed (no arrayBuffer).`),S(new Uint8Array(QA)),Z&&sg(Z)},QA=>{if(v)v();else throw`Loading data file "${c}" failed.`}),Z&&YA(Z)},Ho=(c,S,v,Y,Z,QA)=>{AA.createDataFile(c,S,v,Y,Z,QA)},ur=e.preloadPlugins||[],uC=(c,S,v,Y)=>{typeof Browser<"u"&&Browser.init();var Z=!1;return ur.forEach(QA=>{Z||QA.canHandle(S)&&(QA.handle(c,S,v,Y),Z=!0)}),Z},fa=(c,S,v,Y,Z,QA,gA,fA,bA,XA)=>{var Rg=S?he.resolve(iI.join2(c,S)):c,Jg=`cp ${Rg}`;function jg(Tg){function zg(Ee){XA&&XA(),fA||Ho(c,S,Ee,Y,Z,bA),QA&&QA(),sg(Jg)}uC(Tg,Rg,zg,()=>{gA&&gA(),sg(Jg)})||zg(Tg)}YA(Jg),typeof v=="string"?dr(v,Tg=>jg(Tg),gA):jg(v)},no=c=>{var S={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},v=S[c];if(typeof v>"u")throw new Error(`Unknown file open mode: ${c}`);return v},DC=(c,S)=>{var v=0;return c&&(v|=365),S&&(v|=146),v},AA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(c,S={}){if(c=he.resolve(c),!c)return{path:"",node:null};var v={follow_mount:!0,recurse_count:0};if(S=Object.assign(v,S),S.recurse_count>8)throw new AA.ErrnoError(32);for(var Y=c.split("/").filter(Jg=>!!Jg),Z=AA.root,QA="/",gA=0;gA<Y.length;gA++){var fA=gA===Y.length-1;if(fA&&S.parent)break;if(Z=AA.lookupNode(Z,Y[gA]),QA=iI.join2(QA,Y[gA]),AA.isMountpoint(Z)&&(!fA||fA&&S.follow_mount)&&(Z=Z.mounted.root),!fA||S.follow)for(var bA=0;AA.isLink(Z.mode);){var XA=AA.readlink(QA);QA=he.resolve(iI.dirname(QA),XA);var Rg=AA.lookupPath(QA,{recurse_count:S.recurse_count+1});if(Z=Rg.node,bA++>40)throw new AA.ErrnoError(32)}}return{path:QA,node:Z}},getPath(c){for(var S;;){if(AA.isRoot(c)){var v=c.mount.mountpoint;return S?v[v.length-1]!=="/"?`${v}/${S}`:v+S:v}S=S?`${c.name}/${S}`:c.name,c=c.parent}},hashName(c,S){for(var v=0,Y=0;Y<S.length;Y++)v=(v<<5)-v+S.charCodeAt(Y)|0;return(c+v>>>0)%AA.nameTable.length},hashAddNode(c){var S=AA.hashName(c.parent.id,c.name);c.name_next=AA.nameTable[S],AA.nameTable[S]=c},hashRemoveNode(c){var S=AA.hashName(c.parent.id,c.name);if(AA.nameTable[S]===c)AA.nameTable[S]=c.name_next;else for(var v=AA.nameTable[S];v;){if(v.name_next===c){v.name_next=c.name_next;break}v=v.name_next}},lookupNode(c,S){var v=AA.mayLookup(c);if(v)throw new AA.ErrnoError(v,c);for(var Y=AA.hashName(c.id,S),Z=AA.nameTable[Y];Z;Z=Z.name_next){var QA=Z.name;if(Z.parent.id===c.id&&QA===S)return Z}return AA.lookup(c,S)},createNode(c,S,v,Y){var Z=new AA.FSNode(c,S,v,Y);return AA.hashAddNode(Z),Z},destroyNode(c){AA.hashRemoveNode(c)},isRoot(c){return c===c.parent},isMountpoint(c){return!!c.mounted},isFile(c){return(c&61440)===32768},isDir(c){return(c&61440)===16384},isLink(c){return(c&61440)===40960},isChrdev(c){return(c&61440)===8192},isBlkdev(c){return(c&61440)===24576},isFIFO(c){return(c&61440)===4096},isSocket(c){return(c&49152)===49152},flagsToPermissionString(c){var S=["r","w","rw"][c&3];return c&512&&(S+="w"),S},nodePermissions(c,S){return AA.ignorePermissions?0:S.includes("r")&&!(c.mode&292)||S.includes("w")&&!(c.mode&146)||S.includes("x")&&!(c.mode&73)?2:0},mayLookup(c){var S=AA.nodePermissions(c,"x");return S||(c.node_ops.lookup?0:2)},mayCreate(c,S){try{var v=AA.lookupNode(c,S);return 20}catch{}return AA.nodePermissions(c,"wx")},mayDelete(c,S,v){var Y;try{Y=AA.lookupNode(c,S)}catch(QA){return QA.errno}var Z=AA.nodePermissions(c,"wx");if(Z)return Z;if(v){if(!AA.isDir(Y.mode))return 54;if(AA.isRoot(Y)||AA.getPath(Y)===AA.cwd())return 10}else if(AA.isDir(Y.mode))return 31;return 0},mayOpen(c,S){return c?AA.isLink(c.mode)?32:AA.isDir(c.mode)&&(AA.flagsToPermissionString(S)!=="r"||S&512)?31:AA.nodePermissions(c,AA.flagsToPermissionString(S)):44},MAX_OPEN_FDS:4096,nextfd(){for(var c=0;c<=AA.MAX_OPEN_FDS;c++)if(!AA.streams[c])return c;throw new AA.ErrnoError(33)},getStreamChecked(c){var S=AA.getStream(c);if(!S)throw new AA.ErrnoError(8);return S},getStream:c=>AA.streams[c],createStream(c,S=-1){return AA.FSStream||(AA.FSStream=function(){this.shared={}},AA.FSStream.prototype={},Object.defineProperties(AA.FSStream.prototype,{object:{get(){return this.node},set(v){this.node=v}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(v){this.shared.flags=v}},position:{get(){return this.shared.position},set(v){this.shared.position=v}}})),c=Object.assign(new AA.FSStream,c),S==-1&&(S=AA.nextfd()),c.fd=S,AA.streams[S]=c,c},closeStream(c){AA.streams[c]=null},chrdev_stream_ops:{open(c){var S=AA.getDevice(c.node.rdev);c.stream_ops=S.stream_ops,c.stream_ops.open&&c.stream_ops.open(c)},llseek(){throw new AA.ErrnoError(70)}},major:c=>c>>8,minor:c=>c&255,makedev:(c,S)=>c<<8|S,registerDevice(c,S){AA.devices[c]={stream_ops:S}},getDevice:c=>AA.devices[c],getMounts(c){for(var S=[],v=[c];v.length;){var Y=v.pop();S.push(Y),v.push.apply(v,Y.mounts)}return S},syncfs(c,S){typeof c=="function"&&(S=c,c=!1),AA.syncFSRequests++,AA.syncFSRequests>1&&u(`warning: ${AA.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var v=AA.getMounts(AA.root.mount),Y=0;function Z(gA){return AA.syncFSRequests--,S(gA)}function QA(gA){if(gA)return QA.errored?void 0:(QA.errored=!0,Z(gA));++Y>=v.length&&Z(null)}v.forEach(gA=>{if(!gA.type.syncfs)return QA(null);gA.type.syncfs(gA,c,QA)})},mount(c,S,v){var Y=v==="/",Z=!v,QA;if(Y&&AA.root)throw new AA.ErrnoError(10);if(!Y&&!Z){var gA=AA.lookupPath(v,{follow_mount:!1});if(v=gA.path,QA=gA.node,AA.isMountpoint(QA))throw new AA.ErrnoError(10);if(!AA.isDir(QA.mode))throw new AA.ErrnoError(54)}var fA={type:c,opts:S,mountpoint:v,mounts:[]},bA=c.mount(fA);return bA.mount=fA,fA.root=bA,Y?AA.root=bA:QA&&(QA.mounted=fA,QA.mount&&QA.mount.mounts.push(fA)),bA},unmount(c){var S=AA.lookupPath(c,{follow_mount:!1});if(!AA.isMountpoint(S.node))throw new AA.ErrnoError(28);var v=S.node,Y=v.mounted,Z=AA.getMounts(Y);Object.keys(AA.nameTable).forEach(gA=>{for(var fA=AA.nameTable[gA];fA;){var bA=fA.name_next;Z.includes(fA.mount)&&AA.destroyNode(fA),fA=bA}}),v.mounted=null;var QA=v.mount.mounts.indexOf(Y);v.mount.mounts.splice(QA,1)},lookup(c,S){return c.node_ops.lookup(c,S)},mknod(c,S,v){var Y=AA.lookupPath(c,{parent:!0}),Z=Y.node,QA=iI.basename(c);if(!QA||QA==="."||QA==="..")throw new AA.ErrnoError(28);var gA=AA.mayCreate(Z,QA);if(gA)throw new AA.ErrnoError(gA);if(!Z.node_ops.mknod)throw new AA.ErrnoError(63);return Z.node_ops.mknod(Z,QA,S,v)},create(c,S){return S=S!==void 0?S:438,S&=4095,S|=32768,AA.mknod(c,S,0)},mkdir(c,S){return S=S!==void 0?S:511,S&=1023,S|=16384,AA.mknod(c,S,0)},mkdirTree(c,S){for(var v=c.split("/"),Y="",Z=0;Z<v.length;++Z)if(v[Z]){Y+="/"+v[Z];try{AA.mkdir(Y,S)}catch(QA){if(QA.errno!=20)throw QA}}},mkdev(c,S,v){return typeof v>"u"&&(v=S,S=438),S|=8192,AA.mknod(c,S,v)},symlink(c,S){if(!he.resolve(c))throw new AA.ErrnoError(44);var v=AA.lookupPath(S,{parent:!0}),Y=v.node;if(!Y)throw new AA.ErrnoError(44);var Z=iI.basename(S),QA=AA.mayCreate(Y,Z);if(QA)throw new AA.ErrnoError(QA);if(!Y.node_ops.symlink)throw new AA.ErrnoError(63);return Y.node_ops.symlink(Y,Z,c)},rename(c,S){var v=iI.dirname(c),Y=iI.dirname(S),Z=iI.basename(c),QA=iI.basename(S),gA,fA,bA;if(gA=AA.lookupPath(c,{parent:!0}),fA=gA.node,gA=AA.lookupPath(S,{parent:!0}),bA=gA.node,!fA||!bA)throw new AA.ErrnoError(44);if(fA.mount!==bA.mount)throw new AA.ErrnoError(75);var XA=AA.lookupNode(fA,Z),Rg=he.relative(c,Y);if(Rg.charAt(0)!==".")throw new AA.ErrnoError(28);if(Rg=he.relative(S,v),Rg.charAt(0)!==".")throw new AA.ErrnoError(55);var Jg;try{Jg=AA.lookupNode(bA,QA)}catch{}if(XA!==Jg){var jg=AA.isDir(XA.mode),Tg=AA.mayDelete(fA,Z,jg);if(Tg)throw new AA.ErrnoError(Tg);if(Tg=Jg?AA.mayDelete(bA,QA,jg):AA.mayCreate(bA,QA),Tg)throw new AA.ErrnoError(Tg);if(!fA.node_ops.rename)throw new AA.ErrnoError(63);if(AA.isMountpoint(XA)||Jg&&AA.isMountpoint(Jg))throw new AA.ErrnoError(10);if(bA!==fA&&(Tg=AA.nodePermissions(fA,"w"),Tg))throw new AA.ErrnoError(Tg);AA.hashRemoveNode(XA);try{fA.node_ops.rename(XA,bA,QA)}catch(zg){throw zg}finally{AA.hashAddNode(XA)}}},rmdir(c){var S=AA.lookupPath(c,{parent:!0}),v=S.node,Y=iI.basename(c),Z=AA.lookupNode(v,Y),QA=AA.mayDelete(v,Y,!0);if(QA)throw new AA.ErrnoError(QA);if(!v.node_ops.rmdir)throw new AA.ErrnoError(63);if(AA.isMountpoint(Z))throw new AA.ErrnoError(10);v.node_ops.rmdir(v,Y),AA.destroyNode(Z)},readdir(c){var S=AA.lookupPath(c,{follow:!0}),v=S.node;if(!v.node_ops.readdir)throw new AA.ErrnoError(54);return v.node_ops.readdir(v)},unlink(c){var S=AA.lookupPath(c,{parent:!0}),v=S.node;if(!v)throw new AA.ErrnoError(44);var Y=iI.basename(c),Z=AA.lookupNode(v,Y),QA=AA.mayDelete(v,Y,!1);if(QA)throw new AA.ErrnoError(QA);if(!v.node_ops.unlink)throw new AA.ErrnoError(63);if(AA.isMountpoint(Z))throw new AA.ErrnoError(10);v.node_ops.unlink(v,Y),AA.destroyNode(Z)},readlink(c){var S=AA.lookupPath(c),v=S.node;if(!v)throw new AA.ErrnoError(44);if(!v.node_ops.readlink)throw new AA.ErrnoError(28);return he.resolve(AA.getPath(v.parent),v.node_ops.readlink(v))},stat(c,S){var v=AA.lookupPath(c,{follow:!S}),Y=v.node;if(!Y)throw new AA.ErrnoError(44);if(!Y.node_ops.getattr)throw new AA.ErrnoError(63);return Y.node_ops.getattr(Y)},lstat(c){return AA.stat(c,!0)},chmod(c,S,v){var Y;if(typeof c=="string"){var Z=AA.lookupPath(c,{follow:!v});Y=Z.node}else Y=c;if(!Y.node_ops.setattr)throw new AA.ErrnoError(63);Y.node_ops.setattr(Y,{mode:S&4095|Y.mode&-4096,timestamp:Date.now()})},lchmod(c,S){AA.chmod(c,S,!0)},fchmod(c,S){var v=AA.getStreamChecked(c);AA.chmod(v.node,S)},chown(c,S,v,Y){var Z;if(typeof c=="string"){var QA=AA.lookupPath(c,{follow:!Y});Z=QA.node}else Z=c;if(!Z.node_ops.setattr)throw new AA.ErrnoError(63);Z.node_ops.setattr(Z,{timestamp:Date.now()})},lchown(c,S,v){AA.chown(c,S,v,!0)},fchown(c,S,v){var Y=AA.getStreamChecked(c);AA.chown(Y.node,S,v)},truncate(c,S){if(S<0)throw new AA.ErrnoError(28);var v;if(typeof c=="string"){var Y=AA.lookupPath(c,{follow:!0});v=Y.node}else v=c;if(!v.node_ops.setattr)throw new AA.ErrnoError(63);if(AA.isDir(v.mode))throw new AA.ErrnoError(31);if(!AA.isFile(v.mode))throw new AA.ErrnoError(28);var Z=AA.nodePermissions(v,"w");if(Z)throw new AA.ErrnoError(Z);v.node_ops.setattr(v,{size:S,timestamp:Date.now()})},ftruncate(c,S){var v=AA.getStreamChecked(c);if(!(v.flags&2097155))throw new AA.ErrnoError(28);AA.truncate(v.node,S)},utime(c,S,v){var Y=AA.lookupPath(c,{follow:!0}),Z=Y.node;Z.node_ops.setattr(Z,{timestamp:Math.max(S,v)})},open(c,S,v){if(c==="")throw new AA.ErrnoError(44);S=typeof S=="string"?no(S):S,v=typeof v>"u"?438:v,S&64?v=v&4095|32768:v=0;var Y;if(typeof c=="object")Y=c;else{c=iI.normalize(c);try{var Z=AA.lookupPath(c,{follow:!(S&131072)});Y=Z.node}catch{}}var QA=!1;if(S&64)if(Y){if(S&128)throw new AA.ErrnoError(20)}else Y=AA.mknod(c,v,0),QA=!0;if(!Y)throw new AA.ErrnoError(44);if(AA.isChrdev(Y.mode)&&(S&=-513),S&65536&&!AA.isDir(Y.mode))throw new AA.ErrnoError(54);if(!QA){var gA=AA.mayOpen(Y,S);if(gA)throw new AA.ErrnoError(gA)}S&512&&!QA&&AA.truncate(Y,0),S&=-131713;var fA=AA.createStream({node:Y,path:AA.getPath(Y),flags:S,seekable:!0,position:0,stream_ops:Y.stream_ops,ungotten:[],error:!1});return fA.stream_ops.open&&fA.stream_ops.open(fA),e.logReadFiles&&!(S&1)&&(AA.readFiles||(AA.readFiles={}),c in AA.readFiles||(AA.readFiles[c]=1)),fA},close(c){if(AA.isClosed(c))throw new AA.ErrnoError(8);c.getdents&&(c.getdents=null);try{c.stream_ops.close&&c.stream_ops.close(c)}catch(S){throw S}finally{AA.closeStream(c.fd)}c.fd=null},isClosed(c){return c.fd===null},llseek(c,S,v){if(AA.isClosed(c))throw new AA.ErrnoError(8);if(!c.seekable||!c.stream_ops.llseek)throw new AA.ErrnoError(70);if(v!=0&&v!=1&&v!=2)throw new AA.ErrnoError(28);return c.position=c.stream_ops.llseek(c,S,v),c.ungotten=[],c.position},read(c,S,v,Y,Z){if(Y<0||Z<0)throw new AA.ErrnoError(28);if(AA.isClosed(c))throw new AA.ErrnoError(8);if((c.flags&2097155)===1)throw new AA.ErrnoError(8);if(AA.isDir(c.node.mode))throw new AA.ErrnoError(31);if(!c.stream_ops.read)throw new AA.ErrnoError(28);var QA=typeof Z<"u";if(!QA)Z=c.position;else if(!c.seekable)throw new AA.ErrnoError(70);var gA=c.stream_ops.read(c,S,v,Y,Z);return QA||(c.position+=gA),gA},write(c,S,v,Y,Z,QA){if(Y<0||Z<0)throw new AA.ErrnoError(28);if(AA.isClosed(c))throw new AA.ErrnoError(8);if(!(c.flags&2097155))throw new AA.ErrnoError(8);if(AA.isDir(c.node.mode))throw new AA.ErrnoError(31);if(!c.stream_ops.write)throw new AA.ErrnoError(28);c.seekable&&c.flags&1024&&AA.llseek(c,0,2);var gA=typeof Z<"u";if(!gA)Z=c.position;else if(!c.seekable)throw new AA.ErrnoError(70);var fA=c.stream_ops.write(c,S,v,Y,Z,QA);return gA||(c.position+=fA),fA},allocate(c,S,v){if(AA.isClosed(c))throw new AA.ErrnoError(8);if(S<0||v<=0)throw new AA.ErrnoError(28);if(!(c.flags&2097155))throw new AA.ErrnoError(8);if(!AA.isFile(c.node.mode)&&!AA.isDir(c.node.mode))throw new AA.ErrnoError(43);if(!c.stream_ops.allocate)throw new AA.ErrnoError(138);c.stream_ops.allocate(c,S,v)},mmap(c,S,v,Y,Z){if(Y&2&&!(Z&2)&&(c.flags&2097155)!==2)throw new AA.ErrnoError(2);if((c.flags&2097155)===1)throw new AA.ErrnoError(2);if(!c.stream_ops.mmap)throw new AA.ErrnoError(43);return c.stream_ops.mmap(c,S,v,Y,Z)},msync(c,S,v,Y,Z){return c.stream_ops.msync?c.stream_ops.msync(c,S,v,Y,Z):0},munmap:c=>0,ioctl(c,S,v){if(!c.stream_ops.ioctl)throw new AA.ErrnoError(59);return c.stream_ops.ioctl(c,S,v)},readFile(c,S={}){if(S.flags=S.flags||0,S.encoding=S.encoding||"binary",S.encoding!=="utf8"&&S.encoding!=="binary")throw new Error(`Invalid encoding type "${S.encoding}"`);var v,Y=AA.open(c,S.flags),Z=AA.stat(c),QA=Z.size,gA=new Uint8Array(QA);return AA.read(Y,gA,0,QA,0),S.encoding==="utf8"?v=nA(gA,0):S.encoding==="binary"&&(v=gA),AA.close(Y),v},writeFile(c,S,v={}){v.flags=v.flags||577;var Y=AA.open(c,v.flags,v.mode);if(typeof S=="string"){var Z=new Uint8Array(oA(S)+1),QA=di(S,Z,0,Z.length);AA.write(Y,Z,0,QA,void 0,v.canOwn)}else if(ArrayBuffer.isView(S))AA.write(Y,S,0,S.byteLength,void 0,v.canOwn);else throw new Error("Unsupported data type");AA.close(Y)},cwd:()=>AA.currentPath,chdir(c){var S=AA.lookupPath(c,{follow:!0});if(S.node===null)throw new AA.ErrnoError(44);if(!AA.isDir(S.node.mode))throw new AA.ErrnoError(54);var v=AA.nodePermissions(S.node,"x");if(v)throw new AA.ErrnoError(v);AA.currentPath=S.path},createDefaultDirectories(){AA.mkdir("/tmp"),AA.mkdir("/home"),AA.mkdir("/home/web_user")},createDefaultDevices(){AA.mkdir("/dev"),AA.registerDevice(AA.makedev(1,3),{read:()=>0,write:(Y,Z,QA,gA,fA)=>gA}),AA.mkdev("/dev/null",AA.makedev(1,3)),Wt.register(AA.makedev(5,0),Wt.default_tty_ops),Wt.register(AA.makedev(6,0),Wt.default_tty1_ops),AA.mkdev("/dev/tty",AA.makedev(5,0)),AA.mkdev("/dev/tty1",AA.makedev(6,0));var c=new Uint8Array(1024),S=0,v=()=>(S===0&&(S=lr(c).byteLength),c[--S]);AA.createDevice("/dev","random",v),AA.createDevice("/dev","urandom",v),AA.mkdir("/dev/shm"),AA.mkdir("/dev/shm/tmp")},createSpecialDirectories(){AA.mkdir("/proc");var c=AA.mkdir("/proc/self");AA.mkdir("/proc/self/fd"),AA.mount({mount(){var S=AA.createNode(c,"fd",16895,73);return S.node_ops={lookup(v,Y){var Z=+Y,QA=AA.getStreamChecked(Z),gA={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>QA.path}};return gA.parent=gA,gA}},S}},{},"/proc/self/fd")},createStandardStreams(){e.stdin?AA.createDevice("/dev","stdin",e.stdin):AA.symlink("/dev/tty","/dev/stdin"),e.stdout?AA.createDevice("/dev","stdout",null,e.stdout):AA.symlink("/dev/tty","/dev/stdout"),e.stderr?AA.createDevice("/dev","stderr",null,e.stderr):AA.symlink("/dev/tty1","/dev/stderr");var c=AA.open("/dev/stdin",0),S=AA.open("/dev/stdout",1),v=AA.open("/dev/stderr",1)},ensureErrnoError(){AA.ErrnoError||(AA.ErrnoError=function(S,v){this.name="ErrnoError",this.node=v,this.setErrno=function(Y){this.errno=Y},this.setErrno(S),this.message="FS error"},AA.ErrnoError.prototype=new Error,AA.ErrnoError.prototype.constructor=AA.ErrnoError,[44].forEach(c=>{AA.genericErrors[c]=new AA.ErrnoError(c),AA.genericErrors[c].stack="<generic error, no stack>"}))},staticInit(){AA.ensureErrnoError(),AA.nameTable=new Array(4096),AA.mount(Me,{},"/"),AA.createDefaultDirectories(),AA.createDefaultDevices(),AA.createSpecialDirectories(),AA.filesystems={MEMFS:Me}},init(c,S,v){AA.init.initialized=!0,AA.ensureErrnoError(),e.stdin=c||e.stdin,e.stdout=S||e.stdout,e.stderr=v||e.stderr,AA.createStandardStreams()},quit(){AA.init.initialized=!1;for(var c=0;c<AA.streams.length;c++){var S=AA.streams[c];S&&AA.close(S)}},findObject(c,S){var v=AA.analyzePath(c,S);return v.exists?v.object:null},analyzePath(c,S){try{var v=AA.lookupPath(c,{follow:!S});c=v.path}catch{}var Y={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var v=AA.lookupPath(c,{parent:!0});Y.parentExists=!0,Y.parentPath=v.path,Y.parentObject=v.node,Y.name=iI.basename(c),v=AA.lookupPath(c,{follow:!S}),Y.exists=!0,Y.path=v.path,Y.object=v.node,Y.name=v.node.name,Y.isRoot=v.path==="/"}catch(Z){Y.error=Z.errno}return Y},createPath(c,S,v,Y){c=typeof c=="string"?c:AA.getPath(c);for(var Z=S.split("/").reverse();Z.length;){var QA=Z.pop();if(QA){var gA=iI.join2(c,QA);try{AA.mkdir(gA)}catch{}c=gA}}return gA},createFile(c,S,v,Y,Z){var QA=iI.join2(typeof c=="string"?c:AA.getPath(c),S),gA=DC(Y,Z);return AA.create(QA,gA)},createDataFile(c,S,v,Y,Z,QA){var gA=S;c&&(c=typeof c=="string"?c:AA.getPath(c),gA=S?iI.join2(c,S):c);var fA=DC(Y,Z),bA=AA.create(gA,fA);if(v){if(typeof v=="string"){for(var XA=new Array(v.length),Rg=0,Jg=v.length;Rg<Jg;++Rg)XA[Rg]=v.charCodeAt(Rg);v=XA}AA.chmod(bA,fA|146);var jg=AA.open(bA,577);AA.write(jg,v,0,v.length,0,QA),AA.close(jg),AA.chmod(bA,fA)}},createDevice(c,S,v,Y){var Z=iI.join2(typeof c=="string"?c:AA.getPath(c),S),QA=DC(!!v,!!Y);AA.createDevice.major||(AA.createDevice.major=64);var gA=AA.makedev(AA.createDevice.major++,0);return AA.registerDevice(gA,{open(fA){fA.seekable=!1},close(fA){Y&&Y.buffer&&Y.buffer.length&&Y(10)},read(fA,bA,XA,Rg,Jg){for(var jg=0,Tg=0;Tg<Rg;Tg++){var zg;try{zg=v()}catch{throw new AA.ErrnoError(29)}if(zg===void 0&&jg===0)throw new AA.ErrnoError(6);if(zg==null)break;jg++,bA[XA+Tg]=zg}return jg&&(fA.node.timestamp=Date.now()),jg},write(fA,bA,XA,Rg,Jg){for(var jg=0;jg<Rg;jg++)try{Y(bA[XA+jg])}catch{throw new AA.ErrnoError(29)}return Rg&&(fA.node.timestamp=Date.now()),jg}}),AA.mkdev(Z,QA,gA)},forceLoadFile(c){if(c.isDevice||c.isFolder||c.link||c.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(n)try{c.contents=Ao(n(c.url),!0),c.usedBytes=c.contents.length}catch{throw new AA.ErrnoError(29)}else throw new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(c,S,v,Y,Z){function QA(){this.lengthKnown=!1,this.chunks=[]}if(QA.prototype.get=function(Tg){if(!(Tg>this.length-1||Tg<0)){var zg=Tg%this.chunkSize,Ee=Tg/this.chunkSize|0;return this.getter(Ee)[zg]}},QA.prototype.setDataGetter=function(Tg){this.getter=Tg},QA.prototype.cacheLength=function(){var Tg=new XMLHttpRequest;if(Tg.open("HEAD",v,!1),Tg.send(null),!(Tg.status>=200&&Tg.status<300||Tg.status===304))throw new Error("Couldn't load "+v+". Status: "+Tg.status);var zg=Number(Tg.getResponseHeader("Content-length")),Ee,UI=(Ee=Tg.getResponseHeader("Accept-Ranges"))&&Ee==="bytes",lI=(Ee=Tg.getResponseHeader("Content-Encoding"))&&Ee==="gzip",yg=1024*1024;UI||(yg=zg);var ae=(pI,Si)=>{if(pI>Si)throw new Error("invalid range ("+pI+", "+Si+") or no bytes requested!");if(Si>zg-1)throw new Error("only "+zg+" bytes available! programmer error!");var MI=new XMLHttpRequest;if(MI.open("GET",v,!1),zg!==yg&&MI.setRequestHeader("Range","bytes="+pI+"-"+Si),MI.responseType="arraybuffer",MI.overrideMimeType&&MI.overrideMimeType("text/plain; charset=x-user-defined"),MI.send(null),!(MI.status>=200&&MI.status<300||MI.status===304))throw new Error("Couldn't load "+v+". Status: "+MI.status);return MI.response!==void 0?new Uint8Array(MI.response||[]):Ao(MI.responseText||"",!0)},oi=this;oi.setDataGetter(pI=>{var Si=pI*yg,MI=(pI+1)*yg-1;if(MI=Math.min(MI,zg-1),typeof oi.chunks[pI]>"u"&&(oi.chunks[pI]=ae(Si,MI)),typeof oi.chunks[pI]>"u")throw new Error("doXHR failed!");return oi.chunks[pI]}),(lI||!zg)&&(yg=zg=1,zg=this.getter(0).length,yg=zg,h("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=zg,this._chunkSize=yg,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!s)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var gA=new QA;Object.defineProperties(gA,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var fA={isDevice:!1,contents:gA}}else var fA={isDevice:!1,url:v};var bA=AA.createFile(c,S,fA,Y,Z);fA.contents?bA.contents=fA.contents:fA.url&&(bA.contents=null,bA.url=fA.url),Object.defineProperties(bA,{usedBytes:{get:function(){return this.contents.length}}});var XA={},Rg=Object.keys(bA.stream_ops);Rg.forEach(jg=>{var Tg=bA.stream_ops[jg];XA[jg]=function(){return AA.forceLoadFile(bA),Tg.apply(null,arguments)}});function Jg(jg,Tg,zg,Ee,UI){var lI=jg.node.contents;if(UI>=lI.length)return 0;var yg=Math.min(lI.length-UI,Ee);if(lI.slice)for(var ae=0;ae<yg;ae++)Tg[zg+ae]=lI[UI+ae];else for(var ae=0;ae<yg;ae++)Tg[zg+ae]=lI.get(UI+ae);return yg}return XA.read=(jg,Tg,zg,Ee,UI)=>(AA.forceLoadFile(bA),Jg(jg,Tg,zg,Ee,UI)),XA.mmap=(jg,Tg,zg,Ee,UI)=>{AA.forceLoadFile(bA);var lI=cr(Tg);if(!lI)throw new AA.ErrnoError(48);return Jg(jg,N,lI,Tg,zg),{ptr:lI,allocated:!0}},bA.stream_ops=XA,bA}},fi={DEFAULT_POLLMASK:5,calculateAt(c,S,v){if(iI.isAbs(S))return S;var Y;if(c===-100)Y=AA.cwd();else{var Z=fi.getStreamFromFD(c);Y=Z.path}if(S.length==0){if(!v)throw new AA.ErrnoError(44);return Y}return iI.join2(Y,S)},doStat(c,S,v){try{var Y=c(S)}catch(fA){if(fA&&fA.node&&iI.normalize(S)!==iI.normalize(AA.getPath(fA.node)))return-54;throw fA}q[v>>2]=Y.dev,q[v+4>>2]=Y.mode,T[v+8>>2]=Y.nlink,q[v+12>>2]=Y.uid,q[v+16>>2]=Y.gid,q[v+20>>2]=Y.rdev,sA=[Y.size>>>0,(Mg=Y.size,+Math.abs(Mg)>=1?Mg>0?+Math.floor(Mg/4294967296)>>>0:~~+Math.ceil((Mg-+(~~Mg>>>0))/4294967296)>>>0:0)],q[v+24>>2]=sA[0],q[v+28>>2]=sA[1],q[v+32>>2]=4096,q[v+36>>2]=Y.blocks;var Z=Y.atime.getTime(),QA=Y.mtime.getTime(),gA=Y.ctime.getTime();return sA=[Math.floor(Z/1e3)>>>0,(Mg=Math.floor(Z/1e3),+Math.abs(Mg)>=1?Mg>0?+Math.floor(Mg/4294967296)>>>0:~~+Math.ceil((Mg-+(~~Mg>>>0))/4294967296)>>>0:0)],q[v+40>>2]=sA[0],q[v+44>>2]=sA[1],T[v+48>>2]=Z%1e3*1e3,sA=[Math.floor(QA/1e3)>>>0,(Mg=Math.floor(QA/1e3),+Math.abs(Mg)>=1?Mg>0?+Math.floor(Mg/4294967296)>>>0:~~+Math.ceil((Mg-+(~~Mg>>>0))/4294967296)>>>0:0)],q[v+56>>2]=sA[0],q[v+60>>2]=sA[1],T[v+64>>2]=QA%1e3*1e3,sA=[Math.floor(gA/1e3)>>>0,(Mg=Math.floor(gA/1e3),+Math.abs(Mg)>=1?Mg>0?+Math.floor(Mg/4294967296)>>>0:~~+Math.ceil((Mg-+(~~Mg>>>0))/4294967296)>>>0:0)],q[v+72>>2]=sA[0],q[v+76>>2]=sA[1],T[v+80>>2]=gA%1e3*1e3,sA=[Y.ino>>>0,(Mg=Y.ino,+Math.abs(Mg)>=1?Mg>0?+Math.floor(Mg/4294967296)>>>0:~~+Math.ceil((Mg-+(~~Mg>>>0))/4294967296)>>>0:0)],q[v+88>>2]=sA[0],q[v+92>>2]=sA[1],0},doMsync(c,S,v,Y,Z){if(!AA.isFile(S.node.mode))throw new AA.ErrnoError(43);if(Y&2)return 0;var QA=G.slice(c,c+v);AA.msync(S,QA,Z,v,Y)},varargs:void 0,get(){var c=q[+fi.varargs>>2];return fi.varargs+=4,c},getp(){return fi.get()},getStr(c){var S=JA(c);return S},getStreamFromFD(c){var S=AA.getStreamChecked(c);return S}},Sa=(c,S)=>{var v=0;return jt().forEach((Y,Z)=>{var QA=S+v;T[c+Z*4>>2]=QA,Ds(Y,QA),v+=Y.length+1}),0},tI=(c,S)=>{var v=jt();T[c>>2]=v.length;var Y=0;return v.forEach(Z=>Y+=Z.length+1),T[S>>2]=Y,0};function pC(c){try{var S=fi.getStreamFromFD(c);return AA.close(S),0}catch(v){if(typeof AA>"u"||v.name!=="ErrnoError")throw v;return v.errno}}var Eo=(c,S,v,Y)=>{for(var Z=0,QA=0;QA<v;QA++){var gA=T[S>>2],fA=T[S+4>>2];S+=8;var bA=AA.read(c,N,gA,fA,Y);if(bA<0)return-1;if(Z+=bA,bA<fA)break;typeof Y<"u"&&(Y+=bA)}return Z};function To(c,S,v,Y){try{var Z=fi.getStreamFromFD(c),QA=Eo(Z,S,v);return T[Y>>2]=QA,0}catch(gA){if(typeof AA>"u"||gA.name!=="ErrnoError")throw gA;return gA.errno}}var Dr=(c,S)=>S+2097152>>>0<4194305-!!c?(c>>>0)+S*4294967296:NaN;function pr(c,S,v,Y,Z){var QA=Dr(S,v);try{if(isNaN(QA))return 61;var gA=fi.getStreamFromFD(c);return AA.llseek(gA,QA,Y),sA=[gA.position>>>0,(Mg=gA.position,+Math.abs(Mg)>=1?Mg>0?+Math.floor(Mg/4294967296)>>>0:~~+Math.ceil((Mg-+(~~Mg>>>0))/4294967296)>>>0:0)],q[Z>>2]=sA[0],q[Z+4>>2]=sA[1],gA.getdents&&QA===0&&Y===0&&(gA.getdents=null),0}catch(fA){if(typeof AA>"u"||fA.name!=="ErrnoError")throw fA;return fA.errno}}var ps=(c,S,v,Y)=>{for(var Z=0,QA=0;QA<v;QA++){var gA=T[S>>2],fA=T[S+4>>2];S+=8;var bA=AA.write(c,N,gA,fA,Y);if(bA<0)return-1;Z+=bA,typeof Y<"u"&&(Y+=bA)}return Z};function ys(c,S,v,Y){try{var Z=fi.getStreamFromFD(c),QA=ps(Z,S,v);return T[Y>>2]=QA,0}catch(gA){if(typeof AA>"u"||gA.name!=="ErrnoError")throw gA;return gA.errno}}var ho=c=>c%4===0&&(c%100!==0||c%400===0),Oo=(c,S)=>{for(var v=0,Y=0;Y<=S;v+=c[Y++]);return v},vA=[31,29,31,30,31,30,31,31,30,31,30,31],Ji=[31,28,31,30,31,30,31,31,30,31,30,31],ws=(c,S)=>{for(var v=new Date(c.getTime());S>0;){var Y=ho(v.getFullYear()),Z=v.getMonth(),QA=(Y?vA:Ji)[Z];if(S>QA-v.getDate())S-=QA-v.getDate()+1,v.setDate(1),Z<11?v.setMonth(Z+1):(v.setMonth(0),v.setFullYear(v.getFullYear()+1));else return v.setDate(v.getDate()+S),v}return v},yr=(c,S)=>{N.set(c,S)},fs=(c,S,v,Y)=>{var Z=T[Y+40>>2],QA={tm_sec:q[Y>>2],tm_min:q[Y+4>>2],tm_hour:q[Y+8>>2],tm_mday:q[Y+12>>2],tm_mon:q[Y+16>>2],tm_year:q[Y+20>>2],tm_wday:q[Y+24>>2],tm_yday:q[Y+28>>2],tm_isdst:q[Y+32>>2],tm_gmtoff:q[Y+36>>2],tm_zone:Z?JA(Z):""},gA=JA(v),fA={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var bA in fA)gA=gA.replace(new RegExp(bA,"g"),fA[bA]);var XA=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Rg=["January","February","March","April","May","June","July","August","September","October","November","December"];function Jg(yg,ae,oi){for(var pI=typeof yg=="number"?yg.toString():yg||"";pI.length<ae;)pI=oi[0]+pI;return pI}function jg(yg,ae){return Jg(yg,ae,"0")}function Tg(yg,ae){function oi(Si){return Si<0?-1:Si>0?1:0}var pI;return(pI=oi(yg.getFullYear()-ae.getFullYear()))===0&&(pI=oi(yg.getMonth()-ae.getMonth()))===0&&(pI=oi(yg.getDate()-ae.getDate())),pI}function zg(yg){switch(yg.getDay()){case 0:return new Date(yg.getFullYear()-1,11,29);case 1:return yg;case 2:return new Date(yg.getFullYear(),0,3);case 3:return new Date(yg.getFullYear(),0,2);case 4:return new Date(yg.getFullYear(),0,1);case 5:return new Date(yg.getFullYear()-1,11,31);case 6:return new Date(yg.getFullYear()-1,11,30)}}function Ee(yg){var ae=ws(new Date(yg.tm_year+1900,0,1),yg.tm_yday),oi=new Date(ae.getFullYear(),0,4),pI=new Date(ae.getFullYear()+1,0,4),Si=zg(oi),MI=zg(pI);return Tg(Si,ae)<=0?Tg(MI,ae)<=0?ae.getFullYear()+1:ae.getFullYear():ae.getFullYear()-1}var UI={"%a":yg=>XA[yg.tm_wday].substring(0,3),"%A":yg=>XA[yg.tm_wday],"%b":yg=>Rg[yg.tm_mon].substring(0,3),"%B":yg=>Rg[yg.tm_mon],"%C":yg=>{var ae=yg.tm_year+1900;return jg(ae/100|0,2)},"%d":yg=>jg(yg.tm_mday,2),"%e":yg=>Jg(yg.tm_mday,2," "),"%g":yg=>Ee(yg).toString().substring(2),"%G":yg=>Ee(yg),"%H":yg=>jg(yg.tm_hour,2),"%I":yg=>{var ae=yg.tm_hour;return ae==0?ae=12:ae>12&&(ae-=12),jg(ae,2)},"%j":yg=>jg(yg.tm_mday+Oo(ho(yg.tm_year+1900)?vA:Ji,yg.tm_mon-1),3),"%m":yg=>jg(yg.tm_mon+1,2),"%M":yg=>jg(yg.tm_min,2),"%n":()=>`
`,"%p":yg=>yg.tm_hour>=0&&yg.tm_hour<12?"AM":"PM","%S":yg=>jg(yg.tm_sec,2),"%t":()=>"	","%u":yg=>yg.tm_wday||7,"%U":yg=>{var ae=yg.tm_yday+7-yg.tm_wday;return jg(Math.floor(ae/7),2)},"%V":yg=>{var ae=Math.floor((yg.tm_yday+7-(yg.tm_wday+6)%7)/7);if((yg.tm_wday+371-yg.tm_yday-2)%7<=2&&ae++,ae){if(ae==53){var pI=(yg.tm_wday+371-yg.tm_yday)%7;pI!=4&&(pI!=3||!ho(yg.tm_year))&&(ae=1)}}else{ae=52;var oi=(yg.tm_wday+7-yg.tm_yday-1)%7;(oi==4||oi==5&&ho(yg.tm_year%400-1))&&ae++}return jg(ae,2)},"%w":yg=>yg.tm_wday,"%W":yg=>{var ae=yg.tm_yday+7-(yg.tm_wday+6)%7;return jg(Math.floor(ae/7),2)},"%y":yg=>(yg.tm_year+1900).toString().substring(2),"%Y":yg=>yg.tm_year+1900,"%z":yg=>{var ae=yg.tm_gmtoff,oi=ae>=0;return ae=Math.abs(ae)/60,ae=ae/60*100+ae%60,(oi?"+":"-")+("0000"+ae).slice(-4)},"%Z":yg=>yg.tm_zone,"%%":()=>"%"};gA=gA.replace(/%%/g,"\0\0");for(var bA in UI)gA.includes(bA)&&(gA=gA.replace(new RegExp(bA,"g"),UI[bA](QA)));gA=gA.replace(/\0\0/g,"%");var lI=Ao(gA,!1);return lI.length>S?0:(yr(lI,c),lI.length-1)},oC=(c,S,v,Y,Z)=>fs(c,S,v,Y),_o=c=>{var S=e["_"+c];return S},wr=c=>{var S=oA(c)+1,v=zt(S);return V(c,v,S),v},nt=(c,S,v,Y,Z)=>{var QA={string:zg=>{var Ee=0;return zg!=null&&zg!==0&&(Ee=wr(zg)),Ee},array:zg=>{var Ee=zt(zg.length);return yr(zg,Ee),Ee}};function gA(zg){return S==="string"?JA(zg):S==="boolean"?!!zg:zg}var fA=_o(c),bA=[],XA=0;if(Y)for(var Rg=0;Rg<Y.length;Rg++){var Jg=QA[v[Rg]];Jg?(XA===0&&(XA=co()),bA[Rg]=Jg(Y[Rg])):bA[Rg]=Y[Rg]}var jg=fA.apply(null,bA);function Tg(zg){return XA!==0&&Gr(XA),gA(zg)}return jg=Tg(jg),jg};Ie=e.InternalError=class extends Error{constructor(S){super(S),this.name="InternalError"}},ZA(),ge=e.BindingError=class extends Error{constructor(S){super(S),this.name="BindingError"}},GI(),mt(),vI=e.UnboundTypeError=Tt(Error,"UnboundTypeError");var Zi=function(c,S,v,Y){c||(c=this),this.parent=c,this.mount=c.mount,this.mounted=null,this.id=AA.nextInode++,this.name=S,this.mode=v,this.node_ops={},this.stream_ops={},this.rdev=Y},ci=365,Po=146;Object.defineProperties(Zi.prototype,{read:{get:function(){return(this.mode&ci)===ci},set:function(c){c?this.mode|=ci:this.mode&=~ci}},write:{get:function(){return(this.mode&Po)===Po},set:function(c){c?this.mode|=Po:this.mode&=~Po}},isFolder:{get:function(){return AA.isDir(this.mode)}},isDevice:{get:function(){return AA.isChrdev(this.mode)}}}),AA.FSNode=Zi,AA.createPreloadedFile=fa,AA.staticInit();var lo={a:Og,m:xe,p:FA,k:We,y:jA,z:bg,f:Ze,j:Ge,d:bI,e:Qo,b:Ot,h:fg,g:bC,n:Qt,c:Vi,l:xo,i:Pt,x:dC,u:wa,r:Sa,s:tI,w:pC,t:To,o:pr,v:ys,q:oC},ei=Ae(),BI=()=>(BI=ei.B)(),fr=c=>(fr=ei.D)(c),Sr=()=>(Sr=ei.__errno_location)(),Mt=e._malloc=c=>(Mt=e._malloc=ei.E)(c),kt=e._free=c=>(kt=e._free=ei.F)(c),co=()=>(co=ei.G)(),Gr=c=>(Gr=ei.H)(c),zt=c=>(zt=ei.I)(c),uo=c=>(uo=ei.__cxa_increment_exception_refcount)(c),me=c=>(me=ei.J)(c),d=e.dynCall_jiji=(c,S,v,Y,Z)=>(d=e.dynCall_jiji=ei.K)(c,S,v,Y,Z),f=e.dynCall_viijii=(c,S,v,Y,Z,QA,gA)=>(f=e.dynCall_viijii=ei.L)(c,S,v,Y,Z,QA,gA),F=e.dynCall_iiiiij=(c,S,v,Y,Z,QA,gA)=>(F=e.dynCall_iiiiij=ei.M)(c,S,v,Y,Z,QA,gA),L=e.dynCall_iiiiijj=(c,S,v,Y,Z,QA,gA,fA,bA)=>(L=e.dynCall_iiiiijj=ei.N)(c,S,v,Y,Z,QA,gA,fA,bA),W=e.dynCall_iiiiiijj=(c,S,v,Y,Z,QA,gA,fA,bA,XA)=>(W=e.dynCall_iiiiiijj=ei.O)(c,S,v,Y,Z,QA,gA,fA,bA,XA);e.ccall=nt;var iA;KA=function c(){iA||hA(),iA||(KA=c)};function hA(){if(GA>0||(SA(),GA>0))return;function c(){iA||(iA=!0,e.calledRun=!0,!w&&(pA(),I(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),wA()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),c()},1)):c()}if(e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return hA(),g.ready}})(),wx=yx});var fx={};var $m=ms(()=>{(function(){"use strict";var A=function(){this.init()};A.prototype={init:function(){var s=this||g;return s._counter=1e3,s._html5AudioPool=[],s.html5PoolSize=10,s._codecs={},s._howls=[],s._muted=!1,s._volume=1,s._canPlayEvent="canplaythrough",s._navigator=typeof window<"u"&&window.navigator?window.navigator:null,s.masterGain=null,s.noAudio=!1,s.usingWebAudio=!0,s.autoSuspend=!0,s.ctx=null,s.autoUnlock=!0,s._setup(),s},volume:function(s){var B=this||g;if(s=parseFloat(s),B.ctx||r(),s!==void 0&&s>=0&&s<=1){if(B._volume=s,B._muted)return B;B.usingWebAudio&&B.masterGain.gain.setValueAtTime(s,g.ctx.currentTime);for(var Q=0;Q<B._howls.length;Q++)if(!B._howls[Q]._webAudio)for(var n=B._howls[Q]._getSoundIds(),E=0;E<n.length;E++){var l=B._howls[Q]._soundById(n[E]);l&&l._node&&(l._node.volume=l._volume*s)}return B}return B._volume},mute:function(s){var B=this||g;B.ctx||r(),B._muted=s,B.usingWebAudio&&B.masterGain.gain.setValueAtTime(s?0:B._volume,g.ctx.currentTime);for(var Q=0;Q<B._howls.length;Q++)if(!B._howls[Q]._webAudio)for(var n=B._howls[Q]._getSoundIds(),E=0;E<n.length;E++){var l=B._howls[Q]._soundById(n[E]);l&&l._node&&(l._node.muted=!!s||l._muted)}return B},stop:function(){for(var s=this||g,B=0;B<s._howls.length;B++)s._howls[B].stop();return s},unload:function(){for(var s=this||g,B=s._howls.length-1;B>=0;B--)s._howls[B].unload();return s.usingWebAudio&&s.ctx&&s.ctx.close!==void 0&&(s.ctx.close(),s.ctx=null,r()),s},codecs:function(s){return(this||g)._codecs[s.replace(/^x-/,"")]},_setup:function(){var s=this||g;if(s.state=s.ctx&&s.ctx.state||"suspended",s._autoSuspend(),!s.usingWebAudio)if(typeof Audio<"u")try{var B=new Audio;B.oncanplaythrough===void 0&&(s._canPlayEvent="canplay")}catch{s.noAudio=!0}else s.noAudio=!0;try{var B=new Audio;B.muted&&(s.noAudio=!0)}catch{}return s.noAudio||s._setupCodecs(),s},_setupCodecs:function(){var s=this||g,B=null;try{B=typeof Audio<"u"?new Audio:null}catch{return s}if(!B||typeof B.canPlayType!="function")return s;var Q=B.canPlayType("audio/mpeg;").replace(/^no$/,""),n=s._navigator?s._navigator.userAgent:"",E=n.match(/OPR\/([0-6].)/g),l=E&&parseInt(E[0].split("/")[1],10)<33,h=n.indexOf("Safari")!==-1&&n.indexOf("Chrome")===-1,u=n.match(/Version\/(.*?) /),D=h&&u&&parseInt(u[1],10)<15;return s._codecs={mp3:!(l||!Q&&!B.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!Q,opus:!!B.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!B.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!B.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(B.canPlayType('audio/wav; codecs="1"')||B.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!B.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!B.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(B.canPlayType("audio/x-m4a;")||B.canPlayType("audio/m4a;")||B.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(B.canPlayType("audio/x-m4b;")||B.canPlayType("audio/m4b;")||B.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(B.canPlayType("audio/x-mp4;")||B.canPlayType("audio/mp4;")||B.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!(D||!B.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!(D||!B.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!B.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(B.canPlayType("audio/x-flac;")||B.canPlayType("audio/flac;")).replace(/^no$/,"")},s},_unlockAudio:function(){var s=this||g;if(!s._audioUnlocked&&s.ctx){s._audioUnlocked=!1,s.autoUnlock=!1,s._mobileUnloaded||s.ctx.sampleRate===44100||(s._mobileUnloaded=!0,s.unload()),s._scratchBuffer=s.ctx.createBuffer(1,1,22050);var B=function(Q){for(;s._html5AudioPool.length<s.html5PoolSize;)try{var n=new Audio;n._unlocked=!0,s._releaseHtml5Audio(n)}catch{s.noAudio=!0;break}for(var E=0;E<s._howls.length;E++)if(!s._howls[E]._webAudio)for(var l=s._howls[E]._getSoundIds(),h=0;h<l.length;h++){var u=s._howls[E]._soundById(l[h]);u&&u._node&&!u._node._unlocked&&(u._node._unlocked=!0,u._node.load())}s._autoResume();var D=s.ctx.createBufferSource();D.buffer=s._scratchBuffer,D.connect(s.ctx.destination),D.start===void 0?D.noteOn(0):D.start(0),typeof s.ctx.resume=="function"&&s.ctx.resume(),D.onended=function(){D.disconnect(0),s._audioUnlocked=!0,document.removeEventListener("touchstart",B,!0),document.removeEventListener("touchend",B,!0),document.removeEventListener("click",B,!0),document.removeEventListener("keydown",B,!0);for(var p=0;p<s._howls.length;p++)s._howls[p]._emit("unlock")}};return document.addEventListener("touchstart",B,!0),document.addEventListener("touchend",B,!0),document.addEventListener("click",B,!0),document.addEventListener("keydown",B,!0),s}},_obtainHtml5Audio:function(){var s=this||g;if(s._html5AudioPool.length)return s._html5AudioPool.pop();var B=new Audio().play();return B&&typeof Promise<"u"&&(B instanceof Promise||typeof B.then=="function")&&B.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(s){var B=this||g;return s._unlocked&&B._html5AudioPool.push(s),B},_autoSuspend:function(){var s=this;if(s.autoSuspend&&s.ctx&&s.ctx.suspend!==void 0&&g.usingWebAudio){for(var B=0;B<s._howls.length;B++)if(s._howls[B]._webAudio){for(var Q=0;Q<s._howls[B]._sounds.length;Q++)if(!s._howls[B]._sounds[Q]._paused)return s}return s._suspendTimer&&clearTimeout(s._suspendTimer),s._suspendTimer=setTimeout(function(){if(s.autoSuspend){s._suspendTimer=null,s.state="suspending";var n=function(){s.state="suspended",s._resumeAfterSuspend&&(delete s._resumeAfterSuspend,s._autoResume())};s.ctx.suspend().then(n,n)}},3e4),s}},_autoResume:function(){var s=this;if(s.ctx&&s.ctx.resume!==void 0&&g.usingWebAudio)return s.state==="running"&&s.ctx.state!=="interrupted"&&s._suspendTimer?(clearTimeout(s._suspendTimer),s._suspendTimer=null):s.state==="suspended"||s.state==="running"&&s.ctx.state==="interrupted"?(s.ctx.resume().then(function(){s.state="running";for(var B=0;B<s._howls.length;B++)s._howls[B]._emit("resume")}),s._suspendTimer&&(clearTimeout(s._suspendTimer),s._suspendTimer=null)):s.state==="suspending"&&(s._resumeAfterSuspend=!0),s}};var g=new A,e=function(s){var B=this;if(!s.src||s.src.length===0)return void console.error("An array of source files must be passed with any new Howl.");B.init(s)};e.prototype={init:function(s){var B=this;return g.ctx||r(),B._autoplay=s.autoplay||!1,B._format=typeof s.format!="string"?s.format:[s.format],B._html5=s.html5||!1,B._muted=s.mute||!1,B._loop=s.loop||!1,B._pool=s.pool||5,B._preload=typeof s.preload!="boolean"&&s.preload!=="metadata"||s.preload,B._rate=s.rate||1,B._sprite=s.sprite||{},B._src=typeof s.src!="string"?s.src:[s.src],B._volume=s.volume!==void 0?s.volume:1,B._xhr={method:s.xhr&&s.xhr.method?s.xhr.method:"GET",headers:s.xhr&&s.xhr.headers?s.xhr.headers:null,withCredentials:!(!s.xhr||!s.xhr.withCredentials)&&s.xhr.withCredentials},B._duration=0,B._state="unloaded",B._sounds=[],B._endTimers={},B._queue=[],B._playLock=!1,B._onend=s.onend?[{fn:s.onend}]:[],B._onfade=s.onfade?[{fn:s.onfade}]:[],B._onload=s.onload?[{fn:s.onload}]:[],B._onloaderror=s.onloaderror?[{fn:s.onloaderror}]:[],B._onplayerror=s.onplayerror?[{fn:s.onplayerror}]:[],B._onpause=s.onpause?[{fn:s.onpause}]:[],B._onplay=s.onplay?[{fn:s.onplay}]:[],B._onstop=s.onstop?[{fn:s.onstop}]:[],B._onmute=s.onmute?[{fn:s.onmute}]:[],B._onvolume=s.onvolume?[{fn:s.onvolume}]:[],B._onrate=s.onrate?[{fn:s.onrate}]:[],B._onseek=s.onseek?[{fn:s.onseek}]:[],B._onunlock=s.onunlock?[{fn:s.onunlock}]:[],B._onresume=[],B._webAudio=g.usingWebAudio&&!B._html5,g.ctx!==void 0&&g.ctx&&g.autoUnlock&&g._unlockAudio(),g._howls.push(B),B._autoplay&&B._queue.push({event:"play",action:function(){B.play()}}),B._preload&&B._preload!=="none"&&B.load(),B},load:function(){var s=this,B=null;if(g.noAudio)return void s._emit("loaderror",null,"No audio support.");typeof s._src=="string"&&(s._src=[s._src]);for(var Q=0;Q<s._src.length;Q++){var n,E;if(s._format&&s._format[Q])n=s._format[Q];else{if(typeof(E=s._src[Q])!="string"){s._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}n=/^data:audio\/([^;,]+);/i.exec(E),n||(n=/\.([^.]+)$/.exec(E.split("?",1)[0])),n&&(n=n[1].toLowerCase())}if(n||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),n&&g.codecs(n)){B=s._src[Q];break}}return B?(s._src=B,s._state="loading",window.location.protocol==="https:"&&B.slice(0,5)==="http:"&&(s._html5=!0,s._webAudio=!1),new I(s),s._webAudio&&t(s),s):void s._emit("loaderror",null,"No codec support for selected audio sources.")},play:function(s,B){var Q=this,n=null;if(typeof s=="number")n=s,s=null;else{if(typeof s=="string"&&Q._state==="loaded"&&!Q._sprite[s])return null;if(s===void 0&&(s="__default",!Q._playLock)){for(var E=0,l=0;l<Q._sounds.length;l++)Q._sounds[l]._paused&&!Q._sounds[l]._ended&&(E++,n=Q._sounds[l]._id);E===1?s=null:n=null}}var h=n?Q._soundById(n):Q._inactiveSound();if(!h)return null;if(n&&!s&&(s=h._sprite||"__default"),Q._state!=="loaded"){h._sprite=s,h._ended=!1;var u=h._id;return Q._queue.push({event:"play",action:function(){Q.play(u)}}),u}if(n&&!h._paused)return B||Q._loadQueue("play"),h._id;Q._webAudio&&g._autoResume();var D=Math.max(0,h._seek>0?h._seek:Q._sprite[s][0]/1e3),p=Math.max(0,(Q._sprite[s][0]+Q._sprite[s][1])/1e3-D),w=1e3*p/Math.abs(h._rate),k=Q._sprite[s][0]/1e3,U=(Q._sprite[s][0]+Q._sprite[s][1])/1e3;h._sprite=s,h._ended=!1;var N=function(){h._paused=!1,h._seek=D,h._start=k,h._stop=U,h._loop=!(!h._loop&&!Q._sprite[s][2])};if(D>=U)return void Q._ended(h);var G=h._node;if(Q._webAudio){var R=function(){Q._playLock=!1,N(),Q._refreshBuffer(h);var P=h._muted||Q._muted?0:h._volume;G.gain.setValueAtTime(P,g.ctx.currentTime),h._playStart=g.ctx.currentTime,G.bufferSource.start===void 0?h._loop?G.bufferSource.noteGrainOn(0,D,86400):G.bufferSource.noteGrainOn(0,D,p):h._loop?G.bufferSource.start(0,D,86400):G.bufferSource.start(0,D,p),w!==1/0&&(Q._endTimers[h._id]=setTimeout(Q._ended.bind(Q,h),w)),B||setTimeout(function(){Q._emit("play",h._id),Q._loadQueue()},0)};g.state==="running"&&g.ctx.state!=="interrupted"?R():(Q._playLock=!0,Q.once("resume",R),Q._clearTimer(h._id))}else{var J=function(){G.currentTime=D,G.muted=h._muted||Q._muted||g._muted||G.muted,G.volume=h._volume*g.volume(),G.playbackRate=h._rate;try{var P=G.play();if(P&&typeof Promise<"u"&&(P instanceof Promise||typeof P.then=="function")?(Q._playLock=!0,N(),P.then(function(){Q._playLock=!1,G._unlocked=!0,B?Q._loadQueue():Q._emit("play",h._id)}).catch(function(){Q._playLock=!1,Q._emit("playerror",h._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),h._ended=!0,h._paused=!0})):B||(Q._playLock=!1,N(),Q._emit("play",h._id)),G.playbackRate=h._rate,G.paused)return void Q._emit("playerror",h._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");s!=="__default"||h._loop?Q._endTimers[h._id]=setTimeout(Q._ended.bind(Q,h),w):(Q._endTimers[h._id]=function(){Q._ended(h),G.removeEventListener("ended",Q._endTimers[h._id],!1)},G.addEventListener("ended",Q._endTimers[h._id],!1))}catch(H){Q._emit("playerror",h._id,H)}};G.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(G.src=Q._src,G.load());var q=window&&window.ejecta||!G.readyState&&g._navigator.isCocoonJS;if(G.readyState>=3||q)J();else{Q._playLock=!0,Q._state="loading";var T=function(){Q._state="loaded",J(),G.removeEventListener(g._canPlayEvent,T,!1)};G.addEventListener(g._canPlayEvent,T,!1),Q._clearTimer(h._id)}}return h._id},pause:function(s){var B=this;if(B._state!=="loaded"||B._playLock)return B._queue.push({event:"pause",action:function(){B.pause(s)}}),B;for(var Q=B._getSoundIds(s),n=0;n<Q.length;n++){B._clearTimer(Q[n]);var E=B._soundById(Q[n]);if(E&&!E._paused&&(E._seek=B.seek(Q[n]),E._rateSeek=0,E._paused=!0,B._stopFade(Q[n]),E._node))if(B._webAudio){if(!E._node.bufferSource)continue;E._node.bufferSource.stop===void 0?E._node.bufferSource.noteOff(0):E._node.bufferSource.stop(0),B._cleanBuffer(E._node)}else isNaN(E._node.duration)&&E._node.duration!==1/0||E._node.pause();arguments[1]||B._emit("pause",E?E._id:null)}return B},stop:function(s,B){var Q=this;if(Q._state!=="loaded"||Q._playLock)return Q._queue.push({event:"stop",action:function(){Q.stop(s)}}),Q;for(var n=Q._getSoundIds(s),E=0;E<n.length;E++){Q._clearTimer(n[E]);var l=Q._soundById(n[E]);l&&(l._seek=l._start||0,l._rateSeek=0,l._paused=!0,l._ended=!0,Q._stopFade(n[E]),l._node&&(Q._webAudio?l._node.bufferSource&&(l._node.bufferSource.stop===void 0?l._node.bufferSource.noteOff(0):l._node.bufferSource.stop(0),Q._cleanBuffer(l._node)):isNaN(l._node.duration)&&l._node.duration!==1/0||(l._node.currentTime=l._start||0,l._node.pause(),l._node.duration===1/0&&Q._clearSound(l._node))),B||Q._emit("stop",l._id))}return Q},mute:function(s,B){var Q=this;if(Q._state!=="loaded"||Q._playLock)return Q._queue.push({event:"mute",action:function(){Q.mute(s,B)}}),Q;if(B===void 0){if(typeof s!="boolean")return Q._muted;Q._muted=s}for(var n=Q._getSoundIds(B),E=0;E<n.length;E++){var l=Q._soundById(n[E]);l&&(l._muted=s,l._interval&&Q._stopFade(l._id),Q._webAudio&&l._node?l._node.gain.setValueAtTime(s?0:l._volume,g.ctx.currentTime):l._node&&(l._node.muted=!!g._muted||s),Q._emit("mute",l._id))}return Q},volume:function(){var s,B,Q=this,n=arguments;if(n.length===0)return Q._volume;n.length===1||n.length===2&&n[1]===void 0?Q._getSoundIds().indexOf(n[0])>=0?B=parseInt(n[0],10):s=parseFloat(n[0]):n.length>=2&&(s=parseFloat(n[0]),B=parseInt(n[1],10));var E;if(!(s!==void 0&&s>=0&&s<=1))return E=B?Q._soundById(B):Q._sounds[0],E?E._volume:0;if(Q._state!=="loaded"||Q._playLock)return Q._queue.push({event:"volume",action:function(){Q.volume.apply(Q,n)}}),Q;B===void 0&&(Q._volume=s),B=Q._getSoundIds(B);for(var l=0;l<B.length;l++)(E=Q._soundById(B[l]))&&(E._volume=s,n[2]||Q._stopFade(B[l]),Q._webAudio&&E._node&&!E._muted?E._node.gain.setValueAtTime(s,g.ctx.currentTime):E._node&&!E._muted&&(E._node.volume=s*g.volume()),Q._emit("volume",E._id));return Q},fade:function(s,B,Q,n){var E=this;if(E._state!=="loaded"||E._playLock)return E._queue.push({event:"fade",action:function(){E.fade(s,B,Q,n)}}),E;s=Math.min(Math.max(0,parseFloat(s)),1),B=Math.min(Math.max(0,parseFloat(B)),1),Q=parseFloat(Q),E.volume(s,n);for(var l=E._getSoundIds(n),h=0;h<l.length;h++){var u=E._soundById(l[h]);if(u){if(n||E._stopFade(l[h]),E._webAudio&&!u._muted){var D=g.ctx.currentTime,p=D+Q/1e3;u._volume=s,u._node.gain.setValueAtTime(s,D),u._node.gain.linearRampToValueAtTime(B,p)}E._startFadeInterval(u,s,B,Q,l[h],n===void 0)}}return E},_startFadeInterval:function(s,B,Q,n,E,l){var h=this,u=B,D=Q-B,p=Math.abs(D/.01),w=Math.max(4,p>0?n/p:n),k=Date.now();s._fadeTo=Q,s._interval=setInterval(function(){var U=(Date.now()-k)/n;k=Date.now(),u+=D*U,u=Math.round(100*u)/100,u=D<0?Math.max(Q,u):Math.min(Q,u),h._webAudio?s._volume=u:h.volume(u,s._id,!0),l&&(h._volume=u),(Q<B&&u<=Q||Q>B&&u>=Q)&&(clearInterval(s._interval),s._interval=null,s._fadeTo=null,h.volume(Q,s._id),h._emit("fade",s._id))},w)},_stopFade:function(s){var B=this,Q=B._soundById(s);return Q&&Q._interval&&(B._webAudio&&Q._node.gain.cancelScheduledValues(g.ctx.currentTime),clearInterval(Q._interval),Q._interval=null,B.volume(Q._fadeTo,s),Q._fadeTo=null,B._emit("fade",s)),B},loop:function(){var s,B,Q,n=this,E=arguments;if(E.length===0)return n._loop;if(E.length===1){if(typeof E[0]!="boolean")return!!(Q=n._soundById(parseInt(E[0],10)))&&Q._loop;s=E[0],n._loop=s}else E.length===2&&(s=E[0],B=parseInt(E[1],10));for(var l=n._getSoundIds(B),h=0;h<l.length;h++)(Q=n._soundById(l[h]))&&(Q._loop=s,n._webAudio&&Q._node&&Q._node.bufferSource&&(Q._node.bufferSource.loop=s,s&&(Q._node.bufferSource.loopStart=Q._start||0,Q._node.bufferSource.loopEnd=Q._stop,n.playing(l[h])&&(n.pause(l[h],!0),n.play(l[h],!0)))));return n},rate:function(){var s,B,Q=this,n=arguments;if(n.length===0)B=Q._sounds[0]._id;else if(n.length===1){var E=Q._getSoundIds(),l=E.indexOf(n[0]);l>=0?B=parseInt(n[0],10):s=parseFloat(n[0])}else n.length===2&&(s=parseFloat(n[0]),B=parseInt(n[1],10));var h;if(typeof s!="number")return h=Q._soundById(B),h?h._rate:Q._rate;if(Q._state!=="loaded"||Q._playLock)return Q._queue.push({event:"rate",action:function(){Q.rate.apply(Q,n)}}),Q;B===void 0&&(Q._rate=s),B=Q._getSoundIds(B);for(var u=0;u<B.length;u++)if(h=Q._soundById(B[u])){Q.playing(B[u])&&(h._rateSeek=Q.seek(B[u]),h._playStart=Q._webAudio?g.ctx.currentTime:h._playStart),h._rate=s,Q._webAudio&&h._node&&h._node.bufferSource?h._node.bufferSource.playbackRate.setValueAtTime(s,g.ctx.currentTime):h._node&&(h._node.playbackRate=s);var D=Q.seek(B[u]),p=(Q._sprite[h._sprite][0]+Q._sprite[h._sprite][1])/1e3-D,w=1e3*p/Math.abs(h._rate);!Q._endTimers[B[u]]&&h._paused||(Q._clearTimer(B[u]),Q._endTimers[B[u]]=setTimeout(Q._ended.bind(Q,h),w)),Q._emit("rate",h._id)}return Q},seek:function(){var s,B,Q=this,n=arguments;if(n.length===0)Q._sounds.length&&(B=Q._sounds[0]._id);else if(n.length===1){var E=Q._getSoundIds(),l=E.indexOf(n[0]);l>=0?B=parseInt(n[0],10):Q._sounds.length&&(B=Q._sounds[0]._id,s=parseFloat(n[0]))}else n.length===2&&(s=parseFloat(n[0]),B=parseInt(n[1],10));if(B===void 0)return 0;if(typeof s=="number"&&(Q._state!=="loaded"||Q._playLock))return Q._queue.push({event:"seek",action:function(){Q.seek.apply(Q,n)}}),Q;var h=Q._soundById(B);if(h){if(!(typeof s=="number"&&s>=0)){if(Q._webAudio){var u=Q.playing(B)?g.ctx.currentTime-h._playStart:0,D=h._rateSeek?h._rateSeek-h._seek:0;return h._seek+(D+u*Math.abs(h._rate))}return h._node.currentTime}var p=Q.playing(B);p&&Q.pause(B,!0),h._seek=s,h._ended=!1,Q._clearTimer(B),Q._webAudio||!h._node||isNaN(h._node.duration)||(h._node.currentTime=s);var w=function(){p&&Q.play(B,!0),Q._emit("seek",B)};if(p&&!Q._webAudio){var k=function(){Q._playLock?setTimeout(k,0):w()};setTimeout(k,0)}else w()}return Q},playing:function(s){var B=this;if(typeof s=="number"){var Q=B._soundById(s);return!!Q&&!Q._paused}for(var n=0;n<B._sounds.length;n++)if(!B._sounds[n]._paused)return!0;return!1},duration:function(s){var B=this,Q=B._duration,n=B._soundById(s);return n&&(Q=B._sprite[n._sprite][1]/1e3),Q},state:function(){return this._state},unload:function(){for(var s=this,B=s._sounds,Q=0;Q<B.length;Q++)B[Q]._paused||s.stop(B[Q]._id),s._webAudio||(s._clearSound(B[Q]._node),B[Q]._node.removeEventListener("error",B[Q]._errorFn,!1),B[Q]._node.removeEventListener(g._canPlayEvent,B[Q]._loadFn,!1),B[Q]._node.removeEventListener("ended",B[Q]._endFn,!1),g._releaseHtml5Audio(B[Q]._node)),delete B[Q]._node,s._clearTimer(B[Q]._id);var n=g._howls.indexOf(s);n>=0&&g._howls.splice(n,1);var E=!0;for(Q=0;Q<g._howls.length;Q++)if(g._howls[Q]._src===s._src||s._src.indexOf(g._howls[Q]._src)>=0){E=!1;break}return i&&E&&delete i[s._src],g.noAudio=!1,s._state="unloaded",s._sounds=[],s=null,null},on:function(s,B,Q,n){var E=this,l=E["_on"+s];return typeof B=="function"&&l.push(n?{id:Q,fn:B,once:n}:{id:Q,fn:B}),E},off:function(s,B,Q){var n=this,E=n["_on"+s],l=0;if(typeof B=="number"&&(Q=B,B=null),B||Q)for(l=0;l<E.length;l++){var h=Q===E[l].id;if(B===E[l].fn&&h||!B&&h){E.splice(l,1);break}}else if(s)n["_on"+s]=[];else{var u=Object.keys(n);for(l=0;l<u.length;l++)u[l].indexOf("_on")===0&&Array.isArray(n[u[l]])&&(n[u[l]]=[])}return n},once:function(s,B,Q){var n=this;return n.on(s,B,Q,1),n},_emit:function(s,B,Q){for(var n=this,E=n["_on"+s],l=E.length-1;l>=0;l--)E[l].id&&E[l].id!==B&&s!=="load"||(setTimeout(function(h){h.call(this,B,Q)}.bind(n,E[l].fn),0),E[l].once&&n.off(s,E[l].fn,E[l].id));return n._loadQueue(s),n},_loadQueue:function(s){var B=this;if(B._queue.length>0){var Q=B._queue[0];Q.event===s&&(B._queue.shift(),B._loadQueue()),s||Q.action()}return B},_ended:function(s){var B=this,Q=s._sprite;if(!B._webAudio&&s._node&&!s._node.paused&&!s._node.ended&&s._node.currentTime<s._stop)return setTimeout(B._ended.bind(B,s),100),B;var n=!(!s._loop&&!B._sprite[Q][2]);if(B._emit("end",s._id),!B._webAudio&&n&&B.stop(s._id,!0).play(s._id),B._webAudio&&n){B._emit("play",s._id),s._seek=s._start||0,s._rateSeek=0,s._playStart=g.ctx.currentTime;var E=1e3*(s._stop-s._start)/Math.abs(s._rate);B._endTimers[s._id]=setTimeout(B._ended.bind(B,s),E)}return B._webAudio&&!n&&(s._paused=!0,s._ended=!0,s._seek=s._start||0,s._rateSeek=0,B._clearTimer(s._id),B._cleanBuffer(s._node),g._autoSuspend()),B._webAudio||n||B.stop(s._id,!0),B},_clearTimer:function(s){var B=this;if(B._endTimers[s]){if(typeof B._endTimers[s]!="function")clearTimeout(B._endTimers[s]);else{var Q=B._soundById(s);Q&&Q._node&&Q._node.removeEventListener("ended",B._endTimers[s],!1)}delete B._endTimers[s]}return B},_soundById:function(s){for(var B=this,Q=0;Q<B._sounds.length;Q++)if(s===B._sounds[Q]._id)return B._sounds[Q];return null},_inactiveSound:function(){var s=this;s._drain();for(var B=0;B<s._sounds.length;B++)if(s._sounds[B]._ended)return s._sounds[B].reset();return new I(s)},_drain:function(){var s=this,B=s._pool,Q=0,n=0;if(!(s._sounds.length<B)){for(n=0;n<s._sounds.length;n++)s._sounds[n]._ended&&Q++;for(n=s._sounds.length-1;n>=0;n--){if(Q<=B)return;s._sounds[n]._ended&&(s._webAudio&&s._sounds[n]._node&&s._sounds[n]._node.disconnect(0),s._sounds.splice(n,1),Q--)}}},_getSoundIds:function(s){var B=this;if(s===void 0){for(var Q=[],n=0;n<B._sounds.length;n++)Q.push(B._sounds[n]._id);return Q}return[s]},_refreshBuffer:function(s){var B=this;return s._node.bufferSource=g.ctx.createBufferSource(),s._node.bufferSource.buffer=i[B._src],s._panner?s._node.bufferSource.connect(s._panner):s._node.bufferSource.connect(s._node),s._node.bufferSource.loop=s._loop,s._loop&&(s._node.bufferSource.loopStart=s._start||0,s._node.bufferSource.loopEnd=s._stop||0),s._node.bufferSource.playbackRate.setValueAtTime(s._rate,g.ctx.currentTime),B},_cleanBuffer:function(s){var B=this,Q=g._navigator&&g._navigator.vendor.indexOf("Apple")>=0;if(g._scratchBuffer&&s.bufferSource&&(s.bufferSource.onended=null,s.bufferSource.disconnect(0),Q))try{s.bufferSource.buffer=g._scratchBuffer}catch{}return s.bufferSource=null,B},_clearSound:function(s){/MSIE |Trident\//.test(g._navigator&&g._navigator.userAgent)||(s.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var I=function(s){this._parent=s,this.init()};I.prototype={init:function(){var s=this,B=s._parent;return s._muted=B._muted,s._loop=B._loop,s._volume=B._volume,s._rate=B._rate,s._seek=0,s._paused=!0,s._ended=!0,s._sprite="__default",s._id=++g._counter,B._sounds.push(s),s.create(),s},create:function(){var s=this,B=s._parent,Q=g._muted||s._muted||s._parent._muted?0:s._volume;return B._webAudio?(s._node=g.ctx.createGain===void 0?g.ctx.createGainNode():g.ctx.createGain(),s._node.gain.setValueAtTime(Q,g.ctx.currentTime),s._node.paused=!0,s._node.connect(g.masterGain)):g.noAudio||(s._node=g._obtainHtml5Audio(),s._errorFn=s._errorListener.bind(s),s._node.addEventListener("error",s._errorFn,!1),s._loadFn=s._loadListener.bind(s),s._node.addEventListener(g._canPlayEvent,s._loadFn,!1),s._endFn=s._endListener.bind(s),s._node.addEventListener("ended",s._endFn,!1),s._node.src=B._src,s._node.preload=B._preload===!0?"auto":B._preload,s._node.volume=Q*g.volume(),s._node.load()),s},reset:function(){var s=this,B=s._parent;return s._muted=B._muted,s._loop=B._loop,s._volume=B._volume,s._rate=B._rate,s._seek=0,s._rateSeek=0,s._paused=!0,s._ended=!0,s._sprite="__default",s._id=++g._counter,s},_errorListener:function(){var s=this;s._parent._emit("loaderror",s._id,s._node.error?s._node.error.code:0),s._node.removeEventListener("error",s._errorFn,!1)},_loadListener:function(){var s=this,B=s._parent;B._duration=Math.ceil(10*s._node.duration)/10,Object.keys(B._sprite).length===0&&(B._sprite={__default:[0,1e3*B._duration]}),B._state!=="loaded"&&(B._state="loaded",B._emit("load"),B._loadQueue()),s._node.removeEventListener(g._canPlayEvent,s._loadFn,!1)},_endListener:function(){var s=this,B=s._parent;B._duration===1/0&&(B._duration=Math.ceil(10*s._node.duration)/10,B._sprite.__default[1]===1/0&&(B._sprite.__default[1]=1e3*B._duration),B._ended(s)),s._node.removeEventListener("ended",s._endFn,!1)}};var i={},t=function(s){var B=s._src;if(i[B])return s._duration=i[B].duration,void a(s);if(/^data:[^;]+;base64,/.test(B)){for(var Q=atob(B.split(",")[1]),n=new Uint8Array(Q.length),E=0;E<Q.length;++E)n[E]=Q.charCodeAt(E);o(n.buffer,s)}else{var l=new XMLHttpRequest;l.open(s._xhr.method,B,!0),l.withCredentials=s._xhr.withCredentials,l.responseType="arraybuffer",s._xhr.headers&&Object.keys(s._xhr.headers).forEach(function(h){l.setRequestHeader(h,s._xhr.headers[h])}),l.onload=function(){var h=(l.status+"")[0];if(h!=="0"&&h!=="2"&&h!=="3")return void s._emit("loaderror",null,"Failed loading audio file with status: "+l.status+".");o(l.response,s)},l.onerror=function(){s._webAudio&&(s._html5=!0,s._webAudio=!1,s._sounds=[],delete i[B],s.load())},C(l)}},C=function(s){try{s.send()}catch{s.onerror()}},o=function(s,B){var Q=function(){B._emit("loaderror",null,"Decoding audio data failed.")},n=function(E){E&&B._sounds.length>0?(i[B._src]=E,a(B,E)):Q()};typeof Promise<"u"&&g.ctx.decodeAudioData.length===1?g.ctx.decodeAudioData(s).then(n).catch(Q):g.ctx.decodeAudioData(s,n,Q)},a=function(s,B){B&&!s._duration&&(s._duration=B.duration),Object.keys(s._sprite).length===0&&(s._sprite={__default:[0,1e3*s._duration]}),s._state!=="loaded"&&(s._state="loaded",s._emit("load"),s._loadQueue())},r=function(){if(g.usingWebAudio){try{typeof AudioContext<"u"?g.ctx=new AudioContext:typeof webkitAudioContext<"u"?g.ctx=new webkitAudioContext:g.usingWebAudio=!1}catch{g.usingWebAudio=!1}g.ctx||(g.usingWebAudio=!1);var s=/iP(hone|od|ad)/.test(g._navigator&&g._navigator.platform),B=g._navigator&&g._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),Q=B?parseInt(B[1],10):null;if(s&&Q&&Q<9){var n=/safari/.test(g._navigator&&g._navigator.userAgent.toLowerCase());g._navigator&&!n&&(g.usingWebAudio=!1)}g.usingWebAudio&&(g.masterGain=g.ctx.createGain===void 0?g.ctx.createGainNode():g.ctx.createGain(),g.masterGain.gain.setValueAtTime(g._muted?0:g._volume,g.ctx.currentTime),g.masterGain.connect(g.ctx.destination)),g._setup()}};typeof define=="function"&&define.amd&&define([],function(){return{Howler:g,Howl:e}}),typeof exports<"u"&&(exports.Howler=g,exports.Howl=e),typeof global<"u"?(global.HowlerGlobal=A,global.Howler=g,global.Howl=e,global.Sound=I):typeof window<"u"&&(window.HowlerGlobal=A,window.Howler=g,window.Howl=e,window.Sound=I)})()});var vk={};kB(vk,{Bidi:()=>po,BoundingBox:()=>Ra,Font:()=>TI,Glyph:()=>YC,Path:()=>Li,_parse:()=>Ce,default:()=>OT,load:()=>Fk,loadSync:()=>Rk,parse:()=>Ud});function Oh(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function Gx(A,g){this.source=A,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=g,this.destLen=0,this.ltree=new Oh,this.dtree=new Oh}function OM(A,g,e,I){var i,t;for(i=0;i<e;++i)A[i]=0;for(i=0;i<30-e;++i)A[i+e]=i/e|0;for(t=I,i=0;i<30;++i)g[i]=t,t+=1<<A[i]}function Mx(A,g){var e;for(e=0;e<7;++e)A.table[e]=0;for(A.table[7]=24,A.table[8]=152,A.table[9]=112,e=0;e<24;++e)A.trans[e]=256+e;for(e=0;e<144;++e)A.trans[24+e]=e;for(e=0;e<8;++e)A.trans[168+e]=280+e;for(e=0;e<112;++e)A.trans[176+e]=144+e;for(e=0;e<5;++e)g.table[e]=0;for(g.table[5]=32,e=0;e<32;++e)g.trans[e]=e}function ty(A,g,e,I){var i,t;for(i=0;i<16;++i)A.table[i]=0;for(i=0;i<I;++i)A.table[g[e+i]]++;for(A.table[0]=0,t=0,i=0;i<16;++i)gM[i]=t,t+=A.table[i];for(i=0;i<I;++i)g[e+i]&&(A.trans[gM[g[e+i]]++]=i)}function kx(A){A.bitcount--||(A.tag=A.source[A.sourceIndex++],A.bitcount=7);var g=A.tag&1;return A.tag>>>=1,g}function Ua(A,g,e){if(!g)return e;for(;A.bitcount<24;)A.tag|=A.source[A.sourceIndex++]<<A.bitcount,A.bitcount+=8;var I=A.tag&65535>>>16-g;return A.tag>>>=g,A.bitcount-=g,I+e}function Ey(A,g){for(;A.bitcount<24;)A.tag|=A.source[A.sourceIndex++]<<A.bitcount,A.bitcount+=8;var e=0,I=0,i=0,t=A.tag;do I=2*I+(t&1),t>>>=1,++i,e+=g.table[i],I-=g.table[i];while(I>=0);return A.tag=t,A.bitcount-=i,g.trans[e+I]}function Ux(A,g,e){var I,i,t,C,o,a;for(I=Ua(A,5,257),i=Ua(A,5,1),t=Ua(A,4,4),C=0;C<19;++C)ka[C]=0;for(C=0;C<t;++C){var r=Ua(A,3,0);ka[mx[C]]=r}for(ty(AM,ka,0,19),o=0;o<I+i;){var s=Ey(A,AM);switch(s){case 16:var B=ka[o-1];for(a=Ua(A,2,3);a;--a)ka[o++]=B;break;case 17:for(a=Ua(A,3,3);a;--a)ka[o++]=0;break;case 18:for(a=Ua(A,7,11);a;--a)ka[o++]=0;break;default:ka[o++]=s;break}}ty(g,ka,0,I),ty(e,ka,I,i)}function eM(A,g,e){for(;;){var I=Ey(A,g);if(I===256)return fy;if(I<256)A.dest[A.destLen++]=I;else{var i,t,C,o;for(I-=257,i=Ua(A,Sy[I],Gy[I]),t=Ey(A,e),C=A.destLen-Ua(A,HM[t],TM[t]),o=C;o<C+i;++o)A.dest[A.destLen++]=A.dest[o]}}}function Nx(A){for(var g,e,I;A.bitcount>8;)A.sourceIndex--,A.bitcount-=8;if(g=A.source[A.sourceIndex+1],g=256*g+A.source[A.sourceIndex],e=A.source[A.sourceIndex+3],e=256*e+A.source[A.sourceIndex+2],g!==(~e&65535))return LM;for(A.sourceIndex+=4,I=g;I;--I)A.dest[A.destLen++]=A.source[A.sourceIndex++];return A.bitcount=0,fy}function Fx(A,g){var e=new Gx(A,g),I,i,t;do{switch(I=kx(e),i=Ua(e,2,0),i){case 0:t=Nx(e);break;case 1:t=eM(e,xM,YM);break;case 2:Ux(e,e.ltree,e.dtree),t=eM(e,e.ltree,e.dtree);break;default:t=LM}if(t!==fy)throw new Error("Data error")}while(!I);return e.destLen<e.dest.length?typeof e.dest.slice=="function"?e.dest.slice(0,e.destLen):e.dest.subarray(0,e.destLen):e.dest}function hn(A,g,e,I,i){return Math.pow(1-i,3)*A+3*Math.pow(1-i,2)*i*g+3*(1-i)*Math.pow(i,2)*e+Math.pow(i,3)*I}function Ra(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}function Li(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}function _M(A){throw new Error(A)}function IM(A,g){A||_M(g)}function Zo(A){return function(){return A}}function ly(A){return A>=-128&&A<=127}function Kx(A,g,e){for(var I=0,i=A.length;g<i&&I<64&&A[g]===0;)++g,++I;return e.push(128|I-1),g}function Jx(A,g,e){for(var I=0,i=A.length,t=g;t<i&&I<64;){var C=A[t];if(!ly(C)||C===0&&t+1<i&&A[t+1]===0)break;++t,++I}e.push(I-1);for(var o=g;o<t;++o)e.push(A[o]+256&255);return t}function qx(A,g,e){for(var I=0,i=A.length,t=g;t<i&&I<64;){var C=A[t];if(C===0||ly(C)&&t+1<i&&ly(A[t+1]))break;++t,++I}e.push(64|I-1);for(var o=g;o<t;++o){var a=A[o];e.push(a+65536>>8&255,a+256&255)}return t}function Ut(A,g,e){if(g.length&&(g[0].name!=="coverageFormat"||g[0].value===1))for(var I=0;I<g.length;I+=1){var i=g[I];this[i.name]=i.value}if(this.tableName=A,this.fields=g,e)for(var t=Object.keys(e),C=0;C<t.length;C+=1){var o=t[C],a=e[o];this[o]!==void 0&&(this[o]=a)}}function _h(A,g,e){e===void 0&&(e=g.length);var I=new Array(g.length+1);I[0]={name:A+"Count",type:"USHORT",value:e};for(var i=0;i<g.length;i++)I[i+1]={name:A+i,type:"USHORT",value:g[i]};return I}function cy(A,g,e){var I=g.length,i=new Array(I+1);i[0]={name:A+"Count",type:"USHORT",value:I};for(var t=0;t<I;t++)i[t+1]={name:A+t,type:"TABLE",value:e(g[t],t)};return i}function Ph(A,g,e){var I=g.length,i=[];i[0]={name:A+"Count",type:"USHORT",value:I};for(var t=0;t<I;t++)i=i.concat(e(g[t],t));return i}function yd(A){A.format===1?Ut.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(_h("glyph",A.glyphs))):A.format===2?Ut.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(Ph("rangeRecord",A.ranges,function(g){return[{name:"startGlyphID",type:"USHORT",value:g.start},{name:"endGlyphID",type:"USHORT",value:g.end},{name:"startCoverageIndex",type:"USHORT",value:g.index}]}))):ve.assert(!1,"Coverage format must be 1 or 2.")}function wd(A){Ut.call(this,"scriptListTable",Ph("scriptRecord",A,function(g,e){var I=g.script,i=I.defaultLangSys;return ve.assert(!!i,"Unable to write GSUB: script "+g.tag+" has no default language system."),[{name:"scriptTag"+e,type:"TAG",value:g.tag},{name:"script"+e,type:"TABLE",value:new Ut("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new Ut("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:i.reqFeatureIndex}].concat(_h("featureIndex",i.featureIndexes)))}].concat(Ph("langSys",I.langSysRecords,function(t,C){var o=t.langSys;return[{name:"langSysTag"+C,type:"TAG",value:t.tag},{name:"langSys"+C,type:"TABLE",value:new Ut("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:o.reqFeatureIndex}].concat(_h("featureIndex",o.featureIndexes)))}]})))}]}))}function fd(A){Ut.call(this,"featureListTable",Ph("featureRecord",A,function(g,e){var I=g.feature;return[{name:"featureTag"+e,type:"TAG",value:g.tag},{name:"feature"+e,type:"TABLE",value:new Ut("featureTable",[{name:"featureParams",type:"USHORT",value:I.featureParams}].concat(_h("lookupListIndex",I.lookupListIndexes)))}]}))}function Sd(A,g){Ut.call(this,"lookupListTable",cy("lookup",A,function(e){var I=g[e.lookupType];return ve.assert(!!I,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new Ut("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(cy("subtable",e.subtables,I)))}))}function CM(A,g){return A.getUint8(g)}function Gd(A,g){return A.getUint16(g,!1)}function bx(A,g){return A.getInt16(g,!1)}function my(A,g){return A.getUint32(g,!1)}function PM(A,g){var e=A.getInt16(g,!1),I=A.getUint16(g+2,!1);return e+I/65535}function Lx(A,g){for(var e="",I=g;I<g+4;I+=1)e+=String.fromCharCode(A.getInt8(I));return e}function xx(A,g,e){for(var I=0,i=0;i<e;i+=1)I<<=8,I+=A.getUint8(g+i);return I}function Yx(A,g,e){for(var I=[],i=g;i<e;i+=1)I.push(A.getUint8(i));return I}function Hx(A){for(var g="",e=0;e<A.length;e+=1)g+=String.fromCharCode(A[e]);return g}function Ag(A,g){this.data=A,this.offset=g,this.relativeOffset=0}function Ox(A,g){g.parseUShort(),A.length=g.parseULong(),A.language=g.parseULong();var e;A.groupCount=e=g.parseULong(),A.glyphIndexMap={};for(var I=0;I<e;I+=1)for(var i=g.parseULong(),t=g.parseULong(),C=g.parseULong(),o=i;o<=t;o+=1)A.glyphIndexMap[o]=C,C++}function _x(A,g,e,I,i){A.length=g.parseUShort(),A.language=g.parseUShort();var t;A.segCount=t=g.parseUShort()>>1,g.skip("uShort",3),A.glyphIndexMap={};for(var C=new Ce.Parser(e,I+i+14),o=new Ce.Parser(e,I+i+16+t*2),a=new Ce.Parser(e,I+i+16+t*4),r=new Ce.Parser(e,I+i+16+t*6),s=I+i+16+t*8,B=0;B<t-1;B+=1)for(var Q=void 0,n=C.parseUShort(),E=o.parseUShort(),l=a.parseShort(),h=r.parseUShort(),u=E;u<=n;u+=1)h!==0?(s=r.offset+r.relativeOffset-2,s+=h,s+=(u-E)*2,Q=Ce.getUShort(e,s),Q!==0&&(Q=Q+l&65535)):Q=u+l&65535,A.glyphIndexMap[u]=Q}function Px(A,g){var e={};e.version=Ce.getUShort(A,g),ve.argument(e.version===0,"cmap table version should be 0."),e.numTables=Ce.getUShort(A,g+2);for(var I=-1,i=e.numTables-1;i>=0;i-=1){var t=Ce.getUShort(A,g+4+i*8),C=Ce.getUShort(A,g+4+i*8+2);if(t===3&&(C===0||C===1||C===10)||t===0&&(C===0||C===1||C===2||C===3||C===4)){I=Ce.getULong(A,g+4+i*8+4);break}}if(I===-1)throw new Error("No valid cmap sub-tables found.");var o=new Ce.Parser(A,g+I);if(e.format=o.parseUShort(),e.format===12)Ox(e,o);else if(e.format===4)_x(e,o,A,g,I);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+e.format+").");return e}function jx(A,g,e){A.segments.push({end:g,start:g,delta:-(g-e),offset:0,glyphIndex:e})}function Wx(A){A.segments.push({end:65535,start:65535,delta:1,offset:0})}function zx(A){var g=!0,e;for(e=A.length-1;e>0;e-=1){var I=A.get(e);if(I.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),g=!1;break}}var i=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:g?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:g?12:20}];g||(i=i.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),i=i.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var t=new ie.Table("cmap",i);for(t.segments=[],e=0;e<A.length;e+=1){for(var C=A.get(e),o=0;o<C.unicodes.length;o+=1)jx(t,C.unicodes[o],e);t.segments=t.segments.sort(function(D,p){return D.start-p.start})}Wx(t);var a=t.segments.length,r=0,s=[],B=[],Q=[],n=[],E=[],l=[];for(e=0;e<a;e+=1){var h=t.segments[e];h.end<=65535&&h.start<=65535?(s=s.concat({name:"end_"+e,type:"USHORT",value:h.end}),B=B.concat({name:"start_"+e,type:"USHORT",value:h.start}),Q=Q.concat({name:"idDelta_"+e,type:"SHORT",value:h.delta}),n=n.concat({name:"idRangeOffset_"+e,type:"USHORT",value:h.offset}),h.glyphId!==void 0&&(E=E.concat({name:"glyph_"+e,type:"USHORT",value:h.glyphId}))):r+=1,!g&&h.glyphIndex!==void 0&&(l=l.concat({name:"cmap12Start_"+e,type:"ULONG",value:h.start}),l=l.concat({name:"cmap12End_"+e,type:"ULONG",value:h.end}),l=l.concat({name:"cmap12Glyph_"+e,type:"ULONG",value:h.glyphIndex}))}if(t.segCountX2=(a-r)*2,t.searchRange=Math.pow(2,Math.floor(Math.log(a-r)/Math.log(2)))*2,t.entrySelector=Math.log(t.searchRange/2)/Math.log(2),t.rangeShift=t.segCountX2-t.searchRange,t.fields=t.fields.concat(s),t.fields.push({name:"reservedPad",type:"USHORT",value:0}),t.fields=t.fields.concat(B),t.fields=t.fields.concat(Q),t.fields=t.fields.concat(n),t.fields=t.fields.concat(E),t.cmap4Length=14+s.length*2+2+B.length*2+Q.length*2+n.length*2+E.length*2,!g){var u=16+l.length*4;t.cmap12Offset=12+2*2+4+t.cmap4Length,t.fields=t.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:u},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:l.length/3}]),t.fields=t.fields.concat(l)}return t}function WM(A){this.font=A}function zM(A){this.cmap=A}function md(A,g){this.encoding=A,this.charset=g}function My(A){switch(A.version){case 1:this.names=xB.slice();break;case 2:this.names=new Array(A.numberOfGlyphs);for(var g=0;g<A.numberOfGlyphs;g++)A.glyphNameIndex[g]<xB.length?this.names[g]=xB[A.glyphNameIndex[g]]:this.names[g]=A.names[A.glyphNameIndex[g]-xB.length];break;case 2.5:this.names=new Array(A.numberOfGlyphs);for(var e=0;e<A.numberOfGlyphs;e++)this.names[e]=xB[e+A.glyphNameIndex[e]];break;case 3:this.names=[];break;default:this.names=[];break}}function Xx(A){for(var g,e=A.tables.cmap.glyphIndexMap,I=Object.keys(e),i=0;i<I.length;i+=1){var t=I[i],C=e[t];g=A.glyphs.get(C),g.addUnicode(parseInt(t))}for(var o=0;o<A.glyphs.length;o+=1)g=A.glyphs.get(o),A.cffEncoding?A.isCIDFont?g.name="gid"+o:g.name=A.cffEncoding.charset[o]:A.glyphNames.names&&(g.name=A.glyphNames.glyphIndexToName(o))}function $x(A){A._IndexToUnicodeMap={};for(var g=A.tables.cmap.glyphIndexMap,e=Object.keys(g),I=0;I<e.length;I+=1){var i=e[I],t=g[i];A._IndexToUnicodeMap[t]===void 0?A._IndexToUnicodeMap[t]={unicodes:[parseInt(i)]}:A._IndexToUnicodeMap[t].unicodes.push(parseInt(i))}}function A1(A,g){g.lowMemory?$x(A):Xx(A)}function g1(A,g,e,I,i){A.beginPath(),A.moveTo(g,e),A.lineTo(I,i),A.stroke()}function e1(A,g){var e=g||new Li;return{configurable:!0,get:function(){return typeof e=="function"&&(e=e()),e},set:function(I){e=I}}}function YC(A){this.bindConstructorValues(A)}function dd(A,g,e){Object.defineProperty(A,g,{get:function(){return A.path,A[e]},set:function(I){A[e]=I},enumerable:!0,configurable:!0})}function ky(A,g){if(this.font=A,this.glyphs={},Array.isArray(g))for(var e=0;e<g.length;e++){var I=g[e];I.path.unitsPerEm=A.unitsPerEm,this.glyphs[e]=I}this.length=g&&g.length||0}function I1(A,g){return new YC({index:g,font:A})}function i1(A,g,e,I,i,t){return function(){var C=new YC({index:g,font:A});return C.path=function(){e(C,I,i);var o=t(A.glyphs,C);return o.unitsPerEm=A.unitsPerEm,o},dd(C,"xMin","_xMin"),dd(C,"xMax","_xMax"),dd(C,"yMin","_yMin"),dd(C,"yMax","_yMax"),C}}function t1(A,g,e,I){return function(){var i=new YC({index:g,font:A});return i.path=function(){var t=e(A,i,I);return t.unitsPerEm=A.unitsPerEm,t},i}}function VM(A,g){if(A===g)return!0;if(Array.isArray(A)&&Array.isArray(g)){if(A.length!==g.length)return!1;for(var e=0;e<A.length;e+=1)if(!VM(A[e],g[e]))return!1;return!0}else return!1}function dy(A){var g;return A.length<1240?g=107:A.length<33900?g=1131:g=32768,g}function vs(A,g,e){var I=[],i=[],t=Ce.getCard16(A,g),C,o;if(t!==0){var a=Ce.getByte(A,g+2);C=g+(t+1)*a+2;for(var r=g+3,s=0;s<t+1;s+=1)I.push(Ce.getOffset(A,r,a)),r+=a;o=C+I[t]}else o=g+2;for(var B=0;B<I.length-1;B+=1){var Q=Ce.getBytes(A,C+I[B],C+I[B+1]);e&&(Q=e(Q)),i.push(Q)}return{objects:i,startOffset:g,endOffset:o}}function C1(A,g){var e=[],I=Ce.getCard16(A,g),i,t;if(I!==0){var C=Ce.getByte(A,g+2);i=g+(I+1)*C+2;for(var o=g+3,a=0;a<I+1;a+=1)e.push(Ce.getOffset(A,o,C)),o+=C;t=i+e[I]}else t=g+2;return{offsets:e,startOffset:g,endOffset:t}}function o1(A,g,e,I,i){var t=Ce.getCard16(e,I),C=0;if(t!==0){var o=Ce.getByte(e,I+2);C=I+(t+1)*o+2}var a=Ce.getBytes(e,C+g[A],C+g[A+1]);return i&&(a=i(a)),a}function a1(A){for(var g="",e=15,I=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var i=A.parseByte(),t=i>>4,C=i&15;if(t===e||(g+=I[t],C===e))break;g+=I[C]}return parseFloat(g)}function r1(A,g){var e,I,i,t;if(g===28)return e=A.parseByte(),I=A.parseByte(),e<<8|I;if(g===29)return e=A.parseByte(),I=A.parseByte(),i=A.parseByte(),t=A.parseByte(),e<<24|I<<16|i<<8|t;if(g===30)return a1(A);if(g>=32&&g<=246)return g-139;if(g>=247&&g<=250)return e=A.parseByte(),(g-247)*256+e+108;if(g>=251&&g<=254)return e=A.parseByte(),-(g-251)*256-e-108;throw new Error("Invalid b0 "+g)}function s1(A){for(var g={},e=0;e<A.length;e+=1){var I=A[e][0],i=A[e][1],t=void 0;if(i.length===1?t=i[0]:t=i,g.hasOwnProperty(I)&&!isNaN(g[I]))throw new Error("Object "+g+" already has key "+I);g[I]=t}return g}function ZM(A,g,e){g=g!==void 0?g:0;var I=new Ce.Parser(A,g),i=[],t=[];for(e=e!==void 0?e:A.length;I.relativeOffset<e;){var C=I.parseByte();C<=21?(C===12&&(C=1200+I.parseByte()),i.push([C,t]),t=[]):t.push(r1(I,C))}return s1(i)}function Th(A,g){return g<=390?g=Dd[g]:g=A[g-391],g}function XM(A,g,e){for(var I={},i,t=0;t<g.length;t+=1){var C=g[t];if(Array.isArray(C.type)){var o=[];o.length=C.type.length;for(var a=0;a<C.type.length;a++)i=A[C.op]!==void 0?A[C.op][a]:void 0,i===void 0&&(i=C.value!==void 0&&C.value[a]!==void 0?C.value[a]:null),C.type[a]==="SID"&&(i=Th(e,i)),o[a]=i;I[C.name]=o}else i=A[C.op],i===void 0&&(i=C.value!==void 0?C.value:null),C.type==="SID"&&(i=Th(e,i)),I[C.name]=i}return I}function B1(A,g){var e={};return e.formatMajor=Ce.getCard8(A,g),e.formatMinor=Ce.getCard8(A,g+1),e.size=Ce.getCard8(A,g+2),e.offsetSize=Ce.getCard8(A,g+3),e.startOffset=g,e.endOffset=g+4,e}function Q1(A,g){var e=ZM(A,0,A.byteLength);return XM(e,$M,g)}function gk(A,g,e,I){var i=ZM(A,g,e);return XM(i,Ak,I)}function aM(A,g,e,I){for(var i=[],t=0;t<e.length;t+=1){var C=new DataView(new Uint8Array(e[t]).buffer),o=Q1(C,I);o._subrs=[],o._subrsBias=0,o._defaultWidthX=0,o._nominalWidthX=0;var a=o.private[0],r=o.private[1];if(a!==0&&r!==0){var s=gk(A,r+g,a,I);if(o._defaultWidthX=s.defaultWidthX,o._nominalWidthX=s.nominalWidthX,s.subrs!==0){var B=r+s.subrs,Q=vs(A,B+g);o._subrs=Q.objects,o._subrsBias=dy(o._subrs)}o._privateDict=s}i.push(o)}return i}function n1(A,g,e,I){var i,t,C=new Ce.Parser(A,g);e-=1;var o=[".notdef"],a=C.parseCard8();if(a===0)for(var r=0;r<e;r+=1)i=C.parseSID(),o.push(Th(I,i));else if(a===1)for(;o.length<=e;){i=C.parseSID(),t=C.parseCard8();for(var s=0;s<=t;s+=1)o.push(Th(I,i)),i+=1}else if(a===2)for(;o.length<=e;){i=C.parseSID(),t=C.parseCard16();for(var B=0;B<=t;B+=1)o.push(Th(I,i)),i+=1}else throw new Error("Unknown charset format "+a);return o}function E1(A,g,e){var I,i={},t=new Ce.Parser(A,g),C=t.parseCard8();if(C===0)for(var o=t.parseCard8(),a=0;a<o;a+=1)I=t.parseCard8(),i[I]=a;else if(C===1){var r=t.parseCard8();I=1;for(var s=0;s<r;s+=1)for(var B=t.parseCard8(),Q=t.parseCard8(),n=B;n<=B+Q;n+=1)i[n]=I,I+=1}else throw new Error("Unknown encoding format "+C);return new md(i,e)}function rM(A,g,e){var I,i,t,C,o=new Li,a=[],r=0,s=!1,B=!1,Q=0,n=0,E,l,h,u;if(A.isCIDFont){var D=A.tables.cff.topDict._fdSelect[g.index],p=A.tables.cff.topDict._fdArray[D];E=p._subrs,l=p._subrsBias,h=p._defaultWidthX,u=p._nominalWidthX}else E=A.tables.cff.topDict._subrs,l=A.tables.cff.topDict._subrsBias,h=A.tables.cff.topDict._defaultWidthX,u=A.tables.cff.topDict._nominalWidthX;var w=h;function k(G,R){B&&o.closePath(),o.moveTo(G,R),B=!0}function U(){var G;G=a.length%2!==0,G&&!s&&(w=a.shift()+u),r+=a.length>>1,a.length=0,s=!0}function N(G){for(var R,J,q,T,P,H,eA,rA,BA,aA,yA,SA,pA=0;pA<G.length;){var wA=G[pA];switch(pA+=1,wA){case 1:U();break;case 3:U();break;case 4:a.length>1&&!s&&(w=a.shift()+u,s=!0),n+=a.pop(),k(Q,n);break;case 5:for(;a.length>0;)Q+=a.shift(),n+=a.shift(),o.lineTo(Q,n);break;case 6:for(;a.length>0&&(Q+=a.shift(),o.lineTo(Q,n),a.length!==0);)n+=a.shift(),o.lineTo(Q,n);break;case 7:for(;a.length>0&&(n+=a.shift(),o.lineTo(Q,n),a.length!==0);)Q+=a.shift(),o.lineTo(Q,n);break;case 8:for(;a.length>0;)I=Q+a.shift(),i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),Q=t+a.shift(),n=C+a.shift(),o.curveTo(I,i,t,C,Q,n);break;case 10:P=a.pop()+l,H=E[P],H&&N(H);break;case 11:return;case 12:switch(wA=G[pA],pA+=1,wA){case 35:I=Q+a.shift(),i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),eA=t+a.shift(),rA=C+a.shift(),BA=eA+a.shift(),aA=rA+a.shift(),yA=BA+a.shift(),SA=aA+a.shift(),Q=yA+a.shift(),n=SA+a.shift(),a.shift(),o.curveTo(I,i,t,C,eA,rA),o.curveTo(BA,aA,yA,SA,Q,n);break;case 34:I=Q+a.shift(),i=n,t=I+a.shift(),C=i+a.shift(),eA=t+a.shift(),rA=C,BA=eA+a.shift(),aA=C,yA=BA+a.shift(),SA=n,Q=yA+a.shift(),o.curveTo(I,i,t,C,eA,rA),o.curveTo(BA,aA,yA,SA,Q,n);break;case 36:I=Q+a.shift(),i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),eA=t+a.shift(),rA=C,BA=eA+a.shift(),aA=C,yA=BA+a.shift(),SA=aA+a.shift(),Q=yA+a.shift(),o.curveTo(I,i,t,C,eA,rA),o.curveTo(BA,aA,yA,SA,Q,n);break;case 37:I=Q+a.shift(),i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),eA=t+a.shift(),rA=C+a.shift(),BA=eA+a.shift(),aA=rA+a.shift(),yA=BA+a.shift(),SA=aA+a.shift(),Math.abs(yA-Q)>Math.abs(SA-n)?Q=yA+a.shift():n=SA+a.shift(),o.curveTo(I,i,t,C,eA,rA),o.curveTo(BA,aA,yA,SA,Q,n);break;default:console.log("Glyph "+g.index+": unknown operator 1200"+wA),a.length=0}break;case 14:a.length>0&&!s&&(w=a.shift()+u,s=!0),B&&(o.closePath(),B=!1);break;case 18:U();break;case 19:case 20:U(),pA+=r+7>>3;break;case 21:a.length>2&&!s&&(w=a.shift()+u,s=!0),n+=a.pop(),Q+=a.pop(),k(Q,n);break;case 22:a.length>1&&!s&&(w=a.shift()+u,s=!0),Q+=a.pop(),k(Q,n);break;case 23:U();break;case 24:for(;a.length>2;)I=Q+a.shift(),i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),Q=t+a.shift(),n=C+a.shift(),o.curveTo(I,i,t,C,Q,n);Q+=a.shift(),n+=a.shift(),o.lineTo(Q,n);break;case 25:for(;a.length>6;)Q+=a.shift(),n+=a.shift(),o.lineTo(Q,n);I=Q+a.shift(),i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),Q=t+a.shift(),n=C+a.shift(),o.curveTo(I,i,t,C,Q,n);break;case 26:for(a.length%2&&(Q+=a.shift());a.length>0;)I=Q,i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),Q=t,n=C+a.shift(),o.curveTo(I,i,t,C,Q,n);break;case 27:for(a.length%2&&(n+=a.shift());a.length>0;)I=Q+a.shift(),i=n,t=I+a.shift(),C=i+a.shift(),Q=t+a.shift(),n=C,o.curveTo(I,i,t,C,Q,n);break;case 28:R=G[pA],J=G[pA+1],a.push((R<<24|J<<16)>>16),pA+=2;break;case 29:P=a.pop()+A.gsubrsBias,H=A.gsubrs[P],H&&N(H);break;case 30:for(;a.length>0&&(I=Q,i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),Q=t+a.shift(),n=C+(a.length===1?a.shift():0),o.curveTo(I,i,t,C,Q,n),a.length!==0);)I=Q+a.shift(),i=n,t=I+a.shift(),C=i+a.shift(),n=C+a.shift(),Q=t+(a.length===1?a.shift():0),o.curveTo(I,i,t,C,Q,n);break;case 31:for(;a.length>0&&(I=Q+a.shift(),i=n,t=I+a.shift(),C=i+a.shift(),n=C+a.shift(),Q=t+(a.length===1?a.shift():0),o.curveTo(I,i,t,C,Q,n),a.length!==0);)I=Q,i=n+a.shift(),t=I+a.shift(),C=i+a.shift(),Q=t+a.shift(),n=C+(a.length===1?a.shift():0),o.curveTo(I,i,t,C,Q,n);break;default:wA<32?console.log("Glyph "+g.index+": unknown operator "+wA):wA<247?a.push(wA-139):wA<251?(R=G[pA],pA+=1,a.push((wA-247)*256+R+108)):wA<255?(R=G[pA],pA+=1,a.push(-(wA-251)*256-R-108)):(R=G[pA],J=G[pA+1],q=G[pA+2],T=G[pA+3],pA+=4,a.push((R<<24|J<<16|q<<8|T)/65536))}}}return N(e),g.advanceWidth=w,o}function h1(A,g,e,I){var i=[],t,C=new Ce.Parser(A,g),o=C.parseCard8();if(o===0)for(var a=0;a<e;a++){if(t=C.parseCard8(),t>=I)throw new Error("CFF table CID Font FDSelect has bad FD index value "+t+" (FD count "+I+")");i.push(t)}else if(o===3){var r=C.parseCard16(),s=C.parseCard16();if(s!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+s);for(var B,Q=0;Q<r;Q++){if(t=C.parseCard8(),B=C.parseCard16(),t>=I)throw new Error("CFF table CID Font FDSelect has bad FD index value "+t+" (FD count "+I+")");if(B>e)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+B);for(;s<B;s++)i.push(t);s=B}if(B!==e)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+B)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+o);return i}function l1(A,g,e,I){e.tables.cff={};var i=B1(A,g),t=vs(A,i.endOffset,Ce.bytesToString),C=vs(A,t.endOffset),o=vs(A,C.endOffset,Ce.bytesToString),a=vs(A,o.endOffset);e.gsubrs=a.objects,e.gsubrsBias=dy(e.gsubrs);var r=aM(A,g,C.objects,o.objects);if(r.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+r.length);var s=r[0];if(e.tables.cff.topDict=s,s._privateDict&&(e.defaultWidthX=s._privateDict.defaultWidthX,e.nominalWidthX=s._privateDict.nominalWidthX),s.ros[0]!==void 0&&s.ros[1]!==void 0&&(e.isCIDFont=!0),e.isCIDFont){var B=s.fdArray,Q=s.fdSelect;if(B===0||Q===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");B+=g;var n=vs(A,B),E=aM(A,g,n.objects,o.objects);s._fdArray=E,Q+=g,s._fdSelect=h1(A,Q,e.numGlyphs,E.length)}var l=g+s.private[1],h=gk(A,l,s.private[0],o.objects);if(e.defaultWidthX=h.defaultWidthX,e.nominalWidthX=h.nominalWidthX,h.subrs!==0){var u=l+h.subrs,D=vs(A,u);e.subrs=D.objects,e.subrsBias=dy(e.subrs)}else e.subrs=[],e.subrsBias=0;var p;I.lowMemory?(p=C1(A,g+s.charStrings),e.nGlyphs=p.offsets.length):(p=vs(A,g+s.charStrings),e.nGlyphs=p.objects.length);var w=n1(A,g+s.charset,e.nGlyphs,o.objects);if(s.encoding===0?e.cffEncoding=new md(Vx,w):s.encoding===1?e.cffEncoding=new md(Zx,w):e.cffEncoding=E1(A,g+s.encoding,w),e.encoding=e.encoding||e.cffEncoding,e.glyphs=new Fa.GlyphSet(e),I.lowMemory)e._push=function(N){var G=o1(N,p.offsets,A,g+s.charStrings);e.glyphs.push(N,Fa.cffGlyphLoader(e,N,rM,G))};else for(var k=0;k<e.nGlyphs;k+=1){var U=p.objects[k];e.glyphs.push(k,Fa.cffGlyphLoader(e,k,rM,U))}}function ek(A,g){var e,I=Dd.indexOf(A);return I>=0&&(e=I),I=g.indexOf(A),I>=0?e=I+Dd.length:(e=Dd.length+g.length,g.push(A)),e}function c1(){return new ie.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function d1(A){var g=new ie.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);g.names=[];for(var e=0;e<A.length;e+=1)g.names.push({name:"name_"+e,type:"NAME",value:A[e]});return g}function Ik(A,g,e){for(var I={},i=0;i<A.length;i+=1){var t=A[i],C=g[t.name];C!==void 0&&!VM(C,t.value)&&(t.type==="SID"&&(C=ek(C,e)),I[t.op]={name:t.name,type:t.type,value:C})}return I}function sM(A,g){var e=new ie.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return e.dict=Ik($M,A,g),e}function BM(A){var g=new ie.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return g.topDicts=[{name:"topDict_0",type:"TABLE",value:A}],g}function u1(A){var g=new ie.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);g.strings=[];for(var e=0;e<A.length;e+=1)g.strings.push({name:"string_"+e,type:"STRING",value:A[e]});return g}function D1(){return new ie.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function p1(A,g){for(var e=new ie.Record("Charsets",[{name:"format",type:"Card8",value:0}]),I=0;I<A.length;I+=1){var i=A[I],t=ek(i,g);e.fields.push({name:"glyph_"+I,type:"SID",value:t})}return e}function y1(A){var g=[],e=A.path;g.push({name:"width",type:"NUMBER",value:A.advanceWidth});for(var I=0,i=0,t=0;t<e.commands.length;t+=1){var C=void 0,o=void 0,a=e.commands[t];if(a.type==="Q"){var r=.3333333333333333,s=2/3;a={type:"C",x:a.x,y:a.y,x1:Math.round(r*I+s*a.x1),y1:Math.round(r*i+s*a.y1),x2:Math.round(r*a.x+s*a.x1),y2:Math.round(r*a.y+s*a.y1)}}if(a.type==="M")C=Math.round(a.x-I),o=Math.round(a.y-i),g.push({name:"dx",type:"NUMBER",value:C}),g.push({name:"dy",type:"NUMBER",value:o}),g.push({name:"rmoveto",type:"OP",value:21}),I=Math.round(a.x),i=Math.round(a.y);else if(a.type==="L")C=Math.round(a.x-I),o=Math.round(a.y-i),g.push({name:"dx",type:"NUMBER",value:C}),g.push({name:"dy",type:"NUMBER",value:o}),g.push({name:"rlineto",type:"OP",value:5}),I=Math.round(a.x),i=Math.round(a.y);else if(a.type==="C"){var B=Math.round(a.x1-I),Q=Math.round(a.y1-i),n=Math.round(a.x2-a.x1),E=Math.round(a.y2-a.y1);C=Math.round(a.x-a.x2),o=Math.round(a.y-a.y2),g.push({name:"dx1",type:"NUMBER",value:B}),g.push({name:"dy1",type:"NUMBER",value:Q}),g.push({name:"dx2",type:"NUMBER",value:n}),g.push({name:"dy2",type:"NUMBER",value:E}),g.push({name:"dx",type:"NUMBER",value:C}),g.push({name:"dy",type:"NUMBER",value:o}),g.push({name:"rrcurveto",type:"OP",value:8}),I=Math.round(a.x),i=Math.round(a.y)}}return g.push({name:"endchar",type:"OP",value:14}),g}function w1(A){for(var g=new ie.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),e=0;e<A.length;e+=1){var I=A.get(e),i=y1(I);g.charStrings.push({name:I.name,type:"CHARSTRING",value:i})}return g}function f1(A,g){var e=new ie.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return e.dict=Ik(Ak,A,g),e}function S1(A,g){for(var e=new ie.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),I=1/g.unitsPerEm,i={version:g.version,fullName:g.fullName,familyName:g.familyName,weight:g.weightName,fontBBox:g.fontBBox||[0,0,0,0],fontMatrix:[I,0,0,I,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},t={},C=[],o,a=1;a<A.length;a+=1)o=A.get(a),C.push(o.name);var r=[];e.header=c1(),e.nameIndex=d1([g.postScriptName]);var s=sM(i,r);e.topDictIndex=BM(s),e.globalSubrIndex=D1(),e.charsets=p1(C,r),e.charStringsIndex=w1(A),e.privateDict=f1(t,r),e.stringIndex=u1(r);var B=e.header.sizeOf()+e.nameIndex.sizeOf()+e.topDictIndex.sizeOf()+e.stringIndex.sizeOf()+e.globalSubrIndex.sizeOf();return i.charset=B,i.encoding=0,i.charStrings=i.charset+e.charsets.sizeOf(),i.private[1]=i.charStrings+e.charStringsIndex.sizeOf(),s=sM(i,r),e.topDictIndex=BM(s),e}function G1(A,g){var e={},I=new Ce.Parser(A,g);return e.version=I.parseVersion(),e.fontRevision=Math.round(I.parseFixed()*1e3)/1e3,e.checkSumAdjustment=I.parseULong(),e.magicNumber=I.parseULong(),ve.argument(e.magicNumber===1594834165,"Font header has wrong magic number."),e.flags=I.parseUShort(),e.unitsPerEm=I.parseUShort(),e.created=I.parseLongDateTime(),e.modified=I.parseLongDateTime(),e.xMin=I.parseShort(),e.yMin=I.parseShort(),e.xMax=I.parseShort(),e.yMax=I.parseShort(),e.macStyle=I.parseUShort(),e.lowestRecPPEM=I.parseUShort(),e.fontDirectionHint=I.parseShort(),e.indexToLocFormat=I.parseShort(),e.glyphDataFormat=I.parseShort(),e}function m1(A){var g=Math.round(new Date().getTime()/1e3)+2082844800,e=g;return A.createdTimestamp&&(e=A.createdTimestamp+2082844800),new ie.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:e},{name:"modified",type:"LONGDATETIME",value:g},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],A)}function M1(A,g){var e={},I=new Ce.Parser(A,g);return e.version=I.parseVersion(),e.ascender=I.parseShort(),e.descender=I.parseShort(),e.lineGap=I.parseShort(),e.advanceWidthMax=I.parseUShort(),e.minLeftSideBearing=I.parseShort(),e.minRightSideBearing=I.parseShort(),e.xMaxExtent=I.parseShort(),e.caretSlopeRise=I.parseShort(),e.caretSlopeRun=I.parseShort(),e.caretOffset=I.parseShort(),I.relativeOffset+=8,e.metricDataFormat=I.parseShort(),e.numberOfHMetrics=I.parseUShort(),e}function k1(A){return new ie.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],A)}function U1(A,g,e,I,i){for(var t,C,o=new Ce.Parser(A,g),a=0;a<I;a+=1){a<e&&(t=o.parseUShort(),C=o.parseShort());var r=i.get(a);r.advanceWidth=t,r.leftSideBearing=C}}function N1(A,g,e,I,i){A._hmtxTableData={};for(var t,C,o=new Ce.Parser(g,e),a=0;a<i;a+=1)a<I&&(t=o.parseUShort(),C=o.parseShort()),A._hmtxTableData[a]={advanceWidth:t,leftSideBearing:C}}function F1(A,g,e,I,i,t,C){C.lowMemory?N1(A,g,e,I,i):U1(g,e,I,i,t)}function R1(A){for(var g=new ie.Table("hmtx",[]),e=0;e<A.length;e+=1){var I=A.get(e),i=I.advanceWidth||0,t=I.leftSideBearing||0;g.fields.push({name:"advanceWidth_"+e,type:"USHORT",value:i}),g.fields.push({name:"leftSideBearing_"+e,type:"SHORT",value:t})}return g}function v1(A){for(var g=new ie.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:A.length}]),e="",I=12+A.length*4,i=0;i<A.length;++i){var t=e.indexOf(A[i]);t<0&&(t=e.length,e+=A[i]),g.fields.push({name:"offset "+i,type:"USHORT",value:I+t}),g.fields.push({name:"length "+i,type:"USHORT",value:A[i].length})}return g.fields.push({name:"stringPool",type:"CHARARRAY",value:e}),g}function K1(A,g){var e=new Ce.Parser(A,g),I=e.parseULong();ve.argument(I===1,"Unsupported ltag table version."),e.skip("uLong",1);for(var i=e.parseULong(),t=[],C=0;C<i;C++){for(var o="",a=g+e.parseUShort(),r=e.parseUShort(),s=a;s<a+r;++s)o+=String.fromCharCode(A.getInt8(s));t.push(o)}return t}function J1(A,g){var e={},I=new Ce.Parser(A,g);return e.version=I.parseVersion(),e.numGlyphs=I.parseUShort(),e.version===1&&(e.maxPoints=I.parseUShort(),e.maxContours=I.parseUShort(),e.maxCompositePoints=I.parseUShort(),e.maxCompositeContours=I.parseUShort(),e.maxZones=I.parseUShort(),e.maxTwilightPoints=I.parseUShort(),e.maxStorage=I.parseUShort(),e.maxFunctionDefs=I.parseUShort(),e.maxInstructionDefs=I.parseUShort(),e.maxStackElements=I.parseUShort(),e.maxSizeOfInstructions=I.parseUShort(),e.maxComponentElements=I.parseUShort(),e.maxComponentDepth=I.parseUShort()),e}function q1(A){return new ie.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:A}])}function L1(A,g,e){switch(A){case 0:if(g===65535)return"und";if(e)return e[g];break;case 1:return Bk[g];case 3:return Qk[g]}}function nk(A,g,e){switch(A){case 0:return uy;case 1:return Y1[e]||x1[g];case 3:if(g===1||g===10)return uy;break}}function H1(A,g,e){for(var I={},i=new Ce.Parser(A,g),t=i.parseUShort(),C=i.parseUShort(),o=i.offset+i.parseUShort(),a=0;a<C;a++){var r=i.parseUShort(),s=i.parseUShort(),B=i.parseUShort(),Q=i.parseUShort(),n=sk[Q]||Q,E=i.parseUShort(),l=i.parseUShort(),h=L1(r,B,e),u=nk(r,s,B);if(u!==void 0&&h!==void 0){var D=void 0;if(u===uy?D=cn.UTF16(A,o+l,E):D=cn.MACSTRING(A,o+l,E,u),D){var p=I[n];p===void 0&&(p=I[n]={}),p[h]=D}}}var w=0;return t===1&&(w=i.parseUShort()),I}function Cy(A){var g={};for(var e in A)g[A[e]]=parseInt(e);return g}function QM(A,g,e,I,i,t){return new ie.Record("NameRecord",[{name:"platformID",type:"USHORT",value:A},{name:"encodingID",type:"USHORT",value:g},{name:"languageID",type:"USHORT",value:e},{name:"nameID",type:"USHORT",value:I},{name:"length",type:"USHORT",value:i},{name:"offset",type:"USHORT",value:t}])}function T1(A,g){var e=A.length,I=g.length-e+1;A:for(var i=0;i<I;i++)for(;i<I;i++){for(var t=0;t<e;t++)if(g[i+t]!==A[t])continue A;return i}return-1}function nM(A,g){var e=T1(A,g);if(e<0){e=g.length;for(var I=0,i=A.length;I<i;++I)g.push(A[I])}return e}function O1(A,g){var e,I=[],i={},t=Cy(sk);for(var C in A){var o=t[C];if(o===void 0&&(o=C),e=parseInt(o),isNaN(e))throw new Error('Name table entry "'+C+'" does not exist, see nameTableNames for complete list.');i[e]=A[C],I.push(e)}for(var a=Cy(Bk),r=Cy(Qk),s=[],B=[],Q=0;Q<I.length;Q++){e=I[Q];var n=i[e];for(var E in n){var l=n[E],h=1,u=a[E],D=b1[u],p=nk(h,D,u),w=Vg.MACSTRING(l,p);w===void 0&&(h=0,u=g.indexOf(E),u<0&&(u=g.length,g.push(E)),D=4,w=Vg.UTF16(l));var k=nM(w,B);s.push(QM(h,D,u,e,w.length,k));var U=r[E];if(U!==void 0){var N=Vg.UTF16(l),G=nM(N,B);s.push(QM(3,1,U,e,N.length,G))}}}s.sort(function(q,T){return q.platformID-T.platformID||q.encodingID-T.encodingID||q.languageID-T.languageID||q.nameID-T.nameID});for(var R=new ie.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:s.length},{name:"stringOffset",type:"USHORT",value:6+s.length*12}]),J=0;J<s.length;J++)R.fields.push({name:"record_"+J,type:"RECORD",value:s[J]});return R.fields.push({name:"strings",type:"LITERAL",value:B}),R}function _1(A){for(var g=0;g<Dy.length;g+=1){var e=Dy[g];if(A>=e.begin&&A<e.end)return g}return-1}function P1(A,g){var e={},I=new Ce.Parser(A,g);e.version=I.parseUShort(),e.xAvgCharWidth=I.parseShort(),e.usWeightClass=I.parseUShort(),e.usWidthClass=I.parseUShort(),e.fsType=I.parseUShort(),e.ySubscriptXSize=I.parseShort(),e.ySubscriptYSize=I.parseShort(),e.ySubscriptXOffset=I.parseShort(),e.ySubscriptYOffset=I.parseShort(),e.ySuperscriptXSize=I.parseShort(),e.ySuperscriptYSize=I.parseShort(),e.ySuperscriptXOffset=I.parseShort(),e.ySuperscriptYOffset=I.parseShort(),e.yStrikeoutSize=I.parseShort(),e.yStrikeoutPosition=I.parseShort(),e.sFamilyClass=I.parseShort(),e.panose=[];for(var i=0;i<10;i++)e.panose[i]=I.parseByte();return e.ulUnicodeRange1=I.parseULong(),e.ulUnicodeRange2=I.parseULong(),e.ulUnicodeRange3=I.parseULong(),e.ulUnicodeRange4=I.parseULong(),e.achVendID=String.fromCharCode(I.parseByte(),I.parseByte(),I.parseByte(),I.parseByte()),e.fsSelection=I.parseUShort(),e.usFirstCharIndex=I.parseUShort(),e.usLastCharIndex=I.parseUShort(),e.sTypoAscender=I.parseShort(),e.sTypoDescender=I.parseShort(),e.sTypoLineGap=I.parseShort(),e.usWinAscent=I.parseUShort(),e.usWinDescent=I.parseUShort(),e.version>=1&&(e.ulCodePageRange1=I.parseULong(),e.ulCodePageRange2=I.parseULong()),e.version>=2&&(e.sxHeight=I.parseShort(),e.sCapHeight=I.parseShort(),e.usDefaultChar=I.parseUShort(),e.usBreakChar=I.parseUShort(),e.usMaxContent=I.parseUShort()),e}function j1(A){return new ie.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],A)}function W1(A,g){var e={},I=new Ce.Parser(A,g);switch(e.version=I.parseVersion(),e.italicAngle=I.parseFixed(),e.underlinePosition=I.parseShort(),e.underlineThickness=I.parseShort(),e.isFixedPitch=I.parseULong(),e.minMemType42=I.parseULong(),e.maxMemType42=I.parseULong(),e.minMemType1=I.parseULong(),e.maxMemType1=I.parseULong(),e.version){case 1:e.names=xB.slice();break;case 2:e.numberOfGlyphs=I.parseUShort(),e.glyphNameIndex=new Array(e.numberOfGlyphs);for(var i=0;i<e.numberOfGlyphs;i++)e.glyphNameIndex[i]=I.parseUShort();e.names=[];for(var t=0;t<e.numberOfGlyphs;t++)if(e.glyphNameIndex[t]>=xB.length){var C=I.parseChar();e.names.push(I.parseString(C))}break;case 2.5:e.numberOfGlyphs=I.parseUShort(),e.offset=new Array(e.numberOfGlyphs);for(var o=0;o<e.numberOfGlyphs;o++)e.offset[o]=I.parseChar();break}return e}function z1(){return new ie.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}function V1(A,g){g=g||0;var e=new Ag(A,g),I=e.parseVersion(1);return ve.argument(I===1||I===1.1,"Unsupported GSUB table version."),I===1?{version:I,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(Wo)}:{version:I,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(Wo),variations:e.parseFeatureVariationsList()}}function Z1(A){return new ie.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ie.ScriptList(A.scripts)},{name:"features",type:"TABLE",value:new ie.FeatureList(A.features)},{name:"lookups",type:"TABLE",value:new ie.LookupList(A.lookups,dn)}])}function X1(A,g){var e=new Ce.Parser(A,g),I=e.parseULong();ve.argument(I===1,"Unsupported META table version."),e.parseULong(),e.parseULong();for(var i=e.parseULong(),t={},C=0;C<i;C++){var o=e.parseTag(),a=e.parseULong(),r=e.parseULong(),s=cn.UTF8(A,g+a,r);t[o]=s}return t}function $1(A){var g=Object.keys(A).length,e="",I=16+g*12,i=new ie.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:I},{name:"numTags",type:"ULONG",value:g}]);for(var t in A){var C=e.length;e+=A[t],i.fields.push({name:"tag "+t,type:"TAG",value:t}),i.fields.push({name:"offset "+t,type:"ULONG",value:I+C}),i.fields.push({name:"length "+t,type:"ULONG",value:A[t].length})}return i.fields.push({name:"stringPool",type:"CHARARRAY",value:e}),i}function EM(A){return Math.log(A)/Math.log(2)|0}function Uy(A){for(;A.length%4!==0;)A.push(0);for(var g=0,e=0;e<A.length;e+=4)g+=(A[e]<<24)+(A[e+1]<<16)+(A[e+2]<<8)+A[e+3];return g%=Math.pow(2,32),g}function hM(A,g,e,I){return new ie.Record("Table Record",[{name:"tag",type:"TAG",value:A!==void 0?A:""},{name:"checkSum",type:"ULONG",value:g!==void 0?g:0},{name:"offset",type:"ULONG",value:e!==void 0?e:0},{name:"length",type:"ULONG",value:I!==void 0?I:0}])}function dk(A){var g=new ie.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);g.tables=A,g.numTables=A.length;var e=Math.pow(2,EM(g.numTables));g.searchRange=16*e,g.entrySelector=EM(e),g.rangeShift=g.numTables*16-g.searchRange;for(var I=[],i=[],t=g.sizeOf()+hM().sizeOf()*g.numTables;t%4!==0;)t+=1,i.push({name:"padding",type:"BYTE",value:0});for(var C=0;C<A.length;C+=1){var o=A[C];ve.argument(o.tableName.length===4,"Table name"+o.tableName+" is invalid.");var a=o.sizeOf(),r=hM(o.tableName,Uy(o.encode()),t,a);for(I.push({name:r.tag+" Table Record",type:"RECORD",value:r}),i.push({name:o.tableName+" table",type:"RECORD",value:o}),t+=a,ve.argument(!isNaN(t),"Something went wrong calculating the offset.");t%4!==0;)t+=1,i.push({name:"padding",type:"BYTE",value:0})}return I.sort(function(s,B){return s.value.tag>B.value.tag?1:-1}),g.fields=g.fields.concat(I),g.fields=g.fields.concat(i),g}function lM(A,g,e){for(var I=0;I<g.length;I+=1){var i=A.charToGlyphIndex(g[I]);if(i>0){var t=A.glyphs.get(i);return t.getMetrics()}}return e}function AY(A){for(var g=0,e=0;e<A.length;e+=1)g+=A[e];return g/A.length}function gY(A){for(var g=[],e=[],I=[],i=[],t=[],C=[],o=[],a,r=0,s=0,B=0,Q=0,n=0,E=0;E<A.glyphs.length;E+=1){var l=A.glyphs.get(E),h=l.unicode|0;if(isNaN(l.advanceWidth))throw new Error("Glyph "+l.name+" ("+E+"): advanceWidth is not a number.");(a>h||a===void 0)&&h>0&&(a=h),r<h&&(r=h);var u=py.getUnicodeRange(h);if(u<32)s|=1<<u;else if(u<64)B|=1<<u-32;else if(u<96)Q|=1<<u-64;else if(u<123)n|=1<<u-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(l.name!==".notdef"){var D=l.getMetrics();g.push(D.xMin),e.push(D.yMin),I.push(D.xMax),i.push(D.yMax),C.push(D.leftSideBearing),o.push(D.rightSideBearing),t.push(l.advanceWidth)}}var p={xMin:Math.min.apply(null,g),yMin:Math.min.apply(null,e),xMax:Math.max.apply(null,I),yMax:Math.max.apply(null,i),advanceWidthMax:Math.max.apply(null,t),advanceWidthAvg:AY(t),minLeftSideBearing:Math.min.apply(null,C),maxLeftSideBearing:Math.max.apply(null,C),minRightSideBearing:Math.min.apply(null,o)};p.ascender=A.ascender,p.descender=A.descender;var w=tk.make({flags:3,unitsPerEm:A.unitsPerEm,xMin:p.xMin,yMin:p.yMin,xMax:p.xMax,yMax:p.yMax,lowestRecPPEM:3,createdTimestamp:A.createdTimestamp}),k=Ck.make({ascender:p.ascender,descender:p.descender,advanceWidthMax:p.advanceWidthMax,minLeftSideBearing:p.minLeftSideBearing,minRightSideBearing:p.minRightSideBearing,xMaxExtent:p.maxLeftSideBearing+(p.xMax-p.xMin),numberOfHMetrics:A.glyphs.length}),U=rk.make(A.glyphs.length),N=py.make(Object.assign({xAvgCharWidth:Math.round(p.advanceWidthAvg),usFirstCharIndex:a,usLastCharIndex:r,ulUnicodeRange1:s,ulUnicodeRange2:B,ulUnicodeRange3:Q,ulUnicodeRange4:n,sTypoAscender:p.ascender,sTypoDescender:p.descender,sTypoLineGap:0,usWinAscent:p.yMax,usWinDescent:Math.abs(p.yMin),ulCodePageRange1:1,sxHeight:lM(A,"xyvw",{yMax:Math.round(p.ascender/2)}).yMax,sCapHeight:lM(A,"HIKLEFJMNTZBDPRAGOQSUVWXY",p).yMax,usDefaultChar:A.hasChar(" ")?32:0,usBreakChar:A.hasChar(" ")?32:0},A.tables.os2)),G=ok.make(A.glyphs),R=jM.make(A.glyphs),J=A.getEnglishName("fontFamily"),q=A.getEnglishName("fontSubfamily"),T=J+" "+q,P=A.getEnglishName("postScriptName");P||(P=J.replace(/\s/g,"")+"-"+q);var H={};for(var eA in A.names)H[eA]=A.names[eA];H.uniqueID||(H.uniqueID={en:A.getEnglishName("manufacturer")+":"+T}),H.postScriptName||(H.postScriptName={en:P}),H.preferredFamily||(H.preferredFamily=A.names.fontFamily),H.preferredSubfamily||(H.preferredSubfamily=A.names.fontSubfamily);var rA=[],BA=Ek.make(H,rA),aA=rA.length>0?ak.make(rA):void 0,yA=hk.make(),SA=ik.make(A.glyphs,{version:A.getEnglishName("version"),fullName:T,familyName:J,weightName:q,postScriptName:P,unitsPerEm:A.unitsPerEm,fontBBox:[0,p.yMin,p.ascender,p.advanceWidthMax]}),pA=A.metas&&Object.keys(A.metas).length>0?ck.make(A.metas):void 0,wA=[w,k,U,N,BA,R,yA,SA,G];aA&&wA.push(aA),A.tables.gsub&&wA.push(lk.make(A.tables.gsub)),pA&&wA.push(pA);for(var RA=dk(wA),kA=RA.encode(),UA=Uy(kA),GA=RA.fields,zA=!1,KA=0;KA<GA.length;KA+=1)if(GA[KA].name==="head table"){GA[KA].value.checkSumAdjustment=2981146554-UA,zA=!0;break}if(!zA)throw new Error("Could not find head table with checkSum to adjust.");return RA}function oy(A,g){for(var e=0,I=A.length-1;e<=I;){var i=e+I>>>1,t=A[i].tag;if(t===g)return i;t<g?e=i+1:I=i-1}return-e-1}function cM(A,g){for(var e=0,I=A.length-1;e<=I;){var i=e+I>>>1,t=A[i];if(t===g)return i;t<g?e=i+1:I=i-1}return-e-1}function dM(A,g){for(var e,I=0,i=A.length-1;I<=i;){var t=I+i>>>1;e=A[t];var C=e.start;if(C===g)return e;C<g?I=t+1:i=t-1}if(I>0)return e=A[I-1],g>e.end?0:e}function Wh(A,g){this.font=A,this.tableName=g}function zh(A){Wh.call(this,A,"gpos")}function Io(A){Wh.call(this,A,"gsub")}function IY(A,g){var e=A.length;if(e!==g.length)return!1;for(var I=0;I<e;I++)if(A[I]!==g[I])return!1;return!0}function Ny(A,g,e){for(var I=A.subtables,i=0;i<I.length;i++){var t=I[i];if(t.substFormat===g)return t}if(e)return I.push(e),e}function iY(){return typeof window<"u"}function uk(A){for(var g=new ArrayBuffer(A.length),e=new Uint8Array(g),I=0;I<A.length;++I)e[I]=A[I];return g}function tY(A){for(var g=new Buffer(A.byteLength),e=new Uint8Array(A),I=0;I<g.length;++I)g[I]=e[I];return g}function Hh(A,g){if(!A)throw g}function uM(A,g,e,I,i){var t;return(g&I)>0?(t=A.parseByte(),!(g&i)&&(t=-t),t=e+t):(g&i)>0?t=e:t=e+A.parseShort(),t}function Dk(A,g,e){var I=new Ce.Parser(g,e);A.numberOfContours=I.parseShort(),A._xMin=I.parseShort(),A._yMin=I.parseShort(),A._xMax=I.parseShort(),A._yMax=I.parseShort();var i,t;if(A.numberOfContours>0){for(var C=A.endPointIndices=[],o=0;o<A.numberOfContours;o+=1)C.push(I.parseUShort());A.instructionLength=I.parseUShort(),A.instructions=[];for(var a=0;a<A.instructionLength;a+=1)A.instructions.push(I.parseByte());var r=C[C.length-1]+1;i=[];for(var s=0;s<r;s+=1)if(t=I.parseByte(),i.push(t),(t&8)>0)for(var B=I.parseByte(),Q=0;Q<B;Q+=1)i.push(t),s+=1;if(ve.argument(i.length===r,"Bad flags."),C.length>0){var n=[],E;if(r>0){for(var l=0;l<r;l+=1)t=i[l],E={},E.onCurve=!!(t&1),E.lastPointOfContour=C.indexOf(l)>=0,n.push(E);for(var h=0,u=0;u<r;u+=1)t=i[u],E=n[u],E.x=uM(I,t,h,2,16),h=E.x;for(var D=0,p=0;p<r;p+=1)t=i[p],E=n[p],E.y=uM(I,t,D,4,32),D=E.y}A.points=n}else A.points=[]}else if(A.numberOfContours===0)A.points=[];else{A.isComposite=!0,A.points=[],A.components=[];for(var w=!0;w;){i=I.parseUShort();var k={glyphIndex:I.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(i&1)>0?(i&2)>0?(k.dx=I.parseShort(),k.dy=I.parseShort()):k.matchedPoints=[I.parseUShort(),I.parseUShort()]:(i&2)>0?(k.dx=I.parseChar(),k.dy=I.parseChar()):k.matchedPoints=[I.parseByte(),I.parseByte()],(i&8)>0?k.xScale=k.yScale=I.parseF2Dot14():(i&64)>0?(k.xScale=I.parseF2Dot14(),k.yScale=I.parseF2Dot14()):(i&128)>0&&(k.xScale=I.parseF2Dot14(),k.scale01=I.parseF2Dot14(),k.scale10=I.parseF2Dot14(),k.yScale=I.parseF2Dot14()),A.components.push(k),w=!!(i&32)}if(i&256){A.instructionLength=I.parseUShort(),A.instructions=[];for(var U=0;U<A.instructionLength;U+=1)A.instructions.push(I.parseByte())}}}function ay(A,g){for(var e=[],I=0;I<A.length;I+=1){var i=A[I],t={x:g.xScale*i.x+g.scale01*i.y+g.dx,y:g.scale10*i.x+g.yScale*i.y+g.dy,onCurve:i.onCurve,lastPointOfContour:i.lastPointOfContour};e.push(t)}return e}function CY(A){for(var g=[],e=[],I=0;I<A.length;I+=1){var i=A[I];e.push(i),i.lastPointOfContour&&(g.push(e),e=[])}return ve.argument(e.length===0,"There are still points left in the current contour."),g}function pk(A){var g=new Li;if(!A)return g;for(var e=CY(A),I=0;I<e.length;++I){var i=e[I],t=null,C=i[i.length-1],o=i[0];if(C.onCurve)g.moveTo(C.x,C.y);else if(o.onCurve)g.moveTo(o.x,o.y);else{var a={x:(C.x+o.x)*.5,y:(C.y+o.y)*.5};g.moveTo(a.x,a.y)}for(var r=0;r<i.length;++r)if(t=C,C=o,o=i[(r+1)%i.length],C.onCurve)g.lineTo(C.x,C.y);else{var s=t,B=o;t.onCurve||(s={x:(C.x+t.x)*.5,y:(C.y+t.y)*.5}),o.onCurve||(B={x:(C.x+o.x)*.5,y:(C.y+o.y)*.5}),g.quadraticCurveTo(C.x,C.y,B.x,B.y)}g.closePath()}return g}function yk(A,g){if(g.isComposite)for(var e=0;e<g.components.length;e+=1){var I=g.components[e],i=A.get(I.glyphIndex);if(i.getPath(),i.points){var t=void 0;if(I.matchedPoints===void 0)t=ay(i.points,I);else{if(I.matchedPoints[0]>g.points.length-1||I.matchedPoints[1]>i.points.length-1)throw Error("Matched points out of range in "+g.name);var C=g.points[I.matchedPoints[0]],o=i.points[I.matchedPoints[1]],a={xScale:I.xScale,scale01:I.scale01,scale10:I.scale10,yScale:I.yScale,dx:0,dy:0};o=ay([o],a)[0],a.dx=C.x-o.x,a.dy=C.y-o.y,t=ay(i.points,a)}g.points=g.points.concat(t)}}return pk(g.points)}function oY(A,g,e,I){for(var i=new Fa.GlyphSet(I),t=0;t<e.length-1;t+=1){var C=e[t],o=e[t+1];C!==o?i.push(t,Fa.ttfGlyphLoader(I,t,Dk,A,g+C,yk)):i.push(t,Fa.glyphLoader(I,t))}return i}function aY(A,g,e,I){var i=new Fa.GlyphSet(I);return I._push=function(t){var C=e[t],o=e[t+1];C!==o?i.push(t,Fa.ttfGlyphLoader(I,t,Dk,A,g+C,yk)):i.push(t,Fa.glyphLoader(I,t))},i}function rY(A,g,e,I,i){return i.lowMemory?aY(A,g,e,I):oY(A,g,e,I)}function Gk(A){this.font=A,this.getCommands=function(g){return wk.getPath(g).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function sY(A){return A}function mk(A){return Math.sign(A)*Math.round(Math.abs(A))}function BY(A){return Math.sign(A)*Math.round(Math.abs(A*2))/2}function QY(A){return Math.sign(A)*(Math.round(Math.abs(A)+.5)-.5)}function nY(A){return Math.sign(A)*Math.ceil(Math.abs(A))}function EY(A){return Math.sign(A)*Math.floor(Math.abs(A))}function Vh(A,g){this.x=A,this.y=g,this.axis=void 0,this.slope=g/A,this.normalSlope=-A/g,Object.freeze(this)}function Zh(A,g){var e=Math.sqrt(A*A+g*g);return A/=e,g/=e,A===1&&g===0?Na:A===0&&g===1?Fr:new Vh(A,g)}function Rr(A,g,e,I){this.x=this.xo=Math.round(A*64)/64,this.y=this.yo=Math.round(g*64)/64,this.lastPointOfContour=e,this.onCurve=I,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}function Ks(A,g){switch(this.env=A,this.stack=[],this.prog=g,A){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=Na,this.round=mk}}function Md(A){for(var g=A.tZone=new Array(A.gZone.length),e=0;e<g.length;e++)g[e]=new Rr(0,0)}function kk(A,g){var e=A.prog,I=A.ip,i=1,t;do if(t=e[++I],t===88)i++;else if(t===89)i--;else if(t===64)I+=e[I+1]+1;else if(t===65)I+=2*e[I+1]+1;else if(t>=176&&t<=183)I+=t-176+1;else if(t>=184&&t<=191)I+=(t-184+1)*2;else if(g&&i===1&&t===27)break;while(i>0);A.ip=I}function DM(A,g){exports.DEBUG&&console.log(g.step,"SVTCA["+A.axis+"]"),g.fv=g.pv=g.dpv=A}function pM(A,g){exports.DEBUG&&console.log(g.step,"SPVTCA["+A.axis+"]"),g.pv=g.dpv=A}function yM(A,g){exports.DEBUG&&console.log(g.step,"SFVTCA["+A.axis+"]"),g.fv=A}function wM(A,g){var e=g.stack,I=e.pop(),i=e.pop(),t=g.z2[I],C=g.z1[i];exports.DEBUG&&console.log("SPVTL["+A+"]",I,i);var o,a;A?(o=t.y-C.y,a=C.x-t.x):(o=C.x-t.x,a=C.y-t.y),g.pv=g.dpv=Zh(o,a)}function fM(A,g){var e=g.stack,I=e.pop(),i=e.pop(),t=g.z2[I],C=g.z1[i];exports.DEBUG&&console.log("SFVTL["+A+"]",I,i);var o,a;A?(o=t.y-C.y,a=C.x-t.x):(o=C.x-t.x,a=C.y-t.y),g.fv=Zh(o,a)}function lY(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"SPVFS[]",e,I),A.pv=A.dpv=Zh(I,e)}function cY(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"SPVFS[]",e,I),A.fv=Zh(I,e)}function dY(A){var g=A.stack,e=A.pv;exports.DEBUG&&console.log(A.step,"GPV[]"),g.push(e.x*16384),g.push(e.y*16384)}function uY(A){var g=A.stack,e=A.fv;exports.DEBUG&&console.log(A.step,"GFV[]"),g.push(e.x*16384),g.push(e.y*16384)}function DY(A){A.fv=A.pv,exports.DEBUG&&console.log(A.step,"SFVTPV[]")}function pY(A){var g=A.stack,e=g.pop(),I=g.pop(),i=g.pop(),t=g.pop(),C=g.pop(),o=A.z0,a=A.z1,r=o[e],s=o[I],B=a[i],Q=a[t],n=A.z2[C];exports.DEBUG&&console.log("ISECT[], ",e,I,i,t,C);var E=r.x,l=r.y,h=s.x,u=s.y,D=B.x,p=B.y,w=Q.x,k=Q.y,U=(E-h)*(p-k)-(l-u)*(D-w),N=E*u-l*h,G=D*k-p*w;n.x=(N*(D-w)-G*(E-h))/U,n.y=(N*(p-k)-G*(l-u))/U}function yY(A){A.rp0=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP0[]",A.rp0)}function wY(A){A.rp1=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP1[]",A.rp1)}function fY(A){A.rp2=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP2[]",A.rp2)}function SY(A){var g=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP0[]",g),A.zp0=g,g){case 0:A.tZone||Md(A),A.z0=A.tZone;break;case 1:A.z0=A.gZone;break;default:throw new Error("Invalid zone pointer")}}function GY(A){var g=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP1[]",g),A.zp1=g,g){case 0:A.tZone||Md(A),A.z1=A.tZone;break;case 1:A.z1=A.gZone;break;default:throw new Error("Invalid zone pointer")}}function mY(A){var g=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP2[]",g),A.zp2=g,g){case 0:A.tZone||Md(A),A.z2=A.tZone;break;case 1:A.z2=A.gZone;break;default:throw new Error("Invalid zone pointer")}}function MY(A){var g=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZPS[]",g),A.zp0=A.zp1=A.zp2=g,g){case 0:A.tZone||Md(A),A.z0=A.z1=A.z2=A.tZone;break;case 1:A.z0=A.z1=A.z2=A.gZone;break;default:throw new Error("Invalid zone pointer")}}function kY(A){A.loop=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SLOOP[]",A.loop)}function UY(A){exports.DEBUG&&console.log(A.step,"RTG[]"),A.round=mk}function NY(A){exports.DEBUG&&console.log(A.step,"RTHG[]"),A.round=QY}function FY(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"SMD[]",g),A.minDis=g/64}function RY(A){exports.DEBUG&&console.log(A.step,"ELSE[]"),kk(A,!1)}function vY(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"JMPR[]",g),A.ip+=g-1}function KY(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCVTCI[]",g),A.cvCutIn=g/64}function JY(A){var g=A.stack;exports.DEBUG&&console.log(A.step,"DUP[]"),g.push(g[g.length-1])}function ry(A){exports.DEBUG&&console.log(A.step,"POP[]"),A.stack.pop()}function qY(A){exports.DEBUG&&console.log(A.step,"CLEAR[]"),A.stack.length=0}function bY(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"SWAP[]"),g.push(e),g.push(I)}function LY(A){var g=A.stack;exports.DEBUG&&console.log(A.step,"DEPTH[]"),g.push(g.length)}function xY(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"LOOPCALL[]",e,I);var i=A.ip,t=A.prog;A.prog=A.funcs[e];for(var C=0;C<I;C++)HB(A),exports.DEBUG&&console.log(++A.step,C+1<I?"next loopcall":"done loopcall",C);A.ip=i,A.prog=t}function YY(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"CALL[]",g);var e=A.ip,I=A.prog;A.prog=A.funcs[g],HB(A),A.ip=e,A.prog=I,exports.DEBUG&&console.log(++A.step,"returning from",g)}function HY(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"CINDEX[]",e),g.push(g[g.length-e])}function TY(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"MINDEX[]",e),g.push(g.splice(g.length-e,1)[0])}function OY(A){if(A.env!=="fpgm")throw new Error("FDEF not allowed here");var g=A.stack,e=A.prog,I=A.ip,i=g.pop(),t=I;for(exports.DEBUG&&console.log(A.step,"FDEF[]",i);e[++I]!==45;);A.ip=I,A.funcs[i]=e.slice(t+1,I)}function SM(A,g){var e=g.stack.pop(),I=g.z0[e],i=g.fv,t=g.pv;exports.DEBUG&&console.log(g.step,"MDAP["+A+"]",e);var C=t.distance(I,jh);A&&(C=g.round(C)),i.setRelative(I,jh,C,t),i.touch(I),g.rp0=g.rp1=e}function GM(A,g){var e=g.z2,I=e.length-2,i,t,C;exports.DEBUG&&console.log(g.step,"IUP["+A.axis+"]");for(var o=0;o<I;o++)i=e[o],!A.touched(i)&&(t=i.prevTouched(A),t!==i&&(C=i.nextTouched(A),t===C&&A.setRelative(i,i,A.distance(t,t,!1,!0),A,!0),A.interpolate(i,t,C,A)))}function mM(A,g){for(var e=g.stack,I=A?g.rp1:g.rp2,i=(A?g.z0:g.z1)[I],t=g.fv,C=g.pv,o=g.loop,a=g.z2;o--;){var r=e.pop(),s=a[r],B=C.distance(i,i,!1,!0);t.setRelative(s,s,B,C),t.touch(s),exports.DEBUG&&console.log(g.step,(g.loop>1?"loop "+(g.loop-o)+": ":"")+"SHP["+(A?"rp1":"rp2")+"]",r)}g.loop=1}function MM(A,g){var e=g.stack,I=A?g.rp1:g.rp2,i=(A?g.z0:g.z1)[I],t=g.fv,C=g.pv,o=e.pop(),a=g.z2[g.contours[o]],r=a;exports.DEBUG&&console.log(g.step,"SHC["+A+"]",o);var s=C.distance(i,i,!1,!0);do r!==i&&t.setRelative(r,r,s,C),r=r.nextPointOnContour;while(r!==a)}function kM(A,g){var e=g.stack,I=A?g.rp1:g.rp2,i=(A?g.z0:g.z1)[I],t=g.fv,C=g.pv,o=e.pop();exports.DEBUG&&console.log(g.step,"SHZ["+A+"]",o);var a;switch(o){case 0:a=g.tZone;break;case 1:a=g.gZone;break;default:throw new Error("Invalid zone")}for(var r,s=C.distance(i,i,!1,!0),B=a.length-2,Q=0;Q<B;Q++)r=a[Q],t.setRelative(r,r,s,C)}function _Y(A){for(var g=A.stack,e=A.loop,I=A.fv,i=g.pop()/64,t=A.z2;e--;){var C=g.pop(),o=t[C];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-e)+": ":"")+"SHPIX[]",C,i),I.setRelative(o,o,i),I.touch(o)}A.loop=1}function PY(A){for(var g=A.stack,e=A.rp1,I=A.rp2,i=A.loop,t=A.z0[e],C=A.z1[I],o=A.fv,a=A.dpv,r=A.z2;i--;){var s=g.pop(),B=r[s];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-i)+": ":"")+"IP[]",s,e,"<->",I),o.interpolate(B,t,C,a),o.touch(B)}A.loop=1}function UM(A,g){var e=g.stack,I=e.pop()/64,i=e.pop(),t=g.z1[i],C=g.z0[g.rp0],o=g.fv,a=g.pv;o.setRelative(t,C,I,a),o.touch(t),exports.DEBUG&&console.log(g.step,"MSIRP["+A+"]",I,i),g.rp1=g.rp0,g.rp2=i,A&&(g.rp0=i)}function jY(A){for(var g=A.stack,e=A.rp0,I=A.z0[e],i=A.loop,t=A.fv,C=A.pv,o=A.z1;i--;){var a=g.pop(),r=o[a];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-i)+": ":"")+"ALIGNRP[]",a),t.setRelative(r,I,0,C),t.touch(r)}A.loop=1}function WY(A){exports.DEBUG&&console.log(A.step,"RTDG[]"),A.round=BY}function NM(A,g){var e=g.stack,I=e.pop(),i=e.pop(),t=g.z0[i],C=g.fv,o=g.pv,a=g.cvt[I];exports.DEBUG&&console.log(g.step,"MIAP["+A+"]",I,"(",a,")",i);var r=o.distance(t,jh);A&&(Math.abs(r-a)<g.cvCutIn&&(r=a),r=g.round(r)),C.setRelative(t,jh,r,o),g.zp0===0&&(t.xo=t.x,t.yo=t.y),C.touch(t),g.rp0=g.rp1=i}function zY(A){var g=A.prog,e=A.ip,I=A.stack,i=g[++e];exports.DEBUG&&console.log(A.step,"NPUSHB[]",i);for(var t=0;t<i;t++)I.push(g[++e]);A.ip=e}function VY(A){var g=A.ip,e=A.prog,I=A.stack,i=e[++g];exports.DEBUG&&console.log(A.step,"NPUSHW[]",i);for(var t=0;t<i;t++){var C=e[++g]<<8|e[++g];C&32768&&(C=-((C^65535)+1)),I.push(C)}A.ip=g}function ZY(A){var g=A.stack,e=A.store;e||(e=A.store=[]);var I=g.pop(),i=g.pop();exports.DEBUG&&console.log(A.step,"WS",I,i),e[i]=I}function XY(A){var g=A.stack,e=A.store,I=g.pop();exports.DEBUG&&console.log(A.step,"RS",I);var i=e&&e[I]||0;g.push(i)}function $Y(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"WCVTP",e,I),A.cvt[I]=e/64}function AH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"RCVT",e),g.push(A.cvt[e]*64)}function FM(A,g){var e=g.stack,I=e.pop(),i=g.z2[I];exports.DEBUG&&console.log(g.step,"GC["+A+"]",I),e.push(g.dpv.distance(i,jh,A,!1)*64)}function RM(A,g){var e=g.stack,I=e.pop(),i=e.pop(),t=g.z1[I],C=g.z0[i],o=g.dpv.distance(C,t,A,A);exports.DEBUG&&console.log(g.step,"MD["+A+"]",I,i,"->",o),g.stack.push(Math.round(o*64))}function gH(A){exports.DEBUG&&console.log(A.step,"MPPEM[]"),A.stack.push(A.ppem)}function eH(A){exports.DEBUG&&console.log(A.step,"FLIPON[]"),A.autoFlip=!0}function IH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"LT[]",e,I),g.push(I<e?1:0)}function iH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"LTEQ[]",e,I),g.push(I<=e?1:0)}function tH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"GT[]",e,I),g.push(I>e?1:0)}function CH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"GTEQ[]",e,I),g.push(I>=e?1:0)}function oH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"EQ[]",e,I),g.push(e===I?1:0)}function aH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"NEQ[]",e,I),g.push(e!==I?1:0)}function rH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"ODD[]",e),g.push(Math.trunc(e)%2?1:0)}function sH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"EVEN[]",e),g.push(Math.trunc(e)%2?0:1)}function BH(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"IF[]",g),g||(kk(A,!0),exports.DEBUG&&console.log(A.step,"EIF[]"))}function QH(A){exports.DEBUG&&console.log(A.step,"EIF[]")}function nH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"AND[]",e,I),g.push(e&&I?1:0)}function EH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"OR[]",e,I),g.push(e||I?1:0)}function hH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"NOT[]",e),g.push(e?0:1)}function sy(A,g){var e=g.stack,I=e.pop(),i=g.fv,t=g.pv,C=g.ppem,o=g.deltaBase+(A-1)*16,a=g.deltaShift,r=g.z0;exports.DEBUG&&console.log(g.step,"DELTAP["+A+"]",I,e);for(var s=0;s<I;s++){var B=e.pop(),Q=e.pop(),n=o+((Q&240)>>4);if(n===C){var E=(Q&15)-8;E>=0&&E++,exports.DEBUG&&console.log(g.step,"DELTAPFIX",B,"by",E*a);var l=r[B];i.setRelative(l,l,E*a,t)}}}function lH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"SDB[]",e),A.deltaBase=e}function cH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"SDS[]",e),A.deltaShift=Math.pow(.5,e)}function dH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"ADD[]",e,I),g.push(I+e)}function uH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"SUB[]",e,I),g.push(I-e)}function DH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"DIV[]",e,I),g.push(I*64/e)}function pH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"MUL[]",e,I),g.push(I*e/64)}function yH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"ABS[]",e),g.push(Math.abs(e))}function wH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"NEG[]",e),g.push(-e)}function fH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"FLOOR[]",e),g.push(Math.floor(e/64)*64)}function SH(A){var g=A.stack,e=g.pop();exports.DEBUG&&console.log(A.step,"CEILING[]",e),g.push(Math.ceil(e/64)*64)}function ud(A,g){var e=g.stack,I=e.pop();exports.DEBUG&&console.log(g.step,"ROUND[]"),e.push(g.round(I/64)*64)}function GH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"WCVTF[]",e,I),A.cvt[I]=e*A.ppem/A.font.unitsPerEm}function By(A,g){var e=g.stack,I=e.pop(),i=g.ppem,t=g.deltaBase+(A-1)*16,C=g.deltaShift;exports.DEBUG&&console.log(g.step,"DELTAC["+A+"]",I,e);for(var o=0;o<I;o++){var a=e.pop(),r=e.pop(),s=t+((r&240)>>4);if(s===i){var B=(r&15)-8;B>=0&&B++;var Q=B*C;exports.DEBUG&&console.log(g.step,"DELTACFIX",a,"by",Q),g.cvt[a]+=Q}}}function mH(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"SROUND[]",g),A.round=Mk;var e;switch(g&192){case 0:e=.5;break;case 64:e=1;break;case 128:e=2;break;default:throw new Error("invalid SROUND value")}switch(A.srPeriod=e,g&48){case 0:A.srPhase=0;break;case 16:A.srPhase=.25*e;break;case 32:A.srPhase=.5*e;break;case 48:A.srPhase=.75*e;break;default:throw new Error("invalid SROUND value")}g&=15,g===0?A.srThreshold=0:A.srThreshold=(g/8-.5)*e}function MH(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"S45ROUND[]",g),A.round=Mk;var e;switch(g&192){case 0:e=Math.sqrt(2)/2;break;case 64:e=Math.sqrt(2);break;case 128:e=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(A.srPeriod=e,g&48){case 0:A.srPhase=0;break;case 16:A.srPhase=.25*e;break;case 32:A.srPhase=.5*e;break;case 48:A.srPhase=.75*e;break;default:throw new Error("invalid S45ROUND value")}g&=15,g===0?A.srThreshold=0:A.srThreshold=(g/8-.5)*e}function kH(A){exports.DEBUG&&console.log(A.step,"ROFF[]"),A.round=sY}function UH(A){exports.DEBUG&&console.log(A.step,"RUTG[]"),A.round=nY}function NH(A){exports.DEBUG&&console.log(A.step,"RDTG[]"),A.round=EY}function FH(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCANCTRL[]",g)}function vM(A,g){var e=g.stack,I=e.pop(),i=e.pop(),t=g.z2[I],C=g.z1[i];exports.DEBUG&&console.log(g.step,"SDPVTL["+A+"]",I,i);var o,a;A?(o=t.y-C.y,a=C.x-t.x):(o=C.x-t.x,a=C.y-t.y),g.dpv=Zh(o,a)}function RH(A){var g=A.stack,e=g.pop(),I=0;exports.DEBUG&&console.log(A.step,"GETINFO[]",e),e&1&&(I=35),e&32&&(I|=4096),g.push(I)}function vH(A){var g=A.stack,e=g.pop(),I=g.pop(),i=g.pop();exports.DEBUG&&console.log(A.step,"ROLL[]"),g.push(I),g.push(e),g.push(i)}function KH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"MAX[]",e,I),g.push(Math.max(I,e))}function JH(A){var g=A.stack,e=g.pop(),I=g.pop();exports.DEBUG&&console.log(A.step,"MIN[]",e,I),g.push(Math.min(I,e))}function qH(A){var g=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCANTYPE[]",g)}function bH(A){var g=A.stack.pop(),e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"INSTCTRL[]",g,e),g){case 1:A.inhibitGridFit=!!e;return;case 2:A.ignoreCvt=!!e;return;default:throw new Error("invalid INSTCTRL[] selector")}}function Fs(A,g){var e=g.stack,I=g.prog,i=g.ip;exports.DEBUG&&console.log(g.step,"PUSHB["+A+"]");for(var t=0;t<A;t++)e.push(I[++i]);g.ip=i}function Rs(A,g){var e=g.ip,I=g.prog,i=g.stack;exports.DEBUG&&console.log(g.ip,"PUSHW["+A+"]");for(var t=0;t<A;t++){var C=I[++e]<<8|I[++e];C&32768&&(C=-((C^65535)+1)),i.push(C)}g.ip=e}function re(A,g,e,I,i,t){var C=t.stack,o=A&&C.pop(),a=C.pop(),r=t.rp0,s=t.z0[r],B=t.z1[a],Q=t.minDis,n=t.fv,E=t.dpv,l,h,u,D;h=l=E.distance(B,s,!0,!0),u=h>=0?1:-1,h=Math.abs(h),A&&(D=t.cvt[o],I&&Math.abs(h-D)<t.cvCutIn&&(h=D)),e&&h<Q&&(h=Q),I&&(h=t.round(h)),n.setRelative(B,s,u*h,E),n.touch(B),exports.DEBUG&&console.log(t.step,(A?"MIRP[":"MDRP[")+(g?"M":"m")+(e?">":"_")+(I?"R":"_")+(i===0?"Gr":i===1?"Bl":i===2?"Wh":"")+"]",A?o+"("+t.cvt[o]+","+D+")":"",a,"(d =",l,"->",u*h,")"),t.rp1=t.rp0,t.rp2=a,g&&(t.rp0=a)}function un(A){this.char=A,this.state={},this.activeState=null}function Fy(A,g,e){this.contextName=e,this.startIndex=A,this.endOffset=g}function LH(A,g,e){this.contextName=A,this.openRange=null,this.ranges=[],this.checkStart=g,this.checkEnd=e}function zo(A,g){this.context=A,this.index=g,this.length=A.length,this.current=A[g],this.backtrack=A.slice(0,g),this.lookahead=A.slice(g+1)}function kd(A){this.eventId=A,this.subscribers=[]}function xH(A){var g=this,e=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];e.forEach(function(i){Object.defineProperty(g.events,i,{value:new kd(i)})}),A&&e.forEach(function(i){var t=A[i];typeof t=="function"&&g.events[i].subscribe(t)});var I=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];I.forEach(function(i){g.events[i].subscribe(g.updateContextsRanges)})}function Mi(A){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],xH.call(this,A)}function Js(A){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(A)}function Uk(A){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(A)}function qs(A){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(A)}function pd(A){return/[A-z]/.test(A)}function YH(A){return/\s/.test(A)}function io(A){this.font=A,this.features={}}function YB(A){this.id=A.id,this.tag=A.tag,this.substitution=A.substitution}function Xh(A,g){if(!A)return-1;switch(g.format){case 1:return g.glyphs.indexOf(A);case 2:for(var e=g.ranges,I=0;I<e.length;I++){var i=e[I];if(A>=i.start&&A<=i.end){var t=A-i.start;return i.index+t}}break;default:return-1}return-1}function HH(A,g){var e=Xh(A,g.coverage);return e===-1?null:A+g.deltaGlyphId}function TH(A,g){var e=Xh(A,g.coverage);return e===-1?null:g.substitute[e]}function Qy(A,g){for(var e=[],I=0;I<A.length;I++){var i=A[I],t=g.current;t=Array.isArray(t)?t[0]:t;var C=Xh(t,i);C!==-1&&e.push(C)}return e.length!==A.length?-1:e}function OH(A,g){var e=g.inputCoverage.length+g.lookaheadCoverage.length+g.backtrackCoverage.length;if(A.context.length<e)return[];var I=Qy(g.inputCoverage,A);if(I===-1)return[];var i=g.inputCoverage.length-1;if(A.lookahead.length<g.lookaheadCoverage.length)return[];for(var t=A.lookahead.slice(i);t.length&&qs(t[0].char);)t.shift();var C=new zo(t,0),o=Qy(g.lookaheadCoverage,C),a=[].concat(A.backtrack);for(a.reverse();a.length&&qs(a[0].char);)a.shift();if(a.length<g.backtrackCoverage.length)return[];var r=new zo(a,0),s=Qy(g.backtrackCoverage,r),B=I.length===g.inputCoverage.length&&o.length===g.lookaheadCoverage.length&&s.length===g.backtrackCoverage.length,Q=[];if(B)for(var n=0;n<g.lookupRecords.length;n++)for(var E=g.lookupRecords[n],l=E.lookupListIndex,h=this.getLookupByIndex(l),u=0;u<h.subtables.length;u++){var D=h.subtables[u],p=this.getLookupMethod(h,D),w=this.getSubstitutionType(h,D);if(w==="12")for(var k=0;k<I.length;k++){var U=A.get(k),N=p(U);N&&Q.push(N)}}return Q}function _H(A,g){var e=A.current,I=Xh(e,g.coverage);if(I===-1)return null;for(var i,t=g.ligatureSets[I],C=0;C<t.length;C++){i=t[C];for(var o=0;o<i.components.length;o++){var a=A.lookahead[o],r=i.components[o];if(a!==r)break;if(o===i.components.length-1)return i}}return null}function PH(A,g){var e=Xh(A,g.coverage);return e===-1?null:g.sequences[e]}function jH(A){var g=A.current,e=A.get(-1);return e===null&&Js(g)||!Js(e)&&Js(g)}function WH(A){var g=A.get(1);return g===null||!Js(g)}function VH(A){var g=A.current,e=A.get(-1);return(Js(g)||qs(g))&&!Js(e)}function ZH(A){var g=A.get(1);switch(!0){case g===null:return!0;case(!Js(g)&&!qs(g)):var e=YH(g);if(!e)return!0;if(e){var I=!1;if(I=A.lookahead.some(function(i){return Js(i)||qs(i)}),!I)return!0}break;default:return!1}}function $H(A,g,e){g[e].setState(A.tag,A.substitution)}function AT(A,g,e){g[e].setState(A.tag,A.substitution)}function gT(A,g,e){A.substitution.forEach(function(I,i){var t=g[e+i];t.setState(A.tag,I)})}function eT(A,g,e){var I=g[e];I.setState(A.tag,A.substitution.ligGlyph);for(var i=A.substitution.components.length,t=0;t<i;t++)I=g[e+t+1],I.setState("deleted",!0)}function Ry(A,g,e){A instanceof YB&&KM[A.id]&&KM[A.id](A,g,e)}function IT(A){for(var g=[].concat(A.backtrack),e=g.length-1;e>=0;e--){var I=g[e],i=Uk(I),t=qs(I);if(!i&&!t)return!0;if(i)return!1}return!1}function iT(A){if(Uk(A.current))return!1;for(var g=0;g<A.lookahead.length;g++){var e=A.lookahead[g],I=qs(e);if(!I)return!0}return!1}function tT(A){var g=this,e="arab",I=this.featuresTags[e],i=this.tokenizer.getRangeTokens(A);if(i.length!==1){var t=new zo(i.map(function(o){return o.getState("glyphIndex")}),0),C=new zo(i.map(function(o){return o.char}),0);i.forEach(function(o,a){if(!qs(o.char)){t.setCurrentIndex(a),C.setCurrentIndex(a);var r=0;IT(C)&&(r|=1),iT(C)&&(r|=2);var s;switch(r){case 1:s="fina";break;case 2:s="init";break;case 3:s="medi";break}if(I.indexOf(s)!==-1){var B=g.query.lookupFeature({tag:s,script:e,contextParams:t});if(B instanceof Error)return console.info(B.message);B.forEach(function(Q,n){Q instanceof YB&&(Ry(Q,i,n),t.context[n]=Q.substitution)})}}})}}function JM(A,g){var e=A.map(function(I){return I.activeState.value});return new zo(e,g||0)}function CT(A){var g=this,e="arab",I=this.tokenizer.getRangeTokens(A),i=JM(I);i.context.forEach(function(t,C){i.setCurrentIndex(C);var o=g.query.lookupFeature({tag:"rlig",script:e,contextParams:i});o.length&&(o.forEach(function(a){return Ry(a,I,C)}),i=JM(I))})}function oT(A){var g=A.current,e=A.get(-1);return e===null&&pd(g)||!pd(e)&&pd(g)}function aT(A){var g=A.get(1);return g===null||!pd(g)}function qM(A,g){var e=A.map(function(I){return I.activeState.value});return new zo(e,g||0)}function sT(A){var g=this,e="latn",I=this.tokenizer.getRangeTokens(A),i=qM(I);i.context.forEach(function(t,C){i.setCurrentIndex(C);var o=g.query.lookupFeature({tag:"liga",script:e,contextParams:i});o.length&&(o.forEach(function(a){return Ry(a,I,C)}),i=qM(I))})}function po(A){this.baseDir=A||"ltr",this.tokenizer=new Mi,this.featuresTags={}}function ny(A){var g=this.contextChecks[A+"Check"];return this.tokenizer.registerContextChecker(A,g.startCheck,g.endCheck)}function BT(){return ny.call(this,"latinWord"),ny.call(this,"arabicWord"),ny.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function QT(){var A=this,g=this.tokenizer.getContextRanges("arabicSentence");g.forEach(function(e){var I=A.tokenizer.getRangeTokens(e);A.tokenizer.replaceRange(e.startIndex,e.endOffset,I.reverse())})}function vy(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function nT(){var A=this,g="arab";if(this.featuresTags.hasOwnProperty(g)){vy.call(this);var e=this.tokenizer.getContextRanges("arabicWord");e.forEach(function(I){tT.call(A,I)})}}function ET(){var A=this,g="arab";if(this.featuresTags.hasOwnProperty(g)){var e=this.featuresTags[g];if(e.indexOf("rlig")!==-1){vy.call(this);var I=this.tokenizer.getContextRanges("arabicWord");I.forEach(function(i){CT.call(A,i)})}}}function hT(){var A=this,g="latn";if(this.featuresTags.hasOwnProperty(g)){var e=this.featuresTags[g];if(e.indexOf("liga")!==-1){vy.call(this);var I=this.tokenizer.getContextRanges("latinWord");I.forEach(function(i){sT.call(A,i)})}}}function TI(A){A=A||{},A.tables=A.tables||{},A.empty||(Hh(A.familyName,"When creating a new Font object, familyName is required."),Hh(A.styleName,"When creating a new Font object, styleName is required."),Hh(A.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),Hh(A.ascender,"When creating a new Font object, ascender is required."),Hh(A.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:A.familyName||" "},fontSubfamily:{en:A.styleName||" "},fullName:{en:A.fullName||A.familyName+" "+A.styleName},postScriptName:{en:A.postScriptName||(A.familyName+A.styleName).replace(/\s/g,"")},designer:{en:A.designer||" "},designerURL:{en:A.designerURL||" "},manufacturer:{en:A.manufacturer||" "},manufacturerURL:{en:A.manufacturerURL||" "},license:{en:A.license||" "},licenseURL:{en:A.licenseURL||" "},version:{en:A.version||"Version 0.1"},description:{en:A.description||" "},copyright:{en:A.copyright||" "},trademark:{en:A.trademark||" "}},this.unitsPerEm=A.unitsPerEm||1e3,this.ascender=A.ascender,this.descender=A.descender,this.createdTimestamp=A.createdTimestamp,this.tables=Object.assign(A.tables,{os2:Object.assign({usWeightClass:A.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:A.widthClass||this.usWidthClasses.MEDIUM,fsSelection:A.fsSelection||this.fsSelectionValues.REGULAR},A.tables.os2)})),this.supported=!0,this.glyphs=new Fa.GlyphSet(this,A.glyphs||[]),this.encoding=new WM(this),this.position=new zh(this),this.substitution=new Io(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){if(this._hinting)return this._hinting;if(this.outlinesFormat==="truetype")return this._hinting=new Gk(this)}})}function Nk(A,g){var e=JSON.stringify(A),I=256;for(var i in g){var t=parseInt(i);if(!(!t||t<256)){if(JSON.stringify(g[i])===e)return t;I<=t&&(I=t+1)}}return g[I]=A,I}function lT(A,g,e){var I=Nk(g.name,e);return[{name:"tag_"+A,type:"TAG",value:g.tag},{name:"minValue_"+A,type:"FIXED",value:g.minValue<<16},{name:"defaultValue_"+A,type:"FIXED",value:g.defaultValue<<16},{name:"maxValue_"+A,type:"FIXED",value:g.maxValue<<16},{name:"flags_"+A,type:"USHORT",value:0},{name:"nameID_"+A,type:"USHORT",value:I}]}function cT(A,g,e){var I={},i=new Ce.Parser(A,g);return I.tag=i.parseTag(),I.minValue=i.parseFixed(),I.defaultValue=i.parseFixed(),I.maxValue=i.parseFixed(),i.skip("uShort",1),I.name=e[i.parseUShort()]||{},I}function dT(A,g,e,I){for(var i=Nk(g.name,I),t=[{name:"nameID_"+A,type:"USHORT",value:i},{name:"flags_"+A,type:"USHORT",value:0}],C=0;C<e.length;++C){var o=e[C].tag;t.push({name:"axis_"+A+" "+o,type:"FIXED",value:g.coordinates[o]<<16})}return t}function uT(A,g,e,I){var i={},t=new Ce.Parser(A,g);i.name=I[t.parseUShort()]||{},t.skip("uShort",1),i.coordinates={};for(var C=0;C<e.length;++C)i.coordinates[e[C].tag]=t.parseFixed();return i}function DT(A,g){var e=new ie.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:A.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:A.instances.length},{name:"instanceSize",type:"USHORT",value:4+A.axes.length*4}]);e.offsetToData=e.sizeOf();for(var I=0;I<A.axes.length;I++)e.fields=e.fields.concat(lT(I,A.axes[I],g));for(var i=0;i<A.instances.length;i++)e.fields=e.fields.concat(dT(i,A.instances[i],A.axes,g));return e}function pT(A,g,e){var I=new Ce.Parser(A,g),i=I.parseULong();ve.argument(i===65536,"Unsupported fvar table version.");var t=I.parseOffset16();I.skip("uShort",1);for(var C=I.parseUShort(),o=I.parseUShort(),a=I.parseUShort(),r=I.parseUShort(),s=[],B=0;B<C;B++)s.push(cT(A,g+t+B*o,e));for(var Q=[],n=g+t+C*o,E=0;E<a;E++)Q.push(uT(A,n+E*r,s,e));return{axes:s,instances:Q}}function MT(A,g){g=g||0;var e=new Ag(A,g),I=e.parseVersion(1);ve.argument(I===1||I===1.2||I===1.3,"Unsupported GDEF table version.");var i={version:I,classDef:e.parsePointer(Ag.classDef),attachList:e.parsePointer(wT),ligCaretList:e.parsePointer(GT),markAttachClassDef:e.parsePointer(Ag.classDef)};return I>=1.2&&(i.markGlyphSets=e.parsePointer(mT)),i}function UT(A,g){g=g||0;var e=new Ag(A,g),I=e.parseVersion(1);return ve.argument(I===1||I===1.1,"Unsupported GPOS table version "+I),I===1?{version:I,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(Vo)}:{version:I,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(Vo),variations:e.parseFeatureVariationsList()}}function FT(A){return new ie.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ie.ScriptList(A.scripts)},{name:"features",type:"TABLE",value:new ie.FeatureList(A.features)},{name:"lookups",type:"TABLE",value:new ie.LookupList(A.lookups,NT)}])}function vT(A){var g={};A.skip("uShort");var e=A.parseUShort();ve.argument(e===0,"Unsupported kern sub-table version."),A.skip("uShort",2);var I=A.parseUShort();A.skip("uShort",3);for(var i=0;i<I;i+=1){var t=A.parseUShort(),C=A.parseUShort(),o=A.parseShort();g[t+","+C]=o}return g}function KT(A){var g={};A.skip("uShort");var e=A.parseULong();e>1&&console.warn("Only the first kern subtable is supported."),A.skip("uLong");var I=A.parseUShort(),i=I&255;if(A.skip("uShort"),i===0){var t=A.parseUShort();A.skip("uShort",3);for(var C=0;C<t;C+=1){var o=A.parseUShort(),a=A.parseUShort(),r=A.parseShort();g[o+","+a]=r}}return g}function JT(A,g){var e=new Ce.Parser(A,g),I=e.parseUShort();if(I===0)return vT(e);if(I===1)return KT(e);throw new Error("Unsupported kern table version ("+I+").")}function bT(A,g,e,I){for(var i=new Ce.Parser(A,g),t=I?i.parseUShort:i.parseULong,C=[],o=0;o<e+1;o+=1){var a=t.call(i);I&&(a*=2),C.push(a)}return C}function xT(A,g){var e=wy();e.readFile(A,function(I,i){if(I)return g(I.message);g(null,uk(i))})}function YT(A,g){var e=new XMLHttpRequest;e.open("get",A,!0),e.responseType="arraybuffer",e.onload=function(){return e.response?g(null,e.response):g("Font could not be loaded: "+e.statusText)},e.onerror=function(){g("Font could not be loaded")},e.send()}function bM(A,g){for(var e=[],I=12,i=0;i<g;i+=1){var t=Ce.getTag(A,I),C=Ce.getULong(A,I+4),o=Ce.getULong(A,I+8),a=Ce.getULong(A,I+12);e.push({tag:t,checksum:C,offset:o,length:a,compression:!1}),I+=16}return e}function HT(A,g){for(var e=[],I=44,i=0;i<g;i+=1){var t=Ce.getTag(A,I),C=Ce.getULong(A,I+4),o=Ce.getULong(A,I+8),a=Ce.getULong(A,I+12),r=void 0;o<a?r="WOFF":r=!1,e.push({tag:t,offset:C,compression:r,compressedLength:o,length:a}),I+=20}return e}function bi(A,g){if(g.compression==="WOFF"){var e=new Uint8Array(A.buffer,g.offset+2,g.compressedLength-2),I=new Uint8Array(g.length);if(Rx(e,I),I.byteLength!==g.length)throw new Error("Decompression error: "+g.tag+" decompressed length doesn't match recorded length");var i=new DataView(I.buffer,0);return{data:i,offset:0}}else return{data:A,offset:g.offset}}function Ud(A,g){g=g??{};var e,I,i=new TI({empty:!0}),t=new DataView(A,0),C,o=[],a=Ce.getTag(t,0);if(a==="\0\0\0"||a==="true"||a==="typ1")i.outlinesFormat="truetype",C=Ce.getUShort(t,4),o=bM(t,C);else if(a==="OTTO")i.outlinesFormat="cff",C=Ce.getUShort(t,4),o=bM(t,C);else if(a==="wOFF"){var r=Ce.getTag(t,4);if(r==="\0\0\0")i.outlinesFormat="truetype";else if(r==="OTTO")i.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+a);C=Ce.getUShort(t,12),o=HT(t,C)}else throw new Error("Unsupported OpenType signature "+a);for(var s,B,Q,n,E,l,h,u,D,p,w,k,U=0;U<C;U+=1){var N=o[U],G=void 0;switch(N.tag){case"cmap":G=bi(t,N),i.tables.cmap=jM.parse(G.data,G.offset),i.encoding=new zM(i.tables.cmap);break;case"cvt ":G=bi(t,N),k=new Ce.Parser(G.data,G.offset),i.tables.cvt=k.parseShortList(N.length/2);break;case"fvar":B=N;break;case"fpgm":G=bi(t,N),k=new Ce.Parser(G.data,G.offset),i.tables.fpgm=k.parseByteList(N.length);break;case"head":G=bi(t,N),i.tables.head=tk.parse(G.data,G.offset),i.unitsPerEm=i.tables.head.unitsPerEm,e=i.tables.head.indexToLocFormat;break;case"hhea":G=bi(t,N),i.tables.hhea=Ck.parse(G.data,G.offset),i.ascender=i.tables.hhea.ascender,i.descender=i.tables.hhea.descender,i.numberOfHMetrics=i.tables.hhea.numberOfHMetrics;break;case"hmtx":h=N;break;case"ltag":G=bi(t,N),I=ak.parse(G.data,G.offset);break;case"maxp":G=bi(t,N),i.tables.maxp=rk.parse(G.data,G.offset),i.numGlyphs=i.tables.maxp.numGlyphs;break;case"name":p=N;break;case"OS/2":G=bi(t,N),i.tables.os2=py.parse(G.data,G.offset);break;case"post":G=bi(t,N),i.tables.post=hk.parse(G.data,G.offset),i.glyphNames=new My(i.tables.post);break;case"prep":G=bi(t,N),k=new Ce.Parser(G.data,G.offset),i.tables.prep=k.parseByteList(N.length);break;case"glyf":Q=N;break;case"loca":D=N;break;case"CFF ":s=N;break;case"kern":u=N;break;case"GDEF":n=N;break;case"GPOS":E=N;break;case"GSUB":l=N;break;case"meta":w=N;break}}var R=bi(t,p);if(i.tables.name=Ek.parse(R.data,R.offset,I),i.names=i.tables.name,Q&&D){var J=e===0,q=bi(t,D),T=LT.parse(q.data,q.offset,i.numGlyphs,J),P=bi(t,Q);i.glyphs=wk.parse(P.data,P.offset,T,i,g)}else if(s){var H=bi(t,s);ik.parse(H.data,H.offset,i,g)}else throw new Error("Font doesn't contain TrueType or CFF outlines.");var eA=bi(t,h);if(ok.parse(i,eA.data,eA.offset,i.numberOfHMetrics,i.numGlyphs,i.glyphs,g),A1(i,g),u){var rA=bi(t,u);i.kerningPairs=qT.parse(rA.data,rA.offset)}else i.kerningPairs={};if(n){var BA=bi(t,n);i.tables.gdef=kT.parse(BA.data,BA.offset)}if(E){var aA=bi(t,E);i.tables.gpos=RT.parse(aA.data,aA.offset),i.position.init()}if(l){var yA=bi(t,l);i.tables.gsub=lk.parse(yA.data,yA.offset)}if(B){var SA=bi(t,B);i.tables.fvar=yT.parse(SA.data,SA.offset,i.names)}if(w){var pA=bi(t,w);i.tables.meta=ck.parse(pA.data,pA.offset),i.metas=i.tables.meta}return i}function Fk(A,g,e){e=e??{};var I=typeof window>"u",i=I&&!e.isUrl?xT:YT;return new Promise(function(t,C){i(A,function(o,a){if(o){if(g)return g(o);C(o)}var r;try{r=Ud(a,e)}catch(s){if(g)return g(s,null);C(s)}if(g)return g(null,r);t(r)})})}function Rk(A,g){var e=wy(),I=e.readFileSync(A);return Ud(uk(I),g)}var Sx,wy,fy,LM,xM,YM,Sy,Gy,HM,TM,mx,AM,ka,gM,Rx,ve,iM,tM,cn,Vg,Ye,hy,hd,ld,vx,cd,ie,Tx,oM,Ce,jM,Dd,Vx,Zx,xB,LB,Fa,$M,Ak,ik,tk,Ck,ok,ak,rk,sk,Bk,b1,Qk,uy,x1,Y1,Ek,Dy,py,hk,Wo,ln,dn,lk,ck,eY,wk,fk,HB,Sk,yy,Mk,Na,Fr,jh,hY,zH,XH,KM,rT,yT,wT,fT,ST,GT,mT,kT,Vo,NT,RT,qT,LT,TT,OT,Kk=ms(()=>{Sx=(A,g)=>()=>(g||A((g={exports:{}}).exports,g),g.exports),wy=Sx(()=>{});String.prototype.codePointAt||function(){var A=function(){try{var e={},I=Object.defineProperty,i=I(e,e,e)&&I}catch{}return i}(),g=function(e){if(this==null)throw TypeError();var I=String(this),i=I.length,t=e?Number(e):0;if(t!=t&&(t=0),!(t<0||t>=i)){var C=I.charCodeAt(t),o;return C>=55296&&C<=56319&&i>t+1&&(o=I.charCodeAt(t+1),o>=56320&&o<=57343)?(C-55296)*1024+o-56320+65536:C}};A?A(String.prototype,"codePointAt",{value:g,configurable:!0,writable:!0}):String.prototype.codePointAt=g}();fy=0,LM=-3;xM=new Oh,YM=new Oh,Sy=new Uint8Array(30),Gy=new Uint16Array(30),HM=new Uint8Array(30),TM=new Uint16Array(30),mx=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),AM=new Oh,ka=new Uint8Array(320);gM=new Uint16Array(16);Mx(xM,YM);OM(Sy,Gy,4,3);OM(HM,TM,2,1);Sy[28]=0;Gy[28]=258;Rx=Fx;Ra.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)};Ra.prototype.addPoint=function(A,g){typeof A=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=A,this.x2=A),A<this.x1&&(this.x1=A),A>this.x2&&(this.x2=A)),typeof g=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=g,this.y2=g),g<this.y1&&(this.y1=g),g>this.y2&&(this.y2=g))};Ra.prototype.addX=function(A){this.addPoint(A,null)};Ra.prototype.addY=function(A){this.addPoint(null,A)};Ra.prototype.addBezier=function(A,g,e,I,i,t,C,o){var a=[A,g],r=[e,I],s=[i,t],B=[C,o];this.addPoint(A,g),this.addPoint(C,o);for(var Q=0;Q<=1;Q++){var n=6*a[Q]-12*r[Q]+6*s[Q],E=-3*a[Q]+9*r[Q]-9*s[Q]+3*B[Q],l=3*r[Q]-3*a[Q];if(E===0){if(n===0)continue;var h=-l/n;0<h&&h<1&&(Q===0&&this.addX(hn(a[Q],r[Q],s[Q],B[Q],h)),Q===1&&this.addY(hn(a[Q],r[Q],s[Q],B[Q],h)));continue}var u=Math.pow(n,2)-4*l*E;if(!(u<0)){var D=(-n+Math.sqrt(u))/(2*E);0<D&&D<1&&(Q===0&&this.addX(hn(a[Q],r[Q],s[Q],B[Q],D)),Q===1&&this.addY(hn(a[Q],r[Q],s[Q],B[Q],D)));var p=(-n-Math.sqrt(u))/(2*E);0<p&&p<1&&(Q===0&&this.addX(hn(a[Q],r[Q],s[Q],B[Q],p)),Q===1&&this.addY(hn(a[Q],r[Q],s[Q],B[Q],p)))}}};Ra.prototype.addQuad=function(A,g,e,I,i,t){var C=A+.6666666666666666*(e-A),o=g+2/3*(I-g),a=C+1/3*(i-A),r=o+1/3*(t-g);this.addBezier(A,g,C,o,a,r,i,t)};Li.prototype.moveTo=function(A,g){this.commands.push({type:"M",x:A,y:g})};Li.prototype.lineTo=function(A,g){this.commands.push({type:"L",x:A,y:g})};Li.prototype.curveTo=Li.prototype.bezierCurveTo=function(A,g,e,I,i,t){this.commands.push({type:"C",x1:A,y1:g,x2:e,y2:I,x:i,y:t})};Li.prototype.quadTo=Li.prototype.quadraticCurveTo=function(A,g,e,I){this.commands.push({type:"Q",x1:A,y1:g,x:e,y:I})};Li.prototype.close=Li.prototype.closePath=function(){this.commands.push({type:"Z"})};Li.prototype.extend=function(A){if(A.commands)A=A.commands;else if(A instanceof Ra){var g=A;this.moveTo(g.x1,g.y1),this.lineTo(g.x2,g.y1),this.lineTo(g.x2,g.y2),this.lineTo(g.x1,g.y2),this.close();return}Array.prototype.push.apply(this.commands,A)};Li.prototype.getBoundingBox=function(){for(var A=new Ra,g=0,e=0,I=0,i=0,t=0;t<this.commands.length;t++){var C=this.commands[t];switch(C.type){case"M":A.addPoint(C.x,C.y),g=I=C.x,e=i=C.y;break;case"L":A.addPoint(C.x,C.y),I=C.x,i=C.y;break;case"Q":A.addQuad(I,i,C.x1,C.y1,C.x,C.y),I=C.x,i=C.y;break;case"C":A.addBezier(I,i,C.x1,C.y1,C.x2,C.y2,C.x,C.y),I=C.x,i=C.y;break;case"Z":I=g,i=e;break;default:throw new Error("Unexpected path command "+C.type)}}return A.isEmpty()&&A.addPoint(0,0),A};Li.prototype.draw=function(A){A.beginPath();for(var g=0;g<this.commands.length;g+=1){var e=this.commands[g];e.type==="M"?A.moveTo(e.x,e.y):e.type==="L"?A.lineTo(e.x,e.y):e.type==="C"?A.bezierCurveTo(e.x1,e.y1,e.x2,e.y2,e.x,e.y):e.type==="Q"?A.quadraticCurveTo(e.x1,e.y1,e.x,e.y):e.type==="Z"&&A.closePath()}this.fill&&(A.fillStyle=this.fill,A.fill()),this.stroke&&(A.strokeStyle=this.stroke,A.lineWidth=this.strokeWidth,A.stroke())};Li.prototype.toPathData=function(A){A=A!==void 0?A:2;function g(C){return Math.round(C)===C?""+Math.round(C):C.toFixed(A)}function e(){for(var C=arguments,o="",a=0;a<arguments.length;a+=1){var r=C[a];r>=0&&a>0&&(o+=" "),o+=g(r)}return o}for(var I="",i=0;i<this.commands.length;i+=1){var t=this.commands[i];t.type==="M"?I+="M"+e(t.x,t.y):t.type==="L"?I+="L"+e(t.x,t.y):t.type==="C"?I+="C"+e(t.x1,t.y1,t.x2,t.y2,t.x,t.y):t.type==="Q"?I+="Q"+e(t.x1,t.y1,t.x,t.y):t.type==="Z"&&(I+="Z")}return I};Li.prototype.toSVG=function(A){var g='<path d="';return g+=this.toPathData(A),g+='"',this.fill&&this.fill!=="black"&&(this.fill===null?g+=' fill="none"':g+=' fill="'+this.fill+'"'),this.stroke&&(g+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),g+="/>",g};Li.prototype.toDOMElement=function(A){var g=this.toPathData(A),e=document.createElementNS("http://www.w3.org/2000/svg","path");return e.setAttribute("d",g),e};ve={fail:_M,argument:IM,assert:IM},iM=32768,tM=2147483648,cn={},Vg={},Ye={};Vg.BYTE=function(A){return ve.argument(A>=0&&A<=255,"Byte value should be between 0 and 255."),[A]};Ye.BYTE=Zo(1);Vg.CHAR=function(A){return[A.charCodeAt(0)]};Ye.CHAR=Zo(1);Vg.CHARARRAY=function(A){typeof A>"u"&&(A="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var g=[],e=0;e<A.length;e+=1)g[e]=A.charCodeAt(e);return g};Ye.CHARARRAY=function(A){return typeof A>"u"?0:A.length};Vg.USHORT=function(A){return[A>>8&255,A&255]};Ye.USHORT=Zo(2);Vg.SHORT=function(A){return A>=iM&&(A=-(2*iM-A)),[A>>8&255,A&255]};Ye.SHORT=Zo(2);Vg.UINT24=function(A){return[A>>16&255,A>>8&255,A&255]};Ye.UINT24=Zo(3);Vg.ULONG=function(A){return[A>>24&255,A>>16&255,A>>8&255,A&255]};Ye.ULONG=Zo(4);Vg.LONG=function(A){return A>=tM&&(A=-(2*tM-A)),[A>>24&255,A>>16&255,A>>8&255,A&255]};Ye.LONG=Zo(4);Vg.FIXED=Vg.ULONG;Ye.FIXED=Ye.ULONG;Vg.FWORD=Vg.SHORT;Ye.FWORD=Ye.SHORT;Vg.UFWORD=Vg.USHORT;Ye.UFWORD=Ye.USHORT;Vg.LONGDATETIME=function(A){return[0,0,0,0,A>>24&255,A>>16&255,A>>8&255,A&255]};Ye.LONGDATETIME=Zo(8);Vg.TAG=function(A){return ve.argument(A.length===4,"Tag should be exactly 4 ASCII characters."),[A.charCodeAt(0),A.charCodeAt(1),A.charCodeAt(2),A.charCodeAt(3)]};Ye.TAG=Zo(4);Vg.Card8=Vg.BYTE;Ye.Card8=Ye.BYTE;Vg.Card16=Vg.USHORT;Ye.Card16=Ye.USHORT;Vg.OffSize=Vg.BYTE;Ye.OffSize=Ye.BYTE;Vg.SID=Vg.USHORT;Ye.SID=Ye.USHORT;Vg.NUMBER=function(A){return A>=-107&&A<=107?[A+139]:A>=108&&A<=1131?(A=A-108,[(A>>8)+247,A&255]):A>=-1131&&A<=-108?(A=-A-108,[(A>>8)+251,A&255]):A>=-32768&&A<=32767?Vg.NUMBER16(A):Vg.NUMBER32(A)};Ye.NUMBER=function(A){return Vg.NUMBER(A).length};Vg.NUMBER16=function(A){return[28,A>>8&255,A&255]};Ye.NUMBER16=Zo(3);Vg.NUMBER32=function(A){return[29,A>>24&255,A>>16&255,A>>8&255,A&255]};Ye.NUMBER32=Zo(5);Vg.REAL=function(A){var g=A.toString(),e=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(g);if(e){var I=parseFloat("1e"+((e[2]?+e[2]:0)+e[1].length));g=(Math.round(A*I)/I).toString()}for(var i="",t=0,C=g.length;t<C;t+=1){var o=g[t];o==="e"?i+=g[++t]==="-"?"c":"b":o==="."?i+="a":o==="-"?i+="e":i+=o}i+=i.length&1?"f":"ff";for(var a=[30],r=0,s=i.length;r<s;r+=2)a.push(parseInt(i.substr(r,2),16));return a};Ye.REAL=function(A){return Vg.REAL(A).length};Vg.NAME=Vg.CHARARRAY;Ye.NAME=Ye.CHARARRAY;Vg.STRING=Vg.CHARARRAY;Ye.STRING=Ye.CHARARRAY;cn.UTF8=function(A,g,e){for(var I=[],i=e,t=0;t<i;t++,g+=1)I[t]=A.getUint8(g);return String.fromCharCode.apply(null,I)};cn.UTF16=function(A,g,e){for(var I=[],i=e/2,t=0;t<i;t++,g+=2)I[t]=A.getUint16(g);return String.fromCharCode.apply(null,I)};Vg.UTF16=function(A){for(var g=[],e=0;e<A.length;e+=1){var I=A.charCodeAt(e);g[g.length]=I>>8&255,g[g.length]=I&255}return g};Ye.UTF16=function(A){return A.length*2};hy={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};cn.MACSTRING=function(A,g,e,I){var i=hy[I];if(i!==void 0){for(var t="",C=0;C<e;C++){var o=A.getUint8(g+C);o<=127?t+=String.fromCharCode(o):t+=i[o&127]}return t}};hd=typeof WeakMap=="function"&&new WeakMap,vx=function(A){if(!ld){ld={};for(var g in hy)ld[g]=new String(g)}var e=ld[A];if(e!==void 0){if(hd){var I=hd.get(e);if(I!==void 0)return I}var i=hy[A];if(i!==void 0){for(var t={},C=0;C<i.length;C++)t[i.charCodeAt(C)]=C+128;return hd&&hd.set(e,t),t}}};Vg.MACSTRING=function(A,g){var e=vx(g);if(e!==void 0){for(var I=[],i=0;i<A.length;i++){var t=A.charCodeAt(i);if(t>=128&&(t=e[t],t===void 0))return;I[i]=t}return I}};Ye.MACSTRING=function(A,g){var e=Vg.MACSTRING(A,g);return e!==void 0?e.length:0};Vg.VARDELTAS=function(A){for(var g=0,e=[];g<A.length;){var I=A[g];I===0?g=Kx(A,g,e):I>=-128&&I<=127?g=Jx(A,g,e):g=qx(A,g,e)}return e};Vg.INDEX=function(A){for(var g=1,e=[g],I=[],i=0;i<A.length;i+=1){var t=Vg.OBJECT(A[i]);Array.prototype.push.apply(I,t),g+=t.length,e.push(g)}if(I.length===0)return[0,0];for(var C=[],o=1+Math.floor(Math.log(g)/Math.log(2))/8|0,a=[void 0,Vg.BYTE,Vg.USHORT,Vg.UINT24,Vg.ULONG][o],r=0;r<e.length;r+=1){var s=a(e[r]);Array.prototype.push.apply(C,s)}return Array.prototype.concat(Vg.Card16(A.length),Vg.OffSize(o),C,I)};Ye.INDEX=function(A){return Vg.INDEX(A).length};Vg.DICT=function(A){for(var g=[],e=Object.keys(A),I=e.length,i=0;i<I;i+=1){var t=parseInt(e[i],0),C=A[t];g=g.concat(Vg.OPERAND(C.value,C.type)),g=g.concat(Vg.OPERATOR(t))}return g};Ye.DICT=function(A){return Vg.DICT(A).length};Vg.OPERATOR=function(A){return A<1200?[A]:[12,A-1200]};Vg.OPERAND=function(A,g){var e=[];if(Array.isArray(g))for(var I=0;I<g.length;I+=1)ve.argument(A.length===g.length,"Not enough arguments given for type"+g),e=e.concat(Vg.OPERAND(A[I],g[I]));else if(g==="SID")e=e.concat(Vg.NUMBER(A));else if(g==="offset")e=e.concat(Vg.NUMBER32(A));else if(g==="number")e=e.concat(Vg.NUMBER(A));else if(g==="real")e=e.concat(Vg.REAL(A));else throw new Error("Unknown operand type "+g);return e};Vg.OP=Vg.BYTE;Ye.OP=Ye.BYTE;cd=typeof WeakMap=="function"&&new WeakMap;Vg.CHARSTRING=function(A){if(cd){var g=cd.get(A);if(g!==void 0)return g}for(var e=[],I=A.length,i=0;i<I;i+=1){var t=A[i];e=e.concat(Vg[t.type](t.value))}return cd&&cd.set(A,e),e};Ye.CHARSTRING=function(A){return Vg.CHARSTRING(A).length};Vg.OBJECT=function(A){var g=Vg[A.type];return ve.argument(g!==void 0,"No encoding function for type "+A.type),g(A.value)};Ye.OBJECT=function(A){var g=Ye[A.type];return ve.argument(g!==void 0,"No sizeOf function for type "+A.type),g(A.value)};Vg.TABLE=function(A){for(var g=[],e=A.fields.length,I=[],i=[],t=0;t<e;t+=1){var C=A.fields[t],o=Vg[C.type];ve.argument(o!==void 0,"No encoding function for field type "+C.type+" ("+C.name+")");var a=A[C.name];a===void 0&&(a=C.value);var r=o(a);C.type==="TABLE"?(i.push(g.length),g=g.concat([0,0]),I.push(r)):g=g.concat(r)}for(var s=0;s<I.length;s+=1){var B=i[s],Q=g.length;ve.argument(Q<65536,"Table "+A.tableName+" too big."),g[B]=Q>>8,g[B+1]=Q&255,g=g.concat(I[s])}return g};Ye.TABLE=function(A){for(var g=0,e=A.fields.length,I=0;I<e;I+=1){var i=A.fields[I],t=Ye[i.type];ve.argument(t!==void 0,"No sizeOf function for field type "+i.type+" ("+i.name+")");var C=A[i.name];C===void 0&&(C=i.value),g+=t(C),i.type==="TABLE"&&(g+=2)}return g};Vg.RECORD=Vg.TABLE;Ye.RECORD=Ye.TABLE;Vg.LITERAL=function(A){return A};Ye.LITERAL=function(A){return A.length};Ut.prototype.encode=function(){return Vg.TABLE(this)};Ut.prototype.sizeOf=function(){return Ye.TABLE(this)};yd.prototype=Object.create(Ut.prototype);yd.prototype.constructor=yd;wd.prototype=Object.create(Ut.prototype);wd.prototype.constructor=wd;fd.prototype=Object.create(Ut.prototype);fd.prototype.constructor=fd;Sd.prototype=Object.create(Ut.prototype);Sd.prototype.constructor=Sd;ie={Table:Ut,Record:Ut,Coverage:yd,ScriptList:wd,FeatureList:fd,LookupList:Sd,ushortList:_h,tableList:cy,recordList:Ph};Tx={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};Ag.prototype.parseByte=function(){var A=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,A};Ag.prototype.parseChar=function(){var A=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,A};Ag.prototype.parseCard8=Ag.prototype.parseByte;Ag.prototype.parseUShort=function(){var A=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,A};Ag.prototype.parseCard16=Ag.prototype.parseUShort;Ag.prototype.parseSID=Ag.prototype.parseUShort;Ag.prototype.parseOffset16=Ag.prototype.parseUShort;Ag.prototype.parseShort=function(){var A=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,A};Ag.prototype.parseF2Dot14=function(){var A=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,A};Ag.prototype.parseULong=function(){var A=my(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,A};Ag.prototype.parseOffset32=Ag.prototype.parseULong;Ag.prototype.parseFixed=function(){var A=PM(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,A};Ag.prototype.parseString=function(A){var g=this.data,e=this.offset+this.relativeOffset,I="";this.relativeOffset+=A;for(var i=0;i<A;i++)I+=String.fromCharCode(g.getUint8(e+i));return I};Ag.prototype.parseTag=function(){return this.parseString(4)};Ag.prototype.parseLongDateTime=function(){var A=my(this.data,this.offset+this.relativeOffset+4);return A-=2082844800,this.relativeOffset+=8,A};Ag.prototype.parseVersion=function(A){var g=Gd(this.data,this.offset+this.relativeOffset),e=Gd(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,A===void 0&&(A=4096),g+e/A/10};Ag.prototype.skip=function(A,g){g===void 0&&(g=1),this.relativeOffset+=Tx[A]*g};Ag.prototype.parseULongList=function(A){A===void 0&&(A=this.parseULong());for(var g=new Array(A),e=this.data,I=this.offset+this.relativeOffset,i=0;i<A;i++)g[i]=e.getUint32(I),I+=4;return this.relativeOffset+=A*4,g};Ag.prototype.parseOffset16List=Ag.prototype.parseUShortList=function(A){A===void 0&&(A=this.parseUShort());for(var g=new Array(A),e=this.data,I=this.offset+this.relativeOffset,i=0;i<A;i++)g[i]=e.getUint16(I),I+=2;return this.relativeOffset+=A*2,g};Ag.prototype.parseShortList=function(A){for(var g=new Array(A),e=this.data,I=this.offset+this.relativeOffset,i=0;i<A;i++)g[i]=e.getInt16(I),I+=2;return this.relativeOffset+=A*2,g};Ag.prototype.parseByteList=function(A){for(var g=new Array(A),e=this.data,I=this.offset+this.relativeOffset,i=0;i<A;i++)g[i]=e.getUint8(I++);return this.relativeOffset+=A,g};Ag.prototype.parseList=function(A,g){g||(g=A,A=this.parseUShort());for(var e=new Array(A),I=0;I<A;I++)e[I]=g.call(this);return e};Ag.prototype.parseList32=function(A,g){g||(g=A,A=this.parseULong());for(var e=new Array(A),I=0;I<A;I++)e[I]=g.call(this);return e};Ag.prototype.parseRecordList=function(A,g){g||(g=A,A=this.parseUShort());for(var e=new Array(A),I=Object.keys(g),i=0;i<A;i++){for(var t={},C=0;C<I.length;C++){var o=I[C],a=g[o];t[o]=a.call(this)}e[i]=t}return e};Ag.prototype.parseRecordList32=function(A,g){g||(g=A,A=this.parseULong());for(var e=new Array(A),I=Object.keys(g),i=0;i<A;i++){for(var t={},C=0;C<I.length;C++){var o=I[C],a=g[o];t[o]=a.call(this)}e[i]=t}return e};Ag.prototype.parseStruct=function(A){if(typeof A=="function")return A.call(this);for(var g=Object.keys(A),e={},I=0;I<g.length;I++){var i=g[I],t=A[i];e[i]=t.call(this)}return e};Ag.prototype.parseValueRecord=function(A){if(A===void 0&&(A=this.parseUShort()),A!==0){var g={};return A&1&&(g.xPlacement=this.parseShort()),A&2&&(g.yPlacement=this.parseShort()),A&4&&(g.xAdvance=this.parseShort()),A&8&&(g.yAdvance=this.parseShort()),A&16&&(g.xPlaDevice=void 0,this.parseShort()),A&32&&(g.yPlaDevice=void 0,this.parseShort()),A&64&&(g.xAdvDevice=void 0,this.parseShort()),A&128&&(g.yAdvDevice=void 0,this.parseShort()),g}};Ag.prototype.parseValueRecordList=function(){for(var A=this.parseUShort(),g=this.parseUShort(),e=new Array(g),I=0;I<g;I++)e[I]=this.parseValueRecord(A);return e};Ag.prototype.parsePointer=function(A){var g=this.parseOffset16();if(g>0)return new Ag(this.data,this.offset+g).parseStruct(A)};Ag.prototype.parsePointer32=function(A){var g=this.parseOffset32();if(g>0)return new Ag(this.data,this.offset+g).parseStruct(A)};Ag.prototype.parseListOfLists=function(A){for(var g=this.parseOffset16List(),e=g.length,I=this.relativeOffset,i=new Array(e),t=0;t<e;t++){var C=g[t];if(C===0){i[t]=void 0;continue}if(this.relativeOffset=C,A){for(var o=this.parseOffset16List(),a=new Array(o.length),r=0;r<o.length;r++)this.relativeOffset=C+o[r],a[r]=A.call(this);i[t]=a}else i[t]=this.parseUShortList()}return this.relativeOffset=I,i};Ag.prototype.parseCoverage=function(){var A=this.offset+this.relativeOffset,g=this.parseUShort(),e=this.parseUShort();if(g===1)return{format:1,glyphs:this.parseUShortList(e)};if(g===2){for(var I=new Array(e),i=0;i<e;i++)I[i]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:I}}throw new Error("0x"+A.toString(16)+": Coverage format must be 1 or 2.")};Ag.prototype.parseClassDef=function(){var A=this.offset+this.relativeOffset,g=this.parseUShort();if(g===1)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(g===2)return{format:2,ranges:this.parseRecordList({start:Ag.uShort,end:Ag.uShort,classId:Ag.uShort})};throw new Error("0x"+A.toString(16)+": ClassDef format must be 1 or 2.")};Ag.list=function(A,g){return function(){return this.parseList(A,g)}};Ag.list32=function(A,g){return function(){return this.parseList32(A,g)}};Ag.recordList=function(A,g){return function(){return this.parseRecordList(A,g)}};Ag.recordList32=function(A,g){return function(){return this.parseRecordList32(A,g)}};Ag.pointer=function(A){return function(){return this.parsePointer(A)}};Ag.pointer32=function(A){return function(){return this.parsePointer32(A)}};Ag.tag=Ag.prototype.parseTag;Ag.byte=Ag.prototype.parseByte;Ag.uShort=Ag.offset16=Ag.prototype.parseUShort;Ag.uShortList=Ag.prototype.parseUShortList;Ag.uLong=Ag.offset32=Ag.prototype.parseULong;Ag.uLongList=Ag.prototype.parseULongList;Ag.struct=Ag.prototype.parseStruct;Ag.coverage=Ag.prototype.parseCoverage;Ag.classDef=Ag.prototype.parseClassDef;oM={reserved:Ag.uShort,reqFeatureIndex:Ag.uShort,featureIndexes:Ag.uShortList};Ag.prototype.parseScriptList=function(){return this.parsePointer(Ag.recordList({tag:Ag.tag,script:Ag.pointer({defaultLangSys:Ag.pointer(oM),langSysRecords:Ag.recordList({tag:Ag.tag,langSys:Ag.pointer(oM)})})}))||[]};Ag.prototype.parseFeatureList=function(){return this.parsePointer(Ag.recordList({tag:Ag.tag,feature:Ag.pointer({featureParams:Ag.offset16,lookupListIndexes:Ag.uShortList})}))||[]};Ag.prototype.parseLookupList=function(A){return this.parsePointer(Ag.list(Ag.pointer(function(){var g=this.parseUShort();ve.argument(1<=g&&g<=9,"GPOS/GSUB lookup type "+g+" unknown.");var e=this.parseUShort(),I=e&16;return{lookupType:g,lookupFlag:e,subtables:this.parseList(Ag.pointer(A[g])),markFilteringSet:I?this.parseUShort():void 0}})))||[]};Ag.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){var A=this.parseUShort(),g=this.parseUShort();ve.argument(A===1&&g<1,"GPOS/GSUB feature variations table unknown.");var e=this.parseRecordList32({conditionSetOffset:Ag.offset32,featureTableSubstitutionOffset:Ag.offset32});return e})||[]};Ce={getByte:CM,getCard8:CM,getUShort:Gd,getCard16:Gd,getShort:bx,getULong:my,getFixed:PM,getTag:Lx,getOffset:xx,getBytes:Yx,bytesToString:Hx,Parser:Ag};jM={parse:Px,make:zx},Dd=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Vx=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],Zx=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],xB=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];WM.prototype.charToGlyphIndex=function(A){var g=A.codePointAt(0),e=this.font.glyphs;if(e){for(var I=0;I<e.length;I+=1)for(var i=e.get(I),t=0;t<i.unicodes.length;t+=1)if(i.unicodes[t]===g)return I}return null};zM.prototype.charToGlyphIndex=function(A){return this.cmap.glyphIndexMap[A.codePointAt(0)]||0};md.prototype.charToGlyphIndex=function(A){var g=A.codePointAt(0),e=this.encoding[g];return this.charset.indexOf(e)};My.prototype.nameToGlyphIndex=function(A){return this.names.indexOf(A)};My.prototype.glyphIndexToName=function(A){return this.names[A]};LB={line:g1};YC.prototype.bindConstructorValues=function(A){this.index=A.index||0,this.name=A.name||null,this.unicode=A.unicode||void 0,this.unicodes=A.unicodes||A.unicode!==void 0?[A.unicode]:[],"xMin"in A&&(this.xMin=A.xMin),"yMin"in A&&(this.yMin=A.yMin),"xMax"in A&&(this.xMax=A.xMax),"yMax"in A&&(this.yMax=A.yMax),"advanceWidth"in A&&(this.advanceWidth=A.advanceWidth),Object.defineProperty(this,"path",e1(this,A.path))};YC.prototype.addUnicode=function(A){this.unicodes.length===0&&(this.unicode=A),this.unicodes.push(A)};YC.prototype.getBoundingBox=function(){return this.path.getBoundingBox()};YC.prototype.getPath=function(A,g,e,I,i){A=A!==void 0?A:0,g=g!==void 0?g:0,e=e!==void 0?e:72;var t,C;I||(I={});var o=I.xScale,a=I.yScale;if(I.hinting&&i&&i.hinting&&(C=this.path&&i.hinting.exec(this,e)),C)t=i.hinting.getCommands(C),A=Math.round(A),g=Math.round(g),o=a=1;else{t=this.path.commands;var r=1/(this.path.unitsPerEm||1e3)*e;o===void 0&&(o=r),a===void 0&&(a=r)}for(var s=new Li,B=0;B<t.length;B+=1){var Q=t[B];Q.type==="M"?s.moveTo(A+Q.x*o,g+-Q.y*a):Q.type==="L"?s.lineTo(A+Q.x*o,g+-Q.y*a):Q.type==="Q"?s.quadraticCurveTo(A+Q.x1*o,g+-Q.y1*a,A+Q.x*o,g+-Q.y*a):Q.type==="C"?s.curveTo(A+Q.x1*o,g+-Q.y1*a,A+Q.x2*o,g+-Q.y2*a,A+Q.x*o,g+-Q.y*a):Q.type==="Z"&&s.closePath()}return s};YC.prototype.getContours=function(){if(this.points===void 0)return[];for(var A=[],g=[],e=0;e<this.points.length;e+=1){var I=this.points[e];g.push(I),I.lastPointOfContour&&(A.push(g),g=[])}return ve.argument(g.length===0,"There are still points left in the current contour."),A};YC.prototype.getMetrics=function(){for(var A=this.path.commands,g=[],e=[],I=0;I<A.length;I+=1){var i=A[I];i.type!=="Z"&&(g.push(i.x),e.push(i.y)),(i.type==="Q"||i.type==="C")&&(g.push(i.x1),e.push(i.y1)),i.type==="C"&&(g.push(i.x2),e.push(i.y2))}var t={xMin:Math.min.apply(null,g),yMin:Math.min.apply(null,e),xMax:Math.max.apply(null,g),yMax:Math.max.apply(null,e),leftSideBearing:this.leftSideBearing};return isFinite(t.xMin)||(t.xMin=0),isFinite(t.xMax)||(t.xMax=this.advanceWidth),isFinite(t.yMin)||(t.yMin=0),isFinite(t.yMax)||(t.yMax=0),t.rightSideBearing=this.advanceWidth-t.leftSideBearing-(t.xMax-t.xMin),t};YC.prototype.draw=function(A,g,e,I,i){this.getPath(g,e,I,i).draw(A)};YC.prototype.drawPoints=function(A,g,e,I){function i(B,Q,n,E){A.beginPath();for(var l=0;l<B.length;l+=1)A.moveTo(Q+B[l].x*E,n+B[l].y*E),A.arc(Q+B[l].x*E,n+B[l].y*E,2,0,Math.PI*2,!1);A.closePath(),A.fill()}g=g!==void 0?g:0,e=e!==void 0?e:0,I=I!==void 0?I:24;for(var t=1/this.path.unitsPerEm*I,C=[],o=[],a=this.path,r=0;r<a.commands.length;r+=1){var s=a.commands[r];s.x!==void 0&&C.push({x:s.x,y:-s.y}),s.x1!==void 0&&o.push({x:s.x1,y:-s.y1}),s.x2!==void 0&&o.push({x:s.x2,y:-s.y2})}A.fillStyle="blue",i(C,g,e,t),A.fillStyle="red",i(o,g,e,t)};YC.prototype.drawMetrics=function(A,g,e,I){var i;g=g!==void 0?g:0,e=e!==void 0?e:0,I=I!==void 0?I:24,i=1/this.path.unitsPerEm*I,A.lineWidth=1,A.strokeStyle="black",LB.line(A,g,-1e4,g,1e4),LB.line(A,-1e4,e,1e4,e);var t=this.xMin||0,C=this.yMin||0,o=this.xMax||0,a=this.yMax||0,r=this.advanceWidth||0;A.strokeStyle="blue",LB.line(A,g+t*i,-1e4,g+t*i,1e4),LB.line(A,g+o*i,-1e4,g+o*i,1e4),LB.line(A,-1e4,e+-C*i,1e4,e+-C*i),LB.line(A,-1e4,e+-a*i,1e4,e+-a*i),A.strokeStyle="green",LB.line(A,g+r*i,-1e4,g+r*i,1e4)};ky.prototype.get=function(A){if(this.glyphs[A]===void 0){this.font._push(A),typeof this.glyphs[A]=="function"&&(this.glyphs[A]=this.glyphs[A]());var g=this.glyphs[A],e=this.font._IndexToUnicodeMap[A];if(e)for(var I=0;I<e.unicodes.length;I++)g.addUnicode(e.unicodes[I]);this.font.cffEncoding?this.font.isCIDFont?g.name="gid"+A:g.name=this.font.cffEncoding.charset[A]:this.font.glyphNames.names&&(g.name=this.font.glyphNames.glyphIndexToName(A)),this.glyphs[A].advanceWidth=this.font._hmtxTableData[A].advanceWidth,this.glyphs[A].leftSideBearing=this.font._hmtxTableData[A].leftSideBearing}else typeof this.glyphs[A]=="function"&&(this.glyphs[A]=this.glyphs[A]());return this.glyphs[A]};ky.prototype.push=function(A,g){this.glyphs[A]=g,this.length++};Fa={GlyphSet:ky,glyphLoader:I1,ttfGlyphLoader:i1,cffGlyphLoader:t1};$M=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],Ak=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];ik={parse:l1,make:S1};tk={parse:G1,make:m1};Ck={parse:M1,make:k1};ok={parse:F1,make:R1};ak={make:v1,parse:K1};rk={parse:J1,make:q1},sk=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],Bk={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},b1={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},Qk={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};uy="utf-16",x1={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},Y1={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};Ek={parse:H1,make:O1},Dy=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];py={parse:P1,make:j1,unicodeRanges:Dy,getUnicodeRange:_1};hk={parse:W1,make:z1},Wo=new Array(9);Wo[1]=function(){var A=this.offset+this.relativeOffset,g=this.parseUShort();if(g===1)return{substFormat:1,coverage:this.parsePointer(Ag.coverage),deltaGlyphId:this.parseUShort()};if(g===2)return{substFormat:2,coverage:this.parsePointer(Ag.coverage),substitute:this.parseOffset16List()};ve.assert(!1,"0x"+A.toString(16)+": lookup type 1 format must be 1 or 2.")};Wo[2]=function(){var A=this.parseUShort();return ve.argument(A===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(Ag.coverage),sequences:this.parseListOfLists()}};Wo[3]=function(){var A=this.parseUShort();return ve.argument(A===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(Ag.coverage),alternateSets:this.parseListOfLists()}};Wo[4]=function(){var A=this.parseUShort();return ve.argument(A===1,"GSUB ligature table identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(Ag.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};ln={sequenceIndex:Ag.uShort,lookupListIndex:Ag.uShort};Wo[5]=function(){var A=this.offset+this.relativeOffset,g=this.parseUShort();if(g===1)return{substFormat:g,coverage:this.parsePointer(Ag.coverage),ruleSets:this.parseListOfLists(function(){var i=this.parseUShort(),t=this.parseUShort();return{input:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(t,ln)}})};if(g===2)return{substFormat:g,coverage:this.parsePointer(Ag.coverage),classDef:this.parsePointer(Ag.classDef),classSets:this.parseListOfLists(function(){var i=this.parseUShort(),t=this.parseUShort();return{classes:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(t,ln)}})};if(g===3){var e=this.parseUShort(),I=this.parseUShort();return{substFormat:g,coverages:this.parseList(e,Ag.pointer(Ag.coverage)),lookupRecords:this.parseRecordList(I,ln)}}ve.assert(!1,"0x"+A.toString(16)+": lookup type 5 format must be 1, 2 or 3.")};Wo[6]=function(){var A=this.offset+this.relativeOffset,g=this.parseUShort();if(g===1)return{substFormat:1,coverage:this.parsePointer(Ag.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(ln)}})};if(g===2)return{substFormat:2,coverage:this.parsePointer(Ag.coverage),backtrackClassDef:this.parsePointer(Ag.classDef),inputClassDef:this.parsePointer(Ag.classDef),lookaheadClassDef:this.parsePointer(Ag.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(ln)}})};if(g===3)return{substFormat:3,backtrackCoverage:this.parseList(Ag.pointer(Ag.coverage)),inputCoverage:this.parseList(Ag.pointer(Ag.coverage)),lookaheadCoverage:this.parseList(Ag.pointer(Ag.coverage)),lookupRecords:this.parseRecordList(ln)};ve.assert(!1,"0x"+A.toString(16)+": lookup type 6 format must be 1, 2 or 3.")};Wo[7]=function(){var A=this.parseUShort();ve.argument(A===1,"GSUB Extension Substitution subtable identifier-format must be 1");var g=this.parseUShort(),e=new Ag(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:g,extension:Wo[g].call(e)}};Wo[8]=function(){var A=this.parseUShort();return ve.argument(A===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(Ag.coverage),backtrackCoverage:this.parseList(Ag.pointer(Ag.coverage)),lookaheadCoverage:this.parseList(Ag.pointer(Ag.coverage)),substitutes:this.parseUShortList()}};dn=new Array(9);dn[1]=function(A){return A.substFormat===1?new ie.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ie.Coverage(A.coverage)},{name:"deltaGlyphID",type:"USHORT",value:A.deltaGlyphId}]):new ie.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new ie.Coverage(A.coverage)}].concat(ie.ushortList("substitute",A.substitute)))};dn[2]=function(A){return ve.assert(A.substFormat===1,"Lookup type 2 substFormat must be 1."),new ie.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ie.Coverage(A.coverage)}].concat(ie.tableList("seqSet",A.sequences,function(g){return new ie.Table("sequenceSetTable",ie.ushortList("sequence",g))})))};dn[3]=function(A){return ve.assert(A.substFormat===1,"Lookup type 3 substFormat must be 1."),new ie.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ie.Coverage(A.coverage)}].concat(ie.tableList("altSet",A.alternateSets,function(g){return new ie.Table("alternateSetTable",ie.ushortList("alternate",g))})))};dn[4]=function(A){return ve.assert(A.substFormat===1,"Lookup type 4 substFormat must be 1."),new ie.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new ie.Coverage(A.coverage)}].concat(ie.tableList("ligSet",A.ligatureSets,function(g){return new ie.Table("ligatureSetTable",ie.tableList("ligature",g,function(e){return new ie.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:e.ligGlyph}].concat(ie.ushortList("component",e.components,e.components.length+1)))}))})))};dn[6]=function(A){if(A.substFormat===1){var g=new ie.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:A.substFormat},{name:"coverage",type:"TABLE",value:new ie.Coverage(A.coverage)}].concat(ie.tableList("chainRuleSet",A.chainRuleSets,function(i){return new ie.Table("chainRuleSetTable",ie.tableList("chainRule",i,function(t){var C=ie.ushortList("backtrackGlyph",t.backtrack,t.backtrack.length).concat(ie.ushortList("inputGlyph",t.input,t.input.length+1)).concat(ie.ushortList("lookaheadGlyph",t.lookahead,t.lookahead.length)).concat(ie.ushortList("substitution",[],t.lookupRecords.length));return t.lookupRecords.forEach(function(o,a){C=C.concat({name:"sequenceIndex"+a,type:"USHORT",value:o.sequenceIndex}).concat({name:"lookupListIndex"+a,type:"USHORT",value:o.lookupListIndex})}),new ie.Table("chainRuleTable",C)}))})));return g}else if(A.substFormat===2)ve.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(A.substFormat===3){var e=[{name:"substFormat",type:"USHORT",value:A.substFormat}];e.push({name:"backtrackGlyphCount",type:"USHORT",value:A.backtrackCoverage.length}),A.backtrackCoverage.forEach(function(i,t){e.push({name:"backtrackCoverage"+t,type:"TABLE",value:new ie.Coverage(i)})}),e.push({name:"inputGlyphCount",type:"USHORT",value:A.inputCoverage.length}),A.inputCoverage.forEach(function(i,t){e.push({name:"inputCoverage"+t,type:"TABLE",value:new ie.Coverage(i)})}),e.push({name:"lookaheadGlyphCount",type:"USHORT",value:A.lookaheadCoverage.length}),A.lookaheadCoverage.forEach(function(i,t){e.push({name:"lookaheadCoverage"+t,type:"TABLE",value:new ie.Coverage(i)})}),e.push({name:"substitutionCount",type:"USHORT",value:A.lookupRecords.length}),A.lookupRecords.forEach(function(i,t){e=e.concat({name:"sequenceIndex"+t,type:"USHORT",value:i.sequenceIndex}).concat({name:"lookupListIndex"+t,type:"USHORT",value:i.lookupListIndex})});var I=new ie.Table("chainContextTable",e);return I}ve.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};lk={parse:V1,make:Z1};ck={parse:X1,make:$1};eY={make:dk,fontToTable:gY,computeCheckSum:Uy};Wh.prototype={searchTag:oy,binSearch:cM,getTable:function(A){var g=this.font.tables[this.tableName];return!g&&A&&(g=this.font.tables[this.tableName]=this.createDefaultTable()),g},getScriptNames:function(){var A=this.getTable();return A?A.scripts.map(function(g){return g.tag}):[]},getDefaultScriptName:function(){var A=this.getTable();if(A){for(var g=!1,e=0;e<A.scripts.length;e++){var I=A.scripts[e].tag;if(I==="DFLT")return I;I==="latn"&&(g=!0)}if(g)return"latn"}},getScriptTable:function(A,g){var e=this.getTable(g);if(e){A=A||"DFLT";var I=e.scripts,i=oy(e.scripts,A);if(i>=0)return I[i].script;if(g){var t={tag:A,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return I.splice(-1-i,0,t),t.script}}},getLangSysTable:function(A,g,e){var I=this.getScriptTable(A,e);if(I){if(!g||g==="dflt"||g==="DFLT")return I.defaultLangSys;var i=oy(I.langSysRecords,g);if(i>=0)return I.langSysRecords[i].langSys;if(e){var t={tag:g,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return I.langSysRecords.splice(-1-i,0,t),t.langSys}}},getFeatureTable:function(A,g,e,I){var i=this.getLangSysTable(A,g,I);if(i){for(var t,C=i.featureIndexes,o=this.font.tables[this.tableName].features,a=0;a<C.length;a++)if(t=o[C[a]],t.tag===e)return t.feature;if(I){var r=o.length;return ve.assert(r===0||e>=o[r-1].tag,"Features must be added in alphabetical order."),t={tag:e,feature:{params:0,lookupListIndexes:[]}},o.push(t),C.push(r),t.feature}}},getLookupTables:function(A,g,e,I,i){var t=this.getFeatureTable(A,g,e,i),C=[];if(t){for(var o,a=t.lookupListIndexes,r=this.font.tables[this.tableName].lookups,s=0;s<a.length;s++)o=r[a[s]],o.lookupType===I&&C.push(o);if(C.length===0&&i){o={lookupType:I,lookupFlag:0,subtables:[],markFilteringSet:void 0};var B=r.length;return r.push(o),a.push(B),[o]}}return C},getGlyphClass:function(A,g){switch(A.format){case 1:return A.startGlyph<=g&&g<A.startGlyph+A.classes.length?A.classes[g-A.startGlyph]:0;case 2:var e=dM(A.ranges,g);return e?e.classId:0}},getCoverageIndex:function(A,g){switch(A.format){case 1:var e=cM(A.glyphs,g);return e>=0?e:-1;case 2:var I=dM(A.ranges,g);return I?I.index+g-I.start:-1}},expandCoverage:function(A){if(A.format===1)return A.glyphs;for(var g=[],e=A.ranges,I=0;I<e.length;I++)for(var i=e[I],t=i.start,C=i.end,o=t;o<=C;o++)g.push(o);return g}};zh.prototype=Wh.prototype;zh.prototype.init=function(){var A=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(A)};zh.prototype.getKerningValue=function(A,g,e){for(var I=0;I<A.length;I++)for(var i=A[I].subtables,t=0;t<i.length;t++){var C=i[t],o=this.getCoverageIndex(C.coverage,g);if(!(o<0))switch(C.posFormat){case 1:for(var a=C.pairSets[o],r=0;r<a.length;r++){var s=a[r];if(s.secondGlyph===e)return s.value1&&s.value1.xAdvance||0}break;case 2:var B=this.getGlyphClass(C.classDef1,g),Q=this.getGlyphClass(C.classDef2,e),n=C.classRecords[B][Q];return n.value1&&n.value1.xAdvance||0}}return 0};zh.prototype.getKerningTables=function(A,g){if(this.font.tables.gpos)return this.getLookupTables(A,g,"kern",2)};Io.prototype=Wh.prototype;Io.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}};Io.prototype.getSingle=function(A,g,e){for(var I=[],i=this.getLookupTables(g,e,A,1),t=0;t<i.length;t++)for(var C=i[t].subtables,o=0;o<C.length;o++){var a=C[o],r=this.expandCoverage(a.coverage),s=void 0;if(a.substFormat===1){var B=a.deltaGlyphId;for(s=0;s<r.length;s++){var Q=r[s];I.push({sub:Q,by:Q+B})}}else{var n=a.substitute;for(s=0;s<r.length;s++)I.push({sub:r[s],by:n[s]})}}return I};Io.prototype.getMultiple=function(A,g,e){for(var I=[],i=this.getLookupTables(g,e,A,2),t=0;t<i.length;t++)for(var C=i[t].subtables,o=0;o<C.length;o++){var a=C[o],r=this.expandCoverage(a.coverage),s=void 0;for(s=0;s<r.length;s++){var B=r[s],Q=a.sequences[s];I.push({sub:B,by:Q})}}return I};Io.prototype.getAlternates=function(A,g,e){for(var I=[],i=this.getLookupTables(g,e,A,3),t=0;t<i.length;t++)for(var C=i[t].subtables,o=0;o<C.length;o++)for(var a=C[o],r=this.expandCoverage(a.coverage),s=a.alternateSets,B=0;B<r.length;B++)I.push({sub:r[B],by:s[B]});return I};Io.prototype.getLigatures=function(A,g,e){for(var I=[],i=this.getLookupTables(g,e,A,4),t=0;t<i.length;t++)for(var C=i[t].subtables,o=0;o<C.length;o++)for(var a=C[o],r=this.expandCoverage(a.coverage),s=a.ligatureSets,B=0;B<r.length;B++)for(var Q=r[B],n=s[B],E=0;E<n.length;E++){var l=n[E];I.push({sub:[Q].concat(l.components),by:l.ligGlyph})}return I};Io.prototype.addSingle=function(A,g,e,I){var i=this.getLookupTables(e,I,A,1,!0)[0],t=Ny(i,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});ve.assert(t.coverage.format===1,"Single: unable to modify coverage table format "+t.coverage.format);var C=g.sub,o=this.binSearch(t.coverage.glyphs,C);o<0&&(o=-1-o,t.coverage.glyphs.splice(o,0,C),t.substitute.splice(o,0,0)),t.substitute[o]=g.by};Io.prototype.addMultiple=function(A,g,e,I){ve.assert(g.by instanceof Array&&g.by.length>1,'Multiple: "by" must be an array of two or more ids');var i=this.getLookupTables(e,I,A,2,!0)[0],t=Ny(i,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});ve.assert(t.coverage.format===1,"Multiple: unable to modify coverage table format "+t.coverage.format);var C=g.sub,o=this.binSearch(t.coverage.glyphs,C);o<0&&(o=-1-o,t.coverage.glyphs.splice(o,0,C),t.sequences.splice(o,0,0)),t.sequences[o]=g.by};Io.prototype.addAlternate=function(A,g,e,I){var i=this.getLookupTables(e,I,A,3,!0)[0],t=Ny(i,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});ve.assert(t.coverage.format===1,"Alternate: unable to modify coverage table format "+t.coverage.format);var C=g.sub,o=this.binSearch(t.coverage.glyphs,C);o<0&&(o=-1-o,t.coverage.glyphs.splice(o,0,C),t.alternateSets.splice(o,0,0)),t.alternateSets[o]=g.by};Io.prototype.addLigature=function(A,g,e,I){var i=this.getLookupTables(e,I,A,4,!0)[0],t=i.subtables[0];t||(t={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},i.subtables[0]=t),ve.assert(t.coverage.format===1,"Ligature: unable to modify coverage table format "+t.coverage.format);var C=g.sub[0],o=g.sub.slice(1),a={ligGlyph:g.by,components:o},r=this.binSearch(t.coverage.glyphs,C);if(r>=0){for(var s=t.ligatureSets[r],B=0;B<s.length;B++)if(IY(s[B].components,o))return;s.push(a)}else r=-1-r,t.coverage.glyphs.splice(r,0,C),t.ligatureSets.splice(r,0,[a])};Io.prototype.getFeature=function(A,g,e){if(/ss\d\d/.test(A))return this.getSingle(A,g,e);switch(A){case"aalt":case"salt":return this.getSingle(A,g,e).concat(this.getAlternates(A,g,e));case"dlig":case"liga":case"rlig":return this.getLigatures(A,g,e);case"ccmp":return this.getMultiple(A,g,e).concat(this.getLigatures(A,g,e));case"stch":return this.getMultiple(A,g,e)}};Io.prototype.add=function(A,g,e,I){if(/ss\d\d/.test(A))return this.addSingle(A,g,e,I);switch(A){case"aalt":case"salt":return typeof g.by=="number"?this.addSingle(A,g,e,I):this.addAlternate(A,g,e,I);case"dlig":case"liga":case"rlig":return this.addLigature(A,g,e,I);case"ccmp":return g.by instanceof Array?this.addMultiple(A,g,e,I):this.addLigature(A,g,e,I)}};wk={getPath:pk,parse:rY};Mk=function(A){var g=this.srPeriod,e=this.srPhase,I=this.srThreshold,i=1;return A<0&&(A=-A,i=-1),A+=I-e,A=Math.trunc(A/g)*g,A+=e,A<0?e*i:A*i},Na={x:1,y:0,axis:"x",distance:function(A,g,e,I){return(e?A.xo:A.x)-(I?g.xo:g.x)},interpolate:function(A,g,e,I){var i,t,C,o,a,r,s;if(!I||I===this){if(i=A.xo-g.xo,t=A.xo-e.xo,a=g.x-g.xo,r=e.x-e.xo,C=Math.abs(i),o=Math.abs(t),s=C+o,s===0){A.x=A.xo+(a+r)/2;return}A.x=A.xo+(a*o+r*C)/s;return}if(i=I.distance(A,g,!0,!0),t=I.distance(A,e,!0,!0),a=I.distance(g,g,!1,!0),r=I.distance(e,e,!1,!0),C=Math.abs(i),o=Math.abs(t),s=C+o,s===0){Na.setRelative(A,A,(a+r)/2,I,!0);return}Na.setRelative(A,A,(a*o+r*C)/s,I,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(A,g,e,I,i){if(!I||I===this){A.x=(i?g.xo:g.x)+e;return}var t=i?g.xo:g.x,C=i?g.yo:g.y,o=t+e*I.x,a=C+e*I.y;A.x=o+(A.y-a)/I.normalSlope},slope:0,touch:function(A){A.xTouched=!0},touched:function(A){return A.xTouched},untouch:function(A){A.xTouched=!1}},Fr={x:0,y:1,axis:"y",distance:function(A,g,e,I){return(e?A.yo:A.y)-(I?g.yo:g.y)},interpolate:function(A,g,e,I){var i,t,C,o,a,r,s;if(!I||I===this){if(i=A.yo-g.yo,t=A.yo-e.yo,a=g.y-g.yo,r=e.y-e.yo,C=Math.abs(i),o=Math.abs(t),s=C+o,s===0){A.y=A.yo+(a+r)/2;return}A.y=A.yo+(a*o+r*C)/s;return}if(i=I.distance(A,g,!0,!0),t=I.distance(A,e,!0,!0),a=I.distance(g,g,!1,!0),r=I.distance(e,e,!1,!0),C=Math.abs(i),o=Math.abs(t),s=C+o,s===0){Fr.setRelative(A,A,(a+r)/2,I,!0);return}Fr.setRelative(A,A,(a*o+r*C)/s,I,!0)},normalSlope:0,setRelative:function(A,g,e,I,i){if(!I||I===this){A.y=(i?g.yo:g.y)+e;return}var t=i?g.xo:g.x,C=i?g.yo:g.y,o=t+e*I.x,a=C+e*I.y;A.y=a+I.normalSlope*(A.x-o)},slope:Number.POSITIVE_INFINITY,touch:function(A){A.yTouched=!0},touched:function(A){return A.yTouched},untouch:function(A){A.yTouched=!1}};Object.freeze(Na);Object.freeze(Fr);Vh.prototype.distance=function(A,g,e,I){return this.x*Na.distance(A,g,e,I)+this.y*Fr.distance(A,g,e,I)};Vh.prototype.interpolate=function(A,g,e,I){var i,t,C,o,a,r,s;if(C=I.distance(A,g,!0,!0),o=I.distance(A,e,!0,!0),i=I.distance(g,g,!1,!0),t=I.distance(e,e,!1,!0),a=Math.abs(C),r=Math.abs(o),s=a+r,s===0){this.setRelative(A,A,(i+t)/2,I,!0);return}this.setRelative(A,A,(i*r+t*a)/s,I,!0)};Vh.prototype.setRelative=function(A,g,e,I,i){I=I||this;var t=i?g.xo:g.x,C=i?g.yo:g.y,o=t+e*I.x,a=C+e*I.y,r=I.normalSlope,s=this.slope,B=A.x,Q=A.y;A.x=(s*B-r*o+a-Q)/(s-r),A.y=s*(A.x-B)+Q};Vh.prototype.touch=function(A){A.xTouched=!0,A.yTouched=!0};Rr.prototype.nextTouched=function(A){for(var g=this.nextPointOnContour;!A.touched(g)&&g!==this;)g=g.nextPointOnContour;return g};Rr.prototype.prevTouched=function(A){for(var g=this.prevPointOnContour;!A.touched(g)&&g!==this;)g=g.prevPointOnContour;return g};jh=Object.freeze(new Rr(0,0)),hY={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};Gk.prototype.exec=function(A,g){if(typeof g!="number")throw new Error("Point size is not a number!");if(!(this._errorState>2)){var e=this.font,I=this._prepState;if(!I||I.ppem!==g){var i=this._fpgmState;if(!i){Ks.prototype=hY,i=this._fpgmState=new Ks("fpgm",e.tables.fpgm),i.funcs=[],i.font=e,exports.DEBUG&&(console.log("---EXEC FPGM---"),i.step=-1);try{HB(i)}catch(r){console.log("Hinting error in FPGM:"+r),this._errorState=3;return}}Ks.prototype=i,I=this._prepState=new Ks("prep",e.tables.prep),I.ppem=g;var t=e.tables.cvt;if(t)for(var C=I.cvt=new Array(t.length),o=g/e.unitsPerEm,a=0;a<t.length;a++)C[a]=t[a]*o;else I.cvt=[];exports.DEBUG&&(console.log("---EXEC PREP---"),I.step=-1);try{HB(I)}catch(r){this._errorState<2&&console.log("Hinting error in PREP:"+r),this._errorState=2}}if(!(this._errorState>1))try{return Sk(A,I)}catch(r){this._errorState<1&&(console.log("Hinting error:"+r),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}};Sk=function(A,g){var e=g.ppem/g.font.unitsPerEm,I=e,i=A.components,t,C,o;if(Ks.prototype=g,!i)o=new Ks("glyf",A.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),o.step=-1),yy(A,o,e,I),C=o.gZone;else{var a=g.font;C=[],t=[];for(var r=0;r<i.length;r++){var s=i[r],B=a.glyphs.get(s.glyphIndex);o=new Ks("glyf",B.instructions),exports.DEBUG&&(console.log("---EXEC COMP "+r+"---"),o.step=-1),yy(B,o,e,I);for(var Q=Math.round(s.dx*e),n=Math.round(s.dy*I),E=o.gZone,l=o.contours,h=0;h<E.length;h++){var u=E[h];u.xTouched=u.yTouched=!1,u.xo=u.x=u.x+Q,u.yo=u.y=u.y+n}var D=C.length;C.push.apply(C,E);for(var p=0;p<l.length;p++)t.push(l[p]+D)}A.instructions&&!o.inhibitGridFit&&(o=new Ks("glyf",A.instructions),o.gZone=o.z0=o.z1=o.z2=C,o.contours=t,C.push(new Rr(0,0),new Rr(Math.round(A.advanceWidth*e),0)),exports.DEBUG&&(console.log("---EXEC COMPOSITE---"),o.step=-1),HB(o),C.length-=2)}return C};yy=function(A,g,e,I){for(var i=A.points||[],t=i.length,C=g.gZone=g.z0=g.z1=g.z2=[],o=g.contours=[],a,r=0;r<t;r++)a=i[r],C[r]=new Rr(a.x*e,a.y*I,a.lastPointOfContour,a.onCurve);for(var s,B,Q=0;Q<t;Q++)a=C[Q],s||(s=a,o.push(Q)),a.lastPointOfContour?(a.nextPointOnContour=s,s.prevPointOnContour=a,s=void 0):(B=C[Q+1],a.nextPointOnContour=B,B.prevPointOnContour=a);if(!g.inhibitGridFit){if(exports.DEBUG){console.log("PROCESSING GLYPH",g.stack);for(var n=0;n<t;n++)console.log(n,C[n].x,C[n].y)}if(C.push(new Rr(0,0),new Rr(Math.round(A.advanceWidth*e),0)),HB(g),C.length-=2,exports.DEBUG){console.log("FINISHED GLYPH",g.stack);for(var E=0;E<t;E++)console.log(E,C[E].x,C[E].y)}}};HB=function(A){var g=A.prog;if(g){var e=g.length,I;for(A.ip=0;A.ip<e;A.ip++){if(exports.DEBUG&&A.step++,I=fk[g[A.ip]],!I)throw new Error("unknown instruction: 0x"+Number(g[A.ip]).toString(16));I(A)}}};fk=[DM.bind(void 0,Fr),DM.bind(void 0,Na),pM.bind(void 0,Fr),pM.bind(void 0,Na),yM.bind(void 0,Fr),yM.bind(void 0,Na),wM.bind(void 0,0),wM.bind(void 0,1),fM.bind(void 0,0),fM.bind(void 0,1),lY,cY,dY,uY,DY,pY,yY,wY,fY,SY,GY,mY,MY,kY,UY,NY,FY,RY,vY,KY,void 0,void 0,JY,ry,qY,bY,LY,HY,TY,void 0,void 0,void 0,xY,YY,OY,void 0,SM.bind(void 0,0),SM.bind(void 0,1),GM.bind(void 0,Fr),GM.bind(void 0,Na),mM.bind(void 0,0),mM.bind(void 0,1),MM.bind(void 0,0),MM.bind(void 0,1),kM.bind(void 0,0),kM.bind(void 0,1),_Y,PY,UM.bind(void 0,0),UM.bind(void 0,1),jY,WY,NM.bind(void 0,0),NM.bind(void 0,1),zY,VY,ZY,XY,$Y,AH,FM.bind(void 0,0),FM.bind(void 0,1),void 0,RM.bind(void 0,0),RM.bind(void 0,1),gH,void 0,eH,void 0,void 0,IH,iH,tH,CH,oH,aH,rH,sH,BH,QH,nH,EH,hH,sy.bind(void 0,1),lH,cH,dH,uH,DH,pH,yH,wH,fH,SH,ud.bind(void 0,0),ud.bind(void 0,1),ud.bind(void 0,2),ud.bind(void 0,3),void 0,void 0,void 0,void 0,GH,sy.bind(void 0,2),sy.bind(void 0,3),By.bind(void 0,1),By.bind(void 0,2),By.bind(void 0,3),mH,MH,void 0,void 0,kH,void 0,UH,NH,ry,ry,void 0,void 0,void 0,void 0,void 0,FH,vM.bind(void 0,0),vM.bind(void 0,1),RH,void 0,vH,KH,JH,qH,bH,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,Fs.bind(void 0,1),Fs.bind(void 0,2),Fs.bind(void 0,3),Fs.bind(void 0,4),Fs.bind(void 0,5),Fs.bind(void 0,6),Fs.bind(void 0,7),Fs.bind(void 0,8),Rs.bind(void 0,1),Rs.bind(void 0,2),Rs.bind(void 0,3),Rs.bind(void 0,4),Rs.bind(void 0,5),Rs.bind(void 0,6),Rs.bind(void 0,7),Rs.bind(void 0,8),re.bind(void 0,0,0,0,0,0),re.bind(void 0,0,0,0,0,1),re.bind(void 0,0,0,0,0,2),re.bind(void 0,0,0,0,0,3),re.bind(void 0,0,0,0,1,0),re.bind(void 0,0,0,0,1,1),re.bind(void 0,0,0,0,1,2),re.bind(void 0,0,0,0,1,3),re.bind(void 0,0,0,1,0,0),re.bind(void 0,0,0,1,0,1),re.bind(void 0,0,0,1,0,2),re.bind(void 0,0,0,1,0,3),re.bind(void 0,0,0,1,1,0),re.bind(void 0,0,0,1,1,1),re.bind(void 0,0,0,1,1,2),re.bind(void 0,0,0,1,1,3),re.bind(void 0,0,1,0,0,0),re.bind(void 0,0,1,0,0,1),re.bind(void 0,0,1,0,0,2),re.bind(void 0,0,1,0,0,3),re.bind(void 0,0,1,0,1,0),re.bind(void 0,0,1,0,1,1),re.bind(void 0,0,1,0,1,2),re.bind(void 0,0,1,0,1,3),re.bind(void 0,0,1,1,0,0),re.bind(void 0,0,1,1,0,1),re.bind(void 0,0,1,1,0,2),re.bind(void 0,0,1,1,0,3),re.bind(void 0,0,1,1,1,0),re.bind(void 0,0,1,1,1,1),re.bind(void 0,0,1,1,1,2),re.bind(void 0,0,1,1,1,3),re.bind(void 0,1,0,0,0,0),re.bind(void 0,1,0,0,0,1),re.bind(void 0,1,0,0,0,2),re.bind(void 0,1,0,0,0,3),re.bind(void 0,1,0,0,1,0),re.bind(void 0,1,0,0,1,1),re.bind(void 0,1,0,0,1,2),re.bind(void 0,1,0,0,1,3),re.bind(void 0,1,0,1,0,0),re.bind(void 0,1,0,1,0,1),re.bind(void 0,1,0,1,0,2),re.bind(void 0,1,0,1,0,3),re.bind(void 0,1,0,1,1,0),re.bind(void 0,1,0,1,1,1),re.bind(void 0,1,0,1,1,2),re.bind(void 0,1,0,1,1,3),re.bind(void 0,1,1,0,0,0),re.bind(void 0,1,1,0,0,1),re.bind(void 0,1,1,0,0,2),re.bind(void 0,1,1,0,0,3),re.bind(void 0,1,1,0,1,0),re.bind(void 0,1,1,0,1,1),re.bind(void 0,1,1,0,1,2),re.bind(void 0,1,1,0,1,3),re.bind(void 0,1,1,1,0,0),re.bind(void 0,1,1,1,0,1),re.bind(void 0,1,1,1,0,2),re.bind(void 0,1,1,1,0,3),re.bind(void 0,1,1,1,1,0),re.bind(void 0,1,1,1,1,1),re.bind(void 0,1,1,1,1,2),re.bind(void 0,1,1,1,1,3)];un.prototype.setState=function(A,g){return this.state[A]=g,this.activeState={key:A,value:this.state[A]},this.activeState};un.prototype.getState=function(A){return this.state[A]||null};Mi.prototype.inboundIndex=function(A){return A>=0&&A<this.tokens.length};Mi.prototype.composeRUD=function(A){var g=this,e=!0,I=A.map(function(t){return g[t[0]].apply(g,t.slice(1).concat(e))}),i=function(t){return typeof t=="object"&&t.hasOwnProperty("FAIL")};if(I.every(i))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:I.filter(i)};this.dispatch("composeRUD",[I.filter(function(t){return!i(t)})])};Mi.prototype.replaceRange=function(A,g,e,I){g=g!==null?g:this.tokens.length;var i=e.every(function(C){return C instanceof un});if(!isNaN(A)&&this.inboundIndex(A)&&i){var t=this.tokens.splice.apply(this.tokens,[A,g].concat(e));return I||this.dispatch("replaceToken",[A,g,e]),[t,e]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}};Mi.prototype.replaceToken=function(A,g,e){if(!isNaN(A)&&this.inboundIndex(A)&&g instanceof un){var I=this.tokens.splice(A,1,g);return e||this.dispatch("replaceToken",[A,g]),[I[0],g]}else return{FAIL:"replaceToken: invalid token or index."}};Mi.prototype.removeRange=function(A,g,e){g=isNaN(g)?this.tokens.length:g;var I=this.tokens.splice(A,g);return e||this.dispatch("removeRange",[I,A,g]),I};Mi.prototype.removeToken=function(A,g){if(!isNaN(A)&&this.inboundIndex(A)){var e=this.tokens.splice(A,1);return g||this.dispatch("removeToken",[e,A]),e}else return{FAIL:"removeToken: invalid token index."}};Mi.prototype.insertToken=function(A,g,e){var I=A.every(function(i){return i instanceof un});return I?(this.tokens.splice.apply(this.tokens,[g,0].concat(A)),e||this.dispatch("insertToken",[A,g]),A):{FAIL:"insertToken: invalid token(s)."}};Mi.prototype.registerModifier=function(A,g,e){this.events.newToken.subscribe(function(I,i){var t=[I,i],C=g===null||g.apply(this,t)===!0,o=[I,i];if(C){var a=e.apply(this,o);I.setState(A,a)}}),this.registeredModifiers.push(A)};kd.prototype.subscribe=function(A){return typeof A=="function"?this.subscribers.push(A)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}};kd.prototype.unsubscribe=function(A){this.subscribers.splice(A,1)};zo.prototype.setCurrentIndex=function(A){this.index=A,this.current=this.context[A],this.backtrack=this.context.slice(0,A),this.lookahead=this.context.slice(A+1)};zo.prototype.get=function(A){switch(!0){case A===0:return this.current;case(A<0&&Math.abs(A)<=this.backtrack.length):return this.backtrack.slice(A)[0];case(A>0&&A<=this.lookahead.length):return this.lookahead[A-1];default:return null}};Mi.prototype.rangeToText=function(A){if(A instanceof Fy)return this.getRangeTokens(A).map(function(g){return g.char}).join("")};Mi.prototype.getText=function(){return this.tokens.map(function(A){return A.char}).join("")};Mi.prototype.getContext=function(A){var g=this.registeredContexts[A];return g||null};Mi.prototype.on=function(A,g){var e=this.events[A];return e?e.subscribe(g):null};Mi.prototype.dispatch=function(A,g){var e=this,I=this.events[A];I instanceof kd&&I.subscribers.forEach(function(i){i.apply(e,g||[])})};Mi.prototype.registerContextChecker=function(A,g,e){if(this.getContext(A))return{FAIL:"context name '"+A+"' is already registered."};if(typeof g!="function")return{FAIL:"missing context start check."};if(typeof e!="function")return{FAIL:"missing context end check."};var I=new LH(A,g,e);return this.registeredContexts[A]=I,this.contextCheckers.push(I),I};Mi.prototype.getRangeTokens=function(A){var g=A.startIndex+A.endOffset;return[].concat(this.tokens.slice(A.startIndex,g))};Mi.prototype.getContextRanges=function(A){var g=this.getContext(A);return g?g.ranges:{FAIL:"context checker '"+A+"' is not registered."}};Mi.prototype.resetContextsRanges=function(){var A=this.registeredContexts;for(var g in A)if(A.hasOwnProperty(g)){var e=A[g];e.ranges=[]}};Mi.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var A=this.tokens.map(function(I){return I.char}),g=0;g<A.length;g++){var e=new zo(A,g);this.runContextCheck(e)}this.dispatch("updateContextsRanges",[this.registeredContexts])};Mi.prototype.setEndOffset=function(A,g){var e=this.getContext(g).openRange.startIndex,I=new Fy(e,A,g),i=this.getContext(g).ranges;return I.rangeId=g+"."+i.length,i.push(I),this.getContext(g).openRange=null,I};Mi.prototype.runContextCheck=function(A){var g=this,e=A.index;this.contextCheckers.forEach(function(I){var i=I.contextName,t=g.getContext(i).openRange;if(!t&&I.checkStart(A)&&(t=new Fy(e,null,i),g.getContext(i).openRange=t,g.dispatch("contextStart",[i,e])),!!t&&I.checkEnd(A)){var C=e-t.startIndex+1,o=g.setEndOffset(C,i);g.dispatch("contextEnd",[i,o])}})};Mi.prototype.tokenize=function(A){this.tokens=[],this.resetContextsRanges();var g=Array.from(A);this.dispatch("start");for(var e=0;e<g.length;e++){var I=g[e],i=new zo(g,e);this.dispatch("next",[i]),this.runContextCheck(i);var t=new un(I);this.tokens.push(t),this.dispatch("newToken",[t,i])}return this.dispatch("end",[this.tokens]),this.tokens};io.prototype.getDefaultScriptFeaturesIndexes=function(){for(var A=this.font.tables.gsub.scripts,g=0;g<A.length;g++){var e=A[g];if(e.tag==="DFLT")return e.script.defaultLangSys.featureIndexes}return[]};io.prototype.getScriptFeaturesIndexes=function(A){var g=this.font.tables;if(!g.gsub)return[];if(!A)return this.getDefaultScriptFeaturesIndexes();for(var e=this.font.tables.gsub.scripts,I=0;I<e.length;I++){var i=e[I];if(i.tag===A&&i.script.defaultLangSys)return i.script.defaultLangSys.featureIndexes;var t=i.langSysRecords;if(t)for(var C=0;C<t.length;C++){var o=t[C];if(o.tag===A){var a=o.langSys;return a.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()};io.prototype.mapTagsToFeatures=function(A,g){for(var e={},I=0;I<A.length;I++){var i=A[I].tag,t=A[I].feature;e[i]=t}this.features[g].tags=e};io.prototype.getScriptFeatures=function(A){var g=this.features[A];if(this.features.hasOwnProperty(A))return g;var e=this.getScriptFeaturesIndexes(A);if(!e)return null;var I=this.font.tables.gsub;return g=e.map(function(i){return I.features[i]}),this.features[A]=g,this.mapTagsToFeatures(g,A),g};io.prototype.getSubstitutionType=function(A,g){var e=A.lookupType.toString(),I=g.substFormat.toString();return e+I};io.prototype.getLookupMethod=function(A,g){var e=this,I=this.getSubstitutionType(A,g);switch(I){case"11":return function(i){return HH.apply(e,[i,g])};case"12":return function(i){return TH.apply(e,[i,g])};case"63":return function(i){return OH.apply(e,[i,g])};case"41":return function(i){return _H.apply(e,[i,g])};case"21":return function(i){return PH.apply(e,[i,g])};default:throw new Error("lookupType: "+A.lookupType+" - substFormat: "+g.substFormat+" is not yet supported")}};io.prototype.lookupFeature=function(A){var g=A.contextParams,e=g.index,I=this.getFeature({tag:A.tag,script:A.script});if(!I)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+A.tag+"' for script '"+A.script+"'.");for(var i=this.getFeatureLookups(I),t=[].concat(g.context),C=0;C<i.length;C++)for(var o=i[C],a=this.getLookupSubtables(o),r=0;r<a.length;r++){var s=a[r],B=this.getSubstitutionType(o,s),Q=this.getLookupMethod(o,s),n=void 0;switch(B){case"11":n=Q(g.current),n&&t.splice(e,1,new YB({id:11,tag:A.tag,substitution:n}));break;case"12":n=Q(g.current),n&&t.splice(e,1,new YB({id:12,tag:A.tag,substitution:n}));break;case"63":n=Q(g),Array.isArray(n)&&n.length&&t.splice(e,1,new YB({id:63,tag:A.tag,substitution:n}));break;case"41":n=Q(g),n&&t.splice(e,1,new YB({id:41,tag:A.tag,substitution:n}));break;case"21":n=Q(g.current),n&&t.splice(e,1,new YB({id:21,tag:A.tag,substitution:n}));break}g=new zo(t,e),!(Array.isArray(n)&&!n.length)&&(n=null)}return t.length?t:null};io.prototype.supports=function(A){if(!A.script)return!1;this.getScriptFeatures(A.script);var g=this.features.hasOwnProperty(A.script);if(!A.tag)return g;var e=this.features[A.script].some(function(I){return I.tag===A.tag});return g&&e};io.prototype.getLookupSubtables=function(A){return A.subtables||null};io.prototype.getLookupByIndex=function(A){var g=this.font.tables.gsub.lookups;return g[A]||null};io.prototype.getFeatureLookups=function(A){return A.lookupListIndexes.map(this.getLookupByIndex.bind(this))};io.prototype.getFeature=function(A){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(A.script)||this.getScriptFeatures(A.script);var g=this.features[A.script];return g?g.tags[A.tag]?this.features[A.script].tags[A.tag]:null:{FAIL:"No feature for script "+A.script}};zH={startCheck:jH,endCheck:WH};XH={startCheck:VH,endCheck:ZH};KM={11:$H,12:AT,63:gT,41:eT};rT={startCheck:oT,endCheck:aT};po.prototype.setText=function(A){this.text=A};po.prototype.contextChecks={latinWordCheck:rT,arabicWordCheck:zH,arabicSentenceCheck:XH};po.prototype.registerFeatures=function(A,g){var e=this,I=g.filter(function(i){return e.query.supports({script:A,tag:i})});this.featuresTags.hasOwnProperty(A)?this.featuresTags[A]=this.featuresTags[A].concat(I):this.featuresTags[A]=I};po.prototype.applyFeatures=function(A,g){if(!A)throw new Error("No valid font was provided to apply features");this.query||(this.query=new io(A));for(var e=0;e<g.length;e++){var I=g[e];!this.query.supports({script:I.script})||this.registerFeatures(I.script,I.tags)}};po.prototype.registerModifier=function(A,g,e){this.tokenizer.registerModifier(A,g,e)};po.prototype.checkContextReady=function(A){return!!this.tokenizer.getContext(A)};po.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(nT.call(this),ET.call(this)),this.checkContextReady("latinWord")&&hT.call(this),this.checkContextReady("arabicSentence")&&QT.call(this)};po.prototype.processText=function(A){(!this.text||this.text!==A)&&(this.setText(A),BT.call(this),this.applyFeaturesToContexts())};po.prototype.getBidiText=function(A){return this.processText(A),this.tokenizer.getText()};po.prototype.getTextGlyphs=function(A){this.processText(A);for(var g=[],e=0;e<this.tokenizer.tokens.length;e++){var I=this.tokenizer.tokens[e];if(!I.state.deleted){var i=I.activeState.value;g.push(Array.isArray(i)?i[0]:i)}}return g};TI.prototype.hasChar=function(A){return this.encoding.charToGlyphIndex(A)!==null};TI.prototype.charToGlyphIndex=function(A){return this.encoding.charToGlyphIndex(A)};TI.prototype.charToGlyph=function(A){var g=this.charToGlyphIndex(A),e=this.glyphs.get(g);return e||(e=this.glyphs.get(0)),e};TI.prototype.updateFeatures=function(A){return this.defaultRenderOptions.features.map(function(g){return g.script==="latn"?{script:"latn",tags:g.tags.filter(function(e){return A[e]})}:g})};TI.prototype.stringToGlyphs=function(A,g){var e=this,I=new po,i=function(B){return e.charToGlyphIndex(B.char)};I.registerModifier("glyphIndex",null,i);var t=g?this.updateFeatures(g.features):this.defaultRenderOptions.features;I.applyFeatures(this,t);for(var C=I.getTextGlyphs(A),o=C.length,a=new Array(o),r=this.glyphs.get(0),s=0;s<o;s+=1)a[s]=this.glyphs.get(C[s])||r;return a};TI.prototype.nameToGlyphIndex=function(A){return this.glyphNames.nameToGlyphIndex(A)};TI.prototype.nameToGlyph=function(A){var g=this.nameToGlyphIndex(A),e=this.glyphs.get(g);return e||(e=this.glyphs.get(0)),e};TI.prototype.glyphIndexToName=function(A){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(A):""};TI.prototype.getKerningValue=function(A,g){A=A.index||A,g=g.index||g;var e=this.position.defaultKerningTables;return e?this.position.getKerningValue(e,A,g):this.kerningPairs[A+","+g]||0};TI.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]};TI.prototype.forEachGlyph=function(A,g,e,I,i,t){g=g!==void 0?g:0,e=e!==void 0?e:0,I=I!==void 0?I:72,i=Object.assign({},this.defaultRenderOptions,i);var C=1/this.unitsPerEm*I,o=this.stringToGlyphs(A,i),a;if(i.kerning){var r=i.script||this.position.getDefaultScriptName();a=this.position.getKerningTables(r,i.language)}for(var s=0;s<o.length;s+=1){var B=o[s];if(t.call(this,B,g,e,I,i),B.advanceWidth&&(g+=B.advanceWidth*C),i.kerning&&s<o.length-1){var Q=a?this.position.getKerningValue(a,B.index,o[s+1].index):this.getKerningValue(B,o[s+1]);g+=Q*C}i.letterSpacing?g+=i.letterSpacing*I:i.tracking&&(g+=i.tracking/1e3*I)}return g};TI.prototype.getPath=function(A,g,e,I,i){var t=new Li;return this.forEachGlyph(A,g,e,I,i,function(C,o,a,r){var s=C.getPath(o,a,r,i,this);t.extend(s)}),t};TI.prototype.getPaths=function(A,g,e,I,i){var t=[];return this.forEachGlyph(A,g,e,I,i,function(C,o,a,r){var s=C.getPath(o,a,r,i,this);t.push(s)}),t};TI.prototype.getAdvanceWidth=function(A,g,e){return this.forEachGlyph(A,0,0,g,e,function(){})};TI.prototype.draw=function(A,g,e,I,i,t){this.getPath(g,e,I,i,t).draw(A)};TI.prototype.drawPoints=function(A,g,e,I,i,t){this.forEachGlyph(g,e,I,i,t,function(C,o,a,r){C.drawPoints(A,o,a,r)})};TI.prototype.drawMetrics=function(A,g,e,I,i,t){this.forEachGlyph(g,e,I,i,t,function(C,o,a,r){C.drawMetrics(A,o,a,r)})};TI.prototype.getEnglishName=function(A){var g=this.names[A];if(g)return g.en};TI.prototype.validate=function(){var A=this;function g(I,i){}function e(I){var i=A.getEnglishName(I);i&&i.trim().length>0}e("fontFamily"),e("weightName"),e("manufacturer"),e("copyright"),e("version"),this.unitsPerEm>0};TI.prototype.toTables=function(){return eY.fontToTable(this)};TI.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()};TI.prototype.toArrayBuffer=function(){for(var A=this.toTables(),g=A.encode(),e=new ArrayBuffer(g.length),I=new Uint8Array(e),i=0;i<g.length;i++)I[i]=g[i];return e};TI.prototype.download=function(A){var g=this.getEnglishName("fontFamily"),e=this.getEnglishName("fontSubfamily");A=A||g.replace(/\s/g,"")+"-"+e+".otf";var I=this.toArrayBuffer();if(iY())if(window.URL=window.URL||window.webkitURL,window.URL){var i=new DataView(I),t=new Blob([i],{type:"font/opentype"}),C=document.createElement("a");C.href=window.URL.createObjectURL(t),C.download=A;var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),C.dispatchEvent(o)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var a=wy(),r=tY(I);a.writeFileSync(A,r)}};TI.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512};TI.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9};TI.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};yT={make:DT,parse:pT},wT=function(){return{coverage:this.parsePointer(Ag.coverage),attachPoints:this.parseList(Ag.pointer(Ag.uShortList))}},fT=function(){var A=this.parseUShort();if(ve.argument(A===1||A===2||A===3,"Unsupported CaretValue table version."),A===1)return{coordinate:this.parseShort()};if(A===2)return{pointindex:this.parseShort()};if(A===3)return{coordinate:this.parseShort()}},ST=function(){return this.parseList(Ag.pointer(fT))},GT=function(){return{coverage:this.parsePointer(Ag.coverage),ligGlyphs:this.parseList(Ag.pointer(ST))}},mT=function(){return this.parseUShort(),this.parseList(Ag.pointer(Ag.coverage))};kT={parse:MT},Vo=new Array(10);Vo[1]=function(){var A=this.offset+this.relativeOffset,g=this.parseUShort();if(g===1)return{posFormat:1,coverage:this.parsePointer(Ag.coverage),value:this.parseValueRecord()};if(g===2)return{posFormat:2,coverage:this.parsePointer(Ag.coverage),values:this.parseValueRecordList()};ve.assert(!1,"0x"+A.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")};Vo[2]=function(){var A=this.offset+this.relativeOffset,g=this.parseUShort();ve.assert(g===1||g===2,"0x"+A.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var e=this.parsePointer(Ag.coverage),I=this.parseUShort(),i=this.parseUShort();if(g===1)return{posFormat:g,coverage:e,valueFormat1:I,valueFormat2:i,pairSets:this.parseList(Ag.pointer(Ag.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(I),value2:this.parseValueRecord(i)}})))};if(g===2){var t=this.parsePointer(Ag.classDef),C=this.parsePointer(Ag.classDef),o=this.parseUShort(),a=this.parseUShort();return{posFormat:g,coverage:e,valueFormat1:I,valueFormat2:i,classDef1:t,classDef2:C,class1Count:o,class2Count:a,classRecords:this.parseList(o,Ag.list(a,function(){return{value1:this.parseValueRecord(I),value2:this.parseValueRecord(i)}}))}}};Vo[3]=function(){return{error:"GPOS Lookup 3 not supported"}};Vo[4]=function(){return{error:"GPOS Lookup 4 not supported"}};Vo[5]=function(){return{error:"GPOS Lookup 5 not supported"}};Vo[6]=function(){return{error:"GPOS Lookup 6 not supported"}};Vo[7]=function(){return{error:"GPOS Lookup 7 not supported"}};Vo[8]=function(){return{error:"GPOS Lookup 8 not supported"}};Vo[9]=function(){return{error:"GPOS Lookup 9 not supported"}};NT=new Array(10);RT={parse:UT,make:FT};qT={parse:JT};LT={parse:bT};TT=Object.freeze({__proto__:null,Font:TI,Glyph:YC,Path:Li,BoundingBox:Ra,_parse:Ce,parse:Ud,load:Fk,loadSync:Rk}),OT=TT});var qk={};kB(qk,{default:()=>jT});var Jk,_T,PT,jT,bk=ms(()=>{Jk=(A=>typeof MB<"u"?MB:typeof Proxy<"u"?new Proxy(A,{get:(g,e)=>(typeof MB<"u"?MB:g)[e]}):A)(function(A){if(typeof MB<"u")return MB.apply(this,arguments);throw new Error('Dynamic require of "'+A+'" is not supported')}),_T=(A,g)=>()=>(g||A((g={exports:{}}).exports,g),g.exports),PT=_T((A,g)=>{var e=(()=>{var I=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(I=I||__filename),function(i={}){var t=i,C,o;t.ready=new Promise((d,f)=>{C=d,o=f}),function(d){d.Id=d.Id||[],d.Id.push(function(){d.MakeSWCanvasSurface=function(f){var F=f,L=typeof OffscreenCanvas<"u"&&F instanceof OffscreenCanvas;if(!(typeof HTMLCanvasElement<"u"&&F instanceof HTMLCanvasElement||L||(F=document.getElementById(f),F)))throw"Canvas with id "+f+" was not found";return(f=d.MakeSurface(F.width,F.height))&&(f.ie=F),f},d.MakeCanvasSurface||(d.MakeCanvasSurface=d.MakeSWCanvasSurface),d.MakeSurface=function(f,F){var L={width:f,height:F,colorType:d.ColorType.RGBA_8888,alphaType:d.AlphaType.Unpremul,colorSpace:d.ColorSpace.SRGB},W=f*F*4,iA=d._malloc(W);return(L=d.Surface._makeRasterDirect(L,iA,4*f))&&(L.ie=null,L.Pe=f,L.Me=F,L.Ne=W,L.re=iA,L.getCanvas().clear(d.TRANSPARENT)),L},d.MakeRasterDirectSurface=function(f,F,L){return d.Surface._makeRasterDirect(f,F.byteOffset,L)},d.Surface.prototype.flush=function(f){if(d.Fd(this.Ed),this._flush(),this.ie){var F=new Uint8ClampedArray(d.HEAPU8.buffer,this.re,this.Ne);F=new ImageData(F,this.Pe,this.Me),f?this.ie.getContext("2d").putImageData(F,0,0,f[0],f[1],f[2]-f[0],f[3]-f[1]):this.ie.getContext("2d").putImageData(F,0,0)}},d.Surface.prototype.dispose=function(){this.re&&d._free(this.re),this.delete()},d.Fd=d.Fd||function(){},d.je=d.je||function(){return null}})}(t),function(d){d.Id=d.Id||[],d.Id.push(function(){function f(c,S,v){return c&&c.hasOwnProperty(S)?c[S]:v}function F(c){var S=jt(Qt);return Qt[S]=c,S}function L(c){return c.naturalHeight||c.videoHeight||c.displayHeight||c.height}function W(c){return c.naturalWidth||c.videoWidth||c.displayWidth||c.width}function iA(c,S,v,Y){return c.bindTexture(c.TEXTURE_2D,S),Y||v.alphaType!==d.AlphaType.Premul||c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),S}function hA(c,S,v){v||S.alphaType!==d.AlphaType.Premul||c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),c.bindTexture(c.TEXTURE_2D,null)}d.GetWebGLContext=function(c,S){if(!c)throw"null canvas passed into makeWebGLContext";var v={alpha:f(S,"alpha",1),depth:f(S,"depth",1),stencil:f(S,"stencil",8),antialias:f(S,"antialias",0),premultipliedAlpha:f(S,"premultipliedAlpha",1),preserveDrawingBuffer:f(S,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:f(S,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:f(S,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:f(S,"enableExtensionsByDefault",1),explicitSwapControl:f(S,"explicitSwapControl",0),renderViaOffscreenBackBuffer:f(S,"renderViaOffscreenBackBuffer",0)};if(v.majorVersion=S&&S.majorVersion?S.majorVersion:typeof WebGL2RenderingContext<"u"?2:1,v.explicitSwapControl)throw"explicitSwapControl is not supported";return c=Ds(c,v),c?(hr(c),he.Qd.getExtension("WEBGL_debug_renderer_info"),c):0},d.deleteContext=function(c){he===Pt[c]&&(he=null),typeof JSEvents=="object"&&JSEvents.tf(Pt[c].Qd.canvas),Pt[c]&&Pt[c].Qd.canvas&&(Pt[c].Qd.canvas.Ke=void 0),Pt[c]=null},d._setTextureCleanup({deleteTexture:function(c,S){var v=Qt[S];v&&Pt[c].Qd.deleteTexture(v),Qt[S]=null}}),d.MakeWebGLContext=function(c){if(!this.Fd(c))return null;var S=this._MakeGrContext();if(!S)return null;S.Ed=c;var v=S.delete.bind(S);return S.delete=function(){d.Fd(this.Ed),v()}.bind(S),he.te=S},d.MakeGrContext=d.MakeWebGLContext,d.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){d.Fd(this.Ed),this._getResourceCacheLimitBytes()},d.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){d.Fd(this.Ed),this._getResourceCacheUsageBytes()},d.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){d.Fd(this.Ed),this._releaseResourcesAndAbandonContext()},d.GrDirectContext.prototype.setResourceCacheLimitBytes=function(c){d.Fd(this.Ed),this._setResourceCacheLimitBytes(c)},d.MakeOnScreenGLSurface=function(c,S,v,Y,Z,QA){return!this.Fd(c.Ed)||(S=Z===void 0||QA===void 0?this._MakeOnScreenGLSurface(c,S,v,Y):this._MakeOnScreenGLSurface(c,S,v,Y,Z,QA),!S)?null:(S.Ed=c.Ed,S)},d.MakeRenderTarget=function(){var c=arguments[0];if(!this.Fd(c.Ed))return null;if(arguments.length===3){var S=this._MakeRenderTargetWH(c,arguments[1],arguments[2]);if(!S)return null}else if(arguments.length===2){if(S=this._MakeRenderTargetII(c,arguments[1]),!S)return null}else return null;return S.Ed=c.Ed,S},d.MakeWebGLCanvasSurface=function(c,S,v){S=S||null;var Y=c,Z=typeof OffscreenCanvas<"u"&&Y instanceof OffscreenCanvas;if(!(typeof HTMLCanvasElement<"u"&&Y instanceof HTMLCanvasElement||Z||(Y=document.getElementById(c),Y)))throw"Canvas with id "+c+" was not found";if(c=this.GetWebGLContext(Y,v),!c||0>c)throw"failed to create webgl context: err "+c;return c=this.MakeWebGLContext(c),S=this.MakeOnScreenGLSurface(c,Y.width,Y.height,S),S||(S=Y.cloneNode(!0),Y.parentNode.replaceChild(S,Y),S.classList.add("ck-replaced"),d.MakeSWCanvasSurface(S))},d.MakeCanvasSurface=d.MakeWebGLCanvasSurface,d.Surface.prototype.makeImageFromTexture=function(c,S){return d.Fd(this.Ed),c=F(c),(S=this._makeImageFromTexture(this.Ed,c,S))&&(S.de=c),S},d.Surface.prototype.makeImageFromTextureSource=function(c,S,v){S||(S={height:L(c),width:W(c),colorType:d.ColorType.RGBA_8888,alphaType:v?d.AlphaType.Premul:d.AlphaType.Unpremul}),S.colorSpace||(S.colorSpace=d.ColorSpace.SRGB),d.Fd(this.Ed);var Y=he.Qd;return v=iA(Y,Y.createTexture(),S,v),he.version===2?Y.texImage2D(Y.TEXTURE_2D,0,Y.RGBA,S.width,S.height,0,Y.RGBA,Y.UNSIGNED_BYTE,c):Y.texImage2D(Y.TEXTURE_2D,0,Y.RGBA,Y.RGBA,Y.UNSIGNED_BYTE,c),hA(Y,S),this._resetContext(),this.makeImageFromTexture(v,S)},d.Surface.prototype.updateTextureFromSource=function(c,S,v){if(c.de){d.Fd(this.Ed);var Y=c.getImageInfo(),Z=he.Qd,QA=iA(Z,Qt[c.de],Y,v);he.version===2?Z.texImage2D(Z.TEXTURE_2D,0,Z.RGBA,W(S),L(S),0,Z.RGBA,Z.UNSIGNED_BYTE,S):Z.texImage2D(Z.TEXTURE_2D,0,Z.RGBA,Z.RGBA,Z.UNSIGNED_BYTE,S),hA(Z,Y,v),this._resetContext(),Qt[c.de]=null,c.de=F(QA),Y.colorSpace=c.getColorSpace(),S=this._makeImageFromTexture(this.Ed,c.de,Y),v=c.Dd.Hd,Z=c.Dd.Ld,c.Dd.Hd=S.Dd.Hd,c.Dd.Ld=S.Dd.Ld,S.Dd.Hd=v,S.Dd.Ld=Z,S.delete(),Y.colorSpace.delete()}},d.MakeLazyImageFromTextureSource=function(c,S,v){S||(S={height:L(c),width:W(c),colorType:d.ColorType.RGBA_8888,alphaType:v?d.AlphaType.Premul:d.AlphaType.Unpremul}),S.colorSpace||(S.colorSpace=d.ColorSpace.SRGB);var Y={makeTexture:function(){var Z=he,QA=Z.Qd,gA=iA(QA,QA.createTexture(),S,v);return Z.version===2?QA.texImage2D(QA.TEXTURE_2D,0,QA.RGBA,S.width,S.height,0,QA.RGBA,QA.UNSIGNED_BYTE,c):QA.texImage2D(QA.TEXTURE_2D,0,QA.RGBA,QA.RGBA,QA.UNSIGNED_BYTE,c),hA(QA,S,v),F(gA)},freeSrc:function(){}};return c.constructor.name==="VideoFrame"&&(Y.freeSrc=function(){c.close()}),d.Image._makeFromGenerator(S,Y)},d.Fd=function(c){return c?hr(c):!1},d.je=function(){return he&&he.te&&!he.te.isDeleted()?he.te:null}})}(t),function(d){function f(z){return(W(255*z[3])<<24|W(255*z[0])<<16|W(255*z[1])<<8|W(255*z[2])<<0)>>>0}function F(z){if(z&&z._ck)return z;if(z instanceof Float32Array){for(var b=Math.floor(z.length/4),$=new Uint32Array(b),lA=0;lA<b;lA++)$[lA]=f(z.slice(4*lA,4*(lA+1)));return $}if(z instanceof Uint32Array)return z;if(z instanceof Array&&z[0]instanceof Float32Array)return z.map(f)}function L(z){if(z===void 0)return 1;var b=parseFloat(z);return z&&z.indexOf("%")!==-1?b/100:b}function W(z){return Math.round(Math.max(0,Math.min(z||0,255)))}function iA(z,b){b&&b._ck||d._free(z)}function hA(z,b,$){if(!z||!z.length)return Re;if(z&&z._ck)return z.byteOffset;var lA=d[b].BYTES_PER_ELEMENT;return $||($=d._malloc(z.length*lA)),d[b].set(z,$/lA),$}function c(z){var b={Nd:Re,count:z.length,colorType:d.ColorType.RGBA_F32};if(z instanceof Float32Array)b.Nd=hA(z,"HEAPF32"),b.count=z.length/4;else if(z instanceof Uint32Array)b.Nd=hA(z,"HEAPU32"),b.colorType=d.ColorType.RGBA_8888;else if(z instanceof Array){if(z&&z.length){for(var $=d._malloc(16*z.length),lA=0,qA=$/4,tg=0;tg<z.length;tg++)for(var ug=0;4>ug;ug++)d.HEAPF32[qA+lA]=z[tg][ug],lA++;z=$}else z=Re;b.Nd=z}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof z;return b}function S(z){if(!z)return Re;var b=XA.toTypedArray();if(z.length){if(z.length===6||z.length===9)return hA(z,"HEAPF32",bA),z.length===6&&d.HEAPF32.set(ma,6+bA/4),bA;if(z.length===16)return b[0]=z[0],b[1]=z[1],b[2]=z[3],b[3]=z[4],b[4]=z[5],b[5]=z[7],b[6]=z[12],b[7]=z[13],b[8]=z[15],bA;throw"invalid matrix size"}if(z.m11===void 0)throw"invalid matrix argument";return b[0]=z.m11,b[1]=z.m21,b[2]=z.m41,b[3]=z.m12,b[4]=z.m22,b[5]=z.m42,b[6]=z.m14,b[7]=z.m24,b[8]=z.m44,bA}function v(z){if(!z)return Re;var b=Jg.toTypedArray();if(z.length){if(z.length!==16&&z.length!==6&&z.length!==9)throw"invalid matrix size";return z.length===16?hA(z,"HEAPF32",Rg):(b.fill(0),b[0]=z[0],b[1]=z[1],b[3]=z[2],b[4]=z[3],b[5]=z[4],b[7]=z[5],b[10]=1,b[12]=z[6],b[13]=z[7],b[15]=z[8],z.length===6&&(b[12]=0,b[13]=0,b[15]=1),Rg)}if(z.m11===void 0)throw"invalid matrix argument";return b[0]=z.m11,b[1]=z.m21,b[2]=z.m31,b[3]=z.m41,b[4]=z.m12,b[5]=z.m22,b[6]=z.m32,b[7]=z.m42,b[8]=z.m13,b[9]=z.m23,b[10]=z.m33,b[11]=z.m43,b[12]=z.m14,b[13]=z.m24,b[14]=z.m34,b[15]=z.m44,Rg}function Y(z,b){return hA(z,"HEAPF32",b||jg)}function Z(z,b,$,lA){var qA=Tg.toTypedArray();return qA[0]=z,qA[1]=b,qA[2]=$,qA[3]=lA,jg}function QA(z){for(var b=new Float32Array(4),$=0;4>$;$++)b[$]=d.HEAPF32[z/4+$];return b}function gA(z,b){return hA(z,"HEAPF32",b||Ee)}function fA(z,b){return hA(z,"HEAPF32",b||Ss)}d.Color=function(z,b,$,lA){return lA===void 0&&(lA=1),d.Color4f(W(z)/255,W(b)/255,W($)/255,lA)},d.ColorAsInt=function(z,b,$,lA){return lA===void 0&&(lA=255),(W(lA)<<24|W(z)<<16|W(b)<<8|W($)<<0&268435455)>>>0},d.Color4f=function(z,b,$,lA){return lA===void 0&&(lA=1),Float32Array.of(z,b,$,lA)},Object.defineProperty(d,"TRANSPARENT",{get:function(){return d.Color4f(0,0,0,0)}}),Object.defineProperty(d,"BLACK",{get:function(){return d.Color4f(0,0,0,1)}}),Object.defineProperty(d,"WHITE",{get:function(){return d.Color4f(1,1,1,1)}}),Object.defineProperty(d,"RED",{get:function(){return d.Color4f(1,0,0,1)}}),Object.defineProperty(d,"GREEN",{get:function(){return d.Color4f(0,1,0,1)}}),Object.defineProperty(d,"BLUE",{get:function(){return d.Color4f(0,0,1,1)}}),Object.defineProperty(d,"YELLOW",{get:function(){return d.Color4f(1,1,0,1)}}),Object.defineProperty(d,"CYAN",{get:function(){return d.Color4f(0,1,1,1)}}),Object.defineProperty(d,"MAGENTA",{get:function(){return d.Color4f(1,0,1,1)}}),d.getColorComponents=function(z){return[Math.floor(255*z[0]),Math.floor(255*z[1]),Math.floor(255*z[2]),z[3]]},d.parseColorString=function(z,b){if(z=z.toLowerCase(),z.startsWith("#")){switch(b=255,z.length){case 9:b=parseInt(z.slice(7,9),16);case 7:var $=parseInt(z.slice(1,3),16),lA=parseInt(z.slice(3,5),16),qA=parseInt(z.slice(5,7),16);break;case 5:b=17*parseInt(z.slice(4,5),16);case 4:$=17*parseInt(z.slice(1,2),16),lA=17*parseInt(z.slice(2,3),16),qA=17*parseInt(z.slice(3,4),16)}return d.Color($,lA,qA,b/255)}return z.startsWith("rgba")?(z=z.slice(5,-1),z=z.split(","),d.Color(+z[0],+z[1],+z[2],L(z[3]))):z.startsWith("rgb")?(z=z.slice(4,-1),z=z.split(","),d.Color(+z[0],+z[1],+z[2],L(z[3]))):z.startsWith("gray(")||z.startsWith("hsl")||!b||(z=b[z],z===void 0)?d.BLACK:z},d.multiplyByAlpha=function(z,b){return z=z.slice(),z[3]=Math.max(0,Math.min(z[3]*b,1)),z},d.Malloc=function(z,b){var $=d._malloc(b*z.BYTES_PER_ELEMENT);return{_ck:!0,length:b,byteOffset:$,Xd:null,subarray:function(lA,qA){return lA=this.toTypedArray().subarray(lA,qA),lA._ck=!0,lA},toTypedArray:function(){return this.Xd&&this.Xd.length?this.Xd:(this.Xd=new z(d.HEAPU8.buffer,$,b),this.Xd._ck=!0,this.Xd)}}},d.Free=function(z){d._free(z.byteOffset),z.byteOffset=Re,z.toTypedArray=null,z.Xd=null};var bA=Re,XA,Rg=Re,Jg,jg=Re,Tg,zg,Ee=Re,UI,lI=Re,yg,ae=Re,oi,pI=Re,Si,MI=Re,Ga,Ss=Re,Ii,LQ=Re,ma=Float32Array.of(0,0,1),Re=0;d.onRuntimeInitialized=function(){function z(b,$,lA,qA,tg,ug,Ug){ug||(ug=4*qA.width,qA.colorType===d.ColorType.RGBA_F16?ug*=2:qA.colorType===d.ColorType.RGBA_F32&&(ug*=4));var Te=ug*qA.height,be=tg?tg.byteOffset:d._malloc(Te);if(Ug?!b._readPixels(qA,be,ug,$,lA,Ug):!b._readPixels(qA,be,ug,$,lA))return tg||d._free(be),null;if(tg)return tg.toTypedArray();switch(qA.colorType){case d.ColorType.RGBA_8888:case d.ColorType.RGBA_F16:b=new Uint8Array(d.HEAPU8.buffer,be,Te).slice();break;case d.ColorType.RGBA_F32:b=new Float32Array(d.HEAPU8.buffer,be,Te).slice();break;default:return null}return d._free(be),b}Tg=d.Malloc(Float32Array,4),jg=Tg.byteOffset,Jg=d.Malloc(Float32Array,16),Rg=Jg.byteOffset,XA=d.Malloc(Float32Array,9),bA=XA.byteOffset,Ga=d.Malloc(Float32Array,12),Ss=Ga.byteOffset,Ii=d.Malloc(Float32Array,12),LQ=Ii.byteOffset,zg=d.Malloc(Float32Array,4),Ee=zg.byteOffset,UI=d.Malloc(Float32Array,4),lI=UI.byteOffset,yg=d.Malloc(Float32Array,3),ae=yg.byteOffset,oi=d.Malloc(Float32Array,3),pI=oi.byteOffset,Si=d.Malloc(Int32Array,4),MI=Si.byteOffset,d.ColorSpace.SRGB=d.ColorSpace._MakeSRGB(),d.ColorSpace.DISPLAY_P3=d.ColorSpace._MakeDisplayP3(),d.ColorSpace.ADOBE_RGB=d.ColorSpace._MakeAdobeRGB(),d.GlyphRunFlags={IsWhiteSpace:d._GlyphRunFlags_isWhiteSpace},d.Path.MakeFromCmds=function(b){var $=hA(b,"HEAPF32"),lA=d.Path._MakeFromCmds($,b.length);return iA($,b),lA},d.Path.MakeFromVerbsPointsWeights=function(b,$,lA){var qA=hA(b,"HEAPU8"),tg=hA($,"HEAPF32"),ug=hA(lA,"HEAPF32"),Ug=d.Path._MakeFromVerbsPointsWeights(qA,b.length,tg,$.length,ug,lA&&lA.length||0);return iA(qA,b),iA(tg,$),iA(ug,lA),Ug},d.Path.prototype.addArc=function(b,$,lA){return b=gA(b),this._addArc(b,$,lA),this},d.Path.prototype.addCircle=function(b,$,lA,qA){return this._addCircle(b,$,lA,!!qA),this},d.Path.prototype.addOval=function(b,$,lA){return lA===void 0&&(lA=1),b=gA(b),this._addOval(b,!!$,lA),this},d.Path.prototype.addPath=function(){var b=Array.prototype.slice.call(arguments),$=b[0],lA=!1;if(typeof b[b.length-1]=="boolean"&&(lA=b.pop()),b.length===1)this._addPath($,1,0,0,0,1,0,0,0,1,lA);else if(b.length===2)b=b[1],this._addPath($,b[0],b[1],b[2],b[3],b[4],b[5],b[6]||0,b[7]||0,b[8]||1,lA);else if(b.length===7||b.length===10)this._addPath($,b[1],b[2],b[3],b[4],b[5],b[6],b[7]||0,b[8]||0,b[9]||1,lA);else return null;return this},d.Path.prototype.addPoly=function(b,$){var lA=hA(b,"HEAPF32");return this._addPoly(lA,b.length/2,$),iA(lA,b),this},d.Path.prototype.addRect=function(b,$){return b=gA(b),this._addRect(b,!!$),this},d.Path.prototype.addRRect=function(b,$){return b=fA(b),this._addRRect(b,!!$),this},d.Path.prototype.addVerbsPointsWeights=function(b,$,lA){var qA=hA(b,"HEAPU8"),tg=hA($,"HEAPF32"),ug=hA(lA,"HEAPF32");this._addVerbsPointsWeights(qA,b.length,tg,$.length,ug,lA&&lA.length||0),iA(qA,b),iA(tg,$),iA(ug,lA)},d.Path.prototype.arc=function(b,$,lA,qA,tg,ug){return b=d.LTRBRect(b-lA,$-lA,b+lA,$+lA),tg=(tg-qA)/Math.PI*180-360*!!ug,ug=new d.Path,ug.addArc(b,qA/Math.PI*180,tg),this.addPath(ug,!0),ug.delete(),this},d.Path.prototype.arcToOval=function(b,$,lA,qA){return b=gA(b),this._arcToOval(b,$,lA,qA),this},d.Path.prototype.arcToRotated=function(b,$,lA,qA,tg,ug,Ug){return this._arcToRotated(b,$,lA,!!qA,!!tg,ug,Ug),this},d.Path.prototype.arcToTangent=function(b,$,lA,qA,tg){return this._arcToTangent(b,$,lA,qA,tg),this},d.Path.prototype.close=function(){return this._close(),this},d.Path.prototype.conicTo=function(b,$,lA,qA,tg){return this._conicTo(b,$,lA,qA,tg),this},d.Path.prototype.computeTightBounds=function(b){this._computeTightBounds(Ee);var $=zg.toTypedArray();return b?(b.set($),b):$.slice()},d.Path.prototype.cubicTo=function(b,$,lA,qA,tg,ug){return this._cubicTo(b,$,lA,qA,tg,ug),this},d.Path.prototype.dash=function(b,$,lA){return this._dash(b,$,lA)?this:null},d.Path.prototype.getBounds=function(b){this._getBounds(Ee);var $=zg.toTypedArray();return b?(b.set($),b):$.slice()},d.Path.prototype.lineTo=function(b,$){return this._lineTo(b,$),this},d.Path.prototype.moveTo=function(b,$){return this._moveTo(b,$),this},d.Path.prototype.offset=function(b,$){return this._transform(1,0,b,0,1,$,0,0,1),this},d.Path.prototype.quadTo=function(b,$,lA,qA){return this._quadTo(b,$,lA,qA),this},d.Path.prototype.rArcTo=function(b,$,lA,qA,tg,ug,Ug){return this._rArcTo(b,$,lA,qA,tg,ug,Ug),this},d.Path.prototype.rConicTo=function(b,$,lA,qA,tg){return this._rConicTo(b,$,lA,qA,tg),this},d.Path.prototype.rCubicTo=function(b,$,lA,qA,tg,ug){return this._rCubicTo(b,$,lA,qA,tg,ug),this},d.Path.prototype.rLineTo=function(b,$){return this._rLineTo(b,$),this},d.Path.prototype.rMoveTo=function(b,$){return this._rMoveTo(b,$),this},d.Path.prototype.rQuadTo=function(b,$,lA,qA){return this._rQuadTo(b,$,lA,qA),this},d.Path.prototype.stroke=function(b){return b=b||{},b.width=b.width||1,b.miter_limit=b.miter_limit||4,b.cap=b.cap||d.StrokeCap.Butt,b.join=b.join||d.StrokeJoin.Miter,b.precision=b.precision||1,this._stroke(b)?this:null},d.Path.prototype.transform=function(){if(arguments.length===1){var b=arguments[0];this._transform(b[0],b[1],b[2],b[3],b[4],b[5],b[6]||0,b[7]||0,b[8]||1)}else if(arguments.length===6||arguments.length===9)b=arguments,this._transform(b[0],b[1],b[2],b[3],b[4],b[5],b[6]||0,b[7]||0,b[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this},d.Path.prototype.trim=function(b,$,lA){return this._trim(b,$,!!lA)?this:null},d.Image.prototype.encodeToBytes=function(b,$){var lA=d.je();return b=b||d.ImageFormat.PNG,$=$||100,lA?this._encodeToBytes(b,$,lA):this._encodeToBytes(b,$)},d.Image.prototype.makeShaderCubic=function(b,$,lA,qA,tg){return tg=S(tg),this._makeShaderCubic(b,$,lA,qA,tg)},d.Image.prototype.makeShaderOptions=function(b,$,lA,qA,tg){return tg=S(tg),this._makeShaderOptions(b,$,lA,qA,tg)},d.Image.prototype.readPixels=function(b,$,lA,qA,tg){var ug=d.je();return z(this,b,$,lA,qA,tg,ug)},d.Canvas.prototype.clear=function(b){d.Fd(this.Ed),b=Y(b),this._clear(b)},d.Canvas.prototype.clipRRect=function(b,$,lA){d.Fd(this.Ed),b=fA(b),this._clipRRect(b,$,lA)},d.Canvas.prototype.clipRect=function(b,$,lA){d.Fd(this.Ed),b=gA(b),this._clipRect(b,$,lA)},d.Canvas.prototype.concat=function(b){d.Fd(this.Ed),b=v(b),this._concat(b)},d.Canvas.prototype.drawArc=function(b,$,lA,qA,tg){d.Fd(this.Ed),b=gA(b),this._drawArc(b,$,lA,qA,tg)},d.Canvas.prototype.drawAtlas=function(b,$,lA,qA,tg,ug,Ug){if(b&&qA&&$&&lA&&$.length===lA.length){d.Fd(this.Ed),tg||(tg=d.BlendMode.SrcOver);var Te=hA($,"HEAPF32"),be=hA(lA,"HEAPF32"),QI=lA.length/4,_A=hA(F(ug),"HEAPU32");if(Ug&&"B"in Ug&&"C"in Ug)this._drawAtlasCubic(b,be,Te,_A,QI,tg,Ug.B,Ug.C,qA);else{let dA=d.FilterMode.Linear,Qg=d.MipmapMode.None;Ug&&(dA=Ug.filter,"mipmap"in Ug&&(Qg=Ug.mipmap)),this._drawAtlasOptions(b,be,Te,_A,QI,tg,dA,Qg,qA)}iA(Te,$),iA(be,lA),iA(_A,ug)}},d.Canvas.prototype.drawCircle=function(b,$,lA,qA){d.Fd(this.Ed),this._drawCircle(b,$,lA,qA)},d.Canvas.prototype.drawColor=function(b,$){d.Fd(this.Ed),b=Y(b),$!==void 0?this._drawColor(b,$):this._drawColor(b)},d.Canvas.prototype.drawColorInt=function(b,$){d.Fd(this.Ed),this._drawColorInt(b,$||d.BlendMode.SrcOver)},d.Canvas.prototype.drawColorComponents=function(b,$,lA,qA,tg){d.Fd(this.Ed),b=Z(b,$,lA,qA),tg!==void 0?this._drawColor(b,tg):this._drawColor(b)},d.Canvas.prototype.drawDRRect=function(b,$,lA){d.Fd(this.Ed),b=fA(b,Ss),$=fA($,LQ),this._drawDRRect(b,$,lA)},d.Canvas.prototype.drawImage=function(b,$,lA,qA){d.Fd(this.Ed),this._drawImage(b,$,lA,qA||null)},d.Canvas.prototype.drawImageCubic=function(b,$,lA,qA,tg,ug){d.Fd(this.Ed),this._drawImageCubic(b,$,lA,qA,tg,ug||null)},d.Canvas.prototype.drawImageOptions=function(b,$,lA,qA,tg,ug){d.Fd(this.Ed),this._drawImageOptions(b,$,lA,qA,tg,ug||null)},d.Canvas.prototype.drawImageNine=function(b,$,lA,qA,tg){d.Fd(this.Ed),$=hA($,"HEAP32",MI),lA=gA(lA),this._drawImageNine(b,$,lA,qA,tg||null)},d.Canvas.prototype.drawImageRect=function(b,$,lA,qA,tg){d.Fd(this.Ed),gA($,Ee),gA(lA,lI),this._drawImageRect(b,Ee,lI,qA,!!tg)},d.Canvas.prototype.drawImageRectCubic=function(b,$,lA,qA,tg,ug){d.Fd(this.Ed),gA($,Ee),gA(lA,lI),this._drawImageRectCubic(b,Ee,lI,qA,tg,ug||null)},d.Canvas.prototype.drawImageRectOptions=function(b,$,lA,qA,tg,ug){d.Fd(this.Ed),gA($,Ee),gA(lA,lI),this._drawImageRectOptions(b,Ee,lI,qA,tg,ug||null)},d.Canvas.prototype.drawLine=function(b,$,lA,qA,tg){d.Fd(this.Ed),this._drawLine(b,$,lA,qA,tg)},d.Canvas.prototype.drawOval=function(b,$){d.Fd(this.Ed),b=gA(b),this._drawOval(b,$)},d.Canvas.prototype.drawPaint=function(b){d.Fd(this.Ed),this._drawPaint(b)},d.Canvas.prototype.drawParagraph=function(b,$,lA){d.Fd(this.Ed),this._drawParagraph(b,$,lA)},d.Canvas.prototype.drawPatch=function(b,$,lA,qA,tg){if(24>b.length)throw"Need 12 cubic points";if($&&4>$.length)throw"Need 4 colors";if(lA&&8>lA.length)throw"Need 4 shader coordinates";d.Fd(this.Ed);let ug=hA(b,"HEAPF32"),Ug=$?hA(F($),"HEAPU32"):Re,Te=lA?hA(lA,"HEAPF32"):Re;qA||(qA=d.BlendMode.Modulate),this._drawPatch(ug,Ug,Te,qA,tg),iA(Te,lA),iA(Ug,$),iA(ug,b)},d.Canvas.prototype.drawPath=function(b,$){d.Fd(this.Ed),this._drawPath(b,$)},d.Canvas.prototype.drawPicture=function(b){d.Fd(this.Ed),this._drawPicture(b)},d.Canvas.prototype.drawPoints=function(b,$,lA){d.Fd(this.Ed);var qA=hA($,"HEAPF32");this._drawPoints(b,qA,$.length/2,lA),iA(qA,$)},d.Canvas.prototype.drawRRect=function(b,$){d.Fd(this.Ed),b=fA(b),this._drawRRect(b,$)},d.Canvas.prototype.drawRect=function(b,$){d.Fd(this.Ed),b=gA(b),this._drawRect(b,$)},d.Canvas.prototype.drawRect4f=function(b,$,lA,qA,tg){d.Fd(this.Ed),this._drawRect4f(b,$,lA,qA,tg)},d.Canvas.prototype.drawShadow=function(b,$,lA,qA,tg,ug,Ug){d.Fd(this.Ed);var Te=hA(tg,"HEAPF32"),be=hA(ug,"HEAPF32");$=hA($,"HEAPF32",ae),lA=hA(lA,"HEAPF32",pI),this._drawShadow(b,$,lA,qA,Te,be,Ug),iA(Te,tg),iA(be,ug)},d.getShadowLocalBounds=function(b,$,lA,qA,tg,ug,Ug){return b=S(b),lA=hA(lA,"HEAPF32",ae),qA=hA(qA,"HEAPF32",pI),this._getShadowLocalBounds(b,$,lA,qA,tg,ug,Ee)?($=zg.toTypedArray(),Ug?(Ug.set($),Ug):$.slice()):null},d.Canvas.prototype.drawTextBlob=function(b,$,lA,qA){d.Fd(this.Ed),this._drawTextBlob(b,$,lA,qA)},d.Canvas.prototype.drawVertices=function(b,$,lA){d.Fd(this.Ed),this._drawVertices(b,$,lA)},d.Canvas.prototype.getDeviceClipBounds=function(b){this._getDeviceClipBounds(MI);var $=Si.toTypedArray();return b?b.set($):b=$.slice(),b},d.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(Rg);for(var b=Rg,$=Array(16),lA=0;16>lA;lA++)$[lA]=d.HEAPF32[b/4+lA];return $},d.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(bA);for(var b=Array(9),$=0;9>$;$++)b[$]=d.HEAPF32[bA/4+$];return b},d.Canvas.prototype.makeSurface=function(b){return b=this._makeSurface(b),b.Ed=this.Ed,b},d.Canvas.prototype.readPixels=function(b,$,lA,qA,tg){return d.Fd(this.Ed),z(this,b,$,lA,qA,tg)},d.Canvas.prototype.saveLayer=function(b,$,lA,qA){return $=gA($),this._saveLayer(b||null,$,lA||null,qA||0)},d.Canvas.prototype.writePixels=function(b,$,lA,qA,tg,ug,Ug,Te){if(b.byteLength%($*lA))throw"pixels length must be a multiple of the srcWidth * srcHeight";d.Fd(this.Ed);var be=b.byteLength/($*lA);ug=ug||d.AlphaType.Unpremul,Ug=Ug||d.ColorType.RGBA_8888,Te=Te||d.ColorSpace.SRGB;var QI=be*$;return be=hA(b,"HEAPU8"),$=this._writePixels({width:$,height:lA,colorType:Ug,alphaType:ug,colorSpace:Te},be,QI,qA,tg),iA(be,b),$},d.ColorFilter.MakeBlend=function(b,$,lA){return b=Y(b),lA=lA||d.ColorSpace.SRGB,d.ColorFilter._MakeBlend(b,$,lA)},d.ColorFilter.MakeMatrix=function(b){if(!b||b.length!==20)throw"invalid color matrix";var $=hA(b,"HEAPF32"),lA=d.ColorFilter._makeMatrix($);return iA($,b),lA},d.ContourMeasure.prototype.getPosTan=function(b,$){return this._getPosTan(b,Ee),b=zg.toTypedArray(),$?($.set(b),$):b.slice()},d.ImageFilter.prototype.getOutputBounds=function(b,$,lA){return b=gA(b,Ee),$=S($),this._getOutputBounds(b,$,MI),$=Si.toTypedArray(),lA?(lA.set($),lA):$.slice()},d.ImageFilter.MakeDropShadow=function(b,$,lA,qA,tg,ug){return tg=Y(tg,jg),d.ImageFilter._MakeDropShadow(b,$,lA,qA,tg,ug)},d.ImageFilter.MakeDropShadowOnly=function(b,$,lA,qA,tg,ug){return tg=Y(tg,jg),d.ImageFilter._MakeDropShadowOnly(b,$,lA,qA,tg,ug)},d.ImageFilter.MakeImage=function(b,$,lA,qA){if(lA=gA(lA,Ee),qA=gA(qA,lI),"B"in $&&"C"in $)return d.ImageFilter._MakeImageCubic(b,$.B,$.C,lA,qA);let tg=$.filter,ug=d.MipmapMode.None;return"mipmap"in $&&(ug=$.mipmap),d.ImageFilter._MakeImageOptions(b,tg,ug,lA,qA)},d.ImageFilter.MakeMatrixTransform=function(b,$,lA){if(b=S(b),"B"in $&&"C"in $)return d.ImageFilter._MakeMatrixTransformCubic(b,$.B,$.C,lA);let qA=$.filter,tg=d.MipmapMode.None;return"mipmap"in $&&(tg=$.mipmap),d.ImageFilter._MakeMatrixTransformOptions(b,qA,tg,lA)},d.Paint.prototype.getColor=function(){return this._getColor(jg),QA(jg)},d.Paint.prototype.setColor=function(b,$){$=$||null,b=Y(b),this._setColor(b,$)},d.Paint.prototype.setColorComponents=function(b,$,lA,qA,tg){tg=tg||null,b=Z(b,$,lA,qA),this._setColor(b,tg)},d.Path.prototype.getPoint=function(b,$){return this._getPoint(b,Ee),b=zg.toTypedArray(),$?($[0]=b[0],$[1]=b[1],$):b.slice(0,2)},d.Picture.prototype.makeShader=function(b,$,lA,qA,tg){return qA=S(qA),tg=gA(tg),this._makeShader(b,$,lA,qA,tg)},d.Picture.prototype.cullRect=function(b){this._cullRect(Ee);var $=zg.toTypedArray();return b?(b.set($),b):$.slice()},d.PictureRecorder.prototype.beginRecording=function(b,$){return b=gA(b),this._beginRecording(b,!!$)},d.Surface.prototype.getCanvas=function(){var b=this._getCanvas();return b.Ed=this.Ed,b},d.Surface.prototype.makeImageSnapshot=function(b){return d.Fd(this.Ed),b=hA(b,"HEAP32",MI),this._makeImageSnapshot(b)},d.Surface.prototype.makeSurface=function(b){return d.Fd(this.Ed),b=this._makeSurface(b),b.Ed=this.Ed,b},d.Surface.prototype.Oe=function(b,$){return this.ce||(this.ce=this.getCanvas()),requestAnimationFrame(function(){d.Fd(this.Ed),b(this.ce),this.flush($)}.bind(this))},d.Surface.prototype.requestAnimationFrame||(d.Surface.prototype.requestAnimationFrame=d.Surface.prototype.Oe),d.Surface.prototype.Le=function(b,$){this.ce||(this.ce=this.getCanvas()),requestAnimationFrame(function(){d.Fd(this.Ed),b(this.ce),this.flush($),this.dispose()}.bind(this))},d.Surface.prototype.drawOnce||(d.Surface.prototype.drawOnce=d.Surface.prototype.Le),d.PathEffect.MakeDash=function(b,$){if($||($=0),!b.length||b.length%2===1)throw"Intervals array must have even length";var lA=hA(b,"HEAPF32");return $=d.PathEffect._MakeDash(lA,b.length,$),iA(lA,b),$},d.PathEffect.MakeLine2D=function(b,$){return $=S($),d.PathEffect._MakeLine2D(b,$)},d.PathEffect.MakePath2D=function(b,$){return b=S(b),d.PathEffect._MakePath2D(b,$)},d.Shader.MakeColor=function(b,$){return $=$||null,b=Y(b),d.Shader._MakeColor(b,$)},d.Shader.Blend=d.Shader.MakeBlend,d.Shader.Color=d.Shader.MakeColor,d.Shader.MakeLinearGradient=function(b,$,lA,qA,tg,ug,Ug,Te){Te=Te||null;var be=c(lA),QI=hA(qA,"HEAPF32");Ug=Ug||0,ug=S(ug);var _A=zg.toTypedArray();return _A.set(b),_A.set($,2),b=d.Shader._MakeLinearGradient(Ee,be.Nd,be.colorType,QI,be.count,tg,Ug,ug,Te),iA(be.Nd,lA),qA&&iA(QI,qA),b},d.Shader.MakeRadialGradient=function(b,$,lA,qA,tg,ug,Ug,Te){Te=Te||null;var be=c(lA),QI=hA(qA,"HEAPF32");return Ug=Ug||0,ug=S(ug),b=d.Shader._MakeRadialGradient(b[0],b[1],$,be.Nd,be.colorType,QI,be.count,tg,Ug,ug,Te),iA(be.Nd,lA),qA&&iA(QI,qA),b},d.Shader.MakeSweepGradient=function(b,$,lA,qA,tg,ug,Ug,Te,be,QI){QI=QI||null;var _A=c(lA),dA=hA(qA,"HEAPF32");return Ug=Ug||0,Te=Te||0,be=be||360,ug=S(ug),b=d.Shader._MakeSweepGradient(b,$,_A.Nd,_A.colorType,dA,_A.count,tg,Te,be,Ug,ug,QI),iA(_A.Nd,lA),qA&&iA(dA,qA),b},d.Shader.MakeTwoPointConicalGradient=function(b,$,lA,qA,tg,ug,Ug,Te,be,QI){QI=QI||null;var _A=c(tg),dA=hA(ug,"HEAPF32");be=be||0,Te=S(Te);var Qg=zg.toTypedArray();return Qg.set(b),Qg.set(lA,2),b=d.Shader._MakeTwoPointConicalGradient(Ee,$,qA,_A.Nd,_A.colorType,dA,_A.count,Ug,be,Te,QI),iA(_A.Nd,tg),ug&&iA(dA,ug),b},d.Vertices.prototype.bounds=function(b){this._bounds(Ee);var $=zg.toTypedArray();return b?(b.set($),b):$.slice()},d.Id&&d.Id.forEach(function(b){b()})},d.computeTonalColors=function(z){var b=hA(z.ambient,"HEAPF32"),$=hA(z.spot,"HEAPF32");this._computeTonalColors(b,$);var lA={ambient:QA(b),spot:QA($)};return iA(b,z.ambient),iA($,z.spot),lA},d.LTRBRect=function(z,b,$,lA){return Float32Array.of(z,b,$,lA)},d.XYWHRect=function(z,b,$,lA){return Float32Array.of(z,b,z+$,b+lA)},d.LTRBiRect=function(z,b,$,lA){return Int32Array.of(z,b,$,lA)},d.XYWHiRect=function(z,b,$,lA){return Int32Array.of(z,b,z+$,b+lA)},d.RRectXY=function(z,b,$){return Float32Array.of(z[0],z[1],z[2],z[3],b,$,b,$,b,$,b,$)},d.MakeAnimatedImageFromEncoded=function(z){z=new Uint8Array(z);var b=d._malloc(z.byteLength);return d.HEAPU8.set(z,b),(z=d._decodeAnimatedImage(b,z.byteLength))?z:null},d.MakeImageFromEncoded=function(z){z=new Uint8Array(z);var b=d._malloc(z.byteLength);return d.HEAPU8.set(z,b),(z=d._decodeImage(b,z.byteLength))?z:null};var KI=null;d.MakeImageFromCanvasImageSource=function(z){var b=z.width,$=z.height;KI||(KI=document.createElement("canvas")),KI.width=b,KI.height=$;var lA=KI.getContext("2d",{willReadFrequently:!0});return lA.drawImage(z,0,0),z=lA.getImageData(0,0,b,$),d.MakeImage({width:b,height:$,alphaType:d.AlphaType.Unpremul,colorType:d.ColorType.RGBA_8888,colorSpace:d.ColorSpace.SRGB},z.data,4*b)},d.MakeImage=function(z,b,$){var lA=d._malloc(b.length);return d.HEAPU8.set(b,lA),d._MakeImage(z,lA,b.length,$)},d.MakeVertices=function(z,b,$,lA,qA,tg){var ug=qA&&qA.length||0,Ug=0;return $&&$.length&&(Ug|=1),lA&&lA.length&&(Ug|=2),tg===void 0||tg||(Ug|=4),z=new d._VerticesBuilder(z,b.length/2,ug,Ug),hA(b,"HEAPF32",z.positions()),z.texCoords()&&hA($,"HEAPF32",z.texCoords()),z.colors()&&hA(F(lA),"HEAPU32",z.colors()),z.indices()&&hA(qA,"HEAPU16",z.indices()),z.detach()},function(z){z.Id=z.Id||[],z.Id.push(function(){function b(dA){return dA&&(dA.dir=dA.dir===0?z.TextDirection.RTL:z.TextDirection.LTR),dA}function $(dA){if(!dA||!dA.length)return[];for(var Qg=[],y=0;y<dA.length;y+=5){var m=z.LTRBRect(dA[y],dA[y+1],dA[y+2],dA[y+3]),K=z.TextDirection.LTR;dA[y+4]===0&&(K=z.TextDirection.RTL),Qg.push({rect:m,dir:K})}return z._free(dA.byteOffset),Qg}function lA(dA){return dA=dA||{},dA.weight===void 0&&(dA.weight=z.FontWeight.Normal),dA.width=dA.width||z.FontWidth.Normal,dA.slant=dA.slant||z.FontSlant.Upright,dA}function qA(dA){if(!dA||!dA.length)return Re;for(var Qg=[],y=0;y<dA.length;y++){var m=tg(dA[y]);Qg.push(m)}return hA(Qg,"HEAPU32")}function tg(dA){if(Te[dA])return Te[dA];var Qg=uI(dA)+1,y=z._malloc(Qg);return Ne(dA,q,y,Qg),Te[dA]=y}function ug(dA){if(dA._colorPtr=Y(dA.color),dA._foregroundColorPtr=Re,dA._backgroundColorPtr=Re,dA._decorationColorPtr=Re,dA.foregroundColor&&(dA._foregroundColorPtr=Y(dA.foregroundColor,be)),dA.backgroundColor&&(dA._backgroundColorPtr=Y(dA.backgroundColor,QI)),dA.decorationColor&&(dA._decorationColorPtr=Y(dA.decorationColor,_A)),Array.isArray(dA.fontFamilies)&&dA.fontFamilies.length?(dA._fontFamiliesPtr=qA(dA.fontFamilies),dA._fontFamiliesLen=dA.fontFamilies.length):(dA._fontFamiliesPtr=Re,dA._fontFamiliesLen=0),dA.locale){var Qg=dA.locale;dA._localePtr=tg(Qg),dA._localeLen=uI(Qg)+1}else dA._localePtr=Re,dA._localeLen=0;if(Array.isArray(dA.shadows)&&dA.shadows.length){Qg=dA.shadows;var y=Qg.map(function(EA){return EA.color||z.BLACK}),m=Qg.map(function(EA){return EA.blurRadius||0});dA._shadowLen=Qg.length;for(var K=z._malloc(8*Qg.length),O=K/4,IA=0;IA<Qg.length;IA++){var tA=Qg[IA].offset||[0,0];z.HEAPF32[O]=tA[0],z.HEAPF32[O+1]=tA[1],O+=2}dA._shadowColorsPtr=c(y).Nd,dA._shadowOffsetsPtr=K,dA._shadowBlurRadiiPtr=hA(m,"HEAPF32")}else dA._shadowLen=0,dA._shadowColorsPtr=Re,dA._shadowOffsetsPtr=Re,dA._shadowBlurRadiiPtr=Re;Array.isArray(dA.fontFeatures)&&dA.fontFeatures.length?(Qg=dA.fontFeatures,y=Qg.map(function(EA){return EA.name}),m=Qg.map(function(EA){return EA.value}),dA._fontFeatureLen=Qg.length,dA._fontFeatureNamesPtr=qA(y),dA._fontFeatureValuesPtr=hA(m,"HEAPU32")):(dA._fontFeatureLen=0,dA._fontFeatureNamesPtr=Re,dA._fontFeatureValuesPtr=Re),Array.isArray(dA.fontVariations)&&dA.fontVariations.length?(Qg=dA.fontVariations,y=Qg.map(function(EA){return EA.axis}),m=Qg.map(function(EA){return EA.value}),dA._fontVariationLen=Qg.length,dA._fontVariationAxesPtr=qA(y),dA._fontVariationValuesPtr=hA(m,"HEAPF32")):(dA._fontVariationLen=0,dA._fontVariationAxesPtr=Re,dA._fontVariationValuesPtr=Re)}function Ug(dA){z._free(dA._fontFamiliesPtr),z._free(dA._shadowColorsPtr),z._free(dA._shadowOffsetsPtr),z._free(dA._shadowBlurRadiiPtr),z._free(dA._fontFeatureNamesPtr),z._free(dA._fontFeatureValuesPtr),z._free(dA._fontVariationAxesPtr),z._free(dA._fontVariationValuesPtr)}z.Paragraph.prototype.getRectsForRange=function(dA,Qg,y,m){return dA=this._getRectsForRange(dA,Qg,y,m),$(dA)},z.Paragraph.prototype.getRectsForPlaceholders=function(){var dA=this._getRectsForPlaceholders();return $(dA)},z.Paragraph.prototype.getGlyphInfoAt=function(dA){return b(this._getGlyphInfoAt(dA))},z.Paragraph.prototype.getClosestGlyphInfoAtCoordinate=function(dA,Qg){return b(this._getClosestGlyphInfoAtCoordinate(dA,Qg))},z.TypefaceFontProvider.prototype.registerFont=function(dA,Qg){if(dA=z.Typeface.MakeFreeTypeFaceFromData(dA),!dA)return null;Qg=tg(Qg),this._registerFont(dA,Qg)},z.ParagraphStyle=function(dA){if(dA.disableHinting=dA.disableHinting||!1,dA.ellipsis){var Qg=dA.ellipsis;dA._ellipsisPtr=tg(Qg),dA._ellipsisLen=uI(Qg)+1}else dA._ellipsisPtr=Re,dA._ellipsisLen=0;return dA.heightMultiplier==null&&(dA.heightMultiplier=-1),dA.maxLines=dA.maxLines||0,dA.replaceTabCharacters=dA.replaceTabCharacters||!1,Qg=(Qg=dA.strutStyle)||{},Qg.strutEnabled=Qg.strutEnabled||!1,Qg.strutEnabled&&Array.isArray(Qg.fontFamilies)&&Qg.fontFamilies.length?(Qg._fontFamiliesPtr=qA(Qg.fontFamilies),Qg._fontFamiliesLen=Qg.fontFamilies.length):(Qg._fontFamiliesPtr=Re,Qg._fontFamiliesLen=0),Qg.fontStyle=lA(Qg.fontStyle),Qg.fontSize==null&&(Qg.fontSize=-1),Qg.heightMultiplier==null&&(Qg.heightMultiplier=-1),Qg.halfLeading=Qg.halfLeading||!1,Qg.leading=Qg.leading||0,Qg.forceStrutHeight=Qg.forceStrutHeight||!1,dA.strutStyle=Qg,dA.textAlign=dA.textAlign||z.TextAlign.Start,dA.textDirection=dA.textDirection||z.TextDirection.LTR,dA.textHeightBehavior=dA.textHeightBehavior||z.TextHeightBehavior.All,dA.textStyle=z.TextStyle(dA.textStyle),dA.applyRoundingHack=dA.applyRoundingHack!==!1,dA},z.TextStyle=function(dA){return dA.color||(dA.color=z.BLACK),dA.decoration=dA.decoration||0,dA.decorationThickness=dA.decorationThickness||0,dA.decorationStyle=dA.decorationStyle||z.DecorationStyle.Solid,dA.textBaseline=dA.textBaseline||z.TextBaseline.Alphabetic,dA.fontSize==null&&(dA.fontSize=-1),dA.letterSpacing=dA.letterSpacing||0,dA.wordSpacing=dA.wordSpacing||0,dA.heightMultiplier==null&&(dA.heightMultiplier=-1),dA.halfLeading=dA.halfLeading||!1,dA.fontStyle=lA(dA.fontStyle),dA};var Te={},be=z._malloc(16),QI=z._malloc(16),_A=z._malloc(16);z.ParagraphBuilder.Make=function(dA,Qg){return ug(dA.textStyle),Qg=z.ParagraphBuilder._Make(dA,Qg),Ug(dA.textStyle),Qg},z.ParagraphBuilder.MakeFromFontProvider=function(dA,Qg){return ug(dA.textStyle),Qg=z.ParagraphBuilder._MakeFromFontProvider(dA,Qg),Ug(dA.textStyle),Qg},z.ParagraphBuilder.MakeFromFontCollection=function(dA,Qg){return ug(dA.textStyle),Qg=z.ParagraphBuilder._MakeFromFontCollection(dA,Qg),Ug(dA.textStyle),Qg},z.ParagraphBuilder.ShapeText=function(dA,Qg,y){let m=0;for(let K of Qg)m+=K.length;if(m!==dA.length)throw"Accumulated block lengths must equal text.length";return z.ParagraphBuilder._ShapeText(dA,Qg,y)},z.ParagraphBuilder.prototype.pushStyle=function(dA){ug(dA),this._pushStyle(dA),Ug(dA)},z.ParagraphBuilder.prototype.pushPaintStyle=function(dA,Qg,y){ug(dA),this._pushPaintStyle(dA,Qg,y),Ug(dA)},z.ParagraphBuilder.prototype.addPlaceholder=function(dA,Qg,y,m,K){y=y||z.PlaceholderAlignment.Baseline,m=m||z.TextBaseline.Alphabetic,this._addPlaceholder(dA||0,Qg||0,y,m,K||0)},z.ParagraphBuilder.prototype.setWordsUtf8=function(dA){var Qg=hA(dA,"HEAPU32");this._setWordsUtf8(Qg,dA&&dA.length||0),iA(Qg,dA)},z.ParagraphBuilder.prototype.setWordsUtf16=function(dA){var Qg=hA(dA,"HEAPU32");this._setWordsUtf16(Qg,dA&&dA.length||0),iA(Qg,dA)},z.ParagraphBuilder.prototype.setGraphemeBreaksUtf8=function(dA){var Qg=hA(dA,"HEAPU32");this._setGraphemeBreaksUtf8(Qg,dA&&dA.length||0),iA(Qg,dA)},z.ParagraphBuilder.prototype.setGraphemeBreaksUtf16=function(dA){var Qg=hA(dA,"HEAPU32");this._setGraphemeBreaksUtf16(Qg,dA&&dA.length||0),iA(Qg,dA)},z.ParagraphBuilder.prototype.setLineBreaksUtf8=function(dA){var Qg=hA(dA,"HEAPU32");this._setLineBreaksUtf8(Qg,dA&&dA.length||0),iA(Qg,dA)},z.ParagraphBuilder.prototype.setLineBreaksUtf16=function(dA){var Qg=hA(dA,"HEAPU32");this._setLineBreaksUtf16(Qg,dA&&dA.length||0),iA(Qg,dA)}})}(t),d.Id=d.Id||[],d.Id.push(function(){d.Path.prototype.op=function(z,b){return this._op(z,b)?this:null},d.Path.prototype.simplify=function(){return this._simplify()?this:null}}),d.Id=d.Id||[],d.Id.push(function(){d.Canvas.prototype.drawText=function(z,b,$,lA,qA){var tg=uI(z),ug=d._malloc(tg+1);Ne(z,q,ug,tg+1),this._drawSimpleText(ug,tg,b,$,qA,lA),d._free(ug)},d.Canvas.prototype.drawGlyphs=function(z,b,$,lA,qA,tg){if(!(2*z.length<=b.length))throw"Not enough positions for the array of gyphs";d.Fd(this.Ed);let ug=hA(z,"HEAPU16"),Ug=hA(b,"HEAPF32");this._drawGlyphs(z.length,ug,Ug,$,lA,qA,tg),iA(Ug,b),iA(ug,z)},d.Font.prototype.getGlyphBounds=function(z,b,$){var lA=hA(z,"HEAPU16"),qA=d._malloc(16*z.length);return this._getGlyphWidthBounds(lA,z.length,Re,qA,b||null),b=new Float32Array(d.HEAPU8.buffer,qA,4*z.length),iA(lA,z),$?($.set(b),d._free(qA),$):(z=Float32Array.from(b),d._free(qA),z)},d.Font.prototype.getGlyphIDs=function(z,b,$){b||(b=z.length);var lA=uI(z)+1,qA=d._malloc(lA);return Ne(z,q,qA,lA),z=d._malloc(2*b),b=this._getGlyphIDs(qA,lA-1,b,z),d._free(qA),0>b?(d._free(z),null):(qA=new Uint16Array(d.HEAPU8.buffer,z,b),$?($.set(qA),d._free(z),$):($=Uint16Array.from(qA),d._free(z),$))},d.Font.prototype.getGlyphIntercepts=function(z,b,$,lA){var qA=hA(z,"HEAPU16"),tg=hA(b,"HEAPF32");return this._getGlyphIntercepts(qA,z.length,!(z&&z._ck),tg,b.length,!(b&&b._ck),$,lA)},d.Font.prototype.getGlyphWidths=function(z,b,$){var lA=hA(z,"HEAPU16"),qA=d._malloc(4*z.length);return this._getGlyphWidthBounds(lA,z.length,qA,Re,b||null),b=new Float32Array(d.HEAPU8.buffer,qA,z.length),iA(lA,z),$?($.set(b),d._free(qA),$):(z=Float32Array.from(b),d._free(qA),z)},d.FontMgr.FromData=function(){if(!arguments.length)return null;var z=arguments;if(z.length===1&&Array.isArray(z[0])&&(z=arguments[0]),!z.length)return null;for(var b=[],$=[],lA=0;lA<z.length;lA++){var qA=new Uint8Array(z[lA]),tg=hA(qA,"HEAPU8");b.push(tg),$.push(qA.byteLength)}return b=hA(b,"HEAPU32"),$=hA($,"HEAPU32"),z=d.FontMgr._fromData(b,$,z.length),d._free(b),d._free($),z},d.Typeface.MakeFreeTypeFaceFromData=function(z){z=new Uint8Array(z);var b=hA(z,"HEAPU8");return(z=d.Typeface._MakeFreeTypeFaceFromData(b,z.byteLength))?z:null},d.Typeface.prototype.getGlyphIDs=function(z,b,$){b||(b=z.length);var lA=uI(z)+1,qA=d._malloc(lA);return Ne(z,q,qA,lA),z=d._malloc(2*b),b=this._getGlyphIDs(qA,lA-1,b,z),d._free(qA),0>b?(d._free(z),null):(qA=new Uint16Array(d.HEAPU8.buffer,z,b),$?($.set(qA),d._free(z),$):($=Uint16Array.from(qA),d._free(z),$))},d.TextBlob.MakeOnPath=function(z,b,$,lA){if(z&&z.length&&b&&b.countPoints()){if(b.countPoints()===1)return this.MakeFromText(z,$);lA||(lA=0);var qA=$.getGlyphIDs(z);qA=$.getGlyphWidths(qA);var tg=[];b=new d.ContourMeasureIter(b,!1,1);for(var ug=b.next(),Ug=new Float32Array(4),Te=0;Te<z.length&&ug;Te++){var be=qA[Te];if(lA+=be/2,lA>ug.length()){if(ug.delete(),ug=b.next(),!ug){z=z.substring(0,Te);break}lA=be/2}ug.getPosTan(lA,Ug);var QI=Ug[2],_A=Ug[3];tg.push(QI,_A,Ug[0]-be/2*QI,Ug[1]-be/2*_A),lA+=be/2}return z=this.MakeFromRSXform(z,tg,$),ug&&ug.delete(),b.delete(),z}},d.TextBlob.MakeFromRSXform=function(z,b,$){var lA=uI(z)+1,qA=d._malloc(lA);return Ne(z,q,qA,lA),z=hA(b,"HEAPF32"),$=d.TextBlob._MakeFromRSXform(qA,lA-1,z,$),d._free(qA),$||null},d.TextBlob.MakeFromRSXformGlyphs=function(z,b,$){var lA=hA(z,"HEAPU16");return b=hA(b,"HEAPF32"),$=d.TextBlob._MakeFromRSXformGlyphs(lA,2*z.length,b,$),iA(lA,z),$||null},d.TextBlob.MakeFromGlyphs=function(z,b){var $=hA(z,"HEAPU16");return b=d.TextBlob._MakeFromGlyphs($,2*z.length,b),iA($,z),b||null},d.TextBlob.MakeFromText=function(z,b){var $=uI(z)+1,lA=d._malloc($);return Ne(z,q,lA,$),z=d.TextBlob._MakeFromText(lA,$-1,b),d._free(lA),z||null},d.MallocGlyphIDs=function(z){return d.Malloc(Uint16Array,z)}}),d.Id=d.Id||[],d.Id.push(function(){d.MakePicture=function(z){z=new Uint8Array(z);var b=d._malloc(z.byteLength);return d.HEAPU8.set(z,b),(z=d._MakePicture(b,z.byteLength))?z:null}}),d.Id=d.Id||[],d.Id.push(function(){d.RuntimeEffect.Make=function(z,b){return d.RuntimeEffect._Make(z,{onError:b||function($){console.log("RuntimeEffect error",$)}})},d.RuntimeEffect.MakeForBlender=function(z,b){return d.RuntimeEffect._MakeForBlender(z,{onError:b||function($){console.log("RuntimeEffect error",$)}})},d.RuntimeEffect.prototype.makeShader=function(z,b){var $=!z._ck,lA=hA(z,"HEAPF32");return b=S(b),this._makeShader(lA,4*z.length,$,b)},d.RuntimeEffect.prototype.makeShaderWithChildren=function(z,b,$){var lA=!z._ck,qA=hA(z,"HEAPF32");$=S($);for(var tg=[],ug=0;ug<b.length;ug++)tg.push(b[ug].Dd.Hd);return b=hA(tg,"HEAPU32"),this._makeShaderWithChildren(qA,4*z.length,lA,b,tg.length,$)},d.RuntimeEffect.prototype.makeBlender=function(z){var b=!z._ck,$=hA(z,"HEAPF32");return this._makeBlender($,4*z.length,b)}})}(t);var a=Object.assign({},t),r="./this.program",s=typeof window=="object",B=typeof importScripts=="function",Q=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",n="",E,l,h;if(Q){var u=Jk("fs"),D=Jk("path");n=B?D.dirname(n)+"/":__dirname+"/",E=(d,f)=>(d=d.startsWith("file://")?new URL(d):D.normalize(d),u.readFileSync(d,f?void 0:"utf8")),h=d=>(d=E(d,!0),d.buffer||(d=new Uint8Array(d)),d),l=(d,f,F,L=!0)=>{d=d.startsWith("file://")?new URL(d):D.normalize(d),u.readFile(d,L?void 0:"utf8",(W,iA)=>{W?F(W):f(L?iA.buffer:iA)})},!t.thisProgram&&1<process.argv.length&&(r=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),t.inspect=()=>"[Emscripten Module object]"}else(s||B)&&(B?n=self.location.href:typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),I&&(n=I),n.indexOf("blob:")!==0?n=n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):n="",E=d=>{var f=new XMLHttpRequest;return f.open("GET",d,!1),f.send(null),f.responseText},B&&(h=d=>{var f=new XMLHttpRequest;return f.open("GET",d,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),l=(d,f,F)=>{var L=new XMLHttpRequest;L.open("GET",d,!0),L.responseType="arraybuffer",L.onload=()=>{L.status==200||L.status==0&&L.response?f(L.response):F()},L.onerror=F,L.send(null)});var p=t.print||console.log.bind(console),w=t.printErr||console.error.bind(console);Object.assign(t,a),a=null,t.thisProgram&&(r=t.thisProgram);var k;t.wasmBinary&&(k=t.wasmBinary);var U=t.noExitRuntime||!0;typeof WebAssembly!="object"&&zA("no native wasm support detected");var N,G,R=!1,J,q,T,P,H,eA,rA,BA;function aA(){var d=N.buffer;t.HEAP8=J=new Int8Array(d),t.HEAP16=T=new Int16Array(d),t.HEAP32=H=new Int32Array(d),t.HEAPU8=q=new Uint8Array(d),t.HEAPU16=P=new Uint16Array(d),t.HEAPU32=eA=new Uint32Array(d),t.HEAPF32=rA=new Float32Array(d),t.HEAPF64=BA=new Float64Array(d)}var yA,SA=[],pA=[],wA=[];function RA(){var d=t.preRun.shift();SA.unshift(d)}var kA=0,UA=null,GA=null;function zA(d){throw t.onAbort&&t.onAbort(d),d="Aborted("+d+")",w(d),R=!0,d=new WebAssembly.RuntimeError(d+". Build with -sASSERTIONS for more info."),o(d),d}function KA(d){return d.startsWith("data:application/octet-stream;base64,")}var LA;if(LA="canvaskit.wasm",!KA(LA)){var YA=LA;LA=t.locateFile?t.locateFile(YA,n):n+YA}function sg(d){if(d==LA&&k)return new Uint8Array(k);if(h)return h(d);throw"both async and sync fetching of the wasm failed"}function $A(d){if(!k&&(s||B)){if(typeof fetch=="function"&&!d.startsWith("file://"))return fetch(d,{credentials:"same-origin"}).then(f=>{if(!f.ok)throw"failed to load wasm binary file at '"+d+"'";return f.arrayBuffer()}).catch(()=>sg(d));if(l)return new Promise((f,F)=>{l(d,L=>f(new Uint8Array(L)),F)})}return Promise.resolve().then(()=>sg(d))}function VA(d,f,F){return $A(d).then(L=>WebAssembly.instantiate(L,f)).then(L=>L).then(F,L=>{w("failed to asynchronously prepare wasm: "+L),zA(L)})}function vg(d,f){var F=LA;return k||typeof WebAssembly.instantiateStreaming!="function"||KA(F)||F.startsWith("file://")||Q||typeof fetch!="function"?VA(F,d,f):fetch(F,{credentials:"same-origin"}).then(L=>WebAssembly.instantiateStreaming(L,d).then(f,function(W){return w("wasm streaming compile failed: "+W),w("falling back to ArrayBuffer instantiation"),VA(F,d,f)}))}var Gg=d=>{for(;0<d.length;)d.shift()(t)},Ng=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Kg=(d,f,F)=>{var L=f+F;for(F=f;d[F]&&!(F>=L);)++F;if(16<F-f&&d.buffer&&Ng)return Ng.decode(d.subarray(f,F));for(L="";f<F;){var W=d[f++];if(W&128){var iA=d[f++]&63;if((W&224)==192)L+=String.fromCharCode((W&31)<<6|iA);else{var hA=d[f++]&63;W=(W&240)==224?(W&15)<<12|iA<<6|hA:(W&7)<<18|iA<<12|hA<<6|d[f++]&63,65536>W?L+=String.fromCharCode(W):(W-=65536,L+=String.fromCharCode(55296|W>>10,56320|W&1023))}}else L+=String.fromCharCode(W)}return L},mg={};function Sg(d){for(;d.length;){var f=d.pop();d.pop()(f)}}function Ae(d){return this.fromWireType(H[d>>2])}var Mg={},sA={},CA={},OA=void 0;function dg(d){throw new OA(d)}function X(d,f,F){function L(c){c=F(c),c.length!==d.length&&dg("Mismatched type converter count");for(var S=0;S<d.length;++S)kg(d[S],c[S])}d.forEach(function(c){CA[c]=f});var W=Array(f.length),iA=[],hA=0;f.forEach((c,S)=>{sA.hasOwnProperty(c)?W[S]=sA[c]:(iA.push(c),Mg.hasOwnProperty(c)||(Mg[c]=[]),Mg[c].push(()=>{W[S]=sA[c],++hA,hA===iA.length&&L(W)}))}),iA.length===0&&L(W)}function eg(d){switch(d){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${d}`)}}var Og=void 0;function Eg(d){for(var f="";q[d];)f+=Og[q[d++]];return f}var og=void 0;function Cg(d){throw new og(d)}function Yg(d,f,F={}){var L=f.name;if(d||Cg(`type "${L}" must have a positive integer typeid pointer`),sA.hasOwnProperty(d)){if(F.af)return;Cg(`Cannot register type '${L}' twice`)}sA[d]=f,delete CA[d],Mg.hasOwnProperty(d)&&(f=Mg[d],delete Mg[d],f.forEach(W=>W()))}function kg(d,f,F={}){if(!("argPackAdvance"in f))throw new TypeError("registerType registeredInstance requires argPackAdvance");Yg(d,f,F)}function Pg(d){Cg(d.Dd.Jd.Gd.name+" instance already deleted")}var Ie=!1;function Ke(){}function Je(d){--d.count.value,d.count.value===0&&(d.Ld?d.Pd.Td(d.Ld):d.Jd.Gd.Td(d.Hd))}function xe(d,f,F){return f===F?d:F.Md===void 0?null:(d=xe(d,f,F.Md),d===null?null:F.Te(d))}var FA={},ZA=[];function pg(){for(;ZA.length;){var d=ZA.pop();d.Dd.$d=!1,d.delete()}}var Dg=void 0,ge={};function Fg(d,f){for(f===void 0&&Cg("ptr should not be undefined");d.Md;)f=d.ge(f),d=d.Md;return ge[f]}function gI(d,f){return f.Jd&&f.Hd||dg("makeClassHandle requires ptr and ptrType"),!!f.Pd!=!!f.Ld&&dg("Both smartPtrType and smartPtr must be specified"),f.count={value:1},Zg(Object.create(d,{Dd:{value:f}}))}function Zg(d){return typeof FinalizationRegistry>"u"?(Zg=f=>f,d):(Ie=new FinalizationRegistry(f=>{Je(f.Dd)}),Zg=f=>{var F=f.Dd;return F.Ld&&Ie.register(f,{Dd:F},f),f},Ke=f=>{Ie.unregister(f)},Zg(d))}function SI(){}function We(d){if(d===void 0)return"_unknown";d=d.replace(/[^a-zA-Z0-9_]/g,"$");var f=d.charCodeAt(0);return 48<=f&&57>=f?`_${d}`:d}function GI(d,f){return d=We(d),{[d]:function(){return f.apply(this,arguments)}}[d]}function ti(d,f,F){if(d[f].Kd===void 0){var L=d[f];d[f]=function(){return d[f].Kd.hasOwnProperty(arguments.length)||Cg(`Function '${F}' called with an invalid number of arguments (${arguments.length}) - expects one of (${d[f].Kd})!`),d[f].Kd[arguments.length].apply(this,arguments)},d[f].Kd=[],d[f].Kd[L.Yd]=L}}function Ci(d,f,F){t.hasOwnProperty(d)?((F===void 0||t[d].Kd!==void 0&&t[d].Kd[F]!==void 0)&&Cg(`Cannot register public name '${d}' twice`),ti(t,d,d),t.hasOwnProperty(F)&&Cg(`Cannot register multiple overloads of a function with the same number of arguments (${F})!`),t[d].Kd[F]=f):(t[d]=f,F!==void 0&&(t[d].sf=F))}function XC(d,f,F,L,W,iA,hA,c){this.name=d,this.constructor=f,this.ae=F,this.Td=L,this.Md=W,this.We=iA,this.ge=hA,this.Te=c,this.ef=[]}function at(d,f,F){for(;f!==F;)f.ge||Cg(`Expected null or instance of ${F.name}, got an instance of ${f.name}`),d=f.ge(d),f=f.Md;return d}function mt(d,f){return f===null?(this.ue&&Cg(`null is not a valid ${this.name}`),0):(f.Dd||Cg(`Cannot pass "${Ki(f)}" as a ${this.name}`),f.Dd.Hd||Cg(`Cannot pass deleted object as a pointer of type ${this.name}`),at(f.Dd.Hd,f.Dd.Jd.Gd,this.Gd))}function cA(d,f){if(f===null){if(this.ue&&Cg(`null is not a valid ${this.name}`),this.le){var F=this.ve();return d!==null&&d.push(this.Td,F),F}return 0}if(f.Dd||Cg(`Cannot pass "${Ki(f)}" as a ${this.name}`),f.Dd.Hd||Cg(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.ke&&f.Dd.Jd.ke&&Cg(`Cannot convert argument of type ${f.Dd.Pd?f.Dd.Pd.name:f.Dd.Jd.name} to parameter type ${this.name}`),F=at(f.Dd.Hd,f.Dd.Jd.Gd,this.Gd),this.le)switch(f.Dd.Ld===void 0&&Cg("Passing raw pointer to smart pointer is illegal"),this.kf){case 0:f.Dd.Pd===this?F=f.Dd.Ld:Cg(`Cannot convert argument of type ${f.Dd.Pd?f.Dd.Pd.name:f.Dd.Jd.name} to parameter type ${this.name}`);break;case 1:F=f.Dd.Ld;break;case 2:if(f.Dd.Pd===this)F=f.Dd.Ld;else{var L=f.clone();F=this.ff(F,Ai(function(){L.delete()})),d!==null&&d.push(this.Td,F)}break;default:Cg("Unsupporting sharing policy")}return F}function jA(d,f){return f===null?(this.ue&&Cg(`null is not a valid ${this.name}`),0):(f.Dd||Cg(`Cannot pass "${Ki(f)}" as a ${this.name}`),f.Dd.Hd||Cg(`Cannot pass deleted object as a pointer of type ${this.name}`),f.Dd.Jd.ke&&Cg(`Cannot convert argument of type ${f.Dd.Jd.name} to parameter type ${this.name}`),at(f.Dd.Hd,f.Dd.Jd.Gd,this.Gd))}function Ig(d,f,F,L,W,iA,hA,c,S,v,Y){this.name=d,this.Gd=f,this.ue=F,this.ke=L,this.le=W,this.df=iA,this.kf=hA,this.Ee=c,this.ve=S,this.ff=v,this.Td=Y,W||f.Md!==void 0?this.toWireType=cA:(this.toWireType=L?mt:jA,this.Od=null)}function HA(d,f,F){t.hasOwnProperty(d)||dg("Replacing nonexistant public symbol"),t[d].Kd!==void 0&&F!==void 0?t[d].Kd[F]=f:(t[d]=f,t[d].Yd=F)}var rg=(d,f)=>{var F=[];return function(){if(F.length=0,Object.assign(F,arguments),d.includes("j")){var L=t["dynCall_"+d];L=F&&F.length?L.apply(null,[f].concat(F)):L.call(null,f)}else L=yA.get(f).apply(null,F);return L}};function bg(d,f){d=Eg(d);var F=d.includes("j")?rg(d,f):yA.get(f);return typeof F!="function"&&Cg(`unknown function pointer with signature ${d}: ${f}`),F}var oe=void 0;function ue(d){d=wr(d);var f=Eg(d);return oC(d),f}function Qe(d,f){function F(iA){W[iA]||sA[iA]||(CA[iA]?CA[iA].forEach(F):(L.push(iA),W[iA]=!0))}var L=[],W={};throw f.forEach(F),new oe(`${d}: `+L.map(ue).join([", "]))}function Ze(d,f,F,L,W){var iA=f.length;2>iA&&Cg("argTypes array size mismatch! Must at least get return value and 'this' types!");var hA=f[1]!==null&&F!==null,c=!1;for(F=1;F<f.length;++F)if(f[F]!==null&&f[F].Od===void 0){c=!0;break}var S=f[0].name!=="void",v=iA-2,Y=Array(v),Z=[],QA=[];return function(){if(arguments.length!==v&&Cg(`function ${d} called with ${arguments.length} arguments, expected ${v} args!`),QA.length=0,Z.length=hA?2:1,Z[0]=W,hA){var gA=f[1].toWireType(QA,this);Z[1]=gA}for(var fA=0;fA<v;++fA)Y[fA]=f[fA+2].toWireType(QA,arguments[fA]),Z.push(Y[fA]);if(fA=L.apply(null,Z),c)Sg(QA);else for(var bA=hA?1:2;bA<f.length;bA++){var XA=bA===1?gA:Y[bA-2];f[bA].Od!==null&&f[bA].Od(XA)}return gA=S?f[0].fromWireType(fA):void 0,gA}}function qe(d,f){for(var F=[],L=0;L<d;L++)F.push(eA[f+4*L>>2]);return F}function Ge(){this.Sd=[void 0],this.Ce=[]}var aI=new Ge;function Qi(d){d>=aI.be&&--aI.get(d).Fe===0&&aI.Je(d)}var mI=d=>(d||Cg("Cannot use deleted val. handle = "+d),aI.get(d).value),Ai=d=>{switch(d){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return aI.Ie({Fe:1,value:d})}};function sI(d,f,F){switch(f){case 0:return function(L){return this.fromWireType((F?J:q)[L])};case 1:return function(L){return this.fromWireType((F?T:P)[L>>1])};case 2:return function(L){return this.fromWireType((F?H:eA)[L>>2])};default:throw new TypeError("Unknown integer type: "+d)}}function te(d,f){var F=sA[d];return F===void 0&&Cg(f+" has unknown type "+ue(d)),F}function Ki(d){if(d===null)return"null";var f=typeof d;return f==="object"||f==="array"||f==="function"?d.toString():""+d}function zi(d,f){switch(f){case 2:return function(F){return this.fromWireType(rA[F>>2])};case 3:return function(F){return this.fromWireType(BA[F>>3])};default:throw new TypeError("Unknown float type: "+d)}}function rt(d,f,F){switch(f){case 0:return F?function(L){return J[L]}:function(L){return q[L]};case 1:return F?function(L){return T[L>>1]}:function(L){return P[L>>1]};case 2:return F?function(L){return H[L>>2]}:function(L){return eA[L>>2]};default:throw new TypeError("Unknown integer type: "+d)}}var Ne=(d,f,F,L)=>{if(!(0<L))return 0;var W=F;L=F+L-1;for(var iA=0;iA<d.length;++iA){var hA=d.charCodeAt(iA);if(55296<=hA&&57343>=hA){var c=d.charCodeAt(++iA);hA=65536+((hA&1023)<<10)|c&1023}if(127>=hA){if(F>=L)break;f[F++]=hA}else{if(2047>=hA){if(F+1>=L)break;f[F++]=192|hA>>6}else{if(65535>=hA){if(F+2>=L)break;f[F++]=224|hA>>12}else{if(F+3>=L)break;f[F++]=240|hA>>18,f[F++]=128|hA>>12&63}f[F++]=128|hA>>6&63}f[F++]=128|hA&63}}return f[F]=0,F-W},uI=d=>{for(var f=0,F=0;F<d.length;++F){var L=d.charCodeAt(F);127>=L?f++:2047>=L?f+=2:55296<=L&&57343>=L?(f+=4,++F):f+=3}return f},Tt=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,vI=(d,f)=>{for(var F=d>>1,L=F+f/2;!(F>=L)&&P[F];)++F;if(F<<=1,32<F-d&&Tt)return Tt.decode(q.subarray(d,F));for(F="",L=0;!(L>=f/2);++L){var W=T[d+2*L>>1];if(W==0)break;F+=String.fromCharCode(W)}return F},st=(d,f,F)=>{if(F===void 0&&(F=2147483647),2>F)return 0;F-=2;var L=f;F=F<2*d.length?F/2:d.length;for(var W=0;W<F;++W)T[f>>1]=d.charCodeAt(W),f+=2;return T[f>>1]=0,f-L},Bt=d=>2*d.length,bI=(d,f)=>{for(var F=0,L="";!(F>=f/4);){var W=H[d+4*F>>2];if(W==0)break;++F,65536<=W?(W-=65536,L+=String.fromCharCode(55296|W>>10,56320|W&1023)):L+=String.fromCharCode(W)}return L},Fe=(d,f,F)=>{if(F===void 0&&(F=2147483647),4>F)return 0;var L=f;F=L+F-4;for(var W=0;W<d.length;++W){var iA=d.charCodeAt(W);if(55296<=iA&&57343>=iA){var hA=d.charCodeAt(++W);iA=65536+((iA&1023)<<10)|hA&1023}if(H[f>>2]=iA,f+=4,f+4>F)break}return H[f>>2]=0,f-L},Qo=d=>{for(var f=0,F=0;F<d.length;++F){var L=d.charCodeAt(F);55296<=L&&57343>=L&&++F,f+=4}return f},Ot={};function JC(d){var f=Ot[d];return f===void 0?Eg(d):f}var di=[];function V(){function d(f){f.$$$embind_global$$$=f;var F=typeof $$$embind_global$$$=="object"&&f.$$$embind_global$$$==f;return F||delete f.$$$embind_global$$$,F}if(typeof globalThis=="object")return globalThis;if(typeof $$$embind_global$$$=="object"||(typeof global=="object"&&d(global)?$$$embind_global$$$=global:typeof self=="object"&&d(self)&&($$$embind_global$$$=self),typeof $$$embind_global$$$=="object"))return $$$embind_global$$$;throw Error("unable to get global object.")}function oA(d){var f=di.length;return di.push(d),f}function MA(d,f){for(var F=Array(d),L=0;L<d;++L)F[L]=te(eA[f+4*L>>2],"parameter "+L);return F}var nA=[];function JA(d){var f=Array(d+1);return function(F,L,W){f[0]=F;for(var iA=0;iA<d;++iA){var hA=te(eA[L+4*iA>>2],"parameter "+iA);f[iA+1]=hA.readValueFromPointer(W),W+=hA.argPackAdvance}return F=new(F.bind.apply(F,f)),Ai(F)}}var fg={};function CC(d){var f=d.getExtension("ANGLE_instanced_arrays");f&&(d.vertexAttribDivisor=function(F,L){f.vertexAttribDivisorANGLE(F,L)},d.drawArraysInstanced=function(F,L,W,iA){f.drawArraysInstancedANGLE(F,L,W,iA)},d.drawElementsInstanced=function(F,L,W,iA,hA){f.drawElementsInstancedANGLE(F,L,W,iA,hA)})}function zI(d){var f=d.getExtension("OES_vertex_array_object");f&&(d.createVertexArray=function(){return f.createVertexArrayOES()},d.deleteVertexArray=function(F){f.deleteVertexArrayOES(F)},d.bindVertexArray=function(F){f.bindVertexArrayOES(F)},d.isVertexArray=function(F){return f.isVertexArrayOES(F)})}function $C(d){var f=d.getExtension("WEBGL_draw_buffers");f&&(d.drawBuffers=function(F,L){f.drawBuffersWEBGL(F,L)})}var qC=1,_t=[],gi=[],Lo=[],bC=[],Qt=[],Vi=[],xo=[],Pt=[],dC=[],LC=[],Er={},wa={},wi=4;function DI(d){xC||(xC=d)}function jt(d){for(var f=qC++,F=d.length;F<f;F++)d[F]=null;return f}function Ds(d,f){d.be||(d.be=d.getContext,d.getContext=function(L,W){return W=d.be(L,W),L=="webgl"==W instanceof WebGLRenderingContext?W:null});var F=1<f.majorVersion?d.getContext("webgl2",f):d.getContext("webgl",f);return F?iI(F,f):0}function iI(d,f){var F=jt(Pt),L={handle:F,attributes:f,version:f.majorVersion,Qd:d};return d.canvas&&(d.canvas.Ke=L),Pt[F]=L,(typeof f.Ue>"u"||f.Ue)&&lr(L),F}function hr(d){return he=Pt[d],t.qf=vA=he&&he.Qd,!(d&&!vA)}function lr(d){if(d||(d=he),!d.bf){d.bf=!0;var f=d.Qd;CC(f),zI(f),$C(f),f.ze=f.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),f.De=f.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"),2<=d.version&&(f.Ae=f.getExtension("EXT_disjoint_timer_query_webgl2")),(2>d.version||!f.Ae)&&(f.Ae=f.getExtension("EXT_disjoint_timer_query")),f.rf=f.getExtension("WEBGL_multi_draw"),(f.getSupportedExtensions()||[]).forEach(function(F){F.includes("lose_context")||F.includes("debug")||f.getExtension(F)})}}var he,xC,Ao={},Yo=()=>{if(!Wt){var d={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:r||"./this.program"},f;for(f in Ao)Ao[f]===void 0?delete d[f]:d[f]=Ao[f];var F=[];for(f in d)F.push(`${f}=${d[f]}`);Wt=F}return Wt},Wt,cr=[null,[],[]];function Me(d){vA.bindVertexArray(xo[d])}function dr(d,f){for(var F=0;F<d;F++){var L=H[f+4*F>>2];vA.deleteVertexArray(xo[L]),xo[L]=null}}var Ho=[];function ur(d,f,F,L){vA.drawElements(d,f,F,L)}function uC(d,f,F,L){for(var W=0;W<d;W++){var iA=vA[F](),hA=iA&&jt(L);iA?(iA.name=hA,L[hA]=iA):DI(1282),H[f+4*W>>2]=hA}}function fa(d,f){uC(d,f,"createVertexArray",xo)}function no(d,f,F){if(f){var L=void 0;switch(d){case 36346:L=1;break;case 36344:F!=0&&F!=1&&DI(1280);return;case 34814:case 36345:L=0;break;case 34466:var W=vA.getParameter(34467);L=W?W.length:0;break;case 33309:if(2>he.version){DI(1282);return}L=2*(vA.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>he.version){DI(1280);return}L=d==33307?3:0}if(L===void 0)switch(W=vA.getParameter(d),typeof W){case"number":L=W;break;case"boolean":L=W?1:0;break;case"string":DI(1280);return;case"object":if(W===null)switch(d){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:L=0;break;default:DI(1280);return}else{if(W instanceof Float32Array||W instanceof Uint32Array||W instanceof Int32Array||W instanceof Array){for(d=0;d<W.length;++d)switch(F){case 0:H[f+4*d>>2]=W[d];break;case 2:rA[f+4*d>>2]=W[d];break;case 4:J[f+d>>0]=W[d]?1:0}return}try{L=W.name|0}catch(iA){DI(1280),w("GL_INVALID_ENUM in glGet"+F+"v: Unknown object returned from WebGL getParameter("+d+")! (error: "+iA+")");return}}break;default:DI(1280),w("GL_INVALID_ENUM in glGet"+F+"v: Native code calling glGet"+F+"v("+d+") and it returns "+W+" of type "+typeof W+"!");return}switch(F){case 1:F=L,eA[f>>2]=F,eA[f+4>>2]=(F-eA[f>>2])/4294967296;break;case 0:H[f>>2]=L;break;case 2:rA[f>>2]=L;break;case 4:J[f>>0]=L?1:0}}else DI(1281)}var DC=d=>{var f=uI(d)+1,F=_o(f);return F&&Ne(d,q,F,f),F};function AA(d){return d.slice(-1)=="]"&&d.lastIndexOf("[")}function fi(d){return d-=5120,d==0?J:d==1?q:d==2?T:d==4?H:d==6?rA:d==5||d==28922||d==28520||d==30779||d==30782?eA:P}function Sa(d,f,F,L,W){d=fi(d);var iA=31-Math.clz32(d.BYTES_PER_ELEMENT),hA=wi;return d.subarray(W>>iA,W+L*(F*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[f-6402]||1)*(1<<iA)+hA-1&-hA)>>iA)}function tI(d){var f=vA.Re;if(f){var F=f.fe[d];return typeof F=="number"&&(f.fe[d]=F=vA.getUniformLocation(f,f.Ge[d]+(0<F?"["+F+"]":""))),F}DI(1282)}var pC=[],Eo=[],To=d=>d%4===0&&(d%100!==0||d%400===0),Dr=[31,29,31,30,31,30,31,31,30,31,30,31],pr=[31,28,31,30,31,30,31,31,30,31,30,31];function ps(d){var f=Array(uI(d)+1);return Ne(d,f,0,f.length),f}var ys=(d,f,F,L)=>{function W(gA,fA,bA){for(gA=typeof gA=="number"?gA.toString():gA||"";gA.length<fA;)gA=bA[0]+gA;return gA}function iA(gA,fA){return W(gA,fA,"0")}function hA(gA,fA){function bA(Rg){return 0>Rg?-1:0<Rg?1:0}var XA;return(XA=bA(gA.getFullYear()-fA.getFullYear()))===0&&(XA=bA(gA.getMonth()-fA.getMonth()))===0&&(XA=bA(gA.getDate()-fA.getDate())),XA}function c(gA){switch(gA.getDay()){case 0:return new Date(gA.getFullYear()-1,11,29);case 1:return gA;case 2:return new Date(gA.getFullYear(),0,3);case 3:return new Date(gA.getFullYear(),0,2);case 4:return new Date(gA.getFullYear(),0,1);case 5:return new Date(gA.getFullYear()-1,11,31);case 6:return new Date(gA.getFullYear()-1,11,30)}}function S(gA){var fA=gA.Vd;for(gA=new Date(new Date(gA.Wd+1900,0,1).getTime());0<fA;){var bA=gA.getMonth(),XA=(To(gA.getFullYear())?Dr:pr)[bA];if(fA>XA-gA.getDate())fA-=XA-gA.getDate()+1,gA.setDate(1),11>bA?gA.setMonth(bA+1):(gA.setMonth(0),gA.setFullYear(gA.getFullYear()+1));else{gA.setDate(gA.getDate()+fA);break}}return bA=new Date(gA.getFullYear()+1,0,4),fA=c(new Date(gA.getFullYear(),0,4)),bA=c(bA),0>=hA(fA,gA)?0>=hA(bA,gA)?gA.getFullYear()+1:gA.getFullYear():gA.getFullYear()-1}var v=H[L+40>>2];L={nf:H[L>>2],mf:H[L+4>>2],pe:H[L+8>>2],we:H[L+12>>2],qe:H[L+16>>2],Wd:H[L+20>>2],Rd:H[L+24>>2],Vd:H[L+28>>2],uf:H[L+32>>2],lf:H[L+36>>2],pf:v&&v?Kg(q,v):""},F=F?Kg(q,F):"",v={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var Y in v)F=F.replace(new RegExp(Y,"g"),v[Y]);var Z="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),QA="January February March April May June July August September October November December".split(" ");v={"%a":gA=>Z[gA.Rd].substring(0,3),"%A":gA=>Z[gA.Rd],"%b":gA=>QA[gA.qe].substring(0,3),"%B":gA=>QA[gA.qe],"%C":gA=>iA((gA.Wd+1900)/100|0,2),"%d":gA=>iA(gA.we,2),"%e":gA=>W(gA.we,2," "),"%g":gA=>S(gA).toString().substring(2),"%G":gA=>S(gA),"%H":gA=>iA(gA.pe,2),"%I":gA=>(gA=gA.pe,gA==0?gA=12:12<gA&&(gA-=12),iA(gA,2)),"%j":gA=>{for(var fA=0,bA=0;bA<=gA.qe-1;fA+=(To(gA.Wd+1900)?Dr:pr)[bA++]);return iA(gA.we+fA,3)},"%m":gA=>iA(gA.qe+1,2),"%M":gA=>iA(gA.mf,2),"%n":()=>`
`,"%p":gA=>0<=gA.pe&&12>gA.pe?"AM":"PM","%S":gA=>iA(gA.nf,2),"%t":()=>"	","%u":gA=>gA.Rd||7,"%U":gA=>iA(Math.floor((gA.Vd+7-gA.Rd)/7),2),"%V":gA=>{var fA=Math.floor((gA.Vd+7-(gA.Rd+6)%7)/7);if(2>=(gA.Rd+371-gA.Vd-2)%7&&fA++,fA)fA==53&&(bA=(gA.Rd+371-gA.Vd)%7,bA==4||bA==3&&To(gA.Wd)||(fA=1));else{fA=52;var bA=(gA.Rd+7-gA.Vd-1)%7;(bA==4||bA==5&&To(gA.Wd%400-1))&&fA++}return iA(fA,2)},"%w":gA=>gA.Rd,"%W":gA=>iA(Math.floor((gA.Vd+7-(gA.Rd+6)%7)/7),2),"%y":gA=>(gA.Wd+1900).toString().substring(2),"%Y":gA=>gA.Wd+1900,"%z":gA=>{gA=gA.lf;var fA=0<=gA;return gA=Math.abs(gA)/60,(fA?"+":"-")+("0000"+(gA/60*100+gA%60)).slice(-4)},"%Z":gA=>gA.pf,"%%":()=>"%"},F=F.replace(/%%/g,"\0\0");for(Y in v)F.includes(Y)&&(F=F.replace(new RegExp(Y,"g"),v[Y](L)));return F=F.replace(/\0\0/g,"%"),Y=ps(F),Y.length>f?0:(J.set(Y,d),Y.length-1)};OA=t.InternalError=class extends Error{constructor(d){super(d),this.name="InternalError"}};for(var ho=Array(256),Oo=0;256>Oo;++Oo)ho[Oo]=String.fromCharCode(Oo);Og=ho,og=t.BindingError=class extends Error{constructor(d){super(d),this.name="BindingError"}},SI.prototype.isAliasOf=function(d){if(!(this instanceof SI&&d instanceof SI))return!1;var f=this.Dd.Jd.Gd,F=this.Dd.Hd,L=d.Dd.Jd.Gd;for(d=d.Dd.Hd;f.Md;)F=f.ge(F),f=f.Md;for(;L.Md;)d=L.ge(d),L=L.Md;return f===L&&F===d},SI.prototype.clone=function(){if(this.Dd.Hd||Pg(this),this.Dd.ee)return this.Dd.count.value+=1,this;var d=Zg,f=Object,F=f.create,L=Object.getPrototypeOf(this),W=this.Dd;return d=d(F.call(f,L,{Dd:{value:{count:W.count,$d:W.$d,ee:W.ee,Hd:W.Hd,Jd:W.Jd,Ld:W.Ld,Pd:W.Pd}}})),d.Dd.count.value+=1,d.Dd.$d=!1,d},SI.prototype.delete=function(){this.Dd.Hd||Pg(this),this.Dd.$d&&!this.Dd.ee&&Cg("Object already scheduled for deletion"),Ke(this),Je(this.Dd),this.Dd.ee||(this.Dd.Ld=void 0,this.Dd.Hd=void 0)},SI.prototype.isDeleted=function(){return!this.Dd.Hd},SI.prototype.deleteLater=function(){return this.Dd.Hd||Pg(this),this.Dd.$d&&!this.Dd.ee&&Cg("Object already scheduled for deletion"),ZA.push(this),ZA.length===1&&Dg&&Dg(pg),this.Dd.$d=!0,this},t.getInheritedInstanceCount=function(){return Object.keys(ge).length},t.getLiveInheritedInstances=function(){var d=[],f;for(f in ge)ge.hasOwnProperty(f)&&d.push(ge[f]);return d},t.flushPendingDeletes=pg,t.setDelayFunction=function(d){Dg=d,ZA.length&&Dg&&Dg(pg)},Ig.prototype.Xe=function(d){return this.Ee&&(d=this.Ee(d)),d},Ig.prototype.ye=function(d){this.Td&&this.Td(d)},Ig.prototype.argPackAdvance=8,Ig.prototype.readValueFromPointer=Ae,Ig.prototype.deleteObject=function(d){d!==null&&d.delete()},Ig.prototype.fromWireType=function(d){function f(){return this.le?gI(this.Gd.ae,{Jd:this.df,Hd:F,Pd:this,Ld:d}):gI(this.Gd.ae,{Jd:this,Hd:d})}var F=this.Xe(d);if(!F)return this.ye(d),null;var L=Fg(this.Gd,F);if(L!==void 0)return L.Dd.count.value===0?(L.Dd.Hd=F,L.Dd.Ld=d,L.clone()):(L=L.clone(),this.ye(d),L);if(L=this.Gd.We(F),L=FA[L],!L)return f.call(this);L=this.ke?L.Qe:L.pointerType;var W=xe(F,this.Gd,L.Gd);return W===null?f.call(this):this.le?gI(L.Gd.ae,{Jd:L,Hd:W,Pd:this,Ld:d}):gI(L.Gd.ae,{Jd:L,Hd:W})},oe=t.UnboundTypeError=function(d,f){var F=GI(f,function(L){this.name=f,this.message=L,L=Error(L).stack,L!==void 0&&(this.stack=this.toString()+`
`+L.replace(/^Error(:[^\n]*)?\n/,""))});return F.prototype=Object.create(d.prototype),F.prototype.constructor=F,F.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},F}(Error,"UnboundTypeError"),Object.assign(Ge.prototype,{get(d){return this.Sd[d]},has(d){return this.Sd[d]!==void 0},Ie(d){var f=this.Ce.pop()||this.Sd.length;return this.Sd[f]=d,f},Je(d){this.Sd[d]=void 0,this.Ce.push(d)}}),aI.Sd.push({value:void 0},{value:null},{value:!0},{value:!1}),aI.be=aI.Sd.length,t.count_emval_handles=function(){for(var d=0,f=aI.be;f<aI.Sd.length;++f)aI.Sd[f]!==void 0&&++d;return d};for(var vA,Ji=0;32>Ji;++Ji)Ho.push(Array(Ji));var ws=new Float32Array(288);for(Ji=0;288>Ji;++Ji)pC[Ji]=ws.subarray(0,Ji+1);var yr=new Int32Array(288);for(Ji=0;288>Ji;++Ji)Eo[Ji]=yr.subarray(0,Ji+1);var fs={Q:function(){return 0},Ab:()=>{},Cb:function(){return 0},xb:()=>{},yb:()=>{},R:function(){},zb:()=>{},v:function(d){var f=mg[d];delete mg[d];var F=f.ve,L=f.Td,W=f.Be,iA=W.map(hA=>hA.$e).concat(W.map(hA=>hA.hf));X([d],iA,hA=>{var c={};return W.forEach((S,v)=>{var Y=hA[v],Z=S.Ye,QA=S.Ze,gA=hA[v+W.length],fA=S.gf,bA=S.jf;c[S.Ve]={read:XA=>Y.fromWireType(Z(QA,XA)),write:(XA,Rg)=>{var Jg=[];fA(bA,XA,gA.toWireType(Jg,Rg)),Sg(Jg)}}}),[{name:f.name,fromWireType:function(S){var v={},Y;for(Y in c)v[Y]=c[Y].read(S);return L(S),v},toWireType:function(S,v){for(var Y in c)if(!(Y in v))throw new TypeError(`Missing field: "${Y}"`);var Z=F();for(Y in c)c[Y].write(Z,v[Y]);return S!==null&&S.push(L,Z),Z},argPackAdvance:8,readValueFromPointer:Ae,Od:L}]})},pb:function(){},Gb:function(d,f,F,L,W){var iA=eg(F);f=Eg(f),kg(d,{name:f,fromWireType:function(hA){return!!hA},toWireType:function(hA,c){return c?L:W},argPackAdvance:8,readValueFromPointer:function(hA){if(F===1)var c=J;else if(F===2)c=T;else if(F===4)c=H;else throw new TypeError("Unknown boolean type size: "+f);return this.fromWireType(c[hA>>iA])},Od:null})},k:function(d,f,F,L,W,iA,hA,c,S,v,Y,Z,QA){Y=Eg(Y),iA=bg(W,iA),c&&(c=bg(hA,c)),v&&(v=bg(S,v)),QA=bg(Z,QA);var gA=We(Y);Ci(gA,function(){Qe(`Cannot construct ${Y} due to unbound types`,[L])}),X([d,f,F],L?[L]:[],function(fA){if(fA=fA[0],L)var bA=fA.Gd,XA=bA.ae;else XA=SI.prototype;fA=GI(gA,function(){if(Object.getPrototypeOf(this)!==Rg)throw new og("Use 'new' to construct "+Y);if(Jg.Ud===void 0)throw new og(Y+" has no accessible constructor");var Tg=Jg.Ud[arguments.length];if(Tg===void 0)throw new og(`Tried to invoke ctor of ${Y} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(Jg.Ud).toString()}) parameters instead!`);return Tg.apply(this,arguments)});var Rg=Object.create(XA,{constructor:{value:fA}});fA.prototype=Rg;var Jg=new XC(Y,fA,Rg,QA,bA,iA,c,v);Jg.Md&&(Jg.Md.he===void 0&&(Jg.Md.he=[]),Jg.Md.he.push(Jg)),bA=new Ig(Y,Jg,!0,!1,!1),XA=new Ig(Y+"*",Jg,!1,!1,!1);var jg=new Ig(Y+" const*",Jg,!1,!0,!1);return FA[d]={pointerType:XA,Qe:jg},HA(gA,fA),[bA,XA,jg]})},f:function(d,f,F,L,W,iA,hA){var c=qe(F,L);f=Eg(f),iA=bg(W,iA),X([],[d],function(S){function v(){Qe(`Cannot call ${Y} due to unbound types`,c)}S=S[0];var Y=`${S.name}.${f}`;f.startsWith("@@")&&(f=Symbol[f.substring(2)]);var Z=S.Gd.constructor;return Z[f]===void 0?(v.Yd=F-1,Z[f]=v):(ti(Z,f,Y),Z[f].Kd[F-1]=v),X([],c,function(QA){if(QA=[QA[0],null].concat(QA.slice(1)),QA=Ze(Y,QA,null,iA,hA),Z[f].Kd===void 0?(QA.Yd=F-1,Z[f]=QA):Z[f].Kd[F-1]=QA,S.Gd.he)for(let gA of S.Gd.he)gA.constructor.hasOwnProperty(f)||(gA.constructor[f]=QA);return[]}),[]})},t:function(d,f,F,L,W,iA){var hA=qe(f,F);W=bg(L,W),X([],[d],function(c){c=c[0];var S=`constructor ${c.name}`;if(c.Gd.Ud===void 0&&(c.Gd.Ud=[]),c.Gd.Ud[f-1]!==void 0)throw new og(`Cannot register multiple constructors with identical number of parameters (${f-1}) for class '${c.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return c.Gd.Ud[f-1]=()=>{Qe(`Cannot construct ${c.name} due to unbound types`,hA)},X([],hA,function(v){return v.splice(1,0,null),c.Gd.Ud[f-1]=Ze(S,v,null,W,iA),[]}),[]})},b:function(d,f,F,L,W,iA,hA,c){var S=qe(F,L);f=Eg(f),iA=bg(W,iA),X([],[d],function(v){function Y(){Qe(`Cannot call ${Z} due to unbound types`,S)}v=v[0];var Z=`${v.name}.${f}`;f.startsWith("@@")&&(f=Symbol[f.substring(2)]),c&&v.Gd.ef.push(f);var QA=v.Gd.ae,gA=QA[f];return gA===void 0||gA.Kd===void 0&&gA.className!==v.name&&gA.Yd===F-2?(Y.Yd=F-2,Y.className=v.name,QA[f]=Y):(ti(QA,f,Z),QA[f].Kd[F-2]=Y),X([],S,function(fA){return fA=Ze(Z,fA,v,iA,hA),QA[f].Kd===void 0?(fA.Yd=F-2,QA[f]=fA):QA[f].Kd[F-2]=fA,[]}),[]})},o:function(d,f,F){d=Eg(d),X([],[f],function(L){return L=L[0],t[d]=L.fromWireType(F),[]})},Fb:function(d,f){f=Eg(f),kg(d,{name:f,fromWireType:function(F){var L=mI(F);return Qi(F),L},toWireType:function(F,L){return Ai(L)},argPackAdvance:8,readValueFromPointer:Ae,Od:null})},j:function(d,f,F,L){function W(){}F=eg(F),f=Eg(f),W.values={},kg(d,{name:f,constructor:W,fromWireType:function(iA){return this.constructor.values[iA]},toWireType:function(iA,hA){return hA.value},argPackAdvance:8,readValueFromPointer:sI(f,F,L),Od:null}),Ci(f,W)},c:function(d,f,F){var L=te(d,"enum");f=Eg(f),d=L.constructor,L=Object.create(L.constructor.prototype,{value:{value:F},constructor:{value:GI(`${L.name}_${f}`,function(){})}}),d.values[F]=L,d[f]=L},T:function(d,f,F){F=eg(F),f=Eg(f),kg(d,{name:f,fromWireType:function(L){return L},toWireType:function(L,W){return W},argPackAdvance:8,readValueFromPointer:zi(f,F),Od:null})},r:function(d,f,F,L,W,iA){var hA=qe(f,F);d=Eg(d),W=bg(L,W),Ci(d,function(){Qe(`Cannot call ${d} due to unbound types`,hA)},f-1),X([],hA,function(c){return c=[c[0],null].concat(c.slice(1)),HA(d,Ze(d,c,null,W,iA),f-1),[]})},x:function(d,f,F,L,W){f=Eg(f),W===-1&&(W=4294967295),W=eg(F);var iA=c=>c;if(L===0){var hA=32-8*F;iA=c=>c<<hA>>>hA}F=f.includes("unsigned")?function(c,S){return S>>>0}:function(c,S){return S},kg(d,{name:f,fromWireType:iA,toWireType:F,argPackAdvance:8,readValueFromPointer:rt(f,W,L!==0),Od:null})},n:function(d,f,F){function L(iA){iA>>=2;var hA=eA;return new W(hA.buffer,hA[iA+1],hA[iA])}var W=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][f];F=Eg(F),kg(d,{name:F,fromWireType:L,argPackAdvance:8,readValueFromPointer:L},{af:!0})},m:function(d,f,F,L,W,iA,hA,c,S,v,Y,Z){F=Eg(F),iA=bg(W,iA),c=bg(hA,c),v=bg(S,v),Z=bg(Y,Z),X([d],[f],function(QA){return QA=QA[0],[new Ig(F,QA.Gd,!1,!1,!0,QA,L,iA,c,v,Z)]})},S:function(d,f){f=Eg(f);var F=f==="std::string";kg(d,{name:f,fromWireType:function(L){var W=eA[L>>2],iA=L+4;if(F)for(var hA=iA,c=0;c<=W;++c){var S=iA+c;if(c==W||q[S]==0){if(hA=hA?Kg(q,hA,S-hA):"",v===void 0)var v=hA;else v+="\0",v+=hA;hA=S+1}}else{for(v=Array(W),c=0;c<W;++c)v[c]=String.fromCharCode(q[iA+c]);v=v.join("")}return oC(L),v},toWireType:function(L,W){W instanceof ArrayBuffer&&(W=new Uint8Array(W));var iA=typeof W=="string";iA||W instanceof Uint8Array||W instanceof Uint8ClampedArray||W instanceof Int8Array||Cg("Cannot pass non-string to std::string");var hA=F&&iA?uI(W):W.length,c=_o(4+hA+1),S=c+4;if(eA[c>>2]=hA,F&&iA)Ne(W,q,S,hA+1);else if(iA)for(iA=0;iA<hA;++iA){var v=W.charCodeAt(iA);255<v&&(oC(S),Cg("String has UTF-16 code units that do not fit in 8 bits")),q[S+iA]=v}else for(iA=0;iA<hA;++iA)q[S+iA]=W[iA];return L!==null&&L.push(oC,c),c},argPackAdvance:8,readValueFromPointer:Ae,Od:function(L){oC(L)}})},K:function(d,f,F){if(F=Eg(F),f===2)var L=vI,W=st,iA=Bt,hA=()=>P,c=1;else f===4&&(L=bI,W=Fe,iA=Qo,hA=()=>eA,c=2);kg(d,{name:F,fromWireType:function(S){for(var v=eA[S>>2],Y=hA(),Z,QA=S+4,gA=0;gA<=v;++gA){var fA=S+4+gA*f;(gA==v||Y[fA>>c]==0)&&(QA=L(QA,fA-QA),Z===void 0?Z=QA:(Z+="\0",Z+=QA),QA=fA+f)}return oC(S),Z},toWireType:function(S,v){typeof v!="string"&&Cg(`Cannot pass non-string to C++ string type ${F}`);var Y=iA(v),Z=_o(4+Y+f);return eA[Z>>2]=Y>>c,W(v,Z+4,Y+f),S!==null&&S.push(oC,Z),Z},argPackAdvance:8,readValueFromPointer:Ae,Od:function(S){oC(S)}})},w:function(d,f,F,L,W,iA){mg[d]={name:Eg(f),ve:bg(F,L),Td:bg(W,iA),Be:[]}},e:function(d,f,F,L,W,iA,hA,c,S,v){mg[d].Be.push({Ve:Eg(f),$e:F,Ye:bg(L,W),Ze:iA,hf:hA,gf:bg(c,S),jf:v})},Hb:function(d,f){f=Eg(f),kg(d,{cf:!0,name:f,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},Eb:()=>!0,tb:()=>{throw 1/0},y:function(d,f,F){d=mI(d),f=te(f,"emval::as");var L=[],W=Ai(L);return eA[F>>2]=W,f.toWireType(L,d)},Y:function(d,f,F,L,W){d=di[d],f=mI(f),F=JC(F);var iA=[];return eA[L>>2]=Ai(iA),d(f,F,iA,W)},q:function(d,f,F,L){d=di[d],f=mI(f),F=JC(F),d(f,F,null,L)},d:Qi,H:function(d){return d===0?Ai(V()):(d=JC(d),Ai(V()[d]))},p:function(d,f){var F=MA(d,f),L=F[0];f=L.name+"_$"+F.slice(1).map(function(hA){return hA.name}).join("_")+"$";var W=nA[f];if(W!==void 0)return W;var iA=Array(d-1);return W=oA((hA,c,S,v)=>{for(var Y=0,Z=0;Z<d-1;++Z)iA[Z]=F[Z+1].readValueFromPointer(v+Y),Y+=F[Z+1].argPackAdvance;for(hA=hA[c].apply(hA,iA),Z=0;Z<d-1;++Z)F[Z+1].Se&&F[Z+1].Se(iA[Z]);if(!L.cf)return L.toWireType(S,hA)}),nA[f]=W},s:function(d,f){return d=mI(d),f=mI(f),Ai(d[f])},l:function(d){4<d&&(aI.get(d).Fe+=1)},G:function(d,f,F,L){d=mI(d);var W=fg[f];return W||(W=JA(f),fg[f]=W),W(d,F,L)},C:function(){return Ai([])},g:function(d){return Ai(JC(d))},z:function(){return Ai({})},jb:function(d){return d=mI(d),!d},u:function(d){var f=mI(d);Sg(f),Qi(d)},i:function(d,f,F){d=mI(d),f=mI(f),F=mI(F),d[f]=F},h:function(d,f){return d=te(d,"_emval_take_value"),d=d.readValueFromPointer(f),Ai(d)},mb:function(){return-52},nb:function(){},a:()=>{zA("")},Db:()=>performance.now(),ub:d=>{var f=q.length;if(d>>>=0,2147483648<d)return!1;for(var F=1;4>=F;F*=2){var L=f*(1+.2/F);L=Math.min(L,d+100663296);var W=Math;L=Math.max(d,L);A:{W=W.min.call(W,2147483648,L+(65536-L%65536)%65536)-N.buffer.byteLength+65535>>>16;try{N.grow(W),aA();var iA=1;break A}catch{}iA=void 0}if(iA)return!0}return!1},kb:function(){return he?he.handle:0},vb:(d,f)=>{var F=0;return Yo().forEach(function(L,W){var iA=f+F;for(W=eA[d+4*W>>2]=iA,iA=0;iA<L.length;++iA)J[W++>>0]=L.charCodeAt(iA);J[W>>0]=0,F+=L.length+1}),0},wb:(d,f)=>{var F=Yo();eA[d>>2]=F.length;var L=0;return F.forEach(function(W){L+=W.length+1}),eA[f>>2]=L,0},J:()=>52,lb:function(){return 52},Bb:()=>52,ob:function(){return 70},P:(d,f,F,L)=>{for(var W=0,iA=0;iA<F;iA++){var hA=eA[f>>2],c=eA[f+4>>2];f+=8;for(var S=0;S<c;S++){var v=q[hA+S],Y=cr[d];v===0||v===10?((d===1?p:w)(Kg(Y,0)),Y.length=0):Y.push(v)}W+=c}return eA[L>>2]=W,0},$:function(d){vA.activeTexture(d)},aa:function(d,f){vA.attachShader(gi[d],Vi[f])},ba:function(d,f,F){vA.bindAttribLocation(gi[d],f,F?Kg(q,F):"")},ca:function(d,f){d==35051?vA.se=f:d==35052&&(vA.Zd=f),vA.bindBuffer(d,_t[f])},_:function(d,f){vA.bindFramebuffer(d,Lo[f])},ac:function(d,f){vA.bindRenderbuffer(d,bC[f])},Mb:function(d,f){vA.bindSampler(d,dC[f])},da:function(d,f){vA.bindTexture(d,Qt[f])},uc:Me,xc:Me,ea:function(d,f,F,L){vA.blendColor(d,f,F,L)},fa:function(d){vA.blendEquation(d)},ga:function(d,f){vA.blendFunc(d,f)},Wb:function(d,f,F,L,W,iA,hA,c,S,v){vA.blitFramebuffer(d,f,F,L,W,iA,hA,c,S,v)},ha:function(d,f,F,L){2<=he.version?F&&f?vA.bufferData(d,q,L,F,f):vA.bufferData(d,f,L):vA.bufferData(d,F?q.subarray(F,F+f):f,L)},ia:function(d,f,F,L){2<=he.version?F&&vA.bufferSubData(d,f,q,L,F):vA.bufferSubData(d,f,q.subarray(L,L+F))},bc:function(d){return vA.checkFramebufferStatus(d)},N:function(d){vA.clear(d)},Z:function(d,f,F,L){vA.clearColor(d,f,F,L)},O:function(d){vA.clearStencil(d)},rb:function(d,f,F,L){return vA.clientWaitSync(LC[d],f,(F>>>0)+4294967296*L)},ja:function(d,f,F,L){vA.colorMask(!!d,!!f,!!F,!!L)},ka:function(d){vA.compileShader(Vi[d])},la:function(d,f,F,L,W,iA,hA,c){2<=he.version?vA.Zd||!hA?vA.compressedTexImage2D(d,f,F,L,W,iA,hA,c):vA.compressedTexImage2D(d,f,F,L,W,iA,q,c,hA):vA.compressedTexImage2D(d,f,F,L,W,iA,c?q.subarray(c,c+hA):null)},ma:function(d,f,F,L,W,iA,hA,c,S){2<=he.version?vA.Zd||!c?vA.compressedTexSubImage2D(d,f,F,L,W,iA,hA,c,S):vA.compressedTexSubImage2D(d,f,F,L,W,iA,hA,q,S,c):vA.compressedTexSubImage2D(d,f,F,L,W,iA,hA,S?q.subarray(S,S+c):null)},Ub:function(d,f,F,L,W){vA.copyBufferSubData(d,f,F,L,W)},na:function(d,f,F,L,W,iA,hA,c){vA.copyTexSubImage2D(d,f,F,L,W,iA,hA,c)},oa:function(){var d=jt(gi),f=vA.createProgram();return f.name=d,f.oe=f.me=f.ne=0,f.xe=1,gi[d]=f,d},pa:function(d){var f=jt(Vi);return Vi[f]=vA.createShader(d),f},qa:function(d){vA.cullFace(d)},ra:function(d,f){for(var F=0;F<d;F++){var L=H[f+4*F>>2],W=_t[L];W&&(vA.deleteBuffer(W),W.name=0,_t[L]=null,L==vA.se&&(vA.se=0),L==vA.Zd&&(vA.Zd=0))}},cc:function(d,f){for(var F=0;F<d;++F){var L=H[f+4*F>>2],W=Lo[L];W&&(vA.deleteFramebuffer(W),W.name=0,Lo[L]=null)}},sa:function(d){if(d){var f=gi[d];f?(vA.deleteProgram(f),f.name=0,gi[d]=null):DI(1281)}},dc:function(d,f){for(var F=0;F<d;F++){var L=H[f+4*F>>2],W=bC[L];W&&(vA.deleteRenderbuffer(W),W.name=0,bC[L]=null)}},Nb:function(d,f){for(var F=0;F<d;F++){var L=H[f+4*F>>2],W=dC[L];W&&(vA.deleteSampler(W),W.name=0,dC[L]=null)}},ta:function(d){if(d){var f=Vi[d];f?(vA.deleteShader(f),Vi[d]=null):DI(1281)}},Vb:function(d){if(d){var f=LC[d];f?(vA.deleteSync(f),f.name=0,LC[d]=null):DI(1281)}},ua:function(d,f){for(var F=0;F<d;F++){var L=H[f+4*F>>2],W=Qt[L];W&&(vA.deleteTexture(W),W.name=0,Qt[L]=null)}},vc:dr,yc:dr,va:function(d){vA.depthMask(!!d)},wa:function(d){vA.disable(d)},xa:function(d){vA.disableVertexAttribArray(d)},ya:function(d,f,F){vA.drawArrays(d,f,F)},sc:function(d,f,F,L){vA.drawArraysInstanced(d,f,F,L)},qc:function(d,f,F,L,W){vA.ze.drawArraysInstancedBaseInstanceWEBGL(d,f,F,L,W)},oc:function(d,f){for(var F=Ho[d],L=0;L<d;L++)F[L]=H[f+4*L>>2];vA.drawBuffers(F)},za:ur,tc:function(d,f,F,L,W){vA.drawElementsInstanced(d,f,F,L,W)},rc:function(d,f,F,L,W,iA,hA){vA.ze.drawElementsInstancedBaseVertexBaseInstanceWEBGL(d,f,F,L,W,iA,hA)},ic:function(d,f,F,L,W,iA){ur(d,L,W,iA)},Aa:function(d){vA.enable(d)},Ba:function(d){vA.enableVertexAttribArray(d)},Sb:function(d,f){return(d=vA.fenceSync(d,f))?(f=jt(LC),d.name=f,LC[f]=d,f):0},Ca:function(){vA.finish()},Da:function(){vA.flush()},ec:function(d,f,F,L){vA.framebufferRenderbuffer(d,f,F,bC[L])},fc:function(d,f,F,L,W){vA.framebufferTexture2D(d,f,F,Qt[L],W)},Ea:function(d){vA.frontFace(d)},Fa:function(d,f){uC(d,f,"createBuffer",_t)},gc:function(d,f){uC(d,f,"createFramebuffer",Lo)},hc:function(d,f){uC(d,f,"createRenderbuffer",bC)},Ob:function(d,f){uC(d,f,"createSampler",dC)},Ga:function(d,f){uC(d,f,"createTexture",Qt)},wc:fa,zc:fa,Yb:function(d){vA.generateMipmap(d)},Ha:function(d,f,F){F?H[F>>2]=vA.getBufferParameter(d,f):DI(1281)},Ia:function(){var d=vA.getError()||xC;return xC=0,d},Ja:function(d,f){no(d,f,2)},Zb:function(d,f,F,L){d=vA.getFramebufferAttachmentParameter(d,f,F),(d instanceof WebGLRenderbuffer||d instanceof WebGLTexture)&&(d=d.name|0),H[L>>2]=d},I:function(d,f){no(d,f,0)},Ka:function(d,f,F,L){d=vA.getProgramInfoLog(gi[d]),d===null&&(d="(unknown error)"),f=0<f&&L?Ne(d,q,L,f):0,F&&(H[F>>2]=f)},La:function(d,f,F){if(F)if(d>=qC)DI(1281);else if(d=gi[d],f==35716)d=vA.getProgramInfoLog(d),d===null&&(d="(unknown error)"),H[F>>2]=d.length+1;else if(f==35719){if(!d.oe)for(f=0;f<vA.getProgramParameter(d,35718);++f)d.oe=Math.max(d.oe,vA.getActiveUniform(d,f).name.length+1);H[F>>2]=d.oe}else if(f==35722){if(!d.me)for(f=0;f<vA.getProgramParameter(d,35721);++f)d.me=Math.max(d.me,vA.getActiveAttrib(d,f).name.length+1);H[F>>2]=d.me}else if(f==35381){if(!d.ne)for(f=0;f<vA.getProgramParameter(d,35382);++f)d.ne=Math.max(d.ne,vA.getActiveUniformBlockName(d,f).length+1);H[F>>2]=d.ne}else H[F>>2]=vA.getProgramParameter(d,f);else DI(1281)},_b:function(d,f,F){F?H[F>>2]=vA.getRenderbufferParameter(d,f):DI(1281)},Ma:function(d,f,F,L){d=vA.getShaderInfoLog(Vi[d]),d===null&&(d="(unknown error)"),f=0<f&&L?Ne(d,q,L,f):0,F&&(H[F>>2]=f)},Jb:function(d,f,F,L){d=vA.getShaderPrecisionFormat(d,f),H[F>>2]=d.rangeMin,H[F+4>>2]=d.rangeMax,H[L>>2]=d.precision},Na:function(d,f,F){F?f==35716?(d=vA.getShaderInfoLog(Vi[d]),d===null&&(d="(unknown error)"),H[F>>2]=d?d.length+1:0):f==35720?(d=vA.getShaderSource(Vi[d]),H[F>>2]=d?d.length+1:0):H[F>>2]=vA.getShaderParameter(Vi[d],f):DI(1281)},M:function(d){var f=Er[d];if(!f){switch(d){case 7939:f=vA.getSupportedExtensions()||[],f=f.concat(f.map(function(L){return"GL_"+L})),f=DC(f.join(" "));break;case 7936:case 7937:case 37445:case 37446:(f=vA.getParameter(d))||DI(1280),f=f&&DC(f);break;case 7938:f=vA.getParameter(7938),f=2<=he.version?"OpenGL ES 3.0 ("+f+")":"OpenGL ES 2.0 ("+f+")",f=DC(f);break;case 35724:f=vA.getParameter(35724);var F=f.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);F!==null&&(F[1].length==3&&(F[1]+="0"),f="OpenGL ES GLSL ES "+F[1]+" ("+f+")"),f=DC(f);break;default:DI(1280)}Er[d]=f}return f},ib:function(d,f){if(2>he.version)return DI(1282),0;var F=wa[d];if(F)return 0>f||f>=F.length?(DI(1281),0):F[f];switch(d){case 7939:return F=vA.getSupportedExtensions()||[],F=F.concat(F.map(function(L){return"GL_"+L})),F=F.map(function(L){return DC(L)}),F=wa[d]=F,0>f||f>=F.length?(DI(1281),0):F[f];default:return DI(1280),0}},Oa:function(d,f){if(f=f?Kg(q,f):"",d=gi[d]){var F=d,L=F.fe,W=F.He,iA;if(!L)for(F.fe=L={},F.Ge={},iA=0;iA<vA.getProgramParameter(F,35718);++iA){var hA=vA.getActiveUniform(F,iA),c=hA.name;hA=hA.size;var S=AA(c);S=0<S?c.slice(0,S):c;var v=F.xe;for(F.xe+=hA,W[S]=[hA,v],c=0;c<hA;++c)L[v]=c,F.Ge[v++]=S}if(F=d.fe,L=0,W=f,iA=AA(f),0<iA&&(L=parseInt(f.slice(iA+1))>>>0,W=f.slice(0,iA)),(W=d.He[W])&&L<W[0]&&(L+=W[1],F[L]=F[L]||vA.getUniformLocation(d,f)))return L}else DI(1281);return-1},Kb:function(d,f,F){for(var L=Ho[f],W=0;W<f;W++)L[W]=H[F+4*W>>2];vA.invalidateFramebuffer(d,L)},Lb:function(d,f,F,L,W,iA,hA){for(var c=Ho[f],S=0;S<f;S++)c[S]=H[F+4*S>>2];vA.invalidateSubFramebuffer(d,c,L,W,iA,hA)},Tb:function(d){return vA.isSync(LC[d])},Pa:function(d){return(d=Qt[d])?vA.isTexture(d):0},Qa:function(d){vA.lineWidth(d)},Ra:function(d){d=gi[d],vA.linkProgram(d),d.fe=0,d.He={}},mc:function(d,f,F,L,W,iA){vA.De.multiDrawArraysInstancedBaseInstanceWEBGL(d,H,f>>2,H,F>>2,H,L>>2,eA,W>>2,iA)},nc:function(d,f,F,L,W,iA,hA,c){vA.De.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(d,H,f>>2,F,H,L>>2,H,W>>2,H,iA>>2,eA,hA>>2,c)},Sa:function(d,f){d==3317&&(wi=f),vA.pixelStorei(d,f)},pc:function(d){vA.readBuffer(d)},Ta:function(d,f,F,L,W,iA,hA){if(2<=he.version)if(vA.se)vA.readPixels(d,f,F,L,W,iA,hA);else{var c=fi(iA);vA.readPixels(d,f,F,L,W,iA,c,hA>>31-Math.clz32(c.BYTES_PER_ELEMENT))}else(hA=Sa(iA,W,F,L,hA))?vA.readPixels(d,f,F,L,W,iA,hA):DI(1280)},$b:function(d,f,F,L){vA.renderbufferStorage(d,f,F,L)},Xb:function(d,f,F,L,W){vA.renderbufferStorageMultisample(d,f,F,L,W)},Pb:function(d,f,F){vA.samplerParameterf(dC[d],f,F)},Qb:function(d,f,F){vA.samplerParameteri(dC[d],f,F)},Rb:function(d,f,F){vA.samplerParameteri(dC[d],f,H[F>>2])},Ua:function(d,f,F,L){vA.scissor(d,f,F,L)},Va:function(d,f,F,L){for(var W="",iA=0;iA<f;++iA){var hA=L?H[L+4*iA>>2]:-1,c=H[F+4*iA>>2];hA=c?Kg(q,c,0>hA?void 0:hA):"",W+=hA}vA.shaderSource(Vi[d],W)},Wa:function(d,f,F){vA.stencilFunc(d,f,F)},Xa:function(d,f,F,L){vA.stencilFuncSeparate(d,f,F,L)},Ya:function(d){vA.stencilMask(d)},Za:function(d,f){vA.stencilMaskSeparate(d,f)},_a:function(d,f,F){vA.stencilOp(d,f,F)},$a:function(d,f,F,L){vA.stencilOpSeparate(d,f,F,L)},ab:function(d,f,F,L,W,iA,hA,c,S){if(2<=he.version)if(vA.Zd)vA.texImage2D(d,f,F,L,W,iA,hA,c,S);else if(S){var v=fi(c);vA.texImage2D(d,f,F,L,W,iA,hA,c,v,S>>31-Math.clz32(v.BYTES_PER_ELEMENT))}else vA.texImage2D(d,f,F,L,W,iA,hA,c,null);else vA.texImage2D(d,f,F,L,W,iA,hA,c,S?Sa(c,hA,L,W,S):null)},bb:function(d,f,F){vA.texParameterf(d,f,F)},cb:function(d,f,F){vA.texParameterf(d,f,rA[F>>2])},db:function(d,f,F){vA.texParameteri(d,f,F)},eb:function(d,f,F){vA.texParameteri(d,f,H[F>>2])},jc:function(d,f,F,L,W){vA.texStorage2D(d,f,F,L,W)},fb:function(d,f,F,L,W,iA,hA,c,S){if(2<=he.version)if(vA.Zd)vA.texSubImage2D(d,f,F,L,W,iA,hA,c,S);else if(S){var v=fi(c);vA.texSubImage2D(d,f,F,L,W,iA,hA,c,v,S>>31-Math.clz32(v.BYTES_PER_ELEMENT))}else vA.texSubImage2D(d,f,F,L,W,iA,hA,c,null);else v=null,S&&(v=Sa(c,hA,W,iA,S)),vA.texSubImage2D(d,f,F,L,W,iA,hA,c,v)},gb:function(d,f){vA.uniform1f(tI(d),f)},hb:function(d,f,F){if(2<=he.version)f&&vA.uniform1fv(tI(d),rA,F>>2,f);else{if(288>=f)for(var L=pC[f-1],W=0;W<f;++W)L[W]=rA[F+4*W>>2];else L=rA.subarray(F>>2,F+4*f>>2);vA.uniform1fv(tI(d),L)}},Uc:function(d,f){vA.uniform1i(tI(d),f)},Vc:function(d,f,F){if(2<=he.version)f&&vA.uniform1iv(tI(d),H,F>>2,f);else{if(288>=f)for(var L=Eo[f-1],W=0;W<f;++W)L[W]=H[F+4*W>>2];else L=H.subarray(F>>2,F+4*f>>2);vA.uniform1iv(tI(d),L)}},Wc:function(d,f,F){vA.uniform2f(tI(d),f,F)},Xc:function(d,f,F){if(2<=he.version)f&&vA.uniform2fv(tI(d),rA,F>>2,2*f);else{if(144>=f)for(var L=pC[2*f-1],W=0;W<2*f;W+=2)L[W]=rA[F+4*W>>2],L[W+1]=rA[F+(4*W+4)>>2];else L=rA.subarray(F>>2,F+8*f>>2);vA.uniform2fv(tI(d),L)}},Tc:function(d,f,F){vA.uniform2i(tI(d),f,F)},Sc:function(d,f,F){if(2<=he.version)f&&vA.uniform2iv(tI(d),H,F>>2,2*f);else{if(144>=f)for(var L=Eo[2*f-1],W=0;W<2*f;W+=2)L[W]=H[F+4*W>>2],L[W+1]=H[F+(4*W+4)>>2];else L=H.subarray(F>>2,F+8*f>>2);vA.uniform2iv(tI(d),L)}},Rc:function(d,f,F,L){vA.uniform3f(tI(d),f,F,L)},Qc:function(d,f,F){if(2<=he.version)f&&vA.uniform3fv(tI(d),rA,F>>2,3*f);else{if(96>=f)for(var L=pC[3*f-1],W=0;W<3*f;W+=3)L[W]=rA[F+4*W>>2],L[W+1]=rA[F+(4*W+4)>>2],L[W+2]=rA[F+(4*W+8)>>2];else L=rA.subarray(F>>2,F+12*f>>2);vA.uniform3fv(tI(d),L)}},Pc:function(d,f,F,L){vA.uniform3i(tI(d),f,F,L)},Oc:function(d,f,F){if(2<=he.version)f&&vA.uniform3iv(tI(d),H,F>>2,3*f);else{if(96>=f)for(var L=Eo[3*f-1],W=0;W<3*f;W+=3)L[W]=H[F+4*W>>2],L[W+1]=H[F+(4*W+4)>>2],L[W+2]=H[F+(4*W+8)>>2];else L=H.subarray(F>>2,F+12*f>>2);vA.uniform3iv(tI(d),L)}},Nc:function(d,f,F,L,W){vA.uniform4f(tI(d),f,F,L,W)},Mc:function(d,f,F){if(2<=he.version)f&&vA.uniform4fv(tI(d),rA,F>>2,4*f);else{if(72>=f){var L=pC[4*f-1],W=rA;F>>=2;for(var iA=0;iA<4*f;iA+=4){var hA=F+iA;L[iA]=W[hA],L[iA+1]=W[hA+1],L[iA+2]=W[hA+2],L[iA+3]=W[hA+3]}}else L=rA.subarray(F>>2,F+16*f>>2);vA.uniform4fv(tI(d),L)}},Ac:function(d,f,F,L,W){vA.uniform4i(tI(d),f,F,L,W)},Bc:function(d,f,F){if(2<=he.version)f&&vA.uniform4iv(tI(d),H,F>>2,4*f);else{if(72>=f)for(var L=Eo[4*f-1],W=0;W<4*f;W+=4)L[W]=H[F+4*W>>2],L[W+1]=H[F+(4*W+4)>>2],L[W+2]=H[F+(4*W+8)>>2],L[W+3]=H[F+(4*W+12)>>2];else L=H.subarray(F>>2,F+16*f>>2);vA.uniform4iv(tI(d),L)}},Cc:function(d,f,F,L){if(2<=he.version)f&&vA.uniformMatrix2fv(tI(d),!!F,rA,L>>2,4*f);else{if(72>=f)for(var W=pC[4*f-1],iA=0;iA<4*f;iA+=4)W[iA]=rA[L+4*iA>>2],W[iA+1]=rA[L+(4*iA+4)>>2],W[iA+2]=rA[L+(4*iA+8)>>2],W[iA+3]=rA[L+(4*iA+12)>>2];else W=rA.subarray(L>>2,L+16*f>>2);vA.uniformMatrix2fv(tI(d),!!F,W)}},Dc:function(d,f,F,L){if(2<=he.version)f&&vA.uniformMatrix3fv(tI(d),!!F,rA,L>>2,9*f);else{if(32>=f)for(var W=pC[9*f-1],iA=0;iA<9*f;iA+=9)W[iA]=rA[L+4*iA>>2],W[iA+1]=rA[L+(4*iA+4)>>2],W[iA+2]=rA[L+(4*iA+8)>>2],W[iA+3]=rA[L+(4*iA+12)>>2],W[iA+4]=rA[L+(4*iA+16)>>2],W[iA+5]=rA[L+(4*iA+20)>>2],W[iA+6]=rA[L+(4*iA+24)>>2],W[iA+7]=rA[L+(4*iA+28)>>2],W[iA+8]=rA[L+(4*iA+32)>>2];else W=rA.subarray(L>>2,L+36*f>>2);vA.uniformMatrix3fv(tI(d),!!F,W)}},Ec:function(d,f,F,L){if(2<=he.version)f&&vA.uniformMatrix4fv(tI(d),!!F,rA,L>>2,16*f);else{if(18>=f){var W=pC[16*f-1],iA=rA;L>>=2;for(var hA=0;hA<16*f;hA+=16){var c=L+hA;W[hA]=iA[c],W[hA+1]=iA[c+1],W[hA+2]=iA[c+2],W[hA+3]=iA[c+3],W[hA+4]=iA[c+4],W[hA+5]=iA[c+5],W[hA+6]=iA[c+6],W[hA+7]=iA[c+7],W[hA+8]=iA[c+8],W[hA+9]=iA[c+9],W[hA+10]=iA[c+10],W[hA+11]=iA[c+11],W[hA+12]=iA[c+12],W[hA+13]=iA[c+13],W[hA+14]=iA[c+14],W[hA+15]=iA[c+15]}}else W=rA.subarray(L>>2,L+64*f>>2);vA.uniformMatrix4fv(tI(d),!!F,W)}},Fc:function(d){d=gi[d],vA.useProgram(d),vA.Re=d},Gc:function(d,f){vA.vertexAttrib1f(d,f)},Hc:function(d,f){vA.vertexAttrib2f(d,rA[f>>2],rA[f+4>>2])},Ic:function(d,f){vA.vertexAttrib3f(d,rA[f>>2],rA[f+4>>2],rA[f+8>>2])},Jc:function(d,f){vA.vertexAttrib4f(d,rA[f>>2],rA[f+4>>2],rA[f+8>>2],rA[f+12>>2])},kc:function(d,f){vA.vertexAttribDivisor(d,f)},lc:function(d,f,F,L,W){vA.vertexAttribIPointer(d,f,F,L,W)},Kc:function(d,f,F,L,W,iA){vA.vertexAttribPointer(d,f,F,!!L,W,iA)},Lc:function(d,f,F,L){vA.viewport(d,f,F,L)},qb:function(d,f,F,L){vA.waitSync(LC[d],f,(F>>>0)+4294967296*L)},W:fr,F:lo,E:Sr,X:ei,Ib:Gr,V:kt,U:zt,A:co,B:Mt,D:BI,L:Po,sb:(d,f,F,L)=>ys(d,f,F,L)};(function(){function d(F){if(G=F=F.exports,N=G.Yc,aA(),yA=G._c,pA.unshift(G.Zc),kA--,t.monitorRunDependencies&&t.monitorRunDependencies(kA),kA==0&&(UA!==null&&(clearInterval(UA),UA=null),GA)){var L=GA;GA=null,L()}return F}var f={a:fs};if(kA++,t.monitorRunDependencies&&t.monitorRunDependencies(kA),t.instantiateWasm)try{return t.instantiateWasm(f,d)}catch(F){w("Module.instantiateWasm callback failed with error: "+F),o(F)}return vg(f,function(F){d(F.instance)}).catch(o),{}})();var oC=t._free=d=>(oC=t._free=G.$c)(d),_o=t._malloc=d=>(_o=t._malloc=G.ad)(d),wr=d=>(wr=G.bd)(d);t.__embind_initialize_bindings=()=>(t.__embind_initialize_bindings=G.cd)();var nt=(d,f)=>(nt=G.dd)(d,f),Zi=()=>(Zi=G.ed)(),ci=d=>(ci=G.fd)(d);t.dynCall_viji=(d,f,F,L,W)=>(t.dynCall_viji=G.gd)(d,f,F,L,W),t.dynCall_vijiii=(d,f,F,L,W,iA,hA)=>(t.dynCall_vijiii=G.hd)(d,f,F,L,W,iA,hA),t.dynCall_viiiiij=(d,f,F,L,W,iA,hA,c)=>(t.dynCall_viiiiij=G.id)(d,f,F,L,W,iA,hA,c),t.dynCall_jii=(d,f,F)=>(t.dynCall_jii=G.jd)(d,f,F),t.dynCall_vij=(d,f,F,L)=>(t.dynCall_vij=G.kd)(d,f,F,L),t.dynCall_iiij=(d,f,F,L,W)=>(t.dynCall_iiij=G.ld)(d,f,F,L,W),t.dynCall_iiiij=(d,f,F,L,W,iA)=>(t.dynCall_iiiij=G.md)(d,f,F,L,W,iA),t.dynCall_viij=(d,f,F,L,W)=>(t.dynCall_viij=G.nd)(d,f,F,L,W),t.dynCall_viiij=(d,f,F,L,W,iA)=>(t.dynCall_viiij=G.od)(d,f,F,L,W,iA),t.dynCall_ji=(d,f)=>(t.dynCall_ji=G.pd)(d,f),t.dynCall_iij=(d,f,F,L)=>(t.dynCall_iij=G.qd)(d,f,F,L),t.dynCall_jiiiiii=(d,f,F,L,W,iA,hA)=>(t.dynCall_jiiiiii=G.rd)(d,f,F,L,W,iA,hA),t.dynCall_jiiiiji=(d,f,F,L,W,iA,hA,c)=>(t.dynCall_jiiiiji=G.sd)(d,f,F,L,W,iA,hA,c),t.dynCall_iijj=(d,f,F,L,W,iA)=>(t.dynCall_iijj=G.td)(d,f,F,L,W,iA),t.dynCall_iiiji=(d,f,F,L,W,iA)=>(t.dynCall_iiiji=G.ud)(d,f,F,L,W,iA),t.dynCall_iiji=(d,f,F,L,W)=>(t.dynCall_iiji=G.vd)(d,f,F,L,W),t.dynCall_iijjiii=(d,f,F,L,W,iA,hA,c,S)=>(t.dynCall_iijjiii=G.wd)(d,f,F,L,W,iA,hA,c,S),t.dynCall_vijjjii=(d,f,F,L,W,iA,hA,c,S,v)=>(t.dynCall_vijjjii=G.xd)(d,f,F,L,W,iA,hA,c,S,v),t.dynCall_jiji=(d,f,F,L,W)=>(t.dynCall_jiji=G.yd)(d,f,F,L,W),t.dynCall_viijii=(d,f,F,L,W,iA,hA)=>(t.dynCall_viijii=G.zd)(d,f,F,L,W,iA,hA),t.dynCall_iiiiij=(d,f,F,L,W,iA,hA)=>(t.dynCall_iiiiij=G.Ad)(d,f,F,L,W,iA,hA),t.dynCall_iiiiijj=(d,f,F,L,W,iA,hA,c,S)=>(t.dynCall_iiiiijj=G.Bd)(d,f,F,L,W,iA,hA,c,S),t.dynCall_iiiiiijj=(d,f,F,L,W,iA,hA,c,S,v)=>(t.dynCall_iiiiiijj=G.Cd)(d,f,F,L,W,iA,hA,c,S,v);function Po(d,f,F,L,W){var iA=Zi();try{yA.get(d)(f,F,L,W)}catch(hA){if(ci(iA),hA!==hA+0)throw hA;nt(1,0)}}function lo(d,f,F){var L=Zi();try{return yA.get(d)(f,F)}catch(W){if(ci(L),W!==W+0)throw W;nt(1,0)}}function ei(d,f,F,L,W){var iA=Zi();try{return yA.get(d)(f,F,L,W)}catch(hA){if(ci(iA),hA!==hA+0)throw hA;nt(1,0)}}function BI(d,f,F,L){var W=Zi();try{yA.get(d)(f,F,L)}catch(iA){if(ci(W),iA!==iA+0)throw iA;nt(1,0)}}function fr(d,f){var F=Zi();try{return yA.get(d)(f)}catch(L){if(ci(F),L!==L+0)throw L;nt(1,0)}}function Sr(d,f,F,L){var W=Zi();try{return yA.get(d)(f,F,L)}catch(iA){if(ci(W),iA!==iA+0)throw iA;nt(1,0)}}function Mt(d,f,F){var L=Zi();try{yA.get(d)(f,F)}catch(W){if(ci(L),W!==W+0)throw W;nt(1,0)}}function kt(d,f,F,L,W,iA,hA,c,S,v){var Y=Zi();try{return yA.get(d)(f,F,L,W,iA,hA,c,S,v)}catch(Z){if(ci(Y),Z!==Z+0)throw Z;nt(1,0)}}function co(d,f){var F=Zi();try{yA.get(d)(f)}catch(L){if(ci(F),L!==L+0)throw L;nt(1,0)}}function Gr(d,f,F,L,W,iA,hA){var c=Zi();try{return yA.get(d)(f,F,L,W,iA,hA)}catch(S){if(ci(c),S!==S+0)throw S;nt(1,0)}}function zt(d){var f=Zi();try{yA.get(d)()}catch(F){if(ci(f),F!==F+0)throw F;nt(1,0)}}var uo;GA=function d(){uo||me(),uo||(GA=d)};function me(){function d(){if(!uo&&(uo=!0,t.calledRun=!0,!R)){if(Gg(pA),C(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var f=t.postRun.shift();wA.unshift(f)}Gg(wA)}}if(!(0<kA)){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)RA();Gg(SA),0<kA||(t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),d()},1)):d())}}if(t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();return me(),i.ready}})();typeof A=="object"&&typeof g=="object"?g.exports=e:typeof define=="function"&&define.amd&&define([],()=>e)}),jT=PT()});var QU={};kB(QU,{CompressedGaussianSplats:()=>Rd,GSplineBuffer:()=>Ty,GaussianPLYData:()=>Ls});function xk(A){return A<1e5?A<100?A<10?0:1:A<1e4?A<1e3?2:3:4:A<1e7?A<1e6?5:6:A<1e9?A<1e8?7:8:9}function Yk(A,g){if(A===g)return 0;if(~~A===A&&~~g===g){if(A===0||g===0)return A<g?-1:1;if(A<0||g<0){if(g>=0)return-1;if(A>=0)return 1;A=-A,g=-g}let i=xk(A),t=xk(g),C=0;return i<t?(A*=Lk[t-i-1],g/=10,C=-1):i>t&&(g*=Lk[i-t-1],A/=10,C=1),A===g?C:A<g?-1:1}let e=String(A),I=String(g);return e===I?0:e<I?-1:1}function aO(A){let g=0;for(;A>=32;)g|=A&1,A>>=1;return A+g}function Hk(A,g,e,I){let i=g+1;if(i===e)return 1;if(I(A[i++],A[g])<0){for(;i<e&&I(A[i],A[i-1])<0;)i++;rO(A,g,i)}else for(;i<e&&I(A[i],A[i-1])>=0;)i++;return i-g}function rO(A,g,e){for(e--;g<e;){let I=A[g];A[g++]=A[e],A[e--]=I}}function Tk(A,g,e,I,i){for(I===g&&I++;I<e;I++){let t=A[I],C=g,o=I;for(;C<o;){let r=C+o>>>1;i(t,A[r])<0?o=r:C=r+1}let a=I-C;switch(a){case 3:A[C+3]=A[C+2];case 2:A[C+2]=A[C+1];case 1:A[C+1]=A[C];break;default:for(;a>0;)A[C+a]=A[C+a-1],a--}A[C]=t}}function Ky(A,g,e,I,i,t){let C=0,o=0,a=1;if(t(A,g[e+i])>0){for(o=I-i;a<o&&t(A,g[e+i+a])>0;)C=a,a=(a<<1)+1,a<=0&&(a=o);a>o&&(a=o),C+=i,a+=i}else{for(o=i+1;a<o&&t(A,g[e+i-a])<=0;)C=a,a=(a<<1)+1,a<=0&&(a=o);a>o&&(a=o);let r=C;C=i-a,a=i-r}for(C++;C<a;){let r=C+(a-C>>>1);t(A,g[e+r])>0?C=r+1:a=r}return a}function Jy(A,g,e,I,i,t){let C=0,o=0,a=1;if(t(A,g[e+i])<0){for(o=i+1;a<o&&t(A,g[e+i-a])<0;)C=a,a=(a<<1)+1,a<=0&&(a=o);a>o&&(a=o);let r=C;C=i-a,a=i-r}else{for(o=I-i;a<o&&t(A,g[e+i+a])>=0;)C=a,a=(a<<1)+1,a<=0&&(a=o);a>o&&(a=o),C+=i,a+=i}for(C++;C<a;){let r=C+(a-C>>>1);t(A,g[e+r])<0?a=r:C=r+1}return a}function BO(A,g,e,I){if(!Array.isArray(A))throw new TypeError("Can only sort arrays");g?typeof g!="function"&&(I=e,e=g,g=Yk):g=Yk,e||(e=0),I||(I=A.length);let i=I-e;if(i<2)return;let t=0;if(i<32){t=Hk(A,e,I,g),Tk(A,e,I,e+t,g);return}let C=new sO(A,g),o=aO(i);do{if(t=Hk(A,e,I,g),t<o){let a=i;a>o&&(a=o),Tk(A,e,e+a,e+t,g),t=a}C.pushRun(e,t),C.mergeRuns(),i-=t,e+=t}while(i!==0);C.forceMergeRuns()}function qy(A){let g=(0,yn.default)(new Int32Array(A.shape[0]),[A.shape[0]]),e=(0,yn.default)(new Int32Array(A.shape[0]),[A.shape[0]]);return At.bands(g,A,1023),At.lshifts(e,g,16),At.bxoreq(g,e),At.bandseq(g,4278190335),At.lshifts(e,g,8),At.bxoreq(g,e),At.bandseq(g,50393103),At.lshifts(e,g,4),At.bxoreq(g,e),At.bandseq(g,51130563),At.lshifts(e,g,2),At.bxoreq(g,e),At.bandseq(g,153391689),g}function QO(A){let g=qy(A.pick(null,0)),e=qy(A.pick(null,1));At.lshiftseq(e,1);let I=qy(A.pick(null,2));return At.lshiftseq(I,2),At.boreq(g,e),At.boreq(g,I),g}function Dn(A,g){if(A.shape[0]!==g.shape[0])throw new Error("wrong length");let e=(0,yn.default)(new Float32Array(A.size),A.shape,A.stride,A.offset);for(let I=0;I<g.shape[0];I++){let i=g.get(I);if(A.shape.length>1)for(let t=0;t<A.shape[1];t++)e.set(I,t,A.get(i,t));else e.set(I,A.get(i))}return e}function nO(A){let g=At.sup(A),e=At.inf(A),I=1e3/Math.min(1e3,g-e),i=(0,yn.default)(new Float32Array(A.data),A.shape);At.mulseq(i,I);let t=(0,yn.default)(new Int32Array(i.data),A.shape),C=QO(t),o=Array.from(C.data).map((r,s)=>[r,s]);BO(o,(r,s)=>r[0]-s[0]);let a=o.map(([r,s])=>s);return(0,yn.default)(Uint32Array.from(a))}function Pk(){var A=new lt(9);return lt!=Float32Array&&(A[1]=0,A[2]=0,A[3]=0,A[5]=0,A[6]=0,A[7]=0),A[0]=1,A[4]=1,A[8]=1,A}function EO(A,g){return A[0]=g[0],A[1]=g[1],A[2]=g[2],A[3]=g[4],A[4]=g[5],A[5]=g[6],A[6]=g[8],A[7]=g[9],A[8]=g[10],A}function hO(A){var g=new lt(9);return g[0]=A[0],g[1]=A[1],g[2]=A[2],g[3]=A[3],g[4]=A[4],g[5]=A[5],g[6]=A[6],g[7]=A[7],g[8]=A[8],g}function lO(A,g){return A[0]=g[0],A[1]=g[1],A[2]=g[2],A[3]=g[3],A[4]=g[4],A[5]=g[5],A[6]=g[6],A[7]=g[7],A[8]=g[8],A}function cO(A,g,e,I,i,t,C,o,a){var r=new lt(9);return r[0]=A,r[1]=g,r[2]=e,r[3]=I,r[4]=i,r[5]=t,r[6]=C,r[7]=o,r[8]=a,r}function dO(A,g,e,I,i,t,C,o,a,r){return A[0]=g,A[1]=e,A[2]=I,A[3]=i,A[4]=t,A[5]=C,A[6]=o,A[7]=a,A[8]=r,A}function uO(A){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=1,A[5]=0,A[6]=0,A[7]=0,A[8]=1,A}function DO(A,g){if(A===g){var e=g[1],I=g[2],i=g[5];A[1]=g[3],A[2]=g[6],A[3]=e,A[5]=g[7],A[6]=I,A[7]=i}else A[0]=g[0],A[1]=g[3],A[2]=g[6],A[3]=g[1],A[4]=g[4],A[5]=g[7],A[6]=g[2],A[7]=g[5],A[8]=g[8];return A}function pO(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=g[4],o=g[5],a=g[6],r=g[7],s=g[8],B=s*C-o*r,Q=-s*t+o*a,n=r*t-C*a,E=e*B+I*Q+i*n;return E?(E=1/E,A[0]=B*E,A[1]=(-s*I+i*r)*E,A[2]=(o*I-i*C)*E,A[3]=Q*E,A[4]=(s*e-i*a)*E,A[5]=(-o*e+i*t)*E,A[6]=n*E,A[7]=(-r*e+I*a)*E,A[8]=(C*e-I*t)*E,A):null}function yO(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=g[4],o=g[5],a=g[6],r=g[7],s=g[8];return A[0]=C*s-o*r,A[1]=i*r-I*s,A[2]=I*o-i*C,A[3]=o*a-t*s,A[4]=e*s-i*a,A[5]=i*t-e*o,A[6]=t*r-C*a,A[7]=I*a-e*r,A[8]=e*C-I*t,A}function wO(A){var g=A[0],e=A[1],I=A[2],i=A[3],t=A[4],C=A[5],o=A[6],a=A[7],r=A[8];return g*(r*t-C*a)+e*(-r*i+C*o)+I*(a*i-t*o)}function jk(A,g,e){var I=g[0],i=g[1],t=g[2],C=g[3],o=g[4],a=g[5],r=g[6],s=g[7],B=g[8],Q=e[0],n=e[1],E=e[2],l=e[3],h=e[4],u=e[5],D=e[6],p=e[7],w=e[8];return A[0]=Q*I+n*C+E*r,A[1]=Q*i+n*o+E*s,A[2]=Q*t+n*a+E*B,A[3]=l*I+h*C+u*r,A[4]=l*i+h*o+u*s,A[5]=l*t+h*a+u*B,A[6]=D*I+p*C+w*r,A[7]=D*i+p*o+w*s,A[8]=D*t+p*a+w*B,A}function fO(A,g,e){var I=g[0],i=g[1],t=g[2],C=g[3],o=g[4],a=g[5],r=g[6],s=g[7],B=g[8],Q=e[0],n=e[1];return A[0]=I,A[1]=i,A[2]=t,A[3]=C,A[4]=o,A[5]=a,A[6]=Q*I+n*C+r,A[7]=Q*i+n*o+s,A[8]=Q*t+n*a+B,A}function SO(A,g,e){var I=g[0],i=g[1],t=g[2],C=g[3],o=g[4],a=g[5],r=g[6],s=g[7],B=g[8],Q=Math.sin(e),n=Math.cos(e);return A[0]=n*I+Q*C,A[1]=n*i+Q*o,A[2]=n*t+Q*a,A[3]=n*C-Q*I,A[4]=n*o-Q*i,A[5]=n*a-Q*t,A[6]=r,A[7]=s,A[8]=B,A}function GO(A,g,e){var I=e[0],i=e[1];return A[0]=I*g[0],A[1]=I*g[1],A[2]=I*g[2],A[3]=i*g[3],A[4]=i*g[4],A[5]=i*g[5],A[6]=g[6],A[7]=g[7],A[8]=g[8],A}function mO(A,g){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=1,A[5]=0,A[6]=g[0],A[7]=g[1],A[8]=1,A}function MO(A,g){var e=Math.sin(g),I=Math.cos(g);return A[0]=I,A[1]=e,A[2]=0,A[3]=-e,A[4]=I,A[5]=0,A[6]=0,A[7]=0,A[8]=1,A}function kO(A,g){return A[0]=g[0],A[1]=0,A[2]=0,A[3]=0,A[4]=g[1],A[5]=0,A[6]=0,A[7]=0,A[8]=1,A}function UO(A,g){return A[0]=g[0],A[1]=g[1],A[2]=0,A[3]=g[2],A[4]=g[3],A[5]=0,A[6]=g[4],A[7]=g[5],A[8]=1,A}function NO(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=e+e,o=I+I,a=i+i,r=e*C,s=I*C,B=I*o,Q=i*C,n=i*o,E=i*a,l=t*C,h=t*o,u=t*a;return A[0]=1-B-E,A[3]=s-u,A[6]=Q+h,A[1]=s+u,A[4]=1-r-E,A[7]=n-l,A[2]=Q-h,A[5]=n+l,A[8]=1-r-B,A}function FO(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=g[4],o=g[5],a=g[6],r=g[7],s=g[8],B=g[9],Q=g[10],n=g[11],E=g[12],l=g[13],h=g[14],u=g[15],D=e*o-I*C,p=e*a-i*C,w=e*r-t*C,k=I*a-i*o,U=I*r-t*o,N=i*r-t*a,G=s*l-B*E,R=s*h-Q*E,J=s*u-n*E,q=B*h-Q*l,T=B*u-n*l,P=Q*u-n*h,H=D*P-p*T+w*q+k*J-U*R+N*G;return H?(H=1/H,A[0]=(o*P-a*T+r*q)*H,A[1]=(a*J-C*P-r*R)*H,A[2]=(C*T-o*J+r*G)*H,A[3]=(i*T-I*P-t*q)*H,A[4]=(e*P-i*J+t*R)*H,A[5]=(I*J-e*T-t*G)*H,A[6]=(l*N-h*U+u*k)*H,A[7]=(h*w-E*N-u*p)*H,A[8]=(E*U-l*w+u*D)*H,A):null}function RO(A,g,e){return A[0]=2/g,A[1]=0,A[2]=0,A[3]=0,A[4]=-2/e,A[5]=0,A[6]=-1,A[7]=1,A[8]=1,A}function vO(A){return"mat3("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+", "+A[4]+", "+A[5]+", "+A[6]+", "+A[7]+", "+A[8]+")"}function KO(A){return Math.hypot(A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8])}function JO(A,g,e){return A[0]=g[0]+e[0],A[1]=g[1]+e[1],A[2]=g[2]+e[2],A[3]=g[3]+e[3],A[4]=g[4]+e[4],A[5]=g[5]+e[5],A[6]=g[6]+e[6],A[7]=g[7]+e[7],A[8]=g[8]+e[8],A}function Wk(A,g,e){return A[0]=g[0]-e[0],A[1]=g[1]-e[1],A[2]=g[2]-e[2],A[3]=g[3]-e[3],A[4]=g[4]-e[4],A[5]=g[5]-e[5],A[6]=g[6]-e[6],A[7]=g[7]-e[7],A[8]=g[8]-e[8],A}function qO(A,g,e){return A[0]=g[0]*e,A[1]=g[1]*e,A[2]=g[2]*e,A[3]=g[3]*e,A[4]=g[4]*e,A[5]=g[5]*e,A[6]=g[6]*e,A[7]=g[7]*e,A[8]=g[8]*e,A}function bO(A,g,e,I){return A[0]=g[0]+e[0]*I,A[1]=g[1]+e[1]*I,A[2]=g[2]+e[2]*I,A[3]=g[3]+e[3]*I,A[4]=g[4]+e[4]*I,A[5]=g[5]+e[5]*I,A[6]=g[6]+e[6]*I,A[7]=g[7]+e[7]*I,A[8]=g[8]+e[8]*I,A}function LO(A,g){return A[0]===g[0]&&A[1]===g[1]&&A[2]===g[2]&&A[3]===g[3]&&A[4]===g[4]&&A[5]===g[5]&&A[6]===g[6]&&A[7]===g[7]&&A[8]===g[8]}function xO(A,g){var e=A[0],I=A[1],i=A[2],t=A[3],C=A[4],o=A[5],a=A[6],r=A[7],s=A[8],B=g[0],Q=g[1],n=g[2],E=g[3],l=g[4],h=g[5],u=g[6],D=g[7],p=g[8];return Math.abs(e-B)<=EI*Math.max(1,Math.abs(e),Math.abs(B))&&Math.abs(I-Q)<=EI*Math.max(1,Math.abs(I),Math.abs(Q))&&Math.abs(i-n)<=EI*Math.max(1,Math.abs(i),Math.abs(n))&&Math.abs(t-E)<=EI*Math.max(1,Math.abs(t),Math.abs(E))&&Math.abs(C-l)<=EI*Math.max(1,Math.abs(C),Math.abs(l))&&Math.abs(o-h)<=EI*Math.max(1,Math.abs(o),Math.abs(h))&&Math.abs(a-u)<=EI*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(r-D)<=EI*Math.max(1,Math.abs(r),Math.abs(D))&&Math.abs(s-p)<=EI*Math.max(1,Math.abs(s),Math.abs(p))}function TO(){var A=new lt(16);return lt!=Float32Array&&(A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[11]=0,A[12]=0,A[13]=0,A[14]=0),A[0]=1,A[5]=1,A[10]=1,A[15]=1,A}function OO(A){var g=new lt(16);return g[0]=A[0],g[1]=A[1],g[2]=A[2],g[3]=A[3],g[4]=A[4],g[5]=A[5],g[6]=A[6],g[7]=A[7],g[8]=A[8],g[9]=A[9],g[10]=A[10],g[11]=A[11],g[12]=A[12],g[13]=A[13],g[14]=A[14],g[15]=A[15],g}function _O(A,g){return A[0]=g[0],A[1]=g[1],A[2]=g[2],A[3]=g[3],A[4]=g[4],A[5]=g[5],A[6]=g[6],A[7]=g[7],A[8]=g[8],A[9]=g[9],A[10]=g[10],A[11]=g[11],A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15],A}function PO(A,g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l){var h=new lt(16);return h[0]=A,h[1]=g,h[2]=e,h[3]=I,h[4]=i,h[5]=t,h[6]=C,h[7]=o,h[8]=a,h[9]=r,h[10]=s,h[11]=B,h[12]=Q,h[13]=n,h[14]=E,h[15]=l,h}function jO(A,g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l,h){return A[0]=g,A[1]=e,A[2]=I,A[3]=i,A[4]=t,A[5]=C,A[6]=o,A[7]=a,A[8]=r,A[9]=s,A[10]=B,A[11]=Q,A[12]=n,A[13]=E,A[14]=l,A[15]=h,A}function zk(A){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function WO(A,g){if(A===g){var e=g[1],I=g[2],i=g[3],t=g[6],C=g[7],o=g[11];A[1]=g[4],A[2]=g[8],A[3]=g[12],A[4]=e,A[6]=g[9],A[7]=g[13],A[8]=I,A[9]=t,A[11]=g[14],A[12]=i,A[13]=C,A[14]=o}else A[0]=g[0],A[1]=g[4],A[2]=g[8],A[3]=g[12],A[4]=g[1],A[5]=g[5],A[6]=g[9],A[7]=g[13],A[8]=g[2],A[9]=g[6],A[10]=g[10],A[11]=g[14],A[12]=g[3],A[13]=g[7],A[14]=g[11],A[15]=g[15];return A}function zO(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=g[4],o=g[5],a=g[6],r=g[7],s=g[8],B=g[9],Q=g[10],n=g[11],E=g[12],l=g[13],h=g[14],u=g[15],D=e*o-I*C,p=e*a-i*C,w=e*r-t*C,k=I*a-i*o,U=I*r-t*o,N=i*r-t*a,G=s*l-B*E,R=s*h-Q*E,J=s*u-n*E,q=B*h-Q*l,T=B*u-n*l,P=Q*u-n*h,H=D*P-p*T+w*q+k*J-U*R+N*G;return H?(H=1/H,A[0]=(o*P-a*T+r*q)*H,A[1]=(i*T-I*P-t*q)*H,A[2]=(l*N-h*U+u*k)*H,A[3]=(Q*U-B*N-n*k)*H,A[4]=(a*J-C*P-r*R)*H,A[5]=(e*P-i*J+t*R)*H,A[6]=(h*w-E*N-u*p)*H,A[7]=(s*N-Q*w+n*p)*H,A[8]=(C*T-o*J+r*G)*H,A[9]=(I*J-e*T-t*G)*H,A[10]=(E*U-l*w+u*D)*H,A[11]=(B*w-s*U-n*D)*H,A[12]=(o*R-C*q-a*G)*H,A[13]=(e*q-I*R+i*G)*H,A[14]=(l*p-E*k-h*D)*H,A[15]=(s*k-B*p+Q*D)*H,A):null}function VO(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=g[4],o=g[5],a=g[6],r=g[7],s=g[8],B=g[9],Q=g[10],n=g[11],E=g[12],l=g[13],h=g[14],u=g[15];return A[0]=o*(Q*u-n*h)-B*(a*u-r*h)+l*(a*n-r*Q),A[1]=-(I*(Q*u-n*h)-B*(i*u-t*h)+l*(i*n-t*Q)),A[2]=I*(a*u-r*h)-o*(i*u-t*h)+l*(i*r-t*a),A[3]=-(I*(a*n-r*Q)-o*(i*n-t*Q)+B*(i*r-t*a)),A[4]=-(C*(Q*u-n*h)-s*(a*u-r*h)+E*(a*n-r*Q)),A[5]=e*(Q*u-n*h)-s*(i*u-t*h)+E*(i*n-t*Q),A[6]=-(e*(a*u-r*h)-C*(i*u-t*h)+E*(i*r-t*a)),A[7]=e*(a*n-r*Q)-C*(i*n-t*Q)+s*(i*r-t*a),A[8]=C*(B*u-n*l)-s*(o*u-r*l)+E*(o*n-r*B),A[9]=-(e*(B*u-n*l)-s*(I*u-t*l)+E*(I*n-t*B)),A[10]=e*(o*u-r*l)-C*(I*u-t*l)+E*(I*r-t*o),A[11]=-(e*(o*n-r*B)-C*(I*n-t*B)+s*(I*r-t*o)),A[12]=-(C*(B*h-Q*l)-s*(o*h-a*l)+E*(o*Q-a*B)),A[13]=e*(B*h-Q*l)-s*(I*h-i*l)+E*(I*Q-i*B),A[14]=-(e*(o*h-a*l)-C*(I*h-i*l)+E*(I*a-i*o)),A[15]=e*(o*Q-a*B)-C*(I*Q-i*B)+s*(I*a-i*o),A}function ZO(A){var g=A[0],e=A[1],I=A[2],i=A[3],t=A[4],C=A[5],o=A[6],a=A[7],r=A[8],s=A[9],B=A[10],Q=A[11],n=A[12],E=A[13],l=A[14],h=A[15],u=g*C-e*t,D=g*o-I*t,p=g*a-i*t,w=e*o-I*C,k=e*a-i*C,U=I*a-i*o,N=r*E-s*n,G=r*l-B*n,R=r*h-Q*n,J=s*l-B*E,q=s*h-Q*E,T=B*h-Q*l;return u*T-D*q+p*J+w*R-k*G+U*N}function Vk(A,g,e){var I=g[0],i=g[1],t=g[2],C=g[3],o=g[4],a=g[5],r=g[6],s=g[7],B=g[8],Q=g[9],n=g[10],E=g[11],l=g[12],h=g[13],u=g[14],D=g[15],p=e[0],w=e[1],k=e[2],U=e[3];return A[0]=p*I+w*o+k*B+U*l,A[1]=p*i+w*a+k*Q+U*h,A[2]=p*t+w*r+k*n+U*u,A[3]=p*C+w*s+k*E+U*D,p=e[4],w=e[5],k=e[6],U=e[7],A[4]=p*I+w*o+k*B+U*l,A[5]=p*i+w*a+k*Q+U*h,A[6]=p*t+w*r+k*n+U*u,A[7]=p*C+w*s+k*E+U*D,p=e[8],w=e[9],k=e[10],U=e[11],A[8]=p*I+w*o+k*B+U*l,A[9]=p*i+w*a+k*Q+U*h,A[10]=p*t+w*r+k*n+U*u,A[11]=p*C+w*s+k*E+U*D,p=e[12],w=e[13],k=e[14],U=e[15],A[12]=p*I+w*o+k*B+U*l,A[13]=p*i+w*a+k*Q+U*h,A[14]=p*t+w*r+k*n+U*u,A[15]=p*C+w*s+k*E+U*D,A}function XO(A,g,e){var I=e[0],i=e[1],t=e[2],C,o,a,r,s,B,Q,n,E,l,h,u;return g===A?(A[12]=g[0]*I+g[4]*i+g[8]*t+g[12],A[13]=g[1]*I+g[5]*i+g[9]*t+g[13],A[14]=g[2]*I+g[6]*i+g[10]*t+g[14],A[15]=g[3]*I+g[7]*i+g[11]*t+g[15]):(C=g[0],o=g[1],a=g[2],r=g[3],s=g[4],B=g[5],Q=g[6],n=g[7],E=g[8],l=g[9],h=g[10],u=g[11],A[0]=C,A[1]=o,A[2]=a,A[3]=r,A[4]=s,A[5]=B,A[6]=Q,A[7]=n,A[8]=E,A[9]=l,A[10]=h,A[11]=u,A[12]=C*I+s*i+E*t+g[12],A[13]=o*I+B*i+l*t+g[13],A[14]=a*I+Q*i+h*t+g[14],A[15]=r*I+n*i+u*t+g[15]),A}function $O(A,g,e){var I=e[0],i=e[1],t=e[2];return A[0]=g[0]*I,A[1]=g[1]*I,A[2]=g[2]*I,A[3]=g[3]*I,A[4]=g[4]*i,A[5]=g[5]*i,A[6]=g[6]*i,A[7]=g[7]*i,A[8]=g[8]*t,A[9]=g[9]*t,A[10]=g[10]*t,A[11]=g[11]*t,A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15],A}function A3(A,g,e,I){var i=I[0],t=I[1],C=I[2],o=Math.hypot(i,t,C),a,r,s,B,Q,n,E,l,h,u,D,p,w,k,U,N,G,R,J,q,T,P,H,eA;return o<EI?null:(o=1/o,i*=o,t*=o,C*=o,a=Math.sin(e),r=Math.cos(e),s=1-r,B=g[0],Q=g[1],n=g[2],E=g[3],l=g[4],h=g[5],u=g[6],D=g[7],p=g[8],w=g[9],k=g[10],U=g[11],N=i*i*s+r,G=t*i*s+C*a,R=C*i*s-t*a,J=i*t*s-C*a,q=t*t*s+r,T=C*t*s+i*a,P=i*C*s+t*a,H=t*C*s-i*a,eA=C*C*s+r,A[0]=B*N+l*G+p*R,A[1]=Q*N+h*G+w*R,A[2]=n*N+u*G+k*R,A[3]=E*N+D*G+U*R,A[4]=B*J+l*q+p*T,A[5]=Q*J+h*q+w*T,A[6]=n*J+u*q+k*T,A[7]=E*J+D*q+U*T,A[8]=B*P+l*H+p*eA,A[9]=Q*P+h*H+w*eA,A[10]=n*P+u*H+k*eA,A[11]=E*P+D*H+U*eA,g!==A&&(A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15]),A)}function g3(A,g,e){var I=Math.sin(e),i=Math.cos(e),t=g[4],C=g[5],o=g[6],a=g[7],r=g[8],s=g[9],B=g[10],Q=g[11];return g!==A&&(A[0]=g[0],A[1]=g[1],A[2]=g[2],A[3]=g[3],A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15]),A[4]=t*i+r*I,A[5]=C*i+s*I,A[6]=o*i+B*I,A[7]=a*i+Q*I,A[8]=r*i-t*I,A[9]=s*i-C*I,A[10]=B*i-o*I,A[11]=Q*i-a*I,A}function e3(A,g,e){var I=Math.sin(e),i=Math.cos(e),t=g[0],C=g[1],o=g[2],a=g[3],r=g[8],s=g[9],B=g[10],Q=g[11];return g!==A&&(A[4]=g[4],A[5]=g[5],A[6]=g[6],A[7]=g[7],A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15]),A[0]=t*i-r*I,A[1]=C*i-s*I,A[2]=o*i-B*I,A[3]=a*i-Q*I,A[8]=t*I+r*i,A[9]=C*I+s*i,A[10]=o*I+B*i,A[11]=a*I+Q*i,A}function I3(A,g,e){var I=Math.sin(e),i=Math.cos(e),t=g[0],C=g[1],o=g[2],a=g[3],r=g[4],s=g[5],B=g[6],Q=g[7];return g!==A&&(A[8]=g[8],A[9]=g[9],A[10]=g[10],A[11]=g[11],A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15]),A[0]=t*i+r*I,A[1]=C*i+s*I,A[2]=o*i+B*I,A[3]=a*i+Q*I,A[4]=r*i-t*I,A[5]=s*i-C*I,A[6]=B*i-o*I,A[7]=Q*i-a*I,A}function i3(A,g){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=g[0],A[13]=g[1],A[14]=g[2],A[15]=1,A}function t3(A,g){return A[0]=g[0],A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=g[1],A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=g[2],A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function C3(A,g,e){var I=e[0],i=e[1],t=e[2],C=Math.hypot(I,i,t),o,a,r;return C<EI?null:(C=1/C,I*=C,i*=C,t*=C,o=Math.sin(g),a=Math.cos(g),r=1-a,A[0]=I*I*r+a,A[1]=i*I*r+t*o,A[2]=t*I*r-i*o,A[3]=0,A[4]=I*i*r-t*o,A[5]=i*i*r+a,A[6]=t*i*r+I*o,A[7]=0,A[8]=I*t*r+i*o,A[9]=i*t*r-I*o,A[10]=t*t*r+a,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A)}function o3(A,g){var e=Math.sin(g),I=Math.cos(g);return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=I,A[6]=e,A[7]=0,A[8]=0,A[9]=-e,A[10]=I,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function a3(A,g){var e=Math.sin(g),I=Math.cos(g);return A[0]=I,A[1]=0,A[2]=-e,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=e,A[9]=0,A[10]=I,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function r3(A,g){var e=Math.sin(g),I=Math.cos(g);return A[0]=I,A[1]=e,A[2]=0,A[3]=0,A[4]=-e,A[5]=I,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function Zk(A,g,e){var I=g[0],i=g[1],t=g[2],C=g[3],o=I+I,a=i+i,r=t+t,s=I*o,B=I*a,Q=I*r,n=i*a,E=i*r,l=t*r,h=C*o,u=C*a,D=C*r;return A[0]=1-(n+l),A[1]=B+D,A[2]=Q-u,A[3]=0,A[4]=B-D,A[5]=1-(s+l),A[6]=E+h,A[7]=0,A[8]=Q+u,A[9]=E-h,A[10]=1-(s+n),A[11]=0,A[12]=e[0],A[13]=e[1],A[14]=e[2],A[15]=1,A}function s3(A,g){var e=new lt(3),I=-g[0],i=-g[1],t=-g[2],C=g[3],o=g[4],a=g[5],r=g[6],s=g[7],B=I*I+i*i+t*t+C*C;return B>0?(e[0]=(o*C+s*I+a*t-r*i)*2/B,e[1]=(a*C+s*i+r*I-o*t)*2/B,e[2]=(r*C+s*t+o*i-a*I)*2/B):(e[0]=(o*C+s*I+a*t-r*i)*2,e[1]=(a*C+s*i+r*I-o*t)*2,e[2]=(r*C+s*t+o*i-a*I)*2),Zk(A,g,e),A}function B3(A,g){return A[0]=g[12],A[1]=g[13],A[2]=g[14],A}function Xk(A,g){var e=g[0],I=g[1],i=g[2],t=g[4],C=g[5],o=g[6],a=g[8],r=g[9],s=g[10];return A[0]=Math.hypot(e,I,i),A[1]=Math.hypot(t,C,o),A[2]=Math.hypot(a,r,s),A}function Q3(A,g){var e=new lt(3);Xk(e,g);var I=1/e[0],i=1/e[1],t=1/e[2],C=g[0]*I,o=g[1]*i,a=g[2]*t,r=g[4]*I,s=g[5]*i,B=g[6]*t,Q=g[8]*I,n=g[9]*i,E=g[10]*t,l=C+s+E,h=0;return l>0?(h=Math.sqrt(l+1)*2,A[3]=.25*h,A[0]=(B-n)/h,A[1]=(Q-a)/h,A[2]=(o-r)/h):C>s&&C>E?(h=Math.sqrt(1+C-s-E)*2,A[3]=(B-n)/h,A[0]=.25*h,A[1]=(o+r)/h,A[2]=(Q+a)/h):s>E?(h=Math.sqrt(1+s-C-E)*2,A[3]=(Q-a)/h,A[0]=(o+r)/h,A[1]=.25*h,A[2]=(B+n)/h):(h=Math.sqrt(1+E-C-s)*2,A[3]=(o-r)/h,A[0]=(Q+a)/h,A[1]=(B+n)/h,A[2]=.25*h),A}function n3(A,g,e,I){var i=g[0],t=g[1],C=g[2],o=g[3],a=i+i,r=t+t,s=C+C,B=i*a,Q=i*r,n=i*s,E=t*r,l=t*s,h=C*s,u=o*a,D=o*r,p=o*s,w=I[0],k=I[1],U=I[2];return A[0]=(1-(E+h))*w,A[1]=(Q+p)*w,A[2]=(n-D)*w,A[3]=0,A[4]=(Q-p)*k,A[5]=(1-(B+h))*k,A[6]=(l+u)*k,A[7]=0,A[8]=(n+D)*U,A[9]=(l-u)*U,A[10]=(1-(B+E))*U,A[11]=0,A[12]=e[0],A[13]=e[1],A[14]=e[2],A[15]=1,A}function E3(A,g,e,I,i){var t=g[0],C=g[1],o=g[2],a=g[3],r=t+t,s=C+C,B=o+o,Q=t*r,n=t*s,E=t*B,l=C*s,h=C*B,u=o*B,D=a*r,p=a*s,w=a*B,k=I[0],U=I[1],N=I[2],G=i[0],R=i[1],J=i[2],q=(1-(l+u))*k,T=(n+w)*k,P=(E-p)*k,H=(n-w)*U,eA=(1-(Q+u))*U,rA=(h+D)*U,BA=(E+p)*N,aA=(h-D)*N,yA=(1-(Q+l))*N;return A[0]=q,A[1]=T,A[2]=P,A[3]=0,A[4]=H,A[5]=eA,A[6]=rA,A[7]=0,A[8]=BA,A[9]=aA,A[10]=yA,A[11]=0,A[12]=e[0]+G-(q*G+H*R+BA*J),A[13]=e[1]+R-(T*G+eA*R+aA*J),A[14]=e[2]+J-(P*G+rA*R+yA*J),A[15]=1,A}function h3(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=e+e,o=I+I,a=i+i,r=e*C,s=I*C,B=I*o,Q=i*C,n=i*o,E=i*a,l=t*C,h=t*o,u=t*a;return A[0]=1-B-E,A[1]=s+u,A[2]=Q-h,A[3]=0,A[4]=s-u,A[5]=1-r-E,A[6]=n+l,A[7]=0,A[8]=Q+h,A[9]=n-l,A[10]=1-r-B,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function l3(A,g,e,I,i,t,C){var o=1/(e-g),a=1/(i-I),r=1/(t-C);return A[0]=t*2*o,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=t*2*a,A[6]=0,A[7]=0,A[8]=(e+g)*o,A[9]=(i+I)*a,A[10]=(C+t)*r,A[11]=-1,A[12]=0,A[13]=0,A[14]=C*t*2*r,A[15]=0,A}function $k(A,g,e,I,i){var t=1/Math.tan(g/2),C;return A[0]=t/e,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=t,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[11]=-1,A[12]=0,A[13]=0,A[15]=0,i!=null&&i!==1/0?(C=1/(I-i),A[10]=(i+I)*C,A[14]=2*i*I*C):(A[10]=-1,A[14]=-2*I),A}function d3(A,g,e,I,i){var t=1/Math.tan(g/2),C;return A[0]=t/e,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=t,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[11]=-1,A[12]=0,A[13]=0,A[15]=0,i!=null&&i!==1/0?(C=1/(I-i),A[10]=i*C,A[14]=i*I*C):(A[10]=-1,A[14]=-I),A}function u3(A,g,e,I){var i=Math.tan(g.upDegrees*Math.PI/180),t=Math.tan(g.downDegrees*Math.PI/180),C=Math.tan(g.leftDegrees*Math.PI/180),o=Math.tan(g.rightDegrees*Math.PI/180),a=2/(C+o),r=2/(i+t);return A[0]=a,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=r,A[6]=0,A[7]=0,A[8]=-((C-o)*a*.5),A[9]=(i-t)*r*.5,A[10]=I/(e-I),A[11]=-1,A[12]=0,A[13]=0,A[14]=I*e/(e-I),A[15]=0,A}function AU(A,g,e,I,i,t,C){var o=1/(g-e),a=1/(I-i),r=1/(t-C);return A[0]=-2*o,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=-2*a,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=2*r,A[11]=0,A[12]=(g+e)*o,A[13]=(i+I)*a,A[14]=(C+t)*r,A[15]=1,A}function p3(A,g,e,I,i,t,C){var o=1/(g-e),a=1/(I-i),r=1/(t-C);return A[0]=-2*o,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=-2*a,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=r,A[11]=0,A[12]=(g+e)*o,A[13]=(i+I)*a,A[14]=t*r,A[15]=1,A}function y3(A,g,e,I){var i,t,C,o,a,r,s,B,Q,n,E=g[0],l=g[1],h=g[2],u=I[0],D=I[1],p=I[2],w=e[0],k=e[1],U=e[2];return Math.abs(E-w)<EI&&Math.abs(l-k)<EI&&Math.abs(h-U)<EI?zk(A):(s=E-w,B=l-k,Q=h-U,n=1/Math.hypot(s,B,Q),s*=n,B*=n,Q*=n,i=D*Q-p*B,t=p*s-u*Q,C=u*B-D*s,n=Math.hypot(i,t,C),n?(n=1/n,i*=n,t*=n,C*=n):(i=0,t=0,C=0),o=B*C-Q*t,a=Q*i-s*C,r=s*t-B*i,n=Math.hypot(o,a,r),n?(n=1/n,o*=n,a*=n,r*=n):(o=0,a=0,r=0),A[0]=i,A[1]=o,A[2]=s,A[3]=0,A[4]=t,A[5]=a,A[6]=B,A[7]=0,A[8]=C,A[9]=r,A[10]=Q,A[11]=0,A[12]=-(i*E+t*l+C*h),A[13]=-(o*E+a*l+r*h),A[14]=-(s*E+B*l+Q*h),A[15]=1,A)}function w3(A,g,e,I){var i=g[0],t=g[1],C=g[2],o=I[0],a=I[1],r=I[2],s=i-e[0],B=t-e[1],Q=C-e[2],n=s*s+B*B+Q*Q;n>0&&(n=1/Math.sqrt(n),s*=n,B*=n,Q*=n);var E=a*Q-r*B,l=r*s-o*Q,h=o*B-a*s;return n=E*E+l*l+h*h,n>0&&(n=1/Math.sqrt(n),E*=n,l*=n,h*=n),A[0]=E,A[1]=l,A[2]=h,A[3]=0,A[4]=B*h-Q*l,A[5]=Q*E-s*h,A[6]=s*l-B*E,A[7]=0,A[8]=s,A[9]=B,A[10]=Q,A[11]=0,A[12]=i,A[13]=t,A[14]=C,A[15]=1,A}function f3(A){return"mat4("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+", "+A[4]+", "+A[5]+", "+A[6]+", "+A[7]+", "+A[8]+", "+A[9]+", "+A[10]+", "+A[11]+", "+A[12]+", "+A[13]+", "+A[14]+", "+A[15]+")"}function S3(A){return Math.hypot(A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8],A[9],A[10],A[11],A[12],A[13],A[14],A[15])}function G3(A,g,e){return A[0]=g[0]+e[0],A[1]=g[1]+e[1],A[2]=g[2]+e[2],A[3]=g[3]+e[3],A[4]=g[4]+e[4],A[5]=g[5]+e[5],A[6]=g[6]+e[6],A[7]=g[7]+e[7],A[8]=g[8]+e[8],A[9]=g[9]+e[9],A[10]=g[10]+e[10],A[11]=g[11]+e[11],A[12]=g[12]+e[12],A[13]=g[13]+e[13],A[14]=g[14]+e[14],A[15]=g[15]+e[15],A}function gU(A,g,e){return A[0]=g[0]-e[0],A[1]=g[1]-e[1],A[2]=g[2]-e[2],A[3]=g[3]-e[3],A[4]=g[4]-e[4],A[5]=g[5]-e[5],A[6]=g[6]-e[6],A[7]=g[7]-e[7],A[8]=g[8]-e[8],A[9]=g[9]-e[9],A[10]=g[10]-e[10],A[11]=g[11]-e[11],A[12]=g[12]-e[12],A[13]=g[13]-e[13],A[14]=g[14]-e[14],A[15]=g[15]-e[15],A}function m3(A,g,e){return A[0]=g[0]*e,A[1]=g[1]*e,A[2]=g[2]*e,A[3]=g[3]*e,A[4]=g[4]*e,A[5]=g[5]*e,A[6]=g[6]*e,A[7]=g[7]*e,A[8]=g[8]*e,A[9]=g[9]*e,A[10]=g[10]*e,A[11]=g[11]*e,A[12]=g[12]*e,A[13]=g[13]*e,A[14]=g[14]*e,A[15]=g[15]*e,A}function M3(A,g,e,I){return A[0]=g[0]+e[0]*I,A[1]=g[1]+e[1]*I,A[2]=g[2]+e[2]*I,A[3]=g[3]+e[3]*I,A[4]=g[4]+e[4]*I,A[5]=g[5]+e[5]*I,A[6]=g[6]+e[6]*I,A[7]=g[7]+e[7]*I,A[8]=g[8]+e[8]*I,A[9]=g[9]+e[9]*I,A[10]=g[10]+e[10]*I,A[11]=g[11]+e[11]*I,A[12]=g[12]+e[12]*I,A[13]=g[13]+e[13]*I,A[14]=g[14]+e[14]*I,A[15]=g[15]+e[15]*I,A}function k3(A,g){return A[0]===g[0]&&A[1]===g[1]&&A[2]===g[2]&&A[3]===g[3]&&A[4]===g[4]&&A[5]===g[5]&&A[6]===g[6]&&A[7]===g[7]&&A[8]===g[8]&&A[9]===g[9]&&A[10]===g[10]&&A[11]===g[11]&&A[12]===g[12]&&A[13]===g[13]&&A[14]===g[14]&&A[15]===g[15]}function U3(A,g){var e=A[0],I=A[1],i=A[2],t=A[3],C=A[4],o=A[5],a=A[6],r=A[7],s=A[8],B=A[9],Q=A[10],n=A[11],E=A[12],l=A[13],h=A[14],u=A[15],D=g[0],p=g[1],w=g[2],k=g[3],U=g[4],N=g[5],G=g[6],R=g[7],J=g[8],q=g[9],T=g[10],P=g[11],H=g[12],eA=g[13],rA=g[14],BA=g[15];return Math.abs(e-D)<=EI*Math.max(1,Math.abs(e),Math.abs(D))&&Math.abs(I-p)<=EI*Math.max(1,Math.abs(I),Math.abs(p))&&Math.abs(i-w)<=EI*Math.max(1,Math.abs(i),Math.abs(w))&&Math.abs(t-k)<=EI*Math.max(1,Math.abs(t),Math.abs(k))&&Math.abs(C-U)<=EI*Math.max(1,Math.abs(C),Math.abs(U))&&Math.abs(o-N)<=EI*Math.max(1,Math.abs(o),Math.abs(N))&&Math.abs(a-G)<=EI*Math.max(1,Math.abs(a),Math.abs(G))&&Math.abs(r-R)<=EI*Math.max(1,Math.abs(r),Math.abs(R))&&Math.abs(s-J)<=EI*Math.max(1,Math.abs(s),Math.abs(J))&&Math.abs(B-q)<=EI*Math.max(1,Math.abs(B),Math.abs(q))&&Math.abs(Q-T)<=EI*Math.max(1,Math.abs(Q),Math.abs(T))&&Math.abs(n-P)<=EI*Math.max(1,Math.abs(n),Math.abs(P))&&Math.abs(E-H)<=EI*Math.max(1,Math.abs(E),Math.abs(H))&&Math.abs(l-eA)<=EI*Math.max(1,Math.abs(l),Math.abs(eA))&&Math.abs(h-rA)<=EI*Math.max(1,Math.abs(h),Math.abs(rA))&&Math.abs(u-BA)<=EI*Math.max(1,Math.abs(u),Math.abs(BA))}function eU(){var A=new lt(3);return lt!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0),A}function R3(A){var g=A[0],e=A[1],I=A[2];return Math.hypot(g,e,I)}function Ok(A,g,e){var I=new lt(3);return I[0]=A,I[1]=g,I[2]=e,I}function v3(A,g){var e=g[0],I=g[1],i=g[2],t=e*e+I*I+i*i;return t>0&&(t=1/Math.sqrt(t)),A[0]=g[0]*t,A[1]=g[1]*t,A[2]=g[2]*t,A}function K3(A,g){return A[0]*g[0]+A[1]*g[1]+A[2]*g[2]}function Ly(A,g,e){var I=g[0],i=g[1],t=g[2],C=e[0],o=e[1],a=e[2];return A[0]=i*a-t*o,A[1]=t*C-I*a,A[2]=I*o-i*C,A}function q3(){var A=new lt(4);return lt!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0,A[3]=0),A}function b3(A){var g=new lt(4);return g[0]=A[0],g[1]=A[1],g[2]=A[2],g[3]=A[3],g}function L3(A,g,e,I){var i=new lt(4);return i[0]=A,i[1]=g,i[2]=e,i[3]=I,i}function x3(A,g){return A[0]=g[0],A[1]=g[1],A[2]=g[2],A[3]=g[3],A}function Y3(A,g,e,I,i){return A[0]=g,A[1]=e,A[2]=I,A[3]=i,A}function H3(A,g,e){return A[0]=g[0]+e[0],A[1]=g[1]+e[1],A[2]=g[2]+e[2],A[3]=g[3]+e[3],A}function T3(A,g,e){return A[0]=g[0]*e,A[1]=g[1]*e,A[2]=g[2]*e,A[3]=g[3]*e,A}function O3(A){var g=A[0],e=A[1],I=A[2],i=A[3];return Math.hypot(g,e,I,i)}function _3(A){var g=A[0],e=A[1],I=A[2],i=A[3];return g*g+e*e+I*I+i*i}function P3(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=e*e+I*I+i*i+t*t;return C>0&&(C=1/Math.sqrt(C)),A[0]=e*C,A[1]=I*C,A[2]=i*C,A[3]=t*C,A}function j3(A,g){return A[0]*g[0]+A[1]*g[1]+A[2]*g[2]+A[3]*g[3]}function W3(A,g,e,I){var i=g[0],t=g[1],C=g[2],o=g[3];return A[0]=i+I*(e[0]-i),A[1]=t+I*(e[1]-t),A[2]=C+I*(e[2]-C),A[3]=o+I*(e[3]-o),A}function z3(A,g){return A[0]===g[0]&&A[1]===g[1]&&A[2]===g[2]&&A[3]===g[3]}function V3(A,g){var e=A[0],I=A[1],i=A[2],t=A[3],C=g[0],o=g[1],a=g[2],r=g[3];return Math.abs(e-C)<=EI*Math.max(1,Math.abs(e),Math.abs(C))&&Math.abs(I-o)<=EI*Math.max(1,Math.abs(I),Math.abs(o))&&Math.abs(i-a)<=EI*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(t-r)<=EI*Math.max(1,Math.abs(t),Math.abs(r))}function Hy(){var A=new lt(4);return lt!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0),A[3]=1,A}function Z3(A){return A[0]=0,A[1]=0,A[2]=0,A[3]=1,A}function IU(A,g,e){e=e*.5;var I=Math.sin(e);return A[0]=I*g[0],A[1]=I*g[1],A[2]=I*g[2],A[3]=Math.cos(e),A}function X3(A,g){var e=Math.acos(g[3])*2,I=Math.sin(e/2);return I>EI?(A[0]=g[0]/I,A[1]=g[1]/I,A[2]=g[2]/I):(A[0]=1,A[1]=0,A[2]=0),e}function $3(A,g){var e=rU(A,g);return Math.acos(2*e*e-1)}function iU(A,g,e){var I=g[0],i=g[1],t=g[2],C=g[3],o=e[0],a=e[1],r=e[2],s=e[3];return A[0]=I*s+C*o+i*r-t*a,A[1]=i*s+C*a+t*o-I*r,A[2]=t*s+C*r+I*a-i*o,A[3]=C*s-I*o-i*a-t*r,A}function A_(A,g,e){e*=.5;var I=g[0],i=g[1],t=g[2],C=g[3],o=Math.sin(e),a=Math.cos(e);return A[0]=I*a+C*o,A[1]=i*a+t*o,A[2]=t*a-i*o,A[3]=C*a-I*o,A}function g_(A,g,e){e*=.5;var I=g[0],i=g[1],t=g[2],C=g[3],o=Math.sin(e),a=Math.cos(e);return A[0]=I*a-t*o,A[1]=i*a+C*o,A[2]=t*a+I*o,A[3]=C*a-i*o,A}function e_(A,g,e){e*=.5;var I=g[0],i=g[1],t=g[2],C=g[3],o=Math.sin(e),a=Math.cos(e);return A[0]=I*a+i*o,A[1]=i*a-I*o,A[2]=t*a+C*o,A[3]=C*a-t*o,A}function I_(A,g){var e=g[0],I=g[1],i=g[2];return A[0]=e,A[1]=I,A[2]=i,A[3]=Math.sqrt(Math.abs(1-e*e-I*I-i*i)),A}function tU(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=Math.sqrt(e*e+I*I+i*i),o=Math.exp(t),a=C>0?o*Math.sin(C)/C:0;return A[0]=e*a,A[1]=I*a,A[2]=i*a,A[3]=o*Math.cos(C),A}function CU(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=Math.sqrt(e*e+I*I+i*i),o=C>0?Math.atan2(C,t)/C:0;return A[0]=e*o,A[1]=I*o,A[2]=i*o,A[3]=.5*Math.log(e*e+I*I+i*i+t*t),A}function i_(A,g,e){return CU(A,g),aU(A,A,e),tU(A,A),A}function Nd(A,g,e,I){var i=g[0],t=g[1],C=g[2],o=g[3],a=e[0],r=e[1],s=e[2],B=e[3],Q,n,E,l,h;return n=i*a+t*r+C*s+o*B,n<0&&(n=-n,a=-a,r=-r,s=-s,B=-B),1-n>EI?(Q=Math.acos(n),E=Math.sin(Q),l=Math.sin((1-I)*Q)/E,h=Math.sin(I*Q)/E):(l=1-I,h=I),A[0]=l*i+h*a,A[1]=l*t+h*r,A[2]=l*C+h*s,A[3]=l*o+h*B,A}function t_(A){var g=by(),e=by(),I=by(),i=Math.sqrt(1-g),t=Math.sqrt(g);return A[0]=i*Math.sin(2*Math.PI*e),A[1]=i*Math.cos(2*Math.PI*e),A[2]=t*Math.sin(2*Math.PI*I),A[3]=t*Math.cos(2*Math.PI*I),A}function C_(A,g){var e=g[0],I=g[1],i=g[2],t=g[3],C=e*e+I*I+i*i+t*t,o=C?1/C:0;return A[0]=-e*o,A[1]=-I*o,A[2]=-i*o,A[3]=t*o,A}function o_(A,g){return A[0]=-g[0],A[1]=-g[1],A[2]=-g[2],A[3]=g[3],A}function oU(A,g){var e=g[0]+g[4]+g[8],I;if(e>0)I=Math.sqrt(e+1),A[3]=.5*I,I=.5/I,A[0]=(g[5]-g[7])*I,A[1]=(g[6]-g[2])*I,A[2]=(g[1]-g[3])*I;else{var i=0;g[4]>g[0]&&(i=1),g[8]>g[i*3+i]&&(i=2);var t=(i+1)%3,C=(i+2)%3;I=Math.sqrt(g[i*3+i]-g[t*3+t]-g[C*3+C]+1),A[i]=.5*I,I=.5/I,A[3]=(g[t*3+C]-g[C*3+t])*I,A[t]=(g[t*3+i]+g[i*3+t])*I,A[C]=(g[C*3+i]+g[i*3+C])*I}return A}function a_(A,g,e,I){var i=.5*Math.PI/180;g*=i,e*=i,I*=i;var t=Math.sin(g),C=Math.cos(g),o=Math.sin(e),a=Math.cos(e),r=Math.sin(I),s=Math.cos(I);return A[0]=t*a*s-C*o*r,A[1]=C*o*s+t*a*r,A[2]=C*a*r-t*o*s,A[3]=C*a*s+t*o*r,A}function r_(A){return"quat("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+")"}var WT,vd,zT,VT,ZT,XT,$T,xs,Oy,AO,Ka,vr,gO,eO,$h,IO,iO,tO,CO,Al,va,Kr,xi,AI,Fd,Di,ki,bs,eI,oO,yn,At,Lk,sO,Ls,Rd,pn,yo,EI,lt,by,ZEA,TB,YO,HO,xy,c3,D3,N3,F3,Yy,J3,XEA,$EA,s_,B_,Q_,n_,E_,h_,aU,rU,l_,sU,c_,BU,d_,_y,u_,D_,p_,y_,w_,_k,Ty,nU=ms(()=>{WT=Object.create,vd=Object.defineProperty,zT=Object.getOwnPropertyDescriptor,VT=Object.getOwnPropertyNames,ZT=Object.getPrototypeOf,XT=Object.prototype.hasOwnProperty,$T=(A,g,e)=>g in A?vd(A,g,{enumerable:!0,configurable:!0,writable:!0,value:e}):A[g]=e,xs=(A,g)=>()=>(g||A((g={exports:{}}).exports,g),g.exports),Oy=(A,g)=>{for(var e in g)vd(A,e,{get:g[e],enumerable:!0})},AO=(A,g,e,I)=>{if(g&&typeof g=="object"||typeof g=="function")for(let i of VT(g))!XT.call(A,i)&&i!==e&&vd(A,i,{get:()=>g[i],enumerable:!(I=zT(g,i))||I.enumerable});return A},Ka=(A,g,e)=>(e=A!=null?WT(ZT(A)):{},AO(g||!A||!A.__esModule?vd(e,"default",{value:A,enumerable:!0}):e,A)),vr=(A,g,e)=>($T(A,typeof g!="symbol"?g+"":g,e),e),gO=xs((A,g)=>{"use strict";function e(I){for(var i=new Array(I),t=0;t<I;++t)i[t]=t;return i}g.exports=e}),eO=xs((A,g)=>{g.exports=function(i){return i!=null&&(e(i)||I(i)||!!i._isBuffer)};function e(i){return!!i.constructor&&typeof i.constructor.isBuffer=="function"&&i.constructor.isBuffer(i)}function I(i){return typeof i.readFloatLE=="function"&&typeof i.slice=="function"&&e(i.slice(0,0))}}),$h=xs((A,g)=>{var e=gO(),I=eO(),i=typeof Float64Array<"u";function t(B,Q){return B[0]-Q[0]}function C(){var B=this.stride,Q=new Array(B.length),n;for(n=0;n<Q.length;++n)Q[n]=[Math.abs(B[n]),n];Q.sort(t);var E=new Array(Q.length);for(n=0;n<E.length;++n)E[n]=Q[n][1];return E}function o(B,Q){var n=["View",Q,"d",B].join("");Q<0&&(n="View_Nil"+B);var E=B==="generic";if(Q===-1){var l="function "+n+"(a){this.data=a;};var proto="+n+".prototype;proto.dtype='"+B+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+n+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+n+"(a){return new "+n+"(a);}",J=new Function(l);return J()}else if(Q===0){var l="function "+n+"(a,d) {this.data = a;this.offset = d};var proto="+n+".prototype;proto.dtype='"+B+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+n+"_copy() {return new "+n+"(this.data,this.offset)};proto.pick=function "+n+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+n+"_get(){return "+(E?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+n+"_set(v){return "+(E?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+n+"(a,b,c,d){return new "+n+"(a,d)}",J=new Function("TrivialArray",l);return J(r[B][0])}var l=["'use strict'"],h=e(Q),u=h.map(function(q){return"i"+q}),D="this.offset+"+h.map(function(q){return"this.stride["+q+"]*i"+q}).join("+"),p=h.map(function(q){return"b"+q}).join(","),w=h.map(function(q){return"c"+q}).join(",");l.push("function "+n+"(a,"+p+","+w+",d){this.data=a","this.shape=["+p+"]","this.stride=["+w+"]","this.offset=d|0}","var proto="+n+".prototype","proto.dtype='"+B+"'","proto.dimension="+Q),l.push("Object.defineProperty(proto,'size',{get:function "+n+"_size(){return "+h.map(function(q){return"this.shape["+q+"]"}).join("*"),"}})"),Q===1?l.push("proto.order=[0]"):(l.push("Object.defineProperty(proto,'order',{get:"),Q<4?(l.push("function "+n+"_order(){"),Q===2?l.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):Q===3&&l.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):l.push("ORDER})")),l.push("proto.set=function "+n+"_set("+u.join(",")+",v){"),E?l.push("return this.data.set("+D+",v)}"):l.push("return this.data["+D+"]=v}"),l.push("proto.get=function "+n+"_get("+u.join(",")+"){"),E?l.push("return this.data.get("+D+")}"):l.push("return this.data["+D+"]}"),l.push("proto.index=function "+n+"_index(",u.join(),"){return "+D+"}"),l.push("proto.hi=function "+n+"_hi("+u.join(",")+"){return new "+n+"(this.data,"+h.map(function(q){return["(typeof i",q,"!=='number'||i",q,"<0)?this.shape[",q,"]:i",q,"|0"].join("")}).join(",")+","+h.map(function(q){return"this.stride["+q+"]"}).join(",")+",this.offset)}");var k=h.map(function(q){return"a"+q+"=this.shape["+q+"]"}),U=h.map(function(q){return"c"+q+"=this.stride["+q+"]"});l.push("proto.lo=function "+n+"_lo("+u.join(",")+"){var b=this.offset,d=0,"+k.join(",")+","+U.join(","));for(var N=0;N<Q;++N)l.push("if(typeof i"+N+"==='number'&&i"+N+">=0){d=i"+N+"|0;b+=c"+N+"*d;a"+N+"-=d}");l.push("return new "+n+"(this.data,"+h.map(function(q){return"a"+q}).join(",")+","+h.map(function(q){return"c"+q}).join(",")+",b)}"),l.push("proto.step=function "+n+"_step("+u.join(",")+"){var "+h.map(function(q){return"a"+q+"=this.shape["+q+"]"}).join(",")+","+h.map(function(q){return"b"+q+"=this.stride["+q+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(var N=0;N<Q;++N)l.push("if(typeof i"+N+"==='number'){d=i"+N+"|0;if(d<0){c+=b"+N+"*(a"+N+"-1);a"+N+"=ceil(-a"+N+"/d)}else{a"+N+"=ceil(a"+N+"/d)}b"+N+"*=d}");l.push("return new "+n+"(this.data,"+h.map(function(q){return"a"+q}).join(",")+","+h.map(function(q){return"b"+q}).join(",")+",c)}");for(var G=new Array(Q),R=new Array(Q),N=0;N<Q;++N)G[N]="a[i"+N+"]",R[N]="b[i"+N+"]";l.push("proto.transpose=function "+n+"_transpose("+u+"){"+u.map(function(q,T){return q+"=("+q+"===undefined?"+T+":"+q+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+n+"(this.data,"+G.join(",")+","+R.join(",")+",this.offset)}"),l.push("proto.pick=function "+n+"_pick("+u+"){var a=[],b=[],c=this.offset");for(var N=0;N<Q;++N)l.push("if(typeof i"+N+"==='number'&&i"+N+">=0){c=(c+this.stride["+N+"]*i"+N+")|0}else{a.push(this.shape["+N+"]);b.push(this.stride["+N+"])}");l.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),l.push("return function construct_"+n+"(data,shape,stride,offset){return new "+n+"(data,"+h.map(function(q){return"shape["+q+"]"}).join(",")+","+h.map(function(q){return"stride["+q+"]"}).join(",")+",offset)}");var J=new Function("CTOR_LIST","ORDER",l.join(`
`));return J(r[B],C)}function a(B){if(I(B))return"buffer";if(i)switch(Object.prototype.toString.call(B)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(B)?"array":"generic"}var r={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};function s(B,Q,n,E){if(B===void 0){var w=r.array[0];return w([])}else typeof B=="number"&&(B=[B]);Q===void 0&&(Q=[B.length]);var l=Q.length;if(n===void 0){n=new Array(l);for(var h=l-1,u=1;h>=0;--h)n[h]=u,u*=Q[h]}if(E===void 0){E=0;for(var h=0;h<l;++h)n[h]<0&&(E-=(Q[h]-1)*n[h])}for(var D=a(B),p=r[D];p.length<=l+1;)p.push(o(D,p.length-1));var w=p[l+1];return w(B,Q,n,E)}g.exports=s}),IO=xs((A,g)=>{"use strict";function e(t,C){for(var o=1,a=t.length,r=t[0],s=t[0],B=1;B<a;++B)if(s=r,r=t[B],C(r,s)){if(B===o){o++;continue}t[o++]=r}return t.length=o,t}function I(t){for(var C=1,o=t.length,a=t[0],r=t[0],s=1;s<o;++s,r=a)if(r=a,a=t[s],a!==r){if(s===C){C++;continue}t[C++]=a}return t.length=C,t}function i(t,C,o){return t.length===0?t:C?(o||t.sort(C),e(t,C)):(o||t.sort(),I(t))}g.exports=i}),iO=xs((A,g)=>{"use strict";var e=IO();function I(r,s,B){var Q=r.length,n=s.arrayArgs.length,E=s.indexArgs.length>0,l=[],h=[],u=0,D=0,p,w;for(p=0;p<Q;++p)h.push(["i",p,"=0"].join(""));for(w=0;w<n;++w)for(p=0;p<Q;++p)D=u,u=r[p],p===0?h.push(["d",w,"s",p,"=t",w,"p",u].join("")):h.push(["d",w,"s",p,"=(t",w,"p",u,"-s",D,"*t",w,"p",D,")"].join(""));for(h.length>0&&l.push("var "+h.join(",")),p=Q-1;p>=0;--p)u=r[p],l.push(["for(i",p,"=0;i",p,"<s",u,";++i",p,"){"].join(""));for(l.push(B),p=0;p<Q;++p){for(D=u,u=r[p],w=0;w<n;++w)l.push(["p",w,"+=d",w,"s",p].join(""));E&&(p>0&&l.push(["index[",D,"]-=s",D].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join(`
`)}function i(r,s,B,Q){for(var n=s.length,E=B.arrayArgs.length,l=B.blockSize,h=B.indexArgs.length>0,u=[],D=0;D<E;++D)u.push(["var offset",D,"=p",D].join(""));for(var D=r;D<n;++D)u.push(["for(var j"+D+"=SS[",s[D],"]|0;j",D,">0;){"].join("")),u.push(["if(j",D,"<",l,"){"].join("")),u.push(["s",s[D],"=j",D].join("")),u.push(["j",D,"=0"].join("")),u.push(["}else{s",s[D],"=",l].join("")),u.push(["j",D,"-=",l,"}"].join("")),h&&u.push(["index[",s[D],"]=j",D].join(""));for(var D=0;D<E;++D){for(var p=["offset"+D],w=r;w<n;++w)p.push(["j",w,"*t",D,"p",s[w]].join(""));u.push(["p",D,"=(",p.join("+"),")"].join(""))}u.push(I(s,B,Q));for(var D=r;D<n;++D)u.push("}");return u.join(`
`)}function t(r){for(var s=0,B=r[0].length;s<B;){for(var Q=1;Q<r.length;++Q)if(r[Q][s]!==r[0][s])return s;++s}return s}function C(r,s,B){for(var Q=r.body,n=[],E=[],l=0;l<r.args.length;++l){var h=r.args[l];if(!(h.count<=0)){var u=new RegExp(h.name,"g"),D="",p=s.arrayArgs.indexOf(l);switch(s.argTypes[l]){case"offset":var w=s.offsetArgIndex.indexOf(l),k=s.offsetArgs[w];p=k.array,D="+q"+w;case"array":D="p"+p+D;var U="l"+l,N="a"+p;if(s.arrayBlockIndices[p]===0)h.count===1?B[p]==="generic"?h.lvalue?(n.push(["var ",U,"=",N,".get(",D,")"].join("")),Q=Q.replace(u,U),E.push([N,".set(",D,",",U,")"].join(""))):Q=Q.replace(u,[N,".get(",D,")"].join("")):Q=Q.replace(u,[N,"[",D,"]"].join("")):B[p]==="generic"?(n.push(["var ",U,"=",N,".get(",D,")"].join("")),Q=Q.replace(u,U),h.lvalue&&E.push([N,".set(",D,",",U,")"].join(""))):(n.push(["var ",U,"=",N,"[",D,"]"].join("")),Q=Q.replace(u,U),h.lvalue&&E.push([N,"[",D,"]=",U].join("")));else{for(var G=[h.name],R=[D],J=0;J<Math.abs(s.arrayBlockIndices[p]);J++)G.push("\\s*\\[([^\\]]+)\\]"),R.push("$"+(J+1)+"*t"+p+"b"+J);if(u=new RegExp(G.join(""),"g"),D=R.join("+"),B[p]==="generic")throw new Error("cwise: Generic arrays not supported in combination with blocks!");Q=Q.replace(u,[N,"[",D,"]"].join(""))}break;case"scalar":Q=Q.replace(u,"Y"+s.scalarArgs.indexOf(l));break;case"index":Q=Q.replace(u,"index");break;case"shape":Q=Q.replace(u,"shape");break}}}return[n.join(`
`),Q,E.join(`
`)].join(`
`).trim()}function o(r){for(var s=new Array(r.length),B=!0,Q=0;Q<r.length;++Q){var n=r[Q],E=n.match(/\d+/);E?E=E[0]:E="",n.charAt(0)===0?s[Q]="u"+n.charAt(1)+E:s[Q]=n.charAt(0)+E,Q>0&&(B=B&&s[Q]===s[Q-1])}return B?s[0]:s.join("")}function a(r,s){for(var B=s[1].length-Math.abs(r.arrayBlockIndices[0])|0,Q=new Array(r.arrayArgs.length),n=new Array(r.arrayArgs.length),E=0;E<r.arrayArgs.length;++E)n[E]=s[2*E],Q[E]=s[2*E+1];for(var l=[],h=[],u=[],D=[],p=[],E=0;E<r.arrayArgs.length;++E){r.arrayBlockIndices[E]<0?(u.push(0),D.push(B),l.push(B),h.push(B+r.arrayBlockIndices[E])):(u.push(r.arrayBlockIndices[E]),D.push(r.arrayBlockIndices[E]+B),l.push(0),h.push(r.arrayBlockIndices[E]));for(var w=[],k=0;k<Q[E].length;k++)u[E]<=Q[E][k]&&Q[E][k]<D[E]&&w.push(Q[E][k]-u[E]);p.push(w)}for(var U=["SS"],N=["'use strict'"],G=[],k=0;k<B;++k)G.push(["s",k,"=SS[",k,"]"].join(""));for(var E=0;E<r.arrayArgs.length;++E){U.push("a"+E),U.push("t"+E),U.push("p"+E);for(var k=0;k<B;++k)G.push(["t",E,"p",k,"=t",E,"[",u[E]+k,"]"].join(""));for(var k=0;k<Math.abs(r.arrayBlockIndices[E]);++k)G.push(["t",E,"b",k,"=t",E,"[",l[E]+k,"]"].join(""))}for(var E=0;E<r.scalarArgs.length;++E)U.push("Y"+E);if(r.shapeArgs.length>0&&G.push("shape=SS.slice(0)"),r.indexArgs.length>0){for(var R=new Array(B),E=0;E<B;++E)R[E]="0";G.push(["index=[",R.join(","),"]"].join(""))}for(var E=0;E<r.offsetArgs.length;++E){for(var J=r.offsetArgs[E],q=[],k=0;k<J.offset.length;++k)J.offset[k]!==0&&(J.offset[k]===1?q.push(["t",J.array,"p",k].join("")):q.push([J.offset[k],"*t",J.array,"p",k].join("")));q.length===0?G.push("q"+E+"=0"):G.push(["q",E,"=",q.join("+")].join(""))}var T=e([].concat(r.pre.thisVars).concat(r.body.thisVars).concat(r.post.thisVars));G=G.concat(T),G.length>0&&N.push("var "+G.join(","));for(var E=0;E<r.arrayArgs.length;++E)N.push("p"+E+"|=0");r.pre.body.length>3&&N.push(C(r.pre,r,n));var P=C(r.body,r,n),H=t(p);H<B?N.push(i(H,p[0],r,P)):N.push(I(p[0],r,P)),r.post.body.length>3&&N.push(C(r.post,r,n)),r.debug&&console.log("-----Generated cwise routine for ",s,`:
`+N.join(`
`)+`
----------`);var eA=[r.funcName||"unnamed","_cwise_loop_",Q[0].join("s"),"m",H,o(n)].join(""),rA=new Function(["function ",eA,"(",U.join(","),"){",N.join(`
`),"} return ",eA].join(""));return rA()}g.exports=a}),tO=xs((A,g)=>{"use strict";var e=iO();function I(i){var t=["'use strict'","var CACHED={}"],C=[],o=i.funcName+"_cwise_thunk";t.push(["return function ",o,"(",i.shimArgs.join(","),"){"].join(""));for(var a=[],r=[],s=[["array",i.arrayArgs[0],".shape.slice(",Math.max(0,i.arrayBlockIndices[0]),i.arrayBlockIndices[0]<0?","+i.arrayBlockIndices[0]+")":")"].join("")],B=[],Q=[],n=0;n<i.arrayArgs.length;++n){var E=i.arrayArgs[n];C.push(["t",E,"=array",E,".dtype,","r",E,"=array",E,".order"].join("")),a.push("t"+E),a.push("r"+E),r.push("t"+E),r.push("r"+E+".join()"),s.push("array"+E+".data"),s.push("array"+E+".stride"),s.push("array"+E+".offset|0"),n>0&&(B.push("array"+i.arrayArgs[0]+".shape.length===array"+E+".shape.length+"+(Math.abs(i.arrayBlockIndices[0])-Math.abs(i.arrayBlockIndices[n]))),Q.push("array"+i.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,i.arrayBlockIndices[0])+"]===array"+E+".shape[shapeIndex+"+Math.max(0,i.arrayBlockIndices[n])+"]"))}i.arrayArgs.length>1&&(t.push("if (!("+B.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),t.push("for(var shapeIndex=array"+i.arrayArgs[0]+".shape.length-"+Math.abs(i.arrayBlockIndices[0])+"; shapeIndex-->0;) {"),t.push("if (!("+Q.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),t.push("}"));for(var n=0;n<i.scalarArgs.length;++n)s.push("scalar"+i.scalarArgs[n]);C.push(["type=[",r.join(","),"].join()"].join("")),C.push("proc=CACHED[type]"),t.push("var "+C.join(",")),t.push(["if(!proc){","CACHED[type]=proc=compile([",a.join(","),"])}","return proc(",s.join(","),")}"].join("")),i.debug&&console.log(`-----Generated thunk:
`+t.join(`
`)+`
----------`);var l=new Function("compile",t.join(`
`));return l(e.bind(void 0,i))}g.exports=I}),CO=xs((A,g)=>{"use strict";var e=tO();function I(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}function i(t){var C=new I;C.pre=t.pre,C.body=t.body,C.post=t.post;var o=t.args.slice(0);C.argTypes=o;for(var a=0;a<o.length;++a){var r=o[a];if(r==="array"||typeof r=="object"&&r.blockIndices){if(C.argTypes[a]="array",C.arrayArgs.push(a),C.arrayBlockIndices.push(r.blockIndices?r.blockIndices:0),C.shimArgs.push("array"+a),a<C.pre.args.length&&C.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array args");if(a<C.post.args.length&&C.post.args[a].count>0)throw new Error("cwise: post() block may not reference array args")}else if(r==="scalar")C.scalarArgs.push(a),C.shimArgs.push("scalar"+a);else if(r==="index"){if(C.indexArgs.push(a),a<C.pre.args.length&&C.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array index");if(a<C.body.args.length&&C.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array index");if(a<C.post.args.length&&C.post.args[a].count>0)throw new Error("cwise: post() block may not reference array index")}else if(r==="shape"){if(C.shapeArgs.push(a),a<C.pre.args.length&&C.pre.args[a].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(a<C.body.args.length&&C.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array shape");if(a<C.post.args.length&&C.post.args[a].lvalue)throw new Error("cwise: post() block may not write to array shape")}else if(typeof r=="object"&&r.offset)C.argTypes[a]="offset",C.offsetArgs.push({array:r.array,offset:r.offset}),C.offsetArgIndex.push(a);else throw new Error("cwise: Unknown argument type "+o[a])}if(C.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(C.pre.args.length>o.length)throw new Error("cwise: Too many arguments in pre() block");if(C.body.args.length>o.length)throw new Error("cwise: Too many arguments in body() block");if(C.post.args.length>o.length)throw new Error("cwise: Too many arguments in post() block");return C.debug=!!t.printCode||!!t.debug,C.funcName=t.funcName||"cwise",C.blockSize=t.blockSize||64,e(C)}g.exports=i}),Al=xs(A=>{"use strict";var g=CO(),e={body:"",args:[],thisVars:[],localVars:[]};function I(Q){if(!Q)return e;for(var n=0;n<Q.args.length;++n){var E=Q.args[n];n===0?Q.args[n]={name:E,lvalue:!0,rvalue:!!Q.rvalue,count:Q.count||1}:Q.args[n]={name:E,lvalue:!1,rvalue:!0,count:1}}return Q.thisVars||(Q.thisVars=[]),Q.localVars||(Q.localVars=[]),Q}function i(Q){return g({args:Q.args,pre:I(Q.pre),body:I(Q.body),post:I(Q.proc),funcName:Q.funcName})}function t(Q){for(var n=[],E=0;E<Q.args.length;++E)n.push("a"+E);var l=new Function("P",["return function ",Q.funcName,"_ndarrayops(",n.join(","),") {P(",n.join(","),");return a0}"].join(""));return l(i(Q))}var C={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};(function(){for(var Q in C){var n=C[Q];A[Q]=t({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+n+"c"},funcName:Q}),A[Q+"eq"]=t({args:["array","array"],body:{args:["a","b"],body:"a"+n+"=b"},rvalue:!0,funcName:Q+"eq"}),A[Q+"s"]=t({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+n+"s"},funcName:Q+"s"}),A[Q+"seq"]=t({args:["array","scalar"],body:{args:["a","s"],body:"a"+n+"=s"},rvalue:!0,funcName:Q+"seq"})}})();var o={not:"!",bnot:"~",neg:"-",recip:"1.0/"};(function(){for(var Q in o){var n=o[Q];A[Q]=t({args:["array","array"],body:{args:["a","b"],body:"a="+n+"b"},funcName:Q}),A[Q+"eq"]=t({args:["array"],body:{args:["a"],body:"a="+n+"a"},rvalue:!0,count:2,funcName:Q+"eq"})}})();var a={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};(function(){for(var Q in a){var n=a[Q];A[Q]=t({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+n+"c"},funcName:Q}),A[Q+"s"]=t({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+n+"s"},funcName:Q+"s"}),A[Q+"eq"]=t({args:["array","array"],body:{args:["a","b"],body:"a=a"+n+"b"},rvalue:!0,count:2,funcName:Q+"eq"}),A[Q+"seq"]=t({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+n+"s"},rvalue:!0,count:2,funcName:Q+"seq"})}})();var r=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];(function(){for(var Q=0;Q<r.length;++Q){var n=r[Q];A[n]=t({args:["array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:n}),A[n+"eq"]=t({args:["array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"eq"})}})();var s=["max","min","atan2","pow"];(function(){for(var Q=0;Q<s.length;++Q){var n=s[Q];A[n]=t({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:n}),A[n+"s"]=t({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:n+"s"}),A[n+"eq"]=t({args:["array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"eq"}),A[n+"seq"]=t({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"seq"})}})();var B=["atan2","pow"];(function(){for(var Q=0;Q<B.length;++Q){var n=B[Q];A[n+"op"]=t({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:n+"op"}),A[n+"ops"]=t({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:n+"ops"}),A[n+"opeq"]=t({args:["array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"opeq"}),A[n+"opseq"]=t({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"opseq"})}})(),A.any=g({args:["array"],pre:e,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),A.all=g({args:["array"],pre:e,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),A.sum=g({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),A.prod=g({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),A.norm2squared=g({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),A.norm2=g({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),A.norminf=g({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),A.norm1=g({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),A.sup=g({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),A.inf=g({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),A.argmin=g({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),A.argmax=g({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),A.random=t({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),A.assign=t({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),A.assigns=t({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),A.equals=g({args:["array","array"],pre:e,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})}),va=Ka($h(),1),Kr=Ka(Al(),1),xi=Ka($h(),1),AI=Ka(Al(),1),Fd=class{constructor(A,g,e){this._dataNormalized=A,this._minD=g,this._maxD=e}static createFromUnnormalized(A){let g=AI.sup(A),e=AI.inf(A),I=(0,xi.default)(new Float32Array(A.size),A.shape),i=g-e;return i<1e-4?AI.assigns(I,0):(AI.subs(I,A,e),AI.divs(I,I,i)),new Fd(I,e,g)}get data(){return this._dataNormalized}get minD(){return this._minD}get maxD(){return this._maxD}denormalize(){let A=(0,xi.default)(new Float32Array(this._dataNormalized.size),this._dataNormalized.shape);return AI.muls(A,this._dataNormalized,this._maxD-this._minD),AI.adds(A,A,this._minD),A}},Di=class{constructor(A,g){this._quantized=A,this._method=g}get quantized(){return this._quantized}static maxIntBits(A){return 2**A-1}static fromNormalized(A,g){let e=A.data,I;if(g==="norm8x"){let i=Di.maxIntBits(8),t=(0,xi.default)(new Float32Array(e.size),e.shape);AI.muls(t,e,i),AI.roundeq(t),I=(0,xi.default)(new Uint8Array(t.data),e.shape)}else if(g==="norm565"){let i=(0,xi.default)(new Float32Array(e.size),e.shape);AI.assign(i,e),AI.mulseq(i.pick(null,0),Di.maxIntBits(5)),AI.mulseq(i.pick(null,1),Di.maxIntBits(6)),AI.mulseq(i.pick(null,2),Di.maxIntBits(5)),AI.roundeq(i);let t=(0,xi.default)(new Uint16Array(i.data),e.shape),C=(0,xi.default)(new Uint16Array(e.shape[0]),[e.shape[0]]),o=(0,xi.default)(new Uint16Array(e.shape[0]),[e.shape[0]]);AI.lshifts(C,t.pick(null,0),11),AI.lshifts(o,t.pick(null,1),5),AI.boreq(C,o),AI.boreq(C,t.pick(null,2)),I=C}else{let i=(0,xi.default)(new Float32Array(e.size),e.shape);AI.assign(i,e),AI.mulseq(i.pick(null,0),Di.maxIntBits(11)),AI.mulseq(i.pick(null,1),Di.maxIntBits(10)),AI.mulseq(i.pick(null,2),Di.maxIntBits(11)),AI.roundeq(i);let t=(0,xi.default)(new Uint32Array(i.data),e.shape),C=(0,xi.default)(new Uint32Array(e.shape[0]),[e.shape[0]]),o=(0,xi.default)(new Uint32Array(e.shape[0]),[e.shape[0]]);AI.lshifts(C,t.pick(null,0),21),AI.lshifts(o,t.pick(null,1),11),AI.boreq(C,o),AI.boreq(C,t.pick(null,2)),I=C}return new Di(I,g)}dequantize(A,g){let e=this._method,I,i=this._quantized;if(e==="norm8x"){let t=Di.maxIntBits(8);I=(0,xi.default)(new Float32Array(i.size),i.shape),AI.muls(I,i,1/t)}else if(e==="norm565"){let t=(0,xi.default)(new Uint8Array(i.shape[0]),[i.shape[0]]),C=(0,xi.default)(new Uint8Array(i.shape[0]),[i.shape[0]]),o=(0,xi.default)(new Uint8Array(i.shape[0]),[i.shape[0]]);AI.rrshifts(t,i,11),AI.rrshifts(C,i,5),AI.bandseq(C,Di.maxIntBits(6)),AI.bands(o,i,Di.maxIntBits(5)),I=(0,xi.default)(new Float32Array(i.shape[0]*3),[i.shape[0],3]),AI.muls(I.pick(null,0),t,1/Di.maxIntBits(5)),AI.muls(I.pick(null,1),C,1/Di.maxIntBits(6)),AI.muls(I.pick(null,2),o,1/Di.maxIntBits(5))}else{let t=(0,xi.default)(new Uint16Array(i.shape[0]),[i.shape[0]]),C=(0,xi.default)(new Uint16Array(i.shape[0]),[i.shape[0]]),o=(0,xi.default)(new Uint16Array(i.shape[0]),[i.shape[0]]);AI.rrshifts(t,i,21),AI.rrshifts(C,i,11),AI.bandseq(C,Di.maxIntBits(10)),AI.bands(o,i,Di.maxIntBits(11)),I=(0,xi.default)(new Float32Array(i.shape[0]*3),[i.shape[0],3]),AI.muls(I.pick(null,0),t,1/Di.maxIntBits(11)),AI.muls(I.pick(null,1),C,1/Di.maxIntBits(10)),AI.muls(I.pick(null,2),o,1/Di.maxIntBits(11))}return new Fd(I,A,g)}},ki=class{constructor(A,g,e,I,i,t=!1){this._quantized=A,this._minMaxMatrix=g,this._chunkSize=e,this._quantizationMethod=I,this._variableChunkSize=i,this._isDynamicChunks=t}get length(){return this._quantized.shape[0]}get nchunks(){return this._minMaxMatrix.shape[0]}get quantized(){return this._quantized}get method(){return this._quantizationMethod}get minmaxMatrix(){return this._minMaxMatrix}_createPrunedMinMax(A){let g=A.length,e=this.minmaxMatrix.shape[0]-g,I=(0,va.default)(new Float32Array(e*2),[e,2]),i=0,t=e,C=0,o=this.minmaxMatrix.shape[0];for(let a=0;a<A.length;a++)o=A[a],t=o-C+i,t>i&&Kr.assign(I.hi(t,2).lo(i,0),this.minmaxMatrix.hi(o,2).lo(C,0)),i=t,C=o+1;return i<e&&Kr.assign(I.lo(i,0),this.minmaxMatrix.lo(C,0)),I}_createPrunedQuantized(A){let g=A.length,e=this.quantized.shape[0]-g,I=this._quantizationMethod,i,t;if(I==="norm8x"){t=this._quantized.shape[1];let s=t?e*t:e;i=(0,va.default)(new Uint8Array(s),t?[e,t]:[e,1])}else I==="norm565"?i=(0,va.default)(new Uint16Array(e),[e]):i=(0,va.default)(new Uint32Array(e),[e]);let C=0,o=e,a=0,r=i.shape[0];for(let s=0;s<A.length;s++)r=A[s],o=r-a+C,o>C&&(t?Kr.assign(i.hi(o,t).lo(C,0),this._quantized.hi(r,t).lo(a,0)):Kr.assign(i.hi(o).lo(C),this._quantized.hi(r).lo(a))),C=o,a=r+1;return C<e&&(t?Kr.assign(i.lo(C,0),this._quantized.lo(a,0)):Kr.assign(i.lo(C),this._quantized.lo(a))),i}pruneFeature(A,g,e){let I=this._createPrunedQuantized(A),i=this._createPrunedMinMax(g);return new ki(I,i,this._chunkSize,this._quantizationMethod,e,!0)}static getRequiredNChunks(A,g){return Math.floor(A/g)}static fromArray(A,g,e){let I=A.shape[0],i=Math.floor(I/e),t=(0,va.default)(new Float32Array(i*2),[i,2],[2,1]),C;g==="norm8x"?C=(0,va.default)(new Uint8Array(A.size),A.shape):g==="norm565"?C=(0,va.default)(new Uint16Array(A.shape[0]),[A.shape[0]]):C=(0,va.default)(new Uint32Array(A.shape[0]),[A.shape[0]]);for(let o=0;o<i;o++){let a=o*e,r=o+1<i?(o+1)*e:I,s;A.shape.length>1?s=Fd.createFromUnnormalized(A.hi(r,A.shape[1]).lo(a,0)):s=Fd.createFromUnnormalized(A.hi(r).lo(a)),t.set(o,0,s.minD),t.set(o,1,s.maxD),C.shape.length>1?Kr.assign(C.hi(r,C.shape[1]).lo(a,0),Di.fromNormalized(s,g).quantized):Kr.assign(C.hi(r).lo(a),Di.fromNormalized(s,g).quantized)}return new ki(C,t,e,g)}denormDequant(){let A=this._minMaxMatrix.shape[0],g=this._quantized,e=g.shape[0],I=this._quantizationMethod,i=this._chunkSize,t;if(this._isDynamicChunks){if(!this._variableChunkSize)throw new Error("variable chunk must exists if chunkSize isDynamic");t=this._variableChunkSize}let C;I==="norm8x"?C=(0,va.default)(new Float32Array(g.size),g.shape):C=(0,va.default)(new Float32Array(e*3),[e,3]);let o=0,a=i;for(let r=0;r<A;r++){let[s,B]=[this._minMaxMatrix.get(r,0),this._minMaxMatrix.get(r,1)];this._isDynamicChunks&&(a=t[r]);let Q=r+1<A?o+a:e,n;g.shape.length>1?n=new Di(g.hi(Q,g.shape[1]).lo(o,0),I):n=new Di(g.hi(Q).lo(o),I),Kr.assign(C.hi(Q,C.shape[1]).lo(o,0),n.dequantize(s,B).denormalize()),o=Q}return C}static async fetchArrayBuffer(A){return await(await fetch(A,{mode:"cors"})).arrayBuffer()}},bs=Ka($h(),1),eI=Ka(Al(),1),oO="http://127.0.0.1:8000",yn=Ka($h(),1),At=Ka(Al(),1),Lk=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];sO=class{constructor(A,g){vr(this,"array",null),vr(this,"compare",null),vr(this,"minGallop",7),vr(this,"length",0),vr(this,"tmpStorageLength",256),vr(this,"stackLength",0),vr(this,"runStart",null),vr(this,"runLength",null),vr(this,"stackSize",0),this.array=A,this.compare=g,this.length=A.length,this.length<2*256&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength)}pushRun(A,g){this.runStart[this.stackSize]=A,this.runLength[this.stackSize]=g,this.stackSize+=1}mergeRuns(){for(;this.stackSize>1;){let A=this.stackSize-2;if(A>=1&&this.runLength[A-1]<=this.runLength[A]+this.runLength[A+1]||A>=2&&this.runLength[A-2]<=this.runLength[A]+this.runLength[A-1])this.runLength[A-1]<this.runLength[A+1]&&A--;else if(this.runLength[A]>this.runLength[A+1])break;this.mergeAt(A)}}forceMergeRuns(){for(;this.stackSize>1;){let A=this.stackSize-2;A>0&&this.runLength[A-1]<this.runLength[A+1]&&A--,this.mergeAt(A)}}mergeAt(A){let g=this.compare,e=this.array,I=this.runStart[A],i=this.runLength[A],t=this.runStart[A+1],C=this.runLength[A+1];this.runLength[A]=i+C,A===this.stackSize-3&&(this.runStart[A+1]=this.runStart[A+2],this.runLength[A+1]=this.runLength[A+2]),this.stackSize--;let o=Jy(e[t],e,I,i,0,g);I+=o,i-=o,i!==0&&(C=Ky(e[I+i-1],e,t,C,C-1,g),C!==0&&(i<=C?this.mergeLow(I,i,t,C):this.mergeHigh(I,i,t,C)))}mergeLow(A,g,e,I){let i=this.compare,t=this.array,C=this.tmp,o=0;for(o=0;o<g;o++)C[o]=t[A+o];let a=0,r=e,s=A;if(t[s++]=t[r++],--I===0){for(o=0;o<g;o++)t[s+o]=C[a+o];return}if(g===1){for(o=0;o<I;o++)t[s+o]=t[r+o];t[s+I]=C[a];return}let B=this.minGallop;for(;;){let Q=0,n=0,E=!1;do if(i(t[r],C[a])<0){if(t[s++]=t[r++],n++,Q=0,--I===0){E=!0;break}}else if(t[s++]=C[a++],Q++,n=0,--g===1){E=!0;break}while((Q|n)<B);if(E)break;do{if(Q=Jy(t[r],C,a,g,0,i),Q!==0){for(o=0;o<Q;o++)t[s+o]=C[a+o];if(s+=Q,a+=Q,g-=Q,g<=1){E=!0;break}}if(t[s++]=t[r++],--I===0){E=!0;break}if(n=Ky(C[a],t,r,I,0,i),n!==0){for(o=0;o<n;o++)t[s+o]=t[r+o];if(s+=n,r+=n,I-=n,I===0){E=!0;break}}if(t[s++]=C[a++],--g===1){E=!0;break}B--}while(Q>=7||n>=7);if(E)break;B<0&&(B=0),B+=2}if(this.minGallop=B,B<1&&(this.minGallop=1),g===1){for(o=0;o<I;o++)t[s+o]=t[r+o];t[s+I]=C[a]}else{if(g===0)throw new Error("mergeLow preconditions were not respected");for(o=0;o<g;o++)t[s+o]=C[a+o]}}mergeHigh(A,g,e,I){let i=this.compare,t=this.array,C=this.tmp,o=0;for(o=0;o<I;o++)C[o]=t[e+o];let a=A+g-1,r=I-1,s=e+I-1,B=0,Q=0;if(t[s--]=t[a--],--g===0){for(B=s-(I-1),o=0;o<I;o++)t[B+o]=C[o];return}if(I===1){for(s-=g,a-=g,Q=s+1,B=a+1,o=g-1;o>=0;o--)t[Q+o]=t[B+o];t[s]=C[r];return}let n=this.minGallop;for(;;){let E=0,l=0,h=!1;do if(i(C[r],t[a])<0){if(t[s--]=t[a--],E++,l=0,--g===0){h=!0;break}}else if(t[s--]=C[r--],l++,E=0,--I===1){h=!0;break}while((E|l)<n);if(h)break;do{if(E=g-Jy(C[r],t,A,g,g-1,i),E!==0){for(s-=E,a-=E,g-=E,Q=s+1,B=a+1,o=E-1;o>=0;o--)t[Q+o]=t[B+o];if(g===0){h=!0;break}}if(t[s--]=C[r--],--I===1){h=!0;break}if(l=I-Ky(t[a],C,0,I,I-1,i),l!==0){for(s-=l,r-=l,I-=l,Q=s+1,B=r+1,o=0;o<l;o++)t[Q+o]=C[B+o];if(I<=1){h=!0;break}}if(t[s--]=t[a--],--g===0){h=!0;break}n--}while(E>=7||l>=7);if(h)break;n<0&&(n=0),n+=2}if(this.minGallop=n,n<1&&(this.minGallop=1),I===1){for(s-=g,a-=g,Q=s+1,B=a+1,o=g-1;o>=0;o--)t[Q+o]=t[B+o];t[s]=C[r]}else{if(I===0)throw new Error("mergeHigh preconditions were not respected");for(B=s-(I-1),o=0;o<I;o++)t[B+o]=C[o]}}};Ls=class{constructor(A,g,e,I,i,t,C,o,a,r){this.propertyDescs=A,this.format=g,this.nsplats=e,this.xyz=I,this.colors=i,this.harmonics=t,this.opacity=C,this.scaling=o,this.rotation=a,this.maxSHDegree=r}getPlyBinary(){let A=Ls._generateHeaderString(this.propertyDescs,this.format,this.nsplats),g=new TextEncoder().encode(A),e=Object.keys(this.propertyDescs).length,I=(0,bs.default)(new Float32Array(this.nsplats*e),[this.nsplats,e]);if(eI.assign(I.pick(null,this.propertyDescs.x.index),this.xyz.pick(null,0)),eI.assign(I.pick(null,this.propertyDescs.y.index),this.xyz.pick(null,1)),eI.assign(I.pick(null,this.propertyDescs.z.index),this.xyz.pick(null,2)),eI.assign(I.pick(null,this.propertyDescs.f_dc_0.index),this.colors.pick(null,0)),eI.assign(I.pick(null,this.propertyDescs.f_dc_1.index),this.colors.pick(null,1)),eI.assign(I.pick(null,this.propertyDescs.f_dc_2.index),this.colors.pick(null,2)),eI.assign(I.pick(null,this.propertyDescs.opacity.index),this.opacity.pick(null,0)),eI.assign(I.pick(null,this.propertyDescs.scale_0.index),this.scaling.pick(null,0)),eI.assign(I.pick(null,this.propertyDescs.scale_1.index),this.scaling.pick(null,1)),eI.assign(I.pick(null,this.propertyDescs.scale_2.index),this.scaling.pick(null,2)),eI.assign(I.pick(null,this.propertyDescs.rot_0.index),this.rotation.pick(null,0)),eI.assign(I.pick(null,this.propertyDescs.rot_1.index),this.rotation.pick(null,1)),eI.assign(I.pick(null,this.propertyDescs.rot_2.index),this.rotation.pick(null,2)),eI.assign(I.pick(null,this.propertyDescs.rot_3.index),this.rotation.pick(null,3)),this.harmonics&&this.harmonics.length>0)for(let C=0;C<this.harmonics.length;C++){let o=C*3;eI.assign(I.pick(null,this.propertyDescs[`f_rest_${o}`].index),this.harmonics[C].pick(null,0)),eI.assign(I.pick(null,this.propertyDescs[`f_rest_${o+1}`].index),this.harmonics[C].pick(null,1)),eI.assign(I.pick(null,this.propertyDescs[`f_rest_${o+2}`].index),this.harmonics[C].pick(null,2))}let i=new Uint8Array(I.data.buffer),t=new Uint8Array(i.length+g.length);return t.set(g),t.set(i,g.length),t.buffer}save(A,g){let e=this.getPlyBinary(),I=new Blob([e],{type:"application/octet-stream"}),i=new File([I],A),t=new FormData;t.append("file",i),t.append("filename",A),t.append("basedir",g),fetch(`${oO}/push_file`,{method:"POST",body:t})}static async loadFile(A){return await(await fetch(A)).arrayBuffer()}mortonPositionSplatsSort(){let A=nO(this.xyz),g=Dn(this.xyz,A),e=Dn(this.colors,A),I=Dn(this.opacity,A),i=Dn(this.scaling,A),t=Dn(this.rotation,A),C=[];for(let o=0;o<this.harmonics.length;o++)C.push(Dn(this.harmonics[o],A));return new Ls(this.propertyDescs,this.format,this.nsplats,g,e,C,I,i,t,this.maxSHDegree)}static _generateHeaderString(A,g,e){let I=`ply
format ${g.format} ${g.version}
element vertex ${e}`,i=Object.keys(A).length,t=Array(i);for(let C in A){let o=A[C];t[o.index]={name:C,dtype:o.dtype}}for(let C=0;C<t.length;C++)I=`${I}
property ${t[C].dtype} ${t[C].name}`;return`${I}
end_header
`}static fromArrayBuffer(A,g=3){let{splatCount:e,vertexData:I,propertiesDesc:i,format:t}=Ls.decodeHeader(A),C=I.buffer.slice(I.byteOffset),o=Object.keys(i).length,a=(0,bs.default)(new Float32Array(C),[e,o]),r=0,s={},B={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1,char:1};for(let p in i)if(i.hasOwnProperty(p)){let w=i[p].dtype;s[p]=r,r+=B[w]}let Q=(0,bs.default)(new Float32Array(e*3),[e,3]);eI.assign(Q.pick(null,0),a.pick(null,s.x/4)),eI.assign(Q.pick(null,1),a.pick(null,s.y/4)),eI.assign(Q.pick(null,2),a.pick(null,s.z/4));let n=(0,bs.default)(new Float32Array(e*3),[e,3]);eI.assign(n.pick(null,0),a.pick(null,s.scale_0/4)),eI.assign(n.pick(null,1),a.pick(null,s.scale_1/4)),eI.assign(n.pick(null,2),a.pick(null,s.scale_2/4));let E=(0,bs.default)(new Float32Array(e*3),[e,3]);eI.assign(E.pick(null,0),a.pick(null,s.f_dc_0/4)),eI.assign(E.pick(null,1),a.pick(null,s.f_dc_1/4)),eI.assign(E.pick(null,2),a.pick(null,s.f_dc_2/4));let l=(0,bs.default)(new Float32Array(e*4),[e,4]);eI.assign(l.pick(null,0),a.pick(null,s.rot_1/4)),eI.assign(l.pick(null,1),a.pick(null,s.rot_2/4)),eI.assign(l.pick(null,2),a.pick(null,s.rot_3/4)),eI.assign(l.pick(null,3),a.pick(null,s.rot_0/4));for(let p=0;p<e;p++){let w=l.pick(p,null),k=Math.sqrt(w.get(0)**2+w.get(1)**2+w.get(2)**2+w.get(3)**2);eI.divseq(w,k)}let h=(0,bs.default)(new Float32Array(e*1),[e,1]);eI.assign(h.pick(null,0),a.pick(null,s.opacity/4)),eI.negeq(h),eI.expeq(h),eI.addseq(h,1),eI.recipeq(h),eI.mulseq(h,255);let u=(Math.min(Math.max(g,0),3)+1)**2-1,D=[];for(let p=0;p<u;p++){let w=(0,bs.default)(new Float32Array(e*3),[e,3]),k=p*3;eI.assign(w.pick(null,0),a.pick(null,s[`f_rest_${k}`]/4)),eI.assign(w.pick(null,1),a.pick(null,s[`f_rest_${k+1}`]/4)),eI.assign(w.pick(null,2),a.pick(null,s[`f_rest_${k+2}`]/4)),D.push(w)}return new Ls(i,t,e,Q,E,D,h,n,l,g)}static async fromPLYFile(A,g=3){let e=await Ls.loadFile(A);return Ls.fromArrayBuffer(e,g)}static decodeHeader(A){let g=new TextDecoder,e=0,I="",i=100;for(;;){if(e+i>=A.byteLength)throw new Error("End of file reached while searching for end of header");let n=new Uint8Array(A,e,i);I+=g.decode(n),e+=i;let E=e-i*2,l=new Uint8Array(A,Math.max(0,E),E>0?i*2:i);if(g.decode(l).includes("end_header"))break}let t=I.split(`
`),C=0,o={},a={},r=0,s;for(let n=0;n<t.length;n++){let E=t[n].trim();if(E.startsWith("element vertex")){let l=E.match(/\d+/);l&&(C=parseInt(l[0]))}else if(E.startsWith("property")){let l=E.match(/(\w+)\s+(\w+)\s+(\w+)/);if(l){let h=l[2],u=l[3];o[u]=r,a[u]={dtype:h,index:r},r++}}else if(E.startsWith("format")){let l=E.match(/(\w+)\s+(\w+)\s+(\d+\.?\d*)/);l&&(s={format:l[2],version:l[3]})}else if(E==="end_header")break}let B=I.indexOf("end_header")+10+1,Q=new DataView(A,B);return{splatCount:C,vertexData:Q,headerOffset:e,propertiesDesc:a,format:s}}},Rd=class{constructor(A,g,e,I,i,t,C,o){this.config=A,this.xyz=g,this.scaling=e,this.color=I,this.opacity=i,this.harmonics=C,this.quaternion=t,this.variableChunkSize=o}get isDynamicChunks(){return this.variableChunkSize&&this.variableChunkSize.length>0}get nchunks(){return this.xyz.nchunks}get nsplats(){return this.xyz.length}get chunkSize(){return this.config.chunkSize}static compressFromGaussianData(A,g){let e=ki.fromArray(A.xyz,g.xyz,g.chunkSize),I=ki.fromArray(A.scaling,g.scaling,g.chunkSize),i=ki.fromArray(A.colors,g.color,g.chunkSize),t=ki.fromArray(A.opacity,g.opacity,g.chunkSize),C=ki.fromArray(A.rotation,g.quaternion,g.chunkSize),o=A.harmonics,a=[];if(g.harmonics)for(let r=0;r<o.length;r++){let s=ki.fromArray(o[r],g.harmonics,g.chunkSize);a.push(s)}return new Rd(g,e,I,i,t,C,a)}_countIndexesInChunks(A){let g=[],e=this.nchunks,I=this.chunkSize,i=this.nsplats,t=ki.getRequiredNChunks(i,I);if(e===t)for(let C=0;C<A.length;C++){let o=A[C],a=Math.floor(o/this.chunkSize);a in g?g[a].push(o):g[a]=[o]}else{let C=this.variableChunkSize,o={},a=0;for(let r=0;r<e;r++)o[r]=a,a+=C[r];for(let r=0;r<A.length;r++){let s=A[r],B=Math.min(Math.floor(s/I),e-1);for(;s>=o[B]+C[B];)B++;B in g?g[B].push(s):g[B]=[s]}}return g}pruneSplats(A){let g=this._countIndexesInChunks(A),e,I=[];return g.length>0&&(e=this.variableChunkSize?[...this.variableChunkSize]:Array(this.nchunks).fill(this.chunkSize),g.forEach((i,t)=>{e[t]-=i.length,e[t]<=0&&I.push(t)}),e=e.filter(i=>i>0)),new Rd(this.config,this.xyz.pruneFeature(A,I,e),this.scaling.pruneFeature(A,I,e),this.color.pruneFeature(A,I,e),this.opacity.pruneFeature(A,I,e),this.quaternion.pruneFeature(A,I,e),this.harmonics?this.harmonics.map(i=>i.pruneFeature(A,I,this.variableChunkSize)):void 0,e)}static async loadConfig(A){return await(await fetch(A,{method:"GET",mode:"cors",headers:{Accept:"application/json"}})).json()}toGaussians(){let A={format:"binary_little_endian",version:"1.0"},g={},e=0;if(g.x={dtype:"float",index:e},e++,g.y={dtype:"float",index:e},e++,g.z={dtype:"float",index:e},e++,g.f_dc_0={dtype:"float",index:e},e++,g.f_dc_1={dtype:"float",index:e},e++,g.f_dc_2={dtype:"float",index:e},e++,this.harmonics&&this.harmonics.length>0)for(let i=0;i<this.harmonics.length;i++)g[`f_rest_${i}`]={dtype:"float",index:e},e++,g[`f_rest_${i+1}`]={dtype:"float",index:e},e++,g[`f_rest_${i+2}`]={dtype:"float",index:e},e++;g.opacity={dtype:"float",index:e},e++,g.scale_0={dtype:"float",index:e},e++,g.scale_1={dtype:"float",index:e},e++,g.scale_2={dtype:"float",index:e},e++,g.rot_0={dtype:"float",index:e},e++,g.rot_1={dtype:"float",index:e},e++,g.rot_2={dtype:"float",index:e},e++,g.rot_3={dtype:"float",index:e},e++;let I=this.harmonics?.map(i=>i.denormDequant());return new Ls(g,A,this.xyz.length,this.xyz.denormDequant(),this.color.denormDequant(),I||[],this.opacity.denormDequant(),this.scaling.denormDequant(),this.quaternion.denormDequant(),3)}},pn=Ka($h(),1),yo=Ka(Al(),1),EI=1e-6,lt=typeof Float32Array<"u"?Float32Array:Array,by=Math.random,ZEA=Math.PI/180;Math.hypot||(Math.hypot=function(){for(var A=0,g=arguments.length;g--;)A+=arguments[g]*arguments[g];return Math.sqrt(A)});TB={};Oy(TB,{add:()=>JO,adjoint:()=>yO,clone:()=>hO,copy:()=>lO,create:()=>Pk,determinant:()=>wO,equals:()=>xO,exactEquals:()=>LO,frob:()=>KO,fromMat2d:()=>UO,fromMat4:()=>EO,fromQuat:()=>NO,fromRotation:()=>MO,fromScaling:()=>kO,fromTranslation:()=>mO,fromValues:()=>cO,identity:()=>uO,invert:()=>pO,mul:()=>YO,multiply:()=>jk,multiplyScalar:()=>qO,multiplyScalarAndAdd:()=>bO,normalFromMat4:()=>FO,projection:()=>RO,rotate:()=>SO,scale:()=>GO,set:()=>dO,str:()=>vO,sub:()=>HO,subtract:()=>Wk,translate:()=>fO,transpose:()=>DO});YO=jk,HO=Wk,xy={};Oy(xy,{add:()=>G3,adjoint:()=>VO,clone:()=>OO,copy:()=>_O,create:()=>TO,determinant:()=>ZO,equals:()=>U3,exactEquals:()=>k3,frob:()=>S3,fromQuat:()=>h3,fromQuat2:()=>s3,fromRotation:()=>C3,fromRotationTranslation:()=>Zk,fromRotationTranslationScale:()=>n3,fromRotationTranslationScaleOrigin:()=>E3,fromScaling:()=>t3,fromTranslation:()=>i3,fromValues:()=>PO,fromXRotation:()=>o3,fromYRotation:()=>a3,fromZRotation:()=>r3,frustum:()=>l3,getRotation:()=>Q3,getScaling:()=>Xk,getTranslation:()=>B3,identity:()=>zk,invert:()=>zO,lookAt:()=>y3,mul:()=>N3,multiply:()=>Vk,multiplyScalar:()=>m3,multiplyScalarAndAdd:()=>M3,ortho:()=>D3,orthoNO:()=>AU,orthoZO:()=>p3,perspective:()=>c3,perspectiveFromFieldOfView:()=>u3,perspectiveNO:()=>$k,perspectiveZO:()=>d3,rotate:()=>A3,rotateX:()=>g3,rotateY:()=>e3,rotateZ:()=>I3,scale:()=>$O,set:()=>jO,str:()=>f3,sub:()=>F3,subtract:()=>gU,targetTo:()=>w3,translate:()=>XO,transpose:()=>WO});c3=$k;D3=AU;N3=Vk,F3=gU,Yy={};Oy(Yy,{add:()=>E_,calculateW:()=>I_,clone:()=>s_,conjugate:()=>o_,copy:()=>Q_,create:()=>Hy,dot:()=>rU,equals:()=>D_,exactEquals:()=>u_,exp:()=>tU,fromEuler:()=>a_,fromMat3:()=>oU,fromValues:()=>B_,getAngle:()=>$3,getAxisAngle:()=>X3,identity:()=>Z3,invert:()=>C_,len:()=>c_,length:()=>sU,lerp:()=>l_,ln:()=>CU,mul:()=>h_,multiply:()=>iU,normalize:()=>_y,pow:()=>i_,random:()=>t_,rotateX:()=>A_,rotateY:()=>g_,rotateZ:()=>e_,rotationTo:()=>p_,scale:()=>aU,set:()=>n_,setAxes:()=>w_,setAxisAngle:()=>IU,slerp:()=>Nd,sqlerp:()=>y_,sqrLen:()=>d_,squaredLength:()=>BU,str:()=>r_});J3=R3,XEA=function(){var A=eU();return function(g,e,I,i,t,C){var o,a;for(e||(e=3),I||(I=0),i?a=Math.min(i*e+I,g.length):a=g.length,o=I;o<a;o+=e)A[0]=g[o],A[1]=g[o+1],A[2]=g[o+2],t(A,A,C),g[o]=A[0],g[o+1]=A[1],g[o+2]=A[2];return g}}();$EA=function(){var A=q3();return function(g,e,I,i,t,C){var o,a;for(e||(e=4),I||(I=0),i?a=Math.min(i*e+I,g.length):a=g.length,o=I;o<a;o+=e)A[0]=g[o],A[1]=g[o+1],A[2]=g[o+2],A[3]=g[o+3],t(A,A,C),g[o]=A[0],g[o+1]=A[1],g[o+2]=A[2],g[o+3]=A[3];return g}}();s_=b3,B_=L3,Q_=x3,n_=Y3,E_=H3,h_=iU,aU=T3,rU=j3,l_=W3,sU=O3,c_=sU,BU=_3,d_=BU,_y=P3,u_=z3,D_=V3,p_=function(){var A=eU(),g=Ok(1,0,0),e=Ok(0,1,0);return function(I,i,t){var C=K3(i,t);return C<-.999999?(Ly(A,g,i),J3(A)<1e-6&&Ly(A,e,i),v3(A,A),IU(I,A,Math.PI),I):C>.999999?(I[0]=0,I[1]=0,I[2]=0,I[3]=1,I):(Ly(A,i,t),I[0]=A[0],I[1]=A[1],I[2]=A[2],I[3]=1+C,_y(I,I))}}(),y_=function(){var A=Hy(),g=Hy();return function(e,I,i,t,C,o){return Nd(A,I,C,o),Nd(g,i,t,o),Nd(e,A,g,2*o*(1-o)),e}}(),w_=function(){var A=Pk();return function(g,e,I,i){return A[0]=I[0],A[3]=I[1],A[6]=I[2],A[1]=i[0],A[4]=i[1],A[7]=i[2],A[2]=-e[0],A[5]=-e[1],A[8]=-e[2],_y(g,oU(g,A))}}(),_k={xyz:3,color:3,opacity:1,scaling:3,quaternion:4,harmonics:3},Ty=class{constructor(A){this.version="",this._buffer=A}get buffer(){return this._buffer}get decoded(){return this._decoded||(this._decoded=this.decodeBuffer()),this._decoded}get colorsA(){let A=.28209479177387814,g=this.decoded.color.denormDequant(),e=this.decoded.opacity.denormDequant(),I=(0,pn.default)(new Float32Array(g.shape[0]*4),[g.shape[0],4]);return yo.mulseq(g,A),yo.addseq(g,.5),yo.mulseq(g,255),yo.maxseq(g,0),yo.minseq(g,255),this.version===""&&(yo.negeq(e),yo.expeq(e),yo.addseq(e,1),yo.recipeq(e),yo.mulseq(e,255)),yo.assign(I.hi(g.shape[0],3).lo(0,0),g),yo.assign(I.hi(g.shape[0],4).lo(0,3),e),(0,pn.default)(new Uint8Array(I.data),[g.shape[0],4]).data}get nsplats(){return this.decoded.nsplats}getSplatCount(){return this.decoded.nsplats}get precomputedCovarianceBufferData(){return this._precomputedCovarianceBufferData}decodeBuffer(){let{splatCount:A,chunkCount:g,chunkSize:e,typeChunks:I,vertexData:i,propertiesDesc:t,version:C}=this.decodeHeader();this.version=C;let o={xyz:t.xyz.compressionMethod,color:t.color.compressionMethod,opacity:t.opacity.compressionMethod,scaling:t.scaling.compressionMethod,quaternion:t.quaternion.compressionMethod,chunkSize:e};t.harmonics_0&&(o.harmonics=t.harmonics_0.compressionMethod);let a=i.byteOffset,r=Array(Object.keys(t).length);for(let u in t)r[t[u].index]={name:u,method:t[u].compressionMethod};let s=g*2*4,B=a,Q=I==="dynamic"?g*2:0,n,E=!1;if(Q>0){let u=new Uint16Array(i.buffer.slice(B,B+Q));B+=Q,n=Array.from(u),E=!0}let l={};for(let u of r){let D=0,p=!0;if(u.method==="norm8x")D=A*1*_k[u.name];else if(u.method==="norm11")D=A*4;else if(u.method==="norm565")D=A*2;else throw p=!1,new Error(`Not Implemented format: ${u.method}`);let w;if(p){let N=i.buffer.slice(B,B+s);w=(0,pn.default)(new Float32Array(N),[g,2]),B+=s}else throw new Error("loading chunk byt hasnot minmax!");let k=i.buffer.slice(B,B+D);B+=D;let U;if(u.method==="norm8x")U=(0,pn.default)(new Uint8Array(k),[A,_k[u.name]]);else if(u.method==="norm11")U=(0,pn.default)(new Uint32Array(k));else if(u.method==="norm565")U=(0,pn.default)(new Uint16Array(k));else throw new Error(`Not Implemented format: ${u.method}`);l[u.name]=new ki(U,w,e,u.method,n,E)}let h=[];for(let u=0;u<15;u++){let D=l[`harmonics_${u}`];D&&(h.push(D),delete l[`harmonics_${u}`])}return h.length>0&&(l.harmonics=h),new Rd(o,l.xyz,l.scaling,l.color,l.opacity,l.quaternion,l.harmonics,n)}buildPreComputedBuffers(){let A=this.decoded,g=A.nsplats,e=new ArrayBuffer(24*g),I=new Float32Array(e),i=A.scaling.denormDequant(),t=A.quaternion.denormDequant(),C=Yy.create(),o=TB.create(),a=TB.create(),r=TB.create(),s=xy.create();for(let B=0;B<g;B++){xy.fromScaling(s,[Math.exp(i.get(B,0)),Math.exp(i.get(B,1)),Math.exp(i.get(B,2))]),TB.fromMat4(a,s),Yy.set(C,t.get(B,0),t.get(B,1),t.get(B,2),t.get(B,3)),TB.fromQuat(o,C),TB.multiply(r,o,a);let Q=r;I[6*B]=Q[0]*Q[0]+Q[3]*Q[3]+Q[6]*Q[6],I[6*B+1]=Q[0]*Q[1]+Q[3]*Q[4]+Q[6]*Q[7],I[6*B+2]=Q[0]*Q[2]+Q[3]*Q[5]+Q[6]*Q[8],I[6*B+3]=Q[1]*Q[1]+Q[4]*Q[4]+Q[7]*Q[7],I[6*B+4]=Q[1]*Q[2]+Q[4]*Q[5]+Q[7]*Q[8],I[6*B+5]=Q[2]*Q[2]+Q[5]*Q[5]+Q[8]*Q[8]}this._precomputedCovarianceBufferData=e}decodeHeader(){let A=this._buffer,g=new TextDecoder,e=0,I="",i=100;for(;;){if(e+i>=A.byteLength)throw new Error("End of file reached while searching for end of header");let l=new Uint8Array(A,e,i);I+=g.decode(l),e+=i;let h=e-i*2,u=new Uint8Array(A,Math.max(0,h),h>=0?i*2:i);if(g.decode(u).includes("end_header"))break}let t=I.split(`
`),C=0,o=0,a=0,r=0,s="",B="",Q={};for(let l=0;l<t.length;l++){let h=t[l].trim();if(h.startsWith("version"))B=h.split(" ")[1]??"";else if(h.startsWith("element vertex")){let u=h.match(/\d+/);u&&(C=parseInt(u[0]))}else if(h.startsWith("property")){let u=h.match(/(\w+)\s+(\w+)\s+(\w+)/);if(u){let D=u[2],p=u[3];Q[D]={compressionMethod:p,index:r},r++}}else if(h.startsWith("element chunks")){let u=h.match(/\d+/);u&&(o=parseInt(u[0]))}else if(h.startsWith("element chunkSize")){let u=h.match(/\d+/);u&&(a=parseInt(u[0]))}else if(h.startsWith("element typeChunks")){let u=h.match(/(\w+)\s+(\w+)\s+(\w+)/);u&&(s=u[3])}else if(h==="end_header")break}let n=I.indexOf("end_header")+10+1,E=new DataView(A,n);return{splatCount:C,chunkCount:o,chunkSize:a,typeChunks:s,vertexData:E,propertiesDesc:Q,version:B}}pruneSplats(A){let g=this.decodeBuffer().pruneSplats(A);return Ty.fromCompressedGaussianSplats(g,this.version)}static fromCompressedGaussianSplats(A,g){let e=A.xyz.length,I=A.xyz.nchunks,i=`gspline
version ${g}
element vertex ${e}
element chunks ${I}
element chunkSize ${A.chunkSize}
element typeChunks ${A.isDynamicChunks?"dynamic":"static"}
property xyz ${A.xyz.method}
property color ${A.color.method}
property opacity ${A.opacity.method}
property scaling ${A.scaling.method}
property quaternion ${A.quaternion.method}`;if(A.harmonics&&A.harmonics.length>0)for(let G=0;G<A.harmonics.length;G++)i=`${i}
property harmonics_${G} ${A.harmonics[G].method}`;i=`${i}
end_header
`;let t=new TextEncoder().encode(i),C=I*2*4,o=A.xyz.quantized.data.buffer.byteLength,a=A.xyz instanceof ki?C:0,r=A.color.quantized.data.buffer.byteLength,s=A.color instanceof ki?C:0,B=A.opacity.quantized.data.buffer.byteLength,Q=A.opacity instanceof ki?C:0,n=A.scaling.quantized.data.buffer.byteLength,E=A.scaling instanceof ki?C:0,l=A.quaternion.quantized.data.buffer.byteLength,h=A.quaternion instanceof ki?C:0,u=A.variableChunkSize?Uint16Array.from(A.variableChunkSize):void 0,D=u?u.byteLength:0,p=t.byteLength+D+o+a+r+s+B+Q+n+E+l+h,w=0,k=0;if(A.harmonics&&A.harmonics.length>0)for(let G=0;G<A.harmonics.length;G++)w+=A.harmonics[G].quantized.data.buffer.byteLength,k+=A.harmonics[G]instanceof ki?C:0;w=0,k=0,p+=w+k;let U=new Uint8Array(p),N=0;if(U.set(t,N),N+=t.byteLength,D>0&&(U.set(new Uint8Array(u.buffer),N),N+=D),A.xyz instanceof ki&&(U.set(new Uint8Array(A.xyz.minmaxMatrix.data.buffer),N),N+=C),U.set(new Uint8Array(A.xyz.quantized.data.buffer),N),N+=o,A.color instanceof ki&&(U.set(new Uint8Array(A.color.minmaxMatrix.data.buffer),N),N+=C),U.set(new Uint8Array(A.color.quantized.data.buffer),N),N+=r,A.opacity instanceof ki&&(U.set(new Uint8Array(A.opacity.minmaxMatrix.data.buffer),N),N+=C),U.set(new Uint8Array(A.opacity.quantized.data.buffer),N),N+=B,A.scaling instanceof ki&&(U.set(new Uint8Array(A.scaling.minmaxMatrix.data.buffer),N),N+=C),U.set(new Uint8Array(A.scaling.quantized.data.buffer),N),N+=n,A.quaternion instanceof ki&&(U.set(new Uint8Array(A.quaternion.minmaxMatrix.data.buffer),N),N+=C),U.set(new Uint8Array(A.quaternion.quantized.data.buffer),N),N+=l,w>0&&A.harmonics&&A.harmonics.length>0)for(let G=0;G<A.harmonics.length;G++){let R=A.harmonics[G];R instanceof ki&&(U.set(new Uint8Array(R.minmaxMatrix.data.buffer),N),N+=C),U.set(new Uint8Array(R.quantized.data.buffer),N),N+=R.quantized.data.byteLength}return new Ty(U.buffer)}}});var f_=Object.create,yp=Object.defineProperty,S_=Object.getOwnPropertyDescriptor,G_=Object.getOwnPropertyNames,m_=Object.getPrototypeOf,M_=Object.prototype.hasOwnProperty,k_=(A,g,e)=>g in A?yp(A,g,{enumerable:!0,configurable:!0,writable:!0,value:e}):A[g]=e,ls=(A,g)=>()=>(g||A((g={exports:{}}).exports,g),g.exports),U_=(A,g)=>{for(var e in g)yp(A,e,{get:g[e],enumerable:!0})},N_=(A,g,e,I)=>{if(g&&typeof g=="object"||typeof g=="function")for(let i of G_(g))!M_.call(A,i)&&i!==e&&yp(A,i,{get:()=>g[i],enumerable:!(I=S_(g,i))||I.enumerable});return A},cs=(A,g,e)=>(e=A!=null?f_(m_(A)):{},N_(g||!A||!A.__esModule?yp(e,"default",{value:A,enumerable:!0}):e,A)),Nl=(A,g,e)=>(k_(A,typeof g!="symbol"?g+"":g,e),e),F_=ls((A,g)=>{(function(e,I){typeof A=="object"?g.exports=I():typeof define=="function"&&define.amd?define(I):e.Alea=I()})(A,function(){"use strict";return e.importState=function(i){var t=new e;return t.importState(i),t},e;function e(){return function(i){var t=0,C=0,o=0,a=1;i.length==0&&(i=[+new Date]);var r=I();t=r(" "),C=r(" "),o=r(" ");for(var s=0;s<i.length;s++)t-=r(i[s]),t<0&&(t+=1),C-=r(i[s]),C<0&&(C+=1),o-=r(i[s]),o<0&&(o+=1);r=null;var B=function(){var Q=2091639*t+a*23283064365386963e-26;return t=C,C=o,o=Q-(a=Q|0)};return B.next=B,B.uint32=function(){return B()*4294967296},B.fract53=function(){return B()+(B()*2097152|0)*11102230246251565e-32},B.version="Alea 0.9",B.args=i,B.exportState=function(){return[t,C,o,a]},B.importState=function(Q){t=+Q[0]||0,C=+Q[1]||0,o=+Q[2]||0,a=+Q[3]||0},B}(Array.prototype.slice.call(arguments))}function I(){var i=4022871197,t=function(C){C=C.toString();for(var o=0;o<C.length;o++){i+=C.charCodeAt(o);var a=.02519603282416938*i;i=a>>>0,a-=i,a*=i,i=a>>>0,a-=i,i+=a*4294967296}return(i>>>0)*23283064365386963e-26};return t.version="Mash 0.9",t}})}),nJ=ls((A,g)=>{(function(e,I){typeof A=="object"&&typeof g<"u"?I(A):typeof define=="function"&&define.amd?define(["exports"],I):I((e=typeof globalThis<"u"?globalThis:e||self).SVDJS={})})(A,function(e){"use strict";e.SVD=function(I,i,t,C,o){if(i=i===void 0||i,t=t===void 0||t,o=1e-64/(C=C||Math.pow(2,-52)),!I)throw new TypeError("Matrix a is not defined");var a,r,s,B,Q,n,E,l,h,u,D,p,w=I[0].length,k=I.length;if(k<w)throw new TypeError("Invalid matrix: m < n");for(var U=[],N=[],G=[],R=i==="f"?k:w,J=u=E=0;J<k;J++)N[J]=new Array(R).fill(0);for(J=0;J<w;J++)G[J]=new Array(w).fill(0);var q,T=new Array(w).fill(0);for(J=0;J<k;J++)for(a=0;a<w;a++)N[J][a]=I[J][a];for(J=0;J<w;J++){for(U[J]=E,h=0,s=J+1,a=J;a<k;a++)h+=Math.pow(N[a][J],2);if(h<o)E=0;else for(l=(n=N[J][J])*(E=n<0?Math.sqrt(h):-Math.sqrt(h))-h,N[J][J]=n-E,a=s;a<w;a++){for(h=0,r=J;r<k;r++)h+=N[r][J]*N[r][a];for(n=h/l,r=J;r<k;r++)N[r][a]=N[r][a]+n*N[r][J]}for(T[J]=E,h=0,a=s;a<w;a++)h+=Math.pow(N[J][a],2);if(h<o)E=0;else{for(l=(n=N[J][J+1])*(E=n<0?Math.sqrt(h):-Math.sqrt(h))-h,N[J][J+1]=n-E,a=s;a<w;a++)U[a]=N[J][a]/l;for(a=s;a<k;a++){for(h=0,r=s;r<w;r++)h+=N[a][r]*N[J][r];for(r=s;r<w;r++)N[a][r]=N[a][r]+h*U[r]}}u<(D=Math.abs(T[J])+Math.abs(U[J]))&&(u=D)}if(t)for(J=w-1;0<=J;J--){if(E!==0){for(l=N[J][J+1]*E,a=s;a<w;a++)G[a][J]=N[J][a]/l;for(a=s;a<w;a++){for(h=0,r=s;r<w;r++)h+=N[J][r]*G[r][a];for(r=s;r<w;r++)G[r][a]=G[r][a]+h*G[r][J]}}for(a=s;a<w;a++)G[J][a]=0,G[a][J]=0;G[J][J]=1,E=U[J],s=J}if(i){if(i==="f")for(J=w;J<k;J++){for(a=w;a<k;a++)N[J][a]=0;N[J][J]=1}for(J=w-1;0<=J;J--){for(s=J+1,E=T[J],a=s;a<R;a++)N[J][a]=0;if(E!==0){for(l=N[J][J]*E,a=s;a<R;a++){for(h=0,r=s;r<k;r++)h+=N[r][J]*N[r][a];for(n=h/l,r=J;r<k;r++)N[r][a]=N[r][a]+n*N[r][J]}for(a=J;a<k;a++)N[a][J]=N[a][J]/E}else for(a=J;a<k;a++)N[a][J]=0;N[J][J]=N[J][J]+1}}for(C*=u,r=w-1;0<=r;r--)for(var P=0;P<50;P++){for(q=!1,s=r;0<=s;s--){if(Math.abs(U[s])<=C){q=!0;break}if(Math.abs(T[s-1])<=C)break}if(!q){for(Q=0,B=s-(h=1),J=s;J<r+1&&(n=h*U[J],U[J]=Q*U[J],!(Math.abs(n)<=C));J++)if(E=T[J],T[J]=Math.sqrt(n*n+E*E),Q=E/(l=T[J]),h=-n/l,i)for(a=0;a<k;a++)D=N[a][B],p=N[a][J],N[a][B]=D*Q+p*h,N[a][J]=-D*h+p*Q}if(p=T[r],s===r){if(p<0&&(T[r]=-p,t))for(a=0;a<w;a++)G[a][r]=-G[a][r];break}for(u=T[s],n=(((D=T[r-1])-p)*(D+p)+((E=U[r-1])-(l=U[r]))*(E+l))/(2*l*D),E=Math.sqrt(n*n+1),n=((u-p)*(u+p)+l*(D/(n<0?n-E:n+E)-l))/u,J=s+(h=Q=1);J<r+1;J++){if(E=U[J],D=T[J],l=h*E,E*=Q,p=Math.sqrt(n*n+l*l),n=u*(Q=n/(U[J-1]=p))+E*(h=l/p),E=-u*h+E*Q,l=D*h,D*=Q,t)for(a=0;a<w;a++)u=G[a][J-1],p=G[a][J],G[a][J-1]=u*Q+p*h,G[a][J]=-u*h+p*Q;if(p=Math.sqrt(n*n+l*l),n=(Q=n/(T[J-1]=p))*E+(h=l/p)*D,u=-h*E+Q*D,i)for(a=0;a<k;a++)D=N[a][J-1],p=N[a][J],N[a][J-1]=D*Q+p*h,N[a][J]=-D*h+p*Q}U[s]=0,U[r]=n,T[r]=u}for(J=0;J<w;J++)T[J]<C&&(T[J]=0);return{u:N,q:T,v:G}},e.VERSION="1.1.1",Object.defineProperty(e,"__esModule",{value:!0})})}),R_=ls((A,g)=>{(function(e,I){typeof A=="object"&&typeof g<"u"?g.exports=I():typeof define=="function"&&define.amd?define(I):(e=e||self,e.TinyQueue=I())})(A,function(){"use strict";var e=function(i,t){if(i===void 0&&(i=[]),t===void 0&&(t=I),this.data=i,this.length=this.data.length,this.compare=t,this.length>0)for(var C=(this.length>>1)-1;C>=0;C--)this._down(C)};e.prototype.push=function(i){this.data.push(i),this.length++,this._up(this.length-1)},e.prototype.pop=function(){if(this.length!==0){var i=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),i}},e.prototype.peek=function(){return this.data[0]},e.prototype._up=function(i){for(var t=this,C=t.data,o=t.compare,a=C[i];i>0;){var r=i-1>>1,s=C[r];if(o(a,s)>=0)break;C[i]=s,i=r}C[i]=a},e.prototype._down=function(i){for(var t=this,C=t.data,o=t.compare,a=this.length>>1,r=C[i];i<a;){var s=(i<<1)+1,B=C[s],Q=s+1;if(Q<this.length&&o(C[Q],B)<0&&(s=Q,B=C[Q]),o(B,r)>=0)break;C[i]=B,i=s}C[i]=r};function I(i,t){return i<t?-1:i>t?1:0}return e})}),v_=ls((A,g)=>{"use strict";var e=R_();e.default&&(e=e.default),g.exports=I,g.exports.default=I;function I(r,s,B){s=s||1;for(var Q,n,E,l,h=0;h<r[0].length;h++){var u=r[0][h];(!h||u[0]<Q)&&(Q=u[0]),(!h||u[1]<n)&&(n=u[1]),(!h||u[0]>E)&&(E=u[0]),(!h||u[1]>l)&&(l=u[1])}var D=E-Q,p=l-n,w=Math.min(D,p),k=w/2;if(w===0){var U=[Q,n];return U.distance=0,U}for(var N=new e(void 0,i),G=Q;G<E;G+=w)for(var R=n;R<l;R+=w)N.push(new t(G+k,R+k,k,r));var J=o(r),q=new t(Q+D/2,n+p/2,0,r);q.d>J.d&&(J=q);for(var T=N.length;N.length;){var P=N.pop();P.d>J.d&&(J=P,B&&console.log("found best %d after %d probes",Math.round(1e4*P.d)/1e4,T)),!(P.max-J.d<=s)&&(k=P.h/2,N.push(new t(P.x-k,P.y-k,k,r)),N.push(new t(P.x+k,P.y-k,k,r)),N.push(new t(P.x-k,P.y+k,k,r)),N.push(new t(P.x+k,P.y+k,k,r)),T+=4)}B&&(console.log("num probes: "+T),console.log("best distance: "+J.d));var H=[J.x,J.y];return H.distance=J.d,H}function i(r,s){return s.max-r.max}function t(r,s,B,Q){this.x=r,this.y=s,this.h=B,this.d=C(r,s,Q),this.max=this.d+this.h*Math.SQRT2}function C(r,s,B){for(var Q=!1,n=1/0,E=0;E<B.length;E++)for(var l=B[E],h=0,u=l.length,D=u-1;h<u;D=h++){var p=l[h],w=l[D];p[1]>s!=w[1]>s&&r<(w[0]-p[0])*(s-p[1])/(w[1]-p[1])+p[0]&&(Q=!Q),n=Math.min(n,a(r,s,p,w))}return n===0?0:(Q?1:-1)*Math.sqrt(n)}function o(r){for(var s=0,B=0,Q=0,n=r[0],E=0,l=n.length,h=l-1;E<l;h=E++){var u=n[E],D=n[h],p=u[0]*D[1]-D[0]*u[1];B+=(u[0]+D[0])*p,Q+=(u[1]+D[1])*p,s+=p*3}return s===0?new t(n[0][0],n[0][1],0,r):new t(B/s,Q/s,0,r)}function a(r,s,B,Q){var n=B[0],E=B[1],l=Q[0]-n,h=Q[1]-E;if(l!==0||h!==0){var u=((r-n)*l+(s-E)*h)/(l*l+h*h);u>1?(n=Q[0],E=Q[1]):u>0&&(n+=l*u,E+=h*u)}return l=r-n,h=s-E,l*l+h*h}}),K_=ls((A,g)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.default=e;function e(I){if(I===null||I===!0||I===!1)return NaN;var i=Number(I);return isNaN(i)?i:i<0?Math.ceil(i):Math.floor(i)}g.exports=A.default}),J_=ls((A,g)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.default=e;function e(I){var i=new Date(Date.UTC(I.getFullYear(),I.getMonth(),I.getDate(),I.getHours(),I.getMinutes(),I.getSeconds(),I.getMilliseconds()));return i.setUTCFullYear(I.getFullYear()),I.getTime()-i.getTime()}g.exports=A.default}),q_=ls((A,g)=>{"use strict";function e(t,C){function o(){this.constructor=t}o.prototype=C.prototype,t.prototype=new o}function I(t,C,o,a){this.message=t,this.expected=C,this.found=o,this.location=a,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,I)}e(I,Error),I.buildMessage=function(t,C){var o={literal:function(E){return'"'+r(E.text)+'"'},class:function(E){var l="",h;for(h=0;h<E.parts.length;h++)l+=E.parts[h]instanceof Array?s(E.parts[h][0])+"-"+s(E.parts[h][1]):s(E.parts[h]);return"["+(E.inverted?"^":"")+l+"]"},any:function(E){return"any character"},end:function(E){return"end of input"},other:function(E){return E.description}};function a(E){return E.charCodeAt(0).toString(16).toUpperCase()}function r(E){return E.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(l){return"\\x0"+a(l)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(l){return"\\x"+a(l)})}function s(E){return E.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(l){return"\\x0"+a(l)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(l){return"\\x"+a(l)})}function B(E){return o[E.type](E)}function Q(E){var l=new Array(E.length),h,u;for(h=0;h<E.length;h++)l[h]=B(E[h]);if(l.sort(),l.length>0){for(h=1,u=1;h<l.length;h++)l[h-1]!==l[h]&&(l[u]=l[h],u++);l.length=u}switch(l.length){case 1:return l[0];case 2:return l[0]+" or "+l[1];default:return l.slice(0,-1).join(", ")+", or "+l[l.length-1]}}function n(E){return E?'"'+r(E)+'"':"end of input"}return"Expected "+Q(t)+" but "+n(C)+" found."};function i(t,C){C=C!==void 0?C:{};var o={},a={svg_path:SI},r=SI,s=function(V){if(!V)return[];for(var oA=[],MA=0;MA<V.length;MA++)oA=oA.concat.apply(oA,V[MA]);var nA=oA[0];return nA&&nA.code=="m"&&(delete nA.relative,nA.code="M"),oA},B=function(V,oA){return Qo(V,oA)},Q=/^[Mm]/,n=xe(["M","m"],!1,!1),E=function(V,oA,MA){var nA=di(V,[oA]);return MA&&(nA=nA.concat(di(V=="M"?"L":"l",MA[1]))),nA},l=/^[Zz]/,h=xe(["Z","z"],!1,!1),u=function(){return di("Z")},D=/^[Ll]/,p=xe(["L","l"],!1,!1),w=function(V,oA){return di(V,oA)},k=/^[Hh]/,U=xe(["H","h"],!1,!1),N=function(V,oA){return di(V,oA.map(function(MA){return{x:MA}}))},G=/^[Vv]/,R=xe(["V","v"],!1,!1),J=function(V,oA){return di(V,oA.map(function(MA){return{y:MA}}))},q=/^[Cc]/,T=xe(["C","c"],!1,!1),P=function(V,oA,MA){return{x1:V.x,y1:V.y,x2:oA.x,y2:oA.y,x:MA.x,y:MA.y}},H=/^[Ss]/,eA=xe(["S","s"],!1,!1),rA=function(V,oA){return{x2:V.x,y2:V.y,x:oA.x,y:oA.y}},BA=/^[Qq]/,aA=xe(["Q","q"],!1,!1),yA=function(V,oA){return{x1:V.x,y1:V.y,x:oA.x,y:oA.y}},SA=/^[Tt]/,pA=xe(["T","t"],!1,!1),wA=/^[Aa]/,RA=xe(["A","a"],!1,!1),kA=function(V,oA,MA,nA,JA,fg){return{rx:V,ry:oA,xAxisRotation:MA,largeArc:nA,sweep:JA,x:fg.x,y:fg.y}},UA=function(V,oA){return{x:V,y:oA}},GA=function(V){return V*1},zA=function(V){return V.join("")*1},KA=/^[01]/,LA=xe(["0","1"],!1,!1),YA=function(V){return V=="1"},sg=function(){return""},$A=",",VA=Je(",",!1),vg=function(V){return V.join("")},Gg=".",Ng=Je(".",!1),Kg=/^[eE]/,mg=xe(["e","E"],!1,!1),Sg=/^[+\-]/,Ae=xe(["+","-"],!1,!1),Mg=/^[0-9]/,sA=xe([["0","9"]],!1,!1),CA=function(V){return V.join("")},OA=/^[ \t\n\r]/,dg=xe([" ","	",`
`,"\r"],!1,!1),X=0,eg=0,Og=[{line:1,column:1}],Eg=0,og=[],Cg=0,Yg;if("startRule"in C){if(!(C.startRule in a))throw new Error(`Can't start parsing from rule "`+C.startRule+'".');r=a[C.startRule]}function kg(){return t.substring(eg,X)}function Pg(){return ge(eg,X)}function Ie(V,oA){throw oA=oA!==void 0?oA:ge(eg,X),Zg([pg(V)],t.substring(eg,X),oA)}function Ke(V,oA){throw oA=oA!==void 0?oA:ge(eg,X),gI(V,oA)}function Je(V,oA){return{type:"literal",text:V,ignoreCase:oA}}function xe(V,oA,MA){return{type:"class",parts:V,inverted:oA,ignoreCase:MA}}function FA(){return{type:"any"}}function ZA(){return{type:"end"}}function pg(V){return{type:"other",description:V}}function Dg(V){var oA=Og[V],MA;if(oA)return oA;for(MA=V-1;!Og[MA];)MA--;for(oA=Og[MA],oA={line:oA.line,column:oA.column};MA<V;)t.charCodeAt(MA)===10?(oA.line++,oA.column=1):oA.column++,MA++;return Og[V]=oA,oA}function ge(V,oA){var MA=Dg(V),nA=Dg(oA);return{start:{offset:V,line:MA.line,column:MA.column},end:{offset:oA,line:nA.line,column:nA.column}}}function Fg(V){X<Eg||(X>Eg&&(Eg=X,og=[]),og.push(V))}function gI(V,oA){return new I(V,null,null,oA)}function Zg(V,oA,MA){return new I(I.buildMessage(V,oA),V,oA,MA)}function SI(){var V,oA,MA,nA,JA;for(V=X,oA=[],MA=Fe();MA!==o;)oA.push(MA),MA=Fe();if(oA!==o)if(MA=We(),MA===o&&(MA=null),MA!==o){for(nA=[],JA=Fe();JA!==o;)nA.push(JA),JA=Fe();nA!==o?(eg=V,oA=s(MA),V=oA):(X=V,V=o)}else X=V,V=o;else X=V,V=o;return V}function We(){var V,oA,MA,nA,JA,fg;if(V=X,oA=GI(),oA!==o){for(MA=[],nA=X,JA=[],fg=Fe();fg!==o;)JA.push(fg),fg=Fe();for(JA!==o?(fg=GI(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;){for(MA.push(nA),nA=X,JA=[],fg=Fe();fg!==o;)JA.push(fg),fg=Fe();JA!==o?(fg=GI(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o)}MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function GI(){var V,oA,MA,nA,JA,fg;if(V=X,oA=Ci(),oA!==o){for(MA=[],nA=X,JA=[],fg=Fe();fg!==o;)JA.push(fg),fg=Fe();for(JA!==o?(fg=ti(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;){for(MA.push(nA),nA=X,JA=[],fg=Fe();fg!==o;)JA.push(fg),fg=Fe();JA!==o?(fg=ti(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o)}MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function ti(){var V;return V=XC(),V===o&&(V=at(),V===o&&(V=cA(),V===o&&(V=Ig(),V===o&&(V=HA(),V===o&&(V=oe(),V===o&&(V=Ze(),V===o&&(V=aI(),V===o&&(V=mI())))))))),V}function Ci(){var V,oA,MA,nA,JA,fg,CC;if(V=X,Q.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(n)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=te(),nA!==o?(JA=X,fg=Ne(),fg===o&&(fg=null),fg!==o?(CC=mt(),CC!==o?(fg=[fg,CC],JA=fg):(X=JA,JA=o)):(X=JA,JA=o),JA===o&&(JA=null),JA!==o?(eg=V,oA=E(oA,nA,JA),V=oA):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function XC(){var V,oA;return V=X,l.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(h)),oA!==o&&(eg=V,oA=u()),V=oA,V}function at(){var V,oA,MA,nA;if(V=X,D.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(p)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=mt(),nA!==o?(eg=V,oA=w(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function mt(){var V,oA,MA,nA,JA,fg;if(V=X,oA=te(),oA!==o){for(MA=[],nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=te(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;)MA.push(nA),nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=te(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function cA(){var V,oA,MA,nA;if(V=X,k.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(U)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=jA(),nA!==o?(eg=V,oA=N(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function jA(){var V,oA,MA,nA,JA,fg;if(V=X,oA=zi(),oA!==o){for(MA=[],nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=zi(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;)MA.push(nA),nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=zi(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function Ig(){var V,oA,MA,nA;if(V=X,G.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(R)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=jA(),nA!==o?(eg=V,oA=J(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function HA(){var V,oA,MA,nA;if(V=X,q.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(T)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=rg(),nA!==o?(eg=V,oA=w(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function rg(){var V,oA,MA,nA,JA,fg;if(V=X,oA=bg(),oA!==o){for(MA=[],nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=bg(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;)MA.push(nA),nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=bg(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function bg(){var V,oA,MA,nA,JA,fg;return V=X,oA=te(),oA!==o?(MA=Ne(),MA===o&&(MA=null),MA!==o?(nA=te(),nA!==o?(JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=te(),fg!==o?(eg=V,oA=P(oA,nA,fg),V=oA):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o),V}function oe(){var V,oA,MA,nA;if(V=X,H.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(eA)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=ue(),nA!==o?(eg=V,oA=w(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function ue(){var V,oA,MA,nA,JA,fg;if(V=X,oA=Qe(),oA!==o){for(MA=[],nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=Qe(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;)MA.push(nA),nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=Qe(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function Qe(){var V,oA,MA,nA;return V=X,oA=te(),oA!==o?(MA=Ne(),MA===o&&(MA=null),MA!==o?(nA=te(),nA!==o?(eg=V,oA=rA(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)):(X=V,V=o),V}function Ze(){var V,oA,MA,nA;if(V=X,BA.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(aA)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=qe(),nA!==o?(eg=V,oA=w(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function qe(){var V,oA,MA,nA,JA,fg;if(V=X,oA=Ge(),oA!==o){for(MA=[],nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=Ge(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;)MA.push(nA),nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=Ge(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function Ge(){var V,oA,MA,nA;return V=X,oA=te(),oA!==o?(MA=Ne(),MA===o&&(MA=null),MA!==o?(nA=te(),nA!==o?(eg=V,oA=yA(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)):(X=V,V=o),V}function aI(){var V,oA,MA,nA;if(V=X,SA.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(pA)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=Qi(),nA!==o?(eg=V,oA=w(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function Qi(){var V,oA,MA,nA,JA,fg;if(V=X,oA=te(),oA!==o){for(MA=[],nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=te(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;)MA.push(nA),nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=te(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function mI(){var V,oA,MA,nA;if(V=X,wA.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(RA)),oA!==o){for(MA=[],nA=Fe();nA!==o;)MA.push(nA),nA=Fe();MA!==o?(nA=Ai(),nA!==o?(eg=V,oA=w(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)}else X=V,V=o;return V}function Ai(){var V,oA,MA,nA,JA,fg;if(V=X,oA=sI(),oA!==o){for(MA=[],nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=sI(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);nA!==o;)MA.push(nA),nA=X,JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=sI(),fg!==o?(JA=[JA,fg],nA=JA):(X=nA,nA=o)):(X=nA,nA=o);MA!==o?(eg=V,oA=B(oA,MA),V=oA):(X=V,V=o)}else X=V,V=o;return V}function sI(){var V,oA,MA,nA,JA,fg,CC,zI,$C,qC,_t,gi;return V=X,oA=Ki(),oA!==o?(MA=Ne(),MA===o&&(MA=null),MA!==o?(nA=Ki(),nA!==o?(JA=Ne(),JA===o&&(JA=null),JA!==o?(fg=zi(),fg!==o?(CC=Ne(),CC!==o?(zI=rt(),zI!==o?($C=Ne(),$C===o&&($C=null),$C!==o?(qC=rt(),qC!==o?(_t=Ne(),_t===o&&(_t=null),_t!==o?(gi=te(),gi!==o?(eg=V,oA=kA(oA,nA,fg,zI,qC,gi),V=oA):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o)):(X=V,V=o),V}function te(){var V,oA,MA,nA;return V=X,oA=zi(),oA!==o?(MA=Ne(),MA===o&&(MA=null),MA!==o?(nA=zi(),nA!==o?(eg=V,oA=UA(oA,nA),V=oA):(X=V,V=o)):(X=V,V=o)):(X=V,V=o),V}function Ki(){var V,oA;return V=X,oA=Tt(),oA===o&&(oA=bI()),oA!==o&&(eg=V,oA=GA(oA)),V=oA,V}function zi(){var V,oA,MA,nA;return V=X,oA=X,MA=Bt(),MA===o&&(MA=null),MA!==o?(nA=Tt(),nA!==o?(MA=[MA,nA],oA=MA):(X=oA,oA=o)):(X=oA,oA=o),oA===o&&(oA=X,MA=Bt(),MA===o&&(MA=null),MA!==o?(nA=bI(),nA!==o?(MA=[MA,nA],oA=MA):(X=oA,oA=o)):(X=oA,oA=o)),oA!==o&&(eg=V,oA=zA(oA)),V=oA,V}function rt(){var V,oA;return V=X,KA.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(LA)),oA!==o&&(eg=V,oA=YA(oA)),V=oA,V}function Ne(){var V,oA,MA,nA,JA;if(V=X,oA=[],MA=Fe(),MA!==o)for(;MA!==o;)oA.push(MA),MA=Fe();else oA=o;if(oA!==o)if(MA=uI(),MA===o&&(MA=null),MA!==o){for(nA=[],JA=Fe();JA!==o;)nA.push(JA),JA=Fe();nA!==o?(oA=[oA,MA,nA],V=oA):(X=V,V=o)}else X=V,V=o;else X=V,V=o;if(V===o){if(V=X,oA=X,MA=uI(),MA!==o){for(nA=[],JA=Fe();JA!==o;)nA.push(JA),JA=Fe();nA!==o?(MA=[MA,nA],oA=MA):(X=oA,oA=o)}else X=oA,oA=o;oA!==o&&(eg=V,oA=sg()),V=oA}return V}function uI(){var V;return t.charCodeAt(X)===44?(V=$A,X++):(V=o,Cg===0&&Fg(VA)),V}function Tt(){var V,oA,MA,nA;return V=X,oA=X,MA=vI(),MA!==o?(nA=st(),nA===o&&(nA=null),nA!==o?(MA=[MA,nA],oA=MA):(X=oA,oA=o)):(X=oA,oA=o),oA===o&&(oA=X,MA=bI(),MA!==o?(nA=st(),nA!==o?(MA=[MA,nA],oA=MA):(X=oA,oA=o)):(X=oA,oA=o)),oA!==o&&(eg=V,oA=vg(oA)),V=oA,V}function vI(){var V,oA,MA,nA,JA;return V=X,oA=X,MA=bI(),MA===o&&(MA=null),MA!==o?(t.charCodeAt(X)===46?(nA=Gg,X++):(nA=o,Cg===0&&Fg(Ng)),nA!==o?(JA=bI(),JA!==o?(MA=[MA,nA,JA],oA=MA):(X=oA,oA=o)):(X=oA,oA=o)):(X=oA,oA=o),oA===o&&(oA=X,MA=bI(),MA!==o?(t.charCodeAt(X)===46?(nA=Gg,X++):(nA=o,Cg===0&&Fg(Ng)),nA!==o?(MA=[MA,nA],oA=MA):(X=oA,oA=o)):(X=oA,oA=o)),oA!==o&&(eg=V,oA=vg(oA)),V=oA,V}function st(){var V,oA,MA,nA,JA;return V=X,oA=X,Kg.test(t.charAt(X))?(MA=t.charAt(X),X++):(MA=o,Cg===0&&Fg(mg)),MA!==o?(nA=Bt(),nA===o&&(nA=null),nA!==o?(JA=bI(),JA!==o?(MA=[MA,nA,JA],oA=MA):(X=oA,oA=o)):(X=oA,oA=o)):(X=oA,oA=o),oA!==o&&(eg=V,oA=vg(oA)),V=oA,V}function Bt(){var V;return Sg.test(t.charAt(X))?(V=t.charAt(X),X++):(V=o,Cg===0&&Fg(Ae)),V}function bI(){var V,oA,MA;if(V=X,oA=[],Mg.test(t.charAt(X))?(MA=t.charAt(X),X++):(MA=o,Cg===0&&Fg(sA)),MA!==o)for(;MA!==o;)oA.push(MA),Mg.test(t.charAt(X))?(MA=t.charAt(X),X++):(MA=o,Cg===0&&Fg(sA));else oA=o;return oA!==o&&(eg=V,oA=CA(oA)),V=oA,V}function Fe(){var V,oA;return V=X,OA.test(t.charAt(X))?(oA=t.charAt(X),X++):(oA=o,Cg===0&&Fg(dg)),oA!==o&&(eg=V,oA=sg()),V=oA,V}function Qo(V,oA){if(!oA)return[V];for(var MA=[V],nA=0,JA=oA.length;nA<JA;nA++)MA[nA+1]=oA[nA][1];return MA}var Ot={m:"moveto",l:"lineto",h:"horizontal lineto",v:"vertical lineto",c:"curveto",s:"smooth curveto",q:"quadratic curveto",t:"smooth quadratic curveto",a:"elliptical arc",z:"closepath"};for(var JC in Ot)Ot[JC.toUpperCase()]=Ot[JC];function di(V,oA){oA||(oA=[{}]);for(var MA=oA.length;MA--;){var nA={code:V,command:Ot[V]};V==V.toLowerCase()&&(nA.relative=!0);for(var JA in oA[MA])nA[JA]=oA[MA][JA];oA[MA]=nA}return oA}if(Yg=r(),Yg!==o&&X===t.length)return Yg;throw Yg!==o&&X<t.length&&Fg(ZA()),Zg(og,Eg<t.length?t.charAt(Eg):null,Eg<t.length?ge(Eg,Eg+1):ge(Eg,Eg))}g.exports={SyntaxError:I,parse:i}}),EJ=ls((A,g)=>{var e=q_().parse;e.parseSVG=e,e.makeAbsolute=I,g.exports=e;function I(i){var t,C={x:0,y:0},o={x:"x0",y:"y0",x1:"x0",y1:"y0",x2:"x0",y2:"y0"};return i.forEach(function(a){a.command==="moveto"&&(t=a),a.x0=C.x,a.y0=C.y;for(var r in o)r in a&&(a[r]+=a.relative?a[o[r]]:0);"x"in a||(a.x=C.x),"y"in a||(a.y=C.y),a.relative=!1,a.code=a.code.toUpperCase(),a.command=="closepath"&&(a.x=t.x,a.y=t.y),C=a}),i}}),b_=ls((A,g)=>{g.exports=function(e,I){for(var i=e.split("."),t=I.split("."),C=0;C<3;C++){var o=Number(i[C]),a=Number(t[C]);if(o>a)return 1;if(a>o)return-1;if(!isNaN(o)&&isNaN(a))return 1;if(isNaN(o)&&!isNaN(a))return-1}return 0}}),OE="149",wo={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},L_=0,EU=1,x_=2,XS=1,Y_=2,Fl=3,la=0,Lt=1,jC=2,Ct=0,lQ=1,hU=2,lU=3,cU=4,H_=5,AE=100,T_=101,O_=102,dU=103,uU=104,__=200,P_=201,j_=202,W_=203,hJ=204,lJ=205,z_=206,V_=207,Z_=208,X_=209,$_=210,A4=0,g4=1,e4=2,Z0=3,I4=4,i4=5,t4=6,C4=7,cJ=0,o4=1,a4=2,Ir=0,r4=1,s4=2,B4=3,Q4=4,n4=5,dJ=300,wQ=301,fQ=302,X0=303,$0=304,wc=306,is=1e3,hi=1001,Af=1002,qI=1003,DU=1004,Py=1005,Ve=1006,E4=1007,kE=1008,cC=1009,h4=1010,l4=1011,uJ=1012,c4=1013,ts=1014,tt=1015,ns=1016,d4=1017,u4=1018,cQ=1020,D4=1021,qt=1023,p4=1024,y4=1025,dQ=1026,SQ=1027,w4=1028,f4=1029,DD=1030,S4=1031,DJ=1033,jy=33776,Wy=33777,zy=33778,Vy=33779,pU=35840,yU=35841,wU=35842,fU=35843,G4=36196,SU=37492,GU=37496,mU=37808,MU=37809,kU=37810,UU=37811,NU=37812,FU=37813,RU=37814,vU=37815,KU=37816,JU=37817,qU=37818,bU=37819,LU=37820,xU=37821,Zy=36492,m4=36283,YU=36284,HU=36285,TU=36286,pJ=2200,yJ=2201,$S=2202,pD=2300,yD=2301,Xy=2302,oE=2400,aE=2401,wD=2402,AG=2500,M4=2501,ca=3e3,je=3001,ds=3200,wJ=3201,k4=0,U4=1,Wa="srgb",fD="srgb-linear",$y=7680,N4=519,gf=35044,F4=35048,OU="300 es",ef=1035,tC=class{addEventListener(A,g){this._listeners===void 0&&(this._listeners={});let e=this._listeners;e[A]===void 0&&(e[A]=[]),e[A].indexOf(g)===-1&&e[A].push(g)}hasEventListener(A,g){if(this._listeners===void 0)return!1;let e=this._listeners;return e[A]!==void 0&&e[A].indexOf(g)!==-1}removeEventListener(A,g){if(this._listeners===void 0)return;let e=this._listeners[A];if(e!==void 0){let I=e.indexOf(g);I!==-1&&e.splice(I,1)}}dispatchEvent(A){if(this._listeners===void 0)return;let g=this._listeners[A.type];if(g!==void 0){A.target=this;let e=g.slice(0);for(let I=0,i=e.length;I<i;I++)e[I].call(this,A);A.target=null}}},aC=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],_U=1234567,Yl=Math.PI/180,Ac=180/Math.PI;function Ko(){let A=Math.random()*4294967295|0,g=Math.random()*4294967295|0,e=Math.random()*4294967295|0,I=Math.random()*4294967295|0;return(aC[A&255]+aC[A>>8&255]+aC[A>>16&255]+aC[A>>24&255]+"-"+aC[g&255]+aC[g>>8&255]+"-"+aC[g>>16&15|64]+aC[g>>24&255]+"-"+aC[e&63|128]+aC[e>>8&255]+"-"+aC[e>>16&255]+aC[e>>24&255]+aC[I&255]+aC[I>>8&255]+aC[I>>16&255]+aC[I>>24&255]).toLowerCase()}function It(A,g,e){return Math.max(g,Math.min(e,A))}function gG(A,g){return(A%g+g)%g}function R4(A,g,e,I,i){return I+(A-g)*(i-I)/(e-g)}function v4(A,g,e){return A!==g?(e-A)/(g-A):0}function Hl(A,g,e){return(1-e)*A+e*g}function K4(A,g,e,I){return Hl(A,g,1-Math.exp(-e*I))}function J4(A,g=1){return g-Math.abs(gG(A,g*2)-g)}function q4(A,g,e){return A<=g?0:A>=e?1:(A=(A-g)/(e-g),A*A*(3-2*A))}function b4(A,g,e){return A<=g?0:A>=e?1:(A=(A-g)/(e-g),A*A*A*(A*(A*6-15)+10))}function L4(A,g){return A+Math.floor(Math.random()*(g-A+1))}function x4(A,g){return A+Math.random()*(g-A)}function Y4(A){return A*(.5-Math.random())}function H4(A){A!==void 0&&(_U=A);let g=_U+=1831565813;return g=Math.imul(g^g>>>15,g|1),g^=g+Math.imul(g^g>>>7,g|61),((g^g>>>14)>>>0)/4294967296}function T4(A){return A*Yl}function O4(A){return A*Ac}function If(A){return(A&A-1)===0&&A!==0}function fJ(A){return Math.pow(2,Math.ceil(Math.log(A)/Math.LN2))}function SD(A){return Math.pow(2,Math.floor(Math.log(A)/Math.LN2))}function _4(A,g,e,I,i){let t=Math.cos,C=Math.sin,o=t(e/2),a=C(e/2),r=t((g+I)/2),s=C((g+I)/2),B=t((g-I)/2),Q=C((g-I)/2),n=t((I-g)/2),E=C((I-g)/2);switch(i){case"XYX":A.set(o*s,a*B,a*Q,o*r);break;case"YZY":A.set(a*Q,o*s,a*B,o*r);break;case"ZXZ":A.set(a*B,a*Q,o*s,o*r);break;case"XZX":A.set(o*s,a*E,a*n,o*r);break;case"YXY":A.set(a*n,o*s,a*E,o*r);break;case"ZYZ":A.set(a*E,a*n,o*s,o*r);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Cs(A,g){switch(g.constructor){case Float32Array:return A;case Uint16Array:return A/65535;case Uint8Array:return A/255;case Int16Array:return Math.max(A/32767,-1);case Int8Array:return Math.max(A/127,-1);default:throw new Error("Invalid component type.")}}function ii(A,g){switch(g.constructor){case Float32Array:return A;case Uint16Array:return Math.round(A*65535);case Uint8Array:return Math.round(A*255);case Int16Array:return Math.round(A*32767);case Int8Array:return Math.round(A*127);default:throw new Error("Invalid component type.")}}var Xg=Object.freeze({__proto__:null,DEG2RAD:Yl,RAD2DEG:Ac,ceilPowerOfTwo:fJ,clamp:It,damp:K4,degToRad:T4,denormalize:Cs,euclideanModulo:gG,floorPowerOfTwo:SD,generateUUID:Ko,inverseLerp:v4,isPowerOfTwo:If,lerp:Hl,mapLinear:R4,normalize:ii,pingpong:J4,radToDeg:O4,randFloat:x4,randFloatSpread:Y4,randInt:L4,seededRandom:H4,setQuaternionFromProperEuler:_4,smootherstep:b4,smoothstep:q4}),mA=class{constructor(A=0,g=0){mA.prototype.isVector2=!0,this.x=A,this.y=g}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,g){return this.x=A,this.y=g,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,g){switch(A){case 0:this.x=g;break;case 1:this.y=g;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A){return this.x+=A.x,this.y+=A.y,this}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,g){return this.x=A.x+g.x,this.y=A.y+g.y,this}addScaledVector(A,g){return this.x+=A.x*g,this.y+=A.y*g,this}sub(A){return this.x-=A.x,this.y-=A.y,this}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,g){return this.x=A.x-g.x,this.y=A.y-g.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){let g=this.x,e=this.y,I=A.elements;return this.x=I[0]*g+I[3]*e+I[6],this.y=I[1]*g+I[4]*e+I[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,g){return this.x=Math.max(A.x,Math.min(g.x,this.x)),this.y=Math.max(A.y,Math.min(g.y,this.y)),this}clampScalar(A,g){return this.x=Math.max(A,Math.min(g,this.x)),this.y=Math.max(A,Math.min(g,this.y)),this}clampLength(A,g){let e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(g,e)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){let g=this.x-A.x,e=this.y-A.y;return g*g+e*e}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,g){return this.x+=(A.x-this.x)*g,this.y+=(A.y-this.y)*g,this}lerpVectors(A,g,e){return this.x=A.x+(g.x-A.x)*e,this.y=A.y+(g.y-A.y)*e,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,g=0){return this.x=A[g],this.y=A[g+1],this}toArray(A=[],g=0){return A[g]=this.x,A[g+1]=this.y,A}fromBufferAttribute(A,g){return this.x=A.getX(g),this.y=A.getY(g),this}rotateAround(A,g){let e=Math.cos(g),I=Math.sin(g),i=this.x-A.x,t=this.y-A.y;return this.x=i*e-t*I+A.x,this.y=i*I+t*e+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},wt=class{constructor(){wt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(A,g,e,I,i,t,C,o,a){let r=this.elements;return r[0]=A,r[1]=I,r[2]=C,r[3]=g,r[4]=i,r[5]=o,r[6]=e,r[7]=t,r[8]=a,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){let g=this.elements,e=A.elements;return g[0]=e[0],g[1]=e[1],g[2]=e[2],g[3]=e[3],g[4]=e[4],g[5]=e[5],g[6]=e[6],g[7]=e[7],g[8]=e[8],this}extractBasis(A,g,e){return A.setFromMatrix3Column(this,0),g.setFromMatrix3Column(this,1),e.setFromMatrix3Column(this,2),this}setFromMatrix4(A){let g=A.elements;return this.set(g[0],g[4],g[8],g[1],g[5],g[9],g[2],g[6],g[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,g){let e=A.elements,I=g.elements,i=this.elements,t=e[0],C=e[3],o=e[6],a=e[1],r=e[4],s=e[7],B=e[2],Q=e[5],n=e[8],E=I[0],l=I[3],h=I[6],u=I[1],D=I[4],p=I[7],w=I[2],k=I[5],U=I[8];return i[0]=t*E+C*u+o*w,i[3]=t*l+C*D+o*k,i[6]=t*h+C*p+o*U,i[1]=a*E+r*u+s*w,i[4]=a*l+r*D+s*k,i[7]=a*h+r*p+s*U,i[2]=B*E+Q*u+n*w,i[5]=B*l+Q*D+n*k,i[8]=B*h+Q*p+n*U,this}multiplyScalar(A){let g=this.elements;return g[0]*=A,g[3]*=A,g[6]*=A,g[1]*=A,g[4]*=A,g[7]*=A,g[2]*=A,g[5]*=A,g[8]*=A,this}determinant(){let A=this.elements,g=A[0],e=A[1],I=A[2],i=A[3],t=A[4],C=A[5],o=A[6],a=A[7],r=A[8];return g*t*r-g*C*a-e*i*r+e*C*o+I*i*a-I*t*o}invert(){let A=this.elements,g=A[0],e=A[1],I=A[2],i=A[3],t=A[4],C=A[5],o=A[6],a=A[7],r=A[8],s=r*t-C*a,B=C*o-r*i,Q=a*i-t*o,n=g*s+e*B+I*Q;if(n===0)return this.set(0,0,0,0,0,0,0,0,0);let E=1/n;return A[0]=s*E,A[1]=(I*a-r*e)*E,A[2]=(C*e-I*t)*E,A[3]=B*E,A[4]=(r*g-I*o)*E,A[5]=(I*i-C*g)*E,A[6]=Q*E,A[7]=(e*o-a*g)*E,A[8]=(t*g-e*i)*E,this}transpose(){let A,g=this.elements;return A=g[1],g[1]=g[3],g[3]=A,A=g[2],g[2]=g[6],g[6]=A,A=g[5],g[5]=g[7],g[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){let g=this.elements;return A[0]=g[0],A[1]=g[3],A[2]=g[6],A[3]=g[1],A[4]=g[4],A[5]=g[7],A[6]=g[2],A[7]=g[5],A[8]=g[8],this}setUvTransform(A,g,e,I,i,t,C){let o=Math.cos(i),a=Math.sin(i);return this.set(e*o,e*a,-e*(o*t+a*C)+t+A,-I*a,I*o,-I*(-a*t+o*C)+C+g,0,0,1),this}scale(A,g){return this.premultiply(Aw.makeScale(A,g)),this}rotate(A){return this.premultiply(Aw.makeRotation(-A)),this}translate(A,g){return this.premultiply(Aw.makeTranslation(A,g)),this}makeTranslation(A,g){return this.set(1,0,A,0,1,g,0,0,1),this}makeRotation(A){let g=Math.cos(A),e=Math.sin(A);return this.set(g,-e,0,e,g,0,0,0,1),this}makeScale(A,g){return this.set(A,0,0,0,g,0,0,0,1),this}equals(A){let g=this.elements,e=A.elements;for(let I=0;I<9;I++)if(g[I]!==e[I])return!1;return!0}fromArray(A,g=0){for(let e=0;e<9;e++)this.elements[e]=A[e+g];return this}toArray(A=[],g=0){let e=this.elements;return A[g]=e[0],A[g+1]=e[1],A[g+2]=e[2],A[g+3]=e[3],A[g+4]=e[4],A[g+5]=e[5],A[g+6]=e[6],A[g+7]=e[7],A[g+8]=e[8],A}clone(){return new this.constructor().fromArray(this.elements)}},Aw=new wt;function SJ(A){for(let g=A.length-1;g>=0;--g)if(A[g]>=65535)return!0;return!1}var P4={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Kd(A,g){return new P4[A](g)}function gc(A){return document.createElementNS("http://www.w3.org/1999/xhtml",A)}function uQ(A){return A<.04045?A*.0773993808:Math.pow(A*.9478672986+.0521327014,2.4)}function iD(A){return A<.0031308?A*12.92:1.055*Math.pow(A,.41666)-.055}var gw={[Wa]:{[fD]:uQ},[fD]:{[Wa]:iD}},yC={legacyMode:!0,get workingColorSpace(){return fD},set workingColorSpace(A){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(A,g,e){if(this.legacyMode||g===e||!g||!e)return A;if(gw[g]&&gw[g][e]!==void 0){let I=gw[g][e];return A.r=I(A.r),A.g=I(A.g),A.b=I(A.b),A}throw new Error("Unsupported color space conversion.")},fromWorkingColorSpace:function(A,g){return this.convert(A,this.workingColorSpace,g)},toWorkingColorSpace:function(A,g){return this.convert(A,g,this.workingColorSpace)}},GJ={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},ct={r:0,g:0,b:0},Xo={h:0,s:0,l:0},Jd={h:0,s:0,l:0};function ew(A,g,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?A+(g-A)*6*e:e<1/2?g:e<2/3?A+(g-A)*6*(2/3-e):A}function qd(A,g){return g.r=A.r,g.g=A.g,g.b=A.b,g}var de=class{constructor(A,g,e){return this.isColor=!0,this.r=1,this.g=1,this.b=1,g===void 0&&e===void 0?this.set(A):this.setRGB(A,g,e)}set(A){return A&&A.isColor?this.copy(A):typeof A=="number"?this.setHex(A):typeof A=="string"&&this.setStyle(A),this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A,g=Wa){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(A&255)/255,yC.toWorkingColorSpace(this,g),this}setRGB(A,g,e,I=yC.workingColorSpace){return this.r=A,this.g=g,this.b=e,yC.toWorkingColorSpace(this,I),this}setHSL(A,g,e,I=yC.workingColorSpace){if(A=gG(A,1),g=It(g,0,1),e=It(e,0,1),g===0)this.r=this.g=this.b=e;else{let i=e<=.5?e*(1+g):e+g-e*g,t=2*e-i;this.r=ew(t,i,A+1/3),this.g=ew(t,i,A),this.b=ew(t,i,A-1/3)}return yC.toWorkingColorSpace(this,I),this}setStyle(A,g=Wa){function e(i){i!==void 0&&parseFloat(i)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let I;if(I=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(A)){let i,t=I[1],C=I[2];switch(t){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(C))return this.r=Math.min(255,parseInt(i[1],10))/255,this.g=Math.min(255,parseInt(i[2],10))/255,this.b=Math.min(255,parseInt(i[3],10))/255,yC.toWorkingColorSpace(this,g),e(i[4]),this;if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(C))return this.r=Math.min(100,parseInt(i[1],10))/100,this.g=Math.min(100,parseInt(i[2],10))/100,this.b=Math.min(100,parseInt(i[3],10))/100,yC.toWorkingColorSpace(this,g),e(i[4]),this;break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(C)){let o=parseFloat(i[1])/360,a=parseFloat(i[2])/100,r=parseFloat(i[3])/100;return e(i[4]),this.setHSL(o,a,r,g)}break}}else if(I=/^\#([A-Fa-f\d]+)$/.exec(A)){let i=I[1],t=i.length;if(t===3)return this.r=parseInt(i.charAt(0)+i.charAt(0),16)/255,this.g=parseInt(i.charAt(1)+i.charAt(1),16)/255,this.b=parseInt(i.charAt(2)+i.charAt(2),16)/255,yC.toWorkingColorSpace(this,g),this;if(t===6)return this.r=parseInt(i.charAt(0)+i.charAt(1),16)/255,this.g=parseInt(i.charAt(2)+i.charAt(3),16)/255,this.b=parseInt(i.charAt(4)+i.charAt(5),16)/255,yC.toWorkingColorSpace(this,g),this}return A&&A.length>0?this.setColorName(A,g):this}setColorName(A,g=Wa){let e=GJ[A.toLowerCase()];return e!==void 0?this.setHex(e,g):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=uQ(A.r),this.g=uQ(A.g),this.b=uQ(A.b),this}copyLinearToSRGB(A){return this.r=iD(A.r),this.g=iD(A.g),this.b=iD(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=Wa){return yC.fromWorkingColorSpace(qd(this,ct),A),It(ct.r*255,0,255)<<16^It(ct.g*255,0,255)<<8^It(ct.b*255,0,255)<<0}getHexString(A=Wa){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,g=yC.workingColorSpace){yC.fromWorkingColorSpace(qd(this,ct),g);let e=ct.r,I=ct.g,i=ct.b,t=Math.max(e,I,i),C=Math.min(e,I,i),o,a,r=(C+t)/2;if(C===t)o=0,a=0;else{let s=t-C;switch(a=r<=.5?s/(t+C):s/(2-t-C),t){case e:o=(I-i)/s+(I<i?6:0);break;case I:o=(i-e)/s+2;break;case i:o=(e-I)/s+4;break}o/=6}return A.h=o,A.s=a,A.l=r,A}getRGB(A,g=yC.workingColorSpace){return yC.fromWorkingColorSpace(qd(this,ct),g),A.r=ct.r,A.g=ct.g,A.b=ct.b,A}getStyle(A=Wa){return yC.fromWorkingColorSpace(qd(this,ct),A),A!==Wa?`color(${A} ${ct.r} ${ct.g} ${ct.b})`:`rgb(${ct.r*255|0},${ct.g*255|0},${ct.b*255|0})`}offsetHSL(A,g,e){return this.getHSL(Xo),Xo.h+=A,Xo.s+=g,Xo.l+=e,this.setHSL(Xo.h,Xo.s,Xo.l),this}add(A){return this.r+=A.r,this.g+=A.g,this.b+=A.b,this}addColors(A,g){return this.r=A.r+g.r,this.g=A.g+g.g,this.b=A.b+g.b,this}addScalar(A){return this.r+=A,this.g+=A,this.b+=A,this}sub(A){return this.r=Math.max(0,this.r-A.r),this.g=Math.max(0,this.g-A.g),this.b=Math.max(0,this.b-A.b),this}multiply(A){return this.r*=A.r,this.g*=A.g,this.b*=A.b,this}multiplyScalar(A){return this.r*=A,this.g*=A,this.b*=A,this}lerp(A,g){return this.r+=(A.r-this.r)*g,this.g+=(A.g-this.g)*g,this.b+=(A.b-this.b)*g,this}lerpColors(A,g,e){return this.r=A.r+(g.r-A.r)*e,this.g=A.g+(g.g-A.g)*e,this.b=A.b+(g.b-A.b)*e,this}lerpHSL(A,g){this.getHSL(Xo),A.getHSL(Jd);let e=Hl(Xo.h,Jd.h,g),I=Hl(Xo.s,Jd.s,g),i=Hl(Xo.l,Jd.l,g);return this.setHSL(e,I,i),this}equals(A){return A.r===this.r&&A.g===this.g&&A.b===this.b}fromArray(A,g=0){return this.r=A[g],this.g=A[g+1],this.b=A[g+2],this}toArray(A=[],g=0){return A[g]=this.r,A[g+1]=this.g,A[g+2]=this.b,A}fromBufferAttribute(A,g){return this.r=A.getX(g),this.g=A.getY(g),this.b=A.getZ(g),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}};de.NAMES=GJ;var wn,mJ=class{static getDataURL(A){if(/^data:/i.test(A.src)||typeof HTMLCanvasElement>"u")return A.src;let g;if(A instanceof HTMLCanvasElement)g=A;else{wn===void 0&&(wn=gc("canvas")),wn.width=A.width,wn.height=A.height;let e=wn.getContext("2d");A instanceof ImageData?e.putImageData(A,0,0):e.drawImage(A,0,0,A.width,A.height),g=wn}return g.width>2048||g.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),g.toDataURL("image/jpeg",.6)):g.toDataURL("image/png")}static sRGBToLinear(A){if(typeof HTMLImageElement<"u"&&A instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&A instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&A instanceof ImageBitmap){let g=gc("canvas");g.width=A.width,g.height=A.height;let e=g.getContext("2d");e.drawImage(A,0,0,A.width,A.height);let I=e.getImageData(0,0,A.width,A.height),i=I.data;for(let t=0;t<i.length;t++)i[t]=uQ(i[t]/255)*255;return e.putImageData(I,0,0),g}else if(A.data){let g=A.data.slice(0);for(let e=0;e<g.length;e++)g instanceof Uint8Array||g instanceof Uint8ClampedArray?g[e]=Math.floor(uQ(g[e]/255)*255):g[e]=uQ(g[e]);return{data:g,width:A.width,height:A.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),A}},MJ=class{constructor(A=null){this.isSource=!0,this.uuid=Ko(),this.data=A,this.version=0}set needsUpdate(A){A===!0&&this.version++}toJSON(A){let g=A===void 0||typeof A=="string";if(!g&&A.images[this.uuid]!==void 0)return A.images[this.uuid];let e={uuid:this.uuid,url:""},I=this.data;if(I!==null){let i;if(Array.isArray(I)){i=[];for(let t=0,C=I.length;t<C;t++)I[t].isDataTexture?i.push(Iw(I[t].image)):i.push(Iw(I[t]))}else i=Iw(I);e.url=i}return g||(A.images[this.uuid]=e),e}};function Iw(A){return typeof HTMLImageElement<"u"&&A instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&A instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&A instanceof ImageBitmap?mJ.getDataURL(A):A.data?{data:Array.from(A.data),width:A.width,height:A.height,type:A.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var j4=0,yi=class extends tC{constructor(A=yi.DEFAULT_IMAGE,g=yi.DEFAULT_MAPPING,e=hi,I=hi,i=Ve,t=kE,C=qt,o=cC,a=yi.DEFAULT_ANISOTROPY,r=ca){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:j4++}),this.uuid=Ko(),this.name="",this.source=new MJ(A),this.mipmaps=[],this.mapping=g,this.wrapS=e,this.wrapT=I,this.magFilter=i,this.minFilter=t,this.anisotropy=a,this.format=C,this.internalFormat=null,this.type=o,this.offset=new mA(0,0),this.repeat=new mA(1,1),this.center=new mA(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new wt,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=r,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(A){this.source.data=A}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(A){return this.name=A.name,this.source=A.source,this.mipmaps=A.mipmaps.slice(0),this.mapping=A.mapping,this.wrapS=A.wrapS,this.wrapT=A.wrapT,this.magFilter=A.magFilter,this.minFilter=A.minFilter,this.anisotropy=A.anisotropy,this.format=A.format,this.internalFormat=A.internalFormat,this.type=A.type,this.offset.copy(A.offset),this.repeat.copy(A.repeat),this.center.copy(A.center),this.rotation=A.rotation,this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrix.copy(A.matrix),this.generateMipmaps=A.generateMipmaps,this.premultiplyAlpha=A.premultiplyAlpha,this.flipY=A.flipY,this.unpackAlignment=A.unpackAlignment,this.encoding=A.encoding,this.userData=JSON.parse(JSON.stringify(A.userData)),this.needsUpdate=!0,this}toJSON(A){let g=A===void 0||typeof A=="string";if(!g&&A.textures[this.uuid]!==void 0)return A.textures[this.uuid];let e={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(A).uuid,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(e.userData=this.userData),g||(A.textures[this.uuid]=e),e}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(A){if(this.mapping!==dJ)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case is:A.x=A.x-Math.floor(A.x);break;case hi:A.x=A.x<0?0:1;break;case Af:Math.abs(Math.floor(A.x)%2)===1?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x);break}if(A.y<0||A.y>1)switch(this.wrapT){case is:A.y=A.y-Math.floor(A.y);break;case hi:A.y=A.y<0?0:1;break;case Af:Math.abs(Math.floor(A.y)%2)===1?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y);break}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){A===!0&&(this.version++,this.source.needsUpdate=!0)}};yi.DEFAULT_IMAGE=null;yi.DEFAULT_MAPPING=dJ;yi.DEFAULT_ANISOTROPY=1;var Ue=class{constructor(A=0,g=0,e=0,I=1){Ue.prototype.isVector4=!0,this.x=A,this.y=g,this.z=e,this.w=I}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,g,e,I){return this.x=A,this.y=g,this.z=e,this.w=I,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,g){switch(A){case 0:this.x=g;break;case 1:this.y=g;break;case 2:this.z=g;break;case 3:this.w=g;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=A.w!==void 0?A.w:1,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,g){return this.x=A.x+g.x,this.y=A.y+g.y,this.z=A.z+g.z,this.w=A.w+g.w,this}addScaledVector(A,g){return this.x+=A.x*g,this.y+=A.y*g,this.z+=A.z*g,this.w+=A.w*g,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,g){return this.x=A.x-g.x,this.y=A.y-g.y,this.z=A.z-g.z,this.w=A.w-g.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){let g=this.x,e=this.y,I=this.z,i=this.w,t=A.elements;return this.x=t[0]*g+t[4]*e+t[8]*I+t[12]*i,this.y=t[1]*g+t[5]*e+t[9]*I+t[13]*i,this.z=t[2]*g+t[6]*e+t[10]*I+t[14]*i,this.w=t[3]*g+t[7]*e+t[11]*I+t[15]*i,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);let g=Math.sqrt(1-A.w*A.w);return g<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/g,this.y=A.y/g,this.z=A.z/g),this}setAxisAngleFromRotationMatrix(A){let g,e,I,i,t=A.elements,C=t[0],o=t[4],a=t[8],r=t[1],s=t[5],B=t[9],Q=t[2],n=t[6],E=t[10];if(Math.abs(o-r)<.01&&Math.abs(a-Q)<.01&&Math.abs(B-n)<.01){if(Math.abs(o+r)<.1&&Math.abs(a+Q)<.1&&Math.abs(B+n)<.1&&Math.abs(C+s+E-3)<.1)return this.set(1,0,0,0),this;g=Math.PI;let h=(C+1)/2,u=(s+1)/2,D=(E+1)/2,p=(o+r)/4,w=(a+Q)/4,k=(B+n)/4;return h>u&&h>D?h<.01?(e=0,I=.707106781,i=.707106781):(e=Math.sqrt(h),I=p/e,i=w/e):u>D?u<.01?(e=.707106781,I=0,i=.707106781):(I=Math.sqrt(u),e=p/I,i=k/I):D<.01?(e=.707106781,I=.707106781,i=0):(i=Math.sqrt(D),e=w/i,I=k/i),this.set(e,I,i,g),this}let l=Math.sqrt((n-B)*(n-B)+(a-Q)*(a-Q)+(r-o)*(r-o));return Math.abs(l)<.001&&(l=1),this.x=(n-B)/l,this.y=(a-Q)/l,this.z=(r-o)/l,this.w=Math.acos((C+s+E-1)/2),this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this.w=Math.min(this.w,A.w),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this.w=Math.max(this.w,A.w),this}clamp(A,g){return this.x=Math.max(A.x,Math.min(g.x,this.x)),this.y=Math.max(A.y,Math.min(g.y,this.y)),this.z=Math.max(A.z,Math.min(g.z,this.z)),this.w=Math.max(A.w,Math.min(g.w,this.w)),this}clampScalar(A,g){return this.x=Math.max(A,Math.min(g,this.x)),this.y=Math.max(A,Math.min(g,this.y)),this.z=Math.max(A,Math.min(g,this.z)),this.w=Math.max(A,Math.min(g,this.w)),this}clampLength(A,g){let e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(g,e)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.z+this.w*A.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,g){return this.x+=(A.x-this.x)*g,this.y+=(A.y-this.y)*g,this.z+=(A.z-this.z)*g,this.w+=(A.w-this.w)*g,this}lerpVectors(A,g,e){return this.x=A.x+(g.x-A.x)*e,this.y=A.y+(g.y-A.y)*e,this.z=A.z+(g.z-A.z)*e,this.w=A.w+(g.w-A.w)*e,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z&&A.w===this.w}fromArray(A,g=0){return this.x=A[g],this.y=A[g+1],this.z=A[g+2],this.w=A[g+3],this}toArray(A=[],g=0){return A[g]=this.x,A[g+1]=this.y,A[g+2]=this.z,A[g+3]=this.w,A}fromBufferAttribute(A,g){return this.x=A.getX(g),this.y=A.getY(g),this.z=A.getZ(g),this.w=A.getW(g),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}},FI=class extends tC{constructor(A=1,g=1,e={}){super(),this.isWebGLRenderTarget=!0,this.width=A,this.height=g,this.depth=1,this.scissor=new Ue(0,0,A,g),this.scissorTest=!1,this.viewport=new Ue(0,0,A,g);let I={width:A,height:g,depth:1};this.texture=new yi(I,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=e.generateMipmaps!==void 0?e.generateMipmaps:!1,this.texture.internalFormat=e.internalFormat!==void 0?e.internalFormat:null,this.texture.minFilter=e.minFilter!==void 0?e.minFilter:Ve,this.depthBuffer=e.depthBuffer!==void 0?e.depthBuffer:!0,this.stencilBuffer=e.stencilBuffer!==void 0?e.stencilBuffer:!1,this.depthTexture=e.depthTexture!==void 0?e.depthTexture:null,this.samples=e.samples!==void 0?e.samples:0}setSize(A,g,e=1){(this.width!==A||this.height!==g||this.depth!==e)&&(this.width=A,this.height=g,this.depth=e,this.texture.image.width=A,this.texture.image.height=g,this.texture.image.depth=e,this.dispose()),this.viewport.set(0,0,A,g),this.scissor.set(0,0,A,g)}clone(){return new this.constructor().copy(this)}copy(A){this.width=A.width,this.height=A.height,this.depth=A.depth,this.viewport.copy(A.viewport),this.texture=A.texture.clone(),this.texture.isRenderTargetTexture=!0;let g=Object.assign({},A.texture.image);return this.texture.source=new MJ(g),this.depthBuffer=A.depthBuffer,this.stencilBuffer=A.stencilBuffer,A.depthTexture!==null&&(this.depthTexture=A.depthTexture.clone()),this.samples=A.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}},kJ=class extends yi{constructor(A=null,g=1,e=1,I=1){super(null),this.isDataArrayTexture=!0,this.image={data:A,width:g,height:e,depth:I},this.magFilter=qI,this.minFilter=qI,this.wrapR=hi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},W4=class extends yi{constructor(A=null,g=1,e=1,I=1){super(null),this.isData3DTexture=!0,this.image={data:A,width:g,height:e,depth:I},this.magFilter=qI,this.minFilter=qI,this.wrapR=hi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},z4=class extends FI{constructor(A=1,g=1,e=1,I={}){super(A,g,I),this.isWebGLMultipleRenderTargets=!0;let i=this.texture;this.texture=[];for(let t=0;t<e;t++)this.texture[t]=i.clone(),this.texture[t].isRenderTargetTexture=!0}setSize(A,g,e=1){if(this.width!==A||this.height!==g||this.depth!==e){this.width=A,this.height=g,this.depth=e;for(let I=0,i=this.texture.length;I<i;I++)this.texture[I].image.width=A,this.texture[I].image.height=g,this.texture[I].image.depth=e;this.dispose()}return this.viewport.set(0,0,A,g),this.scissor.set(0,0,A,g),this}copy(A){this.dispose(),this.width=A.width,this.height=A.height,this.depth=A.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=A.depthBuffer,this.stencilBuffer=A.stencilBuffer,A.depthTexture!==null&&(this.depthTexture=A.depthTexture.clone()),this.texture.length=0;for(let g=0,e=A.texture.length;g<e;g++)this.texture[g]=A.texture[g].clone(),this.texture[g].isRenderTargetTexture=!0;return this}},ke=class{constructor(A=0,g=0,e=0,I=1){this.isQuaternion=!0,this._x=A,this._y=g,this._z=e,this._w=I}static slerpFlat(A,g,e,I,i,t,C){let o=e[I+0],a=e[I+1],r=e[I+2],s=e[I+3],B=i[t+0],Q=i[t+1],n=i[t+2],E=i[t+3];if(C===0){A[g+0]=o,A[g+1]=a,A[g+2]=r,A[g+3]=s;return}if(C===1){A[g+0]=B,A[g+1]=Q,A[g+2]=n,A[g+3]=E;return}if(s!==E||o!==B||a!==Q||r!==n){let l=1-C,h=o*B+a*Q+r*n+s*E,u=h>=0?1:-1,D=1-h*h;if(D>Number.EPSILON){let w=Math.sqrt(D),k=Math.atan2(w,h*u);l=Math.sin(l*k)/w,C=Math.sin(C*k)/w}let p=C*u;if(o=o*l+B*p,a=a*l+Q*p,r=r*l+n*p,s=s*l+E*p,l===1-C){let w=1/Math.sqrt(o*o+a*a+r*r+s*s);o*=w,a*=w,r*=w,s*=w}}A[g]=o,A[g+1]=a,A[g+2]=r,A[g+3]=s}static multiplyQuaternionsFlat(A,g,e,I,i,t){let C=e[I],o=e[I+1],a=e[I+2],r=e[I+3],s=i[t],B=i[t+1],Q=i[t+2],n=i[t+3];return A[g]=C*n+r*s+o*Q-a*B,A[g+1]=o*n+r*B+a*s-C*Q,A[g+2]=a*n+r*Q+C*B-o*s,A[g+3]=r*n-C*s-o*B-a*Q,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,g,e,I){return this._x=A,this._y=g,this._z=e,this._w=I,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,g){let e=A._x,I=A._y,i=A._z,t=A._order,C=Math.cos,o=Math.sin,a=C(e/2),r=C(I/2),s=C(i/2),B=o(e/2),Q=o(I/2),n=o(i/2);switch(t){case"XYZ":this._x=B*r*s+a*Q*n,this._y=a*Q*s-B*r*n,this._z=a*r*n+B*Q*s,this._w=a*r*s-B*Q*n;break;case"YXZ":this._x=B*r*s+a*Q*n,this._y=a*Q*s-B*r*n,this._z=a*r*n-B*Q*s,this._w=a*r*s+B*Q*n;break;case"ZXY":this._x=B*r*s-a*Q*n,this._y=a*Q*s+B*r*n,this._z=a*r*n+B*Q*s,this._w=a*r*s-B*Q*n;break;case"ZYX":this._x=B*r*s-a*Q*n,this._y=a*Q*s+B*r*n,this._z=a*r*n-B*Q*s,this._w=a*r*s+B*Q*n;break;case"YZX":this._x=B*r*s+a*Q*n,this._y=a*Q*s+B*r*n,this._z=a*r*n-B*Q*s,this._w=a*r*s-B*Q*n;break;case"XZY":this._x=B*r*s-a*Q*n,this._y=a*Q*s-B*r*n,this._z=a*r*n+B*Q*s,this._w=a*r*s+B*Q*n;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+t)}return g!==!1&&this._onChangeCallback(),this}setFromAxisAngle(A,g){let e=g/2,I=Math.sin(e);return this._x=A.x*I,this._y=A.y*I,this._z=A.z*I,this._w=Math.cos(e),this._onChangeCallback(),this}setFromRotationMatrix(A){let g=A.elements,e=g[0],I=g[4],i=g[8],t=g[1],C=g[5],o=g[9],a=g[2],r=g[6],s=g[10],B=e+C+s;if(B>0){let Q=.5/Math.sqrt(B+1);this._w=.25/Q,this._x=(r-o)*Q,this._y=(i-a)*Q,this._z=(t-I)*Q}else if(e>C&&e>s){let Q=2*Math.sqrt(1+e-C-s);this._w=(r-o)/Q,this._x=.25*Q,this._y=(I+t)/Q,this._z=(i+a)/Q}else if(C>s){let Q=2*Math.sqrt(1+C-e-s);this._w=(i-a)/Q,this._x=(I+t)/Q,this._y=.25*Q,this._z=(o+r)/Q}else{let Q=2*Math.sqrt(1+s-e-C);this._w=(t-I)/Q,this._x=(i+a)/Q,this._y=(o+r)/Q,this._z=.25*Q}return this._onChangeCallback(),this}setFromUnitVectors(A,g){let e=A.dot(g)+1;return e<Number.EPSILON?(e=0,Math.abs(A.x)>Math.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=e):(this._x=0,this._y=-A.z,this._z=A.y,this._w=e)):(this._x=A.y*g.z-A.z*g.y,this._y=A.z*g.x-A.x*g.z,this._z=A.x*g.y-A.y*g.x,this._w=e),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(It(this.dot(A),-1,1)))}rotateTowards(A,g){let e=this.angleTo(A);if(e===0)return this;let I=Math.min(1,g/e);return this.slerp(A,I),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let A=this.length();return A===0?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A){return this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,g){let e=A._x,I=A._y,i=A._z,t=A._w,C=g._x,o=g._y,a=g._z,r=g._w;return this._x=e*r+t*C+I*a-i*o,this._y=I*r+t*o+i*C-e*a,this._z=i*r+t*a+e*o-I*C,this._w=t*r-e*C-I*o-i*a,this._onChangeCallback(),this}slerp(A,g){if(g===0)return this;if(g===1)return this.copy(A);let e=this._x,I=this._y,i=this._z,t=this._w,C=t*A._w+e*A._x+I*A._y+i*A._z;if(C<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,C=-C):this.copy(A),C>=1)return this._w=t,this._x=e,this._y=I,this._z=i,this;let o=1-C*C;if(o<=Number.EPSILON){let Q=1-g;return this._w=Q*t+g*this._w,this._x=Q*e+g*this._x,this._y=Q*I+g*this._y,this._z=Q*i+g*this._z,this.normalize(),this._onChangeCallback(),this}let a=Math.sqrt(o),r=Math.atan2(a,C),s=Math.sin((1-g)*r)/a,B=Math.sin(g*r)/a;return this._w=t*s+this._w*B,this._x=e*s+this._x*B,this._y=I*s+this._y*B,this._z=i*s+this._z*B,this._onChangeCallback(),this}slerpQuaternions(A,g,e){return this.copy(A).slerp(g,e)}random(){let A=Math.random(),g=Math.sqrt(1-A),e=Math.sqrt(A),I=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(g*Math.cos(I),e*Math.sin(i),e*Math.cos(i),g*Math.sin(I))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,g=0){return this._x=A[g],this._y=A[g+1],this._z=A[g+2],this._w=A[g+3],this._onChangeCallback(),this}toArray(A=[],g=0){return A[g]=this._x,A[g+1]=this._y,A[g+2]=this._z,A[g+3]=this._w,A}fromBufferAttribute(A,g){return this._x=A.getX(g),this._y=A.getY(g),this._z=A.getZ(g),this._w=A.getW(g),this}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},x=class{constructor(A=0,g=0,e=0){x.prototype.isVector3=!0,this.x=A,this.y=g,this.z=e}set(A,g,e){return e===void 0&&(e=this.z),this.x=A,this.y=g,this.z=e,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,g){switch(A){case 0:this.x=g;break;case 1:this.y=g;break;case 2:this.z=g;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,g){return this.x=A.x+g.x,this.y=A.y+g.y,this.z=A.z+g.z,this}addScaledVector(A,g){return this.x+=A.x*g,this.y+=A.y*g,this.z+=A.z*g,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,g){return this.x=A.x-g.x,this.y=A.y-g.y,this.z=A.z-g.z,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,g){return this.x=A.x*g.x,this.y=A.y*g.y,this.z=A.z*g.z,this}applyEuler(A){return this.applyQuaternion(PU.setFromEuler(A))}applyAxisAngle(A,g){return this.applyQuaternion(PU.setFromAxisAngle(A,g))}applyMatrix3(A){let g=this.x,e=this.y,I=this.z,i=A.elements;return this.x=i[0]*g+i[3]*e+i[6]*I,this.y=i[1]*g+i[4]*e+i[7]*I,this.z=i[2]*g+i[5]*e+i[8]*I,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){let g=this.x,e=this.y,I=this.z,i=A.elements,t=1/(i[3]*g+i[7]*e+i[11]*I+i[15]);return this.x=(i[0]*g+i[4]*e+i[8]*I+i[12])*t,this.y=(i[1]*g+i[5]*e+i[9]*I+i[13])*t,this.z=(i[2]*g+i[6]*e+i[10]*I+i[14])*t,this}applyQuaternion(A){let g=this.x,e=this.y,I=this.z,i=A.x,t=A.y,C=A.z,o=A.w,a=o*g+t*I-C*e,r=o*e+C*g-i*I,s=o*I+i*e-t*g,B=-i*g-t*e-C*I;return this.x=a*o+B*-i+r*-C-s*-t,this.y=r*o+B*-t+s*-i-a*-C,this.z=s*o+B*-C+a*-t-r*-i,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){let g=this.x,e=this.y,I=this.z,i=A.elements;return this.x=i[0]*g+i[4]*e+i[8]*I,this.y=i[1]*g+i[5]*e+i[9]*I,this.z=i[2]*g+i[6]*e+i[10]*I,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,g){return this.x=Math.max(A.x,Math.min(g.x,this.x)),this.y=Math.max(A.y,Math.min(g.y,this.y)),this.z=Math.max(A.z,Math.min(g.z,this.z)),this}clampScalar(A,g){return this.x=Math.max(A,Math.min(g,this.x)),this.y=Math.max(A,Math.min(g,this.y)),this.z=Math.max(A,Math.min(g,this.z)),this}clampLength(A,g){let e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(g,e)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,g){return this.x+=(A.x-this.x)*g,this.y+=(A.y-this.y)*g,this.z+=(A.z-this.z)*g,this}lerpVectors(A,g,e){return this.x=A.x+(g.x-A.x)*e,this.y=A.y+(g.y-A.y)*e,this.z=A.z+(g.z-A.z)*e,this}cross(A){return this.crossVectors(this,A)}crossVectors(A,g){let e=A.x,I=A.y,i=A.z,t=g.x,C=g.y,o=g.z;return this.x=I*o-i*C,this.y=i*t-e*o,this.z=e*C-I*t,this}projectOnVector(A){let g=A.lengthSq();if(g===0)return this.set(0,0,0);let e=A.dot(this)/g;return this.copy(A).multiplyScalar(e)}projectOnPlane(A){return iw.copy(this).projectOnVector(A),this.sub(iw)}reflect(A){return this.sub(iw.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){let g=Math.sqrt(this.lengthSq()*A.lengthSq());if(g===0)return Math.PI/2;let e=this.dot(A)/g;return Math.acos(It(e,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){let g=this.x-A.x,e=this.y-A.y,I=this.z-A.z;return g*g+e*e+I*I}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,g,e){let I=Math.sin(g)*A;return this.x=I*Math.sin(e),this.y=Math.cos(g)*A,this.z=I*Math.cos(e),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,g,e){return this.x=A*Math.sin(g),this.y=e,this.z=A*Math.cos(g),this}setFromMatrixPosition(A){let g=A.elements;return this.x=g[12],this.y=g[13],this.z=g[14],this}setFromMatrixScale(A){let g=this.setFromMatrixColumn(A,0).length(),e=this.setFromMatrixColumn(A,1).length(),I=this.setFromMatrixColumn(A,2).length();return this.x=g,this.y=e,this.z=I,this}setFromMatrixColumn(A,g){return this.fromArray(A.elements,g*4)}setFromMatrix3Column(A,g){return this.fromArray(A.elements,g*3)}setFromEuler(A){return this.x=A._x,this.y=A._y,this.z=A._z,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,g=0){return this.x=A[g],this.y=A[g+1],this.z=A[g+2],this}toArray(A=[],g=0){return A[g]=this.x,A[g+1]=this.y,A[g+2]=this.z,A}fromBufferAttribute(A,g){return this.x=A.getX(g),this.y=A.getY(g),this.z=A.getZ(g),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let A=(Math.random()-.5)*2,g=Math.random()*Math.PI*2,e=Math.sqrt(1-A**2);return this.x=e*Math.cos(g),this.y=e*Math.sin(g),this.z=A,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},iw=new x,PU=new ke,ji=class{constructor(A=new x(1/0,1/0,1/0),g=new x(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=A,this.max=g}set(A,g){return this.min.copy(A),this.max.copy(g),this}setFromArray(A){let g=1/0,e=1/0,I=1/0,i=-1/0,t=-1/0,C=-1/0;for(let o=0,a=A.length;o<a;o+=3){let r=A[o],s=A[o+1],B=A[o+2];r<g&&(g=r),s<e&&(e=s),B<I&&(I=B),r>i&&(i=r),s>t&&(t=s),B>C&&(C=B)}return this.min.set(g,e,I),this.max.set(i,t,C),this}setFromBufferAttribute(A){let g=1/0,e=1/0,I=1/0,i=-1/0,t=-1/0,C=-1/0;for(let o=0,a=A.count;o<a;o++){let r=A.getX(o),s=A.getY(o),B=A.getZ(o);r<g&&(g=r),s<e&&(e=s),B<I&&(I=B),r>i&&(i=r),s>t&&(t=s),B>C&&(C=B)}return this.min.set(g,e,I),this.max.set(i,t,C),this}setFromPoints(A){this.makeEmpty();for(let g=0,e=A.length;g<e;g++)this.expandByPoint(A[g]);return this}setFromCenterAndSize(A,g){let e=OB.copy(g).multiplyScalar(.5);return this.min.copy(A).sub(e),this.max.copy(A).add(e),this}setFromObject(A,g=!1){return this.makeEmpty(),this.expandByObject(A,g)}clone(){return new this.constructor().copy(this)}copy(A){return this.min.copy(A.min),this.max.copy(A.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(A){return this.isEmpty()?A.set(0,0,0):A.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(A){return this.isEmpty()?A.set(0,0,0):A.subVectors(this.max,this.min)}expandByPoint(A){return this.min.min(A),this.max.max(A),this}expandByVector(A){return this.min.sub(A),this.max.add(A),this}expandByScalar(A){return this.min.addScalar(-A),this.max.addScalar(A),this}expandByObject(A,g=!1){A.updateWorldMatrix(!1,!1);let e=A.geometry;if(e!==void 0)if(g&&e.attributes!=null&&e.attributes.position!==void 0){let i=e.attributes.position;for(let t=0,C=i.count;t<C;t++)OB.fromBufferAttribute(i,t).applyMatrix4(A.matrixWorld),this.expandByPoint(OB)}else e.boundingBox===null&&e.computeBoundingBox(),tw.copy(e.boundingBox),tw.applyMatrix4(A.matrixWorld),this.union(tw);let I=A.children;for(let i=0,t=I.length;i<t;i++)this.expandByObject(I[i],g);return this}containsPoint(A){return!(A.x<this.min.x||A.x>this.max.x||A.y<this.min.y||A.y>this.max.y||A.z<this.min.z||A.z>this.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,g){return g.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.x<this.min.x||A.min.x>this.max.x||A.max.y<this.min.y||A.min.y>this.max.y||A.max.z<this.min.z||A.min.z>this.max.z)}intersectsSphere(A){return this.clampPoint(A.center,OB),OB.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let g,e;return A.normal.x>0?(g=A.normal.x*this.min.x,e=A.normal.x*this.max.x):(g=A.normal.x*this.max.x,e=A.normal.x*this.min.x),A.normal.y>0?(g+=A.normal.y*this.min.y,e+=A.normal.y*this.max.y):(g+=A.normal.y*this.max.y,e+=A.normal.y*this.min.y),A.normal.z>0?(g+=A.normal.z*this.min.z,e+=A.normal.z*this.max.z):(g+=A.normal.z*this.max.z,e+=A.normal.z*this.min.z),g<=-A.constant&&e>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(gl),bd.subVectors(this.max,gl),fn.subVectors(A.a,gl),Sn.subVectors(A.b,gl),Gn.subVectors(A.c,gl),Ys.subVectors(Sn,fn),Hs.subVectors(Gn,Sn),_B.subVectors(fn,Gn);let g=[0,-Ys.z,Ys.y,0,-Hs.z,Hs.y,0,-_B.z,_B.y,Ys.z,0,-Ys.x,Hs.z,0,-Hs.x,_B.z,0,-_B.x,-Ys.y,Ys.x,0,-Hs.y,Hs.x,0,-_B.y,_B.x,0];return!Cw(g,fn,Sn,Gn,bd)||(g=[1,0,0,0,1,0,0,0,1],!Cw(g,fn,Sn,Gn,bd))?!1:(Ld.crossVectors(Ys,Hs),g=[Ld.x,Ld.y,Ld.z],Cw(g,fn,Sn,Gn,bd))}clampPoint(A,g){return g.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return OB.copy(A).clamp(this.min,this.max).sub(A).length()}getBoundingSphere(A){return this.getCenter(A.center),A.radius=this.getSize(OB).length()*.5,A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()?this:(Jr[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),Jr[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),Jr[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),Jr[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),Jr[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),Jr[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),Jr[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),Jr[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(Jr),this)}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}},Jr=[new x,new x,new x,new x,new x,new x,new x,new x],OB=new x,tw=new ji,fn=new x,Sn=new x,Gn=new x,Ys=new x,Hs=new x,_B=new x,gl=new x,bd=new x,Ld=new x,PB=new x;function Cw(A,g,e,I,i){for(let t=0,C=A.length-3;t<=C;t+=3){PB.fromArray(A,t);let o=i.x*Math.abs(PB.x)+i.y*Math.abs(PB.y)+i.z*Math.abs(PB.z),a=g.dot(PB),r=e.dot(PB),s=I.dot(PB);if(Math.max(-Math.max(a,r,s),Math.min(a,r,s))>o)return!1}return!0}var V4=new ji,el=new x,ow=new x,VC=class{constructor(A=new x,g=-1){this.center=A,this.radius=g}set(A,g){return this.center.copy(A),this.radius=g,this}setFromPoints(A,g){let e=this.center;g!==void 0?e.copy(g):V4.setFromPoints(A).getCenter(e);let I=0;for(let i=0,t=A.length;i<t;i++)I=Math.max(I,e.distanceToSquared(A[i]));return this.radius=Math.sqrt(I),this}copy(A){return this.center.copy(A.center),this.radius=A.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(A){return A.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(A){return A.distanceTo(this.center)-this.radius}intersectsSphere(A){let g=this.radius+A.radius;return A.center.distanceToSquared(this.center)<=g*g}intersectsBox(A){return A.intersectsSphere(this)}intersectsPlane(A){return Math.abs(A.distanceToPoint(this.center))<=this.radius}clampPoint(A,g){let e=this.center.distanceToSquared(A);return g.copy(A),e>this.radius*this.radius&&(g.sub(this.center).normalize(),g.multiplyScalar(this.radius).add(this.center)),g}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){if(this.isEmpty())return this.center.copy(A),this.radius=0,this;el.subVectors(A,this.center);let g=el.lengthSq();if(g>this.radius*this.radius){let e=Math.sqrt(g),I=(e-this.radius)*.5;this.center.addScaledVector(el,I/e),this.radius+=I}return this}union(A){return A.isEmpty()?this:this.isEmpty()?(this.copy(A),this):(this.center.equals(A.center)===!0?this.radius=Math.max(this.radius,A.radius):(ow.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(el.copy(A.center).add(ow)),this.expandByPoint(el.copy(A.center).sub(ow))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return new this.constructor().copy(this)}},qr=new x,aw=new x,xd=new x,Ts=new x,rw=new x,Yd=new x,sw=new x,_E=class{constructor(A=new x,g=new x(0,0,-1)){this.origin=A,this.direction=g}set(A,g){return this.origin.copy(A),this.direction.copy(g),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,g){return g.copy(this.direction).multiplyScalar(A).add(this.origin)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,qr)),this}closestPointToPoint(A,g){g.subVectors(A,this.origin);let e=g.dot(this.direction);return e<0?g.copy(this.origin):g.copy(this.direction).multiplyScalar(e).add(this.origin)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){let g=qr.subVectors(A,this.origin).dot(this.direction);return g<0?this.origin.distanceToSquared(A):(qr.copy(this.direction).multiplyScalar(g).add(this.origin),qr.distanceToSquared(A))}distanceSqToSegment(A,g,e,I){aw.copy(A).add(g).multiplyScalar(.5),xd.copy(g).sub(A).normalize(),Ts.copy(this.origin).sub(aw);let i=A.distanceTo(g)*.5,t=-this.direction.dot(xd),C=Ts.dot(this.direction),o=-Ts.dot(xd),a=Ts.lengthSq(),r=Math.abs(1-t*t),s,B,Q,n;if(r>0)if(s=t*o-C,B=t*C-o,n=i*r,s>=0)if(B>=-n)if(B<=n){let E=1/r;s*=E,B*=E,Q=s*(s+t*B+2*C)+B*(t*s+B+2*o)+a}else B=i,s=Math.max(0,-(t*B+C)),Q=-s*s+B*(B+2*o)+a;else B=-i,s=Math.max(0,-(t*B+C)),Q=-s*s+B*(B+2*o)+a;else B<=-n?(s=Math.max(0,-(-t*i+C)),B=s>0?-i:Math.min(Math.max(-i,-o),i),Q=-s*s+B*(B+2*o)+a):B<=n?(s=0,B=Math.min(Math.max(-i,-o),i),Q=B*(B+2*o)+a):(s=Math.max(0,-(t*i+C)),B=s>0?i:Math.min(Math.max(-i,-o),i),Q=-s*s+B*(B+2*o)+a);else B=t>0?-i:i,s=Math.max(0,-(t*B+C)),Q=-s*s+B*(B+2*o)+a;return e&&e.copy(this.direction).multiplyScalar(s).add(this.origin),I&&I.copy(xd).multiplyScalar(B).add(aw),Q}intersectSphere(A,g){qr.subVectors(A.center,this.origin);let e=qr.dot(this.direction),I=qr.dot(qr)-e*e,i=A.radius*A.radius;if(I>i)return null;let t=Math.sqrt(i-I),C=e-t,o=e+t;return C<0&&o<0?null:C<0?this.at(o,g):this.at(C,g)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){let g=A.normal.dot(this.direction);if(g===0)return A.distanceToPoint(this.origin)===0?0:null;let e=-(this.origin.dot(A.normal)+A.constant)/g;return e>=0?e:null}intersectPlane(A,g){let e=this.distanceToPlane(A);return e===null?null:this.at(e,g)}intersectsPlane(A){let g=A.distanceToPoint(this.origin);return g===0||A.normal.dot(this.direction)*g<0}intersectBox(A,g){let e,I,i,t,C,o,a=1/this.direction.x,r=1/this.direction.y,s=1/this.direction.z,B=this.origin;return a>=0?(e=(A.min.x-B.x)*a,I=(A.max.x-B.x)*a):(e=(A.max.x-B.x)*a,I=(A.min.x-B.x)*a),r>=0?(i=(A.min.y-B.y)*r,t=(A.max.y-B.y)*r):(i=(A.max.y-B.y)*r,t=(A.min.y-B.y)*r),e>t||i>I||((i>e||isNaN(e))&&(e=i),(t<I||isNaN(I))&&(I=t),s>=0?(C=(A.min.z-B.z)*s,o=(A.max.z-B.z)*s):(C=(A.max.z-B.z)*s,o=(A.min.z-B.z)*s),e>o||C>I)||((C>e||e!==e)&&(e=C),(o<I||I!==I)&&(I=o),I<0)?null:this.at(e>=0?e:I,g)}intersectsBox(A){return this.intersectBox(A,qr)!==null}intersectTriangle(A,g,e,I,i){rw.subVectors(g,A),Yd.subVectors(e,A),sw.crossVectors(rw,Yd);let t=this.direction.dot(sw),C;if(t>0){if(I)return null;C=1}else if(t<0)C=-1,t=-t;else return null;Ts.subVectors(this.origin,A);let o=C*this.direction.dot(Yd.crossVectors(Ts,Yd));if(o<0)return null;let a=C*this.direction.dot(rw.cross(Ts));if(a<0||o+a>t)return null;let r=-C*Ts.dot(sw);return r<0?null:this.at(r/t,i)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},wg=class{constructor(){wg.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(A,g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l){let h=this.elements;return h[0]=A,h[4]=g,h[8]=e,h[12]=I,h[1]=i,h[5]=t,h[9]=C,h[13]=o,h[2]=a,h[6]=r,h[10]=s,h[14]=B,h[3]=Q,h[7]=n,h[11]=E,h[15]=l,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new wg().fromArray(this.elements)}copy(A){let g=this.elements,e=A.elements;return g[0]=e[0],g[1]=e[1],g[2]=e[2],g[3]=e[3],g[4]=e[4],g[5]=e[5],g[6]=e[6],g[7]=e[7],g[8]=e[8],g[9]=e[9],g[10]=e[10],g[11]=e[11],g[12]=e[12],g[13]=e[13],g[14]=e[14],g[15]=e[15],this}copyPosition(A){let g=this.elements,e=A.elements;return g[12]=e[12],g[13]=e[13],g[14]=e[14],this}setFromMatrix3(A){let g=A.elements;return this.set(g[0],g[3],g[6],0,g[1],g[4],g[7],0,g[2],g[5],g[8],0,0,0,0,1),this}extractBasis(A,g,e){return A.setFromMatrixColumn(this,0),g.setFromMatrixColumn(this,1),e.setFromMatrixColumn(this,2),this}makeBasis(A,g,e){return this.set(A.x,g.x,e.x,0,A.y,g.y,e.y,0,A.z,g.z,e.z,0,0,0,0,1),this}extractRotation(A){let g=this.elements,e=A.elements,I=1/mn.setFromMatrixColumn(A,0).length(),i=1/mn.setFromMatrixColumn(A,1).length(),t=1/mn.setFromMatrixColumn(A,2).length();return g[0]=e[0]*I,g[1]=e[1]*I,g[2]=e[2]*I,g[3]=0,g[4]=e[4]*i,g[5]=e[5]*i,g[6]=e[6]*i,g[7]=0,g[8]=e[8]*t,g[9]=e[9]*t,g[10]=e[10]*t,g[11]=0,g[12]=0,g[13]=0,g[14]=0,g[15]=1,this}makeRotationFromEuler(A){let g=this.elements,e=A.x,I=A.y,i=A.z,t=Math.cos(e),C=Math.sin(e),o=Math.cos(I),a=Math.sin(I),r=Math.cos(i),s=Math.sin(i);if(A.order==="XYZ"){let B=t*r,Q=t*s,n=C*r,E=C*s;g[0]=o*r,g[4]=-o*s,g[8]=a,g[1]=Q+n*a,g[5]=B-E*a,g[9]=-C*o,g[2]=E-B*a,g[6]=n+Q*a,g[10]=t*o}else if(A.order==="YXZ"){let B=o*r,Q=o*s,n=a*r,E=a*s;g[0]=B+E*C,g[4]=n*C-Q,g[8]=t*a,g[1]=t*s,g[5]=t*r,g[9]=-C,g[2]=Q*C-n,g[6]=E+B*C,g[10]=t*o}else if(A.order==="ZXY"){let B=o*r,Q=o*s,n=a*r,E=a*s;g[0]=B-E*C,g[4]=-t*s,g[8]=n+Q*C,g[1]=Q+n*C,g[5]=t*r,g[9]=E-B*C,g[2]=-t*a,g[6]=C,g[10]=t*o}else if(A.order==="ZYX"){let B=t*r,Q=t*s,n=C*r,E=C*s;g[0]=o*r,g[4]=n*a-Q,g[8]=B*a+E,g[1]=o*s,g[5]=E*a+B,g[9]=Q*a-n,g[2]=-a,g[6]=C*o,g[10]=t*o}else if(A.order==="YZX"){let B=t*o,Q=t*a,n=C*o,E=C*a;g[0]=o*r,g[4]=E-B*s,g[8]=n*s+Q,g[1]=s,g[5]=t*r,g[9]=-C*r,g[2]=-a*r,g[6]=Q*s+n,g[10]=B-E*s}else if(A.order==="XZY"){let B=t*o,Q=t*a,n=C*o,E=C*a;g[0]=o*r,g[4]=-s,g[8]=a*r,g[1]=B*s+E,g[5]=t*r,g[9]=Q*s-n,g[2]=n*s-Q,g[6]=C*r,g[10]=E*s+B}return g[3]=0,g[7]=0,g[11]=0,g[12]=0,g[13]=0,g[14]=0,g[15]=1,this}makeRotationFromQuaternion(A){return this.compose(Z4,A,X4)}lookAt(A,g,e){let I=this.elements;return to.subVectors(A,g),to.lengthSq()===0&&(to.z=1),to.normalize(),Os.crossVectors(e,to),Os.lengthSq()===0&&(Math.abs(e.z)===1?to.x+=1e-4:to.z+=1e-4,to.normalize(),Os.crossVectors(e,to)),Os.normalize(),Hd.crossVectors(to,Os),I[0]=Os.x,I[4]=Hd.x,I[8]=to.x,I[1]=Os.y,I[5]=Hd.y,I[9]=to.y,I[2]=Os.z,I[6]=Hd.z,I[10]=to.z,this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,g){let e=A.elements,I=g.elements,i=this.elements,t=e[0],C=e[4],o=e[8],a=e[12],r=e[1],s=e[5],B=e[9],Q=e[13],n=e[2],E=e[6],l=e[10],h=e[14],u=e[3],D=e[7],p=e[11],w=e[15],k=I[0],U=I[4],N=I[8],G=I[12],R=I[1],J=I[5],q=I[9],T=I[13],P=I[2],H=I[6],eA=I[10],rA=I[14],BA=I[3],aA=I[7],yA=I[11],SA=I[15];return i[0]=t*k+C*R+o*P+a*BA,i[4]=t*U+C*J+o*H+a*aA,i[8]=t*N+C*q+o*eA+a*yA,i[12]=t*G+C*T+o*rA+a*SA,i[1]=r*k+s*R+B*P+Q*BA,i[5]=r*U+s*J+B*H+Q*aA,i[9]=r*N+s*q+B*eA+Q*yA,i[13]=r*G+s*T+B*rA+Q*SA,i[2]=n*k+E*R+l*P+h*BA,i[6]=n*U+E*J+l*H+h*aA,i[10]=n*N+E*q+l*eA+h*yA,i[14]=n*G+E*T+l*rA+h*SA,i[3]=u*k+D*R+p*P+w*BA,i[7]=u*U+D*J+p*H+w*aA,i[11]=u*N+D*q+p*eA+w*yA,i[15]=u*G+D*T+p*rA+w*SA,this}multiplyScalar(A){let g=this.elements;return g[0]*=A,g[4]*=A,g[8]*=A,g[12]*=A,g[1]*=A,g[5]*=A,g[9]*=A,g[13]*=A,g[2]*=A,g[6]*=A,g[10]*=A,g[14]*=A,g[3]*=A,g[7]*=A,g[11]*=A,g[15]*=A,this}determinant(){let A=this.elements,g=A[0],e=A[4],I=A[8],i=A[12],t=A[1],C=A[5],o=A[9],a=A[13],r=A[2],s=A[6],B=A[10],Q=A[14],n=A[3],E=A[7],l=A[11],h=A[15];return n*(+i*o*s-I*a*s-i*C*B+e*a*B+I*C*Q-e*o*Q)+E*(+g*o*Q-g*a*B+i*t*B-I*t*Q+I*a*r-i*o*r)+l*(+g*a*s-g*C*Q-i*t*s+e*t*Q+i*C*r-e*a*r)+h*(-I*C*r-g*o*s+g*C*B+I*t*s-e*t*B+e*o*r)}transpose(){let A=this.elements,g;return g=A[1],A[1]=A[4],A[4]=g,g=A[2],A[2]=A[8],A[8]=g,g=A[6],A[6]=A[9],A[9]=g,g=A[3],A[3]=A[12],A[12]=g,g=A[7],A[7]=A[13],A[13]=g,g=A[11],A[11]=A[14],A[14]=g,this}setPosition(A,g,e){let I=this.elements;return A.isVector3?(I[12]=A.x,I[13]=A.y,I[14]=A.z):(I[12]=A,I[13]=g,I[14]=e),this}invert(){let A=this.elements,g=A[0],e=A[1],I=A[2],i=A[3],t=A[4],C=A[5],o=A[6],a=A[7],r=A[8],s=A[9],B=A[10],Q=A[11],n=A[12],E=A[13],l=A[14],h=A[15],u=s*l*a-E*B*a+E*o*Q-C*l*Q-s*o*h+C*B*h,D=n*B*a-r*l*a-n*o*Q+t*l*Q+r*o*h-t*B*h,p=r*E*a-n*s*a+n*C*Q-t*E*Q-r*C*h+t*s*h,w=n*s*o-r*E*o-n*C*B+t*E*B+r*C*l-t*s*l,k=g*u+e*D+I*p+i*w;if(k===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let U=1/k;return A[0]=u*U,A[1]=(E*B*i-s*l*i-E*I*Q+e*l*Q+s*I*h-e*B*h)*U,A[2]=(C*l*i-E*o*i+E*I*a-e*l*a-C*I*h+e*o*h)*U,A[3]=(s*o*i-C*B*i-s*I*a+e*B*a+C*I*Q-e*o*Q)*U,A[4]=D*U,A[5]=(r*l*i-n*B*i+n*I*Q-g*l*Q-r*I*h+g*B*h)*U,A[6]=(n*o*i-t*l*i-n*I*a+g*l*a+t*I*h-g*o*h)*U,A[7]=(t*B*i-r*o*i+r*I*a-g*B*a-t*I*Q+g*o*Q)*U,A[8]=p*U,A[9]=(n*s*i-r*E*i-n*e*Q+g*E*Q+r*e*h-g*s*h)*U,A[10]=(t*E*i-n*C*i+n*e*a-g*E*a-t*e*h+g*C*h)*U,A[11]=(r*C*i-t*s*i-r*e*a+g*s*a+t*e*Q-g*C*Q)*U,A[12]=w*U,A[13]=(r*E*I-n*s*I+n*e*B-g*E*B-r*e*l+g*s*l)*U,A[14]=(n*C*I-t*E*I-n*e*o+g*E*o+t*e*l-g*C*l)*U,A[15]=(t*s*I-r*C*I+r*e*o-g*s*o-t*e*B+g*C*B)*U,this}scale(A){let g=this.elements,e=A.x,I=A.y,i=A.z;return g[0]*=e,g[4]*=I,g[8]*=i,g[1]*=e,g[5]*=I,g[9]*=i,g[2]*=e,g[6]*=I,g[10]*=i,g[3]*=e,g[7]*=I,g[11]*=i,this}getMaxScaleOnAxis(){let A=this.elements,g=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],e=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],I=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(g,e,I))}makeTranslation(A,g,e){return this.set(1,0,0,A,0,1,0,g,0,0,1,e,0,0,0,1),this}makeRotationX(A){let g=Math.cos(A),e=Math.sin(A);return this.set(1,0,0,0,0,g,-e,0,0,e,g,0,0,0,0,1),this}makeRotationY(A){let g=Math.cos(A),e=Math.sin(A);return this.set(g,0,e,0,0,1,0,0,-e,0,g,0,0,0,0,1),this}makeRotationZ(A){let g=Math.cos(A),e=Math.sin(A);return this.set(g,-e,0,0,e,g,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,g){let e=Math.cos(g),I=Math.sin(g),i=1-e,t=A.x,C=A.y,o=A.z,a=i*t,r=i*C;return this.set(a*t+e,a*C-I*o,a*o+I*C,0,a*C+I*o,r*C+e,r*o-I*t,0,a*o-I*C,r*o+I*t,i*o*o+e,0,0,0,0,1),this}makeScale(A,g,e){return this.set(A,0,0,0,0,g,0,0,0,0,e,0,0,0,0,1),this}makeShear(A,g,e,I,i,t){return this.set(1,e,i,0,A,1,t,0,g,I,1,0,0,0,0,1),this}compose(A,g,e){let I=this.elements,i=g._x,t=g._y,C=g._z,o=g._w,a=i+i,r=t+t,s=C+C,B=i*a,Q=i*r,n=i*s,E=t*r,l=t*s,h=C*s,u=o*a,D=o*r,p=o*s,w=e.x,k=e.y,U=e.z;return I[0]=(1-(E+h))*w,I[1]=(Q+p)*w,I[2]=(n-D)*w,I[3]=0,I[4]=(Q-p)*k,I[5]=(1-(B+h))*k,I[6]=(l+u)*k,I[7]=0,I[8]=(n+D)*U,I[9]=(l-u)*U,I[10]=(1-(B+E))*U,I[11]=0,I[12]=A.x,I[13]=A.y,I[14]=A.z,I[15]=1,this}decompose(A,g,e){let I=this.elements,i=mn.set(I[0],I[1],I[2]).length(),t=mn.set(I[4],I[5],I[6]).length(),C=mn.set(I[8],I[9],I[10]).length();this.determinant()<0&&(i=-i),A.x=I[12],A.y=I[13],A.z=I[14],$o.copy(this);let o=1/i,a=1/t,r=1/C;return $o.elements[0]*=o,$o.elements[1]*=o,$o.elements[2]*=o,$o.elements[4]*=a,$o.elements[5]*=a,$o.elements[6]*=a,$o.elements[8]*=r,$o.elements[9]*=r,$o.elements[10]*=r,g.setFromRotationMatrix($o),e.x=i,e.y=t,e.z=C,this}makePerspective(A,g,e,I,i,t){let C=this.elements,o=2*i/(g-A),a=2*i/(e-I),r=(g+A)/(g-A),s=(e+I)/(e-I),B=-(t+i)/(t-i),Q=-2*t*i/(t-i);return C[0]=o,C[4]=0,C[8]=r,C[12]=0,C[1]=0,C[5]=a,C[9]=s,C[13]=0,C[2]=0,C[6]=0,C[10]=B,C[14]=Q,C[3]=0,C[7]=0,C[11]=-1,C[15]=0,this}makeOrthographic(A,g,e,I,i,t){let C=this.elements,o=1/(g-A),a=1/(e-I),r=1/(t-i),s=(g+A)*o,B=(e+I)*a,Q=(t+i)*r;return C[0]=2*o,C[4]=0,C[8]=0,C[12]=-s,C[1]=0,C[5]=2*a,C[9]=0,C[13]=-B,C[2]=0,C[6]=0,C[10]=-2*r,C[14]=-Q,C[3]=0,C[7]=0,C[11]=0,C[15]=1,this}equals(A){let g=this.elements,e=A.elements;for(let I=0;I<16;I++)if(g[I]!==e[I])return!1;return!0}fromArray(A,g=0){for(let e=0;e<16;e++)this.elements[e]=A[e+g];return this}toArray(A=[],g=0){let e=this.elements;return A[g]=e[0],A[g+1]=e[1],A[g+2]=e[2],A[g+3]=e[3],A[g+4]=e[4],A[g+5]=e[5],A[g+6]=e[6],A[g+7]=e[7],A[g+8]=e[8],A[g+9]=e[9],A[g+10]=e[10],A[g+11]=e[11],A[g+12]=e[12],A[g+13]=e[13],A[g+14]=e[14],A[g+15]=e[15],A}},mn=new x,$o=new wg,Z4=new x(0,0,0),X4=new x(1,1,1),Os=new x,Hd=new x,to=new x,jU=new wg,WU=new ke,yt=class{constructor(A=0,g=0,e=0,I=yt.DEFAULT_ORDER){this.isEuler=!0,this._x=A,this._y=g,this._z=e,this._order=I}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,g,e,I=this._order){return this._x=A,this._y=g,this._z=e,this._order=I,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,g=this._order,e=!0){let I=A.elements,i=I[0],t=I[4],C=I[8],o=I[1],a=I[5],r=I[9],s=I[2],B=I[6],Q=I[10];switch(g){case"XYZ":this._y=Math.asin(It(C,-1,1)),Math.abs(C)<.9999999?(this._x=Math.atan2(-r,Q),this._z=Math.atan2(-t,i)):(this._x=Math.atan2(B,a),this._z=0);break;case"YXZ":this._x=Math.asin(-It(r,-1,1)),Math.abs(r)<.9999999?(this._y=Math.atan2(C,Q),this._z=Math.atan2(o,a)):(this._y=Math.atan2(-s,i),this._z=0);break;case"ZXY":this._x=Math.asin(It(B,-1,1)),Math.abs(B)<.9999999?(this._y=Math.atan2(-s,Q),this._z=Math.atan2(-t,a)):(this._y=0,this._z=Math.atan2(o,i));break;case"ZYX":this._y=Math.asin(-It(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(B,Q),this._z=Math.atan2(o,i)):(this._x=0,this._z=Math.atan2(-t,a));break;case"YZX":this._z=Math.asin(It(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-r,a),this._y=Math.atan2(-s,i)):(this._x=0,this._y=Math.atan2(C,Q));break;case"XZY":this._z=Math.asin(-It(t,-1,1)),Math.abs(t)<.9999999?(this._x=Math.atan2(B,a),this._y=Math.atan2(C,i)):(this._x=Math.atan2(-r,Q),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+g)}return this._order=g,e===!0&&this._onChangeCallback(),this}setFromQuaternion(A,g,e){return jU.makeRotationFromQuaternion(A),this.setFromRotationMatrix(jU,g,e)}setFromVector3(A,g=this._order){return this.set(A.x,A.y,A.z,g)}reorder(A){return WU.setFromEuler(this),this.setFromQuaternion(WU,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],A[3]!==void 0&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],g=0){return A[g]=this._x,A[g+1]=this._y,A[g+2]=this._z,A[g+3]=this._order,A}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};yt.DEFAULT_ORDER="XYZ";var eG=class{constructor(){this.mask=1}set(A){this.mask=(1<<A|0)>>>0}enable(A){this.mask|=1<<A|0}enableAll(){this.mask=-1}toggle(A){this.mask^=1<<A|0}disable(A){this.mask&=~(1<<A|0)}disableAll(){this.mask=0}test(A){return(this.mask&A.mask)!==0}isEnabled(A){return(this.mask&(1<<A|0))!==0}},$4=0,zU=new x,Mn=new ke,br=new wg,Td=new x,Il=new x,AP=new x,gP=new ke,VU=new x(1,0,0),ZU=new x(0,1,0),XU=new x(0,0,1),eP={type:"added"},$U={type:"removed"},YI=class extends tC{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:$4++}),this.uuid=Ko(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=YI.DEFAULT_UP.clone();let A=new x,g=new yt,e=new ke,I=new x(1,1,1);function i(){e.setFromEuler(g,!1)}function t(){g.setFromQuaternion(e,void 0,!1)}g._onChange(i),e._onChange(t),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:A},rotation:{configurable:!0,enumerable:!0,value:g},quaternion:{configurable:!0,enumerable:!0,value:e},scale:{configurable:!0,enumerable:!0,value:I},modelViewMatrix:{value:new wg},normalMatrix:{value:new wt}}),this.matrix=new wg,this.matrixWorld=new wg,this.matrixAutoUpdate=YI.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.matrixWorldAutoUpdate=YI.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.layers=new eG,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(A){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(A),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(A){return this.quaternion.premultiply(A),this}setRotationFromAxisAngle(A,g){this.quaternion.setFromAxisAngle(A,g)}setRotationFromEuler(A){this.quaternion.setFromEuler(A,!0)}setRotationFromMatrix(A){this.quaternion.setFromRotationMatrix(A)}setRotationFromQuaternion(A){this.quaternion.copy(A)}rotateOnAxis(A,g){return Mn.setFromAxisAngle(A,g),this.quaternion.multiply(Mn),this}rotateOnWorldAxis(A,g){return Mn.setFromAxisAngle(A,g),this.quaternion.premultiply(Mn),this}rotateX(A){return this.rotateOnAxis(VU,A)}rotateY(A){return this.rotateOnAxis(ZU,A)}rotateZ(A){return this.rotateOnAxis(XU,A)}translateOnAxis(A,g){return zU.copy(A).applyQuaternion(this.quaternion),this.position.add(zU.multiplyScalar(g)),this}translateX(A){return this.translateOnAxis(VU,A)}translateY(A){return this.translateOnAxis(ZU,A)}translateZ(A){return this.translateOnAxis(XU,A)}localToWorld(A){return this.updateWorldMatrix(!0,!1),A.applyMatrix4(this.matrixWorld)}worldToLocal(A){return this.updateWorldMatrix(!0,!1),A.applyMatrix4(br.copy(this.matrixWorld).invert())}lookAt(A,g,e){A.isVector3?Td.copy(A):Td.set(A,g,e);let I=this.parent;this.updateWorldMatrix(!0,!1),Il.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?br.lookAt(Il,Td,this.up):br.lookAt(Td,Il,this.up),this.quaternion.setFromRotationMatrix(br),I&&(br.extractRotation(I.matrixWorld),Mn.setFromRotationMatrix(br),this.quaternion.premultiply(Mn.invert()))}add(A){if(arguments.length>1){for(let g=0;g<arguments.length;g++)this.add(arguments[g]);return this}return A===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",A),this):(A&&A.isObject3D?(A.parent!==null&&A.parent.remove(A),A.parent=this,this.children.push(A),A.dispatchEvent(eP)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",A),this)}remove(A){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}let g=this.children.indexOf(A);return g!==-1&&(A.parent=null,this.children.splice(g,1),A.dispatchEvent($U)),this}removeFromParent(){let A=this.parent;return A!==null&&A.remove(this),this}clear(){for(let A=0;A<this.children.length;A++){let g=this.children[A];g.parent=null,g.dispatchEvent($U)}return this.children.length=0,this}attach(A){return this.updateWorldMatrix(!0,!1),br.copy(this.matrixWorld).invert(),A.parent!==null&&(A.parent.updateWorldMatrix(!0,!1),br.multiply(A.parent.matrixWorld)),A.applyMatrix4(br),this.add(A),A.updateWorldMatrix(!1,!0),this}getObjectById(A){return this.getObjectByProperty("id",A)}getObjectByName(A){return this.getObjectByProperty("name",A)}getObjectByProperty(A,g){if(this[A]===g)return this;for(let e=0,I=this.children.length;e<I;e++){let i=this.children[e].getObjectByProperty(A,g);if(i!==void 0)return i}}getObjectsByProperty(A,g){let e=[];this[A]===g&&e.push(this);for(let I=0,i=this.children.length;I<i;I++){let t=this.children[I].getObjectsByProperty(A,g);t.length>0&&(e=e.concat(t))}return e}getWorldPosition(A){return this.updateWorldMatrix(!0,!1),A.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(A){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Il,A,AP),A}getWorldScale(A){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Il,gP,A),A}getWorldDirection(A){this.updateWorldMatrix(!0,!1);let g=this.matrixWorld.elements;return A.set(g[8],g[9],g[10]).normalize()}raycast(){}traverse(A){A(this);let g=this.children;for(let e=0,I=g.length;e<I;e++)g[e].traverse(A)}traverseVisible(A){if(this.visible===!1)return;A(this);let g=this.children;for(let e=0,I=g.length;e<I;e++)g[e].traverseVisible(A)}traverseAncestors(A){let g=this.parent;g!==null&&(A(g),g.traverseAncestors(A))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(A){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||A)&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,A=!0);let g=this.children;for(let e=0,I=g.length;e<I;e++){let i=g[e];(i.matrixWorldAutoUpdate===!0||A===!0)&&i.updateMatrixWorld(A)}}updateWorldMatrix(A,g){let e=this.parent;if(A===!0&&e!==null&&e.matrixWorldAutoUpdate===!0&&e.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),g===!0){let I=this.children;for(let i=0,t=I.length;i<t;i++){let C=I[i];C.matrixWorldAutoUpdate===!0&&C.updateWorldMatrix(!1,!0)}}}toJSON(A){let g=A===void 0||typeof A=="string",e={};g&&(A={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},e.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});let I={};I.uuid=this.uuid,I.type=this.type,this.name!==""&&(I.name=this.name),this.castShadow===!0&&(I.castShadow=!0),this.receiveShadow===!0&&(I.receiveShadow=!0),this.visible===!1&&(I.visible=!1),this.frustumCulled===!1&&(I.frustumCulled=!1),this.renderOrder!==0&&(I.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(I.userData=this.userData),I.layers=this.layers.mask,I.matrix=this.matrix.toArray(),this.matrixAutoUpdate===!1&&(I.matrixAutoUpdate=!1),this.isInstancedMesh&&(I.type="InstancedMesh",I.count=this.count,I.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(I.instanceColor=this.instanceColor.toJSON()));function i(C,o){return C[o.uuid]===void 0&&(C[o.uuid]=o.toJSON(A)),o.uuid}if(this.isScene)this.background&&(this.background.isColor?I.background=this.background.toJSON():this.background.isTexture&&(I.background=this.background.toJSON(A).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(I.environment=this.environment.toJSON(A).uuid);else if(this.isMesh||this.isLine||this.isPoints){I.geometry=i(A.geometries,this.geometry);let C=this.geometry.parameters;if(C!==void 0&&C.shapes!==void 0){let o=C.shapes;if(Array.isArray(o))for(let a=0,r=o.length;a<r;a++){let s=o[a];i(A.shapes,s)}else i(A.shapes,o)}}if(this.isSkinnedMesh&&(I.bindMode=this.bindMode,I.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(i(A.skeletons,this.skeleton),I.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){let C=[];for(let o=0,a=this.material.length;o<a;o++)C.push(i(A.materials,this.material[o]));I.material=C}else I.material=i(A.materials,this.material);if(this.children.length>0){I.children=[];for(let C=0;C<this.children.length;C++)I.children.push(this.children[C].toJSON(A).object)}if(this.animations.length>0){I.animations=[];for(let C=0;C<this.animations.length;C++){let o=this.animations[C];I.animations.push(i(A.animations,o))}}if(g){let C=t(A.geometries),o=t(A.materials),a=t(A.textures),r=t(A.images),s=t(A.shapes),B=t(A.skeletons),Q=t(A.animations),n=t(A.nodes);C.length>0&&(e.geometries=C),o.length>0&&(e.materials=o),a.length>0&&(e.textures=a),r.length>0&&(e.images=r),s.length>0&&(e.shapes=s),B.length>0&&(e.skeletons=B),Q.length>0&&(e.animations=Q),n.length>0&&(e.nodes=n)}return e.object=I,e;function t(C){let o=[];for(let a in C){let r=C[a];delete r.metadata,o.push(r)}return o}}clone(A){return new this.constructor().copy(this,A)}copy(A,g=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=A.matrixWorldAutoUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.userData=JSON.parse(JSON.stringify(A.userData)),g===!0)for(let e=0;e<A.children.length;e++){let I=A.children[e];this.add(I.clone())}return this}};YI.DEFAULT_UP=new x(0,1,0);YI.DEFAULT_MATRIX_AUTO_UPDATE=!0;YI.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;var Aa=new x,Lr=new x,Bw=new x,xr=new x,kn=new x,Un=new x,AN=new x,Qw=new x,nw=new x,Ew=new x,AC=class{constructor(A=new x,g=new x,e=new x){this.a=A,this.b=g,this.c=e}static getNormal(A,g,e,I){I.subVectors(e,g),Aa.subVectors(A,g),I.cross(Aa);let i=I.lengthSq();return i>0?I.multiplyScalar(1/Math.sqrt(i)):I.set(0,0,0)}static getBarycoord(A,g,e,I,i){Aa.subVectors(I,g),Lr.subVectors(e,g),Bw.subVectors(A,g);let t=Aa.dot(Aa),C=Aa.dot(Lr),o=Aa.dot(Bw),a=Lr.dot(Lr),r=Lr.dot(Bw),s=t*a-C*C;if(s===0)return i.set(-2,-1,-1);let B=1/s,Q=(a*o-C*r)*B,n=(t*r-C*o)*B;return i.set(1-Q-n,n,Q)}static containsPoint(A,g,e,I){return this.getBarycoord(A,g,e,I,xr),xr.x>=0&&xr.y>=0&&xr.x+xr.y<=1}static getUV(A,g,e,I,i,t,C,o){return this.getBarycoord(A,g,e,I,xr),o.set(0,0),o.addScaledVector(i,xr.x),o.addScaledVector(t,xr.y),o.addScaledVector(C,xr.z),o}static isFrontFacing(A,g,e,I){return Aa.subVectors(e,g),Lr.subVectors(A,g),Aa.cross(Lr).dot(I)<0}set(A,g,e){return this.a.copy(A),this.b.copy(g),this.c.copy(e),this}setFromPointsAndIndices(A,g,e,I){return this.a.copy(A[g]),this.b.copy(A[e]),this.c.copy(A[I]),this}setFromAttributeAndIndices(A,g,e,I){return this.a.fromBufferAttribute(A,g),this.b.fromBufferAttribute(A,e),this.c.fromBufferAttribute(A,I),this}clone(){return new this.constructor().copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return Aa.subVectors(this.c,this.b),Lr.subVectors(this.a,this.b),Aa.cross(Lr).length()*.5}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return AC.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,g){return AC.getBarycoord(A,this.a,this.b,this.c,g)}getUV(A,g,e,I,i){return AC.getUV(A,this.a,this.b,this.c,g,e,I,i)}containsPoint(A){return AC.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return AC.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,g){let e=this.a,I=this.b,i=this.c,t,C;kn.subVectors(I,e),Un.subVectors(i,e),Qw.subVectors(A,e);let o=kn.dot(Qw),a=Un.dot(Qw);if(o<=0&&a<=0)return g.copy(e);nw.subVectors(A,I);let r=kn.dot(nw),s=Un.dot(nw);if(r>=0&&s<=r)return g.copy(I);let B=o*s-r*a;if(B<=0&&o>=0&&r<=0)return t=o/(o-r),g.copy(e).addScaledVector(kn,t);Ew.subVectors(A,i);let Q=kn.dot(Ew),n=Un.dot(Ew);if(n>=0&&Q<=n)return g.copy(i);let E=Q*a-o*n;if(E<=0&&a>=0&&n<=0)return C=a/(a-n),g.copy(e).addScaledVector(Un,C);let l=r*n-Q*s;if(l<=0&&s-r>=0&&Q-n>=0)return AN.subVectors(i,I),C=(s-r)/(s-r+(Q-n)),g.copy(I).addScaledVector(AN,C);let h=1/(l+E+B);return t=E*h,C=B*h,g.copy(e).addScaledVector(kn,t).addScaledVector(Un,C)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}},IP=0,fc=class extends tC{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:IP++}),this.uuid=Ko(),this.name="",this.type="Material",this.blending=lQ,this.side=la,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=hJ,this.blendDst=lJ,this.blendEquation=AE,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=Z0,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=N4,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=$y,this.stencilZFail=$y,this.stencilZPass=$y,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(A){this._alphaTest>0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(A!==void 0)for(let g in A){let e=A[g];if(e===void 0){console.warn("THREE.Material: '"+g+"' parameter is undefined.");continue}let I=this[g];if(I===void 0){console.warn("THREE."+this.type+": '"+g+"' is not a property of this material.");continue}I&&I.isColor?I.set(e):I&&I.isVector3&&e&&e.isVector3?I.copy(e):this[g]=e}}toJSON(A){let g=A===void 0||typeof A=="string";g&&(A={textures:{},images:{}});let e={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),this.color&&this.color.isColor&&(e.color=this.color.getHex()),this.roughness!==void 0&&(e.roughness=this.roughness),this.metalness!==void 0&&(e.metalness=this.metalness),this.sheen!==void 0&&(e.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(e.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(e.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(e.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(e.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(e.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(e.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(e.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(e.shininess=this.shininess),this.clearcoat!==void 0&&(e.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(e.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(e.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(e.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(e.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,e.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(e.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(e.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(e.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(e.iridescenceMap=this.iridescenceMap.toJSON(A).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(e.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(A).uuid),this.map&&this.map.isTexture&&(e.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(e.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(e.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(e.lightMap=this.lightMap.toJSON(A).uuid,e.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(e.aoMap=this.aoMap.toJSON(A).uuid,e.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(e.bumpMap=this.bumpMap.toJSON(A).uuid,e.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(e.normalMap=this.normalMap.toJSON(A).uuid,e.normalMapType=this.normalMapType,e.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(e.displacementMap=this.displacementMap.toJSON(A).uuid,e.displacementScale=this.displacementScale,e.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(e.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(e.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(e.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(e.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(e.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(e.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(e.envMap=this.envMap.toJSON(A).uuid,this.combine!==void 0&&(e.combine=this.combine)),this.envMapIntensity!==void 0&&(e.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(e.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(e.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(e.gradientMap=this.gradientMap.toJSON(A).uuid),this.transmission!==void 0&&(e.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(e.transmissionMap=this.transmissionMap.toJSON(A).uuid),this.thickness!==void 0&&(e.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(e.thicknessMap=this.thicknessMap.toJSON(A).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(e.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(e.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(e.size=this.size),this.shadowSide!==null&&(e.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(e.sizeAttenuation=this.sizeAttenuation),this.blending!==lQ&&(e.blending=this.blending),this.side!==la&&(e.side=this.side),this.vertexColors&&(e.vertexColors=!0),this.opacity<1&&(e.opacity=this.opacity),this.transparent===!0&&(e.transparent=this.transparent),e.depthFunc=this.depthFunc,e.depthTest=this.depthTest,e.depthWrite=this.depthWrite,e.colorWrite=this.colorWrite,e.stencilWrite=this.stencilWrite,e.stencilWriteMask=this.stencilWriteMask,e.stencilFunc=this.stencilFunc,e.stencilRef=this.stencilRef,e.stencilFuncMask=this.stencilFuncMask,e.stencilFail=this.stencilFail,e.stencilZFail=this.stencilZFail,e.stencilZPass=this.stencilZPass,this.rotation!==void 0&&this.rotation!==0&&(e.rotation=this.rotation),this.polygonOffset===!0&&(e.polygonOffset=!0),this.polygonOffsetFactor!==0&&(e.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(e.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(e.linewidth=this.linewidth),this.dashSize!==void 0&&(e.dashSize=this.dashSize),this.gapSize!==void 0&&(e.gapSize=this.gapSize),this.scale!==void 0&&(e.scale=this.scale),this.dithering===!0&&(e.dithering=!0),this.alphaTest>0&&(e.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(e.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(e.premultipliedAlpha=this.premultipliedAlpha),this.forceSinglePass===!0&&(e.forceSinglePass=this.forceSinglePass),this.wireframe===!0&&(e.wireframe=this.wireframe),this.wireframeLinewidth>1&&(e.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(e.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(e.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(e.flatShading=this.flatShading),this.visible===!1&&(e.visible=!1),this.toneMapped===!1&&(e.toneMapped=!1),this.fog===!1&&(e.fog=!1),Object.keys(this.userData).length>0&&(e.userData=this.userData);function I(i){let t=[];for(let C in i){let o=i[C];delete o.metadata,t.push(o)}return t}if(g){let i=I(A.textures),t=I(A.images);i.length>0&&(e.textures=i),t.length>0&&(e.images=t)}return e}clone(){return new this.constructor().copy(this)}copy(A){this.name=A.name,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;let g=A.clippingPlanes,e=null;if(g!==null){let I=g.length;e=new Array(I);for(let i=0;i!==I;++i)e[i]=g[i].clone()}return this.clippingPlanes=e,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.forceSinglePass=A.forceSinglePass,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){A===!0&&this.version++}},NQ=class extends fc{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new de(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=cJ,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}},gt=new x,Od=new mA,Se=class{constructor(A,g,e=!1){if(Array.isArray(A))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=A,this.itemSize=g,this.count=A!==void 0?A.length/g:0,this.normalized=e,this.usage=gf,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}setUsage(A){return this.usage=A,this}copy(A){return this.name=A.name,this.array=new A.array.constructor(A.array),this.itemSize=A.itemSize,this.count=A.count,this.normalized=A.normalized,this.usage=A.usage,this}copyAt(A,g,e){A*=this.itemSize,e*=g.itemSize;for(let I=0,i=this.itemSize;I<i;I++)this.array[A+I]=g.array[e+I];return this}copyArray(A){return this.array.set(A),this}applyMatrix3(A){if(this.itemSize===2)for(let g=0,e=this.count;g<e;g++)Od.fromBufferAttribute(this,g),Od.applyMatrix3(A),this.setXY(g,Od.x,Od.y);else if(this.itemSize===3)for(let g=0,e=this.count;g<e;g++)gt.fromBufferAttribute(this,g),gt.applyMatrix3(A),this.setXYZ(g,gt.x,gt.y,gt.z);return this}applyMatrix4(A){for(let g=0,e=this.count;g<e;g++)gt.fromBufferAttribute(this,g),gt.applyMatrix4(A),this.setXYZ(g,gt.x,gt.y,gt.z);return this}applyNormalMatrix(A){for(let g=0,e=this.count;g<e;g++)gt.fromBufferAttribute(this,g),gt.applyNormalMatrix(A),this.setXYZ(g,gt.x,gt.y,gt.z);return this}transformDirection(A){for(let g=0,e=this.count;g<e;g++)gt.fromBufferAttribute(this,g),gt.transformDirection(A),this.setXYZ(g,gt.x,gt.y,gt.z);return this}set(A,g=0){return this.array.set(A,g),this}getX(A){let g=this.array[A*this.itemSize];return this.normalized&&(g=Cs(g,this.array)),g}setX(A,g){return this.normalized&&(g=ii(g,this.array)),this.array[A*this.itemSize]=g,this}getY(A){let g=this.array[A*this.itemSize+1];return this.normalized&&(g=Cs(g,this.array)),g}setY(A,g){return this.normalized&&(g=ii(g,this.array)),this.array[A*this.itemSize+1]=g,this}getZ(A){let g=this.array[A*this.itemSize+2];return this.normalized&&(g=Cs(g,this.array)),g}setZ(A,g){return this.normalized&&(g=ii(g,this.array)),this.array[A*this.itemSize+2]=g,this}getW(A){let g=this.array[A*this.itemSize+3];return this.normalized&&(g=Cs(g,this.array)),g}setW(A,g){return this.normalized&&(g=ii(g,this.array)),this.array[A*this.itemSize+3]=g,this}setXY(A,g,e){return A*=this.itemSize,this.normalized&&(g=ii(g,this.array),e=ii(e,this.array)),this.array[A+0]=g,this.array[A+1]=e,this}setXYZ(A,g,e,I){return A*=this.itemSize,this.normalized&&(g=ii(g,this.array),e=ii(e,this.array),I=ii(I,this.array)),this.array[A+0]=g,this.array[A+1]=e,this.array[A+2]=I,this}setXYZW(A,g,e,I,i){return A*=this.itemSize,this.normalized&&(g=ii(g,this.array),e=ii(e,this.array),I=ii(I,this.array),i=ii(i,this.array)),this.array[A+0]=g,this.array[A+1]=e,this.array[A+2]=I,this.array[A+3]=i,this}onUpload(A){return this.onUploadCallback=A,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){let A={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return this.name!==""&&(A.name=this.name),this.usage!==gf&&(A.usage=this.usage),(this.updateRange.offset!==0||this.updateRange.count!==-1)&&(A.updateRange=this.updateRange),A}copyColorsArray(){console.error("THREE.BufferAttribute: copyColorsArray() was removed in r144.")}copyVector2sArray(){console.error("THREE.BufferAttribute: copyVector2sArray() was removed in r144.")}copyVector3sArray(){console.error("THREE.BufferAttribute: copyVector3sArray() was removed in r144.")}copyVector4sArray(){console.error("THREE.BufferAttribute: copyVector4sArray() was removed in r144.")}},UJ=class extends Se{constructor(A,g,e){super(new Uint16Array(A),g,e)}},EE=class extends Se{constructor(A,g,e){super(new Uint32Array(A),g,e)}},_g=class extends Se{constructor(A,g,e){super(new Float32Array(A),g,e)}},iP=0,fo=new wg,hw=new YI,Nn=new x,Co=new ji,il=new ji,Nt=new x,se=class extends tC{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:iP++}),this.uuid=Ko(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(A){return Array.isArray(A)?this.index=new(SJ(A)?EE:UJ)(A,1):this.index=A,this}getAttribute(A){return this.attributes[A]}setAttribute(A,g){return this.attributes[A]=g,this}deleteAttribute(A){return delete this.attributes[A],this}hasAttribute(A){return this.attributes[A]!==void 0}addGroup(A,g,e=0){this.groups.push({start:A,count:g,materialIndex:e})}clearGroups(){this.groups=[]}setDrawRange(A,g){this.drawRange.start=A,this.drawRange.count=g}applyMatrix4(A){let g=this.attributes.position;g!==void 0&&(g.applyMatrix4(A),g.needsUpdate=!0);let e=this.attributes.normal;if(e!==void 0){let i=new wt().getNormalMatrix(A);e.applyNormalMatrix(i),e.needsUpdate=!0}let I=this.attributes.tangent;return I!==void 0&&(I.transformDirection(A),I.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(A){return fo.makeRotationFromQuaternion(A),this.applyMatrix4(fo),this}rotateX(A){return fo.makeRotationX(A),this.applyMatrix4(fo),this}rotateY(A){return fo.makeRotationY(A),this.applyMatrix4(fo),this}rotateZ(A){return fo.makeRotationZ(A),this.applyMatrix4(fo),this}translate(A,g,e){return fo.makeTranslation(A,g,e),this.applyMatrix4(fo),this}scale(A,g,e){return fo.makeScale(A,g,e),this.applyMatrix4(fo),this}lookAt(A){return hw.lookAt(A),hw.updateMatrix(),this.applyMatrix4(hw.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Nn).negate(),this.translate(Nn.x,Nn.y,Nn.z),this}setFromPoints(A){let g=[];for(let e=0,I=A.length;e<I;e++){let i=A[e];g.push(i.x,i.y,i.z||0)}return this.setAttribute("position",new _g(g,3)),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new ji);let A=this.attributes.position,g=this.morphAttributes.position;if(A&&A.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),this.boundingBox.set(new x(-1/0,-1/0,-1/0),new x(1/0,1/0,1/0));return}if(A!==void 0){if(this.boundingBox.setFromBufferAttribute(A),g)for(let e=0,I=g.length;e<I;e++){let i=g[e];Co.setFromBufferAttribute(i),this.morphTargetsRelative?(Nt.addVectors(this.boundingBox.min,Co.min),this.boundingBox.expandByPoint(Nt),Nt.addVectors(this.boundingBox.max,Co.max),this.boundingBox.expandByPoint(Nt)):(this.boundingBox.expandByPoint(Co.min),this.boundingBox.expandByPoint(Co.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new VC);let A=this.attributes.position,g=this.morphAttributes.position;if(A&&A.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),this.boundingSphere.set(new x,1/0);return}if(A){let e=this.boundingSphere.center;if(Co.setFromBufferAttribute(A),g)for(let i=0,t=g.length;i<t;i++){let C=g[i];il.setFromBufferAttribute(C),this.morphTargetsRelative?(Nt.addVectors(Co.min,il.min),Co.expandByPoint(Nt),Nt.addVectors(Co.max,il.max),Co.expandByPoint(Nt)):(Co.expandByPoint(il.min),Co.expandByPoint(il.max))}Co.getCenter(e);let I=0;for(let i=0,t=A.count;i<t;i++)Nt.fromBufferAttribute(A,i),I=Math.max(I,e.distanceToSquared(Nt));if(g)for(let i=0,t=g.length;i<t;i++){let C=g[i],o=this.morphTargetsRelative;for(let a=0,r=C.count;a<r;a++)Nt.fromBufferAttribute(C,a),o&&(Nn.fromBufferAttribute(A,a),Nt.add(Nn)),I=Math.max(I,e.distanceToSquared(Nt))}this.boundingSphere.radius=Math.sqrt(I),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){let A=this.index,g=this.attributes;if(A===null||g.position===void 0||g.normal===void 0||g.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}let e=A.array,I=g.position.array,i=g.normal.array,t=g.uv.array,C=I.length/3;this.hasAttribute("tangent")===!1&&this.setAttribute("tangent",new Se(new Float32Array(4*C),4));let o=this.getAttribute("tangent").array,a=[],r=[];for(let R=0;R<C;R++)a[R]=new x,r[R]=new x;let s=new x,B=new x,Q=new x,n=new mA,E=new mA,l=new mA,h=new x,u=new x;function D(R,J,q){s.fromArray(I,R*3),B.fromArray(I,J*3),Q.fromArray(I,q*3),n.fromArray(t,R*2),E.fromArray(t,J*2),l.fromArray(t,q*2),B.sub(s),Q.sub(s),E.sub(n),l.sub(n);let T=1/(E.x*l.y-l.x*E.y);!isFinite(T)||(h.copy(B).multiplyScalar(l.y).addScaledVector(Q,-E.y).multiplyScalar(T),u.copy(Q).multiplyScalar(E.x).addScaledVector(B,-l.x).multiplyScalar(T),a[R].add(h),a[J].add(h),a[q].add(h),r[R].add(u),r[J].add(u),r[q].add(u))}let p=this.groups;p.length===0&&(p=[{start:0,count:e.length}]);for(let R=0,J=p.length;R<J;++R){let q=p[R],T=q.start,P=q.count;for(let H=T,eA=T+P;H<eA;H+=3)D(e[H+0],e[H+1],e[H+2])}let w=new x,k=new x,U=new x,N=new x;function G(R){U.fromArray(i,R*3),N.copy(U);let J=a[R];w.copy(J),w.sub(U.multiplyScalar(U.dot(J))).normalize(),k.crossVectors(N,J);let q=k.dot(r[R])<0?-1:1;o[R*4]=w.x,o[R*4+1]=w.y,o[R*4+2]=w.z,o[R*4+3]=q}for(let R=0,J=p.length;R<J;++R){let q=p[R],T=q.start,P=q.count;for(let H=T,eA=T+P;H<eA;H+=3)G(e[H+0]),G(e[H+1]),G(e[H+2])}}computeVertexNormals(){let A=this.index,g=this.getAttribute("position");if(g!==void 0){let e=this.getAttribute("normal");if(e===void 0)e=new Se(new Float32Array(g.count*3),3),this.setAttribute("normal",e);else for(let B=0,Q=e.count;B<Q;B++)e.setXYZ(B,0,0,0);let I=new x,i=new x,t=new x,C=new x,o=new x,a=new x,r=new x,s=new x;if(A)for(let B=0,Q=A.count;B<Q;B+=3){let n=A.getX(B+0),E=A.getX(B+1),l=A.getX(B+2);I.fromBufferAttribute(g,n),i.fromBufferAttribute(g,E),t.fromBufferAttribute(g,l),r.subVectors(t,i),s.subVectors(I,i),r.cross(s),C.fromBufferAttribute(e,n),o.fromBufferAttribute(e,E),a.fromBufferAttribute(e,l),C.add(r),o.add(r),a.add(r),e.setXYZ(n,C.x,C.y,C.z),e.setXYZ(E,o.x,o.y,o.z),e.setXYZ(l,a.x,a.y,a.z)}else for(let B=0,Q=g.count;B<Q;B+=3)I.fromBufferAttribute(g,B+0),i.fromBufferAttribute(g,B+1),t.fromBufferAttribute(g,B+2),r.subVectors(t,i),s.subVectors(I,i),r.cross(s),e.setXYZ(B+0,r.x,r.y,r.z),e.setXYZ(B+1,r.x,r.y,r.z),e.setXYZ(B+2,r.x,r.y,r.z);this.normalizeNormals(),e.needsUpdate=!0}}merge(){return console.error("THREE.BufferGeometry.merge() has been removed. Use THREE.BufferGeometryUtils.mergeBufferGeometries() instead."),this}normalizeNormals(){let A=this.attributes.normal;for(let g=0,e=A.count;g<e;g++)Nt.fromBufferAttribute(A,g),Nt.normalize(),A.setXYZ(g,Nt.x,Nt.y,Nt.z)}toNonIndexed(){function A(C,o){let a=C.array,r=C.itemSize,s=C.normalized,B=new a.constructor(o.length*r),Q=0,n=0;for(let E=0,l=o.length;E<l;E++){C.isInterleavedBufferAttribute?Q=o[E]*C.data.stride+C.offset:Q=o[E]*r;for(let h=0;h<r;h++)B[n++]=a[Q++]}return new Se(B,r,s)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;let g=new se,e=this.index.array,I=this.attributes;for(let C in I){let o=I[C],a=A(o,e);g.setAttribute(C,a)}let i=this.morphAttributes;for(let C in i){let o=[],a=i[C];for(let r=0,s=a.length;r<s;r++){let B=a[r],Q=A(B,e);o.push(Q)}g.morphAttributes[C]=o}g.morphTargetsRelative=this.morphTargetsRelative;let t=this.groups;for(let C=0,o=t.length;C<o;C++){let a=t[C];g.addGroup(a.start,a.count,a.materialIndex)}return g}toJSON(){let A={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(A.uuid=this.uuid,A.type=this.type,this.name!==""&&(A.name=this.name),Object.keys(this.userData).length>0&&(A.userData=this.userData),this.parameters!==void 0){let o=this.parameters;for(let a in o)o[a]!==void 0&&(A[a]=o[a]);return A}A.data={attributes:{}};let g=this.index;g!==null&&(A.data.index={type:g.array.constructor.name,array:Array.prototype.slice.call(g.array)});let e=this.attributes;for(let o in e){let a=e[o];A.data.attributes[o]=a.toJSON(A.data)}let I={},i=!1;for(let o in this.morphAttributes){let a=this.morphAttributes[o],r=[];for(let s=0,B=a.length;s<B;s++){let Q=a[s];r.push(Q.toJSON(A.data))}r.length>0&&(I[o]=r,i=!0)}i&&(A.data.morphAttributes=I,A.data.morphTargetsRelative=this.morphTargetsRelative);let t=this.groups;t.length>0&&(A.data.groups=JSON.parse(JSON.stringify(t)));let C=this.boundingSphere;return C!==null&&(A.data.boundingSphere={center:C.center.toArray(),radius:C.radius}),A}clone(){return new this.constructor().copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let g={};this.name=A.name;let e=A.index;e!==null&&this.setIndex(e.clone(g));let I=A.attributes;for(let a in I){let r=I[a];this.setAttribute(a,r.clone(g))}let i=A.morphAttributes;for(let a in i){let r=[],s=i[a];for(let B=0,Q=s.length;B<Q;B++)r.push(s[B].clone(g));this.morphAttributes[a]=r}this.morphTargetsRelative=A.morphTargetsRelative;let t=A.groups;for(let a=0,r=t.length;a<r;a++){let s=t[a];this.addGroup(s.start,s.count,s.materialIndex)}let C=A.boundingBox;C!==null&&(this.boundingBox=C.clone());let o=A.boundingSphere;return o!==null&&(this.boundingSphere=o.clone()),this.drawRange.start=A.drawRange.start,this.drawRange.count=A.drawRange.count,this.userData=A.userData,A.parameters!==void 0&&(this.parameters=Object.assign({},A.parameters)),this}dispose(){this.dispatchEvent({type:"dispose"})}},gN=new wg,Fn=new _E,lw=new VC,tl=new x,Cl=new x,ol=new x,cw=new x,_d=new x,Pd=new mA,jd=new mA,Wd=new mA,dw=new x,zd=new x,Oi=class extends YI{constructor(A=new se,g=new NQ){super(),this.isMesh=!0,this.type="Mesh",this.geometry=A,this.material=g,this.updateMorphTargets()}copy(A,g){return super.copy(A,g),A.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=A.morphTargetInfluences.slice()),A.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},A.morphTargetDictionary)),this.material=A.material,this.geometry=A.geometry,this}updateMorphTargets(){let A=this.geometry.morphAttributes,g=Object.keys(A);if(g.length>0){let e=A[g[0]];if(e!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let I=0,i=e.length;I<i;I++){let t=e[I].name||String(I);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=I}}}}getVertexPosition(A,g){let e=this.geometry,I=e.attributes.position,i=e.morphAttributes.position,t=e.morphTargetsRelative;g.fromBufferAttribute(I,A);let C=this.morphTargetInfluences;if(i&&C){_d.set(0,0,0);for(let o=0,a=i.length;o<a;o++){let r=C[o],s=i[o];r!==0&&(cw.fromBufferAttribute(s,A),t?_d.addScaledVector(cw,r):_d.addScaledVector(cw.sub(g),r))}g.add(_d)}return this.isSkinnedMesh&&this.boneTransform(A,g),g}raycast(A,g){let e=this.geometry,I=this.material,i=this.matrixWorld;if(I===void 0||(e.boundingSphere===null&&e.computeBoundingSphere(),lw.copy(e.boundingSphere),lw.applyMatrix4(i),A.ray.intersectsSphere(lw)===!1)||(gN.copy(i).invert(),Fn.copy(A.ray).applyMatrix4(gN),e.boundingBox!==null&&Fn.intersectsBox(e.boundingBox)===!1))return;let t,C=e.index,o=e.attributes.position,a=e.attributes.uv,r=e.attributes.uv2,s=e.groups,B=e.drawRange;if(C!==null)if(Array.isArray(I))for(let Q=0,n=s.length;Q<n;Q++){let E=s[Q],l=I[E.materialIndex],h=Math.max(E.start,B.start),u=Math.min(C.count,Math.min(E.start+E.count,B.start+B.count));for(let D=h,p=u;D<p;D+=3){let w=C.getX(D),k=C.getX(D+1),U=C.getX(D+2);t=Vd(this,l,A,Fn,a,r,w,k,U),t&&(t.faceIndex=Math.floor(D/3),t.face.materialIndex=E.materialIndex,g.push(t))}}else{let Q=Math.max(0,B.start),n=Math.min(C.count,B.start+B.count);for(let E=Q,l=n;E<l;E+=3){let h=C.getX(E),u=C.getX(E+1),D=C.getX(E+2);t=Vd(this,I,A,Fn,a,r,h,u,D),t&&(t.faceIndex=Math.floor(E/3),g.push(t))}}else if(o!==void 0)if(Array.isArray(I))for(let Q=0,n=s.length;Q<n;Q++){let E=s[Q],l=I[E.materialIndex],h=Math.max(E.start,B.start),u=Math.min(o.count,Math.min(E.start+E.count,B.start+B.count));for(let D=h,p=u;D<p;D+=3){let w=D,k=D+1,U=D+2;t=Vd(this,l,A,Fn,a,r,w,k,U),t&&(t.faceIndex=Math.floor(D/3),t.face.materialIndex=E.materialIndex,g.push(t))}}else{let Q=Math.max(0,B.start),n=Math.min(o.count,B.start+B.count);for(let E=Q,l=n;E<l;E+=3){let h=E,u=E+1,D=E+2;t=Vd(this,I,A,Fn,a,r,h,u,D),t&&(t.faceIndex=Math.floor(E/3),g.push(t))}}}};function tP(A,g,e,I,i,t,C,o){let a;if(g.side===Lt?a=I.intersectTriangle(C,t,i,!0,o):a=I.intersectTriangle(i,t,C,g.side===la,o),a===null)return null;zd.copy(o),zd.applyMatrix4(A.matrixWorld);let r=e.ray.origin.distanceTo(zd);return r<e.near||r>e.far?null:{distance:r,point:zd.clone(),object:A}}function Vd(A,g,e,I,i,t,C,o,a){A.getVertexPosition(C,tl),A.getVertexPosition(o,Cl),A.getVertexPosition(a,ol);let r=tP(A,g,e,I,tl,Cl,ol,dw);if(r){i&&(Pd.fromBufferAttribute(i,C),jd.fromBufferAttribute(i,o),Wd.fromBufferAttribute(i,a),r.uv=AC.getUV(dw,tl,Cl,ol,Pd,jd,Wd,new mA)),t&&(Pd.fromBufferAttribute(t,C),jd.fromBufferAttribute(t,o),Wd.fromBufferAttribute(t,a),r.uv2=AC.getUV(dw,tl,Cl,ol,Pd,jd,Wd,new mA));let s={a:C,b:o,c:a,normal:new x,materialIndex:0};AC.getNormal(tl,Cl,ol,s.normal),r.face=s}return r}var da=class extends se{constructor(A=1,g=1,e=1,I=1,i=1,t=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:g,depth:e,widthSegments:I,heightSegments:i,depthSegments:t};let C=this;I=Math.floor(I),i=Math.floor(i),t=Math.floor(t);let o=[],a=[],r=[],s=[],B=0,Q=0;n("z","y","x",-1,-1,e,g,A,t,i,0),n("z","y","x",1,-1,e,g,-A,t,i,1),n("x","z","y",1,1,A,e,g,I,t,2),n("x","z","y",1,-1,A,e,-g,I,t,3),n("x","y","z",1,-1,A,g,e,I,i,4),n("x","y","z",-1,-1,A,g,-e,I,i,5),this.setIndex(o),this.setAttribute("position",new _g(a,3)),this.setAttribute("normal",new _g(r,3)),this.setAttribute("uv",new _g(s,2));function n(E,l,h,u,D,p,w,k,U,N,G){let R=p/U,J=w/N,q=p/2,T=w/2,P=k/2,H=U+1,eA=N+1,rA=0,BA=0,aA=new x;for(let yA=0;yA<eA;yA++){let SA=yA*J-T;for(let pA=0;pA<H;pA++){let wA=pA*R-q;aA[E]=wA*u,aA[l]=SA*D,aA[h]=P,a.push(aA.x,aA.y,aA.z),aA[E]=0,aA[l]=0,aA[h]=k>0?1:-1,r.push(aA.x,aA.y,aA.z),s.push(pA/U),s.push(1-yA/N),rA+=1}}for(let yA=0;yA<N;yA++)for(let SA=0;SA<U;SA++){let pA=B+SA+H*yA,wA=B+SA+H*(yA+1),RA=B+(SA+1)+H*(yA+1),kA=B+(SA+1)+H*yA;o.push(pA,wA,kA),o.push(wA,RA,kA),BA+=6}C.addGroup(Q,BA,G),Q+=BA,B+=rA}}static fromJSON(A){return new da(A.width,A.height,A.depth,A.widthSegments,A.heightSegments,A.depthSegments)}};function UE(A){let g={};for(let e in A){g[e]={};for(let I in A[e]){let i=A[e][I];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?g[e][I]=i.clone():Array.isArray(i)?g[e][I]=i.slice():g[e][I]=i}}return g}function mC(A){let g={};for(let e=0;e<A.length;e++){let I=UE(A[e]);for(let i in I)g[i]=I[i]}return g}function CP(A){let g=[];for(let e=0;e<A.length;e++)g.push(A[e].clone());return g}function NJ(A){return A.getRenderTarget()===null&&A.outputEncoding===je?Wa:fD}var PE={clone:UE,merge:mC},oP=`void main() {
	gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}`,aP=`void main() {
	gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );
}`,RI=class extends fc{constructor(A){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=oP,this.fragmentShader=aP,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,A!==void 0&&this.setValues(A)}copy(A){return super.copy(A),this.fragmentShader=A.fragmentShader,this.vertexShader=A.vertexShader,this.uniforms=UE(A.uniforms),this.uniformsGroups=CP(A.uniformsGroups),this.defines=Object.assign({},A.defines),this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.fog=A.fog,this.lights=A.lights,this.clipping=A.clipping,this.extensions=Object.assign({},A.extensions),this.glslVersion=A.glslVersion,this}toJSON(A){let g=super.toJSON(A);g.glslVersion=this.glslVersion,g.uniforms={};for(let I in this.uniforms){let i=this.uniforms[I].value;i&&i.isTexture?g.uniforms[I]={type:"t",value:i.toJSON(A).uuid}:i&&i.isColor?g.uniforms[I]={type:"c",value:i.getHex()}:i&&i.isVector2?g.uniforms[I]={type:"v2",value:i.toArray()}:i&&i.isVector3?g.uniforms[I]={type:"v3",value:i.toArray()}:i&&i.isVector4?g.uniforms[I]={type:"v4",value:i.toArray()}:i&&i.isMatrix3?g.uniforms[I]={type:"m3",value:i.toArray()}:i&&i.isMatrix4?g.uniforms[I]={type:"m4",value:i.toArray()}:g.uniforms[I]={value:i}}Object.keys(this.defines).length>0&&(g.defines=this.defines),g.vertexShader=this.vertexShader,g.fragmentShader=this.fragmentShader;let e={};for(let I in this.extensions)this.extensions[I]===!0&&(e[I]=!0);return Object.keys(e).length>0&&(g.extensions=e),g}},FQ=class extends YI{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new wg,this.projectionMatrix=new wg,this.projectionMatrixInverse=new wg}copy(A,g){return super.copy(A,g),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this}getWorldDirection(A){this.updateWorldMatrix(!0,!1);let g=this.matrixWorld.elements;return A.set(-g[8],-g[9],-g[10]).normalize()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,g){super.updateWorldMatrix(A,g),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}},BC=class extends FQ{constructor(A=50,g=1,e=.1,I=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=e,this.far=I,this.focus=10,this.aspect=g,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,g){return super.copy(A,g),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=A.view===null?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){let g=.5*this.getFilmHeight()/A;this.fov=Ac*2*Math.atan(g),this.updateProjectionMatrix()}getFocalLength(){let A=Math.tan(Yl*.5*this.fov);return .5*this.getFilmHeight()/A}getEffectiveFOV(){return Ac*2*Math.atan(Math.tan(Yl*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(A,g,e,I,i,t){this.aspect=A/g,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=g,this.view.offsetX=e,this.view.offsetY=I,this.view.width=i,this.view.height=t,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let A=this.near,g=A*Math.tan(Yl*.5*this.fov)/this.zoom,e=2*g,I=this.aspect*e,i=-.5*I,t=this.view;if(this.view!==null&&this.view.enabled){let o=t.fullWidth,a=t.fullHeight;i+=t.offsetX*I/o,g-=t.offsetY*e/a,I*=t.width/o,e*=t.height/a}let C=this.filmOffset;C!==0&&(i+=A*C/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+I,g,g-e,A,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){let g=super.toJSON(A);return g.object.fov=this.fov,g.object.zoom=this.zoom,g.object.near=this.near,g.object.far=this.far,g.object.focus=this.focus,g.object.aspect=this.aspect,this.view!==null&&(g.object.view=Object.assign({},this.view)),g.object.filmGauge=this.filmGauge,g.object.filmOffset=this.filmOffset,g}},Rn=-90,vn=1,rP=class extends YI{constructor(A,g,e){super(),this.type="CubeCamera",this.renderTarget=e;let I=new BC(Rn,vn,A,g);I.layers=this.layers,I.up.set(0,1,0),I.lookAt(1,0,0),this.add(I);let i=new BC(Rn,vn,A,g);i.layers=this.layers,i.up.set(0,1,0),i.lookAt(-1,0,0),this.add(i);let t=new BC(Rn,vn,A,g);t.layers=this.layers,t.up.set(0,0,-1),t.lookAt(0,1,0),this.add(t);let C=new BC(Rn,vn,A,g);C.layers=this.layers,C.up.set(0,0,1),C.lookAt(0,-1,0),this.add(C);let o=new BC(Rn,vn,A,g);o.layers=this.layers,o.up.set(0,1,0),o.lookAt(0,0,1),this.add(o);let a=new BC(Rn,vn,A,g);a.layers=this.layers,a.up.set(0,1,0),a.lookAt(0,0,-1),this.add(a)}update(A,g){this.parent===null&&this.updateMatrixWorld();let e=this.renderTarget,[I,i,t,C,o,a]=this.children,r=A.getRenderTarget(),s=A.toneMapping,B=A.xr.enabled;A.toneMapping=Ir,A.xr.enabled=!1;let Q=e.texture.generateMipmaps;e.texture.generateMipmaps=!1,A.setRenderTarget(e,0),A.render(g,I),A.setRenderTarget(e,1),A.render(g,i),A.setRenderTarget(e,2),A.render(g,t),A.setRenderTarget(e,3),A.render(g,C),A.setRenderTarget(e,4),A.render(g,o),e.texture.generateMipmaps=Q,A.setRenderTarget(e,5),A.render(g,a),A.setRenderTarget(r),A.toneMapping=s,A.xr.enabled=B,e.texture.needsPMREMUpdate=!0}},IG=class extends yi{constructor(A,g,e,I,i,t,C,o,a,r){A=A!==void 0?A:[],g=g!==void 0?g:wQ,super(A,g,e,I,i,t,C,o,a,r),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}},sP=class extends FI{constructor(A=1,g={}){super(A,A,g),this.isWebGLCubeRenderTarget=!0;let e={width:A,height:A,depth:1},I=[e,e,e,e,e,e];this.texture=new IG(I,g.mapping,g.wrapS,g.wrapT,g.magFilter,g.minFilter,g.format,g.type,g.anisotropy,g.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=g.generateMipmaps!==void 0?g.generateMipmaps:!1,this.texture.minFilter=g.minFilter!==void 0?g.minFilter:Ve}fromEquirectangularTexture(A,g){this.texture.type=g.type,this.texture.encoding=g.encoding,this.texture.generateMipmaps=g.generateMipmaps,this.texture.minFilter=g.minFilter,this.texture.magFilter=g.magFilter;let e={uniforms:{tEquirect:{value:null}},vertexShader:`

				varying vec3 vWorldDirection;

				vec3 transformDirection( in vec3 dir, in mat4 matrix ) {

					return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );

				}

				void main() {

					vWorldDirection = transformDirection( position, modelMatrix );

					#include <begin_vertex>
					#include <project_vertex>

				}
			`,fragmentShader:`

				uniform sampler2D tEquirect;

				varying vec3 vWorldDirection;

				#include <common>

				void main() {

					vec3 direction = normalize( vWorldDirection );

					vec2 sampleUV = equirectUv( direction );

					gl_FragColor = texture2D( tEquirect, sampleUV );

				}
			`},I=new da(5,5,5),i=new RI({name:"CubemapFromEquirect",uniforms:UE(e.uniforms),vertexShader:e.vertexShader,fragmentShader:e.fragmentShader,side:Lt,blending:Ct});i.uniforms.tEquirect.value=g;let t=new Oi(I,i),C=g.minFilter;return g.minFilter===kE&&(g.minFilter=Ve),new rP(1,10,this).update(A,t),g.minFilter=C,t.geometry.dispose(),t.material.dispose(),this}clear(A,g,e,I){let i=A.getRenderTarget();for(let t=0;t<6;t++)A.setRenderTarget(this,t),A.clear(g,e,I);A.setRenderTarget(i)}},uw=new x,BP=new x,QP=new wt,ao=class{constructor(A=new x(1,0,0),g=0){this.isPlane=!0,this.normal=A,this.constant=g}set(A,g){return this.normal.copy(A),this.constant=g,this}setComponents(A,g,e,I){return this.normal.set(A,g,e),this.constant=I,this}setFromNormalAndCoplanarPoint(A,g){return this.normal.copy(A),this.constant=-g.dot(this.normal),this}setFromCoplanarPoints(A,g,e){let I=uw.subVectors(e,g).cross(BP.subVectors(A,g)).normalize();return this.setFromNormalAndCoplanarPoint(I,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){let A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,g){return g.copy(this.normal).multiplyScalar(-this.distanceToPoint(A)).add(A)}intersectLine(A,g){let e=A.delta(uw),I=this.normal.dot(e);if(I===0)return this.distanceToPoint(A.start)===0?g.copy(A.start):null;let i=-(A.start.dot(this.normal)+this.constant)/I;return i<0||i>1?null:g.copy(e).multiplyScalar(i).add(A.start)}intersectsLine(A){let g=this.distanceToPoint(A.start),e=this.distanceToPoint(A.end);return g<0&&e>0||e<0&&g>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,g){let e=g||QP.getNormalMatrix(A),I=this.coplanarPoint(uw).applyMatrix4(A),i=this.normal.applyMatrix3(e).normalize();return this.constant=-I.dot(i),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return new this.constructor().copy(this)}},Kn=new VC,Zd=new x,iG=class{constructor(A=new ao,g=new ao,e=new ao,I=new ao,i=new ao,t=new ao){this.planes=[A,g,e,I,i,t]}set(A,g,e,I,i,t){let C=this.planes;return C[0].copy(A),C[1].copy(g),C[2].copy(e),C[3].copy(I),C[4].copy(i),C[5].copy(t),this}copy(A){let g=this.planes;for(let e=0;e<6;e++)g[e].copy(A.planes[e]);return this}setFromProjectionMatrix(A){let g=this.planes,e=A.elements,I=e[0],i=e[1],t=e[2],C=e[3],o=e[4],a=e[5],r=e[6],s=e[7],B=e[8],Q=e[9],n=e[10],E=e[11],l=e[12],h=e[13],u=e[14],D=e[15];return g[0].setComponents(C-I,s-o,E-B,D-l).normalize(),g[1].setComponents(C+I,s+o,E+B,D+l).normalize(),g[2].setComponents(C+i,s+a,E+Q,D+h).normalize(),g[3].setComponents(C-i,s-a,E-Q,D-h).normalize(),g[4].setComponents(C-t,s-r,E-n,D-u).normalize(),g[5].setComponents(C+t,s+r,E+n,D+u).normalize(),this}intersectsObject(A){let g=A.geometry;return g.boundingSphere===null&&g.computeBoundingSphere(),Kn.copy(g.boundingSphere).applyMatrix4(A.matrixWorld),this.intersectsSphere(Kn)}intersectsSprite(A){return Kn.center.set(0,0,0),Kn.radius=.7071067811865476,Kn.applyMatrix4(A.matrixWorld),this.intersectsSphere(Kn)}intersectsSphere(A){let g=this.planes,e=A.center,I=-A.radius;for(let i=0;i<6;i++)if(g[i].distanceToPoint(e)<I)return!1;return!0}intersectsBox(A){let g=this.planes;for(let e=0;e<6;e++){let I=g[e];if(Zd.x=I.normal.x>0?A.max.x:A.min.x,Zd.y=I.normal.y>0?A.max.y:A.min.y,Zd.z=I.normal.z>0?A.max.z:A.min.z,I.distanceToPoint(Zd)<0)return!1}return!0}containsPoint(A){let g=this.planes;for(let e=0;e<6;e++)if(g[e].distanceToPoint(A)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}};function FJ(){let A=null,g=!1,e=null,I=null;function i(t,C){e(t,C),I=A.requestAnimationFrame(i)}return{start:function(){g!==!0&&e!==null&&(I=A.requestAnimationFrame(i),g=!0)},stop:function(){A.cancelAnimationFrame(I),g=!1},setAnimationLoop:function(t){e=t},setContext:function(t){A=t}}}function nP(A,g){let e=g.isWebGL2,I=new WeakMap;function i(r,s){let B=r.array,Q=r.usage,n=A.createBuffer();A.bindBuffer(s,n),A.bufferData(s,B,Q),r.onUploadCallback();let E;if(B instanceof Float32Array)E=5126;else if(B instanceof Uint16Array)if(r.isFloat16BufferAttribute)if(e)E=5131;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else E=5123;else if(B instanceof Int16Array)E=5122;else if(B instanceof Uint32Array)E=5125;else if(B instanceof Int32Array)E=5124;else if(B instanceof Int8Array)E=5120;else if(B instanceof Uint8Array)E=5121;else if(B instanceof Uint8ClampedArray)E=5121;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+B);return{buffer:n,type:E,bytesPerElement:B.BYTES_PER_ELEMENT,version:r.version}}function t(r,s,B){let Q=s.array,n=s.updateRange;A.bindBuffer(B,r),n.count===-1?A.bufferSubData(B,0,Q):(e?A.bufferSubData(B,n.offset*Q.BYTES_PER_ELEMENT,Q,n.offset,n.count):A.bufferSubData(B,n.offset*Q.BYTES_PER_ELEMENT,Q.subarray(n.offset,n.offset+n.count)),n.count=-1),s.onUploadCallback()}function C(r){return r.isInterleavedBufferAttribute&&(r=r.data),I.get(r)}function o(r){r.isInterleavedBufferAttribute&&(r=r.data);let s=I.get(r);s&&(A.deleteBuffer(s.buffer),I.delete(r))}function a(r,s){if(r.isGLBufferAttribute){let Q=I.get(r);(!Q||Q.version<r.version)&&I.set(r,{buffer:r.buffer,type:r.type,bytesPerElement:r.elementSize,version:r.version});return}r.isInterleavedBufferAttribute&&(r=r.data);let B=I.get(r);B===void 0?I.set(r,i(r,s)):B.version<r.version&&(t(B.buffer,r,s),B.version=r.version)}return{get:C,remove:o,update:a}}var RQ=class extends se{constructor(A=1,g=1,e=1,I=1){super(),this.type="PlaneGeometry",this.parameters={width:A,height:g,widthSegments:e,heightSegments:I};let i=A/2,t=g/2,C=Math.floor(e),o=Math.floor(I),a=C+1,r=o+1,s=A/C,B=g/o,Q=[],n=[],E=[],l=[];for(let h=0;h<r;h++){let u=h*B-t;for(let D=0;D<a;D++){let p=D*s-i;n.push(p,-u,0),E.push(0,0,1),l.push(D/C),l.push(1-h/o)}}for(let h=0;h<o;h++)for(let u=0;u<C;u++){let D=u+a*h,p=u+a*(h+1),w=u+1+a*(h+1),k=u+1+a*h;Q.push(D,p,k),Q.push(p,w,k)}this.setIndex(Q),this.setAttribute("position",new _g(n,3)),this.setAttribute("normal",new _g(E,3)),this.setAttribute("uv",new _g(l,2))}static fromJSON(A){return new RQ(A.width,A.height,A.widthSegments,A.heightSegments)}},EP=`#ifdef USE_ALPHAMAP
	diffuseColor.a *= texture2D( alphaMap, vUv ).g;
#endif`,hP=`#ifdef USE_ALPHAMAP
	uniform sampler2D alphaMap;
#endif`,lP=`#ifdef USE_ALPHATEST
	if ( diffuseColor.a < alphaTest ) discard;
#endif`,cP=`#ifdef USE_ALPHATEST
	uniform float alphaTest;
#endif`,dP=`#ifdef USE_AOMAP
	float ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;
	reflectedLight.indirectDiffuse *= ambientOcclusion;
	#if defined( USE_ENVMAP ) && defined( STANDARD )
		float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
		reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );
	#endif
#endif`,uP=`#ifdef USE_AOMAP
	uniform sampler2D aoMap;
	uniform float aoMapIntensity;
#endif`,DP="vec3 transformed = vec3( position );",pP=`vec3 objectNormal = vec3( normal );
#ifdef USE_TANGENT
	vec3 objectTangent = vec3( tangent.xyz );
#endif`,yP=`vec3 BRDF_Lambert( const in vec3 diffuseColor ) {
	return RECIPROCAL_PI * diffuseColor;
}
vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {
	float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );
	return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );
}
float F_Schlick( const in float f0, const in float f90, const in float dotVH ) {
	float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );
	return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );
}
vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {
    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );
    float x2 = x * x;
    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );
    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );
}
float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {
	float a2 = pow2( alpha );
	float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
	float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
	return 0.5 / max( gv + gl, EPSILON );
}
float D_GGX( const in float alpha, const in float dotNH ) {
	float a2 = pow2( alpha );
	float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;
	return RECIPROCAL_PI * a2 / pow2( denom );
}
vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {
	float alpha = pow2( roughness );
	vec3 halfDir = normalize( lightDir + viewDir );
	float dotNL = saturate( dot( normal, lightDir ) );
	float dotNV = saturate( dot( normal, viewDir ) );
	float dotNH = saturate( dot( normal, halfDir ) );
	float dotVH = saturate( dot( viewDir, halfDir ) );
	vec3 F = F_Schlick( f0, f90, dotVH );
	float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );
	float D = D_GGX( alpha, dotNH );
	return F * ( V * D );
}
#ifdef USE_IRIDESCENCE
	vec3 BRDF_GGX_Iridescence( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float iridescence, const in vec3 iridescenceFresnel, const in float roughness ) {
		float alpha = pow2( roughness );
		vec3 halfDir = normalize( lightDir + viewDir );
		float dotNL = saturate( dot( normal, lightDir ) );
		float dotNV = saturate( dot( normal, viewDir ) );
		float dotNH = saturate( dot( normal, halfDir ) );
		float dotVH = saturate( dot( viewDir, halfDir ) );
		vec3 F = mix( F_Schlick( f0, f90, dotVH ), iridescenceFresnel, iridescence );
		float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );
		float D = D_GGX( alpha, dotNH );
		return F * ( V * D );
	}
#endif
vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {
	const float LUT_SIZE = 64.0;
	const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;
	const float LUT_BIAS = 0.5 / LUT_SIZE;
	float dotNV = saturate( dot( N, V ) );
	vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );
	uv = uv * LUT_SCALE + LUT_BIAS;
	return uv;
}
float LTC_ClippedSphereFormFactor( const in vec3 f ) {
	float l = length( f );
	return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );
}
vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {
	float x = dot( v1, v2 );
	float y = abs( x );
	float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;
	float b = 3.4175940 + ( 4.1616724 + y ) * y;
	float v = a / b;
	float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;
	return cross( v1, v2 ) * theta_sintheta;
}
vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {
	vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];
	vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];
	vec3 lightNormal = cross( v1, v2 );
	if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );
	vec3 T1, T2;
	T1 = normalize( V - N * dot( V, N ) );
	T2 = - cross( N, T1 );
	mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );
	vec3 coords[ 4 ];
	coords[ 0 ] = mat * ( rectCoords[ 0 ] - P );
	coords[ 1 ] = mat * ( rectCoords[ 1 ] - P );
	coords[ 2 ] = mat * ( rectCoords[ 2 ] - P );
	coords[ 3 ] = mat * ( rectCoords[ 3 ] - P );
	coords[ 0 ] = normalize( coords[ 0 ] );
	coords[ 1 ] = normalize( coords[ 1 ] );
	coords[ 2 ] = normalize( coords[ 2 ] );
	coords[ 3 ] = normalize( coords[ 3 ] );
	vec3 vectorFormFactor = vec3( 0.0 );
	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );
	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );
	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );
	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );
	float result = LTC_ClippedSphereFormFactor( vectorFormFactor );
	return vec3( result );
}
float G_BlinnPhong_Implicit( ) {
	return 0.25;
}
float D_BlinnPhong( const in float shininess, const in float dotNH ) {
	return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );
}
vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {
	vec3 halfDir = normalize( lightDir + viewDir );
	float dotNH = saturate( dot( normal, halfDir ) );
	float dotVH = saturate( dot( viewDir, halfDir ) );
	vec3 F = F_Schlick( specularColor, 1.0, dotVH );
	float G = G_BlinnPhong_Implicit( );
	float D = D_BlinnPhong( shininess, dotNH );
	return F * ( G * D );
}
#if defined( USE_SHEEN )
float D_Charlie( float roughness, float dotNH ) {
	float alpha = pow2( roughness );
	float invAlpha = 1.0 / alpha;
	float cos2h = dotNH * dotNH;
	float sin2h = max( 1.0 - cos2h, 0.0078125 );
	return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );
}
float V_Neubelt( float dotNV, float dotNL ) {
	return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );
}
vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {
	vec3 halfDir = normalize( lightDir + viewDir );
	float dotNL = saturate( dot( normal, lightDir ) );
	float dotNV = saturate( dot( normal, viewDir ) );
	float dotNH = saturate( dot( normal, halfDir ) );
	float D = D_Charlie( sheenRoughness, dotNH );
	float V = V_Neubelt( dotNV, dotNL );
	return sheenColor * ( D * V );
}
#endif`,wP=`#ifdef USE_IRIDESCENCE
	const mat3 XYZ_TO_REC709 = mat3(
		 3.2404542, -0.9692660,  0.0556434,
		-1.5371385,  1.8760108, -0.2040259,
		-0.4985314,  0.0415560,  1.0572252
	);
	vec3 Fresnel0ToIor( vec3 fresnel0 ) {
		vec3 sqrtF0 = sqrt( fresnel0 );
		return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );
	}
	vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {
		return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );
	}
	float IorToFresnel0( float transmittedIor, float incidentIor ) {
		return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));
	}
	vec3 evalSensitivity( float OPD, vec3 shift ) {
		float phase = 2.0 * PI * OPD * 1.0e-9;
		vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );
		vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );
		vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );
		vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );
		xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );
		xyz /= 1.0685e-7;
		vec3 rgb = XYZ_TO_REC709 * xyz;
		return rgb;
	}
	vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {
		vec3 I;
		float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );
		float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );
		float cosTheta2Sq = 1.0 - sinTheta2Sq;
		if ( cosTheta2Sq < 0.0 ) {
			 return vec3( 1.0 );
		}
		float cosTheta2 = sqrt( cosTheta2Sq );
		float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );
		float R12 = F_Schlick( R0, 1.0, cosTheta1 );
		float R21 = R12;
		float T121 = 1.0 - R12;
		float phi12 = 0.0;
		if ( iridescenceIOR < outsideIOR ) phi12 = PI;
		float phi21 = PI - phi12;
		vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );		vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );
		vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );
		vec3 phi23 = vec3( 0.0 );
		if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;
		if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;
		if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;
		float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;
		vec3 phi = vec3( phi21 ) + phi23;
		vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );
		vec3 r123 = sqrt( R123 );
		vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );
		vec3 C0 = R12 + Rs;
		I = C0;
		vec3 Cm = Rs - T121;
		for ( int m = 1; m <= 2; ++ m ) {
			Cm *= r123;
			vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );
			I += Cm * Sm;
		}
		return max( I, vec3( 0.0 ) );
	}
#endif`,fP=`#ifdef USE_BUMPMAP
	uniform sampler2D bumpMap;
	uniform float bumpScale;
	vec2 dHdxy_fwd() {
		vec2 dSTdx = dFdx( vUv );
		vec2 dSTdy = dFdy( vUv );
		float Hll = bumpScale * texture2D( bumpMap, vUv ).x;
		float dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;
		float dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;
		return vec2( dBx, dBy );
	}
	vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {
		vec3 vSigmaX = dFdx( surf_pos.xyz );
		vec3 vSigmaY = dFdy( surf_pos.xyz );
		vec3 vN = surf_norm;
		vec3 R1 = cross( vSigmaY, vN );
		vec3 R2 = cross( vN, vSigmaX );
		float fDet = dot( vSigmaX, R1 ) * faceDirection;
		vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );
		return normalize( abs( fDet ) * surf_norm - vGrad );
	}
#endif`,SP=`#if NUM_CLIPPING_PLANES > 0
	vec4 plane;
	#pragma unroll_loop_start
	for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {
		plane = clippingPlanes[ i ];
		if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;
	}
	#pragma unroll_loop_end
	#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES
		bool clipped = true;
		#pragma unroll_loop_start
		for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {
			plane = clippingPlanes[ i ];
			clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;
		}
		#pragma unroll_loop_end
		if ( clipped ) discard;
	#endif
#endif`,GP=`#if NUM_CLIPPING_PLANES > 0
	varying vec3 vClipPosition;
	uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];
#endif`,mP=`#if NUM_CLIPPING_PLANES > 0
	varying vec3 vClipPosition;
#endif`,MP=`#if NUM_CLIPPING_PLANES > 0
	vClipPosition = - mvPosition.xyz;
#endif`,kP=`#if defined( USE_COLOR_ALPHA )
	diffuseColor *= vColor;
#elif defined( USE_COLOR )
	diffuseColor.rgb *= vColor;
#endif`,UP=`#if defined( USE_COLOR_ALPHA )
	varying vec4 vColor;
#elif defined( USE_COLOR )
	varying vec3 vColor;
#endif`,NP=`#if defined( USE_COLOR_ALPHA )
	varying vec4 vColor;
#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )
	varying vec3 vColor;
#endif`,FP=`#if defined( USE_COLOR_ALPHA )
	vColor = vec4( 1.0 );
#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )
	vColor = vec3( 1.0 );
#endif
#ifdef USE_COLOR
	vColor *= color;
#endif
#ifdef USE_INSTANCING_COLOR
	vColor.xyz *= instanceColor.xyz;
#endif`,RP=`#define PI 3.141592653589793
#define PI2 6.283185307179586
#define PI_HALF 1.5707963267948966
#define RECIPROCAL_PI 0.3183098861837907
#define RECIPROCAL_PI2 0.15915494309189535
#define EPSILON 1e-6
#ifndef saturate
#define saturate( a ) clamp( a, 0.0, 1.0 )
#endif
#define whiteComplement( a ) ( 1.0 - saturate( a ) )
float pow2( const in float x ) { return x*x; }
vec3 pow2( const in vec3 x ) { return x*x; }
float pow3( const in float x ) { return x*x*x; }
float pow4( const in float x ) { float x2 = x*x; return x2*x2; }
float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }
float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }
highp float rand( const in vec2 uv ) {
	const highp float a = 12.9898, b = 78.233, c = 43758.5453;
	highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );
	return fract( sin( sn ) * c );
}
#ifdef HIGH_PRECISION
	float precisionSafeLength( vec3 v ) { return length( v ); }
#else
	float precisionSafeLength( vec3 v ) {
		float maxComponent = max3( abs( v ) );
		return length( v / maxComponent ) * maxComponent;
	}
#endif
struct IncidentLight {
	vec3 color;
	vec3 direction;
	bool visible;
};
struct ReflectedLight {
	vec3 directDiffuse;
	vec3 directSpecular;
	vec3 indirectDiffuse;
	vec3 indirectSpecular;
};
struct GeometricContext {
	vec3 position;
	vec3 normal;
	vec3 viewDir;
#ifdef USE_CLEARCOAT
	vec3 clearcoatNormal;
#endif
};
vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
	return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
}
vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {
	return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );
}
mat3 transposeMat3( const in mat3 m ) {
	mat3 tmp;
	tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );
	tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );
	tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );
	return tmp;
}
float luminance( const in vec3 rgb ) {
	const vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );
	return dot( weights, rgb );
}
bool isPerspectiveMatrix( mat4 m ) {
	return m[ 2 ][ 3 ] == - 1.0;
}
vec2 equirectUv( in vec3 dir ) {
	float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;
	float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
	return vec2( u, v );
}`,vP=`#ifdef ENVMAP_TYPE_CUBE_UV
	#define cubeUV_minMipLevel 4.0
	#define cubeUV_minTileSize 16.0
	float getFace( vec3 direction ) {
		vec3 absDirection = abs( direction );
		float face = - 1.0;
		if ( absDirection.x > absDirection.z ) {
			if ( absDirection.x > absDirection.y )
				face = direction.x > 0.0 ? 0.0 : 3.0;
			else
				face = direction.y > 0.0 ? 1.0 : 4.0;
		} else {
			if ( absDirection.z > absDirection.y )
				face = direction.z > 0.0 ? 2.0 : 5.0;
			else
				face = direction.y > 0.0 ? 1.0 : 4.0;
		}
		return face;
	}
	vec2 getUV( vec3 direction, float face ) {
		vec2 uv;
		if ( face == 0.0 ) {
			uv = vec2( direction.z, direction.y ) / abs( direction.x );
		} else if ( face == 1.0 ) {
			uv = vec2( - direction.x, - direction.z ) / abs( direction.y );
		} else if ( face == 2.0 ) {
			uv = vec2( - direction.x, direction.y ) / abs( direction.z );
		} else if ( face == 3.0 ) {
			uv = vec2( - direction.z, direction.y ) / abs( direction.x );
		} else if ( face == 4.0 ) {
			uv = vec2( - direction.x, direction.z ) / abs( direction.y );
		} else {
			uv = vec2( direction.x, direction.y ) / abs( direction.z );
		}
		return 0.5 * ( uv + 1.0 );
	}
	vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {
		float face = getFace( direction );
		float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );
		mipInt = max( mipInt, cubeUV_minMipLevel );
		float faceSize = exp2( mipInt );
		highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;
		if ( face > 2.0 ) {
			uv.y += faceSize;
			face -= 3.0;
		}
		uv.x += face * faceSize;
		uv.x += filterInt * 3.0 * cubeUV_minTileSize;
		uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );
		uv.x *= CUBEUV_TEXEL_WIDTH;
		uv.y *= CUBEUV_TEXEL_HEIGHT;
		#ifdef texture2DGradEXT
			return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;
		#else
			return texture2D( envMap, uv ).rgb;
		#endif
	}
	#define cubeUV_r0 1.0
	#define cubeUV_v0 0.339
	#define cubeUV_m0 - 2.0
	#define cubeUV_r1 0.8
	#define cubeUV_v1 0.276
	#define cubeUV_m1 - 1.0
	#define cubeUV_r4 0.4
	#define cubeUV_v4 0.046
	#define cubeUV_m4 2.0
	#define cubeUV_r5 0.305
	#define cubeUV_v5 0.016
	#define cubeUV_m5 3.0
	#define cubeUV_r6 0.21
	#define cubeUV_v6 0.0038
	#define cubeUV_m6 4.0
	float roughnessToMip( float roughness ) {
		float mip = 0.0;
		if ( roughness >= cubeUV_r1 ) {
			mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;
		} else if ( roughness >= cubeUV_r4 ) {
			mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;
		} else if ( roughness >= cubeUV_r5 ) {
			mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;
		} else if ( roughness >= cubeUV_r6 ) {
			mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;
		} else {
			mip = - 2.0 * log2( 1.16 * roughness );		}
		return mip;
	}
	vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {
		float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );
		float mipF = fract( mip );
		float mipInt = floor( mip );
		vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );
		if ( mipF == 0.0 ) {
			return vec4( color0, 1.0 );
		} else {
			vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );
			return vec4( mix( color0, color1, mipF ), 1.0 );
		}
	}
#endif`,KP=`vec3 transformedNormal = objectNormal;
#ifdef USE_INSTANCING
	mat3 m = mat3( instanceMatrix );
	transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );
	transformedNormal = m * transformedNormal;
#endif
transformedNormal = normalMatrix * transformedNormal;
#ifdef FLIP_SIDED
	transformedNormal = - transformedNormal;
#endif
#ifdef USE_TANGENT
	vec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;
	#ifdef FLIP_SIDED
		transformedTangent = - transformedTangent;
	#endif
#endif`,JP=`#ifdef USE_DISPLACEMENTMAP
	uniform sampler2D displacementMap;
	uniform float displacementScale;
	uniform float displacementBias;
#endif`,qP=`#ifdef USE_DISPLACEMENTMAP
	transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );
#endif`,bP=`#ifdef USE_EMISSIVEMAP
	vec4 emissiveColor = texture2D( emissiveMap, vUv );
	totalEmissiveRadiance *= emissiveColor.rgb;
#endif`,LP=`#ifdef USE_EMISSIVEMAP
	uniform sampler2D emissiveMap;
#endif`,xP="gl_FragColor = linearToOutputTexel( gl_FragColor );",YP=`vec4 LinearToLinear( in vec4 value ) {
	return value;
}
vec4 LinearTosRGB( in vec4 value ) {
	return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );
}`,HP=`#ifdef USE_ENVMAP
	#ifdef ENV_WORLDPOS
		vec3 cameraToFrag;
		if ( isOrthographic ) {
			cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
		} else {
			cameraToFrag = normalize( vWorldPosition - cameraPosition );
		}
		vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
		#ifdef ENVMAP_MODE_REFLECTION
			vec3 reflectVec = reflect( cameraToFrag, worldNormal );
		#else
			vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );
		#endif
	#else
		vec3 reflectVec = vReflect;
	#endif
	#ifdef ENVMAP_TYPE_CUBE
		vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );
	#else
		vec4 envColor = vec4( 0.0 );
	#endif
	#ifdef ENVMAP_BLENDING_MULTIPLY
		outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );
	#elif defined( ENVMAP_BLENDING_MIX )
		outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );
	#elif defined( ENVMAP_BLENDING_ADD )
		outgoingLight += envColor.xyz * specularStrength * reflectivity;
	#endif
#endif`,TP=`#ifdef USE_ENVMAP
	uniform float envMapIntensity;
	uniform float flipEnvMap;
	#ifdef ENVMAP_TYPE_CUBE
		uniform samplerCube envMap;
	#else
		uniform sampler2D envMap;
	#endif
	
#endif`,OP=`#ifdef USE_ENVMAP
	uniform float reflectivity;
	#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )
		#define ENV_WORLDPOS
	#endif
	#ifdef ENV_WORLDPOS
		varying vec3 vWorldPosition;
		uniform float refractionRatio;
	#else
		varying vec3 vReflect;
	#endif
#endif`,_P=`#ifdef USE_ENVMAP
	#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )
		#define ENV_WORLDPOS
	#endif
	#ifdef ENV_WORLDPOS
		
		varying vec3 vWorldPosition;
	#else
		varying vec3 vReflect;
		uniform float refractionRatio;
	#endif
#endif`,PP=`#ifdef USE_ENVMAP
	#ifdef ENV_WORLDPOS
		vWorldPosition = worldPosition.xyz;
	#else
		vec3 cameraToVertex;
		if ( isOrthographic ) {
			cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
		} else {
			cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
		}
		vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
		#ifdef ENVMAP_MODE_REFLECTION
			vReflect = reflect( cameraToVertex, worldNormal );
		#else
			vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
		#endif
	#endif
#endif`,jP=`#ifdef USE_FOG
	vFogDepth = - mvPosition.z;
#endif`,WP=`#ifdef USE_FOG
	varying float vFogDepth;
#endif`,zP=`#ifdef USE_FOG
	#ifdef FOG_EXP2
		float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );
	#else
		float fogFactor = smoothstep( fogNear, fogFar, vFogDepth );
	#endif
	gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );
#endif`,VP=`#ifdef USE_FOG
	uniform vec3 fogColor;
	varying float vFogDepth;
	#ifdef FOG_EXP2
		uniform float fogDensity;
	#else
		uniform float fogNear;
		uniform float fogFar;
	#endif
#endif`,ZP=`#ifdef USE_GRADIENTMAP
	uniform sampler2D gradientMap;
#endif
vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {
	float dotNL = dot( normal, lightDirection );
	vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );
	#ifdef USE_GRADIENTMAP
		return vec3( texture2D( gradientMap, coord ).r );
	#else
		vec2 fw = fwidth( coord ) * 0.5;
		return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );
	#endif
}`,XP=`#ifdef USE_LIGHTMAP
	vec4 lightMapTexel = texture2D( lightMap, vUv2 );
	vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;
	reflectedLight.indirectDiffuse += lightMapIrradiance;
#endif`,$P=`#ifdef USE_LIGHTMAP
	uniform sampler2D lightMap;
	uniform float lightMapIntensity;
#endif`,Aj=`LambertMaterial material;
material.diffuseColor = diffuseColor.rgb;
material.specularStrength = specularStrength;`,gj=`varying vec3 vViewPosition;
struct LambertMaterial {
	vec3 diffuseColor;
	float specularStrength;
};
void RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {
	float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
	vec3 irradiance = dotNL * directLight.color;
	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
}
void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {
	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
}
#define RE_Direct				RE_Direct_Lambert
#define RE_IndirectDiffuse		RE_IndirectDiffuse_Lambert`,ej=`uniform bool receiveShadow;
uniform vec3 ambientLightColor;
uniform vec3 lightProbe[ 9 ];
vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {
	float x = normal.x, y = normal.y, z = normal.z;
	vec3 result = shCoefficients[ 0 ] * 0.886227;
	result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;
	result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;
	result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;
	result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;
	result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;
	result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );
	result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;
	result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );
	return result;
}
vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {
	vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
	vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );
	return irradiance;
}
vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
	vec3 irradiance = ambientLightColor;
	return irradiance;
}
float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {
	#if defined ( PHYSICALLY_CORRECT_LIGHTS )
		float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );
		if ( cutoffDistance > 0.0 ) {
			distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );
		}
		return distanceFalloff;
	#else
		if ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {
			return pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );
		}
		return 1.0;
	#endif
}
float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {
	return smoothstep( coneCosine, penumbraCosine, angleCosine );
}
#if NUM_DIR_LIGHTS > 0
	struct DirectionalLight {
		vec3 direction;
		vec3 color;
	};
	uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
	void getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {
		light.color = directionalLight.color;
		light.direction = directionalLight.direction;
		light.visible = true;
	}
#endif
#if NUM_POINT_LIGHTS > 0
	struct PointLight {
		vec3 position;
		vec3 color;
		float distance;
		float decay;
	};
	uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
	void getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {
		vec3 lVector = pointLight.position - geometry.position;
		light.direction = normalize( lVector );
		float lightDistance = length( lVector );
		light.color = pointLight.color;
		light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );
		light.visible = ( light.color != vec3( 0.0 ) );
	}
#endif
#if NUM_SPOT_LIGHTS > 0
	struct SpotLight {
		vec3 position;
		vec3 direction;
		vec3 color;
		float distance;
		float decay;
		float coneCos;
		float penumbraCos;
	};
	uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
	void getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {
		vec3 lVector = spotLight.position - geometry.position;
		light.direction = normalize( lVector );
		float angleCos = dot( light.direction, spotLight.direction );
		float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );
		if ( spotAttenuation > 0.0 ) {
			float lightDistance = length( lVector );
			light.color = spotLight.color * spotAttenuation;
			light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );
			light.visible = ( light.color != vec3( 0.0 ) );
		} else {
			light.color = vec3( 0.0 );
			light.visible = false;
		}
	}
#endif
#if NUM_RECT_AREA_LIGHTS > 0
	struct RectAreaLight {
		vec3 color;
		vec3 position;
		vec3 halfWidth;
		vec3 halfHeight;
	};
	uniform sampler2D ltc_1;	uniform sampler2D ltc_2;
	uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];
#endif
#if NUM_HEMI_LIGHTS > 0
	struct HemisphereLight {
		vec3 direction;
		vec3 skyColor;
		vec3 groundColor;
	};
	uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];
	vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {
		float dotNL = dot( normal, hemiLight.direction );
		float hemiDiffuseWeight = 0.5 * dotNL + 0.5;
		vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );
		return irradiance;
	}
#endif`,Ij=`#if defined( USE_ENVMAP )
	vec3 getIBLIrradiance( const in vec3 normal ) {
		#if defined( ENVMAP_TYPE_CUBE_UV )
			vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
			vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );
			return PI * envMapColor.rgb * envMapIntensity;
		#else
			return vec3( 0.0 );
		#endif
	}
	vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {
		#if defined( ENVMAP_TYPE_CUBE_UV )
			vec3 reflectVec = reflect( - viewDir, normal );
			reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );
			reflectVec = inverseTransformDirection( reflectVec, viewMatrix );
			vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );
			return envMapColor.rgb * envMapIntensity;
		#else
			return vec3( 0.0 );
		#endif
	}
#endif`,ij=`ToonMaterial material;
material.diffuseColor = diffuseColor.rgb;`,tj=`varying vec3 vViewPosition;
struct ToonMaterial {
	vec3 diffuseColor;
};
void RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
	vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;
	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
}
void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
}
#define RE_Direct				RE_Direct_Toon
#define RE_IndirectDiffuse		RE_IndirectDiffuse_Toon`,Cj=`BlinnPhongMaterial material;
material.diffuseColor = diffuseColor.rgb;
material.specularColor = specular;
material.specularShininess = shininess;
material.specularStrength = specularStrength;`,oj=`varying vec3 vViewPosition;
struct BlinnPhongMaterial {
	vec3 diffuseColor;
	vec3 specularColor;
	float specularShininess;
	float specularStrength;
};
void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
	float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
	vec3 irradiance = dotNL * directLight.color;
	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
	reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;
}
void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
}
#define RE_Direct				RE_Direct_BlinnPhong
#define RE_IndirectDiffuse		RE_IndirectDiffuse_BlinnPhong`,aj=`PhysicalMaterial material;
material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );
float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );
material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;
material.roughness = min( material.roughness, 1.0 );
#ifdef IOR
	material.ior = ior;
	#ifdef SPECULAR
		float specularIntensityFactor = specularIntensity;
		vec3 specularColorFactor = specularColor;
		#ifdef USE_SPECULARINTENSITYMAP
			specularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;
		#endif
		#ifdef USE_SPECULARCOLORMAP
			specularColorFactor *= texture2D( specularColorMap, vUv ).rgb;
		#endif
		material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );
	#else
		float specularIntensityFactor = 1.0;
		vec3 specularColorFactor = vec3( 1.0 );
		material.specularF90 = 1.0;
	#endif
	material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );
#else
	material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );
	material.specularF90 = 1.0;
#endif
#ifdef USE_CLEARCOAT
	material.clearcoat = clearcoat;
	material.clearcoatRoughness = clearcoatRoughness;
	material.clearcoatF0 = vec3( 0.04 );
	material.clearcoatF90 = 1.0;
	#ifdef USE_CLEARCOATMAP
		material.clearcoat *= texture2D( clearcoatMap, vUv ).x;
	#endif
	#ifdef USE_CLEARCOAT_ROUGHNESSMAP
		material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;
	#endif
	material.clearcoat = saturate( material.clearcoat );	material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );
	material.clearcoatRoughness += geometryRoughness;
	material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );
#endif
#ifdef USE_IRIDESCENCE
	material.iridescence = iridescence;
	material.iridescenceIOR = iridescenceIOR;
	#ifdef USE_IRIDESCENCEMAP
		material.iridescence *= texture2D( iridescenceMap, vUv ).r;
	#endif
	#ifdef USE_IRIDESCENCE_THICKNESSMAP
		material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum;
	#else
		material.iridescenceThickness = iridescenceThicknessMaximum;
	#endif
#endif
#ifdef USE_SHEEN
	material.sheenColor = sheenColor;
	#ifdef USE_SHEENCOLORMAP
		material.sheenColor *= texture2D( sheenColorMap, vUv ).rgb;
	#endif
	material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );
	#ifdef USE_SHEENROUGHNESSMAP
		material.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;
	#endif
#endif`,rj=`struct PhysicalMaterial {
	vec3 diffuseColor;
	float roughness;
	vec3 specularColor;
	float specularF90;
	#ifdef USE_CLEARCOAT
		float clearcoat;
		float clearcoatRoughness;
		vec3 clearcoatF0;
		float clearcoatF90;
	#endif
	#ifdef USE_IRIDESCENCE
		float iridescence;
		float iridescenceIOR;
		float iridescenceThickness;
		vec3 iridescenceFresnel;
		vec3 iridescenceF0;
	#endif
	#ifdef USE_SHEEN
		vec3 sheenColor;
		float sheenRoughness;
	#endif
	#ifdef IOR
		float ior;
	#endif
	#ifdef USE_TRANSMISSION
		float transmission;
		float transmissionAlpha;
		float thickness;
		float attenuationDistance;
		vec3 attenuationColor;
	#endif
};
vec3 clearcoatSpecular = vec3( 0.0 );
vec3 sheenSpecular = vec3( 0.0 );
float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {
	float dotNV = saturate( dot( normal, viewDir ) );
	float r2 = roughness * roughness;
	float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;
	float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;
	float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );
	return saturate( DG * RECIPROCAL_PI );
}
vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {
	float dotNV = saturate( dot( normal, viewDir ) );
	const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );
	const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );
	vec4 r = roughness * c0 + c1;
	float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;
	vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;
	return fab;
}
vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {
	vec2 fab = DFGApprox( normal, viewDir, roughness );
	return specularColor * fab.x + specularF90 * fab.y;
}
#ifdef USE_IRIDESCENCE
void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {
#else
void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {
#endif
	vec2 fab = DFGApprox( normal, viewDir, roughness );
	#ifdef USE_IRIDESCENCE
		vec3 Fr = mix( specularColor, iridescenceF0, iridescence );
	#else
		vec3 Fr = specularColor;
	#endif
	vec3 FssEss = Fr * fab.x + specularF90 * fab.y;
	float Ess = fab.x + fab.y;
	float Ems = 1.0 - Ess;
	vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;	vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );
	singleScatter += FssEss;
	multiScatter += Fms * Ems;
}
#if NUM_RECT_AREA_LIGHTS > 0
	void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
		vec3 normal = geometry.normal;
		vec3 viewDir = geometry.viewDir;
		vec3 position = geometry.position;
		vec3 lightPos = rectAreaLight.position;
		vec3 halfWidth = rectAreaLight.halfWidth;
		vec3 halfHeight = rectAreaLight.halfHeight;
		vec3 lightColor = rectAreaLight.color;
		float roughness = material.roughness;
		vec3 rectCoords[ 4 ];
		rectCoords[ 0 ] = lightPos + halfWidth - halfHeight;		rectCoords[ 1 ] = lightPos - halfWidth - halfHeight;
		rectCoords[ 2 ] = lightPos - halfWidth + halfHeight;
		rectCoords[ 3 ] = lightPos + halfWidth + halfHeight;
		vec2 uv = LTC_Uv( normal, viewDir, roughness );
		vec4 t1 = texture2D( ltc_1, uv );
		vec4 t2 = texture2D( ltc_2, uv );
		mat3 mInv = mat3(
			vec3( t1.x, 0, t1.y ),
			vec3(    0, 1,    0 ),
			vec3( t1.z, 0, t1.w )
		);
		vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );
		reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );
		reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );
	}
#endif
void RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
	float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
	vec3 irradiance = dotNL * directLight.color;
	#ifdef USE_CLEARCOAT
		float dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );
		vec3 ccIrradiance = dotNLcc * directLight.color;
		clearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );
	#endif
	#ifdef USE_SHEEN
		sheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );
	#endif
	#ifdef USE_IRIDESCENCE
		reflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness );
	#else
		reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );
	#endif
	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
}
void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
}
void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {
	#ifdef USE_CLEARCOAT
		clearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );
	#endif
	#ifdef USE_SHEEN
		sheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );
	#endif
	vec3 singleScattering = vec3( 0.0 );
	vec3 multiScattering = vec3( 0.0 );
	vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;
	#ifdef USE_IRIDESCENCE
		computeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );
	#else
		computeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );
	#endif
	vec3 totalScattering = singleScattering + multiScattering;
	vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );
	reflectedLight.indirectSpecular += radiance * singleScattering;
	reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;
	reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;
}
#define RE_Direct				RE_Direct_Physical
#define RE_Direct_RectArea		RE_Direct_RectArea_Physical
#define RE_IndirectDiffuse		RE_IndirectDiffuse_Physical
#define RE_IndirectSpecular		RE_IndirectSpecular_Physical
float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {
	return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );
}`,sj=`
GeometricContext geometry;
geometry.position = - vViewPosition;
geometry.normal = normal;
geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
#ifdef USE_CLEARCOAT
	geometry.clearcoatNormal = clearcoatNormal;
#endif
#ifdef USE_IRIDESCENCE
	float dotNVi = saturate( dot( normal, geometry.viewDir ) );
	if ( material.iridescenceThickness == 0.0 ) {
		material.iridescence = 0.0;
	} else {
		material.iridescence = saturate( material.iridescence );
	}
	if ( material.iridescence > 0.0 ) {
		material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );
		material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );
	}
#endif
IncidentLight directLight;
#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )
	PointLight pointLight;
	#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0
	PointLightShadow pointLightShadow;
	#endif
	#pragma unroll_loop_start
	for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
		pointLight = pointLights[ i ];
		getPointLightInfo( pointLight, geometry, directLight );
		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )
		pointLightShadow = pointLightShadows[ i ];
		directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
		#endif
		RE_Direct( directLight, geometry, material, reflectedLight );
	}
	#pragma unroll_loop_end
#endif
#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )
	SpotLight spotLight;
	vec4 spotColor;
	vec3 spotLightCoord;
	bool inSpotLightMap;
	#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0
	SpotLightShadow spotLightShadow;
	#endif
	#pragma unroll_loop_start
	for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
		spotLight = spotLights[ i ];
		getSpotLightInfo( spotLight, geometry, directLight );
		#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )
		#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX
		#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
		#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS
		#else
		#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )
		#endif
		#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )
			spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;
			inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );
			spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );
			directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;
		#endif
		#undef SPOT_LIGHT_MAP_INDEX
		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
		spotLightShadow = spotLightShadows[ i ];
		directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
		#endif
		RE_Direct( directLight, geometry, material, reflectedLight );
	}
	#pragma unroll_loop_end
#endif
#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )
	DirectionalLight directionalLight;
	#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0
	DirectionalLightShadow directionalLightShadow;
	#endif
	#pragma unroll_loop_start
	for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
		directionalLight = directionalLights[ i ];
		getDirectionalLightInfo( directionalLight, geometry, directLight );
		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )
		directionalLightShadow = directionalLightShadows[ i ];
		directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
		#endif
		RE_Direct( directLight, geometry, material, reflectedLight );
	}
	#pragma unroll_loop_end
#endif
#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )
	RectAreaLight rectAreaLight;
	#pragma unroll_loop_start
	for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {
		rectAreaLight = rectAreaLights[ i ];
		RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );
	}
	#pragma unroll_loop_end
#endif
#if defined( RE_IndirectDiffuse )
	vec3 iblIrradiance = vec3( 0.0 );
	vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );
	irradiance += getLightProbeIrradiance( lightProbe, geometry.normal );
	#if ( NUM_HEMI_LIGHTS > 0 )
		#pragma unroll_loop_start
		for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
			irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );
		}
		#pragma unroll_loop_end
	#endif
#endif
#if defined( RE_IndirectSpecular )
	vec3 radiance = vec3( 0.0 );
	vec3 clearcoatRadiance = vec3( 0.0 );
#endif`,Bj=`#if defined( RE_IndirectDiffuse )
	#ifdef USE_LIGHTMAP
		vec4 lightMapTexel = texture2D( lightMap, vUv2 );
		vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;
		irradiance += lightMapIrradiance;
	#endif
	#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )
		iblIrradiance += getIBLIrradiance( geometry.normal );
	#endif
#endif
#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )
	radiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );
	#ifdef USE_CLEARCOAT
		clearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );
	#endif
#endif`,Qj=`#if defined( RE_IndirectDiffuse )
	RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );
#endif
#if defined( RE_IndirectSpecular )
	RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );
#endif`,nj=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
	gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;
#endif`,Ej=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
	uniform float logDepthBufFC;
	varying float vFragDepth;
	varying float vIsPerspective;
#endif`,hj=`#ifdef USE_LOGDEPTHBUF
	#ifdef USE_LOGDEPTHBUF_EXT
		varying float vFragDepth;
		varying float vIsPerspective;
	#else
		uniform float logDepthBufFC;
	#endif
#endif`,lj=`#ifdef USE_LOGDEPTHBUF
	#ifdef USE_LOGDEPTHBUF_EXT
		vFragDepth = 1.0 + gl_Position.w;
		vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );
	#else
		if ( isPerspectiveMatrix( projectionMatrix ) ) {
			gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;
			gl_Position.z *= gl_Position.w;
		}
	#endif
#endif`,cj=`#ifdef USE_MAP
	vec4 sampledDiffuseColor = texture2D( map, vUv );
	#ifdef DECODE_VIDEO_TEXTURE
		sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );
	#endif
	diffuseColor *= sampledDiffuseColor;
#endif`,dj=`#ifdef USE_MAP
	uniform sampler2D map;
#endif`,uj=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
	vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;
#endif
#ifdef USE_MAP
	diffuseColor *= texture2D( map, uv );
#endif
#ifdef USE_ALPHAMAP
	diffuseColor.a *= texture2D( alphaMap, uv ).g;
#endif`,Dj=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
	uniform mat3 uvTransform;
#endif
#ifdef USE_MAP
	uniform sampler2D map;
#endif
#ifdef USE_ALPHAMAP
	uniform sampler2D alphaMap;
#endif`,pj=`float metalnessFactor = metalness;
#ifdef USE_METALNESSMAP
	vec4 texelMetalness = texture2D( metalnessMap, vUv );
	metalnessFactor *= texelMetalness.b;
#endif`,yj=`#ifdef USE_METALNESSMAP
	uniform sampler2D metalnessMap;
#endif`,wj=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )
	vColor *= morphTargetBaseInfluence;
	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
		#if defined( USE_COLOR_ALPHA )
			if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];
		#elif defined( USE_COLOR )
			if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];
		#endif
	}
#endif`,fj=`#ifdef USE_MORPHNORMALS
	objectNormal *= morphTargetBaseInfluence;
	#ifdef MORPHTARGETS_TEXTURE
		for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
			if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];
		}
	#else
		objectNormal += morphNormal0 * morphTargetInfluences[ 0 ];
		objectNormal += morphNormal1 * morphTargetInfluences[ 1 ];
		objectNormal += morphNormal2 * morphTargetInfluences[ 2 ];
		objectNormal += morphNormal3 * morphTargetInfluences[ 3 ];
	#endif
#endif`,Sj=`#ifdef USE_MORPHTARGETS
	uniform float morphTargetBaseInfluence;
	#ifdef MORPHTARGETS_TEXTURE
		uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];
		uniform sampler2DArray morphTargetsTexture;
		uniform ivec2 morphTargetsTextureSize;
		vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {
			int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;
			int y = texelIndex / morphTargetsTextureSize.x;
			int x = texelIndex - y * morphTargetsTextureSize.x;
			ivec3 morphUV = ivec3( x, y, morphTargetIndex );
			return texelFetch( morphTargetsTexture, morphUV, 0 );
		}
	#else
		#ifndef USE_MORPHNORMALS
			uniform float morphTargetInfluences[ 8 ];
		#else
			uniform float morphTargetInfluences[ 4 ];
		#endif
	#endif
#endif`,Gj=`#ifdef USE_MORPHTARGETS
	transformed *= morphTargetBaseInfluence;
	#ifdef MORPHTARGETS_TEXTURE
		for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
			if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];
		}
	#else
		transformed += morphTarget0 * morphTargetInfluences[ 0 ];
		transformed += morphTarget1 * morphTargetInfluences[ 1 ];
		transformed += morphTarget2 * morphTargetInfluences[ 2 ];
		transformed += morphTarget3 * morphTargetInfluences[ 3 ];
		#ifndef USE_MORPHNORMALS
			transformed += morphTarget4 * morphTargetInfluences[ 4 ];
			transformed += morphTarget5 * morphTargetInfluences[ 5 ];
			transformed += morphTarget6 * morphTargetInfluences[ 6 ];
			transformed += morphTarget7 * morphTargetInfluences[ 7 ];
		#endif
	#endif
#endif`,mj=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;
#ifdef FLAT_SHADED
	vec3 fdx = dFdx( vViewPosition );
	vec3 fdy = dFdy( vViewPosition );
	vec3 normal = normalize( cross( fdx, fdy ) );
#else
	vec3 normal = normalize( vNormal );
	#ifdef DOUBLE_SIDED
		normal = normal * faceDirection;
	#endif
	#ifdef USE_TANGENT
		vec3 tangent = normalize( vTangent );
		vec3 bitangent = normalize( vBitangent );
		#ifdef DOUBLE_SIDED
			tangent = tangent * faceDirection;
			bitangent = bitangent * faceDirection;
		#endif
		#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )
			mat3 vTBN = mat3( tangent, bitangent, normal );
		#endif
	#endif
#endif
vec3 geometryNormal = normal;`,Mj=`#ifdef OBJECTSPACE_NORMALMAP
	normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;
	#ifdef FLIP_SIDED
		normal = - normal;
	#endif
	#ifdef DOUBLE_SIDED
		normal = normal * faceDirection;
	#endif
	normal = normalize( normalMatrix * normal );
#elif defined( TANGENTSPACE_NORMALMAP )
	vec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;
	mapN.xy *= normalScale;
	#ifdef USE_TANGENT
		normal = normalize( vTBN * mapN );
	#else
		normal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );
	#endif
#elif defined( USE_BUMPMAP )
	normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );
#endif`,kj=`#ifndef FLAT_SHADED
	varying vec3 vNormal;
	#ifdef USE_TANGENT
		varying vec3 vTangent;
		varying vec3 vBitangent;
	#endif
#endif`,Uj=`#ifndef FLAT_SHADED
	varying vec3 vNormal;
	#ifdef USE_TANGENT
		varying vec3 vTangent;
		varying vec3 vBitangent;
	#endif
#endif`,Nj=`#ifndef FLAT_SHADED
	vNormal = normalize( transformedNormal );
	#ifdef USE_TANGENT
		vTangent = normalize( transformedTangent );
		vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );
	#endif
#endif`,Fj=`#ifdef USE_NORMALMAP
	uniform sampler2D normalMap;
	uniform vec2 normalScale;
#endif
#ifdef OBJECTSPACE_NORMALMAP
	uniform mat3 normalMatrix;
#endif
#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )
	vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {
		vec3 q0 = dFdx( eye_pos.xyz );
		vec3 q1 = dFdy( eye_pos.xyz );
		vec2 st0 = dFdx( vUv.st );
		vec2 st1 = dFdy( vUv.st );
		vec3 N = surf_norm;
		vec3 q1perp = cross( q1, N );
		vec3 q0perp = cross( N, q0 );
		vec3 T = q1perp * st0.x + q0perp * st1.x;
		vec3 B = q1perp * st0.y + q0perp * st1.y;
		float det = max( dot( T, T ), dot( B, B ) );
		float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );
		return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );
	}
#endif`,Rj=`#ifdef USE_CLEARCOAT
	vec3 clearcoatNormal = geometryNormal;
#endif`,vj=`#ifdef USE_CLEARCOAT_NORMALMAP
	vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;
	clearcoatMapN.xy *= clearcoatNormalScale;
	#ifdef USE_TANGENT
		clearcoatNormal = normalize( vTBN * clearcoatMapN );
	#else
		clearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );
	#endif
#endif`,Kj=`#ifdef USE_CLEARCOATMAP
	uniform sampler2D clearcoatMap;
#endif
#ifdef USE_CLEARCOAT_ROUGHNESSMAP
	uniform sampler2D clearcoatRoughnessMap;
#endif
#ifdef USE_CLEARCOAT_NORMALMAP
	uniform sampler2D clearcoatNormalMap;
	uniform vec2 clearcoatNormalScale;
#endif`,Jj=`#ifdef USE_IRIDESCENCEMAP
	uniform sampler2D iridescenceMap;
#endif
#ifdef USE_IRIDESCENCE_THICKNESSMAP
	uniform sampler2D iridescenceThicknessMap;
#endif`,qj=`#ifdef OPAQUE
diffuseColor.a = 1.0;
#endif
#ifdef USE_TRANSMISSION
diffuseColor.a *= material.transmissionAlpha + 0.1;
#endif
gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,bj=`vec3 packNormalToRGB( const in vec3 normal ) {
	return normalize( normal ) * 0.5 + 0.5;
}
vec3 unpackRGBToNormal( const in vec3 rgb ) {
	return 2.0 * rgb.xyz - 1.0;
}
const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;
const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );
const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );
const float ShiftRight8 = 1. / 256.;
vec4 packDepthToRGBA( const in float v ) {
	vec4 r = vec4( fract( v * PackFactors ), v );
	r.yzw -= r.xyz * ShiftRight8;	return r * PackUpscale;
}
float unpackRGBAToDepth( const in vec4 v ) {
	return dot( v, UnpackFactors );
}
vec2 packDepthToRG( in highp float v ) {
	return packDepthToRGBA( v ).yx;
}
float unpackRGToDepth( const in highp vec2 v ) {
	return unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );
}
vec4 pack2HalfToRGBA( vec2 v ) {
	vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );
	return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );
}
vec2 unpackRGBATo2Half( vec4 v ) {
	return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );
}
float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {
	return ( viewZ + near ) / ( near - far );
}
float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {
	return linearClipZ * ( near - far ) - near;
}
float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {
	return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );
}
float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {
	return ( near * far ) / ( ( far - near ) * invClipZ - far );
}`,Lj=`#ifdef PREMULTIPLIED_ALPHA
	gl_FragColor.rgb *= gl_FragColor.a;
#endif`,xj=`vec4 mvPosition = vec4( transformed, 1.0 );
#ifdef USE_INSTANCING
	mvPosition = instanceMatrix * mvPosition;
#endif
mvPosition = modelViewMatrix * mvPosition;
gl_Position = projectionMatrix * mvPosition;`,Yj=`#ifdef DITHERING
	gl_FragColor.rgb = dithering( gl_FragColor.rgb );
#endif`,Hj=`#ifdef DITHERING
	vec3 dithering( vec3 color ) {
		float grid_position = rand( gl_FragCoord.xy );
		vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );
		dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );
		return color + dither_shift_RGB;
	}
#endif`,Tj=`float roughnessFactor = roughness;
#ifdef USE_ROUGHNESSMAP
	vec4 texelRoughness = texture2D( roughnessMap, vUv );
	roughnessFactor *= texelRoughness.g;
#endif`,Oj=`#ifdef USE_ROUGHNESSMAP
	uniform sampler2D roughnessMap;
#endif`,_j=`#if NUM_SPOT_LIGHT_COORDS > 0
  varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];
#endif
#if NUM_SPOT_LIGHT_MAPS > 0
  uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];
#endif
#ifdef USE_SHADOWMAP
	#if NUM_DIR_LIGHT_SHADOWS > 0
		uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];
		varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
		struct DirectionalLightShadow {
			float shadowBias;
			float shadowNormalBias;
			float shadowRadius;
			vec2 shadowMapSize;
		};
		uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
	#endif
	#if NUM_SPOT_LIGHT_SHADOWS > 0
		uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];
		struct SpotLightShadow {
			float shadowBias;
			float shadowNormalBias;
			float shadowRadius;
			vec2 shadowMapSize;
		};
		uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
	#endif
	#if NUM_POINT_LIGHT_SHADOWS > 0
		uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];
		varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
		struct PointLightShadow {
			float shadowBias;
			float shadowNormalBias;
			float shadowRadius;
			vec2 shadowMapSize;
			float shadowCameraNear;
			float shadowCameraFar;
		};
		uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
	#endif
	float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {
		return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );
	}
	vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {
		return unpackRGBATo2Half( texture2D( shadow, uv ) );
	}
	float VSMShadow (sampler2D shadow, vec2 uv, float compare ){
		float occlusion = 1.0;
		vec2 distribution = texture2DDistribution( shadow, uv );
		float hard_shadow = step( compare , distribution.x );
		if (hard_shadow != 1.0 ) {
			float distance = compare - distribution.x ;
			float variance = max( 0.00000, distribution.y * distribution.y );
			float softness_probability = variance / (variance + distance * distance );			softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );			occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );
		}
		return occlusion;
	}
	float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {
		float shadow = 1.0;
		shadowCoord.xyz /= shadowCoord.w;
		shadowCoord.z += shadowBias;
		bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;
		bool frustumTest = inFrustum && shadowCoord.z <= 1.0;
		if ( frustumTest ) {
		#if defined( SHADOWMAP_TYPE_PCF )
			vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
			float dx0 = - texelSize.x * shadowRadius;
			float dy0 = - texelSize.y * shadowRadius;
			float dx1 = + texelSize.x * shadowRadius;
			float dy1 = + texelSize.y * shadowRadius;
			float dx2 = dx0 / 2.0;
			float dy2 = dy0 / 2.0;
			float dx3 = dx1 / 2.0;
			float dy3 = dy1 / 2.0;
			shadow = (
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )
			) * ( 1.0 / 17.0 );
		#elif defined( SHADOWMAP_TYPE_PCF_SOFT )
			vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
			float dx = texelSize.x;
			float dy = texelSize.y;
			vec2 uv = shadowCoord.xy;
			vec2 f = fract( uv * shadowMapSize + 0.5 );
			uv -= f * texelSize;
			shadow = (
				texture2DCompare( shadowMap, uv, shadowCoord.z ) +
				texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +
				texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +
				texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +
				mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),
					 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),
					 f.x ) +
				mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),
					 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),
					 f.x ) +
				mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),
					 texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),
					 f.y ) +
				mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),
					 texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),
					 f.y ) +
				mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),
						  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),
						  f.x ),
					 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),
						  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),
						  f.x ),
					 f.y )
			) * ( 1.0 / 9.0 );
		#elif defined( SHADOWMAP_TYPE_VSM )
			shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );
		#else
			shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );
		#endif
		}
		return shadow;
	}
	vec2 cubeToUV( vec3 v, float texelSizeY ) {
		vec3 absV = abs( v );
		float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );
		absV *= scaleToCube;
		v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );
		vec2 planar = v.xy;
		float almostATexel = 1.5 * texelSizeY;
		float almostOne = 1.0 - almostATexel;
		if ( absV.z >= almostOne ) {
			if ( v.z > 0.0 )
				planar.x = 4.0 - v.x;
		} else if ( absV.x >= almostOne ) {
			float signX = sign( v.x );
			planar.x = v.z * signX + 2.0 * signX;
		} else if ( absV.y >= almostOne ) {
			float signY = sign( v.y );
			planar.x = v.x + 2.0 * signY + 2.0;
			planar.y = v.z * signY - 2.0;
		}
		return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );
	}
	float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {
		vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );
		vec3 lightToPosition = shadowCoord.xyz;
		float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );		dp += shadowBias;
		vec3 bd3D = normalize( lightToPosition );
		#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )
			vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;
			return (
				texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +
				texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +
				texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +
				texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +
				texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +
				texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +
				texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +
				texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +
				texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )
			) * ( 1.0 / 9.0 );
		#else
			return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );
		#endif
	}
#endif`,Pj=`#if NUM_SPOT_LIGHT_COORDS > 0
  uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];
  varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];
#endif
#ifdef USE_SHADOWMAP
	#if NUM_DIR_LIGHT_SHADOWS > 0
		uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];
		varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
		struct DirectionalLightShadow {
			float shadowBias;
			float shadowNormalBias;
			float shadowRadius;
			vec2 shadowMapSize;
		};
		uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
	#endif
	#if NUM_SPOT_LIGHT_SHADOWS > 0
		struct SpotLightShadow {
			float shadowBias;
			float shadowNormalBias;
			float shadowRadius;
			vec2 shadowMapSize;
		};
		uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
	#endif
	#if NUM_POINT_LIGHT_SHADOWS > 0
		uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];
		varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
		struct PointLightShadow {
			float shadowBias;
			float shadowNormalBias;
			float shadowRadius;
			vec2 shadowMapSize;
			float shadowCameraNear;
			float shadowCameraFar;
		};
		uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
	#endif
#endif`,jj=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )
	vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
	vec4 shadowWorldPosition;
#endif
#if defined( USE_SHADOWMAP )
	#if NUM_DIR_LIGHT_SHADOWS > 0
		#pragma unroll_loop_start
		for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
			shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );
			vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;
		}
		#pragma unroll_loop_end
	#endif
	#if NUM_POINT_LIGHT_SHADOWS > 0
		#pragma unroll_loop_start
		for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
			shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );
			vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;
		}
		#pragma unroll_loop_end
	#endif
#endif
#if NUM_SPOT_LIGHT_COORDS > 0
	#pragma unroll_loop_start
	for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {
		shadowWorldPosition = worldPosition;
		#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
			shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;
		#endif
		vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;
	}
	#pragma unroll_loop_end
#endif`,Wj=`float getShadowMask() {
	float shadow = 1.0;
	#ifdef USE_SHADOWMAP
	#if NUM_DIR_LIGHT_SHADOWS > 0
	DirectionalLightShadow directionalLight;
	#pragma unroll_loop_start
	for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
		directionalLight = directionalLightShadows[ i ];
		shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
	}
	#pragma unroll_loop_end
	#endif
	#if NUM_SPOT_LIGHT_SHADOWS > 0
	SpotLightShadow spotLight;
	#pragma unroll_loop_start
	for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
		spotLight = spotLightShadows[ i ];
		shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
	}
	#pragma unroll_loop_end
	#endif
	#if NUM_POINT_LIGHT_SHADOWS > 0
	PointLightShadow pointLight;
	#pragma unroll_loop_start
	for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
		pointLight = pointLightShadows[ i ];
		shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;
	}
	#pragma unroll_loop_end
	#endif
	#endif
	return shadow;
}`,zj=`#ifdef USE_SKINNING
	mat4 boneMatX = getBoneMatrix( skinIndex.x );
	mat4 boneMatY = getBoneMatrix( skinIndex.y );
	mat4 boneMatZ = getBoneMatrix( skinIndex.z );
	mat4 boneMatW = getBoneMatrix( skinIndex.w );
#endif`,Vj=`#ifdef USE_SKINNING
	uniform mat4 bindMatrix;
	uniform mat4 bindMatrixInverse;
	uniform highp sampler2D boneTexture;
	uniform int boneTextureSize;
	mat4 getBoneMatrix( const in float i ) {
		float j = i * 4.0;
		float x = mod( j, float( boneTextureSize ) );
		float y = floor( j / float( boneTextureSize ) );
		float dx = 1.0 / float( boneTextureSize );
		float dy = 1.0 / float( boneTextureSize );
		y = dy * ( y + 0.5 );
		vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );
		vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );
		vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );
		vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );
		mat4 bone = mat4( v1, v2, v3, v4 );
		return bone;
	}
#endif`,Zj=`#ifdef USE_SKINNING
	vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );
	vec4 skinned = vec4( 0.0 );
	skinned += boneMatX * skinVertex * skinWeight.x;
	skinned += boneMatY * skinVertex * skinWeight.y;
	skinned += boneMatZ * skinVertex * skinWeight.z;
	skinned += boneMatW * skinVertex * skinWeight.w;
	transformed = ( bindMatrixInverse * skinned ).xyz;
#endif`,Xj=`#ifdef USE_SKINNING
	mat4 skinMatrix = mat4( 0.0 );
	skinMatrix += skinWeight.x * boneMatX;
	skinMatrix += skinWeight.y * boneMatY;
	skinMatrix += skinWeight.z * boneMatZ;
	skinMatrix += skinWeight.w * boneMatW;
	skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;
	objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;
	#ifdef USE_TANGENT
		objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;
	#endif
#endif`,$j=`float specularStrength;
#ifdef USE_SPECULARMAP
	vec4 texelSpecular = texture2D( specularMap, vUv );
	specularStrength = texelSpecular.r;
#else
	specularStrength = 1.0;
#endif`,A8=`#ifdef USE_SPECULARMAP
	uniform sampler2D specularMap;
#endif`,g8=`#if defined( TONE_MAPPING )
	gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );
#endif`,e8=`#ifndef saturate
#define saturate( a ) clamp( a, 0.0, 1.0 )
#endif
uniform float toneMappingExposure;
vec3 LinearToneMapping( vec3 color ) {
	return toneMappingExposure * color;
}
vec3 ReinhardToneMapping( vec3 color ) {
	color *= toneMappingExposure;
	return saturate( color / ( vec3( 1.0 ) + color ) );
}
vec3 OptimizedCineonToneMapping( vec3 color ) {
	color *= toneMappingExposure;
	color = max( vec3( 0.0 ), color - 0.004 );
	return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
}
vec3 RRTAndODTFit( vec3 v ) {
	vec3 a = v * ( v + 0.0245786 ) - 0.000090537;
	vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;
	return a / b;
}
vec3 ACESFilmicToneMapping( vec3 color ) {
	const mat3 ACESInputMat = mat3(
		vec3( 0.59719, 0.07600, 0.02840 ),		vec3( 0.35458, 0.90834, 0.13383 ),
		vec3( 0.04823, 0.01566, 0.83777 )
	);
	const mat3 ACESOutputMat = mat3(
		vec3(  1.60475, -0.10208, -0.00327 ),		vec3( -0.53108,  1.10813, -0.07276 ),
		vec3( -0.07367, -0.00605,  1.07602 )
	);
	color *= toneMappingExposure / 0.6;
	color = ACESInputMat * color;
	color = RRTAndODTFit( color );
	color = ACESOutputMat * color;
	return saturate( color );
}
vec3 CustomToneMapping( vec3 color ) { return color; }`,I8=`#ifdef USE_TRANSMISSION
	material.transmission = transmission;
	material.transmissionAlpha = 1.0;
	material.thickness = thickness;
	material.attenuationDistance = attenuationDistance;
	material.attenuationColor = attenuationColor;
	#ifdef USE_TRANSMISSIONMAP
		material.transmission *= texture2D( transmissionMap, vUv ).r;
	#endif
	#ifdef USE_THICKNESSMAP
		material.thickness *= texture2D( thicknessMap, vUv ).g;
	#endif
	vec3 pos = vWorldPosition;
	vec3 v = normalize( cameraPosition - pos );
	vec3 n = inverseTransformDirection( normal, viewMatrix );
	vec4 transmission = getIBLVolumeRefraction(
		n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,
		pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,
		material.attenuationColor, material.attenuationDistance );
	material.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );
	totalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );
#endif`,i8=`#ifdef USE_TRANSMISSION
	uniform float transmission;
	uniform float thickness;
	uniform float attenuationDistance;
	uniform vec3 attenuationColor;
	#ifdef USE_TRANSMISSIONMAP
		uniform sampler2D transmissionMap;
	#endif
	#ifdef USE_THICKNESSMAP
		uniform sampler2D thicknessMap;
	#endif
	uniform vec2 transmissionSamplerSize;
	uniform sampler2D transmissionSamplerMap;
	uniform mat4 modelMatrix;
	uniform mat4 projectionMatrix;
	varying vec3 vWorldPosition;
	vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {
		vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );
		vec3 modelScale;
		modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );
		modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );
		modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );
		return normalize( refractionVector ) * thickness * modelScale;
	}
	float applyIorToRoughness( const in float roughness, const in float ior ) {
		return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );
	}
	vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {
		float framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );
		#ifdef texture2DLodEXT
			return texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );
		#else
			return texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );
		#endif
	}
	vec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {
		if ( isinf( attenuationDistance ) ) {
			return radiance;
		} else {
			vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;
			vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );			return transmittance * radiance;
		}
	}
	vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,
		const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,
		const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,
		const in vec3 attenuationColor, const in float attenuationDistance ) {
		vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );
		vec3 refractedRayExit = position + transmissionRay;
		vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );
		vec2 refractionCoords = ndcPos.xy / ndcPos.w;
		refractionCoords += 1.0;
		refractionCoords /= 2.0;
		vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );
		vec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );
		vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );
		return vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );
	}
#endif`,t8=`#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )
	varying vec2 vUv;
#endif`,C8=`#ifdef USE_UV
	#ifdef UVS_VERTEX_ONLY
		vec2 vUv;
	#else
		varying vec2 vUv;
	#endif
	uniform mat3 uvTransform;
#endif`,o8=`#ifdef USE_UV
	vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
#endif`,a8=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
	varying vec2 vUv2;
#endif`,r8=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
	attribute vec2 uv2;
	varying vec2 vUv2;
	uniform mat3 uv2Transform;
#endif`,s8=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
	vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;
#endif`,B8=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0
	vec4 worldPosition = vec4( transformed, 1.0 );
	#ifdef USE_INSTANCING
		worldPosition = instanceMatrix * worldPosition;
	#endif
	worldPosition = modelMatrix * worldPosition;
#endif`,Q8=`varying vec2 vUv;
uniform mat3 uvTransform;
void main() {
	vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
	gl_Position = vec4( position.xy, 1.0, 1.0 );
}`,n8=`uniform sampler2D t2D;
uniform float backgroundIntensity;
varying vec2 vUv;
void main() {
	vec4 texColor = texture2D( t2D, vUv );
	#ifdef DECODE_VIDEO_TEXTURE
		texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );
	#endif
	texColor.rgb *= backgroundIntensity;
	gl_FragColor = texColor;
	#include <tonemapping_fragment>
	#include <encodings_fragment>
}`,E8=`varying vec3 vWorldDirection;
#include <common>
void main() {
	vWorldDirection = transformDirection( position, modelMatrix );
	#include <begin_vertex>
	#include <project_vertex>
	gl_Position.z = gl_Position.w;
}`,h8=`#ifdef ENVMAP_TYPE_CUBE
	uniform samplerCube envMap;
#elif defined( ENVMAP_TYPE_CUBE_UV )
	uniform sampler2D envMap;
#endif
uniform float flipEnvMap;
uniform float backgroundBlurriness;
uniform float backgroundIntensity;
varying vec3 vWorldDirection;
#include <cube_uv_reflection_fragment>
void main() {
	#ifdef ENVMAP_TYPE_CUBE
		vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );
	#elif defined( ENVMAP_TYPE_CUBE_UV )
		vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );
	#else
		vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );
	#endif
	texColor.rgb *= backgroundIntensity;
	gl_FragColor = texColor;
	#include <tonemapping_fragment>
	#include <encodings_fragment>
}`,l8=`varying vec3 vWorldDirection;
#include <common>
void main() {
	vWorldDirection = transformDirection( position, modelMatrix );
	#include <begin_vertex>
	#include <project_vertex>
	gl_Position.z = gl_Position.w;
}`,c8=`uniform samplerCube tCube;
uniform float tFlip;
uniform float opacity;
varying vec3 vWorldDirection;
void main() {
	vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );
	gl_FragColor = texColor;
	gl_FragColor.a *= opacity;
	#include <tonemapping_fragment>
	#include <encodings_fragment>
}`,d8=`#include <common>
#include <uv_pars_vertex>
#include <displacementmap_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
varying vec2 vHighPrecisionZW;
void main() {
	#include <uv_vertex>
	#include <skinbase_vertex>
	#ifdef USE_DISPLACEMENTMAP
		#include <beginnormal_vertex>
		#include <morphnormal_vertex>
		#include <skinnormal_vertex>
	#endif
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	vHighPrecisionZW = gl_Position.zw;
}`,u8=`#if DEPTH_PACKING == 3200
	uniform float opacity;
#endif
#include <common>
#include <packing>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
varying vec2 vHighPrecisionZW;
void main() {
	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4( 1.0 );
	#if DEPTH_PACKING == 3200
		diffuseColor.a = opacity;
	#endif
	#include <map_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	#include <logdepthbuf_fragment>
	float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
	#if DEPTH_PACKING == 3200
		gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );
	#elif DEPTH_PACKING == 3201
		gl_FragColor = packDepthToRGBA( fragCoordZ );
	#endif
}`,D8=`#define DISTANCE
varying vec3 vWorldPosition;
#include <common>
#include <uv_pars_vertex>
#include <displacementmap_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	#include <skinbase_vertex>
	#ifdef USE_DISPLACEMENTMAP
		#include <beginnormal_vertex>
		#include <morphnormal_vertex>
		#include <skinnormal_vertex>
	#endif
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <worldpos_vertex>
	#include <clipping_planes_vertex>
	vWorldPosition = worldPosition.xyz;
}`,p8=`#define DISTANCE
uniform vec3 referencePosition;
uniform float nearDistance;
uniform float farDistance;
varying vec3 vWorldPosition;
#include <common>
#include <packing>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <clipping_planes_pars_fragment>
void main () {
	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4( 1.0 );
	#include <map_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	float dist = length( vWorldPosition - referencePosition );
	dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
	dist = saturate( dist );
	gl_FragColor = packDepthToRGBA( dist );
}`,y8=`varying vec3 vWorldDirection;
#include <common>
void main() {
	vWorldDirection = transformDirection( position, modelMatrix );
	#include <begin_vertex>
	#include <project_vertex>
}`,w8=`uniform sampler2D tEquirect;
varying vec3 vWorldDirection;
#include <common>
void main() {
	vec3 direction = normalize( vWorldDirection );
	vec2 sampleUV = equirectUv( direction );
	gl_FragColor = texture2D( tEquirect, sampleUV );
	#include <tonemapping_fragment>
	#include <encodings_fragment>
}`,f8=`uniform float scale;
attribute float lineDistance;
varying float vLineDistance;
#include <common>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	vLineDistance = scale * lineDistance;
	#include <color_vertex>
	#include <morphcolor_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	#include <fog_vertex>
}`,S8=`uniform vec3 diffuse;
uniform float opacity;
uniform float dashSize;
uniform float totalSize;
varying float vLineDistance;
#include <common>
#include <color_pars_fragment>
#include <fog_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	if ( mod( vLineDistance, totalSize ) > dashSize ) {
		discard;
	}
	vec3 outgoingLight = vec3( 0.0 );
	vec4 diffuseColor = vec4( diffuse, opacity );
	#include <logdepthbuf_fragment>
	#include <color_fragment>
	outgoingLight = diffuseColor.rgb;
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
	#include <premultiplied_alpha_fragment>
}`,G8=`#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <envmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	#include <uv2_vertex>
	#include <color_vertex>
	#include <morphcolor_vertex>
	#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )
		#include <beginnormal_vertex>
		#include <morphnormal_vertex>
		#include <skinbase_vertex>
		#include <skinnormal_vertex>
		#include <defaultnormal_vertex>
	#endif
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	#include <worldpos_vertex>
	#include <envmap_vertex>
	#include <fog_vertex>
}`,m8=`uniform vec3 diffuse;
uniform float opacity;
#ifndef FLAT_SHADED
	varying vec3 vNormal;
#endif
#include <common>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <envmap_common_pars_fragment>
#include <envmap_pars_fragment>
#include <fog_pars_fragment>
#include <specularmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4( diffuse, opacity );
	#include <logdepthbuf_fragment>
	#include <map_fragment>
	#include <color_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	#include <specularmap_fragment>
	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
	#ifdef USE_LIGHTMAP
		vec4 lightMapTexel = texture2D( lightMap, vUv2 );
		reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;
	#else
		reflectedLight.indirectDiffuse += vec3( 1.0 );
	#endif
	#include <aomap_fragment>
	reflectedLight.indirectDiffuse *= diffuseColor.rgb;
	vec3 outgoingLight = reflectedLight.indirectDiffuse;
	#include <envmap_fragment>
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
	#include <premultiplied_alpha_fragment>
	#include <dithering_fragment>
}`,M8=`#define LAMBERT
varying vec3 vViewPosition;
#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <displacementmap_pars_vertex>
#include <envmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <normal_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	#include <uv2_vertex>
	#include <color_vertex>
	#include <morphcolor_vertex>
	#include <beginnormal_vertex>
	#include <morphnormal_vertex>
	#include <skinbase_vertex>
	#include <skinnormal_vertex>
	#include <defaultnormal_vertex>
	#include <normal_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	vViewPosition = - mvPosition.xyz;
	#include <worldpos_vertex>
	#include <envmap_vertex>
	#include <shadowmap_vertex>
	#include <fog_vertex>
}`,k8=`#define LAMBERT
uniform vec3 diffuse;
uniform vec3 emissive;
uniform float opacity;
#include <common>
#include <packing>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <emissivemap_pars_fragment>
#include <envmap_common_pars_fragment>
#include <envmap_pars_fragment>
#include <fog_pars_fragment>
#include <bsdfs>
#include <lights_pars_begin>
#include <normal_pars_fragment>
#include <lights_lambert_pars_fragment>
#include <shadowmap_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <specularmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4( diffuse, opacity );
	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
	vec3 totalEmissiveRadiance = emissive;
	#include <logdepthbuf_fragment>
	#include <map_fragment>
	#include <color_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	#include <specularmap_fragment>
	#include <normal_fragment_begin>
	#include <normal_fragment_maps>
	#include <emissivemap_fragment>
	#include <lights_lambert_fragment>
	#include <lights_fragment_begin>
	#include <lights_fragment_maps>
	#include <lights_fragment_end>
	#include <aomap_fragment>
	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
	#include <envmap_fragment>
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
	#include <premultiplied_alpha_fragment>
	#include <dithering_fragment>
}`,U8=`#define MATCAP
varying vec3 vViewPosition;
#include <common>
#include <uv_pars_vertex>
#include <color_pars_vertex>
#include <displacementmap_pars_vertex>
#include <fog_pars_vertex>
#include <normal_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	#include <color_vertex>
	#include <morphcolor_vertex>
	#include <beginnormal_vertex>
	#include <morphnormal_vertex>
	#include <skinbase_vertex>
	#include <skinnormal_vertex>
	#include <defaultnormal_vertex>
	#include <normal_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	#include <fog_vertex>
	vViewPosition = - mvPosition.xyz;
}`,N8=`#define MATCAP
uniform vec3 diffuse;
uniform float opacity;
uniform sampler2D matcap;
varying vec3 vViewPosition;
#include <common>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <fog_pars_fragment>
#include <normal_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4( diffuse, opacity );
	#include <logdepthbuf_fragment>
	#include <map_fragment>
	#include <color_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	#include <normal_fragment_begin>
	#include <normal_fragment_maps>
	vec3 viewDir = normalize( vViewPosition );
	vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );
	vec3 y = cross( viewDir, x );
	vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;
	#ifdef USE_MATCAP
		vec4 matcapColor = texture2D( matcap, uv );
	#else
		vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );
	#endif
	vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
	#include <premultiplied_alpha_fragment>
	#include <dithering_fragment>
}`,F8=`#define NORMAL
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )
	varying vec3 vViewPosition;
#endif
#include <common>
#include <uv_pars_vertex>
#include <displacementmap_pars_vertex>
#include <normal_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	#include <beginnormal_vertex>
	#include <morphnormal_vertex>
	#include <skinbase_vertex>
	#include <skinnormal_vertex>
	#include <defaultnormal_vertex>
	#include <normal_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )
	vViewPosition = - mvPosition.xyz;
#endif
}`,R8=`#define NORMAL
uniform float opacity;
#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )
	varying vec3 vViewPosition;
#endif
#include <packing>
#include <uv_pars_fragment>
#include <normal_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	#include <logdepthbuf_fragment>
	#include <normal_fragment_begin>
	#include <normal_fragment_maps>
	gl_FragColor = vec4( packNormalToRGB( normal ), opacity );
	#ifdef OPAQUE
		gl_FragColor.a = 1.0;
	#endif
}`,v8=`#define PHONG
varying vec3 vViewPosition;
#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <displacementmap_pars_vertex>
#include <envmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <normal_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	#include <uv2_vertex>
	#include <color_vertex>
	#include <morphcolor_vertex>
	#include <beginnormal_vertex>
	#include <morphnormal_vertex>
	#include <skinbase_vertex>
	#include <skinnormal_vertex>
	#include <defaultnormal_vertex>
	#include <normal_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	vViewPosition = - mvPosition.xyz;
	#include <worldpos_vertex>
	#include <envmap_vertex>
	#include <shadowmap_vertex>
	#include <fog_vertex>
}`,K8=`#define PHONG
uniform vec3 diffuse;
uniform vec3 emissive;
uniform vec3 specular;
uniform float shininess;
uniform float opacity;
#include <common>
#include <packing>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <emissivemap_pars_fragment>
#include <envmap_common_pars_fragment>
#include <envmap_pars_fragment>
#include <fog_pars_fragment>
#include <bsdfs>
#include <lights_pars_begin>
#include <normal_pars_fragment>
#include <lights_phong_pars_fragment>
#include <shadowmap_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <specularmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4( diffuse, opacity );
	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
	vec3 totalEmissiveRadiance = emissive;
	#include <logdepthbuf_fragment>
	#include <map_fragment>
	#include <color_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	#include <specularmap_fragment>
	#include <normal_fragment_begin>
	#include <normal_fragment_maps>
	#include <emissivemap_fragment>
	#include <lights_phong_fragment>
	#include <lights_fragment_begin>
	#include <lights_fragment_maps>
	#include <lights_fragment_end>
	#include <aomap_fragment>
	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;
	#include <envmap_fragment>
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
	#include <premultiplied_alpha_fragment>
	#include <dithering_fragment>
}`,J8=`#define STANDARD
varying vec3 vViewPosition;
#ifdef USE_TRANSMISSION
	varying vec3 vWorldPosition;
#endif
#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <displacementmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <normal_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	#include <uv2_vertex>
	#include <color_vertex>
	#include <morphcolor_vertex>
	#include <beginnormal_vertex>
	#include <morphnormal_vertex>
	#include <skinbase_vertex>
	#include <skinnormal_vertex>
	#include <defaultnormal_vertex>
	#include <normal_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	vViewPosition = - mvPosition.xyz;
	#include <worldpos_vertex>
	#include <shadowmap_vertex>
	#include <fog_vertex>
#ifdef USE_TRANSMISSION
	vWorldPosition = worldPosition.xyz;
#endif
}`,q8=`#define STANDARD
#ifdef PHYSICAL
	#define IOR
	#define SPECULAR
#endif
uniform vec3 diffuse;
uniform vec3 emissive;
uniform float roughness;
uniform float metalness;
uniform float opacity;
#ifdef IOR
	uniform float ior;
#endif
#ifdef SPECULAR
	uniform float specularIntensity;
	uniform vec3 specularColor;
	#ifdef USE_SPECULARINTENSITYMAP
		uniform sampler2D specularIntensityMap;
	#endif
	#ifdef USE_SPECULARCOLORMAP
		uniform sampler2D specularColorMap;
	#endif
#endif
#ifdef USE_CLEARCOAT
	uniform float clearcoat;
	uniform float clearcoatRoughness;
#endif
#ifdef USE_IRIDESCENCE
	uniform float iridescence;
	uniform float iridescenceIOR;
	uniform float iridescenceThicknessMinimum;
	uniform float iridescenceThicknessMaximum;
#endif
#ifdef USE_SHEEN
	uniform vec3 sheenColor;
	uniform float sheenRoughness;
	#ifdef USE_SHEENCOLORMAP
		uniform sampler2D sheenColorMap;
	#endif
	#ifdef USE_SHEENROUGHNESSMAP
		uniform sampler2D sheenRoughnessMap;
	#endif
#endif
varying vec3 vViewPosition;
#include <common>
#include <packing>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <emissivemap_pars_fragment>
#include <bsdfs>
#include <iridescence_fragment>
#include <cube_uv_reflection_fragment>
#include <envmap_common_pars_fragment>
#include <envmap_physical_pars_fragment>
#include <fog_pars_fragment>
#include <lights_pars_begin>
#include <normal_pars_fragment>
#include <lights_physical_pars_fragment>
#include <transmission_pars_fragment>
#include <shadowmap_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <clearcoat_pars_fragment>
#include <iridescence_pars_fragment>
#include <roughnessmap_pars_fragment>
#include <metalnessmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4( diffuse, opacity );
	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
	vec3 totalEmissiveRadiance = emissive;
	#include <logdepthbuf_fragment>
	#include <map_fragment>
	#include <color_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	#include <roughnessmap_fragment>
	#include <metalnessmap_fragment>
	#include <normal_fragment_begin>
	#include <normal_fragment_maps>
	#include <clearcoat_normal_fragment_begin>
	#include <clearcoat_normal_fragment_maps>
	#include <emissivemap_fragment>
	#include <lights_physical_fragment>
	#include <lights_fragment_begin>
	#include <lights_fragment_maps>
	#include <lights_fragment_end>
	#include <aomap_fragment>
	vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;
	vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;
	#include <transmission_fragment>
	vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;
	#ifdef USE_SHEEN
		float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );
		outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;
	#endif
	#ifdef USE_CLEARCOAT
		float dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );
		vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );
		outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;
	#endif
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
	#include <premultiplied_alpha_fragment>
	#include <dithering_fragment>
}`,b8=`#define TOON
varying vec3 vViewPosition;
#include <common>
#include <uv_pars_vertex>
#include <uv2_pars_vertex>
#include <displacementmap_pars_vertex>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <normal_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	#include <uv2_vertex>
	#include <color_vertex>
	#include <morphcolor_vertex>
	#include <beginnormal_vertex>
	#include <morphnormal_vertex>
	#include <skinbase_vertex>
	#include <skinnormal_vertex>
	#include <defaultnormal_vertex>
	#include <normal_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	vViewPosition = - mvPosition.xyz;
	#include <worldpos_vertex>
	#include <shadowmap_vertex>
	#include <fog_vertex>
}`,L8=`#define TOON
uniform vec3 diffuse;
uniform vec3 emissive;
uniform float opacity;
#include <common>
#include <packing>
#include <dithering_pars_fragment>
#include <color_pars_fragment>
#include <uv_pars_fragment>
#include <uv2_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <aomap_pars_fragment>
#include <lightmap_pars_fragment>
#include <emissivemap_pars_fragment>
#include <gradientmap_pars_fragment>
#include <fog_pars_fragment>
#include <bsdfs>
#include <lights_pars_begin>
#include <normal_pars_fragment>
#include <lights_toon_pars_fragment>
#include <shadowmap_pars_fragment>
#include <bumpmap_pars_fragment>
#include <normalmap_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4( diffuse, opacity );
	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
	vec3 totalEmissiveRadiance = emissive;
	#include <logdepthbuf_fragment>
	#include <map_fragment>
	#include <color_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	#include <normal_fragment_begin>
	#include <normal_fragment_maps>
	#include <emissivemap_fragment>
	#include <lights_toon_fragment>
	#include <lights_fragment_begin>
	#include <lights_fragment_maps>
	#include <lights_fragment_end>
	#include <aomap_fragment>
	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
	#include <premultiplied_alpha_fragment>
	#include <dithering_fragment>
}`,x8=`uniform float size;
uniform float scale;
#include <common>
#include <color_pars_vertex>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <color_vertex>
	#include <morphcolor_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <project_vertex>
	gl_PointSize = size;
	#ifdef USE_SIZEATTENUATION
		bool isPerspective = isPerspectiveMatrix( projectionMatrix );
		if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );
	#endif
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	#include <worldpos_vertex>
	#include <fog_vertex>
}`,Y8=`uniform vec3 diffuse;
uniform float opacity;
#include <common>
#include <color_pars_fragment>
#include <map_particle_pars_fragment>
#include <alphatest_pars_fragment>
#include <fog_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	vec3 outgoingLight = vec3( 0.0 );
	vec4 diffuseColor = vec4( diffuse, opacity );
	#include <logdepthbuf_fragment>
	#include <map_particle_fragment>
	#include <color_fragment>
	#include <alphatest_fragment>
	outgoingLight = diffuseColor.rgb;
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
	#include <premultiplied_alpha_fragment>
}`,H8=`#include <common>
#include <fog_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
void main() {
	#include <beginnormal_vertex>
	#include <morphnormal_vertex>
	#include <skinbase_vertex>
	#include <skinnormal_vertex>
	#include <defaultnormal_vertex>
	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <project_vertex>
	#include <worldpos_vertex>
	#include <shadowmap_vertex>
	#include <fog_vertex>
}`,T8=`uniform vec3 color;
uniform float opacity;
#include <common>
#include <packing>
#include <fog_pars_fragment>
#include <bsdfs>
#include <lights_pars_begin>
#include <shadowmap_pars_fragment>
#include <shadowmask_pars_fragment>
void main() {
	gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
}`,O8=`uniform float rotation;
uniform vec2 center;
#include <common>
#include <uv_pars_vertex>
#include <fog_pars_vertex>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
void main() {
	#include <uv_vertex>
	vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );
	vec2 scale;
	scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );
	scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );
	#ifndef USE_SIZEATTENUATION
		bool isPerspective = isPerspectiveMatrix( projectionMatrix );
		if ( isPerspective ) scale *= - mvPosition.z;
	#endif
	vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;
	vec2 rotatedPosition;
	rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
	rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
	mvPosition.xy += rotatedPosition;
	gl_Position = projectionMatrix * mvPosition;
	#include <logdepthbuf_vertex>
	#include <clipping_planes_vertex>
	#include <fog_vertex>
}`,_8=`uniform vec3 diffuse;
uniform float opacity;
#include <common>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <alphatest_pars_fragment>
#include <fog_pars_fragment>
#include <logdepthbuf_pars_fragment>
#include <clipping_planes_pars_fragment>
void main() {
	#include <clipping_planes_fragment>
	vec3 outgoingLight = vec3( 0.0 );
	vec4 diffuseColor = vec4( diffuse, opacity );
	#include <logdepthbuf_fragment>
	#include <map_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>
	outgoingLight = diffuseColor.rgb;
	#include <output_fragment>
	#include <tonemapping_fragment>
	#include <encodings_fragment>
	#include <fog_fragment>
}`,ze={alphamap_fragment:EP,alphamap_pars_fragment:hP,alphatest_fragment:lP,alphatest_pars_fragment:cP,aomap_fragment:dP,aomap_pars_fragment:uP,begin_vertex:DP,beginnormal_vertex:pP,bsdfs:yP,iridescence_fragment:wP,bumpmap_pars_fragment:fP,clipping_planes_fragment:SP,clipping_planes_pars_fragment:GP,clipping_planes_pars_vertex:mP,clipping_planes_vertex:MP,color_fragment:kP,color_pars_fragment:UP,color_pars_vertex:NP,color_vertex:FP,common:RP,cube_uv_reflection_fragment:vP,defaultnormal_vertex:KP,displacementmap_pars_vertex:JP,displacementmap_vertex:qP,emissivemap_fragment:bP,emissivemap_pars_fragment:LP,encodings_fragment:xP,encodings_pars_fragment:YP,envmap_fragment:HP,envmap_common_pars_fragment:TP,envmap_pars_fragment:OP,envmap_pars_vertex:_P,envmap_physical_pars_fragment:Ij,envmap_vertex:PP,fog_vertex:jP,fog_pars_vertex:WP,fog_fragment:zP,fog_pars_fragment:VP,gradientmap_pars_fragment:ZP,lightmap_fragment:XP,lightmap_pars_fragment:$P,lights_lambert_fragment:Aj,lights_lambert_pars_fragment:gj,lights_pars_begin:ej,lights_toon_fragment:ij,lights_toon_pars_fragment:tj,lights_phong_fragment:Cj,lights_phong_pars_fragment:oj,lights_physical_fragment:aj,lights_physical_pars_fragment:rj,lights_fragment_begin:sj,lights_fragment_maps:Bj,lights_fragment_end:Qj,logdepthbuf_fragment:nj,logdepthbuf_pars_fragment:Ej,logdepthbuf_pars_vertex:hj,logdepthbuf_vertex:lj,map_fragment:cj,map_pars_fragment:dj,map_particle_fragment:uj,map_particle_pars_fragment:Dj,metalnessmap_fragment:pj,metalnessmap_pars_fragment:yj,morphcolor_vertex:wj,morphnormal_vertex:fj,morphtarget_pars_vertex:Sj,morphtarget_vertex:Gj,normal_fragment_begin:mj,normal_fragment_maps:Mj,normal_pars_fragment:kj,normal_pars_vertex:Uj,normal_vertex:Nj,normalmap_pars_fragment:Fj,clearcoat_normal_fragment_begin:Rj,clearcoat_normal_fragment_maps:vj,clearcoat_pars_fragment:Kj,iridescence_pars_fragment:Jj,output_fragment:qj,packing:bj,premultiplied_alpha_fragment:Lj,project_vertex:xj,dithering_fragment:Yj,dithering_pars_fragment:Hj,roughnessmap_fragment:Tj,roughnessmap_pars_fragment:Oj,shadowmap_pars_fragment:_j,shadowmap_pars_vertex:Pj,shadowmap_vertex:jj,shadowmask_pars_fragment:Wj,skinbase_vertex:zj,skinning_pars_vertex:Vj,skinning_vertex:Zj,skinnormal_vertex:Xj,specularmap_fragment:$j,specularmap_pars_fragment:A8,tonemapping_fragment:g8,tonemapping_pars_fragment:e8,transmission_fragment:I8,transmission_pars_fragment:i8,uv_pars_fragment:t8,uv_pars_vertex:C8,uv_vertex:o8,uv2_pars_fragment:a8,uv2_pars_vertex:r8,uv2_vertex:s8,worldpos_vertex:B8,background_vert:Q8,background_frag:n8,backgroundCube_vert:E8,backgroundCube_frag:h8,cube_vert:l8,cube_frag:c8,depth_vert:d8,depth_frag:u8,distanceRGBA_vert:D8,distanceRGBA_frag:p8,equirect_vert:y8,equirect_frag:w8,linedashed_vert:f8,linedashed_frag:S8,meshbasic_vert:G8,meshbasic_frag:m8,meshlambert_vert:M8,meshlambert_frag:k8,meshmatcap_vert:U8,meshmatcap_frag:N8,meshnormal_vert:F8,meshnormal_frag:R8,meshphong_vert:v8,meshphong_frag:K8,meshphysical_vert:J8,meshphysical_frag:q8,meshtoon_vert:b8,meshtoon_frag:L8,points_vert:x8,points_frag:Y8,shadow_vert:H8,shadow_frag:T8,sprite_vert:O8,sprite_frag:_8},xg={common:{diffuse:{value:new de(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new wt},uv2Transform:{value:new wt},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new mA(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new de(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new de(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new wt}},sprite:{diffuse:{value:new de(16777215)},opacity:{value:1},center:{value:new mA(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new wt}}},Va={basic:{uniforms:mC([xg.common,xg.specularmap,xg.envmap,xg.aomap,xg.lightmap,xg.fog]),vertexShader:ze.meshbasic_vert,fragmentShader:ze.meshbasic_frag},lambert:{uniforms:mC([xg.common,xg.specularmap,xg.envmap,xg.aomap,xg.lightmap,xg.emissivemap,xg.bumpmap,xg.normalmap,xg.displacementmap,xg.fog,xg.lights,{emissive:{value:new de(0)}}]),vertexShader:ze.meshlambert_vert,fragmentShader:ze.meshlambert_frag},phong:{uniforms:mC([xg.common,xg.specularmap,xg.envmap,xg.aomap,xg.lightmap,xg.emissivemap,xg.bumpmap,xg.normalmap,xg.displacementmap,xg.fog,xg.lights,{emissive:{value:new de(0)},specular:{value:new de(1118481)},shininess:{value:30}}]),vertexShader:ze.meshphong_vert,fragmentShader:ze.meshphong_frag},standard:{uniforms:mC([xg.common,xg.envmap,xg.aomap,xg.lightmap,xg.emissivemap,xg.bumpmap,xg.normalmap,xg.displacementmap,xg.roughnessmap,xg.metalnessmap,xg.fog,xg.lights,{emissive:{value:new de(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ze.meshphysical_vert,fragmentShader:ze.meshphysical_frag},toon:{uniforms:mC([xg.common,xg.aomap,xg.lightmap,xg.emissivemap,xg.bumpmap,xg.normalmap,xg.displacementmap,xg.gradientmap,xg.fog,xg.lights,{emissive:{value:new de(0)}}]),vertexShader:ze.meshtoon_vert,fragmentShader:ze.meshtoon_frag},matcap:{uniforms:mC([xg.common,xg.bumpmap,xg.normalmap,xg.displacementmap,xg.fog,{matcap:{value:null}}]),vertexShader:ze.meshmatcap_vert,fragmentShader:ze.meshmatcap_frag},points:{uniforms:mC([xg.points,xg.fog]),vertexShader:ze.points_vert,fragmentShader:ze.points_frag},dashed:{uniforms:mC([xg.common,xg.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ze.linedashed_vert,fragmentShader:ze.linedashed_frag},depth:{uniforms:mC([xg.common,xg.displacementmap]),vertexShader:ze.depth_vert,fragmentShader:ze.depth_frag},normal:{uniforms:mC([xg.common,xg.bumpmap,xg.normalmap,xg.displacementmap,{opacity:{value:1}}]),vertexShader:ze.meshnormal_vert,fragmentShader:ze.meshnormal_frag},sprite:{uniforms:mC([xg.sprite,xg.fog]),vertexShader:ze.sprite_vert,fragmentShader:ze.sprite_frag},background:{uniforms:{uvTransform:{value:new wt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ze.background_vert,fragmentShader:ze.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:ze.backgroundCube_vert,fragmentShader:ze.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ze.cube_vert,fragmentShader:ze.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ze.equirect_vert,fragmentShader:ze.equirect_frag},distanceRGBA:{uniforms:mC([xg.common,xg.displacementmap,{referencePosition:{value:new x},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ze.distanceRGBA_vert,fragmentShader:ze.distanceRGBA_frag},shadow:{uniforms:mC([xg.lights,xg.fog,{color:{value:new de(0)},opacity:{value:1}}]),vertexShader:ze.shadow_vert,fragmentShader:ze.shadow_frag}};Va.physical={uniforms:mC([Va.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new mA(1,1)},clearcoatNormalMap:{value:null},iridescence:{value:0},iridescenceMap:{value:null},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},sheen:{value:0},sheenColor:{value:new de(0)},sheenColorMap:{value:null},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new mA},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new de(0)},specularIntensity:{value:1},specularIntensityMap:{value:null},specularColor:{value:new de(1,1,1)},specularColorMap:{value:null}}]),vertexShader:ze.meshphysical_vert,fragmentShader:ze.meshphysical_frag};var Xd={r:0,b:0,g:0};function P8(A,g,e,I,i,t,C){let o=new de(0),a=t===!0?0:1,r,s,B=null,Q=0,n=null;function E(h,u){let D=!1,p=u.isScene===!0?u.background:null;p&&p.isTexture&&(p=(u.backgroundBlurriness>0?e:g).get(p));let w=A.xr,k=w.getSession&&w.getSession();k&&k.environmentBlendMode==="additive"&&(p=null),p===null?l(o,a):p&&p.isColor&&(l(p,1),D=!0),(A.autoClear||D)&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),p&&(p.isCubeTexture||p.mapping===wc)?(s===void 0&&(s=new Oi(new da(1,1,1),new RI({name:"BackgroundCubeMaterial",uniforms:UE(Va.backgroundCube.uniforms),vertexShader:Va.backgroundCube.vertexShader,fragmentShader:Va.backgroundCube.fragmentShader,side:Lt,depthTest:!1,depthWrite:!1,fog:!1})),s.geometry.deleteAttribute("normal"),s.geometry.deleteAttribute("uv"),s.onBeforeRender=function(U,N,G){this.matrixWorld.copyPosition(G.matrixWorld)},Object.defineProperty(s.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(s)),s.material.uniforms.envMap.value=p,s.material.uniforms.flipEnvMap.value=p.isCubeTexture&&p.isRenderTargetTexture===!1?-1:1,s.material.uniforms.backgroundBlurriness.value=u.backgroundBlurriness,s.material.uniforms.backgroundIntensity.value=u.backgroundIntensity,s.material.toneMapped=p.encoding!==je,(B!==p||Q!==p.version||n!==A.toneMapping)&&(s.material.needsUpdate=!0,B=p,Q=p.version,n=A.toneMapping),s.layers.enableAll(),h.unshift(s,s.geometry,s.material,0,0,null)):p&&p.isTexture&&(r===void 0&&(r=new Oi(new RQ(2,2),new RI({name:"BackgroundMaterial",uniforms:UE(Va.background.uniforms),vertexShader:Va.background.vertexShader,fragmentShader:Va.background.fragmentShader,side:la,depthTest:!1,depthWrite:!1,fog:!1})),r.geometry.deleteAttribute("normal"),Object.defineProperty(r.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(r)),r.material.uniforms.t2D.value=p,r.material.uniforms.backgroundIntensity.value=u.backgroundIntensity,r.material.toneMapped=p.encoding!==je,p.matrixAutoUpdate===!0&&p.updateMatrix(),r.material.uniforms.uvTransform.value.copy(p.matrix),(B!==p||Q!==p.version||n!==A.toneMapping)&&(r.material.needsUpdate=!0,B=p,Q=p.version,n=A.toneMapping),r.layers.enableAll(),h.unshift(r,r.geometry,r.material,0,0,null))}function l(h,u){h.getRGB(Xd,NJ(A)),I.buffers.color.setClear(Xd.r,Xd.g,Xd.b,u,C)}return{getClearColor:function(){return o},setClearColor:function(h,u=1){o.set(h),a=u,l(o,a)},getClearAlpha:function(){return a},setClearAlpha:function(h){a=h,l(o,a)},render:E}}function j8(A,g,e,I){let i=A.getParameter(34921),t=I.isWebGL2?null:g.get("OES_vertex_array_object"),C=I.isWebGL2||t!==null,o={},a=h(null),r=a,s=!1;function B(H,eA,rA,BA,aA){let yA=!1;if(C){let SA=l(BA,rA,eA);r!==SA&&(r=SA,n(r.object)),yA=u(H,BA,rA,aA),yA&&D(H,BA,rA,aA)}else{let SA=eA.wireframe===!0;(r.geometry!==BA.id||r.program!==rA.id||r.wireframe!==SA)&&(r.geometry=BA.id,r.program=rA.id,r.wireframe=SA,yA=!0)}aA!==null&&e.update(aA,34963),(yA||s)&&(s=!1,G(H,eA,rA,BA),aA!==null&&A.bindBuffer(34963,e.get(aA).buffer))}function Q(){return I.isWebGL2?A.createVertexArray():t.createVertexArrayOES()}function n(H){return I.isWebGL2?A.bindVertexArray(H):t.bindVertexArrayOES(H)}function E(H){return I.isWebGL2?A.deleteVertexArray(H):t.deleteVertexArrayOES(H)}function l(H,eA,rA){let BA=rA.wireframe===!0,aA=o[H.id];aA===void 0&&(aA={},o[H.id]=aA);let yA=aA[eA.id];yA===void 0&&(yA={},aA[eA.id]=yA);let SA=yA[BA];return SA===void 0&&(SA=h(Q()),yA[BA]=SA),SA}function h(H){let eA=[],rA=[],BA=[];for(let aA=0;aA<i;aA++)eA[aA]=0,rA[aA]=0,BA[aA]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:eA,enabledAttributes:rA,attributeDivisors:BA,object:H,attributes:{},index:null}}function u(H,eA,rA,BA){let aA=r.attributes,yA=eA.attributes,SA=0,pA=rA.getAttributes();for(let wA in pA)if(pA[wA].location>=0){let RA=aA[wA],kA=yA[wA];if(kA===void 0&&(wA==="instanceMatrix"&&H.instanceMatrix&&(kA=H.instanceMatrix),wA==="instanceColor"&&H.instanceColor&&(kA=H.instanceColor)),RA===void 0||RA.attribute!==kA||kA&&RA.data!==kA.data)return!0;SA++}return r.attributesNum!==SA||r.index!==BA}function D(H,eA,rA,BA){let aA={},yA=eA.attributes,SA=0,pA=rA.getAttributes();for(let wA in pA)if(pA[wA].location>=0){let RA=yA[wA];RA===void 0&&(wA==="instanceMatrix"&&H.instanceMatrix&&(RA=H.instanceMatrix),wA==="instanceColor"&&H.instanceColor&&(RA=H.instanceColor));let kA={};kA.attribute=RA,RA&&RA.data&&(kA.data=RA.data),aA[wA]=kA,SA++}r.attributes=aA,r.attributesNum=SA,r.index=BA}function p(){let H=r.newAttributes;for(let eA=0,rA=H.length;eA<rA;eA++)H[eA]=0}function w(H){k(H,0)}function k(H,eA){let rA=r.newAttributes,BA=r.enabledAttributes,aA=r.attributeDivisors;rA[H]=1,BA[H]===0&&(A.enableVertexAttribArray(H),BA[H]=1),aA[H]!==eA&&((I.isWebGL2?A:g.get("ANGLE_instanced_arrays"))[I.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](H,eA),aA[H]=eA)}function U(){let H=r.newAttributes,eA=r.enabledAttributes;for(let rA=0,BA=eA.length;rA<BA;rA++)eA[rA]!==H[rA]&&(A.disableVertexAttribArray(rA),eA[rA]=0)}function N(H,eA,rA,BA,aA,yA){I.isWebGL2===!0&&(rA===5124||rA===5125)?A.vertexAttribIPointer(H,eA,rA,aA,yA):A.vertexAttribPointer(H,eA,rA,BA,aA,yA)}function G(H,eA,rA,BA){if(I.isWebGL2===!1&&(H.isInstancedMesh||BA.isInstancedBufferGeometry)&&g.get("ANGLE_instanced_arrays")===null)return;p();let aA=BA.attributes,yA=rA.getAttributes(),SA=eA.defaultAttributeValues;for(let pA in yA){let wA=yA[pA];if(wA.location>=0){let RA=aA[pA];if(RA===void 0&&(pA==="instanceMatrix"&&H.instanceMatrix&&(RA=H.instanceMatrix),pA==="instanceColor"&&H.instanceColor&&(RA=H.instanceColor)),RA!==void 0){let kA=RA.normalized,UA=RA.itemSize,GA=e.get(RA);if(GA===void 0)continue;let zA=GA.buffer,KA=GA.type,LA=GA.bytesPerElement;if(RA.isInterleavedBufferAttribute){let YA=RA.data,sg=YA.stride,$A=RA.offset;if(YA.isInstancedInterleavedBuffer){for(let VA=0;VA<wA.locationSize;VA++)k(wA.location+VA,YA.meshPerAttribute);H.isInstancedMesh!==!0&&BA._maxInstanceCount===void 0&&(BA._maxInstanceCount=YA.meshPerAttribute*YA.count)}else for(let VA=0;VA<wA.locationSize;VA++)w(wA.location+VA);A.bindBuffer(34962,zA);for(let VA=0;VA<wA.locationSize;VA++)N(wA.location+VA,UA/wA.locationSize,KA,kA,sg*LA,($A+UA/wA.locationSize*VA)*LA)}else{if(RA.isInstancedBufferAttribute){for(let YA=0;YA<wA.locationSize;YA++)k(wA.location+YA,RA.meshPerAttribute);H.isInstancedMesh!==!0&&BA._maxInstanceCount===void 0&&(BA._maxInstanceCount=RA.meshPerAttribute*RA.count)}else for(let YA=0;YA<wA.locationSize;YA++)w(wA.location+YA);A.bindBuffer(34962,zA);for(let YA=0;YA<wA.locationSize;YA++)N(wA.location+YA,UA/wA.locationSize,KA,kA,UA*LA,UA/wA.locationSize*YA*LA)}}else if(SA!==void 0){let kA=SA[pA];if(kA!==void 0)switch(kA.length){case 2:A.vertexAttrib2fv(wA.location,kA);break;case 3:A.vertexAttrib3fv(wA.location,kA);break;case 4:A.vertexAttrib4fv(wA.location,kA);break;default:A.vertexAttrib1fv(wA.location,kA)}}}}U()}function R(){T();for(let H in o){let eA=o[H];for(let rA in eA){let BA=eA[rA];for(let aA in BA)E(BA[aA].object),delete BA[aA];delete eA[rA]}delete o[H]}}function J(H){if(o[H.id]===void 0)return;let eA=o[H.id];for(let rA in eA){let BA=eA[rA];for(let aA in BA)E(BA[aA].object),delete BA[aA];delete eA[rA]}delete o[H.id]}function q(H){for(let eA in o){let rA=o[eA];if(rA[H.id]===void 0)continue;let BA=rA[H.id];for(let aA in BA)E(BA[aA].object),delete BA[aA];delete rA[H.id]}}function T(){P(),s=!0,r!==a&&(r=a,n(r.object))}function P(){a.geometry=null,a.program=null,a.wireframe=!1}return{setup:B,reset:T,resetDefaultState:P,dispose:R,releaseStatesOfGeometry:J,releaseStatesOfProgram:q,initAttributes:p,enableAttribute:w,disableUnusedAttributes:U}}function W8(A,g,e,I){let i=I.isWebGL2,t;function C(r){t=r}function o(r,s){A.drawArrays(t,r,s),e.update(s,t,1)}function a(r,s,B){if(B===0)return;let Q,n;if(i)Q=A,n="drawArraysInstanced";else if(Q=g.get("ANGLE_instanced_arrays"),n="drawArraysInstancedANGLE",Q===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}Q[n](t,r,s,B),e.update(s,t,B)}this.setMode=C,this.render=o,this.renderInstances=a}function z8(A,g,e){let I;function i(){if(I!==void 0)return I;if(g.has("EXT_texture_filter_anisotropic")===!0){let N=g.get("EXT_texture_filter_anisotropic");I=A.getParameter(N.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else I=0;return I}function t(N){if(N==="highp"){if(A.getShaderPrecisionFormat(35633,36338).precision>0&&A.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";N="mediump"}return N==="mediump"&&A.getShaderPrecisionFormat(35633,36337).precision>0&&A.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}let C=typeof WebGL2RenderingContext<"u"&&A instanceof WebGL2RenderingContext,o=e.precision!==void 0?e.precision:"highp",a=t(o);a!==o&&(console.warn("THREE.WebGLRenderer:",o,"not supported, using",a,"instead."),o=a);let r=C||g.has("WEBGL_draw_buffers"),s=e.logarithmicDepthBuffer===!0,B=A.getParameter(34930),Q=A.getParameter(35660),n=A.getParameter(3379),E=A.getParameter(34076),l=A.getParameter(34921),h=A.getParameter(36347),u=A.getParameter(36348),D=A.getParameter(36349),p=Q>0,w=C||g.has("OES_texture_float"),k=p&&w,U=C?A.getParameter(36183):0;return{isWebGL2:C,drawBuffers:r,getMaxAnisotropy:i,getMaxPrecision:t,precision:o,logarithmicDepthBuffer:s,maxTextures:B,maxVertexTextures:Q,maxTextureSize:n,maxCubemapSize:E,maxAttributes:l,maxVertexUniforms:h,maxVaryings:u,maxFragmentUniforms:D,vertexTextures:p,floatFragmentTextures:w,floatVertexTextures:k,maxSamples:U}}function V8(A){let g=this,e=null,I=0,i=!1,t=!1,C=new ao,o=new wt,a={value:null,needsUpdate:!1};this.uniform=a,this.numPlanes=0,this.numIntersection=0,this.init=function(B,Q){let n=B.length!==0||Q||I!==0||i;return i=Q,I=B.length,n},this.beginShadows=function(){t=!0,s(null)},this.endShadows=function(){t=!1},this.setGlobalState=function(B,Q){e=s(B,Q,0)},this.setState=function(B,Q,n){let E=B.clippingPlanes,l=B.clipIntersection,h=B.clipShadows,u=A.get(B);if(!i||E===null||E.length===0||t&&!h)t?s(null):r();else{let D=t?0:I,p=D*4,w=u.clippingState||null;a.value=w,w=s(E,Q,p,n);for(let k=0;k!==p;++k)w[k]=e[k];u.clippingState=w,this.numIntersection=l?this.numPlanes:0,this.numPlanes+=D}};function r(){a.value!==e&&(a.value=e,a.needsUpdate=I>0),g.numPlanes=I,g.numIntersection=0}function s(B,Q,n,E){let l=B!==null?B.length:0,h=null;if(l!==0){if(h=a.value,E!==!0||h===null){let u=n+l*4,D=Q.matrixWorldInverse;o.getNormalMatrix(D),(h===null||h.length<u)&&(h=new Float32Array(u));for(let p=0,w=n;p!==l;++p,w+=4)C.copy(B[p]).applyMatrix4(D,o),C.normal.toArray(h,w),h[w+3]=C.constant}a.value=h,a.needsUpdate=!0}return g.numPlanes=l,g.numIntersection=0,h}}function Z8(A){let g=new WeakMap;function e(C,o){return o===X0?C.mapping=wQ:o===$0&&(C.mapping=fQ),C}function I(C){if(C&&C.isTexture&&C.isRenderTargetTexture===!1){let o=C.mapping;if(o===X0||o===$0)if(g.has(C)){let a=g.get(C).texture;return e(a,C.mapping)}else{let a=C.image;if(a&&a.height>0){let r=new sP(a.height/2);return r.fromEquirectangularTexture(A,C),g.set(C,r),C.addEventListener("dispose",i),e(r.texture,C.mapping)}else return null}}return C}function i(C){let o=C.target;o.removeEventListener("dispose",i);let a=g.get(o);a!==void 0&&(g.delete(o),a.dispose())}function t(){g=new WeakMap}return{get:I,dispose:t}}var wp=class extends FQ{constructor(A=-1,g=1,e=1,I=-1,i=.1,t=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=g,this.top=e,this.bottom=I,this.near=i,this.far=t,this.updateProjectionMatrix()}copy(A,g){return super.copy(A,g),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=A.view===null?null:Object.assign({},A.view),this}setViewOffset(A,g,e,I,i,t){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=g,this.view.offsetX=e,this.view.offsetY=I,this.view.width=i,this.view.height=t,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let A=(this.right-this.left)/(2*this.zoom),g=(this.top-this.bottom)/(2*this.zoom),e=(this.right+this.left)/2,I=(this.top+this.bottom)/2,i=e-A,t=e+A,C=I+g,o=I-g;if(this.view!==null&&this.view.enabled){let a=(this.right-this.left)/this.view.fullWidth/this.zoom,r=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=a*this.view.offsetX,t=i+a*this.view.width,C-=r*this.view.offsetY,o=C-r*this.view.height}this.projectionMatrix.makeOrthographic(i,t,C,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){let g=super.toJSON(A);return g.object.zoom=this.zoom,g.object.left=this.left,g.object.right=this.right,g.object.top=this.top,g.object.bottom=this.bottom,g.object.near=this.near,g.object.far=this.far,this.view!==null&&(g.object.view=Object.assign({},this.view)),g}},rE=4,eN=[.125,.215,.35,.446,.526,.582],IQ=20,Dw=new wp,IN=new de,pw=null,$B=(1+Math.sqrt(5))/2,Jn=1/$B,iN=[new x(1,1,1),new x(-1,1,1),new x(1,1,-1),new x(-1,1,-1),new x(0,$B,Jn),new x(0,$B,-Jn),new x(Jn,0,$B),new x(-Jn,0,$B),new x($B,Jn,0),new x(-$B,Jn,0)],tN=class{constructor(A){this._renderer=A,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(A,g=0,e=.1,I=100){pw=this._renderer.getRenderTarget(),this._setSize(256);let i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(A,e,I,i),g>0&&this._blur(i,0,0,g),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(A,g=null){return this._fromTexture(A,g)}fromCubemap(A,g=null){return this._fromTexture(A,g)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=aN(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=oN(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(A){this._lodMax=Math.floor(Math.log2(A)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let A=0;A<this._lodPlanes.length;A++)this._lodPlanes[A].dispose()}_cleanup(A){this._renderer.setRenderTarget(pw),A.scissorTest=!1,$d(A,0,0,A.width,A.height)}_fromTexture(A,g){A.mapping===wQ||A.mapping===fQ?this._setSize(A.image.length===0?16:A.image[0].width||A.image[0].image.width):this._setSize(A.image.width/4),pw=this._renderer.getRenderTarget();let e=g||this._allocateTargets();return this._textureToCubeUV(A,e),this._applyPMREM(e),this._cleanup(e),e}_allocateTargets(){let A=3*Math.max(this._cubeSize,112),g=4*this._cubeSize,e={magFilter:Ve,minFilter:Ve,generateMipmaps:!1,type:ns,format:qt,encoding:ca,depthBuffer:!1},I=CN(A,g,e);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==A||this._pingPongRenderTarget.height!==g){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=CN(A,g,e);let{_lodMax:i}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=X8(i)),this._blurMaterial=$8(i,A,g)}return I}_compileMaterial(A){let g=new Oi(this._lodPlanes[0],A);this._renderer.compile(g,Dw)}_sceneToCubeUV(A,g,e,I){let i=new BC(90,1,g,e),t=[1,-1,1,1,1,1],C=[1,1,1,-1,-1,-1],o=this._renderer,a=o.autoClear,r=o.toneMapping;o.getClearColor(IN),o.toneMapping=Ir,o.autoClear=!1;let s=new NQ({name:"PMREM.Background",side:Lt,depthWrite:!1,depthTest:!1}),B=new Oi(new da,s),Q=!1,n=A.background;n?n.isColor&&(s.color.copy(n),A.background=null,Q=!0):(s.color.copy(IN),Q=!0);for(let E=0;E<6;E++){let l=E%3;l===0?(i.up.set(0,t[E],0),i.lookAt(C[E],0,0)):l===1?(i.up.set(0,0,t[E]),i.lookAt(0,C[E],0)):(i.up.set(0,t[E],0),i.lookAt(0,0,C[E]));let h=this._cubeSize;$d(I,l*h,E>2?h:0,h,h),o.setRenderTarget(I),Q&&o.render(B,i),o.render(A,i)}B.geometry.dispose(),B.material.dispose(),o.toneMapping=r,o.autoClear=a,A.background=n}_textureToCubeUV(A,g){let e=this._renderer,I=A.mapping===wQ||A.mapping===fQ;I?(this._cubemapMaterial===null&&(this._cubemapMaterial=aN()),this._cubemapMaterial.uniforms.flipEnvMap.value=A.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=oN());let i=I?this._cubemapMaterial:this._equirectMaterial,t=new Oi(this._lodPlanes[0],i),C=i.uniforms;C.envMap.value=A;let o=this._cubeSize;$d(g,0,0,3*o,2*o),e.setRenderTarget(g),e.render(t,Dw)}_applyPMREM(A){let g=this._renderer,e=g.autoClear;g.autoClear=!1;for(let I=1;I<this._lodPlanes.length;I++){let i=Math.sqrt(this._sigmas[I]*this._sigmas[I]-this._sigmas[I-1]*this._sigmas[I-1]),t=iN[(I-1)%iN.length];this._blur(A,I-1,I,i,t)}g.autoClear=e}_blur(A,g,e,I,i){let t=this._pingPongRenderTarget;this._halfBlur(A,t,g,e,I,"latitudinal",i),this._halfBlur(t,A,e,e,I,"longitudinal",i)}_halfBlur(A,g,e,I,i,t,C){let o=this._renderer,a=this._blurMaterial;t!=="latitudinal"&&t!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");let r=3,s=new Oi(this._lodPlanes[I],a),B=a.uniforms,Q=this._sizeLods[e]-1,n=isFinite(i)?Math.PI/(2*Q):2*Math.PI/(2*IQ-1),E=i/n,l=isFinite(i)?1+Math.floor(r*E):IQ;l>IQ&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${l} samples when the maximum is set to ${IQ}`);let h=[],u=0;for(let U=0;U<IQ;++U){let N=U/E,G=Math.exp(-N*N/2);h.push(G),U===0?u+=G:U<l&&(u+=2*G)}for(let U=0;U<h.length;U++)h[U]=h[U]/u;B.envMap.value=A.texture,B.samples.value=l,B.weights.value=h,B.latitudinal.value=t==="latitudinal",C&&(B.poleAxis.value=C);let{_lodMax:D}=this;B.dTheta.value=n,B.mipInt.value=D-e;let p=this._sizeLods[I],w=3*p*(I>D-rE?I-D+rE:0),k=4*(this._cubeSize-p);$d(g,w,k,3*p,2*p),o.setRenderTarget(g),o.render(s,Dw)}};function X8(A){let g=[],e=[],I=[],i=A,t=A-rE+1+eN.length;for(let C=0;C<t;C++){let o=Math.pow(2,i);e.push(o);let a=1/o;C>A-rE?a=eN[C-A+rE-1]:C===0&&(a=0),I.push(a);let r=1/(o-2),s=-r,B=1+r,Q=[s,s,B,s,B,B,s,s,B,B,s,B],n=6,E=6,l=3,h=2,u=1,D=new Float32Array(l*E*n),p=new Float32Array(h*E*n),w=new Float32Array(u*E*n);for(let U=0;U<n;U++){let N=U%3*2/3-1,G=U>2?0:-1,R=[N,G,0,N+2/3,G,0,N+2/3,G+1,0,N,G,0,N+2/3,G+1,0,N,G+1,0];D.set(R,l*E*U),p.set(Q,h*E*U);let J=[U,U,U,U,U,U];w.set(J,u*E*U)}let k=new se;k.setAttribute("position",new Se(D,l)),k.setAttribute("uv",new Se(p,h)),k.setAttribute("faceIndex",new Se(w,u)),g.push(k),i>rE&&i--}return{lodPlanes:g,sizeLods:e,sigmas:I}}function CN(A,g,e){let I=new FI(A,g,e);return I.texture.mapping=wc,I.texture.name="PMREM.cubeUv",I.scissorTest=!0,I}function $d(A,g,e,I,i){A.viewport.set(g,e,I,i),A.scissor.set(g,e,I,i)}function $8(A,g,e){let I=new Float32Array(IQ),i=new x(0,1,0);return new RI({name:"SphericalGaussianBlur",defines:{n:IQ,CUBEUV_TEXEL_WIDTH:1/g,CUBEUV_TEXEL_HEIGHT:1/e,CUBEUV_MAX_MIP:`${A}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:I},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:tG(),fragmentShader:`

			precision mediump float;
			precision mediump int;

			varying vec3 vOutputDirection;

			uniform sampler2D envMap;
			uniform int samples;
			uniform float weights[ n ];
			uniform bool latitudinal;
			uniform float dTheta;
			uniform float mipInt;
			uniform vec3 poleAxis;

			#define ENVMAP_TYPE_CUBE_UV
			#include <cube_uv_reflection_fragment>

			vec3 getSample( float theta, vec3 axis ) {

				float cosTheta = cos( theta );
				// Rodrigues' axis-angle rotation
				vec3 sampleDirection = vOutputDirection * cosTheta
					+ cross( axis, vOutputDirection ) * sin( theta )
					+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );

				return bilinearCubeUV( envMap, sampleDirection, mipInt );

			}

			void main() {

				vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );

				if ( all( equal( axis, vec3( 0.0 ) ) ) ) {

					axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );

				}

				axis = normalize( axis );

				gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
				gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );

				for ( int i = 1; i < n; i++ ) {

					if ( i >= samples ) {

						break;

					}

					float theta = dTheta * float( i );
					gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );
					gl_FragColor.rgb += weights[ i ] * getSample( theta, axis );

				}

			}
		`,blending:Ct,depthTest:!1,depthWrite:!1})}function oN(){return new RI({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:tG(),fragmentShader:`

			precision mediump float;
			precision mediump int;

			varying vec3 vOutputDirection;

			uniform sampler2D envMap;

			#include <common>

			void main() {

				vec3 outputDirection = normalize( vOutputDirection );
				vec2 uv = equirectUv( outputDirection );

				gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );

			}
		`,blending:Ct,depthTest:!1,depthWrite:!1})}function aN(){return new RI({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:tG(),fragmentShader:`

			precision mediump float;
			precision mediump int;

			uniform float flipEnvMap;

			varying vec3 vOutputDirection;

			uniform samplerCube envMap;

			void main() {

				gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );

			}
		`,blending:Ct,depthTest:!1,depthWrite:!1})}function tG(){return`

		precision mediump float;
		precision mediump int;

		attribute float faceIndex;

		varying vec3 vOutputDirection;

		// RH coordinate system; PMREM face-indexing convention
		vec3 getDirection( vec2 uv, float face ) {

			uv = 2.0 * uv - 1.0;

			vec3 direction = vec3( uv, 1.0 );

			if ( face == 0.0 ) {

				direction = direction.zyx; // ( 1, v, u ) pos x

			} else if ( face == 1.0 ) {

				direction = direction.xzy;
				direction.xz *= -1.0; // ( -u, 1, -v ) pos y

			} else if ( face == 2.0 ) {

				direction.x *= -1.0; // ( -u, v, 1 ) pos z

			} else if ( face == 3.0 ) {

				direction = direction.zyx;
				direction.xz *= -1.0; // ( -1, v, -u ) neg x

			} else if ( face == 4.0 ) {

				direction = direction.xzy;
				direction.xy *= -1.0; // ( -u, -1, v ) neg y

			} else if ( face == 5.0 ) {

				direction.z *= -1.0; // ( u, v, -1 ) neg z

			}

			return direction;

		}

		void main() {

			vOutputDirection = getDirection( uv, faceIndex );
			gl_Position = vec4( position, 1.0 );

		}
	`}function A5(A){let g=new WeakMap,e=null;function I(o){if(o&&o.isTexture){let a=o.mapping,r=a===X0||a===$0,s=a===wQ||a===fQ;if(r||s)if(o.isRenderTargetTexture&&o.needsPMREMUpdate===!0){o.needsPMREMUpdate=!1;let B=g.get(o);return e===null&&(e=new tN(A)),B=r?e.fromEquirectangular(o,B):e.fromCubemap(o,B),g.set(o,B),B.texture}else{if(g.has(o))return g.get(o).texture;{let B=o.image;if(r&&B&&B.height>0||s&&B&&i(B)){e===null&&(e=new tN(A));let Q=r?e.fromEquirectangular(o):e.fromCubemap(o);return g.set(o,Q),o.addEventListener("dispose",t),Q.texture}else return null}}}return o}function i(o){let a=0,r=6;for(let s=0;s<r;s++)o[s]!==void 0&&a++;return a===r}function t(o){let a=o.target;a.removeEventListener("dispose",t);let r=g.get(a);r!==void 0&&(g.delete(a),r.dispose())}function C(){g=new WeakMap,e!==null&&(e.dispose(),e=null)}return{get:I,dispose:C}}function g5(A){let g={};function e(I){if(g[I]!==void 0)return g[I];let i;switch(I){case"WEBGL_depth_texture":i=A.getExtension("WEBGL_depth_texture")||A.getExtension("MOZ_WEBGL_depth_texture")||A.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=A.getExtension("EXT_texture_filter_anisotropic")||A.getExtension("MOZ_EXT_texture_filter_anisotropic")||A.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=A.getExtension("WEBGL_compressed_texture_s3tc")||A.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=A.getExtension("WEBGL_compressed_texture_pvrtc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=A.getExtension(I)}return g[I]=i,i}return{has:function(I){return e(I)!==null},init:function(I){I.isWebGL2?e("EXT_color_buffer_float"):(e("WEBGL_depth_texture"),e("OES_texture_float"),e("OES_texture_half_float"),e("OES_texture_half_float_linear"),e("OES_standard_derivatives"),e("OES_element_index_uint"),e("OES_vertex_array_object"),e("ANGLE_instanced_arrays")),e("OES_texture_float_linear"),e("EXT_color_buffer_half_float"),e("WEBGL_multisampled_render_to_texture")},get:function(I){let i=e(I);return i===null&&console.warn("THREE.WebGLRenderer: "+I+" extension not supported."),i}}}function e5(A,g,e,I){let i={},t=new WeakMap;function C(B){let Q=B.target;Q.index!==null&&g.remove(Q.index);for(let E in Q.attributes)g.remove(Q.attributes[E]);Q.removeEventListener("dispose",C),delete i[Q.id];let n=t.get(Q);n&&(g.remove(n),t.delete(Q)),I.releaseStatesOfGeometry(Q),Q.isInstancedBufferGeometry===!0&&delete Q._maxInstanceCount,e.memory.geometries--}function o(B,Q){return i[Q.id]===!0||(Q.addEventListener("dispose",C),i[Q.id]=!0,e.memory.geometries++),Q}function a(B){let Q=B.attributes;for(let E in Q)g.update(Q[E],34962);let n=B.morphAttributes;for(let E in n){let l=n[E];for(let h=0,u=l.length;h<u;h++)g.update(l[h],34962)}}function r(B){let Q=[],n=B.index,E=B.attributes.position,l=0;if(n!==null){let D=n.array;l=n.version;for(let p=0,w=D.length;p<w;p+=3){let k=D[p+0],U=D[p+1],N=D[p+2];Q.push(k,U,U,N,N,k)}}else{let D=E.array;l=E.version;for(let p=0,w=D.length/3-1;p<w;p+=3){let k=p+0,U=p+1,N=p+2;Q.push(k,U,U,N,N,k)}}let h=new(SJ(Q)?EE:UJ)(Q,1);h.version=l;let u=t.get(B);u&&g.remove(u),t.set(B,h)}function s(B){let Q=t.get(B);if(Q){let n=B.index;n!==null&&Q.version<n.version&&r(B)}else r(B);return t.get(B)}return{get:o,update:a,getWireframeAttribute:s}}function I5(A,g,e,I){let i=I.isWebGL2,t;function C(Q){t=Q}let o,a;function r(Q){o=Q.type,a=Q.bytesPerElement}function s(Q,n){A.drawElements(t,n,o,Q*a),e.update(n,t,1)}function B(Q,n,E){if(E===0)return;let l,h;if(i)l=A,h="drawElementsInstanced";else if(l=g.get("ANGLE_instanced_arrays"),h="drawElementsInstancedANGLE",l===null){console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}l[h](t,n,o,Q*a,E),e.update(n,t,E)}this.setMode=C,this.setIndex=r,this.render=s,this.renderInstances=B}function i5(A){let g={geometries:0,textures:0},e={frame:0,calls:0,triangles:0,points:0,lines:0};function I(t,C,o){switch(e.calls++,C){case 4:e.triangles+=o*(t/3);break;case 1:e.lines+=o*(t/2);break;case 3:e.lines+=o*(t-1);break;case 2:e.lines+=o*t;break;case 0:e.points+=o*t;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",C);break}}function i(){e.frame++,e.calls=0,e.triangles=0,e.points=0,e.lines=0}return{memory:g,render:e,programs:null,autoReset:!0,reset:i,update:I}}function t5(A,g){return A[0]-g[0]}function C5(A,g){return Math.abs(g[1])-Math.abs(A[1])}function o5(A,g,e){let I={},i=new Float32Array(8),t=new WeakMap,C=new Ue,o=[];for(let r=0;r<8;r++)o[r]=[r,0];function a(r,s,B,Q){let n=r.morphTargetInfluences;if(g.isWebGL2===!0){let E=s.morphAttributes.position||s.morphAttributes.normal||s.morphAttributes.color,l=E!==void 0?E.length:0,h=t.get(s);if(h===void 0||h.count!==l){let p=function(){H.dispose(),t.delete(s),s.removeEventListener("dispose",p)};h!==void 0&&h.texture.dispose();let w=s.morphAttributes.position!==void 0,k=s.morphAttributes.normal!==void 0,U=s.morphAttributes.color!==void 0,N=s.morphAttributes.position||[],G=s.morphAttributes.normal||[],R=s.morphAttributes.color||[],J=0;w===!0&&(J=1),k===!0&&(J=2),U===!0&&(J=3);let q=s.attributes.position.count*J,T=1;q>g.maxTextureSize&&(T=Math.ceil(q/g.maxTextureSize),q=g.maxTextureSize);let P=new Float32Array(q*T*4*l),H=new kJ(P,q,T,l);H.type=tt,H.needsUpdate=!0;let eA=J*4;for(let rA=0;rA<l;rA++){let BA=N[rA],aA=G[rA],yA=R[rA],SA=q*T*4*rA;for(let pA=0;pA<BA.count;pA++){let wA=pA*eA;w===!0&&(C.fromBufferAttribute(BA,pA),P[SA+wA+0]=C.x,P[SA+wA+1]=C.y,P[SA+wA+2]=C.z,P[SA+wA+3]=0),k===!0&&(C.fromBufferAttribute(aA,pA),P[SA+wA+4]=C.x,P[SA+wA+5]=C.y,P[SA+wA+6]=C.z,P[SA+wA+7]=0),U===!0&&(C.fromBufferAttribute(yA,pA),P[SA+wA+8]=C.x,P[SA+wA+9]=C.y,P[SA+wA+10]=C.z,P[SA+wA+11]=yA.itemSize===4?C.w:1)}}h={count:l,texture:H,size:new mA(q,T)},t.set(s,h),s.addEventListener("dispose",p)}let u=0;for(let p=0;p<n.length;p++)u+=n[p];let D=s.morphTargetsRelative?1:1-u;Q.getUniforms().setValue(A,"morphTargetBaseInfluence",D),Q.getUniforms().setValue(A,"morphTargetInfluences",n),Q.getUniforms().setValue(A,"morphTargetsTexture",h.texture,e),Q.getUniforms().setValue(A,"morphTargetsTextureSize",h.size)}else{let E=n===void 0?0:n.length,l=I[s.id];if(l===void 0||l.length!==E){l=[];for(let w=0;w<E;w++)l[w]=[w,0];I[s.id]=l}for(let w=0;w<E;w++){let k=l[w];k[0]=w,k[1]=n[w]}l.sort(C5);for(let w=0;w<8;w++)w<E&&l[w][1]?(o[w][0]=l[w][0],o[w][1]=l[w][1]):(o[w][0]=Number.MAX_SAFE_INTEGER,o[w][1]=0);o.sort(t5);let h=s.morphAttributes.position,u=s.morphAttributes.normal,D=0;for(let w=0;w<8;w++){let k=o[w],U=k[0],N=k[1];U!==Number.MAX_SAFE_INTEGER&&N?(h&&s.getAttribute("morphTarget"+w)!==h[U]&&s.setAttribute("morphTarget"+w,h[U]),u&&s.getAttribute("morphNormal"+w)!==u[U]&&s.setAttribute("morphNormal"+w,u[U]),i[w]=N,D+=N):(h&&s.hasAttribute("morphTarget"+w)===!0&&s.deleteAttribute("morphTarget"+w),u&&s.hasAttribute("morphNormal"+w)===!0&&s.deleteAttribute("morphNormal"+w),i[w]=0)}let p=s.morphTargetsRelative?1:1-D;Q.getUniforms().setValue(A,"morphTargetBaseInfluence",p),Q.getUniforms().setValue(A,"morphTargetInfluences",i)}}return{update:a}}function a5(A,g,e,I){let i=new WeakMap;function t(a){let r=I.render.frame,s=a.geometry,B=g.get(a,s);return i.get(B)!==r&&(g.update(B),i.set(B,r)),a.isInstancedMesh&&(a.hasEventListener("dispose",o)===!1&&a.addEventListener("dispose",o),e.update(a.instanceMatrix,34962),a.instanceColor!==null&&e.update(a.instanceColor,34962)),B}function C(){i=new WeakMap}function o(a){let r=a.target;r.removeEventListener("dispose",o),e.remove(r.instanceMatrix),r.instanceColor!==null&&e.remove(r.instanceColor)}return{update:t,dispose:C}}var RJ=new yi,vJ=new kJ,KJ=new W4,JJ=new IG,rN=[],sN=[],BN=new Float32Array(16),QN=new Float32Array(9),nN=new Float32Array(4);function jE(A,g,e){let I=A[0];if(I<=0||I>0)return A;let i=g*e,t=rN[i];if(t===void 0&&(t=new Float32Array(i),rN[i]=t),g!==0){I.toArray(t,0);for(let C=1,o=0;C!==g;++C)o+=e,A[C].toArray(t,o)}return t}function ft(A,g){if(A.length!==g.length)return!1;for(let e=0,I=A.length;e<I;e++)if(A[e]!==g[e])return!1;return!0}function St(A,g){for(let e=0,I=g.length;e<I;e++)A[e]=g[e]}function fp(A,g){let e=sN[g];e===void 0&&(e=new Int32Array(g),sN[g]=e);for(let I=0;I!==g;++I)e[I]=A.allocateTextureUnit();return e}function r5(A,g){let e=this.cache;e[0]!==g&&(A.uniform1f(this.addr,g),e[0]=g)}function s5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y)&&(A.uniform2f(this.addr,g.x,g.y),e[0]=g.x,e[1]=g.y);else{if(ft(e,g))return;A.uniform2fv(this.addr,g),St(e,g)}}function B5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y||e[2]!==g.z)&&(A.uniform3f(this.addr,g.x,g.y,g.z),e[0]=g.x,e[1]=g.y,e[2]=g.z);else if(g.r!==void 0)(e[0]!==g.r||e[1]!==g.g||e[2]!==g.b)&&(A.uniform3f(this.addr,g.r,g.g,g.b),e[0]=g.r,e[1]=g.g,e[2]=g.b);else{if(ft(e,g))return;A.uniform3fv(this.addr,g),St(e,g)}}function Q5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y||e[2]!==g.z||e[3]!==g.w)&&(A.uniform4f(this.addr,g.x,g.y,g.z,g.w),e[0]=g.x,e[1]=g.y,e[2]=g.z,e[3]=g.w);else{if(ft(e,g))return;A.uniform4fv(this.addr,g),St(e,g)}}function n5(A,g){let e=this.cache,I=g.elements;if(I===void 0){if(ft(e,g))return;A.uniformMatrix2fv(this.addr,!1,g),St(e,g)}else{if(ft(e,I))return;nN.set(I),A.uniformMatrix2fv(this.addr,!1,nN),St(e,I)}}function E5(A,g){let e=this.cache,I=g.elements;if(I===void 0){if(ft(e,g))return;A.uniformMatrix3fv(this.addr,!1,g),St(e,g)}else{if(ft(e,I))return;QN.set(I),A.uniformMatrix3fv(this.addr,!1,QN),St(e,I)}}function h5(A,g){let e=this.cache,I=g.elements;if(I===void 0){if(ft(e,g))return;A.uniformMatrix4fv(this.addr,!1,g),St(e,g)}else{if(ft(e,I))return;BN.set(I),A.uniformMatrix4fv(this.addr,!1,BN),St(e,I)}}function l5(A,g){let e=this.cache;e[0]!==g&&(A.uniform1i(this.addr,g),e[0]=g)}function c5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y)&&(A.uniform2i(this.addr,g.x,g.y),e[0]=g.x,e[1]=g.y);else{if(ft(e,g))return;A.uniform2iv(this.addr,g),St(e,g)}}function d5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y||e[2]!==g.z)&&(A.uniform3i(this.addr,g.x,g.y,g.z),e[0]=g.x,e[1]=g.y,e[2]=g.z);else{if(ft(e,g))return;A.uniform3iv(this.addr,g),St(e,g)}}function u5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y||e[2]!==g.z||e[3]!==g.w)&&(A.uniform4i(this.addr,g.x,g.y,g.z,g.w),e[0]=g.x,e[1]=g.y,e[2]=g.z,e[3]=g.w);else{if(ft(e,g))return;A.uniform4iv(this.addr,g),St(e,g)}}function D5(A,g){let e=this.cache;e[0]!==g&&(A.uniform1ui(this.addr,g),e[0]=g)}function p5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y)&&(A.uniform2ui(this.addr,g.x,g.y),e[0]=g.x,e[1]=g.y);else{if(ft(e,g))return;A.uniform2uiv(this.addr,g),St(e,g)}}function y5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y||e[2]!==g.z)&&(A.uniform3ui(this.addr,g.x,g.y,g.z),e[0]=g.x,e[1]=g.y,e[2]=g.z);else{if(ft(e,g))return;A.uniform3uiv(this.addr,g),St(e,g)}}function w5(A,g){let e=this.cache;if(g.x!==void 0)(e[0]!==g.x||e[1]!==g.y||e[2]!==g.z||e[3]!==g.w)&&(A.uniform4ui(this.addr,g.x,g.y,g.z,g.w),e[0]=g.x,e[1]=g.y,e[2]=g.z,e[3]=g.w);else{if(ft(e,g))return;A.uniform4uiv(this.addr,g),St(e,g)}}function f5(A,g,e){let I=this.cache,i=e.allocateTextureUnit();I[0]!==i&&(A.uniform1i(this.addr,i),I[0]=i),e.setTexture2D(g||RJ,i)}function S5(A,g,e){let I=this.cache,i=e.allocateTextureUnit();I[0]!==i&&(A.uniform1i(this.addr,i),I[0]=i),e.setTexture3D(g||KJ,i)}function G5(A,g,e){let I=this.cache,i=e.allocateTextureUnit();I[0]!==i&&(A.uniform1i(this.addr,i),I[0]=i),e.setTextureCube(g||JJ,i)}function m5(A,g,e){let I=this.cache,i=e.allocateTextureUnit();I[0]!==i&&(A.uniform1i(this.addr,i),I[0]=i),e.setTexture2DArray(g||vJ,i)}function M5(A){switch(A){case 5126:return r5;case 35664:return s5;case 35665:return B5;case 35666:return Q5;case 35674:return n5;case 35675:return E5;case 35676:return h5;case 5124:case 35670:return l5;case 35667:case 35671:return c5;case 35668:case 35672:return d5;case 35669:case 35673:return u5;case 5125:return D5;case 36294:return p5;case 36295:return y5;case 36296:return w5;case 35678:case 36198:case 36298:case 36306:case 35682:return f5;case 35679:case 36299:case 36307:return S5;case 35680:case 36300:case 36308:case 36293:return G5;case 36289:case 36303:case 36311:case 36292:return m5}}function k5(A,g){A.uniform1fv(this.addr,g)}function U5(A,g){let e=jE(g,this.size,2);A.uniform2fv(this.addr,e)}function N5(A,g){let e=jE(g,this.size,3);A.uniform3fv(this.addr,e)}function F5(A,g){let e=jE(g,this.size,4);A.uniform4fv(this.addr,e)}function R5(A,g){let e=jE(g,this.size,4);A.uniformMatrix2fv(this.addr,!1,e)}function v5(A,g){let e=jE(g,this.size,9);A.uniformMatrix3fv(this.addr,!1,e)}function K5(A,g){let e=jE(g,this.size,16);A.uniformMatrix4fv(this.addr,!1,e)}function J5(A,g){A.uniform1iv(this.addr,g)}function q5(A,g){A.uniform2iv(this.addr,g)}function b5(A,g){A.uniform3iv(this.addr,g)}function L5(A,g){A.uniform4iv(this.addr,g)}function x5(A,g){A.uniform1uiv(this.addr,g)}function Y5(A,g){A.uniform2uiv(this.addr,g)}function H5(A,g){A.uniform3uiv(this.addr,g)}function T5(A,g){A.uniform4uiv(this.addr,g)}function O5(A,g,e){let I=this.cache,i=g.length,t=fp(e,i);ft(I,t)||(A.uniform1iv(this.addr,t),St(I,t));for(let C=0;C!==i;++C)e.setTexture2D(g[C]||RJ,t[C])}function _5(A,g,e){let I=this.cache,i=g.length,t=fp(e,i);ft(I,t)||(A.uniform1iv(this.addr,t),St(I,t));for(let C=0;C!==i;++C)e.setTexture3D(g[C]||KJ,t[C])}function P5(A,g,e){let I=this.cache,i=g.length,t=fp(e,i);ft(I,t)||(A.uniform1iv(this.addr,t),St(I,t));for(let C=0;C!==i;++C)e.setTextureCube(g[C]||JJ,t[C])}function j5(A,g,e){let I=this.cache,i=g.length,t=fp(e,i);ft(I,t)||(A.uniform1iv(this.addr,t),St(I,t));for(let C=0;C!==i;++C)e.setTexture2DArray(g[C]||vJ,t[C])}function W5(A){switch(A){case 5126:return k5;case 35664:return U5;case 35665:return N5;case 35666:return F5;case 35674:return R5;case 35675:return v5;case 35676:return K5;case 5124:case 35670:return J5;case 35667:case 35671:return q5;case 35668:case 35672:return b5;case 35669:case 35673:return L5;case 5125:return x5;case 36294:return Y5;case 36295:return H5;case 36296:return T5;case 35678:case 36198:case 36298:case 36306:case 35682:return O5;case 35679:case 36299:case 36307:return _5;case 35680:case 36300:case 36308:case 36293:return P5;case 36289:case 36303:case 36311:case 36292:return j5}}var z5=class{constructor(A,g,e){this.id=A,this.addr=e,this.cache=[],this.setValue=M5(g.type)}},V5=class{constructor(A,g,e){this.id=A,this.addr=e,this.cache=[],this.size=g.size,this.setValue=W5(g.type)}},Z5=class{constructor(A){this.id=A,this.seq=[],this.map={}}setValue(A,g,e){let I=this.seq;for(let i=0,t=I.length;i!==t;++i){let C=I[i];C.setValue(A,g[C.id],e)}}},yw=/(\w+)(\])?(\[|\.)?/g;function EN(A,g){A.seq.push(g),A.map[g.id]=g}function X5(A,g,e){let I=A.name,i=I.length;for(yw.lastIndex=0;;){let t=yw.exec(I),C=yw.lastIndex,o=t[1],a=t[2]==="]",r=t[3];if(a&&(o=o|0),r===void 0||r==="["&&C+2===i){EN(e,r===void 0?new z5(o,A,g):new V5(o,A,g));break}else{let s=e.map[o];s===void 0&&(s=new Z5(o),EN(e,s)),e=s}}}var tD=class{constructor(A,g){this.seq=[],this.map={};let e=A.getProgramParameter(g,35718);for(let I=0;I<e;++I){let i=A.getActiveUniform(g,I),t=A.getUniformLocation(g,i.name);X5(i,t,this)}}setValue(A,g,e,I){let i=this.map[g];i!==void 0&&i.setValue(A,e,I)}setOptional(A,g,e){let I=g[e];I!==void 0&&this.setValue(A,e,I)}static upload(A,g,e,I){for(let i=0,t=g.length;i!==t;++i){let C=g[i],o=e[C.id];o.needsUpdate!==!1&&C.setValue(A,o.value,I)}}static seqWithValue(A,g){let e=[];for(let I=0,i=A.length;I!==i;++I){let t=A[I];t.id in g&&e.push(t)}return e}};function hN(A,g,e){let I=A.createShader(g);return A.shaderSource(I,e),A.compileShader(I),I}var $5=0;function AW(A,g){let e=A.split(`
`),I=[],i=Math.max(g-6,0),t=Math.min(g+6,e.length);for(let C=i;C<t;C++){let o=C+1;I.push(`${o===g?">":" "} ${o}: ${e[C]}`)}return I.join(`
`)}function gW(A){switch(A){case ca:return["Linear","( value )"];case je:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",A),["Linear","( value )"]}}function lN(A,g,e){let I=A.getShaderParameter(g,35713),i=A.getShaderInfoLog(g).trim();if(I&&i==="")return"";let t=/ERROR: 0:(\d+)/.exec(i);if(t){let C=parseInt(t[1]);return e.toUpperCase()+`

`+i+`

`+AW(A.getShaderSource(g),C)}else return i}function eW(A,g){let e=gW(g);return"vec4 "+A+"( vec4 value ) { return LinearTo"+e[0]+e[1]+"; }"}function IW(A,g){let e;switch(g){case r4:e="Linear";break;case s4:e="Reinhard";break;case B4:e="OptimizedCineon";break;case Q4:e="ACESFilmic";break;case n4:e="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",g),e="Linear"}return"vec3 "+A+"( vec3 color ) { return "+e+"ToneMapping( color ); }"}function iW(A){return[A.extensionDerivatives||A.envMapCubeUVHeight||A.bumpMap||A.tangentSpaceNormalMap||A.clearcoatNormalMap||A.flatShading||A.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(A.extensionFragDepth||A.logarithmicDepthBuffer)&&A.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",A.extensionDrawBuffers&&A.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(A.extensionShaderTextureLOD||A.envMap||A.transmission)&&A.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Rl).join(`
`)}function tW(A){let g=[];for(let e in A){let I=A[e];I!==!1&&g.push("#define "+e+" "+I)}return g.join(`
`)}function CW(A,g){let e={},I=A.getProgramParameter(g,35721);for(let i=0;i<I;i++){let t=A.getActiveAttrib(g,i),C=t.name,o=1;t.type===35674&&(o=2),t.type===35675&&(o=3),t.type===35676&&(o=4),e[C]={type:t.type,location:A.getAttribLocation(g,C),locationSize:o}}return e}function Rl(A){return A!==""}function cN(A,g){let e=g.numSpotLightShadows+g.numSpotLightMaps-g.numSpotLightShadowsWithMaps;return A.replace(/NUM_DIR_LIGHTS/g,g.numDirLights).replace(/NUM_SPOT_LIGHTS/g,g.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,g.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,e).replace(/NUM_RECT_AREA_LIGHTS/g,g.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,g.numPointLights).replace(/NUM_HEMI_LIGHTS/g,g.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,g.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,g.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,g.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,g.numPointLightShadows)}function dN(A,g){return A.replace(/NUM_CLIPPING_PLANES/g,g.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,g.numClippingPlanes-g.numClipIntersection)}var oW=/^[ \t]*#include +<([\w\d./]+)>/gm;function tf(A){return A.replace(oW,aW)}function aW(A,g){let e=ze[g];if(e===void 0)throw new Error("Can not resolve #include <"+g+">");return tf(e)}var rW=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function uN(A){return A.replace(rW,sW)}function sW(A,g,e,I){let i="";for(let t=parseInt(g);t<parseInt(e);t++)i+=I.replace(/\[\s*i\s*\]/g,"[ "+t+" ]").replace(/UNROLLED_LOOP_INDEX/g,t);return i}function DN(A){let g="precision "+A.precision+` float;
precision `+A.precision+" int;";return A.precision==="highp"?g+=`
#define HIGH_PRECISION`:A.precision==="mediump"?g+=`
#define MEDIUM_PRECISION`:A.precision==="lowp"&&(g+=`
#define LOW_PRECISION`),g}function BW(A){let g="SHADOWMAP_TYPE_BASIC";return A.shadowMapType===XS?g="SHADOWMAP_TYPE_PCF":A.shadowMapType===Y_?g="SHADOWMAP_TYPE_PCF_SOFT":A.shadowMapType===Fl&&(g="SHADOWMAP_TYPE_VSM"),g}function QW(A){let g="ENVMAP_TYPE_CUBE";if(A.envMap)switch(A.envMapMode){case wQ:case fQ:g="ENVMAP_TYPE_CUBE";break;case wc:g="ENVMAP_TYPE_CUBE_UV";break}return g}function nW(A){let g="ENVMAP_MODE_REFLECTION";if(A.envMap)switch(A.envMapMode){case fQ:g="ENVMAP_MODE_REFRACTION";break}return g}function EW(A){let g="ENVMAP_BLENDING_NONE";if(A.envMap)switch(A.combine){case cJ:g="ENVMAP_BLENDING_MULTIPLY";break;case o4:g="ENVMAP_BLENDING_MIX";break;case a4:g="ENVMAP_BLENDING_ADD";break}return g}function hW(A){let g=A.envMapCubeUVHeight;if(g===null)return null;let e=Math.log2(g)-2,I=1/g;return{texelWidth:1/(3*Math.max(Math.pow(2,e),7*16)),texelHeight:I,maxMip:e}}function lW(A,g,e,I){let i=A.getContext(),t=e.defines,C=e.vertexShader,o=e.fragmentShader,a=BW(e),r=QW(e),s=nW(e),B=EW(e),Q=hW(e),n=e.isWebGL2?"":iW(e),E=tW(t),l=i.createProgram(),h,u,D=e.glslVersion?"#version "+e.glslVersion+`
`:"";e.isRawShaderMaterial?(h=[E].filter(Rl).join(`
`),h.length>0&&(h+=`
`),u=[n,E].filter(Rl).join(`
`),u.length>0&&(u+=`
`)):(h=[DN(e),"#define SHADER_NAME "+e.shaderName,E,e.instancing?"#define USE_INSTANCING":"",e.instancingColor?"#define USE_INSTANCING_COLOR":"",e.supportsVertexTextures?"#define VERTEX_TEXTURES":"",e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+s:"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMap&&e.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",e.normalMap&&e.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.displacementMap&&e.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",e.specularColorMap?"#define USE_SPECULARCOLORMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.sheenColorMap?"#define USE_SHEENCOLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",e.vertexTangents?"#define USE_TANGENT":"",e.vertexColors?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUvs?"#define USE_UV":"",e.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",e.flatShading?"#define FLAT_SHADED":"",e.skinning?"#define USE_SKINNING":"",e.morphTargets?"#define USE_MORPHTARGETS":"",e.morphNormals&&e.flatShading===!1?"#define USE_MORPHNORMALS":"",e.morphColors&&e.isWebGL2?"#define USE_MORPHCOLORS":"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+e.morphTextureStride:"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_COUNT "+e.morphTargetsCount:"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+a:"",e.sizeAttenuation?"#define USE_SIZEATTENUATION":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","	attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","	attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","	attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","	attribute vec4 color;","#elif defined( USE_COLOR )","	attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","	attribute vec3 morphTarget0;","	attribute vec3 morphTarget1;","	attribute vec3 morphTarget2;","	attribute vec3 morphTarget3;","	#ifdef USE_MORPHNORMALS","		attribute vec3 morphNormal0;","		attribute vec3 morphNormal1;","		attribute vec3 morphNormal2;","		attribute vec3 morphNormal3;","	#else","		attribute vec3 morphTarget4;","		attribute vec3 morphTarget5;","		attribute vec3 morphTarget6;","		attribute vec3 morphTarget7;","	#endif","#endif","#ifdef USE_SKINNING","	attribute vec4 skinIndex;","	attribute vec4 skinWeight;","#endif",`
`].filter(Rl).join(`
`),u=[n,DN(e),"#define SHADER_NAME "+e.shaderName,E,e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.matcap?"#define USE_MATCAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+r:"",e.envMap?"#define "+s:"",e.envMap?"#define "+B:"",Q?"#define CUBEUV_TEXEL_WIDTH "+Q.texelWidth:"",Q?"#define CUBEUV_TEXEL_HEIGHT "+Q.texelHeight:"",Q?"#define CUBEUV_MAX_MIP "+Q.maxMip+".0":"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMap&&e.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",e.normalMap&&e.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",e.clearcoat?"#define USE_CLEARCOAT":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescence?"#define USE_IRIDESCENCE":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",e.specularColorMap?"#define USE_SPECULARCOLORMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaTest?"#define USE_ALPHATEST":"",e.sheen?"#define USE_SHEEN":"",e.sheenColorMap?"#define USE_SHEENCOLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",e.vertexTangents?"#define USE_TANGENT":"",e.vertexColors||e.instancingColor?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUvs?"#define USE_UV":"",e.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",e.gradientMap?"#define USE_GRADIENTMAP":"",e.flatShading?"#define FLAT_SHADED":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+a:"",e.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",e.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",e.toneMapping!==Ir?"#define TONE_MAPPING":"",e.toneMapping!==Ir?ze.tonemapping_pars_fragment:"",e.toneMapping!==Ir?IW("toneMapping",e.toneMapping):"",e.dithering?"#define DITHERING":"",e.opaque?"#define OPAQUE":"",ze.encodings_pars_fragment,eW("linearToOutputTexel",e.outputEncoding),e.useDepthPacking?"#define DEPTH_PACKING "+e.depthPacking:"",`
`].filter(Rl).join(`
`)),C=tf(C),C=cN(C,e),C=dN(C,e),o=tf(o),o=cN(o,e),o=dN(o,e),C=uN(C),o=uN(o),e.isWebGL2&&e.isRawShaderMaterial!==!0&&(D=`#version 300 es
`,h=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(`
`)+`
`+h,u=["#define varying in",e.glslVersion===OU?"":"layout(location = 0) out highp vec4 pc_fragColor;",e.glslVersion===OU?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(`
`)+`
`+u);let p=D+h+C,w=D+u+o,k=hN(i,35633,p),U=hN(i,35632,w);if(i.attachShader(l,k),i.attachShader(l,U),e.index0AttributeName!==void 0?i.bindAttribLocation(l,0,e.index0AttributeName):e.morphTargets===!0&&i.bindAttribLocation(l,0,"position"),i.linkProgram(l),A.debug.checkShaderErrors){let R=i.getProgramInfoLog(l).trim(),J=i.getShaderInfoLog(k).trim(),q=i.getShaderInfoLog(U).trim(),T=!0,P=!0;if(i.getProgramParameter(l,35714)===!1){T=!1;let H=lN(i,k,"vertex"),eA=lN(i,U,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(l,35715)+`

Program Info Log: `+R+`
`+H+`
`+eA)}else R!==""?console.warn("THREE.WebGLProgram: Program Info Log:",R):(J===""||q==="")&&(P=!1);P&&(this.diagnostics={runnable:T,programLog:R,vertexShader:{log:J,prefix:h},fragmentShader:{log:q,prefix:u}})}i.deleteShader(k),i.deleteShader(U);let N;this.getUniforms=function(){return N===void 0&&(N=new tD(i,l)),N};let G;return this.getAttributes=function(){return G===void 0&&(G=CW(i,l)),G},this.destroy=function(){I.releaseStatesOfProgram(this),i.deleteProgram(l),this.program=void 0},this.name=e.shaderName,this.id=$5++,this.cacheKey=g,this.usedTimes=1,this.program=l,this.vertexShader=k,this.fragmentShader=U,this}var cW=0,dW=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(A){let g=A.vertexShader,e=A.fragmentShader,I=this._getShaderStage(g),i=this._getShaderStage(e),t=this._getShaderCacheForMaterial(A);return t.has(I)===!1&&(t.add(I),I.usedTimes++),t.has(i)===!1&&(t.add(i),i.usedTimes++),this}remove(A){let g=this.materialCache.get(A);for(let e of g)e.usedTimes--,e.usedTimes===0&&this.shaderCache.delete(e.code);return this.materialCache.delete(A),this}getVertexShaderID(A){return this._getShaderStage(A.vertexShader).id}getFragmentShaderID(A){return this._getShaderStage(A.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(A){let g=this.materialCache,e=g.get(A);return e===void 0&&(e=new Set,g.set(A,e)),e}_getShaderStage(A){let g=this.shaderCache,e=g.get(A);return e===void 0&&(e=new uW(A),g.set(A,e)),e}},uW=class{constructor(A){this.id=cW++,this.code=A,this.usedTimes=0}};function DW(A,g,e,I,i,t,C){let o=new eG,a=new dW,r=[],s=i.isWebGL2,B=i.logarithmicDepthBuffer,Q=i.vertexTextures,n=i.precision,E={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function l(G,R,J,q,T){let P=q.fog,H=T.geometry,eA=G.isMeshStandardMaterial?q.environment:null,rA=(G.isMeshStandardMaterial?e:g).get(G.envMap||eA),BA=rA&&rA.mapping===wc?rA.image.height:null,aA=E[G.type];G.precision!==null&&(n=i.getMaxPrecision(G.precision),n!==G.precision&&console.warn("THREE.WebGLProgram.getParameters:",G.precision,"not supported, using",n,"instead."));let yA=H.morphAttributes.position||H.morphAttributes.normal||H.morphAttributes.color,SA=yA!==void 0?yA.length:0,pA=0;H.morphAttributes.position!==void 0&&(pA=1),H.morphAttributes.normal!==void 0&&(pA=2),H.morphAttributes.color!==void 0&&(pA=3);let wA,RA,kA,UA;if(aA){let YA=Va[aA];wA=YA.vertexShader,RA=YA.fragmentShader}else wA=G.vertexShader,RA=G.fragmentShader,a.update(G),kA=a.getVertexShaderID(G),UA=a.getFragmentShaderID(G);let GA=A.getRenderTarget(),zA=G.alphaTest>0,KA=G.clearcoat>0,LA=G.iridescence>0;return{isWebGL2:s,shaderID:aA,shaderName:G.type,vertexShader:wA,fragmentShader:RA,defines:G.defines,customVertexShaderID:kA,customFragmentShaderID:UA,isRawShaderMaterial:G.isRawShaderMaterial===!0,glslVersion:G.glslVersion,precision:n,instancing:T.isInstancedMesh===!0,instancingColor:T.isInstancedMesh===!0&&T.instanceColor!==null,supportsVertexTextures:Q,outputEncoding:GA===null?A.outputEncoding:GA.isXRRenderTarget===!0?GA.texture.encoding:ca,map:!!G.map,matcap:!!G.matcap,envMap:!!rA,envMapMode:rA&&rA.mapping,envMapCubeUVHeight:BA,lightMap:!!G.lightMap,aoMap:!!G.aoMap,emissiveMap:!!G.emissiveMap,bumpMap:!!G.bumpMap,normalMap:!!G.normalMap,objectSpaceNormalMap:G.normalMapType===U4,tangentSpaceNormalMap:G.normalMapType===k4,decodeVideoTexture:!!G.map&&G.map.isVideoTexture===!0&&G.map.encoding===je,clearcoat:KA,clearcoatMap:KA&&!!G.clearcoatMap,clearcoatRoughnessMap:KA&&!!G.clearcoatRoughnessMap,clearcoatNormalMap:KA&&!!G.clearcoatNormalMap,iridescence:LA,iridescenceMap:LA&&!!G.iridescenceMap,iridescenceThicknessMap:LA&&!!G.iridescenceThicknessMap,displacementMap:!!G.displacementMap,roughnessMap:!!G.roughnessMap,metalnessMap:!!G.metalnessMap,specularMap:!!G.specularMap,specularIntensityMap:!!G.specularIntensityMap,specularColorMap:!!G.specularColorMap,opaque:G.transparent===!1&&G.blending===lQ,alphaMap:!!G.alphaMap,alphaTest:zA,gradientMap:!!G.gradientMap,sheen:G.sheen>0,sheenColorMap:!!G.sheenColorMap,sheenRoughnessMap:!!G.sheenRoughnessMap,transmission:G.transmission>0,transmissionMap:!!G.transmissionMap,thicknessMap:!!G.thicknessMap,combine:G.combine,vertexTangents:!!G.normalMap&&!!H.attributes.tangent,vertexColors:G.vertexColors,vertexAlphas:G.vertexColors===!0&&!!H.attributes.color&&H.attributes.color.itemSize===4,vertexUvs:!!G.map||!!G.bumpMap||!!G.normalMap||!!G.specularMap||!!G.alphaMap||!!G.emissiveMap||!!G.roughnessMap||!!G.metalnessMap||!!G.clearcoatMap||!!G.clearcoatRoughnessMap||!!G.clearcoatNormalMap||!!G.iridescenceMap||!!G.iridescenceThicknessMap||!!G.displacementMap||!!G.transmissionMap||!!G.thicknessMap||!!G.specularIntensityMap||!!G.specularColorMap||!!G.sheenColorMap||!!G.sheenRoughnessMap,uvsVertexOnly:!(G.map||G.bumpMap||G.normalMap||G.specularMap||G.alphaMap||G.emissiveMap||G.roughnessMap||G.metalnessMap||G.clearcoatNormalMap||G.iridescenceMap||G.iridescenceThicknessMap||G.transmission>0||G.transmissionMap||G.thicknessMap||G.specularIntensityMap||G.specularColorMap||G.sheen>0||G.sheenColorMap||G.sheenRoughnessMap)&&!!G.displacementMap,fog:!!P,useFog:G.fog===!0,fogExp2:P&&P.isFogExp2,flatShading:!!G.flatShading,sizeAttenuation:G.sizeAttenuation,logarithmicDepthBuffer:B,skinning:T.isSkinnedMesh===!0,morphTargets:H.morphAttributes.position!==void 0,morphNormals:H.morphAttributes.normal!==void 0,morphColors:H.morphAttributes.color!==void 0,morphTargetsCount:SA,morphTextureStride:pA,numDirLights:R.directional.length,numPointLights:R.point.length,numSpotLights:R.spot.length,numSpotLightMaps:R.spotLightMap.length,numRectAreaLights:R.rectArea.length,numHemiLights:R.hemi.length,numDirLightShadows:R.directionalShadowMap.length,numPointLightShadows:R.pointShadowMap.length,numSpotLightShadows:R.spotShadowMap.length,numSpotLightShadowsWithMaps:R.numSpotLightShadowsWithMaps,numClippingPlanes:C.numPlanes,numClipIntersection:C.numIntersection,dithering:G.dithering,shadowMapEnabled:A.shadowMap.enabled&&J.length>0,shadowMapType:A.shadowMap.type,toneMapping:G.toneMapped?A.toneMapping:Ir,physicallyCorrectLights:A.physicallyCorrectLights,premultipliedAlpha:G.premultipliedAlpha,doubleSided:G.side===jC,flipSided:G.side===Lt,useDepthPacking:!!G.depthPacking,depthPacking:G.depthPacking||0,index0AttributeName:G.index0AttributeName,extensionDerivatives:G.extensions&&G.extensions.derivatives,extensionFragDepth:G.extensions&&G.extensions.fragDepth,extensionDrawBuffers:G.extensions&&G.extensions.drawBuffers,extensionShaderTextureLOD:G.extensions&&G.extensions.shaderTextureLOD,rendererExtensionFragDepth:s||I.has("EXT_frag_depth"),rendererExtensionDrawBuffers:s||I.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:s||I.has("EXT_shader_texture_lod"),customProgramCacheKey:G.customProgramCacheKey()}}function h(G){let R=[];if(G.shaderID?R.push(G.shaderID):(R.push(G.customVertexShaderID),R.push(G.customFragmentShaderID)),G.defines!==void 0)for(let J in G.defines)R.push(J),R.push(G.defines[J]);return G.isRawShaderMaterial===!1&&(u(R,G),D(R,G),R.push(A.outputEncoding)),R.push(G.customProgramCacheKey),R.join()}function u(G,R){G.push(R.precision),G.push(R.outputEncoding),G.push(R.envMapMode),G.push(R.envMapCubeUVHeight),G.push(R.combine),G.push(R.vertexUvs),G.push(R.fogExp2),G.push(R.sizeAttenuation),G.push(R.morphTargetsCount),G.push(R.morphAttributeCount),G.push(R.numDirLights),G.push(R.numPointLights),G.push(R.numSpotLights),G.push(R.numSpotLightMaps),G.push(R.numHemiLights),G.push(R.numRectAreaLights),G.push(R.numDirLightShadows),G.push(R.numPointLightShadows),G.push(R.numSpotLightShadows),G.push(R.numSpotLightShadowsWithMaps),G.push(R.shadowMapType),G.push(R.toneMapping),G.push(R.numClippingPlanes),G.push(R.numClipIntersection),G.push(R.depthPacking)}function D(G,R){o.disableAll(),R.isWebGL2&&o.enable(0),R.supportsVertexTextures&&o.enable(1),R.instancing&&o.enable(2),R.instancingColor&&o.enable(3),R.map&&o.enable(4),R.matcap&&o.enable(5),R.envMap&&o.enable(6),R.lightMap&&o.enable(7),R.aoMap&&o.enable(8),R.emissiveMap&&o.enable(9),R.bumpMap&&o.enable(10),R.normalMap&&o.enable(11),R.objectSpaceNormalMap&&o.enable(12),R.tangentSpaceNormalMap&&o.enable(13),R.clearcoat&&o.enable(14),R.clearcoatMap&&o.enable(15),R.clearcoatRoughnessMap&&o.enable(16),R.clearcoatNormalMap&&o.enable(17),R.iridescence&&o.enable(18),R.iridescenceMap&&o.enable(19),R.iridescenceThicknessMap&&o.enable(20),R.displacementMap&&o.enable(21),R.specularMap&&o.enable(22),R.roughnessMap&&o.enable(23),R.metalnessMap&&o.enable(24),R.gradientMap&&o.enable(25),R.alphaMap&&o.enable(26),R.alphaTest&&o.enable(27),R.vertexColors&&o.enable(28),R.vertexAlphas&&o.enable(29),R.vertexUvs&&o.enable(30),R.vertexTangents&&o.enable(31),R.uvsVertexOnly&&o.enable(32),G.push(o.mask),o.disableAll(),R.fog&&o.enable(0),R.useFog&&o.enable(1),R.flatShading&&o.enable(2),R.logarithmicDepthBuffer&&o.enable(3),R.skinning&&o.enable(4),R.morphTargets&&o.enable(5),R.morphNormals&&o.enable(6),R.morphColors&&o.enable(7),R.premultipliedAlpha&&o.enable(8),R.shadowMapEnabled&&o.enable(9),R.physicallyCorrectLights&&o.enable(10),R.doubleSided&&o.enable(11),R.flipSided&&o.enable(12),R.useDepthPacking&&o.enable(13),R.dithering&&o.enable(14),R.specularIntensityMap&&o.enable(15),R.specularColorMap&&o.enable(16),R.transmission&&o.enable(17),R.transmissionMap&&o.enable(18),R.thicknessMap&&o.enable(19),R.sheen&&o.enable(20),R.sheenColorMap&&o.enable(21),R.sheenRoughnessMap&&o.enable(22),R.decodeVideoTexture&&o.enable(23),R.opaque&&o.enable(24),G.push(o.mask)}function p(G){let R=E[G.type],J;if(R){let q=Va[R];J=PE.clone(q.uniforms)}else J=G.uniforms;return J}function w(G,R){let J;for(let q=0,T=r.length;q<T;q++){let P=r[q];if(P.cacheKey===R){J=P,++J.usedTimes;break}}return J===void 0&&(J=new lW(A,R,G,t),r.push(J)),J}function k(G){if(--G.usedTimes===0){let R=r.indexOf(G);r[R]=r[r.length-1],r.pop(),G.destroy()}}function U(G){a.remove(G)}function N(){a.dispose()}return{getParameters:l,getProgramCacheKey:h,getUniforms:p,acquireProgram:w,releaseProgram:k,releaseShaderCache:U,programs:r,dispose:N}}function pW(){let A=new WeakMap;function g(t){let C=A.get(t);return C===void 0&&(C={},A.set(t,C)),C}function e(t){A.delete(t)}function I(t,C,o){A.get(t)[C]=o}function i(){A=new WeakMap}return{get:g,remove:e,update:I,dispose:i}}function yW(A,g){return A.groupOrder!==g.groupOrder?A.groupOrder-g.groupOrder:A.renderOrder!==g.renderOrder?A.renderOrder-g.renderOrder:A.material.id!==g.material.id?A.material.id-g.material.id:A.z!==g.z?A.z-g.z:A.id-g.id}function pN(A,g){return A.groupOrder!==g.groupOrder?A.groupOrder-g.groupOrder:A.renderOrder!==g.renderOrder?A.renderOrder-g.renderOrder:A.z!==g.z?g.z-A.z:A.id-g.id}function yN(){let A=[],g=0,e=[],I=[],i=[];function t(){g=0,e.length=0,I.length=0,i.length=0}function C(B,Q,n,E,l,h){let u=A[g];return u===void 0?(u={id:B.id,object:B,geometry:Q,material:n,groupOrder:E,renderOrder:B.renderOrder,z:l,group:h},A[g]=u):(u.id=B.id,u.object=B,u.geometry=Q,u.material=n,u.groupOrder=E,u.renderOrder=B.renderOrder,u.z=l,u.group=h),g++,u}function o(B,Q,n,E,l,h){let u=C(B,Q,n,E,l,h);n.transmission>0?I.push(u):n.transparent===!0?i.push(u):e.push(u)}function a(B,Q,n,E,l,h){let u=C(B,Q,n,E,l,h);n.transmission>0?I.unshift(u):n.transparent===!0?i.unshift(u):e.unshift(u)}function r(B,Q){e.length>1&&e.sort(B||yW),I.length>1&&I.sort(Q||pN),i.length>1&&i.sort(Q||pN)}function s(){for(let B=g,Q=A.length;B<Q;B++){let n=A[B];if(n.id===null)break;n.id=null,n.object=null,n.geometry=null,n.material=null,n.group=null}}return{opaque:e,transmissive:I,transparent:i,init:t,push:o,unshift:a,finish:s,sort:r}}function wW(){let A=new WeakMap;function g(I,i){let t=A.get(I),C;return t===void 0?(C=new yN,A.set(I,[C])):i>=t.length?(C=new yN,t.push(C)):C=t[i],C}function e(){A=new WeakMap}return{get:g,dispose:e}}function fW(){let A={};return{get:function(g){if(A[g.id]!==void 0)return A[g.id];let e;switch(g.type){case"DirectionalLight":e={direction:new x,color:new de};break;case"SpotLight":e={position:new x,direction:new x,color:new de,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":e={position:new x,color:new de,distance:0,decay:0};break;case"HemisphereLight":e={direction:new x,skyColor:new de,groundColor:new de};break;case"RectAreaLight":e={color:new de,position:new x,halfWidth:new x,halfHeight:new x};break}return A[g.id]=e,e}}}function SW(){let A={};return{get:function(g){if(A[g.id]!==void 0)return A[g.id];let e;switch(g.type){case"DirectionalLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mA};break;case"SpotLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mA};break;case"PointLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mA,shadowCameraNear:1,shadowCameraFar:1e3};break}return A[g.id]=e,e}}}var GW=0;function mW(A,g){return(g.castShadow?2:0)-(A.castShadow?2:0)+(g.map?1:0)-(A.map?1:0)}function MW(A,g){let e=new fW,I=SW(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let s=0;s<9;s++)i.probe.push(new x);let t=new x,C=new wg,o=new wg;function a(s,B){let Q=0,n=0,E=0;for(let q=0;q<9;q++)i.probe[q].set(0,0,0);let l=0,h=0,u=0,D=0,p=0,w=0,k=0,U=0,N=0,G=0;s.sort(mW);let R=B!==!0?Math.PI:1;for(let q=0,T=s.length;q<T;q++){let P=s[q],H=P.color,eA=P.intensity,rA=P.distance,BA=P.shadow&&P.shadow.map?P.shadow.map.texture:null;if(P.isAmbientLight)Q+=H.r*eA*R,n+=H.g*eA*R,E+=H.b*eA*R;else if(P.isLightProbe)for(let aA=0;aA<9;aA++)i.probe[aA].addScaledVector(P.sh.coefficients[aA],eA);else if(P.isDirectionalLight){let aA=e.get(P);if(aA.color.copy(P.color).multiplyScalar(P.intensity*R),P.castShadow){let yA=P.shadow,SA=I.get(P);SA.shadowBias=yA.bias,SA.shadowNormalBias=yA.normalBias,SA.shadowRadius=yA.radius,SA.shadowMapSize=yA.mapSize,i.directionalShadow[l]=SA,i.directionalShadowMap[l]=BA,i.directionalShadowMatrix[l]=P.shadow.matrix,w++}i.directional[l]=aA,l++}else if(P.isSpotLight){let aA=e.get(P);aA.position.setFromMatrixPosition(P.matrixWorld),aA.color.copy(H).multiplyScalar(eA*R),aA.distance=rA,aA.coneCos=Math.cos(P.angle),aA.penumbraCos=Math.cos(P.angle*(1-P.penumbra)),aA.decay=P.decay,i.spot[u]=aA;let yA=P.shadow;if(P.map&&(i.spotLightMap[N]=P.map,N++,yA.updateMatrices(P),P.castShadow&&G++),i.spotLightMatrix[u]=yA.matrix,P.castShadow){let SA=I.get(P);SA.shadowBias=yA.bias,SA.shadowNormalBias=yA.normalBias,SA.shadowRadius=yA.radius,SA.shadowMapSize=yA.mapSize,i.spotShadow[u]=SA,i.spotShadowMap[u]=BA,U++}u++}else if(P.isRectAreaLight){let aA=e.get(P);aA.color.copy(H).multiplyScalar(eA),aA.halfWidth.set(P.width*.5,0,0),aA.halfHeight.set(0,P.height*.5,0),i.rectArea[D]=aA,D++}else if(P.isPointLight){let aA=e.get(P);if(aA.color.copy(P.color).multiplyScalar(P.intensity*R),aA.distance=P.distance,aA.decay=P.decay,P.castShadow){let yA=P.shadow,SA=I.get(P);SA.shadowBias=yA.bias,SA.shadowNormalBias=yA.normalBias,SA.shadowRadius=yA.radius,SA.shadowMapSize=yA.mapSize,SA.shadowCameraNear=yA.camera.near,SA.shadowCameraFar=yA.camera.far,i.pointShadow[h]=SA,i.pointShadowMap[h]=BA,i.pointShadowMatrix[h]=P.shadow.matrix,k++}i.point[h]=aA,h++}else if(P.isHemisphereLight){let aA=e.get(P);aA.skyColor.copy(P.color).multiplyScalar(eA*R),aA.groundColor.copy(P.groundColor).multiplyScalar(eA*R),i.hemi[p]=aA,p++}}D>0&&(g.isWebGL2||A.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=xg.LTC_FLOAT_1,i.rectAreaLTC2=xg.LTC_FLOAT_2):A.has("OES_texture_half_float_linear")===!0?(i.rectAreaLTC1=xg.LTC_HALF_1,i.rectAreaLTC2=xg.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=Q,i.ambient[1]=n,i.ambient[2]=E;let J=i.hash;(J.directionalLength!==l||J.pointLength!==h||J.spotLength!==u||J.rectAreaLength!==D||J.hemiLength!==p||J.numDirectionalShadows!==w||J.numPointShadows!==k||J.numSpotShadows!==U||J.numSpotMaps!==N)&&(i.directional.length=l,i.spot.length=u,i.rectArea.length=D,i.point.length=h,i.hemi.length=p,i.directionalShadow.length=w,i.directionalShadowMap.length=w,i.pointShadow.length=k,i.pointShadowMap.length=k,i.spotShadow.length=U,i.spotShadowMap.length=U,i.directionalShadowMatrix.length=w,i.pointShadowMatrix.length=k,i.spotLightMatrix.length=U+N-G,i.spotLightMap.length=N,i.numSpotLightShadowsWithMaps=G,J.directionalLength=l,J.pointLength=h,J.spotLength=u,J.rectAreaLength=D,J.hemiLength=p,J.numDirectionalShadows=w,J.numPointShadows=k,J.numSpotShadows=U,J.numSpotMaps=N,i.version=GW++)}function r(s,B){let Q=0,n=0,E=0,l=0,h=0,u=B.matrixWorldInverse;for(let D=0,p=s.length;D<p;D++){let w=s[D];if(w.isDirectionalLight){let k=i.directional[Q];k.direction.setFromMatrixPosition(w.matrixWorld),t.setFromMatrixPosition(w.target.matrixWorld),k.direction.sub(t),k.direction.transformDirection(u),Q++}else if(w.isSpotLight){let k=i.spot[E];k.position.setFromMatrixPosition(w.matrixWorld),k.position.applyMatrix4(u),k.direction.setFromMatrixPosition(w.matrixWorld),t.setFromMatrixPosition(w.target.matrixWorld),k.direction.sub(t),k.direction.transformDirection(u),E++}else if(w.isRectAreaLight){let k=i.rectArea[l];k.position.setFromMatrixPosition(w.matrixWorld),k.position.applyMatrix4(u),o.identity(),C.copy(w.matrixWorld),C.premultiply(u),o.extractRotation(C),k.halfWidth.set(w.width*.5,0,0),k.halfHeight.set(0,w.height*.5,0),k.halfWidth.applyMatrix4(o),k.halfHeight.applyMatrix4(o),l++}else if(w.isPointLight){let k=i.point[n];k.position.setFromMatrixPosition(w.matrixWorld),k.position.applyMatrix4(u),n++}else if(w.isHemisphereLight){let k=i.hemi[h];k.direction.setFromMatrixPosition(w.matrixWorld),k.direction.transformDirection(u),h++}}}return{setup:a,setupView:r,state:i}}function wN(A,g){let e=new MW(A,g),I=[],i=[];function t(){I.length=0,i.length=0}function C(s){I.push(s)}function o(s){i.push(s)}function a(s){e.setup(I,s)}function r(s){e.setupView(I,s)}return{init:t,state:{lightsArray:I,shadowsArray:i,lights:e},setupLights:a,setupLightsView:r,pushLight:C,pushShadow:o}}function kW(A,g){let e=new WeakMap;function I(t,C=0){let o=e.get(t),a;return o===void 0?(a=new wN(A,g),e.set(t,[a])):C>=o.length?(a=new wN(A,g),o.push(a)):a=o[C],a}function i(){e=new WeakMap}return{get:I,dispose:i}}var qJ=class extends fc{constructor(A){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=ds,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}},UW=class extends fc{constructor(A){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.referencePosition=new x,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(A)}copy(A){return super.copy(A),this.referencePosition.copy(A.referencePosition),this.nearDistance=A.nearDistance,this.farDistance=A.farDistance,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}},NW=`void main() {
	gl_Position = vec4( position, 1.0 );
}`,FW=`uniform sampler2D shadow_pass;
uniform vec2 resolution;
uniform float radius;
#include <packing>
void main() {
	const float samples = float( VSM_SAMPLES );
	float mean = 0.0;
	float squared_mean = 0.0;
	float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );
	float uvStart = samples <= 1.0 ? 0.0 : - 1.0;
	for ( float i = 0.0; i < samples; i ++ ) {
		float uvOffset = uvStart + i * uvStride;
		#ifdef HORIZONTAL_PASS
			vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );
			mean += distribution.x;
			squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;
		#else
			float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );
			mean += depth;
			squared_mean += depth * depth;
		#endif
	}
	mean = mean / samples;
	squared_mean = squared_mean / samples;
	float std_dev = sqrt( squared_mean - mean * mean );
	gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );
}`;function RW(A,g,e){let I=new iG,i=new mA,t=new mA,C=new Ue,o=new qJ({depthPacking:wJ}),a=new UW,r={},s=e.maxTextureSize,B={[la]:Lt,[Lt]:la,[jC]:jC},Q=new RI({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new mA},radius:{value:4}},vertexShader:NW,fragmentShader:FW}),n=Q.clone();n.defines.HORIZONTAL_PASS=1;let E=new se;E.setAttribute("position",new Se(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let l=new Oi(E,Q),h=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=XS,this.render=function(w,k,U){if(h.enabled===!1||h.autoUpdate===!1&&h.needsUpdate===!1||w.length===0)return;let N=A.getRenderTarget(),G=A.getActiveCubeFace(),R=A.getActiveMipmapLevel(),J=A.state;J.setBlending(Ct),J.buffers.color.setClear(1,1,1,1),J.buffers.depth.setTest(!0),J.setScissorTest(!1);for(let q=0,T=w.length;q<T;q++){let P=w[q],H=P.shadow;if(H===void 0){console.warn("THREE.WebGLShadowMap:",P,"has no shadow.");continue}if(H.autoUpdate===!1&&H.needsUpdate===!1)continue;i.copy(H.mapSize);let eA=H.getFrameExtents();if(i.multiply(eA),t.copy(H.mapSize),(i.x>s||i.y>s)&&(i.x>s&&(t.x=Math.floor(s/eA.x),i.x=t.x*eA.x,H.mapSize.x=t.x),i.y>s&&(t.y=Math.floor(s/eA.y),i.y=t.y*eA.y,H.mapSize.y=t.y)),H.map===null){let BA=this.type!==Fl?{minFilter:qI,magFilter:qI}:{};H.map=new FI(i.x,i.y,BA),H.map.texture.name=P.name+".shadowMap",H.camera.updateProjectionMatrix()}A.setRenderTarget(H.map),A.clear();let rA=H.getViewportCount();for(let BA=0;BA<rA;BA++){let aA=H.getViewport(BA);C.set(t.x*aA.x,t.y*aA.y,t.x*aA.z,t.y*aA.w),J.viewport(C),H.updateMatrices(P,BA),I=H.getFrustum(),p(k,U,H.camera,P,this.type)}H.isPointLightShadow!==!0&&this.type===Fl&&u(H,U),H.needsUpdate=!1}h.needsUpdate=!1,A.setRenderTarget(N,G,R)};function u(w,k){let U=g.update(l);Q.defines.VSM_SAMPLES!==w.blurSamples&&(Q.defines.VSM_SAMPLES=w.blurSamples,n.defines.VSM_SAMPLES=w.blurSamples,Q.needsUpdate=!0,n.needsUpdate=!0),w.mapPass===null&&(w.mapPass=new FI(i.x,i.y)),Q.uniforms.shadow_pass.value=w.map.texture,Q.uniforms.resolution.value=w.mapSize,Q.uniforms.radius.value=w.radius,A.setRenderTarget(w.mapPass),A.clear(),A.renderBufferDirect(k,null,U,Q,l,null),n.uniforms.shadow_pass.value=w.mapPass.texture,n.uniforms.resolution.value=w.mapSize,n.uniforms.radius.value=w.radius,A.setRenderTarget(w.map),A.clear(),A.renderBufferDirect(k,null,U,n,l,null)}function D(w,k,U,N,G,R){let J=null,q=U.isPointLight===!0?w.customDistanceMaterial:w.customDepthMaterial;if(q!==void 0)J=q;else if(J=U.isPointLight===!0?a:o,A.localClippingEnabled&&k.clipShadows===!0&&Array.isArray(k.clippingPlanes)&&k.clippingPlanes.length!==0||k.displacementMap&&k.displacementScale!==0||k.alphaMap&&k.alphaTest>0||k.map&&k.alphaTest>0){let T=J.uuid,P=k.uuid,H=r[T];H===void 0&&(H={},r[T]=H);let eA=H[P];eA===void 0&&(eA=J.clone(),H[P]=eA),J=eA}return J.visible=k.visible,J.wireframe=k.wireframe,R===Fl?J.side=k.shadowSide!==null?k.shadowSide:k.side:J.side=k.shadowSide!==null?k.shadowSide:B[k.side],J.alphaMap=k.alphaMap,J.alphaTest=k.alphaTest,J.map=k.map,J.clipShadows=k.clipShadows,J.clippingPlanes=k.clippingPlanes,J.clipIntersection=k.clipIntersection,J.displacementMap=k.displacementMap,J.displacementScale=k.displacementScale,J.displacementBias=k.displacementBias,J.wireframeLinewidth=k.wireframeLinewidth,J.linewidth=k.linewidth,U.isPointLight===!0&&J.isMeshDistanceMaterial===!0&&(J.referencePosition.setFromMatrixPosition(U.matrixWorld),J.nearDistance=N,J.farDistance=G),J}function p(w,k,U,N,G){if(w.visible===!1)return;if(w.layers.test(k.layers)&&(w.isMesh||w.isLine||w.isPoints)&&(w.castShadow||w.receiveShadow&&G===Fl)&&(!w.frustumCulled||I.intersectsObject(w))){w.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,w.matrixWorld);let J=g.update(w),q=w.material;if(Array.isArray(q)){let T=J.groups;for(let P=0,H=T.length;P<H;P++){let eA=T[P],rA=q[eA.materialIndex];if(rA&&rA.visible){let BA=D(w,rA,N,U.near,U.far,G);A.renderBufferDirect(U,null,J,BA,w,eA)}}}else if(q.visible){let T=D(w,q,N,U.near,U.far,G);A.renderBufferDirect(U,null,J,T,w,null)}}let R=w.children;for(let J=0,q=R.length;J<q;J++)p(R[J],k,U,N,G)}}function vW(A,g,e){let I=e.isWebGL2;function i(){let FA=!1,ZA=new Ue,pg=null,Dg=new Ue(0,0,0,0);return{setMask:function(ge){pg!==ge&&!FA&&(A.colorMask(ge,ge,ge,ge),pg=ge)},setLocked:function(ge){FA=ge},setClear:function(ge,Fg,gI,Zg,SI){SI===!0&&(ge*=Zg,Fg*=Zg,gI*=Zg),ZA.set(ge,Fg,gI,Zg),Dg.equals(ZA)===!1&&(A.clearColor(ge,Fg,gI,Zg),Dg.copy(ZA))},reset:function(){FA=!1,pg=null,Dg.set(-1,0,0,0)}}}function t(){let FA=!1,ZA=null,pg=null,Dg=null;return{setTest:function(ge){ge?zA(2929):KA(2929)},setMask:function(ge){ZA!==ge&&!FA&&(A.depthMask(ge),ZA=ge)},setFunc:function(ge){if(pg!==ge){switch(ge){case A4:A.depthFunc(512);break;case g4:A.depthFunc(519);break;case e4:A.depthFunc(513);break;case Z0:A.depthFunc(515);break;case I4:A.depthFunc(514);break;case i4:A.depthFunc(518);break;case t4:A.depthFunc(516);break;case C4:A.depthFunc(517);break;default:A.depthFunc(515)}pg=ge}},setLocked:function(ge){FA=ge},setClear:function(ge){Dg!==ge&&(A.clearDepth(ge),Dg=ge)},reset:function(){FA=!1,ZA=null,pg=null,Dg=null}}}function C(){let FA=!1,ZA=null,pg=null,Dg=null,ge=null,Fg=null,gI=null,Zg=null,SI=null;return{setTest:function(We){FA||(We?zA(2960):KA(2960))},setMask:function(We){ZA!==We&&!FA&&(A.stencilMask(We),ZA=We)},setFunc:function(We,GI,ti){(pg!==We||Dg!==GI||ge!==ti)&&(A.stencilFunc(We,GI,ti),pg=We,Dg=GI,ge=ti)},setOp:function(We,GI,ti){(Fg!==We||gI!==GI||Zg!==ti)&&(A.stencilOp(We,GI,ti),Fg=We,gI=GI,Zg=ti)},setLocked:function(We){FA=We},setClear:function(We){SI!==We&&(A.clearStencil(We),SI=We)},reset:function(){FA=!1,ZA=null,pg=null,Dg=null,ge=null,Fg=null,gI=null,Zg=null,SI=null}}}let o=new i,a=new t,r=new C,s=new WeakMap,B=new WeakMap,Q={},n={},E=new WeakMap,l=[],h=null,u=!1,D=null,p=null,w=null,k=null,U=null,N=null,G=null,R=!1,J=null,q=null,T=null,P=null,H=null,eA=A.getParameter(35661),rA=!1,BA=0,aA=A.getParameter(7938);aA.indexOf("WebGL")!==-1?(BA=parseFloat(/^WebGL (\d)/.exec(aA)[1]),rA=BA>=1):aA.indexOf("OpenGL ES")!==-1&&(BA=parseFloat(/^OpenGL ES (\d)/.exec(aA)[1]),rA=BA>=2);let yA=null,SA={},pA=A.getParameter(3088),wA=A.getParameter(2978),RA=new Ue().fromArray(pA),kA=new Ue().fromArray(wA);function UA(FA,ZA,pg){let Dg=new Uint8Array(4),ge=A.createTexture();A.bindTexture(FA,ge),A.texParameteri(FA,10241,9728),A.texParameteri(FA,10240,9728);for(let Fg=0;Fg<pg;Fg++)A.texImage2D(ZA+Fg,0,6408,1,1,0,6408,5121,Dg);return ge}let GA={};GA[3553]=UA(3553,3553,1),GA[34067]=UA(34067,34069,6),o.setClear(0,0,0,1),a.setClear(1),r.setClear(0),zA(2929),a.setFunc(Z0),Ng(!1),Kg(EU),zA(2884),vg(Ct);function zA(FA){Q[FA]!==!0&&(A.enable(FA),Q[FA]=!0)}function KA(FA){Q[FA]!==!1&&(A.disable(FA),Q[FA]=!1)}function LA(FA,ZA){return n[FA]!==ZA?(A.bindFramebuffer(FA,ZA),n[FA]=ZA,I&&(FA===36009&&(n[36160]=ZA),FA===36160&&(n[36009]=ZA)),!0):!1}function YA(FA,ZA){let pg=l,Dg=!1;if(FA)if(pg=E.get(ZA),pg===void 0&&(pg=[],E.set(ZA,pg)),FA.isWebGLMultipleRenderTargets){let ge=FA.texture;if(pg.length!==ge.length||pg[0]!==36064){for(let Fg=0,gI=ge.length;Fg<gI;Fg++)pg[Fg]=36064+Fg;pg.length=ge.length,Dg=!0}}else pg[0]!==36064&&(pg[0]=36064,Dg=!0);else pg[0]!==1029&&(pg[0]=1029,Dg=!0);Dg&&(e.isWebGL2?A.drawBuffers(pg):g.get("WEBGL_draw_buffers").drawBuffersWEBGL(pg))}function sg(FA){return h!==FA?(A.useProgram(FA),h=FA,!0):!1}let $A={[AE]:32774,[T_]:32778,[O_]:32779};if(I)$A[dU]=32775,$A[uU]=32776;else{let FA=g.get("EXT_blend_minmax");FA!==null&&($A[dU]=FA.MIN_EXT,$A[uU]=FA.MAX_EXT)}let VA={[__]:0,[P_]:1,[j_]:768,[hJ]:770,[$_]:776,[Z_]:774,[z_]:772,[W_]:769,[lJ]:771,[X_]:775,[V_]:773};function vg(FA,ZA,pg,Dg,ge,Fg,gI,Zg){if(FA===Ct){u===!0&&(KA(3042),u=!1);return}if(u===!1&&(zA(3042),u=!0),FA!==H_){if(FA!==D||Zg!==R){if((p!==AE||U!==AE)&&(A.blendEquation(32774),p=AE,U=AE),Zg)switch(FA){case lQ:A.blendFuncSeparate(1,771,1,771);break;case hU:A.blendFunc(1,1);break;case lU:A.blendFuncSeparate(0,769,0,1);break;case cU:A.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",FA);break}else switch(FA){case lQ:A.blendFuncSeparate(770,771,1,771);break;case hU:A.blendFunc(770,1);break;case lU:A.blendFuncSeparate(0,769,0,1);break;case cU:A.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",FA);break}w=null,k=null,N=null,G=null,D=FA,R=Zg}return}ge=ge||ZA,Fg=Fg||pg,gI=gI||Dg,(ZA!==p||ge!==U)&&(A.blendEquationSeparate($A[ZA],$A[ge]),p=ZA,U=ge),(pg!==w||Dg!==k||Fg!==N||gI!==G)&&(A.blendFuncSeparate(VA[pg],VA[Dg],VA[Fg],VA[gI]),w=pg,k=Dg,N=Fg,G=gI),D=FA,R=!1}function Gg(FA,ZA){FA.side===jC?KA(2884):zA(2884);let pg=FA.side===Lt;ZA&&(pg=!pg),Ng(pg),FA.blending===lQ&&FA.transparent===!1?vg(Ct):vg(FA.blending,FA.blendEquation,FA.blendSrc,FA.blendDst,FA.blendEquationAlpha,FA.blendSrcAlpha,FA.blendDstAlpha,FA.premultipliedAlpha),a.setFunc(FA.depthFunc),a.setTest(FA.depthTest),a.setMask(FA.depthWrite),o.setMask(FA.colorWrite);let Dg=FA.stencilWrite;r.setTest(Dg),Dg&&(r.setMask(FA.stencilWriteMask),r.setFunc(FA.stencilFunc,FA.stencilRef,FA.stencilFuncMask),r.setOp(FA.stencilFail,FA.stencilZFail,FA.stencilZPass)),Sg(FA.polygonOffset,FA.polygonOffsetFactor,FA.polygonOffsetUnits),FA.alphaToCoverage===!0?zA(32926):KA(32926)}function Ng(FA){J!==FA&&(FA?A.frontFace(2304):A.frontFace(2305),J=FA)}function Kg(FA){FA!==L_?(zA(2884),FA!==q&&(FA===EU?A.cullFace(1029):FA===x_?A.cullFace(1028):A.cullFace(1032))):KA(2884),q=FA}function mg(FA){FA!==T&&(rA&&A.lineWidth(FA),T=FA)}function Sg(FA,ZA,pg){FA?(zA(32823),(P!==ZA||H!==pg)&&(A.polygonOffset(ZA,pg),P=ZA,H=pg)):KA(32823)}function Ae(FA){FA?zA(3089):KA(3089)}function Mg(FA){FA===void 0&&(FA=33984+eA-1),yA!==FA&&(A.activeTexture(FA),yA=FA)}function sA(FA,ZA,pg){pg===void 0&&(yA===null?pg=33984+eA-1:pg=yA);let Dg=SA[pg];Dg===void 0&&(Dg={type:void 0,texture:void 0},SA[pg]=Dg),(Dg.type!==FA||Dg.texture!==ZA)&&(yA!==pg&&(A.activeTexture(pg),yA=pg),A.bindTexture(FA,ZA||GA[FA]),Dg.type=FA,Dg.texture=ZA)}function CA(){let FA=SA[yA];FA!==void 0&&FA.type!==void 0&&(A.bindTexture(FA.type,null),FA.type=void 0,FA.texture=void 0)}function OA(){try{A.compressedTexImage2D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function dg(){try{A.compressedTexImage3D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function X(){try{A.texSubImage2D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function eg(){try{A.texSubImage3D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function Og(){try{A.compressedTexSubImage2D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function Eg(){try{A.compressedTexSubImage3D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function og(){try{A.texStorage2D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function Cg(){try{A.texStorage3D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function Yg(){try{A.texImage2D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function kg(){try{A.texImage3D.apply(A,arguments)}catch(FA){console.error("THREE.WebGLState:",FA)}}function Pg(FA){RA.equals(FA)===!1&&(A.scissor(FA.x,FA.y,FA.z,FA.w),RA.copy(FA))}function Ie(FA){kA.equals(FA)===!1&&(A.viewport(FA.x,FA.y,FA.z,FA.w),kA.copy(FA))}function Ke(FA,ZA){let pg=B.get(ZA);pg===void 0&&(pg=new WeakMap,B.set(ZA,pg));let Dg=pg.get(FA);Dg===void 0&&(Dg=A.getUniformBlockIndex(ZA,FA.name),pg.set(FA,Dg))}function Je(FA,ZA){let pg=B.get(ZA).get(FA);s.get(ZA)!==pg&&(A.uniformBlockBinding(ZA,pg,FA.__bindingPointIndex),s.set(ZA,pg))}function xe(){A.disable(3042),A.disable(2884),A.disable(2929),A.disable(32823),A.disable(3089),A.disable(2960),A.disable(32926),A.blendEquation(32774),A.blendFunc(1,0),A.blendFuncSeparate(1,0,1,0),A.colorMask(!0,!0,!0,!0),A.clearColor(0,0,0,0),A.depthMask(!0),A.depthFunc(513),A.clearDepth(1),A.stencilMask(4294967295),A.stencilFunc(519,0,4294967295),A.stencilOp(7680,7680,7680),A.clearStencil(0),A.cullFace(1029),A.frontFace(2305),A.polygonOffset(0,0),A.activeTexture(33984),A.bindFramebuffer(36160,null),I===!0&&(A.bindFramebuffer(36009,null),A.bindFramebuffer(36008,null)),A.useProgram(null),A.lineWidth(1),A.scissor(0,0,A.canvas.width,A.canvas.height),A.viewport(0,0,A.canvas.width,A.canvas.height),Q={},yA=null,SA={},n={},E=new WeakMap,l=[],h=null,u=!1,D=null,p=null,w=null,k=null,U=null,N=null,G=null,R=!1,J=null,q=null,T=null,P=null,H=null,RA.set(0,0,A.canvas.width,A.canvas.height),kA.set(0,0,A.canvas.width,A.canvas.height),o.reset(),a.reset(),r.reset()}return{buffers:{color:o,depth:a,stencil:r},enable:zA,disable:KA,bindFramebuffer:LA,drawBuffers:YA,useProgram:sg,setBlending:vg,setMaterial:Gg,setFlipSided:Ng,setCullFace:Kg,setLineWidth:mg,setPolygonOffset:Sg,setScissorTest:Ae,activeTexture:Mg,bindTexture:sA,unbindTexture:CA,compressedTexImage2D:OA,compressedTexImage3D:dg,texImage2D:Yg,texImage3D:kg,updateUBOMapping:Ke,uniformBlockBinding:Je,texStorage2D:og,texStorage3D:Cg,texSubImage2D:X,texSubImage3D:eg,compressedTexSubImage2D:Og,compressedTexSubImage3D:Eg,scissor:Pg,viewport:Ie,reset:xe}}function KW(A,g,e,I,i,t,C){let o=i.isWebGL2,a=i.maxTextures,r=i.maxCubemapSize,s=i.maxTextureSize,B=i.maxSamples,Q=g.has("WEBGL_multisampled_render_to_texture")?g.get("WEBGL_multisampled_render_to_texture"):null,n=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),E=new WeakMap,l,h=new WeakMap,u=!1;try{u=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function D(sA,CA){return u?new OffscreenCanvas(sA,CA):gc("canvas")}function p(sA,CA,OA,dg){let X=1;if((sA.width>dg||sA.height>dg)&&(X=dg/Math.max(sA.width,sA.height)),X<1||CA===!0)if(typeof HTMLImageElement<"u"&&sA instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&sA instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&sA instanceof ImageBitmap){let eg=CA?SD:Math.floor,Og=eg(X*sA.width),Eg=eg(X*sA.height);l===void 0&&(l=D(Og,Eg));let og=OA?D(Og,Eg):l;return og.width=Og,og.height=Eg,og.getContext("2d").drawImage(sA,0,0,Og,Eg),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+sA.width+"x"+sA.height+") to ("+Og+"x"+Eg+")."),og}else return"data"in sA&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+sA.width+"x"+sA.height+")."),sA;return sA}function w(sA){return If(sA.width)&&If(sA.height)}function k(sA){return o?!1:sA.wrapS!==hi||sA.wrapT!==hi||sA.minFilter!==qI&&sA.minFilter!==Ve}function U(sA,CA){return sA.generateMipmaps&&CA&&sA.minFilter!==qI&&sA.minFilter!==Ve}function N(sA){A.generateMipmap(sA)}function G(sA,CA,OA,dg,X=!1){if(o===!1)return CA;if(sA!==null){if(A[sA]!==void 0)return A[sA];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+sA+"'")}let eg=CA;return CA===6403&&(OA===5126&&(eg=33326),OA===5131&&(eg=33325),OA===5121&&(eg=33321)),CA===33319&&(OA===5126&&(eg=33328),OA===5131&&(eg=33327),OA===5121&&(eg=33323)),CA===6408&&(OA===5126&&(eg=34836),OA===5131&&(eg=34842),OA===5121&&(eg=dg===je&&X===!1?35907:32856),OA===32819&&(eg=32854),OA===32820&&(eg=32855)),(eg===33325||eg===33326||eg===33327||eg===33328||eg===34842||eg===34836)&&g.get("EXT_color_buffer_float"),eg}function R(sA,CA,OA){return U(sA,OA)===!0||sA.isFramebufferTexture&&sA.minFilter!==qI&&sA.minFilter!==Ve?Math.log2(Math.max(CA.width,CA.height))+1:sA.mipmaps!==void 0&&sA.mipmaps.length>0?sA.mipmaps.length:sA.isCompressedTexture&&Array.isArray(sA.image)?CA.mipmaps.length:1}function J(sA){return sA===qI||sA===DU||sA===Py?9728:9729}function q(sA){let CA=sA.target;CA.removeEventListener("dispose",q),P(CA),CA.isVideoTexture&&E.delete(CA)}function T(sA){let CA=sA.target;CA.removeEventListener("dispose",T),eA(CA)}function P(sA){let CA=I.get(sA);if(CA.__webglInit===void 0)return;let OA=sA.source,dg=h.get(OA);if(dg){let X=dg[CA.__cacheKey];X.usedTimes--,X.usedTimes===0&&H(sA),Object.keys(dg).length===0&&h.delete(OA)}I.remove(sA)}function H(sA){let CA=I.get(sA);A.deleteTexture(CA.__webglTexture);let OA=sA.source,dg=h.get(OA);delete dg[CA.__cacheKey],C.memory.textures--}function eA(sA){let CA=sA.texture,OA=I.get(sA),dg=I.get(CA);if(dg.__webglTexture!==void 0&&(A.deleteTexture(dg.__webglTexture),C.memory.textures--),sA.depthTexture&&sA.depthTexture.dispose(),sA.isWebGLCubeRenderTarget)for(let X=0;X<6;X++)A.deleteFramebuffer(OA.__webglFramebuffer[X]),OA.__webglDepthbuffer&&A.deleteRenderbuffer(OA.__webglDepthbuffer[X]);else{if(A.deleteFramebuffer(OA.__webglFramebuffer),OA.__webglDepthbuffer&&A.deleteRenderbuffer(OA.__webglDepthbuffer),OA.__webglMultisampledFramebuffer&&A.deleteFramebuffer(OA.__webglMultisampledFramebuffer),OA.__webglColorRenderbuffer)for(let X=0;X<OA.__webglColorRenderbuffer.length;X++)OA.__webglColorRenderbuffer[X]&&A.deleteRenderbuffer(OA.__webglColorRenderbuffer[X]);OA.__webglDepthRenderbuffer&&A.deleteRenderbuffer(OA.__webglDepthRenderbuffer)}if(sA.isWebGLMultipleRenderTargets)for(let X=0,eg=CA.length;X<eg;X++){let Og=I.get(CA[X]);Og.__webglTexture&&(A.deleteTexture(Og.__webglTexture),C.memory.textures--),I.remove(CA[X])}I.remove(CA),I.remove(sA)}let rA=0;function BA(){rA=0}function aA(){let sA=rA;return sA>=a&&console.warn("THREE.WebGLTextures: Trying to use "+sA+" texture units while this GPU supports only "+a),rA+=1,sA}function yA(sA){let CA=[];return CA.push(sA.wrapS),CA.push(sA.wrapT),CA.push(sA.wrapR||0),CA.push(sA.magFilter),CA.push(sA.minFilter),CA.push(sA.anisotropy),CA.push(sA.internalFormat),CA.push(sA.format),CA.push(sA.type),CA.push(sA.generateMipmaps),CA.push(sA.premultiplyAlpha),CA.push(sA.flipY),CA.push(sA.unpackAlignment),CA.push(sA.encoding),CA.join()}function SA(sA,CA){let OA=I.get(sA);if(sA.isVideoTexture&&Ae(sA),sA.isRenderTargetTexture===!1&&sA.version>0&&OA.__version!==sA.version){let dg=sA.image;if(dg===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(dg.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{KA(OA,sA,CA);return}}e.bindTexture(3553,OA.__webglTexture,33984+CA)}function pA(sA,CA){let OA=I.get(sA);if(sA.version>0&&OA.__version!==sA.version){KA(OA,sA,CA);return}e.bindTexture(35866,OA.__webglTexture,33984+CA)}function wA(sA,CA){let OA=I.get(sA);if(sA.version>0&&OA.__version!==sA.version){KA(OA,sA,CA);return}e.bindTexture(32879,OA.__webglTexture,33984+CA)}function RA(sA,CA){let OA=I.get(sA);if(sA.version>0&&OA.__version!==sA.version){LA(OA,sA,CA);return}e.bindTexture(34067,OA.__webglTexture,33984+CA)}let kA={[is]:10497,[hi]:33071,[Af]:33648},UA={[qI]:9728,[DU]:9984,[Py]:9986,[Ve]:9729,[E4]:9985,[kE]:9987};function GA(sA,CA,OA){if(OA?(A.texParameteri(sA,10242,kA[CA.wrapS]),A.texParameteri(sA,10243,kA[CA.wrapT]),(sA===32879||sA===35866)&&A.texParameteri(sA,32882,kA[CA.wrapR]),A.texParameteri(sA,10240,UA[CA.magFilter]),A.texParameteri(sA,10241,UA[CA.minFilter])):(A.texParameteri(sA,10242,33071),A.texParameteri(sA,10243,33071),(sA===32879||sA===35866)&&A.texParameteri(sA,32882,33071),(CA.wrapS!==hi||CA.wrapT!==hi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),A.texParameteri(sA,10240,J(CA.magFilter)),A.texParameteri(sA,10241,J(CA.minFilter)),CA.minFilter!==qI&&CA.minFilter!==Ve&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),g.has("EXT_texture_filter_anisotropic")===!0){let dg=g.get("EXT_texture_filter_anisotropic");if(CA.magFilter===qI||CA.minFilter!==Py&&CA.minFilter!==kE||CA.type===tt&&g.has("OES_texture_float_linear")===!1||o===!1&&CA.type===ns&&g.has("OES_texture_half_float_linear")===!1)return;(CA.anisotropy>1||I.get(CA).__currentAnisotropy)&&(A.texParameterf(sA,dg.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(CA.anisotropy,i.getMaxAnisotropy())),I.get(CA).__currentAnisotropy=CA.anisotropy)}}function zA(sA,CA){let OA=!1;sA.__webglInit===void 0&&(sA.__webglInit=!0,CA.addEventListener("dispose",q));let dg=CA.source,X=h.get(dg);X===void 0&&(X={},h.set(dg,X));let eg=yA(CA);if(eg!==sA.__cacheKey){X[eg]===void 0&&(X[eg]={texture:A.createTexture(),usedTimes:0},C.memory.textures++,OA=!0),X[eg].usedTimes++;let Og=X[sA.__cacheKey];Og!==void 0&&(X[sA.__cacheKey].usedTimes--,Og.usedTimes===0&&H(CA)),sA.__cacheKey=eg,sA.__webglTexture=X[eg].texture}return OA}function KA(sA,CA,OA){let dg=3553;(CA.isDataArrayTexture||CA.isCompressedArrayTexture)&&(dg=35866),CA.isData3DTexture&&(dg=32879);let X=zA(sA,CA),eg=CA.source;e.bindTexture(dg,sA.__webglTexture,33984+OA);let Og=I.get(eg);if(eg.version!==Og.__version||X===!0){e.activeTexture(33984+OA),A.pixelStorei(37440,CA.flipY),A.pixelStorei(37441,CA.premultiplyAlpha),A.pixelStorei(3317,CA.unpackAlignment),A.pixelStorei(37443,0);let Eg=k(CA)&&w(CA.image)===!1,og=p(CA.image,Eg,!1,s);og=Mg(CA,og);let Cg=w(og)||o,Yg=t.convert(CA.format,CA.encoding),kg=t.convert(CA.type),Pg=G(CA.internalFormat,Yg,kg,CA.encoding,CA.isVideoTexture);GA(dg,CA,Cg);let Ie,Ke=CA.mipmaps,Je=o&&CA.isVideoTexture!==!0,xe=Og.__version===void 0||X===!0,FA=R(CA,og,Cg);if(CA.isDepthTexture)Pg=6402,o?CA.type===tt?Pg=36012:CA.type===ts?Pg=33190:CA.type===cQ?Pg=35056:Pg=33189:CA.type===tt&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),CA.format===dQ&&Pg===6402&&CA.type!==uJ&&CA.type!==ts&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),CA.type=ts,kg=t.convert(CA.type)),CA.format===SQ&&Pg===6402&&(Pg=34041,CA.type!==cQ&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),CA.type=cQ,kg=t.convert(CA.type))),xe&&(Je?e.texStorage2D(3553,1,Pg,og.width,og.height):e.texImage2D(3553,0,Pg,og.width,og.height,0,Yg,kg,null));else if(CA.isDataTexture)if(Ke.length>0&&Cg){Je&&xe&&e.texStorage2D(3553,FA,Pg,Ke[0].width,Ke[0].height);for(let ZA=0,pg=Ke.length;ZA<pg;ZA++)Ie=Ke[ZA],Je?e.texSubImage2D(3553,ZA,0,0,Ie.width,Ie.height,Yg,kg,Ie.data):e.texImage2D(3553,ZA,Pg,Ie.width,Ie.height,0,Yg,kg,Ie.data);CA.generateMipmaps=!1}else Je?(xe&&e.texStorage2D(3553,FA,Pg,og.width,og.height),e.texSubImage2D(3553,0,0,0,og.width,og.height,Yg,kg,og.data)):e.texImage2D(3553,0,Pg,og.width,og.height,0,Yg,kg,og.data);else if(CA.isCompressedTexture)if(CA.isCompressedArrayTexture){Je&&xe&&e.texStorage3D(35866,FA,Pg,Ke[0].width,Ke[0].height,og.depth);for(let ZA=0,pg=Ke.length;ZA<pg;ZA++)Ie=Ke[ZA],CA.format!==qt?Yg!==null?Je?e.compressedTexSubImage3D(35866,ZA,0,0,0,Ie.width,Ie.height,og.depth,Yg,Ie.data,0,0):e.compressedTexImage3D(35866,ZA,Pg,Ie.width,Ie.height,og.depth,0,Ie.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):Je?e.texSubImage3D(35866,ZA,0,0,0,Ie.width,Ie.height,og.depth,Yg,kg,Ie.data):e.texImage3D(35866,ZA,Pg,Ie.width,Ie.height,og.depth,0,Yg,kg,Ie.data)}else{Je&&xe&&e.texStorage2D(3553,FA,Pg,Ke[0].width,Ke[0].height);for(let ZA=0,pg=Ke.length;ZA<pg;ZA++)Ie=Ke[ZA],CA.format!==qt?Yg!==null?Je?e.compressedTexSubImage2D(3553,ZA,0,0,Ie.width,Ie.height,Yg,Ie.data):e.compressedTexImage2D(3553,ZA,Pg,Ie.width,Ie.height,0,Ie.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):Je?e.texSubImage2D(3553,ZA,0,0,Ie.width,Ie.height,Yg,kg,Ie.data):e.texImage2D(3553,ZA,Pg,Ie.width,Ie.height,0,Yg,kg,Ie.data)}else if(CA.isDataArrayTexture)Je?(xe&&e.texStorage3D(35866,FA,Pg,og.width,og.height,og.depth),e.texSubImage3D(35866,0,0,0,0,og.width,og.height,og.depth,Yg,kg,og.data)):e.texImage3D(35866,0,Pg,og.width,og.height,og.depth,0,Yg,kg,og.data);else if(CA.isData3DTexture)Je?(xe&&e.texStorage3D(32879,FA,Pg,og.width,og.height,og.depth),e.texSubImage3D(32879,0,0,0,0,og.width,og.height,og.depth,Yg,kg,og.data)):e.texImage3D(32879,0,Pg,og.width,og.height,og.depth,0,Yg,kg,og.data);else if(CA.isFramebufferTexture){if(xe)if(Je)e.texStorage2D(3553,FA,Pg,og.width,og.height);else{let ZA=og.width,pg=og.height;for(let Dg=0;Dg<FA;Dg++)e.texImage2D(3553,Dg,Pg,ZA,pg,0,Yg,kg,null),ZA>>=1,pg>>=1}}else if(Ke.length>0&&Cg){Je&&xe&&e.texStorage2D(3553,FA,Pg,Ke[0].width,Ke[0].height);for(let ZA=0,pg=Ke.length;ZA<pg;ZA++)Ie=Ke[ZA],Je?e.texSubImage2D(3553,ZA,0,0,Yg,kg,Ie):e.texImage2D(3553,ZA,Pg,Yg,kg,Ie);CA.generateMipmaps=!1}else Je?(xe&&e.texStorage2D(3553,FA,Pg,og.width,og.height),e.texSubImage2D(3553,0,0,0,Yg,kg,og)):e.texImage2D(3553,0,Pg,Yg,kg,og);U(CA,Cg)&&N(dg),Og.__version=eg.version,CA.onUpdate&&CA.onUpdate(CA)}sA.__version=CA.version}function LA(sA,CA,OA){if(CA.image.length!==6)return;let dg=zA(sA,CA),X=CA.source;e.bindTexture(34067,sA.__webglTexture,33984+OA);let eg=I.get(X);if(X.version!==eg.__version||dg===!0){e.activeTexture(33984+OA),A.pixelStorei(37440,CA.flipY),A.pixelStorei(37441,CA.premultiplyAlpha),A.pixelStorei(3317,CA.unpackAlignment),A.pixelStorei(37443,0);let Og=CA.isCompressedTexture||CA.image[0].isCompressedTexture,Eg=CA.image[0]&&CA.image[0].isDataTexture,og=[];for(let ZA=0;ZA<6;ZA++)!Og&&!Eg?og[ZA]=p(CA.image[ZA],!1,!0,r):og[ZA]=Eg?CA.image[ZA].image:CA.image[ZA],og[ZA]=Mg(CA,og[ZA]);let Cg=og[0],Yg=w(Cg)||o,kg=t.convert(CA.format,CA.encoding),Pg=t.convert(CA.type),Ie=G(CA.internalFormat,kg,Pg,CA.encoding),Ke=o&&CA.isVideoTexture!==!0,Je=eg.__version===void 0||dg===!0,xe=R(CA,Cg,Yg);GA(34067,CA,Yg);let FA;if(Og){Ke&&Je&&e.texStorage2D(34067,xe,Ie,Cg.width,Cg.height);for(let ZA=0;ZA<6;ZA++){FA=og[ZA].mipmaps;for(let pg=0;pg<FA.length;pg++){let Dg=FA[pg];CA.format!==qt?kg!==null?Ke?e.compressedTexSubImage2D(34069+ZA,pg,0,0,Dg.width,Dg.height,kg,Dg.data):e.compressedTexImage2D(34069+ZA,pg,Ie,Dg.width,Dg.height,0,Dg.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):Ke?e.texSubImage2D(34069+ZA,pg,0,0,Dg.width,Dg.height,kg,Pg,Dg.data):e.texImage2D(34069+ZA,pg,Ie,Dg.width,Dg.height,0,kg,Pg,Dg.data)}}}else{FA=CA.mipmaps,Ke&&Je&&(FA.length>0&&xe++,e.texStorage2D(34067,xe,Ie,og[0].width,og[0].height));for(let ZA=0;ZA<6;ZA++)if(Eg){Ke?e.texSubImage2D(34069+ZA,0,0,0,og[ZA].width,og[ZA].height,kg,Pg,og[ZA].data):e.texImage2D(34069+ZA,0,Ie,og[ZA].width,og[ZA].height,0,kg,Pg,og[ZA].data);for(let pg=0;pg<FA.length;pg++){let Dg=FA[pg].image[ZA].image;Ke?e.texSubImage2D(34069+ZA,pg+1,0,0,Dg.width,Dg.height,kg,Pg,Dg.data):e.texImage2D(34069+ZA,pg+1,Ie,Dg.width,Dg.height,0,kg,Pg,Dg.data)}}else{Ke?e.texSubImage2D(34069+ZA,0,0,0,kg,Pg,og[ZA]):e.texImage2D(34069+ZA,0,Ie,kg,Pg,og[ZA]);for(let pg=0;pg<FA.length;pg++){let Dg=FA[pg];Ke?e.texSubImage2D(34069+ZA,pg+1,0,0,kg,Pg,Dg.image[ZA]):e.texImage2D(34069+ZA,pg+1,Ie,kg,Pg,Dg.image[ZA])}}}U(CA,Yg)&&N(34067),eg.__version=X.version,CA.onUpdate&&CA.onUpdate(CA)}sA.__version=CA.version}function YA(sA,CA,OA,dg,X){let eg=t.convert(OA.format,OA.encoding),Og=t.convert(OA.type),Eg=G(OA.internalFormat,eg,Og,OA.encoding);I.get(CA).__hasExternalTextures||(X===32879||X===35866?e.texImage3D(X,0,Eg,CA.width,CA.height,CA.depth,0,eg,Og,null):e.texImage2D(X,0,Eg,CA.width,CA.height,0,eg,Og,null)),e.bindFramebuffer(36160,sA),Sg(CA)?Q.framebufferTexture2DMultisampleEXT(36160,dg,X,I.get(OA).__webglTexture,0,mg(CA)):(X===3553||X>=34069&&X<=34074)&&A.framebufferTexture2D(36160,dg,X,I.get(OA).__webglTexture,0),e.bindFramebuffer(36160,null)}function sg(sA,CA,OA){if(A.bindRenderbuffer(36161,sA),CA.depthBuffer&&!CA.stencilBuffer){let dg=33189;if(OA||Sg(CA)){let X=CA.depthTexture;X&&X.isDepthTexture&&(X.type===tt?dg=36012:X.type===ts&&(dg=33190));let eg=mg(CA);Sg(CA)?Q.renderbufferStorageMultisampleEXT(36161,eg,dg,CA.width,CA.height):A.renderbufferStorageMultisample(36161,eg,dg,CA.width,CA.height)}else A.renderbufferStorage(36161,dg,CA.width,CA.height);A.framebufferRenderbuffer(36160,36096,36161,sA)}else if(CA.depthBuffer&&CA.stencilBuffer){let dg=mg(CA);OA&&Sg(CA)===!1?A.renderbufferStorageMultisample(36161,dg,35056,CA.width,CA.height):Sg(CA)?Q.renderbufferStorageMultisampleEXT(36161,dg,35056,CA.width,CA.height):A.renderbufferStorage(36161,34041,CA.width,CA.height),A.framebufferRenderbuffer(36160,33306,36161,sA)}else{let dg=CA.isWebGLMultipleRenderTargets===!0?CA.texture:[CA.texture];for(let X=0;X<dg.length;X++){let eg=dg[X],Og=t.convert(eg.format,eg.encoding),Eg=t.convert(eg.type),og=G(eg.internalFormat,Og,Eg,eg.encoding),Cg=mg(CA);OA&&Sg(CA)===!1?A.renderbufferStorageMultisample(36161,Cg,og,CA.width,CA.height):Sg(CA)?Q.renderbufferStorageMultisampleEXT(36161,Cg,og,CA.width,CA.height):A.renderbufferStorage(36161,og,CA.width,CA.height)}}A.bindRenderbuffer(36161,null)}function $A(sA,CA){if(CA&&CA.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(e.bindFramebuffer(36160,sA),!(CA.depthTexture&&CA.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!I.get(CA.depthTexture).__webglTexture||CA.depthTexture.image.width!==CA.width||CA.depthTexture.image.height!==CA.height)&&(CA.depthTexture.image.width=CA.width,CA.depthTexture.image.height=CA.height,CA.depthTexture.needsUpdate=!0),SA(CA.depthTexture,0);let OA=I.get(CA.depthTexture).__webglTexture,dg=mg(CA);if(CA.depthTexture.format===dQ)Sg(CA)?Q.framebufferTexture2DMultisampleEXT(36160,36096,3553,OA,0,dg):A.framebufferTexture2D(36160,36096,3553,OA,0);else if(CA.depthTexture.format===SQ)Sg(CA)?Q.framebufferTexture2DMultisampleEXT(36160,33306,3553,OA,0,dg):A.framebufferTexture2D(36160,33306,3553,OA,0);else throw new Error("Unknown depthTexture format")}function VA(sA){let CA=I.get(sA),OA=sA.isWebGLCubeRenderTarget===!0;if(sA.depthTexture&&!CA.__autoAllocateDepthBuffer){if(OA)throw new Error("target.depthTexture not supported in Cube render targets");$A(CA.__webglFramebuffer,sA)}else if(OA){CA.__webglDepthbuffer=[];for(let dg=0;dg<6;dg++)e.bindFramebuffer(36160,CA.__webglFramebuffer[dg]),CA.__webglDepthbuffer[dg]=A.createRenderbuffer(),sg(CA.__webglDepthbuffer[dg],sA,!1)}else e.bindFramebuffer(36160,CA.__webglFramebuffer),CA.__webglDepthbuffer=A.createRenderbuffer(),sg(CA.__webglDepthbuffer,sA,!1);e.bindFramebuffer(36160,null)}function vg(sA,CA,OA){let dg=I.get(sA);CA!==void 0&&YA(dg.__webglFramebuffer,sA,sA.texture,36064,3553),OA!==void 0&&VA(sA)}function Gg(sA){let CA=sA.texture,OA=I.get(sA),dg=I.get(CA);sA.addEventListener("dispose",T),sA.isWebGLMultipleRenderTargets!==!0&&(dg.__webglTexture===void 0&&(dg.__webglTexture=A.createTexture()),dg.__version=CA.version,C.memory.textures++);let X=sA.isWebGLCubeRenderTarget===!0,eg=sA.isWebGLMultipleRenderTargets===!0,Og=w(sA)||o;if(X){OA.__webglFramebuffer=[];for(let Eg=0;Eg<6;Eg++)OA.__webglFramebuffer[Eg]=A.createFramebuffer()}else{if(OA.__webglFramebuffer=A.createFramebuffer(),eg)if(i.drawBuffers){let Eg=sA.texture;for(let og=0,Cg=Eg.length;og<Cg;og++){let Yg=I.get(Eg[og]);Yg.__webglTexture===void 0&&(Yg.__webglTexture=A.createTexture(),C.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(o&&sA.samples>0&&Sg(sA)===!1){let Eg=eg?CA:[CA];OA.__webglMultisampledFramebuffer=A.createFramebuffer(),OA.__webglColorRenderbuffer=[],e.bindFramebuffer(36160,OA.__webglMultisampledFramebuffer);for(let og=0;og<Eg.length;og++){let Cg=Eg[og];OA.__webglColorRenderbuffer[og]=A.createRenderbuffer(),A.bindRenderbuffer(36161,OA.__webglColorRenderbuffer[og]);let Yg=t.convert(Cg.format,Cg.encoding),kg=t.convert(Cg.type),Pg=G(Cg.internalFormat,Yg,kg,Cg.encoding,sA.isXRRenderTarget===!0),Ie=mg(sA);A.renderbufferStorageMultisample(36161,Ie,Pg,sA.width,sA.height),A.framebufferRenderbuffer(36160,36064+og,36161,OA.__webglColorRenderbuffer[og])}A.bindRenderbuffer(36161,null),sA.depthBuffer&&(OA.__webglDepthRenderbuffer=A.createRenderbuffer(),sg(OA.__webglDepthRenderbuffer,sA,!0)),e.bindFramebuffer(36160,null)}}if(X){e.bindTexture(34067,dg.__webglTexture),GA(34067,CA,Og);for(let Eg=0;Eg<6;Eg++)YA(OA.__webglFramebuffer[Eg],sA,CA,36064,34069+Eg);U(CA,Og)&&N(34067),e.unbindTexture()}else if(eg){let Eg=sA.texture;for(let og=0,Cg=Eg.length;og<Cg;og++){let Yg=Eg[og],kg=I.get(Yg);e.bindTexture(3553,kg.__webglTexture),GA(3553,Yg,Og),YA(OA.__webglFramebuffer,sA,Yg,36064+og,3553),U(Yg,Og)&&N(3553)}e.unbindTexture()}else{let Eg=3553;(sA.isWebGL3DRenderTarget||sA.isWebGLArrayRenderTarget)&&(o?Eg=sA.isWebGL3DRenderTarget?32879:35866:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),e.bindTexture(Eg,dg.__webglTexture),GA(Eg,CA,Og),YA(OA.__webglFramebuffer,sA,CA,36064,Eg),U(CA,Og)&&N(Eg),e.unbindTexture()}sA.depthBuffer&&VA(sA)}function Ng(sA){let CA=w(sA)||o,OA=sA.isWebGLMultipleRenderTargets===!0?sA.texture:[sA.texture];for(let dg=0,X=OA.length;dg<X;dg++){let eg=OA[dg];if(U(eg,CA)){let Og=sA.isWebGLCubeRenderTarget?34067:3553,Eg=I.get(eg).__webglTexture;e.bindTexture(Og,Eg),N(Og),e.unbindTexture()}}}function Kg(sA){if(o&&sA.samples>0&&Sg(sA)===!1){let CA=sA.isWebGLMultipleRenderTargets?sA.texture:[sA.texture],OA=sA.width,dg=sA.height,X=16384,eg=[],Og=sA.stencilBuffer?33306:36096,Eg=I.get(sA),og=sA.isWebGLMultipleRenderTargets===!0;if(og)for(let Cg=0;Cg<CA.length;Cg++)e.bindFramebuffer(36160,Eg.__webglMultisampledFramebuffer),A.framebufferRenderbuffer(36160,36064+Cg,36161,null),e.bindFramebuffer(36160,Eg.__webglFramebuffer),A.framebufferTexture2D(36009,36064+Cg,3553,null,0);e.bindFramebuffer(36008,Eg.__webglMultisampledFramebuffer),e.bindFramebuffer(36009,Eg.__webglFramebuffer);for(let Cg=0;Cg<CA.length;Cg++){eg.push(36064+Cg),sA.depthBuffer&&eg.push(Og);let Yg=Eg.__ignoreDepthValues!==void 0?Eg.__ignoreDepthValues:!1;if(Yg===!1&&(sA.depthBuffer&&(X|=256),sA.stencilBuffer&&(X|=1024)),og&&A.framebufferRenderbuffer(36008,36064,36161,Eg.__webglColorRenderbuffer[Cg]),Yg===!0&&(A.invalidateFramebuffer(36008,[Og]),A.invalidateFramebuffer(36009,[Og])),og){let kg=I.get(CA[Cg]).__webglTexture;A.framebufferTexture2D(36009,36064,3553,kg,0)}A.blitFramebuffer(0,0,OA,dg,0,0,OA,dg,X,9728),n&&A.invalidateFramebuffer(36008,eg)}if(e.bindFramebuffer(36008,null),e.bindFramebuffer(36009,null),og)for(let Cg=0;Cg<CA.length;Cg++){e.bindFramebuffer(36160,Eg.__webglMultisampledFramebuffer),A.framebufferRenderbuffer(36160,36064+Cg,36161,Eg.__webglColorRenderbuffer[Cg]);let Yg=I.get(CA[Cg]).__webglTexture;e.bindFramebuffer(36160,Eg.__webglFramebuffer),A.framebufferTexture2D(36009,36064+Cg,3553,Yg,0)}e.bindFramebuffer(36009,Eg.__webglMultisampledFramebuffer)}}function mg(sA){return Math.min(B,sA.samples)}function Sg(sA){let CA=I.get(sA);return o&&sA.samples>0&&g.has("WEBGL_multisampled_render_to_texture")===!0&&CA.__useRenderToTexture!==!1}function Ae(sA){let CA=C.render.frame;E.get(sA)!==CA&&(E.set(sA,CA),sA.update())}function Mg(sA,CA){let OA=sA.encoding,dg=sA.format,X=sA.type;return sA.isCompressedTexture===!0||sA.isVideoTexture===!0||sA.format===ef||OA!==ca&&(OA===je?o===!1?g.has("EXT_sRGB")===!0&&dg===qt?(sA.format=ef,sA.minFilter=Ve,sA.generateMipmaps=!1):CA=mJ.sRGBToLinear(CA):(dg!==qt||X!==cC)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",OA)),CA}this.allocateTextureUnit=aA,this.resetTextureUnits=BA,this.setTexture2D=SA,this.setTexture2DArray=pA,this.setTexture3D=wA,this.setTextureCube=RA,this.rebindTextures=vg,this.setupRenderTarget=Gg,this.updateRenderTargetMipmap=Ng,this.updateMultisampleRenderTarget=Kg,this.setupDepthRenderbuffer=VA,this.setupFrameBufferTexture=YA,this.useMultisampledRTT=Sg}function JW(A,g,e){let I=e.isWebGL2;function i(t,C=null){let o;if(t===cC)return 5121;if(t===d4)return 32819;if(t===u4)return 32820;if(t===h4)return 5120;if(t===l4)return 5122;if(t===uJ)return 5123;if(t===c4)return 5124;if(t===ts)return 5125;if(t===tt)return 5126;if(t===ns)return I?5131:(o=g.get("OES_texture_half_float"),o!==null?o.HALF_FLOAT_OES:null);if(t===D4)return 6406;if(t===qt)return 6408;if(t===p4)return 6409;if(t===y4)return 6410;if(t===dQ)return 6402;if(t===SQ)return 34041;if(t===ef)return o=g.get("EXT_sRGB"),o!==null?o.SRGB_ALPHA_EXT:null;if(t===w4)return 6403;if(t===f4)return 36244;if(t===DD)return 33319;if(t===S4)return 33320;if(t===DJ)return 36249;if(t===jy||t===Wy||t===zy||t===Vy)if(C===je)if(o=g.get("WEBGL_compressed_texture_s3tc_srgb"),o!==null){if(t===jy)return o.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(t===Wy)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(t===zy)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(t===Vy)return o.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(o=g.get("WEBGL_compressed_texture_s3tc"),o!==null){if(t===jy)return o.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===Wy)return o.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===zy)return o.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===Vy)return o.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(t===pU||t===yU||t===wU||t===fU)if(o=g.get("WEBGL_compressed_texture_pvrtc"),o!==null){if(t===pU)return o.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===yU)return o.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===wU)return o.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===fU)return o.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(t===G4)return o=g.get("WEBGL_compressed_texture_etc1"),o!==null?o.COMPRESSED_RGB_ETC1_WEBGL:null;if(t===SU||t===GU)if(o=g.get("WEBGL_compressed_texture_etc"),o!==null){if(t===SU)return C===je?o.COMPRESSED_SRGB8_ETC2:o.COMPRESSED_RGB8_ETC2;if(t===GU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:o.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(t===mU||t===MU||t===kU||t===UU||t===NU||t===FU||t===RU||t===vU||t===KU||t===JU||t===qU||t===bU||t===LU||t===xU)if(o=g.get("WEBGL_compressed_texture_astc"),o!==null){if(t===mU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:o.COMPRESSED_RGBA_ASTC_4x4_KHR;if(t===MU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:o.COMPRESSED_RGBA_ASTC_5x4_KHR;if(t===kU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:o.COMPRESSED_RGBA_ASTC_5x5_KHR;if(t===UU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:o.COMPRESSED_RGBA_ASTC_6x5_KHR;if(t===NU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:o.COMPRESSED_RGBA_ASTC_6x6_KHR;if(t===FU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:o.COMPRESSED_RGBA_ASTC_8x5_KHR;if(t===RU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:o.COMPRESSED_RGBA_ASTC_8x6_KHR;if(t===vU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:o.COMPRESSED_RGBA_ASTC_8x8_KHR;if(t===KU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:o.COMPRESSED_RGBA_ASTC_10x5_KHR;if(t===JU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:o.COMPRESSED_RGBA_ASTC_10x6_KHR;if(t===qU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:o.COMPRESSED_RGBA_ASTC_10x8_KHR;if(t===bU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:o.COMPRESSED_RGBA_ASTC_10x10_KHR;if(t===LU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:o.COMPRESSED_RGBA_ASTC_12x10_KHR;if(t===xU)return C===je?o.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:o.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(t===Zy)if(o=g.get("EXT_texture_compression_bptc"),o!==null){if(t===Zy)return C===je?o.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:o.COMPRESSED_RGBA_BPTC_UNORM_EXT}else return null;if(t===m4||t===YU||t===HU||t===TU)if(o=g.get("EXT_texture_compression_rgtc"),o!==null){if(t===Zy)return o.COMPRESSED_RED_RGTC1_EXT;if(t===YU)return o.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(t===HU)return o.COMPRESSED_RED_GREEN_RGTC2_EXT;if(t===TU)return o.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return t===cQ?I?34042:(o=g.get("WEBGL_depth_texture"),o!==null?o.UNSIGNED_INT_24_8_WEBGL:null):A[t]!==void 0?A[t]:null}return{convert:i}}var qW=class extends BC{constructor(A=[]){super(),this.isArrayCamera=!0,this.cameras=A}},oB=class extends YI{constructor(){super(),this.isGroup=!0,this.type="Group"}},bW={type:"move"},ww=class{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new oB,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new oB,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new x,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new x),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new oB,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new x,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new x),this._grip}dispatchEvent(A){return this._targetRay!==null&&this._targetRay.dispatchEvent(A),this._grip!==null&&this._grip.dispatchEvent(A),this._hand!==null&&this._hand.dispatchEvent(A),this}connect(A){if(A&&A.hand){let g=this._hand;if(g)for(let e of A.hand.values())this._getHandJoint(g,e)}return this.dispatchEvent({type:"connected",data:A}),this}disconnect(A){return this.dispatchEvent({type:"disconnected",data:A}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(A,g,e){let I=null,i=null,t=null,C=this._targetRay,o=this._grip,a=this._hand;if(A&&g.session.visibilityState!=="visible-blurred"){if(a&&A.hand){t=!0;for(let E of A.hand.values()){let l=g.getJointPose(E,e),h=this._getHandJoint(a,E);l!==null&&(h.matrix.fromArray(l.transform.matrix),h.matrix.decompose(h.position,h.rotation,h.scale),h.jointRadius=l.radius),h.visible=l!==null}let r=a.joints["index-finger-tip"],s=a.joints["thumb-tip"],B=r.position.distanceTo(s.position),Q=.02,n=.005;a.inputState.pinching&&B>Q+n?(a.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!a.inputState.pinching&&B<=Q-n&&(a.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else o!==null&&A.gripSpace&&(i=g.getPose(A.gripSpace,e),i!==null&&(o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),i.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(i.linearVelocity)):o.hasLinearVelocity=!1,i.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(i.angularVelocity)):o.hasAngularVelocity=!1));C!==null&&(I=g.getPose(A.targetRaySpace,e),I===null&&i!==null&&(I=i),I!==null&&(C.matrix.fromArray(I.transform.matrix),C.matrix.decompose(C.position,C.rotation,C.scale),I.linearVelocity?(C.hasLinearVelocity=!0,C.linearVelocity.copy(I.linearVelocity)):C.hasLinearVelocity=!1,I.angularVelocity?(C.hasAngularVelocity=!0,C.angularVelocity.copy(I.angularVelocity)):C.hasAngularVelocity=!1,this.dispatchEvent(bW)))}return C!==null&&(C.visible=I!==null),o!==null&&(o.visible=i!==null),a!==null&&(a.visible=t!==null),this}_getHandJoint(A,g){if(A.joints[g.jointName]===void 0){let e=new oB;e.matrixAutoUpdate=!1,e.visible=!1,A.joints[g.jointName]=e,A.add(e)}return A.joints[g.jointName]}},NE=class extends yi{constructor(A,g,e,I,i,t,C,o,a,r){if(r=r!==void 0?r:dQ,r!==dQ&&r!==SQ)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");e===void 0&&r===dQ&&(e=ts),e===void 0&&r===SQ&&(e=cQ),super(null,I,i,t,C,o,r,e,a),this.isDepthTexture=!0,this.image={width:A,height:g},this.magFilter=C!==void 0?C:qI,this.minFilter=o!==void 0?o:qI,this.flipY=!1,this.generateMipmaps=!1}},LW=class extends tC{constructor(A,g){super();let e=this,I=null,i=1,t=null,C="local-floor",o=1,a=null,r=null,s=null,B=null,Q=null,n=null,E=g.getContextAttributes(),l=null,h=null,u=[],D=[],p=new Set,w=new Map,k=new BC;k.layers.enable(1),k.viewport=new Ue;let U=new BC;U.layers.enable(2),U.viewport=new Ue;let N=[k,U],G=new qW;G.layers.enable(1),G.layers.enable(2);let R=null,J=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(pA){let wA=u[pA];return wA===void 0&&(wA=new ww,u[pA]=wA),wA.getTargetRaySpace()},this.getControllerGrip=function(pA){let wA=u[pA];return wA===void 0&&(wA=new ww,u[pA]=wA),wA.getGripSpace()},this.getHand=function(pA){let wA=u[pA];return wA===void 0&&(wA=new ww,u[pA]=wA),wA.getHandSpace()};function q(pA){let wA=D.indexOf(pA.inputSource);if(wA===-1)return;let RA=u[wA];RA!==void 0&&RA.dispatchEvent({type:pA.type,data:pA.inputSource})}function T(){I.removeEventListener("select",q),I.removeEventListener("selectstart",q),I.removeEventListener("selectend",q),I.removeEventListener("squeeze",q),I.removeEventListener("squeezestart",q),I.removeEventListener("squeezeend",q),I.removeEventListener("end",T),I.removeEventListener("inputsourceschange",P);for(let pA=0;pA<u.length;pA++){let wA=D[pA];wA!==null&&(D[pA]=null,u[pA].disconnect(wA))}R=null,J=null,A.setRenderTarget(l),Q=null,B=null,s=null,I=null,h=null,SA.stop(),e.isPresenting=!1,e.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(pA){i=pA,e.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(pA){C=pA,e.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a||t},this.setReferenceSpace=function(pA){a=pA},this.getBaseLayer=function(){return B!==null?B:Q},this.getBinding=function(){return s},this.getFrame=function(){return n},this.getSession=function(){return I},this.setSession=async function(pA){if(I=pA,I!==null){if(l=A.getRenderTarget(),I.addEventListener("select",q),I.addEventListener("selectstart",q),I.addEventListener("selectend",q),I.addEventListener("squeeze",q),I.addEventListener("squeezestart",q),I.addEventListener("squeezeend",q),I.addEventListener("end",T),I.addEventListener("inputsourceschange",P),E.xrCompatible!==!0&&await g.makeXRCompatible(),I.renderState.layers===void 0||A.capabilities.isWebGL2===!1){let wA={antialias:I.renderState.layers===void 0?E.antialias:!0,alpha:E.alpha,depth:E.depth,stencil:E.stencil,framebufferScaleFactor:i};Q=new XRWebGLLayer(I,g,wA),I.updateRenderState({baseLayer:Q}),h=new FI(Q.framebufferWidth,Q.framebufferHeight,{format:qt,type:cC,encoding:A.outputEncoding,stencilBuffer:E.stencil})}else{let wA=null,RA=null,kA=null;E.depth&&(kA=E.stencil?35056:33190,wA=E.stencil?SQ:dQ,RA=E.stencil?cQ:ts);let UA={colorFormat:32856,depthFormat:kA,scaleFactor:i};s=new XRWebGLBinding(I,g),B=s.createProjectionLayer(UA),I.updateRenderState({layers:[B]}),h=new FI(B.textureWidth,B.textureHeight,{format:qt,type:cC,depthTexture:new NE(B.textureWidth,B.textureHeight,RA,void 0,void 0,void 0,void 0,void 0,void 0,wA),stencilBuffer:E.stencil,encoding:A.outputEncoding,samples:E.antialias?4:0});let GA=A.properties.get(h);GA.__ignoreDepthValues=B.ignoreDepthValues}h.isXRRenderTarget=!0,this.setFoveation(o),a=null,t=await I.requestReferenceSpace(C),SA.setContext(I),SA.start(),e.isPresenting=!0,e.dispatchEvent({type:"sessionstart"})}};function P(pA){for(let wA=0;wA<pA.removed.length;wA++){let RA=pA.removed[wA],kA=D.indexOf(RA);kA>=0&&(D[kA]=null,u[kA].disconnect(RA))}for(let wA=0;wA<pA.added.length;wA++){let RA=pA.added[wA],kA=D.indexOf(RA);if(kA===-1){for(let GA=0;GA<u.length;GA++)if(GA>=D.length){D.push(RA),kA=GA;break}else if(D[GA]===null){D[GA]=RA,kA=GA;break}if(kA===-1)break}let UA=u[kA];UA&&UA.connect(RA)}}let H=new x,eA=new x;function rA(pA,wA,RA){H.setFromMatrixPosition(wA.matrixWorld),eA.setFromMatrixPosition(RA.matrixWorld);let kA=H.distanceTo(eA),UA=wA.projectionMatrix.elements,GA=RA.projectionMatrix.elements,zA=UA[14]/(UA[10]-1),KA=UA[14]/(UA[10]+1),LA=(UA[9]+1)/UA[5],YA=(UA[9]-1)/UA[5],sg=(UA[8]-1)/UA[0],$A=(GA[8]+1)/GA[0],VA=zA*sg,vg=zA*$A,Gg=kA/(-sg+$A),Ng=Gg*-sg;wA.matrixWorld.decompose(pA.position,pA.quaternion,pA.scale),pA.translateX(Ng),pA.translateZ(Gg),pA.matrixWorld.compose(pA.position,pA.quaternion,pA.scale),pA.matrixWorldInverse.copy(pA.matrixWorld).invert();let Kg=zA+Gg,mg=KA+Gg,Sg=VA-Ng,Ae=vg+(kA-Ng),Mg=LA*KA/mg*Kg,sA=YA*KA/mg*Kg;pA.projectionMatrix.makePerspective(Sg,Ae,Mg,sA,Kg,mg)}function BA(pA,wA){wA===null?pA.matrixWorld.copy(pA.matrix):pA.matrixWorld.multiplyMatrices(wA.matrixWorld,pA.matrix),pA.matrixWorldInverse.copy(pA.matrixWorld).invert()}this.updateCamera=function(pA){if(I===null)return;G.near=U.near=k.near=pA.near,G.far=U.far=k.far=pA.far,(R!==G.near||J!==G.far)&&(I.updateRenderState({depthNear:G.near,depthFar:G.far}),R=G.near,J=G.far);let wA=pA.parent,RA=G.cameras;BA(G,wA);for(let UA=0;UA<RA.length;UA++)BA(RA[UA],wA);G.matrixWorld.decompose(G.position,G.quaternion,G.scale),pA.matrix.copy(G.matrix),pA.matrix.decompose(pA.position,pA.quaternion,pA.scale);let kA=pA.children;for(let UA=0,GA=kA.length;UA<GA;UA++)kA[UA].updateMatrixWorld(!0);RA.length===2?rA(G,k,U):G.projectionMatrix.copy(k.projectionMatrix)},this.getCamera=function(){return G},this.getFoveation=function(){if(!(B===null&&Q===null))return o},this.setFoveation=function(pA){o=pA,B!==null&&(B.fixedFoveation=pA),Q!==null&&Q.fixedFoveation!==void 0&&(Q.fixedFoveation=pA)},this.getPlanes=function(){return p};let aA=null;function yA(pA,wA){if(r=wA.getViewerPose(a||t),n=wA,r!==null){let RA=r.views;Q!==null&&(A.setRenderTargetFramebuffer(h,Q.framebuffer),A.setRenderTarget(h));let kA=!1;RA.length!==G.cameras.length&&(G.cameras.length=0,kA=!0);for(let UA=0;UA<RA.length;UA++){let GA=RA[UA],zA=null;if(Q!==null)zA=Q.getViewport(GA);else{let LA=s.getViewSubImage(B,GA);zA=LA.viewport,UA===0&&(A.setRenderTargetTextures(h,LA.colorTexture,B.ignoreDepthValues?void 0:LA.depthStencilTexture),A.setRenderTarget(h))}let KA=N[UA];KA===void 0&&(KA=new BC,KA.layers.enable(UA),KA.viewport=new Ue,N[UA]=KA),KA.matrix.fromArray(GA.transform.matrix),KA.projectionMatrix.fromArray(GA.projectionMatrix),KA.viewport.set(zA.x,zA.y,zA.width,zA.height),UA===0&&G.matrix.copy(KA.matrix),kA===!0&&G.cameras.push(KA)}}for(let RA=0;RA<u.length;RA++){let kA=D[RA],UA=u[RA];kA!==null&&UA!==void 0&&UA.update(kA,wA,a||t)}if(aA&&aA(pA,wA),wA.detectedPlanes){e.dispatchEvent({type:"planesdetected",data:wA.detectedPlanes});let RA=null;for(let kA of p)wA.detectedPlanes.has(kA)||(RA===null&&(RA=[]),RA.push(kA));if(RA!==null)for(let kA of RA)p.delete(kA),w.delete(kA),e.dispatchEvent({type:"planeremoved",data:kA});for(let kA of wA.detectedPlanes)if(!p.has(kA))p.add(kA),w.set(kA,wA.lastChangedTime),e.dispatchEvent({type:"planeadded",data:kA});else{let UA=w.get(kA);kA.lastChangedTime>UA&&(w.set(kA,kA.lastChangedTime),e.dispatchEvent({type:"planechanged",data:kA}))}}n=null}let SA=new FJ;SA.setAnimationLoop(yA),this.setAnimationLoop=function(pA){aA=pA},this.dispose=function(){}}};function xW(A,g){function e(l,h){h.color.getRGB(l.fogColor.value,NJ(A)),h.isFog?(l.fogNear.value=h.near,l.fogFar.value=h.far):h.isFogExp2&&(l.fogDensity.value=h.density)}function I(l,h,u,D,p){h.isMeshBasicMaterial||h.isMeshLambertMaterial?i(l,h):h.isMeshToonMaterial?(i(l,h),s(l,h)):h.isMeshPhongMaterial?(i(l,h),r(l,h)):h.isMeshStandardMaterial?(i(l,h),B(l,h),h.isMeshPhysicalMaterial&&Q(l,h,p)):h.isMeshMatcapMaterial?(i(l,h),n(l,h)):h.isMeshDepthMaterial?i(l,h):h.isMeshDistanceMaterial?(i(l,h),E(l,h)):h.isMeshNormalMaterial?i(l,h):h.isLineBasicMaterial?(t(l,h),h.isLineDashedMaterial&&C(l,h)):h.isPointsMaterial?o(l,h,u,D):h.isSpriteMaterial?a(l,h):h.isShadowMaterial?(l.color.value.copy(h.color),l.opacity.value=h.opacity):h.isShaderMaterial&&(h.uniformsNeedUpdate=!1)}function i(l,h){l.opacity.value=h.opacity,h.color&&l.diffuse.value.copy(h.color),h.emissive&&l.emissive.value.copy(h.emissive).multiplyScalar(h.emissiveIntensity),h.map&&(l.map.value=h.map),h.alphaMap&&(l.alphaMap.value=h.alphaMap),h.bumpMap&&(l.bumpMap.value=h.bumpMap,l.bumpScale.value=h.bumpScale,h.side===Lt&&(l.bumpScale.value*=-1)),h.displacementMap&&(l.displacementMap.value=h.displacementMap,l.displacementScale.value=h.displacementScale,l.displacementBias.value=h.displacementBias),h.emissiveMap&&(l.emissiveMap.value=h.emissiveMap),h.normalMap&&(l.normalMap.value=h.normalMap,l.normalScale.value.copy(h.normalScale),h.side===Lt&&l.normalScale.value.negate()),h.specularMap&&(l.specularMap.value=h.specularMap),h.alphaTest>0&&(l.alphaTest.value=h.alphaTest);let u=g.get(h).envMap;if(u&&(l.envMap.value=u,l.flipEnvMap.value=u.isCubeTexture&&u.isRenderTargetTexture===!1?-1:1,l.reflectivity.value=h.reflectivity,l.ior.value=h.ior,l.refractionRatio.value=h.refractionRatio),h.lightMap){l.lightMap.value=h.lightMap;let w=A.physicallyCorrectLights!==!0?Math.PI:1;l.lightMapIntensity.value=h.lightMapIntensity*w}h.aoMap&&(l.aoMap.value=h.aoMap,l.aoMapIntensity.value=h.aoMapIntensity);let D;h.map?D=h.map:h.specularMap?D=h.specularMap:h.displacementMap?D=h.displacementMap:h.normalMap?D=h.normalMap:h.bumpMap?D=h.bumpMap:h.roughnessMap?D=h.roughnessMap:h.metalnessMap?D=h.metalnessMap:h.alphaMap?D=h.alphaMap:h.emissiveMap?D=h.emissiveMap:h.clearcoatMap?D=h.clearcoatMap:h.clearcoatNormalMap?D=h.clearcoatNormalMap:h.clearcoatRoughnessMap?D=h.clearcoatRoughnessMap:h.iridescenceMap?D=h.iridescenceMap:h.iridescenceThicknessMap?D=h.iridescenceThicknessMap:h.specularIntensityMap?D=h.specularIntensityMap:h.specularColorMap?D=h.specularColorMap:h.transmissionMap?D=h.transmissionMap:h.thicknessMap?D=h.thicknessMap:h.sheenColorMap?D=h.sheenColorMap:h.sheenRoughnessMap&&(D=h.sheenRoughnessMap),D!==void 0&&(D.isWebGLRenderTarget&&(D=D.texture),D.matrixAutoUpdate===!0&&D.updateMatrix(),l.uvTransform.value.copy(D.matrix));let p;h.aoMap?p=h.aoMap:h.lightMap&&(p=h.lightMap),p!==void 0&&(p.isWebGLRenderTarget&&(p=p.texture),p.matrixAutoUpdate===!0&&p.updateMatrix(),l.uv2Transform.value.copy(p.matrix))}function t(l,h){l.diffuse.value.copy(h.color),l.opacity.value=h.opacity}function C(l,h){l.dashSize.value=h.dashSize,l.totalSize.value=h.dashSize+h.gapSize,l.scale.value=h.scale}function o(l,h,u,D){l.diffuse.value.copy(h.color),l.opacity.value=h.opacity,l.size.value=h.size*u,l.scale.value=D*.5,h.map&&(l.map.value=h.map),h.alphaMap&&(l.alphaMap.value=h.alphaMap),h.alphaTest>0&&(l.alphaTest.value=h.alphaTest);let p;h.map?p=h.map:h.alphaMap&&(p=h.alphaMap),p!==void 0&&(p.matrixAutoUpdate===!0&&p.updateMatrix(),l.uvTransform.value.copy(p.matrix))}function a(l,h){l.diffuse.value.copy(h.color),l.opacity.value=h.opacity,l.rotation.value=h.rotation,h.map&&(l.map.value=h.map),h.alphaMap&&(l.alphaMap.value=h.alphaMap),h.alphaTest>0&&(l.alphaTest.value=h.alphaTest);let u;h.map?u=h.map:h.alphaMap&&(u=h.alphaMap),u!==void 0&&(u.matrixAutoUpdate===!0&&u.updateMatrix(),l.uvTransform.value.copy(u.matrix))}function r(l,h){l.specular.value.copy(h.specular),l.shininess.value=Math.max(h.shininess,1e-4)}function s(l,h){h.gradientMap&&(l.gradientMap.value=h.gradientMap)}function B(l,h){l.roughness.value=h.roughness,l.metalness.value=h.metalness,h.roughnessMap&&(l.roughnessMap.value=h.roughnessMap),h.metalnessMap&&(l.metalnessMap.value=h.metalnessMap),g.get(h).envMap&&(l.envMapIntensity.value=h.envMapIntensity)}function Q(l,h,u){l.ior.value=h.ior,h.sheen>0&&(l.sheenColor.value.copy(h.sheenColor).multiplyScalar(h.sheen),l.sheenRoughness.value=h.sheenRoughness,h.sheenColorMap&&(l.sheenColorMap.value=h.sheenColorMap),h.sheenRoughnessMap&&(l.sheenRoughnessMap.value=h.sheenRoughnessMap)),h.clearcoat>0&&(l.clearcoat.value=h.clearcoat,l.clearcoatRoughness.value=h.clearcoatRoughness,h.clearcoatMap&&(l.clearcoatMap.value=h.clearcoatMap),h.clearcoatRoughnessMap&&(l.clearcoatRoughnessMap.value=h.clearcoatRoughnessMap),h.clearcoatNormalMap&&(l.clearcoatNormalScale.value.copy(h.clearcoatNormalScale),l.clearcoatNormalMap.value=h.clearcoatNormalMap,h.side===Lt&&l.clearcoatNormalScale.value.negate())),h.iridescence>0&&(l.iridescence.value=h.iridescence,l.iridescenceIOR.value=h.iridescenceIOR,l.iridescenceThicknessMinimum.value=h.iridescenceThicknessRange[0],l.iridescenceThicknessMaximum.value=h.iridescenceThicknessRange[1],h.iridescenceMap&&(l.iridescenceMap.value=h.iridescenceMap),h.iridescenceThicknessMap&&(l.iridescenceThicknessMap.value=h.iridescenceThicknessMap)),h.transmission>0&&(l.transmission.value=h.transmission,l.transmissionSamplerMap.value=u.texture,l.transmissionSamplerSize.value.set(u.width,u.height),h.transmissionMap&&(l.transmissionMap.value=h.transmissionMap),l.thickness.value=h.thickness,h.thicknessMap&&(l.thicknessMap.value=h.thicknessMap),l.attenuationDistance.value=h.attenuationDistance,l.attenuationColor.value.copy(h.attenuationColor)),l.specularIntensity.value=h.specularIntensity,l.specularColor.value.copy(h.specularColor),h.specularIntensityMap&&(l.specularIntensityMap.value=h.specularIntensityMap),h.specularColorMap&&(l.specularColorMap.value=h.specularColorMap)}function n(l,h){h.matcap&&(l.matcap.value=h.matcap)}function E(l,h){l.referencePosition.value.copy(h.referencePosition),l.nearDistance.value=h.nearDistance,l.farDistance.value=h.farDistance}return{refreshFogUniforms:e,refreshMaterialUniforms:I}}function YW(A,g,e,I){let i={},t={},C=[],o=e.isWebGL2?A.getParameter(35375):0;function a(D,p){let w=p.program;I.uniformBlockBinding(D,w)}function r(D,p){let w=i[D.id];w===void 0&&(E(D),w=s(D),i[D.id]=w,D.addEventListener("dispose",h));let k=p.program;I.updateUBOMapping(D,k);let U=g.render.frame;t[D.id]!==U&&(Q(D),t[D.id]=U)}function s(D){let p=B();D.__bindingPointIndex=p;let w=A.createBuffer(),k=D.__size,U=D.usage;return A.bindBuffer(35345,w),A.bufferData(35345,k,U),A.bindBuffer(35345,null),A.bindBufferBase(35345,p,w),w}function B(){for(let D=0;D<o;D++)if(C.indexOf(D)===-1)return C.push(D),D;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function Q(D){let p=i[D.id],w=D.uniforms,k=D.__cache;A.bindBuffer(35345,p);for(let U=0,N=w.length;U<N;U++){let G=w[U];if(n(G,U,k)===!0){let R=G.__offset,J=Array.isArray(G.value)?G.value:[G.value],q=0;for(let T=0;T<J.length;T++){let P=J[T],H=l(P);typeof P=="number"?(G.__data[0]=P,A.bufferSubData(35345,R+q,G.__data)):P.isMatrix3?(G.__data[0]=P.elements[0],G.__data[1]=P.elements[1],G.__data[2]=P.elements[2],G.__data[3]=P.elements[0],G.__data[4]=P.elements[3],G.__data[5]=P.elements[4],G.__data[6]=P.elements[5],G.__data[7]=P.elements[0],G.__data[8]=P.elements[6],G.__data[9]=P.elements[7],G.__data[10]=P.elements[8],G.__data[11]=P.elements[0]):(P.toArray(G.__data,q),q+=H.storage/Float32Array.BYTES_PER_ELEMENT)}A.bufferSubData(35345,R,G.__data)}}A.bindBuffer(35345,null)}function n(D,p,w){let k=D.value;if(w[p]===void 0){if(typeof k=="number")w[p]=k;else{let U=Array.isArray(k)?k:[k],N=[];for(let G=0;G<U.length;G++)N.push(U[G].clone());w[p]=N}return!0}else if(typeof k=="number"){if(w[p]!==k)return w[p]=k,!0}else{let U=Array.isArray(w[p])?w[p]:[w[p]],N=Array.isArray(k)?k:[k];for(let G=0;G<U.length;G++){let R=U[G];if(R.equals(N[G])===!1)return R.copy(N[G]),!0}}return!1}function E(D){let p=D.uniforms,w=0,k=16,U=0;for(let N=0,G=p.length;N<G;N++){let R=p[N],J={boundary:0,storage:0},q=Array.isArray(R.value)?R.value:[R.value];for(let T=0,P=q.length;T<P;T++){let H=q[T],eA=l(H);J.boundary+=eA.boundary,J.storage+=eA.storage}if(R.__data=new Float32Array(J.storage/Float32Array.BYTES_PER_ELEMENT),R.__offset=w,N>0){U=w%k;let T=k-U;U!==0&&T-J.boundary<0&&(w+=k-U,R.__offset=w)}w+=J.storage}return U=w%k,U>0&&(w+=k-U),D.__size=w,D.__cache={},this}function l(D){let p={boundary:0,storage:0};return typeof D=="number"?(p.boundary=4,p.storage=4):D.isVector2?(p.boundary=8,p.storage=8):D.isVector3||D.isColor?(p.boundary=16,p.storage=12):D.isVector4?(p.boundary=16,p.storage=16):D.isMatrix3?(p.boundary=48,p.storage=48):D.isMatrix4?(p.boundary=64,p.storage=64):D.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",D),p}function h(D){let p=D.target;p.removeEventListener("dispose",h);let w=C.indexOf(p.__bindingPointIndex);C.splice(w,1),A.deleteBuffer(i[p.id]),delete i[p.id],delete t[p.id]}function u(){for(let D in i)A.deleteBuffer(i[D]);C=[],i={},t={}}return{bind:a,update:r,dispose:u}}function HW(){let A=gc("canvas");return A.style.display="block",A}function bJ(A={}){this.isWebGLRenderer=!0;let g=A.canvas!==void 0?A.canvas:HW(),e=A.context!==void 0?A.context:null,I=A.depth!==void 0?A.depth:!0,i=A.stencil!==void 0?A.stencil:!0,t=A.antialias!==void 0?A.antialias:!1,C=A.premultipliedAlpha!==void 0?A.premultipliedAlpha:!0,o=A.preserveDrawingBuffer!==void 0?A.preserveDrawingBuffer:!1,a=A.powerPreference!==void 0?A.powerPreference:"default",r=A.failIfMajorPerformanceCaveat!==void 0?A.failIfMajorPerformanceCaveat:!1,s;e!==null?s=e.getContextAttributes().alpha:s=A.alpha!==void 0?A.alpha:!1;let B=null,Q=null,n=[],E=[];this.domElement=g,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=ca,this.physicallyCorrectLights=!1,this.toneMapping=Ir,this.toneMappingExposure=1;let l=this,h=!1,u=0,D=0,p=null,w=-1,k=null,U=new Ue,N=new Ue,G=null,R=g.width,J=g.height,q=1,T=null,P=null,H=new Ue(0,0,R,J),eA=new Ue(0,0,R,J),rA=!1,BA=new iG,aA=!1,yA=!1,SA=null,pA=new wg,wA=new mA,RA=new x,kA={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function UA(){return p===null?q:1}let GA=e;function zA(cA,jA){for(let Ig=0;Ig<cA.length;Ig++){let HA=cA[Ig],rg=g.getContext(HA,jA);if(rg!==null)return rg}return null}try{let cA={alpha:!0,depth:I,stencil:i,antialias:t,premultipliedAlpha:C,preserveDrawingBuffer:o,powerPreference:a,failIfMajorPerformanceCaveat:r};if("setAttribute"in g&&g.setAttribute("data-engine",`three.js r${OE}`),g.addEventListener("webglcontextlost",Pg,!1),g.addEventListener("webglcontextrestored",Ie,!1),g.addEventListener("webglcontextcreationerror",Ke,!1),GA===null){let jA=["webgl2","webgl","experimental-webgl"];if(l.isWebGL1Renderer===!0&&jA.shift(),GA=zA(jA,cA),GA===null)throw zA(jA)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}GA.getShaderPrecisionFormat===void 0&&(GA.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(cA){throw console.error("THREE.WebGLRenderer: "+cA.message),cA}let KA,LA,YA,sg,$A,VA,vg,Gg,Ng,Kg,mg,Sg,Ae,Mg,sA,CA,OA,dg,X,eg,Og,Eg,og,Cg;function Yg(){KA=new g5(GA),LA=new z8(GA,KA,A),KA.init(LA),Eg=new JW(GA,KA,LA),YA=new vW(GA,KA,LA),sg=new i5,$A=new pW,VA=new KW(GA,KA,YA,$A,LA,Eg,sg),vg=new Z8(l),Gg=new A5(l),Ng=new nP(GA,LA),og=new j8(GA,KA,Ng,LA),Kg=new e5(GA,Ng,sg,og),mg=new a5(GA,Kg,Ng,sg),X=new o5(GA,LA,VA),CA=new V8($A),Sg=new DW(l,vg,Gg,KA,LA,og,CA),Ae=new xW(l,$A),Mg=new wW,sA=new kW(KA,LA),dg=new P8(l,vg,Gg,YA,mg,s,C),OA=new RW(l,mg,LA),Cg=new YW(GA,sg,LA,YA),eg=new W8(GA,KA,sg,LA),Og=new I5(GA,KA,sg,LA),sg.programs=Sg.programs,l.capabilities=LA,l.extensions=KA,l.properties=$A,l.renderLists=Mg,l.shadowMap=OA,l.state=YA,l.info=sg}Yg();let kg=new LW(l,GA);this.xr=kg,this.getContext=function(){return GA},this.getContextAttributes=function(){return GA.getContextAttributes()},this.forceContextLoss=function(){let cA=KA.get("WEBGL_lose_context");cA&&cA.loseContext()},this.forceContextRestore=function(){let cA=KA.get("WEBGL_lose_context");cA&&cA.restoreContext()},this.getPixelRatio=function(){return q},this.setPixelRatio=function(cA){cA!==void 0&&(q=cA,this.setSize(R,J,!1))},this.getSize=function(cA){return cA.set(R,J)},this.setSize=function(cA,jA,Ig){if(kg.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}R=cA,J=jA,g.width=Math.floor(cA*q),g.height=Math.floor(jA*q),Ig!==!1&&(g.style.width=cA+"px",g.style.height=jA+"px"),this.setViewport(0,0,cA,jA)},this.getDrawingBufferSize=function(cA){return cA.set(R*q,J*q).floor()},this.setDrawingBufferSize=function(cA,jA,Ig){R=cA,J=jA,q=Ig,g.width=Math.floor(cA*Ig),g.height=Math.floor(jA*Ig),this.setViewport(0,0,cA,jA)},this.getCurrentViewport=function(cA){return cA.copy(U)},this.getViewport=function(cA){return cA.copy(H)},this.setViewport=function(cA,jA,Ig,HA){cA.isVector4?H.set(cA.x,cA.y,cA.z,cA.w):H.set(cA,jA,Ig,HA),YA.viewport(U.copy(H).multiplyScalar(q).floor())},this.getScissor=function(cA){return cA.copy(eA)},this.setScissor=function(cA,jA,Ig,HA){cA.isVector4?eA.set(cA.x,cA.y,cA.z,cA.w):eA.set(cA,jA,Ig,HA),YA.scissor(N.copy(eA).multiplyScalar(q).floor())},this.getScissorTest=function(){return rA},this.setScissorTest=function(cA){YA.setScissorTest(rA=cA)},this.setOpaqueSort=function(cA){T=cA},this.setTransparentSort=function(cA){P=cA},this.getClearColor=function(cA){return cA.copy(dg.getClearColor())},this.setClearColor=function(){dg.setClearColor.apply(dg,arguments)},this.getClearAlpha=function(){return dg.getClearAlpha()},this.setClearAlpha=function(){dg.setClearAlpha.apply(dg,arguments)},this.clear=function(cA=!0,jA=!0,Ig=!0){let HA=0;cA&&(HA|=16384),jA&&(HA|=256),Ig&&(HA|=1024),GA.clear(HA)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){g.removeEventListener("webglcontextlost",Pg,!1),g.removeEventListener("webglcontextrestored",Ie,!1),g.removeEventListener("webglcontextcreationerror",Ke,!1),Mg.dispose(),sA.dispose(),$A.dispose(),vg.dispose(),Gg.dispose(),mg.dispose(),og.dispose(),Cg.dispose(),Sg.dispose(),kg.dispose(),kg.removeEventListener("sessionstart",Dg),kg.removeEventListener("sessionend",ge),SA&&(SA.dispose(),SA=null),Fg.stop()};function Pg(cA){cA.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),h=!0}function Ie(){console.log("THREE.WebGLRenderer: Context Restored."),h=!1;let cA=sg.autoReset,jA=OA.enabled,Ig=OA.autoUpdate,HA=OA.needsUpdate,rg=OA.type;Yg(),sg.autoReset=cA,OA.enabled=jA,OA.autoUpdate=Ig,OA.needsUpdate=HA,OA.type=rg}function Ke(cA){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",cA.statusMessage)}function Je(cA){let jA=cA.target;jA.removeEventListener("dispose",Je),xe(jA)}function xe(cA){FA(cA),$A.remove(cA)}function FA(cA){let jA=$A.get(cA).programs;jA!==void 0&&(jA.forEach(function(Ig){Sg.releaseProgram(Ig)}),cA.isShaderMaterial&&Sg.releaseShaderCache(cA))}this.renderBufferDirect=function(cA,jA,Ig,HA,rg,bg){jA===null&&(jA=kA);let oe=rg.isMesh&&rg.matrixWorld.determinant()<0,ue=XC(cA,jA,Ig,HA,rg);YA.setMaterial(HA,oe);let Qe=Ig.index,Ze=1;HA.wireframe===!0&&(Qe=Kg.getWireframeAttribute(Ig),Ze=2);let qe=Ig.drawRange,Ge=Ig.attributes.position,aI=qe.start*Ze,Qi=(qe.start+qe.count)*Ze;bg!==null&&(aI=Math.max(aI,bg.start*Ze),Qi=Math.min(Qi,(bg.start+bg.count)*Ze)),Qe!==null?(aI=Math.max(aI,0),Qi=Math.min(Qi,Qe.count)):Ge!=null&&(aI=Math.max(aI,0),Qi=Math.min(Qi,Ge.count));let mI=Qi-aI;if(mI<0||mI===1/0)return;og.setup(rg,HA,ue,Ig,Qe);let Ai,sI=eg;if(Qe!==null&&(Ai=Ng.get(Qe),sI=Og,sI.setIndex(Ai)),rg.isMesh)HA.wireframe===!0?(YA.setLineWidth(HA.wireframeLinewidth*UA()),sI.setMode(1)):sI.setMode(4);else if(rg.isLine){let te=HA.linewidth;te===void 0&&(te=1),YA.setLineWidth(te*UA()),rg.isLineSegments?sI.setMode(1):rg.isLineLoop?sI.setMode(2):sI.setMode(3)}else rg.isPoints?sI.setMode(0):rg.isSprite&&sI.setMode(4);if(rg.isInstancedMesh)sI.renderInstances(aI,mI,rg.count);else if(Ig.isInstancedBufferGeometry){let te=Ig._maxInstanceCount!==void 0?Ig._maxInstanceCount:1/0,Ki=Math.min(Ig.instanceCount,te);sI.renderInstances(aI,mI,Ki)}else sI.render(aI,mI)},this.compile=function(cA,jA){function Ig(HA,rg,bg){HA.transparent===!0&&HA.side===jC&&HA.forceSinglePass===!1?(HA.side=Lt,HA.needsUpdate=!0,ti(HA,rg,bg),HA.side=la,HA.needsUpdate=!0,ti(HA,rg,bg),HA.side=jC):ti(HA,rg,bg)}Q=sA.get(cA),Q.init(),E.push(Q),cA.traverseVisible(function(HA){HA.isLight&&HA.layers.test(jA.layers)&&(Q.pushLight(HA),HA.castShadow&&Q.pushShadow(HA))}),Q.setupLights(l.physicallyCorrectLights),cA.traverse(function(HA){let rg=HA.material;if(rg)if(Array.isArray(rg))for(let bg=0;bg<rg.length;bg++){let oe=rg[bg];Ig(oe,cA,HA)}else Ig(rg,cA,HA)}),E.pop(),Q=null};let ZA=null;function pg(cA){ZA&&ZA(cA)}function Dg(){Fg.stop()}function ge(){Fg.start()}let Fg=new FJ;Fg.setAnimationLoop(pg),typeof self<"u"&&Fg.setContext(self),this.setAnimationLoop=function(cA){ZA=cA,kg.setAnimationLoop(cA),cA===null?Fg.stop():Fg.start()},kg.addEventListener("sessionstart",Dg),kg.addEventListener("sessionend",ge),this.render=function(cA,jA){if(jA!==void 0&&jA.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(h===!0)return;cA.matrixWorldAutoUpdate===!0&&cA.updateMatrixWorld(),jA.parent===null&&jA.matrixWorldAutoUpdate===!0&&jA.updateMatrixWorld(),kg.enabled===!0&&kg.isPresenting===!0&&(kg.cameraAutoUpdate===!0&&kg.updateCamera(jA),jA=kg.getCamera()),cA.isScene===!0&&cA.onBeforeRender(l,cA,jA,p),Q=sA.get(cA,E.length),Q.init(),E.push(Q),pA.multiplyMatrices(jA.projectionMatrix,jA.matrixWorldInverse),BA.setFromProjectionMatrix(pA),yA=this.localClippingEnabled,aA=CA.init(this.clippingPlanes,yA),B=Mg.get(cA,n.length),B.init(),n.push(B),gI(cA,jA,0,l.sortObjects),B.finish(),l.sortObjects===!0&&B.sort(T,P),aA===!0&&CA.beginShadows();let Ig=Q.state.shadowsArray;if(OA.render(Ig,cA,jA),aA===!0&&CA.endShadows(),this.info.autoReset===!0&&this.info.reset(),dg.render(B,cA),Q.setupLights(l.physicallyCorrectLights),jA.isArrayCamera){let HA=jA.cameras;for(let rg=0,bg=HA.length;rg<bg;rg++){let oe=HA[rg];Zg(B,cA,oe,oe.viewport)}}else Zg(B,cA,jA);p!==null&&(VA.updateMultisampleRenderTarget(p),VA.updateRenderTargetMipmap(p)),cA.isScene===!0&&cA.onAfterRender(l,cA,jA),og.resetDefaultState(),w=-1,k=null,E.pop(),E.length>0?Q=E[E.length-1]:Q=null,n.pop(),n.length>0?B=n[n.length-1]:B=null};function gI(cA,jA,Ig,HA){if(cA.visible===!1)return;if(cA.layers.test(jA.layers)){if(cA.isGroup)Ig=cA.renderOrder;else if(cA.isLOD)cA.autoUpdate===!0&&cA.update(jA);else if(cA.isLight)Q.pushLight(cA),cA.castShadow&&Q.pushShadow(cA);else if(cA.isSprite){if(!cA.frustumCulled||BA.intersectsSprite(cA)){HA&&RA.setFromMatrixPosition(cA.matrixWorld).applyMatrix4(pA);let bg=mg.update(cA),oe=cA.material;oe.visible&&B.push(cA,bg,oe,Ig,RA.z,null)}}else if((cA.isMesh||cA.isLine||cA.isPoints)&&(cA.isSkinnedMesh&&cA.skeleton.frame!==sg.render.frame&&(cA.skeleton.update(),cA.skeleton.frame=sg.render.frame),!cA.frustumCulled||BA.intersectsObject(cA))){HA&&RA.setFromMatrixPosition(cA.matrixWorld).applyMatrix4(pA);let bg=mg.update(cA),oe=cA.material;if(Array.isArray(oe)){let ue=bg.groups;for(let Qe=0,Ze=ue.length;Qe<Ze;Qe++){let qe=ue[Qe],Ge=oe[qe.materialIndex];Ge&&Ge.visible&&B.push(cA,bg,Ge,Ig,RA.z,qe)}}else oe.visible&&B.push(cA,bg,oe,Ig,RA.z,null)}}let rg=cA.children;for(let bg=0,oe=rg.length;bg<oe;bg++)gI(rg[bg],jA,Ig,HA)}function Zg(cA,jA,Ig,HA){let rg=cA.opaque,bg=cA.transmissive,oe=cA.transparent;Q.setupLightsView(Ig),aA===!0&&CA.setGlobalState(l.clippingPlanes,Ig),bg.length>0&&SI(rg,jA,Ig),HA&&YA.viewport(U.copy(HA)),rg.length>0&&We(rg,jA,Ig),bg.length>0&&We(bg,jA,Ig),oe.length>0&&We(oe,jA,Ig),YA.buffers.depth.setTest(!0),YA.buffers.depth.setMask(!0),YA.buffers.color.setMask(!0),YA.setPolygonOffset(!1)}function SI(cA,jA,Ig){let HA=LA.isWebGL2;SA===null&&(SA=new FI(1,1,{generateMipmaps:!0,type:KA.has("EXT_color_buffer_half_float")?ns:cC,minFilter:kE,samples:HA&&t===!0?4:0})),l.getDrawingBufferSize(wA),HA?SA.setSize(wA.x,wA.y):SA.setSize(SD(wA.x),SD(wA.y));let rg=l.getRenderTarget();l.setRenderTarget(SA),l.clear();let bg=l.toneMapping;l.toneMapping=Ir,We(cA,jA,Ig),l.toneMapping=bg,VA.updateMultisampleRenderTarget(SA),VA.updateRenderTargetMipmap(SA),l.setRenderTarget(rg)}function We(cA,jA,Ig){let HA=jA.isScene===!0?jA.overrideMaterial:null;for(let rg=0,bg=cA.length;rg<bg;rg++){let oe=cA[rg],ue=oe.object,Qe=oe.geometry,Ze=HA===null?oe.material:HA,qe=oe.group;ue.layers.test(Ig.layers)&&GI(ue,jA,Ig,Qe,Ze,qe)}}function GI(cA,jA,Ig,HA,rg,bg){cA.onBeforeRender(l,jA,Ig,HA,rg,bg),cA.modelViewMatrix.multiplyMatrices(Ig.matrixWorldInverse,cA.matrixWorld),cA.normalMatrix.getNormalMatrix(cA.modelViewMatrix),rg.onBeforeRender(l,jA,Ig,HA,cA,bg),rg.transparent===!0&&rg.side===jC&&rg.forceSinglePass===!1?(rg.side=Lt,rg.needsUpdate=!0,l.renderBufferDirect(Ig,jA,HA,rg,cA,bg),rg.side=la,rg.needsUpdate=!0,l.renderBufferDirect(Ig,jA,HA,rg,cA,bg),rg.side=jC):l.renderBufferDirect(Ig,jA,HA,rg,cA,bg),cA.onAfterRender(l,jA,Ig,HA,rg,bg)}function ti(cA,jA,Ig){jA.isScene!==!0&&(jA=kA);let HA=$A.get(cA),rg=Q.state.lights,bg=Q.state.shadowsArray,oe=rg.state.version,ue=Sg.getParameters(cA,rg.state,bg,jA,Ig),Qe=Sg.getProgramCacheKey(ue),Ze=HA.programs;HA.environment=cA.isMeshStandardMaterial?jA.environment:null,HA.fog=jA.fog,HA.envMap=(cA.isMeshStandardMaterial?Gg:vg).get(cA.envMap||HA.environment),Ze===void 0&&(cA.addEventListener("dispose",Je),Ze=new Map,HA.programs=Ze);let qe=Ze.get(Qe);if(qe!==void 0){if(HA.currentProgram===qe&&HA.lightsStateVersion===oe)return Ci(cA,ue),qe}else ue.uniforms=Sg.getUniforms(cA),cA.onBuild(Ig,ue,l),cA.onBeforeCompile(ue,l),qe=Sg.acquireProgram(ue,Qe),Ze.set(Qe,qe),HA.uniforms=ue.uniforms;let Ge=HA.uniforms;(!cA.isShaderMaterial&&!cA.isRawShaderMaterial||cA.clipping===!0)&&(Ge.clippingPlanes=CA.uniform),Ci(cA,ue),HA.needsLights=mt(cA),HA.lightsStateVersion=oe,HA.needsLights&&(Ge.ambientLightColor.value=rg.state.ambient,Ge.lightProbe.value=rg.state.probe,Ge.directionalLights.value=rg.state.directional,Ge.directionalLightShadows.value=rg.state.directionalShadow,Ge.spotLights.value=rg.state.spot,Ge.spotLightShadows.value=rg.state.spotShadow,Ge.rectAreaLights.value=rg.state.rectArea,Ge.ltc_1.value=rg.state.rectAreaLTC1,Ge.ltc_2.value=rg.state.rectAreaLTC2,Ge.pointLights.value=rg.state.point,Ge.pointLightShadows.value=rg.state.pointShadow,Ge.hemisphereLights.value=rg.state.hemi,Ge.directionalShadowMap.value=rg.state.directionalShadowMap,Ge.directionalShadowMatrix.value=rg.state.directionalShadowMatrix,Ge.spotShadowMap.value=rg.state.spotShadowMap,Ge.spotLightMatrix.value=rg.state.spotLightMatrix,Ge.spotLightMap.value=rg.state.spotLightMap,Ge.pointShadowMap.value=rg.state.pointShadowMap,Ge.pointShadowMatrix.value=rg.state.pointShadowMatrix);let aI=qe.getUniforms(),Qi=tD.seqWithValue(aI.seq,Ge);return HA.currentProgram=qe,HA.uniformsList=Qi,qe}function Ci(cA,jA){let Ig=$A.get(cA);Ig.outputEncoding=jA.outputEncoding,Ig.instancing=jA.instancing,Ig.skinning=jA.skinning,Ig.morphTargets=jA.morphTargets,Ig.morphNormals=jA.morphNormals,Ig.morphColors=jA.morphColors,Ig.morphTargetsCount=jA.morphTargetsCount,Ig.numClippingPlanes=jA.numClippingPlanes,Ig.numIntersection=jA.numClipIntersection,Ig.vertexAlphas=jA.vertexAlphas,Ig.vertexTangents=jA.vertexTangents,Ig.toneMapping=jA.toneMapping}function XC(cA,jA,Ig,HA,rg){jA.isScene!==!0&&(jA=kA),VA.resetTextureUnits();let bg=jA.fog,oe=HA.isMeshStandardMaterial?jA.environment:null,ue=p===null?l.outputEncoding:p.isXRRenderTarget===!0?p.texture.encoding:ca,Qe=(HA.isMeshStandardMaterial?Gg:vg).get(HA.envMap||oe),Ze=HA.vertexColors===!0&&!!Ig.attributes.color&&Ig.attributes.color.itemSize===4,qe=!!HA.normalMap&&!!Ig.attributes.tangent,Ge=!!Ig.morphAttributes.position,aI=!!Ig.morphAttributes.normal,Qi=!!Ig.morphAttributes.color,mI=HA.toneMapped?l.toneMapping:Ir,Ai=Ig.morphAttributes.position||Ig.morphAttributes.normal||Ig.morphAttributes.color,sI=Ai!==void 0?Ai.length:0,te=$A.get(HA),Ki=Q.state.lights;if(aA===!0&&(yA===!0||cA!==k)){let bI=cA===k&&HA.id===w;CA.setState(HA,cA,bI)}let zi=!1;HA.version===te.__version?(te.needsLights&&te.lightsStateVersion!==Ki.state.version||te.outputEncoding!==ue||rg.isInstancedMesh&&te.instancing===!1||!rg.isInstancedMesh&&te.instancing===!0||rg.isSkinnedMesh&&te.skinning===!1||!rg.isSkinnedMesh&&te.skinning===!0||te.envMap!==Qe||HA.fog===!0&&te.fog!==bg||te.numClippingPlanes!==void 0&&(te.numClippingPlanes!==CA.numPlanes||te.numIntersection!==CA.numIntersection)||te.vertexAlphas!==Ze||te.vertexTangents!==qe||te.morphTargets!==Ge||te.morphNormals!==aI||te.morphColors!==Qi||te.toneMapping!==mI||LA.isWebGL2===!0&&te.morphTargetsCount!==sI)&&(zi=!0):(zi=!0,te.__version=HA.version);let rt=te.currentProgram;zi===!0&&(rt=ti(HA,jA,rg));let Ne=!1,uI=!1,Tt=!1,vI=rt.getUniforms(),st=te.uniforms;if(YA.useProgram(rt.program)&&(Ne=!0,uI=!0,Tt=!0),HA.id!==w&&(w=HA.id,uI=!0),Ne||k!==cA){if(vI.setValue(GA,"projectionMatrix",cA.projectionMatrix),LA.logarithmicDepthBuffer&&vI.setValue(GA,"logDepthBufFC",2/(Math.log(cA.far+1)/Math.LN2)),k!==cA&&(k=cA,uI=!0,Tt=!0),HA.isShaderMaterial||HA.isMeshPhongMaterial||HA.isMeshToonMaterial||HA.isMeshStandardMaterial||HA.envMap){let bI=vI.map.cameraPosition;bI!==void 0&&bI.setValue(GA,RA.setFromMatrixPosition(cA.matrixWorld))}(HA.isMeshPhongMaterial||HA.isMeshToonMaterial||HA.isMeshLambertMaterial||HA.isMeshBasicMaterial||HA.isMeshStandardMaterial||HA.isShaderMaterial)&&vI.setValue(GA,"isOrthographic",cA.isOrthographicCamera===!0),(HA.isMeshPhongMaterial||HA.isMeshToonMaterial||HA.isMeshLambertMaterial||HA.isMeshBasicMaterial||HA.isMeshStandardMaterial||HA.isShaderMaterial||HA.isShadowMaterial||rg.isSkinnedMesh)&&vI.setValue(GA,"viewMatrix",cA.matrixWorldInverse)}if(rg.isSkinnedMesh){vI.setOptional(GA,rg,"bindMatrix"),vI.setOptional(GA,rg,"bindMatrixInverse");let bI=rg.skeleton;bI&&(LA.floatVertexTextures?(bI.boneTexture===null&&bI.computeBoneTexture(),vI.setValue(GA,"boneTexture",bI.boneTexture,VA),vI.setValue(GA,"boneTextureSize",bI.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}let Bt=Ig.morphAttributes;if((Bt.position!==void 0||Bt.normal!==void 0||Bt.color!==void 0&&LA.isWebGL2===!0)&&X.update(rg,Ig,HA,rt),(uI||te.receiveShadow!==rg.receiveShadow)&&(te.receiveShadow=rg.receiveShadow,vI.setValue(GA,"receiveShadow",rg.receiveShadow)),HA.isMeshGouraudMaterial&&HA.envMap!==null&&(st.envMap.value=Qe,st.flipEnvMap.value=Qe.isCubeTexture&&Qe.isRenderTargetTexture===!1?-1:1),uI&&(vI.setValue(GA,"toneMappingExposure",l.toneMappingExposure),te.needsLights&&at(st,Tt),bg&&HA.fog===!0&&Ae.refreshFogUniforms(st,bg),Ae.refreshMaterialUniforms(st,HA,q,J,SA),tD.upload(GA,te.uniformsList,st,VA)),HA.isShaderMaterial&&HA.uniformsNeedUpdate===!0&&(tD.upload(GA,te.uniformsList,st,VA),HA.uniformsNeedUpdate=!1),HA.isSpriteMaterial&&vI.setValue(GA,"center",rg.center),vI.setValue(GA,"modelViewMatrix",rg.modelViewMatrix),vI.setValue(GA,"normalMatrix",rg.normalMatrix),vI.setValue(GA,"modelMatrix",rg.matrixWorld),rg.previousModelViewMatrix&&vI.setValue(GA,"previousModelViewMatrix",rg.previousModelViewMatrix),cA.previousProjectionMatrix&&vI.setValue(GA,"previousProjectionMatrix",cA.previousProjectionMatrix),HA.isShaderMaterial||HA.isRawShaderMaterial){let bI=HA.uniformsGroups;for(let Fe=0,Qo=bI.length;Fe<Qo;Fe++)if(LA.isWebGL2){let Ot=bI[Fe];Cg.update(Ot,rt),Cg.bind(Ot,rt)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return rt}function at(cA,jA){cA.ambientLightColor.needsUpdate=jA,cA.lightProbe.needsUpdate=jA,cA.directionalLights.needsUpdate=jA,cA.directionalLightShadows.needsUpdate=jA,cA.pointLights.needsUpdate=jA,cA.pointLightShadows.needsUpdate=jA,cA.spotLights.needsUpdate=jA,cA.spotLightShadows.needsUpdate=jA,cA.rectAreaLights.needsUpdate=jA,cA.hemisphereLights.needsUpdate=jA}function mt(cA){return cA.isMeshLambertMaterial||cA.isMeshToonMaterial||cA.isMeshPhongMaterial||cA.isMeshStandardMaterial||cA.isShadowMaterial||cA.isShaderMaterial&&cA.lights===!0}this.getActiveCubeFace=function(){return u},this.getActiveMipmapLevel=function(){return D},this.getRenderTarget=function(){return p},this.setRenderTargetTextures=function(cA,jA,Ig){$A.get(cA.texture).__webglTexture=jA,$A.get(cA.depthTexture).__webglTexture=Ig;let HA=$A.get(cA);HA.__hasExternalTextures=!0,HA.__hasExternalTextures&&(HA.__autoAllocateDepthBuffer=Ig===void 0,HA.__autoAllocateDepthBuffer||KA.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),HA.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(cA,jA){let Ig=$A.get(cA);Ig.__webglFramebuffer=jA,Ig.__useDefaultFramebuffer=jA===void 0},this.setRenderTarget=function(cA,jA=0,Ig=0){p=cA,u=jA,D=Ig;let HA=!0,rg=null,bg=!1,oe=!1;if(cA){let ue=$A.get(cA);ue.__useDefaultFramebuffer!==void 0?(YA.bindFramebuffer(36160,null),HA=!1):ue.__webglFramebuffer===void 0?VA.setupRenderTarget(cA):ue.__hasExternalTextures&&VA.rebindTextures(cA,$A.get(cA.texture).__webglTexture,$A.get(cA.depthTexture).__webglTexture);let Qe=cA.texture;(Qe.isData3DTexture||Qe.isDataArrayTexture||Qe.isCompressedArrayTexture)&&(oe=!0);let Ze=$A.get(cA).__webglFramebuffer;cA.isWebGLCubeRenderTarget?(rg=Ze[jA],bg=!0):LA.isWebGL2&&cA.samples>0&&VA.useMultisampledRTT(cA)===!1?rg=$A.get(cA).__webglMultisampledFramebuffer:rg=Ze,U.copy(cA.viewport),N.copy(cA.scissor),G=cA.scissorTest}else U.copy(H).multiplyScalar(q).floor(),N.copy(eA).multiplyScalar(q).floor(),G=rA;if(YA.bindFramebuffer(36160,rg)&&LA.drawBuffers&&HA&&YA.drawBuffers(cA,rg),YA.viewport(U),YA.scissor(N),YA.setScissorTest(G),bg){let ue=$A.get(cA.texture);GA.framebufferTexture2D(36160,36064,34069+jA,ue.__webglTexture,Ig)}else if(oe){let ue=$A.get(cA.texture),Qe=jA||0;GA.framebufferTextureLayer(36160,36064,ue.__webglTexture,Ig||0,Qe)}w=-1},this.readRenderTargetPixels=function(cA,jA,Ig,HA,rg,bg,oe){if(!(cA&&cA.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let ue=$A.get(cA).__webglFramebuffer;if(cA.isWebGLCubeRenderTarget&&oe!==void 0&&(ue=ue[oe]),ue){YA.bindFramebuffer(36160,ue);try{let Qe=cA.texture,Ze=Qe.format,qe=Qe.type;if(Ze!==qt&&Eg.convert(Ze)!==GA.getParameter(35739)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}let Ge=qe===ns&&(KA.has("EXT_color_buffer_half_float")||LA.isWebGL2&&KA.has("EXT_color_buffer_float"));if(qe!==cC&&Eg.convert(qe)!==GA.getParameter(35738)&&!(qe===tt&&(LA.isWebGL2||KA.has("OES_texture_float")||KA.has("WEBGL_color_buffer_float")))&&!Ge){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}jA>=0&&jA<=cA.width-HA&&Ig>=0&&Ig<=cA.height-rg&&GA.readPixels(jA,Ig,HA,rg,Eg.convert(Ze),Eg.convert(qe),bg)}finally{let Qe=p!==null?$A.get(p).__webglFramebuffer:null;YA.bindFramebuffer(36160,Qe)}}},this.copyFramebufferToTexture=function(cA,jA,Ig=0){let HA=Math.pow(2,-Ig),rg=Math.floor(jA.image.width*HA),bg=Math.floor(jA.image.height*HA);VA.setTexture2D(jA,0),GA.copyTexSubImage2D(3553,Ig,0,0,cA.x,cA.y,rg,bg),YA.unbindTexture()},this.copyTextureToTexture=function(cA,jA,Ig,HA=0){let rg=jA.image.width,bg=jA.image.height,oe=Eg.convert(Ig.format),ue=Eg.convert(Ig.type);VA.setTexture2D(Ig,0),GA.pixelStorei(37440,Ig.flipY),GA.pixelStorei(37441,Ig.premultiplyAlpha),GA.pixelStorei(3317,Ig.unpackAlignment),jA.isDataTexture?GA.texSubImage2D(3553,HA,cA.x,cA.y,rg,bg,oe,ue,jA.image.data):jA.isCompressedTexture?GA.compressedTexSubImage2D(3553,HA,cA.x,cA.y,jA.mipmaps[0].width,jA.mipmaps[0].height,oe,jA.mipmaps[0].data):GA.texSubImage2D(3553,HA,cA.x,cA.y,oe,ue,jA.image),HA===0&&Ig.generateMipmaps&&GA.generateMipmap(3553),YA.unbindTexture()},this.copyTextureToTexture3D=function(cA,jA,Ig,HA,rg=0){if(l.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let bg=cA.max.x-cA.min.x+1,oe=cA.max.y-cA.min.y+1,ue=cA.max.z-cA.min.z+1,Qe=Eg.convert(HA.format),Ze=Eg.convert(HA.type),qe;if(HA.isData3DTexture)VA.setTexture3D(HA,0),qe=32879;else if(HA.isDataArrayTexture)VA.setTexture2DArray(HA,0),qe=35866;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}GA.pixelStorei(37440,HA.flipY),GA.pixelStorei(37441,HA.premultiplyAlpha),GA.pixelStorei(3317,HA.unpackAlignment);let Ge=GA.getParameter(3314),aI=GA.getParameter(32878),Qi=GA.getParameter(3316),mI=GA.getParameter(3315),Ai=GA.getParameter(32877),sI=Ig.isCompressedTexture?Ig.mipmaps[0]:Ig.image;GA.pixelStorei(3314,sI.width),GA.pixelStorei(32878,sI.height),GA.pixelStorei(3316,cA.min.x),GA.pixelStorei(3315,cA.min.y),GA.pixelStorei(32877,cA.min.z),Ig.isDataTexture||Ig.isData3DTexture?GA.texSubImage3D(qe,rg,jA.x,jA.y,jA.z,bg,oe,ue,Qe,Ze,sI.data):Ig.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),GA.compressedTexSubImage3D(qe,rg,jA.x,jA.y,jA.z,bg,oe,ue,Qe,sI.data)):GA.texSubImage3D(qe,rg,jA.x,jA.y,jA.z,bg,oe,ue,Qe,Ze,sI),GA.pixelStorei(3314,Ge),GA.pixelStorei(32878,aI),GA.pixelStorei(3316,Qi),GA.pixelStorei(3315,mI),GA.pixelStorei(32877,Ai),rg===0&&HA.generateMipmaps&&GA.generateMipmap(qe),YA.unbindTexture()},this.initTexture=function(cA){cA.isCubeTexture?VA.setTextureCube(cA,0):cA.isData3DTexture?VA.setTexture3D(cA,0):cA.isDataArrayTexture||cA.isCompressedArrayTexture?VA.setTexture2DArray(cA,0):VA.setTexture2D(cA,0),YA.unbindTexture()},this.resetState=function(){u=0,D=0,p=null,YA.reset(),og.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}var TW=class extends bJ{};TW.prototype.isWebGL1Renderer=!0;var LJ=class{constructor(A,g=1,e=1e3){this.isFog=!0,this.name="",this.color=new de(A),this.near=g,this.far=e}clone(){return new LJ(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}},rs=class extends YI{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(A,g){return super.copy(A,g),A.background!==null&&(this.background=A.background.clone()),A.environment!==null&&(this.environment=A.environment.clone()),A.fog!==null&&(this.fog=A.fog.clone()),this.backgroundBlurriness=A.backgroundBlurriness,this.backgroundIntensity=A.backgroundIntensity,A.overrideMaterial!==null&&(this.overrideMaterial=A.overrideMaterial.clone()),this.matrixAutoUpdate=A.matrixAutoUpdate,this}toJSON(A){let g=super.toJSON(A);return this.fog!==null&&(g.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(g.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(g.object.backgroundIntensity=this.backgroundIntensity),g}get autoUpdate(){return console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate}set autoUpdate(A){console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate=A}},OW=class{constructor(A,g){this.isInterleavedBuffer=!0,this.array=A,this.stride=g,this.count=A!==void 0?A.length/g:0,this.usage=gf,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Ko()}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}setUsage(A){return this.usage=A,this}copy(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this}copyAt(A,g,e){A*=this.stride,e*=g.stride;for(let I=0,i=this.stride;I<i;I++)this.array[A+I]=g.array[e+I];return this}set(A,g=0){return this.array.set(A,g),this}clone(A){A.arrayBuffers===void 0&&(A.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Ko()),A.arrayBuffers[this.array.buffer._uuid]===void 0&&(A.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let g=new this.array.constructor(A.arrayBuffers[this.array.buffer._uuid]),e=new this.constructor(g,this.stride);return e.setUsage(this.usage),e}onUpload(A){return this.onUploadCallback=A,this}toJSON(A){return A.arrayBuffers===void 0&&(A.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Ko()),A.arrayBuffers[this.array.buffer._uuid]===void 0&&(A.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},wC=new x,Cf=class{constructor(A,g,e,I=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=A,this.itemSize=g,this.offset=e,this.normalized=I}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(A){this.data.needsUpdate=A}applyMatrix4(A){for(let g=0,e=this.data.count;g<e;g++)wC.fromBufferAttribute(this,g),wC.applyMatrix4(A),this.setXYZ(g,wC.x,wC.y,wC.z);return this}applyNormalMatrix(A){for(let g=0,e=this.count;g<e;g++)wC.fromBufferAttribute(this,g),wC.applyNormalMatrix(A),this.setXYZ(g,wC.x,wC.y,wC.z);return this}transformDirection(A){for(let g=0,e=this.count;g<e;g++)wC.fromBufferAttribute(this,g),wC.transformDirection(A),this.setXYZ(g,wC.x,wC.y,wC.z);return this}setX(A,g){return this.normalized&&(g=ii(g,this.array)),this.data.array[A*this.data.stride+this.offset]=g,this}setY(A,g){return this.normalized&&(g=ii(g,this.array)),this.data.array[A*this.data.stride+this.offset+1]=g,this}setZ(A,g){return this.normalized&&(g=ii(g,this.array)),this.data.array[A*this.data.stride+this.offset+2]=g,this}setW(A,g){return this.normalized&&(g=ii(g,this.array)),this.data.array[A*this.data.stride+this.offset+3]=g,this}getX(A){let g=this.data.array[A*this.data.stride+this.offset];return this.normalized&&(g=Cs(g,this.array)),g}getY(A){let g=this.data.array[A*this.data.stride+this.offset+1];return this.normalized&&(g=Cs(g,this.array)),g}getZ(A){let g=this.data.array[A*this.data.stride+this.offset+2];return this.normalized&&(g=Cs(g,this.array)),g}getW(A){let g=this.data.array[A*this.data.stride+this.offset+3];return this.normalized&&(g=Cs(g,this.array)),g}setXY(A,g,e){return A=A*this.data.stride+this.offset,this.normalized&&(g=ii(g,this.array),e=ii(e,this.array)),this.data.array[A+0]=g,this.data.array[A+1]=e,this}setXYZ(A,g,e,I){return A=A*this.data.stride+this.offset,this.normalized&&(g=ii(g,this.array),e=ii(e,this.array),I=ii(I,this.array)),this.data.array[A+0]=g,this.data.array[A+1]=e,this.data.array[A+2]=I,this}setXYZW(A,g,e,I,i){return A=A*this.data.stride+this.offset,this.normalized&&(g=ii(g,this.array),e=ii(e,this.array),I=ii(I,this.array),i=ii(i,this.array)),this.data.array[A+0]=g,this.data.array[A+1]=e,this.data.array[A+2]=I,this.data.array[A+3]=i,this}clone(A){if(A===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");let g=[];for(let e=0;e<this.count;e++){let I=e*this.data.stride+this.offset;for(let i=0;i<this.itemSize;i++)g.push(this.data.array[I+i])}return new Se(new this.array.constructor(g),this.itemSize,this.normalized)}else return A.interleavedBuffers===void 0&&(A.interleavedBuffers={}),A.interleavedBuffers[this.data.uuid]===void 0&&(A.interleavedBuffers[this.data.uuid]=this.data.clone(A)),new Cf(A.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(A){if(A===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");let g=[];for(let e=0;e<this.count;e++){let I=e*this.data.stride+this.offset;for(let i=0;i<this.itemSize;i++)g.push(this.data.array[I+i])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:g,normalized:this.normalized}}else return A.interleavedBuffers===void 0&&(A.interleavedBuffers={}),A.interleavedBuffers[this.data.uuid]===void 0&&(A.interleavedBuffers[this.data.uuid]=this.data.toJSON(A)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},xJ=class extends YI{constructor(){super(),this.isBone=!0,this.type="Bone"}},vo=class extends yi{constructor(A=null,g=1,e=1,I,i,t,C,o,a=qI,r=qI,s,B){super(null,t,C,o,a,r,I,i,s,B),this.isDataTexture=!0,this.image={data:A,width:g,height:e},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},fN=new wg,_W=new wg,CG=class{constructor(A=[],g=[]){this.uuid=Ko(),this.bones=A.slice(0),this.boneInverses=g,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){let A=this.bones,g=this.boneInverses;if(this.boneMatrices=new Float32Array(A.length*16),g.length===0)this.calculateInverses();else if(A.length!==g.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let e=0,I=this.bones.length;e<I;e++)this.boneInverses.push(new wg)}}calculateInverses(){this.boneInverses.length=0;for(let A=0,g=this.bones.length;A<g;A++){let e=new wg;this.bones[A]&&e.copy(this.bones[A].matrixWorld).invert(),this.boneInverses.push(e)}}pose(){for(let A=0,g=this.bones.length;A<g;A++){let e=this.bones[A];e&&e.matrixWorld.copy(this.boneInverses[A]).invert()}for(let A=0,g=this.bones.length;A<g;A++){let e=this.bones[A];e&&(e.parent&&e.parent.isBone?(e.matrix.copy(e.parent.matrixWorld).invert(),e.matrix.multiply(e.matrixWorld)):e.matrix.copy(e.matrixWorld),e.matrix.decompose(e.position,e.quaternion,e.scale))}}update(){let A=this.bones,g=this.boneInverses,e=this.boneMatrices,I=this.boneTexture;for(let i=0,t=A.length;i<t;i++){let C=A[i]?A[i].matrixWorld:_W;fN.multiplyMatrices(C,g[i]),fN.toArray(e,i*16)}I!==null&&(I.needsUpdate=!0)}clone(){return new CG(this.bones,this.boneInverses)}computeBoneTexture(){let A=Math.sqrt(this.bones.length*4);A=fJ(A),A=Math.max(A,4);let g=new Float32Array(A*A*4);g.set(this.boneMatrices);let e=new vo(g,A,A,qt,tt);return e.needsUpdate=!0,this.boneMatrices=g,this.boneTexture=e,this.boneTextureSize=A,this}getBoneByName(A){for(let g=0,e=this.bones.length;g<e;g++){let I=this.bones[g];if(I.name===A)return I}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(A,g){this.uuid=A.uuid;for(let e=0,I=A.bones.length;e<I;e++){let i=A.bones[e],t=g[i];t===void 0&&(console.warn("THREE.Skeleton: No bone found with UUID:",i),t=new xJ),this.bones.push(t),this.boneInverses.push(new wg().fromArray(A.boneInverses[e]))}return this.init(),this}toJSON(){let A={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};A.uuid=this.uuid;let g=this.bones,e=this.boneInverses;for(let I=0,i=g.length;I<i;I++){let t=g[I];A.bones.push(t.uuid);let C=e[I];A.boneInverses.push(C.toArray())}return A}},ec=class extends Se{constructor(A,g,e,I=1){super(A,g,e),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=I}copy(A){return super.copy(A),this.meshPerAttribute=A.meshPerAttribute,this}toJSON(){let A=super.toJSON();return A.meshPerAttribute=this.meshPerAttribute,A.isInstancedBufferAttribute=!0,A}},SN=new wg,GN=new wg,Au=[],PW=new wg,al=new Oi,jW=class extends Oi{constructor(A,g,e){super(A,g),this.isInstancedMesh=!0,this.instanceMatrix=new ec(new Float32Array(e*16),16),this.instanceColor=null,this.count=e,this.frustumCulled=!1;for(let I=0;I<e;I++)this.setMatrixAt(I,PW)}copy(A,g){return super.copy(A,g),this.instanceMatrix.copy(A.instanceMatrix),A.instanceColor!==null&&(this.instanceColor=A.instanceColor.clone()),this.count=A.count,this}getColorAt(A,g){g.fromArray(this.instanceColor.array,A*3)}getMatrixAt(A,g){g.fromArray(this.instanceMatrix.array,A*16)}raycast(A,g){let e=this.matrixWorld,I=this.count;if(al.geometry=this.geometry,al.material=this.material,al.material!==void 0)for(let i=0;i<I;i++){this.getMatrixAt(i,SN),GN.multiplyMatrices(e,SN),al.matrixWorld=GN,al.raycast(A,Au);for(let t=0,C=Au.length;t<C;t++){let o=Au[t];o.instanceId=i,o.object=this,g.push(o)}Au.length=0}}setColorAt(A,g){this.instanceColor===null&&(this.instanceColor=new ec(new Float32Array(this.instanceMatrix.count*3),3)),g.toArray(this.instanceColor.array,A*3)}setMatrixAt(A,g){g.toArray(this.instanceMatrix.array,A*16)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}},SB=class extends fc{constructor(A){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new de(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.linewidth=A.linewidth,this.linecap=A.linecap,this.linejoin=A.linejoin,this.fog=A.fog,this}},mN=new x,MN=new x,kN=new wg,fw=new _E,gu=new VC,GD=class extends YI{constructor(A=new se,g=new SB){super(),this.isLine=!0,this.type="Line",this.geometry=A,this.material=g,this.updateMorphTargets()}copy(A,g){return super.copy(A,g),this.material=A.material,this.geometry=A.geometry,this}computeLineDistances(){let A=this.geometry;if(A.index===null){let g=A.attributes.position,e=[0];for(let I=1,i=g.count;I<i;I++)mN.fromBufferAttribute(g,I-1),MN.fromBufferAttribute(g,I),e[I]=e[I-1],e[I]+=mN.distanceTo(MN);A.setAttribute("lineDistance",new _g(e,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(A,g){let e=this.geometry,I=this.matrixWorld,i=A.params.Line.threshold,t=e.drawRange;if(e.boundingSphere===null&&e.computeBoundingSphere(),gu.copy(e.boundingSphere),gu.applyMatrix4(I),gu.radius+=i,A.ray.intersectsSphere(gu)===!1)return;kN.copy(I).invert(),fw.copy(A.ray).applyMatrix4(kN);let C=i/((this.scale.x+this.scale.y+this.scale.z)/3),o=C*C,a=new x,r=new x,s=new x,B=new x,Q=this.isLineSegments?2:1,n=e.index,E=e.attributes.position;if(n!==null){let l=Math.max(0,t.start),h=Math.min(n.count,t.start+t.count);for(let u=l,D=h-1;u<D;u+=Q){let p=n.getX(u),w=n.getX(u+1);if(a.fromBufferAttribute(E,p),r.fromBufferAttribute(E,w),fw.distanceSqToSegment(a,r,B,s)>o)continue;B.applyMatrix4(this.matrixWorld);let k=A.ray.origin.distanceTo(B);k<A.near||k>A.far||g.push({distance:k,point:s.clone().applyMatrix4(this.matrixWorld),index:u,face:null,faceIndex:null,object:this})}}else{let l=Math.max(0,t.start),h=Math.min(E.count,t.start+t.count);for(let u=l,D=h-1;u<D;u+=Q){if(a.fromBufferAttribute(E,u),r.fromBufferAttribute(E,u+1),fw.distanceSqToSegment(a,r,B,s)>o)continue;B.applyMatrix4(this.matrixWorld);let p=A.ray.origin.distanceTo(B);p<A.near||p>A.far||g.push({distance:p,point:s.clone().applyMatrix4(this.matrixWorld),index:u,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){let A=this.geometry.morphAttributes,g=Object.keys(A);if(g.length>0){let e=A[g[0]];if(e!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let I=0,i=e.length;I<i;I++){let t=e[I].name||String(I);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=I}}}}},UN=new x,NN=new x,Sc=class extends GD{constructor(A,g){super(A,g),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){let A=this.geometry;if(A.index===null){let g=A.attributes.position,e=[];for(let I=0,i=g.count;I<i;I+=2)UN.fromBufferAttribute(g,I),NN.fromBufferAttribute(g,I+1),e[I]=I===0?0:e[I-1],e[I+1]=e[I]+UN.distanceTo(NN);A.setAttribute("lineDistance",new _g(e,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}},WW=class extends yi{constructor(A,g,e,I,i,t,C,o,a){super(A,g,e,I,i,t,C,o,a),this.isVideoTexture=!0,this.minFilter=t!==void 0?t:Ve,this.magFilter=i!==void 0?i:Ve,this.generateMipmaps=!1;let r=this;function s(){r.needsUpdate=!0,A.requestVideoFrameCallback(s)}"requestVideoFrameCallback"in A&&A.requestVideoFrameCallback(s)}clone(){return new this.constructor(this.image).copy(this)}update(){let A=this.image;!("requestVideoFrameCallback"in A)&&A.readyState>=A.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}},zW=class extends yi{constructor(A,g,e,I,i,t,C,o,a){super(A,g,e,I,i,t,C,o,a),this.isCanvasTexture=!0,this.needsUpdate=!0}},Br=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(A,g){let e=this.getUtoTmapping(A);return this.getPoint(e,g)}getPoints(A=5){let g=[];for(let e=0;e<=A;e++)g.push(this.getPoint(e/A));return g}getSpacedPoints(A=5){let g=[];for(let e=0;e<=A;e++)g.push(this.getPointAt(e/A));return g}getLength(){let A=this.getLengths();return A[A.length-1]}getLengths(A=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===A+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let g=[],e,I=this.getPoint(0),i=0;g.push(0);for(let t=1;t<=A;t++)e=this.getPoint(t/A),i+=e.distanceTo(I),g.push(i),I=e;return this.cacheArcLengths=g,g}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(A,g){let e=this.getLengths(),I=0,i=e.length,t;g?t=g:t=A*e[i-1];let C=0,o=i-1,a;for(;C<=o;)if(I=Math.floor(C+(o-C)/2),a=e[I]-t,a<0)C=I+1;else if(a>0)o=I-1;else{o=I;break}if(I=o,e[I]===t)return I/(i-1);let r=e[I],s=e[I+1]-r,B=(t-r)/s;return(I+B)/(i-1)}getTangent(A,g){let e=A-1e-4,I=A+1e-4;e<0&&(e=0),I>1&&(I=1);let i=this.getPoint(e),t=this.getPoint(I),C=g||(i.isVector2?new mA:new x);return C.copy(t).sub(i).normalize(),C}getTangentAt(A,g){let e=this.getUtoTmapping(A);return this.getTangent(e,g)}computeFrenetFrames(A,g){let e=new x,I=[],i=[],t=[],C=new x,o=new wg;for(let Q=0;Q<=A;Q++){let n=Q/A;I[Q]=this.getTangentAt(n,new x)}i[0]=new x,t[0]=new x;let a=Number.MAX_VALUE,r=Math.abs(I[0].x),s=Math.abs(I[0].y),B=Math.abs(I[0].z);r<=a&&(a=r,e.set(1,0,0)),s<=a&&(a=s,e.set(0,1,0)),B<=a&&e.set(0,0,1),C.crossVectors(I[0],e).normalize(),i[0].crossVectors(I[0],C),t[0].crossVectors(I[0],i[0]);for(let Q=1;Q<=A;Q++){if(i[Q]=i[Q-1].clone(),t[Q]=t[Q-1].clone(),C.crossVectors(I[Q-1],I[Q]),C.length()>Number.EPSILON){C.normalize();let n=Math.acos(It(I[Q-1].dot(I[Q]),-1,1));i[Q].applyMatrix4(o.makeRotationAxis(C,n))}t[Q].crossVectors(I[Q],i[Q])}if(g===!0){let Q=Math.acos(It(i[0].dot(i[A]),-1,1));Q/=A,I[0].dot(C.crossVectors(i[0],i[A]))>0&&(Q=-Q);for(let n=1;n<=A;n++)i[n].applyMatrix4(o.makeRotationAxis(I[n],Q*n)),t[n].crossVectors(I[n],i[n])}return{tangents:I,normals:i,binormals:t}}clone(){return new this.constructor().copy(this)}copy(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}toJSON(){let A={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A}fromJSON(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}},Sp=class extends Br{constructor(A=0,g=0,e=1,I=1,i=0,t=Math.PI*2,C=!1,o=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=A,this.aY=g,this.xRadius=e,this.yRadius=I,this.aStartAngle=i,this.aEndAngle=t,this.aClockwise=C,this.aRotation=o}getPoint(A,g){let e=g||new mA,I=Math.PI*2,i=this.aEndAngle-this.aStartAngle,t=Math.abs(i)<Number.EPSILON;for(;i<0;)i+=I;for(;i>I;)i-=I;i<Number.EPSILON&&(t?i=0:i=I),this.aClockwise===!0&&!t&&(i===I?i=-I:i=i-I);let C=this.aStartAngle+A*i,o=this.aX+this.xRadius*Math.cos(C),a=this.aY+this.yRadius*Math.sin(C);if(this.aRotation!==0){let r=Math.cos(this.aRotation),s=Math.sin(this.aRotation),B=o-this.aX,Q=a-this.aY;o=B*r-Q*s+this.aX,a=B*s+Q*r+this.aY}return e.set(o,a)}copy(A){return super.copy(A),this.aX=A.aX,this.aY=A.aY,this.xRadius=A.xRadius,this.yRadius=A.yRadius,this.aStartAngle=A.aStartAngle,this.aEndAngle=A.aEndAngle,this.aClockwise=A.aClockwise,this.aRotation=A.aRotation,this}toJSON(){let A=super.toJSON();return A.aX=this.aX,A.aY=this.aY,A.xRadius=this.xRadius,A.yRadius=this.yRadius,A.aStartAngle=this.aStartAngle,A.aEndAngle=this.aEndAngle,A.aClockwise=this.aClockwise,A.aRotation=this.aRotation,A}fromJSON(A){return super.fromJSON(A),this.aX=A.aX,this.aY=A.aY,this.xRadius=A.xRadius,this.yRadius=A.yRadius,this.aStartAngle=A.aStartAngle,this.aEndAngle=A.aEndAngle,this.aClockwise=A.aClockwise,this.aRotation=A.aRotation,this}},VW=class extends Sp{constructor(A,g,e,I,i,t){super(A,g,e,e,I,i,t),this.isArcCurve=!0,this.type="ArcCurve"}};function oG(){let A=0,g=0,e=0,I=0;function i(t,C,o,a){A=t,g=o,e=-3*t+3*C-2*o-a,I=2*t-2*C+o+a}return{initCatmullRom:function(t,C,o,a,r){i(C,o,r*(o-t),r*(a-C))},initNonuniformCatmullRom:function(t,C,o,a,r,s,B){let Q=(C-t)/r-(o-t)/(r+s)+(o-C)/s,n=(o-C)/s-(a-C)/(s+B)+(a-o)/B;Q*=s,n*=s,i(C,o,Q,n)},calc:function(t){let C=t*t,o=C*t;return A+g*t+e*C+I*o}}}var eu=new x,Sw=new oG,Gw=new oG,mw=new oG,ZW=class extends Br{constructor(A=[],g=!1,e="centripetal",I=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=A,this.closed=g,this.curveType=e,this.tension=I}getPoint(A,g=new x){let e=g,I=this.points,i=I.length,t=(i-(this.closed?0:1))*A,C=Math.floor(t),o=t-C;this.closed?C+=C>0?0:(Math.floor(Math.abs(C)/i)+1)*i:o===0&&C===i-1&&(C=i-2,o=1);let a,r;this.closed||C>0?a=I[(C-1)%i]:(eu.subVectors(I[0],I[1]).add(I[0]),a=eu);let s=I[C%i],B=I[(C+1)%i];if(this.closed||C+2<i?r=I[(C+2)%i]:(eu.subVectors(I[i-1],I[i-2]).add(I[i-1]),r=eu),this.curveType==="centripetal"||this.curveType==="chordal"){let Q=this.curveType==="chordal"?.5:.25,n=Math.pow(a.distanceToSquared(s),Q),E=Math.pow(s.distanceToSquared(B),Q),l=Math.pow(B.distanceToSquared(r),Q);E<1e-4&&(E=1),n<1e-4&&(n=E),l<1e-4&&(l=E),Sw.initNonuniformCatmullRom(a.x,s.x,B.x,r.x,n,E,l),Gw.initNonuniformCatmullRom(a.y,s.y,B.y,r.y,n,E,l),mw.initNonuniformCatmullRom(a.z,s.z,B.z,r.z,n,E,l)}else this.curveType==="catmullrom"&&(Sw.initCatmullRom(a.x,s.x,B.x,r.x,this.tension),Gw.initCatmullRom(a.y,s.y,B.y,r.y,this.tension),mw.initCatmullRom(a.z,s.z,B.z,r.z,this.tension));return e.set(Sw.calc(o),Gw.calc(o),mw.calc(o)),e}copy(A){super.copy(A),this.points=[];for(let g=0,e=A.points.length;g<e;g++){let I=A.points[g];this.points.push(I.clone())}return this.closed=A.closed,this.curveType=A.curveType,this.tension=A.tension,this}toJSON(){let A=super.toJSON();A.points=[];for(let g=0,e=this.points.length;g<e;g++){let I=this.points[g];A.points.push(I.toArray())}return A.closed=this.closed,A.curveType=this.curveType,A.tension=this.tension,A}fromJSON(A){super.fromJSON(A),this.points=[];for(let g=0,e=A.points.length;g<e;g++){let I=A.points[g];this.points.push(new x().fromArray(I))}return this.closed=A.closed,this.curveType=A.curveType,this.tension=A.tension,this}};function FN(A,g,e,I,i){let t=(I-g)*.5,C=(i-e)*.5,o=A*A,a=A*o;return(2*e-2*I+t+C)*a+(-3*e+3*I-2*t-C)*o+t*A+e}function XW(A,g){let e=1-A;return e*e*g}function $W(A,g){return 2*(1-A)*A*g}function Az(A,g){return A*A*g}function Tl(A,g,e,I){return XW(A,g)+$W(A,e)+Az(A,I)}function gz(A,g){let e=1-A;return e*e*e*g}function ez(A,g){let e=1-A;return 3*e*e*A*g}function Iz(A,g){return 3*(1-A)*A*A*g}function iz(A,g){return A*A*A*g}function Ol(A,g,e,I,i){return gz(A,g)+ez(A,e)+Iz(A,I)+iz(A,i)}var Ba=class extends Br{constructor(A=new mA,g=new mA,e=new mA,I=new mA){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=A,this.v1=g,this.v2=e,this.v3=I}getPoint(A,g=new mA){let e=g,I=this.v0,i=this.v1,t=this.v2,C=this.v3;return e.set(Ol(A,I.x,i.x,t.x,C.x),Ol(A,I.y,i.y,t.y,C.y)),e}copy(A){return super.copy(A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this.v3.copy(A.v3),this}toJSON(){let A=super.toJSON();return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A.v3=this.v3.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this.v3.fromArray(A.v3),this}},CD=class extends Br{constructor(A=new x,g=new x,e=new x,I=new x){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=A,this.v1=g,this.v2=e,this.v3=I}getPoint(A,g=new x){let e=g,I=this.v0,i=this.v1,t=this.v2,C=this.v3;return e.set(Ol(A,I.x,i.x,t.x,C.x),Ol(A,I.y,i.y,t.y,C.y),Ol(A,I.z,i.z,t.z,C.z)),e}copy(A){return super.copy(A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this.v3.copy(A.v3),this}toJSON(){let A=super.toJSON();return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A.v3=this.v3.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this.v3.fromArray(A.v3),this}},ha=class extends Br{constructor(A=new mA,g=new mA){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=A,this.v2=g}getPoint(A,g=new mA){let e=g;return A===1?e.copy(this.v2):(e.copy(this.v2).sub(this.v1),e.multiplyScalar(A).add(this.v1)),e}getPointAt(A,g){return this.getPoint(A,g)}getTangent(A,g){let e=g||new mA;return e.copy(this.v2).sub(this.v1).normalize(),e}copy(A){return super.copy(A),this.v1.copy(A.v1),this.v2.copy(A.v2),this}toJSON(){let A=super.toJSON();return A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this}},YJ=class extends Br{constructor(A=new x,g=new x){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=A,this.v2=g}getPoint(A,g=new x){let e=g;return A===1?e.copy(this.v2):(e.copy(this.v2).sub(this.v1),e.multiplyScalar(A).add(this.v1)),e}getPointAt(A,g){return this.getPoint(A,g)}copy(A){return super.copy(A),this.v1.copy(A.v1),this.v2.copy(A.v2),this}toJSON(){let A=super.toJSON();return A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this}},pB=class extends Br{constructor(A=new mA,g=new mA,e=new mA){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=A,this.v1=g,this.v2=e}getPoint(A,g=new mA){let e=g,I=this.v0,i=this.v1,t=this.v2;return e.set(Tl(A,I.x,i.x,t.x),Tl(A,I.y,i.y,t.y)),e}copy(A){return super.copy(A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this}toJSON(){let A=super.toJSON();return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this}},tz=class extends Br{constructor(A=new x,g=new x,e=new x){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=A,this.v1=g,this.v2=e}getPoint(A,g=new x){let e=g,I=this.v0,i=this.v1,t=this.v2;return e.set(Tl(A,I.x,i.x,t.x),Tl(A,I.y,i.y,t.y),Tl(A,I.z,i.z,t.z)),e}copy(A){return super.copy(A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this}toJSON(){let A=super.toJSON();return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this}},aG=class extends Br{constructor(A=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=A}getPoint(A,g=new mA){let e=g,I=this.points,i=(I.length-1)*A,t=Math.floor(i),C=i-t,o=I[t===0?t:t-1],a=I[t],r=I[t>I.length-2?I.length-1:t+1],s=I[t>I.length-3?I.length-1:t+2];return e.set(FN(C,o.x,a.x,r.x,s.x),FN(C,o.y,a.y,r.y,s.y)),e}copy(A){super.copy(A),this.points=[];for(let g=0,e=A.points.length;g<e;g++){let I=A.points[g];this.points.push(I.clone())}return this}toJSON(){let A=super.toJSON();A.points=[];for(let g=0,e=this.points.length;g<e;g++){let I=this.points[g];A.points.push(I.toArray())}return A}fromJSON(A){super.fromJSON(A),this.points=[];for(let g=0,e=A.points.length;g<e;g++){let I=A.points[g];this.points.push(new mA().fromArray(I))}return this}},Cz=Object.freeze({__proto__:null,ArcCurve:VW,CatmullRomCurve3:ZW,CubicBezierCurve:Ba,CubicBezierCurve3:CD,EllipseCurve:Sp,LineCurve:ha,LineCurve3:YJ,QuadraticBezierCurve:pB,QuadraticBezierCurve3:tz,SplineCurve:aG}),HJ=class extends Br{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(A){this.curves.push(A)}closePath(){let A=this.curves[0].getPoint(0),g=this.curves[this.curves.length-1].getPoint(1);A.equals(g)||this.curves.push(new ha(g,A))}getPoint(A,g){let e=A*this.getLength(),I=this.getCurveLengths(),i=0;for(;i<I.length;){if(I[i]>=e){let t=I[i]-e,C=this.curves[i],o=C.getLength(),a=o===0?0:1-t/o;return C.getPointAt(a,g)}i++}return null}getLength(){let A=this.getCurveLengths();return A[A.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let A=[],g=0;for(let e=0,I=this.curves.length;e<I;e++)g+=this.curves[e].getLength(),A.push(g);return this.cacheLengths=A,A}getSpacedPoints(A=40){let g=[];for(let e=0;e<=A;e++)g.push(this.getPoint(e/A));return this.autoClose&&g.push(g[0]),g}getPoints(A=12){let g=[],e;for(let I=0,i=this.curves;I<i.length;I++){let t=i[I],C=t.isEllipseCurve?A*2:t.isLineCurve||t.isLineCurve3?1:t.isSplineCurve?A*t.points.length:A,o=t.getPoints(C);for(let a=0;a<o.length;a++){let r=o[a];e&&e.equals(r)||(g.push(r),e=r)}}return this.autoClose&&g.length>1&&!g[g.length-1].equals(g[0])&&g.push(g[0]),g}copy(A){super.copy(A),this.curves=[];for(let g=0,e=A.curves.length;g<e;g++){let I=A.curves[g];this.curves.push(I.clone())}return this.autoClose=A.autoClose,this}toJSON(){let A=super.toJSON();A.autoClose=this.autoClose,A.curves=[];for(let g=0,e=this.curves.length;g<e;g++){let I=this.curves[g];A.curves.push(I.toJSON())}return A}fromJSON(A){super.fromJSON(A),this.autoClose=A.autoClose,this.curves=[];for(let g=0,e=A.curves.length;g<e;g++){let I=A.curves[g];this.curves.push(new Cz[I.type]().fromJSON(I))}return this}},mD=class extends HJ{constructor(A){super(),this.type="Path",this.currentPoint=new mA,A&&this.setFromPoints(A)}setFromPoints(A){this.moveTo(A[0].x,A[0].y);for(let g=1,e=A.length;g<e;g++)this.lineTo(A[g].x,A[g].y);return this}moveTo(A,g){return this.currentPoint.set(A,g),this}lineTo(A,g){let e=new ha(this.currentPoint.clone(),new mA(A,g));return this.curves.push(e),this.currentPoint.set(A,g),this}quadraticCurveTo(A,g,e,I){let i=new pB(this.currentPoint.clone(),new mA(A,g),new mA(e,I));return this.curves.push(i),this.currentPoint.set(e,I),this}bezierCurveTo(A,g,e,I,i,t){let C=new Ba(this.currentPoint.clone(),new mA(A,g),new mA(e,I),new mA(i,t));return this.curves.push(C),this.currentPoint.set(i,t),this}splineThru(A){let g=[this.currentPoint.clone()].concat(A),e=new aG(g);return this.curves.push(e),this.currentPoint.copy(A[A.length-1]),this}arc(A,g,e,I,i,t){let C=this.currentPoint.x,o=this.currentPoint.y;return this.absarc(A+C,g+o,e,I,i,t),this}absarc(A,g,e,I,i,t){return this.absellipse(A,g,e,e,I,i,t),this}ellipse(A,g,e,I,i,t,C,o){let a=this.currentPoint.x,r=this.currentPoint.y;return this.absellipse(A+a,g+r,e,I,i,t,C,o),this}absellipse(A,g,e,I,i,t,C,o){let a=new Sp(A,g,e,I,i,t,C,o);if(this.curves.length>0){let s=a.getPoint(0);s.equals(this.currentPoint)||this.lineTo(s.x,s.y)}this.curves.push(a);let r=a.getPoint(1);return this.currentPoint.copy(r),this}copy(A){return super.copy(A),this.currentPoint.copy(A.currentPoint),this}toJSON(){let A=super.toJSON();return A.currentPoint=this.currentPoint.toArray(),A}fromJSON(A){return super.fromJSON(A),this.currentPoint.fromArray(A.currentPoint),this}},TJ=class extends se{constructor(A=[new mA(0,-.5),new mA(.5,0),new mA(0,.5)],g=12,e=0,I=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:A,segments:g,phiStart:e,phiLength:I},g=Math.floor(g),I=It(I,0,Math.PI*2);let i=[],t=[],C=[],o=[],a=[],r=1/g,s=new x,B=new mA,Q=new x,n=new x,E=new x,l=0,h=0;for(let u=0;u<=A.length-1;u++)switch(u){case 0:l=A[u+1].x-A[u].x,h=A[u+1].y-A[u].y,Q.x=h*1,Q.y=-l,Q.z=h*0,E.copy(Q),Q.normalize(),o.push(Q.x,Q.y,Q.z);break;case A.length-1:o.push(E.x,E.y,E.z);break;default:l=A[u+1].x-A[u].x,h=A[u+1].y-A[u].y,Q.x=h*1,Q.y=-l,Q.z=h*0,n.copy(Q),Q.x+=E.x,Q.y+=E.y,Q.z+=E.z,Q.normalize(),o.push(Q.x,Q.y,Q.z),E.copy(n)}for(let u=0;u<=g;u++){let D=e+u*r*I,p=Math.sin(D),w=Math.cos(D);for(let k=0;k<=A.length-1;k++){s.x=A[k].x*p,s.y=A[k].y,s.z=A[k].x*w,t.push(s.x,s.y,s.z),B.x=u/g,B.y=k/(A.length-1),C.push(B.x,B.y);let U=o[3*k+0]*p,N=o[3*k+1],G=o[3*k+0]*w;a.push(U,N,G)}}for(let u=0;u<g;u++)for(let D=0;D<A.length-1;D++){let p=D+u*A.length,w=p,k=p+A.length,U=p+A.length+1,N=p+1;i.push(w,k,N),i.push(U,N,k)}this.setIndex(i),this.setAttribute("position",new _g(t,3)),this.setAttribute("uv",new _g(C,2)),this.setAttribute("normal",new _g(a,3))}static fromJSON(A){return new TJ(A.points,A.segments,A.phiStart,A.phiLength)}},rG=class extends se{constructor(A=1,g=1,e=1,I=32,i=1,t=!1,C=0,o=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:A,radiusBottom:g,height:e,radialSegments:I,heightSegments:i,openEnded:t,thetaStart:C,thetaLength:o};let a=this;I=Math.floor(I),i=Math.floor(i);let r=[],s=[],B=[],Q=[],n=0,E=[],l=e/2,h=0;u(),t===!1&&(A>0&&D(!0),g>0&&D(!1)),this.setIndex(r),this.setAttribute("position",new _g(s,3)),this.setAttribute("normal",new _g(B,3)),this.setAttribute("uv",new _g(Q,2));function u(){let p=new x,w=new x,k=0,U=(g-A)/e;for(let N=0;N<=i;N++){let G=[],R=N/i,J=R*(g-A)+A;for(let q=0;q<=I;q++){let T=q/I,P=T*o+C,H=Math.sin(P),eA=Math.cos(P);w.x=J*H,w.y=-R*e+l,w.z=J*eA,s.push(w.x,w.y,w.z),p.set(H,U,eA).normalize(),B.push(p.x,p.y,p.z),Q.push(T,1-R),G.push(n++)}E.push(G)}for(let N=0;N<I;N++)for(let G=0;G<i;G++){let R=E[G][N],J=E[G+1][N],q=E[G+1][N+1],T=E[G][N+1];r.push(R,J,T),r.push(J,q,T),k+=6}a.addGroup(h,k,0),h+=k}function D(p){let w=n,k=new mA,U=new x,N=0,G=p===!0?A:g,R=p===!0?1:-1;for(let q=1;q<=I;q++)s.push(0,l*R,0),B.push(0,R,0),Q.push(.5,.5),n++;let J=n;for(let q=0;q<=I;q++){let T=q/I*o+C,P=Math.cos(T),H=Math.sin(T);U.x=G*H,U.y=l*R,U.z=G*P,s.push(U.x,U.y,U.z),B.push(0,R,0),k.x=P*.5+.5,k.y=H*.5*R+.5,Q.push(k.x,k.y),n++}for(let q=0;q<I;q++){let T=w+q,P=J+q;p===!0?r.push(P,P+1,T):r.push(P+1,P,T),N+=3}a.addGroup(h,N,p===!0?1:2),h+=N}}static fromJSON(A){return new rG(A.radiusTop,A.radiusBottom,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}},sG=class extends rG{constructor(A=1,g=1,e=32,I=1,i=!1,t=0,C=Math.PI*2){super(0,A,g,e,I,i,t,C),this.type="ConeGeometry",this.parameters={radius:A,height:g,radialSegments:e,heightSegments:I,openEnded:i,thetaStart:t,thetaLength:C}}static fromJSON(A){return new sG(A.radius,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}},BG=class extends se{constructor(A=[],g=[],e=1,I=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:A,indices:g,radius:e,detail:I};let i=[],t=[];C(I),a(e),r(),this.setAttribute("position",new _g(i,3)),this.setAttribute("normal",new _g(i.slice(),3)),this.setAttribute("uv",new _g(t,2)),I===0?this.computeVertexNormals():this.normalizeNormals();function C(u){let D=new x,p=new x,w=new x;for(let k=0;k<g.length;k+=3)Q(g[k+0],D),Q(g[k+1],p),Q(g[k+2],w),o(D,p,w,u)}function o(u,D,p,w){let k=w+1,U=[];for(let N=0;N<=k;N++){U[N]=[];let G=u.clone().lerp(p,N/k),R=D.clone().lerp(p,N/k),J=k-N;for(let q=0;q<=J;q++)q===0&&N===k?U[N][q]=G:U[N][q]=G.clone().lerp(R,q/J)}for(let N=0;N<k;N++)for(let G=0;G<2*(k-N)-1;G++){let R=Math.floor(G/2);G%2===0?(B(U[N][R+1]),B(U[N+1][R]),B(U[N][R])):(B(U[N][R+1]),B(U[N+1][R+1]),B(U[N+1][R]))}}function a(u){let D=new x;for(let p=0;p<i.length;p+=3)D.x=i[p+0],D.y=i[p+1],D.z=i[p+2],D.normalize().multiplyScalar(u),i[p+0]=D.x,i[p+1]=D.y,i[p+2]=D.z}function r(){let u=new x;for(let D=0;D<i.length;D+=3){u.x=i[D+0],u.y=i[D+1],u.z=i[D+2];let p=l(u)/2/Math.PI+.5,w=h(u)/Math.PI+.5;t.push(p,1-w)}n(),s()}function s(){for(let u=0;u<t.length;u+=6){let D=t[u+0],p=t[u+2],w=t[u+4],k=Math.max(D,p,w),U=Math.min(D,p,w);k>.9&&U<.1&&(D<.2&&(t[u+0]+=1),p<.2&&(t[u+2]+=1),w<.2&&(t[u+4]+=1))}}function B(u){i.push(u.x,u.y,u.z)}function Q(u,D){let p=u*3;D.x=A[p+0],D.y=A[p+1],D.z=A[p+2]}function n(){let u=new x,D=new x,p=new x,w=new x,k=new mA,U=new mA,N=new mA;for(let G=0,R=0;G<i.length;G+=9,R+=6){u.set(i[G+0],i[G+1],i[G+2]),D.set(i[G+3],i[G+4],i[G+5]),p.set(i[G+6],i[G+7],i[G+8]),k.set(t[R+0],t[R+1]),U.set(t[R+2],t[R+3]),N.set(t[R+4],t[R+5]),w.copy(u).add(D).add(p).divideScalar(3);let J=l(w);E(k,R+0,u,J),E(U,R+2,D,J),E(N,R+4,p,J)}}function E(u,D,p,w){w<0&&u.x===1&&(t[D]=u.x-1),p.x===0&&p.z===0&&(t[D]=w/2/Math.PI+.5)}function l(u){return Math.atan2(u.z,-u.x)}function h(u){return Math.atan2(-u.y,Math.sqrt(u.x*u.x+u.z*u.z))}}static fromJSON(A){return new BG(A.vertices,A.indices,A.radius,A.details)}},OJ=class extends BG{constructor(A=1,g=0){let e=(1+Math.sqrt(5))/2,I=1/e,i=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-I,-e,0,-I,e,0,I,-e,0,I,e,-I,-e,0,-I,e,0,I,-e,0,I,e,0,-e,0,-I,e,0,-I,-e,0,I,e,0,I],t=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(i,t,A,g),this.type="DodecahedronGeometry",this.parameters={radius:A,detail:g}}static fromJSON(A){return new OJ(A.radius,A.detail)}},MD=class extends mD{constructor(A){super(A),this.uuid=Ko(),this.type="Shape",this.holes=[]}getPointsHoles(A){let g=[];for(let e=0,I=this.holes.length;e<I;e++)g[e]=this.holes[e].getPoints(A);return g}extractPoints(A){return{shape:this.getPoints(A),holes:this.getPointsHoles(A)}}copy(A){super.copy(A),this.holes=[];for(let g=0,e=A.holes.length;g<e;g++){let I=A.holes[g];this.holes.push(I.clone())}return this}toJSON(){let A=super.toJSON();A.uuid=this.uuid,A.holes=[];for(let g=0,e=this.holes.length;g<e;g++){let I=this.holes[g];A.holes.push(I.toJSON())}return A}fromJSON(A){super.fromJSON(A),this.uuid=A.uuid,this.holes=[];for(let g=0,e=A.holes.length;g<e;g++){let I=A.holes[g];this.holes.push(new mD().fromJSON(I))}return this}},oz={triangulate:function(A,g,e=2){let I=g&&g.length,i=I?g[0]*e:A.length,t=_J(A,0,i,e,!0),C=[];if(!t||t.next===t.prev)return C;let o,a,r,s,B,Q,n;if(I&&(t=Qz(A,g,t,e)),A.length>80*e){o=r=A[0],a=s=A[1];for(let E=e;E<i;E+=e)B=A[E],Q=A[E+1],B<o&&(o=B),Q<a&&(a=Q),B>r&&(r=B),Q>s&&(s=Q);n=Math.max(r-o,s-a),n=n!==0?32767/n:0}return Ic(t,C,e,o,a,n,0),C}};function _J(A,g,e,I,i){let t,C;if(i===wz(A,g,e,I)>0)for(t=g;t<e;t+=I)C=RN(t,A[t],A[t+1],C);else for(t=e-I;t>=g;t-=I)C=RN(t,A[t],A[t+1],C);return C&&Gp(C,C.next)&&(tc(C),C=C.next),C}function GQ(A,g){if(!A)return A;g||(g=A);let e=A,I;do if(I=!1,!e.steiner&&(Gp(e,e.next)||pi(e.prev,e,e.next)===0)){if(tc(e),e=g=e.prev,e===e.next)break;I=!0}else e=e.next;while(I||e!==g);return g}function Ic(A,g,e,I,i,t,C){if(!A)return;!C&&t&&cz(A,I,i,t);let o=A,a,r;for(;A.prev!==A.next;){if(a=A.prev,r=A.next,t?rz(A,I,i,t):az(A)){g.push(a.i/e|0),g.push(A.i/e|0),g.push(r.i/e|0),tc(A),A=r.next,o=r.next;continue}if(A=r,A===o){C?C===1?(A=sz(GQ(A),g,e),Ic(A,g,e,I,i,t,2)):C===2&&Bz(A,g,e,I,i,t):Ic(GQ(A),g,e,I,i,t,1);break}}}function az(A){let g=A.prev,e=A,I=A.next;if(pi(g,e,I)>=0)return!1;let i=g.x,t=e.x,C=I.x,o=g.y,a=e.y,r=I.y,s=i<t?i<C?i:C:t<C?t:C,B=o<a?o<r?o:r:a<r?a:r,Q=i>t?i>C?i:C:t>C?t:C,n=o>a?o>r?o:r:a>r?a:r,E=I.next;for(;E!==g;){if(E.x>=s&&E.x<=Q&&E.y>=B&&E.y<=n&&sE(i,o,t,a,C,r,E.x,E.y)&&pi(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function rz(A,g,e,I){let i=A.prev,t=A,C=A.next;if(pi(i,t,C)>=0)return!1;let o=i.x,a=t.x,r=C.x,s=i.y,B=t.y,Q=C.y,n=o<a?o<r?o:r:a<r?a:r,E=s<B?s<Q?s:Q:B<Q?B:Q,l=o>a?o>r?o:r:a>r?a:r,h=s>B?s>Q?s:Q:B>Q?B:Q,u=of(n,E,g,e,I),D=of(l,h,g,e,I),p=A.prevZ,w=A.nextZ;for(;p&&p.z>=u&&w&&w.z<=D;){if(p.x>=n&&p.x<=l&&p.y>=E&&p.y<=h&&p!==i&&p!==C&&sE(o,s,a,B,r,Q,p.x,p.y)&&pi(p.prev,p,p.next)>=0||(p=p.prevZ,w.x>=n&&w.x<=l&&w.y>=E&&w.y<=h&&w!==i&&w!==C&&sE(o,s,a,B,r,Q,w.x,w.y)&&pi(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;p&&p.z>=u;){if(p.x>=n&&p.x<=l&&p.y>=E&&p.y<=h&&p!==i&&p!==C&&sE(o,s,a,B,r,Q,p.x,p.y)&&pi(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;w&&w.z<=D;){if(w.x>=n&&w.x<=l&&w.y>=E&&w.y<=h&&w!==i&&w!==C&&sE(o,s,a,B,r,Q,w.x,w.y)&&pi(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function sz(A,g,e){let I=A;do{let i=I.prev,t=I.next.next;!Gp(i,t)&&PJ(i,I,I.next,t)&&ic(i,t)&&ic(t,i)&&(g.push(i.i/e|0),g.push(I.i/e|0),g.push(t.i/e|0),tc(I),tc(I.next),I=A=t),I=I.next}while(I!==A);return GQ(I)}function Bz(A,g,e,I,i,t){let C=A;do{let o=C.next.next;for(;o!==C.prev;){if(C.i!==o.i&&Dz(C,o)){let a=jJ(C,o);C=GQ(C,C.next),a=GQ(a,a.next),Ic(C,g,e,I,i,t,0),Ic(a,g,e,I,i,t,0);return}o=o.next}C=C.next}while(C!==A)}function Qz(A,g,e,I){let i=[],t,C,o,a,r;for(t=0,C=g.length;t<C;t++)o=g[t]*I,a=t<C-1?g[t+1]*I:A.length,r=_J(A,o,a,I,!1),r===r.next&&(r.steiner=!0),i.push(uz(r));for(i.sort(nz),t=0;t<i.length;t++)e=Ez(i[t],e);return e}function nz(A,g){return A.x-g.x}function Ez(A,g){let e=hz(A,g);if(!e)return g;let I=jJ(e,A);return GQ(I,I.next),GQ(e,e.next)}function hz(A,g){let e=g,I=-1/0,i,t=A.x,C=A.y;do{if(C<=e.y&&C>=e.next.y&&e.next.y!==e.y){let Q=e.x+(C-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(Q<=t&&Q>I&&(I=Q,i=e.x<e.next.x?e:e.next,Q===t))return i}e=e.next}while(e!==g);if(!i)return null;let o=i,a=i.x,r=i.y,s=1/0,B;e=i;do t>=e.x&&e.x>=a&&t!==e.x&&sE(C<r?t:I,C,a,r,C<r?I:t,C,e.x,e.y)&&(B=Math.abs(C-e.y)/(t-e.x),ic(e,A)&&(B<s||B===s&&(e.x>i.x||e.x===i.x&&lz(i,e)))&&(i=e,s=B)),e=e.next;while(e!==o);return i}function lz(A,g){return pi(A.prev,A,g.prev)<0&&pi(g.next,A,A.next)<0}function cz(A,g,e,I){let i=A;do i.z===0&&(i.z=of(i.x,i.y,g,e,I)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==A);i.prevZ.nextZ=null,i.prevZ=null,dz(i)}function dz(A){let g,e,I,i,t,C,o,a,r=1;do{for(e=A,A=null,t=null,C=0;e;){for(C++,I=e,o=0,g=0;g<r&&(o++,I=I.nextZ,!!I);g++);for(a=r;o>0||a>0&&I;)o!==0&&(a===0||!I||e.z<=I.z)?(i=e,e=e.nextZ,o--):(i=I,I=I.nextZ,a--),t?t.nextZ=i:A=i,i.prevZ=t,t=i;e=I}t.nextZ=null,r*=2}while(C>1);return A}function of(A,g,e,I,i){return A=(A-e)*i|0,g=(g-I)*i|0,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,g=(g|g<<8)&16711935,g=(g|g<<4)&252645135,g=(g|g<<2)&858993459,g=(g|g<<1)&1431655765,A|g<<1}function uz(A){let g=A,e=A;do(g.x<e.x||g.x===e.x&&g.y<e.y)&&(e=g),g=g.next;while(g!==A);return e}function sE(A,g,e,I,i,t,C,o){return(i-C)*(g-o)>=(A-C)*(t-o)&&(A-C)*(I-o)>=(e-C)*(g-o)&&(e-C)*(t-o)>=(i-C)*(I-o)}function Dz(A,g){return A.next.i!==g.i&&A.prev.i!==g.i&&!pz(A,g)&&(ic(A,g)&&ic(g,A)&&yz(A,g)&&(pi(A.prev,A,g.prev)||pi(A,g.prev,g))||Gp(A,g)&&pi(A.prev,A,A.next)>0&&pi(g.prev,g,g.next)>0)}function pi(A,g,e){return(g.y-A.y)*(e.x-g.x)-(g.x-A.x)*(e.y-g.y)}function Gp(A,g){return A.x===g.x&&A.y===g.y}function PJ(A,g,e,I){let i=iu(pi(A,g,e)),t=iu(pi(A,g,I)),C=iu(pi(e,I,A)),o=iu(pi(e,I,g));return!!(i!==t&&C!==o||i===0&&Iu(A,e,g)||t===0&&Iu(A,I,g)||C===0&&Iu(e,A,I)||o===0&&Iu(e,g,I))}function Iu(A,g,e){return g.x<=Math.max(A.x,e.x)&&g.x>=Math.min(A.x,e.x)&&g.y<=Math.max(A.y,e.y)&&g.y>=Math.min(A.y,e.y)}function iu(A){return A>0?1:A<0?-1:0}function pz(A,g){let e=A;do{if(e.i!==A.i&&e.next.i!==A.i&&e.i!==g.i&&e.next.i!==g.i&&PJ(e,e.next,A,g))return!0;e=e.next}while(e!==A);return!1}function ic(A,g){return pi(A.prev,A,A.next)<0?pi(A,g,A.next)>=0&&pi(A,A.prev,g)>=0:pi(A,g,A.prev)<0||pi(A,A.next,g)<0}function yz(A,g){let e=A,I=!1,i=(A.x+g.x)/2,t=(A.y+g.y)/2;do e.y>t!=e.next.y>t&&e.next.y!==e.y&&i<(e.next.x-e.x)*(t-e.y)/(e.next.y-e.y)+e.x&&(I=!I),e=e.next;while(e!==A);return I}function jJ(A,g){let e=new af(A.i,A.x,A.y),I=new af(g.i,g.x,g.y),i=A.next,t=g.prev;return A.next=g,g.prev=A,e.next=i,i.prev=e,I.next=e,e.prev=I,t.next=I,I.prev=t,I}function RN(A,g,e,I){let i=new af(A,g,e);return I?(i.next=I.next,i.prev=I,I.next.prev=i,I.next=i):(i.prev=i,i.next=i),i}function tc(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function af(A,g,e){this.i=A,this.x=g,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function wz(A,g,e,I){let i=0;for(let t=g,C=e-I;t<e;t+=I)i+=(A[C]-A[t])*(A[t+1]+A[C+1]),C=t;return i}var WJ=class{static area(A){let g=A.length,e=0;for(let I=g-1,i=0;i<g;I=i++)e+=A[I].x*A[i].y-A[i].x*A[I].y;return e*.5}static isClockWise(A){return WJ.area(A)<0}static triangulateShape(A,g){let e=[],I=[],i=[];vN(A),KN(e,A);let t=A.length;g.forEach(vN);for(let o=0;o<g.length;o++)I.push(t),t+=g[o].length,KN(e,g[o]);let C=oz.triangulate(e,I);for(let o=0;o<C.length;o+=3)i.push(C.slice(o,o+3));return i}};function vN(A){let g=A.length;g>2&&A[g-1].equals(A[0])&&A.pop()}function KN(A,g){for(let e=0;e<g.length;e++)A.push(g[e].x),A.push(g[e].y)}var zJ=class extends BG{constructor(A=1,g=0){let e=(1+Math.sqrt(5))/2,I=[-1,e,0,1,e,0,-1,-e,0,1,-e,0,0,-1,e,0,1,e,0,-1,-e,0,1,-e,e,0,-1,e,0,1,-e,0,-1,-e,0,1],i=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];super(I,i,A,g),this.type="IcosahedronGeometry",this.parameters={radius:A,detail:g}}static fromJSON(A){return new zJ(A.radius,A.detail)}},hE=class extends se{constructor(A=1,g=32,e=16,I=0,i=Math.PI*2,t=0,C=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:A,widthSegments:g,heightSegments:e,phiStart:I,phiLength:i,thetaStart:t,thetaLength:C},g=Math.max(3,Math.floor(g)),e=Math.max(2,Math.floor(e));let o=Math.min(t+C,Math.PI),a=0,r=[],s=new x,B=new x,Q=[],n=[],E=[],l=[];for(let h=0;h<=e;h++){let u=[],D=h/e,p=0;h==0&&t==0?p=.5/g:h==e&&o==Math.PI&&(p=-.5/g);for(let w=0;w<=g;w++){let k=w/g;s.x=-A*Math.cos(I+k*i)*Math.sin(t+D*C),s.y=A*Math.cos(t+D*C),s.z=A*Math.sin(I+k*i)*Math.sin(t+D*C),n.push(s.x,s.y,s.z),B.copy(s).normalize(),E.push(B.x,B.y,B.z),l.push(k+p,1-D),u.push(a++)}r.push(u)}for(let h=0;h<e;h++)for(let u=0;u<g;u++){let D=r[h][u+1],p=r[h][u],w=r[h+1][u],k=r[h+1][u+1];(h!==0||t>0)&&Q.push(D,p,k),(h!==e-1||o<Math.PI)&&Q.push(p,w,k)}this.setIndex(Q),this.setAttribute("position",new _g(n,3)),this.setAttribute("normal",new _g(E,3)),this.setAttribute("uv",new _g(l,2))}static fromJSON(A){return new hE(A.radius,A.widthSegments,A.heightSegments,A.phiStart,A.phiLength,A.thetaStart,A.thetaLength)}},VJ=class extends se{constructor(A=1,g=.4,e=12,I=48,i=Math.PI*2){super(),this.type="TorusGeometry",this.parameters={radius:A,tube:g,radialSegments:e,tubularSegments:I,arc:i},e=Math.floor(e),I=Math.floor(I);let t=[],C=[],o=[],a=[],r=new x,s=new x,B=new x;for(let Q=0;Q<=e;Q++)for(let n=0;n<=I;n++){let E=n/I*i,l=Q/e*Math.PI*2;s.x=(A+g*Math.cos(l))*Math.cos(E),s.y=(A+g*Math.cos(l))*Math.sin(E),s.z=g*Math.sin(l),C.push(s.x,s.y,s.z),r.x=A*Math.cos(E),r.y=A*Math.sin(E),B.subVectors(s,r).normalize(),o.push(B.x,B.y,B.z),a.push(n/I),a.push(Q/e)}for(let Q=1;Q<=e;Q++)for(let n=1;n<=I;n++){let E=(I+1)*Q+n-1,l=(I+1)*(Q-1)+n-1,h=(I+1)*(Q-1)+n,u=(I+1)*Q+n;t.push(E,l,u),t.push(l,h,u)}this.setIndex(t),this.setAttribute("position",new _g(C,3)),this.setAttribute("normal",new _g(o,3)),this.setAttribute("uv",new _g(a,2))}static fromJSON(A){return new VJ(A.radius,A.tube,A.radialSegments,A.tubularSegments,A.arc)}},ZJ=class extends se{constructor(A=1,g=.4,e=64,I=8,i=2,t=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:A,tube:g,tubularSegments:e,radialSegments:I,p:i,q:t},e=Math.floor(e),I=Math.floor(I);let C=[],o=[],a=[],r=[],s=new x,B=new x,Q=new x,n=new x,E=new x,l=new x,h=new x;for(let D=0;D<=e;++D){let p=D/e*i*Math.PI*2;u(p,i,t,A,Q),u(p+.01,i,t,A,n),l.subVectors(n,Q),h.addVectors(n,Q),E.crossVectors(l,h),h.crossVectors(E,l),E.normalize(),h.normalize();for(let w=0;w<=I;++w){let k=w/I*Math.PI*2,U=-g*Math.cos(k),N=g*Math.sin(k);s.x=Q.x+(U*h.x+N*E.x),s.y=Q.y+(U*h.y+N*E.y),s.z=Q.z+(U*h.z+N*E.z),o.push(s.x,s.y,s.z),B.subVectors(s,Q).normalize(),a.push(B.x,B.y,B.z),r.push(D/e),r.push(w/I)}}for(let D=1;D<=e;D++)for(let p=1;p<=I;p++){let w=(I+1)*(D-1)+(p-1),k=(I+1)*D+(p-1),U=(I+1)*D+p,N=(I+1)*(D-1)+p;C.push(w,k,N),C.push(k,U,N)}this.setIndex(C),this.setAttribute("position",new _g(o,3)),this.setAttribute("normal",new _g(a,3)),this.setAttribute("uv",new _g(r,2));function u(D,p,w,k,U){let N=Math.cos(D),G=Math.sin(D),R=w/p*D,J=Math.cos(R);U.x=k*(2+J)*.5*N,U.y=k*(2+J)*G*.5,U.z=k*Math.sin(R)*.5}}static fromJSON(A){return new ZJ(A.radius,A.tube,A.tubularSegments,A.radialSegments,A.p,A.q)}};function _s(A,g,e){return XJ(A)?new A.constructor(A.subarray(g,e!==void 0?e:A.length)):A.slice(g,e)}function tu(A,g,e){return!A||!e&&A.constructor===g?A:typeof g.BYTES_PER_ELEMENT=="number"?new g(A):Array.prototype.slice.call(A)}function XJ(A){return ArrayBuffer.isView(A)&&!(A instanceof DataView)}function fz(A){function g(i,t){return A[i]-A[t]}let e=A.length,I=new Array(e);for(let i=0;i!==e;++i)I[i]=i;return I.sort(g),I}function JN(A,g,e){let I=A.length,i=new A.constructor(I);for(let t=0,C=0;C!==I;++t){let o=e[t]*g;for(let a=0;a!==g;++a)i[C++]=A[o+a]}return i}function $J(A,g,e,I){let i=1,t=A[0];for(;t!==void 0&&t[I]===void 0;)t=A[i++];if(t===void 0)return;let C=t[I];if(C!==void 0)if(Array.isArray(C))do C=t[I],C!==void 0&&(g.push(t.time),e.push.apply(e,C)),t=A[i++];while(t!==void 0);else if(C.toArray!==void 0)do C=t[I],C!==void 0&&(g.push(t.time),C.toArray(e,e.length)),t=A[i++];while(t!==void 0);else do C=t[I],C!==void 0&&(g.push(t.time),e.push(C)),t=A[i++];while(t!==void 0)}var mp=class{constructor(A,g,e,I){this.parameterPositions=A,this._cachedIndex=0,this.resultBuffer=I!==void 0?I:new g.constructor(e),this.sampleValues=g,this.valueSize=e,this.settings=null,this.DefaultSettings_={}}evaluate(A){let g=this.parameterPositions,e=this._cachedIndex,I=g[e],i=g[e-1];A:{g:{let t;e:{I:if(!(A<I)){for(let C=e+2;;){if(I===void 0){if(A<i)break I;return e=g.length,this._cachedIndex=e,this.copySampleValue_(e-1)}if(e===C)break;if(i=I,I=g[++e],A<I)break g}t=g.length;break e}if(!(A>=i)){let C=g[1];A<C&&(e=2,i=C);for(let o=e-2;;){if(i===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(e===o)break;if(I=i,i=g[--e-1],A>=i)break g}t=e,e=0;break e}break A}for(;e<t;){let C=e+t>>>1;A<g[C]?t=C:e=C+1}if(I=g[e],i=g[e-1],i===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(I===void 0)return e=g.length,this._cachedIndex=e,this.copySampleValue_(e-1)}this._cachedIndex=e,this.intervalChanged_(e,i,I)}return this.interpolate_(e,i,A,I)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(A){let g=this.resultBuffer,e=this.sampleValues,I=this.valueSize,i=A*I;for(let t=0;t!==I;++t)g[t]=e[i+t];return g}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},Sz=class extends mp{constructor(A,g,e,I){super(A,g,e,I),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:oE,endingEnd:oE}}intervalChanged_(A,g,e){let I=this.parameterPositions,i=A-2,t=A+1,C=I[i],o=I[t];if(C===void 0)switch(this.getSettings_().endingStart){case aE:i=A,C=2*g-e;break;case wD:i=I.length-2,C=g+I[i]-I[i+1];break;default:i=A,C=e}if(o===void 0)switch(this.getSettings_().endingEnd){case aE:t=A,o=2*e-g;break;case wD:t=1,o=e+I[1]-I[0];break;default:t=A-1,o=g}let a=(e-g)*.5,r=this.valueSize;this._weightPrev=a/(g-C),this._weightNext=a/(o-e),this._offsetPrev=i*r,this._offsetNext=t*r}interpolate_(A,g,e,I){let i=this.resultBuffer,t=this.sampleValues,C=this.valueSize,o=A*C,a=o-C,r=this._offsetPrev,s=this._offsetNext,B=this._weightPrev,Q=this._weightNext,n=(e-g)/(I-g),E=n*n,l=E*n,h=-B*l+2*B*E-B*n,u=(1+B)*l+(-1.5-2*B)*E+(-.5+B)*n+1,D=(-1-Q)*l+(1.5+Q)*E+.5*n,p=Q*l-Q*E;for(let w=0;w!==C;++w)i[w]=h*t[r+w]+u*t[a+w]+D*t[o+w]+p*t[s+w];return i}},Aq=class extends mp{constructor(A,g,e,I){super(A,g,e,I)}interpolate_(A,g,e,I){let i=this.resultBuffer,t=this.sampleValues,C=this.valueSize,o=A*C,a=o-C,r=(e-g)/(I-g),s=1-r;for(let B=0;B!==C;++B)i[B]=t[a+B]*s+t[o+B]*r;return i}},Gz=class extends mp{constructor(A,g,e,I){super(A,g,e,I)}interpolate_(A){return this.copySampleValue_(A-1)}},Qr=class{constructor(A,g,e,I){if(A===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(g===void 0||g.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+A);this.name=A,this.times=tu(g,this.TimeBufferType),this.values=tu(e,this.ValueBufferType),this.setInterpolation(I||this.DefaultInterpolation)}static toJSON(A){let g=A.constructor,e;if(g.toJSON!==this.toJSON)e=g.toJSON(A);else{e={name:A.name,times:tu(A.times,Array),values:tu(A.values,Array)};let I=A.getInterpolation();I!==A.DefaultInterpolation&&(e.interpolation=I)}return e.type=A.ValueTypeName,e}InterpolantFactoryMethodDiscrete(A){return new Gz(this.times,this.values,this.getValueSize(),A)}InterpolantFactoryMethodLinear(A){return new Aq(this.times,this.values,this.getValueSize(),A)}InterpolantFactoryMethodSmooth(A){return new Sz(this.times,this.values,this.getValueSize(),A)}setInterpolation(A){let g;switch(A){case pD:g=this.InterpolantFactoryMethodDiscrete;break;case yD:g=this.InterpolantFactoryMethodLinear;break;case Xy:g=this.InterpolantFactoryMethodSmooth;break}if(g===void 0){let e="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(A!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(e);return console.warn("THREE.KeyframeTrack:",e),this}return this.createInterpolant=g,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return pD;case this.InterpolantFactoryMethodLinear:return yD;case this.InterpolantFactoryMethodSmooth:return Xy}}getValueSize(){return this.values.length/this.times.length}shift(A){if(A!==0){let g=this.times;for(let e=0,I=g.length;e!==I;++e)g[e]+=A}return this}scale(A){if(A!==1){let g=this.times;for(let e=0,I=g.length;e!==I;++e)g[e]*=A}return this}trim(A,g){let e=this.times,I=e.length,i=0,t=I-1;for(;i!==I&&e[i]<A;)++i;for(;t!==-1&&e[t]>g;)--t;if(++t,i!==0||t!==I){i>=t&&(t=Math.max(t,1),i=t-1);let C=this.getValueSize();this.times=_s(e,i,t),this.values=_s(this.values,i*C,t*C)}return this}validate(){let A=!0,g=this.getValueSize();g-Math.floor(g)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);let e=this.times,I=this.values,i=e.length;i===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let t=null;for(let C=0;C!==i;C++){let o=e[C];if(typeof o=="number"&&isNaN(o)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,C,o),A=!1;break}if(t!==null&&t>o){console.error("THREE.KeyframeTrack: Out of order keys.",this,C,o,t),A=!1;break}t=o}if(I!==void 0&&XJ(I))for(let C=0,o=I.length;C!==o;++C){let a=I[C];if(isNaN(a)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,C,a),A=!1;break}}return A}optimize(){let A=_s(this.times),g=_s(this.values),e=this.getValueSize(),I=this.getInterpolation()===Xy,i=A.length-1,t=1;for(let C=1;C<i;++C){let o=!1,a=A[C],r=A[C+1];if(a!==r&&(C!==1||a!==A[0]))if(I)o=!0;else{let s=C*e,B=s-e,Q=s+e;for(let n=0;n!==e;++n){let E=g[s+n];if(E!==g[B+n]||E!==g[Q+n]){o=!0;break}}}if(o){if(C!==t){A[t]=A[C];let s=C*e,B=t*e;for(let Q=0;Q!==e;++Q)g[B+Q]=g[s+Q]}++t}}if(i>0){A[t]=A[i];for(let C=i*e,o=t*e,a=0;a!==e;++a)g[o+a]=g[C+a];++t}return t!==A.length?(this.times=_s(A,0,t),this.values=_s(g,0,t*e)):(this.times=A,this.values=g),this}clone(){let A=_s(this.times,0),g=_s(this.values,0),e=this.constructor,I=new e(this.name,A,g);return I.createInterpolant=this.createInterpolant,I}};Qr.prototype.TimeBufferType=Float32Array;Qr.prototype.ValueBufferType=Float32Array;Qr.prototype.DefaultInterpolation=yD;var WE=class extends Qr{};WE.prototype.ValueTypeName="bool";WE.prototype.ValueBufferType=Array;WE.prototype.DefaultInterpolation=pD;WE.prototype.InterpolantFactoryMethodLinear=void 0;WE.prototype.InterpolantFactoryMethodSmooth=void 0;var gq=class extends Qr{};gq.prototype.ValueTypeName="color";var kD=class extends Qr{};kD.prototype.ValueTypeName="number";var mz=class extends mp{constructor(A,g,e,I){super(A,g,e,I)}interpolate_(A,g,e,I){let i=this.resultBuffer,t=this.sampleValues,C=this.valueSize,o=(e-g)/(I-g),a=A*C;for(let r=a+C;a!==r;a+=4)ke.slerpFlat(i,0,t,a-C,t,a,o);return i}},Gc=class extends Qr{InterpolantFactoryMethodLinear(A){return new mz(this.times,this.values,this.getValueSize(),A)}};Gc.prototype.ValueTypeName="quaternion";Gc.prototype.DefaultInterpolation=yD;Gc.prototype.InterpolantFactoryMethodSmooth=void 0;var zE=class extends Qr{};zE.prototype.ValueTypeName="string";zE.prototype.ValueBufferType=Array;zE.prototype.DefaultInterpolation=pD;zE.prototype.InterpolantFactoryMethodLinear=void 0;zE.prototype.InterpolantFactoryMethodSmooth=void 0;var UD=class extends Qr{};UD.prototype.ValueTypeName="vector";var rf=class{constructor(A,g=-1,e,I=AG){this.name=A,this.tracks=e,this.duration=g,this.blendMode=I,this.uuid=Ko(),this.duration<0&&this.resetDuration()}static parse(A){let g=[],e=A.tracks,I=1/(A.fps||1);for(let t=0,C=e.length;t!==C;++t)g.push(kz(e[t]).scale(I));let i=new this(A.name,A.duration,g,A.blendMode);return i.uuid=A.uuid,i}static toJSON(A){let g=[],e=A.tracks,I={name:A.name,duration:A.duration,tracks:g,uuid:A.uuid,blendMode:A.blendMode};for(let i=0,t=e.length;i!==t;++i)g.push(Qr.toJSON(e[i]));return I}static CreateFromMorphTargetSequence(A,g,e,I){let i=g.length,t=[];for(let C=0;C<i;C++){let o=[],a=[];o.push((C+i-1)%i,C,(C+1)%i),a.push(0,1,0);let r=fz(o);o=JN(o,1,r),a=JN(a,1,r),!I&&o[0]===0&&(o.push(i),a.push(a[0])),t.push(new kD(".morphTargetInfluences["+g[C].name+"]",o,a).scale(1/e))}return new this(A,-1,t)}static findByName(A,g){let e=A;if(!Array.isArray(A)){let I=A;e=I.geometry&&I.geometry.animations||I.animations}for(let I=0;I<e.length;I++)if(e[I].name===g)return e[I];return null}static CreateClipsFromMorphTargetSequences(A,g,e){let I={},i=/^([\w-]*?)([\d]+)$/;for(let C=0,o=A.length;C<o;C++){let a=A[C],r=a.name.match(i);if(r&&r.length>1){let s=r[1],B=I[s];B||(I[s]=B=[]),B.push(a)}}let t=[];for(let C in I)t.push(this.CreateFromMorphTargetSequence(C,I[C],g,e));return t}static parseAnimation(A,g){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;let e=function(r,s,B,Q,n){if(B.length!==0){let E=[],l=[];$J(B,E,l,Q),E.length!==0&&n.push(new r(s,E,l))}},I=[],i=A.name||"default",t=A.fps||30,C=A.blendMode,o=A.length||-1,a=A.hierarchy||[];for(let r=0;r<a.length;r++){let s=a[r].keys;if(!(!s||s.length===0))if(s[0].morphTargets){let B={},Q;for(Q=0;Q<s.length;Q++)if(s[Q].morphTargets)for(let n=0;n<s[Q].morphTargets.length;n++)B[s[Q].morphTargets[n]]=-1;for(let n in B){let E=[],l=[];for(let h=0;h!==s[Q].morphTargets.length;++h){let u=s[Q];E.push(u.time),l.push(u.morphTarget===n?1:0)}I.push(new kD(".morphTargetInfluence["+n+"]",E,l))}o=B.length*t}else{let B=".bones["+g[r].name+"]";e(UD,B+".position",s,"pos",I),e(Gc,B+".quaternion",s,"rot",I),e(UD,B+".scale",s,"scl",I)}}return I.length===0?null:new this(i,o,I,C)}resetDuration(){let A=this.tracks,g=0;for(let e=0,I=A.length;e!==I;++e){let i=this.tracks[e];g=Math.max(g,i.times[i.times.length-1])}return this.duration=g,this}trim(){for(let A=0;A<this.tracks.length;A++)this.tracks[A].trim(0,this.duration);return this}validate(){let A=!0;for(let g=0;g<this.tracks.length;g++)A=A&&this.tracks[g].validate();return A}optimize(){for(let A=0;A<this.tracks.length;A++)this.tracks[A].optimize();return this}clone(){let A=[];for(let g=0;g<this.tracks.length;g++)A.push(this.tracks[g].clone());return new this.constructor(this.name,this.duration,A,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}};function Mz(A){switch(A.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return kD;case"vector":case"vector2":case"vector3":case"vector4":return UD;case"color":return gq;case"quaternion":return Gc;case"bool":case"boolean":return WE;case"string":return zE}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+A)}function kz(A){if(A.type===void 0)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");let g=Mz(A.type);if(A.times===void 0){let e=[],I=[];$J(A.keys,e,I,"value"),A.times=e,A.values=I}return g.parse!==void 0?g.parse(A):new g(A.name,A.times,A.values,A.interpolation)}var ND={enabled:!1,files:{},add:function(A,g){this.enabled!==!1&&(this.files[A]=g)},get:function(A){if(this.enabled!==!1)return this.files[A]},remove:function(A){delete this.files[A]},clear:function(){this.files={}}},eq=class{constructor(A,g,e){let I=this,i=!1,t=0,C=0,o,a=[];this.onStart=void 0,this.onLoad=A,this.onProgress=g,this.onError=e,this.itemStart=function(r){C++,i===!1&&I.onStart!==void 0&&I.onStart(r,t,C),i=!0},this.itemEnd=function(r){t++,I.onProgress!==void 0&&I.onProgress(r,t,C),t===C&&(i=!1,I.onLoad!==void 0&&I.onLoad())},this.itemError=function(r){I.onError!==void 0&&I.onError(r)},this.resolveURL=function(r){return o?o(r):r},this.setURLModifier=function(r){return o=r,this},this.addHandler=function(r,s){return a.push(r,s),this},this.removeHandler=function(r){let s=a.indexOf(r);return s!==-1&&a.splice(s,2),this},this.getHandler=function(r){for(let s=0,B=a.length;s<B;s+=2){let Q=a[s],n=a[s+1];if(Q.global&&(Q.lastIndex=0),Q.test(r))return n}return null}}},Uz=new eq,mc=class{constructor(A){this.manager=A!==void 0?A:Uz,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(A,g){let e=this;return new Promise(function(I,i){e.load(A,I,g,i)})}parse(){}setCrossOrigin(A){return this.crossOrigin=A,this}setWithCredentials(A){return this.withCredentials=A,this}setPath(A){return this.path=A,this}setResourcePath(A){return this.resourcePath=A,this}setRequestHeader(A){return this.requestHeader=A,this}},Yr={},Nz=class extends Error{constructor(A,g){super(A),this.response=g}},sf=class extends mc{constructor(A){super(A)}load(A,g,e,I){A===void 0&&(A=""),this.path!==void 0&&(A=this.path+A),A=this.manager.resolveURL(A);let i=ND.get(A);if(i!==void 0)return this.manager.itemStart(A),setTimeout(()=>{g&&g(i),this.manager.itemEnd(A)},0),i;if(Yr[A]!==void 0){Yr[A].push({onLoad:g,onProgress:e,onError:I});return}Yr[A]=[],Yr[A].push({onLoad:g,onProgress:e,onError:I});let t=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),C=this.mimeType,o=this.responseType;fetch(t).then(a=>{if(a.status===200||a.status===0){if(a.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||a.body===void 0||a.body.getReader===void 0)return a;let r=Yr[A],s=a.body.getReader(),B=a.headers.get("Content-Length")||a.headers.get("X-File-Size"),Q=B?parseInt(B):0,n=Q!==0,E=0,l=new ReadableStream({start(h){u();function u(){s.read().then(({done:D,value:p})=>{if(D)h.close();else{E+=p.byteLength;let w=new ProgressEvent("progress",{lengthComputable:n,loaded:E,total:Q});for(let k=0,U=r.length;k<U;k++){let N=r[k];N.onProgress&&N.onProgress(w)}h.enqueue(p),u()}})}}});return new Response(l)}else throw new Nz(`fetch for "${a.url}" responded with ${a.status}: ${a.statusText}`,a)}).then(a=>{switch(o){case"arraybuffer":return a.arrayBuffer();case"blob":return a.blob();case"document":return a.text().then(r=>new DOMParser().parseFromString(r,C));case"json":return a.json();default:if(C===void 0)return a.text();{let r=/charset="?([^;"\s]*)"?/i.exec(C),s=r&&r[1]?r[1].toLowerCase():void 0,B=new TextDecoder(s);return a.arrayBuffer().then(Q=>B.decode(Q))}}}).then(a=>{ND.add(A,a);let r=Yr[A];delete Yr[A];for(let s=0,B=r.length;s<B;s++){let Q=r[s];Q.onLoad&&Q.onLoad(a)}}).catch(a=>{let r=Yr[A];if(r===void 0)throw this.manager.itemError(A),a;delete Yr[A];for(let s=0,B=r.length;s<B;s++){let Q=r[s];Q.onError&&Q.onError(a)}this.manager.itemError(A)}).finally(()=>{this.manager.itemEnd(A)}),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}},Fz=class extends mc{constructor(A){super(A)}load(A,g,e,I){this.path!==void 0&&(A=this.path+A),A=this.manager.resolveURL(A);let i=this,t=ND.get(A);if(t!==void 0)return i.manager.itemStart(A),setTimeout(function(){g&&g(t),i.manager.itemEnd(A)},0),t;let C=gc("img");function o(){r(),ND.add(A,this),g&&g(this),i.manager.itemEnd(A)}function a(s){r(),I&&I(s),i.manager.itemError(A),i.manager.itemEnd(A)}function r(){C.removeEventListener("load",o,!1),C.removeEventListener("error",a,!1)}return C.addEventListener("load",o,!1),C.addEventListener("error",a,!1),A.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(C.crossOrigin=this.crossOrigin),i.manager.itemStart(A),C.src=A,C}},Rz=class extends mc{constructor(A){super(A)}load(A,g,e,I){let i=new yi,t=new Fz(this.manager);return t.setCrossOrigin(this.crossOrigin),t.setPath(this.path),t.load(A,function(C){i.image=C,i.needsUpdate=!0,g!==void 0&&g(i)},e,I),i}},Mc=class extends YI{constructor(A,g=1){super(),this.isLight=!0,this.type="Light",this.color=new de(A),this.intensity=g}dispose(){}copy(A,g){return super.copy(A,g),this.color.copy(A.color),this.intensity=A.intensity,this}toJSON(A){let g=super.toJSON(A);return g.object.color=this.color.getHex(),g.object.intensity=this.intensity,this.groundColor!==void 0&&(g.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(g.object.distance=this.distance),this.angle!==void 0&&(g.object.angle=this.angle),this.decay!==void 0&&(g.object.decay=this.decay),this.penumbra!==void 0&&(g.object.penumbra=this.penumbra),this.shadow!==void 0&&(g.object.shadow=this.shadow.toJSON()),g}},vz=class extends Mc{constructor(A,g,e){super(A,e),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(YI.DEFAULT_UP),this.updateMatrix(),this.groundColor=new de(g)}copy(A,g){return super.copy(A,g),this.groundColor.copy(A.groundColor),this}},Mw=new wg,qN=new x,bN=new x,QG=class{constructor(A){this.camera=A,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new mA(512,512),this.map=null,this.mapPass=null,this.matrix=new wg,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new iG,this._frameExtents=new mA(1,1),this._viewportCount=1,this._viewports=[new Ue(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(A){let g=this.camera,e=this.matrix;qN.setFromMatrixPosition(A.matrixWorld),g.position.copy(qN),bN.setFromMatrixPosition(A.target.matrixWorld),g.lookAt(bN),g.updateMatrixWorld(),Mw.multiplyMatrices(g.projectionMatrix,g.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Mw),e.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),e.multiply(Mw)}getViewport(A){return this._viewports[A]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(A){return this.camera=A.camera.clone(),this.bias=A.bias,this.radius=A.radius,this.mapSize.copy(A.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){let A={};return this.bias!==0&&(A.bias=this.bias),this.normalBias!==0&&(A.normalBias=this.normalBias),this.radius!==1&&(A.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(A.mapSize=this.mapSize.toArray()),A.camera=this.camera.toJSON(!1).object,delete A.camera.matrix,A}},Kz=class extends QG{constructor(){super(new BC(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(A){let g=this.camera,e=Ac*2*A.angle*this.focus,I=this.mapSize.width/this.mapSize.height,i=A.distance||g.far;(e!==g.fov||I!==g.aspect||i!==g.far)&&(g.fov=e,g.aspect=I,g.far=i,g.updateProjectionMatrix()),super.updateMatrices(A)}copy(A){return super.copy(A),this.focus=A.focus,this}},Jz=class extends Mc{constructor(A,g,e=0,I=Math.PI/3,i=0,t=2){super(A,g),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(YI.DEFAULT_UP),this.updateMatrix(),this.target=new YI,this.distance=e,this.angle=I,this.penumbra=i,this.decay=t,this.map=null,this.shadow=new Kz}get power(){return this.intensity*Math.PI}set power(A){this.intensity=A/Math.PI}dispose(){this.shadow.dispose()}copy(A,g){return super.copy(A,g),this.distance=A.distance,this.angle=A.angle,this.penumbra=A.penumbra,this.decay=A.decay,this.target=A.target.clone(),this.shadow=A.shadow.clone(),this}},LN=new wg,rl=new x,kw=new x,qz=class extends QG{constructor(){super(new BC(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new mA(4,2),this._viewportCount=6,this._viewports=[new Ue(2,1,1,1),new Ue(0,1,1,1),new Ue(3,1,1,1),new Ue(1,1,1,1),new Ue(3,0,1,1),new Ue(1,0,1,1)],this._cubeDirections=[new x(1,0,0),new x(-1,0,0),new x(0,0,1),new x(0,0,-1),new x(0,1,0),new x(0,-1,0)],this._cubeUps=[new x(0,1,0),new x(0,1,0),new x(0,1,0),new x(0,1,0),new x(0,0,1),new x(0,0,-1)]}updateMatrices(A,g=0){let e=this.camera,I=this.matrix,i=A.distance||e.far;i!==e.far&&(e.far=i,e.updateProjectionMatrix()),rl.setFromMatrixPosition(A.matrixWorld),e.position.copy(rl),kw.copy(e.position),kw.add(this._cubeDirections[g]),e.up.copy(this._cubeUps[g]),e.lookAt(kw),e.updateMatrixWorld(),I.makeTranslation(-rl.x,-rl.y,-rl.z),LN.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(LN)}},bz=class extends Mc{constructor(A,g,e=0,I=2){super(A,g),this.isPointLight=!0,this.type="PointLight",this.distance=e,this.decay=I,this.shadow=new qz}get power(){return this.intensity*4*Math.PI}set power(A){this.intensity=A/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(A,g){return super.copy(A,g),this.distance=A.distance,this.decay=A.decay,this.shadow=A.shadow.clone(),this}},Lz=class extends QG{constructor(){super(new wp(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},xz=class extends Mc{constructor(A,g){super(A,g),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(YI.DEFAULT_UP),this.updateMatrix(),this.target=new YI,this.shadow=new Lz}dispose(){this.shadow.dispose()}copy(A){return super.copy(A),this.target=A.target.clone(),this.shadow=A.shadow.clone(),this}},Iq=class extends se{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(A){return super.copy(A),this.instanceCount=A.instanceCount,this}toJSON(){let A=super.toJSON();return A.instanceCount=this.instanceCount,A.isInstancedBufferGeometry=!0,A}},iq=class extends mc{constructor(A){super(A)}load(A,g,e,I){let i=this,t=new sf(i.manager);t.setPath(i.path),t.setRequestHeader(i.requestHeader),t.setWithCredentials(i.withCredentials),t.load(A,function(C){try{g(i.parse(JSON.parse(C)))}catch(o){I?I(o):console.error(o),i.manager.itemError(A)}},e,I)}parse(A){let g={},e={};function I(B,Q){if(g[Q]!==void 0)return g[Q];let n=B.interleavedBuffers[Q],E=i(B,n.buffer),l=Kd(n.type,E),h=new OW(l,n.stride);return h.uuid=n.uuid,g[Q]=h,h}function i(B,Q){if(e[Q]!==void 0)return e[Q];let n=B.arrayBuffers[Q],E=new Uint32Array(n).buffer;return e[Q]=E,E}let t=A.isInstancedBufferGeometry?new Iq:new se,C=A.data.index;if(C!==void 0){let B=Kd(C.type,C.array);t.setIndex(new Se(B,1))}let o=A.data.attributes;for(let B in o){let Q=o[B],n;if(Q.isInterleavedBufferAttribute){let E=I(A.data,Q.data);n=new Cf(E,Q.itemSize,Q.offset,Q.normalized)}else{let E=Kd(Q.type,Q.array),l=Q.isInstancedBufferAttribute?ec:Se;n=new l(E,Q.itemSize,Q.normalized)}Q.name!==void 0&&(n.name=Q.name),Q.usage!==void 0&&n.setUsage(Q.usage),Q.updateRange!==void 0&&(n.updateRange.offset=Q.updateRange.offset,n.updateRange.count=Q.updateRange.count),t.setAttribute(B,n)}let a=A.data.morphAttributes;if(a)for(let B in a){let Q=a[B],n=[];for(let E=0,l=Q.length;E<l;E++){let h=Q[E],u;if(h.isInterleavedBufferAttribute){let D=I(A.data,h.data);u=new Cf(D,h.itemSize,h.offset,h.normalized)}else{let D=Kd(h.type,h.array);u=new Se(D,h.itemSize,h.normalized)}h.name!==void 0&&(u.name=h.name),n.push(u)}t.morphAttributes[B]=n}A.data.morphTargetsRelative&&(t.morphTargetsRelative=!0);let r=A.data.groups||A.data.drawcalls||A.data.offsets;if(r!==void 0)for(let B=0,Q=r.length;B!==Q;++B){let n=r[B];t.addGroup(n.start,n.count,n.materialIndex)}let s=A.data.boundingSphere;if(s!==void 0){let B=new x;s.center!==void 0&&B.fromArray(s.center),t.boundingSphere=new VC(B,s.radius)}return A.name&&(t.name=A.name),A.userData&&(t.userData=A.userData),t}},Yz=class{constructor(A=!0){this.autoStart=A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=xN(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let A=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){let g=xN();A=(g-this.oldTime)/1e3,this.oldTime=g,this.elapsedTime+=A}return A}};function xN(){return(typeof performance>"u"?Date:performance).now()}var Hz=class{constructor(A,g,e){this.binding=A,this.valueSize=e;let I,i,t;switch(g){case"quaternion":I=this._slerp,i=this._slerpAdditive,t=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(e*6),this._workIndex=5;break;case"string":case"bool":I=this._select,i=this._select,t=this._setAdditiveIdentityOther,this.buffer=new Array(e*5);break;default:I=this._lerp,i=this._lerpAdditive,t=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(e*5)}this._mixBufferRegion=I,this._mixBufferRegionAdditive=i,this._setIdentity=t,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(A,g){let e=this.buffer,I=this.valueSize,i=A*I+I,t=this.cumulativeWeight;if(t===0){for(let C=0;C!==I;++C)e[i+C]=e[C];t=g}else{t+=g;let C=g/t;this._mixBufferRegion(e,i,0,C,I)}this.cumulativeWeight=t}accumulateAdditive(A){let g=this.buffer,e=this.valueSize,I=e*this._addIndex;this.cumulativeWeightAdditive===0&&this._setIdentity(),this._mixBufferRegionAdditive(g,I,0,A,e),this.cumulativeWeightAdditive+=A}apply(A){let g=this.valueSize,e=this.buffer,I=A*g+g,i=this.cumulativeWeight,t=this.cumulativeWeightAdditive,C=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,i<1){let o=g*this._origIndex;this._mixBufferRegion(e,I,o,1-i,g)}t>0&&this._mixBufferRegionAdditive(e,I,this._addIndex*g,1,g);for(let o=g,a=g+g;o!==a;++o)if(e[o]!==e[o+g]){C.setValue(e,I);break}}saveOriginalState(){let A=this.binding,g=this.buffer,e=this.valueSize,I=e*this._origIndex;A.getValue(g,I);for(let i=e,t=I;i!==t;++i)g[i]=g[I+i%e];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let A=this.valueSize*3;this.binding.setValue(this.buffer,A)}_setAdditiveIdentityNumeric(){let A=this._addIndex*this.valueSize,g=A+this.valueSize;for(let e=A;e<g;e++)this.buffer[e]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){let A=this._origIndex*this.valueSize,g=this._addIndex*this.valueSize;for(let e=0;e<this.valueSize;e++)this.buffer[g+e]=this.buffer[A+e]}_select(A,g,e,I,i){if(I>=.5)for(let t=0;t!==i;++t)A[g+t]=A[e+t]}_slerp(A,g,e,I){ke.slerpFlat(A,g,A,g,A,e,I)}_slerpAdditive(A,g,e,I,i){let t=this._workIndex*i;ke.multiplyQuaternionsFlat(A,t,A,g,A,e),ke.slerpFlat(A,g,A,g,A,t,I)}_lerp(A,g,e,I,i){let t=1-I;for(let C=0;C!==i;++C){let o=g+C;A[o]=A[o]*t+A[e+C]*I}}_lerpAdditive(A,g,e,I,i){for(let t=0;t!==i;++t){let C=g+t;A[C]=A[C]+A[e+t]*I}}},nG="\\[\\]\\.:\\/",Tz=new RegExp("["+nG+"]","g"),EG="[^"+nG+"]",Oz="[^"+nG.replace("\\.","")+"]",_z=/((?:WC+[\/:])*)/.source.replace("WC",EG),Pz=/(WCOD+)?/.source.replace("WCOD",Oz),jz=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",EG),Wz=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",EG),zz=new RegExp("^"+_z+Pz+jz+Wz+"$"),Vz=["material","materials","bones","map"],Zz=class{constructor(A,g,e){let I=e||ZI.parseTrackName(g);this._targetGroup=A,this._bindings=A.subscribe_(g,I)}getValue(A,g){this.bind();let e=this._targetGroup.nCachedObjects_,I=this._bindings[e];I!==void 0&&I.getValue(A,g)}setValue(A,g){let e=this._bindings;for(let I=this._targetGroup.nCachedObjects_,i=e.length;I!==i;++I)e[I].setValue(A,g)}bind(){let A=this._bindings;for(let g=this._targetGroup.nCachedObjects_,e=A.length;g!==e;++g)A[g].bind()}unbind(){let A=this._bindings;for(let g=this._targetGroup.nCachedObjects_,e=A.length;g!==e;++g)A[g].unbind()}},ZI=class{constructor(A,g,e){this.path=g,this.parsedPath=e||ZI.parseTrackName(g),this.node=ZI.findNode(A,this.parsedPath.nodeName)||A,this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,g,e){return A&&A.isAnimationObjectGroup?new ZI.Composite(A,g,e):new ZI(A,g,e)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(Tz,"")}static parseTrackName(A){let g=zz.exec(A);if(g===null)throw new Error("PropertyBinding: Cannot parse trackName: "+A);let e={nodeName:g[2],objectName:g[3],objectIndex:g[4],propertyName:g[5],propertyIndex:g[6]},I=e.nodeName&&e.nodeName.lastIndexOf(".");if(I!==void 0&&I!==-1){let i=e.nodeName.substring(I+1);Vz.indexOf(i)!==-1&&(e.nodeName=e.nodeName.substring(0,I),e.objectName=i)}if(e.propertyName===null||e.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return e}static findNode(A,g){if(g===void 0||g===""||g==="."||g===-1||g===A.name||g===A.uuid)return A;if(A.skeleton){let e=A.skeleton.getBoneByName(g);if(e!==void 0)return e}if(A.children){let e=function(i){for(let t=0;t<i.length;t++){let C=i[t];if(C.name===g||C.uuid===g)return C;let o=e(C.children);if(o)return o}return null},I=e(A.children);if(I)return I}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(A,g){A[g]=this.targetObject[this.propertyName]}_getValue_array(A,g){let e=this.resolvedProperty;for(let I=0,i=e.length;I!==i;++I)A[g++]=e[I]}_getValue_arrayElement(A,g){A[g]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(A,g){this.resolvedProperty.toArray(A,g)}_setValue_direct(A,g){this.targetObject[this.propertyName]=A[g]}_setValue_direct_setNeedsUpdate(A,g){this.targetObject[this.propertyName]=A[g],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(A,g){this.targetObject[this.propertyName]=A[g],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(A,g){let e=this.resolvedProperty;for(let I=0,i=e.length;I!==i;++I)e[I]=A[g++]}_setValue_array_setNeedsUpdate(A,g){let e=this.resolvedProperty;for(let I=0,i=e.length;I!==i;++I)e[I]=A[g++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(A,g){let e=this.resolvedProperty;for(let I=0,i=e.length;I!==i;++I)e[I]=A[g++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(A,g){this.resolvedProperty[this.propertyIndex]=A[g]}_setValue_arrayElement_setNeedsUpdate(A,g){this.resolvedProperty[this.propertyIndex]=A[g],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(A,g){this.resolvedProperty[this.propertyIndex]=A[g],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(A,g){this.resolvedProperty.fromArray(A,g)}_setValue_fromArray_setNeedsUpdate(A,g){this.resolvedProperty.fromArray(A,g),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(A,g){this.resolvedProperty.fromArray(A,g),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(A,g){this.bind(),this.getValue(A,g)}_setValue_unbound(A,g){this.bind(),this.setValue(A,g)}bind(){let A=this.node,g=this.parsedPath,e=g.objectName,I=g.propertyName,i=g.propertyIndex;if(A||(A=ZI.findNode(this.rootNode,g.nodeName)||this.rootNode,this.node=A),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!A){console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");return}if(e){let a=g.objectIndex;switch(e){case"materials":if(!A.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!A.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}A=A.material.materials;break;case"bones":if(!A.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}A=A.skeleton.bones;for(let r=0;r<A.length;r++)if(A[r].name===a){a=r;break}break;case"map":if("map"in A){A=A.map;break}if(!A.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!A.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}A=A.material.map;break;default:if(A[e]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}A=A[e]}if(a!==void 0){if(A[a]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,A);return}A=A[a]}}let t=A[I];if(t===void 0){let a=g.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+a+"."+I+" but it wasn't found.",A);return}let C=this.Versioning.None;this.targetObject=A,A.needsUpdate!==void 0?C=this.Versioning.NeedsUpdate:A.matrixWorldNeedsUpdate!==void 0&&(C=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(i!==void 0){if(I==="morphTargetInfluences"){if(!A.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!A.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}A.morphTargetDictionary[i]!==void 0&&(i=A.morphTargetDictionary[i])}o=this.BindingType.ArrayElement,this.resolvedProperty=t,this.propertyIndex=i}else t.fromArray!==void 0&&t.toArray!==void 0?(o=this.BindingType.HasFromToArray,this.resolvedProperty=t):Array.isArray(t)?(o=this.BindingType.EntireArray,this.resolvedProperty=t):this.propertyName=I;this.getValue=this.GetterByBindingType[o],this.setValue=this.SetterByBindingTypeAndVersioning[o][C]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};ZI.Composite=Zz;ZI.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};ZI.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};ZI.prototype.GetterByBindingType=[ZI.prototype._getValue_direct,ZI.prototype._getValue_array,ZI.prototype._getValue_arrayElement,ZI.prototype._getValue_toArray];ZI.prototype.SetterByBindingTypeAndVersioning=[[ZI.prototype._setValue_direct,ZI.prototype._setValue_direct_setNeedsUpdate,ZI.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[ZI.prototype._setValue_array,ZI.prototype._setValue_array_setNeedsUpdate,ZI.prototype._setValue_array_setMatrixWorldNeedsUpdate],[ZI.prototype._setValue_arrayElement,ZI.prototype._setValue_arrayElement_setNeedsUpdate,ZI.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[ZI.prototype._setValue_fromArray,ZI.prototype._setValue_fromArray_setNeedsUpdate,ZI.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var Xz=class{constructor(A,g,e=null,I=g.blendMode){this._mixer=A,this._clip=g,this._localRoot=e,this.blendMode=I;let i=g.tracks,t=i.length,C=new Array(t),o={endingStart:oE,endingEnd:oE};for(let a=0;a!==t;++a){let r=i[a].createInterpolant(null);C[a]=r,r.settings=o}this._interpolantSettings=o,this._interpolants=C,this._propertyBindings=new Array(t),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=yJ,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(A){return this._startTime=A,this}setLoop(A,g){return this.loop=A,this.repetitions=g,this}setEffectiveWeight(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(A){return this._scheduleFading(A,0,1)}fadeOut(A){return this._scheduleFading(A,1,0)}crossFadeFrom(A,g,e){if(A.fadeOut(g),this.fadeIn(g),e){let I=this._clip.duration,i=A._clip.duration,t=i/I,C=I/i;A.warp(1,t,g),this.warp(C,1,g)}return this}crossFadeTo(A,g,e){return A.crossFadeFrom(this,g,e)}stopFading(){let A=this._weightInterpolant;return A!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}setEffectiveTimeScale(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(A){return this.timeScale=this._clip.duration/A,this.stopWarping()}syncWith(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()}halt(A){return this.warp(this._effectiveTimeScale,0,A)}warp(A,g,e){let I=this._mixer,i=I.time,t=this.timeScale,C=this._timeScaleInterpolant;C===null&&(C=I._lendControlInterpolant(),this._timeScaleInterpolant=C);let o=C.parameterPositions,a=C.sampleValues;return o[0]=i,o[1]=i+e,a[0]=A/t,a[1]=g/t,this}stopWarping(){let A=this._timeScaleInterpolant;return A!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(A,g,e,I){if(!this.enabled){this._updateWeight(A);return}let i=this._startTime;if(i!==null){let o=(A-i)*e;o<0||e===0?g=0:(this._startTime=null,g=e*o)}g*=this._updateTimeScale(A);let t=this._updateTime(g),C=this._updateWeight(A);if(C>0){let o=this._interpolants,a=this._propertyBindings;switch(this.blendMode){case M4:for(let r=0,s=o.length;r!==s;++r)o[r].evaluate(t),a[r].accumulateAdditive(C);break;case AG:default:for(let r=0,s=o.length;r!==s;++r)o[r].evaluate(t),a[r].accumulate(I,C)}}}_updateWeight(A){let g=0;if(this.enabled){g=this.weight;let e=this._weightInterpolant;if(e!==null){let I=e.evaluate(A)[0];g*=I,A>e.parameterPositions[1]&&(this.stopFading(),I===0&&(this.enabled=!1))}}return this._effectiveWeight=g,g}_updateTimeScale(A){let g=0;if(!this.paused){g=this.timeScale;let e=this._timeScaleInterpolant;if(e!==null){let I=e.evaluate(A)[0];g*=I,A>e.parameterPositions[1]&&(this.stopWarping(),g===0?this.paused=!0:this.timeScale=g)}}return this._effectiveTimeScale=g,g}_updateTime(A){let g=this._clip.duration,e=this.loop,I=this.time+A,i=this._loopCount,t=e===$S;if(A===0)return i===-1?I:t&&(i&1)===1?g-I:I;if(e===pJ){i===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(I>=g)I=g;else if(I<0)I=0;else{this.time=I;break A}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=I,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(i===-1&&(A>=0?(i=0,this._setEndings(!0,this.repetitions===0,t)):this._setEndings(this.repetitions===0,!0,t)),I>=g||I<0){let C=Math.floor(I/g);I-=g*C,i+=Math.abs(C);let o=this.repetitions-i;if(o<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,I=A>0?g:0,this.time=I,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(o===1){let a=A<0;this._setEndings(a,!a,t)}else this._setEndings(!1,!1,t);this._loopCount=i,this.time=I,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:C})}}else this.time=I;if(t&&(i&1)===1)return g-I}return I}_setEndings(A,g,e){let I=this._interpolantSettings;e?(I.endingStart=aE,I.endingEnd=aE):(A?I.endingStart=this.zeroSlopeAtStart?aE:oE:I.endingStart=wD,g?I.endingEnd=this.zeroSlopeAtEnd?aE:oE:I.endingEnd=wD)}_scheduleFading(A,g,e){let I=this._mixer,i=I.time,t=this._weightInterpolant;t===null&&(t=I._lendControlInterpolant(),this._weightInterpolant=t);let C=t.parameterPositions,o=t.sampleValues;return C[0]=i,o[0]=g,C[1]=i+A,o[1]=e,this}},$z=new Float32Array(1),AV=class extends tC{constructor(A){super(),this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(A,g){let e=A._localRoot||this._root,I=A._clip.tracks,i=I.length,t=A._propertyBindings,C=A._interpolants,o=e.uuid,a=this._bindingsByRootAndName,r=a[o];r===void 0&&(r={},a[o]=r);for(let s=0;s!==i;++s){let B=I[s],Q=B.name,n=r[Q];if(n!==void 0)++n.referenceCount,t[s]=n;else{if(n=t[s],n!==void 0){n._cacheIndex===null&&(++n.referenceCount,this._addInactiveBinding(n,o,Q));continue}let E=g&&g._propertyBindings[s].binding.parsedPath;n=new Hz(ZI.create(e,Q,E),B.ValueTypeName,B.getValueSize()),++n.referenceCount,this._addInactiveBinding(n,o,Q),t[s]=n}C[s].resultBuffer=n.buffer}}_activateAction(A){if(!this._isActiveAction(A)){if(A._cacheIndex===null){let e=(A._localRoot||this._root).uuid,I=A._clip.uuid,i=this._actionsByClip[I];this._bindAction(A,i&&i.knownActions[0]),this._addInactiveAction(A,I,e)}let g=A._propertyBindings;for(let e=0,I=g.length;e!==I;++e){let i=g[e];i.useCount++===0&&(this._lendBinding(i),i.saveOriginalState())}this._lendAction(A)}}_deactivateAction(A){if(this._isActiveAction(A)){let g=A._propertyBindings;for(let e=0,I=g.length;e!==I;++e){let i=g[e];--i.useCount===0&&(i.restoreOriginalState(),this._takeBackBinding(i))}this._takeBackAction(A)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;let A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}}_isActiveAction(A){let g=A._cacheIndex;return g!==null&&g<this._nActiveActions}_addInactiveAction(A,g,e){let I=this._actions,i=this._actionsByClip,t=i[g];if(t===void 0)t={knownActions:[A],actionByRoot:{}},A._byClipCacheIndex=0,i[g]=t;else{let C=t.knownActions;A._byClipCacheIndex=C.length,C.push(A)}A._cacheIndex=I.length,I.push(A),t.actionByRoot[e]=A}_removeInactiveAction(A){let g=this._actions,e=g[g.length-1],I=A._cacheIndex;e._cacheIndex=I,g[I]=e,g.pop(),A._cacheIndex=null;let i=A._clip.uuid,t=this._actionsByClip,C=t[i],o=C.knownActions,a=o[o.length-1],r=A._byClipCacheIndex;a._byClipCacheIndex=r,o[r]=a,o.pop(),A._byClipCacheIndex=null;let s=C.actionByRoot,B=(A._localRoot||this._root).uuid;delete s[B],o.length===0&&delete t[i],this._removeInactiveBindingsForAction(A)}_removeInactiveBindingsForAction(A){let g=A._propertyBindings;for(let e=0,I=g.length;e!==I;++e){let i=g[e];--i.referenceCount===0&&this._removeInactiveBinding(i)}}_lendAction(A){let g=this._actions,e=A._cacheIndex,I=this._nActiveActions++,i=g[I];A._cacheIndex=I,g[I]=A,i._cacheIndex=e,g[e]=i}_takeBackAction(A){let g=this._actions,e=A._cacheIndex,I=--this._nActiveActions,i=g[I];A._cacheIndex=I,g[I]=A,i._cacheIndex=e,g[e]=i}_addInactiveBinding(A,g,e){let I=this._bindingsByRootAndName,i=this._bindings,t=I[g];t===void 0&&(t={},I[g]=t),t[e]=A,A._cacheIndex=i.length,i.push(A)}_removeInactiveBinding(A){let g=this._bindings,e=A.binding,I=e.rootNode.uuid,i=e.path,t=this._bindingsByRootAndName,C=t[I],o=g[g.length-1],a=A._cacheIndex;o._cacheIndex=a,g[a]=o,g.pop(),delete C[i],Object.keys(C).length===0&&delete t[I]}_lendBinding(A){let g=this._bindings,e=A._cacheIndex,I=this._nActiveBindings++,i=g[I];A._cacheIndex=I,g[I]=A,i._cacheIndex=e,g[e]=i}_takeBackBinding(A){let g=this._bindings,e=A._cacheIndex,I=--this._nActiveBindings,i=g[I];A._cacheIndex=I,g[I]=A,i._cacheIndex=e,g[e]=i}_lendControlInterpolant(){let A=this._controlInterpolants,g=this._nActiveControlInterpolants++,e=A[g];return e===void 0&&(e=new Aq(new Float32Array(2),new Float32Array(2),1,$z),e.__cacheIndex=g,A[g]=e),e}_takeBackControlInterpolant(A){let g=this._controlInterpolants,e=A.__cacheIndex,I=--this._nActiveControlInterpolants,i=g[I];A.__cacheIndex=I,g[I]=A,i.__cacheIndex=e,g[e]=i}clipAction(A,g,e){let I=g||this._root,i=I.uuid,t=typeof A=="string"?rf.findByName(I,A):A,C=t!==null?t.uuid:A,o=this._actionsByClip[C],a=null;if(e===void 0&&(t!==null?e=t.blendMode:e=AG),o!==void 0){let s=o.actionByRoot[i];if(s!==void 0&&s.blendMode===e)return s;a=o.knownActions[0],t===null&&(t=a._clip)}if(t===null)return null;let r=new Xz(this,t,g,e);return this._bindAction(r,a),this._addInactiveAction(r,C,i),r}existingAction(A,g){let e=g||this._root,I=e.uuid,i=typeof A=="string"?rf.findByName(e,A):A,t=i?i.uuid:A,C=this._actionsByClip[t];return C!==void 0&&C.actionByRoot[I]||null}stopAllAction(){let A=this._actions,g=this._nActiveActions;for(let e=g-1;e>=0;--e)A[e].stop();return this}update(A){A*=this.timeScale;let g=this._actions,e=this._nActiveActions,I=this.time+=A,i=Math.sign(A),t=this._accuIndex^=1;for(let a=0;a!==e;++a)g[a]._update(I,A,i,t);let C=this._bindings,o=this._nActiveBindings;for(let a=0;a!==o;++a)C[a].apply(t);return this}setTime(A){this.time=0;for(let g=0;g<this._actions.length;g++)this._actions[g].time=0;return this.update(A)}getRoot(){return this._root}uncacheClip(A){let g=this._actions,e=A.uuid,I=this._actionsByClip,i=I[e];if(i!==void 0){let t=i.knownActions;for(let C=0,o=t.length;C!==o;++C){let a=t[C];this._deactivateAction(a);let r=a._cacheIndex,s=g[g.length-1];a._cacheIndex=null,a._byClipCacheIndex=null,s._cacheIndex=r,g[r]=s,g.pop(),this._removeInactiveBindingsForAction(a)}delete I[e]}}uncacheRoot(A){let g=A.uuid,e=this._actionsByClip;for(let t in e){let C=e[t].actionByRoot,o=C[g];o!==void 0&&(this._deactivateAction(o),this._removeInactiveAction(o))}let I=this._bindingsByRootAndName,i=I[g];if(i!==void 0)for(let t in i){let C=i[t];C.restoreOriginalState(),this._removeInactiveBinding(C)}}uncacheAction(A,g){let e=this.existingAction(A,g);e!==null&&(this._deactivateAction(e),this._removeInactiveAction(e))}},hg=class{constructor(A){this.value=A}clone(){return new hg(this.value.clone===void 0?this.value:this.value.clone())}},tq=class{constructor(A,g,e=0,I=1/0){this.ray=new _E(A,g),this.near=e,this.far=I,this.camera=null,this.layers=new eG,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(A,g){this.ray.set(A,g)}setFromCamera(A,g){g.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(g.matrixWorld),this.ray.direction.set(A.x,A.y,.5).unproject(g).sub(this.ray.origin).normalize(),this.camera=g):g.isOrthographicCamera?(this.ray.origin.set(A.x,A.y,(g.near+g.far)/(g.near-g.far)).unproject(g),this.ray.direction.set(0,0,-1).transformDirection(g.matrixWorld),this.camera=g):console.error("THREE.Raycaster: Unsupported camera type: "+g.type)}intersectObject(A,g=!0,e=[]){return Bf(A,this,e,g),e.sort(YN),e}intersectObjects(A,g=!0,e=[]){for(let I=0,i=A.length;I<i;I++)Bf(A[I],this,e,g);return e.sort(YN),e}};function YN(A,g){return A.distance-g.distance}function Bf(A,g,e,I){if(A.layers.test(g.layers)&&A.raycast(g,e),I===!0){let i=A.children;for(let t=0,C=i.length;t<C;t++)Bf(i[t],g,e,!0)}}var HN=class{constructor(A=1,g=0,e=0){return this.radius=A,this.phi=g,this.theta=e,this}set(A,g,e){return this.radius=A,this.phi=g,this.theta=e,this}copy(A){return this.radius=A.radius,this.phi=A.phi,this.theta=A.theta,this}makeSafe(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}setFromVector3(A){return this.setFromCartesianCoords(A.x,A.y,A.z)}setFromCartesianCoords(A,g,e){return this.radius=Math.sqrt(A*A+g*g+e*e),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(A,e),this.phi=Math.acos(It(g/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}},TN=new mA,Cq=class{constructor(A=new mA(1/0,1/0),g=new mA(-1/0,-1/0)){this.isBox2=!0,this.min=A,this.max=g}set(A,g){return this.min.copy(A),this.max.copy(g),this}setFromPoints(A){this.makeEmpty();for(let g=0,e=A.length;g<e;g++)this.expandByPoint(A[g]);return this}setFromCenterAndSize(A,g){let e=TN.copy(g).multiplyScalar(.5);return this.min.copy(A).sub(e),this.max.copy(A).add(e),this}clone(){return new this.constructor().copy(this)}copy(A){return this.min.copy(A.min),this.max.copy(A.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(A){return this.isEmpty()?A.set(0,0):A.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(A){return this.isEmpty()?A.set(0,0):A.subVectors(this.max,this.min)}expandByPoint(A){return this.min.min(A),this.max.max(A),this}expandByVector(A){return this.min.sub(A),this.max.add(A),this}expandByScalar(A){return this.min.addScalar(-A),this.max.addScalar(A),this}containsPoint(A){return!(A.x<this.min.x||A.x>this.max.x||A.y<this.min.y||A.y>this.max.y)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y}getParameter(A,g){return g.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(A){return!(A.max.x<this.min.x||A.min.x>this.max.x||A.max.y<this.min.y||A.min.y>this.max.y)}clampPoint(A,g){return g.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return TN.copy(A).clamp(this.min,this.max).sub(A).length()}intersect(A){return this.min.max(A.min),this.max.min(A.max),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}},ON=new x,Cu=new x,Jo=class{constructor(A=new x,g=new x){this.start=A,this.end=g}set(A,g){return this.start.copy(A),this.end.copy(g),this}copy(A){return this.start.copy(A.start),this.end.copy(A.end),this}getCenter(A){return A.addVectors(this.start,this.end).multiplyScalar(.5)}delta(A){return A.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(A,g){return this.delta(g).multiplyScalar(A).add(this.start)}closestPointToPointParameter(A,g){ON.subVectors(A,this.start),Cu.subVectors(this.end,this.start);let e=Cu.dot(Cu),I=Cu.dot(ON)/e;return g&&(I=It(I,0,1)),I}closestPointToPoint(A,g,e){let I=this.closestPointToPointParameter(A,g);return this.delta(e).multiplyScalar(I).add(this.start)}applyMatrix4(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this}equals(A){return A.start.equals(this.start)&&A.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},_N=new x,gV=class extends YI{constructor(A,g){super(),this.light=A,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=g,this.type="SpotLightHelper";let e=new se,I=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,C=1,o=32;t<o;t++,C++){let a=t/o*Math.PI*2,r=C/o*Math.PI*2;I.push(Math.cos(a),Math.sin(a),1,Math.cos(r),Math.sin(r),1)}e.setAttribute("position",new _g(I,3));let i=new SB({fog:!1,toneMapped:!1});this.cone=new Sc(e,i),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1);let A=this.light.distance?this.light.distance:1e3,g=A*Math.tan(this.light.angle);this.cone.scale.set(g,g,A),_N.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(_N),this.color!==void 0?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}},eV=class extends Oi{constructor(A,g,e){let I=new hE(g,4,2),i=new NQ({wireframe:!0,fog:!1,toneMapped:!1});super(I,i),this.light=A,this.color=e,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},PN=new x,ou=new x,jN=new x,IV=class extends YI{constructor(A,g,e){super(),this.light=A,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=e,this.type="DirectionalLightHelper",g===void 0&&(g=1);let I=new se;I.setAttribute("position",new _g([-g,g,0,g,g,0,g,-g,0,-g,-g,0,-g,g,0],3));let i=new SB({fog:!1,toneMapped:!1});this.lightPlane=new GD(I,i),this.add(this.lightPlane),I=new se,I.setAttribute("position",new _g([0,0,0,0,0,1],3)),this.targetLine=new GD(I,i),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),PN.setFromMatrixPosition(this.light.matrixWorld),ou.setFromMatrixPosition(this.light.target.matrixWorld),jN.subVectors(ou,PN),this.lightPlane.lookAt(ou),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(ou),this.targetLine.scale.z=jN.length()}},au=new x,Ui=new FQ,FD=class extends Sc{constructor(A){let g=new se,e=new SB({color:16777215,vertexColors:!0,toneMapped:!1}),I=[],i=[],t={};C("n1","n2"),C("n2","n4"),C("n4","n3"),C("n3","n1"),C("f1","f2"),C("f2","f4"),C("f4","f3"),C("f3","f1"),C("n1","f1"),C("n2","f2"),C("n3","f3"),C("n4","f4"),C("p","n1"),C("p","n2"),C("p","n3"),C("p","n4"),C("u1","u2"),C("u2","u3"),C("u3","u1"),C("c","t"),C("p","c"),C("cn1","cn2"),C("cn3","cn4"),C("cf1","cf2"),C("cf3","cf4");function C(n,E){o(n),o(E)}function o(n){I.push(0,0,0),i.push(0,0,0),t[n]===void 0&&(t[n]=[]),t[n].push(I.length/3-1)}g.setAttribute("position",new _g(I,3)),g.setAttribute("color",new _g(i,3)),super(g,e),this.type="CameraHelper",this.camera=A,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=t,this.update();let a=new de(16755200),r=new de(16711680),s=new de(43775),B=new de(16777215),Q=new de(3355443);this.setColors(a,r,s,B,Q)}setColors(A,g,e,I,i){let t=this.geometry.getAttribute("color");t.setXYZ(0,A.r,A.g,A.b),t.setXYZ(1,A.r,A.g,A.b),t.setXYZ(2,A.r,A.g,A.b),t.setXYZ(3,A.r,A.g,A.b),t.setXYZ(4,A.r,A.g,A.b),t.setXYZ(5,A.r,A.g,A.b),t.setXYZ(6,A.r,A.g,A.b),t.setXYZ(7,A.r,A.g,A.b),t.setXYZ(8,A.r,A.g,A.b),t.setXYZ(9,A.r,A.g,A.b),t.setXYZ(10,A.r,A.g,A.b),t.setXYZ(11,A.r,A.g,A.b),t.setXYZ(12,A.r,A.g,A.b),t.setXYZ(13,A.r,A.g,A.b),t.setXYZ(14,A.r,A.g,A.b),t.setXYZ(15,A.r,A.g,A.b),t.setXYZ(16,A.r,A.g,A.b),t.setXYZ(17,A.r,A.g,A.b),t.setXYZ(18,A.r,A.g,A.b),t.setXYZ(19,A.r,A.g,A.b),t.setXYZ(20,A.r,A.g,A.b),t.setXYZ(21,A.r,A.g,A.b),t.setXYZ(22,A.r,A.g,A.b),t.setXYZ(23,A.r,A.g,A.b),t.setXYZ(24,g.r,g.g,g.b),t.setXYZ(25,g.r,g.g,g.b),t.setXYZ(26,g.r,g.g,g.b),t.setXYZ(27,g.r,g.g,g.b),t.setXYZ(28,g.r,g.g,g.b),t.setXYZ(29,g.r,g.g,g.b),t.setXYZ(30,g.r,g.g,g.b),t.setXYZ(31,g.r,g.g,g.b),t.setXYZ(32,e.r,e.g,e.b),t.setXYZ(33,e.r,e.g,e.b),t.setXYZ(34,e.r,e.g,e.b),t.setXYZ(35,e.r,e.g,e.b),t.setXYZ(36,e.r,e.g,e.b),t.setXYZ(37,e.r,e.g,e.b),t.setXYZ(38,I.r,I.g,I.b),t.setXYZ(39,I.r,I.g,I.b),t.setXYZ(40,i.r,i.g,i.b),t.setXYZ(41,i.r,i.g,i.b),t.setXYZ(42,i.r,i.g,i.b),t.setXYZ(43,i.r,i.g,i.b),t.setXYZ(44,i.r,i.g,i.b),t.setXYZ(45,i.r,i.g,i.b),t.setXYZ(46,i.r,i.g,i.b),t.setXYZ(47,i.r,i.g,i.b),t.setXYZ(48,i.r,i.g,i.b),t.setXYZ(49,i.r,i.g,i.b),t.needsUpdate=!0}update(){let A=this.geometry,g=this.pointMap,e=1,I=1;Ui.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),Yi("c",g,A,Ui,0,0,-1),Yi("t",g,A,Ui,0,0,1),Yi("n1",g,A,Ui,-e,-I,-1),Yi("n2",g,A,Ui,e,-I,-1),Yi("n3",g,A,Ui,-e,I,-1),Yi("n4",g,A,Ui,e,I,-1),Yi("f1",g,A,Ui,-e,-I,1),Yi("f2",g,A,Ui,e,-I,1),Yi("f3",g,A,Ui,-e,I,1),Yi("f4",g,A,Ui,e,I,1),Yi("u1",g,A,Ui,e*.7,I*1.1,-1),Yi("u2",g,A,Ui,-e*.7,I*1.1,-1),Yi("u3",g,A,Ui,0,I*2,-1),Yi("cf1",g,A,Ui,-e,0,1),Yi("cf2",g,A,Ui,e,0,1),Yi("cf3",g,A,Ui,0,-I,1),Yi("cf4",g,A,Ui,0,I,1),Yi("cn1",g,A,Ui,-e,0,-1),Yi("cn2",g,A,Ui,e,0,-1),Yi("cn3",g,A,Ui,0,-I,-1),Yi("cn4",g,A,Ui,0,I,-1),A.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function Yi(A,g,e,I,i,t,C){au.set(i,t,C).unproject(I);let o=g[A];if(o!==void 0){let a=e.getAttribute("position");for(let r=0,s=o.length;r<s;r++)a.setXYZ(o[r],au.x,au.y,au.z)}}var RD=class extends Sc{constructor(A,g=16776960){let e=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),I=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],i=new se;i.setIndex(new Se(e,1)),i.setAttribute("position",new _g(I,3)),super(i,new SB({color:g,toneMapped:!1})),this.box=A,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(A){let g=this.box;g.isEmpty()||(g.getCenter(this.position),g.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(A))}dispose(){this.geometry.dispose(),this.material.dispose()}},iV=class extends Sc{constructor(A=1){let g=[0,0,0,A,0,0,0,0,0,0,A,0,0,0,0,0,0,A],e=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],I=new se;I.setAttribute("position",new _g(g,3)),I.setAttribute("color",new _g(e,3));let i=new SB({vertexColors:!0,toneMapped:!1});super(I,i),this.type="AxesHelper"}setColors(A,g,e){let I=new de,i=this.geometry.attributes.color.array;return I.set(A),I.toArray(i,0),I.toArray(i,3),I.set(g),I.toArray(i,6),I.toArray(i,9),I.set(e),I.toArray(i,12),I.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},es=tV();function tV(){let A=new ArrayBuffer(4),g=new Float32Array(A),e=new Uint32Array(A),I=new Uint32Array(512),i=new Uint32Array(512);for(let a=0;a<256;++a){let r=a-127;r<-27?(I[a]=0,I[a|256]=32768,i[a]=24,i[a|256]=24):r<-14?(I[a]=1024>>-r-14,I[a|256]=1024>>-r-14|32768,i[a]=-r-1,i[a|256]=-r-1):r<=15?(I[a]=r+15<<10,I[a|256]=r+15<<10|32768,i[a]=13,i[a|256]=13):r<128?(I[a]=31744,I[a|256]=64512,i[a]=24,i[a|256]=24):(I[a]=31744,I[a|256]=64512,i[a]=13,i[a|256]=13)}let t=new Uint32Array(2048),C=new Uint32Array(64),o=new Uint32Array(64);for(let a=1;a<1024;++a){let r=a<<13,s=0;for(;!(r&8388608);)r<<=1,s-=8388608;r&=-8388609,s+=947912704,t[a]=r|s}for(let a=1024;a<2048;++a)t[a]=939524096+(a-1024<<13);for(let a=1;a<31;++a)C[a]=a<<23;C[31]=1199570944,C[32]=2147483648;for(let a=33;a<63;++a)C[a]=2147483648+(a-32<<23);C[63]=3347054592;for(let a=1;a<64;++a)a!==32&&(o[a]=1024);return{floatView:g,uint32View:e,baseTable:I,shiftTable:i,mantissaTable:t,exponentTable:C,offsetTable:o}}function CV(A){Math.abs(A)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),A=It(A,-65504,65504),es.floatView[0]=A;let g=es.uint32View[0],e=g>>23&511;return es.baseTable[e]+((g&8388607)>>es.shiftTable[e])}function oV(A){let g=A>>10;return es.uint32View[0]=es.mantissaTable[es.offsetTable[g]+(A&1023)]+es.exponentTable[g],es.floatView[0]}var aV=Object.freeze({__proto__:null,fromHalfFloat:oV,toHalfFloat:CV});typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:OE}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=OE);var sl=".",hG=Symbol("target"),oq=Symbol("unsubscribe");function Qf(A){return A instanceof Date||A instanceof Set||A instanceof Map||A instanceof WeakSet||A instanceof WeakMap||ArrayBuffer.isView(A)}function rV(A){return(typeof A=="object"?A===null:typeof A!="function")||A instanceof RegExp}var Xa=Array.isArray;function lG(A){return typeof A=="symbol"}var sV={after:(A,g)=>Xa(A)?A.slice(g.length):g===""?A:A.slice(g.length+1),concat:(A,g)=>Xa(A)?(A=[...A],g&&A.push(g),A):g&&g.toString!==void 0?(A!==""&&(A+=sl),lG(g)?A+g.toString():A+g):A,initial:A=>{if(Xa(A))return A.slice(0,-1);if(A==="")return A;let g=A.lastIndexOf(sl);return g===-1?"":A.slice(0,g)},last:A=>{if(Xa(A))return A[A.length-1]||"";if(A==="")return A;let g=A.lastIndexOf(sl);return g===-1?A:A.slice(g+1)},walk:(A,g)=>{if(Xa(A))for(let e of A)g(e);else if(A!==""){let e=0,I=A.indexOf(sl);if(I===-1)g(A);else for(;e<A.length;)I===-1&&(I=A.length),g(A.slice(e,I)),e=I+1,I=A.indexOf(sl,e)}},get(A,g){return this.walk(g,e=>{A&&(A=A[e])}),A}},Uo=sV;function BV(A){return typeof A=="object"&&typeof A.next=="function"}function QV(A,g,e,I,i){let t=A.next;if(g.name==="entries")A.next=function(){let C=t.call(this);return C.done===!1&&(C.value[0]=i(C.value[0],g,C.value[0],I),C.value[1]=i(C.value[1],g,C.value[0],I)),C};else if(g.name==="values"){let C=e[hG].keys();A.next=function(){let o=t.call(this);return o.done===!1&&(o.value=i(o.value,g,C.next().value,I)),o}}else A.next=function(){let C=t.call(this);return C.done===!1&&(C.value=i(C.value,g,C.value,I)),C};return A}function WN(A,g,e){return A.isUnsubscribed||g.ignoreSymbols&&lG(e)||g.ignoreUnderscores&&e.charAt(0)==="_"||"ignoreKeys"in g&&g.ignoreKeys.includes(e)}var nV=class{constructor(A){this._equals=A,this._proxyCache=new WeakMap,this._pathCache=new WeakMap,this.isUnsubscribed=!1}_getDescriptorCache(){return this._descriptorCache===void 0&&(this._descriptorCache=new WeakMap),this._descriptorCache}_getProperties(A){let g=this._getDescriptorCache(),e=g.get(A);return e===void 0&&(e={},g.set(A,e)),e}_getOwnPropertyDescriptor(A,g){if(this.isUnsubscribed)return Reflect.getOwnPropertyDescriptor(A,g);let e=this._getProperties(A),I=e[g];return I===void 0&&(I=Reflect.getOwnPropertyDescriptor(A,g),e[g]=I),I}getProxy(A,g,e,I){if(this.isUnsubscribed)return A;let i=A[I],t=i||A;this._pathCache.set(t,g);let C=this._proxyCache.get(t);return C===void 0&&(C=i===void 0?new Proxy(A,e):A,this._proxyCache.set(t,C)),C}getPath(A){return this.isUnsubscribed?void 0:this._pathCache.get(A)}isDetached(A,g){return!Object.is(A,Uo.get(g,this.getPath(A)))}defineProperty(A,g,e){return Reflect.defineProperty(A,g,e)?(this.isUnsubscribed||(this._getProperties(A)[g]=e),!0):!1}setProperty(A,g,e,I,i){if(!this._equals(i,e)||!(g in A)){let t=this._getOwnPropertyDescriptor(A,g);return t!==void 0&&"set"in t?Reflect.set(A,g,e,I):Reflect.set(A,g,e)}return!0}deleteProperty(A,g,e){if(Reflect.deleteProperty(A,g)){if(!this.isUnsubscribed){let I=this._getDescriptorCache().get(A);I&&(delete I[g],this._pathCache.delete(e))}return!0}return!1}isSameDescriptor(A,g,e){let I=this._getOwnPropertyDescriptor(g,e);return A!==void 0&&I!==void 0&&Object.is(A.value,I.value)&&(A.writable||!1)===(I.writable||!1)&&(A.enumerable||!1)===(I.enumerable||!1)&&(A.configurable||!1)===(I.configurable||!1)&&A.get===I.get&&A.set===I.set}isGetInvariant(A,g){let e=this._getOwnPropertyDescriptor(A,g);return e!==void 0&&e.configurable!==!0&&e.writable!==!0}unsubscribe(){this._descriptorCache=null,this._pathCache=null,this._proxyCache=null,this.isUnsubscribed=!0}};function nf(A){return toString.call(A)==="[object Object]"}function ru(){return!0}function qn(A,g){return A.length!==g.length||A.some((e,I)=>g[I]!==e)}var aq=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),EV=new Set(["concat","includes","indexOf","join","keys","lastIndexOf"]),rq={push:ru,pop:ru,shift:ru,unshift:ru,copyWithin:qn,reverse:qn,sort:qn,splice:qn,flat:qn,fill:qn},hV=new Set([...aq,...EV,...Object.keys(rq)]);function su(A,g){if(A.size!==g.size)return!0;for(let e of A)if(!g.has(e))return!0;return!1}var sq=["keys","values","entries"],Bq=new Set(["has","toString"]),Qq={add:su,clear:su,delete:su,forEach:su},lV=new Set([...Bq,...Object.keys(Qq),...sq]);function Bu(A,g){if(A.size!==g.size)return!0;let e;for(let[I,i]of A)if(e=g.get(I),e!==i||e===void 0&&!g.has(I))return!0;return!1}var cV=new Set([...Bq,"get"]),nq={set:Bu,clear:Bu,delete:Bu,forEach:Bu},dV=new Set([...cV,...Object.keys(nq),...sq]),yB=class{constructor(A,g,e,I){this._path=g,this._isChanged=!1,this._clonedCache=new Set,this._hasOnValidate=I,this._changes=I?[]:null,this.clone=g===void 0?A:this._shallowClone(A)}static isHandledMethod(A){return aq.has(A)}_shallowClone(A){let g=A;if(nf(A))g={...A};else if(Xa(A))g=[...A];else if(A instanceof Date)g=new Date(A);else if(A instanceof Set)g=new Set([...A].map(e=>this._shallowClone(e)));else if(A instanceof Map){g=new Map;for(let[e,I]of A.entries())g.set(e,this._shallowClone(I))}return this._clonedCache.add(g),g}preferredThisArg(A,g,e,I){return A?(Xa(I)?this._onIsChanged=rq[g]:I instanceof Set?this._onIsChanged=Qq[g]:I instanceof Map&&(this._onIsChanged=nq[g]),I):e}update(A,g,e){let I=Uo.after(A,this._path);if(g!=="length"){let i=this.clone;Uo.walk(I,t=>{i&&i[t]&&(this._clonedCache.has(i[t])||(i[t]=this._shallowClone(i[t])),i=i[t])}),this._hasOnValidate&&this._changes.push({path:I,property:g,previous:e}),i&&i[g]&&(i[g]=e)}this._isChanged=!0}undo(A){let g;for(let e=this._changes.length-1;e!==-1;e--)g=this._changes[e],Uo.get(A,g.path)[g.property]=g.previous}isChanged(A){return this._onIsChanged===void 0?this._isChanged:this._onIsChanged(this.clone,A)}},zN=class extends yB{static isHandledMethod(A){return hV.has(A)}},uV=class extends yB{undo(A){A.setTime(this.clone.getTime())}isChanged(A,g){return!g(this.clone.valueOf(),A.valueOf())}},VN=class extends yB{static isHandledMethod(A){return lV.has(A)}undo(A){for(let g of this.clone)A.add(g);for(let g of A)this.clone.has(g)||A.delete(g)}},ZN=class extends yB{static isHandledMethod(A){return dV.has(A)}undo(A){for(let[g,e]of this.clone.entries())A.set(g,e);for(let g of A.keys())this.clone.has(g)||A.delete(g)}},DV=class extends yB{constructor(A,g,e,I){super(void 0,g,e,I),this._arg1=e[0],this._weakValue=A.has(this._arg1)}isChanged(A){return this._weakValue!==A.has(this._arg1)}undo(A){this._weakValue&&!A.has(this._arg1)?A.add(this._arg1):A.delete(this._arg1)}},pV=class extends yB{constructor(A,g,e,I){super(void 0,g,e,I),this._weakKey=e[0],this._weakHas=A.has(this._weakKey),this._weakValue=A.get(this._weakKey)}isChanged(A){return this._weakValue!==A.get(this._weakKey)}undo(A){let g=A.has(this._weakKey);this._weakHas&&!g?A.set(this._weakKey,this._weakValue):!this._weakHas&&g?A.delete(this._weakKey):this._weakValue!==A.get(this._weakKey)&&A.set(this._weakKey,this._weakValue)}},gE=class{constructor(A){this._stack=[],this._hasOnValidate=A}static isHandledType(A){return nf(A)||Xa(A)||Qf(A)}static isHandledMethod(A,g){return nf(A)?yB.isHandledMethod(g):Xa(A)?zN.isHandledMethod(g):A instanceof Set?VN.isHandledMethod(g):A instanceof Map?ZN.isHandledMethod(g):Qf(A)}get isCloning(){return this._stack.length>0}start(A,g,e){let I=yB;Xa(A)?I=zN:A instanceof Date?I=uV:A instanceof Set?I=VN:A instanceof Map?I=ZN:A instanceof WeakSet?I=DV:A instanceof WeakMap&&(I=pV),this._stack.push(new I(A,g,e,this._hasOnValidate))}update(A,g,e){this._stack[this._stack.length-1].update(A,g,e)}preferredThisArg(A,g,e){let{name:I}=A,i=gE.isHandledMethod(e,I);return this._stack[this._stack.length-1].preferredThisArg(i,I,g,e)}isChanged(A,g,e){return this._stack[this._stack.length-1].isChanged(A,g,e)}undo(A){this._previousClone!==void 0&&this._previousClone.undo(A)}stop(){return this._previousClone=this._stack.pop(),this._previousClone.clone}},yV={equals:Object.is,isShallow:!1,pathAsArray:!1,ignoreSymbols:!1,ignoreUnderscores:!1,ignoreDetached:!1,details:!1},cG=(A,g,e={})=>{e={...yV,...e};let I=Symbol("ProxyTarget"),{equals:i,isShallow:t,ignoreDetached:C,details:o}=e,a=new nV(i),r=typeof e.onValidate=="function",s=new gE(r),B=(D,p,w,k,U)=>!r||s.isCloning||e.onValidate(Uo.concat(a.getPath(D),p),w,k,U)===!0,Q=(D,p,w,k)=>{!WN(a,e,p)&&!(C&&a.isDetached(D,A))&&n(a.getPath(D),p,w,k)},n=(D,p,w,k,U)=>{s.isCloning?s.update(D,p,k):g(Uo.concat(D,p),w,k,U)},E=D=>D&&(D[I]||D),l=(D,p,w,k)=>rV(D)||w==="constructor"||t&&!gE.isHandledMethod(p,w)||WN(a,e,w)||a.isGetInvariant(p,w)||C&&a.isDetached(p,A)?D:(k===void 0&&(k=a.getPath(p)),a.getProxy(D,Uo.concat(k,w),h,I)),h={get(D,p,w){if(lG(p)){if(p===I||p===hG)return D;if(p===oq&&!a.isUnsubscribed&&a.getPath(D).length===0)return a.unsubscribe(),D}let k=Qf(D)?Reflect.get(D,p):Reflect.get(D,p,w);return l(k,D,p)},set(D,p,w,k){w=E(w);let U=D[I]||D,N=U[p];if(i(N,w)&&p in D)return!0;let G=B(D,p,w,N);return G&&a.setProperty(U,p,w,k,N)?(Q(D,p,D[p],N),!0):!G},defineProperty(D,p,w){if(!a.isSameDescriptor(w,D,p)){let k=D[p];B(D,p,w.value,k)&&a.defineProperty(D,p,w,k)&&Q(D,p,w.value,k)}return!0},deleteProperty(D,p){if(!Reflect.has(D,p))return!0;let w=Reflect.get(D,p),k=B(D,p,void 0,w);return k&&a.deleteProperty(D,p,w)?(Q(D,p,void 0,w),!0):!k},apply(D,p,w){let k=p[I]||p;if(a.isUnsubscribed)return Reflect.apply(D,k,w);if((o===!1||o!==!0&&!o.includes(D.name))&&gE.isHandledType(k)){let U=Uo.initial(a.getPath(D)),N=gE.isHandledMethod(k,D.name);s.start(k,U,w);let G=Reflect.apply(D,s.preferredThisArg(D,p,k),N?w.map(q=>E(q)):w),R=s.isChanged(k,i),J=s.stop();if(gE.isHandledType(G)&&N&&(p instanceof Map&&D.name==="get"&&(U=Uo.concat(U,w[0])),G=a.getProxy(G,U,h)),R){let q={name:D.name,args:w,result:G},T=s.isCloning?Uo.initial(U):U,P=s.isCloning?Uo.last(U):"";B(Uo.get(A,T),P,k,J,q)?n(T,P,k,J,q):s.undo(k)}return(p instanceof Map||p instanceof Set)&&BV(G)?QV(G,D,p,U,l):G}return Reflect.apply(D,p,w)}},u=a.getProxy(A,e.pathAsArray?[]:"",h);return g=g.bind(u),r&&(e.onValidate=e.onValidate.bind(u)),u};cG.target=A=>A&&A[hG]||A;cG.unsubscribe=A=>A[oq]||A;var XN=cG,wV=typeof global=="object"&&global&&global.Object===Object&&global,Eq=wV,fV=typeof self=="object"&&self&&self.Object===Object&&self,SV=Eq||fV||Function("return this")(),Da=SV,GV=Da.Symbol,bo=GV,hq=Object.prototype,mV=hq.hasOwnProperty,MV=hq.toString,Bl=bo?bo.toStringTag:void 0;function kV(A){var g=mV.call(A,Bl),e=A[Bl];try{A[Bl]=void 0;var I=!0}catch{}var i=MV.call(A);return I&&(g?A[Bl]=e:delete A[Bl]),i}var UV=kV,NV=Object.prototype,FV=NV.toString;function RV(A){return FV.call(A)}var vV=RV,KV="[object Null]",JV="[object Undefined]",$N=bo?bo.toStringTag:void 0;function qV(A){return A==null?A===void 0?JV:KV:$N&&$N in Object(A)?UV(A):vV(A)}var vQ=qV;function bV(A){return A!=null&&typeof A=="object"}var Es=bV,LV="[object Symbol]";function xV(A){return typeof A=="symbol"||Es(A)&&vQ(A)==LV}var kc=xV;function YV(A,g){for(var e=-1,I=A==null?0:A.length,i=Array(I);++e<I;)i[e]=g(A[e],e,A);return i}var lq=YV,HV=Array.isArray,Cr=HV,TV=1/0,AF=bo?bo.prototype:void 0,gF=AF?AF.toString:void 0;function cq(A){if(typeof A=="string")return A;if(Cr(A))return lq(A,cq)+"";if(kc(A))return gF?gF.call(A):"";var g=A+"";return g=="0"&&1/A==-TV?"-0":g}var OV=cq,_V=/\s/;function PV(A){for(var g=A.length;g--&&_V.test(A.charAt(g)););return g}var jV=PV,WV=/^\s+/;function zV(A){return A&&A.slice(0,jV(A)+1).replace(WV,"")}var VV=zV;function ZV(A){var g=typeof A;return A!=null&&(g=="object"||g=="function")}var ua=ZV,eF=NaN,XV=/^[-+]0x[0-9a-f]+$/i,$V=/^0b[01]+$/i,AZ=/^0o[0-7]+$/i,gZ=parseInt;function eZ(A){if(typeof A=="number")return A;if(kc(A))return eF;if(ua(A)){var g=typeof A.valueOf=="function"?A.valueOf():A;A=ua(g)?g+"":g}if(typeof A!="string")return A===0?A:+A;A=VV(A);var e=$V.test(A);return e||AZ.test(A)?gZ(A.slice(2),e?2:8):XV.test(A)?eF:+A}var IF=eZ;function IZ(A){return A}var dq=IZ,iZ="[object AsyncFunction]",tZ="[object Function]",CZ="[object GeneratorFunction]",oZ="[object Proxy]";function aZ(A){if(!ua(A))return!1;var g=vQ(A);return g==tZ||g==CZ||g==iZ||g==oZ}var uq=aZ,rZ=Da["__core-js_shared__"],Uw=rZ,iF=function(){var A=/[^.]+$/.exec(Uw&&Uw.keys&&Uw.keys.IE_PROTO||"");return A?"Symbol(src)_1."+A:""}();function sZ(A){return!!iF&&iF in A}var BZ=sZ,QZ=Function.prototype,nZ=QZ.toString;function EZ(A){if(A!=null){try{return nZ.call(A)}catch{}try{return A+""}catch{}}return""}var KQ=EZ,hZ=/[\\^$.*+?()[\]{}|]/g,lZ=/^\[object .+?Constructor\]$/,cZ=Function.prototype,dZ=Object.prototype,uZ=cZ.toString,DZ=dZ.hasOwnProperty,pZ=RegExp("^"+uZ.call(DZ).replace(hZ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function yZ(A){if(!ua(A)||BZ(A))return!1;var g=uq(A)?pZ:lZ;return g.test(KQ(A))}var wZ=yZ;function fZ(A,g){return A?.[g]}var SZ=fZ;function GZ(A,g){var e=SZ(A,g);return wZ(e)?e:void 0}var JQ=GZ,mZ=JQ(Da,"WeakMap"),Ef=mZ,tF=Object.create,MZ=function(){function A(){}return function(g){if(!ua(g))return{};if(tF)return tF(g);A.prototype=g;var e=new A;return A.prototype=void 0,e}}(),kZ=MZ;function UZ(A,g,e){switch(e.length){case 0:return A.call(g);case 1:return A.call(g,e[0]);case 2:return A.call(g,e[0],e[1]);case 3:return A.call(g,e[0],e[1],e[2])}return A.apply(g,e)}var NZ=UZ;function FZ(A,g){var e=-1,I=A.length;for(g||(g=Array(I));++e<I;)g[e]=A[e];return g}var RZ=FZ,vZ=800,KZ=16,JZ=Date.now;function qZ(A){var g=0,e=0;return function(){var I=JZ(),i=KZ-(I-e);if(e=I,i>0){if(++g>=vZ)return arguments[0]}else g=0;return A.apply(void 0,arguments)}}var bZ=qZ;function LZ(A){return function(){return A}}var xZ=LZ,YZ=function(){try{var A=JQ(Object,"defineProperty");return A({},"",{}),A}catch{}}(),vD=YZ,HZ=vD?function(A,g){return vD(A,"toString",{configurable:!0,enumerable:!1,value:xZ(g),writable:!0})}:dq,TZ=HZ,OZ=bZ(TZ),_Z=OZ;function PZ(A,g){for(var e=-1,I=A==null?0:A.length;++e<I&&g(A[e],e,A)!==!1;);return A}var jZ=PZ,WZ=9007199254740991,zZ=/^(?:0|[1-9]\d*)$/;function VZ(A,g){var e=typeof A;return g=g??WZ,!!g&&(e=="number"||e!="symbol"&&zZ.test(A))&&A>-1&&A%1==0&&A<g}var dG=VZ;function ZZ(A,g,e){g=="__proto__"&&vD?vD(A,g,{configurable:!0,enumerable:!0,value:e,writable:!0}):A[g]=e}var Dq=ZZ;function XZ(A,g){return A===g||A!==A&&g!==g}var uG=XZ,$Z=Object.prototype,AX=$Z.hasOwnProperty;function gX(A,g,e){var I=A[g];(!(AX.call(A,g)&&uG(I,e))||e===void 0&&!(g in A))&&Dq(A,g,e)}var DG=gX;function eX(A,g,e,I){var i=!e;e||(e={});for(var t=-1,C=g.length;++t<C;){var o=g[t],a=I?I(e[o],A[o],o,e,A):void 0;a===void 0&&(a=A[o]),i?Dq(e,o,a):DG(e,o,a)}return e}var Uc=eX,CF=Math.max;function IX(A,g,e){return g=CF(g===void 0?A.length-1:g,0),function(){for(var I=arguments,i=-1,t=CF(I.length-g,0),C=Array(t);++i<t;)C[i]=I[g+i];i=-1;for(var o=Array(g+1);++i<g;)o[i]=I[i];return o[g]=e(C),NZ(A,this,o)}}var iX=IX,tX=9007199254740991;function CX(A){return typeof A=="number"&&A>-1&&A%1==0&&A<=tX}var pG=CX;function oX(A){return A!=null&&pG(A.length)&&!uq(A)}var pq=oX,aX=Object.prototype;function rX(A){var g=A&&A.constructor,e=typeof g=="function"&&g.prototype||aX;return A===e}var yG=rX;function sX(A,g){for(var e=-1,I=Array(A);++e<A;)I[e]=g(e);return I}var BX=sX,QX="[object Arguments]";function nX(A){return Es(A)&&vQ(A)==QX}var oF=nX,yq=Object.prototype,EX=yq.hasOwnProperty,hX=yq.propertyIsEnumerable,lX=oF(function(){return arguments}())?oF:function(A){return Es(A)&&EX.call(A,"callee")&&!hX.call(A,"callee")},wG=lX;function cX(){return!1}var dX=cX,wq=typeof exports=="object"&&exports&&!exports.nodeType&&exports,aF=wq&&typeof module=="object"&&module&&!module.nodeType&&module,uX=aF&&aF.exports===wq,rF=uX?Da.Buffer:void 0,DX=rF?rF.isBuffer:void 0,pX=DX||dX,KD=pX,yX="[object Arguments]",wX="[object Array]",fX="[object Boolean]",SX="[object Date]",GX="[object Error]",mX="[object Function]",MX="[object Map]",kX="[object Number]",UX="[object Object]",NX="[object RegExp]",FX="[object Set]",RX="[object String]",vX="[object WeakMap]",KX="[object ArrayBuffer]",JX="[object DataView]",qX="[object Float32Array]",bX="[object Float64Array]",LX="[object Int8Array]",xX="[object Int16Array]",YX="[object Int32Array]",HX="[object Uint8Array]",TX="[object Uint8ClampedArray]",OX="[object Uint16Array]",_X="[object Uint32Array]",Ei={};Ei[qX]=Ei[bX]=Ei[LX]=Ei[xX]=Ei[YX]=Ei[HX]=Ei[TX]=Ei[OX]=Ei[_X]=!0;Ei[yX]=Ei[wX]=Ei[KX]=Ei[fX]=Ei[JX]=Ei[SX]=Ei[GX]=Ei[mX]=Ei[MX]=Ei[kX]=Ei[UX]=Ei[NX]=Ei[FX]=Ei[RX]=Ei[vX]=!1;function PX(A){return Es(A)&&pG(A.length)&&!!Ei[vQ(A)]}var jX=PX;function WX(A){return function(g){return A(g)}}var fG=WX,fq=typeof exports=="object"&&exports&&!exports.nodeType&&exports,_l=fq&&typeof module=="object"&&module&&!module.nodeType&&module,zX=_l&&_l.exports===fq,Nw=zX&&Eq.process,VX=function(){try{var A=_l&&_l.require&&_l.require("util").types;return A||Nw&&Nw.binding&&Nw.binding("util")}catch{}}(),FE=VX,sF=FE&&FE.isTypedArray,ZX=sF?fG(sF):jX,Sq=ZX,XX=Object.prototype,$X=XX.hasOwnProperty;function A9(A,g){var e=Cr(A),I=!e&&wG(A),i=!e&&!I&&KD(A),t=!e&&!I&&!i&&Sq(A),C=e||I||i||t,o=C?BX(A.length,String):[],a=o.length;for(var r in A)(g||$X.call(A,r))&&!(C&&(r=="length"||i&&(r=="offset"||r=="parent")||t&&(r=="buffer"||r=="byteLength"||r=="byteOffset")||dG(r,a)))&&o.push(r);return o}var Gq=A9;function g9(A,g){return function(e){return A(g(e))}}var mq=g9,e9=mq(Object.keys,Object),I9=e9,i9=Object.prototype,t9=i9.hasOwnProperty;function C9(A){if(!yG(A))return I9(A);var g=[];for(var e in Object(A))t9.call(A,e)&&e!="constructor"&&g.push(e);return g}var o9=C9;function a9(A){return pq(A)?Gq(A):o9(A)}var SG=a9;function r9(A){var g=[];if(A!=null)for(var e in Object(A))g.push(e);return g}var s9=r9,B9=Object.prototype,Q9=B9.hasOwnProperty;function n9(A){if(!ua(A))return s9(A);var g=yG(A),e=[];for(var I in A)I=="constructor"&&(g||!Q9.call(A,I))||e.push(I);return e}var E9=n9;function h9(A){return pq(A)?Gq(A,!0):E9(A)}var aQ=h9,l9=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,c9=/^\w*$/;function d9(A,g){if(Cr(A))return!1;var e=typeof A;return e=="number"||e=="symbol"||e=="boolean"||A==null||kc(A)?!0:c9.test(A)||!l9.test(A)||g!=null&&A in Object(g)}var u9=d9,D9=JQ(Object,"create"),Cc=D9;function p9(){this.__data__=Cc?Cc(null):{},this.size=0}var y9=p9;function w9(A){var g=this.has(A)&&delete this.__data__[A];return this.size-=g?1:0,g}var f9=w9,S9="__lodash_hash_undefined__",G9=Object.prototype,m9=G9.hasOwnProperty;function M9(A){var g=this.__data__;if(Cc){var e=g[A];return e===S9?void 0:e}return m9.call(g,A)?g[A]:void 0}var k9=M9,U9=Object.prototype,N9=U9.hasOwnProperty;function F9(A){var g=this.__data__;return Cc?g[A]!==void 0:N9.call(g,A)}var R9=F9,v9="__lodash_hash_undefined__";function K9(A,g){var e=this.__data__;return this.size+=this.has(A)?0:1,e[A]=Cc&&g===void 0?v9:g,this}var J9=K9;function VE(A){var g=-1,e=A==null?0:A.length;for(this.clear();++g<e;){var I=A[g];this.set(I[0],I[1])}}VE.prototype.clear=y9;VE.prototype.delete=f9;VE.prototype.get=k9;VE.prototype.has=R9;VE.prototype.set=J9;var BF=VE;function q9(){this.__data__=[],this.size=0}var b9=q9;function L9(A,g){for(var e=A.length;e--;)if(uG(A[e][0],g))return e;return-1}var Mp=L9,x9=Array.prototype,Y9=x9.splice;function H9(A){var g=this.__data__,e=Mp(g,A);if(e<0)return!1;var I=g.length-1;return e==I?g.pop():Y9.call(g,e,1),--this.size,!0}var T9=H9;function O9(A){var g=this.__data__,e=Mp(g,A);return e<0?void 0:g[e][1]}var _9=O9;function P9(A){return Mp(this.__data__,A)>-1}var j9=P9;function W9(A,g){var e=this.__data__,I=Mp(e,A);return I<0?(++this.size,e.push([A,g])):e[I][1]=g,this}var z9=W9;function ZE(A){var g=-1,e=A==null?0:A.length;for(this.clear();++g<e;){var I=A[g];this.set(I[0],I[1])}}ZE.prototype.clear=b9;ZE.prototype.delete=T9;ZE.prototype.get=_9;ZE.prototype.has=j9;ZE.prototype.set=z9;var kp=ZE,V9=JQ(Da,"Map"),oc=V9;function Z9(){this.size=0,this.__data__={hash:new BF,map:new(oc||kp),string:new BF}}var X9=Z9;function $9(A){var g=typeof A;return g=="string"||g=="number"||g=="symbol"||g=="boolean"?A!=="__proto__":A===null}var A6=$9;function g6(A,g){var e=A.__data__;return A6(g)?e[typeof g=="string"?"string":"hash"]:e.map}var Up=g6;function e6(A){var g=Up(this,A).delete(A);return this.size-=g?1:0,g}var I6=e6;function i6(A){return Up(this,A).get(A)}var t6=i6;function C6(A){return Up(this,A).has(A)}var o6=C6;function a6(A,g){var e=Up(this,A),I=e.size;return e.set(A,g),this.size+=e.size==I?0:1,this}var r6=a6;function XE(A){var g=-1,e=A==null?0:A.length;for(this.clear();++g<e;){var I=A[g];this.set(I[0],I[1])}}XE.prototype.clear=X9;XE.prototype.delete=I6;XE.prototype.get=t6;XE.prototype.has=o6;XE.prototype.set=r6;var Np=XE,s6="Expected a function";function GG(A,g){if(typeof A!="function"||g!=null&&typeof g!="function")throw new TypeError(s6);var e=function(){var I=arguments,i=g?g.apply(this,I):I[0],t=e.cache;if(t.has(i))return t.get(i);var C=A.apply(this,I);return e.cache=t.set(i,C)||t,C};return e.cache=new(GG.Cache||Np),e}GG.Cache=Np;var B6=GG,Q6=500;function n6(A){var g=B6(A,function(I){return e.size===Q6&&e.clear(),I}),e=g.cache;return g}var E6=n6,h6=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l6=/\\(\\)?/g,c6=E6(function(A){var g=[];return A.charCodeAt(0)===46&&g.push(""),A.replace(h6,function(e,I,i,t){g.push(i?t.replace(l6,"$1"):I||e)}),g}),d6=c6;function u6(A){return A==null?"":OV(A)}var D6=u6;function p6(A,g){return Cr(A)?A:u9(A,g)?[A]:d6(D6(A))}var $E=p6,y6=1/0;function w6(A){if(typeof A=="string"||kc(A))return A;var g=A+"";return g=="0"&&1/A==-y6?"-0":g}var Fp=w6;function f6(A,g){g=$E(g,A);for(var e=0,I=g.length;A!=null&&e<I;)A=A[Fp(g[e++])];return e&&e==I?A:void 0}var Mq=f6;function S6(A,g){for(var e=-1,I=g.length,i=A.length;++e<I;)A[i+e]=g[e];return A}var mG=S6,QF=bo?bo.isConcatSpreadable:void 0;function G6(A){return Cr(A)||wG(A)||!!(QF&&A&&A[QF])}var m6=G6;function kq(A,g,e,I,i){var t=-1,C=A.length;for(e||(e=m6),i||(i=[]);++t<C;){var o=A[t];g>0&&e(o)?g>1?kq(o,g-1,e,I,i):mG(i,o):I||(i[i.length]=o)}return i}var M6=kq;function k6(A){var g=A==null?0:A.length;return g?M6(A,1):[]}var U6=k6;function N6(A){return _Z(iX(A,void 0,U6),A+"")}var Uq=N6,F6=mq(Object.getPrototypeOf,Object),MG=F6,R6="[object Object]",v6=Function.prototype,K6=Object.prototype,Nq=v6.toString,J6=K6.hasOwnProperty,q6=Nq.call(Object);function b6(A){if(!Es(A)||vQ(A)!=R6)return!1;var g=MG(A);if(g===null)return!0;var e=J6.call(g,"constructor")&&g.constructor;return typeof e=="function"&&e instanceof e&&Nq.call(e)==q6}var L6=b6;function x6(A,g,e){var I=-1,i=A.length;g<0&&(g=-g>i?0:i+g),e=e>i?i:e,e<0&&(e+=i),i=g>e?0:e-g>>>0,g>>>=0;for(var t=Array(i);++I<i;)t[I]=A[I+g];return t}var Y6=x6;function H6(){this.__data__=new kp,this.size=0}var T6=H6;function O6(A){var g=this.__data__,e=g.delete(A);return this.size=g.size,e}var _6=O6;function P6(A){return this.__data__.get(A)}var j6=P6;function W6(A){return this.__data__.has(A)}var z6=W6,V6=200;function Z6(A,g){var e=this.__data__;if(e instanceof kp){var I=e.__data__;if(!oc||I.length<V6-1)return I.push([A,g]),this.size=++e.size,this;e=this.__data__=new Np(I)}return e.set(A,g),this.size=e.size,this}var X6=Z6;function Ah(A){var g=this.__data__=new kp(A);this.size=g.size}Ah.prototype.clear=T6;Ah.prototype.delete=_6;Ah.prototype.get=j6;Ah.prototype.has=z6;Ah.prototype.set=X6;var oD=Ah;function $6(A,g){return A&&Uc(g,SG(g),A)}var A7=$6;function g7(A,g){return A&&Uc(g,aQ(g),A)}var e7=g7,Fq=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nF=Fq&&typeof module=="object"&&module&&!module.nodeType&&module,I7=nF&&nF.exports===Fq,EF=I7?Da.Buffer:void 0,hF=EF?EF.allocUnsafe:void 0;function i7(A,g){if(g)return A.slice();var e=A.length,I=hF?hF(e):new A.constructor(e);return A.copy(I),I}var t7=i7;function C7(A,g){for(var e=-1,I=A==null?0:A.length,i=0,t=[];++e<I;){var C=A[e];g(C,e,A)&&(t[i++]=C)}return t}var o7=C7;function a7(){return[]}var Rq=a7,r7=Object.prototype,s7=r7.propertyIsEnumerable,lF=Object.getOwnPropertySymbols,B7=lF?function(A){return A==null?[]:(A=Object(A),o7(lF(A),function(g){return s7.call(A,g)}))}:Rq,kG=B7;function Q7(A,g){return Uc(A,kG(A),g)}var n7=Q7,E7=Object.getOwnPropertySymbols,h7=E7?function(A){for(var g=[];A;)mG(g,kG(A)),A=MG(A);return g}:Rq,vq=h7;function l7(A,g){return Uc(A,vq(A),g)}var c7=l7;function d7(A,g,e){var I=g(A);return Cr(A)?I:mG(I,e(A))}var Kq=d7;function u7(A){return Kq(A,SG,kG)}var hf=u7;function D7(A){return Kq(A,aQ,vq)}var Jq=D7,p7=JQ(Da,"DataView"),lf=p7,y7=JQ(Da,"Promise"),cf=y7,w7=JQ(Da,"Set"),df=w7,cF="[object Map]",f7="[object Object]",dF="[object Promise]",uF="[object Set]",DF="[object WeakMap]",pF="[object DataView]",S7=KQ(lf),G7=KQ(oc),m7=KQ(cf),M7=KQ(df),k7=KQ(Ef),AQ=vQ;(lf&&AQ(new lf(new ArrayBuffer(1)))!=pF||oc&&AQ(new oc)!=cF||cf&&AQ(cf.resolve())!=dF||df&&AQ(new df)!=uF||Ef&&AQ(new Ef)!=DF)&&(AQ=function(A){var g=vQ(A),e=g==f7?A.constructor:void 0,I=e?KQ(e):"";if(I)switch(I){case S7:return pF;case G7:return cF;case m7:return dF;case M7:return uF;case k7:return DF}return g});var ac=AQ,U7=Object.prototype,N7=U7.hasOwnProperty;function F7(A){var g=A.length,e=new A.constructor(g);return g&&typeof A[0]=="string"&&N7.call(A,"index")&&(e.index=A.index,e.input=A.input),e}var R7=F7,v7=Da.Uint8Array,JD=v7;function K7(A){var g=new A.constructor(A.byteLength);return new JD(g).set(new JD(A)),g}var UG=K7;function J7(A,g){var e=g?UG(A.buffer):A.buffer;return new A.constructor(e,A.byteOffset,A.byteLength)}var q7=J7,b7=/\w*$/;function L7(A){var g=new A.constructor(A.source,b7.exec(A));return g.lastIndex=A.lastIndex,g}var x7=L7,yF=bo?bo.prototype:void 0,wF=yF?yF.valueOf:void 0;function Y7(A){return wF?Object(wF.call(A)):{}}var H7=Y7;function T7(A,g){var e=g?UG(A.buffer):A.buffer;return new A.constructor(e,A.byteOffset,A.length)}var O7=T7,_7="[object Boolean]",P7="[object Date]",j7="[object Map]",W7="[object Number]",z7="[object RegExp]",V7="[object Set]",Z7="[object String]",X7="[object Symbol]",$7="[object ArrayBuffer]",A$="[object DataView]",g$="[object Float32Array]",e$="[object Float64Array]",I$="[object Int8Array]",i$="[object Int16Array]",t$="[object Int32Array]",C$="[object Uint8Array]",o$="[object Uint8ClampedArray]",a$="[object Uint16Array]",r$="[object Uint32Array]";function s$(A,g,e){var I=A.constructor;switch(g){case $7:return UG(A);case _7:case P7:return new I(+A);case A$:return q7(A,e);case g$:case e$:case I$:case i$:case t$:case C$:case o$:case a$:case r$:return O7(A,e);case j7:return new I;case W7:case Z7:return new I(A);case z7:return x7(A);case V7:return new I;case X7:return H7(A)}}var B$=s$;function Q$(A){return typeof A.constructor=="function"&&!yG(A)?kZ(MG(A)):{}}var n$=Q$,E$="[object Map]";function h$(A){return Es(A)&&ac(A)==E$}var l$=h$,fF=FE&&FE.isMap,c$=fF?fG(fF):l$,d$=c$,u$="[object Set]";function D$(A){return Es(A)&&ac(A)==u$}var p$=D$,SF=FE&&FE.isSet,y$=SF?fG(SF):p$,w$=y$,f$=1,S$=2,G$=4,qq="[object Arguments]",m$="[object Array]",M$="[object Boolean]",k$="[object Date]",U$="[object Error]",bq="[object Function]",N$="[object GeneratorFunction]",F$="[object Map]",R$="[object Number]",Lq="[object Object]",v$="[object RegExp]",K$="[object Set]",J$="[object String]",q$="[object Symbol]",b$="[object WeakMap]",L$="[object ArrayBuffer]",x$="[object DataView]",Y$="[object Float32Array]",H$="[object Float64Array]",T$="[object Int8Array]",O$="[object Int16Array]",_$="[object Int32Array]",P$="[object Uint8Array]",j$="[object Uint8ClampedArray]",W$="[object Uint16Array]",z$="[object Uint32Array]",si={};si[qq]=si[m$]=si[L$]=si[x$]=si[M$]=si[k$]=si[Y$]=si[H$]=si[T$]=si[O$]=si[_$]=si[F$]=si[R$]=si[Lq]=si[v$]=si[K$]=si[J$]=si[q$]=si[P$]=si[j$]=si[W$]=si[z$]=!0;si[U$]=si[bq]=si[b$]=!1;function aD(A,g,e,I,i,t){var C,o=g&f$,a=g&S$,r=g&G$;if(e&&(C=i?e(A,I,i,t):e(A)),C!==void 0)return C;if(!ua(A))return A;var s=Cr(A);if(s){if(C=R7(A),!o)return RZ(A,C)}else{var B=ac(A),Q=B==bq||B==N$;if(KD(A))return t7(A,o);if(B==Lq||B==qq||Q&&!i){if(C=a||Q?{}:n$(A),!o)return a?c7(A,e7(C,A)):n7(A,A7(C,A))}else{if(!si[B])return i?A:{};C=B$(A,B,o)}}t||(t=new oD);var n=t.get(A);if(n)return n;t.set(A,C),w$(A)?A.forEach(function(h){C.add(aD(h,g,e,h,A,t))}):d$(A)&&A.forEach(function(h,u){C.set(u,aD(h,g,e,u,A,t))});var E=r?a?Jq:hf:a?aQ:SG,l=s?void 0:E(A);return jZ(l||A,function(h,u){l&&(u=h,h=A[u]),DG(C,u,aD(h,g,e,u,A,t))}),C}var xq=aD,V$=1,Z$=4;function X$(A){return xq(A,V$|Z$)}var Rp=X$,$$="__lodash_hash_undefined__";function AAA(A){return this.__data__.set(A,$$),this}var gAA=AAA;function eAA(A){return this.__data__.has(A)}var IAA=eAA;function qD(A){var g=-1,e=A==null?0:A.length;for(this.__data__=new Np;++g<e;)this.add(A[g])}qD.prototype.add=qD.prototype.push=gAA;qD.prototype.has=IAA;var iAA=qD;function tAA(A,g){for(var e=-1,I=A==null?0:A.length;++e<I;)if(g(A[e],e,A))return!0;return!1}var CAA=tAA;function oAA(A,g){return A.has(g)}var aAA=oAA,rAA=1,sAA=2;function BAA(A,g,e,I,i,t){var C=e&rAA,o=A.length,a=g.length;if(o!=a&&!(C&&a>o))return!1;var r=t.get(A),s=t.get(g);if(r&&s)return r==g&&s==A;var B=-1,Q=!0,n=e&sAA?new iAA:void 0;for(t.set(A,g),t.set(g,A);++B<o;){var E=A[B],l=g[B];if(I)var h=C?I(l,E,B,g,A,t):I(E,l,B,A,g,t);if(h!==void 0){if(h)continue;Q=!1;break}if(n){if(!CAA(g,function(u,D){if(!aAA(n,D)&&(E===u||i(E,u,e,I,t)))return n.push(D)})){Q=!1;break}}else if(!(E===l||i(E,l,e,I,t))){Q=!1;break}}return t.delete(A),t.delete(g),Q}var Yq=BAA;function QAA(A){var g=-1,e=Array(A.size);return A.forEach(function(I,i){e[++g]=[i,I]}),e}var nAA=QAA;function EAA(A){var g=-1,e=Array(A.size);return A.forEach(function(I){e[++g]=I}),e}var hAA=EAA,lAA=1,cAA=2,dAA="[object Boolean]",uAA="[object Date]",DAA="[object Error]",pAA="[object Map]",yAA="[object Number]",wAA="[object RegExp]",fAA="[object Set]",SAA="[object String]",GAA="[object Symbol]",mAA="[object ArrayBuffer]",MAA="[object DataView]",GF=bo?bo.prototype:void 0,Fw=GF?GF.valueOf:void 0;function kAA(A,g,e,I,i,t,C){switch(e){case MAA:if(A.byteLength!=g.byteLength||A.byteOffset!=g.byteOffset)return!1;A=A.buffer,g=g.buffer;case mAA:return!(A.byteLength!=g.byteLength||!t(new JD(A),new JD(g)));case dAA:case uAA:case yAA:return uG(+A,+g);case DAA:return A.name==g.name&&A.message==g.message;case wAA:case SAA:return A==g+"";case pAA:var o=nAA;case fAA:var a=I&lAA;if(o||(o=hAA),A.size!=g.size&&!a)return!1;var r=C.get(A);if(r)return r==g;I|=cAA,C.set(A,g);var s=Yq(o(A),o(g),I,i,t,C);return C.delete(A),s;case GAA:if(Fw)return Fw.call(A)==Fw.call(g)}return!1}var UAA=kAA,NAA=1,FAA=Object.prototype,RAA=FAA.hasOwnProperty;function vAA(A,g,e,I,i,t){var C=e&NAA,o=hf(A),a=o.length,r=hf(g),s=r.length;if(a!=s&&!C)return!1;for(var B=a;B--;){var Q=o[B];if(!(C?Q in g:RAA.call(g,Q)))return!1}var n=t.get(A),E=t.get(g);if(n&&E)return n==g&&E==A;var l=!0;t.set(A,g),t.set(g,A);for(var h=C;++B<a;){Q=o[B];var u=A[Q],D=g[Q];if(I)var p=C?I(D,u,Q,g,A,t):I(u,D,Q,A,g,t);if(!(p===void 0?u===D||i(u,D,e,I,t):p)){l=!1;break}h||(h=Q=="constructor")}if(l&&!h){var w=A.constructor,k=g.constructor;w!=k&&"constructor"in A&&"constructor"in g&&!(typeof w=="function"&&w instanceof w&&typeof k=="function"&&k instanceof k)&&(l=!1)}return t.delete(A),t.delete(g),l}var KAA=vAA,JAA=1,mF="[object Arguments]",MF="[object Array]",Qu="[object Object]",qAA=Object.prototype,kF=qAA.hasOwnProperty;function bAA(A,g,e,I,i,t){var C=Cr(A),o=Cr(g),a=C?MF:ac(A),r=o?MF:ac(g);a=a==mF?Qu:a,r=r==mF?Qu:r;var s=a==Qu,B=r==Qu,Q=a==r;if(Q&&KD(A)){if(!KD(g))return!1;C=!0,s=!1}if(Q&&!s)return t||(t=new oD),C||Sq(A)?Yq(A,g,e,I,i,t):UAA(A,g,a,e,I,i,t);if(!(e&JAA)){var n=s&&kF.call(A,"__wrapped__"),E=B&&kF.call(g,"__wrapped__");if(n||E){var l=n?A.value():A,h=E?g.value():g;return t||(t=new oD),i(l,h,e,I,t)}}return Q?(t||(t=new oD),KAA(A,g,e,I,i,t)):!1}var LAA=bAA;function Hq(A,g,e,I,i){return A===g?!0:A==null||g==null||!Es(A)&&!Es(g)?A!==A&&g!==g:LAA(A,g,e,I,Hq,i)}var xAA=Hq;function YAA(A,g){return A!=null&&g in Object(A)}var HAA=YAA;function TAA(A,g,e){g=$E(g,A);for(var I=-1,i=g.length,t=!1;++I<i;){var C=Fp(g[I]);if(!(t=A!=null&&e(A,C)))break;A=A[C]}return t||++I!=i?t:(i=A==null?0:A.length,!!i&&pG(i)&&dG(C,i)&&(Cr(A)||wG(A)))}var OAA=TAA;function _AA(A,g){return A!=null&&OAA(A,g,HAA)}var PAA=_AA,jAA=function(){return Da.Date.now()},Rw=jAA,WAA="Expected a function",zAA=Math.max,VAA=Math.min;function ZAA(A,g,e){var I,i,t,C,o,a,r=0,s=!1,B=!1,Q=!0;if(typeof A!="function")throw new TypeError(WAA);g=IF(g)||0,ua(e)&&(s=!!e.leading,B="maxWait"in e,t=B?zAA(IF(e.maxWait)||0,g):t,Q="trailing"in e?!!e.trailing:Q);function n(U){var N=I,G=i;return I=i=void 0,r=U,C=A.apply(G,N),C}function E(U){return r=U,o=setTimeout(u,g),s?n(U):C}function l(U){var N=U-a,G=U-r,R=g-N;return B?VAA(R,t-G):R}function h(U){var N=U-a,G=U-r;return a===void 0||N>=g||N<0||B&&G>=t}function u(){var U=Rw();if(h(U))return D(U);o=setTimeout(u,l(U))}function D(U){return o=void 0,Q&&I?n(U):(I=i=void 0,C)}function p(){o!==void 0&&clearTimeout(o),r=0,I=a=i=o=void 0}function w(){return o===void 0?C:D(Rw())}function k(){var U=Rw(),N=h(U);if(I=arguments,i=this,a=U,N){if(o===void 0)return E(a);if(B)return clearTimeout(o),o=setTimeout(u,g),n(a)}return o===void 0&&(o=setTimeout(u,g)),C}return k.cancel=p,k.flush=w,k}var NG=ZAA;function XAA(A){var g=A==null?0:A.length;return g?A[g-1]:void 0}var $AA=XAA;function AgA(A,g){return A>g}var ggA=AgA;function egA(A,g){return g.length<2?A:Mq(A,Y6(g,0,-1))}var IgA=egA;function igA(A,g){return xAA(A,g)}var FG=igA;function tgA(A,g,e){for(var I=-1,i=A.length;++I<i;){var t=A[I],C=g(t);if(C!=null&&(o===void 0?C===C&&!kc(C):e(C,o)))var o=C,a=t}return a}var CgA=tgA;function ogA(A){return A&&A.length?CgA(A,dq,ggA):void 0}var agA=ogA;function rgA(A,g){return g=$E(g,A),A=IgA(A,g),A==null||delete A[Fp($AA(g))]}var sgA=rgA;function BgA(A){return L6(A)?void 0:A}var QgA=BgA,ngA=1,EgA=2,hgA=4,lgA=Uq(function(A,g){var e={};if(A==null)return e;var I=!1;g=lq(g,function(t){return t=$E(t,A),I||(I=t.length>1),t}),Uc(A,Jq(A),e),I&&(e=xq(e,ngA|EgA|hgA,QgA));for(var i=g.length;i--;)sgA(e,g[i]);return e}),uf=lgA;function cgA(A,g,e,I){if(!ua(A))return A;g=$E(g,A);for(var i=-1,t=g.length,C=t-1,o=A;o!=null&&++i<t;){var a=Fp(g[i]),r=e;if(a==="__proto__"||a==="constructor"||a==="prototype")return A;if(i!=C){var s=o[a];r=I?I(s,a,o):void 0,r===void 0&&(r=ua(s)?s:dG(g[i+1])?[]:{})}DG(o,a,r),o=o[a]}return A}var dgA=cgA;function ugA(A,g,e){for(var I=-1,i=g.length,t={};++I<i;){var C=g[I],o=Mq(A,C);e(o,C)&&dgA(t,$E(C,A),o)}return t}var DgA=ugA;function pgA(A,g){return DgA(A,g,function(e,I){return PAA(A,I)})}var ygA=pgA,wgA=Uq(function(A,g){return A==null?{}:ygA(A,g)}),ss=wgA,fgA="Expected a function";function SgA(A,g,e){var I=!0,i=!0;if(typeof A!="function")throw new TypeError(fgA);return ua(e)&&(I="leading"in e?!!e.leading:I,i="trailing"in e?!!e.trailing:i),NG(A,g,{leading:I,maxWait:g,trailing:i})}var GgA=SgA;function Tq(A){for(let g of Object.keys(A))A[g]===void 0&&delete A[g];return A}function or(A,g){return Object.setPrototypeOf(A,g),A}var mgA=()=>typeof window>"u"?!1:window.navigator.userAgent.toLowerCase().includes(" electron/"),MgA=()=>typeof window>"u"?!1:window.navigator.platform.toUpperCase().includes("MAC"),kgA=()=>typeof window>"u"?!1:/iPad|iPhone|iPod/.test(window.navigator.userAgent)||vp&&"ontouchend"in document,UgA=()=>typeof window>"u"?!1:window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1,NgA=()=>typeof window>"u"?!1:"ontouchstart"in window||navigator.maxTouchPoints>0,FgA=()=>{if(typeof window>"u")return!1;let A=navigator.userAgent,g=navigator.vendor;return/Safari/i.test(A)&&/Apple Computer/.test(g)},RgA=()=>{if(typeof window>"u")return null;let A=navigator.userAgent.match(/Version\/(\d+\.\d)/);return A&&A[1]},vgA=()=>{if(typeof window>"u")return;let A=new URLSearchParams(window.location.search).get("desktop-app-version");return A?(window.localStorage.setItem("desktop-app-version",A),A):window.localStorage.getItem("desktop-app-version")??"0.0.6"},Oq=mgA(),ohA=Oq?vgA():void 0,vp=MgA(),Nc=kgA(),KgA=UgA(),ro=NgA(),UF=FgA(),JgA=Number(RgA());function _q(A){return Array.isArray(A)?A:[A]}function Pq(A,g){let e=0;for(;e<A.length&&e<g.length;){if(A[e]<g[e])return-1;if(A[e]>g[e])return 1;e+=1}return e!==g.length?-1:e!==A.length?1:0}function nu(A){return vp?A.metaKey:A.ctrlKey}function qgA(A){return A.wheelDeltaY===0||A.deltaY===0?vp&&A.shiftKey&&Math.abs(A.wheelDeltaX)>=120?!1:A.wheelDeltaX?A.wheelDeltaX===-3*A.deltaX||A.wheelDeltaX===-3*window.devicePixelRatio*A.deltaX:A.deltaMode===0:A.wheelDeltaY?A.wheelDeltaY===-3*A.deltaY||A.wheelDeltaY===-3*window.devicePixelRatio*A.deltaY:A.deltaMode===0}var ye=[],bD={},vl={},rD={};function jq(A){ye.includes(A)||ye.push(A)}function lE(A){delete bD[A.pointerId];for(let g=0;g<ye.length;g++)if(ye[g].pointerId===A.pointerId){ye.splice(g,1);break}}function bgA(){ye.splice(0,ye.length)}function LD(A){if(A.pointerType!=="touch")return;let g=bD[A.pointerId];g===void 0&&(g={x:0,y:0},bD[A.pointerId]=g),g.x=A.pageX,g.y=A.pageY}function vw(A){let g=A.pointerId===ye[0].pointerId?ye[1]:ye[0];return bD[g.pointerId]}function Wq(A){vl[A.key]=!0,rD[A.key]=rD[A.key]===void 0?1:rD[A.key]+1}function zq(A){if(vp&&vl.Meta)for(let g in vl)vl[g]=!1;else vl[A.key]=!1;rD={}}function LgA(A){A.addEventListener("pointerdown",jq,!0),A.addEventListener("pointerdown",LD,!0),A.addEventListener("pointermove",LD,!0),A.addEventListener("pointerup",lE,!0),A.addEventListener("pointercancel",lE,!0),A.addEventListener("pointerleave",lE,!0),window.addEventListener("keydown",Wq,!0),window.addEventListener("keyup",zq,!0)}function xgA(A){A.removeEventListener("pointerdown",jq,!0),A.removeEventListener("pointerdown",LD,!0),A.removeEventListener("pointermove",LD,!0),A.removeEventListener("pointerup",lE,!0),A.removeEventListener("pointercancel",lE,!0),A.removeEventListener("pointerleave",lE,!0),window.removeEventListener("keydown",Wq,!0),window.removeEventListener("keyup",zq,!0)}var Vq,YgA=new Promise(A=>{Vq=A}),Eu;function HgA(){if(Eu)return Eu;async function A(){let g="https://unpkg.com/@splinetool/navmesh-wasm@1.9.3/build",e=Promise.resolve().then(()=>(Km(),vm)),[I,i]=await Promise.all([e,fetch(`${g}/navmesh.wasm`).then(o=>o.arrayBuffer())]),t=I.default,C=await t({wasmBinary:i});Vq(C)}return Eu=A(),Eu}var Zq,TgA=new Promise(A=>{Zq=A}),hu;function OgA(){if(hu)return hu;async function A(){let g=await Promise.resolve().then(()=>(Wm(),jm));await g.init(),Zq(g)}return hu=A(),hu}var He=class{modifyById(A,g){let e=this;if(e[A]===void 0)throw new Error("not expected");{let I={...e,[A]:g};return Object.setPrototypeOf(I,He.prototype),I}}add(A,g){return this.runOp({type:1,id:A,data:g})?.data??this}runOp(A){let g=this;if(A.type===1){let e=g[A.id],I;e===void 0?I={type:2,id:A.id}:I={type:1,id:A.id,data:e};let{id:i,data:t}=A,C={...g,[i]:t};return Object.setPrototypeOf(C,He.prototype),{data:C,actual:A,reverse:I}}else if(A.type===2){let{id:e}=A,I=g[e];if(I===void 0)return null;{let i={...g};return Object.setPrototypeOf(i,He.prototype),delete i[e],{data:i,actual:A,reverse:{type:1,id:e,data:I}}}}return null}};function RG(A){if(A.deepFreeze!==void 0){A.deepFreeze(A);return}let g=Object.getOwnPropertyNames(A);for(let e of g){let I=A[e];I&&typeof I=="object"&&RG(I)}return Object.freeze(A)}function _gA(A,g){let e=0;for(;e<A.length&&e<g.length;){if(A[e]<g[e])return-1;if(A[e]>g[e])return 1;e+=1}return e!==g.length?-1:e!==A.length?1:0}var Xq=class extends Error{};function Kw(A){let g={...A};return Object.setPrototypeOf(g,Object.getPrototypeOf(A)),g}function aB(A,g,e){if(A===void 0?g===void 0?(A=0,g=10):A=g-10:g===void 0&&(g=A+10),A>g){let t=A;A=g,g=t}let I=[],i=1/(e+1);for(let t=0;t<e;t++){let C=A+(g-A)*(t+.75+Math.random()*.5)*i;I.push(C)}return I}function vG(A){return A instanceof Uint8Array||A instanceof Uint16Array||A instanceof Uint32Array||A instanceof Int8Array||A instanceof Int16Array||A instanceof Int32Array||A instanceof Float32Array||A instanceof Float64Array}function PgA(){return typeof process<"u"}function $q(A,g){for(let e of A)g(e.id,e.data)!==!0&&$q(e.children,g)}function Ab(A,g){if(g(A.id,A.data)!==!0)for(let e of A.children)Ab(e,g)}var eC=class extends Array{constructor(...A){super(...A),Object.setPrototypeOf(this,eC.prototype)}deepFreeze(){let A=0;for(;A<this.length;)RG(this[A]),A++}fillCaches0(A,g){this.objCaches.set(A.id,A),this.parentCaches.set(A.id,g);for(let e of A.children)this.fillCaches0(e,A.id)}fillCaches(){if(this.objCaches===void 0){this.objCaches=new Map,this.parentCaches=new Map;for(let A of this)this.fillCaches0(A,null)}}randomId(){this.fillCaches();let A=Array.from(this.objCaches.keys());if(A.length!==0)return A[Math.max(0,Math.floor(Math.random()*A.length)-1)]}nonExistOrDescendantOf(A,g){if(!this.has(A))return!0;for(;A;){let e=this.parent(A);if(e===g)return!0;A=e}return!1}rootAcestor(A){for(;A;){let g=this.parent(A);if(g)A=g;else return A}return A}isDescendantOf(A,g){for(;A;){let e=this.parent(A);if(e===g)return!0;A=e}return!1}data(A){return this.get(A)?.data}has(A){return this.childrenOf(A)!==void 0}get(A){return this.fillCaches(),this.objCaches.get(A)}childrenOf(A){return A===null?this:this.get(A)?.children}traverseFrom(A,g){if(A===null)this.traverse(g);else{let e=this.get(A);e&&Ab(e,g)}}traverse(A){$q(this,A)}totalSize(){return this.fillCaches(),this.objCaches.size}parent(A){return this.fillCaches(),this.parentCaches.get(A)}childrenArray(A){return A===null?this:this.get(A).children}modifyById(A,g){if(this.get(A)===void 0)throw new Error("not expected");{let e=this.parent(A),I=this.childrenArray(e),i=I.findIndex(C=>C.id===A);if(i<0)throw new Error("not expected");let t=I[i];return I=[...I],I[i]={...t,data:g},this.modifyArrayBy(e,I)}}modifyArrayBy(A,g){let e=A,I=g;for(;e!==null;){let t=I,C=e;if(e=this.parent(e),e===void 0)throw new Error;I=this.childrenArray(e);let o=I.findIndex(a=>a.id===C);if(o<0)throw new Error;I=[...I],I[o]={...I[o],children:t}}Object.setPrototypeOf(I,eC.prototype);let i=I;return i.fillCaches(),i}runOp(A){switch(A.type){case 7:return this.addOp(A);case 8:return this.deleteOp(A);case 9:return this.moveOp(A)}return null}checkDuplicatedIdRec({id:A,children:g}){if(this.get(A)!==void 0)return!0;for(let e of g)if(this.checkDuplicatedIdRec(e))return!0;return!1}addOp(A){let{parent:g,fi:e,id:I,data:i,children:t}=A;if(g!==null&&this.get(g)===void 0||this.checkDuplicatedIdRec(A))return null;{let C=g,o=this.childrenArray(C),a={fi:e,id:I,data:i,children:t};return o=[...o,a],o.sort((r,s)=>r.fi-s.fi),A.localIndex=o.indexOf(a),{data:this.modifyArrayBy(C,o),actual:A,reverse:{type:8,id:I}}}}deleteOp(A){let{id:g}=A;if(this.get(g)===null)return null;{let e=this.parent(g);if(e===void 0)return null;let I=this.childrenArray(e),i=I.findIndex(C=>C.id===g);A.localIndex=i,I=[...I];let t=I.splice(i,1)[0];return{data:this.modifyArrayBy(e,I),actual:A,reverse:{type:7,...t,parent:e}}}}moveOp(A){let{parent:g,fi:e,id:I}=A;if(g!==null&&this.get(g)===void 0)return this.deleteOp({type:8,id:I});if(g!==null){let B=g;for(;B!==null;){if(B===void 0)throw new Error;if(B===I)throw new Xq("cyclic tree");B=this.parent(B)}}let i=this.parent(I);if(i===void 0)return null;let t=i,C=this.childrenArray(i),o=C.findIndex(B=>B.id===I);C=[...C];let a=C.splice(o,1)[0],r=this.modifyArrayBy(i,C);i=g,C=r.childrenArray(i);let s=a.fi;return a={...a,fi:e},C=[...C,a],C.sort((B,Q)=>B.fi-Q.fi),A.localIndex=C.indexOf(a),r=r.modifyArrayBy(i,C),{data:r,actual:A,reverse:{type:9,parent:t,fi:s,id:I}}}previous(A,g){if(g===null){let I=this.childrenArray(A);return I.length===0?null:I[I.length-1].id}let e=null;for(let I of this.childrenArray(A)){if(I.id===g)return e;e=I.id}return null}traverseSortNext(A){let g=this.parent(A);if(g!==void 0){let e=this.childrenArray(g),I=e.findIndex(i=>i.id===A)+1;if(I<e.length)return e[I].id;if(g)return this.traverseSortNext(g)}}sortNext(A){let g=this.childrenArray(A);return g.length>0?g[0].id:this.traverseSortNext(A)}traverseSortPrevious(A){let g=this.childrenArray(A);return g.length>0?this.traverseSortPrevious(g[g.length-1].id):A}sortPrevious(A){let g=this.parent(A);if(g!==void 0){let e=this.childrenArray(g),I=e.findIndex(i=>i.id===A)-1;return I>=0?this.traverseSortPrevious(e[I].id):g}}getAllSorted(A){let g=[];for(let e of A){let I=this.getWithSortKey(e.id);I!==void 0&&g.push({...e,...I})}g.sort((e,I)=>_gA(e.sortKey,I.sortKey));for(let e of g)delete e.sortKey;return g}getWithSortKey(A){var g=A;let e=[],I=this.get(g),i=I;if(I!==void 0){for(;g;)e.splice(0,0,I.fi),g=this.parent(g),g!==null&&(I=this.get(g));return{...i,sortKey:e}}}insertBeforeHelper(A,g,e){return this.insertAfterHelper(A,this.previous(A,g),e)}insertAfterHelper(A,g,e){let I=this.childrenArray(A);if(g===null){if(I.length===0)return aB(0,e,e);{let i=I[0].fi;return aB(i-e,i,e)}}else{let i=this.get(g);if(i===void 0||this.parent(g)!==A)throw new Error("illegal args");let t=I.find(C=>C.fi>i.fi);if(t===void 0){let C=I[I.length-1].fi;return aB(C,C+e,e)}else return aB(i.fi,t.fi,e)}}},xD;(A=>{function g(e,I){if(I.type!==0)return null;if(Array.isArray(e)){let i=I.props,t={},C=[...e],o=!1;if(i)for(let a of Object.keys(i)){let r=parseInt(a);if(isNaN(r))throw new Error("wrong index");t[a]=C[r],C[r]=i[a],o=!0}return o?{data:C,actual:I,reverse:{type:0,props:t}}:null}else{let i=I.props,t={},C={...e},o=!1;if(i)for(let a of Object.keys(i)){t[a]=C[a];let r=i[a];r===void 0?delete C[a]:C[a]=r,o=!0}return o?{data:C,actual:I,reverse:{type:0,props:t}}:null}}A.runOp=g})(xD||(xD={}));var ce=class extends Array{constructor(...A){super(...A),Object.setPrototypeOf(this,ce.prototype)}deepFreeze(){let A=0;for(;A<this.length;)RG(this[A]),A++}fillCaches0(A){this.objCaches.set(A.id,A)}fillCaches(){if(this.objCaches===void 0){this.objCaches=new Map,Object.getOwnPropertyDescriptor(this,"objCaches").enumerable=!1;for(let A of this)this.fillCaches0(A)}}randomId(){this.fillCaches();let A=Array.from(this.objCaches.keys());if(A.length!==0)return A[Math.max(0,Math.floor(Math.random()*A.length)-1)]}data(A){return this.get(A)?.data}get(A){return this.fillCaches(),this.objCaches.get(A)}modifyById(A,g){if(this.get(A)===void 0)throw new Error("not expected");{let e=this,I=e.findIndex(t=>t.id===A);if(I<0)throw new Error("not expected");let i=e[I];return e=[...e],e[I]={...i,data:g},this.modifyArrayBy(e)}}modifyArrayBy(A){Object.setPrototypeOf(A,ce.prototype);let g=A;return PgA()||g.fillCaches(),g}runOp(A){switch(A.type){case 4:return this.addOp(A);case 5:return this.deleteOp(A);case 6:return this.moveOp(A)}return null}addOp(A){let{fi:g,id:e,data:I}=A,i=this,t={fi:g,id:e,data:I};return i=[...i,t],i.sort((C,o)=>C.fi-o.fi),A.localIndex=i.indexOf(t),{data:this.modifyArrayBy(i),actual:A,reverse:{type:5,id:e}}}deleteOp(A){let{id:g}=A,e=this,I=e.findIndex(t=>t.id===g);if(I===-1)return null;A.localIndex=I,e=[...e];let i=e.splice(I,1)[0];return{data:this.modifyArrayBy(e),actual:A,reverse:{type:4,...i}}}moveOp(A){let{fi:g,id:e}=A,I=this;I=[...I];let i=I.findIndex(o=>o.id===e);if(i===-1)return null;let t=I[i].fi,C={...I[i],fi:g};return I[i]=C,I.sort((o,a)=>o.fi-a.fi),A.localIndex=I.indexOf(C),{data:this.modifyArrayBy(I),actual:A,reverse:{type:6,fi:t,id:e}}}previous(A){if(A===null)return this.length===0?null:this[this.length-1].id;let g=null;for(let e of this){if(e.id===A)return g;g=e.id}return null}insertBeforeHelper(A,g){return this.insertAfterHelper(this.previous(A),g)}insertAfterHelper(A,g){let e=this;if(A===null){if(e.length===0)return aB(0,g,g);{let I=e[0].fi;return aB(I-g,I,g)}}else{let I=this.get(A);if(I===void 0)throw new Error("illegal args");let i=e.find(t=>t.fi>I.fi);if(i===void 0){let t=e[e.length-1].fi;return aB(t,t+g,g)}else return aB(I.fi,i.fi,g)}}};function RE(A){return A&&typeof A=="object"&&A instanceof ot}var ot=class{unusedFunOverridesTable(A){}runOp(A){let g=[],e=this,I=0,i={};for(;I<A.path.length;){if(g.push(e),e=e===void 0?void 0:e[A.path[I]],e!==void 0&&!RE(e))return null;I+=1}e=e?Kw(e):new ot;for(let[o,a]of Object.entries(A.props)){let r=e[o];i[o]=r,a===void 0?delete e[o]:e[o]=a}for(;I>0;){if(Object.keys(e).length===0){let o=g[I-1];o&&(e=Kw(o),delete e[A.path[I-1]])}else{let o=g[I-1];if(o){let a=Kw(o);a[A.path[I-1]]=e,e=a}else{let a=new ot;a[A.path[I-1]]=e,e=a}}I-=1}let t=Object.setPrototypeOf(e,ot.prototype),C={...A,props:i};return{data:t,actual:A,reverse:C}}},cB;(A=>{function g(i,t){return rc(i,t)??i}A.apply=g;function e(i,t){return JG(i,t)}A.merge=e;function I(i,t){let C=0,o=t.path,a=i;for(;C<o.length&&a!==void 0;){if(a=gC.zoomOnce(a,o[C]),a===void 0)return t;if(!RE(a))return;C+=1}if(a===void 0)return t;if(RE(a))if(t.type===0){let r={...t.props};for(let s of Object.keys(a))delete r[s];return{...t,props:r}}else if(t.type===1||t.type===4||t.type===7){let r=KG([t],a);return r?(console.log(r),r):t}else return t}A.filterOp=I})(cB||(cB={}));function KG(A,g){if(g===void 0)return;let e=!1,I=A.map(i=>{let t=i.id,C=rc(i.data,g[t]);if(e=e||C!==void 0,C===void 0&&(C=i.data),i.children){let o=KG(i.children,g);return o!==void 0?e=!0:o=i.children,{...i,id:t,data:C,children:o}}else return{...i,id:t,data:C}});if(e)return I}function jgA(A,g){if(g===void 0)return;let e=!1,I=A.map(i=>{let t=i.id,C=rc(i.data,g[t]);return e=e||C!==void 0,C===void 0&&(C=i.data),{...i,id:t,data:C}});if(e)return Object.setPrototypeOf(I,Object.getPrototypeOf(A)),I}function rc(A,g){if(!RE(g))return g;if(A instanceof eC){let e=KG(A,g);return e!==void 0&&Object.setPrototypeOf(e,Object.getPrototypeOf(A)),e}else{if(A instanceof ce)return jgA(A,g);if(Array.isArray(A)){let e=!1,I=A.map((i,t)=>{let C=rc(i,g[t]);return e=e||C!==void 0,C===void 0&&(C=i),C});return e?(Object.setPrototypeOf(I,Object.getPrototypeOf(A)),I):void 0}else{if(A instanceof ot)return JG(A,g);if(A&&typeof A=="object"){let e={},I=!1;for(let[i,t]of Object.entries(A)){let C=rc(t,g[i]);I=I||C!==void 0,C===void 0&&(C=t),e[i]=C}return I?(Object.setPrototypeOf(e,Object.getPrototypeOf(A)),e):void 0}}}}function JG(A,g){if(A===void 0)return g;if(g===void 0)return A;if(!RE(g))return g;if(!RE(A))return cB.apply(A,g);let e=new Set;for(let i of Object.keys(A))e.add(i);for(let i of Object.keys(g))e.add(i);let I=new ot;for(let i of e){let t=JG(A===void 0?void 0:A[i],g===void 0?void 0:g[i]);I[i]=t}return I}function WgA(A,g){let e={cur:[],result:[],len:0};return A=sc(A,g,e)??A,[A,e.result]}function YD(A,g){return A===null?null:(A.cur[A.len]=g,A.len+=1,A)}function HD(A){A&&(A.len-=1)}function zgA(A){if(A===null)return null;A.result.push(A.cur.slice(0,A.len))}function gb(A,g,e){let I=!1,i=A.map(t=>{let C=t.id,o=g[C];if(o!==void 0&&typeof o=="string"&&(I=!0,C=o,e!==null))throw new Error("not supported");let a=sc(t.data,g,YD(e,C));HD(e),I=I||a!==void 0,a===void 0&&(a=t.data);let r=gb(t.children,g,e);return r!==void 0?I=!0:r=t.children,{...t,id:C,data:a,children:r}});if(I)return i}function VgA(A,g,e){let I=!1,i=A.map(t=>{let C=t.id,o=g[C];if(o!==void 0&&typeof o=="string"&&(I=!0,C=o,e!==null))throw new Error("not supported");let a=sc(t.data,g,YD(e,C));return HD(e),I=I||a!==void 0,a===void 0&&(a=t.data),{...t,id:C,data:a}});if(I)return Object.setPrototypeOf(i,Object.getPrototypeOf(A)),i}function sc(A,g,e){if(A instanceof eC){let I=gb(A,g,e);return I!==void 0&&Object.setPrototypeOf(I,Object.getPrototypeOf(A)),I}else{if(A instanceof ce)return VgA(A,g,e);if(Array.isArray(A)){let I=!1,i=A.map((t,C)=>{let o=sc(t,g,YD(e,C));return HD(e),I=I||o!==void 0,o===void 0&&(o=t),o});return I?(Object.setPrototypeOf(i,Object.getPrototypeOf(A)),i):void 0}else if(A&&typeof A=="object"&&!vG(A)){let I={},i=!1;for(let[t,C]of Object.entries(A))if(t!=="name"&&t!=="variableId"){let o=g[t];if(typeof o=="string"){if(e!==null)throw new Error("not supported");i=!0,t=o}let a=sc(C,g,YD(e,t));HD(e),i=i||a!==void 0,a===void 0&&(a=C),I[t]=a}else I[t]=C;return i?(Object.setPrototypeOf(I,Object.getPrototypeOf(A)),I):void 0}else if(typeof A=="string"){let I=g[A];return I!==void 0&&zgA(e),I}else return}}var TD;(A=>{function g(e,I){let i=gC.zoom(I,e.path);if(typeof i=="object"){let t={};for(let C of Object.keys(e.props))t[C]=i[C];return{...e,props:t}}else return{...e,props:{}}}A.replaceProps=g})(TD||(TD={}));var bt;(A=>{function g(a,r){return{...a,path:a.path.slice(r)}}A.drop=g;function e(a,r){return I(a,r)?.data??a}A.applySimple=e;function I(a,r){let s=r.path;for(var B=[];;){let Q;if(a instanceof ot&&r.type===0&&(Q=a.runOp({...r,path:s.slice(B.length)}),Q===null&&(Q=void 0)),Q===void 0&&B.length===s.length&&(a instanceof eC||a instanceof ce||a instanceof He?Q=a.runOp(r):Q=xD.runOp(a,r)),Q!==void 0)if(Q!==null){let l=Q.data;for(let h=B.length-1;h>=0;h--){let u=s[h],D=B[h];if(D instanceof eC){if(typeof u=="number")throw new Error("illegal arg");l=D.modifyById(u,l)}else if(D instanceof ce){if(typeof u=="number")throw new Error("illegal arg");l=D.modifyById(u,l)}else if(D instanceof He){if(typeof u=="number")throw new Error("illegal arg");l=D.modifyById(u,l)}else if(D instanceof ot){let p={...D,[u]:l};l=Object.setPrototypeOf(p,ot.prototype)}else if(typeof D=="object")if(Array.isArray(D)){if(typeof u=="string"&&(u=parseInt(u),isNaN(u)))throw new Error("Invalid path");let p=l;l=[...D],l[u]=p}else l={...D,[u]:l};else return null}return{data:l,actual:{...Q.actual,path:s},reverse:{...Q.reverse,path:s}}}else return null;let n=s[B.length],E;if(a instanceof eC){if(typeof n=="number")throw new Error("");E=a.get(n)?.data}else if(a instanceof ce){if(typeof n=="number")throw new Error("");E=a.get(n)?.data}else a!==null&&(E=a[n]);if(E!==void 0)B.push(a),a=E;else return null}}A.apply=I;function i(a,r){for(let s=0;s<a.length&&s<r.length;s++)if(a[s]!==r[s])return!0;return!1}A.pathDisjoint=i;function t(a,r){if(a.length!==r.length)return!1;for(let s=0;s<a.length;s++)if(a[s]!==r[s])return!1;return!0}A.pathEq=t;function C(a,r){return i(a.path,r.path)}A.commutative=C;function o(a,r){return a.type===0&&r.type===0&&t(a.path,r.path)?Object.keys(a.props).every(s=>r.props[s]!==void 0):!1}A.subsumed=o})(bt||(bt={}));var Df;(A=>{function g(){return[]}A.empty=g;function e(r,s){let B=[];for(let Q of r){let[n,...E]=Q.path;n===s&&B.push({...Q,path:E})}return B}A.removePrefix=e;function I(r,s){return r.map(B=>({...B,path:[s,...B.path]}))}A.addPrefix=I;function i(r,s){return[...r,...s]}A.concat=i;function t(r,s){return[...r.filter(B=>!s.some(Q=>bt.subsumed(B,Q))),...s]}A.compress=t;function C(r,s){return r.every(B=>s.every(Q=>bt.commutative(B,Q)))}A.commutative=C;function o(r,s){for(let B of s){let Q=a(r,B);Q!==null&&(r=Q.data)}return r}A.applyAll=o;function a(r,s){var B=r;let Q=[],n=[];for(let E of s)try{if(E.type===3||E.type===5&&E.path[E.path.length-1]==="variables"){let l,h,u;if(E.type===3?(l=gC.zoom(B,[...E.path,E.id]),u=bt.apply(B,{...E,type:2})):(l=gC.zoom(B,[...E.path,E.id,"value"]),u=bt.apply(B,E)),u!==null){B=u.data;let[D,p]=WgA(B,{[E.id]:l});B=D;for(let w=0;w<p.length;w++){let k=p[w],U=k.pop();if(typeof U=="number"){let N=[U];for(let R=w+1;R<p.length;R++){let J=p[R],q=J[J.length-1];if(typeof q=="number"&&gC.equal(k,J.slice(0,J.length-1)))N.push(q),p.splice(R,1);else break}let G=gC.zoom(B,k);h=G.map((R,J)=>N.includes(J)?E.id:R),l=G,U=k.pop()}else{if(U==="alphaOverride"||U==="alpha"){l/=100;let N=l,G=gC.zoom(B,k.slice(0,k.length-2)),R=G.layers.map(J=>J.id===k[k.length-1]?{...J,data:{...J.data,[U]:N}}:J);Object.setPrototypeOf(R,Object.getPrototypeOf(G.layers)),G.layers=R}h=E.id}Q.push({type:0,path:k,props:{[U]:l}}),n.push({type:0,path:k,props:{[U]:h}})}n.push(u.reverse),Q.push(u.actual)}}else{let l=bt.apply(B,E);l!==null&&(Q.push(l.actual),B=l.data,n.push(l.reverse))}}catch(l){if(l instanceof Xq)return null;throw l}return{data:B,actual:Q,reverse:n.reverse()}}A.apply=a})(Df||(Df={}));var eb=Symbol(),ZgA=Symbol(),Kp=Symbol(),Fc=class{reportOp(A,g,e=[]){let I=this;if(g===null)return;I._current=g.data;let i=e;for(;!(I instanceof ib);){let t=I._path,C=I._current;if(t!==""&&i.splice(0,0,t),I=I._parent,I===null)return;I.update(t,C)}I.push(i,A,g.actual,g.reverse)}deleteChildren(A){if(this._children){let g=this._children[A];if(g){let e=g[Kp];e&&e(),delete this._children[A]}}}},XgA=class extends Fc{constructor(A,g,e){super(),this._parent=A,this._path=g,this._current=e}update(A,g){if(Array.isArray(this._current)){if(typeof A=="string"&&(A=parseInt(A),isNaN(A)))throw new Error("Invalid path");this._current=[...this._current],this._current[A]=g}else this._current={...this._current,[A]:g}}runOp(A){this.reportOp(A,xD.runOp(this._current,A),A.path)}},$gA=class extends Fc{constructor(A,g,e){super(),this._parent=A,this._path=g,this._current=e}update(A,g){this._current={...this._current,[A]:g},Object.setPrototypeOf(this._current,He.prototype)}runOp(A){this.reportOp(A,this._current.runOp(A))}},Ib={get(A,g){if(g===Kp)return()=>{A._parent=null};if(g===eb)return A._current;if(g===ZgA)return A;let{_current:e,_children:I}=A;if(g==="push"&&Array.isArray(e))throw new Error("not supported to expand array");let i=I===void 0?void 0:I[g];if(i!==void 0)return i;let t=e[g],C=Jp(A,g,t);return C!==t?(I===void 0&&(I={},A._children=I),I[g]=C,C):t},has(A,g){return g in A._current},ownKeys(A){return Reflect.ownKeys(A._current)},defineProperty(){throw Error("not supported")},getPrototypeOf(A){return Object.getPrototypeOf(A._current)},setPrototypeOf(){throw Error("not supported")},getOwnPropertyDescriptor(A,g){let e=A._current,I=Reflect.getOwnPropertyDescriptor(e,g);return I&&{writable:!0,configurable:!0,enumerable:I.enumerable,value:e[g]}}},AeA={...Ib,set(A,g,e){let I={type:0,props:{[g]:_i(e)??e}};return A.deleteChildren(g),A.runOp(I),!0},deleteProperty(A,g){let e={type:0,props:{[g]:void 0}};return A.deleteChildren(g),A.runOp(e),!0}},geA={...Ib,set(A,g,e){return e===void 0?this.deleteProperty(A,g):(A.deleteChildren(g),A.runOp({type:1,id:g,data:e})),!0},deleteProperty(A,g){return A.runOp({type:2,id:g}),!0}},qG=class extends Fc{constructor(A,g,e){super(),this._children={},this._parent=A,this._path=g,this._current=e,this[Kp]=()=>{this._parent=null}}unproxy(){return this._current}update(A,g){this._current=this._current.modifyById(A,g)}runOp(A){this.reportOp(A,this._current.runOp(A))}randomId(){return this._current.randomId()}isDescendantOf(A,g){return this._current.isDescendantOf(A,g)}childrenOf(A){return this._current.childrenOf(A)}traverse(A){return this._current.traverse(A)}get(A){return this._current.get(A)}parent(A){return this._current.parent(A)}traverse(A){this._current.traverse((g,e)=>{A(g,this.data(g))})}data(A){let{_current:g,_children:e}=this,I=e===void 0?void 0:e[A];if(I!==void 0)return I;let i=g.get(A)?.data,t=Jp(this,A,i);return t!==i?(e===void 0&&(e={},this._children=e),e[A]=t,t):i}add(A,g,e,I,i){this.runOp({type:7,parent:A,fi:g,id:e,data:I,children:i})}move(A,g,e){this.runOp({type:9,parent:A,fi:g,id:e})}insertAfter(A,g,e){let I=this._current.insertAfterHelper(A,g,e.length);for(let i=0;i<e.length;i++){let t=e[i];this.add(A,I[i],t.id,t.data,t.children)}}insertBefore(A,g,e){let I=this._current.insertBeforeHelper(A,g,e.length);for(let i=0;i<e.length;i++){let t=e[i];this.add(A,I[i],t.id,t.data,t.children)}}moveAfter(A,g,e){let I=this._current.insertAfterHelper(A,g,e.length);for(let i=0;i<e.length;i++){let t=e[i];this.move(A,I[i],t)}}moveBefore(A,g,e){let I=this._current.insertBeforeHelper(A,g,e.length);for(let i=0;i<e.length;i++){let t=e[i];this.move(A,I[i],t)}}delete(A){this.deleteChildren(A),this.runOp({type:8,id:A})}sortNext(A){return this._current.sortNext(A)}sortPrevious(A){return this._current.sortPrevious(A)}getAllSorted(A){return this._current.getAllSorted(A)}},bG=class extends Fc{constructor(A,g,e){super(),this._children={},this._parent=A,this._path=g,this._current=e,this[Kp]=()=>{this._parent=null}}unproxy(){return this._current}get length(){return this._current.length}forEach(A){let g=this.length;for(let e=0;e<g;e++){let I=this._current[e].id,i=this._current[e].fi;A(this.data(this._current[e].id),I,i)}}find(A){let g=this.length;for(let e=0;e<g;e++){let I=this._current[e].id;if(A(this.data(I),I))return this.get(I)}}update(A,g){this._current=this._current.modifyById(A,g)}randomId(){return this._current.randomId()}get(A){return{...this._current.get(A),data:this.data(A)}}data(A){let{_current:g,_children:e}=this,I=e===void 0?void 0:e[A];if(I!==void 0)return I;let i=g.get(A)?.data,t=Jp(this,A,i);return t!==i?(e===void 0&&(e={},this._children=e),e[A]=t,t):i}runOp(A){this.reportOp(A,this._current.runOp(A))}add(A,g,e){this.runOp({type:4,fi:A,id:g,data:e})}move(A,g){this.runOp({type:6,fi:A,id:g})}insertAfter(A,g){let e=this._current.insertAfterHelper(A,g.length);for(let I=0;I<g.length;I++){let i=g[I];this.add(e[I],i.id,i.data)}}insertBefore(A,g){let e=this._current.insertBeforeHelper(A,g.length);for(let I=0;I<g.length;I++){let i=g[I];this.add(e[I],i.id,i.data)}}moveAfter(A,g){let e=this._current.insertAfterHelper(A,g.length);for(let I=0;I<g.length;I++){let i=g[I];this.move(e[I],i)}}moveBefore(A,g){let e=this._current.insertBeforeHelper(A,g.length);for(let I=0;I<g.length;I++){let i=g[I];this.move(e[I],i)}}delete(A){this.deleteChildren(A),this.runOp({type:5,id:A})}};function Jw(A,g,e){if(A.length>0){let I=A[A.length-1];if(I.type===0&&g.type===0&&gC.equal(I.path,e)){Object.assign(I.props,g.props);return}}A.push({...g,path:e})}var ib=class extends Fc{constructor(A){super(),this.ts=[],this.actual=[],this.reverse=[],this._current=A}update(A,g){if(A!=="")throw new Error("");this._current=g}push(A,g,e,I){Jw(this.ts,g,A),Jw(this.actual,e,A),Jw(this.reverse,I,A)}result(){return{data:this._current,ts:this.ts,actual:this.actual,reverse:this.reverse.reverse()}}};function Jp(A,g,e){return e instanceof eC?new qG(A,g,e):e instanceof ce?new bG(A,g,e):e instanceof He?new Proxy(new $gA(A,g,e),geA):e!==null&&typeof e=="object"?vG(e)?e:new Proxy(new XgA(A,g,e),AeA):e}function tb(A){let g=new ib(A);return[Jp(g,"",A),g]}function Bc(A,g){let[e,I]=tb(A);return g(e),I.result()}function _i(A){return A instanceof qG||A instanceof bG?A._current:A!==null&&typeof A=="object"?A[eb]:A}var gC;(A=>{function g(t,C){if(C.length===t.length)for(var o=0;o<t.length;){if(t[o]!==C[o])return!1;o+=1}else return!1;return!0}A.equal=g;function e(t,C,o){let a=i(o,t);if(a!==void 0&&typeof a=="object"&&a!==null){let r={...C};return Object.keys(a).forEach(s=>{delete r[s]}),r}else return C}A.removeOverridden=e;function I(t,C){if((t instanceof eC||t instanceof qG)&&typeof C=="string"||(t instanceof ce||t instanceof bG)&&typeof C=="string")return t.data(C);if(typeof C=="number"&&Array.isArray(t)||typeof C=="string"&&typeof t=="object"&&t!==null)return t[C]}A.zoomOnce=I;function i(t,C,o=0){for(;o<C.length&&t!==void 0;)t=I(t,C[o]),o+=1;return t}A.zoom=i})(gC||(gC={}));function eeA(A,g){let e=[];if(g.length===A.length)for(var I=0;I<A.length;){if(g[I]==="*")e.push(A[I]);else if(A[I]!==g[I])return null;I+=1}else return null;return e}function $I(A,g){let e=[];if(g.length<=A.length)for(var I=0;I<g.length;){if(g[I]==="*")e.push(A[I]);else if(A[I]!==g[I])return null;I+=1}else return null;return e}var Cb=class{},NF=class extends Cb{constructor(A){super(),this.id=A}},FF=class extends Cb{constructor(A){super(),this.data=A}},pf;try{pf=new TextDecoder}catch{}var ee,dB,PA=0,ob=[],yf=ob,wf=0,_C={},NI,rB,No=0,$a=0,oo,Bs,FC=[],xI,RF={useRecords:!1,mapsAsObjects:!0},ab=class{},rb=new ab;rb.name="MessagePack 0xC1";var vE=!1,OD=class{constructor(A){A&&(A.useRecords===!1&&A.mapsAsObjects===void 0&&(A.mapsAsObjects=!0),A.structures?A.structures.sharedLength=A.structures.length:A.getStructures&&((A.structures=[]).uninitialized=!0,A.structures.sharedLength=0)),Object.assign(this,A)}unpack(A,g){if(ee)return hb(()=>(Sf(),this?this.unpack(A,g):OD.prototype.unpack.call(RF,A,g)));dB=g>-1?g:A.length,PA=0,wf=0,$a=0,rB=null,yf=ob,oo=null,ee=A;try{xI=A.dataView||(A.dataView=new DataView(A.buffer,A.byteOffset,A.byteLength))}catch(e){throw ee=null,A instanceof Uint8Array?e:new Error("Source must be a Uint8Array or Buffer but was a "+(A&&typeof A=="object"?A.constructor.name:typeof A))}if(this instanceof OD){if(_C=this,this.structures)return NI=this.structures,lu();(!NI||NI.length>0)&&(NI=[])}else _C=RF,(!NI||NI.length>0)&&(NI=[]);return lu()}unpackMultiple(A,g){let e,I=0;try{vE=!0;let i=A.length,t=this?this.unpack(A,i):bp.unpack(A,i);if(g){for(g(t);PA<i;)if(I=PA,g(lu())===!1)return}else{for(e=[t];PA<i;)I=PA,e.push(lu());return e}}catch(i){throw i.lastPosition=I,i.values=e,i}finally{vE=!1,Sf()}}_mergeStructures(A,g){A=A||[];for(let e=0,I=A.length;e<I;e++){let i=A[e];i&&(i.isShared=!0,e>=32&&(i.highByte=e-32>>5))}A.sharedLength=A.length;for(let e in g||[])if(e>=0){let I=A[e],i=g[e];i&&(I&&((A.restoreStructures||(A.restoreStructures=[]))[e]=I),A[e]=i)}return this.structures=A}decode(A,g){return this.unpack(A,g)}};function lu(){try{if(!_C.trusted&&!vE){let g=NI.sharedLength||0;g<NI.length&&(NI.length=g)}let A=Fi();if(PA==dB)NI.restoreStructures&&vF(),NI=null,ee=null,Bs&&(Bs=null);else if(PA>dB){let g=new Error("Unexpected end of MessagePack data");throw g.incomplete=!0,g}else if(!vE)throw new Error("Data read, but end of buffer not reached");return A}catch(A){throw NI.restoreStructures&&vF(),Sf(),(A instanceof RangeError||A.message.startsWith("Unexpected end of buffer"))&&(A.incomplete=!0),A}}function vF(){for(let A in NI.restoreStructures)NI[A]=NI.restoreStructures[A];NI.restoreStructures=null}function Fi(){let A=ee[PA++];if(A<160)if(A<128){if(A<64)return A;{let g=NI[A&63]||_C.getStructures&&sb()[A&63];return g?(g.read||(g.read=LG(g,A&63)),g.read()):A}}else if(A<144)if(A-=128,_C.mapsAsObjects){let g={};for(let e=0;e<A;e++)g[Qb()]=Fi();return g}else{let g=new Map;for(let e=0;e<A;e++)g.set(Fi(),Fi());return g}else{A-=144;let g=new Array(A);for(let e=0;e<A;e++)g[e]=Fi();return g}else if(A<192){let g=A-160;if($a>=PA)return rB.slice(PA-No,(PA+=g)-No);if($a==0&&dB<140){let e=g<16?xG(g):Bb(g);if(e!=null)return e}return ff(g)}else{let g;switch(A){case 192:return null;case 193:return oo?(g=Fi(),g>0?oo[1].slice(oo.position1,oo.position1+=g):oo[0].slice(oo.position0,oo.position0-=g)):rb;case 194:return!1;case 195:return!0;case 196:return qw(ee[PA++]);case 197:return g=xI.getUint16(PA),PA+=2,qw(g);case 198:return g=xI.getUint32(PA),PA+=4,qw(g);case 199:return jB(ee[PA++]);case 200:return g=xI.getUint16(PA),PA+=2,jB(g);case 201:return g=xI.getUint32(PA),PA+=4,jB(g);case 202:if(g=xI.getFloat32(PA),_C.useFloat32>2){let e=YG[(ee[PA]&127)<<1|ee[PA+1]>>7];return PA+=4,(e*g+(g>0?.5:-.5)>>0)/e}return PA+=4,g;case 203:return g=xI.getFloat64(PA),PA+=8,g;case 204:return ee[PA++];case 205:return g=xI.getUint16(PA),PA+=2,g;case 206:return g=xI.getUint32(PA),PA+=4,g;case 207:return _C.int64AsNumber?(g=xI.getUint32(PA)*4294967296,g+=xI.getUint32(PA+4)):g=xI.getBigUint64(PA),PA+=8,g;case 208:return xI.getInt8(PA++);case 209:return g=xI.getInt16(PA),PA+=2,g;case 210:return g=xI.getInt32(PA),PA+=4,g;case 211:return _C.int64AsNumber?(g=xI.getInt32(PA)*4294967296,g+=xI.getUint32(PA+4)):g=xI.getBigInt64(PA),PA+=8,g;case 212:if(g=ee[PA++],g==114)return LF(ee[PA++]&63);{let e=FC[g];if(e)return e.read?(PA++,e.read(Fi())):e.noBuffer?(PA++,e()):e(ee.subarray(PA,++PA));throw new Error("Unknown extension "+g)}case 213:return g=ee[PA],g==114?(PA++,LF(ee[PA++]&63,ee[PA++])):jB(2);case 214:return jB(4);case 215:return jB(8);case 216:return jB(16);case 217:return g=ee[PA++],$a>=PA?rB.slice(PA-No,(PA+=g)-No):ieA(g);case 218:return g=xI.getUint16(PA),PA+=2,$a>=PA?rB.slice(PA-No,(PA+=g)-No):teA(g);case 219:return g=xI.getUint32(PA),PA+=4,$a>=PA?rB.slice(PA-No,(PA+=g)-No):CeA(g);case 220:return g=xI.getUint16(PA),PA+=2,JF(g);case 221:return g=xI.getUint32(PA),PA+=4,JF(g);case 222:return g=xI.getUint16(PA),PA+=2,qF(g);case 223:return g=xI.getUint32(PA),PA+=4,qF(g);default:if(A>=224)return A-256;if(A===void 0){let e=new Error("Unexpected end of MessagePack data");throw e.incomplete=!0,e}throw new Error("Unknown MessagePack token "+A)}}}var IeA=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function LG(A,g){function e(){if(e.count++>2){let i=A.read=new Function("r","return function(){return {"+A.map(t=>IeA.test(t)?t+":r()":"["+JSON.stringify(t)+"]:r()").join(",")+"}}")(Fi);return A.highByte===0&&(A.read=KF(g,A.read)),i()}let I={};for(let i=0,t=A.length;i<t;i++){let C=A[i];I[C]=Fi()}return I}return e.count=0,A.highByte===0?KF(g,e):e}var KF=(A,g)=>function(){let e=ee[PA++];if(e===0)return g();let I=A<32?-(A+(e<<5)):A+(e<<5),i=NI[I]||sb()[I];if(!i)throw new Error("Record id is not defined for "+I);return i.read||(i.read=LG(i,A)),i.read()};function sb(){let A=hb(()=>(ee=null,_C.getStructures()));return NI=_C._mergeStructures(A,NI)}var ff=qp,ieA=qp,teA=qp,CeA=qp;function qp(A){let g;if(A<16&&(g=xG(A)))return g;if(A>64&&pf)return pf.decode(ee.subarray(PA,PA+=A));let e=PA+A,I=[];for(g="";PA<e;){let i=ee[PA++];if(!(i&128))I.push(i);else if((i&224)===192){let t=ee[PA++]&63;I.push((i&31)<<6|t)}else if((i&240)===224){let t=ee[PA++]&63,C=ee[PA++]&63;I.push((i&31)<<12|t<<6|C)}else if((i&248)===240){let t=ee[PA++]&63,C=ee[PA++]&63,o=ee[PA++]&63,a=(i&7)<<18|t<<12|C<<6|o;a>65535&&(a-=65536,I.push(a>>>10&1023|55296),a=56320|a&1023),I.push(a)}else I.push(i);I.length>=4096&&(g+=Rt.apply(String,I),I.length=0)}return I.length>0&&(g+=Rt.apply(String,I)),g}function JF(A){let g=new Array(A);for(let e=0;e<A;e++)g[e]=Fi();return g}function qF(A){if(_C.mapsAsObjects){let g={};for(let e=0;e<A;e++)g[Qb()]=Fi();return g}else{let g=new Map;for(let e=0;e<A;e++)g.set(Fi(),Fi());return g}}var Rt=String.fromCharCode;function Bb(A){let g=PA,e=new Array(A);for(let I=0;I<A;I++){let i=ee[PA++];if((i&128)>0){PA=g;return}e[I]=i}return Rt.apply(String,e)}function xG(A){if(A<4)if(A<2){if(A===0)return"";{let g=ee[PA++];if((g&128)>1){PA-=1;return}return Rt(g)}}else{let g=ee[PA++],e=ee[PA++];if((g&128)>0||(e&128)>0){PA-=2;return}if(A<3)return Rt(g,e);let I=ee[PA++];if((I&128)>0){PA-=3;return}return Rt(g,e,I)}else{let g=ee[PA++],e=ee[PA++],I=ee[PA++],i=ee[PA++];if((g&128)>0||(e&128)>0||(I&128)>0||(i&128)>0){PA-=4;return}if(A<6){if(A===4)return Rt(g,e,I,i);{let t=ee[PA++];if((t&128)>0){PA-=5;return}return Rt(g,e,I,i,t)}}else if(A<8){let t=ee[PA++],C=ee[PA++];if((t&128)>0||(C&128)>0){PA-=6;return}if(A<7)return Rt(g,e,I,i,t,C);let o=ee[PA++];if((o&128)>0){PA-=7;return}return Rt(g,e,I,i,t,C,o)}else{let t=ee[PA++],C=ee[PA++],o=ee[PA++],a=ee[PA++];if((t&128)>0||(C&128)>0||(o&128)>0||(a&128)>0){PA-=8;return}if(A<10){if(A===8)return Rt(g,e,I,i,t,C,o,a);{let r=ee[PA++];if((r&128)>0){PA-=9;return}return Rt(g,e,I,i,t,C,o,a,r)}}else if(A<12){let r=ee[PA++],s=ee[PA++];if((r&128)>0||(s&128)>0){PA-=10;return}if(A<11)return Rt(g,e,I,i,t,C,o,a,r,s);let B=ee[PA++];if((B&128)>0){PA-=11;return}return Rt(g,e,I,i,t,C,o,a,r,s,B)}else{let r=ee[PA++],s=ee[PA++],B=ee[PA++],Q=ee[PA++];if((r&128)>0||(s&128)>0||(B&128)>0||(Q&128)>0){PA-=12;return}if(A<14){if(A===12)return Rt(g,e,I,i,t,C,o,a,r,s,B,Q);{let n=ee[PA++];if((n&128)>0){PA-=13;return}return Rt(g,e,I,i,t,C,o,a,r,s,B,Q,n)}}else{let n=ee[PA++],E=ee[PA++];if((n&128)>0||(E&128)>0){PA-=14;return}if(A<15)return Rt(g,e,I,i,t,C,o,a,r,s,B,Q,n,E);let l=ee[PA++];if((l&128)>0){PA-=15;return}return Rt(g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l)}}}}}function qw(A){return _C.copyBuffers?Uint8Array.prototype.slice.call(ee,PA,PA+=A):ee.subarray(PA,PA+=A)}function jB(A){let g=ee[PA++];if(FC[g])return FC[g](ee.subarray(PA,PA+=A));throw new Error("Unknown extension type "+g)}var bF=new Array(4096);function Qb(){let A=ee[PA++];if(A>=160&&A<192){if(A=A-160,$a>=PA)return rB.slice(PA-No,(PA+=A)-No);if(!($a==0&&dB<180))return ff(A)}else return PA--,Fi();let g=(A<<5^(A>1?xI.getUint16(PA):A>0?ee[PA]:0))&4095,e=bF[g],I=PA,i=PA+A-3,t,C=0;if(e&&e.bytes==A){for(;I<i;){if(t=xI.getUint32(I),t!=e[C++]){I=1879048192;break}I+=4}for(i+=3;I<i;)if(t=ee[I++],t!=e[C++]){I=1879048192;break}if(I===i)return PA=I,e.string;i-=3,I=PA}for(e=[],bF[g]=e,e.bytes=A;I<i;)t=xI.getUint32(I),e.push(t),I+=4;for(i+=3;I<i;)t=ee[I++],e.push(t);let o=A<16?xG(A):Bb(A);return o!=null?e.string=o:e.string=ff(A)}var LF=(A,g)=>{var e=Fi();let I=A;g!==void 0&&(A=A<32?-((g<<5)+A):(g<<5)+A,e.highByte=g);let i=NI[A];return i&&i.isShared&&((NI.restoreStructures||(NI.restoreStructures=[]))[A]=i),NI[A]=e,e.read=LG(e,I),e.read()},nb=typeof self=="object"?self:global;FC[0]=()=>{};FC[0].noBuffer=!0;FC[101]=()=>{let A=Fi();return(nb[A[0]]||Error)(A[1])};FC[105]=A=>{let g=xI.getUint32(PA-4);Bs||(Bs=new Map);let e=ee[PA],I;e>=144&&e<160||e==220||e==221?I=[]:I={};let i={target:I};Bs.set(g,i);let t=Fi();return i.used?Object.assign(I,t):(i.target=t,t)};FC[112]=A=>{let g=xI.getUint32(PA-4),e=Bs.get(g);return e.used=!0,e.target};FC[115]=()=>new Set(Fi());var Eb=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map(A=>A+"Array");FC[116]=A=>{let g=A[0],e=Eb[g];if(!e)throw new Error("Could not find typed array for code "+g);return new nb[e](Uint8Array.prototype.slice.call(A,1).buffer)};FC[120]=()=>{let A=Fi();return new RegExp(A[0],A[1])};FC[98]=A=>{let g=(A[0]<<24)+(A[1]<<16)+(A[2]<<8)+A[3],e=PA;PA+=g-4,oo=[Fi(),Fi()],oo.position0=0,oo.position1=0;let I=PA;PA=e;try{return Fi()}finally{PA=I}};FC[255]=A=>A.length==4?new Date((A[0]*16777216+(A[1]<<16)+(A[2]<<8)+A[3])*1e3):A.length==8?new Date(((A[0]<<22)+(A[1]<<14)+(A[2]<<6)+(A[3]>>2))/1e6+((A[3]&3)*4294967296+A[4]*16777216+(A[5]<<16)+(A[6]<<8)+A[7])*1e3):A.length==12?new Date(((A[0]<<24)+(A[1]<<16)+(A[2]<<8)+A[3])/1e6+((A[4]&128?-281474976710656:0)+A[6]*1099511627776+A[7]*4294967296+A[8]*16777216+(A[9]<<16)+(A[10]<<8)+A[11])*1e3):new Date("invalid");function hb(A){let g=dB,e=PA,I=wf,i=No,t=$a,C=rB,o=yf,a=Bs,r=oo,s=new Uint8Array(ee.slice(0,dB)),B=NI,Q=NI.slice(0,NI.length),n=_C,E=vE,l=A();return dB=g,PA=e,wf=I,No=i,$a=t,rB=C,yf=o,Bs=a,oo=r,ee=s,vE=E,NI=B,NI.splice(0,NI.length,...Q),_C=n,xI=new DataView(ee.buffer,ee.byteOffset,ee.byteLength),l}function Sf(){ee=null,Bs=null,NI=null}function oeA(A){A.unpack?FC[A.type]=A.unpack:FC[A.type]=A}var YG=new Array(147);for(let A=0;A<256;A++)YG[A]=+("1e"+Math.floor(45.15-A*.30103));var bp=new OD({useRecords:!1}),ahA=bp.unpack,rhA=bp.unpackMultiple,shA=bp.unpack,aeA={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4},reA=new Float32Array(1),BhA=new Uint8Array(reA.buffer,0,4),sD;try{sD=new TextEncoder}catch{}var _D,HG,Lp=typeof Buffer<"u",bw=Lp?Buffer.allocUnsafeSlow:Uint8Array,lb=Lp?Buffer:Uint8Array,xF=Lp?4294967296:2144337920,ng,Hi,gg=0,Ja,qa=null,seA=/[\u0080-\uFFFF]/,Ql=Symbol("record-id"),cb=class extends OD{constructor(A){super(A),this.offset=0;let g,e,I,i,t,C,o=0,a=lb.prototype.utf8Write?function(N,G,R){return ng.utf8Write(N,G,R)}:sD&&sD.encodeInto?function(N,G){return sD.encodeInto(N,ng.subarray(G)).written}:!1,r=this;A||(A={});let s=A&&A.sequential,B=A.structures||A.saveStructures,Q=A.maxSharedStructures;if(Q==null&&(Q=B?32:0),Q>8160)throw new Error("Maximum maxSharedStructure is 8160");let n=A.maxOwnStructures;n==null&&(n=B?32:64),s&&!A.saveStructures&&(this.structures=[]);let E=Q>32||n+Q>64,l=Q+64,h=Q+n+64;if(h>8256)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let u=[],D=0,p=0;this.pack=this.encode=function(N,G){if(ng||(ng=new bw(8192),Hi=new DataView(ng.buffer,0,8192),gg=0),Ja=ng.length-10,Ja-gg<2048?(ng=new bw(ng.length),Hi=new DataView(ng.buffer,0,ng.length),Ja=ng.length-10,gg=0):gg=gg+7&2147483640,e=gg,C=r.structuredClone?new Map:null,r.bundleStrings?(qa=["",""],ng[gg++]=214,ng[gg++]=98,qa.position=gg-e,gg+=4):qa=null,I=r.structures,I){I.uninitialized&&(I=r._mergeStructures(r.getStructures()));let R=I.sharedLength||0;if(R>Q)throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+I.sharedLength);if(!I.transitions){I.transitions=Object.create(null);for(let J=0;J<R;J++){let q=I[J];if(!q)continue;let T,P=I.transitions;for(let H=0,eA=q.length;H<eA;H++){let rA=q[H];T=P[rA],T||(T=P[rA]=Object.create(null)),P=T}P[Ql]=J+64}o=R}s||(I.nextId=R+64)}i&&(i=!1),t=I||[];try{if(w(N),qa){Hi.setUint32(qa.position+e,gg-qa.position-e);let R=qa;qa=null,w(R[0]),w(R[1])}if(r.offset=gg,C&&C.idsToInsert){gg+=C.idsToInsert.length*6,gg>Ja&&U(gg),r.offset=gg;let R=QeA(ng.subarray(e,gg),C.idsToInsert);return C=null,R}return G&neA?(ng.start=e,ng.end=gg,ng):ng.subarray(e,gg)}finally{if(I){if(p<10&&p++,D>1e4)I.transitions=null,p=0,D=0,u.length>0&&(u=[]);else if(u.length>0&&!s){for(let R=0,J=u.length;R<J;R++)u[R][Ql]=0;u=[]}if(i&&r.saveStructures){let R=I.sharedLength||Q;I.length>R&&(I=I.slice(0,R));let J=ng.subarray(e,gg);return r.saveStructures(I,o)===!1?(r._mergeStructures(r.getStructures()),r.pack(N)):(o=R,J)}}G&EeA&&(gg=e)}};let w=N=>{gg>Ja&&(ng=U(gg));var G=typeof N,R;if(G==="string"){let J=N.length;if(qa&&J>=8&&J<4096){let P=seA.test(N);qa[P?0:1]+=N,ng[gg++]=193,w(P?-J:J);return}let q;J<32?q=1:J<256?q=2:J<65536?q=3:q=5;let T=J*3;if(gg+T>Ja&&(ng=U(gg+T)),J<64||!a){let P,H,eA,rA=gg+q;for(P=0;P<J;P++)H=N.charCodeAt(P),H<128?ng[rA++]=H:H<2048?(ng[rA++]=H>>6|192,ng[rA++]=H&63|128):(H&64512)===55296&&((eA=N.charCodeAt(P+1))&64512)===56320?(H=65536+((H&1023)<<10)+(eA&1023),P++,ng[rA++]=H>>18|240,ng[rA++]=H>>12&63|128,ng[rA++]=H>>6&63|128,ng[rA++]=H&63|128):(ng[rA++]=H>>12|224,ng[rA++]=H>>6&63|128,ng[rA++]=H&63|128);R=rA-gg-q}else R=a(N,gg+q,T);R<32?ng[gg++]=160|R:R<256?(q<2&&ng.copyWithin(gg+2,gg+1,gg+1+R),ng[gg++]=217,ng[gg++]=R):R<65536?(q<3&&ng.copyWithin(gg+3,gg+2,gg+2+R),ng[gg++]=218,ng[gg++]=R>>8,ng[gg++]=R&255):(q<5&&ng.copyWithin(gg+5,gg+3,gg+3+R),ng[gg++]=219,Hi.setUint32(gg,R),gg+=4),gg+=R}else if(G==="number")if(N>>>0===N)N<64?ng[gg++]=N:N<256?(ng[gg++]=204,ng[gg++]=N):N<65536?(ng[gg++]=205,ng[gg++]=N>>8,ng[gg++]=N&255):(ng[gg++]=206,Hi.setUint32(gg,N),gg+=4);else if(N>>0===N)N>=-32?ng[gg++]=256+N:N>=-128?(ng[gg++]=208,ng[gg++]=N+256):N>=-32768?(ng[gg++]=209,Hi.setInt16(gg,N),gg+=2):(ng[gg++]=210,Hi.setInt32(gg,N),gg+=4);else{let J;if((J=this.useFloat32)>0&&N<4294967296&&N>=-2147483648){ng[gg++]=202,Hi.setFloat32(gg,N);let q;if(J<4||(q=N*YG[(ng[gg]&127)<<1|ng[gg+1]>>7])>>0===q){gg+=4;return}else gg--}ng[gg++]=203,Hi.setFloat64(gg,N),gg+=8}else if(G==="object")if(!N)ng[gg++]=192;else{if(C){let q=C.get(N);if(q){if(!q.id){let T=C.idsToInsert||(C.idsToInsert=[]);q.id=T.push(q)}ng[gg++]=214,ng[gg++]=112,Hi.setUint32(gg,q.id),gg+=4;return}else C.set(N,{offset:gg-e})}let J=N.constructor;if(J===Object)k(N,!0);else if(J===Array){R=N.length,R<16?ng[gg++]=144|R:R<65536?(ng[gg++]=220,ng[gg++]=R>>8,ng[gg++]=R&255):(ng[gg++]=221,Hi.setUint32(gg,R),gg+=4);for(let q=0;q<R;q++)w(N[q])}else if(J===Map){R=N.size,R<16?ng[gg++]=128|R:R<65536?(ng[gg++]=222,ng[gg++]=R>>8,ng[gg++]=R&255):(ng[gg++]=223,Hi.setUint32(gg,R),gg+=4);for(let[q,T]of N)w(q),w(T)}else{for(let q=0,T=_D.length;q<T;q++){let P=HG[q];if(N instanceof P){let H=_D[q];if(H.write){H.type&&(ng[gg++]=212,ng[gg++]=H.type,ng[gg++]=0),w(H.write.call(this,N));return}let eA=ng,rA=Hi,BA=gg;ng=null;let aA;try{aA=H.pack.call(this,N,yA=>(ng=eA,eA=null,gg+=yA,gg>Ja&&U(gg),{target:ng,targetView:Hi,position:gg-yA}),w)}finally{eA&&(ng=eA,Hi=rA,gg=BA,Ja=ng.length-10)}aA&&(aA.length+gg>Ja&&U(aA.length+gg),gg=BeA(aA,ng,gg,H.type));return}}k(N,!N.hasOwnProperty)}}else if(G==="boolean")ng[gg++]=N?195:194;else if(G==="bigint"){if(N<BigInt(1)<<BigInt(63)&&N>=-(BigInt(1)<<BigInt(63)))ng[gg++]=211,Hi.setBigInt64(gg,N);else if(N<BigInt(1)<<BigInt(64)&&N>0)ng[gg++]=207,Hi.setBigUint64(gg,N);else if(this.largeBigIntToFloat)ng[gg++]=203,Hi.setFloat64(gg,Number(N));else throw new RangeError(N+" was too large to fit in MessagePack 64-bit integer format, set largeBigIntToFloat to convert to float-64");gg+=8}else if(G==="undefined")this.encodeUndefinedAsNil?ng[gg++]=192:(ng[gg++]=212,ng[gg++]=0,ng[gg++]=0);else if(G==="function")w(this.writeFunction&&this.writeFunction());else throw new Error("Unknown type: "+G)},k=this.useRecords===!1?this.variableMapSize?N=>{let G=Object.keys(N),R=G.length;R<16?ng[gg++]=128|R:R<65536?(ng[gg++]=222,ng[gg++]=R>>8,ng[gg++]=R&255):(ng[gg++]=223,Hi.setUint32(gg,R),gg+=4);let J;for(let q=0;q<R;q++)w(J=G[q]),w(N[J])}:(N,G)=>{ng[gg++]=222;let R=gg-e;gg+=2;let J=0;for(let q in N)(G||N.hasOwnProperty(q))&&(w(q),w(N[q]),J++);ng[R+++e]=J>>8,ng[R+e]=J&255}:N=>{let G=Object.keys(N),R,J=t.transitions||(t.transitions=Object.create(null)),q=0;for(let P=0,H=G.length;P<H;P++){let eA=G[P];R=J[eA],R||(R=J[eA]=Object.create(null),q++),J=R}let T=J[Ql];if(T)T>=96&&E?(ng[gg++]=((T-=96)&31)+96,ng[gg++]=T>>5):ng[gg++]=T;else{T=t.nextId,T||(T=64),T<l&&this.shouldShareStructure&&!this.shouldShareStructure(G)?(T=t.nextOwnId,T<h||(T=l),t.nextOwnId=T+1):(T>=h&&(T=l),t.nextId=T+1);let P=G.highByte=T>=96&&E?T-96>>5:-1;J[Ql]=T,t[T-64]=G,T<l?(G.isShared=!0,t.sharedLength=T-63,i=!0,P>=0?(ng[gg++]=(T&31)+96,ng[gg++]=P):ng[gg++]=T):(P>=0?(ng[gg++]=213,ng[gg++]=114,ng[gg++]=(T&31)+96,ng[gg++]=P):(ng[gg++]=212,ng[gg++]=114,ng[gg++]=T),q&&(D+=p*q),u.length>=n&&(u.shift()[Ql]=0),u.push(J),w(G))}for(let P=0,H=G.length;P<H;P++)w(N[G[P]])},U=N=>{let G;if(N>16777216){if(N-e>xF)throw new Error("Packed buffer would be larger than maximum buffer size");G=Math.min(xF,Math.round(Math.max((N-e)*(N>67108864?1.25:2),4194304)/4096)*4096)}else G=(Math.max(N-e<<2,ng.length-1)>>12)+1<<12;let R=new bw(G);return Hi=new DataView(R.buffer,0,G),ng.copy?ng.copy(R,0,e,N):R.set(ng.slice(e,N)),gg-=e,e=0,Ja=R.length-10,ng=R}}useBuffer(A){ng=A,Hi=new DataView(ng.buffer,ng.byteOffset,ng.byteLength),gg=0}};HG=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,ab];_D=[{pack(A,g,e){let I=A.getTime()/1e3;if((this.useTimestamp32||A.getMilliseconds()===0)&&I>=0&&I<4294967296){let{target:i,targetView:t,position:C}=g(6);i[C++]=214,i[C++]=255,t.setUint32(C,I)}else if(I>0&&I<17179869184){let{target:i,targetView:t,position:C}=g(10);i[C++]=215,i[C++]=255,t.setUint32(C,A.getMilliseconds()*4e6+(I/1e3/4294967296>>0)),t.setUint32(C+4,I)}else if(isNaN(I)){if(this.onInvalidDate)return g(0),e(this.onInvalidDate());let{target:i,targetView:t,position:C}=g(3);i[C++]=212,i[C++]=255,i[C++]=255}else{let{target:i,targetView:t,position:C}=g(15);i[C++]=199,i[C++]=12,i[C++]=255,t.setUint32(C,A.getMilliseconds()*1e6),t.setBigInt64(C+4,BigInt(Math.floor(I)))}}},{pack(A,g,e){let I=Array.from(A),{target:i,position:t}=g(this.structuredClone?3:0);this.structuredClone&&(i[t++]=212,i[t++]=115,i[t++]=0),e(I)}},{pack(A,g,e){let{target:I,position:i}=g(this.structuredClone?3:0);this.structuredClone&&(I[i++]=212,I[i++]=101,I[i++]=0),e([A.name,A.message])}},{pack(A,g,e){let{target:I,position:i}=g(this.structuredClone?3:0);this.structuredClone&&(I[i++]=212,I[i++]=120,I[i++]=0),e([A.source,A.flags])}},{pack(A,g){this.structuredClone?YF(A,16,g):HF(Lp?Buffer.from(A):new Uint8Array(A),g)}},{pack(A,g){let e=A.constructor;e!==lb&&this.structuredClone?YF(A,Eb.indexOf(e.name),g):HF(A,g)}},{pack(A,g){let{target:e,position:I}=g(1);e[I]=193}}];function YF(A,g,e,I){let i=A.byteLength;if(i+1<256){var{target:t,position:C}=e(4+i);t[C++]=199,t[C++]=i+1}else if(i+1<65536){var{target:t,position:C}=e(5+i);t[C++]=200,t[C++]=i+1>>8,t[C++]=i+1&255}else{var{target:t,position:C,targetView:o}=e(7+i);t[C++]=201,o.setUint32(C,i+1),C+=4}t[C++]=116,t[C++]=g,t.set(new Uint8Array(A.buffer,A.byteOffset,A.byteLength),C)}function HF(A,g){let e=A.byteLength;var I,i;if(e<256){var{target:I,position:i}=g(e+2);I[i++]=196,I[i++]=e}else if(e<65536){var{target:I,position:i}=g(e+3);I[i++]=197,I[i++]=e>>8,I[i++]=e&255}else{var{target:I,position:i,targetView:t}=g(e+5);I[i++]=198,t.setUint32(i,e),i+=4}I.set(A,i)}function BeA(A,g,e,I){let i=A.length;switch(i){case 1:g[e++]=212;break;case 2:g[e++]=213;break;case 4:g[e++]=214;break;case 8:g[e++]=215;break;case 16:g[e++]=216;break;default:i<256?(g[e++]=199,g[e++]=i):i<65536?(g[e++]=200,g[e++]=i>>8,g[e++]=i&255):(g[e++]=201,g[e++]=i>>24,g[e++]=i>>16&255,g[e++]=i>>8&255,g[e++]=i&255)}return g[e++]=I,g.set(A,e),e+=i,e}function QeA(A,g){let e,I=g.length*6,i=A.length-I;for(g.sort((t,C)=>t.offset>C.offset?1:-1);e=g.pop();){let t=e.offset,C=e.id;A.copyWithin(t+I,t,i),I-=6;let o=t+I;A[o++]=214,A[o++]=105,A[o++]=C>>24,A[o++]=C>>16&255,A[o++]=C>>8&255,A[o++]=C&255,i=t}return A}function gh(A){if(A.Class){if(!A.pack&&!A.write)throw new Error("Extension has no pack or write function");if(A.pack&&!A.type)throw new Error("Extension has no type (numeric code to identify the extension)");HG.unshift(A.Class),_D.unshift(A)}oeA(A)}var db=new cb({useRecords:!1}),QhA=db.pack,nhA=db.pack,{NEVER:EhA,ALWAYS:hhA,DECIMAL_ROUND:lhA,DECIMAL_FIT:chA}=aeA,neA=512,EeA=1024,TF=new cb({structuredClone:!0});gh({Class:He.prototype.constructor,type:1,write(A){return{...A}},read(A){return Object.setPrototypeOf(A,He.prototype),A}});gh({Class:ce.prototype.constructor,type:2,write(A){return[...A]},read(A){return Object.setPrototypeOf(A,ce.prototype),A}});gh({Class:eC.prototype.constructor,type:3,write(A){return[...A]},read(A){return Object.setPrototypeOf(A,eC.prototype),A}});gh({Class:NF.prototype.constructor,type:4,write(A){return A.id},read(A){return new NF(A)}});gh({Class:FF.prototype.constructor,type:5,write(A){return A.data},read(A){return new FF(A)}});gh({Class:ot.prototype.constructor,type:6,write(A){return{...A}},read(A){return Object.setPrototypeOf(A,ot.prototype),A}});function heA(A){var g=0;if(A.length===0)return g;for(let e=0;e<A.length;e++){let I=A[e];g=(g<<5)-g+I,g=g&g}return g}function Gf(A){if(vG(A))return A;if(Array.isArray(A))return A.map(Gf);if(typeof A=="object"&&A!==null){let g={};for(let e of Object.keys(A).sort())g[e]=Gf(A[e]);return Object.setPrototypeOf(g,Object.getPrototypeOf(A)),g}else return A}var mf;(A=>{function g(i){return TF.pack(i)}A.serialize=g;function e(i){return TF.unpack(i)}A.deserialize=e;function I(i){return heA(g(Gf(i))).toString()}A.checksum=I})(mf||(mf={}));var OF;(A=>{function g(I){return I.type==="Conditional"?I.condition.type==="Distance"?"Distance":"StateChange":I.type}A.toEventUIType=g;function e(I){return I==="Distance"||I==="StateChange"?"Conditional":I}A.fromEventUIType=e})(OF||(OF={}));function _F(A){return A==="MouseDown"||A==="MouseUp"||A==="KeyDown"||A==="KeyUp"||A==="Collision"||A==="Trigger"}var fC={LookAt:[],Follow:["Create"],DragDrop:["Transition","Animation","Audio","Particles","Create","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],MouseHover:["Transition","Animation","Particles","Create","Destroy","SwitchCamera","SceneTransition","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],Scroll:["Transition","Animation","Create","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],Start:["Transition","Animation","Audio","Particles","Video","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],Conditional:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],MouseDown:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],MouseUp:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],MousePress:["Transition","Animation","Audio","Particles","Video","Link","Create","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],KeyDown:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],KeyUp:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],KeyPress:["Transition","Animation","Audio","Particles","Video","Link","Create","SwitchCamera","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],GameControl:["Transition","Animation","Audio","Particles","Create","Conditional"],Collision:["Transition","Animation","Audio","Particles","Video","Create","Destroy","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],Trigger:["Transition","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],Resize:["Transition","Animation","Audio","Particles","Video","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"],VariableChange:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional","ClearLocalStorage"]},PF;(A=>{function g(I){return I.type==="MouseDown"||I.type==="MouseUp"||I.type==="MousePress"||I.type==="KeyDown"||I.type==="KeyUp"||I.type==="KeyPress"}A.is=g;function e(I){return I==="MouseDown"||I==="MouseUp"||I==="MousePress"?{type:I,mode:"Object",disabled:!1,actions:new ce}:{type:I,disabled:!1,key:void 0,actions:new ce}}A.defaultData=e})(PF||(PF={}));var PD;(A=>{function g(e){return{type:"Property",value:[e??null,"position","x"]}}A.propertyDefaultData=g,A.valueDefaultData={type:"Literal",value:0}})(PD||(PD={}));var Mf;(A=>{function g(i){return{type:"Comparison",operator:"==",lOperand:PD.propertyDefaultData(i),rOperand:{...PD.valueDefaultData}}}A.comparisonDefaultData=g;function e(i){return{type:"Distance",toObject:i??null,fromObject:i??null,distance:200}}A.distanceDefaultData=e;function I(i,t){return{type:"State",object:i??null,state:t??null}}A.stateDefaultData=I})(Mf||(Mf={}));var jF;(A=>{function g(e){return e.find(I=>I==="ifActions"||I==="elseActions")!==void 0}A.isConditionalSubActions=g})(jF||(jF={}));var WF;(A=>{function g(I){return I.type==="Conditional"}A.is=g;function e(I){return{type:"Conditional",disabled:!1,inActions:new ce,outActions:new ce,condition:Mf.distanceDefaultData(I)}}A.defaultData=e})(WF||(WF={}));var zF;(A=>A.defaultData={type:"DragDrop",cursor:"hand",disabled:!1,dampingFactor:1,objects:[],snapTo:"center",snapSurfaceMode:"bbox",snapSurfaceOffset:0,dropOn:"all",autoOrient:!0,dropDestinations:[],plane:"adaptive",planeMode:"locked",referenceFrame:"global",limits:[-1/0,1/0,-1/0,1/0,-1/0,1/0],drop:!1,resetOnSnapFail:!1,snapSpeed:20,resetSpeed:20,dragDropActions:{drag:new ce,drop:new ce}})(zF||(zF={}));var kf;(A=>A.defaultData={type:"Follow",disabled:!1,maxDelta:0,dampingFactor:1,target:"cursor",plane:"custom",resetOnPointerLeave:!0,resetAfterDistanceLimit:!0,enabledTranslation:[!0,!0,!0],limitDistanceEnabled:!1,limitDistance:1e3,snapDelay:0,resetSpeed:5,actions:new ce})(kf||(kf={}));var Uf;(A=>A.defaultData={type:"LookAt",disabled:!1,distance:1e3,dampingFactor:1,target:"cursor",tilt:"up",axis:"z",plane:"custom",resetOnPointerLeave:!0,resetAfterDistanceLimit:!0,enabledRotation:[!0,!0,!0],limitDistanceEnabled:!1,limitDistance:1e3,snapDelay:0,resetSpeed:5})(Uf||(Uf={}));var VF;(A=>{function g(I){return I.type==="MouseHover"}A.is=g;function e(){return{type:"MouseHover",disabled:!1,actions:new ce}}A.defaultData=e})(VF||(VF={}));var ZF;(A=>{function g(I){return I.type==="Scroll"}A.is=g;function e(){return{type:"Scroll",disabled:!1,steps:100,trigger:"load",startFrom:"enter",enterAnchor:"top",startOffset:0,endAfter:400,actions:new ce}}A.defaultData=e})(ZF||(ZF={}));var XF;(A=>{function g(I){return I.type==="Start"}A.is=g;function e(){return{type:"Start",disabled:!1,actions:new ce}}A.defaultData=e})(XF||(XF={}));var $F;(A=>{function g(I){return I.type==="Collision"}A.is=g;function e(){return{type:"Collision",disabled:!1,target:"character",actions:new ce}}A.defaultData=e})($F||($F={}));var AR;(A=>{function g(I){return I.type==="Trigger"}A.is=g;function e(I,i){return{type:"Trigger",disabled:!1,target:"all",triggeringObjects:[],actions:new ce,triggerZone:"box",position:i.toArray(),rotation:[0,0,0],size:I.toArray(),radius:I.length()/2,helperVisible:!0}}A.defaultData=e})(AR||(AR={}));var Nf;(A=>{A.defaultSizes={mobile:[480,480],tablet:[768,768],desktop:[1200,1200],custom:[769,1200]};function g(C){return C.type==="Resize"}A.is=g;function e(C){return typeof C=="string"?C:"custom"}A.sizeToDevice=e;function I(C){return typeof C=="string"?[...A.defaultSizes[C]]:[...C]}A.deviceToSize=I;function i(){let C={size:"mobile",operator:"<",actions:new ce},o={size:"tablet",operator:"<",actions:new ce},a={size:[...A.defaultSizes.custom],operator:"<>",actions:new ce},r=new ce;return r.push({id:Xg.generateUUID(),fi:0,data:C},{id:Xg.generateUUID(),fi:1,data:o},{id:Xg.generateUUID(),fi:2,data:a}),{type:"Resize",disabled:!1,orientation:"horizontal",breakpoints:r}}A.defaultData=i;function t(){return{size:[...A.defaultSizes.custom],operator:"<>",actions:new ce}}A.defaultBreakpointData=t})(Nf||(Nf={}));var Ff;(A=>{A.propertyPaths={Position:["position"],"Position X":["position","x"],"Position Y":["position","y"],"Position Z":["position","z"],Rotation:["rotation"],"Rotation X":["rotation","x"],"Rotation Y":["rotation","y"],"Rotation Z":["rotation","z"],Scale:["scale"],"Scale X":["scale","x"],"Scale Y":["scale","y"],"Scale Z":["scale","z"],Width:["width"],Height:["height"],Depth:["depth"],"Mouse Position X":["mouse","x"],"Mouse Position Y":["mouse","y"],"Mouse Pressed":["mouse","pressed"],"Screen Width":["mouse","width"],"Screen Height":["mouse","height"],"Hit Position X":["raycast","x"],"Hit Position Y":["raycast","y"],"Hit Position Z":["raycast","z"],"Hit Object Position X":["raycast","objX"],"Hit Object Position Y":["raycast","objY"],"Hit Object Position Z":["raycast","objZ"]};function g(I){return I.type==="VariableChange"}A.is=g;function e(){return{disabled:!1,type:"VariableChange",actions:new ce,variableId:"",objectId:null,property:"Position X"}}A.defaultData=e})(Ff||(Ff={}));var eh="personal camera",Pl="a218fcc3-276b-49b9-b485-49037fd14f5f",leA=2960946,Bo=5526619,os;(A=>{function g(E,l){return E[0]===l[0]&&E[1]===l[1]}A.isEqual=g;function e(E,l,h){return[E[0]+(l[0]-E[0])*h,E[1]+(l[1]-E[1])*h]}A.lerp=e;function I(E,l){return[E[0]+l[0],E[1]+l[1]]}A.add=I;function i(E,l){return[E[0]-l[0],E[1]-l[1]]}A.sub=i;function t(E,l){return[E[0]*l[0],E[1]*l[1]]}A.multiply=t;function C(E,l){return[E[0]/l[0],E[1]/l[1]]}A.divide=C;function o(E,l){return Math.pow(l[0]-E[0],2)+Math.pow(l[1]-E[1],2)}A.distanceSquared=o;function a(E,l){return Math.sqrt(o(E,l))}A.distance=a;function r(E,l){return E[0]*l[0]+E[1]*l[1]}A.dot=r;function s(E,l){return[E[0]*l,E[1]*l]}A.scalarMultiply=s;function B(E,l,h){let u=A.sub(l,E),D=A.sub(h,E),p=A.dot(u,D)/A.dot(u,u),w=A.scalarMultiply(u,p);return A.add(E,w)}A.projectionOnto=B;function Q(E,l,h){return a(E,B(E,l,h))}A.projectionOntoDistance=Q;function n(E,l){return[(E[0]+l[0])*.5,(E[1]+l[1])*.5]}A.center=n})(os||(os={}));var DQ;(A=>{function g(a,r){return a[0]===r[0]&&a[1]===r[1]&&a[2]===r[2]}A.isEqual=g;function e(a,r){return[a[0]+r[0],a[1]+r[1],a[2]+r[2]]}A.add=e;function I(a,r){return[a[0]-r[0],a[1]-r[1],a[2]-r[2]]}A.sub=I;function i(a,r){return[a[0]/r[0],a[1]/r[1],a[2]/r[2]]}A.div=i;function t(a,r){return[a[0]*r[0],a[1]*r[1],a[2]*r[2]]}A.mul=t;function C(a,r){return Math.hypot(a[0]-r[0],a[1]-r[1],a[2]-r[2])}A.dist=C;function o(a,r,s){return[a[0]+(r[0]-a[0])*s,a[1]+(r[1]-a[1])*s,a[2]+(r[2]-a[2])*s]}A.lerp=o})(DQ||(DQ={}));var jD;(A=>{function g(I,i){return I[0]===i[0]&&I[1]===i[1]&&I[2]===i[2]&&I[3]===i[3]}A.isEqual=g;function e(I,i,t){return[I[0]+(i[0]-I[0])*t,I[1]+(i[1]-I[1])*t,I[2]+(i[2]-I[2])*t,I[3]+(i[3]-I[3])*t]}A.lerp=e})(jD||(jD={}));var gR;(A=>{let g=180/Math.PI,e=Math.PI/180;function I(o){return typeof o=="number"?o*g:o}function i(o){return typeof o=="number"?o*e:o}function t(o){return[I(o[0]),I(o[1]),I(o[2])]}A.radToDeg=t;function C(o){return[i(o[0]),i(o[1]),i(o[2])]}A.degToRad=C})(gR||(gR={}));var KE;(A=>{A.identity=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function g(i,t){for(let C=0;C<16;C++)if(i[C]!==t[C])return!1;return!0}A.isEqual=g;function e(i){return i??A.identity}A.simplify=e;function I(i,t){let C=t.slice(0);for(var o=0,a=t.length;o<a;o+=3){let r=i[3]*t[o]+i[7]*t[o+1]+i[11]*t[o+2]+i[15];C[o]=(i[0]*t[o]+i[4]*t[o+1]+i[8]*t[o+2]+i[12])/r,C[o+1]=(i[1]*t[o]+i[5]*t[o+1]+i[9]*t[o+2]+i[13])/r,C[o+2]=(i[2]*t[o]+i[6]*t[o+1]+i[10]*t[o+2]+i[14])/r}return C}A.applyMatrix4=I})(KE||(KE={}));var sC;(A=>{function g(r){return typeof r=="object"&&typeof r.r=="number"&&typeof r.g=="number"&&typeof r.b=="number"}A.isRGB=g,A.white={r:1,g:1,b:1},A.red={r:1,g:0,b:0},A.black={r:0,g:0,b:0};function e(r){return{r:Math.round(r.r*255),g:Math.round(r.g*255),b:Math.round(r.b*255),a:1}}A.toRgb255a1=e;function I(r){return{r:r.r,g:r.g,b:r.b}}A.clone=I;function i(r){return r=Math.floor(r),{r:(r>>16&255)/255,g:(r>>8&255)/255,b:(r&255)/255}}A.fromHex=i;function t(r){return Math.round(r.r*255)*65536+Math.round(r.g*255)*256+Math.round(r.b*255)}A.toHex=t;function C(r,s){return r.r===s.r&&r.g===s.g&&r.b===s.b}A.equals=C;function o(r,s){return r.r.toFixed(2)===s.r.toFixed(2)&&r.g.toFixed(2)===s.g.toFixed(2)&&r.b.toFixed(2)===s.b.toFixed(2)}A.equalsFixed=o;function a(r,s,B){return{r:r.r+(s.r-r.r)*B,g:r.g+(s.g-r.g)*B,b:r.b+(s.b-r.b)*B}}A.lerp=a})(sC||(sC={}));var jI;(A=>{A.white={...sC.white,a:1},A.transparent={...sC.white,a:0};function g(a){return{r:a[0],g:a[1],b:a[2],a:a[3]}}A.from0to1=g;function e(a,r){return{...sC.fromHex(a),a:r}}A.fromHexAndA=e;function I(a){return{r:Math.round(a.r*255),g:Math.round(a.g*255),b:Math.round(a.b*255),a:a.a}}A.toRgb255a1=I;function i(a,r){return sC.equals(a,r)&&a.a===r.a}A.equals=i;function t(a,r){return sC.equalsFixed(a,r)&&a.a.toFixed(2)===r.a.toFixed(2)}A.equalsFixed=t;function C(a,r,s){return{r:a.r+(r.r-a.r)*s,g:a.g+(r.g-a.g)*s,b:a.b+(r.b-a.b)*s,a:a.a+(r.a-a.a)*s}}A.lerp=C;function o({r:a,g:r,b:s,a:B}=A.white){return`rgba(${a*255}, ${r*255}, ${s*255}, ${B})`}A.toStyle=o})(jI||(jI={}));var Rf;(A=>A.identity={position:[0,0,0],rotation:[0,0,0],scale:[1,1,1]})(Rf||(Rf={}));var eR;(A=>A.defaultData={mass:1,stiffness:80,damping:10,velocity:0})(eR||(eR={}));var IR;(A=>A.defaultData={control1:[.5,0],control2:[.5,1]})(IR||(IR={}));var gB;(A=>(A.linear=[0,0,1,1],A.ease=[.25,.1,.25,1],A.easeIn=[.42,0,1,1],A.easeOut=[0,0,.58,1],A.easeInOut=[.42,0,.58,1]))(gB||(gB={}));function iR(A){return typeof A=="string"&&A.length===36?/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(A):!1}var mQ;(A=>{A.all=["PerspectiveCamera","OrthographicCamera"];function g(e){return A.all.includes(e)}A.is=g})(mQ||(mQ={}));var JE;(A=>{A.DefaultUp=[0,1,0],A.DefaultTargetOffset=1e3,A.defaultData={far:1e5,type:"OrthographicCamera",perspective:{near:70,fov:45,zoom:1},orthographic:{near:-1e5,zoom:1},up:A.DefaultUp,isUpVectorFlipped:!1,targetOffset:A.DefaultTargetOffset};function g(e){return e.type==="PerspectiveCamera"?e.perspective?.zoom??1:e.orthographic?.zoom??1}A.getZoom=g})(JE||(JE={}));var sB;(A=>{function g(I,i=.1){return{disabled:!1,type:"linear",hideBase:!1,count:3,radial:{radius:Math.max(I[0],I[1])*2,start:0,end:360,alignment:!1,axis:"y",scale:[1,1,1],rotation:[0,0,0],position:[0,0,0]},toObject:{object:"",spreadType:"random",scale:[0,0,0],rotation:[0,0,0],position:[0,0,0],axis:"x",seed:0,count:99,align:"normal"},linear:{scale:[1,1,1],rotation:[0,0,0],position:[I[0]+I[0]*i,0,0]},grid:{count:[2,2,2],size:I.map(t=>t*(1+i)),useCenter:!0},randomness:!1,randomnessObject:{strength:100,scale:[0,0,0],rotation:[0,0,0],position:[0,0,0],movement:1,seed:0,freqScale:10,noiseType:"perlin"}}}A.defaultData=g;function e(I,i){let t={...I};if(ub.forEach(C=>{Object.assign(t,{[C]:i[C]??I[C]})}),t.radial={...I.radial},i.radial){let C=I.radial,o=i.radial;Db.forEach(a=>{Object.assign(t.radial,{[a]:o[a]??C[a]})})}if(t.linear={...I.linear},i.linear){let C=I.linear,o=i.linear;pb.forEach(a=>{Object.assign(t.linear,{[a]:o[a]??C[a]})})}if(t.grid={...I.grid},i.grid){let C=I.grid,o=i.grid;yb.forEach(a=>{Object.assign(t.grid,{[a]:o[a]??C[a]})})}if(t.toObject={...I.toObject},i.toObject){let C=I.toObject,o=i.toObject;wb.forEach(a=>{Object.assign(t.toObject,{[a]:o[a]??C[a]})})}if(t.randomnessObject={...I.randomnessObject},i.randomnessObject){let C=I.randomnessObject,o=i.randomnessObject;fb.forEach(a=>{Object.assign(t.randomnessObject,{[a]:o[a]??C[a]})})}return t}A.merge=e})(sB||(sB={}));var vf;(A=>{A.defaultData={radial:{},linear:{},grid:{},toObject:{},randomnessObject:{}};let g=["radial","linear","grid","toObject","randomnessObject"];function e(I,i){let t=[];I.count!==void 0&&t.push({type:0,path:i,props:{count:I.count}});for(let C of g){let o=I[C];o&&Object.keys(o).length>0&&t.push({type:0,path:[...i,C],props:o})}return t}A.toOps=e})(vf||(vf={}));var ub=["count"],Db=["radius","start","end","position","scale","rotation"],pb=["position","scale","rotation"],yb=["count","size"],wb=["count","position","scale","rotation"],fb=["strength","scale","rotation","position","movement","seed","freqScale"],Kf;(A=>{A.all=["PointLight","SpotLight","DirectionalLight","HemisphereLight"];function g(e){return A.all.includes(e)}A.is=g})(Kf||(Kf={}));var Jf;(A=>{function g(I){return e(I)}A.defaultData=g;function e(I){if(I==="PointLight")return{type:I,color:jI.white,intensity:1,distance:2e3,decay:1,shadows:!0,shadowResolution:1024,shadowRadius:1,penumbraSize:.5,depth:1e5};if(I==="SpotLight")return{type:I,color:jI.white,intensity:1,distance:2e3,decay:1,shadows:!0,penumbra:0,angle:30/180*Math.PI,depth:1e5,penumbraSize:.5,shadowResolution:1024,shadowRadius:1};if(I==="DirectionalLight")return{type:I,color:jI.white,intensity:1,shadows:!0,size:2e3,depth:1e5,penumbraSize:.5,shadowResolution:1024,shadowRadius:1};throw new Error("not implemented")}})(Jf||(Jf={}));var WD;(A=>(A.defaultShapeData={type:"PlaneEmitterShape",size:[100,100,100]},A.defaultCollisionData={colliderEntityId:null,collisionBounce:.75},A.defaultData={renderMaterial:{type:"particleMaterial",color:{r:1,g:.2,b:.545,a:1},color2:{r:.945,g:.714,b:.184,a:1},coloring:"gradient",ease:"linearFadeOut",easeSize:"linearFadeOut",transparent:!0,size:[40,40],texture:"pt_default_particle",spriteRotation:[0,0]},birthRatePerSec:50,gravity:1,noiseStrength:0,noiseScale:0,noiseSeed:1,noiseType:"curl",randomRotation:0,randomScale:.2,randomMass:.5,rootObjectType:"instancedMesh",life:1,direction:[0,0,0],directionMode:"axis",speed:10,shape:A.defaultShapeData,autoPlay:!0,emitTimeDelay:0,emitTimeCycle:"infinity",emitTimeDuration:1,...A.defaultCollisionData}))(WD||(WD={}));var qE;(A=>A.defaultData={enabled:"visibility",fusedBody:!0,rigidBody:"positioned",density:1,pointMass:0,gravityScale:1,friction:.5,damping:0,restitution:.2,colliderType:"convex",enabledRotation:[!0,!0,!0],enabledTranslation:[!0,!0,!0]})(qE||(qE={}));var qf;(A=>{A.defaultData={castShadow:!0,receiveShadow:!0};function g(e,I){return e.castShadow===I.castShadow&&e.receiveShadow===I.receiveShadow}A.equals=g})(qf||(qf={}));var bf;(A=>{A.defaultData={flatShading:!1,wireframe:!1,side:0};function g(e,I){return e.flatShading===I.flatShading&&e.side===I.side&&e.wireframe===I.wireframe}A.equals=g})(bf||(bf={}));var Lf;(A=>A.defaultData={...bf.defaultData,...qf.defaultData})(Lf||(Lf={}));var tR;(A=>{function g(e,I){let i=[];if("material"in e){let t=typeof e.material=="string"?I.materials[e.material]??I.lib.materials[e.material]?.asset:e.material;t&&i.push(t)}else if("materials"in e)for(let t of e.materials){let C=typeof t=="string"?I.materials[t]??I.lib.materials[t]?.asset:t;C&&i.push(C)}return i}A.getMaterialData=g})(tR||(tR={}));var zD;(A=>(A.defaultVideo={data:"",thumb:"/_assets/_videos/catThumb.png",type:"video",name:"Cat video"},A.maxSize=3e7))(zD||(zD={}));var CR;(A=>{function g(e){return e==="texture"||e==="video"||e==="color"||e==="depth"||e==="normal"||e==="gradient"||e==="noise"||e==="fresnel"||e==="rainbow"||e==="toon"||e==="outline"||e==="particle"||e==="transmission"||e==="matcap"||e==="displace"||e==="pattern"||e==="light"}A.is=g})(CR||(CR={}));function ceA(A){return A.type!=="displace"}var oR;(A=>{function g(e){return e==="phong"||e==="toon"||e==="lambert"||e==="physical"}A.is=g})(oR||(oR={}));var Sb=["mode","gradientType","noiseType","displacementType","projection","cnormal","crop","axis","side"],deA=["wrapping","image","video","name","minFilter","magFilter"],vt;(A=>{function g(t,C){let{texture:o,...a}=C;if(Object.assign(t,a),o){let r=t.texture;r&&Object.assign(r,o)}}A.patch=g;function e(t,C){return t==="light"&&C?I(C):i(t)}A.defaultData=e;function I(t){let C={mode:0,isMask:!1,visible:!0,bumpMap:void 0,bumpMapIntensity:5,roughnessMap:void 0,alphaOverride:1};switch(t){case"phong":return{...C,category:"phong",specular:{r:.2,g:.2,b:.2},shininess:5,type:"light",visible:!0,mode:0,occlusion:!0,alpha:.6};case"toon":return{...C,category:"toon",specular:{r:.2,g:.2,b:.2},shininess:10,type:"light",alpha:1};case"lambert":return{...C,category:"lambert",emissive:{r:0,g:0,b:0},type:"light",alpha:1,visible:!0,mode:0,occlusion:!0};case"physical":return{...C,category:"physical",roughness:.2,metalness:.2,reflectivity:.2,type:"light",alpha:1,visible:!0,mode:0,occlusion:!0}}}function i(t){let C={alpha:1,mode:0,isMask:!1,visible:!0};switch(t){case"texture":return{...C,type:"texture",size:[128,128],blending:0,axis:"x",side:2,projection:0,texture:{image:"image_0",wrapping:1e3,repeat:[1,1],offset:[0,0],rotation:0,minFilter:1008,magFilter:1006},crop:!1};case"video":return{...C,type:"video",size:[128,128],blending:0,axis:"x",side:2,projection:0,texture:{video:zD.defaultVideo,wrapping:1001,repeat:[1,1],offset:[0,0],rotation:0,minFilter:1008,magFilter:1006},crop:!1};case"color":return{...C,type:"color",color:sC.fromHex(Bo)};case"depth":return{...C,type:"depth",gradientType:1,smooth:!1,isVector:!0,isWorldSpace:!1,origin:[0,0,0],direction:[1,0,0],colors:[[1,1,1,1],[0,0,0,1]],steps:[0,1],near:50,far:200};case"normal":return{...C,type:"normal",cnormal:[1,1,1]};case"gradient":return{...C,type:"gradient",gradientType:0,smooth:!1,colors:[[0,0,0,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]],steps:[0,1,1,1,1,1,1,1,1,1],num:2,angle:0,offset:[0,0],morph:[0,0]};case"noise":return{...C,type:"noise",size:[100,100,100],noiseType:0,scale:1,move:1,colorA:{...sC.fromHex(6710886),a:1},colorB:{...sC.fromHex(6710886),a:1},colorC:{...sC.fromHex(16777215),a:1},colorD:{...sC.fromHex(16777215),a:1},distortion:[1,1],fA:[1.7,9.2],fB:[8.3,2.8],voronoiStyle:0,highCut:1,lowCut:0,smoothness:.3,seed:0,quality:1};case"fresnel":return{...C,type:"fresnel",color:jI.fromHexAndA(16777215,1),bias:.1,scale:1,intensity:2,factor:1};case"rainbow":return{...C,type:"rainbow",filmThickness:30,movement:0,wavelengths:[0,0,0],noiseStrength:0,noiseScale:1,offset:[0,0,0]};case"toon":return{...C,type:"toon",positioning:2,colors:[[0,0,0,1],[.5,.5,.5,1],[.5,.5,.5,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]],steps:[0,.475,.525,1,1,1,1,1,1,1],num:4,source:[0,1e3,0],isWorldSpace:!0,noiseStrength:0,noiseScale:1,shadowColor:jI.fromHexAndA(0,0),offset:[0,0,0]};case"outline":return{...C,type:"outline",outlineColor:jI.fromHexAndA(0,1),contourColor:jI.fromHexAndA(0,1),outlineWidth:2,contourWidth:5,outlineThreshold:.4,contourThreshold:0,outlineSmoothing:0,contourFrequency:10,contourDirection:[0,1,0],positionalLines:!1,compensation:!0};case"matcap":return{...C,type:"matcap",texture:{image:"matcap_0",wrapping:1001,repeat:[1,1],offset:[0,0],rotation:0,minFilter:1008,magFilter:1006}};case"transmission":return{...C,type:"transmission",thickness:10,ior:1.5,roughness:1};case"displace":return{visible:!0,type:"displace",displacementType:"noise",noiseType:0,scale:10,movement:1,offset:[0,0,0],intensity:8,voronoiStyle:0,smoothness:.3,seed:0,highCut:1,lowCut:0,quality:1};case"pattern":return{...C,type:"pattern",style:0,projection:0,axis:"y",blending:0,offset:[0,0],colorA:{...sC.fromHex(0),a:1},colorB:{...sC.fromHex(16777215),a:1},frequency:[10,10],size:.5,variation:0,smoothness:.5,zigzag:0,rotation:0,vertical:[0,1],horizontal:[0,1],sides:6}}}})(vt||(vt={}));var hC;(A=>{function g(s){return!s.layers.some(B=>B.data.type==="texture"&&B.data.projection!==0||B.data.type==="depth"&&!B.data.isWorldSpace||B.data.type==="noise"||B.data.type==="displace")}A.isMergable=g;function e(s){let B="";return s.layers.forEach(Q=>{Object.entries(Q.data).forEach(([n,E])=>{B+=`${n}${E}`,Array.isArray(E)?E.forEach(l=>B+=`${l}`):typeof E=="object"?Object.values(E).forEach(l=>{typeof l=="number"?B+=`${l.toFixed(4)}`:B+=`${l}`}):B+=`${E}`})}),B}A.getHash=e;function I(){return{layers:new ce}}A.defaultEmptyData=I;function i(s="layer1",B="layer2"){return C("phong",s,B)}A.defaultData=i;function t(s,B){return{...s,name:B}}A.withName=t;function C(s,B="layer1",Q="layer2"){let n=new ce;return n.push({fi:0,data:vt.defaultData("light",s),id:B}),n.push({fi:1,data:vt.defaultData("color"),id:Q}),{layers:n}}A.defaultTwoLayerData=C;function o(s){let B=vt.defaultData("texture");s&&Object.assign(B.texture,{image:s});let Q=new ce;return Q.push({fi:0,data:B,id:"layer1"}),Q.push({fi:1,data:{...vt.defaultData("transmission"),alpha:1},id:"layer2"}),Q.push({fi:2,data:{...vt.defaultData("light","lambert"),alpha:0},id:"layer3"}),{layers:Q}}A.defaultUIObjectMaterial=o;function a(s,B="phong",Q="layer1",n="layer2"){let E=vt.defaultData("texture");Object.assign(E.texture,{image:s});let l=new ce;return l.push({fi:0,data:E,id:Q}),l.push({fi:1,data:vt.defaultData("light",B),id:n}),{layers:l}}A.defaultTwoLayerTextureData=a;function r(s,B="phong",Q="layer1",n="layer2"){let E=vt.defaultData("video");Object.assign(E.texture,{video:s});let l=new ce;return l.push({fi:0,data:E,id:Q}),l.push({fi:1,data:vt.defaultData("light",B),id:n}),{layers:l}}A.defaultTwoLayerVideoTextureData=r})(hC||(hC={}));var VD;(A=>{function g(){return{points:new ce,roundness:0,shapeHoles:[],isClosed:!1}}A.defaultData=g})(VD||(VD={}));var ZD;(A=>{function g(){return{points:new ce,lastInsertionPlane:null,subdivisions:12,isClosed:!1}}A.defaultData=g})(ZD||(ZD={}));var Gb={type:"Ellipse",width:50,height:50,spikes:16,angle:360,innerRadius:0},xf;(A=>{function g(e,I){let i={...e};return Mb.forEach(t=>{Object.assign(i,{[t]:I[t]??e[t]})}),i}A.merge=g})(xf||(xf={}));var mb={shape:Gb,depth:1,offset:0,bevel:50,bevelSides:6,angle:0,twist:0,startScale:1,endScale:1,capType:"flat"},Mb=["depth","offset","angle","twist","startScale","endScale"],XD;(A=>{function g(I){return I==="PolygonGeometry"||I==="RectangleGeometry"||I==="StarGeometry"||I==="TriangleGeometry"||I==="EllipseGeometry"||I==="UIGeometry"}A.is2DParametricMesh=g;function e(I){return I==="PolygonGeometry"||I==="PolygonGeometry"||I==="RectangleGeometry"||I==="StarGeometry"||I==="TriangleGeometry"||I==="EllipseGeometry"||I==="PathGeometry"||I==="VectorGeometry"||I==="ConeGeometry"||I==="CubeGeometry"||I==="CylinderGeometry"||I==="DodecahedronGeometry"||I==="HelixGeometry"||I==="IcosahedronGeometry"||I==="LatheGeometry"||I==="PyramidGeometry"||I==="SphereGeometry"||I==="PlaneGeometry"||I==="BackdropGeometry"||I==="TorusGeometry"||I==="TorusKnotGeometry"||I==="BooleanGeometry"||I==="TextGeometry"}A.isParametricMesh=e})(XD||(XD={}));var Yf;(A=>{function g(e,I){let i={...e};return Object.assign(i,I),i.type==="PathGeometry"&&"extrusion"in I&&I.extrusion&&(i.extrusion={...e.extrusion},Object.assign(i.extrusion,xf.merge(i.extrusion,I.extrusion))),i}A.merge=g})(Yf||(Yf={}));var cE;(A=>{function g(e){if(e==="RectangleGeometry")return{width:320,height:320,type:e,cornerRadius:[0,0,0,0],cornerType:0,depth:0,extrudeBevelSize:0,extrudeBevelSegments:1};if(e==="UIGeometry")return{type:e,frame:"",cornerRadius:[0,0,0,0],cornerType:0,width:1,height:1};if(e==="PathGeometry")return{type:e,width:1,height:1,depth:1,path:ZD.defaultData(),extrusion:mb};if(e==="VectorGeometry")return{width:1,height:1,type:e,subdivisions:12,shape:VD.defaultData(),depth:0,extrudeBevelSize:0,extrudeBevelSegments:1};if(e==="BooleanGeometry")return{type:e,operation:2,width:0,height:0,depth:0,phongAngle:35};if(e==="TextGeometry")return{type:e,width:100,height:100,depth:0,horizontalAlign:1,verticalAlign:1,fontSize:16,lineHeight:1.2,letterSpacing:0,text:{textValue:""},textTransform:1,font:"Roboto_regular",extrudeBevelSize:0,extrudeBevelSegments:1};if(e==="SphereGeometry")return{type:"SphereGeometry",width:100,height:100,depth:100,widthSegments:64,heightSegments:64,phiStart:0,phiLength:2*Math.PI,thetaStart:0,thetaLength:180};throw new Error("not implemented")}A.defaultData=g})(cE||(cE={}));var aR=["width","height","depth"],Hf;(A=>A.defaultData={enabled:!1,useBackgroundColor:!1,color:sC.white,near:.1,far:2e3})(Hf||(Hf={}));var $D;(A=>{let g={opacity:1,blendFunction:13,enabled:!1};A.defaultData={enabled:!1,pixelation:{...g,blendFunction:16,granularity:15},bloom:{...g,blendFunction:16,intensity:1,blurScale:1,luminanceThreshold:.25,luminanceSmoothing:.025,kernelSize:3},chromaticAberration:{...g,offset:[2,2]},vignette:{...g,darkness:1,offset:0},hueSaturation:{...g,hue:3,saturation:0},brightnessContrast:{...g,brightness:.25,contrast:0},depthOfField:{...g,focusDistance:100,focalLength:20,bokehScale:5},noise:{...g,blendFunction:16}}})($D||($D={}));var Tf;(A=>A.defaultData={softShadowQuality:"low"})(Tf||(Tf={}));var Of;(A=>A.defaultData={enabled:!0,color:{r:.8274509803921568,g:.8274509803921568,b:.8274509803921568},intensity:.75})(Of||(Of={}));var _f;(A=>A.defaultData={occlusion:!1,aoFullRes:!1,radius:256,bias:.5,aoColor:{r:.19607843137254902,g:.19607843137254902,b:.19607843137254902}})(_f||(_f={}));var bE;(A=>A.defaultData={usePhysics:!1,gravity:-10})(bE||(bE={}));var Pf;(A=>A.defaultData={playCamera:eh,gameControlObject:null})(Pf||(Pf={}));var jf;(A=>A.defaultData={backgroundColor:jI.fromHexAndA(leA,1),postprocessing:$D.defaultData,fog:Hf.defaultData,globalPhysics:bE.defaultData,ambient:Of.defaultData,ao:_f.defaultData,shadow:Tf.defaultData,publish:Pf.defaultData})(jf||(jf={}));var Wf;(A=>A.defaultData={colliderType:"box",size:[100,100,100],colliderHelperVisible:!0,forceType:"collider",forceRange:"global",forceIntensity:.5,forceDambing:.95})(Wf||(Wf={}));var rR;(A=>{function g(I){return I==="Component"||I==="Instance"}A.isComponentRelated=g;function e(I){return I==="Empty"||I==="Instance"}A.isEmptyOrComponent=e})(rR||(rR={}));var LE;(A=>{A.identity={...Rf.identity,hiddenMatrix:KE.identity};function g(i){return{position:i.position,rotation:i.rotation,scale:i.scale,hiddenMatrix:i.hiddenMatrix}}A.fromObject=g;function e(i,t){return{position:t?.position||i.position,rotation:t?.rotation||i.rotation,scale:t?.scale||i.scale,hiddenMatrix:t?.hiddenMatrix||i.hiddenMatrix}}A.merge=e;function I(i,t){return Tq({position:DQ.isEqual(i.position,t.position)?void 0:t.position,rotation:DQ.isEqual(i.rotation,t.rotation)?void 0:t.rotation,scale:DQ.isEqual(i.scale,t.scale)?null:t.scale,hiddenMatrix:KE.isEqual(i.hiddenMatrix,t.hiddenMatrix)?void 0:t.hiddenMatrix})}A.diff=I})(LE||(LE={}));var IC;(A=>A.defaultData={states:new ce,events:new ce,visible:!0,raycastLock:!1,physics:qE.defaultData,pathSnapping:{pathId:null,slide:0,offset:0,orientation:"tangential"},...LE.identity,cloner:null})(IC||(IC={}));var zf;(A=>A.defaultData={type:"Empty",...IC.defaultData})(zf||(zf={}));var sR;(A=>A.defaultData={type:"ParticleCollider",...Wf.defaultData,...IC.defaultData})(sR||(sR={}));var BR;(A=>A.defaultData={type:"Component",...IC.defaultData})(BR||(BR={}));var QR;(A=>A.defaultData={type:"Particle",...IC.defaultData,...WD.defaultData})(QR||(QR={}));var dE;(A=>A.defaultData={type:"Mesh",...IC.defaultData,...Lf.defaultData})(dE||(dE={}));var Qc;(A=>A.defaultData={...IC.defaultData,...LE.identity,position:[0,0,JE.DefaultTargetOffset],...JE.defaultData})(Qc||(Qc={}));var Vf;(A=>{function g(e){return{...IC.defaultData,...Jf.defaultData(e)}}A.defaultData=g,A.defaultDirectionalLightData={...A.defaultData("DirectionalLight"),position:[200,300,300],name:"Directional Light",intensity:.7}})(Vf||(Vf={}));var Ap;(A=>{function g(I,i,t=0){for(;t<i.length;){let C=I?I[i[t]]:void 0;if(i.length===t+1)return C;if(C)I=C.descendants,t+=1;else return}}A.resolveWithDes=g;function e(I,i,t=0){let C=g(I,i,t);if(C){let o=Object.keys(C);if(o.length===1&&o[0]==="descendants")return}return C}A.resolve=e})(Ap||(Ap={}));var BB;(A=>{A.rootOverrideProps=["physics","events"],A.compositeNonOptionalOverrideProps=["geometry"],A.compositeEntireOverrideOverrideProps=["material"];function g(I,i){return{...IC.defaultData,...i,component:I,overrides:new ot,physics:void 0,events:void 0,type:"Instance"}}A.ofComponent=g;function e(I){let i=LE.fromObject(I.data);return g(I.id,i)}A.fromComponentData=e})(BB||(BB={}));var xE;(A=>{A.defaultData={type:"Page",...IC.defaultData,physics:{...qE.defaultData,fusedBody:!1},...jf.defaultData,camera:Qc.defaultData};function g(e){return e.uiScene!==void 0}A.isUIPage=g})(xE||(xE={}));var Zf;(A=>(A.defaultCamera={position:[0,0,1e3],scale:[1,1,1],rotation:[0,0,0],hiddenMatrix:KE.identity,name:"Play Camera",visible:!0,raycastLock:!1,physics:qE.defaultData,states:new ce,events:new ce,cloner:null,pathSnapping:{pathId:null,orientation:"tangential",slide:0,offset:0},...JE.defaultData},A.KeysByResetCategory={States:["states"],Events:["events"],Material:["material","materials"],Geometry:["geometry"],Position:["position"],Rotation:["rotation"],Scale:["scale"],Transform:["position","scale","rotation","hiddenMatrix"],Name:["name"],Visibility:["visible","raycastLock","flatShading","wireframe","side"],Shadows:["castShadow","receiveShadow"],Cloner:["cloner"],Physics:["physics"]},A.defaultMeshObject={name:"Rectangle",...IC.defaultData,...dE.defaultData,geometry:cE.defaultData("RectangleGeometry"),material:hC.defaultTwoLayerData("phong","layer1","layer2")},A.defaultBooleanObject={name:"Boolean",...IC.defaultData,...dE.defaultData,geometry:cE.defaultData("BooleanGeometry"),material:hC.defaultTwoLayerData("phong","layer1","layer2")},A.defaultTextObject={name:"Text",...IC.defaultData,...dE.defaultData,geometry:cE.defaultData("TextGeometry"),material:hC.defaultTwoLayerData("phong","layer1","layer2")}))(Zf||(Zf={}));var rQ;(A=>{function g(t,C){let o={name:C};return t.type==="Mesh"?(o.geometry={},"material"in t&&(o.material={layers:new ot}),"materials"in t&&(o.materials=t.materials.map(a=>({layers:new ot})))):mQ.is(t.type)&&(o.perspective={},o.orthographic={}),o}A.newEmpty=g;function e(t,C){if(C===void 0)return t;let o={...t};return"material"in o&&"material"in C&&C.material&&(o.material=Bc(o.material,a=>{if(typeof a!="string")for(let[r,s]of Object.entries(C.material.layers)){let B=a.layers.data(r);B&&vt.patch(B,s)}}).data),o.materials&&C.materials&&(o.materials=Bc(o.materials,a=>{for(let r=0;r<o.materials.length;r++){let s=C.materials[r];if(typeof s!="string")for(let[B,Q]of Object.entries(s.layers)){let n=a[r]?.layers?.data(B);n&&vt.patch(n,Q)}}}).data),o}function I(t,C){let o,a=[],r={orthographic:0,perspective:0,geometry:0};function s(B,Q){for(let[n,E]of Object.entries(Q.layers)){let{texture:l,...h}=E;if(l!==void 0&&Object.keys(l).length>0){let u={path:[...B,"layers",n,"texture"],props:l,type:0};a.push(u)}if(Object.keys(h).length>0){let u={path:[...B,"layers",n],props:h,type:0};a.push(u)}}}for(let[B,Q]of Object.entries(C))if(B!=="name")if(B==="cloner")a.push(...vf.toOps(Q,["cloner"]));else if(B==="pathSnapping")a.push({path:[B],props:{slide:Q.slide,offset:Q.offset},type:0});else if(B==="material")s(["material"],Q);else if(B==="materials")for(let[n,E]of Object.entries(Q))s(["materials",n],E);else if(r[B]===0){if(B==="geometry"&&Q.extrusion!==void 0){let n={path:[B,"extrusion"],props:Q.extrusion,type:0};a.push(n),Q={...Q},delete Q.extrusion}if(Object.keys(Q).length>0){let n={path:[B],props:Q,type:0};a.push(n)}}else o===void 0&&(o={path:[],props:{},type:0},a.push(o)),o.props[B]=Q;return a}A.toOps=I;function i(t,C){if(C===void 0)return t;let o={...t};if(Object.assign(o,LE.merge(o,C)),Object.assign(o,{pathSnapping:Object.assign({},o.pathSnapping,{slide:C.pathSnapping?.slide??o.pathSnapping?.slide??0,offset:C.pathSnapping?.offset??o.pathSnapping?.offset??0})}),mQ.is(t.type)){o.orthographic={...o.orthographic},o.perspective={...o.perspective};let a=C;a.orthographic?.zoom!==void 0&&(o.orthographic.zoom=a.orthographic.zoom),a.perspective?.zoom!==void 0&&(o.perspective.zoom=a.perspective.zoom),a.isUpVectorFlipped!==void 0&&(o.isUpVectorFlipped=a.isUpVectorFlipped),a.targetOffset!==void 0&&(o.targetOffset=a.targetOffset)}else if(t.type==="Mesh")"geometry"in C&&Object.assign(o,{geometry:Yf.merge(o.geometry,C.geometry)}),(C.material||C.materials)&&(o=e(o,C)),o.cloner&&"cloner"in C&&Object.assign(o,{cloner:sB.merge(o.cloner,C.cloner)});else if(t.type==="Empty")o.cloner&&"cloner"in C&&Object.assign(o,{cloner:sB.merge(o.cloner,C.cloner)});else if(Kf.is(t.type)){let a=C;a.intensity!==void 0&&(o.intensity=a.intensity),a.color!==void 0&&(typeof a.color=="string"?o.color=a.color:o.color=sC.clone(a.color))}return o}A.patch=i})(rQ||(rQ={}));var gp;(A=>A.defaultData={enablePan:!0,enableZoom:!0,enableRotate:!0,enableDamping:!0,rotationLimitsMode:0,rotationVerticalOffset:{min:Math.PI/4,max:Math.PI/4},rotationHorizontalOffset:{min:Math.PI/4,max:Math.PI/4},rotationSoftLimit:2,panLimitsMode:0,panVerticalOffset:{min:250,max:250},panHorizontalOffset:{min:250,max:250},panSoftLimit:2,zoomLimitsEnabled:!1,zoomLimits:{min:.1,max:2},autoRotate:!1,autoRotateSpeed:2,autoRotateClockwise:!0,hoverRotatePanMode:0,hoverRotatePanStrength:20,hoverRotateDamping:.125,isTouchZoom:!0,orbitTouches:2,panTouches:3,resetHoverEffectOnPointerLeave:!0})(gp||(gp={}));var QB;(A=>A.defaultData={orbitControls:gp.defaultData,playPage:Pl,withBackground:!0,preventScroll:!1,preventTouchScroll:!1,hideCursor:!1,mouseEventTarget:"canvas",joystickSizeAndXYOffset:Array(12).fill(0).map((g,e)=>{let I=0,i=0;return e<5?i=-30:e<10&&(i=30),e===0||e===10||e===5?I=30:(e===4||e===11||e===9)&&(I=-30),[120,[I,i],"show"]}),settings:{image:{format:"jpg",ratio:1},video:{format:"mp4",imageFormat:"jpg",fps:30,mbps:80,ratio:Math.max(1,typeof window<"u"?Math.floor(window.devicePixelRatio):1),stopMode:"manual",duration:5e3},web:{logo:!0,compress:!0,preset:1,preload:!0,hint:!1,imageQuality:70}},stopRaycast:!0,hdTransmission:!1})(QB||(QB={}));var Xf;(A=>A.defaultData={id:"basic",label:"Basic",style:"None",prompt:""})(Xf||(Xf={}));var $f;(A=>A.defaultData={weather:0,shadows:0,lightOrigin:0,temperature:0,sun:0,camera:0,environment:0,particles:0,nature:0,floor:0})($f||($f={}));var sQ;(A=>(A.defaultData=()=>({mode:"line-art-both",prompt:"",negativePrompt:"",style:{...Xf.defaultData},isRandomSeed:!0,seed:A.generateSeed(),guessMode:!1,advanced:!1,steps:20,guidanceScale:7.5,controlNetScale:1,modifiers:$f.defaultData}),A.generateSeed=()=>Math.round(Math.random()*1e5)))(sQ||(sQ={}));var nc;(A=>{function g(I){return I.find(i=>i.data.type==="Page"&&i.data.globalPhysics.usePhysics)!==void 0}A.physicsEnabled=g;function e(I,i,t){I.scene.objects.traverseFrom(i,(C,o)=>{if(o.type==="Instance"){let a=ip.getComponentData(I,o.component)?.data;a&&t(C,o,a.events)}else t(C,o,o.events)})}A.traverseModuleInstances=e})(nc||(nc={}));var BQ;(A=>{A.TRASH_CAN_ID="830a2708-8ed9-49cf-a68e-085299892222",A.defaultLight={fi:-1,data:Vf.defaultDirectionalLightData,id:"830a2708-8ed9-49cf-a68e-085299899103",children:[]};function g(i=!0,t=[]){let C=[],o=Zf.defaultMeshObject;i&&(C.push({...A.defaultLight}),C.push({fi:1,id:"7ba78968-2a55-48f2-b14c-5191da3e075e",data:o,children:[]})),C.push(...t);let a=new eC;return a.push({fi:1,id:Pl,data:{...xE.defaultData,name:"Scene 1"},children:C}),a}A.createDefaultObjectTreeWithPage=g,A.defaultData={objects:g(),publish:QB.defaultData,styles:sQ.defaultData()},A.emptyDataWithoutPage=function(){return{objects:new eC,publish:QB.defaultData,styles:sQ.defaultData()}},A.emptyDataWithPage=function(i=!0){return{objects:g(i),publish:QB.defaultData,styles:sQ.defaultData()}},A.emptyData=function(){return{objects:new eC,publish:{...QB.defaultData},styles:sQ.defaultData()}};function e(i){return{...A.defaultData,objects:or(i,eC.prototype)}}A.withObjs=e;function I(i,t){return e([{id:i,data:t,children:[],fi:0}])}A.withObj=I})(BQ||(BQ={}));var jl;(A=>A.defaultData={preset:"fullscreen",allowResponsive:!1,size:[512,512],coords:[0,0],sceneScale:1,color:{r:0,g:0,b:0,a:.5}})(jl||(jl={}));var so;(A=>{function g(C){return C.textValue!==void 0}A.isTextValue=g;function e(C){return typeof C=="number"}A.isNumber=e;function I(C){return typeof C=="boolean"}A.isBoolean=I;function i(C){return g(C)?"string":I(C)?"boolean":"number"}A.typeOfVariable=i;function t(C){return A.isTextValue(C)?Array.isArray(C.textValue)?C.textValue.map(o=>o.toString().padStart(C.padding??2,"0")).join(C.deliminator??":")+(C.suffix!==void 0?" "+C.suffix:""):C.textValue.toString():A.isBoolean(C)?C?"True":"False":A.isNumber(C)?parseFloat(C.toFixed(3)).toString():C.toString()}A.getDisplayedValue=t})(so||(so={}));var AS;(A=>A.all=["images","videos","colors","audios","particles","fonts","materials","variables"])(AS||(AS={}));var nR;(A=>A.all=[...AS.all,"components"])(nR||(nR={}));var ER;(A=>{function g(){return{images:new He,videos:new He,colors:new He,audios:new He,particles:new He,fonts:new He,materials:new He,components:new He,variables:new He}}A.defaultData=g})(ER||(ER={}));var MQ;(A=>{function g(){return{images:new He,videos:new He,colors:new He,audios:new He,particles:new He,fonts:new He,materials:new He,components:new He,variables:new He}}A.defaultData=g})(MQ||(MQ={}));var Fo;(A=>{function g(){let C={};return C["89b10010-844c-11ec-a8a3-0242ac120002"]={r:.5,g:.5,b:.5,a:1,name:"Default Color"},or(C,He.prototype)}A.defaultColors=g;function e(){return or({},He.prototype)}A.defaultImages=e;function I(){return{catelogs:new He,materials:new He,images:new He,videos:new He,colors:new He,audios:new He,particles:new He,fonts:new He,variables:new ce,lib:MQ.defaultData()}}A.emptyData=I;function i(C){switch(C){case"number":return{value:0,name:"Number"};case"boolean":return{value:!1,name:"Boolean"};case"string":return{value:{textValue:"String value"},name:"String"};case"time":let o=[0,0,0];return{name:"Time",value:{textValue:o,deliminator:":",padding:2,suffix:"AM"},dynamicVariableType:"time",format:"HH:mm:ss",format12h24h:"12ampm",timeZone:null,hasEnd:!1,endValue:{textValue:o,deliminator:":",padding:2,suffix:"AM"},autoStart:!0,repeat:!1};case"counter":return{name:"Counter",value:0,dynamicVariableType:"counter",updateInterval:1e3,increment:1,autoStart:!0,hasEnd:!0,endValue:60,repeat:!0,randomStart:!1,range:[0,100],decimals:0};case"random":return{name:"Random",value:0,dynamicVariableType:"random",updateInterval:1e3,increment:1,autoStart:!0,isStatic:!1,hasEnd:!0,endValue:60,repeat:!0,min:0,max:100,decimals:0};default:console.error("Unknown variable type",C)}}A.defaultVariables=i;function t(C,o){if(o.format==="HH:mm:ss"){let a=Math.floor(C/3600),r=Math.floor((C-a*3600)/60),s=Math.round(C-a*3600-r*60);return{textValue:[a,r,s]}}else if(o.format==="mm:ss"){let a=Math.floor(C/60),r=Math.round(C-a*60);return{textValue:[a,r]}}else return o.format==="number"?C=Math.round(C):C=Math.round(C*1e3)/1e3,C}A.getFormattedTimerTime=t})(Fo||(Fo={}));var ep;(A=>A.list=["idle","move","jump","run"])(ep||(ep={}));var Ip;(A=>(A.defaultColliderData={type:"capsule",height:200,radius:50,position:[0,0,0],rotation:[0,0,0]},A.defaultDataThirdPerson={moveMode:"walk",forwardDirection:"+z",speedTranslate:1e3,speedRotate:100,runMultiplier:2,rotationMode:"normal",rotBy:"keys",rotByTouch:"drag",delayPos:[.3,.3],delayRot:[.3,.3],keyAssignments:[["moveNegZ","W"],["moveNegX","A"],["movePosZ","S"],["movePosX","D"],["rotPosX","\u25B2"],["rotPosY","\u25C0"],["rotNegX","\u25BC"],["rotNegY","\u25B6"],["jump","Space"],["run","\u21E7"],["none","Ctrl"]],touchControl:!0,joystickPosLoc:5,joystickRotLoc:11,jumpTouchButtonLoc:9,collider:A.defaultColliderData,colliderHelperVisible:!0,collisionEnabled:!0,jumpPower:100,resetYPosition:3e3,alignToGround:!1,autoOrientMove:!0,orientWith:"camera",orientMode:"radial",delayPosCamera:.3,delayRotCamera:.3,camera:"",cameraXAxis:"Limit",cameraYAxis:"Free",cameraRotXLimits:[0,Math.PI/2],cameraRotYLimits:[-Math.PI/2,Math.PI/2],gameActions:{idle:new ce,move:new ce,jump:new ce,run:new ce},navmesh:{enabled:!1,ch:6,cs:6,walkableClimb:5,walkableHeight:1,walkableRadius:0,zones:"all",objects:[],helperVisible:!0,destinationHelperRadius:0,destinationHelperColor:jI.fromHexAndA(3728051,1)}}))(Ip||(Ip={}));function hR(A){A.layers.forEach(g=>{if(g.type==="depth"&&g.colorA!==void 0){let e=g.colorA,I=g.colorB,i=[[e.r,e.g,e.b,e.a],[I.r,I.g,I.b,I.a]],t=[0,1];for(let o=2;o<10;o++)i.push(i[1]),t.push(1);let C={...ss(_i(g),"type","visible","isVector","isWorldSpace","origin","alpha","mode"),near:Math.max(0,g.near),far:Math.max(0,g.far),colors:i,steps:t,num:2,direction:[1,0,0],smooth:!1,gradientType:1};Object.assign(g,C)}else if(g.type==="depth"&&g.gradientType===1&&(g.near<0||g.far<0)){let e={..._i(g),near:Math.max(g.near,0),far:Math.max(g.far,0)};Object.assign(g,e)}})}function IB(A,g){Object.values(A.shared.materials).forEach(e=>g(e))}function iB(A,g){A.scene.objects.traverse((e,I)=>{"materials"in I?I.materials.forEach((i,t)=>{i===void 0&&(I.materials[t]=hC.defaultData(),i=I.materials[t]),typeof i!="string"&&g(i)}):"material"in I?typeof I.material!="string"&&(I.material===void 0&&(I.material=hC.defaultData()),g(I.material)):I.type==="Mesh"&&(I.material===void 0&&(I.material=hC.defaultData()),g(I.material)),"overrides"in I&&Object.values(I.overrides).forEach(i=>{i.material&&typeof i.material!="string"&&Object.getPrototypeOf(i.material)!==ot.prototype&&g(i.material)})})}function ueA(A){Object.assign(A.scene.publish,{orbitControls:{...gp.defaultData,..._i(A.scene.publish.orbitControls)}})}function DeA(A){Object.assign(A.scene.publish.settings,{video:{...QB.defaultData.settings.video,..._i(A.scene.publish.settings.video)}})}function peA(A){function g(e){if(e.layers){for(let I of Object.values(e.layers))if(I){for(let[i,t]of Object.entries(I))if((Sb.includes(i)||typeof t=="boolean")&&delete I[i],i==="texture")for(let[C,o]of Object.entries(t))(deA.includes(C)||typeof o=="boolean")&&delete t[C]}}}A.scene.objects.traverse((e,I)=>{I.states.forEach(i=>{let t=i;t.material?g(t.material):t.materials&&t.materials.forEach(C=>{g(C)})})})}function yeA(A){A.scene.publish.withBackground=!0}function weA(A){A.scene.publish.settings.web={compress:!0,preload:!0,preset:1,logo:!0,hint:!1}}function feA(A){A.scene.objects.traverse((g,e)=>{let I=e.cloner;I&&(I.radial.scale=I.radial.scale.map(i=>i+1),I.linear.scale=I.linear.scale.map(i=>i+1))})}function SeA(A){A.scene.objects.traverse((g,e)=>{let I=e.geometry;I&&(I.type==="DodecahedronGeometry"||I.type==="IcosahedronGeometry")&&(I.detail=Math.round(I.detail))})}function GeA(A){A.scene.objects.traverse((g,e)=>{let I=A.scene.objects.unproxy().parent(g);if(I){let i=_i(A.scene.objects.data(I));i&&i.type==="Mesh"&&i.geometry.type==="BooleanGeometry"&&e.type==="Mesh"&&(e.visible=_i(e).booleanExclude!==!0)}})}function meA(A){A.scene.objects.traverse((g,e)=>{if(e.type==="Mesh"){let I=e;e.geometry.type==="NonParametricGeometry"?I.material!==void 0&&delete I.material:I.materials!==void 0&&delete I.materials}})}function MeA(A){function g(I){Object.setPrototypeOf(I,ot.prototype),I.texture&&Object.setPrototypeOf(I.texture,ot.prototype)}function e(I){Object.setPrototypeOf(I,ot.prototype);for(let i in I)g(I[i])}A.scene.objects.traverse((I,i)=>{i.states.forEach(t=>{let C=t;if(C.material){let o=_i(C.material).layers;e(o),C.material.layers=o}if(C.materials)for(let o=0;o<C.materials.length;o++){let a=C.materials[o],r=_i(a).layers;e(r),a.layers=r}})})}function lR(A){A.layers===void 0&&Object.assign(A,hC.defaultTwoLayerData("lambert"))}function Lw(A){!A.layers||A.layers.forEach(g=>{if(g.type==="depth"&&g.colors.length===10){let e=[...g.colors];e.push(g.colors[9]);let I=[...g.steps];I.push(g.steps[9]);let i={..._i(g),colors:e,steps:I};Object.assign(g,i)}})}function keA(A){A.scene.objects.traverse((g,e)=>{e.type==="Mesh"&&(e.geometry.type==="BooleanGeometry"||e.geometry.type==="SubdivGeometry")&&(e.geometry.phongAngle=35)})}function cR(A){A.scene.objects.traverse((g,e)=>{"materials"in e?e.materials.forEach(I=>{typeof I!="string"&&Lw(I)}):"material"in e&&typeof e.material!="string"&&Lw(e.material)}),Object.values(A.shared.materials).forEach(g=>Lw(g))}function UeA(A){A.scene.environment.ambientLight.softShadows=!1,A.scene.environment.ambientLight.softShadowQuality="low",A.scene.objects.traverse((g,e)=>{(e.type==="DirectionalLight"||e.type==="SpotLight")&&(e.shadowResolution=1024,e.shadowRadius=1,e.depth=1e5)}),A.shared.penumbraSize=new Array(5).fill(.5)}function NeA(A){A.shared.audios=or({},He.prototype)}function FeA(A){A.shared.videos=or({},He.prototype)}function ReA(A){let g=A.shared.materials;Object.entries(g).forEach(([e,I])=>{if(!I.layers){let i={name:"Untitled Material",layers:[{fi:0,data:{type:"light",category:"phong",alpha:.6,visible:!0,mode:0,specular:{r:.2,g:.2,b:.2},shininess:5},id:"layer1"},{fi:1,data:{type:"color",alpha:1,visible:!0,mode:0,color:{r:.2823529411764706,g:.2823529411764706,b:.30196078431372547}},id:"layer2"}]};Object.assign(g,{[e]:i})}})}function veA(A){Object.entries(_i(A.shared.images)).filter(g=>g[1].asset===!1).map(g=>g[0]).forEach(g=>{delete A.shared.images[g]}),Object.entries(_i(A.shared.audios)).filter(g=>g[1].asset===!1).map(g=>g[0]).forEach(g=>{delete A.shared.audios[g]})}function KeA(A){A.scene.publish.settings.web.preload=!1}function dR(A){A.layers&&A.layers.forEach(g=>{g.type==="depth"&&g.num!==void 0&&(g.colors=g.colors.slice(0,g.num),g.steps=g.steps.slice(0,g.num),delete g.num)})}function uR(A){A.layers&&A.layers.forEach(g=>{ceA(g)&&g.isMask===void 0&&(g.isMask=!1),(g.type==="texture"||g.type==="video")&&g.blending===void 0&&(g.blending=0),(g.type==="noise"||g.type==="displace"&&g.displacementType==="noise")&&(g.voronoiStyle===void 0&&(g.voronoiStyle=0),g.highCut===void 0&&(g.highCut=1),g.lowCut===void 0&&(g.lowCut=0),g.smoothness===void 0&&(g.smoothness=.3),g.seed===void 0&&(g.seed=0),g.quality===void 0&&(g.quality=1))})}function JeA(A){A.shared.fonts=or({},He.prototype)}function qeA(A){return A.replace(".typeface","").replace(/optimer/gi,"open sans").replace("space_mono","space mono").replace(/alma_mono/gi,"varela round").replace(/droid_sans_mono/gi,"noto sans mono").replace(/droid_sans|gentilis|gnomon_(simple|foreground)|helvetiker/gi,"roboto").replace(/droid_serif/gi,"roboto slab").replace("_sans"," sans").replace("crimson_text","crimson text").replace("medium_medium","medium").replace("fatface_fatface","fatface").replace("100hairline","thin").replace("200thin","extralight").replace("300light","light").replace("500medium","medium").replace("600semi","semibold").replace("800heavy","extrabold").replace("900black","black").replace(/bodoni_(11|16|24|36|48|72|96)([^_])/gi,"bodoni_$1_$2").replace(/bodoni_(11|16|24|36|48|72|96)/gi,"bodoni moda").replace(/(thin|hairline)(_regular)?/gi,"100").replace(/(extra|ultra)light(_regular)?/gi,"200").replace(/light(_regular)?/gi,"300").replace(/_book|_normal|_roman/gi,"_regular").replace(/medium(_regular)?/gi,"500").replace(/(semi|demi)bold(_regular)?/gi,"600").replace(/(extra|ultra)bold(_regular)?/gi,"800").replace(/bold(_regular)?/gi,"700").replace(/(black|heavy|fatface)(_regular)?/gi,"900").replace(/([1-9]00)_italic/gi,"$1italic").replace(/regularitalic/gi,"italic").replace(/regularitalic/gi,"italic").split(" ").map(g=>g.charAt(0).toUpperCase()+g.slice(1)).join(" ")}function beA(A){let g=[];A.scene.objects.traverse((e,I)=>{let i=I;if(i.type==="TextFrame"){let t=hC.defaultTwoLayerData("phong"),C=typeof i.color=="string"?A.shared.colors[i.color]:i.color;t.layers[1].data.color={r:C.r,g:C.g,b:C.b},t.layers[1].data.alpha=i.alpha;let o=qeA(i.font);A.shared.fonts[o]===void 0&&(A.shared.fonts[o]={name:o});let a={name:i.name,...IC.defaultData,...dE.defaultData,flatShading:!1,wireframe:!1,geometry:{...cE.defaultData("TextGeometry"),width:i.width,height:i.height,font:o,depth:0,horizontalAlign:i.horizontalAlign,verticalAlign:i.verticalAlign,fontSize:i.fontSize*1.40625,lineHeight:i.lineHeight/1.40625,letterSpacing:i.letterSpacing-1,text:i.text,textTransform:i.textTransform,extrudeBevelSize:0,extrudeBevelSegments:1},material:t,states:_i(i.states),events:_i(i.events),visible:i.visible,raycastLock:i.raycastLock,position:i.position,rotation:i.rotation,scale:i.scale,hiddenMatrix:i.hiddenMatrix},r=_i(A.scene.objects).parent(e);A.scene.objects.insertAfter(r??null,e,[{id:e+"new",data:a,children:[]}]),g.push(e)}}),g.forEach(e=>{A.scene.objects.delete(e)})}function LeA(A){let g={0:"MouseDown",1:"MouseUp",2:"MouseHover",5:"KeyDown",6:"KeyUp",7:"Start",9:"LookAt",10:"Follow",11:"Scroll",12:"Audio",13:"GameControl"};A.scene.objects.traverse((e,I)=>{I.events.forEach(i=>{if(g[Number(i.type)])if(Object.assign(i,{type:g[Number(i.type)]}),i.type==="Audio"&&"audioEvent"in i&&(Object.assign(i,{playAudio:i.audioEvent}),delete i.audioEvent),i.type==="GameControl")Object.assign(i,{gameActions:{idle:new ce,move:new ce,jump:new ce}});else{let t=new ce;Object.assign(i,{actions:t}),(i.type==="MouseDown"||i.type==="MouseUp"||i.type==="KeyDown"||i.type==="KeyUp")&&"url"in i&&t.push({fi:0,id:Xg.generateUUID(),data:{type:"Link",url:i.url,delay:0}}),"targets"in i&&(i.targets.forEach((C,o,a)=>{let r={state:void 0,repeat:0,delay:0,delayDirection:void 0,direction:"normal",duration:0,easing:4},s={easing:C.easing,duration:C.duration};C.easing===6?Object.assign(s,ss(C,"mass","stiffness","damping","velocity")):C.easing===5&&Object.assign(s,{control1:{...C.control1},control2:{...C.control2}});let B={repeat:C.repeat?-1:0,delay:C.delay,delayDirection:C.delayDirection,direction:C.cycle&&C.rewind?"pingpong-rewind":C.cycle?"pingpong":"normal"},Q={state:C.state,...B,...s},n={allowSlerp:!0,type:"Transition",object:C.object,repeat:0,delay:0,delayDirection:void 0,direction:"normal",tweens:new ce({fi:0,id:Xg.generateUUID(),data:r},{fi:1,id:Xg.generateUUID(),data:Q})};t.push({fi:a,id:o,data:n})}),delete i.targets)}})})}function xeA(A){A.scene.objects.traverse((g,e)=>{function I(i,t){let C=new ce,o=[];if(e.events.forEach((a,r,s)=>{if(a.type==="Audio"&&a.trigger===t){let B;o.push(r),a.interaction==="play"?B={...ss(a,"interaction","audio","delay","volume","loop"),triggerAfter:"after"in a?a.after:void 0,toggle:"after"in a?a.toggle:void 0,type:"Audio"}:(a.interaction==="pause"||a.interaction==="stop")&&(B={...ss(a,"interaction","delay","object","playAudio"),type:"Audio"}),B&&C.push({fi:s,id:r,data:B})}}),o.forEach(a=>e.events.delete(a)),C.length){let a=e.events.find(r=>r.type===i)?.data;a?"actions"in a&&a.actions.insertBefore(null,C):e.events.insertBefore(null,[{id:Xg.generateUUID(),data:{type:i,actions:C}}])}}I("Start","start"),I("MouseDown","mouseDown"),I("MouseUp","mouseUp"),I("KeyDown","keyDown"),I("KeyUp","keyUp")})}function DR(A){let g=A.layers.find(e=>e.type==="light")?.data;if(g?.category==="basic"){let e=vt.defaultData("light","phong"),I=g;Object.assign(I,e),I.visible=!1}}function pR(A){IB(A,DR),iB(A,DR)}function YeA(A){A.scene.objects.traverse((g,e)=>{e.type==="Mesh"&&e.geometry.type==="SubdivGeometry"&&(e.geometry.scaleBaked||(e.geometry.scaleBaked=[1,1,1]))})}function HeA(A){A.scene.objects.traverse((g,e)=>{(e.type==="Empty"||e.type==="Mesh")&&e.cloner&&!e.cloner.randomnessObject&&!e.cloner.toObject&&!e.cloner.randomness&&(e.cloner={...e.cloner,toObject:{object:"",spreadType:"random",scale:[0,0,0],rotation:[0,0,0],position:[0,0,0],axis:"x",seed:0,count:99,align:"normal"},randomness:!1,randomnessObject:{strength:100,scale:[0,0,0],rotation:[0,0,0],position:[0,0,0],movement:1,seed:0,freqScale:10,noiseType:"perlin"}})})}function TeA(A){A.scene.objects.traverse((g,e)=>{e.type==="Mesh"&&e.geometry.type==="NonParametricGeometry"&&!("material"in e)&&!("materials"in e)&&(e.material=hC.defaultTwoLayerData("phong"))})}function OeA(A){A.scene.publish.orbitControls.autoZoom===void 0&&(A.scene.publish.orbitControls.autoZoom=!1),A.scene.objects.traverse((g,e)=>{(e.type==="OrthographicCamera"||e.type==="PerspectiveCamera")&&(e.orthographic.autoZoom===void 0&&(e.orthographic.autoZoom=!1),e.orthographic.autoZoomFrustumSize===void 0&&(e.orthographic.autoZoomFrustumSize=790))})}function _eA(A){A.scene.objects.traverse((g,e)=>{e.pathSnapping===void 0&&(e.pathSnapping={pathId:null,slide:0,offset:0,orientation:"tangential"}),e.pathSnapping.offset===void 0&&(e.pathSnapping.offset=0)})}function PeA(A){A.scene.publish.mouseEventTarget===void 0&&(A.scene.publish.mouseEventTarget="canvas"),A.scene.publish.settings.web.hint===void 0&&(A.scene.publish.settings.web.hint=!1)}function jeA(A){let{video:g}=A.scene.publish.settings;g.format==="gif"&&g.fps>48&&(g.fps=15)}function WeA(A){A.scene.objects.traverse((g,e)=>{e.events.forEach(I=>{I.type==="GameControl"&&(I.resetYPosition=Math.abs(I.resetYPosition-e.position[1]))})})}function zeA(A){let g=A.scene.environment.usePhysics;A.scene.objects.traverse((e,I)=>{g&&I.physics===null?I.collision=!1:I.collision="visibility"})}function VeA(A){A.scene.objects.traverse((g,e)=>{e.events.forEach(I=>{I.type==="GameControl"&&(I.navmesh=Ip.defaultDataThirdPerson.navmesh)})})}function ZeA(A){A.scene.styles||(A.scene.styles=sQ.defaultData())}function yR(A){A.layers.forEach(g=>{g.type==="light"&&g.category!=="toon"&&g.occlusion===void 0&&(g.occlusion=!0)})}function XeA(A){A.scene.environment.ambientLight.occlusion===void 0&&(A.scene.environment.ambientLight.occlusion=!1),A.scene.environment.ambientLight.aoFullRes===void 0&&(A.scene.environment.ambientLight.aoFullRes=!1),A.scene.environment.ambientLight.radius===void 0&&(A.scene.environment.ambientLight.radius=256),A.scene.environment.ambientLight.bias===void 0&&(A.scene.environment.ambientLight.bias=.5),A.scene.environment.ambientLight.aoColor===void 0&&(A.scene.environment.ambientLight.aoColor={r:.19607843137254902,g:.19607843137254902,b:.19607843137254902}),iB(A,yR),IB(A,yR)}function $eA(A){A.scene.objects.traverse((g,e)=>{e.events.forEach(I=>{I.type==="GameControl"&&Object.assign(I.gameActions,{run:new ce})})})}function AIA(A){A.scene.objects.traverse((g,e)=>{e.events.forEach(I=>{I.type==="GameControl"&&(I.keyAssignments=[...I.keyAssignments,["run","\u21E7"],["none","Ctrl"]])})})}function wR(A){A.layers&&A.layers.forEach(g=>{g.type==="light"&&g.bumpMapIntensity===void 0&&(g.bumpMapIntensity=5)})}function gIA(A,g){if(g<1&&(iB(A,hR),IB(A,hR),A.schema=1),g<2&&(ueA(A),A.schema=2),g<3&&(peA(A),A.schema=3),g<4&&(yeA(A),A.schema=4),g<5&&(weA(A),A.schema=5),g<6&&(feA(A),A.schema=6),g<7&&(SeA(A),A.schema=7),g<8&&(A.schema=8),g<9&&(cR(A),A.schema=9),g<10&&(keA(A),A.schema=10),g<11&&(UeA(A),A.schema=11),g<12&&(cR(A),A.schema=12),g<13&&(NeA(A),A.schema=13),g<14&&(ReA(A),A.schema=14),g<15&&(veA(A),A.schema=15),g<16&&(KeA(A),A.schema=16),g<17&&(iB(A,dR),IB(A,dR),A.schema=17),g<18&&(iB(A,lR),IB(A,lR),A.schema=18),g<19&&(DeA(A),A.schema=19),g<20&&(JeA(A),beA(A),A.schema=20),g<21&&(LeA(A),xeA(A),A.schema=21),g<22&&(pR(A),A.schema=22),g<23&&(YeA(A),A.schema=23),g<24&&(HeA(A),A.schema=24),(g<25||A.shared.videos===void 0)&&(FeA(A),g<25&&(A.schema=25)),g<26&&(GeA(A),A.schema=26),g<27&&(meA(A),A.schema=27),g<28&&(pR(A),A.schema=28),g<29&&(MeA(A),A.schema=29),g<30&&(TeA(A),A.schema=30),g<31&&(OeA(A),A.schema=31),g<33&&(_eA(A),A.schema=33),g<34&&(PeA(A),A.schema=34),g<35&&(jeA(A),A.schema=35),g<36&&(WeA(A),A.schema=36),g<37&&(zeA(A),A.schema=37),g<38&&(iB(A,uR),IB(A,uR),A.schema=38),g<39&&(VeA(A),A.schema=39),g<40&&(ZeA(A),A.schema=40),g<41&&(XeA(A),A.schema=41),g<42&&($eA(A),A.schema=42),g<43&&(AIA(A),A.schema=43),g<99){iB(A,wR),IB(A,wR),A.scene.publish.playCamera===null&&(A.scene.publish.playCamera=eh);let e=_i(A.scene.objects),I=A.scene.objects;A.scene.publish.playPage=Pl,I.insertBefore(null,null,[{id:Pl,data:{...xE.defaultData,backgroundColor:A.scene.backgroundColor,fog:A.scene.fog,postprocessing:A.scene.postprocessing,ao:ss(A.scene.environment.ambientLight,"occlusion","aoFullRes","radius","bias","aoColor"),publish:{playCamera:A.scene.publish.playCamera,gameControlObject:A.scene.publish.gameControlObject},shadow:ss(A.scene.environment.ambientLight,"softShadowQuality"),globalPhysics:{...bE.defaultData,...ss(A.scene.environment,"usePhysics","gravity")},camera:_i(A.scene.ownerCamera)??xE.defaultData.camera,name:"Scene"},children:[]}]);for(let C of e)C.id!==BQ.TRASH_CAN_ID&&I.move(Pl,C.fi,C.id);let i=0,t=0;A.shared.penumbraSize&&A.scene.objects.traverse((C,o)=>{o.type==="DirectionalLight"?(o.penumbraSize=A.shared.penumbraSize[Math.min(i,2)],i+=1):o.type==="SpotLight"&&(o.penumbraSize=A.shared.penumbraSize[3+Math.min(t,1)],t+=1),(o.physics===void 0||o.physics===null)&&o.type!=="Instance"&&(o.physics={},Object.assign(o.physics,qE.defaultData)),o.physics!==void 0&&o.physics!==null&&(o.physics.enabled=o.collision??"visibility",delete o.collision)}),A.schema=99}}function fR(A){A.layers&&A.layers.forEach(g=>{g.type==="light"&&g.alphaOverride===void 0&&(g.alphaOverride=1)})}function eIA(A){A.scene.objects.traverse((g,e)=>{let I=e.geometry;I&&I.type==="PathGeometry"&&(I.extrusion.capType="flat",I.extrusion.bevel=50,I.extrusion.bevelSides=6,I.extrusion.shape.type==="Custom"&&(I.extrusion.shape.shapeQuality="low"))})}function IIA(A){Array.isArray(_i(A.events))&&A.events?.forEach(g=>{"disabled"in g||(g.disabled=!1),(g.type==="MouseDown"||g.type==="MouseUp"||g.type==="MousePress")&&(g.mode=g.mode||"Object")})}var eE=180/Math.PI;function SR(A){A.rotation=A.rotation.slice(0,3).map(g=>g*eE)}function kb(A){SR(A),A.type==="Page"&&SR(A.camera),A.states?.forEach(e=>{e.rotation===void 0||e.rotation===null||(e.rotation=e.rotation.slice(0,3).map(I=>I*eE))});let g=A.geometry;g&&g.type==="SphereGeometry"&&(g.thetaLength=(g.thetaLength??180)*eE),g&&g.type==="TorusGeometry"&&(g.arc=g.arc*eE),g&&g.type==="PathGeometry"&&(g.extrusion.angle*=eE,g.extrusion.twist*=eE),A.type==="Mesh"&&A.geometry.type==="TextGeometry"&&(A.geometry.text={textValue:A.geometry.text}),Array.isArray(_i(A.events))&&A.events?.forEach(e=>{(e.type==="MouseDown"||e.type==="MouseUp"||e.type==="MousePress"||e.type==="KeyDown"||e.type==="KeyUp"||e.type==="KeyPress"||e.type==="Collision"||e.type==="Trigger")&&(e.runMode=e.toggle?"Toggle":"Repeat")})}function iIA(A){A.shared.variables=or({},He.prototype)}function tIA(A){let g=_i(A.shared.variables);A.shared.variables=or(Object.entries(g??{}).map(([e,I],i)=>({fi:i,id:e,data:I})),ce.prototype)}var Xr=114;function Ub(A,g){g(A.data);for(let e of A.children)Ub(e,g)}function CIA(A){let g=A.schema??104;g!==Xr&&g<105&&(Ub(A.asset,kb),A.schema=105)}function oIA(A){A.shared.particles=or({},He.prototype),A.shared.lib&&(A.shared.lib.particles=MQ.defaultData().particles)}function aIA(A){A.scene.objects.traverse((g,e)=>{e.type==="Particle"&&typeof e.renderMaterial.size=="number"&&Object.assign(e.renderMaterial,{size:[e.renderMaterial.size,e.renderMaterial.size]})})}function rIA(A){A.scene.objects.traverse((g,e)=>{e.type==="Page"&&(e.postprocessing.depthOfField.focusDistance=100,e.postprocessing.depthOfField.focalLength=20,e.postprocessing.depthOfField.bokehScale=5)})}function sIA(A){A.scene.objects.traverse((g,e)=>{Array.isArray(_i(e.events))!==!1&&e.events?.forEach(I=>{let i=I.runMode;I.type==="MouseDown"||I.type==="MouseUp"||I.type==="KeyDown"||I.type==="KeyUp"||I.type==="Collision"||I.type==="Trigger"?I.actions?.forEach(t=>{t.type==="Transition"&&(t.runMode=i??"Repeat"),(t.type==="Animation"||t.type==="SwitchCamera")&&(t.runMode=i==="Toggle"?"Toggle":"Normal")}):I.type==="MouseHover"||I.type==="MousePress"||I.type==="KeyPress"?I.actions?.forEach(t=>{(t.type==="Transition"||t.type==="Animation"||t.type==="SwitchCamera")&&(t.runMode="Toggle")}):I.type==="GameControl"?(delete I.actions,Object.keys(I.gameActions).forEach(t=>{I.gameActions[t]?.forEach(C=>{C.type==="Transition"&&(C.runMode="Repeat"),C.type==="Animation"&&(C.runMode="Normal")})})):I.type==="DragDrop"?(delete I.actions,I.dragDropActions?.drag?.forEach(t=>{(t.type==="Transition"||t.type==="Animation"||t.type==="SwitchCamera")&&(t.runMode="Toggle")}),I.dragDropActions?.drop?.forEach(t=>{(t.type==="Transition"||t.type==="Animation"||t.type==="SwitchCamera")&&(t.runMode="Toggle")})):I.type==="Resize"?(delete I.actions,I.breakpoints?.forEach(t=>{t.actions?.forEach(C=>{(C.type==="Transition"||C.type==="Animation"||C.type==="SwitchCamera")&&(C.runMode="Toggle")})})):I.type==="Start"?I.actions?.forEach(t=>{t.type==="Transition"&&(t.runMode="Once"),(t.type==="Animation"||t.type==="SwitchCamera")&&(t.runMode="Normal")}):I.type==="VariableChange"||I.type==="Scroll"?I.actions?.forEach(t=>{t.type==="Transition"&&(t.runMode="Repeat"),(t.type==="Animation"||t.type==="SwitchCamera")&&(t.runMode="Normal")}):I.type==="Conditional"&&(delete I.actions,I.inActions?.forEach(t=>{t.type==="Transition"&&(t.runMode="Repeat"),(t.type==="Animation"||t.type==="SwitchCamera")&&(t.runMode="Normal")}),I.outActions?.forEach(t=>{t.type==="Transition"&&(t.runMode="Repeat"),(t.type==="Animation"||t.type==="SwitchCamera")&&(t.runMode="Normal")}))})})}function Nb(A){let g=A.schema??0;if(g!==Xr){console.warn("updating from ",g,"to ",Xr),gIA(A,g),g<100&&(A.scene.publish.joystickSizeAndXYOffset===void 0&&(A.scene.publish.joystickSizeAndXYOffset=QB.defaultData.joystickSizeAndXYOffset),A.schema=100),g<101&&(iB(A,fR),IB(A,fR),A.schema=101),g<102&&(eIA(A),A.schema=102),g<104&&(A.shared.catelogs=new He,A.shared.lib=MQ.defaultData(),A.schema=104),g<105&&(iIA(A),A.scene.objects.traverse((e,I)=>{kb(I)}),A.schema=105);for(let e of Object.values(A.shared.lib.components))CIA(e);g<106&&(tIA(A),A.schema=106),g<107&&(A.shared.lib.variables=MQ.defaultData().variables,A.schema=107),g<109&&(oIA(A),A.schema=109),g<110&&(aIA(A),A.schema=110),g<111&&(A.scene.objects.traverse((e,I)=>{IIA(I)}),A.schema=111),g<112&&(rIA(A),A.schema=112),g<113&&(sIA(A),A.schema=113),g<114&&(A.scene.publish.settings.web.imageQuality===void 0&&(A.scene.publish.settings.web.imageQuality=70),A.schema=114)}}var ip;(A=>{A.defaultData={schema:Xr,scene:BQ.defaultData,frames:new He().add("72fc2993-2da3-4b6b-96ac-2879db3a28bd",jl.defaultData),shared:{...Fo.emptyData(),colors:Fo.defaultColors()}},A.emptyDataForImports=function(){let i=BQ.emptyDataWithPage();return{schema:Xr,scene:i,frames:new He().add("72fc2993-2da3-4b6b-96ac-2879db3a28bd",jl.defaultData),shared:{...Fo.emptyData(),colors:Fo.defaultColors(),images:Fo.defaultImages()}}},A.emptyData=function(){return{schema:Xr,scene:BQ.emptyDataWithPage(),frames:new He().add("72fc2993-2da3-4b6b-96ac-2879db3a28bd",jl.defaultData),shared:Fo.emptyData()}},A.clipboard2dData=function(){return{schema:Xr,scene:BQ.emptyData(),frames:new He,shared:Fo.emptyData()}},A.collabHelper={...Df,updateSchema(i){return(i.schema??0)<Xr?Bc(i,Nb):(i.schema??0)-Xr}};function g(i){let t=A.collabHelper.updateSchema(i);return typeof t=="number"?t===0?i:null:t.data}A.updateSchemaDirectly=g;function e(i){return{...i,shared:{...i.shared,lib:MQ.defaultData()}}}A.withoutLib=e;function I(i,t){let C=i.scene.objects.get(t);if(C&&C.data.type==="Component")return C;{let o=i.shared.lib.components[t];if(o)return o.asset}}A.getComponentData=I})(ip||(ip={}));var gS;(A=>A.emptyImage={data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=",name:"empty"})(gS||(gS={}));var GR;(A=>{function g(e){return!0}A.is=g})(GR||(GR={}));var tp;(A=>{A.defaultData={position:[0,0],scale:[1,1],rotation:0,shear:[0,0]};function g(I,i){return{position:i?.position??I.position,rotation:i?.rotation??I.rotation,scale:i?.scale??I.scale,shear:i?.shear??I.shear}}A.merge=g;function e(I,i){return Tq({position:os.isEqual(I.position,i.position)?void 0:i.position,rotation:I.rotation===i.rotation?void 0:i.rotation,scale:os.isEqual(I.scale,i.scale)?void 0:i.scale,shear:I.shear&&i.shear&&os.isEqual(I.shear,i.shear)?void 0:i.shear})}A.diff=e})(tp||(tp={}));var eS;(A=>A.defaultData={horizontalConstraint:0,verticalConstraint:0})(eS||(eS={}));var mR;(A=>A.defaultData={direction:"row",wrap:"unwrap",align:"top-left",gap:10,rowGap:10,autoGap:!1,autoRowGap:!1,leftPadding:8,rightPadding:8,topPadding:8,bottomPadding:8})(mR||(mR={}));var Cp;(A=>A.defaultData={opacity:1,fill:{color:jI.fromHexAndA(Bo,1),enabled:!0},stroke:{color:jI.from0to1([0,0,0,1]),thickness:1,enabled:!1,mode:"inside"},layerBlur:{radius:2,enabled:!1},backgroundBlur:{radius:2,enabled:!1},dropShadow:{offset:[10,10],blurRadius:10,color:jI.from0to1([0,0,0,1]),enabled:!1,spread:0},innerShadow:{offset:[10,10],blurRadius:10,color:jI.from0to1([0,0,0,1]),enabled:!1,spread:0}})(Cp||(Cp={}));var QQ;(A=>{function g(C,o){return{name:o}}A.newEmpty=g;function e(C,o){if(o===void 0)return C;let a={...C},r=["width","height","cornerRadius"];for(let s of r)s in a&&s in o&&o[s]!==void 0&&Object.assign(a,{[s]:o[s]});return a}function I(C,o){if(o===void 0)return C;let a={...C};return"fill"in a&&"fill"in o&&o.fill!==void 0&&Object.assign(a,{fill:{...a.fill,...o.fill}}),"stroke"in a&&"stroke"in o&&o.stroke!==void 0&&Object.assign(a,{stroke:{...a.stroke,...o.stroke}}),"layerBlur"in a&&"layerBlur"in o&&o.layerBlur!==void 0&&Object.assign(a,{layerBlur:{...a.layerBlur,...o.layerBlur}}),"backgroundBlur"in a&&"backgroundBlur"in o&&o.backgroundBlur!==void 0&&Object.assign(a,{backgroundBlur:{...a.backgroundBlur,...o.backgroundBlur}}),"dropShadow"in a&&"dropShadow"in o&&o.dropShadow!==void 0&&Object.assign(a,{dropShadow:{...a.dropShadow,...o.dropShadow}}),"innerShadow"in a&&"innerShadow"in o&&o.innerShadow!==void 0&&Object.assign(a,{innerShadow:{...a.innerShadow,...o.innerShadow}}),a}function i(C,o){if(o===void 0)return C;let a={...C};return Object.assign(a,tp.merge(a,o)),a=e(a,o),a=I(a,o),a}A.patch=i;function t(C,o){let a,r=[];for(let[s,B]of Object.entries(o))s!=="name"&&(a===void 0&&(a={path:[],props:{},type:0},r.push(a)),a.props[s]=B);return r}A.toOps=t})(QQ||(QQ={}));var Ec;(A=>A.defaultData={...tp.defaultData,...eS.defaultData,states:new ce,events:new ce,visible:!0,raycastLock:!1})(Ec||(Ec={}));var YE;(A=>A.defaultData={...Ec.defaultData,...Cp.defaultData})(YE||(YE={}));var op;(A=>A.defaultData={cornerRadius:[0,0,0,0]})(op||(op={}));var IS;(A=>A.defaultData={...YE.defaultData,type:"ellipse2d",width:100,height:100,name:"Ellipse"})(IS||(IS={}));var hc;(A=>A.defaultData={...YE.defaultData,...op.defaultData,type:"rectangle2d",width:100,height:100,name:"Rectangle"})(hc||(hc={}));var iS;(A=>A.defaultData={...YE.defaultData,type:"text2d",width:100,height:100,fontSize:12,lineHeight:1.2,letterSpacing:0,text:{textValue:"Hello world"},horizontalAlign:1,verticalAlign:1,textTransform:1,font:"Roboto_regular",name:"Text"})(iS||(iS={}));var tS;(A=>A.defaultData={...YE.defaultData,type:"path2d",path:"",name:"Path"})(tS||(tS={}));var MR;(A=>{function g(e){return e.type==="ellipse2d"||e.type==="rectangle2d"||e.type==="text2d"||e.type==="vector2d"||e.type==="path2d"}A.is=g})(MR||(MR={}));var ap;(A=>A.defaultData={...Ec.defaultData,name:"Group",type:"group2d"})(ap||(ap={}));var CS;(A=>A.defaultData=()=>({...Ec.defaultData,...op.defaultData,...Cp.defaultData,name:"Frame",type:"frame2d",clipped:!0,width:200,height:200,fill:{color:jI.fromHexAndA(4737101,1),enabled:!0},stroke:{color:jI.fromHexAndA(0,1),thickness:1,enabled:!1,mode:"inside"},backgroundBlur:{radius:2,enabled:!1},layerBlur:{radius:2,enabled:!1}}))(CS||(CS={}));var pQ;(A=>{function g(C){switch(C){case"rectangle2d":return{...hc.defaultData};case"ellipse2d":return{...IS.defaultData};case"text2d":return{...iS.defaultData};case"vector2d":return{...hc.defaultData};case"path2d":return{...tS.defaultData};case"frame2d":return{...CS.defaultData()};case"group2d":return{...ap.defaultData}}}A.defaultData=g;function e(C){return"width"in C&&"height"in C?[typeof C.width=="number"?C.width*.5:0,typeof C.height=="number"?C.height*.5:0]:[0,0]}A.getPivot=e;function I(C){return C.type==="rectangle2d"||C.type==="ellipse2d"||C.type==="text2d"||C.type==="frame2d"}A.isResizeable=I;function i(C){return C.type==="frame2d"&&C.autoLayout!==void 0}A.isAutoLayoutable=i;function t(C){return C.type==="rectangle2d"||C.type==="frame2d"}A.hasCorners=t})(pQ||(pQ={}));var oS;(A=>(A.defaultData={name:"UI",type:"scene2d",objects:new eC},A.emptyData=function(){return{type:"scene2d",objects:new eC}}))(oS||(oS={}));function nQ(A,g=!1){let e=A[0].index!==null,I=new Set(Object.keys(A[0].attributes)),i=new Set(Object.keys(A[0].morphAttributes)),t={},C={},o=A[0].morphTargetsRelative,a=new se,r=0;for(let s=0;s<A.length;++s){let B=A[s],Q=0;if(e!==(B.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+s+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(let n in B.attributes){if(!I.has(n))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+s+'. All geometries must have compatible attributes; make sure "'+n+'" attribute exists among all geometries, or in none of them.'),null;t[n]===void 0&&(t[n]=[]),t[n].push(B.attributes[n]),Q++}if(Q!==I.size)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+s+". Make sure all geometries have the same number of attributes."),null;if(o!==B.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+s+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(let n in B.morphAttributes){if(!i.has(n))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+s+".  .morphAttributes must be consistent throughout all geometries."),null;C[n]===void 0&&(C[n]=[]),C[n].push(B.morphAttributes[n])}if(g){let n;if(e)n=B.index.count;else if(B.attributes.position!==void 0)n=B.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+s+". The geometry must have either an index or a position attribute"),null;a.addGroup(r,n,s),r+=n}}if(e){let s=0,B=[];for(let Q=0;Q<A.length;++Q){let n=A[Q].index;for(let E=0;E<n.count;++E)B.push(n.getX(E)+s);s+=A[Q].attributes.position.count}a.setIndex(B)}for(let s in t){let B=kR(t[s]);if(!B)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the "+s+" attribute."),null;a.setAttribute(s,B)}for(let s in C){let B=C[s][0].length;if(B===0)break;a.morphAttributes=a.morphAttributes||{},a.morphAttributes[s]=[];for(let Q=0;Q<B;++Q){let n=[];for(let l=0;l<C[s].length;++l)n.push(C[s][l][Q]);let E=kR(n);if(!E)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the "+s+" morphAttribute."),null;a.morphAttributes[s].push(E)}}return a}function kR(A){let g,e,I,i=0;for(let o=0;o<A.length;++o){let a=A[o];if(a.isInterleavedBufferAttribute)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. InterleavedBufferAttributes are not supported."),null;if(g===void 0&&(g=a.array.constructor),g!==a.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(e===void 0&&(e=a.itemSize),e!==a.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(I===void 0&&(I=a.normalized),I!==a.normalized)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;i+=a.array.length}let t=new g(i),C=0;for(let o=0;o<A.length;++o)t.set(A[o].array,C),C+=A[o].array.length;return new Se(t,e,I)}var BIA=Math.pow(2,-24),cu=class{constructor(){}};function Ar(A,g,e){return e.min.x=g[A],e.min.y=g[A+1],e.min.z=g[A+2],e.max.x=g[A+3],e.max.y=g[A+4],e.max.z=g[A+5],e}function UR(A){let g=-1,e=-1/0;for(let I=0;I<3;I++){let i=A[I+3]-A[I];i>e&&(e=i,g=I)}return g}function NR(A,g){g.set(A)}function FR(A,g,e){let I,i;for(let t=0;t<3;t++){let C=t+3;I=A[t],i=g[t],e[t]=I<i?I:i,I=A[C],i=g[C],e[C]=I>i?I:i}}function du(A,g,e){for(let I=0;I<3;I++){let i=g[A+2*I],t=g[A+2*I+1],C=i-t,o=i+t;C<e[I]&&(e[I]=C),o>e[I+3]&&(e[I+3]=o)}}function nl(A){let g=A[3]-A[0],e=A[4]-A[1],I=A[5]-A[2];return 2*(g*e+e*I+I*g)}function QIA(A,g){if(!A.index){let e=A.attributes.position.count,I=g.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer,i;e>65535?i=new Uint32Array(new I(4*e)):i=new Uint16Array(new I(2*e)),A.setIndex(new Se(i,1));for(let t=0;t<e;t++)i[t]=t}}function nIA(A){if(!A.groups||!A.groups.length)return[{offset:0,count:A.index.count/3}];let g=[],e=new Set;for(let i of A.groups)e.add(i.start),e.add(i.start+i.count);let I=Array.from(e.values()).sort((i,t)=>i-t);for(let i=0;i<I.length-1;i++){let t=I[i],C=I[i+1];g.push({offset:t/3,count:(C-t)/3})}return g}function xw(A,g,e,I,i=null){let t=1/0,C=1/0,o=1/0,a=-1/0,r=-1/0,s=-1/0,B=1/0,Q=1/0,n=1/0,E=-1/0,l=-1/0,h=-1/0,u=i!==null;for(let D=g*6,p=(g+e)*6;D<p;D+=6){let w=A[D+0],k=A[D+1],U=w-k,N=w+k;U<t&&(t=U),N>a&&(a=N),u&&w<B&&(B=w),u&&w>E&&(E=w);let G=A[D+2],R=A[D+3],J=G-R,q=G+R;J<C&&(C=J),q>r&&(r=q),u&&G<Q&&(Q=G),u&&G>l&&(l=G);let T=A[D+4],P=A[D+5],H=T-P,eA=T+P;H<o&&(o=H),eA>s&&(s=eA),u&&T<n&&(n=T),u&&T>h&&(h=T)}I[0]=t,I[1]=C,I[2]=o,I[3]=a,I[4]=r,I[5]=s,u&&(i[0]=B,i[1]=Q,i[2]=n,i[3]=E,i[4]=l,i[5]=h)}function EIA(A,g,e,I){let i=1/0,t=1/0,C=1/0,o=-1/0,a=-1/0,r=-1/0;for(let s=g*6,B=(g+e)*6;s<B;s+=6){let Q=A[s+0];Q<i&&(i=Q),Q>o&&(o=Q);let n=A[s+2];n<t&&(t=n),n>a&&(a=n);let E=A[s+4];E<C&&(C=E),E>r&&(r=E)}I[0]=i,I[1]=t,I[2]=C,I[3]=o,I[4]=a,I[5]=r}function hIA(A,g,e,I,i){let t=e,C=e+I-1,o=i.pos,a=i.axis*2;for(;;){for(;t<=C&&g[t*6+a]<o;)t++;for(;t<=C&&g[C*6+a]>=o;)C--;if(t<C){for(let r=0;r<3;r++){let s=A[t*3+r];A[t*3+r]=A[C*3+r],A[C*3+r]=s;let B=g[t*6+r*2+0];g[t*6+r*2+0]=g[C*6+r*2+0],g[C*6+r*2+0]=B;let Q=g[t*6+r*2+1];g[t*6+r*2+1]=g[C*6+r*2+1],g[C*6+r*2+1]=Q}t++,C--}else return t}}var jr=32,lIA=(A,g)=>A.candidate-g.candidate,Ps=new Array(jr).fill().map(()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0})),uu=new Float32Array(6);function cIA(A,g,e,I,i,t){let C=-1,o=0;if(t===0)C=UR(g),C!==-1&&(o=(g[C]+g[C+3])/2);else if(t===1)C=UR(A),C!==-1&&(o=dIA(e,I,i,C));else if(t===2){let a=nl(A),r=1.25*i,s=I*6,B=(I+i)*6;for(let Q=0;Q<3;Q++){let n=g[Q],E=(g[Q+3]-n)/jr;if(i<jr/4){let l=[...Ps];l.length=i;let h=0;for(let D=s;D<B;D+=6,h++){let p=l[h];p.candidate=e[D+2*Q],p.count=0;let{bounds:w,leftCacheBounds:k,rightCacheBounds:U}=p;for(let N=0;N<3;N++)U[N]=1/0,U[N+3]=-1/0,k[N]=1/0,k[N+3]=-1/0,w[N]=1/0,w[N+3]=-1/0;du(D,e,w)}l.sort(lIA);let u=i;for(let D=0;D<u;D++){let p=l[D];for(;D+1<u&&l[D+1].candidate===p.candidate;)l.splice(D+1,1),u--}for(let D=s;D<B;D+=6){let p=e[D+2*Q];for(let w=0;w<u;w++){let k=l[w];p>=k.candidate?du(D,e,k.rightCacheBounds):(du(D,e,k.leftCacheBounds),k.count++)}}for(let D=0;D<u;D++){let p=l[D],w=p.count,k=i-p.count,U=p.leftCacheBounds,N=p.rightCacheBounds,G=0;w!==0&&(G=nl(U)/a);let R=0;k!==0&&(R=nl(N)/a);let J=1+1.25*(G*w+R*k);J<r&&(C=Q,r=J,o=p.candidate)}}else{for(let u=0;u<jr;u++){let D=Ps[u];D.count=0,D.candidate=n+E+u*E;let p=D.bounds;for(let w=0;w<3;w++)p[w]=1/0,p[w+3]=-1/0}for(let u=s;u<B;u+=6){let D=~~((e[u+2*Q]-n)/E);D>=jr&&(D=jr-1);let p=Ps[D];p.count++,du(u,e,p.bounds)}let l=Ps[jr-1];NR(l.bounds,l.rightCacheBounds);for(let u=jr-2;u>=0;u--){let D=Ps[u],p=Ps[u+1];FR(D.bounds,p.rightCacheBounds,D.rightCacheBounds)}let h=0;for(let u=0;u<jr-1;u++){let D=Ps[u],p=D.count,w=D.bounds,k=Ps[u+1].rightCacheBounds;p!==0&&(h===0?NR(w,uu):FR(w,uu,uu)),h+=p;let U=0,N=0;h!==0&&(U=nl(uu)/a);let G=i-h;G!==0&&(N=nl(k)/a);let R=1+1.25*(U*h+N*G);R<r&&(C=Q,r=R,o=D.candidate)}}}}else console.warn(`MeshBVH: Invalid build strategy value ${t} used.`);return{axis:C,pos:o}}function dIA(A,g,e,I){let i=0;for(let t=g,C=g+e;t<C;t++)i+=A[t*6+I*2];return i/e}function uIA(A,g){let e=A.attributes.position,I=A.index.array,i=I.length/3,t=new Float32Array(i*6),C=e.normalized,o=e.array,a=e.offset||0,r=3;e.isInterleavedBufferAttribute&&(r=e.data.stride);let s=["getX","getY","getZ"];for(let B=0;B<i;B++){let Q=B*3,n=B*6,E,l,h;C?(E=I[Q+0],l=I[Q+1],h=I[Q+2]):(E=I[Q+0]*r+a,l=I[Q+1]*r+a,h=I[Q+2]*r+a);for(let u=0;u<3;u++){let D,p,w;C?(D=e[s[u]](E),p=e[s[u]](l),w=e[s[u]](h)):(D=o[E+u],p=o[l+u],w=o[h+u]);let k=D;p<k&&(k=p),w<k&&(k=w);let U=D;p>U&&(U=p),w>U&&(U=w);let N=(U-k)/2,G=u*2;t[n+G+0]=k+N,t[n+G+1]=N+(Math.abs(k)+N)*BIA,k<g[u]&&(g[u]=k),U>g[u+3]&&(g[u+3]=U)}}return t}function DIA(A,g){function e(u){Q&&Q(u/n)}function I(u,D,p,w=null,k=0){if(!E&&k>=a&&(E=!0,r&&(console.warn(`MeshBVH: Max depth of ${a} reached when generating BVH. Consider increasing maxDepth.`),console.warn(A))),p<=s||k>=a)return e(D+p),u.offset=D,u.count=p,u;let U=cIA(u.boundingData,w,C,D,p,B);if(U.axis===-1)return e(D+p),u.offset=D,u.count=p,u;let N=hIA(o,C,D,p,U);if(N===D||N===D+p)e(D+p),u.offset=D,u.count=p;else{u.splitAxis=U.axis;let G=new cu,R=D,J=N-D;u.left=G,G.boundingData=new Float32Array(6),xw(C,R,J,G.boundingData,t),I(G,R,J,t,k+1);let q=new cu,T=N,P=p-J;u.right=q,q.boundingData=new Float32Array(6),xw(C,T,P,q.boundingData,t),I(q,T,P,t,k+1)}return u}QIA(A,g);let i=new Float32Array(6),t=new Float32Array(6),C=uIA(A,i),o=A.index.array,a=g.maxDepth,r=g.verbose,s=g.maxLeafTris,B=g.strategy,Q=g.onProgress,n=A.index.count/3,E=!1,l=[],h=nIA(A);if(h.length===1){let u=h[0],D=new cu;D.boundingData=i,EIA(C,u.offset,u.count,t),I(D,u.offset,u.count,t),l.push(D)}else for(let u of h){let D=new cu;D.boundingData=new Float32Array(6),xw(C,u.offset,u.count,D.boundingData,t),I(D,u.offset,u.count,t),l.push(D)}return l}function pIA(A,g){let e=DIA(A,g),I,i,t,C=[],o=g.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let s=0;s<e.length;s++){let B=e[s],Q=a(B),n=new o(32*Q);I=new Float32Array(n),i=new Uint32Array(n),t=new Uint16Array(n),r(0,B),C.push(n)}return C;function a(s){return s.count?1:1+a(s.left)+a(s.right)}function r(s,B){let Q=s/4,n=s/2,E=!!B.count,l=B.boundingData;for(let h=0;h<6;h++)I[Q+h]=l[h];if(E){let h=B.offset,u=B.count;return i[Q+6]=h,t[n+14]=u,t[n+15]=65535,s+32}else{let h=B.left,u=B.right,D=B.splitAxis,p;if(p=r(s+32,h),p/4>Math.pow(2,32))throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return i[Q+6]=p/4,p=r(p,u),i[Q+7]=D,p}}}var ar=class{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(A,g){let e=1/0,I=-1/0;for(let i=0,t=A.length;i<t;i++){let C=A[i][g];e=C<e?C:e,I=C>I?C:I}this.min=e,this.max=I}setFromPoints(A,g){let e=1/0,I=-1/0;for(let i=0,t=g.length;i<t;i++){let C=g[i],o=A.dot(C);e=o<e?o:e,I=o>I?o:I}this.min=e,this.max=I}isSeparated(A){return this.min>A.max||A.min>this.max}};ar.prototype.setFromBox=function(){let A=new x;return function(g,e){let I=e.min,i=e.max,t=1/0,C=-1/0;for(let o=0;o<=1;o++)for(let a=0;a<=1;a++)for(let r=0;r<=1;r++){A.x=I.x*o+i.x*(1-o),A.y=I.y*a+i.y*(1-a),A.z=I.z*r+i.z*(1-r);let s=g.dot(A);t=Math.min(s,t),C=Math.max(s,C)}this.min=t,this.max=C}}();var dhA=function(){let A=new ar;return function(g,e){let I=g.points,i=g.satAxes,t=g.satBounds,C=e.points,o=e.satAxes,a=e.satBounds;for(let r=0;r<3;r++){let s=t[r],B=i[r];if(A.setFromPoints(B,C),s.isSeparated(A))return!1}for(let r=0;r<3;r++){let s=a[r],B=o[r];if(A.setFromPoints(B,I),s.isSeparated(A))return!1}}}(),yIA=function(){let A=new x,g=new x,e=new x;return function(I,i,t){let C=I.start,o=A,a=i.start,r=g;e.subVectors(C,a),A.subVectors(I.end,I.start),g.subVectors(i.end,i.start);let s=e.dot(r),B=r.dot(o),Q=r.dot(r),n=e.dot(o),E=o.dot(o)*Q-B*B,l,h;E!==0?l=(s*B-n*Q)/E:l=0,h=(s+l*B)/Q,t.x=l,t.y=h}}(),TG=function(){let A=new mA,g=new x,e=new x;return function(I,i,t,C){yIA(I,i,A);let o=A.x,a=A.y;if(o>=0&&o<=1&&a>=0&&a<=1){I.at(o,t),i.at(a,C);return}else if(o>=0&&o<=1){a<0?i.at(0,C):i.at(1,C),I.closestPointToPoint(C,!0,t);return}else if(a>=0&&a<=1){o<0?I.at(0,t):I.at(1,t),i.closestPointToPoint(t,!0,C);return}else{let r;o<0?r=I.start:r=I.end;let s;a<0?s=i.start:s=i.end;let B=g,Q=e;if(I.closestPointToPoint(s,!0,g),i.closestPointToPoint(r,!0,e),B.distanceToSquared(s)<=Q.distanceToSquared(r)){t.copy(B),C.copy(s);return}else{t.copy(r),C.copy(Q);return}}}}(),wIA=function(){let A=new x,g=new x,e=new ao,I=new Jo;return function(i,t){let{radius:C,center:o}=i,{a,b:r,c:s}=t;if(I.start=a,I.end=r,I.closestPointToPoint(o,!0,A).distanceTo(o)<=C||(I.start=a,I.end=s,I.closestPointToPoint(o,!0,A).distanceTo(o)<=C)||(I.start=r,I.end=s,I.closestPointToPoint(o,!0,A).distanceTo(o)<=C))return!0;let B=t.getPlane(e);if(Math.abs(B.distanceToPoint(o))<=C){let Q=B.projectPoint(o,g);if(t.containsPoint(Q))return!0}return!1}}(),fIA=1e-15;function bn(A){return Math.abs(A)<fIA}var hs=class extends AC{constructor(...A){super(...A),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map(()=>new x),this.satBounds=new Array(4).fill().map(()=>new ar),this.points=[this.a,this.b,this.c],this.sphere=new VC,this.plane=new ao,this.needsUpdate=!0}intersectsSphere(A){return wIA(A,this)}update(){let A=this.a,g=this.b,e=this.c,I=this.points,i=this.satAxes,t=this.satBounds,C=i[0],o=t[0];this.getNormal(C),o.setFromPoints(C,I);let a=i[1],r=t[1];a.subVectors(A,g),r.setFromPoints(a,I);let s=i[2],B=t[2];s.subVectors(g,e),B.setFromPoints(s,I);let Q=i[3],n=t[3];Q.subVectors(e,A),n.setFromPoints(Q,I),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(C,A),this.needsUpdate=!1}};hs.prototype.closestPointToSegment=function(){let A=new x,g=new x,e=new Jo;return function(I,i=null,t=null){let{start:C,end:o}=I,a=this.points,r,s=1/0;for(let B=0;B<3;B++){let Q=(B+1)%3;e.start.copy(a[B]),e.end.copy(a[Q]),TG(e,I,A,g),r=A.distanceToSquared(g),r<s&&(s=r,i&&i.copy(A),t&&t.copy(g))}return this.closestPointToPoint(C,A),r=C.distanceToSquared(A),r<s&&(s=r,i&&i.copy(A),t&&t.copy(C)),this.closestPointToPoint(o,A),r=o.distanceToSquared(A),r<s&&(s=r,i&&i.copy(A),t&&t.copy(o)),Math.sqrt(s)}}();hs.prototype.intersectsTriangle=function(){let A=new hs,g=new Array(3),e=new Array(3),I=new ar,i=new ar,t=new x,C=new x,o=new x,a=new x,r=new Jo,s=new Jo,B=new Jo;return function(Q,n=null,E=!1){this.needsUpdate&&this.update(),Q.isExtendedTriangle?Q.needsUpdate&&Q.update():(A.copy(Q),A.update(),Q=A);let l=this.plane,h=Q.plane;if(Math.abs(l.normal.dot(h.normal))>1-1e-10){let u=this.satBounds,D=this.satAxes;e[0]=Q.a,e[1]=Q.b,e[2]=Q.c;for(let k=0;k<4;k++){let U=u[k],N=D[k];if(I.setFromPoints(N,e),U.isSeparated(I))return!1}let p=Q.satBounds,w=Q.satAxes;g[0]=this.a,g[1]=this.b,g[2]=this.c;for(let k=0;k<4;k++){let U=p[k],N=w[k];if(I.setFromPoints(N,g),U.isSeparated(I))return!1}for(let k=0;k<4;k++){let U=D[k];for(let N=0;N<4;N++){let G=w[N];if(t.crossVectors(U,G),I.setFromPoints(t,g),i.setFromPoints(t,e),I.isSeparated(i))return!1}}return n&&(E||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),n.start.set(0,0,0),n.end.set(0,0,0)),!0}else{let u=this.points,D=!1,p=0;for(let P=0;P<3;P++){let H=u[P],eA=u[(P+1)%3];r.start.copy(H),r.end.copy(eA),r.delta(C);let rA=D?s.start:s.end,BA=bn(h.distanceToPoint(H));if(bn(h.normal.dot(C))&&BA){s.copy(r),p=2;break}if((h.intersectLine(r,rA)||BA)&&!bn(rA.distanceTo(eA))){if(p++,D)break;D=!0}}if(p===1&&Q.containsPoint(s.end))return n&&(n.start.copy(s.end),n.end.copy(s.end)),!0;if(p!==2)return!1;let w=Q.points,k=!1,U=0;for(let P=0;P<3;P++){let H=w[P],eA=w[(P+1)%3];r.start.copy(H),r.end.copy(eA),r.delta(o);let rA=k?B.start:B.end,BA=bn(l.distanceToPoint(H));if(bn(l.normal.dot(o))&&BA){B.copy(r),U=2;break}if((l.intersectLine(r,rA)||BA)&&!bn(rA.distanceTo(eA))){if(U++,k)break;k=!0}}if(U===1&&this.containsPoint(B.end))return n&&(n.start.copy(B.end),n.end.copy(B.end)),!0;if(U!==2)return!1;if(s.delta(C),B.delta(o),C.dot(o)<0){let P=B.start;B.start=B.end,B.end=P}let N=s.start.dot(C),G=s.end.dot(C),R=B.start.dot(C),J=B.end.dot(C),q=G<R,T=N<J;return N!==J&&R!==G&&q===T?!1:(n&&(a.subVectors(s.start,B.start),a.dot(C)>0?n.start.copy(s.start):n.start.copy(B.start),a.subVectors(s.end,B.end),a.dot(C)<0?n.end.copy(s.end):n.end.copy(B.end)),!0)}}}();hs.prototype.distanceToPoint=function(){let A=new x;return function(g){return this.closestPointToPoint(g,A),g.distanceTo(A)}}();hs.prototype.distanceToTriangle=function(){let A=new x,g=new x,e=["a","b","c"],I=new Jo,i=new Jo;return function(t,C=null,o=null){let a=C||o?I:null;if(this.intersectsTriangle(t,a))return(C||o)&&(C&&a.getCenter(C),o&&a.getCenter(o)),0;let r=1/0;for(let s=0;s<3;s++){let B,Q=e[s],n=t[Q];this.closestPointToPoint(n,A),B=n.distanceToSquared(A),B<r&&(r=B,C&&C.copy(A),o&&o.copy(n));let E=this[Q];t.closestPointToPoint(E,A),B=E.distanceToSquared(A),B<r&&(r=B,C&&C.copy(E),o&&o.copy(A))}for(let s=0;s<3;s++){let B=e[s],Q=e[(s+1)%3];I.set(this[B],this[Q]);for(let n=0;n<3;n++){let E=e[n],l=e[(n+1)%3];i.set(t[E],t[l]),TG(I,i,A,g);let h=A.distanceToSquared(g);h<r&&(r=h,C&&C.copy(A),o&&o.copy(g))}}return Math.sqrt(r)}}();var rr=class{constructor(A,g,e){this.isOrientedBox=!0,this.min=new x,this.max=new x,this.matrix=new wg,this.invMatrix=new wg,this.points=new Array(8).fill().map(()=>new x),this.satAxes=new Array(3).fill().map(()=>new x),this.satBounds=new Array(3).fill().map(()=>new ar),this.alignedSatBounds=new Array(3).fill().map(()=>new ar),this.needsUpdate=!1,A&&this.min.copy(A),g&&this.max.copy(g),e&&this.matrix.copy(e)}set(A,g,e){this.min.copy(A),this.max.copy(g),this.matrix.copy(e),this.needsUpdate=!0}copy(A){this.min.copy(A.min),this.max.copy(A.max),this.matrix.copy(A.matrix),this.needsUpdate=!0}};rr.prototype.update=function(){return function(){let A=this.matrix,g=this.min,e=this.max,I=this.points;for(let a=0;a<=1;a++)for(let r=0;r<=1;r++)for(let s=0;s<=1;s++){let B=1*a|2*r|4*s,Q=I[B];Q.x=a?e.x:g.x,Q.y=r?e.y:g.y,Q.z=s?e.z:g.z,Q.applyMatrix4(A)}let i=this.satBounds,t=this.satAxes,C=I[0];for(let a=0;a<3;a++){let r=t[a],s=i[a],B=1<<a,Q=I[B];r.subVectors(C,Q),s.setFromPoints(r,I)}let o=this.alignedSatBounds;o[0].setFromPointsField(I,"x"),o[1].setFromPointsField(I,"y"),o[2].setFromPointsField(I,"z"),this.invMatrix.copy(this.matrix).invert(),this.needsUpdate=!1}}();rr.prototype.intersectsBox=function(){let A=new ar;return function(g){this.needsUpdate&&this.update();let e=g.min,I=g.max,i=this.satBounds,t=this.satAxes,C=this.alignedSatBounds;if(A.min=e.x,A.max=I.x,C[0].isSeparated(A)||(A.min=e.y,A.max=I.y,C[1].isSeparated(A))||(A.min=e.z,A.max=I.z,C[2].isSeparated(A)))return!1;for(let o=0;o<3;o++){let a=t[o],r=i[o];if(A.setFromBox(a,g),r.isSeparated(A))return!1}return!0}}();rr.prototype.intersectsTriangle=function(){let A=new hs,g=new Array(3),e=new ar,I=new ar,i=new x;return function(t){this.needsUpdate&&this.update(),t.isExtendedTriangle?t.needsUpdate&&t.update():(A.copy(t),A.update(),t=A);let C=this.satBounds,o=this.satAxes;g[0]=t.a,g[1]=t.b,g[2]=t.c;for(let B=0;B<3;B++){let Q=C[B],n=o[B];if(e.setFromPoints(n,g),Q.isSeparated(e))return!1}let a=t.satBounds,r=t.satAxes,s=this.points;for(let B=0;B<3;B++){let Q=a[B],n=r[B];if(e.setFromPoints(n,s),Q.isSeparated(e))return!1}for(let B=0;B<3;B++){let Q=o[B];for(let n=0;n<4;n++){let E=r[n];if(i.crossVectors(Q,E),e.setFromPoints(i,g),I.setFromPoints(i,s),e.isSeparated(I))return!1}}return!0}}();rr.prototype.closestPointToPoint=function(){return function(A,g){return this.needsUpdate&&this.update(),g.copy(A).applyMatrix4(this.invMatrix).clamp(this.min,this.max).applyMatrix4(this.matrix),g}}();rr.prototype.distanceToPoint=function(){let A=new x;return function(g){return this.closestPointToPoint(g,A),g.distanceTo(A)}}();rr.prototype.distanceToBox=function(){let A=["x","y","z"],g=new Array(12).fill().map(()=>new Jo),e=new Array(12).fill().map(()=>new Jo),I=new x,i=new x;return function(t,C=0,o=null,a=null){if(this.needsUpdate&&this.update(),this.intersectsBox(t))return(o||a)&&(t.getCenter(i),this.closestPointToPoint(i,I),t.closestPointToPoint(I,i),o&&o.copy(I),a&&a.copy(i)),0;let r=C*C,s=t.min,B=t.max,Q=this.points,n=1/0;for(let l=0;l<8;l++){let h=Q[l];i.copy(h).clamp(s,B);let u=h.distanceToSquared(i);if(u<n&&(n=u,o&&o.copy(h),a&&a.copy(i),u<r))return Math.sqrt(u)}let E=0;for(let l=0;l<3;l++)for(let h=0;h<=1;h++)for(let u=0;u<=1;u++){let D=(l+1)%3,p=(l+2)%3,w=h<<D|u<<p,k=1<<l|h<<D|u<<p,U=Q[w],N=Q[k];g[E].set(U,N);let G=A[l],R=A[D],J=A[p],q=e[E],T=q.start,P=q.end;T[G]=s[G],T[R]=h?s[R]:B[R],T[J]=u?s[J]:B[R],P[G]=B[G],P[R]=h?s[R]:B[R],P[J]=u?s[J]:B[R],E++}for(let l=0;l<=1;l++)for(let h=0;h<=1;h++)for(let u=0;u<=1;u++){i.x=l?B.x:s.x,i.y=h?B.y:s.y,i.z=u?B.z:s.z,this.closestPointToPoint(i,I);let D=i.distanceToSquared(I);if(D<n&&(n=D,o&&o.copy(I),a&&a.copy(i),D<r))return Math.sqrt(D)}for(let l=0;l<12;l++){let h=g[l];for(let u=0;u<12;u++){let D=e[u];TG(h,D,I,i);let p=I.distanceToSquared(i);if(p<n&&(n=p,o&&o.copy(I),a&&a.copy(i),p<r))return Math.sqrt(p)}}return Math.sqrt(n)}}();var Ln=new x,xn=new x,Yn=new x,Du=new mA,pu=new mA,yu=new mA,RR=new x,vR=new x,KR=new x,wu=new x;function SIA(A,g,e,I,i,t){let C;return t===Lt?C=A.intersectTriangle(I,e,g,!0,i):C=A.intersectTriangle(g,e,I,t!==jC,i),C===null?null:{distance:A.origin.distanceTo(i),point:i.clone()}}function GIA(A,g,e,I,i,t,C,o,a){Ln.fromBufferAttribute(g,t),xn.fromBufferAttribute(g,C),Yn.fromBufferAttribute(g,o);let r=SIA(A,Ln,xn,Yn,wu,a);if(r){I&&(Du.fromBufferAttribute(I,t),pu.fromBufferAttribute(I,C),yu.fromBufferAttribute(I,o),r.uv=AC.getInterpolation(wu,Ln,xn,Yn,Du,pu,yu,new mA)),i&&(Du.fromBufferAttribute(i,t),pu.fromBufferAttribute(i,C),yu.fromBufferAttribute(i,o),r.uv1=AC.getInterpolation(wu,Ln,xn,Yn,Du,pu,yu,new mA)),e&&(RR.fromBufferAttribute(e,t),vR.fromBufferAttribute(e,C),KR.fromBufferAttribute(e,o),r.normal=AC.getInterpolation(wu,Ln,xn,Yn,RR,vR,KR,new x),r.normal.dot(A.direction)>0&&r.normal.multiplyScalar(-1));let s={a:t,b:C,c:o,normal:new x,materialIndex:0};AC.getNormal(Ln,xn,Yn,s.normal),r.face=s,r.faceIndex=t}return r}function Fb(A,g,e,I,i){let t=I*3,C=A.index.getX(t),o=A.index.getX(t+1),a=A.index.getX(t+2),{position:r,normal:s,uv:B,uv1:Q}=A.attributes,n=GIA(e,r,s,B,Q,C,o,a,g);return n?(n.faceIndex=I,i&&i.push(n),n):null}function mIA(A,g,e,I,i,t){for(let C=I,o=I+i;C<o;C++)Fb(A,g,e,C,t)}function MIA(A,g,e,I,i){let t=1/0,C=null;for(let o=I,a=I+i;o<a;o++){let r=Fb(A,g,e,o);r&&r.distance<t&&(C=r,t=r.distance)}return C}function Za(A,g,e,I){let i=A.a,t=A.b,C=A.c,o=g,a=g+1,r=g+2;e&&(o=e.getX(g),a=e.getX(g+1),r=e.getX(g+2)),i.x=I.getX(o),i.y=I.getY(o),i.z=I.getZ(o),t.x=I.getX(a),t.y=I.getY(a),t.z=I.getZ(a),C.x=I.getX(r),C.y=I.getY(r),C.z=I.getZ(r)}function JR(A,g,e,I,i,t,C){let o=e.index,a=e.attributes.position;for(let r=A,s=g+A;r<s;r++)if(Za(C,r*3,o,a),C.needsUpdate=!0,I(C,r,i,t))return!0;return!1}var Rb=class{constructor(A){this._getNewPrimitive=A,this._primitives=[]}getPrimitive(){let A=this._primitives;return A.length===0?this._getNewPrimitive():A.pop()}releasePrimitive(A){this._primitives.push(A)}};function tB(A,g){return g[A+15]===65535}function uE(A,g){return g[A+6]}function lc(A,g){return g[A+14]}function cc(A){return A+8}function dc(A,g){return g[A+6]}function kIA(A,g){return g[A+7]}var BE=new ji,rp=new x,UIA=["x","y","z"];function aS(A,g,e,I,i){let t=A*2,C=Ih,o=uB,a=DB;if(tB(t,o)){let r=uE(A,a),s=lc(t,o);mIA(g,e,I,r,s,i)}else{let r=cc(A);sp(r,C,I,rp)&&aS(r,g,e,I,i);let s=dc(A,a);sp(s,C,I,rp)&&aS(s,g,e,I,i)}}function rS(A,g,e,I){let i=A*2,t=Ih,C=uB,o=DB;if(tB(i,C)){let a=uE(A,o),r=lc(i,C);return MIA(g,e,I,a,r)}else{let a=kIA(A,o),r=UIA[a],s=I.direction[r]>=0,B,Q;s?(B=cc(A),Q=dc(A,o)):(B=dc(A,o),Q=cc(A));let n=sp(B,t,I,rp)?rS(B,g,e,I):null;if(n){let l=n.point[r];if(s?l<=t[Q+a]:l>=t[Q+a+3])return n}let E=sp(Q,t,I,rp)?rS(Q,g,e,I):null;return n&&E?n.distance<=E.distance?n:E:n||E||null}}var NIA=function(){let A,g,e=[],I=new Rb(()=>new ji);return function(...t){A=I.getPrimitive(),g=I.getPrimitive(),e.push(A,g);let C=i(...t);I.releasePrimitive(A),I.releasePrimitive(g),e.pop(),e.pop();let o=e.length;return o>0&&(g=e[o-1],A=e[o-2]),C};function i(t,C,o,a,r=null,s=0,B=0){function Q(D){let p=D*2,w=uB,k=DB;for(;!tB(p,w);)D=cc(D),p=D*2;return uE(D,k)}function n(D){let p=D*2,w=uB,k=DB;for(;!tB(p,w);)D=dc(D,k),p=D*2;return uE(D,k)+lc(p,w)}let E=t*2,l=Ih,h=uB,u=DB;if(tB(E,h)){let D=uE(t,u),p=lc(E,h);return Ar(t,l,A),a(D,p,!1,B,s+t,A)}else{let D=cc(t),p=dc(t,u),w=D,k=p,U,N,G,R;if(r&&(G=A,R=g,Ar(w,l,G),Ar(k,l,R),U=r(G),N=r(R),N<U)){w=p,k=D;let rA=U;U=N,N=rA,G=R}G||(G=A,Ar(w,l,G));let J=tB(w*2,h),q=o(G,J,U,B+1,s+w),T;if(q===2){let rA=Q(w),BA=n(w)-rA;T=a(rA,BA,!0,B+1,s+w,G)}else T=q&&i(w,C,o,a,r,s,B+1);if(T)return!0;R=g,Ar(k,l,R);let P=tB(k*2,h),H=o(R,P,N,B+1,s+k),eA;if(H===2){let rA=Q(k),BA=n(k)-rA;eA=a(rA,BA,!0,B+1,s+k,R)}else eA=H&&i(k,C,o,a,r,s,B+1);return!!eA}}}(),FIA=function(){let A=new hs,g=new hs,e=new wg,I=new rr,i=new rr;return function t(C,o,a,r,s=null){let B=C*2,Q=Ih,n=uB,E=DB;if(s===null&&(a.boundingBox||a.computeBoundingBox(),I.set(a.boundingBox.min,a.boundingBox.max,r),s=I),tB(B,n)){let l=o,h=l.index,u=l.attributes.position,D=a.index,p=a.attributes.position,w=uE(C,E),k=lc(B,n);if(e.copy(r).invert(),a.boundsTree)return Ar(C,Q,i),i.matrix.copy(e),i.needsUpdate=!0,a.boundsTree.shapecast({intersectsBounds:U=>i.intersectsBox(U),intersectsTriangle:U=>{U.a.applyMatrix4(r),U.b.applyMatrix4(r),U.c.applyMatrix4(r),U.needsUpdate=!0;for(let N=w*3,G=(k+w)*3;N<G;N+=3)if(Za(g,N,h,u),g.needsUpdate=!0,U.intersectsTriangle(g))return!0;return!1}});for(let U=w*3,N=k+w*3;U<N;U+=3){Za(A,U,h,u),A.a.applyMatrix4(e),A.b.applyMatrix4(e),A.c.applyMatrix4(e),A.needsUpdate=!0;for(let G=0,R=D.count;G<R;G+=3)if(Za(g,G,D,p),g.needsUpdate=!0,A.intersectsTriangle(g))return!0}}else{let l=C+8,h=E[C+6];return Ar(l,Q,BE),!!(s.intersectsBox(BE)&&t(l,o,a,r,s)||(Ar(h,Q,BE),s.intersectsBox(BE)&&t(h,o,a,r,s)))}}}();function sp(A,g,e,I){return Ar(A,g,BE),e.intersectBox(BE,I)}var sS=[],BD,Ih,uB,DB;function Kl(A){BD&&sS.push(BD),BD=A,Ih=new Float32Array(A),uB=new Uint16Array(A),DB=new Uint32Array(A)}function fu(){BD=null,Ih=null,uB=null,DB=null,sS.length&&Kl(sS.pop())}var Yw=Symbol("skip tree generation"),Hw=new ji,Tw=new ji,Hn=new wg,WB=new rr,El=new rr,hl=new x,Su=new x,RIA=new x,vIA=new x,KIA=new x,qR=new ji,ba=new Rb(()=>new hs),Wl=class{static serialize(A,g={}){if(g.isBufferGeometry)return console.warn("MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature."),Wl.serialize(arguments[0],{cloneBuffers:arguments[2]===void 0?!0:arguments[2]});g={cloneBuffers:!0,...g};let e=A.geometry,I=A._roots,i=e.getIndex(),t;return g.cloneBuffers?t={roots:I.map(C=>C.slice()),index:i.array.slice()}:t={roots:I,index:i.array},t}static deserialize(A,g,e={}){if(typeof e=="boolean")return console.warn("MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature."),Wl.deserialize(arguments[0],arguments[1],{setIndex:arguments[2]===void 0?!0:arguments[2]});e={setIndex:!0,...e};let{index:I,roots:i}=A,t=new Wl(g,{...e,[Yw]:!0});if(t._roots=i,e.setIndex){let C=g.getIndex();if(C===null){let o=new Se(A.index,1,!1);g.setIndex(o)}else C.array!==I&&(C.array.set(I),C.needsUpdate=!0)}return t}constructor(A,g={}){if(A.isBufferGeometry){if(A.index&&A.index.isInterleavedBufferAttribute)throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.")}else throw new Error("MeshBVH: Only BufferGeometries are supported.");if(g=Object.assign({strategy:0,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,[Yw]:!1},g),g.useSharedArrayBuffer&&typeof SharedArrayBuffer>"u")throw new Error("MeshBVH: SharedArrayBuffer is not available.");this._roots=null,g[Yw]||(this._roots=pIA(A,g),!A.boundingBox&&g.setBoundingBox&&(A.boundingBox=this.getBoundingBox(new ji))),this.geometry=A}refit(A=null){A&&Array.isArray(A)&&(A=new Set(A));let g=this.geometry,e=g.index.array,I=g.attributes.position,i,t,C,o,a=0,r=this._roots;for(let B=0,Q=r.length;B<Q;B++)i=r[B],t=new Uint32Array(i),C=new Uint16Array(i),o=new Float32Array(i),s(0,a),a+=i.byteLength;function s(B,Q,n=!1){let E=B*2;if(C[E+15]===65535){let l=t[B+6],h=C[E+14],u=1/0,D=1/0,p=1/0,w=-1/0,k=-1/0,U=-1/0;for(let N=3*l,G=3*(l+h);N<G;N++){let R=e[N],J=I.getX(R),q=I.getY(R),T=I.getZ(R);J<u&&(u=J),J>w&&(w=J),q<D&&(D=q),q>k&&(k=q),T<p&&(p=T),T>U&&(U=T)}return o[B+0]!==u||o[B+1]!==D||o[B+2]!==p||o[B+3]!==w||o[B+4]!==k||o[B+5]!==U?(o[B+0]=u,o[B+1]=D,o[B+2]=p,o[B+3]=w,o[B+4]=k,o[B+5]=U,!0):!1}else{let l=B+8,h=t[B+6],u=l+Q,D=h+Q,p=n,w=!1,k=!1;A?p||(w=A.has(u),k=A.has(D),p=!w&&!k):(w=!0,k=!0);let U=p||w,N=p||k,G=!1;U&&(G=s(l,Q,p));let R=!1;N&&(R=s(h,Q,p));let J=G||R;if(J)for(let q=0;q<3;q++){let T=l+q,P=h+q,H=o[T],eA=o[T+3],rA=o[P],BA=o[P+3];o[B+q]=H<rA?H:rA,o[B+q+3]=eA>BA?eA:BA}return J}}}traverse(A,g=0){let e=this._roots[g],I=new Uint32Array(e),i=new Uint16Array(e);t(0);function t(C,o=0){let a=C*2,r=i[a+15]===65535;if(r){let s=I[C+6],B=i[a+14];A(o,r,new Float32Array(e,C*4,6),s,B)}else{let s=C+8,B=I[C+6],Q=I[C+7];A(o,r,new Float32Array(e,C*4,6),Q)||(t(s,o+1),t(B,o+1))}}}raycast(A,g=la){let e=this._roots,I=this.geometry,i=[],t=g.isMaterial,C=Array.isArray(g),o=I.groups,a=t?g.side:g;for(let r=0,s=e.length;r<s;r++){let B=C?g[o[r].materialIndex].side:a,Q=i.length;if(Kl(e[r]),aS(0,I,B,A,i),fu(),C){let n=o[r].materialIndex;for(let E=Q,l=i.length;E<l;E++)i[E].face.materialIndex=n}}return i}raycastFirst(A,g=la){let e=this._roots,I=this.geometry,i=g.isMaterial,t=Array.isArray(g),C=null,o=I.groups,a=i?g.side:g;for(let r=0,s=e.length;r<s;r++){let B=t?g[o[r].materialIndex].side:a;Kl(e[r]);let Q=rS(0,I,B,A);fu(),Q!=null&&(C==null||Q.distance<C.distance)&&(C=Q,t&&(Q.face.materialIndex=o[r].materialIndex))}return C}intersectsGeometry(A,g){let e=this.geometry,I=!1;for(let i of this._roots)if(Kl(i),I=FIA(0,e,A,g),fu(),I)break;return I}shapecast(A,g,e){let I=this.geometry;if(A instanceof Function){if(g){let B=g;g=(Q,n,E,l)=>{let h=n*3;return B(Q,h,h+1,h+2,E,l)}}A={boundsTraverseOrder:e,intersectsBounds:A,intersectsTriangle:g,intersectsRange:null},console.warn("MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.")}let i=ba.getPrimitive(),{boundsTraverseOrder:t,intersectsBounds:C,intersectsRange:o,intersectsTriangle:a}=A;if(o&&a){let B=o;o=(Q,n,E,l,h)=>B(Q,n,E,l,h)?!0:JR(Q,n,I,a,E,l,i)}else o||(a?o=(B,Q,n,E)=>JR(B,Q,I,a,n,E,i):o=(B,Q,n)=>n);let r=!1,s=0;for(let B of this._roots){if(Kl(B),r=NIA(0,I,C,o,t,s),fu(),r)break;s+=B.byteLength}return ba.releasePrimitive(i),r}bvhcast(A,g,e){let{intersectsRanges:I,intersectsTriangles:i}=e,t=this.geometry.index,C=this.geometry.attributes.position,o=A.geometry.index,a=A.geometry.attributes.position;Hn.copy(g).invert();let r=ba.getPrimitive(),s=ba.getPrimitive();if(i){let Q=function(n,E,l,h,u,D,p,w){for(let k=l,U=l+h;k<U;k++){Za(s,k*3,o,a),s.a.applyMatrix4(g),s.b.applyMatrix4(g),s.c.applyMatrix4(g),s.needsUpdate=!0;for(let N=n,G=n+E;N<G;N++)if(Za(r,N*3,t,C),r.needsUpdate=!0,i(r,s,N,k,u,D,p,w))return!0}return!1};if(I){let n=I;I=function(E,l,h,u,D,p,w,k){return n(E,l,h,u,D,p,w,k)?!0:Q(E,l,h,u,D,p,w,k)}}else I=Q}A.getBoundingBox(Tw),Tw.applyMatrix4(g);let B=this.shapecast({intersectsBounds:Q=>Tw.intersectsBox(Q),intersectsRange:(Q,n,E,l,h,u)=>(Hw.copy(u),Hw.applyMatrix4(Hn),A.shapecast({intersectsBounds:D=>Hw.intersectsBox(D),intersectsRange:(D,p,w,k,U)=>I(Q,n,D,p,l,h,k,U)}))});return ba.releasePrimitive(r),ba.releasePrimitive(s),B}intersectsBox(A,g){return WB.set(A.min,A.max,g),WB.needsUpdate=!0,this.shapecast({intersectsBounds:e=>WB.intersectsBox(e),intersectsTriangle:e=>WB.intersectsTriangle(e)})}intersectsSphere(A){return this.shapecast({intersectsBounds:g=>A.intersectsBox(g),intersectsTriangle:g=>g.intersectsSphere(A)})}closestPointToGeometry(A,g,e={},I={},i=0,t=1/0){A.boundingBox||A.computeBoundingBox(),WB.set(A.boundingBox.min,A.boundingBox.max,g),WB.needsUpdate=!0;let C=this.geometry,o=C.attributes.position,a=C.index,r=A.attributes.position,s=A.index,B=ba.getPrimitive(),Q=ba.getPrimitive(),n=Su,E=RIA,l=null,h=null;I&&(l=vIA,h=KIA);let u=1/0,D=null,p=null;return Hn.copy(g).invert(),El.matrix.copy(Hn),this.shapecast({boundsTraverseOrder:w=>WB.distanceToBox(w),intersectsBounds:(w,k,U)=>U<u&&U<t?(k&&(El.min.copy(w.min),El.max.copy(w.max),El.needsUpdate=!0),!0):!1,intersectsRange:(w,k)=>{if(A.boundsTree)return A.boundsTree.shapecast({boundsTraverseOrder:U=>El.distanceToBox(U),intersectsBounds:(U,N,G)=>G<u&&G<t,intersectsRange:(U,N)=>{for(let G=U*3,R=(U+N)*3;G<R;G+=3){Za(Q,G,s,r),Q.a.applyMatrix4(g),Q.b.applyMatrix4(g),Q.c.applyMatrix4(g),Q.needsUpdate=!0;for(let J=w*3,q=(w+k)*3;J<q;J+=3){Za(B,J,a,o),B.needsUpdate=!0;let T=B.distanceToTriangle(Q,n,l);if(T<u&&(E.copy(n),h&&h.copy(l),u=T,D=J/3,p=G/3),T<i)return!0}}}});{let U=s?s.count:r.count;for(let N=0,G=U;N<G;N+=3){Za(Q,N,s,r),Q.a.applyMatrix4(g),Q.b.applyMatrix4(g),Q.c.applyMatrix4(g),Q.needsUpdate=!0;for(let R=w*3,J=(w+k)*3;R<J;R+=3){Za(B,R,a,o),B.needsUpdate=!0;let q=B.distanceToTriangle(Q,n,l);if(q<u&&(E.copy(n),h&&h.copy(l),u=q,D=R/3,p=N/3),q<i)return!0}}}}}),ba.releasePrimitive(B),ba.releasePrimitive(Q),u===1/0?null:(e.point?e.point.copy(E):e.point=E.clone(),e.distance=u,e.faceIndex=D,I&&(I.point?I.point.copy(h):I.point=h.clone(),I.point.applyMatrix4(Hn),E.applyMatrix4(Hn),I.distance=E.sub(I.point).length(),I.faceIndex=p),e)}closestPointToPoint(A,g={},e=0,I=1/0){let i=e*e,t=I*I,C=1/0,o=null;if(this.shapecast({boundsTraverseOrder:r=>(hl.copy(A).clamp(r.min,r.max),hl.distanceToSquared(A)),intersectsBounds:(r,s,B)=>B<C&&B<t,intersectsTriangle:(r,s)=>{r.closestPointToPoint(A,hl);let B=A.distanceToSquared(hl);return B<C&&(Su.copy(hl),C=B,o=s),B<i}}),C===1/0)return null;let a=Math.sqrt(C);return g.point?g.point.copy(Su):g.point=Su.clone(),g.distance=a,g.faceIndex=o,g}getBoundingBox(A){return A.makeEmpty(),this._roots.forEach(g=>{Ar(0,new Float32Array(g),qR),A.union(qR)}),A}},ll=cs(F_()),JIA=.5*(Math.sqrt(3)-1),cl=(3-Math.sqrt(3))/6,qIA=1/3,La=1/6,uhA=(Math.sqrt(5)-1)/4,DhA=(5-Math.sqrt(5))/20,zl=A=>Math.floor(A)|0,bR=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]),Ow=new Float64Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0,1,0,1,-1,0,1,1,0,-1,-1,0,-1,0,1,1,0,-1,1,0,1,-1,0,-1,-1]);function _w(A=Math.random){let g=vb(A),e=new Float64Array(g).map(i=>bR[i%12*2]),I=new Float64Array(g).map(i=>bR[i%12*2+1]);return function(i,t){let C=0,o=0,a=0,r=(i+t)*JIA,s=zl(i+r),B=zl(t+r),Q=(s+B)*cl,n=s-Q,E=B-Q,l=i-n,h=t-E,u,D;l>h?(u=1,D=0):(u=0,D=1);let p=l-u+cl,w=h-D+cl,k=l-1+2*cl,U=h-1+2*cl,N=s&255,G=B&255,R=.5-l*l-h*h;if(R>=0){let T=N+g[G],P=e[T],H=I[T];R*=R,C=R*R*(P*l+H*h)}let J=.5-p*p-w*w;if(J>=0){let T=N+u+g[G+D],P=e[T],H=I[T];J*=J,o=J*J*(P*p+H*w)}let q=.5-k*k-U*U;if(q>=0){let T=N+1+g[G+1],P=e[T],H=I[T];q*=q,a=q*q*(P*k+H*U)}return 70*(C+o+a)}}function bIA(A=Math.random){let g=vb(A),e=new Float64Array(g).map(t=>Ow[t%12*3]),I=new Float64Array(g).map(t=>Ow[t%12*3+1]),i=new Float64Array(g).map(t=>Ow[t%12*3+2]);return function(t,C,o){let a,r,s,B,Q=(t+C+o)*qIA,n=zl(t+Q),E=zl(C+Q),l=zl(o+Q),h=(n+E+l)*La,u=n-h,D=E-h,p=l-h,w=t-u,k=C-D,U=o-p,N,G,R,J,q,T;w>=k?k>=U?(N=1,G=0,R=0,J=1,q=1,T=0):w>=U?(N=1,G=0,R=0,J=1,q=0,T=1):(N=0,G=0,R=1,J=1,q=0,T=1):k<U?(N=0,G=0,R=1,J=0,q=1,T=1):w<U?(N=0,G=1,R=0,J=0,q=1,T=1):(N=0,G=1,R=0,J=1,q=1,T=0);let P=w-N+La,H=k-G+La,eA=U-R+La,rA=w-J+2*La,BA=k-q+2*La,aA=U-T+2*La,yA=w-1+3*La,SA=k-1+3*La,pA=U-1+3*La,wA=n&255,RA=E&255,kA=l&255,UA=.6-w*w-k*k-U*U;if(UA<0)a=0;else{let LA=wA+g[RA+g[kA]];UA*=UA,a=UA*UA*(e[LA]*w+I[LA]*k+i[LA]*U)}let GA=.6-P*P-H*H-eA*eA;if(GA<0)r=0;else{let LA=wA+N+g[RA+G+g[kA+R]];GA*=GA,r=GA*GA*(e[LA]*P+I[LA]*H+i[LA]*eA)}let zA=.6-rA*rA-BA*BA-aA*aA;if(zA<0)s=0;else{let LA=wA+J+g[RA+q+g[kA+T]];zA*=zA,s=zA*zA*(e[LA]*rA+I[LA]*BA+i[LA]*aA)}let KA=.6-yA*yA-SA*SA-pA*pA;if(KA<0)B=0;else{let LA=wA+1+g[RA+1+g[kA+1]];KA*=KA,B=KA*KA*(e[LA]*yA+I[LA]*SA+i[LA]*pA)}return 32*(a+r+s+B)}}function vb(A){let g=new Uint8Array(512);for(let e=0;e<512/2;e++)g[e]=e;for(let e=0;e<512/2-1;e++){let I=e+~~(A()*(256-e)),i=g[e];g[e]=g[I],g[I]=i}for(let e=256;e<512;e++)g[e]=g[e-256];return g}var ga=new AC,LIA=class{constructor(A){this.weightAttribute=null;let g=A.geometry;if(!g.isBufferGeometry||g.attributes.position.itemSize!==3)throw new Error("THREE.MeshSurfaceSampler: Requires BufferGeometry triangle mesh.");g.index&&(g=g.toNonIndexed()),this.geometry=g,this.randomFunction=Math.random,this.positionAttribute=this.geometry.getAttribute("position"),this.distribution=null}build(){let A=this.positionAttribute,g=new Float32Array(A.count/3);for(let I=0;I<A.count;I+=3){let i=1;ga.a.fromBufferAttribute(A,I),ga.b.fromBufferAttribute(A,I+1),ga.c.fromBufferAttribute(A,I+2),i*=ga.getArea(),g[I/3]=i}this.distribution=new Float32Array(A.count/3);let e=0;for(let I=0;I<g.length;I++)e+=g[I],this.distribution[I]=e;return this}setRandomGenerator(A){return this.randomFunction=A,this}sample(A,g){if(this.distribution){let e=this.distribution[this.distribution.length-1],I=this.binarySearch(this.randomFunction()*e);return this.sampleFace(I,A,g)}}binarySearch(A){if(!this.distribution)return 0;let g=this.distribution,e=0,I=g.length-1,i=-1;for(;e<=I;){let t=Math.ceil((e+I)/2);if(t===0||g[t-1]<=A&&g[t]>A){i=t;break}else A<g[t]?I=t-1:e=t+1}return i}sampleFace(A,g,e){let I=this.randomFunction(),i=this.randomFunction();return I+i>1&&(I=1-I,i=1-i),ga.a.fromBufferAttribute(this.positionAttribute,A*3),ga.b.fromBufferAttribute(this.positionAttribute,A*3+1),ga.c.fromBufferAttribute(this.positionAttribute,A*3+2),g.set(0,0,0).addScaledVector(ga.a,I).addScaledVector(ga.b,i).addScaledVector(ga.c,1-(I+i)),ga.getNormal(e),this}},xIA=cs(nJ()),YIA=new wg,HIA=new wg,TIA=new wg,uc;(A=>{function g(e){return e&&e.__isSPEObject}A.is=g})(uc||(uc={}));var OG=A=>class extends A{constructor(){super(...arguments),this.previousModelViewMatrix=new wg,this.copyPreviousMatrix=!0,this.hiddenMatrix=new wg,this.matrixWorldRigid=new wg,this.shearScale=new wg,this.shearScaleInv=new wg}get __isSPEObject(){return!0}isDescendantOf(g){g instanceof YI&&(g=g.uuid);let e=this;for(;e.parent;){if(e.parent.uuid===g)return!0;e=e.parent}return!1}updateMatrixWorld(g){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||g)&&(this.parent===null?this.matrixWorld.multiplyMatrices(this.hiddenMatrix,this.matrix):(this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.hiddenMatrix),this.matrixWorld.multiplyMatrices(this.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,g=!0);for(let e of this.children)e.updateMatrixWorld(g)}updateWorldMatrix(g,e){let I=this.parent;if(g&&I!==null&&I.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent===null?this.matrixWorld.multiplyMatrices(this.hiddenMatrix,this.matrix):(this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.hiddenMatrix),this.matrixWorld.multiplyMatrices(this.matrixWorld,this.matrix)),e)for(let i of this.children)i.updateWorldMatrix(!1,!0)}traverseChildren(g,e=0){for(let I of this.children)uc.is(I)&&I.traverseObject(g,e+1)}traverseObject(g,e=0){if(g(this,e)!==!0)for(let I of this.children)uc.is(I)&&I.traverseObject(g,e+1)}updateMatrixWorldSVD(){let g=this.matrixWorld.elements,e=[[g[0],g[4],g[8]],[g[1],g[5],g[9]],[g[2],g[6],g[10]]],{u:I,v:i,q:t}=(0,xIA.SVD)(e),C=YIA.set(I[0][0],I[0][1],I[0][2],0,I[1][0],I[1][1],I[1][2],0,I[2][0],I[2][1],I[2][2],0,0,0,0,1),o=HIA.set(i[0][0],i[0][1],i[0][2],0,i[1][0],i[1][1],i[1][2],0,i[2][0],i[2][1],i[2][2],0,0,0,0,1),a=TIA.copy(o).transpose();this.shearScale.makeScale(t[0],t[1],t[2]).multiply(a).premultiply(o),this.shearScaleInv.copy(this.shearScale).invert(),this.matrixWorldRigid.multiplyMatrices(C,a).copyPosition(this.matrixWorld),t.every(r=>Math.abs(t[0]-r)<.01)?this.hasNonUniformScale=!1:this.hasNonUniformScale=!0}attach(g,e){this.updateWorldMatrix(!0,!1);let I=new wg().copy(this.matrixWorld).invert();return g.parent!==null&&(g.parent.updateWorldMatrix(!0,!1),I.multiply(g.parent.matrixWorld)),"hiddenMatrix"in g&&g.hiddenMatrix instanceof wg?g.hiddenMatrix.premultiply(I):g.applyMatrix4(I),g.updateWorldMatrix(!1,!1),this.add(g),e!==void 0&&(this.children.pop(),this.children.splice(e,0,g)),this}copy(g,e=!1){return super.copy(g,e),this.hasNonUniformScale=g.hasNonUniformScale,this}onAfterRender(g,e,I,i,t,C){this.copyPreviousMatrix&&this.previousModelViewMatrix.copy(this.modelViewMatrix)}},OIA=class extends OG(YI){},_IA=A=>A.type==="Mesh",nC=class extends OIA{constructor(A){super(),this.object=A,this.matrixAutoUpdate=!1,this.hasNonUniformScale=A.hasNonUniformScale}raycast(A,g){}expand(){let A=0,g=this.object.entityChildren(A);for(;g;){let e=this.children[A];e?.object!==g&&(e&&this.remove(e),e=new nC(g),this.add(e),this.children.splice(A,0,this.children.pop()),e.matrixWorldNeedsUpdate=!0,e.matrixAutoUpdate=!1,e.matrix=g.matrix,e.hiddenMatrix=g.hiddenMatrix),e.expand(),A+=1,g=this.object.entityChildren(A)}for(;this.children.length>A;)this.remove(this.children[A])}get visible(){return this.playModeVisible!==void 0?this.playModeVisible:this.object.visible||this.object.dataPatched.visible&&this.object.dataPatched.cloner?.hideBase===!0}set visible(A){}get castShadow(){return this.object.castShadow}set castShadow(A){}get receiveShadow(){return this.object.receiveShadow}set receiveShadow(A){}get isMesh(){return _IA(this.object)}get isLight(){return this.object.isLight}get layers(){return this.object.layers}set layers(A){}get isCamera(){return!1}get geometry(){if(this.object.geometry)return this.object.geometry}get material(){if(this.object.material)return this.object.material}},iQ=new x,tQ=new x,DE=new wg,Kb=[new x(-1,1,1),new x(-1,-1,1),new x(1,-1,1),new x(1,1,1),new x(-1,1,-1),new x(-1,-1,-1),new x(1,-1,-1),new x(1,1,-1)],PIA=[[0,3],[1,2],[5,6],[4,7],[0,1],[3,2],[7,6],[4,5],[0,4],[1,5],[2,6],[3,7]],jIA=[[0,2],[7,5],[4,1],[3,6],[4,3],[1,6]],LR=(A,g,e)=>{A.updateEntityBoxSize(iQ,tQ),DE.copy(g).multiply(A.matrixWorld),tQ.x===0&&tQ.y===0&&tQ.z===0?e.push(new x(iQ.x,iQ.y,iQ.z).applyMatrix4(DE)):Kb.forEach(I=>{e.push(I.clone().multiply(tQ).add(iQ).applyMatrix4(DE))})},xR=class extends ji{constructor(){super(...arguments),this.matrix=new wg,this.vertices=[],this.faces=[],this.edges=[],this.centerEdges=[]}copy(A){return super.copy(A),this.matrix.copy(A.matrix),this.vertices=A.vertices.map(g=>g.clone()),this.faces=A.faces.map(g=>g.clone()),this.edges=A.edges.map(g=>g.clone()),this.centerEdges=A.centerEdges.map(g=>g.clone()),this}setFromObjectSize(A,g=!1){A.updateWorldMatrix(!1,g),this.makeEmpty(),this.matrix.copy(A.matrixWorld);let e=new wg().copy(A.matrixWorld).invert();return this.expandByObjectSize(A,e,g)}expandByObjectSize(A,g,e=!1){let I=[];return e===!0?A.traverseEntity(i=>{if(i.visible||i.cloner&&i.data.visible){if(!("geometry"in i)){I.push(new x);return}LR(i,g,I)}}):LR(A,g,I),this.setFromPoints(I)}getCenter(A){return A=super.getCenter(A),A.applyMatrix4(this.matrix),A}getPositionToCenter(A){return A=super.getCenter(A),A.applyMatrix4(DE.copy(this.matrix).setPosition(0,0,0)),A}computeVertices(){this.getSize(tQ).multiplyScalar(.5),this.getCenter(iQ),DE.copy(this.matrix).setPosition(iQ),this.vertices=Kb.map(A=>A.clone().multiply(tQ).applyMatrix4(DE))}computeEdges(){this.vertices.length>0&&this.computeVertices(),this.edges=PIA.map(([A,g])=>new Jo(this.vertices[A],this.vertices[g])),this.centerEdges=this.edges.map(A=>A.getCenter(new x))}computeFaces(){this.vertices.length>0&&this.computeVertices(),this.faces=jIA.map(([A,g])=>this.vertices[A].clone().add(this.vertices[g]).multiplyScalar(.5))}},nB={Cloner:()=>{},changeEntityProptotype:()=>{},createEntity:()=>{}},WIA=class extends HJ{constructor(){super()}getPoints(A=12){let g=[],e,I=this.getCurveLengths(),i=I[I.length-1]/I.length;for(let t=0,C=this.curves;t<C.length;t++){let o=C[t],a=t===0?I[t]:I[t]-I[t-1],r=Math.ceil(A*a/i),s=o.getPoints(r);for(let B=0;B<s.length;B++){let Q=s[B];e&&e.equals(Q)||(g.push(Q),e=Q)}}return this.autoClose&&g.length>1&&!g[g.length-1].equals(g[0])&&g.push(g[0]),g}},BS=.001;function QS(A,g,e){return g.clone().sub(A).cross(g.clone().sub(e)).length()<=BS}function Pw(A,g){let e=new x(...A.position),I=new x(...A.controlNext.position),i=new x(...g.controlPrevious.position),t=new x(...g.position);return QS(e,I,t)&&QS(e,i,t)}function Jb(A){let g=A.points.map(s=>new x(...s.data.position)),e=[A.points[0]],I=new x(...e[0].data.position);for(let s=0;s<A.points.length-1;s++)QS(I,g[s],g[s+1])||(e.push(A.points[s]),I=g[s]);e.push(A.points[A.points.length-1]);let i=A.isClosed,t=e.length-(i?0:1),C=e.length,o=[];for(let s=0;s<C;s++){let B=e[s].data,Q=new x(...B.position),n=new x(...B.controlPrevious.position),E=new x(...B.controlNext.position),l={position:Q,baseRoundness:B.roundness,controlPrevious:n,controlNext:E};if(B.roundness===0||!A.isClosed&&(s===0||s===C-1)){o[s]={...l,removedLength:0};continue}let h=i&&s==0?C-1:s-1,u=i&&s==C-1?0:s+1,D=e[h].data,p=e[u].data,w=new x(...D.position),k=new x(...p.position),U=w.clone().sub(Q).normalize(),N=k.clone().sub(Q).normalize();Object.assign(l,{prevDir:U,nextDir:N});let G=Pw(D,B),R=Pw(B,p);if(!G||!R)o[s]={...l,removedLength:0};else{let J=U.clone().add(N).normalize(),q=J.clone().cross(U).length()/U.dot(J);o[s]={...l,tan:q,removedLength:B.roundness/q}}}for(let s=0;s<t;s++){let B=s,Q=i&&s===C-1?0:s+1,n=o[B],E=o[Q];if(n.removedLength!==0||E.removedLength!==0){let l=n.position.distanceTo(E.position);n.removedLength=Math.min(n.removedLength,l/2),E.removedLength=Math.min(E.removedLength,l/2)}}let a=[];for(let s=0;s<t;s++){let B=s,Q=i&&s===C-1?0:s+1,n=o[B],E=o[Q],l=null;if(!Pw(e[B].data,e[Q].data))n.position.distanceTo(E.position)>BS&&(l=new CD(n.position,n.controlNext,E.controlPrevious,E.position));else{let h=n.position.clone(),u=E.position.clone();(n.removedLength!==0||E.removedLength!==0)&&(n.nextDir&&h.add(n.nextDir.clone().setLength(n.removedLength)),E.prevDir&&u.add(E.prevDir.clone().setLength(E.removedLength))),h.distanceTo(u)>BS&&(l=new CD(h,h.clone().lerp(u,.3),u.clone().lerp(h,.3),u))}a[2*s+1]=l}for(let s=0;s<C;s++){let B=o[s];if(B.removedLength===0){a[2*s]=null;continue}let Q=B.position,n=B.prevDir.clone().multiplyScalar(B.removedLength).add(Q),E=B.nextDir.clone().multiplyScalar(B.removedLength).add(Q),l=B.tan*B.removedLength,h=B.prevDir.clone().add(B.nextDir).normalize(),u=n.clone().lerp(E,.5),D=n.distanceTo(E)/2,p=h.clone().multiplyScalar(Math.sqrt(Math.pow(l,2)-Math.pow(D,2))).add(u),w=h.clone().multiplyScalar(-l).add(p),k=Q.distanceTo(w)/Q.distanceTo(u),U=B.prevDir.clone().multiplyScalar(k*Q.distanceTo(n)).add(Q),N=U.clone().lerp(w,2),G=n.clone().lerp(U,4/3),R=E.clone().lerp(N,4/3);a[2*s]=new CD(n,G,R,E)}let r=new WIA;return a.forEach(s=>{s&&r.add(s)}),r}var hI;(A=>{function g(e){return e&&e.__isEntity}A.is=g})(hI||(hI={}));var $r=A=>hI.is(A),zIA={type:"completeState",isfromEntity:!0},VIA=["x","y","z"],jw=new x,ZIA=new x().set(0,1,0),_G=A=>class extends OG(A){constructor(){super(...arguments),this.raycastLock=!1,this.scaleLock=!1,this.disposed=!1,this.stateSelection=null,this.destroyedInAction=!1,this.instances=[],this.prevState=null,this.currentState=null,this.reversibleToState=null,this.currentTransitionEvent=null,this.previousAction=null,this._singleBBox=new xR,this._recursiveBBox=new xR,this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0,this._needApplyPathSnapping=!0,this.attachedPaths=new Set}get __isEntity(){return!0}entityChildren(g){let e=this.children[g];if(hI.is(e))return e}entityChildrenCount(){let g=this.children.length;for(;g--;)if(hI.is(this.children[g]))return g+1;return 0}get isConcreteEntity(){return typeof this.identity=="string"}get isVirtualEntity(){return typeof this.identity!="string"}get isInstanceRoot(){return this.isConcreteEntity&&this.data.type==="Instance"}nearestInstanceSelfOrParent(){let g=this;for(;g.data.type!=="Instance";){let e=g.parent;if(hI.is(e))g=e;else return}return g}forInstancesRec(g){this.instances.forEach(e=>{e.disposed||g(e),e.forInstancesRec(g)})}super_Entity(g,e){typeof g=="string"&&(this.uuid=g),this.identity=g,this.data=e,this.matrixAutoUpdate=!1,this.dataPatched=this.data}changeSelectedState(g,e,I=!1){if(!(this.data.states.length===0&&!I)){for(let i of this.data.states)rQ.toOps(this.data,i.data).forEach(t=>{let C=TD.replaceProps(t,this.data);this.dataPatched=this.data,this.updateByPatchedOp(C,this.data,e)});if(g!==null){let i=this.data.states.data(g);i&&(this.dataPatched=rQ.patch(this.data,i),rQ.toOps(this.data,i).forEach(t=>{this.updateByPatchedOp(t,this.dataPatched,e)}))}I&&this.updateTransformState(this.dataPatched,e),this.stateSelection=g,this.updatePathSnapping(this.dataPatched.pathSnapping)}}get singleBBox(){return this.singleBBoxNeedsUpdate&&(this.singleBBoxNeedsUpdate=!1,this._singleBBox.setFromObjectSize(this,!1),this._singleBBox.computeVertices(),this._singleBBox.computeEdges(),this._singleBBox.computeFaces()),this._singleBBox}get recursiveBBox(){return this.recursiveBBoxNeedsUpdate&&(this.recursiveBBoxNeedsUpdate=!1,this._recursiveBBox.setFromObjectSize(this,!0),this._recursiveBBox.computeVertices(),this._recursiveBBox.computeEdges(),this._recursiveBBox.computeFaces()),this._recursiveBBox}updateEntityBoxSize(g,e){g.setScalar(0),e.setScalar(0)}resetBBoxNeedsUpdateSelf(){this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0}resetBBoxNeedsUpdate(){this.resetBBoxNeedsUpdateSelf(),this.traverseAncestors(g=>{$r(g)&&g.resetBBoxNeedsUpdateSelf()}),this.traverseEntity(g=>{g.resetBBoxNeedsUpdateSelf()})}find(g){let e;return this.traverseEntity(I=>{I.uuid===g&&(e=I)}),e}traverseSortNextHelper(){let g=this.parent;if(g){let e=g.children,I=e.indexOf(this)+1;if(hI.is(e[I]))return e[I];if(hI.is(g))return g.traverseSortNextHelper()}}sortNext(){let g=this.children;return this.children.length>0&&hI.is(this.children[0])?g[0]:this.traverseSortNextHelper()}goUp(g){let e=this;for(;g>0&&e!==null;)e=e.parent,g-=1;return e}hasAnccestorOrSelf(g){return this===g||this.hasAnccestor(g)}hasAnccestor(g){let e=this.parent;for(;e;){if(g===e)return!0;e=e.parent}return!1}countToAccestor(g){let e=0,I=this;for(;I!==g;){if(I===null)return-1;I=I.parent,e+=1}return e}forEachEntity(g){for(let e of this.children)$r(e)&&g(e)}traverseEntityAncestors(g){this.traverseAncestors(e=>{hI.is(e)&&g(e)})}traverseConcreteEntity(g,e=0){if(g(this,e)!==!0)for(let I of this.children)$r(I)&&I.isConcreteEntity&&I.traverseEntity(g,e+1)}traverseEntity(g,e=0){if(g(this,e)!==!0)for(let I of this.children)$r(I)&&I.traverseEntity(g,e+1)}traverseVisibleEntity(g){g(this);for(let e of this.children)$r(e)&&e.visible&&e.traverseVisibleEntity(g)}updateMatrix(){super.updateMatrix(),this.cloner&&this.cloner.onObjUpdateMatrix(),this.dispatchEvent({type:"updateMatrix"})}updateMatrixWorld(g){super.updateMatrixWorld(g),this.dispatchEvent({type:"updateMatrixWorld"})}copy(g,e=!1){return super.copy(g,e),this.dataPatched=g.dataPatched,this.raycastLock=g.raycastLock,this.scaleLock=g.scaleLock,this.hiddenMatrix.copy(g.hiddenMatrix),this}hasEntityChild(){return this.children.some(g=>$r(g))}isAncestorOf(g){if(this.uuid===g)return!1;let e=!1;return this.traverseEntity(I=>{I.uuid===g&&(e=!0)}),e}toObjectTransformState(g=[]){this.updateWorldMatrix(!0,!1);let e={position:this.position.toArray(),rotation:[this.rotation.x*Xg.RAD2DEG,this.rotation.y*Xg.RAD2DEG,this.rotation.z*Xg.RAD2DEG],scale:this.scale.toArray(),hiddenMatrix:this.hiddenMatrix.toArray()};return uf(e,g)}getTransformValues(g,e,I){return e[g].map((i,t)=>I?.shared.getVariable(i,[this.uuid,g,VIA[t]])??i)}updateTransformState(g,e){let I=!1;return g.position&&(this.position.fromArray(this.getTransformValues("position",g,e)),I=!0),g.rotation&&(jw.fromArray(this.getTransformValues("rotation",g,e)).multiplyScalar(Xg.DEG2RAD),this.rotation.setFromVector3(jw),I=!0),g.scale&&(this.scale.fromArray(this.getTransformValues("scale",g,e)),I=!0),g.hiddenMatrix!==void 0&&(I=!0,this.hiddenMatrix.fromArray(g.hiddenMatrix??KE.identity)),I&&(this.updateMatrix(),this.resetBBoxNeedsUpdate(),this.invalidateClonerTransform(this),this.traverseEntityAncestors(i=>{i.invalidateClonerTransform(this)})),g.position&&g.rotation&&g.scale&&g.hiddenMatrix!==void 0&&this.updateWorldMatrix(!1,!0),I}onVariableUpdate(g=!1){if(g){this.resetBBoxNeedsUpdate();return}this.updateMatrix(),this.resetBBoxNeedsUpdate(),this.invalidateClonerTransform(this),this.traverseEntityAncestors(e=>{e.invalidateClonerTransform(this)})}dispose(){this.disposed=!0,this.cloner&&(this.cloner.removeFromParent(),this.cloner=void 0)}disposeChildrenRecursively(){for(let g of this.children)hI.is(g)&&g.disposeRecursively()}disposeRecursively(){this.dispose(),this.children.forEach(g=>{hI.is(g)&&g.disposeRecursively()})}toState(g=[]){let e={name:this.name,visible:this.visible,raycastLock:this.raycastLock,...this.toObjectTransformState(g)};return uf(e,g)}updateByObjUpdateOp(g,e){g!==void 0&&this.updateByOp({type:0,props:g,path:[]},{...this.data,...g},e,!1)}updateByOp(g,e,I,i){let t=this.data;this.data=e;let C=g,o=$I(g.path,["states","*"]);if(o!==null){if(g.type===0){let[a]=o;if(this?.stateSelection===a){let r={...g.props};if(delete r.name,Object.values(g.props).some(s=>s===void 0)){let s=this.data;if(s!==void 0){let B=gC.zoom(s,g.path.slice(2));if(B)for(let Q in g.props)g.props[Q]===void 0&&Q in B&&(r[Q]=B[Q])}}C={...g,props:r,path:g.path.slice(2)}}}}else if(g.type===0){let a=this.stateSelection?this.data.states.data(this.stateSelection):void 0;if(a!==void 0){if(g.props.name!==void 0&&a.name){let{name:s,...B}=a;a=B}if(g.props.material!==void 0&&"material"in a){let{material:s,...B}=a;a=B}let r=gC.removeOverridden(g.path,g.props,a);C={...g,props:r}}}if(this.updateByPatchedOpBase(C,rQ.patch(this.data,this.stateSelection?this.data.states.data(this.stateSelection):void 0),I),$I(g.path,["overrides"])){let a=[],r=[...g.path];for(a.push(r[1]),r.splice(0,2);r.length>0&&r[0]==="descendants";)a.push(r[1]),r.splice(0,2);if(a[a.length-1]===void 0){if(g.type===0)for(let s of Object.keys(g.props)){a[a.length-1]=s;let B=I.scene.findInstance([this.uuid,...a]);B&&(B.overrideData=g.props[s],B.updateState(cB.apply(B.component.data,B.overrideData),I))}}else{let s=I.scene.findInstance([this.uuid,...a]);if(s){let B=gC.zoom(s.component.data,r);if(g={...g,path:r},g.type===0){let Q=g.props;if(B)for(let[n,E]of Object.entries(g.props))E===void 0&&(Q===g.props&&(Q={...g.props}),Q[n]=B[n]);g={...g,props:Q}}s.overrideData=Ap.resolve(e.overrides,a),s.updateByOp(g,bt.applySimple(s.data,g),I,!1)}}}else if(this.instances.length>0){let a;if(g.path.length===0&&g.type===0){let r;for(let s of BB.rootOverrideProps)s in g.props&&(r===void 0&&(r={}),r[s]=g.props[s]);r&&(a={...g,props:r})}else for(let r of BB.rootOverrideProps)if($I(g.path,[r])){a=g;break}a!==void 0&&this.instances.forEach(r=>{if(r.isInstanceRoot){let s=cB.filterOp(r.overrideData,a);s&&r.updateByOp(s,bt.applySimple(r.data,s),I,!0)}}),this.instances.forEach(r=>{if(!r.isInstanceRoot){let s=cB.filterOp(r.overrideData,g);if(s){let B;t===r.data&&g===s?B=e:B=bt.applySimple(r.data,s),r.updateByOp(s,B,I,!0)}}})}}updateByPatchedOpBase(g,e,I){if(this.dataPatched=e,g.path.length===0&&g.type===0)g.props.type!==void 0&&!mQ.is(g.props.type)&&nB.changeEntityProptotype(this,e,I);else if(g.path.length===1&&g.path[0]==="geometry"&&g.type===0&&"type"in g.props){nB.changeEntityProptotype(this,e,I);for(let i of this.children)hI.is(i)&&i.updateVisible(I.scene)}this.updateByPatchedOp(g,e,I)}updateByPatchedOp(g,e,I){if(g.path.length===0&&g.type===0&&this.updateState(g.props,I),$I(g.path,["pathSnapping"])!==null&&this.updatePathSnapping(e.pathSnapping),$I(g.path,["cloner"])!==null){let i=bt.drop(g,1);i.path.length===0&&i.type===0&&i.props.disabled===!0?this.setFromClonerState(null,I):this.cloner?this.cloner.updateState(e.cloner,I.scene):(this.setFromClonerState(e.cloner,I),this.expandCloner(I.scene)),this.updateVisible(I.scene)}}updatePathSnapping(g=this.dataPatched.pathSnapping){this._updatedPathSnapping=g,this._needApplyPathSnapping=!0}get updatedPathSnapping(){return this._updatedPathSnapping}applyPathSnapping(g){let e=this._updatedPathSnapping?.pathId??this.dataPatched.pathSnapping.pathId,I=this._updatedPathSnapping?.slide??this.dataPatched.pathSnapping.slide??0,i=this._updatedPathSnapping?.offset??this.dataPatched.pathSnapping.offset??0,t=this._updatedPathSnapping?.orientation??this.dataPatched.pathSnapping.orientation;if(e===null)return;let C=g.find(e);if(!C||this._needApplyPathSnapping===!1)return;this._needApplyPathSnapping=!1;let o=C.data;if(o.geometry.path.points.length<=1)return;let a=Jb(o.geometry.path),r=(I+i)%1;I+i===1&&r===0&&(r=1);let s=a.curves.length?a.getPointAt(r):null;if(s===null)return;let B=this.parent?this.parent?.matrixWorld:new wg;C.updateMatrixWorld();let Q=new wg().multiplyMatrices(B.clone().invert(),C.matrixWorld);s.applyMatrix4(Q);let n={position:s.toArray(),rotation:o.rotation};if(t==="tangential"){let E=new wg().extractRotation(C.matrixWorld),l=a.getTangentAt(r).applyMatrix4(E).add(s),h=new wg().lookAt(s,l,ZIA),u=jw.setFromEuler(new yt().setFromRotationMatrix(h)).multiplyScalar(Xg.RAD2DEG);n={...n,rotation:u.toArray()}}this.updateTransformState(n),this.traverseEntity(E=>{E._cameraType&&E.dispatchEvent(zIA)})}updateVisible(g){if(this.visible=this.dataPatched.visible&&(!this.dataPatched.cloner||(this.dataPatched.cloner.disabled??!1)||this.dataPatched.cloner?.hideBase!==!0),!g)return;let e=!1;this.traverseEntity(I=>{if(I.data.type==="Splat")return e=!0,!0}),e&&g.reloadSplats()}updateState_Entity(g,e){g.name!==void 0&&(this.name=g.name),g.raycastLock!==void 0&&(this.raycastLock=g.raycastLock),g.visible!==void 0&&(this.updateVisible(e?.scene),this.resetBBoxNeedsUpdate()),e&&"cloner"in g&&g.cloner!==void 0&&(this.setFromClonerState(g.cloner,e),this.updateVisible(e.scene)),this.updateTransformState(g,e)}get attachedSurfaceCloners(){return this.children.filter(g=>g instanceof nB.Cloner&&g.parameters.type==="toObject")}setFromClonerState(g,e){this.disposed||(g===null||g.disabled?(this.cloner&&this.cloner.removeFromParent(),this.cloner=void 0):this.cloner===void 0?(this.cloner=new nB.Cloner(this,g),e.scene.addPendingExpandCloner(this)):this.cloner.updateState(g,e.scene))}expandCloner(g){!this.disposed&&this.cloner&&this.cloner.expandClones(g)}invalidateClonerTransform(g){this.cloner&&this.cloner.invalidateTransform(g)}requestRender(){this.dispatchEvent({type:"requestRender"})}},qb=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,radialSegments:64,heightSegments:1,openEnded:!1,thetaStart:0,thetaLength:360,cornerRadius:8,cornerSegments:8,hollow:0},A.parameters);e.thetaLength=Xg.clamp(e.thetaLength,0,360);let I=e.width/2,i=e.radiusTop??I,t=e.radiusBottom??I;return i===t?(i=I,t=I):i>t?(i=I,t=t*I/i):(i=i*I/t,t=I),{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width),radiusTop:i,radiusBottom:t})}}static build(A){let{width:g,depth:e,height:I,radialSegments:i,heightSegments:t,openEnded:C,thetaStart:o,thetaLength:a,radiusTop:r,radiusBottom:s,cornerRadius:B,cornerSegments:Q,hollow:n}=A.parameters,E;return a===0?(E=new se,E.setAttribute("position",new _g([],3))):B||n?E=new bb(r,s,I,i,t,C,o,a*Math.PI/180,B,B,Q,n):E=new rG(r,s,I,i,t,C,o,a*Math.PI/180),E.scale(1,1,e/g),Object.assign(E,{userData:{...A,type:"CylinderGeometry"}})}};function js(A,g,e){e.x=A.x*g.x,e.y=A.y,e.z=A.x*g.y}function YR(A){return new mA(A.y,-A.x)}var bb=class extends se{constructor(A,g,e,I,i,t,C,o,a,r,s,B,Q=!1){super(),this.type="RoundedCylinderBufferGeometry",A=A!==void 0?A:1,g=g!==void 0?g:1,e=e||1,I=Math.floor(I)||8,i=Math.floor(i)||1,t=t!==void 0?t:!1,C=C!==void 0?C:0,o=o!==void 0?o:Math.PI*2,t&&(a=0,r=0);let n=[],E=[],l=[],h=[],u=0,D=e/2,p=new x,w=new x;Q&&A==0&&(A=a),Q&&g==0&&(g=r);let k=new mA(A,D),U=new mA(g,-D),N=null,G=null,R=null,J=null,q=k.clone().sub(U),T=0,P=0,H=0;B>0&&(T=Math.min(A,g)*(1-B),P=A-T,H=g-T);let eA=k.clone();eA.x-=T;let rA=Math.PI-q.angle(),BA=q.angle(),aA=Math.tan(BA/2),yA=Math.tan(rA/2),SA=aA+yA,pA=B?SA:yA,wA=B?SA:aA;if(a=Math.min(a,(A-P)/pA,q.length()/SA),r=Math.min(r,(g-H)/wA,q.length()/SA),a>0){let KA=a/aA;N=k.clone().sub(new mA(KA,a)),B&&(R=N.clone(),R.x-=T-SA*a),k.sub(q.clone().setLength(KA))}if(r>0){let KA=r/yA;G=U.clone().sub(new mA(KA,-r)),U.add(q.clone().setLength(KA)),B&&(J=G.clone(),J.x-=T-SA*r,eA.sub(q.clone().setLength(KA)))}q=k.clone().sub(U);let RA=q.length()<.5,kA=[];for(let KA=0;KA<=I;KA++){let LA=[],YA=KA/I,sg=YA*o+C,$A=new mA(Math.sin(sg),Math.cos(sg));J&&G?(UA(LA,YA,$A,rA,r,J,-1,!0),UA(LA,YA,$A,BA,r,G,-1,!1)):G?(GA(LA,$A,G.x,0,-1),UA(LA,YA,$A,BA,r,G,-1,!1)):t||GA(LA,$A,g,H,-1);let VA=YR(q).normalize();if(js(VA,$A,p),!RA)for(let vg=0;vg<=i;vg++){let Gg=vg/i,Ng=q.clone().multiplyScalar(Gg).add(U);js(Ng,$A,w),E.push(w.x,w.y,w.z),l.push(p.x,p.y,p.z),h.push(YA,.5+w.y/e),LA.push(u++)}if(R&&N?(UA(LA,YA,$A,rA,a,N,1,!1),UA(LA,YA,$A,BA,a,R,1,!0)):N?(UA(LA,YA,$A,rA,a,N,1,!1),GA(LA,$A,N.x,0,1)):t||GA(LA,$A,A,P,1),B&&!RA){let vg=YR(q).multiplyScalar(-1).normalize();js(vg,$A,p);for(let Gg=0;Gg<=i;Gg++){let Ng=Gg/i,Kg=q.clone().multiplyScalar(-Ng).add(eA);js(Kg,$A,w),E.push(w.x,w.y,w.z),l.push(p.x,p.y,p.z),h.push(YA,.5+w.y/e),LA.push(u++)}}B&&!t&&LA.push(LA[0]),kA.push(LA)}for(let KA=0;KA<kA.length-1;KA++)for(let LA=0;LA<kA[0].length-1;LA++){if(t&&B&&LA==i)continue;let YA=kA[KA][LA],sg=kA[KA+1][LA],$A=kA[KA+1][LA+1],VA=kA[KA][LA+1],vg=E[$A*3+0],Gg=E[$A*3+2];n.push(YA,sg,VA),(vg!=0||Gg!=0)&&n.push(sg,$A,VA)}o<Math.PI*2&&(zA(-1,kA[0],C),zA(1,kA[kA.length-1],C+o)),this.setIndex(n),this.setAttribute("position",new _g(E,3)),this.setAttribute("normal",new _g(l,3)),this.setAttribute("uv",new _g(h,2));function UA(KA,LA,YA,sg,$A,VA,vg,Gg){for(let Ng=0;Ng<s+1;Ng++){let Kg=Ng/s,mg=vg<0?Kg:1-Kg;Gg&&(mg-=1),mg*=sg;let Sg=new mA(Math.sin(mg),Math.cos(mg)*vg),Ae=Sg.clone().multiplyScalar($A).add(VA);js(Ae,YA,w),E.push(w.x,w.y,w.z),js(Sg,YA,p),l.push(p.x,p.y,p.z),h.push(LA,.5+w.y/e),KA.push(u++)}}function GA(KA,LA,YA,sg,$A){let VA=new x,vg=new mA,Gg=[YA,sg];$A<0&&Gg.reverse();for(let Ng of Gg)vg.set(Ng,D*$A),js(vg,LA,VA),E.push(VA.x,VA.y,VA.z),l.push(0,$A,0),h.push(.5,.5),KA.push(u++)}function zA(KA,LA,YA){let sg=new mA(Math.sin(YA),Math.cos(YA)),$A=new mA(-Math.cos(YA),Math.sin(YA)),VA=new x,vg=KA<0?(Kg,mg,Sg)=>n.push(Kg,mg,Sg):(Kg,mg,Sg)=>n.push(Kg,Sg,mg),Gg=new mA((A+g+P+H)/4,0);js(Gg,sg,VA),E.push(VA.x,VA.y,VA.z),l.push($A.x,0,$A.y),h.push(.5,.5);let Ng=u++;for(let Kg of LA){let mg=E.slice(Kg*3,Kg*3+3);E.push(...mg),l.push($A.x,0,$A.y);let Sg=h.slice(Kg*2,Kg*2+2);h.push(...Sg),u++}for(let Kg=Ng+1;Kg<u-1;Kg++)vg(Ng,Kg,Kg+1);vg(Ng,u-1,Ng+1)}}},XIA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,radialSegments:32,heightSegments:8,openEnded:!1,thetaStart:0,thetaLength:360,cornerRadiusTop:8,cornerRadiusBottom:8,cornerSegments:8},A.parameters);return e.thetaLength=Xg.clamp(e.thetaLength,0,360),{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width)})}}static build(A){let{width:g,depth:e,height:I,radialSegments:i,heightSegments:t,openEnded:C,thetaStart:o,thetaLength:a,cornerRadiusTop:r,cornerRadiusBottom:s,cornerSegments:B}=A.parameters,Q;return a===0?(Q=new se,Q.setAttribute("position",new _g([],3))):r>0||s>0||a<360?Q=new bb(0,g/2,I,i,t,C,o,a*Math.PI/180,r,s,B,0,!0):Q=new sG(g/2,I,i,t,C),Q.scale(1,1,e/g),Object.assign(Q,{userData:{...A,type:"ConeGeometry"}})}},$IA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,widthSegments:1,heightSegments:1,depthSegments:1,cornerRadius:8,cornerSegments:8},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width)})}}static build(A){let{width:g,height:e,depth:I,widthSegments:i,heightSegments:t,depthSegments:C,cornerRadius:o,cornerSegments:a}=A.parameters,r;return o===0?r=new da(g,e,I,i,t,C):r=new AiA(g,e,I,i,t,C,o,a),Object.assign(r,{userData:{...A,type:"CubeGeometry"}})}},Ww=Math.PI/2,AiA=class extends se{constructor(A=1,g=1,e=1,I=1,i=1,t=1,C=0,o=4){super(),this.type="BoxGeometry",I=Math.floor(I),i=Math.floor(i),t=Math.floor(t),o=Math.floor(o),C=Math.min(C,A/2,g/2,e/2);let a=[],r=[],s=[],B=[],Q=0;n("z","y","x",-1,-1,e,g,A,t,i),n("z","y","x",1,-1,e,g,-A,t,i),n("x","z","y",1,1,A,e,g,I,t),n("x","z","y",1,-1,A,e,-g,I,t),n("x","y","z",1,-1,A,g,e,I,i),n("x","y","z",-1,-1,A,g,-e,I,i),C>0&&(E("z","y","x",-1,-1,1,e,g,A,t),E("z","y","x",1,-1,-1,e,g,A,t),E("z","y","x",-1,1,-1,e,g,A,t),E("z","y","x",1,1,1,e,g,A,t),E("x","y","z",-1,-1,-1,A,g,e,I),E("x","y","z",1,-1,1,A,g,e,I),E("x","y","z",-1,1,1,A,g,e,I),E("x","y","z",1,1,-1,A,g,e,I),E("y","x","z",-1,-1,1,g,A,e,i),E("y","x","z",1,-1,-1,g,A,e,i),E("y","x","z",1,1,1,g,A,e,i),E("y","x","z",-1,1,-1,g,A,e,i),l(1,1,1),l(-1,1,1),l(1,-1,1),l(-1,-1,1),l(1,1,-1),l(-1,1,-1),l(1,-1,-1),l(-1,-1,-1)),this.setIndex(a),this.setAttribute("position",new _g(r,3)),this.setAttribute("normal",new _g(s,3)),this.setAttribute("uv",new _g(B,2));function n(h,u,D,p,w,k,U,N,G,R){let J=(k-2*C)/G,q=(U-2*C)/R,T=k/2-C,P=U/2-C,H=N/2,eA=G+1,rA=R+1,BA=0,aA=new x;for(let yA=0;yA<rA;yA++){let SA=yA*q-P;for(let pA=0;pA<eA;pA++){let wA=pA*J-T;aA[h]=wA*p,aA[u]=SA*w,aA[D]=H,r.push(aA.x,aA.y,aA.z),aA[h]=0,aA[u]=0,aA[D]=N>0?1:-1,s.push(aA.x,aA.y,aA.z),B.push(pA/G),B.push(1-yA/R),BA+=1}}for(let yA=0;yA<R;yA++)for(let SA=0;SA<G;SA++){let pA=Q+SA+eA*yA,wA=Q+SA+eA*(yA+1),RA=Q+(SA+1)+eA*(yA+1),kA=Q+(SA+1)+eA*yA;a.push(pA,wA,kA),a.push(wA,RA,kA)}Q+=BA}function E(h,u,D,p,w,k,U,N,G,R){let J=(U-2*C)/R,q=U/2-C,T=N/2-C,P=G/2,H=R+1,eA=0,rA=new x,BA=new x;for(let aA=0;aA<o+1;aA++){let yA=aA/o*Ww,SA=Math.sin(yA)*C,pA=(1-Math.cos(yA))*C,wA=Math.sin(yA),RA=Math.cos(yA);rA[u]=(T+SA)*w,rA[D]=(P-pA)*k,BA[h]=0,BA[u]=wA*Math.sign(rA[u]),BA[D]=RA*Math.sign(rA[D]);for(let kA=0;kA<H;kA++){let UA=kA*J-q;rA[h]=UA*p,r.push(rA.x,rA.y,rA.z),s.push(BA.x,BA.y,BA.z),B.push(kA/R),B.push(0),eA+=1}}for(let aA=0;aA<o;aA++)for(let yA=0;yA<R;yA++){let SA=Q+yA+H*aA,pA=Q+yA+H*(aA+1),wA=Q+(yA+1)+H*(aA+1),RA=Q+(yA+1)+H*aA;a.push(SA,pA,RA),a.push(pA,wA,RA)}Q+=eA}function l(h,u,D){let p=new x,w=new x(A/2,g/2,e/2);w.subScalar(C);let k=[],U=h*u*D>0?(G,R,J)=>a.push(G,R,J):(G,R,J)=>a.push(G,J,R);for(let G=0;G<=o;G++){let R=[],J=Ww*(1-G/o),q=Math.cos(J),T=Math.sin(J),P=0;for(let H=0;H<=G;H++){let eA=Math.cos(P),rA=Math.sin(P);p.x=q*eA,p.y=T,p.z=q*rA;let BA=w.clone().addScaledVector(p,C);r.push(h*BA.x,u*BA.y,D*BA.z),s.push(h*p.x,u*p.y,D*p.z),B.push(0,0),R.push(Q++),P+=Ww/G}k.push(R)}let N=k.length-1;for(let G=0;G<N;G++){let R=k[G],J=k[G+1],q=R.length-1;U(R[0],J[1],J[0]);for(let T=1;T<=q;T++)U(R[T-1],R[T],J[T]),U(R[T],J[T+1],J[T])}}}},PG=class extends se{constructor(A=[],g=[],e="",I=1,i=.2,t=4){super(),this.type="PolyhedronGeometryRound";let C=[],o=[],a=[];r(),s(),this.setAttribute("position",new _g(C,3)),this.setAttribute("normal",new _g(a,3)),this.setAttribute("uv",new _g(o,2));return;function r(){i=Math.min(1-1e-5,i),i==0&&(t=0);let B={IcosahedronGeometry:5,DodecahedronGeometry:3,HexahedronGeometry:3,OctahedronGeometry:4,TetrahedronGeometry:3}[e],Q=new x,n=Q.clone(),E=new AC,l=i*I,h=I-l,u=t+1,D=new x,p=(BA,aA)=>D.subVectors(BA,aA).normalize(),w=(BA,aA)=>Array(BA).fill(void 0).map(aA),k=w(A.length/3,(BA,aA)=>new x().fromArray(A,aA*3).setLength(I)),U=[],N=1e6;for(let BA=0;BA<k.length;BA++){let aA=k[BA],yA=[],SA,pA,wA,RA=1e10,kA=-1;for(;(kA=g.indexOf(BA,kA+1))!=-1;){let KA=kA-kA%3;SA=g[KA+(kA+1)%3],pA=g[KA+(kA+2)%3],wA=aA.distanceToSquared(k[SA]),RA=Math.min(RA,wA),yA.push([SA,pA,wA])}RA+=1e-6;let UA=[],GA=0,zA=yA.length;for(let KA=0;KA<zA;KA++){[SA,pA,wA]=yA[GA];let LA=U[SA]?.includes(BA)==!0;wA<=RA&&UA.push(SA+ +LA*N),GA=yA.findIndex(YA=>YA[0]==pA)}U.push(UA)}let G=[];{let BA=0,aA=0,yA,SA,pA=B==3;for(let wA=0;wA<=t;wA++){yA=wA*(wA+1)/2,SA=(wA+1)*(wA+2)/2;for(let RA=0;RA<t-wA;RA++)[BA,aA]=[yA+RA+wA+2,SA+RA+wA+3],G.push(yA,SA,...pA?[aA,yA]:[BA,SA],aA,BA),[yA,SA]=[BA,aA];G.push(yA,SA,yA+t+2)}}let R=Q.clone(),J=Q.clone(),q=Q.clone(),T=Q.clone(),P=Q.clone(),H=[],eA=w(k.length,()=>w(B,()=>Q.clone()));for(let BA=0;BA<k.length;BA++){Q.copy(k[BA]).normalize(),R.copy(Q).multiplyScalar(h);let aA=U[BA];for(let UA=0;UA<aA.length;UA++){let GA=aA[UA],zA=aA[(UA+1)%B];E.setFromPointsAndIndices(k,BA,GA%N,zA%N),E.b.sub(E.a).setLength(1e10).add(E.a),E.c.sub(E.a).setLength(1e10).add(E.a),E.closestPointToPoint(R,eA[BA][UA])}let yA=[],SA=[],pA=[],wA=new x;t==0&&[...eA[BA]].reduce((UA,GA)=>UA.add(GA),wA).multiplyScalar(1/B);for(let UA=0;UA<B;UA++){let GA=[],zA=(UA-1+B)%B,KA=eA[BA][zA],LA=eA[BA][UA];Q.copy(KA).sub(R),n.copy(LA).sub(R);let YA=R.angleTo(Q),sg=Q.angleTo(n),$A=Math.cos(YA)*l;t==0?J.copy(wA):J.copy(R).setLength(h+$A),SA.push($A);let VA=[J,KA,LA];for(let vg=0;vg<2;vg++){let Gg=VA[vg],Ng=VA[vg+1];T.subVectors(Gg,R),P.subVectors(Ng,R),q.crossVectors(T,P).normalize();for(let Kg=0;Kg<u;Kg++){let mg=[YA,sg][vg]*Kg/u;Q.copy(T).applyAxisAngle(q,mg).add(R),yA.push(Q.clone()),vg&&(p(Q,R),GA.push([Kg==0?Gg:Q.clone(),D.clone()]))}vg&&(p(Ng,R),GA.push([Ng,D.clone()]))}pA.push(GA)}H.push(pA);let RA=2*u,kA=2;for(let UA=0;UA<B;UA++){let GA=RA*UA,zA=RA*((UA+1)%B),KA=[yA[GA]];for(let YA=1;YA<u;YA++){T=yA[GA+YA],P=yA[zA+YA],KA.push(T);for(let sg=1,$A=YA-kA+1;sg<=$A;sg++)Q.lerpVectors(T,P,sg/($A+1)),Q.sub(R).setLength(SA[UA]).add(R),KA.push(Q.clone());KA.push(P)}for(let YA=0;YA<u;YA++)KA.push(yA[YA+u+GA]);KA.push(yA[zA+u]);let LA=G.map(YA=>KA[YA]);C.push(...LA.map(YA=>[YA.x,YA.y,YA.z]).flat()),a.push(...LA.map(YA=>(p(YA,R),[D.x,D.y,D.z])).flat())}}let rA=[];for(let BA=0;BA<U.length;BA++)for(let aA=0;aA<B;aA++){let yA=U[BA][aA];if(yA<N){let SA=U[yA].findIndex(RA=>RA%N==BA),pA=H[BA][aA],wA=H[yA][SA];for(let RA=0;RA<u;RA++){let kA=pA[RA],UA=wA[u-RA],GA=pA[RA+1],zA=wA[u-(RA+1)];[kA,UA,GA,GA,UA,zA].forEach(KA=>{C.push(KA[0].x,KA[0].y,KA[0].z),a.push(KA[1].x,KA[1].y,KA[1].z)})}rA.push(pA[0][0],wA[u][0],pA[u][0],wA[0][0])}}for(;rA.length;){let BA,aA,yA,SA;[BA,aA]=rA.splice(0,2);let pA=[BA];for(;BA!=aA;)pA.push(aA),yA=rA.indexOf(aA),SA=yA%2,aA=rA.splice(yA-SA,2)[1-SA];D.subVectors(pA[0],pA[1]).cross(Q.subVectors(pA[0],pA[2])).normalize();let wA=D.dot(pA[0])<0;wA&&D.negate();for(let RA=1;RA<=pA.length-2;RA++)[pA[RA+ +wA],pA[RA+1-+wA],pA[0]].forEach(kA=>{C.push(kA.x,kA.y,kA.z),a.push(D.x,D.y,D.z)})}}function s(){let B=new x;for(let U=0;U<C.length;U+=3){B.x=C[U+0],B.y=C[U+1],B.z=C[U+2];let N=w(B)/2/Math.PI+.5,G=k(B)/Math.PI+.5;o.push(N,1-G)}let Q=new x,n=new x,E=new x,l=new x,h=new mA,u=new mA,D=new mA,p=(U,N,G,R)=>{R<0&&U.x===1&&(o[N]=U.x-1),G.x===0&&G.z===0&&(o[N]=R/2/Math.PI+.5)};for(let U=0,N=0;U<C.length;U+=9,N+=6){Q.set(C[U+0],C[U+1],C[U+2]),n.set(C[U+3],C[U+4],C[U+5]),E.set(C[U+6],C[U+7],C[U+8]),h.set(o[N+0],o[N+1]),u.set(o[N+2],o[N+3]),D.set(o[N+4],o[N+5]),l.copy(Q).add(n).add(E).divideScalar(3);let G=w(l);p(h,N+0,Q,G),p(u,N+2,n,G),p(D,N+4,E,G)}for(let U=0;U<o.length;U+=6){let N=o[U+0],G=o[U+2],R=o[U+4],J=Math.max(N,G,R),q=Math.min(N,G,R);J>.9&&q<.1&&(N<.2&&(o[U+0]+=1),G<.2&&(o[U+2]+=1),R<.2&&(o[U+4]+=1))}function w(U){return Math.atan2(U.z,-U.x)}function k(U){return Math.atan2(-U.y,Math.sqrt(U.x*U.x+U.z*U.z))}}}static fromJSON(A){return new PG(A.vertices,A.indices,A.radius,A.corner,A.cornerSides)}},giA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,detail:0,corner:0,cornerSides:4},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width)})}}static build(A){let{width:g,height:e,depth:I,detail:i,corner:t,cornerSides:C}=A.parameters,o=i===0&&t!==0?new Lb(g*.5,t,C):new OJ(g*.5,i);return o.scale(1,e/g,I/g),Object.assign(o,{userData:{...A,type:"DodecahedronGeometry"}})}},Lb=class extends PG{constructor(A=1,g=.2,e=4){let I=(1+Math.sqrt(5))/2,i=1/I,t=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-I,0,-i,I,0,i,-I,0,i,I,-i,-I,0,-i,I,0,i,-I,0,i,I,0,-I,0,-i,I,0,-i,-I,0,i,I,0,i],C=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],o="DodecahedronGeometry";super(t,C,o,A,g,e),this.type=o}static fromJSON(A){return new Lb(A.radius,A.corner,A.cornerSides)}},dl=1e-12,jG=class{constructor(A){this.position=new mA,this.startPosition=new mA,this.uuid=Xg.generateUUID(),this.position=A.clone()}start(){this.reset()}reset(){this.startPosition.copy(this.position)}applyOffset(A){this.position.copy(this.startPosition).add(A)}copy(A){return this.position.copy(A.position),this.startPosition.copy(A.startPosition),this}clone(){return new jG(this.position).copy(this)}toJSON(){return[this.position.x,this.position.y]}},nS=class extends jG{constructor(A){super(A.position),this.parent=A}copy(A){return super.copy(A),this}clone(){return new nS(this.parent).copy(this)}},pE=class extends jG{constructor(A,g){super(g),this.controls=[],this.roundness=0,this.areControlsDirectionsMirrored=!0,this.uuid=A,this.controls.push(new nS(this),new nS(this))}static create(A,g){let e=new pE(A,new mA(...g.position));return e.controls[0].position.set(...g.controlPrevious.position),e.controls[1].position.set(...g.controlNext.position),e.roundness=g.roundness,e.areControlsDirectionsMirrored=g.areControlsDirectionsMirrored,e}getOppositeControl(A){let g=this.controls.indexOf(A);return g===0?this.controls[1]:g===1?this.controls[0]:null}applyOffsetToControls(A,g=1){for(let e=0,I=this.controls.length;e<I;e++){let i=this.controls[e];this.position.distanceTo(i.position)<=g?i.position.copy(this.position):i.applyOffset(A)}}controlsMoved(){return!(this.position.equals(this.controls[0].position)&&this.position.equals(this.controls[1].position))}copy(A){return super.copy(A),this.controls[0].copy(A.controls[0]),this.controls[1].copy(A.controls[1]),this.roundness=A.roundness,this.uuid=A.uuid,this}clone(){return new pE(this.uuid,this.position).copy(this)}toJSON(){return super.toJSON().concat(this.controls[0].toJSON(),this.controls[1].toJSON(),[this.roundness])}computeTangents(){let A=this.curveBefore?.getTangentAt(1),g=this.curveAfter?.getTangentAt(0);return[A,g]}computeNormals(A=new mA,g=new mA){let[e,I]=this.computeTangents();return e&&I&&(HR(e,A),HR(I,g)),[A,g]}computeTangent(A=new mA){let[g,e]=this.computeTangents();return g&&e&&A.copy(g).add(e).normalize(),A}computeNormal(A=new mA){let[g,e]=this.computeNormals();return A.copy(g).add(e).normalize(),A}};function HR(A,g=new mA){let e=A.length();return g.set(-A.y/e,A.x/e)}var WG=A=>A,ih=new mA,xp=new mA,eiA=new mA,IiA=new mA,iiA=new mA,tiA=new mA,xb=new x,Yb=new x;function CiA(A){let g=new mA;g.addVectors(A.v0,ih.subVectors(A.v1,A.v0).multiplyScalar(2/3));let e=new mA;return e.addVectors(A.v2,xp.subVectors(A.v1,A.v2).multiplyScalar(2/3)),new Ba(A.v0,g,e,A.v2)}function Jl(A,g,e=Number.EPSILON){return Math.abs(A-g)<e}function oiA(A,g,e=Number.EPSILON){return A.distanceTo(g)<e}function aiA(A,g,e=Number.EPSILON){return A.distanceTo(g)<e}function Hb(A,g,e){let I=Math.sqrt(Math.pow(g.x-A.x,2)+Math.pow(g.y-A.y,2)),i=Math.sqrt(Math.pow(g.x-e.x,2)+Math.pow(g.y-e.y,2)),t=Math.sqrt(Math.pow(e.x-A.x,2)+Math.pow(e.y-A.y,2));return Math.acos((i*i+I*I-t*t)/(2*i*I))}function riA(A,g,e){return OR(A,g)&&OR(g,e)&&ES(A.position,g.position,e.position)}function ES(A,g,e){return ih.copy(g).sub(A).cross(xp.copy(e).sub(A))===0}function siA(A,g,e,I,i){let t=Math.sqrt(Math.pow(g.x-A.x,2)+Math.pow(g.y-A.y,2)),C=(A.y+g.y)/2,o=(A.x+g.x)/2,a=Math.sqrt(Math.pow(e,2)-Math.pow(t/2,2))*(A.y-g.y)/t,r=Math.sqrt(Math.pow(e,2)-Math.pow(t/2,2))*(g.x-A.x)/t;return I.set(o+a,C+r),i.set(o-a,C-r),[I,i]}function BiA(A,g,e){let I=A.distanceTo(e),i=g.distanceTo(e);return I<i?g:A}function QiA(A,g,e,I,i,t){let C=g.x-A.x,o=g.y-A.y,a=e.x-A.x,r=e.y-A.y,s=Math.sqrt((C+a)*(C+a)+(o+r)*(o+r)),B;return Hb(g,A,e)>Math.PI&&(s*=-1),Jl(r,o)?B=(o+r)*(I/s-.5)*8/3/(C-a):B=(C+a)*(I/s-.5)*8/3/(r-o),i.set(g.x-B*o,g.y+B*C),t.set(e.x+B*r,e.y-B*a),[i,t]}function TR(A,g){return A.position.equals(A.controls[1].position)&&g.position.equals(g.controls[0].position)}function OR(A,g){return ES(A.position,A.controls[1].position,g.position)&&ES(A.position,g.controls[0].position,g.position)}function niA(A,g,e,I,i=.5){let t=ih.subVectors(g,A).multiplyScalar(i).add(A),C=xp.subVectors(e,g).multiplyScalar(i).add(g),o=eiA.subVectors(I,e).multiplyScalar(i).add(e),a=t,r=IiA.subVectors(C,t).multiplyScalar(i).add(t),s=iiA.subVectors(o,C).multiplyScalar(i).add(C),B=o,Q=tiA.subVectors(s,r).multiplyScalar(i).add(r);return[A.x,A.y,a.x,a.y,r.x,r.y,Q.x,Q.y,s.x,s.y,B.x,B.y,I.x,I.y]}function EiA(A,g,e=12,I=!0){let i=Yb.set(0,0,0),t,C=0,o=[];for(let a=0;a<g.length;a++){let r=WG(g[a]),s=ih,B=yQ(r,e);o.push(B);for(let Q=0;Q<=B;Q++)if(r instanceof Ba||r instanceof pB||r instanceof ha){if(r.getPoint(Q/B,s),i.set(s.x,s.y,0),t!==void 0&&aiA(t,i))continue;t===void 0&&(t=xb),t.copy(i),A.setXYZ(C,i.x,i.y,i.z),C++}}return I&&C>1&&!(A.getX(C-1)===A.getX(0)&&A.getY(C-1)===A.getY(0)&&A.getZ(C-1)===A.getZ(0))&&(A.setXYZ(C,A.getX(0),A.getY(0),A.getZ(0)),C++),A}function hiA(A,g,e,I=12,i=!0){let t=Yb.set(0,0,0),C=0,o=[];for(let a=0;a<g.length;a++){if(e[a]===!1)continue;let r,s=WG(g[a]),B=ih,Q=yQ(s,I);o.push(Q);for(let n=0;n<=Q;n++)if(s instanceof Ba||s instanceof pB||s instanceof ha){if(s.getPoint(n/Q,B),t.set(B.x,B.y,0),r?.equals(t))continue;r===void 0?r=xb:(A.setXYZ(C,r.x,r.y,r.z),C++,A.setXYZ(C,t.x,t.y,t.z),C++),r.copy(t)}}return i&&C>1&&!(A.getX(C-1)===A.getX(0)&&A.getY(C-1)===A.getY(0)&&A.getZ(C-1)===A.getZ(0))&&(A.setXYZ(C,A.getX(0),A.getY(0),A.getZ(0)),C++),o}function _R(A,g=12,e=!1){let I=[];for(let i=0,t=A.length;i<t;i++){let C=A[i],o=0;if(e&&C.roundedCurveCorner!==void 0){let a=yQ(C.roundedCurveCorner,g)*.5;i>0&&(I[i-1]+=a),o+=a}C.curveAfter!==void 0&&(o+=yQ(C.curveAfter,g)),I.push(o)}return A.length>0&&e&&A[0].roundedCurveCorner!==void 0&&(I[A.length-1]+=yQ(A[0].roundedCurveCorner,g)*.5),I}function yQ(A,g=12){return A&&A instanceof Sp?g*2:A&&(A instanceof ha||A instanceof YJ)?1:A&&A instanceof aG?g*A.points.length:g}function liA(A,g,e=12,I=!0){let i,t=0;for(let C=0;C<g.length;C++){let o=WG(g[C]),a=yQ(o,e),r=ih;for(let s=0;s<=a;s++)if(o instanceof Ba||o instanceof pB||o instanceof ha){if(o.getPoint(s/a,r),i!==void 0&&oiA(i,r,dl))continue;i===void 0&&(i=xp),i.copy(r),A.push(r.x,r.y),t++}}return Jl(A[0],A[A.length-2],dl)&&Jl(A[1],A[A.length-1],dl)&&(A.pop(),A.pop()),I&&t>1&&!(Jl(A[t-1],A[1],dl)&&Jl(A[t-2],A[0],dl))&&(A.push(A[0],A[1]),t++),A}var zw=new mA,ciA=new mA,diA=new mA,uiA=new mA,DiA=new mA,piA=new mA,Ri=class extends MD{constructor(A=100,g=100){super(),this.points=[],this.shapeHoles=[],this.plane=new ao(new x(0,0,-1)),this.subdivision=0,this.controlSnapDistance=4,this.pointIDs=0,this.isMesh2D=!1,this.isText=!1,this._roundness=0,this.isClosed=!1,this.useCubicForRoundedCorners=!0,this.uuid=Xg.generateUUID(),this.needsUpdate=!1,this.roundedCurves=[],this._width=A,this._height=g}static createFromState(A,g,e){let I=new Ri;return I.isClosed=A.isClosed,I.points=A.points.map(i=>pE.create(i.id,i.data)),typeof A.roundness=="number"&&(I.roundness=A.roundness),I.shapeHoles=A.shapeHoles.map(i=>Ri.createFromState(i)),g!==void 0&&e!==void 0&&I.applySize(g,e),I.update(),I}get width(){return this._width}get height(){return this._height}get roundness(){return this._roundness}set roundness(A){if(this._roundness!==A){this._roundness=A;for(let g=0,e=this.points.length;g<e;g++)this.points[g].roundness=A;this.needsUpdate=!0}}getPointsIndexesByIds(A){return A.map(g=>this.getPointIndexById(g)).filter(g=>g>=0)}getPointIndexById(A){let g=this.points.length,e=this.points.findIndex(I=>I.uuid===A);if(e<0){let I=g;for(let i=0,t=this.shapeHoles.length;i<t;i++){let C=this.shapeHoles[i],o=C.points.length,a=C.getPointIndexById(A);if(a<0)I+=o;else return a+I}}return e}getLineIndexById(A){return this.getPointIndexById(A)}getBezierPoint(A){if(A<=this.points.length-1)return this.points[A];if(this.shapeHoles.length>0){let g=this.points.length;for(let e=0,I=this.shapeHoles.length;e<I;e++){let i=this.shapeHoles[e],t=A-g;if(t<=i.points.length-1)return i.points[t];g+=i.points.length}}throw new Error("This shape does not have a point for this index: "+A)}getBezierPointIndex(A){let g=this.points.indexOf(A);if(g>=0)return g;if(g=this.points.length,this.shapeHoles.length>0)for(let e=0,I=this.shapeHoles.length;e<I;e++){let i=this.shapeHoles[e],t=i.points.indexOf(A);if(t>=0)return g+t;g+=i.points.length}return-1}getAllPoints(){let A=[].concat(...this.shapeHoles.map(g=>g.points));return[...this.points,...A]}applySize(A,g){A===0&&(A=.001),g===0&&(g=.001),this._width=A,this._height=g}applyScale(A,g){let e=zw.set(A,g);for(let I=0,i=this.points.length;I<i;I++){let t=this.points[I];t.position.multiply(e),t.controls[0].position.multiply(e),t.controls[1].position.multiply(e)}for(let I=0,i=this.shapeHoles.length;I<i;I++)this.shapeHoles[I].applyScale(A,g);this._update()}createPoint(A,g=0,e=Xg.generateUUID()){let I;A instanceof mA?I=A:I=new mA(A,g);let i=new pE(e,I);return i.roundness=this.roundness,i}addPoint(A){this.points.push(A),this.needsUpdate=!0}addPointAt(A,g){this.points.splice(g,0,A),this.needsUpdate=!0}getPointByUuid(A){for(let g=0,e=this.points.length;g<e;g++){let I=this.points[g];if(I.uuid===A)return I}for(let g=0,e=this.shapeHoles.length;g<e;g++){let I=this.shapeHoles[g].getPointByUuid(A);if(I)return I}}getFirstPoint(){return this.points[0]}getLastPoint(){return this.points[this.points.length-1]}removePoint(A){let g=this.points.indexOf(A);g>=0&&this.points.splice(g,1),this.needsUpdate=!0}removePointById(A){let g=this.points.find(e=>e.uuid===A);g&&this.removePoint(g)}update(){for(let A=0,g=this.shapeHoles.length;A<g;A++)this.shapeHoles[A].update();this._update()}extractShapePointsToBuffer(A,g=12,e=!1){this.subdivision=g,this.curveDivisions===void 0&&this.computeCurveDivisions(g);let I=e?this.roundedCurveDivisions:this.curveDivisions;return EiA(A,e?this.roundedCurves:this.curves,g,this.autoClose),I.reduce((i,t)=>i+t,0)+1}computeCurveDivisions(A=12){return this.curveDivisions=_R(this.points,A,!1),this.roundedCurveDivisions=_R(this.points,A,!0),this.curveDivisions}extractFilteredShapePointsToBuffer(A,g,e=12){return hiA(A,this.curves,g,e,this.autoClose).reduce((I,i)=>I+i,0)*2}extractShapePointsToFlatArray(A,g=12){return this.subdivision=g,this.curveDivisions===void 0&&this.computeCurveDivisions(g),liA(A,this.roundedCurves,g,this.autoClose)}getCurveIndexFromVertexId(A,g=!1){let e=0;this.curveDivisions===void 0&&this.computeCurveDivisions(this.subdivision);let I=g?this.roundedCurveDivisions:this.curveDivisions,i=0;g&&this.points[0].roundedCurveCorner!==void 0&&(i=yQ(this.points[0].roundedCurveCorner,this.subdivision)*.5);let t=A-i;t<0&&(t+=I.reduce((C,o)=>C+o,0));for(let C=0,o=I.length;C<o;C++){let a=I[C];if(t<e+a)return[C,(t-e+1)/a];e+=a}return[0,1]}getCurveT(A,g,e){let I=this.points[A],i=this.points[A>=this.points.length-1?0:A+1],t=this.curveDivisions,C=t[A];if(TR(I,i)){let a=I.position.distanceTo(i.position);return I.position.distanceTo(zw.set(e.x,e.y))/a}let o=0;for(let a=0;a<A;a++)o+=t[a];return(g-o)/C}dispose(){}_applyCurveForPoint(A,g){TR(g,A)?this.lineTo(A.position.x,A.position.y):this.bezierCurveTo(g.controls[1].position.x,g.controls[1].position.y,A.controls[0].position.x,A.controls[0].position.y,A.position.x,A.position.y);let e=this.curves[this.curves.length-1];A.curveBefore=e,g.curveAfter=e;let I=e.clone();A.roundedCurveBefore=I,g.roundedCurveAfter=I,A.roundedCurveCorner=void 0,this.roundedCurves.push(I)}_update(){if(this.curves=[],this.roundedCurves=[],!this.points.length)return;for(let g=0,e=this.points.length;g<e;g++){let I=this.points[g];if(g===0)this.moveTo(I.position.x,I.position.y);else{let i=this.points[g-1];this._applyCurveForPoint(I,i)}}let A=this.getLastPoint();if(A?.curveAfter&&(A.curveAfter=void 0),this.isClosed){let g=this.points[0],e=this.points[this.points.length-1];this._applyCurveForPoint(g,e)}if(this.points.length>2){let g=0;for(let e=0,I=this.points.length;e<I;e++){let i=this.points[e],t=this.points[e-1]??this.points[this.points.length-1],C=this.points[e+1]??this.points[0],o=i.roundness,a=t&&C&&riA(t,i,C);if(!i.controlsMoved()&&o>0&&!a){let r=i.curveBefore,s=i.curveAfter;if(r===void 0||s===void 0)continue;let B=i.roundedCurveBefore,Q=i.roundedCurveAfter,n=r.getLength(),E=s.getLength(),l=Math.min(o,n*.499),h=Math.min(o,E*.499),u=Math.min(l,h),D=1-u/n,p=u/E,w=r.getPointAt(D,zw),k=s.getPointAt(p,ciA);this._subSplitCurve(r,B,D,w,void 0),this._subSplitCurve(s,Q,p,void 0,k);let U;if(this.useCubicForRoundedCorners){let N=Hb(w,i.position,k)/2,G=Math.tan(N)*w.distanceTo(i.position),[R,J]=siA(w,k,G,diA,uiA),q=BiA(R,J,i.position),[T,P]=QiA(q,w,k,G,DiA,piA);U=new Ba(w.clone(),T.clone(),P.clone(),k.clone())}else U=new pB(w.clone(),i.position.clone(),k.clone());i.roundedCurveCorner=U,this.roundedCurves.splice(e+g,0,U),g++}}}}_subSplitCurve(A,g,e,I,i){if(A instanceof ha)I!==void 0&&g.v2.copy(I),i!==void 0&&g.v1.copy(i);else{let t=A,C=g,o=t.getUtoTmapping(e,0),a=niA(t.v0,t.v1,t.v2,t.v3,o);return I!==void 0&&(C.v0.set(a[0],a[1]),C.v1.set(a[2],a[3]),C.v2.set(a[4],a[5]),C.v3.set(a[6],a[7])),i!==void 0&&(C.v0.set(a[6],a[7]),C.v1.set(a[8],a[9]),C.v2.set(a[10],a[11]),C.v3.set(a[12],a[13])),C}return g}clone(){let A=new Ri(this._width,this._height);return A.points=this.points.map(g=>g.clone()),A.isClosed=this.isClosed,A.roundness=this.roundness,A.isMesh2D=this.isMesh2D,A.shapeHoles=this.shapeHoles.map(g=>g.clone()),A}toJSON(){return{points:this.points.reduce((A,g)=>A.concat(g.toJSON()),[]),shapeHoles:this.shapeHoles.map(A=>A.toJSON()),isClosed:this.isClosed,roundness:this.roundness}}fromJSON(A){this.points=[],this.pointIDs=0;let g=A.points.length/7;for(let e=0;e<g;e++){let I=e*7,i=A.points[I+0],t=A.points[I+1],C=A.points[I+2],o=A.points[I+3],a=A.points[I+4],r=A.points[I+5],s=A.points[I+6],B=new pE(Xg.generateUUID(),new mA(i,t));B.controls[0].position.set(C,o),B.controls[1].position.set(a,r),B.roundness=s,this.points.push(B)}return this.shapeHoles=A.shapeHoles?.length?A.shapeHoles.map(e=>{let I=new Ri;return I.fromJSON(e),I}):[],this.isClosed=A.isClosed,this._roundness=A.roundness,this._update(),this}fromShape(A,g=!1){this.isText=g;let e=(i,t)=>{t instanceof Ba&&t.v3.equals(i.position)&&i.controls[0].position.copy(t.v2)},I=i=>{let t=[],C,o;for(C=0,o=i.length;C<o;C++)i[C]instanceof pB&&(i[C]=CiA(i[C]));for(C=0,o=i.length;C<o;C++){let s=i[C],B=C>0?i[C-1]:null,Q;s instanceof Ba?(Q=this.createPoint(s.v0),Q.controls[1].position.copy(s.v1)):s instanceof ha&&(Q=this.createPoint(s.v1)),Q!==void 0&&(B!==null&&e(Q,B),t.push(Q))}let a=i[i.length-1],r=!1;return a instanceof Ba?a.v3.equals(t[0].position)&&(t[0].controls[0].position.copy(a.v2),r=!0):a instanceof ha&&a.v2.equals(t[0].position)&&(r=!0),this.isClosed=r,t};return this.points=I(A.curves),A instanceof MD&&(this.shapeHoles=A.holes.map(i=>{let t=new Ri;return t.fromShape(i),t})),this.update(),this}updatePoint(A,g){let e=this.getPointByUuid(A);e&&(g.position!==void 0&&e.position.fromArray(g.position),g.roundness!==void 0&&(e.roundness=g.roundness),g.areControlsDirectionsMirrored!==void 0&&(e.areControlsDirectionsMirrored=g.areControlsDirectionsMirrored),this.needsUpdate=!0)}updatePreviousControl(A,g){let e=this.getPointByUuid(A)?.controls[0];e&&(g.position&&e.position.fromArray(g.position),this.needsUpdate=!0)}updateNextControl(A,g){let e=this.getPointByUuid(A)?.controls[1];e&&(g.position&&e.position.fromArray(g.position),this.needsUpdate=!0)}},hS=Math.PI*2;function Vw({x:A,y:g},e,I,i,t){return{x:A*e+i,y:g*I+t}}function yiA(A,g){let e=g===1.5707963267948966?.551915024494:g===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(g/4),I=Math.cos(A),i=Math.sin(A),t=Math.cos(A+g),C=Math.sin(A+g);return[{x:I-i*e,y:i+I*e},{x:t+C*e,y:C-t*e},{x:t,y:C}]}function PR(A,g,e,I){let i=A*I-g*e<0?-1:1,t=Math.min(1,Math.max(-1,A*e+g*I));return i*Math.acos(t)}function wiA(A,g,e,I,i,t,C,o,a,r){let s=Math.pow(i,2),B=Math.pow(t,2),Q=Math.pow(C,2),n=Math.pow(o,2),E=s*B-s*n-B*Q;E<0&&(E=0),E/=s*n+B*Q,E=Math.sqrt(E)*(a===r?-1:1);let l=E*i/t*o,h=E*-t/i*C,u=l+(A+e)/2,D=h+(g+I)/2,p=(C-l)/i,w=(o-h)/t,k=(-C-l)/i,U=(-o-h)/t,N=PR(1,0,p,w),G=PR(p,w,k,U);return!r&&G>0&&(G-=hS),r&&G<0&&(G+=hS),{centerx:u,centery:D,ang1:N,ang2:G}}function fiA({px:A,py:g,cx:e,cy:I,rx:i,ry:t,largeArcFlag:C,sweepFlag:o}){let a=[];if(i===0||t===0)return[];let r=(A-e)/2,s=(g-I)/2;if(r===0&&s===0)return[];i=Math.abs(i),t=Math.abs(t);let B=Math.pow(r,2)/Math.pow(i,2)+Math.pow(s,2)/Math.pow(t,2);B>1&&(i*=Math.sqrt(B),t*=Math.sqrt(B));let Q=wiA(A,g,e,I,i,t,r,s,C,o),{ang1:n,ang2:E}=Q,{centerx:l,centery:h}=Q,u=Math.abs(E)/(hS/4);Math.abs(1-u)<1e-7&&(u=1);let D=Math.max(Math.ceil(u),1);E/=D;for(let p=0;p<D;p++)a.push(yiA(n,E)),n+=E;return a.map(p=>{let{x:w,y:k}=Vw(p[0],i,t,l,h),{x:U,y:N}=Vw(p[1],i,t,l,h),{x:G,y:R}=Vw(p[2],i,t,l,h);return{x1:w,y1:k,x2:U,y2:N,x:G,y:R}})}var PI;(function(A){A[A.ODD=0]="ODD",A[A.NONZERO=1]="NONZERO",A[A.POSITIVE=2]="POSITIVE",A[A.NEGATIVE=3]="NEGATIVE",A[A.ABS_GEQ_TWO=4]="ABS_GEQ_TWO"})(PI||(PI={}));var it;(function(A){A[A.POLYGONS=0]="POLYGONS",A[A.CONNECTED_POLYGONS=1]="CONNECTED_POLYGONS",A[A.BOUNDARY_CONTOURS=2]="BOUNDARY_CONTOURS"})(it||(it={}));function we(A,g){if(!A)throw g||"Assertion Failed!"}var le=function(){function A(){}return A.vertEq=function(g,e){return g.s===e.s&&g.t===e.t},A.vertLeq=function(g,e){return g.s<e.s||g.s===e.s&&g.t<=e.t},A.transLeq=function(g,e){return g.t<e.t||g.t===e.t&&g.s<=e.s},A.edgeGoesLeft=function(g){return A.vertLeq(g.Dst,g.Org)},A.edgeGoesRight=function(g){return A.vertLeq(g.Org,g.Dst)},A.vertL1dist=function(g,e){return Math.abs(g.s-e.s)+Math.abs(g.t-e.t)},A.edgeEval=function(g,e,I){we(A.vertLeq(g,e)&&A.vertLeq(e,I));var i=e.s-g.s,t=I.s-e.s;return i+t>0?i<t?e.t-g.t+(g.t-I.t)*(i/(i+t)):e.t-I.t+(I.t-g.t)*(t/(i+t)):0},A.edgeSign=function(g,e,I){we(A.vertLeq(g,e)&&A.vertLeq(e,I));var i=e.s-g.s,t=I.s-e.s;return i+t>0?(e.t-I.t)*i+(e.t-g.t)*t:0},A.transEval=function(g,e,I){we(A.transLeq(g,e)&&A.transLeq(e,I));var i=e.t-g.t,t=I.t-e.t;return i+t>0?i<t?e.s-g.s+(g.s-I.s)*(i/(i+t)):e.s-I.s+(I.s-g.s)*(t/(i+t)):0},A.transSign=function(g,e,I){we(A.transLeq(g,e)&&A.transLeq(e,I));var i=e.t-g.t,t=I.t-e.t;return i+t>0?(e.s-I.s)*i+(e.s-g.s)*t:0},A.vertCCW=function(g,e,I){return g.s*(e.t-I.t)+e.s*(I.t-g.t)+I.s*(g.t-e.t)>=0},A.interpolate=function(g,e,I,i){return g=g<0?0:g,I=I<0?0:I,g<=I?I===0?(e+i)/2:e+(i-e)*(g/(g+I)):i+(e-i)*(I/(g+I))},A.intersect=function(g,e,I,i,t){var C,o,a;A.vertLeq(g,e)||(a=g,g=e,e=a),A.vertLeq(I,i)||(a=I,I=i,i=a),A.vertLeq(g,I)||(a=g,g=I,I=a,a=e,e=i,i=a),A.vertLeq(I,e)?A.vertLeq(e,i)?(C=A.edgeEval(g,I,e),o=A.edgeEval(I,e,i),C+o<0&&(C=-C,o=-o),t.s=A.interpolate(C,I.s,o,e.s)):(C=A.edgeSign(g,I,e),o=-A.edgeSign(g,i,e),C+o<0&&(C=-C,o=-o),t.s=A.interpolate(C,I.s,o,i.s)):t.s=(I.s+e.s)/2,A.transLeq(g,e)||(a=g,g=e,e=a),A.transLeq(I,i)||(a=I,I=i,i=a),A.transLeq(g,I)||(a=g,g=I,I=a,a=e,e=i,i=a),A.transLeq(I,e)?A.transLeq(e,i)?(C=A.transEval(g,I,e),o=A.transEval(I,e,i),C+o<0&&(C=-C,o=-o),t.t=A.interpolate(C,I.t,o,e.t)):(C=A.transSign(g,I,e),o=-A.transSign(g,i,e),C+o<0&&(C=-C,o=-o),t.t=A.interpolate(C,I.t,o,i.t)):t.t=(I.t+e.t)/2},A}(),ul=function(){function A(){this.next=null,this.prev=null,this.anEdge=null,this.trail=null,this.n=0,this.marked=!1,this.inside=!1}return A}(),Gu=function(){function A(g){this.side=g,this.next=null,this.Org=null,this.Sym=null,this.Onext=null,this.Lnext=null,this.Lface=null,this.activeRegion=null,this.winding=0}return Object.defineProperty(A.prototype,"Rface",{get:function(){return this.Sym.Lface},set:function(g){this.Sym.Lface=g},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"Dst",{get:function(){return this.Sym.Org},set:function(g){this.Sym.Org=g},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"Oprev",{get:function(){return this.Sym.Lnext},set:function(g){this.Sym.Lnext=g},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"Lprev",{get:function(){return this.Onext.Sym},set:function(g){this.Onext.Sym=g},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"Dprev",{get:function(){return this.Lnext.Sym},set:function(g){this.Lnext.Sym=g},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"Rprev",{get:function(){return this.Sym.Onext},set:function(g){this.Sym.Onext=g},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"Dnext",{get:function(){return this.Sym.Onext.Sym},set:function(g){this.Sym.Onext.Sym=g},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"Rnext",{get:function(){return this.Sym.Lnext.Sym},set:function(g){this.Sym.Lnext.Sym=g},enumerable:!0,configurable:!0}),A}(),IE=function(){function A(){this.next=null,this.prev=null,this.anEdge=null,this.coords=[0,0,0],this.s=0,this.t=0,this.pqHandle=0,this.n=0,this.idx=0}return A}(),jR=function(){function A(){var g=new IE,e=new ul,I=new Gu(0),i=new Gu(1);g.next=g.prev=g,g.anEdge=null,e.next=e.prev=e,I.next=I,I.Sym=i,i.next=i,i.Sym=I,this.vHead=g,this.fHead=e,this.eHead=I,this.eHeadSym=i}return A.prototype.makeEdge_=function(g){var e=new Gu(0),I=new Gu(1);g.Sym.side<g.side&&(g=g.Sym);var i=g.Sym.next;return I.next=i,i.Sym.next=e,e.next=g,g.Sym.next=I,e.Sym=I,e.Onext=e,e.Lnext=I,e.Org=null,e.Lface=null,e.winding=0,e.activeRegion=null,I.Sym=e,I.Onext=I,I.Lnext=e,I.Org=null,I.Lface=null,I.winding=0,I.activeRegion=null,e},A.prototype.splice_=function(g,e){var I=g.Onext,i=e.Onext;I.Sym.Lnext=e,i.Sym.Lnext=g,g.Onext=i,e.Onext=I},A.prototype.makeVertex_=function(g,e,I){var i=g;we(i,"Vertex can't be null!");var t=I.prev;i.prev=t,t.next=i,i.next=I,I.prev=i,i.anEdge=e;var C=e;do C.Org=i,C=C.Onext;while(C!==e)},A.prototype.makeFace_=function(g,e,I){var i=g;we(i,"Face can't be null");var t=I.prev;i.prev=t,t.next=i,i.next=I,I.prev=i,i.anEdge=e,i.trail=null,i.marked=!1,i.inside=I.inside;var C=e;do C.Lface=i,C=C.Lnext;while(C!==e)},A.prototype.killEdge_=function(g){g.Sym.side<g.side&&(g=g.Sym);var e=g.next,I=g.Sym.next;e.Sym.next=I,I.Sym.next=e},A.prototype.killVertex_=function(g,e){var I=g.anEdge,i=I;do i.Org=e,i=i.Onext;while(i!==I);var t=g.prev,C=g.next;C.prev=t,t.next=C},A.prototype.killFace_=function(g,e){var I=g.anEdge,i=I;do i.Lface=e,i=i.Lnext;while(i!==I);var t=g.prev,C=g.next;C.prev=t,t.next=C},A.prototype.makeEdge=function(){var g=new IE,e=new IE,I=new ul,i=this.makeEdge_(this.eHead);return this.makeVertex_(g,i,this.vHead),this.makeVertex_(e,i.Sym,this.vHead),this.makeFace_(I,i,this.fHead),i},A.prototype.splice=function(g,e){var I=!1,i=!1;if(g!==e){if(e.Org!==g.Org&&(i=!0,this.killVertex_(e.Org,g.Org)),e.Lface!==g.Lface&&(I=!0,this.killFace_(e.Lface,g.Lface)),this.splice_(e,g),!i){var t=new IE;this.makeVertex_(t,e,g.Org),g.Org.anEdge=g}if(!I){var C=new ul;this.makeFace_(C,e,g.Lface),g.Lface.anEdge=g}}},A.prototype.delete=function(g){var e=g.Sym,I=!1;if(g.Lface!==g.Rface&&(I=!0,this.killFace_(g.Lface,g.Rface)),g.Onext===g)this.killVertex_(g.Org,null);else if(g.Rface.anEdge=g.Oprev,g.Org.anEdge=g.Onext,this.splice_(g,g.Oprev),!I){var i=new ul;this.makeFace_(i,g,g.Lface)}e.Onext===e?(this.killVertex_(e.Org,null),this.killFace_(e.Lface,null)):(g.Lface.anEdge=e.Oprev,e.Org.anEdge=e.Onext,this.splice_(e,e.Oprev)),this.killEdge_(g)},A.prototype.addEdgeVertex=function(g){var e=this.makeEdge_(g),I=e.Sym;this.splice_(e,g.Lnext),e.Org=g.Dst;var i=new IE;return this.makeVertex_(i,I,e.Org),e.Lface=I.Lface=g.Lface,e},A.prototype.splitEdge=function(g){var e=this.addEdgeVertex(g),I=e.Sym;return this.splice_(g.Sym,g.Sym.Oprev),this.splice_(g.Sym,I),g.Dst=I.Org,I.Dst.anEdge=I.Sym,I.Rface=g.Rface,I.winding=g.winding,I.Sym.winding=g.Sym.winding,I.idx=g.idx,I.Sym.idx=g.Sym.idx,I},A.prototype.connect=function(g,e){var I=!1,i=this.makeEdge_(g),t=i.Sym;if(e.Lface!==g.Lface&&(I=!0,this.killFace_(e.Lface,g.Lface)),this.splice_(i,g.Lnext),this.splice_(t,e),i.Org=g.Dst,t.Org=e.Org,i.Lface=t.Lface=g.Lface,g.Lface.anEdge=t,!I){var C=new ul;this.makeFace_(C,i,g.Lface)}return i},A.prototype.zapFace=function(g){var e=g.anEdge,I,i,t,C,o;i=e.Lnext;do I=i,i=I.Lnext,I.Lface=null,I.Rface===null&&(I.Onext===I?this.killVertex_(I.Org,null):(I.Org.anEdge=I.Onext,this.splice_(I,I.Oprev)),t=I.Sym,t.Onext===t?this.killVertex_(t.Org,null):(t.Org.anEdge=t.Onext,this.splice_(t,t.Oprev)),this.killEdge_(I));while(I!=e);C=g.prev,o=g.next,o.prev=C,C.next=o},A.prototype.countFaceVerts_=function(g){var e=g.anEdge,I=0;do I++,e=e.Lnext;while(e!==g.anEdge);return I},A.prototype.mergeConvexFaces=function(g){var e,I,i,t,C,o,a;for(e=this.fHead.next;e!==this.fHead;e=e.next)if(e.inside)for(I=e.anEdge,C=I.Org;i=I.Lnext,t=I.Sym,t&&t.Lface&&t.Lface.inside&&(o=this.countFaceVerts_(e),a=this.countFaceVerts_(t.Lface),o+a-2<=g&&le.vertCCW(I.Lprev.Org,I.Org,t.Lnext.Lnext.Org)&&le.vertCCW(t.Lprev.Org,t.Org,I.Lnext.Lnext.Org)&&(i=t.Lnext,this.delete(t),I=null,t=null)),!(I&&I.Lnext.Org===C);)I=i;return!0},A.prototype.check=function(){var g=this.fHead,e=this.vHead,I=this.eHead,i,t,C,o,a,r;for(t=g,t=g;(i=t.next)!==g;t=i){we(i.prev===t),a=i.anEdge;do we(a.Sym!==a),we(a.Sym.Sym===a),we(a.Lnext.Onext.Sym===a),we(a.Onext.Sym.Lnext===a),we(a.Lface===i),a=a.Lnext;while(a!==i.anEdge)}for(we(i.prev===t&&i.anEdge===null),o=e,o=e;(C=o.next)!==e;o=C){we(C.prev===o),a=C.anEdge;do we(a.Sym!==a),we(a.Sym.Sym===a),we(a.Lnext.Onext.Sym===a),we(a.Onext.Sym.Lnext===a),we(a.Org===C),a=a.Onext;while(a!==C.anEdge)}for(we(C.prev===o&&C.anEdge===null),r=I,r=I;(a=r.next)!==I;r=a)we(a.Sym.next===r.Sym),we(a.Sym!==a),we(a.Sym.Sym===a),we(a.Org!==null),we(a.Dst!==null),we(a.Lnext.Onext.Sym===a),we(a.Onext.Sym.Lnext===a);we(a.Sym.next===r.Sym&&a.Sym===this.eHeadSym&&a.Sym.Sym===a&&a.Org===null&&a.Dst===null&&a.Lface===null&&a.Rface===null)},A}(),WR=function(){function A(){this.handle=null}return A}(),zR=function(){function A(){this.key=null,this.node=0}return A}(),SiA=function(){function A(g,e){this.leq=e,this.max=0,this.nodes=[],this.handles=[],this.initialized=!1,this.freeList=0,this.size=0,this.max=g,this.nodes=[],this.handles=[];for(var I=0;I<g+1;I++)this.nodes[I]=new WR,this.handles[I]=new zR;this.initialized=!1,this.nodes[1].handle=1,this.handles[1].key=null}return A.prototype.floatDown_=function(g){var e=this.nodes,I=this.handles,i,t,C;for(i=e[g].handle;;){if(C=g<<1,C<this.size&&this.leq(I[e[C+1].handle].key,I[e[C].handle].key)&&++C,we(C<=this.max),t=e[C].handle,C>this.size||this.leq(I[i].key,I[t].key)){e[g].handle=i,I[i].node=g;break}e[g].handle=t,I[t].node=g,g=C}},A.prototype.floatUp_=function(g){var e=this.nodes,I=this.handles,i,t,C;for(i=e[g].handle;;){if(C=g>>1,t=e[C].handle,C===0||this.leq(I[t].key,I[i].key)){e[g].handle=i,I[i].node=g;break}e[g].handle=t,I[t].node=g,g=C}},A.prototype.init=function(){for(var g=this.size;g>=1;--g)this.floatDown_(g);this.initialized=!0},A.prototype.min=function(){return this.handles[this.nodes[1].handle].key},A.prototype.insert=function(g){var e,I;if(e=++this.size,e*2>this.max){this.max*=2;var i,t;for(t=this.nodes.length,this.nodes.length=this.max+1,i=t;i<this.nodes.length;i++)this.nodes[i]=new WR;for(t=this.handles.length,this.handles.length=this.max+1,i=t;i<this.handles.length;i++)this.handles[i]=new zR}return this.freeList===0?I=e:(I=this.freeList,this.freeList=this.handles[I].node),this.nodes[e].handle=I,this.handles[I].node=e,this.handles[I].key=g,this.initialized&&this.floatUp_(e),I},A.prototype.extractMin=function(){var g=this.nodes,e=this.handles,I=g[1].handle,i=e[I].key;return this.size>0&&(g[1].handle=g[this.size].handle,e[g[1].handle].node=1,e[I].key=null,e[I].node=this.freeList,this.freeList=I,--this.size,this.size>0&&this.floatDown_(1)),i},A.prototype.delete=function(g){var e=this.nodes,I=this.handles,i;we(g>=1&&g<=this.max&&I[g].key!==null),i=I[g].node,e[i].handle=e[this.size].handle,I[e[i].handle].node=i,--this.size,i<=this.size&&(i<=1||this.leq(I[e[i>>1].handle].key,I[e[i].handle].key)?this.floatDown_(i):this.floatUp_(i)),I[g].key=null,I[g].node=this.freeList,this.freeList=g},A}(),Zw=function(){function A(){this.eUp=null,this.nodeUp=null,this.windingNumber=0,this.inside=!1,this.sentinel=!1,this.dirty=!1,this.fixUpperEdge=!1}return A}(),VR=function(){function A(){this.key=null,this.next=null,this.prev=null}return A}(),GiA=function(){function A(g,e){this.frame=g,this.leq=e,this.head=new VR,this.head.next=this.head,this.head.prev=this.head}return A.prototype.min=function(){return this.head.next},A.prototype.max=function(){return this.head.prev},A.prototype.insert=function(g){return this.insertBefore(this.head,g)},A.prototype.search=function(g){var e=this.head;do e=e.next;while(e.key!==null&&!this.leq(this.frame,g,e.key));return e},A.prototype.insertBefore=function(g,e){do g=g.prev;while(g.key!==null&&!this.leq(this.frame,g.key,e));var I=new VR;return I.key=e,I.next=g.next,g.next.prev=I,I.prev=g,g.next=I,I},A.prototype.delete=function(g){g.next.prev=g.prev,g.prev.next=g.next},A}(),miA=function(){function A(){}return A.regionBelow=function(g){return g.nodeUp.prev.key},A.regionAbove=function(g){return g.nodeUp.next.key},A.debugEvent=function(g){},A.addWinding=function(g,e){g.winding+=e.winding,g.Sym.winding+=e.Sym.winding},A.edgeLeq=function(g,e,I){var i=g.event,t=e.eUp,C=I.eUp;if(t.Dst===i)return C.Dst===i?le.vertLeq(t.Org,C.Org)?le.edgeSign(C.Dst,t.Org,C.Org)<=0:le.edgeSign(t.Dst,C.Org,t.Org)>=0:le.edgeSign(C.Dst,i,C.Org)<=0;if(C.Dst===i)return le.edgeSign(t.Dst,i,t.Org)>=0;var o=le.edgeEval(t.Dst,i,t.Org),a=le.edgeEval(C.Dst,i,C.Org);return o>=a},A.deleteRegion=function(g,e){e.fixUpperEdge&&we(e.eUp.winding===0),e.eUp.activeRegion=null,g.dict.delete(e.nodeUp)},A.fixUpperEdge=function(g,e,I){we(e.fixUpperEdge),g.mesh.delete(e.eUp),e.fixUpperEdge=!1,e.eUp=I,I.activeRegion=e},A.topLeftRegion=function(g,e){var I=e.eUp.Org,i;do e=A.regionAbove(e);while(e.eUp.Org===I);if(e.fixUpperEdge){if(i=g.mesh.connect(A.regionBelow(e).eUp.Sym,e.eUp.Lnext),i===null)return null;A.fixUpperEdge(g,e,i),e=A.regionAbove(e)}return e},A.topRightRegion=function(g){var e=g.eUp.Dst;do g=A.regionAbove(g);while(g.eUp.Dst===e);return g},A.addRegionBelow=function(g,e,I){var i=new Zw;return i.eUp=I,i.nodeUp=g.dict.insertBefore(e.nodeUp,i),i.fixUpperEdge=!1,i.sentinel=!1,i.dirty=!1,I.activeRegion=i,i},A.isWindingInside=function(g,e){switch(g.windingRule){case PI.ODD:return(e&1)!==0;case PI.NONZERO:return e!==0;case PI.POSITIVE:return e>0;case PI.NEGATIVE:return e<0;case PI.ABS_GEQ_TWO:return e>=2||e<=-2}throw new Error("Invalid winding rulle")},A.computeWinding=function(g,e){e.windingNumber=A.regionAbove(e).windingNumber+e.eUp.winding,e.inside=A.isWindingInside(g,e.windingNumber)},A.finishRegion=function(g,e){var I=e.eUp,i=I.Lface;i.inside=e.inside,i.anEdge=I,A.deleteRegion(g,e)},A.finishLeftRegions=function(g,e,I){for(var i,t=null,C=e,o=e.eUp;C!==I;){if(C.fixUpperEdge=!1,t=A.regionBelow(C),i=t.eUp,i.Org!=o.Org){if(!t.fixUpperEdge){A.finishRegion(g,C);break}i=g.mesh.connect(o.Lprev,i.Sym),A.fixUpperEdge(g,t,i)}o.Onext!==i&&(g.mesh.splice(i.Oprev,i),g.mesh.splice(o,i)),A.finishRegion(g,C),o=t.eUp,C=t}return o},A.addRightEdges=function(g,e,I,i,t,C){var o,a,r,s,B=!0;r=I;do we(le.vertLeq(r.Org,r.Dst)),A.addRegionBelow(g,e,r.Sym),r=r.Onext;while(r!==i);for(t===null&&(t=A.regionBelow(e).eUp.Rprev),a=e,s=t;o=A.regionBelow(a),r=o.eUp.Sym,r.Org===s.Org;)r.Onext!==s&&(g.mesh.splice(r.Oprev,r),g.mesh.splice(s.Oprev,r)),o.windingNumber=a.windingNumber-r.winding,o.inside=A.isWindingInside(g,o.windingNumber),a.dirty=!0,!B&&A.checkForRightSplice(g,a)&&(A.addWinding(r,s),A.deleteRegion(g,a),g.mesh.delete(s)),B=!1,a=o,s=r;a.dirty=!0,we(a.windingNumber-r.winding===o.windingNumber),C&&A.walkDirtyRegions(g,a)},A.spliceMergeVertices=function(g,e,I){g.mesh.splice(e,I)},A.vertexWeights=function(g,e,I){var i=le.vertL1dist(e,g),t=le.vertL1dist(I,g),C=.5*t/(i+t),o=.5*i/(i+t);g.coords[0]+=C*e.coords[0]+o*I.coords[0],g.coords[1]+=C*e.coords[1]+o*I.coords[1],g.coords[2]+=C*e.coords[2]+o*I.coords[2]},A.getIntersectData=function(g,e,I,i,t,C){e.coords[0]=e.coords[1]=e.coords[2]=0,e.idx=-1,A.vertexWeights(e,I,i),A.vertexWeights(e,t,C)},A.checkForRightSplice=function(g,e){var I=A.regionBelow(e),i=e.eUp,t=I.eUp;if(le.vertLeq(i.Org,t.Org)){if(le.edgeSign(t.Dst,i.Org,t.Org)>0)return!1;le.vertEq(i.Org,t.Org)?i.Org!==t.Org&&(g.pq.delete(i.Org.pqHandle),A.spliceMergeVertices(g,t.Oprev,i)):(g.mesh.splitEdge(t.Sym),g.mesh.splice(i,t.Oprev),e.dirty=I.dirty=!0)}else{if(le.edgeSign(i.Dst,t.Org,i.Org)<0)return!1;A.regionAbove(e).dirty=e.dirty=!0,g.mesh.splitEdge(i.Sym),g.mesh.splice(t.Oprev,i)}return!0},A.checkForLeftSplice=function(g,e){var I=A.regionBelow(e),i=e.eUp,t=I.eUp,C;if(we(!le.vertEq(i.Dst,t.Dst)),le.vertLeq(i.Dst,t.Dst)){if(le.edgeSign(i.Dst,t.Dst,i.Org)<0)return!1;A.regionAbove(e).dirty=e.dirty=!0,C=g.mesh.splitEdge(i),g.mesh.splice(t.Sym,C),C.Lface.inside=e.inside}else{if(le.edgeSign(t.Dst,i.Dst,t.Org)>0)return!1;e.dirty=I.dirty=!0,C=g.mesh.splitEdge(t),g.mesh.splice(i.Lnext,t.Sym),C.Rface.inside=e.inside}return!0},A.checkForIntersect=function(g,e){var I=A.regionBelow(e),i=e.eUp,t=I.eUp,C=i.Org,o=t.Org,a=i.Dst,r=t.Dst,s,B,Q=new IE,n,E;if(we(!le.vertEq(r,a)),we(le.edgeSign(a,g.event,C)<=0),we(le.edgeSign(r,g.event,o)>=0),we(C!==g.event&&o!==g.event),we(!e.fixUpperEdge&&!I.fixUpperEdge),C===o||(s=Math.min(C.t,a.t),B=Math.max(o.t,r.t),s>B))return!1;if(le.vertLeq(C,o)){if(le.edgeSign(r,C,o)>0)return!1}else if(le.edgeSign(a,o,C)<0)return!1;return A.debugEvent(g),le.intersect(a,C,r,o,Q),we(Math.min(C.t,a.t)<=Q.t),we(Q.t<=Math.max(o.t,r.t)),we(Math.min(r.s,a.s)<=Q.s),we(Q.s<=Math.max(o.s,C.s)),le.vertLeq(Q,g.event)&&(Q.s=g.event.s,Q.t=g.event.t),n=le.vertLeq(C,o)?C:o,le.vertLeq(n,Q)&&(Q.s=n.s,Q.t=n.t),le.vertEq(Q,C)||le.vertEq(Q,o)?(A.checkForRightSplice(g,e),!1):!le.vertEq(a,g.event)&&le.edgeSign(a,g.event,Q)>=0||!le.vertEq(r,g.event)&&le.edgeSign(r,g.event,Q)<=0?r===g.event?(g.mesh.splitEdge(i.Sym),g.mesh.splice(t.Sym,i),e=A.topLeftRegion(g,e),i=A.regionBelow(e).eUp,A.finishLeftRegions(g,A.regionBelow(e),I),A.addRightEdges(g,e,i.Oprev,i,i,!0),!0):a===g.event?(g.mesh.splitEdge(t.Sym),g.mesh.splice(i.Lnext,t.Oprev),I=e,e=A.topRightRegion(e),E=A.regionBelow(e).eUp.Rprev,I.eUp=t.Oprev,t=A.finishLeftRegions(g,I,null),A.addRightEdges(g,e,t.Onext,i.Rprev,E,!0),!0):(le.edgeSign(a,g.event,Q)>=0&&(A.regionAbove(e).dirty=e.dirty=!0,g.mesh.splitEdge(i.Sym),i.Org.s=g.event.s,i.Org.t=g.event.t),le.edgeSign(r,g.event,Q)<=0&&(e.dirty=I.dirty=!0,g.mesh.splitEdge(t.Sym),t.Org.s=g.event.s,t.Org.t=g.event.t),!1):(g.mesh.splitEdge(i.Sym),g.mesh.splitEdge(t.Sym),g.mesh.splice(t.Oprev,i),i.Org.s=Q.s,i.Org.t=Q.t,i.Org.pqHandle=g.pq.insert(i.Org),A.getIntersectData(g,i.Org,C,a,o,r),A.regionAbove(e).dirty=e.dirty=I.dirty=!0,!1)},A.walkDirtyRegions=function(g,e){for(var I=A.regionBelow(e),i,t;;){for(;I.dirty;)e=I,I=A.regionBelow(I);if(!e.dirty&&(I=e,e=A.regionAbove(e),e===null||!e.dirty))return;if(e.dirty=!1,i=e.eUp,t=I.eUp,i.Dst!==t.Dst&&A.checkForLeftSplice(g,e)&&(I.fixUpperEdge?(A.deleteRegion(g,I),g.mesh.delete(t),I=A.regionBelow(e),t=I.eUp):e.fixUpperEdge&&(A.deleteRegion(g,e),g.mesh.delete(i),e=A.regionAbove(I),i=e.eUp)),i.Org!==t.Org)if(i.Dst!==t.Dst&&!e.fixUpperEdge&&!I.fixUpperEdge&&(i.Dst===g.event||t.Dst===g.event)){if(A.checkForIntersect(g,e))return}else A.checkForRightSplice(g,e);i.Org===t.Org&&i.Dst===t.Dst&&(A.addWinding(t,i),A.deleteRegion(g,e),g.mesh.delete(i),e=A.regionAbove(I))}},A.connectRightVertex=function(g,e,I){var i,t=I.Onext,C=A.regionBelow(e),o=e.eUp,a=C.eUp,r=!1;if(o.Dst!==a.Dst&&A.checkForIntersect(g,e),le.vertEq(o.Org,g.event)&&(g.mesh.splice(t.Oprev,o),e=A.topLeftRegion(g,e),t=A.regionBelow(e).eUp,A.finishLeftRegions(g,A.regionBelow(e),C),r=!0),le.vertEq(a.Org,g.event)&&(g.mesh.splice(I,a.Oprev),I=A.finishLeftRegions(g,C,null),r=!0),r){A.addRightEdges(g,e,I.Onext,t,t,!0);return}le.vertLeq(a.Org,o.Org)?i=a.Oprev:i=o,i=g.mesh.connect(I.Lprev,i),A.addRightEdges(g,e,i,i.Onext,i.Onext,!1),i.Sym.activeRegion.fixUpperEdge=!0,A.walkDirtyRegions(g,e)},A.connectLeftDegenerate=function(g,e,I){var i,t,C,o,a;if(i=e.eUp,le.vertEq(i.Org,I)){we(!1),A.spliceMergeVertices(g,i,I.anEdge);return}if(!le.vertEq(i.Dst,I)){g.mesh.splitEdge(i.Sym),e.fixUpperEdge&&(g.mesh.delete(i.Onext),e.fixUpperEdge=!1),g.mesh.splice(I.anEdge,i),A.sweepEvent(g,I);return}we(!1),e=A.topRightRegion(e),a=A.regionBelow(e),C=a.eUp.Sym,t=o=C.Onext,a.fixUpperEdge&&(we(t!==C),A.deleteRegion(g,a),g.mesh.delete(C),C=t.Oprev),g.mesh.splice(I.anEdge,C),le.edgeGoesLeft(t)||(t=null),A.addRightEdges(g,e,C.Onext,o,t,!0)},A.connectLeftVertex=function(g,e){var I,i,t,C,o,a,r=new Zw;if(r.eUp=e.anEdge.Sym,I=g.dict.search(r).key,i=A.regionBelow(I),!!i){if(C=I.eUp,o=i.eUp,le.edgeSign(C.Dst,e,C.Org)===0){A.connectLeftDegenerate(g,I,e);return}if(t=le.vertLeq(o.Dst,C.Dst)?I:i,I.inside||t.fixUpperEdge){if(t===I)a=g.mesh.connect(e.anEdge.Sym,C.Lnext);else{var s=g.mesh.connect(o.Dnext,e.anEdge);a=s.Sym}t.fixUpperEdge?A.fixUpperEdge(g,t,a):A.computeWinding(g,A.addRegionBelow(g,I,a)),A.sweepEvent(g,e)}else A.addRightEdges(g,I,e.anEdge,e.anEdge,null,!0)}},A.sweepEvent=function(g,e){g.event=e,A.debugEvent(g);for(var I=e.anEdge;I.activeRegion===null;)if(I=I.Onext,I===e.anEdge){A.connectLeftVertex(g,e);return}var i=A.topLeftRegion(g,I.activeRegion);we(i!==null);var t=A.regionBelow(i),C=t.eUp,o=A.finishLeftRegions(g,t,null);o.Onext===C?A.connectRightVertex(g,i,o):A.addRightEdges(g,i,o.Onext,C,C,!0)},A.addSentinel=function(g,e,I,i){var t=new Zw,C=g.mesh.makeEdge();C.Org.s=I,C.Org.t=i,C.Dst.s=e,C.Dst.t=i,g.event=C.Dst,t.eUp=C,t.windingNumber=0,t.inside=!1,t.fixUpperEdge=!1,t.sentinel=!0,t.dirty=!1,t.nodeUp=g.dict.insert(t)},A.initEdgeDict=function(g){g.dict=new GiA(g,A.edgeLeq);var e=g.bmax[0]-g.bmin[0],I=g.bmax[1]-g.bmin[1],i=g.bmin[0]-e,t=g.bmax[0]+e,C=g.bmin[1]-I,o=g.bmax[1]+I;A.addSentinel(g,i,t,C),A.addSentinel(g,i,t,o)},A.doneEdgeDict=function(g){for(var e,I=0;(e=g.dict.min().key)!==null;)e.sentinel||(we(e.fixUpperEdge),we(++I===1)),we(e.windingNumber===0),A.deleteRegion(g,e)},A.removeDegenerateEdges=function(g){var e,I,i,t=g.mesh.eHead;for(e=t.next;e!==t;e=I)I=e.next,i=e.Lnext,le.vertEq(e.Org,e.Dst)&&e.Lnext.Lnext!==e&&(A.spliceMergeVertices(g,i,e),g.mesh.delete(e),e=i,i=e.Lnext),i.Lnext===e&&(i!==e&&((i===I||i===I.Sym)&&(I=I.next),g.mesh.delete(i)),(e===I||e===I.Sym)&&(I=I.next),g.mesh.delete(e))},A.initPriorityQ=function(g){var e,I,i,t=0;for(i=g.mesh.vHead,I=i.next;I!==i;I=I.next)t++;for(t+=8,e=g.pq=new SiA(t,le.vertLeq),i=g.mesh.vHead,I=i.next;I!==i;I=I.next)I.pqHandle=e.insert(I);return I!==i?!1:(e.init(),!0)},A.donePriorityQ=function(g){g.pq=null},A.removeDegenerateFaces=function(g,e){var I,i,t;for(I=e.fHead.next;I!==e.fHead;I=i)i=I.next,t=I.anEdge,we(t.Lnext!==t),t.Lnext.Lnext===t&&(A.addWinding(t.Onext,t),g.mesh.delete(t));return!0},A.computeInterior=function(g,e){e===void 0&&(e=!0);var I,i;if(A.removeDegenerateEdges(g),!A.initPriorityQ(g))return!1;for(A.initEdgeDict(g);(I=g.pq.extractMin())!==null;){for(;i=g.pq.min(),!(i===null||!le.vertEq(i,I));)i=g.pq.extractMin(),A.spliceMergeVertices(g,I.anEdge,i.anEdge);A.sweepEvent(g,I)}return g.event=g.dict.min().key.eUp.Org,A.debugEvent(g),A.doneEdgeDict(g),A.donePriorityQ(g),A.removeDegenerateFaces(g,g.mesh)?(e&&g.mesh.check(),!0):!1},A}(),MiA=function(){function A(){this.mesh=new jR,this.normal=[0,0,0],this.sUnit=[0,0,0],this.tUnit=[0,0,0],this.bmin=[0,0],this.bmax=[0,0],this.windingRule=PI.ODD,this.dict=null,this.pq=null,this.event=null,this.vertexIndexCounter=0,this.vertices=[],this.vertexIndices=[],this.vertexCount=0,this.elements=[],this.elementCount=0}return A.prototype.dot_=function(g,e){return g[0]*e[0]+g[1]*e[1]+g[2]*e[2]},A.prototype.normalize_=function(g){var e=g[0]*g[0]+g[1]*g[1]+g[2]*g[2];if(!e)throw"Zero-size vector!";e=Math.sqrt(e),g[0]/=e,g[1]/=e,g[2]/=e},A.prototype.longAxis_=function(g){var e=0;return Math.abs(g[1])>Math.abs(g[0])&&(e=1),Math.abs(g[2])>Math.abs(g[e])&&(e=2),e},A.prototype.computeNormal_=function(g){var e,I,i,t,C,o,a=[0,0,0],r=[0,0,0],s=[0,0,0],B=[0,0,0],Q=[0,0,0],n=[null,null,null],E=[null,null,null],l=this.mesh.vHead;e=l.next;for(var h=0;h<3;++h)t=e.coords[h],r[h]=t,E[h]=e,a[h]=t,n[h]=e;for(e=l.next;e!==l;e=e.next)for(var u=0;u<3;++u)t=e.coords[u],t<r[u]&&(r[u]=t,E[u]=e),t>a[u]&&(a[u]=t,n[u]=e);var D=0;if(a[1]-r[1]>a[0]-r[0]&&(D=1),a[2]-r[2]>a[D]-r[D]&&(D=2),r[D]>=a[D]){g[0]=0,g[1]=0,g[2]=1;return}for(o=0,I=E[D],i=n[D],s[0]=I.coords[0]-i.coords[0],s[1]=I.coords[1]-i.coords[1],s[2]=I.coords[2]-i.coords[2],e=l.next;e!==l;e=e.next)B[0]=e.coords[0]-i.coords[0],B[1]=e.coords[1]-i.coords[1],B[2]=e.coords[2]-i.coords[2],Q[0]=s[1]*B[2]-s[2]*B[1],Q[1]=s[2]*B[0]-s[0]*B[2],Q[2]=s[0]*B[1]-s[1]*B[0],C=Q[0]*Q[0]+Q[1]*Q[1]+Q[2]*Q[2],C>o&&(o=C,g[0]=Q[0],g[1]=Q[1],g[2]=Q[2]);o<=0&&(g[0]=g[1]=g[2]=0,g[this.longAxis_(s)]=1)},A.prototype.checkOrientation_=function(){for(var g=this.mesh.fHead,e,I=this.mesh.vHead,i,t=0,C=g.next;C!==g;C=C.next)if(i=C.anEdge,!(i.winding<=0))do t+=(i.Org.s-i.Dst.s)*(i.Org.t+i.Dst.t),i=i.Lnext;while(i!==C.anEdge);if(t<0){for(e=I.next;e!==I;e=e.next)e.t=-e.t;this.tUnit[0]=-this.tUnit[0],this.tUnit[1]=-this.tUnit[1],this.tUnit[2]=-this.tUnit[2]}},A.prototype.projectPolygon_=function(){var g=this.mesh.vHead,e=[0,0,0],I,i,t=!1;e[0]=this.normal[0],e[1]=this.normal[1],e[2]=this.normal[2],!e[0]&&!e[1]&&!e[2]&&(this.computeNormal_(e),t=!0),I=this.sUnit,i=this.tUnit;var C=this.longAxis_(e);I[C]=0,I[(C+1)%3]=1,I[(C+2)%3]=0,i[C]=0,i[(C+1)%3]=0,i[(C+2)%3]=e[C]>0?1:-1;for(var o=g.next;o!==g;o=o.next)o.s=this.dot_(o.coords,I),o.t=this.dot_(o.coords,i);t&&this.checkOrientation_();for(var a=!0,r=g.next;r!==g;r=r.next)a?(this.bmin[0]=this.bmax[0]=r.s,this.bmin[1]=this.bmax[1]=r.t,a=!1):(r.s<this.bmin[0]&&(this.bmin[0]=r.s),r.s>this.bmax[0]&&(this.bmax[0]=r.s),r.t<this.bmin[1]&&(this.bmin[1]=r.t),r.t>this.bmax[1]&&(this.bmax[1]=r.t))},A.prototype.addWinding_=function(g,e){g.winding+=e.winding,g.Sym.winding+=e.Sym.winding},A.prototype.tessellateMonoRegion_=function(g,e){var I,i;if(I=e.anEdge,!(I.Lnext!==I&&I.Lnext.Lnext!==I))throw"Mono region invalid";for(;le.vertLeq(I.Dst,I.Org);I=I.Lprev);for(;le.vertLeq(I.Org,I.Dst);I=I.Lnext);i=I.Lprev;for(var t=void 0;I.Lnext!==i;)if(le.vertLeq(I.Dst,i.Org)){for(;i.Lnext!==I&&(le.edgeGoesLeft(i.Lnext)||le.edgeSign(i.Org,i.Dst,i.Lnext.Dst)<=0);)t=g.connect(i.Lnext,i),i=t.Sym;i=i.Lprev}else{for(;i.Lnext!==I&&(le.edgeGoesRight(I.Lprev)||le.edgeSign(I.Dst,I.Org,I.Lprev.Org)>=0);)t=g.connect(I,I.Lprev),I=t.Sym;I=I.Lnext}if(i.Lnext===I)throw"Mono region invalid";for(;i.Lnext.Lnext!==I;)t=g.connect(i.Lnext,i),i=t.Sym;return!0},A.prototype.tessellateInterior_=function(g){for(var e,I=g.fHead.next;I!==g.fHead;I=e)if(e=I.next,I.inside&&!this.tessellateMonoRegion_(g,I))return!1;return!0},A.prototype.discardExterior_=function(g){for(var e,I=g.fHead.next;I!==g.fHead;I=e)e=I.next,I.inside||g.zapFace(I)},A.prototype.setWindingNumber_=function(g,e,I){for(var i,t=g.eHead.next;t!==g.eHead;t=i)i=t.next,t.Rface.inside!==t.Lface.inside?t.winding=t.Lface.inside?e:-e:I?g.delete(t):t.winding=0},A.prototype.getNeighbourFace_=function(g){return!g.Rface||!g.Rface.inside?-1:g.Rface.n},A.prototype.outputPolymesh_=function(g,e,I,i){var t,C=0,o=0,a;I>3&&g.mergeConvexFaces(I);for(var r=g.vHead.next;r!==g.vHead;r=r.next)r.n=-1;for(var s=g.fHead.next;s!==g.fHead;s=s.next)if(s.n=-1,!!s.inside){t=s.anEdge,a=0;do{var r=t.Org;r.n===-1&&(r.n=o,o++),a++,t=t.Lnext}while(t!==s.anEdge);if(a>I)throw"Face vertex greater that support polygon";s.n=C,++C}this.elementCount=C,e===it.CONNECTED_POLYGONS&&(C*=2),this.elements=[],this.elements.length=C*I,this.vertexCount=o,this.vertices=[],this.vertices.length=o*i,this.vertexIndices=[],this.vertexIndices.length=o;for(var r=g.vHead.next;r!==g.vHead;r=r.next)if(r.n!==-1){var B=r.n*i;this.vertices[B+0]=r.coords[0],this.vertices[B+1]=r.coords[1],i>2&&(this.vertices[B+2]=r.coords[2]),this.vertexIndices[r.n]=r.idx}for(var Q=0,s=g.fHead.next;s!==g.fHead;s=s.next)if(s.inside){t=s.anEdge,a=0;do{var r=t.Org;this.elements[Q++]=r.n,a++,t=t.Lnext}while(t!==s.anEdge);for(var n=a;n<I;++n)this.elements[Q++]=-1;if(e===it.CONNECTED_POLYGONS){t=s.anEdge;do this.elements[Q++]=this.getNeighbourFace_(t),t=t.Lnext;while(t!==s.anEdge);for(var E=a;E<I;++E)this.elements[Q++]=-1}}},A.prototype.outputContours_=function(g,e){var I,i,t=0,C=0;this.vertexCount=0,this.elementCount=0;for(var o=g.fHead.next;o!==g.fHead;o=o.next)if(o.inside){i=I=o.anEdge;do this.vertexCount++,I=I.Lnext;while(I!==i);this.elementCount++}this.elements=[],this.elements.length=this.elementCount*2,this.vertices=[],this.vertices.length=this.vertexCount*e,this.vertexIndices=[],this.vertexIndices.length=this.vertexCount;var a=0,r=0,s=0;t=0;for(var o=g.fHead.next;o!==g.fHead;o=o.next)if(o.inside){C=0,i=I=o.anEdge;do this.vertices[a++]=I.Org.coords[0],this.vertices[a++]=I.Org.coords[1],e>2&&(this.vertices[a++]=I.Org.coords[2]),this.vertexIndices[r++]=this.vertexIdCallback?this.vertexIdCallback(I):I.Org.idx,C++,I=I.Lnext;while(I!==i);this.elements[s++]=t,this.elements[s++]=C,t+=C}},A.prototype.addContour=function(g,e){this.mesh===null&&(this.mesh=new jR),g<2&&(g=2),g>3&&(g=3);for(var I=null,i=0;i<e.length;i+=g)I===null?(I=this.mesh.makeEdge(),this.mesh.splice(I,I.Sym)):(this.mesh.splitEdge(I),I=I.Lnext),I.Org.coords[0]=e[i+0],I.Org.coords[1]=e[i+1],g>2?I.Org.coords[2]=e[i+2]:I.Org.coords[2]=0,I.Org.idx=this.vertexIndexCounter++,this.edgeCreateCallback&&this.edgeCreateCallback(I),I.winding=1,I.Sym.winding=-1},A.prototype.tesselate=function(g,e,I,i,t,C){if(g===void 0&&(g=PI.ODD),e===void 0&&(e=it.POLYGONS),C===void 0&&(C=!0),this.vertices=[],this.elements=[],this.vertexIndices=[],this.vertexIndexCounter=0,t&&(this.normal[0]=t[0],this.normal[1]=t[1],this.normal[2]=t[2]),this.windingRule=g,i<2&&(i=2),i>3&&(i=3),!this.mesh)return!1;this.projectPolygon_(),miA.computeInterior(this,C);var o=this.mesh;return e===it.BOUNDARY_CONTOURS?this.setWindingNumber_(o,1,!0):this.tessellateInterior_(o),C&&o.check(),e===it.BOUNDARY_CONTOURS?this.outputContours_(o,i):this.outputPolymesh_(o,e,I,i),!0},A}();function EB(A){var g=A.windingRule,e=g===void 0?PI.ODD:g,I=A.elementType,i=I===void 0?it.POLYGONS:I,t=A.polySize,C=t===void 0?3:t,o=A.vertexSize,a=o===void 0?2:o,r=A.normal,s=r===void 0?[0,0,1]:r,B=A.contours,Q=B===void 0?[]:B,n=A.strict,E=n===void 0?!0:n,l=A.debug,h=l===void 0?!1:l;if(!Q&&E)throw new Error("Contours can't be empty");if(Q){var u=new MiA;A.edgeCreateCallback&&(u.edgeCreateCallback=A.edgeCreateCallback),A.vertexIdCallback&&(u.vertexIdCallback=A.vertexIdCallback);for(var D=0;D<Q.length;D++)u.addContour(a||2,Q[D]);return u.tesselate(e,i,C,a,s,E),{vertices:u.vertices,vertexIndices:u.vertexIndices,vertexCount:u.vertexCount,elements:u.elements,elementCount:u.elementCount,mesh:h?u.mesh:void 0}}}var phA=PI.ODD,yhA=PI.NONZERO,whA=PI.POSITIVE,fhA=PI.NEGATIVE,ShA=PI.ABS_GEQ_TWO,GhA=it.POLYGONS,mhA=it.CONNECTED_POLYGONS,MhA=it.BOUNDARY_CONTOURS,lS=class{constructor(A=256,g=!1){this.capacity=A,this.size=0,this.debug=g,this.debug&&console.log(`allocating with cap ${A}`);let e=A*lS.eSize;this.buffer=new ArrayBuffer(e);let I=Float32Array.BYTES_PER_ELEMENT,i=0;this.positions=new Float32Array(this.buffer,i*I,3*A),i+=3*A,this.normals=new Float32Array(this.buffer,i*I,3*A),i+=3*A,this.uvs=new Float32Array(this.buffer,i*I,2*A)}realloc(A,g=!1){if(A<this.size)throw Error("cannot shrink buffer");if(A<=this.capacity&&!g)return;this.debug&&console.log(`resizing from ${this.capacity} \u2192 ${A}`);let e=A*lS.eSize,I=new ArrayBuffer(e),i=Float32Array.BYTES_PER_ELEMENT,t=0,C=new Float32Array(I,t*i,3*A);t+=3*A;let o=new Float32Array(I,t*i,3*A);t+=3*A;let a=new Float32Array(I,t*i,2*A);g?(C.set(this.positions.subarray(0,this.size*3)),o.set(this.normals.subarray(0,this.size*3)),a.set(this.uvs.subarray(0,this.size*2))):(C.set(this.positions),o.set(this.normals),a.set(this.uvs)),this.buffer=I,this.positions=C,this.normals=o,this.uvs=a,this.capacity=A}get(A=1){let g=this.size+A;if(g>this.capacity){let I=this.capacity;for(;g>I;)I*=2;this.realloc(I)}let e=this.size;return this.size=g,e}reserve(A){let g=this.size+A;g>this.capacity&&this.realloc(g)}shrink(){this.debug&&console.log(`shrinking ${this.capacity} \u2192 ${this.size}`),this.realloc(this.size,!0)}},Tb=lS;Tb.eSize=8*Float32Array.BYTES_PER_ELEMENT;var kiA=cs(v_()),zG={vertices:[160,160,-160,160,-160,-160,160,-160],vertexIndices:[1,0,3,2],vertexCount:4,elements:[0,4],elementCount:1,mesh:void 0},Ob={vertices:[],vertexIndices:[],vertexCount:0,elements:[],elementCount:0,mesh:void 0},_b={vertices:[-160,160,160,-160,160,160,-160,-160],vertexIndices:[1,3,0,2],vertexCount:4,elements:[0,1,2,1,0,3],elementCount:2,mesh:void 0},Xw=(A,g)=>([e,I])=>(I<e&&(I+=g),(A>=e?A:A+g)<=I),VG=class extends se{constructor(A,g,e=0,I=12,i=3,t=PI.ODD,C=!1){super(),this.forPathBevel=C,this.type="ShapeGeometry",this.vertexCache={},this._shape=A,this._depth=g,this._curveSegments=I,this._bevelSegmentsInput=i;let o=this._shape.extractShapePointsToFlatArray([],I),a=this._shape.shapeHoles.map(R=>{let J=R.extractShapePointsToFlatArray([],I),q=[];for(let T=J.length-1;T>=1;T-=2){let P=J[T-1],H=J[T-0];q.push(P,H)}return q}),r=[],s=[];for(let R=0;R<o.length;R+=2)s.push([o[R],o[R+1]]);r.push(s);for(let R=0;R<a.length;R++){let J=a[R],q=[];for(let T=0;T<J.length;T+=2)q.push([J[T],J[T+1]]);r.push(q)}let B;A.isText?B=new Cq().setFromPoints(A.points.map(R=>R.position)).getSize(new mA).length()*.1:r[0].length===0?B=e:B=(0,kiA.default)(r).distance,e<=0?(this._bevel=0,this._bevelSegments=0):(this._bevel=Math.min(e,B,g/2),this._bevelSegments=Math.floor(i));let Q;try{Q=EB({windingRule:t,elementType:it.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[o]})}catch{Q=zG}let n;try{n=EB({windingRule:PI.ODD,elementType:it.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[...a]})}catch{n=Ob}if(!Q)throw new Error("error generating geometry");let E=Q.elementCount;if(n){Q.elementCount+=n.elementCount;for(let R=0;R<n.elements.length;R++){let J=n.elements[R],q=R%2===0?Q.vertexCount:0;Q.elements.push(J+q)}for(let R=0;R<n.vertexIndices.length;R++){let J=n.vertexIndices[R],q=Q.vertexCount;Q.vertexIndices.push(J+q)}for(let R=0;R<n.vertices.length;R++){let J=n.vertices[R];Q.vertices.push(J)}}let l=1/0,h=-1/0,u=1/0,D=-1/0;for(let R=0,J=Q.vertexCount;R<J;R++){let q=R*2,T=Q.vertices[q+0],P=Q.vertices[q+1];T<l&&(l=T),T>h&&(h=T),P<u&&(u=P),P>D&&(D=P)}this._minX=l,this._minY=u,this._width=h-l,this._height=D-u,this._buffer=new Tb(this._computeBufferEstimatedSize(Q));let p=[],w=[];for(let R=Q.elementCount-1;R>=0;R--){let J=R>=E,q=R*2,T=Q.elements[q+0],P=Q.elements[q+1],H=T+P,eA={start:T,count:P,normals:[],continuous:[],concave:[]},rA=T,BA=H-1,aA=T+1,yA=this._shape.roundedCurves.length;do{let kA=rA-T,UA=Q.vertices[BA*2+0],GA=Q.vertices[BA*2+1],zA=Q.vertices[rA*2+0],KA=Q.vertices[rA*2+1],LA=Q.vertices[aA*2+0],YA=Q.vertices[aA*2+1],sg=zA-UA,$A=KA-GA,VA=Math.sqrt(sg*sg+$A*$A);sg/=VA,$A/=VA;let vg=zA-LA,Gg=KA-YA,Ng=Math.sqrt(vg*vg+Gg*Gg);vg/=Ng,Gg/=Ng,eA.normals[kA*2+0]=-Gg,eA.normals[kA*2+1]=vg,eA.concave[kA]=sg*Gg-$A*vg>0;let Kg=Q.vertexIndices[rA];if(Array.isArray(Kg))eA.continuous[kA]=!1;else{let[mg,Sg]=this._shape.getCurveIndexFromVertexId(Kg-1,!0);if(Sg>0&&Sg<1)eA.continuous[kA]=!0;else{let Ae=Sg===1?mg+1:mg-1;Ae=(Ae+yA)%yA;let Mg=Sg===1?0:1,sA=this._shape.roundedCurves[mg].getTangent(Sg),CA=this._shape.roundedCurves[Ae].getTangent(Mg);eA.continuous[kA]=sA.dot(CA)>.95}}J&&(eA.normals[kA*2+0]*=-1,eA.normals[kA*2+1]*=-1),[BA,rA,aA]=[rA,aA,aA+1],aA>=H&&(aA-=P)}while(aA!==T+1);let SA=[];SA.push({bevelI:0,angle:0,size:0,boundary:{vertices:Q.vertices.slice(T*2,H*2),vertexCount:P,vertexIndices:new Array(P).fill(!0).map((kA,UA)=>[UA,UA]),elements:[0,P],elementCount:1,mesh:null},reverseMap:[],insetPoints:Q.vertices.slice(T*2,H*2)});let pA=0;for(let kA=1;kA<=this._bevelSegments;kA++){let UA=kA/this._bevelSegments*Math.PI/2,GA=(1-Math.cos(UA))*this._bevel,zA=[],KA=[],LA=[],YA=[],sg=0;for(let VA=0;VA<P;VA++){let vg=VA*2,Gg=(VA-1+P)%P*2,Ng=Q.vertices[eA.start*2+vg+0],Kg=Q.vertices[eA.start*2+vg+1],mg=-eA.normals[Gg+0]*GA,Sg=-eA.normals[Gg+1]*GA,Ae=-eA.normals[vg+0]*GA,Mg=-eA.normals[vg+1]*GA;if(eA.concave[VA]||!eA.concave[VA]&&J){let sA=Math.atan2(Sg,mg),CA=Math.atan2(Mg,Ae);CA>sA&&(CA-=Math.PI*2);let OA=CA-sA;if(eA.continuous[VA]||J){let dg=sA+OA/2,X=Math.cos(dg)*GA,eg=Math.sin(dg)*GA;zA[2*sg+0]=Ng+X*(J?-1:1),zA[2*sg+1]=Kg+eg*(J?-1:1),YA[sg]=VA,sg++}else{let dg=Math.max(1,Math.floor(I/4*Math.abs(OA)/Math.PI));for(let X=0;X<=dg;X++){let eg=sA+OA*(X/dg),Og=Math.cos(eg)*GA,Eg=Math.sin(eg)*GA;zA[2*sg+0]=Ng+Og,zA[2*sg+1]=Kg+Eg,YA[sg]=VA,sg++}}}else zA[2*sg+0]=Ng+mg,zA[2*sg+1]=Kg+Sg,YA[sg]=VA,KA[VA]=sg,sg++,zA[2*sg+0]=Ng,zA[2*sg+1]=Kg,YA[sg]=VA,sg++,zA[2*sg+0]=Ng+Ae,zA[2*sg+1]=Kg+Mg,YA[sg]=VA,LA[VA]=sg,sg++}let $A=EB({windingRule:PI.POSITIVE,elementType:it.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[zA],edgeCreateCallback:VA=>{let vg=VA.Org.idx,Gg=YA[vg],Ng=YA[(vg+1)%YA.length];VA.idx=[Gg,Ng],VA.Sym.idx=[Ng,Gg]},vertexIdCallback:VA=>{let vg=VA.Lprev.idx;return[vg?vg[1]:0,VA.idx?VA.idx[0]:0]}});if(!$A)throw console.log("Error"),new Error(`error generating bevel geometry for ${kA}'th loop`);if(!$A.vertexCount){let VA=(kA-1)/this._bevelSegments*Math.PI/2;pA=(1-Math.sin(VA))*this._bevel;break}for(let VA=0;VA<$A.vertexIndices.length;VA++){let[vg,Gg]=$A.vertexIndices[VA];if(vg===Gg)continue;let Ng=Gg;Gg<vg&&(Ng+=P);for(let Kg=vg;Kg<Ng;Kg++){let mg=Kg%P,Sg=(Kg+1)%P;if(!eA.continuous[mg]||!eA.continuous[Sg]){$A.vertexIndices[VA]=[vg,mg],$A.vertexIndices.splice(VA+1,0,[Sg,Gg]),$A.vertices.splice((VA+1)*2,0,$A.vertices[VA*2],$A.vertices[VA*2+1]);break}}}SA.push({bevelI:kA,angle:UA,size:GA,boundary:$A,reverseMap:YA,insetPoints:zA})}let wA=(kA,UA,GA)=>{let zA=0,KA=kA.boundary.vertexIndices.length;for(;zA<KA&&GA(kA.boundary.vertexIndices[UA]);)UA=(UA+1)%KA,zA++;return zA},RA=p.length;for(let kA=1;kA<SA.length;kA++){let UA=SA[kA-1],GA=SA[kA],zA=UA.boundary.vertexIndices.length,KA=GA.boundary.vertexIndices.length;if(!zA||!KA)break;let LA=eA.concave.length,YA=0,sg=Xw(YA,P);for(;!UA.boundary.vertexIndices.filter(sg).length||!GA.boundary.vertexIndices.filter(sg).length;)YA++,sg=Xw(YA,P);let $A=UA.boundary.vertexIndices.findIndex(sg),VA=GA.boundary.vertexIndices.findIndex(sg);do $A=($A+1)%zA;while(sg(UA.boundary.vertexIndices[$A]));do VA=(VA+1)%KA;while(sg(GA.boundary.vertexIndices[VA]));YA=(YA+1)%P;let vg=YA,Gg=0,Ng=this._buildBevelVert(eA,UA,($A-1+zA)%zA,void 0,Gg),Kg=this._buildBevelVert(eA,GA,(VA-1+KA)%KA,void 0,Gg),mg=Ng,Sg=Kg,Ae,Mg,sA=!1;do{Gg=(YA||LA)/LA,sg=Xw(YA,P);let CA=wA(UA,$A,sg),OA=wA(GA,VA,sg),dg=sA;if(sA=!1,CA&&!OA){for(let X=0;X<CA;X++)Ae=this._buildBevelVert(eA,UA,($A+X)%zA,X/(CA-1),Gg),p.push(mg.topN,Ae.topP,Sg.topN),C===!1&&p.push(Ae.bottomP,mg.bottomN,Sg.bottomN),mg=Ae;sA=!0}else if(!CA&&OA)for(let X=0;X<OA;X++)Mg=this._buildBevelVert(eA,GA,(VA+X)%KA,X/(OA-1),Gg),p.push(Sg.topN,mg.topP,Mg.topP),C===!1&&p.push(mg.bottomP,Sg.bottomN,Mg.bottomP),Sg=Mg;else if(CA&&OA)if(Ae=this._buildBevelVert(eA,UA,$A,0,Gg),Mg=this._buildBevelVert(eA,GA,VA,0,Gg),dg?(p.push(mg.topN,Mg.topP,Sg.topN),p.push(mg.topN,Ae.topP,Mg.topP),C===!1&&(p.push(Mg.bottomP,mg.bottomN,Sg.bottomN),p.push(Mg.bottomP,Ae.bottomP,mg.bottomN))):(p.push(Sg.topN,mg.topN,Ae.topP),p.push(Sg.topN,Ae.topP,Mg.topP),C===!1&&(p.push(Ae.bottomP,mg.bottomN,Sg.bottomN),p.push(Ae.bottomP,Sg.bottomN,Mg.bottomP))),mg=Ae,Sg=Mg,CA===OA)for(let X=1;X<CA;X++)Ae=this._buildBevelVert(eA,UA,($A+X)%zA,X/(CA-1),Gg),Mg=this._buildBevelVert(eA,GA,(VA+X)%KA,X/(OA-1),Gg),p.push(mg.topN,Ae.topP,Sg.topN),p.push(Sg.topN,Ae.topP,Mg.topP),C===!1&&(p.push(Ae.bottomP,mg.bottomN,Sg.bottomN),p.push(Ae.bottomP,Sg.bottomN,Mg.bottomP)),mg=Ae,Sg=Mg;else if(CA>OA){let X=CA/OA,eg=0;for(let Og=1;Og<CA;Og++)Ae=this._buildBevelVert(eA,UA,($A+Og)%zA,Og/(CA-1),Gg),p.push(mg.topN,Ae.topP,Sg.topN),C===!1&&p.push(Ae.bottomP,mg.bottomN,Sg.bottomN),mg=Ae,Og>(eg+1)*X&&(eg++,Mg=this._buildBevelVert(eA,GA,(VA+eg)%KA,eg/(OA-1),Gg),p.push(Sg.topN,Ae.topP,Mg.topP),C===!1&&p.push(Ae.bottomP,Sg.bottomN,Mg.bottomP),Sg=Mg)}else{let X=OA/CA,eg=0;for(let Og=1;Og<OA;Og++)Mg=this._buildBevelVert(eA,GA,(VA+Og)%KA,Og/(OA-1),Gg),p.push(Sg.topN,Ae.topP,Mg.topP),C===!1&&p.push(Ae.bottomP,Sg.bottomN,Mg.bottomP),Sg=Mg,Og>(eg+1)*X&&(eg++,Ae=this._buildBevelVert(eA,UA,($A+eg)%zA,eg/(CA-1),Gg),p.push(mg.topN,Ae.topP,Sg.topN),C===!1&&p.push(Ae.bottomP,mg.bottomN,Sg.bottomN),mg=Ae)}$A=($A+CA)%zA,VA=(VA+OA)%KA,YA=(YA+1)%LA}while(YA!==vg)}if(C===!1&&this._depth>this._bevel*2&&this._buildWall(SA,eA,p),J){let kA=[];for(let UA=p.length-1;UA>=RA+2;UA-=3){let GA=p[UA-2],zA=p[UA-1],KA=p[UA-0];kA.push(KA,zA,GA)}p.splice(RA,p.length-RA,...kA)}if(J){let kA=[];for(let UA=SA[SA.length-1].boundary.vertices.length-1;UA>=1;UA-=2){let GA=SA[SA.length-1].boundary.vertices[UA-1],zA=SA[SA.length-1].boundary.vertices[UA-0];kA.push(GA,zA)}w.push(kA)}if(!J){let kA=SA[SA.length-1],UA;try{UA=EB({windingRule:SA.length>1?PI.POSITIVE:PI.ODD,elementType:it.POLYGONS,vertexSize:2,strict:!0,contours:[kA.insetPoints,...w]})}catch{UA=_b}if(!UA)throw new Error("Error generating geometry for surface");a.length===0&&this._bevel<B&&Object.assign(this,{useNgonForTopBottomFaceDuringBake:!0});for(let GA=0;GA<UA.elementCount*3;GA+=3){let zA=this._buildSurfaceVert(UA,UA.elements[GA+0],pA),KA=this._buildSurfaceVert(UA,UA.elements[GA+1],pA),LA=this._buildSurfaceVert(UA,UA.elements[GA+2],pA);p.push(zA.top,KA.top,LA.top),C===!1&&p.push(LA.bottom,KA.bottom,zA.bottom)}}this.vertexCache={}}this._buffer.shrink();let k=new Se(Uint32Array.from(p),1),U=new Se(this._buffer.positions,3),N=new Se(this._buffer.normals,3),G=new Se(this._buffer.uvs,2);U.needsUpdate=!0,N.needsUpdate=!0,G.needsUpdate=!0,k.needsUpdate=!0,this.setAttribute("position",U),this.setAttribute("normal",N),this.setAttribute("uv",G),this.setIndex(k)}_computeBufferEstimatedSize(A){return A.vertexCount*2*(2+this._bevelSegments)}_buildWall(A,g,e){let I=A[0];for(let i=0,t=I.boundary.vertexCount;i<t;i++){let C=this._buildBevelVert(g,I,i),o=this._buildBevelVert(g,I,(i+1)%t);e.push(o.topP,C.topN,C.bottomN),e.push(o.topP,C.bottomN,o.bottomP)}}_buildSurfaceVert(A,g,e){let I=g.toString();if(I in this.vertexCache)return this.vertexCache[I];let i=A.vertices[g*2+0],t=A.vertices[g*2+1],C=(i-this._minX)/this._width,o=(t-this._minY)/this._height;this.forPathBevel&&(o=1);let a=this._buffer.get(this.forPathBevel?1:2),r=a*3,s=a*2,B={top:a+0,bottom:a+1};return this._buffer.positions[r+0]=i,this._buffer.positions[r+1]=t,this._buffer.positions[r+2]=this.forPathBevel?this._bevel:this._depth-e,this._buffer.normals[r+0]=0,this._buffer.normals[r+1]=0,this._buffer.normals[r+2]=1,this._buffer.uvs[s+0]=C,this._buffer.uvs[s+1]=o,this.forPathBevel===!1&&(this._buffer.positions[r+3]=i,this._buffer.positions[r+4]=t,this._buffer.positions[r+5]=e,this._buffer.normals[r+3]=0,this._buffer.normals[r+4]=0,this._buffer.normals[r+5]=-1,this._buffer.uvs[s+2]=C,this._buffer.uvs[s+3]=o),this.vertexCache[I]=B,B}_buildBevelVert(A,g,e,I=1,i){let t=`${g.bevelI}:${e}`;if(t in this.vertexCache&&i!==0&&i!==1&&(!i||i===this.vertexCache[t].pathBevelUCoord))return this.vertexCache[t];let[C,o]=g.boundary.vertexIndices[e],a,r,s,B;C!==o?(r=C,a=o,B=!1,s=A.continuous[r]&&A.continuous[a]):(a=C,r=(a-1+A.count)%A.count,B=A.concave[a]&&g.bevelI>0,s=A.continuous[a]||B);let Q=Math.cos(g.angle),n=Math.sin(g.angle),E=e*2,l=a*2,h=r*2,u=g.boundary.vertices[E+0],D=g.boundary.vertices[E+1],p=(1-n)*this._bevel,w=(u-this._minX)/this._width,k=(D-this._minY)/this._height;this.forPathBevel&&(i!==void 0&&(w=i),k=1);let U=A.normals[l+0],N=A.normals[l+1],G=A.normals[h+0],R=A.normals[h+1];if(B){let H=G-U,eA=R-N;U=U+H*(1-I),N=N+eA*(1-I);let rA=Math.sqrt(U*U+N*N);U/=rA,N/=rA}let J=this.forPathBevel?this._buffer.get(s?1:2):this._buffer.get(s?2:4),q=J*3,T=J*2,P={i:e,fi:a,topP:J+0,topN:J+0,bottomP:J+1,bottomN:J+1,pathBevelUCoord:i};return this._buffer.positions[q+0]=u,this._buffer.positions[q+1]=D,this._buffer.positions[q+2]=(this.forPathBevel?this._bevel:this._depth)-p,this._buffer.normals[q+0]=U*Q,this._buffer.normals[q+1]=N*Q,this._buffer.normals[q+2]=n,this._buffer.uvs[T+0]=w,this._buffer.uvs[T+1]=k,this.forPathBevel===!1&&(this._buffer.positions[q+3]=u,this._buffer.positions[q+4]=D,this._buffer.positions[q+5]=p,this._buffer.normals[q+3]=U*Q,this._buffer.normals[q+4]=N*Q,this._buffer.normals[q+5]=-n,this._buffer.uvs[T+2]=k,this._buffer.uvs[T+3]=w),s||(this.forPathBevel?(J+=1,q+=3,T+=2):(J+=2,q+=6,T+=4),P.topP=J+0,P.bottomP=J+1,this._buffer.positions[q+0]=u,this._buffer.positions[q+1]=D,this._buffer.positions[q+2]=(this.forPathBevel?this._bevel:this._depth)-p,this._buffer.normals[q+0]=G*Q,this._buffer.normals[q+1]=R*Q,this._buffer.normals[q+2]=n,this._buffer.uvs[T+0]=w,this._buffer.uvs[T+1]=k,this.forPathBevel===!1&&(this._buffer.positions[q+3]=u,this._buffer.positions[q+4]=D,this._buffer.positions[q+5]=p,this._buffer.normals[q+3]=G*Q,this._buffer.normals[q+4]=R*Q,this._buffer.normals[q+5]=-n,this._buffer.uvs[T+2]=k,this._buffer.uvs[T+3]=w)),this.vertexCache[t]=P,P}clone(){let A=new VG(this._shape,this._depth,this._bevel,this._curveSegments,this._bevelSegmentsInput);return A.userData=Rp(this.userData),A}},Pb=class extends se{constructor(A,g=12,e={}){super(),this.type="ShapeGeometry",this.windingRule=PI.ODD,this.elementType=it.POLYGONS,this.polySize=3,this.vertexSize=2,this.strict=!0,this._shape=A,this._curveSegments=g,this._triangulationOptions=Object.assign({windingRule:PI.ODD,elementType:it.POLYGONS,polySize:3,vertexSize:2,strict:!0},e);let I=this._shape.extractShapePointsToFlatArray([],this._curveSegments),i=this._shape.shapeHoles.map(Q=>Q.extractShapePointsToFlatArray([],this._curveSegments)),t,C=!0,o=!0,a,r;for(let Q=0,n=I.length/2;Q<n;Q++){let E=Q*2,l=I[E+0],h=I[E+1];if(a!==void 0&&l!==a&&(C=!1),r!==void 0&&h!==r&&(o=!1),a=l,r=h,!C&&!o)break}if(!C&&!o)try{t=EB({contours:[I,...i],windingRule:this._triangulationOptions.windingRule,elementType:this._triangulationOptions.elementType,polySize:this._triangulationOptions.polySize,vertexSize:this._triangulationOptions.vertexSize,strict:this._triangulationOptions.strict})}catch{t=zG}let s=t?.vertexCount??1,B=t?.elementCount??1;if(this._positionAttribute=new Se(new Float32Array(s*3),3),this._normalAttribute=new Se(new Float32Array(s*3),3),this._uvAttribute=new Se(new Float32Array(s*2),2),this._indexAttribute=new Se(new Uint32Array(B*3),1),t){let Q=1/0,n=-1/0,E=1/0,l=-1/0;for(let D=0,p=s;D<p;D++){let w=D*2,k=t.vertices[w+0],U=t.vertices[w+1];k<Q&&(Q=k),k>n&&(n=k),U<E&&(E=U),U>l&&(l=U)}let h=n-Q,u=l-E;for(let D=0,p=s;D<p;D++){let w=D*2,k=t.vertices[w+0],U=t.vertices[w+1],N=(k-Q)/h,G=(U-E)/u;this._positionAttribute.setXYZ(D,k,U,0),this._normalAttribute.setXYZ(D,0,0,1),this._uvAttribute.setXY(D,N,G)}for(let D=0,p=B;D<p;D++){let w=D*3,k=t.elements[w+0],U=t.elements[w+1],N=t.elements[w+2];this._indexAttribute.setX(w+0,k),this._indexAttribute.setX(w+1,U),this._indexAttribute.setX(w+2,N)}}this.setAttribute("position",this._positionAttribute),this.setAttribute("normal",this._normalAttribute),this.setAttribute("uv",this._uvAttribute),this.setIndex(this._indexAttribute),this.setDrawRange(0,(t?.elementCount??1)*3)}clone(){let A=new Pb(this._shape,this._curveSegments);return A.userData=Rp(this.userData),A}},jb=class extends VG{constructor(A,g,e=0,I=12,i=3,t=PI.ODD){super(A,g,e,I,i,t),this.type="ShapeGeometry"}_computeBufferEstimatedSize(A){return A.vertexCount*2*(2+this._bevelSegments)}_buildWall(A,g,e){let I=A[0];for(let i=0,t=I.boundary.vertexCount;i<t;i++){let C=this._buildBevelVert(g,I,i),o=this._buildBevelVert(g,I,(i+1)%t);e.push(o.topP,C.topN,C.bottomN),e.push(o.topP,C.bottomN,o.bottomP)}}clone(){let A=new jb(this._shape,this._depth,this._bevel,this._curveSegments,this._bevelSegmentsInput);return A.userData=Rp(this.userData),A}},qQ=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,subdivisions:40,roundness:0,extrudeBevelSize:0,extrudeBevelSegments:3,windingRule:PI.ODD},A.parameters),I=Math.abs(e.width),i=Math.abs(e.height??e.width),t=Math.abs(e.depth??0),C=A.shape??g?.shape,o=C?.roundness??e.roundness;C!==void 0&&(C instanceof Ri?(C.width!==I||C.height!==i)&&C.applySize(I,i):C=new Ri(I,i).fromJSON(C),A.parameters?.roundness!==void 0&&A.parameters?.roundness>0&&C.update());let a=C??new Ri(I,i);return{parameters:Object.assign(e,{width:I,height:i,depth:t,roundness:o}),shape:a}}static build(A){let{depth:g,extrudeBevelSize:e,extrudeBevelSegments:I,subdivisions:i,roundness:t,windingRule:C}=A.parameters;A.shape.roundness=t;let o;return g<=0?o=new Pb(A.shape,i,{windingRule:C}):o=new jb(A.shape,g,e,i,I,C),Object.assign(o,{userData:{...A,type:"VectorGeometry"}})}},Wb=Math.PI*2,ZG=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,depth:0,spikes:64,angle:360,innerRadius:0,extrudeBevelSize:0,extrudeBevelSegments:1},A.parameters);return e.angle=Xg.clamp(e.angle,0,360),{shape:A.shape&&A.shape instanceof Ri?A.shape:new Ri,parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??0)})}}static build(A){let{width:g,height:e,spikes:I,angle:i,innerRadius:t,depth:C,extrudeBevelSize:o,extrudeBevelSegments:a}=A.parameters,r=A.shape,s=g*.5,B=e*.5,Q=UiA(r,s,B,i*Math.PI/180,I,t);r.isClosed=!0,r.update();let n;return i===0?(n=new se,n.setAttribute("position",new _g([],3))):n=qQ.create({shape:r,parameters:{subdivisions:Q,depth:C,extrudeBevelSize:o,extrudeBevelSegments:a}}),Object.assign(n,{userData:{...A,type:"EllipseGeometry"}})}};function UiA(A,g,e,I,i,t){if(I>=Wb)return i>30||i%4===0?(FiA(A,g,e,t),Math.round(i/4)):ZR(A,I,i,g,e,t);I=Math.max(I,.001);let C={x:0,y:e},o=I+Math.PI*.5,a={x:Math.cos(o)*g,y:Math.sin(o)*e},r=fiA({px:C.x,py:C.y,cx:a.x,cy:a.y,rx:g,ry:e,largeArcFlag:I>Math.PI,sweepFlag:!0});return i>30||i%r.length===0?NiA(A,C.x,C.y,r,i,g,e,t):ZR(A,I,i,g,e,t)}function NiA(A,g,e,I,i,t,C,o){let a=Math.round(i/I.length);A.addPoint(yE(g,e));for(let r=0,s=I.length;r<s;r++){let B=I[r],Q=A.points[r],n=yE(B.x,B.y);Q.controls[1].position.set(B.x1,B.y1),n.controls[0].position.set(B.x2,B.y2),A.addPoint(n)}return o>0?zb(A,t,C,o):A.addPoint(yE(0,0)),a}function ZR(A,g,e,I,i,t){let C=-g/e;for(let o=0;o<=e;o++){let a=C*o,r=Math.sin(a)*I,s=Math.cos(a)*i;A.addPoint(yE(r,s))}return g<Wb?t>0?zb(A,I,i,t):A.addPoint(yE(0,0)):(A.removePoint(A.points[A.points.length-1]),t>0&&Vb(A,I,i,t)),1}function FiA(A,g,e,I=0,i=0,t=0){let C=.5522847498,o=g*C,a=e*C;A.addPoint(mu(i-g,t,i-g,t-a,i-g,t+a)),A.addPoint(mu(i,t+e,i-o,t+e,i+o,t+e)),A.addPoint(mu(i+g,t,i+g,t+a,i+g,t-a)),A.addPoint(mu(i,t-e,i+o,t-e,i-o,t-e)),I>0&&Vb(A,g,e,I)}function yE(A,g){return new pE(Xg.generateUUID(),new mA(A,g))}function mu(A,g,e,I,i,t){let C=yE(A,g);return C.controls[0].position.set(e,I),C.controls[1].position.set(i,t),C}function zb(A,g,e,I){Zb(A,g,e,I).forEach(i=>A.addPoint(i))}function Vb(A,g,e,I){let i=Zb(A,g,e,I),t=new Ri;i.forEach(C=>t.addPoint(C)),t.isClosed=!0,A.shapeHoles.push(t)}function Zb(A,g,e,I){let i=I*g/100,t=i*(Math.abs(e)/Math.abs(g)),C=new mA(i/g,t/e),o=A.points.map(a=>{let r=a.clone();return r.uuid=Xg.generateUUID(),r}).reverse();return o.forEach(a=>{a.position.multiply(C);let r=a.controls[0].position.clone().multiply(C),s=a.controls[1].position.clone().multiply(C);a.controls[0].position.copy(s),a.controls[1].position.copy(r)}),o}var RiA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,revolutions:2,segments:40,pathRadius:10,pathType:0,pathSegments:30,cornerRadius:30,cornerSegments:4},A.parameters),I=Math.abs(e.width),i=Math.abs(e.height??I),t=Math.abs(e.depth??I),C=Math.abs(Math.min(I,t))/2;return{parameters:Object.assign(e,{width:I,height:i,depth:t,radius:C,segments:Math.round(e.segments),pathSegments:Math.round(e.pathSegments),cornerSegments:Math.round(e.cornerSegments)})}}static build(A){let{width:g,height:e,depth:I,radius:i,revolutions:t,segments:C,pathRadius:o,pathType:a,pathSegments:r,cornerRadius:s,cornerSegments:B}=A.parameters,Q=new Xb(!1,g,e,I,i,t,C,o,a,r,s,B);return Object.assign(Q,{userData:{...A,type:"HelixGeometry"}})}},$w=new EE([0,0,0],1),Xb=class extends se{constructor(A=!0,g=1,e=1,I=1,i=1,t=1,C=1,o=1,a=1,r=1,s=1,B=1){if(super(),t===0)return;let Q=A&&t===1;Q&&(B=0),s>100&&(s=100),s===0&&(B=0);let n=()=>new x,E=new x,l=n(),h=n(),u=n(),D,p,w,k,U,N,G,R,J=n(),q=n(),T=n(),P=n(),H=n(),eA=n(),rA=n(),BA=n(),aA=e-2*o+.001,yA=aA/t,SA=Math.ceil(C*t),pA=SA+1,wA=aA/SA,RA=-aA/2,kA=r+1,UA=2*Math.PI/r,GA=Math.PI/2/B,zA=.01,KA=Math.min((1-s/100)*o,o-zA),LA=o-KA,YA=0,sg=2,$A=B*sg+sg,VA=kA*$A/sg,vg=VA+kA*pA,Gg=Math.max(0,kA*(pA+$A)),[Ng,Kg,mg]=[3,3,2].map(Cg=>Array(Gg*Cg).fill(0)),Sg=[],Ae=i-o;function Mg(Cg,Yg){let kg=Math.PI/2;N=Yg*wA,R=2*Math.PI*(N%yA)/yA+kg,N+=RA,G=Math.sin(R)*Ae,U=Math.cos(R)*Ae,A?Cg.set(U,G,N):Cg.set(U,N,G)}Mg(E,-1e-10),Mg(l,0),J.copy(E),Mg(E,1);let sA=E.distanceTo(l),CA=Q?0:LA+KA,OA=sA*SA+2*CA,dg=KA,X=OA-CA;for(let Cg=0;Cg<=SA;Cg++){Mg(h,Cg),BA.subVectors(h,J).normalize(),J.copy(h),eA.copy(h).setComponent(+A+1,0).normalize(),rA.crossVectors(BA,eA).normalize();let Yg=Cg===0,kg=Cg===SA,Pg=Yg?3*Math.PI/2:GA,Ie=Yg?dg:X,Ke=Yg?kA:vg,Je=Yg?0:Gg-kA,xe=BA.clone().multiplyScalar(Yg?-LA:LA).add(h),FA=BA.clone().multiplyScalar(Yg?-1:1).normalize();for(let ZA=0;ZA<kA;ZA++){let pg=ZA*UA;if(q.addVectors(E.copy(eA).multiplyScalar(o*Math.cos(pg)),l.copy(rA).multiplyScalar(o*Math.sin(pg))),T.copy(q).normalize(),Yg||kg){Q||(YA=Je+ZA,[0,1,2].forEach(Dg=>{Ng[YA*3+Dg]=xe.getComponent(Dg),Kg[YA*3+Dg]=FA.getComponent(Dg)}),mg[YA*2]=+kg,mg[YA*2+1]=ZA/r),l.copy(T).multiplyScalar(KA),u.addVectors(h,l);for(let Dg=0;Dg<B;Dg++){let ge=Dg*GA+Pg;P.addVectors(E.copy(BA).multiplyScalar(LA*Math.sin(ge)),l.copy(T).multiplyScalar(LA*Math.cos(ge))),H.copy(P).normalize(),l.addVectors(u,P),P.normalize(),YA=Ke+Dg*kA+ZA,[0,1,2].forEach(gI=>{Ng[YA*3+gI]=l.getComponent(gI),Kg[YA*3+gI]=H.getComponent(gI)});let Fg=+Yg+Math.sin(ge);mg[YA*2]=(Ie+LA*Fg)/OA,mg[YA*2+1]=ZA/r}}l.addVectors(h,q),YA=VA+Cg*kA+ZA,[0,1,2].forEach(Dg=>{Ng[YA*3+Dg]=l.getComponent(Dg),Kg[YA*3+Dg]=T.getComponent(Dg)}),mg[YA*2]=(CA+Cg*sA)/OA,mg[YA*2+1]=ZA/r}}let eg=pA+2*B+sg,Og=1,[Eg,og]=[+Q,eg-1];for(let Cg=Eg;Cg<=og-1;Cg++){let Yg=Q&&Cg===og-1;for(let kg=0;kg<kA-1;kg++)D=Cg*kA+kg,p=D+1,w=(Yg?kg:D)+kA,k=(Yg?kg+1:p)+kA,Cg===0?Sg.push(p,k,w):Cg===eg-2?Sg.push(D,p,w):Sg.push(D,p,w,p,k,w)}this.setIndex(Sg),this.setAttribute("position",new _g(Ng,3)),this.setAttribute("normal",new _g(Kg,3)),this.setAttribute("uv",new _g(mg,2))}getClosedTorusIndicesForBooleanOrSubdiv(){let A=this.userData.parameters,g=Math.ceil(A.tubularSegments),e=A.radialSegments+1,I=Array.from(this.getIndex().array),i,t,C,o,a=6*(g-1)*A.radialSegments,r=g,s=r===g;for(let B=0;B<A.radialSegments;B++)i=r*e+B,t=i+1,C=(s?B:i)+e,o=(s?B+1:t)+e,I[a++]=i,I[a++]=t,I[a++]=C,I[a++]=t,I[a++]=o,I[a++]=C;return I.length=a,$w.array=I,$w.count=I.length,$w}},viA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,detail:0,corner:0,cornerSides:4},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width)})}}static build(A){let{width:g,height:e,depth:I,detail:i,corner:t,cornerSides:C}=A.parameters,o=i===0&&t!==0?new $b(g*.5,t,C):new zJ(g*.5,i);return o.scale(1,e/g,I/g),Object.assign(o,{userData:{...A,type:"IcosahedronGeometry"}})}},$b=class extends PG{constructor(A=1,g=.2,e=4){let I=(1+Math.sqrt(5))/2,i=[-1,I,0,1,I,0,-1,-I,0,1,-I,0,0,-1,I,0,1,I,0,-1,-I,0,1,-I,I,0,-1,I,0,1,-I,0,-1,-I,0,1],t=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],C="IcosahedronGeometry";super(i,t,C,A,g,e),this.type=C}static fromJSON(A){return new $b(A.radius,A.corner,A.cornerSides)}},KiA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){(A.parameters?.points??[]).forEach(I=>{Array.isArray(I)&&(I.x=I[0],I.y=I[1])});let e=Object.assign({},g?.parameters??{width:100,segments:64,verticalSegments:64,points:[{x:0,y:-50,id:0},{x:50,y:-50,id:1},{x:50,y:50,id:2},{x:0,y:50,id:3}]},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width)})}}static build(A){let{points:g,segments:e,verticalSegments:I}=A.parameters,i=new MD;i.moveTo(g[0].x,g[0].y),i.bezierCurveTo(g[1].x,g[1].y,g[2].x,g[2].y,g[3].x,g[3].y);let t=new TJ(i.extractPoints(I).shape,e);return t.rotateZ(Math.PI),Object.assign(t,{userData:{...A,type:"LatheGeometry"}})}},xa=new wg,A0=new YI,Mu=new x,Bp=class extends tC{constructor(){super(),this.uuid=Xg.generateUUID(),this.name="",this.type="Geometry",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}applyMatrix4(A){let g=new wt().getNormalMatrix(A);for(let e=0,I=this.vertices.length;e<I;e++)this.vertices[e].applyMatrix4(A);for(let e=0,I=this.faces.length;e<I;e++){let i=this.faces[e];i.normal.applyMatrix3(g).normalize();for(let t=0,C=i.vertexNormals.length;t<C;t++)i.vertexNormals[t].applyMatrix3(g).normalize()}return this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this}rotateX(A){return xa.makeRotationX(A),this.applyMatrix4(xa),this}rotateY(A){return xa.makeRotationY(A),this.applyMatrix4(xa),this}rotateZ(A){return xa.makeRotationZ(A),this.applyMatrix4(xa),this}translate(A,g,e){return xa.makeTranslation(A,g,e),this.applyMatrix4(xa),this}scale(A,g,e){return xa.makeScale(A,g,e),this.applyMatrix4(xa),this}lookAt(A){return A0.lookAt(A),A0.updateMatrix(),this.applyMatrix4(A0.matrix),this}fromBufferGeometry(A){let g=this,e=A.index!==null?A.index:void 0,I=A.attributes;if(I.position===void 0)return console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion."),this;let i=I.position,t=I.normal,C=I.color,o=I.uv,a=I.uv2;a!==void 0&&(this.faceVertexUvs[1]=[]);for(let B=0;B<i.count;B++)g.vertices.push(new x().fromBufferAttribute(i,B)),C!==void 0&&g.colors.push(new de().fromBufferAttribute(C,B));function r(B,Q,n,E){let l=C===void 0?[]:[g.colors[B].clone(),g.colors[Q].clone(),g.colors[n].clone()],h=t===void 0?[]:[new x().fromBufferAttribute(t,B),new x().fromBufferAttribute(t,Q),new x().fromBufferAttribute(t,n)],u=new cS(B,Q,n,h,l,E);g.faces.push(u),o!==void 0&&g.faceVertexUvs[0].push([new mA().fromBufferAttribute(o,B),new mA().fromBufferAttribute(o,Q),new mA().fromBufferAttribute(o,n)]),a!==void 0&&g.faceVertexUvs[1].push([new mA().fromBufferAttribute(a,B),new mA().fromBufferAttribute(a,Q),new mA().fromBufferAttribute(a,n)])}let s=A.groups;if(s.length>0)for(let B=0;B<s.length;B++){let Q=s[B],n=Q.start,E=Q.count;for(let l=n,h=n+E;l<h;l+=3)e!==void 0?r(e.getX(l),e.getX(l+1),e.getX(l+2),Q.materialIndex):r(l,l+1,l+2,Q.materialIndex)}else if(e!==void 0)for(let B=0;B<e.count;B+=3)r(e.getX(B),e.getX(B+1),e.getX(B+2));else for(let B=0;B<i.count;B+=3)r(B,B+1,B+2);return this.computeFaceNormals(),A.boundingBox!==null&&(this.boundingBox=A.boundingBox.clone()),A.boundingSphere!==null&&(this.boundingSphere=A.boundingSphere.clone()),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Mu).negate(),this.translate(Mu.x,Mu.y,Mu.z),this}normalize(){this.computeBoundingSphere();let A=this.boundingSphere.center,g=this.boundingSphere.radius,e=g===0?1:1/g,I=new wg;return I.set(e,0,0,-e*A.x,0,e,0,-e*A.y,0,0,e,-e*A.z,0,0,0,1),this.applyMatrix4(I),this}computeFaceNormals(){let A=new x,g=new x;for(let e=0,I=this.faces.length;e<I;e++){let i=this.faces[e],t=this.vertices[i.a],C=this.vertices[i.b],o=this.vertices[i.c];A.subVectors(o,C),g.subVectors(t,C),A.cross(g),A.normalize(),i.normal.copy(A)}}computeVertexNormals(A=!0){let g=new Array(this.vertices.length);for(let e=0,I=this.vertices.length;e<I;e++)g[e]=new x;if(A){let e=new x,I=new x;for(let i=0,t=this.faces.length;i<t;i++){let C=this.faces[i],o=this.vertices[C.a],a=this.vertices[C.b],r=this.vertices[C.c];e.subVectors(r,a),I.subVectors(o,a),e.cross(I),g[C.a].add(e),g[C.b].add(e),g[C.c].add(e)}}else{this.computeFaceNormals();for(let e=0,I=this.faces.length;e<I;e++){let i=this.faces[e];g[i.a].add(i.normal),g[i.b].add(i.normal),g[i.c].add(i.normal)}}for(let e=0,I=this.vertices.length;e<I;e++)g[e].normalize();for(let e=0,I=this.faces.length;e<I;e++){let i=this.faces[e],t=i.vertexNormals;t.length===3?(t[0].copy(g[i.a]),t[1].copy(g[i.b]),t[2].copy(g[i.c])):(t[0]=g[i.a].clone(),t[1]=g[i.b].clone(),t[2]=g[i.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)}computeFlatVertexNormals(){this.computeFaceNormals();for(let A=0,g=this.faces.length;A<g;A++){let e=this.faces[A],I=e.vertexNormals;I.length===3?(I[0].copy(e.normal),I[1].copy(e.normal),I[2].copy(e.normal)):(I[0]=e.normal.clone(),I[1]=e.normal.clone(),I[2]=e.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)}computeMorphNormals(){for(let g=0,e=this.faces.length;g<e;g++){let I=this.faces[g];I.__originalFaceNormal?I.__originalFaceNormal.copy(I.normal):I.__originalFaceNormal=I.normal.clone(),I.__originalVertexNormals||(I.__originalVertexNormals=[]);for(let i=0,t=I.vertexNormals.length;i<t;i++)I.__originalVertexNormals[i]?I.__originalVertexNormals[i].copy(I.vertexNormals[i]):I.__originalVertexNormals[i]=I.vertexNormals[i].clone()}let A=new Bp;A.faces=this.faces;for(let g=0,e=this.morphTargets.length;g<e;g++){if(!this.morphNormals[g]){this.morphNormals[g]={},this.morphNormals[g].faceNormals=[],this.morphNormals[g].vertexNormals=[];let i=this.morphNormals[g].faceNormals,t=this.morphNormals[g].vertexNormals;for(let C=0,o=this.faces.length;C<o;C++){let a=new x,r={a:new x,b:new x,c:new x};i.push(a),t.push(r)}}let I=this.morphNormals[g];A.vertices=this.morphTargets[g].vertices,A.computeFaceNormals(),A.computeVertexNormals();for(let i=0,t=this.faces.length;i<t;i++){let C=this.faces[i],o=I.faceNormals[i],a=I.vertexNormals[i];o.copy(C.normal),a.a.copy(C.vertexNormals[0]),a.b.copy(C.vertexNormals[1]),a.c.copy(C.vertexNormals[2])}}for(let g=0,e=this.faces.length;g<e;g++){let I=this.faces[g];I.normal=I.__originalFaceNormal,I.vertexNormals=I.__originalVertexNormals}}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new ji),this.boundingBox.setFromPoints(this.vertices)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new VC),this.boundingSphere.setFromPoints(this.vertices)}merge(A,g,e=0){if(!(A&&A.isGeometry)){console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",A);return}let I,i=this.vertices.length,t=this.vertices,C=A.vertices,o=this.faces,a=A.faces,r=this.colors,s=A.colors;g!==void 0&&(I=new wt().getNormalMatrix(g));for(let B=0,Q=C.length;B<Q;B++){let n=C[B].clone();g!==void 0&&n.applyMatrix4(g),t.push(n)}for(let B=0,Q=s.length;B<Q;B++)r.push(s[B].clone());for(let B=0,Q=a.length;B<Q;B++){let n=a[B],E,l,h=n.vertexNormals,u=n.vertexColors,D=new cS(n.a+i,n.b+i,n.c+i);D.normal.copy(n.normal),I!==void 0&&D.normal.applyMatrix3(I).normalize();for(let p=0,w=h.length;p<w;p++)E=h[p].clone(),I!==void 0&&E.applyMatrix3(I).normalize(),D.vertexNormals.push(E);D.color.copy(n.color);for(let p=0,w=u.length;p<w;p++)l=u[p],D.vertexColors.push(l.clone());D.materialIndex=n.materialIndex+e,o.push(D)}for(let B=0,Q=A.faceVertexUvs.length;B<Q;B++){let n=A.faceVertexUvs[B];this.faceVertexUvs[B]===void 0&&(this.faceVertexUvs[B]=[]);for(let E=0,l=n.length;E<l;E++){let h=n[E],u=[];for(let D=0,p=h.length;D<p;D++)u.push(h[D].clone());this.faceVertexUvs[B].push(u)}}}mergeMesh(A){if(!(A&&A.isMesh)){console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",A);return}A.matrixAutoUpdate&&A.updateMatrix(),this.merge(A.geometry,A.matrix)}mergeVertices(A=4){let g={},e=[],I=[],i=Math.pow(10,A);for(let o=0,a=this.vertices.length;o<a;o++){let r=this.vertices[o],s=Math.round(r.x*i)+"_"+Math.round(r.y*i)+"_"+Math.round(r.z*i);g[s]===void 0?(g[s]=o,e.push(this.vertices[o]),I[o]=e.length-1):I[o]=I[g[s]]}let t=[];for(let o=0,a=this.faces.length;o<a;o++){let r=this.faces[o];r.a=I[r.a],r.b=I[r.b],r.c=I[r.c];let s=[r.a,r.b,r.c];for(let B=0;B<3;B++)if(s[B]===s[(B+1)%3]){t.push(o);break}}for(let o=t.length-1;o>=0;o--){let a=t[o];this.faces.splice(a,1);for(let r=0,s=this.faceVertexUvs.length;r<s;r++)this.faceVertexUvs[r].splice(a,1)}let C=this.vertices.length-e.length;return this.vertices=e,C}setFromPoints(A){this.vertices=[];for(let g=0,e=A.length;g<e;g++){let I=A[g];this.vertices.push(new x(I.x,I.y,I.z||0))}return this}sortFacesByMaterialIndex(){let A=this.faces,g=A.length;for(let o=0;o<g;o++)A[o]._id=o;function e(o,a){return o.materialIndex-a.materialIndex}A.sort(e);let I=this.faceVertexUvs[0],i=this.faceVertexUvs[1],t,C;I&&I.length===g&&(t=[]),i&&i.length===g&&(C=[]);for(let o=0;o<g;o++){let a=A[o]._id;t&&t.push(I[a]),C&&C.push(i[a])}t&&(this.faceVertexUvs[0]=t),C&&(this.faceVertexUvs[1]=C)}toJSON(){let A={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(A.uuid=this.uuid,A.type=this.type,this.name!==""&&(A.name=this.name),this.parameters!==void 0){let n=this.parameters;for(let E in n)n[E]!==void 0&&(A[E]=n[E]);return A}let g=[];for(let n=0;n<this.vertices.length;n++){let E=this.vertices[n];g.push(E.x,E.y,E.z)}let e=[],I=[],i={},t=[],C={},o=[],a={};for(let n=0;n<this.faces.length;n++){let E=this.faces[n],l=!0,h=!1,u=this.faceVertexUvs[0][n]!==void 0,D=E.normal.length()>0,p=E.vertexNormals.length>0,w=E.color.r!==1||E.color.g!==1||E.color.b!==1,k=E.vertexColors.length>0,U=0;if(U=r(U,0,0),U=r(U,1,l),U=r(U,2,h),U=r(U,3,u),U=r(U,4,D),U=r(U,5,p),U=r(U,6,w),U=r(U,7,k),e.push(U),e.push(E.a,E.b,E.c),e.push(E.materialIndex),u){let N=this.faceVertexUvs[0][n];e.push(Q(N[0]),Q(N[1]),Q(N[2]))}if(D&&e.push(s(E.normal)),p){let N=E.vertexNormals;e.push(s(N[0]),s(N[1]),s(N[2]))}if(w&&e.push(B(E.color)),k){let N=E.vertexColors;e.push(B(N[0]),B(N[1]),B(N[2]))}}function r(n,E,l){return l?n|1<<E:n&~(1<<E)}function s(n){let E=n.x.toString()+n.y.toString()+n.z.toString();return i[E]!==void 0||(i[E]=I.length/3,I.push(n.x,n.y,n.z)),i[E]}function B(n){let E=n.r.toString()+n.g.toString()+n.b.toString();return C[E]!==void 0||(C[E]=t.length,t.push(n.getHex())),C[E]}function Q(n){let E=n.x.toString()+n.y.toString();return a[E]!==void 0||(a[E]=o.length/2,o.push(n.x,n.y)),a[E]}return A.data={},A.data.vertices=g,A.data.normals=I,t.length>0&&(A.data.colors=t),o.length>0&&(A.data.uvs=[o]),A.data.faces=e,A}clone(){return new Bp().copy(this)}copy(A){this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=A.name;let g=A.vertices;for(let B=0,Q=g.length;B<Q;B++)this.vertices.push(g[B].clone());let e=A.colors;for(let B=0,Q=e.length;B<Q;B++)this.colors.push(e[B].clone());let I=A.faces;for(let B=0,Q=I.length;B<Q;B++)this.faces.push(I[B].clone());for(let B=0,Q=A.faceVertexUvs.length;B<Q;B++){let n=A.faceVertexUvs[B];this.faceVertexUvs[B]===void 0&&(this.faceVertexUvs[B]=[]);for(let E=0,l=n.length;E<l;E++){let h=n[E],u=[];for(let D=0,p=h.length;D<p;D++){let w=h[D];u.push(w.clone())}this.faceVertexUvs[B].push(u)}}let i=A.morphTargets;for(let B=0,Q=i.length;B<Q;B++){let n={};if(n.name=i[B].name,i[B].vertices!==void 0){n.vertices=[];for(let E=0,l=i[B].vertices.length;E<l;E++)n.vertices.push(i[B].vertices[E].clone())}if(i[B].normals!==void 0){n.normals=[];for(let E=0,l=i[B].normals.length;E<l;E++)n.normals.push(i[B].normals[E].clone())}this.morphTargets.push(n)}let t=A.morphNormals;for(let B=0,Q=t.length;B<Q;B++){let n={};if(t[B].vertexNormals!==void 0){n.vertexNormals=[];for(let E=0,l=t[B].vertexNormals.length;E<l;E++){let h=t[B].vertexNormals[E],u={};u.a=h.a.clone(),u.b=h.b.clone(),u.c=h.c.clone(),n.vertexNormals.push(u)}}if(t[B].faceNormals!==void 0){n.faceNormals=[];for(let E=0,l=t[B].faceNormals.length;E<l;E++)n.faceNormals.push(t[B].faceNormals[E].clone())}this.morphNormals.push(n)}let C=A.skinWeights;for(let B=0,Q=C.length;B<Q;B++)this.skinWeights.push(C[B].clone());let o=A.skinIndices;for(let B=0,Q=o.length;B<Q;B++)this.skinIndices.push(o[B].clone());let a=A.lineDistances;for(let B=0,Q=a.length;B<Q;B++)this.lineDistances.push(a[B]);let r=A.boundingBox;r!==null&&(this.boundingBox=r.clone());let s=A.boundingSphere;return s!==null&&(this.boundingSphere=s.clone()),this.elementsNeedUpdate=A.elementsNeedUpdate,this.verticesNeedUpdate=A.verticesNeedUpdate,this.uvsNeedUpdate=A.uvsNeedUpdate,this.normalsNeedUpdate=A.normalsNeedUpdate,this.colorsNeedUpdate=A.colorsNeedUpdate,this.lineDistancesNeedUpdate=A.lineDistancesNeedUpdate,this.groupsNeedUpdate=A.groupsNeedUpdate,this}toBufferGeometry(){let A=new JiA().fromGeometry(this),g=new se,e=new Float32Array(A.vertices.length*3);if(g.setAttribute("position",ku.call(new Se(e,3),A.vertices)),A.normals.length>0){let I=new Float32Array(A.normals.length*3);g.setAttribute("normal",ku.call(new Se(I,3),A.normals))}if(A.colors.length>0){let I=new Float32Array(A.colors.length*3);g.setAttribute("color",XR.call(new Se(I,3),A.colors))}if(A.uvs.length>0){let I=new Float32Array(A.uvs.length*2);g.setAttribute("uv",$R.call(new Se(I,2),A.uvs))}if(A.uvs2.length>0){let I=new Float32Array(A.uvs2.length*2);g.setAttribute("uv2",$R.call(new Se(I,2),A.uvs2))}g.groups=A.groups;for(let I in A.morphTargets){let i=[],t=A.morphTargets[I];for(let C=0,o=t.length;C<o;C++){let a=t[C],r=new _g(a.data.length*3,3);r.name=a.name,i.push(ku.call(r,a.data))}g.morphAttributes[I]=i}if(A.skinIndices.length>0){let I=new _g(A.skinIndices.length*4,4);g.setAttribute("skinIndex",Av.call(I,A.skinIndices))}if(A.skinWeights.length>0){let I=new _g(A.skinWeights.length*4,4);g.setAttribute("skinWeight",Av.call(I,A.skinWeights))}return A.boundingSphere!==null&&(g.boundingSphere=A.boundingSphere.clone()),A.boundingBox!==null&&(g.boundingBox=A.boundingBox.clone()),g}computeTangents(){console.error("THREE.Geometry: .computeTangents() has been removed.")}computeLineDistances(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}applyMatrix(A){return console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(A)}dispose(){this.dispatchEvent({type:"dispose"})}static createBufferGeometryFromObject(A){let g=new se,e=A.geometry;if(A.isPoints||A.isLine){let I=new _g(e.vertices.length*3,3),i=new _g(e.colors.length*3,3);if(g.setAttribute("position",ku.call(I,e.vertices)),g.setAttribute("color",XR.call(i,e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length){let t=new _g(e.lineDistances.length,1);g.setAttribute("lineDistance",qiA.call(t,e.lineDistances))}e.boundingSphere!==null&&(g.boundingSphere=e.boundingSphere.clone()),e.boundingBox!==null&&(g.boundingBox=e.boundingBox.clone())}else A.isMesh&&(g=e.toBufferGeometry());return g}};Bp.prototype.isGeometry=!0;var JiA=class{constructor(){this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.uvs2=[],this.groups=[],this.morphTargets={},this.skinWeights=[],this.skinIndices=[],this.boundingBox=null,this.boundingSphere=null,this.verticesNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}computeGroups(A){let g=[],e,I,i,t=A.faces;for(I=0;I<t.length;I++){let C=t[I];C.materialIndex!==i&&(i=C.materialIndex,e!==void 0&&(e.count=I*3-e.start,g.push(e)),e={start:I*3,materialIndex:i})}e!==void 0&&(e.count=I*3-e.start,g.push(e)),this.groups=g}fromGeometry(A){let g=A.faces,e=A.vertices,I=A.faceVertexUvs,i=I[0]&&I[0].length>0,t=I[1]&&I[1].length>0,C=A.morphTargets,o=C.length,a;if(o>0){a=[];for(let h=0;h<o;h++)a[h]={name:C[h].name,data:[]};this.morphTargets.position=a}let r=A.morphNormals,s=r.length,B;if(s>0){B=[];for(let h=0;h<s;h++)B[h]={name:r[h].name,data:[]};this.morphTargets.normal=B}let Q=A.skinIndices,n=A.skinWeights,E=Q.length===e.length,l=n.length===e.length;e.length>0&&g.length===0&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(let h=0;h<g.length;h++){let u=g[h];this.vertices.push(e[u.a],e[u.b],e[u.c]);let D=u.vertexNormals;if(D.length===3)this.normals.push(D[0],D[1],D[2]);else{let w=u.normal;this.normals.push(w,w,w)}let p=u.vertexColors;if(p.length===3)this.colors.push(p[0],p[1],p[2]);else{let w=u.color;this.colors.push(w,w,w)}if(i===!0){let w=I[0][h];w!==void 0?this.uvs.push(w[0],w[1],w[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",h),this.uvs.push(new mA,new mA,new mA))}if(t===!0){let w=I[1][h];w!==void 0?this.uvs2.push(w[0],w[1],w[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",h),this.uvs2.push(new mA,new mA,new mA))}for(let w=0;w<o;w++){let k=C[w].vertices;a[w].data.push(k[u.a],k[u.b],k[u.c])}for(let w=0;w<s;w++){let k=r[w].vertexNormals[h];B[w].data.push(k.a,k.b,k.c)}E&&this.skinIndices.push(Q[u.a],Q[u.b],Q[u.c]),l&&this.skinWeights.push(n[u.a],n[u.b],n[u.c])}return this.computeGroups(A),this.verticesNeedUpdate=A.verticesNeedUpdate,this.normalsNeedUpdate=A.normalsNeedUpdate,this.colorsNeedUpdate=A.colorsNeedUpdate,this.uvsNeedUpdate=A.uvsNeedUpdate,this.groupsNeedUpdate=A.groupsNeedUpdate,A.boundingSphere!==null&&(this.boundingSphere=A.boundingSphere.clone()),A.boundingBox!==null&&(this.boundingBox=A.boundingBox.clone()),this}},cS=class{constructor(A,g,e,I,i,t=0){this.a=A,this.b=g,this.c=e,this.normal=I&&I.isVector3?I:new x,this.vertexNormals=Array.isArray(I)?I:[],this.color=i&&i.isColor?i:new de,this.vertexColors=Array.isArray(i)?i:[],this.materialIndex=t}clone(){return new this.constructor().copy(this)}copy(A){this.a=A.a,this.b=A.b,this.c=A.c,this.normal.copy(A.normal),this.color.copy(A.color),this.materialIndex=A.materialIndex;for(let g=0,e=A.vertexNormals.length;g<e;g++)this.vertexNormals[g]=A.vertexNormals[g].clone();for(let g=0,e=A.vertexColors.length;g<e;g++)this.vertexColors[g]=A.vertexColors[g].clone();return this}};function qiA(A){return this.array.set(A),this}function XR(A){let g=this.array,e=0;for(let I=0,i=A.length;I<i;I++){let t=A[I];t===void 0&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",I),t=new de),g[e++]=t.r,g[e++]=t.g,g[e++]=t.b}return this}function $R(A){let g=this.array,e=0;for(let I=0,i=A.length;I<i;I++){let t=A[I];t===void 0&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",I),t=new mA),g[e++]=t.x,g[e++]=t.y}return this}function ku(A){let g=this.array,e=0;for(let I=0,i=A.length;I<i;I++){let t=A[I];t===void 0&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",I),t=new x),g[e++]=t.x,g[e++]=t.y,g[e++]=t.z}return this}function Av(A){let g=this.array,e=0;for(let I=0,i=A.length;I<i;I++){let t=A[I];t===void 0&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",I),t=new Ue),g[e++]=t.x,g[e++]=t.y,g[e++]=t.z,g[e++]=t.w}return this}var biA=["a","b","c"];function LiA(A,g){switch(g){case"c":return A.c;case"b":return A.b;case"a":default:return A.a}}function g0(A,g,e){let I=Math.min(A,g),i=Math.max(A,g),t=I+"_"+i;return e.get(t)}function e0(A,g,e,I,i,t){let C=Math.min(A,g),o=Math.max(A,g),a=C+"_"+o,r;if(I.has(a))r=I.get(a);else{let s=e[C],B=e[o];r={a:s,b:B,newEdge:null,faces:[]},I.set(a,r)}r.faces.push(i),t[A].edges.push(r),t[g].edges.push(r)}function xiA(A,g,e,I){let i,t,C;for(i=0,t=A.length;i<t;i++)e[i]={edges:[]};for(i=0,t=g.length;i<t;i++)C=g[i],e0(C.a,C.b,A,I,C,e),e0(C.b,C.c,A,I,C,e),e0(C.c,C.a,A,I,C,e)}function Uu(A,g,e,I,i){A.push(new cS(g,e,I,void 0,void 0,i))}function Tn(A,g){return Math.abs(g-A)/2+Math.min(A,g)}function Nu(A,g,e,I){A.push([g.clone(),e.clone(),I.clone()])}var YiA=class{constructor(A=1){this.subdivisions=A}modify(A){A instanceof se?A=new Bp().fromBufferGeometry(A):A=A.clone(),A.mergeVertices();let g=this.subdivisions;for(;g-- >0;)this._smooth(A);return A.computeFaceNormals(),A.computeVertexNormals(),A}_smooth(A){let g=new x,e,I,i,t,C,o=A.vertices,a=A.faces,r=A.faceVertexUvs[0],s=r!==void 0&&r.length>0,B=[],Q=new Map;xiA(o,a,B,Q);let n=[],E,l,h,u,D,p,w;for(let zA of Array.from(Q.keys())){for(l=Q.get(zA),h=new x,D=3/8,p=1/8,w=l.faces.length,w!=2&&(D=.5,p=0,w!=1),h.addVectors(l.a,l.b).multiplyScalar(D),g.set(0,0,0),t=0;t<w;t++){for(u=l.faces[t],C=0;C<3&&(E=o[LiA(u,biA[C])],!(E!==l.a&&E!==l.b));C++);E&&g.add(E)}g.multiplyScalar(p),h.add(g),l.newEdge=n.length,n.push(h)}let k,U,N,G,R,J,q,T=[];for(I=0,i=o.length;I<i;I++){for(J=o[I],R=B[I].edges,e=R.length,e==3?k=3/16:e>3&&(k=3/(8*e)),U=1-e*Number(k),N=k,e<=2&&(e==2?(U=3/4,N=1/8):e==1||e==0),q=J.clone().multiplyScalar(U),g.set(0,0,0),t=0;t<e;t++)G=R[t],E=G.a!==J?G.a:G.b,g.add(E);g.multiplyScalar(Number(N)),q.add(g),T.push(q)}let P=T.concat(n),H=T.length,eA,rA,BA,aA=[],yA=[],SA,pA,wA,RA,kA=new mA,UA=new mA,GA=new mA;for(I=0,i=a.length;I<i;I++)u=a[I],eA=Number(g0(u.a,u.b,Q).newEdge)+H,rA=Number(g0(u.b,u.c,Q).newEdge)+H,BA=Number(g0(u.c,u.a,Q).newEdge)+H,Uu(aA,eA,rA,BA,u.materialIndex),Uu(aA,u.a,eA,BA,u.materialIndex),Uu(aA,u.b,rA,eA,u.materialIndex),Uu(aA,u.c,BA,rA,u.materialIndex),s&&(SA=r[I],pA=SA[0],wA=SA[1],RA=SA[2],kA.set(Tn(pA.x,wA.x),Tn(pA.y,wA.y)),UA.set(Tn(wA.x,RA.x),Tn(wA.y,RA.y)),GA.set(Tn(pA.x,RA.x),Tn(pA.y,RA.y)),Nu(yA,kA,UA,GA),Nu(yA,pA,kA,GA),Nu(yA,wA,UA,kA),Nu(yA,RA,GA,UA));A.vertices=P,A.faces=aA,s&&(A.faceVertexUvs[0]=yA)}},dt=new x,HiA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=A.geometry??g?.geometry??new se().copy(new da(100,100,100)),I;g===void 0?(e.computeBoundingBox(),e.boundingBox.getSize(dt),I={width:dt.x,height:dt.y,depth:dt.z,subdivisions:0}):I=g.parameters;let i={...I,...A.parameters};return{parameters:{width:Math.abs(i.width),height:Math.abs(i.height),depth:Math.abs(i.depth),subdivisions:Math.abs(i.subdivisions)},geometry:e}}static build(A){let{width:g,height:e,depth:I,subdivisions:i}=A.parameters,t=A.geometry??new se().copy(new da(100,100,100)),C=t.userData.parameters;C===void 0?(t.computeBoundingBox(),t.boundingBox.getSize(dt)):dt.set(C.width,C.height,C.depth),(g!==dt.x||e!==dt.y||I!==dt.z)&&t.scale(dt.x===0?1:g/dt.x,dt.y===0?1:e/dt.y,dt.z===0?1:I/dt.z);let o=t.originalGeometry;try{i>0?(o===void 0||C?.subdivisions!==i)&&(o===void 0&&(o=t),t=new YiA(i).modify(o).toBufferGeometry()):(o!==void 0&&(t=o),o=void 0,t.getAttribute("normal")===void 0&&t.computeVertexNormals())}catch{o!==void 0&&(t=o),o=void 0,t.getAttribute("normal")===void 0&&t.computeVertexNormals()}return o!==void 0&&Object.assign(t,{originalGeometry:o}),delete A.geometry,Object.assign(t,{userData:{...A,type:"NonParametricGeometry"}})}static loadFromUrl(A,g,e){new iq(e).load(A,I=>{let i=this.normalizeInputs({geometry:I});I.boundingBox.getSize(dt);let t=100/dt.x;Object.assign(i.parameters,{width:100,height:dt.y*t,depth:dt.z*t}),g(this.build(i))})}},AL=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,depth:0,spikes:5,cornerRadius:0,extrudeBevelSize:0,extrudeBevelSegments:3},A.parameters);return{shape:A.shape&&A.shape instanceof Ri?A.shape:new Ri,parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??0)})}}static build(A){let{width:g,height:e,spikes:I,cornerRadius:i,depth:t,extrudeBevelSize:C,extrudeBevelSegments:o}=A.parameters,a=A.shape,r=g*.5,s=e*.5,B=0,Q=0,n=2*Math.PI/I;for(let l=0;l<I;l++){let h=n*l,u=B+Math.sin(h)*r,D=Q+Math.cos(h)*s;a.addPoint(a.createPoint(u,D))}a.isClosed=!0;for(let l=0,h=a.points.length;l<h;l++)a.points[l].roundness=i;a.roundness=i,a.update();let E=qQ.create({shape:a,parameters:{roundness:i,depth:t,extrudeBevelSize:C,extrudeBevelSegments:o}});return Object.assign(E,{userData:{...A,type:"PolygonGeometry"}})}},TiA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,radialSegments:4,heightSegments:1,cornerRadius:0,cornerSegments:8,openEnded:!1},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width)})}}static build(A){let{width:g,height:e,depth:I,radialSegments:i,heightSegments:t,openEnded:C,cornerRadius:o,cornerSegments:a}=A.parameters,r=new _iA(g*.5,e,i,t,C,o,a);return r.scale(1,1,I/g),Object.assign(r,{userData:{...A,type:"PyramidGeometry"}})}};function Dl(A,g,e){e.x=A.x*g.x,e.y=A.y,e.z=A.x*g.y}function I0(A,g,e,I,i,t){let C=g.clone().sub(A),o=e.clone().sub(A),a=C.angleTo(o);if(C.normalize(),o.normalize(),I===i){let r=C.add(o).normalize();t.copy(A).addScaledVector(r,I/Math.sin(a/2))}else{let r=C.angleTo(o);t.copy(A),t.addScaledVector(C,i/Math.sin(r)),t.addScaledVector(o,I/Math.sin(r))}}function OiA(A,g,e){let I=A.clone().sub(g),i=e.clone().sub(g);return I.projectOnVector(i),I.add(g)}var _iA=class extends se{constructor(A=.5,g=1,e=4,I=1,i=!1,t=0,C=4){super(),e=Math.floor(Math.max(3,e)),I=Math.floor(I),C=Math.floor(C);let o=[],a=[],r=[],s=[],B=0,Q=g/2,n=Math.PI/e,E=A*Math.cos(Math.PI/e),l=2*Math.PI/e,h=(e-2)*Math.PI/e,u=Math.PI-h,D=new x(0,-Q,0),p=new x(0,Q,0),w=new mA(A,-Q),k=new mA(E,-Q),U=new mA(0,p.y).sub(k),N=new mA(0,p.y).sub(w),G=new mA(U.y,-U.x).normalize(),R=new mA(N.y,-N.x).normalize(),J=A*Math.cos(Math.PI/e)*Math.tan((Math.PI-U.angle())/2)-1e-8;t=Math.min(t,J);let q;{let aA=new x(G.x,G.y,0),yA=new x(Math.cos(l)*aA.x,aA.y,Math.sin(l)*aA.x);q=aA.angleTo(yA)}let T=t/Math.tan((Math.PI-U.angle())/2),P=t/Math.tan((Math.PI-q)/2),H=new x;if(!i){a.push(D.x,D.y,D.z),r.push(0,-1,0),s.push(0,0);let aA=B++,yA=[],SA=w.clone(),pA=T/Math.cos(Math.PI/e);SA.x-=pA;for(let wA=0;wA<e;wA++){let RA=wA/e*Math.PI*2+n,kA=new mA(Math.sin(RA),Math.cos(RA));Dl(SA,kA,H),a.push(H.x,H.y,H.z),r.push(0,-1,0),s.push(0,0),yA.push(B++)}for(let wA=0;wA<yA.length;wA++)o.push(yA[wA],aA,yA[(wA+1)%yA.length])}let eA=[];{let aA=new x,yA=new x,SA=new x,pA=new x,wA=new x,RA=new x;for(let kA=0;kA<e;kA++){let UA=kA/e*Math.PI*2+n,GA=(kA+.5)/e*Math.PI*2+n,zA=(kA+1)/e*Math.PI*2+n,KA=new mA(Math.sin(UA),Math.cos(UA)),LA=new mA(Math.sin(GA),Math.cos(GA)),YA=new mA(Math.sin(zA),Math.cos(zA));Dl(w,KA,yA),Dl(w,YA,SA),Dl(G,LA,aA),I0(p,yA,SA,P,P,pA),a.push(pA.x,pA.y,pA.z),I0(yA,p,SA,P,T,wA),a.push(wA.x,wA.y,wA.z),I0(SA,yA,p,T,P,RA),a.push(RA.x,RA.y,RA.z),r.push(aA.x,aA.y,aA.z),r.push(aA.x,aA.y,aA.z),r.push(aA.x,aA.y,aA.z),s.push(0,0),s.push(0,0),s.push(0,0);let sg=B++,$A=B++,VA=B++;if(o.push(sg,$A,VA),t>0){{let Ng=yA.clone().add(SA).multiplyScalar(.5),Kg=p.clone().sub(Ng).normalize(),mg=D.clone().sub(Ng).normalize().add(Kg).normalize().multiplyScalar(-1),Sg=RA.clone().sub(wA);rA(Ng,Sg,mg,U.angle())}let vg,Gg;{let Ng=new x;Dl(R,YA,Ng);let Kg=RA.clone().add(pA).multiplyScalar(.5);Kg=OiA(Kg,SA,p);let mg=RA.clone().sub(pA);[vg,Gg]=rA(Kg,mg,Ng,q,pA.y)}{let Ng=vg,Kg=Ng.clone().setY(0).normalize(),mg=new x(0,-1,0),Sg=Kg.clone().cross(mg);BA(Ng,Kg,mg,Sg)}eA.concat(Gg);{let Ng=U.angle(),Kg=Math.PI-Ng,mg=p.clone();mg.y-=t/Math.sin(Ng-Math.PI/2);let Sg=new x,Ae=[];for(let sA=0;sA<C;sA++){let CA=[],OA=Math.PI/2-Kg*sA/C,dg=Math.cos(OA),X=Math.sin(OA),eg=GA;for(let Og=0;Og<=sA;Og++){let Eg=Math.cos(eg),og=Math.sin(eg);aA.x=dg*og,aA.y=X,aA.z=dg*Eg,Sg.copy(mg).addScaledVector(aA,t),a.push(Sg.x,Sg.y,Sg.z),r.push(aA.x,aA.y,aA.z),s.push(0,0),CA.push(B++),eg+=Math.PI*2/sA/e}Ae.push(CA)}Gg.reverse(),Ae.push(Gg);let Mg=Ae.length-1;for(let sA=0;sA<Mg;sA++){let CA=Ae[sA],OA=Ae[sA+1],dg=CA.length-1;o.push(OA[1],CA[0],OA[0]);for(let X=1;X<=dg;X++)o.push(CA[X],CA[X-1],OA[X]),o.push(OA[X+1],CA[X],OA[X])}}}}}this.setIndex(o),this.setAttribute("position",new _g(a,3)),this.setAttribute("normal",new _g(r,3)),this.setAttribute("uv",new _g(s,2));function rA(aA,yA,SA,pA,wA){let RA=-pA/2,kA=(Math.PI-pA)/2,UA=yA.clone().normalize().cross(SA);aA.addScaledVector(SA,-t/Math.sin(kA));let GA=new x,zA=new x,KA=1,LA=B,YA=[];for(let sg=0;sg<=C;sg++){let $A=RA+sg/C*pA;zA.set(0,0,0),zA.addScaledVector(UA,Math.sin($A)),zA.addScaledVector(SA,Math.cos($A));for(let VA=0;VA<=KA;VA++){let vg=VA/KA-.5;if(GA.copy(aA),GA.addScaledVector(yA,vg),GA.addScaledVector(zA,t),wA!=null){let Gg=Math.max(0,GA.y-wA);GA.addScaledVector(yA,-Gg/yA.y)}a.push(GA.x,GA.y,GA.z),r.push(zA.x,zA.y,zA.z),s.push(0,0),VA===0&&YA.push(B),B++}}for(let sg=0;sg<C;sg++)for(let $A=0;$A<KA;$A++){let VA=LA+$A+(KA+1)*sg,vg=VA+(KA+1),Gg=vg+1,Ng=VA+1;o.push(VA,vg,Ng),o.push(vg,Gg,Ng)}return[aA.clone().addScaledVector(yA,.5),YA]}function BA(aA,yA,SA,pA){let wA=Math.PI/2,RA=N.angle()-wA,kA=[],UA=new x,GA=new x;for(let KA=0;KA<=C;KA++){let LA=[],YA=KA/C;for(let sg=0;sg<=KA;sg++){let $A=((KA?sg/KA:0)-.5)*u,VA=Math.cos($A),vg=Math.sin($A),Gg=Math.atan(Math.tan(RA)*VA),Ng=(wA+Gg)*YA,Kg=Math.cos(Ng),mg=Math.sin(Ng);UA.set(0,0,0),UA.addScaledVector(yA,mg*VA),UA.addScaledVector(SA,Kg),UA.addScaledVector(pA,mg*vg),GA.copy(aA).addScaledVector(UA,t),a.push(GA.x,GA.y,GA.z),r.push(UA.x,UA.y,UA.z),s.push(0,0),LA.push(B++)}kA.push(LA)}let zA=kA.length-1;for(let KA=0;KA<zA;KA++){let LA=kA[KA],YA=kA[KA+1],sg=LA.length-1;o.push(LA[0],YA[1],YA[0]);for(let $A=1;$A<=sg;$A++)o.push(LA[$A-1],LA[$A],YA[$A]),o.push(LA[$A],YA[$A+1],YA[$A])}}}},XG=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,depth:0,cornerRadius:[0,0,0,0],cornerType:1,extrudeBevelSize:0,extrudeBevelSegments:1},A.parameters),I=Object.assign(g?.ui??{enabledIndieCorners:!1},A.ui);return{shape:A.shape&&A.shape instanceof Ri?A.shape:new Ri,parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??0)}),ui:I}}static build(A){let g=A.shape,{width:e,height:I,cornerRadius:i,cornerType:t,depth:C,extrudeBevelSize:o,extrudeBevelSegments:a}=A.parameters,r={x:e*.5,y:I*.5},s={x:-r.x,y:-r.y},B={x:r.x,y:r.y};function Q(w,k,U){return k>e&&U>I?Math.min(w*e/k,w*I/U):k>e?w*e/k:U>I?w*I/U:w}let n=[];n[0]=i[0]===0?0:Q(i[0],i[0]+i[3],i[0]+i[1]),n[1]=i[1]===0?0:Q(i[1],i[1]+i[2],i[1]+i[0]),n[2]=i[2]===0?0:Q(i[2],i[2]+i[1],i[2]+i[3]),n[3]=i[3]===0?0:Q(i[3],i[3]+i[0],i[3]+i[2]);let E=s.x,l=B.x,h=B.y,u=s.y;g.addPoint(g.createPoint(E,h)),g.addPoint(g.createPoint(l,h)),g.addPoint(g.createPoint(l,u)),g.addPoint(g.createPoint(E,u)),g.isClosed=!0;let D=!0;for(let w=0,k=g.points.length;w<k;w++)g.points[w].roundness=n[w],w>0&&n[w]!==n[w-1]&&(D=!1);D&&(g.roundness=n[0]),g.useCubicForRoundedCorners=t!==1,g.update();let p=qQ.create({shape:g,parameters:{depth:C,extrudeBevelSize:o,extrudeBevelSegments:a}});return Object.assign(p,{userData:{...A,type:"RectangleGeometry"}})}},PiA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,widthSegments:64,heightSegments:64,phiStart:0,phiLength:2*Math.PI,thetaStart:0,thetaLength:180},A.parameters);return e.thetaLength=Xg.clamp(e.thetaLength,0,180),{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width)})}}static build(A){let{width:g=100,height:e=g,depth:I=g,widthSegments:i=64,heightSegments:t=64,phiStart:C,phiLength:o,thetaStart:a,thetaLength:r}=A.parameters,s;return r===0?(s=new se,s.setAttribute("position",new _g([],3))):s=new hE(.5*g,i,t,C,o,a,r*Xg.DEG2RAD),s.scale(1,e/g,I/g),Object.assign(s,{userData:{...A,type:"SphereGeometry"}})}},jiA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,depth:0,widthSegments:8,heightSegments:8},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:0})}}static build(A){let{width:g=100,height:e=g,widthSegments:I=8,heightSegments:i=8}=A.parameters,t=new RQ(g,e,I,i);return t.scale(1,1,1),Object.assign(t,{userData:{...A,type:"PlaneGeometry"}})}},WiA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,angle:90,cornerRadius:24,cornerSegments:8},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width)})}}static build(A){let{width:g,height:e,depth:I,angle:i,cornerRadius:t,cornerSegments:C}=A.parameters,o=new ziA(g,e,I,i,t,C);return Object.assign(o,{userData:{...A,type:"BackdropGeometry"}})}},ziA=class extends se{constructor(A=1,g=1,e=1,I=90,i=10,t=24){super(),this.type="BackdropGeometry";let C=[],o=[],a=[],r=.001;i==0&&(t=1),t=Math.max(1,Math.floor(t)),i=Math.min(i,100),I=Math.min(180-r,I),I*=Math.PI/180;let s=[],B=Math.PI/2,Q=(zA=0,KA=0,LA=0)=>new x(zA,KA,LA),n=Q(),E=Q(),[l,h,u]=[g/2,A/2,e/2],D=-h,p=+h,[w,k,U]=[Q(D,-l,+u),Q(D,-l,-u),Q(D,+l,-u)],N=(zA,KA=!1)=>Math.sin(zA-Math.PI/(1+ +KA)),G=(zA,KA=!1)=>Math.cos(zA-Math.PI/(1+ +KA));U.y=Math.sin(I)*g-l;let R=Math.cos(I)*g-u,J=w.z-r;I<=B?(U.z=Math.min(R,J),U.z==J&&(U.y-=(R-J)/Math.tan(B-I))):k.z=Math.min(k.z-R-u,w.z-r),n.subVectors(w,k),E.subVectors(U,k);let q=Math.min(n.length(),E.length())*i/100,T=q*Math.tan(I/2),P=q/Math.cos(I/2),H=n.clone().normalize().add(E.normalize()).setLength(P).add(k);n.set(0,N(I,!0),G(I,!0)),s.push([U,n.clone()]);let eA=(Math.PI-I)/t;for(let zA=0;zA<=t;zA++){let KA=B+I+zA*eA;n.set(0,Math.sin(KA)*T,Math.cos(KA)*T),n.add(H),E.set(0,N(KA),G(KA)),s.push([n.clone(),E.clone()])}s.push([w,Q(0,1,0)]);let rA=Math.sin(eA/2)*T*2,BA=s.length-1,aA=s[0][0].distanceTo(s[1][0]),yA=s[BA-1][0].distanceTo(s[BA][0]),SA=aA+rA*t+yA;s[0].push(1);for(let zA=0;zA<=t;zA++)s[zA+1].push(1-(aA+zA*rA)/SA);s[BA].push(0);let[pA,wA,RA]=s[0],kA,UA,GA;for(let zA=1;zA<s.length;zA++)[kA,UA,GA]=s[zA],C.push(D,pA.y,pA.z,D,kA.y,kA.z,p,pA.y,pA.z,p,pA.y,pA.z,D,kA.y,kA.z,p,kA.y,kA.z),o.push(0,wA.y,wA.z,0,UA.y,UA.z,0,wA.y,wA.z,0,wA.y,wA.z,0,UA.y,UA.z,0,UA.y,UA.z),a.push(0,RA,0,GA,1,RA,1,RA,0,GA,1,GA),[pA,wA,RA]=[kA,UA,GA];this.setAttribute("position",new _g(C,3)),this.setAttribute("normal",new _g(o,3)),this.setAttribute("uv",new _g(a,2))}},gL=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,depth:0,innerRadiusPercent:38.19,spikes:5,cornerRadius:0,angle:360,extrudeBevelSize:0,extrudeBevelSegments:1},A.parameters);return{shape:A.shape&&A.shape instanceof Ri?A.shape:new Ri,parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??0)})}}static build(A){let{width:g,height:e,innerRadiusPercent:I,spikes:i,cornerRadius:t,angle:C,depth:o,extrudeBevelSize:a,extrudeBevelSegments:r}=A.parameters,s=A.shape,B=g*.5,Q=e*.5,n=0,E=0,l=C*Math.PI/360/i,h=Math.PI/2*3*-1,u=B*I/100,D=Q*I/100;if(i===3&&I===50){l=2*Math.PI/i;for(let w=0;w<i;w++){let k=l*w,U=n+Math.sin(k)*B,N=E+Math.cos(k)*Q;s.addPoint(s.createPoint(U,N))}}else for(let w=0;w<i;w++){let k=n+Math.cos(h)*B,U=E+Math.sin(h)*Q;s.addPoint(s.createPoint(k,U)),h+=l,k=n+Math.cos(h)*u,U=E+Math.sin(h)*D,w<=i,s.addPoint(s.createPoint(k,U)),h+=l}s.isClosed=!0;for(let w=0,k=s.points.length;w<k;w++)s.points[w].roundness=t;s.roundness=t,s.update();let p=qQ.create({shape:s,parameters:{roundness:t,depth:o,extrudeBevelSize:a,extrudeBevelSegments:r}});return Object.assign(p,{userData:{...A,type:"StarGeometry"}})}},ViA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,depth:0},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??0)})}}static build(A){let{width:g,height:e}=A.parameters,I=new RQ(g,e);return Object.assign(I,{userData:{...A,type:"TextFrameGeometry"}})}},ZiA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,radialSegments:32,tubularSegments:64,arc:360,cornerRadius:30,cornerSegments:8},A.parameters),I=Math.abs(e.width),i=Math.abs(e.height??e.width),t=Math.round(Math.abs(e.depth??e.width*.25));return{parameters:Object.assign(e,{width:I,height:i,depth:t})}}static build(A){let{width:g,height:e,depth:I,radialSegments:i,tubularSegments:t,arc:C,cornerRadius:o,cornerSegments:a}=A.parameters,r=XiA(g,e,I,g*.5,C,t,0,0,i,o,a);return r.scale(1,e/g,1),Object.assign(r,{userData:{...A,type:"TorusGeometry"}})}};function XiA(A,g,e,I,i,t,C,o,a,r,s){[g,e]=[e,g],C=g/2;let B=Xg.clamp(i/360,0,1);if(B===0){let Q=new se;return Q.setAttribute("position",new _g([],3)),Q}return B===1&&(r=0),new Xb(!0,A,g,e,I,B,t,C,o,a,r,s)}var $iA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,tubularSegments:64,radialSegments:32,p:2,q:3},A.parameters);return{parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width),depth:Math.abs(e.depth??e.width),tube:e.tube??e.width*.125})}}static build(A){let{width:g,tube:e,tubularSegments:I,radialSegments:i,p:t,q:C}=A.parameters,o=g*.5;o!==e&&(o-=e);let a=new ZJ(o,e,I,i,t,C);return Object.assign(a,{userData:{...A,type:"TorusKnotGeometry"}})}},AtA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,depth:0,spikes:5,cornerRadius:0,extrudeBevelSize:0,extrudeBevelSegments:1,isRect:!1},A.parameters);return{shape:A.shape&&A.shape instanceof Ri?A.shape:new Ri,parameters:Object.assign(e,{width:Math.abs(e.width),height:Math.abs(e.height??e.width*(e.isRect?1:Math.sqrt(3)/2)),depth:Math.abs(e.depth??0)})}}static build(A){let{width:g=100,height:e,cornerRadius:I,depth:i,extrudeBevelSize:t,extrudeBevelSegments:C,isRect:o}=A.parameters,a=A.shape,r=g*.5,s=e*.5;o?(a.addPoint(a.createPoint(-r,s)),a.addPoint(a.createPoint(r,-s)),a.addPoint(a.createPoint(-r,-s))):(a.addPoint(a.createPoint(0,s)),a.addPoint(a.createPoint(r,-s)),a.addPoint(a.createPoint(-r,-s))),a.isClosed=!0;for(let Q=0,n=a.points.length;Q<n;Q++)a.points[Q].roundness=I;a.roundness=I,a.update();let B=qQ.create({shape:a,parameters:{roundness:I,depth:i,extrudeBevelSize:t,extrudeBevelSegments:C}});return Object.assign(B,{userData:{...A,type:"TriangleGeometry"}})}};function gtA(A,g){let e=2*Math.PI;return(A%e+e)%e===(g%e+e)%e}var etA=class{add(A,g,e){if(typeof arguments[0]!="string")for(let I in arguments[0])this.add(I,arguments[0][I],arguments[1]);else(Array.isArray(A)?A:[A]).forEach(function(I){this[I]=this[I]||[],g&&this[I][e?"unshift":"push"](g)},this)}run(A,g){this[A]=this[A]||[],this[A].forEach(function(e){e.call(g&&g.context?g.context:g,g)})}},ItA=class{constructor(A){this.jsep=A,this.registered={}}register(...A){A.forEach(g=>{if(typeof g!="object"||!g.name||!g.init)throw new Error("Invalid JSEP plugin format");this.registered[g.name]||(g.init(this.jsep),this.registered[g.name]=g)})}},ag=class{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+ag.version}static addUnaryOp(A){return ag.max_unop_len=Math.max(A.length,ag.max_unop_len),ag.unary_ops[A]=1,ag}static addBinaryOp(A,g,e){return ag.max_binop_len=Math.max(A.length,ag.max_binop_len),ag.binary_ops[A]=g,e?ag.right_associative.add(A):ag.right_associative.delete(A),ag}static addIdentifierChar(A){return ag.additional_identifier_chars.add(A),ag}static addLiteral(A,g){return ag.literals[A]=g,ag}static removeUnaryOp(A){return delete ag.unary_ops[A],A.length===ag.max_unop_len&&(ag.max_unop_len=ag.getMaxKeyLen(ag.unary_ops)),ag}static removeAllUnaryOps(){return ag.unary_ops={},ag.max_unop_len=0,ag}static removeIdentifierChar(A){return ag.additional_identifier_chars.delete(A),ag}static removeBinaryOp(A){return delete ag.binary_ops[A],A.length===ag.max_binop_len&&(ag.max_binop_len=ag.getMaxKeyLen(ag.binary_ops)),ag.right_associative.delete(A),ag}static removeAllBinaryOps(){return ag.binary_ops={},ag.max_binop_len=0,ag}static removeLiteral(A){return delete ag.literals[A],ag}static removeAllLiterals(){return ag.literals={},ag}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(A){this.expr=A,this.index=0}static parse(A){return new ag(A).parse()}static getMaxKeyLen(A){return Math.max(0,...Object.keys(A).map(g=>g.length))}static isDecimalDigit(A){return A>=48&&A<=57}static binaryPrecedence(A){return ag.binary_ops[A]||0}static isIdentifierStart(A){return A>=65&&A<=90||A>=97&&A<=122||A>=128&&!ag.binary_ops[String.fromCharCode(A)]||ag.additional_identifier_chars.has(String.fromCharCode(A))}static isIdentifierPart(A){return ag.isIdentifierStart(A)||ag.isDecimalDigit(A)}throwError(A){let g=new Error(A+" at character "+this.index);throw g.index=this.index,g.description=A,g}runHook(A,g){if(ag.hooks[A]){let e={context:this,node:g};return ag.hooks.run(A,e),e.node}return g}searchHook(A){if(ag.hooks[A]){let g={context:this};return ag.hooks[A].find(function(e){return e.call(g.context,g),g.node}),g.node}}gobbleSpaces(){let A=this.code;for(;A===ag.SPACE_CODE||A===ag.TAB_CODE||A===ag.LF_CODE||A===ag.CR_CODE;)A=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let A=this.gobbleExpressions(),g=A.length===1?A[0]:{type:ag.COMPOUND,body:A};return this.runHook("after-all",g)}gobbleExpressions(A){let g=[],e,I;for(;this.index<this.expr.length;)if(e=this.code,e===ag.SEMCOL_CODE||e===ag.COMMA_CODE)this.index++;else if(I=this.gobbleExpression())g.push(I);else if(this.index<this.expr.length){if(e===A)break;this.throwError('Unexpected "'+this.char+'"')}return g}gobbleExpression(){let A=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",A)}gobbleBinaryOp(){this.gobbleSpaces();let A=this.expr.substr(this.index,ag.max_binop_len),g=A.length;for(;g>0;){if(ag.binary_ops.hasOwnProperty(A)&&(!ag.isIdentifierStart(this.code)||this.index+A.length<this.expr.length&&!ag.isIdentifierPart(this.expr.charCodeAt(this.index+A.length))))return this.index+=g,A;A=A.substr(0,--g)}return!1}gobbleBinaryExpression(){let A,g,e,I,i,t,C,o,a;if(t=this.gobbleToken(),!t||(g=this.gobbleBinaryOp(),!g))return t;for(i={value:g,prec:ag.binaryPrecedence(g),right_a:ag.right_associative.has(g)},C=this.gobbleToken(),C||this.throwError("Expected expression after "+g),I=[t,i,C];g=this.gobbleBinaryOp();){if(e=ag.binaryPrecedence(g),e===0){this.index-=g.length;break}i={value:g,prec:e,right_a:ag.right_associative.has(g)},a=g;let r=s=>i.right_a&&s.right_a?e>s.prec:e<=s.prec;for(;I.length>2&&r(I[I.length-2]);)C=I.pop(),g=I.pop().value,t=I.pop(),A={type:ag.BINARY_EXP,operator:g,left:t,right:C},I.push(A);A=this.gobbleToken(),A||this.throwError("Expected expression after "+a),I.push(i,A)}for(o=I.length-1,A=I[o];o>1;)A={type:ag.BINARY_EXP,operator:I[o-1].value,left:I[o-2],right:A},o-=2;return A}gobbleToken(){let A,g,e,I;if(this.gobbleSpaces(),I=this.searchHook("gobble-token"),I)return this.runHook("after-token",I);if(A=this.code,ag.isDecimalDigit(A)||A===ag.PERIOD_CODE)return this.gobbleNumericLiteral();if(A===ag.SQUOTE_CODE||A===ag.DQUOTE_CODE)I=this.gobbleStringLiteral();else if(A===ag.OBRACK_CODE)I=this.gobbleArray();else{for(g=this.expr.substr(this.index,ag.max_unop_len),e=g.length;e>0;){if(ag.unary_ops.hasOwnProperty(g)&&(!ag.isIdentifierStart(this.code)||this.index+g.length<this.expr.length&&!ag.isIdentifierPart(this.expr.charCodeAt(this.index+g.length)))){this.index+=e;let i=this.gobbleToken();return i||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:ag.UNARY_EXP,operator:g,argument:i,prefix:!0})}g=g.substr(0,--e)}ag.isIdentifierStart(A)?(I=this.gobbleIdentifier(),ag.literals.hasOwnProperty(I.name)?I={type:ag.LITERAL,value:ag.literals[I.name],raw:I.name}:I.name===ag.this_str&&(I={type:ag.THIS_EXP})):A===ag.OPAREN_CODE&&(I=this.gobbleGroup())}return I?(I=this.gobbleTokenProperty(I),this.runHook("after-token",I)):this.runHook("after-token",!1)}gobbleTokenProperty(A){this.gobbleSpaces();let g=this.code;for(;g===ag.PERIOD_CODE||g===ag.OBRACK_CODE||g===ag.OPAREN_CODE||g===ag.QUMARK_CODE;){let e;if(g===ag.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==ag.PERIOD_CODE)break;e=!0,this.index+=2,this.gobbleSpaces(),g=this.code}this.index++,g===ag.OBRACK_CODE?(A={type:ag.MEMBER_EXP,computed:!0,object:A,property:this.gobbleExpression()},this.gobbleSpaces(),g=this.code,g!==ag.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):g===ag.OPAREN_CODE?A={type:ag.CALL_EXP,arguments:this.gobbleArguments(ag.CPAREN_CODE),callee:A}:(g===ag.PERIOD_CODE||e)&&(e&&this.index--,this.gobbleSpaces(),A={type:ag.MEMBER_EXP,computed:!1,object:A,property:this.gobbleIdentifier()}),e&&(A.optional=!0),this.gobbleSpaces(),g=this.code}return A}gobbleNumericLiteral(){let A="",g,e;for(;ag.isDecimalDigit(this.code);)A+=this.expr.charAt(this.index++);if(this.code===ag.PERIOD_CODE)for(A+=this.expr.charAt(this.index++);ag.isDecimalDigit(this.code);)A+=this.expr.charAt(this.index++);if(g=this.char,g==="e"||g==="E"){for(A+=this.expr.charAt(this.index++),g=this.char,(g==="+"||g==="-")&&(A+=this.expr.charAt(this.index++));ag.isDecimalDigit(this.code);)A+=this.expr.charAt(this.index++);ag.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+A+this.char+")")}return e=this.code,ag.isIdentifierStart(e)?this.throwError("Variable names cannot start with a number ("+A+this.char+")"):(e===ag.PERIOD_CODE||A.length===1&&A.charCodeAt(0)===ag.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:ag.LITERAL,value:parseFloat(A),raw:A}}gobbleStringLiteral(){let A="",g=this.index,e=this.expr.charAt(this.index++),I=!1;for(;this.index<this.expr.length;){let i=this.expr.charAt(this.index++);if(i===e){I=!0;break}else if(i==="\\")switch(i=this.expr.charAt(this.index++),i){case"n":A+=`
`;break;case"r":A+="\r";break;case"t":A+="	";break;case"b":A+="\b";break;case"f":A+="\f";break;case"v":A+="\v";break;default:A+=i}else A+=i}return I||this.throwError('Unclosed quote after "'+A+'"'),{type:ag.LITERAL,value:A,raw:this.expr.substring(g,this.index)}}gobbleIdentifier(){let A=this.code,g=this.index;for(ag.isIdentifierStart(A)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(A=this.code,ag.isIdentifierPart(A));)this.index++;return{type:ag.IDENTIFIER,name:this.expr.slice(g,this.index)}}gobbleArguments(A){let g=[],e=!1,I=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let i=this.code;if(i===A){e=!0,this.index++,A===ag.CPAREN_CODE&&I&&I>=g.length&&this.throwError("Unexpected token "+String.fromCharCode(A));break}else if(i===ag.COMMA_CODE){if(this.index++,I++,I!==g.length){if(A===ag.CPAREN_CODE)this.throwError("Unexpected token ,");else if(A===ag.CBRACK_CODE)for(let t=g.length;t<I;t++)g.push(null)}}else if(g.length!==I&&I!==0)this.throwError("Expected comma");else{let t=this.gobbleExpression();(!t||t.type===ag.COMPOUND)&&this.throwError("Expected comma"),g.push(t)}}return e||this.throwError("Expected "+String.fromCharCode(A)),g}gobbleGroup(){this.index++;let A=this.gobbleExpressions(ag.CPAREN_CODE);if(this.code===ag.CPAREN_CODE)return this.index++,A.length===1?A[0]:A.length?{type:ag.SEQUENCE_EXP,expressions:A}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:ag.ARRAY_EXP,elements:this.gobbleArguments(ag.CBRACK_CODE)}}},itA=new etA;Object.assign(ag,{hooks:itA,plugins:new ItA(ag),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});ag.max_unop_len=ag.getMaxKeyLen(ag.unary_ops);ag.max_binop_len=ag.getMaxKeyLen(ag.binary_ops);var HE=A=>new ag(A).parse(),ttA=Object.getOwnPropertyNames(ag);ttA.forEach(A=>{HE[A]===void 0&&A!=="prototype"&&(HE[A]=ag[A])});HE.Jsep=ag;var CtA="ConditionalExpression",otA={name:"ternary",init(A){A.hooks.add("after-expression",function(g){if(g.node&&this.code===A.QUMARK_CODE){this.index++;let e=g.node,I=this.gobbleExpression();if(I||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===A.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),g.node={type:CtA,test:e,consequent:I,alternate:i},e.operator&&A.binary_ops[e.operator]<=.9){let t=e;for(;t.right.operator&&A.binary_ops[t.right.operator]<=.9;)t=t.right;g.node.test=t.right,t.right=g.node,g.node=e}}else this.throwError("Expected :")}})}};HE.plugins.register(otA);var atA=["+","-","*","/","(",")","==","!=",">","<",">=","<=","and","or","!","%","^",","],rtA=["0","1","2","3","4","5","6","7","8","9","."],stA=["sin","cos","tan","asin","acos","atan","atan2","sqrt","abs","log","exp","floor","ceil","round","min","max","random"];function BtA(A){return typeof A!="string"?!1:!isNaN(A)&&!isNaN(parseFloat(A))}HE.addBinaryOp("^",11,!0);function eL(A,g,e="number"){let I="";for(let C=0;C<A.length;C++){let o=A[C];if("id"in o){let a=A[C-1];if(C>0&&"id"in a){console.error("Two variables in a row",A);return}let r=g.getVariable(o.id),s=so.getDisplayedValue(r);e==="number"&&so.isTextValue(r)&&Array.isArray(r.textValue)&&r.textValue.length===1?s=parseFloat(s).toString():e==="boolean"&&so.isBoolean(r)?s=r?"true":"false":e==="boolean"&&so.isTextValue(r)&&!Array.isArray(r.textValue)&&(s='"'+s+'"'),I+=s;continue}else if(e==="string"){o.name!=='"'&&o.name!=="+"&&(I+=o.name),o.name==="+"&&I[I.length-1]==="\\"&&(I=I.slice(0,-1)+o.name);continue}if(o.name==="and"){I+="&&";continue}if(o.name==="or"){I+="||";continue}if(o.name==="True"){I+="true";continue}if(o.name==="False"){I+="false";continue}if(e==="boolean"&&!BtA(o.name)&&!rtA.includes(o.name)&&!atA.includes(o.name)&&!stA.includes(o.name.replace(/\($/g,""))){I+='"'+o.name+'"';continue}I+=o.name}if(e==="string")return I;if(A.length===0){if(e==="number")return 0;if(e==="boolean")return!1}let i;try{i=HE(I)}catch(C){console.error(I,C);return}let t;try{t=wI(i)}catch(C){console.error(I,i,C)}return t}function wI(A){switch(A.type){case"BinaryExpression":switch(A.operator){case"==":return+(wI(A.left)===wI(A.right));case"!=":return+(wI(A.left)!==wI(A.right));case">":return+(wI(A.left)>wI(A.right));case">=":return+(wI(A.left)>=wI(A.right));case"<":return+(wI(A.left)<wI(A.right));case"<=":return+(wI(A.left)<=wI(A.right));case"+":return wI(A.left)+wI(A.right);case"-":return wI(A.left)-wI(A.right);case"*":return wI(A.left)*wI(A.right);case"/":return wI(A.left)/wI(A.right);case"%":return wI(A.left)%wI(A.right);case"&&":return wI(A.left)&&wI(A.right);case"||":return wI(A.left)||wI(A.right);case"^":return Math.pow(wI(A.left),wI(A.right));default:throw new Error("Unknown operator: "+A.operator)}case"UnaryExpression":switch(A.operator){case"-":return-wI(A.argument);case"!":return+!wI(A.argument);default:throw new Error("Unknown operator: "+A.operator)}case"Identifier":throw new Error("Unknown identifier: "+A.name);case"Literal":return A.value;case"CallExpression":if(A.callee.type==="Identifier"){if(A.callee.name==="random"){let g=0,e=1;if(A.arguments.length>=1)try{g=wI(A.arguments[0])}catch(I){console.warn(I)}if(A.arguments.length>=2)try{e=wI(A.arguments[1])}catch(I){console.warn(I)}return g=Math.min(e,g),e=Math.max(e,g),g+Math.random()*(e-g)}return Math[A.callee.name].apply(null,A.arguments.map(wI))}else throw new Error("Unknown node");default:throw new Error("Unknown node type: "+A.type)}}var QtA=new wg,ntA=new wg;function EtA(A,g,e){let I=[new x,new x,new x],i=[new x,new x,new x];return A.extractBasis(I[0],I[1],I[2]),g.extractBasis(i[0],i[1],i[2]),I.forEach((t,C)=>{let o=i[C],a=Xg.lerp(t.length(),o.length(),e);t.lerp(o,e).setLength(a)}),new wg().makeBasis(I[0],I[1],I[2])}var htA=class{static create(A){return this.build(this.normalizeInputs(A))}static normalizeInputs(A,g){let e=Object.assign({},g?.parameters??{width:100,height:100,depth:1,subdivisions:12,roundness:0,extrudeBevelSize:0,extrudeBevelSegments:3},A.parameters),I=Math.abs(e.width),i=Math.abs(e.height??e.width),t=Math.abs(e.depth??0),C=g?.shapeData??ZG.create({parameters:Gb}).userData.shape;return{path:A.path??ZD.defaultData(),parameters:Object.assign(e,{width:I,height:i,depth:t,extrusion:{...mb,...e.extrusion}}),shapeData:C}}static build(A){if(A.path.points.length>=2){let g=new ltA(A);return Object.assign(g,{userData:{...A,type:"PathGeometry"}})}else return Object.assign(new se,{userData:{...A,type:"PathGeometry"}})}},ltA=class extends se{constructor(A){super(),this.type="PathExtrusionGeometry",this.inputs=A,this.build()}_isGeometryClosed(){return this.inputs.path.isClosed&&this.inputs.parameters.extrusion.depth===1}_isOpenEnded(){let A=this.inputs.parameters.extrusion;return!(this.inputs.path.isClosed&&A.depth===1)||!gtA(A.twist,0)||A.startScale!==A.endScale}build(){let A=this._extractPathPoints();if(A.length<2)return;let g=this._computeBasisMatrices(A),{depth:e,offset:I}=this.inputs.parameters.extrusion;e=Math.max(0,Math.min(e,1)),I=Math.max(0,Math.min(I,1));let i=this.inputs.path.isClosed?A.length:A.length-1,t=Math.floor(I*i),C=this.inputs.path.isClosed?Math.ceil((e+I)*i):Math.ceil(Math.min(1,e+I)*i),o=Math.min(Math.max(2,C-t+1),i+2),a=[],r=[];for(let BA=0;BA<o;BA++){let aA=this.inputs.path.isClosed?(BA+t)%A.length:Math.min(BA+t,A.length-1);a.push(A[aA].clone()),r.push(g[aA].clone())}let s=(BA,aA,yA)=>{a[BA]=a[BA].clone().lerp(a[aA],yA),r[BA]=EtA(r[BA],r[aA],yA)},B=0,Q=I*i%1;(!this.inputs.path.isClosed||e<=1)&&(Q||I===0)&&(B=Q,s(0,1,B));let n=0,E=(I+e)*i%1;if((this.inputs.path.isClosed&&e<=1||!this.inputs.path.isClosed&&I+e<1)&&E&&(n=E,s(a.length-1,a.length-2,1-n)),e===0){let BA=a.length-1;a[BA].copy(a[0]),r[BA].copy(r[0])}this._applyPathModifiers(r,B,n);let{bevel:l,bevelSides:h}=this.inputs.parameters.extrusion,u=l>0?this.inputs.parameters.extrusion.capType:"flat",D=5;this.inputs.parameters.extrusion.shape.type==="Custom"&&(D=this.inputs.parameters.extrusion.shape.shapeQuality==="low"?5:12);let{regions:p,infos:w,vertices:k}=this._computeShapePoints(D),U=0,N;u==="round"&&(N=new VG(this.inputs.shapeData,2*l,l,D,h,void 0,!0),U=N.getAttribute("position").count);let G=0,R=0;w.sort((BA,aA)=>BA.start-aA.start),w.forEach(BA=>{BA.verticesStart=G,BA.verticesCount=BA.continuous.reduce((aA,yA,SA)=>aA+(SA===0||!yA?2:1),0),R+=BA.verticesCount,G=R});let J=R*o,q,T=0;if(this._isOpenEnded()&&u==="flat"){try{q=EB({windingRule:PI.ODD,elementType:it.POLYGONS,polySize:3,vertexSize:2,strict:!0,contours:p})}catch{q=_b}T=q.vertexCount}let P=J+2*T+U*2,H=J+2*T,eA={positions:new Float32Array(P*3),normals:new Float32Array(P*3),uvs:new Float32Array(P*2)},rA=[];if(w.forEach(BA=>{this._extrudeRegion(BA,k,r,a,eA,rA,this._isGeometryClosed()&&!this._isOpenEnded())}),q&&(this._closeEnd(q,J,rA,eA,r[0],a[0],!1),this._closeEnd(q,J+T,rA,eA,r[r.length-1],a[a.length-1],!0)),N){eA.positions.set(N.getAttribute("position").array,H*3),eA.normals.set(N.getAttribute("normal").array,H*3),eA.uvs.set(N.getAttribute("uv").array,H*2);for(let SA=H;SA<H+U;SA++)eA.uvs[SA*2+1]=1e-4;let BA=rA.length;rA.push(...N.getIndex().array.map(SA=>SA+H)),H+=U,eA.positions.set(N.getAttribute("position").array,H*3),eA.normals.set(N.getAttribute("normal").array,H*3),eA.uvs.set(N.getAttribute("uv").array,H*2);let aA=rA.length;rA.push(...N.getIndex().array.map(SA=>SA+H)),this.setAttribute("position",new Se(eA.positions,3)),this.setAttribute("normal",new Se(eA.normals,3)),this.setAttribute("uv",new Se(eA.uvs,2)),this.setIndex(rA);let yA=QtA;yA.copy(r[r.length-1]).setPosition(a[a.length-1]),this.applyMatrix4OnRange(yA,H,P),yA.copy(r[0]).setPosition(a[0]).multiply(ntA.makeScale(1,1,-1)),this.applyMatrix4OnRange(yA,H-U,H),this.reverseIndicesOnRange(BA,aA)}else this.setAttribute("position",new Se(eA.positions,3)),this.setAttribute("normal",new Se(eA.normals,3)),this.setAttribute("uv",new Se(eA.uvs,2)),this.setIndex(rA)}_extractPathPoints(){let A=Jb(this.inputs.path).getPoints(this.inputs.path.subdivisions);if(A.length<2)return[];let g=[A[0]];return A.forEach(e=>{g[g.length-1].distanceToSquared(e)>.001&&g.push(e)}),this.inputs.path.isClosed&&g[g.length-1].distanceTo(g[0])<.001&&g.pop(),g}_computeBasisMatrices(A){let g=[],e=A.length,I=this.inputs.path.isClosed,i=new x,t=new x,C=new x,o=new x,a=new x(0,1,0);for(let E=0;E<e;E++){let l=A[E],h;E===0?h=I?A[A.length-2]:l.clone().multiplyScalar(2).sub(A[1]):h=A[E-1];let u;E===e-1?u=I?A[1]:l.clone().multiplyScalar(2).sub(A[E-1]):u=A[E+1];let D=l.clone().sub(h).normalize(),p=u.clone().sub(l).normalize(),w=D.clone().add(p).normalize();C.copy(w),E===0&&(w.equals(a)||w.clone().negate().equals(a))&&a.set(0,0,1);let k=a.clone().cross(w).normalize(),U=w.clone().cross(k).normalize();a.copy(U),o.copy(k),E===0&&(i.copy(U),t.copy(w));let N=new wg().makeBasis(k,U,w);g.push(N)}let r=I?t:C,s=I?i:new x(0,1,0),B=r.clone().cross(o).normalize(),Q=Math.acos(s.dot(B));if(isNaN(Q))return g;let n=s.clone().cross(B);r.dot(n)>0&&(Q*=-1);for(let E=1;E<g.length;E++){let l=new wg().makeRotationZ(Q*E/g.length);g[E].multiply(l)}return g}_applyPathModifiers(A,g,e){let I=A.length,{angle:i,twist:t,startScale:C,endScale:o}=this.inputs.parameters.extrusion,a=new wg,r=new wg;return A.forEach((s,B)=>{let Q=B===0?0:B===I-1?1:(B-g)/(I-(e===0?0:1)-(g+(1-e)));a.makeRotationZ(Xg.lerp(i,i+t,Q)*Xg.DEG2RAD);let n=Xg.lerp(C,o,Q);r.makeScale(n,n,n),s.multiply(a).multiply(r)}),A}_computeShapePoints(A=12,g=PI.ODD){let e=this.inputs.shapeData,I=e.extractShapePointsToFlatArray([],A),i=e.shapeHoles.map(n=>{let E=n.extractShapePointsToFlatArray([],A),l=[];for(let h=E.length-1;h>=1;h-=2){let u=E[h-1],D=E[h-0];l.push(u,D)}return l}),t;try{t=EB({windingRule:g,elementType:it.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[I]})}catch{t=zG}let C;try{C=EB({windingRule:PI.ODD,elementType:it.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[...i]})}catch{C=Ob}if(!t)throw new Error("error generating geometry");let o=t.elementCount;if(C){t.elementCount+=C.elementCount;for(let n=0;n<C.elements.length;n++){let E=C.elements[n],l=n%2===0?t.vertexCount:0;t.elements.push(E+l)}for(let n=0;n<C.vertexIndices.length;n++){let E=C.vertexIndices[n],l=t.vertexCount;t.vertexIndices.push(E+l)}for(let n=0;n<C.vertices.length;n++){let E=C.vertices[n];t.vertices.push(E)}}let a=1/0,r=-1/0,s=1/0,B=-1/0;for(let n=0,E=t.vertexCount;n<E;n++){let l=n*2,h=t.vertices[l+0],u=t.vertices[l+1];h<a&&(a=h),h>r&&(r=h),u<s&&(s=u),u>B&&(B=u)}let Q=[];for(let n=t.elementCount-1;n>=0;n--){let E=n>=o,l=n*2,h=t.elements[l+0],u=t.elements[l+1],D=h+u,p={start:h,count:u,normals:[],isHole:E,continuous:[],verticesStart:0,verticesCount:0};Q.push(p);let w=h,k=D-1,U=h+1,N=e.roundedCurves.length;do{let G=w-h,R=t.vertices[k*2+0],J=t.vertices[k*2+1],q=t.vertices[w*2+0],T=t.vertices[w*2+1],P=t.vertices[U*2+0],H=t.vertices[U*2+1],eA=q-R,rA=T-J,BA=Math.sqrt(eA*eA+rA*rA);eA/=BA,rA/=BA;let aA=q-P,yA=T-H,SA=Math.sqrt(aA*aA+yA*yA);aA/=SA,yA/=SA,p.normals[G*2+0]=-yA,p.normals[G*2+1]=aA;let pA=t.vertexIndices[w];if(Array.isArray(pA))p.continuous[G]=!1;else{let[wA,RA]=e.getCurveIndexFromVertexId(pA-1,!0);if(RA>0&&RA<1)p.continuous[G]=!0;else{let kA=RA===1?wA+1:wA-1;kA=(kA+N)%N;let UA=RA===1?0:1,GA=e.roundedCurves[wA].getTangent(RA),zA=e.roundedCurves[kA].getTangent(UA);p.continuous[G]=GA.dot(zA)>.95}}E&&(p.normals[G*2+0]*=-1,p.normals[G*2+1]*=-1),[k,w,U]=[w,U,U+1],U>=D&&(U-=u)}while(U!==h+1)}return{regions:[I,...i],infos:Q,vertices:t.vertices}}_insertVertex(A,g,e,I,i){let t=g*2,C=g*3;A.positions[C+0]=e.x,A.positions[C+1]=e.y,A.positions[C+2]=e.z,A.normals[C+0]=I.x,A.normals[C+1]=I.y,A.normals[C+2]=I.z,A.uvs[t+0]=i.x,A.uvs[t+1]=i.y}_extrudeRegion(A,g,e,I,i,t,C){let o=new x,a=new x,r=new x,s=new x,B=new mA;e.forEach((n,E)=>{let l=I[E],h=A.verticesStart*e.length+A.verticesCount*E;for(let u=0;u<A.count;u++){let D=(A.start+u)*2;if(o.set(g[D+0],g[D+1],0),r.copy(o).applyMatrix4(n).add(l),A.continuous[u])s.set(A.normals[u*2+0],A.normals[u*2+1],0);else{let p=u===0?(A.start+A.count-1)*2:D-2;a.set(g[p+0],g[p+1],0),s.copy(o).sub(a),s.set(-s.y,s.x,0),A.isHole||s.negate()}if(s.applyMatrix4(n).normalize(),B.set(u===0?1:u/A.count,E/(e.length-1)),this._insertVertex(i,h,r,s,B),h++,!A.continuous[u]||u===0){if(u===0)s.set(A.normals[u*2+0],A.normals[u*2+1],0),B.set(0,E/(e.length-1));else{let p=u===A.count-1?A.start*2:D+2;a.set(g[p+0],g[p+1],0),s.copy(a).sub(o),s.set(-s.y,s.x,0),A.isHole||s.negate()}s.applyMatrix4(n).normalize(),this._insertVertex(i,h,r,s,B),h++}}});let Q=e.length-1;for(let n=0;n<Q;n++){let E=A.verticesStart*e.length+A.verticesCount*n,l=A.verticesStart*e.length+A.verticesCount*(n+1),h=0;for(let u=0;u<A.count;u++){(!A.continuous[u]||u===0)&&h++;let D=u===A.count-1?0:h+1,p=E+h,w=E+D,k=l+D,U=l+h;A.isHole?t.push(p,k,w,p,U,k):t.push(p,w,k,p,k,U),h++}}}_closeEnd(A,g,e,I,i,t,C){let o=A.vertexCount,a=new x(0,0,C?-1:1).applyMatrix4(i),r=new x,s=new mA;for(let Q=0;Q<o;Q++){let n=2*Q;r.set(A.vertices[n+0],A.vertices[n+1],0).applyMatrix4(i).add(t),this._insertVertex(I,g+Q,r,a,s)}let B=A.elements;for(let Q=0;Q<A.elementCount;Q++){let n=3*Q,E=B[n+0]+g,l=B[n+(C?1:2)]+g,h=B[n+(C?2:1)]+g;e.push(E,l,h)}}applyMatrix4OnRange(A,g,e){let I=A.elements,i=new wt().getNormalMatrix(A).elements,t,C,o,a,r=this.attributes.position,s=this.attributes.normal;if(!r||!s)return;let B=r.array,Q=s.array,n=r.itemSize;for(let E=g*n,l=e*n;E<l;E+=n){if(E===g)debugger;t=B[E+0],C=B[E+1],o=B[E+2],a=1/(I[3]*t+I[7]*C+I[11]*o+I[15]),B[E+0]=(I[0]*t+I[4]*C+I[8]*o+I[12])*a,B[E+1]=(I[1]*t+I[5]*C+I[9]*o+I[13])*a,B[E+2]=(I[2]*t+I[6]*C+I[10]*o+I[14])*a,t=Q[E+0],C=Q[E+1],o=Q[E+2],Q[E+0]=i[0]*t+i[3]*C+i[6]*o,Q[E+1]=i[1]*t+i[4]*C+i[7]*o,Q[E+2]=i[2]*t+i[5]*C+i[8]*o}r.needsUpdate=!0,s.needsUpdate=!0}reverseIndicesOnRange(A,g){let e=this.index;if(e){for(let I=A;I<g;I+=3){let i=e.getX(I),t=e.getX(I+1),C=e.getX(I+2);e.setXYZ(I,C,t,i)}e.needsUpdate=!0}}};function IL(){let A=new se;return A.setAttribute("position",new Se(new Float32Array([]),3)),A.setIndex(new Se(new Uint16Array([]),1)),A}var ctA=IL().attributes,dtA=12,utA=1,iL=class extends se{constructor(A,g){super(),this.charWidths=[],this.charCoords=[],this.wrappedText=[],this.isLowResolution=!1,this.vectorShapes=[],Object.assign(this.attributes,ctA),this.userData={parameters:A,type:"TextGeometry"};let e=g.getFont(A.font);e?.isLoaded?(this.font=e,this.update(A)):this.updateFont(A.font,g).then(()=>{this.update(A),g?.requestRender()})}async updateFont(A,g){let e=g.getFont(A);e&&(this.font=e,await e.loadingPromise)}update(A){let g=this.font;if(this.userData={parameters:A,type:"TextGeometry"},!g?.isLoaded){console.warn("Cannot update text because its font is not loaded");return}let{width:e,height:I,depth:i,extrudeBevelSize:t,extrudeBevelSegments:C,text:o,textTransform:a}=A,r=so.getDisplayedValue(o),s=a===2?r.toUpperCase():a===3?r.toLowerCase():r,B=DtA(A,g,s),{shapes:Q,charWidths:n,charCoords:E}=g.generateShapes(B,A),l=(typeof e=="number"?e:1)*.5,h=(typeof I=="number"?I:1)*.5,u=Q.map(w=>new Ri().fromShape(w,!0));this.vectorShapes=u;let D=u.map(w=>qQ.create({shape:w,parameters:{depth:i,extrudeBevelSegments:C,extrudeBevelSize:t,windingRule:i<=0?PI.NONZERO:PI.ODD,subdivisions:this.isLowResolution&&i>0?utA:dtA}})),p=D.length?nQ(D):IL();p.translate(-l,h,0),this.dispose(),this.wrappedText=B,this.charCoords=E,this.charWidths=n,this.deleteAttribute("extrudeNormal"),Object.entries(p.attributes).forEach(([w,k])=>{this.setAttribute(w,k)}),this.setIndex(p.index),this.computeBoundingSphere()}clone(){let A=or(new se,iL.prototype);return A.copy(this),console.log("CloneGeometry",this,A),A}copy(A){return Object.entries(A.attributes).forEach(([g,e])=>{this.setAttribute(g,e)}),this.setIndex(A.index),this.userData={parameters:{...A.userData.parameters},type:"TextGeometry"},this}async setText(A){this.font&&await this.font.loadingPromise,await this.update({...this.userData.parameters,text:A})}get text(){return this.userData.parameters.text??""}};function DtA(A,g,e){let I=[""],i="";for(let t of e)i+=t,t===" "||t===`
`?(I[I.length-1]+=i,i="",t===`
`&&I.push("")):g.getTextWidth(I[I.length-1]+i,A)>A.width&&(I[I.length-1].length&&I.push(""),g.getTextWidth(I[I.length-1]+i,A)>A.width&&(i.length===1?(I[I.length-1]+=i,i=""):(I[I.length-1]+=i.slice(0,-1),i=i[i.length-1],I.push(""))));return I[I.length-1]+=i,I}var tL,CL=new Promise(A=>{tL=A}),gv=!1,Fu;function ptA(){if(gv)return;if(Fu)return Fu;async function A(){let g="https://unpkg.com/@splinetool/modelling-wasm@1.9.3/build",e=Promise.resolve().then(()=>(Vm(),zm)),[I,i]=await Promise.all([e,fetch(`${g}/process.wasm`).then(o=>o.arrayBuffer())]),t=I.default,C=await t({wasmBinary:i});tL(C),gv=!0}return Fu=A(),Fu}var ytA=["font"];function Dc(A,g,e,I){let i,t,C;A.type==="PathGeometry"?(t=JSON.parse(JSON.stringify(A)),C=[[],["extrusion"]]):(t={...A},C=[[]]);for(let r of C){let s=t;for(let B of r)s=s[B];for(i in s){let B=s[i];iR(B)&&!ytA.includes(i)&&(s[i]=g.getVariable(B,[I.uuid,"geometry",...r,i]),iR(s[i])&&(s[i]=1))}}let o={parameters:t,type:t.type};if(t.type==="PathGeometry")o.path=t.path;else if(t.type==="VectorGeometry"){let r=Ri.createFromState(t.shape,t.width,t.height);o.shape=r}else if(t.type==="NonParametricGeometry"){if(t.data.groups&&t.data.groups?.forEach(r=>r.materialIndex=Math.max(r.materialIndex??0,0)),o.geometry=new iq().parse(t),o.geometry.groups.length===0){let r=o.geometry;r.addGroup(0,Math.max(r.getIndex()?.count??0,r.getAttribute("position").count),0)}}else if(t.type==="SubdivGeometry"){let r=new MC(t,e);return r.data=A,r}else{if(t.type==="TextGeometry")return new iL(t,g);if(t.type==="UIGeometry")return XG.create({parameters:{width:t.width,height:t.height,cornerRadius:t.cornerRadius,cornerType:t.cornerType}})}let a;try{a=Cv(o)}catch(r){console.error(r)}if(!a){let r=Ri.createFromState(VD.defaultData(),100,100);o.shape=r,a=Cv(o)}return a}var wtA=new wg;function dS(A,g,e,I){let i=A.position.array,t=A.normal.array,C=wtA.makeScale(g,e,I).invert().elements,o,a,r;for(var s=0,B=i.length;s<B;s+=3)i[s]*=g,i[s+1]*=e,i[s+2]*=I,o=t[s],a=t[s+1],r=t[s+2],t[s]=C[0]*o+C[4]*a+C[8]*r,t[s+1]=C[1]*o+C[5]*a+C[9]*r,t[s+2]=C[2]*o+C[6]*a+C[10]*r;A.position.needsUpdate=!0,A.normal.needsUpdate=!0}var Ru=new ji,On=new x,De;CL.then(A=>{De=A});var ev=new Float32Array([10,10,0,-10,10,0,-10,-10,0,10,-10,0]),Iv=new Uint32Array([0,1,2,3]),iv=new Uint8Array([4]),MC=class extends se{constructor(A,g){super(),this.data=A,this.flatShading=g,this.subdivPointer=0,this.rebuild(),this.freeSubdivPointer()}mutateDirectlyScaleBaked(A,g){this.freeSubdivPointer();let e=this.data.scaleBaked,I=DQ.div(g,e);this.subdividedGeometry&&dS(this.subdividedGeometry.attributes,...I),this.originalGeometry&&dS(this.originalGeometry.attributes,...I),this.data=A;let i=this.userData.parameters;this.userData.parameters={width:i.width*I[0],height:i.height*I[1],depth:i.depth*I[2]},this.originalGeometry.boundingSphere.center.multiply(On.fromArray(I));let t=On.set(i.width,i.height,i.depth).length();this.originalGeometry.boundingSphere.radius=t/2}ensureSubdivPointer(){return this.subdivPointer===0&&this.rebuild(),this.subdivPointer}rebuild(){let A,g,e;try{({originalGeometry:A,subdividedGeometry:g,subdivPointer:e}=MC.build(this.data,void 0,!this.flatShading,void 0))}catch{A=new da(100,100,100),e=0}this.subdivPointer=e,this.originalGeometry=A,this.subdividedGeometry=g??void 0;let I=this.subdividedGeometry??this.originalGeometry;Object.assign(this,I),this.calcBoundingBox()}freeSubdivPointer(){this.subdivPointer&&(MC.freeSubdivPointer(this.subdivPointer),this.subdivPointer=0)}dispose(){super.dispose(),this.freeSubdivPointer()}calcBoundingBox(){let A=this.originalGeometry;A.boundingSphere===null&&(A.boundingSphere=new VC,this.subdividedGeometry&&(this.subdividedGeometry.boundingSphere=A.boundingSphere));let g=A.attributes.position,e=A.boundingSphere.center;Ru.setFromBufferAttribute(g),Ru.getCenter(e),A.boundingSphere.radius=e.distanceTo(Ru.max),isNaN(A.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this),Ru.getSize(On);let I={width:On.x,height:On.y,depth:On.z};return this.userData.parameters=I,I}static build(A,g,e,I){let i,t,C,o=A?.phongAngle??35;e===!1&&(o=-1),g&&(De.free_bvh(g),De.free_subdivision_surface(g));try{i=MC.allocate(A,I)}catch(a){console.error(a,A),i=MC.allocate({positionWASM:ev,indexWASM:Iv,verticesPerFaceWASM:iv},I)}if(De.set_destination_refinement_level(i,0),t=MC.buildLevel(i,!0,o),A.subdivisions>0)try{De.set_destination_refinement_level(i,A.subdivisions),C=MC.buildLevel(i,!1,o)}catch{try{De.set_destination_refinement_level(i,A.subdivisions-1),C=MC.buildLevel(i,!1,o)}catch{C=null}}else C=null;return{subdivPointer:i,originalGeometry:t,subdividedGeometry:C}}static primitiveToQuads(A,g,e){A.widthSegments>16&&(A.widthSegments=16),A.heightSegments>16&&(A.heightSegments=16),A.depthSegments>16&&(A.depthSegments=16),A.radialSegments>16&&(A.radialSegments=16),A.type==="DodecahedronGeometry"&&(A.detail=0);let I=A.shape!==void 0||A.path!==void 0?g.geometry:Dc(A,e,!1),i;A.type==="TorusGeometry"&&A.arc===Math.PI*2?i=I.getClosedTorusIndicesForBooleanOrSubdiv():i=I.getIndex();let t,C,o,a;({positions:t,triIndices:a}=Yp(I.getAttribute("position"),i));let r;if(A.type==="CylinderGeometry"&&A.cornerRadius===0&&A.hollow===0&&A.openEnded===!1){let s=A.radialSegments*A.heightSegments*3*2,B=s+A.radialSegments*3;r=[s,B]}return{indices:C,verticesPerFace:o}=oL(t,a,I,r),{positions:t,indices:C,verticesPerFace:o}}static allocate(A,g){let e,I,i,t=[],C=[];A.positionWASM&&A.positionWASM.length>0?(e=A.positionWASM,I=A.indexWASM,i=A.verticesPerFaceWASM):(e=ev,I=Iv,i=iv);let o=e.length,a=I.length,r=i.length,s=e.length+t.length+C.length,B=I.length+i.length,Q=s*Float32Array.BYTES_PER_ELEMENT+B*Uint32Array.BYTES_PER_ELEMENT,n=s*Float32Array.BYTES_PER_ELEMENT,E=B*Uint32Array.BYTES_PER_ELEMENT,l=De._malloc(Q),h=new Float32Array(De.HEAPF32.buffer,l,s),u=new Uint32Array(De.HEAPU32.buffer,l+n,B);h.set(e,0),h.set(t,e.length),h.set(C,e.length+t.length),u.set(I,0),u.set(i,I.length);let D;A?.scaleBaked?.some(w=>w!==1)&&(D=new wg().makeScale(...A.scaleBaked)),g&&(D?D.premultiply(g):D=g);let p=D?De.alloc_subdivision_surface2(l,o,l+n,a,l+n+I.length*Uint32Array.BYTES_PER_ELEMENT,r,D.elements):De.alloc_subdivision_surface(l,o,l+n,a,l+n+I.length*Uint32Array.BYTES_PER_ELEMENT,r);return De._free(l),p}static buildLevel(A,g,e,I,i){let t=i?De.get_mesh_data2(A,g?De.Level.CONTROL:De.Level.REFINED,e,i.elements):De.get_mesh_data(A,g?De.Level.CONTROL:De.Level.REFINED,e),C=8,o=De.HEAPU32.subarray(t>>2,(t>>2)+C),a=o.subarray(4,8),r=0,s=De.HEAPU32[o[r]>>2],B=De.HEAPF32.subarray(s>>2,(s>>2)+a[r]);r++;let Q=De.HEAPU32[o[r]>>2],n=De.HEAPF32.subarray(Q>>2,(Q>>2)+a[r]);r++;let E=De.HEAPU32[o[r]>>2],l=De.HEAPU32.subarray(E>>2,(E>>2)+a[r]);r++;let h=De.HEAPU32[o[r]>>2],u=De.HEAPU32.subarray(h>>2,(h>>2)+a[r]);if(r++,I===void 0){let D=new se;if(D.setIndex(new EE(u,1)),D.setAttribute("position",new _g(B,3)),D.setAttribute("normal",new _g(n,3)),g){D.setAttribute("faceMap",new EE(l,1));let p=new Float32Array(n.length/3*4).fill(0);D.setAttribute("color",new Se(p,4))}return De.free_mesh_data(t),D.userData.type="SubdivGeometry",D}I.getAttribute("position").copyArray(B),I.getAttribute("normal").copyArray(n),I.attributes.position.needsUpdate=!0,I.attributes.normal.needsUpdate=!0,De.free_mesh_data(t)}static freeSubdivPointer(A){De.free_bvh(A),De.free_subdivision_surface(A)}static buildControlCageWireframe(A,g,e){let I=De.get_wireframe_data_for_base_level(A),i=4,t=De.HEAPU32.subarray(I>>2,(I>>2)+i),C=t.subarray(2,4),o=0,a=De.HEAPU32[t[o]>>2],r=De.HEAPF32.subarray(a>>2,(a>>2)+C[o]);o++;let s=De.HEAPU32[t[o]>>2],B=De.HEAPU32.subarray(s>>2,(s>>2)+C[o]);if(g===void 0){let Q=new se;Q.setAttribute("position",new _g(r,3));let n=new Float32Array(r.length);for(let E=0,l=r.length;E<l;)n[E++]=e.r,n[E++]=e.g,n[E++]=e.b;return Q.setAttribute("color",new Se(n,3)),Q.setIndex(new EE(B,1)),De.free_wireframe_data_for_base_level(I),Q}g.getAttribute("position").copyArray(r),g.attributes.position.needsUpdate=!0,De.free_wireframe_data_for_base_level(I)}static updateCollabMesh(A,g,e){let I=g===0;I||De.set_destination_refinement_level(A,g);let i=e?De.get_topological_data2(A,I?De.Level.CONTROL:De.Level.REFINED,e.elements):De.get_topological_data(A,I?De.Level.CONTROL:De.Level.REFINED),t=6,C=De.HEAPU32.subarray(i>>2,(i>>2)+t),o=C.subarray(3,6),a=0,r=De.HEAPU32[C[a]>>2],s=new Float32Array(De.HEAPF32.subarray(r>>2,(r>>2)+o[a]));a++;let B=De.HEAPU32[C[a]>>2],Q=new Uint32Array(De.HEAPU32.subarray(B>>2,(B>>2)+o[a]));a++;let n=De.HEAPU32[C[a]>>2],E=new Uint8Array(De.HEAPU32.subarray(n>>2,(n>>2)+o[a]));return De.free_topological_data(i),{positions:s,indices:Q,verticesPerFace:E}}},tv=["getX","getY","getZ"];function Yp(A,g){let e={},I=g?g.count:A.count,i=0,t=[],C=[],o=1e4;for(let r=0;r<I;r++){let s=g?g.getX(r):r,B="";for(let Q=0;Q<3;Q++)B+=`${~~(A[tv[Q]](s)*o)},`;if(B in e)t.push(e[B]);else{for(let Q=0;Q<3;Q++)C.push(A[tv[Q]](s));e[B]=i,t.push(i),i++}}let a=[];for(let r=0;r<t.length;r+=3)t[r]===t[r+1]||t[r]===t[r+2]||t[r+1]===t[r+2]||a.push(t[r],t[r+1],t[r+2]);return{positions:C,triIndices:a}}var vu=new x,i0=new x,t0=new x,C0=new x;function oL(A,g,e,I){let i=[],t=[];if(e.userData.shape!==void 0&&e.userData.parameters.depth===0&&e.userData.shape.shapeHoles.length===0){let a=e.userData.shape.extractShapePointsToFlatArray([]),r=e.userData.parameters.spikes;if(e.userData.type==="EllipseGeometry"&&r<=24&&r%4===0&&e.userData.parameters.angle>=360){let Q=a.length/2/r;a=a.filter((n,E)=>Math.floor(E/2)%Q===0)}let s=0;for(let Q=0;Q<a.length;Q+=2)s+=(a[Q]-a[(Q===0?a.length:Q)-2])*(a[Q+1]+a[(Q===0?a.length:Q)-1]);A.length=0;let B=0;if(s<0)for(let Q=0;Q<a.length;Q+=2)A.push(a[Q],a[Q+1],0),i.push(B++);else for(let Q=a.length-2;Q>=0;Q-=2)A.push(a[Q],a[Q+1],0),i.push(B++);return t.push(B),{indices:i,verticesPerFace:t}}let C=new Float32Array([e.userData.parameters.depth])[0],o=0;for(;o<g.length;){if(e.useNgonForTopBottomFaceDuringBake){let a=0;if((A[g[o]*3+2]===C||A[g[o]*3+2]===0)&&a++,(A[g[o+1]*3+2]===C||A[g[o+1]*3+2]===0)&&a++,(A[g[o+2]*3+2]===C||A[g[o+2]*3+2]===0)&&a++,a===3)break}if(g[o+1]===g[o+3]&&g[o+2]===g[o+5]||g[o+0]===g[o+3]&&g[o+2]===g[o+4]){vu.set(A[g[o]*3],A[g[o]*3+1],A[g[o]*3+2]),i0.set(A[g[o+1]*3],A[g[o+1]*3+1],A[g[o+1]*3+2]),t0.set(A[g[o+4]*3],A[g[o+4]*3+1],A[g[o+4]*3+2]),C0.set(A[g[o+5]*3],A[g[o+5]*3+1],A[g[o+5]*3+2]),i0.sub(vu).normalize(),t0.sub(vu).normalize(),C0.sub(vu).normalize();let a=i0.cross(t0).dot(C0);Math.abs(a)>.005||I&&I.some((r,s)=>s%2===1?!1:o>=I[s]&&o<I[s+1])?(i.push(g[o],g[o+1],g[o+2]),t.push(3),o+=3):(i.push(g[o],g[o+1],g[o+4],g[o+5]),t.push(4),o+=6)}else i.push(g[o],g[o+1],g[o+2]),t.push(3),o+=3}if(e.useNgonForTopBottomFaceDuringBake){let a=[],r=[],s=0;for(let B=0,Q=0;B<A.length;B+=3,Q++)A[B+2]===0&&(a.push(Q),s++),A[B+2]===C&&r.push(Q);if(e.userData.parameters.extrudeBevelSize===0){let B=r[0];r[0]=r[1],r[1]=B}a.reverse(),i.push(...a,...r),t.push(s,s)}return{indices:i,verticesPerFace:t}}var Vr={};U_(Vr,{calcBoolean:()=>MtA,calcBooleanTopological:()=>mtA,freeMeshSet:()=>FtA,getMeshSet:()=>ktA,hasOpenEdges:()=>UtA,transformMeshSet:()=>NtA});var aL,ftA=new Promise(A=>{aL=A}),Ku;function StA(){if(Ku)return Ku;async function A(){let g="https://unpkg.com/@splinetool/boolean-wasm@1.9.3/build",e=Promise.resolve().then(()=>(Xm(),Zm)),[I,i]=await Promise.all([e,fetch(`${g}/boolean.wasm`).then(o=>o.arrayBuffer())]),t=I.default,C=await t({wasmBinary:i});aL(C)}return Ku=A(),Ku}var II,wE;ftA.then(A=>II=A);function GtA(A,g,e){let I,i;A.userData.parameters.type==="TorusGeometry"&&A.userData.parameters.arc===Math.PI*2?i=A.getClosedTorusIndicesForBooleanOrSubdiv():i=A.getIndex();let{positions:t,triIndices:C}=Yp(A.getAttribute("position"),i),o;if(g&&e){let{indices:a,verticesPerFace:r}=oL(t,C,A);o=r.length,I=[];for(let s=0,B=0;s<o;s++){I.push(r[s]);for(let Q=0;Q<r[s];Q++)I.push(a[B++])}}else{let a=C.length;I=Array(a+a/3),o=0;for(let r=0,s=0;s<I.length;)I[s++]=3,o++,I[s++]=C[r++],I[s++]=C[r++],I[s++]=C[r++]}return{positions:t,faceIndices:I,nFaces:o}}function rL(A){let g=A.length,e=g*Uint32Array.BYTES_PER_ELEMENT,I=g*Float32Array.BYTES_PER_ELEMENT,i=Number.isInteger(A[0])?e:I,t=II._malloc(i);return(Number.isInteger(A[0])?new Uint32Array(II.HEAPU32.buffer,t,g):new Float32Array(II.HEAPF32.buffer,t,g)).set(A,0),t}function sL(A){switch(A){case 0:return II.OP.UNION;case 1:return II.OP.INTERSECTION;case 2:return II.OP.A_MINUS_B;case 3:return II.OP.B_MINUS_A;case 4:return II.OP.SYMMETRIC_DIFFERENCE;case 5:return II.OP.ALL;default:throw new Error("Unknown boolean operation "+A)}}function mtA(A,g){wE===void 0&&(wE=II.init_csg());let e=rL(A),I=II.csg_calc_topological(wE,e,A.length,sL(g));II._free(e);let i=6,t=II.HEAPU32.subarray(I>>2,(I>>2)+i),C=t.subarray(3,6),o=0,a=II.HEAPU32[t[o]>>2],r=new Float32Array(II.HEAPF32.subarray(a>>2,(a>>2)+C[o]));o++;let s=II.HEAPU32[t[o]>>2],B=new Uint32Array(II.HEAPU32.subarray(s>>2,(s>>2)+C[o]));o++;let Q=II.HEAPU32[t[o]>>2],n=new Uint8Array(II.HEAPU32.subarray(Q>>2,(Q>>2)+C[o]));return II.free_mesh_data(I),{positions:r,indices:B,verticesPerFace:n}}function MtA(A,g,e,I){wE===void 0&&(wE=II.init_csg());let i=rL(A),t=II.csg_calc(wE,i,A.length,I,sL(g));II._free(i);let C=5,o=II.HEAPU32.subarray(t>>2,(t>>2)+C),a=o.subarray(2,5),r=0,s=II.HEAPU32[o[r]>>2],B=II.HEAPF32.subarray(s>>2,(s>>2)+a[r]);r++;let Q=II.HEAPU32[o[r]>>2],n=II.HEAPF32.subarray(Q>>2,(Q>>2)+a[r]);r++;let E=a[r];e.setAttribute("position",new _g(B,3)),e.setAttribute("normal",new _g(n,3));let l=II.HEAPF32.subarray((t>>2)+5,(t>>2)+5+6);return e.boundingSphere===null&&(e.boundingSphere=new VC),e.boundingSphere.center.set(l[0],l[1],l[2]),e.boundingSphere.radius=(l[3]**2+l[4]**2+l[5]**2)**.5,e.userData.parameters={width:l[3]*2,height:l[4]*2,depth:l[5]*2},II.free_mesh_data(t),E}function ktA(A,g,e){if(II===void 0)return-1;let I,i,t;if(g&&A.userData.positions!==void 0){let u=A.userData;t=u.verticesPerFace.length,I=u.positions,i=Array(u.verticesPerFace.reduce((D,p)=>D+p,0)+t);for(let D=0,p=0,w=0;D<u.verticesPerFace.length;D++){i[w++]=u.verticesPerFace[D];for(let k=0;k<u.verticesPerFace[D];k++)i[w++]=u.indices[p++]}}else({positions:I,faceIndices:i,nFaces:t}=GtA(A,g,e));let C=I.length,o=i.length,a=I.length,r=i.length,s=a*Float32Array.BYTES_PER_ELEMENT+r*Uint32Array.BYTES_PER_ELEMENT,B=a*Float32Array.BYTES_PER_ELEMENT,Q=r*Uint32Array.BYTES_PER_ELEMENT,n=II._malloc(s),E=new Float32Array(II.HEAPF32.buffer,n,a),l=new Uint32Array(II.HEAPU32.buffer,n+B,r);E.set(I,0),l.set(i,0);let h=II.get_csg_mesh(n,C,n+B,o,t);return II._free(n),h}function UtA(A){return II.has_open_edges(A)}function NtA(A,g){II.transform_csg_mesh(A,g.elements)}function FtA(A){II.free_csg_mesh(A)}var RtA={ConeGeometry:XIA,CubeGeometry:$IA,CylinderGeometry:qb,DodecahedronGeometry:giA,EllipseGeometry:ZG,HelixGeometry:RiA,IcosahedronGeometry:viA,LatheGeometry:KiA,NonParametricGeometry:HiA,PolygonGeometry:AL,PyramidGeometry:TiA,RectangleGeometry:XG,SphereGeometry:PiA,PlaneGeometry:jiA,BackdropGeometry:WiA,StarGeometry:gL,TextFrameGeometry:ViA,TorusGeometry:ZiA,TorusKnotGeometry:$iA,TriangleGeometry:AtA,PathGeometry:htA,VectorGeometry:qQ},Cv=A=>RtA[A.type].create(A);function _n(A){return A!==null&&"booleanOp"in A}var BL=class extends _G(Oi){constructor(){super(...arguments),this.booleanMeshSetAddress=-1,this.booleanWasTransformed=!1,this.booleanMatrixInvOld=new wg}updateVisible(A){super.updateVisible(A),this.visible=!_n(this.parent)&&this.visible,_n(this.parent)&&this.parent.invalidateDownstreamBooleanData()}freeBooleanPointer(){this.booleanMeshSetAddress!==-1&&(Vr.freeMeshSet(this.booleanMeshSetAddress),this.booleanMeshSetAddress=-1)}invalidateDownstreamBooleanData(A=!1){return A?this.booleanWasTransformed=!0:this.freeBooleanPointer(),_n(this.parent)?this.parent.invalidateDownstreamBooleanData():this}invalidateUpstreamBooleanData(){this.freeBooleanPointer();for(let A of this.children)A instanceof BL&&(A.freeBooleanPointer(),_n(A)&&A.invalidateUpstreamBooleanData())}updateTransformState(A,g){let e=super.updateTransformState(A,g);return e&&_n(this.parent)&&this.invalidateDownstreamBooleanData(!0),e}onVariableUpdate(A=!1){super.onVariableUpdate(A),_n(this.parent)&&this.invalidateDownstreamBooleanData(!0)}},Ju=new ji;function $G(A,g=0,e=A.count,I,i){let t=1/0,C=1/0,o=1/0,a=-1/0,r=-1/0,s=-1/0;for(let B=g;B<e;B++){let Q=A.getX(B),n=A.getY(B),E=A.getZ(B);Q<t&&(t=Q),n<C&&(C=n),E<o&&(o=E),Q>a&&(a=Q),n>r&&(r=n),E>s&&(s=E)}Ju.min.set(t,C,o),Ju.max.set(a,r,s),Ju.getCenter(I),Ju.getSize(i).multiplyScalar(.5)}var vtA=new se,KtA=new NQ,RC=class extends BL{constructor(A,g){super(vtA,KtA),this.super_Entity(A,g)}updateState(A,g){this.updateState_Entity(A,g)}updateEntityBoxSize(A,g){let e=this.geometry.getAttribute("position");e!==void 0?$G(e,this.geometry.drawRange.start,this.geometry.drawRange.count<1/0?this.geometry.drawRange.count:e.count,A,g):super.updateEntityBoxSize(A,g)}},eB=class{constructor(A){if(this.hashProperties=void 0,this.isNode=!0,this.shortcuts={},eB.uuidContext===null)throw new Error("plz startContext");eB.uuidContext===eB.globalContext?this.uuid="_gid"+eB.uuidContext.nodeContextUuid++:this.uuid="_uid"+eB.uuidContext.nodeContextUuid++,this.type=A,this.name=""}static startContext(A){this.uuidContext===null||this.uuidContext===eB.globalContext?this.uuidContext=A:console.error("Can't start context twice")}static endContext(A){this.uuidContext!==A&&console.error("Can't end context twice"),this.uuidContext=null}analyze(A,g){g=g??{},A.analyzing=!0,this.build(A.addFlow(g.slot,g.cache,g.context),"v4"),A.clearVertexNodeCode(),A.clearFragmentNodeCode(),A.removeFlow(),A.analyzing=!1}analyzeAndFlow(A,g,e){return e=e??{},this.analyze(A,e),this.flow(A,g,e)}flow(A,g,e){e=e??{},A.addFlow(e.slot,e.cache,e.context);let I={result:this.build(A,g),code:A.clearNodeCode(),extra:A.context.extra};return A.removeFlow(),I}build(A,g,e){g=g??this.getType(A,g);let I=A.getNodeData(e??this);return A.analyzing&&this.appendDepsNode(A,I,g),A.nodes.indexOf(this)===-1&&A.nodes.push(this),this.updateFrame!==void 0&&A.updaters.indexOf(this)===-1&&A.updaters.push(this),this.generate(A,g,e)}updateFrame(A){}generateReadonly(A,g,e,I,i,t){return""}generate(A,g,e,I,i){return""}parse(A,g,e,I){}appendDepsNode(A,g,e){g.deps=(g.deps||0)+1;let I=A.getTypeLength(e);(I>(g.outputMax||0)||this.getType(A,e))&&(g.outputMax=I,g.output=e)}setName(A){this.name=A}getName(){return this.name}getType(A,g){return g==="sampler2D"||g==="samplerCube"?g:this.type}},pt=eB;pt.globalContext={nodeContextUuid:0},pt.uuidContext=eB.globalContext;var ov=class{constructor(A){A=A??{},this.name=A.name,this.type=A.type,this.node=A.node,this.size=A.size,this.needsUpdate=A.needsUpdate}get value(){return this.node.value}set value(A){this.node.value=A}},JtA=class{constructor(){this.nodes={},this.keywords={}}add(A){this.nodes[A.name]=A}addKeyword(A,g,e){e=e!==void 0?e:!0,this.keywords[A]={callback:g,cache:e}}remove(A){delete this.nodes[A.name]}removeKeyword(A){delete this.keywords[A]}get(A){return this.nodes[A]}getKeyword(A,g){return this.keywords[A].callback(g)}getKeywordData(A){return this.keywords[A]}contains(A){return this.nodes[A]!==void 0}containsKeyword(A){return this.keywords[A]!==void 0}},PC=new JtA,WI=class extends pt{constructor(A,g){super(A),this.scope="",g=g??{},this.shared=g.shared!==void 0?g.shared:!0,this.unique=g.unique!==void 0?g.unique:!1}build(A,g,e,I){if(g=g??this.getType(A),this.getShared(A,g)){let i=this.getUnique(A,g);i&&this.uuid===void 0&&(this.uuid=Xg.generateUUID()),e=A.getUUID(e??this.getUUID(),!i);let t=A.getNodeData(e),C=t.output||this.getType(A);if(A.analyzing)return(t.deps||0)>0||this.getLabel()?(this.appendDepsNode(A,t,g),this.generate(A,g,e)):super.build(A,g,e);if(i)return t.name=t.name||super.build(A,g,e),t.name;if(!this.getLabel()&&(!this.getShared(A,C)||A.context.ignoreCache||t.deps===1))return super.build(A,g,e);e=this.getUUID(!1);let o=this.getTemp(A,e);if(o)return A.format(o,C,g);{o=super.generate(A,g,e,t.output,I);let a=this.generate(A,C,e);return A.addNodeCode(o+" = "+a+";"),A.format(o,C,g)}}return super.build(A,g,e)}getShared(A,g){return g!=="sampler2D"&&g!=="samplerCube"&&this.shared}getUnique(A,g){return this.unique}setLabel(A){return this.label=A,this}getLabel(){return this.label}getUUID(A){let g=this.uuid;return typeof this.scope=="string"&&(g=this.scope+"-"+g),g}getTemp(A,g){g=g||this.uuid;let e=A.getVars()[g];return e?e.name:void 0}generate(A,g,e,I,i){return this.getShared(A,g)||console.error("TempNode is not shared"),e=e??this.uuid,A.getTempVar(e,I??this.getType(A),i,this.getLabel()).name}},ZC=class extends WI{constructor(A,g){g=g??{},g.shared=g.shared!==void 0?g.shared:!1,super(A,g),this.readonly=!1}setReadonly(A){return this.readonly=A,this.hashProperties=this.readonly?["value"]:void 0,this}getReadonly(){return this.readonly}generate(A,g,e,I,i,t){e=A.getUUID(e??this.getUUID()),I=I??this.getType(A);let C=A.getNodeData(e);return this.getReadonly()&&this.generateReadonly!==void 0?this.generateReadonly(A,g,e,I,i,t):A.isShader("vertex")?(C.vertex||(C.vertex=A.createVertexUniform(I,this,i,t,this.getLabel())),A.format(C.vertex.name,I,g)):(C.fragment||(C.fragment=A.createFragmentUniform(I,this,i,t,this.getLabel())),A.format(C.fragment.name,I,g))}},Xt=class extends ZC{constructor(A=0,g){super("v2"),this.nodeType="Vector2",this.value=A instanceof mA?A:new mA(A,g)}get x(){return this.value.x}set x(A){this.value.x=A}get y(){return this.value.y}set y(A){this.value.y=A}generateReadonly(A,g,e,I,i,t){return A.format("vec2("+this.value.x+", "+this.value.y+")",I,g)}},ko=class extends ZC{constructor(A=0,g,e){super("v3"),this.nodeType="Vector3",this.value=A instanceof x?A:new x(A,g,e)}get x(){return this.value.x}set x(A){this.value.x=A}get y(){return this.value.y}set y(A){this.value.y=A}get z(){return this.value.z}set z(A){this.value.z=A}generateReadonly(A,g,e,I,i,t){return A.format("vec3("+this.value.x+", "+this.value.y+", "+this.value.z+")",I,g)}},iC=class extends de{constructor(A,g,e,I){super(A,g,e),this.isColorA=!0,this.a=I}setRGBA(A,g,e,I){super.setRGB(A,g,e),this.a=I}copy(A){return super.copy(A),this.a="a"in A?A.a:1,this}clone(){return new this.constructor(this.r,this.g,this.b,this.a)}equals(A){return super.equals(A)&&this.a===A.a}setStyle(A,g="srgb"){let e;if(A==="transparent")return this.setRGBA(0,0,0,0),this;if(e=/^((?:rgb|hsl)a?)\(([^)]*)\)/.exec(A)){let I,i=e[1],t=e[2];switch(i){case"rgb":case"rgba":if(I=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(t))return this.a=i==="rgba"?parseFloat(I[4]):1,super.setStyle(A,g);break;case"hsl":case"hsla":if(I=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)%\s*,\s*(\d*\.?\d+)%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(t))return this.a=i==="hsla"?parseFloat(I[4]):1,super.setStyle(A,g);break}}return super.setStyle(A,g)}get x(){return this.r}get y(){return this.g}get z(){return this.b}get w(){return this.a}set x(A){this.r=A}set y(A){this.g=A}set z(A){this.b=A}set w(A){this.a=A}},Zr=class extends ZC{constructor(A){super("v4"),this.nodeType="Vector4",this.value=A instanceof iC?A:new iC(A.r,A.g,A.b,A.a)}generateReadonly(A,g,e,I,i,t){return A.format("vec4("+this.value.r+", "+this.value.g+", "+this.value.b+", "+this.value.a+")",I,g)}},qtA=/^\s*([a-z_0-9]+)\s([a-z_0-9]+)\s*\((.*?)\)/i,av=/[a-z_0-9]+/gi,Hg=class extends WI{constructor(A,g,e,I,i){super(i),this.src="",this.nodeType="Function",this.useKeywords=!0,this.includes=[],this.extensions={},this.keywords={},this.isMethod=i===void 0,this.isInterface=!1,this.parse(A,g,e,I)}getShared(A,g){return!this.isMethod}getType(A){return A.getTypeByFormat(this.type)}getInputByName(A){if(this.inputs){let g=this.inputs.length;for(;g--;)if(this.inputs[g].name===A)return this.inputs[g]}}getIncludeByName(A){if(this.includes){let g=this.includes.length;for(;g--;)if(this.includes[g].name===A)return this.includes[g]}}generate(A,g,e,I,i){let t,C=0,o=this.src;if(this.includes)for(let r=0;r<this.includes.length;r++)A.include(this.includes[r],this);for(let r in this.extensions)A.extensions[r]=!0;let a=[];for(;t=av.exec(this.src);)a.push(t);for(let r=0;r<a.length;r++){let s=a[r],B=s[0],Q=this.isMethod?!this.getInputByName(B):!0,n=B;if(this.keywords[B]||this.useKeywords&&Q&&PC.containsKeyword(B)){let E=this.keywords[B];if(!E){let l=PC.getKeywordData(B);l.cache&&(E=A.keywords[B]),E=E||PC.getKeyword(B,A),l.cache&&(A.keywords[B]=E)}n=E.build(A)}B!==n&&o[s.index+C-1]!=="."&&(o=o.substring(0,s.index+C)+n+o.substring(s.index+B.length+C),C+=n.length-B.length),this.getIncludeByName(n)===void 0&&PC.contains(n)&&A.include(PC.get(n))}return g==="source"?o:this.isMethod?(this.isInterface||A.include(this,void 0,o),this.name):A.format("( "+o+" )",this.getType(A),g)}parse(A,g,e,I){if(this.src=A||"",this.includes=g??[],this.extensions=e??{},this.keywords=I??{},this.isMethod){let i=qtA.exec(this.src);if(this.inputs=[],i&&i.length==4){this.type=i[1],this.name=i[2];let t=i[3].match(av);if(t){let C=0;for(;C<t.length;){let o=t[C++],a;o==="in"||o==="out"||o==="inout"?a=t[C++]:(a=o,o="");let r=t[C++];this.inputs.push({name:r,type:a,qualifier:o})}}this.isInterface=this.src.indexOf("{")===-1}else this.type="",this.name=""}}},btA=/^([a-z_0-9]+)\s([a-z_0-9]+)\s?\=?\s?(.*?)(\;|$)/i,QL=class extends WI{constructor(A="",g){super(),this.src="",this.useDefine=!1,this.nodeType="Const",this.parse(A||QL.PI,void 0,void 0,void 0,g)}getType(A){return A.getTypeByFormat(this.type)}parse(A,g,e,I,i){this.src=A||"";let t,C,o="",a=btA.exec(A);this.useDefine=i??this.src.charAt(0)==="#",a&&a.length>1?(C=a[1],t=a[2],o=a[3]):(t=this.src,C="f"),this.name=t,this.type=C,this.value=o}build(A,g){if(g==="source"){if(this.value)return this.useDefine?"#define "+this.name+" "+this.value:"const "+this.type+" "+this.name+" = "+this.value+";";if(this.useDefine)return this.src}return A.include(this),A.format(this.name,this.getType(A),g)}generate(A,g,e,I,i){return A.format(this.name,this.getType(A),g)}},_I=QL;_I.PI="PI",_I.PI2="PI2",_I.RECIPROCAL_PI="RECIPROCAL_PI",_I.RECIPROCAL_PI2="RECIPROCAL_PI2",_I.LOG2="LOG2",_I.EPSILON="EPSILON";var LtA=new RegExp(`^structs*([a-z_0-9]+)s*{s*((.|
)*?)}`,"gim"),xtA=new RegExp("s*(w*?)s*(w*?)(=|;)","gim"),nL=class extends WI{constructor(A=""){super(),this.inputs=[],this.src="",this.nodeType="Struct",this.parse(A)}getType(A){return A.getTypeByFormat(this.name)}getInputByName(A){let g=this.inputs.length;for(;g--;)if(this.inputs[g].name===A)return this.inputs[g]}generate(A,g,e,I,i){return g==="source"?this.src+";":A.format("( "+this.src+" )",this.getType(A),g)}parse(A=""){this.src=A,this.inputs=[];let g=LtA.exec(A);if(g){let e=g[2],I;for(;I=xtA.exec(e);)this.inputs.push({type:I[1],name:I[2]});this.name=g[1]}else this.name="";this.type=this.name}},Am=class extends WI{constructor(A){super("v2",{shared:!1}),this.nodeType="UV",this.index=A??0}generate(A,g){A.requires.uv[this.index]=!0;let e=this.index>0?this.index+1:"",I=A.isShader("vertex")?"uv"+e:"vUv"+e;return A.format(I,this.getType(A),g)}};PC.addKeyword("uv",function(){return new Am});PC.addKeyword("uv2",function(){return new Am(1)});var iE=class extends WI{constructor(A,g){super("v4"),this.nodeType="ColorSpace",this.input=A,this.method=g??iE.LINEAR_TO_LINEAR,this.hashProperties=["method"]}static getEncodingComponents(A){switch(A){case ca:return["Linear"];case je:return["sRGB"];default:return[]}}generate(A,g){let e=this.input.build(A,"v4"),I=this.getType(A),i=iE.Nodes[this.method],t=A.include(i);if(t===iE.LINEAR_TO_LINEAR)return A.format(e,I,g);if(i.inputs?.length===2){let C=this.factor.build(A,"f");return A.format(t+"( "+e+", "+C+" )",I,g)}else return A.format(t+"( "+e+" )",I,g)}fromEncoding(A){let g=iE.getEncodingComponents(A);this.method="LinearTo"+g[0],this.factor=g[1]}fromDecoding(A){let g=iE.getEncodingComponents(A);this.method=g[0]+"ToLinear",this.factor=g[1]}},gr=iE;gr.Nodes={LinearToLinear:new Hg(["vec4 LinearToLinear( in vec4 value ) {","	return value;","}"].join(`
`)),sRGBToLinear:new Hg(["vec4 sRGBToLinear( in vec4 value ) {","	return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );","}"].join(`
`)),LinearTosRGB:new Hg(["vec4 LinearTosRGB( in vec4 value ) {","	return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );","}"].join(`
`))},gr.LINEAR_TO_LINEAR="LinearToLinear",gr.SRGB_TO_LINEAR="sRGBToLinear",gr.LINEAR_TO_SRGB="LinearTosRGB";var Bi=class extends Hg{constructor(A="",g,e,I,i){super(A,i,I,e,g),this.nodeType="Expression"}},Is=class extends ZC{constructor(A=new yi,g,e,I){super("v4",{shared:!0}),this.nodeType="Texture",this.value=A,this.uv=g??new Am,this.bias=e,this.project=I!==void 0?I:!1}getTexture(A,g){return super.generate(A,g,this.value.uuid,"t")}generate(A,g){if(g==="sampler2D")return this.getTexture(A,g);let e=this.getTexture(A,g),I=this.uv.build(A,this.project?"v4":"v2"),i=this.bias?this.bias.build(A,"f"):void 0;i===void 0&&A.context.bias&&(i=A.context.bias.setTexture(this).build(A,"f"));let t,C;this.project?t="texture2DProj":t=i?"tex2DBias":"tex2D",i?C=t+"( "+e+", "+I+", "+i+" )":C=t+"( "+e+", "+I+" )";let o={include:A.isShader("vertex"),ignoreCache:!0},a=this.getType(A);return A.addContext(o),this.colorSpace=this.colorSpace??new gr(new Bi("",a)),this.colorSpace.fromDecoding(A.getTextureEncodingFromMap(this.value)),this.colorSpace.input.parse(C),C=this.colorSpace.build(A,a),A.removeContext(),A.format(C,a,g)}},$g=class extends ZC{constructor(A){super("f"),this.nodeType="Float",this.value=A??0}generateReadonly(A,g,e,I,i,t){return A.format(this.value+(this.value%1?"":".0"),I,g)}},rv=class extends WI{constructor(A,g){super(),this.inputs=[],this.nodeType="FunctionCall",this.value=A,this.inputs=g??[]}getFunction(){return this.value}getType(A){return this.value.getType(A)}generate(A,g,e,I,i){I=this.getType(A);let t=this.value,C=t.build(A,g)+"( ",o=[];if(t.inputs){for(let a=0;a<t.inputs.length;a++){let r=t.inputs[a],s=this.inputs[a]||this.inputs[r.name];o.push(s.build(A,A.getTypeByFormat(r.type)))}C+=o.join(", ")+" )"}return A.format(C,I,g)}},EL=class extends WI{constructor(A,g,e=EL.ADD){super(),this.nodeType="Operator",this.type=A.type,this.a=A,this.b=g,this.op=e}getType(A){let g=this.a.getType(A),e=this.b.getType(A);return A.isTypeMatrix(g)?"v4":A.getTypeLength(e)>A.getTypeLength(g)?e:g}generate(A,g){let e=this.getType(A);this.type=e;let I=this.a.build(A,e),i=this.b.build(A,e);return A.format("( "+I+" "+this.op+" "+i+" )",e,g)}},TC=EL;TC.ADD="+",TC.SUB="-",TC.MUL="*",TC.DIV="/";var OI=class extends WI{constructor(A,g=OI.ABS,e,I){super(),this.nodeType="Math",this.a=A,typeof g!="string"?this.b=g:I=g,typeof e!="string"?this.c=e:I=e,this.method=I,this.hashProperties=["method"]}getNumInputs(A){switch(this.method){case OI.MIX:case OI.CLAMP:case OI.REFRACT:case OI.SMOOTHSTEP:case OI.FACEFORWARD:return 3;case OI.MIN:case OI.MAX:case OI.MOD:case OI.STEP:case OI.REFLECT:case OI.DISTANCE:case OI.DOT:case OI.CROSS:case OI.POW:return 2;default:return 1}}getInputType(A){let g=A.getTypeLength(this.a.getType(A)),e=this.b?A.getTypeLength(this.b.getType(A)):0,I=this.c?A.getTypeLength(this.c.getType(A)):0;return g>e&&g>I?this.a.getType(A):e>I?this.b.getType(A):this.c.getType(A)}getType(A){switch(this.method){case OI.LENGTH:case OI.DISTANCE:case OI.DOT:return"f";case OI.CROSS:return"v3"}return this.getInputType(A)}generate(A,g){let e,I,i,t=this.a?A.getTypeLength(this.a.getType(A)):0,C=this.b?A.getTypeLength(this.b.getType(A)):0,o=this.c?A.getTypeLength(this.c.getType(A)):0,a=this.getInputType(A),r=this.getType(A);switch(this.type=r,this.method){case OI.NEGATE:return A.format("( -"+this.a.build(A,a)+" )",a,g);case OI.INVERT:return A.format("( 1.0 - "+this.a.build(A,a)+" )",a,g);case OI.CROSS:e=this.a.build(A,"v3"),I=this.b.build(A,"v3");break;case OI.STEP:e=this.a.build(A,t===1?"f":a),I=this.b.build(A,a);break;case OI.MIN:case OI.MAX:case OI.MOD:e=this.a.build(A,a),I=this.b.build(A,C===1?"f":a);break;case OI.REFRACT:e=this.a.build(A,a),I=this.b.build(A,a),i=this.c.build(A,"f");break;case OI.MIX:e=this.a.build(A,a),I=this.b.build(A,a),i=this.c.build(A,o===1?"f":a);break;default:e=this.a.build(A,a),this.b&&(I=this.b.build(A,a)),this.c&&(i=this.c.build(A,a));break}let s=[];s.push(e),I&&s.push(I),i&&s.push(i);let B=this.getNumInputs(A);if(s.length!==B)throw Error(`Arguments not match used in "${this.method}". Require ${B}, currently ${s.length}.`);return A.format(this.method+"( "+s.join(", ")+" )",r,g)}},_e=OI;_e.RAD="radians",_e.DEG="degrees",_e.EXP="exp",_e.EXP2="exp2",_e.LOG="log",_e.LOG2="log2",_e.SQRT="sqrt",_e.INV_SQRT="inversesqrt",_e.FLOOR="floor",_e.CEIL="ceil",_e.NORMALIZE="normalize",_e.FRACT="fract",_e.SATURATE="saturate",_e.SIN="sin",_e.COS="cos",_e.TAN="tan",_e.ASIN="asin",_e.ACOS="acos",_e.ARCTAN="atan",_e.ABS="abs",_e.SIGN="sign",_e.LENGTH="length",_e.NEGATE="negate",_e.INVERT="invert",_e.MIN="min",_e.MAX="max",_e.MOD="mod",_e.STEP="step",_e.REFLECT="reflect",_e.DISTANCE="distance",_e.DOT="dot",_e.CROSS="cross",_e.POW="pow",_e.MIX="mix",_e.CLAMP="clamp",_e.REFRACT="refract",_e.SMOOTHSTEP="smoothstep",_e.FACEFORWARD="faceforward";var ql=class extends WI{constructor(A,g,e){super("v4"),this.nodeType="TextureCubeUV",this.value=A,this.uv=g,this.bias=e}bilinearCubeUV(A,g,e,I){let i=new rv(ql.Nodes.bilinearCubeUV,[g,e,I]);this.colorSpaceTL=this.colorSpaceTL??new gr(new Bi("","v4")),this.colorSpaceTL.fromDecoding(A.getTextureEncodingFromMap(this.value.value)),this.colorSpaceTL.input.parse(i.build(A)+".tl"),this.colorSpaceTR=this.colorSpaceTR??new gr(new Bi("","v4")),this.colorSpaceTR.fromDecoding(A.getTextureEncodingFromMap(this.value.value)),this.colorSpaceTR.input.parse(i.build(A)+".tr"),this.colorSpaceBL=this.colorSpaceBL??new gr(new Bi("","v4")),this.colorSpaceBL.fromDecoding(A.getTextureEncodingFromMap(this.value.value)),this.colorSpaceBL.input.parse(i.build(A)+".bl"),this.colorSpaceBR=this.colorSpaceBR??new gr(new Bi("","v4")),this.colorSpaceBR.fromDecoding(A.getTextureEncodingFromMap(this.value.value)),this.colorSpaceBR.input.parse(i.build(A)+".br");let t={include:A.isShader("vertex"),ignoreCache:!0};A.addContext(t),this.colorSpaceTLExp=new Bi(this.colorSpaceTL.build(A,"v4"),"v4"),this.colorSpaceTRExp=new Bi(this.colorSpaceTR.build(A,"v4"),"v4"),this.colorSpaceBLExp=new Bi(this.colorSpaceBL.build(A,"v4"),"v4"),this.colorSpaceBRExp=new Bi(this.colorSpaceBR.build(A,"v4"),"v4"),A.removeContext();let C=new Bi("mix( mix( cubeUV_TL, cubeUV_TR, cubeUV.f.x ), mix( cubeUV_BL, cubeUV_BR, cubeUV.f.x ), cubeUV.f.y )","v4");return C.keywords.cubeUV_TL=this.colorSpaceTLExp,C.keywords.cubeUV_TR=this.colorSpaceTRExp,C.keywords.cubeUV_BL=this.colorSpaceBLExp,C.keywords.cubeUV_BR=this.colorSpaceBRExp,C.keywords.cubeUV=i,C}generate(A,g){if(A.isShader("fragment")){let e=this.uv,I=this.bias||A.context.roughness,i=new rv(ql.Nodes.roughnessToMip,[I]),t=new _e(i,ql.Nodes.m0,ql.Nodes.cubeUV_maxMipLevel,_e.CLAMP),C=new _e(t,_e.FLOOR),o=new _e(t,_e.FRACT),a=this.bilinearCubeUV(A,this.value,e,C),r=this.bilinearCubeUV(A,this.value,e,new TC(C,new $g(1).setReadonly(!0),TC.ADD)),s=new _e(a,r,o,_e.MIX);return A.format(s.build(A),"v4",g)}else return console.warn("TextureCubeUVNode is not compatible with "+A.shader+" shader."),A.format("vec4( 0.0 )",this.getType(A),g)}},uS=ql;uS.Nodes=function(){let A=new nL(`struct TextureCubeUVData {
			vec4 tl;
			vec4 tr;
			vec4 br;
			vec4 bl;
			vec2 f;
		}`),g=new _I("float cubeUV_maxMipLevel 8.0",!0),e=new _I("float cubeUV_minMipLevel 4.0",!0),I=new _I("float cubeUV_maxTileSize 256.0",!0),i=new _I("float cubeUV_minTileSize 16.0",!0),t=new Hg(`float getFace(vec3 direction) {
				vec3 absDirection = abs(direction);
				float face = -1.0;
				if (absDirection.x > absDirection.z) {
					if (absDirection.x > absDirection.y)
						face = direction.x > 0.0 ? 0.0 : 3.0;
					else
						face = direction.y > 0.0 ? 1.0 : 4.0;
				} else {
					if (absDirection.z > absDirection.y)
						face = direction.z > 0.0 ? 2.0 : 5.0;
					else
						face = direction.y > 0.0 ? 1.0 : 4.0;
				}
				return face;
		}`);t.useKeywords=!1;let C=new Hg(`vec2 getUV(vec3 direction, float face) {
				vec2 uv;
				if (face == 0.0) {
					uv = vec2(direction.z, direction.y) / abs(direction.x); // pos x
				} else if (face == 1.0) {
					uv = vec2(-direction.x, -direction.z) / abs(direction.y); // pos y
				} else if (face == 2.0) {
					uv = vec2(-direction.x, direction.y) / abs(direction.z); // pos z
				} else if (face == 3.0) {
					uv = vec2(-direction.z, direction.y) / abs(direction.x); // neg x
				} else if (face == 4.0) {
					uv = vec2(-direction.x, direction.z) / abs(direction.y); // neg y
				} else {
					uv = vec2(direction.x, direction.y) / abs(direction.z); // neg z
				}
				return 0.5 * (uv + 1.0);
		}`);C.useKeywords=!1;let o=new Hg(`TextureCubeUVData bilinearCubeUV(sampler2D envMap, vec3 direction, float mipInt) {
			float face = getFace(direction);
			float filterInt = max(cubeUV_minMipLevel - mipInt, 0.0);
			mipInt = max(mipInt, cubeUV_minMipLevel);
			float faceSize = exp2(mipInt);
			float texelSize = 1.0 / (3.0 * cubeUV_maxTileSize);
			vec2 uv = getUV(direction, face) * (faceSize - 1.0);
			vec2 f = fract(uv);
			uv += 0.5 - f;
			if (face > 2.0) {
				uv.y += faceSize;
				face -= 3.0;
			}
			uv.x += face * faceSize;
			if(mipInt < cubeUV_maxMipLevel){
				uv.y += 2.0 * cubeUV_maxTileSize;
			}
			uv.y += filterInt * 2.0 * cubeUV_minTileSize;
			uv.x += 3.0 * max(0.0, cubeUV_maxTileSize - 2.0 * faceSize);
			uv *= texelSize;
			vec4 tl = texture2D(envMap, uv);
			uv.x += texelSize;
			vec4 tr = texture2D(envMap, uv);
			uv.y += texelSize;
			vec4 br = texture2D(envMap, uv);
			uv.x -= texelSize;
			vec4 bl = texture2D(envMap, uv);
			return TextureCubeUVData( tl, tr, br, bl, f );
		}`,[A,t,C,g,e,I,i]);o.useKeywords=!1;let a=new _I("float r0 1.0",!0),r=new _I("float v0 0.339",!0),s=new _I("float m0 -2.0",!0),B=new _I("float r1 0.8",!0),Q=new _I("float v1 0.276",!0),n=new _I("float m1 -1.0",!0),E=new _I("float r4 0.4",!0),l=new _I("float v4 0.046",!0),h=new _I("float m4 2.0",!0),u=new _I("float r5 0.305",!0),D=new _I("float v5 0.016",!0),p=new _I("float m5 3.0",!0),w=new _I("float r6 0.21",!0),k=new _I("float v6 0.0038",!0),U=new _I("float m6 4.0",!0),N=[a,r,s,B,Q,n,E,l,h,u,D,p,w,k,U],G=new Hg(`float roughnessToMip(float roughness) {
			float mip = 0.0;
			if (roughness >= r1) {
				mip = (r0 - roughness) * (m1 - m0) / (r0 - r1) + m0;
			} else if (roughness >= r4) {
				mip = (r1 - roughness) * (m4 - m1) / (r1 - r4) + m1;
			} else if (roughness >= r5) {
				mip = (r4 - roughness) * (m5 - m4) / (r4 - r5) + m4;
			} else if (roughness >= r6) {
				mip = (r5 - roughness) * (m6 - m5) / (r5 - r6) + m5;
			} else {
				mip = -2.0 * log2(1.16 * roughness);// 1.16 = 1.79^0.25
			}
			return mip;
		}`,N);return{bilinearCubeUV:o,roughnessToMip:G,m0:s,cubeUV_maxMipLevel:g}}();var tE=class extends WI{constructor(A){super("v3"),this.nodeType="Normal",this.scope=A??tE.VIEW}getShared(){return this.scope===tE.WORLD}build(A,g,e,I){let i=A.context[this.scope+"Normal"];return i?i.build(A,g,e,I):super.build(A,g,e)}generate(A,g,e,I,i){let t;switch(this.scope){case tE.VIEW:A.isShader("vertex")?t="transformedNormal":t="geometryNormal";break;case tE.LOCAL:A.isShader("vertex")?t="objectNormal":(A.requires.normal=!0,t="vObjectNormal");break;case tE.WORLD:A.isShader("vertex")?t="inverseTransformDirection( transformedNormal, viewMatrix ).xyz":(A.requires.worldNormal=!0,t="vWNormal");break}return A.format(t,this.getType(A),g)}},WC=tE;WC.LOCAL="local",WC.WORLD="world",WC.VIEW="view",WC.NORMAL="normal";PC.addKeyword("viewNormal",function(){return new WC(WC.VIEW)});PC.addKeyword("localNormal",function(){return new WC(WC.NORMAL)});PC.addKeyword("worldNormal",function(){return new WC(WC.WORLD)});var Wr=class extends WI{constructor(A){super("v3"),this.nodeType="Position",this.scope=A??Wr.LOCAL}getType(){switch(this.scope){case Wr.PROJECTION:return"v4"}return this.type}getShader(){switch(this.scope){case Wr.LOCAL:case Wr.WORLD:return!1}return!0}generate(A,g,e,I,i){let t;switch(this.scope){case Wr.LOCAL:A.isShader("vertex")?t="transformed":(A.requires.position=!0,t="vPosition");break;case Wr.WORLD:if(A.isShader("vertex"))return"( modelMatrix * vec4( transformed, 1.0 ) ).xyz";A.requires.worldPosition=!0,t="vWPosition";break;case Wr.VIEW:t=A.isShader("vertex")?"-mvPosition.xyz":"vViewPosition";break;case Wr.PROJECTION:t=A.isShader("vertex")?"( projectionMatrix * modelViewMatrix * vec4( position, 1.0 ) )":"vec4( 0.0 )";break}return A.format(t,this.getType(),g)}},Qa=Wr;Qa.LOCAL="local",Qa.WORLD="world",Qa.VIEW="view",Qa.PROJECTION="projection";PC.addKeyword("position",function(){return new Qa});PC.addKeyword("worldPosition",function(){return new Qa(Qa.WORLD)});PC.addKeyword("viewPosition",function(){return new Qa(Qa.VIEW)});var ja=class extends WI{constructor(A){super("v3"),this.nodeType="Reflect",this.scope=A??ja.CUBE}getUnique(A){return!A.context.viewNormal}getType(){switch(this.scope){case ja.SPHERE:return"v2"}return this.type}generate(A,g){let e=this.getUnique(A);if(A.isShader("fragment")){let I;switch(this.scope){case ja.VECTOR:{let i=new WC(WC.VIEW),t=A.context.roughness,C=i.build(A,"v3"),o=new Qa(Qa.VIEW).build(A,"v3"),a=t?t.build(A,"f"):void 0,r=`reflect( -normalize( ${o} ), ${C} )`;a&&(r=`normalize( mix( ${r}, ${C}, ${a} * ${a} ) )`);let s=`inverseTransformDirection( ${r}, viewMatrix )`;e?(A.addNodeCode(`vec3 reflectVec = ${s};`),I="reflectVec"):I=s;break}case ja.CUBE:{let i=new ja(ja.VECTOR).build(A,"v3"),t="vec3( -"+i+".x, "+i+".yz )";e?(A.addNodeCode(`vec3 reflectCubeVec = ${t};`),I="reflectCubeVec"):I=t;break}case ja.SPHERE:{let i="normalize( ( viewMatrix * vec4( "+new ja(ja.VECTOR).build(A,"v3")+", 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) ).xy * 0.5 + 0.5";e?(A.addNodeCode(`vec2 reflectSphereVec = ${i};`),I="reflectSphereVec"):I=i;break}}return A.format(I,this.getType(),g)}else return console.warn("ReflectNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.type,g)}},fE=ja;fE.CUBE="cube",fE.SPHERE="sphere",fE.VECTOR="vector";var YtA=class extends WI{constructor(A=new Is,g,e){super("v4"),this.nodeType="TextureCube",this.value=A,this.radianceNode=new uS(this.value,g??new fE(fE.VECTOR),e),this.irradianceNode=new uS(this.value,new WC(WC.WORLD),new $g(1).setReadonly(!0))}generate(A,g){return A.isShader("fragment")?(A.require("irradiance"),A.context.bias&&A.context.bias.setTexture(this.value),(A.slot==="irradiance"?this.irradianceNode:this.radianceNode).build(A,g)):(console.warn("TextureCubeNode is not compatible with "+A.shader+" shader."),A.format("vec4( 0.0 )",this.getType(A),g))}},HtA=class extends ZC{constructor(A=new IG,g,e){super("v4",{shared:!0}),this.nodeType="CubeTexture",this.value=A,this.uv=g??new fE,this.bias=e}getTexture(A,g){return super.generate(A,g,this.value.uuid,"tc")}generate(A,g){if(g==="samplerCube")return this.getTexture(A,g);let e=this.getTexture(A,g),I=this.uv?.build(A,"v3"),i=this.bias?this.bias.build(A,"f"):void 0;i===void 0&&A.context.bias&&(i=A.context.bias.setTexture(this).build(A,"f"));let t;i?t="texCubeBias( "+e+", "+I+", "+i+" )":t="texCube( "+e+", "+I+" )";let C={include:A.isShader("vertex"),ignoreCache:!0},o=this.getType(A);return A.addContext(C),this.colorSpace=this.colorSpace??new gr(new Bi("",o)),this.colorSpace.fromDecoding(A.getTextureEncodingFromMap(this.value)),this.colorSpace.input.parse(t),t=this.colorSpace.build(A,o),A.removeContext(),A.format(t,o,g)}},TtA=`
uniform int frameIndex;
uniform vec2 resolution;
uniform mat4 previousModelViewMatrix;
uniform mat4 previousProjectionMatrix;

varying vec4 vCurrentPosition;
varying vec4 vPreviousPosition;
`,OtA=`
layout(location = 1) out vec4 gVelocity;

uniform int frameIndex;
uniform vec2 resolution;

varying vec4 vCurrentPosition;
varying vec4 vPreviousPosition;

const vec2 haltonSequence[16] = vec2[16](
vec2( 0.000000,-0.333334),
vec2(-0.500000, 0.333334),
vec2( 0.500000,-0.777778),
vec2(-0.750000,-0.111112),
vec2( 0.250000, 0.555556),
vec2(-0.250000,-0.555556),
vec2( 0.750000, 0.111112),
vec2(-0.875000, 0.777778),
vec2(0.125000, -0.925926),
vec2(-0.375000, -0.259260),
vec2(0.625000, 0.407408),
vec2(-0.625000, -0.703704),
vec2(0.375000, -0.037038),
vec2(-0.125000, 0.629630),
vec2(0.875000, -0.481482),
vec2(-0.937500, 0.185186));

vec2 vogelDiskSample(int sampleIndex, int sampleCount, float angle) {
  const float goldenAngle = 2.399963f; // radians
  float r = sqrt(float(sampleIndex) + 0.5f) / sqrt(float(sampleCount));
  float theta = float(sampleIndex) * goldenAngle + angle;
  float sine = sin(theta);
  float cosine = cos(theta);
  return vec2(cosine, sine) * r;
}

// Derived from the interleaved gradient function from Jimenez 2014 http:goo.gl/eomGso
float getNoiseInterleavedGradient(vec2 screenPos) {
    vec3 magic = vec3(0.06711056f, 0.00583715f, 52.9829189f);
    return fract(magic.z * fract(dot(screenPos, magic.xy)));
}

`,_tA=`
// TODO: This could be generated CPU side and passed to the shader every frame
const vec2 haltonSequence[16] = vec2[16](
vec2( 0.000000,-0.333334),
vec2(-0.500000, 0.333334),
vec2( 0.500000,-0.777778),
vec2(-0.750000,-0.111112),
vec2( 0.250000, 0.555556),
vec2(-0.250000,-0.555556),
vec2( 0.750000, 0.111112),
vec2(-0.875000, 0.777778),
vec2(0.125000, -0.925926),
vec2(-0.375000, -0.259260),
vec2(0.625000, 0.407408),
vec2(-0.625000, -0.703704),
vec2(0.375000, -0.037038),
vec2(-0.125000, 0.629630),
vec2(0.875000, -0.481482),
vec2(-0.937500, 0.185186));

// TODO: Pass correct view size
vec2 offset = haltonSequence[frameIndex];
offset.x /= resolution.x;
offset.y /= resolution.y;

vec4 currentPosition = gl_Position;
vec4 currentPositionJittered = currentPosition + (vec4(offset.x, offset.y, 0.0, 0.0) * currentPosition.w);

// We want to calculate the velocity with unjittered positions
// so that things that are not moving get a velocity = 0
vCurrentPosition = currentPosition;
vPreviousPosition = previousProjectionMatrix * previousModelViewMatrix * vec4(transformed, 1.0);
#ifdef OUTLINE_COMPENSATION
vPreviousPosition.xy += OUTLINE_COMPENSATION;
#endif
gl_Position = currentPositionJittered;

`,PtA=`
vec2 oldPos = vPreviousPosition.xy;
    oldPos /= vPreviousPosition.w;
    oldPos.xy = (oldPos.xy+1.)/2.0;

vec2 newPos = vCurrentPosition.xy;
    newPos /= vCurrentPosition.w;
    newPos.xy = (newPos.xy+1.)/2.0;

vec2 velocity = (newPos - oldPos);

// Discard fully transparent pixels 
if (gl_FragColor.a <= 0.0) discard;

gVelocity = vec4(velocity, 0.0, 1.0);
`,jtA=`
layout(location = 1) out vec4 gVelocity;
`,WtA=`
    // Discard fully transparent pixels 
    if (gl_FragColor.a <= 0.0) discard;

    gVelocity = vec4(0.0, 0.0, 0.0, 1.0);
`,sv=["x","y","z","w"],ztA=["float","vec2","vec3","vec4"],VtA={float:"f",vec2:"v2",vec3:"v3",vec4:"v4",mat4:"v4",int:"i",bool:"b","float[]":"f[]","vec4[]":"v4[]"},ZtA={t:"sampler2D",tc:"samplerCube",b:"bool",i:"int",f:"float",c:"vec3",v2:"vec2",v3:"vec3",v4:"vec4",m3:"mat3",m4:"mat4","f[]":"float[]","v4[]":"vec4[]"},hL=class{constructor(){this.includes={consts:{},functions:{},structs:{}},this.cache="",this.slot="",this.shader="",this.context={},this.needsJitter=!0,this.getIncludesCode=function(){function A(g,e){return g.deps.length-e.deps.length}return function(g,e){let I=this.getIncludes(g,e);if(!I)return"";let i="";I=I.sort(A);for(let t=0;t<I.length;t++)I[t].src&&(i+=I[t].src+`
`);return i}}(),this.slots=[],this.caches=[],this.contexts=[],this.keywords={},this.nodeData={},this.fragmentVariables={},this.fragmentParsVariables={},this.vertexParsVariables={},this.requires={uv:[],color:[],transparent:!1,irradiance:!1,position:!1,worldPosition:!1,normal:!1,worldNormal:!1,vWorldViewDir:!1,modelMatrix:!1,viewMatrix:!1,projectionMatrix:!1},this.includes={consts:[],functions:[],structs:[]},this.attributes={},this.prefixCode=["#ifdef TEXTURE_LOD_EXT","	#define texCube(a, b) textureCube(a, b)","	#define texCubeBias(a, b, c) textureCubeLodEXT(a, b, c)","	#define tex2D(a, b) texture2D(a, b)","	#define tex2DBias(a, b, c) texture2DLodEXT(a, b, c)","#else","	#define texCube(a, b) textureCube(a, b)","	#define texCubeBias(a, b, c) textureCube(a, b, c)","	#define tex2D(a, b) texture2D(a, b)","	#define tex2DBias(a, b, c) texture2D(a, b, c)","#endif",`
			// NOTE: Include Spline's blending modes. This could be part of BlendNode
			#define SPE_BLENDING_NORMAL 0
			#define SPE_BLENDING_MULTIPLY 1
			#define SPE_BLENDING_SCREEN 2
			#define SPE_BLENDING_OVERLAY 3

			vec3 spe_normalBlend( vec3 a, vec3 b, float alpha ) {
				return mix( a, b, alpha );
			}

			vec3 spe_multiplyBlend( vec3 a, vec3 b, float alpha ) {
				return mix( a, a * b, alpha );
			}

			vec3 spe_screenBlend( vec3 a, vec3 b, float alpha ) {
				vec3 tmp = 1.0 - ( 1.0 - a ) * ( 1.0 - b );
				return mix( a, tmp, alpha );
			}

			vec3 spe_overlayBlend( vec3 a, vec3 b, float alpha ) {
				vec3 tmp = mix( 1. - 2. * (1. - a) * (1. - b), 2. * a * b, step( a, vec3(.5) ) );
				return clamp( mix( a, tmp, alpha ), 0.0, 1.0 );
			}

			vec3 spe_blend( vec3 a, vec3 b, float alpha, int mode ) {
				if ( mode == SPE_BLENDING_NORMAL ) return spe_normalBlend( a, b, alpha );
				else if ( mode == SPE_BLENDING_MULTIPLY ) return spe_multiplyBlend( a, b, alpha );
				else if ( mode == SPE_BLENDING_SCREEN ) return spe_screenBlend( a, b, alpha );
				else if ( mode == SPE_BLENDING_OVERLAY ) return spe_overlayBlend( a, b, alpha );
				return vec3( 1.0 );
			}
			`,"#include <packing>","#include <common>"].join(`
`),this.parsCode={vertex:["float neighbor_offset = 0.0001;",""].join(`
`),fragment:["float accumAlpha = 0.0;",`void accumulateAlpha(float alpha) {
					accumAlpha += (1.0 - accumAlpha) * alpha;
				}`,""].join(`
`)},this.code={vertex:"",fragment:""},this.nodeCode={vertex:"",fragment:""},this.resultCode={vertex:"",fragment:""},this.finalCode={vertex:"",fragment:""},this.inputs={uniforms:{list:[],vertex:[],fragment:[]},arrayUniforms:{list:[],vertex:[],fragment:[]},vars:{varying:[],vertex:[],fragment:[]}},this.defines={},this.uniforms={},this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.updaters=[],this.nodes=[],this.analyzing=!1}build(A,g){this.addVertexParsCode(TtA),this.addFragmentParsCode(OtA),this.buildShader("vertex",A),this.buildShader("fragment",g);for(let e=0;e<this.requires.uv.length;e++)if(this.requires.uv[e]){let I=e>0?e+1:"";this.addVaryCode("varying vec2 vUv"+I+";"),e>0&&this.addVertexParsCode("attribute vec2 uv"+I+";"),this.addVertexFinalCode("vUv"+I+" = uv"+I+";")}return this.requires.color[0]&&(this.addVaryCode("varying vec4 vColor;"),this.addVertexParsCode("attribute vec4 color;"),this.addVertexFinalCode("vColor = color;")),this.requires.color[1]&&(this.addVaryCode("varying vec4 vColor2;"),this.addVertexParsCode("attribute vec4 color2;"),this.addVertexFinalCode("vColor2 = color2;")),this.requires.position&&(this.addVaryCode("varying vec3 vPosition;"),this.addVertexFinalCode("vPosition = transformed;")),this.requires.worldPosition,this.requires.normal&&(this.addVaryCode("varying vec3 vObjectNormal;"),this.addVertexFinalCode("vObjectNormal = normal;")),this.requires.modelMatrix&&this.addFragmentParsCode("uniform mat4 modelMatrix;"),this.requires.viewMatrix&&this.addFragmentParsCode("uniform mat4 viewMatrix;"),this.requires.projectionMatrix&&this.addFragmentParsCode("uniform mat4 projectionMatrix;"),this.requires.worldNormal&&(this.addVaryCode("varying vec3 vWNormal;"),this.addVertexFinalCode("vWNormal = inverseTransformDirection( transformedNormal, viewMatrix ).xyz;")),this.requires.vWorldViewDir&&(this.addVaryCode("varying vec3 vWorldViewDir;"),this.addVertexFinalCode("vWorldViewDir = isPerspectiveMatrix( projectionMatrix ) ?  ( (modelMatrix * vec4(position, 1.0)).xyz - cameraPosition ) : vec3( -viewMatrix[0][2], -viewMatrix[1][2], -viewMatrix[2][2] );")),this.needsJitter&&(this.addVertexFinalCode(_tA),this.addFragmentFinalCode(PtA)),this}buildShader(A,g){this.resultCode[A]=g.build(this.setShader(A),"v4")}setMaterial(A,g){return this.defines={},this}addFlow(A,g,e){return this.addSlot(A).addCache(g).addContext(e)}removeFlow(){return this.removeSlot().removeCache().removeContext()}addCache(A){return this.cache=A??"",this.caches.push(this.cache),this}removeCache(){return this.caches.pop(),this.cache=this.caches[this.caches.length-1]||"",this}addContext(A){return this.context=Object.assign({},this.context,A),this.context.extra=this.context.extra||{},this.contexts.push(this.context),this}removeContext(){return this.contexts.pop(),this.context=this.contexts[this.contexts.length-1]||{},this}addSlot(A){return this.slot=A||"",this.slots.push(this.slot),this}removeSlot(){return this.slots.pop(),this.slot=this.slots[this.slots.length-1]||"",this}addFragmentVariable(A,g){this.fragmentVariables[A]===void 0&&(this.addFragmentCode(`${g} ${A};`),this.fragmentVariables[A]="")}addFragmentParsVariable(A,g){this.fragmentParsVariables[A]===void 0&&(this.addFragmentParsCode(`${g} ${A};`),this.fragmentParsVariables[A]="")}addVertexParsVariable(A,g){this.vertexParsVariables[A]===void 0&&(this.addVertexParsCode(`${g} ${A};`),this.vertexParsVariables[A]="")}addVertexCode(A){this.addCode(A,"vertex")}addFragmentCode(A){this.addCode(A,"fragment")}addCode(A,g){this.code[g??this.shader]+=A+`
`}addVertexNodeCode(A){this.addNodeCode(A,"vertex")}addFragmentNodeCode(A){this.addNodeCode(A,"fragment")}addNodeCode(A,g){this.nodeCode[g??this.shader]+=A+`
`}clearNodeCode(A){A=A??this.shader;let g=this.nodeCode[A];return this.nodeCode[A]="",g}clearVertexNodeCode(){return this.clearNodeCode("vertex")}clearFragmentNodeCode(){return this.clearNodeCode("fragment")}addVertexFinalCode(A){this.addFinalCode(A,"vertex")}addFragmentFinalCode(A){this.addFinalCode(A,"fragment")}addFinalCode(A,g){this.finalCode[g??this.shader]+=A+`
`}addVertexParsCode(A){this.addParsCode(A,"vertex")}addFragmentParsCode(A){this.addParsCode(A,"fragment")}addParsCode(A,g){this.parsCode[g??this.shader]+=A+`
`}addVaryCode(A){this.addVertexParsCode(A),this.addFragmentParsCode(A)}isCache(A){return this.caches.indexOf(A)!==-1}isSlot(A){return this.slots.indexOf(A)!==-1}define(A,g){this.defines[A]=g===void 0?1:g}require(A){this.requires[A]=!0}isDefined(A){return this.defines[A]!==void 0}getVar(A,g,e,I="varying",i="V",t=""){let C=this.getVars(I),o=C[A];if(!o){let a=C.length;o={name:e||"node"+i+a+(t?"_"+t:""),type:g},C.push(o),C[A]=o}return o}getTempVar(A,g,e,I){return this.getVar(A,g,e,this.shader,"T",I)}getAttribute(A,g){if(!this.attributes[A]){let e=this.getVar(A,g);this.addVertexParsCode("attribute "+g+" "+A+";"),this.addVertexFinalCode(e.name+" = "+A+";"),this.attributes[A]={varying:e,name:A,type:g}}return this.attributes[A]}getCode(A){return[this.prefixCode,this.parsCode[A],this.getVarListCode(this.getVars("varying"),"varying"),this.getVarListCode(this.inputs.uniforms[A],"uniform"),this.getVarListCode(this.inputs.arrayUniforms[A],"uniform"),this.getIncludesCode("consts",A),this.getIncludesCode("structs",A),this.getIncludesCode("functions",A),"void main() {",this.getVarListCode(this.getVars(A)),this.code[A],this.resultCode[A],this.finalCode[A],"}"].join(`
`)}getVarListCode(A,g){g=g??"";let e="";for(let I=0,i=A.length;I<i;++I){let t=A[I],C=t.type,o=t.name,a=t.size,r=this.getFormatByType(C);if(r===void 0)throw new Error("Node pars "+r+" not found.");r.includes("[]")?e+=g+" "+r.substring(0,r.length-2)+" "+o+`[${a}];
`:e+=g+" "+r+" "+o+`;
`}return e}getVars(A){return this.inputs.vars[A??this.shader]}getNodeData(A){let g=A instanceof pt?A.uuid:A;return this.nodeData[g]=this.nodeData[g]||{}}createUniform(A,g,e,I,i,t){if(g.includes("[]")){let C=this.inputs.arrayUniforms,o=C.list.length,a=new ov({type:g,size:e.size,name:I||"nodeUA"+o+(t?"_"+t:""),node:e,needsUpdate:i});return C.list.push(a),C[A].push(a),C[A][a.name]=a,this.uniforms[a.name]=a,a}else{let C=this.inputs.uniforms,o=C.list.length,a=new ov({type:g,name:I||"nodeU"+o+(t?"_"+t:""),node:e,needsUpdate:i});return C.list.push(a),C[A].push(a),C[A][a.name]=a,this.uniforms[a.name]=a,a}}createVertexUniform(A,g,e,I,i){return this.createUniform("vertex",A,g,e,I,i)}createFragmentUniform(A,g,e,I,i){return this.createUniform("fragment",A,g,e,I,i)}include(A,g,e){let I;if(A=typeof A=="string"?PC.get(A):A,this.context.include===!1)return A.name;A instanceof Hg?I=this.includes.functions:A instanceof _I?I=this.includes.consts:A instanceof nL&&(I=this.includes.structs);let i=I[this.shader]=I[this.shader]||[];if(A){let t=i[A.name];if(t||(t=i[A.name]={node:A,deps:[]},i.push(t),t.src=A.build(this,"source")),A instanceof Hg&&g&&i[g.name]&&i[g.name].deps.indexOf(A)===-1&&(i[g.name].deps.push(A),A.includes?.length)){let C=0;do this.include(A.includes[C++],g);while(C<A.includes.length)}return e&&(t.src=e),A.name}else throw new Error("Include not found.")}colorToVectorProperties(A){return A.replace("r","x").replace("g","y").replace("b","z").replace("a","w")}colorToVector(A){return A.replace(/c/g,"v3")}getIncludes(A,g){return this.includes[A][g||this.shader]}getConstructorFromLength(A){return ztA[A-1]}isTypeMatrix(A){return/^m/.test(A)}getTypeLength(A){return A==="f"?1:parseInt(this.colorToVector(A).substr(1))}getTypeFromLength(A){return A===1?"f":"v"+A}findNode(...A){for(let g=0;g<arguments.length;g++){let e=A[g];if(e?.isNode)return e}}resolve(...A){for(let g=0;g<arguments.length;g++){let e=A[g];if(e!==void 0){if(e.isNode)return e;if(e.isTexture)switch(e.mapping){case wQ:case fQ:return new HtA(e);case wc:return new YtA(new Is(e));default:return new Is(e)}else{if(e.isVector2)return new Xt(e);if(e.isVector3)return new ko(e);if(e.isVector4)return new Zr(e)}}}}format(A,g,e){switch(this.colorToVector(e+" <- "+g)){case"f <- v2":return A+".x";case"f <- v3":return A+".x";case"f <- v4":return A+".x";case"f <- i":case"f <- b":return"float( "+A+" )";case"v2 <- f":return"vec2( "+A+" )";case"v2 <- v3":return A+".xy";case"v2 <- v4":return A+".xy";case"v2 <- i":case"v2 <- b":return"vec2( float( "+A+" ) )";case"v3 <- f":return"vec3( "+A+" )";case"v3 <- v2":return"vec3( "+A+", 0.0 )";case"v3 <- v4":return A+".xyz";case"v3 <- i":case"v3 <- b":return"vec2( float( "+A+" ) )";case"v4 <- f":return"vec4( "+A+" )";case"v4 <- v2":return"vec4( "+A+", 0.0, 1.0 )";case"v4 <- v3":return"vec4( "+A+", 1.0 )";case"v4 <- i":case"v4 <- b":return"vec4( float( "+A+" ) )";case"i <- f":case"i <- b":return"int( "+A+" )";case"i <- v2":return"int( "+A+".x )";case"i <- v3":return"int( "+A+".x )";case"i <- v4":return"int( "+A+".x )";case"b <- f":return"( "+A+" != 0.0 )";case"b <- v2":return"( "+A+" != vec2( 0.0 ) )";case"b <- v3":return"( "+A+" != vec3( 0.0 ) )";case"b <- v4":return"( "+A+" != vec4( 0.0 ) )";case"b <- i":return"( "+A+" != 0 )"}return A}getTypeByFormat(A){return VtA[A]||A}getFormatByType(A){return ZtA[A]||A}getUUID(A,g){return g=g!==void 0?g:!0,g&&this.cache&&(A=this.cache+"-"+A),A}getElementByIndex(A){return sv[A]}getIndexByElement(A){return sv.indexOf(A)}isShader(A){return this.shader===A}setShader(A){return this.shader=A,this}mergeDefines(A){for(let g in A)this.defines[g]=A[g];return this.defines}mergeUniform(A){for(let g in A)this.uniforms[g]=A[g];return this.uniforms}getTextureEncodingFromMap(A){let g;return A?A.isTexture&&(g=A.encoding):g=ca,g===ca&&this.context.gamma&&(g=je),g}},vi=class extends ZC{constructor(A=0,g,e,I){super("c"),this.nodeType="Color",this.value=A instanceof iC?A:new iC(A||0,g,e,I)}setRGBA(A){this.value.setRGBA(A.r,A.g,A.b,A.a)}generate(A,g,e,I,i,t){e=A.getUUID(e??this.getUUID()),I=I??this.getType(A);let C=A.getNodeData(e),o=this.getReadonly()&&this.generateReadonly!==void 0;if(this.alpha){let a=this.alpha.build(A,"f");A.addFragmentNodeCode(`accumAlpha += ( 1.0 - accumAlpha ) * ${a};`)}return o?this.generateReadonly(A,g,e,I,i,t):A.isShader("vertex")?(C.vertex||(C.vertex=A.createVertexUniform(I,this,i,t,this.getLabel())),A.format(C.vertex.name,I,g)):(C.fragment||(C.fragment=A.createFragmentUniform(I,this,i,t,this.getLabel())),A.format(C.fragment.name,I,g))}generateReadonly(A,g,e,I,i,t){return A.format("vec3("+this.value.r+", "+this.value.g+", "+this.value.b+")",I,g)}},XI=class extends ZC{constructor(A){super("i"),this.nodeType="Int",this.value=Math.floor(A??0)}generateReadonly(A,g,e,I,i,t){return A.format(this.value.toString(),I,g)}},kC=class extends ZC{constructor(A){super("b"),this.nodeType="Bool",this.value=A??!1}generateReadonly(A,g,e,I){return A.format(this.value?"true":"false",I,g)}},gQ=class extends ZC{constructor(A=1,g){super("f[]"),this.nodeType="FloatArray",this.size=A,this.value=Array.isArray(g)?g:typeof g=="number"?new Array(A).fill(g):new Array(A).fill(0)}},gm=class extends ZC{},XtA=class extends gm{constructor(A){super("v3"),this.image=A,this._value=new x}get value(){return this._value.x=this.image.isVideo?this.image.img.videoWidth??0:this.image.img.width,this._value.y=this.image.isVideo?this.image.img.videoHeight??0:this.image.img.height,this._value}},DS=class extends gm{constructor(A,g,e=1008,I=1006){super("t"),this.image=A,this.wrap=g,this.minFilter=e,this.magFilter=I}get value(){return this.image.getTexture(this.wrap,this.minFilter,this.magFilter)}},lL=class extends ZC{constructor(A){super("m3"),this.nodeType="Matrix3",this.value=A??new wt}generateReadonly(A,g,e,I,i,t){return A.format("mat3("+this.value.elements.join(", ")+")",I,g)}get elements(){return this.value.elements}set elements(A){this.value.fromArray(A)}},sr=class extends ZC{constructor(A){super("m4"),this.nodeType="Matrix4",this.value=A??new wg}generateReadonly(A,g,e,I,i,t){return A.format("mat4("+this.value.elements.join(", ")+")",I,g)}get elements(){return this.value.elements}set elements(A){this.value.fromArray(A)}};function Bv(A,g,e,I=0){A.setUvTransform(e[0],e[1],g[0],g[1],0,0,0).premultiply(new wt().makeRotation(I*Xg.DEG2RAD))}var $tA=class extends lL{constructor(A,g,e=0){super(new wt),this.repeat=A,this.offset=g,this.rotation=e,Bv(this.value,A,g,e)}updateMatrix(){Bv(this.value,this.repeat,this.offset,this.rotation)}},eQ=class extends ZC{constructor(A=1,g){super("v4[]"),this.nodeType="Vector4Array",this.size=A,this.value=Array.isArray(g)?g:g instanceof Ue?new Array(A).fill(g):new Array(A).fill(new Ue(0))}},Qv=class extends WI{constructor(A,g,e,I){super("v3"),this.nodeType="Blend",this.a=A,this.b=g,this.alpha=e,this.mode=I}generate(A,g){if(A.isShader("fragment")){let e=[];return e.push(this.a.build(A,"c")),e.push(this.b.build(A,"c")),e.push(this.alpha.build(A,"f")),e.push(this.mode.build(A,"i")),A.format("spe_blend("+e.join(",")+")",this.getType(A),g)}else return console.warn("BlendNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},cL=class extends WI{constructor(A,g){super("v3"),this.nodeType="CustomColor",this.color=A,this.alpha=g,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){if(A.isShader("fragment")){let e=A.include(cL.Nodes.customColor);A.addFragmentVariable(this.calpha,"float");let I=[];return I.push(this.color.build(A,"v3")),I.push(this.mask?`luminance(${this.mask.build(A,"v3")})`:"1.0"),I.push(this.alpha.build(A,"f")),I.push(this.calpha),A.format(e+"("+I.join(",")+")",this.getType(A),g)}else return console.warn("CustomColorNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},pS=cL;pS.Nodes=function(){return{customColor:new Hg(`vec3 customColor(vec3 color, float mask, float alpha, out float calpha) {
				float lalpha = alpha * mask;
				calpha =  lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0);
				accumAlpha += (1.0 - accumAlpha) * lalpha;

				return color;
			}`)}}();var dL=class extends WI{constructor(A,g){super("v3"),this.nodeType="CustomNormal",this.cnormal=A,this.alpha=g,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){if(A.isShader("fragment")){let e=A.include(dL.Nodes.customNormal);A.addFragmentVariable(this.calpha,"float");let I=[];return I.push(this.cnormal.build(A,"v3")),I.push("normal"),I.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),I.push(this.alpha.build(A,"f")),I.push(this.calpha),A.format(e+"("+I.join(",")+")",this.getType(A),g)}else return console.warn("CustomNormalNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},uL=dL;uL.Nodes=function(){return{customNormal:new Hg(`vec3 customNormal(vec3 cnormal, vec3 norm, float mask, float alpha, out float calpha) {
				vec3 normal = packNormalToRGB( norm ).rgb;
				normal *= step( vec3(0.5), cnormal );

				float lalpha = alpha * mask;
				calpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );
				accumAlpha += ( 1.0 - accumAlpha ) * lalpha;

				return normal;
			}`)}}();var bl=class extends WI{constructor(A,g,e,I,i,t,C,o,a,r,s,B){super("v3"),this.nodeType="CustomTexture",this.texture=A,this.textureSize=g,this.crop=e,this.projection=I,this.axis=i,this.side=t,this.size=C,this.blending=o,this.mat=a,this.isMask=B,this.alpha=r,this.mode=s,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){A.require("position"),A.require("normal"),A.require("uv"),A.requires.uv=[!0],A.extensions.shaderTextureLOD=!0,A.extensions.derivatives=!0;let e=`g${this.uuid.toString().replace(/-/g,"")}`,I;switch(this.projection.value){case 3:I=A.include(bl.Nodes.cylindrical);break;case 2:I=A.include(bl.Nodes.spherical);break;case 1:let t=["vec3(1.0, 0.0, 0.0)","vec3(0.0, 1.0, 0.0)","vec3(0.0, 0.0, 1.0)"][this.axis.value],C=["zy","xz","xy"][this.axis.value],o=new Hg(`
		vec3 ${e}_planarTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUv) {
				vec2 projected = (1. + (position.${C})) / 2.;
				vec2 uvs = ( mat * vec3( (projected * 2. - 1.) / (size * .5), 1. ) / 2. + 0.5 ).xy;
				writeUv = uvs;

				vec4 tmp = texture2D( tex, uvs );

				vec3 col = tmp.rgb;
				float lalpha = alpha * tmp.a;
				${this.side.value===2?"":`lalpha *= step(0.0, ${this.side.value===1?"-1.0 * ":""}dot(vObjectNormal, ${t}));`}

				if ( crop > 0.5 ) {
					if ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {
						lalpha = 0.0;
					}
				}
				
				lalpha *= mask;

				calpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );
				accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

				return col;
			}`);I=A.include(o);break;case 4:I=A.include(bl.Nodes.triplanar);break;default:I=A.include(bl.Nodes.uv);break}A.addFragmentVariable(this.calpha,"float");let i=[];if(i.push("normal"),i.push(this.texture.generate(A,"t")),i.push(this.textureSize.build(A,"v2")),i.push(this.crop.build(A,"f")),i.push(this.mat.build(A,"mat3")),i.push(this.size.build(A,"v2")),i.push(this.blending.build(A,"f")),i.push(this.isMask.build(A,"b")),i.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),i.push(this.alpha.build(A,"f")),i.push(this.mode.build(A,"i")),i.push(this.calpha),this.projection.value===4){let t=`${e}_writeUvs`,C=t+"0",o=t+"1",a=t+"2",r=`${e}_triplanarWeights`;A.addFragmentVariable(C,"vec2"),A.addFragmentVariable(o,"vec2"),A.addFragmentVariable(a,"vec2"),A.addFragmentVariable(r,"vec3"),i.push(C),i.push(o),i.push(a),i.push(r)}else{let t=`${e}_writeUvs`;A.addFragmentVariable(t,"vec2"),i.push(t)}return A.format(I+"("+i.join(",")+")",this.getType(A),g)}},em=bl;em.Nodes=function(){let A=new Hg(`
vec3 cylindricalTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUv) {
                vec3 posN = normalize(position);
                float u = 0.5 + atan(posN.z, posN.x) / (2.*3.1415);
                float scaledHeight = position.y / (size.y * 0.5);
                float v =  (scaledHeight / 2.) + .5;

                vec2 calculatedUv = vec2(u,v);
				vec2 uvs = ( mat * vec3( calculatedUv * 2. - 1., 1. ) / 2. + 0.5 ).xy;
				writeUv = uvs;

                vec2 df = fwidth(uvs);
               	if(df.x > 0.5) df.x = 0.;

				#ifdef GL_EXT_shader_texture_lod
                vec4 tmp = texture2DLodEXT(tex, uvs, log2(max(df.x, df.y)*min(textureSize.x, textureSize.y)));
				#else
                vec4 tmp = textureLod(tex, uvs, log2(max(df.x, df.y)*min(textureSize.x, textureSize.y)));
				#endif

				vec3 col = tmp.rgb;
				float lalpha = alpha * tmp.a;
				if ( crop > 0.5 ) {
					if ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {
						lalpha = 0.0;
					}
				}

				lalpha *= mask;
				
				calpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );
				accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

				return col;
			}
`),g=new Hg(`
vec3 sphericalTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUv) {
                vec3 posN = normalize(vPosition);
                float u = 0.5 + atan(posN.z, posN.x) / (2.*3.1415);
                float v = 0.5 + asin(posN.y) / 3.1415;

                vec2 calculatedUv = vec2(u,v);
				vec2 uvs = ( mat * vec3( calculatedUv * 2. - 1., 1. ) / 2. + 0.5 ).xy;
				writeUv = uvs;

                vec2 df = fwidth(uvs);
               	if(df.x > 0.5) df.x = 0.;
				#ifdef GL_EXT_shader_texture_lod
                vec4 tmp = texture2DLodEXT(tex, uvs, log2(max(df.x, df.y)*min(textureSize.x, textureSize.y)));
				#else
                vec4 tmp = textureLod(tex, uvs, log2(max(df.x, df.y)*min(textureSize.x, textureSize.y)));
				#endif

				vec3 col = tmp.rgb;
				float lalpha = alpha * tmp.a;
				if ( crop > 0.5 ) {
					if ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {
						lalpha = 0.0;
					}
				}

				lalpha *= mask;

				calpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );
				accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

				return col;
			}
`),e=new Hg(`vec3 uvTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUv) {
				vec2 uvs = ( mat * vec3( vUv * 2. - 1., 1. ) / 2. + 0.5 ).xy;
				writeUv = uvs;

				vec4 tmp = texture2D( tex, uvs );

				vec3 col = tmp.rgb;

				float lalpha = alpha * tmp.a;
				if ( crop > 0.5 ) {
					if ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {
						lalpha = 0.0;
					}
				}
				
				lalpha *= mask;

				calpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );
				accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

				return col;
			}`),I=new Hg(`vec3 triplanarTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUvs0, out vec2 writeUvs1, out vec2 writeUvs2, out vec3 writeWeights) {
				vec3 p = position;
				vec2 uv0 = (1.0 + p.xy) / 2.0;     
				vec2 uv1 = (1.0 + p.zy) / 2.0;		
				vec2 uv2 = (1.0 + p.xz) / 2.0;		
	
				uv0 = (mat * vec3((uv0 * 2.0 - 1.0) / (size * 0.5), 1.0) / 2.0 + 0.5).xy;
				uv1 = (mat * vec3((uv1 * 2.0 - 1.0) / (size * 0.5), 1.0) / 2.0 + 0.5).xy;
				uv2 = (mat * vec3((uv2 * 2.0 - 1.0) / (size * 0.5), 1.0) / 2.0 + 0.5).xy;

				// Range from 3 to 128 seems to be good
				float exponent = (1.0 - blending) * 125.0 + 3.0;

				vec3 n = vObjectNormal;
				vec3 weights = abs(normalize(n));
				weights = pow(weights, vec3(exponent));
				weights /= dot(weights, vec3(1.0));

				// Write out all sets of UVs that we generated
				writeUvs0 = uv0;
				writeUvs1 = uv1;
				writeUvs2 = uv2;
				writeWeights = weights;

				// Derivatives for LOD
				vec2 df0 = fwidth(uv0);
				vec2 df1 = fwidth(uv1);
				vec2 df2 = fwidth(uv2);
				if (df0.x > 0.5) df0.x = 0.0;
				if (df1.x > 0.5) df1.x = 0.0;
				if (df2.x > 0.5) df2.x = 0.0;

				#ifdef GL_EXT_shader_texture_lod
                	vec4 tmp = 
						texture2DLodEXT(tex, uv0, log2(max(df0.x, df0.y)*min(textureSize.x, textureSize.y))) * weights.z + 
						texture2DLodEXT(tex, uv1, log2(max(df1.x, df1.y)*min(textureSize.x, textureSize.y))) * weights.x + 
						texture2DLodEXT(tex, uv2, log2(max(df2.x, df2.y)*min(textureSize.x, textureSize.y))) * weights.y;
				#else
                	vec4 tmp = 
						textureLod(tex, uv0, log2(max(df0.x, df0.y)*min(textureSize.x, textureSize.y))) * weights.z + 
						textureLod(tex, uv1, log2(max(df1.x, df1.y)*min(textureSize.x, textureSize.y))) * weights.x + 
						textureLod(tex, uv2, log2(max(df2.x, df2.y)*min(textureSize.x, textureSize.y))) * weights.y;
				#endif

				vec3 col = tmp.rgb;
				float lalpha = alpha * tmp.a;

				// Apply cropping across all 3 planes
				if ( crop > 0.5 ) {
					if ( uv0.x < 0.0 || uv0.x > 1.0 || uv0.y < 0.0 || uv0.y > 1.0 )  {
						lalpha = 0.0;
					}
					if ( uv1.x < 0.0 || uv1.x > 1.0 || uv1.y < 0.0 || uv1.y > 1.0 )  {
						lalpha = 0.0;
					}
					if ( uv2.x < 0.0 || uv2.x > 1.0 || uv2.y < 0.0 || uv2.y > 1.0 )  {
						lalpha = 0.0;
					}
				}

				lalpha *= mask;
				calpha =  lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0);
				accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

				return col;//n * 0.5 + 0.5;
			}			
			`);return{cylindrical:A,spherical:g,uv:e,triplanar:I}}();var Ll=class extends WI{constructor(A,g,e,I,i,t,C,o,a,r,s,B){super("v3"),this.nodeType="Depth",this.gradientType=A,this.smooth=g,this.near=e,this.far=I,this.isVector=i,this.isWorldSpace=t,this.origin=C,this.direction=o,this.colors=a,this.steps=r,this.isMask=B,this.alpha=s,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){let e=`g${this.uuid.toString().replace(/-/g,"")}`,I=new Hg(`vec3 ${e}_sdepth(float near, float far, vec3 origin, vec3 direction, vec4 colors[${e}_MAX_COLORS], float steps[${e}_MAX_COLORS], bool isMask, float mask, float alpha, out float calpha) {
               vec4 color = colors[0];
               #ifdef ${e}_IS_VECTOR
                   #ifdef ${e}_LINEAR
                       #ifdef ${e}_WORLDSPACE
                       float depth = vectorLinearWorldSpaceDepth(direction, origin, near, far);
                       #else
                       float depth = vectorLinearObjectSpaceDepth(direction, origin, near, far);
                       #endif
                   #else
                       #ifdef ${e}_WORLDSPACE
                           float depth = vectorSphericalWorldSpaceDepth(origin, near, far);
                       #else
                           float depth = vectorSphericalObjectSpaceDepth(origin, near, far);
                       #endif
                   #endif
               #else
                   float dist = length(vWPosition - cameraPosition);
			       float depth = ( dist - near ) / ( far - near );
               #endif


              float p;
              #ifdef ${e}_SMOOTH
				for ( int i = 1; i < ${e}_MAX_COLORS; i++ ) {
						p = clamp( ( depth - steps[i-1] ) / ( steps[i] - steps[i-1] ), 0.0, 1.0 );
						color = mix(color, colors[i], smoothstep(0.0, 1.0, p));
					}
              #else
                for ( int i = 1; i < ${e}_MAX_COLORS; i++ ) {
                   p = clamp(( depth - steps[i - 1] ) / ( steps[i] - steps[i - 1] ), 0.0, 1.0);
                   color = mix(color, colors[i], p);
                 }
              #endif

               float lalpha = alpha * color.a * mask;
               calpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));
			   accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));
			   
               return color.rgb;
			}`,[Ll.Nodes.vectorLinearWorldSpaceDepth,Ll.Nodes.vectorLinearObjectSpaceDepth,Ll.Nodes.vectorSphericalObjectSpaceDepth,Ll.Nodes.vectorSphericalWorldSpaceDepth]);if(A.isShader("fragment")){A.define(`${e}_MAX_COLORS`,this.colors.value.length),this.smooth.value&&A.define(`${e}_SMOOTH`),this.isVector.value>.5&&A.define(`${e}_IS_VECTOR`),this.gradientType.value===0&&A.define(`${e}_LINEAR`),this.isWorldSpace.value>.5&&A.define(`${e}_WORLDSPACE`),A.require("worldPosition"),A.addFragmentVariable(this.calpha,"float");let i=A.include(I),t=[];return t.push(this.near.build(A,"f")),t.push(this.far.build(A,"f")),t.push(this.origin.build(A,"v3")),t.push(this.direction.build(A,"v3")),t.push(this.colors.build(A,"v4[]")),t.push(this.steps.build(A,"f[]")),t.push(this.isMask.build(A,"b")),t.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),t.push(this.alpha.build(A,"f")),t.push(this.calpha),A.format(i+"("+t.join(",")+")",this.getType(A),g)}else return console.warn("DepthNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},DL=Ll;DL.Nodes=function(){let A=new Hg(`float vectorLinearWorldSpaceDepth(vec3 direction, vec3 origin, float near, float far) {
               vec3 n = normalize(direction);
               float dist = (n.x*(vWPosition.x - origin.x) + n.y*(vWPosition.y - origin.y) + n.z*(vWPosition.z - origin.z));
               return ( dist - near ) / ( far - near );
            }`),g=new Hg(`float vectorLinearObjectSpaceDepth(vec3 direction, vec3 origin, float near, float far) {
               vec3 n = normalize(direction);
               float dist = (n.x*(position.x - origin.x) + n.y*(position.y - origin.y) + n.z*(position.z - origin.z));
               return ( dist - near ) / ( far - near );
            }`),e=new Hg(`float vectorSphericalWorldSpaceDepth(vec3 origin, float near, float far) {
               float dist = length(vWPosition - origin);
               return ( dist - near ) / ( far - near );
            }`),I=new Hg(`float vectorSphericalObjectSpaceDepth(vec3 origin, float near, float far) {
               float dist = length(position - origin);
               return ( dist - near ) / ( far - near );
            }`);return{vectorLinearWorldSpaceDepth:A,vectorLinearObjectSpaceDepth:g,vectorSphericalWorldSpaceDepth:e,vectorSphericalObjectSpaceDepth:I}}();var ACA=class extends WI{constructor(A,g,e,I,i,t,C,o){super("v3"),this.nodeType="Fresnel",this.color=A,this.bias=g,this.scale=e,this.intensity=I,this.factor=i,this.isMask=o,this.alpha=t,this.mode=C,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){if(A.require("vWorldViewDir"),A.require("worldNormal"),A.isShader("fragment")){A.addFragmentVariable(this.calpha,"float");let e=new Hg(`vec3 fresnel(vec3 color, float bias, float scale, float intensity, float factor, bool isMask, float mask, float alpha, int mode, out float calpha) {
					float fresnel = bias + scale * pow( abs( factor + dot( normalize( vWorldViewDir ), normalize( vWNormal ) ) ), intensity );

					float lalpha = clamp(fresnel, 0.0, 1.0) * alpha * mask;
					calpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));
					accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

					return color;
				}`),I=A.include(e),i=[];return i.push(this.color.build(A,"c")),i.push(this.bias.build(A,"f")),i.push(this.scale.build(A,"f")),i.push(this.intensity.build(A,"f")),i.push(this.factor.build(A,"f")),i.push(this.isMask.build(A,"b")),i.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),i.push(this.alpha.build(A,"f")),i.push(this.mode.build(A,"i")),i.push(this.calpha),A.format(I+"("+i.join(",")+")",this.getType(A),g)}else return console.warn("FresnelNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},pL=class extends WI{constructor(A,g,e,I,i,t,C,o,a){super("v3"),this.nodeType="Gradient",this.gradientType=A,this.smooth=g,this.colors=e,this.steps=I,this.offset=i,this.morph=t,this.angle=C,this.isMask=a,this.alpha=o,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){if(A.isShader("fragment")){A.define("GRAD_MAX",10),A.require("uv"),A.requires.uv=[!0],A.addFragmentVariable(this.calpha,"float");let e=A.include(pL.Nodes.gradient),I=[];return I.push(this.gradientType.build(A,"i")),I.push(this.smooth.build(A,"b")),I.push(this.colors.build(A,"v4[]")),I.push(this.steps.build(A,"f[]")),I.push(this.offset.build(A,"v2")),I.push(this.morph.build(A,"v2")),I.push(this.angle.build(A,"f")),I.push(this.isMask.build(A,"b")),I.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),I.push(this.alpha.build(A,"f")),I.push(this.calpha),A.format(e+"("+I.join(",")+")",this.getType(A),g)}else return console.warn("GradientNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},yL=pL;yL.Nodes=function(){return{gradient:new Hg(`vec3 gradient(int gradientType, bool smoothed, vec4 colors[GRAD_MAX], float steps[GRAD_MAX], vec2 offset, vec2 morph, float angle, bool isMask, float mask, float alpha, out float calpha) {
				vec4 color = colors[0];
				vec2 m = morph / vUv.xy;
				vec2 rot = vec2( 0.5 + m.x, m.y );
				vec2 dt = vec2(
					cos( angle ) * rot.x - sin( angle ) * rot.y,
					sin( angle ) * rot.x + cos( angle ) * rot.y
				);
				vec2 pt = ( vUv - 0.5 + offset ) / 2.0 + dt / 2.0;
				float t = dot( pt, dt ) / dot( dt, dt );
				if ( gradientType == 1 ) {
					t = distance (
						( vUv + morph ) * 3.0,
						( vUv + offset ) + 1.0
					) + angle;
				} else if ( gradientType == 2 ) {
					float polar = atan(
						vUv.x + morph.x - 0.5 + offset.x,
						vUv.y + morph.y - 0.5 + offset.y
					) * -1.0;
					t = fract( ( angle / PI / -2.0 ) + 0.5 * ( polar / PI ) );
				}

				float p;
				if (smoothed) {
					for ( int i = 1; i < GRAD_MAX; i++ ) {
						p = clamp( ( t - steps[i-1] ) / ( steps[i] - steps[i-1] ), 0.0, 1.0 );
						color = mix(color, colors[i], smoothstep(0.0, 1.0, p));
					}

				} else {
					for ( int i = 1; i < GRAD_MAX; i++ ) {
						p = clamp( ( t - steps[i-1] ) / ( steps[i] - steps[i-1] ), 0.0, 1.0 );
						color = mix(color, colors[i], p);
					}
				}

				float lalpha = alpha * color.a * mask;
				calpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));
				accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));
				
				return color.xyz;
			}`)}}();var wL=class extends WI{constructor(A,g,e,I,i){super("v3"),this.nodeType="Matcap",this.texture=A,this.isMask=I,this.alpha=g,this.mode=e,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`,this.rotation=i}generate(A,g){if(A.isShader("fragment")){A.addFragmentVariable(this.calpha,"float");let e=A.include(wL.Nodes.matcap);A.require("normal"),A.requires.normal=!0;let I=[];return I.push(this.texture.generate(A,"t")),I.push("normal"),I.push(this.isMask.build(A,"b")),I.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),I.push(this.alpha.build(A,"f")),I.push(this.mode.build(A,"i")),I.push(this.calpha),I.push(this.rotation.build(A,"f")),A.format(e+"("+I.join(",")+")",this.getType(A),g)}else return console.warn("MatcapNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},fL=wL;fL.Nodes=function(){return{matcap:new Hg(`vec3 matcap(sampler2D matcapTex, vec3 normal, bool isMask, float mask, float alpha, int mode, out float calpha, float rotation) {
					vec3 viewDir = normalize( vViewPosition );
					vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );
					vec3 y = cross( viewDir, x );
					vec2 uv = vec2( dot( x, normal ), dot( y, normal ) );
					uv = mat2( cos(rotation), sin(rotation), -sin(rotation), cos(rotation) ) * uv;
					uv = uv * 0.495 + 0.5;
					vec4 matcapColor = texture2D( matcapTex, uv );

					float lalpha = alpha * mask;
					calpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));
					accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));
					
					return matcapColor.rgb;
            	}`)}}();var Im=(A=>(A.SIMPLEX="simplex3d",A.SIMPLEX_FRACTAL="simplex3dFractal",A.ASHIMA="simplexAshima",A.FBM="fbm",A.PERLIN="perlin",A.VORONOI="voronoi",A))(Im||{}),OC=function(){let A=new Hg(`vec3 random3(vec3 c) {
			float j = 4096.0*sin(dot(c,vec3(17.0, 59.4, 15.0)));
			vec3 r;
			r.z = fract(512.0*j);
			j *= .125;
			r.x = fract(512.0*j);
			j *= .125;
			r.y = fract(512.0*j);
			return r-0.5;
		}`),g=new Hg(`float simplex3d(vec3 p) {
			 vec3 s = floor(p + dot(p, vec3(F3)));
			 vec3 x = p - s + dot(s, vec3(G3));
			 
			 vec3 e = step(vec3(0.0), x - x.yzx);
			 vec3 i1 = e*(1.0 - e.zxy);
			 vec3 i2 = 1.0 - e.zxy*(1.0 - e);
				
			 vec3 x1 = x - i1 + G3;
			 vec3 x2 = x - i2 + 2.0*G3;
			 vec3 x3 = x - 1.0 + 3.0*G3;
			 
			 vec4 w, d;
			 
			 w.x = dot(x, x);
			 w.y = dot(x1, x1);
			 w.z = dot(x2, x2);
			 w.w = dot(x3, x3);
			 
			 w = max(0.6 - w, 0.0);
			 
			 d.x = dot(random3(s), x);
			 d.y = dot(random3(s + i1), x1);
			 d.z = dot(random3(s + i2), x2);
			 d.w = dot(random3(s + 1.0), x3);
			 
			 w *= w;
			 w *= w;
			 d *= w;
			 
			 return dot(d, vec4(52.0));
		}`,[A]);g.keywords.F3=new _I("float F3 0.3333333"),g.keywords.G3=new _I("float G3 0.1666667");let e=new Hg(`float simplex3dFractal(vec3 m) {
			mat3 rot1 = mat3(-0.37, 0.36, 0.85,-0.14,-0.93, 0.34,0.92, 0.01,0.4);
			mat3 rot2 = mat3(-0.55,-0.39, 0.74, 0.33,-0.91,-0.24,0.77, 0.12,0.63);
			mat3 rot3 = mat3(-0.71, 0.52,-0.47,-0.08,-0.72,-0.68,-0.7,-0.45,0.56);
			return 0.5333333 * simplex3d(m * rot1)
				 + 0.2666667 * simplex3d(2.0 * m * rot2)
				 + 0.1333333 * simplex3d(4.0 * m * rot3)
				 + 0.0666667 * simplex3d(8.0 * m);
		}`,[g]),I=new Hg("vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x, 289.0);}"),i=new Hg("vec4 taylorInvSqrt(vec4 r){return 1.79284291400159 - 0.85373472095314 * r;}"),t=new Hg(`float simplexAshima(vec3 v) {
		  const vec2  C = vec2(1.0/6.0, 1.0/3.0) ;
		  const vec4  D = vec4(0.0, 0.5, 1.0, 2.0);
		  vec3 i  = floor(v + dot(v, C.yyy) );
		  vec3 x0 =   v - i + dot(i, C.xxx) ;
		  vec3 g = step(x0.yzx, x0.xyz);
		  vec3 l = 1.0 - g;
		  vec3 i1 = min( g.xyz, l.zxy );
		  vec3 i2 = max( g.xyz, l.zxy );
		  vec3 x1 = x0 - i1 + 1.0 * C.xxx;
		  vec3 x2 = x0 - i2 + 2.0 * C.xxx;
		  vec3 x3 = x0 - 1. + 3.0 * C.xxx;
		  i = mod(i, 289.0 ); 
		  vec4 p = permute( permute( permute( 
					 i.z + vec4(0.0, i1.z, i2.z, 1.0 ))
				   + i.y + vec4(0.0, i1.y, i2.y, 1.0 )) 
				   + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));
		  float n_ = 1.0/7.0; // N=7
		  vec3  ns = n_ * D.wyz - D.xzx;
		  vec4 j = p - 49.0 * floor(p * ns.z *ns.z);  //  mod(p,N*N)
		  vec4 x_ = floor(j * ns.z);
		  vec4 y_ = floor(j - 7.0 * x_ );    // mod(j,N)
		  vec4 x = x_ *ns.x + ns.yyyy;
		  vec4 y = y_ *ns.x + ns.yyyy;
		  vec4 h = 1.0 - abs(x) - abs(y);
		  vec4 b0 = vec4( x.xy, y.xy );
		  vec4 b1 = vec4( x.zw, y.zw );
		  vec4 s0 = floor(b0)*2.0 + 1.0;
		  vec4 s1 = floor(b1)*2.0 + 1.0;
		  vec4 sh = -step(h, vec4(0.0));
		  vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;
		  vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;
		  vec3 p0 = vec3(a0.xy,h.x);
		  vec3 p1 = vec3(a0.zw,h.y);
		  vec3 p2 = vec3(a1.xy,h.z);
		  vec3 p3 = vec3(a1.zw,h.w);
		  vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));
		  p0 *= norm.x;
		  p1 *= norm.y;
		  p2 *= norm.z;
		  p3 *= norm.w;
		  vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);
		  m = m * m;
		  return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1), 
										dot(p2,x2), dot(p3,x3) ) );
		}`,[I,i]),C=new Hg("vec4 mod289(vec4 x){return x - floor(x * (1.0 / 289.0)) * 289.0;}"),o=new Hg("vec4 perm(vec4 x){return mod289(((x * 34.0) + 1.0) * x);}",[C]),a=new Hg(`float noise(vec3 p){
			vec3 a = floor(p);
			vec3 d = p - a;
			d = d * d * (3.0 - 2.0 * d);
			vec4 b = a.xxyy + vec4(0.0, 1.0, 0.0, 1.0);
			vec4 k1 = perm(b.xyxy);
			vec4 k2 = perm(k1.xyxy + b.zzww);
			vec4 c = k2 + a.zzzz;
			vec4 k3 = perm(c);
			vec4 k4 = perm(c + 1.0);
			vec4 o1 = fract(k3 * (1.0 / 41.0));
			vec4 o2 = fract(k4 * (1.0 / 41.0));
			vec4 o3 = o2 * d.z + o1 * (1.0 - d.z);
			vec2 o4 = o3.yw * d.x + o3.xz * (1.0 - d.x);
			return o4.y * d.y + o4.x * (1.0 - d.y);
		}`,[o]),r=new Hg(`float fbm(vec3 x) {
			float v = 0.0;
			float a = 0.5;
			vec3 shift = vec3(100);
			for (int i = 0; i < NUM_OCTAVES; ++i) {
				v += a * noise(x);
				x = x * 2.0 + shift;
				a *= 0.5;
			}
			return v;
		}`,[a]);r.keywords.NUM_OCTAVES=new _I("int NUM_OCTAVES 5");let s=new Hg("vec3 fade(vec3 t) {return t*t*t*(t*(t*6.0-15.0)+10.0);}"),B=new Hg(`float perlin(vec3 P){
		  vec3 Pi0 = floor(P);
		  vec3 Pi1 = Pi0 + vec3(1.0);
		  Pi0 = mod(Pi0, 289.0);
		  Pi1 = mod(Pi1, 289.0);
		  vec3 Pf0 = fract(P);
		  vec3 Pf1 = Pf0 - vec3(1.0);
		  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
		  vec4 iy = vec4(Pi0.yy, Pi1.yy);
		  vec4 iz0 = Pi0.zzzz;
		  vec4 iz1 = Pi1.zzzz;
		  vec4 ixy = permute(permute(ix) + iy);
		  vec4 ixy0 = permute(ixy + iz0);
		  vec4 ixy1 = permute(ixy + iz1);
		  vec4 gx0 = ixy0 / 7.0;
		  vec4 gy0 = fract(floor(gx0) / 7.0) - 0.5;
		  gx0 = fract(gx0);
		  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
		  vec4 sz0 = step(gz0, vec4(0.0));
		  gx0 -= sz0 * (step(0.0, gx0) - 0.5);
		  gy0 -= sz0 * (step(0.0, gy0) - 0.5);
		  vec4 gx1 = ixy1 / 7.0;
		  vec4 gy1 = fract(floor(gx1) / 7.0) - 0.5;
		  gx1 = fract(gx1);
		  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
		  vec4 sz1 = step(gz1, vec4(0.0));
		  gx1 -= sz1 * (step(0.0, gx1) - 0.5);
		  gy1 -= sz1 * (step(0.0, gy1) - 0.5);
		  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);
		  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);
		  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);
		  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);
		  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);
		  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);
		  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);
		  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);
		  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
		  g000 *= norm0.x;
		  g010 *= norm0.y;
		  g100 *= norm0.z;
		  g110 *= norm0.w;
		  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
		  g001 *= norm1.x;
		  g011 *= norm1.y;
		  g101 *= norm1.z;
		  g111 *= norm1.w;
		  float n000 = dot(g000, Pf0);
		  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
		  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
		  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
		  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
		  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
		  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
		  float n111 = dot(g111, Pf1);
		  vec3 fade_xyz = fade(Pf0);
		  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
		  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
		  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); 
		  return 2.2 * n_xyz;
		}`,[I,i,s]),Q=new Hg(`float hashwithoutsine13(vec3 p3)
		{
			p3  = fract(p3 * .1031);
			p3 += dot(p3, p3.yzx + 33.33);
			return fract((p3.x + p3.y) * p3.z);
		}`),n=new Hg(`vec3 hashwithoutsine33(vec3 p3)
		{
			p3 = fract(p3 * vec3(.1031, .1030, .0973));
			p3 += dot(p3, p3.yxz+33.33);
			return fract((p3.xxy + p3.yxx)*p3.zyx);
		}`),E=new Hg(`float metric(in vec3 p)
		{
			// L2 
			return length(p);

			// Chebyshev 
			// vec3 a = abs(p);
			// return max(a.x, max(a.y, a.z));
		}`),l=new Hg(`float smin( float a, float b, float k )
		{
			float h = smoothstep(0.0, 1.0, 0.5 + 0.5 * (b - a) / k);
			float correction = k * h * (1.0 - h);
			return mix(b, a, h) - correction;
		}`),h=new Hg(`float smax( float a, float b, float k )
		{
			float h = smoothstep(1.0, 0.0, 0.5 + 0.5 * (a - b) / k);
			float correction = k * h * (1.0 - h);
			return mix(a, b, h) + correction;
		}`),u=new Hg(`float remap(float value, float input_min, float input_max, float output_min, float output_max) {
			// Compute width of each interval
			float input_width = input_max - input_min;
			float output_width = output_max - output_min;
		
			// Convert input range into a 0-1 range 
			float scaled = (value - input_min) / input_width;
		
			// Convert the 0-1 range into a value in output range
			return output_min + (scaled * output_width);
		}`),D=new Hg(`float voronoi(in vec3 x, in int style, in float smoothness, in float seed, in int quality) 
		{
			// Integer and fractional parts of this point's coordinates
			ivec3 p = ivec3(floor(x));
			vec3 f = fract(x);

			// Different variables that we will use to construct noise:
			//
			// f1: distance to the closest feature point
			// f2: distance to the second closest feature point
			// e: distance to the closest edge (cell boundary)
			//
			// We also compute "smooth" versions of all of the above quantites, essentially
			// replacing "hard" minimums with "smooth" minimums (described by IQ)
			float f1_smooth = 8.0;
			float f1 = 8.0;
			float f2_smooth = 8.0;
			float f2 = 8.0;
			float e_smooth = 8.0;
			float e = 8.0;

			// Variables stored from closest cell
			ivec3 mb;
			vec3 mr; 

			int steps = quality;
			
			for (int x = -steps; x <= steps; x++) 
			for (int y = -steps; y <= steps; y++)
			for (int z = -steps; z <= steps; z++)
			{
				ivec3 b = ivec3(x, y, z);
				vec3 r = vec3(b) + hashwithoutsine33(vec3(p + b) + seed) - f;
				float d = length(r);
				
				f1_smooth = smin(d, f1_smooth, smoothness);

				// Store un-smoothed distances too 
				if (d < f1) 
				{
					f2 = f1;
					f1 = d;

					mb = ivec3(x, y, z);
					mr = r;
				} 
				else if (d < f2) 
				{
					f2 = d;
				}
			}	
			
			float id = hashwithoutsine13(vec3(p + mb) + seed);

			// Second pass for edge distance  
			for (int x = -steps; x <= steps; x++) 
			for (int y = -steps; y <= steps; y++)
			for (int z = -steps; z <= steps; z++)
			{
				// Start search at the cell that contains the closest point to "x" (found in 1st pass)
				ivec3 b = mb + ivec3(x, y, z);
				vec3 r = vec3(b) + hashwithoutsine33(vec3(p + b) + seed) - f;
				float d1 = dot(0.5 * (mr + r), (r - mr)); 				// IQ normalizes "r - mr" but that breaks things for the smooth version?
				float d2 = dot(0.5 * (mr + r), normalize(r - mr));

				e_smooth = smin(d1, e_smooth, smoothness);

				e = min(e, d2);

				// Also compute a smooth version of F2 in this pass
				{
					ivec3 b = ivec3(x, y, z);
					if (b != mb) 
					{
						vec3 r = vec3(b) + hashwithoutsine33(vec3(p + b) + seed) - f;
						float d = length(r);

						f2_smooth = smin(d, f2_smooth, smoothness);
					}
				}
			}

			// Different visualization modes 
			if (style == 0) 
			{
				return f1_smooth;
			}
			if (style == 1) 
			{
				return f2_smooth;
			}
			if (style == 2) 
			{
				return f2_smooth - f1_smooth;
				
				// "Pebbles" also cool
				//return step(0.2, f2_smooth - f1_smooth);
			}
			if (style == 3) 
			{
				// This one is really good for rock / stone effects
				float a = f1; 
				float b = f2;
				float k = 3.0;
				float h = max(k - abs(a - b), 0.0) / k;
				float final = min(a, b) - h * h * k * (1.0 / 4.0);
				return final;
			}
			if (style == 4) 
			{
				// Some random adjustments to make this style stand out more 
				return exp(5.0 * e_smooth);
			}
			if (style == 5) 
			{
				return pow(f1_smooth, 3.0);
			}
			if (style == 6) 
			{				
				const float eps = 0.0125;

				// Thicker lines as the user increases the smoothness slider
				float thickness = smoothness * 0.25 + eps;

				// Blurrier lines as the user increases the smoothness slider
				float blur = pow(smoothness, 3.0) * 0.25 + eps;

				return smoothstep(
					thickness - thickness * blur, 
					thickness + thickness * blur, 
					e
				);
			}
			if (style == 7) 
			{
				return hashwithoutsine13(vec3(p + mb) + seed);
			}
		}
	`,[Q,n,E,l,h,u]);return{simplex:g,simplexFractal:e,simplexAshima:t,fbm:r,perlin:B,voronoi:D}}(),SL=class extends WI{constructor(A,g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l,h,u,D){super("v3"),this.nodeType="Noise",this.scale=A,this.size=g,this.move=e,this.fA=I,this.fB=i,this.distortion=t,this.colorA=C,this.colorB=o,this.colorC=a,this.colorD=r,this.noiseType=B,this.voronoiStyle=n,this.highCut=E,this.lowCut=l,this.smoothness=h,this.seed=u,this.quality=D,this.isMask=Q,this.alpha=s,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g,e,I,i){A.require("uv"),A.requires.uv=[!0],A.addFragmentVariable(this.calpha,"float");let t=Object.values(Im)[this.noiseType.value],C=t=="voronoi"?`
		float v = ${t}(st + move, voronoiStyle, smoothness, seed, quality);

		// Apply clipping to colors
		v = remap(v, lowCut, highCut, 0.0, 1.0);
		v = smax(v, 0.0, smoothness * 0.25);
		v = smin(v, 1.0, smoothness * 0.25);

		// Note that the voronoi mode only uses colors "A" and "C" from the UI 
		vec4 color = mix(colorA, colorC, v); 
		`:`
		vec3 q = vec3(${t}(st),
					   ${t}(st + vec3(1.0)),
					   ${t}(st + vec3(1.0)));
		vec3 r = vec3(${t}(st + vec3(distortion, 1.0) * q + vec3(fA, 1.0) + move),
					  ${t}(st + vec3(distortion, 1.0) * q + vec3(fB, 1.0) + move), 
					  ${t}(st * q));
		float f = ${t}(st + r);
		vec4 color;
		color = mix(colorA, colorB, clamp((f * f) * 4.0, 0.0, 1.0));
		color = mix(color, colorC, clamp(length(q), 0.0, 1.0));
		color = mix(color, colorD, clamp(length(r.x), 0.0, 1.0));
		`,o=new Hg(`vec3 ${t}customNoise(float scale, vec3 size, float move, vec2 fA, vec2 fB, vec2 distortion, vec4 colorA, vec4 colorB, vec4 colorC, vec4 colorD, int voronoiStyle, float highCut, float lowCut, float smoothness, float seed, int quality, bool isMask, float mask, float alpha, out float calpha) 
			{
                // Prevent scale of zero 
				scale = max(abs(scale), 0.001);

				vec3 st = position / size;
				st /= scale;

				${C}

				float lalpha = alpha * color.a * mask;
				calpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));
				accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

				return clamp(color, 0.0, 1.0).rgb;
			}`,[OC.simplex,OC.simplexFractal,OC.simplexAshima,OC.fbm,OC.perlin,OC.voronoi]),a=A.include(o),r=[];return r.push(this.scale.build(A,"f")),r.push(this.size.build(A,"v3")),r.push(this.move.build(A,"f")),r.push(this.fA.build(A,"v2")),r.push(this.fB.build(A,"v2")),r.push(this.distortion.build(A,"v2")),r.push(this.colorA.build(A,"v4")),r.push(this.colorB.build(A,"v4")),r.push(this.colorC.build(A,"v4")),r.push(this.colorD.build(A,"v4")),r.push(this.voronoiStyle.build(A,"i")),r.push(this.highCut.build(A,"f")),r.push(this.lowCut.build(A,"f")),r.push(this.smoothness.build(A,"f")),r.push(this.seed.build(A,"f")),r.push(this.quality.build(A,"i")),r.push(this.isMask.build(A,"b")),r.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),r.push(this.alpha.build(A,"f")),r.push(this.calpha),A.format(a+"("+r.join(",")+")",this.getType(A),g)}};SL.numOctaves=5;var GL=class extends WI{constructor(A,g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l){super("v3"),this.nodeType="Outline",this.firstTime=!0,this.outlineColor=A,this.contourColor=g,this.outlineWidth=e,this.contourWidth=I,this.contourThreshold=i,this.outlineThreshold=t,this.contourFrequency=C,this.outlineSmoothing=o,this.contourDirection=a,this.positionalLines=r,this.compensation=s,this.resolution=B,this.normalMap=Q,this.depthMap=n,this.pixelRatio=E,this.alpha=l,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){let e=`g${this.uuid.toString().replace(/-/g,"")}`;if(A.require("vWorldViewDir"),A.require("worldNormal"),A.extensions.derivatives=!0,this.compensation.value&&A.define("OUTLINE_COMPENSATION",`${e}_offset`),this.firstTime){let I=this.outlineWidth.build(A,"f"),i=this.resolution.build(A,"v2"),t=this.compensation.build(A,"b"),C=this.pixelRatio.build(A,"f");A.addVertexParsVariable("randomColor","attribute vec3"),A.addVertexParsVariable("extrudeNormal","attribute vec3"),A.addVertexParsVariable(I,"uniform float"),A.addVertexParsVariable(i,"uniform vec2"),A.addVertexParsVariable(t,"uniform bool"),A.addVertexParsVariable(C,"uniform float"),A.addVertexParsVariable("vID","flat out float"),A.addFragmentParsVariable("vID","flat in float"),A.addVertexFinalCode(`
                vID = randomColor.r;
                vec2 ${e}_offset = vec2(0.0);
                if (${t}) {
                    vec4 ${e}_clipPosition = projectionMatrix * (modelViewMatrix * vec4(transformed, 1.0));
                    // NOTE: For certain shapes, like spheres, we get incorrect extrusion when the
                    // normals face the camera directly. So we hackily fix this by offsetting the normal
                    // by a tiny amount.
                    vec3 ${e}_clipNormal = mat3(projectionMatrix) * (mat3(modelViewMatrix) * extrudeNormal) + 0.0000001;
                    ${e}_offset = normalize(${e}_clipNormal.xy) / ${i} * (${I} / 2.0) * ${e}_clipPosition.w * 2.0 * ${C};
                    ${e}_clipPosition.xy += ${e}_offset;
                    // TODO(MAX): To handle multiple outline layers, we only want to extrude
                    // if this offset is the biggest of all the potential offsets
                    gl_Position = ${e}_clipPosition;
                }
            `)}if(A.isShader("fragment")){A.require("uv"),A.requires.uv=[!0],A.addFragmentVariable(this.calpha,"float");let I=A.include(GL.Nodes.outline),i=[];return i.push(this.outlineColor.build(A,"c")),i.push(this.contourColor.build(A,"c")),i.push(this.outlineWidth.build(A,"f")),i.push(this.contourWidth.build(A,"f")),i.push(this.contourThreshold.build(A,"f")),i.push(this.outlineThreshold.build(A,"f")),i.push(this.contourFrequency.build(A,"f")),i.push(this.outlineSmoothing.build(A,"f")),i.push(this.contourDirection.build(A,"v3")),i.push(this.positionalLines.build(A,"b")),i.push(this.resolution.build(A,"v2")),i.push(this.normalMap.getTexture(A,"t")),i.push(this.depthMap.getTexture(A,"t")),i.push(this.pixelRatio.build(A,"f")),i.push(this.compensation.build(A,"b")),i.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),i.push(this.alpha.build(A,"f")),i.push(this.calpha),this.firstTime=!this.firstTime,A.format(I+"("+i.join(",")+")",this.getType(A),g)}else return console.warn("OutlineNode is not compatible with "+A.shader+" shader."),""}},mL=GL;mL.Nodes=function(){let A=new Hg(`
float sobelSample(sampler2D t, sampler2D d, vec2 uv, vec2 resolution, float outlineWidth, float pixelRatio)
{
    vec2 halton = haltonSequence[frameIndex];
    float temporalOffset = getNoiseInterleavedGradient(gl_FragCoord.xy + halton);
    float temporalAngle  = temporalOffset * PI2;

    vec2 texelSize = (vec2(1.0) / resolution);
    vec2 offsetSize = texelSize * outlineWidth * pixelRatio;

    vec2 uvSamples[9];
    vec4 normalSamples[9];

	uvSamples[0] = uv + vec2( -offsetSize.x, -offsetSize.y) + (vogelDiskSample(0, 9, temporalAngle) * texelSize);
	uvSamples[1] = uv + vec2(0.0, -offsetSize.y) + (vogelDiskSample(1, 9, temporalAngle) * texelSize);
	uvSamples[2] = uv + vec2(  offsetSize.x, -offsetSize.y) + (vogelDiskSample(2, 9, temporalAngle) * texelSize);
	uvSamples[3] = uv + vec2( -offsetSize.x, 0.0) + (vogelDiskSample(3, 9, temporalAngle) * texelSize);
	uvSamples[4] = uv;
	uvSamples[5] = uv + vec2(  offsetSize.x, 0.0) + (vogelDiskSample(5, 9, temporalAngle) * texelSize);
	uvSamples[6] = uv + vec2( -offsetSize.x, offsetSize.y) + (vogelDiskSample(6, 9, temporalAngle) * texelSize);
	uvSamples[7] = uv + vec2(0.0, offsetSize.y) + (vogelDiskSample(7, 9, temporalAngle) * texelSize);
	uvSamples[8] = uv + vec2(  offsetSize.x, offsetSize.y) + (vogelDiskSample(8, 9, temporalAngle) * texelSize);


    normalSamples[0] = texture2D(t, uvSamples[0]);
    normalSamples[1] = texture2D(t, uvSamples[1]);
    normalSamples[2] = texture2D(t, uvSamples[2]);
    normalSamples[3] = texture2D(t, uvSamples[3]);
    normalSamples[4] = texture2D(t, uvSamples[4]);
    normalSamples[5] = texture2D(t, uvSamples[5]);
    normalSamples[6] = texture2D(t, uvSamples[6]);
    normalSamples[7] = texture2D(t, uvSamples[7]);
    normalSamples[8] = texture2D(t, uvSamples[8]);

    float depthBias = 0.0001;
    // TODO(MAX): Can we somehow reduce the number of conditionals here with MATH?!
    if (normalSamples[0].a != vID && normalSamples[0].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[0]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }

    if (normalSamples[1].a != vID && normalSamples[1].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[1]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }

    if (normalSamples[2].a != vID && normalSamples[2].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[2]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }

    if (normalSamples[3].a != vID && normalSamples[3].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[3]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }


    if (normalSamples[4].a != vID && normalSamples[4].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[4]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }

    if (normalSamples[5].a != vID && normalSamples[5].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[5]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }

    if (normalSamples[6].a != vID && normalSamples[6].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[6]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }

    if (normalSamples[7].a != vID && normalSamples[7].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[7]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }

    if (normalSamples[8].a != vID && normalSamples[8].a != 0.0) {
        float depthAtSample = texture2D(d, uvSamples[8]).r + depthBias;
        if (gl_FragCoord.z > depthAtSample) {
           return 0.0;
        }
    }

    vec3 sobel_edge_h = normalSamples[2].rgb + (2.0*normalSamples[5].rgb) + normalSamples[8].rgb - (normalSamples[0].rgb + (2.0*normalSamples[3].rgb) + normalSamples[6].rgb);
  	vec3 sobel_edge_v = normalSamples[0].rgb + (2.0*normalSamples[1].rgb) + normalSamples[2].rgb - (normalSamples[6].rgb + (2.0*normalSamples[7].rgb) + normalSamples[8].rgb);

    float edgeNormal = sqrt(dot(sobel_edge_h, sobel_edge_h) + dot(sobel_edge_v, sobel_edge_v));
    return edgeNormal;
}
`);return{outline:new Hg(`vec3 outline(vec3 outlineColor, vec3 contourColor, float outlineWidth, float contourWidth, float outlineThreshold, float contourThreshold, float outlineSmoothing, float contourFrequency, vec3 contourDirection, bool positionalLines, vec2 resolution, sampler2D normalMap, sampler2D depthMap, float pixelRatio, bool compensation, float mask, float alpha, out float calpha) {
                vec3 result = outlineColor;
                float resultAlpha = 0.0;

                vec3 N = normalize(vWNormal);
                vec2 nuv = (gl_FragCoord.xy / resolution);
                float sobelSample = compensation ? sobelSample(normalMap, depthMap, nuv, resolution, outlineWidth / 2., pixelRatio) : sobelSample(normalMap, depthMap, nuv, resolution, outlineWidth, pixelRatio);
                resultAlpha = smoothstep(outlineThreshold - outlineSmoothing, outlineThreshold + outlineSmoothing, sobelSample);

                //resultAlpha = 1.0;
                //result = vec3(sobelSample);

                float t = 1.0 - contourThreshold;
                if(positionalLines) {
                    vec3 NDir = position * contourDirection;
                    float NT = NDir.x + NDir.y + NDir.z;
                    float f  = fract(NT * contourFrequency * 0.01);
                    float df = fwidth(NT * contourFrequency);

                    float g = smoothstep(df * (contourWidth * 0.01), df * (contourWidth * 0.01 * 2.0), f);
                    if (g < 1.0 && resultAlpha == 0.0) {
                        result = contourColor;
                        resultAlpha = 1.0;
                    }
                 }
                 else {
                    vec3 NDir = N * contourDirection;
                    float NT = NDir.x + NDir.y + NDir.z;
                    float df = fwidth(NT * contourThreshold);
                    float f = sin(NT * 1.0 * contourFrequency);
                    float g = smoothstep(0.0, df * contourWidth, 1.0 - f);

                    if (df > (t * 0.5) && g < 1.0 && resultAlpha == 0.0) {
                        result = contourColor;
                        resultAlpha = 1.0 - g;
                    }
                 }

                 float lalpha = alpha * resultAlpha * mask;
                 calpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );
                 accumAlpha += ( 1.0 - accumAlpha ) * lalpha;
				 
                 return result;
             }`,[A])}}();var zr=class extends WI{constructor(A,g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l,h,u){super("v3"),this.nodeType="Pattern",this.style=A,this.projection=g,this.axis=e,this.blending=I,this.offset=i,this.colorA=t,this.colorB=C,this.frequency=o,this.size=a,this.variation=r,this.smoothness=s,this.zigzag=B,this.rotation=Q,this.vertical=n,this.horizontal=E,this.sides=l,this.isMask=u,this.alpha=h,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){if(A.isShader("fragment")){A.require("position"),A.require("uv"),A.requires.uv=[!0],A.require("normal"),A.requires.normal=!0,A.addFragmentVariable(this.calpha,"float");let e;switch(this.style.value){case 0:e="circle";break;case 1:e="ring";break;case 2:e="polygon";break;case 3:e="xcross";break;case 4:e="diamond";break;case 5:e="checkerboard";break;case 6:e="line";break;case 7:e="wave";break;default:e="circle";break}let I=`g${this.uuid.toString().replace(/-/g,"")}`,i=new Hg(`float hashwithoutsine12(vec2 p)
				{
					vec3 p3 = fract(vec3(p.xyx) * .1031);
					p3 += dot(p3, p3.yzx + 33.33);
					return fract((p3.x + p3.y) * p3.z);
				}`),t=new Hg(`vec2 rotate_uv(in vec2 uv, float a, bool repeat) 
				{
					const float mid = 0.5;
					float radians = a * (PI / 180.0);
					vec2 rotated = vec2(
						cos(radians) * (uv.x - mid) + sin(radians) * (uv.y - mid) + mid,
						cos(radians) * (uv.y - mid) - sin(radians) * (uv.x - mid) + mid
					);
					return repeat ? fract(rotated): rotated;
				}`),C="";if(this.projection.value===4){let s=this.style.value===2?`${e}(uv0, frequency, size, variation, smoothness_remapped, zigzag, rotation, sides)`:`${e}(uv0, frequency, size, variation, smoothness_remapped, zigzag, rotation)`,B=this.style.value===2?`${e}(uv1, frequency, size, variation, smoothness_remapped, zigzag, rotation, sides)`:`${e}(uv1, frequency, size, variation, smoothness_remapped, zigzag, rotation)`,Q=this.style.value===2?`${e}(uv2, frequency, size, variation, smoothness_remapped, zigzag, rotation, sides)`:`${e}(uv2, frequency, size, variation, smoothness_remapped, zigzag, rotation)`;C=`
				vec3 p = position;
				float factor = 0.0125;
				vec2 uv0 = fract(p.xy * factor);
				vec2 uv1 = fract(p.zy * factor);
				vec2 uv2 = fract(p.xz * factor);
				
				uv0 = rotate_uv(uv0 + offset, rotation, true);
				uv1 = rotate_uv(uv1 + offset, rotation, true);
				uv2 = rotate_uv(uv2 + offset, rotation, true);
	
				float d0 = ${s};
				float d1 = ${B};
				float d2 = ${Q};
				
				// Range from 3 to 128 seems to be good
				float exponent = (1.0 - blending) * 125.0 + 3.0;

				vec3 n = vObjectNormal;
				vec3 weights = abs(normalize(n));
				weights = pow(weights, vec3(exponent));
				weights /= dot(weights, vec3(1.0));
				d0 *= weights.z;
				d1 *= weights.x;
				d2 *= weights.y;
				float draw = d0 + d1 + d2;
	
				vec2 custom_uv = uv0 * weights.z + uv1 * weights.x + uv2 * weights.y;
				`}else{let s=this.style.value===2?`${e}(custom_uv, frequency, size, variation, smoothness_remapped, zigzag, rotation, sides)`:`${e}(custom_uv, frequency, size, variation, smoothness_remapped, zigzag, rotation)`,B="";this.axis.value===0?B=`float radius = length(p);
					float theta = atan(p.y, p.z);
					float phi = acos(p.x / radius);`:this.axis.value===1?B=`float radius = length(p);
					float theta = atan(p.x, p.z);
					float phi = acos(p.y / radius);`:(this.axis.value,B=`float radius = length(p);
					float theta = atan(p.y, p.x);
					float phi = acos(p.z / radius);`);let Q="";switch(this.projection.value){case 0:Q="custom_uv = vUv.st;";break;case 1:break;case 2:Q=`
							vec3 p = position;
							${B}
							custom_uv = vec2(theta, phi);
							custom_uv /= PI;
							`;break;case 3:break;default:break}C=`
				vec2 custom_uv;
				${Q}
	
				custom_uv += offset;
				custom_uv = fract(custom_uv);
				custom_uv = rotate_uv(custom_uv, rotation, true);
	
				float draw = ${s};
				`}let o=new Hg(`vec3 ${I}_pattern(vec3 normal, float blending, int style, vec2 offset, vec4 colorA, vec4 colorB, vec2 frequency, float size, float variation, float smoothness, float zigzag, float rotation, vec2 vertical, vec2 horizontal, int sides, bool isMask, float mask, float alpha, out float calpha) {
					const float TWO_PI = PI * 2.0;
					float smoothness_remapped = pow(smoothness, 5.0);	

					${C}

					// Construct final output color
					vec4 color = mix(colorA, colorB, draw);
					color.a = clamp(color.a, 0.0, 1.0);

					// Apply cuts
					color.a *= 
						step(vertical.x, custom_uv.y) * 
						step(custom_uv.y, vertical.y);
					color.a *= 
						step(horizontal.x, abs(custom_uv.x)) * 
						step(abs(custom_uv.x), horizontal.y);

					// Accumulate alpha 
					float lalpha = alpha * clamp(color.a, 0.0, 1.0) * mask;
					calpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));
					accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

					return clamp(color, 0.0, 1.0).rgb;
				}`,[t,i,zr.DrawFunctions.circle,zr.DrawFunctions.ring,zr.DrawFunctions.polygon,zr.DrawFunctions.cross,zr.DrawFunctions.diamond,zr.DrawFunctions.checkerboard,zr.DrawFunctions.line,zr.DrawFunctions.wave]),a=A.include(o),r=[];return r.push("normal"),r.push(this.blending.build(A,"f")),r.push(this.style.build(A,"i")),r.push(this.offset.build(A,"v2")),r.push(this.colorA.build(A,"v4")),r.push(this.colorB.build(A,"v4")),r.push(this.frequency.build(A,"v2")),r.push(this.size.build(A,"f")),r.push(this.variation.build(A,"f")),r.push(this.smoothness.build(A,"f")),r.push(this.zigzag.build(A,"f")),r.push(this.rotation.build(A,"f")),r.push(this.vertical.build(A,"v2")),r.push(this.horizontal.build(A,"v2")),r.push(this.sides.build(A,"i")),r.push(this.isMask.build(A,"b")),r.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),r.push(this.alpha.build(A,"f")),r.push(this.calpha),A.format(a+"("+r.join(",")+")",this.getType(A),g)}else return console.warn("PatterNode is not compatible with "+A.shader+" shader."),A.format("vec3(0.0)",this.getType(A),g)}},ML=zr;ML.DrawFunctions=function(){let A=new Hg(`float hashwithoutsine12(vec2 p) {
				vec3 p3 = fract(vec3(p.xyx) * 0.1031);
				p3 += dot(p3, p3.yzx + 33.33);
				return fract((p3.x + p3.y) * p3.z);
			}`),g=new Hg(`vec2 tile_and_center(in vec2 uv, in vec2 frequency, in float variation, in float zigzag, in float rotation) {
                // Create tiles in UV-space
                uv *= frequency;

                // Integer coords
                vec2 i = floor(uv);

                // Offset every other row based on zigzag param, then compute fractional coords
                float row_offset = mod(i.y, 2.0);
                uv.x += row_offset * zigzag;
                vec2 f = fract(uv);

				// Rotate the tile itself:
				// const float mid = 0.5;
				// f = vec2(
				// 	cos(rotation) * (f.x - mid) + sin(rotation) * (f.y - mid) + mid,
				// 	cos(rotation) * (f.y - mid) - sin(rotation) * (f.x - mid) + mid
				// );
				// f = fract(f);

                f = f * 2.0 - 1.0;

				// Recompute integer coords after shifting - then, random value per tile 
				i = floor(uv);
				float rand = (hashwithoutsine12(i) * 5.0 + 1.0);
				float jitter = mix(1.0, rand, variation);
				f *= jitter;

                return f;
            }`,[A]),e=new Hg(`float circle(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {
                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);
                return smoothstep(
                    -smoothness, 
                     smoothness, 
                     length(f) - size
                );
            }`,[g]),I=new Hg(`float ring(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {
                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);

				float d = length(f);
                const float inner_width = 0.5;

                float outer = smoothstep(-smoothness, smoothness, d - size);
                float inner = smoothstep(-smoothness, smoothness, d - size * inner_width);
				return outer + (1.0 - inner);   
            }`,[g]),i=new Hg(`float sdf_ngon(in vec2 p, in float r, in int n) {
                float an = (PI * 2.0) / float(n);
                float he = r * tan(0.5 * an);
                
                // Rotate to first sector
                p = -p.yx; 
                float bn = an * floor((atan(p.y, p.x) + 0.5 * an) / an);
                vec2  cs = vec2(cos(bn), sin(bn));
                p = mat2(cs.x, -cs.y, cs.y, cs.x)*p;
            
                // Side of polygon
                return length(p - vec2(r, clamp(p.y, -he, he))) * sign(p.x - r);
            }
            
            float polygon(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation, in int sides) {
                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);
                return smoothstep(-smoothness, smoothness, sdf_ngon(f, size, sides));
            }`,[g]),t=new Hg(`float sdf_cross(in vec2 p, in vec2 b, float r ) {
                p = abs(p); 
				p = (p.y > p.x) ? p.yx : p.xy;
                vec2  q = p - b;
                float k = max(q.y, q.x);
                vec2  w = (k > 0.0) ? q : vec2(b.y - p.x, -k);
                return sign(k) * length(max(w, 0.0)) + r;
            }
            
            // Avoid namespace conflicts 
            float xcross(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {
                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);
                return smoothstep(-smoothness, smoothness, sdf_cross(f, vec2(size, size * 0.25), smoothness));
            }`,[g]),C=new Hg(`float ndot(vec2 a, vec2 b) { 
                return a.x*b.x - a.y*b.y; 
            }
            
            float sdf_diamond(in vec2 p, in vec2 b) {
                p = abs(p);
                float h = clamp(ndot(b - 2.0 * p, b) / dot(b, b), -1.0, 1.0);
                float d = length(p - 0.5 * b * vec2(1.0 - h, 1.0 + h));
                return d * sign(p.x * b.y + p.y * b.x - b.x * b.y);
            }

            float diamond(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {
                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);
	            return smoothstep(-smoothness, smoothness, sdf_diamond(f, vec2(size)));
            }`,[g]),o=new Hg(`float checkerboard(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {
                uv *= frequency;
                vec2 i = floor(uv);

                float offset = mod(i.y, 2.0);

                uv.x += offset + zigzag * offset;
                float x = floor(uv.x);
                
                return mod(x, 2.0);
            }`),a=new Hg(`float line(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {
                vec2 f = tile_and_center(uv, frequency, 0.0, zigzag, rotation);
				
				// Different approach for variation param here
				float row = floor(uv * frequency).y;
				float rand = hashwithoutsine12(vec2(row));
				float s = mix(size, size * rand, variation);

				return smoothstep(
					s - smoothness, 
					s + smoothness, 
					abs(f.y)
				);
            }`,[g]),r=new Hg(`// Uses bisection 
            float udf_cos(in vec2 p, in float a, in float b, in float c, in float d) {
                // Convert all data to a primitive cosine wave
                p = c * (p - vec2(d, a));
                
                const float TWO_PI = PI * 2.0;

                // Reduce to principal half cycle
                p.x = mod(p.x, TWO_PI); 
                if (p.x > PI) {
                    p.x = TWO_PI - p.x;
                }
            
                // Find zero of derivative (minimize distance)
                float xa = 0.0;
                float xb = TWO_PI;

                // 24 bit precision
                for (int i = 0; i < 24; i++) {
                    float x = 0.5 * (xa + xb);
                    float y = x - p.x + b * c * sin(x) * (p.y - b * c * cos(x));
                    if (y < 0.0) xa = x; 
                    else xb = x;
                }
                float x = 0.5 * (xa + xb);
                
                // Compute distance    
                vec2 q = vec2(x, b * c * cos(x));
                return length(p - q) / c;
            }

            float wave(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {
                float repeat = frequency.x;
                uv *= repeat;
                vec2 i = floor(uv);
                float row_offset = mod(i.y, 2.0);
                uv.x += row_offset * zigzag;
                vec2 f = vec2(uv.x, fract(uv.y));

                // Generalized cosine: y(x) = a + b * cos(cx + d)
                const float amplitude = 0.125;
                float wave_frequency = frequency.y * 0.1;
                float distance_estimate = udf_cos(f, 0.50, amplitude, wave_frequency * (2.0 * PI), 0.0);

				// Different approach for variation param here
				float rand = hashwithoutsine12(vec2(i.y));
				float s = mix(size, size * rand, variation);

                return smoothstep(-smoothness, smoothness, distance_estimate - s * 0.5);
            }`);return{tileAndCenter:g,circle:e,ring:I,polygon:i,cross:t,diamond:C,checkerboard:o,line:a,wave:r}}();var kL=class extends WI{constructor(A,g,e,I,i,t,C,o){super("v3"),this.nodeType="Rainbow",this.filmThickness=A,this.movement=g,this.wavelengths=e,this.noiseStrength=I,this.noiseScale=i,this.offset=t,this.isMask=o,this.alpha=C,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){if(A.require("vWorldViewDir"),A.require("worldNormal"),A.isShader("fragment")){A.require("uv"),A.requires.uv=[!0],A.addFragmentVariable(this.calpha,"float");let e=A.include(kL.Nodes.rainbow),I=[];return I.push(this.filmThickness.build(A,"f")),I.push(this.movement.build(A,"f")),I.push(this.wavelengths.build(A,"v3")),I.push(this.noiseStrength.build(A,"f")),I.push(this.noiseScale.build(A,"f")),I.push(this.offset.build(A,"v3")),I.push(this.isMask.build(A,"b")),I.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),I.push(this.alpha.build(A,"f")),I.push(this.calpha),A.format(e+"("+I.join(",")+")",this.getType(A),g)}else return console.warn("RainbowNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},UL=kL;UL.Nodes=function(){let A=new Hg(`vec3 attenuation(vec3 wavelengths, float filmThickness, float movement, float noiseStrength, float noiseScale, vec3 offset) {
                 vec3 st = position / noiseScale;
				 vec3 q = vec3(simplex3d(st),
							  simplex3d(st + vec3(1.0)),
							  simplex3d(st + vec3(1.0)));

				 vec3 r = vec3(simplex3d(st + vec3(1.4, 1.3, 1.0) * q + vec3(1.7, 9.2, 1.0)),
							  simplex3d(st + vec3(2.0, 1.2, 1.0) * q + vec3(8.3, 2.8, 1.0)),
							  simplex3d(st * q));

                 float noise = simplex3d(st + r);

                 return .5 + .5 * cos((((filmThickness + (noise * noiseStrength)) / (vec3(wavelengths.r * 1.0, wavelengths.g * 0.8, wavelengths.b * 0.6) + 1.0)) * dot(normalize(vWorldViewDir + (offset * -0.001)), normalize(vWNormal))) + movement);
             }`,[OC.simplex]);return{rainbow:new Hg(`vec3 rainbow(float filmThickness, float movement, vec3 wavelengths, float noiseStrength, float noiseScale, vec3 offset, bool isMask, float mask, float alpha, out float calpha) {
				vec3 res = clamp(attenuation(wavelengths, filmThickness, movement, noiseStrength, noiseScale, offset), 0.0, 2.0);

				float rainbowContribution = clamp(res.r + res.g + res.b, 0.0, 1.0);

				float lalpha = alpha * rainbowContribution * mask;
				calpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));
				accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));

				return res;
             }`,[A])}}();var NL=class extends WI{constructor(A,g,e,I,i,t,C,o,a,r){super("v3"),this.nodeType="Toon",this.positioning=A,this.colors=g,this.steps=e,this.source=I,this.isWorldSpace=i,this.noiseStrength=t,this.noiseScale=C,this.shadowColor=o,this.offset=a,this.alpha=r,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){if(A.require("worldNormal"),A.require("worldPosition"),A.isShader("fragment")){A.define("COLORS_MAX",10),A.addFragmentVariable(this.calpha,"float");let e=A.include(NL.Nodes.toon),I=[];return I.push(this.positioning.build(A,"i")),I.push(this.colors.build(A,"v4[]")),I.push(this.steps.build(A,"f[]")),I.push(this.source.build(A,"v3")),I.push(this.isWorldSpace.build(A,"b")),I.push(this.noiseStrength.build(A,"f")),I.push(this.noiseScale.build(A,"f")),I.push(this.shadowColor.build(A,"v4")),I.push(this.offset.build(A,"v3")),I.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),I.push(this.alpha.build(A,"f")),I.push(this.calpha),A.format(e+"("+I.join(",")+")",this.getType(A),g)}else return console.warn("ToonNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},FL=NL;FL.Nodes=function(){let A=new Hg(`float rand(float n) {
				return fract(sin(n) * 43758.5453123);
			}`),g=new Hg(`float hash1(float p) { 
				p = fract(p * 0.011); 
				p *= p + 7.5; 
				p *= p + p; 
				return fract(p); 
			}`),e=new Hg(`float valueNoise(vec3 x) {
				const vec3 step = vec3(110, 241, 171);
			
				vec3 i = floor(x);
				vec3 f = fract(x);
			 
				// For performance, compute the base input to a 1D hash from the integer part of the argument and the 
				// incremental change to the 1D based on the 3D -> 1D wrapping
				float n = dot(i, step);
			
				vec3 u = f * f * (3.0 - 2.0 * f);
				return mix(mix(mix( hash1(n + dot(step, vec3(0, 0, 0))), hash1(n + dot(step, vec3(1, 0, 0))), u.x),
							   mix( hash1(n + dot(step, vec3(0, 1, 0))), hash1(n + dot(step, vec3(1, 1, 0))), u.x), u.y),
						   mix(mix( hash1(n + dot(step, vec3(0, 0, 1))), hash1(n + dot(step, vec3(1, 0, 1))), u.x),
							   mix( hash1(n + dot(step, vec3(0, 1, 1))), hash1(n + dot(step, vec3(1, 1, 1))), u.x), u.y), u.z);
			}`,[g]),I=new Hg(`vec3 hash3(vec3 x) {
				x = vec3(dot(x,vec3(127.1, 311.7, 74.7)),
						 dot(x,vec3(269.5, 183.3, 246.1)),
						 dot(x,vec3(113.5, 271.9, 124.6)));
			
				return fract(sin(x)*43758.5453123);
			}`),i=new Hg(`vec3 voronoiNoise(in vec3 x)
			{
				vec3 p = floor(x);
				vec3 f = fract(x);

				float id = 0.0;
				vec2 res = vec2(100.0);

				for(int k=-1; k<=1; k++)
				for(int j=-1; j<=1; j++)
				for(int i=-1; i<=1; i++)
				{
					vec3 b = vec3(float(i), float(j), float(k));

					// Comment out the "+ hash(p + b);" part below to get "square" cells
					vec3 r = vec3(b) - f + hash3(p + b);
					float d = dot(r, r);

					if (d < res.x)
					{
						id = dot(p + b, vec3(1.0, 57.0, 113.0));
						res = vec2(d, res.x);			
					}
					else if (d < res.y)
					{
						res.y = d;
					}
				}

				return vec3(sqrt(res), abs(id));
			}
			`,[I]);return{toon:new Hg(`vec3 toon(int positioning, vec4 colors[COLORS_MAX], float steps[COLORS_MAX], vec3 source, bool isWorldSpace, float noiseStrength, float noiseScale, vec4 shadowColor, vec3 offset, float mask, float alpha, out float calpha) {
				float t = 0.0;
				float shadow = 1.0;

				if (positioning == 0) {

					// Can't do this mode if lighting is "none"
					#if (defined(PHONG) || defined(LAMBERT) || defined(STANDARD))

						// Algorithm from Chapter 10 of Graphics Shaders
						const vec3 weights = vec3(0.2125, 0.7154, 0.0721);
						vec3 lpos;
						vec3 l;
						float dproduct;

						#if (NUM_POINT_LIGHTS > 0)

							#if defined(USE_SHADOWMAP) && (NUM_POINT_LIGHT_SHADOWS > 0)
								PointLightShadow pointLightShadow;
							#endif 

							#pragma unroll_loop_start
							for (int i = 0; i < NUM_POINT_LIGHTS; i++) {
								// Light positions are in view-space for some reason?
								lpos = (inverse(viewMatrix) * vec4(pointLights[UNROLLED_LOOP_INDEX].position, 1.0)).xyz;
								l = normalize(lpos - worldPosition);
								
								dproduct = dot(l, normalize(worldNormal)) * 0.5 + 0.5;
								
								// TODO: we want to use "intensity" but it isn't available in the shader code
								//dproduct += dot(pointLights[UNROLLED_LOOP_INDEX].color, weights);

								t = max(t, dproduct);

								// Accumulate shadow contribution
								#if defined(USE_SHADOWMAP) && (UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS)
									pointLightShadow = pointLightShadows[UNROLLED_LOOP_INDEX];
									shadow *= getPointShadow( 
											pointShadowMap[UNROLLED_LOOP_INDEX], 
											pointLightShadow.shadowMapSize, 
											pointLightShadow.shadowBias, 
											pointLightShadow.shadowRadius,
											vPointShadowCoord[UNROLLED_LOOP_INDEX], 
											pointLightShadow.shadowCameraNear, 
											pointLightShadow.shadowCameraFar);
								#endif
							}
							#pragma unroll_loop_end

						#endif

						#if NUM_DIR_LIGHTS > 0 
							
							#if defined(USE_SHADOWMAP) && (NUM_DIR_LIGHT_SHADOWS > 0)
								DirectionalLightShadow directionalLightShadow;
							#endif 

							#pragma unroll_loop_start
							for (int i = 0; i < NUM_DIR_LIGHTS; i++) {
								// Use the direction vector for directional lights instead
								l = (inverse(viewMatrix) * vec4(directionalLights[UNROLLED_LOOP_INDEX].direction, 0.0)).xyz;
		
								dproduct = dot(l, normalize(worldNormal)) * 0.5 + 0.5;
								t = max(t, dproduct);

								// Accumulate shadow contribution
								#if defined(USE_SHADOWMAP) && (UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS)
									directionalLightShadow = directionalLightShadows[UNROLLED_LOOP_INDEX];
									shadow *= getShadow( 
										UNROLLED_LOOP_INDEX,
										directionalShadowMap[UNROLLED_LOOP_INDEX], 
										directionalLightShadow.shadowMapSize, 
										directionalLightShadow.shadowBias, 
										directionalLightShadow.shadowRadius, 
										vDirectionalShadowCoord[UNROLLED_LOOP_INDEX]);
								#endif
							}
							#pragma unroll_loop_end

						#endif

						#if NUM_SPOT_LIGHTS > 0 
							
							#if defined(USE_SHADOWMAP) && (NUM_SPOT_LIGHT_SHADOWS > 0)
								SpotLightShadow spotLightShadow;
							#endif 

							#pragma unroll_loop_start
							for (int i = 0; i < NUM_SPOT_LIGHTS; i++) {
								lpos = (inverse(viewMatrix) * vec4(spotLights[UNROLLED_LOOP_INDEX].position, 1.0)).xyz;
								l = normalize(lpos - worldPosition);
								
								dproduct = dot(l, normalize(worldNormal)) * 0.5 + 0.5;
								t = max(t, dproduct);

								// Accumulate shadow contribution
								#if defined(USE_SHADOWMAP) && (UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS)
									spotLightShadow = spotLightShadows[UNROLLED_LOOP_INDEX];
									shadow *= getShadow(
										UNROLLED_LOOP_INDEX,
										spotShadowMap[UNROLLED_LOOP_INDEX], 
										spotLightShadow.shadowMapSize, 
										spotLightShadow.shadowBias, 
										spotLightShadow.shadowRadius, 
										vSpotLightCoord[UNROLLED_LOOP_INDEX]);
								#endif
							}
							#pragma unroll_loop_end

						#endif

						t = clamp(t, 0.0, 1.0);
				
					#endif

				} else if (positioning == 1) {
					
					vec3 origin = mix(position, worldPosition, float(isWorldSpace));
					vec3 direction = normalize(source - origin);
					t = dot(direction, normalize(worldNormal)) * 0.5 + 0.5;	

				} else {

					vec3 origin = worldPosition;
					vec3 source = cameraPosition - offset;
					vec3 direction = normalize(source - origin);
					t = dot(direction, normalize(worldNormal)) * 0.5 + 0.5;	
					
				}

				if (noiseStrength > 0.0) {
					// Distort with noise
					vec3 st = position / noiseScale;
					
					// Voronoi "smooth" noise
					float noise = 1.0 - voronoiNoise(st).x;

					// Voronoi cellular noise
					//float noise = 1.0 - rand(voronoiNoise(st).z);

					// Position warp noise
					// vec3 offset = vec3(
					// 	simplex3d(st),
					// 	simplex3d(st + vec3(111.1, 143.89, 217.19)),
					// 	simplex3d(st + vec3(171.1, 247.89, 117.23))
					// );
					// st += offset;
					// float noise = valueNoise(st);

					t += noise * noiseStrength;
				}

				t = clamp(t, 0.0, 1.0);

				// Compute ramp color
				float p;
				vec4 color = colors[0];
				for (int i = 1; i < COLORS_MAX; i++) {
					p = clamp((t - steps[i-1]) / (steps[i] - steps[i-1]), 0.0, 1.0);
					color = mix(color, colors[i], smoothstep(0.0, 1.0, p));
				}

				// Incorporate custom shadow color
				if (positioning == 0) {

					vec3 blendedShadow = mix(color.rgb, shadowColor.rgb, shadowColor.a);
					color.rgb = mix(blendedShadow, color.rgb, shadow);
				
				}

				// Accumulate alpha as usual
				float lalpha = alpha * color.a * mask;
				calpha =  lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0);
				accumAlpha += (1.0 - accumAlpha) * lalpha;

				return color.xyz;

            }`,[OC.simplex,A,e,i])}}();var gCA=function(){return{textureBicubic:new Hg(`float w0( float a ) {
            return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );
        }
    
        float w1( float a ) {
            return ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );
        }
    
        float w2( float a ){
            return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );
        }
    
        float w3( float a ) {
            return ( 1.0 / 6.0 ) * ( a * a * a );
        }
    
        // g0 and g1 are the two amplitude functions
        float g0( float a ) {
            return w0( a ) + w1( a );
        }
    
        float g1( float a ) {
            return w2( a ) + w3( a );
        }
    
        // h0 and h1 are the two offset functions
        float h0( float a ) {
            return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );
        }
    
        float h1( float a ) {
            return 1.0 + w3( a ) / ( w2( a ) + w3( a ) );
        }
    
        vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {
            uv = uv * texelSize.zw + 0.5;
    
            vec2 iuv = floor( uv );
            vec2 fuv = fract( uv );
    
            float g0x = g0( fuv.x );
            float g1x = g1( fuv.x );
            float h0x = h0( fuv.x );
            float h1x = h1( fuv.x );
            float h0y = h0( fuv.y );
            float h1y = h1( fuv.y );
    
            vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;
            vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;
            vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;
            vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;
    
            return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + 
                   g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );
        }

        vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {
            vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );
            vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );
            vec2 fLodSizeInv = 1.0 / fLodSize;
            vec2 cLodSizeInv = 1.0 / cLodSize;
            vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );
            vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );
            return mix( fSample, cSample, fract( lod ) );
        }`)}}();function eCA(A,g){return A>=g?new mA(g/A,1):new mA(1,A/g)}var RL=class extends WI{constructor(A,g,e,I,i,t,C,o){super("v3"),this.nodeType="Transmission",this.thickness=A,this.ior=g,this.roughness=e,this.transmissionSamplerSize=I,this.transmissionSamplerMap=i,this.transmissionDepthMap=t,this.aspectRatio=C,this.alpha=o,this.calpha=`g${this.uuid.toString().replace(/-/g,"")}_calpha`}generate(A,g){if(A.extensions.shaderTextureLOD=!0,A.extensions.derivatives=!0,A.isShader("fragment")){A.define("NUM_SAMPLES",6),A.define("BLUR_SLOD",Math.pow(2,pe.transmissionLod.value)),A.require("worldPosition"),A.requires.worldNormal=!0,A.requires.modelMatrix=!0,A.requires.projectionMatrix=!0,A.addFragmentVariable(this.calpha,"float");let e=A.include(RL.Nodes.transmission),I=[];return I.push(this.thickness.build(A,"f")),I.push(this.ior.build(A,"f")),I.push(this.roughness.build(A,"f")),I.push(this.transmissionSamplerSize.build(A,"v2")),I.push(this.transmissionSamplerMap.getTexture(A,"t")),I.push(this.transmissionDepthMap.getTexture(A,"t")),I.push(this.aspectRatio.build(A,"v2")),I.push("normal"),I.push(this.mask?`luminance(${this.mask.flow(A,"v3").result})`:"1.0"),I.push(this.alpha.build(A,"f")),I.push(this.calpha),A.format(e+"("+I.join(",")+")",this.getType(A),g)}else return console.warn("TransmissionNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},vL=RL;vL.Nodes=function(){let A=new Hg(`vec3 blur(sampler2D sp, vec2 U, vec2 scale, float lod, sampler2D dm, vec2 unrefractedU, vec2 aspectRatio) {
                // Slightly modified version of this:
                // https://www.shadertoy.com/view/ltScRG

				// Special case for blur == 0.0
				if (lod == 0.0) {
					#ifdef TEXTURE_LOD_EXT
					return texture2DLodEXT( sp, U, 0.0).rgb;
					#else
					return textureLod( sp, U, 0.0).rgb;
					#endif
				}
				
				vec2 texelSize = vec2(1.0) / resolution;
                vec2 halton = haltonSequence[frameIndex];
                float temporalOffset = getNoiseInterleavedGradient(gl_FragCoord.xy + halton);
                float temporalAngle  = temporalOffset * PI2;
				vec3 res = vec3(0.0);
                vec2 uv = vec2(0.0);
                vec2 offset = vec2(0.0);
                vec2 vogelSample = vec2(0.0);
                for (int i = 0; i < NUM_SAMPLES; i++) {
                    vogelSample =  vogelDiskSample(i, NUM_SAMPLES, temporalAngle) * texelSize;
                    offset = vogelSample * scale * (lod * 10.0); // TODO: used to be hardcoded to 20
                    uv = U + offset;
                    float opaqueDepth = unpackRGBAToDepth(textureLod(dm, uv, lod));
                    if (opaqueDepth != 0.0 && opaqueDepth < gl_FragCoord.z) {
                        uv = unrefractedU;
                        lod = lod > 4.0 ? lod : lod / 2.0;
                    }
                    res += textureLod(sp, uv, lod).rgb;
                }
                return res / float(NUM_SAMPLES);
            }`),g=new Hg(`vec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {
		        // Direction of refracted light.
		        vec3 refractionVector = refract( -v,  n, 1.0 / ior );
		        
				// Compute rotation-independant scaling of the model matrix.
		        vec3 modelScale;
		        modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );
		        modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );
		        modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );

		        // The thickness is specified in local space
		        return normalize( refractionVector ) * thickness * modelScale;
	        }`),e=new Hg(`float applyIorToRoughness( float roughness, float ior ) {
				// Scale roughness with IOR so that an IOR of 1.0 results in no microfacet refraction and
				// an IOR of 1.5 results in the default amount of microfacet refraction.
				return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );
			}`),I=new Hg(`vec3 getTransmissionSample( vec2 fragCoord, float roughness, float ior, vec2 transmissionSamplerSize, sampler2D transmissionSamplerMap, sampler2D transmissionDepthMap, vec2 unrefractedCoords, vec2 aspectRatio) {
				// Threejs exports do not pass a depth map to this shader, so we have to fallback to the "Threejs method of blurring" - see
				// also the code in convertTransmission.ts, which runs during export
				#ifdef IS_THREEJS_EXPORT
					float lod = log2(transmissionSamplerSize.x) * applyIorToRoughness(roughness / 5.0, ior);
					return textureBicubic(transmissionSamplerMap, fragCoord.xy, lod).rgb;
				#else
					float framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );
					float lod = applyIorToRoughness(roughness, ior);
					return blur(transmissionSamplerMap, fragCoord, vec2(lod), min(framebufferLod / 5.5, 8.5), transmissionDepthMap, unrefractedCoords, aspectRatio);
				#endif
			}`,[gCA.textureBicubic,e,A]),i=new Hg(`vec3 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness, vec2 transmissionSamplerSize, sampler2D transmissionSamplerMap, sampler2D transmissionDepthMap, vec2 aspectRatio ) {
				vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );
				vec3 refractedRayExit = position + transmissionRay;

				// Project refracted vector on the framebuffer, while mapping to normalized device coordinates.
				vec4 ndcPos = projMatrix * viewMatrix *  vec4( refractedRayExit, 1.0 );
				vec2 refractionCoords = ndcPos.xy / ndcPos.w;
				refractionCoords += 1.0;
				refractionCoords /= 2.0;

				vec4 ndcPosUnrefracted = projMatrix * viewMatrix * vec4(position, 1.0 );
				vec2 unrefractedCoords = ndcPosUnrefracted.xy / ndcPosUnrefracted.w;
				unrefractedCoords += 1.0;
				unrefractedCoords /= 2.0;

				// Sample framebuffer to get pixel the refracted ray hits.
				return getTransmissionSample( refractionCoords, roughness, ior, transmissionSamplerSize, transmissionSamplerMap, transmissionDepthMap, unrefractedCoords, aspectRatio );
    		}`,[I,g]);return{transmission:new Hg(`vec3 transmission(float thickness, float ior, float roughness, vec2 transmissionSamplerSize, sampler2D transmissionSamplerMap, sampler2D transmissionDepthMap, vec2 aspectRatio, vec3 normal, float mask, float alpha, out float calpha) {
                vec3 v = vec3(0.);
                if (isOrthographic) {
                    v = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
                } else {
                    v = normalize(vWPosition - cameraPosition);
                }
                vec3 transmission = getIBLVolumeRefraction(vWNormal, -v, roughness,  vWPosition, modelMatrix, viewMatrix, projectionMatrix, ior, thickness, transmissionSamplerSize, transmissionSamplerMap, transmissionDepthMap, aspectRatio );
                
				float lalpha = alpha * mask;
				calpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );
				accumAlpha += ( 1.0 - accumAlpha ) * alpha;

				return transmission;
            }`,[i])}}();var yS=(A=>(A.NOISE="noise",A.MAP="map",A))(yS||{}),KL=class extends WI{constructor(A,g,e,I,i,t,C,o,a,r,s){super("v3"),this.displacementTypeIndex=new XI(0),this.nodeType="VertexDisplacement",this.intensity=A,this.movementOrTexture=g,Object.values(yS)[this.displacementTypeIndex.value]==="map"&&(this.mat=new lL(this.movementOrTexture.value.matrix)),this.cropOrOffset=e,this.scale=r,this.noiseFunctionIndex=s,this.voronoiStyle=I,this.smoothness=i,this.seed=t,this.highCut=C,this.lowCut=o,this.quality=a}generate(A,g){if(A.isShader("vertex")){A.define("USE_LAYER_DISPLACE");let e,I=[];switch(I.push("displaced_position"),I.push("displaced_normal"),Object.values(yS)[this.displacementTypeIndex.value]){case"map":{e=A.include(KL.Nodes.map),I.push(this.movementOrTexture.getTexture(A,"t")),I.push("uv"),I.push(this.cropOrOffset.build(A,"f")),this.mat&&I.push(this.mat.build(A,"mat3"));break}case"noise":{let i=Object.values(Im)[this.noiseFunctionIndex.value],t=new Hg(`vec3 orthogonal(vec3 v) {
							return normalize(abs(v.x) > abs(v.z) ? vec3(-v.y, v.x, 0.0) : vec3(0.0, -v.z, v.y));
						}`),C=i=="voronoi"?`
					float v = ${i}((p + offset) * scale * 0.001 + neighbour_offset + (movement * 0.1), voronoiStyle, smoothness, seed, quality);
					v = remap(v, lowCut, highCut, 0.0, 1.0);
					v = smax(v, 0.0, smoothness * 0.25);
					v = smin(v, 1.0, smoothness * 0.25);

					return p + n * v * intensity;
					`:`
					return p + n * ${i}((p + offset) * scale * 0.001 + neighbour_offset + (movement * 0.1)) * intensity;
					`,o=new Hg(`vec3 distorted(vec3 p, vec3 n, float scale, float intensity, vec3 offset, float neighbour_offset, float movement, int voronoiStyle, float smoothness, float seed, float highCut, float lowCut, int quality) {
							${C}
						}`,[OC.simplex,OC.simplexFractal,OC.simplexAshima,OC.fbm,OC.perlin,OC.voronoi]),a=new Hg(`vec3 vertexDisplacementNoise(vec3 position, vec3 normal, float scale, vec3 offset, float movement, int voronoiStyle, float smoothness, float seed, float highCut, float lowCut, int quality, float intensity, out vec3 displaced_normal) {
							vec3 displaced_position = distorted(position, normal, scale, intensity, offset, neighbor_offset, movement, voronoiStyle, smoothness, seed, highCut, lowCut, quality);
							vec3 tangent1 = orthogonal(normal);
							vec3 tangent2 = normalize(cross(normal, tangent1));

                            // TODO(Max): The distance to the neighbors was originally scaled by 0.1.
                            // This caused some small oval/circular visual artifacts in the lighting.
                            // For now, simply using neighbors further away betters the problem,
                            // but we should figure out the underlying cause when we have some time.
                            // Maybe its related to how we calculate the tangent and bitangent?
							vec3 nearby1 = position + tangent1;
							vec3 nearby2 = position + tangent2;
							vec3 distorted1 = distorted(nearby1, normal, scale, intensity, offset, neighbor_offset, movement, voronoiStyle, smoothness, seed, highCut, lowCut, quality);
							vec3 distorted2 = distorted(nearby2, normal, scale, intensity, offset, neighbor_offset, movement, voronoiStyle, smoothness, seed, highCut, lowCut, quality);
							displaced_normal = normalize(cross(distorted1 - displaced_position, distorted2 - displaced_position));
							return displaced_position;
						}`,[o,t]);e=A.include(a),I.push(this.scale.build(A,"f")),I.push(this.cropOrOffset.build(A,"v3")),I.push(this.movementOrTexture.build(A,"f")),I.push(this.voronoiStyle.build(A,"i")),I.push(this.smoothness.build(A,"f")),I.push(this.seed.build(A,"f")),I.push(this.highCut.build(A,"f")),I.push(this.lowCut.build(A,"f")),I.push(this.quality.build(A,"i"));break}}return I.push(this.intensity.build(A,"f")),I.push("displaced_normal"),A.format(e+"("+I.join(",")+")",this.getType(A),g)}else return console.warn("VertexDisplacementNode is not compatible with "+A.shader+" shader."),A.format("vec3( 0.0 )",this.getType(A),g)}},JL=KL;JL.Nodes=function(){let A=new Hg(`vec3 orthogonal(vec3 v) {
				return normalize(abs(v.x) > abs(v.z) ? vec3(-v.y, v.x, 0.0) : vec3(0.0, -v.z, v.y));
			}`),g=new Hg(`float displacementMapTexture(sampler2D tex, float crop, vec2 uv, mat3 mat, vec2 offset) {
				vec2 uvs = (mat * vec3(uv * 2.0 - 1.0, 1.0) / 2.0 + 0.5).xy + offset;
				vec4 tmp = texture2D(tex, uvs);
				vec3 col = tmp.rgb;
				if (crop > 0.5) {
					if ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {
						return 0.0;
					}
				}
				return col.r;
			}`);return{map:new Hg(`vec3 vertexDisplacementMap(vec3 position, vec3 normal, sampler2D tex, vec2 uv, float crop, mat3 mat, float intensity, out vec3 displaced_normal) {
				vec3 displaced_position = position + normal * displacementMapTexture(tex, crop, uv, mat, vec2(0.0)) * intensity;
				vec3 tangent1 = normalize(orthogonal(normal));
				vec3 tangent2 = normalize(cross(normal, tangent1));
				vec3 nearby1 = position + tangent1 * 0.1;
				vec3 nearby2 = position + tangent2 * 0.1;
				vec3 distorted1 = nearby1 + normal * displacementMapTexture(tex, crop, uv, mat, vec2(neighbor_offset)) * intensity;
				vec3 distorted2 = nearby2 + normal * displacementMapTexture(tex, crop, uv, mat, vec2(neighbor_offset)) * intensity;
				displaced_normal = normalize(cross(distorted1 - displaced_position, distorted2 - displaced_position));
				return displaced_position;
			}`,[A,g])}}();var pe={normalRenderTarget:new Is,normalRenderTargetDepth:new Is,transmissionRenderTarget:new Is,aspectRatio:new Xt,transmissionSize:new Xt(2048,2048),transmissionRenderTargetDepth:new Is,aoRenderTarget:new Is,aoEnabled:new kC,pixelRatioNode:new $g(1),resolution:new Xt,penumbraSize:new gQ(5,.5),frameIndex:new XI(0),transmissionLod:new XI(2)};for(let A of Object.values(pe))A.isRenderGlobal=!0;var qL={skiaWasmUrl:"https://unpkg.com/@splinetool/ui-wasm@1.9.3/build/ui.wasm"},im=class extends pt{constructor(){super("basic"),this.nodeType="Basic",this.color=new vi(Bo),this.shadingAlpha=new $g(1),this.shadingBlend=new XI(0),this.previousModelViewMatrix=new sr,this.previouseProjectionMatrix=new sr}get category(){return"phong"}generate(A){let g;if(A.isShader("vertex")){let e=this.position?this.position.analyzeAndFlow(A,"v3",{cache:"position"}):void 0;A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({resolution:pe.resolution}),A.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),A.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),A.mergeUniform(PE.merge([xg.fog])),A.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","#include <fog_pars_vertex>","#include <normal_pars_vertex>"].join(`
`));let I=["#include <beginnormal_vertex>",`
				#if !defined( USE_LAYER_DISPLACE )
					#include <defaultnormal_vertex>
				#endif

				vec3 displaced_position = position;
				vec3 displaced_normal = normal;

				#if defined( USE_LAYER_DISPLACE )
					vec3 transformed;
					vec3 transformedNormal;
				#endif
				`,"#include <normal_vertex>",`
				#if !defined( USE_LAYER_DISPLACE )
					#include <begin_vertex>
				#endif /* !USE_LAYER_DISPLACE */
				`];e&&I.push(e.code,e.result?"displaced_position = "+e.result+";":""),I.push("transformed = displaced_position;","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","	vNormal = transformedNormal;","#endif"),I.push("#include <project_vertex>","#include <fog_vertex>","#include <clipping_planes_vertex>","	vViewPosition = - mvPosition.xyz;","#include <worldpos_vertex>"),I.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),g=I.join(`
`)}else{this.color===void 0&&(this.color=new vi(Bo)),this.color.analyze(A,{slot:"color"}),this.alpha&&this.alpha.analyze(A),this.afterColor&&this.afterColor.analyze(A,{slot:"afterColor"});let e=this.color.flow(A,"c",{slot:"color"}),I=this.alpha?this.alpha.flow(A,"f"):void 0,i=this.alphaOverride?this.alphaOverride.flow(A,"f"):void 0,t=this.afterColor?this.afterColor.flow(A,"c",{slot:"afterColor"}):void 0;A.requires.transparent=I!==void 0,A.addParsCode(["varying vec3 vWPosition;","#include <fog_pars_fragment>","#include <dithering_pars_fragment>","varying vec3 vViewPosition;","#include <normal_pars_fragment>"].join(`
`));let C=["#include <normal_fragment_begin>",e.code];I&&C.push(I.code,"#ifdef ALPHATEST"," if ( "+I.result+" <= ALPHATEST ) discard;","#endif"),t?C.push(t.code,`vec3 outgoingLight = ${e.result};`,`vec3 finalColor = spe_blend(outgoingLight, ${t.result}, 1.0, SPE_BLENDING_NORMAL);`):C.push(`vec3 finalColor = ${e.result};`);let o="1.0";this.mask&&(this.mask.analyze(A),o=`luminance(${this.mask.flow(A,"v3").result})`),I?C.push(`gl_FragColor = vec4( finalColor, accumAlpha * ${I.result} * ${o} );`):C.push("gl_FragColor = vec4("+e.result+", 1.0 );"),i&&C.push(`gl_FragColor.a *= ${i.result};`),C.push("#include <fog_fragment>","#include <dithering_fragment>"),g=C.join(`
`)}return g}},ICA=class extends pt{constructor(){super("lambert"),this.nodeType="Lambert",this.color=new vi(Bo),this.emissive=new vi(0),this.emissiveIntensity=new $g(1),this.previousModelViewMatrix=new sr,this.previouseProjectionMatrix=new sr,this.shadingAlpha=new $g(1),this.shadingBlend=new XI(0),this.occlusion=new kC(!0)}get category(){return"lambert"}build(A){let g;if(A.define("LAMBERT"),A.requires.lights=!0,A.extensions.derivatives=!0,A.isShader("vertex")){let e=this.position?this.position.analyzeAndFlow(A,"v3",{cache:"position"}):void 0;A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({resolution:pe.resolution}),A.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),A.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),A.mergeUniform(PE.merge([xg.fog,xg.lights])),A.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","varying vec3 vLightFront;","varying vec3 vIndirectFront;","#ifndef DOUBLE_SIDED","   #define DOUBLE_SIDED","#endif","#ifdef DOUBLE_SIDED","	varying vec3 vLightBack;","	varying vec3 vIndirectBack;","#endif","#include <bsdfs>","#include <lights_pars_begin>","#include <color_pars_vertex>","#include <fog_pars_vertex>","#include <skinning_pars_vertex>","#include <normal_pars_vertex>","#include <shadowmap_pars_vertex>","#include <clipping_planes_pars_vertex>"].join(`
`));let I=["#include <beginnormal_vertex>",`
				#include <skinbase_vertex>
				#include <skinnormal_vertex>
				#ifndef USE_LAYER_DISPLACE
					#include <defaultnormal_vertex>
				#endif

				vec3 displaced_position = position;
				vec3 displaced_normal = objectNormal;

				#ifdef USE_LAYER_DISPLACE
					vec3 transformed;
					vec3 transformedNormal;
				#endif
				`,"#include <normal_vertex>",`
				#ifndef USE_LAYER_DISPLACE
					#include <begin_vertex>
				#endif
				`];e&&I.push(e.code,e.result?"displaced_position = "+e.result+";":""),I.push("transformed = displaced_position;","#include <skinning_vertex>","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","    vNormal = transformedNormal;","#endif"),I.push("	#include <project_vertex>","	#include <clipping_planes_vertex>","	vViewPosition = - mvPosition.xyz;","	#include <worldpos_vertex>",`
					vec3 diffuse = vec3( 1.0 );
					GeometricContext geometry;
					geometry.position = mvPosition.xyz;
					geometry.normal = normalize( transformedNormal );
					geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );
				`),I.push(`
					GeometricContext backGeometry;
					backGeometry.position = geometry.position;
					backGeometry.normal = -geometry.normal;
					backGeometry.viewDir = geometry.viewDir;
					vLightFront = vec3( 0.0 );
					vIndirectFront = vec3( 0.0 );
					#ifdef DOUBLE_SIDED
						vLightBack = vec3( 0.0 );
						vIndirectBack = vec3( 0.0 );
					#endif
					IncidentLight directLight;
					float dotNL;
					vec3 directLightColor_Diffuse;
					vIndirectFront += getAmbientLightIrradiance( ambientLightColor );
					vIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );
					#ifdef DOUBLE_SIDED
						vIndirectBack += getAmbientLightIrradiance( ambientLightColor );
						vIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );
					#endif
					#if NUM_POINT_LIGHTS > 0
						#pragma unroll_loop_start
						for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
							getPointLightInfo( pointLights[ i ], geometry, directLight );
							dotNL = dot( geometry.normal, directLight.direction );
							directLightColor_Diffuse = directLight.color;
							vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
							#ifdef DOUBLE_SIDED
								vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
							#endif
						}
						#pragma unroll_loop_end
					#endif
					#if NUM_SPOT_LIGHTS > 0
						#pragma unroll_loop_start
						for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
							getSpotLightInfo( spotLights[ i ], geometry, directLight );
							dotNL = dot( geometry.normal, directLight.direction );
							directLightColor_Diffuse = directLight.color;
							vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
							#ifdef DOUBLE_SIDED
								vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
							#endif
						}
						#pragma unroll_loop_end
					#endif
					#if NUM_DIR_LIGHTS > 0
						#pragma unroll_loop_start
						for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
							getDirectionalLightInfo( directionalLights[ i ], geometry, directLight );
							dotNL = dot( geometry.normal, directLight.direction );
							directLightColor_Diffuse = directLight.color;
							vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
							#ifdef DOUBLE_SIDED
								vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
							#endif
						}
						#pragma unroll_loop_end
					#endif
					#if NUM_HEMI_LIGHTS > 0
						#pragma unroll_loop_start
						for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
							vIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );
							#ifdef DOUBLE_SIDED
								vIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );
							#endif
						}
						#pragma unroll_loop_end
					#endif
				`,"	#include <shadowmap_vertex>","	#include <fog_vertex>"),I.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),g=I.join(`
`)}else{A.mergeUniform({penumbraSize:pe.penumbraSize}),A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({aoMap:pe.aoRenderTarget}),A.mergeUniform({aoEnabled:pe.aoEnabled}),this.color===void 0&&(this.color=new vi(Bo)),this.color.analyze(A,{slot:"color"}),this.shadingAlpha.analyze(A),this.shadingBlend.analyze(A),this.afterColor&&this.afterColor.analyze(A,{slot:"afterColor"}),this.alpha&&this.alpha.analyze(A);let e=this.color.flow(A,"c",{slot:"color"}),I=this.emissive.flow(A,"c",{slot:"emissive"}),i=this.emissiveIntensity.flow(A,"f",{slot:"emissive"}),t=this.occlusion.flow(A,"b",{slot:"occlusion"}),C=this.shadingAlpha.flow(A,"f"),o=this.shadingBlend.flow(A,"i"),a=this.afterColor?this.afterColor.flow(A,"c",{slot:"afterColor"}):void 0,r=this.alpha?this.alpha.flow(A,"f"):void 0,s=this.alphaOverride?this.alphaOverride.flow(A,"f"):void 0;A.requires.transparent=r!==void 0,A.addParsCode(["uniform float penumbraSize[5];","uniform sampler2D aoMap;","uniform bool aoEnabled;","varying vec3 vViewPosition;","varying vec3 vWPosition;","varying vec3 vLightFront;","varying vec3 vIndirectFront;","#ifndef DOUBLE_SIDED","   #define DOUBLE_SIDED","#endif","#include <normal_pars_fragment>","#ifdef DOUBLE_SIDED","	varying vec3 vLightBack;","	varying vec3 vIndirectBack;","#endif","#include <bsdfs>","#include <lights_pars_begin>","#include <fog_pars_fragment>","#include <shadowmap_pars_fragment>","#include <shadowmask_pars_fragment>","#include <clipping_planes_pars_fragment>","#include <dithering_pars_fragment>"].join(`
`));let B=["#include <normal_fragment_begin>",`
				// NOTE: gl_FrontFacing alternative using face normal estimation.
				vec3 viewdx = dFdx(vViewPosition);
				vec3 viewdy = dFdy(vViewPosition);
				vec3 faceNormal = normalize(cross(viewdx, viewdy));
				bool isFrontFacing = (dot(normal, faceNormal) >= 0.0);
				`,"#include <clipping_planes_fragment>"];B.push(e.code,"vec3 diffuseColor = "+e.result+";","ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );"),r&&B.push(r.code,"#ifdef ALPHATEST","if ( "+r.result+" <= ALPHATEST ) discard;","#endif"),B.push("#ifdef DOUBLE_SIDED","	reflectedLight.indirectDiffuse += ( isFrontFacing ) ? vIndirectFront : vIndirectBack;","#else","	reflectedLight.indirectDiffuse += vIndirectFront;","#endif","#include <lightmap_fragment>","reflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );","#ifdef DOUBLE_SIDED","	reflectedLight.directDiffuse = ( isFrontFacing ) ? vLightFront : vLightBack;","#else","	reflectedLight.directDiffuse = vLightFront;","#endif","reflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();"),I&&B.push(I.code,"reflectedLight.directDiffuse += "+I.result+" * "+i.result+";"),B.push("vec3 ao = aoEnabled && "+t.result+" ? tex2D(aoMap, gl_FragCoord.xy / resolution).rgb : vec3(1.0);","vec3 outgoingLight = (reflectedLight.directDiffuse + reflectedLight.indirectDiffuse) ;");let Q="1.0";this.mask&&(this.mask.analyze(A),Q=`luminance(${this.mask.flow(A,"v3").result})`),B.push(`
				if (outgoingLight != diffuseColor) {
					float lightAccu = clamp( length( reflectedLight.directSpecular + reflectedLight.indirectSpecular ), 0.0, 1.0 );
					accumAlpha += ( 1.0 - accumAlpha ) * ${C.result} * ${Q} * lightAccu;
					outgoingLight = spe_blend( diffuseColor, outgoingLight, ${C.result} * ${Q}, ${o.result} );

					outgoingLight *= ao;
				}
				`),a&&B.push(a.code,`outgoingLight = spe_blend(outgoingLight, ${a.result}, 1.0, SPE_BLENDING_NORMAL);`),r?B.push(`gl_FragColor = vec4( outgoingLight, accumAlpha * ${r.result} );`):B.push("gl_FragColor = vec4( outgoingLight, 1.0 );"),s&&B.push(`gl_FragColor.a *= ${s.result};`),B.push("#include <encodings_fragment>","#include <fog_fragment>","#include <dithering_fragment>"),g=B.join(`
`)}return g}},TE=function(){let A=new Hg(`vec2 dHdxy(sampler2D bumpMap, vec2 bumpMapUv, float bumpScale) {

            // Gradient of UVs w.r.t. X coordinate (in screen-space)
            vec2 dSTdx = dFdx(bumpMapUv);

            // Gradient of UVs w.r.t. Y coordinate (in screen-space)
            vec2 dSTdy = dFdy(bumpMapUv);
            
            // Forward differencing
            float Hll = bumpScale * luminance(texture(bumpMap, bumpMapUv).rgb);
            float dBx = bumpScale * luminance(texture(bumpMap, bumpMapUv + dSTdx).rgb) - Hll;
            float dBy = bumpScale * luminance(texture(bumpMap, bumpMapUv + dSTdy).rgb) - Hll;
            
            return vec2( dBx, dBy );
        }`),g=new Hg(`vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {
            vec3 vSigmaX = dFdx( surf_pos.xyz );
            vec3 vSigmaY = dFdy( surf_pos.xyz );
            vec3 vN = surf_norm; // normalized
            
            vN = normalize(vN);

            vec3 R1 = cross( vSigmaY, vN );
            vec3 R2 = cross( vN, vSigmaX );

            R1 = normalize(R1);
            R2 = normalize(R2);
    
            float fDet = dot( vSigmaX, R1 ) * faceDirection;
    
            vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );
            return normalize( abs( fDet ) * vN - vGrad );
        }`);return{dHdxy:A,perturbNormalArb:g}}(),iCA=class extends pt{constructor(){super("phong"),this.nodeType="Phong",this.color=new vi(Bo),this.specular=new vi(1118481),this.shininess=new $g(30),this.previousModelViewMatrix=new sr,this.previouseProjectionMatrix=new sr,this.shadingAlpha=new $g(1),this.shadingBlend=new XI(0),this.occlusion=new kC(!0)}get category(){return"phong"}build(A){let g;if(A.define("PHONG"),A.requires.lights=!0,A.extensions.derivatives=!0,A.isShader("vertex")){let e=this.position?this.position.analyzeAndFlow(A,"v3",{cache:"position"}):void 0;A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({resolution:pe.resolution}),A.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),A.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),A.mergeUniform(PE.merge([xg.fog,xg.lights])),A.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","#include <fog_pars_vertex>","#include <skinning_pars_vertex>","#include <normal_pars_vertex>","#include <shadowmap_pars_vertex>","#include <clipping_planes_pars_vertex>"].join(`
`));let I=["#include <beginnormal_vertex>",`
				#include <skinbase_vertex>
				#include <skinnormal_vertex>
				#ifndef USE_LAYER_DISPLACE
					#include <defaultnormal_vertex>
				#endif

				vec3 displaced_position = position;
				vec3 displaced_normal = objectNormal;

				#ifdef USE_LAYER_DISPLACE
					vec3 transformed;
					vec3 transformedNormal;
				#endif
				`,"#include <normal_vertex>",`
				#ifndef USE_LAYER_DISPLACE
					#include <begin_vertex>
				#endif
				`];e&&I.push(e.code,e.result?"displaced_position = "+e.result+";":""),I.push("transformed = displaced_position;","#include <skinning_vertex>","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","    vNormal = transformedNormal;","#endif"),I.push("	#include <project_vertex>","	#include <clipping_planes_vertex>","	vViewPosition = - mvPosition.xyz;","	#include <worldpos_vertex>","	#include <shadowmap_vertex>","	#include <fog_vertex>"),I.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),g=I.join(`
`)}else{A.mergeUniform({penumbraSize:pe.penumbraSize}),A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({aoMap:pe.aoRenderTarget}),A.mergeUniform({aoEnabled:pe.aoEnabled}),this.color===void 0&&(this.color=new vi(Bo)),this.color.analyze(A,{slot:"color"}),this.specular.analyze(A),this.shininess.analyze(A);let e=this.occlusion.flow(A,"b",{slot:"occlusion"});this.shadingAlpha.analyze(A),this.shadingBlend.analyze(A),this.afterColor&&this.afterColor.analyze(A,{slot:"afterColor"}),this.alpha&&this.alpha.analyze(A);let I=this.color.flow(A,"c",{slot:"color"}),i=this.specular.flow(A,"c"),t=this.shininess.flow(A,"f"),C=this.shadingAlpha.flow(A,"f"),o=this.shadingBlend.flow(A,"i"),a=this.afterColor?this.afterColor.flow(A,"c",{slot:"afterColor"}):void 0,r=this.alpha?this.alpha.flow(A,"f"):void 0,s=this.alphaOverride?this.alphaOverride.flow(A,"f"):void 0;A.requires.transparent=r!==void 0,A.addParsCode(["varying vec3 vWPosition;","uniform vec3 emissive;","uniform float penumbraSize[5];","uniform sampler2D aoMap;","uniform bool aoEnabled;","#include <normal_pars_fragment>","#include <fog_pars_fragment>","#include <bsdfs>","#include <lights_pars_begin>","#include <lights_phong_pars_fragment>","#include <shadowmap_pars_fragment>","#include <dithering_pars_fragment>"].join(`
`));let B=["#include <normal_fragment_begin>",`
				// NOTE: gl_FrontFacing alternative using face normal estimation.
				vec3 viewdx = dFdx(vViewPosition);
				vec3 viewdy = dFdy(vViewPosition);
				vec3 faceNormal = normalize(cross(viewdx,viewdy));
				if (dot(normal, faceNormal) < 0.0) {
					normal *= -1.0;
				}
				`,"	BlinnPhongMaterial material;"];if(this.bumpMap){A.include(TE.dHdxy),A.include(TE.perturbNormalArb);let n=this.bumpMap.texture.flow(A,"t"),E=this.bumpMap.flow(A,"v3"),l=this.bumpMapIntensity?this.bumpMapIntensity.flow(A,"f").result:"1.0",h="";this.bumpMap.projection.value===4?h=`
					vec3 bumpNormal = vec3(0.0);
					{
						vec2 uv0 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs0;
						vec2 uv1 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs1;
						vec2 uv2 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs2;
						vec3 weights = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_triplanarWeights;

						vec2 grad0 = dHdxy(${n.result}, uv0, ${l});
						vec3 n0 = perturbNormalArb(-vViewPosition, normal, grad0, faceDirection);

						vec2 grad1 = dHdxy(${n.result}, uv1, ${l});
						vec3 n1 = perturbNormalArb(-vViewPosition, normal, grad1, faceDirection);

						vec2 grad2 = dHdxy(${n.result}, uv2, ${l});
						vec3 n2 = perturbNormalArb(-vViewPosition, normal, grad2, faceDirection);
						
						bumpNormal = n0 * weights.z + n1 * weights.x + n2 * weights.y;
						bumpNormal = normalize(bumpNormal);
					}

					normal = bumpNormal;
					`:h=`
					vec2 bumpMapCachedUv = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs;
					vec2 grad = dHdxy(${n.result}, bumpMapCachedUv, ${l});
					normal = perturbNormalArb( - vViewPosition, normal, grad, faceDirection );
					`,B.push(`// Call the Texture Layer's function once here so that it writes out its procedural UV coordinates
					${E.result};
					${h}
					`)}B.push(I.code,"	vec3 diffuseColor = "+I.result+";","	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );","	vec3 totalEmissiveRadiance = emissive;",i.code,"	vec3 specular = "+i.result+";",t.code,"	float shininess = max( 0.0001, "+t.result+" );","	float specularStrength = 1.0;"),r&&B.push(r.code,"#ifdef ALPHATEST","if ( "+r.result+" <= ALPHATEST ) discard;","#endif"),B.push("material.diffuseColor = diffuseColor;"),B.push("material.specularColor = specular;","material.specularShininess = shininess;","material.specularStrength = specularStrength;","#include <lights_fragment_begin>","#include <lights_fragment_end>"),B.push("vec3 ao = aoEnabled && "+e.result+" ? tex2D(aoMap, gl_FragCoord.xy / resolution).rgb : vec3(1.0);","vec3 outgoingLight = ((reflectedLight.directDiffuse + reflectedLight.indirectDiffuse)) + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;");let Q="1.0";this.mask&&(this.mask.analyze(A),Q=`luminance(${this.mask.flow(A,"v3").result})`),B.push(`
				if (outgoingLight != diffuseColor) {
					float lightAccu = clamp( length( reflectedLight.directSpecular + reflectedLight.indirectSpecular ), 0.0, 1.0 );
					accumAlpha += ( 1.0 - accumAlpha ) * ${C.result} * ${Q} * lightAccu;
					outgoingLight = spe_blend( diffuseColor, outgoingLight, ${C.result} * ${Q}, ${o.result} );
					
					outgoingLight *= ao;
				}
				`),a&&B.push(a.code,`outgoingLight = spe_blend(outgoingLight, ${a.result}, 1.0, SPE_BLENDING_NORMAL);`),r?B.push(`gl_FragColor = vec4( outgoingLight, accumAlpha * ${r.result});`):B.push("gl_FragColor = vec4( outgoingLight, 1.0 );"),s&&B.push(`gl_FragColor.a *= ${s.result};`),B.push("#include <encodings_fragment>","#include <fog_fragment>","#include <dithering_fragment>"),g=B.join(`
`)}return g}},tCA=class extends pt{constructor(){super("standard"),this.nodeType="Standard",this.color=new vi(Bo),this.roughness=new $g(.3),this.metalness=new $g(0),this.reflectivity=new $g(.5),this.previousModelViewMatrix=new sr,this.previouseProjectionMatrix=new sr,this.shadingAlpha=new $g(1),this.shadingBlend=new XI(0),this.occlusion=new kC(!0)}get category(){return"physical"}build(A){let g;if(A.define("STANDARD"),A.requires.lights=!0,A.extensions.derivatives=!0,A.extensions.shaderTextureLOD=!0,A.isShader("vertex")){let e=this.position?this.position.analyzeAndFlow(A,"v3",{cache:"position"}):void 0;A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({resolution:pe.resolution}),A.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),A.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),A.mergeUniform(PE.merge([xg.fog,xg.lights])),xg.LTC_1&&(A.uniforms.ltc_1={value:void 0},A.uniforms.ltc_2={value:void 0}),A.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","#include <fog_pars_vertex>","#include <skinning_pars_vertex>","#include <normal_pars_vertex>","#include <shadowmap_pars_vertex>","#include <clipping_planes_pars_vertex>"].join(`
`));let I=["#include <beginnormal_vertex>",`
				#include <skinbase_vertex>
				#include <skinnormal_vertex>
				#if !defined( USE_LAYER_DISPLACE )
					#include <defaultnormal_vertex>
				#endif

				vec3 displaced_position = position;
				vec3 displaced_normal = objectNormal;

				#if defined( USE_LAYER_DISPLACE )
					vec3 transformed;
					vec3 transformedNormal;
				#endif
				`,"#include <normal_vertex>",`
				#if !defined( USE_LAYER_DISPLACE )
					#include <begin_vertex>
				#endif /* !USE_LAYER_DISPLACE */
				`];e&&I.push(e.code,e.result?"displaced_position = "+e.result+";":""),I.push("transformed = displaced_position;","#include <skinning_vertex>","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","    vNormal = transformedNormal;","#endif"),I.push("#include <project_vertex>","#include <fog_vertex>","#include <clipping_planes_vertex>","	vViewPosition = - mvPosition.xyz;","#include <worldpos_vertex>","#include <shadowmap_vertex>"),I.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),g=I.join(`
`)}else{A.mergeUniform({penumbraSize:pe.penumbraSize}),A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({aoMap:pe.aoRenderTarget}),A.mergeUniform({aoEnabled:pe.aoEnabled});let e={gamma:!0};this.color===void 0&&(this.color=new vi(Bo)),this.color.analyze(A,{slot:"color",context:e}),this.roughness.analyze(A),this.metalness.analyze(A);let I=this.occlusion.flow(A,"b",{slot:"occlusion"});this.shadingAlpha.analyze(A),this.shadingBlend.analyze(A),this.afterColor&&this.afterColor.analyze(A,{slot:"afterColor"}),this.alpha&&this.alpha.analyze(A),this.reflectivity&&this.reflectivity.analyze(A);let i=this.color.flow(A,"c",{slot:"color",context:e}),t=this.roughness.flow(A,"f"),C=this.metalness.flow(A,"f"),o=this.shadingAlpha.flow(A,"f"),a=this.shadingBlend.flow(A,"i"),r=this.afterColor?this.afterColor.flow(A,"c",{slot:"afterColor"}):void 0,s=this.alpha?this.alpha.flow(A,"f"):void 0,B=this.alphaOverride?this.alphaOverride.flow(A,"f"):void 0,Q=this.reflectivity?this.reflectivity.flow(A,"f"):void 0;A.requires.transparent=s!==void 0,A.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","uniform float penumbraSize[5];","uniform sampler2D aoMap;","uniform bool aoEnabled;","#include <normal_pars_fragment>","#include <dithering_pars_fragment>","#include <fog_pars_fragment>","#include <bsdfs>","#include <lights_pars_begin>","#include <lights_physical_pars_fragment>","#include <shadowmap_pars_fragment>"].join(`
`));let n=["#include <clipping_planes_fragment>","	#include <normal_fragment_begin>",`
				// NOTE: gl_FrontFacing alternative using face normal estimation.
				vec3 viewdx = dFdx(vViewPosition);
				vec3 viewdy = dFdy(vViewPosition);
				vec3 faceNormal = normalize(cross(viewdx,viewdy));
				if (dot(normal, faceNormal) < 0.0) {
					normal *= -1.0;
				}
				`,"	PhysicalMaterial material;","	material.diffuseColor = vec3( 1.0 );"];if(this.bumpMap){A.include(TE.dHdxy),A.include(TE.perturbNormalArb);let l=this.bumpMap.texture.flow(A,"t"),h=this.bumpMap.flow(A,"v3"),u=this.bumpMapIntensity?this.bumpMapIntensity.flow(A,"f").result:"1.0",D="";this.bumpMap.projection.value===4?D=`
					vec3 bumpNormal = vec3(0.0);
					{
						vec2 uv0 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs0;
						vec2 uv1 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs1;
						vec2 uv2 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs2;
						vec3 weights = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_triplanarWeights;

						vec2 grad0 = dHdxy(${l.result}, uv0, ${u});
						vec3 n0 = perturbNormalArb(-vViewPosition, normal, grad0, faceDirection);

						vec2 grad1 = dHdxy(${l.result}, uv1, ${u});
						vec3 n1 = perturbNormalArb(-vViewPosition, normal, grad1, faceDirection);

						vec2 grad2 = dHdxy(${l.result}, uv2, ${u});
						vec3 n2 = perturbNormalArb(-vViewPosition, normal, grad2, faceDirection);
						
						bumpNormal = n0 * weights.z + n1 * weights.x + n2 * weights.y;
						bumpNormal = normalize(bumpNormal);
					}

					normal = bumpNormal;
					`:D=`
					vec2 bumpMapCachedUv = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs;
					vec2 grad = dHdxy(${l.result}, bumpMapCachedUv, ${u});
					normal = perturbNormalArb( - vViewPosition, normal, grad, faceDirection );
					`,n.push(`// Call the Texture Layer's function once here so that it writes out its procedural UV coordinates
					${h.result};
					${D}
					`)}if(n.push(i.code,"	vec3 diffuseColor = "+i.result+";","	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );",C.code,"	float metalnessFactor = "+C.result+";"),this.roughnessMap){let l=this.roughnessMap.texture.flow(A,"t"),h=this.roughnessMap.flow(A,"v3"),u="";this.roughnessMap.projection.value===4?u=`
					float roughnessChange = 1.0;
					{
						vec2 uv0 = g${this.roughnessMap.uuid.toString().replace(/-/g,"")}_writeUvs0;
						vec2 uv1 = g${this.roughnessMap.uuid.toString().replace(/-/g,"")}_writeUvs1;
						vec2 uv2 = g${this.roughnessMap.uuid.toString().replace(/-/g,"")}_writeUvs2;
						vec3 weights = g${this.roughnessMap.uuid.toString().replace(/-/g,"")}_triplanarWeights;

						float r0 = luminance(texture(${l.result}, uv0).rgb) * roughnessScale;
						float r1 = luminance(texture(${l.result}, uv1).rgb) * roughnessScale;
						float r2 = luminance(texture(${l.result}, uv2).rgb) * roughnessScale;

						roughnessChange = (r0 * weights.z + r1 * weights.x + r2 * weights.y);
					}
					float roughnessFactor = roughnessChange * ${t.result};
					`:u=`
					vec2 roughnessMapCachedUv = g${this.roughnessMap.uuid.toString().replace(/-/g,"")}_writeUvs;

					vec4 vals = texture(${l.result},  roughnessMapCachedUv);
					float roughnessFactor = luminance(vals.rgb) * ${t.result};
					`,n.push(`// Call the Texture Layer's function once here so that it writes out its procedural UV coordinates
					${h.result};

					const float roughnessScale = 1.0;

					${u}
				`)}else n.push(t.code,"	float roughnessFactor = "+t.result+";");s&&n.push(s.code,"#ifdef ALPHATEST","	if ( "+s.result+" <= ALPHATEST ) discard;","#endif"),n.push("vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );","float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );"),n.push("material.diffuseColor = diffuseColor * ( 1.0 - metalnessFactor );","material.roughness = max( roughnessFactor, 0.0525 );","material.roughness += geometryRoughness;","material.roughness = min( material.roughness, 1.0 );","material.roughness = clamp( roughnessFactor, 0.04, 1.0 );"),Q?n.push(Q.code,"material.specularColor = mix( vec3( 0.16 * pow2( "+Q.result+" ) ), diffuseColor, metalnessFactor );"):n.push("material.specularColor = mix( vec3( 0.04 ), diffuseColor, metalnessFactor );"),n.push("#include <lights_fragment_begin>"),n.push("#include <lights_fragment_end>"),n.push("vec3 ao = aoEnabled && "+I.result+" ? tex2D(aoMap, gl_FragCoord.xy / resolution).rgb : vec3(1.0);","vec3 outgoingLight = ((reflectedLight.directDiffuse + reflectedLight.indirectDiffuse)) + reflectedLight.directSpecular + reflectedLight.indirectSpecular;");let E="1.0";this.mask&&(this.mask.analyze(A),E=`luminance(${this.mask.flow(A,"v3").result})`),n.push(`
				if (outgoingLight != diffuseColor) {
					float lightAccu = clamp( length( reflectedLight.directSpecular + reflectedLight.indirectSpecular ), 0.0, 1.0 );
					accumAlpha += ( 1.0 - accumAlpha ) * ${o.result} * ${E} * lightAccu;
					outgoingLight = spe_blend( diffuseColor, outgoingLight, ${o.result} * ${E}, ${a.result} );
					
					outgoingLight *= ao;
				}
				`),r&&n.push(r.code,`outgoingLight = spe_blend(outgoingLight, ${r.result}, 1.0, SPE_BLENDING_NORMAL);`),s?n.push(`gl_FragColor = vec4( outgoingLight, accumAlpha * ${s.result} );`):n.push("gl_FragColor = vec4( outgoingLight, 1.0 );"),B&&n.push(`gl_FragColor.a *= ${B.result};`),n.push("#include <encodings_fragment>","#include <fog_fragment>","#include <dithering_fragment>"),g=n.join(`
`)}return g}},CCA=class extends pt{constructor(){super("toon"),this.nodeType="Toon",this.color=new vi(Bo),this.specular=new vi(1118481),this.shininess=new $g(30),this.previousModelViewMatrix=new sr,this.previouseProjectionMatrix=new sr,this.shadingAlpha=new $g(1),this.shadingBlend=new XI(0)}get category(){return"toon"}build(A){let g;if(A.define("TOON"),A.requires.lights=!0,A.extensions.derivatives=!0,A.isShader("vertex")){let e=this.position?this.position.analyzeAndFlow(A,"v3",{cache:"position"}):void 0;A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({resolution:pe.resolution}),A.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),A.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),A.mergeUniform(PE.merge([xg.fog,xg.lights])),A.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","#include <fog_pars_vertex>","#include <skinning_pars_vertex>","#include <normal_pars_vertex>","#include <shadowmap_pars_vertex>","#include <clipping_planes_pars_vertex>"].join(`
`));let I=["#include <beginnormal_vertex>",`
				#include <skinbase_vertex>
				#include <skinnormal_vertex>
				#ifndef USE_LAYER_DISPLACE
					#include <defaultnormal_vertex>
				#endif

				vec3 displaced_position = position;
				vec3 displaced_normal = objectNormal;

				#ifdef USE_LAYER_DISPLACE
					vec3 transformed;
					vec3 transformedNormal;
				#endif
				`,"#include <normal_vertex>",`
				#ifndef USE_LAYER_DISPLACE
					#include <begin_vertex>
				#endif
				`];e&&I.push(e.code,e.result?"displaced_position = "+e.result+";":""),I.push("transformed = displaced_position;","#include <skinning_vertex>","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","    vNormal = transformedNormal;","#endif"),I.push("	#include <project_vertex>","	#include <fog_vertex>","	#include <clipping_planes_vertex>","	vViewPosition = - mvPosition.xyz;","	#include <worldpos_vertex>","	#include <shadowmap_vertex>","	#include <fog_vertex>"),I.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),g=I.join(`
`)}else{A.mergeUniform({penumbraSize:pe.penumbraSize}),A.mergeUniform({frameIndex:pe.frameIndex}),A.mergeUniform({aoMap:pe.aoRenderTarget}),A.mergeUniform({aoEnabled:pe.aoEnabled}),this.color===void 0&&(this.color=new vi(Bo)),this.color.analyze(A,{slot:"color"}),this.specular.analyze(A),this.shininess.analyze(A),this.shadingAlpha.analyze(A),this.shadingBlend.analyze(A),this.afterColor&&this.afterColor.analyze(A,{slot:"afterColor"}),this.alpha&&this.alpha.analyze(A);let e=this.color.flow(A,"c",{slot:"color"}),I=this.specular.flow(A,"c"),i=this.shininess.flow(A,"f"),t=this.shadingAlpha.flow(A,"f"),C=this.shadingBlend.flow(A,"i"),o=this.afterColor?this.afterColor.flow(A,"c",{slot:"afterColor"}):void 0,a=this.alpha?this.alpha.flow(A,"f"):void 0,r=this.alphaOverride?this.alphaOverride.flow(A,"f"):void 0;A.requires.transparent=a!==void 0,A.addParsCode(["uniform float penumbraSize[5];","uniform sampler2D aoMap;","uniform bool aoEnabled;","varying vec3 vWPosition;","#include <normal_pars_fragment>","#include <gradientmap_pars_fragment>","#include <fog_pars_fragment>","#include <bsdfs>","#include <lights_pars_begin>","#include <dithering_pars_fragment>",`
					varying vec3 vViewPosition;
					struct ToonMaterial {
						vec3	diffuseColor;
						vec3	specularColor;
						float	specularShininess;
						float	specularStrength;
					};
					void RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
						vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;
			
						reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
						reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;
					}
					void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
						reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
					}
					#define RE_Direct				RE_Direct_Toon
					#define RE_IndirectDiffuse		RE_IndirectDiffuse_Toon
					#define Material_LightProbeLOD( material )	(0)
					`,"#include <shadowmap_pars_fragment>","#include <bumpmap_pars_fragment>","#include <normalmap_pars_fragment>"].join(`
`));let s=["#include <normal_fragment_begin>",`
				// NOTE: gl_FrontFacing alternative using face normal estimation.
				vec3 viewdx = dFdx(vViewPosition);
				vec3 viewdy = dFdy(vViewPosition);
				vec3 faceNormal = normalize(cross(viewdx,viewdy));
				if (dot(normal, faceNormal) < 0.0) {
					normal *= -1.0;
				}
				`,"	ToonMaterial material;"];if(this.bumpMap){A.include(TE.dHdxy),A.include(TE.perturbNormalArb);let Q=this.bumpMap.texture.flow(A,"t"),n=this.bumpMap.flow(A,"v3"),E=this.bumpMapIntensity?this.bumpMapIntensity.flow(A,"f").result:"1.0",l="";this.bumpMap.projection.value===4?l=`
					vec3 bumpNormal = vec3(0.0);
					{
						vec2 uv0 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs0;
						vec2 uv1 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs1;
						vec2 uv2 = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs2;
						vec3 weights = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_triplanarWeights;

						vec2 grad0 = dHdxy(${Q.result}, uv0, ${E});
						vec3 n0 = perturbNormalArb(-vViewPosition, normal, grad0, faceDirection);

						vec2 grad1 = dHdxy(${Q.result}, uv1, ${E});
						vec3 n1 = perturbNormalArb(-vViewPosition, normal, grad1, faceDirection);

						vec2 grad2 = dHdxy(${Q.result}, uv2, ${E});
						vec3 n2 = perturbNormalArb(-vViewPosition, normal, grad2, faceDirection);
						
						bumpNormal = n0 * weights.z + n1 * weights.x + n2 * weights.y;
						bumpNormal = normalize(bumpNormal);
					}

					normal = bumpNormal;
					`:l=`
					vec2 bumpMapCachedUv = g${this.bumpMap.uuid.toString().replace(/-/g,"")}_writeUvs;
					vec2 grad = dHdxy(${Q.result}, bumpMapCachedUv, ${E});
					normal = perturbNormalArb( - vViewPosition, normal, grad, faceDirection );
					`,s.push(`// Call the Texture Layer's function once here so that it writes out its procedural UV coordinates
					${n.result};
					${l}
					`)}s.push(e.code,"	vec3 diffuseColor = "+e.result+";","	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );",I.code,"	vec3 specular = "+I.result+";",i.code,"	float shininess = max( 0.0001, "+i.result+" );","	float specularStrength = 1.0;"),a&&s.push(a.code,"#ifdef ALPHATEST","if ( "+a.result+" <= ALPHATEST ) discard;","#endif"),s.push("material.diffuseColor = diffuseColor;"),s.push("material.specularColor = specular;","material.specularShininess = shininess;","material.specularStrength = specularStrength;","#include <lights_fragment_begin>","#include <lights_fragment_end>"),s.push("vec3 ao = aoEnabled ? tex2D(aoMap, gl_FragCoord.xy / resolution).rgb : vec3(1.0);","vec3 outgoingLight = ((reflectedLight.directDiffuse + reflectedLight.indirectDiffuse) * ao) + reflectedLight.directSpecular;");let B="1.0";this.mask&&(this.mask.analyze(A),B=`luminance(${this.mask.flow(A,"v3").result})`),s.push(`
				if (outgoingLight != diffuseColor) {
					float lightAccu = clamp( length( reflectedLight.directSpecular + reflectedLight.indirectSpecular ), 0.0, 1.0 );
					accumAlpha += ( 1.0 - accumAlpha ) * ${t.result} * ${B} * lightAccu;
					outgoingLight = spe_blend( diffuseColor, outgoingLight, ${t.result} * ${B}, ${C.result} );
				}
				`),o&&s.push(o.code,`outgoingLight = spe_blend(outgoingLight, ${o.result}, 1.0, SPE_BLENDING_NORMAL);`),a?s.push(`gl_FragColor = vec4( outgoingLight, accumAlpha * ${a.result} );`):s.push("gl_FragColor = vec4( outgoingLight, 1.0 );"),r&&s.push(`gl_FragColor.a *= ${r.result};`),s.push("#include <encodings_fragment>","#include <fog_fragment>","#include <dithering_fragment>"),g=s.join(`
`)}return g}},oCA=class{constructor(A=1e3*10){this.timeout=A,this.cache=new Map,this.head={data:null,time:0,src:null,next:null,prev:null},this.tail={data:null,time:1/0,src:null,next:null,prev:null},this.hasClean=!1,this.head.next=this.tail,this.tail.prev=this.head}log(...A){}remove(A){let g=this.cache.get(A);g&&(this.dispose(A,g.data),this.cache.delete(A),g.prev.next=g.next,g.next.prev=g.prev)}scheduleCleanup(){this.hasClean||(this.log("scheduled cleanup"),this.hasClean=!0,setTimeout(()=>{this.hasClean=!1,this.log("cleaning");let A=Date.now(),g=this.head.next;for(;g.time<A-this.timeout;)this.dispose(g.src,g.data),this.cache.delete(g.src),g=g.next,g.prev=this.head,this.head.next=g;this.head.next!==this.tail?this.scheduleCleanup():this.log("no more cleanup")},this.timeout+1e3))}has(A){return this.cache.get(A)?.data}load(A){let g=Date.now(),e=this.cache.get(A);return e===void 0?(e={data:this.create(A),src:A,time:g,next:null,prev:null},this.cache.set(A,e)):(e.time=g,e.prev.next=e.next,e.next.prev=e.prev),e.prev=this.tail.prev,e.next=this.tail,this.tail.prev.next=e,this.tail.prev=e,this.scheduleCleanup(),e.data}},aCA=class extends oCA{create(A){return URL.createObjectURL(new Blob([A]))}dispose(A,g){URL.revokeObjectURL(g)}},o0;function rCA(A){return typeof A=="string"?A:(o0||(o0=new aCA),o0.load(A))}var sCA=class{constructor(A,g){this.data=A,this.cache=g,this.refCount=0}deref(){this.refCount,this.refCount-=1,this.refCount===0&&(this.cache.remove(this),this.dispose())}dispose(){this.refCount}},BCA=class{constructor(){this.cache=new Map}remove(A){this.cache.delete(A.data)}load(A){let g=this.cache.get(A);return g===void 0&&(g=this.create(A),this.cache.set(A,g)),g.refCount+=1,g}},bL=class extends sCA{constructor(A,g){super(A,g.imageHolderCache),this.data=A,this.shared=g,this.loaded=!1,this.isVideo=!1,this.isBuffer=!1,this._cache={1e3:{},1001:{},1002:{}},this.isVideo=A.type==="video",this.isBuffer=A.isWebGLRenderTarget===!0,this.loadPromise=this.updateSrc(this.isBuffer?A:A.data)}async updateSrc(A){if(typeof document>"u")return;this.disposeTextures(),this.loaded=!1;let g=()=>{this.loaded=!0;for(let I of Object.values(this._cache))for(let i of Object.values(I))for(let t of Object.values(i))t&&(t.image=this.img,t.needsUpdate=!0);this.shared.requestRender()};if(this.isBuffer)this.img=A,this.loaded=!0;else if(this.isVideo){if(this.img=document.createElement("video"),this.img.preload="auto",this.img.playsInline=!0,this.img.currentTime=.01,typeof A!="string"){var e=new FileReader;e.readAsDataURL(new Blob([A],{type:"video/mp4"}));let I;await new Promise(i=>{e.onloadend=t=>{I=t.target?.result,i(null)}}),this.img.src=I}else this.img.src=A;this.img.onloadeddata=()=>{g()}}else this.img=new Image,this.img.src=rCA(A),this.img.onload=g}getTexture(A,g=1008,e=1006){let I=this._cache[A]?.[g]?.[e];if(I)return I;{let i;return this.isBuffer?i=this.img.texture:this.isVideo?i=new WW(this.img,void 0,A,A):i=new yi(this.img,void 0,A,A,e,g),this.loaded&&(i.needsUpdate=!0),this._cache[A]===void 0&&(this._cache[A]={}),this._cache[A][g]===void 0&&(this._cache[A][g]={}),this._cache[A][g][e]=i,i}}setNeedsUpdate(A){for(let g of Object.values(this._cache))for(let e of Object.values(g))for(let I of Object.values(e))I&&(I.needsUpdate=A)}disposeTextures(){for(let[A,g]of Object.entries(this._cache))for(let[e,I]of Object.entries(g))for(let[i,t]of Object.entries(I))t?.dispose(),this._cache[A]!==void 0&&this._cache[A][e]!==void 0&&(this._cache[A][e][i]=void 0)}dispose(){super.dispose(),this.disposeTextures()}},CB=class extends bL{};function QCA(A,g){var e=lCA(g);return e.formatToParts?ECA(e,A):hCA(e,A)}var nCA={year:0,month:1,day:2,hour:3,minute:4,second:5};function ECA(A,g){try{for(var e=A.formatToParts(g),I=[],i=0;i<e.length;i++){var t=nCA[e[i].type];t>=0&&(I[t]=parseInt(e[i].value,10))}return I}catch(C){if(C instanceof RangeError)return[NaN];throw C}}function hCA(A,g){var e=A.format(g).replace(/\u200E/g,""),I=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(e);return[I[3],I[1],I[2],I[4],I[5],I[6]]}var a0={};function lCA(A){if(!a0[A]){var g=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),e=g==="06/25/2014, 00:00:00"||g==="\u200E06\u200E/\u200E25\u200E/\u200E2014\u200E \u200E00\u200E:\u200E00\u200E:\u200E00";a0[A]=e?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:A,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:A,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return a0[A]}function LL(A,g,e,I,i,t,C){var o=new Date(0);return o.setUTCFullYear(A,g,e),o.setUTCHours(I,i,t,C),o}var nv=36e5,cCA=6e4,r0={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function xL(A,g,e){var I,i;if(!A||(I=r0.timezoneZ.exec(A),I))return 0;var t;if(I=r0.timezoneHH.exec(A),I)return t=parseInt(I[1],10),Ev(t)?-(t*nv):NaN;if(I=r0.timezoneHHMM.exec(A),I){t=parseInt(I[1],10);var C=parseInt(I[2],10);return Ev(t,C)?(i=Math.abs(t)*nv+C*cCA,t>0?-i:i):NaN}if(DCA(A)){g=new Date(g||Date.now());var o=e?g:dCA(g),a=wS(o,A),r=e?a:uCA(g,a,A);return-r}return NaN}function dCA(A){return LL(A.getFullYear(),A.getMonth(),A.getDate(),A.getHours(),A.getMinutes(),A.getSeconds(),A.getMilliseconds())}function wS(A,g){var e=QCA(A,g),I=LL(e[0],e[1]-1,e[2],e[3]%24,e[4],e[5],0).getTime(),i=A.getTime(),t=i%1e3;return i-=t>=0?t:1e3+t,I-i}function uCA(A,g,e){var I=A.getTime(),i=I-g,t=wS(new Date(i),e);if(g===t)return g;i-=t-g;var C=wS(new Date(i),e);return t===C?t:Math.max(t,C)}function Ev(A,g){return-23<=A&&A<=23&&(g==null||0<=g&&g<=59)}var hv={};function DCA(A){if(hv[A])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:A}),hv[A]=!0,!0}catch{return!1}}var pCA=cs(K_(),1),lv=cs(J_(),1),yCA=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,wCA=yCA,s0=36e5,cv=6e4,fCA=2,UC={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:wCA};function SCA(A,g){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(A===null)return new Date(NaN);var e=g||{},I=e.additionalDigits==null?fCA:(0,pCA.default)(e.additionalDigits);if(I!==2&&I!==1&&I!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(A instanceof Date||typeof A=="object"&&Object.prototype.toString.call(A)==="[object Date]")return new Date(A.getTime());if(typeof A=="number"||Object.prototype.toString.call(A)==="[object Number]")return new Date(A);if(!(typeof A=="string"||Object.prototype.toString.call(A)==="[object String]"))return new Date(NaN);var i=GCA(A),t=mCA(i.date,I),C=t.year,o=t.restDateString,a=MCA(o,C);if(isNaN(a))return new Date(NaN);if(a){var r=a.getTime(),s=0,B;if(i.time&&(s=kCA(i.time),isNaN(s)))return new Date(NaN);if(i.timeZone||e.timeZone){if(B=xL(i.timeZone||e.timeZone,new Date(r+s)),isNaN(B))return new Date(NaN)}else B=(0,lv.default)(new Date(r+s)),B=(0,lv.default)(new Date(r+s+B));return new Date(r+s+B)}else return new Date(NaN)}function GCA(A){var g={},e=UC.dateTimePattern.exec(A),I;if(e?(g.date=e[1],I=e[3]):(e=UC.datePattern.exec(A),e?(g.date=e[1],I=e[2]):(g.date=null,I=A)),I){var i=UC.timeZone.exec(I);i?(g.time=I.replace(i[1],""),g.timeZone=i[1].trim()):g.time=I}return g}function mCA(A,g){var e=UC.YYY[g],I=UC.YYYYY[g],i;if(i=UC.YYYY.exec(A)||I.exec(A),i){var t=i[1];return{year:parseInt(t,10),restDateString:A.slice(t.length)}}if(i=UC.YY.exec(A)||e.exec(A),i){var C=i[1];return{year:parseInt(C,10)*100,restDateString:A.slice(C.length)}}return{year:null}}function MCA(A,g){if(g===null)return null;var e,I,i,t;if(A.length===0)return I=new Date(0),I.setUTCFullYear(g),I;if(e=UC.MM.exec(A),e)return I=new Date(0),i=parseInt(e[1],10)-1,uv(g,i)?(I.setUTCFullYear(g,i),I):new Date(NaN);if(e=UC.DDD.exec(A),e){I=new Date(0);var C=parseInt(e[1],10);return FCA(g,C)?(I.setUTCFullYear(g,0,C),I):new Date(NaN)}if(e=UC.MMDD.exec(A),e){I=new Date(0),i=parseInt(e[1],10)-1;var o=parseInt(e[2],10);return uv(g,i,o)?(I.setUTCFullYear(g,i,o),I):new Date(NaN)}if(e=UC.Www.exec(A),e)return t=parseInt(e[1],10)-1,Dv(g,t)?dv(g,t):new Date(NaN);if(e=UC.WwwD.exec(A),e){t=parseInt(e[1],10)-1;var a=parseInt(e[2],10)-1;return Dv(g,t,a)?dv(g,t,a):new Date(NaN)}return null}function kCA(A){var g,e,I;if(g=UC.HH.exec(A),g)return e=parseFloat(g[1].replace(",",".")),B0(e)?e%24*s0:NaN;if(g=UC.HHMM.exec(A),g)return e=parseInt(g[1],10),I=parseFloat(g[2].replace(",",".")),B0(e,I)?e%24*s0+I*cv:NaN;if(g=UC.HHMMSS.exec(A),g){e=parseInt(g[1],10),I=parseInt(g[2],10);var i=parseFloat(g[3].replace(",","."));return B0(e,I,i)?e%24*s0+I*cv+i*1e3:NaN}return null}function dv(A,g,e){g=g||0,e=e||0;var I=new Date(0);I.setUTCFullYear(A,0,4);var i=I.getUTCDay()||7,t=g*7+e+1-i;return I.setUTCDate(I.getUTCDate()+t),I}var UCA=[31,28,31,30,31,30,31,31,30,31,30,31],NCA=[31,29,31,30,31,30,31,31,30,31,30,31];function YL(A){return A%400===0||A%4===0&&A%100!==0}function uv(A,g,e){if(g<0||g>11)return!1;if(e!=null){if(e<1)return!1;var I=YL(A);if(I&&e>NCA[g]||!I&&e>UCA[g])return!1}return!0}function FCA(A,g){if(g<1)return!1;var e=YL(A);return!(e&&g>366||!e&&g>365)}function Dv(A,g,e){return!(g<0||g>52||e!=null&&(e<0||e>6))}function B0(A,g,e){return!(A!=null&&(A<0||A>=25)||g!=null&&(g<0||g>=60)||e!=null&&(e<0||e>=60))}function RCA(A,g,e){var I=SCA(A,e),i=xL(g,I,!0),t=new Date(I.getTime()-i),C=new Date(0);return C.setFullYear(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()),C.setHours(t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds()),C}function NC(A,g){return g.color(A)}function pv(A=new Date,g){let e=g.format,I=A.getSeconds(),i=A;g&&g.timeZone!==null&&(i=RCA(new Date,g.timeZone));let t=i.getHours(),C=i.getMinutes(),o;g.format12h24h==="12ampm"&&(o=t>=12?"PM":"AM");let a=t;g.format12h24h!=="24"&&(a=t%12,a===0&&(a=12));let r,s;switch(e){case"HH:mm:ss":r=[a,C,I];break;case"HH:mm":r=[a,C];break;case"HH":r=[a],o=void 0;break;case"mm":r=[C],o=void 0;break;case"ss":r=[I],o=void 0;break;case"year":s=i.getFullYear();break;case"month":s=i.getMonth()+1;break;case"dayOfYear":s=Math.floor((i.getTime()-new Date(i.getFullYear(),0,0).getTime())/864e5);break;case"dayOfMonth":s=i.getDate();break;case"secondOfDay":s=t*60*60+C*60+I;break;default:console.error("Unknown time format",e),s=0;break}return r!==void 0?{textValue:r,suffix:o}:s}function vCA(A,g){switch(A.type){case"fresnel":return qCA(A,g);case"gradient":return bCA(A,g);case"depth":return LCA(A,g);case"normal":return xCA(A,g);case"noise":return YCA(A,g);case"rainbow":return HCA(A,g);case"toon":return TCA(A,g);case"outline":return OCA(A,g);case"transmission":return _CA(A,g);case"color":return JCA(A,g);case"pattern":return PCA(A,g)}}function KCA(A){return{type:A.type}}function pa(A,g){let{alpha:e,mode:I,isMask:i}=A,t=typeof e=="string"?(Number(g.getVariable(e))??100)/100:e;return{...KCA(A),alpha:t,mode:I,isMask:i}}function JCA(A,g){return{...pa(A,g),color:NC(A.color,g)}}function qCA(A,g){let{bias:e,scale:I,intensity:i,factor:t,color:C}=A;return{...pa(A,g),color:NC(C,g),bias:e,scale:I,intensity:i,factor:t}}function bCA(A,g){let{gradientType:e,smooth:I,colors:i,steps:t,angle:C,offset:o,morph:a}=A;return{...pa(A,g),gradientType:e,smooth:I,colors:i.map(r=>new Ue(r[0],r[1],r[2],r[3])),num:i.length,steps:t,offset:new mA(...o),morph:new mA(...a),angle:C}}function LCA(A,g){let{gradientType:e,near:I,far:i,isVector:t,isWorldSpace:C,origin:o,direction:a,colors:r,steps:s,smooth:B}=A;return{...pa(A,g),gradientType:e,near:I,far:i,isVector:t,isWorldSpace:C,origin:new x(...o),direction:a?new x(...a):new x(1,0,0),colors:r.map(Q=>Q!==void 0?new Ue(Q[0],Q[1],Q[2],Q[3]):new Ue(0,0,0,0)),steps:s.slice(0,r.length),smooth:B}}function xCA(A,g){let{cnormal:e}=A;return{...pa(A,g),cnormal:new x(e[0],e[1],e[2])}}function YCA(A,g){return{...pa(A,g),scale:A.scale,move:A.move,fA:new mA(...A.fA),fB:new mA(...A.fB),size:new x(...A.size),distortion:new mA(...A.distortion),colorA:NC(A.colorA,g),colorB:NC(A.colorB,g),colorC:NC(A.colorC,g),colorD:NC(A.colorD,g),noiseType:A.noiseType,voronoiStyle:A.voronoiStyle,highCut:A.highCut,lowCut:A.lowCut,smoothness:A.smoothness,seed:A.seed,quality:A.quality}}function HCA(A,g){return{...pa(A,g),filmThickness:A.filmThickness,movement:A.movement,wavelengths:new x(...A.wavelengths),noiseStrength:A.noiseStrength,noiseScale:A.noiseScale,offset:new x(...A.offset)}}function TCA(A,g){return{...pa(A,g),positioning:A.positioning,colors:A.colors.map(e=>new Ue(e[0],e[1],e[2],e[3])),num:A.colors.length,steps:A.steps,source:new x(...A.source),isWorldSpace:A.isWorldSpace,noiseStrength:A.noiseStrength,noiseScale:A.noiseScale,shadowColor:NC(A.shadowColor,g),offset:new x(...A.offset)}}function OCA(A,g){return{...pa(A,g),outlineColor:NC(A.outlineColor,g),contourColor:NC(A.contourColor,g),outlineWidth:A.outlineWidth,contourWidth:A.contourWidth,outlineThreshold:A.outlineThreshold,contourThreshold:A.contourThreshold,outlineSmoothing:A.outlineSmoothing,contourFrequency:A.contourFrequency,contourDirection:new x(...A.contourDirection),positionalLines:A.positionalLines,compensation:A.compensation}}function _CA(A,g){return{...pa(A,g),thickness:A.thickness,ior:A.ior,roughness:A.roughness}}function PCA(A,g){return{...pa(A,g),style:A.style,projection:A.projection,axis:A.axis,blending:A.blending,offset:new mA(...A.offset),colorA:NC(A.colorA,g),colorB:NC(A.colorB,g),frequency:new mA(...A.frequency),size:A.size,variation:A.variation,smoothness:A.smoothness,zigzag:A.zigzag,rotation:A.rotation,vertical:new mA(...A.vertical),horizontal:new mA(...A.horizontal),sides:A.sides}}var Qp=class extends iC{},jCA={noise:["noiseType"],texture:["projection","axis","side"],video:["projection","axis","side"],displace:["noiseType"],light:["roughnessMap","bumpMap"],depth:["smooth","isWorldSpace","gradientType","isVector"],pattern:["style","projection","axis"]},WCA={depth:["colors"]};function zCA(A,g,e){if(g==="isMask")return!0;let I=jCA[A.type],i=WCA[A.type];if(i!==void 0){let t=A.color;if(i.includes(g)){let C=t[g]?.value?.length;if(C!==void 0&&C!==e.length)return!0}}return I!==void 0?I.includes(g):!1}function HL(A,g,e){let I=e.uniforms[`f${e.id}_texture`];if(!I)return!1;let i=!1,t=A;if("image"in t){let C=t.image,o=g.image(C),a=I;a.image instanceof CB||a.image.deref(),a.image=o}if("video"in t){let C=t.video,o=g.video(C),a=I;a.image instanceof CB||a.image.deref(),a.image=o}if("wrapping"in t){let C=I;C.wrap=t.wrapping}if("minFilter"in t){let C=I;C.minFilter=t.minFilter}if("magFilter"in t){let C=I;C.magFilter=t.magFilter}if("rotation"in t&&e.uniforms[`f${e.id}_rotation`])return e.uniforms[`f${e.id}_rotation`].value=(t.rotation??0)*Xg.DEG2RAD,i;if("repeat"in t||"offset"in t||"rotation"in t){let C="mat",o=e.uniforms[`f${e.id}_${C}`];"repeat"in t&&(o.repeat=t.repeat),"offset"in t&&(o.offset=t.offset),"rotation"in t&&(o.rotation=t.rotation??0),o.updateMatrix()}return i}function VCA(A,g,e,I){let i=!1;for(let[t,C]of Object.entries(A)){if(t==="bumpMap"||t==="roughnessMap"){i=!0;continue}if(!t||C===void 0)continue;if(OL(t,e,I,g)){t==="visible"&&e.type==="light"&&(i=!0);continue}e.visible=I.visible;let o=e.uniforms[`f${e.id}_${t}`];if(o&&!(o instanceof gm))switch(i=i||zCA(e,t,C),o.constructor){case vi:if(typeof C=="string"){let a=g.getColor(C);a&&(o.value=a);break}else{let a=C;o.value instanceof Qp?o.value=new iC(a.r,a.g,a.b,a.a):o.setRGBA(a);break}case Zr:if(typeof C=="string"){let a=g.getColor(C);a&&(o.value=a);break}else{let a=C;o.value instanceof Qp?o.value=new iC(a.r,a.g,a.b,a.a):o.value.setRGBA(a.r,a.g,a.b,a.a);break}case Xt:{let a=C;o.value.setX(a[0]),o.value.setY(a[1]);break}case ko:{let a=C;o.value.setX(a[0]),o.value.setY(a[1]),o.value.setZ(a[2]);break}case Is:{HL(C,g,e);break}case eQ:{o.value=C.map(a=>new Ue(...a));break}default:{o.value=C;break}}}return i}var kQ=(A,g,e)=>Math.max(0,Math.min(1,Number(g.getVariable(typeof A=="number"?A*100:A,e)??100)/100))??1,Rc=class{constructor(A,g,e,I,i){this.id=A,this.uuid=g,this.data=e,this.uniforms={};for(let t in I)this.uniforms[`f${this.id}_${t}`]=I[t];for(let t in e)OL(t,this,e,i)}get type(){return this.data.type}static create(A,g,e,I){if(e.type==="light")return za.createLigherLayer(A,g,e,I);if(e.type==="texture"||e.type==="video"){let i=e.type==="texture"?I.uiBuffer(e.texture.image)??I.image(e.texture.image):I.video(e.texture.video),t=new DS(i,e.texture.wrapping,e.texture.minFilter??1008,e.texture.magFilter??1006),C=new XtA(i),o=new $tA(e.texture.repeat,e.texture.offset,e.texture.rotation??0),a=new $g(e.crop?1:0),r=new XI(e.projection??0),s=new XI(["x","y","z"].indexOf(e.axis)??0),B=new XI(e.side??0),Q=new Xt(e.size?new mA(e.size[0],e.size[1]):new mA(100,100)),n=new $g(e.blending??0),E=new $g(kQ(e.alpha,I)),l=new XI(e.mode??0),h=new kC(e.isMask??!1),u=new em(t,C,a,r,s,B,Q,n,o,E,l,h),D=new Bi(u.calpha,"f");return new Ni(A,g,e,{texture:t,textureSize:C,crop:a,projection:r,axis:s,side:B,size:Q,blending:n,mat:o,alpha:E,mode:l,isMask:h},u,l,D,h,I)}else if(e.type==="matcap"){let i=I.image(e.texture.image),t=new DS(i,e.texture.wrapping,e.texture.minFilter??1008,e.texture.magFilter??1006),C=new $g(kQ(e.alpha,I)),o=new XI(e.mode??0),a=new kC(e.isMask??!1),r=new $g((e.texture.rotation??0)*Xg.DEG2RAD),s=new fL(t,C,o,a,r),B=new Bi(s.calpha,"f");return new Ni(A,g,e,{texture:t,alpha:C,mode:o,isMask:a,rotation:r},s,o,B,a,I)}else if(e.type==="displace")if(e.displacementType==="noise"){let i=new ko(new x(...e.offset)),t=new $g(e.scale??10),C=new $g(e.intensity??8),o=new $g(e.movement??1),a=new XI(e.noiseType??0),r=new XI(e.voronoiStyle??0),s=new $g(e.smoothness??.5),B=new $g(e.seed??0),Q=new $g(e.highCut??1),n=new $g(e.lowCut??0),E=new XI(e.quality??1),l=new JL(C,o,i,r,s,B,Q,n,E,t,a);return new TL(A,g,e,{offset:i,scale:t,intensity:C,movement:o,noiseType:a,voronoiStyle:r,smoothness:s,seed:B,highCut:Q,lowCut:n,quality:E},l,I)}else throw new Error;else return $CA(A,g,e,I)}updateByOp(A,g,e){let I=A;if(I.path[0]===void 0){if(I.type===0)return"type"in I.props||"category"in I.props||"visible"in I.props?(e.scene.markNeedsUpdateRendererDirty(),!0):VCA(I.props,e.shared,this,g)}else if(I.path[0]==="texture")return"texture"in g||"video"in g?HL(I.props,e.shared,this):!0;return!1}dispose(){if(ZCA(this)){let A=this.uniforms[`f${this.id}_texture`];if(!A)return!1;let g=A;g.image instanceof CB||g.image.deref()}}hasValueByKey(A){return this.uniforms[A]!==void 0}hasValue(A){return this.hasValueByKey(`f${this.id}_${A}`)}setValue(A,g){let e=`f${this.id}_${A}`;this.hasValueByKey(e)&&g!==void 0&&(this.uniforms[e].value=g)}getNode(A){let g=`f${this.id}_${A}`;if(this.hasValueByKey(g))return this.uniforms[g]}getValue(A){let g=`f${this.id}_${A}`;if(this.hasValueByKey(g))return this.uniforms[g].value}getName(A){let g=/f\d+_(.*)/.exec(A);if(g&&g.length>1)return g[1];console.log(`Layer.getName: error ${A}`)}getNames(){let A=[];for(let g in this.uniforms){let e=this.getName(g);e&&A.push(e)}return A}},Ni=class extends Rc{constructor(A,g,e,I,i,t,C,o,a){super(A,g,e,I,a),this.params=I,this.color=i,this.mode=t,this.alpha=C,this.isMask=o}},TL=class extends Rc{constructor(A,g,e,I,i,t){super(A,g,e,I,t),this.position=i}},za=class extends Rc{constructor(A,g,e,I,i,t){super(A,g,e,i,t),this.node=I}static createLigherLayer(A,g,e,I){let i,t=new $g(kQ(e.alpha,I)),C=new XI(e.mode),o=new $g(e.bumpMapIntensity),a=new $g(kQ(e.alphaOverride,I)),r;if(!e.visible)i=new im,r={};else if(e.category==="lambert"){i=new ICA;let s=new vi(I.color(e.emissive)??0),B=new kC(e.occlusion??!0);r={emissive:s,occlusion:B},i.emissive=s,i.occlusion=B}else if(e.category==="toon"){i=new CCA;let s=new $g(e.shininess??30),B=new vi(I.color(e.specular)??1118481);r={shininess:s,specular:B},i.shininess=s,i.specular=B}else if(e.category==="physical"){i=new tCA;let s=new $g(e.roughness??.3),B=new $g(e.metalness??0),Q=new $g(e.reflectivity??.5),n=new kC(e.occlusion??!0);r={roughness:s,metalness:B,reflectivity:Q,occlusion:n},i.roughness=s,i.metalness=B,i.reflectivity=Q,i.occlusion=n}else{i=new iCA;let s=new $g(e.shininess??30),B=new vi(e.specular!==void 0?I.color(e.specular)??1118481:1118481),Q=new kC(e.occlusion??!0);r={shininess:s,specular:B,occlusion:Q},i.shininess=s,i.specular=B,i.occlusion=Q}return i.alpha=new $g(1),i.shadingAlpha=t,i.shadingBlend=C,i.bumpMapIntensity=o,i.alphaOverride=a,r.alpha=i.shadingAlpha,r.mode=i.shadingBlend,r.bumpMapIntensity=i.bumpMapIntensity,r.alphaOverride=i.alphaOverride,new za(A,g,e,i,r,I)}get category(){return this.node.category}};function ZCA(A){let g=A instanceof Rc?A.type:A;return g==="texture"||g==="video"||g==="displace_map"||g==="matcap"}function So(A){return{alpha:new $g(A.alpha??1),mode:new XI(A.mode??0),isMask:new kC(A.isMask??!1)}}function XCA(A,g,e,I,i){switch(A.type){case"color":{let t=new vi(I.color??Bo),C=So(I),o=new pS(t,C.alpha),a=new Bi(o.calpha,"f");return new Ni(g,e,A,{color:t,...C},o,C.mode,a,C.isMask,i)}case"fresnel":{let t=new vi(I.color??16777215),C=new $g(I.bias??.1),o=new $g(I.scale??1),a=new $g(I.intensity??2),r=new $g(I.factor??1),s=So(I),B=new ACA(t,C,o,a,r,s.alpha,s.mode,s.isMask),Q=new Bi(B.calpha,"f");return new Ni(g,e,A,{color:t,bias:C,scale:o,intensity:a,factor:r,...s},B,s.mode,Q,s.isMask,i)}case"rainbow":{let t=new $g(I.filmThickness??30),C=new $g(I.movement??0),o=new ko(I.wavelengths??new x(0,0,0)),a=new $g(I.noiseStrength??0),r=new $g(I.noiseScale??1),s=new ko(I.offset??new x(0,0,0)),B=So(I),Q=new UL(t,C,o,a,r,s,B.alpha,B.isMask),n=new Bi(Q.calpha,"f");return new Ni(g,e,A,{filmThickness:t,movement:C,wavelengths:o,noiseStrength:a,noiseScale:r,offset:s,...B},Q,B.mode,n,B.isMask,i)}case"transmission":{let t=new $g(I.thickness??10),C=new $g(I.ior??1.5),o=new $g(I.roughness??.5),a=pe.transmissionSize,r=pe.transmissionRenderTarget,s=pe.transmissionRenderTargetDepth,B=window.innerWidth,Q=window.innerHeight,n=B>=Q?new Xt(Q/B,1):new Xt(1,B/Q),E=So(I),l=new vL(t,C,o,a,r,s,n,E.alpha),h=new Bi(l.calpha,"f");return new Ni(g,e,A,{thickness:t,ior:C,roughness:o,aspectRatio:n,...E},l,E.mode,h,E.isMask,i)}case"toon":{let t=new XI(I.positioning??0),C;I.colors?C=new eQ(I.colors.length,I.colors):(C=new eQ(10,new Ue(0,0,0,1)),C.value[1]=new Ue(1,1,1,1));let o;I.steps?o=new gQ(I.steps.length,I.steps):(o=new gQ(10,1),o.value[0]=0);let a=new ko(I.source??new x(0,0,0)),r=new kC(I.isWorldSpace??!0),s=new $g(I.noiseStrength??0),B=new $g(I.noiseScale??1),Q=new Zr(I.shadowColor),n=new ko(I.offset??new x(0,0,0)),E=So(I),l=new FL(t,C,o,a,r,s,B,Q,n,E.alpha),h=new Bi(l.calpha,"f");return new Ni(g,e,A,{positioning:t,colors:C,steps:o,source:a,isWorldSpace:r,noiseStrength:s,noiseScale:B,shadowColor:Q,offset:n,...E},l,E.mode,h,E.isMask,i)}case"outline":{let t=new vi(I.outlineColor??16777215),C=new vi(I.contourColor??16777215),o=new $g(I.outlineWidth??.1),a=new $g(I.contourWidth??.1),r=new $g(I.outlineThreshold??.1),s=new $g(I.contourThreshold??.1),B=new $g(I.outlineSmoothing??.1),Q=new $g(I.contourFrequency??.1),n=new ko(I.contourDirection??new x(0,1,0)),E=new kC(I.positionalLines??!1),l=new kC(I.compensation??!0),h=pe.normalRenderTarget,u=pe.normalRenderTargetDepth,D=pe.pixelRatioNode,p=pe.resolution,w=So(I),k=new mL(t,C,o,a,r,s,B,Q,n,E,l,p,h,u,D,w.alpha),U=new Bi(k.calpha,"f");return new Ni(g,e,A,{outlineColor:t,contourColor:C,outlineWidth:o,contourWidth:a,outlineThreshold:r,contourThreshold:s,outlineSmoothing:B,contourFrequency:Q,contourDirection:n,positionalLines:E,compensation:l,...w},k,w.mode,U,w.isMask,i)}case"depth":{let t=new XI(I.gradientType??0),C=new kC(I.smooth??!1),o=new $g(I.near??50),a=new $g(I.far??200),r=new $g(I.isVector??1),s=new $g(I.isWorldSpace??0),B=new ko(I.origin??new x),Q=new ko(I.direction??new x),n;I.colors?n=new eQ(I.colors.length,I.colors):(n=new eQ(2,new Ue(0,0,0,1)),n.value[1]=new Ue(1,1,1,1));let E;I.steps?E=new gQ(I.steps.length,I.steps):(E=new gQ(2,1),E.value[0]=0);let l=So(I),h=new DL(t,C,o,a,r,s,B,Q,n,E,l.alpha,l.isMask),u=new Bi(h.calpha,"f");return new Ni(g,e,A,{gradientType:t,smooth:C,near:o,far:a,isVector:r,isWorldSpace:s,origin:B,direction:Q,colors:n,steps:E,...l},h,l.mode,u,l.isMask,i)}case"noise":{let t=new $g(I.scale??1),C=new ko(I.size??new x(100,100,100)),o=new $g(I.move??1),a=new Xt(I.fA??new mA(1.7,9.2)),r=new Xt(I.fB??new mA(8.3,2.8)),s=new Xt(I.distortion??new mA(1,1)),B=new Zr(I.colorA),Q=new Zr(I.colorB),n=new Zr(I.colorC),E=new Zr(I.colorD),l=new XI(I.noiseType??0),h=new XI(I.voronoiStyle??0),u=new $g(I.highCut??1),D=new $g(I.lowCut??0),p=new $g(I.smoothness??.5),w=new $g(I.seed??.5),k=new XI(I.quality??1),U=So(I),N=new SL(t,C,o,a,r,s,B,Q,n,E,U.alpha,l,U.isMask,h,u,D,p,w,k),G=new Bi(N.calpha,"f");return new Ni(g,e,A,{scale:t,size:C,move:o,fA:a,fB:r,distortion:s,colorA:B,colorB:Q,colorC:n,colorD:E,noiseType:l,...U,voronoiStyle:h,highCut:u,lowCut:D,smoothness:p,seed:w,quality:k},N,U.mode,G,U.isMask,i)}case"normal":{let t=new ko(I.cnormal??new x(1,1,1)),C=So(I),o=new uL(t,C.alpha),a=new Bi(o.calpha,"f");return new Ni(g,e,A,{cnormal:t,...C},o,C.mode,a,C.isMask,i)}case"gradient":{let t=new XI(I.gradientType??0),C=new kC(I.smooth??!1),o;I.colors?o=new eQ(I.colors.length,I.colors):(o=new eQ(10,new Ue(0,0,0,1)),o.value[1]=new Ue(1,1,1,1));let a;I.steps?a=new gQ(I.steps.length,I.steps):(a=new gQ(10,1),a.value[0]=0);let r=new Xt(I.offset??new mA(0,0)),s=new Xt(I.morph??new mA(0,0)),B=new $g(I.angle??0),Q=So(I),n=new yL(t,C,o,a,r,s,B,Q.alpha,Q.isMask),E=new Bi(n.calpha,"f");return new Ni(g,e,A,{gradientType:t,smooth:C,colors:o,steps:a,offset:r,morph:s,angle:B,...Q},n,Q.mode,E,Q.isMask,i)}case"pattern":{let t=new XI(I.style??0),C=new XI(I.projection??0),o=new XI(["x","y","z"].indexOf(I.axis)??0),a=new $g(I.blending??0),r=new Xt(I.offset??new mA(0,0)),s=new Zr(I.colorA),B=new Zr(I.colorB),Q=new Xt(I.frequency??new mA(10,10)),n=new $g(I.size??.5),E=new $g(I.variation??0),l=new $g(I.smoothness??.5),h=new $g(I.zigzag??0),u=new $g(I.rotation??0),D=new Xt(I.vertical??new mA(0,1)),p=new Xt(I.horizontal??new mA(0,1)),w=new XI(I.sides??6),k=So(I),U=new ML(t,C,o,a,r,s,B,Q,n,E,l,h,u,D,p,w,k.alpha,k.isMask),N=new Bi(U.calpha,"f");return new Ni(g,e,A,{style:t,projection:C,axis:o,blending:a,offset:r,colorA:s,colorB:B,frequency:Q,size:n,variation:E,smoothness:l,zigzag:h,rotation:u,vertical:D,horizontal:p,sides:w,...k},U,k.mode,N,k.isMask,i)}default:{let t=new vi(1,0,0,1),C=So(I),o=new pS(t,C.alpha),a=new Bi(o.calpha,"f");return new Ni(g,e,A,{color:t,...C},o,C.mode,a,C.isMask,i)}}}function $CA(A,g,e,I){let i=vCA(e,I);return XCA(e,A,g,i,I)}function OL(A,g,e,I){if(e.type==="displace"&&(A==="intensity"||A==="visible")){let i=g.uniforms[`f${g.id}_intensity`];return i?(i.value=e.intensity*(e.visible?1:0),i):void 0}if(e.type!=="displace"&&(A==="alpha"||A==="visible")){let i=g.uniforms[`f${g.id}_alpha`];if(!i)return;if(i.value=kQ(e.alpha,I)*(e.visible?1:0),e.type==="outline"&&A==="visible"){let t=g.uniforms[`f${g.id}_compensation`];t&&(t.value=e.compensation&&e.visible)}return i}}function QE(A,g){let e=0,I=A.layers.find(i=>i.data.type==="light");if(I){let i=I.data,t=Number(g.getVariable(i.alphaOverride));if((typeof i.alphaOverride=="string"?t/100:i.alphaOverride)<1)return!0}for(let i of A.layers){if(i.data.type!=="displace"&&i.data.isMask)return!0;if(i.data.type!=="displace"&&"alpha"in i.data&&i.data.type!=="light"&&i.data.type!=="fresnel"&&i.data.type!=="texture"&&i.data.type!=="matcap"&&i.data.type!=="rainbow"&&i.data.type!=="outline"&&i.data.type!=="pattern"){let t=i.data.visible?i.data.alpha:0;if(typeof t=="string"&&(t=Math.max(0,Math.min(1,Number(g.getVariable(t)??100)/100))),t===1&&i.data.type==="depth"||i.data.type==="gradient"){for(let C of i.data.colors)if(C[3]<1){t=C[3];break}}else if(t===1&&i.data.type==="noise"){let C=g.color(i.data.colorA).a,o=g.color(i.data.colorB).a,a=g.color(i.data.colorC).a,r=g.color(i.data.colorD).a,s=Math.min(C,Math.min(o,Math.min(a,r)));s<1&&(t=s)}e+=(1-e)*t}}return e<1}var wB=class extends RI{constructor(){super(void 0),this.flatShading=!1,this.needsJitter=!0,this.nodeContextUuid=0,this.fog=!0,this.dithering=!0,this.vertexColors=!0,this.transparent=!0}customProgramCacheKey(){return""}},AoA=class extends wB{constructor(A,g,e,I){super(),this.flatShading=A,this.side=g,this.wireframe=e,this.root=I}updateAfterBuild(){let A=this.root;this.lights=A.lights,this.vertexShader=A.vertexShader,this.fragmentShader=A.fragmentShader,this.defines=A.defines,this.uniforms=A.uniforms,this.extensions=A.extensions,this.transparent=A.transparent,this.cacheKey=A.customProgramCacheKey()+"flat"+this.flatShading+this.side}onBeforeCompile(A,g){this.root.onBeforeCompile(A)}get data(){return this.root.data}get category(){return this.root.category}get hasAO(){return this.root.hasAO}getFlavor(A,g,e){return this.root.getFlavor(A,g,e)}get layers(){return this.root.layers}get fragment(){return this.root.fragment}getLayersOfType(A){return this.root.getLayersOfType(A)}getLayerByUuid(A){return this.root.getLayerByUuid(A)}updateByOp(A,g,e){this.root.updateByOp(A,g,e)}nodeMaterialDispose(){this.root.nodeMaterialDispose()}},tm=class extends wB{constructor(A,g,e=!0){super(),this.data=A,this.allowVariableSaves=e,this.layerIdGen=0,this.flavors=[],this.masks={},this.type="NodeMaterial",this.updaters=[],this.needsJitter=g.shared.needsJitter,pt.startContext(this),this.reset0(A,g),pt.endContext(this)}get nodeMaterial(){return this}getFlavor(A,g,e){let I=e?6:(A?3:0)+g;if(I===0)return this;this.flavors===void 0&&(this.flavors=[]),I-=1;let i=this.flavors[I];return i===void 0&&(i=new AoA(A,g,e,this),i.needsJitter=this.needsJitter,this.flavors[I]=i,i.flatShading=A,i.side=g,i.updateAfterBuild()),i}get fragment(){return this.lightLayer.node}get category(){return this.lightLayer.category}get hasAO(){return this.lightLayer.getNode("occlusion")?.value??!1}reset(A,g,e=!1){pt.startContext(this),(this.data!==A||e)&&this.reset0(A,g),pt.endContext(this)}reset0(A,g){this.data=A;let e=A.layers??hC.defaultTwoLayerData("phong").layers;try{this.layers=e.map(I=>Rc.create(this.layerIdGen++,I.id,I.data,g.shared))}catch{this.layers=[]}this.layers.reverse(),this.name=A.name??"Untitled Material",this.onUpdate(g.shared),this.transparent=QE(A,g.shared),this.saveVariableLocations(g)}onVariableUpdate(A,g,e){if(A[0]==="alphaOverride")this.transparent=QE(this.data,e.shared),this.lightLayer.setValue("alphaOverride",Math.max(0,Math.min(Number(g)/100,1)));else if(A[0]==="layer"){let I=A[1],i=A[2];if(I&&i){let t=this.layers.find(C=>C.uuid===I);t?.hasValue(i)&&(i==="alpha"?(this.transparent=QE(this.data,e.shared),t.setValue(i,Math.max(0,Math.min(Number(g)/100,1)))):t.setValue(i,g))}}}saveVariableLocations(A){if(!this.allowVariableSaves)return;let g=this.data.layers.find(e=>e.data.type==="light");g&&A.shared.getVariable(g.data.alphaOverride,["material",this.uuid,"alphaOverride"]),this.data.layers.forEach(e=>{"alpha"in e.data&&typeof e.data.alpha=="string"&&A.shared.getVariable(e.data.alpha,["material",this.uuid,"layer",e.id,"alpha"])})}getLayersOfType(A){return this.layers.filter(g=>g.type===A)}getLayerByUuid(A){return this.layers.find(g=>g.uuid===A)}onUpdate(A){this.lightLayer=this.layers.find(g=>g instanceof za),this.lightLayer===void 0&&(this.lightLayer=new za(0,"",{...vt.defaultData("light","phong"),visible:!1},new im,{},A)),this.dispose();for(let g of this.flavors)g&&g.dispose();this.applyTextureMaps(),this.applyMasks(),this.blendColors(),this.blendAfterColors(),this.blendPositions(),this.build(),this.nodeContextUuid=0}applyTextureMaps(){let A=this.layers.find(i=>i instanceof za);if(!A)return;let g=A.data,e=g.bumpMap,I=g.roughnessMap;A.node.bumpMap=void 0,A.node.roughnessMap=void 0;for(let i=0;i<this.layers.length;++i){let t=this.layers[i];t instanceof Ni&&t.color instanceof em&&(t.uuid===e&&(A.node.bumpMap=t.color),t.uuid===I&&(A.node.roughnessMap=t.color))}}updateByOp(A,g,e){if(pt.startContext(this),g!==void 0?this.data=g:g=this.data,this.transparent=QE(g,e.shared),A.path[0]==="layers"){let I=e.shared,i=A.path[1];if(i===void 0)e.scene.markNeedsUpdateRendererDirty(),this.reset0(g,e);else{A.type===0&&A.props.occlusion!==void 0&&e.scene.markNeedsUpdateRendererDirty();let t=this.layers.find(C=>C.uuid===i);if(t){let C=g.layers.data(i),o;A.type===0&&("alpha"in A.props||"alphaOverride"in A.props)&&("alpha"in A.props?o={...A.props,alpha:kQ(A.props.alpha,I,["material",this.uuid,"layer",i,"alpha"])}:o={...A.props,alphaOverride:kQ(A.props.alphaOverride,I,["material",this.uuid,"alphaOverride"])}),t.updateByOp({...A,...o?{props:o}:{},path:A.path.slice(2)},C,e)&&this.reset0(g,e)}}}else this.reset0(g,e);pt.endContext(this)}applyMasks(){for(let A=0;A<this.layers.length;++A){let g=this.layers[A];g instanceof Ni?g.color.mask=void 0:g instanceof za&&(g.node.mask=void 0)}for(let A=0;A<this.layers.length;++A){let g=this.layers[A];if(g instanceof Ni&&g.isMask.value&&g.data.visible&&A>0){let e=A-1,I=this.layers[e];I instanceof za?I.node.mask=new TC(g.color,g.alpha,TC.MUL):I instanceof Ni&&(I.isMask.value||(I.color.mask=new TC(g.color,g.alpha,TC.MUL)))}}}blendColors(){let A=this.layers.findIndex(e=>e instanceof Ni),g=this.layers.findIndex(e=>e instanceof za);if(A!==-1&&A<g){let e=this.layers[A].color;for(let I=A+1;I<g;++I){let i=this.layers[I];if(i instanceof Ni){if(i.isMask.value)continue;e=new Qv(e,i.color,i.alpha,i.mode)}}this.fragment.color=e}else this.fragment.color=void 0}blendAfterColors(){let A=new Bi("outgoingLight","f"),g=this.layers.findIndex(e=>e instanceof za);if(this.layers.length>g+1){for(let e=g+1;e<this.layers.length;++e){let I=this.layers[e];if(I instanceof Ni){if(I.isMask.value)continue;A=new Qv(A,I.color,I.alpha,I.mode)}}this.fragment.afterColor=A}else this.fragment.afterColor=void 0}blendPositions(){let A=this.layers.filter(g=>g instanceof TL);if(A.length>0){let g=A[0].position;for(let e=1;e<A.length;++e)A[e]&&(g=new TC(g,A[e].position,TC.ADD),g=new TC(g,new $g(.5).setReadonly(!0),TC.MUL));this.fragment.position=g}else this.fragment.position=void 0}getDefines(){return this.defines}getUniforms(){return this.uniforms}getVertexShader(){return this.vertexShader}getFragmentShader(){return this.fragmentShader}onBeforeCompile(A){A.defines=this.defines,A.uniforms=this.uniforms,A.vertexShader=this.vertexShader,A.fragmentShader=this.fragmentShader,A.extensionDerivatives=this.extensions.derivatives===!0,A.extensionFragDepth=this.extensions.fragDepth===!0,A.extensionDrawBuffers=this.extensions.drawBuffers===!0,A.extensionShaderTextureLOD=this.extensions.shaderTextureLOD===!0}clampUniformsForPreview(A,g){let e=(I,i,t)=>Math.min(Math.max(I,i),t);for(let I of this.layers)if(I.type==="displace"){let i=e(I.uniforms[`f${I.id}_intensity`].value,A,g);I.uniforms[`f${I.id}_intensity`].value=i}}updateFrame(A){for(let g=0;g<this.updaters.length;++g)A.updateNode(this.updaters[g])}build(){let A=new hL;A.needsJitter=this.needsJitter,this.lights=this.lightLayer.data.visible,A.build(this.fragment,this.fragment),this.vertexShader=A.getCode("vertex"),this.fragmentShader=A.getCode("fragment"),this.defines=A.defines,this.uniforms=A.uniforms,this.extensions=A.extensions,this.updaters=A.updaters;for(let g of this.flavors)g&&g.updateAfterBuild();return this}nodeMaterialDispose(){this.layers.forEach(A=>A.dispose()),super.dispose();for(let A of this.flavors)A&&A.dispose()}assetsLoaded(){for(let A of this.layers)if(A instanceof Ni){let g=A.params.texture;if(g instanceof DS&&!g.image.loaded)return!1}return!0}};Object.defineProperties(wB.prototype,{properties:{get:function(){return this.fragment.properties}}});var fS=class extends tm{constructor(A,g,e){super(A,g,!1),this.uuid=e,this.allowVariableSaves=!0,this.saveVariableLocations(g)}},yv=new Map;function goA(A){if(typeof A=="string")return A;let g=yv.get(A);return g||(g={url:URL.createObjectURL(new Blob([A]))},yv.set(A,g)),g.url}var _L,eoA=new Promise(A=>{_L=A}),wv=!1,qu;function IoA(){if(wv)return;if(qu)return qu;async function A(){await Promise.resolve().then(()=>($m(),fx)),_L(window!==void 0?window:global),wv=!0}return qu=A(),qu}var PL;eoA.then(A=>PL=A);function ioA(A){let g=!1;return A.scene.objects.traverse((e,I)=>{if(I.events===void 0||Array.isArray(I.events)===!1)return!0;let i=[];I.events.forEach(t=>{"dragDropActions"in t.data?(i.push(...t.data.dragDropActions.drag),i.push(...t.data.dragDropActions.drop)):"inActions"in t.data?(i.push(...t.data.inActions),i.push(...t.data.outActions)):"gameActions"in t.data?(i.push(...t.data.gameActions.idle),i.push(...t.data.gameActions.move),i.push(...t.data.gameActions.jump),i.push(...t.data.gameActions.run)):"breakpoints"in t.data?t.data.breakpoints.forEach(C=>{i.push(...C.data.actions)}):"actions"in t.data&&i.push(...t.data.actions),g=g||i.some(C=>C.data.type==="Audio")})}),g}var xl=class{constructor({src:A,volume:g,delay:e,loop:I}){this._volume=1,this.delay=0,this._loop=1,this.loopsRemaining=0,this._status="stopped",this.onEnd=()=>{this.loopsRemaining===1/0?this.replay():this.loopsRemaining>1?(this.replay(),this.loopsRemaining--):(this._status="stopped",this.loopsRemaining=this._loop)};let i;typeof A=="string"?i={src:A}:i={src:goA(A),format:"wav"},this.sound=new PL.Howl(i),this.sound.on("end",this.onEnd),this.src=A,g!==void 0&&(this.volume=g),e!==void 0&&(this.delay=e),I!==void 0&&(this.loop=I)}get status(){return this._status}get volume(){return this._volume}set volume(A){this._volume=A,this.sound.volume(A)}get loop(){return this._loop}set loop(A){this._loop=A,this.loopsRemaining=A}replay(){this.clearDelay(),this.delayTimerId=window.setTimeout(()=>{this.sound.play(),this.clearDelay()},this.delay)}fade(A,g=1e3){A?(this.sound.volume(this._volume),this.clearFade(),this.fadeTimerId=window.setTimeout(()=>{this.sound.fade(this._volume,0,g),this.clearFade()},A)):this.sound.fade(this._volume,0,g)}on(A,g,e){this.sound.on(A,g,e)}off(A,g,e){this.sound.off(A,g,e)}play(){this._status==="playing"||this.sound.playing()||(this._status==="paused"?(this.sound.seek()===0?this.replay():this.sound.play(),this._status="playing"):this._status==="stopped"&&(this.replay(),this._status="playing"))}pause(){this._status==="playing"&&(this.sound.pause(),this.clearFade(),this.clearDelay(),this._status="paused")}stop(){this.sound.stop(),this.loopsRemaining=this._loop,this.clearFade(),this.clearDelay(),this._status="stopped"}clearFade(){this.fadeTimerId&&(clearTimeout(this.fadeTimerId),delete this.fadeTimerId)}clearDelay(){this.delayTimerId&&(clearTimeout(this.delayTimerId),delete this.delayTimerId)}dispose(A=!1){this.off(),this.stop(),this.clearFade(),this.clearDelay()}},toA=class{constructor(){this.type="ShapePath",this.color=new de,this.subPaths=[],this.currentPath=null}moveTo(A,g){return this.currentPath=new mD,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,g),this}lineTo(A,g){return this.currentPath?.lineTo(A,g),this}quadraticCurveTo(A,g,e,I){return this.currentPath?.quadraticCurveTo(A,g,e,I),this}bezierCurveTo(A,g,e,I,i,t){return this.currentPath?.bezierCurveTo(A,g,e,I,i,t),this}splineThru(A){return this.currentPath?.splineThru(A),this}toShapes(){let A={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},g={loc:A.ORIGIN,t:0};function e(n,E,l,h){let u=n.x,D=E.x,p=l.x,w=h.x,k=n.y,U=E.y,N=l.y,G=h.y,R=(w-p)*(k-N)-(G-N)*(u-p),J=(D-u)*(k-N)-(U-k)*(u-p),q=(G-N)*(D-u)-(w-p)*(U-k),T=R/q,P=J/q;if(q===0&&R!==0||T<=0||T>=1||P<0||P>1)return null;if(R===0&&q===0){for(let H=0;H<2;H++)if(I(H===0?l:h,n,E),g.loc===A.ORIGIN){let eA=H===0?l:h;return{x:eA.x,y:eA.y,t:g.t}}else if(g.loc===A.BETWEEN){let eA=+(u+g.t*(D-u)).toPrecision(10),rA=+(k+g.t*(U-k)).toPrecision(10);return{x:eA,y:rA,t:g.t}}return null}else{for(let rA=0;rA<2;rA++)if(I(rA===0?l:h,n,E),g.loc===A.ORIGIN){let BA=rA===0?l:h;return{x:BA.x,y:BA.y,t:g.t}}let H=+(u+T*(D-u)).toPrecision(10),eA=+(k+T*(U-k)).toPrecision(10);return{x:H,y:eA,t:T}}}function I(n,E,l){let h=l.x-E.x,u=l.y-E.y,D=n.x-E.x,p=n.y-E.y,w=h*p-D*u;if(n.x===E.x&&n.y===E.y){g.loc=A.ORIGIN,g.t=0;return}if(n.x===l.x&&n.y===l.y){g.loc=A.DESTINATION,g.t=1;return}if(w<-Number.EPSILON){g.loc=A.LEFT;return}if(w>Number.EPSILON){g.loc=A.RIGHT;return}if(h*D<0||u*p<0){g.loc=A.BEHIND;return}if(Math.sqrt(h*h+u*u)<Math.sqrt(D*D+p*p)){g.loc=A.BEYOND;return}let k;h!==0?k=D/h:k=p/u,g.loc=A.BETWEEN,g.t=k}function i(n,E){let l=[],h=[];for(let u=1;u<n.length;u++){let D=n[u-1],p=n[u];for(let w=1;w<E.length;w++){let k=E[w-1],U=E[w],N=e(D,p,k,U);N!==null&&l.find(G=>G.t<=N.t+Number.EPSILON&&G.t>=N.t-Number.EPSILON)===void 0&&(l.push(N),h.push(new mA(N.x,N.y)))}}return h}function t(n,E,l){let h=new mA;E.getCenter(h);let u=[];return l.forEach(D=>{D.boundingBox.containsPoint(h)&&i(n,D.points).forEach(p=>{u.push({identifier:D.identifier,isCW:D.isCW,point:p})})}),u.sort((D,p)=>D.point.x-p.point.x),u}function C(n,E,l,h,u){(u==null||u==="")&&(u="nonzero");let D=new mA;n.boundingBox.getCenter(D);let p=[new mA(l,D.y),new mA(h,D.y)],w=t(p,n.boundingBox,E);w.sort((J,q)=>J.point.x-q.point.x);let k=[],U=[];w.forEach(J=>{J.identifier===n.identifier?k.push(J):U.push(J)});let N=k[0].point.x,G=[],R=0;for(;R<U.length&&U[R].point.x<N;)G.length>0&&G[G.length-1]===U[R].identifier?G.pop():G.push(U[R].identifier),R++;if(G.push(n.identifier),u==="evenodd"){let J=G.length%2===0,q=G[G.length-2];return{identifier:n.identifier,isHole:J,for:q}}else if(u==="nonzero"){let J=!0,q=null,T=null;for(let P=0;P<G.length;P++){let H=G[P];E[H]&&(J?(T=E[H].isCW,J=!1,q=H):T!==E[H].isCW&&(T=E[H].isCW,J=!0))}return{identifier:n.identifier,isHole:J,for:q}}else console.warn('fill-rule: "'+u+'" is currently not implemented.')}let o=0,a=999999999,r=-999999999,s=[];this.subPaths.forEach(n=>{let E=n.getPoints(),l=-999999999,h=999999999,u=-999999999,D=999999999;for(let p=0;p<E.length;p++){let w=E[p];w.y>l&&(l=w.y),w.y<h&&(h=w.y),w.x>u&&(u=w.x),w.x<D&&(D=w.x)}r<=u&&(r=u+1),a>=D&&(a=D-1),E.length&&s.push({curves:n.curves,points:E,isCW:WJ.isClockWise(E),identifier:o++,boundingBox:new Cq(new mA(D,h),new mA(u,l))})});let B=s.map(n=>C(n,s,a,r,this.userData?.style.fillRule)),Q=[];return s.forEach(n=>{let E=B[n.identifier];if(E&&!E.isHole){let l=new MD;l.curves=n.curves,B.filter(h=>h?.isHole&&h.for===n.identifier).forEach(h=>{if(h){let u=s[h.identifier],D=new mD;D.curves=u.curves,l.holes.push(D)}}),Q.push(l)}}),Q}},jL=!1,WL,fv=new Promise(A=>{WL=A}),Sv=!1,bu;function CoA(){if(jL=!0,Sv)return;if(bu)return bu;async function A(){let g=await Promise.resolve().then(()=>(Kk(),vk));WL(g),Sv=!0}return bu=A(),bu}var ooA=class{async load(A,g,e=()=>{}){let{load:I}=await fv;I(A,(i,t)=>{i||!t?e(i??"Something went wrong"):g(t)})}async parse(A){let{parse:g,Bidi:e}=await fv;try{let I=g(A),i=new e,t=C=>I.charToGlyphIndex(C.char);return i.registerModifier("glyphIndex",null,t),i.applyFeatures(I,I.defaultRenderOptions.features),{font:I,bidi:i}}catch(I){console.error(I)}}};async function aoA(A){return await(await fetch(A)).arrayBuffer()}var roA=new ooA;async function Gv(A){let g,e,I=!1;if(A.url?(g=await aoA(A.url),e=A.url,I=A.url.startsWith("/")):A.data&&(g=A.data.buffer.slice(A.data.byteOffset,A.data.byteOffset+A.data.byteLength)),g)if(jL){let i=await roA.parse(g);if(i)return{font:i.font,url:e,intercepted:I,arr:g,bidi:i.bidi}}else return{font:void 0,url:e,intercepted:I,arr:g,bidi:null}}function soA(A,g){return g.state.glyphIndex===A||g.state.fina===A||g.state.medi===A||g.state.init===A}var BoA=class{constructor(A){this._arrayBuffer=new ArrayBuffer(1),this._isLoaded=!1,this._intercepted=!1,this._isUserFont=A.isUserFont??!1,this._loadingPromise=Gv(A).then(g=>{g&&(this._arrayBuffer=g.arr,this._url=g.url,this.font=g.font,this._intercepted=g.intercepted,this._isLoaded=!0,this._bidi=g.bidi)})}update(A){this._isLoaded=!1,this._isUserFont=A.isUserFont??!1,this._loadingPromise=Gv(A).then(g=>{g&&(this._arrayBuffer=g.arr,this._url=g.url,this.font=g.font,this._intercepted=g.intercepted,this._isLoaded=!0,this._bidi=g.bidi)})}get url(){return this._url}get intercepted(){return this._intercepted}get isLoaded(){return this._isLoaded}get loadingPromise(){return this._loadingPromise}reverseLigaturesTable(A,g,e){if(!this._bidi)return[];let I=this._bidi;I.getTextGlyphs(g);let i=I.tokenizer.tokens,t=[],C=0,o=e.length===i.length;for(let a=0;a<e.length;a++){let r=e[a].index,s=String.fromCharCode(e[a].unicode),B=i[C];if(soA(r,B)||o)t.push({char:s,index:r,replacements:[B.state.glyphIndex],replacementChars:[B.char]}),C++;else{let Q=B.char,n="",E=[B.state.glyphIndex],l=[],h=!1;for(;!h;)C++,n=g.charAt(C),Q+=n,E.push(A.charToGlyphIndex(n)),l=A.stringToGlyphs(Q),l.length===1&&l[0].index===r&&(h=!0),C>g.length&&(h=!0);t.push({char:s,index:r,replacements:E,replacementChars:Array.from(Q)}),C++}}return t}generateShapes(A,g){if(!this._isLoaded)return;let e=this.font,I=g.fontSize/this.unitsPerEm,i=g.fontSize*g.lineHeight,t=A.map(u=>this.getTextWidth(u,g)),C=g.width,o=this.getCharWidth(`
`,g),a=g.horizontalAlign===1?o:0,r=this.computeSpaceWidthForLine(A,0,g),s=this.getLineInitialOffsetX(t[0],C,g.horizontalAlign,A[0],o),B=this.getLineInitialOffsetY(i,A.length,g.height,I,g.verticalAlign),Q=[],n=A.map(u=>[]),E=A.map(u=>[]),l;for(let u=0;u<A.length;u++){let D=A[u],p={features:{liga:!0}},w=[];try{w=e.stringToGlyphs(D,p)}catch(U){console.warn(U)}s=this.getLineInitialOffsetX(t[u],C,g.horizontalAlign,D,o);let k=[];try{k=this.reverseLigaturesTable(e,D,w)}catch(U){console.warn(U)}r=this.computeSpaceWidthForLine(A,u,g);for(let U=0;U<w.length;U++){let N=w[U],G=N.index===0?`
`:N.unicode?String.fromCharCode(N.unicode):void 0,R=k[U],J=0,q=0;U===0&&g.horizontalAlign===2&&N.leftSideBearing!==void 0&&(q=-N.leftSideBearing*I),l&&(J=e.getKerningValue(N,l)*I),s+=q+J;let T=0;if(G===`
`)T=a;else if(G===" ")T=r;else{let P=this.createPath(N,I,s,B,g);P&&(T=P.offsetX-(J+q),Q.push(P.path))}if(R.replacements.length===1)E[u].push([s,B]),n[u].push(T);else{let P=R.replacements.map(BA=>(e.glyphs.get(BA).advanceWidth??0)*I),H=P.reduce((BA,aA)=>BA+=aA,0),eA=P.map(BA=>BA/H),rA=s;for(let BA=0;BA<eA.length;BA++){let aA=T*eA[BA];E[u].push([rA,B]),n[u].push(aA),rA+=aA}}s+=T,l=N}B-=i}let h=[];for(let u=0,D=Q.length;u<D;u++)h.push(...Q[u].toShapes());return{shapes:h,charWidths:n,lineWidths:t,charCoords:E}}get isUserFont(){return this._isUserFont}get arrayBuffer(){return this._arrayBuffer}get ascender(){return this.font?.ascender??0}get descender(){return this.font?.descender??0}get familyName(){return this.font?.names.fontFamily??""}get subfamilyName(){return this.font?.names.fontSubfamily??""}get unitsPerEm(){return this.font?.unitsPerEm??1}getLineInitialOffsetX(A,g,e,I,i){return(e===3||e===2)&&I.indexOf(`
`)>=0&&(A-=i),e===3?g*.5-A*.5:e===2?g-A:0}getLineInitialOffsetY(A,g,e,I,i){let t=g*A,C=Math.abs(this.ascender-this.descender)*I,o=A-C,a=-this.ascender*I-o/2;return i===3?-(e-t-a):i===2?-(e*.5-t*.5-a):a}createPath(A,g,e,I,i){let t=A.getPath(e,-I,i.fontSize,{kerning:!1,letterSpacing:i.letterSpacing});if(!t){console.error('THREE.Font: character "'+A+'" does not exists in font family '+this.familyName+".");return}let C=new toA,o=(A.advanceWidth??1)*g;if(A)for(let a of t.commands){let r=C.currentPath?.currentPoint;if(!(r&&a.type!=="Z"&&r.x===a.x&&-r.y===a.y))switch(a.type){case"M":C.moveTo(a.x,-a.y);break;case"L":C.lineTo(a.x,-a.y);break;case"Q":C.quadraticCurveTo(a.x1,-a.y1,a.x,-a.y);break;case"C":C.bezierCurveTo(a.x1,-a.y1,a.x2,-a.y2,a.x,-a.y);break}}return C.subPaths.forEach(a=>{let r=QoA(a.curves);r!==void 0&&a.currentPoint.distanceTo(r)>0&&a.lineTo(r.x,r.y)}),{offsetX:o+i.fontSize*i.letterSpacing,path:C}}getCharWidth(A,g){return this.font?.getAdvanceWidth(A,g.fontSize,{kerning:!0,letterSpacing:g.letterSpacing})??0}getTextWidth(A,g){return this.font?.getAdvanceWidth(A,g.fontSize,{kerning:!0,letterSpacing:g.letterSpacing})??0}computeSpaceWidthForLine(A,g,e){let I=this.getCharWidth(" ",e),i=A[g];if(i){let t=this.countSpaces(i.trimEnd());if(e.horizontalAlign===4&&g<A.length-1&&t){let C=e.width,o=this.getTextWidth(i,e);return(C-(o-t*I))/t}}return I}countSpaces(A){return(A.match(/ /g)||[]).length}};function QoA(A){if(A.length){let g=A[0];if(g instanceof ha)return g.v1;if(g instanceof Ba||g instanceof pB)return g.v0}}var noA=class{constructor(){this.objects=new Map,this.unreachable=new Set}getCached(A){return this.objects.get(A)}get size(){return this.objects.size}get(A,g,e){let I=this.objects.get(A);return I===void 0?(I=this.createObject(A,g,e),this.objects.set(A,I)):I.isShared=!0,I}forceDelete(A){let g=this.objects.get(A);g&&(this.disposeObject(g),this.objects.delete(A))}mutateIfUnique(A,g){let e=this.objects.get(A);if(e&&e.isShared!==!0)return this.objects.delete(A),this.objects.set(g,e),e}startGc(){this.unreachable=new Set(this.objects.keys())}markAsReachable(A,g){let e=this.objects.get(A);g===e&&this.unreachable.delete(A)}endGc(){this.unreachable.forEach(A=>{this.disposeObject(this.objects.get(A)),this.objects.delete(A)}),this.unreachable.clear()}dispose(){this.objects.forEach(A=>{this.disposeObject(A)}),this.objects.clear()}},mv=class extends noA{constructor(A){super(),this.flatShading=A}disposeObject(A){A.dispose()}createObject(A,g,e){let I=Dc(A,g,this.flatShading,e);return I.computeBoundingSphere(),I}},EoA={markNeedsUpdateRendererDirty:()=>{}};function SS(A){return"variable_"+A}var hoA=class extends BCA{constructor(A){super(),this.shared=A}create(A){return new bL(A,this.shared)}},Cm=class{constructor(A,g={},e=!0,I=!1){if(this.data=A,this.needsJitter=e,this.enableLocalStorageForPersistentVariables=I,this.geometryCache=new mv(!0),this.geometryCache2=new mv(!1),this.imageHolderCache=new hoA(this),this.thisContext={scene:EoA,shared:this},this.deletedMaterial=new fS(hC.defaultTwoLayerData("phong"),this.thisContext,""),this.deletedImage=new CB(gS.emptyImage,this),this.deletedVideo=new CB(zD.defaultVideo,this),this.materials={},this.images={},this.uiBuffers={},this.videos={},this.colors={},this.audios={},this.particles={},this.fonts={},this.variables={},this.mouseProperty=null,this.raycastProperty=null,this.requestRender=()=>{this._requestRender&&this._requestRender()},g.images)for(let[i,t]of Object.entries(g.images))this.addImage(i,t);if(g.videos)for(let[i,t]of Object.entries(g.videos))this.addVideo(i,t);if(g.audios)for(let[i,t]of Object.entries(g.audios))this.addAudio(i,t);if(g.particles)for(let[i,t]of Object.entries(g.particles))this.addParticle(i,t);this.reset(A)}setRequestRender(A){this._requestRender=A}getImageLoadPromises(){return Object.values(this.images).map(A=>A.loadPromise)}setEntityOpContext(A){this.entityOpContext=A}reset(A,g=!1){this.data=A,this.resetLib(A.lib);for(let{id:e,data:I}of A.variables)this.addVariableHolder(e,I),g&&this.updateVariableHolder(e,I);for(let[e,I]of Object.entries(A.images))this.addImage(e,I);for(let[e,I]of Object.entries(A.videos))this.addVideo(e,I);for(let[e,I]of Object.entries(A.colors))this.addColor(e,I);for(let[e,I]of Object.entries(A.materials))this.addMaterial(e,I);for(let[e,I]of Object.entries(A.audios))this.addAudio(e,I);for(let[e,I]of Object.entries(A.particles))this.addParticle(e,I);for(let[e,I]of Object.entries(A.fonts))this.addFont(e,I)}addMaterial(A,g){if(this.materials[A]){let e=this.materials[A];e.reset(g,this.thisContext),e.dispose()}else{let e=new fS(g,this.thisContext,A);this.materials[A]=e}}deleteMaterial(A){this.materials[A]&&(this.materials[A].nodeMaterialDispose(),delete this.materials[A])}getMaterial(A){return this.materials[A]}getMaterialOrDeletedPlaceholder(A){return this.materials[A]??this.deletedMaterial}material(A){return typeof A=="string"?this.getMaterialOrDeletedPlaceholder(A):A==null?(console.error("material is undefined or null"),this.deletedMaterial):new tm(A,this.thisContext)}getMaterials(){return this.materials}addImage(A,g){return this.images[A]?(this.onColorOrImageUpdate&&this.onColorOrImageUpdate(),this.images[A].updateSrc(g.data),!0):(this.images[A]=new CB(g,this),!1)}deleteImage(A){let g=this.images[A];g&&(g.dispose(),delete this.images[A])}getDefaultImage(){return this.images.image_0}getImage(A){return this.images[A]??this.deletedImage}image(A){return typeof A=="string"?this.getImage(A):this.imageHolderCache.load(A)}addUIBuffer(A,g){return this.uiBuffers[A]?(this.onColorOrImageUpdate&&this.onColorOrImageUpdate(),this.uiBuffers[A].updateSrc(g),!0):(this.uiBuffers[A]=new CB(g,this),!1)}uiBuffer(A){return this.uiBuffers[A]}addVideo(A,g){return this.videos[A]?(this.videos[A].updateSrc(g.data),!0):(this.videos[A]=new CB(g,this),!1)}deleteVideo(A){let g=this.videos[A];g&&(g.dispose(),delete this.videos[A])}getVideo(A){return this.videos[A]??this.deletedVideo}video(A){return typeof A=="string"?this.getVideo(A):this.imageHolderCache.load(A)}addColor(A,g){return this.colors[A]?(this.onColorOrImageUpdate&&this.onColorOrImageUpdate(),"a"in g?this.colors[A].setRGBA(g.r,g.g,g.b,g.a):this.colors[A].setRGBA(g.r,g.g,g.b,1),!0):("a"in g?this.colors[A]=new Qp(g.r,g.g,g.b,g.a):this.colors[A]=new Qp(g.r,g.g,g.b,1),!1)}updateColor(A,g){if(this.colors[A]){this.onColorOrImageUpdate&&this.onColorOrImageUpdate();let e=this.colors[A];return this.colors[A].r=g.r??e.r,this.colors[A].g=g.g??e.g,this.colors[A].b=g.b??e.b,this.colors[A].a=g.a??e.a,!0}return!1}deleteColor(A){this.colors[A]&&delete this.colors[A]}getColor(A){return this.colors[A]}color(A){let g;if(typeof A=="string"){let e=this.getColor(A);e?g=e:(console.warn("Tried to create color layer params with a color key that does not exist in the assets manager"),g=new iC(0,0,0,0))}else return"a"in A?new iC(A.r,A.g,A.b,A.a):new iC(A.r,A.g,A.b,1);return g}addAudio(A,g){this.audios[A]=g}getAudio(A){let g=this.audios[A];if(g instanceof xl)return g;{let e=new xl({src:g.data});return this.audios[A]=e,e}}addParticle(A,g){this.particles[A]=g}getParticle(A){return this.particles[A]}deleteParticle(A){this.particles[A]&&delete this.particles[A]}deleteAudio(A){let g=this.audios[A];g&&(g instanceof xl&&g.dispose(),delete this.audios[A])}addFont(A,g){this.fonts[A]=new BoA(g),this.fonts[A].loadingPromise.then(()=>this.requestRender())}getFont(A){return this.fonts[A]}deleteFont(A){this.fonts[A]&&delete this.fonts[A]}dispose(){Object.keys(this.materials).forEach(A=>this.deleteMaterial(A)),this._requestRender=void 0,Object.values(this.audios).forEach(A=>{A instanceof xl&&A.dispose()}),this.audios={},this.particles={},this.geometryCache.dispose(),this.geometryCache2.dispose()}addVariableHolder(A,g){if(this.variables[A]===void 0){let e=g.value;if(this.enableLocalStorageForPersistentVariables&&g.persistent){let I=localStorage.getItem(SS(A));e=I!==null?JSON.parse(I):g.value}return this.variables[A]={value:e,locations:[],persistent:g.persistent},"dynamicVariableType"in g&&(this.variables[A].dynamicVariablePlayState="Playing",this.variables[A].dynamicVariableToggleIsForward=void 0),!0}return this.variables[A].value=g.value,!1}resetDynamicVariablePlayState(){for(let A in this.variables)this.variables[A].dynamicVariablePlayState!==void 0&&(this.variables[A].dynamicVariablePlayState="Playing",this.variables[A].dynamicVariableToggleIsForward=void 0)}updateVariableHolder(A,g){this.updateVariable(A,g.value)}updateVariable(A,g){if(this.variables[A]===void 0)return!1;this.variables[A].value=g,this.enableLocalStorageForPersistentVariables&&this.variables[A].persistent&&localStorage.setItem(SS(A),JSON.stringify(g));let e=g;for(;typeof e=="string";)e=this.variables[e].value;let I=this.entityOpContext.scene;for(let i=this.variables[A].locations.length-1;i>=0;i--){let t=this.variables[A].locations[i];if(t[0]==="material"){let C=t[1],o=e,a={scene:I,shared:this},r=t.slice(2);I.traverseMaterial(B=>{let Q=B.root??B;Q.uuid===C&&Q.onVariableUpdate(r,o,a)});let s=this.materials[C];s&&s.onVariableUpdate(r,o,a)}else{let C=I.find(t[0]);if(C===void 0){this.variables[A].locations.splice(i,1);continue}if(t[1]!=="geometry"&&t[1]!=="particles"){for(let o=1;o<t.length-1;o++)C=C[t[o]];t[1]==="rotation"?C[t[t.length-1]]=e*Xg.DEG2RAD:C[t[t.length-1]]=e}if(C=I.find(t[0]),C.type==="ParticleEmitter"&&C.updateVariableState(e,t),hI.is(C)){if(t[1]==="position"||t[1]==="rotation"||t[1]==="scale")C.onVariableUpdate();else if(t[1]==="geometry"){let o=C;C.component&&(o=C.component);let a=o.dataPatched;o.chooseGeoemtryCache(this).forceDelete(a.geometry),o.createGeometryDelayed(this.entityOpContext),o.onVariableUpdate(!0),o.instances.forEach(r=>{let s=r.dataPatched;r.chooseGeoemtryCache(this).forceDelete(s.geometry),r.createGeometryDelayed(this.entityOpContext),r.onVariableUpdate(!0)})}}}}return this.requestRender(),!0}deleteVariable(A){this.variables[A]&&delete this.variables[A]}getVariable(A,g){if(Array.isArray(A)){if(A[0]==="mouse")return this.mouseProperty?.[A[1]]??0;if(A[0]==="raycast")return this.raycastProperty?.[A[1]]??0;let e=this.entityOpContext.scene.find(A[0]);if(A[1]==="width"||A[1]==="height"||A[1]==="depth")return e.geometry.userData.parameters[A[1]];for(let I=1;I<A.length;I++)e=e[A[I]];return A[1]==="rotation"&&(e*=Xg.RAD2DEG),e}for(let e in this.variables){if(g===void 0)break;let I=this.variables[e],i=I.locations?.findIndex(t=>gC.equal(t,g));i!==void 0&&i!==-1&&I.locations.splice(i,1)}if(typeof A=="string"){let e=A,I=A;do{if(I=e,this.variables[e]===void 0)break;let i=this.variables[e].value;g&&this.variables[I]!==void 0&&this.variables[I].locations.push(g),e=i}while(typeof e=="string");return e}else return A}getVariables(){return this.variables}getDynamicVariablePlayState(A){return this.variables[A]?.dynamicVariablePlayState}setDynamicVariablePlayState(A,g){this.variables[A]!==void 0&&(this.variables[A].dynamicVariablePlayState=g)}getDynamicVariableToggleIsForward(A){return this.variables[A]?.dynamicVariableToggleIsForward}setDynamicVariableToggleIsForward(A,g){this.variables[A]!==void 0&&(this.variables[A].dynamicVariableToggleIsForward=g)}resetLib(A){for(let[g,e]of Object.entries(A.images))this.addImage(g,e.asset);for(let[g,e]of Object.entries(A.audios))this.addAudio(g,e.asset);for(let[g,e]of Object.entries(A.particles))this.addParticle(g,e.asset);for(let[g,e]of Object.entries(A.colors))this.addColor(g,e.asset);for(let[g,e]of Object.entries(A.fonts))this.addFont(g,e.asset);for(let[g,e]of Object.entries(A.materials))this.addMaterial(g,e.asset);for(let[g,e]of Object.entries(A.videos))this.addVideo(g,e.asset);for(let[g,e]of Object.entries(A.variables))this.addVariableHolder(g,e.asset)}updateLibByOp(A,g){A.path[0]==="images"?A.path.length===1&&A.type===1?this.addImage(A.id,A.data.asset):A.path.length===1&&A.type===2&&this.deleteImage(A.id):A.path[0]==="videos"?A.path.length===1&&A.type===1?this.addVideo(A.id,A.data.asset):A.path.length===1&&A.type===2&&this.deleteVideo(A.id):A.path[0]==="audios"?A.path.length===1&&A.type===1?this.addAudio(A.id,A.data.asset):A.path.length===1&&A.type===2&&this.deleteAudio(A.id):A.path[0]==="particles"?A.path.length===1&&A.type===1?this.addParticle(A.id,A.data.asset):A.path.length===1&&A.type===2&&this.deleteParticle(A.id):A.path[0]==="colors"?A.path.length===1&&A.type===1?this.addColor(A.id,A.data.asset):A.path.length===1&&A.type===2&&this.deleteColor(A.id):A.path[0]==="materials"?A.path.length===1&&A.type===1?this.addMaterial(A.id,A.data.asset):A.path.length===1&&A.type===2&&this.deleteMaterial(A.id):A.path[0]==="fonts"?A.path.length===1&&A.type===1?this.addFont(A.id,A.data.asset):A.path.length===1&&A.type===2&&this.deleteFont(A.id):A.path[0]==="variables"?A.path.length===1&&A.type===1?this.addVariableHolder(A.id,A.data.asset):A.path.length===1&&A.type===2&&this.deleteVariable(A.id):A.path[0]==="components"&&g.updateByLibOp(A,this)}updateByOp(A,g,e){this.data=g,A.path[0]==="images"?A.path.length===2&&A.type===0?A.props.data&&this.getImage(A.path[1]).updateSrc(A.props.data):A.path.length===1&&A.type===1?this.addImage(A.id,A.data):A.path.length===1&&A.type===2&&this.deleteImage(A.id):A.path[0]==="videos"?A.path.length===2&&A.type===0?A.props.data&&this.getVideo(A.path[1]).updateSrc(A.props.data):A.path.length===1&&A.type===1?this.addVideo(A.id,A.data):A.path.length===1&&A.type===2&&this.deleteVideo(A.id):A.path[0]==="audios"?A.path.length===2&&A.type===0?A.props.data&&this.addAudio(A.path[1],g.audios[A.path[1]]):A.path.length===1&&A.type===1?this.addAudio(A.id,A.data):A.path.length===1&&A.type===2&&this.deleteAudio(A.id):A.path[0]==="particles"?A.path.length===2&&A.type===0?A.props.data&&this.addParticle(A.path[1],g.particles[A.path[1]]):A.path.length===1&&A.type===1?this.addParticle(A.id,A.data):A.path.length===1&&A.type===2&&this.deleteParticle(A.id):A.path[0]==="colors"?A.path.length===2&&A.type===0?this.updateColor(A.path[1],A.props):A.path.length===1&&A.type===1?this.addColor(A.id,A.data):A.path.length===1&&A.type===2&&this.deleteColor(A.id):A.path[0]==="materials"?A.path.length===1&&A.type===1?this.addMaterial(A.id,A.data):A.path.length===1&&A.type===2?this.deleteMaterial(A.id):A.path.length>1&&this.getMaterial(A.path[1]).updateByOp(bt.drop(A,2),g.materials[A.path[1]],{shared:this,scene:e}):A.path[0]==="fonts"?A.path.length===2&&A.type===0?this.updateFont(A.path[1],A,e):A.path.length===1&&A.type===1?this.addFont(A.id,A.data):A.path.length===1&&A.type===2&&this.deleteFont(A.id):A.path[0]==="variables"?A.path.length===2&&A.type===0?"value"in A.props?this.updateVariable(A.path[1],A.props.value):"persistent"in A.props&&(this.variables[A.path[1]].persistent=A.props.persistent):A.path.length===1&&A.type===4?this.addVariableHolder(A.id,A.data):A.path.length===1&&A.type===5&&this.deleteVariable(A.id):A.path[0]==="lib"&&this.updateLibByOp(bt.drop(A,1),e)}updateFont(A,g,e){if(g.props.url){let I=this.getFont(A),i={...this.data.fonts[A],url:g.props.url};I.update(i),I.loadingPromise.then(()=>this.requestRender()),e.updateFont(A,this)}}},khA=new Cm(Fo.emptyData()),th=class extends RC{updateByPatchedOp(A,g,e){if(super.updateByPatchedOp(A,g,e),eeA(A.path,["materials"])!==null&&A.type===0&&Array.isArray(this.material))for(let[I,i]of Object.entries(A.props)){let t=e.shared.material(i);this.material[Number(I)]=t}else if($I(A.path,["material"])&&this.material instanceof wB)"material"in g&&typeof g.material!="string"&&this.material.updateByOp(bt.drop(A,1),g.material,e);else if($I(A.path,["materials","*"])&&Array.isArray(this.material)){let I=A.path[1];if("materials"in g&&I<this.material.length){let i=g.materials[I];typeof i!="string"&&this.material[I].updateByOp(bt.drop(A,2),i,e)}}}get needsAO(){return this.material!==void 0?(Array.isArray(this.material)?this.material[0]:this.material).hasAO:!1}updateState(A,g){super.updateState(A,g),A.castShadow!==void 0&&(this.castShadow=A.castShadow),A.receiveShadow!==void 0&&(this.receiveShadow=A.receiveShadow);let e=this.dataPatched;if(A.geometry?.type!=="NonParametricGeometry"&&"material"in A&&A.material!==void 0&&(this.disposeMaterial(),this.material=g.shared.material(A.material).getFlavor(e.flatShading,e.side,e.wireframe),g.scene.markNeedsUpdateRendererDirty()),(A.geometry?.type==="NonParametricGeometry"||"materials"in A)&&("materials"in A&&A.materials!==void 0?(this.disposeMaterial(),this.material=A.materials.map(I=>g.shared.material(I).getFlavor(e.flatShading,e.side,e.wireframe)),g.scene.markNeedsUpdateRendererDirty()):"material"in A&&A.material!==void 0&&(this.disposeMaterial(),this.material=[g.shared.material(A.material).getFlavor(e.flatShading,e.side,e.wireframe)],g.scene.markNeedsUpdateRendererDirty())),A.flatShading!==void 0||A.wireframe!==void 0||A.side!==void 0)if(Array.isArray(this.material))for(let I=0;I<this.material.length;I++)this.material[I]=this.material[I].getFlavor(e.flatShading,e.side,e.wireframe);else this.material=this.material.getFlavor(e.flatShading,e.side,e.wireframe)}disposeMaterial(){this.material&&_q(this.material).forEach(A=>{A instanceof wB&&(A instanceof fS||A.nodeMaterialDispose())})}dispose(){this.disposeMaterial(),super.dispose()}},Mv=new x,kv=new Ue,Uv=new Ue,loA=new x,Nv=new wg,EC=class extends th{constructor(A,g,e){super(A,g),this.data=g,this.isSkinnedMesh=!1,this.localGeometry=void 0,g.bindMode&&g.bindMatrix&&(this.bindMode=g.bindMode,this.bindMatrix=new wg().fromArray(g.bindMatrix),this.bindMatrixInverse=new wg)}chooseGeoemtryCache(A){return A.geometryCache}markGeometryAsReachable(A){this.geometryCreateDeleyed instanceof se&&this.chooseGeoemtryCache(A).markAsReachable(this.dataPatched.geometry,this.geometryCreateDeleyed)}get geometry(){if(this.localGeometry!==void 0)return this.localGeometry;if(this.geometryCreateDeleyed instanceof Cm){let A=this.geometryCreateDeleyed,g=this.chooseGeoemtryCache(A);this.geometryCreateDeleyed=g.get(this.dataPatched.geometry,A,this)}return this.geometryCreateDeleyed}set geometry(A){this.localGeometry=A}get is2DAndNoDepth(){let A=this.dataPatched.geometry;return XD.is2DParametricMesh(A.type)&&A.depth===0}get is2DType(){return XD.is2DParametricMesh(this.geometry.userData.type)}get isNonParametric(){return this.geometry.userData.type==="NonParametricGeometry"}updateByPatchedOp(A,g,e){super.updateByPatchedOp(A,g,e),$I(A.path,["geometry"])&&this.updateByPatchedOpGeometry(bt.drop(A,1),g.geometry,e)}removeInteractionGeometry(A){this.localGeometry?.dispose(),this.localGeometry=void 0}updateGeometryInteractions(A,g){this.invalidateDownstreamBooleanData();let e=this.data.geometry.type;if(e==="NonParametricGeometry"||e==="SubdivGeometry"){let I=A;if(this.localGeometry===void 0){let a={...this.data.geometry,...I};this.localGeometry=Dc(a,g,this.data.flatShading,this)}let i,t,C;I.scaleBaked?[i,t,C]=I.scaleBaked:{width:i,height:t,depth:C}=I;let o=this.localGeometry.userData;o.sxPrev!==void 0&&dS(this.localGeometry.attributes,i/o.sxPrev,t/o.syPrev,C/o.szPrev),o.sxPrev=i,o.syPrev=t,o.szPrev=C}else{let I={...this.data.geometry,...A};this.localGeometry?.dispose(),this.localGeometry=Dc(I,g,this.data.flatShading,this)}}refreshAttachedClonersInteractions(){for(let A of this.attachedSurfaceCloners)A.update()}refreshAttachedCloners(A){for(let g of this.attachedSurfaceCloners)A.scene.addPendingUpdateCloner(g.object)}refreshAttachedPaths(A){for(let g of this.attachedPaths)A.scene.addPendingCommand(()=>g.updateShape())}createGeometryDelayed(A){this.geometryCreateDeleyed=A.shared,this.refreshAttachedCloners(A),this.refreshAttachedPaths(A)}updateByPatchedOpGeometry(A,g,e){let I=!1;A.type===0&&A.path.length===0&&Object.keys(A.props).includes("scaleBaked")&&this.geometryCreateDeleyed instanceof MC&&this.chooseGeoemtryCache(e.shared).mutateIfUnique(this.geometryCreateDeleyed.data,g)===this.geometryCreateDeleyed&&(I=!0,this.geometryCreateDeleyed.mutateDirectlyScaleBaked(g,A.props.scaleBaked),this.refreshAttachedCloners(e),this.refreshAttachedPaths(e)),I||(e.scene?.markGeometryCacheDirty(),this.createGeometryDelayed(e)),this.resetBBoxNeedsUpdate(),this.invalidateDownstreamBooleanData()}updateGeometryOnStateUpdate(A,g){this.createGeometryDelayed(g)}updateState(A,g){A.geometry!==void 0&&this.updateGeometryOnStateUpdate(A.geometry,g),super.updateState(A,g)}updateGeometryGroupsIfNeeded(){Array.isArray(this.material)&&this.geometry.groups.length===0&&this.geometry.addGroup(0,Math.max(this.geometry.getIndex()?.count??0,this.geometry.getAttribute("position").count),0)}updateEntityBoxSize(A,g){let e=this.geometry.userData.parameters;this.is2DType?A.set(0,0,e.depth*.5):this.isNonParametric?(A.setScalar(0),this.geometry.boundingSphere&&A.copy(this.geometry.boundingSphere.center),g.set(e.width,e.height,e.depth??0).multiplyScalar(.5)):A.setScalar(0),g.set(e.width,e.height,e.depth??0).multiplyScalar(.5)}updateMatrixWorld(A){super.updateMatrixWorld(A),this.bindMode==="attached"?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode==="detached"&&this.bindMatrixInverse.copy(this.bindMatrix).invert()}bind(A,g){this.skeleton=A,this.isSkinnedMesh=!0,g===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),g=this.matrixWorld),this.bindMatrix.copy(g),this.bindMatrixInverse.copy(g).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(A){let g=new Ue,e=this.geometry.attributes.skinWeight;for(let I=0,i=e.count;I<i;I++){g.fromBufferAttribute(e,I);let t=1/g.manhattanLength();t!==1/0?g.multiplyScalar(t):g.set(1,0,0,0),e.setXYZW(I,g.x,g.y,g.z,g.w)}}boneTransform(A,g){let e=this.skeleton;if(e===void 0)return;let I=this.geometry;kv.fromBufferAttribute(I.attributes.skinIndex,A),Uv.fromBufferAttribute(I.attributes.skinWeight,A),Mv.copy(g).applyMatrix4(this.bindMatrix),g.set(0,0,0);for(let i=0;i<4;i++){let t=Uv.getComponent(i);if(t!==0){let C=kv.getComponent(i);Nv.multiplyMatrices(e.bones[C].matrixWorld,e.boneInverses[C]),g.addScaledVector(loA.copy(Mv).applyMatrix4(Nv),t)}}return g.applyMatrix4(this.bindMatrixInverse)}};function coA(A){if(A.geometry.attributes.extrudeNormal||!A.geometry.attributes.position||!A.geometry.attributes.normal)return;let g=new Map,e=A.geometry.attributes,I=e.position.array,i=e.normal.array,t=new Float32Array(I.length);for(let C=0;C<I.length;C+=3){let o=`${I[C]}_${I[C+1]}_${I[C+2]}`,a=new x(i[C],i[C+1],i[C+2]);g.has(o)?g.get(o)?.normals.push(a):g.set(o,{normals:[a],result:new x})}g.forEach((C,o)=>{for(let a of C.normals)C.result.add(a);C.result.divideScalar(C.normals.length)});for(let C=0;C<I.length;C+=3){let o=`${I[C]}_${I[C+1]}_${I[C+2]}`,a=g.get(o)?.result;a&&(t[C]=a.x,t[C+1]=a.y,t[C+2]=a.z)}A.geometry.setAttribute("extrudeNormal",new _g(t,3))}function doA(A){if(A.geometry.attributes.extrudeNormals||!A.geometry.attributes.position)return;let g=A.geometry.attributes.position.array,e=new Float32Array(g.length),I=new x;for(let i=0;i<g.length;i+=3)I.set(g[i],g[i+1],g[i+2]).normalize(),e[i]=I.x,e[i+1]=I.y,e[i+2]=I.z;A.geometry.setAttribute("extrudeNormal",new _g(e,3))}function om(A){if(Array.isArray(A.material)){for(let g of A.material)if(g.getLayersOfType("outline").length===0)return}else if(!(A.material instanceof wB)||A.material.getLayersOfType("outline").length===0)return;A instanceof EC&&A.is2DAndNoDepth?doA(A):coA(A)}function am(A){if(!A.geometry.attributes.position)return;let g=A.geometry.attributes.position.array,e=new Float32Array(g.length),I=parseInt(A.uuid.replace(/\D/g,"")),i=[Xg.seededRandom(I),Xg.seededRandom(I+1e4),Xg.seededRandom(I+2e4)];for(let t=0;t<g.length;t++)e[t]=i[t%3];A.geometry.setAttribute("randomColor",new Se(e,3))}var Ya=new ji,pl=new x;function uoA(A){let g=!1;return A.scene.objects.traverse((e,I)=>{I.type==="Mesh"&&I.geometry.type==="SubdivGeometry"&&(g=!0)}),g}var pc=class extends EC{constructor(A,g,e){super(A,g,e),this.data=g,this.hiddenMatrixOld=new wg,this.smoothShading=!0,this.skipReactionUpdate=!1}chooseGeoemtryCache(A){return this.dataPatched.flatShading?A.geometryCache:A.geometryCache2}get subdivPointerNew(){return this.localGeometry!==void 0?this.subdivPointer:this.geometry.ensureSubdivPointer()}get originalGeometryNew(){return this.localGeometry!==void 0?this.originalGeometry:this.geometry.originalGeometry}get phongAngle(){return this.data.geometry.phongAngle??45}updateEntityBoxSize(A,g){let e=this.geometry.userData.parameters;A.copy(this.originalGeometryNew.boundingSphere.center),g.set(e.width,e.height,e.depth??0).multiplyScalar(.5)}createGeometryByControls(A){if(this.skipReactionUpdate===!0)return;let g=this.localGeometry?.uuid,{originalGeometry:e,subdividedGeometry:I,subdivPointer:i}=MC.build(A,this.subdivPointer,this.smoothShading,this.hasNonUniformScale?this.shearScale:void 0);this.subdivPointer=i,e!==void 0&&(this.originalGeometry?.dispose(),this.originalGeometry=e),I!==void 0&&(this.subdividedGeometry?.dispose(),this.subdividedGeometry=I??void 0),this.localGeometry=this.subdividedGeometry??this.originalGeometry,om(this),am(this),this.calcBoundingBox(),g&&(this.localGeometry.uuid=g)}updateState(A,g){if(super.updateState(A,g),A.flatShading!==void 0){let e=this.material;this.material=Array.isArray(e)?e.map(I=>I.getFlavor(!1,I.side,I.wireframe)):e.getFlavor(!1,e.side,e.wireframe),this.smoothShading=!A.flatShading,this.createGeometryDelayed(g)}}updateMesh(A=!1){MC.buildLevel(this.subdivPointer,!0,this.smoothShading?this.phongAngle:-1,this.originalGeometry,A&&this.hasNonUniformScale?this.shearScaleInv:void 0),this.subdividedGeometry&&MC.buildLevel(this.subdivPointer,!1,this.smoothShading?this.phongAngle:-1,this.subdividedGeometry,A&&this.hasNonUniformScale?this.shearScaleInv:void 0)}updateTopology(){this.originalGeometry.dispose(),this.originalGeometry=MC.buildLevel(this.subdivPointer,!0,this.smoothShading?this.phongAngle:-1),this.subdividedGeometry&&(this.subdividedGeometry.dispose(),this.subdividedGeometry=MC.buildLevel(this.subdivPointer,!1,this.smoothShading?this.phongAngle:-1)),this.localGeometry=this.subdividedGeometry??this.originalGeometry}raycast(A,g){let e=this.localGeometry;this.localGeometry=this.originalGeometryNew,RC.prototype.raycast.call(this,A,g),this.localGeometry=e}activateSVDCompensation(){!this.hasNonUniformScale||(this.matrix.copy(this.matrixWorldRigid),this.hiddenMatrixOld.copy(this.hiddenMatrix),this.hiddenMatrix.copy(this.parent.matrixWorld).invert())}deactivateSVDCompensation(){!this.hasNonUniformScale||(this.updateMatrix(),this.hasNonUniformScale=void 0,this.hiddenMatrix.copy(this.hiddenMatrixOld))}calcBoundingBox(){let A=this.originalGeometry;A.boundingSphere===null&&(A.boundingSphere=new VC,this.subdividedGeometry&&(this.subdividedGeometry.boundingSphere=A.boundingSphere));let g=A.attributes.position,e=A.boundingSphere.center;Ya.setFromBufferAttribute(g),Ya.getCenter(e),A.boundingSphere.radius=e.distanceTo(Ya.max),isNaN(A.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this),Ya.getSize(pl),this.hasNonUniformScale&&pl.divide(this.scale);let I={width:pl.x,height:pl.y,depth:pl.z};return this.geometry.userData.parameters=I,I}updateBoundingSphere(A){let g=this.originalGeometry;Ya.min.set(A[0],A[2],A[4]),Ya.max.set(A[1],A[3],A[5]),this.hasNonUniformScale&&(Ya.min.applyMatrix4(this.shearScaleInv),Ya.max.applyMatrix4(this.shearScaleInv)),g.boundingSphere===null&&(g.boundingSphere=new VC);let e=g.boundingSphere.center;Ya.getCenter(e),g.boundingSphere.radius=e.distanceTo(Ya.max)}freeSubdivPointer(){this.subdivPointer&&(MC.freeSubdivPointer(this.subdivPointer),this.subdivPointer=0),this.localGeometry=void 0,this.originalGeometry?.dispose(),this.subdividedGeometry?.dispose()}dispose(){super.dispose(),this.freeSubdivPointer()}updateByPatchedOpGeometry(A,g,e){super.updateByPatchedOpGeometry(A,g,e),this.localGeometry&&this.createGeometryByControls(g)}},Fv=-1,DoA=1,poA={x:[1,0,0],"-x":[-1,0,0],y:[0,1,0],"-y":[0,-1,0],z:[0,0,1],"-z":[0,0,-1]},yoA={polygon_center:0,edge:1,vertex:2},Lu=(A,g)=>(e,I)=>!g||e===0||A===0?0:A*I/100,Pe=(A,g)=>{let e=Math.abs(g),I=e*-1;return(A-Fv)*(e-I)/(DoA-Fv)+I};function woA(A){let g=[],e={};for(var I=0,i=A.length;I<i;I++){var t=JSON.stringify(A[I].pos.map(C=>Math.round(C*1e4)/1e4));e[t]||(g.push(A[I]),e[t]=!0)}return g}var foA=new x,xu=new x,SoA=new x,GoA=new x;function SE(A,g){let e=SoA.fromArray(A),I=GoA.fromArray(g);xu.copy(I).sub(e);let i=xu.length();return xu.normalize().multiplyScalar(i*.5),foA.copy(e).add(xu).toArray()}var Ro=new AC,Yu=new x,np=new x,CQ=new x;function moA(A){let g=[];for(let e=0;e<=A.index.count;e++)if(Yu.fromArray(A.index.array,e*3),Ro.setFromAttributeAndIndices(A.attributes.position,Yu.x,Yu.y,Yu.z),Ro.getNormal(np),Ro.getMidpoint(CQ),!(isNaN(CQ.x)||isNaN(CQ.y)||isNaN(CQ.z))){let{a:I,b:i,c:t}=Ro,C=I.toArray(),o=i.toArray(),a=t.toArray(),r=I.distanceTo(i),s=i.distanceTo(t),B=t.distanceTo(I),Q=SE(C,o),n=SE(o,a),E=SE(a,C),l=[r,s,B],h=Math.max(...l),u=l.filter(w=>Math.round(w)===Math.round(h)).length>1,D=[],p=Ro.getMidpoint(CQ).toArray();h===r&&!u&&(D=[n,E,E],p=Q),h===s&&!u&&(D=[Q,E,E],p=n),h===B&&!u&&(D=[Q,n,n],p=E),u&&(D=[Q,n,E]),g.push({vertices:[C,o,a],faceCenters:D,midpoint:p,norm:Ro.getNormal(np).toArray()})}return g}function MoA(A){let g=[],{position:e}=A.attributes;for(let I=0;I<e.count;I++){Ro.setFromAttributeAndIndices(e,I*3,I*3+1,I*3+2),Ro.getNormal(np),Ro.getMidpoint(CQ);let i=Ro.a.toArray(),t=Ro.b.toArray(),C=Ro.c.toArray();g.push({vertices:[i,t,C],faceCenters:[SE(i,t),SE(t,C),SE(C,i)],midpoint:CQ.toArray(),norm:np.toArray()})}return g}var koA=4,UoA=.5,Q0=A=>.5*(1-Math.cos(A*Math.PI)),NoA=class{constructor(){this.perlin=new Array(4096)}noise(A,g=0,e=0){if(this.perlin==null){this.perlin=new Array(4096);for(let h=0;h<4096;h++)this.perlin[h]=Math.random()}A<0&&(A=-A),g<0&&(g=-g),e<0&&(e=-e);let I=Math.floor(A),i=Math.floor(g),t=Math.floor(e),C=A-I,o=g-i,a=e-t,r,s,B=0,Q=.5,n,E,l;for(let h=0;h<koA;h++){let u=I+(i<<4)+(t<<8);r=Q0(C),s=Q0(o),n=this.perlin[u&4095],n+=r*(this.perlin[u+1&4095]-n),E=this.perlin[u+16&4095],E+=r*(this.perlin[u+16+1&4095]-E),n+=s*(E-n),u+=256,E=this.perlin[u&4095],E+=r*(this.perlin[u+1&4095]-E),l=this.perlin[u+16&4095],l+=r*(this.perlin[u+16+1&4095]-l),E+=s*(l-E),n+=Q0(a)*(E-n),B+=n*Q,Q*=UoA,I<<=1,C*=2,i<<=1,o*=2,t<<=1,a*=2,C>=1&&(I++,C--),o>=1&&(i++,o--),a>=1&&(t++,a--)}return B}noiseSeed(A){let g=(()=>{let e,I;return{setSeed(i){I=e=(i??Math.random()*4294967296)>>>0},getSeed(){return e},rand(){return I=(1664525*I+1013904223)%4294967296,I/4294967296}}})();g.setSeed(A),this.perlin=new Array(4096);for(let e=0;e<4096;e++)this.perlin[e]=g.rand()}},FoA=NoA,Rv=new x,vv=new wg,Kv=new _E;function Jv(A){let g=!1;return A.scene.objects.traverse((e,I)=>{I.type==="Mesh"&&I.geometry.type==="TextGeometry"&&(g=!0)}),g}var zL=class extends EC{constructor(A,g,e){super(A,g,e),this.data=g}get textGeometry(){return this.geometry}get charWidths(){return this.textGeometry.charWidths}get charCoords(){return this.textGeometry.charCoords}get wrappedText(){return this.textGeometry.wrappedText}get font(){return this.textGeometry.font}get initialOffsetY(){let A=this.dataPatched;return this.font?.getLineInitialOffsetY(this.lineHeight,this.wrappedText.length,A.geometry.height,this.fontScale,A.geometry.verticalAlign)??0}get fontScale(){let A=this.dataPatched;return this.font?A.geometry.fontSize/this.font.unitsPerEm:1}get AD(){return Math.abs(this.ascender-this.descender)}get ascender(){return(this.font?.ascender??1)*this.fontScale}get descender(){return(this.font?.descender??1)*this.fontScale}get lineHeight(){let A=this.dataPatched;return A.geometry.fontSize*A.geometry.lineHeight}raycast(A,g){let{matrixWorld:e}=this;if(!(isNaN(A.ray.origin.x)||this.scale.x===0||this.scale.y===0||this.scale.z===0)&&(vv.copy(e).invert(),Kv.copy(A.ray).applyMatrix4(vv),Kv.intersectBox(this.singleBBox,Rv))){let I=Rv.applyMatrix4(e),i=A.ray.origin.distanceTo(I);g.push({distance:i,point:I.clone(),object:this})}}},SC=1e-4,Ha,VL,ZL,XL,qv=new x,bv=new x;CL.then(A=>{Ha=A,VL=[Ha.get_face_center,Ha.get_edge_midpoint,Ha.get_vertex_position],ZL=[Ha.get_face_normal,Ha.get_edge_normal,Ha.get_vertex_normal],XL=[Ha.face_count,Ha.edge_count,Ha.vertex_count]});var RoA=new wg,voA=new wg,Ws=new x,Hu=new x,yl=new x,n0=new x,KoA=new x,JoA=new x,Hr=new FoA,na=class extends OG(YI){constructor(A,g){super(),this.parameters=g,this.objectForSample=void 0,this._pendingMediaLoad=!1,this.object=A}resetOnMove(){this.removeFromParent(),this.parent=null}expandClones(A){if(this.parent===null)this.updateState(this.parameters,A);else for(let g of this.children)g instanceof nC&&g.expand()}invalidateTransform(A){this.matrixWorldNeedsUpdate=!0,this.traverse(g=>{g instanceof nC&&g.object===A&&(g.matrixWorldNeedsUpdate=!0)})}onObjUpdateMatrix(){this.parameters.type!=="toObject"&&(this.matrixWorldNeedsUpdate=!0)}update(){switch(this._updateCount(),this.parameters.type){case"radial":this._updateRadial(this.parameters);break;case"linear":this._updateLinear(this.parameters);break;case"grid":this._updateGrid(this.parameters);break;case"toObject":this._updateToObject(this.parameters)}for(let A of this.children)A.updateMatrix(),A.hasNonUniformScale&&(A.updateMatrixWorld(),A.updateMatrixWorldSVD())}_updateCount(A){let g;if(A!==void 0?g=A:g=this.parameters.type==="grid"?Math.round(this.parameters.grid.count[0])*Math.round(this.parameters.grid.count[1])*Math.round(this.parameters.grid.count[2]):this.parameters.count,this.parameters.type==="toObject"&&!this.parameters.toObject.object&&(g=0),this.parameters.type==="toObject"&&this.objectForSample){for(let I=0,i=this.children.length;I<i;++I)this.remove(this.children[0]);let e=this.children;if(e.length===g)return;if(e.length<g)for(let I=0,i=g-e.length;I<i;++I){let t=new nC(this.object);t.expand(),this.add(t)}else for(let I=0,i=e.length-g;I<i;++I)this.remove(e[I])}else{if(this.children.length===g)return;if(this.children.length<g)for(let e=0,I=g-this.children.length;e<I;++e){let i=new nC(this.object);i.expand(),this.add(i)}else for(let e=0,I=this.children.length-g;e<I;++e)this.remove(this.children[0])}}_updateRadial(A){let g=A.radial,e=g.start*Xg.DEG2RAD,I=g.end*Xg.DEG2RAD,i=e-I,t=new yt(g.rotation[0],g.rotation[1],g.rotation[2]),C;switch(g.axis){case"z":C=new x(0,0,1);break;case"y":C=new x(0,1,0);break;default:case"x":C=new x(1,0,0);break}let o=A.randomnessObject??sB.defaultData([1,1,1]).randomnessObject,a=o.noiseType==="perlin";Hr.noiseSeed(o.seed);let r=_w((0,ll.default)(o.seed)),s=Lu(o.strength,this.parameters.randomness);for(let[B,Q]of this.children.entries()){let n=B*(o.freqScale/10)+o.movement,E=a?Hr.noise(n):r(n,n),l=B+1;Q.scale.x=g.scale[0]+s(l,Pe(E,o.scale[0]))||SC,Q.scale.y=g.scale[1]+s(l,Pe(E,o.scale[1]))||SC,Q.scale.z=g.scale[2]+s(l,Pe(E,o.scale[2]))||SC,Q.position.setScalar(0);let h=i/A.count*B-e;switch(g.axis){case"x":Q.rotation.set(0,h,0);break;case"y":Q.rotation.set(0,0,h);break;case"z":Q.rotation.set(h,0,0);break}Q.translateOnAxis(C,g.radius),Q.position.x+=g.position[0]+s(l,Pe(E,o.position[0])),Q.position.y+=g.position[1]+s(l,Pe(E,o.position[1])),Q.position.z+=g.position[2]+s(l,Pe(E,o.position[2]));let u=s(l,Pe(E,o.rotation[0])),D=s(l,Pe(E,o.rotation[1])),p=s(l,Pe(E,o.rotation[2]));g.alignment===!0?(Q.rotation.x+=t.x+u,Q.rotation.y+=t.y+D,Q.rotation.z+=t.z+p):Q.rotation.set(t.x+u,t.y+D,t.z+p)}}_updateLinear(A){if(A.type!=="linear")throw new Error;let g=A.linear,e=new yt(g.rotation[0],g.rotation[1],g.rotation[2]),I=A.randomnessObject??sB.defaultData([1,1,1]).randomnessObject,i=I.noiseType==="perlin";Hr.noiseSeed(I.seed);let t=_w((0,ll.default)(I.seed)),C=Lu(I.strength,this.parameters.randomness);for(let[o,a]of this.children.entries()){let r=o*(I.freqScale/10)+I.movement,s=i?Hr.noise(r):t(r,r),B=o+1,Q=C(B,Pe(s,I.rotation[0])),n=C(B,Pe(s,I.rotation[1])),E=C(B,Pe(s,I.rotation[2]));a.scale.x=1+(g.scale[0]-1)*o+C(B,Pe(s,I.scale[0]))||SC,a.scale.y=1+(g.scale[1]-1)*o+C(B,Pe(s,I.scale[1]))||SC,a.scale.z=1+(g.scale[2]-1)*o+C(B,Pe(s,I.scale[2]))||SC,a.rotation.x=e.x*o+Q,a.rotation.y=e.y*o+n,a.rotation.z=e.z*o+E,a.position.x=g.position[0]*o+C(B,Pe(s,I.position[0])),a.position.y=g.position[1]*o+C(B,Pe(s,I.position[1])),a.position.z=g.position[2]*o+C(B,Pe(s,I.position[2]))}}_updateGrid(A){let g=0,e=A.grid,I=A.randomnessObject??sB.defaultData([1,1,1]).randomnessObject,i=Lu(I.strength,this.parameters.randomness),t=I.noiseType==="perlin";Hr.noiseSeed(I.seed);let C=bIA((0,ll.default)(I.seed));if(e.useCenter===!0){let o={x:e.count[0]%2===0?2:1,y:e.count[1]%2===0?2:1,z:e.count[2]%2===0?2:1},a=new x(e.size[0]*(e.count[0]-o.x)*.5,e.size[1]*(e.count[1]-o.y)*.5,e.size[2]*(e.count[2]-o.z)*.5);for(let r=0;r<e.count[0];r++)for(let s=0;s<e.count[1];s++)for(let B=0;B<e.count[2];B++){let Q=[(r+1)*(I.freqScale/10)+I.movement,(s+1)*(I.freqScale/10)+I.movement,(B+1)*(I.freqScale/10)+I.movement],n=t?Hr.noise(...Q):C(...Q),E=this.children[g++];E.scale.x=1+i(g,Pe(n,I.scale[0]))||SC,E.scale.y=1+i(g,Pe(n,I.scale[1]))||SC,E.scale.z=1+i(g,Pe(n,I.scale[2]))||SC;let l=i(g,Pe(n,I.rotation[0])),h=i(g,Pe(n,I.rotation[1])),u=i(g,Pe(n,I.rotation[2]));E.rotation.set(l,h,u),E.position.x=e.size[0]*r-a.x+i(g,Pe(n,I.position[0])),E.position.y=e.size[1]*s-a.y+i(g,Pe(n,I.position[1])),E.position.z=e.size[2]*B-a.z+i(g,Pe(n,I.position[2]))}}else for(let o=0;o<e.count[0];o++)for(let a=0;a<e.count[1];a++)for(let r=0;r<e.count[2];r++){let s=[(o+1)*(I.freqScale/10)+I.movement,(a+1)*(I.freqScale/10)+I.movement,(r+1)*(I.freqScale/10)+I.movement],B=t?Hr.noise(...s):C(...s),Q=this.children[g++];Q.scale.x=1+i(g,Pe(B,I.scale[0]))||SC,Q.scale.y=1+i(g,Pe(B,I.scale[1]))||SC,Q.scale.z=1+i(g,Pe(B,I.scale[2]))||SC;let n=i(g,Pe(B,I.rotation[0])),E=i(g,Pe(B,I.rotation[1])),l=i(g,Pe(B,I.rotation[2]));Q.rotation.set(n,E,l),Q.position.x=e.size[0]*o+i(g,Pe(B,I.position[0])),Q.position.y=-e.size[1]*a+i(g,Pe(B,I.position[1])),Q.position.z=-e.size[2]*r+i(g,Pe(B,I.position[2]))}}_updateToObject(A){if(A.type!=="toObject")throw new Error;let{toObject:g}=A,e=new yt(g.rotation[0],g.rotation[1],g.rotation[2]),I=A.randomnessObject??sB.defaultData([1,1,1]).randomnessObject,i=I.noiseType==="perlin";Hr.noiseSeed(I.seed);let t=_w((0,ll.default)(I.seed)),C=Lu(I.strength,this.parameters.randomness);if(!g.object){for(let[,l]of this.children.entries())l.position.set(0,0,0),l.scale.setScalar(1),l.rotation.set(0,0,0);this.objectForSample=void 0;return}if(!this.objectForSample)return;if(this.objectForSample instanceof zL)if(!this.objectForSample.font?.isLoaded||this.objectForSample.geometry.attributes.position===void 0){this._pendingMediaLoad=!0;return}else this._pendingMediaLoad=!1;if(this.objectForSample.geometry===void 0&&this.objectForSample.isAncestorOf(this.object.uuid)){console.warn(`Oh no! The object "${this.object.name}" (${this.object.uuid}) seem to be a child/descendant of the object it's being cloned to. Please re-parent it so that they are siblings instead.`);return}let o=this.getSubdivData(),a=[],r=l=>{let h=l.length,u=l.map(w=>w[0]).reduce((w,k)=>w+k,0),D=l.map(w=>w[1]).reduce((w,k)=>w+k,0),p=l.map(w=>w[2]).reduce((w,k)=>w+k,0);return[u/h,D/h,p/h]},s=l=>Math.round(l*1e6)/1e6;o.forEach(l=>{let h=o.filter(u=>s(l.pos[0])===s(u.pos[0])&&s(l.pos[1])===s(u.pos[1])&&s(l.pos[2])===s(u.pos[2]));h.length>1?a.push({pos:l.pos,norm:r(h.map(u=>u.norm))}):a.push(l)});let B=woA(a);if(B.length>0){let l=Math.round(B.length*g.count/100);this._updateCount(l)}else{let l=this.objectForSample.geometry.getAttribute("position");if(!l||isNaN(l.count)||l.count===0){console.warn(`Oh no! The object "${this.object.name}" (${this.object.uuid}) cannot be cloned on the surface of "${this.objectForSample.name}" (${this.objectForSample.uuid}) because the latter does not have a valid geometry.`);return}}this.objectForSample.updateMatrixWorld();let Q=new LIA(this.objectForSample).build(),n=poA[g.axis],E=this.children;Q.setRandomGenerator((0,ll.default)(this.object.uuid+g.seed));for(let[l,h]of E.entries()){let u=l*(I.freqScale/10)+I.movement,D=i?Hr.noise(u):t(u,u),p=l+1,w=C(p,Pe(D,I.rotation[0])),k=C(p,Pe(D,I.rotation[1])),U=C(p,Pe(D,I.rotation[2]));g.spreadType==="random"?Q.sample(yl,n0):(B.length&&(yl.fromArray(B[l].pos),n0.fromArray(B[l].norm)),this.objectForSample instanceof pc&&yl.applyMatrix4(RoA.copy(this.objectForSample.matrixWorld).invert())),yl.applyMatrix4(this.object.hiddenMatrix.clone().invert()),h.position.copy(yl),Ws.fromArray(n);let N=g.align==="normal"?n0:this.object.getWorldDirection(JoA),G=Hu.fromArray(g.position);Hu.x+=C(p,Pe(D,I.position[0])),Hu.y+=C(p,Pe(D,I.position[1])),Hu.z+=C(p,Pe(D,I.position[2]));let R=Math.acos(N.dot(Ws)),J=KoA.crossVectors(Ws,N).normalize(),q=voA.makeRotationAxis(J,R),T=N.clone().cross(this.object.up).normalize(),P=T.clone().cross(N).normalize(),H=new wg().makeBasis(T,N,P),eA=new x(Ws.y,Ws.z,Ws.x).normalize(),rA=eA.clone().cross(Ws).normalize(),BA=new wg().makeBasis(eA,Ws,rA).invert(),aA=new wg().multiplyMatrices(H,BA);h.rotation.setFromRotationMatrix(aA),G.applyMatrix4(q),h.position.add(G),h.rotation.x=h.rotation.x+e.x+w,h.rotation.y=h.rotation.y+e.y+k,h.rotation.z=h.rotation.z+e.z+U,h.scale.setScalar(1),h.scale.x=h.scale.x+g.scale[0]+C(p,Pe(D,I.scale[0]))||SC,h.scale.y=h.scale.y+g.scale[1]+C(p,Pe(D,I.scale[1]))||SC,h.scale.z=h.scale.z+g.scale[2]+C(p,Pe(D,I.scale[2]))||SC,h.scale.multiply(this.object.scale),h.hiddenMatrix=this.object.hiddenMatrix}}getSubdivData(){if(!this.objectForSample)return[];let A=this.parameters.toObject.spreadType;if(A==="random")return[];if(this.objectForSample instanceof pc){let g=this.objectForSample,e=yoA[A],I=XL[e],i=VL[e],t=ZL[e],C=[],o=I(g.subdivPointerNew);for(let a=0;a<=o-1;a++){let r=i(g.subdivPointerNew,a),s=t(g.subdivPointerNew,a);qv.fromArray(r).applyMatrix4(g.matrixWorld),bv.fromArray(s),C.push({pos:qv.toArray(),norm:bv.toArray()})}return C}else return(this.objectForSample.geometry.index?moA(this.objectForSample.geometry):MoA(this.objectForSample.geometry)).map((g,e)=>A==="polygon_center"?{pos:g.midpoint,norm:g.norm}:A==="vertex"?[{pos:g.vertices[0],norm:g.norm},{pos:g.vertices[1],norm:g.norm},{pos:g.vertices[2],norm:g.norm}]:A==="edge"?[{pos:g.faceCenters[0],norm:g.norm},{pos:g.faceCenters[1],norm:g.norm},{pos:g.faceCenters[2],norm:g.norm}]:[]).flat()}updateState(A,g){if(this.parameters=Rp(A),this.parameters.type!=="toObject")(this.parent===null||this.parent!==this.object)&&(this.removeFromParent(),this.object.parent?.add(this),this.matrix=this.object.matrix,this.hiddenMatrix=this.object.hiddenMatrix,this.matrixWorldNeedsUpdate=!0,this.matrixAutoUpdate=!1);else if(this.parent===null||this.parent.uuid!==this.parameters.toObject.object){this.removeFromParent();let e=g.find(this.parameters.toObject.object);e instanceof RC?this.objectForSample=e:this.objectForSample=void 0,this.matrix=new wg,this.hiddenMatrix=new wg,this.matrixWorldNeedsUpdate=!0,this.matrixAutoUpdate=!1,e&&e.add(this)}this.update()}get pendingMediaLoad(){return this._pendingMediaLoad}},vc=A=>{var g;return g=class extends A{},g.geometryHelper=new da(30,30,30),g},Tu=new _E,E0=new VC,Lv=new wg,Kc=(A,g,e,I,i=!1,t=A)=>{let C=g,o=t.matrixWorld;if(C.boundingSphere===null&&C.computeBoundingSphere(),E0.copy(C.boundingSphere),E0.applyMatrix4(o),e.ray.intersectsSphere(E0)===!1||(Lv.copy(o).invert(),Tu.copy(e.ray).applyMatrix4(Lv),C.boundingBox!==null&&Tu.intersectsBox(C.boundingBox)===!1))return;let a,r,s,B,Q=C.index,n=C.attributes.position,E=C.drawRange,l,h;if(i===!1){let D=Math.max(0,E.start),p=Math.min(Q.count,E.start+E.count);for(l=D,h=p;l<h;l+=3)if(r=Q.getX(l),s=Q.getX(l+1),B=Q.getX(l+2),a=u(A,e,Tu,n,r,s,B),a){a.faceIndex=Math.floor(l/3),I.push(a);return}}else{let D=C.attributes.position,p=new x,w=new x,k=new x,U=new x,N=2,G=1/((t.scale.x+t.scale.y+t.scale.z)/3),R=G*G,J=Math.max(0,E.start),q=Math.min(D.count,E.start+E.count);for(let T=J,P=q-1;T<P;T+=N){if(p.fromBufferAttribute(D,T),w.fromBufferAttribute(D,T+1),Tu.distanceSqToSegment(p,w,U,k)>R)continue;U.applyMatrix4(t.matrixWorld);let H=e.ray.origin.distanceTo(U);H<e.near||H>e.far||I.push({distance:H,point:k.clone().applyMatrix4(t.matrixWorld),object:A})}}function u(D,p,w,k,U,N,G){let R=new x,J=new x,q=new x,T=new x,P=new x;if(R.fromBufferAttribute(k,U),J.fromBufferAttribute(k,N),q.fromBufferAttribute(k,G),w.intersectTriangle(R,J,q,!1,T)===null)return null;P.copy(T),P.applyMatrix4(D.matrixWorld);let H=p.ray.origin.distanceTo(P);return H<p.near||H>p.far?null:{faceIndex:1,distance:H,point:P.clone(),object:D}}},Ou=new x,Go=new FQ,qoA=class extends Sc{constructor(A){let g=new se,e=new SB({color:16777215,vertexColors:!0,toneMapped:!1}),I=[],i=[],t={},C=new de(15711266),o=new de(15711266),a=new de(2857471);r("n1","n2",C),r("n2","n4",C),r("n4","n3",C),r("n3","n1",C),r("f1","f2",C),r("f2","f4",C),r("f4","f3",C),r("f3","f1",C),r("n1","f1",C),r("n2","f2",C),r("n3","f3",C),r("n4","f4",C),r("p","n1",o),r("p","n2",o),r("p","n3",o),r("p","n4",o),r("u1","u2",a),r("u2","u3",a),r("u3","u1",a);function r(B,Q,n){s(B,n),s(Q,n)}function s(B,Q){I.push(0,0,0),i.push(Q.r,Q.g,Q.b),t[B]===void 0&&(t[B]=[]),t[B].push(I.length/3-1)}g.setAttribute("position",new _g(I,3)),g.setAttribute("color",new _g(i,3)),super(g,e),this.type="CameraHelper",this.camera=A,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=t,this.update()}update(){let A=this.geometry,g=this.pointMap,e=!0;Go.projectionMatrixInverse.elements=[.5112609807824982,-0,-0,-0,-0,.41421356237309503,-0,-0,-0,-0,-0,-.099999,-0,-0,-1.0000000000000002,.100001];let I=1,i=1,t=e?.8:1e-4;ea("n1",g,A,Go,-I,-i,t),ea("n2",g,A,Go,I,-i,t),ea("n3",g,A,Go,-I,i,t),ea("n4",g,A,Go,I,i,t);let C=t;ea("f1",g,A,Go,-I,-i,C),ea("f2",g,A,Go,I,-i,C),ea("f3",g,A,Go,-I,i,C),ea("f4",g,A,Go,I,i,C);let o=C,a=.5;ea("u1",g,A,Go,I*.7*a,i*1.1,o),ea("u2",g,A,Go,-I*.7*a,i*1.1,o),ea("u3",g,A,Go,0,i*(1.1+.9*a),o),A.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function ea(A,g,e,I,i,t,C){Ou.set(i,t,C).unproject(I);let o=g[A];if(o!==void 0){let a=e.getAttribute("position");for(let r=0,s=o.length;r<s;r++)a.setXYZ(o[r],Ou.x,Ou.y,Ou.z)}}var boA=class extends vc(qoA){constructor(A){super(A),this.object=A,this.object=A,this.name=`CombinedCameraHelper: ${A.uuid}`}updateMatrixWorld(A){super.updateMatrixWorld(A),this.updateTarget()}updateTarget(){let A=this.object.getTarget();this.updateWorldMatrix(!0,!1),this.worldToLocal(A)}raycast(A,g){Kc(this.object,this.geometry,A,g,!0)}},GS;(A=>A.is=g=>"objectHelper"in g)(GS||(GS={}));var Ch=(A,g)=>class extends _G(A){constructor(){super(...arguments),this.objectHelper=new g(this),this.gizmos={}}get geometryHelper(){return g.geometryHelper}raycast(e,I){this.objectHelper.raycast(e,I)}showGizmos(){for(let e in this.gizmos){let I=this.gizmos[e];I instanceof RD&&(I.visible=!0)}}updateEntityBoxSize(e,I){this.objectHelper.visible&&this.geometryHelper instanceof da?(e.setScalar(0),I.set(this.geometryHelper.parameters.width,this.geometryHelper.parameters.height,this.geometryHelper.parameters.height).multiplyScalar(.5)):super.updateEntityBoxSize(e,I)}hideGizmos(){for(let e in this.gizmos){let I=this.gizmos[e];I instanceof RD&&(I.visible=!1)}}},_u=790,Pn=new x,h0=new x,l0=new ke,c0=new x,wl=new x,d0=new x,lC=class extends Ch(FQ,boA){constructor(A="",g={...Qc.defaultData,name:""}){super(),this._cameraType="OrthographicCamera",this.targetOffset=JE.DefaultTargetOffset,this.isUpVectorFlipped=!1,this.angleOffsetFromUp=0,this.wasMovedByUser=!1,this.wasMovedBySwitchCameraAction=!1,this.super_Entity(A,g),this.previousProjectionMatrix=new wg,this.matrixAutoUpdate=!0,this.width=window.innerWidth,this.height=window.innerHeight;let e=this.width,I=this.height;this.orthoCamera=new wp(e*-.5,e*.5,I*.5,I*-.5,-5e4,1e4),this.perspCamera=new BC(45,e/I,50,1e4),this.left=this.orthoCamera.left,this.right=this.orthoCamera.right,this.top=this.orthoCamera.top,this.bottom=this.orthoCamera.bottom,this.far=this.orthoCamera.far,this.view=this.orthoCamera.view,this.aspect=this.perspCamera.aspect,this.focus=this.perspCamera.focus,this.filmGauge=this.perspCamera.filmGauge,this.filmOffset=this.perspCamera.filmOffset,this.objectHelper.update()}get isPerspectiveCamera(){return this.cameraType==="PerspectiveCamera"}get isOrthographicCamera(){return!this.isPerspectiveCamera}get cameraType(){return this._cameraType}set fov(A){this.perspCamera.fov=A}get fov(){return this.perspCamera.fov}setNear(A,g){A==="PerspectiveCamera"?this.perspCamera.near=g:this.orthoCamera.near=g}setZoom(A,g){g>=0&&(A==="PerspectiveCamera"?this.perspCamera.zoom=g:this.orthoCamera.zoom=g)}set cameraType(A){A==="PerspectiveCamera"?this.toPerspective():A==="OrthographicCamera"&&this.toOrthographic()}get near(){return this._cameraType==="PerspectiveCamera"?this.perspCamera.near:this.orthoCamera.near}set near(A){this._cameraType==="PerspectiveCamera"?this.perspCamera.near=A:this.orthoCamera.near=A}get zoom(){return this._cameraType==="PerspectiveCamera"?this.perspCamera.zoom:this.orthoCamera.zoom}set zoom(A){A>=0&&(this._cameraType==="PerspectiveCamera"?this.perspCamera.zoom=A:this.orthoCamera.zoom=A)}lookAt(A,g,e){typeof A=="number"&&(A=new x(A,g,e)),super.lookAt(A),this.getWorldPosition(Pn),this.targetOffset=Pn.distanceTo(A)}getTarget(A=new x){return this.getWorldDirection(h0),this.getWorldPosition(Pn),h0.multiplyScalar(this.targetOffset),A.copy(Pn).add(h0),A}getDistanceToTarget(){let A=this.getTarget();return this.getWorldPosition(Pn),Pn.distanceTo(A)}updateUp(){this.getWorldQuaternion(l0),c0.set(0,0,1).applyQuaternion(l0),wl.copy(YI.DEFAULT_UP),this.isUpVectorFlipped&&wl.negate(),wl.applyQuaternion(l0),d0.copy(YI.DEFAULT_UP).projectOnPlane(c0),this.angleOffsetFromUp=d0.angleTo(wl),this.angleOffsetFromUp*=d0.cross(wl).dot(c0)>=0?1:-1}updateTransformState(A,g){let e=super.updateTransformState(A,g);return A.isUpVectorFlipped!==void 0&&(this.isUpVectorFlipped=A.isUpVectorFlipped),this.updateUp(),e}getViewFrontToObject(A){let g=A.getWorldPosition(new x),e=A.getWorldDirection(new x).multiplyScalar(this.targetOffset);return{position:g.clone().add(e),target:g}}getViewToTarget(A){let g=this.getWorldDirection(new x).multiplyScalar(this.targetOffset);return{position:A.clone().sub(g),target:A}}getViewToObject(A){let g=new x,e=A.getWorldPosition(g);return this.getViewToTarget(g)}setViewplaneSize(A,g,e=!1){if(this.aspect=A/g,e){let I=A>g?this.aspect:1,i=A>g?1:this.aspect;this.left=-_u*.5*I,this.right=_u*.5*I,this.top=_u*.5*(1/i),this.bottom=-_u*.5*(1/i)}else this.left=-A*.5,this.right=A*.5,this.top=g*.5,this.bottom=-g*.5;this.updateProjectionMatrix()}copyViewPlaneSize(A){this.aspect=A.aspect,this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.updateProjectionMatrix()}toOrthographic(){this.orthoCamera.left=this.left,this.orthoCamera.right=this.right,this.orthoCamera.top=this.top,this.orthoCamera.bottom=this.bottom,this.orthoCamera.view=this.view,this.orthoCamera.far=this.far,this.orthoCamera.updateProjectionMatrix(),this.projectionMatrix=this.orthoCamera.projectionMatrix,this.projectionMatrixInverse=this.orthoCamera.projectionMatrixInverse,this._cameraType="OrthographicCamera",this.objectHelper&&this.objectHelper.update()}toPerspective(){this.perspCamera.aspect=this.aspect,this.perspCamera.fov=this.fov,this.perspCamera.view=this.view,this.perspCamera.far=this.far,this.perspCamera.updateProjectionMatrix(),this.projectionMatrix=this.perspCamera.projectionMatrix,this.projectionMatrixInverse=this.perspCamera.projectionMatrixInverse,this._cameraType="PerspectiveCamera",this.objectHelper&&this.objectHelper.update()}setFocalLength(A){this.perspCamera.setFocalLength(A),this.toPerspective()}getFocalLength(){return this.perspCamera.getFocalLength()}getEffectiveFOV(){return this.perspCamera.getEffectiveFOV()}getFilmWidth(){return this.perspCamera.getFilmWidth()}getFilmHeight(){return this.perspCamera.getFilmHeight()}setViewOffset(A,g,e,I,i,t){this._cameraType==="PerspectiveCamera"?this.perspCamera.setViewOffset(A,g,e,I,i,t):this.orthoCamera.setViewOffset(A,g,e,I,i,t)}clearViewOffset(){this._cameraType==="PerspectiveCamera"?(this.perspCamera.clearViewOffset(),this.toPerspective()):(this.orthoCamera.clearViewOffset(),this.toOrthographic())}copyHistory(){this.previousProjectionMatrix&&this.previousProjectionMatrix.copy(this.projectionMatrix)}updateProjectionMatrix(){this._cameraType==="PerspectiveCamera"?this.toPerspective():this._cameraType==="OrthographicCamera"&&this.toOrthographic()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,g){super.updateWorldMatrix(A,g),this.matrixWorldInverse.copy(this.matrixWorld).invert()}copy(A,g){return super.copy(A,g),this.parent=A.parent,this.orthoCamera.copy(A.orthoCamera),this.perspCamera.copy(A.perspCamera),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.far=A.far,this.view=A.view===null?null:Object.assign({},A.view),this._cameraType=A._cameraType,this.aspect=A.aspect,this.fov=A.fov,this.focus=A.focus,this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this.targetOffset=A.targetOffset,this.updateProjectionMatrix(),this}toCameraState(A=[]){let g={type:this.cameraType,far:this.far,orthographic:{near:this.orthoCamera.near,zoom:this.orthoCamera.zoom},perspective:{near:this.perspCamera.near,fov:this.perspCamera.fov,zoom:this.perspCamera.zoom},up:this.up.toArray(),targetOffset:this.targetOffset,isUpVectorFlipped:this.isUpVectorFlipped};return uf(g,A)}updateCameraSubtype(A,g){let e=A==="perspective"?"PerspectiveCamera":"OrthographicCamera";g.zoom!==void 0&&this.setZoom(e,g.zoom),g.near!==void 0&&this.setNear(e,g.near),g.fov!==void 0&&e==="PerspectiveCamera"&&(this.fov=g.fov)}updateState(A,g){this.updateCameraState(A,g)}updateCameraState(A,g){this.updateState_Entity(A,g),A.far!==void 0&&(this.far=A.far),A.orthographic!==void 0&&this.updateCameraSubtype("orthographic",A.orthographic),A.perspective!==void 0&&this.updateCameraSubtype("perspective",A.perspective),A.type!==void 0&&(this.cameraType=A.type),A.up!==void 0&&this.up.fromArray(A.up),A.targetOffset!==void 0&&(this.targetOffset=A.targetOffset),A.isUpVectorFlipped!==void 0&&(this.isUpVectorFlipped=A.isUpVectorFlipped),this.updateProjectionMatrix()}updateByPatchedOp(A,g,e){super.updateByPatchedOp(A,g,e),A.path.length===1&&A.type===0&&this.updateCameraSubtype(A.path[0],A.props)}toState(A){return{...super.toState(A),...this.toCameraState(A),type:this.cameraType}}},jn=new wg,LoA=new wg;function xv(A){let g=!1;return A.scene.objects.traverse((e,I)=>{I.geometry?.type==="BooleanGeometry"&&(g=!0)}),g}var UQ=class extends th{constructor(A,g,e){super(A,g),this.data=g,this.meshSetAddresses=[],this.needsTransformForDownstream=!1,this.geometry=new se,this.onAfterRender=(I,i,t,C,o,a)=>{super.onAfterRender(I,i,t,C,o,a),this.recomputeBoolean()},this.geometry.userData.parameters={width:0,height:0,depth:0}}get booleanOp(){return this.data.geometry.operation}get phongAngle(){return this.data.geometry.phongAngle??45}get isLOD(){return this.recomputeBoolean(),!1}updateByPatchedOp(A,g,e){super.updateByPatchedOp(A,g,e),A.path.length===1&&A.path[0]==="geometry"&&A.type===0&&A.props.operation!==void 0&&(this.freeBooleanPointer(),this.resetBBoxNeedsUpdate())}freeBooleanPointer(){super.freeBooleanPointer(),this.geometry.dispose()}recomputeBoolean(A,g=!0){if(this.booleanMeshSetAddress!==-1&&!A)return;for(let I=0;I<this.children.length;I++){let i=this.children[I];i instanceof UQ&&i.dataPatched.visible===!0&&i.recomputeBoolean(A===!0,g)}this.meshSetAddresses=[];for(let I=0;I<this.children.length;I++){let i=this.children[I];if(i instanceof RC&&i.dataPatched.visible===!0&&i.geometry.attributes.position?.count>0&&i.geometry.drawRange.count>0&&i.booleanMeshSetAddress!==0){jn.multiplyMatrices(i.hiddenMatrix,i.matrix);try{if(i.booleanMeshSetAddress===-1){if((i.geometry.index??i.geometry.getAttribute("position")).count/3<15e5&&(i.booleanMeshSetAddress=Vr.getMeshSet(i.geometry,A===!0,g)),i.booleanMeshSetAddress===-1)return;Vr.transformMeshSet(i.booleanMeshSetAddress,jn),i.booleanMatrixInvOld.copy(jn).invert(),i.booleanWasTransformed=!1}else i instanceof UQ&&i.needsTransformForDownstream===!0?(Vr.transformMeshSet(i.booleanMeshSetAddress,jn),i.needsTransformForDownstream=!1):i.booleanWasTransformed===!0&&(Vr.transformMeshSet(i.booleanMeshSetAddress,LoA.multiplyMatrices(jn,i.booleanMatrixInvOld)),i.booleanMatrixInvOld.copy(jn).invert(),i.booleanWasTransformed=!1)}catch(t){console.error(t),i.booleanMeshSetAddress=0,i.geometry.userData.booleanOperationDidFail=!0;continue}Vr.hasOpenEdges(i.booleanMeshSetAddress)===!1||I===this.children.length-1&&this.booleanOp===2?(this.meshSetAddresses.push(i.booleanMeshSetAddress),i.geometry.userData.booleanOperationDidFail=!1):i.geometry.userData.booleanOperationDidFail="openEdges"}}if(this.meshSetAddresses.length===0){this.geometry.setAttribute("position",new _g([],0)),this.geometry.setDrawRange(0,0);return}if(A===!0)return Vr.calcBooleanTopological(this.meshSetAddresses,this.booleanOp);let e=this.geometry;e.dispose(),this.geometry=new se,this.geometry.userData=e.userData,this.geometry.boundingSphere=e.boundingSphere;try{this.booleanMeshSetAddress=Vr.calcBoolean(this.meshSetAddresses,this.booleanOp,this.geometry,this.phongAngle)}catch(I){this.booleanMeshSetAddress=0,this.geometry.userData.booleanOperationDidFail=!0,console.error(I)}this.booleanMatrixInvOld.copy(this.matrix).invert(),this.needsTransformForDownstream=!0,om(this),am(this)}dispose(){super.dispose(),this.geometry.dispose()}},mS;(A=>{function g(e){return hI.is(e)&&e instanceof Mc}A.is=g})(mS||(mS={}));var rm=(A,g)=>class extends Ch(A,g){updateState_Light(e,I){this.updateState_Entity(e,I),e.color!==void 0&&(this.color=I.shared.color(e.color)),e.intensity!==void 0&&(this.intensity=e.intensity),e.depth!==void 0&&(this.shadow.camera.far=e.depth,this.shadow.needsUpdate=!0),e.shadows!==void 0&&(this.castShadow=e.shadows)}},ra=A=>A instanceof RC,as=A=>A!==null&&A instanceof UQ,xoA=A=>A instanceof lC,YoA=A=>mS.is(A),MS=A=>GS.is(A),HoA=new x(1,1,1),Yv=new x,ToA=new x,Hv=new ke,Jc=class extends vc(iV){constructor(A,g=15){super(g),this.object=A,this.dummy=new oB,this.object.updateMatrixWorld(),this.name=`EmptyObjectHelper: ${A.uuid}`,this.matrix=this.dummy.matrixWorld,this.matrixAutoUpdate=!1,this.object.isBone&&(this.visible=!1)}raycast(A,g){Kc(this.object,Jc.geometryHelper,A,g,!1,this.dummy)}update(){}updateMatrix(){}updateMatrixWorld(A){this.object.matrixWorld.decompose(Yv,Hv,ToA),this.matrix.compose(Yv,Hv,HoA),super.updateMatrixWorld(A)}updateWorldMatrix(A,g){}},GE=class extends Ch(oB,Jc){constructor(A,g){super(),this.super_Entity(A,g),this.objectHelper.update()}updateState(A,g){this.updateState_Entity(A,g),"buffer"in A&&Object.keys(A).length===1&&g.scene.reloadSplats()}},QD=class extends Ch(oB,Jc){constructor(A,g,e){super(),this.super_Entity(A,g),this.context=e,this.objectHelper.update()}updateState(A,g){this.updateState_Entity(A,g)}},$L={RED:0,GREEN:1,BLUE:2,ALPHA:3},qc="varying vec2 vUv;void main(){vUv=position.xy*0.5+0.5;gl_Position=vec4(position.xy,1.0,1.0);}",OoA=`#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D inputBuffer;
#else
uniform lowp sampler2D inputBuffer;
#endif
uniform lowp sampler2D cocBuffer;uniform vec2 texelSize;uniform float scale;uniform vec4 kernel64[32];varying vec2 vUv;void main(){
#ifdef FOREGROUND
vec2 CoCNearFar=texture2D(cocBuffer,vUv).rg;float CoC=CoCNearFar.r*scale;
#else
float CoC=texture2D(cocBuffer,vUv).g*scale;
#endif
if(CoC==0.0){gl_FragColor=texture2D(inputBuffer,vUv);}else{
#ifdef FOREGROUND
vec2 step=texelSize*max(CoC,CoCNearFar.g*scale);
#else
vec2 step=texelSize*CoC;
#endif
vec4 acc=vec4(0.0);for(int i=0;i<32;++i){vec4 kernel=kernel64[i];vec2 uv=step*kernel.xy+vUv;acc+=texture2D(inputBuffer,uv);uv=step*kernel.zw+vUv;acc+=texture2D(inputBuffer,uv);}gl_FragColor=acc/64.0;}}`,Pu=class extends RI{constructor(A=!1,g=!1){super({name:"BokehMaterial",defines:{PASS:A?"2":"1"},uniforms:{kernel64:new hg(null),kernel16:new hg(null),inputBuffer:new hg(null),cocBuffer:new hg(null),texelSize:new hg(new mA),scale:new hg(1)},blending:Ct,depthWrite:!1,depthTest:!1,fragmentShader:OoA,vertexShader:qc}),this.toneMapped=!1,g&&(this.defines.FOREGROUND="1"),this.generateKernel()}set inputBuffer(A){this.uniforms.inputBuffer.value=A}setInputBuffer(A){this.uniforms.inputBuffer.value=A}set cocBuffer(A){this.uniforms.cocBuffer.value=A}setCoCBuffer(A){this.uniforms.cocBuffer.value=A}get scale(){return this.uniforms.scale.value}set scale(A){this.uniforms.scale.value=A}getScale(A){return this.uniforms.scale.value=A}setScale(A){this.uniforms.scale.value=A}generateKernel(){let A=2.39996323,g=new Float32Array(128),e=new Float32Array(32),I=0,i=0;for(let o=0;o<80;++o){let a=o*A,r=Math.sqrt(o)/Math.sqrt(80),s=r*Math.cos(a),B=r*Math.sin(a);o%5===0?(e[i++]=s,e[i++]=B):(g[I++]=s,g[I++]=B)}let t=[],C=[];for(let o=0;o<128;)t.push(new Ue(g[o++],g[o++],g[o++],g[o++]));for(let o=0;o<32;)C.push(new Ue(e[o++],e[o++],e[o++],e[o++]));this.uniforms.kernel64.value=t,this.uniforms.kernel16.value=C}setTexelSize(A,g){this.uniforms.texelSize.value.set(A,g)}setSize(A,g){this.uniforms.texelSize.value.set(1/A,1/g)}};function Tv(A,g,e){return A*(g-e)-g}function kS(A,g,e){return Math.min(Math.max((A+g)/(g-e),0),1)}var _oA=`#include <common>
#include <packing>
#ifdef GL_FRAGMENT_PRECISION_HIGH
uniform highp sampler2D depthBuffer;
#else
uniform mediump sampler2D depthBuffer;
#endif
uniform float focusDistance;uniform float focusRange;uniform float cameraNear;uniform float cameraFar;varying vec2 vUv;float readDepth(const in vec2 uv){
#if DEPTH_PACKING == 3201
return unpackRGBAToDepth(texture2D(depthBuffer,uv));
#else
return texture2D(depthBuffer,uv).r;
#endif
}void main(){float depth=readDepth(vUv);
#ifdef PERSPECTIVE_CAMERA
float viewZ=perspectiveDepthToViewZ(depth,cameraNear,cameraFar);float linearDepth=viewZToOrthographicDepth(viewZ,cameraNear,cameraFar);
#else
float linearDepth=depth;
#endif
float signedDistance=linearDepth-focusDistance;float magnitude=smoothstep(0.0,focusRange,abs(signedDistance));gl_FragColor.rg=magnitude*vec2(step(signedDistance,0.0),step(0.0,signedDistance));}`,PoA=class extends RI{constructor(A){super({name:"CircleOfConfusionMaterial",defines:{DEPTH_PACKING:"0"},uniforms:{depthBuffer:new hg(null),focusDistance:new hg(0),focusRange:new hg(0),cameraNear:new hg(.3),cameraFar:new hg(1e3)},blending:Ct,depthWrite:!1,depthTest:!1,fragmentShader:_oA,vertexShader:qc}),this.toneMapped=!1,this.uniforms.focalLength=this.uniforms.focusRange,this.adoptCameraSettings(A)}get near(){return this.uniforms.cameraNear.value}get far(){return this.uniforms.cameraFar.value}set depthBuffer(A){this.uniforms.depthBuffer.value=A}set depthPacking(A){this.defines.DEPTH_PACKING=A.toFixed(0),this.needsUpdate=!0}setDepthBuffer(A,g=ds){this.depthBuffer=A,this.depthPacking=g}get focusDistance(){return this.uniforms.focusDistance.value}set focusDistance(A){this.uniforms.focusDistance.value=A}get worldFocusDistance(){return-Tv(this.focusDistance,this.near,this.far)}set worldFocusDistance(A){this.focusDistance=kS(-A,this.near,this.far)}getFocusDistance(A){this.uniforms.focusDistance.value=A}setFocusDistance(A){this.uniforms.focusDistance.value=A}get focalLength(){return this.focusRange}set focalLength(A){this.focusRange=A}get focusRange(){return this.uniforms.focusRange.value}set focusRange(A){this.uniforms.focusRange.value=A}get worldFocusRange(){return-Tv(this.focusRange,this.near,this.far)}set worldFocusRange(A){this.focusRange=kS(-A,this.near,this.far)}getFocalLength(A){return this.focusRange}setFocalLength(A){this.focusRange=A}adoptCameraSettings(A){A&&(this.uniforms.cameraNear.value=A.near,this.uniforms.cameraFar.value=A.far,A instanceof BC?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}},joA=`#include <common>
#include <dithering_pars_fragment>
#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D inputBuffer;
#else
uniform lowp sampler2D inputBuffer;
#endif
varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec4 sum=texture2D(inputBuffer,vUv0);sum+=texture2D(inputBuffer,vUv1);sum+=texture2D(inputBuffer,vUv2);sum+=texture2D(inputBuffer,vUv3);gl_FragColor=sum*0.25;
#include <encodings_fragment>
#include <dithering_fragment>
}`,WoA="uniform vec2 texelSize;uniform vec2 halfTexelSize;uniform float kernel;uniform float scale;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vec2 dUv=(texelSize*vec2(kernel)+halfTexelSize)*scale;vUv0=vec2(uv.x-dUv.x,uv.y+dUv.y);vUv1=vec2(uv.x+dUv.x,uv.y+dUv.y);vUv2=vec2(uv.x+dUv.x,uv.y-dUv.y);vUv3=vec2(uv.x-dUv.x,uv.y-dUv.y);gl_Position=vec4(position.xy,1.0,1.0);}",Ov=class extends RI{constructor(A=new mA){super({name:"KawaseBlurMaterial",uniforms:{inputBuffer:new hg(null),texelSize:new hg(new mA),halfTexelSize:new hg(new mA),kernel:new hg(0),scale:new hg(1)},blending:Ct,depthWrite:!1,depthTest:!1,fragmentShader:joA,vertexShader:WoA}),this.toneMapped=!1,this.setTexelSize(A.x,A.y)}set inputBuffer(A){this.uniforms.inputBuffer.value=A}setInputBuffer(A){this.inputBuffer=A}get scale(){return this.uniforms.scale.value}set scale(A){this.uniforms.scale.value=A}getScale(){return this.uniforms.scale.value}setScale(A){this.uniforms.scale.value=A}getKernel(){return null}get kernel(){return this.uniforms.kernel.value}set kernel(A){this.uniforms.kernel.value=A}setKernel(A){this.kernel=A}setTexelSize(A,g){this.uniforms.texelSize.value.set(A,g),this.uniforms.halfTexelSize.value.set(A,g).multiplyScalar(.5)}setSize(A,g){let e=this.uniforms;e.texelSize.value.set(1/A,1/g),e.halfTexelSize.value.copy(e.texelSize.value).multiplyScalar(.5)}},zoA=`#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D inputBuffer;
#else
uniform lowp sampler2D inputBuffer;
#endif
uniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);gl_FragColor=opacity*texel;
#include <encodings_fragment>
}`,VoA=class extends RI{constructor(){super({name:"CopyMaterial",uniforms:{inputBuffer:new hg(null),opacity:new hg(1)},blending:Ct,depthWrite:!1,depthTest:!1,fragmentShader:zoA,vertexShader:qc}),this.toneMapped=!1}set inputBuffer(A){this.uniforms.inputBuffer.value=A}setInputBuffer(A){this.uniforms.inputBuffer.value=A}getOpacity(A){return this.uniforms.opacity.value}setOpacity(A){this.uniforms.opacity.value=A}},ZoA=`varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;
#if THREE_REVISION < 143
#define luminance(v) linearToRelativeLuminance(v)
#endif
#if EDGE_DETECTION_MODE != 0
varying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;
#endif
#if EDGE_DETECTION_MODE == 1
#include <common>
#endif
#if EDGE_DETECTION_MODE == 0 || PREDICATION_MODE == 1
#ifdef GL_FRAGMENT_PRECISION_HIGH
uniform highp sampler2D depthBuffer;
#else
uniform mediump sampler2D depthBuffer;
#endif
float readDepth(const in vec2 uv){
#if DEPTH_PACKING == 3201
return unpackRGBAToDepth(texture2D(depthBuffer,uv));
#else
return texture2D(depthBuffer,uv).r;
#endif
}vec3 gatherNeighbors(){float p=readDepth(vUv);float pLeft=readDepth(vUv0);float pTop=readDepth(vUv1);return vec3(p,pLeft,pTop);}
#elif PREDICATION_MODE == 2
uniform sampler2D predicationBuffer;vec3 gatherNeighbors(){float p=texture2D(predicationBuffer,vUv).r;float pLeft=texture2D(predicationBuffer,vUv0).r;float pTop=texture2D(predicationBuffer,vUv1).r;return vec3(p,pLeft,pTop);}
#endif
#if PREDICATION_MODE != 0
vec2 calculatePredicatedThreshold(){vec3 neighbours=gatherNeighbors();vec2 delta=abs(neighbours.xx-neighbours.yz);vec2 edges=step(PREDICATION_THRESHOLD,delta);return PREDICATION_SCALE*EDGE_THRESHOLD*(1.0-PREDICATION_STRENGTH*edges);}
#endif
#if EDGE_DETECTION_MODE != 0
uniform sampler2D inputBuffer;
#endif
void main(){
#if EDGE_DETECTION_MODE == 0
const vec2 threshold=vec2(DEPTH_THRESHOLD);
#elif PREDICATION_MODE != 0
vec2 threshold=calculatePredicatedThreshold();
#else
const vec2 threshold=vec2(EDGE_THRESHOLD);
#endif
#if EDGE_DETECTION_MODE == 0
vec3 neighbors=gatherNeighbors();vec2 delta=abs(neighbors.xx-vec2(neighbors.y,neighbors.z));vec2 edges=step(threshold,delta);if(dot(edges,vec2(1.0))==0.0){discard;}gl_FragColor=vec4(edges,0.0,1.0);
#elif EDGE_DETECTION_MODE == 1
float l=luminance(texture2D(inputBuffer,vUv).rgb);float lLeft=luminance(texture2D(inputBuffer,vUv0).rgb);float lTop=luminance(texture2D(inputBuffer,vUv1).rgb);vec4 delta;delta.xy=abs(l-vec2(lLeft,lTop));vec2 edges=step(threshold,delta.xy);if(dot(edges,vec2(1.0))==0.0){discard;}float lRight=luminance(texture2D(inputBuffer,vUv2).rgb);float lBottom=luminance(texture2D(inputBuffer,vUv3).rgb);delta.zw=abs(l-vec2(lRight,lBottom));vec2 maxDelta=max(delta.xy,delta.zw);float lLeftLeft=luminance(texture2D(inputBuffer,vUv4).rgb);float lTopTop=luminance(texture2D(inputBuffer,vUv5).rgb);delta.zw=abs(vec2(lLeft,lTop)-vec2(lLeftLeft,lTopTop));maxDelta=max(maxDelta.xy,delta.zw);float finalDelta=max(maxDelta.x,maxDelta.y);edges.xy*=step(finalDelta,LOCAL_CONTRAST_ADAPTATION_FACTOR*delta.xy);gl_FragColor=vec4(edges,0.0,1.0);
#elif EDGE_DETECTION_MODE == 2
vec4 delta;vec3 c=texture2D(inputBuffer,vUv).rgb;vec3 cLeft=texture2D(inputBuffer,vUv0).rgb;vec3 t=abs(c-cLeft);delta.x=max(max(t.r,t.g),t.b);vec3 cTop=texture2D(inputBuffer,vUv1).rgb;t=abs(c-cTop);delta.y=max(max(t.r,t.g),t.b);vec2 edges=step(threshold,delta.xy);if(dot(edges,vec2(1.0))==0.0){discard;}vec3 cRight=texture2D(inputBuffer,vUv2).rgb;t=abs(c-cRight);delta.z=max(max(t.r,t.g),t.b);vec3 cBottom=texture2D(inputBuffer,vUv3).rgb;t=abs(c-cBottom);delta.w=max(max(t.r,t.g),t.b);vec2 maxDelta=max(delta.xy,delta.zw);vec3 cLeftLeft=texture2D(inputBuffer,vUv4).rgb;t=abs(c-cLeftLeft);delta.z=max(max(t.r,t.g),t.b);vec3 cTopTop=texture2D(inputBuffer,vUv5).rgb;t=abs(c-cTopTop);delta.w=max(max(t.r,t.g),t.b);maxDelta=max(maxDelta.xy,delta.zw);float finalDelta=max(maxDelta.x,maxDelta.y);edges*=step(finalDelta,LOCAL_CONTRAST_ADAPTATION_FACTOR*delta.xy);gl_FragColor=vec4(edges,0.0,1.0);
#endif
}`,XoA=`uniform vec2 texelSize;varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;
#if EDGE_DETECTION_MODE != 0
varying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;
#endif
void main(){vUv=position.xy*0.5+0.5;vUv0=vUv+texelSize*vec2(-1.0,0.0);vUv1=vUv+texelSize*vec2(0.0,-1.0);
#if EDGE_DETECTION_MODE != 0
vUv2=vUv+texelSize*vec2(1.0,0.0);vUv3=vUv+texelSize*vec2(0.0,1.0);vUv4=vUv+texelSize*vec2(-2.0,0.0);vUv5=vUv+texelSize*vec2(0.0,-2.0);
#endif
gl_Position=vec4(position.xy,1.0,1.0);}`,Hp={DEPTH:0,LUMA:1,COLOR:2},$oA={DISABLED:0,DEPTH:1,CUSTOM:2},AaA=class extends RI{constructor(A=new mA,g=Hp.COLOR){super({name:"EdgeDetectionMaterial",defines:{THREE_REVISION:OE.replace(/\D+/g,""),LOCAL_CONTRAST_ADAPTATION_FACTOR:"2.0",EDGE_THRESHOLD:"0.1",DEPTH_THRESHOLD:"0.01",PREDICATION_MODE:"0",PREDICATION_THRESHOLD:"0.01",PREDICATION_SCALE:"2.0",PREDICATION_STRENGTH:"1.0",DEPTH_PACKING:"0"},uniforms:{inputBuffer:new hg(null),depthBuffer:new hg(null),predicationBuffer:new hg(null),texelSize:new hg(A)},blending:Ct,depthWrite:!1,depthTest:!1,fragmentShader:ZoA,vertexShader:XoA}),this.toneMapped=!1,this.edgeDetectionMode=g}set depthBuffer(A){this.uniforms.depthBuffer.value=A}set depthPacking(A){this.defines.DEPTH_PACKING=A.toFixed(0),this.needsUpdate=!0}setDepthBuffer(A,g=ds){this.depthBuffer=A,this.depthPacking=g}get edgeDetectionMode(){return Number(this.defines.EDGE_DETECTION_MODE)}set edgeDetectionMode(A){this.defines.EDGE_DETECTION_MODE=A.toFixed(0),this.needsUpdate=!0}getEdgeDetectionMode(){return this.edgeDetectionMode}setEdgeDetectionMode(A){this.edgeDetectionMode=A}get localContrastAdaptationFactor(){return Number(this.defines.LOCAL_CONTRAST_ADAPTATION_FACTOR)}set localContrastAdaptationFactor(A){this.defines.LOCAL_CONTRAST_ADAPTATION_FACTOR=A.toFixed("6"),this.needsUpdate=!0}getLocalContrastAdaptationFactor(){return this.localContrastAdaptationFactor}setLocalContrastAdaptationFactor(A){this.localContrastAdaptationFactor=A}get edgeDetectionThreshold(){return Number(this.defines.EDGE_THRESHOLD)}set edgeDetectionThreshold(A){this.defines.EDGE_THRESHOLD=A.toFixed("6"),this.defines.DEPTH_THRESHOLD=(A*.1).toFixed("6"),this.needsUpdate=!0}getEdgeDetectionThreshold(){return this.edgeDetectionThreshold}setEdgeDetectionThreshold(A){this.edgeDetectionThreshold=A}get predicationMode(){return Number(this.defines.PREDICATION_MODE)}set predicationMode(A){this.defines.PREDICATION_MODE=A.toFixed(0),this.needsUpdate=!0}getPredicationMode(){return this.predicationMode}setPredicationMode(A){this.predicationMode=A}set predicationBuffer(A){this.uniforms.predicationBuffer.value=A}setPredicationBuffer(A){this.uniforms.predicationBuffer.value=A}get predicationThreshold(){return Number(this.defines.PREDICATION_THRESHOLD)}set predicationThreshold(A){this.defines.PREDICATION_THRESHOLD=A.toFixed("6"),this.needsUpdate=!0}getPredicationThreshold(){return this.predicationThreshold}setPredicationThreshold(A){this.predicationThreshold=A}get predicationScale(){return Number(this.defines.PREDICATION_SCALE)}set predicationScale(A){this.defines.PREDICATION_SCALE=A.toFixed("6"),this.needsUpdate=!0}getPredicationScale(){return this.predicationScale}setPredicationScale(A){this.predicationScale=A}get predicationStrength(){return Number(this.defines.PREDICATION_STRENGTH)}set predicationStrength(A){this.defines.PREDICATION_STRENGTH=A.toFixed("6"),this.needsUpdate=!0}getPredicationStrength(){return this.predicationStrength}setPredicationStrength(A){this.predicationStrength=A}setSize(A,g){this.uniforms.texelSize.value.set(1/A,1/g)}},gaA=`#include <common>
#include <packing>
#include <dithering_pars_fragment>
#define packFloatToRGBA(v) packDepthToRGBA(v)
#define unpackRGBAToFloat(v) unpackRGBAToDepth(v)
#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D inputBuffer;
#else
uniform lowp sampler2D inputBuffer;
#endif
#ifdef GL_FRAGMENT_PRECISION_HIGH
uniform highp sampler2D depthBuffer;
#else
uniform mediump sampler2D depthBuffer;
#endif
uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;
#if THREE_REVISION < 143
#define luminance(v) linearToRelativeLuminance(v)
#endif
#if THREE_REVISION >= 137
vec4 sRGBToLinear(const in vec4 value){return vec4(mix(pow(value.rgb*0.9478672986+vec3(0.0521327014),vec3(2.4)),value.rgb*0.0773993808,vec3(lessThanEqual(value.rgb,vec3(0.04045)))),value.a);}
#endif
float readDepth(const in vec2 uv){
#if DEPTH_PACKING == 3201
return unpackRGBAToDepth(texture2D(depthBuffer,uv));
#else
return texture2D(depthBuffer,uv).r;
#endif
}float getViewZ(const in float depth){
#ifdef PERSPECTIVE_CAMERA
return perspectiveDepthToViewZ(depth,cameraNear,cameraFar);
#else
return orthographicDepthToViewZ(depth,cameraNear,cameraFar);
#endif
}FRAGMENT_HEADvoid main(){FRAGMENT_MAIN_UVvec4 color0=texture2D(inputBuffer,UV);vec4 color1=vec4(0.0);FRAGMENT_MAIN_IMAGEgl_FragColor=color0;
#ifdef ENCODE_OUTPUT
#include <encodings_fragment>
#endif
#include <dithering_fragment>
}`,eaA="uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;VERTEX_HEADvoid main(){vUv=position.xy*0.5+0.5;VERTEX_MAIN_SUPPORTgl_Position=vec4(position.xy,1.0,1.0);}",Ia={FRAGMENT_HEAD:"FRAGMENT_HEAD",FRAGMENT_MAIN_UV:"FRAGMENT_MAIN_UV",FRAGMENT_MAIN_IMAGE:"FRAGMENT_MAIN_IMAGE",VERTEX_HEAD:"VERTEX_HEAD",VERTEX_MAIN_SUPPORT:"VERTEX_MAIN_SUPPORT"},US=class extends RI{constructor(A,g,e,I,i=!1){super({name:"EffectMaterial",defines:{THREE_REVISION:OE.replace(/\D+/g,""),DEPTH_PACKING:"0",ENCODE_OUTPUT:"1"},uniforms:{inputBuffer:new hg(null),depthBuffer:new hg(null),resolution:new hg(new mA),texelSize:new hg(new mA),cameraNear:new hg(.3),cameraFar:new hg(1e3),aspect:new hg(1),time:new hg(0)},blending:Ct,depthWrite:!1,depthTest:!1,dithering:i}),this.toneMapped=!1,A&&this.setShaderParts(A),g&&this.setDefines(g),e&&this.setUniforms(e),this.adoptCameraSettings(I)}set inputBuffer(A){this.uniforms.inputBuffer.value=A}setInputBuffer(A){this.uniforms.inputBuffer.value=A}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(A){this.uniforms.depthBuffer.value=A}get depthPacking(){return Number(this.defines.DEPTH_PACKING)}set depthPacking(A){this.defines.DEPTH_PACKING=A.toFixed(0),this.needsUpdate=!0}setDepthBuffer(A,g=ds){this.depthBuffer=A,this.depthPacking=g}setShaderParts(A){return this.fragmentShader=gaA.replace(Ia.FRAGMENT_HEAD,A.get(Ia.FRAGMENT_HEAD)).replace(Ia.FRAGMENT_MAIN_UV,A.get(Ia.FRAGMENT_MAIN_UV)).replace(Ia.FRAGMENT_MAIN_IMAGE,A.get(Ia.FRAGMENT_MAIN_IMAGE)),this.vertexShader=eaA.replace(Ia.VERTEX_HEAD,A.get(Ia.VERTEX_HEAD)).replace(Ia.VERTEX_MAIN_SUPPORT,A.get(Ia.VERTEX_MAIN_SUPPORT)),this.needsUpdate=!0,this}setDefines(A){for(let g of A.entries())this.defines[g[0]]=g[1];return this.needsUpdate=!0,this}setUniforms(A){for(let g of A.entries())this.uniforms[g[0]]=g[1];return this}setExtensions(A){this.extensions={};for(let g of A)this.extensions[g]=!0;return this}get encodeOutput(){return this.defines.ENCODE_OUTPUT!==void 0}set encodeOutput(A){this.encodeOutput!==A&&(A?this.defines.ENCODE_OUTPUT="1":delete this.defines.ENCODE_OUTPUT,this.needsUpdate=!0)}isOutputEncodingEnabled(A){return this.encodeOutput}setOutputEncodingEnabled(A){this.encodeOutput=A}get time(){return this.uniforms.time.value}set time(A){this.uniforms.time.value=A}setDeltaTime(A){this.uniforms.time.value+=A}adoptCameraSettings(A){A&&(this.uniforms.cameraNear.value=A.near,this.uniforms.cameraFar.value=A.far,A instanceof BC?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(A,g){let e=this.uniforms;e.resolution.value.set(A,g),e.texelSize.value.set(1/A,1/g),e.aspect.value=A/g}static get Section(){return Ia}},IaA=`#include <common>
#if THREE_REVISION < 143
#define luminance(v) linearToRelativeLuminance(v)
#endif
#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D inputBuffer;
#else
uniform lowp sampler2D inputBuffer;
#endif
#ifdef RANGE
uniform vec2 range;
#elif defined(THRESHOLD)
uniform float threshold;uniform float smoothing;
#endif
varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);float l=luminance(texel.rgb);
#ifdef RANGE
float low=step(range.x,l);float high=step(l,range.y);l*=low*high;
#elif defined(THRESHOLD)
l=smoothstep(threshold,threshold+smoothing,l);
#endif
#ifdef COLOR
gl_FragColor=vec4(texel.rgb*l,l);
#else
gl_FragColor=vec4(l);
#endif
}`,iaA=class extends RI{constructor(A=!1,g=null){super({name:"LuminanceMaterial",defines:{THREE_REVISION:OE.replace(/\D+/g,"")},uniforms:{inputBuffer:new hg(null),threshold:new hg(0),smoothing:new hg(1),range:new hg(null)},blending:Ct,depthWrite:!1,depthTest:!1,fragmentShader:IaA,vertexShader:qc}),this.toneMapped=!1,this.colorOutput=A,this.luminanceRange=g}set inputBuffer(A){this.uniforms.inputBuffer.value=A}setInputBuffer(A){this.uniforms.inputBuffer.value=A}get threshold(){return this.uniforms.threshold.value}set threshold(A){this.smoothing>0||A>0?this.defines.THRESHOLD="1":delete this.defines.THRESHOLD,this.uniforms.threshold.value=A}getThreshold(){return this.threshold}setThreshold(A){this.threshold=A}get smoothing(){return this.uniforms.smoothing.value}set smoothing(A){this.threshold>0||A>0?this.defines.THRESHOLD="1":delete this.defines.THRESHOLD,this.uniforms.smoothing.value=A}getSmoothingFactor(){return this.smoothing}setSmoothingFactor(A){this.smoothing=A}get useThreshold(){return this.threshold>0||this.smoothing>0}set useThreshold(A){}get colorOutput(){return this.defines.COLOR!==void 0}set colorOutput(A){A?this.defines.COLOR="1":delete this.defines.COLOR,this.needsUpdate=!0}isColorOutputEnabled(A){return this.colorOutput}setColorOutputEnabled(A){this.colorOutput=A}get useRange(){return this.luminanceRange!==null}set useRange(A){this.luminanceRange=null}get luminanceRange(){return this.uniforms.range.value}set luminanceRange(A){A!==null?this.defines.RANGE="1":delete this.defines.RANGE,this.uniforms.range.value=A,this.needsUpdate=!0}getLuminanceRange(){return this.luminanceRange}setLuminanceRange(A){this.luminanceRange=A}},taA=`#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D inputBuffer;
#else
uniform lowp sampler2D inputBuffer;
#endif
#ifdef MASK_PRECISION_HIGH
uniform mediump sampler2D maskTexture;
#else
uniform lowp sampler2D maskTexture;
#endif
#if MASK_FUNCTION != 0
uniform float strength;
#endif
varying vec2 vUv;void main(){
#if COLOR_CHANNEL == 0
float mask=texture2D(maskTexture,vUv).r;
#elif COLOR_CHANNEL == 1
float mask=texture2D(maskTexture,vUv).g;
#elif COLOR_CHANNEL == 2
float mask=texture2D(maskTexture,vUv).b;
#else
float mask=texture2D(maskTexture,vUv).a;
#endif
#if MASK_FUNCTION == 0
#ifdef INVERTED
mask=step(mask,0.0);
#else
mask=1.0-step(mask,0.0);
#endif
#else
mask=clamp(mask*strength,0.0,1.0);
#ifdef INVERTED
mask=1.0-mask;
#endif
#endif
#if MASK_FUNCTION == 2
gl_FragColor=vec4(mask*texture2D(inputBuffer,vUv).rgb,mask);
#else
gl_FragColor=mask*texture2D(inputBuffer,vUv);
#endif
}`,A2={DISCARD:0,MULTIPLY:1,MULTIPLY_RGB_SET_ALPHA:2},CaA=class extends RI{constructor(A=null){super({name:"MaskMaterial",uniforms:{maskTexture:new hg(A),inputBuffer:new hg(null),strength:new hg(1)},blending:Ct,depthWrite:!1,depthTest:!1,fragmentShader:taA,vertexShader:qc}),this.toneMapped=!1,this.setColorChannel($L.RED),this.setMaskFunction(A2.DISCARD)}set inputBuffer(A){this.uniforms.inputBuffer.value=A}setInputBuffer(A){this.uniforms.inputBuffer.value=A}set maskTexture(A){this.uniforms.maskTexture.value=A,delete this.defines.MASK_PRECISION_HIGH,A.type!==cC&&(this.defines.MASK_PRECISION_HIGH="1"),this.needsUpdate=!0}setMaskTexture(A){this.maskTexture=A}set colorChannel(A){this.defines.COLOR_CHANNEL=A.toFixed(0),this.needsUpdate=!0}setColorChannel(A){this.colorChannel=A}set maskFunction(A){this.defines.MASK_FUNCTION=A.toFixed(0),this.needsUpdate=!0}setMaskFunction(A){this.maskFunction=A}get inverted(){return this.defines.INVERTED!==void 0}set inverted(A){this.inverted&&!A?delete this.defines.INVERTED:A&&(this.defines.INVERTED="1"),this.needsUpdate=!0}isInverted(){return this.inverted}setInverted(A){this.inverted=A}get strength(){return this.uniforms.strength.value}set strength(A){this.uniforms.strength.value=A}getStrength(){return this.strength}setStrength(A){this.strength=A}},oaA=`#define sampleLevelZeroOffset(t, coord, offset) texture2D(t, coord + offset * texelSize)
#if __VERSION__ < 300
#define round(v) floor(v + 0.5)
#endif
#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D inputBuffer;
#else
uniform lowp sampler2D inputBuffer;
#endif
uniform lowp sampler2D areaTexture;uniform lowp sampler2D searchTexture;uniform vec2 texelSize;uniform vec2 resolution;varying vec2 vUv;varying vec4 vOffset[3];varying vec2 vPixCoord;void movec(const in bvec2 c,inout vec2 variable,const in vec2 value){if(c.x){variable.x=value.x;}if(c.y){variable.y=value.y;}}void movec(const in bvec4 c,inout vec4 variable,const in vec4 value){movec(c.xy,variable.xy,value.xy);movec(c.zw,variable.zw,value.zw);}vec2 decodeDiagBilinearAccess(in vec2 e){e.r=e.r*abs(5.0*e.r-5.0*0.75);return round(e);}vec4 decodeDiagBilinearAccess(in vec4 e){e.rb=e.rb*abs(5.0*e.rb-5.0*0.75);return round(e);}vec2 searchDiag1(const in vec2 texCoord,const in vec2 dir,out vec2 e){vec4 coord=vec4(texCoord,-1.0,1.0);vec3 t=vec3(texelSize,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(coord.z<float(MAX_SEARCH_STEPS_DIAG_INT-1)&&coord.w>0.9)){break;}coord.xyz=t*vec3(dir,1.0)+coord.xyz;e=texture2D(inputBuffer,coord.xy).rg;coord.w=dot(e,vec2(0.5));}return coord.zw;}vec2 searchDiag2(const in vec2 texCoord,const in vec2 dir,out vec2 e){vec4 coord=vec4(texCoord,-1.0,1.0);coord.x+=0.25*texelSize.x;vec3 t=vec3(texelSize,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(coord.z<float(MAX_SEARCH_STEPS_DIAG_INT-1)&&coord.w>0.9)){break;}coord.xyz=t*vec3(dir,1.0)+coord.xyz;e=texture2D(inputBuffer,coord.xy).rg;e=decodeDiagBilinearAccess(e);coord.w=dot(e,vec2(0.5));}return coord.zw;}vec2 areaDiag(const in vec2 dist,const in vec2 e,const in float offset){vec2 texCoord=vec2(AREATEX_MAX_DISTANCE_DIAG,AREATEX_MAX_DISTANCE_DIAG)*e+dist;texCoord=AREATEX_PIXEL_SIZE*texCoord+0.5*AREATEX_PIXEL_SIZE;texCoord.x+=0.5;texCoord.y+=AREATEX_SUBTEX_SIZE*offset;return texture2D(areaTexture,texCoord).rg;}vec2 calculateDiagWeights(const in vec2 texCoord,const in vec2 e,const in vec4 subsampleIndices){vec2 weights=vec2(0.0);vec4 d;vec2 end;if(e.r>0.0){d.xz=searchDiag1(texCoord,vec2(-1.0,1.0),end);d.x+=float(end.y>0.9);}else{d.xz=vec2(0.0);}d.yw=searchDiag1(texCoord,vec2(1.0,-1.0),end);if(d.x+d.y>2.0){vec4 coords=vec4(-d.x+0.25,d.x,d.y,-d.y-0.25)*texelSize.xyxy+texCoord.xyxy;vec4 c;c.xy=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(-1,0)).rg;c.zw=sampleLevelZeroOffset(inputBuffer,coords.zw,vec2(1,0)).rg;c.yxwz=decodeDiagBilinearAccess(c.xyzw);vec2 cc=vec2(2.0)*c.xz+c.yw;movec(bvec2(step(0.9,d.zw)),cc,vec2(0.0));weights+=areaDiag(d.xy,cc,subsampleIndices.z);}d.xz=searchDiag2(texCoord,vec2(-1.0,-1.0),end);if(sampleLevelZeroOffset(inputBuffer,texCoord,vec2(1,0)).r>0.0){d.yw=searchDiag2(texCoord,vec2(1.0),end);d.y+=float(end.y>0.9);}else{d.yw=vec2(0.0);}if(d.x+d.y>2.0){vec4 coords=vec4(-d.x,-d.x,d.y,d.y)*texelSize.xyxy+texCoord.xyxy;vec4 c;c.x=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(-1,0)).g;c.y=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(0,-1)).r;c.zw=sampleLevelZeroOffset(inputBuffer,coords.zw,vec2(1,0)).gr;vec2 cc=vec2(2.0)*c.xz+c.yw;movec(bvec2(step(0.9,d.zw)),cc,vec2(0.0));weights+=areaDiag(d.xy,cc,subsampleIndices.w).gr;}return weights;}float searchLength(const in vec2 e,const in float offset){vec2 scale=SEARCHTEX_SIZE*vec2(0.5,-1.0);vec2 bias=SEARCHTEX_SIZE*vec2(offset,1.0);scale+=vec2(-1.0,1.0);bias+=vec2(0.5,-0.5);scale*=1.0/SEARCHTEX_PACKED_SIZE;bias*=1.0/SEARCHTEX_PACKED_SIZE;return texture2D(searchTexture,scale*e+bias).r;}float searchXLeft(in vec2 texCoord,const in float end){vec2 e=vec2(0.0,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.x>end&&e.g>0.8281&&e.r==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(-2.0,0.0)*texelSize+texCoord;}float offset=-(255.0/127.0)*searchLength(e,0.0)+3.25;return texelSize.x*offset+texCoord.x;}float searchXRight(vec2 texCoord,const in float end){vec2 e=vec2(0.0,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.x<end&&e.g>0.8281&&e.r==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(2.0,0.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e,0.5)+3.25;return-texelSize.x*offset+texCoord.x;}float searchYUp(vec2 texCoord,const in float end){vec2 e=vec2(1.0,0.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.y>end&&e.r>0.8281&&e.g==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=-vec2(0.0,2.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e.gr,0.0)+3.25;return texelSize.y*offset+texCoord.y;}float searchYDown(vec2 texCoord,const in float end){vec2 e=vec2(1.0,0.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;i++){if(!(texCoord.y<end&&e.r>0.8281&&e.g==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(0.0,2.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e.gr,0.5)+3.25;return-texelSize.y*offset+texCoord.y;}vec2 area(const in vec2 dist,const in float e1,const in float e2,const in float offset){vec2 texCoord=vec2(AREATEX_MAX_DISTANCE)*round(4.0*vec2(e1,e2))+dist;texCoord=AREATEX_PIXEL_SIZE*texCoord+0.5*AREATEX_PIXEL_SIZE;texCoord.y=AREATEX_SUBTEX_SIZE*offset+texCoord.y;return texture2D(areaTexture,texCoord).rg;}void detectHorizontalCornerPattern(inout vec2 weights,const in vec4 texCoord,const in vec2 d){
#if !defined(DISABLE_CORNER_DETECTION)
vec2 leftRight=step(d.xy,d.yx);vec2 rounding=(1.0-CORNER_ROUNDING_NORM)*leftRight;rounding/=leftRight.x+leftRight.y;vec2 factor=vec2(1.0);factor.x-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(0,1)).r;factor.x-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,1)).r;factor.y-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(0,-2)).r;factor.y-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,-2)).r;weights*=clamp(factor,0.0,1.0);
#endif
}void detectVerticalCornerPattern(inout vec2 weights,const in vec4 texCoord,const in vec2 d){
#if !defined(DISABLE_CORNER_DETECTION)
vec2 leftRight=step(d.xy,d.yx);vec2 rounding=(1.0-CORNER_ROUNDING_NORM)*leftRight;rounding/=leftRight.x+leftRight.y;vec2 factor=vec2(1.0);factor.x-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(1,0)).g;factor.x-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,1)).g;factor.y-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(-2,0)).g;factor.y-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(-2,1)).g;weights*=clamp(factor,0.0,1.0);
#endif
}void main(){vec4 weights=vec4(0.0);vec4 subsampleIndices=vec4(0.0);vec2 e=texture2D(inputBuffer,vUv).rg;if(e.g>0.0){
#if !defined(DISABLE_DIAG_DETECTION)
weights.rg=calculateDiagWeights(vUv,e,subsampleIndices);if(weights.r==-weights.g){
#endif
vec2 d;vec3 coords;coords.x=searchXLeft(vOffset[0].xy,vOffset[2].x);coords.y=vOffset[1].y;d.x=coords.x;float e1=texture2D(inputBuffer,coords.xy).r;coords.z=searchXRight(vOffset[0].zw,vOffset[2].y);d.y=coords.z;d=round(resolution.xx*d+-vPixCoord.xx);vec2 sqrtD=sqrt(abs(d));float e2=sampleLevelZeroOffset(inputBuffer,coords.zy,vec2(1,0)).r;weights.rg=area(sqrtD,e1,e2,subsampleIndices.y);coords.y=vUv.y;detectHorizontalCornerPattern(weights.rg,coords.xyzy,d);
#if !defined(DISABLE_DIAG_DETECTION)
}else{e.r=0.0;}
#endif
}if(e.r>0.0){vec2 d;vec3 coords;coords.y=searchYUp(vOffset[1].xy,vOffset[2].z);coords.x=vOffset[0].x;d.x=coords.y;float e1=texture2D(inputBuffer,coords.xy).g;coords.z=searchYDown(vOffset[1].zw,vOffset[2].w);d.y=coords.z;d=round(resolution.yy*d-vPixCoord.yy);vec2 sqrtD=sqrt(abs(d));float e2=sampleLevelZeroOffset(inputBuffer,coords.xz,vec2(0,1)).g;weights.ba=area(sqrtD,e1,e2,subsampleIndices.x);coords.x=vUv.x;detectVerticalCornerPattern(weights.ba,coords.xyxz,d);}gl_FragColor=weights;}`,aaA="uniform vec2 texelSize;uniform vec2 resolution;varying vec2 vUv;varying vec4 vOffset[3];varying vec2 vPixCoord;void main(){vUv=position.xy*0.5+0.5;vPixCoord=vUv*resolution;vOffset[0]=vUv.xyxy+texelSize.xyxy*vec4(-0.25,-0.125,1.25,-0.125);vOffset[1]=vUv.xyxy+texelSize.xyxy*vec4(-0.125,-0.25,-0.125,1.25);vOffset[2]=vec4(vOffset[0].xz,vOffset[1].yw)+vec4(-2.0,2.0,-2.0,2.0)*texelSize.xxyy*MAX_SEARCH_STEPS_FLOAT;gl_Position=vec4(position.xy,1.0,1.0);}",raA=class extends RI{constructor(A=new mA,g=new mA){super({name:"SMAAWeightsMaterial",defines:{MAX_SEARCH_STEPS_INT:"16",MAX_SEARCH_STEPS_FLOAT:"16.0",MAX_SEARCH_STEPS_DIAG_INT:"8",MAX_SEARCH_STEPS_DIAG_FLOAT:"8.0",CORNER_ROUNDING:"25",CORNER_ROUNDING_NORM:"0.25",AREATEX_MAX_DISTANCE:"16.0",AREATEX_MAX_DISTANCE_DIAG:"20.0",AREATEX_PIXEL_SIZE:"(1.0 / vec2(160.0, 560.0))",AREATEX_SUBTEX_SIZE:"(1.0 / 7.0)",SEARCHTEX_SIZE:"vec2(66.0, 33.0)",SEARCHTEX_PACKED_SIZE:"vec2(64.0, 16.0)"},uniforms:{inputBuffer:new hg(null),searchTexture:new hg(null),areaTexture:new hg(null),resolution:new hg(g),texelSize:new hg(A)},blending:Ct,depthWrite:!1,depthTest:!1,fragmentShader:oaA,vertexShader:aaA}),this.toneMapped=!1}set inputBuffer(A){this.uniforms.inputBuffer.value=A}setInputBuffer(A){this.uniforms.inputBuffer.value=A}get searchTexture(){return this.uniforms.searchTexture.value}set searchTexture(A){this.uniforms.searchTexture.value=A}get areaTexture(){return this.uniforms.areaTexture.value}set areaTexture(A){this.uniforms.areaTexture.value=A}setLookupTextures(A,g){this.searchTexture=A,this.areaTexture=g}get orthogonalSearchSteps(){return Number(this.defines.MAX_SEARCH_STEPS_INT)}set orthogonalSearchSteps(A){let g=Math.min(Math.max(A,0),112);this.defines.MAX_SEARCH_STEPS_INT=g.toFixed("0"),this.defines.MAX_SEARCH_STEPS_FLOAT=g.toFixed("1"),this.needsUpdate=!0}setOrthogonalSearchSteps(A){this.orthogonalSearchSteps=A}get diagonalSearchSteps(){return Number(this.defines.MAX_SEARCH_STEPS_DIAG_INT)}set diagonalSearchSteps(A){let g=Math.min(Math.max(A,0),20);this.defines.MAX_SEARCH_STEPS_DIAG_INT=g.toFixed("0"),this.defines.MAX_SEARCH_STEPS_DIAG_FLOAT=g.toFixed("1"),this.needsUpdate=!0}setDiagonalSearchSteps(A){this.diagonalSearchSteps=A}get diagonalDetection(){return this.defines.DISABLE_DIAG_DETECTION===void 0}set diagonalDetection(A){A?delete this.defines.DISABLE_DIAG_DETECTION:this.defines.DISABLE_DIAG_DETECTION="1",this.needsUpdate=!0}isDiagonalDetectionEnabled(){return this.diagonalDetection}setDiagonalDetectionEnabled(A){this.diagonalDetection=A}get cornerRounding(){return Number(this.defines.CORNER_ROUNDING)}set cornerRounding(A){let g=Math.min(Math.max(A,0),100);this.defines.CORNER_ROUNDING=g.toFixed("4"),this.defines.CORNER_ROUNDING_NORM=(g/100).toFixed("4"),this.needsUpdate=!0}setCornerRounding(A){this.cornerRounding=A}get cornerDetection(){return this.defines.DISABLE_CORNER_DETECTION===void 0}set cornerDetection(A){A?delete this.defines.DISABLE_CORNER_DETECTION:this.defines.DISABLE_CORNER_DETECTION="1",this.needsUpdate=!0}isCornerRoundingEnabled(){return this.cornerDetection}setCornerRoundingEnabled(A){this.cornerDetection=A}setSize(A,g){let e=this.uniforms;e.texelSize.value.set(1/A,1/g),e.resolution.value.set(A,g)}},saA=new FQ,zs=null;function BaA(){if(zs===null){let A=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),g=new Float32Array([0,0,2,0,0,2]);zs=new se,zs.setAttribute!==void 0?(zs.setAttribute("position",new Se(A,3)),zs.setAttribute("uv",new Se(g,2))):(zs.addAttribute("position",new Se(A,3)),zs.addAttribute("uv",new Se(g,2)))}return zs}var KC=class{constructor(A="Pass",g=new rs,e=saA){this.name=A,this.renderer=null,this.scene=g,this.camera=e,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(A){if(this.rtt===A){let g=this.getFullscreenMaterial();g!==null&&(g.needsUpdate=!0),this.rtt=!A}}setRenderer(A){this.renderer=A}isEnabled(){return this.enabled}setEnabled(A){this.enabled=A}get fullscreenMaterial(){return this.screen!==null?this.screen.material:null}set fullscreenMaterial(A){let g=this.screen;g!==null?g.material=A:(g=new Oi(BaA(),A),g.frustumCulled=!1,this.scene===null&&(this.scene=new rs),this.scene.add(g),this.screen=g)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(A){this.fullscreenMaterial=A}getDepthTexture(){return null}setDepthTexture(A,g=ds){}render(A,g,e,I,i){throw new Error("Render method not implemented!")}setSize(A,g){}initialize(A,g,e){}dispose(){for(let A of Object.keys(this)){let g=this[A];if(g!==null&&typeof g=="object"&&typeof g.dispose=="function"){if(g instanceof rs||g===this.renderer)continue;this[A].dispose()}}}},NS=class extends KC{constructor(A,g=!0){super("CopyPass"),this.fullscreenMaterial=new VoA,this.needsSwap=!1,this.renderTarget=A,A===void 0&&(this.renderTarget=new FI(1,1,{minFilter:Ve,magFilter:Ve,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="CopyPass.Target"),this.autoResize=g}get resize(){return this.autoResize}set resize(A){this.autoResize=A}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}setAutoResizeEnabled(A){this.autoResize=A}render(A,g,e,I,i){this.fullscreenMaterial.inputBuffer=g.texture,A.setRenderTarget(this.renderToScreen?null:this.renderTarget),A.render(this.scene,this.camera)}setSize(A,g){this.autoResize&&this.renderTarget.setSize(A,g)}initialize(A,g,e){e!==void 0&&(this.renderTarget.texture.type=e,e!==cC?this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1":A.outputEncoding===je&&(this.renderTarget.texture.encoding=je))}},QaA=class extends KC{constructor(){super("ClearMaskPass",null,null),this.needsSwap=!1}render(A,g,e,I,i){let t=A.state.buffers.stencil;t.setLocked(!1),t.setTest(!1)}},u0=new de,sm=class extends KC{constructor(A=!0,g=!0,e=!1){super("ClearPass",null,null),this.needsSwap=!1,this.color=A,this.depth=g,this.stencil=e,this.overrideClearColor=null,this.overrideClearAlpha=-1}setClearFlags(A,g,e){this.color=A,this.depth=g,this.stencil=e}getOverrideClearColor(){return this.overrideClearColor}setOverrideClearColor(A){this.overrideClearColor=A}getOverrideClearAlpha(){return this.overrideClearAlpha}setOverrideClearAlpha(A){this.overrideClearAlpha=A}render(A,g,e,I,i){let t=this.overrideClearColor,C=this.overrideClearAlpha,o=A.getClearAlpha(),a=t!==null,r=C>=0;a?(u0.copy(A.getClearColor(u0)),A.setClearColor(t,r?C:o)):r&&A.setClearAlpha(C),A.setRenderTarget(this.renderToScreen?null:g),A.clear(this.color,this.depth,this.stencil),a?A.setClearColor(u0,o):r&&A.setClearAlpha(o)}},Vs=-1,zC=class extends tC{constructor(A,g=Vs,e=Vs,I=1){super(),this.resizable=A,this.base=new mA(1,1),this.preferred=new mA(g,e),this.target=this.preferred,this.s=I}get width(){let{base:A,preferred:g,scale:e}=this,I;return g.width!==Vs?I=g.width:g.height!==Vs?I=Math.round(g.height*(A.width/Math.max(A.height,1))):I=Math.round(A.width*e),I}set width(A){this.preferredWidth=A}get height(){let{base:A,preferred:g,scale:e}=this,I;return g.height!==Vs?I=g.height:g.width!==Vs?I=Math.round(g.width/Math.max(A.width/Math.max(A.height,1),1)):I=Math.round(A.height*e),I}set height(A){this.preferredHeight=A}getWidth(){return this.width}getHeight(){return this.height}get scale(){return this.s}set scale(A){this.s!==A&&(this.s=A,this.preferred.setScalar(Vs),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getScale(){return this.scale}setScale(A){this.scale=A}get baseWidth(){return this.base.width}set baseWidth(A){this.base.width!==A&&(this.base.width=A,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getBaseWidth(){return this.base.width}setBaseWidth(A){this.base.width!==A&&(this.base.width=A,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}get baseHeight(){return this.base.height}set baseHeight(A){this.base.height!==A&&(this.base.height=A,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getBaseHeight(){return this.baseHeight}setBaseHeight(A){this.baseHeight=A}setBaseSize(A,g){(this.base.width!==A||this.base.height!==g)&&(this.base.set(A,g),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}get preferredWidth(){return this.preferred.width}set preferredWidth(A){this.preferred.width!==A&&(this.preferred.width=A,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getPreferredWidth(){return this.preferredWidth}setPreferredWidth(A){this.preferredWidth=A}get preferredHeight(){return this.preferred.height}set preferredHeight(A){this.preferred.height!==A&&(this.preferred.height=A,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getPreferredHeight(){return this.preferredHeight}setPreferredHeight(A){this.preferredHeight=A}setPreferredSize(A,g){(this.preferred.width!==A||this.preferred.height!==g)&&(this.preferred.set(A,g),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}copy(A){this.base.set(A.getBaseWidth(),A.getBaseHeight()),this.preferred.set(A.getPreferredWidth(),A.getPreferredHeight()),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height)}static get AUTO_SIZE(){return Vs}},D0=!1,_v=class{constructor(A=null){this.originalMaterials=new Map,this.material=null,this.materials=null,this.materialsBackSide=null,this.materialsDoubleSide=null,this.materialsFlatShaded=null,this.materialsFlatShadedBackSide=null,this.materialsFlatShadedDoubleSide=null,this.setMaterial(A),this.meshCount=0,this.replaceMaterial=g=>{if(g.isMesh){let e;if(g.material.flatShading)switch(g.material.side){case jC:e=this.materialsFlatShadedDoubleSide;break;case Lt:e=this.materialsFlatShadedBackSide;break;default:e=this.materialsFlatShaded;break}else switch(g.material.side){case jC:e=this.materialsDoubleSide;break;case Lt:e=this.materialsBackSide;break;default:e=this.materials;break}this.originalMaterials.set(g,g.material),g.isSkinnedMesh?g.material=e[2]:g.isInstancedMesh?g.material=e[1]:g.material=e[0],++this.meshCount}}}setMaterial(A){if(this.disposeMaterials(),this.material=A,A!==null){let g=this.materials=[A.clone(),A.clone(),A.clone()];for(let e of g)e.uniforms=Object.assign({},A.uniforms),e.side=la;g[2].skinning=!0,this.materialsBackSide=g.map(e=>{let I=e.clone();return I.uniforms=Object.assign({},A.uniforms),I.side=Lt,I}),this.materialsDoubleSide=g.map(e=>{let I=e.clone();return I.uniforms=Object.assign({},A.uniforms),I.side=jC,I}),this.materialsFlatShaded=g.map(e=>{let I=e.clone();return I.uniforms=Object.assign({},A.uniforms),I.flatShading=!0,I}),this.materialsFlatShadedBackSide=g.map(e=>{let I=e.clone();return I.uniforms=Object.assign({},A.uniforms),I.flatShading=!0,I.side=Lt,I}),this.materialsFlatShadedDoubleSide=g.map(e=>{let I=e.clone();return I.uniforms=Object.assign({},A.uniforms),I.flatShading=!0,I.side=jC,I})}}render(A,g,e){let I=A.shadowMap.enabled;if(A.shadowMap.enabled=!1,D0){let i=this.originalMaterials;this.meshCount=0,g.traverse(this.replaceMaterial),A.render(g,e);for(let t of i)t[0].material=t[1];this.meshCount!==i.size&&i.clear()}else{let i=g.overrideMaterial;g.overrideMaterial=this.material,A.render(g,e),g.overrideMaterial=i}A.shadowMap.enabled=I}disposeMaterials(){if(this.material!==null){let A=this.materials.concat(this.materialsBackSide).concat(this.materialsDoubleSide).concat(this.materialsFlatShaded).concat(this.materialsFlatShadedBackSide).concat(this.materialsFlatShadedDoubleSide);for(let g of A)g.dispose()}}dispose(){this.originalMaterials.clear(),this.disposeMaterials()}static get workaroundEnabled(){return D0}static set workaroundEnabled(A){D0=A}},naA=class extends KC{constructor(A,g,e=null){super("RenderPass",A,g),this.needsSwap=!1,this.clearPass=new sm,this.overrideMaterialManager=e===null?null:new _v(e),this.ignoreBackground=!1,this.skipShadowMapUpdate=!1,this.selection=null}get renderToScreen(){return super.renderToScreen}set renderToScreen(A){super.renderToScreen=A,this.clearPass.renderToScreen=A}get overrideMaterial(){let A=this.overrideMaterialManager;return A!==null?A.material:null}set overrideMaterial(A){let g=this.overrideMaterialManager;A!==null?g!==null?g.setMaterial(A):this.overrideMaterialManager=new _v(A):g!==null&&(g.dispose(),this.overrideMaterialManager=null)}getOverrideMaterial(){return this.overrideMaterial}setOverrideMaterial(A){this.overrideMaterial=A}get clear(){return this.clearPass.enabled}set clear(A){this.clearPass.enabled=A}getSelection(){return this.selection}setSelection(A){this.selection=A}isBackgroundDisabled(){return this.ignoreBackground}setBackgroundDisabled(A){this.ignoreBackground=A}isShadowMapDisabled(){return this.skipShadowMapUpdate}setShadowMapDisabled(A){this.skipShadowMapUpdate=A}getClearPass(){return this.clearPass}render(A,g,e,I,i){let t=this.scene,C=this.camera,o=this.selection,a=C.layers.mask,r=t.background,s=A.shadowMap.autoUpdate,B=this.renderToScreen?null:g;o!==null&&C.layers.set(o.getLayer()),this.skipShadowMapUpdate&&(A.shadowMap.autoUpdate=!1),(this.ignoreBackground||this.clearPass.overrideClearColor!==null)&&(t.background=null),this.clearPass.enabled&&this.clearPass.render(A,g),A.setRenderTarget(B),this.overrideMaterialManager!==null?this.overrideMaterialManager.render(A,t,C):A.render(t,C),C.layers.mask=a,t.background=r,A.shadowMap.autoUpdate=s}},Pv=class extends KC{constructor(A,g,{resolutionScale:e=1,width:I=zC.AUTO_SIZE,height:i=zC.AUTO_SIZE,renderTarget:t}={}){super("DepthPass"),this.needsSwap=!1,this.renderPass=new naA(A,g,new qJ({depthPacking:wJ}));let C=this.renderPass;C.skipShadowMapUpdate=!0,C.ignoreBackground=!0;let o=C.getClearPass();o.overrideClearColor=new de(16777215),o.overrideClearAlpha=1,this.renderTarget=t,this.renderTarget===void 0&&(this.renderTarget=new FI(1,1,{minFilter:qI,magFilter:qI,stencilBuffer:!1}),this.renderTarget.texture.name="DepthPass.Target");let a=this.resolution=new zC(this,I,i,e);a.addEventListener("change",r=>this.setSize(a.baseWidth,a.baseHeight))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(A){this.resolution.scale=A}render(A,g,e,I,i){let t=this.renderToScreen?null:this.renderTarget;this.renderPass.render(A,t)}setSize(A,g){let e=this.resolution;e.setBaseSize(A,g),this.renderTarget.setSize(e.width,e.height)}},UhA=new Float32Array([255/256/256**3,255/256/256**2,255/256/256,255/256]),dI={SKIP:0,ADD:1,ALPHA:2,AVERAGE:3,COLOR_BURN:4,COLOR_DODGE:5,DARKEN:6,DIFFERENCE:7,EXCLUSION:8,LIGHTEN:9,MULTIPLY:10,DIVIDE:11,NEGATION:12,NORMAL:13,OVERLAY:14,REFLECT:15,SCREEN:16,SOFT_LIGHT:17,SUBTRACT:18},EaA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return min(x+y,1.0)*opacity+x*(1.0-opacity);}",haA="vec3 blend(const in vec3 x,const in vec3 y,const in float opacity){return y*opacity+x*(1.0-opacity);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){float a=min(y.a,opacity);return vec4(blend(x.rgb,y.rgb,a),max(x.a,a));}",laA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(x+y)*0.5*opacity+x*(1.0-opacity);}",caA="float blend(const in float x,const in float y){return(y==0.0)?y:max(1.0-(1.0-x)/y,0.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}",daA="float blend(const in float x,const in float y){return(y==1.0)?y:min(x/(1.0-y),1.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}",uaA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return min(x,y)*opacity+x*(1.0-opacity);}",DaA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return abs(x-y)*opacity+x*(1.0-opacity);}",paA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(x+y-2.0*x*y)*opacity+x*(1.0-opacity);}",yaA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return max(x,y)*opacity+x*(1.0-opacity);}",waA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return x*y*opacity+x*(1.0-opacity);}",faA="float blend(const in float x,const in float y){return(y>0.0)?min(x/y,1.0):1.0;}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}",SaA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(1.0-abs(1.0-x-y))*opacity+x*(1.0-opacity);}",GaA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return y*opacity+x*(1.0-opacity);}",maA="float blend(const in float x,const in float y){return(x<0.5)?(2.0*x*y):(1.0-2.0*(1.0-x)*(1.0-y));}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}",MaA="float blend(const in float x,const in float y){return(y==1.0)?y:min(x*x/(1.0-y),1.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}",kaA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(1.0-(1.0-x)*(1.0-y))*opacity+x*(1.0-opacity);}",UaA="float blend(const in float x,const in float y){return(y<0.5)?(2.0*x*y+x*x*(1.0-2.0*y)):(sqrt(x)*(2.0*y-1.0)+2.0*x*(1.0-y));}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}",NaA="vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return max(x+y-1.0,0.0)*opacity+x*(1.0-opacity);}",FaA=new Map([[dI.SKIP,null],[dI.ADD,EaA],[dI.ALPHA,haA],[dI.AVERAGE,laA],[dI.COLOR_BURN,caA],[dI.COLOR_DODGE,daA],[dI.DARKEN,uaA],[dI.DIFFERENCE,DaA],[dI.EXCLUSION,paA],[dI.LIGHTEN,yaA],[dI.MULTIPLY,waA],[dI.DIVIDE,faA],[dI.NEGATION,SaA],[dI.NORMAL,GaA],[dI.OVERLAY,maA],[dI.REFLECT,MaA],[dI.SCREEN,kaA],[dI.SOFT_LIGHT,UaA],[dI.SUBTRACT,NaA]]),RaA=class extends tC{constructor(A,g=1){super(),this.f=A,this.opacity=new hg(g)}getOpacity(){return this.opacity.value}setOpacity(A){this.opacity.value=A}get blendFunction(){return this.f}set blendFunction(A){this.f=A,this.dispatchEvent({type:"change"})}getBlendFunction(){return this.blendFunction}setBlendFunction(A){this.blendFunction=A}getShaderCode(){return FaA.get(this.blendFunction)}},ir={NONE:0,DEPTH:1,CONVOLUTION:2},nr=class extends tC{constructor(A,g,{attributes:e=ir.NONE,blendFunction:I=dI.SCREEN,defines:i=new Map,uniforms:t=new Map,extensions:C=null,vertexShader:o=null}={}){super(),this.name=A,this.renderer=null,this.attributes=e,this.fragmentShader=g,this.vertexShader=o,this.defines=i,this.uniforms=t,this.extensions=C,this.blendMode=new RaA(I),this.blendMode.addEventListener("change",a=>this.setChanged())}getName(){return this.name}setRenderer(A){this.renderer=A}getDefines(){return this.defines}getUniforms(){return this.uniforms}getExtensions(){return this.extensions}getBlendMode(){return this.blendMode}getAttributes(){return this.attributes}setAttributes(A){this.attributes=A,this.setChanged()}getFragmentShader(){return this.fragmentShader}setFragmentShader(A){this.fragmentShader=A,this.setChanged()}getVertexShader(){return this.vertexShader}setVertexShader(A){this.vertexShader=A,this.setChanged()}setChanged(){this.dispatchEvent({type:"change"})}setDepthTexture(A,g=ds){}update(A,g,e){}setSize(A,g){}initialize(A,g,e){}dispose(){for(let A of Object.keys(this)){let g=this[A];if(g!==null&&typeof g=="object"&&typeof g.dispose=="function"){if(g instanceof rs||g===this.renderer)continue;this[A].dispose()}}}};function jv(A,g,e){for(let I of g){let i="$1"+A+I.charAt(0).toUpperCase()+I.slice(1),t=new RegExp("([^\\.])(\\b"+I+"\\b)","g");for(let C of e.entries())C[1]!==null&&e.set(C[0],C[1].replace(t,i))}}function vaA(A,g,e,I,i,t,C){let o=new Map([["fragment",g.getFragmentShader()],["vertex",g.getVertexShader()]]),a=o.get("fragment")!==void 0&&/mainImage/.test(o.get("fragment")),r=o.get("fragment")!==void 0&&/mainUv/.test(o.get("fragment")),s=[],B=[],Q=!1,n=!1;if(o.get("fragment")===void 0)console.error("Missing fragment shader",g);else if(r&&C&ir.CONVOLUTION)console.error("Effects that transform UV coordinates are incompatible with convolution effects",g);else if(!a&&!r)console.error("The fragment shader contains neither a mainImage nor a mainUv function",g);else{let E=/(?:\w+\s+(\w+)\([\w\s,]*\)\s*{[^}]+})/g,l=US.Section;if(r){let u=`	${A}MainUv(UV);
`;e.set(l.FRAGMENT_MAIN_UV,e.get(l.FRAGMENT_MAIN_UV)+u),Q=!0}if(o.get("vertex")!==null&&/mainSupport/.test(o.get("vertex"))){let u=`	${A}MainSupport(`;u+=/mainSupport *\([\w\s]*?uv\s*?\)/.test(o.get("vertex"))?`vUv);
`:`);
`,e.set(l.VERTEX_MAIN_SUPPORT,e.get(l.VERTEX_MAIN_SUPPORT)+u),s=s.concat([...o.get("vertex").matchAll(/(?:varying\s+\w+\s+(\w*))/g)].map(D=>D[1])),B=B.concat(s).concat([...o.get("vertex").matchAll(E)].map(D=>D[1]))}B=B.concat([...o.get("fragment").matchAll(E)].map(u=>u[1])),B=B.concat([...g.defines.keys()].map(u=>u.replace(/\([\w\s,]*\)/g,""))),B=B.concat([...g.uniforms.keys()]),g.uniforms.forEach((u,D)=>t.set(A+D.charAt(0).toUpperCase()+D.slice(1),u)),g.defines.forEach((u,D)=>i.set(A+D.charAt(0).toUpperCase()+D.slice(1),u)),jv(A,B,i),jv(A,B,o);let h=g.blendMode;if(I.set(h.blendFunction,h),a){let u=/MainImage *\([\w\s,]*?depth[\w\s,]*?\)/,D=`${A}MainImage(color0, UV, `;C&ir.DEPTH&&u.test(o.get("fragment"))&&(D+="depth, ",n=!0),D+=`color1);
	`;let p=A+"BlendOpacity";t.set(p,h.opacity),D+=`color0 = blend${h.blendFunction}(color0, color1, ${p});

	`,e.set(l.FRAGMENT_MAIN_IMAGE,e.get(l.FRAGMENT_MAIN_IMAGE)+D),D=`uniform float ${p};

`,e.set(l.FRAGMENT_HEAD,e.get(l.FRAGMENT_HEAD)+D)}e.set(l.FRAGMENT_HEAD,e.get(l.FRAGMENT_HEAD)+o.get("fragment")+`
`),o.get("vertex")!==null&&e.set(l.VERTEX_HEAD,e.get(l.VERTEX_HEAD)+o.get("vertex")+`
`)}return{varyings:s,transformedUv:Q,readDepth:n}}var Ep=class extends KC{constructor(A,...g){super("EffectPass"),this.fullscreenMaterial=new US(null,null,null,A),this.effects=g.sort((e,I)=>I.attributes-e.attributes),this.skipRendering=!1,this.uniformCount=0,this.varyingCount=0,this.minTime=1,this.maxTime=Number.POSITIVE_INFINITY}get encodeOutput(){return this.fullscreenMaterial.encodeOutput}set encodeOutput(A){this.fullscreenMaterial.encodeOutput=A}get dithering(){return this.fullscreenMaterial.dithering}set dithering(A){let g=this.fullscreenMaterial;g.dithering=A,g.needsUpdate=!0}verifyResources(){let A=this.renderer.capabilities,g=Math.min(A.maxFragmentUniforms,A.maxVertexUniforms);this.uniformCount>g&&console.warn("The current rendering context doesn't support more than "+g+" uniforms, but "+this.uniformCount+" were defined"),g=A.maxVaryings,this.varyingCount>g&&console.warn("The current rendering context doesn't support more than "+g+" varyings, but "+this.varyingCount+" were defined")}updateMaterial(){let A=US.Section,g=new Map([[A.FRAGMENT_HEAD,""],[A.FRAGMENT_MAIN_UV,""],[A.FRAGMENT_MAIN_IMAGE,""],[A.VERTEX_HEAD,""],[A.VERTEX_MAIN_SUPPORT,""]]),e=new Map,I=new Map,i=new Map,t=new Set,C=0,o=0,a=0,r=!1,s=!1;for(let Q of this.effects)if(Q.blendMode.blendFunction===dI.SKIP)a|=Q.getAttributes()&ir.DEPTH;else if(a&Q.getAttributes()&ir.CONVOLUTION)console.error("Convolution effects cannot be merged",Q);else{a|=Q.getAttributes();let n="e"+C++,E=vaA(n,Q,g,e,I,i,a);if(o+=E.varyings.length,r=r||E.transformedUv,s=s||E.readDepth,Q.extensions!==null)for(let l of Q.extensions)t.add(l)}let B=/\bblend\b/g;for(let Q of e.values()){let n=Q.getShaderCode().replace(B,`blend${Q.blendFunction}`);g.set(A.FRAGMENT_HEAD,g.get(A.FRAGMENT_HEAD)+n+`
`)}a&ir.DEPTH?(s&&g.set(A.FRAGMENT_MAIN_IMAGE,`float depth = readDepth(UV);

	`+g.get(A.FRAGMENT_MAIN_IMAGE)),this.needsDepthTexture=this.getDepthTexture()===null):this.needsDepthTexture=!1,r?(g.set(A.FRAGMENT_MAIN_UV,`vec2 transformedUv = vUv;
`+g.get(A.FRAGMENT_MAIN_UV)),I.set("UV","transformedUv")):I.set("UV","vUv"),g.forEach((Q,n,E)=>E.set(n,Q.trim().replace(/^#/,`
#`))),this.uniformCount=i.size,this.varyingCount=o,this.skipRendering=C===0,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderParts(g).setExtensions(t).setUniforms(i).setDefines(I)}recompile(){this.updateMaterial(),this.verifyResources()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(A,g=ds){this.fullscreenMaterial.depthBuffer=A,this.fullscreenMaterial.depthPacking=g;for(let e of this.effects)e.setDepthTexture(A,g)}render(A,g,e,I,i){for(let t of this.effects)t.update(A,g,I);if(!this.skipRendering||this.renderToScreen){let t=this.fullscreenMaterial;t.inputBuffer=g.texture,t.time+=I,A.setRenderTarget(this.renderToScreen?null:e),A.render(this.scene,this.camera)}}setSize(A,g){this.fullscreenMaterial.setSize(A,g);for(let e of this.effects)e.setSize(A,g)}initialize(A,g,e){this.renderer=A;for(let I of this.effects)I.initialize(A,g,e),I.addEventListener("change",i=>this.handleEvent(i));this.updateMaterial(),this.verifyResources(),e!==void 0&&e!==cC&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}dispose(){super.dispose();for(let A of this.effects)A.dispose()}handleEvent(A){switch(A.type){case"change":this.recompile();break}}},KaA=[new Float32Array([0,0]),new Float32Array([0,1,1]),new Float32Array([0,1,1,2]),new Float32Array([0,1,2,2,3]),new Float32Array([0,1,2,3,4,4,5]),new Float32Array([0,1,2,3,4,5,7,8,9,10])],Bm=class extends KC{constructor({resolutionScale:A=.5,width:g=zC.AUTO_SIZE,height:e=zC.AUTO_SIZE,kernelSize:I=Tp.LARGE}={}){super("KawaseBlurPass"),this.renderTargetA=new FI(1,1,{minFilter:Ve,magFilter:Ve,stencilBuffer:!1,depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B";let i=this.resolution=new zC(this,g,e,A);i.addEventListener("change",t=>this.setSize(i.baseWidth,i.baseHeight)),this.blurMaterial=new Ov,this.ditheredBlurMaterial=new Ov,this.ditheredBlurMaterial.uniforms.scale=this.blurMaterial.uniforms.scale,this.ditheredBlurMaterial.dithering=!0,this.dithering=!1,this.kernelSize=I}getResolution(){return this.resolution}get width(){return this.resolution.width}set width(A){this.resolution.preferredWidth=A}get height(){return this.resolution.height}set height(A){this.resolution.preferredHeight=A}get scale(){return this.blurMaterial.scale}set scale(A){this.blurMaterial.scale=A}getScale(){return this.blurMaterial.scale}setScale(A){this.blurMaterial.scale=A}getKernelSize(){return this.kernelSize}setKernelSize(A){this.kernelSize=A}getResolutionScale(){return this.resolution.scale}setResolutionScale(A){this.resolution.scale=A}render(A,g,e,I,i){let t=this.scene,C=this.camera,o=this.renderTargetA,a=this.renderTargetB,r=KaA[this.kernelSize],s=this.blurMaterial,B=g,Q,n;for(this.fullscreenMaterial=s,Q=0,n=r.length-1;Q<n;++Q){let E=Q&1?a:o;s.kernel=r[Q],s.inputBuffer=B.texture,A.setRenderTarget(E),A.render(t,C),B=E}this.dithering&&(s=this.ditheredBlurMaterial,this.fullscreenMaterial=s),s.kernel=r[Q],s.inputBuffer=B.texture,A.setRenderTarget(this.renderToScreen?null:e),A.render(t,C)}setSize(A,g){let e=this.resolution;e.setBaseSize(A,g);let I=e.width,i=e.height;this.renderTargetA.setSize(I,i),this.renderTargetB.setSize(I,i),this.blurMaterial.setSize(I,i),this.ditheredBlurMaterial.setSize(I,i)}initialize(A,g,e){e!==void 0&&(this.renderTargetA.texture.type=e,this.renderTargetB.texture.type=e,e!==cC?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.ditheredBlurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):A.outputEncoding===je&&(this.renderTargetA.texture.encoding=je,this.renderTargetB.texture.encoding=je))}static get AUTO_SIZE(){return zC.AUTO_SIZE}},JaA=class extends KC{constructor({width:A=zC.AUTO_SIZE,height:g=zC.AUTO_SIZE,renderTarget:e,luminanceRange:I,colorOutput:i}={}){super("LuminancePass"),this.fullscreenMaterial=new iaA(i,I),this.needsSwap=!1,this.renderTarget=e,this.renderTarget===void 0&&(this.renderTarget=new FI(1,1,{minFilter:Ve,magFilter:Ve,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="LuminancePass.Target",this.renderTarget.texture.generateMipmaps=!1);let t=this.resolution=new zC(this,A,g);t.addEventListener("change",C=>this.setSize(t.baseWidth,t.baseHeight))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}render(A,g,e,I,i){let t=this.fullscreenMaterial;t.inputBuffer=g.texture,A.setRenderTarget(this.renderToScreen?null:this.renderTarget),A.render(this.scene,this.camera)}setSize(A,g){let e=this.resolution;e.setBaseSize(A,g),this.renderTarget.setSize(e.width,e.height)}initialize(A,g,e){e!==void 0&&e!==cC&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}},qaA=class extends KC{constructor(A,g){super("MaskPass",A,g),this.needsSwap=!1,this.clearPass=new sm(!1,!1,!0),this.inverse=!1}get inverted(){return this.inverse}set inverted(A){this.inverse=A}get clear(){return this.clearPass.enabled}set clear(A){this.clearPass.enabled=A}getClearPass(){return this.clearPass}isInverted(){return this.inverted}setInverted(A){this.inverted=A}render(A,g,e,I,i){let t=A.getContext(),C=A.state.buffers,o=this.scene,a=this.camera,r=this.clearPass,s=this.inverted?0:1,B=1-s;C.color.setMask(!1),C.depth.setMask(!1),C.color.setLocked(!0),C.depth.setLocked(!0),C.stencil.setTest(!0),C.stencil.setOp(t.REPLACE,t.REPLACE,t.REPLACE),C.stencil.setFunc(t.ALWAYS,s,4294967295),C.stencil.setClear(B),C.stencil.setLocked(!0),this.clearPass.enabled&&(this.renderToScreen?r.render(A,null):(r.render(A,g),r.render(A,e))),this.renderToScreen?(A.setRenderTarget(null),A.render(o,a)):(A.setRenderTarget(g),A.render(o,a),A.setRenderTarget(e),A.render(o,a)),C.color.setLocked(!1),C.depth.setLocked(!1),C.stencil.setLocked(!1),C.stencil.setFunc(t.EQUAL,1,4294967295),C.stencil.setOp(t.KEEP,t.KEEP,t.KEEP),C.stencil.setLocked(!0)}},aa=class extends KC{constructor(A,g="inputBuffer"){super("ShaderPass"),this.fullscreenMaterial=A,this.inputBufferUniform=null,this.setInput(g)}setInput(A){if(this.inputBufferUniform=null,this.fullscreenMaterial!==null){let g=this.fullscreenMaterial.uniforms;g!==void 0&&g[A]!==void 0&&(this.inputBufferUniform=g[A])}}render(A,g,e,I,i){this.inputBufferUniform!==null&&g!==null&&(this.inputBufferUniform.value=g.texture),A.setRenderTarget(this.renderToScreen?null:e),A.render(this.scene,this.camera)}initialize(A,g,e){e!==void 0&&e!==cC&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}},p0=1/1e3,baA=1e3,LaA=class{constructor(){this.previousTime=0,this.currentTime=0,this.delta=0,this.fixedDelta=1e3/60,this.elapsed=0,this.timescale=1,this.fixedDeltaEnabled=!1,this.autoReset=!1}setFixedDeltaEnabled(A){return this.fixedDeltaEnabled=A,this}isAutoResetEnabled(A){return this.autoReset}setAutoResetEnabled(A){return typeof document<"u"&&document.hidden!==void 0&&(A?document.addEventListener("visibilitychange",this):document.removeEventListener("visibilitychange",this),this.autoReset=A),this}getDelta(){return this.delta*p0}getFixedDelta(){return this.fixedDelta*p0}setFixedDelta(A){return this.fixedDelta=A*baA,this}getElapsed(){return this.elapsed*p0}getTimescale(){return this.timescale}setTimescale(A){return this.timescale=A,this}update(A){return this.fixedDeltaEnabled?this.delta=this.fixedDelta:(this.previousTime=this.currentTime,this.currentTime=A!==void 0?A:performance.now(),this.delta=this.currentTime-this.previousTime),this.delta*=this.timescale,this.elapsed+=this.delta,this}reset(){return this.delta=0,this.elapsed=0,this.currentTime=performance.now(),this}handleEvent(A){document.hidden||(this.currentTime=performance.now())}dispose(){this.setAutoResetEnabled(!1)}},Tp={VERY_SMALL:0,SMALL:1,MEDIUM:2,LARGE:3,VERY_LARGE:4,HUGE:5},xaA=`#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D map;
#else
uniform lowp sampler2D map;
#endif
uniform float intensity;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=clamp(texture2D(map,uv)*intensity,0.0,1.0);}`,YaA=class extends nr{constructor({blendFunction:A=dI.SCREEN,luminanceThreshold:g=.9,luminanceSmoothing:e=.025,resolutionScale:I=.5,intensity:i=1,width:t=zC.AUTO_SIZE,height:C=zC.AUTO_SIZE,kernelSize:o=Tp.LARGE}={}){super("BloomEffect",xaA,{blendFunction:A,uniforms:new Map([["map",new hg(null)],["intensity",new hg(i)]])}),this.renderTarget=new FI(1,1,{minFilter:Ve,magFilter:Ve,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="Bloom.Target",this.renderTarget.texture.generateMipmaps=!1,this.uniforms.get("map").value=this.renderTarget.texture,this.luminancePass=new JaA({renderTarget:this.renderTarget,colorOutput:!0}),this.luminanceMaterial.threshold=g,this.luminanceMaterial.smoothingFactor=e,this.blurPass=new Bm({resolutionScale:I,width:t,height:C,kernelSize:o});let a=this.blurPass.getResolution();a.addEventListener("change",r=>this.setSize(a.baseWidth,a.baseHeight))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}get resolution(){return this.blurPass.resolution}getResolution(){return this.blurPass.resolution}getBlurPass(){return this.blurPass}getLuminancePass(){return this.luminancePass}get luminanceMaterial(){return this.luminancePass.fullscreenMaterial}getLuminanceMaterial(){return this.luminancePass.fullscreenMaterial}get width(){return this.resolution.width}set width(A){this.resolution.preferredWidth=A}get height(){return this.resolution.height}set height(A){this.resolution.preferredHeight=A}get dithering(){return this.blurPass.dithering}set dithering(A){this.blurPass.dithering=A}get kernelSize(){return this.blurPass.kernelSize}set kernelSize(A){this.blurPass.kernelSize=A}get distinction(){return console.warn(this.name,"distinction was removed"),1}set distinction(A){console.warn(this.name,"distinction was removed")}get intensity(){return this.uniforms.get("intensity").value}set intensity(A){this.uniforms.get("intensity").value=A}getIntensity(){return this.intensity}setIntensity(A){this.intensity=A}getResolutionScale(){return this.resolution.scale}setResolutionScale(A){this.resolution.scale=A}update(A,g,e){let I=this.renderTarget;this.luminancePass.enabled?(this.luminancePass.render(A,g,I),this.blurPass.render(A,I,I)):this.blurPass.render(A,g,I)}setSize(A,g){let e=this.resolution;e.setBaseSize(A,g),this.renderTarget.setSize(e.width,e.height),this.luminancePass.resolution.copy(e)}initialize(A,g,e){this.blurPass.initialize(A,g,e),e!==void 0&&(this.renderTarget.texture.type=e,A.outputEncoding===je&&(this.renderTarget.texture.encoding=je))}},HaA="uniform float brightness;uniform float contrast;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 color=inputColor.rgb+vec3(brightness-0.5);if(contrast>0.0){color/=vec3(1.0-contrast);}else{color*=vec3(1.0+contrast);}outputColor=vec4(min(color+vec3(0.5),1.0),inputColor.a);}",TaA=class extends nr{constructor({blendFunction:A=dI.NORMAL,brightness:g=0,contrast:e=0}={}){super("BrightnessContrastEffect",HaA,{blendFunction:A,uniforms:new Map([["brightness",new hg(g)],["contrast",new hg(e)]])})}get brightness(){return this.uniforms.get("brightness").value}set brightness(A){this.uniforms.get("brightness").value=A}getBrightness(A){return this.brightness}setBrightness(A){this.brightness=A}get contrast(){return this.uniforms.get("contrast").value}set contrast(A){this.uniforms.get("contrast").value=A}getContrast(A){return this.contrast}setContrast(A){this.contrast=A}},OaA="void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=vec4(vec3(average(inputColor.rgb)),inputColor.a);}",_aA=class extends nr{constructor(A=dI.NORMAL){super("ColorAverageEffect",OaA,{blendFunction:A})}},PaA="varying vec2 vUvR;varying vec2 vUvB;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec2 ra=texture2D(inputBuffer,vUvR).ra;vec2 ba=texture2D(inputBuffer,vUvB).ba;outputColor=vec4(ra.x,inputColor.g,ba.x,max(max(ra.y,ba.y),inputColor.a));}",jaA="uniform vec2 offset;varying vec2 vUvR;varying vec2 vUvB;void mainSupport(const in vec2 uv){vec2 shift=offset*vec2(1.0,aspect);vUvR=uv+shift;vUvB=uv-shift;}",WaA=class extends nr{constructor({blendFunction:A=dI.NORMAL,offset:g=new mA(.001,5e-4)}={}){super("ChromaticAberrationEffect",PaA,{vertexShader:jaA,blendFunction:A,attributes:ir.CONVOLUTION,uniforms:new Map([["offset",new hg(g)]])})}get offset(){return this.uniforms.get("offset").value}set offset(A){this.uniforms.get("offset").value=A}getOffset(){return this.offset}setOffset(A){this.offset=A}},zaA=`#ifdef FRAMEBUFFER_PRECISION_HIGH
uniform mediump sampler2D nearColorBuffer;uniform mediump sampler2D farColorBuffer;
#else
uniform lowp sampler2D nearColorBuffer;uniform lowp sampler2D farColorBuffer;
#endif
uniform lowp sampler2D nearCoCBuffer;uniform float scale;void mainImage(const in vec4 inputColor,const in vec2 uv,const in float depth,out vec4 outputColor){vec4 colorNear=texture2D(nearColorBuffer,uv);vec4 colorFar=texture2D(farColorBuffer,uv);float CoCNear=texture2D(nearCoCBuffer,uv).r;CoCNear=min(CoCNear*scale,1.0);vec4 result=inputColor*(1.0-colorFar.a)+colorFar;result=mix(result,colorNear,CoCNear);outputColor=result;}`,VaA=class extends nr{constructor(A,{blendFunction:g=dI.NORMAL,worldFocusDistance:e,worldFocusRange:I,focusDistance:i=0,focalLength:t=.1,focusRange:C=t,bokehScale:o=1,width:a=zC.AUTO_SIZE,height:r=zC.AUTO_SIZE}={}){super("DepthOfFieldEffect",zaA,{blendFunction:g,attributes:ir.DEPTH,uniforms:new Map([["nearColorBuffer",new hg(null)],["farColorBuffer",new hg(null)],["nearCoCBuffer",new hg(null)],["scale",new hg(1)]])}),this.camera=A,this.renderTarget=new FI(1,1,{minFilter:Ve,magFilter:Ve,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="DoF.Intermediate",this.renderTarget.texture.generateMipmaps=!1,this.renderTargetMasked=this.renderTarget.clone(),this.renderTargetMasked.texture.name="DoF.Masked.Far",this.renderTargetNear=this.renderTarget.clone(),this.renderTargetNear.texture.name="DoF.Bokeh.Near",this.uniforms.get("nearColorBuffer").value=this.renderTargetNear.texture,this.renderTargetFar=this.renderTarget.clone(),this.renderTargetFar.texture.name="DoF.Bokeh.Far",this.uniforms.get("farColorBuffer").value=this.renderTargetFar.texture,this.renderTargetCoC=this.renderTarget.clone(),this.renderTargetCoC.texture.name="DoF.CoC",this.renderTargetCoCBlurred=this.renderTargetCoC.clone(),this.renderTargetCoCBlurred.texture.name="DoF.CoC.Blurred",this.uniforms.get("nearCoCBuffer").value=this.renderTargetCoCBlurred.texture,this.cocPass=new aa(new PoA(A));let s=this.cocMaterial;s.focusDistance=i,s.focusRange=C,e!==void 0&&(s.worldFocusDistance=e),I!==void 0&&(s.worldFocusRange=I),this.blurPass=new Bm({kernelSize:Tp.MEDIUM,width:a,height:r});let B=this.blurPass.getResolution();B.addEventListener("change",n=>this.setSize(B.getBaseWidth(),B.getBaseHeight())),this.maskPass=new aa(new CaA(this.renderTargetCoC.texture));let Q=this.maskPass.fullscreenMaterial;Q.maskFunction=A2.MULTIPLY,Q.colorChannel=$L.GREEN,this.bokehNearBasePass=new aa(new Pu(!1,!0)),this.bokehNearBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehNearFillPass=new aa(new Pu(!0,!0)),this.bokehNearFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehFarBasePass=new aa(new Pu(!1,!1)),this.bokehFarBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.bokehFarFillPass=new aa(new Pu(!0,!1)),this.bokehFarFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.target=null,this.bokehScale=o}get cocTexture(){return this.renderTargetCoC.texture}get cocMaterial(){return this.cocPass.fullscreenMaterial}get circleOfConfusionMaterial(){return this.cocMaterial}getCircleOfConfusionMaterial(){return this.circleOfConfusionMaterial}getBlurPass(){return this.blurPass}get resolution(){return this.blurPass.getResolution()}getResolution(){return this.blurPass.getResolution()}get bokehScale(){return this.uniforms.get("scale").value}set bokehScale(A){let g=[this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass];for(let e of g)e.fullscreenMaterial.setScale(A);this.maskPass.fullscreenMaterial.setStrength(A),this.uniforms.get("scale").value=A}getBokehScale(){return this.bokehScale}setBokehScale(A){this.bokehScale=A}getTarget(){return this.target}setTarget(A){this.target=A}calculateFocusDistance(A){let g=this.camera,e=g.position.distanceTo(A);return kS(-e,g.near,g.far)}setDepthTexture(A,g=ds){this.circleOfConfusionMaterial.depthBuffer=A,this.circleOfConfusionMaterial.depthPacking=g}update(A,g,e){let I=this.renderTarget,i=this.renderTargetCoC,t=this.renderTargetCoCBlurred,C=this.renderTargetMasked;if(this.target!==null){let o=this.calculateFocusDistance(this.target);this.circleOfConfusionMaterial.focusDistance=o}this.cocPass.render(A,null,i),this.blurPass.render(A,i,t),this.maskPass.render(A,g,C),this.bokehFarBasePass.render(A,C,I),this.bokehFarFillPass.render(A,I,this.renderTargetFar),this.bokehNearBasePass.render(A,g,I),this.bokehNearFillPass.render(A,I,this.renderTargetNear)}setSize(A,g){let e=this.resolution;e.setBaseSize(A,g);let I=e.width,i=e.height,t=[this.cocPass,this.blurPass,this.maskPass,this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass];t.push(this.renderTargetCoC,this.renderTargetMasked),t.forEach(C=>C.setSize(A,g)),t=[this.renderTarget,this.renderTargetNear,this.renderTargetFar,this.renderTargetCoCBlurred],t.forEach(C=>C.setSize(I,i)),[this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass].forEach(C=>C.fullscreenMaterial.setSize(I,i))}initialize(A,g,e){[this.cocPass,this.maskPass,this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass].forEach(I=>I.initialize(A,g,e)),this.blurPass.initialize(A,g,cC),e!==void 0&&(this.renderTarget.texture.type=e,this.renderTargetNear.texture.type=e,this.renderTargetFar.texture.type=e,this.renderTargetMasked.texture.type=e,A.outputEncoding===je&&(this.renderTarget.texture.encoding=je,this.renderTargetNear.texture.encoding=je,this.renderTargetFar.texture.encoding=je,this.renderTargetMasked.texture.encoding=je))}},NhA=new x,FhA=new wg,ZaA="uniform vec3 hue;uniform float saturation;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 color=vec3(dot(inputColor.rgb,hue.xyz),dot(inputColor.rgb,hue.zxy),dot(inputColor.rgb,hue.yzx));float average=(color.r+color.g+color.b)/3.0;vec3 diff=average-color;if(saturation>0.0){color+=diff*(1.0-1.0/(1.001-saturation));}else{color+=diff*-saturation;}outputColor=vec4(min(color,1.0),inputColor.a);}",XaA=class extends nr{constructor({blendFunction:A=dI.NORMAL,hue:g=0,saturation:e=0}={}){super("HueSaturationEffect",ZaA,{blendFunction:A,uniforms:new Map([["hue",new hg(new x)],["saturation",new hg(e)]])}),this.hue=g}get saturation(){return this.uniforms.get("saturation").value}set saturation(A){this.uniforms.get("saturation").value=A}getSaturation(){return this.saturation}setSaturation(A){this.saturation=A}get hue(){let A=this.uniforms.get("hue").value;return Math.acos((A.x*3-1)/2)}set hue(A){let g=Math.sin(A),e=Math.cos(A);this.uniforms.get("hue").value.set((2*e+1)/3,(-Math.sqrt(3)*g-e+1)/3,(Math.sqrt(3)*g-e+1)/3)}getHue(){return this.hue}setHue(A){this.hue=A}},RhA=new de,$aA=`void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 noise=vec3(rand(uv*time));
#ifdef PREMULTIPLY
outputColor=vec4(min(inputColor.rgb*noise,vec3(1.0)),inputColor.a);
#else
outputColor=vec4(noise,inputColor.a);
#endif
}`,ArA=class extends nr{constructor({blendFunction:A=dI.SCREEN,premultiply:g=!1}={}){super("NoiseEffect",$aA,{blendFunction:A}),this.premultiply=g}get premultiply(){return this.defines.has("PREMULTIPLY")}set premultiply(A){this.premultiply!==A&&(A?this.defines.set("PREMULTIPLY","1"):this.defines.delete("PREMULTIPLY"),this.setChanged())}isPremultiplied(){return this.premultiply}setPremultiplied(A){this.premultiply=A}},grA="uniform bool active;uniform vec2 d;void mainUv(inout vec2 uv){if(active){uv=vec2(d.x*(floor(uv.x/d.x)+0.5),d.y*(floor(uv.y/d.y)+0.5));}}",erA=class extends nr{constructor(A=30){super("PixelationEffect",grA,{uniforms:new Map([["active",new hg(!1)],["d",new hg(new mA)]])}),this.resolution=new mA,this.d=0,this.granularity=A}get granularity(){return this.d}set granularity(A){let g=Math.floor(A);g%2>0&&(g+=1),this.d=g,this.uniforms.get("active").value=g>0,this.setSize(this.resolution.width,this.resolution.height)}getGranularity(){return this.granularity}setGranularity(A){this.granularity=A}setSize(A,g){this.resolution.set(A,g),this.uniforms.get("d").value.setScalar(this.d).divide(this.resolution)}},vhA=Math.PI*.5,KhA=new x,JhA=new x,Wv="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAQCAYAAACm53kpAAAAeElEQVRYR+2XSwqAMAxEJ168ePEqwRSKhIIiuHjJqiU0gWE+1CQdApcVAMUAuARaMGCX1MIL/Ow13++9lW2s3mW9MWvsnWc/2fvGygwPAN4E8QzAA4CXAB6AHjG4JTHYI1ey3pcx6FHnEfhLDOIBKAmUBK6/ANUDTlROXAHd9EC1AAAAAElFTkSuQmCC",zv="data:image/png;base64,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",IrA="uniform sampler2D weightMap;varying vec2 vOffset0;varying vec2 vOffset1;void movec(const in bvec2 c,inout vec2 variable,const in vec2 value){if(c.x){variable.x=value.x;}if(c.y){variable.y=value.y;}}void movec(const in bvec4 c,inout vec4 variable,const in vec4 value){movec(c.xy,variable.xy,value.xy);movec(c.zw,variable.zw,value.zw);}void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec4 a;a.x=texture2D(weightMap,vOffset0).a;a.y=texture2D(weightMap,vOffset1).g;a.wz=texture2D(weightMap,uv).rb;vec4 color=inputColor;if(dot(a,vec4(1.0))>=1e-5){bool h=max(a.x,a.z)>max(a.y,a.w);vec4 blendingOffset=vec4(0.0,a.y,0.0,a.w);vec2 blendingWeight=a.yw;movec(bvec4(h),blendingOffset,vec4(a.x,0.0,a.z,0.0));movec(bvec2(h),blendingWeight,a.xz);blendingWeight/=dot(blendingWeight,vec2(1.0));vec4 blendingCoord=blendingOffset*vec4(texelSize,-texelSize)+uv.xyxy;color=blendingWeight.x*texture2D(inputBuffer,blendingCoord.xy);color+=blendingWeight.y*texture2D(inputBuffer,blendingCoord.zw);}outputColor=color;}",irA="varying vec2 vOffset0;varying vec2 vOffset1;void mainSupport(const in vec2 uv){vOffset0=uv+texelSize*vec2(1.0,0.0);vOffset1=uv+texelSize*vec2(0.0,1.0);}",oQ={LOW:0,MEDIUM:1,HIGH:2,ULTRA:3},g2=class extends nr{constructor({preset:A=oQ.MEDIUM,edgeDetectionMode:g=Hp.COLOR,predicationMode:e=$oA.DISABLED}={}){super("SMAAEffect",IrA,{vertexShader:irA,blendFunction:dI.NORMAL,attributes:ir.CONVOLUTION|ir.DEPTH,uniforms:new Map([["weightMap",new hg(null)]])});let I,i;arguments.length>1&&(I=arguments[0],i=arguments[1],arguments.length>2&&(A=arguments[2]),arguments.length>3&&(g=arguments[3])),this.renderTargetEdges=new FI(1,1,{minFilter:Ve,stencilBuffer:!1,depthBuffer:!1}),this.renderTargetEdges.texture.name="SMAA.Edges",this.renderTargetWeights=this.renderTargetEdges.clone(),this.renderTargetWeights.texture.name="SMAA.Weights",this.uniforms.get("weightMap").value=this.renderTargetWeights.texture,this.clearPass=new sm(!0,!1,!1),this.clearPass.overrideClearColor=new de(0),this.clearPass.overrideClearAlpha=1,this.edgeDetectionPass=new aa(new AaA),this.edgeDetectionMaterial.edgeDetectionMode=g,this.edgeDetectionMaterial.predicationMode=e,this.weightsPass=new aa(new raA);let t=new eq;t.onLoad=()=>{let C=new yi(I);C.name="SMAA.Search",C.magFilter=qI,C.minFilter=qI,C.generateMipmaps=!1,C.needsUpdate=!0,C.flipY=!0,this.weightsMaterial.searchTexture=C;let o=new yi(i);o.name="SMAA.Area",o.magFilter=Ve,o.minFilter=Ve,o.generateMipmaps=!1,o.needsUpdate=!0,o.flipY=!1,this.weightsMaterial.areaTexture=o,this.dispatchEvent({type:"load"})},t.itemStart("search"),t.itemStart("area"),I!==void 0&&i!==void 0?(t.itemEnd("search"),t.itemEnd("area")):typeof Image<"u"&&(I=new Image,i=new Image,I.addEventListener("load",()=>t.itemEnd("search")),i.addEventListener("load",()=>t.itemEnd("area")),I.src=Wv,i.src=zv),this.applyPreset(A)}get edgesTexture(){return this.renderTargetEdges.texture}getEdgesTexture(){return this.edgesTexture}get weightsTexture(){return this.renderTargetWeights.texture}getWeightsTexture(){return this.weightsTexture}get edgeDetectionMaterial(){return this.edgeDetectionPass.fullscreenMaterial}get colorEdgesMaterial(){return this.edgeDetectionMaterial}getEdgeDetectionMaterial(){return this.edgeDetectionMaterial}get weightsMaterial(){return this.weightsPass.fullscreenMaterial}getWeightsMaterial(){return this.weightsMaterial}setEdgeDetectionThreshold(A){this.edgeDetectionMaterial.edgeDetectionThreshold=A}setOrthogonalSearchSteps(A){this.weightsMaterial.orthogonalSearchSteps=A}applyPreset(A){let g=this.edgeDetectionMaterial,e=this.weightsMaterial;switch(A){case oQ.LOW:g.edgeDetectionThreshold=.15,e.orthogonalSearchSteps=4,e.diagonalDetection=!1,e.cornerDetection=!1;break;case oQ.MEDIUM:g.edgeDetectionThreshold=.1,e.orthogonalSearchSteps=8,e.diagonalDetection=!1,e.cornerDetection=!1;break;case oQ.HIGH:g.edgeDetectionThreshold=.1,e.orthogonalSearchSteps=16,e.diagonalSearchSteps=8,e.cornerRounding=25,e.diagonalDetection=!0,e.cornerDetection=!0;break;case oQ.ULTRA:g.edgeDetectionThreshold=.05,e.orthogonalSearchSteps=32,e.diagonalSearchSteps=16,e.cornerRounding=25,e.diagonalDetection=!0,e.cornerDetection=!0;break}}setDepthTexture(A,g=ds){this.edgeDetectionMaterial.depthBuffer=A,this.edgeDetectionMaterial.depthPacking=g}update(A,g,e){this.clearPass.render(A,this.renderTargetEdges),this.edgeDetectionPass.render(A,g,this.renderTargetEdges),this.weightsPass.render(A,this.renderTargetEdges,this.renderTargetWeights)}setSize(A,g){this.edgeDetectionMaterial.setSize(A,g),this.weightsMaterial.setSize(A,g),this.renderTargetEdges.setSize(A,g),this.renderTargetWeights.setSize(A,g)}dispose(){let{searchTexture:A,areaTexture:g}=this.weightsMaterial;A!==null&&g!==null&&(A.dispose(),g.dispose()),super.dispose()}static get searchImageDataURL(){return Wv}static get areaImageDataURL(){return zv}},trA=`uniform float offset;uniform float darkness;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){const vec2 center=vec2(0.5);vec3 color=inputColor.rgb;
#if VIGNETTE_TECHNIQUE == 0
float d=distance(uv,center);color*=smoothstep(0.8,offset*0.799,d*(darkness+offset));
#else
vec2 coord=(uv-center)*vec2(offset);color=mix(color,vec3(1.0-darkness),dot(coord,coord));
#endif
outputColor=vec4(color,inputColor.a);}`,ju={DEFAULT:0,ESKIL:1},CrA=class extends nr{constructor({blendFunction:A=dI.NORMAL,technique:g=ju.DEFAULT,eskil:e=!1,offset:I=.5,darkness:i=.5}={}){super("VignetteEffect",trA,{blendFunction:A,defines:new Map([["VIGNETTE_TECHNIQUE",g.toFixed(0)]]),uniforms:new Map([["offset",new hg(I)],["darkness",new hg(i)]])})}get technique(){return Number(this.defines.get("VIGNETTE_TECHNIQUE"))}set technique(A){this.technique!==A&&(this.defines.set("VIGNETTE_TECHNIQUE",A.toFixed(0)),this.setChanged())}get eskil(){return this.technique===ju.ESKIL}set eskil(A){this.technique=A?ju.ESKIL:ju.DEFAULT}getTechnique(){return this.technique}setTechnique(A){this.technique=A}get offset(){return this.uniforms.get("offset").value}set offset(A){this.uniforms.get("offset").value=A}getOffset(){return this.offset}setOffset(A){this.offset=A}get darkness(){return this.uniforms.get("darkness").value}set darkness(A){this.uniforms.get("darkness").value=A}getDarkness(){return this.darkness}setDarkness(A){this.darkness=A}},qhA=[new Float32Array(3),new Float32Array(3)],bhA=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],LhA=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]],xhA=[new Float32Array(2),new Float32Array(2)],YhA=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),HhA=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],ThA=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],OhA=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])],_hA=new Map([[rC(0,0,0,0),new Float32Array([0,0,0,0])],[rC(0,0,0,1),new Float32Array([0,0,0,1])],[rC(0,0,1,0),new Float32Array([0,0,1,0])],[rC(0,0,1,1),new Float32Array([0,0,1,1])],[rC(0,1,0,0),new Float32Array([0,1,0,0])],[rC(0,1,0,1),new Float32Array([0,1,0,1])],[rC(0,1,1,0),new Float32Array([0,1,1,0])],[rC(0,1,1,1),new Float32Array([0,1,1,1])],[rC(1,0,0,0),new Float32Array([1,0,0,0])],[rC(1,0,0,1),new Float32Array([1,0,0,1])],[rC(1,0,1,0),new Float32Array([1,0,1,0])],[rC(1,0,1,1),new Float32Array([1,0,1,1])],[rC(1,1,0,0),new Float32Array([1,1,0,0])],[rC(1,1,0,1),new Float32Array([1,1,0,1])],[rC(1,1,1,0),new Float32Array([1,1,1,0])],[rC(1,1,1,1),new Float32Array([1,1,1,1])]]);function y0(A,g,e){return A+(g-A)*e}function rC(A,g,e,I){let i=y0(A,g,.75),t=y0(e,I,1-.25);return y0(i,t,1-.125)}var us=class{constructor(A,g){this.enabled=!1,this.effect=new A(g),Object.defineProperty(this,"opacity",{enumerable:!0,set(e){this.effect.blendMode.opacity.value=e},get(){return this.effect.blendMode.opacity.value}}),Object.defineProperty(this,"blendFunction",{enumerable:!0,set(e){this.effect.blendMode.setBlendFunction(Number(e))},get(){return this.effect.blendMode.blendFunction}}),this.blendFunction=dI.NORMAL}},orA=class extends us{constructor(){super(YaA),this.blendFunction=dI.SCREEN}set intensity(A){this.effect.intensity=A}get intensity(){return this.effect.intensity}set luminanceThreshold(A){this.effect.luminanceMaterial.threshold=A}get luminanceThreshold(){return this.effect.luminanceMaterial.threshold}set luminanceSmoothing(A){this.effect.luminanceMaterial.smoothing=A}get luminanceSmoothing(){return this.effect.luminanceMaterial.smoothing}set blurScale(A){this.effect.blurPass.scale=A}get blurScale(){return this.effect.blurPass.scale}set kernelSize(A){this.effect.blurPass.kernelSize=A}get kernelSize(){return this.effect.blurPass.kernelSize}},arA=class extends us{constructor(){super(TaA)}set contrast(A){this.effect.uniforms.get("contrast").value=A}get contrast(){return this.effect.uniforms.get("contrast").value}set brightness(A){this.effect.uniforms.get("brightness").value=A}get brightness(){return this.effect.uniforms.get("brightness").value}},rrA=class extends us{constructor(){super(WaA),this.effect.offset=new mA(.01,.01)}set offset(A){this.effect.offset.set(A[0]/1e3,A[1]/1e3)}get offset(){return[this.effect.offset.x*1e3,this.effect.offset.y*1e3]}},srA=class extends us{constructor(){super(_aA)}},BrA=class extends us{constructor(){super(XaA),this._hue=0}set hue(A){this._hue=A,this.effect.setHue(A)}get hue(){return this._hue}set saturation(A){this.effect.uniforms.get("saturation").value=A}get saturation(){return this.effect.uniforms.get("saturation").value}},QrA=class extends us{constructor(){super(ArA),this.blendFunction=dI.OVERLAY}},nrA=class extends us{constructor(){super(CrA)}get eskil(){return this.effect.eskil}set eskil(A){this.effect.eskil=A}get darkness(){return this.effect.uniforms.get("darkness").value}set darkness(A){this.effect.uniforms.get("darkness").value=A}get offset(){return this.effect.uniforms.get("offset").value}set offset(A){this.effect.uniforms.get("offset").value=A}},ErA=class extends us{constructor(A){super(VaA)}set focalLength(A){this.effect.circleOfConfusionMaterial.uniforms.focalLength.value=A/2e3}get focalLength(){return this.effect.circleOfConfusionMaterial.uniforms.focalLength.value}set focusDistance(A){this.effect.circleOfConfusionMaterial.uniforms.focusDistance.value=this.isPerspectiveCamera?A/2e3:(A+992)/2e3}get focusDistance(){return this.effect.circleOfConfusionMaterial.uniforms.focusDistance.value}get bokehScale(){return this.effect.bokehScale}set bokehScale(A){this.effect.bokehScale=A}setCamera(A){let g=!1;(A.isPerspectiveCamera&&this.isPerspectiveCamera===!1||!A.isPerspectiveCamera&&this.isPerspectiveCamera===!0)&&(g=!0),A.isPerspectiveCamera?(this.effect.circleOfConfusionMaterial.adoptCameraSettings(A.perspCamera),this.isPerspectiveCamera=!0):(this.effect.circleOfConfusionMaterial.adoptCameraSettings(A),this.isPerspectiveCamera=!1),g&&this.effect.setChanged()}},hrA=class extends us{constructor(){super(erA)}get granularity(){return this.effect.getGranularity()}set granularity(A){this.effect.setGranularity(A)}},lrA=`#define GLSLIFY 1
varying vec2 vUv;varying vec2 vTexCoords[9];uniform vec2 resolution;void main(){vUv=position.xy*0.5+0.5;vec2 texelSize=vec2(1.0)/resolution;vTexCoords[0]=vUv+vec2(-texelSize.x,-texelSize.y);vTexCoords[1]=vUv+vec2(0.0,-texelSize.y);vTexCoords[2]=vUv+vec2(texelSize.x,-texelSize.y);vTexCoords[3]=vUv+vec2(-texelSize.x,0.0);vTexCoords[4]=vUv+vec2(0.0,0.0);vTexCoords[5]=vUv+vec2(texelSize.x,0.0);vTexCoords[6]=vUv+vec2(-texelSize.x,texelSize.y);vTexCoords[7]=vUv+vec2(0.0,texelSize.y);vTexCoords[8]=vUv+vec2(texelSize.x,texelSize.y);gl_Position=vec4(position.xy,1.0,1.0);}`,crA=`#define GLSLIFY 1
#include <common>
varying vec2 vUv;varying vec2 vTexCoords[9];uniform sampler2D inputBuffer;uniform sampler2D historyBuffer;uniform sampler2D velocityBuffer;uniform sampler2D depthBuffer;uniform vec2 resolution;
#define USE_YCOCG
#define USE_CATMULL_ROM
const float feedback_min=0.5;const float feedback_max=0.95;vec3 RGB_YCoCg(vec3 c){return vec3(c.x/4.0+c.y/2.0+c.z/4.0,c.x/2.0-c.z/2.0,-c.x/4.0+c.y/2.0-c.z/4.0);}vec3 YCoCg_RGB(vec3 c){return clamp(vec3(c.x+c.y-c.z,c.x+c.z,c.x-c.y-c.z),vec3(0.0),vec3(1.0));}vec4 sample_color(sampler2D tex,vec2 uv){
#ifdef USE_YCOCG
vec4 c=texture(tex,uv);return vec4(RGB_YCoCg(c.rgb),c.a);
#else
return texture(tex,uv);
#endif
}vec4 sample_catmull_rom(sampler2D tex,vec2 uv,vec2 texSize){vec2 samplePos=uv*texSize;vec2 texPos1=floor(samplePos-0.5)+0.5;vec2 f=samplePos-texPos1;vec2 w0=f*(-0.5+f*(1.0-0.5*f));vec2 w1=1.0+f*f*(-2.5+1.5*f);vec2 w2=f*(0.5+f*(2.0-1.5*f));vec2 w3=f*f*(-0.5+0.5*f);vec2 w12=w1+w2;vec2 offset12=w2/(w1+w2);vec2 texPos0=texPos1-1.0;vec2 texPos3=texPos1+2.0;vec2 texPos12=texPos1+offset12;texPos0/=texSize;texPos3/=texSize;texPos12/=texSize;vec4 result=vec4(0.0);result+=texture2D(tex,vec2(texPos12.x,texPos0.y))*w12.x*w0.y;result+=texture2D(tex,vec2(texPos0.x,texPos12.y))*w0.x*w12.y;result+=texture2D(tex,vec2(texPos12.x,texPos12.y))*w12.x*w12.y;result+=texture2D(tex,vec2(texPos3.x,texPos12.y))*w3.x*w12.y;result+=texture2D(tex,vec2(texPos12.x,texPos3.y))*w12.x*w3.y;return result;}vec3 choose_motion_vector(){
#ifdef CHOOSE_LONGEST_MOTION_VECTOR
float longest=-1.0;vec3 v_choose=vec3(-1.0);for(int i=0;i<9;i++){vec3 v=texture2D(velocityBuffer,vTexCoords[i]).rgb;float l=length(v.xy);if(l>longest){longest=l;v_choose=v;}}return v_choose;
#else
float closest_depth=1000.0;vec2 closest_uv_offset=vec2(0.0);for(int i=0;i<9;i++){float neighbor_depth=texture2D(depthBuffer,vTexCoords[i]).r;if(neighbor_depth<closest_depth){closest_uv_offset=vTexCoords[i];closest_depth=neighbor_depth;}}return texture2D(velocityBuffer,closest_uv_offset).rgb;
#endif
}vec4 clipAabb(vec3 aabb_min,vec3 aabb_max,vec4 avg,vec4 input_texel){const float FLT_EPS=0.00000001;vec3 p_clip=0.5*(aabb_max+aabb_min);vec3 e_clip=0.5*(aabb_max-aabb_min)+FLT_EPS;vec4 v_clip=input_texel-vec4(p_clip,avg.w);vec3 v_unit=v_clip.xyz/e_clip;vec3 a_unit=abs(v_unit);float ma_unit=max(a_unit.x,max(a_unit.y,a_unit.z));if(ma_unit>1.0){return vec4(p_clip,avg.w)+v_clip/ma_unit;}else{return input_texel;}}vec3 clip_aabb_variance(in vec3 cOld,in vec3 cNew,in vec3 centre,in vec3 halfSize){if(all(lessThanEqual(abs(cOld-centre),halfSize))){return cOld;}vec3 dir=(cNew-cOld);vec3 near=centre-sign(dir)*halfSize;vec3 tAll=(near-cOld)/dir;float t=0.0001;for(int i=0;i<3;i++){if(tAll[i]>=0.0&&tAll[i]<t){t=tAll[i];}}if(t>=0.0001){return cOld;}return cOld+dir*t;}void main(){vec3 v=choose_motion_vector();vec2 velocity=v.rg;vec2 previousPixelPos=vUv-velocity;vec4 currentColor=sample_color(inputBuffer,vUv);
#ifdef USE_CATMULL_ROM
vec4 previousColor=sample_catmull_rom(historyBuffer,previousPixelPos,resolution);
#else
vec4 previousColor=sample_color(historyBuffer,previousPixelPos);
#endif
#ifdef USE_YCOCG
previousColor=vec4(RGB_YCoCg(previousColor.rgb),previousColor.a);
#endif
vec4 ctl=sample_color(inputBuffer,vTexCoords[0]);vec4 ctc=sample_color(inputBuffer,vTexCoords[1]);vec4 ctr=sample_color(inputBuffer,vTexCoords[2]);vec4 cml=sample_color(inputBuffer,vTexCoords[3]);vec4 cmc=sample_color(inputBuffer,vTexCoords[4]);vec4 cmr=sample_color(inputBuffer,vTexCoords[5]);vec4 cbl=sample_color(inputBuffer,vTexCoords[6]);vec4 cbc=sample_color(inputBuffer,vTexCoords[7]);vec4 cbr=sample_color(inputBuffer,vTexCoords[8]);vec4 cmin=min(ctl,min(ctc,min(ctr,min(cml,min(cmc,min(cmr,min(cbl,min(cbc,cbr))))))));vec4 cmax=max(ctl,max(ctc,max(ctr,max(cml,max(cmc,max(cmr,max(cbl,max(cbc,cbr))))))));vec4 cavg=(ctl+ctc+ctr+cml+cmc+cmr+cbl+cbc+cbr)/9.0;vec4 cmin5=min(ctc,min(cml,min(cmc,min(cmr,cbc))));vec4 cmax5=max(ctc,max(cml,max(cmc,max(cmr,cbc))));vec4 cavg5=(ctc+cml+cmc+cmr+cbc)/5.0;cmin=0.5*(cmin+cmin5);cmax=0.5*(cmax+cmax5);cavg=0.5*(cavg+cavg5);
#ifdef USE_YCOCG
vec2 chroma_extent=vec2(0.25*0.5*(cmax.r-cmin.r));vec2 chroma_center=currentColor.gb;cmin.yz=chroma_center-chroma_extent;cmax.yz=chroma_center+chroma_extent;cavg.yz=chroma_center;
#endif
vec4 previousColorClipped=clamp(previousColor,cmin,cmax);
#ifdef LUMINANCE_DIFFERENCES
#ifdef USE_YCOCG
float lum0=currentColor.r;float lum1=previousColorClipped.r;
#else
float lum0=luminance(currentColor.rgb);float lum1=luminance(previousColorClipped.rgb);
#endif
float unbiased_diff=abs(lum0-lum1)/max(lum0,max(lum1,0.2));float unbiased_weight=1.0-unbiased_diff;float unbiased_weight_sqr=unbiased_weight*unbiased_weight;float k_feedback=mix(feedback_min,feedback_max,unbiased_weight_sqr);vec4 result=mix(currentColor,previousColorClipped,vec4(k_feedback));
#else
const float alpha=0.1;vec4 result=mix(currentColor,previousColorClipped,1.0-alpha);
#endif
#ifdef USE_YCOCG
gl_FragColor=vec4(YCoCg_RGB(result.rgb).rgb,result.a);
#else
gl_FragColor=result;
#endif
}`,drA=`#define GLSLIFY 1
varying vec2 vUv;void main(){gl_Position=vec4(position.xy,1.0,1.0);vUv=position.xy*0.5+0.5;}`,urA=`#define GLSLIFY 1
layout(location=1)out vec4 gVelocity;varying vec2 vUv;uniform sampler2D inputBuffer;void main(){gl_FragColor=texture2D(inputBuffer,vUv);gVelocity=vec4(0.0);}`,FS=class extends RI{constructor(){super({name:"PassthroughMaterial",uniforms:{inputBuffer:new hg(null)},blending:Ct,depthWrite:!1,depthTest:!1,vertexShader:drA,fragmentShader:urA})}set inputBuffer(A){this.uniforms.inputBuffer.value=A}},DrA=class extends KC{constructor(){super("TAAResolvePass"),this.MRTCompatible=!0,this.needsSwap=!1,this.passThroughMaterial=new FS,this.resolutionVector=new mA,this.resolveMaterial=new RI({name:"TAAResolveMaterial",uniforms:{inputBuffer:new hg(null),historyBuffer:new hg(null),velocityBuffer:new hg(null),depthBuffer:new hg(null),resolution:new hg(new mA)},blending:Ct,depthWrite:!1,depthTest:!1,vertexShader:lrA,fragmentShader:crA}),this.historyRenderTarget=new FI(1024,1024,{minFilter:Ve,stencilBuffer:!1,depthBuffer:!1}),this.historyRenderTarget.texture.name="TAA.History",this.resultRenderTarget=new FI(1024,1024,{minFilter:Ve,stencilBuffer:!1,depthBuffer:!1}),this.resultRenderTarget.texture.name="TAA.Output"}setSize(A,g){this.historyRenderTarget.setSize(A,g),this.resultRenderTarget.setSize(A,g)}render(A,g){this.fullscreenMaterial=this.resolveMaterial,this.resolveMaterial.uniforms.inputBuffer.value=g.texture[0],this.resolveMaterial.uniforms.velocityBuffer.value=g.texture[1],this.resolveMaterial.uniforms.depthBuffer.value=g.depthTexture,this.resolveMaterial.uniforms.historyBuffer.value=this.historyRenderTarget.texture,this.resolveMaterial.uniforms.resolution.value.set(g.width,g.height),A.setRenderTarget(this.resultRenderTarget),A.render(this.scene,this.camera),this.fullscreenMaterial=this.passThroughMaterial,this.passThroughMaterial.inputBuffer=this.resultRenderTarget.texture,A.setRenderTarget(this.historyRenderTarget),A.render(this.scene,this.camera);let e=this.renderToScreen?null:g;this.fullscreenMaterial=this.passThroughMaterial,this.passThroughMaterial.inputBuffer=this.resultRenderTarget.texture,A.setRenderTarget(e),A.render(this.scene,this.camera)}dispose(){this.resultRenderTarget.dispose(),this.historyRenderTarget.dispose(),this.resolveMaterial.dispose(),this.passThroughMaterial.dispose()}},prA=class extends KC{constructor(A,g,e){super("TransmissionPass",void 0,g),this.MRTCompatible=!0,this.depthPass=new Pv(A,g,{renderTarget:e.transmissionDepthTarget}),this.passThroughMaterial=new FS,this.splineScene=A,this.needsSwap=!1}updatePasses(A){this.passThroughMaterial=new FS,this.depthPass=new Pv(this.splineScene,this.camera,{renderTarget:A.transmissionDepthTarget})}setCamera(A){this.camera=A}setScene(A){this.splineScene=A}render(A,g,e){let I=this.camera.layers.mask,i=A;i.setRenderTarget(i.transmissionRenderTarget),this.fullscreenMaterial=this.passThroughMaterial,this.passThroughMaterial.inputBuffer=g.texture[0],i.clear(),i.render(this.scene,this.camera),this.camera.layers.disable(3),this.depthPass.render(A,g,e),i.shadowMap.needsUpdate=!1,i.shadowMap.autoUpdate=!1;let t=this.renderToScreen?null:g;this.camera.layers.set(3),A.setRenderTarget(t),A.render(this.splineScene,this.camera),this.camera.layers.mask=I}},Vv=new rs,yrA=new RI({transparent:!0,vertexShader:`
        void main() {
            gl_Position = vec4(0.0);
        }
    `,fragmentShader:`
        layout(location = 1) out vec4 gVelocity;

        void main() {
            gl_FragColor = vec4(0.0);
			gVelocity = vec4(0.0);
        }
    `}),RS=class extends KC{constructor(A,g,e){super("OpaquePass",g??Vv,e),this.MRTCompatible=!0,this.hasTransmissionPass=!1,this.clear=!0,this.clearColorOnly=!1,this.clearDepth=!1,this.needsSwap=!1,this.originalMaterials=new Map,this.MRTCompatible=A}setCamera(A){this.camera=A}setScene(A){this.scene=A??Vv}getScene(){return this.scene}render(A,g){this.camera.layers.enable(3),this.hasTransmissionPass&&(this.originalMaterials.clear(),this.scene.traverse(I=>{I.layers.isEnabled(3)&&I instanceof RC&&(this.originalMaterials.set(I.id,I.material),I.material=yrA)}),A.shadowMap.needsUpdate=!0,A.shadowMap.autoUpdate=!0),this.camera.layers.enable(8);let e=this.renderToScreen?null:g;A.setRenderTarget(e),this.clearColorOnly&&A.clear(!0,!1,!0),this.clear&&A.clear(),A.render(this.scene,this.camera),this.clearDepth&&A.clear(!1,!0,!1),this.hasTransmissionPass&&this.originalMaterials.forEach((I,i)=>{let t=this.scene.getObjectById(i);t&&(t.material=I)})}},wrA=class{constructor(A,{depthBuffer:g=!0,stencilBuffer:e=!1,multisampling:I=0,frameBufferType:i=0}={}){this.renderer=A,this.helperStartIndex=0,this.copyPass=new NS,this.depthTexture=null,this.timer=new LaA,this._width=1,this._height=1,this.passes=[],this.helperPasses=[],this.autoRenderToScreen=!0,this.inputBuffer=this.createBuffer(g,e,i,I,!0,"input buffer mrt"),this.inputBufferSingle=this.createBuffer(g,e,i,I,!1," input buffer single"),this.inputBufferSingle.texture.dispose(),this.inputBufferSingle.depthTexture.dispose(),this.inputBufferSingle.texture=this.inputBuffer.texture[0],this.inputBufferSingle.depthTexture=this.inputBuffer.depthTexture,this.outputBuffer=this.inputBuffer.clone(),this.outputBuffer.name="output buffer mrt",this.outputBufferSingle=this.createBuffer(g,e,i,I,!1,"output buffer single"),this.outputBufferSingle.texture.dispose(),this.outputBufferSingle.depthTexture.dispose(),this.outputBufferSingle.texture=this.outputBuffer.texture[0],this.outputBufferSingle.depthTexture=this.outputBuffer.depthTexture,this.setRenderer(A)}get multisampling(){return this.inputBuffer.samples||0}set multisampling(A){let g=this.inputBuffer,e=this.multisampling;e>0&&A>0?(this.inputBuffer.samples=A,this.outputBuffer.samples=A,this.inputBuffer.dispose(),this.outputBuffer.dispose()):e!==A&&(this.inputBuffer.dispose(),this.outputBuffer.dispose(),console.log("creating new input buffer"),this.inputBuffer=this.createBuffer(g.depthBuffer,g.stencilBuffer,g.texture.type,A,!0,"new input buffer"),this.inputBuffer.depthTexture=this.depthTexture,this.outputBuffer=this.inputBuffer.clone())}getTimer(){return this.timer}getRenderer(){return this.renderer}setRenderer(A){if(this.renderer=A,A!==null){let g=A.getSize(new mA),e=A.getContext().getContextAttributes()?.alpha??!1,I=this.inputBuffer.texture[0].type;I===cC&&A.outputEncoding===je&&(this.inputBuffer.texture[0].encoding=je,this.outputBuffer.texture[0].encoding=je,this.inputBuffer.dispose(),this.outputBuffer.dispose(),console.log("doing some kinda dispose??")),A.autoClear=!1,this.setSize(g.width,g.height,!1);for(let i of this.passes)i.initialize(A,e,I)}}replaceRenderer(A,g=!0){let e=this.renderer,I=e.domElement.parentNode;return this.setRenderer(A),g&&I!==null&&(I.removeChild(e.domElement),I.appendChild(A.domElement)),e}createDepthTexture(){let A=this.depthTexture=new NE(this._width,this._height);return this.inputBuffer.depthTexture=A,this.inputBuffer.stencilBuffer?(A.format=SQ,A.type=cQ):A.type=ts,A}deleteDepthTexture(){if(this.depthTexture!==null){this.depthTexture.dispose(),this.depthTexture=null,this.inputBuffer.depthTexture=null,this.inputBuffer.dispose();for(let A of this.passes)A.setDepthTexture(null)}}createBuffer(A,g,e,I,i,t){let C=this.renderer,o=C===null?new mA:C.getDrawingBufferSize(new mA),a={minFilter:Ve,magFilter:Ve,wrapS:hi,wrapT:hi,stencilBuffer:g,depthBuffer:A},r;return I>0?(r=new FI(o.width,o.height,a),r.samples=I):(i?(r=new z4(o.width,o.height,2,a),r.texture[1].type=ns):r=new FI(o.width,o.height,a),r.depthTexture=new NE(2048,2048),r.depthTexture.type=tt),e===cC&&C!==null&&C.outputEncoding===je&&(Array.isArray(r.texture)?r.texture.forEach(s=>s.encoding=je):r.texture.encoding=je),Array.isArray(r.texture)?r.texture.forEach((s,B)=>{s.name=`EffectComposer.Buffer ${i} ${B}`,s.generateMipmaps=!1}):(r.texture.name=`EffectComposer.Buffer ${i}`,r.texture.generateMipmaps=!1),r.name=t,r}addPass(A,g){let e=this.passes,I=this.renderer,i=I.getDrawingBufferSize(new mA),t=I.getContext().getContextAttributes()?.alpha??!1,C;if(A.MRTCompatible&&(C=this.inputBuffer.texture[0].type),A.MRTCompatible||(C=this.inputBuffer.texture.type),A.setRenderer(I),A.setSize(i.width,i.height),A.initialize(I,t,C),this.autoRenderToScreen&&(e.length>0&&(e[e.length-1].renderToScreen=!1),A.renderToScreen&&(this.autoRenderToScreen=!1)),g!==void 0?e.splice(g,0,A):e.push(A),this.autoRenderToScreen&&(e[e.length-1].renderToScreen=!0),A.needsDepthTexture||this.depthTexture!==null)if(this.depthTexture===null){let o=this.createDepthTexture();for(A of e)A.setDepthTexture(o)}else A.setDepthTexture(this.depthTexture)}setHelperStartIndex(A){this.helperStartIndex=A}removePass(A){let g=this.passes,e=g.indexOf(A);if(e!==-1&&g.splice(e,1).length>0){if(this.depthTexture!==null){let I=(i,t)=>i||t.needsDepthTexture;g.reduce(I,!1)||A.getDepthTexture()===this.depthTexture&&A.setDepthTexture(null)}this.autoRenderToScreen&&e===g.length&&(A.renderToScreen=!1,g.length>0&&(g[g.length-1].renderToScreen=!0))}}removeAllPasses(){let A=this.passes;A.length>0&&(this.autoRenderToScreen&&(A[A.length-1].renderToScreen=!1),this.passes=[])}render(A){let g=this.renderer,e=this.copyPass,I=this.inputBuffer,i=this.outputBuffer,t=this.inputBufferSingle,C=this.outputBufferSingle,o=!1,a,r,s,B;A===void 0&&(A=this.timer.update().getDelta());for(let Q of this.passes)Q.enabled&&(Q.MRTCompatible?Q.render(g,I,i,A,o):Q.render(g,t,C,A,o),Q.needsSwap&&(o&&(e.renderToScreen=Q.renderToScreen,a=g.getContext(),r=g.state.buffers.stencil,r.setFunc(a.NOTEQUAL,1,4294967295),e.render(g,I,i,A,o),r.setFunc(a.EQUAL,1,4294967295)),s=I,B=t,I=i,t=C,i=s,C=B),Q instanceof qaA?o=!0:Q instanceof QaA&&(o=!1))}setSize(A,g,e){let I=this.renderer;if(this._width=A,this._height=g,A===void 0||g===void 0){let t=I.getSize(new mA);A=t.width,g=t.height}I.setSize(A,g,e);let i=I.getDrawingBufferSize(new mA);this.inputBuffer.setSize(i.width,i.height),this.outputBuffer.setSize(i.width,i.height),this.inputBufferSingle.setSize(i.width,i.height),this.outputBufferSingle.setSize(i.width,i.height);for(let t of this.passes)t.setSize(i.width,i.height)}reset(){let A=this.timer.isAutoResetEnabled();this.dispose(),this.autoRenderToScreen=!0,this.timer.setAutoResetEnabled(A)}dispose(){for(let A of this.passes)A.dispose();this.passes=[],this.inputBuffer!==null&&this.inputBuffer.dispose(),this.outputBuffer!==null&&this.outputBuffer.dispose(),this.inputBufferSingle!==null&&this.inputBufferSingle.dispose(),this.outputBufferSingle!==null&&this.outputBufferSingle.dispose(),this.deleteDepthTexture(),this.copyPass.dispose(),this.timer.dispose()}},frA=new RI({name:"CombineMaterial",uniforms:{inputBufferA:new hg(null),inputBufferB:new hg(null)},blending:Ct,depthWrite:!1,depthTest:!1,vertexShader:`
varying vec2 vUv;
void main() {
    gl_Position = vec4(position.xy, 1.0, 1.0);
    vUv = position.xy * 0.5 + 0.5;
}
`,fragmentShader:`
    varying vec2 vUv;
    uniform sampler2D inputBufferA;
    uniform sampler2D inputBufferB;

    // TODO: Why do we need these when postpro of framemode is enabled???
    layout(location = 1) out vec4 gVelocity;

    void main() {
	vec4 resA = texture2D(inputBufferA, vUv);
	vec4 resB = texture2D(inputBufferB, vUv);
    float a = resA.a + resB.a * ( 1.0 - resA.a );

	vec4 res;
	res.rgb =  resA.rgb + (resB.rgb * (1.0 - resA.a));
	res.a = resA.a + resB.a * (1.0 - resA.a);
	gl_FragColor = res;
    gVelocity = vec4(0.0);
    }
`}),SrA=class extends KC{constructor(A){super("HelperPass",void 0,A),this.MRTCompatible=!1,this.fullscreenMaterial=frA,this.helperPass=new RS(!1,void 0,this.camera),this.helperPass.hasTransmissionPass=!1,this.helperPass.clear=!1,this.helperPass.renderToScreen=!1,this.helperPassOnTop=new RS(!1,void 0,this.camera),this.helperPassOnTop.hasTransmissionPass=!1,this.helperPassOnTop.clear=!1,this.helperPassOnTop.renderToScreen=!1;let g=new g2({preset:oQ.LOW,edgeDetectionMode:Hp.COLOR});this.effectPass=new Ep(this.camera,g),this.rt=new FI(10,10,{minFilter:Ve,magFilter:Ve,wrapS:hi,wrapT:hi,depthBuffer:!0})}setSize(A,g){this.rt.setSize(A,g),this.effectPass.setSize(A,g)}set sceneHelpers(A){this.helperPass.setScene(A)}get sceneHelpers(){return this.helperPass.getScene()}set sceneHelpersOnTop(A){this.helperPassOnTop.setScene(A)}get sceneHelpersOnTop(){return this.helperPassOnTop.getScene()}setCamera(A){this.helperPass.setCamera(A),this.helperPassOnTop.setCamera(A)}initialize(A,g,e){super.initialize(A,g,e),this.effectPass.initialize(A,g,e)}dispose(){super.dispose(),this.rt.dispose(),this.effectPass.dispose()}render(A,g,e){this.rt.depthTexture=g.depthTexture;let I=A.getClearAlpha();A.setClearAlpha(0),this.helperPass.clearDepth=!0,this.helperPass.clearColorOnly=!0,this.helperPass.render(A,this.rt),this.helperPassOnTop.render(A,this.rt),this.effectPass.renderToScreen=!1,this.effectPass.render(A,this.rt,e),this.fullscreenMaterial.uniforms.inputBufferA.value=e.texture,this.fullscreenMaterial.uniforms.inputBufferB.value=g.texture,A.setClearAlpha(I),A.setRenderTarget(null),A.clear(),A.render(this.scene,this.camera)}},GrA=`#define GLSLIFY 1
#include <skinning_pars_vertex>
out vec3 n;void main(){
#include <beginnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
#include <defaultnormal_vertex>
#include <begin_vertex>
#include <skinning_vertex>
vec4 view_space=viewMatrix*modelMatrix*vec4(transformed,1.0);gl_Position=projectionMatrix*view_space;n=normalize(transformedNormal);}`,mrA=`#define GLSLIFY 1
in vec3 n;void main(){gl_FragColor=vec4(n,1.0);}`,MrA=`#define GLSLIFY 1
out vec2 v_uv;void main(){v_uv=uv;gl_Position=vec4(position.xy,1.0,1.0);}`,krA=`#define GLSLIFY 1
in vec2 v_uv;const float pi=3.14159265;const float num_steps=4.0;const float num_directions=4.0;uniform float near;uniform float far;uniform float fov;uniform vec4 proj_info;uniform bool is_ortho;uniform vec2 resolution;uniform float radius_of_influence;uniform float radius_in_screen_space;uniform float exponent;uniform vec3 ao_color;uniform float bias;uniform sampler2D texture_depth;uniform sampler2D texture_normals;uniform sampler2D texture_blue_noise;uniform sampler2D texture_blue_noise_in_disk;uniform sampler2D texture_color_pass;uniform int frame_index;uniform bool fog_enabled;uniform float fog_near;uniform float fog_far;vec3 uv_to_view_space(vec2 uv,float eye_z){return vec3((uv*proj_info.xy+proj_info.zw)*(is_ortho ? 1.0 : eye_z),eye_z);}float linearize_depth(float depth_sampled){float z=is_ortho ? depth_sampled : depth_sampled*2.0-1.0;return mix((2.0*near*far)/(far+near-z*(far-near)),near+z*(far-near),float(is_ortho));}vec3 get_view_position(vec2 uv_coords){float linear_depth=linearize_depth(texture(texture_depth,uv_coords).x);return uv_to_view_space(uv_coords,linear_depth);}vec3 min_difference(vec3 p,vec3 right,vec3 left){vec3 v1=right-p;vec3 v2=p-left;return(dot(v1,v1)<dot(v2,v2))? v1 : v2;}vec3 rebuild_normal(in vec2 uv,in vec3 p){vec2 one_over_resolution=1.0/resolution;vec3 r=get_view_position(uv+vec2(one_over_resolution.x,0));vec3 l=get_view_position(uv+vec2(-one_over_resolution.x,0));vec3 t=get_view_position(uv+vec2(0,one_over_resolution.y));vec3 b=get_view_position(uv+vec2(0,-one_over_resolution.y));return normalize(cross(min_difference(p,r,l),min_difference(p,t,b)));}float falloff(float distance_squared){float neg_inv_r2=-1.0/(radius_of_influence*radius_of_influence);return distance_squared*neg_inv_r2+1.0;}float ao_contribution(vec3 P,vec3 N,vec3 S){vec3 to_sample=S-P;float norm_squared=dot(to_sample,to_sample);float norm=sqrt(norm_squared);float cos_theta=dot(N,to_sample)/norm;return clamp(cos_theta-bias,0.0,1.0)*clamp(falloff(norm_squared),0.0,1.0);}float compute_ambient_occlusion(vec2 uv,float radius_in_screen_space,vec3 pc,vec3 view_space_n){vec2 one_over_resolution=1.0/resolution;ivec2 noise_uv=ivec2(int(mod(gl_FragCoord.x,128.0)),int(mod(gl_FragCoord.y,128.0)));float noise=texelFetch(texture_blue_noise,noise_uv,0).r;noise=fract(noise+0.61803398875*float(frame_index));float theta=noise*2.0*3.1415;float ct=cos(theta);float st=sin(theta);float step_size=radius_in_screen_space/(num_steps+1.0);const float angle_step=2.0*pi/num_directions;float contribution=0.0;for(int i=0;i<int(num_directions);++i){float current_pixel=step_size+1.0;for(int j=0;j<int(num_steps);++j){int index=i*int(num_steps)+j;vec2 blue_noise_sample=texelFetch(texture_blue_noise_in_disk,ivec2(index,0),0).rg;vec2 disk_point;disk_point.x=blue_noise_sample.x*ct-blue_noise_sample.y*st;disk_point.y=blue_noise_sample.x*st+blue_noise_sample.y*ct;vec2 sample_direction=disk_point;vec2 snapped_uv=round(current_pixel*sample_direction)*one_over_resolution+uv;vec3 ps=get_view_position(snapped_uv);current_pixel+=step_size;contribution+=ao_contribution(pc,view_space_n,ps);}}float mult=1.0/(1.0-bias);contribution*=mult/(num_directions*num_steps);return clamp(1.0-contribution*2.0,0.0,1.0);}
#define USE_GBUFFER_NORMALS
void main(){vec3 view_space_p=get_view_position(v_uv);
#ifdef USE_GBUFFER_NORMALS
vec3 view_space_n=texture(texture_normals,v_uv).rgb;view_space_n.z*=-1.0;
#else
vec3 view_space_n=-rebuild_normal(v_uv,view_space_p);
#endif
float radius_ss=radius_in_screen_space/(is_ortho ? 1.0 : view_space_p.z);float ao=compute_ambient_occlusion(v_uv,radius_ss,view_space_p,view_space_n);float final=pow(ao,exponent);if(view_space_p.z>=far){final=1.0;}vec3 color=mix(ao_color,vec3(1.0),final);if(fog_enabled){float fog_factor=smoothstep(fog_near,fog_far,view_space_p.z);color=mix(color,vec3(1.0),fog_factor);}gl_FragColor=vec4(color,1.0);}`,UrA=`#define GLSLIFY 1
out vec2 v_uv;void main(){gl_Position=vec4(position.xy,1.0,1.0);v_uv=uv;}`,NrA=`#define GLSLIFY 1
in vec2 v_uv;uniform sampler2D texture_ao_lrez;uniform sampler2D texture_depth_lrez;uniform sampler2D texture_depth_hrez;uniform float near;uniform float far;float linearize_depth(float depth_sampled){float z=depth_sampled*2.0-1.0;return(2.0*near*far)/(far+near-z*(far-near));}vec2 nearest_depth_filter(in vec2 uv){vec2 resolution=vec2(textureSize(texture_depth_lrez,0));vec2 texel_size=1.0/resolution;vec2 offset=uv-0.5*texel_size;float d_hrez=texture(texture_depth_hrez,uv).r;float a=abs(d_hrez-texture(texture_depth_lrez,offset).r);float b=abs(d_hrez-texture(texture_depth_lrez,offset+vec2(texel_size.x,0.0)).r);float c=abs(d_hrez-texture(texture_depth_lrez,offset+vec2(0.0,texel_size.y)).r);float d=abs(d_hrez-texture(texture_depth_lrez,offset+vec2(texel_size.x,texel_size.y)).r);float min_diff=min(a,min(b,min(c,d)));if(min_diff==a)return offset;if(min_diff==b)return offset+vec2(texel_size.x,0.0);if(min_diff==c)return offset+vec2(0.0,texel_size.y);if(min_diff==d)return offset+vec2(texel_size.x,texel_size.y);}void main(){
#ifdef DEBUG
float d_lrez=texture(texture_depth_lrez,v_uv).r;float d_hrez=texture(texture_depth_hrez,v_uv).r;float output_d=mix(linearize_depth(d_lrez)/far,linearize_depth(d_hrez)/far,step(0.5,v_uv.x));gl_FragColor=vec4(vec3(output_d),1.0);
#else
vec2 filtered_uv=nearest_depth_filter(v_uv);vec4 ao=texture(texture_ao_lrez,filtered_uv);gl_FragColor=vec4(ao.rgb,1.0);gl_FragColor=ao;
#endif
}`,fl=[[.478712,.875764],[-.337956,-.793959],[-.955259,-.028164],[.864527,.325689],[.209342,-.395657],[-.106779,.672585],[.156213,.235113],[-.413644,-.082856],[-.415667,.323909],[.141896,-.93998],[.954932,-.182516],[-.766184,.410799],[-.434912,-.458845],[.415242,-.078724],[.728335,-.491777],[-.058086,-.066401],[.20299,.686837],[-.808362,-.556402],[.507386,-.640839],[-.723494,-.22924],[.48974,.317826],[-.622663,.765301],[-.01064,.929347],[.663146,.647618],[-.096674,-.413835],[.525945,-.321063],[-.122533,.366019],[.195235,-.687983],[-.563203,.098748],[.418563,.561335],[-.378595,.800367],[.826922,.001024],[-.085372,-.766651],[-.92192,.183673],[-.590008,-.721799],[.167751,-.164393],[.032961,-.56253],[.6329,-.107059],[-.46408,.569669],[-.173676,-.958758],[-.242648,-.234303],[-.275362,.157163],[.382295,-.795131],[.562955,.115562],[.190586,.470121],[.770764,-.297576],[.237281,.93105],[-.666642,-.455871],[-.905649,-.298379],[.33952,.157829],[.701438,-.7041],[-.062758,.160346],[-.220674,.957141],[.642692,.432706],[-.77339,-.015272],[-.671467,.24688],[.158051,.062859],[.806009,.527232],[-.05762,-.247071],[.333436,-.51671],[-.550658,-.315773],[-.652078,.589846],[.008818,.530556],[-.210004,.519896]],FrA=new RI({vertexShader:GrA,fragmentShader:mrA}),Wn=new RI({vertexShader:UrA,fragmentShader:NrA,uniforms:{texture_ao_lrez:new hg(null),texture_depth_lrez:new hg(null),texture_depth_hrez:new hg(null),near:new hg(null),far:new hg(null)}}),RrA=class extends KC{constructor(A,g){super("AmbientOcclusionPass",void 0,g),this.fogEnabled=!1,this.fogNear=1,this.fogFar=1e3,this.frameIndex=0,this._runHalfRes=!0,this._width=1,this._height=1;let e=1024,I=1024;this.gBuffer=new FI(e,I,{type:Nc?ns:tt,depthTexture:new NE(e,I),minFilter:Ve,magFilter:Ve}),this.depthBufferHighRes=new FI(e,I,{depthTexture:new NE(e,I)}),this.aoBuffer=new FI(e,I,{minFilter:Ve,magFilter:Ve}),this.splineScene=A,this.splineCamera=g;let i=new Float32Array(fl.length*2);for(let C=0;C<fl.length;C++){let o=C*2;i[o+0]=fl[C][0],i[o+1]=fl[C][1]}this.blueNoiseInDiskTexture=new vo(i,fl.length,1,DD,tt),this.blueNoiseInDiskTexture.wrapS=is,this.blueNoiseInDiskTexture.wrapT=is,this.blueNoiseInDiskTexture.needsUpdate=!0,this.hbaoMaterial=new RI({vertexShader:MrA,fragmentShader:krA,uniforms:{near:new hg(null),far:new hg(null),fov:new hg(null),proj_info:new hg(new Ue),is_ortho:new hg(!1),resolution:new hg(new mA),radius_of_influence:new hg(8),radius_in_screen_space:new hg(1),exponent:new hg(1),ao_color:new hg(new x),bias:new hg(.5),texture_depth:new hg(null),texture_normals:new hg(null),texture_blue_noise:new hg(null),texture_blue_noise_in_disk:new hg(this.blueNoiseInDiskTexture),frame_index:new hg(0),fog_enabled:new hg(!1),fog_near:new hg(1),fog_far:new hg(1e3)}}),this.radius=128,this.aoColor={r:0,g:0,b:0},this.bias=.5,this.hbaoMaterial.uniforms.texture_depth.value=this.gBuffer.depthTexture,this.hbaoMaterial.uniforms.texture_normals.value=this.gBuffer.texture,this.needsSwap=!0,this.aaBuffer=new FI(e,I,{minFilter:Ve,magFilter:Ve,wrapS:hi,wrapT:hi,depthBuffer:!1,type:tt});let t=new g2({preset:oQ.ULTRA,edgeDetectionMode:Hp.COLOR});this.effectPass=new Ep(this.camera,t)}initialize(A,g,e){super.initialize(A,g,e),this.effectPass.initialize(A,g,e)}setBlueNoiseTexture(A){this.hbaoMaterial.uniforms.texture_blue_noise.value=A}setSize(A,g){this._width=A,this._height=g,this.depthBufferHighRes.setSize(A,g);let e=this._runHalfRes?.5:1,I=A*e,i=g*e;this.gBuffer.setSize(I,i),this.aoBuffer.setSize(I,i),this.hbaoMaterial.uniforms.resolution.value.set(I,i),this.aaBuffer.setSize(I,i),this.effectPass.setSize(I,i)}get runHalfRes(){return this._runHalfRes}set runHalfRes(A){this._runHalfRes=A,this.setSize(this._width,this._height)}setCamera(A){this.splineCamera=A}setScene(A){this.splineScene=A}setDepthTexture(A){this.depthBufferHighRes.depthTexture=A,Wn.uniforms.texture_depth_hrez.value=A,Wn.needsUpdate=!0}render(A,g,e){this.splineScene.overrideMaterial=FrA;let I=this.splineCamera.layers.mask;if(this.splineCamera.layers.set(5),A.setRenderTarget(this.gBuffer),A.clear(),A.render(this.splineScene,this.splineCamera),A.setRenderTarget(this.depthBufferHighRes),A.clear(),A.render(this.splineScene,this.splineCamera),this.splineScene.overrideMaterial=null,this.splineCamera.layers.mask=I,this.hbaoMaterial.uniforms.radius_of_influence.value=this.radius,this.hbaoMaterial.uniforms.ao_color.value.set(this.aoColor.r,this.aoColor.g,this.aoColor.b),this.hbaoMaterial.uniforms.bias.value=this.bias,this.hbaoMaterial.uniforms.fog_enabled.value=this.fogEnabled,this.hbaoMaterial.uniforms.fog_near.value=this.fogNear,this.hbaoMaterial.uniforms.fog_far.value=this.fogFar,this.hbaoMaterial.uniforms.frame_index.value=this.frameIndex,this.frameIndex++,this.splineCamera.isPerspectiveCamera){this.hbaoMaterial.uniforms.near.value=this.splineCamera.perspCamera.near,this.hbaoMaterial.uniforms.far.value=this.splineCamera.perspCamera.far;let i=this.splineCamera.perspCamera.projectionMatrix.elements,t=2/i[0],C=2/i[5],o=-(1-i[8])/i[0],a=-(1+i[9])/i[5];this.hbaoMaterial.uniforms.proj_info.value.set(t,C,o,a);let r=this.splineCamera.perspCamera.fov*(Math.PI/180),s=this.hbaoMaterial.uniforms.resolution.value.y/(Math.tan(r*.5)*2),B=this.hbaoMaterial.uniforms.radius_of_influence.value*.5*s;this.hbaoMaterial.uniforms.radius_in_screen_space.value=B,this.hbaoMaterial.uniforms.is_ortho.value=!1}else{this.hbaoMaterial.uniforms.near.value=this.splineCamera.orthoCamera.near,this.hbaoMaterial.uniforms.far.value=this.splineCamera.orthoCamera.far;let i=this.splineCamera.orthoCamera.projectionMatrix.elements,t=2/i[0],C=2/i[5],o=-(1+i[12])/i[0],a=-(1-i[13])/i[5];this.hbaoMaterial.uniforms.proj_info.value.set(t,C,o,a);let r=.5*(this.hbaoMaterial.uniforms.resolution.value.y/C),s=this.hbaoMaterial.uniforms.radius_of_influence.value*r;this.hbaoMaterial.uniforms.radius_in_screen_space.value=s,this.hbaoMaterial.uniforms.is_ortho.value=!0}this.runHalfRes?(this.fullscreenMaterial=this.hbaoMaterial,A.setRenderTarget(this.aoBuffer),A.clear(),A.render(this.scene,this.camera),this.fullscreenMaterial=Wn,Wn.uniforms.texture_ao_lrez.value=this.aoBuffer.texture,Wn.uniforms.texture_depth_lrez.value=this.gBuffer.depthTexture,Wn.uniforms.texture_depth_hrez.value=this.depthBufferHighRes.depthTexture,A.setRenderTarget(A.aoRenderTarget),A.clear(),A.render(this.scene,this.camera)):(this.fullscreenMaterial=this.hbaoMaterial,A.setRenderTarget(this.aaBuffer),A.clear(),A.render(this.scene,this.camera),this.effectPass.renderToScreen=!1,this.effectPass.render(A,this.aaBuffer,A.aoRenderTarget))}dispose(){this.gBuffer.dispose(),this.depthBufferHighRes.dispose(),this.aoBuffer.dispose()}},vrA=`
varying vec2 vUv;
void main() {
    vUv = uv;
    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}`,KrA=`
uniform sampler2D tInput;
uniform sampler2D tMap;
uniform vec2 resolution;
varying vec2 vUv;

uniform vec2 uResolution;
uniform vec2 uCoords;

// Draws a rectangle at center <st> with size <size>
float rectangle(vec2 st, vec2 size) {
    size = vec2(0.5) - size * 0.5;
    vec2 uv = vec2(step(size.x, st.x), step(size.y, st.y));
    uv *= vec2(step(size.x, 1.0 - st.x), step(size.y, 1.0 - st.y));

    return uv.x * uv.y;
}

uniform vec2 uSize;
uniform float uScale;
uniform float uDPR;
uniform float uCurrent;
uniform vec3 uSceneColor;

void main() {
    vec2 screenUv = gl_FragCoord.xy / uResolution.xy;
    screenUv *= 1.0 / uDPR;

    vec2 center = vec2(0.5, -0.5);
    vec2 outsideUv = screenUv;
    outsideUv += center;
    outsideUv -= uCoords.xy / uResolution.xy;
    outsideUv = (outsideUv - 0.5) + 0.5;
    outsideUv -= center;
    vec2 s = (uSize / uResolution) * uScale;
    float isOutside = 1.0 - rectangle(outsideUv, s);
    
    vec2 mid = vec2(0.5);
    vec2 insideUv = (screenUv - mid + s * mid) / s;
    vec4 background = texture2D(tInput, screenUv);
    vec4 image = texture2D(tMap, insideUv);
    gl_FragColor = mix(image, background, isOutside);
}
`,JrA=class extends aa{constructor(){super(new RI({vertexShader:vrA,fragmentShader:KrA,uniforms:{tInput:new hg(null),tMap:new hg(null),uResolution:new hg(new mA),uSize:new hg(new mA),uCoords:new hg(new mA),uScale:new hg(1),uSceneColor:new hg(new de(16711680)),uDPR:new hg(1),uCurrent:new hg(0)}}),"tInput"),this.needsSwap=!0}get uniforms(){return this.fullscreenMaterial.uniforms}get texture(){return this.uniforms.tMap.value}set texture(A){this.uniforms.tMap.value=A}},qrA=`
void main() {
    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}`,brA=`
uniform sampler2D toScene;
uniform sampler2D fromScene;
uniform vec2 resolution;

uniform vec2 uResolution;
uniform float uDPR;

uniform float mixRatio;
uniform sampler2D tMixTexture;
uniform int useTexture;
uniform float threshold;

void main() {
	vec2 screenUv = gl_FragCoord.xy / uResolution.xy;
	screenUv *= 1.0 / uDPR;

	vec4 texel1 = texture2D( fromScene, screenUv );
	vec4 texel2 = texture2D( toScene, screenUv );

	if (useTexture==1) {
		
		vec4 transitionTexel = texture2D( tMixTexture, screenUv );
		float r = mixRatio * (1.0 + threshold * 2.0) - threshold;
		float mixf=clamp((transitionTexel.r - r)*(1.0/threshold), 0.0, 1.0);
		
		gl_FragColor = mix( texel1, texel2, mixf );
	} else {
		
		gl_FragColor = mix( texel1, texel2, mixRatio );
		
	}
}
`,LrA=[],xrA=class extends aa{constructor(){super(new RI({vertexShader:qrA,fragmentShader:brA,uniforms:{toScene:new hg(null),fromScene:new hg(null),uResolution:new hg(new mA),uDPR:new hg(1),mixRatio:new hg(0),threshold:new hg(.1),useTexture:new hg(0),tMixTexture:{value:LrA[0]}}}),"toScene"),this.needsSwap=!0}get uniforms(){return this.fullscreenMaterial.uniforms}get texture(){return this.uniforms.fromScene.value}set texture(A){this.uniforms.fromScene.value=A}},YrA=`
void main() {
    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}`,HrA=`
uniform sampler2D inputBuffer;
uniform sampler2D blurredInputBuffer;
uniform sampler2D overlay;
uniform float blurIntensity;

uniform vec2 uResolution;
uniform float uDPR;

void main() {
	vec2 screenUv = gl_FragCoord.xy / uResolution.xy;
	screenUv *= 1.0 / uDPR;

	vec4 texel1 = texture2D( overlay, screenUv );
	vec4 texel2 = texture2D( inputBuffer, screenUv );
	vec4 texel3 = texture2D( blurredInputBuffer, screenUv );

	float blurMask2 = max(sign(texel1.a), 0.0) * blurIntensity;
    gl_FragColor = mix( mix(texel2, texel3, blurMask2), texel1, texel1.a );
}
`,TrA=class extends aa{constructor(){super(new RI({vertexShader:YrA,fragmentShader:HrA,uniforms:{inputBuffer:new hg(null),blurredInputBuffer:new hg(null),overlay:new hg(null),uResolution:new hg(new mA),uDPR:new hg(1),blurIntensity:new hg(0)}})),this._blurEnabled=!1,this.blurTarget=new FI(1,1,{minFilter:Ve,magFilter:Ve,wrapS:hi,wrapT:hi}),this.blurPass=new Bm({width:window.innerWidth,height:window.innerHeight,kernelSize:Tp.HUGE,resolutionScale:.25}),this.blurPass.renderToScreen=!1,this.uniforms.blurredInputBuffer.value=this.blurTarget.texture}get uniforms(){return this.fullscreenMaterial.uniforms}get texture(){return this.uniforms.overlay.value}set texture(A){this.uniforms.overlay.value=A}setResolution(A,g,e=1){this.uniforms.uResolution.value.set(A,g),this.uniforms.uDPR.value=e,this.blurPass.setSize(A,g),this.blurTarget.setSize(A,g),this.blurPass.setSize(A,g)}get uiCanvas(){return this._uiCanvas}set uiCanvas(A){this._uiCanvas=A,A.texture&&(this.uniforms.overlay.value=A.texture);let g=A.frame;if(g){let e=g.data.backgroundBlur,I=e.radius;this._blurEnabled=e.enabled,this.uniforms.blurIntensity.value=this._blurEnabled?1:0,this.blurPass.scale=I/3}}render(A,g,e,I,i){this._blurEnabled&&(this.blurPass.setDepthTexture(this.getDepthTexture()),this.blurPass.render(A,g,this.blurTarget,I,i)),super.render(A,g,e,I,i)}};function Zv(A,g){return g&&g.enabled&&A.push(g.effect),A}var OrA=A=>Object.values(dI).includes(A)?A:dI.NORMAL,_rA=class extends tC{constructor(A,g){super(),this._needsDOFResize=g,this.postprocessingState=$D.defaultData,this._scene=new rs,this._camera=new lC,this.effects=new Map,this.blueNoiseTexture=new vo,this._renderToScreen=!0,this._isUIOverlayEnabled=!1,this.clock=new Yz,this.renderer=A,this.debug=!1,this.effects.set("bloom",new orA),this.effects.set("chromaticAberration",new rrA),this.effects.set("vignette",new nrA),this.effects.set("noise",new QrA),this.effects.set("colorAverage",new srA),this.effects.set("hueSaturation",new BrA),this.effects.set("brightnessContrast",new arA),this.effects.set("depthOfField",new ErA),this.effects.set("pixelation",new hrA),this.effectComposer=new wrA(this.renderer),this.effectComposer.autoRenderToScreen=!1,this.opaquePass=new RS(!0,this.scene,this.camera),this.opaquePass.clear=!0,this.transmissionPass=new prA(this.scene,this.camera,this.renderer),this.aoPass=new RrA(this.scene,this.camera),this.taaPass=new DrA,this.taaPass.renderToScreen=!1,this.helperPass=new SrA(this.camera),this.helperPass.renderToScreen=!1,this.stylesOverlayPass=new JrA,this.stylesOverlayPass.enabled=!1,this.uiOverlayPass=new TrA,this.uiOverlayPass.enabled=!1,this.sceneTransitionPass=new xrA,this.sceneTransitionPass.enabled=!1,this._initCopyPass(),this._initPasses()}set overlayTexture(A){A!==void 0?(this.stylesOverlayPass.texture=A,this.stylesOverlayPass.enabled=!0):this.stylesOverlayPass.enabled=!1}get overlayTexture(){return this.stylesOverlayPass.texture}set sceneHelpers(A){this.helperPass.sceneHelpers=A}get sceneHelpers(){return this.helperPass.sceneHelpers}set sceneHelpersOnTop(A){this.helperPass.sceneHelpersOnTop=A}get sceneHelpersOnTop(){return this.helperPass.sceneHelpersOnTop}get scene(){return this._scene}set scene(A){this._scene=A,this.opaquePass.setScene(A),this.transmissionPass.setScene(A),this.aoPass.setScene(A)}get camera(){return this._camera}set camera(A){let g=this._camera!==A;this._camera=A,this.opaquePass.setCamera(A),this.transmissionPass.setCamera(A),g&&this.transmissionPass.updatePasses(this.renderer),this.aoPass.setCamera(A),this.helperPass.setCamera(A),this.effects.get("depthOfField").setCamera(A)}updateRenderToScreen(){let A=!1;for(let g=this.effectComposer.passes.length-1;g>=0;g--){let e=this.effectComposer.passes[g];if(e.enabled===!0&&!A&&this._renderToScreen){e.renderToScreen=!0,A=!0;continue}e.renderToScreen=!1}}get isUIOverlayEnabled(){return this._isUIOverlayEnabled}disableUIOverlay(){this._isUIOverlayEnabled=!1}enableUIOverlay(){this._isUIOverlayEnabled=!0}disableHelpers(){this.helperPass.enabled=!1,this.updateRenderToScreen()}enableHelpers(){this.helperPass.enabled=!0,this.updateRenderToScreen()}updateBlueNoiseTexture(A){this.blueNoiseTexture=new vo(A,128,128),this.blueNoiseTexture.wrapS=is,this.blueNoiseTexture.wrapT=is,this.blueNoiseTexture.minFilter=qI,this.blueNoiseTexture.magFilter=qI,this.blueNoiseTexture.needsUpdate=!0}setAmbientOcclusionParams(A,g,e,I,i,t,C,o){this.aoPass.enabled=A,this.aoPass.radius=g,this.aoPass.bias=e,this.aoPass.aoColor=I,this.aoPass.fogEnabled=i,this.aoPass.fogNear=t,this.aoPass.fogFar=C,this.aoPass.runHalfRes!==!o&&(this.aoPass.runHalfRes=!o)}setTransmissionPassEnabled(A){this.transmissionPass.enabled=A,this.opaquePass.hasTransmissionPass=A}_initPasses(){if(this.uvEffectPass?.dispose(),this.effectPass?.dispose(),this.effectComposer.removeAllPasses(),this.transmissionPass.updatePasses(this.renderer),this.effectComposer.addPass(this.aoPass),this.effectComposer.addPass(this.opaquePass),this.effectComposer.addPass(this.transmissionPass),this.effectComposer.addPass(this.taaPass),this.postprocessingState.enabled){let A=[this.effects.get("pixelation")].reduce(Zv,[]);A.length>0&&(this.uvEffectPass=new Ep(this.camera,...A),this.uvEffectPass.renderToScreen=!1,this.effectComposer.addPass(this.uvEffectPass));let g=[this.effects.get("chromaticAberration"),this.effects.get("bloom"),this.effects.get("depthOfField"),this.effects.get("colorAverage"),this.effects.get("hueSaturation"),this.effects.get("brightnessContrast"),this.effects.get("vignette"),this.effects.get("noise")].reduce(Zv,[]);if(g.length>0&&(this.effectPass=new Ep(this.camera,...g),this.effectPass.renderToScreen=!1,this.effectComposer.addPass(this.effectPass),this._needsDOFResize&&this.effects.get("depthOfField")?.enabled&&window!==void 0)){let e=this.renderer.viewportWidth,I=this.renderer.viewportHeight;this.renderer.setSize(e-1,I-1),this.renderer.setSize(e,I)}}this.effectComposer.addPass(this.stylesOverlayPass),this.effectComposer.addPass(this.uiOverlayPass),this.effectComposer.addPass(this.sceneTransitionPass),this.effectComposer.addPass(this.helperPass)}_initCopyPass(){if(this._savePass)return;let A=new mA;this.renderer.getDrawingBufferSize(A),this._rt=new FI(A.x,A.y,{depthBuffer:!1,stencilBuffer:!1,wrapS:is,wrapT:is}),this._rt.samples=0,this._savePass=new NS(this._rt,!1),this._savePass.renderToScreen=!1}setCopyPass(A){this._rt=A,this._savePass=new NS(this._rt,!1),this.renderToScreen=!1}get renderToScreen(){return this._renderToScreen}set renderToScreen(A){if(this._renderToScreen===A)return;let g=this.effectComposer;!g||(A===!0?g.removePass(this._savePass):g.addPass(this._savePass),this._renderToScreen=A,this.updateRenderToScreen())}set sceneTransitionFromTexture(A){A!==this.sceneTransitionPass.texture&&(A!==null?this.sceneTransitionPass.enabled=!0:(this.sceneTransitionPass.enabled=!1,this.updateRenderToScreen()),this.sceneTransitionPass.texture=A)}get texture(){return this._rt&&this._rt.texture}get renderTarget(){return this._rt}updatePostprocessing(A){let{enabled:g,...e}=A,I=!1;g!==this.postprocessingState.enabled&&(I=!0);for(let i of Object.entries(e)){let t=i[1],C=this.effects.get(i[0]);if(C){C.enabled!==t.enabled&&(I=!0),C.enabled=t.enabled;for(let[o,a]of Object.entries(t))o==="blendFunction"?C.blendFunction=OrA(a):C[o]=a}}this.postprocessingState=A,I&&this._initPasses()}render(){this.effectComposer.render(this.clock.getDelta())}setScissor(A,g,e,I){A instanceof Ue?(this.effectComposer.inputBuffer.scissor.set(A.x,A.y,A.z,A.w),this.effectComposer.outputBuffer.scissor.set(A.x,A.y,A.z,A.w)):(this.effectComposer.inputBuffer.scissor.set(A,g,e,I),this.effectComposer.outputBuffer.scissor.set(A,g,e,I));let i=this.renderer.getPixelRatio();this.effectComposer.inputBuffer.scissor.multiplyScalar(i),this.effectComposer.outputBuffer.scissor.multiplyScalar(i),this.renderer.setScissor(A,g,e,I)}setScissorTest(A){this.effectComposer.inputBuffer.scissorTest=A,this.effectComposer.outputBuffer.scissorTest=A,this.renderer.setScissorTest(A)}setViewport(A,g,e,I){A instanceof Ue?(this.effectComposer.inputBuffer.viewport.copy(A),this.effectComposer.outputBuffer.viewport.copy(A)):(this.effectComposer.inputBuffer.viewport.set(A,g,e,I),this.effectComposer.outputBuffer.viewport.set(A,g,e,I))}resize(A,g,e){if(this.effectComposer.setSize(A,g,e),this._rt){let I=this.renderer.getPixelRatio();this._rt.setSize(A*I,g*I)}}dispose(){this.uvEffectPass?.dispose(),this.effectPass?.dispose(),this.effectComposer.dispose()}},PrA=A=>`

// PCSS implementation based on:
// https://www.gamedev.net/articles/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/
// NOTE: This number affects how big the shadow blur can
// possibly get. Bigger number == bigger blur, but less precise results

const float  gPenumbraFilterSize = 80.0;
const int   gPenumbraSamples = ${A};
const int gShadowSamples = ${A};
const float gShadowSamplesRpc = 1.0f / float(gShadowSamples);

#ifdef USE_SHADOWMAP
    #if NUM_DIR_LIGHT_SHADOWS > 0

        uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];
        varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];

        struct DirectionalLightShadow {
            float shadowBias;
            float shadowNormalBias;
            float shadowRadius;
            vec2 shadowMapSize;
        };

        uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];

    #endif

    #if NUM_SPOT_LIGHT_SHADOWS > 0

        uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];
        varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_SHADOWS ];

        struct SpotLightShadow {
            float shadowBias;
            float shadowNormalBias;
            float shadowRadius;
            vec2 shadowMapSize;
        };

        uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];

    #endif

    #if NUM_POINT_LIGHT_SHADOWS > 0

        uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];
        varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];

        struct PointLightShadow {
            float shadowBias;
            float shadowNormalBias;
            float shadowRadius;
            vec2 shadowMapSize;
            float shadowCameraNear;
            float shadowCameraFar;
        };

        uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];

    #endif

    /*
    #if NUM_RECT_AREA_LIGHTS > 0

        // TODO (abelnation): create uniforms for area light shadows

    #endif
    */

float computePenumbra(int index, sampler2D shadowMap, float temporalAngle, float texelSize, vec2 uv, float compare, float texelScalar, float shadowRadius)
{
    float penumbra = 1.0;
    float blockerDepthAvg = 0.0;
    float blockerCount = 0.0;

    #pragma unroll_loop_start
    for(int i = 0; i < gPenumbraSamples; i ++)
    {
        vec2 offset = (vogelDiskSample(i, gShadowSamples, temporalAngle) * texelSize) * texelScalar;
        float depth = unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) );

        if(depth < compare + 0.0001)
        {
            blockerDepthAvg += depth;
            blockerCount++;
        }
    }
    #pragma unroll_loop_end

    if (blockerCount > 0.0)
    {
        blockerDepthAvg /= blockerCount;

        // Compute penumbra
        penumbra = (compare - blockerDepthAvg) / (blockerDepthAvg);
        penumbra *= penumbra;
        penumbra *= 200.0 * penumbraSize[min(index, 5 - 1)]; // Magic number that affects how quickly the penumbra grows

        return clamp(penumbra, 0.00, 1.0);
    }
    return 0.0;
}

float vogelShadow(int index, sampler2D shadowMap, vec2 uv, float texelSize, float compare, float shadowRadius)
{
    float shadow         = 0.0f;

    // NOTE: When using TAA, we should use screen space interleaved gradient noise
    vec2 halton = haltonSequence[frameIndex];
    float temporalOffset = getNoiseInterleavedGradient(gl_FragCoord.xy + halton);
    float temporalAngle  = temporalOffset * PI2;

    float texelScalar = (gPenumbraFilterSize) / (texelSize * 1024.);
    float penumbra = computePenumbra(index, shadowMap, temporalAngle, texelSize, uv, compare, texelScalar, shadowRadius);
    if (penumbra == -1.0) {
        return 1.0;
    }

    #pragma unroll_loop_start
    for (int i = 0; i < gShadowSamples; i++)
    {
        vec2 vogelSample =  vogelDiskSample(i, gShadowSamples, temporalAngle) * texelSize;
        // Overall blurring offset
        vec2 offset = vogelSample * (shadowRadius * 2.);

        // Penumbra offset
        offset += vogelSample * (penumbra * texelScalar);

        shadow += step( compare, unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) ) );
    }
    #pragma unroll_loop_end

    return shadow * gShadowSamplesRpc;
}


    float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {

        return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );

    }

    vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {

        return unpackRGBATo2Half( texture2D( shadow, uv ) );

    }

    float VSMShadow (sampler2D shadow, vec2 uv, float compare ){

        float occlusion = 1.0;

        vec2 distribution = texture2DDistribution( shadow, uv );

        float hard_shadow = step( compare , distribution.x ); // Hard Shadow

        if (hard_shadow != 1.0 ) {

            float distance = compare - distribution.x ;
            float variance = max( 0.00000, distribution.y * distribution.y );
            float softness_probability = variance / (variance + distance * distance ); // Chebeyshevs inequality
            softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); // 0.3 reduces light bleed
            occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );

        }
        return occlusion;

    }

    float getShadow( int i, sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {

        float shadow = 1.0;

        shadowCoord.xyz /= shadowCoord.w;
        shadowCoord.z += shadowBias;

        // if ( something && something ) breaks ATI OpenGL shader compiler
        // if ( all( something, something ) ) using this instead

        bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );
        bool inFrustum = all( inFrustumVec );

        bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );

        bool frustumTest = all( frustumTestVec );

        if ( frustumTest ) {

        #if defined( SHADOWMAP_TYPE_PCF )

            vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
            return vogelShadow(i, shadowMap, shadowCoord.xy, texelSize.x, shadowCoord.z, shadowRadius );

        #elif defined( SHADOWMAP_TYPE_PCF_SOFT )

            vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
            float dx = texelSize.x;
            float dy = texelSize.y;

            vec2 uv = shadowCoord.xy;
            vec2 f = fract( uv * shadowMapSize + 0.5 );
            uv -= f * texelSize;

            shadow = (
                texture2DCompare( shadowMap, uv, shadowCoord.z ) +
                texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +
                texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +
                texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +
                mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),
                     texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),
                     f.x ) +
                mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),
                     texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),
                     f.x ) +
                mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),
                     texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),
                     f.y ) +
                mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),
                     texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),
                     f.y ) +
                mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),
                          texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),
                          f.x ),
                     mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),
                          texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),
                          f.x ),
                     f.y )
            ) * ( 1.0 / 9.0 );

        #elif defined( SHADOWMAP_TYPE_VSM )

            shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );

        #else // no percentage-closer filtering:

            shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );

        #endif

        }

        return shadow;

    }

    // cubeToUV() maps a 3D direction vector suitable for cube texture mapping to a 2D
    // vector suitable for 2D texture mapping. This code uses the following layout for the
    // 2D texture:
    //
    // xzXZ
    //  y Y
    //
    // Y - Positive y direction
    // y - Negative y direction
    // X - Positive x direction
    // x - Negative x direction
    // Z - Positive z direction
    // z - Negative z direction
    //
    // Source and test bed:
    // https://gist.github.com/tschw/da10c43c467ce8afd0c4

    vec2 cubeToUV( vec3 v, float texelSizeY ) {

        // Number of texels to avoid at the edge of each square

        vec3 absV = abs( v );

        // Intersect unit cube

        float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );
        absV *= scaleToCube;

        // Apply scale to avoid seams

        // two texels less per square (one texel will do for NEAREST)
        v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );

        // Unwrap

        // space: -1 ... 1 range for each square
        //
        // #X##         dim    := ( 4 , 2 )
        //  # #         center := ( 1 , 1 )

        vec2 planar = v.xy;

        float almostATexel = 1.5 * texelSizeY;
        float almostOne = 1.0 - almostATexel;

        if ( absV.z >= almostOne ) {

            if ( v.z > 0.0 )
                planar.x = 4.0 - v.x;

        } else if ( absV.x >= almostOne ) {

            float signX = sign( v.x );
            planar.x = v.z * signX + 2.0 * signX;

        } else if ( absV.y >= almostOne ) {

            float signY = sign( v.y );
            planar.x = v.x + 2.0 * signY + 2.0;
            planar.y = v.z * signY - 2.0;

        }

        // Transform to UV space

        // scale := 0.5 / dim
        // translate := ( center + 0.5 ) / dim
        return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );

    }

    float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {

        float shadow = 1.0;
        vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );

        // for point lights, the uniform @vShadowCoord is re-purposed to hold
        // the vector from the light to the world-space position of the fragment.
        vec3 lightToPosition = shadowCoord.xyz;

        // dp = normalized distance from light to fragment position
        float compare = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); // need to clamp?
        compare += shadowBias;

        // bd3D = base direction 3D
        vec3 bd3D = normalize( lightToPosition );

        vec2 halton = haltonSequence[frameIndex];
        float temporalOffset = getNoiseInterleavedGradient(gl_FragCoord.xy + halton);
        float temporalAngle  = temporalOffset * PI2;

        #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_VSM )
            for (int i = 0; i < gShadowSamples; i++) {
                vec2 vogelSample = vogelDiskSample(i, gShadowSamples, temporalAngle) * texelSize;

                // Overall blurring offset
                vec3 offset = vec3(vogelSample.x, vogelSample.y, -vogelSample.x) * (shadowRadius + 5.);

                // NOTE: Removed for now
                // Penumbra offset
                //offset += vec3(vogelSample.x, vogelSample.y, vogelSample.y)  * (penumbra * gPenumbraFilterSize);

                shadow += texture2DCompare( shadowMap, cubeToUV( bd3D + offset, texelSize.y ), compare );

            }
            return shadow * gShadowSamplesRpc;

        #elif defined( SHADOWMAP_TYPE_PCF_SOFT )
            for (int i = 0; i < 16; i++) {
                vec2 vogelSample = vogelDiskSample(i, gShadowSamples, temporalAngle) * texelSize;

                // Overall blurring offset
                vec3 offset = vec3(vogelSample.x, vogelSample.y, -vogelSample.x) * (shadowRadius + 5.);

                shadow += texture2DCompare( shadowMap, cubeToUV( bd3D + offset, texelSize.y ), compare );

            }
            return shadow * (1.0 / 16.0);
        #else // no percentage-closer filtering

            return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), compare );

        #endif

    }

#endif
`,jrA=ze.lights_fragment_begin,WrA=ze.shadowmask_pars_fragment,Xv=null,zrA=A=>{switch(A){case"low":return 8;case"medium":return 16;case"high":return 32;default:return 16}},VrA=(A="medium")=>{if(Xv===A)return!1;Xv=A;let g=zrA(A);ze.shadowmap_pars_fragment=PrA(g);let e=jrA.slice();e=e.replace("getShadow( spotShadowMap[ i ]","getShadow( UNROLLED_LOOP_INDEX + 3, spotShadowMap[ i ]"),e=e.replace("getShadow( directionalShadowMap[ i ]","getShadow( UNROLLED_LOOP_INDEX, directionalShadowMap[ i ]"),ze.lights_fragment_begin=e;let I=WrA.slice();return I=I.replaceAll("getShadow(","getShadow( UNROLLED_LOOP_INDEX, "),ze.shadowmask_pars_fragment=I,!0},ZrA=`
attribute vec3 randomColor;
varying vec3 vNormal;
flat out vec3 vColor;
#include <skinning_pars_vertex>

void main()
{
#include <beginnormal_vertex>
#include <skinbase_vertex>
#include <skinnormal_vertex>
vec3 transformed = vec3(position);
#include <skinning_vertex>

vNormal = normal;
vColor = randomColor;
gl_Position = projectionMatrix * (modelViewMatrix * vec4(transformed, 1.0));
}
`,XrA=`
uniform float depthContrast;
varying vec3 vNormal;
flat in vec3 vColor;
void main()
{
vec3 normal = (normalize(vNormal)).rgb;

float contrastDepth = (gl_FragCoord.z - 0.5) * depthContrast + 0.5;

vec3 resultColor = mix(mix(vColor, normal, 0.2), vec3(contrastDepth), 0.4);
gl_FragColor = vec4(resultColor, vColor.r);
gl_FragColor = vec4(resultColor, vColor.r);
}
`,w0=new RI({vertexShader:ZrA,fragmentShader:XrA,uniforms:{depthContrast:{value:1}}}),$v=new yi,$rA=new mA,AsA=class extends bJ{constructor(A){super(A),this._pixelRatio=this.getPixelRatio(),this.viewportWidth=1,this.viewportHeight=1,this.resolution=new mA,this.dummyCamera=new lC,this.sceneTransitionDuration=0,this.sceneTransitionTimeRemaining=-1,this.isXRCopyPassSet=!1,this.clear=(i=!0,t=!0,C=!0)=>{let o=this.getContext(),a=0;i&&(a|=o.COLOR_BUFFER_BIT),t&&(a|=o.DEPTH_BUFFER_BIT),C&&(a|=o.STENCIL_BUFFER_BIT),o.clear(a),o.clearBufferfv(o.COLOR,1,[0,0,0,1])},this.pipeline=new _rA(this,A?.needsDOFResize??!1),this.autoClear=!1;let g=this.setPixelRatio.bind(this),e=this.setSize.bind(this);this.shadowMap.enabled=!0,this.shadowMap.type=XS,this.dummyCamera.matrixAutoUpdate=!1,this.domElement.removeAttribute("data-engine");let I=this.getContext();if(I&&"drawingBufferColorSpace"in I)try{I.drawingBufferColorSpace="display-p3"}catch(i){console.warn(i)}this.setPixelRatio=i=>{this._pixelRatio!==i&&(this._pixelRatio=i,g(i))},this.setSize=(i,t,C=!0)=>{(this.viewportWidth!==i||this.viewportHeight!==t)&&(this.viewportWidth=i,this.viewportHeight=t,e(i,t,C),this.normalRenderTarget?.setSize(i*this._pixelRatio,t*this._pixelRatio),this._resizeTransmission(i,t),this.transmissionDepthTarget?.setSize(i*this._pixelRatio/2,t*this._pixelRatio/2),this.pipeline.resize(i,t,C))},this._superDispose=this.dispose,this.dispose=this._currentDispose}createAORenderTarget(){this.aoRenderTarget===void 0&&(this.aoRenderTarget=new FI(this.viewportWidth*this._pixelRatio,this.viewportHeight*this._pixelRatio,{generateMipmaps:!1,minFilter:Ve,magFilter:Ve,wrapS:hi,wrapT:hi,depthBuffer:!1}))}_resizeTransmission(A,g){this.transmissionRenderTarget?.setSize(A*this._pixelRatio/(this.hdTransmission?1:2),g*this._pixelRatio/(this.hdTransmission?1:2)),this.aoRenderTarget?.setSize(A*this._pixelRatio/1,g*this._pixelRatio/1)}get hdTransmission(){return pe.transmissionLod.value===1}set hdTransmission(A){pe.transmissionLod.value=A===!0?1:2,this._resizeTransmission(this.viewportWidth,this.viewportHeight)}createTransmissionRenderTarget(){this.transmissionRenderTarget===void 0&&(this.transmissionRenderTarget=new FI(this.viewportWidth*this._pixelRatio/(this.hdTransmission?1:2),this.viewportHeight*this._pixelRatio/(this.hdTransmission?1:2),{generateMipmaps:!0,minFilter:kE,magFilter:Ve,wrapS:hi,wrapT:hi,depthBuffer:!1}),this.transmissionDepthTarget=new FI(this.viewportWidth*this._pixelRatio/2,this.viewportHeight*this._pixelRatio/2,{minFilter:qI,magFilter:qI,depthBuffer:!1}))}createNormalRenderTarget(){this.normalRenderTarget===void 0&&(this.normalRenderTarget=new FI(this.viewportWidth*this._pixelRatio,this.viewportHeight*this._pixelRatio,{generateMipmaps:!1,minFilter:qI,magFilter:qI,type:tt,depthTexture:new NE(this.viewportWidth*this._pixelRatio,this.viewportHeight*this._pixelRatio)}))}renderNormal(A,g,e){this.normalRenderTarget&&(this.setClearColor(0),e.layers.enable(8),e.layers.disable(0),e.layers.disable(3),g.traverseEntity(I=>{I.layers.isEnabled(8)&&(I.copyPreviousMatrix=!1)}),this.setRenderTarget(this.normalRenderTarget),this.clear(),e instanceof lC?w0.uniforms.depthContrast.value=(e.far-e.near)/1e4:w0.uniforms.depthContrast.value=1,g.overrideMaterial=w0,this.render(g,e),this.setClearColor(g.bgColor,g.bgColor.a),this.setRenderTarget(null),g.overrideMaterial=A.wireframeState?xS:null,e.layers.enable(0),e.layers.enable(3),g.traverseEntity(I=>{I.layers.isEnabled(8)&&(I.copyPreviousMatrix=!0)}))}renderSplineSceneWithDummyCamera(A,g,e=1){this.dummyCamera.updateCameraState(g.dataPatched),this.dummyCamera.matrix.copy(g.matrixWorld);let I=g.height,i=g.width,t=this.viewportWidth/this.viewportHeight;i<I?i=I*t:I=i/t,this.dummyCamera.setViewplaneSize(i,I);for(let C=0;C<e;C++)this.renderSplineScene(A,this.dummyCamera)}renderSplineScene(A,g,{sceneHelpers:e=void 0,sceneHelpersOnTop:I=void 0,overrideTransmission:i=void 0,overrideNormal:t=void 0}={}){let C=A instanceof dm?A.activePage:A,o=C.visible;C.visible=!0;let a=C.scene;this.xr.enabled&&(this.isXRCopyPassSet===!1&&this.getRenderTarget()!==null&&(this.pipeline.setCopyPass(this.getRenderTarget()),this.isXRCopyPassSet=!0),this.xr.updateCamera(g)),this.setClearColor(C.bgColor,C.bgColor.a),C.penumbraSizeArray.forEach((Q,n)=>{pe.penumbraSize.value[n]=Q}),pe.pixelRatioNode.value=this.getPixelRatio(),this.resolution.x!==0&&this.resolution.y!==0?pe.resolution.value.set(this.resolution.x,this.resolution.y):pe.resolution.value.set(this.viewportWidth*this._pixelRatio,this.viewportHeight*this._pixelRatio),t!==void 0?(pe.normalRenderTarget.value=t,pe.normalRenderTargetDepth.value=$v):a.needsNormal()&&(this.createNormalRenderTarget(),pe.normalRenderTarget.value=this.normalRenderTarget.texture,pe.normalRenderTargetDepth.value=this.normalRenderTarget.depthTexture,this.renderNormal(a,C,g));let r=C.data.ao,s=r.occlusion;if(s&&(this.createAORenderTarget(),pe.aoRenderTarget.value=this.aoRenderTarget.texture),pe.aoEnabled.value=s,this.pipeline.setAmbientOcclusionParams(r.occlusion,r.radius,r.bias,C.aoColor,C.fog!==null,C.backupFog.near,C.backupFog.far,r.aoFullRes&&!Nc),this.pipeline.aoPass.setBlueNoiseTexture(this.pipeline.blueNoiseTexture),this.pipeline.isUIOverlayEnabled&&C.uiCanvas?.enabled&&C.uiCanvas.texture&&C.uiCanvas.texture.image.width>0){let Q=this.getSize($rA),n=this.getPixelRatio();(C.uiCanvas.width!==this.viewportWidth||C.uiCanvas.height!==this.viewportHeight||C.uiCanvas.dpr!==n)&&C.uiCanvas.applySize({width:this.viewportWidth,height:this.viewportHeight},n),C.uiCanvas.render(this),this.pipeline.uiOverlayPass.uiCanvas=C.uiCanvas,this.pipeline.uiOverlayPass.enabled=!0,this.pipeline.uiOverlayPass.setResolution(Q.x,Q.y,n),this.pipeline.updateRenderToScreen()}else this.pipeline.uiOverlayPass.enabled=!1,this.pipeline.updateRenderToScreen();let B=!1;if(i!==void 0)pe.transmissionRenderTarget.value=i,pe.transmissionRenderTargetDepth.value=$v,this.pipeline.setTransmissionPassEnabled(!1);else{let Q=a.needsTransmission();Q&&(this.transmissionRenderTarget===void 0&&(B=!0),this.createTransmissionRenderTarget(),pe.transmissionRenderTarget.value=this.transmissionRenderTarget.texture,pe.aspectRatio.value=eCA(this.viewportWidth,this.viewportHeight),pe.transmissionRenderTargetDepth.value=this.transmissionDepthTarget.texture),this.pipeline.setTransmissionPassEnabled(Q)}g.layers.enable(3),g.layers.enable(8),this.pipeline.sceneHelpers=e,this.pipeline.sceneHelpersOnTop=I,this.pipeline.scene=C,this.pipeline.camera=g,B&&this.pipeline.transmissionPass.updatePasses(this),this.pipeline.postprocessingState!==C.postprocessing&&(this.pipeline.updatePostprocessing(C.postprocessing),!e&&!I&&this.pipeline.disableHelpers()),this.clearAlphaOverride!==void 0&&this.setClearAlpha(this.clearAlphaOverride),C.overrideMaterial=a.wireframeState?xS:null,this.pipeline.render(),pe.frameIndex.value=(pe.frameIndex.value+1)%16,g instanceof lC&&g.copyHistory(),C.visible=o}renderFromSceneForSceneTransitionPass(A,g,e){this.pipeline.renderToScreen=!1,this.pipeline.renderTarget,this.renderSplineScene(A,g),this.pipeline.sceneTransitionFromTexture=this.pipeline.renderTarget.texture,this.sceneTransitionDuration=e,this.sceneTransitionTimeRemaining=e,this.pipeline.renderToScreen=!0;let I=this.pipeline.sceneTransitionPass.uniforms;I.uDPR.value=window.devicePixelRatio,I.uResolution.value.set(this.domElement.width,this.domElement.height).divideScalar(window.devicePixelRatio)}_currentDispose(){this._superDispose(),this.pipeline.dispose(),this.aoRenderTarget?.dispose(),this.transmissionRenderTarget?.dispose(),this.transmissionDepthTarget?.dispose(),this.normalRenderTarget?.dispose(),this.normalRenderTarget?.depthTexture?.dispose()}},e2=class extends vc(IV){constructor(A,g=15,e=10066329){super(A,g,e),this.object=A,this.added=!1,this.name=`DirectionalLightHelper: ${A.uuid}`}raycast(A,g){Kc(this.object,e2.geometryHelper,A,g)}},I2=class extends vc(eV){constructor(A,g=15,e=6710886){super(A,g,e),this.object=A,this.name=`PointLightHelper: ${A.uuid}`}raycast(A,g){Kc(this.object,I2.geometryHelper,A,g)}},vS=class extends vc(gV){constructor(A,g=6710886){super(A,g),this.object=A,this.name=`SpotLightHelper: ${A.uuid}`}raycast(A,g){Kc(this.object,vS.geometryHelper,A,g)}update(){if(this.object!==void 0){let A=vS._vector,g=this.object.distance?this.object.distance:1e3,e=g*Math.tan(this.object.angle);this.cone.scale.set(e,e,g),A.setFromMatrixPosition(this.object.target.matrixWorld),this.cone.lookAt(A);let I=this.color!==void 0?this.color:this.light.color;if(this.cone.material instanceof Array)for(let i=0,t=this.cone.material.length;i<t;i++)this.cone.material[i].color.set(I);else this.cone.material.color.set(I)}}},i2=vS;i2._vector=new x;function gsA(A,g){A.shadow.camera.right=g/2,A.shadow.camera.left=-g/2,A.shadow.camera.top=g/2,A.shadow.camera.bottom=-g/2,A.shadow.needsUpdate=!0}var t2=class extends rm(xz,e2){constructor(A,g,e){super(),this.super_Entity(A,g),this.castShadow=!0,this.shadow.mapSize.width=2048,this.shadow.mapSize.height=2048,this.shadow.normalBias=1,this.layers.enable(3);let I=this.shadow.camera;I.top=1250,I.bottom=-1250,I.right=1250,I.left=-1250,I.near=-1e4,I.far=2500;let i=new FD(this.shadow.camera);i.visible=!1,this.gizmos.shadowmap=i}update(){this.shadow.camera.updateProjectionMatrix();for(let A in this.gizmos){let g=this.gizmos[A];g instanceof FD&&g.update()}}updateMatrixWorld(A){super.updateMatrixWorld(A),this.objectHelper&&this.objectHelper.update()}updateState(A,g){this.updateState_Light(A,g);let e=A.depth!==void 0&&A.depth!==this.shadow.camera.far||A.size!==void 0&&A.size/2!==this.shadow.camera.right;A.size!==void 0&&gsA(this,A.size),A.shadowRadius!==void 0&&(this.shadow.radius=A.shadowRadius),A.shadowResolution!==void 0&&(this.shadow.mapSize.set(A.shadowResolution,A.shadowResolution),this.shadow.map&&(this.shadow.map.dispose(),this.shadow.map=null)),A.penumbraSize!==void 0&&g.scene.markPenumbraSizeDirty(),e&&this.update()}},AK=new x,gK=new x,eK=new ke,C2=class extends rm(Jz,i2){constructor(A,g,e){super(),this.super_Entity(A,g),this.castShadow=!0,this.shadow.mapSize.width=1024,this.shadow.mapSize.height=1024,this.shadow.normalBias=1,this.layers.enable(3);let I=this.shadow.camera;I.fov=Xg.RAD2DEG*2*this.angle,I.aspect=1,I.near=100,I.far=2500;let i=new FD(this.shadow.camera);i.visible=!1,this.gizmos.shadowmap=i,this.update()}update(){this.shadow.camera.updateProjectionMatrix();for(let A in this.gizmos){let g=this.gizmos[A];g instanceof FD&&g.update()}}updateMatrixWorld(A){super.updateMatrixWorld(A),gK.setFromMatrixPosition(this.matrixWorld),eK.setFromRotationMatrix(this.matrixWorld),AK.copy(this.up).applyQuaternion(eK).negate().multiplyScalar(this.distance),this.target.position.copy(gK).add(AK),this.target.updateMatrixWorld(),this.objectHelper&&this.objectHelper.update()}updateState(A,g){this.updateState_Light(A,g),A.distance!==void 0&&(this.distance=A.distance),A.decay!==void 0&&(this.decay=A.decay),A.angle!==void 0&&(this.angle=A.angle),A.penumbra!==void 0&&(this.penumbra=A.penumbra),A.shadowRadius!==void 0&&(this.shadow.radius=A.shadowRadius),A.penumbraSize!==void 0&&g.scene.markPenumbraSizeDirty(),A.shadowResolution!==void 0&&(this.shadow.mapSize.set(A.shadowResolution,A.shadowResolution),this.shadow.map&&(this.shadow.map.dispose(),this.shadow.map=null))}};function esA(A){let g=(A[0][0]+A[1][1])/2,e=(A[0][0]-A[1][1])/2,I=(A[1][0]+A[0][1])/2,i=(A[1][0]-A[0][1])/2,t=Math.sqrt(g*g+i*i),C=Math.sqrt(e*e+I*I),o=t+C,a=t-C,r=Math.atan2(I,e),s=Math.atan2(i,g),B=(s-r)/2,Q=(s+r)/2,n=[[Math.cos(Q),Math.sin(Q)],[-Math.sin(Q),Math.cos(Q)]],E=[[o,0],[0,a]],l=[[Math.cos(B),Math.sin(B)],[-Math.sin(B),Math.cos(B)]];return n[0][0]*=-1,n[0][1]*=-1,l[0][0]*=-1,l[1][0]*=-1,[n,E,l]}function nD(A,g){return[[A[0][0]*g[0][0]+A[0][1]*g[1][0],A[0][0]*g[0][1]+A[0][1]*g[1][1]],[A[1][0]*g[0][0]+A[1][1]*g[1][0],A[1][0]*g[0][1]+A[1][1]*g[1][1]]]}function IK(A){return[[A[0][0],A[1][0]],[A[0][1],A[1][1]]]}function IsA(A){let[g,e,I]=esA(A),i=nD(g,IK(I)),t=nD(nD(I,e),IK(I)),C=Math.atan2(i[1][0],i[0][0]),o=[t[0][0],t[1][1]],a=[t[0][1]/t[1][1],t[1][0]/t[0][0]];return{rotation:C,scale:o,shear:a}}function isA({rotation:A,scale:g,shear:e}){let I=Math.cos(A),i=Math.sin(A),t=[[I,-i],[i,I]],C=[[g[0],e[0]*g[1]],[e[1]*g[0],g[1]]],o=nD(t,C);return[o[0][0],o[1][0],o[0][1],o[1][1]]}var fI;(A=>{function g(){return[1,0,0,0,1,0,0,0,1]}A.identity=g;function e(U,N=A.identity()){for(let G=0,R=U.length;G<R;G++)N[G]=U[G];return N}A.copy=e;function I(U,N,G,R,J,q){return A.setAbcdef(A.identity(),U,N,G,R,J,q)}A.create=I;function i(U,N,G,R,J,q,T){return U[0]=N,U[1]=R,U[2]=q,U[3]=G,U[4]=J,U[5]=T,U}A.setAbcdef=i;function t(U,N){let[G,R,J,q,T,P]=o(U),[H,eA,rA,BA,aA,yA]=o(N),SA=H*G+eA*J,pA=H*R+eA*q,wA=rA*G+BA*J,RA=rA*R+BA*q,kA=aA*G+yA*J+T,UA=aA*R+yA*q+P;return A.create(SA,pA,wA,RA,kA,UA)}A.append=t;function C(U,N){let[G,R,J,q,T,P]=o(U),[H,eA,rA,BA,aA,yA]=o(N),SA=G,pA=R,wA=J,RA=q;(H!==1||eA!==0||rA!==0||BA!==1)&&(SA=G*H+R*rA,pA=G*eA+R*BA,wA=J*H+q*rA,RA=J*eA+q*BA);let kA=T*H+P*rA+aA,UA=T*eA+P*BA+yA;return A.create(SA,pA,wA,RA,kA,UA)}A.prepend=C;function o(U){return[U[0],U[3],U[1],U[4],U[2],U[5]]}A.getAbcdef=o;function a(U){let[N,G,R,J,q,T]=A.getAbcdef(U),P=N*J-G*R,H=J/P,eA=-G/P,rA=-R/P,BA=N/P,aA=(R*T-J*q)/P,yA=-(N*T-G*q)/P;return A.create(H,eA,rA,BA,aA,yA)}A.invert=a;function r([U,N],G){let[R,J,q,T,P,H]=A.getAbcdef(G);return[R*U+q*N+P,J*U+T*N+H]}A.apply=r;function s(U,N){let[G,R,J,q,T,P]=A.getAbcdef(N),H=1/(G*q+J*-R),[eA,rA]=U;return[q*H*eA+-J*H*rA+(P*J-T*q)*H,G*H*rA+-R*H*eA+(-P*G+T*R)*H]}A.applyInverse=s;function B(U,N,G=N){let[R,J,q,T,P,H]=A.getAbcdef(U);return A.setAbcdef(U,R*N,J*G,q*N,T*G,P*N,H*G),U}A.scale=B;function Q(U,N){let G=Math.cos(N),R=Math.sin(N),[J,q,T,P,H,eA]=A.getAbcdef(U);return A.setAbcdef(U,J*G-q*R,J*R+q*G,T*G-P*R,T*R+P*G,H*G-eA*R,H*R+eA*G),U}A.rotate=Q;function n(U,N,G){let[R,J]=G,q=A.translate(U,-R,-J);return q=A.rotate(q,N),q=A.translate(q,R,J),q}A.rotateAround=n;function E(U,N,G){let[R,J,q,T,P,H]=A.getAbcdef(U);return A.setAbcdef(U,R,J,q,T,P+N,H+G),U}A.translate=E;function l(U,N,G){let[R,J,q,T]=A.getAbcdef(U);return A.setAbcdef(U,R,J,q,T,N,G),U}A.setTranslate=l;function h(U,N,G){let[R,J,q,T]=A.getAbcdef(U);return A.setAbcdef(U,R,J,q,T,N,G),U}A.setPosition=h;function u(U){let[N,G,R,J]=A.getAbcdef(U),q=Math.sqrt(N*N+G*G),T=Math.sqrt(R*R+J*J);return[q,T]}A.getScale=u;function D(U){let[,,,,N,G]=A.getAbcdef(U);return[N,G]}A.getPosition=D;function p(U,N){return A.decompose(U,N).rotation}A.getRotation=p;function w(U,N){let[G,R,J,q,T,P]=A.getAbcdef(U),{rotation:H,scale:eA,shear:rA}=IsA([[G,J],[R,q]]);return{position:[T+(N[0]*G+N[1]*J)-N[0],P+(N[0]*R+N[1]*q)-N[1]],scale:eA,rotation:H,shear:rA,pivot:N}}A.decompose=w;function k(U,N,G,R,J=[0,0]){let[q,T]=U,[P,H]=R,[eA,rA,BA,aA]=isA({rotation:G,scale:N,shear:J}),yA=q-(P*eA+H*BA)+P,SA=T-(P*rA+H*aA)+H;return A.create(eA,rA,BA,aA,yA,SA)}A.compose=k})(fI||(fI={}));var tsA=Math.PI/180,PhA=180/Math.PI;function CsA(A,g,e,I,i,t){let C=A-e,o=g-I;return C*C/(i*i)+o*o/(t*t)<=1}function osA(A){return A*tsA}function asA(A){return{all:A=A||new Map,on:function(g,e){var I=A.get(g);I?I.push(e):A.set(g,[e])},off:function(g,e){var I=A.get(g);I&&(e?I.splice(I.indexOf(e)>>>0,1):A.set(g,[]))},emit:function(g,e){var I=A.get(g);I&&I.slice().map(function(i){i(e)}),(I=A.get("*"))&&I.slice().map(function(i){i(g,e)})}}}var Yt=class{constructor(A,g,e){this.uuid=A,this.data=g,this.localMatrix=fI.identity(),this.worldMatrix=fI.identity(),this.ignoreCameraZoom=!1,this.visible=!0,this._singleBBox=new KS,this._recursiveBBox=new KS,this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0,this.stateSelection=null,this.prevState=null,this.currentState=null,this.reversibleToState=null,this.currentTransitionEvent=null,this.previousAction=null,this.name="",this.position=[0,0],this.scale=[1,1],this.rotation=0,this.shear=[0,0],this.emitter=asA(),this.dpr=e.dpr??1,this.dataPatched=g}project(A,g){let e=this.worldMatrix;return g&&(e=fI.append(g.worldMatrix,e)),fI.applyInverse(A,e)}intersects(A,g,e,I=!1){return this.visible&&!this.data.raycastLock&&this.intersectsInLocalSpace(...this.project([A,g],e),I)}intersectsInLocalSpace(A,g,e=!1){let{min:I,max:i}=e?this.recursiveBBox:this.singleBBox;return A>=I[0]&&A<=i[0]&&g>=I[1]&&g<=i[1]}applyTransforms(A){A.setTransform(this.worldMatrix,this.ignoreCameraZoom)}get singleBBox(){return this.singleBBoxNeedsUpdate&&(this.singleBBoxNeedsUpdate=!1,this._singleBBox.setFromObjectSize(this,!1),this._singleBBox.computeVertices(),this._singleBBox.computeEdges()),this._singleBBox}get recursiveBBox(){return this.recursiveBBoxNeedsUpdate&&(this.recursiveBBoxNeedsUpdate=!1,this._recursiveBBox.setFromObjectSize(this,!0),this._recursiveBBox.computeVertices(),this._recursiveBBox.computeEdges()),this._recursiveBBox}updateLocalMatrix(){this.localMatrix=fI.compose(this.position,this.scale,osA(this.rotation),pQ.getPivot(this.dataPatched),this.shear)}updateWorldMatrix(A,g,e){let I=this.parent;g&&I!==null&&I!==void 0&&I.updateWorldMatrix(A,!0,!1),A&&this.updateLocalMatrix(),this.parent?this.worldMatrix=fI.append(this.parent.worldMatrix,this.localMatrix):this.worldMatrix=fI.copy(this.localMatrix),this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0}get pivot(){return pQ.getPivot(this.data)}getCenter(){return[0,0]}getHalfSize(){return[0,0]}get id(){return this.uuid}resetBBoxNeedsUpdateSelf(){this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0}resetBBoxNeedsUpdate(){this.resetBBoxNeedsUpdateSelf(),this.traverseAncestors(A=>{A.resetBBoxNeedsUpdateSelf()})}updateTransformState(A){let g=!1;A.position!==void 0&&(g=!0,this.position=A.position),A.rotation!==void 0&&(g=!0,this.rotation=A.rotation),A.scale!==void 0&&(g=!0,this.scale=A.scale),A.shear!==void 0&&(g=!0,this.shear=A.shear),g&&(this.updateWorldMatrix(!0,!1,!0),this.resetBBoxNeedsUpdate())}updateByOp(A,g,e){A.type===0&&A.props.visible!==void 0&&(this.visible=A.props.visible),this.data=g,this.data=g;let I=A,i=$I(A.path,["states","*"]);if(i!==null){if(A.type===0){let[t]=i;if(this?.stateSelection===t){let C={...A.props};if(delete C.name,Object.values(A.props).some(o=>o===void 0)){let o=this.data;if(o!==void 0){let a=gC.zoom(o,A.path.slice(2));if(a)for(let r in A.props)A.props[r]===void 0&&r in a&&(C[r]=a[r])}}I={...A,props:C,path:A.path.slice(2)}}}}else if(A.type===0){let t=this.stateSelection?this.data.states.data(this.stateSelection):void 0;if(t!==void 0){if(A.props.name!==void 0&&t.name){let{name:o,...a}=t;t=a}let C=gC.removeOverridden(A.path,A.props,t);I={...A,props:C}}}this.updateByPatchedOpBase(I,QQ.patch(this.data,this.stateSelection?this.data.states.data(this.stateSelection):void 0),e)}changeSelectedState(A,g,e=!1){if(!(this.data.states.length===0&&!e)){for(let I of this.data.states)QQ.toOps(this.data,I.data).forEach(i=>{let t=TD.replaceProps(i,this.data);this.dataPatched=this.data,this.updateByPatchedOp(t,this.data,g)});if(A!==null){let I=this.data.states.data(A);I&&(this.dataPatched=QQ.patch(this.data,I),QQ.toOps(this.data,I).forEach(i=>{this.updateByPatchedOp(i,this.dataPatched,g)}))}e&&this.updateTransformState(this.dataPatched),this.stateSelection=A}}updateState(A,g){A.name!==void 0&&(this.name=A.name),A.visible!==void 0&&(this.visible=A.visible),this.updateTransformState(A)}updateByPatchedOpBase(A,g,e){this.dataPatched=g,this.updateByPatchedOp(A,g,e)}updateByPatchedOp(A,g,e){A.path.length===0&&A.type===0&&this.updateState(A.props,e),this.requestRender()}traverseFrameAncestors(A){this.traverseAncestors(g=>{g.data.type==="frame2d"&&A(g)})}traverseAncestors(A){let g=this.parent;for(;g;)A(g),g=g.parent}requestRender(){this.traverseFrameAncestors(A=>{A.requestRender()})}clone(A){let g=new Yt(this.uuid,this.data,A);return g.parent=void 0,g}addEventListener(A,g){this.emitter.on(A,g)}removeEventListener(A,g){this.emitter.off(A,g)}dispatchEvent(A){this.emitter.emit(A.type,{...A,target:A.target??this})}traverseSortNextHelper(){let A=this.parent;if(A){let g=A.children;if(g){let e=g.indexOf(this)+1;return g[e]?g[e]:A.traverseSortNextHelper()}}}sortNext(){let A=this.children;return A&&A.length>0&&A[0]?A[0]:this.traverseSortNextHelper()}isDescendantOf(A){A instanceof Yt&&(A=A.uuid);let g=this;for(;g.parent;){if(g.parent.uuid===A)return!0;g=g.parent}return!1}},sa=class extends Yt{constructor(A,g,e){super(A,g,e),this.uuid=A,this.data=g,this.context=e,this.children=[]}add(A){A.parent&&A.parent instanceof sa&&A.parent.remove(A),this.children.push(A),A.parent=this}remove(A){let g=this.children.indexOf(A);g>=0&&(this.children.splice(g,1),A.parent=void 0)}traverse(A){let g=A(this);if(g!==!0)for(let e of this.children)e instanceof sa?e.traverse(A):g=A(e)}intersectsChildrenHelper(A,g,e,I,i){for(let t of this.children)if(t.intersects(A,g,e,!1)&&(i.push(t),I)||t instanceof sa&&t.intersectsChildrenHelper(A,g,e,I,i))return!0;return!1}intersectsChildren(A,g,e,I=!1,i=[],t=!1){return this.intersectsChildrenHelper(A,g,e,I,i),i}intersectsChildrenHelperReverse(A,g,e,I,i){for(let t of this.children)if(t instanceof sa&&t.intersectsChildrenHelperReverse(A,g,e,I,i)||t.intersects(A,g,e,!1)&&(i.push(t),I))return!0;return!1}intersectsChildrenReverse(A,g,e,I=!1,i=[],t=!1){return this.intersectsChildrenHelperReverse(A,g,e,I,i),i}updateWorldMatrix(A,g,e){if(super.updateWorldMatrix(A,g,e),e&&this.children)for(let I of this.children)I.updateWorldMatrix(A,!1,!0)}find(A){let g;return this.traverse(e=>{e.uuid===A&&(g=e)}),g}innerDrawChildren(A){for(let g=this.children.length-1;g>=0;g--)this.children[g].draw(A)}resetBBoxNeedsUpdate(){super.resetBBoxNeedsUpdate(),this.traverse(A=>{A.resetBBoxNeedsUpdateSelf()})}clone(A){let g=new sa(this.uuid,this.data,A);g.parent=void 0;for(let e of this.children)g.add(e.clone(A));return g}},fB=class extends sa{constructor(A,g,e){super(A,g,e),this.uuid=A,this.data=g,this.updateState(g,e)}draw(A){!this.visible||(A.save(),this.applyTransforms(A),this.innerDrawChildren(A),A.restore())}clone(A){let g=new fB(this.uuid,this.data,A);g.parent=void 0;for(let e of this.children)g.add(e.clone(A));return g}};function rsA(A,g){let[[e,I],[i,t]]=A,[[C,o],[a,r]]=g,s=(e-i)*(o-r)-(I-t)*(C-a);if(s===0)return!1;let B=((e-C)*(o-r)-(I-o)*(C-a))/s,Q=-((e-i)*(I-o)-(I-t)*(e-C))/s;return B>=0&&B<=1&&Q>=0&&Q<=1}var o2=[[-1,1],[-1,-1],[1,-1],[1,1]],iK=(A,g,e)=>{let I=A.getCenter(),i=A.getHalfSize(),t=fI.append(g,A.worldMatrix);i[0]===0&&i[1]===0?e.push(fI.apply(I,t)):o2.forEach(C=>{let o=[C[0]*i[0]+I[0],C[1]*i[1]+I[1]];e.push(fI.apply(o,t))})},KS=class{constructor(){this.matrix=fI.identity(),this.min=[1/0,1/0],this.max=[-1/0,-1/0],this.vertices=[],this.edges=[]}setFromObjectSize(A,g=!1){A.updateWorldMatrix(),this.makeEmpty(),fI.copy(A.worldMatrix,this.matrix);let e=fI.invert(A.worldMatrix);this.expandByObjectSize(A,e,g)}expandByObjectSize(A,g,e=!1){let I=[];e===!0&&A instanceof sa?A.traverse(i=>{i.visible&&iK(i,g,I)}):iK(A,g,I),this.setFromPoints(I)}setFromSize(A,g,e){this.makeEmpty(),fI.copy(e,this.matrix),this.expandBySize(A,g,e)}expandBySize(A,g,e){[fI.apply([0,0],e),fI.apply([0,g],e),fI.apply([A,g],e),fI.apply([A,0],e)].forEach(I=>this.expandByPoint(I))}getCenter(){let[A,g]=this.min,[e,I]=this.getHalfSize();return fI.apply([A+e,g+I],this.matrix)}getSize(){return[this.max[0]-this.min[0],this.max[1]-this.min[1]]}getHalfSize(){return[(this.max[0]-this.min[0])*.5,(this.max[1]-this.min[1])*.5]}makeEmpty(){this.min=[1/0,1/0],this.max=[-1/0,-1/0]}setFromPoints(A){this.makeEmpty();for(let g of A)this.expandByPoint(g)}expandByPoint(A){this.min=[Math.min(this.min[0],A[0]),Math.min(this.min[1],A[1])],this.max=[Math.max(this.max[0],A[0]),Math.max(this.max[1],A[1])]}computeVertices(){let[A,g]=this.getHalfSize(),e=this.getCenter(),[I,i,t,C]=fI.getAbcdef(this.matrix),o=fI.create(I,i,t,C,e[0],e[1]);this.vertices=o2.map(([a,r])=>fI.apply([a*A,r*g],o))}computeEdges(){this.edges=[];for(let A=0,g=this.vertices.length;A<g;++A)this.edges.push([this.vertices[A],this.vertices[(A+1)%g]])}project(A,g){let e=this.matrix;return g&&(e=fI.append(g.worldMatrix,e)),fI.applyInverse(A,e)}intersects(A,g,e){return this.intersectsInLocalSpace(...this.project([A,g],e))}intersectsInLocalSpace(A,g){let{min:e,max:I}=this;return A>=e[0]&&A<=I[0]&&g>=e[1]&&g<=I[1]}containsPoint(A){let[g,e]=A,[I,i]=this.min,[t,C]=this.max;return g>=I&&g<=t&&e>=i&&e<=C}intersectsBBox2D(A){for(let g=0,e=this.edges.length;g<e;g++){let I=this.edges[g];for(let i=0,t=A.edges.length;i<t;i++){let C=A.edges[i];if(rsA(I,C))return!0}}for(let g=0,e=A.vertices.length;g<e;g++){let I=A.vertices[g];if(this.containsPoint(I))return!0}return!1}ensureMinMax(){let A=this.min,g=this.max;this.min=[Math.min(A[0],g[0]),Math.min(A[1],g[1])],this.max=[Math.max(A[0],g[0]),Math.max(A[1],g[1])]}copy(A){this.min=[...A.min],this.max=[...A.max],fI.copy(A.matrix,this.matrix),this.computeVertices(),this.computeEdges()}clone(){let A=new KS;return A.copy(this),A}},a2,ssA=new Promise(A=>{a2=A}),tK=!1,Wu;function BsA(){if(tK)return;if(Wu)return Wu;async function A(){let g=await Promise.resolve().then(()=>(bk(),qk));a2(g.default??g),tK=!0}return Wu=A(),Wu}function CK(A){let g=!1;return A.scene.objects.traverse((e,I)=>{(I.type==="Mesh"&&I.geometry.type==="UIGeometry"||I.type==="Page"&&I.uiFrame!==void 0)&&(g=!0)}),g}var Le,f0;async function QsA(A){let g=await ssA;Le||(f0||(f0=g({locateFile:()=>A})),Le=await f0)}var oK=fI.identity(),r2=class{constructor(A,g=1){this.canvas=A,this._dpr=g,this._width=0,this._height=0,this._strokeMode="inside",this._layerBlur=0,this._backgroundBlur=0,this._dropShadowBlur=0,this._dropShadowOffsetX=0,this._dropShadowOffsetY=0,this._dropShadowColor=jI.transparent,this._innerShadowBlur=0,this._innerShadowOffsetX=0,this._innerShadowOffsetY=0,this._innerShadowSpread=0,this._innerShadowColor=jI.transparent,this._fonts=new Map,this._isSizeDirty=!1;try{let e=A.getBoundingClientRect();A.width=e.width*g,A.height=e.height*g}catch{console.log(A.width,g)}this._currentM3Transform=oK,this._currentTransform=new Float32Array(oK)}get dpr(){return this._dpr}set dpr(A){this._dpr=A,this._isSizeDirty=!0}async init(){if(!this.wasmURL)throw Error("Your must set the wasm binary url with renderer.wasmURL = ... before you can call renderer.init");await QsA(this.wasmURL),this._surface=Le.MakeWebGLCanvasSurface(this.canvas),this.ctx=this._surface?.getCanvas(),this._paint=new Le.Paint,this._paint.setAntiAlias(!0),this._paintFill=this._paint.copy(),this._paintFill.setStyle(Le.PaintStyle.Fill),this._paintStroke=this._paint.copy(),this._paintStroke.setStyle(Le.PaintStyle.Stroke),this.ctx?.scale(this.dpr,this.dpr)}get currentTransform(){return this._currentM3Transform}get currentTransformBuffer(){return this._currentTransform}set currentTransform(A){this._currentM3Transform=A,this._currentTransform.set(A)}async loadFont(A,g){let e=await(await fetch(A)).arrayBuffer();this.registerFont(e,g)}registerFont(A,g){if(this._fonts.has(g))return;let e=Le.FontMgr.FromData(A);if(e)this._fonts.set(g,e);else throw new Error("Invalid font data for "+g)}get width(){return this._width}get height(){return this._height}set strokeColor(A){this._paintStroke&&this._paintStroke.setColor(zu(A),Le.ColorSpace.DISPLAY_P3)}set fillColor(A){this._paintFill&&this._paintFill.setColor(zu(A),Le.ColorSpace.DISPLAY_P3)}set lineWidth(A){this._paintStroke&&this._paintStroke.setStrokeWidth(this._strokeMode==="center"?A:A*2)}set strokeMode(A){this._strokeMode=A}set dropShadowBlur(A){this._dropShadowBlur=A}set dropShadowColor(A){this._dropShadowColor=A}set dropShadowOffsetX(A){this._dropShadowOffsetX=A}set dropShadowOffsetY(A){this._dropShadowOffsetY=A}set innerShadowBlur(A){this._innerShadowBlur=A}set innerShadowColor(A){this._innerShadowColor=A}set innerShadowOffsetX(A){this._innerShadowOffsetX=A}set innerShadowOffsetY(A){this._innerShadowOffsetY=A}set innerShadowSpread(A){this._innerShadowSpread=A}set layerBlur(A){this._layerBlur=A}set backgroundBlur(A){this._backgroundBlur=A}clear(){this.ctx?.clear(Le.TRANSPARENT)}save(){this.ctx?.save()}restore(){this.ctx?.restore()}beginPath(){this._currentPath?.delete(),this._currentPath=new Le.Path}closePath(){let A=this._currentPath;if(A){if(A.isEmpty())return;let g=A.getBounds();(g[3]-g[1]||g[2]-g[0])&&A.close()}}fill(){this._paintInner(this._paintFill,!0)}stroke(){this._paintInner(this._paintStroke,!1)}clipRect(A,g,e,I,i=0,t=0,C=0,o=0){let a=Le.XYWHRect(A,g,e,I);if(i===0&&t===0&&o===0&&C===0)this.ctx?.clipRect(a,Le.ClipOp.Intersect,!0);else{let r=Le.RRectXY(a,i,i);r[4]=r[5]=i,r[6]=r[7]=t,r[8]=r[9]=C,r[10]=r[11]=o,this.ctx?.clipRRect(r,Le.ClipOp.Intersect,!0)}}_applyShadowOffsetMatrix(){if(this.ctx){let A=fI.invert(this.currentTransform);this.ctx.concat(A);let g=fI.translate(fI.identity(),this._dropShadowOffsetX,this._dropShadowOffsetY);this.ctx.concat(g),this.ctx.concat(this._currentTransform)}}_applyEffectsToPaint(A,g,e=!0){if(this.ctx&&this._currentPath){let I,i=!1;if(e&&this._hasDropShadow()){let t=A.copy();t.setColor(zu(this._dropShadowColor));let C;this._dropShadowBlur>0&&(C=Le.MaskFilter.MakeBlur(Le.BlurStyle.Normal,this._dropShadowBlur*this.dpr*(this.camera?.scale??1),!1),t.setMaskFilter(C)),this.ctx.save(),this.ctx.clipPath(this._currentPath,Le.ClipOp.Difference,!0),this._applyShadowOffsetMatrix(),g(t),this.ctx.restore(),t.delete(),C?.delete()}if(this._backgroundBlur>0&&e){this.ctx.save(),this.ctx.clipPath(this._currentPath,Le.ClipOp.Intersect,!0);let t=Le.ImageFilter.MakeBlur(this._backgroundBlur,this._backgroundBlur,Le.TileMode.Clamp,null),C=A.copy();C.setImageFilter(t),C.setAlphaf(1);let o=this._currentPath.computeTightBounds();this.ctx.saveLayer(C,o,null,Le.SaveLayerInitWithPrevious),this.ctx.drawColor(A.getColor()),this.ctx.restore(),this.ctx.restore(),C.delete(),t.delete(),i=!0}if(this._layerBlur>0){let t=A.copy();I=Le.MaskFilter.MakeBlur(Le.BlurStyle.Normal,this._layerBlur*this.dpr*(this.camera?.scale??1),!1),t.setMaskFilter(I),g(t),t.delete(),I.delete(),i=!0}if(i||g(A),e&&this._hasInnerShadow()){let t=new Le.Paint;t.setAntiAlias(!0),t.setStyle(Le.PaintStyle.Fill),t.setColor(zu(this._innerShadowColor));let C;this._innerShadowBlur>0&&(C=Le.MaskFilter.MakeBlur(Le.BlurStyle.Normal,this._innerShadowBlur*this.dpr*(this.camera?.scale??1),!1),t.setMaskFilter(C));let o=this._currentPath.computeTightBounds(),[a,r,s,B]=o,Q=s-a,n=B-r;this.ctx.save(),this.ctx.clipPath(this._currentPath,Le.ClipOp.Intersect,!0),this.ctx.saveLayer(t,o,null,Le.SaveLayerInitWithPrevious),this.ctx?.translate(this._innerShadowOffsetX,this._innerShadowOffsetY),this.ctx.drawRect(Le.XYWHRect(-1e3-this._innerShadowOffsetX,-1e3-this._innerShadowOffsetY,2e3+Q+Math.abs(this._innerShadowOffsetX*2),2e3+n+Math.abs(this._innerShadowOffsetY*2)),t),t.setBlendMode(Le.BlendMode.Clear),this.ctx.drawPath(this._currentPath,t),this.ctx.restore(),this.ctx.restore(),t.delete(),C?.delete()}}}_paintInner(A,g=!0){if(this.ctx&&this._currentPath&&A){let e=this.ctx,I=this._currentPath;this._applyEffectsToPaint(A,i=>{let t=!1;!g&&this._strokeMode!=="center"&&(e.save(),e.clipPath(I,this._strokeMode==="outside"?Le.ClipOp.Difference:Le.ClipOp.Intersect,!0),t=!0),e.drawPath(I,i),t&&e.restore()},g)}}_hasDropShadow(){return this._dropShadowColor?.a>0}_hasInnerShadow(){return this._innerShadowColor?.a>0}path(A){this._currentPath?.addPath(Le.Path.MakeFromSVGString(A))}ellipse(A,g,e,I,i,t,C,o){if(!aK([A,g,e,I])||!this._currentPath)return;if(e<0||I<0)throw Error("radii cannot be negative");let a=Le.XYWHRect(A-e,g-I,e*2,I*2);this._currentPath?.addOval(a)}rect(A,g,e,I,i=0,t=0,C=0,o=0){let a=Le.XYWHRect(A,g,e,I);if(aK(a))if(i===0&&t===0&&o===0&&C===0)this._currentPath?.addRect(a);else{let r=Le.RRectXY(a,i,i);r[4]=r[5]=i,r[6]=r[7]=t,r[8]=r[9]=C,r[10]=r[11]=o,this._currentPath?.addRRect(r)}}getHorizontalAlign(A){switch(A){case 2:return Le.TextAlign.Right;case 3:return Le.TextAlign.Center;case 4:return Le.TextAlign.Justify;case 1:default:return Le.TextAlign.Left}}drawTextInner(A,g,e,[I,i,t,C],o,a,r=!0){let s=0,{ctx:B}=this;if(!B)return s;let Q=a.copy(),n=a.copy();return n.setAlphaf(0),this._applyEffectsToPaint(Q,E=>{g.pushPaintStyle(e,E,n),g.addText(A);let l=g.build();l.layout(t);let h=i;o===2?h+=(C-l.getHeight())/2:o===3&&(h+=C-l.getHeight()),B.drawParagraph(l,I,h),s=l.getHeight(),g.reset(),l.delete()},r),Q.delete(),n.delete(),s}drawText(A,g){let e=0,I=this._fonts.get(g.font),{ctx:i,_paintFill:t,_paintStroke:C}=this;if(I&&i){let o=new Le.TextStyle({fontFamilies:[g.font],fontSize:g.fontSize,heightMultiplier:g.lineHeight,letterSpacing:g.letterSpacing}),a=new Le.ParagraphStyle({textStyle:o,textAlign:this.getHorizontalAlign(g.horizontalAlign)}),r=Le.XYWHRect(g.x,g.y,g.width,g.height),s=Le.ParagraphBuilder.Make(a,I);t&&(e=this.drawTextInner(A,s,o,r,g.verticalAlign,t,!0)),C&&(e=this.drawTextInner(A,s,o,r,g.verticalAlign,C,!1)),s.delete()}return{height:e}}render(){this._surface?.flush()}moveTo(A,g){this._currentPath?.moveTo(A,g)}lineTo(A,g){this._currentPath?.lineTo(A,g)}bezierCurveTo(A,g,e,I,i,t){this._currentPath?.cubicTo(A,g,e,I,i,t)}quadraticCurveTo(A,g,e,I){this._currentPath?.quadTo(A,g,e,I)}setTransform(A,g=!1){if(!this.ctx)return;let e=this.ctx.getTotalMatrix(),I=fI.invert(e);if(I&&this.ctx.concat(I),this.ctx?.scale(this.dpr,this.dpr),this.camera?.enabled&&(this.ctx?.concat(this.camera.worldMatrix),g)){let i=fI.getScale(this.camera.worldMatrix);this.ctx?.scale(1/i[0],1/i[1])}this.ctx?.concat(A),this.currentTransform=A}transform(A){this.ctx?.concat(A)}setSize(A,g){!this._isSizeDirty&&A===this._width&&g===this._height||(this._isSizeDirty=!1,this._width=A,this._height=g,this.canvas.style.width=A+"px",this.canvas.style.height=g+"px",this.canvas.width=A*this.dpr,this.canvas.height=g*this.dpr,this._surface&&(this._surface=Le.MakeWebGLCanvasSurface(this.canvas),this.ctx=this._surface?.getCanvas()))}};function aK(A){for(let g=0;g<A.length;g++)if(A[g]!==void 0&&!Number.isFinite(A[g]))return!1;return!0}function zu({r:A,g,b:e,a:I}){return Le.Color4f(A,g,e,I)}var rK=class{constructor(A,g,e){this.uuid=A,this.data=g,this.enabled=!1,this.color=jI.transparent,this.blurRadius=0,this.offset=[0,0],this.spread=0,this.update(g)}update(A){A.color!==void 0&&(this.color=A.color),A.enabled!==void 0&&(this.enabled=A.enabled),A.blurRadius!==void 0&&(this.blurRadius=A.blurRadius),A.offset!==void 0&&(this.offset=A.offset),A.spread!==void 0&&(this.spread=A.spread)}},sK=class{constructor(A,g,e){this.uuid=A,this.data=g,this.enabled=!1,this.radius=0,this.update(g)}update(A){A.enabled!==void 0&&(this.enabled=A.enabled),A.radius!==void 0&&(this.radius=A.radius)}},nsA=class{constructor(A,g,e){this.uuid=A,this.data=g,this.enabled=!1,this.color=jI.transparent,this.update(g)}update(A){A.enabled!==void 0&&(this.enabled=A.enabled),A.color!==void 0&&(this.color=A.color)}},EsA=class{constructor(A,g,e){this.uuid=A,this.data=g,this.enabled=!1,this.color=jI.transparent,this.thickness=0,this.mode="inside",this.update(g)}update(A){A.enabled!==void 0&&(this.enabled=A.enabled),A.color!==void 0&&(this.color=A.color),A.thickness!==void 0&&(this.thickness=A.thickness),A.mode!==void 0&&(this.mode=A.mode)}},Jt=class extends Yt{constructor(A,g,e){super(A,g,e),this.uuid=A,this.data=g,this.autoClose=!0,this.fill=new nsA(A+"-fill",g.fill,e),this.stroke=new EsA(A+"-stroke",g.stroke,e),this.dropShadow=new rK(A+"-dropShadow",g.dropShadow,e),this.innerShadow=new rK(A+"-innerShadow",g.innerShadow,e),this.backgroundBlur=new sK(A+"-backgroundBlur",g.backgroundBlur,e),this.layerBlur=new sK(A+"-layerBlur",g.layerBlur,e)}applyFillStroke(A){A.fillColor=this.fill.enabled?this.fill.color:jI.transparent,A.strokeColor=this.stroke.enabled&&this.stroke.thickness>0?this.stroke.color:jI.transparent,A.strokeMode=this.stroke.mode,A.lineWidth=this.stroke.thickness}applyFilters(A){this.layerBlur.enabled?A.layerBlur=this.layerBlur.radius*5:A.layerBlur=0,this.backgroundBlur.enabled?A.backgroundBlur=this.backgroundBlur.radius*5:A.backgroundBlur=0,this.dropShadow.enabled?(A.dropShadowBlur=this.dropShadow.blurRadius*5,A.dropShadowColor=this.dropShadow.color,A.dropShadowOffsetX=this.dropShadow.offset[0],A.dropShadowOffsetY=this.dropShadow.offset[1]):A.dropShadowColor=jI.transparent,this.innerShadow.enabled?(A.innerShadowSpread=this.innerShadow.spread,A.innerShadowBlur=this.innerShadow.blurRadius*5,A.innerShadowColor=this.innerShadow.color,A.innerShadowOffsetX=this.innerShadow.offset[0],A.innerShadowOffsetY=this.innerShadow.offset[1]):A.innerShadowColor=jI.transparent}innerDraw(A){}draw(A){!this.visible||(A.save(),this.applyTransforms(A),this.applyFilters(A),this.applyFillStroke(A),A.beginPath(),this.innerDraw(A),this.autoClose&&A.closePath(),this.fill.enabled&&A.fill(),this.stroke.enabled&&A.stroke(),A.restore())}updateByPatchedOp(A,g,e){super.updateByPatchedOp(A,g,e),A.type===0&&($I(A.path,["fill"])?this.fill.update(A.props):$I(A.path,["stroke"])?this.stroke.update(A.props):$I(A.path,["dropShadow"])?this.dropShadow.update(A.props):$I(A.path,["innerShadow"])?this.innerShadow.update(A.props):$I(A.path,["layerBlur"])?this.layerBlur.update(A.props):$I(A.path,["backgroundBlur"])?this.backgroundBlur.update(A.props):this.resetBBoxNeedsUpdate())}updateState(A,g){super.updateState(A,g),A.fill!==void 0&&this.fill.update(A.fill),A.stroke!==void 0&&this.stroke.update(A.stroke),A.dropShadow!==void 0&&this.dropShadow.update(A.dropShadow),A.innerShadow!==void 0&&this.innerShadow.update(A.innerShadow),A.layerBlur!==void 0&&this.layerBlur.update(A.layerBlur),A.backgroundBlur!==void 0&&this.backgroundBlur.update(A.backgroundBlur)}clone(A){let g=new Jt(this.uuid,this.data,A);return g.parent=void 0,g}},Qm=class extends Jt{constructor(A,g,e){super(A,g,e),this.uuid=A,this.data=g,this.width=0,this.height=0,this.updateState(g,e)}innerDraw(A){A.ellipse(this.width*.5,this.height*.5,this.width*.5,this.height*.5,0,0,Math.PI*2)}intersectsInLocalSpace(A,g){return CsA(A,g,this.width*.5,this.height*.5,this.width*.5,this.height*.5)}getCenter(){return[this.width*.5,this.height*.5]}getHalfSize(){return[this.width*.5,this.height*.5]}updateSizeState(A){let g=!1;A.width!==void 0&&(this.width=typeof A.width=="number"?A.width:this.width,g=!0),A.height!==void 0&&(this.height=typeof A.height=="number"?A.height:this.height,g=!0),g&&this.updateWorldMatrix(!0,!1,!0)}updateState(A,g){super.updateState(A,g),this.updateSizeState(A)}clone(A){let g=new Qm(this.uuid,this.data,A);return g.parent=void 0,g}},bc=class extends Jt{constructor(A,g,e){super(A,g,e),this.uuid=A,this.data=g,this.width=0,this.height=0,this.cornerRadius=[0,0,0,0],this.updateState(g,e)}innerDraw(A){A.rect(0,0,this.width,this.height,...this.cornerRadius)}getCenter(){return[this.width*.5,this.height*.5]}getHalfSize(){return[this.width*.5,this.height*.5]}updateCornerState(A){A.cornerRadius!==void 0&&(this.cornerRadius=A.cornerRadius)}updateSizeState(A){let g=!1;A.width!==void 0&&(this.width=typeof A.width=="number"?A.width:this.width,g=!0),A.height!==void 0&&(this.height=typeof A.height=="number"?A.height:this.height,g=!0),g&&this.updateWorldMatrix(!0,!1,!0)}updateState(A,g){super.updateState(A,g),this.updateSizeState(A),this.updateCornerState(A)}clone(A){let g=new bc(this.uuid,this.data,A);return g.parent=void 0,g}},nm=class extends Jt{constructor(A,g,e){super(A,g,e),this.uuid=A,this.data=g,this._textHeight=0,this._textHeightDirty=!0,this.width=0,this.height=0,this.updateState(g,e)}get textHeight(){return this._textHeight}applyFillStroke(A){A.fillColor=this.fill.enabled?this.fill.color:jI.transparent,A.strokeColor=this.stroke.enabled&&this.stroke.thickness>0?this.stroke.color:jI.transparent,A.strokeMode="center",A.lineWidth=this.stroke.thickness}innerDraw(A){this._fontHolder?.arrayBuffer&&this._fontHolder.arrayBuffer.byteLength>1&&this.data.font&&A.registerFont(this._fontHolder.arrayBuffer,this.data.font);let g=this.data.textTransform,e=this.data.text.textValue.toString(),I=g===2?e.toUpperCase():g===3?e.toLowerCase():e,{height:i}=A.drawText(I,{x:0,y:0,width:this.width,height:this.height,fontSize:this.data.fontSize,lineHeight:this.data.lineHeight??1,letterSpacing:this.data.letterSpacing??0,horizontalAlign:this.data.horizontalAlign,verticalAlign:this.data.verticalAlign,font:this.data.font});this._textHeight=i}getCenter(){return[this.width*.5,this.height*.5]}getHalfSize(){return[this.width*.5,this.height*.5]}updateSizeState(A){let g=!1;A.width!==void 0&&(this.width=typeof A.width=="number"?A.width:this.width,g=!0),A.height!==void 0&&(this.height=typeof A.height=="number"?A.height:this.height,g=!0),g&&this.updateWorldMatrix(!0,!1,!0)}updateFontState(A,{shared:g}){A.font!==void 0&&(this._fontHolder=g.getFont(A.font),this._fontHolder&&!this._fontHolder.isLoaded&&this._fontHolder.loadingPromise.then(()=>{this.requestRender()}))}updateState(A,g){super.updateState(A,g),this.updateSizeState(A),this.updateFontState(A,g)}clone(A){let g=new nm(this.uuid,this.data,A);return g.parent=void 0,g}},s2=class extends Jt{constructor(A,g,e){super(A,g,e),this.uuid=A,this.data=g,this.curves=[],this.extremasBBox={min:[0,0],max:[0,0]},this.updateState(g,e)}computeExtremas(){this.curves.length===0&&this.computeCurves();let A=this.curves.map(I=>hp.extremas(I)),g=[1/0,1/0],e=[-1/0,-1/0];for(let I=0,i=A.length;I<i;I++){let t=A[I];t[0][0]<g[0]&&(g[0]=t[0][0]),t[0][1]<g[1]&&(g[1]=t[0][1]),t[1][0]>e[0]&&(e[0]=t[1][0]),t[1][1]>e[1]&&(e[1]=t[1][1])}return this.extremasBBox.min=[g[0],g[1]],this.extremasBBox.max=[e[0],e[1]],this.extremasBBox}computeCurves(){this.curves=[];for(let e=1,I=this.data.points.length;e<I;e++){let i=this.data.points[e].data,t=this.data.points[e-1].data,C={start:t.position,cp1:t.controlNext.position,cp2:i.controlPrevious.position,end:i.position};this.curves.push(C)}let A=this.data.points[0].data,g=this.data.points[this.data.points.length-1].data;if(this.data.isClosed){let e={start:g.position,cp1:g.controlNext.position,cp2:A.controlPrevious.position,end:A.position};this.curves.push(e)}}getCenter(){let[A,g]=this.extremasBBox.min,[e,I]=this.getHalfSize();return[A+e,g+I]}getHalfSize(){let{min:A,max:g}=this.extremasBBox;return[(g[0]-A[0])*.5,(g[1]-A[1])*.5]}innerDraw(A){for(let I=0,i=this.data.points.length;I<i;I++){let t=this.data.points[I].data;if(I===0){let[C,o]=t.position;A.moveTo(C,o)}else{let C=this.data.points[I-1].data,[o,a]=C.controlNext.position,[r,s]=t.controlPrevious.position,[B,Q]=t.position,n={start:C.position,cp1:C.controlNext.position,cp2:t.controlPrevious.position,end:t.position};hp.derive(n),A.bezierCurveTo(o,a,r,s,B,Q)}}let g=this.data.points[0].data,e=this.data.points[this.data.points.length-1].data;if(this.data.isClosed){let[I,i]=e.controlNext.position,[t,C]=g.controlPrevious.position,[o,a]=g.position;A.bezierCurveTo(I,i,t,C,o,a)}}updateState(A,g){super.updateState(A,g),this.computeExtremas()}clone(A){let g=new s2(this.uuid,this.data,A);return g.parent=void 0,g}},hp;(A=>{function g(C){let o=C.start,a=C.cp1,r=C.cp2,s=C.end,B=[3*(a[0]-o[0]),3*(a[1]-o[1])],Q=[3*(r[0]-a[0]),3*(r[1]-a[1])],n=[3*(s[0]-r[0]),3*(s[1]-r[1])],E={start:B,cp:Q,end:n};return C.derivative=E,E.derivative=JS.derive(E),E}A.derive=g;function e(C,o,a,r=!1){let s=C-2*o+a;if(s!==0){let B=-Math.sqrt(Math.abs(o*o-C*a)),Q=-C+o,n=-(B+Q)/s,E=-(-B+Q)/s;return[n,E]}else if(o!==a&&s===0)return[(2*o-a)/(2*(o-a))];return[]}function I(C){let o=C.derivative??A.derive(C),a=o.start,r=o.cp,s=o.end;return[e(a[0],r[0],s[0]),e(a[1],r[1],s[1])]}A.droot=I;function i(C){let[o,a]=A.droot(C),r=[C.start[0],C.end[0]],s=[C.start[1],C.end[1]];for(let B of o)r.push(A.compute(C,Math.min(1,Math.max(0,B)))[0]);for(let B of a)s.push(A.compute(C,Math.min(1,Math.max(0,B)))[1]);return r.sort((B,Q)=>B-Q),s.sort((B,Q)=>B-Q),[[r[0],s[0]],[r[r.length-1],s[s.length-1]]]}A.extremas=i;function t(C,o){if(o===0)return[...C.start];if(o===1)return[...C.end];let a=1-o,r=a*a,s=o*o,B=r*a,Q=r*o*3,n=a*s*3,E=o*s;return[B*C.start[0]+Q*C.cp1[0]+n*C.cp2[0]+E*C.end[0],B*C.start[1]+Q*C.cp1[1]+n*C.cp2[1]+E*C.end[1]]}A.compute=t})(hp||(hp={}));var JS;(A=>{function g(i){let t=i.start,C=i.cp,o=i.end,a=[2*(C[0]-t[0]),2*(C[1]-t[1])],r=[2*(o[0]-C[0]),2*(o[1]-C[1])],s={start:a,end:r};return s.derivative=qS.derive(s),i.derivative=s,s}A.derive=g;function e(i){let t=i.derivative??A.derive(i),C=t.start,o=t.end;return[C[0]!==o[0]?C[0]/(C[0]-o[0]):0,C[1]!==o[1]?C[1]/(C[1]-o[1]):0]}A.droot=e;function I(i,t){if(t===0)return[...i.start];if(t===1)return[...i.end];let C=1-t,o=C*C,a=t*t,r=o,s=C*t*2,B=a;return[r*i.start[0]+s*i.cp[0]+B*i.end[0],r*i.start[1]+s*i.cp[1]+B*i.end[1]]}A.compute=I})(JS||(JS={}));var qS;(A=>{function g(I){let i=I.start,t=I.end,C=[t[0]-i[0],t[1]-i[1]];return I.derivative=C,I.derivative}A.derive=g;function e(I,i){if(i===0)return[...I.start];if(i===1)return[...I.end];let t=I.start,C=I.end;return[t[0]+(C[0]-t[0])*i,t[1]+(C[1]-t[1])*i]}A.compute=e})(qS||(qS={}));var tr=class extends sa{constructor(A,g,e){super(A,g,e),this.uuid=A,this.width=0,this.height=0,this.clipped=!0,this.background=new bc(A+"-background",hc.defaultData,e),this.background.parent=this,this.updateState(g,e)}get fill(){return this.background.fill}get stroke(){return this.background.stroke}get backgroundBlur(){return this.background.backgroundBlur}get layerBlur(){return this.background.layerBlur}get dropShadow(){return this.background.dropShadow}get innerShadow(){return this.background.innerShadow}get cornerRadius(){return this.background.cornerRadius}set cornerRadius(A){this.background.cornerRadius=A}updateLocalMatrix(){super.updateLocalMatrix(),this.background?.updateLocalMatrix()}updateWorldMatrix(A,g,e){super.updateWorldMatrix(A,g,e),this.background?.updateWorldMatrix(A,g,e)}draw(A){if(!this.visible)return;A.save();let g=this.width,e=this.height;this.applyTransforms(A),this.background.width=g,this.background.height=e,this.background.draw(A),this.clipped&&A.clipRect(0,0,g,e,...this.cornerRadius),this.innerDrawChildren(A),A.restore()}getCenter(){return[this.width*.5,this.height*.5]}getHalfSize(){return[this.width*.5,this.height*.5]}updateCornerState(A){A.cornerRadius!==void 0&&(this.cornerRadius=A.cornerRadius)}updateSizeState(A){let g=!1;A.width!==void 0&&(this.width=typeof A.width=="number"?A.width:this.width,g=!0),A.height!==void 0&&(this.height=typeof A.height=="number"?A.height:this.height,g=!0),g&&this.updateWorldMatrix(!0,!1,!0)}updateState(A,g){super.updateState(A,g),this.updateSizeState(A),this.updateCornerState(A),A.fill!==void 0&&this.fill.update(A.fill),A.stroke!==void 0&&this.stroke.update(A.stroke),A.dropShadow!==void 0&&this.dropShadow.update(A.dropShadow),A.innerShadow!==void 0&&this.innerShadow.update(A.innerShadow),A.layerBlur!==void 0&&this.layerBlur.update(A.layerBlur),A.backgroundBlur!==void 0&&this.backgroundBlur.update(A.backgroundBlur),A.clipped!==void 0&&(this.clipped=A.clipped)}requestRender(){super.requestRender(),this.dispatchEvent({type:"render"})}dispose(){this.removeEventListener("render")}updateByPatchedOp(A,g,e){super.updateByPatchedOp(A,g,e),A.type===0&&($I(A.path,["fill"])?this.fill.update(A.props):$I(A.path,["stroke"])?this.stroke.update(A.props):$I(A.path,["dropShadow"])?this.dropShadow.update(A.props):$I(A.path,["innerShadow"])?this.innerShadow.update(A.props):$I(A.path,["layerBlur"])?this.layerBlur.update(A.props):$I(A.path,["backgroundBlur"])?this.backgroundBlur.update(A.props):this.resetBBoxNeedsUpdate())}clone(A){let g=new tr(this.uuid,this.data,A);g.parent=void 0;for(let e of this.children)g.add(e.clone(A));return g}},hsA=cs(EJ(),1),Op=class extends Jt{constructor(A,g,e){super(A,g,e),this.uuid=A,this.data=g,this._pathBBox=new DOMRect,this.path="",this.updateState(g,e),this.autoClose=!1,this.computeSVGBBox()}computeSVGBBox(){let A=document.createElementNS("http://www.w3.org/2000/svg","svg"),g=document.createElementNS("http://www.w3.org/2000/svg","path");document.body.appendChild(A),g.setAttribute("d",this.path),A.appendChild(g),this._pathBBox=g.getBBox(),A.remove()}innerDraw(A){A.path(this.path)}intersectsInLocalSpace(A,g){return A>=this._pathBBox.x&&A<=this._pathBBox.x+this._pathBBox.width&&g>=this._pathBBox.y&&g<=this._pathBBox.y+this._pathBBox.height}getCenter(){return[(this._pathBBox.x+this._pathBBox.width)/2,(this._pathBBox.y+this._pathBBox.height)/2]}getHalfSize(){return[(this._pathBBox.x+this._pathBBox.width)/2,(this._pathBBox.y+this._pathBBox.height)/2]}updateState(A,g){super.updateState(A,g),A.path!==void 0&&(this.path=A.path,this.computeSVGBBox())}clone(A){let g=new Op(this.uuid,this.data,A);return g.parent=void 0,g}};function lsA(A,g=1,e=1){if(g<=0||e<=0)return A;let I=(0,hsA.parseSVG)(A).map(i=>{let t={...i};return"x"in t&&(t.x=t.x*g),"y"in t&&(t.y=t.y*e),"x1"in t&&(t.x1=t.x1*g),"x2"in t&&(t.x2=t.x2*g),"y1"in t&&(t.y1=t.y1*e),"y2"in t&&(t.y2=t.y2*e),"rx"in t&&(t.rx=t.rx*g),"ry"in t&&(t.ry=t.ry*e),t});return csA(I)}function csA(A){let g=["rx","ry","xAxisRotation","largeArc","sweep","x1","y1","x2","y2","x","y"],e;return A.map(I=>{let i=[];g.forEach(C=>{if(C in I){let o=I[C]*1;i.length&&o>=0&&i.push(","),i.push(o)}});let t=(e===I.code?i[0]<0?"":",":I.code)+i.join("");return e=I.code,t}).join("")}function dsA(A,g,e){switch(g.type){case"ellipse2d":return new Qm(A,g,e);case"rectangle2d":return new bc(A,g,e);case"text2d":return new nm(A,g,e);case"vector2d":return new s2(A,g,e);case"path2d":return new Op(A,g,e);case"frame2d":return new tr(A,g,e);case"group2d":default:return new fB(A,g,e)}}var B2=class{constructor(A,g,e){this.uuid=A,this.data=g,this.group=new fB(B2.GROUP_ID,{...ap.defaultData},e),this.createChildrenObjects(g.objects,this.group,e)}createObject(A,g,e,I,i,t){let C=dsA(A,g,t);C&&(I.add(C),I.children.splice(i,0,I.children.pop()),C.updateWorldMatrix(),e.length>0&&(C instanceof fB||C instanceof tr)&&this.createChildrenObjects(e,C,t))}createChildrenObjects(A,g,e){let I=0;for(let i of A)this.createObject(i.id,i.data,i.children,g,I,e),I+=1}draw(A){this.group.draw(A)}updateEntityByOp(A,g,e,I){let i=this.find(A);if(i)try{i.updateByOp(g,e,{shared:I})}catch(t){console.error(t)}}updateTreeByOp(A,g){if(A.path.length===0&&A.type===7){let e=A.parent===null?this.group:this.find(A.parent);e!==void 0&&e instanceof sa&&(this.createObject(A.id,A.data,A.children,e,A.localIndex,g),e.requestRender())}else if(A.path.length===0&&A.type===8){let e=this.find(A.id);if(e!==void 0&&e.parent!==void 0&&e.parent instanceof sa){let I=e.parent;e.resetBBoxNeedsUpdate(),I?.remove(e),I?.requestRender()}}else if(A.path.length===0&&A.type===9){let e=this.find(A.id);if(e!==void 0){let I=e.parent,i=A.parent===null?this:this.find(A.parent);if(i instanceof sa||i===this){i.add(e);let t=A.localIndex;i.children.splice(t,0,i.children.pop()),e.updateWorldMatrix(!0,!1,!0),I?.requestRender(),e.requestRender()}e.resetBBoxNeedsUpdate()}}}add(A){this.group.add(A)}remove(A){this.group.remove(A)}traverse(A){this.group.traverse(g=>{g!==this.group&&A(g)})}intersectsChildren(A,g,e,I=!1,i=[]){return this.group.intersectsChildren(A,g,e,I,i,!0)}intersectsChildrenReverse(A,g,e,I=!1,i=[]){return this.group.intersectsChildrenReverse(A,g,e,I,i,!0)}find(A){return this.group.find(A)}get children(){return this.group.children}project(A,g){return this.group.project(A,g)}getWithSortKey(A){let g=this.find(A);if(g===void 0)return;let e=[],I=g;for(;I!==this.group;){let i=I;I=I.parent;let t=I.children.indexOf(i);e.splice(0,0,t)}return{entity:g,sortKey:e}}getAllSorted(A){let g=[];for(let e of A){let I=this.getWithSortKey(e.id);I!==void 0&&g.push(I)}return g.sort((e,I)=>Pq(e.sortKey,I.sortKey)),g.map(e=>e.entity)}},Em=B2;Em.GROUP_ID="scene2d";function Q2({constraints:A,newParentWidth:g,newParentHeight:e,initialParentWidth:I,initialParentHeight:i,objectInitialWidth:t,objectInitialHeight:C,objectInitialPosition:o}){let{horizontalConstraint:a,verticalConstraint:r}=A,s=g-I,B=e-i,Q=t,n=C,E=o[0],l=o[1];if(a!==0){if(a===1)E+=s;else if(a===3)E+=s/2;else if(a===2)Q=Math.max(1,Q+s);else if(a===4){let h=g/I;Q*=h,E*=h}}if(r!==0){if(r===1)l+=B;else if(r===3)l+=B/2;else if(r===2)n=Math.max(1,n+B);else if(r===4){let h=e/i;n*=h,l*=h}}return{width:Q,height:n,position:[E,l]}}var jhA=cs(EJ(),1),WhA={mm:{mm:1,cm:.1,in:1/25.4,pt:72/25.4,pc:6/25.4,px:-1},cm:{mm:10,cm:1,in:1/2.54,pt:72/2.54,pc:6/2.54,px:-1},in:{mm:25.4,cm:2.54,in:1,pt:72,pc:6,px:-1},pt:{mm:25.4/72,cm:2.54/72,in:1/72,pt:1,pc:6/72,px:-1},pc:{mm:25.4/6,cm:2.54/6,in:1/6,pt:72/6,pc:1,px:-1},px:{mm:1,px:1,cm:1,in:1,pt:1,pc:1}},usA=`
	varying vec2 vUv;
	void main() {
		vUv = uv;
		gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
	}`,DsA=`
	uniform sampler2D tDiffuse;
	varying vec2 vUv;
	void main() {
		vec4 texel = texture2D( tDiffuse, vUv );
		gl_FragColor = texel;
	}`,psA=new wp(-1,1,1,-1,0,1),ysA=class extends se{constructor(){super(),this.setAttribute("position",new _g([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new _g([0,2,0,0,2,0],2))}},wsA=new ysA,fsA=class{constructor(A){this._mesh=new Oi(wsA,A)}dispose(){this._mesh.geometry.dispose()}render(A){A.render(this._mesh,psA)}get material(){return this._mesh.material}set material(A){this._mesh.material=A}},n2=new RI({defines:{},uniforms:{tDiffuse:new hg(null)},vertexShader:usA,fragmentShader:DsA}),SsA=new fsA(n2),S0=null,G0=null,GsA=()=>(S0===null&&(S0=document.createElement("canvas")),S0),msA=A=>(G0===null&&(G0=new r2(A)),G0),MsA=fI.identity(),E2=class{constructor(A,g,e,I){this.uuid=A,this.width=g,this.height=e,this.context=I,this.enabled=!0,this.isScreenSpace=!1,this.dpr=window.devicePixelRatio,this.isFrameDirty=!1,this.onRenderRequestedDownstream=()=>{this.isFrameDirty=!0,this.context.shared.requestRender()},this._innerApplySize=()=>{let i=this.width,t=this.height,C=this.dpr;this.renderer.dpr=this.isScreenSpace?C:Math.floor(2048/Math.max(i,t)),this.renderer.setSize(i,t)},this.onFrameOverrideObjectEvent=i=>{if(i.target?.uuid!==void 0){let t=this.frameRoot?.find(i.target.uuid);t&&t.dispatchEvent({...i,target:t})}},this.scene2d=new Em(Xg.generateUUID(),oS.defaultData,{dpr:window.devicePixelRatio,shared:I.shared}),this.canvas=GsA(),this.renderer=msA(this.canvas),this.promise=this.init(),this.renderTarget=new FI(1,1,{type:ns,stencilBuffer:!1,depthBuffer:!1}),I.shared.addUIBuffer(this.uuid,this.renderTarget),this.textureHolder=I.shared.uiBuffer(this.uuid)}get canvasTexture(){return this._canvasTexture||(this._canvasTexture=new zW(this.canvas)),this._canvasTexture}async init(){this.renderer instanceof r2&&(this.renderer.wasmURL=qL.skiaWasmUrl),await this.renderer.init()}render(A){if(this.isFrameDirty){this.isFrameDirty=!1,this._innerApplySize(),this.renderer.clear(),this.frameOverride?.draw(this.renderer),this.renderer.render(),n2.uniforms.tDiffuse.value=this.canvasTexture,this.canvasTexture.needsUpdate=!0;let g=A.getRenderTarget();A.setRenderTarget(this.renderTarget),A.clear(),SsA.render(A),A.setRenderTarget(g),this.textureHolder?.setNeedsUpdate(!0)}}updateEntity2DByOp(A,g,e,I){this.scene2d.updateEntityByOp(A,g,e,I),this.applySize()}updateTreeByOp(A,g){this.scene2d.updateTreeByOp(A,g),this.applySize()}applyOverrides(A){if(this.frameOverride&&this.frameRoot){this.frameOverride.position=[0,0],this.frameOverride.rotation=0;let g=A?.width??this.width,e=A?.height??this.height;this.frameOverride.width=g,this.frameOverride.height=e,this.frameOverride.localMatrix=MsA,this.isScreenSpace&&(this.frameOverride.fill.color=jI.from0to1([0,0,0,0])),this.frameOverride.data={...this.frameOverride.data,width:g,height:e},h2({objectOverride:this.frameOverride,objectRoot:this.frameRoot,newParentWidth:this.frameOverride.width,newParentHeight:this.frameOverride.height,initialParentWidth:this.frameRoot.width,initialParentHeight:this.frameRoot.height}),this.frameOverride.updateWorldMatrix(!0,!1,!0)}}applySize(A,g=window.devicePixelRatio){let e=A?.width??this.width,I=A?.height??this.height;this.dpr=g,this.width=e,this.height=I,this._innerApplySize();let i=1,t=512,C=512;(e*g<t||I*g<C)&&(i=Math.max(t/(e*g),C/(I*g))),this.renderTarget.setSize(e*g*i,I*g*i),this._canvasTexture?.dispose(),this._canvasTexture=void 0,this.applyOverrides(A),this.frameOverride?.requestRender()}applyFrame(A){let g=this.context.scene.find2D(A);if(!(!g||!(g instanceof tr)))return this.disposeFrameOverride(),this.frameRoot=g,this.frameOverride=g.clone({dpr:this.renderer.dpr,shared:this.context.shared}),this.scene2d.add(this.frameOverride),this.applySize(),this.frame?.addEventListener("render",this.onRenderRequestedDownstream),this.frameOverride.traverse(e=>{e.addEventListener("beginState",this.onFrameOverrideObjectEvent)}),this.frameOverride.traverse(e=>{e.addEventListener("completeState",this.onFrameOverrideObjectEvent)}),this.frame?.requestRender(),g}get frame(){return this.frameOverride}get frameId(){return this.frame?.uuid}find(A){return this.scene2d.find(A)}get texture(){return this.textureHolder?.getTexture(1001)}disposeFrameOverride(){this.frameOverride?.removeEventListener("render",this.onRenderRequestedDownstream),this.frameOverride?.traverse(A=>{A.removeEventListener("beginStateChange",this.onFrameOverrideObjectEvent)}),this.frameOverride?.traverse(A=>{A.removeEventListener("completeState",this.onFrameOverrideObjectEvent)}),this.frameOverride&&this.scene2d.remove(this.frameOverride)}};function h2({objectOverride:A,objectRoot:g,newParentWidth:e,newParentHeight:I,initialParentWidth:i,initialParentHeight:t}){if(A instanceof tr&&g instanceof tr||A instanceof fB&&g instanceof fB)for(let C=0,o=A.children.length;C<o;C++){let a=A.children[C],r=g.children[C];a&&r&&a.uuid===r.uuid&&UsA({objectOverride:a,objectRoot:r,newParentWidth:e,newParentHeight:I,initialParentWidth:i,initialParentHeight:t})}}function ksA(A){if(bS(A))return[A.width,A.height];if(A instanceof Op){let[g,e]=A.getHalfSize();return[g*2,e*2]}else if(A instanceof fB){let[g,e]=A.recursiveBBox.getHalfSize();return[g*2,e*2]}return[0,0]}function UsA({objectOverride:A,objectRoot:g,newParentWidth:e,newParentHeight:I,initialParentWidth:i,initialParentHeight:t}){let[C,o]=ksA(g),{width:a,height:r,position:s}=Q2({constraints:A.data,newParentWidth:e,newParentHeight:I,initialParentWidth:i,initialParentHeight:t,objectInitialWidth:C,objectInitialHeight:o,objectInitialPosition:g.position});if(A.position=s,A.data={...A.data,position:s},A.states)for(let B in A.states)NsA({stateId:B,objectOverride:A,objectRoot:g,newParentWidth:e,newParentHeight:I,initialParentWidth:i,initialParentHeight:t});if(bS(A)||A instanceof fB)bS(A)&&(A.width=a,A.height=r,A.data={...A.data,width:a,height:r}),h2({objectOverride:A,objectRoot:g,newParentWidth:a,newParentHeight:r,initialParentWidth:C,initialParentHeight:o});else if(A instanceof Op){let B=g,Q=C!==0?a/C:1,n=o!==0?r/o:1;A.path=lsA(B.path,Q,n),A.data={...A.data,path:A.path}}}function NsA({stateId:A,objectOverride:g,objectRoot:e,newParentWidth:I,newParentHeight:i,initialParentWidth:t,initialParentHeight:C}){let o=g.states?.[A],a=e.states?.[A];if(o&&a){let{width:r,height:s,position:B}=Q2({constraints:g.data,newParentWidth:I,newParentHeight:i,initialParentWidth:t,initialParentHeight:C,objectInitialWidth:pQ.isResizeable(a)?a.width:0,objectInitialHeight:pQ.isResizeable(a)?a.height:0,objectInitialPosition:a.position});Object.assign(g.states[A],{position:B}),pQ.isResizeable(o)&&Object.assign(g.states[A],{width:r,height:s})}}function bS(A){return A instanceof bc||A instanceof tr||A instanceof Qm||A instanceof nm}var Kt=class extends _G(rs){constructor(A,g,e){super(),this.data=g,this.bgColor=new iC(1,1,1,1),this.fog=null,this.backupFog=new LJ(16777215,.1,2e3),this.fogUseBGColor=!1,this.isActive=!1,this.aoColor=new de,this.penumbraSizeArrayCache=null,this.super_Entity(A,g),this.personalCamera=new lC(eh,{...Qc.defaultData,...g.camera,name:"Personal Camera"}),this.personalCamera.objectHelper.visible=!1,this.add(this.personalCamera),this.activeCamera=this.personalCamera,this.ambientLight=new vz(13882323,8553090,.75),this.ambientLight.name="Default Ambient Light",this.ambientLight.layers.enable(3),this.ambientLight.removeFromParent(),this.add(this.ambientLight),g.uiScene?this.uiScene=new Em((Array.isArray(A)?A[0]:A)+"-ui",g.uiScene,{dpr:window.devicePixelRatio,shared:e.shared}):g.uiFrame&&this.createUICanvas(g.uiFrame,e)}get scene(){return this.parent}get postprocessing(){return this.data.postprocessing}get frameId(){return this.data.uiFrame}get frame(){return this.uiCanvas?.frame}createUICanvas(A,g){this.uiCanvas=new E2(this.uuid+"-uiscreen",window.innerWidth,window.innerHeight,g),this.uiCanvas.isScreenSpace=!0,this.uiCanvas.promise.then(()=>{this.uiCanvas?.applyFrame(A),this.uiCanvas?.applySize()})}updateVisible(){}setBackgroundColor(A){this.bgColor=A,this.fogUseBGColor===!0&&(this.backupFog.color=A)}entityChildrenCount(){return this.uiScene?this.uiScene.children.length:super.entityChildrenCount()}updateAmbientLight(A,g){A.color!==void 0&&(this.ambientLight.color=NC(A.color,g)),A.intensity!==void 0&&(this.ambientLight.intensity=A.intensity),A.enabled!==void 0&&(A.enabled?this.add(this.ambientLight):this.remove(this.ambientLight))}onDeactive(){this.isActive=!1}onActive(A){this.isActive=!0,A.fog=this.fog,this.traverseEntity(g=>{g instanceof UQ&&g.recomputeBoolean()}),this.updateShadow(this.data.shadow)}forceMaterialsUpdate(){this.traverseEntity(A=>{if(A instanceof th)if(Array.isArray(A.material))for(let g of A.material)g.needsUpdate=!0;else A.material.needsUpdate=!0,A.material.dispose()})}updateShadow(A){A.softShadowQuality!==void 0&&this.isActive&&VrA(A.softShadowQuality)&&this.forceMaterialsUpdate()}updateFog(A,g){if(A.enabled?this.fog=this.backupFog:this.fog=null,this.isActive){let e=this.scene;e.fog=this.fog}this.fogUseBGColor=A.useBackgroundColor,A.useBackgroundColor?this.backupFog.color.set(this.bgColor):this.backupFog.color=NC(A.color,g),this.backupFog.near=A.near,this.backupFog.far=A.far}updateAo(A,g){A.aoColor!==void 0&&(this.aoColor=NC(A.aoColor,g))}updateByOp(A,g,e,I){let i=this.data.uiFrame;super.updateByOp(A,g,e,I);let t=g;$I(A.path,["fog"])?this.updateFog(t.fog,e.shared):$I(A.path,["ao"])?this.updateAo(t.ao,e.shared):$I(A.path,["ambient"])?this.updateAmbientLight(t.ambient,e.shared):$I(A.path,["shadow"])?this.updateShadow(t.shadow):A.type===0&&A.path.length===0&&(A.props.uiFrame!==void 0||i!==t.uiFrame)&&this.updateUIFrame(A.props.uiFrame,e)}updateUIFrame(A,g){A?(this.uiCanvas||this.createUICanvas(A,g),this.uiCanvas.enabled=!0,this.uiCanvas.applyFrame(A)):this.uiCanvas&&(this.uiCanvas.enabled=!1)}updateState(A,g){this.updateState_Entity(A,g),A.backgroundColor!==void 0&&this.setBackgroundColor(NC(A.backgroundColor,g.shared)),A.fog!==void 0&&this.updateFog(A.fog,g.shared),A.ambient!==void 0&&this.updateAmbientLight(A.ambient,g.shared),A.ao!==void 0&&this.updateAo(A.ao,g.shared),A.shadow!==void 0&&this.updateShadow(A.shadow)}createFrame(A,g){}raycast(A,g){super.raycast(A,g)}switchActiveCamera(A){A&&A.isDescendantOf(this)&&(this.activeCamera!==this.personalCamera&&(this.activeCamera.objectHelper.visible=!0),this.activeCamera=A,A.objectHelper.visible=!1)}get playCamera(){return this.scene?.find(this.data.publish.playCamera)??this.personalCamera}switchToPlayCamera(){this.switchActiveCamera(this.playCamera)}get penumbraSizeArray(){return this.penumbraSizeArrayCache===null&&this.updatePenumbraSizeArray(),this.penumbraSizeArrayCache}updatePenumbraSizeArray(){this.penumbraSizeArrayCache=new Array(5).fill(.5);let A=0,g=0;this.traverseEntity(e=>{if(!e.visible)return!0;e instanceof t2&&e.visible&&A<3&&(this.penumbraSizeArrayCache[A]=e.data.penumbraSize,A+=1),e instanceof C2&&e.visible&&A<2&&(this.penumbraSizeArrayCache[3+g]=e.data.penumbraSize,g+=1)})}raycastWithClones(A){let g=[],e=I=>{for(let i of I.children){let t=i.cloner;hI.is(i)&&(i.visible||t?.object.data.visible)&&((ra(i)||MS(i)&&this.scene.enableHelpers&&i.objectHelper.visible)&&(A.intersectObject(i,!1,g),LS(i,A,g,!0)),e(i))}};return e(this),g}updateEntity2DByOp(A,g,e,I){this.uiCanvas?.updateEntity2DByOp(A,g,e,I)}},FsA=class extends rm(bz,I2){constructor(A,g,e){super(),this.super_Entity(A,g),this.castShadow=!0,this.shadow.mapSize.width=1024,this.shadow.mapSize.height=1024,this.shadow.normalBias=1,this.layers.enable(3);let I=this.shadow.camera;I.fov=90,I.aspect=1,I.near=100,I.far=2500;let i=new x(-I.far+this.position.x,-I.far+this.position.y,-I.far+this.position.z),t=new x(I.far+this.position.x,I.far+this.position.y,I.far+this.position.z),C=new ji(i,t),o=new RD(C,new de(16755200));o.visible=!1,this.gizmos.shadowmap=o,this.update()}update(){if(this.shadow&&(this.shadow.camera.updateProjectionMatrix(),this.gizmos))for(let A in this.gizmos){let g=this.gizmos[A];if(g instanceof RD){let e=this.shadow.camera,I=new x(-e.far+this.position.x,-e.far+this.position.y,-e.far+this.position.z),i=new x(e.far+this.position.x,e.far+this.position.y,e.far+this.position.z);g.box.set(I,i),g.updateMatrixWorld(!0)}}}updateMatrixWorld(A){super.updateMatrixWorld(A),this.objectHelper&&this.objectHelper.update()}updateState(A,g){this.updateState_Light(A,g),A.distance!==void 0&&(this.distance=A.distance),A.decay!==void 0&&(this.decay=A.decay),A.shadowRadius!==void 0&&(this.shadow.radius=A.shadowRadius),A.shadowResolution!==void 0&&(this.shadow.mapSize.set(A.shadowResolution,A.shadowResolution),this.shadow.map&&(this.shadow.map.dispose(),this.shadow.map=null))}},RsA=class extends EC{get forceComputeSize(){return!0}get shape(){return this.geometry.userData.shape}updateEntityBoxSize(A,g){let e=this.geometry.getAttribute("position");e!==void 0?$G(e,this.geometry.drawRange.start,this.geometry.drawRange.count<1/0?this.geometry.drawRange.count:e.count,A,g):super.updateEntityBoxSize(A,g)}},hm=class extends EC{constructor(A,g,e){super(A,g,e),this._shapeId=null,this._context=e}updateState(A,g){super.updateState(A,g),this.updateShape()}updateShape(){let A={...this.data.geometry.extrusion.shape};for(let I in A)typeof A[I]=="string"&&(A[I]=this._context.shared.getVariable(A[I],[this.uuid,"geometry","extrusion","shape",I]));let g;if(A.type==="Custom"){let I=A.shapeId;if(I!==this._shapeId&&this.detachShape(),I){this._shapeId=I;let i=this._context.scene.find(I);i?.data&&(i.attachedPaths.add(this),g=i.geometry.userData?.shape),g||this._context.scene.addPendingCommand(()=>this.updateShape())}}else{let I;switch(A.type){case"Rectangle":I=XG;break;case"Ellipse":I=ZG;break;case"Polygon":I=AL;break;case"Star":I=gL;break;default:throw new Error(`Unknown shape type: ${A.type}`)}g=I.create({parameters:A}).userData.shape}let e=this.geometry;g&&e.inputs&&(e.inputs.shapeData=g,e.build(),this.attachedSurfaceCloners.forEach(I=>I.update()))}detachShape(){this._shapeId!==null&&this._context.scene.find(this._shapeId)?.attachedPaths.delete(this)}createGeometryDelayed(A){this.geometryCreateDeleyed=A.shared,this.updateShape(),this.refreshAttachedPaths(A)}updateTransformState(A,g){return super.updateTransformState(A,g)}updateGeometryInteractions(A,g){super.updateGeometryInteractions(A,g),this.updateShape()}updateEntityBoxSize(A,g){let e=this.geometry.getAttribute("position");e!==void 0?$G(e,this.geometry.drawRange.start,this.geometry.drawRange.count<1/0?this.geometry.drawRange.count:e.count,A,g):super.updateEntityBoxSize(A,g)}},mE=class extends Ch(oB,Jc){constructor(A,g,e){super(),g.type==="Instance"&&typeof A=="string"&&(g=this.transformAssignData(g,e)),this.super_Entity(A,g),this.objectHelper.update()}get isComponentRoot(){return this.data.type==="Component"&&typeof this.identity=="string"}get isInstanceRoot(){return this.data.type==="Instance"&&typeof this.identity=="string"}transformAssignData(A,g){let e=ip.getComponentData({scene:g.scene.data,shared:g.shared.data},A.component);if(e){let I,i;for(let t of BB.rootOverrideProps)A[t]===void 0?(I===void 0&&(I={...A}),I[t]=e.data[t]):(i===void 0&&(i={}),i[t]=A[t],I===void 0&&(I={...A}),I[t]=cB.apply(e.data[t],A[t]));return this.overrideData=i,I}else return{...IC.defaultData,...A,...ss(IC.defaultData,BB.rootOverrideProps)}}updateByOp(A,g,e,I){let i;if(this.isInstanceRoot&&!I){if(g=this.transformAssignData(g,e),A.type===0&&A.path.length===0&&this.component)for(let t of BB.rootOverrideProps)t in A.props&&A.props[t]===void 0&&(i===void 0&&(i={...A,props:{...A.props}}),i.props[t]=this.component.data[t]);else if(A.type===0&&A.path.length>0&&BB.rootOverrideProps.includes(A.path[0])){let t=A.path[0];i===void 0&&(i={...A,path:[],props:{[t]:g[t]}})}}super.updateByOp(i??A,g,e,I)}updateState(A,g){this.updateState_Entity(A,g)}expandInstanceChildren(A){let g=this.data;if(this.component===void 0){let e=A.scene.find(g.component)??null,I=!1;if(e!==this.oldComponent){if(this.oldComponent){let i=0;for(let t of this.children)if(hI.is(t))A.scene.disposeAndUnregisterEntityRecursivelyIfNotReregistered(t),lm(t),i+=1;else break;this.children.splice(0,i)}I=!0}if(e){let i={};l2(A,[this.uuid],g.overrides,this,e,e,0,I,i);for(let t of this.children)if(hI.is(t)){let C=t.data;C.type==="Empty"&&C.animations&&t.traverseEntity(o=>{let a=o.dataPatched;if(o instanceof EC&&a.bones&&a.boneInverses){let r=o.dataPatched;if(r.bones&&r.boneInverses){let s=r.bones.map(n=>A.scene.find(i[n])),B=r.boneInverses.map(n=>new wg().fromArray(n)),Q=new CG(s,B);o.bind(Q,o.bindMatrix)}}else o.matrixAutoUpdate=!0})}}this.oldComponent=this.component}}};function lm(A){if(A.component){let g=A.component.instances.indexOf(A);g>=0&&A.component.instances.splice(g,1);for(let e of A.children)hI.is(e)&&lm(e)}}function BK(A,g,e,I){return A.component===g&&FG(A.identity,I)?A.overrideData===e?2:1:0}function l2(A,g,e,I,i,t,C,o,a){if(C>50)return!1;if(I.component!==i){if(I.component){let s=I.component.instances.indexOf(I);s>=0&&I.component.instances.splice(s,1)}i.instances.find(s=>s===I)||i.instances.push(I),I.component=i}i instanceof mE&&i.isInstanceRoot&&i.expandInstanceChildren(A);let r=0;for(let s of i.children)if(hI.is(s)){let B=[...g,...typeof s.identity=="string"?[s.identity]:s.identity],Q=Ap.resolve(e,B,1);Q!=null&&!(Q instanceof ot)&&(Object.setPrototypeOf(Q,ot.prototype),console.error("wrong prototype"));let n=null,E;if(!o){let l=I.children[r];if(n=hI.is(l)?l:null,n!==null){let h=BK(n,s,Q,B);E=h>=1?n.stateSelection:void 0,h!==2&&(n=null)}if(n===null&&(n=A.scene.findInstance(B)??null,n!==null)){let h=BK(n,s,Q,B);if(E=h>=1?n.stateSelection:void 0,h!==2)n=null;else{let u=n.parent.children.indexOf(n);n.parent.children.splice(u,1),I.children.splice(r,0,n),n.parent===I?u<=r&&console.error("not possible"):(n.parent=I,n.matrixWorldNeedsUpdate=!0,n.resetBBoxNeedsUpdate(),n.updateVisible(),A.pendingDeletes.delete(n))}}}if(n===null){let l=Q?cB.apply(s.data,Q):s.data;mQ.is(l.type)&&(l={...l,type:"Empty"}),n=nB.createEntity(B,l,A),n.overrideData=Q,I.add(n),I.children.splice(I.children.length-1,1),I.children.splice(r,0,n),n.updateState(n.data,A),E&&n.changeSelectedState(E,A),A.scene.registerInstanceAndSetUuid(n)}if(n.isBone){let l=n.identity[n.identity.length-1];a[l]=n.uuid}r+=1,l2(A,g,e,n,s,t,C+1,o,a)}if(!o){let s=r;for(;;){let B=I.children[r];if(hI.is(B))A.pendingDeletes.add(B);else break;r+=1}I.children.splice(s,r-s)}return!0}var vsA=class extends Ch(xJ,Jc){constructor(A,g){super(),this.super_Entity(A,g),this.objectHelper.update(),this.matrixAutoUpdate=!0}updateState(A,g){this.updateState_Entity(A,g)}},QC=class extends EC{constructor(A,g,e){super(A,g,e),this.onBeforeRender=I=>{this.uiCanvas.render(I)},this.uiCanvas=new E2(A+"-canvas",g.geometry.width,g.geometry.height,e),this.uiCanvas.promise.then(()=>{this.applyFrame(this.dataPatched.geometry.frame,e.shared)})}updateByPatchedOpGeometry(A,g,e){super.updateByPatchedOpGeometry(A,g,e),A.type===0&&(A.props.frame!==void 0&&this.applyFrame(A.props.frame,e.shared),(A.props.width!==void 0||A.props.height!==void 0)&&this.applySize(A.props,e.shared))}applySize(A,g){let e=A?.width??this.dataPatched.geometry.width,I=A?.height??this.dataPatched.geometry.height;this.uiCanvas.applySize({width:e,height:I}),this.applyGeometryParametersFromFrame(g)}applyFrame(A,g){this.uiCanvas.applyFrame(A),this.applyGeometryParametersFromFrame(g),this.applyMaterialParametersFromFrame({shared:g})}applyGeometryParametersFromFrame(A){let g=this.frame;g&&(Object.assign(this.data,{geometry:Object.assign(this.data.geometry,{cornerRadius:g.cornerRadius,cornerType:0})}),Object.assign(this.dataPatched,{geometry:Object.assign(this.dataPatched.geometry,{cornerRadius:g.cornerRadius,cornerType:0})}),this.localGeometry?.dispose(),this.localGeometry=Dc(this.dataPatched.geometry,A,this.data.flatShading,this))}applyMaterialParametersFromFrame(A){let g=this.frame;if(g){let e=g.data.backgroundBlur;Object.assign(this.data.material.layers[0].data.texture,{image:this.uiCanvas.uuid}),Object.assign(this.data.material.layers[1].data,{roughness:e.radius,alpha:e.enabled?1:0}),Object.assign(this.dataPatched.material.layers[0].data.texture,{image:this.uiCanvas.uuid}),Object.assign(this.dataPatched.material.layers[1].data,{roughness:e.radius,alpha:e.enabled?1:0}),this.material.reset(this.dataPatched.material,A,!0)}}updateEntity2DByOp(A,g,e,I){this.uiCanvas.updateEntity2DByOp(A,g,e,I),A===this.frameId&&g.type===0&&(g.props.cornerRadius!==void 0?this.applyGeometryParametersFromFrame(I):$I(g.path,["backgroundBlur"])&&this.applyMaterialParametersFromFrame({shared:I}))}get frame(){return this.uiCanvas.frame}get frameId(){return this.frame?.uuid}removeInteractionGeometry(A){super.removeInteractionGeometry(A),this.applySize({},A)}updateGeometryInteractions(A,g){super.updateGeometryInteractions(A,g),this.applySize({width:A.width,height:A.height},g)}},KsA=class{constructor(A,g,e){this.variables=[],this.currentTextureIndex=0;let I=tt,i=new rs,t=new FQ;t.position.z=1;let C={passThruTexture:{value:null}},o=s(Q(),C),a=new Oi(new RQ(2,2),o);i.add(a),this.setDataType=function(n){return I=n,this},this.addVariable=function(n,E,l){let h=this.createShaderMaterial(E),u={name:n,initialValueTexture:l,material:h,dependencies:null,renderTargets:[],wrapS:null,wrapT:null,minFilter:qI,magFilter:qI};return this.variables.push(u),u},this.setVariableDependencies=function(n,E){n.dependencies=E},this.init=function(){if(e.capabilities.isWebGL2===!1&&e.extensions.has("OES_texture_float")===!1)return"No OES_texture_float support for float textures.";if(e.capabilities.maxVertexTextures===0)return"No support for vertex shader textures.";for(let n=0;n<this.variables.length;n++){let E=this.variables[n];E.renderTargets[0]=this.createRenderTarget(A,g,E.wrapS,E.wrapT,E.minFilter,E.magFilter),E.renderTargets[1]=this.createRenderTarget(A,g,E.wrapS,E.wrapT,E.minFilter,E.magFilter),this.renderTexture(E.initialValueTexture,E.renderTargets[0]),this.renderTexture(E.initialValueTexture,E.renderTargets[1]);let l=E.material,h=l.uniforms;if(E.dependencies!==null)for(let u=0;u<E.dependencies.length;u++){let D=E.dependencies[u];if(D.name!==E.name){let p=!1;for(let w=0;w<this.variables.length;w++)if(D.name===this.variables[w].name){p=!0;break}if(!p)return"Variable dependency not found. Variable="+E.name+", dependency="+D.name}h[D.name]={value:null},l.fragmentShader=`
uniform sampler2D `+D.name+`;
`+l.fragmentShader}}return this.currentTextureIndex=0,null},this.compute=function(){let n=this.currentTextureIndex,E=this.currentTextureIndex===0?1:0;for(let l=0,h=this.variables.length;l<h;l++){let u=this.variables[l];if(u.dependencies!==null){let D=u.material.uniforms;for(let p=0,w=u.dependencies.length;p<w;p++){let k=u.dependencies[p];D[k.name].value=k.renderTargets[n].texture}}this.doRenderTarget(u.material,u.renderTargets[E])}this.currentTextureIndex=E},this.getCurrentRenderTarget=function(n){return n.renderTargets[this.currentTextureIndex]},this.getAlternateRenderTarget=function(n){return n.renderTargets[this.currentTextureIndex===0?1:0]},this.dispose=function(){a.geometry.dispose(),a.material.dispose();let n=this.variables;for(let E=0;E<n.length;E++){let l=n[E];l.initialValueTexture&&l.initialValueTexture.dispose();let h=l.renderTargets;for(let u=0;u<h.length;u++)h[u].dispose()}};function r(n){n.defines.resolution="vec2( "+A.toFixed(1)+", "+g.toFixed(1)+" )"}this.addResolutionDefine=r;function s(n,E){E=E||{};let l=new RI({uniforms:E,vertexShader:B(),fragmentShader:n});return r(l),l}this.createShaderMaterial=s,this.createRenderTarget=function(n,E,l,h,u,D){return n=n||A,E=E||g,l=l||hi,h=h||hi,u=u||qI,D=D||qI,new FI(n,E,{wrapS:l,wrapT:h,minFilter:u,magFilter:D,format:qt,type:I,depthBuffer:!1})},this.createTexture=function(){let n=new Float32Array(A*g*4),E=new vo(n,A,g,qt,tt);return E.needsUpdate=!0,E},this.renderTexture=function(n,E){C.passThruTexture.value=n,this.doRenderTarget(o,E),C.passThruTexture.value=null},this.doRenderTarget=function(n,E){let l=e.getRenderTarget(),h=e.xr.enabled,u=e.shadowMap.autoUpdate,D=e.outputEncoding,p=e.toneMapping;e.xr.enabled=!1,e.shadowMap.autoUpdate=!1,e.outputEncoding=ca,e.toneMapping=Ir,a.material=n,e.setRenderTarget(E),e.render(i,t),a.material=o,e.xr.enabled=h,e.shadowMap.autoUpdate=u,e.outputEncoding=D,e.toneMapping=p,e.setRenderTarget(l)};function B(){return`void main()	{

	gl_Position = vec4( position, 1.0 );

}
`}function Q(){return`uniform sampler2D passThruTexture;

void main() {

	vec2 uv = gl_FragCoord.xy / resolution.xy;

	gl_FragColor = texture2D( passThruTexture, uv );

}
`}}},Vt=new AC,Vu=new x,JsA=class{constructor(A){let g=A.geometry;if(!g.isBufferGeometry||g.attributes.position.itemSize!==3)throw new Error("THREE.MeshSurfaceSampler: Requires BufferGeometry triangle mesh.");g.index&&(console.warn("THREE.MeshSurfaceSampler: Converting geometry to non-indexed BufferGeometry."),g=g.toNonIndexed()),this.geometry=g,this.randomFunction=Math.random,this.positionAttribute=this.geometry.getAttribute("position"),this.colorAttribute=this.geometry.getAttribute("color"),this.weightAttribute=null,this.distribution=null}setWeightAttribute(A){return this.weightAttribute=A?this.geometry.getAttribute(A):null,this}build(){let A=this.positionAttribute,g=this.weightAttribute,e=new Float32Array(A.count/3);for(let i=0;i<A.count;i+=3){let t=1;g&&(t=g.getX(i)+g.getX(i+1)+g.getX(i+2)),Vt.a.fromBufferAttribute(A,i),Vt.b.fromBufferAttribute(A,i+1),Vt.c.fromBufferAttribute(A,i+2),t*=Vt.getArea(),e[i/3]=t}this.distribution=new Float32Array(A.count/3);let I=0;for(let i=0;i<e.length;i++)I+=e[i],this.distribution[i]=I;return this}setRandomGenerator(A){return this.randomFunction=A,this}sample(A,g,e){let I=this.distribution[this.distribution.length-1],i=this.binarySearch(this.randomFunction()*I);return this.sampleFace(i,A,g,e)}binarySearch(A){let g=this.distribution,e=0,I=g.length-1,i=-1;for(;e<=I;){let t=Math.ceil((e+I)/2);if(t===0||g[t-1]<=A&&g[t]>A){i=t;break}else A<g[t]?I=t-1:e=t+1}return i}sampleFace(A,g,e,I){let i=this.randomFunction(),t=this.randomFunction();return i+t>1&&(i=1-i,t=1-t),Vt.a.fromBufferAttribute(this.positionAttribute,A*3),Vt.b.fromBufferAttribute(this.positionAttribute,A*3+1),Vt.c.fromBufferAttribute(this.positionAttribute,A*3+2),g.set(0,0,0).addScaledVector(Vt.a,i).addScaledVector(Vt.b,t).addScaledVector(Vt.c,1-(i+t)),e!==void 0&&Vt.getNormal(e),I!==void 0&&this.colorAttribute!==void 0&&(Vt.a.fromBufferAttribute(this.colorAttribute,A*3),Vt.b.fromBufferAttribute(this.colorAttribute,A*3+1),Vt.c.fromBufferAttribute(this.colorAttribute,A*3+2),Vu.set(0,0,0).addScaledVector(Vt.a,i).addScaledVector(Vt.b,t).addScaledVector(Vt.c,1-(i+t)),I.r=Vu.x,I.g=Vu.y,I.b=Vu.z),this}};function qsA(A){let g=new Float32Array(A*A*2);for(let e=0;e<A;e++)for(let I=0;I<A;I++){let i=e*A+I;g[i*2+0]=e/(A-1),g[i*2+1]=I/(A-1)}return g}function bsA(A){let g=Math.ceil(Math.sqrt(A));return Math.max(g,1)}function LsA(A,g){let e=new Oi(A.geometry,A.material),I=[],i=[],t=new x,C=new x;e.geometry.index!==null&&(e.geometry=e.geometry.toNonIndexed());let o=new JsA(e).build();for(let s=0;s<g;s++)o.sample(t,C),I.push(t.x,t.y,t.z),i.push(C.x,C.y,C.z);let a=new Float32Array(I),r=new Float32Array(i);return{positions:a,normals:r}}function QK(A,g){let e=A,I=new Float32Array(4*g*g);for(let t=0;t<g*g;t++)I[4*t]=e[3*t],I[4*t+1]=e[3*t+1],I[4*t+2]=e[3*t+2],I[4*t+3]=0;let i=new vo(I,g,g,qt,tt);return i.needsUpdate=!0,i}function xsA({size:A}){let g=new Float32Array(4*A*A);for(let I=0;I<A*A;I++)g[4*I]=I,g[4*I+1]=0,g[4*I+2]=0,g[4*I+3]=0;let e=new vo(g,A,A,qt,tt);return e.needsUpdate=!0,e}function YsA(A){let g=new Float32Array(4*A*A);for(let I=0;I<A*A;I++)g[4*I]=0,g[4*I+1]=0,g[4*I+2]=0,g[4*I+3]=0;let e=new vo(g,A,A,qt,tt);return e.needsUpdate=!0,e}var HsA=`
// uniform sampler2D uCurrentPosition; // Pass in the variable from GPGPU
// uniform sampler2D uCurrentVelocity; // Pass in the variable from GPGPU
// uniform sampler2D uCurrentEmissionRate; // Pass in the variable from GPGPU
uniform sampler2D uOriginalPosition;
uniform float uTime;
uniform float uSpeed;     // update speed of the particles
uniform vec3 uWorldOffset;    
uniform vec4 uWorldQuaternion;
uniform float uMaxLifeTime;
uniform vec3 uEmitterSize;
uniform float uFPSRatio;     // 1  for 60 FPS

float random (vec2 st) {
    return fract(sin(dot(st.xy,
        vec2(12.9898,78.233)))*
        43758.5453123);
}
vec3 applyQuaternionToVector( vec4 q, vec3 v ){
    return v + 2.0 * cross( q.xyz, cross( q.xyz, v ) + q.w * v );
}

vec3 applyForce(vec3 force, float mass) {
    vec3 acceleration = force / mass;
    
    return acceleration;
  }
  

void main() {
    vec2 vUv = gl_FragCoord.xy / resolution.xy;
    vec3 position = texture2D( uCurrentPosition, vUv ).xyz;
    float currentLife = texture2D( uCurrentPosition, vUv ).w;   // from 1 to 0
    float isSpawning = texture2D( uCurrentEmissionRate, vUv ).r;        // 1. = spawning, 0. = not spawning
    float isActive = texture2D( uCurrentEmissionRate, vUv ).g;          // 1. = active, 0. = not active
    float timeStart = texture2D( uCurrentEmissionRate, vUv ).b;         // timeStart in seconds when the particle was emitted
    vec3 originalPosition = ((texture2D( uOriginalPosition, vUv ).xyz) * uEmitterSize);
    vec3 velocity = texture2D( uCurrentVelocity, vUv ).xyz;
    float collisionFlag = texture2D( uCurrentVelocity, vUv ).w;             // 1. = collided, 0. = not collided
    float lifeTime = uMaxLifeTime;

    // Calculate the position adjustment based on collision
    //     if (collisionFlag > .5) {  
    float isColliding = step(0.5, collisionFlag); // 1.0 if collisionFlag > 0.5, otherwise 0.0
    float bounceOffset = 3.0 * isColliding; // Becomes 3.0 if colliding, 0.0 otherwise
    vec3 collisionAdjustedVelocity = velocity * (1.0 + bounceOffset);

    // Update position based on collision or normal movement
    vec3 fpsVelocity = velocity * min(uFPSRatio, 5.0);
    position += mix(fpsVelocity, collisionAdjustedVelocity, isColliding);

    // EMISSION RATE - BIRTH
    // if (isSpawning == 1.0) {
    // Better Approach to avoid If statement
    vec3 newPosition = applyQuaternionToVector(uWorldQuaternion, originalPosition) + uWorldOffset;
    originalPosition = mix(originalPosition, newPosition, isSpawning);
    position = mix(position, originalPosition, isSpawning);;
    timeStart = mix(timeStart, uTime, isSpawning);

    // Calculate timeLeft for life normalization
    float timeLeft = max(lifeTime - (uTime - timeStart), 0.0);
    float life_Normalize = timeLeft / lifeTime;

    // Use isActive to blend between the calculated color and black
    vec4 activeColor = vec4(position, life_Normalize);
    // if (isActive == 1.0) {
    gl_FragColor = mix(vec4(0.0), activeColor, isActive);

}
`,TsA=`

    vec3 mod289(vec3 x) {
      return x - floor(x * (1.0 / 289.0)) * 289.0;
    }
    
    vec4 mod289(vec4 x) {
    return x - floor(x * (1.0 / 289.0)) * 289.0;
    }
    
    vec4 permute(vec4 x) {
        return mod289(((x*34.0)+1.0)*x);
    }
    
    vec4 taylorInvSqrt(vec4 r)
    {
    return 1.79284291400159 - 0.85373472095314 * r;
    }
    
    vec3 fade(vec3 t) {
  return t*t*t*(t*(t*6.0-15.0)+10.0);
}

    float snoise(vec3 v)
    {
    const vec2  C = vec2(1.0/6.0, 1.0/3.0) ;
    const vec4  D = vec4(0.0, 0.5, 1.0, 2.0);
    vec3 i  = floor(v + dot(v, C.yyy) );
    vec3 x0 =   v - i + dot(i, C.xxx) ;
    vec3 g = step(x0.yzx, x0.xyz);
    vec3 l = 1.0 - g;
    vec3 i1 = min( g.xyz, l.zxy );
    vec3 i2 = max( g.xyz, l.zxy );
    vec3 x1 = x0 - i1 + C.xxx;
    vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y
    vec3 x3 = x0 - D.yyy;      // -1.0+3.0*C.x = -0.5 = -D.y
    
    // Permutations
    i = mod289(i);
    vec4 p = permute( permute( permute(
                i.z + vec4(0.0, i1.z, i2.z, 1.0 ))
              + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))
              + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));
    
    // Gradients: 7x7 points over a square, mapped onto an octahedron.
    // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)
    float n_ = 0.142857142857; // 1.0/7.0
    vec3  ns = n_ * D.wyz - D.xzx;
    
    vec4 j = p - 49.0 * floor(p * ns.z * ns.z);  //  mod(p,7*7)
    
    vec4 x_ = floor(j * ns.z);
    vec4 y_ = floor(j - 7.0 * x_ );    // mod(j,N)
    
    vec4 x = x_ *ns.x + ns.yyyy;
    vec4 y = y_ *ns.x + ns.yyyy;
    vec4 h = 1.0 - abs(x) - abs(y);
    
    vec4 b0 = vec4( x.xy, y.xy );
    vec4 b1 = vec4( x.zw, y.zw );
    
    vec4 s0 = floor(b0)*2.0 + 1.0;
    vec4 s1 = floor(b1)*2.0 + 1.0;
    vec4 sh = -step(h, vec4(0.0));
    
    vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;
    vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;
    
    vec3 p0 = vec3(a0.xy,h.x);
    vec3 p1 = vec3(a0.zw,h.y);
    vec3 p2 = vec3(a1.xy,h.z);
    vec3 p3 = vec3(a1.zw,h.w);
    
    //Normalise gradients
    vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));
    p0 *= norm.x;
    p1 *= norm.y;
    p2 *= norm.z;
    p3 *= norm.w;
    
    // Mix final noise value
    vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);
    m = m * m;
    return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),
                                  dot(p2,x2), dot(p3,x3) ) );
    }
    
    vec3 snoiseVec3( vec3 x ){
    
      float s  = snoise(vec3( x ));
      float s1 = snoise(vec3( x.y - 19.1 , x.z + 33.4 , x.x + 47.2 ));
      float s2 = snoise(vec3( x.z + 74.2 , x.x - 124.5 , x.y + 99.4 ));
      vec3 c = vec3( s , s1 , s2 );
      return c;
    
    }
    
      
    vec3 curlNoise( vec3 p, float seed){
      p += seed;
      const float e = .1;
      vec3 dx = vec3( e   , 0.0 , 0.0 );
      vec3 dy = vec3( 0.0 , e   , 0.0 );
      vec3 dz = vec3( 0.0 , 0.0 , e   );
    
      vec3 p_x0 = snoiseVec3( p - dx );
      vec3 p_x1 = snoiseVec3( p + dx );
      vec3 p_y0 = snoiseVec3( p - dy );
      vec3 p_y1 = snoiseVec3( p + dy );
      vec3 p_z0 = snoiseVec3( p - dz );
      vec3 p_z1 = snoiseVec3( p + dz );
    
      float x = p_y1.z - p_y0.z - p_z1.y + p_z0.y;
      float y = p_z1.x - p_z0.x - p_x1.z + p_x0.z;
      float z = p_x1.y - p_x0.y - p_y1.x + p_y0.x;
    
      const float divisor = 1.0 / ( 2.0 * e );
      return normalize( vec3( x , y , z ) * divisor );
    
    }


// Classic Perlin noise
float cnoise(vec3 P)
{
  vec3 Pi0 = floor(P); // Integer part for indexing
  vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1
  Pi0 = mod289(Pi0);
  Pi1 = mod289(Pi1);
  vec3 Pf0 = fract(P); // Fractional part for interpolation
  vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
  vec4 iy = vec4(Pi0.yy, Pi1.yy);
  vec4 iz0 = Pi0.zzzz;
  vec4 iz1 = Pi1.zzzz;

  vec4 ixy = permute(permute(ix) + iy);
  vec4 ixy0 = permute(ixy + iz0);
  vec4 ixy1 = permute(ixy + iz1);

  vec4 gx0 = ixy0 * (1.0 / 7.0);
  vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;
  gx0 = fract(gx0);
  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
  vec4 sz0 = step(gz0, vec4(0.0));
  gx0 -= sz0 * (step(0.0, gx0) - 0.5);
  gy0 -= sz0 * (step(0.0, gy0) - 0.5);

  vec4 gx1 = ixy1 * (1.0 / 7.0);
  vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;
  gx1 = fract(gx1);
  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
  vec4 sz1 = step(gz1, vec4(0.0));
  gx1 -= sz1 * (step(0.0, gx1) - 0.5);
  gy1 -= sz1 * (step(0.0, gy1) - 0.5);

  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);
  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);
  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);
  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);
  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);
  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);
  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);
  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);

  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
  g000 *= norm0.x;
  g010 *= norm0.y;
  g100 *= norm0.z;
  g110 *= norm0.w;
  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
  g001 *= norm1.x;
  g011 *= norm1.y;
  g101 *= norm1.z;
  g111 *= norm1.w;

  float n000 = dot(g000, Pf0);
  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
  float n111 = dot(g111, Pf1);

  vec3 fade_xyz = fade(Pf0);
  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); 
  return 2.2 * n_xyz;
}


vec3 fbm_vec3(vec3 p, float frequency, float offset)
{
  return vec3(
    cnoise((p+vec3(offset))*frequency),
    cnoise((p+vec3(offset+20.0))*frequency),
    cnoise((p+vec3(offset-30.0))*frequency)
  );
}

`,OsA=`
  #ifdef USE_COLLIDER
    float restitution = max(uBounce * 2., .01); // Energy Loss
    // SPHERE COLLIDER
    // **************************************************************
    #ifdef USE_SPHERE_COLLIDER       
      // Convert collider size to radii (assuming uColliderSize is the diameter in each axis)
      vec3 radii = uColliderSize;
      // Adjust position relative to collider
      vec3 relPos = position - uColliderPos;
      // Apply rotation of the collider to the relative position
      relPos = applyQuaternionToVector(uColliderQuaternionInvert, relPos);            
      // Scale relative position by radii (for ellipsoid collision detection)
      vec3 scaledPos = relPos / radii;
      // Calculate ellipsoidal distance
      float dist = length(scaledPos); // Distance in terms of ellipsoid
      
      // Check for collision
      if (dist <= 1. + particleSize / length(radii) && collisionFlag == 0.0) {
          // Compute the normal at the collision point, accounting for particle size
        vec3 adjustedPos = scaledPos * (1.0 + particleSize / length(radii));          
        // Compute the normal at the collision point
        vec3 normal = ellipsoidNormal(adjustedPos, radii);
        // Rotate the normal back to world space
        normal = applyQuaternionToVector(uColliderQuaternion, normal);
        // Reflect the velocity vector off the normal
        velocity = reflect(velocity, normal) * restitution;

        collisionFlag = 1.0;
      } else {
        collisionFlag = 0.0;
      }
    #endif

    // BOX COLLIDER or PLANE COLLIDER 
    // **************************************************************
    #ifdef USE_BOX_COLLIDER
      // Box dimensions and repulsion variables
      vec3 boxHalfSize = uColliderSize / 2.0;
      // Convert world position to box's local space
      vec3 localPos = applyQuaternionToVector(uColliderQuaternionInvert, position - uColliderPos);      
      // Collision detection
      vec3 localDistance = abs(localPos) - boxHalfSize;
      float distToSurface = max(localDistance.x, max(localDistance.y, localDistance.z));    

      // Collision Detected
      if (distToSurface <= particleSize * 0.5 && collisionFlag == 0.0) {      
        // Find the nearest face normal for bounce direction
        vec3 normal;
        if (localDistance.x > localDistance.y && localDistance.x > localDistance.z) {
            normal = vec3(sign(localPos.x), 0.0, 0.0);
        } else if (localDistance.y > localDistance.z) {
            normal = vec3(0.0, sign(localPos.y), 0.0);
        } else {
            normal = vec3(0.0, 0.0, sign(localPos.z));
        }            
        // Rotate normal back to world space
        normal = applyQuaternionToVector(uColliderQuaternion, normal);      
        // Reflect velocity and apply repulsion force
        velocity = reflect(velocity, normal) * restitution;
        
        collisionFlag = 1.0;
      } else {
        collisionFlag = 0.0;
      }
    #endif      
  #endif      
  // END COLLIDER    
`,_sA=`
  #ifdef USE_ATTRACTOR

      #ifdef USE_SPHERE_COLLIDER      
        // Convert collider size to radii (assuming uColliderSize is the diameter in each axis)
        vec3 radii = uColliderSize;
        // Adjust position relative to collider
        vec3 relPos = position - uColliderPos;
        // Apply rotation of the collider to the relative position
        relPos = applyQuaternionToVector(uColliderQuaternionInvert, relPos);            
        // Scale relative position by radii (for ellipsoid collision detection)
        vec3 scaledPos = relPos / radii;
        // Calculate ellipsoidal distance
        float distToSurface = length(scaledPos); // Distance in terms of ellipsoid
        float insideCheck = 1.0;

      #endif


      #ifdef USE_BOX_COLLIDER
        // Box dimensions
        vec3 boxHalfSize = uColliderSize / 2.0;
        // Convert world position to box's local space
        vec3 localPos = applyQuaternionToVector(uColliderQuaternionInvert, position - uColliderPos);      
        vec3 localDistance = abs(localPos) - boxHalfSize;
        float distToSurface = max(localDistance.x, max(localDistance.y, localDistance.z));
        float insideCheck = particleSize;
      #endif      
  
      // Apply vortex force inside the Helper
      #ifdef USE_FORCE_LOCAL_SPACE
        if (distToSurface <= insideCheck ) {    
            // Define parameters for the attractor field
            #ifdef USE_SPHERE_COLLIDER      
              float attractorStrength = (1.0 - distToSurface ) * uForceIntensity; // Adjust as needed
            #endif

            #ifdef USE_BOX_COLLIDER
              float attractorStrength = max((1.0 - insideCheck / distToSurface), 0.) * uForceIntensity; // Adjust as needed
              #endif

            float attractorDamping = uForceDamping;  // Adjust as needed (higher values will attenuate velocity more)
          
            // Use the same radii calculation code as for the collider
            vec3 attractorRadii = uColliderSize;
            // Adjust position relative to attractor center
            vec3 relPos = position - uColliderPos;
            // Apply rotation of the collider to the relative position
            relPos = applyQuaternionToVector(uColliderQuaternionInvert, relPos);            
            // Scale relative position by radii (for ellipsoid attraction)
            vec3 scaledPos = relPos / attractorRadii;

            // Calculate ellipsoidal distance as attractor radius
            float attractorRadius = length(scaledPos);
            // Calculate the distance from the attractor center
            vec3 relativePosition = position - uColliderPos;
            // Calculate the force vector towards the attractor center
            vec3 attractorForce = normalize(relativePosition) * attractorStrength;
            // Apply the attractor force to the particle
            velocity -= attractorForce;
            // Attenuate the particle's velocity
            velocity *= attractorDamping;
        }
      #else 
            // Calculate the distance from the attractor center
            vec3 relativePosition = position - uColliderPos;
            // Calculate the force vector towards the attractor center
            vec3 attractorForce = normalize(relativePosition) * uForceIntensity;
            // Apply the attractor force to the particle
            velocity -= attractorForce;
            // Attenuate the particle's velocity
            velocity *= uForceDamping;
      #endif    
  #endif      
`,PsA=`
  #ifdef USE_VORTEX
    // Box dimensions
    vec3 boxHalfSize = uColliderSize / 2.0;
    // Convert world position to box's local space
    vec3 localPos = applyQuaternionToVector(uColliderQuaternionInvert, position - uColliderPos);      
    vec3 localDistance = abs(localPos) - boxHalfSize;
    float distToSurface = max(localDistance.x, max(localDistance.y, localDistance.z));

    // Apply vortex force inside the box
    if (distToSurface <= particleSize) {
      float vortexStrength = uForceIntensity;
      vec3 localTopCenter = vec3(0.0, 0., 0.0);

      // Transform the local top center to the world space
      vec3 vortexCenter = uColliderPos + applyQuaternionToVector(uColliderQuaternion, localTopCenter);
      // Calculate the vector from particle to vortex center
      vec3 vortexVector = vortexCenter - position;

      // Calculate the rotation axis from the inverse of the collider's quaternion and the fixed up vector
      // Note: important to add a tiny z component to the up vector to avoid instability
      vec3 upVector = vec3(0.0, 1.0, 0.01);
      vec3 rotationAxis = cross(upVector, applyQuaternionToVector(uColliderQuaternion, vortexVector));
      rotationAxis = normalize(rotationAxis);

      // Add rotational component to velocity
      float rotationSpeed = length(vortexVector * vortexStrength * 3.0) ; 

      vec3 rotationVelocity = rotationAxis * rotationSpeed;
      // velocity += rotationVelocity * 0.005 ;
      velocity = rotationVelocity * 0.005 ;

      // Calculate vortex force
      // vec3 vortexForce = normalize(vortexVector) * uSpeed * .1 ;
      // Apply the vortex force to the particle
      vec3 originDirection = applyQuaternionToVector(uWorldQuaternion, directions);
      velocity += applyForce( originDirection * uSpeed * (1. - uForceDamping) , mass * .5);
    }
  #endif      
`,jsA=`
// uniform sampler2D uCurrentPosition; // Pass in the variable from GPGPU
// uniform sampler2D uCurrentVelocity; // Pass in the variable from GPGPU
// uniform sampler2D uCurrentEmissionRate; // Pass in the variable from GPGPU
uniform sampler2D uOriginalPosition;
uniform sampler2D uDirections;     
uniform vec3 uDirectionsAxis;
uniform vec4 uWorldQuaternion;
uniform vec3 uGravity;        
uniform float uNoiseStrength;     // Variation of the noise
uniform float uNoiseScale;        // Scale of the noise
uniform float uNoiseSeed;         // Seed of the noise
uniform float particleSize;
uniform float uSpeed;     // update speed of the particles
uniform float uRandomMassFactor;

// COLLIDER
uniform vec3 uColliderPos;                // Collider Position
uniform vec3 uColliderSize;               // Collider Dimension
uniform vec4 uColliderQuaternion;         // Collider Rotation
uniform vec4 uColliderQuaternionInvert;   // Collider Rotation
uniform float uBounce;                    // Bounce factor
uniform float uForceDamping;
uniform float uForceIntensity;


`+TsA+`
float rand(vec2 co){
    return fract(sin(dot(co, vec2(12.9898, 78.233))) * 43758.5453);
}
vec3 applyQuaternionToVector( vec4 q, vec3 v ){
    return v + 2.0 * cross( q.xyz, cross( q.xyz, v ) + q.w * v );
 } 
vec3 applyForce(vec3 force, float mass) {
  vec3 acceleration = force / mass;
  
  return acceleration;
}

vec4 conjugate(vec4 q) {
  return vec4(q.w, -q.x, -q.y, -q.z);
}

// Function to compute the normal of the ellipsoid at a given point
vec3 ellipsoidNormal(vec3 p, vec3 radii) {
  return normalize(p / (radii * radii));
}

float friction = .3;

void main() {
    vec2 vUv = gl_FragCoord.xy / resolution.xy;
    vec3 position = texture2D( uCurrentPosition, vUv ).xyz;
    vec3 originalPosition = texture2D( uOriginalPosition, vUv ).xyz;
    float timeLeft = texture2D( uCurrentPosition, vUv ).w;
    vec3 directions = texture2D( uDirections, vUv ).xyz;    
    vec3 velocity = texture2D( uCurrentVelocity, vUv ).xyz;
    float mass = rand(originalPosition.xy) * 0.5 + 0.5;
    float isSpawning = texture2D( uCurrentEmissionRate, vUv ).x;        // 1. = spawning, 0. = not spawning
    float isActive = texture2D( uCurrentEmissionRate, vUv ).y;          // 1. = active, 0. = not active
    float collisionFlag =texture2D( uCurrentVelocity, vUv ).w;          // Indicate collision

    // Randomness Mass
    mass = (1.0 - (uRandomMassFactor * mass));
    
    if (isActive == 1.0) {
      // **************************************************************
      // FORCES NOISES
      // **************************************************************
      #ifdef USE_CURL_NOISE
        if (uNoiseScale > 0.0 ) {
          velocity = curlNoise(position * uNoiseScale * .002, uNoiseSeed) * ( uNoiseStrength + 1.0) * .05 * uSpeed;
        }
        // Variation of the noise Over Time
        if (uNoiseStrength > 0.0 && uNoiseScale == 0.0 ) {
          velocity += curlNoise( position, uNoiseSeed)  * uNoiseStrength * 0.05 * uSpeed;
        }
      #endif
      // **************************************************************
      #ifdef USE_SIMPLEX_NOISE
        if (uNoiseScale > 0.0 ) {
          velocity = vec3(snoise(position * uNoiseScale * .001) * ( uNoiseStrength + 1.0) * .1);
          velocity *= uSpeed;
        }
        // Variation of the noise Over Time
        if (uNoiseStrength > 0.0 && uNoiseScale == 0.0) {
          velocity += vec3(snoise(position * uNoiseStrength * .001) * .05 * uSpeed);
        }
      #endif
      // ************************************************************** 
      #ifdef USE_FBM_NOISE
        if (uNoiseScale > 0.0 ) {
          velocity = fbm_vec3(position * uNoiseScale * .001, ( uNoiseStrength + 1.0), uNoiseSeed);
          velocity *= uSpeed;
        }
        // Variation of the noise Over Time
        if (uNoiseStrength > 0.0 && uNoiseScale == 0.0 ) {      
          velocity += fbm_vec3(position * uNoiseStrength * .001, ( uNoiseStrength + 1.0), uNoiseSeed) * .1 * uSpeed;
        }
      #endif

      // COLLIDER
      ${OsA}
      // ATTRACTION
      ${_sA}  
      // VORTEX
      ${PsA}
    } 
    // End isActive

    // SPAWN BIRTH 
    // **************************************************************
    // if (isSpawning == 1.)
    #ifdef USE_NORMALS
      velocity = mix(velocity, applyQuaternionToVector(uWorldQuaternion, directions) * uSpeed, isSpawning);
    #else
      velocity = mix(velocity, applyQuaternionToVector(uWorldQuaternion, uDirectionsAxis) * uSpeed, isSpawning);    
    #endif
    
    // if (collisionFlag == 0.0)
    velocity += applyForce(uGravity, mass * .5) * (1.0 - collisionFlag);

    gl_FragColor = vec4(velocity, collisionFlag);
}
`,c2=`

  // Linear Fade In
  float linearFadeIn(float t) {
    return t;
  }


  // linear fade out
  float linearFadeOut(float t) {
    return 1.0 - t;
  }
  
  float linearInOut(float t) {
    return t < 0.5 ? t :  (1.0 - t);  
  }

    // lerp
    float lerp(float a, float b, float t) {
      return a + (b - a) * t;
    }

  // Ease In Out Quart
  float exponentialInOut(float t) {
    return t < 0.4 ? lerp(0.0, 1.0, t / 0.4) :
    t > 0.6 ? lerp(1.0, 0.0, (t - 0.6) / 0.4) :
    1.0;
   }

  // constant
  float constant(float t) {
    return 1.0;
  } 
`,WsA=`

float rand(vec3 co){
  return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}

vec3 applyQuaternionToVector( vec4 q, vec3 v ){
  return v + 2.0 * cross( q.xyz, cross( q.xyz, v ) + q.w * v );
}

vec3 applyForce(vec3 force, float mass) {
  vec3 acceleration = force / mass;
    
  return acceleration;
}
`,zsA=`
vec3 rgb2xyz (in vec3 rgb) {
    float r = rgb.r;
	float g = rgb.g;
	float b = rgb.b;

	r = r > 0.04045 ? pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);
	g = g > 0.04045 ? pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);
	b = b > 0.04045 ? pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);

	float x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);
	float y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);
	float z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);
    
    vec3 xyz = vec3(
        (r * 0.4124) + (g * 0.3576) + (b * 0.1805) * 100.0,
        (r * 0.2126) + (g * 0.7152) + (b * 0.0722) * 100.0,
        (r * 0.0193) + (g * 0.1192) + (b * 0.9505) * 100.0
    );
    return(xyz);
}

vec3 xyz2lab (in vec3 xyz) {
	float x = xyz.x / 95.047;
	float y = xyz.y / 100.0;
	float z = xyz.z / 108.883;

	x = x > 0.008856 ? pow(x, 1.0 / 3.0) : (7.787 * x) + (16.0 / 116.0);
	y = y > 0.008856 ? pow(y, 1.0 / 3.0) : (7.787 * y) + (16.0 / 116.0);
	z = z > 0.008856 ? pow(z, 1.0 / 3.0) : (7.787 * z) + (16.0 / 116.0);

    vec3 lab = vec3((116.0 * y) - 16.0, 500.0 * (x - y), 200.0 * (y - z));
    return(lab);
}

vec3 rgb2lab(in vec3 rgb) {
    vec3 xyz = rgb2xyz(rgb);
    vec3 lab = xyz2lab(xyz);
    return(lab);
}

vec3 xyz2rgb (in vec3 xyz) {
	float x = xyz.x / 100.0;
	float y = xyz.y / 100.0;
	float z = xyz.z / 100.0;
	
    
	float r = (x *  3.2406) + (y * -1.5372) + (z * -0.4986);
	float g = (x * -0.9689) + (y *  1.8758) + (z *  0.0415);
	float b = (x *  0.0557) + (y * -0.2040) + (z *  1.0570);

	r = r > 0.0031308 ? ((1.055 * pow(r, 1.0 / 2.4)) - 0.055) : r * 12.92;
	g = g > 0.0031308 ? ((1.055 * pow(g, 1.0 / 2.4)) - 0.055) : g * 12.92;
	b = b > 0.0031308 ? ((1.055 * pow(b, 1.0 / 2.4)) - 0.055) : b * 12.92;

	r = min(max(0.0, r), 1.0);
	g = min(max(0.0, g), 1.0);
	b = min(max(0.0, b), 1.0);

	return(vec3(r, g, b));
}

vec3 lab2xyz (in vec3 lab) {
    float l = lab.x;
	float a = lab.y;
	float b = lab.z;

  	float y = (l + 16.0) / 116.0;
	float x = a / 500.0 + y;
	float z = y - b / 200.0;

	float y2 = pow(y, 3.0);
	float x2 = pow(x, 3.0);
	float z2 = pow(z, 3.0);

  	y = y2 > 0.008856 ? y2 : (y - 16.0 / 116.0) / 7.787;
	x = x2 > 0.008856 ? x2 : (x - 16.0 / 116.0) / 7.787;
	z = z2 > 0.008856 ? z2 : (z - 16.0 / 116.0) / 7.787;

	x *= 95.047;
	y *= 100.0;
	z *= 108.883;

	return(vec3(x, y, z));
}
vec3 lab2rgb (in vec3 lab) {
    vec3 xyz = lab2xyz(lab);
    vec3 rgb = xyz2rgb(xyz);
    return(rgb);
}

`,VsA=`
  uniform sampler2D uPosition;
  uniform float uSize;
  uniform float uSizeEnd;
  uniform vec3 uWorldOffset;
  uniform vec4 uWorldQuaternion;
  // Billboard Behavior - Currently at Zero, but we can change that
  uniform float uRotation;
  uniform float uRotationEnd;
  uniform vec2 center;

  // Randomness
  uniform float uRandScaleFactor;
  uniform float uRandRotationFactor;

  attribute vec2 ref;

  varying float v_LifeLeft;    // normalized lifetime 1 to 0
  varying vec2 vUv;
  varying vec2 vRef;

  ${WsA}
  ${c2}
`,ZsA=({easeSize:A="linearFadeOut"})=>`
  vUv = uv;  
  vRef = ref;
  // Normalized LifeTime 1 to 0
  float lifeLeft = texture2D(uPosition, ref).w;
  v_LifeLeft = lifeLeft;
  // Position From DataTexture Simulation
  vec3 pos = texture2D(uPosition, ref).rgb - uWorldOffset;
  // Apply World Quaternion
  pos = applyQuaternionToVector(uWorldQuaternion, pos);  
            
  #ifdef  USE_SIZE_END
    // Scaled Over Time
    float t = 1. - lifeLeft;
    float currentSize = mix(uSize, uSizeEnd, t); // Linearly interpolate between uSize and uSizeEnd
    vec3 scaledPosition = position * vec3(currentSize);
  #else
    // Change Size Behavior over LifeTime
    float easeSize = ${A}(1. - lifeLeft);
    // Scaled Over Time
    vec3 scaledPosition = position * vec3(uSize * easeSize);
  #endif

  // Billboard Behavior
  vec2 scale;
  scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );
  scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );    
  // Randomness 
  float randRef = rand(ref);
  scale *= (1.0 - (uRandScaleFactor * randRef));
  // Rotation
  float randRotation =  2.0 * PI * ( uRandRotationFactor * randRef);
  float originalRotation = (1.0 - uRotation) * 2.0 * PI;
  float originalRotationEnd = (1.0 - uRotationEnd) * 2.0 * PI;
  // OverTime
  float finalRotation = mix(originalRotation + randRotation, originalRotationEnd + randRotation, lifeLeft);

  vec2 alignedPosition = ( scaledPosition.xy - ( center - vec2( 0.5 ) ) ) * scale;
  vec2 rotatedPosition;
  rotatedPosition.x = cos( finalRotation ) * alignedPosition.x - sin( finalRotation ) * alignedPosition.y;
  rotatedPosition.y = sin( finalRotation ) * alignedPosition.x + cos( finalRotation ) * alignedPosition.y;
  
  mat4 instanceMatrix = mat4(
    vec4(1.0, 0.0, 0.0, 0.0),
    vec4(0.0, 1.0, 0.0, 0.0),
    vec4(0.0, 0.0, 1.0, 0.0),
    vec4(pos.x, pos.y, pos.z, 1.0)
  );  

  mvPosition = modelViewMatrix * instanceMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );
  mvPosition.xy += rotatedPosition;
  gl_Position = projectionMatrix  * mvPosition;   
`,XsA=`
  uniform vec4 uColor;                // start color
  uniform vec4 uColor2;               // end color
  uniform sampler2D uTexture;         // texture
  varying float v_LifeLeft;   // normalized lifetime 1 to 0
  varying vec2 vUv;
  varying vec2 vRef;

  float random(vec2 co) {
    return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);
  }
  `+c2+`  
  ${zsA}

`,$sA=({easeOpacity:A="linearFadeOut"})=>`  
  // if Particle is dead, hide it
  if (v_LifeLeft <= 0.005 ) {
    discard;
  }

  #ifdef USE_RANDOM_COLORING
    float randVal = random(vRef); // Generate a random value based on the reference
    vec4 color = mix(uColor, uColor2, randVal); // Interpolate between the two colors
  #else
    vec4 color = mix(uColor, uColor2, 1. - v_LifeLeft);
  #endif

  // Opacity over Life Time
  float finalAlpha = ${A}(1. - v_LifeLeft);  
  vec4 textureColor = texture2D(uTexture, vUv).rgba; 
  finalColor = textureColor.rgb * color.rgb;
  finalAlpha = color.a * textureColor.a * finalAlpha;
  
  gl_FragColor = vec4(finalColor, finalAlpha);     

`,ABA=class extends RI{constructor(A,g){super(),this.needsJitter=!0,this.type="ParticleMaterial",this.easeOpacity="linearFadeIn",this.easeSize="linearFadeIn",this.useSizeEnd=!1,this.isColoringRandom=!1,this.init(A,g),this.context=g}reset(){}init(A,g){this.transparent=!0,this.depthTest=!0,this.depthWrite=!1,this.easeOpacity=A.ease,this.easeSize=A.easeSize,this.layers=[],pt.startContext(pt.globalContext),this.lightLayer=new za(0,"",{...vt.defaultData("light","phong"),visible:!1},new im,{},g.shared),pt.endContext(pt.globalContext),this.build()}updateState(A){A.coloring!==void 0&&(this.isColoringRandom=A.coloring==="random"),A.color!==void 0&&(A.color instanceof Array?this.uniforms.uColor.value=A.color:this.uniforms.uColor.value=this.context.shared.color(A.color)),A.color2!==void 0&&(A.color2 instanceof Array?this.uniforms.uColor2.value=A.color2:this.uniforms.uColor2.value=this.context.shared.color(A.color2)),A.size!==void 0&&(this.uniforms.uSize.value=A.size[0],this.uniforms.uSizeEnd.value=A.size[1],A.size[0]!==A.size[1]?this.useSizeEnd=!0:this.useSizeEnd=!1),A.ease!==void 0&&(this.easeOpacity=A.ease,this.build()),A.easeSize!==void 0&&(this.easeSize=A.easeSize,this.build()),this.needsUpdate=!0}onBeforeCompile(A){this.build(),A.defines=this.defines,A.uniforms=this.uniforms,A.vertexShader=this.vertexShader,A.fragmentShader=this.fragmentShader}build(){let A=new hL;return A.needsJitter=this.needsJitter,A.addFragmentParsCode(jtA),A.buildShader("vertex",this.fragment),A.buildShader("fragment",this.fragment),A.addFragmentFinalCode(WtA),this.isColoringRandom&&A.define("USE_RANDOM_COLORING"),this.useSizeEnd&&A.define("USE_SIZE_END"),A.addVertexParsCode(VsA),A.addFragmentParsCode(XsA),A.addVertexFinalCode(ZsA({easeSize:this.easeSize})),A.addFragmentFinalCode($sA({easeOpacity:this.easeOpacity})),this.vertexShader=A.getCode("vertex"),this.fragmentShader=A.getCode("fragment"),this.defines=A.defines,this.uniforms={...A.uniforms,...this.uniforms},this.extensions=A.extensions,this}get nodeMaterial(){return this}get fragment(){return this.lightLayer.node}getDefines(){return this.defines}nodeMaterialDispose(){this.layers.forEach(A=>A.dispose()),super.dispose()}},m0=class{constructor(A,g,e,I){this.type="SphereEmitterShape",this.targetMesh=void 0,this.size=A,this.type=e,this.textureSize=bsA(g);let i=1;this.targetMesh=I?.type==="Mesh"&&I?I:this.getMesh(e,i);let{positions:t,dataTexture:C,dataTextureNormals:o}=this.createPositions(this.textureSize,this.targetMesh??this.getMesh(e,i));this.positionsTexture=C,this.positionsAttribute=t,this.directionsTexture=o}createPositions(A,g){let{positions:e,normals:I}=LsA(g,A*A),i=QK(e,A),t=QK(I,A);return{dataTexture:i,positions:e,dataTextureNormals:t}}getMesh(A,g){let e=null;switch(A){case"SphereEmitterShape":{e=new hE(g*.5,32,32);break}case"TorusEmitterShape":{e=new VJ(g*.5,.3,15,40);break}case"ConeEmitterShape":{e=new sG(g,g,15);break}case"BoxEmitterShape":{e=new da(g,g,g);break}case"PlaneEmitterShape":{e=new RQ(g,g),e.rotateX(-Math.PI/2);break}case"MeshEmitterShape":{e=new hE(g,32,32);break}default:{e=new hE(g,32,32);break}}return new Oi(e,new NQ({color:16711680}))}applyToShader(A,g){this.size=new x().fromArray(g.size),A.uEmitterSize.value=this.size}dispose(){this.positionsTexture.dispose(),this.directionsTexture.dispose(),this.positionsAttribute=new Float32Array}};function CE(A){let g={...A},e=WD.defaultData;g.forceFieldObjectId&&(g.colliderEntityId=g.forceFieldObjectId);let I={...e.shape,...g.shape},i={...e.renderMaterial,...g.renderMaterial};return{...e,...g,shape:I,renderMaterial:i}}var gBA=`
// uniform sampler2D uCurrentPosition; // Pass in the variable from GPGPU
// uniform sampler2D uCurrentVelocity; // Pass in the variable from GPGPU
// uniform sampler2D uCurrentEmissionRate; // Pass in the variable from GPGPU

uniform sampler2D uIndex; // Texture with corresponding index
uniform float uLastIndexEmitted; // Last emitted index
uniform float uParticlesToEmit; // Number of particles to emit on that frame
uniform float uTime;

void main() {
    vec2 vUv = gl_FragCoord.xy / resolution.xy;
    float particleIndex = texture(uIndex, vUv).x;
    float timeLeft = texture2D( uCurrentPosition, vUv ).w;
    float isActive = texture2D( uCurrentEmissionRate, vUv ).g;    // 1. = active, 0. = not active
    float timeStart = texture2D( uCurrentEmissionRate, vUv ).b;


    // ********** Detect Colision to Create a flag and use it in position **********
    // We are doing this here, so

    // ********** Emit Particles **********
    // X = isSpawning 0.0 or 1.0
    // Y = isActive 0.0 or 1.0
    // Check if the vertex index is between the first value and the last value
    // if (particleIndex >= uLastIndexEmitted && particleIndex < uLastIndexEmitted + uParticlesToEmit) {
    //     // Emit a particle by writing 1 to the red channel of the color output
    //     // r: 1. == emit the particle
    //     // g: 1. == particle is now active
    //     timeStart = uTime;
    //     gl_FragColor = vec4(1.0, 1.0, timeStart, 1.0);
    // } else {
    //     // The Particle is either already emitted or not in the range of the particles to emit
    //     // Do not emit a particle by writing 0 to the red channel of the color output        
    //     gl_FragColor = vec4(0.0, isActive, timeStart, 1.0);
    // }
    // Determine if the particle is within the emission range
    float emitLowerBound = step(uLastIndexEmitted, particleIndex);
    float emitUpperBound = step(particleIndex, uLastIndexEmitted + uParticlesToEmit - 1.0);
    float emitParticle = emitLowerBound * emitUpperBound; // 1.0 if in range, 0.0 otherwise

    // Set timeStart and color
    timeStart = mix(timeStart, uTime, emitParticle);
    gl_FragColor = vec4(emitParticle, mix(isActive, 1.0, emitParticle), timeStart, 1.0);


}
`,M0=10,eBA=class extends YI{constructor(A,g){super(),this.type="ParticleEmitter",this.debugMode=!1,this.worldSpace=!0,this.rootObject=null,this.gpuCompute=null,this.positionSimRT=null,this.velocitySimRT=null,this.emissionRateSimRT=null,this.emitterShape=void 0,this.isEmitting=!1,this.hasBeenReset=!1,this.emittedParticlesAmount=0,this.lastEmitTime=0,this.globalTime=0,this.targetFPS=60,this.previousRatio=1,this.lerpFactor=.4,this.particlesAmount=0,this.noiseStrength=0,this.noiseScale=0,this.isBillboardBased=!0,this.simFeaturesDefinition={USE_COLLIDER:!1,USE_ATTRACTOR:!1,USE_VORTEX:!1,USE_SPHERE_COLLIDER:!1,USE_BOX_COLLIDER:!1,USE_FORCE_LOCAL_SPACE:!1,USE_NORMALS:!1,USE_CURL_NOISE:!0,USE_SIMPLEX_NOISE:!1,USE_FBM_NOISE:!1},this.textureLoader=new Rz,this.currentWorldPosition=new x,this.systemQuaternion=new ke,this.worldGravity=new x(0,0,0),this.directionAxis=new x(0,0,0),this.colliderV3=new x(0,0,0),this.colliderQuaternion=new ke(0,0,0,1),this.matrixAutoUpdate=!0,this.renderer=A,this.system=g,this.shared=g.context.shared;let e=g.data;this.material=new ABA(e.renderMaterial,g.context),this.material.uniforms={uSize:{value:0},uSizeEnd:{value:0},uColor:{value:e.renderMaterial.color},uColor2:{value:e.renderMaterial.color2},uPosition:{value:new x(0,0,0)},uEmissionData:{value:new x(0,0,0)},uTexture:{value:this.defaultTexture},uWorldOffset:{value:new x(0,0,0)},uWorldQuaternion:{value:new Ue(0,0,0,1)},uRandScaleFactor:{value:e.randomScale??0},uRandRotationFactor:{value:e.randomRotation??0},uRotation:{value:e.renderMaterial.spriteRotation[0]??0},uRotationEnd:{value:e.renderMaterial.spriteRotation[1]??0}},this.setTexture(this.material.uniforms,e.renderMaterial.texture),this.init(e)}setTexture(A,g){let e=g.data;if(typeof g=="string"){let I=this.shared.image(g),i=new yi(I.img);i.needsUpdate=!0,A.uTexture.value=i;return}if(typeof e!="string"){let I=new Image;I.onload=()=>{let C=new yi(I);C.needsUpdate=!0,A.uTexture.value=C};let i=new Blob([e],{type:"image/*"}),t=URL.createObjectURL(i);I.src=t}}updateGeometryAttributes(A,g){let e=qsA(g);!this.emitterShape?.positionsAttribute||A.geometry.setAttribute("ref",new ec(e,2))}applyWorldSpace(){if(!this.system.started||!this.worldSpace||!this.positionSimRT||!this.velocitySimRT)return;let A=this.system;A.getWorldQuaternion(this.systemQuaternion),this.systemQuaternion.invert(),A.getWorldPosition(this.currentWorldPosition),this.material.uniforms.uWorldOffset.value=this.currentWorldPosition,this.material.uniforms.uWorldQuaternion.value.copy(this.systemQuaternion.normalize()),this.positionSimRT.material.uniforms.uWorldOffset.value=this.currentWorldPosition,this.systemQuaternion.invert(),this.positionSimRT.material.uniforms.uWorldQuaternion.value.copy(this.systemQuaternion.normalize()),this.velocitySimRT.material.uniforms.uWorldQuaternion.value.copy(this.systemQuaternion.normalize())}update(A,g){if(!this.gpuCompute||!this.positionSimRT||!this.velocitySimRT||!this.emissionRateSimRT||this.hasBeenReset)return;if(this.checkIfAllParticlesAreDead()&&!this.hasBeenReset){this.reset();return}this.applyWorldSpace(),this.globalTime=A,this.positionSimRT.material.uniforms.uTime.value=A,this.emissionRateSimRT.material.uniforms.uTime.value=A;let e=1e3/g,I=this.targetFPS/e,i=this.previousRatio+(I-this.previousRatio)*this.lerpFactor;this.positionSimRT.material.uniforms.uFPSRatio.value=i,this.previousRatio=i;let t=this.isEmitting?this.GoEmitSomeParticles(A,this.system.data.birthRatePerSec):0;this.emissionRateSimRT.material.uniforms.uLastIndexEmitted.value=this.emittedParticlesAmount,this.emissionRateSimRT.material.uniforms.uParticlesToEmit.value=t,this.material.uniforms.uPosition.value=this.gpuCompute.getCurrentRenderTarget(this.positionSimRT)?.texture,this.system.colliderEntities.length>0&&this.renderColliders(),this.gpuCompute.compute()}renderColliders(){if(!this.velocitySimRT)return;let A=this.system.colliderEntities[0],g=this.simFeaturesDefinition.USE_COLLIDER||this.simFeaturesDefinition.USE_ATTRACTOR||this.simFeaturesDefinition.USE_VORTEX;if(A.destroyedInAction&&g&&this.init(CE({...this.system.data,colliderEntityId:null})),!A||A.destroyedInAction)return;A.getWorldPosition(this.colliderV3),this.colliderV3.y===0&&(this.colliderV3.y=1e-4),this.velocitySimRT.material.uniforms.uColliderPos.value.copy(this.colliderV3);let e=A.data.size;this.colliderV3.fromArray(e),this.velocitySimRT.material.uniforms.uColliderSize.value.copy(this.simFeaturesDefinition.USE_SPHERE_COLLIDER?this.colliderV3.multiplyScalar(.5):this.colliderV3),A.getWorldQuaternion(this.colliderQuaternion),this.velocitySimRT.material.uniforms.uColliderQuaternion.value.copy(this.colliderQuaternion.normalize()),this.velocitySimRT.material.uniforms.uColliderQuaternionInvert.value.copy(this.colliderQuaternion.normalize().invert())}updateState(A){!this.velocitySimRT||!this.positionSimRT||(A.renderMaterial&&this.updateMaterialState(A.renderMaterial),this.updateParticleState(A))}updateVariableState(A,g){if(!this.velocitySimRT||!this.positionSimRT)return;g[2]==="size"&&this.material.updateState({size:[A,this.material.uniforms.uSizeEnd.value]}),g[2]==="sizeEnd"&&this.material.updateState({size:[this.material.uniforms.uSize.value,A]});let e=(I,i)=>{let t=[...this.system.data.shape.size];t[I]=i,this.updateParticleState({shape:{...this.system.data.shape,size:t}})};g[2]==="shape_size_0"&&e(0,A),g[2]==="shape_size_1"&&e(1,A),g[2]==="shape_size_2"&&e(2,A),g[2]==="speed"&&(this.velocitySimRT.material.uniforms.uSpeed.value=A/M0),g[2]==="gravity"&&this.worldGravity.set(0,A/100,0),g[2]==="noiseStrength"&&(this.noiseStrength=A,this.velocitySimRT.material.uniforms.uNoiseStrength.value=this.noiseStrength),g[2]==="noiseScale"&&(this.noiseScale=A,this.velocitySimRT.material.uniforms.uNoiseScale.value=this.noiseScale),g[2]==="direction_x"&&(this.directionAxis=this.getDirectionAxis([Number(A),this.system.data.direction[1],this.system.data.direction[2]])),g[2]==="direction_y"&&(this.directionAxis=this.getDirectionAxis([this.system.data.direction[0],Number(A),this.system.data.direction[2]])),g[2]==="direction_z"&&(this.directionAxis=this.getDirectionAxis([this.system.data.direction[0],this.system.data.direction[1],Number(A)]))}updateMaterialState(A){this.material.updateState({...A,size:A.size?[Number(this.shared.getVariable(A.size[0],[this.uuid,"particles","size"])),Number(this.shared.getVariable(A.size[1],[this.uuid,"particles","sizeEnd"]))]:[0,0]}),A.texture&&(this.setTexture(this.material.uniforms,A.texture),this.material.needsUpdate=!0)}updateParticleState(A){if(!(!this.positionSimRT||!this.velocitySimRT)){if(this.shouldReInitGPUCompute(A)&&this.init(CE(this.system.data)),A.life!==void 0&&(this.positionSimRT.material.uniforms.uMaxLifeTime.value=A.life),A.speed!==void 0&&(this.velocitySimRT.material.uniforms.uSpeed.value=Number(this.shared.getVariable(A.speed,[this.uuid,"particles","speed"]))/M0),A.collisionBounce!==void 0&&(this.velocitySimRT.material.uniforms.uBounce.value=A.collisionBounce),A.noiseStrength!==void 0&&(this.noiseStrength=Number(this.shared.getVariable(A.noiseStrength,[this.uuid,"particles","noiseStrength"])),this.velocitySimRT.material.uniforms.uNoiseStrength.value=this.noiseStrength),A.noiseScale!==void 0&&(this.noiseScale=Number(this.shared.getVariable(A.noiseScale,[this.uuid,"particles","noiseScale"])),this.velocitySimRT.material.uniforms.uNoiseScale.value=this.noiseScale),A.noiseSeed!==void 0&&(this.velocitySimRT.material.uniforms.uNoiseSeed.value=A.noiseSeed),A.randomMass!==void 0&&(this.velocitySimRT.material.uniforms.uRandomMassFactor.value=A.randomMass),A.renderMaterial?.size!==void 0){let g=this.shared.getVariable(A.renderMaterial.size[0],[this.uuid,"particles","size"]);this.velocitySimRT.material.uniforms.particleSize.value=Number(g)}if(A.renderMaterial?.spriteRotation!==void 0&&(this.material.uniforms.uRotation.value=A.renderMaterial.spriteRotation[0],this.material.uniforms.uRotationEnd.value=A.renderMaterial.spriteRotation[1]),A.shape!==void 0){let g=A.shape.size??this.system.data.shape.size,e=[Number(this.shared.getVariable(g[0],[this.uuid,"particles","shape_size_0"])),Number(this.shared.getVariable(g[1],[this.uuid,"particles","shape_size_1"])),Number(this.shared.getVariable(g[2],[this.uuid,"particles","shape_size_2"]))],I={...CE(this.system.data).shape,size:e};this.emitterShape?.applyToShader(this.positionSimRT.material.uniforms,I)}if(A.gravity!==void 0&&(this.worldGravity.set(0,Number(this.shared.getVariable(this.system.data.gravity,[this.uuid,"particles","gravity"]))/100,0),this.velocitySimRT.material.uniforms.uGravity={value:this.worldGravity}),A.direction!==void 0){let g=this.getDirectionFromVariable(A.direction);this.directionAxis=this.getDirectionAxis(g),this.velocitySimRT.material.uniforms.uDirectionsAxis.value=this.directionAxis}A.randomRotation!==void 0&&(this.material.uniforms.uRandRotationFactor.value=A.randomRotation),A.randomScale!==void 0&&(this.material.uniforms.uRandScaleFactor.value=A.randomScale)}}updateForceFieldParameters(A){!this.velocitySimRT||(A.forceIntensity!==void 0&&(this.velocitySimRT.material.uniforms.uForceIntensity.value=A.forceIntensity),A.forceDambing!==void 0&&(this.velocitySimRT.material.uniforms.uForceDamping.value=A.forceDambing))}getDirectionAxis(A){let g=[Number(A[0])*Xg.DEG2RAD,Number(A[1])*Xg.DEG2RAD,Number(A[2])*Xg.DEG2RAD],e=new yt(g[0],g[1],g[2],"XYZ");return this.directionAxis.set(0,1,0).applyEuler(e).normalize(),this.velocitySimRT&&(this.velocitySimRT.material.uniforms.uDirectionsAxis.value=this.directionAxis),this.directionAxis}shouldReInitGPUCompute(A){let{birthRatePerSec:g,rootObjectType:e,colliderEntityId:I,shape:i,emitTimeDuration:t,emitTimeCycle:C,life:o,directionMode:a,noiseType:r}=A;return g!==void 0||e!==void 0||I||I===null||C!==void 0||i!==void 0||o!==void 0||t!==void 0||a!==void 0||r!==void 0}init(A){this.dispose(),this.particlesAmount=this.getMaxParticlesAmount({birthRatePerSecond:A.birthRatePerSec,particleMaxLifeTime:A.life,loopDuration:A.emitTimeCycle==="infinity"?0:A.emitTimeDuration}),this.particlesAmount>1e5&&(console.warn("The maximum number of particles is limited to 100000."),this.particlesAmount=1e5),this.emitterShape=this.createShape(A.shape,this.particlesAmount);let g=setInterval(()=>{if(this.emitterShape)if(isNaN(this.emitterShape.positionsTexture.source.data.data[0])){this.init(A);return}else clearInterval(g)},100);if(!this.emitterShape)return;let e=new KsA(this.emitterShape.textureSize,this.emitterShape.textureSize,this.renderer),I=this.updateSimulationDefinition(A),i=e.addVariable("uCurrentPosition",I+HsA,this.emitterShape.positionsTexture),t=e.addVariable("uCurrentVelocity",I+jsA,this.emitterShape.directionsTexture),C=e.addVariable("uCurrentEmissionRate",gBA,YsA(this.emitterShape.textureSize));e.setVariableDependencies(i,[i,t,C]),e.setVariableDependencies(t,[i,t,C]),e.setVariableDependencies(C,[i,t,C]);let o=xsA({size:this.emitterShape.textureSize}),a={uOriginalPosition:{value:this.emitterShape.positionsTexture},uWorldOffset:{value:new x(0,0,0)},uWorldQuaternion:{value:new Ue(0,0,0,1)},uTime:{value:0},uFPSRatio:{value:1},uMaxLifeTime:{value:A.life},uEmitterSize:{value:new x(Number(this.shared.getVariable(A.shape.size[0],[this.uuid,"particles","shape_size_0"])),Number(this.shared.getVariable(A.shape.size[1],[this.uuid,"particles","shape_size_1"])),Number(this.shared.getVariable(A.shape.size[2],[this.uuid,"particles","shape_size_2"])))},particleSize:{value:0}};i.material.uniforms=a;let r=this.getDirectionFromVariable(A.direction);this.directionAxis=this.getDirectionAxis(r),this.worldGravity.set(0,Number(this.shared.getVariable(this.system.data.gravity,[this.uuid,"particles","gravity"]))/100,0),this.noiseStrength=Number(this.shared.getVariable(A.noiseStrength,[this.uuid,"particles","noiseStrength"])),this.noiseScale=Number(this.shared.getVariable(A.noiseScale,[this.uuid,"particles","noiseScale"]));let s=A.colliderEntityId&&this.system.getColliderData(A.colliderEntityId),B={uOriginalPosition:{value:this.emitterShape.positionsTexture},uDirections:{value:this.emitterShape.directionsTexture},uDirectionsAxis:{value:this.directionAxis},uWorldQuaternion:{value:new Ue(0,0,0,1)},uColliderPos:{value:new x(0,0,0)},uColliderSize:{value:new x(0,0,0)},uForceIntensity:{value:s?s.forceIntensity:0},uForceDamping:{value:s?s.forceDambing:0},uColliderQuaternion:{value:new Ue(0,0,0,1)},uColliderQuaternionInvert:{value:new Ue(0,0,0,1)},particleSize:{value:0},uGravity:{value:this.worldGravity},uNoiseStrength:{value:this.noiseStrength},uNoiseScale:{value:this.noiseScale},uNoiseSeed:{value:A.noiseSeed},uRandomMassFactor:{value:A.randomMass},uBounce:{value:A.collisionBounce},uSpeed:{value:Number(this.shared.getVariable(A.speed,[this.uuid,"particles","speed"]))/M0}};t.material.uniforms=B;let Q={uIndex:{value:o},uTime:{value:0},uLastIndexEmitted:{value:0},uParticlesToEmit:{value:0}};C.material.uniforms=Q;let n=[Number(this.shared.getVariable(A.shape.size[0],[this.uuid,"particles","shape_size_0"])),Number(this.shared.getVariable(A.shape.size[1],[this.uuid,"particles","shape_size_1"])),Number(this.shared.getVariable(A.shape.size[2],[this.uuid,"particles","shape_size_2"]))],E={...CE(this.system.data).shape,size:n};this.emitterShape.applyToShader(i.material.uniforms,E),e.init(),this.gpuCompute=e,this.positionSimRT=i,this.velocitySimRT=t,this.emissionRateSimRT=C,this.rootObject=this.createPrimaryEmitter(this.emitterShape.textureSize),this.add(this.rootObject),this.material.needsUpdate=!0}getDirectionFromVariable(A){let g=Number(this.shared.getVariable(A[0],[this.uuid,"particles","direction_x"])),e=Number(this.shared.getVariable(A[1],[this.uuid,"particles","direction_y"])),I=Number(this.shared.getVariable(A[2],[this.uuid,"particles","direction_z"]));return[g,e,I]}updateSimulationDefinition(A){if(this.simFeaturesDefinition.USE_COLLIDER=!1,this.simFeaturesDefinition.USE_ATTRACTOR=!1,this.simFeaturesDefinition.USE_VORTEX=!1,this.simFeaturesDefinition.USE_SPHERE_COLLIDER=!1,this.simFeaturesDefinition.USE_BOX_COLLIDER=!1,this.simFeaturesDefinition.USE_FORCE_LOCAL_SPACE=!1,this.simFeaturesDefinition.USE_NORMALS=!1,this.simFeaturesDefinition.USE_CURL_NOISE=!1,this.simFeaturesDefinition.USE_SIMPLEX_NOISE=!1,this.simFeaturesDefinition.USE_FBM_NOISE=!1,A.colliderEntityId&&this.system.colliderEntities.length>0){let e=this.system.getColliderData(A.colliderEntityId);switch(e?.forceType){case"attractor":this.simFeaturesDefinition.USE_ATTRACTOR=!0;break;case"collider":this.simFeaturesDefinition.USE_COLLIDER=!0;break;case"vortex":this.simFeaturesDefinition.USE_VORTEX=!0;break}let I=e?.colliderType;I==="sphere"&&(this.simFeaturesDefinition.USE_SPHERE_COLLIDER=!0),I==="box"&&(this.simFeaturesDefinition.USE_BOX_COLLIDER=!0),e?.forceRange==="helper"&&(this.simFeaturesDefinition.USE_FORCE_LOCAL_SPACE=!0)}A.directionMode==="normals"&&(this.simFeaturesDefinition.USE_NORMALS=!0),A.noiseType==="curl"&&(this.simFeaturesDefinition.USE_CURL_NOISE=!0),A.noiseType==="simplex"&&(this.simFeaturesDefinition.USE_SIMPLEX_NOISE=!0),A.noiseType==="fbm"&&(this.simFeaturesDefinition.USE_FBM_NOISE=!0);let g="";for(let[e,I]of Object.entries(this.simFeaturesDefinition))I&&(g+=`#define ${e}
`);return g}createShape(A,g){this.emitterShape&&this.emitterShape.dispose();let e=new x(Number(this.shared.getVariable(A.size[0],[this.uuid,"particles","shape_size_0"])),Number(this.shared.getVariable(A.size[1],[this.uuid,"particles","shape_size_1"])),Number(this.shared.getVariable(A.size[2],[this.uuid,"particles","shape_size_2"])));if(A.type==="MeshEmitterShape"){let I=null;return this.system.context.scene.traverseEntity(i=>{i.uuid===A.fromMeshId&&(I=i)}),I?new m0(e,g,A.type,I):new m0(e,g,"SphereEmitterShape")}else return new m0(e,g,A.type)}createPrimaryEmitter(A){let g,e=A*A;return g=new jW(new RQ(1,1,1),this.material,e),this.updateGeometryAttributes(g,A),this.material.needsUpdate=!0,g.onBeforeRender=()=>{this.applyWorldSpace()},g}getMaxParticlesAmount({birthRatePerSecond:A,particleMaxLifeTime:g,loopDuration:e=0}){return Math.ceil(A*(g+e))}dispose(){!this.gpuCompute||(this.rootObject?.parent?.remove(this.rootObject),this.gpuCompute.dispose(),this.material.nodeMaterialDispose(),this.emitterShape?.dispose())}GoEmitSomeParticles(A,g){let e=A-this.lastEmitTime,I=1/g;if(e>=I){let i=Math.max(1,Math.floor(e/I));return this.lastEmitTime=A,this.emittedParticlesAmount+i>this.particlesAmount&&(this.emittedParticlesAmount=0),this.emittedParticlesAmount+=i,i}return 0}checkIfAllParticlesAreDead(){return this.lastEmitTime+this.system.data.life+1<this.globalTime}reset(){this.hasBeenReset=!0,this.lastEmitTime=0,this.emittedParticlesAmount=0,this.gpuCompute&&this.init(CE(this.system.data))}startEmitting(A){this.isEmitting=!0,this.hasBeenReset=!1,this.lastEmitTime=A}stopEmitting(){this.isEmitting=!1}},ED=class extends RC{constructor(A,g,e){super(A,g),this.type="ParticleSystem",this.geometry=new se,this.actualTime=0,this.currentLoopTime=0,this.started=!1,this.stopped=!1,this.timeoutId=void 0,this.isFrozen=!1,this.isIdle=!0,this.emitter=null,this.colliderEntities=[],this.renderer=null,this.isPreWarm=!1,this._hasOnAfterRenderBeenCalled=!1,this.onAfterRender=I=>{this._hasOnAfterRenderBeenCalled||(this._hasOnAfterRenderBeenCalled=!0,this.init(I))},this.context=e,this.data={...g,...CE(g)},this.geometry.setAttribute("position",new _g([],3)),this.material=new NQ({colorWrite:!1}),this.frustumCulled=!1}init(A){this.renderer=A,this.emitter=new eBA(A,this),this.add(this.emitter),this.updateParticleState(this.data)}update(A){if(!this.isReady||!this.started||this.isFrozen||this.isIdle)return;this.actualTime+=A,this.stopped||(this.currentLoopTime+=A);let g=this.data.emitTimeCycle==="one_time";if((this.data.emitTimeCycle==="loop"||g)&&this.currentLoopTime>this.data.emitTimeDuration*1e3&&(this.stopped||(this.stop(),g||this.start(this.data.emitTimeDelay*1e3))),this.emitter&&this.started){let e=this.actualTime/1e3;this.emitter.update(e,A)}this.scale.set(1,1,1),this.updateMatrix()}isReady(){return!!this.emitter}hasCollider(A){return this.colliderEntities.some(g=>g.identity===A)}getColliderData(A){let g=this.colliderEntities.find(e=>e.identity===A);return g?g.data:null}updateByPatchedOp(A,g,e){super.updateByPatchedOp(A,g,e),$I(A.path,["renderMaterial"])&&this.updateParticleState({renderMaterial:{...this.data.renderMaterial,...bt.drop(A,1).props}}),$I(A.path,["shape"])&&this.updateParticleState({shape:{...this.data.shape,...bt.drop(A,1).props}})}updateState(A,g){super.updateState(A,g),this.updateParticleState(A)}updateParticleState(A){if(this.emitter){if(A.colliderEntityId!==void 0&&A.colliderEntityId!==null){let g=this.context.scene.find(A.colliderEntityId);this.colliderEntities=g?[g]:[]}A.colliderEntityId===null&&(this.colliderEntities=[]),this.emitter.updateState(A),A.emitTimeCycle&&this.started&&this.start()}}updateFromColliderEntity(A){!this.emitter||(this.emitter.updateForceFieldParameters(A),this.stop(),this.start())}start(A=0){if(this.currentLoopTime=0,A){this.timeoutId=window.setTimeout(()=>{this.start(0)},A);return}this.started=!0,this.stopped=!1,this.isFrozen=!1,this.emitter?.startEmitting(this.actualTime/1e3)}froze(){this.isFrozen=!0}unFroze(){this.isFrozen=!1}stop(){this.stopped=!0,this.currentLoopTime=0,this.emitter?.stopEmitting(),clearTimeout(this.timeoutId)}reset(){this.started=!1,this.stopped=!1,this.emitter?.reset()}wakeUp(){this.isIdle=!1}sleep(){this.isIdle=!0,this.reset()}};function IBA(){try{let A=window.location.href;if(A.includes("reducesubdiv=")){let g=A.indexOf("reducesubdiv=")+13;return parseInt(A.slice(g,g+1))}}catch{}}var k0=IBA();function iBA(A,g,e){k0!==void 0&&(g?.geometry?.subdivisions??0)>k0&&(console.log("reducing subdivisions",g.name,g.geometry.subdivisions),g.geometry.subdivisions=k0);let I;return g.geometry.type==="TextGeometry"?new zL(A,g,e):(g.geometry.type==="SubdivGeometry"?I=new pc(A,g,e):g.geometry.type==="PathGeometry"?I=new hm(A,g,e):g.geometry.type==="VectorGeometry"?I=new RsA(A,g,e):g.geometry.type==="BooleanGeometry"?I=new UQ(A,g,e):g.geometry.type==="UIGeometry"?I=new QC(A,g,e):I=new EC(A,g,e),I)}function cm(A,g,e){return console.assert(g.type!==void 0),g.type==="Mesh"?iBA(A,g,e):g.type==="Empty"?new GE(A,g):g.type==="Particle"?new ED(A,g,e):g.type==="ParticleCollider"?new QD(A,g,e):g.type==="Splat"?new GE(A,g):g.type==="Bone"?new vsA(A,g):g.type==="Page"?new Kt(A,g,e):g.type==="PointLight"?new FsA(A,g,e):g.type==="SpotLight"?new C2(A,g,e):g.type==="DirectionalLight"?new t2(A,g,e):g.type==="Component"||g.type==="Instance"?new mE(A,g,e):mQ.is(g.type)?new lC(A,g):(console.error(g),new GE(A,g))}nB.createEntity=cm;function tBA(A,g,e){let I=cm(A.identity,g,e),i=A.children,t=A.attachedPaths,C=A.parent,o=A.component,a=A.instances,r=A.overrideData,s=A.uuid,B=A.stateSelection;A.dispose();for(let Q of Object.keys(A))delete A[Q];Object.setPrototypeOf(A,Object.getPrototypeOf(I));for(let Q of Object.keys(I))A[Q]=I[Q];A.children=[...A.children,...i],A.attachedPaths=t,A.parent=C,A.component=o,A.instances=a,A.uuid=s,A.overrideData=r,A.updateState(A.data,e),B&&A.changeSelectedState(B,e),A.resetBBoxNeedsUpdate()}nB.changeEntityProptotype=tBA;nB.Cloner=na;function CBA(A,g,e,I){A.updateByOp(g,e,I,!1)}function nK(A,g){let e=!1,I=g.getLayersOfType("transmission"),i=g.getLayersOfType("outline");return i.length>0&&(A.layers.set(8),I.length>0&&A.layers.enable(3),e=!0,am(A),om(A)),I.length===0&&i.length===0&&A.layers.set(0),A instanceof th&&A.needsAO&&A.layers.enable(5),e}function EK(A,g){if(!g.layers)return!1;let e=!1,I=g.getLayersOfType("transmission").filter(t=>t.data.visible),i=g.getLayersOfType("outline").filter(t=>t.data.visible);return I.length>0&&(A.layers.set(3),i.length>0&&A.layers.enable(8),e=!0),I.length===0&&i.length===0&&A.layers.set(0),A.needsAO&&A.layers.enable(5),e}function oBA(A){let g=!1;return A.traverseEntity(e=>{if(e instanceof th)if(Array.isArray(e.material))for(let I=0;I<e.material.length;I++)nK(e,e.material[I])&&(g=!0);else nK(e,e.material)&&(g=!0)}),g}function aBA(A){let g=!1;return A.traverseEntity(e=>{if(e instanceof th)if(Array.isArray(e.material))for(let I=0;I<e.material.length;I++)EK(e,e.material[I])&&(g=!0);else EK(e,e.material)&&(g=!0)}),g}var rBA=new tq,sBA=new wg,BBA=new _E;function LS(A,g,e,I=!1){let i=A.cloner;if(i)for(let t of i.children){let C=sBA.copy(t.matrixWorld).invert(),o=BBA.copy(g.ray).applyMatrix4(C),a=A.matrixWorld;o.applyMatrix4(a);let r=rBA;r.set(o.origin,o.direction),r.near=g.near,r.far=g.far;let s=r.intersectObject(A,!1);s.length>0&&e.push({...s[0],object:I?t:A})}}var QBA=class{constructor(){this._constraints=new Map}setConstraint(A,g){g===null?this._constraints.delete(A):this._constraints.set(A,g)}removeDependencies(A){this._constraints.delete(A)}applyConstraints(A){let g=new Set;this._constraints.forEach((e,I)=>{let i=[I,e],t=e;for(;this._constraints.has(t);){if(t=this._constraints.get(t),i.includes(t)){console.warn(`circular dependency detected: ${i.join(" -> ")}`);break}g.has(t)||i.push(t)}for(let C=i.length-2;C>=0;C--)if(!g.has(i[C])){let o=A.find(i[C]);o?o.applyPathSnapping(A):console.warn(`missing entity ${i[C]}`),g.add(i[C])}})}findDependency(A,g){let e=A;for(;this._constraints.has(e);)if(e=this._constraints.get(e),e===g)return!0;return!1}},nBA="AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAETA2AAAGAIf39/f39/f38AYAABfwISAQNlbnYGbWVtb3J5AgMAgIAEAwQDAAECBzkDEV9fd2FzbV9jYWxsX2N0b3JzAAALc29ydEluZGV4ZXMAARNlbXNjcmlwdGVuX3Rsc19pbml0AAIK3gMDAwABC9IDAwF/BnwBfgJAIAdFDQAgAysDUCEMIAMrAzAhDSADKwMQIQ5BACEDRP///////+9/IQtEAAAAAAAAEAAhCgNAIAIgA0ECdGoCfyAOIAEgA0EMbGoiCCoCALuiIA0gCCoCBLuioCAMIAgqAgi7oqBEAAAAAAAAsECiIgmZRAAAAAAAAOBBYwRAIAmqDAELQYCAgIB4CzYCACAJIAsgCSALYxshCyAJIAogCSAKZBshCiADQQFqIgMgB0cNAAsgB0UNACAGuCAKIAuhoyEJQQAhAwNAAn8gCSACIANBAnRqIgEoAgC3IAuhoiIKmUQAAAAAAADgQWMEQCAKqgwBC0GAgICAeAshCCABIAg2AgAgBCAIQQJ0aiIBIAEoAgBBAWo2AgAgA0EBaiIDIAdHDQALCyAGQQJPBEAgBCgCACEIQQEhAwNAIAQgA0ECdGoiASABKAIAIAhqIgg2AgAgA0EBaiIDIAZHDQALCyAHQQFrIgGtIQ8DQCAEIAIgD6dBAnQiA2ooAgBBAnRqIgcgBygCAEEBayIHNgIAIAUgASAHa0ECdGogACADaigCADYCACAPUCEDIA9CAX0hDyADRQ0ACyAGBEAgBEEAIAZBAnT8CwALCwQAQQAL",hB=class{};Nl(hB,"DepthMapRange",65536),Nl(hB,"MemoryPageSize",65536),Nl(hB,"BytesPerFloat",4),Nl(hB,"BytesPerInt",4);function EBA(A){let g,e,I,i,t,C,o,a,r,s,B,Q,n,E,l,h;function u(q){let T=new Float64Array(s,C,16);for(let H=0;H<16;H++)T[H]=q[H];let P;if(I>1){g.exports.sortIndexes(i,t,r,C,o,a,Q.DepthMapRange,I);let H=new Uint32Array(I);P=H.buffer,H.set(new Uint32Array(s,a,I))}else if(I===1){let H=new Uint32Array(I);H[0]=new Uint32Array(s,i,e)[0],P=H.buffer}else P=new ArrayBuffer(0);A.postMessage({sortDone:!0,indexesBuffer:P},[P])}function D(q,T,P){let H=new Float32Array(s,t,e*3);I=0;let eA=new Uint32Array(s,i,e);for(let rA=0;rA<P.length-1;rA++){let BA=T[rA],aA=q[rA].elements,yA=BA.filter(pA=>pA.enabled&&pA.mode==="Include").map(pA=>pA.type==="Box"?U(pA):R(pA)),SA=BA.filter(pA=>pA.enabled&&pA.mode==="Exclude").map(pA=>pA.type==="Box"?U(pA):R(pA));for(let pA=P[rA];pA<P[rA+1];pA++){let wA=n[pA*3],RA=n[pA*3+1],kA=n[pA*3+2];if((yA.length===0||w(wA,RA,kA,yA))&&(SA.length===0||!w(wA,RA,kA,SA))){let UA=1/(aA[3]*wA+aA[7]*RA+aA[11]*kA+aA[15]);H[I*3]=(aA[0]*wA+aA[4]*RA+aA[8]*kA+aA[12])*UA,H[I*3+1]=(aA[1]*wA+aA[5]*RA+aA[9]*kA+aA[13])*UA,H[I*3+2]=(aA[2]*wA+aA[6]*RA+aA[10]*kA+aA[14])*UA,eA[I]=pA,I++}}}}function p(q,T){let P=[],H=T.filter(BA=>BA.enabled&&BA.mode==="Include").map(BA=>BA.type==="Box"?U(BA):R(BA)),eA=T.filter(BA=>BA.enabled&&BA.mode==="Exclude").map(BA=>BA.type==="Box"?U(BA):R(BA)),rA=q.length;for(let BA=0;BA<rA;BA+=3){let aA=q[BA],yA=q[BA+1],SA=q[BA+2];(H.length===0||w(aA,yA,SA,H))&&(eA.length===0||!w(aA,yA,SA,eA))||P.push(BA/3)}return P}function w(q,T,P,H,eA){return H[eA==="Intersect"?"every":"some"](rA=>{let BA=k(q,T,P,rA.invRotationMatrix,rA.cropCenter);return Array.isArray(rA)?G(BA.x,BA.y,BA.z,rA):J(BA.x,BA.y,BA.z,rA)})}function k(q,T,P,H,eA){let rA=q-eA[0],BA=T-eA[1],aA=P-eA[2],yA=1/(H[3]*rA+H[7]*BA+H[11]*aA+H[15]);return{x:(H[0]*rA+H[4]*BA+H[8]*aA+H[12])*yA+eA[0],y:(H[1]*rA+H[5]*BA+H[9]*aA+H[13])*yA+eA[1],z:(H[2]*rA+H[6]*BA+H[10]*aA+H[14])*yA+eA[2]}}function U(q){let T=q.cropSize[0]/2,P=q.cropSize[1]/2,H=q.cropSize[2]/2,eA=[q.cropCenter[0]-T,q.cropCenter[1]-P,q.cropCenter[2]-H,q.cropCenter[0]+T,q.cropCenter[1]+P,q.cropCenter[2]+H],rA=N(q.cropRotation);return Object.assign(eA,{invRotationMatrix:rA,cropCenter:q.cropCenter})}function N(q){let T=[],P=q[0]*Math.PI/180,H=q[1]*Math.PI/180,eA=q[2]*Math.PI/180,rA=Math.cos(P),BA=Math.sin(P),aA=Math.cos(H),yA=Math.sin(H),SA=Math.cos(eA),pA=Math.sin(eA),wA=rA*SA,RA=rA*pA,kA=BA*SA,UA=BA*pA;return T[0]=aA*SA,T[1]=-aA*pA,T[2]=yA,T[4]=RA+kA*yA,T[5]=wA-UA*yA,T[6]=-BA*aA,T[8]=UA-wA*yA,T[9]=kA+RA*yA,T[10]=rA*aA,T[12]=0,T[13]=0,T[14]=0,T[3]=0,T[7]=0,T[11]=0,T[15]=1,T}function G(q,T,P,H){return q>=H[0]&&q<=H[3]&&T>=H[1]&&T<=H[4]&&P>=H[2]&&P<=H[5]}function R(q){let T=2/q.cropSize[0],P=2/q.cropSize[1],H=2/q.cropSize[2],eA=N(q.cropRotation);return{invRadiusX:T,invRadiusY:P,invRadiusZ:H,cropCenter:q.cropCenter,invRotationMatrix:eA}}function J(q,T,P,H){let eA=(q-H.cropCenter[0])*H.invRadiusX,rA=(T-H.cropCenter[1])*H.invRadiusY,BA=(P-H.cropCenter[2])*H.invRadiusZ;return eA*eA+rA*rA+BA*BA<=1}A.onmessage=q=>{if(q.data.getCroppedIndexes){let T=new Uint32Array(p(new Float32Array(q.data.positions),q.data.crops)).buffer;A.postMessage({outOfBoundsIndexes:T},[T])}else if(q.data.positions)B=q.data.positions,n=new Float32Array(B),l=q.data.meshMatrixWorlds,h=q.data.cropsArray,E=q.data.meshIndexIntervals,D(l,h,E),A.postMessage({sortSetupComplete:!0});else if(q.data.sort||q.data.newMatrixWorlds||q.data.newCropsArray)(q.data.newMatrixWorlds||q.data.newCropsArray)&&(h=q.data.newCropsArray||h,l=q.data.newMatrixWorlds||l,D(l,h,E)),u(q.data.sort.view,q.data.sort.cameraPosition);else if(q.data.init){Q=q.data.init.Constants,e=q.data.init.splatCount;let T=Q.BytesPerInt,P=Q.BytesPerFloat*3,H=new Uint8Array(q.data.init.sorterWasmBytes),eA=T+P,rA=e*eA,BA=e*Q.BytesPerInt*2+Q.DepthMapRange*Q.BytesPerInt*2,aA=Q.MemoryPageSize*32,yA=rA+BA+aA,SA=Math.floor(yA/Q.MemoryPageSize)+1,pA={module:{},env:{memory:new WebAssembly.Memory({initial:SA*2,maximum:SA*3,shared:!0})}};WebAssembly.compile(H).then(wA=>WebAssembly.instantiate(wA,pA)).then(wA=>{g=wA,i=0,t=e*T,C=t+e*P,r=C+16*Q.BytesPerFloat*2,o=r+e*Q.BytesPerInt,a=o+Q.DepthMapRange*Q.BytesPerInt,s=pA.env.memory.buffer,A.postMessage({sortSetupPhase1Complete:!0})})}}}function hBA(A){let g=new Worker(URL.createObjectURL(new Blob(["(",EBA.toString(),")(self)"],{type:"application/javascript"}))),e=atob(nBA),I=new Uint8Array(e.length);for(let i=0;i<e.length;i++)I[i]=e.charCodeAt(i);return g.postMessage({init:{sorterWasmBytes:I.buffer,splatCount:A,Constants:{BytesPerFloat:hB.BytesPerFloat,BytesPerInt:hB.BytesPerInt,DepthMapRange:hB.DepthMapRange,MemoryPageSize:hB.MemoryPageSize}}}),g}var U0=function(){let A=new Float32Array(1),g=new Int32Array(A.buffer);return function(e){return A[0]=e,g[0]}}(),lBA=function(A,g,e,I){return A+(g<<8)+(e<<16)+(I<<24)},Zu=new mA;function hK(A){let g=!1;return A.scene.objects.traverse((e,I)=>{if(I.visible===!1)return!0;I.type==="Splat"&&(g=!0)}),g}var hD=class extends Oi{constructor(A,g,e,I,i=!1,t=1,C,o){super(e,I),this.splatCount=g,this.meshIndexIntervals=C,this.meshMatrixWorlds=o,this.splatBuffers=A,this.geometry=e,this.material=I,this.splatDataTextures=null,this.halfPrecisionCovariancesOnGPU=i,this.devicePixelRatio=t,this.resetLocalSplatDataAndTexturesFromSplatBuffer()}static buildMesh(A,g,e=!1,I=1,i,t){let C=hD.buildGeomtery(g),o=hD.buildMaterial(i);return new hD(A,g,C,o,e,I,i,t)}static buildMaterial(A){let g=`
            precision highp float;
            #include <common>

            attribute uint splatIndex;

            uniform highp sampler2D covariancesTexture;
            uniform highp usampler2D centersColorsTexture;
            uniform vec2 focal;
            uniform vec2 viewport;
            uniform vec2 basisViewport;
            uniform vec2 covariancesTextureSize;
            uniform vec2 centersColorsTextureSize;
						uniform highp sampler2D meshMatrixWorldsTexture;
						uniform uint meshIndexIntervals[257];
						uniform float orthoZoom;

            varying vec4 vColor;
            varying vec2 vUv;

            varying vec2 vPosition;

            const vec4 encodeNorm4 = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0);
            const uvec4 mask4 = uvec4(uint(0x000000FF), uint(0x0000FF00), uint(0x00FF0000), uint(0xFF000000));
            const uvec4 shift4 = uvec4(0, 8, 16, 24);
            vec4 uintToRGBAVec (uint u) {
               uvec4 urgba = mask4 & u;
               urgba = urgba >> shift4;
               vec4 rgba = vec4(urgba) * encodeNorm4;
               return rgba;
            }

            vec2 getDataUV(in int stride, in int offset, in vec2 dimensions) {
                vec2 samplerUV = vec2(0.0, 0.0);
                float d = float(splatIndex * uint(stride) + uint(offset)) / dimensions.x;
                samplerUV.y = float(floor(d)) / dimensions.y;
                samplerUV.x = fract(d);
                return samplerUV;
            }

            void main () {
                uvec4 sampledCenterColor = texture(centersColorsTexture, getDataUV(1, 0, centersColorsTextureSize));
                vec3 splatCenter = uintBitsToFloat(uvec3(sampledCenterColor.gba));
                vColor = uintToRGBAVec(sampledCenterColor.r);

                vPosition = position.xy * 2.0;

								uint meshIndex;
								for (int i = 1; i < 257; i++) {
									if (splatIndex < meshIndexIntervals[i]) {
										meshIndex = uint(i - 1);
										break;
									}
								}

								float strideMulmeshIndex = float(4u*meshIndex);
								float meshMatrixWorldsTextureLength = float(256*4);

								mat4 modelMat = mat4(
									texture(meshMatrixWorldsTexture, vec2((strideMulmeshIndex+0.0)/meshMatrixWorldsTextureLength, 0)),
									texture(meshMatrixWorldsTexture, vec2((strideMulmeshIndex+1.0)/meshMatrixWorldsTextureLength, 0)),
									texture(meshMatrixWorldsTexture, vec2((strideMulmeshIndex+2.0)/meshMatrixWorldsTextureLength, 0)),
									texture(meshMatrixWorldsTexture, vec2((strideMulmeshIndex+3.0)/meshMatrixWorldsTextureLength, 0))
								);
								mat4 modelViewMat = viewMatrix * modelMat;
								vec4 viewCenter = modelViewMat * vec4(splatCenter, 1.0); 
                vec4 clipCenter = projectionMatrix * viewCenter;

                vec2 sampledCovarianceA = texture(covariancesTexture, getDataUV(3, 0, covariancesTextureSize)).rg;
                vec2 sampledCovarianceB = texture(covariancesTexture, getDataUV(3, 1, covariancesTextureSize)).rg;
                vec2 sampledCovarianceC = texture(covariancesTexture, getDataUV(3, 2, covariancesTextureSize)).rg;

                vec3 cov3D_M11_M12_M13 = vec3(sampledCovarianceA.rg, sampledCovarianceB.r);
                vec3 cov3D_M22_M23_M33 = vec3(sampledCovarianceB.g, sampledCovarianceC.rg);

                // Compute the 2D covariance matrix from the upper-right portion of the 3D covariance matrix
                mat3 Vrk = mat3(
                    cov3D_M11_M12_M13.x, cov3D_M11_M12_M13.y, cov3D_M11_M12_M13.z,
                    cov3D_M11_M12_M13.y, cov3D_M22_M23_M33.x, cov3D_M22_M23_M33.y,
                    cov3D_M11_M12_M13.z, cov3D_M22_M23_M33.y, cov3D_M22_M23_M33.z
                );
                float s = 1.0 / (viewCenter.z * viewCenter.z);

                mat3 W = transpose(mat3(modelViewMat));
                mat3 T = orthoZoom > 0.0 ? W : W * mat3(
									focal.x / viewCenter.z, 0., -(focal.x * viewCenter.x) * s,
									0., focal.y / viewCenter.z, -(focal.y * viewCenter.y) * s,
									0., 0., 0.
								);
                mat3 cov2Dm = transpose(T) * Vrk * T;
                cov2Dm[0][0] += 0.3;
                cov2Dm[1][1] += 0.3;

                // We are interested in the upper-left 2x2 portion of the projected 3D covariance matrix because
                // we only care about the X and Y values. We want the X-diagonal, cov2Dm[0][0],
                // the Y-diagonal, cov2Dm[1][1], and the correlation between the two cov2Dm[0][1]. We don't
                // need cov2Dm[1][0] because it is a symetric matrix.
                vec3 cov2Dv = vec3(cov2Dm[0][0], cov2Dm[0][1], cov2Dm[1][1]);

                vec3 ndcCenter = clipCenter.xyz / clipCenter.w;

                // We now need to solve for the eigen-values and eigen vectors of the 2D covariance matrix
                // so that we can determine the 2D basis for the splat. This is done using the method described
                // here: https://people.math.harvard.edu/~knill/teaching/math21b2004/exhibits/2dmatrices/index.html
                //
                // This is a different approach than in the original work at INRIA. In that work they compute the
                // max extents of the 2D covariance matrix in screen space to form an axis aligned bounding rectangle
                // which forms the geometry that is actually rasterized. They then use the inverse 2D covariance
                // matrix (called 'conic') to determine fragment opacity.
                float a = cov2Dv.x;
                float d = cov2Dv.z;
                float b = cov2Dv.y;
                float D = a * d - b * b;
                float trace = a + d;
                float traceOver2 = 0.5 * trace;
                float term2 = sqrt(trace * trace / 4.0 - D);
                float eigenValue1 = traceOver2 + term2;
								float eigenValue2 = max(traceOver2 - term2, 0.00); // prevent negative eigen value

                const float maxSplatSize = 1024.0;
                vec2 eigenVector1 = normalize(vec2(b, eigenValue1 - a));
                // since the eigen vectors are orthogonal, we derive the second one from the first
                vec2 eigenVector2 = vec2(eigenVector1.y, -eigenVector1.x);
                vec2 basisVector1 = eigenVector1 * min(sqrt(2.0 * eigenValue1), maxSplatSize);
                vec2 basisVector2 = eigenVector2 * min(sqrt(2.0 * eigenValue2), maxSplatSize);

                vec2 ndcOffset = vec2(vPosition.x * basisVector1 + vPosition.y * basisVector2) * basisViewport;

								if (orthoZoom > 0.0) {
									ndcOffset *= orthoZoom;
								}

                gl_Position = vec4(ndcCenter.xy + ndcOffset, ndcCenter.z, 1.0);
            }`,e=`
            precision highp float;
            #include <common>

            uniform vec3 debugColor;

            varying vec4 vColor;
            varying vec2 vUv;

            varying vec2 vPosition;
						layout(location = 1) out vec4 gVelocity; 

            void main () {
                // compute the negative squared distance from the center of the splat to the
                // current fragment in the splat's local space.
                float A = -dot(vPosition, vPosition);
                if (A < -4.0) discard;
                vec3 color = vColor.rgb;
                A = exp(A) * vColor.a;
                gl_FragColor = vec4(color.rgb, A);
								gVelocity = vec4(0.0); // so it is ignored by TAA
            }`,I={covariancesTexture:{type:"t",value:null},centersColorsTexture:{type:"t",value:null},meshIndexIntervals:{value:A},meshMatrixWorldsTexture:{type:"t",value:null},focal:{type:"v2",value:new mA},viewport:{type:"v2",value:new mA},basisViewport:{type:"v2",value:new mA},debugColor:{type:"v3",value:new de},covariancesTextureSize:{type:"v2",value:new mA(1024,1024)},centersColorsTextureSize:{type:"v2",value:new mA(1024,1024)},orthoZoom:{type:"f",value:-1}};return new RI({uniforms:I,vertexShader:g,fragmentShader:e,transparent:!0,alphaTest:1,blending:lQ,depthTest:!0,depthWrite:!1,side:jC})}static buildGeomtery(A){let g=new se;g.setIndex([0,1,2,0,2,3]);let e=new Float32Array(4*3),I=new Se(e,3);g.setAttribute("position",I),I.setXYZ(0,-1,-1,0),I.setXYZ(1,-1,1,0),I.setXYZ(2,1,1,0),I.setXYZ(3,1,-1,0),I.needsUpdate=!0;let i=new Iq().copy(g),t=new Uint32Array(A),C=new ec(t,1,!1);return C.setUsage(F4),i.setAttribute("splatIndex",C),i.instanceCount=A,i}resetLocalSplatDataAndTexturesFromSplatBuffer(){this.updateLocalSplatDataFromSplatBuffer(),this.allocateAndStoreLocalSplatDataInTextures()}updateLocalSplatDataFromSplatBuffer(){this.splatBuffers.forEach(I=>I.buildPreComputedBuffers()),this.covariances=new Float32Array(this.splatCount*6),this.colors=new Uint8Array(this.splatCount*4),this.centers=new Float32Array(this.splatCount*3);let A=0,g=0,e=0;for(let I of this.splatBuffers){let i=I.nsplats;this.colors.subarray(A,A+i*4).set(I.colorsA),A+=i*4,this.centers.subarray(g,g+i*3).set(I.decoded.xyz.denormDequant().data),g+=i*3,this.covariances.subarray(e,e+i*6).set(new Float32Array(I.precomputedCovarianceBufferData)),e+=i*6}}allocateAndStoreLocalSplatDataInTextures(){let A=this.splatCount,g=new mA(4096,1024);for(;g.x*g.y*2<A*6;)g.y*=2;let e=new mA(4096,1024);for(;e.x*e.y*4<A*4;)e.y*=2;let I,i;if(this.halfPrecisionCovariancesOnGPU){i=new Uint16Array(g.x*g.y*2);for(let s=0;s<this.covariances.length;s++)i[s]=aV.toHalfFloat(this.covariances[s]);I=new vo(i,g.x,g.y,DD,ns)}else i=new Float32Array(g.x*g.y*2),i.set(this.covariances),I=new vo(i,g.x,g.y,DD,tt);I.needsUpdate=!0,this.material.uniforms.covariancesTexture.value=I,this.material.uniforms.covariancesTextureSize.value.copy(g);let t=new Uint32Array(e.x*e.y*4);for(let s=0;s<A;s++){let B=s*4,Q=s*3,n=s*4;t[n]=lBA(this.colors[B],this.colors[B+1],this.colors[B+2],this.colors[B+3]),t[n+1]=U0(this.centers[Q]),t[n+2]=U0(this.centers[Q+1]),t[n+3]=U0(this.centers[Q+2])}let C=new vo(t,e.x,e.y,DJ,ts);C.internalFormat="RGBA32UI",C.needsUpdate=!0,this.material.uniforms.centersColorsTexture.value=C,this.material.uniforms.centersColorsTextureSize.value.copy(e);let o=256*4,a=new Float32Array(256*16);for(let s=0;s<this.meshMatrixWorlds.length;s++)a.set(this.meshMatrixWorlds[s].elements,s*16);let r=new vo(a,o,1,qt,tt);r.needsUpdate=!0,this.material.uniforms.meshMatrixWorldsTexture.value=r,this.material.uniformsNeedUpdate=!0,this.splatDataTextures={covariances:{data:i,texture:I,size:g},centerColors:{data:t,texture:C,size:e},meshMatrixWorlds:{data:a,texture:r}}}updateIndexes(A){let g=this.geometry;g.attributes.splatIndex.set(A),g.attributes.splatIndex.needsUpdate=!0,g.instanceCount=A.length}updateUniforms(A,g,e,I){this.splatCount>0&&(Zu.set(A.x*this.devicePixelRatio,A.y*this.devicePixelRatio),this.material.uniforms.viewport.value.copy(Zu),this.material.uniforms.basisViewport.value.set(2/Zu.x,2/Zu.y),this.material.uniforms.focal.value.set(g,e),this.material.uniforms.orthoZoom.value=I,this.material.uniformsNeedUpdate=!0)}getSplatDataTextures(){return this.splatDataTextures}getSplatCount(){return this.splatCount}getCenters(){return this.centers}getColors(){return this.colors}getCovariances(){return this.covariances}dispose(){this.geometry.dispose(),this.material.dispose(),this.splatDataTextures&&(this.splatDataTextures.covariances.texture.dispose(),this.splatDataTextures.centerColors.texture.dispose(),this.splatDataTextures.meshMatrixWorlds.texture.dispose()),this.removeFromParent()}},d2,cBA=new Promise(A=>{d2=A}),lK=!1,Xu;function dBA(){if(lK)return;if(Xu)return Xu;async function A(){let g=await Promise.resolve().then(()=>(nU(),QU));d2(g),lK=!0}return Xu=A(),Xu}var u2;cBA.then(A=>u2=A);var uBA=class{constructor(A={}){Nl(this,"updateView",function(){let g=new wg,e=[],I=new x(0,0,-1),i=new x(0,0,-1),t=new x,C=new x;return function(o=!1,a){let r=this.updateMatrixWorldsInWorkerIfNeeded(),s=this.cropsChanged();if(!o){i.set(0,0,-1).applyQuaternion(a.quaternion);let Q=!1,n=!1;if(i.dot(I)<=.95&&(Q=!0),C.copy(a.position).sub(t).length()>=1&&(n=!0),!Q&&!n&&!r&&!s&&!this.needsInitialRender)return}this.needsInitialRender=!1,t.copy(a.position),I.copy(i),g.copy(a.matrixWorld).invert(),g.premultiply(this.dummyPerspectiveMatrix),e[0]=a.position.x,e[1]=a.position.y,e[2]=a.position.z;let B={sort:{view:g.elements,cameraPosition:e,splatRenderCount:this.splatRenderCount,splatSortCount:this.splatRenderCount},...r?{newMatrixWorlds:this.meshMatrixWorlds}:{},...s?{newCropsArray:this.cropsArray}:{}};this.sortRunning?this.queuedMessage=B:(this.queuedMessage=null,this.sortRunning=!0,this.sortWorker.postMessage(B))}}()),this.scene=A.scene,this.currentPage=null,this.devicePixelRatio=window.devicePixelRatio,this.sortWorker=null,this.splatRenderCount=0,this.splatSortCount=0,this.splatMesh=null,this.sortRunning=!1,this.meshMatrixWorlds=null,this.meshMatrixWorldsOld=null,this.cropsArray=null,this.splatEntries=null,this.queuedMessage=null,this.needsInitialRender=!0,this.dummyPerspectiveMatrix=new wg().makePerspective(-1,1,-1,1,.1,1e3)}updateSplatMeshUniforms(A,g){let e=new mA;this.splatMesh!==null&&this.splatMesh.getSplatCount()>0&&(A.getSize(e),this.cameraFocalLengthX=g.projectionMatrix.elements[0]*this.devicePixelRatio*e.x*.45,this.cameraFocalLengthY=g.projectionMatrix.elements[5]*this.devicePixelRatio*e.y*.45,this.splatMesh.updateUniforms(e,this.cameraFocalLengthX,this.cameraFocalLengthY,g.isPerspectiveCamera?-1:g.zoom*this.devicePixelRatio))}loadSplat(A={}){this.activePage=this.scene.activePage,A.position&&(A.position=new x().fromArray(A.position)),A.orientation&&(A.orientation=new ke().fromArray(A.orientation)),A.halfPrecisionCovariances=!!A.halfPrecisionCovariances;let g=[];if(this.splatEntries=g,this.activePage.traverseVisibleEntity(t=>{t.data.type==="Splat"&&g.push(t)}),this.splatMesh&&this.splatMesh.dispose(),g.length===0)return this.splatMesh=null,!1;this.meshMatrixWorlds=g.map(t=>t.matrixWorld),this.meshMatrixWorldsOld=g.map(t=>t.matrixWorld.clone()),this.cropsArray=g.map(t=>t.data.crops.map(C=>C.data));let e=g.map(t=>new u2.GSplineBuffer(new Uint8Array(t.data.buffer).buffer)),I=0,i=[0];for(let t of e)I+=t.getSplatCount(),i.push(I);return this.setupSplatMesh(e,I,A.position,A.orientation,A.halfPrecisionCovariances,this.devicePixelRatio,i,this.meshMatrixWorlds),this.setupSortWorker(I),!0}updateMatrixWorldsInWorkerIfNeeded(){let A=this.splatDataTextures.meshMatrixWorlds.data;for(let g=0;g<this.meshMatrixWorlds.length;g++)A.set(this.meshMatrixWorlds[g].elements,g*16);return this.splatDataTextures.meshMatrixWorlds.texture.needsUpdate=!0,this.meshMatrixWorlds.every((g,e)=>g.equals(this.meshMatrixWorldsOld[e]))?!1:(this.meshMatrixWorldsOld=this.meshMatrixWorlds.map(g=>g.clone()),!0)}cropsChanged(){let A=!1;return this.splatEntries.forEach((g,e)=>{g.data.crops.forEach((I,i)=>{this.cropsArray[e][i]===void 0?(A=!0,this.cropsArray[e][i]=I.data):Object.entries(I.data).forEach(([t,C])=>{Array.isArray(C)&&C.some((o,a)=>o!==this.cropsArray[e][i][t][a])?(A=!0,this.cropsArray[e][i][t]=C):C!==this.cropsArray[e][i]?.[t]&&(A=!0,this.cropsArray[e][i][t]=C)})}),g.data.crops.length!==this.cropsArray[e]?.length&&(this.cropsArray[e].length=g.data.crops.length,A=!0)}),A}setupSplatMesh(A,g,e=new x,I=new ke,i=!1,t=1,C,o){this.splatMesh=hD.buildMesh(A,g,i,t,C,o),this.splatMesh.position.copy(e),this.splatMesh.quaternion.copy(I),this.splatMesh.frustumCulled=!1,this.splatMesh.renderOrder=99999,this.splatRenderCount=g,this.splatMesh.onBeforeRender=(a,r,s)=>this.update(a,s)}setupSortWorker(A){this.sortWorker=hBA(A),this.sortWorker.onmessage=g=>{g.data.sortDone?(this.sortRunning=!1,this.splatMesh?.updateIndexes(new Uint32Array(g.data.indexesBuffer)),this.lastSortTime=g.data.sortTime,this.queuedMessage&&(this.sortWorker.postMessage(this.queuedMessage),this.queuedMessage=null)):g.data.sortCanceled?this.sortRunning=!1:g.data.sortSetupPhase1Complete?this.sortWorker.postMessage({positions:this.splatMesh.getCenters().buffer,meshMatrixWorlds:this.splatMesh.meshMatrixWorlds,meshIndexIntervals:this.splatMesh.meshIndexIntervals,cropsArray:this.cropsArray}):g.data.sortSetupComplete&&(this.splatDataTextures=this.splatMesh.getSplatDataTextures(),this.scene.activePage.add(this.splatMesh),this.needsInitialRender=!0)}}update(A,g){this.splatMesh!==null&&(this.updateSplatMeshUniforms(A,g),this.updateView(!1,g))}getSplatMesh(){return this.splatMesh}},xS=new NQ;xS.wireframe=!0;var cK=new x,dm=class extends rs{constructor(A,g){super(),this.data=A,this.sharedAssets=g,this.enableHelpers=!1,this.wireframeState=!1,this.needsTransmissionDirty=!0,this.needsNormalDirty=!0,this._needsTransmission=!1,this._needsNormal=!1,this.geometryCacheChanged=!1,this.splatViewer=null,this.entityByUuid={},this.entityIdentityToEntity={},this.toExpandCloner=new Set,this.toUpdateCloner=new Set,this.pendingCommands=[],this.pathConstraints=new QBA,this.invisibleObjects=new GE("jflkdsafjasdifjaslk",{...zf.defaultData,visible:!1,name:"buildin invisible"}),this.needsRecomputeInstances=!1,this.init(A,g),this.matrixAutoUpdate=!1,this.errorPage=new Kt("fdasfa",{...xE.defaultData,name:""},{shared:g,scene:this})}markGeometryCacheDirty(){this.geometryCacheChanged=!0}markNeedsUpdateRendererDirty(){this.needsTransmissionDirty=!0,this.needsNormalDirty=!0}needsTransmission(){return this.needsTransmissionDirty&&(this._needsTransmission=aBA(this),this.needsTransmissionDirty=!1),this._needsTransmission}needsNormal(){return this.needsNormalDirty&&(this._needsNormal=oBA(this),this.needsNormalDirty=!1),this._needsNormal}registerInstanceAndSetUuid(A){let g=A.identity.join("-"),e=this.entityIdentityToEntity[g];e&&(A.uuid=e.uuid),this.entityIdentityToEntity[g]=A,this.entityByUuid[A.uuid]=A}markPenumbraSizeDirty(){for(let A of this.children)A instanceof Kt&&(A.penumbraSizeArrayCache=null)}findInstance(A){return this.entityIdentityToEntity[A.join("-")]}get bgColor(){return this.activePage.bgColor}get postprocessing(){return this.activePage.data.postprocessing}getWithSortKey(A){let g=this.find(A);if(g===void 0)return;let e=[],I=g;for(;I!==this;){let i=I;I=I.parent;let t=I.children.indexOf(i);e.splice(0,0,t)}return{entity:g,sortKey:e}}getAllSorted(A){let g=[];for(let e of A){let I=this.getWithSortKey(e.id);I!==void 0&&g.push(I)}return g.sort((e,I)=>Pq(e.sortKey,I.sortKey)),g.map(e=>e.entity)}nonExistOrDescendantOf(A,g){let e=this.find(A);if(e===void 0)return!0;for(;e;){if(e.uuid===g)return!0;e=e.parent}return!1}find(A){if(this.activePage&&this.activePage.personalCamera.parent){if(A==="f23858d0-4a3b-4bd8-8173-66ed0af7f6fb-personalCamera")return this.activePage.personalCamera;if(A===eh)return this.activePage.personalCamera}if(A===""||A===void 0)return;let g=this.entityByUuid[A];return g===void 0?this.getObjectByProperty("uuid",A):g}find2D(A){for(let g of this.children)if(g instanceof Kt&&g.uiScene){let e=g.uiScene.find(A);if(e)return e}}findScene2DfromObject2D(A){for(let g of this.children)if(g instanceof Kt&&g.uiScene&&g.uiScene.find(A))return g.uiScene}find2DInUIObjects(A){let g;return this.traverseEntity(e=>{g===void 0&&e instanceof QC&&(g=e.uiCanvas.find(A))}),g}traverse2D(A){for(let g of this.children)g instanceof Kt&&g.uiScene&&g.uiScene.traverse(A)}debugEnsureEntity(A){let g=this.find(A);if(g){if(Array.isArray(g.identity)&&this.findInstance(g.identity)===void 0){console.error("not found instance");debugger}}else{console.error("not found");debugger}}addPendingExpandCloner(A){this.toExpandCloner.add(A)}addPendingUpdateCloner(A){this.toUpdateCloner.add(A)}markToExpandCloner(A){this.toExpandCloner.add(A),A.traverseEntityAncestors(g=>{this.toExpandCloner.add(g)})}doPendingExpandCloner(){this.toExpandCloner.forEach(A=>{A.expandCloner(this)}),this.toExpandCloner.clear()}doPendingUpdateCloner(){this.toUpdateCloner.forEach(A=>{A.cloner?.update()}),this.toUpdateCloner.clear()}doPendingUpdates(){this.doPendingExpandCloner(),this.doPendingUpdateCloner(),this.applyPendingCommands()}addPendingCommand(A){this.pendingCommands.push(A)}applyPendingCommands(){this.pendingCommands.forEach(A=>A()),this.pendingCommands.length=0}updateByLibOp(A,g){A.path.length===1&&A.path[0]==="components"&&A.type===1&&this.createChildrenObjects([{...A.data.asset,id:A.id}],this.invisibleObjects,g)}updateTreeByOp(A,g){if(A.path.length===0&&A.type===7){let e=A.parent===null?this:this.find(A.parent);if(e===void 0)throw new Error("unexpected");let I=this.createObject(A.id,A.data,A.children,e,A.localIndex,g);I.updateVisible(this),I.resetBBoxNeedsUpdate(),ra(I)&&as(I.parent)&&(I.invalidateUpstreamBooleanData(),I.parent.invalidateDownstreamBooleanData().recomputeBoolean()),this.markNeedsRecomputeInstancesForAncessors(e),this.markNeedsRecomputeInstancesForChildren(I),this.markToExpandCloner(I),this.markPenumbraSizeDirty(),I.updatePathSnapping()}else if(A.path.length===0&&A.type===8){let e=this.find(A.id);if(e===void 0)throw new Error("unexpected");this.markToExpandCloner(e),e.resetBBoxNeedsUpdate(),this.unregisterObject(e);let I=e.parent;this.markNeedsRecomputeInstancesForAncessors(I),this.markNeedsRecomputeInstancesForChildren(e),this.markPenumbraSizeDirty(),e.parent.remove(e),as(e.parent)&&(e.parent.invalidateUpstreamBooleanData(),e.parent.invalidateDownstreamBooleanData().recomputeBoolean()),ra(e)&&(e.freeBooleanPointer(),I instanceof UQ&&I.invalidateDownstreamBooleanData().recomputeBoolean()),e instanceof hm&&e.detachShape(),this.disposeAndUnregisterEntityRecursivelyIfNotReregistered(e),this.pathConstraints.removeDependencies(e.uuid),e.updatePathSnapping()}else if(A.path.length===0&&A.type===9){let e=this.find(A.id);if(e===void 0)throw new Error("unexpected");this.markNeedsRecomputeInstancesForChildren(e);let I=e.parent;this.markNeedsRecomputeInstancesForAncessors(I),e.cloner?.resetOnMove(),this.markToExpandCloner(e);let i=A.parent===null?this:this.find(A.parent);if(i===void 0)throw new Error("unexpected");i.add(e),this.markNeedsRecomputeInstancesForAncessors(i),this.markToExpandCloner(e),e.invalidateClonerTransform(e),e.updateVisible(this),e.resetBBoxNeedsUpdate(),this.markPenumbraSizeDirty();let t=A.localIndex;i.children.splice(t,0,i.children.pop()),ra(e)&&(e.invalidateUpstreamBooleanData(),as(e.parent)?e.parent.invalidateDownstreamBooleanData().recomputeBoolean():I instanceof UQ&&I.invalidateDownstreamBooleanData().recomputeBoolean()),e.updatePathSnapping()}this.markNeedsUpdateRendererDirty(),this.markGeometryCacheDirty()}get playPage(){return this.find(this.data.publish.playPage)??this.errorPage}updatePage(A){this.activePage&&this.activePage.onDeactive(),this.activePage=this.errorPage;for(let g of this.children)g instanceof Kt&&(g.visible=g.uuid===A,g.visible&&(this.activePage=g,this.activePage.onActive(this)));this.activePage!==this.splatViewer?.activePage&&this.reloadSplats()}updateEntityByOp(A,g,e,I){if(g.type===0){if(("overrides"in g.props||"component"in g.props)&&this.markNeedsRecomputeInstances(),"visible"in g.props&&this.markPenumbraSizeDirty(),g.path.includes("overrides")&&"states"in g.props){let{rest:t}=g.props;g={...g,props:t},this.markNeedsRecomputeInstances()}g.path[0]==="pathSnapping"&&g.props.pathId!==void 0&&this.pathConstraints.setConstraint(A,g.props.pathId)}let i=this.find(A);if(i)try{CBA(i,g,e,{scene:this,shared:I}),i instanceof EC&&i.updateGeometryGroupsIfNeeded()}catch(t){console.error(t)}}updateEntity2DByOp(A,g,e,I,i,t=[]){A.updateEntityByOp(g,e,I,i),this.traverseEntity(C=>{(C instanceof QC||C instanceof Kt)&&(t.includes(C.frameId??"")||C.frameId===g)&&C.updateEntity2DByOp(g,e,I,i)})}get activeCamera(){return this.activePage.activeCamera}switchActiveCamera(A){this.activePage.switchActiveCamera(A)}isInvisibleObjects(A){return A===this.invisibleObjects||A.hasAnccestor(this.invisibleObjects)}init(A,g){let e=Object.entries(g.data.lib.components).map((I,i)=>({data:I[1].asset.data,children:I[1].asset.children,id:I[0],fi:i}));this.invisibleObjects.updateState(this.invisibleObjects.data,{scene:this,shared:g}),this.add(this.invisibleObjects),this.createChildrenObjects(e,this.invisibleObjects,g),this.createChildrenObjects(A.objects,this,g),this.updatePage(A.publish.playPage),this.activePage.switchToPlayCamera(),this.expandInstances(g,!0),this.traverseEntity(I=>{I instanceof lC&&I.updateUp()}),this.doPendingExpandCloner(),this.applyPendingCommands()}markNeedsRecomputeInstances(){this.needsRecomputeInstances=!0}markNeedsRecomputeInstancesForChildren(A){A.traverseEntity(g=>{(g.data.type==="Component"||g.data.type==="Instance")&&this.markNeedsRecomputeInstances()})}markNeedsRecomputeInstancesForAncessors(A){hI.is(A)&&(A.data.type==="Component"&&this.markNeedsRecomputeInstances(),A.traverseAncestors(g=>{hI.is(g)&&g.data.type==="Component"&&this.markNeedsRecomputeInstances()}))}relativeizeInner(A,g,e,I,i,t,C){if(A){let o=I.find(A);o&&o!==I&&i.forInstancesRec(a=>{a.data=Bc(a.data,r=>{let s=r.events.data(C.id),B=a.goUp(t);if(B){let Q=[..._q(B.identity),A].join("-"),n=this.entityIdentityToEntity[Q];if(n){let E=n.uuid,l=gC.zoom(s,g);l[e]=E}else console.warn("cannot find instance")}}).data})}}rewriteActions(A,g,e,I,i,t){A.forEach(C=>{C.data.type==="Transition"?this.relativeizeInner(C.data.object,[...g,C.id],"object",e,I,i,t):C.data.type==="Animation"?this.relativeizeInner(C.data.object,[...g,C.id],"object",e,I,i,t):C.data.type==="Conditional"&&(this.rewriteActions(C.data.ifActions,[...g,C.id,"ifActions"],e,I,i,t),this.rewriteActions(C.data.elseActions,[...g,C.id,"elseActions"],e,I,i,t))})}rewriteEventsBeforeGoToPlayMode(){this.traverseEntity(A=>{if(A instanceof mE&&typeof A.identity=="string"&&A.data.type==="Component")return A.traverseEntity((g,e)=>{g.data.events.forEach(I=>{if(I.data.type==="GameControl"){let i=!1;if(g.forInstancesRec(t=>{t.data=Bc(t.data,C=>{t.isInstanceRoot||(C.events.delete(I.id),i=!0)}).data}),i===!1)for(let t of ep.list)this.rewriteActions(I.data.gameActions[t],["gameActions",t],A,g,e,I)}else I.data.type==="Conditional"?(I.data.condition.type==="Distance"?(this.relativeizeInner(I.data.condition.fromObject,["condition"],"fromObject",A,g,e,I),this.relativeizeInner(I.data.condition.toObject,["condition"],"toObject",A,g,e,I)):I.data.condition.type==="State"?this.relativeizeInner(I.data.condition.object,["condition"],"object",A,g,e,I):I.data.condition.type==="Comparison"&&(I.data.condition.lOperand.type==="Property"&&this.relativeizeInner(I.data.condition.lOperand.value[0],["condition","lOperand","value"],0,A,g,e,I),I.data.condition.rOperand.type==="Property"&&this.relativeizeInner(I.data.condition.rOperand.value[0],["condition","rOperand","value"],0,A,g,e,I)),this.rewriteActions(I.data.inActions,["inActions"],A,g,e,I),this.rewriteActions(I.data.outActions,["outActions"],A,g,e,I)):"actions"in I.data&&this.rewriteActions(I.data.actions,["actions"],A,g,e,I)})}),!0})}expandInstances(A,g,e){let I=new Set;this.traverseEntity(i=>{if(i instanceof mE&&i.isInstanceRoot)return i.expandInstanceChildren({scene:this,shared:A,pendingDeletes:I}),g||i.resetBBoxNeedsUpdate(),e&&i.traverseEntity(t=>{e.addClip(t)}),!0});for(let i of I)this.disposeAndUnregisterEntityRecursivelyIfNotReregistered(i),lm(i)}recomputeInstances(A,g){this.needsRecomputeInstances&&(this.needsRecomputeInstances=!1,this.traverseEntity(e=>{e instanceof mE&&e.isInstanceRoot&&(e.component=void 0)}),this.expandInstances(A,!1,g))}disposeAndUnregisterEntityRecursivelyIfNotReregistered(A){A.traverseEntity(g=>{let e=typeof g.identity=="string"?g.identity:g.identity.join("-");this.entityIdentityToEntity[e]===g&&(delete this.entityByUuid[g.uuid],delete this.entityIdentityToEntity[e]),g.dispose()})}clearScene(){for(let A of this.children)hI.is(A)&&A.disposeRecursively();this.children.length=0}resetAfterClear(A,g){this.init(A,g)}raycast(A){return this.raycast1(A,!1)}raycast1(A,g){let e=[],I=i=>{for(let t of i.children){let C=t.cloner;if(hI.is(t)&&!t.raycastLock&&(t.visible||C?.object.data.visible))if(g===!0&&t.isInstanceRoot){let o=[];if(A.intersectObject(t,!0,o),o.length){let a=o[0];a.object=t,a.point.applyMatrix4(a.object.matrixWorld);let r=t.matrixWorld.clone().invert();a.point.applyMatrix4(r),e.push(a)}}else(ra(t)||MS(t)&&this.enableHelpers&&t.objectHelper.visible)&&(A.intersectObject(t,!1,e),LS(t,A,e)),I(t)}};return I(this.activePage),e}raycastWithClones(A){let g=[],e=I=>{for(let i of I.children){let t=i.cloner;hI.is(i)&&(i.visible||t?.object.data.visible)&&((ra(i)||MS(i)&&this.enableHelpers&&i.objectHelper.visible)&&(A.intersectObject(i,!1,g),LS(i,A,g,!0)),e(i))}};return e(this),g}forEachEntity(A){for(let g of this.children)hI.is(g)&&A(g)}traverseConcreteEntity(A){for(let g of this.children)hI.is(g)&&g.isConcreteEntity&&g.traverseEntity(A)}traverseEntity(A){for(let g of this.children)hI.is(g)&&g.traverseEntity(A)}updateFont(A,g){this.traverseEntity(e=>{if(e instanceof EC&&e.data.type==="Mesh"&&e.data.geometry.type==="TextGeometry"&&e.data.geometry.font===A){let I=e.geometry,i=e.data.geometry;I.updateFont(A,g).then(()=>{I.update(i);let t=e.invalidateDownstreamBooleanData();as(t)&&t.recomputeBoolean()})}})}traverseObject(A){for(let g of this.children)uc.is(g)&&g.traverseObject(A)}traverseVisibleEntity(A){for(let g of this.children)hI.is(g)&&g.visible&&g.traverseVisibleEntity(A)}dispose(){this.clearScene()}createChildrenObjects(A,g,e){let I=0;for(let i of A)this.createObject(i.id,i.data,i.children,g,I,e),I+=1}registerObjectCreatedInLegacy(A){this.entityByUuid[A.uuid]=A}unregisterObject(A){delete this.entityByUuid[A.uuid];for(let g of A.children)this.unregisterObject(g)}createObject(A,g,e,I,i,t){let C={scene:this,shared:t},o=cm(A,g,C);return o&&(this.entityByUuid[A]=o,I.add(o),I.children.splice(i,0,I.children.pop()),e.length>0&&(o.isInstanceRoot?console.error("instance should not have children!"):this.createChildrenObjects(e,o,t)),o.updateState(g,C),o instanceof EC&&o.updateGeometryGroupsIfNeeded(),o.updateVisible(this),o.cloner&&this.toExpandCloner.add(o),g.pathSnapping?.pathId&&this.pathConstraints.setConstraint(A,g.pathSnapping.pathId)),g.type==="Empty"&&g.animations&&o.traverseEntity(a=>{let r=a.dataPatched;if(a instanceof EC&&r.bones&&r.boneInverses){let s=r.bones.map(n=>this.find(n)),B=r.boneInverses.map(n=>new wg().fromArray(n)),Q=new CG(s,B);a.bind(Q,a.bindMatrix)}else a.matrixAutoUpdate=!0}),o}getCenter(A){let g=[];for(let I=0,i=A.length;I<i;++I){let{id:t,recursive:C}=A[I],o=this.find(t),a=C?o.recursiveBBox:o.singleBBox;g.push(...a.vertices)}let e=new ji;return e.setFromPoints(g),e.getCenter(cK),cK}copyMatrixWorld(A,g){if(A===null){g.identity();return}let e=this.find(A);e?g.copy(e.matrixWorld):g.identity()}copyParentMatrixWorld(A,g){if(A===null){g.identity();return}let e=this.find(A)?.parent;e?g.copy(e.matrixWorld):g.identity()}traverseMaterial(A){this.traverseEntity(g=>{if(g instanceof RC)if(Array.isArray(g.material))for(let e=0;e<g.material.length;e++)g.material[e]instanceof wB&&A(g.material[e]);else g.material instanceof wB&&A(g.material)})}updateViewPlaneSize(A,g,e=!1){this.traverseConcreteEntity(I=>{I instanceof lC&&I.setViewplaneSize(A,g,e)})}initializeSplatViewer(){this.splatViewer=new uBA({scene:this}),this.reloadSplats()}reloadSplats(){this.splatViewer?.loadSplat()}},lD=(A,g)=>{let e=g.x-A.x,I=g.y-A.y;return Math.sqrt(e*e+I*I)},DBA=(A,g)=>{let e=g.x-A.x,I=g.y-A.y;return yBA(Math.atan2(I,e))},pBA=(A,g,e)=>{let I={x:0,y:0};return e=YS(e),I.x=A.x-g*Math.cos(e),I.y=A.y-g*Math.sin(e),I},YS=A=>A*(Math.PI/180),yBA=A=>A*(180/Math.PI),wBA=A=>isNaN(A.buttons)?A.pressure!==0:A.buttons!==0,N0=new Map,dK=A=>{N0.has(A)&&clearTimeout(N0.get(A)),N0.set(A,setTimeout(A,100))},lp=(A,g,e)=>{let I=g.split(/[ ,]+/g),i;for(let t=0;t<I.length;t+=1)i=I[t],A.addEventListener?A.addEventListener(i,e,!1):A.attachEvent&&A.attachEvent(i,e)},uK=(A,g,e)=>{let I=g.split(/[ ,]+/g),i;for(let t=0;t<I.length;t+=1)i=I[t],A.removeEventListener?A.removeEventListener(i,e):A.detachEvent&&A.detachEvent(i,e)},D2=A=>(A.preventDefault(),A.type.match(/^touch/)?A.changedTouches:A),DK=()=>{if(typeof window>"u")return;let A=window.pageXOffset!==void 0?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft,g=window.pageYOffset!==void 0?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;return{x:A,y:g}},HS=(A,g)=>{g.top||g.right||g.bottom||g.left?(A.style.top=g.top,A.style.right=g.right,A.style.bottom=g.bottom,A.style.left=g.left):(A.style.left=g.x+"px",A.style.top=g.y+"px")},um=(A,g,e)=>{let I=p2(A);for(let i in I)if(I.hasOwnProperty(i))if(typeof g=="string")I[i]=g+" "+e;else{let t="";for(let C=0,o=g.length;C<o;C+=1)t+=g[C]+" "+e+", ";I[i]=t.slice(0,-2)}return I},fBA=(A,g)=>{let e=p2(A);for(let I in e)e.hasOwnProperty(I)&&(e[I]=g);return e},p2=A=>{let g={};return g[A]="",["webkit","Moz","o"].forEach(function(e){g[e+A.charAt(0).toUpperCase()+A.slice(1)]=""}),g},F0=(A,g)=>{for(let e in g)g.hasOwnProperty(e)&&(A[e]=g[e]);return A},SBA=(A,g)=>{let e={};for(let I in A)A.hasOwnProperty(I)&&g.hasOwnProperty(I)?e[I]=g[I]:A.hasOwnProperty(I)&&(e[I]=A[I]);return e},TS=(A,g)=>{if(A.length)for(let e=0,I=A.length;e<I;e+=1)g(A[e]);else g(A)},GBA=(A,g,e)=>({x:Math.min(Math.max(A.x,g.x-e),g.x+e),y:Math.min(Math.max(A.y,g.y-e),g.y+e)});typeof window<"u"&&(y2="ontouchstart"in window,w2=!!window.PointerEvent,f2=!!window.MSPointerEvent);var y2,w2,f2,Sl={touch:{start:"touchstart",move:"touchmove",end:"touchend, touchcancel"},mouse:{start:"mousedown",move:"mousemove",end:"mouseup"},pointer:{start:"pointerdown",move:"pointermove",end:"pointerup, pointercancel"},MSPointer:{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}},nE,yc={};w2?nE=Sl.pointer:f2?nE=Sl.MSPointer:y2?(nE=Sl.touch,yc=Sl.mouse):nE=Sl.mouse;function bQ(){}bQ.prototype.on=function(A,g){var e=this,I=A.split(/[ ,]+/g),i;e._handlers_=e._handlers_||{};for(var t=0;t<I.length;t+=1)i=I[t],e._handlers_[i]=e._handlers_[i]||[],e._handlers_[i].push(g);return e};bQ.prototype.off=function(A,g){var e=this;return e._handlers_=e._handlers_||{},A===void 0?e._handlers_={}:g===void 0?e._handlers_[A]=null:e._handlers_[A]&&e._handlers_[A].indexOf(g)>=0&&e._handlers_[A].splice(e._handlers_[A].indexOf(g),1),e};bQ.prototype.trigger=function(A,g){var e=this,I=A.split(/[ ,]+/g),i;e._handlers_=e._handlers_||{};for(var t=0;t<I.length;t+=1)i=I[t],e._handlers_[i]&&e._handlers_[i].length&&e._handlers_[i].forEach(function(C){C.call(e,{type:i,target:e},g)})};bQ.prototype.config=function(A){var g=this;g.options=g.defaults||{},A&&(g.options=SBA(g.options,A))};bQ.prototype.bindEvt=function(A,g){var e=this;return e._domHandlers_=e._domHandlers_||{},e._domHandlers_[g]=function(){typeof e["on"+g]=="function"?e["on"+g].apply(e,arguments):console.warn('[WARNING] : Missing "on'+g+'" handler.')},lp(A,nE[g],e._domHandlers_[g]),yc[g]&&lp(A,yc[g],e._domHandlers_[g]),e};bQ.prototype.unbindEvt=function(A,g){var e=this;return e._domHandlers_=e._domHandlers_||{},uK(A,nE[g],e._domHandlers_[g]),yc[g]&&uK(A,yc[g],e._domHandlers_[g]),delete e._domHandlers_[g],this};var Dm=bQ;function Gt(A,g){return this.identifier=g.identifier,this.position=g.position,this.frontPosition=g.frontPosition,this.collection=A,this.defaults={size:100,threshold:.1,color:"white",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:1,mode:"dynamic",zone:document.body,lockX:!1,lockY:!1,shape:"circle"},this.config(g),this.options.mode==="dynamic"&&(this.options.restOpacity=0),this.id=Gt.id,Gt.id+=1,this.buildEl().stylize(),this.instance={el:this.ui.el,on:this.on.bind(this),off:this.off.bind(this),show:this.show.bind(this),hide:this.hide.bind(this),add:this.addToDom.bind(this),remove:this.removeFromDom.bind(this),destroy:this.destroy.bind(this),setPosition:this.setPosition.bind(this),resetDirection:this.resetDirection.bind(this),computeDirection:this.computeDirection.bind(this),trigger:this.trigger.bind(this),position:this.position,frontPosition:this.frontPosition,ui:this.ui,identifier:this.identifier,id:this.id,options:this.options},this.instance}Gt.prototype=new Dm;Gt.constructor=Gt;Gt.id=0;Gt.prototype.buildEl=function(A){return this.ui={},this.options.dataOnly?this:(this.ui.el=document.createElement("div"),this.ui.back=document.createElement("div"),this.ui.front=document.createElement("div"),this.ui.el.className="nipple collection_"+this.collection.id,this.ui.back.className="back",this.ui.front.className="front",this.ui.el.setAttribute("id","nipple_"+this.collection.id+"_"+this.id),this.ui.el.appendChild(this.ui.back),this.ui.el.appendChild(this.ui.front),this)};Gt.prototype.stylize=function(){if(this.options.dataOnly)return this;var A=this.options.fadeTime+"ms",g=fBA("borderRadius","50%"),e=um("transition","opacity",A),I={};return I.el={position:"absolute",opacity:this.options.restOpacity,display:"block",zIndex:999},I.back={position:"absolute",display:"block",width:this.options.size+"px",height:this.options.size+"px",marginLeft:-this.options.size/2+"px",marginTop:-this.options.size/2+"px",background:"rgba(255, 255, 255, .4)",border:"solid 2px rgba(0, 0, 0, .1)"},I.front={width:this.options.size/2+"px",height:this.options.size/2+"px",position:"absolute",display:"block",marginLeft:-this.options.size/4+"px",marginTop:-this.options.size/4+"px",background:"rgba(255, 255, 255, .8)",border:"solid 2px rgba(0, 0, 0, .1)"},F0(I.el,e),this.options.shape==="circle"&&F0(I.back,g),F0(I.front,g),this.applyStyles(I),this};Gt.prototype.applyStyles=function(A){for(var g in this.ui)if(this.ui.hasOwnProperty(g))for(var e in A[g])this.ui[g].style[e]=A[g][e];return this};Gt.prototype.addToDom=function(){return this.options.dataOnly||document.body.contains(this.ui.el)?this:(this.options.zone.appendChild(this.ui.el),this)};Gt.prototype.removeFromDom=function(){return this.options.dataOnly||!document.body.contains(this.ui.el)?this:(this.options.zone.removeChild(this.ui.el),this)};Gt.prototype.destroy=function(){clearTimeout(this.removeTimeout),clearTimeout(this.showTimeout),clearTimeout(this.restTimeout),this.trigger("destroyed",this.instance),this.removeFromDom(),this.off()};Gt.prototype.show=function(A){var g=this;return g.options.dataOnly||(clearTimeout(g.removeTimeout),clearTimeout(g.showTimeout),clearTimeout(g.restTimeout),g.addToDom(),g.restCallback(),setTimeout(function(){g.ui.el.style.opacity=1},0),g.showTimeout=setTimeout(function(){g.trigger("shown",g.instance),typeof A=="function"&&A.call(this)},g.options.fadeTime)),g};Gt.prototype.hide=function(A){var g=this;if(g.options.dataOnly)return g;if(g.ui.el.style.opacity=g.options.restOpacity,clearTimeout(g.removeTimeout),clearTimeout(g.showTimeout),clearTimeout(g.restTimeout),g.removeTimeout=setTimeout(function(){var e=g.options.mode==="dynamic"?"none":"block";g.ui.el.style.display=e,typeof A=="function"&&A.call(g),g.trigger("hidden",g.instance)},g.options.fadeTime),g.options.restJoystick){let e=g.options.restJoystick,I={};I.x=e===!0||e.x!==!1?0:g.instance.frontPosition.x,I.y=e===!0||e.y!==!1?0:g.instance.frontPosition.y,g.setPosition(A,I)}return g};Gt.prototype.setPosition=function(A,g){var e=this;e.frontPosition={x:g.x,y:g.y};var I=e.options.fadeTime+"ms",i={};i.front=um("transition",["top","left"],I);var t={front:{}};t.front={left:e.frontPosition.x+"px",top:e.frontPosition.y+"px"},e.applyStyles(i),e.applyStyles(t),e.restTimeout=setTimeout(function(){typeof A=="function"&&A.call(e),e.restCallback()},e.options.fadeTime)};Gt.prototype.restCallback=function(){var A=this,g={};g.front=um("transition","none",""),A.applyStyles(g),A.trigger("rested",A.instance)};Gt.prototype.resetDirection=function(){this.direction={x:!1,y:!1,angle:!1}};Gt.prototype.computeDirection=function(A){var g=A.angle.radian,e=Math.PI/4,I=Math.PI/2,i,t,C;if(g>e&&g<e*3&&!A.lockX?i="up":g>-e&&g<=e&&!A.lockY?i="left":g>-e*3&&g<=-e&&!A.lockX?i="down":A.lockY||(i="right"),A.lockY||(g>-I&&g<I?t="left":t="right"),A.lockX||(g>0?C="up":C="down"),A.force>this.options.threshold){var o={},a;for(a in this.direction)this.direction.hasOwnProperty(a)&&(o[a]=this.direction[a]);var r={};this.direction={x:t,y:C,angle:i},A.direction=this.direction;for(a in o)o[a]===this.direction[a]&&(r[a]=!0);if(r.x&&r.y&&r.angle)return A;(!r.x||!r.y)&&this.trigger("plain",A),r.x||this.trigger("plain:"+t,A),r.y||this.trigger("plain:"+C,A),r.angle||this.trigger("dir dir:"+i,A)}else this.resetDirection();return A};var mBA=Gt;function Wi(A,g){var e=this;e.nipples=[],e.idles=[],e.actives=[],e.ids=[],e.pressureIntervals={},e.manager=A,e.id=Wi.id,Wi.id+=1,e.defaults={zone:document.body,multitouch:!1,maxNumberOfNipples:10,mode:"dynamic",position:{top:0,left:0},catchDistance:200,size:100,threshold:.1,color:"white",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:1,lockX:!1,lockY:!1,shape:"circle",dynamicPage:!1,follow:!1},e.config(g),(e.options.mode==="static"||e.options.mode==="semi")&&(e.options.multitouch=!1),e.options.multitouch||(e.options.maxNumberOfNipples=1);let I=getComputedStyle(e.options.zone.parentElement);return I&&I.display==="flex"&&(e.parentIsFlex=!0),e.updateBox(),e.prepareNipples(),e.bindings(),e.begin(),e.nipples}Wi.prototype=new Dm;Wi.constructor=Wi;Wi.id=0;Wi.prototype.prepareNipples=function(){var A=this,g=A.nipples;g.on=A.on.bind(A),g.off=A.off.bind(A),g.options=A.options,g.destroy=A.destroy.bind(A),g.ids=A.ids,g.id=A.id,g.processOnMove=A.processOnMove.bind(A),g.processOnEnd=A.processOnEnd.bind(A),g.get=function(e){if(e===void 0)return g[0];for(var I=0,i=g.length;I<i;I+=1)if(g[I].identifier===e)return g[I];return!1}};Wi.prototype.bindings=function(){var A=this;A.bindEvt(A.options.zone,"start"),A.options.zone.style.touchAction="none",A.options.zone.style.msTouchAction="none"};Wi.prototype.begin=function(){var A=this,g=A.options;if(g.mode==="static"){var e=A.createNipple(g.position,A.manager.getIdentifier());e.add(),A.idles.push(e)}};Wi.prototype.createNipple=function(A,g){var e=this,I=e.manager.scroll,i={},t=e.options,C={x:e.parentIsFlex?I.x:I.x+e.box.left,y:e.parentIsFlex?I.y:I.y+e.box.top};if(A.x&&A.y)i={x:A.x-C.x,y:A.y-C.y};else if(A.top||A.right||A.bottom||A.left){var o=document.createElement("DIV");o.style.display="hidden",o.style.top=A.top,o.style.right=A.right,o.style.bottom=A.bottom,o.style.left=A.left,o.style.position="absolute",t.zone.appendChild(o);var a=o.getBoundingClientRect();t.zone.removeChild(o),i=A,A={x:a.left+I.x,y:a.top+I.y}}var r=new mBA(e,{color:t.color,size:t.size,threshold:t.threshold,fadeTime:t.fadeTime,dataOnly:t.dataOnly,restJoystick:t.restJoystick,restOpacity:t.restOpacity,mode:t.mode,identifier:g,position:A,zone:t.zone,frontPosition:{x:0,y:0},shape:t.shape});return t.dataOnly||(HS(r.ui.el,i),HS(r.ui.front,r.frontPosition)),e.nipples.push(r),e.trigger("added "+r.identifier+":added",r),e.manager.trigger("added "+r.identifier+":added",r),e.bindNipple(r),r};Wi.prototype.updateBox=function(){var A=this;A.box=A.options.zone.getBoundingClientRect()};Wi.prototype.bindNipple=function(A){var g=this,e,I=function(i,t){e=i.type+" "+t.id+":"+i.type,g.trigger(e,t)};A.on("destroyed",g.onDestroyed.bind(g)),A.on("shown hidden rested dir plain",I),A.on("dir:up dir:right dir:down dir:left",I),A.on("plain:up plain:right plain:down plain:left",I)};Wi.prototype.pressureFn=function(A,g,e){var I=this,i=0;clearInterval(I.pressureIntervals[e]),I.pressureIntervals[e]=setInterval(function(){var t=A.force||A.pressure||A.webkitForce||0;t!==i&&(g.trigger("pressure",t),I.trigger("pressure "+g.identifier+":pressure",t),i=t)}.bind(I),100)};Wi.prototype.onstart=function(A){var g=this,e=g.options,I=A;A=D2(A),g.updateBox();var i=function(t){g.actives.length<e.maxNumberOfNipples?g.processOnStart(t):I.type.match(/^touch/)&&(Object.keys(g.manager.ids).forEach(function(C){if(Object.values(I.touches).findIndex(function(a){return a.identifier===C})<0){var o=[A[0]];o.identifier=C,g.processOnEnd(o)}}),g.actives.length<e.maxNumberOfNipples&&g.processOnStart(t))};return TS(A,i),g.manager.bindDocument(),!1};Wi.prototype.processOnStart=function(A){var g=this,e=g.options,I,i=g.manager.getIdentifier(A),t=A.force||A.pressure||A.webkitForce||0,C={x:A.pageX,y:A.pageY},o=g.getOrCreate(i,C);o.identifier!==i&&g.manager.removeIdentifier(o.identifier),o.identifier=i;var a=function(s){s.trigger("start",s),g.trigger("start "+s.id+":start",s),s.show(),t>0&&g.pressureFn(A,s,s.identifier),g.processOnMove(A)};if((I=g.idles.indexOf(o))>=0&&g.idles.splice(I,1),g.actives.push(o),g.ids.push(o.identifier),e.mode!=="semi")a(o);else{var r=lD(C,o.position);if(r<=e.catchDistance)a(o);else{o.destroy(),g.processOnStart(A);return}}return o};Wi.prototype.getOrCreate=function(A,g){var e=this,I=e.options,i;return/(semi|static)/.test(I.mode)?(i=e.idles[0],i?(e.idles.splice(0,1),i):I.mode==="semi"?e.createNipple(g,A):(console.warn("Coudln't find the needed nipple."),!1)):(i=e.createNipple(g,A),i)};Wi.prototype.processOnMove=function(A){var g=this,e=g.options,I=g.manager.getIdentifier(A),i=g.nipples.get(I),t=g.manager.scroll;if(!wBA(A)){this.processOnEnd(A);return}if(!i){console.error("Found zombie joystick with ID "+I),g.manager.removeIdentifier(I);return}if(e.dynamicPage){var C=i.el.getBoundingClientRect();i.position={x:t.x+C.left,y:t.y+C.top}}i.identifier=I;var o=i.options.size/2,a={x:A.pageX,y:A.pageY};e.lockX&&(a.y=i.position.y),e.lockY&&(a.x=i.position.x);var r=lD(a,i.position),s=DBA(a,i.position),B=YS(s),Q=r/o,n={distance:r,position:a},E,l;if(i.options.shape==="circle"?(E=Math.min(r,o),l=pBA(i.position,E,s)):(l=GBA(a,i.position,o),E=lD(l,i.position)),e.follow){if(r>o){let p=a.x-l.x,w=a.y-l.y;i.position.x+=p,i.position.y+=w,i.el.style.top=i.position.y-(g.box.top+t.y)+"px",i.el.style.left=i.position.x-(g.box.left+t.x)+"px",r=lD(a,i.position)}}else a=l,r=E;var h=a.x-i.position.x,u=a.y-i.position.y;i.frontPosition={x:h,y:u},e.dataOnly||HS(i.ui.front,i.frontPosition);var D={identifier:i.identifier,position:a,force:Q,pressure:A.force||A.pressure||A.webkitForce||0,distance:r,angle:{radian:B,degree:s},vector:{x:h/o,y:-u/o},raw:n,instance:i,lockX:e.lockX,lockY:e.lockY};D=i.computeDirection(D),D.angle={radian:YS(180-s),degree:180-s},i.trigger("move",D),g.trigger("move "+i.id+":move",D)};Wi.prototype.processOnEnd=function(A){var g=this,e=g.options,I=g.manager.getIdentifier(A),i=g.nipples.get(I),t=g.manager.removeIdentifier(i.identifier);!i||(e.dataOnly||i.hide(function(){e.mode==="dynamic"&&(i.trigger("removed",i),g.trigger("removed "+i.id+":removed",i),g.manager.trigger("removed "+i.id+":removed",i),i.destroy())}),clearInterval(g.pressureIntervals[i.identifier]),i.resetDirection(),i.trigger("end",i),g.trigger("end "+i.id+":end",i),g.ids.indexOf(i.identifier)>=0&&g.ids.splice(g.ids.indexOf(i.identifier),1),g.actives.indexOf(i)>=0&&g.actives.splice(g.actives.indexOf(i),1),/(semi|static)/.test(e.mode)?g.idles.push(i):g.nipples.indexOf(i)>=0&&g.nipples.splice(g.nipples.indexOf(i),1),g.manager.unbindDocument(),/(semi|static)/.test(e.mode)&&(g.manager.ids[t.id]=t.identifier))};Wi.prototype.onDestroyed=function(A,g){var e=this;e.nipples.indexOf(g)>=0&&e.nipples.splice(e.nipples.indexOf(g),1),e.actives.indexOf(g)>=0&&e.actives.splice(e.actives.indexOf(g),1),e.idles.indexOf(g)>=0&&e.idles.splice(e.idles.indexOf(g),1),e.ids.indexOf(g.identifier)>=0&&e.ids.splice(e.ids.indexOf(g.identifier),1),e.manager.removeIdentifier(g.identifier),e.manager.unbindDocument()};Wi.prototype.destroy=function(){var A=this;A.unbindEvt(A.options.zone,"start"),A.nipples.forEach(function(e){e.destroy()});for(var g in A.pressureIntervals)A.pressureIntervals.hasOwnProperty(g)&&clearInterval(A.pressureIntervals[g]);A.trigger("destroyed",A.nipples),A.manager.unbindDocument(),A.off()};var MBA=Wi;function Ht(A){var g=this;g.ids={},g.index=0,g.collections=[],g.scroll=DK(),g.config(A),g.prepareCollections();var e=function(){var i;g.collections.forEach(function(t){t.forEach(function(C){i=C.el.getBoundingClientRect(),C.position={x:g.scroll.x+i.left,y:g.scroll.y+i.top}})})};if(typeof window>"u")return g.collections;lp(window,"resize",function(){dK(e)});var I=function(){g.scroll=DK()};return lp(window,"scroll",function(){dK(I)}),g.collections}Ht.prototype=new Dm;Ht.constructor=Ht;Ht.prototype.prepareCollections=function(){var A=this;A.collections.create=A.create.bind(A),A.collections.on=A.on.bind(A),A.collections.off=A.off.bind(A),A.collections.destroy=A.destroy.bind(A),A.collections.get=function(g){var e;return A.collections.every(function(I){return e=I.get(g),!e}),e}};Ht.prototype.create=function(A){return this.createCollection(A)};Ht.prototype.createCollection=function(A){var g=this,e=new MBA(g,A);return g.bindCollection(e),g.collections.push(e),e};Ht.prototype.bindCollection=function(A){var g=this,e,I=function(i,t){e=i.type+" "+t.id+":"+i.type,g.trigger(e,t)};A.on("destroyed",g.onDestroyed.bind(g)),A.on("shown hidden rested dir plain",I),A.on("dir:up dir:right dir:down dir:left",I),A.on("plain:up plain:right plain:down plain:left",I)};Ht.prototype.bindDocument=function(){var A=this;A.binded||(A.bindEvt(document,"move").bindEvt(document,"end"),A.binded=!0)};Ht.prototype.unbindDocument=function(A){var g=this;(!Object.keys(g.ids).length||A===!0)&&(g.unbindEvt(document,"move").unbindEvt(document,"end"),g.binded=!1)};Ht.prototype.getIdentifier=function(A){var g;return A?(g=A.identifier===void 0?A.pointerId:A.identifier,g===void 0&&(g=this.latest||0)):g=this.index,this.ids[g]===void 0&&(this.ids[g]=this.index,this.index+=1),this.latest=g,this.ids[g]};Ht.prototype.removeIdentifier=function(A){var g={};for(var e in this.ids)if(this.ids[e]===A){g.id=e,g.identifier=this.ids[e],delete this.ids[e];break}return g};Ht.prototype.onmove=function(A){var g=this;return g.onAny("move",A),!1};Ht.prototype.onend=function(A){var g=this;return g.onAny("end",A),!1};Ht.prototype.oncancel=function(A){var g=this;return g.onAny("end",A),!1};Ht.prototype.onAny=function(A,g){var e=this,I,i="processOn"+A.charAt(0).toUpperCase()+A.slice(1);g=D2(g);var t=function(o,a,r){r.ids.indexOf(a)>=0&&(r[i](o),o._found_=!0)},C=function(o){I=e.getIdentifier(o),TS(e.collections,t.bind(null,o,I)),o._found_||e.removeIdentifier(I)};return TS(g,C),!1};Ht.prototype.destroy=function(){var A=this;A.unbindDocument(!0),A.ids={},A.index=0,A.collections.forEach(function(g){g.destroy()}),A.off()};Ht.prototype.onDestroyed=function(A,g){var e=this;if(e.collections.indexOf(g)<0)return!1;e.collections.splice(e.collections.indexOf(g),1)};var kBA=Ht,pK=new kBA,UBA={create:function(A){return pK.create(A)},factory:pK},S2=new Map,Vl=new Map,EQ=class{constructor(A,g,e,I){this.data=g;let{audio:i,volume:t,delay:C,loop:o}=g;if(!i)throw new Error("Missing property");let a=typeof i=="string"?I.getAudio(i).src:i.data;this.audioPlayer=new xl({src:a,volume:t,delay:C,loop:o}),Vl.has(e.uuid)?Vl.get(e.uuid).push(this):Vl.set(e.uuid,[this]),S2.set(A,this)}playByToggle(){this.data.toggle==="stop"?this.audioPlayer.status==="playing"?this.audioPlayer.stop():(this.audioPlayer.stop(),this.audioPlayer.play()):this.data.toggle==="pause"?this.audioPlayer.status==="playing"?this.audioPlayer.pause():this.audioPlayer.play():(this.audioPlayer.stop(),this.audioPlayer.play())}dispose(){this.audioPlayer.stop()}},OS=class{constructor(A){this.data=A}dispatch(){this.data.playAudio?this.pauseAudio(this.data.playAudio):this.data.object?this.pauseAllAudiosFromObject(this.data.object):this.pauseAllAudios()}pauseAudio(A){let g=S2.get(A);!g||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{g.audioPlayer[this.data.interaction](),this.disposeDelay()},this.data.delay)):g.audioPlayer[this.data.interaction]())}pauseAllAudiosFromObject(A){let g=Vl.get(A);!g?.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{g.forEach(e=>e.audioPlayer[this.data.interaction]()),this.disposeDelay()},this.data.delay)):g.forEach(e=>e.audioPlayer[this.data.interaction]()))}pauseAllAudios(){let A=[...Vl.values()];!A.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{A.forEach(g=>{g.forEach(e=>{e.audioPlayer[this.data.interaction]()})}),this.disposeDelay()},this.data.delay)):A.forEach(g=>{g.forEach(e=>{e.audioPlayer[this.data.interaction]()})}))}disposeDelay(){clearTimeout(this.timeoutId),delete this.timeoutId}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},G2=class{constructor(A,g,e,I,i){if(this.data=g,this.shared=I,this.condition=i,g.interaction==="play")this.interaction=new EQ(A,g,e,I);else if(g.interaction==="pause"||g.interaction==="stop")this.interaction=new OS(g);else throw new Error("Missing property")}dispatchBasic(){if(li(this.shared,this.condition)===!1)return!1;this.interaction instanceof EQ?this.interaction.playByToggle():this.interaction.dispatch()}dispatchConditional(){if(li(this.shared,this.condition)===!1)return!1;this.interaction instanceof EQ?this.interaction.audioPlayer.play():this.interaction.dispatch()}dispatchGameControl(A){if(li(this.shared,this.condition)===!1)return!1;this.interaction instanceof EQ&&(A==="start"?this.interaction.audioPlayer.play():this.interaction.audioPlayer.stop())}dispose(){this.interaction.dispose()}},m2=class{constructor(A,g,e,I){this.data=A,this.page=g,this.shared=e,this.condition=I,this.delay=0,this.emission=A.emission,A.delay!==void 0&&(this.delay=A.delay),this.particleSystem=this.page.scene.find(this.data.emitterObjectId)}toggleEmitting(){this.particleSystem.started&&!this.particleSystem.stopped?this.stop(this.delay):this.start(this.delay)}toggleFroze(){this.particleSystem.started&&!this.particleSystem.isFrozen?this.freeze(this.delay):this.unFreeze(this.delay)}start(A=0){if(A){this.delayTimerId=window.setTimeout(()=>{this.start(0),this.clearDelay()},A);return}this.particleSystem.start()}stop(A=0){if(A){this.delayTimerId=window.setTimeout(()=>{this.stop(0),this.clearDelay()},A);return}this.particleSystem.stop()}freeze(A=0){if(A){this.delayTimerId=window.setTimeout(()=>{this.freeze(0),this.clearDelay()},A);return}this.particleSystem.froze()}unFreeze(A=0){if(A){this.delayTimerId=window.setTimeout(()=>{this.unFreeze(0),this.clearDelay()},A);return}this.particleSystem.unFroze()}reset(A=0){if(A){this.delayTimerId=window.setTimeout(()=>{this.reset(0),this.clearDelay()},A);return}this.particleSystem.reset()}reverseFromCurrent(){switch(this.emission){case"emitToggle":this.toggleEmitting();break;case"pauseToggle":this.toggleFroze();break}}dispatchBasic(){if(li(this.shared,this.condition)===!1||!this.particleSystem)return!1;switch(this.emission){case"start":this.start(this.delay);break;case"emitToggle":this.toggleEmitting();break;case"pause":this.freeze(this.delay);break;case"pauseToggle":this.toggleFroze();break;case"stop":this.stop(this.delay);break;case"reset":this.reset(this.delay);break;default:break}}dispatchConditional(){if(li(this.shared,this.condition)===!1||!this.particleSystem)return!1;switch(this.emission){case"start":this.start(this.delay);break;case"stop":this.stop(this.delay);break;case"reset":this.reset(this.delay);break;default:break}}dispatchGameControl(A){if(li(this.shared,this.condition)===!1||!this.particleSystem)return!1;A==="start"?this.start(this.delay):this.stop(this.delay)}dispose(){!this.particleSystem||(this.particleSystem.reset(),this.clearDelay())}clearDelay(){this.delayTimerId&&(clearTimeout(this.delayTimerId),delete this.delayTimerId)}},NBA="text/plain",FBA="us-ascii",yK=(A,g)=>g.some(e=>e instanceof RegExp?e.test(A):e===A),RBA=(A,{stripHash:g})=>{let e=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(A);if(!e)throw new Error(`Invalid URL: ${A}`);let{type:I,data:i,hash:t}=e.groups,C=I.split(";");t=g?"":t;let o=!1;C[C.length-1]==="base64"&&(C.pop(),o=!0);let a=(C.shift()||"").toLowerCase(),r=[...C.map(s=>{let[B,Q=""]=s.split("=").map(n=>n.trim());return B==="charset"&&(Q=Q.toLowerCase(),Q===FBA)?"":`${B}${Q?`=${Q}`:""}`}).filter(Boolean)];return o&&r.push("base64"),(r.length>0||a&&a!==NBA)&&r.unshift(a),`data:${r.join(";")},${o?i.trim():i}${t?`#${t}`:""}`};function vBA(A,g){if(g={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...g},A=A.trim(),/^data:/i.test(A))return RBA(A,g);if(/^view-source:/i.test(A))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let e=A.startsWith("//");!e&&/^\.*\//.test(A)||(A=A.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,g.defaultProtocol));let I=new URL(A);if(g.forceHttp&&g.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(g.forceHttp&&I.protocol==="https:"&&(I.protocol="http:"),g.forceHttps&&I.protocol==="http:"&&(I.protocol="https:"),g.stripAuthentication&&(I.username="",I.password=""),g.stripHash?I.hash="":g.stripTextFragment&&(I.hash=I.hash.replace(/#?:~:text.*?$/i,"")),I.pathname){let t=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,C=0,o="";for(;;){let r=t.exec(I.pathname);if(!r)break;let s=r[0],B=r.index,Q=I.pathname.slice(C,B);o+=Q.replace(/\/{2,}/g,"/"),o+=s,C=B+s.length}let a=I.pathname.slice(C,I.pathname.length);o+=a.replace(/\/{2,}/g,"/"),I.pathname=o}if(I.pathname)try{I.pathname=decodeURI(I.pathname)}catch{}if(g.removeDirectoryIndex===!0&&(g.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(g.removeDirectoryIndex)&&g.removeDirectoryIndex.length>0){let t=I.pathname.split("/"),C=t[t.length-1];yK(C,g.removeDirectoryIndex)&&(t=t.slice(0,-1),I.pathname=t.slice(1).join("/")+"/")}if(I.hostname&&(I.hostname=I.hostname.replace(/\.$/,""),g.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(I.hostname)&&(I.hostname=I.hostname.replace(/^www\./,""))),Array.isArray(g.removeQueryParameters))for(let t of[...I.searchParams.keys()])yK(t,g.removeQueryParameters)&&I.searchParams.delete(t);if(g.removeQueryParameters===!0&&(I.search=""),g.sortQueryParameters){I.searchParams.sort();try{I.search=decodeURIComponent(I.search)}catch{}}g.removeTrailingSlash&&(I.pathname=I.pathname.replace(/\/$/,""));let i=A;return A=I.toString(),!g.removeSingleSlash&&I.pathname==="/"&&!i.endsWith("/")&&I.hash===""&&(A=A.replace(/\/$/,"")),(g.removeTrailingSlash||I.pathname==="/")&&I.hash===""&&g.removeSingleSlash&&(A=A.replace(/\/$/,"")),e&&!g.normalizeProtocol&&(A=A.replace(/^http:\/\//,"//")),g.stripProtocol&&(A=A.replace(/^(?:https?:)?\/\//,"")),A}var KBA=class{constructor({url:A,context:g},e,I,i){if(this.controlsManager=e,this.shared=I,this.condition=i,!A)throw new Error("Missing property");this.url=A.startsWith("mailto:")?A:vBA(A,{removeTrailingSlash:!1,removeSingleSlash:!1,stripWWW:!1}),this.context=g??"tab"}dispatch(){if(li(this.shared,this.condition)===!1)return!1;Nc?window.location.assign(this.url):(this.context==="tab"||Oq&&this.context==="none"?window.open(this.url,"_blank"):this.context==="window"?window.open(this.url,"_blank",`width=${window.innerWidth}, height=${window.innerHeight}`):window.open(this.url,"_parent"),this.controlsManager.orbitControls?.onPointerUp(ye[0]),bgA())}},M2=class{constructor(A,g,e,I,i){this.data=A,this.page=g,this.controlsManager=e,this.shared=I,this.condition=i,this.timeoutIdQueue=[],this.dispatchInner=()=>{this.objects.forEach(this.destroyCallback)},this.destroyCallback=t=>{this.timeoutIdQueue.shift();let C=this.page.scene.find(t);if(C===void 0)return;let o=this.controlsManager.sharedGameControlGlobals.rapierWorld,a=o?C.dataPatched.physics?.fusedBody:!0;if(C.cloner){for(let r of C.cloner.children)a?(r.playModeVisible=!1,r.rigidBody&&C.dataPatched.physics?.rigidBody==="positioned"&&(this.controlsManager.sharedGameControlGlobals.colliderToEntity.delete(r.rigidBody.collider(0).handle),o.removeRigidBody(r.rigidBody),r.rigidBody=void 0),r.bvhGeometry&&(r.bvhGeometry=void 0)):this.clone===void 0||this.clone===r?(r.playModeVisible=!1,r.rigidBody&&(this.controlsManager.sharedGameControlGlobals.colliderToEntity.delete(r.rigidBody.collider(0).handle),o.removeRigidBody(r.rigidBody),r.rigidBody=void 0)):r.playModeVisible===void 0&&(r.playModeVisible=!0);(a||this.clone===void 0||this.clone===!1)&&(C.visible=!1,C.rigidBody&&(this.controlsManager.sharedGameControlGlobals.colliderToEntity.delete(C.rigidBody.collider(0).handle),o.removeRigidBody(C.rigidBody),C.rigidBody=void 0),C.bvhGeometry&&(C.bvhGeometry=void 0))}else C.rigidBody&&(this.controlsManager.sharedGameControlGlobals.colliderToEntity.delete(C.rigidBody.collider(0).handle),o.removeRigidBody(C.rigidBody),C.rigidBody=void 0),C.bvhGeometry&&(C.bvhGeometry=void 0),C.visible=!1;o===void 0?this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim=this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.filter(r=>r.bvhGeometry!==void 0):this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim=this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.filter(r=>r.rigidBody!==void 0),C.destroyedInAction=!0,this.controlsManager.requestRender()},this.objects=[...A.objects]}dispatch(A){if(li(this.shared,this.condition)===!1)return!1;this.clone=A,this.data.delay?this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,this.data.delay*1e3)):this.dispatchInner()}dispatchFromStart(){if(li(this.shared,this.condition)===!1)return!1;this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,this.data.delay*1e3))}dispose(){this.timeoutIdQueue.forEach(A=>window.clearTimeout(A))}},k2=class{constructor(A,g,e,I,i){this.data=A,this.page=g,this.shared=e,this.eventManager=I,this.condition=i,this.shared=e}dispatch(){if(li(this.shared,this.condition)===!1)return!1;clearTimeout(this.timeoutId),delete this.timeoutId,this.timeoutId=window.setTimeout(()=>{this.shared.reset(this.shared.data,!0),Nm(this.page,this.shared,!0),this.eventManager.reset(),this.eventManager.controlsManager.gameControl?.reset(!0),this.page.switchToPlayCamera(),this.eventManager.controlsManager.requestRender(),delete this.timeoutId},(this.data.delay??0)*1e3)}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},U2={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,timelineChangeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0,rewind:!0},pm={duration:1e3,delay:0,endDelay:0,startOnceDelay:0,pingPongDelayCorrection:0,pingPongEndDelayCorrection:0,easing:"easeOutElastic(1, .5)",round:0},JBA=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],cp={CSS:{},springs:{}};function Ea(A,g,e){return Math.min(Math.max(A,g),e)}function Zl(A,g){return A.indexOf(g)>-1}function R0(A,g){return A.apply(null,g)}var fe={arr:function(A){return Array.isArray(A)},obj:function(A){return Zl(Object.prototype.toString.call(A),"Object")},pth:function(A){return fe.obj(A)&&A.hasOwnProperty("totalLength")},svg:function(A){return A instanceof SVGElement},inp:function(A){return A instanceof HTMLInputElement},dom:function(A){return!("isNode"in A)&&(A.nodeType||fe.svg(A))},str:function(A){return typeof A=="string"},fnc:function(A){return typeof A=="function"},und:function(A){return typeof A>"u"},hex:function(A){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(A)},rgb:function(A){return/^rgb/.test(A)},hsl:function(A){return/^hsl/.test(A)},col:function(A){return fe.hex(A)||fe.rgb(A)||fe.hsl(A)},key:function(A){return!U2.hasOwnProperty(A)&&!pm.hasOwnProperty(A)&&A!=="targets"&&A!=="keyframes"}};function N2(A){var g=/\(([^)]+)\)/.exec(A);return g?g[1].split(",").map(function(e){return parseFloat(e)}):[]}function F2(A,g){var e=N2(A),I=Ea(fe.und(e[0])?1:e[0],.1,100),i=Ea(fe.und(e[1])?100:e[1],.1,100),t=Ea(fe.und(e[2])?10:e[2],.1,100),C=Ea(fe.und(e[3])?0:e[3],.1,100),o=Math.sqrt(i/I),a=t/(2*Math.sqrt(i*I)),r=a<1?o*Math.sqrt(1-a*a):0,s=1,B=a<1?(a*o+-C)/r:-C+o;function Q(E){var l=g?g*E/1e3:E;return a<1?l=Math.exp(-l*a*o)*(s*Math.cos(r*l)+B*Math.sin(r*l)):l=(s+B*l)*Math.exp(-l*o),E===0||E===1?E:1-l}function n(){var E=cp.springs[A];if(E)return E;for(var l=1/6,h=0,u=0;;)if(h+=l,Q(h)===1){if(u++,u>=16)break}else u=0;var D=h*l*1e3;return cp.springs[A]=D,D}return g?Q:n}function qBA(A){return A===void 0&&(A=10),function(g){return Math.ceil(Ea(g,1e-6,1)*A)*(1/A)}}var bBA=function(){var A=11,g=1/(A-1);function e(s,B){return 1-3*B+3*s}function I(s,B){return 3*B-6*s}function i(s){return 3*s}function t(s,B,Q){return((e(B,Q)*s+I(B,Q))*s+i(B))*s}function C(s,B,Q){return 3*e(B,Q)*s*s+2*I(B,Q)*s+i(B)}function o(s,B,Q,n,E){var l,h,u=0;do h=B+(Q-B)/2,l=t(h,n,E)-s,l>0?Q=h:B=h;while(Math.abs(l)>1e-7&&++u<10);return h}function a(s,B,Q,n){for(var E=0;E<4;++E){var l=C(B,Q,n);if(l===0)return B;var h=t(B,Q,n)-s;B-=h/l}return B}function r(s,B,Q,n){if(!(0<=s&&s<=1&&0<=Q&&Q<=1))return;var E=new Float32Array(A);if(s!==B||Q!==n)for(var l=0;l<A;++l)E[l]=t(l*g,s,Q);function h(u){for(var D=0,p=1,w=A-1;p!==w&&E[p]<=u;++p)D+=g;--p;var k=(u-E[p])/(E[p+1]-E[p]),U=D+k*g,N=C(U,s,Q);return N>=.001?a(u,U,s,Q):N===0?U:o(u,D,D+g,s,Q)}return function(u){return s===B&&Q===n||u===0||u===1?u:t(h(u),B,n)}}return r}(),R2=function(){var A={linear:function(){return function(I){return I}}},g={Sine:function(){return function(I){return 1-Math.cos(I*Math.PI/2)}},Circ:function(){return function(I){return 1-Math.sqrt(1-I*I)}},Back:function(){return function(I){return I*I*(3*I-2)}},Bounce:function(){return function(I){for(var i,t=4;I<((i=Math.pow(2,--t))-1)/11;);return 1/Math.pow(4,3-t)-7.5625*Math.pow((i*3-2)/22-I,2)}},Elastic:function(I,i){I===void 0&&(I=1),i===void 0&&(i=.5);var t=Ea(I,1,10),C=Ea(i,.1,2);return function(o){return o===0||o===1?o:-t*Math.pow(2,10*(o-1))*Math.sin((o-1-C/(Math.PI*2)*Math.asin(1/t))*(Math.PI*2)/C)}}},e=["Quad","Cubic","Quart","Quint","Expo"];return e.forEach(function(I,i){g[I]=function(){return function(t){return Math.pow(t,i+2)}}}),Object.keys(g).forEach(function(I){var i=g[I];A["easeIn"+I]=i,A["easeOut"+I]=function(t,C){return function(o){return 1-i(t,C)(1-o)}},A["easeInOut"+I]=function(t,C){return function(o){return o<.5?i(t,C)(o*2)/2:1-i(t,C)(o*-2+2)/2}}}),A}();function ym(A,g){if(fe.fnc(A))return A;var e=A.split("(")[0],I=R2[e],i=N2(A);switch(e){case"spring":return F2(A,g);case"cubicBezier":return R0(bBA,i);case"steps":return R0(qBA,i);default:return R0(I,i)}}function v2(A){try{var g=document.querySelectorAll(A);return g}catch{return}}function _p(A,g){for(var e=A.length,I=arguments.length>=2?arguments[1]:void 0,i=[],t=0;t<e;t++)if(t in A){var C=A[t];g.call(I,C,t,A)&&i.push(C)}return i}function Pp(A){return A.reduce(function(g,e){return g.concat(fe.arr(e)?Pp(e):e)},[])}function wK(A){return fe.arr(A)?A:(fe.str(A)&&(A=v2(A)||A),A instanceof NodeList||A instanceof HTMLCollection?[].slice.call(A):[A])}function wm(A,g){return A.some(function(e){return e===g})}function fm(A){var g={};for(var e in A)g[e]=A[e];return g}function _S(A,g){var e=fm(A);for(var I in A)e[I]=g.hasOwnProperty(I)?g[I]:A[I];return e}function jp(A,g){var e=fm(A);for(var I in g)e[I]=fe.und(A[I])?g[I]:A[I];return e}function LBA(A){var g=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(A);return g?"rgba("+g[1]+",1)":A}function xBA(A){var g=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,e=A.replace(g,function(o,a,r,s){return a+a+r+r+s+s}),I=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e),i=parseInt(I[1],16),t=parseInt(I[2],16),C=parseInt(I[3],16);return"rgba("+i+","+t+","+C+",1)"}function YBA(A){var g=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(A)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(A),e=parseInt(g[1],10)/360,I=parseInt(g[2],10)/100,i=parseInt(g[3],10)/100,t=g[4]||1;function C(Q,n,E){return E<0&&(E+=1),E>1&&(E-=1),E<1/6?Q+(n-Q)*6*E:E<1/2?n:E<2/3?Q+(n-Q)*(2/3-E)*6:Q}var o,a,r;if(I==0)o=a=r=i;else{var s=i<.5?i*(1+I):i+I-i*I,B=2*i-s;o=C(B,s,e+1/3),a=C(B,s,e),r=C(B,s,e-1/3)}return"rgba("+o*255+","+a*255+","+r*255+","+t+")"}function HBA(A){if(fe.rgb(A))return LBA(A);if(fe.hex(A))return xBA(A);if(fe.hsl(A))return YBA(A)}function Qs(A){var g=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(A);if(g)return g[1]}function TBA(A){if(Zl(A,"translate")||A==="perspective")return"px";if(Zl(A,"rotate")||Zl(A,"skew"))return"deg"}function PS(A,g){return fe.fnc(A)?A(g.target,g.id,g.total):A}function er(A,g){return A.getAttribute(g)}function Sm(A,g,e){var I=Qs(g);if(wm([e,"deg","rad","turn"],I))return g;var i=cp.CSS[g+e];if(!fe.und(i))return i;var t=100,C=document.createElement(A.tagName),o=A.parentNode&&A.parentNode!==document?A.parentNode:document.body;o.appendChild(C),C.style.position="absolute",C.style.width=t+e;var a=t/C.offsetWidth;o.removeChild(C);var r=a*parseFloat(g);return cp.CSS[g+e]=r,r}function K2(A,g,e){if(g in A.style){var I=g.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),i=A.style[g]||getComputedStyle(A).getPropertyValue(I)||"0";return e?Sm(A,i,e):i}}function Gm(A,g){if(fe.dom(A)&&!fe.inp(A)&&(er(A,g)||fe.svg(A)&&A[g]))return"attribute";if(fe.dom(A)&&wm(JBA,g))return"transform";if(fe.dom(A)&&g!=="transform"&&K2(A,g))return"css";if(A[g]!=null)return"object"}function J2(A){if(fe.dom(A)){for(var g=A.style.transform||"",e=/(\w+)\(([^)]*)\)/g,I=new Map,i;i=e.exec(g);)I.set(i[1],i[2]);return I}}function OBA(A,g,e,I){var i=Zl(g,"scale")?1:0+TBA(g),t=J2(A).get(g)||i;return e&&(e.transforms.list.set(g,t),e.transforms.last=g),I?Sm(A,t,I):t}function mm(A,g,e,I){switch(Gm(A,g)){case"transform":return OBA(A,g,I,e);case"css":return K2(A,g,e);case"attribute":return er(A,g);default:return A[g]||0}}function Mm(A,g){var e=/^(\*=|\+=|-=)/.exec(A);if(!e)return A;var I=Qs(A)||0,i=parseFloat(g),t=parseFloat(A.replace(e[0],""));switch(e[0][0]){case"+":return i+t+I;case"-":return i-t+I;case"*":return i*t+I}}function q2(A,g){if(fe.col(A))return HBA(A);if(/\s/g.test(A))return A;var e=Qs(A),I=e?A.substr(0,A.length-e.length):A;return g?I+g:I}function km(A,g){return Math.sqrt(Math.pow(g.x-A.x,2)+Math.pow(g.y-A.y,2))}function _BA(A){return Math.PI*2*er(A,"r")}function PBA(A){return er(A,"width")*2+er(A,"height")*2}function jBA(A){return km({x:er(A,"x1"),y:er(A,"y1")},{x:er(A,"x2"),y:er(A,"y2")})}function b2(A){for(var g=A.points,e=0,I,i=0;i<g.numberOfItems;i++){var t=g.getItem(i);i>0&&(e+=km(I,t)),I=t}return e}function WBA(A){var g=A.points;return b2(A)+km(g.getItem(g.numberOfItems-1),g.getItem(0))}function L2(A){if(A.getTotalLength)return A.getTotalLength();switch(A.tagName.toLowerCase()){case"circle":return _BA(A);case"rect":return PBA(A);case"line":return jBA(A);case"polyline":return b2(A);case"polygon":return WBA(A)}}function zBA(A){var g=L2(A);return A.setAttribute("stroke-dasharray",g),g}function VBA(A){for(var g=A.parentNode;fe.svg(g)&&fe.svg(g.parentNode);)g=g.parentNode;return g}function x2(A,g){var e=g||{},I=e.el||VBA(A),i=I.getBoundingClientRect(),t=er(I,"viewBox"),C=i.width,o=i.height,a=e.viewBox||(t?t.split(" "):[0,0,C,o]);return{el:I,viewBox:a,x:a[0]/1,y:a[1]/1,w:C/a[2],h:o/a[3]}}function ZBA(A,g){var e=fe.str(A)?v2(A)[0]:A,I=g||100;return function(i){return{property:i,el:e,svg:x2(e),totalLength:L2(e)*(I/100)}}}function XBA(A,g){function e(o){o===void 0&&(o=0);var a=g+o>=1?g+o:0;return A.el.getPointAtLength(a)}var I=x2(A.el,A.svg),i=e(),t=e(-1),C=e(1);switch(A.property){case"x":return(i.x-I.x)*I.w;case"y":return(i.y-I.y)*I.h;case"angle":return Math.atan2(C.y-t.y,C.x-t.x)*180/Math.PI}}function fK(A,g){var e=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,I=q2(fe.pth(A)?A.totalLength:A,g)+"";return{original:I,numbers:I.match(e)?I.match(e).map(Number):[0],strings:fe.str(A)||g?I.split(e):[]}}function Y2(A){var g=A?Pp(fe.arr(A)?A.map(wK):wK(A)):[];return _p(g,function(e,I,i){return i.indexOf(e)===I})}function H2(A){var g=Y2(A);return g.map(function(e,I){return{target:e,id:I,total:g.length,transforms:{list:J2(e)}}})}function $BA(A,g){var e=fm(g);if(/^spring/.test(e.easing)&&(e.duration=F2(e.easing)),fe.arr(A)){var I=A.length,i=I===2&&!fe.obj(A[0]);i?A={value:A}:fe.fnc(g.duration)||(e.duration=g.duration/I)}var t=fe.arr(A)?A:[A];return t.map(function(C,o){var a=fe.obj(C)&&!fe.pth(C)?C:{value:C};return fe.und(a.delay)&&(a.delay=o?0:g.delay),fe.und(a.endDelay)&&(a.endDelay=o===t.length-1?g.endDelay:0),a}).map(function(C){return jp(C,e)})}function AQA(A){for(var g=_p(Pp(A.map(function(t){return Object.keys(t)})),function(t){return fe.key(t)}).reduce(function(t,C){return t.indexOf(C)<0&&t.push(C),t},[]),e={},I=function(t){var C=g[t];e[C]=A.map(function(o){var a={};for(var r in o)fe.key(r)?r==C&&(a.value=o[r]):a[r]=o[r];return a})},i=0;i<g.length;i++)I(i);return e}function gQA(A,g){var e=[],I=g.keyframes;I&&(g=jp(AQA(I),g));for(var i in g)fe.key(i)&&e.push({name:i,tweens:$BA(g[i],A)});return e}function eQA(A,g){var e={};for(var I in A){var i=PS(A[I],g);fe.arr(i)&&(i=i.map(function(t){return PS(t,g)}),i.length===1&&(i=i[0])),e[I]=i}return e.duration=parseFloat(e.duration),e.delay=parseFloat(e.delay),e}function IQA(A,g){var e;return A.tweens.map(function(I){var i=eQA(I,g),t=i.value,C=fe.arr(t)?t[1]:t,o=Qs(C),a=mm(g.target,A.name,o,g),r=e?e.to.original:a,s=fe.arr(t)?t[0]:r,B=Qs(s)||Qs(a),Q=o||B;return fe.und(C)&&(C=r),i.from=fK(s,Q),i.to=fK(Mm(C,s),Q),i.start=e?e.end:0,i.end=i.start+i.delay+i.duration+i.endDelay,i.easing=ym(i.easing,i.duration),i.isPath=fe.pth(t),i.isColor=fe.col(i.from.original),i.isColor&&(i.round=1),e=i,i})}var T2={css:function(A,g,e){return A.style[g]=e},attribute:function(A,g,e){return A.setAttribute(g,e)},object:function(A,g,e){return A[g]=e},transform:function(A,g,e,I,i){if(I.list.set(g,e),g===I.last||i){var t="";I.list.forEach(function(C,o){t+=o+"("+C+") "}),A.style.transform=t}}};function O2(A,g){var e=H2(A);e.forEach(function(I){for(var i in g){var t=PS(g[i],I),C=I.target,o=Qs(t),a=mm(C,i,o,I),r=o||Qs(a),s=Mm(q2(t,r),a),B=Gm(C,i);T2[B](C,i,s,I.transforms,!0)}})}function iQA(A,g){var e=Gm(A.target,g.name);if(e){var I=IQA(g,A),i=I[I.length-1];return{type:e,property:g.name,animatable:A,tweens:I,duration:i.end,delay:I[0].delay,endDelay:i.endDelay}}}function tQA(A,g){return _p(Pp(A.map(function(e){return g.map(function(I){return iQA(e,I)})})),function(e){return!fe.und(e)})}function _2(A,g){var e=A.length,I=function(t){return t.timelineOffset?t.timelineOffset:0},i={};return i.duration=e?Math.max.apply(Math,A.map(function(t){let C=t.startOnceDelay??0,o=t.pingPongDelayCorrection??0,a=t.pingPongEndDelayCorrection??0;return I(t)+C+o+a+t.duration*(t.loop??1)})):g.duration,i.delay=e?Math.min.apply(Math,A.map(function(t){let C=t.startOnceDelay??0,o=t.pingPongDelayCorrection??0;return I(t)+C+o+t.delay})):g.delay,i.endDelay=e?i.duration-Math.max.apply(Math,A.map(function(t){let C=t.startOnceDelay??0,o=t.pingPongDelayCorrection??0,a=t.pingPongEndDelayCorrection??0;return I(t)+C+o+t.duration*(t.loop??1)-t.endDelay-a})):g.endDelay,i}var SK=0;function CQA(A){var g=_S(U2,A),e=_S(pm,A),I=gQA(e,A),i=H2(A.targets),t=tQA(i,I),C=_2(t,e),o=SK;return SK++,jp(g,{id:o,children:[],animatables:i,animations:t,duration:C.duration,delay:C.delay,endDelay:C.endDelay,startOnceDelay:e.startOnceDelay,pingPongDelayCorrection:e.pingPongDelayCorrection,pingPongEndDelayCorrection:e.pingPongEndDelayCorrection})}var qo=[],GK=[],cD,oQA=function(){function A(){cD=requestAnimationFrame(g)}function g(e){var I=qo.length;if(I){for(var i=0;i<I;){var t=qo[i];t.paused?(qo.splice(i,1),I-=1):(t.tick(e),i++)}A()}else cD=cancelAnimationFrame(cD)}return A}();function aQA(A){document.hidden?(qo.forEach(function(g){return g.pause(A.timeStamp)}),GK=qo.slice(0),Pi.running=qo=[]):GK.forEach(function(g){return g.play(A.timeStamp)})}typeof document<"u"&&document.addEventListener("visibilitychange",aQA);function Pi(A){A===void 0&&(A={});var g=0,e=0,I=0,i,t,C=0,o=null;function a(N){var G=window.Promise&&new Promise(function(R){return o=R});return N.finished=G,G}var r=CQA(A),s=a(r);function B(){var N=r.direction;N!=="alternate"&&(r.direction=N!=="normal"?"normal":"reverse"),r.reversed=!r.reversed,t.forEach(function(G){(G.loop===1||G.loop%2===0)&&(G.reversed=r.reversed)})}function Q(){r.direction="normal",r.reversed=!1,t.forEach(function(N){return N.reversed=!1})}function n(N){return r.reversed?r.duration-N:N}function E(){g=0,e=n(r.currentTime)*(1/Pi.speed)}function l(N,G,R=!1){G&&(r.reversed?G.seek(G.duration*G.loop-(N-G.timelineOffset-G.pingPongDelayCorrection),R):G.seek(N-G.timelineOffset-G.startOnceDelay-G.pingPongDelayCorrection,R))}function h(N,G=!1){if(r.reversed)for(var R=C;R--;)l(N,t[R],G);else for(var J=0;J<C;J++)l(N,t[J],G)}function u(N){var G=0,R=r.animations,J=R.length;for(r.direction!=="alternate"&&r.parent?.direction==="alternate"?r.parent?.rewind===!1&&r.reversePlayback===!0&&r.rewind===!1&&(r.parent?.reversed&&r.direction==="alternate"?N=r.duration-r.delay+r.endDelay-N:N=r.duration+r.delay-r.endDelay-N):k(!1,r.parent?.rewind,r.rewind,r.parent?.reversePlayback,r.reversePlayback)&&(r.parent?.reversed&&r.direction==="alternate"?N=r.duration-r.delay+r.endDelay-N:N=r.duration+r.delay-r.endDelay-N);G<J;){var q=R[G],T=q.animatable,P=q.tweens,H=P.length-1,eA=P[H];H&&(eA=_p(P,function(YA){return N<YA.end})[0]||eA);let LA;r.parent?.reversed&&r.direction==="alternate"?LA=Ea(N-eA.start-eA.endDelay,0,eA.duration)/eA.duration:LA=Ea(N-eA.start-eA.delay,0,eA.duration)/eA.duration;for(var rA=isNaN(LA)?1:eA.easing(LA),BA=eA.to.strings,aA=eA.round,yA=[],SA=eA.to.numbers.length,pA=void 0,wA=0;wA<SA;wA++){var RA=void 0;let YA,sg;r.direction!=="alternate"?r.parent?.rewind===!1&&r.reversePlayback===!0&&r.rewind===!1?(YA=eA.to.numbers[wA],sg=eA.from.numbers[wA]||0):(sg=eA.to.numbers[wA],YA=eA.from.numbers[wA]||0):k(!0,r.parent?.rewind,r.rewind,r.parent?.reversePlayback,r.reversePlayback)?(YA=eA.to.numbers[wA],sg=eA.from.numbers[wA]||0):(sg=eA.to.numbers[wA],YA=eA.from.numbers[wA]||0),eA.isPath?RA=XBA(eA.value,rA*sg):RA=YA+rA*(sg-YA),aA&&(eA.isColor&&wA>2||(RA=Math.round(RA*aA)/aA)),yA.push(RA)}var kA=BA.length;if(!kA)pA=yA[0];else{pA=BA[0];for(var UA=0;UA<kA;UA++){var GA=BA[UA],zA=BA[UA+1],KA=yA[UA];isNaN(KA)||(zA?pA+=KA+zA:pA+=KA+" ")}}T2[q.type](T.target,q.property,pA,T.transforms),q.currentValue=pA,G++}}function D(N){r[N]&&!r.passThrough&&r[N](r)}function p(){r.remaining&&r.remaining!==!0&&r.remaining--}let w={0:!1,1:!0,2:!1,3:!0,4:!1,5:!1,6:!1,7:!1,8:!1,9:!0,10:!0,11:!1,12:!1,13:!1,14:!0,15:!0,16:!1,17:!0,18:!0,19:!1,20:!1,21:!1,22:!0,23:!0,24:!1,25:!0,26:!1,27:!0,28:!1,29:!1,30:!1,31:!1};function k(N,G,R,J,q){return w[N<<4|G<<3|R<<2|J<<1|q]}function U(N,G=!1){var R=r.duration;let J=r.delay,q=R-r.endDelay;r.parent?.reversed&&r.direction==="alternate"&&(J=r.endDelay,q=R-r.delay);var T=n(N);if(r.progress=Ea(T/R*100,0,100),G||(r.reversePlayback=T<r.currentTime),C&&h(T,G),!r.began&&r.currentTime>=0&&(r.began=!0,D("begin")),!r.loopBegan&&r.currentTime>0&&(r.loopBegan=!0,D("loopBegin")),(r.reversed||T>=0)&&T<=J&&r.currentTime!==0&&(u(0),D("change")),(T>=q&&r.currentTime!==R+r.pingPongDelayCorrection||!R)&&(u(R),D("change")),T>J&&T<q?(r.changeBegan||(r.changeBegan=!0,r.changeCompleted=!1,D("changeBegin")),u(T),D("change")):r.changeBegan?(r.changeCompleted=!0,r.changeBegan=!1,D("change"),C&&D("timelineChangeComplete")):r.began&&T>q&&D("changeComplete"),r.currentTime=Ea(T,0,R+r.pingPongDelayCorrection),r.began&&D("update"),N>=R)if(p(),!r.remaining)r.paused=!0,r.completed||(r.completed=!0,D("loopComplete"),D("complete"),!r.passThrough&&"Promise"in window&&(o(),s=a(r)));else{C?g+=r.duration/Pi.speed:g+=r.duration;for(let P of t)P.setStartTime(0),P.remaining=P.loop;D("loopComplete"),r.loopBegan=!1,r.direction==="alternate"?B():C&&Q()}}return r.reset=function(){var N=r.direction;r.passThrough=!1,r.currentTime=0,r.progress=0,r.paused=!0,r.began=!1,r.loopBegan=!1,r.changeBegan=!1,r.completed=!1,r.changeCompleted=!1,r.reversePlayback=!1,r.reversed=N==="reverse",r.remaining=r.loop,t=r.children,C=t.length;for(var G=C;G--;)r.children[G].reset();u(r.reversed?r.duration:0)},r.setStartTime=function(N){g=N},r.set=function(N,G){return O2(N,G),r},r.tick=function(N){I=N,g||(g=I),U((I+(e-g))*Pi.speed)},r.seek=function(N,G=!1){U(N-g,G)},r.pause=function(N){r.paused=!0,C&&(i=N??performance.now())},r.play=function(N){!r.paused||(r.completed&&r.reset(),r.paused=!1,qo.push(r),C&&i!==void 0&&(g+=(N??performance.now())-i),cD||oQA())},r.reverse=function(){B(),r.completed=!r.reversed,E()},r.restart=function(){r.reset(),r.play()},r.reset(),r.autoplay&&r.play(),r}function mK(A,g){for(var e=g.length;e--;)wm(A,g[e].animatable.target)&&g.splice(e,1)}function rQA(A){for(var g=Y2(A),e=qo.length;e--;){var I=qo[e],i=I.animations,t=I.children;mK(g,i);for(var C=t.length;C--;){var o=t[C],a=o.animations;mK(g,a),!a.length&&!o.children.length&&t.splice(C,1)}!i.length&&!t.length&&I.pause()}}function sQA(A,g){g===void 0&&(g={});var e=g.direction||"normal",I=g.easing?ym(g.easing):null,i=g.grid,t=g.axis,C=g.from||0,o=C==="first",a=C==="center",r=C==="last",s=fe.arr(A),B=parseFloat(s?A[0]:A),Q=s?parseFloat(A[1]):0,n=Qs(s?A[1]:A)||0,E=g.start||0+(s?B:0),l=[],h=0;return function(u,D,p){if(o&&(C=0),a&&(C=(p-1)/2),r&&(C=p-1),!l.length){for(var w=0;w<p;w++){if(!i)l.push(Math.abs(C-w));else{var k=a?(i[0]-1)/2:C%i[0],U=a?(i[1]-1)/2:Math.floor(C/i[0]),N=w%i[0],G=Math.floor(w/i[0]),R=k-N,J=U-G,q=Math.sqrt(R*R+J*J);t==="x"&&(q=-R),t==="y"&&(q=-J),l.push(q)}h=Math.max.apply(Math,l)}I&&(l=l.map(function(P){return I(P/h)*h})),e==="reverse"&&(l=l.map(function(P){return t?P<0?P*-1:-P:Math.abs(h-P)}))}var T=s?(Q-B)/h:B;return E+T*(Math.round(l[D]*100)/100)+n}}function BQA(A){A===void 0&&(A={});var g=Pi(A);return g.duration=0,g.add=function(e,I){var i=qo.indexOf(g),t=g.children;i>-1&&qo.splice(i,1);function C(Q){Q.passThrough=!0}for(var o=0;o<t.length;o++)C(t[o]);var a=jp(e,_S(pm,A));a.targets=a.targets||A.targets;var r=g.duration;a.autoplay=!1,a.timelineOffset=fe.und(I)?r:Mm(I,r),C(g);var s=Pi(a);C(s),t.push(s),s.parent=g;var B=_2(t,A);return g.delay=B.delay,g.endDelay=B.endDelay,g.duration=B.duration,s.loop===!0&&(g.duration=1/0),g.seek(0),g.reset(),g.autoplay&&g.play(),g},g}Pi.version="3.2.0";Pi.speed=1;Pi.running=qo;Pi.remove=rQA;Pi.get=mm;Pi.set=O2;Pi.convertPx=Sm;Pi.path=ZBA;Pi.setDashoffset=zBA;Pi.stagger=sQA;Pi.timeline=BQA;Pi.easing=ym;Pi.penner=R2;Pi.random=function(A,g){return Math.floor(Math.random()*(g-A+1))+A};var P2=Pi,MK=new x,kK=new x,UK=new ke;function QQA(A,g,e,I){if(I===0)return e.copy(A);if(I===1)return e.copy(g);let i=A.w*g.w+A.x*g.x+A.y*g.y+A.z*g.z;if(i>=1)return e.copy(A);let t=1-i*i;if(t<=Number.EPSILON){let s=1-I;return e.w=s*A.w+I*g.w,e.x=s*A.x+I*g.x,e.y=s*A.y+I*g.y,e.z=s*A.z+I*g.z,e.normalize(),e}let C=Math.sqrt(t),o=Math.atan2(C,i),a=Math.sin((1-I)*o)/C,r=Math.sin(I*o)/C;return e.w=A.w*a+g.w*r,e.x=A.x*a+g.x*r,e.y=A.y*a+g.y*r,e.z=A.z*a+g.z*r,e}function $t(A,g,e,I,i,t){let C=e[A]!==void 0?e[A]:void 0,o=I[A];if(o==null)return;let a=C!=null?typeof C=="string"?Number(i.getVariable(C)??0):C:g[A],r=typeof o=="string"?Number(i.getVariable(o)??0):o;if(a!==r)return{update:s=>{let B=Xg.lerp(a,r,s);t?g[A]=Math.trunc(B):g[A]=B},start:()=>{g[A]=a},end:()=>{g[A]=r}}}function Um(A,g,e,I,i,t){let C=e[A]?e[A]:void 0,o=I[A];if(!o)return;let a=g[A],r=[...C??a].map(B=>typeof B=="string"?Number(i.getVariable(B)??0):B),s=[...o].map(B=>typeof B=="string"?Number(i.getVariable(B)??0):B);if(!(r.length!==s.length||FG(r,s)))return{update:B=>{r.forEach((Q,n)=>{let E=Xg.lerp(Q,s[n],B);g[A][n]=t?Math.trunc(E):E})},start:()=>{Object.assign(g[A],r)},end:()=>{Object.assign(g[A],s)}}}function dp(A,g,e){return g.forEach((I,i)=>{A.setComponent(i,typeof I=="string"?Number(e.getVariable(I)??0):I)}),A}function NK(A,g,e,I,i){let t=e[A]?e[A]:void 0,C=I[A];if(!C)return;let o=g[A],a=t?dp(new x,t,i):o.clone(),r=dp(new x,C,i);if(!a.equals(r))return{update:s=>{o.lerpVectors(a,r,s)},start:()=>{o.copy(a)},end:()=>{o.copy(r)}}}function FK(A,g,e){return g.forEach((I,i)=>{A.setComponent(i,typeof I=="string"?Number(e.getVariable(I)??0):I)}),A}function up(A,g,e,I,i){let t=e[A]?e[A]:void 0,C=I[A];if(!C)return;let o=g[A],a=!(o instanceof mA),r=o instanceof mA?o:new mA().fromArray(o),s=t?FK(new mA,t,i):r.clone(),B=FK(new mA,C,i);if(!s.equals(B))return{update:Q=>{r.lerpVectors(s,B,Q),a&&(g[A]=r.toArray())},start:()=>{r.copy(s),a&&(g[A]=r.toArray())},end:()=>{r.copy(B),a&&(g[A]=r.toArray())}}}function nQA(A,g,e,I){let i=e[A]?e[A]:void 0,t=I[A];if(!t)return;let C=g[A],o=i?new wg().fromArray(i):C.clone(),a=new x,r=new ke,s=new x;o.decompose(a,r,s);let B=new wg().fromArray(t),Q=new x,n=new ke,E=new x;if(B.decompose(Q,n,E),!o.equals(B))return{update:l=>{UK.slerpQuaternions(r,n,l),MK.lerpVectors(a,Q,l),kK.lerpVectors(s,E,l),C.compose(MK,UK,kK)},start:()=>{C.compose(a,r,s)},end:()=>{C.compose(Q,n,E)}}}function EQA(A,g,e,I,i){let t=e[A]?e[A]:void 0,C=I[A];if(!C)return;let o=g[A],a=t?typeof t=="string"?i.getColor(t).clone():new de().setRGB(t.r,t.g,t.b):o.clone(),r=typeof C=="string"?i.getColor(C).clone():new de().setRGB(C.r,C.g,C.b);if(a.equals(r))return;let s=o.clone();return g[A]=s,{update:B=>{s.lerpColors(a,r,B)},start:()=>{s.copy(a)},end:()=>{s.copy(r)}}}function $u(A,g,e,I,i){let t=e[A]?e[A]:void 0,C=I[A];if(!C)return;let o=g[A],a=new iC(o.r,o.g,o.b,o.a),r=t?typeof t=="string"?i.getColor(t).clone():new iC(t.r,t.g,t.b,t.a):a.clone(),s=typeof C=="string"?i.getColor(C).clone():new iC(C.r,C.g,C.b,C.a);if(!r.equals(s))return{update:B=>{a.lerpColors(r,s,B);let Q=Xg.lerp(r.a,s.a,B);a.a=Q,g[A]={r:a.r,g:a.g,b:a.b,a:a.a}},start:()=>{a.copy(r)},end:()=>{a.copy(s)}}}function GB(A,g,e,I,i){if(typeof g[A]=="number")return $t(A,g,e??{},I,i);if(Array.isArray(g[A]))return Um(A,g,e??{},I,i)}function hQA(A,g,e,I){let i=[],t=A.cameraType==="OrthographicCamera"?g.orthographic?.zoom:g.perspective?.zoom,C=A.cameraType==="OrthographicCamera"?e.orthographic?.zoom:e.perspective?.zoom;if(C!==void 0){let o=t??A.zoom,a=C;o!==a&&i.push({update:r=>{A.zoom=Xg.lerp(o,a,r),A.updateProjectionMatrix()},start:()=>{A.zoom=o,A.updateProjectionMatrix()},end:()=>{A.zoom=a,A.updateProjectionMatrix()}})}if(e.targetOffset!==void 0){let o=$t("targetOffset",A,g,e,I);o&&i.push(o)}return i}function lQA(A,g,e,I){if(e.scaleBaked===void 0)return;let i=(g.scaleBaked??A.data.geometry.scaleBaked).map(o=>typeof o=="string"?Number(I.getVariable(o)??0):o),t=e.scaleBaked.map(o=>typeof o=="string"?Number(I.getVariable(o)??0):o);if(DQ.isEqual(i,t))return;let C=[];return C.push({update:o=>{A.updateGeometryInteractions({scaleBaked:[Xg.lerp(i[0],t[0],o),Xg.lerp(i[1],t[1],o),Xg.lerp(i[2],t[2],o)]},I),A.invalidateDownstreamBooleanData(),A.refreshAttachedClonersInteractions()},start:()=>{A.updateGeometryInteractions({scaleBaked:i},I),A.invalidateDownstreamBooleanData(),A.refreshAttachedClonersInteractions()},end:()=>{A.updateGeometryInteractions({scaleBaked:t},I),A.invalidateDownstreamBooleanData(),A.refreshAttachedClonersInteractions()}}),C}function cQA(A,g,e,I){if(!e.extrusion)return;let i=A.extrusion,t=g.extrusion??{},C=e.extrusion,o=[];return Mb.forEach(a=>{let r=GB(a,i,t,C,I);r&&o.push(r)}),o}function dQA(A,g,e,I){let i=[];if(!("geometry"in e))return i;let t=A.geometry.userData.parameters,C="geometry"in g?g.geometry:{},o=e.geometry;if(A instanceof pc){let a=lQA(A,C,o,I);a&&i.push(...a)}else{let a={};if(Object.assign(a,ss(t,aR)),aR.forEach(r=>{let s=GB(r,a,C,o,I);s&&i.push(s)}),A instanceof hm){Object.assign(a,{extrusion:{...t.extrusion}});let r=cQA(a,C,o,I);r&&i.push(...r)}i.length&&i.push({update:r=>{A.updateGeometryInteractions(a,I),A.updateGeometryGroupsIfNeeded(),A.refreshAttachedClonersInteractions()},start:r=>{A.updateGeometryInteractions(a,I),A.updateGeometryGroupsIfNeeded(),A.refreshAttachedClonersInteractions()},end:r=>{A.updateGeometryInteractions(a,I),A.updateGeometryGroupsIfNeeded(),A.refreshAttachedClonersInteractions()}})}return i}function uQA(A,g,e,I){let i=[];if(e.intensity!==void 0){let t=$t("intensity",A,g,e,I);t&&i.push(t)}if(e.color!==void 0){let t=EQA("color",A,g,e,I);t&&i.push(t)}return i}function DQA(A,g,e,I){let i=[];if(Array.isArray(A.material)){if(!("materials"in e&&e.materials))return i;let t="materials"in g&&g.materials?g.materials:[],C=e.materials;A.material.forEach((o,a)=>{if(!C[a])return;let r=t[a]??{},s=C[a];typeof r=="string"||typeof s=="string"||i.push(...RK(o,r,s,I))})}else{if(!("material"in e&&e.material))return i;let t="material"in g&&g.material?g.material:{},C=e.material;if(typeof t=="string"||typeof C=="string")return i;i.push(...RK(A.material,t,C,I))}return i}function RK(A,g,e,I){let i=[],t=QE(e,I)||!!g.layers&&QE(g,I);i.push(kQA(A,t));for(let C of A.layers){let o=g.layers?.data(C.uuid),a=e.layers.data(C.uuid);if(!a||C.type!=="light"&&(!(C.visible??!0)||!(a.visible??!0)))continue;let r=C.getNames().filter(s=>!Sb.some(B=>s.includes(B)));for(let s of r)try{let B=C.getValue(s),Q;if(s==="colors")Q=mQA(C,o,a,s);else if(Array.isArray(B))s==="steps"&&(Q=GQA(C,o,a,s));else if(typeof B=="number")Q=pQA(C,o,a,s,I);else{if(typeof B=="boolean")continue;B instanceof mA?Q=yQA(C,o,a,s):B instanceof x?Q=wQA(C,o,a,s,I):B instanceof iC?Q=SQA(C,o,a,s,I):B instanceof de?Q=fQA(C,o,a,s,I):"isTexture"in B&&(Q=MQA(C,o,a,s))}Q&&(Array.isArray(Q)?i.push(...Q):i.push(Q))}catch(B){console.error(`lerpMaterial: unexpected material layer for ${s}`,B)}}return i}function pQA(A,g,e,I,i){if(!A.hasValue(I)||!(I in e))return;let t=g?g[I]:A.getValue(I),C=e[I],o=typeof t=="string"?Number(i.getVariable(t)??0):t,a=typeof C=="string"?Number(i.getVariable(C)??0):C;if(o!==a)return{update:r=>{A.setValue(I,Xg.lerp(o,a,r))},start:()=>{A.setValue(I,o)},end:()=>{A.setValue(I,a)}}}function yQA(A,g,e,I){if(!A.hasValue(I)||!(I in e))return;let i=A.getValue(I),t=g?new mA().fromArray(g[I]):i.clone(),C=new mA().fromArray(e[I]);if(!t.equals(C))return{update:o=>{i.lerpVectors(t,C,o)},start:()=>{i.copy(t)},end:()=>{i.copy(C)}}}function wQA(A,g,e,I,i){if(!A.hasValue(I)||!(I in e))return;let t=A.getValue(I),C=g?g[I]:void 0,o=e[I],a=C?dp(new x,C,i):t.clone(),r=dp(new x,o,i);if(!a.equals(r))return{update:s=>{t.lerpVectors(a,r,s)},start:()=>{t.copy(a)},end:()=>{t.copy(r)}}}function fQA(A,g,e,I,i){if(!A.hasValue(I)||!(I in e))return;let t=g?g[I]:void 0,C=e[I],o=A.getValue(I),a=t?typeof t=="string"?i.getColor(t).clone():new de().setRGB(t.r,t.g,t.b):o.clone(),r=typeof C=="string"?i.getColor(C).clone():new de().setRGB(C.r,C.g,C.b);if(a.equals(r))return;let s=o.clone();return{update:B=>{A.getValue(I)!==s&&A.setValue(I,s),s.lerpColors(a,r,B)},start:()=>{s.copy(a)},end:()=>{s.copy(r)}}}function SQA(A,g,e,I,i){if(!A.hasValue(I)||!(I in e))return;let t=g?g[I]:void 0,C=e[I],o=A.getValue(I),a=t?typeof t=="string"?i.getColor(t).clone():new de().setRGB(t.r,t.g,t.b):o.clone(),r=typeof C=="string"?i.getColor(C).clone():new iC(C.r,C.g,C.b,C.a);if(a.equals(r))return;let s=o.clone();return{update:B=>{A.getValue(I)!==s&&A.setValue(I,s),s.lerpColors(a,r,B)},start:()=>{s.copy(a)},end:()=>{s.copy(r)}}}function GQA(A,g,e,I="steps"){if(!A.hasValue(I)||!(I in e))return;let i=[],t=A.getValue(I),C=g?g[I]:t,o=e[I];return FG(C,o)||i.push({update:a=>{let r=[...t];for(let s=0;s<t.length;++s){let B=C[s],Q=o[s];r[s]=Xg.lerp(B,Q,a)}A.setValue(I,r)},start:()=>{A.setValue(I,C)},end:()=>{A.setValue(I,o)}}),i.length?i:void 0}function mQA(A,g,e,I="colors"){if(!A.hasValue(I)||!(I in e))return;let i=[],t=A.getValue(I),C=g?g[I]:t.map(a=>a.toArray()),o=e[I];for(let a=0;a<t.length;++a){let r=[...C[a]],s=[...o[a]];jD.isEqual(r,s)||i.push({update:B=>{t[a].fromArray(jD.lerp(r,s,B))},start:()=>{t[a].fromArray(r)},end:()=>{t[a].fromArray(s)}})}return i.length?i:void 0}function MQA(A,g,e,I="texture"){if(!A.hasValue(I)||!(I in e))return;let i=A.getNode("rotation"),t=g?.[I]?.rotation??0,C=e[I]?.rotation??0;if(i&&t!==C)return{update:h=>{i.value=Xg.lerp(t,C,h)*Xg.DEG2RAD},start:()=>{i.value=t*Xg.DEG2RAD},end:()=>{i.value=C*Xg.DEG2RAD}};let o=A.getNode("mat");if(!o)return;let a=g?g[I]:o,r=e[I],s=[...a.repeat],B=[...a.offset],Q=[...r.repeat],n=[...r.offset],E=a.rotation??0,l=r.rotation??0;if(!os.isEqual(s,Q)||!os.isEqual(B,n)||E!==l)return{update:h=>{o.repeat=os.lerp(s,Q,h),o.offset=os.lerp(B,n,h),o.rotation=Xg.lerp(E,l,h),o.updateMatrix()},start:()=>{o.repeat=[...s],o.offset=[...B],o.rotation=E,o.updateMatrix()},end:()=>{o.repeat=[...Q],o.offset=[...n],o.rotation=l,o.updateMatrix()}}}function kQA(A,g){return{update:()=>{A.transparent=g}}}var v0=new x,vK=new yt;function UQA(A,g,e,I,i){let t=[],C,o,a,r,s,B,Q,n;if(A instanceof Yt?(C=up("position",A,g,e,i),C&&t.push(C),a=$t("rotation",A,g,e,i),a&&t.push(a),r=up("shear",A,g,e,i),r&&t.push(r)):(n={slide:g.pathSnapping?.slide??A.updatedPathSnapping?.slide??A.dataPatched.pathSnapping?.slide??0,offset:g.pathSnapping?.offset??A.updatedPathSnapping?.offset??A.dataPatched.pathSnapping?.offset??0},B=$t("slide",n,g.pathSnapping??A.updatedPathSnapping??A.dataPatched.pathSnapping,e.pathSnapping??A.dataPatched.pathSnapping,i),B&&t.push(B),Q=$t("offset",n,g.pathSnapping??A.updatedPathSnapping??A.dataPatched.pathSnapping,e.pathSnapping??A.dataPatched.pathSnapping,i),Q&&t.push(Q),!B&&!Q&&(C=NK("position",A,g,e,i),C&&t.push(C),o=NK("scale",A,g,e,i),o&&t.push(o),a=NQA(A,g,e,I,i),a&&t.push(a),s=nQA("hiddenMatrix",A,g,e),s&&t.push(s))),C||o||a||s||B||Q){let E=A instanceof Yt?()=>{A.updateWorldMatrix(!0)}:()=>{A.updateMatrix(),A.hasNonUniformScale&&(A.updateMatrixWorld(),A.updateMatrixWorldSVD()),A.parent?.matrixWorldFusedFalse&&(A.matrixWorld.multiplyMatrices(A.parent.matrixWorldFusedFalse,A.matrix),A.matrixWorldNeedsUpdate=!1),ra(A)&&as(A.parent)&&A.invalidateDownstreamBooleanData(!0),A.updatePathSnapping(Object.assign({},g.pathSnapping,n))};t.push({update:E,start:E,end:E})}return t}function NQA(A,g,e,I,i){let t=g?.rotation?g.rotation.map(s=>(typeof s=="string"?Number(i.getVariable(s)??0):s)*Xg.DEG2RAD):void 0,C=e.rotation?.map(s=>(typeof s=="string"?Number(i.getVariable(s)??0):s)*Xg.DEG2RAD);if(!C)return;let o=t?new x().fromArray(t):new x().setFromEuler(A.rotation),a=new x().fromArray(C);if(o.equals(a))return;let r=v0.subVectors(a,o);if(I&&r.toArray().every(s=>Math.abs(s)<2*Math.PI)){let s=new ke().setFromEuler(vK.setFromVector3(o)),B=new ke().setFromEuler(vK.setFromVector3(a));return{update:Q=>{QQA(s,B,A.quaternion,Q)},start:()=>{A.rotation.setFromVector3(o)},end:()=>{A.rotation.setFromVector3(a)}}}else return{update:s=>{v0.lerpVectors(o,a,s),A.rotation.setFromVector3(v0)},start:()=>{A.rotation.setFromVector3(o)},end:()=>{A.rotation.setFromVector3(a)}}}function FQA(A,g,e,I){let i=[];if(!("cloner"in e)||!A.cloner)return i;let t=A.cloner,C="cloner"in g?g.cloner:{},o=e.cloner;ub.forEach(n=>{let E;n==="count"?E=$t("count",t.parameters,C,o,I,!0):E=GB(n,t.parameters,C??{},o,I),E&&i.push(E)});let a=RQA(t,C,o,I);a?.length&&i.push(...a);let r=vQA(t,C,o,I);r?.length&&i.push(...r);let s=KQA(t,C,o,I);s?.length&&i.push(...s);let B=JQA(t,C,o,I);B?.length&&i.push(...B);let Q=qQA(t,C,o,I);return Q?.length&&i.push(...Q),i.length&&i.push({update:()=>{t.update()}}),i}function RQA(A,g,e,I){if(A.parameters.type!=="radial")return;let i=g.radial,t=e.radial;if(!t)return;let C=A.parameters.radial,o=[];return Db.forEach(a=>{let r=GB(a,C,i??{},t,I);r&&o.push(r)}),o}function vQA(A,g,e,I){if(A.parameters.type!=="linear")return;let i=g.linear,t=e.linear;if(!t)return;let C=[],o=A.parameters.linear;return pb.forEach(a=>{let r=GB(a,o,i??{},t,I);r&&C.push(r)}),C}function KQA(A,g,e,I){if(A.parameters.type!=="grid")return;let i=g.grid,t=e.grid;if(!t)return;let C=[],o=A.parameters.grid;return yb.forEach(a=>{let r;a==="count"?r=Um(a,o,i??{},t,I,!0):r=GB(a,o,i??{},t,I),r&&C.push(r)}),C}function JQA(A,g,e,I){if(A.parameters.type!=="toObject")return;let i=g.toObject,t=e.toObject;if(!t)return;let C=[],o=A.parameters.toObject;return wb.forEach(a=>{let r;a==="count"?r=$t(a,o,i??{},t,I,!0):r=GB(a,o,i??{},t,I),r&&C.push(r)}),C}function qQA(A,g,e,I){if(!A.parameters.randomness)return;let i=g.randomnessObject,t=e.randomnessObject;if(!t)return;let C=[],o=A.parameters.randomnessObject;return fb.forEach(a=>{let r=GB(a,o,i??{},t,I);r&&C.push(r)}),C}function bQA(A,g){return{update:()=>{A instanceof Jt&&(A.fill.enabled=g)}}}function LQA(A,g){return{update:()=>{A instanceof Jt&&(A.stroke.enabled=g)}}}function xQA(A,g){return{update:()=>{A instanceof Jt&&(A.dropShadow.enabled=g)}}}function YQA(A,g){return{update:()=>{A instanceof Jt&&(A.innerShadow.enabled=g)}}}function HQA(A,g){return{update:()=>{A instanceof Jt&&(A.backgroundBlur.enabled=g)}}}function TQA(A,g){return{update:()=>{A instanceof Jt&&(A.layerBlur.enabled=g)}}}function OQA(A,g,e,I,i){let t=[],C,o,a,r,s,B,Q,n,E,l,h,u,D,p,w;if("width"in A&&(C=$t("width",A,g,e,i),C&&t.push(C)),"height"in A&&(o=$t("height",A,g,e,i),o&&t.push(o)),A instanceof Jt||A instanceof tr){let k={...g.fill},U={...e.fill};k.enabled!==void 0&&k.enabled!==U.enabled&&(t.push(bQA(A,!0)),k.enabled||Object.assign(k,{enabled:!0,color:{...k.color,a:0}}),U.enabled||Object.assign(U,{enabled:!0,color:{...U.color,a:0}})),a=$u("color",A.fill,k,U,i),a&&t.push(a)}if(A instanceof Jt){let k={...g.stroke},U={...e.stroke};(k.enabled||U.enabled)&&(t.push(LQA(A,!0)),k.enabled||Object.assign(k,{enabled:!0,color:{...k.color,a:0}}),U.enabled||Object.assign(U,{enabled:!0,color:{...U.color,a:0}})),r=$u("color",A.stroke,k,U,i),r&&t.push(r),s=$t("thickness",A.stroke,k,U,i),s&&t.push(s)}if(A instanceof Jt){let k={...g.dropShadow},U={...e.dropShadow};(k.enabled||U.enabled)&&(t.push(xQA(A,!0)),k.enabled||Object.assign(k,{enabled:!0,color:{...k.color,a:0}}),U.enabled||Object.assign(U,{enabled:!0,color:{...U.color,a:0}})),B=$u("color",A.dropShadow,k,U,i),B&&t.push(B),Q=$t("blurRadius",A.dropShadow,k,U,i),Q&&t.push(Q),E=$t("spread",A.dropShadow,k,U,i),E&&t.push(E),n=up("offset",A.dropShadow,k,U,i),n&&t.push(n)}if(A instanceof Jt){let k={...g.innerShadow},U={...e.innerShadow};(k.enabled||U.enabled)&&(t.push(YQA(A,!0)),k.enabled||Object.assign(k,{enabled:!0,color:{...k.color,a:0}}),U.enabled||Object.assign(U,{enabled:!0,color:{...U.color,a:0}})),l=$u("color",A.innerShadow,k,U,i),l&&t.push(l),h=$t("blurRadius",A.innerShadow,k,U,i),h&&t.push(h),D=$t("spread",A.innerShadow,k,U,i),D&&t.push(D),u=up("offset",A.innerShadow,k,U,i),u&&t.push(u)}if(A instanceof Jt||A instanceof tr){let k={...g.backgroundBlur},U={...e.backgroundBlur};(k.enabled||U.enabled)&&(t.push(HQA(A,!0)),k.enabled||Object.assign(k,{enabled:!0,radius:0}),U.enabled||Object.assign(U,{enabled:!0,radius:0})),p=$t("radius",A.backgroundBlur,k,U,i),p&&t.push(p)}if(A instanceof Jt){let k={...g.layerBlur},U={...e.layerBlur};(k.enabled||U.enabled)&&(t.push(TQA(A,!0)),k.enabled||Object.assign(k,{enabled:!0,radius:0}),U.enabled||Object.assign(U,{enabled:!0,radius:0})),w=$t("radius",A.layerBlur,k,U,i),w&&t.push(w)}if(A instanceof tr||A instanceof bc){let k=Um("cornerRadius",A,g,e,i);k&&t.push(k)}return t}function KK(A,g,e,I,i){let t=[];return A.data.visible&&t.push(...UQA(A,g,e,i,I)),A instanceof Yt?t.push(...OQA(A,g,e,i,I)):(A.data.visible&&t.push(...FQA(A,g,e,I)),ra(A)?(A instanceof EC&&A.data.visible&&t.push(...dQA(A,g,e,I)),A.data.visible&&t.push(...DQA(A,g,e,I))):YoA(A)?A.data.visible&&t.push(...uQA(A,g,e,I)):xoA(A)&&t.push(...hQA(A,g,e,I))),t.length?{update:C=>{t.forEach(o=>o.update(C))},start:C=>{t.forEach(o=>o.start?.(C))},end:C=>{t.forEach(o=>o.end?.(C))}}:void 0}var JK=new x;function Nm(A,g,e=!1){let I=[],i=t=>{let C=t.data;delete t.states,t.currentState=null,t.reversibleToState=null,t.currentTransitionEvent=null;for(let o of C.states){let a={...o.data};t.states||(t.states={}),t.states[o.id]=QQ.patch(C,a)}bK(A.scene,t,null,g,C.events.find(o=>o.data.type==="Follow"||o.data.type==="LookAt")!==void 0),qK(A)};A.scene.traverse2D(i),A.traverseChildren(t=>{if(e&&(t.rigidBody?.setTranslation(t.position0,!0),t.rigidBody?.setRotation(t.rotation0,!0),t.rigidBody?.setLinvel(JK,!0),t.rigidBody?.setAngvel(JK,!0)),!hI.is(t))return;let C=t.uuid,o=t.data;if(delete t.states,t.uuid===eh)return;let a=!1;I.some(r=>A.scene.find(C)?.isDescendantOf(r))?a=!0:o.physics?.fusedBody===!0&&o.physics.rigidBody==="dynamic"&&I.push(C),t.data=o,t.currentState=null,t.reversibleToState=null,t.currentTransitionEvent=null;for(let r of o.states){let s={...r.data};A.data.globalPhysics.usePhysics===!0&&o.physics&&(o.physics.rigidBody==="dynamic"||a)&&(r.data.position!==void 0&&delete s.position,r.data.rotation!==void 0&&delete s.rotation,r.data.hiddenMatrix!==void 0&&delete s.hiddenMatrix),t.states||(t.states={}),t.states[r.id]=rQ.patch(o,s)}bK(A.scene,t,null,g,o.events.find(r=>r.data.type==="Follow"||r.data.type==="LookAt")!==void 0),qK(A),t instanceof QC&&t.frame&&(t.frame.traverse(r=>i(r)),t.uiCanvas?.applySize())}),A.frame&&(A.frame.traverse(t=>i(t)),A.uiCanvas?.applySize())}function qK(A){A.traverseEntity(g=>{for(let e of g.data.events){let I=[];switch(e.data.type){case"Follow":case"MouseHover":case"Scroll":case"MouseDown":case"MouseUp":case"MousePress":case"KeyUp":case"KeyDown":case"KeyPress":case"Collision":I.push(...e.data.actions);break;case"GameControl":for(let i of Object.values(e.data.gameActions))I.push(...i);break;case"DragDrop":I.push(...e.data.dragDropActions.drag,...e.data.dragDropActions.drop);break;case"Conditional":I.push(...e.data.inActions,...e.data.outActions);break}for(let i of I)if(i.data.type==="Create"&&i.data.hideBase==="Yes"){let t=A.scene.find(i.data.object);t&&(t.visible=!1)}}})}function bK(A,g,e,I,i=!1){if(g instanceof EC&&g.removeInteractionGeometry(I),g instanceof Yt?g.changeSelectedState(e,{shared:I},i):g.changeSelectedState(e,{scene:A,shared:I},i),g instanceof EC&&g.updateGeometryGroupsIfNeeded(),g instanceof lC&&g.updateCameraState(g.dataPatched,{scene:A,shared:I}),!(g instanceof Yt)){if(g.cloner)for(let t of g.cloner.children)t.playModeVisible=void 0;g.updateVisible()}}function j2(A){let g;if(A.easing===5){let{control1:e,control2:I}=A;g=`cubicBezier(
			${e[0]}, ${e[1]}, ${I[0]}, ${I[1]}
		)`}else if(A.easing===6){let{mass:e,stiffness:I,damping:i,velocity:t}=A;g=`spring( ${e}, ${I}, ${i}, ${t} )`}else{let e;switch(A.easing){case 0:e=gB.linear;break;case 1:e=gB.ease;break;case 2:e=gB.easeIn;break;case 3:e=gB.easeOut;break;case 4:e=gB.easeInOut;break;default:e=gB.linear}let[I,i,t,C]=e;g=`cubicBezier( ${I}, ${i}, ${t}, ${C} )`}return{duration:Math.max(A.duration,1e-4),easing:g}}function jS(A){let g={delay:0,loop:A.repeat===-1?!0:A.repeat+1};if(A.repeat===0)g.direction="normal",g.rewind=!1;else switch(A.direction){case"pingpong":g.direction="alternate",g.rewind=!1;break;case"pingpong-rewind":g.direction="alternate",g.rewind=!0;break;default:g.direction="normal",g.rewind=!1;break}switch(g.delay=0,g.endDelay=0,g.startOnceDelay=0,g.pingPongDelayCorrection=0,g.pingPongEndDelayCorrection=0,A.delayDirection){case"start-once":g.startOnceDelay=A.delay;break;case"start":g.delay=A.delay;break;case"end":g.endDelay=A.delay;break;case"start-end":case void 0:g.delay=A.delay,g.endDelay=A.delay;break}return g.direction==="alternate"&&(g.delay/=2,g.endDelay/=2,A.delayDirection==="start"?(g.pingPongDelayCorrection=g.delay,typeof g.loop=="number"&&g.loop%2===0&&(g.pingPongEndDelayCorrection=g.delay)):A.delayDirection==="end"?typeof g.loop=="number"&&g.loop%2!==0&&(g.pingPongEndDelayCorrection=g.endDelay):A.delayDirection==="start-end"&&(g.pingPongDelayCorrection=g.delay,g.pingPongEndDelayCorrection=g.endDelay)),g}var _QA={type:"beginState"},PQA={type:"completeState",isfromEntity:!1},LK=class{constructor(A,g,e,I,i,t){if(this.object=A,this.data=I,this.sharedAssets=i,this.allowSlerp=t,this.targets={t:0},this.firstLoop=!0,this._changeBegan=!1,this._changeCompleted=!0,this.onChange=()=>{this.callback&&(this.callback.update(this.targets.t),this.object.requestRender()),this.targets.t===0||this.targets.t===1?this._changeCompleted||(this._changeCompleted=!0,this._changeBegan=!1,this.onChangeComplete()):(this._changeCompleted&&(this._changeCompleted=!1),this._changeBegan||(this._changeBegan=!0,this.onChangeBegin()))},this.onChangeBegin=()=>{this.object.reversibleToState=this.to.id;let C=this.targets.t>.5?this.from.id:this.to.id;this.object.prevState!==this.object.currentState&&(this.object.prevState=this.object.currentState),this.object.currentState=C,this.object.dispatchEvent({type:"beginState",state:C}),this.object instanceof Yt||this.object.traverseEntity(o=>{o!==this.object&&o instanceof lC&&o.dispatchEvent(_QA)})},this.onChangeComplete=()=>{this.firstLoop&&(this.onFirstLoop(),this.firstLoop=!1),this.object.reversibleToState=this.to.id;let C=this.targets.t<.5?this.from.id:this.to.id;this.object.prevState!==this.object.currentState&&(this.object.prevState=this.object.currentState),this.object.currentState=C,this.object.dispatchEvent({type:"completeState",state:C}),this.object instanceof Yt||this.object.traverseEntity(o=>{o!==this.object&&o instanceof lC&&o.dispatchEvent(PQA)})},this.onFirstLoop=()=>{this.useCurrentState&&(this.callback=KK(this.object,this.from.data,this.to.data,this.sharedAssets,this.allowSlerp))},g===void 0){let C=dD(this.object,this.object.currentState===e?this.object.prevState:this.object.currentState);if(!C)throw new Error("Missing property");this.from=C}else{let C=dD(this.object,g);if(!C)throw new Error("Missing property");this.from=C}if(e===void 0)throw new Error("Missing property");{let C=dD(this.object,e);if(!C)throw new Error("Missing property");this.to=C}this.useCurrentState=g===void 0||e===void 0,this.params={targets:this.targets,t:1,autoplay:!1,...jS(I),...j2(I),change:this.onChange},this.callback=KK(this.object,g===void 0?{}:this.from.data,e===void 0?{}:this.to.data,this.sharedAssets,this.allowSlerp)}get changeBegan(){return this._changeBegan}get changeCompleted(){return this._changeCompleted}},W2=class extends tC{constructor(A,g,e,I,i){if(super(),this.eventType=A,this.data=g,this.page=e,this.shared=I,this.condition=i,this.toggleIsForward=!1,this.timelineNeedsRebuild=!1,this.hasPlayedOnce=!1,this.onTimelineChangeComplete=()=>{this.data.tweens[0].data.direction!=="normal"&&(this.toggleIsForward=!this.toggleIsForward),this.timelineNeedsRebuild!==!1&&(this.timeline?.pause(),this.buildTimeline({isForward:this.toggleIsForward,needsRebuild:!1,isRebuild:!0}),this.timeline.play())},!g.object)throw new Error("Missing property");let t=this.page.scene.find(g.object)??this.page.uiCanvas?.find(g.object)??this.page.scene.find2DInUIObjects(g.object);if(!t)throw new Error("Missing property");if(!t.states)throw new Error("Missing property");if(this.object=t,g.tweens.length<2)throw new Error("Missing property");this.tweens=Array(this.data.tweens.length-1),this.startOnceDelay=g.tweens[0].data.delayDirection==="start-once"?g.tweens[0].data.delay:0,this.init()}get playing(){return this.timeline?.paused===!1}get changeBegan(){return this.tweens.some(A=>A.changeBegan)??!1}init(){this.initialCurrentState=dD(this.object,this.object.currentState).id,this.toggleIsForward=!1}get currentState(){return this.data.runMode==="Toggle"&&_F(this.eventType)?this.initialCurrentState:this.object.currentState}buildTimeline({isForward:A=!0,needsRebuild:g=!1,isRebuild:e=!1}={}){try{let I=jS(this.data.tweens[0].data);e&&typeof I.loop=="number"&&I.loop--,this.timeline?.pause(),this.timeline=P2.timeline({autoplay:!1,...I,...I.loop===!0||I.loop>1?{timelineChangeComplete:this.onTimelineChangeComplete}:{}});let i=this.tweens.findIndex(t=>t?.changeBegan);if(g===!0&&(this.timelineNeedsRebuild=!0),A){let t=i===-1?0:i;for(let C=t;C<this.data.tweens.length-1;C++){let o=this.data.tweens[C],a=this.data.tweens[C+1],r;C===t&&(this.object.wasMovedByUser===!0||this.object.previousAction?.changeBegan===!0)?(r=void 0,this.object instanceof lC&&(this.object.wasMovedByUser=!1)):r=o.data.state===void 0?this.currentState:o.data.state;let s=new LK(this.object,r,a.data.state===void 0?this.currentState:a.data.state,a.data,this.shared,this.data.allowSlerp??!1);i!==-1&&C===t&&Object.assign(s.params,{startOnceDelay:0}),this.tweens[C]=s,this.timeline.add(s.params,this.timeline.duration+(C===t?I.delay:0))}this.timeline.duration+=I.endDelay}else{let t=i===-1?this.data.tweens.length-1:i+1;for(let C=t;C>0;C--){let o=this.data.tweens[C],a=this.data.tweens[C-1],r;C===t&&(this.object.wasMovedByUser===!0||this.object.previousAction?.changeBegan===!0)?(r=void 0,this.object instanceof lC&&(this.object.wasMovedByUser=!1)):r=o.data.state===void 0?this.currentState:o.data.state;let s=new LK(this.object,r,a.data.state===void 0?this.currentState:a.data.state,o.data,this.shared,this.data.allowSlerp??!1);i!==-1&&C===t&&Object.assign(s.params,{startOnceDelay:0}),this.tweens[C-1]=s,this.timeline.add(s.params,this.timeline.duration+(C===t?I.endDelay:0))}this.timeline.duration+=I.delay}}catch(I){I instanceof Error&&console.error(I.message)}this.object.previousAction?.playing===!0&&this.object.previousAction.pause(),this.object.previousAction=this}play(){if(li(this.shared,this.condition)===!1||_F(this.eventType)&&this.data.runMode==="Once"&&this.hasPlayedOnce||(this.hasPlayedOnce=!0,this.playing))return!1;clearTimeout(this.timeoutId);let A=jS(this.data.tweens[0].data).pingPongDelayCorrection;this.timeoutId=window.setTimeout(()=>{try{this.buildTimeline(),this.timeline.play()}catch(g){g instanceof Error&&console.error(g.message)}},this.startOnceDelay+A)}pause(){this.timeline?.pause(),clearTimeout(this.timeoutId),this.tweens=Array(this.data.tweens.length-1),delete this.timeoutId}stop(){this.pause();let A=this.data.tweens[0].data.state===void 0?this.initialCurrentState:this.data.tweens[0].data.state;this.object instanceof Yt?this.object.changeSelectedState(A,{shared:this.shared}):this.object.changeSelectedState(A,{scene:this.page.scene,shared:this.shared}),this.object.currentState=A}seek(A){if(li(this.shared,this.condition)===!1)return!1;this.timeline===void 0&&this.buildTimeline(),this.timeline?.seek(A*this.timeline.duration,!0)}toggle(A){if(li(this.shared,this.condition)===!1)return!1;clearTimeout(this.timeoutId),this.toggleIsForward=A??!this.toggleIsForward,this.playing?(this.timeline?.pause(),this.buildTimeline({isForward:this.toggleIsForward,needsRebuild:!0}),this.timeline.play()):this.timeoutId=window.setTimeout(()=>{this.timeline?.pause(),this.buildTimeline({isForward:this.toggleIsForward}),this.timeline.play()},this.startOnceDelay)}playFromCurrent(){this.toggle(!0)}reverseFromCurrent(){this.toggle(!1)}dispose(){this.pause()}};function dD(A,g){let e,I;if(typeof g=="string"?(e=g,I=A.states?.[e]):g===null&&(e=null,I=A.data),!(e===void 0||I===void 0))return{id:e,data:I}}var jQA={type:"beginState"},xK={type:"completeState",isfromEntity:!1},YK={type:"requestRender"},z2=class extends tC{constructor(A,g,e,I){super(),this.data=A,this.page=g,this.shared=e,this.condition=I,this.toggleIsForward=!1,this.posStart=new x,this.posEnd=new x,this.qStart=new ke,this.qEnd=new ke,this.zoomStart=1,this.zoomEnd=1}init(){}get playing(){return this.animation&&this.animation.began&&!this.animation.completed}buildAnimation(A=!1){if(!this.data.animate)return;let g=this.page.scene.find(this.data.targetCamera);if(!g||!g.visible)throw new ReferenceError("Target camera not founded or not visible");let e={t:0};this.posStart.copy(this.page.activeCamera.position),this.qStart.copy(this.page.activeCamera.quaternion),this.zoomStart=this.page.activeCamera.zoom,this.animation=P2({targets:e,t:1,...j2(this.data),update:()=>{e.t===0&&(this.data.runMode==="Toggle"&&!this.toggleIsForward?this.fromCamera&&(this.posEnd.copy(this.fromCamera.position),this.qEnd.copy(this.fromCamera.quaternion),this.zoomEnd=this.fromCamera.zoom,this.switchCamera(this.fromCamera.uuid)):(this.posEnd.copy(g.position),this.qEnd.copy(g.quaternion),this.zoomEnd=g.zoom,this.fromCamera=this.page.activeCamera,this.switchCamera(g.uuid)),this.page.activeCamera.dispatchEvent(jQA));let I=this.page.activeCamera;I.position.lerpVectors(this.posStart,this.posEnd,e.t),I.quaternion.slerpQuaternions(this.qStart,this.qEnd,e.t),I.zoom=this.zoomStart+(this.zoomEnd-this.zoomStart)*e.t,I.wasMovedBySwitchCameraAction=!0,I.updateMatrix(),I.updateMatrixWorld(),I.updateProjectionMatrix(),I.dispatchEvent(YK),e.t===1&&I.dispatchEvent(xK)}})}switchCamera(A){let g=this.page.activeCamera,e=this.page.scene.find(A);if(!e||!e.visible)throw new ReferenceError("Target camera not founded or not visible");this.page.switchActiveCamera(e),g.dispatchEvent({type:"cameraChange",camera:e})}play(){if(li(this.shared,this.condition)===!1)return!1;if(!this.playing&&this.page.activeCamera.uuid!==this.data.targetCamera)try{clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout(()=>{delete this.timeoutId,this.data.animate?(this.buildAnimation(),this.animation?.play()):this.switchCamera(this.data.targetCamera)},this.data.delay*1e3)}catch{}}pause(){this.animation?.pause(),clearTimeout(this.timeoutId),delete this.timeoutId}toggle(A){if(li(this.shared,this.condition)===!1)return!1;if(window.clearTimeout(this.timeoutId),delete this.timeoutId,A!==this.toggleIsForward)try{this.playing?(this.animation?.pause(),this.toggleIsForward=A??!this.toggleIsForward,this.buildAnimation(!0),this.animation?.play()):this.timeoutId=window.setTimeout(()=>{this.toggleIsForward=A??!this.toggleIsForward,this.data.animate?(this.animation?.pause(),this.buildAnimation(),this.animation?.play()):(this.toggleIsForward?(this.fromCamera=this.page.activeCamera,this.switchCamera(this.data.targetCamera)):this.fromCamera&&this.switchCamera(this.fromCamera.uuid),this.page.activeCamera.dispatchEvent(xK),this.page.activeCamera.dispatchEvent(YK))},this.data.delay*1e3)}catch{}}playFromCurrent(){this.toggle(!0)}reverseFromCurrent(){this.toggle(!1)}dispose(){this.pause(),this.toggleIsForward=!1}};function V2(A){let g=A?.tracks.filter(e=>e.ValueTypeName==="vector"||e.ValueTypeName==="quaternion").map(e=>e.times.length);if(g?.length){let e=agA(g);return e&&e>2?e:2}return 2}var Z2=class extends tC{constructor(A,g,e,I,i){super(),this.data=A,this.page=g,this.animationControls=e,this.shared=I,this.condition=i,this.startOnceDelay=0,this.toggleIsForward=!1;let t=A.object,C=g.scene.find(A.object);C&&Array.isArray(C.identity)&&(t=C.identity[0]),this.data={...A,object:t};let o=this.animationControls.clipIdToAction[A.clipId+"/"+t];if(this.duration=o?.getClip()?.duration??1,this.data.crop2){let a=V2(o?.getClip());this.leftFrameTime=this.data.crop2[0]/(a-1)*this.duration,this.rightFrameTime=this.data.crop2[1]/(a-1)*this.duration}else{let a=o?.getClip()?.tracks[0]?.times.length;a&&a>1?(this.leftFrameTime=this.data.crop[0]/a*this.duration,this.rightFrameTime=this.data.crop[1]/a*this.duration):(this.leftFrameTime=0,this.rightFrameTime=this.duration)}this.startOnceDelay=A.delay}get playing(){return this.threeAnimAction?.isRunning()??!1}play(A=!1){if(li(this.shared,this.condition)===!1)return!1;window.clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout(()=>{if(this.threeAnimAction=this.animationControls.play(this.data),!this.threeAnimAction)return;this.threeAnimAction.reset(),this.threeAnimAction.time=this.leftFrameTime,this.threeAnimAction._clip.start=this.leftFrameTime,this.threeAnimAction._clip.duration=this.rightFrameTime;let g=this.data.object;Object.entries(this.animationControls.clipIdToAction).forEach(([e,I])=>{let i=e.split("/")[1];this.threeAnimAction!==I&&i===g&&I.isRunning()&&(A?I.fadeOut(.2):I.stop())}),A&&this.threeAnimAction?.fadeIn(.2)},this.startOnceDelay)}pause(){this.threeAnimAction&&(this.threeAnimAction.paused=!0),window.clearTimeout(this.timeoutId),delete this.timeoutId}stop(){this.threeAnimAction?.fadeOut(.2)}seek(A){this.threeAnimAction=this.animationControls.play(this.data),this.threeAnimAction&&(this.threeAnimAction.paused=!0,this.threeAnimAction.time=Xg.clamp(this.threeAnimAction.time+1/60*A,this.leftFrameTime,this.rightFrameTime-16e-5),this.animationControls.needsUpdate=!0,this.animationControls.requestRender())}toggle(A,g=!1){if(li(this.shared,this.condition)===!1)return!1;this.toggleIsForward=A??!this.toggleIsForward,this.threeAnimAction&&(this.threeAnimAction._loopCount=0),this.playing?this.threeAnimAction&&(this.threeAnimAction.timeScale=this.toggleIsForward?1:-1,this.toggleIsForward?(this.threeAnimAction._clip.start=this.leftFrameTime,this.threeAnimAction._clip.duration=this.rightFrameTime):(this.threeAnimAction._clip.start=this.rightFrameTime,this.threeAnimAction._clip.duration=this.leftFrameTime)):this.timeoutId=window.setTimeout(()=>{if(this.threeAnimAction=this.animationControls.play(this.data),this.threeAnimAction){this.toggleIsForward?(this.threeAnimAction.time=this.leftFrameTime,this.threeAnimAction._clip.start=this.leftFrameTime,this.threeAnimAction._clip.duration=this.rightFrameTime):(this.threeAnimAction.time=this.rightFrameTime,this.threeAnimAction._clip.start=this.rightFrameTime,this.threeAnimAction._clip.duration=this.leftFrameTime),this.threeAnimAction.paused=!1,this.threeAnimAction.timeScale=this.toggleIsForward?1:-1;let e=this.data.clipId.split("/")[1];Object.entries(this.animationControls.clipIdToAction).forEach(([I,i])=>{let t=I.split("/")[1];this.threeAnimAction!==i&&t===e&&i.isRunning()&&(g?i.fadeOut(.2):i.stop())}),g&&this.threeAnimAction?.fadeIn(.2)}},this.startOnceDelay)}playFromCurrent(){this.toggle(!0)}reverseFromCurrent(){this.toggle(!1)}dispose(){let A=this.animationControls.clipIdToAction[this.data.clipId+"/"+this.data.object]?.getClip();A&&(A.duration=this.duration),this.pause()}},X2=class{constructor(A,g,e,I,i){this.data=A,this.page=g,this.eventManager=e,this.shared=I,this.condition=i,this.timeOutId=-1,this.scene=g.scene}dispatch(){if(li(this.shared,this.condition)===!1)return!1;this.data.target!==this.page.uuid&&(window.clearTimeout(this.timeOutId),this.timeOutId=window.setTimeout(()=>{this.play()},this.data.delay*1e3))}dispose(){window.clearTimeout(this.timeOutId)}play(){if(this.scene.children.every(g=>g.uuid!==this.data.target))return;this.data.transition==="fade"&&this.data.duration>0&&this.eventManager.eventContext.renderer.renderFromSceneForSceneTransitionPass(this.scene,this.scene.activeCamera,this.data.duration*1e3),this.eventManager.deactivate(),this.eventManager.controlsManager.deactivate();let A=this.scene.activeCamera;this.scene.updatePage(this.data.target),this.scene.traverseVisibleEntity(g=>{g.type==="ParticleSystem"&&(g.sleep(),g.wakeUp(),g.data.autoPlay?g.start():g.stop())}),this.scene.activePage.switchToPlayCamera(),this.scene.activeCamera.copyViewPlaneSize(A),Nm(this.scene.activePage,this.shared),this.eventManager.activate(),this.eventManager.controlsManager.activate(this.eventManager)}},$2=class{constructor(A,g,e,I){this.data=A,this.page=g,this.shared=e,this.condition=I,this.evaluatedCondition=!1}checkConditions(){this.evaluatedCondition=li(this.shared,this.condition)}dispatch(){if(this.evaluatedCondition===!1)return!1;let A=this.shared.getVariable(this.data.variableId),g=eL(this.data.expression,this.shared,so.typeOfVariable(A));g!==void 0&&this.shared.updateVariable(this.data.variableId,typeof g=="string"?{textValue:g}:g)}dispose(){}},Ax=class{constructor(A,g,e,I){this.data=A,this.page=g,this.shared=e,this.condition=I,this.timeoutId=null}dispatchInner(){if(li(this.shared,this.condition)===!1)return!1;let A=this.shared.getDynamicVariablePlayState(this.data.variableId);if(this.data.mode==="PlayPause")this.shared.getDynamicVariableToggleIsForward(this.data.variableId)===void 0&&this.shared.setDynamicVariableToggleIsForward(this.data.variableId,!0),this.shared.setDynamicVariablePlayState(this.data.variableId,A==="Playing"?"Paused":"Playing");else if(this.data.mode==="Play"&&A!=="Playing")this.shared.getDynamicVariableToggleIsForward(this.data.variableId)===void 0&&this.shared.setDynamicVariableToggleIsForward(this.data.variableId,!0),this.shared.setDynamicVariablePlayState(this.data.variableId,"Playing");else if(this.data.mode==="Stop"&&A!=="Stopped")this.shared.setDynamicVariablePlayState(this.data.variableId,"Stopped");else if(this.data.mode==="Pause"&&A!=="Paused")this.shared.setDynamicVariablePlayState(this.data.variableId,"Paused");else if(this.data.mode==="Restart")this.shared.setDynamicVariablePlayState(this.data.variableId,"Restarted");else if(this.data.mode==="Toggle"){let g=this.shared.getDynamicVariableToggleIsForward(this.data.variableId);A==="Playing"?this.shared.setDynamicVariableToggleIsForward(this.data.variableId,g===void 0?!1:!g):(this.shared.setDynamicVariableToggleIsForward(this.data.variableId,!g),this.shared.setDynamicVariablePlayState(this.data.variableId,"Playing"))}}dispatch(){let A=this.data.delay,g=this.shared.getDynamicVariablePlayState(this.data.variableId);this.data.mode==="PlayPause"&&g==="Playing"&&(A=this.data.pauseDelay),A!==0?(this.timeoutId&&window.clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout(()=>{this.timeoutId=null,this.dispatchInner()},A)):this.dispatchInner()}dispose(){this.timeoutId&&window.clearTimeout(this.timeoutId)}},WQA=class{constructor(A,g,e,I){this.data=A,this.page=g,this.shared=e,this.condition=I}dispatch(){if(li(this.shared,this.condition)===!1)return!1;(this.data.target==="single"?this.data.variableId?[this.data.variableId]:[]:Object.keys(this.shared.getVariables())).forEach(A=>{this.shared.getVariable(A);let g=this.shared.data.variables.data(A)?.value;g!==void 0&&this.shared.updateVariable(A,g),this.shared.enableLocalStorageForPersistentVariables&&localStorage.removeItem(SS(A))})}dispose(){}};function li(A,g){if(g===void 0)return!0;if(g.expression.length===0)return!1;let e=eL(g.expression,A,"boolean");return g.negate?!e:!!e}function vC(A,g,e,I,i,t){let C={Audio:[],Video:[],Particles:[],Link:[],Destroy:[],Create:[],Reset:[],Transition:[],SwitchCamera:[],Animation:[],SceneTransition:[],SetVariable:[],DynamicVariablePlay:[],ClearLocalStorage:[]},o=a=>({id:r,data:s})=>{try{s.type==="Audio"?fC[A.type].includes("Audio")&&C.Audio.push(new G2(r,s,t,I,a)):s.type==="Video"&&!(t instanceof Yt)?fC[A.type].includes("Video")&&C.Video.push(new ex(r,s,t,I,a)):s.type==="Particles"?fC[A.type].includes("Particles")&&C.Particles.push(new m2(s,e,I,a)):s.type==="Link"?fC[A.type].includes("Link")&&C.Link.push(new KBA(s,i.controlsManager,I,a)):s.type==="Create"?fC[A.type].includes("Create")&&C.Create.push(new Ix(s,e,i.controlsManager,I,a)):s.type==="Destroy"?fC[A.type].includes("Destroy")&&C.Destroy.push(new M2(s,e,i.controlsManager,I,a)):s.type==="Reset"?fC[A.type].includes("Reset")&&C.Reset.push(new k2(s,e,I,i,a)):s.type==="Transition"?fC[A.type].includes("Transition")&&C.Transition.push(new W2(A.type,s,e,I,a)):s.type==="SwitchCamera"?fC[A.type].includes("SwitchCamera")&&C.SwitchCamera.push(new z2(s,e,I,a)):s.type==="SceneTransition"?fC[A.type].includes("SceneTransition")&&C.SceneTransition.push(new X2(s,e,i,I,a)):s.type==="Animation"?fC[A.type].includes("Animation")&&C.Animation.push(new Z2(s,e,i.animationControls,I,a)):s.type==="SetVariable"?fC[A.type].includes("SetVariable")&&C.SetVariable.push(new $2(s,e,I,a)):s.type==="DynamicVariablePlay"?fC[A.type].includes("DynamicVariablePlay")&&C.DynamicVariablePlay.push(new Ax(s,e,I,a)):s.type==="Conditional"?fC[A.type].includes("Conditional")&&(s.ifActions.forEach(o({expression:s.condition,negate:!1})),s.elseActions.forEach(o({expression:s.condition,negate:!0}))):s.type==="ClearLocalStorage"&&fC[A.type].includes("ClearLocalStorage")&&C.ClearLocalStorage.push(new WQA(s,e,I,a))}catch{}};return g.forEach(o()),C}function xt(A){Object.values(A).forEach(g=>{g.forEach(e=>{(e instanceof G2||e instanceof ex||e instanceof m2||e instanceof Z2||e instanceof W2||e instanceof Ix||e instanceof M2||e instanceof z2||e instanceof X2||e instanceof k2||e instanceof $2||e instanceof Ax)&&e.dispose()})})}function zQA(A,g){let e;if("material"in A){let I=A.material;Array.isArray(I)?e=A.material[0].layers.find(i=>i.uuid===g):e=A.material.layers.find(i=>i.uuid===g)}if(e)return e.color.texture.image.img instanceof HTMLVideoElement?e.color.texture.image.img:void 0}var gx=new Map,Xl=new Map,ME=class{constructor(A,g,e){this.data=g,this.delay=0,this.status="stopped";let{layerId:I,loop:i,volume:t,delay:C}=g;if(this.object=e,I===void 0)throw new Error("Missing property");let o=zQA(e,I);o&&(this.videoElement=o,this.videoElement.loop=i===1/0,Nc&&(this.videoElement.autoplay=!0),t!==void 0&&(this.videoElement.volume=t)),C!==void 0&&(this.delay=C),Xl.has(e.uuid)?Xl.get(e.uuid).push(this):Xl.set(e.uuid,[this]),gx.set(A,this),this.pause()}mute(){!this.videoElement||(this.videoElement.muted=!0)}unMute(){!this.videoElement||(this.videoElement.muted=!1)}play(A){if(!this.videoElement)return;let g=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);A?(this.mute(),this.delay+=150):g?(this.mute(),window.setTimeout(()=>{this.unMute()},100)):this.unMute(),this.delayTimerId=window.setTimeout(()=>{if(!this.videoElement)return;let e=this.videoElement.play();e!==void 0&&e.then(I=>{}).catch(I=>{this.play()}),this.clearDelay()},this.delay),this.status="playing"}clearDelay(){this.delayTimerId&&(clearTimeout(this.delayTimerId),delete this.delayTimerId)}pause(){!this.videoElement||(this.videoElement.pause(),this.status="paused")}stop(){!this.videoElement||(this.videoElement.pause(),this.videoElement.currentTime=0,this.status="stopped",this.clearDelay())}playByToggle(){this.data.toggle==="stop"?this.status==="playing"?this.stop():(this.stop(),this.play()):this.data.toggle==="pause"?this.status==="playing"?this.pause():this.play():(this.stop(),this.play())}dispose(){!this.videoElement||(this.stop(),this.videoElement.muted=!0)}},WS=class{constructor(A){this.data=A}dispatch(){this.data.playVideo?this.pauseVideo(this.data.playVideo):this.data.object?this.pauseAllVideosFromObject(this.data.object):this.pauseAllVideos()}pauseVideo(A){let g=gx.get(A);!g||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{g[this.data.interaction](),this.disposeDelay()},this.data.delay)):g[this.data.interaction]())}pauseAllVideosFromObject(A){let g=Xl.get(A);!g?.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{g.forEach(e=>e[this.data.interaction]()),this.disposeDelay()},this.data.delay)):g.forEach(e=>e[this.data.interaction]()))}pauseAllVideos(){let A=[...Xl.values()];!A.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout(()=>{A.forEach(g=>{g.forEach(e=>{e[this.data.interaction]()})}),this.disposeDelay()},this.data.delay)):A.forEach(g=>{g.forEach(e=>{e[this.data.interaction]()})}))}disposeDelay(){clearTimeout(this.timeoutId),delete this.timeoutId}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},ex=class{constructor(A,g,e,I,i){if(this.data=g,this.shared=I,this.condition=i,g.interaction==="play")this.interaction=new ME(A,g,e);else if(g.interaction==="pause"||g.interaction==="stop")this.interaction=new WS(g);else throw new Error("Missing property")}dispatchBasic(){if(li(this.shared,this.condition)===!1)return!1;this.interaction instanceof ME?this.interaction.playByToggle():this.interaction.dispatch()}dispatchConditional(){if(li(this.shared,this.condition)===!1)return!1;this.interaction instanceof ME?this.interaction.play():this.interaction.dispatch()}dispose(){this.interaction.dispose()}},HK=(()=>{let A,g,e,I;function i(o){!A&&!TK()&&g?.sharedGameControlGlobals.createdObjects.length>0&&(A=requestAnimationFrame(t)),o&&(g=o,I=o.requestRender)}function t(o){let a=e?o-e:0,r=g.sharedGameControlGlobals.createdObjects,s=g.sharedGameControlGlobals.nCreatedPerAction,B=r.length,Q=0;for(;Q<B;){let n=r[Q];n.userData.createdTime===void 0&&(n.userData.createdTime=o),n.userData.lifetime===void 0&&n.userData.quantity===void 0||n.userData.lifetime&&o-n.userData.createdTime<n.userData.lifetime||n.userData.quantity&&s[n.userData.actionId]<=n.userData.quantity?(n.userData.velocity&&(n.position.addScaledVector(n.userData.velocity,a/1e3),n.updateMatrix(),I()),Q++):(s[n.userData.actionId]>n.userData.quantity&&s[n.userData.actionId]--,r.splice(Q,1),n.removeFromParent(),g.sharedGameControlGlobals.rapierWorld&&n.rigidBody?(g.sharedGameControlGlobals.colliderToEntity.delete(n.rigidBody.collider(0).handle),g.sharedGameControlGlobals.rapierWorld.removeRigidBody(n.rigidBody)):(n.bvhGeometry=void 0,g.sharedGameControlGlobals.entitiesWithTransformAnim=g.sharedGameControlGlobals.entitiesWithTransformAnim.filter(E=>E.bvhGeometry!==void 0)),B--,I())}A=Q>0?requestAnimationFrame(t):void 0,e=Q>0?o:void 0}function C(){TK()?A&&(cancelAnimationFrame(A),A=void 0,e=void 0):i()}return typeof document<"u"&&document.addEventListener("visibilitychange",C),i})();function TK(){return!!document&&document.hidden}var OK=new ke,VQA=new x,ZQA=new x,Ix=class{constructor(A,g,e,I,i){this.data=A,this.page=g,this.controlsManager=e,this.shared=I,this.condition=i,this.intervalId=null,this.timeoutIdQueue=[],this.uniqueId=Xg.generateUUID(),this.dispatch=()=>{if(li(this.shared,this.condition)===!1)return!1;this.data.delay?this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,this.data.delay*1e3)):this.dispatchInner()},this.dispatchFromStart=()=>{if(li(this.shared,this.condition)===!1)return!1;this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,this.data.delay*1e3))},this.dispatchThrottled=GgA(this.dispatch,1e3/this.data.creationSpeed),this.dispatchStart=()=>{this.intervalId===null&&(this.intervalId=window.setInterval(this.dispatch,1e3/this.data.creationSpeed))},this.dispatchStop=()=>{this.intervalId!==null&&(window.clearInterval(this.intervalId),this.intervalId=null)},this.dispatchInner=()=>{this.timeoutIdQueue.shift();let C=new nC(this.object);if(C.playModeVisible=!0,C.expand(),this.data.coordinateSystem!=="world"){let a=this.data.coordinateSystem,r=this.page.scene.find(a);r&&(r.updateMatrixWorldSVD(),C.hiddenMatrix.copy(r.matrixWorldRigid))}C.scale.copy(this.object.scale),C.position.fromArray(this.data.position),C.rotation.fromArray(this.data.rotation),C.updateMatrix(),this.page.add(C);let o=this.controlsManager.sharedGameControlGlobals;o.createdObjects.push(C),o.nCreatedPerAction[this.uniqueId]===void 0?o.nCreatedPerAction[this.uniqueId]=1:o.nCreatedPerAction[this.uniqueId]++,C.updateWorldMatrix(!0,!0),C.traverseObject(this.traverseObjectCB),HK(),this.controlsManager.requestRender()},this.traverseObjectCB=C=>{C.hasNonUniformScale&&C.updateMatrixWorldSVD();let o;if(this.controlsManager.sharedGameControlGlobals.rapierWorld){if(C instanceof na)if(C.objectForSample){if(C.objectForSample.dataPatched.physics.fusedBody)return;o=C.object}else return C.object.dataPatched.physics.fusedBody===!0&&C.object.dataPatched.physics.rigidBody==="dynamic"?!0:void 0;else if(C instanceof nC)o=C.object;else if(o=C,o.dataPatched.cloner?.hideBase)return!0}else{if(C instanceof na)return;C instanceof nC?o=C.object:o=C}this.data.destroy==="Time"?C.userData.lifetime=this.data.lifetime*1e3:this.data.destroy==="Quantity"&&(C.userData.quantity=this.data.destroyAfterQuantity,C.userData.actionId=this.uniqueId);let a=new x().fromArray(this.data.velocity),r=o.dataPatched;if(!(r.physics.enabled==="visibility"?!r.visible:!r.physics.enabled)&&(this.controlsManager.sharedGameControlGlobals.rapierWorld?(this.controlsManager.addRigidBody(C,o,{fromCreate:!0,dynamic:this.data.dynamic}),this.data.destroy==="Collision"&&(C.rigidBody?.collider(0).setActiveEvents(1),C.userData.hasCollisionDestroy=!0),C.matrixWorld.decompose(VQA,OK,ZQA),a.applyQuaternion(OK),this.data.velocity.some(s=>s!==0)&&this.data.dynamic&&C.rigidBody?.setLinvel(a.divideScalar(this.controlsManager.pixelsPerMeter),!0)):("geometry"in C.object&&this.controlsManager.addBoundsTree(C),this.data.velocity.some(s=>s!==0)&&this.data.dynamic&&(C.userData.velocity=a)),o.dataPatched.physics?.fusedBody===!0))return!0};let t=this.page.scene.find(this.data.object);if(!t)throw new Error("Missing Property");if(this.object=t,this.data.coordinateSystem!=="world"&&!this.page.scene.find(this.data.coordinateSystem))throw new Error("Missing Property");HK(e)}dispose(){this.intervalId!==null&&(window.clearInterval(this.intervalId),this.intervalId=null),this.timeoutIdQueue.forEach(A=>window.clearTimeout(A)),this.dispatchThrottled.cancel(),this.page.remove(...this.controlsManager.sharedGameControlGlobals.createdObjects),this.controlsManager.sharedGameControlGlobals.createdObjects=[]}},ix=200,K0=.02,J0=.3,XQA=65,zhA=new x,_K=new x,PK=new x,$QA=new x,GC=new x,HC=new x,Zs=new x,q0=new wg,jK=new wg,AnA=new wg,VhA=new wg,ia=new ke,Tr=new ke,Ta=new yt(0,0,0,"YXZ"),gnA=new x(1,0,0),ta=new x(0,1,0),enA=new x(0,0,1),WK=new x(1,1,1),ZhA=new VC,InA=1,inA=.025,tnA=16e-6,zK=12,CnA=20,Ft=new Jo,mo=new ji,onA={type:"requestRender"},anA={type:"updateMatrix"},VK=Math.PI/6,zS=class extends tC{constructor(A,g,e,I,i,t,C,o,a){super(),this.object=A,this.domElement=g,this.data=e,this.gloabalPhysics=I,this.controlsManager=i,this.cameraFollow=t,this.camera=C,this.page=o,this.sharedAssets=a,this.enableDamping=!0,this.hiddenMatrix0=new wg,this.target0=new x,this.zoom0=1,this.rotForce=1,this.moveForce=1,this.pixelsPerMeter=ix,this.euler0=new yt(0,0,0,"YXZ"),this.position0Cam=new x,this.quat0Cam=new ke,this.scale0Cam=new x,this.hiddenMatrix0Cam=new wg,this.threshEndTranslate=.01,this.threshEndRotate=1e-8,this.threshEndRotVel=.005,this.collider={type:"capsule",radius:40,segment:new Jo(new x(0,-40,0),new x(0,40,0)),matrix:new wg,position:new x,rotation:new ke},this.euler=new yt(0,0,0,"YXZ"),this.eulerDelta=new x,this.lastPosition=new x,this.lastCameraQuaternion=new ke,this.lastCameraPosition=new x,this.PI_2=Math.PI/2,this.prevMouse=new mA,this.velocityTarget=new x,this.velocity=new x,this.directionXZ=new x,this.rotVelocityStick=new x,this.rotVelocityTarget=new x,this.rotVelocity=new x,this.rotDirection=new x,this.nonColliderRotOffset=new wg,this.nonColliderPosOffset=new wg,this.firstPointerId=-1,this.rot=new x,this.path=[],this.movementState={moveNegZ:0,movePosZ:0,moveNegX:0,movePosX:0,moveNegY:0,movePosY:0,rotPosX:0,rotNegX:0,rotPosY:0,rotNegY:0,jump:0,run:0},this.vrEulerYOffset=0,this.onObject=!1,this.actionState={},this.keyAssignments=[["moveNegZ","W"],["moveNegX","A"],["movePosZ","S"],["movePosX","D"],["rotPosX","ArrowUp"],["rotPosY","ArrowLeft"],["rotNegX","ArrowDown"],["rotNegY","ArrowRight"],["jump"," "]],this.collisionEnabled=!0,this.offsetMatrix=new wg,this.objectToTarget=new x,this.objectToTarget0=new x,this.objectToCamXZ=new x,this.objectToCamXZ0=new x,this.targetToCamera=new x,this.targetToCamera0=new x,this.cameraPolarAxis0=new x,this.targetPos=new x,this.targetQuat=new ke,this.lerpFactorPos=new x().setScalar(.3),this.lerpFactorPosStart=.3,this.lerpFactorPosEnd=.3,this.lerpFactorRotStart=.3,this.lerpFactorRotEnd=.3,this.lerpFactorPosCamera=.3,this.lerpFactorRotCamera=.3,this.objXZQuat=new ke,this.objXZQuatInv=new ke,this.objXZRotMat=new wg,this.isFirstPerson=!1,this.didHit=!1,this.groundVelocity=new x,this.pushedVelocity=new x,this.groundYRotation=0,this.objectRealQuat=new ke,this.colliderWorldQuat=new ke,this.groundNormal=new x,this.groundTilt=new ke,this.groundTiltInv=new ke,this.lastHitObj=null,this.isFirstFrame=!0,this.rotationAccumWhenOrientWithCamera=0,this.navMeshPathDest=null,this.position=new x,this.quaternion=new ke,this.scale=new x,this.initialAction=!0,this.onPointerDown=E=>{!(E.target===this.domElement||E.target instanceof HTMLElement&&E.target.tagName==="SPLINE-VIEWER"&&E.target.shadowRoot?.contains(this.domElement))||this.firstPointerId!==-1||(this.firstPointerId=E.pointerId,this.domElement.ownerDocument.addEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this.onPointerUp),this.rotBy!=="keys"&&!ro&&!UF&&this.domElement.requestPointerLock(),this.prevMouse.set(E.clientX,E.clientY))},this.onPointerUp=E=>{this.firstPointerId=-1,this.domElement.ownerDocument.removeEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this.onPointerUp),E.pointerType==="mouse"&&this.domElement.ownerDocument.exitPointerLock()},this.onPointerMove=E=>{if(E.pointerId!==this.firstPointerId)return;let l=E.clientX-this.prevMouse.x,h=E.clientY-this.prevMouse.y;this.prevMouse.set(E.clientX,E.clientY),E.pointerType==="mouse"&&this.rotBy!=="keys"&&(UF&&JgA<15.5&&!ro?(this.eulerDelta.y=-l*this.mouseOrbitSensitivity,this.eulerDelta.x=-h*this.mouseOrbitSensitivity):(this.eulerDelta.y=-E.movementX*this.mouseOrbitSensitivity,this.eulerDelta.x=-E.movementY*this.mouseOrbitSensitivity)),E.pointerType!=="mouse"&&this.rotByTouch==="drag"&&(this.eulerDelta.y=-l*this.mouseOrbitSensitivity*5,this.eulerDelta.x=-h*this.mouseOrbitSensitivity*5),this.controlsManager.requestRender()},this.onPointerlockChange=E=>{this.domElement.ownerDocument.pointerLockElement===this.domElement?zS.isLocked=!0:zS.isLocked=!1},this.onPointerlockError=()=>{console.error("SPE.GameControls: Unable to use Pointer Lock API")},this.handleVisibilityChange=()=>{if(document?.hidden)for(let E in this.movementState)this.movementState[E]=0},this.onKeyDown=E=>{!(E.target instanceof HTMLInputElement)&&(E.code==="ArrowLeft"||E.code==="ArrowUp"||E.code==="ArrowRight"||E.code==="ArrowDown"||E.code==="Space")&&E.preventDefault();for(let l of this.keyAssignments)if(E.key.toUpperCase()===l[1]||E.key===l[1]){this.movementState[l[0]]=1;break}this.controlsManager.requestRender()},this.onKeyUp=E=>{for(let l of this.keyAssignments)if(E.key.toUpperCase()===l[1]||E.key===l[1]||E.code.slice(3,E.code.length).toUpperCase()===l[1]){this.movementState[l[0]]=0;break}},this.copyVRGamePadValues=(E,l)=>{for(let h=2;h<4;h++){let u=E.axes[h];l===0?h===2?this.movementState.movePosX=u:this.movementState.movePosZ=u:(E.buttons[3].pressed?this.movementState.jump=1:this.movementState.jump=0,h===2?(Math.abs(this.movementState.rotPosY)<.3&&Math.abs(u)>=.3&&(this.vrEulerYOffset+=u<0?1:-1),this.movementState.rotPosY=u):this.moveMode==="fly"&&(this.movementState.moveNegY=u))}},this.sharedGameControlGlobals=i.sharedGameControlGlobals,A===C&&(this.isFirstPerson=!0),this.hiddenMatrix0.copy(this.object.hiddenMatrix),this.object.parent?this.object.hiddenMatrix.copy(this.object.parent.matrixWorld).invert():this.object.hiddenMatrix.identity(),this.object.matrix.copy(this.object.matrixWorld),this.object.matrix.decompose(this.position,this.quaternion,this.scale),this.euler0.setFromQuaternion(this.quaternion,"YXZ");let r=this.euler0.clone(),s=r.y;if(this.objectRealQuat.copy(this.quaternion),r.y=0,this.quaternion.setFromEuler(r),this.objXZQuat.copy(this.quaternion),this.objXZQuatInv.copy(this.objXZQuat).invert(),this.objXZRotMat.makeRotationFromQuaternion(this.quaternion),r.set(0,s,0),this.quaternion.setFromEuler(r),this.rot.setFromEuler(r),this.object.matrixAutoUpdate=!1,(this.isFirstPerson||this.cameraFollow===!0)&&(this.target0.copy(this.camera.getTarget()),this.zoom0=this.camera.zoom),this.cameraFollow===!0){this.position0Cam.copy(this.camera.position),this.quat0Cam.copy(this.camera.quaternion),this.scale0Cam.copy(this.camera.scale),this.hiddenMatrix0Cam.copy(this.camera.hiddenMatrix),this.camera.parent?(this.camera.hiddenMatrix.copy(this.camera?.parent.matrixWorld),this.camera.matrix.copy(this.camera.matrixWorld)):this.camera.hiddenMatrix.identity(),this.camera.matrix.copy(this.camera.matrixWorld),this.camera.matrix.decompose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.matrixAutoUpdate=!1,this.offsetMatrix.copy(this.object.matrix).invert().multiply(this.camera.matrix);let E=new x(0,0,-1).applyQuaternion(this.camera.quaternion),l=new x().subVectors(this.position,this.camera.position);this.objectToCamXZ.copy(l),this.objectToCamXZ.y=0,this.objectToCamXZ0.copy(this.objectToCamXZ);let h,u;Math.abs(E.y)<1e-6?(l.y=0,E.y=0,u=l.projectOnVector(E)):l.y/E.y>0?u=E.multiplyScalar(l.y/E.y):u=E.multiplyScalar(l.length()),this.targetToCamera0.copy(u).negate(),h=this.camera.position.clone().add(u),this.objectToTarget0.subVectors(h,this.position);let D=new yt().setFromQuaternion(this.camera.quaternion,"YXZ");this.cameraPolarOffset=-D.x,D.x=0,D.z=0,D.y-=Math.PI/2,this.cameraPolarAxis0.set(0,0,-1).applyEuler(D)}if(this.object instanceof lC&&(this.object.matrixAutoUpdate=!1),this.euler.setFromQuaternion(this.quaternion,"YXZ"),this.rotByTouch=e.rotByTouch??"joystick",this.rotBy=e.rotBy??"keys",this.rotationMode=e.rotationMode??"normal",this.moveMode=e.moveMode??"walk",this.collisionEnabled=e.collisionEnabled,this.speedTranslate=(e.speedTranslate??250)*InA,this.speedOrbit=(e.speedRotate??100)*inA,this.mouseOrbitSensitivity=(e.speedRotate??100)*tnA,this.keyAssignments=e.keyAssignments.map(E=>{let l=[E[0],E[1]];return l[1]==="\u25B2"?l[1]="ArrowUp":l[1]==="\u25C0"?l[1]="ArrowLeft":l[1]==="\u25BC"?l[1]="ArrowDown":l[1]==="\u25B6"?l[1]="ArrowRight":l[1]==="\u21E7"?l[1]="Shift":l[1]==="\u21B5"?l[1]="Enter":l[1]==="Space"?l[1]=" ":l[1]==="\u2318"?l[1]="Meta":l[1]==="Ctrl"?l[1]="Control":l[1]==="Esc"&&(l[1]="Escape"),l}),e.rotBy==="mouse"){let E;E=this.keyAssignments.findIndex(l=>l[0]==="rotNegX"),E!==-1&&(this.keyAssignments[E][1]=""),E=this.keyAssignments.findIndex(l=>l[0]==="rotPosX"),E!==-1&&(this.keyAssignments[E][1]=""),E=this.keyAssignments.findIndex(l=>l[0]==="rotPosY"),E!==-1&&(this.keyAssignments[E][1]=""),E=this.keyAssignments.findIndex(l=>l[0]==="rotNegY"),E!==-1&&(this.keyAssignments[E][1]="")}this.lerpFactorPosStart=1-.02**(1/((e.delayPos[0]??.3)*60)),this.lerpFactorPosEnd=1-.02**(1/((e.delayPos[1]??.3)*60)),this.lerpFactorPos.setScalar(this.lerpFactorPosStart),this.lerpFactorRotStart=1-.02**(1/((e.delayRot[0]??.3)*60)),this.lerpFactorRotEnd=1-.02**(1/((e.delayRot[1]??.3)*60)),this.lerpFactorPosCamera=1-.02**(1/((e.delayPosCamera??.3)*60)),this.lerpFactorRotCamera=1-.02**(1/((e.delayRotCamera??.3)*60)),this.gravity=(this.gloabalPhysics.gravity??bE.defaultData.gravity)*zK,this.usePhysics=this.gloabalPhysics.usePhysics??bE.defaultData.usePhysics,this.jumpPower=e.jumpPower*CnA,this.resetYPosition=this.position.y+Math.abs(e.resetYPosition)*(this.gravity>0?1:-1),this.alignToGround=e.alignToGround??!1,this.orientMode=e.autoOrientMove?e.orientMode:"none",this.orientWith=e.orientWith??Ip.defaultDataThirdPerson.orientWith,this.slopeThresh=XQA*Math.PI/180,e.collider.type==="capsule"?(this.collider.radius=e.collider.radius,this.collider.segment.start.y=e.collider.height/2-e.collider.radius,this.collider.segment.end.y=-this.collider.segment.start.y,this.offset=e.collider.height*K0/this.pixelsPerMeter,this.stepThresh=e.collider.height*J0/this.pixelsPerMeter,this.colliderHeight=e.collider.height):e.collider.type==="sphere"?(this.collider.radius=e.collider.radius,this.collider.segment.start.y=0,this.collider.segment.end.y=0,this.offset=2*e.collider.radius*K0/this.pixelsPerMeter,this.stepThresh=2*e.collider.radius*J0/this.pixelsPerMeter,this.colliderHeight=e.collider.radius*2):(this.offset=e.collider.height*K0/this.pixelsPerMeter,this.stepThresh=e.collider.height*J0/this.pixelsPerMeter,this.colliderHeight=e.collider.height),this.collider.type=e.collider.type;let B=new x().fromArray(e.collider.position),Q=new ke().setFromEuler(new yt().fromArray([...e.collider.rotation,"XYZ"]));this.collider.position.copy(B).multiply(this.scale),this.collider.rotation.copy(Q),this.collider.matrix.compose(B,Q,WK),e.cameraXAxis!==void 0&&(this.cameraXAxis=e.cameraXAxis,this.cameraYAxis=e.cameraYAxis,this.minPolarAngle=e.cameraRotXLimits[0],this.maxPolarAngle=e.cameraRotXLimits[1],this.minAzimuthAngleRel=e.cameraRotYLimits[0],this.maxAzimuthAngleRel=e.cameraRotYLimits[1]),this.forwardDir=e.forwardDirection??"-z",this.isFirstPerson&&(this.forwardDir="-z"),this.runMultiplier=e.runMultiplier??2;let n=e.navmesh.destinationHelperRadius*2;if(n>0){let E=new ce;E.push({fi:0,data:{...vt.defaultData("light","phong"),alpha:0},id:"layer1"}),E.push({fi:0,data:{...vt.defaultData("color"),color:e.navmesh.destinationHelperColor,alpha:e.navmesh.destinationHelperColor.a},id:"layer2"});let l=new tm({layers:E},{scene:this.page.scene,shared:this.sharedAssets});this.navMeshPathDest=new Oi(qb.create({parameters:{width:n,height:n/10,hollow:.7}}),l),this.navMeshPathDest.material.userData.opacity0=e.navmesh.destinationHelperColor.a}this.activate()}reset(A=!1){if(this.object.hiddenMatrix.copy(this.hiddenMatrix0),A){this.object.updateMatrix(),this.object.updateMatrixWorld(),this.object.matrix.copy(this.object.matrixWorld),this.object.matrix.decompose(this.position,this.quaternion,this.scale),this.object.parent?this.object.hiddenMatrix.copy(this.object.parent.matrixWorld).invert():this.object.hiddenMatrix.identity();let g=new yt().setFromQuaternion(this.quaternion,"YXZ"),e=g.y;this.objectRealQuat.copy(this.quaternion),g.y=0,this.quaternion.setFromEuler(g),this.objXZQuat.copy(this.quaternion),this.objXZQuatInv.copy(this.objXZQuat).invert(),this.objXZRotMat.makeRotationFromQuaternion(this.quaternion),g.set(0,e,0),this.quaternion.setFromEuler(g),this.rot.setFromEuler(g),this.euler.setFromQuaternion(this.quaternion,"YXZ"),this.velocityTarget.set(0,0,0),this.velocity.set(0,0,0)}else this.object instanceof lC?this.object.matrixAutoUpdate=!0:this.object.updateMatrix();this.cameraFollow===!0&&(this.camera.quaternion.copy(this.quat0Cam),this.camera.position.copy(this.position0Cam),this.camera.scale.copy(this.scale0Cam),this.camera.hiddenMatrix.copy(this.hiddenMatrix0Cam),this.camera.matrixAutoUpdate=!0),this.controlsManager.requestRender()}activate(){this.instantiateActions(),this.domElement.ownerDocument.addEventListener("pointerdown",this.onPointerDown),this.domElement.ownerDocument.addEventListener("keydown",this.onKeyDown),this.domElement.ownerDocument.addEventListener("keyup",this.onKeyUp),this.domElement.ownerDocument.addEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.addEventListener("pointerlockerror",this.onPointerlockError),this.domElement.ownerDocument.addEventListener("visibilitychange",this.handleVisibilityChange)}deactivate(){this.disposeActions(),this.domElement.ownerDocument.removeEventListener("pointerdown",this.onPointerDown),this.domElement.ownerDocument.removeEventListener("keydown",this.onKeyDown),this.domElement.ownerDocument.removeEventListener("keyup",this.onKeyUp),this.domElement.ownerDocument.removeEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener("pointerlockerror",this.onPointerlockError),this.domElement.ownerDocument.removeEventListener("visibilitychange",this.handleVisibilityChange)}dispose(){this.deactivate(),this.navMeshPathDest?.parent&&this.page.remove(this.navMeshPathDest)}instantiateActions(){let A=this.data,g=this.sharedAssets;A.gameActions!==void 0&&(this.actions={},ep.list.forEach(e=>{this.actions[e]=vC({...A,disabled:!1,type:"GameControl"},A.gameActions[e],this.page,g,this.controlsManager.eventManager,this.object)})),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),this.dispatchStartEvent("idle"),this.initialAction&&(this.initialAction=!1)}disposeActions(){this.initialAction=!1,this.dispatchStopEvent("idle"),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),xt(this.actions.idle),xt(this.actions.move),xt(this.actions.run),xt(this.actions.jump)}dispatchStartEvent(A){this.actions[A]!==void 0&&(this.actionState[A]||(this.actionState[A]=!0,this.actions[A].Transition.forEach(g=>{g.play()}),this.actions[A].Animation.forEach(g=>{g.play(this.initialAction===!1)}),this.actions[A].Create.forEach(g=>{g.dispatchStart()}),this.actions[A].Audio.forEach(g=>{g.dispatchGameControl("start")}),this.actions[A].Particles.forEach(g=>{g.dispatchGameControl("start")})))}dispatchStopEvent(A){this.actions[A]!==void 0&&(!this.actionState[A]||(this.actionState[A]=!1,this.actions[A].Transition.forEach(g=>{g.stop(),g.object.currentState!==null&&g.object.changeSelectedState(null,{scene:this.page.scene,shared:this.sharedAssets})}),this.actions[A].Create.forEach(g=>{g.dispatchStop()}),this.actions[A].Audio.forEach(g=>{g.dispatchGameControl("stop")}),this.actions[A].Particles.forEach(g=>{g.dispatchGameControl("stop")})))}get colliderWorldPosition(){return GC.copy(this.collider.position).applyQuaternion(this.objectRealQuat).add(this.position)}update(A,g,e){if(this.gravity<0?this.position.y<this.resetYPosition:this.position.y>this.resetYPosition)return this.reset(!0),!0;this.sharedGameControlGlobals.gamePads.forEach(this.copyVRGamePadValues);let I=(this.isFirstFrame?16.6:A)/1e3;this.isFirstFrame&&(this.isFirstFrame=!1);let i=I*60,t=!1;if(this.usePhysics&&this.collisionEnabled){let o=HC.set(0,(this.velocity.y===0?this.pixelsPerMeter*Math.max(Math.abs(this.gravity)/(10*zK),1)*(this.gravity>0?1:-1):this.velocity.y)*I,0).divideScalar(this.pixelsPerMeter),a=this.sharedGameControlGlobals.rapierWorld.castShape(this.colliderWorldPosition.divideScalar(this.pixelsPerMeter),this.colliderWorldQuat,o,this.object.rigidBody?.collider(0).shape,1,!1,16,void 0,void 0,this.object.rigidBody);if(a){this.onObject=!0,this.groundNormal.set(a.normal2.x,a.normal2.y,a.normal2.z).applyQuaternion(this.colliderWorldQuat).negate(),this.alignToGround&&this.groundTiltAdjustment(this.groundNormal),Math.acos(this.groundNormal.y)<this.slopeThresh&&(t=!0),a.collider.parent()?.bodyType()===0&&Math.acos(this.groundNormal.y)*(180/Math.PI)>45&&(this.onObject=!1);let r=a.collider.parent();this.groundYRotation=0,this.groundVelocity.set(0,0,0);for(let s of this.sharedGameControlGlobals.entitiesWithTransformAnim)if(s.rigidBody===r&&s.userData.isFollowingObj!==this.object.uuid){(s.hasNonUniformScale?s.matrixWorldRigid:s.matrixWorld).decompose(GC,Tr,HC),this.groundVelocity.subVectors(GC,s.prevT),this.object.getWorldPosition(HC).add(this.collider.position).sub(GC),this.groundYRotation=Ta.setFromQuaternion(Tr).y-s.prevR.y,Zs.copy(HC).applyAxisAngle(ta,this.groundYRotation),this.groundVelocity.add(Zs.sub(HC)).divideScalar(I);break}}else this.onObject=!1}if(this.moveMode==="walk"&&this.collisionEnabled&&(this.movementState.jump===1&&this.onObject&&(this.velocityTarget.y=this.jumpPower,this.movementState.jump=0,this.dispatchStopEvent("idle"),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),this.dispatchStartEvent("jump"),this.onObject=!1),this.onObject?this.velocityTarget.y/=2:this.velocityTarget.y+=this.gravity*i),this.moveMode==="fly"&&(this.velocityTarget.y=(this.movementState.movePosY-this.movementState.moveNegY)*this.speedTranslate),this.directionXZ.z=this.movementState.movePosZ-this.movementState.moveNegZ,this.directionXZ.x=this.movementState.movePosX-this.movementState.moveNegX,this.forwardDir==="+z"&&this.directionXZ.multiplyScalar(-1),this.directionXZ.manhattanLength()>0&&(this.path=[]),this.navMeshPathDest){let o=this.navMeshPathDest.material;if(this.moveMode==="walk"&&this.path.length>1){this.navMeshPathDest.position.copy(this.path[this.path.length-1]),this.navMeshPathDest.parent||this.page.add(this.navMeshPathDest);let a=GC.subVectors(this.path[1],this.position),r=HC.subVectors(this.path[1],this.path[0]);a.dot(r)<0?this.path.shift():(this.directionXZ.x=r.x,this.directionXZ.z=r.z),o.opacity=o.userData.opacity0}else o.opacity-=.05*o.userData.opacity0,this.navMeshPathDest.material.opacity<=0&&this.navMeshPathDest.parent&&this.page.remove(this.navMeshPathDest)}this.directionXZ.normalize(),this.movementState.run?this.moveForce=this.runMultiplier:this.moveForce=1,this.velocityTarget.z=this.directionXZ.z*this.speedTranslate*this.moveForce,this.velocityTarget.x=this.directionXZ.x*this.speedTranslate*this.moveForce,(this.moveMode==="walk"?this.velocityTarget.x+this.velocityTarget.z===0:this.velocityTarget.manhattanLength()===0)?this.lerpFactorPos.setScalar(this.lerpFactorPosEnd):this.lerpFactorPos.setScalar(this.lerpFactorPosStart),this.moveMode==="walk"&&(this.lerpFactorPos.y=1),this.didHit===!1&&this.pushedVelocity.manhattanLength()===0||this.usePhysics===!1?(this.velocity.x+=(this.velocityTarget.x-this.velocity.x)*(1-(1-this.lerpFactorPos.x)**i),this.velocity.y+=(this.velocityTarget.y-this.velocity.y)*(1-(1-this.lerpFactorPos.y)**i),this.velocity.z+=(this.velocityTarget.z-this.velocity.z)*(1-(1-this.lerpFactorPos.z)**i)):this.velocity.copy(this.velocityTarget),(this.moveMode==="walk"?this.velocity.x**2+this.velocity.z**2<this.speedTranslate:this.velocity.lengthSq()<this.speedTranslate)?(this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.onObject&&(this.dispatchStopEvent("jump"),this.dispatchStartEvent("idle"))):(this.dispatchStopEvent("idle"),this.onObject&&(this.dispatchStopEvent("jump"),this.movementState.run?(this.dispatchStopEvent("move"),this.dispatchStartEvent("run")):(this.dispatchStopEvent("run"),this.dispatchStartEvent("move"))));let C=$QA.copy(this.velocity);if(this.orientMode!=="none"&&this.isFirstPerson===!1){let o=HC.copy(C);o.y=0,C.set(0,C.y,o.length()*(this.forwardDir==="+z"?1:-1))}if(this.directionXZ.manhattanLength()>0&&this.orientMode!=="none"&&this.isFirstPerson===!1)if(this.orientWith==="camera"&&this.path.length<=1){let o=GC;this.camera.getWorldDirection(o);let a=Zs.copy(ta).multiplyScalar(o.dot(ta));o.sub(a);let r=HC.copy(this.directionXZ);r.x*=-1,this.rot.y=o.angleTo(r)*(o.cross(r).y>0?-1:1)+this.rotationAccumWhenOrientWithCamera}else this.rot.y=(this.path.length>1?0:this.euler.y)+Math.atan2(-this.directionXZ.z,this.directionXZ.x)+Math.PI/2*(this.forwardDir==="+z"?1:-1);if(Ta.setFromVector3(this.rot),this.moveMode==="walk"&&(Ta.x=0),C.applyEuler(Ta),t&&(Tr.setFromUnitVectors(ta,this.groundNormal),C.applyQuaternion(Tr)),e){let o=Ta.set(0,this.vrEulerYOffset*VK,0);e.applyEuler(o),C.x+=e.x,C.z+=e.z,this.nonColliderPosOffset.elements[13]+=e.y*I}if(this.usePhysics===!0){let o=HC;this.pushedVelocity.set(0,0,0);for(let a of this.sharedGameControlGlobals.entitiesWithTransformAnim){let r=Zs.setFromMatrixPosition(a.matrixWorld).sub(a.prevT).divideScalar(I).divideScalar(this.pixelsPerMeter),s=a.rigidBody.collider(0).castCollider(r,this.object.rigidBody.collider(0),GC.copy(C).divideScalar(this.pixelsPerMeter),I,!1);r.multiplyScalar(this.pixelsPerMeter);let B=hI.is(a)?a:a.object;if(s!==null&&this.lastHitObj!==B){let Q;a instanceof nC&&(Q=a);let n=this.sharedGameControlGlobals.entityToCollisionEvents[B.uuid];if(n)for(let E of n)E.data.target==="character"&&(E.dispatch(Q),B.dispatchEvent(ZS));this.lastHitObj=B}if(s!==null){this.pushedVelocity.copy(r),o.copy(s.normal1).applyQuaternion(a.quaternion);break}}if(this.pushedVelocity.manhattanLength()!==0){let a=o.dot(C);a<0&&C.addScaledVector(o,-a),C.add(this.pushedVelocity)}else C.add(this.groundVelocity)}if(this.rotDirection.y=Number(this.movementState.rotPosY)-Number(this.movementState.rotNegY),this.rotDirection.x=Number(this.movementState.rotPosX)-Number(this.movementState.rotNegX),this.rotDirection.normalize(),this.rotationMode==="normal"&&(this.movementState.rotPosX||this.movementState.rotNegX)||this.rotationMode==="steer"&&(this.movementState.rotPosX||this.movementState.rotNegX)&&(this.movementState.movePosZ||this.movementState.moveNegZ||this.moveMode==="walk")?this.rotVelocityStick.x=-this.rotDirection.x*this.speedOrbit*this.rotForce:this.rotVelocityStick.x=0,this.rotationMode==="normal"&&(this.movementState.rotPosY||this.movementState.rotNegY)||this.rotationMode==="steer"&&(this.movementState.rotPosY||this.movementState.rotNegY)&&(this.movementState.movePosZ||this.movementState.moveNegZ)?this.rotVelocityStick.y=-this.rotDirection.y*this.speedOrbit*this.rotForce:this.rotVelocityStick.y=0,this.rotVelocityTarget.subVectors(this.eulerDelta.divideScalar(I),this.rotVelocityStick),this.rotVelocityTarget.manhattanLength()===0?this.rotVelocity.lerp(this.rotVelocityTarget,1-(1-this.lerpFactorRotEnd)**i):this.rotVelocity.lerp(this.rotVelocityTarget,1-(1-this.lerpFactorRotStart)**i),this.euler.x+=this.rotVelocity.x*I,this.euler.y+=this.rotVelocity.y*I+this.groundYRotation,this.rotVelocityTarget.y===0&&this.directionXZ.manhattanLength()===0?this.rotationAccumWhenOrientWithCamera=0:(this.cameraFollow===!1||this.cameraYAxis==="Locked")&&(this.rotationAccumWhenOrientWithCamera+=this.rotVelocity.y*I),this.isFirstPerson===!1&&this.orientMode!=="none"&&this.directionXZ.manhattanLength()>0){if(this.orientMode==="radial"){this.objectToCamXZ.copy(this.objectToCamXZ0).applyAxisAngle(ta,this.euler.y-this.euler0.y);let o=HC.copy(this.objectToCamXZ).normalize(),a=Zs.copy(C).multiplyScalar(I);a.y=0;let r=a.sub(GC.copy(o).multiplyScalar(a.dot(o))).cross(o).y;this.euler.y-=Math.atan2(r,this.objectToCamXZ.length())}}else this.rot.y+=this.rotVelocity.y*I+this.groundYRotation,this.rotVelocityTarget.y!==0&&(this.cameraFollow===!1||this.cameraYAxis==="Locked")&&(this.euler.y=this.rot.y);if(this.cameraFollow===!0&&(this.moveMode==="walk"?this.cameraXAxis==="Limit"?this.euler.x=Xg.clamp(this.euler.x,-this.maxPolarAngle+this.cameraPolarOffset+1e-6,-this.minPolarAngle+this.cameraPolarOffset-1e-6):this.euler.x=Xg.clamp(this.euler.x,-this.PI_2+this.cameraPolarOffset,this.PI_2+this.cameraPolarOffset):this.cameraXAxis==="Limit"&&(this.euler.x=Xg.clamp(this.euler.x,-this.PI_2,this.PI_2))),this.moveMode==="fly"?this.rot.x=this.euler.x:this.isFirstPerson&&(g?(Ta.copy(g),Ta.y=0):(Ta.copy(this.euler),Ta.y=0),this.nonColliderRotOffset.makeRotationFromEuler(Ta)),g&&(this.moveMode==="walk"?(this.rot.y=g.y,this.rot.x=0,this.rot.z=0):this.rot.setFromEuler(g),this.rot.y+=this.vrEulerYOffset*VK),ia.setFromAxisAngle(gnA,this.rot.x),Tr.setFromAxisAngle(ta,this.rot.y),Tr.multiply(ia),ia.setFromAxisAngle(enA,this.rot.z),Tr.multiply(ia),this.quaternion.copy(Tr),this.objectRealQuat.multiplyQuaternions(this.quaternion,this.objXZQuat),this.colliderWorldQuat.copy(this.objectRealQuat).multiply(this.collider.rotation),this.collisionEnabled)if(this.usePhysics){let o=HC.copy(C).multiplyScalar(I/this.pixelsPerMeter),a=null;this.didHit=!1;let r=new x;for(let s=0;s<5;s++){let B=o.length(),Q=Zs.copy(o).normalize();if(a=this.sharedGameControlGlobals.rapierWorld.castShape(this.colliderWorldPosition.divideScalar(this.pixelsPerMeter).add(r),this.colliderWorldQuat,Q,this.object.rigidBody?.collider(0).shape,B,!1,24,void 0,void 0,this.object.rigidBody),a!==null){this.didHit=!0;let n=this.sharedGameControlGlobals.colliderToEntity.get(a.collider.handle);if(n!==this.lastHitObj&&s===0){this.lastHitObj=n;let u=this.sharedGameControlGlobals.entityToCollisionEvents[n?.uuid];if(u){for(let D of u)if(D.data.target==="character"){let p=(this.sharedGameControlGlobals.rapierWorld?.getCollider(a.collider.handle))._parent,w;if(n.cloner){for(let k of n.cloner.children)if(k.rigidBody===p){w=k;break}}D.dispatch(w),n.dispatchEvent(ZS)}}}let E=_K.set(a.normal2.x,a.normal2.y,a.normal2.z).applyQuaternion(this.colliderWorldQuat),l=PK.copy(Q).multiplyScalar(a.toi).dot(E),h=a.toi;if(h===0&&(this.position.y+=this.offset*this.pixelsPerMeter),l>this.offset&&(h=a.toi*(l-this.offset)/l,r.addScaledVector(Q,h)),o.copy(Q).multiplyScalar(B-h),Math.acos(-E.y)>this.slopeThresh){let u=this.colliderWorldPosition.divideScalar(this.pixelsPerMeter).add(r),D=Zs.copy(a.witness2).applyQuaternion(this.colliderWorldQuat);D.y=0;let p=u.add(D);p.y+=this.stepThresh;let w=this.sharedGameControlGlobals.rapierWorld.castShape(p,this.colliderWorldQuat,o,this.object.rigidBody?.collider(0).shape,1,!1,24,void 0,void 0,this.object.rigidBody);w!==null&&w.toi===0&&(E.y=0,E.normalize())}o.addScaledVector(E,-o.dot(E))}else{s===0&&this.directionXZ.manhattanLength()!==0&&(this.lastHitObj=null),r.add(o);break}}this.position.addScaledVector(r,this.pixelsPerMeter),this.object.rigidBody?.setTranslation(GC.copy(this.position).divideScalar(this.pixelsPerMeter),!0),this.object.rigidBody?.setRotation(ia.copy(this.quaternion).premultiply(this.groundTilt).multiply(this.objXZQuat),!0)}else{let o=this.onObject?1:5,a=C.multiplyScalar(I/o);for(let r=0;r<o;r++)this.position.add(a),this.collisionAdjustment(I/o)}else this.position.addScaledVector(C,I);if(this.moveMode==="walk"&&this.onObject&&(this.velocityTarget.y=0,this.velocity.y=0),this.quaternion.premultiply(this.groundTilt).multiply(this.objXZQuat),this.object.matrix.compose(this.position,this.quaternion,this.scale),this.object.matrixWorldNeedsUpdate=!0,this.object.matrix.multiply(this.nonColliderPosOffset).multiply(this.nonColliderRotOffset),this.quaternion.premultiply(this.groundTiltInv).multiply(this.objXZQuatInv),this.cameraFollow===!0){this.updateFollowArms();let o=this.objectToTarget.add(this.position),a=this.targetToCamera.add(o);q0.lookAt(a,o,ta).setPosition(a),q0.decompose(this.targetPos,this.targetQuat,GC),this.camera.quaternion.slerp(this.targetQuat,1-(1-this.lerpFactorRotCamera)**i),this.camera.position.lerp(this.targetPos,1-(1-this.lerpFactorPosCamera)**i),this.camera.updateMatrix(),this.camera.updateMatrixWorld(),this.cameraYAxis==="Limit"&&this.orientMode==="cartesian"&&(this.euler.y=Xg.clamp(this.euler.y,this.minAzimuthAngleRel,this.maxAzimuthAngleRel)),this.euler.x=Xg.clamp(this.euler.x,-this.PI_2+(this.cameraPolarOffset<0?this.cameraPolarOffset:0),this.PI_2+(this.cameraPolarOffset>0?this.cameraPolarOffset:0))}return this.eulerDelta.set(0,0,0),this.object.dispatchEvent(anA),this.path.length<2&&this.lastPosition.distanceToSquared(this.position)<this.threshEndTranslate&&Math.abs(this.rotVelocity.x)<this.threshEndRotVel&&Math.abs(this.rotVelocity.y)<this.threshEndRotVel&&(this.camera===void 0||this.isFirstPerson||this.lastCameraPosition.distanceToSquared(this.camera.position)<this.threshEndTranslate&&8*(1-this.lastCameraQuaternion.dot(this.camera.quaternion))<this.threshEndRotate)&&(this.moveMode==="fly"||this.onObject===!0||this.collisionEnabled===!1)&&(this.navMeshPathDest===null||this.navMeshPathDest.material.opacity<-.04*this.navMeshPathDest?.material?.userData.opacity0)?!1:(this.camera&&(this.lastCameraPosition.copy(this.camera.position),this.lastCameraQuaternion.copy(this.camera.quaternion)),this.lastPosition.copy(this.position),this.object.dispatchEvent(onA),!0)}updateFollowArms(){this.objectToTarget.copy(this.objectToTarget0),this.targetToCamera.copy(this.targetToCamera0);let A=ia.setFromAxisAngle(ta,this.cameraYAxis==="Limit"&&this.orientMode!=="radial"?Xg.clamp(this.euler.y-this.euler0.y,this.minAzimuthAngleRel,this.maxAzimuthAngleRel):this.euler.y-this.euler0.y);(this.cameraYAxis!=="Locked"||this.orientMode==="radial")&&this.objectToTarget.applyQuaternion(A);let g;this.cameraXAxis==="Limit"?g=Xg.clamp(this.euler.x,-this.maxPolarAngle+this.cameraPolarOffset+1e-6,-this.minPolarAngle+this.cameraPolarOffset-1e-6):g=Xg.clamp(this.euler.x,-this.PI_2+this.cameraPolarOffset+1e-6,this.PI_2+this.cameraPolarOffset-1e-6);let e=GC.copy(this.cameraPolarAxis0);(this.cameraYAxis!=="Locked"||this.orientMode==="radial")&&e.applyQuaternion(A);let I=Tr.setFromAxisAngle(e,g);this.cameraYAxis!=="Locked"&&this.targetToCamera.applyQuaternion(A),this.cameraXAxis!=="Locked"&&this.targetToCamera.applyQuaternion(I)}groundTiltAdjustment(A){ta.angleTo(A)*180/Math.PI<15||ta.angleTo(A)*180/Math.PI>85?ia.identity():ia.setFromUnitVectors(ta,A),this.groundTilt.slerp(ia,.06),this.groundTiltInv.copy(this.groundTilt).invert()}collisionAdjustment(A){let g=PK.set(0,0,0);this.object.matrix.compose(this.position,this.quaternion,this.scale);let e=q0.multiplyMatrices(this.object.matrix,this.objXZRotMat).multiply(this.collider.matrix).decompose(GC,ia,HC).compose(GC,ia,WK);this.sharedGameControlGlobals.entitiesWithTransformAnim.forEach(i=>{if(i===this.object||i.isDescendantOf(this.object))return;mo.makeEmpty(),i.updateMatrixWorldSVD();let t=i.matrixWorldRigid,C=jK.copy(t).invert(),o=AnA.copy(jK).multiply(e);Ft.copy(this.collider.segment),Ft.start.applyMatrix4(o),Ft.end.applyMatrix4(o);let a=_K.copy(this.position).applyMatrix4(C);mo.expandByPoint(Ft.start),mo.expandByPoint(Ft.end),mo.min.addScalar(-this.collider.radius),mo.max.addScalar(this.collider.radius),i.bvhGeometry.boundsTree.shapecast({traverseBoundsOrder(r){return r.distanceToPoint(Ft.end)},intersectsBounds:r=>r.intersectsBox(mo),intersectsTriangle:r=>{let s=GC,B=HC,Q=r.closestPointToSegment(Ft,s,B);if(Q<this.collider.radius){let n=this.collider.radius-Q,E=B.sub(s).normalize(),l=Zs.copy(a);l.addScaledVector(E,n);let h=l.applyMatrix4(t).sub(this.position);g.add(h),Ft.start.addScaledVector(E,n),Ft.end.addScaledVector(E,n)}}})}),mo.makeEmpty(),Ft.copy(this.collider.segment),Ft.start.applyMatrix4(e),Ft.end.applyMatrix4(e),mo.expandByPoint(Ft.start),mo.expandByPoint(Ft.end),mo.min.addScalar(-this.collider.radius),mo.max.addScalar(this.collider.radius),this.sharedGameControlGlobals.staticMeshBVH?.shapecast({traverseBoundsOrder(i){return i.distanceToPoint(Ft.end)},intersectsBounds:i=>i.intersectsBox(mo),intersectsTriangle:i=>{let t=GC,C=HC,o=i.closestPointToSegment(Ft,t,C);if(o<this.collider.radius){let a=this.collider.radius-o,r=C.sub(t).normalize();this.alignToGround&&this.groundTiltAdjustment(r),g.addScaledVector(r,a),Ft.start.addScaledVector(r,a),Ft.end.addScaledVector(r,a)}}}),this.onObject=Math.abs(g.y)>Math.abs(A*this.velocity.y*.25),this.onObject&&this.dispatchStopEvent("jump");let I=Math.max(0,g.length()-1e-5);g.normalize().multiplyScalar(I),this.position.add(g)}},tx=zS;tx.isLocked=!1;var rnA=cs(nJ());function As(A,g){let e=new se;if(!A.getAttribute("position"))return e.setAttribute("position",new _g([],3)),e.setIndex([]),e;let{positions:I,triIndices:i}=Yp(A.getAttribute("position"),A.getIndex());return e.setAttribute("position",new _g(I,3)),e.setIndex(i),g&&e.applyMatrix4(g),e}var snA=new wg,BnA=new wg,Oa=[[0,0,0],[0,0,0],[0,0,0]];function Cx(A){let g=A.elements;Oa[0][0]=g[0],Oa[0][1]=g[4],Oa[0][2]=g[8],Oa[1][0]=g[1],Oa[1][1]=g[5],Oa[1][2]=g[9],Oa[2][0]=g[2],Oa[2][1]=g[6],Oa[2][2]=g[10];let{u:e,v:I}=(0,rnA.SVD)(Oa),i=snA.set(e[0][0],e[0][1],e[0][2],0,e[1][0],e[1][1],e[1][2],0,e[2][0],e[2][1],e[2][2],0,0,0,0,1),t=BnA.set(I[0][0],I[0][1],I[0][2],0,I[1][0],I[1][1],I[1][2],0,I[2][0],I[2][1],I[2][2],0,0,0,0,1);return i.multiply(t.transpose())}var QnA=class extends tq{constructor(){super(),this.layers.enable(3),this.layers.enable(8)}setFromCamera(A,g){g.isOrthographicCamera?(this.ray.origin.set(A.x,A.y,-1).unproject(g),this.ray.direction.set(0,0,-1).transformDirection(g.matrixWorld),this.camera=g):g.isPerspectiveCamera?(this.ray.origin.set(A.x,A.y,-1).unproject(g),this.ray.direction.set(A.x,A.y,.5).unproject(g).sub(this.ray.origin).normalize(),this.camera=g):console.error("Raycaster: Unsupported camera type.")}intersectVisibleObjects(A,g=!0,e=[]){return A.forEach(I=>{I.visible&&this.intersectObject(I,g,e)}),e}createRaycastLineHelper(){let A=new SB({color:65280,linewidth:10}),g=new x(this.ray.origin.x,this.ray.origin.y,this.ray.origin.z),e=new x(this.ray.direction.x,this.ray.direction.y,this.ray.direction.z),I=this.camera.far-this.camera.near,i=new x().addVectors(g,e.multiplyScalar(I)),t=new se;return t.setFromPoints([g,i]),new GD(t,A)}},ox=A=>A instanceof GE||A instanceof mE;function nnA(A,g){return A.distance-g.distance}function ax(A,g,e){if(!(!$r(g)||!g.visible)){ra(g)&&g.raycast(A,e);for(let I of g.children)ax(A,I,e)}}function uD(A,g,e,I=!1){if(!I&&!e.some(t=>Dp(A,t)!==void 0))return[];let i=[];return g.children.forEach(t=>ax(A,t,i)),i.sort(nnA),i}function VS(A){let g=[];if(A.length){let e=A[0].object;$r(e)&&g.push(e);let I=e.parent;for(;I;)ox(I)&&g.push(I),I=I.parent}return g}function gs(A,g,e,I){let i=A.frame;if(i){let t=g[0]*i.width,C=(1-g[1])*i.height;for(let o of e){let a=o===i.uuid?i:i.find(o);if(a?.intersects(t,C))return I(a),!0}}return!1}function Dp(A,g){if(ra(g)){if(g.visible){let e=[];return g.raycast(A,e),e.length?e[0]:void 0}}else if(ox(g))return rx(A,g)}function rx(A,g){if(!(!$r(g)||!g.visible)){if(ra(g)){let e=[];if(g.raycast(A,e),e.length)return e[0]}for(let e of g.children){let I=rx(A,e);if(I)return I}}}function EnA(A,g,e){return{x:(A-(e.left+window.scrollX))/e.width*2-1,y:-((g-(e.top+window.scrollY))/e.height)*2+1}}function hnA(A,g,e){return{x:(A-(e.left+window.scrollX))/e.width,y:1-(g-(e.top+window.scrollY))/e.height}}var lnA=class{constructor(A,g,e,I,i,t,C,o){this.renderer=A,this.publish=g,this.scene=e,this.getCamera=I,this.sharedAssets=i,this.requestRender=t,this.isExport=C,this.frame=o,this.raycaster=new QnA,this._useWindowEvents=!1,this.pointerWorld={x:0,y:0},this.pointerScreen={x:0,y:0},this._useWindowEvents=g.mouseEventTarget==="window",this.domElement=A.domElement,this.eventElement=this._useWindowEvents?window:A.domElement,this._domRect=this.domElement.getBoundingClientRect()}get stopRaycast(){return this.publish.stopRaycast}get page(){return this.scene.activePage}set useWindowEvents(A){this._useWindowEvents=A,this.eventElement=A?window:this.renderer.domElement}get useWindowEvents(){return this._useWindowEvents}set domRect(A){this._domRect=A}get domRect(){return this._domRect}updateRaycaster(A){let{pageX:g,pageY:e}=A.touches?.length>0?A.touches[0]:A;this.pointerWorld=EnA(g,e,this._domRect),this.pointerScreen=hnA(g,e,this._domRect),this.raycaster.setFromCamera(this.pointerWorld,this.getCamera())}},ya=class{constructor(A){this.eventContext=A,this.domEventsNeeded=new Set,this.hasVideoAction=!1}connect(){}disconnect(){}},Fm=[["start","Start"],["keyDown","KeyDown"],["keyUp","KeyUp"],["mouseDown","MouseDown"],["mouseUp","MouseUp"],["mouseHover","MouseHover"],["collision","Collision"],["lookAt","LookAt"],["follow","Follow"],["scroll","Scroll"]],sx=A=>Fm.find(([g,e])=>e===A)?.[0],Lc=A=>Fm.find(([g])=>g===A)?.[1],cnA=(A,g)=>{let e=sx(A);if(e){let I=new CustomEvent(e,{bubbles:!0});return Object.defineProperty(I,"target",{writable:!1,value:g}),I}},dnA=class extends ya{constructor(){super(...arguments),this.objectsPerEvents=new Map,this.splineEvents={},this.onBeginEvent=A=>{if(!A.eventName||!A.target||A.eventName==="Scroll")return;let g=this.splineEvents[sx(A.eventName)]?.[A.target.uuid];if(!g)return;A.eventName==="Scroll"&&A.deltaY!==void 0&&Object.assign(g,{deltaY:A.deltaY});let{domElement:e}=this.eventContext;e.dispatchEvent(g)}}connect(){let{page:A}=this.eventContext;A.traverseEntity(g=>{if(g.data?.events.length){for(let[e,I]of Fm)if(g.data.events.some(i=>i.data.type===I&&!i.data.disabled)){this.objectsPerEvents.has(e)?this.objectsPerEvents.get(e)?.push(g):this.objectsPerEvents.set(e,[g]);let i={id:g.uuid,name:g.name},t=cnA(I,i),C=this.splineEvents[e];C?C[g.uuid]=t:this.splineEvents[e]={[g.uuid]:t}}}}),this.objectsPerEvents.forEach(g=>{g.forEach(e=>{e.addEventListener("beginEvent",this.onBeginEvent)})})}disconnect(){this.objectsPerEvents.forEach(A=>{A.forEach(g=>{g.removeEventListener("beginEvent",this.onBeginEvent)})})}},unA=class{constructor(A,g,e,I,i,t){if(this.id=A,this.data=g,this.object=e,this.entered=!1,(g.type==="KeyDown"||g.type==="KeyUp"||g.type==="KeyPress")&&!g.key)throw new Error("Missing property");this.actions=vC(g,g.actions,I,i,t,e)}disconnect(){xt(this.actions)}dispatchHeld(A){this.actions.Create.forEach(g=>{A&&g.dispatchThrottled.cancel(),g.dispatchThrottled()})}dispatch(A=!1){this.actions.Transition.forEach(g=>{g.object.currentTransitionEvent!==this&&(g.object.currentTransitionEvent=this,g.init())}),this.data.type==="MousePress"||this.data.type==="KeyPress"?this.entered||(this.entered=!0,this.actions.Transition.forEach(g=>g.playFromCurrent()),this.actions.Animation.forEach(g=>g.playFromCurrent()),this.actions.SwitchCamera.forEach(g=>g.playFromCurrent()),this.actions.Create.forEach(g=>g.dispatchStart())):(this.actions.Transition.some(g=>g.playing&&g.data.runMode!=="Toggle")||this.actions.Transition.forEach(g=>{g.data.runMode==="Toggle"?g.toggle():g.play()}),this.actions.SwitchCamera.some(g=>g.playing&&g.data.runMode!=="Toggle")||this.actions.SwitchCamera.forEach(g=>{g.data.runMode==="Toggle"?g.toggle():g.play()}),this.actions.Animation.forEach(g=>{g.data.runMode==="Toggle"?g.toggle():g.play()})),this.actions.Link.forEach(g=>{g.dispatch()}),this.actions.SceneTransition.forEach(g=>{g.dispatch()}),A===!1&&this.actions.Create.forEach(g=>{g.dispatch()}),this.actions.Destroy.forEach(g=>{g.dispatch()}),this.actions.Reset.forEach(g=>{g.dispatch()}),this.actions.Audio.forEach(g=>{g.dispatchBasic()}),this.actions.Video.forEach(g=>{g.dispatchBasic()}),this.actions.Particles.forEach(g=>{g.dispatchBasic()}),this.actions.SetVariable.forEach(g=>g.checkConditions()),this.actions.SetVariable.forEach(g=>g.dispatch()),this.actions.DynamicVariablePlay.forEach(g=>g.dispatch()),this.actions.ClearLocalStorage.forEach(g=>g.dispatch())}dispatchRelease(){this.entered&&(this.entered=!1,this.actions.Transition.forEach(A=>A.reverseFromCurrent()),this.actions.Particles.forEach(A=>A.reverseFromCurrent()),this.actions.Animation.forEach(A=>A.reverseFromCurrent()),this.actions.SwitchCamera.forEach(A=>A.reverseFromCurrent()),this.actions.Create.forEach(A=>A.dispatchStop()))}dispatchUserEvent(A){this.actions.Transition.forEach(g=>{g.object.currentTransitionEvent!==this&&(g.object.currentTransitionEvent=this,g.init())}),A?(this.actions.Transition.forEach(g=>g.reverseFromCurrent()),this.actions.Animation.forEach(g=>g.reverseFromCurrent()),this.actions.SwitchCamera.forEach(g=>g.reverseFromCurrent())):(this.actions.Transition.forEach(g=>g.playFromCurrent()),this.actions.Animation.forEach(g=>g.playFromCurrent()),this.actions.SwitchCamera.forEach(g=>g.playFromCurrent())),this.actions.Link.forEach(g=>{g.dispatch()}),this.actions.SceneTransition.forEach(g=>{g.dispatch()}),this.actions.Create.forEach(g=>{g.dispatch()}),this.actions.Destroy.forEach(g=>{g.dispatch()}),this.actions.Reset.forEach(g=>{g.dispatch()}),this.actions.Audio.forEach(g=>{g.dispatchBasic()}),this.actions.Video.forEach(g=>{g.dispatchBasic()}),this.actions.Particles.forEach(g=>{g.dispatchBasic()}),this.actions.SetVariable.forEach(g=>g.checkConditions()),this.actions.SetVariable.forEach(g=>g.dispatch()),this.actions.DynamicVariablePlay.forEach(g=>g.dispatch()),this.actions.ClearLocalStorage.forEach(g=>g.dispatch())}},DnA=class extends ya{constructor(A,g,e){super(A),this.eventManager=g,this.useForRaycastProperty=e,this.objectsPerTypes={MouseDown:[],MouseUp:[],MousePress:[],KeyDown:[],KeyUp:[],KeyPress:[]},this.canvasMouseEvents=[],this.eventsPerObjects={MouseDown:{},MouseUp:{},MousePress:{},KeyDown:{},KeyUp:{},KeyPress:{}},this.heldKeys={},this.heldKeysPress={},this._prevObjects=[],this.sceneInterects=null,this.onCanvasRaycast=I=>{if(this.useForRaycastProperty===!0&&this.sceneInterects===null){this.eventContext.updateRaycaster(I);let{raycaster:i,page:t}=this.eventContext,C=uD(i,t,[],!0);this.sceneInterects=C,C.length&&(this.eventContext.sharedAssets.raycastProperty={x:C[0].point.x,y:C[0].point.y,z:C[0].point.z,objX:C[0].object.matrixWorld.elements[12],objY:C[0].object.matrixWorld.elements[13],objZ:C[0].object.matrixWorld.elements[14]})}},this.onCanvasMouseDown=I=>{(I.target===this.eventContext.domElement||I.target.tagName==="SPLINE-VIEWER")&&this.canvasMouseEvents.forEach(i=>{(i.data.type==="MouseDown"||i.data.type==="MousePress")&&(this.onCanvasRaycast(I),i.dispatch())})},this.onCanvasMouseUp=I=>{(I.target===this.eventContext.domElement||I.target.tagName==="SPLINE-VIEWER")&&this.canvasMouseEvents.forEach(i=>{i.data.type==="MouseUp"?(this.onCanvasRaycast(I),i.dispatch()):i.data.type==="MousePress"&&i.dispatchRelease()})},this.onMouseDown=I=>{ye.length>1||(this.eventContext.updateRaycaster(I),this.handleMouseEvent("MouseDown"))},this.onMouseUp=I=>{ye.length>1||(this.eventContext.updateRaycaster(I),this.handleMouseEvent("MouseUp"))},this.onMousePressDown=I=>{ye.length>1||(this.eventContext.updateRaycaster(I),this.handleMousePressEvent())},this.onMousePressRelease=I=>{ye.length>1||(this.eventContext.updateRaycaster(I),this.handleMousePressEvent(!0))},this.onKeyDown=I=>{this.heldKeys[I.key]||(this.handleKeyEvent(I,"KeyDown"),this.handleKeyEventHeld(I,"KeyDown",!0)),this.heldKeys[I.key]=!0},this.onKeyUp=I=>{this.handleKeyEvent(I,"KeyUp"),this.handleKeyEventHeld(I,"KeyUp",!0)},this.onKeyPressDown=I=>{this.heldKeysPress[I.key]?this.handleKeyEventHeld(I,"KeyPress"):(this.handleKeyEvent(I,"KeyPress"),this.handleKeyEventHeld(I,"KeyPress",!0)),this.heldKeysPress[I.key]=!0},this.onKeyPressUp=I=>{this.handleKeyEvent(I,"KeyPress",!0)},this.releaseHeldKey=I=>{delete this.heldKeys[I.key]},this.releaseHeldKeyPress=I=>{delete this.heldKeysPress[I.key]},this._onUserEvent=({eventName:I,target:i,reverse:t})=>{if(!I||!i)return;let C=Lc(I);C&&(C==="MouseDown"||C==="MouseUp"||C==="MousePress"?(i.dispatchEvent({type:"beginEvent",eventName:C}),this.eventsPerObjects[C]?.[i.uuid]?.forEach(o=>{o.dispatchUserEvent(t)})):(C==="KeyDown"||C==="KeyUp"||C==="KeyPress")&&(i.dispatchEvent({type:"beginEvent",eventName:C}),this.eventsPerObjects[C]?.[i.uuid]?.forEach(o=>{o.dispatchUserEvent()})))}}connect(){let{page:A,sharedAssets:g,domElement:e}=this.eventContext,I=(i,t)=>{if(!i.data?.events.length)return;let C=["MouseDown","MouseUp","MousePress","KeyDown","KeyUp","KeyPress"];for(let o of C){let a=this.eventsPerObjects[o];i.data.events.filter(({data:r})=>r.type===o&&r.disabled!==!0).forEach(({id:r,data:s})=>{try{let B=new unA(r,s,i,A,g,this.eventManager);B.actions.Video.length&&(this.hasVideoAction=!0),(s.type==="MouseDown"||s.type==="MouseUp"||s.type==="MousePress")&&(s.mode==="Canvas"||s.mode==="Window")?this.canvasMouseEvents.push(B):a[i.uuid]?a[i.uuid].some(Q=>Q.id===B.id)||a[i.uuid].push(B):a[i.uuid]=[B]}catch{}}),a[i.uuid]?.length&&this.objectsPerTypes[o].push(i instanceof Yt&&(o==="MouseDown"||o==="MouseUp"||o==="MousePress")?t:i)}};A.traverseEntity(i=>{(i instanceof QC||i instanceof Kt)&&i.frame?.traverse(t=>{I(t,i)}),I(i)}),this.heldKeys={},this.heldKeysPress={},this.domEventsNeeded.clear(),e.addEventListener("pointerdown",this.onCanvasMouseDown),e.addEventListener("pointerup",this.onCanvasMouseUp),(this.objectsPerTypes.MouseDown?.length||this.useForRaycastProperty)&&(this.domEventsNeeded.add("pointerdown"),e.addEventListener("pointerdown",this.onMouseDown)),this.objectsPerTypes.MouseUp?.length&&(this.domEventsNeeded.add("pointerup"),e.addEventListener("pointerup",this.onMouseUp)),this.objectsPerTypes.MousePress?.length&&(this.domEventsNeeded.add("pointerdown"),e.addEventListener("pointerdown",this.onMousePressDown),this.domEventsNeeded.add("pointerup"),e.addEventListener("pointerup",this.onMousePressRelease)),this.objectsPerTypes.KeyDown?.length&&(this.domEventsNeeded.add("keydown"),document.addEventListener("keydown",this.onKeyDown),document.addEventListener("keyup",this.releaseHeldKey)),this.objectsPerTypes.KeyUp?.length&&(this.domEventsNeeded.add("keyup"),document.addEventListener("keyup",this.onKeyUp)),this.objectsPerTypes.KeyPress?.length&&(this.domEventsNeeded.add("keydown"),document.addEventListener("keydown",this.onKeyPressDown),document.addEventListener("keyup",this.releaseHeldKeyPress),this.domEventsNeeded.add("keyup"),document.addEventListener("keyup",this.onKeyPressUp)),Object.entries(this.objectsPerTypes).forEach(([i,t])=>{t.forEach(C=>{C.addEventListener("userEvent",this._onUserEvent)})})}disconnect(){let{domElement:A}=this.eventContext;this.domEventsNeeded.clear(),this.heldKeys={},this.heldKeysPress={},A.removeEventListener("pointerdown",this.onCanvasMouseDown),A.removeEventListener("pointerup",this.onCanvasMouseUp),A.removeEventListener("pointerdown",this.onMouseDown),A.removeEventListener("pointerdown",this.onMousePressDown),A.removeEventListener("pointerup",this.onMouseUp),A.removeEventListener("pointerup",this.onMousePressRelease),document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("keydown",this.onKeyPressDown),document.removeEventListener("keyup",this.onKeyPressUp),document.removeEventListener("keyup",this.releaseHeldKey),Object.values(this.eventsPerObjects).forEach(g=>{Object.values(g).forEach(e=>{e.forEach(I=>{I.disconnect()})})}),this.canvasMouseEvents.forEach(g=>{g.disconnect()}),Object.entries(this.objectsPerTypes).forEach(([g,e])=>{e.forEach(I=>{I.removeEventListener("userEvent",this._onUserEvent)})})}handleMouseEvent(A){let{stopRaycast:g,raycaster:e,page:I,pointerScreen:i}=this.eventContext,t=this.objectsPerTypes[A],C=t.filter(o=>!(o instanceof Yt));if(!(!t.length&&!this.useForRaycastProperty)&&!(I.uiCanvas&&gs(I,[i.x,i.y],Object.keys(this.eventsPerObjects[A]),o=>{this.handleObjectMouseEventDispatch(o,A)}))){if(g||this.useForRaycastProperty){let o;if(this.sceneInterects===null?o=uD(e,I,C,this.useForRaycastProperty):(o=this.sceneInterects,this.sceneInterects=null),this.useForRaycastProperty&&o.length&&(this.eventContext.sharedAssets.raycastProperty={x:o[0].point.x,y:o[0].point.y,z:o[0].point.z,objX:o[0].object.matrixWorld.elements[12],objY:o[0].object.matrixWorld.elements[13],objZ:o[0].object.matrixWorld.elements[14]}),g){let a=[o[0]?.uv?.x??0,o[0]?.uv?.y??0];VS(o).forEach(r=>{r instanceof QC&&gs(r,a,Object.keys(this.eventsPerObjects[A]),s=>{this.handleObjectMouseEventDispatch(s,A)}),this.eventsPerObjects[A][r.uuid]&&this.handleObjectMouseEventDispatch(r,A)})}}g||C.forEach(o=>{let a=Dp(e,o);a&&(this.handleObjectMouseEventDispatch(o,A),o instanceof QC&&gs(o,[a?.uv?.x??0,a?.uv?.y??0],Object.keys(this.eventsPerObjects[A]),r=>{this.handleObjectMouseEventDispatch(r,A)}))})}}handleMousePressEvent(A=!1){let g="MousePress",e=this.objectsPerTypes[g],I=e.filter(t=>!(t instanceof Yt)),i=[];if(e.length){if(!A){let{stopRaycast:t,raycaster:C,page:o,pointerScreen:a}=this.eventContext,r=!1;if(o.uiCanvas&&(r=gs(o,[a.x,a.y],Object.keys(this.eventsPerObjects[g]),s=>{i.push(s)})),t&&!r){let s=uD(C,o,I);i=VS(s),s.forEach(B=>{B.object instanceof QC&&gs(B.object,[B?.uv?.x??0,B?.uv?.y??0],Object.keys(this.eventsPerObjects[g]),Q=>{i.push(Q)})})}else I.forEach(s=>{let B=Dp(C,s);B&&(i.push(s),s instanceof QC&&gs(s,[B?.uv?.x??0,B?.uv?.y??0],Object.keys(this.eventsPerObjects[g]),Q=>{i.push(Q)}))})}this._prevObjects.length&&this._prevObjects.forEach(t=>{i.includes(t)||this.handleObjectMouseEventDispatchRelease(t,g)}),i.length&&i.forEach(t=>{this.handleObjectMouseEventDispatch(t,g)}),this._prevObjects=i}}handleObjectMouseEventDispatch(A,g){A.dispatchEvent({type:"beginEvent",eventName:g}),this.eventsPerObjects[g]?.[A.uuid]?.forEach(e=>{e.dispatch()})}handleObjectMouseEventDispatchRelease(A,g){A.dispatchEvent({type:"beginEvent",eventName:g}),this.eventsPerObjects[g]?.[A.uuid]?.forEach(e=>{e.dispatchRelease()})}handleKeyEvent(A,g,e=!1){this.objectsPerTypes[g].forEach(I=>{let i=this.eventsPerObjects[g][I.uuid];i.some(({data:t})=>"key"in t&&t.key===A.key)&&I.dispatchEvent({type:"beginEvent",eventName:g}),i.forEach(t=>{"key"in t.data&&t.data.key===A.key&&(e?t.dispatchRelease():t.dispatch(!0))})})}handleKeyEventHeld(A,g,e=!1){this.objectsPerTypes[g].forEach(I=>{this.eventsPerObjects[g][I.uuid].forEach(i=>{"key"in i.data&&i.data.key===A.key&&i.dispatchHeld(e)})})}},pnA=new x,ynA=new x,Bx=class{constructor(A,g,e,I,i){this.actionsIn=vC(A,A.inActions,e,I,i,g),this.actionsOut=vC(A,A.outActions,e,I,i,g)}disconnect(){xt(this.actionsIn),xt(this.actionsOut)}},wnA=class extends Bx{constructor(A,g,e,I,i,t){super(g,e,I,i,t),this.id=A,this.data=g,this.object=e,this.stage="out",this.objects=[],this.onUpdateMatrixWorld=()=>{for(let Q of this.objects)if(!Q.visible)return;let r=pnA.setFromMatrixPosition(this.objects[0].matrixWorld),s=ynA.setFromMatrixPosition(this.objects[1].matrixWorld),B=r.distanceTo(s)<=this.distance?"in":"out";if(this.stage!==B){this.stage=B;let Q=B==="in"?this.actionsIn:this.actionsOut;Q.Audio.forEach(n=>n.dispatchConditional()),Q.Particles.forEach(n=>n.dispatchConditional()),Q.Video.forEach(n=>n.dispatchConditional()),Q.Link.forEach(n=>n.dispatch()),Q.Create.forEach(n=>n.dispatch()),Q.Destroy.forEach(n=>n.dispatch()),Q.Reset.forEach(n=>n.dispatch()),Q.Transition.forEach(n=>{n.object.currentTransitionEvent!==this&&(n.object.currentTransitionEvent=this),n.init()}),Q.Transition.forEach(n=>n.play()),Q.Animation.forEach(n=>n.play()),Q.SwitchCamera.forEach(n=>n.play()),Q.SceneTransition.forEach(n=>n.dispatch()),Q.SetVariable.forEach(n=>n.checkConditions()),Q.SetVariable.forEach(n=>n.dispatch()),Q.DynamicVariablePlay.forEach(n=>n.dispatch()),Q.ClearLocalStorage.forEach(n=>n.dispatch())}};let{distance:C,fromObject:o,toObject:a}=g.condition;this.distance=C;for(let r of[o,a]){if(!r)throw new Error("Missing property");let s=I.find(r);if(!s)throw new Error("Missing property");this.objects.push(s)}}connect(){window.setTimeout(()=>{this.objects.forEach(A=>{A.addEventListener("updateMatrixWorld",this.onUpdateMatrixWorld)}),this.onUpdateMatrixWorld()},0)}disconnect(){super.disconnect(),this.stage="out",this.objects.forEach(A=>{A.removeEventListener("updateMatrixWorld",this.onUpdateMatrixWorld)})}},fnA=class extends Bx{constructor(A,g,e,I,i,t){super(g,e,I,i,t),this.id=A,this.data=g,this.object=e,this.onBegin=({target:a,state:r})=>{this.toState!==r&&(this.actionsOut.Audio.forEach(s=>s.dispatchConditional()),this.actionsOut.Particles.forEach(s=>s.dispatchConditional()),this.actionsOut.Video.forEach(s=>s.dispatchConditional()),this.actionsOut.Link.forEach(s=>s.dispatch()),this.actionsOut.Create.forEach(s=>s.dispatch()),this.actionsOut.Destroy.forEach(s=>s.dispatch()),this.actionsOut.Reset.forEach(s=>s.dispatch()),this.actionsIn.Transition.forEach(s=>s.pause()),this.object.currentTransitionEvent=this,this.actionsOut.Transition.forEach(s=>s.play()),this.actionsOut.Animation.forEach(s=>s.play()),this.actionsIn.SwitchCamera.forEach(s=>s.pause()),this.actionsOut.SwitchCamera.forEach(s=>s.play()),this.actionsOut.SceneTransition.forEach(s=>s.dispatch()),this.actionsOut.SetVariable.forEach(s=>s.checkConditions()),this.actionsOut.SetVariable.forEach(s=>s.dispatch()),this.actionsOut.DynamicVariablePlay.forEach(s=>s.dispatch()),this.actionsOut.ClearLocalStorage.forEach(s=>s.dispatch()))},this.onComplete=({target:a,state:r})=>{this.toState===r&&(this.actionsIn.Audio.forEach(s=>s.dispatchConditional()),this.actionsIn.Particles.forEach(s=>s.dispatchConditional()),this.actionsIn.Video.forEach(s=>s.dispatchConditional()),this.actionsIn.Link.forEach(s=>s.dispatch()),this.actionsIn.Create.forEach(s=>s.dispatch()),this.actionsIn.Destroy.forEach(s=>s.dispatch()),this.actionsIn.Reset.forEach(s=>s.dispatch()),this.actionsOut.Transition.forEach(s=>s.pause()),this.actionsOut.Transition.forEach(s=>s.pause()),this.object.currentTransitionEvent=this,this.actionsIn.Transition.forEach(s=>s.play()),this.actionsIn.Animation.forEach(s=>s.play()),this.actionsOut.SwitchCamera.forEach(s=>s.pause()),this.actionsIn.SwitchCamera.forEach(s=>s.play()),this.actionsIn.SceneTransition.forEach(s=>s.dispatch()),this.actionsIn.SetVariable.forEach(s=>s.checkConditions()),this.actionsIn.SetVariable.forEach(s=>s.dispatch()),this.actionsIn.DynamicVariablePlay.forEach(s=>s.dispatch()),this.actionsOut.ClearLocalStorage.forEach(s=>s.dispatch()))};let{condition:C}=g;if(!C.object)throw new Error("Missing property");let o=I.find(C.object)??I.scene.find2D(C.object);if(!o)throw new Error("Missing property");if(this.toObject=o,C.state&&!this.toObject.states?.[C.state])throw new Error("Missing property");this.toState=C.state}connect(){aQ(this.actionsOut).forEach(A=>{this.actionsOut[A]?.length&&this.toObject.addEventListener("beginState",this.onBegin)}),aQ(this.actionsIn).forEach(A=>{this.actionsIn[A]?.length&&this.toObject.addEventListener("completeState",this.onComplete)})}disconnect(){super.disconnect(),aQ(this.actionsOut).forEach(A=>{this.actionsIn[A]?.length&&this.toObject.removeEventListener("beginState",this.onBegin)}),aQ(this.actionsIn).forEach(A=>{this.actionsIn[A]?.length&&this.toObject.removeEventListener("completeState",this.onComplete)})}},SnA=class extends ya{constructor(A,g){super(A),this.eventManager=g,this.eventsPerConditions={Comparison:[],Distance:[],State:[]},this.hasVideoAction=!1}connect(){super.connect();let{page:A,sharedAssets:g}=this.eventContext;A.traverseEntity(e=>{if(e.data?.events.length){for(let{id:I,data:i}of e.data.events)if(!i.disabled&&i.type==="Conditional")try{let t;i.condition.type==="Comparison"||(i.condition.type==="Distance"?t=new wnA(I,i,e,A,g,this.eventManager):i.condition.type==="State"&&(t=new fnA(I,i,e,A,g,this.eventManager))),t&&(this.eventsPerConditions[i.condition.type].push(t),(t.actionsIn.Video.length||t.actionsOut.Video.length)&&(this.hasVideoAction=!0))}catch{}}}),Object.values(this.eventsPerConditions).forEach(e=>e.forEach(I=>I.connect()))}disconnect(){super.disconnect(),Object.values(this.eventsPerConditions).forEach(A=>A.forEach(g=>g.disconnect()))}},Gl=new x,Xs=new x,zB=new x,ZK=new ao,GnA=.01,JI=new x,Dt=new x,XK=new x,hQ=new ke,b0=new yt,mnA=new wg,L0=new wt,zn=new x,_a=new x,Vn=.2;function x0(A,g){!g||(g[0]<g[1]&&(A.x=Math.min(Math.max(A.x,g[0]),g[1])),g[2]<g[3]&&(A.y=Math.min(Math.max(A.y,g[2]),g[3])),g[4]<g[5]&&(A.z=Math.min(Math.max(A.z,g[4]),g[5])))}var MnA=function(){let A=new wg;return(g,e,I)=>{let i=g.obj;A.copy(i.hiddenMatrix),i.parent!==null&&A.premultiply(i.parent.matrixWorld),A.invert(),i.position.copy(e),g.reference==="global"&&x0(i.position,g.limits),i.position.applyMatrix4(A),g.reference==="parent"?x0(i.position,g.limits):g.reference==="local"&&(hQ.copy(g.quat0).invert(),i.position.sub(g.position0),i.position.applyQuaternion(hQ),x0(i.position,g.limits),hQ.invert(),i.position.applyQuaternion(hQ),i.position.add(g.position0)),A.multiply(I??i.matrixWorld).decompose(JI,i.quaternion,Dt),i.updateMatrix(),i.hasNonUniformScale&&(i.updateMatrixWorld(),i.updateMatrixWorldSVD()),i instanceof RC&&as(i.parent)&&i.invalidateDownstreamBooleanData(!0)}}(),knA=class{constructor(A,g,e,I,i,t,C){this.object=A,this.id=g,this.data=e,this.dropDestIds=[],this.activeIdx=null,this.wasDragEventTriggered=!1,this.resetDampingFactor=this.data.resetSpeed===0?1:8/this.data.resetSpeed+1,this.snapDampingFactor=this.data.snapSpeed===0?1:8/this.data.snapSpeed+1,this.actionsDrag=vC(e,e.dragDropActions.drag,I,i,t,this.object),this.actionsDrop=vC(e,e.dragDropActions.drop,I,i,t,this.object);let o=[];this.data.objects.forEach(a=>{let r=I.find(a);!r||r.data.visible!==!1&&(o.push(r),C[r.uuid]&&C[r.uuid].forEach(s=>{let B=I.find(s);!B||B.data.visible!==!1&&o.push(B)}))}),this.data.dropDestinations.forEach(a=>{let r=I.find(a);!r||r.data.visible!==!1&&(this.dropDestIds.push(r.uuid),C[r.uuid]&&C[r.uuid].forEach(s=>{let B=I.find(s);!B||B.data.visible!==!1&&this.dropDestIds.push(B.uuid)}))}),this.dragItems=o.map(a=>(this.data.planeMode==="locked"&&(a.userData.lockedPlane=!0),a.userData.worldPosition0=new x().setFromMatrixPosition(a.matrixWorld),{obj:a,fromPosition:new x().setFromMatrixPosition(a.matrixWorld),pointStart:new x,pointEnd:new x,paused:!0,currentDampingFactor:this.data.dampingFactor,reset:!1,position0:new x().copy(a.position),quat0:new ke().copy(a.quaternion),snapped:!1,orientationMatrix:new wg,limits:this.data.limits,reference:this.data.referenceFrame}))}get activeDragItem(){return this.activeIdx!==null?this.dragItems[this.activeIdx]:null}dispose(){xt(this.actionsDrag),xt(this.actionsDrop),this.dragItems.forEach(A=>{A.fromPosition.copy(A.obj.userData.worldPosition0),A.pointStart.copy(A.fromPosition),A.pointEnd.copy(A.pointStart),A.obj.recursiveBBoxNeedsUpdate=!0,A.obj.userData.lockedPlane=void 0,A.obj.position.copy(A.position0),A.obj.quaternion.copy(A.quat0),A.obj.updateMatrix()})}},UnA=class extends ya{constructor(A,g){super(A),this.eventManager=g,this.events=[],this.lastDropDestination=null,this.dragTimeout=null,this.onPointerDown=e=>{if(ye.length>1)return;this.eventContext.updateRaycaster(e);let{raycaster:I,page:i}=this.eventContext,t=i.raycastWithClones(I);if(this.lastDropDestination=null,t.length===0){this.activeEvent=null;return}for(let C of this.events){let o=0;for(let{obj:a,pointEnd:r,pointStart:s}of C.dragItems){if(a===t[0].object||a===t[0].object.object||hI.is(a)&&a.isAncestorOf(t[0].object.uuid)){if(C.activeIdx=o,C.activeDragItem.reset=!1,C.activeDragItem.currentDampingFactor=C.data.dampingFactor,C.activeDragItem.snapped=!1,C.data.cursor==="hand"&&this.setCursor("grabbing"),this.eventManager.controlsManager.usePhysics){C.activeDragItem.obj.rigidBody&&C.activeDragItem.obj.rigidBody.setBodyType(2,!0);let B=C.activeDragItem.obj;a.hasNonUniformScale&&a.updateMatrixWorldSVD(),(B.hasNonUniformScale?B.matrixWorldRigid:B.matrixWorld).decompose(JI,hQ,Dt),b0.setFromQuaternion(hQ),B.prevR===void 0?(B.prevR=b0.clone(),B.prevT=JI.clone()):(B.prevR.copy(b0),B.prevT.copy(JI)),this.eventManager.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.push(C.activeDragItem.obj)}this.calcPlaneIntersectPos(a,s,C.data.plane,C.data.referenceFrame),r.copy(s),(this.eventManager.controlsManager.usePhysics&&a.data.physics?.rigidBody==="dynamic"||C.data.drop===!1||C.data.resetOnSnapFail===!1)&&C.activeDragItem.fromPosition.setFromMatrixPosition(C.activeDragItem.obj.matrixWorld),this.activeEvent=C,this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!1);return}o++}}this.activeEvent=null},this.onPointerMove=e=>{if(ye.length>1)return;this.eventContext.updateRaycaster(e);let{raycaster:I,page:i}=this.eventContext,t=i.raycastWithClones(I);if(ye.length===0){let C=!1;for(let o of this.events){for(let{obj:a}of o.dragItems)if(a===t[0]?.object||a===t[0]?.object?.object||hI.is(a)&&a.isAncestorOf(t[0]?.object.uuid)){switch(C=!0,o.data.cursor){case"hand":this.setCursor("grab");break;case"move":this.setCursor("move");break;default:break}break}if(C)break}C||this.setCursor("default");return}if(this.activeEvent&&this.activeEvent.activeDragItem){let C=this.activeEvent.activeDragItem;C.snapped=!1;let o;if(this.activeEvent.data.drop&&(o=t.filter(a=>C.obj!==a.object&&!C.obj.isAncestorOf(a.object.uuid)&&!(a.object instanceof GE)&&(this.activeEvent.data.dropOn==="all"||this.activeEvent.dropDestIds.some(r=>r===a.object.uuid||i.scene.find(r).isAncestorOf(a.object.uuid))))[0]),o){let a=XK.copy(o.face.normal).applyMatrix3(L0.getNormalMatrix(o.object.matrixWorld));if(this.activeEvent.data.snapTo==="center")C.fromPosition.setFromMatrixPosition(o.object.matrixWorld);else if(this.activeEvent.data.snapTo==="surface"){if(C.fromPosition.copy(o.point),this.activeEvent.data.snapSurfaceMode==="bbox"){JI.copy(a).applyMatrix3(L0.setFromMatrix4(C.obj.matrixWorld).transpose());let r=C.obj;JI.x>Vn?Dt.x=-r.recursiveBBox.min.x:JI.x<-Vn&&(Dt.x=-r.recursiveBBox.max.x),JI.y>Vn?Dt.y=-r.recursiveBBox.min.y:JI.y<-Vn&&(Dt.y=-r.recursiveBBox.max.y),JI.z>Vn?Dt.z=-r.recursiveBBox.min.z:JI.z<-Vn&&(Dt.z=-r.recursiveBBox.max.z),Dt.applyMatrix3(L0.invert())}else Dt.copy(a).multiplyScalar(this.activeEvent.data.snapSurfaceOffset);C.fromPosition.add(Dt)}this.activeEvent.data.autoOrient&&(JI.set(0,1,0).cross(a),JI.length()<1e-4&&JI.set(-1,0,0).cross(a),Dt.crossVectors(XK,JI),C.orientationMatrix.makeBasis(JI,Dt,a)),C.pointStart.copy(C.fromPosition),C.pointEnd.copy(C.pointStart),C.currentDampingFactor=this.activeEvent.snapDampingFactor,C.snapped=!0,this.lastDropDestination!==o.object&&(this.lastDropDestination=o.object,this.activeEvent.actionsDrop.Transition.forEach(r=>{r.play()}),this.activeEvent.actionsDrop.Animation.forEach(r=>{r.play()}),this.activeEvent.actionsDrop.Audio.forEach(r=>{r.dispatchGameControl("start")}),this.activeEvent.actionsDrop.Particles.forEach(r=>{r.dispatchGameControl("start")}),this.activeEvent.actionsDrop.Create.forEach(r=>{r.dispatchThrottled()}))}else C.orientationMatrix.makeRotationFromQuaternion(C.quat0),this.lastDropDestination=null,C.currentDampingFactor=this.activeEvent.data.dampingFactor,this.calcPlaneIntersectPos(C.obj,C.pointEnd,this.activeEvent.data.plane,this.activeEvent.data.referenceFrame),this.activeEvent.actionsDrop.Transition.forEach(a=>{a.stop(),a.object.currentState!==null&&a.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrop.Animation.forEach(a=>{a.stop()}),this.activeEvent.actionsDrop.Audio.forEach(a=>{a.dispatchGameControl("stop")}),this.activeEvent.actionsDrop.Particles.forEach(a=>{a.dispatchGameControl("stop")});this.activeEvent.actionsDrag.Create.forEach(a=>{a.dispatchThrottled()}),this.activeEvent.actionsDrag.SetVariable.forEach(a=>a.checkConditions()),this.activeEvent.actionsDrag.SetVariable.forEach(a=>a.dispatch()),this.activeEvent.actionsDrag.DynamicVariablePlay.forEach(a=>a.dispatch()),this.activeEvent.actionsDrag.ClearLocalStorage.forEach(a=>a.dispatch()),this.activeEvent.wasDragEventTriggered===!1&&(this.activeEvent.wasDragEventTriggered=!0,this.activeEvent.actionsDrag.Transition.forEach(a=>{a.play()}),this.activeEvent.actionsDrag.Animation.forEach(a=>{a.play()}),this.activeEvent.actionsDrag.Audio.forEach(a=>{a.dispatchGameControl("start")}),this.activeEvent.actionsDrag.Particles.forEach(a=>{a.dispatchGameControl("start")})),this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>{!this.activeEvent||(this.activeEvent.wasDragEventTriggered=!1,this.activeEvent.actionsDrag.Audio.forEach(a=>{a.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Particles.forEach(a=>{a.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Transition.forEach(a=>{a.stop(),a.object.currentState!==null&&a.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrag.Animation.forEach(a=>{a.stop()}))},500),this.updateDragItem(C),C.obj.dispatchEvent({type:"requestRender"})}},this.onPointerUp=e=>{if(this.activeEvent&&this.activeEvent.activeDragItem){this.activeEvent.data.cursor==="hand"&&this.setCursor("grab");let I=this.activeEvent.activeDragItem.obj.data.physics?.rigidBody==="dynamic";this.activeEvent.activeDragItem.snapped===!1&&this.activeEvent.data.drop&&this.activeEvent.data.resetOnSnapFail&&(this.eventManager.controlsManager.usePhysics===!1||!I)&&(this.activeEvent.activeDragItem.reset=this.activeEvent.data.resetOnSnapFail,this.activeEvent.activeDragItem.paused=!1,this.activeEvent.activeDragItem.currentDampingFactor=this.activeEvent.resetDampingFactor),this.eventManager.controlsManager.usePhysics&&I&&(this.eventManager.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.pop(),this.activeEvent.activeDragItem.obj.rigidBody.setBodyType(0,!0),this.activeEvent.activeDragItem.paused=!0),this.activeEvent.wasDragEventTriggered===!0&&(this.activeEvent.wasDragEventTriggered=!1,this.activeEvent.actionsDrag.Transition.forEach(i=>{i.stop(),i.object.currentState!==null&&i.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})}),this.activeEvent.actionsDrag.Animation.forEach(i=>{i.stop()}),this.activeEvent.actionsDrag.Audio.forEach(i=>{i.dispatchGameControl("stop")}),this.activeEvent.actionsDrag.Particles.forEach(i=>{i.dispatchGameControl("stop")}),this.activeEvent.actionsDrop.SetVariable.forEach(i=>i.checkConditions()),this.activeEvent.actionsDrop.SetVariable.forEach(i=>i.dispatch()),this.activeEvent.actionsDrop.DynamicVariablePlay.forEach(i=>i.dispatch()),this.activeEvent.actionsDrop.ClearLocalStorage.forEach(i=>i.dispatch())),this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!0)}}}connect(){let A={};if(this.eventContext.page.traverseEntity(e=>{e.component&&(A[e.component.uuid]?A[e.component.uuid].push(e.uuid):A[e.component.uuid]=[e.uuid])}),this.eventContext.page.traverseEntity(e=>{e.data?.events.filter(I=>I.data.type==="DragDrop"&&!I.data.disabled).forEach(I=>{this.events.push(new knA(e,I.id,I.data,this.eventContext.page,this.eventContext.sharedAssets,this.eventManager,A))})}),!this.events.length)return;this.domEventsNeeded.clear(),this.domEventsNeeded.add("pointerdown");let g=this.eventContext.domElement;g.addEventListener("pointerdown",this.onPointerDown),g.addEventListener("pointermove",this.onPointerMove),g.addEventListener("pointerup",this.onPointerUp),this.domEventsNeeded.add("pointermove")}disconnect(){if(!this.events.length)return;this.domEventsNeeded.clear();let A=this.eventContext.domElement;A.removeEventListener("pointerdown",this.onPointerDown),A.removeEventListener("pointermove",this.onPointerMove),A.removeEventListener("pointerup",this.onPointerUp),this.events.forEach(g=>g.dispose())}setCursor(A){this.eventContext.domElement.style.cursor=A}onAnimationFrameDamping(){for(let A of this.events)for(let g of A.dragItems)g.paused||this.updateDragItem(g,!0)}calcPlaneIntersectPos(A,g,e,I){let{getCamera:i,raycaster:t}=this.eventContext;i().getWorldDirection(Xs),Xs.negate();let C=hQ.identity();switch(I==="parent"?mnA.multiplyMatrices(A.parent.matrixWorld,A.hiddenMatrix).decompose(JI,C,Dt):I==="local"&&A.matrixWorld.decompose(JI,C,Dt),e){case"x":JI.set(1,0,0).applyQuaternion(C),zn.copy(Xs).cross(JI),_a.copy(JI).cross(zn);break;case"y":JI.set(0,1,0).applyQuaternion(C),zn.copy(Xs).cross(JI),_a.copy(JI).cross(zn);break;case"z":JI.set(0,0,1).applyQuaternion(C),zn.copy(Xs).cross(JI),_a.copy(JI).cross(zn);break;case"xy":_a.set(0,0,1).applyQuaternion(C);break;case"yz":_a.set(1,0,0).applyQuaternion(C);break;case"xz":_a.set(0,1,0).applyQuaternion(C);break;case"adaptive":Xs.angleTo(Dt.set(0,1,0))>Math.PI/6?(JI.crossVectors(Dt.set(0,1,0),Xs),_a.crossVectors(JI,Dt)):_a.set(0,1,0);break;default:_a.copy(Xs);break}zB.setFromMatrixPosition(A.matrixWorld);let o=A.userData.lockedPlane?A.userData.worldPosition0:zB;if(ZK.setFromNormalAndCoplanarPoint(_a,o),!!t.ray.intersectPlane(ZK,g)&&(e==="x"||e==="y"||e==="z")){let a=Dt.subVectors(g,o).dot(JI);g.copy(o).addScaledVector(JI,a)}}updateDragItem(A,g=!1){zB.setFromMatrixPosition(A.obj.matrixWorld),A.reset==="current"?Gl.subVectors(A.fromPosition,zB).divideScalar(A.currentDampingFactor):A.reset==="original"?(Gl.subVectors(A.obj.userData.worldPosition0,zB).divideScalar(A.currentDampingFactor),A.fromPosition.copy(A.obj.userData.worldPosition0),A.pointStart.copy(A.fromPosition),A.pointEnd.copy(A.pointStart)):Gl.subVectors(A.pointEnd,A.pointStart).add(A.fromPosition).sub(zB).divideScalar(A.currentDampingFactor),A.paused=A.currentDampingFactor>1?Gl.length()<GnA:!0,(this.activeEvent&&this.activeEvent.data.dampingFactor===1||g)&&MnA(A,Gl.add(zB),this.activeEvent?.data.drop&&this.activeEvent?.data.autoOrient?A.orientationMatrix:null),A.obj.dispatchEvent({type:"beginEvent",eventName:"DragDrop"}),this.eventManager.requestRender()}},Zn=new x,Y0=new x,Or=new x,_r=new x,$K=new ao,NnA=.01,FnA={type:"requestRender"},RnA=function(){let A=new x,g=new x;return(e,I,i)=>i>0?(A.subVectors(e,I),A.length()<=i?e:g.copy(I).add(A.normalize().multiplyScalar(i))):I}(),AJ=function(){let A=new wg;return(g,e)=>{g.position.copy(e),g.parent!==null&&(A.copy(g.parent.matrixWorld).invert(),g.position.applyMatrix4(A)),A.copy(g.hiddenMatrix).invert(),g.position.applyMatrix4(A),g.updateMatrix(),g.hasNonUniformScale&&(g.updateMatrixWorld(),g.updateMatrixWorldSVD()),g instanceof RC&&as(g.parent)&&g.invalidateDownstreamBooleanData(!0)}}(),vnA=class{constructor(A,g,e,I,i,t){this.data=A,this.id=g,this.object=e,this.paused=!1,this.currentDampingFactor=1,this.snapComplete=!1,this.isReset=!1,this.worldPosition0=new x,this.timeoutId=null,this.delayFinished=!0,this.wasOutside=!1,this.data={...kf.defaultData,...A,...A.resetOnPointerLeave===void 0&&{resetOnPointerLeave:!1}},A.target===void 0||A.target==="cursor"||(this.target=I.find(A.target)),this.data.dampingFactor&&(this.currentDampingFactor=this.data.dampingFactor),this.resetDampingFactor=80/this.data.resetSpeed+1,this.object.getWorldPosition(this.worldPosition0),this.actions=vC(A,A.actions,I,i,t,e)}},KnA=class extends ya{constructor(A,g){super(A),this.eventManager=g,this.events=[],this.pairOfEventListeners=[],this.onMouseMove=e=>{if(!(ye.length>1)){this.eventContext.updateRaycaster(e);for(let I of this.events)I.target===void 0&&this.updateSingleEvent(I)}},this.onMouseEnter=e=>{for(let I of this.events)I.target===void 0&&(I.isReset=!1,I.currentDampingFactor=I.data.dampingFactor)},this.onMouseLeave=e=>{for(let I of this.events)I.target===void 0&&(I.data.resetOnPointerLeave&&(I.isReset=!0,I.currentDampingFactor=I.resetDampingFactor),this.updateSingleEvent(I))},this.onTargetChange=e=>()=>{this.updateSingleEvent(e)}}connect(){let{page:A}=this.eventContext;if(A.traverseEntity(I=>{let i=I.data?.events.find(t=>t.data.type==="Follow"&&!t.data.disabled);i&&(!A.data.globalPhysics.usePhysics||I.dataPatched.physics?.rigidBody!=="dynamic")&&this.events.push(new vnA(i.data,i.id,I,A,this.eventContext.sharedAssets,this.eventManager))}),!this.events.length)return;let{domElement:g,eventElement:e}=this.eventContext;this.domEventsNeeded.clear(),ro&&(this.domEventsNeeded.add("pointerdown"),g.addEventListener("pointerdown",this.onMouseMove)),this.domEventsNeeded.add("pointermove"),e.addEventListener("pointermove",this.onMouseMove),this.eventContext.useWindowEvents||(g.addEventListener("pointerenter",this.onMouseEnter),g.addEventListener("pointerleave",this.onMouseLeave));for(let I of this.events)if(I.target!==void 0){let i=I.target,t=this.onTargetChange(I);this.pairOfEventListeners.push([i,t]),i.addEventListener("requestRender",t)}}disconnect(){if(!this.events.length)return;let{domElement:A,eventElement:g}=this.eventContext;this.domEventsNeeded.clear(),ro&&A.removeEventListener("pointerdown",this.onMouseMove),g.removeEventListener("pointermove",this.onMouseMove),A.removeEventListener("pointerenter",this.onMouseEnter),A.removeEventListener("pointerleave",this.onMouseLeave);for(let[e,I]of this.pairOfEventListeners)e.removeEventListener("requestRender",I);for(let e of this.events)e.paused=!0,e.isReset=!1,xt(e.actions)}onAnimationFrameDamping(){for(let A of this.events)A.paused||this.updateSingleEvent(A,!0)}updateSingleEvent(A,g=!1){this.events.forEach(C=>{C.actions.Create.forEach(o=>{o.dispatchThrottled()})});let{plane:e,limitDistance:I,limitDistanceEnabled:i}=A.data;if(A.object.getWorldPosition(Or),A.isReset)_r.copy(A.worldPosition0);else if(A.target)A.target.getWorldPosition(_r);else{let{getCamera:C,raycaster:o}=this.eventContext;if(e==="custom"?(C().getWorldDirection(Y0),Y0.negate(),Zn.copy(Y0)):e==="xy"?Zn.set(0,0,1):e==="xz"?Zn.set(0,1,0):e==="yz"&&Zn.set(1,0,0),$K.setFromNormalAndCoplanarPoint(Zn,Or),!o.ray.intersectPlane($K,_r))return}if(!A.isReset){if(_r.distanceTo(A.worldPosition0)>I&&i&&A.target)if(A.snapComplete=!1,A.data.snapDelay&&(A.delayFinished=!1,typeof window<"u"&&A.timeoutId!==null&&(window.clearTimeout(A.timeoutId),A.timeoutId=null)),A.wasOutside=!0,A.data.resetAfterDistanceLimit)_r.copy(A.worldPosition0),A.currentDampingFactor=A.resetDampingFactor;else return;else if(A.wasOutside&&(A.data.snapDelay&&typeof window<"u"&&(A.timeoutId=window.setTimeout(()=>{A.delayFinished=!0,A.paused=!1,this.updateSingleEvent(A)},A.data.snapDelay*1e3)),A.currentDampingFactor=A.data.dampingFactor,A.wasOutside=!1),A.delayFinished===!1)return}A.data.enabledTranslation[0]===!1&&(_r.x=Or.x),A.data.enabledTranslation[1]===!1&&(_r.y=Or.y),A.data.enabledTranslation[2]===!1&&(_r.z=Or.z);let t=RnA(Or,_r,A.wasOutside?0:A.data.maxDelta);if(A.currentDampingFactor>1){let C=Zn.subVectors(t,Or).divideScalar(A.currentDampingFactor);Or.add(C),g&&AJ(A.object,Or),A.paused=C.length()<NnA}else AJ(A.object,t),A.paused=!0;A.object?.dispatchEvent({type:"beginEvent",eventName:"Follow"}),A.object.dispatchEvent(FnA)}},ml=new x,AD=new x,Ml=new wg,Xn=new ke,$s=new ke,kl=new x,Ul=new x,VB=new x,Pr=new x,H0=new ao,JnA=1e-6,qnA={type:"requestRender"},bnA={type:"changeRotation"},gJ=function(){let A=new wg;return function(g,e){g.parent!==null?A.multiplyMatrices(g.parent.matrixWorld,g.hiddenMatrix):A.copy(g.hiddenMatrix),e.premultiply(Cx(A).invert()),g.rotation.setFromRotationMatrix(e),g.updateMatrix(),g instanceof RC&&as(g.parent)&&g.invalidateDownstreamBooleanData(!0)}}(),LnA=class{constructor(A,g,e,I){this.id=g,this.object=e,this.paused=!1,this.currentDampingFactor=1,this.isReset=!1,this.worldQuaternion0=new ke,this.timeoutId=null,this.delayFinished=!0,this.wasOutside=!1,this.data={...Uf.defaultData,...A,...A.resetOnPointerLeave===void 0&&{resetOnPointerLeave:!1}},A.target===void 0||A.target==="cursor"||(this.target=I.find(A.target)),this.data.dampingFactor&&(this.currentDampingFactor=this.data.dampingFactor),this.object.getWorldQuaternion(this.worldQuaternion0),this.resetDampingFactor=80/this.data.resetSpeed+1}},xnA=class extends ya{constructor(){super(...arguments),this.events=[],this.pairOfEventListeners=[],this.pairOfUserEventListeners=[],this.onMouseMove=A=>{if(!(ye.length>1)){this._lastMouseEvent=A,this.eventContext.updateRaycaster(A);for(let g of this.events)g.target===void 0&&this.updateSingleEvent(g)}},this.onMouseEnter=A=>{for(let g of this.events)g.target===void 0&&(g.isReset=!1,g.currentDampingFactor=g.data.dampingFactor)},this.onMouseLeave=A=>{for(let g of this.events)g.target===void 0&&(g.data.resetOnPointerLeave&&(g.isReset=!0,g.currentDampingFactor=g.resetDampingFactor),this.updateSingleEvent(g))},this.onScroll=A=>{if(this._lastMouseEvent){let g=new PointerEvent("pointermove",{clientX:this._lastMouseEvent.clientX,clientY:this._lastMouseEvent.clientY,bubbles:!0,cancelable:!0,view:window});this.eventContext.eventElement.dispatchEvent(g)}},this.onTargetChange=A=>()=>{this.updateSingleEvent(A)},this.createUserEventListener=A=>({eventName:g,target:e})=>{if(!g||!e)return;let I=Lc(g);I&&I==="LookAt"&&this.updateSingleEvent(A)}}connect(){let{page:A}=this.eventContext;if(A.traverseEntity(I=>{let i=I.data?.events.find(t=>t.data.type==="LookAt"&&!t.data.disabled);i&&(!A.data.globalPhysics.usePhysics||I.dataPatched.physics?.rigidBody!=="dynamic")&&this.events.push(new LnA(i.data,i.id,I,A))}),!this.events.length)return;let{domElement:g,eventElement:e}=this.eventContext;this.domEventsNeeded.clear(),ro&&(this.domEventsNeeded.add("pointerdown"),g.addEventListener("pointerdown",this.onMouseMove)),this.domEventsNeeded.add("pointermove"),e.addEventListener("pointermove",this.onMouseMove),this.eventContext.useWindowEvents?e.addEventListener("scroll",this.onScroll):(g.addEventListener("pointerenter",this.onMouseEnter),g.addEventListener("pointerleave",this.onMouseLeave));for(let I of this.events){if(I.target!==void 0){let C=this.onTargetChange(I),o=I.target;this.pairOfEventListeners.push([o,C]),o.addEventListener("requestRender",C)}let i=this.createUserEventListener(I),t=I.object;this.pairOfUserEventListeners.push([t,i]),t.addEventListener("userEvent",i)}}disconnect(){if(!this.events.length)return;let{domElement:A,eventElement:g}=this.eventContext;this.domEventsNeeded.clear(),ro&&A.removeEventListener("pointerdown",this.onMouseMove),g.removeEventListener("pointermove",this.onMouseMove),A.removeEventListener("pointerenter",this.onMouseEnter),A.removeEventListener("pointerleave",this.onMouseLeave),g.removeEventListener("scroll",this.onScroll);for(let[e,I]of this.pairOfEventListeners)e.removeEventListener("requestRender",I);for(let[e,I]of this.pairOfUserEventListeners)e.removeEventListener("userEvent",I);for(let e of this.events)e.paused=!0,e.isReset=!1}onAnimationFrameDamping(){for(let A of this.events)A.paused||this.updateSingleEvent(A)}updateSingleEvent(A){let{tilt:g,axis:e,distance:I,plane:i,limitDistance:t,enabledRotation:C,limitDistanceEnabled:o}=A.data,{getCamera:a,raycaster:r}=this.eventContext,{object:s,target:B}=A;if(s.getWorldPosition(kl),!A.isReset)if(A.target)A.target.getWorldPosition(Ul);else{if(i==="custom"?(a().getWorldDirection(AD),AD.negate(),H0.setFromNormalAndCoplanarPoint(AD,kl)):(i==="xy"?ml.set(0,0,1):i==="xz"?ml.set(0,1,0):i==="yz"&&ml.set(1,0,0),H0.setFromNormalAndCoplanarPoint(ml,kl)),!r.ray.intersectPlane(H0,Ul))return;I>0&&(i==="custom"||i===void 0)&&Ul.addScaledVector(AD,I)}if(A.isReset||(B?g==="target"?VB.copy(B.up).applyMatrix4(Ml.extractRotation(B.matrixWorld)).normalize():C.some(Q=>Q===!1)?(e==="x"?(Pr.set(0,0,1),C[2]===!1&&Pr.set(0,1,0)):e==="y"?(Pr.set(1,0,0),C[0]===!1&&Pr.set(0,0,1)):(Pr.set(0,1,0),C[1]===!1&&Pr.set(1,0,0)),VB.copy(Pr).applyQuaternion(A.worldQuaternion0).normalize()):VB.set(0,1,0):i==="custom"?VB.set(0,1,0):VB.copy(ml)),A.isReset)$s.copy(A.worldQuaternion0);else if(kl.distanceTo(Ul)>t&&o&&B)if(A.data.snapDelay&&(A.delayFinished=!1,typeof window<"u"&&A.timeoutId!==null&&(window.clearTimeout(A.timeoutId),A.timeoutId=null)),A.wasOutside=!0,A.data.resetAfterDistanceLimit)$s.copy(A.worldQuaternion0),A.currentDampingFactor=A.resetDampingFactor;else return;else{if(A.wasOutside&&(A.data.snapDelay&&typeof window<"u"&&(A.timeoutId=window.setTimeout(()=>{A.delayFinished=!0,A.paused=!1,this.updateSingleEvent(A)},A.data.snapDelay*1e3)),A.currentDampingFactor=A.data.dampingFactor,A.wasOutside=!1),A.delayFinished===!1)return;YnA(Ml,Ul,kl,VB,e,Pr),$s.setFromRotationMatrix(Ml),Xn.setFromUnitVectors(Pr.applyQuaternion($s),VB),C.some(Q=>Q===!1)&&g!=="target"&&$s.premultiply(Xn).normalize()}A.currentDampingFactor>1?(s.updateWorldMatrix(!0,!1),Xn.setFromRotationMatrix(Cx(s.matrixWorld)),Xn.slerp($s,1/A.currentDampingFactor),gJ(s,Ml.makeRotationFromQuaternion(Xn)),A.paused=8*(1-Xn.dot($s))<JnA):(gJ(s,Ml.makeRotationFromQuaternion($s)),A.paused=!0),A.object?.dispatchEvent({type:"beginEvent",eventName:"LookAt"}),s.dispatchEvent(qnA),s.dispatchEvent(bnA)}},Mo=new x,ut=new x,Ti=new x;function YnA(A,g,e,I,i,t){let C=A.elements;Ti.subVectors(g,e),Ti.lengthSq()===0&&(Ti.z=1),Ti.normalize(),ut.crossVectors(I,Ti),ut.lengthSq()===0&&(Math.abs(I.z)===1?Ti.x+=1e-4:Ti.z+=1e-4,Ti.normalize(),ut.crossVectors(I,Ti)),ut.normalize(),Mo.crossVectors(Ti,ut),i==="x"?t.z===1?[ut,Mo,Ti]=[Ti,ut,Mo]:(ut.negate(),[ut,Ti]=[Ti,ut]):i==="y"?t.x===1?[ut,Mo,Ti]=[Mo,Ti,ut]:(ut.negate(),[Mo,Ti]=[Ti,Mo]):t.x===1&&(ut.negate(),[ut,Mo]=[Mo,ut]),C[0]=ut.x,C[4]=Mo.x,C[8]=Ti.x,C[1]=ut.y,C[5]=Mo.y,C[9]=Ti.y,C[2]=ut.z,C[6]=Mo.z,C[10]=Ti.z}var HnA=class{constructor(A,g,e,I,i,t){this.id=A,this.data=g,this.object=e,this.entered=!1,this.actions=vC(g,g.actions,I,i,t,e)}disconnect(){xt(this.actions)}dispatchEnter(){this.actions.Transition.forEach(A=>{A.object.currentTransitionEvent!==this&&(A.object.currentTransitionEvent=this,A.init())}),this.entered||(this.entered=!0,this.actions.Transition.forEach(A=>A.playFromCurrent()),this.actions.Animation.forEach(A=>A.play()),this.actions.Create.forEach(A=>A.dispatchStart()),this.actions.Particles.forEach(A=>A.dispatchBasic()),this.actions.Destroy.forEach(A=>A.dispatch()),this.actions.SwitchCamera.forEach(A=>A.playFromCurrent()),this.actions.SceneTransition.forEach(A=>A.dispatch()),this.actions.SetVariable.forEach(A=>A.checkConditions()),this.actions.SetVariable.forEach(A=>A.dispatch()),this.actions.DynamicVariablePlay.forEach(A=>A.dispatch()),this.actions.ClearLocalStorage.forEach(A=>A.dispatch()))}dispatchLeave(){this.actions.Transition.forEach(A=>{A.object.currentTransitionEvent!==this&&(A.object.currentTransitionEvent=this,A.init())}),this.entered&&(this.entered=!1,this.actions.Create.forEach(A=>A.dispatchStop()),this.actions.Transition.forEach(A=>A.reverseFromCurrent()),this.actions.Particles.forEach(A=>A.reverseFromCurrent()),this.actions.SwitchCamera.forEach(A=>A.reverseFromCurrent()))}dispatchUserEvent(A){this.actions.Transition.forEach(g=>{g.object.currentTransitionEvent!==this&&(g.object.currentTransitionEvent=this,g.init())}),A?(this.actions.Transition.forEach(g=>g.reverseFromCurrent()),this.actions.Particles.forEach(g=>g.reverseFromCurrent()),this.actions.Animation.forEach(g=>g.reverseFromCurrent()),this.actions.SwitchCamera.forEach(g=>g.reverseFromCurrent())):(this.actions.Transition.forEach(g=>g.playFromCurrent()),this.actions.Animation.forEach(g=>g.playFromCurrent()),this.actions.Create.forEach(g=>g.dispatch()),this.actions.Particles.forEach(g=>g.dispatchBasic()),this.actions.Destroy.forEach(g=>g.dispatch()),this.actions.SwitchCamera.forEach(g=>g.playFromCurrent())),this.actions.SceneTransition.forEach(g=>g.dispatch()),this.actions.SetVariable.forEach(g=>g.checkConditions()),this.actions.SetVariable.forEach(g=>g.dispatch()),this.actions.DynamicVariablePlay.forEach(g=>g.dispatch()),this.actions.ClearLocalStorage.forEach(g=>g.dispatch())}},TnA=class extends ya{constructor(A,g){super(A),this.eventManager=g,this.eventsPerObjects={},this.objects=[],this.objects2D=[],this._prevObjects=[],this.onMouseDown=e=>{ye.length>1||(this.eventContext.updateRaycaster(e),this.handleMouseHoverEvent())},this.onMouseUp=e=>{ye.length>1||this.handleMouseHoverEvent(!0)},this.onMouseMove=e=>{ye.length>1||(this.eventContext.updateRaycaster(e),this.handleMouseHoverEvent())},this.onUserEvent=({eventName:e,target:I,reverse:i})=>{if(!e||!I)return;let t=Lc(e);t&&t==="MouseHover"&&(I.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),this.eventsPerObjects[I.uuid]?.forEach(C=>C.dispatchUserEvent(i)))}}connect(){let{page:A,sharedAssets:g}=this.eventContext,e=(i,t)=>{if(!(!i.visible||!i.data?.events.length)){for(let{id:C,data:o}of i.data.events)if(!o.disabled&&o.type==="MouseHover")try{let a=new HnA(C,o,i,A,g,this.eventManager);this.eventsPerObjects[i.uuid]?this.eventsPerObjects[i.uuid].push(a):this.eventsPerObjects[i.uuid]=[a]}catch{}this.eventsPerObjects[i.uuid]?.length&&this.objects.push(i instanceof Yt?t:i)}};if(A.traverseEntity(i=>{(i instanceof QC||i instanceof Kt)&&i.frame?.traverse(t=>{e(t,i)}),e(i)}),!this.objects.length)return;let{domElement:I}=this.eventContext;this.domEventsNeeded.clear(),ro&&(this.domEventsNeeded.add("pointerdown"),I.addEventListener("pointerdown",this.onMouseDown),this.domEventsNeeded.add("pointerup"),I.addEventListener("pointerup",this.onMouseUp)),this.domEventsNeeded.add("pointermove"),I.addEventListener("pointermove",this.onMouseMove),this.objects.forEach(i=>{i.addEventListener("userEvent",this.onUserEvent)})}disconnect(){if(!this.objects.length)return;let{domElement:A}=this.eventContext;this.domEventsNeeded.clear(),ro&&(A.removeEventListener("pointerdown",this.onMouseDown),A.removeEventListener("pointerup",this.onMouseUp)),A.removeEventListener("pointermove",this.onMouseMove),Object.values(this.eventsPerObjects).forEach(g=>{g.forEach(e=>{e.disconnect()})}),this.objects.forEach(g=>{g.removeEventListener("userEvent",this.onUserEvent)})}handleMouseHoverEvent(A=!1){let g=[];if(!A){let{stopRaycast:e,raycaster:I,page:i,pointerScreen:t}=this.eventContext,C=!1;if(i.uiCanvas&&(C=gs(i,[t.x,t.y],Object.keys(this.eventsPerObjects),o=>{g.push(o)})),e&&!C){let o=uD(I,i,this.objects);g=VS(o),o.forEach(a=>{a.object instanceof QC&&gs(a.object,[a?.uv?.x??0,a?.uv?.y??0],Object.keys(this.eventsPerObjects),r=>{g.push(r)})})}else this.objects.forEach(o=>{let a=Dp(I,o);a&&(g.push(o),o instanceof QC&&gs(o,[a?.uv?.x??0,a?.uv?.y??0],Object.keys(this.eventsPerObjects),r=>{g.push(r)}))})}this._prevObjects.length&&this._prevObjects.forEach(e=>{g.includes(e)||(e.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),this.eventsPerObjects[e.uuid]?.forEach(I=>I.dispatchLeave()))}),g.length&&g.forEach(e=>{e.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),this.eventsPerObjects[e.uuid]?.forEach(I=>I.dispatchEnter())}),this._prevObjects=g}},OnA=class{constructor(A,g,e,I,i,t){this.id=A,this.data=g,this.object=e,this.scrollCounter=0,this.actions=vC(g,g.actions,I,i,t,e)}connect(){this.scrollCounter=0}disconnect(){xt(this.actions)}dispatch(A){this.actions.Transition.forEach(I=>{I.object.currentTransitionEvent!==this&&(I.object.currentTransitionEvent=this,I.init())});let g=A>0?1:-1;this.scrollCounter+=g,this.scrollCounter=Math.min(Math.max(this.scrollCounter,0),this.data.steps);let e=this.scrollCounter/this.data.steps;this.actions.Transition.forEach(I=>I.seek(e)),this.actions.Animation.forEach(I=>I.seek(g)),this.actions.Create.forEach(I=>I.dispatchThrottled()),this.actions.SetVariable.forEach(I=>I.checkConditions()),this.actions.SetVariable.forEach(I=>I.dispatch()),this.actions.DynamicVariablePlay.forEach(I=>I.dispatch()),this.actions.ClearLocalStorage.forEach(I=>I.dispatch())}dispatchUserEvent(A){this.actions.Transition.forEach(g=>{g.object.currentTransitionEvent!==this&&(g.object.currentTransitionEvent=this,g.init())}),A?(this.actions.Transition.forEach(g=>g.reverseFromCurrent()),this.actions.Animation.forEach(g=>g.reverseFromCurrent())):(this.actions.Transition.forEach(g=>{g.playFromCurrent()}),this.actions.Animation.forEach(g=>{g.playFromCurrent()})),this.actions.Create.forEach(g=>g.dispatchThrottled()),this.actions.SetVariable.forEach(g=>g.checkConditions()),this.actions.SetVariable.forEach(g=>g.dispatch()),this.actions.DynamicVariablePlay.forEach(g=>g.dispatch()),this.actions.ClearLocalStorage.forEach(g=>g.dispatch())}},_nA=class{constructor(A,g,e,I,i,t,C){this.id=A,this.data=g,this.object=e,this.domElement=t,this.eventManager=C,this.scrollStart=0,this.scrollEnd=0,this.actions=vC(g,g.actions,I,i,C,e)}getStickyParentElement(){let A=this.domElement;for(;A;){if(window.getComputedStyle(A).position==="sticky")return A;A=A.parentElement}return null}computeScrollBounds(){let A=this.getStickyParentElement(),g=A?.parentElement,e=this.domElement.getBoundingClientRect(),I={top:e.top,bottom:e.bottom,left:e.left,right:e.right,width:e.width,height:e.height};if(g){let r=g.getBoundingClientRect(),s=window.getComputedStyle(A),B=parseFloat(s.marginTop)+parseFloat(s.marginBottom),Q=parseFloat(s.top),n=parseFloat(s.bottom),E=r.height-B;if(!isNaN(Q))e.top===Q?(I.top+=r.top-Q,I.bottom+=r.top-Q):e.top<0&&(I.top-=E-e.height,I.bottom-=E-e.height);else if(!isNaN(n)){let l=document.body.clientHeight??window.innerHeight,h=window.innerWidth-(document.documentElement.clientWidth??window.innerWidth);e.bottom===l-n?(I.top+=r.top-e.height+n+h,I.bottom+=r.top-e.height+n+h):e.bottom<l-n&&(I.top-=E-e.height,I.bottom-=E-e.height)}}let i=document.body,t=document.documentElement,C=window.pageYOffset||t.scrollTop||i.scrollTop,o=t.clientTop||i.clientTop||0,a=Math.round(I.top+C-o);if(this.data.startFrom==="enter"){let r=window.innerHeight,s=I.height,B=this.data.enterAnchor,Q=B==="top"?r:B==="bottom"?r-s:r-s*.5;this.scrollStart=a-Q}else this.scrollStart=0;this.scrollStart+=this.data.startOffset??0,this.scrollEnd=this.scrollStart+(this.data.endAfter??400),this.box=I,this.computeScroll({x:window.scrollX,y:window.scrollY})}connect(){this.computeScrollBounds()}disconnect(){xt(this.actions)}handleResize(){this.computeScrollBounds()}get isInvalidBox(){return this.box===void 0||this.box.width===0&&this.box.height===0&&this.box.top===0&&this.box.bottom===0}computeScroll({x:A,y:g}){this.actions.Transition.forEach(i=>{i.object.currentTransitionEvent!==this&&(i.object.currentTransitionEvent=this,i.init())});let e=this.scrollEnd-this.scrollStart,I=Math.min(1,Math.max(0,(g-this.scrollStart)/e));this.actions.Transition.forEach(i=>i.seek(I)),this.actions.Animation.forEach(i=>i.seek(I)),this.actions.Create.forEach(i=>i.dispatchThrottled()),this.actions.SetVariable.forEach(i=>i.checkConditions()),this.actions.SetVariable.forEach(i=>i.dispatch()),this.actions.DynamicVariablePlay.forEach(i=>i.dispatch()),this.actions.ClearLocalStorage.forEach(i=>i.dispatch())}dispatch(A){this.isInvalidBox&&this.computeScrollBounds(),this.computeScroll(A)}dispatchUserEvent(A){this.actions.Transition.forEach(g=>{g.object.currentTransitionEvent!==this&&(g.object.currentTransitionEvent=this,g.init())}),A?(this.actions.Transition.forEach(g=>g.reverseFromCurrent()),this.actions.Animation.forEach(g=>g.reverseFromCurrent())):(this.actions.Transition.forEach(g=>{g.playFromCurrent()}),this.actions.Animation.forEach(g=>{g.playFromCurrent()})),this.actions.Create.forEach(g=>g.dispatchThrottled()),this.actions.SetVariable.forEach(g=>g.checkConditions()),this.actions.SetVariable.forEach(g=>g.dispatch()),this.actions.DynamicVariablePlay.forEach(g=>g.dispatch()),this.actions.ClearLocalStorage.forEach(g=>g.dispatch())}},PnA=class extends ya{constructor(A,g){super(A),this.managers=g,this.wheelEventsPerObject=new Map,this.scrollEventsPerObject=new Map,this.isInview=!0,this.handleResize=()=>{[...this.scrollEventsPerObject.entries()].forEach(([e,I])=>{I.forEach(i=>i.handleResize())})},this.onScroll=e=>{if(!this.isInview)return;let I={y:window.scrollY,x:window.scrollX};[...this.scrollEventsPerObject.entries()].forEach(([i,t])=>{i.dispatchEvent({type:"beginEvent",eventName:"Scroll",scroll:I}),t.forEach(C=>C.dispatch(I))})},this.onWheel=e=>{!this.isInview||e.ctrlKey||[...this.wheelEventsPerObject.entries()].forEach(([I,i])=>{I.dispatchEvent({type:"beginEvent",eventName:"Scroll",deltaY:e.deltaY}),i.forEach(t=>t.dispatch(e.deltaY))})},this.onUserEvent=({eventName:e,target:I,reverse:i})=>{if(!e||!I)return;let t=Lc(e);t&&t==="Scroll"&&(I.dispatchEvent({type:"beginEvent",eventName:"Scroll"}),this.wheelEventsPerObject.get(I)?.forEach(C=>{C.dispatchUserEvent(i)}))}}connect(){let{page:A,sharedAssets:g,domElement:e,isExport:I}=this.eventContext,i=t=>{if(t.data?.events.length){for(let{id:C,data:o}of t.data.events)if(!o.disabled&&o.type==="Scroll")if(o.trigger==="load"||!I){let a=new OnA(C,o,t,A,g,this.managers);this.wheelEventsPerObject.has(t)?this.wheelEventsPerObject.get(t)?.push(a):this.wheelEventsPerObject.set(t,[a])}else{let a=new _nA(C,o,t,A,g,e,this.managers);this.scrollEventsPerObject.has(t)?this.scrollEventsPerObject.get(t)?.push(a):this.scrollEventsPerObject.set(t,[a])}}};A.traverseEntity(t=>{(t instanceof QC||t instanceof Kt)&&t.frame?.traverse(C=>{i(C)}),i(t)}),this.intersectionObserver=new IntersectionObserver(t=>{let C=t[0];C&&(this.isInview=C.isIntersecting)},{root:null}),this.intersectionObserver.observe(this.eventContext.domElement),[...this.wheelEventsPerObject.entries()].forEach(([t,C])=>{C.forEach(o=>o.connect()),t.addEventListener("userEvent",this.onUserEvent)}),[...this.scrollEventsPerObject.entries()].forEach(([t,C])=>{C.forEach(o=>o.connect()),t.addEventListener("userEvent",this.onUserEvent)}),[...this.wheelEventsPerObject.values()].some(t=>t.length)&&(this.domEventsNeeded.add("wheel"),window.addEventListener("wheel",this.onWheel)),[...this.scrollEventsPerObject.values()].some(t=>t.length)&&(this.domEventsNeeded.add("scroll"),window.addEventListener("scroll",this.onScroll),window.addEventListener("resize",this.handleResize))}disconnect(){window.removeEventListener("wheel",this.onWheel),window.removeEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.handleResize),this.intersectionObserver.unobserve(this.eventContext.domElement),this.domEventsNeeded.clear(),[...this.wheelEventsPerObject.entries()].forEach(([A,g])=>{g.forEach(e=>e.disconnect()),A.removeEventListener("userEvent",this.onUserEvent)}),[...this.scrollEventsPerObject.entries()].forEach(([A,g])=>{g.forEach(e=>e.disconnect()),A.removeEventListener("userEvent",this.onUserEvent)})}},jnA=class{constructor(A,g,e,I,i,t){this.id=A,this.data=g,this.object=e,this.actions=vC(g,g.actions,I,i,t,e)}disconnect(){xt(this.actions)}dispatch(){this.actions.Transition.forEach(A=>{A.play()}),this.actions.Animation.forEach(A=>{A.play()}),this.actions.SwitchCamera.forEach(A=>{A.play()}),this.actions.SceneTransition.forEach(A=>{A.dispatch()}),this.actions.Reset.forEach(A=>A.dispatch()),this.actions.SetVariable.forEach(A=>A.checkConditions()),this.actions.SetVariable.forEach(A=>A.dispatch()),this.actions.DynamicVariablePlay.forEach(A=>A.dispatch()),this.actions.ClearLocalStorage.forEach(A=>A.dispatch()),this.actions.Create.forEach(A=>{A.dispatchFromStart()}),this.actions.Destroy.forEach(A=>{A.dispatchFromStart()})}dispatchAfter(A){this.actions.Audio.forEach(g=>{(g.interaction.data.triggerAfter??"any")===A&&(g.interaction instanceof EQ?g.interaction.audioPlayer.play():g.interaction instanceof OS&&g.interaction.dispatch())}),this.actions.Video.forEach(g=>{let e=g.interaction.data.triggerAfter??"autoplay";e===A&&(g.interaction instanceof ME?g.interaction.play(e==="autoplay"):g.interaction instanceof WS&&g.interaction.dispatch())}),this.actions.Particles.forEach(g=>{(g.data.triggerAfter??"any")===A&&g.dispatchBasic()})}dispatchUserEvent(A){this.actions.Transition.forEach(g=>{g.object.currentTransitionEvent!==this&&(g.object.currentTransitionEvent=this,g.init())}),A?(this.actions.Transition.forEach(g=>g.reverseFromCurrent()),this.actions.Animation.forEach(g=>g.reverseFromCurrent()),this.actions.SwitchCamera.forEach(g=>g.reverseFromCurrent())):(this.actions.Transition.forEach(g=>g.playFromCurrent()),this.actions.Animation.forEach(g=>g.playFromCurrent()),this.actions.SwitchCamera.forEach(g=>g.playFromCurrent())),this.actions.SceneTransition.forEach(g=>g.dispatch()),this.actions.Reset.forEach(g=>g.dispatch()),this.actions.SetVariable.forEach(g=>g.checkConditions()),this.actions.SetVariable.forEach(g=>g.dispatch()),this.actions.DynamicVariablePlay.forEach(g=>g.dispatch()),this.actions.ClearLocalStorage.forEach(g=>g.dispatch()),this.actions.Create.forEach(g=>{g.dispatch()}),this.actions.Destroy.forEach(g=>{g.dispatch()}),this.actions.Audio.forEach(g=>{g.interaction instanceof EQ?g.interaction.audioPlayer.play():g.interaction instanceof OS&&g.interaction.dispatch()}),this.actions.Video.forEach(g=>{g.interaction instanceof ME?g.interaction.play():g.interaction instanceof WS&&g.interaction.dispatch()}),this.actions.Particles.forEach(g=>{g.dispatchBasic()})}},WnA=class extends ya{constructor(A,g){super(A),this.eventManager=g,this.eventsPerObject=new Map,this.eventsAfterPerObject=new Map,this.onMouseDown=()=>{[...this.eventsAfterPerObject.entries()].forEach(([e,I])=>{e.dispatchEvent({type:"beginEvent",eventName:"Start"}),I.forEach(i=>{i.dispatchAfter("mouseDown")})})},this.onKeyDown=()=>{[...this.eventsAfterPerObject.entries()].forEach(([e,I])=>{e.dispatchEvent({type:"beginEvent",eventName:"Start"}),I.forEach(i=>{i.dispatchAfter("keyDown")})})},this.onAny=()=>{let{domElement:e,isExport:I}=this.eventContext,i=I?document:e;i.removeEventListener("pointerdown",this.onAny),i.removeEventListener("mousedown",this.onAny),document.removeEventListener("keydown",this.onAny),[...this.eventsAfterPerObject.entries()].forEach(([t,C])=>{t.dispatchEvent({type:"beginEvent",eventName:"Start"}),C.forEach(o=>{o.dispatchAfter("any")})})},this.onSceneTransitionAudioVideoPlay=()=>{[...this.eventsAfterPerObject.entries()].forEach(([e,I])=>{e.dispatchEvent({type:"beginEvent",eventName:"Start"}),I.forEach(i=>{i.actions.Audio.forEach(t=>{t.interaction instanceof EQ&&t.interaction.audioPlayer.play()}),i.actions.Video.forEach(t=>{let C=t.interaction.data.triggerAfter??"autoplay";t.interaction instanceof ME&&t.interaction.play(C==="autoplay")}),i.actions.Particles.forEach(t=>{t.dispatchBasic()})})})},this.onPlay=()=>{[...this.eventsAfterPerObject.entries()].forEach(([e,I])=>{e.dispatchEvent({type:"beginEvent",eventName:"Start"}),I.forEach(i=>{i.dispatchAfter("autoplay")})})},this.onUserEvent=({eventName:e,target:I,reverse:i})=>{if(!e||!I)return;let t=Lc(e);t&&t==="Start"&&(I instanceof Yt||I.dispatchEvent({type:"beginEvent",eventName:"Start"}),this.eventsPerObject.get(I)?.forEach(C=>{C.dispatchUserEvent(i)}),this.eventsAfterPerObject.get(I)?.forEach(C=>{C.dispatchUserEvent(i)}))}}connect(){let{sharedAssets:A,page:g}=this.eventContext,e=I=>{if(I.data?.events.length)for(let{id:i,data:t}of I.data.events){if(t.disabled||t.type!=="Start")continue;let C=new jnA(i,t,I,g,A,this.eventManager);(C.actions.Transition.length||C.actions.Animation.length||C.actions.SwitchCamera.length||C.actions.Create.length||C.actions.Destroy.length||C.actions.SceneTransition.length||C.actions.Reset.length||C.actions.SetVariable.length||C.actions.DynamicVariablePlay.length||C.actions.ClearLocalStorage.length)&&(this.eventsPerObject.has(I)?this.eventsPerObject.get(I)?.push(C):this.eventsPerObject.set(I,[C])),C.actions.Audio.length&&(this.eventsAfterPerObject.has(I)?this.eventsAfterPerObject.get(I)?.push(C):this.eventsAfterPerObject.set(I,[C])),C.actions.Video.length&&(this.hasVideoAction=!0,this.eventsAfterPerObject.has(I)?this.eventsAfterPerObject.get(I)?.push(C):this.eventsAfterPerObject.set(I,[C])),C.actions.Particles.length&&(this.eventsAfterPerObject.has(I)?this.eventsAfterPerObject.get(I)?.push(C):this.eventsAfterPerObject.set(I,[C]))}};if(g.traverseEntity(I=>{(I instanceof QC||I instanceof Kt)&&I.frame?.traverse(i=>{e(i)}),e(I)}),[...this.eventsAfterPerObject.values()].some(I=>I.length)){if(this.eventManager.activateCount===0){let{domElement:I,isExport:i}=this.eventContext,t=i?document:I;t.addEventListener("pointerdown",this.onMouseDown,{once:!0}),t.addEventListener("mousedown",this.onMouseDown,{once:!0}),document.addEventListener("keydown",this.onKeyDown,{once:!0}),t.addEventListener("pointerdown",this.onAny),t.addEventListener("mousedown",this.onAny),document.addEventListener("keydown",this.onAny),[...this.eventsAfterPerObject.entries()].forEach(([C,o])=>{C.addEventListener("userEvent",this.onUserEvent)})}else this.onSceneTransitionAudioVideoPlay();this.onPlay()}[...this.eventsPerObject.entries()].forEach(([I,i])=>{I.dispatchEvent({type:"beginEvent",eventName:"Start"}),i.forEach(t=>t.dispatch()),I.addEventListener("userEvent",this.onUserEvent)})}disconnect(){if([...this.eventsAfterPerObject.values()].some(A=>A.length)){let{domElement:A,isExport:g}=this.eventContext,e=g?document:A;e.removeEventListener("pointerdown",this.onMouseDown),e.removeEventListener("mousedown",this.onMouseDown),document.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("pointerdown",this.onAny),e.removeEventListener("mousedown",this.onAny),document.removeEventListener("keydown",this.onAny),[...this.eventsAfterPerObject.entries()].forEach(([I,i])=>{I.removeEventListener("userEvent",this.onUserEvent),i.forEach(t=>t.disconnect())})}[...this.eventsPerObject.entries()].forEach(([A,g])=>{A.removeEventListener("userEvent",this.onUserEvent),g.forEach(e=>e.disconnect())}),this.eventsPerObject.clear(),this.eventsAfterPerObject.clear()}},znA=class{constructor(A,g,e,I,i,t){this.id=A,this.data=g,this.object=e,this.initialDisabled=!1,this.actions=vC(g,g.actions,I,i,t,e),this.target=g.target}disconnect(){xt(this.actions)}dispatch(A){this.initialDisabled||(this.actions.Transition.forEach(g=>{g.object.currentTransitionEvent!==this&&(g.object.currentTransitionEvent=this,g.init())}),this.object.dispatchEvent({type:"beginEvent",eventName:"Collision"}),this.actions.Transition.forEach(g=>{g.data.runMode==="Toggle"?g.toggle():g.play()}),this.actions.Animation.forEach(g=>{g.data.runMode==="Toggle"?g.toggle():g.play()}),this.actions.Reset.forEach(g=>{g.dispatch()}),this.actions.Link.forEach(g=>{g.dispatch()}),this.actions.Reset.forEach(g=>{g.dispatch()}),this.actions.Create.forEach(g=>{g.dispatch()}),this.actions.Destroy.forEach(g=>{g.dispatch(A??!1)}),this.actions.SetVariable.forEach(g=>g.checkConditions()),this.actions.SetVariable.forEach(g=>g.dispatch()),this.actions.DynamicVariablePlay.forEach(g=>g.dispatch()),this.actions.Audio.forEach(g=>{g.dispatchBasic()}),this.actions.Particles.forEach(g=>{g.dispatchBasic()}),this.actions.Video.forEach(g=>{g.dispatchBasic()}),this.actions.ClearLocalStorage.forEach(g=>g.dispatch()))}},VnA=class extends ya{constructor(A,g,e,I,i){super(A),this.sharedVariables=g,this.eventManager=e,this.needsMouse=I,this.needsRaycast=i,this.dynamicVars=[],this.variablesToWatch=[],this.prevMouseProperty=null,this.prevRaycastProperty=null,this.pauseTime=0,this.isOutOfFocus=!1,this.events=[],this.onFrame=t=>{let C=this.eventContext.sharedAssets;if(this.rafId=window.requestAnimationFrame(this.onFrame),this.isOutOfFocus)return;let o=new Date,a=[],r=[];for(let Q=0;Q<this.propertiesToWatch.length;Q++){let{objectId:n,property:E,prevValue:l}=this.propertiesToWatch[Q],h=this.eventContext.scene.find(n),u=Ff.propertyPaths[E];if(u[0]==="width"||u[0]==="height"||u[0]==="depth")h=h.geometry.userData.parameters[u[0]];else for(let D=0;D<u.length;D++)h=h[u[D]];l===null?this.propertiesToWatch[Q].prevValue=h instanceof x?h.clone():h:(h instanceof x?!h.equals(l):l!==h)&&(r.push({objId:n,property:E}),h instanceof x?this.propertiesToWatch[Q].prevValue.copy(h):this.propertiesToWatch[Q].prevValue=h)}for(let Q=0;Q<this.variablesToWatch.length;Q++){let{id:n,prevValue:E}=this.variablesToWatch[Q],l=C.getVariable(n);l!==E&&(a.push(n),this.variablesToWatch[Q].prevValue=l)}for(let Q=0;Q<this.dynamicVars.length;Q++){let{id:n,expectedTime:E,last:l,data:h,timerSeconds:u,startValue:D}=this.dynamicVars[Q],p=1e3;if((h.dynamicVariableType==="timer"||h.dynamicVariableType==="stopwatch")&&h.format==="number3decimal"?p=1:h.dynamicVariableType==="counter"?p=h.updateInterval:h.dynamicVariableType==="random"&&(p=h.isStatic?1/0:h.updateInterval),E===-1){this.dynamicVars[Q].last=t,this.dynamicVars[Q].expectedTime=t+p;continue}if(!((C.getDynamicVariablePlayState(n)==="Stopped"||C.getDynamicVariablePlayState(n)==="Restarted")&&(this.dynamicVars[Q].last=t,this.dynamicVars[Q].expectedTime=t+p,h.dynamicVariableType==="counter"&&C.getVariable(n)!==D&&(C.updateVariable(n,D),this.eventManager.requestRender()),(h.dynamicVariableType==="timer"||h.dynamicVariableType==="stopwatch")&&this.dynamicVars[Q].timerSeconds!==D&&(this.dynamicVars[Q].timerSeconds=D,C.updateVariable(n,Fo.getFormattedTimerTime(D,h)),this.eventManager.requestRender()),C.getDynamicVariablePlayState(n)==="Restarted"&&C.setDynamicVariablePlayState(n,"Playing"),C.getDynamicVariablePlayState(n)==="Stopped"))){if(C.getDynamicVariablePlayState(n)==="Paused"){this.dynamicVars[Q].deltaToExpectedTime===void 0&&(this.dynamicVars[Q].deltaToExpectedTime=Math.max(this.dynamicVars[Q].expectedTime-t,0)),this.dynamicVars[Q].last=t-(p-this.dynamicVars[Q].deltaToExpectedTime),this.dynamicVars[Q].expectedTime=t+this.dynamicVars[Q].deltaToExpectedTime;continue}else this.dynamicVars[Q].deltaToExpectedTime=void 0;if(t>=E)if(this.dynamicVars[Q].last=t,this.dynamicVars[Q].expectedTime+=p,h.dynamicVariableType==="random"){let w=h.min+Math.random()*(h.max-h.min),k=h.decimals;w=Math.round(w*Math.pow(10,k))/Math.pow(10,k),C.updateVariable(n,w),a.push(n),this.eventManager.requestRender()}else if(h.dynamicVariableType==="counter"){let w=C.getVariable(n),k=C.getDynamicVariableToggleIsForward(n)??!0,U=C.getVariable(n)+h.increment*(k?1:-1);h.hasEnd&&(U=h.increment>0?Xg.clamp(U,D,h.endValue):Xg.clamp(U,h.endValue,D),U===D&&C.setDynamicVariableToggleIsForward(n,void 0),h.repeat?U===h.endValue&&(U=D):(U===D||U===h.endValue)&&C.setDynamicVariablePlayState(n,"Paused")),U!==w&&(a.push(n),C.updateVariable(n,U),this.eventManager.requestRender())}else if(h.dynamicVariableType==="time"){let w=C.getVariable(n),k=pv(o,h);if(typeof w=="object"&&"textValue"in w&&typeof k=="object"&&"textValue"in k){if(Array.isArray(w.textValue)&&Array.isArray(k.textValue)){if(w.textValue.every((U,N)=>U===k.textValue[N]))continue}else if(w.textValue===k.textValue)continue}else if(w===k)continue;C.updateVariable(n,k),a.push(n),this.eventManager.requestRender()}else{let w=so.isTextValue(h.endValue)?eJ(h.endValue.textValue):h.endValue,k=C.getDynamicVariableToggleIsForward(n)??!0,U=u+(t-l)/1e3*(h.dynamicVariableType==="timer"?-1:1)*(k?1:-1);U=Math.max(U,0),h.hasEnd&&(U=h.dynamicVariableType==="stopwatch"?Xg.clamp(U,D,w):Xg.clamp(U,w,D),U===D&&C.setDynamicVariableToggleIsForward(n,void 0),h.repeat?Math.abs(U-w)<(h.format==="number3decimal"?1e-4:.1)&&(U=D):(Math.abs(U-D)<(h.format==="number3decimal"?1e-4:.1)||Math.abs(U-w)<(h.format==="number3decimal"?1e-4:.1))&&C.setDynamicVariablePlayState(n,"Paused")),U!==u&&(a.push(n),this.dynamicVars[Q].timerSeconds=U,C.updateVariable(n,Fo.getFormattedTimerTime(U,h)),this.eventManager.requestRender())}}}let s=!1;C.mouseProperty!==this.prevMouseProperty&&(this.prevMouseProperty=C.mouseProperty,s=!0);let B=!1;C.raycastProperty!==this.prevRaycastProperty&&(this.prevRaycastProperty=C.raycastProperty,B=!0),this.events.forEach(Q=>{(a.includes(Q.data.variableId)||r.find(n=>n.objId===Q.data.objectId&&n.property===Q.data.property)||Q.data.variableId==="mouseProperty"&&s||Q.data.variableId==="raycastProperty"&&B)&&(Q.dispatch(),this.eventManager.requestRender())})},this.onBlur=()=>{this.pause()},this.onFocus=()=>{this.resume()}}pause(){this.isOutOfFocus||(this.isOutOfFocus=!0,this.pauseTime=Date.now())}resume(){if(!this.isOutOfFocus)return;this.isOutOfFocus=!1;let A=Date.now()-this.pauseTime;for(let g=0;g<this.dynamicVars.length;g++)this.dynamicVars[g].last+=A,this.dynamicVars[g].expectedTime+=A}connect(){this.eventContext.page.traverseEntity(g=>{g.data?.events.filter(e=>e.data.type==="VariableChange"&&!e.data.disabled).forEach(e=>{this.events.push(new ZnA(e.id,e.data,g,this.eventContext.page,this.eventContext.sharedAssets,this.eventManager))})}),this.propertiesToWatch=this.events.filter(g=>g.data.variableId==="objectProperty"&&g.data.objectId!==null).map(g=>({objectId:g.data.objectId,property:g.data.property,prevValue:null}));let A=this.eventContext.sharedAssets;this.sharedVariables.forEach(({id:g,data:e})=>{if(!("dynamicVariableType"in e)){this.events.find(i=>i.data.variableId===g)&&this.variablesToWatch.push({id:g,prevValue:A.getVariable(g)});return}let I;if(e.dynamicVariableType==="timer"||e.dynamicVariableType==="stopwatch"){let i;if(so.isTextValue(e.value)&&Array.isArray(e.value.textValue)){let t=e.value.textValue;t.length===3?i=t[2]+t[1]*60+t[0]*3600:i=t[1]+t[0]*60}else i=e.value;I=i,this.dynamicVars.push({id:g,last:-1,expectedTime:-1,data:e,timerSeconds:i,startValue:I})}else e.dynamicVariableType==="time"&&A.updateVariable(g,pv(new Date,e)),e.dynamicVariableType==="counter"&&(I=so.isTextValue(e.value)?eJ(e.value.textValue):e.value),this.dynamicVars.push({id:g,last:-1,expectedTime:-1,data:e,startValue:I})}),this.rafId=window.requestAnimationFrame(this.onFrame),window.addEventListener("blur",this.onBlur),window.addEventListener("focus",this.onFocus)}disconnect(){window.removeEventListener("blur",this.onBlur),window.removeEventListener("focus",this.onFocus),this.rafId&&(window.cancelAnimationFrame(this.rafId),this.rafId=void 0),this.events.forEach(A=>A.dispose())}},ZnA=class{constructor(A,g,e,I,i,t){this.id=A,this.data=g,this.object=e,this.actions=vC(g,g.actions,I,i,t,e)}dispatch(){let A=this.actions;A.Audio.forEach(g=>g.dispatchConditional()),A.Particles.forEach(g=>g.dispatchConditional()),A.Video.forEach(g=>g.dispatchConditional()),A.Create.forEach(g=>g.dispatch()),A.Destroy.forEach(g=>g.dispatch()),A.Reset.forEach(g=>g.dispatch()),A.Transition.forEach(g=>{g.object.currentTransitionEvent!==this&&(g.object.currentTransitionEvent=this),g.init()}),A.Transition.forEach(g=>g.play()),A.Animation.forEach(g=>g.play()),A.SwitchCamera.forEach(g=>g.play()),A.SceneTransition.forEach(g=>g.dispatch()),A.SetVariable.forEach(g=>g.checkConditions()),A.SetVariable.forEach(g=>g.dispatch()),A.DynamicVariablePlay.forEach(g=>g.dispatch()),A.ClearLocalStorage.forEach(g=>g.dispatch())}dispose(){xt(this.actions)}};function eJ(A){return A.length===3?A[2]+A[1]*60+A[0]*3600:A[1]+A[0]*60}var XnA="https://unpkg.com/@splinetool/runtime@1.9.3/build/",$nA="https://unpkg.com/@splinetool/navmesh-wasm@1.9.3/build/",AEA=`
(async function() {
	const [wasmImport, wasmBinary] = await Promise.all([
		import('${XnA}' + 'navmesh.js'),
		fetch('${$nA}' + 'navmesh.wasm').then((res) => res.arrayBuffer()),
	]);
	const wasmModule = wasmImport.default;
	self.module = await wasmModule({ wasmBinary });
	postMessage('ready');
})();
`,gEA=`
(async function() {
	const [wasmImport, wasmBinary] = await Promise.all([
		import(self.location.origin + '/_libraries/navmesh.js'),
		fetch(self.location.origin + '/_libraries/navmesh.wasm').then((res) => res.arrayBuffer()),
	]);
	const wasmModule = wasmImport.default;
	self.module = await wasmModule({ wasmBinary });
	postMessage('ready');
})();
`,eEA=`

onmessage = function(messageEvent) {
	const meshData = messageEvent.data;
	const positions = meshData[0];
	const offset = meshData[1];
	const indices = meshData[2];
	const indicesLength = meshData[3];
	const parameters = meshData[4];

	const module = self.module;
	const rc = new module.rcConfig();
	rc.cs = parameters.cs;
	rc.ch = parameters.ch;
	rc.borderSize = parameters.borderSize ? parameters.borderSize : 0;
	rc.tileSize = parameters.tileSize ? parameters.tileSize : 0;
	rc.walkableSlopeAngle = parameters.walkableSlopeAngle;
	rc.walkableHeight = parameters.walkableHeight;
	rc.walkableClimb = parameters.walkableClimb;
	rc.walkableRadius = parameters.walkableRadius;
	rc.maxEdgeLen = parameters.maxEdgeLen;
	rc.maxSimplificationError = parameters.maxSimplificationError;
	rc.minRegionArea = parameters.minRegionArea;
	rc.mergeRegionArea = parameters.mergeRegionArea;
	rc.maxVertsPerPoly = parameters.maxVertsPerPoly;
	rc.detailSampleDist = parameters.detailSampleDist;
	rc.detailSampleMaxError = parameters.detailSampleMaxError;

	if (!self.navMesh) {
		self.navMesh = new module.NavMesh();
	}
	self.navMesh.build(positions, offset, indices, indicesLength, rc);

	const navmeshData = navMesh.getNavmeshData();
	const arrView = new Uint8Array(module.HEAPU8.buffer, navmeshData.dataPointer, navmeshData.size);
	const ret = new Uint8Array(navmeshData.size);
	ret.set(arrView);
	navMesh.freeNavmeshData(navmeshData);

	postMessage(ret);
}
`,IJ=.001,IEA={cs:6,ch:2,walkableSlopeAngle:90,walkableHeight:20,walkableClimb:5,walkableRadius:0,maxEdgeLen:12,maxSimplificationError:1.3,minRegionArea:8,mergeRegionArea:20,maxVertsPerPoly:6,detailSampleDist:6,detailSampleMaxError:1},Qx,oI,Zt;YgA.then(A=>{Qx=A,oI=new A.Vec3,Zt=new A.Vec3});var iEA=new x,tEA=class{constructor(A=!1,g=!1){this.usePhysics=A,this.isExport=g,this.onPointerDown=e=>{if(ye.length!==1)return;let{raycaster:I,page:i}=this.eventContext;this.eventContext.updateRaycaster(e);let t=i.raycastWithClones(I);if(t.length!==0){if(this.gameControl){let C=iEA.copy(this.gameControl.colliderWorldPosition);C.y-=this.gameControl.colliderHeight/2,this.gameControl.path=this.computePath(C,t[0].point)}this.eventContext.requestRender()}},this.traverseWithPhysics=(e,I)=>i=>{let t;if(i instanceof na)if(i.objectForSample){if(i.objectForSample.dataPatched.physics.fusedBody)return;t=i.object}else return i.object.dataPatched.physics.fusedBody===!0&&i.object.dataPatched.physics.rigidBody==="dynamic"?!0:void 0;else if(i instanceof nC)t=i.object;else if(t=i,t.dataPatched.cloner?.disabled===!1&&t.dataPatched.cloner?.hideBase&&t.dataPatched.physics?.fusedBody!==!0)return!0;if(I&&!t.userData.navmesh)return;let C=t.dataPatched;if(!C.visible&&C.physics?.enabled!==!0)return!0;i.updateMatrixWorldSVD();let o=pp(C),a=t.userData.hasDestroy,r=t.userData.hasDrag,s=!1,B=!1;for(let Q of C.events)Q.data.disabled!==!0&&(Q.data.type==="GameControl"?s=!0:Q.data.type==="Follow"&&(B=!0));if(s||o||B||a||r)return!0;if(this.usePhysics&&C.physics?.rigidBody==="dynamic"){if(this.usePhysics&&C.physics?.fusedBody)return!0}else if("geometry"in i&&i.geometry&&e.push(As(i.geometry,i.matrixWorld)),this.usePhysics&&C.physics?.fusedBody)return i.traverseObject((Q,n)=>{if(n===0)return;let E;if(Q instanceof na)if(Q.objectForSample){if(Q.objectForSample.dataPatched.physics.fusedBody)return;E=Q.object}else return Q.object.dataPatched.physics.fusedBody===!0&&Q.object.dataPatched.physics.rigidBody==="dynamic"?!0:void 0;else if(Q instanceof nC)E=Q.object;else if(E=Q,Q.dataPatched.cloner?.hideBase)return!0;let l=E.dataPatched;if(!l.visible&&l.physics?.enabled!==!0)return!0;"geometry"in Q&&Q.geometry&&e.push(As(Q.geometry,Q.matrixWorld))}),!0},this.traverseNoPhysics=(e,I)=>i=>{let t;if(i instanceof na)return;i instanceof nC?t=i.object:t=i;let C=t.dataPatched;if(C.physics.enabled==="visibility"?!C.visible:!C.physics.enabled)return!0;if(I&&!t.userData.navmesh)return;let o=i.geometry,a=t.userData.hasDestroy===!0,r=t.userData.hasDrag===!0;if(pp(C)||a||r||t.dataPatched.events.some(s=>s.data.disabled!==!0&&s.data.type==="GameControl"))return!0;o&&e.push(As(o,i.matrixWorld))},this.navmeshWasm=Qx,this.navMesh=new this.navmeshWasm.NavMesh,this._workerURL=URL.createObjectURL(new Blob([(g?AEA:gEA)+eEA])),this._worker=new Worker(this._workerURL)}init(A,g,e){this.gameControl=g,this.eventContext=e,this.setDefaultQueryExtent(new x().setScalar(A.ch*A.walkableRadius*1.2)),this._worker.onmessage=()=>{this.createNavMesh(e.page,A,I=>{this.buildFromNavmeshData(I.data)})},this.eventContext.renderer.domElement.addEventListener("pointerdown",this.onPointerDown)}createNavMesh(A,g,e){g.objects.forEach(a=>{let r=A.scene.find(a);r.traverseEntity(s=>{s.userData.navmesh=!0}),r.cloner?.traverseObject(s=>{s.userData.navmesh=!0})});let I=[],i=(this.usePhysics?this.traverseWithPhysics:this.traverseNoPhysics)(I,g.zones==="custom");if(A.traverseChildren(i),g.objects.forEach(a=>{let r=A.scene.find(a);r.traverseEntity(s=>{s.userData.navmesh=void 0}),r.cloner?.traverseObject(s=>{s.userData.navmesh=void 0})}),I.length===0)return!1;let t=nQ(I),{positions:C,triIndices:o}=Yp(t.getAttribute("position"),t.getIndex());return this._worker.postMessage([C,C.length/3,o,o.length,{...IEA,...g}]),this._worker.onmessage=e,!0}createDebugNavGeometry(){let A,g,e=this.navMesh.getDebugNavMesh(),I=e.getTriangleCount(),i=new Uint32Array(I*3),t=new Float32Array(I*3*3);for(A=0;A<I*3;A++)i[A]=A;for(A=0;A<I;A++)for(g=0;g<3;g++){let o=e.getTriangle(A).getPoint(g);t[A*9+g*3+0]=o.x,t[A*9+g*3+1]=o.y,t[A*9+g*3+2]=o.z}let C=new se;return C.setIndex(new Se(i,1)),C.setAttribute("position",new Se(t,3)),C}getClosestPoint(A){return oI.x=A.x,oI.y=A.y,oI.z=A.z,this.navMesh.getClosestPoint(oI)}getClosestPointToRef(A,g){oI.x=A.x,oI.y=A.y,oI.z=A.z;let e=this.navMesh.getClosestPoint(oI);g.set(e.x,e.y,e.z)}getRandomPointAround(A,g){return oI.x=A.x,oI.y=A.y,oI.z=A.z,this.navMesh.getRandomPointAround(oI,g)}getRandomPointAroundToRef(A,g,e){oI.x=A.x,oI.y=A.y,oI.z=A.z;let I=this.navMesh.getRandomPointAround(oI,g);e.set(I.x,I.y,I.z)}moveAlong(A,g){return oI.x=A.x,oI.y=A.y,oI.z=A.z,Zt.x=g.x,Zt.y=g.y,Zt.z=g.z,this.navMesh.moveAlong(oI,Zt)}moveAlongToRef(A,g,e){return oI.x=A.x,oI.y=A.y,oI.z=A.z,Zt.x=g.x,Zt.y=g.y,Zt.z=g.z,this.navMesh.moveAlong(oI,Zt)}computePath(A,g){let e=this.getClosestPoint(g);if(Zt.x=e.x,Zt.y=e.y,Zt.z=e.z,Math.sqrt(Math.pow(g.x-e.x,2)+Math.pow(g.y-e.y,2)+Math.pow(g.z-e.z,2))>this.getDefaultQueryExtent().y)return[];this.getClosestPoint(A);let I=this.navMesh.computePath(oI,Zt),i=I.getPointCount(),t=[];for(let C=0;C<i;C++){let o=I.getPoint(C);t.push(new x(o.x,o.y,o.z))}return t}createCrowd(A,g){return new CEA(this,A,g)}setDefaultQueryExtent(A){oI.x=A.x,oI.y=A.y,oI.z=A.z,this.navMesh.setDefaultQueryExtent(oI)}getDefaultQueryExtent(){return this.navMesh.getDefaultQueryExtent()}buildFromNavmeshData(A){let g=A.length*A.BYTES_PER_ELEMENT,e=this.navmeshWasm._malloc(g),I=new Uint8Array(this.navmeshWasm.HEAPU8.buffer,e,g);I.set(A);let i=new this.navmeshWasm.NavmeshData;i.dataPointer=I.byteOffset,i.size=A.length,this.navMesh.buildFromNavmeshData(i),this.navmeshWasm._free(I.byteOffset)}getNavmeshData(){let A=this.navMesh.getNavmeshData(),g=new Uint8Array(this.navmeshWasm.HEAPU8.buffer,A.dataPointer,A.size),e=new Uint8Array(A.size);return e.set(g),this.navMesh.freeNavmeshData(A),e}getDefaultQueryExtentToRef(A){let g=this.navMesh.getDefaultQueryExtent();A.set(g.x,g.y,g.z)}dispose(){this.navMesh.destroy(),this._worker.terminate(),URL.revokeObjectURL(this._workerURL),this.eventContext?.renderer.domElement.removeEventListener("pointerdown",this.onPointerDown)}addCylinderObstacle(A,g,e){return oI.x=A.x,oI.y=A.y,oI.z=A.z,this.navMesh.addCylinderObstacle(oI,g,e)}addBoxObstacle(A,g,e){return oI.x=A.x,oI.y=A.y,oI.z=A.z,Zt.x=g.x,Zt.y=g.y,Zt.z=g.z,this.navMesh.addBoxObstacle(oI,Zt,e)}removeObstacle(A){this.navMesh.removeObstacle(A)}isSupported(){return this.navmeshWasm!==void 0}},CEA=class{constructor(A,g,e){this.navmeshWasmWrapper=A,this.transforms=[],this.agents=new Array,this.reachRadii=new Array,this._agentDestinationArmed=new Array,this._agentDestination=new Array,this.crowd=new this.navmeshWasmWrapper.navmeshWasm.Crowd(g,e,this.navmeshWasmWrapper.navMesh.getNavMesh())}onReachTarget(A,g){}addAgent(A,g,e){let I=new this.navmeshWasmWrapper.navmeshWasm.dtCrowdAgentParams;I.radius=g.radius,I.height=g.height,I.maxAcceleration=g.maxAcceleration,I.maxSpeed=g.maxSpeed,I.collisionQueryRange=g.collisionQueryRange,I.pathOptimizationRange=g.pathOptimizationRange,I.separationWeight=g.separationWeight,I.updateFlags=7,I.obstacleAvoidanceType=0,I.queryFilterType=0,I.userData=0;let i=this.crowd.addAgent(new this.navmeshWasmWrapper.navmeshWasm.Vec3(A.x,A.y,A.z),I);return this.transforms.push(e),this.agents.push(i),this.reachRadii.push(g.reachRadius?g.reachRadius:g.radius),this._agentDestinationArmed.push(!1),this._agentDestination.push(new x(0,0,0)),i}getAgentPosition(A){return this.crowd.getAgentPosition(A)}getAgentPositionToRef(A,g){let e=this.crowd.getAgentPosition(A);g.set(e.x,e.y,e.z)}getAgentVelocity(A){return this.crowd.getAgentVelocity(A)}getAgentVelocityToRef(A,g){let e=this.crowd.getAgentVelocity(A);g.set(e.x,e.y,e.z)}getAgentNextTargetPath(A){return this.crowd.getAgentNextTargetPath(A)}getAgentNextTargetPathToRef(A,g){let e=this.crowd.getAgentNextTargetPath(A);g.set(e.x,e.y,e.z)}getAgentState(A){return this.crowd.getAgentState(A)}overOffmeshConnection(A){return this.crowd.overOffmeshConnection(A)}agentGoto(A,g){this.crowd.agentGoto(A,new this.navmeshWasmWrapper.navmeshWasm.Vec3(g.x,g.y,g.z));let e=this.agents.indexOf(A);e>-1&&(this._agentDestinationArmed[e]=!0,this._agentDestination[e].set(g.x,g.y,g.z))}agentTeleport(A,g){this.crowd.agentTeleport(A,new this.navmeshWasmWrapper.navmeshWasm.Vec3(g.x,g.y,g.z))}updateAgentParameters(A,g){let e=this.crowd.getAgentParameters(A);g.radius!==void 0&&(e.radius=g.radius),g.height!==void 0&&(e.height=g.height),g.maxAcceleration!==void 0&&(e.maxAcceleration=g.maxAcceleration),g.maxSpeed!==void 0&&(e.maxSpeed=g.maxSpeed),g.collisionQueryRange!==void 0&&(e.collisionQueryRange=g.collisionQueryRange),g.pathOptimizationRange!==void 0&&(e.pathOptimizationRange=g.pathOptimizationRange),g.separationWeight!==void 0&&(e.separationWeight=g.separationWeight),this.crowd.setAgentParameters(A,e)}removeAgent(A){this.crowd.removeAgent(A);let g=this.agents.indexOf(A);g>-1&&(this.agents.splice(g,1),this.transforms.splice(g,1),this.reachRadii.splice(g,1),this._agentDestinationArmed.splice(g,1),this._agentDestination.splice(g,1))}getAgents(){return this.agents}update(A){if(this.navmeshWasmWrapper.navMesh.update(),A<=IJ)return;let g=1/60,e=10;if(g<=IJ)this.crowd.update(A);else{let I=Math.floor(A/g);e&&I>e&&(I=e),I<1&&(I=1);let i=A/I;for(let t=0;t<I;t++)this.crowd.update(i)}for(let I=0;I<this.agents.length;I++){let i=this.agents[I],t=this.getAgentPosition(i);if(this.transforms[I].copy(t),this._agentDestinationArmed[I]){let C=t.x-this._agentDestination[I].x,o=t.z-this._agentDestination[I].z,a=this.reachRadii[I],r=this._agentDestination[I].y-this.reachRadii[I],s=this._agentDestination[I].y+this.reachRadii[I],B=C*C+o*o;t.y>r&&t.y<s&&B<a*a&&(this.onReachTarget(i,this._agentDestination[I]),this._agentDestinationArmed[I]=!1)}}}setDefaultQueryExtent(A){let g=new this.navmeshWasmWrapper.navmeshWasm.Vec3(A.x,A.y,A.z);this.crowd.setDefaultQueryExtent(g)}getDefaultQueryExtent(){return this.crowd.getDefaultQueryExtent()}getDefaultQueryExtentToRef(A){let g=this.crowd.getDefaultQueryExtent();A.set(g.x,g.y,g.z)}getCorners(A){let g,e=this.crowd.getCorners(A),I=e.getPointCount(),i=[];for(g=0;g<I;g++){let t=e.getPoint(g);i.push(new x(t.x,t.y,t.z))}return i}dispose(){this.crowd.destroy()}};function oEA(A){let g=!1;return A.scene.objects.forEach(e=>{e.data.type==="Page"&&!g&&e.data.publish.gameControlObject&&nc.traverseModuleInstances(A,e.id,(I,i,t)=>{for(let C of t)C.data.type==="GameControl"&&C.data.navmesh.enabled&&(g=!0)})}),g}var aEA={type:"change"},iJ={type:"changeZoom"},rEA={type:"changePan"},ZB={type:"start"},XB={type:"end",changed:!0},sEA={type:"end",changed:!1},T0=new ke,tJ=new mA,BEA=2*Math.PI,QEA=1e-8,nEA=.01,O0=new x,gD=new mA,_0=new x,eD=new ke,CJ=new wg,EEA={type:"requestRender"},nx=class extends tC{constructor(A,g,e={isPlayMode:!1,isExport:!1}){super(),this.object=A,this.domElement=g,this.options=e,this.enabled=!0,this.useKeyEvents=!0,this.enableDamping=!1,this.enableZoom=!0,this.enableRotate=!0,this.enablePan=!0,this.autoRotate=!1,this.rotationLimitsMode=0,this.panLimitsMode=0,this.rotationSoftLimit=2,this.panSoftLimit=2,this.hoverRotatePanMode=0,this.zoomLimitsEnabled=!1,this.mouseButtons=[0,5],this.mouseButtonsPlay=[3,4,5],this.touches=[null,wo.DOLLY_ROTATE,wo.PAN],this.offset=new x,this.eye=new x,this.lastPosition=new x,this.lastQuaternion=new ke,this.current=new mA,this.overShoot=new mA,this.overRatio=new mA,this.spherical=new HN,this.sphericalDelta=new HN,this.panOffset=new x,this.panLeftV=new x,this.panUpV=new x,this.panV=new x,this.rotateStart=new mA,this.rotateEnd=new mA,this.rotateDelta=new mA,this.panStart=new mA,this.panEnd=new mA,this.panDelta=new mA,this.dollyStart=new mA,this.dollyEnd=new mA,this.dollyDelta=new mA,this.rotationRangeFactor=new mA,this.panRangeFactor=new mA,this.state=-1,this.zoomChanged=!1,this.isPointerDown=!1,this.isThetaFlipped=!1,this.prevScale=0,this.scale=1,this.gesture=!1,this.timer=-1,this.timerHover=-1,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPhi=0,this.maxPhi=Math.PI,this.minTheta=-1/0,this.maxTheta=1/0,this.minH=0,this.maxH=Math.PI,this.minV=-1/0,this.maxV=1/0,this.autoRotateClockwise=!0,this.isPanOverShoot=!1,this.isRotateOverShoot=!1,this.resetHoverEffectOnPointerLeave=!1,this.hasChange=!1,this.useWindowEvents=!1,this.isTouchZoom=!0,this.autoRotateSpeed=2,this.dampingFactor=.125,this.zoomSpeed=2,this.rotateSpeed=1,this.panSpeed=1,this.hoverRotatePanStrength=.1,this.hoverRotateDamping=this.dampingFactor,this.thetaIsFree=!1,this.phiIsFree=!1,this.needsUpdate=!0,this.onCameraChange=I=>{this.object.removeEventListener("beginState",this.onBeginState),this.object.removeEventListener("completeState",this.onCompleteState),this.object.removeEventListener("cameraChange",this.onCameraChange),this.object=I.camera,this.object.addEventListener("beginState",this.onBeginState),this.object.addEventListener("completeState",this.onCompleteState),this.object.addEventListener("cameraChange",this.onCameraChange)},this.update=()=>{this.object.updateWorldMatrix(!0,!1),this.object.matrixWorld.decompose(_0,eD,O0),this.offset.copy(_0).sub(this.target),this.spherical.setFromVector3(this.offset),this.object.isUpVectorFlipped&&(this.spherical.phi*=-1,this.spherical.theta-=Math.PI),this.autoRotate&&this.state===-1&&this.rotateLeft((this.autoRotateClockwise===!0?1:-1)*this.getAutoRotationAngle()),this.rotationLimitsMode!==0&&this.applyLimits(this.sphericalDelta,this.rotationLimitsMode,this.rotationSoftLimit,this.maxTheta,this.minTheta,this.maxPhi,this.minPhi,this.rotationRangeFactor),this.rotationLimitsMode!==2&&(this.spherical.phi+=this.sphericalDelta.phi),(this.rotationLimitsMode!==1||this.autoRotate===!0)&&(this.spherical.theta+=this.sphericalDelta.theta),this.spherical.radius*=this.scale,this.zoomLimitsEnabled&&this.object.isPerspectiveCamera&&(this.spherical.radius=Math.max(this.minDistance,Math.min(this.maxDistance,this.spherical.radius))),this.panLimitsMode!==0&&(this.target.applyQuaternion(T0.copy(eD).invert()),this.panOffset.applyQuaternion(T0),this.applyLimits(this.panOffset,this.panLimitsMode,this.panSoftLimit,this.maxH,this.minH,this.maxV,this.minV,this.panRangeFactor),this.target.applyQuaternion(eD),this.panOffset.applyQuaternion(eD)),this.panLimitsMode===2&&(this.panOffset.y=0),this.panLimitsMode===1&&(this.panOffset.x=0),this.state===-1&&!this.gesture?(this.panOffset.multiplyScalar(1-this.dampingFactor),this.target.add(this.panOffset)):(this.target.add(this.panOffset),this.panOffset.set(0,0,0)),this.offset.setFromSpherical(this.spherical),_0.copy(this.target).add(this.offset),this.object.position.copy(this.target).add(this.offset),this.object.parent&&(CJ.copy(this.object.parent.matrixWorld).invert(),this.object.position.applyMatrix4(CJ));let I=this.spherical.phi%BEA;if(this.eye.copy(this.offset).normalize(),this.object.up.copy(YI.DEFAULT_UP).applyAxisAngle(this.eye,this.object.angleOffsetFromUp),I>0&&I>Math.PI||I<0&&I>-Math.PI?(this.object.up.negate(),this.object.lookAt(this.target),this.object.isUpVectorFlipped=!0):(this.object.lookAt(this.target),this.object.isUpVectorFlipped=!1),this.state===-1||this.enableDamping===!0){let i=this.hoverRotatePanMode===1?this.hoverRotateDamping:this.dampingFactor;this.sphericalDelta.theta*=1-i,this.sphericalDelta.phi*=1-i}else this.sphericalDelta.set(0,0,0);return this.scale=1,this.zoomChanged||this.lastPosition.distanceToSquared(this.object.position)>nEA||8*(1-this.lastQuaternion.dot(this.object.quaternion))>QEA?(this.dispatchEvent(aEA),this.object.dispatchEvent(EEA),this.lastPosition.copy(this.object.position),this.lastQuaternion.copy(this.object.quaternion),this.zoomChanged=!1,!0):(this.isPanOverShoot=!1,this.isRotateOverShoot=!1,this.object.wasMovedBySwitchCameraAction=!1,this.sphericalDelta.set(0,0,0),this.panOffset.set(0,0,0),!1)},this.onPointerDown=I=>{this.enabled!==!1&&(I.pointerType==="touch"||I.pointerType==="pen"&&ro?this.onPointerDownTouch(I):this.onPointerDownMouse(I),this.state!==-1&&(this.isPointerDown=!0,this.dispatchEvent(ZB),this.domElement.addEventListener("pointermove",this.onPointerMove),this.domElement.addEventListener("pointerup",this.onPointerUp),I.stopPropagation(),I.pointerType==="touch"||I.pointerType==="pen"&&ro||this.domElement.setPointerCapture(I.pointerId)))},this.onPointerLeave=I=>{this.resetHoverEffectOnPointerLeave&&!this.useWindowEvents?(this.hoverRotatePanMode===1?(this.sphericalDelta.theta=-this.spherical.theta,this.sphericalDelta.phi=-this.spherical.phi,O0.subVectors(this.position0,this.target0),this.spherical.setFromVector3(O0),this.sphericalDelta.theta+=this.spherical.theta,this.sphericalDelta.phi+=this.spherical.phi,this.sphericalDelta.theta/=8,this.sphericalDelta.phi/=8):this.hoverRotatePanMode===2&&this.panOffset.subVectors(this.target0,this.target).divideScalar(8),this.update()):this.pointerLeaveEvent=I},this.onPointerEnter=I=>{this.resetHoverEffectOnPointerLeave||this.pointerLeaveEvent===void 0?gD.set(I.clientX-this.domElement.clientWidth/2,I.clientY-this.domElement.clientHeight/2):gD.set(I.clientX-this.pointerLeaveEvent.clientX,I.clientY-this.pointerLeaveEvent.clientY),this.hoverRotatePanMode===1?(this.rotateDelta.copy(gD).multiplyScalar(this.rotateSpeed*this.hoverRotatePanStrength).rotateAround(tJ,-this.object.angleOffsetFromUp),this.rotateLeft(2*Math.PI*this.rotateDelta.x/this.domElement.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/this.domElement.clientHeight),this.rotateStart.set(I.clientX,I.clientY)):this.hoverRotatePanMode===2&&(this.panDelta.copy(gD).multiplyScalar(this.panSpeed*this.hoverRotatePanStrength),this.pan(this.panDelta.x,this.panDelta.y),this.panStart.set(I.clientX,I.clientY)),this.update()},this.onPointerMove=I=>{this.enabled!==!1&&(this.checkRaycastLock()||(I.pointerType==="touch"||I.pointerType==="pen"&&ro?this.onPointerMoveTouch(I):this.onPointerMoveMouse(I),I.stopPropagation()))},this.onPointerUp=I=>{this.isPointerDown=!1,ye.length===0&&(this.domElement.removeEventListener("pointermove",this.onPointerMove),this.domElement.removeEventListener("pointerup",this.onPointerUp)),ye.length>1&&I.preventDefault(),this.hasChange?this.dispatchEvent(XB):this.dispatchEvent(sEA),this.state=-1,I&&(I.stopPropagation(),I.pointerType==="touch"||I.pointerType==="pen"&&ro||this.domElement.releasePointerCapture(I.pointerId))},this.onPointerDownMouse=I=>{let i;switch(this.useKeyEvents?i=this.mouseButtons[I.button]:i=this.mouseButtonsPlay[I.button],i){case 0:if(I.altKey===!0&&!I.shiftKey&&!nu(I)){if(this.enableRotate===!1)return;this.handleMouseDownRotate(I),this.state=0}else if(this.key===" "){if(this.enablePan===!1)return;this.handleMouseDownPan(I),this.state=2}break;case 4:if(this.enablePan===!1)return;this.handleMouseDownPan(I),this.state=2;break;case 3:if(nu(I)||I.shiftKey){if(this.enablePan===!1)return;this.handleMouseDownPan(I),this.state=2}else{if(this.enableRotate===!1)return;this.handleMouseDownRotate(I),this.state=0}break;case 5:if(nu(I)||I.shiftKey){if(this.enableRotate===!1)return;this.handleMouseDownRotate(I),this.state=0}else{if(this.enablePan===!1)return;this.handleMouseDownPan(I),this.state=2}break;default:this.state=-1}},this.onPointerMoveMouse=I=>{switch(this.state){case 0:if(this.enableRotate===!1)return;this.handleMouseMoveRotate(I);break;case 1:if(this.enableZoom===!1)return;this.handleMouseMoveDolly(I);break;case 2:if(this.enablePan===!1)return;this.handleMouseMovePan(I);break}this.object.wasMovedByUser=!0},this.onPointerDownTouch=I=>{switch(ye.length>1&&I.preventDefault(),this.touches[ye.length-1]){case wo.ROTATE:if(this.enableRotate===!1){this.state=-1;return}this.handleTouchStartRotate(),this.state=3;break;case wo.PAN:if(this.enablePan===!1){this.state=-1;return}this.handleTouchStartPan(),this.state=4;break;case wo.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this.handleTouchStartDollyPan(),this.state=5;break;case wo.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this.handleTouchStartDollyRotate(),this.state=6;break;default:this.state=-1}},this.onPointerMoveTouch=I=>{switch(ye.length>1&&I.preventDefault(),this.state){case 3:if(this.enableRotate===!1)return;this.handleTouchMoveRotate(I),this.update();break;case 4:if(this.enablePan===!1)return;this.handleTouchMovePan(I),this.update();break;case 5:if(this.enableZoom===!1&&this.enablePan===!1)return;this.handleTouchMoveDollyPan(I),this.update();break;case 6:if(this.enableZoom===!1&&this.enableRotate===!1)return;this.handleTouchMoveDollyRotate(I),this.update();break;default:this.state=-1}this.object.wasMovedByUser=!0},this.dispatchEndDebounced=NG(()=>this.dispatchEvent(XB),33),this.onMouseWheel=I=>{this.enabled===!1||this.enableZoom===!1&&this.enablePan===!1||this.checkRaycastLock()||(!this.options.isExport&&this.domElement.clientHeight===document.body.clientHeight&&this.domElement.clientWidth===document.body.clientWidth&&I.preventDefault(),this.dispatchEvent(ZB),this.handleMouseWheel(I),this.dispatchEndDebounced(),this.object.wasMovedByUser=!0)},this.onGesture=I=>{if(I.preventDefault(),this.enabled!==!1&&!this.checkRaycastLock()&&!Nc)if(I.type==="gesturechange"){if(this.enableZoom===!1||this.isTouchZoom===!1)return;this.dispatchEvent(ZB),I.scale>this.prevScale?this.dollyIn(this.getZoomScale()):I.scale<this.prevScale&&this.dollyOut(this.getZoomScale()),this.prevScale=I.scale,this.update(),this.object.wasMovedByUser=!0}else this.dispatchEvent(XB)},this.onContextMenu=I=>{I.preventDefault()},this.onTouchEnd=I=>{I.preventDefault()},this.onKeyDown=I=>{this.enabled!==!1&&(this.key=I.key,I.key===" "&&this.dispatchEvent(ZB))},this.onKeyUp=I=>{this.enabled!==!1&&(this.key=void 0,this.state!==-1&&I.key==="Alt"&&this.onPointerUp(ye[0]),I.key===" "&&this.dispatchEvent(XB))},this.onPointerHover=I=>{I.pointerType!=="mouse"||this.enabled===!1||this.state!==-1||this.hoverRotatePanMode===2&&this.isPanOverShoot||this.hoverRotatePanMode===1&&this.isRotateOverShoot||(this.isPointerDown=!0,this.hoverRotatePanMode===2?this.handleMouseMovePan(I,this.hoverRotatePanStrength):this.hoverRotatePanMode===1&&this.handleMouseMoveRotate(I,this.hoverRotatePanStrength))},this.onBeginState=()=>{this.enabled=!1,this.needsUpdate=!1},this.onCompleteState=I=>{I.isfromEntity&&this.options.isPlayMode||(this.enabled=!0,this.needsUpdate=!0,this.object.updateUp(),this.object.getTarget(this.target))},this.target=this.object.getTarget(),this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.quat0=this.object.quaternion.clone(),this.isUpVectorFlipped0=this.object.isUpVectorFlipped,this.offset.copy(this.object.position).sub(this.target),this.spherical.setFromVector3(this.offset),this.object.isUpVectorFlipped&&(this.spherical.phi*=-1,this.spherical.theta-=Math.PI),this.initialSphericalRadius=this.spherical.radius,this.addEventListenersToCamera()}dispatchEvent(A){A.type==="start"?this.hasChange=!1:this.hasChange=!0,super.dispatchEvent(A)}addEventListenersToCamera(){this.object.addEventListener("beginState",this.onBeginState),this.object.addEventListener("completeState",this.onCompleteState),this.object.addEventListener("cameraChange",this.onCameraChange)}removeEventListenersFromCamera(){this.object.removeEventListener("beginState",this.onBeginState),this.object.removeEventListener("completeState",this.onCompleteState),this.object.removeEventListener("cameraChange",this.onCameraChange)}updateUseWindowEvents(A){if(window.removeEventListener("pointermove",this.onPointerHover),this.domElement.removeEventListener("pointermove",this.onPointerHover),this.useWindowEvents=A,this.hoverRotatePanMode!==0&&(this.useWindowEvents?window.addEventListener("pointermove",this.onPointerHover):this.domElement.addEventListener("pointermove",this.onPointerHover)),this.domElement.removeEventListener("pointerleave",this.onPointerLeave),this.domElement.removeEventListener("pointerenter",this.onPointerEnter),window.removeEventListener("pointerleave",this.onPointerLeave),window.removeEventListener("pointerenter",this.onPointerEnter),this.hoverRotatePanMode!==0&&!this.useWindowEvents){let g=this.useWindowEvents?window:this.domElement;g.addEventListener("pointerleave",this.onPointerLeave),g.addEventListener("pointerenter",this.onPointerEnter)}}fromJSON(A,g){this.setEnableDampingSpeed(A.enableDamping),this.enablePan=A.enablePan,this.enableZoom=A.enableZoom,this.enableRotate=A.enableRotate,this.rotationLimitsMode=A.rotationLimitsMode,this.thetaIsFree=A.rotationHorizontalOffset.min===A.rotationHorizontalOffset.max&&A.rotationHorizontalOffset.min===Math.PI,this.phiIsFree=A.rotationVerticalOffset.min===A.rotationVerticalOffset.max&&A.rotationVerticalOffset.min===Math.PI,this.panLimitsMode=A.panLimitsMode,this.panSoftLimit=A.panSoftLimit,this.rotationSoftLimit=A.rotationSoftLimit,this.hoverRotatePanMode=A.hoverRotatePanMode,this.hoverRotateDamping=A.hoverRotateDamping??this.dampingFactor,this.useWindowEvents=g==="window",this.hoverRotatePanMode!==0&&(this.useWindowEvents?window.addEventListener("pointermove",this.onPointerHover):this.domElement.addEventListener("pointermove",this.onPointerHover));let e=A.hoverRotatePanStrength/100;this.hoverRotatePanStrength=e**2,this.zoomLimitsEnabled=A.zoomLimitsEnabled,this.minZoom=A.zoomLimits.min,this.maxZoom=Math.max(A.zoomLimits.min,A.zoomLimits.max),this.minDistance=1e3/A.zoomLimits.max,this.maxDistance=Math.max(this.minDistance,1e3/A.zoomLimits.min),this.autoRotate=A.autoRotate,this.autoRotateSpeed=A.autoRotateSpeed,this.autoRotateClockwise=A.autoRotateClockwise;let I=this.object.getTarget().applyQuaternion(T0.copy(this.object.quaternion).invert());this.minV=-A.panVerticalOffset.min+I.y,this.maxV=A.panVerticalOffset.max+I.y,this.minH=-A.panHorizontalOffset.min+I.x,this.maxH=A.panHorizontalOffset.max+I.x,this.panRangeFactor.set(this.maxH-this.minH,this.maxV-this.minV).divideScalar(2),this.rotationRangeFactor.setScalar(Math.PI).divideScalar(4),this.minPhi=Pa(this.spherical.phi-A.rotationVerticalOffset.min),this.maxPhi=Pa(this.spherical.phi+A.rotationVerticalOffset.max),this.minTheta=Pa(Pa(this.spherical.theta)-A.rotationHorizontalOffset.min),this.maxTheta=Pa(Pa(this.spherical.theta)+A.rotationHorizontalOffset.max),this.isThetaFlipped=this.minTheta>this.maxTheta,A.orbitTouches===1&&(this.touches[0]=wo.ROTATE),A.panTouches===1&&(this.touches[0]=wo.PAN),A.orbitTouches===2&&(this.touches[1]=wo.DOLLY_ROTATE),A.panTouches===2&&(this.touches[1]=wo.DOLLY_PAN),A.orbitTouches===3&&(this.touches[2]=wo.ROTATE),A.panTouches===3&&(this.touches[2]=wo.PAN),this.isTouchZoom=A.isTouchZoom,this.resetHoverEffectOnPointerLeave=A.resetHoverEffectOnPointerLeave??!1}connect(){if(this.domElement.addEventListener("contextmenu",this.onContextMenu),this.domElement.addEventListener("pointerdown",this.onPointerDown),this.domElement.addEventListener("wheel",this.onMouseWheel),window.addEventListener("keydown",this.onKeyDown,!1),window.addEventListener("keyup",this.onKeyUp,!1),this.domElement.addEventListener("gesturestart",this.onGesture),this.domElement.addEventListener("gesturechange",this.onGesture),this.domElement.addEventListener("gestureend",this.onGesture),this.domElement.addEventListener("touchend",this.onTouchEnd),this.hoverRotatePanMode!==0&&!this.useWindowEvents){let A=this.useWindowEvents?window:this.domElement;A.addEventListener("pointerleave",this.onPointerLeave),A.addEventListener("pointerenter",this.onPointerEnter)}this.pointerLeaveEvent=void 0}dispose(){this.removeEventListenersFromCamera(),this.domElement.removeEventListener("contextmenu",this.onContextMenu),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("wheel",this.onMouseWheel),window.removeEventListener("keydown",this.onKeyDown,!1),window.removeEventListener("keyup",this.onKeyUp,!1),this.domElement.removeEventListener("pointermove",this.onPointerHover),window.removeEventListener("pointermove",this.onPointerHover),this.domElement.removeEventListener("gesturestart",this.onGesture),this.domElement.removeEventListener("gesturechange",this.onGesture),this.domElement.removeEventListener("gestureend",this.onGesture),this.domElement.removeEventListener("touchend",this.onTouchEnd),this.domElement.removeEventListener("pointerleave",this.onPointerLeave),this.domElement.removeEventListener("pointerenter",this.onPointerEnter),window.removeEventListener("pointerleave",this.onPointerLeave),window.removeEventListener("pointerenter",this.onPointerEnter),this.domElement.removeEventListener("pointermove",this.onPointerMove),this.domElement.removeEventListener("pointerup",this.onPointerUp)}applyLimits(A,g,e,I,i,t,C,o){this.overShoot.set(0,0);let a,r,s;A instanceof x?(a=A.x,r=A.y,this.current.set(this.target.x,this.target.y),s=!0):(a=A.theta,r=A.phi,this.current.set(Pa(this.spherical.theta),Pa(this.spherical.phi)),s=!1),e===0&&(this.current.x+=a,this.current.y+=r),(g===3||g===2)&&(!s&&this.isThetaFlipped?this.current.x>I&&this.current.x<0?this.overShoot.x=I-this.current.x:this.current.x<i&&this.current.x>0&&(this.overShoot.x=i-this.current.x):this.current.x>I?this.overShoot.x=I-this.current.x:this.current.x<i&&(this.overShoot.x=i-this.current.x)),(g===3||g===1)&&(this.current.y>t?this.overShoot.y=t-this.current.y:this.current.y<C&&(this.overShoot.y=C-this.current.y)),s||(this.overShoot.x=Pa(this.overShoot.x),this.overShoot.y=Pa(this.overShoot.y)),e!==0?(this.overRatio.copy(this.overShoot).divide(o),this.overRatio.x=Math.min(Math.abs(this.overRatio.x),1),this.overRatio.y=Math.min(Math.abs(this.overRatio.y),1),e===1&&(this.overRatio.x=oJ(Math.abs(this.overRatio.x)),this.overRatio.y=oJ(Math.abs(this.overRatio.y))),this.isPointerDown||e===1?e===2&&(this.overRatio.x>.9&&!this.thetaIsFree||this.overRatio.y>.9&&!this.phiIsFree)?this.isPointerDown=!1:(a*this.overShoot.x<0&&!this.thetaIsFree&&(a*=1-this.overRatio.x),r*this.overShoot.y<0&&!this.phiIsFree&&(r*=1-this.overRatio.y)):e===2&&(!s&&(this.overRatio.x>.002&&!this.thetaIsFree||this.overRatio.y>.002&&!this.phiIsFree)||s&&(Math.abs(this.overShoot.x)>2||Math.abs(this.overShoot.y)>2)?(this.thetaIsFree||(a=this.overShoot.x*.05),this.phiIsFree||(r=this.overShoot.y*.05),s?this.isPanOverShoot=!0:this.isRotateOverShoot=!0):s?this.isPanOverShoot=!1:this.isRotateOverShoot=!1)):(a+=this.overShoot.x,r+=this.overShoot.y),A instanceof x?(A.x=a,A.y=r):(this.thetaIsFree||(A.theta=a),this.phiIsFree||(A.phi=r))}setEnableDampingSpeed(A){this.enableDamping=A,this.rotateSpeed=A===!0?.2:1}stopDamping(){this.sphericalDelta.theta=0,this.sphericalDelta.phi=0}getAutoRotationAngle(){return 2*Math.PI/60/60*this.autoRotateSpeed}getZoomScale(){return Math.pow(.95,this.zoomSpeed)}rotateLeft(A){this.sphericalDelta.theta-=A}rotateUp(A){this.sphericalDelta.phi-=A}panLeft(A,g){this.panLeftV.setFromMatrixColumn(g,0),this.panLeftV.multiplyScalar(-A),this.panOffset.add(this.panLeftV)}panUp(A,g){this.panUpV.setFromMatrixColumn(g,1),this.panUpV.multiplyScalar(A),this.panOffset.add(this.panUpV)}pan(A,g){let e=this.domElement;if(e&&this.object.isPerspectiveCamera){let I=this.object.position;this.panV.copy(I).sub(this.target);let i=this.panV.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this.panLeft(2*A*i/e.clientHeight,this.object.matrixWorld),this.panUp(2*g*i/e.clientHeight,this.object.matrixWorld)}else e&&this.object.isOrthographicCamera&&(this.panLeft(A*(this.object.right-this.object.left)/this.object.zoom/e.clientWidth,this.object.matrixWorld),this.panUp(g*(this.object.top-this.object.bottom)/this.object.zoom/e.clientHeight,this.object.matrixWorld));this.dispatchEvent(rEA)}dollyOut(A){this.object.isPerspectiveCamera?this.scale/=A:this.object.isOrthographicCamera&&(this.object.zoom*=A,this.zoomLimitsEnabled&&(this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom))),this.object.updateProjectionMatrix(),this.zoomChanged=!0),this.dispatchEvent(iJ)}dollyIn(A){this.object.isPerspectiveCamera?this.scale*=A:this.object.isOrthographicCamera&&(this.object.zoom/=A,this.zoomLimitsEnabled&&(this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom))),this.object.updateProjectionMatrix(),this.zoomChanged=!0),this.dispatchEvent(iJ)}zoomOut(A=this.getZoomScale()){this.dispatchEvent(ZB),this.dollyOut(A),this.dispatchEvent(XB)}zoomIn(A=this.getZoomScale()){this.dispatchEvent(ZB),this.dollyIn(A),this.dispatchEvent(XB)}setZoom(A){if(this.dispatchEvent(ZB),this.object.isPerspectiveCamera){let g=this.initialSphericalRadius/A/this.spherical.radius;this.scale=g}else this.object.isOrthographicCamera&&(this.object.zoom=A,this.zoomLimitsEnabled&&(this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom))),this.object.updateProjectionMatrix(),this.zoomChanged=!0);this.dispatchEvent(XB)}handleMouseDownRotate(A){this.rotateStart.set(A.clientX,A.clientY)}handleMouseDownDolly(A){this.dollyStart.set(A.clientX,A.clientY)}handleMouseDownPan(A){this.panStart.set(A.clientX,A.clientY)}handleMouseMoveRotate(A,g=1){A.movementX!==void 0?this.rotateDelta.set(A.movementX,A.movementY):(this.rotateEnd.set(A.clientX,A.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart),this.rotateStart.copy(this.rotateEnd)),this.rotateDelta.multiplyScalar(this.rotateSpeed*g).rotateAround(tJ,-this.object.angleOffsetFromUp);let e=this.domElement,I=this.useWindowEvents?window.innerHeight:e.clientHeight,i=2*Math.PI*this.rotateDelta.x/I,t=2*Math.PI*this.rotateDelta.y/I;this.rotateLeft(i),this.rotateUp(t),this.update()}handleMouseMoveDolly(A){this.dollyEnd.set(A.clientX,A.clientY),this.dollyDelta.subVectors(this.dollyEnd,this.dollyStart),this.dollyDelta.y>0?this.dollyOut(this.getZoomScale()):this.dollyDelta.y<0&&this.dollyIn(this.getZoomScale()),this.dollyStart.copy(this.dollyEnd),this.update()}handleMouseMovePan(A,g=1){A.movementX!==void 0?this.panDelta.set(A.movementX,A.movementY):(this.panEnd.set(A.clientX,A.clientY),this.panDelta.subVectors(this.panEnd,this.panStart),this.panStart.copy(this.panEnd)),this.panDelta.multiplyScalar(this.panSpeed*g),this.pan(this.panDelta.x,this.panDelta.y),this.update()}handleMouseWheel(A){if(KgA===!1&&nu(A)===!1&&qgA(A)===!0){if(this.enablePan===!1)return;this.gesture?(this.panDelta.set(-A.deltaX,-A.deltaY).multiplyScalar(this.panSpeed),this.panDelta.x=Math.min(Math.abs(this.panDelta.x),100)*(this.panDelta.x<0?-1:1),this.panDelta.y=Math.min(Math.abs(this.panDelta.y),100)*(this.panDelta.y<0?-1:1),A.altKey?this.pan(0,this.panDelta.y):A.shiftKey?this.pan(this.panDelta.x,0):this.pan(this.panDelta.x,this.panDelta.y),this.update()):(this.gesture=!0,this.isPointerDown=!0),window.clearTimeout(this.timer),this.timer=window.setTimeout(()=>{this.gesture=!1,this.isPointerDown=!1},30)}else{if(this.enableZoom===!1||this.gesture)return;A.deltaY===0?A.deltaX<0?this.dollyIn(this.getZoomScale()):A.deltaX>0&&this.dollyOut(this.getZoomScale()):A.deltaY<0?this.dollyIn(this.getZoomScale()):A.deltaY>0&&this.dollyOut(this.getZoomScale()),this.update(),this.gesture=!1,this.isPointerDown=!1}}handleTouchStartRotate(){if(ye.length===2){let A=.5*(ye[0].pageX+ye[1].pageX),g=.5*(ye[0].pageY+ye[1].pageY);this.rotateStart.set(A,g)}else this.rotateStart.set(ye[0].pageX,ye[0].pageY)}handleTouchStartPan(){if(ye.length===2){let A=.5*(ye[0].pageX+ye[1].pageX),g=.5*(ye[0].pageY+ye[1].pageY);this.panStart.set(A,g)}else this.panStart.set(ye[0].pageX,ye[0].pageY)}handleTouchStartDolly(){let A=ye[0].pageX-ye[1].pageX,g=ye[0].pageY-ye[1].pageY,e=Math.sqrt(A*A+g*g);this.dollyStart.set(0,e)}handleTouchStartDollyPan(){this.enableZoom&&this.isTouchZoom===!0&&this.handleTouchStartDolly(),this.enablePan&&this.handleTouchStartPan()}handleTouchStartDollyRotate(){this.enableZoom&&this.isTouchZoom===!0&&this.handleTouchStartDolly(),this.enableRotate&&this.handleTouchStartRotate()}handleTouchMoveRotate(A){if(ye.length===2){let e=vw(A),I=.5*(A.pageX+e.x),i=.5*(A.pageY+e.y);this.rotateEnd.set(I,i)}else{if(A.pointerId!==ye[0].pointerId)return;this.rotateEnd.set(A.pageX,A.pageY)}this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);let g=this.domElement;g&&(this.rotateLeft(2*Math.PI*this.rotateDelta.x/g.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/g.clientHeight)),this.rotateStart.copy(this.rotateEnd)}handleTouchMovePan(A){if(ye.length===2){let g=vw(A),e=.5*(A.pageX+g.x),I=.5*(A.pageY+g.y);this.panEnd.set(e,I)}else{if(A.pointerId!==ye[0].pointerId)return;this.panEnd.set(A.pageX,A.pageY)}this.panDelta.subVectors(this.panEnd,this.panStart).multiplyScalar(this.panSpeed),this.pan(this.panDelta.x,this.panDelta.y),this.panStart.copy(this.panEnd)}handleTouchMoveDolly(A){let g=vw(A),e=A.pageX-g.x,I=A.pageY-g.y,i=Math.sqrt(e*e+I*I);this.dollyEnd.set(0,i),this.dollyDelta.set(0,Math.pow(this.dollyEnd.y/this.dollyStart.y,this.zoomSpeed)),this.dollyOut(this.dollyDelta.y),this.dollyStart.copy(this.dollyEnd)}handleTouchMoveDollyPan(A){this.enableZoom&&this.isTouchZoom===!0&&this.handleTouchMoveDolly(A),this.enablePan&&this.handleTouchMovePan(A)}handleTouchMoveDollyRotate(A){this.enableZoom&&this.isTouchZoom===!0&&this.handleTouchMoveDolly(A),this.enableRotate&&this.handleTouchMoveRotate(A)}checkRaycastLock(){if(this.object.data.raycastLock){if(this.options.isPlayMode)return!1;{let A=this.options?.showCameraLock;return A&&A(),!0}}else return!1}};function Pa(A){let g=Math.PI*2;for(;A<=-Math.PI;)A+=g;for(;A>Math.PI;)A-=g;return A}function oJ(A){return 1-Math.pow(1-A,4)}var aJ=class{constructor(A,g,e,I,i,t){this.id=A,this.data=g,this.object=e,this.page=I,this.currentIntersectedObjects=[],this.actions=vC(g,g.actions,I,i,t,e),this.target=g.target,this.triggeringObjects=[];for(let C of g.triggeringObjects){let o=I.scene.find(C);o&&this.triggeringObjects.push(o)}}isValidTriggeringObject(A){return this.target==="all"?!0:this.triggeringObjects.some(g=>g===A||g.isAncestorOf(A.uuid)||A.isAncestorOf(g.uuid))}disconnect(){xt(this.actions)}dispatch(){this.object.destroyedInAction||(this.actions.Transition.forEach(A=>{A.object.currentTransitionEvent!==this&&(A.object.currentTransitionEvent=this,A.init())}),this.object.dispatchEvent({type:"beginEvent",eventName:"Trigger"}),this.actions.Transition.forEach(A=>{A.data.runMode==="Toggle"?A.toggle():A.play()}),this.actions.SwitchCamera.forEach(A=>{A.data.runMode==="Toggle"?A.toggle():A.play()}),this.actions.Link.forEach(A=>{A.dispatch()}),this.actions.Reset.forEach(A=>{A.dispatch()}),this.actions.Create.forEach(A=>{A.dispatch()}),this.actions.Destroy.forEach(A=>{A.dispatch(!1)}),this.actions.Audio.forEach(A=>{A.dispatchBasic()}),this.actions.Particles.forEach(A=>{A.dispatchBasic()}),this.actions.Video.forEach(A=>{A.dispatchBasic()}),this.actions.SceneTransition.forEach(A=>{A.dispatch()}),this.actions.SetVariable.forEach(A=>A.checkConditions()),this.actions.SetVariable.forEach(A=>A.dispatch()),this.actions.DynamicVariablePlay.forEach(A=>A.dispatch()),this.actions.ClearLocalStorage.forEach(A=>A.dispatch()))}},cI;TgA.then(A=>cI=A);var et=new x,Ca=new ke,AB=new x,P0=new yt(0,0,0,"YXZ"),rJ=new yt(0,0,0,"XYZ"),oa=new x,j0=new x,W0=new x(1,1,1),$n=new ke,ID=new wg,sJ=new wg,hEA={type:"updateMatrix"},BJ=new ke,z0=new VC,ZS={type:"beginEvent",eventName:"Collision"},lEA={type:"beginEvent",eventName:"Trigger"};function cEA(A){if(nc.physicsEnabled(A.scene.objects))return!0;let g=!1;return A.scene.objects.traverse((e,I)=>{if(I.events){if(Array.isArray(I.events)){for(let i of I.events)if(i.data.disabled!==!0&&i.data.type==="GameControl"&&i.data.collisionEnabled){g=!0;break}}else for(let i of Object.values(I.events))if(i.disabled!==!0&&i.type==="GameControl"&&i.collisionEnabled){g=!0;break}}}),g}var pp=A=>A.states.some(g=>g.data.position!==void 0||g.data.rotation!==void 0||g.data.hiddenMatrix!==void 0||g.data.cloner!==void 0||g.data.pathSnapping!==void 0),dEA=class{constructor(A){this.eventContext=A,this.isEnabled=!1,this.gameControl=null,this.joysticks=[],this.joystickToGameControls=[],this.sharedGameControlGlobals={entitiesWithTransformAnim:[],entityToCollisionEvents:{},colliderToEntity:new Map,triggers:[],gamePads:[],createdObjects:[],nCreatedPerAction:{}},this.sensorToTriggerEvent={},this.eventManager=void 0,this.needsCollisionDetection=!1,this.initializationCounter=-1,this.rigidBodyToMesh=new Map,this.nActiveRigidBodies=0,this.collisionEvents=[],this.isExport=!1,this.processRigidBody=g=>{if(g.bodyType()!==cI.RigidBodyType.Dynamic)return;g.isSleeping()||this.nActiveRigidBodies++;let[e,I,i]=this.rigidBodyToMesh.get(g.handle);if(et.copy(g.translation()).multiplyScalar(this.pixelsPerMeter),Ca.copy(g.rotation()),e.matrixWorld.compose(et,Ca,I),e.hasNonUniformScale&&e.matrixWorld.multiply(e.shearScale),e.dispatchEvent(hEA),i){let t=e.cloner;if(t&&t.objectForSample===void 0){t.matrixWorld.copy(e.matrixWorld);for(let C of t.children)C.updateMatrixWorld(!0)}for(let C of e.children)C.updateMatrixWorld(!0)}},this.accumulator=0,this.handleCollisionEvents=(g,e,I)=>{if(I===!1)return;let i,t;if(this.sensorToTriggerEvent[g]?(i=this.sensorToTriggerEvent[g],t=this.sharedGameControlGlobals.colliderToEntity.get(e)):this.sensorToTriggerEvent[e]&&(i=this.sensorToTriggerEvent[e],t=this.sharedGameControlGlobals.colliderToEntity.get(g)),i&&t&&i.isValidTriggeringObject(t)){i.dispatch();return}for(let C=this.sharedGameControlGlobals.createdObjects.length-1;C>=0;C--){let o=this.sharedGameControlGlobals.createdObjects[C];if(o.userData.hasCollisionDestroy&&(o.rigidBody?.collider(0).handle===g||o.rigidBody?.collider(0).handle===e)){this.sharedGameControlGlobals.createdObjects.splice(C,1),o.removeFromParent(),requestAnimationFrame(()=>this.sharedGameControlGlobals.rapierWorld?.removeRigidBody(o.rigidBody));break}}if(this.gameControl?.object!==void 0&&this.gameControl.object===this.sharedGameControlGlobals.colliderToEntity.get(g)){let C=this.sharedGameControlGlobals.colliderToEntity.get(e),o=this.sharedGameControlGlobals.entityToCollisionEvents[C.uuid];if(o===void 0)return;for(let a of o)a.data.target==="character"&&this.dispatchCollisionEvent(a,C,e)}else if(this.gameControl?.object!==void 0&&this.gameControl.object===this.sharedGameControlGlobals.colliderToEntity.get(e)){let C=this.sharedGameControlGlobals.colliderToEntity.get(g),o=this.sharedGameControlGlobals.entityToCollisionEvents[C.uuid];if(o===void 0)return;for(let a of o)a.data.target==="character"&&this.dispatchCollisionEvent(a,C,g)}else{let C=this.sharedGameControlGlobals.colliderToEntity.get(g),o=this.sharedGameControlGlobals.entityToCollisionEvents[C.uuid];if(o!==void 0)for(let s of o)s.data.target==="scene"&&this.dispatchCollisionEvent(s,C,g);let a=this.sharedGameControlGlobals.colliderToEntity.get(e),r=this.sharedGameControlGlobals.entityToCollisionEvents[a?.uuid];if(r!==void 0)for(let s of r)s.data.target==="scene"&&this.dispatchCollisionEvent(s,a,e)}},this.isExport=A.isExport,this.sharedAssets=A.sharedAssets,this.renderer=A.renderer,this.requestRender=A.requestRender,this.domElement=this.renderer.domElement,this.pixelsPerMeter=ix,this.gravity=this.page.data.globalPhysics.gravity}get page(){return this.eventContext.page}attachVRControllers(A){A.forEach(g=>{g.addEventListener("connected",e=>{"gamepad"in e.data&&"axes"in e.data.gamepad&&this.sharedGameControlGlobals.gamePads.push(e.data.gamepad)})})}markIsDestroyTarget(){this.page.traverseVisibleEntity(A=>{let g=A.dataPatched;for(let e of g.events){if(e.data.disabled===!0)continue;let I=e.data.actions?.find(i=>i.data.type==="Destroy")?.data;if(I)for(let i of I.objects){let t=this.page.scene.find(i);t&&(t.userData.hasDestroy=!0)}}})}markIsDragObject(){this.page.traverseVisibleEntity(A=>{let g=A.dataPatched;for(let e of g.events)if(!(e.data.disabled===!0||e.data.type!=="DragDrop"))for(let I of e.data.objects){let i=this.page.scene.find(I);i&&(i.userData.hasDrag=!0)}})}initBVH(){let A=[];if(this.page.traverseChildren(g=>{let e,I=g instanceof QD,i=g instanceof ED;if(g instanceof na||I||i)return;g instanceof nC?e=g.object:e=g;let t=e.dataPatched;if(t.physics?.enabled==="visibility"?!t.visible:!t.physics?.enabled)return!0;let C=g.geometry,o=e.userData.hasDestroy===!0,a=e.userData.hasDrag===!0;if(pp(t)||o||a||e.dataPatched.events.some(r=>r.data.disabled!==!0&&r.data.type==="GameControl"))return g.updateMatrixWorldSVD(),this.addBoundsTree(g),!0;C&&A.push(As(C,g.matrixWorld))}),A.length>0){let g=nQ(A,!1);this.sharedGameControlGlobals.staticMeshBVH=new Wl(g)}}addRigidBody(A,g,e){let I=[],i="geometry"in A?A.geometry:void 0,t=g.dataPatched;if(i?.getAttribute("position")!==void 0&&I.push(As(i,A.shearScale)),t.physics.fusedBody){let C=this.gatherChildrenGeom(A,I);A.traverseObject(C),A.children.forEach(a=>a.updateMatrixWorld(!0));let o=A.cloner;o&&o.objectForSample===void 0&&t.physics.rigidBody==="dynamic"&&(o.traverseObject(C),o.children.forEach(a=>a.updateMatrixWorld(!0)))}if(I.length>0){let C,o=!e.fromCreate&&t.physics.rigidBody==="dynamic"||e.fromCreate&&e.dynamic;o?(C=cI.RigidBodyDesc.dynamic(),C.setLinearDamping(t.physics.damping).setAngularDamping(t.physics.damping).setAdditionalMass(1e-9).setGravityScale(t.physics.gravityScale).enabledRotations(...t.physics.enabledRotation).enabledTranslations(...t.physics.enabledTranslation)):(e.hasTransformAnim||e.hasFollow||e.hasDrag)&&!e.fromCreate?(C=cI.RigidBodyDesc.kinematicPositionBased(),this.sharedGameControlGlobals.entitiesWithTransformAnim.push(A)):C=cI.RigidBodyDesc.fixed();let a=nQ(I);(A.hasNonUniformScale?A.matrixWorldRigid:A.matrixWorld).decompose(et,Ca,AB),A.position0=et.clone().divideScalar(this.pixelsPerMeter),A.rotation0=Ca.clone(),et.divideScalar(this.pixelsPerMeter),C.setTranslation(et.x,et.y,et.z).setRotation(Ca),i?a?.scale(1/this.pixelsPerMeter,1/this.pixelsPerMeter,1/this.pixelsPerMeter):a?.scale(AB.x/this.pixelsPerMeter,AB.y/this.pixelsPerMeter,AB.z/this.pixelsPerMeter);let r=this.sharedGameControlGlobals.rapierWorld.createRigidBody(C);o&&this.rigidBodyToMesh.set(r.handle,[A,AB.clone(),t.physics.fusedBody]);let s=!(t.geometry===void 0||t.geometry.type==="SubdivGeometry"||t.geometry.type==="NonParametricGeometry"||t.geometry.type==="BooleanGeometry"||t.geometry.type==="VectorGeometry"||t.geometry.type==="StarGeometry"||t.geometry.type==="RectangleGeometry"||t.geometry.type==="EllipseGeometry"||t.geometry.type==="TriangleGeometry"||t.geometry.type==="TorusGeometry"||t.geometry.type==="HelixGeometry");try{this.addCollider(r,t.physics,a,g,s)}catch{try{this.addCollider(r,t.physics,a,g,!1)}catch(B){console.error(B)}}A.rigidBody=r}}addBoundsTree(A){let g=[];if(A.geometry?.getAttribute("position")!==void 0&&A.geometry?.getAttribute("position").count>0&&g.push(As(A.geometry,A.shearScale)),A.traverseObject(this.gatherChildrenGeom(A,g)),A.children.forEach(e=>e.updateMatrixWorld(!0)),g.length>0){let e=nQ(g,!1);A.bvhGeometry=e,e.getAttribute("position").count>0&&(A.bvhGeometry.boundsTree=new Wl(e),this.sharedGameControlGlobals.entitiesWithTransformAnim.push(A))}}addCollider(A,g,e,I,i=!0){if(e?.getAttribute("position").count===0||e?.getIndex()?.count===0)return;let t;e&&(g.colliderType==="trimesh"?t=cI.ColliderDesc.trimesh(e.getAttribute("position").array,e.getIndex().array):t=cI.ColliderDesc.convexMesh(e.getAttribute("position").array,i?e.getIndex().array:void 0)),t.setFrictionCombineRule(cI.CoefficientCombineRule.Average).setRestitutionCombineRule(cI.CoefficientCombineRule.Average).setDensity(g.density).setFriction(g.friction).setRestitution(g.restitution);let C=this.sharedGameControlGlobals.rapierWorld.createCollider(t,A);this.sharedGameControlGlobals.colliderToEntity.set(C.handle,I),this.sharedGameControlGlobals.entityToCollisionEvents[I.uuid]?.some(o=>o.target==="scene")&&C.setActiveEvents(cI.ActiveEvents.COLLISION_EVENTS)}gatherChildrenGeom(A,g){return(e,I)=>{if(I===0)return;let i;if(e instanceof na)if(e.objectForSample){if(e.objectForSample.dataPatched.physics.fusedBody)return;i=e.object}else return e.object.dataPatched.physics.fusedBody===!0&&e.object.dataPatched.physics.rigidBody==="dynamic"?!0:void 0;else if(e instanceof nC)i=e.object;else if(i=e,i.dataPatched.cloner?.hideBase)return!0;let t=i.dataPatched;if(t.physics.enabled==="visibility"?!t.visible:!t.physics.enabled)return!0;I===1?A.hasNonUniformScale?e.matrixWorld.multiplyMatrices(A.shearScale,e.hiddenMatrix):e.matrixWorld.copy(e.hiddenMatrix):e.matrixWorld.multiplyMatrices(e.parent.matrixWorld,e.hiddenMatrix),e.matrixWorld.multiply(e.matrix);let C=e.geometry;C?.getAttribute("position")!==void 0&&g.push(As(C,e.matrixWorld))}}activate(A){if(this.isEnabled)return;this.isEnabled=!0,this.eventManager=A,this.usePhysics=this.page.data.globalPhysics.usePhysics;let g=this.page.playCamera,e=!1,I=5,i=8,t=9,C="drag",o=this.page.data.publish.gameControlObject,a=o!==null?this.page.find(o):null,r=null;if(a)for(let Q of a.data.events){if(Q.data.disabled||Q.data.type!=="GameControl")continue;let n=a;for(;this.usePhysics&&(n=n.parent)?.parent!==null;)n.data.physics?.fusedBody;Q.data.collisionEnabled&&(this.needsCollisionDetection=!0),r===null&&(r=Q.data)}if(this.page.traverseEntity(Q=>{for(let n of Q.dataPatched.events)if(n.data.disabled===!1&&n.data.type==="Trigger")return this.needsCollisionDetection=!0,!0}),a&&r&&(a.data.visible===!0||a.data.physics.enabled===!0)){e=e||r.camera===g.uuid||a.uuid===g.uuid;let Q=new tx(a,this.renderer.domElement,r,this.eventContext.page.data.globalPhysics,this,a.uuid!==g.uuid&&r.camera===g.uuid,g,this.page,this.sharedAssets);this.gameControl=Q,I=r.joystickPosLoc,i=r.joystickRotLoc,t=r.jumpTouchButtonLoc,C=r.rotByTouch,ro&&r.touchControl&&(this.joystickToGameControls[I]="pos",r.moveMode==="walk"&&(this.joystickToGameControls[t]="jmp"),C==="joystick"&&(this.joystickToGameControls[i]="rot"))}if(this.gameControl&&this.gameControl.data.navmesh.enabled){let Q=this.gameControl.data;if(!this.navigationMeshWrapper){this.navigationMeshWrapper=new tEA(this.usePhysics,this.isExport);let n;Q.collider.type==="sphere"?n=Q.collider.radius*2:n=Q.collider.height,n=Math.floor(n/Q.navmesh.ch-1),this.navigationMeshWrapper.init({...Q.navmesh,walkableHeight:n},this.gameControl,this.eventContext)}}if(e===!1){let{enableRotate:Q,enablePan:n,enableZoom:E,autoRotate:l,hoverRotatePanMode:h}=this.eventManager.publish.orbitControls;(Q||n||E||l||h!==0)&&(this.orbitControls=new nx(g,this.renderer.domElement,{isExport:this.isExport,isPlayMode:!0}),this.orbitControls.addEventListener("change",this.requestRender),this.orbitControls.addEventListener("end",this.requestRender),this.orbitControls.addEventListener("start",this.requestRender),this.orbitControls.fromJSON(this.eventManager.publish.orbitControls,this.eventManager.publish.mouseEventTarget),this.orbitControls.useKeyEvents=!1,this.orbitControls.addEventListenersToCamera(),this.orbitControls.connect(),this.orbitControls.update())}let s=this.renderer.domElement.width/this.renderer.getPixelRatio(),B=this.renderer.domElement.height/this.renderer.getPixelRatio();this.joystickToGameControls.forEach((Q,n)=>{let E=document.body.appendChild(document.createElement("div")),[l,h,u]=this.eventManager.eventContext.publish.joystickSizeAndXYOffset[n],D=(s-5*l)/4+l,p={},w=Q==="jmp",k=w?0:l;n<10?(n<5?p.top=k/2:p.bottom=k/2,p.left=k/2+n%5*D):n===10?(p.left=k/2,p.top=B/2):(p.right=k/2,p.top=B/2),p.top?p.top-=h[1]:p.bottom+=h[1],p.left?p.left+=h[0]:p.right-=h[0];for(let G in p)p[G]+="px";if(w){let G=E.appendChild(document.createElement("div"));Object.assign(G.style,p,{position:"absolute",width:l+"px",height:l+"px",backgroundColor:`rgba(255,255,255,${u==="show"?.4:0})`,zIndex:"9999",borderRadius:l+"px",border:u==="show"?"solid 2px rgba(0, 0, 0, .1)":"none",display:"flex",alignItems:"center",justifyContent:"center",touchAction:"none"});let R=l/16*16*.4;u==="show"&&(G.innerHTML=`
						<svg width="${R}" height="${l*.4}" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
							<path d="M2 10L8 4L14 10" stroke="black" stroke-opacity="40%" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
						</svg>
					`),G.addEventListener("pointerdown",()=>{this.gameControl.movementState.jump=1,this.requestRender()}),G.addEventListener("touchend",J=>J.preventDefault()),this.joysticks[n]=[void 0,E];return}let U={zone:E,mode:"static",position:p,size:l};u==="hide"&&(U.restOpacity=0);let N=UBA.create(U);N.on("move",(G,R)=>{let J=this.gameControl;Q==="pos"?R.force<.2?J.moveForce=0:(J.movementState.movePosZ=Math.sin(-R.angle.radian),J.movementState.movePosX=Math.cos(-R.angle.radian),R.force>1.2?J.movementState.run=1:J.movementState.run=0,R.force<.3?J.moveForce=(R.force-.2)/.1:J.moveForce=1):Q==="rot"&&(R.force<.2?J.rotForce=0:(J.movementState.rotPosX=R.vector.y,J.movementState.rotPosY=-R.vector.x,R.force<.3?J.rotForce=(R.force-.2)/.1:J.rotForce=1)),this.requestRender()}),N.on("end",(G,R)=>{let J=this.gameControl;Q==="pos"?(J.movementState.movePosZ=0,J.movementState.movePosX=0,J.moveForce=1):Q==="rot"&&(J.movementState.rotPosX=0,J.movementState.rotPosY=0,J.rotForce=1)}),this.joysticks[n]=[N,E]}),this.markIsDestroyTarget(),this.markIsDragObject(),this.rebuildBVH(),this.initializationCounter++,window.setTimeout(()=>{this.collisionEvents.forEach(Q=>Q.initialDisabled=!1)},80)}initPhysics(){this.sharedGameControlGlobals.rapierWorld?.free(),this.sharedGameControlGlobals.rapierWorld=new cI.World(new cI.Vector3(0,this.gravity,0)),this.events=new cI.EventQueue(!0);let A=[],g=[];if(this.page.traverseChildren(C=>{let o;if(C instanceof na)if(C.objectForSample){if(C.objectForSample.dataPatched.physics.fusedBody)return;o=C.object}else return C.object.dataPatched.physics.fusedBody===!0&&C.object.dataPatched.physics.rigidBody==="dynamic"?!0:void 0;else if(C instanceof nC)o=C.object;else{if(C instanceof ED||C instanceof QD)return;if(o=C,o.dataPatched.cloner?.disabled===!1&&o.dataPatched.cloner?.hideBase&&o.dataPatched.physics?.fusedBody!==!0)return!0}let a=o.dataPatched,r;for(let h of a.events)h.data.disabled!==!0&&h.data.type==="GameControl"&&(r=h.data);if(!a.physics||(a.physics.enabled==="visibility"?!a.visible:!a.physics.enabled))return!0;C.updateMatrixWorldSVD();let s=pp(a),B=!1,Q=o.userData.hasDestroy,n=o.userData.hasDrag,E=!1;for(let h of a.events)if(h.data.disabled!==!0){if(h.data.type==="Collision"){B=!0;let u=new znA(h.id,h.data,o,this.page,this.sharedAssets,this.eventManager);u.initialDisabled=!0,this.collisionEvents.push(u),this.sharedGameControlGlobals.entityToCollisionEvents[o.uuid]&&this.sharedGameControlGlobals.entityToCollisionEvents[o.uuid].every(D=>D.id!==h.id)?this.sharedGameControlGlobals.entityToCollisionEvents[o.uuid].push(u):this.sharedGameControlGlobals.entityToCollisionEvents[o.uuid]=[u]}else if(h.data.type==="Follow"){E=!0;let u=h.data.target;C.traverseVisible(D=>{D.userData.isFollowingObj=u})}}a.physics.rigidBody==="dynamic"&&a.physics.fusedBody===!1&&(C.matrixWorldFusedFalse=C.matrixWorld.clone());let l=C.geometry;if(r!==void 0){let h=cI.RigidBodyDesc.kinematicPositionBased();(C.hasNonUniformScale?C.matrixWorldRigid:C.matrixWorld).decompose(et,Ca,AB),C.position0=et.clone().divideScalar(this.pixelsPerMeter),C.rotation0=Ca.clone(),et.divideScalar(this.pixelsPerMeter),h.setTranslation(et.x,et.y,et.z).setRotation(Ca);let u=this.sharedGameControlGlobals.rapierWorld.createRigidBody(h);C.rigidBody=u;let D;r.collider.type==="sphere"?D=cI.ColliderDesc.ball(r.collider.radius/this.pixelsPerMeter):r.collider.type==="capsule"?D=cI.ColliderDesc.capsule((r.collider.height/2-r.collider.radius)/this.pixelsPerMeter,r.collider.radius/this.pixelsPerMeter):D=cI.ColliderDesc.cuboid(r.collider.width/this.pixelsPerMeter/2,r.collider.height/this.pixelsPerMeter/2,r.collider.depth/this.pixelsPerMeter/2),D.setFrictionCombineRule(cI.CoefficientCombineRule.Average).setRestitutionCombineRule(cI.CoefficientCombineRule.Average).setDensity(a.physics.density).setFriction(a.physics.friction).setRestitution(a.physics.restitution);let p=this.sharedGameControlGlobals.rapierWorld.createCollider(D,u);this.sharedGameControlGlobals.colliderToEntity.set(p.handle,o),et.fromArray(r.collider.position).multiply(AB.setFromMatrixScale(o.matrixWorld)).divideScalar(this.pixelsPerMeter),p.setTranslationWrtParent(et);let w=new ke().setFromEuler(new yt().setFromVector3(new x().fromArray(r.collider.rotation)));p.setRotationWrtParent(w),p.setActiveEvents(cI.ActiveEvents.COLLISION_EVENTS),this.generateSensorColliderDescs(o,!0)}else a.physics.rigidBody==="dynamic"||s||E||Q||n||B?(this.addRigidBody(C,o,{hasFollow:E,hasTransformAnim:s,hasDrag:n}),this.generateSensorColliderDescs(o,a.physics.fusedBody)):(l&&A.push(As(l,C.matrixWorld)),a.physics.fusedBody&&C.traverseObject((h,u)=>{if(u===0)return;let D;if(h instanceof na)if(h.objectForSample){if(h.objectForSample.dataPatched.physics.fusedBody)return;D=h.object}else return h.object.dataPatched.physics.fusedBody===!0&&h.object.dataPatched.physics.rigidBody==="dynamic"?!0:void 0;else{if(h instanceof ED||h instanceof QD)return;if(h instanceof nC)D=h.object;else if(D=h,D.dataPatched.cloner?.hideBase)return!0}let p=D.dataPatched;if(p.physics.enabled==="visibility"?!p.visible:!p.physics.enabled)return!0;let w=h.geometry;w?.getAttribute("position")!==void 0&&A.push(As(w,h.matrixWorld))}),this.generateSensorColliderDescs(o,a.physics.fusedBody,g));if(a.physics?.fusedBody===!0||r)return!0}),A.length===0)return;let e=nQ(A);e.scale(1/this.pixelsPerMeter,1/this.pixelsPerMeter,1/this.pixelsPerMeter);let I=cI.RigidBodyDesc.fixed(),i=this.sharedGameControlGlobals.rapierWorld.createRigidBody(I),t=cI.ColliderDesc.trimesh(e.getAttribute("position").array,e.getIndex().array).setFrictionCombineRule(cI.CoefficientCombineRule.Multiply).setRestitutionCombineRule(cI.CoefficientCombineRule.Multiply).setFriction(1).setRestitution(1);this.sharedGameControlGlobals.rapierWorld.createCollider(t,i);for(let[C,o]of g){let a=this.sharedGameControlGlobals.rapierWorld.createCollider(C,i);this.sensorToTriggerEvent[a.handle]=o}}updatePositions(){return this.nActiveRigidBodies=0,this.sharedGameControlGlobals.rapierWorld.forEachRigidBody(this.processRigidBody),this.nActiveRigidBodies>0}rebuildBVH(){this.usePhysics?this.initPhysics():(this.page.traverseEntity(A=>{for(let g of A.dataPatched.events)if(g.data.type==="Trigger"&&g.data.disabled!==!0){let e=new aJ(g.id,g.data,A,this.page,this.sharedAssets,this.eventManager),I=new wg().compose(oa.fromArray(g.data.position),$n.setFromEuler(rJ.fromArray(g.data.rotation)),W0);if(g.data.triggerZone==="box"){let i=new ji;i.min.fromArray(g.data.size).multiplyScalar(-.5),i.max.fromArray(g.data.size).multiplyScalar(.5),this.sharedGameControlGlobals.triggers.push([i,I,A,e])}else this.sharedGameControlGlobals.triggers.push([g.data.radius,I,A,e])}}),this.needsCollisionDetection&&this.initBVH())}disconnectEvents(){this.collisionEvents.forEach(A=>A.disconnect()),this.sharedGameControlGlobals.triggers.forEach(A=>A[3].disconnect()),this.sharedGameControlGlobals.triggers.length=0}deactivate(){if(this.isEnabled){this.isEnabled=!1,this.page.traverse(A=>{let g=A;g.matrixWorldFusedFalse&&(g.matrixWorldFusedFalse=void 0),g.rigidBody&&(g.rigidBody=void 0),g.position0&&(g.position0=void 0),g.rotation0&&(g.rotation0=void 0)}),this.sharedGameControlGlobals.rapierWorld?.free(),this.sharedGameControlGlobals.rapierWorld=void 0,this.sharedGameControlGlobals.staticMeshBVH=void 0,this.accumulator=0,this.sharedGameControlGlobals.entitiesWithTransformAnim=[],this.disconnectEvents(),this.gameControl?.reset(),this.gameControl?.dispose(),this.gameControl=null,this.initializationCounter=-1,this.joysticks.forEach(([A,g])=>{A?.destroy(),g.remove()}),this.joystickToGameControls=[],this.joysticks=[],this.orbitControls&&(this.orbitControls.dispose(),this.orbitControls=void 0),this.navigationMeshWrapper?.dispose(),this.navigationMeshWrapper=void 0;for(let A of Object.values(this.sharedGameControlGlobals.entityToCollisionEvents))A.forEach(g=>g.disconnect());this.sharedGameControlGlobals.entityToCollisionEvents={},this.page.updateMatrixWorld(!0)}}update(A,g,e){if(!this.isEnabled)return!0;let I=!0;if(this.orbitControls!==void 0&&this.orbitControls.needsUpdate&&(I=!this.orbitControls.update()),this.initializationCounter>=0&&this.initializationCounter<2?(this.initializationCounter++,I=!1):this.initializationCounter===2&&this.gameControl&&(I=!this.gameControl.update(A,g,e)&&I),this.usePhysics===!1&&this.checkTrigger(),this.usePhysics){let i=.016666666666666666;if(A===0)I=this.stepPhysics()&&I;else{let t=A/1e3;t<i&&t>i*.55&&(t=i),this.accumulator+=t;let C=performance.now(),o=0,a=6;for(;this.accumulator>=i&&o<a&&(I=this.stepPhysics()&&I,this.accumulator-=i,o++,!(performance.now()-C>i*1e3)););this.accumulator=this.accumulator%i}}return I}stepPhysics(){for(let A of this.sharedGameControlGlobals.entitiesWithTransformAnim){(A.hasNonUniformScale?A.matrixWorldRigid:A.matrixWorld).decompose(et,Ca,AB),P0.setFromQuaternion(Ca);let g=A;g.prevR===void 0?(g.prevR=P0.clone(),g.prevT=et.clone()):(g.prevR.copy(P0),g.prevT.copy(et)),A.rigidBody&&(A.rigidBody.setNextKinematicTranslation(et.divideScalar(this.pixelsPerMeter)),A.rigidBody.setNextKinematicRotation(Ca))}return this.sharedGameControlGlobals.rapierWorld.step(this.events),this.events?.drainCollisionEvents(this.handleCollisionEvents),!this.updatePositions()}dispatchCollisionEvent(A,g,e){let I=(this.sharedGameControlGlobals.rapierWorld?.getCollider(e))._parent,i;if(g.cloner){for(let t of g.cloner.children)if(t.rigidBody===I){i=t;break}}A.dispatch(i),g.dispatchEvent(ZS)}updateUseWindowEvents(A){this.orbitControls?.updateUseWindowEvents(A)}generateSensorColliderDescs(A,g,e){let I=sJ.copy(A.matrixWorld).invert();A.traverseEntity((i,t)=>{if(g===!1&&t===1)return!0;for(let C of i.dataPatched.events)if(C.data.type==="Trigger"&&C.data.disabled!==!0){let o=new aJ(C.id,C.data,i,this.page,this.sharedAssets,this.eventManager),a;if(C.data.triggerZone==="box"?a=cI.ColliderDesc.cuboid(...C.data.size.map(r=>r/(2*this.pixelsPerMeter))):a=cI.ColliderDesc.ball(C.data.radius/this.pixelsPerMeter),a.setDensity(0).setSensor(!0).setActiveEvents(cI.ActiveEvents.COLLISION_EVENTS),oa.fromArray(C.data.position),$n.setFromEuler(rJ.fromArray(C.data.rotation)),ID.compose(oa,$n,W0).premultiply(i.matrixWorld),e?(ID.decompose(oa,$n,j0),a.setActiveCollisionTypes(cI.ActiveCollisionTypes.KINEMATIC_FIXED|cI.ActiveCollisionTypes.DYNAMIC_FIXED)):(ID.premultiply(I).decompose(oa,$n,j0),A.rigidBody.bodyType()===cI.RigidBodyType.Dynamic||(A.rigidBody.bodyType()===cI.RigidBodyType.Fixed?a.setActiveCollisionTypes(cI.ActiveCollisionTypes.KINEMATIC_FIXED|cI.ActiveCollisionTypes.DYNAMIC_FIXED):a.setActiveCollisionTypes(cI.ActiveCollisionTypes.KINEMATIC_KINEMATIC|cI.ActiveCollisionTypes.DYNAMIC_KINEMATIC))),oa.divideScalar(this.pixelsPerMeter),a.setTranslation(oa.x,oa.y,oa.z),a.setRotation($n),e)e.push([a,o]);else{let r=this.sharedGameControlGlobals.rapierWorld.createCollider(a,A.rigidBody);this.sensorToTriggerEvent[r.handle]=o}}})}checkTrigger(){let A;for(let g=0;g<this.sharedGameControlGlobals.triggers.length;g++){let[e,I,i,t]=this.sharedGameControlGlobals.triggers[g];for(let C=0;C<this.sharedGameControlGlobals.entitiesWithTransformAnim.length;C++){let o=this.sharedGameControlGlobals.entitiesWithTransformAnim[C];if(i===o||t.isValidTriggeringObject(hI.is(o)?o:o.object)===!1)continue;let a=sJ.copy(i.matrixWorld).decompose(oa,BJ,j0).compose(oa,BJ,W0).multiply(I),r=ID.copy(o.matrixWorld).invert().multiply(a);e instanceof ji?A=o.bvhGeometry.boundsTree.intersectsBox(e,r):(z0.radius=e,z0.center.setFromMatrixPosition(r),A=o.bvhGeometry.boundsTree.intersectsSphere(z0)),A?t.currentIntersectedObjects.indexOf(o)===-1&&(t.currentIntersectedObjects.push(o),t.dispatch(),i.dispatchEvent(lEA)):t.currentIntersectedObjects=t.currentIntersectedObjects.filter(s=>s!==o)}}}};function uEA(A){let g=this._clip.duration,e=this._clip.start??0,I=this.loop,i=this.time+A,t=this._loopCount,C=I===$S;if(A===0)return t===-1?i:C&&(t&1)===1?g-(i-e):i;if(I===pJ){t===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(i>=g)i=g;else if(i<0)i=0;else{this.time=i;break A}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(t===-1&&(A>=0?(t=0,this._setEndings(!0,this.repetitions===0,C)):this._setEndings(this.repetitions===0,!0,C)),i>=g||i<e){let o=Math.floor((i-e)/(g-e));i-=(g-e)*o,t+=Math.abs(o);let a=this.repetitions-t;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,C||(i=A>0?g:e,this.repetitions===1&&(i=g)),this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(a===1){let r=A<0;this._setEndings(r,!r,C)}else this._setEndings(!1,!1,C);this._loopCount=t,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:o})}}else this.time=i;if(C&&(t&1)===1)return g-(i-e)}return i}var QJ=!1,DEA=class{constructor(A,g,e,I){this.scene=A,this.requestRender=g,this.updateDisplayProgress=e,this.animationInspectorState=I,this.clipIdToAction={},this.activeClip=null,this.needsUpdate=!1,this.addClip=i=>{i.data.type==="Empty"&&i.data.animations&&i.data.animations.forEach((t,C)=>{let o=t[0]+"/";if(Array.isArray(i.identity)?o+=i.identity[0]:o+=i.uuid,this.clipIdToAction[o])return;let a=rf.parse(JSON.parse(t[2]));i.animations[C]=a;let r=this.mixer.clipAction(a,i);QJ===!1&&(Object.getPrototypeOf(r)._updateTime=uEA,QJ=!0),r.clampWhenFinished=!0,this.clipIdToAction[o]=r})},this.mixer=new AV(A),this.scene.traverseEntity(this.addClip)}deleteClip(A,g){let e=this.scene.find(g);if(!e)return;let I=e.animations.find(t=>t.uuid===A);if(!I)return;let i=this.clipIdToAction[A];!i||(i.stop(),this.mixer.uncacheClip(I),delete this.clipIdToAction[A],e.animations=e.animations.filter(t=>t.uuid!==A))}get isPlaying(){return Object.values(this.clipIdToAction).some(A=>A.isRunning())}playFromInspector(A){this.mixer.stopAllAction();let g=this.clipIdToAction[A];!g||(g.play(),this.activeClip=g.getClip(),this.requestRender())}onExitPlayMode(){Object.values(this.clipIdToAction).forEach(A=>{A.repetitions=1/0,A.loop=yJ}),this.mixer.stopAllAction(),this.requestRender()}play(A){let g=A.clipId+"/"+A.object,e=this.clipIdToAction[g];if(e)return A&&(A.repeat>=0&&(e.repetitions=A.repeat+1),A.direction==="pingpong"&&A.repeat!==0&&(e.loop=$S)),e.play(),e.paused=!1,this.requestRender(),e}resumeFromInspector(A){let g=this.clipIdToAction[A];!g||(g.play(),g.paused=!1,this.requestRender())}pauseFromInspector(A){let g=this.clipIdToAction[A];!g||(g.paused=!0)}stop(){this.mixer.stopAllAction(),this.requestRender()}update(A){if(this.needsUpdate)this.needsUpdate=!1;else if(this.isPlaying===!1||this.animationInspectorState?.isScrubbing)return;this.mixer.update(A/1e3),this.activeClip&&this.updateDisplayProgress(Math.round(this.mixer.time/this.activeClip.duration*(this.maxFrames-1)%(this.maxFrames-1))),this.requestRender()}get maxFrames(){return V2(this.activeClip??void 0)}setProgressFromInspector(A,g){if(!this.clipIdToAction[g])return;this.activeClip!==this.clipIdToAction[g].getClip()&&this.playFromInspector(g);let e=this.clipIdToAction[g].paused;this.clipIdToAction[g].paused=!1,this.mixer.setTime(Math.min(A/(this.maxFrames-1),.9999)*this.activeClip.duration),this.requestRender(),e&&(this.clipIdToAction[g].paused=!0)}},V0=new WeakMap,pEA=class extends mc{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,g,e,I){let i=new sf(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,t=>{this.decodeDracoFile(t,g).catch(I)},e,I)}decodeDracoFile(A,g,e,I){let i={attributeIDs:e||this.defaultAttributeIDs,attributeTypes:I||this.defaultAttributeTypes,useUniqueIDs:!!e};return this.decodeGeometry(A,i).then(g)}decodeGeometry(A,g){let e=JSON.stringify(g);if(V0.has(A)){let o=V0.get(A);if(o.key===e)return o.promise;if(A.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let I,i=this.workerNextTaskID++,t=A.byteLength,C=this._getWorker(i,t).then(o=>(I=o,new Promise((a,r)=>{I._callbacks[i]={resolve:a,reject:r},I.postMessage({type:"decode",id:i,taskConfig:g,buffer:A},[A])}))).then(o=>this._createGeometry(o.geometry));return C.catch(()=>!0).then(()=>{I&&i&&this._releaseTask(I,i)}),V0.set(A,{key:e,promise:C}),C}_createGeometry(A){let g=new se;A.index&&g.setIndex(new Se(A.index.array,1));for(let e=0;e<A.attributes.length;e++){let I=A.attributes[e],i=I.name,t=I.array,C=I.itemSize;g.setAttribute(i,new Se(t,C))}return g}_loadLibrary(A,g){let e=new sf(this.manager);return e.setPath(this.decoderPath),e.setResponseType(g),e.setWithCredentials(this.withCredentials),new Promise((I,i)=>{e.load(A,I,void 0,i)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let A=typeof WebAssembly!="object"||this.decoderConfig.type==="js",g=[];return A?g.push(this._loadLibrary("draco_decoder.js","text")):(g.push(this._loadLibrary("draco_wasm_wrapper.js","text")),g.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(g).then(e=>{let I=e[0];A||(this.decoderConfig.wasmBinary=e[1]);let i=yEA.toString(),t=["/* draco decoder */",I,"","/* worker */",i.substring(i.indexOf("{")+1,i.lastIndexOf("}"))].join(`
`);this.workerSourceURL=URL.createObjectURL(new Blob([t]))}),this.decoderPending}_getWorker(A,g){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){let I=new Worker(this.workerSourceURL);I._callbacks={},I._taskCosts={},I._taskLoad=0,I.postMessage({type:"init",decoderConfig:this.decoderConfig}),I.onmessage=function(i){let t=i.data;switch(t.type){case"decode":I._callbacks[t.id].resolve(t);break;case"error":I._callbacks[t.id].reject(t);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+t.type+'"')}},this.workerPool.push(I)}else this.workerPool.sort(function(I,i){return I._taskLoad>i._taskLoad?-1:1});let e=this.workerPool[this.workerPool.length-1];return e._taskCosts[A]=g,e._taskLoad+=g,e})}_releaseTask(A,g){A._taskLoad-=A._taskCosts[g],delete A._callbacks[g],delete A._taskCosts[g]}debug(){console.log("Task load: ",this.workerPool.map(A=>A._taskLoad))}dispose(){for(let A=0;A<this.workerPool.length;++A)this.workerPool[A].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}};function yEA(){let A,g;onmessage=function(C){let o=C.data;switch(o.type){case"init":A=o.decoderConfig,g=new Promise(function(s){A.onModuleLoaded=function(B){s({draco:B})},DracoDecoderModule(A)});break;case"decode":let a=o.buffer,r=o.taskConfig;g.then(s=>{let B=s.draco,Q=new B.Decoder,n=new B.DecoderBuffer;n.Init(new Int8Array(a),a.byteLength);try{let E=e(B,Q,n,r),l=E.attributes.map(h=>h.array.buffer);E.index&&l.push(E.index.array.buffer),self.postMessage({type:"decode",id:o.id,geometry:E},l)}catch(E){console.error(E),self.postMessage({type:"error",id:o.id,error:E.message})}finally{B.destroy(n),B.destroy(Q)}});break}};function e(C,o,a,r){let s=r.attributeIDs,B=r.attributeTypes,Q,n,E=o.GetEncodedGeometryType(a);if(E===C.TRIANGULAR_MESH)Q=new C.Mesh,n=o.DecodeBufferToMesh(a,Q);else if(E===C.POINT_CLOUD)Q=new C.PointCloud,n=o.DecodeBufferToPointCloud(a,Q);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!n.ok()||Q.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+n.error_msg());let l={index:null,attributes:[]};for(let h in s){let u=self[B[h]],D,p;if(r.useUniqueIDs)p=s[h],D=o.GetAttributeByUniqueId(Q,p);else{if(p=o.GetAttributeId(Q,C[s[h]]),p===-1)continue;D=o.GetAttribute(Q,p)}l.attributes.push(i(C,o,Q,h,u,D))}return E===C.TRIANGULAR_MESH&&(l.index=I(C,o,Q)),C.destroy(Q),l}function I(C,o,a){let r=a.num_faces()*3,s=r*4,B=C._malloc(s);o.GetTrianglesUInt32Array(a,s,B);let Q=new Uint32Array(C.HEAPF32.buffer,B,r).slice();return C._free(B),{array:Q,itemSize:1}}function i(C,o,a,r,s,B){let Q=B.num_components(),n=a.num_points()*Q,E=n*s.BYTES_PER_ELEMENT,l=t(C,s),h=C._malloc(E);o.GetAttributeDataArrayForAllPoints(a,B,l,E,h);let u=new s(C.HEAPF32.buffer,h,n).slice();return C._free(h),{name:r,array:u,itemSize:Q}}function t(C,o){switch(o){case Float32Array:return C.DT_FLOAT32;case Int8Array:return C.DT_INT8;case Int16Array:return C.DT_INT16;case Int32Array:return C.DT_INT32;case Uint8Array:return C.DT_UINT8;case Uint16Array:return C.DT_UINT16;case Uint32Array:return C.DT_UINT32}}}var lB;function wEA(){return lB||(lB=new pEA,lB.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.5.2/").preload()),lB.decoderPending}async function fEA(A){if(lB){let g={attributeIDs:lB.defaultAttributeIDs,attributeTypes:lB.defaultAttributeTypes,useUniqueIDs:!1},e;try{e=await lB.decodeGeometry(new Int8Array(A).buffer,g)}catch(I){console.error(I)}if(e)return{index:e.index?{array:e.index.array}:void 0,attributes:Object.entries(e.attributes).map(([I,i])=>({name:I,itemSize:i.itemSize,array:i.array}))}}return null}async function SEA(A,g){let[e,I]=tb(mf.deserialize(new Uint8Array(A)));return Nb(e),g&&g(e),I.result().data}function GEA(A){let g=[];return A.scene.objects.traverse((e,I)=>{I.type==="Mesh"&&I.geometry.type==="NonParametricGeometry"&&I.geometry.data.draco!==void 0&&g.push(I)}),g}async function mEA(A){for(let g of A){let e=await fEA(g.geometry.data.draco);if(e){let I=g.geometry.data;e.index&&(I.index={array:e.index.array,itemSize:1,normalized:!1,type:"Uint32Array"});let i={};e.attributes.forEach(({name:t,array:C,itemSize:o})=>{i[t]={array:C,itemSize:o,type:"Float32Array",normalized:!1}}),I.attributes=i,I.draco=void 0}}}var MEA=class{constructor(A,g,e,I,i,t,C,o){this.eventId=A,this.id=g,this.data=e,this.dataEvent=I,this.object=i,this.stage=!1,this.actions=vC(I,e.actions,t,C,o,i)}disconnect(){xt(this.actions)}dispatchIn(){this.actions.Audio.forEach(A=>A.dispatchBasic()),this.actions.Particles.forEach(A=>A.dispatchBasic()),this.actions.Video.forEach(A=>A.dispatchBasic()),this.actions.Create.forEach(A=>A.dispatch()),this.actions.Destroy.forEach(A=>A.dispatch()),this.actions.Reset.forEach(A=>A.dispatch()),this.actions.Link.forEach(A=>A.dispatch()),this.actions.Transition.forEach(A=>{A.object.currentTransitionEvent!==this&&(A.object.currentTransitionEvent=this,A.init())}),this.actions.Transition.forEach(A=>A.toggle()),this.actions.Animation.forEach(A=>A.play()),this.actions.SwitchCamera.forEach(A=>A.play()),this.actions.SceneTransition.forEach(A=>A.dispatch()),this.actions.SetVariable.forEach(A=>A.checkConditions()),this.actions.SetVariable.forEach(A=>A.dispatch()),this.actions.DynamicVariablePlay.forEach(A=>A.dispatch()),this.actions.ClearLocalStorage.forEach(A=>A.dispatch())}dispatchOut(){this.actions.Transition.forEach(A=>{A.toggle()})}},kEA=class extends ya{constructor(A,g){super(A),this.eventManager=g,this.breakpoints=[],this.resize=(e,I)=>{this.breakpoints.forEach(i=>{let t=Nf.deviceToSize(i.data.size),C=i.dataEvent.orientation==="horizontal"?e:I,o;switch(i.data.operator){case"<":o=C<t[0];break;case">":o=C>t[0];break;case"<>":o=C>t[0]&&C<t[1];break}i.stage!==o&&(i.stage=o,i.stage?i.dispatchIn():i.dispatchOut())})},this.onResizeObserver=new ResizeObserver(e=>{for(let I of e){let{width:i,height:t}=I.contentRect;this.resize(i,t)}})}connect(){let{page:A,sharedAssets:g,domElement:e}=this.eventContext;this.onResizeObserver.observe(e);let I=i=>{if(!(!i.visible||!i.data?.events.length))for(let{data:t,id:C}of i.data.events)t.disabled||t.type==="Resize"&&t.breakpoints.forEach(({data:o,id:a})=>{try{let r=new MEA(C,a,o,t,i,A,g,this.eventManager);this.breakpoints.push(r)}catch{}})};A.traverseEntity(i=>{(i instanceof QC||i instanceof Kt)&&i.frame?.traverse(t=>{I(t)}),I(i)})}disconnect(){this.onResizeObserver.disconnect(),this.breakpoints.forEach(A=>{A.disconnect()}),this.breakpoints=[]}},UEA=class{constructor(A,g,e,I,i){this.publish=A,this.controlsManager=g,this.animationControls=e,this.eventContext=I,this.sharedVariables=i,this.isEnabled=!1,this.activateCount=0,this.needsMouse=!1,this.needsRaycast=!1,this.onTouchMovePreventScroll=t=>{let C=window.parent!==window,o=document.documentElement.scrollHeight>document.documentElement.clientHeight||document.documentElement.scrollWidth>document.documentElement.clientWidth;(t.touches.length>1||this.preventTouchScroll||C===!1&&o===!1)&&t.preventDefault()},this.onMouseWheelPreventScroll=t=>{this.preventScroll&&t.preventDefault()},this.onMouseMove=t=>{this.eventContext.sharedAssets.mouseProperty={...this.getMousePosition(t),pressed:t.buttons>0}},this.onMouseDown=t=>{this.eventContext.sharedAssets.mouseProperty={...this.getMousePosition(t),pressed:!0}},this.onMouseUp=t=>{this.eventContext.sharedAssets.mouseProperty={...this.getMousePosition(t),pressed:!1}},this.getMousePosition=t=>{let{domRect:C}=this.eventContext,{pageX:o,pageY:a}=t.touches?.length>0?t.touches[0]:t;return{x:o-(C.left+window.scrollX),y:a-(C.top+window.scrollY)}},this.stopRaycast=A.stopRaycast,this.preventScroll=A.preventScroll,this.preventTouchScroll=A.preventTouchScroll,this.hideCursor=A.hideCursor,this.requestRender=I.requestRender}activate(){if(this.isEnabled)return;this.isEnabled=!0,this.initializeActionsDependentStates(),this.needsMouse&&(this.eventContext.domElement.addEventListener("pointermove",this.onMouseMove),this.eventContext.domElement.addEventListener("pointerdown",this.onMouseDown)),this.handlers={Spline:new dnA(this.eventContext),VariableChange:new VnA(this.eventContext,this.sharedVariables,this,this.needsMouse,this.needsRaycast),Conditional:new SnA(this.eventContext,this),Start:new WnA(this.eventContext,this),Basic:new DnA(this.eventContext,this,this.needsRaycast),MouseHover:new TnA(this.eventContext,this),Scroll:new PnA(this.eventContext,this),Follow:new KnA(this.eventContext,this),DragDrop:new UnA(this.eventContext,this),LookAt:new xnA(this.eventContext),Resize:new kEA(this.eventContext,this)};let{page:A,domElement:g}=this.eventContext;this.hideCursor&&(g.style.cursor="none"),A.traverseEntity(e=>{e.addEventListener("requestRender",this.requestRender)}),Object.values(this.handlers).forEach(e=>e.connect()),g.addEventListener("wheel",this.onMouseWheelPreventScroll),g.addEventListener("touchmove",this.onTouchMovePreventScroll),this.activateCount++}deactivate(){if(!this.isEnabled)return;this.isEnabled=!1,this.eventContext.domElement.removeEventListener("pointermove",this.onMouseMove),this.eventContext.domElement.removeEventListener("pointerdown",this.onMouseDown),this.eventContext.domElement.removeEventListener("pointerup",this.onMouseUp),this.eventContext.sharedAssets.mouseProperty=null,this.eventContext.sharedAssets.raycastProperty=null;let{page:A,domElement:g}=this.eventContext;g.style.cursor="",Object.values(this.handlers).forEach(e=>e.disconnect()),this.controlsManager.gameControl?.disposeActions(),this.controlsManager.disconnectEvents(),A.traverseEntity(e=>{e.removeEventListener("requestRender",this.requestRender),e.destroyedInAction=!1}),g.removeEventListener("touchmove",this.onTouchMovePreventScroll),g.removeEventListener("wheel",this.onMouseWheelPreventScroll),this.animationControls.onExitPlayMode()}get isPaused(){return this.isEnabled}pause(){this.deactivate()}resume(){this.activate()}reset(){this.deactivate(),this.activate(),this.controlsManager.page.updateMatrixWorld(!0),this.controlsManager.rebuildBVH()}updateUseWindowEvents(A){let g=this.isEnabled;g&&this.deactivate(),this.eventContext.useWindowEvents=A,g&&this.activate()}initializeActionsDependentStates(){let A=this.eventContext.sharedAssets;A.resetDynamicVariablePlayState();let g=e=>{if(e.data.type==="Conditional"&&(e.data.ifActions.forEach(g),e.data.elseActions.forEach(g)),e.data.type==="Conditional"||e.data.type==="SetVariable")for(let I of e.data.type==="Conditional"?e.data.condition:e.data.expression)"id"in I&&Array.isArray(I.id)&&(I.id[0]==="mouse"&&(this.needsMouse=!0),I.id[0]==="raycast"&&(this.needsRaycast=!0));e.data.type==="DynamicVariablePlay"&&e.data.variableId!==""&&(e.data.mode==="Play"||e.data.mode==="PlayPause"||e.data.mode==="Toggle")&&A.setDynamicVariablePlayState(e.data.variableId,"Stopped")};this.eventContext.page.traverseEntity(e=>{if(e.data?.events.length)for(let I of e.data.events)if(I.data.type==="VariableChange"&&(I.data.variableId==="mouseProperty"&&(this.needsMouse=!0),I.data.variableId==="raycastProperty"&&(this.needsRaycast=!0)),I.data.type==="Conditional")for(let i of["inActions","outActions"])I.data[i].forEach(g);else if(I.data.type==="DragDrop")for(let i of["drag","drop"])I.data.dragDropActions[i].forEach(g);else if(I.data.type==="GameControl")for(let i of["idle","move","jump","run"])I.data.gameActions[i].forEach(g);else if(I.data.type==="Resize")for(let i of I.data.breakpoints)i.data.actions.forEach(g);else I.data.type==="LookAt"||I.data.actions.forEach(g)})}},NEA=class{constructor(A,g,e,I,i){this._aspect=1,this.enableResponsive=!1,this._renderer=A,this._camera=g,this._frameSize=new mA().copy(e),this._editorSize=new mA().copy(I),this._aspect=g.aspect,this._fov=i??g.fov}set frameSize(A){this._frameSize.copy(A)}updateRenderer(){!this._renderer||this._renderer.setSize(this._frameSize.x,this._frameSize.y)}updateViewport(){if(!this._renderer||!this._camera||this._camera.cameraType!=="PerspectiveCamera")return;let A=this._frameSize.x,g=this._frameSize.y,e=this._editorSize.y;this._aspect=A/g,g<=e&&(this._camera.zoom*=e/g),this._renderer.setViewport(0,0,A,g)}updateCamera(A=!0){if(this._camera)if(this._camera.cameraType==="PerspectiveCamera"){let g=this._frameSize.y,e=this._editorSize.y,I=this._fov;if(A&&g>e){let i=FEA(g,1080,2160,1,15)/100;I*=g/e,I*=1-i}this._camera.aspect=this._aspect,this._camera.fov=I,this._camera.updateProjectionMatrix()}else this._camera.setViewplaneSize(this._frameSize.x,this._frameSize.y,this.enableResponsive)}setCamera(A){this._camera=A,this._aspect=A.aspect,this._fov=A.fov}revert(){let A=window.innerWidth,g=window.innerHeight;this._renderer&&(this._renderer.setViewport(0,0,A,g),this._renderer.setSize(A,g)),this._camera&&(this._camera.aspect=A/g,this._camera.fov=this._fov,this._camera.setViewplaneSize(A,g,this.enableResponsive),this._camera.updateProjectionMatrix())}};function FEA(A,g,e,I,i){return(A-g)/(e-g)*(i-I)+I}var REA=class{get sharedAssets(){return this.shared}constructor(A,g={},e=!0){this.shared=new Cm(A.shared,g,!0,e),this.scene=new dm(A.scene,this.sharedAssets),this.shared.setEntityOpContext({scene:this.scene,shared:this.shared})}reset(A,g){this.scene.clearScene(),this.sharedAssets.reset(A.shared),this.scene.resetAfterClear(A.scene,this.sharedAssets)}resetPersonalCameraFromDocumentData(){for(let A of this.scene.children)A instanceof Kt&&!A.uiScene&&A.personalCamera.updateState(A.data.camera,{scene:this.scene,shared:this.shared})}dispose(){this.scene.dispose(),this.shared.dispose()}gc(){this.shared.geometryCache.startGc(),this.shared.geometryCache2.startGc(),this.scene.traverseEntity(A=>{A instanceof EC&&A.markGeometryAsReachable(this.shared)}),this.shared.geometryCache.endGc(),this.shared.geometryCache2.endGc()}},vEA=class{constructor({x:A=10,y:g=10}){this._startTime=0;let e=document.getElementById("spe-perfs");e?this.element=e:(this.element=document.createElement("div"),document.body.appendChild(this.element),this.element.style.position="absolute",this.element.style.zIndex="10000",this.element.style.fontFamily="monospace",this.element.style.background="black",this.element.style.color="white",this.element.style.padding="10px",this.element.style.opacity="0.5",this.element.style.fontSize="11px",this.element.setAttribute("id","spe-perfs")),this.element.style.left=`${A}px`,this.element.style.top=`${g}px`}dispose(){this.element.parentElement?.removeChild(this.element)}start(){this._startTime=performance.now()}end(){let A=performance.now()-this._startTime;this.element.innerHTML=A.toFixed(3)+" ms"}};function KEA(A){let g;if(A.index)for(let e=0;e<A.index.array.length;e+=3)g=A.index.array[e],A.index.array[e]=A.index.array[e+2],A.index.array[e+2]=g}function $l(A){return A instanceof pc?"SubdivObject":A.geometry.type==="NonParametricGeometry"?"NonParametric":"Mesh"}function JEA(A,g){let e={};return A.traverseEntity(I=>{if(!I.visible||!(I instanceof RC)||I.type!=="Mesh"||Array.isArray(I.material)||I.states&&Object.keys(I.states).length)return;let i=I.parent;for(;i;){if(i instanceof RC&&I.states&&Object.keys(I.states).length)return;i=i.parent}let t=I.material.uuid,C=g.shared.materials[t];if(C){if(!hC.isMergable(C))return}else{let a=g.scene.objects.get(I.uuid)?.data;if(a&&"material"in a&&typeof a.material!="string"){if(!hC.isMergable(a.material))return;t=hC.getHash(a.material)}}e[t]||(e[t]={});let o=e[t][$l(I)];if(o){if(o.push(I),I.cloner)for(let a of I.cloner.children)o.push(a)}else if(e[t][$l(I)]=[I],I.cloner)for(let a of I.cloner.children)e[t][$l(I)].push(a)}),e}function qEA(A){let g=0;return Object.values(A).forEach(e=>{Object.values(e).forEach(I=>{let i=I.length;i>g&&(g=i)})}),g}function bEA(A,g){let e=JEA(g,A),I=qEA(e),i=new Array(I),t=0,C=new Array(I),o=0,a=new Array(I),r=0,s=new Array(I),B=0;for(let[Q,n]of Object.entries(e))for(let E of Object.values(n)){if(o=0,r=0,E.forEach(h=>{h instanceof RC&&(C[o++]=h.geometry.clone(),a[r++]=h)}),r<2)continue;for(let h=0;h<r;h++)a[h].updateWorldMatrix(!0,!1),C[h].applyMatrix4(a[h].matrixWorld),a[h].matrixWorld.determinant()<0&&KEA(C[h]);let l=nQ(C.slice(0,o),!1);if(l){let h;switch(Q){case"SubdivObject":{console.warn("Turning subdiv object into mesh"),h=new Oi(l,a[0].material);break}default:{h=new Oi(l,a[0].material);break}}h.castShadow=a[0].castShadow,h.receiveShadow=a[0].receiveShadow,g.add(h);let u=D=>{B=0;for(let p of D)p.children&&u(p.children),p instanceof RC&&(Array.isArray(p.material)||e[p.material.uuid]&&e[p.material.uuid][$l(p)]&&e[p.material.uuid][$l(p)].length>1||(s[B++]=p));for(let p=0;p<B;p++)g.attach(s[p])};for(let D=0;D<r;D++){let p=a[D];u(p.children),i[t++]=p}}}for(let Q=0;Q<t;Q++)i[Q].removeFromParent()}var LEA=cs(b_(),1),xEA=new mA;function YEA(A){let g="The Spline Runtime only accepts .splinecode files that are generated from Spline export panel.";A.endsWith(".spline")?console.warn(g+" The .spline files are only meant to be used by the Editor."):A.endsWith(".splinecode")||console.warn(g)}var HEA=class{constructor(A,{renderOnDemand:g,renderMode:e="auto"}={}){this._viewportMode=1,this._viewportWidth=window.innerWidth,this._viewportHeight=window.innerHeight,this._proxyObjectCache=new Map,this._variablesCache=new Map,this._isPaused=!1,this._renderRequested=!1,this._skipRender=!1,this.time=performance.now(),this.dt=0,this.currentTAAFrame=0,this.disposed=!1,this._requestRenderAutoMode=()=>{this._skipRender=!1},this.requestRender=()=>{this._renderRequested=!0},this.render=I=>{if(this.time=I,this._lastTime&&(this.dt=this.time-this._lastTime),this._lastTime=this.time,this._perfs?.start(),!this._renderer){this._perfs?.end();return}if(!this._isPaused&&(this.renderMode==="manual"&&!this._renderRequested||this.renderMode==="auto"&&this._skipRender)){this._perfs?.end();return}if(this._renderRequested=!1,this._skipRender=!0,this._controls&&(this._skipRender=this._controls.update(this.dt)),this._eventManager&&(this._eventManager.handlers?.Start.hasVideoAction||this._eventManager.handlers?.Basic.hasVideoAction||this._eventManager.handlers?.Conditional.hasVideoAction)&&(this._skipRender=!1),this._animationControls?.update(this.dt),this._skipRender?(this.currentTAAFrame++,this.currentTAAFrame<32?this._skipRender=!1:this.currentTAAFrame=0):this.currentTAAFrame=0,this._scene?.traverseVisibleEntity(i=>{i.type==="ParticleSystem"&&(i.update(this.dt),this._skipRender=!1)}),this._scene&&this._scene.activeCamera!==this._camera&&(this._camera=this._scene.activeCamera),this._eventManager?.isEnabled&&((this._eventManager.handlers?.Follow).onAnimationFrameDamping(),(this._eventManager.handlers?.LookAt).onAnimationFrameDamping(),(this._eventManager.handlers?.DragDrop).onAnimationFrameDamping()),this._scene&&this._camera){if(this._scene.pathConstraints.applyConstraints(this._scene),this._renderer.sceneTransitionTimeRemaining>0){this._renderer.sceneTransitionTimeRemaining-=this.dt;let i=1-this._renderer.sceneTransitionTimeRemaining/this._renderer.sceneTransitionDuration;this._renderer.pipeline.sceneTransitionPass.uniforms.mixRatio.value=i,this._skipRender=!1}else this._renderer.pipeline.sceneTransitionFromTexture=null;this._renderer.renderSplineScene(this._scene,this._camera)}this.canvas.dispatchEvent(this._renderedEvent),this._perfs?.end()},this._resize=I=>{if(this._renderer){if(this._viewportMode===1&&this._frameView&&(this._frameView.frameSize=xEA.set(this._viewportWidth,this._viewportHeight)),I){let i=this._viewportWidth,t=this._viewportHeight;this._renderer.setSize(i-1,t-1,!1),this._renderer.setSize(i,t,!1)}else this._renderer.setSize(this._viewportWidth,this._viewportHeight,!1);if(this._camera=this._scene?.activeCamera,this._scene?.updateViewPlaneSize(this._frameView?.frameSize?.x??this._viewportWidth,this._frameView?.frameSize?.y??this._viewportHeight,this._frameView?.enableResponsive??!1),this._camera){let i=Object.values(this._data?.frames??{})[0].preset??"fullscreen";this._frameView?.setCamera(this._camera),this._frameView?.updateCamera(i!=="fullscreen"),this._camera.cameraType==="PerspectiveCamera"&&(this._camera.aspect=this._viewportWidth/this._viewportHeight),this._camera.updateProjectionMatrix()}this.eventManager&&(this.eventManager.eventContext.domRect=this.canvas.getBoundingClientRect()),this._requestRenderAutoMode()}},this._debouncedResize=NG(this._resize,10),this._onScroll=I=>{this.eventManager&&(this.eventManager.eventContext.domRect=this.canvas.getBoundingClientRect())},this.canvas=A,this.renderMode=g?"auto":e,this._renderedEvent=new CustomEvent("rendered",{bubbles:!0}),Object.defineProperty(this._renderedEvent,"target",{writable:!1,value:this}),window.location.search.includes("perfs")&&(this._perfs=new vEA({x:10,y:10})),LgA(A)}async load(A,g,e){YEA(A),this.disposed=!1;let I=await(await fetch(A,e)).arrayBuffer();await this.start(I,{variables:g})}async start(A,{interactive:g=!0,variables:e}={}){if(this.disposed)return;let I=await SEA(A);this._data=I;let i=GEA(I);I.version&&(0,LEA.default)(I.version,"1.9.3")>0&&console.warn("Your .splinecode file is more recent than the library. Please upgrade @splinetool/runtime to the latest version."),await Promise.all([i.length&&wEA(),xv(I)&&StA(),uoA(I)&&ptA(),nc.physicsEnabled(I.scene.objects)&&OgA(),Jv(I)&&CoA(),hK(I)&&dBA(),ioA(I)&&IoA(),CK(I)&&BsA(),oEA(I)&&HgA()].filter(Boolean)),i.length&&await mEA(i),this._eventManager?.deactivate(),this._controls?.deactivate(),this._scene?.dispose();let t=new REA(I);if(t.resetPersonalCameraFromDocumentData(),this._scene=t.scene,this._sharedAssetsManager=t.sharedAssets,this._camera=this._scene.activeCamera,window.location.search.includes("merge-geometries")){let a=performance.now();bEA(I,t.scene);let r=performance.now();console.log("Merged geometries in ",r-a," ms")}xv(I)&&this._scene.traverse(a=>{as(a)&&a.recomputeBoolean()}),this._sharedAssetsManager.setRequestRender(()=>{this._requestRenderAutoMode(),this._scene?.traverse(a=>{a instanceof na&&a.pendingMediaLoad&&a.update()})}),this._scene?.traverse(a=>{a.type==="ParticleSystem"&&(a.wakeUp(),a.data.autoPlay?a.start():a.stop())});let C=Object.keys(I.shared.fonts).map(a=>this._sharedAssetsManager.getFont(a).loadingPromise);if(Promise.all(C).then(()=>{t.scene.markNeedsUpdateRendererDirty(),this._requestRenderAutoMode()}),Jv(I)&&cEA(I)&&await Promise.all(C),CK(I)){let a=[];this._scene.traverseEntity(r=>{(r instanceof QC||r instanceof Kt)&&r.uiCanvas&&a.push(r.uiCanvas)}),await Promise.all(a.map(r=>r.promise))}this._scene.rewriteEventsBeforeGoToPlayMode(),Nm(this._scene.activePage,this._sharedAssetsManager),this._renderer||(this._renderer=new AsA({canvas:this.canvas,antialias:!1,alpha:!0,stencil:!1,depth:!1,powerPreference:"high-performance"}),this._renderer.hdTransmission=I.scene.publish.hdTransmission===!0,this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.pipeline.enableUIOverlay(),this._renderer.pipeline.addEventListener("smaaloaded",this._requestRenderAutoMode)),hK(I)&&this._scene.initializeSplatViewer(),I.scene.blueNoiseTextureData!==void 0&&this._renderer.pipeline.updateBlueNoiseTexture(I.scene.blueNoiseTextureData);let o=Object.values(I.frames)[0];if(this._frameView?this._frameView.setCamera(this._camera):(o.preset==="fullscreen"?(this._viewportMode=1,this.canvas.style.display="block",this.canvas.parentElement&&(this._viewportWidth=this.canvas.parentElement.clientWidth||300,this.canvas.style.width="100%"),this.canvas.parentElement&&(this._viewportHeight=this.canvas.parentElement.clientHeight||150,this.canvas.style.height="100%")):(this._viewportMode=2,this._viewportWidth=o.size[0],this._viewportHeight=o.size[1],this.canvas.style.width=`${this._viewportWidth}px`,this.canvas.style.height=`${this._viewportHeight}px`),this._renderer.setSize(this._viewportWidth,this._viewportHeight,!1),this._frameView=new NEA(this._renderer,this._camera,new mA(this._viewportWidth,this._viewportHeight),new mA(window.innerWidth,window.innerHeight)),this._frameView.enableResponsive=(o.allowResponsive??!1)&&o.preset==="fullscreen"),g){let a=new lnA(this._renderer,this.data.scene.publish,this._scene,()=>this._scene.activeCamera,this._sharedAssetsManager,this._requestRenderAutoMode,!0,o);this._scene.updateMatrixWorld(!0),this._controls=new dEA(a),this._animationControls=new DEA(this._scene,this._requestRenderAutoMode),this._eventManager=new UEA(I.scene.publish,this._controls,this._animationControls,a,I.shared.variables),this._eventManager.activate(),this._controls.activate(this._eventManager)}this._resize(),this._scene.activePage.data.postprocessing.depthOfField.enabled&&Promise.all(this._sharedAssetsManager.getImageLoadPromises()).then(()=>{this._resize(!0)}),e!==void 0&&this.setVariables(e),this.dt===0&&(this.render(performance.now()),setTimeout(()=>{this._renderer?.setAnimationLoop(this.render)},0)),this._resizeObserverTimeout=setTimeout(()=>{!this._resizeObserver&&this.canvas.parentElement&&(this._resizeObserver=new ResizeObserver(()=>{this._viewportWidth=this.canvas.clientWidth,this._viewportHeight=this.canvas.clientHeight,this._debouncedResize()}),this._resizeObserver.observe(this.canvas.parentElement))},300),document.addEventListener("scroll",this._onScroll)}setVariables(A){if(this._data!==void 0){let g=Object.entries(A);for(let[e,I]of g)this.setVariable(e,I)}}setVariable(A,g){let e=this._getVariableByName(A);if(e&&!("dynamicVariableType"in e.data)){let I=g;typeof e.data.value=="number"?I=typeof g=="number"?g:typeof g=="boolean"?g===!0?1:0:parseFloat(g):typeof e.data.value=="boolean"?I=typeof g=="number"?!!g:typeof g=="boolean"?g:g.toLocaleLowerCase()==="false"?!1:!!g:typeof e.data.value!="string"&&e.data.value.textValue!==void 0&&(I=g.toString());let i=typeof I=="string"?{textValue:I}:I;this._sharedAssetsManager?.updateVariable(e.id,i),this.requestRender(),this._requestRenderAutoMode()}else e===void 0?console.warn(`No variable named ${A} was found in your Spline file. Make sure to create it from Spline editor.`):"dynamicVariableType"in e.data&&console.warn(`Dynamic variables like ${A} cannot be updated from code.`)}getVariables(){let A={};return this._data&&this._data.shared.variables.forEach(g=>{A[g.data.name]===void 0&&(A[g.data.name]=this._getVariableValue(this._sharedAssetsManager.getVariable(g.id)))}),A}getVariable(A){let g=this._getVariableByName(A);if(g){let e=this._sharedAssetsManager.getVariable(g.id);return this._getVariableValue(e)}}_getVariableValue(A){return typeof A!="string"&&so.isTextValue(A)?so.getDisplayedValue(A):A}_getVariableByName(A){if(this._data){if(this._variablesCache.has(A))return this._variablesCache.get(A);let g=this._data.shared.variables.find(e=>e.data.name===A);return g&&this._variablesCache.set(A,g),g}}findObjectById(A){let g=this._scene?.getObjectByProperty("uuid",A);return this._createProxyObject(g)}findObjectByName(A){let g=this._scene?.getObjectByName(A);return this._createProxyObject(g)}getAllObjects(){let A=[];return this._scene?.traverseEntity(g=>{if(g.uuid!==eh&&!this._scene.isInvisibleObjects(g)&&!(g instanceof Kt)){let e=this._createProxyObject(g);e&&A.push(e)}}),A}getSplineEvents(){return(this._eventManager?.handlers?.Spline).splineEvents}emitEvent(A,g){(this.findObjectById(g)||this.findObjectByName(g))?.emitEvent(A)}emitEventReverse(A,g){(this.findObjectById(g)||this.findObjectByName(g))?.emitEventReverse(A)}addEventListener(A,g){this.canvas.addEventListener(A,g)}removeEventListener(A,g){this.canvas.removeEventListener(A,g)}setZoom(A){this._controls?.orbitControls instanceof nx&&this._controls?.orbitControls.setZoom(A)}get eventManager(){return this._eventManager}get controls(){return this._controls}setSize(A,g){this._viewportWidth=A,this._viewportHeight=g,this._viewportMode=2,this._resize()}setBackgroundColor(A){let{r:g,g:e,b:I,a:i}={r:0,g:0,b:0,a:1},t=new iC(g,e,I,i);try{t.setStyle(A)}catch{console.error("This is not a valid css color",A)}this._scene?.activePage.setBackgroundColor(t),this._requestRenderAutoMode()}dispose(){this.disposed=!0,this._eventManager?.deactivate(),this._scene?.dispose(),this._sharedAssetsManager?.dispose(),this._proxyObjectCache.forEach(A=>{XN.unsubscribe(A)}),this._variablesCache.clear(),this._renderer?.setAnimationLoop(null),this._renderer?.dispose(),this._renderer=void 0,this._sharedAssetsManager?.dispose(),this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=void 0),this._resizeObserverTimeout!==void 0&&clearTimeout(this._resizeObserverTimeout),this.canvas.style.width="",this.canvas.style.height="",this.canvas.removeAttribute("width"),this.canvas.removeAttribute("height"),this._frameView&&(this._frameView=void 0),this._controls?.deactivate(),this.dt=0,xgA(this.canvas),document.removeEventListener("scroll",this._onScroll)}get isStopped(){return this._isPaused}stop(){this._isPaused||(this._renderer?.setAnimationLoop(null),this._isPaused=!0,this._eventManager?.pause(),this._controls?.orbitControls&&(this._controls.orbitControls.enabled=!1))}play(){!this._isPaused||(this._isPaused=!1,this._eventManager?.resume(),this._controls?.orbitControls&&(this._controls.orbitControls.enabled=!0),this._renderer?.setAnimationLoop(this.render))}setGlobalEvents(A){this._eventManager?.updateUseWindowEvents(A)}get data(){return this._data}_createProxyObject(A){if(A==null)return;if(this._proxyObjectCache.has(A.uuid))return this._proxyObjectCache.get(A.uuid);let g;A.traverseAncestors(i=>{i instanceof Kt&&(g=i.name)});let e={name:A.name,uuid:A.uuid,visible:A.visible,intensity:A.intensity,position:A.position,rotation:A.rotation,scale:A.scale,type:A.data.type,page:g,parentUuid:A.parent instanceof Kt||A instanceof dm?void 0:A.parent?.uuid,emitEvent(i){A.dispatchEvent({type:"userEvent",eventName:i})},emitEventReverse(i){A.dispatchEvent({type:"userEvent",eventName:i,reverse:!0})}},I=XN(e,(i,t)=>{typeof A[i]!="object"&&Object.getOwnPropertyDescriptor(A,i)?.writable&&(A[i]=t),this._requestRenderAutoMode(),A.updateMatrix()});return this._proxyObjectCache.set(A.uuid,I),I}setUIWasmUrl(A){qL.skiaWasmUrl=A}};export{HEA as Application};
/*! Bundled license information:

@splinetool/runtime/build/howler.js:
  (*! howler.js v2.2.3 | (c) 2013-2020, James Simpson of GoldFire Studios | MIT License | howlerjs.com *)
*/