@evergonlabs/tmi-protocol-api 0.10.0-rc.0 → 0.10.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.d.ts +359 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/client.d.ts +389 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/common/roles/erc1155-token-roles.d.ts +8 -0
- package/dist/common/roles/erc1155-token-roles.d.ts.map +1 -0
- package/dist/common/roles/erc1155-token-roles.js +13 -0
- package/dist/common/roles/exports.d.ts +1 -0
- package/dist/common/roles/exports.d.ts.map +1 -1
- package/dist/common/roles/exports.js +1 -0
- package/dist/issuance/common/factories.base.d.ts +12 -12
- package/dist/issuance/erc1155/burn.d.ts +34 -0
- package/dist/issuance/erc1155/burn.d.ts.map +1 -0
- package/dist/issuance/erc1155/burn.js +39 -0
- package/dist/issuance/erc1155/default/deploy.d.ts +34 -0
- package/dist/issuance/erc1155/default/deploy.d.ts.map +1 -0
- package/dist/issuance/erc1155/default/deploy.js +53 -0
- package/dist/issuance/erc1155/default/initialize.d.ts +34 -0
- package/dist/issuance/erc1155/default/initialize.d.ts.map +1 -0
- package/dist/issuance/erc1155/default/initialize.js +38 -0
- package/dist/issuance/erc1155/default/parseDeployEvent.d.ts +21 -0
- package/dist/issuance/erc1155/default/parseDeployEvent.d.ts.map +1 -0
- package/dist/issuance/erc1155/default/parseDeployEvent.js +74 -0
- package/dist/issuance/erc1155/gated/deploy.d.ts +36 -0
- package/dist/issuance/erc1155/gated/deploy.d.ts.map +1 -0
- package/dist/issuance/erc1155/gated/deploy.js +61 -0
- package/dist/issuance/erc1155/gated/initialize.d.ts +36 -0
- package/dist/issuance/erc1155/gated/initialize.d.ts.map +1 -0
- package/dist/issuance/erc1155/gated/initialize.js +44 -0
- package/dist/issuance/erc1155/gated/parseDeployEvent.d.ts +21 -0
- package/dist/issuance/erc1155/gated/parseDeployEvent.d.ts.map +1 -0
- package/dist/issuance/erc1155/gated/parseDeployEvent.js +74 -0
- package/dist/issuance/erc1155/grantRole.d.ts +33 -0
- package/dist/issuance/erc1155/grantRole.d.ts.map +1 -0
- package/dist/issuance/erc1155/grantRole.js +41 -0
- package/dist/issuance/erc1155/index.d.ts +361 -0
- package/dist/issuance/erc1155/index.d.ts.map +1 -0
- package/dist/issuance/erc1155/index.js +38 -0
- package/dist/issuance/erc1155/mint.d.ts +34 -0
- package/dist/issuance/erc1155/mint.d.ts.map +1 -0
- package/dist/issuance/erc1155/mint.js +39 -0
- package/dist/issuance/erc1155/recover.d.ts +36 -0
- package/dist/issuance/erc1155/recover.d.ts.map +1 -0
- package/dist/issuance/erc1155/recover.js +40 -0
- package/dist/issuance/erc1155/renounceRole.d.ts +33 -0
- package/dist/issuance/erc1155/renounceRole.d.ts.map +1 -0
- package/dist/issuance/erc1155/renounceRole.js +41 -0
- package/dist/issuance/erc1155/revokeRole.d.ts +33 -0
- package/dist/issuance/erc1155/revokeRole.d.ts.map +1 -0
- package/dist/issuance/erc1155/revokeRole.js +41 -0
- package/dist/issuance/erc1155/setApprovalForAll.d.ts +32 -0
- package/dist/issuance/erc1155/setApprovalForAll.d.ts.map +1 -0
- package/dist/issuance/erc1155/setApprovalForAll.js +39 -0
- package/dist/issuance/erc1155/setBaseURI.d.ts +30 -0
- package/dist/issuance/erc1155/setBaseURI.d.ts.map +1 -0
- package/dist/issuance/erc1155/setBaseURI.js +36 -0
- package/dist/issuance/erc1155/setTokenURI.d.ts +32 -0
- package/dist/issuance/erc1155/setTokenURI.d.ts.map +1 -0
- package/dist/issuance/erc1155/setTokenURI.js +38 -0
- package/dist/issuance/erc721/approve.js +1 -1
- package/dist/issuance/erc721/burn.js +1 -1
- package/dist/issuance/erc721/default/deploy.js +4 -4
- package/dist/issuance/erc721/default/initialize.js +1 -1
- package/dist/issuance/erc721/default/parseDeployEvent.js +1 -1
- package/dist/issuance/erc721/gated/deploy.js +4 -4
- package/dist/issuance/erc721/gated/initialize.js +1 -1
- package/dist/issuance/erc721/gated/parseDeployEvent.js +1 -1
- package/dist/issuance/erc721/grantRole.js +1 -1
- package/dist/issuance/erc721/index.d.ts +0 -1
- package/dist/issuance/erc721/index.d.ts.map +1 -1
- package/dist/issuance/erc721/mint.d.ts +0 -2
- package/dist/issuance/erc721/mint.d.ts.map +1 -1
- package/dist/issuance/erc721/mint.js +4 -6
- package/dist/issuance/erc721/nextTokenId.d.ts +19 -0
- package/dist/issuance/erc721/nextTokenId.d.ts.map +1 -0
- package/dist/issuance/erc721/nextTokenId.js +79 -0
- package/dist/issuance/erc721/recover.js +1 -1
- package/dist/issuance/erc721/renounceRole.js +1 -1
- package/dist/issuance/erc721/revokeRole.js +1 -1
- package/dist/issuance/erc721/setBaseURI.js +1 -1
- package/dist/issuance/erc721/setTokenURI.js +1 -1
- package/dist/issuance/erc721/transferFrom.js +1 -1
- package/dist/issuance/index.d.ts +359 -1
- package/dist/issuance/index.d.ts.map +1 -1
- package/dist/issuance/index.js +2 -0
- package/package.json +9 -9
package/dist/app.d.ts
CHANGED
|
@@ -3195,7 +3195,6 @@ export declare function buildApps(config?: IAppConfig): {
|
|
|
3195
3195
|
json: {
|
|
3196
3196
|
tokenAddress: string;
|
|
3197
3197
|
to: string;
|
|
3198
|
-
tokenId: string;
|
|
3199
3198
|
};
|
|
3200
3199
|
};
|
|
3201
3200
|
output: {
|
|
@@ -3382,6 +3381,365 @@ export declare function buildApps(config?: IAppConfig): {
|
|
|
3382
3381
|
};
|
|
3383
3382
|
};
|
|
3384
3383
|
}, "/setTokenURI">, "/erc721"> | import("hono/types").MergeSchemaPath<import("hono/types").BlankSchema | import("hono/types").MergeSchemaPath<{
|
|
3384
|
+
"/": {
|
|
3385
|
+
$post: {
|
|
3386
|
+
input: {
|
|
3387
|
+
json: {
|
|
3388
|
+
chainId: 11155111 | 72080;
|
|
3389
|
+
baseURI: string;
|
|
3390
|
+
defaultTokenAdmin: string;
|
|
3391
|
+
minter: string;
|
|
3392
|
+
};
|
|
3393
|
+
};
|
|
3394
|
+
output: {
|
|
3395
|
+
data: `0x${string}`;
|
|
3396
|
+
to: `0x${string}`;
|
|
3397
|
+
details: {
|
|
3398
|
+
functionName: string;
|
|
3399
|
+
address: `0x${string}`;
|
|
3400
|
+
abi: any[];
|
|
3401
|
+
args: any[];
|
|
3402
|
+
};
|
|
3403
|
+
};
|
|
3404
|
+
outputFormat: "json";
|
|
3405
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3406
|
+
};
|
|
3407
|
+
};
|
|
3408
|
+
}, "/deploy"> | import("hono/types").MergeSchemaPath<{
|
|
3409
|
+
"/": {
|
|
3410
|
+
$post: {
|
|
3411
|
+
input: {
|
|
3412
|
+
json: {
|
|
3413
|
+
tokenAddress: string;
|
|
3414
|
+
baseURI: string;
|
|
3415
|
+
defaultAdmin: string;
|
|
3416
|
+
minter: string;
|
|
3417
|
+
};
|
|
3418
|
+
};
|
|
3419
|
+
output: {
|
|
3420
|
+
data: `0x${string}`;
|
|
3421
|
+
to: `0x${string}`;
|
|
3422
|
+
details: {
|
|
3423
|
+
functionName: string;
|
|
3424
|
+
address: `0x${string}`;
|
|
3425
|
+
abi: any[];
|
|
3426
|
+
args: any[];
|
|
3427
|
+
};
|
|
3428
|
+
};
|
|
3429
|
+
outputFormat: "json";
|
|
3430
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3431
|
+
};
|
|
3432
|
+
};
|
|
3433
|
+
}, "/initialize"> | import("hono/types").MergeSchemaPath<{
|
|
3434
|
+
"/": {
|
|
3435
|
+
$get: {
|
|
3436
|
+
input: {
|
|
3437
|
+
query: {
|
|
3438
|
+
chainId: string | string[];
|
|
3439
|
+
hash: string | string[];
|
|
3440
|
+
};
|
|
3441
|
+
};
|
|
3442
|
+
output: {
|
|
3443
|
+
proxy: `0x${string}`;
|
|
3444
|
+
admin: `0x${string}`;
|
|
3445
|
+
minter: `0x${string}`;
|
|
3446
|
+
baseURI: string;
|
|
3447
|
+
};
|
|
3448
|
+
outputFormat: "json";
|
|
3449
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3450
|
+
};
|
|
3451
|
+
};
|
|
3452
|
+
}, "/getDeployEvent"> | import("hono/types").MergeSchemaPath<{
|
|
3453
|
+
"/": {
|
|
3454
|
+
$post: {
|
|
3455
|
+
input: {
|
|
3456
|
+
json: {
|
|
3457
|
+
chainId: 11155111 | 72080;
|
|
3458
|
+
baseURI: string;
|
|
3459
|
+
defaultTokenAdmin: string;
|
|
3460
|
+
minter: string;
|
|
3461
|
+
gatingSigner?: string | undefined;
|
|
3462
|
+
};
|
|
3463
|
+
};
|
|
3464
|
+
output: {
|
|
3465
|
+
data: `0x${string}`;
|
|
3466
|
+
to: `0x${string}`;
|
|
3467
|
+
details: {
|
|
3468
|
+
functionName: string;
|
|
3469
|
+
address: `0x${string}`;
|
|
3470
|
+
abi: any[];
|
|
3471
|
+
args: any[];
|
|
3472
|
+
};
|
|
3473
|
+
};
|
|
3474
|
+
outputFormat: "json";
|
|
3475
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3476
|
+
};
|
|
3477
|
+
};
|
|
3478
|
+
}, "/deployGated"> | import("hono/types").MergeSchemaPath<{
|
|
3479
|
+
"/": {
|
|
3480
|
+
$post: {
|
|
3481
|
+
input: {
|
|
3482
|
+
json: {
|
|
3483
|
+
tokenAddress: string;
|
|
3484
|
+
baseURI: string;
|
|
3485
|
+
defaultAdmin: string;
|
|
3486
|
+
minter: string;
|
|
3487
|
+
gatingSigner?: string | undefined;
|
|
3488
|
+
};
|
|
3489
|
+
};
|
|
3490
|
+
output: {
|
|
3491
|
+
data: `0x${string}`;
|
|
3492
|
+
to: `0x${string}`;
|
|
3493
|
+
details: {
|
|
3494
|
+
functionName: string;
|
|
3495
|
+
address: `0x${string}`;
|
|
3496
|
+
abi: any[];
|
|
3497
|
+
args: any[];
|
|
3498
|
+
};
|
|
3499
|
+
};
|
|
3500
|
+
outputFormat: "json";
|
|
3501
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3502
|
+
};
|
|
3503
|
+
};
|
|
3504
|
+
}, "/initializeGated"> | import("hono/types").MergeSchemaPath<{
|
|
3505
|
+
"/": {
|
|
3506
|
+
$get: {
|
|
3507
|
+
input: {
|
|
3508
|
+
query: {
|
|
3509
|
+
chainId: string | string[];
|
|
3510
|
+
hash: string | string[];
|
|
3511
|
+
};
|
|
3512
|
+
};
|
|
3513
|
+
output: {
|
|
3514
|
+
proxy: `0x${string}`;
|
|
3515
|
+
admin: `0x${string}`;
|
|
3516
|
+
minter: `0x${string}`;
|
|
3517
|
+
baseURI: string;
|
|
3518
|
+
};
|
|
3519
|
+
outputFormat: "json";
|
|
3520
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3521
|
+
};
|
|
3522
|
+
};
|
|
3523
|
+
}, "/getDeployEventGated"> | import("hono/types").MergeSchemaPath<{
|
|
3524
|
+
"/": {
|
|
3525
|
+
$post: {
|
|
3526
|
+
input: {
|
|
3527
|
+
json: {
|
|
3528
|
+
tokenAddress: string;
|
|
3529
|
+
to: string;
|
|
3530
|
+
amount: string;
|
|
3531
|
+
data?: string | undefined;
|
|
3532
|
+
};
|
|
3533
|
+
};
|
|
3534
|
+
output: {
|
|
3535
|
+
data: `0x${string}`;
|
|
3536
|
+
to: `0x${string}`;
|
|
3537
|
+
details: {
|
|
3538
|
+
functionName: string;
|
|
3539
|
+
address: `0x${string}`;
|
|
3540
|
+
abi: any[];
|
|
3541
|
+
args: any[];
|
|
3542
|
+
};
|
|
3543
|
+
};
|
|
3544
|
+
outputFormat: "json";
|
|
3545
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3546
|
+
};
|
|
3547
|
+
};
|
|
3548
|
+
}, "/mint"> | import("hono/types").MergeSchemaPath<{
|
|
3549
|
+
"/": {
|
|
3550
|
+
$post: {
|
|
3551
|
+
input: {
|
|
3552
|
+
json: {
|
|
3553
|
+
tokenAddress: string;
|
|
3554
|
+
account: string;
|
|
3555
|
+
id: string;
|
|
3556
|
+
amount: string;
|
|
3557
|
+
};
|
|
3558
|
+
};
|
|
3559
|
+
output: {
|
|
3560
|
+
data: `0x${string}`;
|
|
3561
|
+
to: `0x${string}`;
|
|
3562
|
+
details: {
|
|
3563
|
+
functionName: string;
|
|
3564
|
+
address: `0x${string}`;
|
|
3565
|
+
abi: any[];
|
|
3566
|
+
args: any[];
|
|
3567
|
+
};
|
|
3568
|
+
};
|
|
3569
|
+
outputFormat: "json";
|
|
3570
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3571
|
+
};
|
|
3572
|
+
};
|
|
3573
|
+
}, "/burn"> | import("hono/types").MergeSchemaPath<{
|
|
3574
|
+
"/": {
|
|
3575
|
+
$post: {
|
|
3576
|
+
input: {
|
|
3577
|
+
json: {
|
|
3578
|
+
tokenAddress: string;
|
|
3579
|
+
operator: string;
|
|
3580
|
+
approved: boolean;
|
|
3581
|
+
};
|
|
3582
|
+
};
|
|
3583
|
+
output: {
|
|
3584
|
+
data: `0x${string}`;
|
|
3585
|
+
to: `0x${string}`;
|
|
3586
|
+
details: {
|
|
3587
|
+
functionName: string;
|
|
3588
|
+
address: `0x${string}`;
|
|
3589
|
+
abi: any[];
|
|
3590
|
+
args: any[];
|
|
3591
|
+
};
|
|
3592
|
+
};
|
|
3593
|
+
outputFormat: "json";
|
|
3594
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3595
|
+
};
|
|
3596
|
+
};
|
|
3597
|
+
}, "/setApprovalForAll"> | import("hono/types").MergeSchemaPath<{
|
|
3598
|
+
"/": {
|
|
3599
|
+
$post: {
|
|
3600
|
+
input: {
|
|
3601
|
+
json: {
|
|
3602
|
+
tokenAddress: string;
|
|
3603
|
+
baseURI: string;
|
|
3604
|
+
};
|
|
3605
|
+
};
|
|
3606
|
+
output: {
|
|
3607
|
+
data: `0x${string}`;
|
|
3608
|
+
to: `0x${string}`;
|
|
3609
|
+
details: {
|
|
3610
|
+
functionName: string;
|
|
3611
|
+
address: `0x${string}`;
|
|
3612
|
+
abi: any[];
|
|
3613
|
+
args: any[];
|
|
3614
|
+
};
|
|
3615
|
+
};
|
|
3616
|
+
outputFormat: "json";
|
|
3617
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3618
|
+
};
|
|
3619
|
+
};
|
|
3620
|
+
}, "/setBaseURI"> | import("hono/types").MergeSchemaPath<{
|
|
3621
|
+
"/": {
|
|
3622
|
+
$post: {
|
|
3623
|
+
input: {
|
|
3624
|
+
json: {
|
|
3625
|
+
tokenAddress: string;
|
|
3626
|
+
id: string;
|
|
3627
|
+
tokenURI: string;
|
|
3628
|
+
};
|
|
3629
|
+
};
|
|
3630
|
+
output: {
|
|
3631
|
+
data: `0x${string}`;
|
|
3632
|
+
to: `0x${string}`;
|
|
3633
|
+
details: {
|
|
3634
|
+
functionName: string;
|
|
3635
|
+
address: `0x${string}`;
|
|
3636
|
+
abi: any[];
|
|
3637
|
+
args: any[];
|
|
3638
|
+
};
|
|
3639
|
+
};
|
|
3640
|
+
outputFormat: "json";
|
|
3641
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3642
|
+
};
|
|
3643
|
+
};
|
|
3644
|
+
}, "/setTokenURI"> | import("hono/types").MergeSchemaPath<{
|
|
3645
|
+
"/": {
|
|
3646
|
+
$post: {
|
|
3647
|
+
input: {
|
|
3648
|
+
json: {
|
|
3649
|
+
tokenAddress: string;
|
|
3650
|
+
from: string;
|
|
3651
|
+
to: string;
|
|
3652
|
+
id: string;
|
|
3653
|
+
amount: string;
|
|
3654
|
+
};
|
|
3655
|
+
};
|
|
3656
|
+
output: {
|
|
3657
|
+
data: `0x${string}`;
|
|
3658
|
+
to: `0x${string}`;
|
|
3659
|
+
details: {
|
|
3660
|
+
functionName: string;
|
|
3661
|
+
address: `0x${string}`;
|
|
3662
|
+
abi: any[];
|
|
3663
|
+
args: any[];
|
|
3664
|
+
};
|
|
3665
|
+
};
|
|
3666
|
+
outputFormat: "json";
|
|
3667
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3668
|
+
};
|
|
3669
|
+
};
|
|
3670
|
+
}, "/recover"> | import("hono/types").MergeSchemaPath<{
|
|
3671
|
+
"/": {
|
|
3672
|
+
$post: {
|
|
3673
|
+
input: {
|
|
3674
|
+
json: {
|
|
3675
|
+
tokenAddress: string;
|
|
3676
|
+
role: import("./client.js").Erc1155TokenRole;
|
|
3677
|
+
account: string;
|
|
3678
|
+
};
|
|
3679
|
+
};
|
|
3680
|
+
output: {
|
|
3681
|
+
data: `0x${string}`;
|
|
3682
|
+
to: `0x${string}`;
|
|
3683
|
+
details: {
|
|
3684
|
+
functionName: string;
|
|
3685
|
+
address: `0x${string}`;
|
|
3686
|
+
abi: any[];
|
|
3687
|
+
args: any[];
|
|
3688
|
+
};
|
|
3689
|
+
};
|
|
3690
|
+
outputFormat: "json";
|
|
3691
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3692
|
+
};
|
|
3693
|
+
};
|
|
3694
|
+
}, "/grantRole"> | import("hono/types").MergeSchemaPath<{
|
|
3695
|
+
"/": {
|
|
3696
|
+
$post: {
|
|
3697
|
+
input: {
|
|
3698
|
+
json: {
|
|
3699
|
+
tokenAddress: string;
|
|
3700
|
+
role: import("./client.js").Erc1155TokenRole;
|
|
3701
|
+
account: string;
|
|
3702
|
+
};
|
|
3703
|
+
};
|
|
3704
|
+
output: {
|
|
3705
|
+
data: `0x${string}`;
|
|
3706
|
+
to: `0x${string}`;
|
|
3707
|
+
details: {
|
|
3708
|
+
functionName: string;
|
|
3709
|
+
address: `0x${string}`;
|
|
3710
|
+
abi: any[];
|
|
3711
|
+
args: any[];
|
|
3712
|
+
};
|
|
3713
|
+
};
|
|
3714
|
+
outputFormat: "json";
|
|
3715
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3716
|
+
};
|
|
3717
|
+
};
|
|
3718
|
+
}, "/revokeRole"> | import("hono/types").MergeSchemaPath<{
|
|
3719
|
+
"/": {
|
|
3720
|
+
$post: {
|
|
3721
|
+
input: {
|
|
3722
|
+
json: {
|
|
3723
|
+
tokenAddress: string;
|
|
3724
|
+
role: import("./client.js").Erc1155TokenRole;
|
|
3725
|
+
callerConfirmation: string;
|
|
3726
|
+
};
|
|
3727
|
+
};
|
|
3728
|
+
output: {
|
|
3729
|
+
data: `0x${string}`;
|
|
3730
|
+
to: `0x${string}`;
|
|
3731
|
+
details: {
|
|
3732
|
+
functionName: string;
|
|
3733
|
+
address: `0x${string}`;
|
|
3734
|
+
abi: any[];
|
|
3735
|
+
args: any[];
|
|
3736
|
+
};
|
|
3737
|
+
};
|
|
3738
|
+
outputFormat: "json";
|
|
3739
|
+
status: import("hono/utils/http-status").ContentfulStatusCode;
|
|
3740
|
+
};
|
|
3741
|
+
};
|
|
3742
|
+
}, "/renounceRole">, "/erc1155"> | import("hono/types").MergeSchemaPath<import("hono/types").BlankSchema | import("hono/types").MergeSchemaPath<{
|
|
3385
3743
|
"/": {
|
|
3386
3744
|
$get: {
|
|
3387
3745
|
input: {};
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAcrD,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAcrD,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B5C;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AAEjE,eAAO,MAAM,SAAS;;;CAGpB,CAAC"}
|