{"snapId":"npm:@metamask/gator-permissions-snap","manifest":{"version":"2.3.0","description":"Grants 7715 permissions from a DeleGator smart account","proposedName":"Gator Permissions","repository":{"type":"git","url":"https://github.com/MetaMask/snap-7715-permissions.git"},"source":{"shasum":"5j8U/UbVWoZJoL1qOfW2V6jm+X5q3Y6DD7ANs6VPoCU=","location":{"npm":{"filePath":"dist/bundle.js","iconPath":"images/icon.svg","packageName":"@metamask/gator-permissions-snap","registry":"https://registry.npmjs.org/"}}},"initialConnections":{"npm:@metamask/permissions-kernel-snap":{}},"initialPermissions":{"endowment:rpc":{"dapps":false,"snaps":true},"snap_manageState":{},"endowment:ethereum-provider":{},"endowment:network-access":{},"snap_dialog":{},"snap_getPreferences":{}},"platformVersion":"11.1.0","manifestVersion":"0.1"},"files":[{"path":"images/icon.svg","value":"<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<rect width=\"24\" height=\"24\" rx=\"12\" fill=\"white\"/>\n<rect x=\"2.95312\" y=\"2.95312\" width=\"18.0469\" height=\"18.0469\" fill=\"url(#pattern0_651_20421)\"/>\n<defs>\n<pattern id=\"pattern0_651_20421\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n<use xlink:href=\"#image0_651_20421\" transform=\"scale(0.0025974)\"/>\n</pattern>\n<image id=\"image0_651_20421\" width=\"385\" height=\"385\" preserveAspectRatio=\"none\" xlink:href=\"data:image/png;base64,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\"/>\n</defs>\n</svg>\n"},{"path":"dist/bundle.js","value":"(()=>{var e={3725(e){\"use strict\";!function(){function t(e){return parseInt(e)===e}function r(e){if(!t(e.length))return!1;for(var r=0;r<e.length;r++)if(!t(e[r])||e[r]<0||e[r]>255)return!1;return!0}function n(e,n){if(e.buffer&&ArrayBuffer.isView(e)&&\"Uint8Array\"===e.name)return n&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!r(e))throw new Error(\"Array contains invalid value: \"+e);return new Uint8Array(e)}if(t(e.length)&&r(e))return new Uint8Array(e);throw new Error(\"unsupported array-like object\")}function s(e){return new Uint8Array(e)}function i(e,t,r,n,s){null==n&&null==s||(e=e.slice?e.slice(n,s):Array.prototype.slice.call(e,n,s)),t.set(e,r)}var o,a={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r<e.length;){var s=e.charCodeAt(r++);37===s?(t.push(parseInt(e.substr(r,2),16)),r+=2):t.push(s)}return n(t)},fromBytes:function(e){for(var t=[],r=0;r<e.length;){var n=e[r];n<128?(t.push(String.fromCharCode(n)),r++):n>191&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join(\"\")}},c=(o=\"0123456789abcdef\",{toBytes:function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(parseInt(e.substr(r,2),16));return t},fromBytes:function(e){for(var t=[],r=0;r<e.length;r++){var n=e[r];t.push(o[(240&n)>>4]+o[15&n])}return t.join(\"\")}}),l={16:10,24:12,32:14},u=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],d=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],h=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],f=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],p=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],m=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],g=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],y=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],v=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],w=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],A=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],E=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],x=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],T=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function k(e){for(var t=[],r=0;r<e.length;r+=4)t.push(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]);return t}var S=function(e){if(!(this instanceof S))throw Error(\"AES must be instanitated with `new`\");Object.defineProperty(this,\"key\",{value:n(e,!0)}),this._prepare()};S.prototype._prepare=function(){var e=l[this.key.length];if(null==e)throw new Error(\"invalid key size (must be 16, 24 or 32 bytes)\");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var r,n=4*(e+1),s=this.key.length/4,i=k(this.key);for(t=0;t<s;t++)r=t>>2,this._Ke[r][t%4]=i[t],this._Kd[e-r][t%4]=i[t];for(var o,a=0,c=s;c<n;){if(o=i[s-1],i[0]^=d[o>>16&255]<<24^d[o>>8&255]<<16^d[255&o]<<8^d[o>>24&255]^u[a]<<24,a+=1,8!=s)for(t=1;t<s;t++)i[t]^=i[t-1];else{for(t=1;t<s/2;t++)i[t]^=i[t-1];o=i[s/2-1],i[s/2]^=d[255&o]^d[o>>8&255]<<8^d[o>>16&255]<<16^d[o>>24&255]<<24;for(t=s/2+1;t<s;t++)i[t]^=i[t-1]}for(t=0;t<s&&c<n;)h=c>>2,f=c%4,this._Ke[h][f]=i[t],this._Kd[e-h][f]=i[t++],c++}for(var h=1;h<e;h++)for(var f=0;f<4;f++)o=this._Kd[h][f],this._Kd[h][f]=A[o>>24&255]^E[o>>16&255]^x[o>>8&255]^T[255&o]},S.prototype.encrypt=function(e){if(16!=e.length)throw new Error(\"invalid plaintext size (must be 16 bytes)\");for(var t=this._Ke.length-1,r=[0,0,0,0],n=k(e),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var o=1;o<t;o++){for(i=0;i<4;i++)r[i]=f[n[i]>>24&255]^p[n[(i+1)%4]>>16&255]^m[n[(i+2)%4]>>8&255]^g[255&n[(i+3)%4]]^this._Ke[o][i];n=r.slice()}var a,c=s(16);for(i=0;i<4;i++)a=this._Ke[t][i],c[4*i]=255&(d[n[i]>>24&255]^a>>24),c[4*i+1]=255&(d[n[(i+1)%4]>>16&255]^a>>16),c[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^a>>8),c[4*i+3]=255&(d[255&n[(i+3)%4]]^a);return c},S.prototype.decrypt=function(e){if(16!=e.length)throw new Error(\"invalid ciphertext size (must be 16 bytes)\");for(var t=this._Kd.length-1,r=[0,0,0,0],n=k(e),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var o=1;o<t;o++){for(i=0;i<4;i++)r[i]=y[n[i]>>24&255]^b[n[(i+3)%4]>>16&255]^v[n[(i+2)%4]>>8&255]^w[255&n[(i+1)%4]]^this._Kd[o][i];n=r.slice()}var a,c=s(16);for(i=0;i<4;i++)a=this._Kd[t][i],c[4*i]=255&(h[n[i]>>24&255]^a>>24),c[4*i+1]=255&(h[n[(i+3)%4]>>16&255]^a>>16),c[4*i+2]=255&(h[n[(i+2)%4]>>8&255]^a>>8),c[4*i+3]=255&(h[255&n[(i+1)%4]]^a);return c};var C=function(e){if(!(this instanceof C))throw Error(\"AES must be instanitated with `new`\");this.description=\"Electronic Code Block\",this.name=\"ecb\",this._aes=new S(e)};C.prototype.encrypt=function(e){if((e=n(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=s(e.length),r=s(16),o=0;o<e.length;o+=16)i(e,r,0,o,o+16),i(r=this._aes.encrypt(r),t,o);return t},C.prototype.decrypt=function(e){if((e=n(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=s(e.length),r=s(16),o=0;o<e.length;o+=16)i(e,r,0,o,o+16),i(r=this._aes.decrypt(r),t,o);return t};var I=function(e,t){if(!(this instanceof I))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Block Chaining\",this.name=\"cbc\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=s(16);this._lastCipherblock=n(t,!0),this._aes=new S(e)};I.prototype.encrypt=function(e){if((e=n(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=s(e.length),r=s(16),o=0;o<e.length;o+=16){i(e,r,0,o,o+16);for(var a=0;a<16;a++)r[a]^=this._lastCipherblock[a];this._lastCipherblock=this._aes.encrypt(r),i(this._lastCipherblock,t,o)}return t},I.prototype.decrypt=function(e){if((e=n(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=s(e.length),r=s(16),o=0;o<e.length;o+=16){i(e,r,0,o,o+16),r=this._aes.decrypt(r);for(var a=0;a<16;a++)t[o+a]=r[a]^this._lastCipherblock[a];i(e,this._lastCipherblock,0,o,o+16)}return t};var P=function(e,t,r){if(!(this instanceof P))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Feedback\",this.name=\"cfb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 size)\")}else t=s(16);r||(r=1),this.segmentSize=r,this._shiftRegister=n(t,!0),this._aes=new S(e)};P.prototype.encrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid plaintext size (must be segmentSize bytes)\");for(var t,r=n(e,!0),s=0;s<r.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var o=0;o<this.segmentSize;o++)r[s+o]^=t[o];i(this._shiftRegister,this._shiftRegister,0,this.segmentSize),i(r,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return r},P.prototype.decrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid ciphertext size (must be segmentSize bytes)\");for(var t,r=n(e,!0),s=0;s<r.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var o=0;o<this.segmentSize;o++)r[s+o]^=t[o];i(this._shiftRegister,this._shiftRegister,0,this.segmentSize),i(e,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return r};var M=function(e,t){if(!(this instanceof M))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Output Feedback\",this.name=\"ofb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=s(16);this._lastPrecipher=n(t,!0),this._lastPrecipherIndex=16,this._aes=new S(e)};M.prototype.encrypt=function(e){for(var t=n(e,!0),r=0;r<t.length;r++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[r]^=this._lastPrecipher[this._lastPrecipherIndex++];return t},M.prototype.decrypt=M.prototype.encrypt;var R=function(e){if(!(this instanceof R))throw Error(\"Counter must be instanitated with `new`\");0===e||e||(e=1),\"number\"==typeof e?(this._counter=s(16),this.setValue(e)):this.setBytes(e)};R.prototype.setValue=function(e){if(\"number\"!=typeof e||parseInt(e)!=e)throw new Error(\"invalid counter value (must be an integer)\");for(var t=15;t>=0;--t)this._counter[t]=e%256,e>>=8},R.prototype.setBytes=function(e){if(16!=(e=n(e,!0)).length)throw new Error(\"invalid counter bytes size (must be 16 bytes)\");this._counter=e},R.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var B=function(e,t){if(!(this instanceof B))throw Error(\"AES must be instanitated with `new`\");this.description=\"Counter\",this.name=\"ctr\",t instanceof R||(t=new R(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new S(e)};B.prototype.encrypt=function(e){for(var t=n(e,!0),r=0;r<t.length;r++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[r]^=this._remainingCounter[this._remainingCounterIndex++];return t},B.prototype.decrypt=B.prototype.encrypt;var N={AES:S,Counter:R,ModeOfOperation:{ecb:C,cbc:I,cfb:P,ofb:M,ctr:B},utils:{hex:c,utf8:a},padding:{pkcs7:{pad:function(e){var t=16-(e=n(e,!0)).length%16,r=s(e.length+t);i(e,r);for(var o=e.length;o<r.length;o++)r[o]=t;return r},strip:function(e){if((e=n(e,!0)).length<16)throw new Error(\"PKCS#7 invalid length\");var t=e[e.length-1];if(t>16)throw new Error(\"PKCS#7 padding byte out of range\");for(var r=e.length-t,o=0;o<t;o++)if(e[r+o]!==t)throw new Error(\"PKCS#7 invalid padding byte\");var a=s(r);return i(e,a,0,0,r),a}}},_arrayTest:{coerceArray:n,createArray:s,copyArray:i}};e.exports=N}()},573(e,t,r){var n;!function(){\"use strict\";var s=\"input is invalid type\",i=\"object\"==typeof window,o=i?window:{};o.JS_SHA3_NO_WINDOW&&(i=!1);var a=!i&&\"object\"==typeof self;!o.JS_SHA3_NO_NODE_JS&&\"object\"==typeof process&&process.versions&&process.versions.node?o=globalThis:a&&(o=self);var c=!o.JS_SHA3_NO_COMMON_JS&&e.exports,l=r.amdO,u=!o.JS_SHA3_NO_ARRAY_BUFFER&&\"undefined\"!=typeof ArrayBuffer,d=\"0123456789abcdef\".split(\"\"),h=[4,1024,262144,67108864],f=[0,8,16,24],p=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],m=[224,256,384,512],g=[128,256],y=[\"hex\",\"buffer\",\"arrayBuffer\",\"array\",\"digest\"],b={128:168,256:136};!o.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}),!u||!o.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return\"object\"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var v=function(e,t,r){return function(n){return new O(e,t,e).update(n)[r]()}},w=function(e,t,r){return function(n,s){return new O(e,t,s).update(n)[r]()}},A=function(e,t,r){return function(t,n,s,i){return S[\"cshake\"+e].update(t,n,s,i)[r]()}},E=function(e,t,r){return function(t,n,s,i){return S[\"kmac\"+e].update(t,n,s,i)[r]()}},x=function(e,t,r,n){for(var s=0;s<y.length;++s){var i=y[s];e[i]=t(r,n,i)}return e},T=function(e,t){var r=v(e,t,\"hex\");return r.create=function(){return new O(e,t,e)},r.update=function(e){return r.create().update(e)},x(r,v,e,t)},k=[{name:\"keccak\",padding:[1,256,65536,16777216],bits:m,createMethod:T},{name:\"sha3\",padding:[6,1536,393216,100663296],bits:m,createMethod:T},{name:\"shake\",padding:[31,7936,2031616,520093696],bits:g,createMethod:function(e,t){var r=w(e,t,\"hex\");return r.create=function(r){return new O(e,t,r)},r.update=function(e,t){return r.create(t).update(e)},x(r,w,e,t)}},{name:\"cshake\",padding:h,bits:g,createMethod:function(e,t){var r=b[e],n=A(e,0,\"hex\");return n.create=function(n,s,i){return s||i?new O(e,t,n).bytepad([s,i],r):S[\"shake\"+e].create(n)},n.update=function(e,t,r,s){return n.create(t,r,s).update(e)},x(n,A,e,t)}},{name:\"kmac\",padding:h,bits:g,createMethod:function(e,t){var r=b[e],n=E(e,0,\"hex\");return n.create=function(n,s,i){return new _(e,t,s).bytepad([\"KMAC\",i],r).bytepad([n],r)},n.update=function(e,t,r,s){return n.create(e,r,s).update(t)},x(n,E,e,t)}}],S={},C=[],I=0;I<k.length;++I)for(var P=k[I],M=P.bits,R=0;R<M.length;++R){var B=P.name+\"_\"+M[R];if(C.push(B),S[B]=P.createMethod(M[R],P.padding),\"sha3\"!==P.name){var N=P.name+M[R];C.push(N),S[N]=S[B]}}function O(e,t,r){this.blocks=[],this.s=[],this.padding=t,this.outputBits=r,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}function _(e,t,r){O.call(this,e,t,r)}O.prototype.update=function(e){if(this.finalized)throw new Error(\"finalize already called\");var t,r=typeof e;if(\"string\"!==r){if(\"object\"!==r)throw new Error(s);if(null===e)throw new Error(s);if(u&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||u&&ArrayBuffer.isView(e)))throw new Error(s);t=!0}for(var n,i,o=this.blocks,a=this.byteCount,c=e.length,l=this.blockCount,d=0,h=this.s;d<c;){if(this.reset)for(this.reset=!1,o[0]=this.block,n=1;n<l+1;++n)o[n]=0;if(t)for(n=this.start;d<c&&n<a;++d)o[n>>2]|=e[d]<<f[3&n++];else for(n=this.start;d<c&&n<a;++d)(i=e.charCodeAt(d))<128?o[n>>2]|=i<<f[3&n++]:i<2048?(o[n>>2]|=(192|i>>6)<<f[3&n++],o[n>>2]|=(128|63&i)<<f[3&n++]):i<55296||i>=57344?(o[n>>2]|=(224|i>>12)<<f[3&n++],o[n>>2]|=(128|i>>6&63)<<f[3&n++],o[n>>2]|=(128|63&i)<<f[3&n++]):(i=65536+((1023&i)<<10|1023&e.charCodeAt(++d)),o[n>>2]|=(240|i>>18)<<f[3&n++],o[n>>2]|=(128|i>>12&63)<<f[3&n++],o[n>>2]|=(128|i>>6&63)<<f[3&n++],o[n>>2]|=(128|63&i)<<f[3&n++]);if(this.lastByteIndex=n,n>=a){for(this.start=n-a,this.block=o[l],n=0;n<l;++n)h[n]^=o[n];L(h),this.reset=!0}else this.start=n}return this},O.prototype.encode=function(e,t){var r=255&e,n=1,s=[r];for(r=255&(e>>=8);r>0;)s.unshift(r),r=255&(e>>=8),++n;return t?s.push(n):s.unshift(n),this.update(s),s.length},O.prototype.encodeString=function(e){var t,r=typeof e;if(\"string\"!==r){if(\"object\"!==r)throw new Error(s);if(null===e)throw new Error(s);if(u&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||u&&ArrayBuffer.isView(e)))throw new Error(s);t=!0}var n=0,i=e.length;if(t)n=i;else for(var o=0;o<e.length;++o){var a=e.charCodeAt(o);a<128?n+=1:a<2048?n+=2:a<55296||a>=57344?n+=3:(a=65536+((1023&a)<<10|1023&e.charCodeAt(++o)),n+=4)}return n+=this.encode(8*n),this.update(e),n},O.prototype.bytepad=function(e,t){for(var r=this.encode(t),n=0;n<e.length;++n)r+=this.encodeString(e[n]);var s=t-r%t,i=[];return i.length=s,this.update(i),this},O.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex,r=this.blockCount,n=this.s;if(e[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t<r+1;++t)e[t]=0;for(e[r-1]|=2147483648,t=0;t<r;++t)n[t]^=e[t];L(n)}},O.prototype.toString=O.prototype.hex=function(){this.finalize();for(var e,t=this.blockCount,r=this.s,n=this.outputBlocks,s=this.extraBytes,i=0,o=0,a=\"\";o<n;){for(i=0;i<t&&o<n;++i,++o)e=r[i],a+=d[e>>4&15]+d[15&e]+d[e>>12&15]+d[e>>8&15]+d[e>>20&15]+d[e>>16&15]+d[e>>28&15]+d[e>>24&15];o%t===0&&(L(r),i=0)}return s&&(e=r[i],a+=d[e>>4&15]+d[15&e],s>1&&(a+=d[e>>12&15]+d[e>>8&15]),s>2&&(a+=d[e>>20&15]+d[e>>16&15])),a},O.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,s=this.extraBytes,i=0,o=0,a=this.outputBits>>3;e=s?new ArrayBuffer(n+1<<2):new ArrayBuffer(a);for(var c=new Uint32Array(e);o<n;){for(i=0;i<t&&o<n;++i,++o)c[o]=r[i];o%t===0&&L(r)}return s&&(c[i]=r[i],e=e.slice(0,a)),e},O.prototype.buffer=O.prototype.arrayBuffer,O.prototype.digest=O.prototype.array=function(){this.finalize();for(var e,t,r=this.blockCount,n=this.s,s=this.outputBlocks,i=this.extraBytes,o=0,a=0,c=[];a<s;){for(o=0;o<r&&a<s;++o,++a)e=a<<2,t=n[o],c[e]=255&t,c[e+1]=t>>8&255,c[e+2]=t>>16&255,c[e+3]=t>>24&255;a%r===0&&L(n)}return i&&(e=a<<2,t=n[o],c[e]=255&t,i>1&&(c[e+1]=t>>8&255),i>2&&(c[e+2]=t>>16&255)),c},_.prototype=new O,_.prototype.finalize=function(){return this.encode(this.outputBits,!0),O.prototype.finalize.call(this)};var L=function(e){var t,r,n,s,i,o,a,c,l,u,d,h,f,m,g,y,b,v,w,A,E,x,T,k,S,C,I,P,M,R,B,N,O,_,L,D,F,U,j,H,z,G,V,q,K,W,J,$,Z,Y,X,Q,ee,te,re,ne,se,ie,oe,ae,ce,le,ue;for(n=0;n<48;n+=2)s=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],o=e[2]^e[12]^e[22]^e[32]^e[42],a=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],u=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(o<<1|a>>>31),r=(f=e[9]^e[19]^e[29]^e[39]^e[49])^(a<<1|o>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=s^(c<<1|l>>>31),r=i^(l<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=o^(u<<1|d>>>31),r=a^(d<<1|u>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(h<<1|f>>>31),r=l^(f<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=u^(s<<1|i>>>31),r=d^(i<<1|s>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,m=e[0],g=e[1],W=e[11]<<4|e[10]>>>28,J=e[10]<<4|e[11]>>>28,P=e[20]<<3|e[21]>>>29,M=e[21]<<3|e[20]>>>29,ae=e[31]<<9|e[30]>>>23,ce=e[30]<<9|e[31]>>>23,G=e[40]<<18|e[41]>>>14,V=e[41]<<18|e[40]>>>14,_=e[2]<<1|e[3]>>>31,L=e[3]<<1|e[2]>>>31,y=e[13]<<12|e[12]>>>20,b=e[12]<<12|e[13]>>>20,$=e[22]<<10|e[23]>>>22,Z=e[23]<<10|e[22]>>>22,R=e[33]<<13|e[32]>>>19,B=e[32]<<13|e[33]>>>19,le=e[42]<<2|e[43]>>>30,ue=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,D=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,v=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Y=e[34]<<15|e[35]>>>17,X=e[35]<<15|e[34]>>>17,N=e[45]<<29|e[44]>>>3,O=e[44]<<29|e[45]>>>3,k=e[6]<<28|e[7]>>>4,S=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,se=e[16]<<23|e[17]>>>9,U=e[26]<<25|e[27]>>>7,j=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,E=e[37]<<21|e[36]>>>11,Q=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,q=e[8]<<27|e[9]>>>5,K=e[9]<<27|e[8]>>>5,C=e[18]<<20|e[19]>>>12,I=e[19]<<20|e[18]>>>12,ie=e[29]<<7|e[28]>>>25,oe=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,z=e[39]<<8|e[38]>>>24,x=e[48]<<14|e[49]>>>18,T=e[49]<<14|e[48]>>>18,e[0]=m^~y&v,e[1]=g^~b&w,e[10]=k^~C&P,e[11]=S^~I&M,e[20]=_^~D&U,e[21]=L^~F&j,e[30]=q^~W&$,e[31]=K^~J&Z,e[40]=te^~ne&ie,e[41]=re^~se&oe,e[2]=y^~v&A,e[3]=b^~w&E,e[12]=C^~P&R,e[13]=I^~M&B,e[22]=D^~U&H,e[23]=F^~j&z,e[32]=W^~$&Y,e[33]=J^~Z&X,e[42]=ne^~ie&ae,e[43]=se^~oe&ce,e[4]=v^~A&x,e[5]=w^~E&T,e[14]=P^~R&N,e[15]=M^~B&O,e[24]=U^~H&G,e[25]=j^~z&V,e[34]=$^~Y&Q,e[35]=Z^~X&ee,e[44]=ie^~ae&le,e[45]=oe^~ce&ue,e[6]=A^~x&m,e[7]=E^~T&g,e[16]=R^~N&k,e[17]=B^~O&S,e[26]=H^~G&_,e[27]=z^~V&L,e[36]=Y^~Q&q,e[37]=X^~ee&K,e[46]=ae^~le&te,e[47]=ce^~ue&re,e[8]=x^~m&y,e[9]=T^~g&b,e[18]=N^~k&C,e[19]=O^~S&I,e[28]=G^~_&D,e[29]=V^~L&F,e[38]=Q^~q&W,e[39]=ee^~K&J,e[48]=le^~te&ne,e[49]=ue^~re&se,e[0]^=p[n],e[1]^=p[n+1]};if(c)e.exports=S;else{for(I=0;I<C.length;++I)o[C[I]]=S[C[I]];l&&(void 0===(n=function(){return S}.call(t,r,t,e))||(e.exports=n))}}()},6730(e){\"use strict\";for(var t=\"qpzry9x8gf2tvdw0s3jn54khce6mua7l\",r={},n=0;n<32;n++){var s=t.charAt(n);if(void 0!==r[s])throw new TypeError(s+\" is ambiguous\");r[s]=n}function i(e){var t=e>>25;return(33554431&e)<<5^996825010&-(1&t)^642813549&-(t>>1&1)^513874426&-(t>>2&1)^1027748829&-(t>>3&1)^705979059&-(t>>4&1)}function o(e){for(var t=1,r=0;r<e.length;++r){var n=e.charCodeAt(r);if(n<33||n>126)return\"Invalid prefix (\"+e+\")\";t=i(t)^n>>5}for(t=i(t),r=0;r<e.length;++r){var s=e.charCodeAt(r);t=i(t)^31&s}return t}function a(e,t){if(t=t||90,e.length<8)return e+\" too short\";if(e.length>t)return\"Exceeds length limit\";var n=e.toLowerCase(),s=e.toUpperCase();if(e!==n&&e!==s)return\"Mixed-case string \"+e;var a=(e=n).lastIndexOf(\"1\");if(-1===a)return\"No separator character for \"+e;if(0===a)return\"Missing prefix for \"+e;var c=e.slice(0,a),l=e.slice(a+1);if(l.length<6)return\"Data too short\";var u=o(c);if(\"string\"==typeof u)return u;for(var d=[],h=0;h<l.length;++h){var f=l.charAt(h),p=r[f];if(void 0===p)return\"Unknown character \"+f;u=i(u)^p,h+6>=l.length||d.push(p)}return 1!==u?\"Invalid checksum for \"+e:{prefix:c,words:d}}function c(e,t,r,n){for(var s=0,i=0,o=(1<<r)-1,a=[],c=0;c<e.length;++c)for(s=s<<t|e[c],i+=t;i>=r;)i-=r,a.push(s>>i&o);if(n)i>0&&a.push(s<<r-i&o);else{if(i>=t)return\"Excess padding\";if(s<<r-i&o)return\"Non-zero padding\"}return a}e.exports={decodeUnsafe:function(){var e=a.apply(null,arguments);if(\"object\"==typeof e)return e},decode:function(e){var t=a.apply(null,arguments);if(\"object\"==typeof t)return t;throw new Error(t)},encode:function(e,r,n){if(n=n||90,e.length+7+r.length>n)throw new TypeError(\"Exceeds length limit\");var s=o(e=e.toLowerCase());if(\"string\"==typeof s)throw new Error(s);for(var a=e+\"1\",c=0;c<r.length;++c){var l=r[c];if(l>>5)throw new Error(\"Non 5-bit word\");s=i(s)^l,a+=t.charAt(l)}for(c=0;c<6;++c)s=i(s);for(s^=1,c=0;c<6;++c){a+=t.charAt(s>>5*(5-c)&31)}return a},toWordsUnsafe:function(e){var t=c(e,8,5,!0);if(Array.isArray(t))return t},toWords:function(e){var t=c(e,8,5,!0);if(Array.isArray(t))return t;throw new Error(t)},fromWordsUnsafe:function(e){var t=c(e,5,8,!1);if(Array.isArray(t))return t},fromWords:function(e){var t=c(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}}},1693(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.decodeSingle=t.decode=t.encodePacked=t.encodeSingle=t.encode=void 0;const n=r(7270),s=r(9520),i=r(5297);t.encode=(e,t,r,n)=>{try{return(0,i.pack)({types:e,values:t,packed:r,tight:n})}catch(e){if(e instanceof s.ParserError)throw new s.ParserError(`Unable to encode value: ${e.message}`,e);throw new s.ParserError(`An unexpected error occurred: ${(0,s.getErrorMessage)(e)}`,e)}};t.encodeSingle=(e,r)=>(0,t.encode)([e],[r]);t.encodePacked=(e,r,n)=>(0,t.encode)(e,r,!0,n);t.decode=(e,t)=>{const r=(0,n.createBytes)(t);try{return(0,i.unpack)(e,r)}catch(e){if(e instanceof s.ParserError)throw new s.ParserError(`Unable to decode value: ${e.message}`,e);throw new s.ParserError(`An unexpected error occurred: ${(0,s.getErrorMessage)(e)}`,e)}};t.decodeSingle=(e,r)=>{const i=(0,t.decode)([e],r);return(0,n.assert)(1===i.length,new s.ParserError(\"Decoded value array has unexpected length.\")),i[0]}},9520(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParserError=t.getErrorStack=t.getErrorMessage=void 0;const n=r(7270);t.getErrorMessage=e=>\"string\"==typeof e?e:e instanceof Error||(0,n.isObject)(e)&&(0,n.hasProperty)(e,\"message\")&&\"string\"==typeof e.message?e.message:\"Unknown error.\";t.getErrorStack=e=>{if(e instanceof Error)return e.stack};class s extends Error{constructor(e,r){super(e),this.name=\"ParserError\";const n=(0,t.getErrorStack)(r);n&&(this.stack=n)}}t.ParserError=s},8839(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),s(r(1693),t),s(r(9520),t),s(r(9693),t)},3201(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.iterate=void 0;const n=r(7270);t.iterate=function*(e,t=32){for(let r=0;r<e.length;r+=t){const s=e=>{(0,n.assert)(e>=0,\"Cannot skip a negative number of bytes.\"),(0,n.assert)(e%t===0,\"Length must be a multiple of the size.\"),r+=e},i=e.subarray(r);yield{skip:s,value:i}}return{skip:()=>{},value:new Uint8Array}}},5297(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.unpack=t.pack=t.isDynamicParser=t.getParser=void 0;const n=r(7270),s=r(9520),i=r(3201),o=r(4240),a=r(6769);t.getParser=e=>{const t={address:o.address,array:o.array,bool:o.bool,bytes:o.bytes,fixedBytes:o.fixedBytes,function:o.fn,number:o.number,string:o.string,tuple:o.tuple},r=t[e];if(r)return r;const n=Object.values(t).find(t=>t.isType(e));if(n)return n;throw new s.ParserError(`The type \"${e}\" is not supported.`)};t.isDynamicParser=(e,t)=>{const{isDynamic:r}=e;return\"function\"==typeof r?r(t):r};t.pack=({types:e,values:r,packed:i=!1,tight:o=!1,arrayPacked:c=!1,byteArray:l=new Uint8Array})=>{(0,n.assert)(e.length===r.length,new s.ParserError(`The number of types (${e.length}) does not match the number of values (${r.length}).`));const{staticBuffer:u,dynamicBuffer:d,pointers:h}=e.reduce(({staticBuffer:e,dynamicBuffer:s,pointers:a},l,u)=>{const d=(0,t.getParser)(l),h=r[u];if(i||c||!(0,t.isDynamicParser)(d,l))return{staticBuffer:d.encode({buffer:e,value:h,type:l,packed:i,tight:o}),dynamicBuffer:s,pointers:a};return{staticBuffer:(0,n.concatBytes)([e,new Uint8Array(32)]),dynamicBuffer:d.encode({buffer:s,value:h,type:l,packed:i,tight:o}),pointers:[...a,{position:e.length,pointer:s.length}]}},{staticBuffer:new Uint8Array,dynamicBuffer:new Uint8Array,pointers:[]});(0,n.assert)(!i&&!c||0===d.length,new s.ParserError(\"Invalid pack state.\"));const f=u.length,p=h.reduce((e,{pointer:t,position:r})=>{const s=(0,a.padStart)((0,n.numberToBytes)(f+t));return(0,a.set)(e,s,r)},u);return(0,n.concatBytes)([l,p,d])};t.unpack=(e,r)=>{const o=(0,i.iterate)(r);return e.map(e=>{const{value:{value:i,skip:a},done:c}=o.next();(0,n.assert)(!c,new s.ParserError(`The encoded value is invalid for the provided types. Reached end of buffer while attempting to parse \"${e}\".`));const l=(0,t.getParser)(e);if((0,t.isDynamicParser)(l,e)){const t=(0,n.bytesToNumber)(i.subarray(0,32)),s=r.subarray(t);return l.decode({type:e,value:s,skip:a})}return l.decode({type:e,value:i,skip:a})})}},9048(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.address=t.getAddress=void 0;const n=r(7270),s=r(9520),i=r(6769);t.getAddress=e=>{const t=(0,n.createBytes)(e);return(0,n.assert)(t.length<=20,new s.ParserError(`Invalid address value. Expected address to be 20 bytes long, but received ${t.length} bytes.`)),(0,i.padStart)(t,20)},t.address={isDynamic:!1,isType:e=>\"address\"===e,getByteLength:()=>32,encode({buffer:e,value:r,packed:s}){const o=(0,t.getAddress)(r);if(s)return(0,n.concatBytes)([e,o]);const a=(0,i.padStart)(o);return(0,n.concatBytes)([e,a])},decode:({value:e})=>(0,n.add0x)((0,n.bytesToHex)(e.slice(12,32)))}},4057(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.array=t.getTupleType=t.getArrayType=t.isArrayType=void 0;const n=r(7270),s=r(9520),i=r(5297),o=r(6769),a=r(3892),c=r(4226),l=/^(?<type>.*)\\[(?<length>\\d*?)\\]$/u;t.isArrayType=e=>l.test(e);t.getArrayType=e=>{const t=e.match(l);return(0,n.assert)(t?.groups?.type,new s.ParserError(`Invalid array type. Expected an array type, but received \"${e}\".`)),[t.groups.type,t.groups.length?parseInt(t.groups.length,10):void 0]};t.getTupleType=(e,t)=>`(${new Array(t).fill(e).join(\",\")})`,t.array={isDynamic(e){const[r,n]=(0,t.getArrayType)(e);return void 0===n||(0,i.isDynamicParser)((0,i.getParser)(r),r)},isType:e=>(0,t.isArrayType)(e),getByteLength(e){(0,n.assert)((0,t.isArrayType)(e),new s.ParserError(`Expected an array type, but received \"${e}\".`));const[r,o]=(0,t.getArrayType)(e);return(0,i.isDynamicParser)(this,e)||void 0===o?32:c.tuple.getByteLength((0,t.getTupleType)(r,o))},encode({type:e,buffer:r,value:l,packed:u,tight:d}){const[h,f]=(0,t.getArrayType)(e);if((0,n.assert)(!u||!(0,t.isArrayType)(h),new s.ParserError(\"Cannot pack nested arrays.\")),u&&(0,i.isDynamicParser)((0,i.getParser)(h),h))return(0,i.pack)({types:new Array(l.length).fill(h),values:l,byteArray:r,packed:u,arrayPacked:!0,tight:d});if(f)return(0,n.assert)(f===l.length,new s.ParserError(`Array length does not match type length. Expected a length of ${f}, but received ${l.length}.`)),c.tuple.encode({type:(0,t.getTupleType)(h,f),buffer:r,value:l,packed:a.fixedBytes.isType(h)&&d,tight:d});if(u)return(0,i.pack)({types:new Array(l.length).fill(h),values:l,byteArray:r,packed:a.fixedBytes.isType(h)&&d,arrayPacked:!0,tight:d});const p=(0,o.padStart)((0,n.numberToBytes)(l.length));return(0,i.pack)({types:new Array(l.length).fill(h),values:l,byteArray:(0,n.concatBytes)([r,p]),packed:u,tight:d})},decode({type:e,value:r,...o}){const[a,l]=(0,t.getArrayType)(e);if(l){const e=c.tuple.decode({type:(0,t.getTupleType)(a,l),value:r,...o});return(0,n.assert)(e.length===l,new s.ParserError(`Array length does not match type length. Expected a length of ${l}, but received ${e.length}.`)),e}const u=(0,n.bytesToNumber)(r.subarray(0,32));return(0,i.unpack)(new Array(u).fill(a),r.subarray(32))}}},6966(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.bool=t.getBooleanValue=void 0;const n=r(7093),s=r(7270),i=r(9520),o=r(367),a=(0,n.coerce)((0,n.boolean)(),(0,n.union)([(0,n.literal)(\"true\"),(0,n.literal)(\"false\")]),e=>\"true\"===e);t.getBooleanValue=e=>{try{return(0,n.create)(e,a)?BigInt(1):BigInt(0)}catch{throw new i.ParserError(`Invalid boolean value. Expected a boolean literal, or the string \"true\" or \"false\", but received \"${e}\".`)}},t.bool={isDynamic:!1,isType:e=>\"bool\"===e,getByteLength:()=>32,encode({buffer:e,value:r,packed:n,tight:i}){const a=(0,t.getBooleanValue)(r);return n?(0,s.concatBytes)([e,(0,s.bigIntToBytes)(a)]):o.number.encode({type:\"uint256\",buffer:e,value:a,packed:n,tight:i})},decode:e=>o.number.decode({...e,type:\"uint256\"})===BigInt(1)}},6771(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.bytes=void 0;const n=r(7270),s=r(6769);t.bytes={isDynamic:!0,isType:e=>\"bytes\"===e,getByteLength:()=>32,encode({buffer:e,value:t,packed:r}){const i=(0,n.createBytes)(t);if(r)return(0,n.concatBytes)([e,i]);const o=32*Math.ceil(i.byteLength/32);return(0,n.concatBytes)([e,(0,s.padStart)((0,n.numberToBytes)(i.byteLength)),(0,s.padEnd)(i,o)])},decode({value:e}){const t=e.subarray(0,32),r=(0,n.bytesToNumber)(t);return e.slice(32,32+r)}}},3892(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.fixedBytes=t.getByteLength=void 0;const n=r(7270),s=r(9520),i=r(6769),o=/^bytes([0-9]{1,2})$/u;t.getByteLength=e=>{const t=e.match(o)?.[1];(0,n.assert)(t,`Invalid byte length. Expected a number between 1 and 32, but received \"${e}\".`);const r=Number(t);return(0,n.assert)(r>0&&r<=32,new s.ParserError(`Invalid byte length. Expected a number between 1 and 32, but received \"${e}\".`)),r},t.fixedBytes={isDynamic:!1,isType:e=>o.test(e),getByteLength:()=>32,encode({type:e,buffer:r,value:o,packed:a}){const c=(0,t.getByteLength)(e),l=(0,n.createBytes)(o);return(0,n.assert)(l.length<=c,new s.ParserError(`Expected a value of length ${c}, but received a value of length ${l.length}.`)),a?(0,n.concatBytes)([r,(0,i.padEnd)(l,c)]):(0,n.concatBytes)([r,(0,i.padEnd)(l)])},decode({type:e,value:r}){const n=(0,t.getByteLength)(e);return r.slice(0,n)}}},5810(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.fn=t.getFunction=void 0;const n=r(7093),s=r(7270),i=r(9520),o=r(3892),a=(0,n.coerce)((0,n.object)({address:s.StrictHexStruct,selector:s.StrictHexStruct}),(0,n.union)([s.StrictHexStruct,(0,n.instance)(Uint8Array)]),e=>{const t=(0,s.createBytes)(e);return(0,s.assert)(24===t.length,new i.ParserError(`Invalid Solidity function. Expected function to be 24 bytes long, but received ${t.length} bytes.`)),{address:(0,s.bytesToHex)(t.subarray(0,20)),selector:(0,s.bytesToHex)(t.subarray(20,24))}});t.getFunction=e=>{const t=(0,n.create)(e,a);return(0,s.concatBytes)([(0,s.hexToBytes)(t.address),(0,s.hexToBytes)(t.selector)])},t.fn={isDynamic:!1,isType:e=>\"function\"===e,getByteLength:()=>32,encode({buffer:e,value:r,packed:n,tight:s}){const i=(0,t.getFunction)(r);return o.fixedBytes.encode({type:\"bytes24\",buffer:e,value:i,packed:n,tight:s})},decode:({value:e})=>({address:(0,s.bytesToHex)(e.slice(0,20)),selector:(0,s.bytesToHex)(e.slice(20,24))})}},4240(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),s(r(9048),t),s(r(4057),t),s(r(6966),t),s(r(6771),t),s(r(3892),t),s(r(5810),t),s(r(367),t),s(r(5845),t),s(r(4015),t),s(r(4226),t)},367(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.number=t.getBigInt=t.assertNumberLength=t.getLength=t.isSigned=void 0;const n=r(7270),s=r(9520),i=r(6769),o=/^u?int(?<length>[0-9]*)?$/u;t.isSigned=e=>!e.startsWith(\"u\");t.getLength=e=>{if(\"int\"===e||\"uint\"===e)return 256;const t=e.match(o);(0,n.assert)(t?.groups?.length,new s.ParserError(`Invalid number type. Expected a number type, but received \"${e}\".`));const r=parseInt(t.groups.length,10);return(0,n.assert)(r>=8&&r<=256,new s.ParserError(`Invalid number length. Expected a number between 8 and 256, but received \"${e}\".`)),(0,n.assert)(r%8==0,new s.ParserError(`Invalid number length. Expected a multiple of 8, but received \"${e}\".`)),r};t.assertNumberLength=(e,r)=>{const i=(0,t.getLength)(r),o=BigInt(2)**BigInt(i-((0,t.isSigned)(r)?1:0))-BigInt(1);(0,t.isSigned)(r)?(0,n.assert)(e>=-(o+BigInt(1))&&e<=o,new s.ParserError(`Number \"${e}\" is out of range for type \"${r}\".`)):(0,n.assert)(e<=o,new s.ParserError(`Number \"${e}\" is out of range for type \"${r}\".`))};t.getBigInt=e=>{try{return(0,n.createBigInt)(e)}catch{throw new s.ParserError(`Invalid number. Expected a valid number value, but received \"${e}\".`)}},t.number={isDynamic:!1,isType:e=>o.test(e),getByteLength:()=>32,encode({type:e,buffer:r,value:s,packed:o}){const a=(0,t.getBigInt)(s);if((0,t.assertNumberLength)(a,e),(0,t.isSigned)(e)){if(o){const s=(0,t.getLength)(e)/8;return(0,n.concatBytes)([r,(0,n.signedBigIntToBytes)(a,s)])}return(0,n.concatBytes)([r,(0,i.padStart)((0,n.signedBigIntToBytes)(a,32))])}if(o){const s=(0,t.getLength)(e)/8;return(0,n.concatBytes)([r,(0,i.padStart)((0,n.bigIntToBytes)(a),s)])}return(0,n.concatBytes)([r,(0,i.padStart)((0,n.bigIntToBytes)(a))])},decode({type:e,value:r}){const s=r.subarray(0,32);if((0,t.isSigned)(e)){const r=(0,n.bytesToSignedBigInt)(s);return(0,t.assertNumberLength)(r,e),r}const i=(0,n.bytesToBigInt)(s);return(0,t.assertNumberLength)(i,e),i}}},5845(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0})},4015(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.string=void 0;const n=r(7270),s=r(6771);t.string={isDynamic:!0,isType:e=>\"string\"===e,getByteLength:()=>32,encode:({buffer:e,value:t,packed:r,tight:i})=>s.bytes.encode({type:\"bytes\",buffer:e,value:(0,n.stringToBytes)(t),packed:r,tight:i}),decode:e=>(0,n.bytesToString)(s.bytes.decode(e))}},4226(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.tuple=t.getTupleElements=void 0;const n=r(7270),s=r(9520),i=r(5297),o=/^\\((.+)\\)$/u;t.getTupleElements=e=>{(0,n.assert)(e.startsWith(\"(\")&&e.endsWith(\")\"),new s.ParserError(`Invalid tuple type. Expected tuple type, but received \"${e}\".`));const t=[];let r=\"\",i=0;for(let n=1;n<e.length-1;n++){const s=e[n];\",\"===s&&0===i?(t.push(r.trim()),r=\"\"):(r+=s,\"(\"===s?i+=1:\")\"===s&&(i-=1))}return r.trim()&&t.push(r.trim()),t},t.tuple={isDynamic:e=>(0,t.getTupleElements)(e).some(e=>{const t=(0,i.getParser)(e);return(0,i.isDynamicParser)(t,e)}),isType:e=>(e=>o.test(e))(e),getByteLength(e){if((0,i.isDynamicParser)(this,e))return 32;return(0,t.getTupleElements)(e).reduce((e,t)=>e+(0,i.getParser)(t).getByteLength(t),0)},encode({type:e,buffer:r,value:n,packed:s,tight:o}){const a=(0,t.getTupleElements)(e);return(0,i.pack)({types:a,values:n,byteArray:r,packed:s,tight:o})},decode({type:e,value:r,skip:n}){const s=(0,t.getTupleElements)(e);return n(this.getByteLength(e)-32),(0,i.unpack)(s,r)}}},3363(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0})},9693(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),s(r(3363),t)},5939(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.padEnd=t.padStart=t.set=void 0;const n=r(7270);t.set=(e,t,r)=>(0,n.concatBytes)([e.subarray(0,r),t,e.subarray(r+t.length)]);t.padStart=(e,t=32)=>{const r=new Uint8Array(Math.max(t-e.length,0)).fill(0);return(0,n.concatBytes)([r,e])};t.padEnd=(e,t=32)=>{const r=new Uint8Array(Math.max(t-e.length,0)).fill(0);return(0,n.concatBytes)([e,r])}},6769(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),s(r(5939),t)},6423(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SHA512_IV=t.SHA384_IV=t.SHA224_IV=t.SHA256_IV=t.HashMD=void 0,t.setBigUint64=s,t.Chi=function(e,t,r){return e&t^~e&r},t.Maj=function(e,t,r){return e&t^e&r^t&r};const n=r(9074);function s(e,t,r,n){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,r,n);const s=BigInt(32),i=BigInt(4294967295),o=Number(r>>s&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+l,a,n)}class i extends n.Hash{constructor(e,t,r,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(e),this.view=(0,n.createView)(this.buffer)}update(e){(0,n.aexists)(this),e=(0,n.toBytes)(e),(0,n.abytes)(e);const{view:t,buffer:r,blockLen:s}=this,i=e.length;for(let o=0;o<i;){const a=Math.min(s-this.pos,i-o);if(a===s){const t=(0,n.createView)(e);for(;s<=i-o;o+=s)this.process(t,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){(0,n.aexists)(this),(0,n.aoutput)(e,this),this.finished=!0;const{buffer:t,view:r,blockLen:i,isLE:o}=this;let{pos:a}=this;t[a++]=128,(0,n.clean)(this.buffer.subarray(a)),this.padOffset>i-a&&(this.process(r,0),a=0);for(let e=a;e<i;e++)t[e]=0;s(r,i-8,BigInt(8*this.length),o),this.process(r,0);const c=(0,n.createView)(e),l=this.outputLen;if(l%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const u=l/4,d=this.get();if(u>d.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let e=0;e<u;e++)c.setUint32(4*e,d[e],o)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:r,length:n,finished:s,destroyed:i,pos:o}=this;return e.destroyed=i,e.finished=s,e.length=n,e.pos=o,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}}t.HashMD=i,t.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),t.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),t.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),t.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])},8081(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.toBig=t.shrSL=t.shrSH=t.rotrSL=t.rotrSH=t.rotrBL=t.rotrBH=t.rotr32L=t.rotr32H=t.rotlSL=t.rotlSH=t.rotlBL=t.rotlBH=t.add5L=t.add5H=t.add4L=t.add4H=t.add3L=t.add3H=void 0,t.add=v,t.fromBig=s,t.split=i;const r=BigInt(2**32-1),n=BigInt(32);function s(e,t=!1){return t?{h:Number(e&r),l:Number(e>>n&r)}:{h:0|Number(e>>n&r),l:0|Number(e&r)}}function i(e,t=!1){const r=e.length;let n=new Uint32Array(r),i=new Uint32Array(r);for(let o=0;o<r;o++){const{h:r,l:a}=s(e[o],t);[n[o],i[o]]=[r,a]}return[n,i]}const o=(e,t)=>BigInt(e>>>0)<<n|BigInt(t>>>0);t.toBig=o;const a=(e,t,r)=>e>>>r;t.shrSH=a;const c=(e,t,r)=>e<<32-r|t>>>r;t.shrSL=c;const l=(e,t,r)=>e>>>r|t<<32-r;t.rotrSH=l;const u=(e,t,r)=>e<<32-r|t>>>r;t.rotrSL=u;const d=(e,t,r)=>e<<64-r|t>>>r-32;t.rotrBH=d;const h=(e,t,r)=>e>>>r-32|t<<64-r;t.rotrBL=h;const f=(e,t)=>t;t.rotr32H=f;const p=(e,t)=>e;t.rotr32L=p;const m=(e,t,r)=>e<<r|t>>>32-r;t.rotlSH=m;const g=(e,t,r)=>t<<r|e>>>32-r;t.rotlSL=g;const y=(e,t,r)=>t<<r-32|e>>>64-r;t.rotlBH=y;const b=(e,t,r)=>e<<r-32|t>>>64-r;function v(e,t,r,n){const s=(t>>>0)+(n>>>0);return{h:e+r+(s/2**32|0)|0,l:0|s}}t.rotlBL=b;const w=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);t.add3L=w;const A=(e,t,r,n)=>t+r+n+(e/2**32|0)|0;t.add3H=A;const E=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0);t.add4L=E;const x=(e,t,r,n,s)=>t+r+n+s+(e/2**32|0)|0;t.add4H=x;const T=(e,t,r,n,s)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(s>>>0);t.add5L=T;const k=(e,t,r,n,s,i)=>t+r+n+s+i+(e/2**32|0)|0;t.add5H=k;const S={fromBig:s,split:i,toBig:o,shrSH:a,shrSL:c,rotrSH:l,rotrSL:u,rotrBH:d,rotrBL:h,rotr32H:f,rotr32L:p,rotlSH:m,rotlSL:g,rotlBH:y,rotlBL:b,add:v,add3L:w,add3H:A,add4L:E,add4H:x,add5H:k,add5L:T};t.default=S},6910(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.crypto=void 0,t.crypto=\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0},4599(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.sha512_224=t.sha512_256=t.sha384=t.sha512=t.sha224=t.sha256=t.SHA512_256=t.SHA512_224=t.SHA384=t.SHA512=t.SHA224=t.SHA256=void 0;const n=r(6423),s=r(8081),i=r(9074),o=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),a=new Uint32Array(64);class c extends n.HashMD{constructor(e=32){super(64,e,8,!1),this.A=0|n.SHA256_IV[0],this.B=0|n.SHA256_IV[1],this.C=0|n.SHA256_IV[2],this.D=0|n.SHA256_IV[3],this.E=0|n.SHA256_IV[4],this.F=0|n.SHA256_IV[5],this.G=0|n.SHA256_IV[6],this.H=0|n.SHA256_IV[7]}get(){const{A:e,B:t,C:r,D:n,E:s,F:i,G:o,H:a}=this;return[e,t,r,n,s,i,o,a]}set(e,t,r,n,s,i,o,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|s,this.F=0|i,this.G=0|o,this.H=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)a[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=a[e-15],r=a[e-2],n=(0,i.rotr)(t,7)^(0,i.rotr)(t,18)^t>>>3,s=(0,i.rotr)(r,17)^(0,i.rotr)(r,19)^r>>>10;a[e]=s+a[e-7]+n+a[e-16]|0}let{A:r,B:s,C:c,D:l,E:u,F:d,G:h,H:f}=this;for(let e=0;e<64;e++){const t=f+((0,i.rotr)(u,6)^(0,i.rotr)(u,11)^(0,i.rotr)(u,25))+(0,n.Chi)(u,d,h)+o[e]+a[e]|0,p=((0,i.rotr)(r,2)^(0,i.rotr)(r,13)^(0,i.rotr)(r,22))+(0,n.Maj)(r,s,c)|0;f=h,h=d,d=u,u=l+t|0,l=c,c=s,s=r,r=t+p|0}r=r+this.A|0,s=s+this.B|0,c=c+this.C|0,l=l+this.D|0,u=u+this.E|0,d=d+this.F|0,h=h+this.G|0,f=f+this.H|0,this.set(r,s,c,l,u,d,h,f)}roundClean(){(0,i.clean)(a)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,i.clean)(this.buffer)}}t.SHA256=c;class l extends c{constructor(){super(28),this.A=0|n.SHA224_IV[0],this.B=0|n.SHA224_IV[1],this.C=0|n.SHA224_IV[2],this.D=0|n.SHA224_IV[3],this.E=0|n.SHA224_IV[4],this.F=0|n.SHA224_IV[5],this.G=0|n.SHA224_IV[6],this.H=0|n.SHA224_IV[7]}}t.SHA224=l;const u=s.split([\"0x428a2f98d728ae22\",\"0x7137449123ef65cd\",\"0xb5c0fbcfec4d3b2f\",\"0xe9b5dba58189dbbc\",\"0x3956c25bf348b538\",\"0x59f111f1b605d019\",\"0x923f82a4af194f9b\",\"0xab1c5ed5da6d8118\",\"0xd807aa98a3030242\",\"0x12835b0145706fbe\",\"0x243185be4ee4b28c\",\"0x550c7dc3d5ffb4e2\",\"0x72be5d74f27b896f\",\"0x80deb1fe3b1696b1\",\"0x9bdc06a725c71235\",\"0xc19bf174cf692694\",\"0xe49b69c19ef14ad2\",\"0xefbe4786384f25e3\",\"0x0fc19dc68b8cd5b5\",\"0x240ca1cc77ac9c65\",\"0x2de92c6f592b0275\",\"0x4a7484aa6ea6e483\",\"0x5cb0a9dcbd41fbd4\",\"0x76f988da831153b5\",\"0x983e5152ee66dfab\",\"0xa831c66d2db43210\",\"0xb00327c898fb213f\",\"0xbf597fc7beef0ee4\",\"0xc6e00bf33da88fc2\",\"0xd5a79147930aa725\",\"0x06ca6351e003826f\",\"0x142929670a0e6e70\",\"0x27b70a8546d22ffc\",\"0x2e1b21385c26c926\",\"0x4d2c6dfc5ac42aed\",\"0x53380d139d95b3df\",\"0x650a73548baf63de\",\"0x766a0abb3c77b2a8\",\"0x81c2c92e47edaee6\",\"0x92722c851482353b\",\"0xa2bfe8a14cf10364\",\"0xa81a664bbc423001\",\"0xc24b8b70d0f89791\",\"0xc76c51a30654be30\",\"0xd192e819d6ef5218\",\"0xd69906245565a910\",\"0xf40e35855771202a\",\"0x106aa07032bbd1b8\",\"0x19a4c116b8d2d0c8\",\"0x1e376c085141ab53\",\"0x2748774cdf8eeb99\",\"0x34b0bcb5e19b48a8\",\"0x391c0cb3c5c95a63\",\"0x4ed8aa4ae3418acb\",\"0x5b9cca4f7763e373\",\"0x682e6ff3d6b2b8a3\",\"0x748f82ee5defb2fc\",\"0x78a5636f43172f60\",\"0x84c87814a1f0ab72\",\"0x8cc702081a6439ec\",\"0x90befffa23631e28\",\"0xa4506cebde82bde9\",\"0xbef9a3f7b2c67915\",\"0xc67178f2e372532b\",\"0xca273eceea26619c\",\"0xd186b8c721c0c207\",\"0xeada7dd6cde0eb1e\",\"0xf57d4f7fee6ed178\",\"0x06f067aa72176fba\",\"0x0a637dc5a2c898a6\",\"0x113f9804bef90dae\",\"0x1b710b35131c471b\",\"0x28db77f523047d84\",\"0x32caab7b40c72493\",\"0x3c9ebe0a15c9bebc\",\"0x431d67c49c100d4c\",\"0x4cc5d4becb3e42b6\",\"0x597f299cfc657e2a\",\"0x5fcb6fab3ad6faec\",\"0x6c44198c4a475817\"].map(e=>BigInt(e))),d=u[0],h=u[1],f=new Uint32Array(80),p=new Uint32Array(80);class m extends n.HashMD{constructor(e=64){super(128,e,16,!1),this.Ah=0|n.SHA512_IV[0],this.Al=0|n.SHA512_IV[1],this.Bh=0|n.SHA512_IV[2],this.Bl=0|n.SHA512_IV[3],this.Ch=0|n.SHA512_IV[4],this.Cl=0|n.SHA512_IV[5],this.Dh=0|n.SHA512_IV[6],this.Dl=0|n.SHA512_IV[7],this.Eh=0|n.SHA512_IV[8],this.El=0|n.SHA512_IV[9],this.Fh=0|n.SHA512_IV[10],this.Fl=0|n.SHA512_IV[11],this.Gh=0|n.SHA512_IV[12],this.Gl=0|n.SHA512_IV[13],this.Hh=0|n.SHA512_IV[14],this.Hl=0|n.SHA512_IV[15]}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:s,Cl:i,Dh:o,Dl:a,Eh:c,El:l,Fh:u,Fl:d,Gh:h,Gl:f,Hh:p,Hl:m}=this;return[e,t,r,n,s,i,o,a,c,l,u,d,h,f,p,m]}set(e,t,r,n,s,i,o,a,c,l,u,d,h,f,p,m){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|s,this.Cl=0|i,this.Dh=0|o,this.Dl=0|a,this.Eh=0|c,this.El=0|l,this.Fh=0|u,this.Fl=0|d,this.Gh=0|h,this.Gl=0|f,this.Hh=0|p,this.Hl=0|m}process(e,t){for(let r=0;r<16;r++,t+=4)f[r]=e.getUint32(t),p[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|f[e-15],r=0|p[e-15],n=s.rotrSH(t,r,1)^s.rotrSH(t,r,8)^s.shrSH(t,r,7),i=s.rotrSL(t,r,1)^s.rotrSL(t,r,8)^s.shrSL(t,r,7),o=0|f[e-2],a=0|p[e-2],c=s.rotrSH(o,a,19)^s.rotrBH(o,a,61)^s.shrSH(o,a,6),l=s.rotrSL(o,a,19)^s.rotrBL(o,a,61)^s.shrSL(o,a,6),u=s.add4L(i,l,p[e-7],p[e-16]),d=s.add4H(u,n,c,f[e-7],f[e-16]);f[e]=0|d,p[e]=0|u}let{Ah:r,Al:n,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:u,Eh:m,El:g,Fh:y,Fl:b,Gh:v,Gl:w,Hh:A,Hl:E}=this;for(let e=0;e<80;e++){const t=s.rotrSH(m,g,14)^s.rotrSH(m,g,18)^s.rotrBH(m,g,41),x=s.rotrSL(m,g,14)^s.rotrSL(m,g,18)^s.rotrBL(m,g,41),T=m&y^~m&v,k=g&b^~g&w,S=s.add5L(E,x,k,h[e],p[e]),C=s.add5H(S,A,t,T,d[e],f[e]),I=0|S,P=s.rotrSH(r,n,28)^s.rotrBH(r,n,34)^s.rotrBH(r,n,39),M=s.rotrSL(r,n,28)^s.rotrBL(r,n,34)^s.rotrBL(r,n,39),R=r&i^r&a^i&a,B=n&o^n&c^o&c;A=0|v,E=0|w,v=0|y,w=0|b,y=0|m,b=0|g,({h:m,l:g}=s.add(0|l,0|u,0|C,0|I)),l=0|a,u=0|c,a=0|i,c=0|o,i=0|r,o=0|n;const N=s.add3L(I,M,B);r=s.add3H(N,C,P,R),n=0|N}({h:r,l:n}=s.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:o}=s.add(0|this.Bh,0|this.Bl,0|i,0|o)),({h:a,l:c}=s.add(0|this.Ch,0|this.Cl,0|a,0|c)),({h:l,l:u}=s.add(0|this.Dh,0|this.Dl,0|l,0|u)),({h:m,l:g}=s.add(0|this.Eh,0|this.El,0|m,0|g)),({h:y,l:b}=s.add(0|this.Fh,0|this.Fl,0|y,0|b)),({h:v,l:w}=s.add(0|this.Gh,0|this.Gl,0|v,0|w)),({h:A,l:E}=s.add(0|this.Hh,0|this.Hl,0|A,0|E)),this.set(r,n,i,o,a,c,l,u,m,g,y,b,v,w,A,E)}roundClean(){(0,i.clean)(f,p)}destroy(){(0,i.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}t.SHA512=m;class g extends m{constructor(){super(48),this.Ah=0|n.SHA384_IV[0],this.Al=0|n.SHA384_IV[1],this.Bh=0|n.SHA384_IV[2],this.Bl=0|n.SHA384_IV[3],this.Ch=0|n.SHA384_IV[4],this.Cl=0|n.SHA384_IV[5],this.Dh=0|n.SHA384_IV[6],this.Dl=0|n.SHA384_IV[7],this.Eh=0|n.SHA384_IV[8],this.El=0|n.SHA384_IV[9],this.Fh=0|n.SHA384_IV[10],this.Fl=0|n.SHA384_IV[11],this.Gh=0|n.SHA384_IV[12],this.Gl=0|n.SHA384_IV[13],this.Hh=0|n.SHA384_IV[14],this.Hl=0|n.SHA384_IV[15]}}t.SHA384=g;const y=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),b=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class v extends m{constructor(){super(28),this.Ah=0|y[0],this.Al=0|y[1],this.Bh=0|y[2],this.Bl=0|y[3],this.Ch=0|y[4],this.Cl=0|y[5],this.Dh=0|y[6],this.Dl=0|y[7],this.Eh=0|y[8],this.El=0|y[9],this.Fh=0|y[10],this.Fl=0|y[11],this.Gh=0|y[12],this.Gl=0|y[13],this.Hh=0|y[14],this.Hl=0|y[15]}}t.SHA512_224=v;class w extends m{constructor(){super(32),this.Ah=0|b[0],this.Al=0|b[1],this.Bh=0|b[2],this.Bl=0|b[3],this.Ch=0|b[4],this.Cl=0|b[5],this.Dh=0|b[6],this.Dl=0|b[7],this.Eh=0|b[8],this.El=0|b[9],this.Fh=0|b[10],this.Fl=0|b[11],this.Gh=0|b[12],this.Gl=0|b[13],this.Hh=0|b[14],this.Hl=0|b[15]}}t.SHA512_256=w,t.sha256=(0,i.createHasher)(()=>new c),t.sha224=(0,i.createHasher)(()=>new l),t.sha512=(0,i.createHasher)(()=>new m),t.sha384=(0,i.createHasher)(()=>new g),t.sha512_256=(0,i.createHasher)(()=>new w),t.sha512_224=(0,i.createHasher)(()=>new v)},9688(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.sha224=t.SHA224=t.sha256=t.SHA256=void 0;const n=r(4599);t.SHA256=n.SHA256,t.sha256=n.sha256,t.SHA224=n.SHA224,t.sha224=n.sha224},448(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.shake256=t.shake128=t.keccak_512=t.keccak_384=t.keccak_256=t.keccak_224=t.sha3_512=t.sha3_384=t.sha3_256=t.sha3_224=t.Keccak=void 0,t.keccakP=v;const n=r(8081),s=r(9074),i=BigInt(0),o=BigInt(1),a=BigInt(2),c=BigInt(7),l=BigInt(256),u=BigInt(113),d=[],h=[],f=[];for(let e=0,t=o,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],d.push(2*(5*n+r)),h.push((e+1)*(e+2)/2%64);let s=i;for(let e=0;e<7;e++)t=(t<<o^(t>>c)*u)%l,t&a&&(s^=o<<(o<<BigInt(e))-o);f.push(s)}const p=(0,n.split)(f,!0),m=p[0],g=p[1],y=(e,t,r)=>r>32?(0,n.rotlBH)(e,t,r):(0,n.rotlSH)(e,t,r),b=(e,t,r)=>r>32?(0,n.rotlBL)(e,t,r):(0,n.rotlSL)(e,t,r);function v(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const n=(t+8)%10,s=(t+2)%10,i=r[s],o=r[s+1],a=y(i,o,1)^r[n],c=b(i,o,1)^r[n+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],s=e[3];for(let r=0;r<24;r++){const n=h[r],i=y(t,s,n),o=b(t,s,n),a=d[r];t=e[a],s=e[a+1],e[a]=i,e[a+1]=o}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=m[n],e[1]^=g[n]}(0,s.clean)(r)}class w extends s.Hash{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,(0,s.anumber)(r),!(0<e&&e<200))throw new Error(\"only keccak-f1600 function is supported\");this.state=new Uint8Array(200),this.state32=(0,s.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,s.swap32IfBE)(this.state32),v(this.state32,this.rounds),(0,s.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(e){(0,s.aexists)(this),e=(0,s.toBytes)(e),(0,s.abytes)(e);const{blockLen:t,state:r}=this,n=e.length;for(let s=0;s<n;){const i=Math.min(t-this.pos,n-s);for(let t=0;t<i;t++)r[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:n}=this;e[r]^=t,128&t&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak()}writeInto(e){(0,s.aexists)(this,!1),(0,s.abytes)(e),this.finish();const t=this.state,{blockLen:r}=this;for(let n=0,s=e.length;n<s;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,s-n);e.set(t.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return e}xofInto(e){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(e)}xof(e){return(0,s.anumber)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,s.aoutput)(e,this),this.finished)throw new Error(\"digest() was already called\");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,s.clean)(this.state)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:s,enableXOF:i}=this;return e||(e=new w(t,r,n,i,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=n,e.enableXOF=i,e.destroyed=this.destroyed,e}}t.Keccak=w;const A=(e,t,r)=>(0,s.createHasher)(()=>new w(t,e,r));t.sha3_224=A(6,144,28),t.sha3_256=A(6,136,32),t.sha3_384=A(6,104,48),t.sha3_512=A(6,72,64),t.keccak_224=A(1,144,28),t.keccak_256=A(1,136,32),t.keccak_384=A(1,104,48),t.keccak_512=A(1,72,64);const E=(e,t,r)=>(0,s.createXOFer)((n={})=>new w(t,e,void 0===n.dkLen?r:n.dkLen,!0));t.shake128=E(31,168,16),t.shake256=E(31,136,32)},9074(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.wrapXOFConstructorWithOpts=t.wrapConstructorWithOpts=t.wrapConstructor=t.Hash=t.nextTick=t.swap32IfBE=t.byteSwapIfBE=t.swap8IfBE=t.isLE=void 0,t.isBytes=s,t.anumber=i,t.abytes=o,t.ahash=function(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw new Error(\"Hash should be wrapped by utils.createHasher\");i(e.outputLen),i(e.blockLen)},t.aexists=function(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")},t.aoutput=function(e,t){o(e);const r=t.outputLen;if(e.length<r)throw new Error(\"digestInto() expects output buffer of length at least \"+r)},t.u8=function(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},t.u32=function(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))},t.clean=function(...e){for(let t=0;t<e.length;t++)e[t].fill(0)},t.createView=function(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)},t.rotr=function(e,t){return e<<32-t|e>>>t},t.rotl=function(e,t){return e<<t|e>>>32-t>>>0},t.byteSwap=a,t.byteSwap32=c,t.bytesToHex=function(e){if(o(e),l)return e.toHex();let t=\"\";for(let r=0;r<e.length;r++)t+=u[e[r]];return t},t.hexToBytes=function(e){if(\"string\"!=typeof e)throw new Error(\"hex string expected, got \"+typeof e);if(l)return Uint8Array.fromHex(e);const t=e.length,r=t/2;if(t%2)throw new Error(\"hex string expected, got unpadded hex of length \"+t);const n=new Uint8Array(r);for(let t=0,s=0;t<r;t++,s+=2){const r=y(e.charCodeAt(s)),i=y(e.charCodeAt(s+1));if(void 0===r||void 0===i){const t=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character \"'+t+'\" at index '+s)}n[t]=16*r+i}return n},t.asyncLoop=async function(e,r,n){let s=Date.now();for(let i=0;i<e;i++){n(i);const e=Date.now()-s;e>=0&&e<r||(await(0,t.nextTick)(),s+=e)}},t.utf8ToBytes=b,t.bytesToUtf8=function(e){return(new TextDecoder).decode(e)},t.toBytes=v,t.kdfInputToBytes=function(e){\"string\"==typeof e&&(e=b(e));return o(e),e},t.concatBytes=function(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];o(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const s=e[t];r.set(s,n),n+=s.length}return r},t.checkOpts=function(e,t){if(void 0!==t&&\"[object Object]\"!=={}.toString.call(t))throw new Error(\"options should be object or undefined\");return Object.assign(e,t)},t.createHasher=w,t.createOptHasher=A,t.createXOFer=E,t.randomBytes=function(e=32){if(n.crypto&&\"function\"==typeof n.crypto.getRandomValues)return n.crypto.getRandomValues(new Uint8Array(e));if(n.crypto&&\"function\"==typeof n.crypto.randomBytes)return Uint8Array.from(n.crypto.randomBytes(e));throw new Error(\"crypto.getRandomValues must be defined\")};const n=r(6910);function s(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&\"Uint8Array\"===e.constructor.name}function i(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(\"positive integer expected, got \"+e)}function o(e,...t){if(!s(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function a(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function c(e){for(let t=0;t<e.length;t++)e[t]=a(e[t]);return e}t.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],t.swap8IfBE=t.isLE?e=>e:e=>a(e),t.byteSwapIfBE=t.swap8IfBE,t.swap32IfBE=t.isLE?e=>e:c;const l=\"function\"==typeof Uint8Array.from([]).toHex&&\"function\"==typeof Uint8Array.fromHex,u=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));const d=48,h=57,f=65,p=70,m=97,g=102;function y(e){return e>=d&&e<=h?e-d:e>=f&&e<=p?e-(f-10):e>=m&&e<=g?e-(m-10):void 0}function b(e){if(\"string\"!=typeof e)throw new Error(\"string expected\");return new Uint8Array((new TextEncoder).encode(e))}function v(e){return\"string\"==typeof e&&(e=b(e)),o(e),e}t.nextTick=async()=>{};function w(e){const t=t=>e().update(v(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function A(e){const t=(t,r)=>e(r).update(v(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}function E(e){const t=(t,r)=>e(r).update(v(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}t.Hash=class{},t.wrapConstructor=w,t.wrapConstructorWithOpts=A,t.wrapXOFConstructorWithOpts=E},6710(e,t){\"use strict\";function r(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&\"Uint8Array\"===e.constructor.name}function n(e,...t){if(!r(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function s(e,t){return!!Array.isArray(t)&&(0===t.length||(e?t.every(e=>\"string\"==typeof e):t.every(e=>Number.isSafeInteger(e))))}function i(e){if(\"function\"!=typeof e)throw new Error(\"function expected\");return!0}function o(e,t){if(\"string\"!=typeof t)throw new Error(`${e}: string expected`);return!0}function a(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function c(e){if(!Array.isArray(e))throw new Error(\"array expected\")}function l(e,t){if(!s(!0,t))throw new Error(`${e}: array of strings expected`)}function u(e,t){if(!s(!1,t))throw new Error(`${e}: array of numbers expected`)}function d(...e){const t=e=>e,r=(e,t)=>r=>e(t(r));return{encode:e.map(e=>e.encode).reduceRight(r,t),decode:e.map(e=>e.decode).reduce(r,t)}}function h(e){const t=\"string\"==typeof e?e.split(\"\"):e,r=t.length;l(\"alphabet\",t);const n=new Map(t.map((e,t)=>[e,t]));return{encode:n=>(c(n),n.map(n=>{if(!Number.isSafeInteger(n)||n<0||n>=r)throw new Error(`alphabet.encode: digit index outside alphabet \"${n}\". Allowed: ${e}`);return t[n]})),decode:t=>(c(t),t.map(t=>{o(\"alphabet.decode\",t);const r=n.get(t);if(void 0===r)throw new Error(`Unknown letter: \"${t}\". Allowed: ${e}`);return r}))}}function f(e=\"\"){return o(\"join\",e),{encode:t=>(l(\"join.decode\",t),t.join(e)),decode:t=>(o(\"join.decode\",t),t.split(e))}}function p(e,t=\"=\"){return a(e),o(\"padding\",t),{encode(r){for(l(\"padding.encode\",r);r.length*e%8;)r.push(t);return r},decode(r){l(\"padding.decode\",r);let n=r.length;if(n*e%8)throw new Error(\"padding: invalid, string should have whole number of bytes\");for(;n>0&&r[n-1]===t;n--){if((n-1)*e%8==0)throw new Error(\"padding: invalid, string has too much padding\")}return r.slice(0,n)}}}function m(e){return i(e),{encode:e=>e,decode:t=>e(t)}}function g(e,t,r){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(r<2)throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(c(e),!e.length)return[];let n=0;const s=[],i=Array.from(e,e=>{if(a(e),e<0||e>=t)throw new Error(`invalid integer: ${e}`);return e}),o=i.length;for(;;){let e=0,a=!0;for(let s=n;s<o;s++){const o=i[s],c=t*e,l=c+o;if(!Number.isSafeInteger(l)||c/t!==e||l-o!==c)throw new Error(\"convertRadix: carry overflow\");const u=l/r;e=l%r;const d=Math.floor(u);if(i[s]=d,!Number.isSafeInteger(d)||d*r+e!==l)throw new Error(\"convertRadix: carry overflow\");a&&(d?a=!1:n=s)}if(s.push(e),a)break}for(let t=0;t<e.length-1&&0===e[t];t++)s.push(0);return s.reverse()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.bytes=t.stringToBytes=t.str=t.bytesToString=t.hex=t.utf8=t.bech32m=t.bech32=t.base58check=t.createBase58check=t.base58xmr=t.base58xrp=t.base58flickr=t.base58=t.base64urlnopad=t.base64url=t.base64nopad=t.base64=t.base32crockford=t.base32hexnopad=t.base32hex=t.base32nopad=t.base32=t.base16=t.utils=void 0;const y=(e,t)=>0===t?e:y(t,e%t),b=(e,t)=>e+(t-y(e,t)),v=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function w(e,t,r,n){if(c(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(b(t,r)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${b(t,r)}`);let s=0,i=0;const o=v[t],l=v[r]-1,u=[];for(const n of e){if(a(n),n>=o)throw new Error(`convertRadix2: invalid data word=${n} from=${t}`);if(s=s<<t|n,i+t>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=r;i-=r)u.push((s>>i-r&l)>>>0);const e=v[i];if(void 0===e)throw new Error(\"invalid carry\");s&=e-1}if(s=s<<r-i&l,!n&&i>=t)throw new Error(\"Excess padding\");if(!n&&s>0)throw new Error(`Non-zero padding: ${s}`);return n&&i>0&&u.push(s>>>0),u}function A(e){a(e);return{encode:t=>{if(!r(t))throw new Error(\"radix.encode input should be Uint8Array\");return g(Array.from(t),256,e)},decode:t=>(u(\"radix.decode\",t),Uint8Array.from(g(t,e,256)))}}function E(e,t=!1){if(a(e),e<=0||e>32)throw new Error(\"radix2: bits should be in (0..32]\");if(b(8,e)>32||b(e,8)>32)throw new Error(\"radix2: carry overflow\");return{encode:n=>{if(!r(n))throw new Error(\"radix2.encode input should be Uint8Array\");return w(Array.from(n),8,e,!t)},decode:r=>(u(\"radix2.decode\",r),Uint8Array.from(w(r,e,8,t)))}}function x(e){return i(e),function(...t){try{return e.apply(null,t)}catch(e){}}}function T(e,t){return a(e),i(t),{encode(n){if(!r(n))throw new Error(\"checksum.encode: input should be Uint8Array\");const s=t(n).slice(0,e),i=new Uint8Array(n.length+e);return i.set(n),i.set(s,n.length),i},decode(n){if(!r(n))throw new Error(\"checksum.decode: input should be Uint8Array\");const s=n.slice(0,-e),i=n.slice(-e),o=t(s).slice(0,e);for(let t=0;t<e;t++)if(o[t]!==i[t])throw new Error(\"Invalid checksum\");return s}}}t.utils={alphabet:h,chain:d,checksum:T,convertRadix:g,convertRadix2:w,radix:A,radix2:E,join:f,padding:p},t.base16=d(E(4),h(\"0123456789ABCDEF\"),f(\"\")),t.base32=d(E(5),h(\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\"),p(5),f(\"\")),t.base32nopad=d(E(5),h(\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\"),f(\"\")),t.base32hex=d(E(5),h(\"0123456789ABCDEFGHIJKLMNOPQRSTUV\"),p(5),f(\"\")),t.base32hexnopad=d(E(5),h(\"0123456789ABCDEFGHIJKLMNOPQRSTUV\"),f(\"\")),t.base32crockford=d(E(5),h(\"0123456789ABCDEFGHJKMNPQRSTVWXYZ\"),f(\"\"),m(e=>e.toUpperCase().replace(/O/g,\"0\").replace(/[IL]/g,\"1\")));const k=\"function\"==typeof Uint8Array.from([]).toBase64&&\"function\"==typeof Uint8Array.fromBase64,S=(e,t)=>{o(\"base64\",e);const r=t?/^[A-Za-z0-9=_-]+$/:/^[A-Za-z0-9=+/]+$/,n=t?\"base64url\":\"base64\";if(e.length>0&&!r.test(e))throw new Error(\"invalid base64\");return Uint8Array.fromBase64(e,{alphabet:n,lastChunkHandling:\"strict\"})};t.base64=k?{encode:e=>(n(e),e.toBase64()),decode:e=>S(e,!1)}:d(E(6),h(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"),p(6),f(\"\")),t.base64nopad=d(E(6),h(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"),f(\"\")),t.base64url=k?{encode:e=>(n(e),e.toBase64({alphabet:\"base64url\"})),decode:e=>S(e,!0)}:d(E(6),h(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\"),p(6),f(\"\")),t.base64urlnopad=d(E(6),h(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\"),f(\"\"));const C=e=>d(A(58),h(e),f(\"\"));t.base58=C(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"),t.base58flickr=C(\"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ\"),t.base58xrp=C(\"rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz\");const I=[0,2,3,5,6,7,9,10,11];t.base58xmr={encode(e){let r=\"\";for(let n=0;n<e.length;n+=8){const s=e.subarray(n,n+8);r+=t.base58.encode(s).padStart(I[s.length],\"1\")}return r},decode(e){let r=[];for(let n=0;n<e.length;n+=11){const s=e.slice(n,n+11),i=I.indexOf(s.length),o=t.base58.decode(s);for(let e=0;e<o.length-i;e++)if(0!==o[e])throw new Error(\"base58xmr: wrong padding\");r=r.concat(Array.from(o.slice(o.length-i)))}return Uint8Array.from(r)}};t.createBase58check=e=>d(T(4,t=>e(e(t))),t.base58),t.base58check=t.createBase58check;const P=d(h(\"qpzry9x8gf2tvdw0s3jn54khce6mua7l\"),f(\"\")),M=[996825010,642813549,513874426,1027748829,705979059];function R(e){const t=e>>25;let r=(33554431&e)<<5;for(let e=0;e<M.length;e++)1==(t>>e&1)&&(r^=M[e]);return r}function B(e,t,r=1){const n=e.length;let s=1;for(let t=0;t<n;t++){const r=e.charCodeAt(t);if(r<33||r>126)throw new Error(`Invalid prefix (${e})`);s=R(s)^r>>5}s=R(s);for(let t=0;t<n;t++)s=R(s)^31&e.charCodeAt(t);for(let e of t)s=R(s)^e;for(let e=0;e<6;e++)s=R(s);return s^=r,P.encode(w([s%v[30]],30,5,!1))}function N(e){const t=\"bech32\"===e?1:734539939,n=E(5),s=n.decode,i=n.encode,a=x(s);function c(e,n,s=90){o(\"bech32.encode prefix\",e),r(n)&&(n=Array.from(n)),u(\"bech32.encode\",n);const i=e.length;if(0===i)throw new TypeError(`Invalid prefix length ${i}`);const a=i+7+n.length;if(!1!==s&&a>s)throw new TypeError(`Length ${a} exceeds limit ${s}`);const c=e.toLowerCase(),l=B(c,n,t);return`${c}1${P.encode(n)}${l}`}function l(e,r=90){o(\"bech32.decode input\",e);const n=e.length;if(n<8||!1!==r&&n>r)throw new TypeError(`invalid string length: ${n} (${e}). Expected (8..${r})`);const s=e.toLowerCase();if(e!==s&&e!==e.toUpperCase())throw new Error(\"String must be lowercase or uppercase\");const i=s.lastIndexOf(\"1\");if(0===i||-1===i)throw new Error('Letter \"1\" must be present between prefix and data only');const a=s.slice(0,i),c=s.slice(i+1);if(c.length<6)throw new Error(\"Data must be at least 6 characters long\");const l=P.decode(c).slice(0,-6),u=B(a,l,t);if(!c.endsWith(u))throw new Error(`Invalid checksum in ${e}: expected \"${u}\"`);return{prefix:a,words:l}}return{encode:c,decode:l,encodeFromBytes:function(e,t){return c(e,i(t))},decodeToBytes:function(e){const{prefix:t,words:r}=l(e,!1);return{prefix:t,words:r,bytes:s(r)}},decodeUnsafe:x(l),fromWords:s,fromWordsUnsafe:a,toWords:i}}t.bech32=N(\"bech32\"),t.bech32m=N(\"bech32m\"),t.utf8={encode:e=>(new TextDecoder).decode(e),decode:e=>(new TextEncoder).encode(e)};const O=\"function\"==typeof Uint8Array.from([]).toHex&&\"function\"==typeof Uint8Array.fromHex,_={encode:e=>(n(e),e.toHex()),decode:e=>(o(\"hex\",e),Uint8Array.fromHex(e))};t.hex=O?_:d(E(4),h(\"0123456789abcdef\"),f(\"\"),m(e=>{if(\"string\"!=typeof e||e.length%2!=0)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));const L={utf8:t.utf8,hex:t.hex,base16:t.base16,base32:t.base32,base64:t.base64,base64url:t.base64url,base58:t.base58,base58xmr:t.base58xmr},D=\"Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr\";t.bytesToString=(e,t)=>{if(\"string\"!=typeof e||!L.hasOwnProperty(e))throw new TypeError(D);if(!r(t))throw new TypeError(\"bytesToString() expects Uint8Array\");return L[e].encode(t)},t.str=t.bytesToString;t.stringToBytes=(e,t)=>{if(!L.hasOwnProperty(e))throw new TypeError(D);if(\"string\"!=typeof t)throw new TypeError(\"stringToBytes() expects string\");return L[e].decode(t)},t.bytes=t.stringToBytes},3447(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(6411);function s(e,t,r){return void 0===t&&(t=new Uint8Array(2)),void 0===r&&(r=0),t[r+0]=e>>>8,t[r+1]=e>>>0,t}function i(e,t,r){return void 0===t&&(t=new Uint8Array(2)),void 0===r&&(r=0),t[r+0]=e>>>0,t[r+1]=e>>>8,t}function o(e,t){return void 0===t&&(t=0),e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function a(e,t){return void 0===t&&(t=0),(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function c(e,t){return void 0===t&&(t=0),e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]}function l(e,t){return void 0===t&&(t=0),(e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t])>>>0}function u(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),t[r+0]=e>>>24,t[r+1]=e>>>16,t[r+2]=e>>>8,t[r+3]=e>>>0,t}function d(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),t[r+0]=e>>>0,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24,t}function h(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),u(e/4294967296>>>0,t,r),u(e>>>0,t,r+4),t}function f(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),d(e>>>0,t,r),d(e/4294967296>>>0,t,r+4),t}t.readInt16BE=function(e,t){return void 0===t&&(t=0),(e[t+0]<<8|e[t+1])<<16>>16},t.readUint16BE=function(e,t){return void 0===t&&(t=0),(e[t+0]<<8|e[t+1])>>>0},t.readInt16LE=function(e,t){return void 0===t&&(t=0),(e[t+1]<<8|e[t])<<16>>16},t.readUint16LE=function(e,t){return void 0===t&&(t=0),(e[t+1]<<8|e[t])>>>0},t.writeUint16BE=s,t.writeInt16BE=s,t.writeUint16LE=i,t.writeInt16LE=i,t.readInt32BE=o,t.readUint32BE=a,t.readInt32LE=c,t.readUint32LE=l,t.writeUint32BE=u,t.writeInt32BE=u,t.writeUint32LE=d,t.writeInt32LE=d,t.readInt64BE=function(e,t){void 0===t&&(t=0);var r=o(e,t),n=o(e,t+4);return 4294967296*r+n-4294967296*(n>>31)},t.readUint64BE=function(e,t){return void 0===t&&(t=0),4294967296*a(e,t)+a(e,t+4)},t.readInt64LE=function(e,t){void 0===t&&(t=0);var r=c(e,t);return 4294967296*c(e,t+4)+r-4294967296*(r>>31)},t.readUint64LE=function(e,t){void 0===t&&(t=0);var r=l(e,t);return 4294967296*l(e,t+4)+r},t.writeUint64BE=h,t.writeInt64BE=h,t.writeUint64LE=f,t.writeInt64LE=f,t.readUintBE=function(e,t,r){if(void 0===r&&(r=0),e%8!=0)throw new Error(\"readUintBE supports only bitLengths divisible by 8\");if(e/8>t.length-r)throw new Error(\"readUintBE: array is too short for the given bitLength\");for(var n=0,s=1,i=e/8+r-1;i>=r;i--)n+=t[i]*s,s*=256;return n},t.readUintLE=function(e,t,r){if(void 0===r&&(r=0),e%8!=0)throw new Error(\"readUintLE supports only bitLengths divisible by 8\");if(e/8>t.length-r)throw new Error(\"readUintLE: array is too short for the given bitLength\");for(var n=0,s=1,i=r;i<r+e/8;i++)n+=t[i]*s,s*=256;return n},t.writeUintBE=function(e,t,r,s){if(void 0===r&&(r=new Uint8Array(e/8)),void 0===s&&(s=0),e%8!=0)throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");if(!n.isSafeInteger(t))throw new Error(\"writeUintBE value must be an integer\");for(var i=1,o=e/8+s-1;o>=s;o--)r[o]=t/i&255,i*=256;return r},t.writeUintLE=function(e,t,r,s){if(void 0===r&&(r=new Uint8Array(e/8)),void 0===s&&(s=0),e%8!=0)throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");if(!n.isSafeInteger(t))throw new Error(\"writeUintLE value must be an integer\");for(var i=1,o=s;o<s+e/8;o++)r[o]=t/i&255,i*=256;return r},t.readFloat32BE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t)},t.readFloat32LE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t,!0)},t.readFloat64BE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t)},t.readFloat64LE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t,!0)},t.writeFloat32BE=function(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat32(r,e),t},t.writeFloat32LE=function(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat32(r,e,!0),t},t.writeFloat64BE=function(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat64(r,e),t},t.writeFloat64LE=function(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat64(r,e,!0),t}},6411(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.mul=Math.imul||function(e,t){var r=65535&e,n=65535&t;return r*n+((e>>>16&65535)*n+r*(t>>>16&65535)<<16>>>0)|0},t.add=function(e,t){return e+t|0},t.sub=function(e,t){return e-t|0},t.rotl=function(e,t){return e<<t|e>>>32-t},t.rotr=function(e,t){return e<<32-t|e>>>t},t.isInteger=Number.isInteger||function(e){return\"number\"==typeof e&&isFinite(e)&&Math.floor(e)===e},t.MAX_SAFE_INTEGER=9007199254740991,t.isSafeInteger=function(e){return t.isInteger(e)&&e>=-t.MAX_SAFE_INTEGER&&e<=t.MAX_SAFE_INTEGER}},7687(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.randomStringForEntropy=t.randomString=t.randomUint32=t.randomBytes=t.defaultRandomSource=void 0;const n=r(7841),s=r(3447),i=r(8767);function o(e,r=t.defaultRandomSource){return r.randomBytes(e)}t.defaultRandomSource=new n.SystemRandomSource,t.randomBytes=o,t.randomUint32=function(e=t.defaultRandomSource){const r=o(4,e),n=(0,s.readUint32LE)(r);return(0,i.wipe)(r),n};const a=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";function c(e,r=a,n=t.defaultRandomSource){if(r.length<2)throw new Error(\"randomString charset is too short\");if(r.length>256)throw new Error(\"randomString charset is too long\");let s=\"\";const c=r.length,l=256-256%c;for(;e>0;){const t=o(Math.ceil(256*e/l),n);for(let n=0;n<t.length&&e>0;n++){const i=t[n];i<l&&(s+=r.charAt(i%c),e--)}(0,i.wipe)(t)}return s}t.randomString=c,t.randomStringForEntropy=function(e,r=a,n=t.defaultRandomSource){return c(Math.ceil(e/(Math.log(r.length)/Math.LN2)),r,n)}},4262(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.BrowserRandomSource=void 0;t.BrowserRandomSource=class{constructor(){this.isAvailable=!1,this.isInstantiated=!1;const e=\"undefined\"!=typeof self?self.crypto||self.msCrypto:null;e&&void 0!==e.getRandomValues&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error(\"Browser random byte generator is not available.\");const t=new Uint8Array(e);for(let e=0;e<t.length;e+=65536)this._crypto.getRandomValues(t.subarray(e,e+Math.min(t.length-e,65536)));return t}}},1052(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.NodeRandomSource=void 0;const n=r(8767);t.NodeRandomSource=class{constructor(){this.isAvailable=!1,this.isInstantiated=!1;{const e=r(5423);e&&e.randomBytes&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error(\"Node.js random byte generator is not available.\");let t=this._crypto.randomBytes(e);if(t.length!==e)throw new Error(\"NodeRandomSource: got fewer bytes than requested\");const r=new Uint8Array(e);for(let e=0;e<r.length;e++)r[e]=t[e];return(0,n.wipe)(t),r}}},7841(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SystemRandomSource=void 0;const n=r(4262),s=r(1052);t.SystemRandomSource=class{constructor(){return this.isAvailable=!1,this.name=\"\",this._source=new n.BrowserRandomSource,this._source.isAvailable?(this.isAvailable=!0,void(this.name=\"Browser\")):(this._source=new s.NodeRandomSource,this._source.isAvailable?(this.isAvailable=!0,void(this.name=\"Node\")):void 0)}randomBytes(e){if(!this.isAvailable)throw new Error(\"System random byte generator is not available.\");return this._source.randomBytes(e)}}},8767(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.wipe=function(e){for(var t=0;t<e.length;t++)e[t]=0;return e}},8229(e,t,r){e.exports=function(e){const{Buffer:t}=r(1048),n=\"api.js: \",s=this,i=r(4202),o=r(240),a=r(1531),c=new(r(6090)),{attributes:l,showAttributes:u,showAttributeErrors:d,showRuleDependencies:h}=r(7896),f=r(2046),p=function(e,t,r){const n=`<span class=\"${i.style.CLASS_CTRLCHAR}\">`,s=\"</span>\",o=`<span class=\"${i.style.CLASS_NOMATCH}\">`,a=\"</span>\";let c,l=\"\";for(;Array.isArray(e)&&0!==e.length;){if(\"number\"!=typeof t)throw new Error(\"abnfToHtml: beg must be type number\");if(t>=e.length)break;c=\"number\"!=typeof r||t+r>=e.length?e.length:t+r;let u=0;for(let r=t;r<c;r+=1){const t=e[r];if(t>=32&&t<=126)switch(1===u?(l+=s,u=0):2===u&&(l+=a,u=0),t){case 32:l+=\"&nbsp;\";break;case 60:l+=\"&lt;\";break;case 62:l+=\"&gt;\";break;case 38:l+=\"&amp;\";break;case 34:l+=\"&quot;\";break;case 39:l+=\"&#039;\";break;case 92:l+=\"&#092;\";break;default:l+=String.fromCharCode(t)}else 9===t||10===t||13===t?(0===u?(l+=n,u=1):2===u&&(l+=a+n,u=1),9===t&&(l+=\"TAB\"),10===t&&(l+=\"LF\"),13===t&&(l+=\"CR\")):(0===u?(l+=o,u=2):1===u&&(l+=s+o,u=2),l+=`\\\\x${i.utils.charToHex(t)}`)}2===u&&(l+=a),1===u&&(l+=s);break}return l},m=function(e,t,r){let n=\"\";for(let s=t;s<t+r;s+=1){const t=e[s];if(t>=32&&t<=126)n+=String.fromCharCode(t);else switch(t){case 9:n+=\"\\\\t\";break;case 10:n+=\"\\\\n\";break;case 13:n+=\"\\\\r\";break;default:n+=\"\\\\unknown\"}}return n};let g,y=!1,b=!1,v=!1,w=!1,A=0;if(this.errors=[],t.isBuffer(e))this.chars=o.decode(\"BINARY\",e);else if(Array.isArray(e))this.chars=e.slice();else{if(\"string\"!=typeof e)throw new Error(`${n}input source is not a string, byte Buffer or character array`);this.chars=o.decode(\"STRING\",e)}this.sabnf=o.encode(\"STRING\",this.chars),this.scan=function(e,t){this.lines=a(this.chars,this.errors,e,t),y=!0},this.parse=function(e,t,r){if(!y)throw new Error(`${n}grammar not scanned`);c.syntax(this.chars,this.lines,this.errors,e,t,r),b=!0},this.translate=function(){if(!b)throw new Error(`${n}grammar not scanned and parsed`);const e=c.semantic(this.chars,this.lines,this.errors);0===this.errors.length&&(this.rules=e.rules,this.udts=e.udts,g=e.lineMap,v=!0)},this.attributes=function(){if(!v)throw new Error(`${n}grammar not scanned, parsed and translated`);return A=l(this.rules,this.udts,g,this.errors),w=!0,A},this.generate=function(e){if(this.lines=a(this.chars,this.errors,e),this.errors.length)return;if(c.syntax(this.chars,this.lines,this.errors,e),this.errors.length)return;const t=c.semantic(this.chars,this.lines,this.errors);this.errors.length||(this.rules=t.rules,this.udts=t.udts,g=t.lineMap,A=l(this.rules,this.udts,g,this.errors),w=!0)},this.displayRules=function(e=\"index\"){if(!v)throw new Error(`${n}grammar not scanned, parsed and translated`);return f(this.rules,this.udts,e)},this.displayRuleDependencies=function(e=\"index\"){if(!w)throw new Error(`${n}no attributes - must be preceeded by call to attributes()`);return h(e)},this.displayAttributes=function(e=\"index\"){if(!w)throw new Error(`${n}no attributes - must be preceeded by call to attributes()`);return A&&d(e),u(e)},this.displayAttributeErrors=function(){if(!w)throw new Error(`${n}no attributes - must be preceeded by call to attributes()`);return d()},this.toSource=function(e=void 0){if(!w)throw new Error(`${n}can't generate parser source - must be preceeded by call to attributes()`);if(A)throw new Error(`${n}can't generate parser source - attributes have ${A} errors`);return c.generateSource(this.chars,this.lines,this.rules,this.udts,e)},this.toObject=function(){if(!w)throw new Error(`${n}can't generate parser source - must be preceeded by call to attributes()`);if(A)throw new Error(`${n}can't generate parser source - attributes have ${A} errors`);return c.generateObject(this.sabnf,this.rules,this.udts)},this.errorsToAscii=function(){return function(e,t,r){let n,s,i,o;return n=\"\",e.forEach(e=>{s=t[e.line],n+=`${s.lineNo}: `,n+=`${s.beginChar}: `,n+=e.char-s.beginChar+\": \",i=s.beginChar,o=e.char-s.beginChar,n+=m(r,i,o),n+=\" >> \",i=e.char,o=s.beginChar+s.length-e.char,n+=m(r,i,o),n+=\"\\n\",n+=`${s.lineNo}: `,n+=`${s.beginChar}: `,n+=e.char-s.beginChar+\": \",n+=\"error: \",n+=e.msg,n+=\"\\n\"}),n}(this.errors,this.lines,this.chars)},this.errorsToHtml=function(e){return function(e,t,r,n){const[s]=i;let o=\"\";const a=`<span class=\"${s.CLASS_NOMATCH}\">&raquo;</span>`;return o+=`<p><table class=\"${s.CLASS_GRAMMAR}\">\\n`,n&&\"string\"==typeof n&&(o+=`<caption>${n}</caption>\\n`),o+=\"<tr><th>line<br>no.</th><th>line<br>offset</th><th>error<br>offset</th><th><br>text</th></tr>\\n\",e.forEach(e=>{let n,s,c,l,u,d=\"\",h=\"\";0===t.length?(u=a,s=0):(n=t[e.line],c=n.beginChar,e.char>c&&(d=p(r,c,e.char-c)),c=e.char,l=n.beginChar+n.length,c<l&&(h=p(r,c,l-c)),u=d+a+h,s=e.char-n.beginChar,o+=\"<tr>\",o+=`<td>${e.line}</td><td>${n.beginChar}</td><td>${s}</td><td>${u}</td>`,o+=\"</tr>\\n\",o+=\"<tr>\",o+=`<td colspan=\"3\"></td><td>&uarr;:&nbsp;${i.utils.stringToAsciiHtml(e.msg)}</td>`,o+=\"</tr>\\n\")}),o+=\"</table></p>\\n\",o}(this.errors,this.lines,this.chars,e)},this.linesToAscii=function(){return function(e){let t=\"Annotated Input Grammar\";return e.forEach(e=>{t+=\"\\n\",t+=`line no: ${e.lineNo}`,t+=` : char index: ${e.beginChar}`,t+=` : length: ${e.length}`,t+=` : abnf: ${m(s.chars,e.beginChar,e.length)}`}),t+=\"\\n\",t}(this.lines)},this.linesToHtml=function(){return function(e){let t=\"\";return t+=`<table class=\"${i.style.CLASS_GRAMMAR}\">\\n`,t+=\"<caption>Annotated Input Grammar</caption>\\n\",t+=\"<tr>\",t+=\"<th>line<br>no.</th><th>first<br>char</th><th><br>length</th><th><br>text</th>\",t+=\"</tr>\\n\",e.forEach(e=>{t+=\"<tr>\",t+=`<td>${e.lineNo}`,t+=`</td><td>${e.beginChar}`,t+=`</td><td>${e.length}`,t+=`</td><td>${p(s.chars,e.beginChar,e.length)}`,t+=\"</td>\",t+=\"</tr>\\n\"}),t+=\"</table>\\n\",t}(this.lines)}}},7896(e,t,r){e.exports=function(){const e=r(5298),{ruleAttributes:t,showAttributes:n,showAttributeErrors:s}=r(7989),{ruleDependencies:i,showRuleDependencies:o}=r(997);class a{constructor(e,t){this.rules=e,this.udts=t,this.ruleCount=e.length,this.udtCount=t.length,this.startRule=0,this.dependenciesComplete=!1,this.attributesComplete=!1,this.isMutuallyRecursive=!1,this.ruleIndexes=this.indexArray(this.ruleCount),this.ruleAlphaIndexes=this.indexArray(this.ruleCount),this.ruleTypeIndexes=this.indexArray(this.ruleCount),this.udtIndexes=this.indexArray(this.udtCount),this.udtAlphaIndexes=this.indexArray(this.udtCount),this.attrsErrorCount=0,this.attrs=[],this.attrsErrors=[],this.attrsWorking=[],this.ruleDeps=[];for(let t=0;t<this.ruleCount;t+=1)this.attrs.push(this.attrGen(this.rules[t])),this.attrsWorking.push(this.attrGen(this.rules[t])),this.ruleDeps.push(this.rdGen(e[t],this.ruleCount,this.udtCount));this.compRulesAlpha=this.compRulesAlpha.bind(this),this.compUdtsAlpha=this.compUdtsAlpha.bind(this),this.compRulesType=this.compRulesType.bind(this),this.compRulesGroup=this.compRulesGroup.bind(this)}attrGen(e){return{left:!1,nested:!1,right:!1,empty:!1,finite:!1,cyclic:!1,leaf:!1,isOpen:!1,isComplete:!1,rule:e}}attrInit(e){e.left=!1,e.nested=!1,e.right=!1,e.empty=!1,e.finite=!1,e.cyclic=!1,e.leaf=!1,e.isOpen=!1,e.isComplete=!1}attrCopy(e,t){e.left=t.left,e.nested=t.nested,e.right=t.right,e.empty=t.empty,e.finite=t.finite,e.cyclic=t.cyclic,e.leaf=t.leaf,e.isOpen=t.isOpen,e.isComplete=t.isComplete,e.rule=t.rule}rdGen(t,r,n){return{rule:t,recursiveType:e.ATTR_N,groupNumber:-1,refersTo:this.falseArray(r),refersToUdt:this.falseArray(n),referencedBy:this.falseArray(r)}}typeToString(t){switch(t){case e.ATTR_N:return\" N\";case e.ATTR_R:return\" R\";case e.ATTR_MR:return\"MR\";default:return\"UNKNOWN\"}}falseArray(e){const t=[];if(e>0)for(let r=0;r<e;r+=1)t.push(!1);return t}falsifyArray(e){for(let t=0;t<e.length;t+=1)e[t]=!1}indexArray(e){const t=[];if(e>0)for(let r=0;r<e;r+=1)t.push(r);return t}compRulesAlpha(e,t){return this.rules[e].lower<this.rules[t].lower?-1:this.rules[e].lower>this.rules[t].lower?1:0}compUdtsAlpha(e,t){return this.udts[e].lower<this.udts[t].lower?-1:this.udts[e].lower>this.udts[t].lower?1:0}compRulesType(e,t){return this.ruleDeps[e].recursiveType<this.ruleDeps[t].recursiveType?-1:this.ruleDeps[e].recursiveType>this.ruleDeps[t].recursiveType?1:0}compRulesGroup(t,r){if(this.ruleDeps[t].recursiveType===e.ATTR_MR&&this.ruleDeps[r].recursiveType===e.ATTR_MR){if(this.ruleDeps[t].groupNumber<this.ruleDeps[r].groupNumber)return-1;if(this.ruleDeps[t].groupNumber>this.ruleDeps[r].groupNumber)return 1}return 0}}return{attributes:function(e=[],r=[],n=[],s=[]){const o=new a(e,r);return i(o),t(o),o.attrsErrorCount&&s.push({line:0,char:0,msg:`${o.attrsErrorCount} attribute errors`}),o.attrsErrorCount},showAttributes:n,showAttributeErrors:s,showRuleDependencies:o}}()},6090(e,t,r){e.exports=function(){const e=r(4202),t=e.ids,n=new(r(2027)),s=new(r(8936)),i=new(r(8123)),o=new e.parser;o.ast=new e.ast,o.callbacks=n.callbacks,o.ast.callbacks=s.callbacks;const a=function(e,t,r){if(t<0||t>=r)return-1;for(let r=0;r<e.length;r+=1)if(t>=e[r].beginChar&&t<e[r].beginChar+e[r].length)return r;return-1},c=function(e,t){let r=-1;if(t<e.length)for(let n=t;n<e.length;n+=1)if(null!==e[n]){r=e[n];break}return r};this.syntax=function(e,t,r,n,s,c){if(c){if(\"traceObject\"!==c.traceObject)throw new TypeError(\"parser: trace argument is not a trace object\");o.trace=c}const l={};l.errors=r,l.strict=!!n,l.lite=!!s,l.lines=t,l.findLine=a,l.charsLength=e.length,l.ruleCount=0;o.parse(i,\"file\",e,l).success||r.push({line:0,char:0,msg:\"syntax analysis of input grammar failed\"})},this.semantic=function(e,r,n){const s={};return s.errors=n,s.lines=r,s.findLine=a,s.charsLength=e.length,o.ast.translate(s),n.length?null:(s.rules.forEach(e=>{const r=[],n=[];let s=0;e.opcodes.forEach(e=>{e.type===t.ALT&&1===e.children.length||e.type===t.CAT&&1===e.children.length||e.type===t.REP&&1===e.min&&1===e.max?n.push(null):(n.push(s),r.push(e),s+=1)}),n.push(s),r.forEach(e=>{if(e.type===t.ALT||e.type===t.CAT)for(let t=0;t<e.children.length;t+=1)e.children[t]=c(n,e.children[t])}),e.opcodes=r}),{rules:s.rules,udts:s.udts,lineMap:s.rulesLineMap})},this.generateSource=function(e,r,n,s,i){let o,a,c,l=\"\",u=!1,d=!1;i&&(i.typescript?(u=!0,d=!1):i.lite&&(u=!1,d=!0));let h=0,f=1/0,p=0;const m=[],g=[];let y,b=0,v=0,w=0,A=0,E=0,x=0,T=0,k=0,S=0,C=0,I=0,P=0,M=0,R=0,B=0;return n.forEach(e=>{m.push(e.lower),h+=e.opcodes.length,e.opcodes.forEach(e=>{switch(e.type){case t.ALT:b+=1;break;case t.CAT:v+=1;break;case t.RNM:w+=1;break;case t.UDT:A+=1;break;case t.REP:E+=1;break;case t.AND:x+=1;break;case t.NOT:T+=1;break;case t.BKA:P+=1;break;case t.BKN:M+=1;break;case t.BKR:I+=1;break;case t.ABG:R+=1;break;case t.AEN:B+=1;break;case t.TLS:for(k+=1,o=0;o<e.string.length;o+=1)e.string[o]<f&&(f=e.string[o]),e.string[o]>p&&(p=e.string[o]);break;case t.TBS:for(S+=1,o=0;o<e.string.length;o+=1)e.string[o]<f&&(f=e.string[o]),e.string[o]>p&&(p=e.string[o]);break;case t.TRG:C+=1,e.min<f&&(f=e.min),e.max>p&&(p=e.max);break;default:throw new Error(\"generateSource: unrecognized opcode\")}})}),m.sort(),s.length>0&&(s.forEach(e=>{g.push(e.lower)}),g.sort()),l+=\"// copyright: Copyright (c) 2024 Lowell D. Thomas, all rights reserved<br>\\n\",l+=\"//   license: BSD-2-Clause (https://opensource.org/licenses/BSD-2-Clause)<br>\\n\",l+=\"//\\n\",l+=\"// Generated by apg-js, Version 4.4.0 [apg-js](https://github.com/ldthomas/apg-js)\\n\",i?i.funcName?l+=`const ${i.funcName} = function grammar(){\\n`:l+=u?\"export function grammar(){\\n\":d?\"export default function grammar(){\\n\":\"module.exports = function grammar(){\\n\":l+=\"module.exports = function grammar(){\\n\",l+=\"  // ```\\n\",l+=\"  // SUMMARY\\n\",l+=`  //      rules = ${n.length}\\n`,l+=`  //       udts = ${s.length}\\n`,l+=`  //    opcodes = ${h}\\n`,l+=\"  //        ---   ABNF original opcodes\\n\",l+=`  //        ALT = ${b}\\n`,l+=`  //        CAT = ${v}\\n`,l+=`  //        REP = ${E}\\n`,l+=`  //        RNM = ${w}\\n`,l+=`  //        TLS = ${k}\\n`,l+=`  //        TBS = ${S}\\n`,l+=`  //        TRG = ${C}\\n`,l+=\"  //        ---   SABNF superset opcodes\\n\",l+=`  //        UDT = ${A}\\n`,l+=`  //        AND = ${x}\\n`,l+=`  //        NOT = ${T}\\n`,d||(l+=`  //        BKA = ${P}\\n`,l+=`  //        BKN = ${M}\\n`,l+=`  //        BKR = ${I}\\n`,l+=`  //        ABG = ${R}\\n`,l+=`  //        AEN = ${B}\\n`),l+=\"  // characters = [\",l+=k+S+C===0?\" none defined ]\":`${f} - ${p}]`,A>0&&(l+=\" + user defined\"),l+=\"\\n\",l+=\"  // ```\\n\",l+=\"  /* OBJECT IDENTIFIER (for internal parser use) */\\n\",l+=\"  this.grammarObject = 'grammarObject';\\n\",l+=\"\\n\",l+=\"  /* RULES */\\n\",l+=\"  this.rules = [];\\n\",n.forEach((e,t)=>{let r=\"  this.rules[\";r+=t,r+=\"] = { name: '\",r+=e.name,r+=\"', lower: '\",r+=e.lower,r+=\"', index: \",r+=e.index,r+=\", isBkr: \",r+=e.isBkr,r+=\" };\\n\",l+=r}),l+=\"\\n\",l+=\"  /* UDTS */\\n\",l+=\"  this.udts = [];\\n\",s.length>0&&s.forEach((e,t)=>{let r=\"  this.udts[\";r+=t,r+=\"] = { name: '\",r+=e.name,r+=\"', lower: '\",r+=e.lower,r+=\"', index: \",r+=e.index,r+=\", empty: \",r+=e.empty,r+=\", isBkr: \",r+=e.isBkr,r+=\" };\\n\",l+=r}),l+=\"\\n\",l+=\"  /* OPCODES */\\n\",n.forEach((e,r)=>{r>0&&(l+=\"\\n\"),l+=`  /* ${e.name} */\\n`,l+=`  this.rules[${r}].opcodes = [];\\n`,e.opcodes.forEach((e,i)=>{let o;switch(e.type){case t.ALT:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, children: [${e.children.toString()}] };// ALT\\n`;break;case t.CAT:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, children: [${e.children.toString()}] };// CAT\\n`;break;case t.RNM:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, index: ${e.index} };// RNM(${n[e.index].name})\\n`;break;case t.BKR:e.index>=n.length?(a=s[e.index-n.length].name,c=s[e.index-n.length].lower):(a=n[e.index].name,c=n[e.index].lower),o=\"%i\",e.bkrCase===t.BKR_MODE_CS&&(o=\"%s\"),e.bkrMode===t.BKR_MODE_UM?o+=\"%u\":o+=\"%p\",a=o+a,l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, index: ${e.index}, lower: '${c}', bkrCase: ${e.bkrCase}, bkrMode: ${e.bkrMode} };// BKR(\\\\${a})\\n`;break;case t.UDT:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, empty: ${e.empty}, index: ${e.index} };// UDT(${s[e.index].name})\\n`;break;case t.REP:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, min: ${e.min}, max: ${e.max} };// REP\\n`;break;case t.AND:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type} };// AND\\n`;break;case t.NOT:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type} };// NOT\\n`;break;case t.ABG:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type} };// ABG(%^)\\n`;break;case t.AEN:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type} };// AEN(%$)\\n`;break;case t.BKA:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type} };// BKA\\n`;break;case t.BKN:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type} };// BKN\\n`;break;case t.TLS:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, string: [${e.string.toString()}] };// TLS\\n`;break;case t.TBS:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, string: [${e.string.toString()}] };// TBS\\n`;break;case t.TRG:l+=`  this.rules[${r}].opcodes[${i}] = { type: ${e.type}, min: ${e.min}, max: ${e.max} };// TRG\\n`;break;default:throw new Error(\"parser.js: ~143: unrecognized opcode\")}})}),l+=\"\\n\",l+=\"  // The `toString()` function will display the original grammar file(s) that produced these opcodes.\\n\",l+=\"  this.toString = function toString(){\\n\",l+='    let str = \"\";\\n',r.forEach(t=>{const r=t.beginChar+t.length;y=\"\",l+='    str += \"';for(let n=t.beginChar;n<r;n+=1){switch(e[n]){case 9:y=\" \";break;case 10:y=\"\\\\n\";break;case 13:y=\"\\\\r\";break;case 34:y='\\\\\"';break;case 92:y=\"\\\\\\\\\";break;default:y=String.fromCharCode(e[n])}l+=y}l+='\";\\n'}),l+=\"    return str;\\n\",l+=\"  }\\n\",l+=\"}\\n\",l},this.generateObject=function(e,t,r){const n={},s=[],i=[],o=e.slice(0);return n.grammarObject=\"grammarObject\",t.forEach(e=>{s.push(e.lower)}),s.sort(),r.length>0&&(r.forEach(e=>{i.push(e.lower)}),i.sort()),n.callbacks=[],s.forEach(e=>{n.callbacks[e]=!1}),r.length>0&&i.forEach(e=>{n.callbacks[e]=!1}),n.rules=t,n.udts=r,n.toString=function(){return o},n}}},7989(e,t,r){e.exports=function(){const e=r(5298);let t=null;function n(e){return!(e.left||e.nested||e.right||e.cyclic)&&e.empty}function s(e){return!!(e.left||e.nested||e.right||e.cyclic)}function i(e,t,r,i){let a=0;const c=t[r],l=c.children.length,u=[];for(a=0;a<l;a+=1)u.push(e.attrGen());for(a=0;a<l;a+=1)o(e,t,c.children[a],u[a]);i.left=function(e,t){for(let r=0;r<t;r+=1){if(e[r].left)return!0;if(!e[r].empty)return!1}return!1}(u,l),i.right=function(e,t){for(let r=t-1;r>=0;r-=1){if(e[r].right)return!0;if(!e[r].empty)return!1}return!1}(u,l),i.nested=function(e,t){let r=0,i=0,o=0;for(r=0;r<t;r+=1)if(e[r].nested)return!0;for(r=0;r<t;r+=1)if(e[r].right&&!e[r].leaf)for(i=r+1;i<t;i+=1)if(!n(e[i]))return!0;for(r=t-1;r>=0;r-=1)if(e[r].left&&!e[r].leaf)for(i=r-1;i>=0;i-=1)if(!n(e[i]))return!0;for(r=0;r<t;r+=1)if(!e[r].empty&&!s(e[r]))for(i=r+1;i<t;i+=1)if(s(e[i]))for(o=i+1;o<t;o+=1)if(!e[o].empty&&!s(e[o]))return!0;return!1}(u,l),i.empty=function(e,t){for(let r=0;r<t;r+=1)if(!e[r].empty)return!1;return!0}(u,l),i.finite=function(e,t){for(let r=0;r<t;r+=1)if(!e[r].finite)return!1;return!0}(u,l),i.cyclic=function(e,t){for(let r=0;r<t;r+=1)if(!e[r].cyclic)return!1;return!0}(u,l)}function o(t,r,n,s){t.attrInit(s);const c=r[n];switch(c.type){case e.ALT:!function(e,t,r,n){let s=0;const i=t[r],a=i.children.length,c=[];for(s=0;s<a;s+=1)c.push(e.attrGen());for(s=0;s<a;s+=1)o(e,t,i.children[s],c[s]);for(n.left=!1,n.right=!1,n.nested=!1,n.empty=!1,n.finite=!1,n.cyclic=!1,s=0;s<a;s+=1)c[s].left&&(n.left=!0),c[s].nested&&(n.nested=!0),c[s].right&&(n.right=!0),c[s].empty&&(n.empty=!0),c[s].finite&&(n.finite=!0),c[s].cyclic&&(n.cyclic=!0)}(t,r,n,s);break;case e.CAT:i(t,r,n,s);break;case e.REP:o(t,r,n+1,s),0===c.min&&(s.empty=!0,s.finite=!0);break;case e.RNM:a(t,r[n].index,s);break;case e.BKR:!function(e,t,r,n){const s=t[r];s.index>=e.ruleCount?(n.empty=e.udts[s.index-e.ruleCount].empty,n.finite=!0):(a(e,s.index,n),n.left=!1,n.nested=!1,n.right=!1,n.cyclic=!1)}(t,r,n,s);break;case e.AND:case e.NOT:case e.BKA:case e.BKN:o(t,r,n+1,s),s.empty=!0;break;case e.TLS:s.empty=!r[n].string.length,s.finite=!0,s.cyclic=!1;break;case e.TBS:case e.TRG:s.empty=!1,s.finite=!0,s.cyclic=!1;break;case e.UDT:s.empty=c.empty,s.finite=!0,s.cyclic=!1;break;case e.ABG:case e.AEN:s.empty=!0,s.finite=!0,s.cyclic=!1;break;default:throw new Error(`unknown opcode type: ${c}`)}}function a(e,t,r){const n=e.attrsWorking[t];n.isComplete?e.attrCopy(r,n):n.isOpen?t===e.startRule?t===e.startRule&&(r.left=!0,r.right=!0,r.cyclic=!0,r.leaf=!0):r.finite=!0:(n.isOpen=!0,o(e,n.rule.opcodes,0,r),n.left=r.left,n.right=r.right,n.nested=r.nested,n.empty=r.empty,n.finite=r.finite,n.cyclic=r.cyclic,n.leaf=!1,n.isOpen=!1,n.isComplete=!0)}const c=e=>e?\"t\":\"f\",l=e=>e?\"e\":\"f\",u=(r,n,s,i)=>{let o=`${r}:${n}:`;return o+=`${l(s.left)} `,o+=`${c(s.nested)} `,o+=`${c(s.right)} `,o+=`${l(s.cyclic)} `,o+=(s.finite?\"t\":\"e\")+\" \",o+=`${c(s.empty)}:`,o+=`${t.typeToString(i.recursiveType)}:`,o+=i.recursiveType===e.ATTR_MR?i.groupNumber:\"-\",o+=`:${s.rule.name}\\n`,o},d=()=>{let e=\"LEGEND - t=true, f=false, e=error\\n\";return e+=\"sequence:rule index:left nested right cyclic finite empty:type:group number:rule name\\n\",\"LEGEND - t=true, f=false, e=error\\nsequence:rule index:left nested right cyclic finite empty:type:group number:rule name\\n\"},h=e=>{let r=0,n=0,s=null,i=null,o=\"\",{ruleIndexes:a}=t;for(97===e?a=t.ruleAlphaIndexes:116===e&&(a=t.ruleTypeIndexes),r=0;r<t.ruleCount;r+=1)n=a[r],s=t.attrs[n],i=t.ruleDeps[n],o+=u(r,n,s,i);return o};return{ruleAttributes:e=>{t=e;let r=0,n=0;const s=t.attrGen();for(r=0;r<t.ruleCount;r+=1){for(n=0;n<t.ruleCount;n+=1)t.attrInit(t.attrsWorking[n]);t.startRule=r,a(t,r,s),t.attrCopy(t.attrs[r],t.attrsWorking[r])}t.attributesComplete=!0;let i=null;for(r=0;r<t.ruleCount;r+=1)if(i=t.attrs[r],i.left||!i.finite||i.cyclic){const e=t.attrGen(i.rule);t.attrCopy(e,i),t.attrsErrors.push(e),t.attrsErrorCount+=1}},showAttributes:(e=\"index\")=>{if(!t.attributesComplete)throw new Error(\"rule-attributes.js:showAttributes: attributes not available\");let r=\"\";const n=\"RULE ATTRIBUTES\\n\";return 97===e.charCodeAt(0)?(r+=\"alphabetical by rule name\\n\",r+=n,r+=d(),r+=h(97)):116===e.charCodeAt(0)?(r+=\"ordered by rule type\\n\",r+=n,r+=d(),r+=h(116)):(r+=\"ordered by rule index\\n\",r+=n,r+=d(),r+=h()),r},showAttributeErrors:()=>{let e=null,r=null,n=\"\";if(n+=\"RULE ATTRIBUTES WITH ERRORS\\n\",n+=d(),t.attrsErrorCount)for(let s=0;s<t.attrsErrorCount;s+=1)e=t.attrsErrors[s],r=t.ruleDeps[e.rule.index],n+=u(s,e.rule.index,e,r);else n+=\"<none>\\n\";return n}}}()},997(e,t,r){e.exports=(()=>{const e=r(5298);let t=null;const n=(t,r,s,i)=>{let o=0,a=0;const c=r[s];i[s]=!0;const l=c.rule.opcodes;for(o=0;o<l.length;o+=1){const s=l[o];if(s.type===e.RNM)for(c.refersTo[s.index]=!0,i[s.index]||n(t,r,s.index,i),a=0;a<t;a+=1)r[s.index].refersTo[a]&&(c.refersTo[a]=!0);else s.type===e.UDT?c.refersToUdt[s.index]=!0:s.type===e.BKR&&(s.index<t?(c.refersTo[s.index]=!0,i[s.index]||n(t,r,s.index,i)):c.refersToUdt[t-s.index]=!0)}},s=(e=null)=>{let r=0,n=0,s=0,i=0;const o=t.ruleCount-1,a=t.udtCount-1;let c=\"\",l=\"\";const u=\"=> \";let d=!1,h=null,{ruleIndexes:f}=t,{udtIndexes:p}=t;for(97===e?(f=t.ruleAlphaIndexes,p=t.udtAlphaIndexes):116===e&&(f=t.ruleTypeIndexes,p=t.udtAlphaIndexes),r=0;r<t.ruleCount;r+=1){for(h=t.ruleDeps[f[r]],l=`${f[r]}:${t.typeToString(h.recursiveType)}:`,t.isMutuallyRecursive&&(l+=h.groupNumber>-1?h.groupNumber:\"-\",l+=\":\"),l+=\" \",c+=`${l+t.rules[f[r]].name}\\n`,d=!0,s=0,i=c.length,c+=l,n=0;n<t.ruleCount;n+=1)h.refersTo[f[n]]&&(d?(c+=u,d=!1,c+=t.ruleDeps[f[n]].rule.name):c+=`, ${t.ruleDeps[f[n]].rule.name}`,s+=1),c.length-i>100&&n!==o&&(c+=`\\n${l}${u}`,i=c.length);if(t.udtCount)for(n=0;n<t.udtCount;n+=1)h.refersToUdt[p[n]]&&(d?(c+=u,d=!1,c+=t.udts[p[n]].name):c+=`, ${t.udts[p[n]].name}`,s+=1),c.length-i>100&&n!==a&&(c+=`\\n${l}${u}`,i=c.length);for(0===s&&(c+=\"=> <none>\\n\"),!1===d&&(c+=\"\\n\"),d=!0,s=0,i=c.length,c+=l,n=0;n<t.ruleCount;n+=1)h.referencedBy[f[n]]&&(d?(c+=\"<= \",d=!1,c+=t.ruleDeps[f[n]].rule.name):c+=`, ${t.ruleDeps[f[n]].rule.name}`,s+=1),c.length-i>100&&n!==o&&(c+=`\\n${l}${u}`,i=c.length);0===s&&(c+=\"<= <none>\\n\"),!1===d&&(c+=\"\\n\"),c+=\"\\n\"}return c};return{ruleDependencies:r=>{t=r;let s=0,i=0,o=0,a=null,c=null,l=!1;t.dependenciesComplete=!1;const u=t.falseArray(t.ruleCount);for(s=0;s<t.ruleCount;s+=1)t.falsifyArray(u),n(t.ruleCount,t.ruleDeps,s,u);for(s=0;s<t.ruleCount;s+=1)for(i=0;i<t.ruleCount;i+=1)s!==i&&t.ruleDeps[i].refersTo[s]&&(t.ruleDeps[s].referencedBy[i]=!0);for(s=0;s<t.ruleCount;s+=1)t.ruleDeps[s].recursiveType=e.ATTR_N,t.ruleDeps[s].refersTo[s]&&(t.ruleDeps[s].recursiveType=e.ATTR_R);for(o=-1,s=0;s<t.ruleCount;s+=1)if(a=t.ruleDeps[s],a.recursiveType===e.ATTR_R)for(l=!0,i=0;i<t.ruleCount;i+=1)s!==i&&(c=t.ruleDeps[i],c.recursiveType===e.ATTR_R&&a.refersTo[i]&&c.refersTo[s]&&(l&&(o+=1,a.recursiveType=e.ATTR_MR,a.groupNumber=o,l=!1),c.recursiveType=e.ATTR_MR,c.groupNumber=o));t.isMutuallyRecursive=o>-1,t.ruleAlphaIndexes.sort(t.compRulesAlpha),t.ruleTypeIndexes.sort(t.compRulesAlpha),t.ruleTypeIndexes.sort(t.compRulesType),t.isMutuallyRecursive&&t.ruleTypeIndexes.sort(t.compRulesGroup),t.udtCount&&t.udtAlphaIndexes.sort(t.compUdtsAlpha),t.dependenciesComplete=!0},showRuleDependencies:(e=\"index\")=>{let r=\"RULE DEPENDENCIES(index:type:[group number:])\\n\";return r+=\"=> refers to rule names\\n\",r+=\"<= referenced by rule names\\n\",t.dependenciesComplete?(97===e.charCodeAt(0)?(r+=\"alphabetical by rule name\\n\",r+=s(97)):116===e.charCodeAt(0)?(r+=\"ordered by rule type\\n\",r+=s(116)):(r+=\"ordered by rule index\\n\",r+=s(null)),r):r}}})()},8123(e){e.exports=function(){this.grammarObject=\"grammarObject\",this.rules=[],this.rules[0]={name:\"File\",lower:\"file\",index:0,isBkr:!1},this.rules[1]={name:\"BlankLine\",lower:\"blankline\",index:1,isBkr:!1},this.rules[2]={name:\"Rule\",lower:\"rule\",index:2,isBkr:!1},this.rules[3]={name:\"RuleLookup\",lower:\"rulelookup\",index:3,isBkr:!1},this.rules[4]={name:\"RuleNameTest\",lower:\"rulenametest\",index:4,isBkr:!1},this.rules[5]={name:\"RuleName\",lower:\"rulename\",index:5,isBkr:!1},this.rules[6]={name:\"RuleNameError\",lower:\"rulenameerror\",index:6,isBkr:!1},this.rules[7]={name:\"DefinedAsTest\",lower:\"definedastest\",index:7,isBkr:!1},this.rules[8]={name:\"DefinedAsError\",lower:\"definedaserror\",index:8,isBkr:!1},this.rules[9]={name:\"DefinedAs\",lower:\"definedas\",index:9,isBkr:!1},this.rules[10]={name:\"Defined\",lower:\"defined\",index:10,isBkr:!1},this.rules[11]={name:\"IncAlt\",lower:\"incalt\",index:11,isBkr:!1},this.rules[12]={name:\"RuleError\",lower:\"ruleerror\",index:12,isBkr:!1},this.rules[13]={name:\"LineEndError\",lower:\"lineenderror\",index:13,isBkr:!1},this.rules[14]={name:\"Alternation\",lower:\"alternation\",index:14,isBkr:!1},this.rules[15]={name:\"Concatenation\",lower:\"concatenation\",index:15,isBkr:!1},this.rules[16]={name:\"Repetition\",lower:\"repetition\",index:16,isBkr:!1},this.rules[17]={name:\"Modifier\",lower:\"modifier\",index:17,isBkr:!1},this.rules[18]={name:\"Predicate\",lower:\"predicate\",index:18,isBkr:!1},this.rules[19]={name:\"BasicElement\",lower:\"basicelement\",index:19,isBkr:!1},this.rules[20]={name:\"BasicElementErr\",lower:\"basicelementerr\",index:20,isBkr:!1},this.rules[21]={name:\"Group\",lower:\"group\",index:21,isBkr:!1},this.rules[22]={name:\"GroupError\",lower:\"grouperror\",index:22,isBkr:!1},this.rules[23]={name:\"GroupOpen\",lower:\"groupopen\",index:23,isBkr:!1},this.rules[24]={name:\"GroupClose\",lower:\"groupclose\",index:24,isBkr:!1},this.rules[25]={name:\"Option\",lower:\"option\",index:25,isBkr:!1},this.rules[26]={name:\"OptionError\",lower:\"optionerror\",index:26,isBkr:!1},this.rules[27]={name:\"OptionOpen\",lower:\"optionopen\",index:27,isBkr:!1},this.rules[28]={name:\"OptionClose\",lower:\"optionclose\",index:28,isBkr:!1},this.rules[29]={name:\"RnmOp\",lower:\"rnmop\",index:29,isBkr:!1},this.rules[30]={name:\"BkrOp\",lower:\"bkrop\",index:30,isBkr:!1},this.rules[31]={name:\"bkrModifier\",lower:\"bkrmodifier\",index:31,isBkr:!1},this.rules[32]={name:\"cs\",lower:\"cs\",index:32,isBkr:!1},this.rules[33]={name:\"ci\",lower:\"ci\",index:33,isBkr:!1},this.rules[34]={name:\"um\",lower:\"um\",index:34,isBkr:!1},this.rules[35]={name:\"pm\",lower:\"pm\",index:35,isBkr:!1},this.rules[36]={name:\"bkr-name\",lower:\"bkr-name\",index:36,isBkr:!1},this.rules[37]={name:\"rname\",lower:\"rname\",index:37,isBkr:!1},this.rules[38]={name:\"uname\",lower:\"uname\",index:38,isBkr:!1},this.rules[39]={name:\"ename\",lower:\"ename\",index:39,isBkr:!1},this.rules[40]={name:\"UdtOp\",lower:\"udtop\",index:40,isBkr:!1},this.rules[41]={name:\"udt-non-empty\",lower:\"udt-non-empty\",index:41,isBkr:!1},this.rules[42]={name:\"udt-empty\",lower:\"udt-empty\",index:42,isBkr:!1},this.rules[43]={name:\"RepOp\",lower:\"repop\",index:43,isBkr:!1},this.rules[44]={name:\"AltOp\",lower:\"altop\",index:44,isBkr:!1},this.rules[45]={name:\"CatOp\",lower:\"catop\",index:45,isBkr:!1},this.rules[46]={name:\"StarOp\",lower:\"starop\",index:46,isBkr:!1},this.rules[47]={name:\"AndOp\",lower:\"andop\",index:47,isBkr:!1},this.rules[48]={name:\"NotOp\",lower:\"notop\",index:48,isBkr:!1},this.rules[49]={name:\"BkaOp\",lower:\"bkaop\",index:49,isBkr:!1},this.rules[50]={name:\"BknOp\",lower:\"bknop\",index:50,isBkr:!1},this.rules[51]={name:\"AbgOp\",lower:\"abgop\",index:51,isBkr:!1},this.rules[52]={name:\"AenOp\",lower:\"aenop\",index:52,isBkr:!1},this.rules[53]={name:\"TrgOp\",lower:\"trgop\",index:53,isBkr:!1},this.rules[54]={name:\"TbsOp\",lower:\"tbsop\",index:54,isBkr:!1},this.rules[55]={name:\"TlsOp\",lower:\"tlsop\",index:55,isBkr:!1},this.rules[56]={name:\"TlsCase\",lower:\"tlscase\",index:56,isBkr:!1},this.rules[57]={name:\"TlsOpen\",lower:\"tlsopen\",index:57,isBkr:!1},this.rules[58]={name:\"TlsClose\",lower:\"tlsclose\",index:58,isBkr:!1},this.rules[59]={name:\"TlsString\",lower:\"tlsstring\",index:59,isBkr:!1},this.rules[60]={name:\"StringTab\",lower:\"stringtab\",index:60,isBkr:!1},this.rules[61]={name:\"ClsOp\",lower:\"clsop\",index:61,isBkr:!1},this.rules[62]={name:\"ClsOpen\",lower:\"clsopen\",index:62,isBkr:!1},this.rules[63]={name:\"ClsClose\",lower:\"clsclose\",index:63,isBkr:!1},this.rules[64]={name:\"ClsString\",lower:\"clsstring\",index:64,isBkr:!1},this.rules[65]={name:\"ProsVal\",lower:\"prosval\",index:65,isBkr:!1},this.rules[66]={name:\"ProsValOpen\",lower:\"prosvalopen\",index:66,isBkr:!1},this.rules[67]={name:\"ProsValString\",lower:\"prosvalstring\",index:67,isBkr:!1},this.rules[68]={name:\"ProsValClose\",lower:\"prosvalclose\",index:68,isBkr:!1},this.rules[69]={name:\"rep-min\",lower:\"rep-min\",index:69,isBkr:!1},this.rules[70]={name:\"rep-min-max\",lower:\"rep-min-max\",index:70,isBkr:!1},this.rules[71]={name:\"rep-max\",lower:\"rep-max\",index:71,isBkr:!1},this.rules[72]={name:\"rep-num\",lower:\"rep-num\",index:72,isBkr:!1},this.rules[73]={name:\"dString\",lower:\"dstring\",index:73,isBkr:!1},this.rules[74]={name:\"xString\",lower:\"xstring\",index:74,isBkr:!1},this.rules[75]={name:\"bString\",lower:\"bstring\",index:75,isBkr:!1},this.rules[76]={name:\"Dec\",lower:\"dec\",index:76,isBkr:!1},this.rules[77]={name:\"Hex\",lower:\"hex\",index:77,isBkr:!1},this.rules[78]={name:\"Bin\",lower:\"bin\",index:78,isBkr:!1},this.rules[79]={name:\"dmin\",lower:\"dmin\",index:79,isBkr:!1},this.rules[80]={name:\"dmax\",lower:\"dmax\",index:80,isBkr:!1},this.rules[81]={name:\"bmin\",lower:\"bmin\",index:81,isBkr:!1},this.rules[82]={name:\"bmax\",lower:\"bmax\",index:82,isBkr:!1},this.rules[83]={name:\"xmin\",lower:\"xmin\",index:83,isBkr:!1},this.rules[84]={name:\"xmax\",lower:\"xmax\",index:84,isBkr:!1},this.rules[85]={name:\"dnum\",lower:\"dnum\",index:85,isBkr:!1},this.rules[86]={name:\"bnum\",lower:\"bnum\",index:86,isBkr:!1},this.rules[87]={name:\"xnum\",lower:\"xnum\",index:87,isBkr:!1},this.rules[88]={name:\"alphanum\",lower:\"alphanum\",index:88,isBkr:!1},this.rules[89]={name:\"owsp\",lower:\"owsp\",index:89,isBkr:!1},this.rules[90]={name:\"wsp\",lower:\"wsp\",index:90,isBkr:!1},this.rules[91]={name:\"space\",lower:\"space\",index:91,isBkr:!1},this.rules[92]={name:\"comment\",lower:\"comment\",index:92,isBkr:!1},this.rules[93]={name:\"LineEnd\",lower:\"lineend\",index:93,isBkr:!1},this.rules[94]={name:\"LineContinue\",lower:\"linecontinue\",index:94,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:1,children:[2,3,4]},this.rules[0].opcodes[2]={type:4,index:1},this.rules[0].opcodes[3]={type:4,index:2},this.rules[0].opcodes[4]={type:4,index:12},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:2,children:[1,5,7]},this.rules[1].opcodes[1]={type:3,min:0,max:1/0},this.rules[1].opcodes[2]={type:1,children:[3,4]},this.rules[1].opcodes[3]={type:6,string:[32]},this.rules[1].opcodes[4]={type:6,string:[9]},this.rules[1].opcodes[5]={type:3,min:0,max:1},this.rules[1].opcodes[6]={type:4,index:92},this.rules[1].opcodes[7]={type:4,index:93},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:2,children:[1,2,3,4]},this.rules[2].opcodes[1]={type:4,index:3},this.rules[2].opcodes[2]={type:4,index:89},this.rules[2].opcodes[3]={type:4,index:14},this.rules[2].opcodes[4]={type:1,children:[5,8]},this.rules[2].opcodes[5]={type:2,children:[6,7]},this.rules[2].opcodes[6]={type:4,index:89},this.rules[2].opcodes[7]={type:4,index:93},this.rules[2].opcodes[8]={type:2,children:[9,10]},this.rules[2].opcodes[9]={type:4,index:13},this.rules[2].opcodes[10]={type:4,index:93},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2,3]},this.rules[3].opcodes[1]={type:4,index:4},this.rules[3].opcodes[2]={type:4,index:89},this.rules[3].opcodes[3]={type:4,index:7},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:4,index:88},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:3,min:1,max:1/0},this.rules[6].opcodes[1]={type:1,children:[2,3]},this.rules[6].opcodes[2]={type:5,min:33,max:60},this.rules[6].opcodes[3]={type:5,min:62,max:126},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:1,children:[1,2]},this.rules[7].opcodes[1]={type:4,index:9},this.rules[7].opcodes[2]={type:4,index:8},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:3,min:1,max:2},this.rules[8].opcodes[1]={type:5,min:33,max:126},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:1,children:[1,2]},this.rules[9].opcodes[1]={type:4,index:11},this.rules[9].opcodes[2]={type:4,index:10},this.rules[10].opcodes=[],this.rules[10].opcodes[0]={type:6,string:[61]},this.rules[11].opcodes=[],this.rules[11].opcodes[0]={type:6,string:[61,47]},this.rules[12].opcodes=[],this.rules[12].opcodes[0]={type:2,children:[1,6]},this.rules[12].opcodes[1]={type:3,min:1,max:1/0},this.rules[12].opcodes[2]={type:1,children:[3,4,5]},this.rules[12].opcodes[3]={type:5,min:32,max:126},this.rules[12].opcodes[4]={type:6,string:[9]},this.rules[12].opcodes[5]={type:4,index:94},this.rules[12].opcodes[6]={type:4,index:93},this.rules[13].opcodes=[],this.rules[13].opcodes[0]={type:3,min:1,max:1/0},this.rules[13].opcodes[1]={type:1,children:[2,3,4]},this.rules[13].opcodes[2]={type:5,min:32,max:126},this.rules[13].opcodes[3]={type:6,string:[9]},this.rules[13].opcodes[4]={type:4,index:94},this.rules[14].opcodes=[],this.rules[14].opcodes[0]={type:2,children:[1,2]},this.rules[14].opcodes[1]={type:4,index:15},this.rules[14].opcodes[2]={type:3,min:0,max:1/0},this.rules[14].opcodes[3]={type:2,children:[4,5,6]},this.rules[14].opcodes[4]={type:4,index:89},this.rules[14].opcodes[5]={type:4,index:44},this.rules[14].opcodes[6]={type:4,index:15},this.rules[15].opcodes=[],this.rules[15].opcodes[0]={type:2,children:[1,2]},this.rules[15].opcodes[1]={type:4,index:16},this.rules[15].opcodes[2]={type:3,min:0,max:1/0},this.rules[15].opcodes[3]={type:2,children:[4,5]},this.rules[15].opcodes[4]={type:4,index:45},this.rules[15].opcodes[5]={type:4,index:16},this.rules[16].opcodes=[],this.rules[16].opcodes[0]={type:2,children:[1,3]},this.rules[16].opcodes[1]={type:3,min:0,max:1},this.rules[16].opcodes[2]={type:4,index:17},this.rules[16].opcodes[3]={type:1,children:[4,5,6,7]},this.rules[16].opcodes[4]={type:4,index:21},this.rules[16].opcodes[5]={type:4,index:25},this.rules[16].opcodes[6]={type:4,index:19},this.rules[16].opcodes[7]={type:4,index:20},this.rules[17].opcodes=[],this.rules[17].opcodes[0]={type:1,children:[1,5]},this.rules[17].opcodes[1]={type:2,children:[2,3]},this.rules[17].opcodes[2]={type:4,index:18},this.rules[17].opcodes[3]={type:3,min:0,max:1},this.rules[17].opcodes[4]={type:4,index:43},this.rules[17].opcodes[5]={type:4,index:43},this.rules[18].opcodes=[],this.rules[18].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[18].opcodes[1]={type:4,index:49},this.rules[18].opcodes[2]={type:4,index:50},this.rules[18].opcodes[3]={type:4,index:47},this.rules[18].opcodes[4]={type:4,index:48},this.rules[19].opcodes=[],this.rules[19].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8,9,10]},this.rules[19].opcodes[1]={type:4,index:40},this.rules[19].opcodes[2]={type:4,index:29},this.rules[19].opcodes[3]={type:4,index:53},this.rules[19].opcodes[4]={type:4,index:54},this.rules[19].opcodes[5]={type:4,index:55},this.rules[19].opcodes[6]={type:4,index:61},this.rules[19].opcodes[7]={type:4,index:30},this.rules[19].opcodes[8]={type:4,index:51},this.rules[19].opcodes[9]={type:4,index:52},this.rules[19].opcodes[10]={type:4,index:65},this.rules[20].opcodes=[],this.rules[20].opcodes[0]={type:3,min:1,max:1/0},this.rules[20].opcodes[1]={type:1,children:[2,3,4,5]},this.rules[20].opcodes[2]={type:5,min:33,max:40},this.rules[20].opcodes[3]={type:5,min:42,max:46},this.rules[20].opcodes[4]={type:5,min:48,max:92},this.rules[20].opcodes[5]={type:5,min:94,max:126},this.rules[21].opcodes=[],this.rules[21].opcodes[0]={type:2,children:[1,2,3]},this.rules[21].opcodes[1]={type:4,index:23},this.rules[21].opcodes[2]={type:4,index:14},this.rules[21].opcodes[3]={type:1,children:[4,5]},this.rules[21].opcodes[4]={type:4,index:24},this.rules[21].opcodes[5]={type:4,index:22},this.rules[22].opcodes=[],this.rules[22].opcodes[0]={type:3,min:1,max:1/0},this.rules[22].opcodes[1]={type:1,children:[2,3,4,5]},this.rules[22].opcodes[2]={type:5,min:33,max:40},this.rules[22].opcodes[3]={type:5,min:42,max:46},this.rules[22].opcodes[4]={type:5,min:48,max:92},this.rules[22].opcodes[5]={type:5,min:94,max:126},this.rules[23].opcodes=[],this.rules[23].opcodes[0]={type:2,children:[1,2]},this.rules[23].opcodes[1]={type:6,string:[40]},this.rules[23].opcodes[2]={type:4,index:89},this.rules[24].opcodes=[],this.rules[24].opcodes[0]={type:2,children:[1,2]},this.rules[24].opcodes[1]={type:4,index:89},this.rules[24].opcodes[2]={type:6,string:[41]},this.rules[25].opcodes=[],this.rules[25].opcodes[0]={type:2,children:[1,2,3]},this.rules[25].opcodes[1]={type:4,index:27},this.rules[25].opcodes[2]={type:4,index:14},this.rules[25].opcodes[3]={type:1,children:[4,5]},this.rules[25].opcodes[4]={type:4,index:28},this.rules[25].opcodes[5]={type:4,index:26},this.rules[26].opcodes=[],this.rules[26].opcodes[0]={type:3,min:1,max:1/0},this.rules[26].opcodes[1]={type:1,children:[2,3,4,5]},this.rules[26].opcodes[2]={type:5,min:33,max:40},this.rules[26].opcodes[3]={type:5,min:42,max:46},this.rules[26].opcodes[4]={type:5,min:48,max:92},this.rules[26].opcodes[5]={type:5,min:94,max:126},this.rules[27].opcodes=[],this.rules[27].opcodes[0]={type:2,children:[1,2]},this.rules[27].opcodes[1]={type:6,string:[91]},this.rules[27].opcodes[2]={type:4,index:89},this.rules[28].opcodes=[],this.rules[28].opcodes[0]={type:2,children:[1,2]},this.rules[28].opcodes[1]={type:4,index:89},this.rules[28].opcodes[2]={type:6,string:[93]},this.rules[29].opcodes=[],this.rules[29].opcodes[0]={type:4,index:88},this.rules[30].opcodes=[],this.rules[30].opcodes[0]={type:2,children:[1,2,4]},this.rules[30].opcodes[1]={type:6,string:[92]},this.rules[30].opcodes[2]={type:3,min:0,max:1},this.rules[30].opcodes[3]={type:4,index:31},this.rules[30].opcodes[4]={type:4,index:36},this.rules[31].opcodes=[],this.rules[31].opcodes[0]={type:1,children:[1,7,13,19]},this.rules[31].opcodes[1]={type:2,children:[2,3]},this.rules[31].opcodes[2]={type:4,index:32},this.rules[31].opcodes[3]={type:3,min:0,max:1},this.rules[31].opcodes[4]={type:1,children:[5,6]},this.rules[31].opcodes[5]={type:4,index:34},this.rules[31].opcodes[6]={type:4,index:35},this.rules[31].opcodes[7]={type:2,children:[8,9]},this.rules[31].opcodes[8]={type:4,index:33},this.rules[31].opcodes[9]={type:3,min:0,max:1},this.rules[31].opcodes[10]={type:1,children:[11,12]},this.rules[31].opcodes[11]={type:4,index:34},this.rules[31].opcodes[12]={type:4,index:35},this.rules[31].opcodes[13]={type:2,children:[14,15]},this.rules[31].opcodes[14]={type:4,index:34},this.rules[31].opcodes[15]={type:3,min:0,max:1},this.rules[31].opcodes[16]={type:1,children:[17,18]},this.rules[31].opcodes[17]={type:4,index:32},this.rules[31].opcodes[18]={type:4,index:33},this.rules[31].opcodes[19]={type:2,children:[20,21]},this.rules[31].opcodes[20]={type:4,index:35},this.rules[31].opcodes[21]={type:3,min:0,max:1},this.rules[31].opcodes[22]={type:1,children:[23,24]},this.rules[31].opcodes[23]={type:4,index:32},this.rules[31].opcodes[24]={type:4,index:33},this.rules[32].opcodes=[],this.rules[32].opcodes[0]={type:6,string:[37,115]},this.rules[33].opcodes=[],this.rules[33].opcodes[0]={type:6,string:[37,105]},this.rules[34].opcodes=[],this.rules[34].opcodes[0]={type:6,string:[37,117]},this.rules[35].opcodes=[],this.rules[35].opcodes[0]={type:6,string:[37,112]},this.rules[36].opcodes=[],this.rules[36].opcodes[0]={type:1,children:[1,2,3]},this.rules[36].opcodes[1]={type:4,index:38},this.rules[36].opcodes[2]={type:4,index:39},this.rules[36].opcodes[3]={type:4,index:37},this.rules[37].opcodes=[],this.rules[37].opcodes[0]={type:4,index:88},this.rules[38].opcodes=[],this.rules[38].opcodes[0]={type:2,children:[1,2]},this.rules[38].opcodes[1]={type:6,string:[117,95]},this.rules[38].opcodes[2]={type:4,index:88},this.rules[39].opcodes=[],this.rules[39].opcodes[0]={type:2,children:[1,2]},this.rules[39].opcodes[1]={type:6,string:[101,95]},this.rules[39].opcodes[2]={type:4,index:88},this.rules[40].opcodes=[],this.rules[40].opcodes[0]={type:1,children:[1,2]},this.rules[40].opcodes[1]={type:4,index:42},this.rules[40].opcodes[2]={type:4,index:41},this.rules[41].opcodes=[],this.rules[41].opcodes[0]={type:2,children:[1,2]},this.rules[41].opcodes[1]={type:6,string:[117,95]},this.rules[41].opcodes[2]={type:4,index:88},this.rules[42].opcodes=[],this.rules[42].opcodes[0]={type:2,children:[1,2]},this.rules[42].opcodes[1]={type:6,string:[101,95]},this.rules[42].opcodes[2]={type:4,index:88},this.rules[43].opcodes=[],this.rules[43].opcodes[0]={type:1,children:[1,5,8,11,12]},this.rules[43].opcodes[1]={type:2,children:[2,3,4]},this.rules[43].opcodes[2]={type:4,index:69},this.rules[43].opcodes[3]={type:4,index:46},this.rules[43].opcodes[4]={type:4,index:71},this.rules[43].opcodes[5]={type:2,children:[6,7]},this.rules[43].opcodes[6]={type:4,index:69},this.rules[43].opcodes[7]={type:4,index:46},this.rules[43].opcodes[8]={type:2,children:[9,10]},this.rules[43].opcodes[9]={type:4,index:46},this.rules[43].opcodes[10]={type:4,index:71},this.rules[43].opcodes[11]={type:4,index:46},this.rules[43].opcodes[12]={type:4,index:70},this.rules[44].opcodes=[],this.rules[44].opcodes[0]={type:2,children:[1,2]},this.rules[44].opcodes[1]={type:6,string:[47]},this.rules[44].opcodes[2]={type:4,index:89},this.rules[45].opcodes=[],this.rules[45].opcodes[0]={type:4,index:90},this.rules[46].opcodes=[],this.rules[46].opcodes[0]={type:6,string:[42]},this.rules[47].opcodes=[],this.rules[47].opcodes[0]={type:6,string:[38]},this.rules[48].opcodes=[],this.rules[48].opcodes[0]={type:6,string:[33]},this.rules[49].opcodes=[],this.rules[49].opcodes[0]={type:6,string:[38,38]},this.rules[50].opcodes=[],this.rules[50].opcodes[0]={type:6,string:[33,33]},this.rules[51].opcodes=[],this.rules[51].opcodes[0]={type:6,string:[37,94]},this.rules[52].opcodes=[],this.rules[52].opcodes[0]={type:6,string:[37,36]},this.rules[53].opcodes=[],this.rules[53].opcodes[0]={type:2,children:[1,2]},this.rules[53].opcodes[1]={type:6,string:[37]},this.rules[53].opcodes[2]={type:1,children:[3,8,13]},this.rules[53].opcodes[3]={type:2,children:[4,5,6,7]},this.rules[53].opcodes[4]={type:4,index:76},this.rules[53].opcodes[5]={type:4,index:79},this.rules[53].opcodes[6]={type:6,string:[45]},this.rules[53].opcodes[7]={type:4,index:80},this.rules[53].opcodes[8]={type:2,children:[9,10,11,12]},this.rules[53].opcodes[9]={type:4,index:77},this.rules[53].opcodes[10]={type:4,index:83},this.rules[53].opcodes[11]={type:6,string:[45]},this.rules[53].opcodes[12]={type:4,index:84},this.rules[53].opcodes[13]={type:2,children:[14,15,16,17]},this.rules[53].opcodes[14]={type:4,index:78},this.rules[53].opcodes[15]={type:4,index:81},this.rules[53].opcodes[16]={type:6,string:[45]},this.rules[53].opcodes[17]={type:4,index:82},this.rules[54].opcodes=[],this.rules[54].opcodes[0]={type:2,children:[1,2]},this.rules[54].opcodes[1]={type:6,string:[37]},this.rules[54].opcodes[2]={type:1,children:[3,10,17]},this.rules[54].opcodes[3]={type:2,children:[4,5,6]},this.rules[54].opcodes[4]={type:4,index:76},this.rules[54].opcodes[5]={type:4,index:73},this.rules[54].opcodes[6]={type:3,min:0,max:1/0},this.rules[54].opcodes[7]={type:2,children:[8,9]},this.rules[54].opcodes[8]={type:6,string:[46]},this.rules[54].opcodes[9]={type:4,index:73},this.rules[54].opcodes[10]={type:2,children:[11,12,13]},this.rules[54].opcodes[11]={type:4,index:77},this.rules[54].opcodes[12]={type:4,index:74},this.rules[54].opcodes[13]={type:3,min:0,max:1/0},this.rules[54].opcodes[14]={type:2,children:[15,16]},this.rules[54].opcodes[15]={type:6,string:[46]},this.rules[54].opcodes[16]={type:4,index:74},this.rules[54].opcodes[17]={type:2,children:[18,19,20]},this.rules[54].opcodes[18]={type:4,index:78},this.rules[54].opcodes[19]={type:4,index:75},this.rules[54].opcodes[20]={type:3,min:0,max:1/0},this.rules[54].opcodes[21]={type:2,children:[22,23]},this.rules[54].opcodes[22]={type:6,string:[46]},this.rules[54].opcodes[23]={type:4,index:75},this.rules[55].opcodes=[],this.rules[55].opcodes[0]={type:2,children:[1,2,3,4]},this.rules[55].opcodes[1]={type:4,index:56},this.rules[55].opcodes[2]={type:4,index:57},this.rules[55].opcodes[3]={type:4,index:59},this.rules[55].opcodes[4]={type:4,index:58},this.rules[56].opcodes=[],this.rules[56].opcodes[0]={type:3,min:0,max:1},this.rules[56].opcodes[1]={type:1,children:[2,3]},this.rules[56].opcodes[2]={type:7,string:[37,105]},this.rules[56].opcodes[3]={type:7,string:[37,115]},this.rules[57].opcodes=[],this.rules[57].opcodes[0]={type:6,string:[34]},this.rules[58].opcodes=[],this.rules[58].opcodes[0]={type:6,string:[34]},this.rules[59].opcodes=[],this.rules[59].opcodes[0]={type:3,min:0,max:1/0},this.rules[59].opcodes[1]={type:1,children:[2,3,4]},this.rules[59].opcodes[2]={type:5,min:32,max:33},this.rules[59].opcodes[3]={type:5,min:35,max:126},this.rules[59].opcodes[4]={type:4,index:60},this.rules[60].opcodes=[],this.rules[60].opcodes[0]={type:6,string:[9]},this.rules[61].opcodes=[],this.rules[61].opcodes[0]={type:2,children:[1,2,3]},this.rules[61].opcodes[1]={type:4,index:62},this.rules[61].opcodes[2]={type:4,index:64},this.rules[61].opcodes[3]={type:4,index:63},this.rules[62].opcodes=[],this.rules[62].opcodes[0]={type:6,string:[39]},this.rules[63].opcodes=[],this.rules[63].opcodes[0]={type:6,string:[39]},this.rules[64].opcodes=[],this.rules[64].opcodes[0]={type:3,min:0,max:1/0},this.rules[64].opcodes[1]={type:1,children:[2,3,4]},this.rules[64].opcodes[2]={type:5,min:32,max:38},this.rules[64].opcodes[3]={type:5,min:40,max:126},this.rules[64].opcodes[4]={type:4,index:60},this.rules[65].opcodes=[],this.rules[65].opcodes[0]={type:2,children:[1,2,3]},this.rules[65].opcodes[1]={type:4,index:66},this.rules[65].opcodes[2]={type:4,index:67},this.rules[65].opcodes[3]={type:4,index:68},this.rules[66].opcodes=[],this.rules[66].opcodes[0]={type:6,string:[60]},this.rules[67].opcodes=[],this.rules[67].opcodes[0]={type:3,min:0,max:1/0},this.rules[67].opcodes[1]={type:1,children:[2,3,4]},this.rules[67].opcodes[2]={type:5,min:32,max:61},this.rules[67].opcodes[3]={type:5,min:63,max:126},this.rules[67].opcodes[4]={type:4,index:60},this.rules[68].opcodes=[],this.rules[68].opcodes[0]={type:6,string:[62]},this.rules[69].opcodes=[],this.rules[69].opcodes[0]={type:4,index:72},this.rules[70].opcodes=[],this.rules[70].opcodes[0]={type:4,index:72},this.rules[71].opcodes=[],this.rules[71].opcodes[0]={type:4,index:72},this.rules[72].opcodes=[],this.rules[72].opcodes[0]={type:3,min:1,max:1/0},this.rules[72].opcodes[1]={type:5,min:48,max:57},this.rules[73].opcodes=[],this.rules[73].opcodes[0]={type:4,index:85},this.rules[74].opcodes=[],this.rules[74].opcodes[0]={type:4,index:87},this.rules[75].opcodes=[],this.rules[75].opcodes[0]={type:4,index:86},this.rules[76].opcodes=[],this.rules[76].opcodes[0]={type:1,children:[1,2]},this.rules[76].opcodes[1]={type:6,string:[68]},this.rules[76].opcodes[2]={type:6,string:[100]},this.rules[77].opcodes=[],this.rules[77].opcodes[0]={type:1,children:[1,2]},this.rules[77].opcodes[1]={type:6,string:[88]},this.rules[77].opcodes[2]={type:6,string:[120]},this.rules[78].opcodes=[],this.rules[78].opcodes[0]={type:1,children:[1,2]},this.rules[78].opcodes[1]={type:6,string:[66]},this.rules[78].opcodes[2]={type:6,string:[98]},this.rules[79].opcodes=[],this.rules[79].opcodes[0]={type:4,index:85},this.rules[80].opcodes=[],this.rules[80].opcodes[0]={type:4,index:85},this.rules[81].opcodes=[],this.rules[81].opcodes[0]={type:4,index:86},this.rules[82].opcodes=[],this.rules[82].opcodes[0]={type:4,index:86},this.rules[83].opcodes=[],this.rules[83].opcodes[0]={type:4,index:87},this.rules[84].opcodes=[],this.rules[84].opcodes[0]={type:4,index:87},this.rules[85].opcodes=[],this.rules[85].opcodes[0]={type:3,min:1,max:1/0},this.rules[85].opcodes[1]={type:5,min:48,max:57},this.rules[86].opcodes=[],this.rules[86].opcodes[0]={type:3,min:1,max:1/0},this.rules[86].opcodes[1]={type:5,min:48,max:49},this.rules[87].opcodes=[],this.rules[87].opcodes[0]={type:3,min:1,max:1/0},this.rules[87].opcodes[1]={type:1,children:[2,3,4]},this.rules[87].opcodes[2]={type:5,min:48,max:57},this.rules[87].opcodes[3]={type:5,min:65,max:70},this.rules[87].opcodes[4]={type:5,min:97,max:102},this.rules[88].opcodes=[],this.rules[88].opcodes[0]={type:2,children:[1,4]},this.rules[88].opcodes[1]={type:1,children:[2,3]},this.rules[88].opcodes[2]={type:5,min:97,max:122},this.rules[88].opcodes[3]={type:5,min:65,max:90},this.rules[88].opcodes[4]={type:3,min:0,max:1/0},this.rules[88].opcodes[5]={type:1,children:[6,7,8,9]},this.rules[88].opcodes[6]={type:5,min:97,max:122},this.rules[88].opcodes[7]={type:5,min:65,max:90},this.rules[88].opcodes[8]={type:5,min:48,max:57},this.rules[88].opcodes[9]={type:6,string:[45]},this.rules[89].opcodes=[],this.rules[89].opcodes[0]={type:3,min:0,max:1/0},this.rules[89].opcodes[1]={type:4,index:91},this.rules[90].opcodes=[],this.rules[90].opcodes[0]={type:3,min:1,max:1/0},this.rules[90].opcodes[1]={type:4,index:91},this.rules[91].opcodes=[],this.rules[91].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[91].opcodes[1]={type:6,string:[32]},this.rules[91].opcodes[2]={type:6,string:[9]},this.rules[91].opcodes[3]={type:4,index:92},this.rules[91].opcodes[4]={type:4,index:94},this.rules[92].opcodes=[],this.rules[92].opcodes[0]={type:2,children:[1,2]},this.rules[92].opcodes[1]={type:6,string:[59]},this.rules[92].opcodes[2]={type:3,min:0,max:1/0},this.rules[92].opcodes[3]={type:1,children:[4,5]},this.rules[92].opcodes[4]={type:5,min:32,max:126},this.rules[92].opcodes[5]={type:6,string:[9]},this.rules[93].opcodes=[],this.rules[93].opcodes[0]={type:1,children:[1,2,3]},this.rules[93].opcodes[1]={type:6,string:[13,10]},this.rules[93].opcodes[2]={type:6,string:[10]},this.rules[93].opcodes[3]={type:6,string:[13]},this.rules[94].opcodes=[],this.rules[94].opcodes[0]={type:2,children:[1,5]},this.rules[94].opcodes[1]={type:1,children:[2,3,4]},this.rules[94].opcodes[2]={type:6,string:[13,10]},this.rules[94].opcodes[3]={type:6,string:[10]},this.rules[94].opcodes[4]={type:6,string:[13]},this.rules[94].opcodes[5]={type:1,children:[6,7]},this.rules[94].opcodes[6]={type:6,string:[32]},this.rules[94].opcodes[7]={type:6,string:[9]},this.toString=function(){let e=\"\";return e+=\";\\n\",e+=\"; ABNF for JavaScript APG 2.0 SABNF\\n\",e+=\"; RFC 5234 with some restrictions and additions.\\n\",e+=\"; Updated 11/24/2015 for RFC 7405 case-sensitive literal string notation\\n\",e+=';  - accepts %s\"string\" as a case-sensitive string\\n',e+=';  - accepts %i\"string\" as a case-insensitive string\\n',e+=';  - accepts \"string\" as a case-insensitive string\\n',e+=\";\\n\",e+=\"; Some restrictions:\\n\",e+=\";   1. Rules must begin at first character of each line.\\n\",e+=\";      Indentations on first rule and rules thereafter are not allowed.\\n\",e+=\";   2. Relaxed line endings. CRLF, LF or CR are accepted as valid line ending.\\n\",e+=\";   3. Prose values, i.e. <prose value>, are accepted as valid grammar syntax.\\n\",e+=\";      However, a working parser cannot be generated from them.\\n\",e+=\";\\n\",e+=\"; Super set (SABNF) additions:\\n\",e+=\";   1. Look-ahead (syntactic predicate) operators are accepted as element prefixes.\\n\",e+=\";      & is the positive look-ahead operator, succeeds and backtracks if the look-ahead phrase is found\\n\",e+=\";      ! is the negative look-ahead operator, succeeds and backtracks if the look-ahead phrase is NOT found\\n\",e+=\";      e.g. &%d13 or &rule or !(A / B)\\n\",e+=\";   2. User-Defined Terminals (UDT) of the form, u_name and e_name are accepted.\\n\",e+=\";      'name' is alpha followed by alpha/num/hyphen just like a rule name.\\n\",e+=\";      u_name may be used as an element but no rule definition is given.\\n\",e+=\";      e.g. rule = A / u_myUdt\\n\",e+=';           A = \"a\"\\n',e+=\";      would be a valid grammar.\\n\",e+=\";   3. Case-sensitive, single-quoted strings are accepted.\\n\",e+=\";      e.g. 'abc' would be equivalent to %d97.98.99\\n\",e+=';      (kept for backward compatibility, but superseded by %s\"abc\")  \\n',e+=\"; New 12/26/2015\\n\",e+=\";   4. Look-behind operators are accepted as element prefixes.\\n\",e+=\";      && is the positive look-behind operator, succeeds and backtracks if the look-behind phrase is found\\n\",e+=\";      !! is the negative look-behind operator, succeeds and backtracks if the look-behind phrase is NOT found\\n\",e+=\";      e.g. &&%d13 or &&rule or !!(A / B)\\n\",e+=\";   5. Back reference operators, i.e. \\\\rulename, are accepted.\\n\",e+=\";      A back reference operator acts like a TLS or TBS terminal except that the phrase it attempts\\n\",e+=\";      to match is a phrase previously matched by the rule 'rulename'.\\n\",e+=\";      There are two modes of previous phrase matching - the parent-frame mode and the universal mode.\\n\",e+=\";      In universal mode, \\\\rulename matches the last match to 'rulename' regardless of where it was found.\\n\",e+=\";      In parent-frame mode, \\\\rulename matches only the last match found on the parent's frame or parse tree level.\\n\",e+=\";      Back reference modifiers can be used to specify case and mode.\\n\",e+=\";      \\\\A defaults to case-insensitive and universal mode, e.g. \\\\A === \\\\%i%uA\\n\",e+=\";      Modifiers %i and %s determine case-insensitive and case-sensitive mode, respectively.\\n\",e+=\";      Modifiers %u and %p determine universal mode and parent frame mode, respectively.\\n\",e+=\";      Case and mode modifiers can appear in any order, e.g. \\\\%s%pA === \\\\%p%sA. \\n\",e+=\";   7. String begin anchor, ABG(%^) matches the beginning of the input string location.\\n\",e+=\";      Returns EMPTY or NOMATCH. Never consumes any characters.\\n\",e+=\";   8. String end anchor, AEN(%$) matches the end of the input string location.\\n\",e+=\";      Returns EMPTY or NOMATCH. Never consumes any characters.\\n\",e+=\";\\n\",e+=\"File            = *(BlankLine / Rule / RuleError)\\n\",e+=\"BlankLine       = *(%d32/%d9) [comment] LineEnd\\n\",e+=\"Rule            = RuleLookup owsp Alternation ((owsp LineEnd)\\n\",e+=\"                / (LineEndError LineEnd))\\n\",e+=\"RuleLookup      = RuleNameTest owsp DefinedAsTest\\n\",e+=\"RuleNameTest    = RuleName/RuleNameError\\n\",e+=\"RuleName        = alphanum\\n\",e+=\"RuleNameError   = 1*(%d33-60/%d62-126)\\n\",e+=\"DefinedAsTest   = DefinedAs / DefinedAsError\\n\",e+=\"DefinedAsError  = 1*2%d33-126\\n\",e+=\"DefinedAs       = IncAlt / Defined\\n\",e+=\"Defined         = %d61\\n\",e+=\"IncAlt          = %d61.47\\n\",e+=\"RuleError       = 1*(%d32-126 / %d9  / LineContinue) LineEnd\\n\",e+=\"LineEndError    = 1*(%d32-126 / %d9  / LineContinue)\\n\",e+=\"Alternation     = Concatenation *(owsp AltOp Concatenation)\\n\",e+=\"Concatenation   = Repetition *(CatOp Repetition)\\n\",e+=\"Repetition      = [Modifier] (Group / Option / BasicElement / BasicElementErr)\\n\",e+=\"Modifier        = (Predicate [RepOp])\\n\",e+=\"                / RepOp\\n\",e+=\"Predicate       = BkaOp\\n\",e+=\"                / BknOp\\n\",e+=\"                / AndOp\\n\",e+=\"                / NotOp\\n\",e+=\"BasicElement    = UdtOp\\n\",e+=\"                / RnmOp\\n\",e+=\"                / TrgOp\\n\",e+=\"                / TbsOp\\n\",e+=\"                / TlsOp\\n\",e+=\"                / ClsOp\\n\",e+=\"                / BkrOp\\n\",e+=\"                / AbgOp\\n\",e+=\"                / AenOp\\n\",e+=\"                / ProsVal\\n\",e+=\"BasicElementErr = 1*(%d33-40/%d42-46/%d48-92/%d94-126)\\n\",e+=\"Group           = GroupOpen  Alternation (GroupClose / GroupError)\\n\",e+=\"GroupError      = 1*(%d33-40/%d42-46/%d48-92/%d94-126) ; same as BasicElementErr\\n\",e+=\"GroupOpen       = %d40 owsp\\n\",e+=\"GroupClose      = owsp %d41\\n\",e+=\"Option          = OptionOpen Alternation (OptionClose / OptionError)\\n\",e+=\"OptionError     = 1*(%d33-40/%d42-46/%d48-92/%d94-126) ; same as BasicElementErr\\n\",e+=\"OptionOpen      = %d91 owsp\\n\",e+=\"OptionClose     = owsp %d93\\n\",e+=\"RnmOp           = alphanum\\n\",e+=\"BkrOp           = %d92 [bkrModifier] bkr-name\\n\",e+=\"bkrModifier     = (cs [um / pm]) / (ci [um / pm]) / (um [cs /ci]) / (pm [cs / ci])\\n\",e+=\"cs              = '%s'\\n\",e+=\"ci              = '%i'\\n\",e+=\"um              = '%u'\\n\",e+=\"pm              = '%p'\\n\",e+=\"bkr-name        = uname / ename / rname\\n\",e+=\"rname           = alphanum\\n\",e+=\"uname           = %d117.95 alphanum\\n\",e+=\"ename           = %d101.95 alphanum\\n\",e+=\"UdtOp           = udt-empty\\n\",e+=\"                / udt-non-empty\\n\",e+=\"udt-non-empty   = %d117.95 alphanum\\n\",e+=\"udt-empty       = %d101.95 alphanum\\n\",e+=\"RepOp           = (rep-min StarOp rep-max)\\n\",e+=\"                / (rep-min StarOp)\\n\",e+=\"                / (StarOp rep-max)\\n\",e+=\"                / StarOp\\n\",e+=\"                / rep-min-max\\n\",e+=\"AltOp           = %d47 owsp\\n\",e+=\"CatOp           = wsp\\n\",e+=\"StarOp          = %d42\\n\",e+=\"AndOp           = %d38\\n\",e+=\"NotOp           = %d33\\n\",e+=\"BkaOp           = %d38.38\\n\",e+=\"BknOp           = %d33.33\\n\",e+=\"AbgOp           = %d37.94\\n\",e+=\"AenOp           = %d37.36\\n\",e+=\"TrgOp           = %d37 ((Dec dmin %d45 dmax) / (Hex xmin %d45 xmax) / (Bin bmin %d45 bmax))\\n\",e+=\"TbsOp           = %d37 ((Dec dString *(%d46 dString)) / (Hex xString *(%d46 xString)) / (Bin bString *(%d46 bString)))\\n\",e+=\"TlsOp           = TlsCase TlsOpen TlsString TlsClose\\n\",e+='TlsCase         = [\"%i\" / \"%s\"]\\n',e+=\"TlsOpen         = %d34\\n\",e+=\"TlsClose        = %d34\\n\",e+=\"TlsString       = *(%d32-33/%d35-126/StringTab)\\n\",e+=\"StringTab       = %d9\\n\",e+=\"ClsOp           = ClsOpen ClsString ClsClose\\n\",e+=\"ClsOpen         = %d39\\n\",e+=\"ClsClose        = %d39\\n\",e+=\"ClsString       = *(%d32-38/%d40-126/StringTab)\\n\",e+=\"ProsVal         = ProsValOpen ProsValString ProsValClose\\n\",e+=\"ProsValOpen     = %d60\\n\",e+=\"ProsValString   = *(%d32-61/%d63-126/StringTab)\\n\",e+=\"ProsValClose    = %d62\\n\",e+=\"rep-min         = rep-num\\n\",e+=\"rep-min-max     = rep-num\\n\",e+=\"rep-max         = rep-num\\n\",e+=\"rep-num         = 1*(%d48-57)\\n\",e+=\"dString         = dnum\\n\",e+=\"xString         = xnum\\n\",e+=\"bString         = bnum\\n\",e+=\"Dec             = (%d68/%d100)\\n\",e+=\"Hex             = (%d88/%d120)\\n\",e+=\"Bin             = (%d66/%d98)\\n\",e+=\"dmin            = dnum\\n\",e+=\"dmax            = dnum\\n\",e+=\"bmin            = bnum\\n\",e+=\"bmax            = bnum\\n\",e+=\"xmin            = xnum\\n\",e+=\"xmax            = xnum\\n\",e+=\"dnum            = 1*(%d48-57)\\n\",e+=\"bnum            = 1*%d48-49\\n\",e+=\"xnum            = 1*(%d48-57 / %d65-70 / %d97-102)\\n\",e+=\";\\n\",e+=\"; Basics\\n\",e+=\"alphanum        = (%d97-122/%d65-90) *(%d97-122/%d65-90/%d48-57/%d45)\\n\",e+=\"owsp            = *space\\n\",e+=\"wsp             = 1*space\\n\",e+=\"space           = %d32\\n\",e+=\"                / %d9\\n\",e+=\"                / comment\\n\",e+=\"                / LineContinue\\n\",e+=\"comment         = %d59 *(%d32-126 / %d9)\\n\",e+=\"LineEnd         = %d13.10\\n\",e+=\"                / %d10\\n\",e+=\"                / %d13\\n\",e+=\"LineContinue    = (%d13.10 / %d10 / %d13) (%d32 / %d9)\\n\",\";\\n; ABNF for JavaScript APG 2.0 SABNF\\n; RFC 5234 with some restrictions and additions.\\n; Updated 11/24/2015 for RFC 7405 case-sensitive literal string notation\\n;  - accepts %s\\\"string\\\" as a case-sensitive string\\n;  - accepts %i\\\"string\\\" as a case-insensitive string\\n;  - accepts \\\"string\\\" as a case-insensitive string\\n;\\n; Some restrictions:\\n;   1. Rules must begin at first character of each line.\\n;      Indentations on first rule and rules thereafter are not allowed.\\n;   2. Relaxed line endings. CRLF, LF or CR are accepted as valid line ending.\\n;   3. Prose values, i.e. <prose value>, are accepted as valid grammar syntax.\\n;      However, a working parser cannot be generated from them.\\n;\\n; Super set (SABNF) additions:\\n;   1. Look-ahead (syntactic predicate) operators are accepted as element prefixes.\\n;      & is the positive look-ahead operator, succeeds and backtracks if the look-ahead phrase is found\\n;      ! is the negative look-ahead operator, succeeds and backtracks if the look-ahead phrase is NOT found\\n;      e.g. &%d13 or &rule or !(A / B)\\n;   2. User-Defined Terminals (UDT) of the form, u_name and e_name are accepted.\\n;      'name' is alpha followed by alpha/num/hyphen just like a rule name.\\n;      u_name may be used as an element but no rule definition is given.\\n;      e.g. rule = A / u_myUdt\\n;           A = \\\"a\\\"\\n;      would be a valid grammar.\\n;   3. Case-sensitive, single-quoted strings are accepted.\\n;      e.g. 'abc' would be equivalent to %d97.98.99\\n;      (kept for backward compatibility, but superseded by %s\\\"abc\\\")  \\n; New 12/26/2015\\n;   4. Look-behind operators are accepted as element prefixes.\\n;      && is the positive look-behind operator, succeeds and backtracks if the look-behind phrase is found\\n;      !! is the negative look-behind operator, succeeds and backtracks if the look-behind phrase is NOT found\\n;      e.g. &&%d13 or &&rule or !!(A / B)\\n;   5. Back reference operators, i.e. \\\\rulename, are accepted.\\n;      A back reference operator acts like a TLS or TBS terminal except that the phrase it attempts\\n;      to match is a phrase previously matched by the rule 'rulename'.\\n;      There are two modes of previous phrase matching - the parent-frame mode and the universal mode.\\n;      In universal mode, \\\\rulename matches the last match to 'rulename' regardless of where it was found.\\n;      In parent-frame mode, \\\\rulename matches only the last match found on the parent's frame or parse tree level.\\n;      Back reference modifiers can be used to specify case and mode.\\n;      \\\\A defaults to case-insensitive and universal mode, e.g. \\\\A === \\\\%i%uA\\n;      Modifiers %i and %s determine case-insensitive and case-sensitive mode, respectively.\\n;      Modifiers %u and %p determine universal mode and parent frame mode, respectively.\\n;      Case and mode modifiers can appear in any order, e.g. \\\\%s%pA === \\\\%p%sA. \\n;   7. String begin anchor, ABG(%^) matches the beginning of the input string location.\\n;      Returns EMPTY or NOMATCH. Never consumes any characters.\\n;   8. String end anchor, AEN(%$) matches the end of the input string location.\\n;      Returns EMPTY or NOMATCH. Never consumes any characters.\\n;\\nFile            = *(BlankLine / Rule / RuleError)\\nBlankLine       = *(%d32/%d9) [comment] LineEnd\\nRule            = RuleLookup owsp Alternation ((owsp LineEnd)\\n                / (LineEndError LineEnd))\\nRuleLookup      = RuleNameTest owsp DefinedAsTest\\nRuleNameTest    = RuleName/RuleNameError\\nRuleName        = alphanum\\nRuleNameError   = 1*(%d33-60/%d62-126)\\nDefinedAsTest   = DefinedAs / DefinedAsError\\nDefinedAsError  = 1*2%d33-126\\nDefinedAs       = IncAlt / Defined\\nDefined         = %d61\\nIncAlt          = %d61.47\\nRuleError       = 1*(%d32-126 / %d9  / LineContinue) LineEnd\\nLineEndError    = 1*(%d32-126 / %d9  / LineContinue)\\nAlternation     = Concatenation *(owsp AltOp Concatenation)\\nConcatenation   = Repetition *(CatOp Repetition)\\nRepetition      = [Modifier] (Group / Option / BasicElement / BasicElementErr)\\nModifier        = (Predicate [RepOp])\\n                / RepOp\\nPredicate       = BkaOp\\n                / BknOp\\n                / AndOp\\n                / NotOp\\nBasicElement    = UdtOp\\n                / RnmOp\\n                / TrgOp\\n                / TbsOp\\n                / TlsOp\\n                / ClsOp\\n                / BkrOp\\n                / AbgOp\\n                / AenOp\\n                / ProsVal\\nBasicElementErr = 1*(%d33-40/%d42-46/%d48-92/%d94-126)\\nGroup           = GroupOpen  Alternation (GroupClose / GroupError)\\nGroupError      = 1*(%d33-40/%d42-46/%d48-92/%d94-126) ; same as BasicElementErr\\nGroupOpen       = %d40 owsp\\nGroupClose      = owsp %d41\\nOption          = OptionOpen Alternation (OptionClose / OptionError)\\nOptionError     = 1*(%d33-40/%d42-46/%d48-92/%d94-126) ; same as BasicElementErr\\nOptionOpen      = %d91 owsp\\nOptionClose     = owsp %d93\\nRnmOp           = alphanum\\nBkrOp           = %d92 [bkrModifier] bkr-name\\nbkrModifier     = (cs [um / pm]) / (ci [um / pm]) / (um [cs /ci]) / (pm [cs / ci])\\ncs              = '%s'\\nci              = '%i'\\num              = '%u'\\npm              = '%p'\\nbkr-name        = uname / ename / rname\\nrname           = alphanum\\nuname           = %d117.95 alphanum\\nename           = %d101.95 alphanum\\nUdtOp           = udt-empty\\n                / udt-non-empty\\nudt-non-empty   = %d117.95 alphanum\\nudt-empty       = %d101.95 alphanum\\nRepOp           = (rep-min StarOp rep-max)\\n                / (rep-min StarOp)\\n                / (StarOp rep-max)\\n                / StarOp\\n                / rep-min-max\\nAltOp           = %d47 owsp\\nCatOp           = wsp\\nStarOp          = %d42\\nAndOp           = %d38\\nNotOp           = %d33\\nBkaOp           = %d38.38\\nBknOp           = %d33.33\\nAbgOp           = %d37.94\\nAenOp           = %d37.36\\nTrgOp           = %d37 ((Dec dmin %d45 dmax) / (Hex xmin %d45 xmax) / (Bin bmin %d45 bmax))\\nTbsOp           = %d37 ((Dec dString *(%d46 dString)) / (Hex xString *(%d46 xString)) / (Bin bString *(%d46 bString)))\\nTlsOp           = TlsCase TlsOpen TlsString TlsClose\\nTlsCase         = [\\\"%i\\\" / \\\"%s\\\"]\\nTlsOpen         = %d34\\nTlsClose        = %d34\\nTlsString       = *(%d32-33/%d35-126/StringTab)\\nStringTab       = %d9\\nClsOp           = ClsOpen ClsString ClsClose\\nClsOpen         = %d39\\nClsClose        = %d39\\nClsString       = *(%d32-38/%d40-126/StringTab)\\nProsVal         = ProsValOpen ProsValString ProsValClose\\nProsValOpen     = %d60\\nProsValString   = *(%d32-61/%d63-126/StringTab)\\nProsValClose    = %d62\\nrep-min         = rep-num\\nrep-min-max     = rep-num\\nrep-max         = rep-num\\nrep-num         = 1*(%d48-57)\\ndString         = dnum\\nxString         = xnum\\nbString         = bnum\\nDec             = (%d68/%d100)\\nHex             = (%d88/%d120)\\nBin             = (%d66/%d98)\\ndmin            = dnum\\ndmax            = dnum\\nbmin            = bnum\\nbmax            = bnum\\nxmin            = xnum\\nxmax            = xnum\\ndnum            = 1*(%d48-57)\\nbnum            = 1*%d48-49\\nxnum            = 1*(%d48-57 / %d65-70 / %d97-102)\\n;\\n; Basics\\nalphanum        = (%d97-122/%d65-90) *(%d97-122/%d65-90/%d48-57/%d45)\\nowsp            = *space\\nwsp             = 1*space\\nspace           = %d32\\n                / %d9\\n                / comment\\n                / LineContinue\\ncomment         = %d59 *(%d32-126 / %d9)\\nLineEnd         = %d13.10\\n                / %d10\\n                / %d13\\nLineContinue    = (%d13.10 / %d10 / %d13) (%d32 / %d9)\\n\"}}},3774(e,t,r){const n=r(5298),s=r(1174);const i=[];i.line=function(e,t,r,s,i){return e===n.SEM_PRE?(i.endLength=0,i.textLength=0,i.invalidCount=0):i.lines.push({lineNo:i.lines.length,beginChar:r,length:s,textLength:i.textLength,endType:i.endType,invalidChars:i.invalidCount}),n.SEM_OK},i[\"line-text\"]=function(e,t,r,s,i){return e===n.SEM_PRE&&(i.textLength=s),n.SEM_OK},i[\"last-line\"]=function(e,t,r,s,i){return e===n.SEM_PRE?(i.endLength=0,i.textLength=0,i.invalidCount=0):i.strict?(i.lines.push({lineNo:i.lines.length,beginChar:r,length:s,textLength:s,endType:\"none\",invalidChars:i.invalidCount}),i.errors.push({line:i.lineNo,char:r+s,msg:\"no line end on last line - strict ABNF specifies CRLF(\\\\r\\\\n, \\\\x0D\\\\x0A)\"})):(t.push(10),i.lines.push({lineNo:i.lines.length,beginChar:r,length:s+1,textLength:s,endType:\"LF\",invalidChars:i.invalidCount})),n.SEM_OK},i.invalid=function(e,t,r,i,o){return e===n.SEM_PRE&&o.errors.push({line:o.lineNo,char:r,msg:`invalid character found '\\\\x${s.charToHex(t[r])}'`}),n.SEM_OK},i.end=function(e,t,r,s,i){return e===n.SEM_POST&&(i.lineNo+=1),n.SEM_OK},i.lf=function(e,t,r,s,i){return e===n.SEM_PRE&&(i.endType=\"LF\",i.strict&&i.errors.push({line:i.lineNo,char:r,msg:\"line end character LF(\\\\n, \\\\x0A) - strict ABNF specifies CRLF(\\\\r\\\\n, \\\\x0D\\\\x0A)\"})),n.SEM_OK},i.cr=function(e,t,r,s,i){return e===n.SEM_PRE&&(i.endType=\"CR\",i.strict&&i.errors.push({line:i.lineNo,char:r,msg:\"line end character CR(\\\\r, \\\\x0D) - strict ABNF specifies CRLF(\\\\r\\\\n, \\\\x0D\\\\x0A)\"})),n.SEM_OK},i.crlf=function(e,t,r,s,i){return e===n.SEM_PRE&&(i.endType=\"CRLF\"),n.SEM_OK},t.callbacks=i},6115(e){e.exports=function(){this.grammarObject=\"grammarObject\",this.rules=[],this.rules[0]={name:\"file\",lower:\"file\",index:0,isBkr:!1},this.rules[1]={name:\"line\",lower:\"line\",index:1,isBkr:!1},this.rules[2]={name:\"line-text\",lower:\"line-text\",index:2,isBkr:!1},this.rules[3]={name:\"last-line\",lower:\"last-line\",index:3,isBkr:!1},this.rules[4]={name:\"valid\",lower:\"valid\",index:4,isBkr:!1},this.rules[5]={name:\"invalid\",lower:\"invalid\",index:5,isBkr:!1},this.rules[6]={name:\"end\",lower:\"end\",index:6,isBkr:!1},this.rules[7]={name:\"CRLF\",lower:\"crlf\",index:7,isBkr:!1},this.rules[8]={name:\"LF\",lower:\"lf\",index:8,isBkr:!1},this.rules[9]={name:\"CR\",lower:\"cr\",index:9,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:2,children:[1,3]},this.rules[0].opcodes[1]={type:3,min:0,max:1/0},this.rules[0].opcodes[2]={type:4,index:1},this.rules[0].opcodes[3]={type:3,min:0,max:1},this.rules[0].opcodes[4]={type:4,index:3},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:2,children:[1,2]},this.rules[1].opcodes[1]={type:4,index:2},this.rules[1].opcodes[2]={type:4,index:6},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:3,min:0,max:1/0},this.rules[2].opcodes[1]={type:1,children:[2,3]},this.rules[2].opcodes[2]={type:4,index:4},this.rules[2].opcodes[3]={type:4,index:5},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:3,min:1,max:1/0},this.rules[3].opcodes[1]={type:1,children:[2,3]},this.rules[3].opcodes[2]={type:4,index:4},this.rules[3].opcodes[3]={type:4,index:5},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:5,min:32,max:126},this.rules[4].opcodes[2]={type:6,string:[9]},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[5].opcodes[1]={type:5,min:0,max:8},this.rules[5].opcodes[2]={type:5,min:11,max:12},this.rules[5].opcodes[3]={type:5,min:14,max:31},this.rules[5].opcodes[4]={type:5,min:127,max:4294967295},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:1,children:[1,2,3]},this.rules[6].opcodes[1]={type:4,index:7},this.rules[6].opcodes[2]={type:4,index:8},this.rules[6].opcodes[3]={type:4,index:9},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:6,string:[13,10]},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:6,string:[10]},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:6,string:[13]},this.toString=function(){let e=\"\";return e+=\"file = *line [last-line]\\n\",e+=\"line = line-text end\\n\",e+=\"line-text = *(valid/invalid)\\n\",e+=\"last-line = 1*(valid/invalid)\\n\",e+=\"valid = %d32-126 / %d9\\n\",e+=\"invalid = %d0-8 / %d11-12 /%d14-31 / %x7f-ffffffff\\n\",e+=\"end = CRLF / LF / CR\\n\",e+=\"CRLF = %d13.10\\n\",e+=\"LF = %d10\\n\",e+=\"CR = %d13\\n\",\"file = *line [last-line]\\nline = line-text end\\nline-text = *(valid/invalid)\\nlast-line = 1*(valid/invalid)\\nvalid = %d32-126 / %d9\\ninvalid = %d0-8 / %d11-12 /%d14-31 / %x7f-ffffffff\\nend = CRLF / LF / CR\\nCRLF = %d13.10\\nLF = %d10\\nCR = %d13\\n\"}}},1531(e,t,r){e.exports=function(e,t,n,s){const i=r(4202),o=new(r(6115)),{callbacks:a}=r(3774),c=[],l=new i.parser;if(l.ast=new i.ast,l.ast.callbacks=a,s){if(\"traceObject\"!==s.traceObject)throw new TypeError(\"scanner.js: trace argument is not a trace object\");l.trace=s}if(!0!==l.parse(o,\"file\",e).success)return void t.push({line:0,char:0,msg:\"syntax analysis error analyzing input SABNF grammar\"});const u={lines:c,lineNo:0,errors:t,strict:!!n};return l.ast.translate(u),c}},8936(e,t,r){e.exports=function(){const e=r(4202),t=e.ids,n=function(){this.names=[],this.add=function(e){let t=-1;return-1===this.get(e)&&(t={name:e,lower:e.toLowerCase(),index:this.names.length},this.names.push(t)),t},this.get=function(e){let t=-1;const r=e.toLowerCase();for(let e=0;e<this.names.length;e+=1)if(this.names[e].lower===r){t=this.names[e];break}return t}},s=function(e,t,r){let n=0;for(let s=t;s<t+r;s+=1)n=10*n+e[s]-48;return n},i=function(e,t,r){let n=0;for(let s=t;s<t+r;s+=1)n=2*n+e[s]-48;return n},o=function(e,t,r){let n=0;for(let s=t;s<t+r;s+=1){let t=e[s];if(t>=48&&t<=57)t-=48;else if(t>=65&&t<=70)t-=55;else{if(!(t>=97&&t<=102))throw new Error(\"hexnum out of range\");t-=87}n=16*n+t}return n};this.callbacks=[],this.callbacks.abgop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&i.opcodes.push({type:t.ABG}),o},this.callbacks.aenop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&i.opcodes.push({type:t.AEN}),o},this.callbacks.alternation=function(e,r,n,s,i){let o=t.SEM_OK;if(e===t.SEM_PRE){const e=!0;for(;e;){if(null===i.definedas){o=t.SEM_SKIP;break}if(null===i.topStack){if(\"=\"===i.definedas){i.topStack={alt:{type:t.ALT,children:[]},cat:null},i.altStack.push(i.topStack),i.opcodes.push(i.topStack.alt);break}i.topStack={alt:i.opcodes[0],cat:null},i.altStack.push(i.topStack);break}i.topStack={alt:{type:t.ALT,children:[]},cat:null},i.altStack.push(i.topStack),i.opcodes.push(i.topStack.alt);break}}else e===t.SEM_POST&&(i.altStack.pop(),i.altStack.length>0?i.topStack=i.altStack[i.altStack.length-1]:i.topStack=null);return o},this.callbacks.andop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&i.opcodes.push({type:t.AND}),o},this.callbacks.bmax=function(e,r,n,s,o){const a=t.SEM_OK;return e===t.SEM_POST&&(o.max=i(r,n,s)),a},this.callbacks.bmin=function(e,r,n,s,o){const a=t.SEM_OK;return e===t.SEM_POST&&(o.min=i(r,n,s)),a},this.callbacks.bkaop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&i.opcodes.push({type:t.BKA}),o},this.callbacks.bknop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&i.opcodes.push({type:t.BKN}),o},this.callbacks.bkrop=function(r,n,s,i,o){const a=t.SEM_OK;return r===t.SEM_PRE?(o.ci=!0,o.cs=!1,o.um=!0,o.pm=!1):r===t.SEM_POST&&o.opcodes.push({type:t.BKR,bkrCase:!0===o.cs?t.BKR_MODE_CS:t.BKR_MODE_CI,bkrMode:!0===o.pm?t.BKR_MODE_PM:t.BKR_MODE_UM,index:{phraseIndex:o.bkrname.phraseIndex,name:e.utils.charsToString(n,o.bkrname.phraseIndex,o.bkrname.phraseLength)}}),a},this.callbacks[\"bkr-name\"]=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&(i.bkrname={phraseIndex:n,phraseLength:s}),o},this.callbacks.bstring=function(e,r,n,s,o){const a=t.SEM_OK;return e===t.SEM_POST&&o.tbsstr.push(i(r,n,s)),a},this.callbacks.clsop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&(s<=2?i.opcodes.push({type:t.TLS,string:[]}):i.opcodes.push({type:t.TBS,string:r.slice(n+1,n+s-1)})),o},this.callbacks.ci=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&(i.ci=!0),o},this.callbacks.cs=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&(i.cs=!0),o},this.callbacks.um=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&(i.um=!0),o},this.callbacks.pm=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&(i.pm=!0),o},this.callbacks.concatenation=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_PRE?(i.topStack.alt.children.push(i.opcodes.length),i.topStack.cat={type:t.CAT,children:[]},i.opcodes.push(i.topStack.cat)):e===t.SEM_POST&&(i.topStack.cat=null),o},this.callbacks.defined=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&(i.definedas=\"=\"),o},this.callbacks.dmax=function(e,r,n,i,o){const a=t.SEM_OK;return e===t.SEM_POST&&(o.max=s(r,n,i)),a},this.callbacks.dmin=function(e,r,n,i,o){const a=t.SEM_OK;return e===t.SEM_POST&&(o.min=s(r,n,i)),a},this.callbacks.dstring=function(e,r,n,i,o){const a=t.SEM_OK;return e===t.SEM_POST&&o.tbsstr.push(s(r,n,i)),a},this.callbacks.file=function(e,r,s,i,o){const a=t.SEM_OK;if(e===t.SEM_PRE)o.ruleNames=new n,o.udtNames=new n,o.rules=[],o.udts=[],o.rulesLineMap=[],o.opcodes=[],o.altStack=[],o.topStack=null,o.topRule=null;else if(e===t.SEM_POST){let e;o.rules.forEach(r=>{r.isBkr=!1,r.opcodes.forEach(r=>{r.type===t.RNM&&(e=o.ruleNames.get(r.index.name),-1===e?(o.errors.push({line:o.findLine(o.lines,r.index.phraseIndex,o.charsLength),char:r.index.phraseIndex,msg:`Rule name '${r.index.name}' used but not defined.`}),r.index=-1):r.index=e.index)})}),o.udts.forEach(e=>{e.isBkr=!1}),o.rules.forEach(r=>{r.opcodes.forEach(n=>{n.type===t.BKR&&(r.hasBkr=!0,e=o.ruleNames.get(n.index.name),-1!==e?(o.rules[e.index].isBkr=!0,n.index=e.index):(e=o.udtNames.get(n.index.name),-1!==e?(o.udts[e.index].isBkr=!0,n.index=o.rules.length+e.index):(o.errors.push({line:o.findLine(o.lines,n.index.phraseIndex,o.charsLength),char:n.index.phraseIndex,msg:`Back reference name '${n.index.name}' refers to undefined rule or unamed UDT.`}),n.index=-1)))})})}return a},this.callbacks.incalt=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&(i.definedas=\"=/\"),o},this.callbacks.notop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&i.opcodes.push({type:t.NOT}),o},this.callbacks.optionopen=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&i.opcodes.push({type:t.REP,min:0,max:1,char:n}),o},this.callbacks[\"rep-max\"]=function(e,r,n,i,o){const a=t.SEM_OK;return e===t.SEM_POST&&(o.max=s(r,n,i)),a},this.callbacks[\"rep-min\"]=function(e,r,n,i,o){const a=t.SEM_OK;return e===t.SEM_POST&&(o.min=s(r,n,i)),a},this.callbacks[\"rep-min-max\"]=function(e,r,n,i,o){const a=t.SEM_OK;return e===t.SEM_POST&&(o.max=s(r,n,i),o.min=o.max),a},this.callbacks.repetition=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_PRE&&i.topStack.cat.children.push(i.opcodes.length),o},this.callbacks.repop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_PRE?(i.min=0,i.max=1/0,i.topRep={type:t.REP,min:0,max:1/0},i.opcodes.push(i.topRep)):e===t.SEM_POST&&(i.min>i.max&&i.errors.push({line:i.findLine(i.lines,n,i.charsLength),char:n,msg:`repetition min cannot be greater than max: min: ${i.min}: max: ${i.max}`}),i.topRep.min=i.min,i.topRep.max=i.max),o},this.callbacks.rnmop=function(r,n,s,i,o){const a=t.SEM_OK;return r===t.SEM_POST&&o.opcodes.push({type:t.RNM,index:{phraseIndex:s,name:e.utils.charsToString(n,s,i)}}),a},this.callbacks.rule=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_PRE&&(i.altStack.length=0,i.topStack=null,i.rulesLineMap.push({line:i.findLine(i.lines,n,i.charsLength),char:n})),o},this.callbacks.rulelookup=function(e,r,n,s,i){const o=t.SEM_OK;if(e===t.SEM_PRE)i.ruleName=\"\",i.definedas=\"\";else if(e===t.SEM_POST){let e;\"=\"===i.definedas?(e=i.ruleNames.add(i.ruleName),-1===e?(i.definedas=null,i.errors.push({line:i.findLine(i.lines,n,i.charsLength),char:n,msg:`Rule name '${i.ruleName}' previously defined.`})):(i.topRule={name:e.name,lower:e.lower,opcodes:[],index:e.index},i.rules.push(i.topRule),i.opcodes=i.topRule.opcodes)):(e=i.ruleNames.get(i.ruleName),-1===e?(i.definedas=null,i.errors.push({line:i.findLine(i.lines,n,i.charsLength),char:n,msg:`Rule name '${i.ruleName}' for incremental alternate not previously defined.`})):(i.topRule=i.rules[e.index],i.opcodes=i.topRule.opcodes))}return o},this.callbacks.rulename=function(r,n,s,i,o){const a=t.SEM_OK;return r===t.SEM_PRE&&(o.ruleName=e.utils.charsToString(n,s,i)),a},this.callbacks.tbsop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_PRE?i.tbsstr=[]:e===t.SEM_POST&&i.opcodes.push({type:t.TBS,string:i.tbsstr}),o},this.callbacks.tlscase=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_POST&&s>0&&(83===r[n+1]||115===r[n+1])&&(i.tlscase=!1),o},this.callbacks.tlsstring=function(e,r,n,s,i){const o=t.SEM_OK;if(e===t.SEM_POST)if(i.tlscase){const e=r.slice(n,n+s);for(let t=0;t<e.length;t+=1)e[t]>=65&&e[t]<=90&&(e[t]+=32);i.opcodes.push({type:t.TLS,string:e})}else i.opcodes.push({type:t.TBS,string:r.slice(n,n+s)});return o},this.callbacks.tlsop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_PRE&&(i.tlscase=!0),o},this.callbacks.trgop=function(e,r,n,s,i){const o=t.SEM_OK;return e===t.SEM_PRE?(i.min=0,i.max=0):e===t.SEM_POST&&(i.min>i.max&&i.errors.push({line:i.findLine(i.lines,n,i.charsLength),char:n,msg:`TRG, (%dmin-max), min cannot be greater than max: min: ${i.min}: max: ${i.max}`}),i.opcodes.push({type:t.TRG,min:i.min,max:i.max})),o},this.callbacks[\"udt-empty\"]=function(r,n,s,i,o){const a=t.SEM_OK;if(r===t.SEM_POST){const r=e.utils.charsToString(n,s,i);let a=o.udtNames.add(r);if(-1===a){if(a=o.udtNames.get(r),-1===a)throw new Error(\"semUdtEmpty: name look up error\")}else o.udts.push({name:a.name,lower:a.lower,index:a.index,empty:!0});o.opcodes.push({type:t.UDT,empty:!0,index:a.index})}return a},this.callbacks[\"udt-non-empty\"]=function(r,n,s,i,o){const a=t.SEM_OK;if(r===t.SEM_POST){const r=e.utils.charsToString(n,s,i);let a=o.udtNames.add(r);if(-1===a){if(a=o.udtNames.get(r),-1===a)throw new Error(\"semUdtNonEmpty: name look up error\")}else o.udts.push({name:a.name,lower:a.lower,index:a.index,empty:!1});o.opcodes.push({type:t.UDT,empty:!1,index:a.index,syntax:null,semantic:null})}return a},this.callbacks.xmax=function(e,r,n,s,i){const a=t.SEM_OK;return e===t.SEM_POST&&(i.max=o(r,n,s)),a},this.callbacks.xmin=function(e,r,n,s,i){const a=t.SEM_OK;return e===t.SEM_POST&&(i.min=o(r,n,s)),a},this.callbacks.xstring=function(e,r,n,s,i){const a=t.SEM_OK;return e===t.SEM_POST&&i.tbsstr.push(o(r,n,s)),a}}},2046(e){e.exports=function(){const e=\"show-rules.js\";return function(t=[],r=[],n=\"index\"){const s=\"showRules\";let i=[],o=[];const a=[],c=[],l=t,u=r,d=t.length,h=r.length;let f,p=\"RULE/UDT NAMES\";if(!Array.isArray(t)||!t.length)throw new Error(`${e}:${s}: rules arg must be array with length > 0`);if(!Array.isArray(r))throw new Error(`${e}:${s}: udts arg must be array`);for(f=0;f<d;f+=1)a.push(f);if(i=a.slice(0),i.sort(function(e,t){return l[e].lower<l[t].lower?-1:l[e].lower>l[t].lower?1:0}),h){for(f=0;f<h;f+=1)c.push(f);o=c.slice(0),o.sort(function(e,t){return u[e].lower<u[t].lower?-1:u[e].lower>u[t].lower?1:0})}if(97===n.charCodeAt(0)){for(p+=\" - alphabetical by rule/UDT name\\n\",f=0;f<d;f+=1)p+=`${f}: ${i[f]}: ${l[i[f]].name}\\n`;if(h)for(f=0;f<h;f+=1)p+=`${f}: ${o[f]}: ${u[o[f]].name}\\n`}else{for(p+=\" - ordered by rule/UDT index\\n\",f=0;f<d;f+=1)p+=`${f}: ${l[f].name}\\n`;if(h)for(f=0;f<h;f+=1)p+=`${f}: ${u[f].name}\\n`}return p}}()},2027(e,t,r){e.exports=function(){const e=\"syntax-callbacks.js: \",t=r(4202),n=t.ids;let s;this.callbacks=[],this.callbacks.andop=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.strict&&i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"AND operator(&) found - strict ABNF specified.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.basicelementerr=function(t,r,i,o){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:!1===s.basicError&&o.errors.push({line:o.findLine(o.lines,i,o.charsLength),char:i,msg:\"Unrecognized SABNF element.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.clsclose=function(t,r,i,o){switch(t.state){case n.ACTIVE:case n.EMPTY:break;case n.NOMATCH:o.errors.push({line:o.findLine(o.lines,s.clsOpen),char:s.clsOpen,msg:\"Case-sensitive literal string('...') opened but not closed.\"}),s.clsOpen=null,s.basicError=!0;break;case n.MATCH:o.strict&&o.errors.push({line:o.findLine(o.lines,s.clsOpen),char:s.clsOpen,msg:\"Case-sensitive string operator('...') found - strict ABNF specified.\"}),s.clsOpen=null;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.clsopen=function(t,r,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:s.clsOpen=i;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.clsstring=function(t,r,s,i){switch(t.state){case n.ACTIVE:i.stringTabChar=!1;break;case n.EMPTY:case n.NOMATCH:break;case n.MATCH:!1!==i.stringTabChar&&i.errors.push({line:i.findLine(i.lines,i.stringTabChar),char:i.stringTabChar,msg:\"Tab character (\\\\t, x09) not allowed in literal string.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.definedaserror=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Expected '=' or '=/'. Not found.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.file=function(t,r,s,i){switch(t.state){case n.ACTIVE:i.altStack=[],i.repCount=0;break;case n.EMPTY:i.errors.push({line:0,char:0,msg:\"grammar file is empty\"});break;case n.MATCH:0===i.ruleCount&&i.errors.push({line:0,char:0,msg:\"no rules defined\"});break;case n.NOMATCH:throw new Error(`${e}synFile: grammar file NOMATCH: design error: should never happen.`);default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.groupclose=function(t,r,i,o){switch(t.state){case n.ACTIVE:case n.EMPTY:break;case n.NOMATCH:o.errors.push({line:o.findLine(o.lines,s.groupOpen),char:s.groupOpen,msg:'Group \"(...)\" opened but not closed.'}),s=o.altStack.pop(),s.groupError=!0;break;case n.MATCH:s=o.altStack.pop();break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.groupopen=function(t,r,i,o){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:s={groupOpen:i,groupError:!1,optionOpen:null,optionError:!1,tlsOpen:null,clsOpen:null,prosValOpen:null,basicError:!1},o.altStack.push(s);break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.lineenderror=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Unrecognized grammar element or characters.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.lineend=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:if(1===t.phraseLength&&i.strict){const e=13===r[s]?\"CR\":\"LF\";i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:`Line end '${e}' found - strict ABNF specified, only CRLF allowed.`})}break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.notop=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.strict&&i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"NOT operator(!) found - strict ABNF specified.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.optionclose=function(t,r,i,o){switch(t.state){case n.ACTIVE:case n.EMPTY:break;case n.NOMATCH:o.errors.push({line:o.findLine(o.lines,s.optionOpen),char:s.optionOpen,msg:'Option \"[...]\" opened but not closed.'}),s=o.altStack.pop(),s.optionError=!0;break;case n.MATCH:s=o.altStack.pop();break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.optionopen=function(t,r,i,o){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:s={groupOpen:null,groupError:!1,optionOpen:i,optionError:!1,tlsOpen:null,clsOpen:null,prosValOpen:null,basicError:!1},o.altStack.push(s);break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.prosvalclose=function(t,r,i,o){switch(t.state){case n.ACTIVE:case n.EMPTY:break;case n.NOMATCH:o.errors.push({line:o.findLine(o.lines,s.prosValOpen),char:s.prosValOpen,msg:\"Prose value operator(<...>) opened but not closed.\"}),s.basicError=!0,s.prosValOpen=null;break;case n.MATCH:o.errors.push({line:o.findLine(o.lines,s.prosValOpen),char:s.prosValOpen,msg:\"Prose value operator(<...>) found. The ABNF syntax is valid, but a parser cannot be generated from this grammar.\"}),s.prosValOpen=null;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.prosvalopen=function(t,r,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:s.prosValOpen=i;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.prosvalstring=function(t,r,s,i){switch(t.state){case n.ACTIVE:i.stringTabChar=!1;break;case n.EMPTY:case n.NOMATCH:break;case n.MATCH:!1!==i.stringTabChar&&i.errors.push({line:i.findLine(i.lines,i.stringTabChar),char:i.stringTabChar,msg:\"Tab character (\\\\t, x09) not allowed in prose value string.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.repetition=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:break;case n.NOMATCH:case n.MATCH:i.repCount+=1;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.rule=function(t,r,i,o){switch(t.state){case n.ACTIVE:o.altStack.length=0,s={groupOpen:null,groupError:!1,optionOpen:null,optionError:!1,tlsOpen:null,clsOpen:null,prosValOpen:null,basicError:!1},o.altStack.push(s);break;case n.EMPTY:throw new Error(`${e}synRule: EMPTY: rule cannot be empty`);case n.NOMATCH:break;case n.MATCH:o.ruleCount+=1;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.ruleerror=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Unrecognized SABNF line. Invalid rule, comment or blank line.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.rulenameerror=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Rule names must be alphanum and begin with alphabetic character.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.stringtab=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.stringTabChar=s;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.tlsclose=function(t,r,i,o){switch(t.state){case n.ACTIVE:case n.EMPTY:break;case n.NOMATCH:o.errors.push({line:o.findLine(o.lines,s.tlsOpen),char:s.tlsOpen,msg:'Case-insensitive literal string(\"...\") opened but not closed.'}),s.basicError=!0,s.tlsOpen=null;break;case n.MATCH:s.tlsOpen=null;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.tlsopen=function(t,r,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:s.tlsOpen=i;break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.tlsstring=function(t,r,s,i){switch(t.state){case n.ACTIVE:i.stringTabChar=!1;break;case n.EMPTY:case n.NOMATCH:break;case n.MATCH:!1!==i.stringTabChar&&i.errors.push({line:i.findLine(i.lines,i.stringTabChar),char:i.stringTabChar,msg:\"Tab character (\\\\t, x09) not allowed in literal string (see 'quoted-string' definition, RFC 7405.)\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.udtop=function(r,s,i,o){switch(r.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:if(o.strict){const e=t.utils.charsToString(s,i,r.phraseLength);o.errors.push({line:o.findLine(o.lines,i,o.charsLength),char:i,msg:`UDT operator found(${e}) - strict ABNF specified.`})}break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.bkaop=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.strict?i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Positive look-behind operator(&&) found - strict ABNF specified.\"}):i.lite&&i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Positive look-behind operator(&&) found - apg-lite specified.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.bknop=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.strict?i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Negative look-behind operator(!!) found - strict ABNF specified.\"}):i.lite&&i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Negative look-behind operator(!!) found - apg-lite specified.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.bkrop=function(r,s,i,o){switch(r.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:if(o.strict){const e=t.utils.charsToString(s,i,r.phraseLength);o.errors.push({line:o.findLine(o.lines,i,o.charsLength),char:i,msg:`Back reference operator(${e}) found - strict ABNF specified.`})}else if(o.lite){const e=t.utils.charsToString(s,i,r.phraseLength);o.errors.push({line:o.findLine(o.lines,i,o.charsLength),char:i,msg:`Back reference operator(${e}) found - apg-lite specified.`})}break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.abgop=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.strict?i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Beginning of string anchor(%^) found - strict ABNF specified.\"}):i.lite&&i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"Beginning of string anchor(%^) found - apg-lite specified.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}},this.callbacks.aenop=function(t,r,s,i){switch(t.state){case n.ACTIVE:case n.EMPTY:case n.NOMATCH:break;case n.MATCH:i.strict?i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"End of string anchor(%$) found - strict ABNF specified.\"}):i.lite&&i.errors.push({line:i.findLine(i.lines,s,i.charsLength),char:s,msg:\"End of string anchor(%$) found - apg-lite specified.\"});break;default:throw new Error(`${e}synFile: unrecognized case.`)}}}},240(e,t,r){const{Buffer:n}=r(1048),s=r(5950),i=\"UTF8\",o=\"UTF16\",a=\"UTF16BE\",c=\"UTF16LE\",l=\"UTF32\",u=\"UTF32BE\",d=\"UTF32LE\",h=\"UINT7\",f=\"ASCII\",p=\"BINARY\",m=\"UINT8\",g=\"UINT16\",y=\"UINT16LE\",b=\"UINT16BE\",v=\"UINT32\",w=\"UINT32LE\",A=\"UINT32BE\",E=\"ESCAPED\",x=\"STRING\",T=function(e,t){const r=function(e){const t={type:\"\",base64:!1},r=/^(base64:)?([a-zA-Z0-9]+)$/i.exec(e);return r&&(r[2]&&(t.type=r[2].toUpperCase()),r[1]&&(t.base64=!0)),t}(e.toUpperCase());if(r.base64){if(r.type===x)throw new TypeError(`type: \"${e} \"BASE64:\" prefix not allowed with type ${x}`);if(n.isBuffer(t))r.data=s.base64.decode(t);else{if(\"string\"!=typeof t)throw new TypeError(`type: \"${e} unrecognized data type: typeof(data): ${typeof t}`);{const e=n.from(t,\"ascii\");r.data=s.base64.decode(e)}}}else r.data=t;switch(r.type){case i:!function(e){e.type=i;const t=e.data;e.bom=0,t.length>=3&&239===t[0]&&187===t[1]&&191===t[2]&&(e.bom=3)}(r);break;case o:case a:case c:!function(e){const t=e.data;switch(e.bom=0,e.type){case o:e.type=a,t.length>=2&&(254===t[0]&&255===t[1]?e.bom=2:255===t[0]&&254===t[1]&&(e.type=c,e.bom=2));break;case a:if(e.type=a,t.length>=2)if(254===t[0]&&255===t[1])e.bom=2;else if(255===t[0]&&254===t[1])throw new TypeError(`src type: \"${a}\" specified but BOM is for \"${c}\"`);break;case c:if(e.type=c,t.length>=0){if(254===t[0]&&255===t[1])throw new TypeError(`src type: \"${c}\" specified but BOM is for \"${a}\"`);255===t[0]&&254===t[1]&&(e.bom=2)}break;default:throw new TypeError(`UTF16 BOM: src type \"${e.type}\" unrecognized`)}}(r);break;case l:case u:case d:!function(e){const t=e.data;switch(e.bom=0,e.type){case l:e.type=u,t.length>=4&&(0===t[0]&&0===t[1]&&254===t[2]&&255===t[3]&&(e.bom=4),255===t[0]&&254===t[1]&&0===t[2]&&0===t[3]&&(e.type=d,e.bom=4));break;case u:if(e.type=u,t.length>=4&&(0===t[0]&&0===t[1]&&254===t[2]&&255===t[3]&&(e.bom=4),255===t[0]&&254===t[1]&&0===t[2]&&0===t[3]))throw new TypeError(`src type: ${u} specified but BOM is for ${d}\"`);break;case d:if(e.type=d,t.length>=4){if(0===t[0]&&0===t[1]&&254===t[2]&&255===t[3])throw new TypeError(`src type: \"${d}\" specified but BOM is for \"${u}\"`);255===t[0]&&254===t[1]&&0===t[2]&&0===t[3]&&(e.bom=4)}break;default:throw new TypeError(`UTF32 BOM: src type \"${e.type}\" unrecognized`)}}(r);break;case g:r.type=b;break;case v:r.type=A;break;case f:r.type=h;break;case p:r.type=m;break;case h:case m:case y:case b:case w:case A:case x:case E:break;default:throw new TypeError(`type: \"${e}\" not recognized`)}if(r.type===x){if(\"string\"!=typeof r.data)throw new TypeError(`type: \"${e}\" but data is not a string`)}else if(!n.isBuffer(r.data))throw new TypeError(`type: \"${e}\" but data is not a Buffer`);return r},k=function(e,t){switch(e){case i:return s.utf8.encode(t);case a:return s.utf16be.encode(t);case c:return s.utf16le.encode(t);case u:return s.utf32be.encode(t);case d:return s.utf32le.encode(t);case h:return s.uint7.encode(t);case m:return s.uint8.encode(t);case b:return s.uint16be.encode(t);case y:return s.uint16le.encode(t);case A:return s.uint32be.encode(t);case w:return s.uint32le.encode(t);case x:return s.string.encode(t);case E:return s.escaped.encode(t);default:throw new TypeError(`encode type \"${e}\" not recognized`)}};t.decode=function(e,t){return function(e){switch(e.type){case i:return s.utf8.decode(e.data,e.bom);case c:return s.utf16le.decode(e.data,e.bom);case a:return s.utf16be.decode(e.data,e.bom);case u:return s.utf32be.decode(e.data,e.bom);case d:return s.utf32le.decode(e.data,e.bom);case h:return s.uint7.decode(e.data);case m:return s.uint8.decode(e.data);case b:return s.uint16be.decode(e.data);case y:return s.uint16le.decode(e.data);case A:return s.uint32be.decode(e.data);case w:return s.uint32le.decode(e.data);case x:return s.string.decode(e.data);case E:return s.escaped.decode(e.data);default:throw new TypeError(`decode type \"${e.type}\" not recognized`)}}(T(e,t))},t.encode=function(e,t){let r,n;const T=function(e,t){if(!Array.isArray(t))throw new TypeError('dst chars: not array: \"'+typeof t);if(\"string\"!=typeof e)throw new TypeError('dst type: not string: \"'+typeof e);const r=function(e){let t,r;const n={crlf:!1,lf:!1,base64:!1,type:\"\"};for(;;){if(r=e,t=e.slice(0,5),\"CRLF:\"===t){n.crlf=!0,r=e.slice(5);break}if(t=e.slice(0,3),\"LF:\"===t){n.lf=!0,r=e.slice(3);break}break}return t=r.split(\":\"),1===t.length?n.type=t[0]:2===t.length&&\"BASE64\"===t[1]&&(n.base64=!0,n.type=t[0]),n}(e.toUpperCase());switch(r.type){case i:case a:case c:case u:case d:case h:case m:case y:case b:case w:case A:case E:break;case x:if(r.base64)throw new TypeError(`\":BASE64\" suffix not allowed with type ${x}`);break;case f:r.type=h;break;case p:r.type=m;break;case o:r.type=a;break;case l:r.type=u;break;case g:r.type=b;break;case v:r.type=A;break;default:throw new TypeError(`dst type unrecognized: \"${e}\" : must have form [crlf:|lf:]type[:base64]`)}return r}(e,t);return T.crlf?(r=s.lineEnds.crlf(t),n=k(T.type,r)):T.lf?(r=s.lineEnds.lf(t),n=k(T.type,r)):n=k(T.type,t),T.base64&&(n=s.base64.encode(n)),n};t.convert=function(e,r,n){return t.encode(n,t.decode(e,r))}},5950(e,t,r){const{Buffer:n}=r(1048),s=4294967292,i=4294967293,o=4294967294,a=4294967295,c=[0,1,3,7,15,31,63,127,255,511,1023],l=[\"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=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".split(\"\"),d=[];u.forEach(e=>{d.push(e.charCodeAt(0))}),t.utf8={encode(e){const t=[];return e.forEach(e=>{if(e>=0&&e<=127)t.push(e);else if(e<=2047)t.push(192+(e>>6&c[5])),t.push(128+(e&c[6]));else if(e<55296||e>57343&&e<=65535)t.push(224+(e>>12&c[4])),t.push(128+(e>>6&c[6])),t.push(128+(e&c[6]));else{if(!(e>=65536&&e<=1114111))throw new RangeError(`utf8.encode: character out of range: char: ${e}`);{const r=e>>16&c[5];t.push(240+(r>>2)),t.push(128+((r&c[2])<<4)+(e>>12&c[4])),t.push(128+(e>>6&c[6])),t.push(128+(e&c[6]))}}}),n.from(t)},decode(e,t){function r(e,t){if(128!=(192&t))return i;const r=((e&c[5])<<6)+(t&c[6]);return r<128?s:r}function n(e,t,r){if(128!=(192&r)||128!=(192&t))return i;const n=((e&c[4])<<12)+((t&c[6])<<6)+(r&c[6]);return n<2048?s:n>=55296&&n<=57343?o:n}function l(e,t,r,n){if(128!=(192&n)||128!=(192&r)||128!=(192&t))return i;const a=(((e&c[3])<<2)+(t>>4&c[2])<<16)+((t&c[4])<<12)+((r&c[6])<<6)+(n&c[6]);return a<65536?s:a>1114111?o:a}let u,d,h,f,p,m;const g=e.length;let y=t?3:0;const b=[];for(;y<g;){d=e[y],u=a;const t=!0;for(;t;){if(d>=0&&d<=127){u=d,m=1;break}if(h=y+1,h<g&&d>=194&&d<=223){u=r(d,e[h]),m=2;break}if(f=y+2,f<g&&d>=224&&d<=239){u=n(d,e[h],e[f]),m=3;break}if(p=y+3,p<g&&d>=240&&d<=244){u=l(d,e[h],e[f],e[p]),m=4;break}break}if(u>1114111){const e=`byte[${y}]`;if(u===a)throw new RangeError(`utf8.decode: ill-formed UTF8 byte sequence found at: ${e}`);if(u===i)throw new RangeError(`utf8.decode: illegal trailing byte found at: ${e}`);if(u===o)throw new RangeError(`utf8.decode: code point out of range found at: ${e}`);if(u===s)throw new RangeError(`utf8.decode: non-shortest form found at: ${e}`);throw new RangeError(`utf8.decode: unrecognized error found at: ${e}`)}b.push(u),y+=m}return b}},t.utf16be={encode(e){const t=[];let r,s,i;for(let n=0;n<e.length;n+=1)if(r=e[n],r>=0&&r<=55295||r>=57344&&r<=65535)t.push(r>>8&c[8]),t.push(r&c[8]);else{if(!(r>=65536&&r<=1114111))throw new RangeError(`utf16be.encode: UTF16BE value out of range: char[${n}]: ${r}`);i=r-65536,s=55296+(i>>10),i=56320+(i&c[10]),t.push(s>>8&c[8]),t.push(s&c[8]),t.push(i>>8&c[8]),t.push(i&c[8])}return n.from(t)},decode(e,t){if(e.length%2>0)throw new RangeError(`utf16be.decode: data length must be even multiple of 2: length: ${e.length}`);const r=[],n=e.length;let s,i,o,a,c,l,u=t?2:0,d=0;for(;u<n;){const t=!0;for(;t;){if(o=u+1,o<n){if(c=(e[u]<<8)+e[o],c<55296||c>57343){s=c,i=2;break}if(a=u+3,a<n&&(l=(e[u+2]<<8)+e[a],c<=56319&&l>=56320&&l<=57343)){s=65536+(c-55296<<10)+(l-56320),i=4;break}}throw new RangeError(`utf16be.decode: ill-formed UTF16BE byte sequence found: byte[${u}]`)}r[d++]=s,u+=i}return r}},t.utf16le={encode(e){const t=[];let r,s,i;for(let n=0;n<e.length;n+=1)if(r=e[n],r>=0&&r<=55295||r>=57344&&r<=65535)t.push(r&c[8]),t.push(r>>8&c[8]);else{if(!(r>=65536&&r<=1114111))throw new RangeError(`utf16le.encode: UTF16LE value out of range: char[${n}]: ${r}`);i=r-65536,s=55296+(i>>10),i=56320+(i&c[10]),t.push(s&c[8]),t.push(s>>8&c[8]),t.push(i&c[8]),t.push(i>>8&c[8])}return n.from(t)},decode(e,t){if(e.length%2>0)throw new RangeError(`utf16le.decode: data length must be even multiple of 2: length: ${e.length}`);const r=[],n=e.length;let s,i,o,a,c,l,u=t?2:0,d=0;for(;u<n;){const t=!0;for(;t;){if(o=u+1,o<n){if(c=(e[o]<<8)+e[u],c<55296||c>57343){s=c,i=2;break}if(a=u+3,a<n&&(l=(e[a]<<8)+e[u+2],c<=56319&&l>=56320&&l<=57343)){s=65536+(c-55296<<10)+(l-56320),i=4;break}}throw new RangeError(`utf16le.decode: ill-formed UTF16LE byte sequence found: byte[${u}]`)}r[d++]=s,u+=i}return r}},t.utf32be={encode(e){const t=n.alloc(4*e.length);let r=0;return e.forEach(e=>{if(e>=55296&&e<=57343||e>1114111)throw new RangeError(`utf32be.encode: UTF32BE character code out of range: char[${r/4}]: ${e}`);t[r++]=e>>24&c[8],t[r++]=e>>16&c[8],t[r++]=e>>8&c[8],t[r++]=e&c[8]}),t},decode(e,t){if(e.length%4>0)throw new RangeError(`utf32be.decode: UTF32BE byte length must be even multiple of 4: length: ${e.length}`);const r=[];let n=t?4:0;for(;n<e.length;n+=4){const t=(e[n]<<24)+(e[n+1]<<16)+(e[n+2]<<8)+e[n+3];if(t>=55296&&t<=57343||t>1114111)throw new RangeError(`utf32be.decode: UTF32BE character code out of range: char[${n/4}]: ${t}`);r.push(t)}return r}},t.utf32le={encode(e){const t=n.alloc(4*e.length);let r=0;return e.forEach(e=>{if(e>=55296&&e<=57343||e>1114111)throw new RangeError(`utf32le.encode: UTF32LE character code out of range: char[${r/4}]: ${e}`);t[r++]=e&c[8],t[r++]=e>>8&c[8],t[r++]=e>>16&c[8],t[r++]=e>>24&c[8]}),t},decode(e,t){if(e.length%4>0)throw new RangeError(`utf32be.decode: UTF32LE byte length must be even multiple of 4: length: ${e.length}`);const r=[];let n=t?4:0;for(;n<e.length;n+=4){const t=(e[n+3]<<24)+(e[n+2]<<16)+(e[n+1]<<8)+e[n];if(t>=55296&&t<=57343||t>1114111)throw new RangeError(`utf32le.encode: UTF32LE character code out of range: char[${n/4}]: ${t}`);r.push(t)}return r}},t.uint7={encode(e){const t=n.alloc(e.length);for(let r=0;r<e.length;r+=1){if(e[r]>127)throw new RangeError(`uint7.encode: UINT7 character code out of range: char[${r}]: ${e[r]}`);t[r]=e[r]}return t},decode(e){const t=[];for(let r=0;r<e.length;r+=1){if(e[r]>127)throw new RangeError(`uint7.decode: UINT7 character code out of range: byte[${r}]: ${e[r]}`);t[r]=e[r]}return t}},t.uint8={encode(e){const t=n.alloc(e.length);for(let r=0;r<e.length;r+=1){if(e[r]>255)throw new RangeError(`uint8.encode: UINT8 character code out of range: char[${r}]: ${e[r]}`);t[r]=e[r]}return t},decode(e){const t=[];for(let r=0;r<e.length;r+=1)t[r]=e[r];return t}},t.uint16be={encode(e){const t=n.alloc(2*e.length);let r=0;return e.forEach(e=>{if(e>65535)throw new RangeError(`uint16be.encode: UINT16BE character code out of range: char[${r/2}]: ${e}`);t[r++]=e>>8&c[8],t[r++]=e&c[8]}),t},decode(e){if(e.length%2>0)throw new RangeError(`uint16be.decode: UINT16BE byte length must be even multiple of 2: length: ${e.length}`);const t=[];for(let r=0;r<e.length;r+=2)t.push((e[r]<<8)+e[r+1]);return t}},t.uint16le={encode(e){const t=n.alloc(2*e.length);let r=0;return e.forEach(e=>{if(e>65535)throw new RangeError(`uint16le.encode: UINT16LE character code out of range: char[${r/2}]: ${e}`);t[r++]=e&c[8],t[r++]=e>>8&c[8]}),t},decode(e){if(e.length%2>0)throw new RangeError(`uint16le.decode: UINT16LE byte length must be even multiple of 2: length: ${e.length}`);const t=[];for(let r=0;r<e.length;r+=2)t.push((e[r+1]<<8)+e[r]);return t}},t.uint32be={encode(e){const t=n.alloc(4*e.length);let r=0;return e.forEach(e=>{t[r++]=e>>24&c[8],t[r++]=e>>16&c[8],t[r++]=e>>8&c[8],t[r++]=e&c[8]}),t},decode(e){if(e.length%4>0)throw new RangeError(`uint32be.decode: UINT32BE byte length must be even multiple of 4: length: ${e.length}`);const t=[];for(let r=0;r<e.length;r+=4)t.push((e[r]<<24)+(e[r+1]<<16)+(e[r+2]<<8)+e[r+3]);return t}},t.uint32le={encode(e){const t=n.alloc(4*e.length);let r=0;return e.forEach(e=>{t[r++]=e&c[8],t[r++]=e>>8&c[8],t[r++]=e>>16&c[8],t[r++]=e>>24&c[8]}),t},decode(e){if(e.length%4>0)throw new RangeError(`uint32le.decode: UINT32LE byte length must be even multiple of 4: length: ${e.length}`);const t=[];for(let r=0;r<e.length;r+=4)t.push((e[r+3]<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]);return t}},t.string={encode:e=>t.utf16le.encode(e).toString(\"utf16le\"),decode:e=>t.utf16le.decode(n.from(e,\"utf16le\"),0)},t.escaped={encode(e){const t=[];for(let r=0;r<e.length;r+=1){const s=e[r];if(96===s)t.push(s),t.push(s);else if(10===s)t.push(s);else if(s>=32&&s<=126)t.push(s);else{let e=\"\";if(s>=0&&s<=31)e+=`\\`x${l[s]}`;else if(s>=127&&s<=255)e+=`\\`x${l[s]}`;else if(s>=256&&s<=65535)e+=`\\`u${l[s>>8&c[8]]}${l[s&c[8]]}`;else{if(!(s>=65536&&s<=4294967295))throw new Error(\"escape.encode(char): char > 0xffffffff not allowed\");{e+=\"`u{\";const t=s>>24&c[8];t>0&&(e+=l[t]),e+=`${l[s>>16&c[8]]+l[s>>8&c[8]]+l[s&c[8]]}}`}}n.from(e).forEach(e=>{t.push(e)})}}return n.from(t)},decode(e){function t(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function r(e,r,n){const s={char:null,nexti:e+2,error:!0};if(e+1<r&&t(n[e])&&t(n[e+1])){const t=String.fromCodePoint(n[e],n[e+1]);s.char=parseInt(t,16),Number.isNaN(s.char)||(s.error=!1)}return s}function n(e,r,n){const s={char:null,nexti:e+4,error:!0};if(e+3<r&&t(n[e])&&t(n[e+1])&&t(n[e+2])&&t(n[e+3])){const t=String.fromCodePoint(n[e],n[e+1],n[e+2],n[e+3]);s.char=parseInt(t,16),Number.isNaN(s.char)||(s.error=!1)}return s}function s(e,r,n){const s={char:null,nexti:e+4,error:!0};let i=\"\";for(;e<r&&t(n[e]);)i+=String.fromCodePoint(n[e]),e+=1;return s.char=parseInt(i,16),125!==n[e]||Number.isNaN(s.char)||(s.error=!1),s.nexti=e+1,s}const i=[],o=e.length;let a,c,l,u=0;for(;u<o;){const t=!0;for(;t;){if(l=!0,96!==e[u]){i.push(e[u]),u+=1,l=!1;break}if(a=u+1,a>=o)break;if(96===e[a]){i.push(96),u+=2,l=!1;break}if(120===e[a]){if(c=r(a+1,o,e),c.error)break;i.push(c.char),u=c.nexti,l=!1;break}if(117===e[a]){if(123===e[a+1]){if(c=s(a+2,o,e),c.error)break;i.push(c.char),u=c.nexti,l=!1;break}if(c=n(a+1,o,e),c.error)break;i.push(c.char),u=c.nexti,l=!1;break}break}if(l)throw new Error(`escaped.decode: ill-formed escape sequence at buf[${u}]`)}return i}};const h=10;t.lineEnds={crlf(e){const t=[];let r=0;for(;r<e.length;)switch(e[r]){case 13:r+1<e.length&&e[r+1]===h?r+=2:r+=1,t.push(13),t.push(h);break;case h:t.push(13),t.push(h),r+=1;break;default:t.push(e[r]),r+=1}return t.length>0&&t[t.length-1]!==h&&(t.push(13),t.push(h)),t},lf(e){const t=[];let r=0;for(;r<e.length;)switch(e[r]){case 13:r+1<e.length&&e[r+1]===h?r+=2:r+=1,t.push(h);break;case h:t.push(h),r+=1;break;default:t.push(e[r]),r+=1}return t.length>0&&t[t.length-1]!==h&&t.push(h),t}},t.base64={encode(e){if(0===e.length)return n.alloc(0);let t,r,s,i=e.length%3;i=i>0?3-i:0;let o=(e.length+i)/3;const a=n.alloc(4*o);i>0&&(o-=1),t=0,r=0;for(let n=0;n<o;n+=1)s=e[t++]<<16,s+=e[t++]<<8,s+=e[t++],a[r++]=d[s>>18&c[6]],a[r++]=d[s>>12&c[6]],a[r++]=d[s>>6&c[6]],a[r++]=d[s&c[6]];return 0===i?a:1===i?(s=e[t++]<<16,s+=e[t]<<8,a[r++]=d[s>>18&c[6]],a[r++]=d[s>>12&c[6]],a[r++]=d[s>>6&c[6]],a[r]=d[64],a):2===i?(s=e[t]<<16,a[r++]=d[s>>18&c[6]],a[r++]=d[s>>12&c[6]],a[r++]=d[64],a[r]=d[64],a):void 0},decode(e){if(0===e.length)return n.alloc(0);const t=function(e){const t=[];let r=0;for(let n=0;n<e.length;n+=1){const s=e[n],i=!0;for(;i&&32!==s&&9!==s&&10!==s&&13!==s;){if(s>=65&&s<=90){t.push(s-65);break}if(s>=97&&s<=122){t.push(s-71);break}if(s>=48&&s<=57){t.push(s+4);break}if(43===s){t.push(62);break}if(47===s){t.push(63);break}if(61===s){t.push(64),r+=1;break}throw new RangeError(`base64.decode: invalid character buf[${n}]: ${s}`)}}if(t.length%4>0)throw new RangeError(`base64.decode: string length not integral multiple of 4: ${t.length}`);switch(r){case 0:break;case 1:if(64!==t[t.length-1])throw new RangeError(\"base64.decode: one tail character found: not last character\");break;case 2:if(64!==t[t.length-1]||64!==t[t.length-2])throw new RangeError(\"base64.decode: two tail characters found: not last characters\");break;default:throw new RangeError(`base64.decode: more than two tail characters found: ${r}`)}return{tail:r,buf:n.from(t)}}(e),{tail:r}=t,s=t.buf;let i,o,a,l=s.length/4;const u=n.alloc(3*l-r);r>0&&(l-=1),o=0,i=0;for(let e=0;e<l;e+=1)a=s[i++]<<18,a+=s[i++]<<12,a+=s[i++]<<6,a+=s[i++],u[o++]=a>>16&c[8],u[o++]=a>>8&c[8],u[o++]=a&c[8];return 1===r&&(a=s[i++]<<18,a+=s[i++]<<12,a+=s[i]<<6,u[o++]=a>>16&c[8],u[o]=a>>8&c[8]),2===r&&(a=s[i++]<<18,a+=s[i++]<<12,u[o]=a>>16&c[8]),u},toString(e){if(e.length%4>0)throw new RangeError(`base64.toString: input buffer length not multiple of 4: ${e.length}`);let t=\"\",r=0;function n(e,n,s,i){switch(r){case 76:t+=`\\r\\n${e}${n}${s}${i}`,r=4;break;case 75:t+=`${e}\\r\\n${n}${s}${i}`,r=3;break;case 74:t+=`${e+n}\\r\\n${s}${i}`,r=2;break;case 73:t+=`${e+n+s}\\r\\n${i}`,r=1;break;default:t+=e+n+s+i,r+=4}}function s(e){return e>=65&&e<=90||(e>=97&&e<=122||(e>=48&&e<=57||(43===e||(47===e||61===e))))}for(let t=0;t<e.length;t+=4){for(let r=t;r<t+4;r+=1)if(!s(e[r]))throw new RangeError(`base64.toString: buf[${r}]: ${e[r]} : not valid base64 character code`);n(String.fromCharCode(e[t]),String.fromCharCode(e[t+1]),String.fromCharCode(e[t+2]),String.fromCharCode(e[t+3]))}return t}}},7770(e,t,r){e.exports=function(){const e=r(5298),t=r(1174),n=this;let s=null,i=null,o=null,a=0;const c=[],l=[],u=[],d=[];function h(e){let t=\"\";for(let r=0;r<e;r+=1)t+=\" \";return t}this.callbacks=[],this.astObject=\"astObject\",this.init=function(e,t,r){let h;u.length=0,d.length=0,c.length=0,a=0,s=e,i=t,o=r;const f=[];for(h=0;h<s.length;h+=1)f.push(s[h].lower);for(h=0;h<i.length;h+=1)f.push(i[h].lower);for(a=s.length+i.length,h=0;h<a;h+=1)c[h]=!1,l[h]=null;for(const e in n.callbacks){const t=e.toLowerCase();if(h=f.indexOf(t),h<0)throw new Error(`ast.js: init: node '${e}' not a rule or udt name`);\"function\"==typeof n.callbacks[e]&&(c[h]=!0,l[h]=n.callbacks[e]),!0===n.callbacks[e]&&(c[h]=!0)}},this.ruleDefined=function(e){return!1!==c[e]},this.udtDefined=function(e){return!1!==c[s.length+e]},this.down=function(t,r){const n=d.length;return u.push(n),d.push({name:r,thisIndex:n,thatIndex:null,state:e.SEM_PRE,callbackIndex:t,phraseIndex:null,phraseLength:null,stack:u.length}),n},this.up=function(t,r,n,s){const i=d.length,o=u.pop();return d.push({name:r,thisIndex:i,thatIndex:o,state:e.SEM_POST,callbackIndex:t,phraseIndex:n,phraseLength:s,stack:u.length}),d[o].thatIndex=i,d[o].phraseIndex=n,d[o].phraseLength=s,i},this.translate=function(t){let r,n,s;for(let i=0;i<d.length;i+=1)s=d[i],n=l[s.callbackIndex],s.state===e.SEM_PRE?null!==n&&(r=n(e.SEM_PRE,o,s.phraseIndex,s.phraseLength,t),r===e.SEM_SKIP&&(i=s.thatIndex)):null!==n&&n(e.SEM_POST,o,s.phraseIndex,s.phraseLength,t)},this.setLength=function(e){d.length=e,u.length=e>0?d[e-1].stack:0},this.getLength=function(){return d.length},this.toXml=function(r){let n=t.charsToDec,s=\"decimal integer character codes\";if(\"string\"==typeof r&&r.length>=3){const e=r.slice(0,3).toLowerCase();\"asc\"===e?(n=t.charsToAscii,s=\"ASCII for printing characters, hex for non-printing\"):\"hex\"===e?(n=t.charsToHex,s=\"hexadecimal integer character codes\"):\"uni\"===e&&(n=t.charsToUnicode,s=\"Unicode UTF-32 integer character codes\")}let i=\"\",a=0;return i+='<?xml version=\"1.0\" encoding=\"utf-8\"?>\\n',i+=`<root nodes=\"${d.length/2}\" characters=\"${o.length}\">\\n`,i+=`\\x3c!-- input string, ${s} --\\x3e\\n`,i+=h(a+2),i+=n(o),i+=\"\\n\",d.forEach(t=>{t.state===e.SEM_PRE?(a+=1,i+=h(a),i+=`<node name=\"${t.name}\" index=\"${t.phraseIndex}\" length=\"${t.phraseLength}\">\\n`,i+=h(a+2),i+=n(o,t.phraseIndex,t.phraseLength),i+=\"\\n\"):(i+=h(a),i+=`</node>\\x3c!-- name=\"${t.name}\" --\\x3e\\n`,a-=1)}),i+=\"</root>\\n\",i},this.phrases=function(){const t={};let r,n;for(r=0;r<d.length;r+=1)n=d[r],n.state===e.SEM_PRE&&(Array.isArray(t[n.name])||(t[n.name]=[]),t[n.name].push({index:n.phraseIndex,length:n.phraseLength}));return t}}},6660(e){e.exports=function(){let e=-1,t=0;this.init=function(r){if(\"number\"!=typeof r||r<=0)throw new Error(\"circular-buffer.js: init: circular buffer size must an integer > 0\");t=Math.ceil(r),e=-1},this.increment=function(){return e+=1,(e+t)%t},this.maxSize=function(){return t},this.items=function(){return e+1},this.getListIndex=function(r){return-1===e||r<0||r>e||e-r>=t?-1:(r+t)%t},this.forEach=function(r){if(-1!==e)if(e<t)for(let t=0;t<=e;t+=1)r(t,t);else for(let n=e-t+1;n<=e;n+=1){r((n+t)%t,n)}}}},9724(e){e.exports=function(){return\"/* This file automatically generated by jsonToless() and LESS. */\\n.apg-mono {\\n  font-family: monospace;\\n}\\n.apg-active {\\n  font-weight: bold;\\n  color: #000000;\\n}\\n.apg-match {\\n  font-weight: bold;\\n  color: #264BFF;\\n}\\n.apg-empty {\\n  font-weight: bold;\\n  color: #0fbd0f;\\n}\\n.apg-nomatch {\\n  font-weight: bold;\\n  color: #FF4000;\\n}\\n.apg-lh-match {\\n  font-weight: bold;\\n  color: #1A97BA;\\n}\\n.apg-lb-match {\\n  font-weight: bold;\\n  color: #5F1687;\\n}\\n.apg-remainder {\\n  font-weight: bold;\\n  color: #999999;\\n}\\n.apg-ctrl-char {\\n  font-weight: bolder;\\n  font-style: italic;\\n  font-size: 0.6em;\\n}\\n.apg-line-end {\\n  font-weight: bold;\\n  color: #000000;\\n}\\n.apg-error {\\n  font-weight: bold;\\n  color: #FF4000;\\n}\\n.apg-phrase {\\n  color: #000000;\\n  background-color: #8caae6;\\n}\\n.apg-empty-phrase {\\n  color: #0fbd0f;\\n}\\ntable.apg-state {\\n  font-family: monospace;\\n  margin-top: 5px;\\n  font-size: 11px;\\n  line-height: 130%;\\n  text-align: left;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-state th,\\ntable.apg-state td {\\n  text-align: left;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-state th:nth-last-child(2),\\ntable.apg-state td:nth-last-child(2) {\\n  text-align: right;\\n}\\ntable.apg-state caption {\\n  font-size: 125%;\\n  line-height: 130%;\\n  font-weight: bold;\\n  text-align: left;\\n}\\ntable.apg-stats {\\n  font-family: monospace;\\n  margin-top: 5px;\\n  font-size: 11px;\\n  line-height: 130%;\\n  text-align: right;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-stats th,\\ntable.apg-stats td {\\n  text-align: right;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-stats caption {\\n  font-size: 125%;\\n  line-height: 130%;\\n  font-weight: bold;\\n  text-align: left;\\n}\\ntable.apg-trace {\\n  font-family: monospace;\\n  margin-top: 5px;\\n  font-size: 11px;\\n  line-height: 130%;\\n  text-align: right;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-trace caption {\\n  font-size: 125%;\\n  line-height: 130%;\\n  font-weight: bold;\\n  text-align: left;\\n}\\ntable.apg-trace th,\\ntable.apg-trace td {\\n  text-align: right;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-trace th:last-child,\\ntable.apg-trace th:nth-last-child(2),\\ntable.apg-trace td:last-child,\\ntable.apg-trace td:nth-last-child(2) {\\n  text-align: left;\\n}\\ntable.apg-grammar {\\n  font-family: monospace;\\n  margin-top: 5px;\\n  font-size: 11px;\\n  line-height: 130%;\\n  text-align: right;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-grammar caption {\\n  font-size: 125%;\\n  line-height: 130%;\\n  font-weight: bold;\\n  text-align: left;\\n}\\ntable.apg-grammar th,\\ntable.apg-grammar td {\\n  text-align: right;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-grammar th:last-child,\\ntable.apg-grammar td:last-child {\\n  text-align: left;\\n}\\ntable.apg-rules {\\n  font-family: monospace;\\n  margin-top: 5px;\\n  font-size: 11px;\\n  line-height: 130%;\\n  text-align: right;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-rules caption {\\n  font-size: 125%;\\n  line-height: 130%;\\n  font-weight: bold;\\n  text-align: left;\\n}\\ntable.apg-rules th,\\ntable.apg-rules td {\\n  text-align: right;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-rules a {\\n  color: #003399 !important;\\n}\\ntable.apg-rules a:hover {\\n  color: #8caae6 !important;\\n}\\ntable.apg-attrs {\\n  font-family: monospace;\\n  margin-top: 5px;\\n  font-size: 11px;\\n  line-height: 130%;\\n  text-align: center;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-attrs caption {\\n  font-size: 125%;\\n  line-height: 130%;\\n  font-weight: bold;\\n  text-align: left;\\n}\\ntable.apg-attrs th,\\ntable.apg-attrs td {\\n  text-align: center;\\n  border: 1px solid black;\\n  border-collapse: collapse;\\n}\\ntable.apg-attrs th:nth-child(1),\\ntable.apg-attrs th:nth-child(2),\\ntable.apg-attrs th:nth-child(3) {\\n  text-align: right;\\n}\\ntable.apg-attrs td:nth-child(1),\\ntable.apg-attrs td:nth-child(2),\\ntable.apg-attrs td:nth-child(3) {\\n  text-align: right;\\n}\\ntable.apg-attrs a {\\n  color: #003399 !important;\\n}\\ntable.apg-attrs a:hover {\\n  color: #8caae6 !important;\\n}\\n\"}},5298(e){e.exports={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,BKR:14,BKA:15,BKN:16,ABG:17,AEN:18,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,SEM_SKIP:301,ATTR_N:400,ATTR_R:401,ATTR_MR:402,LOOKAROUND_NONE:500,LOOKAROUND_AHEAD:501,LOOKAROUND_BEHIND:502,BKR_MODE_UM:601,BKR_MODE_PM:602,BKR_MODE_CS:603,BKR_MODE_CI:604}},4202(e,t,r){e.exports={ast:r(7770),circular:r(6660),ids:r(5298),parser:r(1355),stats:r(7857),trace:r(8127),utils:r(1174),emitcss:r(9724),style:r(2475)}},1355(e,t,r){e.exports=function(){const e=r(5298),t=r(1174),n=\"parser.js: \",s=this;let i;this.ast=null,this.stats=null,this.trace=null,this.callbacks=[];let o,a,c,l,u=null,d=null,h=0,f=0,p=0,m=null,g=null,y=null,b=null,v=null,w=0,A=1/0,E=1/0;const x=function(t,r,s){const o=`${n}evaluateRule(): `;if(t>=y.length)throw new Error(`${o}rule index: ${t} out of range`);if(r>=c)throw new Error(`${o}phrase index: ${r} out of range`);const{length:a}=u;u.push({type:e.RNM,index:t}),i(a,r,s),u.pop()},T=function(t,r,s){const o=`${n}evaluateUdt(): `;if(t>=b.length)throw new Error(`${o}udt index: ${t} out of range`);if(r>=c)throw new Error(`${o}phrase index: ${r} out of range`);const{length:a}=u;u.push({type:e.UDT,empty:b[t].empty,index:t}),i(a,r,s),u.pop()},k=function(){h=0,f=0,p=0,w=0,l=[{lookAround:e.LOOKAROUND_NONE,anchor:0,charsEnd:0,charsLength:0}],y=null,b=null,d=null,o=0,a=0,c=0,m=null,g=null,v=null,u=null},S=function(){const e=[];this.push=function(){e.push(function(){const t=e[e.length-1],r={};for(const e in t)r[e]=t[e];return r}())},this.pop=function(t){let r=t;if(r||(r=e.length-1),r<1||r>e.length)throw new Error(`${n}backRef.pop(): bad length: ${r}`);return e.length=r,e[e.length-1]},this.length=function(){return e.length},this.savePhrase=function(t,r,n){e[e.length-1][t]={phraseIndex:r,phraseLength:n}},this.getPhrase=function(t){return e[e.length-1][t]},function(){const t={};y.forEach(e=>{e.isBkr&&(t[e.lower]=null)}),b.length>0&&b.forEach(e=>{e.isBkr&&(t[e.lower]=null)}),e.push(t)}()},C=function(){const t=this;this.state=e.ACTIVE,this.phraseLength=0,this.ruleIndex=0,this.udtIndex=0,this.lookAround=l[l.length-1],this.uFrame=new S,this.pFrame=new S,this.evaluateRule=x,this.evaluateUdt=T,this.refresh=function(){t.state=e.ACTIVE,t.phraseLength=0,t.lookAround=l[l.length-1]}},I=function(){return l[l.length-1]},P=function(){return l.length>1},M=function(e,r,s){const i=`${n}initializeInputChars(): `;let l=e,u=r,h=s;if(void 0===l)throw new Error(`${i}input string is undefined`);if(null===l)throw new Error(`${i}input string is null`);if(\"string\"==typeof l)l=t.stringToChars(l);else if(!Array.isArray(l))throw new Error(`${i}input string is not a string or array`);if(l.length>0&&\"number\"!=typeof l[0])throw new Error(`${i}input string not an array of integers`);if(\"number\"!=typeof u)u=0;else if(u=Math.floor(u),u<0||u>l.length)throw new Error(`${i}input beginning index out of range: ${u}`);if(\"number\"!=typeof h)h=l.length-u;else if(h=Math.floor(h),h<0||h>l.length-u)throw new Error(`${i}input length out of range: ${h}`);d=l,o=u,a=h,c=o+a};this.setMaxTreeDepth=function(e){if(\"number\"!=typeof e)throw new Error(`parser: max tree depth must be integer > 0: ${e}`);if(A=Math.floor(e),A<=0)throw new Error(`parser: max tree depth must be integer > 0: ${e}`)},this.setMaxNodeHits=function(e){if(\"number\"!=typeof e)throw new Error(`parser: max node hits must be integer > 0: ${e}`);if(E=Math.floor(e),E<=0)throw new Error(`parser: max node hits must be integer > 0: ${e}`)};const R=function(t,r,l){let h;const A=`${n}parse(): `;!function(e){const t=`${n}initializeGrammar(): `;if(!e)throw new Error(`${t}grammar object undefined`);if(\"grammarObject\"!==e.grammarObject)throw new Error(`${t}bad grammar object`);y=e.rules,b=e.udts}(t);const E=function(e){const t=`${n}initializeStartRule(): `;let r=null;if(\"number\"==typeof e){if(e>=y.length)throw new Error(`${t}start rule index too large: max: ${y.length}: index: ${e}`);r=e}else{if(\"string\"!=typeof e)throw new Error(`${t}type of start rule '${typeof e}' not recognized`);{const n=e.toLowerCase();for(let e=0;e<y.length;e+=1)if(n===y[e].lower){r=y[e].index;break}if(null===r)throw new Error(`${t}start rule name '${e}' not recognized`)}}return r}(r);!function(){const e=`${n}initializeCallbacks(): `;let t,r;for(m=[],g=[],t=0;t<y.length;t+=1)m[t]=null;for(t=0;t<b.length;t+=1)g[t]=null;const i=[];for(t=0;t<y.length;t+=1)i.push(y[t].lower);for(t=0;t<b.length;t+=1)i.push(b[t].lower);for(const n in s.callbacks){if(t=i.indexOf(n.toLowerCase()),t<0)throw new Error(`${e}syntax callback '${n}' not a rule or udt name`);if(r=s.callbacks[n],r||(r=null),\"function\"!=typeof r&&null!==r)throw new Error(`${e}syntax callback[${n}] must be function reference or 'false' (false/null/undefined/etc.)`);t<y.length?m[t]=r:g[t-y.length]=r}for(t=0;t<b.length;t+=1)if(null===g[t])throw new Error(`${e}all UDT callbacks must be defined. UDT callback[${b[t].lower}] not a function reference`)}(),function(){const e=`${n}initializeTrace(): `;for(;;){if(void 0===s.trace){s.trace=null;break}if(null===s.trace)break;if(\"traceObject\"!==s.trace.traceObject)throw new Error(`${e}trace object not recognized`);break}null!==s.trace&&s.trace.init(y,b,d)}(),function(){const e=`${n}initializeStats(): `;for(;;){if(void 0===s.stats){s.stats=null;break}if(null===s.stats)break;if(\"statsObject\"!==s.stats.statsObject)throw new Error(`${e}stats object not recognized`);break}null!==s.stats&&s.stats.init(y,b)}(),function(){const e=`${n}initializeAst(): `;for(;;){if(void 0===s.ast){s.ast=null;break}if(null===s.ast)break;if(\"astObject\"!==s.ast.astObject)throw new Error(`${e}ast object not recognized`);break}null!==s.ast&&s.ast.init(y,b,d)}();const x=new C;switch(null!=l&&(v=l),u=[{type:e.RNM,index:E}],i(0,o,x),u=null,x.state){case e.ACTIVE:throw new Error(`${A}final state should never be 'ACTIVE'`);case e.NOMATCH:h=!1;break;case e.EMPTY:case e.MATCH:h=x.phraseLength===a;break;default:throw new Error(\"unrecognized state\")}return{success:h,state:x.state,length:a,matched:x.phraseLength,maxMatched:w,maxTreeDepth:f,nodeHits:p,inputLength:d.length,subBegin:o,subEnd:c,subLength:a}};this.parseSubstring=function(e,t,r,n,s,i){return k(),M(r,n,s),R(e,t,i)},this.parse=function(e,t,r,n){return k(),M(r,0,r.length),R(e,t,n)};const B=function(t,r,n){const s=u[t];for(let t=0;t<s.children.length&&(i(s.children[t],r,n),n.state===e.NOMATCH);t+=1);},N=function(t,r,s,i){if(r.phraseLength>s){let e=`${n}opRNM(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${r.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(r.state){case e.ACTIVE:if(!0!==i)throw new Error(`${n}opRNM(${t.name}): callback function return error. ACTIVE state not allowed.`);break;case e.EMPTY:r.phraseLength=0;break;case e.MATCH:0===r.phraseLength&&(r.state=e.EMPTY);break;case e.NOMATCH:r.phraseLength=0;break;default:throw new Error(`${n}opRNM(${t.name}): callback function return error. Unrecognized return state: ${r.state}`)}},O=function(t,r,n){let o,a,l,h,f,p;const g=u[t],b=y[g.index],w=m[b.index],A=!P();if(A&&(a=s.ast&&s.ast.ruleDefined(g.index),a&&(o=s.ast.getLength(),s.ast.down(g.index,y[g.index].name)),h=n.uFrame.length(),f=n.pFrame.length(),n.uFrame.push(),n.pFrame.push(),p=n.pFrame,n.pFrame=new S),null===w)l=u,u=b.opcodes,i(0,r,n),u=l;else{const t=c-r;n.ruleIndex=b.index,w(n,d,r,v),N(b,n,t,!0),n.state===e.ACTIVE&&(l=u,u=b.opcodes,i(0,r,n),u=l,n.ruleIndex=b.index,w(n,d,r,v),N(b,n,t,!1))}A&&(a&&(n.state===e.NOMATCH?s.ast.setLength(o):s.ast.up(g.index,b.name,r,n.phraseLength)),n.pFrame=p,n.state===e.NOMATCH?(n.uFrame.pop(h),n.pFrame.pop(f)):b.isBkr&&(n.pFrame.savePhrase(b.lower,r,n.phraseLength),n.uFrame.savePhrase(b.lower,r,n.phraseLength)))},_=function(t,r,i){let o,a,l,h,f,p;const m=u[t],w=b[m.index];i.UdtIndex=w.index;const A=!P();A&&(l=s.ast&&s.ast.udtDefined(m.index),l&&(a=y.length+m.index,o=s.ast.getLength(),s.ast.down(a,w.name)),h=i.uFrame.length(),f=i.pFrame.length(),i.uFrame.push(),i.pFrame.push(),p=i.pFrame,i.pFrame=new S);const E=c-r;g[m.index](i,d,r,v),function(t,r,s){if(r.phraseLength>s){let e=`${n}opUDT(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${r.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(r.state){case e.ACTIVE:throw new Error(`${n}opUDT(${t.name}): callback function return error. ACTIVE state not allowed.`);case e.EMPTY:if(!1===t.empty)throw new Error(`${n}opUDT(${t.name}): callback function return error. May not return EMPTY.`);r.phraseLength=0;break;case e.MATCH:if(0===r.phraseLength){if(!1===t.empty)throw new Error(`${n}opUDT(${t.name}): callback function return error. May not return EMPTY.`);r.state=e.EMPTY}break;case e.NOMATCH:r.phraseLength=0;break;default:throw new Error(`${n}opUDT(${t.name}): callback function return error. Unrecognized return state: ${r.state}`)}}(w,i,E),A&&(l&&(i.state===e.NOMATCH?s.ast.setLength(o):s.ast.up(a,w.name,r,i.phraseLength)),i.pFrame=p,i.state===e.NOMATCH?(i.uFrame.pop(h),i.pFrame.pop(f)):w.isBkr&&(i.pFrame.savePhrase(w.lower,r,i.phraseLength),i.uFrame.savePhrase(w.lower,r,i.phraseLength)))},L=function(t,r,n){l.push({lookAround:e.LOOKAROUND_AHEAD,anchor:r,charsEnd:c,charsLength:a}),c=d.length,a=d.length-o,i(t+1,r,n);const s=l.pop();switch(c=s.charsEnd,a=s.charsLength,n.phraseLength=0,n.state){case e.EMPTY:case e.MATCH:n.state=e.EMPTY;break;case e.NOMATCH:n.state=e.NOMATCH;break;default:throw new Error(`opAND: invalid state ${n.state}`)}},D=function(t,r,n){l.push({lookAround:e.LOOKAROUND_AHEAD,anchor:r,charsEnd:c,charsLength:a}),c=d.length,a=d.length-o,i(t+1,r,n);const s=l.pop();switch(c=s.charsEnd,a=s.charsLength,n.phraseLength=0,n.state){case e.EMPTY:case e.MATCH:n.state=e.NOMATCH;break;case e.NOMATCH:n.state=e.EMPTY;break;default:throw new Error(`opNOT: invalid state ${n.state}`)}},F=function(t,r,n){n.state=e.NOMATCH,n.phraseLength=0,n.state=0===r?e.EMPTY:e.NOMATCH},U=function(t,r,n){n.state=e.NOMATCH,n.phraseLength=0,n.state=r===d.length?e.EMPTY:e.NOMATCH},j=function(t,r,n){switch(l.push({lookAround:e.LOOKAROUND_BEHIND,anchor:r}),i(t+1,r,n),l.pop(),n.phraseLength=0,n.state){case e.EMPTY:case e.MATCH:n.state=e.EMPTY;break;case e.NOMATCH:n.state=e.NOMATCH;break;default:throw new Error(`opBKA: invalid state ${n.state}`)}},H=function(t,r,n){switch(l.push({lookAround:e.LOOKAROUND_BEHIND,anchor:r}),i(t+1,r,n),l.pop(),n.phraseLength=0,n.state){case e.EMPTY:case e.MATCH:n.state=e.NOMATCH;break;case e.NOMATCH:n.state=e.EMPTY;break;default:throw new Error(`opBKN: invalid state ${n.state}`)}};i=function(t,r,n){let o=!0;const a=u[t];if(p+=1,p>E)throw new Error(`parser: maximum number of node hits exceeded: ${E}`);if(h+=1,h>f&&(f=h,f>A))throw new Error(`parser: maximum parse tree depth exceeded: ${A}`);if(n.refresh(),null!==s.trace){const e=I();s.trace.down(a,n.state,r,n.phraseLength,e.anchor,e.lookAround)}if(l[l.length-1].lookAround===e.LOOKAROUND_BEHIND)switch(a.type){case e.ALT:B(t,r,n);break;case e.CAT:!function(t,r,n){let o,a,c,l;const d=u[t],h=n.uFrame.length(),f=n.pFrame.length();s.ast&&(a=s.ast.getLength()),o=!0,c=r,l=0;for(let t=d.children.length-1;t>=0;t-=1)if(i(d.children[t],c,n),c-=n.phraseLength,l+=n.phraseLength,n.state===e.NOMATCH){o=!1;break}o?(n.state=0===l?e.EMPTY:e.MATCH,n.phraseLength=l):(n.state=e.NOMATCH,n.phraseLength=0,n.uFrame.pop(h),n.pFrame.pop(f),s.ast&&s.ast.setLength(a))}(t,r,n);break;case e.REP:!function(t,r,n){let o,a,c,l;const d=u[t];a=r,c=0,l=0;const h=n.uFrame.length(),f=n.pFrame.length();for(s.ast&&(o=s.ast.getLength());!(a<=0)&&(i(t+1,a,n),n.state!==e.NOMATCH)&&n.state!==e.EMPTY&&(l+=1,c+=n.phraseLength,a-=n.phraseLength,l!==d.max););n.state===e.EMPTY||l>=d.min?(n.state=0===c?e.EMPTY:e.MATCH,n.phraseLength=c):(n.state=e.NOMATCH,n.phraseLength=0,n.uFrame.pop(h),n.pFrame.pop(f),s.ast&&s.ast.setLength(o))}(t,r,n);break;case e.RNM:O(t,r,n);break;case e.UDT:_(t,r,n);break;case e.AND:L(t,r,n);break;case e.NOT:D(t,r,n);break;case e.TRG:!function(t,r,n){const s=u[t];if(n.state=e.NOMATCH,n.phraseLength=0,r>0){const t=d[r-1];s.min<=t&&t<=s.max&&(n.state=e.MATCH,n.phraseLength=1)}}(t,r,n);break;case e.TBS:!function(t,r,n){let s;const i=u[t];n.state=e.NOMATCH;const o=i.string.length,a=r-o;if(a>=0){for(s=0;s<o;s+=1)if(d[a+s]!==i.string[s])return;n.state=e.MATCH,n.phraseLength=o}}(t,r,n);break;case e.TLS:!function(t,r,n){let s;const i=u[t];n.state=e.NOMATCH;const o=i.string.length;if(0===o)return void(n.state=e.EMPTY);const a=r-o;if(a>=0){for(let e=0;e<o;e+=1)if(s=d[a+e],s>=65&&s<=90&&(s+=32),s!==i.string[e])return;n.state=e.MATCH,n.phraseLength=o}}(t,r,n);break;case e.BKR:!function(t,r,n){let s,i,o,a;const c=u[t];n.state=e.NOMATCH,n.phraseLength=0,a=c.index<y.length?y[c.index].lower:b[c.index-y.length].lower;const l=c.bkrMode===e.BKR_MODE_PM?n.pFrame.getPhrase(a):n.uFrame.getPhrase(a),h=c.bkrCase===e.BKR_MODE_CI;if(null===l)return;const f=l.phraseIndex,p=l.phraseLength;if(0===p)return n.state=e.EMPTY,void(n.phraseLength=0);const m=r-p;if(m>=0){if(h){for(s=0;s<p;s+=1)if(i=d[m+s],o=d[f+s],i>=65&&i<=90&&(i+=32),o>=65&&o<=90&&(o+=32),i!==o)return;n.state=e.MATCH,n.phraseLength=p}else for(s=0;s<p;s+=1)if(i=d[m+s],o=d[f+s],i!==o)return;n.state=e.MATCH,n.phraseLength=p}}(t,r,n);break;case e.BKA:j(t,r,n);break;case e.BKN:H(t,r,n);break;case e.ABG:F(0,r,n);break;case e.AEN:U(0,r,n);break;default:o=!1}else switch(a.type){case e.ALT:B(t,r,n);break;case e.CAT:!function(t,r,n){let o,a,c,l;const d=u[t],h=n.uFrame.length(),f=n.pFrame.length();s.ast&&(a=s.ast.getLength()),o=!0,c=r,l=0;for(let t=0;t<d.children.length;t+=1){if(i(d.children[t],c,n),n.state===e.NOMATCH){o=!1;break}c+=n.phraseLength,l+=n.phraseLength}o?(n.state=0===l?e.EMPTY:e.MATCH,n.phraseLength=l):(n.state=e.NOMATCH,n.phraseLength=0,n.uFrame.pop(h),n.pFrame.pop(f),s.ast&&s.ast.setLength(a))}(t,r,n);break;case e.REP:!function(t,r,n){let o,a,l,d;const h=u[t];if(0===h.max)return n.state=e.EMPTY,void(n.phraseLength=0);a=r,l=0,d=0;const f=n.uFrame.length(),p=n.pFrame.length();for(s.ast&&(o=s.ast.getLength());!(a>=c)&&(i(t+1,a,n),n.state!==e.NOMATCH)&&n.state!==e.EMPTY&&(d+=1,l+=n.phraseLength,a+=n.phraseLength,d!==h.max););n.state===e.EMPTY||d>=h.min?(n.state=0===l?e.EMPTY:e.MATCH,n.phraseLength=l):(n.state=e.NOMATCH,n.phraseLength=0,n.uFrame.pop(f),n.pFrame.pop(p),s.ast&&s.ast.setLength(o))}(t,r,n);break;case e.RNM:O(t,r,n);break;case e.UDT:_(t,r,n);break;case e.AND:L(t,r,n);break;case e.NOT:D(t,r,n);break;case e.TRG:!function(t,r,n){const s=u[t];n.state=e.NOMATCH,r<c&&s.min<=d[r]&&d[r]<=s.max&&(n.state=e.MATCH,n.phraseLength=1)}(t,r,n);break;case e.TBS:!function(t,r,n){let s;const i=u[t],o=i.string.length;if(n.state=e.NOMATCH,r+o<=c){for(s=0;s<o;s+=1)if(d[r+s]!==i.string[s])return;n.state=e.MATCH,n.phraseLength=o}}(t,r,n);break;case e.TLS:!function(t,r,n){let s,i;const o=u[t];n.state=e.NOMATCH;const a=o.string.length;if(0!==a){if(r+a<=c){for(s=0;s<a;s+=1)if(i=d[r+s],i>=65&&i<=90&&(i+=32),i!==o.string[s])return;n.state=e.MATCH,n.phraseLength=a}}else n.state=e.EMPTY}(t,r,n);break;case e.BKR:!function(t,r,n){let s,i,o,a;const l=u[t];n.state=e.NOMATCH,a=l.index<y.length?y[l.index].lower:b[l.index-y.length].lower;const h=l.bkrMode===e.BKR_MODE_PM?n.pFrame.getPhrase(a):n.uFrame.getPhrase(a),f=l.bkrCase===e.BKR_MODE_CI;if(null===h)return;const p=h.phraseIndex,m=h.phraseLength;if(0!==m){if(r+m<=c){if(f){for(s=0;s<m;s+=1)if(i=d[r+s],o=d[p+s],i>=65&&i<=90&&(i+=32),o>=65&&o<=90&&(o+=32),i!==o)return;n.state=e.MATCH,n.phraseLength=m}else for(s=0;s<m;s+=1)if(i=d[r+s],o=d[p+s],i!==o)return;n.state=e.MATCH,n.phraseLength=m}}else n.state=e.EMPTY}(t,r,n);break;case e.BKA:j(t,r,n);break;case e.BKN:H(t,r,n);break;case e.ABG:F(0,r,n);break;case e.AEN:U(0,r,n);break;default:o=!1}if(!P()&&r+n.phraseLength>w&&(w=r+n.phraseLength),null!==s.stats&&s.stats.collect(a,n),null!==s.trace){const e=I();s.trace.up(a,n.state,r,n.phraseLength,e.anchor,e.lookAround)}return h-=1,o}}},7857(e,t,r){e.exports=function(){const e=r(5298),t=r(1174),n=r(2475);let s=[],i=[];const o=[];let a;const c=[],l=[];this.statsObject=\"statsObject\";const u=function(e,t){return e.lower<t.lower?-1:e.lower>t.lower?1:0},d=function(e,t){return e.total<t.total?1:e.total>t.total?-1:u(e,t)},h=function(e,t){return e.index<t.index?-1:e.index>t.index?1:0},f=function(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},p=function(t,r){switch(t.total+=1,r){case e.EMPTY:t.empty+=1;break;case e.MATCH:t.match+=1;break;case e.NOMATCH:t.nomatch+=1;break;default:throw new Error(`stats.js: collect(): incStat(): unrecognized state: ${r}`)}},m=function(e,t){let r=\"\";return r+=\"<tr>\",r+=`<td class=\"${n.CLASS_ACTIVE}\">${e}</td>`,r+=`<td class=\"${n.CLASS_EMPTY}\">${t.empty}</td>`,r+=`<td class=\"${n.CLASS_MATCH}\">${t.match}</td>`,r+=`<td class=\"${n.CLASS_NOMATCH}\">${t.nomatch}</td>`,r+=`<td class=\"${n.CLASS_ACTIVE}\">${t.total}</td>`,r+=\"</tr>\\n\",r},g=function(){let t=\"\";return t+=m(\"ALT\",o[e.ALT]),t+=m(\"CAT\",o[e.CAT]),t+=m(\"REP\",o[e.REP]),t+=m(\"RNM\",o[e.RNM]),t+=m(\"TRG\",o[e.TRG]),t+=m(\"TBS\",o[e.TBS]),t+=m(\"TLS\",o[e.TLS]),t+=m(\"UDT\",o[e.UDT]),t+=m(\"AND\",o[e.AND]),t+=m(\"NOT\",o[e.NOT]),t+=m(\"BKR\",o[e.BKR]),t+=m(\"BKA\",o[e.BKA]),t+=m(\"BKN\",o[e.BKN]),t+=m(\"ABG\",o[e.ABG]),t+=m(\"AEN\",o[e.AEN]),t+=m(\"totals\",a),t},y=function(){let e=\"\";e+=\"<tr><th></th><th></th><th></th><th></th><th></th></tr>\\n\",e+=\"<tr><th>rules</th><th></th><th></th><th></th><th></th></tr>\\n\";for(let t=0;t<s.length;t+=1)c[t].total>0&&(e+=\"<tr>\",e+=`<td class=\"${n.CLASS_ACTIVE}\">${c[t].name}</td>`,e+=`<td class=\"${n.CLASS_EMPTY}\">${c[t].empty}</td>`,e+=`<td class=\"${n.CLASS_MATCH}\">${c[t].match}</td>`,e+=`<td class=\"${n.CLASS_NOMATCH}\">${c[t].nomatch}</td>`,e+=`<td class=\"${n.CLASS_ACTIVE}\">${c[t].total}</td>`,e+=\"</tr>\\n\");if(i.length>0){e+=\"<tr><th></th><th></th><th></th><th></th><th></th></tr>\\n\",e+=\"<tr><th>udts</th><th></th><th></th><th></th><th></th></tr>\\n\";for(let t=0;t<i.length;t+=1)l[t].total>0&&(e+=\"<tr>\",e+=`<td class=\"${n.CLASS_ACTIVE}\">${l[t].name}</td>`,e+=`<td class=\"${n.CLASS_EMPTY}\">${l[t].empty}</td>`,e+=`<td class=\"${n.CLASS_MATCH}\">${l[t].match}</td>`,e+=`<td class=\"${n.CLASS_NOMATCH}\">${l[t].nomatch}</td>`,e+=`<td class=\"${n.CLASS_ACTIVE}\">${l[t].total}</td>`,e+=\"</tr>\\n\")}return e};this.validate=function(e){let t=!1;return\"string\"==typeof e&&\"stats\"===e&&(t=!0),t},this.init=function(t,r){s=t,i=r,function(){o.length=0,a=new f,o[e.ALT]=new f,o[e.CAT]=new f,o[e.REP]=new f,o[e.RNM]=new f,o[e.TRG]=new f,o[e.TBS]=new f,o[e.TLS]=new f,o[e.UDT]=new f,o[e.AND]=new f,o[e.NOT]=new f,o[e.BKR]=new f,o[e.BKA]=new f,o[e.BKN]=new f,o[e.ABG]=new f,o[e.AEN]=new f,c.length=0;for(let e=0;e<s.length;e+=1)c.push({empty:0,match:0,nomatch:0,total:0,name:s[e].name,lower:s[e].lower,index:s[e].index});if(i.length>0){l.length=0;for(let e=0;e<i.length;e+=1)l.push({empty:0,match:0,nomatch:0,total:0,name:i[e].name,lower:i[e].lower,index:i[e].index})}}()},this.collect=function(t,r){p(a,r.state,r.phraseLength),p(o[t.type],r.state,r.phraseLength),t.type===e.RNM&&p(c[t.index],r.state,r.phraseLength),t.type===e.UDT&&p(l[t.index],r.state,r.phraseLength)},this.toHtml=function(e,t){let r=\"\";r+=`<table class=\"${n.CLASS_STATS}\">\\n`,\"string\"==typeof t&&(r+=`<caption>${t}</caption>\\n`),r+=`<tr><th class=\"${n.CLASS_ACTIVE}\">ops</th>\\n`,r+=`<th class=\"${n.CLASS_EMPTY}\">EMPTY</th>\\n`,r+=`<th class=\"${n.CLASS_MATCH}\">MATCH</th>\\n`,r+=`<th class=\"${n.CLASS_NOMATCH}\">NOMATCH</th>\\n`,r+=`<th class=\"${n.CLASS_ACTIVE}\">totals</th></tr>\\n`;for(;;){if(void 0===e){r+=g();break}if(null===e){r+=g();break}if(\"ops\"===e){r+=g();break}if(\"index\"===e){c.sort(h),l.length>0&&l.sort(h),r+=g(),r+=y();break}if(\"hits\"===e){c.sort(d),l.length>0&&l.sort(h),r+=g(),r+=y();break}if(\"alpha\"===e){c.sort(u),l.length>0&&l.sort(u),r+=g(),r+=y();break}break}return r+=\"</table>\\n\",r},this.toHtmlPage=function(e,r,n){return t.htmlToPage(this.toHtml(e,r),n)}}},2475(e){e.exports={CLASS_MONOSPACE:\"apg-mono\",CLASS_ACTIVE:\"apg-active\",CLASS_EMPTY:\"apg-empty\",CLASS_MATCH:\"apg-match\",CLASS_NOMATCH:\"apg-nomatch\",CLASS_LOOKAHEAD:\"apg-lh-match\",CLASS_LOOKBEHIND:\"apg-lb-match\",CLASS_REMAINDER:\"apg-remainder\",CLASS_CTRLCHAR:\"apg-ctrl-char\",CLASS_LINEEND:\"apg-line-end\",CLASS_ERROR:\"apg-error\",CLASS_PHRASE:\"apg-phrase\",CLASS_EMPTYPHRASE:\"apg-empty-phrase\",CLASS_STATE:\"apg-state\",CLASS_STATS:\"apg-stats\",CLASS_TRACE:\"apg-trace\",CLASS_GRAMMAR:\"apg-grammar\",CLASS_RULES:\"apg-rules\",CLASS_RULESLINK:\"apg-rules-link\",CLASS_ATTRIBUTES:\"apg-attrs\"}},8127(e,t,r){e.exports=function(){const e=r(1174),t=r(2475),n=new(r(6660)),s=r(5298),i=\"trace.js: \",o=this,a=16,c=80,l=[];let u=5e3,d=-1,h=0,f=0;const p=[];let m=null,g=null,y=null;const b=[],v=[],w=`<span class=\"${t.CLASS_LINEEND}\">&bull;</span>`,A=`<span class=\"${t.CLASS_LINEEND}\">&hellip;</span>`,E=`<span class=\"${t.CLASS_EMPTY}\">&#120634;</span>`;this.traceObject=\"traceObject\",this.filter={operators:[],rules:[]},this.setMaxRecords=function(e,t){d=-1,\"number\"==typeof e&&e>0?(u=Math.ceil(e),\"number\"==typeof t&&(d=Math.floor(t),d<0&&(d=-1))):u=0},this.getMaxRecords=function(){return u},this.getLastRecord=function(){return d},this.init=function(e,t,r){l.length=0,p.length=0,h=0,f=0,m=r,g=e,y=t,function(){const e=function(e){b[s.ALT]=e,b[s.CAT]=e,b[s.REP]=e,b[s.TLS]=e,b[s.TBS]=e,b[s.TRG]=e,b[s.AND]=e,b[s.NOT]=e,b[s.BKR]=e,b[s.BKA]=e,b[s.BKN]=e,b[s.ABG]=e,b[s.AEN]=e};let t=0;for(const e in o.filter.operators)t+=1;if(0!==t){for(const t in o.filter.operators){const r=t.toUpperCase();if(\"<ALL>\"===r)return void e(!0);if(\"<NONE>\"===r)return void e(!1)}e(!1);for(const e in o.filter.operators){const t=e.toUpperCase();if(\"ALT\"===t)b[s.ALT]=!0===o.filter.operators[e];else if(\"CAT\"===t)b[s.CAT]=!0===o.filter.operators[e];else if(\"REP\"===t)b[s.REP]=!0===o.filter.operators[e];else if(\"AND\"===t)b[s.AND]=!0===o.filter.operators[e];else if(\"NOT\"===t)b[s.NOT]=!0===o.filter.operators[e];else if(\"TLS\"===t)b[s.TLS]=!0===o.filter.operators[e];else if(\"TBS\"===t)b[s.TBS]=!0===o.filter.operators[e];else if(\"TRG\"===t)b[s.TRG]=!0===o.filter.operators[e];else if(\"BKR\"===t)b[s.BKR]=!0===o.filter.operators[e];else if(\"BKA\"===t)b[s.BKA]=!0===o.filter.operators[e];else if(\"BKN\"===t)b[s.BKN]=!0===o.filter.operators[e];else if(\"ABG\"===t)b[s.ABG]=!0===o.filter.operators[e];else{if(\"AEN\"!==t)throw new Error(`${i}initOpratorFilter: '${e}' not a valid operator name. Must be <all>, <none>, alt, cat, rep, tls, tbs, trg, and, not, bkr, bka or bkn`);b[s.AEN]=!0===o.filter.operators[e]}}}else e(!1)}(),function(){const e=function(e){b[s.RNM]=e,b[s.UDT]=e;const t=g.length+y.length;v.length=0;for(let r=0;r<t;r+=1)v.push(e)};let t,r;const n=[];for(r=0;r<g.length;r+=1)n.push(g[r].lower);for(r=0;r<y.length;r+=1)n.push(y[r].lower);v.length=0,t=0;for(const e in o.filter.rules)t+=1;if(0!==t){for(const t in o.filter.rules){const r=t.toLowerCase();if(\"<all>\"===r)return void e(!0);if(\"<none>\"===r)return void e(!1)}e(!1),b[s.RNM]=!0,b[s.UDT]=!0;for(const e in o.filter.rules){const t=e.toLowerCase();if(r=n.indexOf(t),r<0)throw new Error(`${i}initRuleFilter: '${e}' not a valid rule or udt name`);v[r]=!0===o.filter.rules[e]}}else e(!0)}(),n.init(u)};const x=function(e){let t=!1;return t=e.type===s.RNM?!(!b[e.type]||!v[e.index]):e.type===s.UDT?!(!b[e.type]||!v[g.length+e.index]):b[e.type],t},T=function(e){return-1===d||e<=d};this.down=function(e,t,r,s,i,o){T(h)&&x(e)&&(p.push(h),l[n.increment()]={dirUp:!1,depth:f,thisLine:h,thatLine:void 0,opcode:e,state:t,phraseIndex:r,phraseLength:s,lookAnchor:i,lookAround:o},h+=1,f+=1)},this.up=function(e,t,r,s,i,o){if(T(h)&&x(e)){const a=h,c=p.pop(),u=n.getListIndex(c);-1!==u&&(l[u].thatLine=a),f-=1,l[n.increment()]={dirUp:!0,depth:f,thisLine:a,thatLine:c,opcode:e,state:t,phraseIndex:r,phraseLength:s,lookAnchor:i,lookAround:o},h+=1}};this.toTree=function(t){const r=function(){function t(t,r){let n,i,o;if(r)switch(t.op={id:r.type,name:e.opcodeToString(r.type)},t.opData=void 0,r.type){case s.RNM:t.opData=g[r.index].name;break;case s.UDT:t.opData=y[r.index].name;break;case s.BKR:n=r.index<g.length?g[r.index].name:y[r.index-g.length].name,i=r.bkrCase===s.BKR_MODE_CI?\"%i\":\"%s\",o=r.bkrMode===s.BKR_MODE_UM?\"%u\":\"%p\",t.opData=`\\\\\\\\${i}${o}${n}`;break;case s.TLS:t.opData=[];for(let e=0;e<r.string.length;e+=1)t.opData.push(r.string[e]);break;case s.TBS:t.opData=[];for(let e=0;e<r.string.length;e+=1)t.opData.push(r.string[e]);break;case s.TRG:case s.REP:t.opData=[r.min,r.max];break;default:throw new Error(\"unrecognized opcode\")}else t.op={id:void 0,name:void 0},t.opData=void 0}function r(e,t,r){return e===s.MATCH?{index:t,length:r}:e===s.NOMATCH||e===s.EMPTY?{index:t,length:0}:null}let i=-1;function o(n,s,o){const a={id:i++,branch:-1,parent:n,up:!1,down:!1,depth:o,children:[]};return s?(a.down=!0,a.state={id:s.state,name:e.stateToString(s.state)},a.phrase=null,t(a,s.opcode)):(a.state={id:void 0,name:void 0},a.phrase=r(),t(a,void 0)),a}function a(n,s){s&&(n.up=!0,n.state={id:s.state,name:e.stateToString(s.state)},n.phrase=r(s.state,s.phraseIndex,s.phraseLength),n.down||t(n,s.opcode))}let c=0,u=-1,d=1;const h=[];let p,b,v,w,A=!0;const E=o(null,null,-1);for(h.push(E),b=E,n.forEach(e=>{if(w=l[e],A&&(A=!1,w.depth>0)){const e=w.dirUp?w.depth+1:w.depth;for(let t=0;t<e;t+=1)v=b,b=o(b,null,t),h.push(b),v.children.push(b)}w.dirUp?(b=h.pop(),a(b,w),b=h[h.length-1]):(v=b,b=o(b,w,w.depth),h.push(b),v.children.push(b))});h.length>1;)b=h.pop(),a(b,null);if(0===E.children.length)throw new Error(\"trace.toTree(): parse tree has no nodes\");if(0===h.length)throw new Error(\"trace.toTree(): integrity check: dummy root node disappeared?\");p=E.children[0];let x=p;for(;p&&!p.down&&!p.up;)x=p,p=p.children[0];p=x,p.leftMost=!0,p.rightMost=!0,function e(t){if(u+=1,t.branch=d,u>f&&(f=u),0===t.children.length)c+=1;else for(let r=0;r<t.children.length;r+=1)r>0&&(d+=1),t.children[r].leftMost=!1,t.children[r].rightMost=!1,t.leftMost&&(t.children[r].leftMost=0===r),t.rightMost&&(t.children[r].rightMost=r===t.children.length-1),e(t.children[r]);u-=1}(p),p.branch=0;const T={string:[]};for(let e=0;e<m.length;e+=1)T.string[e]=m[e];T.rules=[];for(let e=0;e<g.length;e+=1)T.rules[e]=g[e].name;T.udts=[];for(let e=0;e<y.length;e+=1)T.udts[e]=y[e].name;let k;return T.id={},T.id.ALT={id:s.ALT,name:\"ALT\"},T.id.CAT={id:s.CAT,name:\"CAT\"},T.id.REP={id:s.REP,name:\"REP\"},T.id.RNM={id:s.RNM,name:\"RNM\"},T.id.TLS={id:s.TLS,name:\"TLS\"},T.id.TBS={id:s.TBS,name:\"TBS\"},T.id.TRG={id:s.TRG,name:\"TRG\"},T.id.UDT={id:s.UDT,name:\"UDT\"},T.id.AND={id:s.AND,name:\"AND\"},T.id.NOT={id:s.NOT,name:\"NOT\"},T.id.BKR={id:s.BKR,name:\"BKR\"},T.id.BKA={id:s.BKA,name:\"BKA\"},T.id.BKN={id:s.BKN,name:\"BKN\"},T.id.ABG={id:s.ABG,name:\"ABG\"},T.id.AEN={id:s.AEN,name:\"AEN\"},T.id.ACTIVE={id:s.ACTIVE,name:\"ACTIVE\"},T.id.MATCH={id:s.MATCH,name:\"MATCH\"},T.id.EMPTY={id:s.EMPTY,name:\"EMPTY\"},T.id.NOMATCH={id:s.NOMATCH,name:\"NOMATCH\"},T.treeDepth=f,T.leafNodes=c,k=p.down?p.up?\"none\":\"right\":p.up?\"left\":\"both\",T.branchesIncomplete=k,T.tree=function e(t,r){let n;const s={};if(s.id=t.id,s.branch=t.branch,s.leftMost=t.leftMost,s.rightMost=t.rightMost,n=t.state.name?t.state.name:\"ACTIVE\",s.state={id:t.state.id,name:n},n=t.op.name?t.op.name:\"?\",s.op={id:t.op.id,name:n},\"string\"==typeof t.opData)s.opData=t.opData;else if(Array.isArray(t.opData)){s.opData=[];for(let e=0;e<t.opData.length;e+=1)s.opData[e]=t.opData[e]}else s.opData=void 0;t.phrase?s.phrase={index:t.phrase.index,length:t.phrase.length}:s.phrase=null,s.depth=t.depth,s.children=[];for(let n=0;n<t.children.length;n+=1)t.children.length,s.children[n]=e(t.children[n],r);return s}(p,p.depth),T}();return t?JSON.stringify(r):r},this.toHtmlPage=function(t,r,n){return e.htmlToPage(this.toHtml(t,r),n)};this.indent=function(e){let t=\"\";for(let r=0;r<e;r+=1)t+=\".\";return t};const k=function(t,r,n,s,i){if(0===s)return\"\";let o=\"\";const c=i?\",\":\"\";switch(t){case a:o=c+e.charsToHex(r,n,s);break;case 10:if(i)return`,${e.charsToDec(r,n,s)}`;o=c+e.charsToDec(r,n,s);break;case 32:o=e.charsToUnicode(r,n,s);break;default:o=e.charsToAsciiHtml(r,n,s)}return o},S=function(e,r,n,i,o,a){let l,u,d,h,f=\"\",p=w;const m=`<span class=\"${t.CLASS_REMAINDER}\">`,g=\"</span>\";let y=!1;switch(n){case s.EMPTY:f+=E;case s.NOMATCH:case s.ACTIVE:l=i,u=0,d=i,h=r.length-d;break;case s.MATCH:l=i,u=o,d=i+u,h=r.length-d;break;default:throw new Error(\"unrecognized state\")}return p=w,u>c?(u=c,p=A,h=0):u+h>c&&(p=A,h=c-u),u>0&&(f+=a,f+=k(e,r,l,u,y),f+=g,y=!0),h>0&&(f+=m,f+=k(e,r,d,h,y),f+=g),f+p},C=function(r){if(null===g)return\"\";let i,u,d,h,f,p,b=\"\";return b+=\"<tr><th>(a)</th><th>(b)</th><th>(c)</th><th>(d)</th><th>(e)</th><th>(f)</th>\",b+=\"<th>operator</th><th>phrase</th></tr>\\n\",n.forEach(n=>{const v=l[n];switch(i=v.thisLine,u=void 0!==v.thatLine?v.thatLine:\"--\",d=!1,h=!1,f=!1,v.lookAround===s.LOOKAROUND_AHEAD&&(d=!0,f=!0,p=v.lookAnchor),v.opcode.type!==s.AND&&v.opcode.type!==s.NOT||(d=!0,f=!0,p=v.phraseIndex),v.lookAround===s.LOOKAROUND_BEHIND&&(h=!0,f=!0,p=v.lookAnchor),v.opcode.type!==s.BKA&&v.opcode.type!==s.BKN||(h=!0,f=!0,p=v.phraseIndex),b+=\"<tr>\",b+=`<td>${i}</td><td>${u}</td>`,b+=`<td>${v.phraseIndex}</td>`,b+=`<td>${v.phraseLength}</td>`,b+=`<td>${v.depth}</td>`,b+=\"<td>\",v.state){case s.ACTIVE:b+=`<span class=\"${t.CLASS_ACTIVE}\">&darr;&nbsp;</span>`;break;case s.MATCH:b+=`<span class=\"${t.CLASS_MATCH}\">&uarr;M</span>`;break;case s.NOMATCH:b+=`<span class=\"${t.CLASS_NOMATCH}\">&uarr;N</span>`;break;case s.EMPTY:b+=`<span class=\"${t.CLASS_EMPTY}\">&uarr;E</span>`;break;default:b+=`<span class=\"${t.CLASS_ACTIVE}\">--</span>`}if(b+=\"</td>\",b+=\"<td>\",b+=o.indent(v.depth),d?b+=`<span class=\"${t.CLASS_LOOKAHEAD}\">`:h&&(b+=`<span class=\"${t.CLASS_LOOKBEHIND}\">`),b+=e.opcodeToString(v.opcode.type),v.opcode.type===s.RNM&&(b+=`(${g[v.opcode.index].name}) `),v.opcode.type===s.BKR){const e=v.opcode.bkrCase===s.BKR_MODE_CI?\"%i\":\"%s\",t=v.opcode.bkrMode===s.BKR_MODE_UM?\"%u\":\"%p\";b+=`(\\\\${e}${t}${g[v.opcode.index].name}) `}v.opcode.type===s.UDT&&(b+=`(${y[v.opcode.index].name}) `),v.opcode.type===s.TRG&&(b+=`(${function(e,t){let r=\"\";if(t.type===s.TRG)if(e===a||32===e){let n=t.min.toString(16).toUpperCase();n.length%2!=0&&(n=`0${n}`),r+=e===a?\"%x\":\"U+\",r+=n,n=t.max.toString(16).toUpperCase(),n.length%2!=0&&(n=`0${n}`),r+=`&ndash;${n}`}else r=`%d${t.min.toString(10)}&ndash;${t.max.toString(10)}`;return r}(r,v.opcode)}) `),v.opcode.type===s.TBS&&(b+=`(${function(e,t){let r=\"\";if(t.type===s.TBS){const n=Math.min(t.string.length,10);if(e===a||32===e){r+=e===a?\"%x\":\"U+\";for(let e=0;e<n;e+=1){let n;e>0&&(r+=\".\"),n=t.string[e].toString(16).toUpperCase(),n.length%2!=0&&(n=`0${n}`),r+=n}}else{r=\"%d\";for(let e=0;e<n;e+=1)e>0&&(r+=\".\"),r+=t.string[e].toString(10)}n<t.string.length&&(r+=A)}return r}(r,v.opcode)}) `),v.opcode.type===s.TLS&&(b+=`(${function(t,r){let n=\"\";if(r.type===s.TLS){const s=Math.min(r.string.length,5);if(t===a||10===t){let e,i,o;t===a?(n=\"%x\",o=16):(n=\"%d\",o=10);for(let t=0;t<s;t+=1)t>0&&(n+=\".\"),i=r.string[t],i>=97&&i<=122?(e=i-32,n+=`${e.toString(o)}/${i.toString(o)}`.toUpperCase()):i>=65&&i<=90?(e=i,i+=32,n+=`${e.toString(o)}/${i.toString(o)}`.toUpperCase()):n+=i.toString(o).toUpperCase();s<r.string.length&&(n+=A)}else{n='\"';for(let t=0;t<s;t+=1)n+=e.asciiChars[r.string[t]];s<r.string.length&&(n+=A),n+='\"'}}return n}(r,v.opcode)}) `),v.opcode.type===s.REP&&(b+=`(${function(e,t){let r=\"\";if(t.type===s.REP)if(e===a){let e=t.min.toString(16).toUpperCase();e.length%2!=0&&(e=`0${e}`),r=`x${e}`,t.max<1/0?(e=t.max.toString(16).toUpperCase(),e.length%2!=0&&(e=`0${e}`)):e=\"inf\",r+=`&ndash;${e}`}else r=t.max<1/0?`${t.min.toString(10)}&ndash;${t.max.toString(10)}`:`${t.min.toString(10)}&ndash;inf`;return r}(r,v.opcode)}) `),f&&(b+=\"</span>\"),b+=\"</td>\",b+=\"<td>\",b+=h?function(e,r,n,i,o,a){let l,u,d,h,f=\"\",p=w;const m=`<span class=\"${t.CLASS_LOOKBEHIND}\">`,g=`<span class=\"${t.CLASS_REMAINDER}\">`,y=\"</span>\";let b=!1;switch(n){case s.EMPTY:f+=E;case s.NOMATCH:case s.MATCH:case s.ACTIVE:l=i-o,u=a-l,d=a,h=r.length-d;break;default:throw new Error(\"unrecognized state\")}return p=w,u>c?(u=c,p=A,h=0):u+h>c&&(p=A,h=c-u),u>0&&(f+=m,f+=k(e,r,l,u,b),f+=y,b=!0),h>0&&(f+=g,f+=k(e,r,d,h,b),f+=y),f+p}(r,m,v.state,v.phraseIndex,v.phraseLength,p):d?function(e,r,n,s,i){const o=`<span class=\"${t.CLASS_LOOKAHEAD}\">`;return S(e,r,n,s,i,o)}(r,m,v.state,v.phraseIndex,v.phraseLength):function(e,r,n,s,i){const o=`<span class=\"${t.CLASS_MATCH}\">`;return S(e,r,n,s,i,o)}(r,m,v.state,v.phraseIndex,v.phraseLength),b+=\"</td></tr>\\n\"}),b+=\"<tr><th>(a)</th><th>(b)</th><th>(c)</th><th>(d)</th><th>(e)</th><th>(f)</th>\",b+=\"<th>operator</th><th>phrase</th></tr>\\n\",b+=\"</table>\\n\",b};this.toHtml=function(e,r){let n=8;if(\"string\"==typeof e&&e.length>=3){const t=e.toLowerCase().slice(0,3);\"hex\"===t?n=a:\"dec\"===t?n=10:\"uni\"===t&&(n=32)}let s=\"\";return s+=function(e,r){let n;switch(e){case a:n=\"hexadecimal\";break;case 10:n=\"decimal\";break;case 8:n=\"ASCII\";break;case 32:n=\"UNICODE\";break;default:throw new Error(`${i}htmlHeader: unrecognized mode: ${e}`)}let s=\"\";return s+=`<p>display mode: ${n}</p>\\n`,s+=`<table class=\"${t.CLASS_TRACE}\">\\n`,\"string\"==typeof r&&(s+=`<caption>${r}</caption>`),s}(n,r),s+=C(n),s+=function(){let e=\"\";return e+=\"</table>\\n\",e+=`<p class=\"${t.CLASS_MONOSPACE}\">legend:<br>\\n`,e+=\"(a)&nbsp;-&nbsp;line number<br>\\n\",e+=\"(b)&nbsp;-&nbsp;matching line number<br>\\n\",e+=\"(c)&nbsp;-&nbsp;phrase offset<br>\\n\",e+=\"(d)&nbsp;-&nbsp;phrase length<br>\\n\",e+=\"(e)&nbsp;-&nbsp;tree depth<br>\\n\",e+=\"(f)&nbsp;-&nbsp;operator state<br>\\n\",e+=`&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_ACTIVE}\">&darr;</span>&nbsp;&nbsp;phrase opened<br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_MATCH}\">&uarr;M</span> phrase matched<br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_EMPTY}\">&uarr;E</span> empty phrase matched<br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_NOMATCH}\">&uarr;N</span> phrase not matched<br>\\n`,e+=\"operator&nbsp;-&nbsp;ALT, CAT, REP, RNM, TRG, TLS, TBS<sup>&dagger;</sup>, UDT, AND, NOT, BKA, BKN, BKR, ABG, AEN<sup>&Dagger;</sup><br>\\n\",e+=\"phrase&nbsp;&nbsp;&nbsp;-&nbsp;up to 80 characters of the phrase being matched<br>\\n\",e+=`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_MATCH}\">matched characters</span><br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_LOOKAHEAD}\">matched characters in look ahead mode</span><br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_LOOKBEHIND}\">matched characters in look behind mode</span><br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_REMAINDER}\">remainder characters(not yet examined by parser)</span><br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class=\"${t.CLASS_CTRLCHAR}\">control characters, TAB, LF, CR, etc. (ASCII mode only)</span><br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${E} empty string<br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${w} end of input string<br>\\n`,e+=`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;${A} input string display truncated<br>\\n`,e+=\"</p>\\n\",e+=`<p class=\"${t.CLASS_MONOSPACE}\">\\n`,e+=\"<sup>&dagger;</sup>original ABNF operators:<br>\\n\",e+=\"ALT - alternation<br>\\n\",e+=\"CAT - concatenation<br>\\n\",e+=\"REP - repetition<br>\\n\",e+=\"RNM - rule name<br>\\n\",e+=\"TRG - terminal range<br>\\n\",e+=\"TLS - terminal literal string (case insensitive)<br>\\n\",e+=\"TBS - terminal binary string (case sensitive)<br>\\n\",e+=\"<br>\\n\",e+=\"<sup>&Dagger;</sup>super set SABNF operators:<br>\\n\",e+=\"UDT - user-defined terminal<br>\\n\",e+=\"AND - positive look ahead<br>\\n\",e+=\"NOT - negative look ahead<br>\\n\",e+=\"BKA - positive look behind<br>\\n\",e+=\"BKN - negative look behind<br>\\n\",e+=\"BKR - back reference<br>\\n\",e+=\"ABG - anchor - begin of input string<br>\\n\",e+=\"AEN - anchor - end of input string<br>\\n\",e+=\"</p>\\n\",e}(),s}}},1174(e,t,r){const n=r(2475),s=r(240),i=r(9724),o=r(5298),a=\"utilities.js: \",c=function(e,t,r){let n,s=t;for(;;){if(e<=0){s=0,n=0;break}if(\"number\"!=typeof s){s=0,n=e;break}if(s>=e){s=e,n=e;break}if(\"number\"!=typeof r){n=e;break}if(n=s+r,n>e){n=e;break}break}return{beg:s,end:n}};function l(e){return!(e>=55296&&e<=57343)&&!(e>1114111)}t.htmlToPage=function(e,t){let r;if(\"string\"!=typeof e)throw new Error(`${a}htmlToPage: input HTML is not a string`);r=\"string\"!=typeof t?\"htmlToPage\":t;let n=\"\";return n+=\"<!DOCTYPE html>\\n\",n+='<html lang=\"en\">\\n',n+=\"<head>\\n\",n+='<meta charset=\"utf-8\">\\n',n+=`<title>${r}</title>\\n`,n+=\"<style>\\n\",n+=i(),n+=\"</style>\\n\",n+=\"</head>\\n<body>\\n\",n+=`<p>${new Date}</p>\\n`,n+=e,n+=\"</body>\\n</html>\\n\",n},t.parserResultToHtml=function(e,t){let r,s,i=null;\"string\"==typeof t&&\"\"!==t&&(i=t),r=!0===e.success?`<span class=\"${n.CLASS_MATCH}\">true</span>`:`<span class=\"${n.CLASS_NOMATCH}\">false</span>`,s=e.state===o.EMPTY?`<span class=\"${n.CLASS_EMPTY}\">EMPTY</span>`:e.state===o.MATCH?`<span class=\"${n.CLASS_MATCH}\">MATCH</span>`:e.state===o.NOMATCH?`<span class=\"${n.CLASS_NOMATCH}\">NOMATCH</span>`:`<span class=\"${n.CLASS_NOMATCH}\">unrecognized</span>`;let a=\"\";return a+=`<table class=\"${n.CLASS_STATE}\">\\n`,i&&(a+=`<caption>${i}</caption>\\n`),a+=\"<tr><th>state item</th><th>value</th><th>description</th></tr>\\n\",a+=`<tr><td>parser success</td><td>${r}</td>\\n`,a+=`<td><span class=\"${n.CLASS_MATCH}\">true</span> if the parse succeeded,\\n`,a+=` <span class=\"${n.CLASS_NOMATCH}\">false</span> otherwise`,a+=\"<br><i>NOTE: for success, entire string must be matched</i></td></tr>\\n\",a+=`<tr><td>parser state</td><td>${s}</td>\\n`,a+=`<td><span class=\"${n.CLASS_EMPTY}\">EMPTY</span>, `,a+=`<span class=\"${n.CLASS_MATCH}\">MATCH</span> or \\n`,a+=`<span class=\"${n.CLASS_NOMATCH}\">NOMATCH</span></td></tr>\\n`,a+=`<tr><td>string length</td><td>${e.length}</td><td>length of the input (sub)string</td></tr>\\n`,a+=`<tr><td>matched length</td><td>${e.matched}</td><td>number of input string characters matched</td></tr>\\n`,a+=`<tr><td>max matched</td><td>${e.maxMatched}</td><td>maximum number of input string characters matched</td></tr>\\n`,a+=`<tr><td>max tree depth</td><td>${e.maxTreeDepth}</td><td>maximum depth of the parse tree reached</td></tr>\\n`,a+=`<tr><td>node hits</td><td>${e.nodeHits}</td><td>number of parse tree node hits (opcode function calls)</td></tr>\\n`,a+=`<tr><td>input length</td><td>${e.inputLength}</td><td>length of full input string</td></tr>\\n`,a+=`<tr><td>sub-string begin</td><td>${e.subBegin}</td><td>sub-string first character index</td></tr>\\n`,a+=`<tr><td>sub-string end</td><td>${e.subEnd}</td><td>sub-string end-of-string index</td></tr>\\n`,a+=`<tr><td>sub-string length</td><td>${e.subLength}</td><td>sub-string length</td></tr>\\n`,a+=\"</table>\\n\",a},t.charsToString=function(e,t,r){let n,i;if(\"number\"==typeof t){if(t>=e.length)return\"\";n=t<0?0:t}else n=0;if(\"number\"==typeof r){if(r<=0)return\"\";i=r>e.length-n?e.length:n+r}else i=e.length;return n<i?s.encode(\"UTF16LE\",e.slice(n,i)).toString(\"utf16le\"):\"\"},t.stringToChars=function(e){return s.decode(\"STRING\",e)},t.opcodeToString=function(e){let t=\"unknown\";switch(e){case o.ALT:t=\"ALT\";break;case o.CAT:t=\"CAT\";break;case o.RNM:t=\"RNM\";break;case o.UDT:t=\"UDT\";break;case o.AND:t=\"AND\";break;case o.NOT:t=\"NOT\";break;case o.REP:t=\"REP\";break;case o.TRG:t=\"TRG\";break;case o.TBS:t=\"TBS\";break;case o.TLS:t=\"TLS\";break;case o.BKR:t=\"BKR\";break;case o.BKA:t=\"BKA\";break;case o.BKN:t=\"BKN\";break;case o.ABG:t=\"ABG\";break;case o.AEN:t=\"AEN\";break;default:throw new Error(\"unrecognized opcode\")}return t},t.stateToString=function(e){let t=\"unknown\";switch(e){case o.ACTIVE:t=\"ACTIVE\";break;case o.MATCH:t=\"MATCH\";break;case o.EMPTY:t=\"EMPTY\";break;case o.NOMATCH:t=\"NOMATCH\";break;default:throw new Error(\"unrecognized state\")}return t},t.asciiChars=[\"NUL\",\"SOH\",\"STX\",\"ETX\",\"EOT\",\"ENQ\",\"ACK\",\"BEL\",\"BS\",\"TAB\",\"LF\",\"VT\",\"FF\",\"CR\",\"SO\",\"SI\",\"DLE\",\"DC1\",\"DC2\",\"DC3\",\"DC4\",\"NAK\",\"SYN\",\"ETB\",\"CAN\",\"EM\",\"SUB\",\"ESC\",\"FS\",\"GS\",\"RS\",\"US\",\"&nbsp;\",\"!\",\"&#34;\",\"#\",\"$\",\"%\",\"&#38;\",\"&#39;\",\"(\",\")\",\"*\",\"+\",\",\",\"-\",\".\",\"/\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\":\",\";\",\"&#60;\",\"=\",\"&#62;\",\"?\",\"@\",\"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\",\"[\",\"&#92;\",\"]\",\"^\",\"_\",\"`\",\"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\",\"{\",\"|\",\"}\",\"~\",\"DEL\"],t.charToHex=function(e){let t=e.toString(16).toUpperCase();switch(t.length){case 1:case 3:case 7:t=`0${t}`;break;case 2:case 6:t=`00${t}`;break;case 4:break;case 5:t=`000${t}`;break;default:throw new Error(\"unrecognized option\")}return t},t.charsToDec=function(e,t,r){let n=\"\";if(!Array.isArray(e))throw new Error(`${a}charsToDec: input must be an array of integers`);const s=c(e.length,t,r);if(s.end>s.beg){n+=e[s.beg];for(let t=s.beg+1;t<s.end;t+=1)n+=`,${e[t]}`}return n},t.charsToHex=function(e,r,n){let s=\"\";if(!Array.isArray(e))throw new Error(`${a}charsToHex: input must be an array of integers`);const i=c(e.length,r,n);if(i.end>i.beg){s+=`\\\\x${t.charToHex(e[i.beg])}`;for(let r=i.beg+1;r<i.end;r+=1)s+=`,\\\\x${t.charToHex(e[r])}`}return s},t.charsToHtmlEntities=function(e,t,r){let n=\"\";if(!Array.isArray(e))throw new Error(`${a}charsToHex: input must be an array of integers`);const s=c(e.length,t,r);if(s.end>s.beg)for(let t=s.beg;t<s.end;t+=1)n+=`&#x${e[t].toString(16)};`;return n},t.charsToUnicode=function(e,r,n){let s=\"\";if(!Array.isArray(e))throw new Error(`${a}charsToUnicode: input must be an array of integers`);const i=c(e.length,r,n);if(i.end>i.beg)for(let r=i.beg;r<i.end;r+=1)l(e[r])?s+=`&#${e[r]};`:s+=` U+${t.charToHex(e[r])}`;return s},t.charsToJsUnicode=function(e,r,n){let s=\"\";if(!Array.isArray(e))throw new Error(`${a}charsToJsUnicode: input must be an array of integers`);const i=c(e.length,r,n);if(i.end>i.beg){s+=`\\\\u${t.charToHex(e[i.beg])}`;for(let r=i.beg+1;r<i.end;r+=1)s+=`,\\\\u${t.charToHex(e[r])}`}return s},t.charsToAscii=function(e,r,n){let s=\"\";if(!Array.isArray(e))throw new Error(`${a}charsToAscii: input must be an array of integers`);const i=c(e.length,r,n);for(let r=i.beg;r<i.end;r+=1){const n=e[r];s+=n>=32&&n<=126?String.fromCharCode(n):`\\\\x${t.charToHex(n)}`}return s},t.charsToAsciiHtml=function(e,r,s){if(!Array.isArray(e))throw new Error(`${a}charsToAsciiHtml: input must be an array of integers`);let i,o=\"\";const l=c(e.length,r,s);for(let r=l.beg;r<l.end;r+=1)i=e[r],o+=i<32||127===i?`<span class=\"${n.CLASS_CTRLCHAR}\">${t.asciiChars[i]}</span>`:i>127?`<span class=\"${n.CLASS_CTRLCHAR}\">U+${t.charToHex(i)}</span>`:t.asciiChars[i];return o},t.stringToAsciiHtml=function(e){const t=s.decode(\"STRING\",e);return this.charsToAsciiHtml(t)}},7991(e,t){\"use strict\";t.byteLength=function(e){var t=a(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,i=a(e),o=i[0],c=i[1],l=new s(function(e,t,r){return 3*(t+r)/4-r}(0,o,c)),u=0,d=c>0?o-4:o;for(r=0;r<d;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],l[u++]=t>>16&255,l[u++]=t>>8&255,l[u++]=255&t;2===c&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,l[u++]=255&t);1===c&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t);return l},t.fromByteArray=function(e){for(var t,n=e.length,s=n%3,i=[],o=16383,a=0,c=n-s;a<c;a+=o)i.push(l(e,a,a+o>c?c:a+o));1===s?(t=e[n-1],i.push(r[t>>2]+r[t<<4&63]+\"==\")):2===s&&(t=(e[n-2]<<8)+e[n-1],i.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+\"=\"));return i.join(\"\")};for(var r=[],n=[],s=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,i=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=0;o<64;++o)r[o]=i[o],n[i.charCodeAt(o)]=o;function a(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function l(e,t,r){for(var n,s=[],i=t;i<r;i+=3)n=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(255&e[i+2]),s.push(c(n));return s.join(\"\")}n[\"-\".charCodeAt(0)]=62,n[\"_\".charCodeAt(0)]=63},2823(e,t,r){!function(e,t){\"use strict\";function n(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function s(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function i(e,t,r){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(\"le\"!==t&&\"be\"!==t||(r=t,t=10),this._init(e||0,t||10,r||\"be\"))}var o;\"object\"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(8379).Buffer}catch(e){}function a(e,t){var r=e.charCodeAt(t);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,\"Invalid character in \"+e)}function c(e,t,r){var n=a(e,r);return r-1>=t&&(n|=a(e,r-1)<<4),n}function l(e,t,r,s){for(var i=0,o=0,a=Math.min(e.length,r),c=t;c<a;c++){var l=e.charCodeAt(c)-48;i*=s,o=l>=49?l-49+10:l>=17?l-17+10:l,n(l>=0&&o<s,\"Invalid character\"),i+=o}return i}function u(e,t){e.words=t.words,e.length=t.length,e.negative=t.negative,e.red=t.red}if(i.isBN=function(e){return e instanceof i||null!==e&&\"object\"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if(\"number\"==typeof e)return this._initNumber(e,t,r);if(\"object\"==typeof e)return this._initArray(e,t,r);\"hex\"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var s=0;\"-\"===(e=e.toString().replace(/\\s+/g,\"\"))[0]&&(s++,this.negative=1),s<e.length&&(16===t?this._parseHex(e,s,r):(this._parseBase(e,t,s),\"le\"===r&&this._initArray(this.toArray(),t,r)))},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(n(\"number\"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var s=0;s<this.length;s++)this.words[s]=0;var i,o,a=0;if(\"be\"===r)for(s=e.length-1,i=0;s>=0;s-=3)o=e[s]|e[s-1]<<8|e[s-2]<<16,this.words[i]|=o<<a&67108863,this.words[i+1]=o>>>26-a&67108863,(a+=24)>=26&&(a-=26,i++);else if(\"le\"===r)for(s=0,i=0;s<e.length;s+=3)o=e[s]|e[s+1]<<8|e[s+2]<<16,this.words[i]|=o<<a&67108863,this.words[i+1]=o>>>26-a&67108863,(a+=24)>=26&&(a-=26,i++);return this._strip()},i.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var s,i=0,o=0;if(\"be\"===r)for(n=e.length-1;n>=t;n-=2)s=c(e,t,n)<<i,this.words[o]|=67108863&s,i>=18?(i-=18,o+=1,this.words[o]|=s>>>26):i+=8;else for(n=(e.length-t)%2==0?t+1:t;n<e.length;n+=2)s=c(e,t,n)<<i,this.words[o]|=67108863&s,i>=18?(i-=18,o+=1,this.words[o]|=s>>>26):i+=8;this._strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,s=1;s<=67108863;s*=t)n++;n--,s=s/t|0;for(var i=e.length-r,o=i%n,a=Math.min(i,i-o)+r,c=0,u=r;u<a;u+=n)c=l(e,u,u+n,t),this.imuln(s),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var d=1;for(c=l(e,u,e.length,t),u=0;u<o;u++)d*=t;this.imuln(d),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this._strip()},i.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},i.prototype._move=function(e){u(e,this)},i.prototype.clone=function(){var e=new i(null);return this.copy(e),e},i.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},\"undefined\"!=typeof Symbol&&\"function\"==typeof Symbol.for)try{i.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=d}catch(e){i.prototype.inspect=d}else i.prototype.inspect=d;function d(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"}var h=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||\"hex\"===e){r=\"\";for(var s=0,i=0,o=0;o<this.length;o++){var a=this.words[o],c=(16777215&(a<<s|i)).toString(16);i=a>>>24-s&16777215,(s+=2)>=26&&(s-=26,o--),r=0!==i||o!==this.length-1?h[6-c.length]+c+r:c+r}for(0!==i&&(r=i.toString(16)+r);r.length%t!==0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(e===(0|e)&&e>=2&&e<=36){var l=f[e],u=p[e];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modrn(u).toString(e);r=(d=d.idivn(u)).isZero()?m+r:h[l-m.length]+m+r}for(this.isZero()&&(r=\"0\"+r);r.length%t!==0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(e,t){return this.toArrayLike(o,e,t)}),i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function m(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var s=0|e.words[0],i=0|t.words[0],o=s*i,a=67108863&o,c=o/67108864|0;r.words[0]=a;for(var l=1;l<n;l++){for(var u=c>>>26,d=67108863&c,h=Math.min(l,t.length-1),f=Math.max(0,l-e.length+1);f<=h;f++){var p=l-f|0;u+=(o=(s=0|e.words[p])*(i=0|t.words[f])+d)/67108864|0,d=67108863&o}r.words[l]=0|d,c=0|u}return 0!==c?r.words[l]=0|c:r.length--,r._strip()}i.prototype.toArrayLike=function(e,t,r){this._strip();var s=this.byteLength(),i=r||Math.max(1,s);n(s<=i,\"byte array longer than desired length\"),n(i>0,\"Requested array length <= 0\");var o=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,i);return this[\"_toArrayLike\"+(\"le\"===t?\"LE\":\"BE\")](o,s),o},i.prototype._toArrayLikeLE=function(e,t){for(var r=0,n=0,s=0,i=0;s<this.length;s++){var o=this.words[s]<<i|n;e[r++]=255&o,r<e.length&&(e[r++]=o>>8&255),r<e.length&&(e[r++]=o>>16&255),6===i?(r<e.length&&(e[r++]=o>>24&255),n=0,i=0):(n=o>>>24,i+=2)}if(r<e.length)for(e[r++]=n;r<e.length;)e[r++]=0},i.prototype._toArrayLikeBE=function(e,t){for(var r=e.length-1,n=0,s=0,i=0;s<this.length;s++){var o=this.words[s]<<i|n;e[r--]=255&o,r>=0&&(e[r--]=o>>8&255),r>=0&&(e[r--]=o>>16&255),6===i?(r>=0&&(e[r--]=o>>24&255),n=0,i=0):(n=o>>>24,i+=2)}if(r>=0)for(e[r--]=n;r>=0;)e[r--]=0},Math.clz32?i.prototype._countBits=function(e){return 32-Math.clz32(e)}:i.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 8191&t||(r+=13,t>>>=13),127&t||(r+=7,t>>>=7),15&t||(r+=4,t>>>=4),3&t||(r+=2,t>>>=2),1&t||r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},i.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this._strip()},i.prototype.ior=function(e){return n(0===(this.negative|e.negative)),this.iuor(e)},i.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this._strip()},i.prototype.iand=function(e){return n(0===(this.negative|e.negative)),this.iuand(e)},i.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this._strip()},i.prototype.ixor=function(e){return n(0===(this.negative|e.negative)),this.iuxor(e)},i.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){n(\"number\"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var s=0;s<t;s++)this.words[s]=67108863&~this.words[s];return r>0&&(this.words[s]=~this.words[s]&67108863>>26-r),this._strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n(\"number\"==typeof e&&e>=0);var r=e/26|0,s=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<s:this.words[r]&~(1<<s),this._strip()},i.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,n=e):(r=e,n=this);for(var s=0,i=0;i<n.length;i++)t=(0|r.words[i])+(0|n.words[i])+s,this.words[i]=67108863&t,s=t>>>26;for(;0!==s&&i<r.length;i++)t=(0|r.words[i])+s,this.words[i]=67108863&t,s=t>>>26;if(this.length=r.length,0!==s)this.words[this.length]=s,this.length++;else if(r!==this)for(;i<r.length;i++)this.words[i]=r.words[i];return this},i.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,s=this.cmp(e);if(0===s)return this.negative=0,this.length=1,this.words[0]=0,this;s>0?(r=this,n=e):(r=e,n=this);for(var i=0,o=0;o<n.length;o++)i=(t=(0|r.words[o])-(0|n.words[o])+i)>>26,this.words[o]=67108863&t;for(;0!==i&&o<r.length;o++)i=(t=(0|r.words[o])+i)>>26,this.words[o]=67108863&t;if(0===i&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(e){return this.clone().isub(e)};var g=function(e,t,r){var n,s,i,o=e.words,a=t.words,c=r.words,l=0,u=0|o[0],d=8191&u,h=u>>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],w=8191&v,A=v>>>13,E=0|o[4],x=8191&E,T=E>>>13,k=0|o[5],S=8191&k,C=k>>>13,I=0|o[6],P=8191&I,M=I>>>13,R=0|o[7],B=8191&R,N=R>>>13,O=0|o[8],_=8191&O,L=O>>>13,D=0|o[9],F=8191&D,U=D>>>13,j=0|a[0],H=8191&j,z=j>>>13,G=0|a[1],V=8191&G,q=G>>>13,K=0|a[2],W=8191&K,J=K>>>13,$=0|a[3],Z=8191&$,Y=$>>>13,X=0|a[4],Q=8191&X,ee=X>>>13,te=0|a[5],re=8191&te,ne=te>>>13,se=0|a[6],ie=8191&se,oe=se>>>13,ae=0|a[7],ce=8191&ae,le=ae>>>13,ue=0|a[8],de=8191&ue,he=ue>>>13,fe=0|a[9],pe=8191&fe,me=fe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(l+(n=Math.imul(d,H))|0)+((8191&(s=(s=Math.imul(d,z))+Math.imul(h,H)|0))<<13)|0;l=((i=Math.imul(h,z))+(s>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(p,H),s=(s=Math.imul(p,z))+Math.imul(m,H)|0,i=Math.imul(m,z);var ye=(l+(n=n+Math.imul(d,V)|0)|0)+((8191&(s=(s=s+Math.imul(d,q)|0)+Math.imul(h,V)|0))<<13)|0;l=((i=i+Math.imul(h,q)|0)+(s>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(y,H),s=(s=Math.imul(y,z))+Math.imul(b,H)|0,i=Math.imul(b,z),n=n+Math.imul(p,V)|0,s=(s=s+Math.imul(p,q)|0)+Math.imul(m,V)|0,i=i+Math.imul(m,q)|0;var be=(l+(n=n+Math.imul(d,W)|0)|0)+((8191&(s=(s=s+Math.imul(d,J)|0)+Math.imul(h,W)|0))<<13)|0;l=((i=i+Math.imul(h,J)|0)+(s>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(w,H),s=(s=Math.imul(w,z))+Math.imul(A,H)|0,i=Math.imul(A,z),n=n+Math.imul(y,V)|0,s=(s=s+Math.imul(y,q)|0)+Math.imul(b,V)|0,i=i+Math.imul(b,q)|0,n=n+Math.imul(p,W)|0,s=(s=s+Math.imul(p,J)|0)+Math.imul(m,W)|0,i=i+Math.imul(m,J)|0;var ve=(l+(n=n+Math.imul(d,Z)|0)|0)+((8191&(s=(s=s+Math.imul(d,Y)|0)+Math.imul(h,Z)|0))<<13)|0;l=((i=i+Math.imul(h,Y)|0)+(s>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(x,H),s=(s=Math.imul(x,z))+Math.imul(T,H)|0,i=Math.imul(T,z),n=n+Math.imul(w,V)|0,s=(s=s+Math.imul(w,q)|0)+Math.imul(A,V)|0,i=i+Math.imul(A,q)|0,n=n+Math.imul(y,W)|0,s=(s=s+Math.imul(y,J)|0)+Math.imul(b,W)|0,i=i+Math.imul(b,J)|0,n=n+Math.imul(p,Z)|0,s=(s=s+Math.imul(p,Y)|0)+Math.imul(m,Z)|0,i=i+Math.imul(m,Y)|0;var we=(l+(n=n+Math.imul(d,Q)|0)|0)+((8191&(s=(s=s+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;l=((i=i+Math.imul(h,ee)|0)+(s>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(S,H),s=(s=Math.imul(S,z))+Math.imul(C,H)|0,i=Math.imul(C,z),n=n+Math.imul(x,V)|0,s=(s=s+Math.imul(x,q)|0)+Math.imul(T,V)|0,i=i+Math.imul(T,q)|0,n=n+Math.imul(w,W)|0,s=(s=s+Math.imul(w,J)|0)+Math.imul(A,W)|0,i=i+Math.imul(A,J)|0,n=n+Math.imul(y,Z)|0,s=(s=s+Math.imul(y,Y)|0)+Math.imul(b,Z)|0,i=i+Math.imul(b,Y)|0,n=n+Math.imul(p,Q)|0,s=(s=s+Math.imul(p,ee)|0)+Math.imul(m,Q)|0,i=i+Math.imul(m,ee)|0;var Ae=(l+(n=n+Math.imul(d,re)|0)|0)+((8191&(s=(s=s+Math.imul(d,ne)|0)+Math.imul(h,re)|0))<<13)|0;l=((i=i+Math.imul(h,ne)|0)+(s>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(P,H),s=(s=Math.imul(P,z))+Math.imul(M,H)|0,i=Math.imul(M,z),n=n+Math.imul(S,V)|0,s=(s=s+Math.imul(S,q)|0)+Math.imul(C,V)|0,i=i+Math.imul(C,q)|0,n=n+Math.imul(x,W)|0,s=(s=s+Math.imul(x,J)|0)+Math.imul(T,W)|0,i=i+Math.imul(T,J)|0,n=n+Math.imul(w,Z)|0,s=(s=s+Math.imul(w,Y)|0)+Math.imul(A,Z)|0,i=i+Math.imul(A,Y)|0,n=n+Math.imul(y,Q)|0,s=(s=s+Math.imul(y,ee)|0)+Math.imul(b,Q)|0,i=i+Math.imul(b,ee)|0,n=n+Math.imul(p,re)|0,s=(s=s+Math.imul(p,ne)|0)+Math.imul(m,re)|0,i=i+Math.imul(m,ne)|0;var Ee=(l+(n=n+Math.imul(d,ie)|0)|0)+((8191&(s=(s=s+Math.imul(d,oe)|0)+Math.imul(h,ie)|0))<<13)|0;l=((i=i+Math.imul(h,oe)|0)+(s>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(B,H),s=(s=Math.imul(B,z))+Math.imul(N,H)|0,i=Math.imul(N,z),n=n+Math.imul(P,V)|0,s=(s=s+Math.imul(P,q)|0)+Math.imul(M,V)|0,i=i+Math.imul(M,q)|0,n=n+Math.imul(S,W)|0,s=(s=s+Math.imul(S,J)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,J)|0,n=n+Math.imul(x,Z)|0,s=(s=s+Math.imul(x,Y)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,Y)|0,n=n+Math.imul(w,Q)|0,s=(s=s+Math.imul(w,ee)|0)+Math.imul(A,Q)|0,i=i+Math.imul(A,ee)|0,n=n+Math.imul(y,re)|0,s=(s=s+Math.imul(y,ne)|0)+Math.imul(b,re)|0,i=i+Math.imul(b,ne)|0,n=n+Math.imul(p,ie)|0,s=(s=s+Math.imul(p,oe)|0)+Math.imul(m,ie)|0,i=i+Math.imul(m,oe)|0;var xe=(l+(n=n+Math.imul(d,ce)|0)|0)+((8191&(s=(s=s+Math.imul(d,le)|0)+Math.imul(h,ce)|0))<<13)|0;l=((i=i+Math.imul(h,le)|0)+(s>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,H),s=(s=Math.imul(_,z))+Math.imul(L,H)|0,i=Math.imul(L,z),n=n+Math.imul(B,V)|0,s=(s=s+Math.imul(B,q)|0)+Math.imul(N,V)|0,i=i+Math.imul(N,q)|0,n=n+Math.imul(P,W)|0,s=(s=s+Math.imul(P,J)|0)+Math.imul(M,W)|0,i=i+Math.imul(M,J)|0,n=n+Math.imul(S,Z)|0,s=(s=s+Math.imul(S,Y)|0)+Math.imul(C,Z)|0,i=i+Math.imul(C,Y)|0,n=n+Math.imul(x,Q)|0,s=(s=s+Math.imul(x,ee)|0)+Math.imul(T,Q)|0,i=i+Math.imul(T,ee)|0,n=n+Math.imul(w,re)|0,s=(s=s+Math.imul(w,ne)|0)+Math.imul(A,re)|0,i=i+Math.imul(A,ne)|0,n=n+Math.imul(y,ie)|0,s=(s=s+Math.imul(y,oe)|0)+Math.imul(b,ie)|0,i=i+Math.imul(b,oe)|0,n=n+Math.imul(p,ce)|0,s=(s=s+Math.imul(p,le)|0)+Math.imul(m,ce)|0,i=i+Math.imul(m,le)|0;var Te=(l+(n=n+Math.imul(d,de)|0)|0)+((8191&(s=(s=s+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;l=((i=i+Math.imul(h,he)|0)+(s>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(F,H),s=(s=Math.imul(F,z))+Math.imul(U,H)|0,i=Math.imul(U,z),n=n+Math.imul(_,V)|0,s=(s=s+Math.imul(_,q)|0)+Math.imul(L,V)|0,i=i+Math.imul(L,q)|0,n=n+Math.imul(B,W)|0,s=(s=s+Math.imul(B,J)|0)+Math.imul(N,W)|0,i=i+Math.imul(N,J)|0,n=n+Math.imul(P,Z)|0,s=(s=s+Math.imul(P,Y)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,Y)|0,n=n+Math.imul(S,Q)|0,s=(s=s+Math.imul(S,ee)|0)+Math.imul(C,Q)|0,i=i+Math.imul(C,ee)|0,n=n+Math.imul(x,re)|0,s=(s=s+Math.imul(x,ne)|0)+Math.imul(T,re)|0,i=i+Math.imul(T,ne)|0,n=n+Math.imul(w,ie)|0,s=(s=s+Math.imul(w,oe)|0)+Math.imul(A,ie)|0,i=i+Math.imul(A,oe)|0,n=n+Math.imul(y,ce)|0,s=(s=s+Math.imul(y,le)|0)+Math.imul(b,ce)|0,i=i+Math.imul(b,le)|0,n=n+Math.imul(p,de)|0,s=(s=s+Math.imul(p,he)|0)+Math.imul(m,de)|0,i=i+Math.imul(m,he)|0;var ke=(l+(n=n+Math.imul(d,pe)|0)|0)+((8191&(s=(s=s+Math.imul(d,me)|0)+Math.imul(h,pe)|0))<<13)|0;l=((i=i+Math.imul(h,me)|0)+(s>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(F,V),s=(s=Math.imul(F,q))+Math.imul(U,V)|0,i=Math.imul(U,q),n=n+Math.imul(_,W)|0,s=(s=s+Math.imul(_,J)|0)+Math.imul(L,W)|0,i=i+Math.imul(L,J)|0,n=n+Math.imul(B,Z)|0,s=(s=s+Math.imul(B,Y)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,Y)|0,n=n+Math.imul(P,Q)|0,s=(s=s+Math.imul(P,ee)|0)+Math.imul(M,Q)|0,i=i+Math.imul(M,ee)|0,n=n+Math.imul(S,re)|0,s=(s=s+Math.imul(S,ne)|0)+Math.imul(C,re)|0,i=i+Math.imul(C,ne)|0,n=n+Math.imul(x,ie)|0,s=(s=s+Math.imul(x,oe)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,oe)|0,n=n+Math.imul(w,ce)|0,s=(s=s+Math.imul(w,le)|0)+Math.imul(A,ce)|0,i=i+Math.imul(A,le)|0,n=n+Math.imul(y,de)|0,s=(s=s+Math.imul(y,he)|0)+Math.imul(b,de)|0,i=i+Math.imul(b,he)|0;var Se=(l+(n=n+Math.imul(p,pe)|0)|0)+((8191&(s=(s=s+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;l=((i=i+Math.imul(m,me)|0)+(s>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(F,W),s=(s=Math.imul(F,J))+Math.imul(U,W)|0,i=Math.imul(U,J),n=n+Math.imul(_,Z)|0,s=(s=s+Math.imul(_,Y)|0)+Math.imul(L,Z)|0,i=i+Math.imul(L,Y)|0,n=n+Math.imul(B,Q)|0,s=(s=s+Math.imul(B,ee)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ee)|0,n=n+Math.imul(P,re)|0,s=(s=s+Math.imul(P,ne)|0)+Math.imul(M,re)|0,i=i+Math.imul(M,ne)|0,n=n+Math.imul(S,ie)|0,s=(s=s+Math.imul(S,oe)|0)+Math.imul(C,ie)|0,i=i+Math.imul(C,oe)|0,n=n+Math.imul(x,ce)|0,s=(s=s+Math.imul(x,le)|0)+Math.imul(T,ce)|0,i=i+Math.imul(T,le)|0,n=n+Math.imul(w,de)|0,s=(s=s+Math.imul(w,he)|0)+Math.imul(A,de)|0,i=i+Math.imul(A,he)|0;var Ce=(l+(n=n+Math.imul(y,pe)|0)|0)+((8191&(s=(s=s+Math.imul(y,me)|0)+Math.imul(b,pe)|0))<<13)|0;l=((i=i+Math.imul(b,me)|0)+(s>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(F,Z),s=(s=Math.imul(F,Y))+Math.imul(U,Z)|0,i=Math.imul(U,Y),n=n+Math.imul(_,Q)|0,s=(s=s+Math.imul(_,ee)|0)+Math.imul(L,Q)|0,i=i+Math.imul(L,ee)|0,n=n+Math.imul(B,re)|0,s=(s=s+Math.imul(B,ne)|0)+Math.imul(N,re)|0,i=i+Math.imul(N,ne)|0,n=n+Math.imul(P,ie)|0,s=(s=s+Math.imul(P,oe)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,oe)|0,n=n+Math.imul(S,ce)|0,s=(s=s+Math.imul(S,le)|0)+Math.imul(C,ce)|0,i=i+Math.imul(C,le)|0,n=n+Math.imul(x,de)|0,s=(s=s+Math.imul(x,he)|0)+Math.imul(T,de)|0,i=i+Math.imul(T,he)|0;var Ie=(l+(n=n+Math.imul(w,pe)|0)|0)+((8191&(s=(s=s+Math.imul(w,me)|0)+Math.imul(A,pe)|0))<<13)|0;l=((i=i+Math.imul(A,me)|0)+(s>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(F,Q),s=(s=Math.imul(F,ee))+Math.imul(U,Q)|0,i=Math.imul(U,ee),n=n+Math.imul(_,re)|0,s=(s=s+Math.imul(_,ne)|0)+Math.imul(L,re)|0,i=i+Math.imul(L,ne)|0,n=n+Math.imul(B,ie)|0,s=(s=s+Math.imul(B,oe)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,oe)|0,n=n+Math.imul(P,ce)|0,s=(s=s+Math.imul(P,le)|0)+Math.imul(M,ce)|0,i=i+Math.imul(M,le)|0,n=n+Math.imul(S,de)|0,s=(s=s+Math.imul(S,he)|0)+Math.imul(C,de)|0,i=i+Math.imul(C,he)|0;var Pe=(l+(n=n+Math.imul(x,pe)|0)|0)+((8191&(s=(s=s+Math.imul(x,me)|0)+Math.imul(T,pe)|0))<<13)|0;l=((i=i+Math.imul(T,me)|0)+(s>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(F,re),s=(s=Math.imul(F,ne))+Math.imul(U,re)|0,i=Math.imul(U,ne),n=n+Math.imul(_,ie)|0,s=(s=s+Math.imul(_,oe)|0)+Math.imul(L,ie)|0,i=i+Math.imul(L,oe)|0,n=n+Math.imul(B,ce)|0,s=(s=s+Math.imul(B,le)|0)+Math.imul(N,ce)|0,i=i+Math.imul(N,le)|0,n=n+Math.imul(P,de)|0,s=(s=s+Math.imul(P,he)|0)+Math.imul(M,de)|0,i=i+Math.imul(M,he)|0;var Me=(l+(n=n+Math.imul(S,pe)|0)|0)+((8191&(s=(s=s+Math.imul(S,me)|0)+Math.imul(C,pe)|0))<<13)|0;l=((i=i+Math.imul(C,me)|0)+(s>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(F,ie),s=(s=Math.imul(F,oe))+Math.imul(U,ie)|0,i=Math.imul(U,oe),n=n+Math.imul(_,ce)|0,s=(s=s+Math.imul(_,le)|0)+Math.imul(L,ce)|0,i=i+Math.imul(L,le)|0,n=n+Math.imul(B,de)|0,s=(s=s+Math.imul(B,he)|0)+Math.imul(N,de)|0,i=i+Math.imul(N,he)|0;var Re=(l+(n=n+Math.imul(P,pe)|0)|0)+((8191&(s=(s=s+Math.imul(P,me)|0)+Math.imul(M,pe)|0))<<13)|0;l=((i=i+Math.imul(M,me)|0)+(s>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(F,ce),s=(s=Math.imul(F,le))+Math.imul(U,ce)|0,i=Math.imul(U,le),n=n+Math.imul(_,de)|0,s=(s=s+Math.imul(_,he)|0)+Math.imul(L,de)|0,i=i+Math.imul(L,he)|0;var Be=(l+(n=n+Math.imul(B,pe)|0)|0)+((8191&(s=(s=s+Math.imul(B,me)|0)+Math.imul(N,pe)|0))<<13)|0;l=((i=i+Math.imul(N,me)|0)+(s>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(F,de),s=(s=Math.imul(F,he))+Math.imul(U,de)|0,i=Math.imul(U,he);var Ne=(l+(n=n+Math.imul(_,pe)|0)|0)+((8191&(s=(s=s+Math.imul(_,me)|0)+Math.imul(L,pe)|0))<<13)|0;l=((i=i+Math.imul(L,me)|0)+(s>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var Oe=(l+(n=Math.imul(F,pe))|0)+((8191&(s=(s=Math.imul(F,me))+Math.imul(U,pe)|0))<<13)|0;return l=((i=Math.imul(U,me))+(s>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,c[0]=ge,c[1]=ye,c[2]=be,c[3]=ve,c[4]=we,c[5]=Ae,c[6]=Ee,c[7]=xe,c[8]=Te,c[9]=ke,c[10]=Se,c[11]=Ce,c[12]=Ie,c[13]=Pe,c[14]=Me,c[15]=Re,c[16]=Be,c[17]=Ne,c[18]=Oe,0!==l&&(c[19]=l,r.length++),r};function y(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,s=0,i=0;i<r.length-1;i++){var o=s;s=0;for(var a=67108863&n,c=Math.min(i,t.length-1),l=Math.max(0,i-e.length+1);l<=c;l++){var u=i-l,d=(0|e.words[u])*(0|t.words[l]),h=67108863&d;a=67108863&(h=h+a|0),s+=(o=(o=o+(d/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[i]=a,n=o,o=s}return 0!==n?r.words[i]=n:r.length--,r._strip()}function b(e,t,r){return y(e,t,r)}function v(e,t){this.x=e,this.y=t}Math.imul||(g=m),i.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?g(this,e,t):r<63?m(this,e,t):r<1024?y(this,e,t):b(this,e,t)},v.prototype.makeRBT=function(e){for(var t=new Array(e),r=i.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},v.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,s=0;s<t;s++)n|=(1&e)<<t-s-1,e>>=1;return n},v.prototype.permute=function(e,t,r,n,s,i){for(var o=0;o<i;o++)n[o]=t[e[o]],s[o]=r[e[o]]},v.prototype.transform=function(e,t,r,n,s,i){this.permute(i,e,t,r,n,s);for(var o=1;o<s;o<<=1)for(var a=o<<1,c=Math.cos(2*Math.PI/a),l=Math.sin(2*Math.PI/a),u=0;u<s;u+=a)for(var d=c,h=l,f=0;f<o;f++){var p=r[u+f],m=n[u+f],g=r[u+f+o],y=n[u+f+o],b=d*g-h*y;y=d*y+h*g,g=b,r[u+f]=p+g,n[u+f]=m+y,r[u+f+o]=p-g,n[u+f+o]=m-y,f!==a&&(b=c*d-l*h,h=c*h+l*d,d=b)}},v.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,s=0;for(r=r/2|0;r;r>>>=1)s++;return 1<<s+1+n},v.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var s=e[n];e[n]=e[r-n-1],e[r-n-1]=s,s=t[n],t[n]=-t[r-n-1],t[r-n-1]=-s}},v.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var s=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&s,r=s<67108864?0:s/67108864|0}return e},v.prototype.convert13b=function(e,t,r,s){for(var i=0,o=0;o<t;o++)i+=0|e[o],r[2*o]=8191&i,i>>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*t;o<s;++o)r[o]=0;n(0===i),n(!(-8192&i))},v.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},v.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),s=this.makeRBT(n),i=this.stub(n),o=new Array(n),a=new Array(n),c=new Array(n),l=new Array(n),u=new Array(n),d=new Array(n),h=r.words;h.length=n,this.convert13b(e.words,e.length,o,n),this.convert13b(t.words,t.length,l,n),this.transform(o,i,a,c,n,s),this.transform(l,i,u,d,n,s);for(var f=0;f<n;f++){var p=a[f]*u[f]-c[f]*d[f];c[f]=a[f]*d[f]+c[f]*u[f],a[f]=p}return this.conjugate(a,c,n),this.transform(a,c,h,i,n,s),this.conjugate(h,i,n),this.normalize13b(h,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r._strip()},i.prototype.mul=function(e){var t=new i(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},i.prototype.mulf=function(e){var t=new i(null);return t.words=new Array(this.length+e.length),b(this,e,t)},i.prototype.imul=function(e){return this.clone().mulTo(e,this)},i.prototype.imuln=function(e){var t=e<0;t&&(e=-e),n(\"number\"==typeof e),n(e<67108864);for(var r=0,s=0;s<this.length;s++){var i=(0|this.words[s])*e,o=(67108863&i)+(67108863&r);r>>=26,r+=i/67108864|0,r+=o>>>26,this.words[s]=67108863&o}return 0!==r&&(this.words[s]=r,this.length++),this.length=0===e?1:this.length,t?this.ineg():this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,s=r%26;t[r]=e.words[n]>>>s&1}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var s=r.sqr();n<t.length;n++,s=s.sqr())0!==t[n]&&(r=r.mul(s));return r},i.prototype.iushln=function(e){n(\"number\"==typeof e&&e>=0);var t,r=e%26,s=(e-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t<this.length;t++){var a=this.words[t]&i,c=(0|this.words[t])-a<<r;this.words[t]=c|o,o=a>>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==s){for(t=this.length-1;t>=0;t--)this.words[t+s]=this.words[t];for(t=0;t<s;t++)this.words[t]=0;this.length+=s}return this._strip()},i.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},i.prototype.iushrn=function(e,t,r){var s;n(\"number\"==typeof e&&e>=0),s=t?(t-t%26)/26:0;var i=e%26,o=Math.min((e-i)/26,this.length),a=67108863^67108863>>>i<<i,c=r;if(s-=o,s=Math.max(0,s),c){for(var l=0;l<o;l++)c.words[l]=this.words[l];c.length=o}if(0===o);else if(this.length>o)for(this.length-=o,l=0;l<this.length;l++)this.words[l]=this.words[l+o];else this.words[0]=0,this.length=1;var u=0;for(l=this.length-1;l>=0&&(0!==u||l>=s);l--){var d=0|this.words[l];this.words[l]=u<<26-i|d>>>i,u=d&a}return c&&0!==u&&(c.words[c.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n(\"number\"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,s=1<<t;return!(this.length<=r)&&!!(this.words[r]&s)},i.prototype.imaskn=function(e){n(\"number\"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var s=67108863^67108863>>>t<<t;this.words[this.length-1]&=s}return 0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.maskn=function(e){return this.clone().imaskn(e)},i.prototype.iaddn=function(e){return n(\"number\"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},i.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(n(\"number\"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this._strip()},i.prototype.addn=function(e){return this.clone().iaddn(e)},i.prototype.subn=function(e){return this.clone().isubn(e)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(e,t,r){var s,i,o=e.length+r;this._expand(o);var a=0;for(s=0;s<e.length;s++){i=(0|this.words[s+r])+a;var c=(0|e.words[s])*t;a=((i-=67108863&c)>>26)-(c/67108864|0),this.words[s+r]=67108863&i}for(;s<this.length-r;s++)a=(i=(0|this.words[s+r])+a)>>26,this.words[s+r]=67108863&i;if(0===a)return this._strip();for(n(-1===a),a=0,s=0;s<this.length;s++)a=(i=-(0|this.words[s])+a)>>26,this.words[s]=67108863&i;return this.negative=1,this._strip()},i.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),s=e,o=0|s.words[s.length-1];0!==(r=26-this._countBits(o))&&(s=s.ushln(r),n.iushln(r),o=0|s.words[s.length-1]);var a,c=n.length-s.length;if(\"mod\"!==t){(a=new i(null)).length=c+1,a.words=new Array(a.length);for(var l=0;l<a.length;l++)a.words[l]=0}var u=n.clone()._ishlnsubmul(s,1,c);0===u.negative&&(n=u,a&&(a.words[c]=1));for(var d=c-1;d>=0;d--){var h=67108864*(0|n.words[s.length+d])+(0|n.words[s.length+d-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(s,h,d);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(s,1,d),n.isZero()||(n.negative^=1);a&&(a.words[d]=h)}return a&&a._strip(),n._strip(),\"div\"!==t&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},i.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),\"mod\"!==t&&(s=a.div.neg()),\"div\"!==t&&(o=a.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:s,mod:o}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),\"mod\"!==t&&(s=a.div.neg()),{div:s,mod:a.mod}):0!==(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),\"div\"!==t&&(o=a.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:a.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?\"div\"===t?{div:this.divn(e.words[0]),mod:null}:\"mod\"===t?{div:null,mod:new i(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modrn(e.words[0]))}:this._wordDiv(e,t);var s,o,a},i.prototype.div=function(e){return this.divmod(e,\"div\",!1).div},i.prototype.mod=function(e){return this.divmod(e,\"mod\",!1).mod},i.prototype.umod=function(e){return this.divmod(e,\"mod\",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),s=e.andln(1),i=r.cmp(n);return i<0||1===s&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modrn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=(1<<26)%e,s=0,i=this.length-1;i>=0;i--)s=(r*s+(0|this.words[i]))%e;return t?-s:s},i.prototype.modn=function(e){return this.modrn(e)},i.prototype.idivn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=0,s=this.length-1;s>=0;s--){var i=(0|this.words[s])+67108864*r;this.words[s]=i/e|0,r=i%e}return this._strip(),t?this.ineg():this},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var s=new i(1),o=new i(0),a=new i(0),c=new i(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var u=r.clone(),d=t.clone();!t.isZero();){for(var h=0,f=1;0===(t.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(s.isOdd()||o.isOdd())&&(s.iadd(u),o.isub(d)),s.iushrn(1),o.iushrn(1);for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||c.isOdd())&&(a.iadd(u),c.isub(d)),a.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(a),o.isub(c)):(r.isub(t),a.isub(s),c.isub(o))}return{a,b:c,gcd:r.iushln(l)}},i.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var s,o=new i(1),a=new i(0),c=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var l=0,u=1;0===(t.words[0]&u)&&l<26;++l,u<<=1);if(l>0)for(t.iushrn(l);l-- >0;)o.isOdd()&&o.iadd(c),o.iushrn(1);for(var d=0,h=1;0===(r.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(r.iushrn(d);d-- >0;)a.isOdd()&&a.iadd(c),a.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(a)):(r.isub(t),a.isub(o))}return(s=0===t.cmpn(1)?o:a).cmpn(0)<0&&s.iadd(e),s},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var s=t.cmp(r);if(s<0){var i=t;t=r,r=i}else if(0===s||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return!(1&this.words[0])},i.prototype.isOdd=function(){return!(1&~this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n(\"number\"==typeof e);var t=e%26,r=(e-t)/26,s=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=s,this;for(var i=s,o=r;0!==i&&o<this.length;o++){var a=0|this.words[o];i=(a+=i)>>>26,a&=67108863,this.words[o]=a}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,\"Number is too big\");var s=0|this.words[0];t=s===e?0:s<e?-1:1}return 0!==this.negative?0|-t:t},i.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},i.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],s=0|e.words[r];if(n!==s){n<s?t=-1:n>s&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new S(e)},i.prototype.toRed=function(e){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,e)};var w={k256:null,p224:null,p192:null,p25519:null};function A(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function E(){A.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function x(){A.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function T(){A.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function k(){A.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function S(e){if(\"string\"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),\"modulus must be greater than 1\"),this.m=e,this.prime=null}function C(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}A.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},A.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},A.prototype.split=function(e,t){e.iushrn(this.n,0,t)},A.prototype.imulK=function(e){return e.imul(this.k)},s(E,A),E.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),s=0;s<n;s++)t.words[s]=e.words[s];if(t.length=n,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=i&r,s=10;s<e.length;s++){var o=0|e.words[s];e.words[s-10]=(o&r)<<4|i>>>22,i=o}i>>>=22,e.words[s-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},E.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},s(x,A),s(T,A),s(k,A),k.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,s=67108863&n;n>>>=26,e.words[r]=s,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(w[e])return w[e];var t;if(\"k256\"===e)t=new E;else if(\"p224\"===e)t=new x;else if(\"p192\"===e)t=new T;else{if(\"p25519\"!==e)throw new Error(\"Unknown prime \"+e);t=new k}return w[e]=t,t},S.prototype._verify1=function(e){n(0===e.negative,\"red works only with positives\"),n(e.red,\"red works only with red numbers\")},S.prototype._verify2=function(e,t){n(0===(e.negative|t.negative),\"red works only with positives\"),n(e.red&&e.red===t.red,\"red works only with red numbers\")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(u(e,e.umod(this.m)._forceRed(this)),e)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new i(1)).iushrn(2);return this.pow(e,r)}for(var s=this.m.subn(1),o=0;!s.isZero()&&0===s.andln(1);)o++,s.iushrn(1);n(!s.isZero());var a=new i(1).toRed(this),c=a.redNeg(),l=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,l).cmp(c);)u.redIAdd(c);for(var d=this.pow(u,s),h=this.pow(e,s.addn(1).iushrn(1)),f=this.pow(e,s),p=o;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g<p);var y=this.pow(d,new i(1).iushln(p-g-1));h=h.redMul(y),d=y.redSqr(),f=f.redMul(d),p=g}return h},S.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},S.prototype.pow=function(e,t){if(t.isZero())return new i(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var s=r[0],o=0,a=0,c=t.bitLength()%26;for(0===c&&(c=26),n=t.length-1;n>=0;n--){for(var l=t.words[n],u=c-1;u>=0;u--){var d=l>>u&1;s!==r[0]&&(s=this.sqr(s)),0!==d||0!==o?(o<<=1,o|=d,(4===++a||0===n&&0===u)&&(s=this.mul(s,r[o]),a=0,o=0)):a=0}c=26}return s},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new C(e)},s(C,S),C.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},C.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},C.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),s=r.isub(n).iushrn(this.shift),i=s;return s.cmp(this.m)>=0?i=s.isub(this.m):s.cmpn(0)<0&&(i=s.iadd(this.m)),i._forceRed(this)},C.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),s=r.isub(n).iushrn(this.shift),o=s;return s.cmp(this.m)>=0?o=s.isub(this.m):s.cmpn(0)<0&&(o=s.iadd(this.m)),o._forceRed(this)},C.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},1048(e,t,r){\"use strict\";const n=r(7991),s=r(9318),i=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):null;t.Buffer=c,t.SlowBuffer=function(e){+e!=e&&(e=0);return c.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if(\"number\"==typeof e){if(\"string\"==typeof t)throw new TypeError('The \"string\" argument must be of type string. Received type number');return d(e)}return l(e,t,r)}function l(e,t,r){if(\"string\"==typeof e)return function(e,t){\"string\"==typeof t&&\"\"!==t||(t=\"utf8\");if(!c.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);const r=0|m(e,t);let n=a(r);const s=n.write(e,t);s!==r&&(n=n.slice(0,s));return n}(e,t);if(ArrayBuffer.isView(e))return function(e){if($(e,Uint8Array)){const t=new Uint8Array(e);return f(t.buffer,t.byteOffset,t.byteLength)}return h(e)}(e);if(null==e)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if($(e,ArrayBuffer)||e&&$(e.buffer,ArrayBuffer))return f(e,t,r);if(\"undefined\"!=typeof SharedArrayBuffer&&($(e,SharedArrayBuffer)||e&&$(e.buffer,SharedArrayBuffer)))return f(e,t,r);if(\"number\"==typeof e)throw new TypeError('The \"value\" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,r);const s=function(e){if(c.isBuffer(e)){const t=0|p(e.length),r=a(t);return 0===r.length||e.copy(r,0,0,t),r}if(void 0!==e.length)return\"number\"!=typeof e.length||Z(e.length)?a(0):h(e);if(\"Buffer\"===e.type&&Array.isArray(e.data))return h(e.data)}(e);if(s)return s;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}function u(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function d(e){return u(e),a(e<0?0:0|p(e))}function h(e){const t=e.length<0?0:0|p(e.length),r=a(t);for(let n=0;n<t;n+=1)r[n]=255&e[n];return r}function f(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');let n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,c.prototype),n}function p(e){if(e>=o)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+o.toString(16)+\" bytes\");return 0|e}function m(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||$(e,ArrayBuffer))return e.byteLength;if(\"string\"!=typeof e)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let s=!1;for(;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return K(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return W(e).length;default:if(s)return n?-1:K(e).length;t=(\"\"+t).toLowerCase(),s=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return M(this,t,r);case\"utf8\":case\"utf-8\":return S(this,t,r);case\"ascii\":return I(this,t,r);case\"latin1\":case\"binary\":return P(this,t,r);case\"base64\":return k(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return R(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function y(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function b(e,t,r,n,s){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Z(r=+r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if(\"string\"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:v(e,t,r,n,s);if(\"number\"==typeof t)return t&=255,\"function\"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):v(e,[t],r,n,s);throw new TypeError(\"val must be string, number or Buffer\")}function v(e,t,r,n,s){let i,o=1,a=e.length,c=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,r/=2}function l(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(s){let n=-1;for(i=r;i<a;i++)if(l(e,i)===l(t,-1===n?0:i-n)){if(-1===n&&(n=i),i-n+1===c)return n*o}else-1!==n&&(i-=i-n),n=-1}else for(r+c>a&&(r=a-c),i=r;i>=0;i--){let r=!0;for(let n=0;n<c;n++)if(l(e,i+n)!==l(t,n)){r=!1;break}if(r)return i}return-1}function w(e,t,r,n){r=Number(r)||0;const s=e.length-r;n?(n=Number(n))>s&&(n=s):n=s;const i=t.length;let o;for(n>i/2&&(n=i/2),o=0;o<n;++o){const n=parseInt(t.substr(2*o,2),16);if(Z(n))return o;e[r+o]=n}return o}function A(e,t,r,n){return J(K(t,e.length-r),e,r,n)}function E(e,t,r,n){return J(function(e){const t=[];for(let r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function x(e,t,r,n){return J(W(t),e,r,n)}function T(e,t,r,n){return J(function(e,t){let r,n,s;const i=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,s=r%256,i.push(s),i.push(n);return i}(t,e.length-r),e,r,n)}function k(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function S(e,t,r){r=Math.min(e.length,r);const n=[];let s=t;for(;s<r;){const t=e[s];let i=null,o=t>239?4:t>223?3:t>191?2:1;if(s+o<=r){let r,n,a,c;switch(o){case 1:t<128&&(i=t);break;case 2:r=e[s+1],128==(192&r)&&(c=(31&t)<<6|63&r,c>127&&(i=c));break;case 3:r=e[s+1],n=e[s+2],128==(192&r)&&128==(192&n)&&(c=(15&t)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(i=c));break;case 4:r=e[s+1],n=e[s+2],a=e[s+3],128==(192&r)&&128==(192&n)&&128==(192&a)&&(c=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&a,c>65535&&c<1114112&&(i=c))}}null===i?(i=65533,o=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|1023&i),n.push(i),s+=o}return function(e){const t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);let r=\"\",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=C));return r}(n)}t.kMaxLength=o,c.TYPED_ARRAY_SUPPORT=function(){try{const e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),c.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(c.prototype,\"parent\",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,\"offset\",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}}),c.poolSize=8192,c.from=function(e,t,r){return l(e,t,r)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array),c.alloc=function(e,t,r){return function(e,t,r){return u(e),e<=0?a(e):void 0!==t?\"string\"==typeof r?a(e).fill(t,r):a(e).fill(t):a(e)}(e,t,r)},c.allocUnsafe=function(e){return d(e)},c.allocUnsafeSlow=function(e){return d(e)},c.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==c.prototype},c.compare=function(e,t){if($(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),$(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let s=0,i=Math.min(r,n);s<i;++s)if(e[s]!==t[s]){r=e[s],n=t[s];break}return r<n?-1:n<r?1:0},c.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},c.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return c.alloc(0);let r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;const n=c.allocUnsafe(t);let s=0;for(r=0;r<e.length;++r){let t=e[r];if($(t,Uint8Array))s+t.length>n.length?(c.isBuffer(t)||(t=c.from(t)),t.copy(n,s)):Uint8Array.prototype.set.call(n,t,s);else{if(!c.isBuffer(t))throw new TypeError('\"list\" argument must be an Array of Buffers');t.copy(n,s)}s+=t.length}return n},c.byteLength=m,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let t=0;t<e;t+=2)y(this,t,t+1);return this},c.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},c.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},c.prototype.toString=function(){const e=this.length;return 0===e?\"\":0===arguments.length?S(this,0,e):g.apply(this,arguments)},c.prototype.toLocaleString=c.prototype.toString,c.prototype.equals=function(e){if(!c.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===c.compare(this,e)},c.prototype.inspect=function(){let e=\"\";const r=t.INSPECT_MAX_BYTES;return e=this.toString(\"hex\",0,r).replace(/(.{2})/g,\"$1 \").trim(),this.length>r&&(e+=\" ... \"),\"<Buffer \"+e+\">\"},i&&(c.prototype[i]=c.prototype.inspect),c.prototype.compare=function(e,t,r,n,s){if($(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),t<0||r>e.length||n<0||s>this.length)throw new RangeError(\"out of range index\");if(n>=s&&t>=r)return 0;if(n>=s)return-1;if(t>=r)return 1;if(this===e)return 0;let i=(s>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0);const a=Math.min(i,o),l=this.slice(n,s),u=e.slice(t,r);for(let e=0;e<a;++e)if(l[e]!==u[e]){i=l[e],o=u[e];break}return i<o?-1:o<i?1:0},c.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},c.prototype.indexOf=function(e,t,r){return b(this,e,t,r,!0)},c.prototype.lastIndexOf=function(e,t,r){return b(this,e,t,r,!1)},c.prototype.write=function(e,t,r,n){if(void 0===t)n=\"utf8\",r=this.length,t=0;else if(void 0===r&&\"string\"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}const s=this.length-t;if((void 0===r||r>s)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");let i=!1;for(;;)switch(n){case\"hex\":return w(this,e,t,r);case\"utf8\":case\"utf-8\":return A(this,e,t,r);case\"ascii\":case\"latin1\":case\"binary\":return E(this,e,t,r);case\"base64\":return x(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return T(this,e,t,r);default:if(i)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),i=!0}},c.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};const C=4096;function I(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let s=t;s<r;++s)n+=String.fromCharCode(127&e[s]);return n}function P(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let s=t;s<r;++s)n+=String.fromCharCode(e[s]);return n}function M(e,t,r){const n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let s=\"\";for(let n=t;n<r;++n)s+=Y[e[n]];return s}function R(e,t,r){const n=e.slice(t,r);let s=\"\";for(let e=0;e<n.length-1;e+=2)s+=String.fromCharCode(n[e]+256*n[e+1]);return s}function B(e,t,r){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}function N(e,t,r,n,s,i){if(!c.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>s||t<i)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}function O(e,t,r,n,s){z(t,n,s,e,r,7);let i=Number(t&BigInt(4294967295));e[r++]=i,i>>=8,e[r++]=i,i>>=8,e[r++]=i,i>>=8,e[r++]=i;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,r}function _(e,t,r,n,s){z(t,n,s,e,r,7);let i=Number(t&BigInt(4294967295));e[r+7]=i,i>>=8,e[r+6]=i,i>>=8,e[r+5]=i,i>>=8,e[r+4]=i;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o>>=8,e[r+2]=o,o>>=8,e[r+1]=o,o>>=8,e[r]=o,r+8}function L(e,t,r,n,s,i){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function D(e,t,r,n,i){return t=+t,r>>>=0,i||L(e,0,r,4),s.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,i){return t=+t,r>>>=0,i||L(e,0,r,8),s.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);const n=this.subarray(e,t);return Object.setPrototypeOf(n,c.prototype),n},c.prototype.readUintLE=c.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||B(e,t,this.length);let n=this[e],s=1,i=0;for(;++i<t&&(s*=256);)n+=this[e+i]*s;return n},c.prototype.readUintBE=c.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||B(e,t,this.length);let n=this[e+--t],s=1;for(;t>0&&(s*=256);)n+=this[e+--t]*s;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||B(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||B(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||B(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||B(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||B(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readBigUInt64LE=X(function(e){G(e>>>=0,\"offset\");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||V(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,s=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(s)<<BigInt(32))}),c.prototype.readBigUInt64BE=X(function(e){G(e>>>=0,\"offset\");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||V(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],s=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<<BigInt(32))+BigInt(s)}),c.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||B(e,t,this.length);let n=this[e],s=1,i=0;for(;++i<t&&(s*=256);)n+=this[e+i]*s;return s*=128,n>=s&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||B(e,t,this.length);let n=t,s=1,i=this[e+--n];for(;n>0&&(s*=256);)i+=this[e+--n]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*t)),i},c.prototype.readInt8=function(e,t){return e>>>=0,t||B(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||B(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||B(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||B(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||B(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readBigInt64LE=X(function(e){G(e>>>=0,\"offset\");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||V(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(t+256*this[++e]+65536*this[++e]+this[++e]*2**24)}),c.prototype.readBigInt64BE=X(function(e){G(e>>>=0,\"offset\");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||V(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+r)}),c.prototype.readFloatLE=function(e,t){return e>>>=0,t||B(e,4,this.length),s.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||B(e,4,this.length),s.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||B(e,8,this.length),s.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||B(e,8,this.length),s.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t>>>=0,r>>>=0,!n){N(this,e,t,r,Math.pow(2,8*r)-1,0)}let s=1,i=0;for(this[t]=255&e;++i<r&&(s*=256);)this[t+i]=e/s&255;return t+r},c.prototype.writeUintBE=c.prototype.writeUIntBE=function(e,t,r,n){if(e=+e,t>>>=0,r>>>=0,!n){N(this,e,t,r,Math.pow(2,8*r)-1,0)}let s=r-1,i=1;for(this[t+s]=255&e;--s>=0&&(i*=256);)this[t+s]=e/i&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigUInt64LE=X(function(e,t=0){return O(this,e,t,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),c.prototype.writeBigUInt64BE=X(function(e,t=0){return _(this,e,t,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);N(this,e,t,r,n-1,-n)}let s=0,i=1,o=0;for(this[t]=255&e;++s<r&&(i*=256);)e<0&&0===o&&0!==this[t+s-1]&&(o=1),this[t+s]=(e/i|0)-o&255;return t+r},c.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);N(this,e,t,r,n-1,-n)}let s=r-1,i=1,o=0;for(this[t+s]=255&e;--s>=0&&(i*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/i|0)-o&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigInt64LE=X(function(e,t=0){return O(this,e,t,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),c.prototype.writeBigInt64BE=X(function(e,t=0){return _(this,e,t,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),c.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);const s=n-r;return this===e&&\"function\"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,r,n):Uint8Array.prototype.set.call(e,this.subarray(r,n),t),s},c.prototype.fill=function(e,t,r,n){if(\"string\"==typeof e){if(\"string\"==typeof t?(n=t,t=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!c.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===e.length){const t=e.charCodeAt(0);(\"utf8\"===n&&t<128||\"latin1\"===n)&&(e=t)}}else\"number\"==typeof e?e&=255:\"boolean\"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw new RangeError(\"Out of range index\");if(r<=t)return this;let s;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),\"number\"==typeof e)for(s=t;s<r;++s)this[s]=e;else{const i=c.isBuffer(e)?e:c.from(e,n),o=i.length;if(0===o)throw new TypeError('The value \"'+e+'\" is invalid for argument \"value\"');for(s=0;s<r-t;++s)this[s+t]=i[s%o]}return this};const U={};function j(e,t,r){U[e]=class extends r{constructor(){super(),Object.defineProperty(this,\"message\",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function H(e){let t=\"\",r=e.length;const n=\"-\"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function z(e,t,r,n,s,i){if(e>r||e<t){const n=\"bigint\"==typeof t?\"n\":\"\";let s;throw s=i>3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(i+1)}${n}`:`>= -(2${n} ** ${8*(i+1)-1}${n}) and < 2 ** ${8*(i+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new U.ERR_OUT_OF_RANGE(\"value\",s,e)}!function(e,t,r){G(t,\"offset\"),void 0!==e[t]&&void 0!==e[t+r]||V(t,e.length-(r+1))}(n,s,i)}function G(e,t){if(\"number\"!=typeof e)throw new U.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function V(e,t,r){if(Math.floor(e)!==e)throw G(e,r),new U.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e);if(t<0)throw new U.ERR_BUFFER_OUT_OF_BOUNDS;throw new U.ERR_OUT_OF_RANGE(r||\"offset\",`>= ${r?1:0} and <= ${t}`,e)}j(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(e){return e?`${e} is outside of buffer bounds`:\"Attempt to access memory outside buffer bounds\"},RangeError),j(\"ERR_INVALID_ARG_TYPE\",function(e,t){return`The \"${e}\" argument must be of type number. Received type ${typeof t}`},TypeError),j(\"ERR_OUT_OF_RANGE\",function(e,t,r){let n=`The value of \"${e}\" is out of range.`,s=r;return Number.isInteger(r)&&Math.abs(r)>2**32?s=H(String(r)):\"bigint\"==typeof r&&(s=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(s=H(s)),s+=\"n\"),n+=` It must be ${t}. Received ${s}`,n},RangeError);const q=/[^+/0-9A-Za-z-_]/g;function K(e,t){let r;t=t||1/0;const n=e.length;let s=null;const i=[];for(let o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),s=r;continue}r=65536+(s-55296<<10|r-56320)}else s&&(t-=3)>-1&&i.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function W(e){return n.toByteArray(function(e){if((e=(e=e.split(\"=\")[0]).trim().replace(q,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function J(e,t,r,n){let s;for(s=0;s<n&&!(s+r>=t.length||s>=e.length);++s)t[s+r]=e[s];return s}function $(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Z(e){return e!=e}const Y=function(){const e=\"0123456789abcdef\",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let s=0;s<16;++s)t[n+s]=e[r]+e[s]}return t}();function X(e){return\"undefined\"==typeof BigInt?Q:e}function Q(){throw new Error(\"BigInt not supported\")}},124(e,t,r){t.formatArgs=function(t){if(t[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+t[0]+(this.useColors?\"%c \":\" \")+\"+\"+e.exports.humanize(this.diff),!this.useColors)return;const r=\"color: \"+this.color;t.splice(1,0,r,\"color: inherit\");let n=0,s=0;t[0].replace(/%[a-zA-Z%]/g,e=>{\"%%\"!==e&&(n++,\"%c\"===e&&(s=n))}),t.splice(s,0,r)},t.save=function(e){try{e?t.storage.setItem(\"debug\",e):t.storage.removeItem(\"debug\")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem(\"debug\")||t.storage.getItem(\"DEBUG\")}catch(e){}!e&&\"undefined\"!=typeof process&&\"env\"in process&&(e=\"false\");return e},t.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&(\"renderer\"===window.process.type||window.process.__nwjs))return!0;if(\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))return!1;let e;return\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/))&&parseInt(e[1],10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"))}})(),t.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],t.log=console.debug||console.log||(()=>{}),e.exports=r(7891)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return\"[UnexpectedJSONParseError]: \"+e.message}}},7891(e,t,r){e.exports=function(e){function t(e){let r,s,i,o=null;function a(...e){if(!a.enabled)return;const n=a,s=Number(new Date),i=s-(r||s);n.diff=i,n.prev=r,n.curr=s,r=s,e[0]=t.coerce(e[0]),\"string\"!=typeof e[0]&&e.unshift(\"%O\");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(r,s)=>{if(\"%%\"===r)return\"%\";o++;const i=t.formatters[s];if(\"function\"==typeof i){const t=e[o];r=i.call(n,t),e.splice(o,1),o--}return r}),t.formatArgs.call(n,e);(n.log||t.log).apply(n,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=n,a.destroy=t.destroy,Object.defineProperty(a,\"enabled\",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(s!==t.namespaces&&(s=t.namespaces,i=t.enabled(e)),i),set:e=>{o=e}}),\"function\"==typeof t.init&&t.init(a),a}function n(e,r){const n=t(this.namespace+(void 0===r?\":\":r)+e);return n.log=this.log,n}function s(e,t){let r=0,n=0,s=-1,i=0;for(;r<e.length;)if(n<t.length&&(t[n]===e[r]||\"*\"===t[n]))\"*\"===t[n]?(s=n,i=r,n++):(r++,n++);else{if(-1===s)return!1;n=s+1,i++,r=i}for(;n<t.length&&\"*\"===t[n];)n++;return n===t.length}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names,...t.skips.map(e=>\"-\"+e)].join(\",\");return t.enable(\"\"),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const r=(\"string\"==typeof e?e:\"\").trim().replace(/\\s+/g,\",\").split(\",\").filter(Boolean);for(const e of r)\"-\"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const r of t.skips)if(s(e,r))return!1;for(const r of t.names)if(s(e,r))return!0;return!1},t.humanize=r(7250),t.destroy=function(){console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\")},Object.keys(e).forEach(r=>{t[r]=e[r]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},8367(e,t,r){\"use strict\";r.r(t),r.d(t,{BaseContract:()=>On,BigNumber:()=>J,Contract:()=>_n,ContractFactory:()=>Ln,FixedNumber:()=>Wn,Signer:()=>ur,VoidSigner:()=>dr,Wallet:()=>Ti,Wordlist:()=>Ts,constants:()=>s,errors:()=>g,ethers:()=>c,getDefaultProvider:()=>Ec,logger:()=>Xc,providers:()=>i,utils:()=>a,version:()=>Yc,wordlists:()=>Is});var n={};r.r(n),r.d(n,{decode:()=>Ce,encode:()=>Te});var s={};r.r(s),r.d(s,{AddressZero:()=>Ci,EtherSymbol:()=>Pi,HashZero:()=>Ii,MaxInt256:()=>gt,MaxUint256:()=>pt,MinInt256:()=>mt,NegativeOne:()=>lt,One:()=>dt,Two:()=>ht,WeiPerEther:()=>ft,Zero:()=>ut});var i={};r.r(i),r.d(i,{AlchemyProvider:()=>Sa,AlchemyWebSocketProvider:()=>ka,AnkrProvider:()=>Ma,BaseProvider:()=>ea,CloudflareProvider:()=>Na,EtherscanProvider:()=>Ha,FallbackProvider:()=>nc,Formatter:()=>So,InfuraProvider:()=>cc,InfuraWebSocketProvider:()=>ac,IpcProvider:()=>sc,JsonRpcBatchProvider:()=>lc,JsonRpcProvider:()=>fa,JsonRpcSigner:()=>ua,NodesmithProvider:()=>dc,PocketProvider:()=>pc,Provider:()=>ir,QuickNodeProvider:()=>gc,Resolver:()=>Yo,StaticJsonRpcProvider:()=>Aa,UrlJsonRpcProvider:()=>Ea,Web3Provider:()=>wc,WebSocketProvider:()=>ba,getDefaultProvider:()=>Ec,getNetwork:()=>Di,isCommunityResourcable:()=>Co,isCommunityResource:()=>Io,showThrottleMessage:()=>Mo});var o={};r.r(o),r.d(o,{decode:()=>Fi,encode:()=>Ui});var a={};r.r(a),r.d(a,{AbiCoder:()=>Kt,ConstructorFragment:()=>_t,ErrorFragment:()=>Ft,EventFragment:()=>Rt,FormatTypes:()=>St,Fragment:()=>Mt,FunctionFragment:()=>Lt,HDNode:()=>js,Indexed:()=>Xt,Interface:()=>tr,LogDescription:()=>$t,Logger:()=>b,ParamType:()=>It,RLP:()=>n,SigningKey:()=>Qr,SupportedAlgorithm:()=>gs,TransactionDescription:()=>Zt,TransactionTypes:()=>nn,UnicodeNormalizationForm:()=>je,Utf8ErrorFuncs:()=>Ge,Utf8ErrorReason:()=>He,_TypedDataEncoder:()=>fs,_fetchData:()=>vo,_toEscapedUtf8String:()=>We,accessListify:()=>fn,arrayify:()=>k,base58:()=>ms,base64:()=>o,checkProperties:()=>se,checkResultErrors:()=>fe,commify:()=>Kc,computeAddress:()=>ln,computeHmac:()=>As,computePublicKey:()=>tn,concat:()=>S,deepCopy:()=>le,defaultAbiCoder:()=>Wt,defaultPath:()=>Us,defineReadOnly:()=>te,dnsEncode:()=>ho,entropyToMnemonic:()=>Gs,fetchJson:()=>wo,formatBytes32String:()=>zc,formatEther:()=>$c,formatUnits:()=>Wc,getAccountPath:()=>qs,getAddress:()=>Oe,getContractAddress:()=>De,getCreate2Address:()=>Fe,getIcapAddress:()=>Le,getJsonWalletAddress:()=>vi,getStatic:()=>re,hashMessage:()=>Zn,hexConcat:()=>O,hexDataLength:()=>B,hexDataSlice:()=>N,hexStripZeros:()=>L,hexValue:()=>_,hexZeroPad:()=>D,hexlify:()=>R,id:()=>Ye,isAddress:()=>_e,isBytes:()=>T,isBytesLike:()=>E,isHexString:()=>P,isValidMnemonic:()=>Vs,isValidName:()=>lo,joinSignature:()=>U,keccak256:()=>ve,mnemonicToEntropy:()=>zs,mnemonicToSeed:()=>Hs,namehash:()=>uo,nameprep:()=>Hc,parseBytes32String:()=>Gc,parseEther:()=>Zc,parseTransaction:()=>vn,parseUnits:()=>Jc,poll:()=>Ao,randomBytes:()=>$s,recoverAddress:()=>un,recoverPublicKey:()=>en,resolveProperties:()=>ne,ripemd160:()=>bs,serializeTransaction:()=>yn,sha256:()=>vs,sha512:()=>ws,shallowCopy:()=>ie,shuffled:()=>za,solidityKeccak256:()=>Pc,solidityPack:()=>Ic,soliditySha256:()=>Mc,splitSignature:()=>F,stripZeros:()=>C,toUtf8Bytes:()=>qe,toUtf8CodePoints:()=>Ze,toUtf8String:()=>$e,verifyMessage:()=>ki,verifyTypedData:()=>Si,zeroPad:()=>I});var c={};r.r(c),r.d(c,{BaseContract:()=>On,BigNumber:()=>J,Contract:()=>_n,ContractFactory:()=>Ln,FixedNumber:()=>Wn,Signer:()=>ur,VoidSigner:()=>dr,Wallet:()=>Ti,Wordlist:()=>Ts,constants:()=>s,errors:()=>g,getDefaultProvider:()=>Ec,logger:()=>Xc,providers:()=>i,utils:()=>a,version:()=>Yc,wordlists:()=>Is});let l=!1,u=!1;const d={debug:1,default:2,info:2,warning:3,error:4,off:5};let h=d.default,f=null;const p=function(){try{const e=[];if([\"NFD\",\"NFC\",\"NFKD\",\"NFKC\"].forEach(t=>{try{if(\"test\"!==\"test\".normalize(t))throw new Error(\"bad normalize\")}catch(r){e.push(t)}}),e.length)throw new Error(\"missing \"+e.join(\", \"));if(String.fromCharCode(233).normalize(\"NFD\")!==String.fromCharCode(101,769))throw new Error(\"broken implementation\")}catch(e){return e.message}return null}();var m,g;!function(e){e.DEBUG=\"DEBUG\",e.INFO=\"INFO\",e.WARNING=\"WARNING\",e.ERROR=\"ERROR\",e.OFF=\"OFF\"}(m||(m={})),function(e){e.UNKNOWN_ERROR=\"UNKNOWN_ERROR\",e.NOT_IMPLEMENTED=\"NOT_IMPLEMENTED\",e.UNSUPPORTED_OPERATION=\"UNSUPPORTED_OPERATION\",e.NETWORK_ERROR=\"NETWORK_ERROR\",e.SERVER_ERROR=\"SERVER_ERROR\",e.TIMEOUT=\"TIMEOUT\",e.BUFFER_OVERRUN=\"BUFFER_OVERRUN\",e.NUMERIC_FAULT=\"NUMERIC_FAULT\",e.MISSING_NEW=\"MISSING_NEW\",e.INVALID_ARGUMENT=\"INVALID_ARGUMENT\",e.MISSING_ARGUMENT=\"MISSING_ARGUMENT\",e.UNEXPECTED_ARGUMENT=\"UNEXPECTED_ARGUMENT\",e.CALL_EXCEPTION=\"CALL_EXCEPTION\",e.INSUFFICIENT_FUNDS=\"INSUFFICIENT_FUNDS\",e.NONCE_EXPIRED=\"NONCE_EXPIRED\",e.REPLACEMENT_UNDERPRICED=\"REPLACEMENT_UNDERPRICED\",e.UNPREDICTABLE_GAS_LIMIT=\"UNPREDICTABLE_GAS_LIMIT\",e.TRANSACTION_REPLACED=\"TRANSACTION_REPLACED\",e.ACTION_REJECTED=\"ACTION_REJECTED\"}(g||(g={}));const y=\"0123456789abcdef\";class b{constructor(e){Object.defineProperty(this,\"version\",{enumerable:!0,value:e,writable:!1})}_log(e,t){const r=e.toLowerCase();null==d[r]&&this.throwArgumentError(\"invalid log level name\",\"logLevel\",e),h>d[r]||console.log.apply(console,t)}debug(...e){this._log(b.levels.DEBUG,e)}info(...e){this._log(b.levels.INFO,e)}warn(...e){this._log(b.levels.WARNING,e)}makeError(e,t,r){if(u)return this.makeError(\"censored error\",t,{});t||(t=b.errors.UNKNOWN_ERROR),r||(r={});const n=[];Object.keys(r).forEach(e=>{const t=r[e];try{if(t instanceof Uint8Array){let r=\"\";for(let e=0;e<t.length;e++)r+=y[t[e]>>4],r+=y[15&t[e]];n.push(e+\"=Uint8Array(0x\"+r+\")\")}else n.push(e+\"=\"+JSON.stringify(t))}catch(t){n.push(e+\"=\"+JSON.stringify(r[e].toString()))}}),n.push(`code=${t}`),n.push(`version=${this.version}`);const s=e;let i=\"\";switch(t){case g.NUMERIC_FAULT:{i=\"NUMERIC_FAULT\";const t=e;switch(t){case\"overflow\":case\"underflow\":case\"division-by-zero\":i+=\"-\"+t;break;case\"negative-power\":case\"negative-width\":i+=\"-unsupported\";break;case\"unbound-bitwise-result\":i+=\"-unbound-result\"}break}case g.CALL_EXCEPTION:case g.INSUFFICIENT_FUNDS:case g.MISSING_NEW:case g.NONCE_EXPIRED:case g.REPLACEMENT_UNDERPRICED:case g.TRANSACTION_REPLACED:case g.UNPREDICTABLE_GAS_LIMIT:i=t}i&&(e+=\" [ See: https://links.ethers.org/v5-errors-\"+i+\" ]\"),n.length&&(e+=\" (\"+n.join(\", \")+\")\");const o=new Error(e);return o.reason=s,o.code=t,Object.keys(r).forEach(function(e){o[e]=r[e]}),o}throwError(e,t,r){throw this.makeError(e,t,r)}throwArgumentError(e,t,r){return this.throwError(e,b.errors.INVALID_ARGUMENT,{argument:t,value:r})}assert(e,t,r,n){e||this.throwError(t,r,n)}assertArgument(e,t,r,n){e||this.throwArgumentError(t,r,n)}checkNormalize(e){null==e&&(e=\"platform missing String.prototype.normalize\"),p&&this.throwError(\"platform missing String.prototype.normalize\",b.errors.UNSUPPORTED_OPERATION,{operation:\"String.prototype.normalize\",form:p})}checkSafeUint53(e,t){\"number\"==typeof e&&(null==t&&(t=\"value not safe\"),(e<0||e>=9007199254740991)&&this.throwError(t,b.errors.NUMERIC_FAULT,{operation:\"checkSafeInteger\",fault:\"out-of-safe-range\",value:e}),e%1&&this.throwError(t,b.errors.NUMERIC_FAULT,{operation:\"checkSafeInteger\",fault:\"non-integer\",value:e}))}checkArgumentCount(e,t,r){r=r?\": \"+r:\"\",e<t&&this.throwError(\"missing argument\"+r,b.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError(\"too many arguments\"+r,b.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){e!==Object&&null!=e||this.throwError(\"missing new\",b.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError(\"cannot instantiate abstract class \"+JSON.stringify(t.name)+\" directly; use a sub-class\",b.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:\"new\"}):e!==Object&&null!=e||this.throwError(\"missing new\",b.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return f||(f=new b(\"logger/5.8.0\")),f}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError(\"cannot permanently disable censorship\",b.errors.UNSUPPORTED_OPERATION,{operation:\"setCensorship\"}),l){if(!e)return;this.globalLogger().throwError(\"error censorship permanent\",b.errors.UNSUPPORTED_OPERATION,{operation:\"setCensorship\"})}u=!!e,l=!!t}static setLogLevel(e){const t=d[e.toLowerCase()];null!=t?h=t:b.globalLogger().warn(\"invalid log level - \"+e)}static from(e){return new b(e)}}b.errors=g,b.levels=m;const v=new b(\"bytes/5.8.0\");function w(e){return!!e.toHexString}function A(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return A(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function E(e){return P(e)&&!(e.length%2)||T(e)}function x(e){return\"number\"==typeof e&&e==e&&e%1==0}function T(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if(\"string\"==typeof e)return!1;if(!x(e.length)||e.length<0)return!1;for(let t=0;t<e.length;t++){const r=e[t];if(!x(r)||r<0||r>=256)return!1}return!0}function k(e,t){if(t||(t={}),\"number\"==typeof e){v.checkSafeUint53(e,\"invalid arrayify value\");const t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),A(new Uint8Array(t))}if(t.allowMissingPrefix&&\"string\"==typeof e&&\"0x\"!==e.substring(0,2)&&(e=\"0x\"+e),w(e)&&(e=e.toHexString()),P(e)){let r=e.substring(2);r.length%2&&(\"left\"===t.hexPad?r=\"0\"+r:\"right\"===t.hexPad?r+=\"0\":v.throwArgumentError(\"hex data is odd-length\",\"value\",e));const n=[];for(let e=0;e<r.length;e+=2)n.push(parseInt(r.substring(e,e+2),16));return A(new Uint8Array(n))}return T(e)?A(new Uint8Array(e)):v.throwArgumentError(\"invalid arrayify value\",\"value\",e)}function S(e){const t=e.map(e=>k(e)),r=t.reduce((e,t)=>e+t.length,0),n=new Uint8Array(r);return t.reduce((e,t)=>(n.set(t,e),e+t.length),0),A(n)}function C(e){let t=k(e);if(0===t.length)return t;let r=0;for(;r<t.length&&0===t[r];)r++;return r&&(t=t.slice(r)),t}function I(e,t){(e=k(e)).length>t&&v.throwArgumentError(\"value out of range\",\"value\",arguments[0]);const r=new Uint8Array(t);return r.set(e,t-e.length),A(r)}function P(e,t){return!(\"string\"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}const M=\"0123456789abcdef\";function R(e,t){if(t||(t={}),\"number\"==typeof e){v.checkSafeUint53(e,\"invalid hexlify value\");let t=\"\";for(;e;)t=M[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t=\"0\"+t),\"0x\"+t):\"0x00\"}if(\"bigint\"==typeof e)return(e=e.toString(16)).length%2?\"0x0\"+e:\"0x\"+e;if(t.allowMissingPrefix&&\"string\"==typeof e&&\"0x\"!==e.substring(0,2)&&(e=\"0x\"+e),w(e))return e.toHexString();if(P(e))return e.length%2&&(\"left\"===t.hexPad?e=\"0x0\"+e.substring(2):\"right\"===t.hexPad?e+=\"0\":v.throwArgumentError(\"hex data is odd-length\",\"value\",e)),e.toLowerCase();if(T(e)){let t=\"0x\";for(let r=0;r<e.length;r++){let n=e[r];t+=M[(240&n)>>4]+M[15&n]}return t}return v.throwArgumentError(\"invalid hexlify value\",\"value\",e)}function B(e){if(\"string\"!=typeof e)e=R(e);else if(!P(e)||e.length%2)return null;return(e.length-2)/2}function N(e,t,r){return\"string\"!=typeof e?e=R(e):(!P(e)||e.length%2)&&v.throwArgumentError(\"invalid hexData\",\"value\",e),t=2+2*t,null!=r?\"0x\"+e.substring(t,2+2*r):\"0x\"+e.substring(t)}function O(e){let t=\"0x\";return e.forEach(e=>{t+=R(e).substring(2)}),t}function _(e){const t=L(R(e,{hexPad:\"left\"}));return\"0x\"===t?\"0x0\":t}function L(e){\"string\"!=typeof e&&(e=R(e)),P(e)||v.throwArgumentError(\"invalid hex string\",\"value\",e),e=e.substring(2);let t=0;for(;t<e.length&&\"0\"===e[t];)t++;return\"0x\"+e.substring(t)}function D(e,t){for(\"string\"!=typeof e?e=R(e):P(e)||v.throwArgumentError(\"invalid hex string\",\"value\",e),e.length>2*t+2&&v.throwArgumentError(\"value out of range\",\"value\",arguments[1]);e.length<2*t+2;)e=\"0x0\"+e.substring(2);return e}function F(e){const t={r:\"0x\",s:\"0x\",_vs:\"0x\",recoveryParam:0,v:0,yParityAndS:\"0x\",compact:\"0x\"};if(E(e)){let r=k(e);64===r.length?(t.v=27+(r[32]>>7),r[32]&=127,t.r=R(r.slice(0,32)),t.s=R(r.slice(32,64))):65===r.length?(t.r=R(r.slice(0,32)),t.s=R(r.slice(32,64)),t.v=r[64]):v.throwArgumentError(\"invalid signature string\",\"signature\",e),t.v<27&&(0===t.v||1===t.v?t.v+=27:v.throwArgumentError(\"signature invalid v byte\",\"signature\",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(r[32]|=128),t._vs=R(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){const r=I(k(t._vs),32);t._vs=R(r);const n=r[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=n:t.recoveryParam!==n&&v.throwArgumentError(\"signature recoveryParam mismatch _vs\",\"signature\",e),r[0]&=127;const s=R(r);null==t.s?t.s=s:t.s!==s&&v.throwArgumentError(\"signature v mismatch _vs\",\"signature\",e)}if(null==t.recoveryParam)null==t.v?v.throwArgumentError(\"signature missing v and recoveryParam\",\"signature\",e):0===t.v||1===t.v?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(null==t.v)t.v=27+t.recoveryParam;else{const r=0===t.v||1===t.v?t.v:1-t.v%2;t.recoveryParam!==r&&v.throwArgumentError(\"signature recoveryParam mismatch v\",\"signature\",e)}null!=t.r&&P(t.r)?t.r=D(t.r,32):v.throwArgumentError(\"signature missing or invalid r\",\"signature\",e),null!=t.s&&P(t.s)?t.s=D(t.s,32):v.throwArgumentError(\"signature missing or invalid s\",\"signature\",e);const r=k(t.s);r[0]>=128&&v.throwArgumentError(\"signature s out of range\",\"signature\",e),t.recoveryParam&&(r[0]|=128);const n=R(r);t._vs&&(P(t._vs)||v.throwArgumentError(\"signature invalid _vs\",\"signature\",e),t._vs=D(t._vs,32)),null==t._vs?t._vs=n:t._vs!==n&&v.throwArgumentError(\"signature _vs mismatch v and s\",\"signature\",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}function U(e){return R(S([(e=F(e)).r,e.s,e.recoveryParam?\"0x1c\":\"0x1b\"]))}var j=r(2823),H=r.n(j);const z=\"bignumber/5.8.0\";var G=H().BN;const V=new b(z),q={},K=9007199254740991;let W=!1;class J{constructor(e,t){e!==q&&V.throwError(\"cannot call constructor directly; use BigNumber.from\",b.errors.UNSUPPORTED_OPERATION,{operation:\"new (BigNumber)\"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return Z(Y(this).fromTwos(e))}toTwos(e){return Z(Y(this).toTwos(e))}abs(){return\"-\"===this._hex[0]?J.from(this._hex.substring(1)):this}add(e){return Z(Y(this).add(Y(e)))}sub(e){return Z(Y(this).sub(Y(e)))}div(e){return J.from(e).isZero()&&X(\"division-by-zero\",\"div\"),Z(Y(this).div(Y(e)))}mul(e){return Z(Y(this).mul(Y(e)))}mod(e){const t=Y(e);return t.isNeg()&&X(\"division-by-zero\",\"mod\"),Z(Y(this).umod(t))}pow(e){const t=Y(e);return t.isNeg()&&X(\"negative-power\",\"pow\"),Z(Y(this).pow(t))}and(e){const t=Y(e);return(this.isNegative()||t.isNeg())&&X(\"unbound-bitwise-result\",\"and\"),Z(Y(this).and(t))}or(e){const t=Y(e);return(this.isNegative()||t.isNeg())&&X(\"unbound-bitwise-result\",\"or\"),Z(Y(this).or(t))}xor(e){const t=Y(e);return(this.isNegative()||t.isNeg())&&X(\"unbound-bitwise-result\",\"xor\"),Z(Y(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&X(\"negative-width\",\"mask\"),Z(Y(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&X(\"negative-width\",\"shl\"),Z(Y(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&X(\"negative-width\",\"shr\"),Z(Y(this).shrn(e))}eq(e){return Y(this).eq(Y(e))}lt(e){return Y(this).lt(Y(e))}lte(e){return Y(this).lte(Y(e))}gt(e){return Y(this).gt(Y(e))}gte(e){return Y(this).gte(Y(e))}isNegative(){return\"-\"===this._hex[0]}isZero(){return Y(this).isZero()}toNumber(){try{return Y(this).toNumber()}catch(e){X(\"overflow\",\"toNumber\",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(e){}return V.throwError(\"this platform does not support BigInt\",b.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?W||(W=!0,V.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\")):16===arguments[0]?V.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\",b.errors.UNEXPECTED_ARGUMENT,{}):V.throwError(\"BigNumber.toString does not accept parameters\",b.errors.UNEXPECTED_ARGUMENT,{})),Y(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:\"BigNumber\",hex:this.toHexString()}}static from(e){if(e instanceof J)return e;if(\"string\"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new J(q,$(e)):e.match(/^-?[0-9]+$/)?new J(q,$(new G(e))):V.throwArgumentError(\"invalid BigNumber string\",\"value\",e);if(\"number\"==typeof e)return e%1&&X(\"underflow\",\"BigNumber.from\",e),(e>=K||e<=-K)&&X(\"overflow\",\"BigNumber.from\",e),J.from(String(e));const t=e;if(\"bigint\"==typeof t)return J.from(t.toString());if(T(t))return J.from(R(t));if(t)if(t.toHexString){const e=t.toHexString();if(\"string\"==typeof e)return J.from(e)}else{let e=t._hex;if(null==e&&\"BigNumber\"===t.type&&(e=t.hex),\"string\"==typeof e&&(P(e)||\"-\"===e[0]&&P(e.substring(1))))return J.from(e)}return V.throwArgumentError(\"invalid BigNumber value\",\"value\",e)}static isBigNumber(e){return!(!e||!e._isBigNumber)}}function $(e){if(\"string\"!=typeof e)return $(e.toString(16));if(\"-\"===e[0])return\"-\"===(e=e.substring(1))[0]&&V.throwArgumentError(\"invalid hex\",\"value\",e),\"0x00\"===(e=$(e))?e:\"-\"+e;if(\"0x\"!==e.substring(0,2)&&(e=\"0x\"+e),\"0x\"===e)return\"0x00\";for(e.length%2&&(e=\"0x0\"+e.substring(2));e.length>4&&\"0x00\"===e.substring(0,4);)e=\"0x\"+e.substring(4);return e}function Z(e){return J.from($(e))}function Y(e){const t=J.from(e).toHexString();return\"-\"===t[0]?new G(\"-\"+t.substring(3),16):new G(t.substring(2),16)}function X(e,t,r){const n={fault:e,operation:t};return null!=r&&(n.value=r),V.throwError(e,b.errors.NUMERIC_FAULT,n)}var Q=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const ee=new b(\"properties/5.8.0\");function te(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}function re(e,t){for(let r=0;r<32;r++){if(e[t])return e[t];if(!e.prototype||\"object\"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}function ne(e){return Q(this,void 0,void 0,function*(){const t=Object.keys(e).map(t=>{const r=e[t];return Promise.resolve(r).then(e=>({key:t,value:e}))});return(yield Promise.all(t)).reduce((e,t)=>(e[t.key]=t.value,e),{})})}function se(e,t){e&&\"object\"==typeof e||ee.throwArgumentError(\"invalid object\",\"object\",e),Object.keys(e).forEach(r=>{t[r]||ee.throwArgumentError(\"invalid object key - \"+r,\"transaction:\"+r,e)})}function ie(e){const t={};for(const r in e)t[r]=e[r];return t}const oe={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function ae(e){if(null==e||oe[typeof e])return!0;if(Array.isArray(e)||\"object\"==typeof e){if(!Object.isFrozen(e))return!1;const t=Object.keys(e);for(let r=0;r<t.length;r++){let n=null;try{n=e[t[r]]}catch(e){continue}if(!ae(n))return!1}return!0}return ee.throwArgumentError(\"Cannot deepCopy \"+typeof e,\"object\",e)}function ce(e){if(ae(e))return e;if(Array.isArray(e))return Object.freeze(e.map(e=>le(e)));if(\"object\"==typeof e){const t={};for(const r in e){const n=e[r];void 0!==n&&te(t,r,le(n))}return t}return ee.throwArgumentError(\"Cannot deepCopy \"+typeof e,\"object\",e)}function le(e){return ce(e)}class ue{constructor(e){for(const t in e)this[t]=le(e[t])}}const de=\"abi/5.8.0\",he=new b(de);function fe(e){const t=[],r=function(e,n){if(Array.isArray(n))for(let s in n){const i=e.slice();i.push(s);try{r(i,n[s])}catch(e){t.push({path:i,error:e})}}};return r([],e),t}class pe{constructor(e,t,r,n){this.name=e,this.type=t,this.localName=r,this.dynamic=n}_throwError(e,t){he.throwArgumentError(e,this.localName,t)}}class me{constructor(e){te(this,\"wordSize\",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return O(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData(S(e._data))}writeBytes(e){let t=k(e);const r=t.length%this.wordSize;return r&&(t=S([t,this._padding.slice(r)])),this._writeData(t)}_getValue(e){let t=k(J.from(e));return t.length>this.wordSize&&he.throwError(\"value out-of-bounds\",b.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=S([this._padding.slice(t.length%this.wordSize),t])),t}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,t=>{this._data[e]=this._getValue(t)}}}class ge{constructor(e,t,r,n){te(this,\"_data\",k(e)),te(this,\"wordSize\",t||32),te(this,\"_coerceFunc\",r),te(this,\"allowLoose\",n),this._offset=0}get data(){return R(this._data)}get consumed(){return this._offset}static coerce(e,t){let r=e.match(\"^u?int([0-9]+)$\");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):ge.coerce(e,t)}_peekBytes(e,t,r){let n=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&(this.allowLoose&&r&&this._offset+t<=this._data.length?n=t:he.throwError(\"data out-of-bounds\",b.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n})),this._data.slice(this._offset,this._offset+n)}subReader(e){return new ge(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let r=this._peekBytes(0,e,!!t);return this._offset+=r.length,r.slice(0,e)}readValue(){return J.from(this.readBytes(this.wordSize))}}var ye=r(573),be=r.n(ye);function ve(e){return\"0x\"+be().keccak_256(k(e))}const we=new b(\"rlp/5.8.0\");function Ae(e){const t=[];for(;e;)t.unshift(255&e),e>>=8;return t}function Ee(e,t,r){let n=0;for(let s=0;s<r;s++)n=256*n+e[t+s];return n}function xe(e){if(Array.isArray(e)){let t=[];if(e.forEach(function(e){t=t.concat(xe(e))}),t.length<=55)return t.unshift(192+t.length),t;const r=Ae(t.length);return r.unshift(247+r.length),r.concat(t)}E(e)||we.throwArgumentError(\"RLP object must be BytesLike\",\"object\",e);const t=Array.prototype.slice.call(k(e));if(1===t.length&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const r=Ae(t.length);return r.unshift(183+r.length),r.concat(t)}function Te(e){return R(xe(e))}function ke(e,t,r,n){const s=[];for(;r<t+1+n;){const i=Se(e,r);s.push(i.result),(r+=i.consumed)>t+1+n&&we.throwError(\"child data too short\",b.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:s}}function Se(e,t){if(0===e.length&&we.throwError(\"data too short\",b.errors.BUFFER_OVERRUN,{}),e[t]>=248){const r=e[t]-247;t+1+r>e.length&&we.throwError(\"data short segment too short\",b.errors.BUFFER_OVERRUN,{});const n=Ee(e,t+1,r);return t+1+r+n>e.length&&we.throwError(\"data long segment too short\",b.errors.BUFFER_OVERRUN,{}),ke(e,t,t+1+r,r+n)}if(e[t]>=192){const r=e[t]-192;return t+1+r>e.length&&we.throwError(\"data array too short\",b.errors.BUFFER_OVERRUN,{}),ke(e,t,t+1,r)}if(e[t]>=184){const r=e[t]-183;t+1+r>e.length&&we.throwError(\"data array too short\",b.errors.BUFFER_OVERRUN,{});const n=Ee(e,t+1,r);t+1+r+n>e.length&&we.throwError(\"data array too short\",b.errors.BUFFER_OVERRUN,{});return{consumed:1+r+n,result:R(e.slice(t+1+r,t+1+r+n))}}if(e[t]>=128){const r=e[t]-128;t+1+r>e.length&&we.throwError(\"data too short\",b.errors.BUFFER_OVERRUN,{});return{consumed:1+r,result:R(e.slice(t+1,t+1+r))}}return{consumed:1,result:R(e[t])}}function Ce(e){const t=k(e),r=Se(t,0);return r.consumed!==t.length&&we.throwArgumentError(\"invalid rlp data\",\"data\",e),r.result}const Ie=new b(\"address/5.8.0\");function Pe(e){P(e,20)||Ie.throwArgumentError(\"invalid address\",\"address\",e);const t=(e=e.toLowerCase()).substring(2).split(\"\"),r=new Uint8Array(40);for(let e=0;e<40;e++)r[e]=t[e].charCodeAt(0);const n=k(ve(r));for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&n[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return\"0x\"+t.join(\"\")}const Me={};for(let e=0;e<10;e++)Me[String(e)]=String(e);for(let e=0;e<26;e++)Me[String.fromCharCode(65+e)]=String(10+e);const Re=Math.floor((Be=9007199254740991,Math.log10?Math.log10(Be):Math.log(Be)/Math.LN10));var Be;function Ne(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+\"00\").split(\"\").map(e=>Me[e]).join(\"\");for(;t.length>=Re;){let e=t.substring(0,Re);t=parseInt(e,10)%97+t.substring(e.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r=\"0\"+r;return r}function Oe(e){let t=null;if(\"string\"!=typeof e&&Ie.throwArgumentError(\"invalid address\",\"address\",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))\"0x\"!==e.substring(0,2)&&(e=\"0x\"+e),t=Pe(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&Ie.throwArgumentError(\"bad address checksum\",\"address\",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==Ne(e)&&Ie.throwArgumentError(\"bad icap checksum\",\"address\",e),r=e.substring(4),t=new G(r,36).toString(16);t.length<40;)t=\"0\"+t;t=Pe(\"0x\"+t)}else Ie.throwArgumentError(\"invalid address\",\"address\",e);var r;return t}function _e(e){try{return Oe(e),!0}catch(e){}return!1}function Le(e){let t=(r=Oe(e).substring(2),new G(r,16).toString(36)).toUpperCase();for(var r;t.length<30;)t=\"0\"+t;return\"XE\"+Ne(\"XE00\"+t)+t}function De(e){let t=null;try{t=Oe(e.from)}catch(t){Ie.throwArgumentError(\"missing from address\",\"transaction\",e)}return Oe(N(ve(Te([t,C(k(J.from(e.nonce).toHexString()))])),12))}function Fe(e,t,r){return 32!==B(t)&&Ie.throwArgumentError(\"salt must be 32 bytes\",\"salt\",t),32!==B(r)&&Ie.throwArgumentError(\"initCodeHash must be 32 bytes\",\"initCodeHash\",r),Oe(N(ve(S([\"0xff\",Oe(e),t,r])),12))}const Ue=new b(\"strings/5.8.0\");var je,He;function ze(e,t,r,n,s){if(e===He.BAD_PREFIX||e===He.UNEXPECTED_CONTINUE){let e=0;for(let n=t+1;n<r.length&&r[n]>>6==2;n++)e++;return e}return e===He.OVERRUN?r.length-t-1:0}!function(e){e.current=\"\",e.NFC=\"NFC\",e.NFD=\"NFD\",e.NFKC=\"NFKC\",e.NFKD=\"NFKD\"}(je||(je={})),function(e){e.UNEXPECTED_CONTINUE=\"unexpected continuation byte\",e.BAD_PREFIX=\"bad codepoint prefix\",e.OVERRUN=\"string overrun\",e.MISSING_CONTINUE=\"missing continuation byte\",e.OUT_OF_RANGE=\"out of UTF-8 range\",e.UTF16_SURROGATE=\"UTF-16 surrogate\",e.OVERLONG=\"overlong representation\"}(He||(He={}));const Ge=Object.freeze({error:function(e,t,r,n,s){return Ue.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,\"bytes\",r)},ignore:ze,replace:function(e,t,r,n,s){return e===He.OVERLONG?(n.push(s),0):(n.push(65533),ze(e,t,r))}});function Ve(e,t){null==t&&(t=Ge.error),e=k(e);const r=[];let n=0;for(;n<e.length;){const s=e[n++];if(!(s>>7)){r.push(s);continue}let i=null,o=null;if(192==(224&s))i=1,o=127;else if(224==(240&s))i=2,o=2047;else{if(240!=(248&s)){n+=t(128==(192&s)?He.UNEXPECTED_CONTINUE:He.BAD_PREFIX,n-1,e,r);continue}i=3,o=65535}if(n-1+i>=e.length){n+=t(He.OVERRUN,n-1,e,r);continue}let a=s&(1<<8-i-1)-1;for(let s=0;s<i;s++){let s=e[n];if(128!=(192&s)){n+=t(He.MISSING_CONTINUE,n,e,r),a=null;break}a=a<<6|63&s,n++}null!==a&&(a>1114111?n+=t(He.OUT_OF_RANGE,n-1-i,e,r,a):a>=55296&&a<=57343?n+=t(He.UTF16_SURROGATE,n-1-i,e,r,a):a<=o?n+=t(He.OVERLONG,n-1-i,e,r,a):r.push(a))}return r}function qe(e,t=je.current){t!=je.current&&(Ue.checkNormalize(),e=e.normalize(t));let r=[];for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n<128)r.push(n);else if(n<2048)r.push(n>>6|192),r.push(63&n|128);else if(55296==(64512&n)){t++;const s=e.charCodeAt(t);if(t>=e.length||56320!=(64512&s))throw new Error(\"invalid utf-8 string\");const i=65536+((1023&n)<<10)+(1023&s);r.push(i>>18|240),r.push(i>>12&63|128),r.push(i>>6&63|128),r.push(63&i|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return k(r)}function Ke(e){const t=\"0000\"+e.toString(16);return\"\\\\u\"+t.substring(t.length-4)}function We(e,t){return'\"'+Ve(e,t).map(e=>{if(e<256){switch(e){case 8:return\"\\\\b\";case 9:return\"\\\\t\";case 10:return\"\\\\n\";case 13:return\"\\\\r\";case 34:return'\\\\\"';case 92:return\"\\\\\\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?Ke(e):Ke(55296+((e-=65536)>>10&1023))+Ke(56320+(1023&e))}).join(\"\")+'\"'}function Je(e){return e.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))).join(\"\")}function $e(e,t){return Je(Ve(e,t))}function Ze(e,t=je.current){return Ve(qe(e,t))}function Ye(e){return ve(qe(e))}class Xe extends pe{constructor(e){super(\"address\",\"address\",e,!1)}defaultValue(){return\"0x0000000000000000000000000000000000000000\"}encode(e,t){try{t=Oe(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}decode(e){return Oe(D(e.readValue().toHexString(),20))}}class Qe extends pe{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}}const et=new b(de);function tt(e,t,r){let n=null;if(Array.isArray(r))n=r;else if(r&&\"object\"==typeof r){let e={};n=t.map(t=>{const n=t.localName;return n||et.throwError(\"cannot encode object for signature with missing names\",b.errors.INVALID_ARGUMENT,{argument:\"values\",coder:t,value:r}),e[n]&&et.throwError(\"cannot encode object for signature with duplicate names\",b.errors.INVALID_ARGUMENT,{argument:\"values\",coder:t,value:r}),e[n]=!0,r[n]})}else et.throwArgumentError(\"invalid tuple value\",\"tuple\",r);t.length!==n.length&&et.throwArgumentError(\"types/value length mismatch\",\"tuple\",r);let s=new me(e.wordSize),i=new me(e.wordSize),o=[];t.forEach((e,t)=>{let r=n[t];if(e.dynamic){let t=i.length;e.encode(i,r);let n=s.writeUpdatableValue();o.push(e=>{n(e+t)})}else e.encode(s,r)}),o.forEach(e=>{e(s.length)});let a=e.appendWriter(s);return a+=e.appendWriter(i),a}function rt(e,t){let r=[],n=e.subReader(0);t.forEach(t=>{let s=null;if(t.dynamic){let r=e.readValue(),i=n.subReader(r.toNumber());try{s=t.decode(i)}catch(e){if(e.code===b.errors.BUFFER_OVERRUN)throw e;s=e,s.baseType=t.name,s.name=t.localName,s.type=t.type}}else try{s=t.decode(e)}catch(e){if(e.code===b.errors.BUFFER_OVERRUN)throw e;s=e,s.baseType=t.name,s.name=t.localName,s.type=t.type}null!=s&&r.push(s)});const s=t.reduce((e,t)=>{const r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e},{});t.forEach((e,t)=>{let n=e.localName;if(!n||1!==s[n])return;if(\"length\"===n&&(n=\"_length\"),null!=r[n])return;const i=r[t];i instanceof Error?Object.defineProperty(r,n,{enumerable:!0,get:()=>{throw i}}):r[n]=i});for(let e=0;e<r.length;e++){const t=r[e];t instanceof Error&&Object.defineProperty(r,e,{enumerable:!0,get:()=>{throw t}})}return Object.freeze(r)}class nt extends pe{constructor(e,t,r){super(\"array\",e.type+\"[\"+(t>=0?t:\"\")+\"]\",r,-1===t||e.dynamic),this.coder=e,this.length=t}defaultValue(){const e=this.coder.defaultValue(),t=[];for(let r=0;r<this.length;r++)t.push(e);return t}encode(e,t){Array.isArray(t)||this._throwError(\"expected array value\",t);let r=this.length;-1===r&&(r=t.length,e.writeValue(t.length)),et.checkArgumentCount(t.length,r,\"coder array\"+(this.localName?\" \"+this.localName:\"\"));let n=[];for(let e=0;e<t.length;e++)n.push(this.coder);return tt(e,n,t)}decode(e){let t=this.length;-1===t&&(t=e.readValue().toNumber(),32*t>e._data.length&&et.throwError(\"insufficient data length\",b.errors.BUFFER_OVERRUN,{length:e._data.length,count:t}));let r=[];for(let e=0;e<t;e++)r.push(new Qe(this.coder));return e.coerce(this.name,rt(e,r))}}class st extends pe{constructor(e){super(\"bool\",\"bool\",e,!1)}defaultValue(){return!1}encode(e,t){return e.writeValue(t?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}}class it extends pe{constructor(e,t){super(e,e,t,!0)}defaultValue(){return\"0x\"}encode(e,t){t=k(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}}class ot extends it{constructor(e){super(\"bytes\",e)}decode(e){return e.coerce(this.name,R(super.decode(e)))}}class at extends pe{constructor(e,t){let r=\"bytes\"+String(e);super(r,r,t,!1),this.size=e}defaultValue(){return\"0x0000000000000000000000000000000000000000000000000000000000000000\".substring(0,2+2*this.size)}encode(e,t){let r=k(t);return r.length!==this.size&&this._throwError(\"incorrect data length\",t),e.writeBytes(r)}decode(e){return e.coerce(this.name,R(e.readBytes(this.size)))}}class ct extends pe{constructor(e){super(\"null\",\"\",e,!1)}defaultValue(){return null}encode(e,t){return null!=t&&this._throwError(\"not null\",t),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}}const lt=J.from(-1),ut=J.from(0),dt=J.from(1),ht=J.from(2),ft=J.from(\"1000000000000000000\"),pt=J.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"),mt=J.from(\"-0x8000000000000000000000000000000000000000000000000000000000000000\"),gt=J.from(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");class yt extends pe{constructor(e,t,r){const n=(t?\"int\":\"uint\")+8*e;super(n,n,r,!1),this.size=e,this.signed=t}defaultValue(){return 0}encode(e,t){let r=J.from(t),n=pt.mask(8*e.wordSize);if(this.signed){let e=n.mask(8*this.size-1);(r.gt(e)||r.lt(e.add(dt).mul(lt)))&&this._throwError(\"value out-of-bounds\",t)}else(r.lt(ut)||r.gt(n.mask(8*this.size)))&&this._throwError(\"value out-of-bounds\",t);return r=r.toTwos(8*this.size).mask(8*this.size),this.signed&&(r=r.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(r)}decode(e){let t=e.readValue().mask(8*this.size);return this.signed&&(t=t.fromTwos(8*this.size)),e.coerce(this.name,t)}}class bt extends it{constructor(e){super(\"string\",e)}defaultValue(){return\"\"}encode(e,t){return super.encode(e,qe(t))}decode(e){return $e(super.decode(e))}}class vt extends pe{constructor(e,t){let r=!1;const n=[];e.forEach(e=>{e.dynamic&&(r=!0),n.push(e.type)});super(\"tuple\",\"tuple(\"+n.join(\",\")+\")\",t,r),this.coders=e}defaultValue(){const e=[];this.coders.forEach(t=>{e.push(t.defaultValue())});const t=this.coders.reduce((e,t)=>{const r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e},{});return this.coders.forEach((r,n)=>{let s=r.localName;s&&1===t[s]&&(\"length\"===s&&(s=\"_length\"),null==e[s]&&(e[s]=e[n]))}),Object.freeze(e)}encode(e,t){return tt(e,this.coders,t)}decode(e){return e.coerce(this.name,rt(e,this.coders))}}const wt=new b(de),At={};let Et={calldata:!0,memory:!0,storage:!0},xt={calldata:!0,memory:!0};function Tt(e,t){if(\"bytes\"===e||\"string\"===e){if(Et[t])return!0}else if(\"address\"===e){if(\"payable\"===t)return!0}else if((e.indexOf(\"[\")>=0||\"tuple\"===e)&&xt[t])return!0;return(Et[t]||\"payable\"===t)&&wt.throwArgumentError(\"invalid modifier\",\"name\",t),!1}function kt(e,t){for(let r in t)te(e,r,t[r])}const St=Object.freeze({sighash:\"sighash\",minimal:\"minimal\",full:\"full\",json:\"json\"}),Ct=new RegExp(/^(.*)\\[([0-9]*)\\]$/);class It{constructor(e,t){e!==At&&wt.throwError(\"use fromString\",b.errors.UNSUPPORTED_OPERATION,{operation:\"new ParamType()\"}),kt(this,t);let r=this.type.match(Ct);kt(this,r?{arrayLength:parseInt(r[2]||\"-1\"),arrayChildren:It.fromObject({type:r[1],components:this.components}),baseType:\"array\"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?\"tuple\":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=St.sighash),St[e]||wt.throwArgumentError(\"invalid format type\",\"format\",e),e===St.json){let t={type:\"tuple\"===this.baseType?\"tuple\":this.type,name:this.name||void 0};return\"boolean\"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map(t=>JSON.parse(t.format(e)))),JSON.stringify(t)}let t=\"\";return\"array\"===this.baseType?(t+=this.arrayChildren.format(e),t+=\"[\"+(this.arrayLength<0?\"\":String(this.arrayLength))+\"]\"):\"tuple\"===this.baseType?(e!==St.sighash&&(t+=this.type),t+=\"(\"+this.components.map(t=>t.format(e)).join(e===St.full?\", \":\",\")+\")\"):t+=this.type,e!==St.sighash&&(!0===this.indexed&&(t+=\" indexed\"),e===St.full&&this.name&&(t+=\" \"+this.name)),t}static from(e,t){return\"string\"==typeof e?It.fromString(e,t):It.fromObject(e)}static fromObject(e){return It.isParamType(e)?e:new It(At,{name:e.name||null,type:Ut(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(It.fromObject):null})}static fromString(e,t){return r=function(e,t){let r=e;function n(t){wt.throwArgumentError(`unexpected character at position ${t}`,\"param\",e)}function s(e){let r={type:\"\",name:\"\",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\\s/g,\" \");let i={type:\"\",name:\"\",state:{allowType:!0}},o=i;for(let r=0;r<e.length;r++){let i=e[r];switch(i){case\"(\":o.state.allowType&&\"\"===o.type?o.type=\"tuple\":o.state.allowParams||n(r),o.state.allowType=!1,o.type=Ut(o.type),o.components=[s(o)],o=o.components[0];break;case\")\":delete o.state,\"indexed\"===o.name&&(t||n(r),o.indexed=!0,o.name=\"\"),Tt(o.type,o.name)&&(o.name=\"\"),o.type=Ut(o.type);let e=o;o=o.parent,o||n(r),delete e.parent,o.state.allowParams=!1,o.state.allowName=!0,o.state.allowArray=!0;break;case\",\":delete o.state,\"indexed\"===o.name&&(t||n(r),o.indexed=!0,o.name=\"\"),Tt(o.type,o.name)&&(o.name=\"\"),o.type=Ut(o.type);let a=s(o.parent);o.parent.components.push(a),delete o.parent,o=a;break;case\" \":o.state.allowType&&\"\"!==o.type&&(o.type=Ut(o.type),delete o.state.allowType,o.state.allowName=!0,o.state.allowParams=!0),o.state.allowName&&\"\"!==o.name&&(\"indexed\"===o.name?(t||n(r),o.indexed&&n(r),o.indexed=!0,o.name=\"\"):Tt(o.type,o.name)?o.name=\"\":o.state.allowName=!1);break;case\"[\":o.state.allowArray||n(r),o.type+=i,o.state.allowArray=!1,o.state.allowName=!1,o.state.readArray=!0;break;case\"]\":o.state.readArray||n(r),o.type+=i,o.state.readArray=!1,o.state.allowArray=!0,o.state.allowName=!0;break;default:o.state.allowType?(o.type+=i,o.state.allowParams=!0,o.state.allowArray=!0):o.state.allowName?(o.name+=i,delete o.state.allowArray):o.state.readArray?o.type+=i:n(r)}}return o.parent&&wt.throwArgumentError(\"unexpected eof\",\"param\",e),delete i.state,\"indexed\"===o.name?(t||n(r.length-7),o.indexed&&n(r.length-7),o.indexed=!0,o.name=\"\"):Tt(o.type,o.name)&&(o.name=\"\"),i.type=Ut(i.type),i}(e,!!t),It.fromObject({name:r.name,type:r.type,indexed:r.indexed,components:r.components});var r}static isParamType(e){return!(null==e||!e._isParamType)}}function Pt(e,t){return function(e){e=e.trim();let t=[],r=\"\",n=0;for(let s=0;s<e.length;s++){let i=e[s];\",\"===i&&0===n?(t.push(r),r=\"\"):(r+=i,\"(\"===i?n++:\")\"===i&&(n--,-1===n&&wt.throwArgumentError(\"unbalanced parenthesis\",\"value\",e)))}r&&t.push(r);return t}(e).map(e=>It.fromString(e,t))}class Mt{constructor(e,t){e!==At&&wt.throwError(\"use a static from method\",b.errors.UNSUPPORTED_OPERATION,{operation:\"new Fragment()\"}),kt(this,t),this._isFragment=!0,Object.freeze(this)}static from(e){return Mt.isFragment(e)?e:\"string\"==typeof e?Mt.fromString(e):Mt.fromObject(e)}static fromObject(e){if(Mt.isFragment(e))return e;switch(e.type){case\"function\":return Lt.fromObject(e);case\"event\":return Rt.fromObject(e);case\"constructor\":return _t.fromObject(e);case\"error\":return Ft.fromObject(e);case\"fallback\":case\"receive\":return null}return wt.throwArgumentError(\"invalid fragment object\",\"value\",e)}static fromString(e){return\"event\"===(e=(e=(e=e.replace(/\\s/g,\" \")).replace(/\\(/g,\" (\").replace(/\\)/g,\") \").replace(/\\s+/g,\" \")).trim()).split(\" \")[0]?Rt.fromString(e.substring(5).trim()):\"function\"===e.split(\" \")[0]?Lt.fromString(e.substring(8).trim()):\"constructor\"===e.split(\"(\")[0].trim()?_t.fromString(e.trim()):\"error\"===e.split(\" \")[0]?Ft.fromString(e.substring(5).trim()):wt.throwArgumentError(\"unsupported fragment\",\"value\",e)}static isFragment(e){return!(!e||!e._isFragment)}}class Rt extends Mt{format(e){if(e||(e=St.sighash),St[e]||wt.throwArgumentError(\"invalid format type\",\"format\",e),e===St.json)return JSON.stringify({type:\"event\",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t=\"\";return e!==St.sighash&&(t+=\"event \"),t+=this.name+\"(\"+this.inputs.map(t=>t.format(e)).join(e===St.full?\", \":\",\")+\") \",e!==St.sighash&&this.anonymous&&(t+=\"anonymous \"),t.trim()}static from(e){return\"string\"==typeof e?Rt.fromString(e):Rt.fromObject(e)}static fromObject(e){if(Rt.isEventFragment(e))return e;\"event\"!==e.type&&wt.throwArgumentError(\"invalid event object\",\"value\",e);const t={name:Ht(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(It.fromObject):[],type:\"event\"};return new Rt(At,t)}static fromString(e){let t=e.match(zt);t||wt.throwArgumentError(\"invalid event string\",\"value\",e);let r=!1;return t[3].split(\" \").forEach(e=>{switch(e.trim()){case\"anonymous\":r=!0;break;case\"\":break;default:wt.warn(\"unknown modifier: \"+e)}}),Rt.fromObject({name:t[1].trim(),anonymous:r,inputs:Pt(t[2],!0),type:\"event\"})}static isEventFragment(e){return e&&e._isFragment&&\"event\"===e.type}}function Bt(e,t){t.gas=null;let r=e.split(\"@\");return 1!==r.length?(r.length>2&&wt.throwArgumentError(\"invalid human-readable ABI signature\",\"value\",e),r[1].match(/^[0-9]+$/)||wt.throwArgumentError(\"invalid human-readable ABI signature gas\",\"value\",e),t.gas=J.from(r[1]),r[0]):e}function Nt(e,t){t.constant=!1,t.payable=!1,t.stateMutability=\"nonpayable\",e.split(\" \").forEach(e=>{switch(e.trim()){case\"constant\":t.constant=!0;break;case\"payable\":t.payable=!0,t.stateMutability=\"payable\";break;case\"nonpayable\":t.payable=!1,t.stateMutability=\"nonpayable\";break;case\"pure\":t.constant=!0,t.stateMutability=\"pure\";break;case\"view\":t.constant=!0,t.stateMutability=\"view\";break;case\"external\":case\"public\":case\"\":break;default:console.log(\"unknown modifier: \"+e)}})}function Ot(e){let t={constant:!1,payable:!0,stateMutability:\"payable\"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant=\"view\"===t.stateMutability||\"pure\"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&wt.throwArgumentError(\"cannot have constant function with mutability \"+t.stateMutability,\"value\",e),t.payable=\"payable\"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&wt.throwArgumentError(\"cannot have payable function with mutability \"+t.stateMutability,\"value\",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||\"constructor\"===e.type||wt.throwArgumentError(\"unable to determine stateMutability\",\"value\",e),t.constant=!!e.constant,t.constant?t.stateMutability=\"view\":t.stateMutability=t.payable?\"payable\":\"nonpayable\",t.payable&&t.constant&&wt.throwArgumentError(\"cannot have constant payable function\",\"value\",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?\"view\":\"payable\"):\"constructor\"!==e.type&&wt.throwArgumentError(\"unable to determine stateMutability\",\"value\",e),t}class _t extends Mt{format(e){if(e||(e=St.sighash),St[e]||wt.throwArgumentError(\"invalid format type\",\"format\",e),e===St.json)return JSON.stringify({type:\"constructor\",stateMutability:\"nonpayable\"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});e===St.sighash&&wt.throwError(\"cannot format a constructor for sighash\",b.errors.UNSUPPORTED_OPERATION,{operation:\"format(sighash)\"});let t=\"constructor(\"+this.inputs.map(t=>t.format(e)).join(e===St.full?\", \":\",\")+\") \";return this.stateMutability&&\"nonpayable\"!==this.stateMutability&&(t+=this.stateMutability+\" \"),t.trim()}static from(e){return\"string\"==typeof e?_t.fromString(e):_t.fromObject(e)}static fromObject(e){if(_t.isConstructorFragment(e))return e;\"constructor\"!==e.type&&wt.throwArgumentError(\"invalid constructor object\",\"value\",e);let t=Ot(e);t.constant&&wt.throwArgumentError(\"constructor cannot be constant\",\"value\",e);const r={name:null,type:e.type,inputs:e.inputs?e.inputs.map(It.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?J.from(e.gas):null};return new _t(At,r)}static fromString(e){let t={type:\"constructor\"},r=(e=Bt(e,t)).match(zt);return r&&\"constructor\"===r[1].trim()||wt.throwArgumentError(\"invalid constructor string\",\"value\",e),t.inputs=Pt(r[2].trim(),!1),Nt(r[3].trim(),t),_t.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&\"constructor\"===e.type}}class Lt extends _t{format(e){if(e||(e=St.sighash),St[e]||wt.throwArgumentError(\"invalid format type\",\"format\",e),e===St.json)return JSON.stringify({type:\"function\",name:this.name,constant:this.constant,stateMutability:\"nonpayable\"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e))),outputs:this.outputs.map(t=>JSON.parse(t.format(e)))});let t=\"\";return e!==St.sighash&&(t+=\"function \"),t+=this.name+\"(\"+this.inputs.map(t=>t.format(e)).join(e===St.full?\", \":\",\")+\") \",e!==St.sighash&&(this.stateMutability?\"nonpayable\"!==this.stateMutability&&(t+=this.stateMutability+\" \"):this.constant&&(t+=\"view \"),this.outputs&&this.outputs.length&&(t+=\"returns (\"+this.outputs.map(t=>t.format(e)).join(\", \")+\") \"),null!=this.gas&&(t+=\"@\"+this.gas.toString()+\" \")),t.trim()}static from(e){return\"string\"==typeof e?Lt.fromString(e):Lt.fromObject(e)}static fromObject(e){if(Lt.isFunctionFragment(e))return e;\"function\"!==e.type&&wt.throwArgumentError(\"invalid function object\",\"value\",e);let t=Ot(e);const r={type:e.type,name:Ht(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(It.fromObject):[],outputs:e.outputs?e.outputs.map(It.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?J.from(e.gas):null};return new Lt(At,r)}static fromString(e){let t={type:\"function\"},r=(e=Bt(e,t)).split(\" returns \");r.length>2&&wt.throwArgumentError(\"invalid function string\",\"value\",e);let n=r[0].match(zt);if(n||wt.throwArgumentError(\"invalid function signature\",\"value\",e),t.name=n[1].trim(),t.name&&Ht(t.name),t.inputs=Pt(n[2],!1),Nt(n[3].trim(),t),r.length>1){let n=r[1].match(zt);\"\"==n[1].trim()&&\"\"==n[3].trim()||wt.throwArgumentError(\"unexpected tokens\",\"value\",e),t.outputs=Pt(n[2],!1)}else t.outputs=[];return Lt.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&\"function\"===e.type}}function Dt(e){const t=e.format();return\"Error(string)\"!==t&&\"Panic(uint256)\"!==t||wt.throwArgumentError(`cannot specify user defined ${t} error`,\"fragment\",e),e}class Ft extends Mt{format(e){if(e||(e=St.sighash),St[e]||wt.throwArgumentError(\"invalid format type\",\"format\",e),e===St.json)return JSON.stringify({type:\"error\",name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t=\"\";return e!==St.sighash&&(t+=\"error \"),t+=this.name+\"(\"+this.inputs.map(t=>t.format(e)).join(e===St.full?\", \":\",\")+\") \",t.trim()}static from(e){return\"string\"==typeof e?Ft.fromString(e):Ft.fromObject(e)}static fromObject(e){if(Ft.isErrorFragment(e))return e;\"error\"!==e.type&&wt.throwArgumentError(\"invalid error object\",\"value\",e);const t={type:e.type,name:Ht(e.name),inputs:e.inputs?e.inputs.map(It.fromObject):[]};return Dt(new Ft(At,t))}static fromString(e){let t={type:\"error\"},r=e.match(zt);return r||wt.throwArgumentError(\"invalid error signature\",\"value\",e),t.name=r[1].trim(),t.name&&Ht(t.name),t.inputs=Pt(r[2],!1),Dt(Ft.fromObject(t))}static isErrorFragment(e){return e&&e._isFragment&&\"error\"===e.type}}function Ut(e){return e.match(/^uint($|[^1-9])/)?e=\"uint256\"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e=\"int256\"+e.substring(3)),e}const jt=new RegExp(\"^[a-zA-Z$_][a-zA-Z0-9$_]*$\");function Ht(e){return e&&e.match(jt)||wt.throwArgumentError(`invalid identifier \"${e}\"`,\"value\",e),e}const zt=new RegExp(\"^([^)(]*)\\\\((.*)\\\\)([^)(]*)$\");const Gt=new b(de),Vt=new RegExp(/^bytes([0-9]*)$/),qt=new RegExp(/^(u?int)([0-9]*)$/);class Kt{constructor(e){te(this,\"coerceFunc\",e||null)}_getCoder(e){switch(e.baseType){case\"address\":return new Xe(e.name);case\"bool\":return new st(e.name);case\"string\":return new bt(e.name);case\"bytes\":return new ot(e.name);case\"array\":return new nt(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case\"tuple\":return new vt((e.components||[]).map(e=>this._getCoder(e)),e.name);case\"\":return new ct(e.name)}let t=e.type.match(qt);if(t){let r=parseInt(t[2]||\"256\");return(0===r||r>256||r%8!=0)&&Gt.throwArgumentError(\"invalid \"+t[1]+\" bit length\",\"param\",e),new yt(r/8,\"int\"===t[1],e.name)}if(t=e.type.match(Vt),t){let r=parseInt(t[1]);return(0===r||r>32)&&Gt.throwArgumentError(\"invalid bytes length\",\"param\",e),new at(r,e.name)}return Gt.throwArgumentError(\"invalid type\",\"type\",e.type)}_getWordSize(){return 32}_getReader(e,t){return new ge(e,this._getWordSize(),this.coerceFunc,t)}_getWriter(){return new me(this._getWordSize())}getDefaultValue(e){const t=e.map(e=>this._getCoder(It.from(e)));return new vt(t,\"_\").defaultValue()}encode(e,t){e.length!==t.length&&Gt.throwError(\"types/values length mismatch\",b.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});const r=e.map(e=>this._getCoder(It.from(e))),n=new vt(r,\"_\"),s=this._getWriter();return n.encode(s,t),s.data}decode(e,t,r){const n=e.map(e=>this._getCoder(It.from(e)));return new vt(n,\"_\").decode(this._getReader(k(t),r))}}const Wt=new Kt,Jt=new b(de);class $t extends ue{}class Zt extends ue{}class Yt extends ue{}class Xt extends ue{static isIndexed(e){return!(!e||!e._isIndexed)}}const Qt={\"0x08c379a0\":{signature:\"Error(string)\",name:\"Error\",inputs:[\"string\"],reason:!0},\"0x4e487b71\":{signature:\"Panic(uint256)\",name:\"Panic\",inputs:[\"uint256\"]}};function er(e,t){const r=new Error(`deferred error during ABI decoding triggered accessing ${e}`);return r.error=t,r}class tr{constructor(e){let t=[];t=\"string\"==typeof e?JSON.parse(e):e,te(this,\"fragments\",t.map(e=>Mt.from(e)).filter(e=>null!=e)),te(this,\"_abiCoder\",re(new.target,\"getAbiCoder\")()),te(this,\"functions\",{}),te(this,\"errors\",{}),te(this,\"events\",{}),te(this,\"structs\",{}),this.fragments.forEach(e=>{let t=null;switch(e.type){case\"constructor\":return this.deploy?void Jt.warn(\"duplicate definition - constructor\"):void te(this,\"deploy\",e);case\"function\":t=this.functions;break;case\"event\":t=this.events;break;case\"error\":t=this.errors;break;default:return}let r=e.format();t[r]?Jt.warn(\"duplicate definition - \"+r):t[r]=e}),this.deploy||te(this,\"deploy\",_t.from({payable:!1,type:\"constructor\"})),te(this,\"_isInterface\",!0)}format(e){e||(e=St.full),e===St.sighash&&Jt.throwArgumentError(\"interface does not support formatting sighash\",\"format\",e);const t=this.fragments.map(t=>t.format(e));return e===St.json?JSON.stringify(t.map(e=>JSON.parse(e))):t}static getAbiCoder(){return Wt}static getAddress(e){return Oe(e)}static getSighash(e){return N(Ye(e.format()),0,4)}static getEventTopic(e){return Ye(e.format())}getFunction(e){if(P(e)){for(const t in this.functions)if(e===this.getSighash(t))return this.functions[t];Jt.throwArgumentError(\"no matching function\",\"sighash\",e)}if(-1===e.indexOf(\"(\")){const t=e.trim(),r=Object.keys(this.functions).filter(e=>e.split(\"(\")[0]===t);return 0===r.length?Jt.throwArgumentError(\"no matching function\",\"name\",t):r.length>1&&Jt.throwArgumentError(\"multiple matching functions\",\"name\",t),this.functions[r[0]]}const t=this.functions[Lt.fromString(e).format()];return t||Jt.throwArgumentError(\"no matching function\",\"signature\",e),t}getEvent(e){if(P(e)){const t=e.toLowerCase();for(const e in this.events)if(t===this.getEventTopic(e))return this.events[e];Jt.throwArgumentError(\"no matching event\",\"topichash\",t)}if(-1===e.indexOf(\"(\")){const t=e.trim(),r=Object.keys(this.events).filter(e=>e.split(\"(\")[0]===t);return 0===r.length?Jt.throwArgumentError(\"no matching event\",\"name\",t):r.length>1&&Jt.throwArgumentError(\"multiple matching events\",\"name\",t),this.events[r[0]]}const t=this.events[Rt.fromString(e).format()];return t||Jt.throwArgumentError(\"no matching event\",\"signature\",e),t}getError(e){if(P(e)){const t=re(this.constructor,\"getSighash\");for(const r in this.errors){if(e===t(this.errors[r]))return this.errors[r]}Jt.throwArgumentError(\"no matching error\",\"sighash\",e)}if(-1===e.indexOf(\"(\")){const t=e.trim(),r=Object.keys(this.errors).filter(e=>e.split(\"(\")[0]===t);return 0===r.length?Jt.throwArgumentError(\"no matching error\",\"name\",t):r.length>1&&Jt.throwArgumentError(\"multiple matching errors\",\"name\",t),this.errors[r[0]]}const t=this.errors[Lt.fromString(e).format()];return t||Jt.throwArgumentError(\"no matching error\",\"signature\",e),t}getSighash(e){if(\"string\"==typeof e)try{e=this.getFunction(e)}catch(t){try{e=this.getError(e)}catch(e){throw t}}return re(this.constructor,\"getSighash\")(e)}getEventTopic(e){return\"string\"==typeof e&&(e=this.getEvent(e)),re(this.constructor,\"getEventTopic\")(e)}_decodeParams(e,t){return this._abiCoder.decode(e,t)}_encodeParams(e,t){return this._abiCoder.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){\"string\"==typeof e&&(e=this.getError(e));const r=k(t);return R(r.slice(0,4))!==this.getSighash(e)&&Jt.throwArgumentError(`data signature does not match error ${e.name}.`,\"data\",R(r)),this._decodeParams(e.inputs,r.slice(4))}encodeErrorResult(e,t){return\"string\"==typeof e&&(e=this.getError(e)),R(S([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionData(e,t){\"string\"==typeof e&&(e=this.getFunction(e));const r=k(t);return R(r.slice(0,4))!==this.getSighash(e)&&Jt.throwArgumentError(`data signature does not match function ${e.name}.`,\"data\",R(r)),this._decodeParams(e.inputs,r.slice(4))}encodeFunctionData(e,t){return\"string\"==typeof e&&(e=this.getFunction(e)),R(S([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionResult(e,t){\"string\"==typeof e&&(e=this.getFunction(e));let r=k(t),n=null,s=\"\",i=null,o=null,a=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:{const e=R(r.slice(0,4)),t=Qt[e];if(t)i=this._abiCoder.decode(t.inputs,r.slice(4)),o=t.name,a=t.signature,t.reason&&(n=i[0]),\"Error\"===o?s=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(i[0])}`:\"Panic\"===o&&(s=`; VM Exception while processing transaction: reverted with panic code ${i[0]}`);else try{const t=this.getError(e);i=this._abiCoder.decode(t.inputs,r.slice(4)),o=t.name,a=t.format()}catch(e){}break}}return Jt.throwError(\"call revert exception\"+s,b.errors.CALL_EXCEPTION,{method:e.format(),data:R(t),errorArgs:i,errorName:o,errorSignature:a,reason:n})}encodeFunctionResult(e,t){return\"string\"==typeof e&&(e=this.getFunction(e)),R(this._abiCoder.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){\"string\"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&Jt.throwError(\"too many arguments for \"+e.format(),b.errors.UNEXPECTED_ARGUMENT,{argument:\"values\",value:t});let r=[];e.anonymous||r.push(this.getEventTopic(e));const n=(e,t)=>\"string\"===e.type?Ye(t):\"bytes\"===e.type?ve(R(t)):(\"bool\"===e.type&&\"boolean\"==typeof t&&(t=t?\"0x01\":\"0x00\"),e.type.match(/^u?int/)&&(t=J.from(t).toHexString()),\"address\"===e.type&&this._abiCoder.encode([\"address\"],[t]),D(R(t),32));for(t.forEach((t,s)=>{let i=e.inputs[s];i.indexed?null==t?r.push(null):\"array\"===i.baseType||\"tuple\"===i.baseType?Jt.throwArgumentError(\"filtering with tuples or arrays not supported\",\"contract.\"+i.name,t):Array.isArray(t)?r.push(t.map(e=>n(i,e))):r.push(n(i,t)):null!=t&&Jt.throwArgumentError(\"cannot filter non-indexed parameters; must be null\",\"contract.\"+i.name,t)});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(e,t){\"string\"==typeof e&&(e=this.getEvent(e));const r=[],n=[],s=[];return e.anonymous||r.push(this.getEventTopic(e)),t.length!==e.inputs.length&&Jt.throwArgumentError(\"event arguments/values mismatch\",\"values\",t),e.inputs.forEach((e,i)=>{const o=t[i];if(e.indexed)if(\"string\"===e.type)r.push(Ye(o));else if(\"bytes\"===e.type)r.push(ve(o));else{if(\"tuple\"===e.baseType||\"array\"===e.baseType)throw new Error(\"not implemented\");r.push(this._abiCoder.encode([e.type],[o]))}else n.push(e),s.push(o)}),{data:this._abiCoder.encode(n,s),topics:r}}decodeEventLog(e,t,r){if(\"string\"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){let t=this.getEventTopic(e);P(r[0],32)&&r[0].toLowerCase()===t||Jt.throwError(\"fragment/topic mismatch\",b.errors.INVALID_ARGUMENT,{argument:\"topics[0]\",expected:t,value:r[0]}),r=r.slice(1)}let n=[],s=[],i=[];e.inputs.forEach((e,t)=>{e.indexed?\"string\"===e.type||\"bytes\"===e.type||\"tuple\"===e.baseType||\"array\"===e.baseType?(n.push(It.fromObject({type:\"bytes32\",name:e.name})),i.push(!0)):(n.push(e),i.push(!1)):(s.push(e),i.push(!1))});let o=null!=r?this._abiCoder.decode(n,S(r)):null,a=this._abiCoder.decode(s,t,!0),c=[],l=0,u=0;e.inputs.forEach((e,t)=>{if(e.indexed)if(null==o)c[t]=new Xt({_isIndexed:!0,hash:null});else if(i[t])c[t]=new Xt({_isIndexed:!0,hash:o[u++]});else try{c[t]=o[u++]}catch(e){c[t]=e}else try{c[t]=a[l++]}catch(e){c[t]=e}if(e.name&&null==c[e.name]){const r=c[t];r instanceof Error?Object.defineProperty(c,e.name,{enumerable:!0,get:()=>{throw er(`property ${JSON.stringify(e.name)}`,r)}}):c[e.name]=r}});for(let e=0;e<c.length;e++){const t=c[e];t instanceof Error&&Object.defineProperty(c,e,{enumerable:!0,get:()=>{throw er(`index ${e}`,t)}})}return Object.freeze(c)}parseTransaction(e){let t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new Zt({args:this._abiCoder.decode(t.inputs,\"0x\"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:J.from(e.value||\"0\")}):null}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new $t({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),args:this.decodeEventLog(t,e.data,e.topics)})}parseError(e){const t=R(e);let r=this.getError(t.substring(0,10).toLowerCase());return r?new Yt({args:this._abiCoder.decode(r.inputs,\"0x\"+t.substring(10)),errorFragment:r,name:r.name,signature:r.format(),sighash:this.getSighash(r)}):null}static isInterface(e){return!(!e||!e._isInterface)}}var rr=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const nr=new b(\"abstract-provider/5.8.0\");class sr extends ue{static isForkEvent(e){return!(!e||!e._isForkEvent)}}class ir{constructor(){nr.checkAbstract(new.target,ir),te(this,\"_isProvider\",!0)}getFeeData(){return rr(this,void 0,void 0,function*(){const{block:e,gasPrice:t}=yield ne({block:this.getBlock(\"latest\"),gasPrice:this.getGasPrice().catch(e=>null)});let r=null,n=null,s=null;return e&&e.baseFeePerGas&&(r=e.baseFeePerGas,s=J.from(\"1500000000\"),n=e.baseFeePerGas.mul(2).add(s)),{lastBaseFeePerGas:r,maxFeePerGas:n,maxPriorityFeePerGas:s,gasPrice:t}})}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}static isProvider(e){return!(!e||!e._isProvider)}}var or=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const ar=new b(\"abstract-signer/5.8.0\"),cr=[\"accessList\",\"ccipReadEnabled\",\"chainId\",\"customData\",\"data\",\"from\",\"gasLimit\",\"gasPrice\",\"maxFeePerGas\",\"maxPriorityFeePerGas\",\"nonce\",\"to\",\"type\",\"value\"],lr=[b.errors.INSUFFICIENT_FUNDS,b.errors.NONCE_EXPIRED,b.errors.REPLACEMENT_UNDERPRICED];class ur{constructor(){ar.checkAbstract(new.target,ur),te(this,\"_isSigner\",!0)}getBalance(e){return or(this,void 0,void 0,function*(){return this._checkProvider(\"getBalance\"),yield this.provider.getBalance(this.getAddress(),e)})}getTransactionCount(e){return or(this,void 0,void 0,function*(){return this._checkProvider(\"getTransactionCount\"),yield this.provider.getTransactionCount(this.getAddress(),e)})}estimateGas(e){return or(this,void 0,void 0,function*(){this._checkProvider(\"estimateGas\");const t=yield ne(this.checkTransaction(e));return yield this.provider.estimateGas(t)})}call(e,t){return or(this,void 0,void 0,function*(){this._checkProvider(\"call\");const r=yield ne(this.checkTransaction(e));return yield this.provider.call(r,t)})}sendTransaction(e){return or(this,void 0,void 0,function*(){this._checkProvider(\"sendTransaction\");const t=yield this.populateTransaction(e),r=yield this.signTransaction(t);return yield this.provider.sendTransaction(r)})}getChainId(){return or(this,void 0,void 0,function*(){this._checkProvider(\"getChainId\");return(yield this.provider.getNetwork()).chainId})}getGasPrice(){return or(this,void 0,void 0,function*(){return this._checkProvider(\"getGasPrice\"),yield this.provider.getGasPrice()})}getFeeData(){return or(this,void 0,void 0,function*(){return this._checkProvider(\"getFeeData\"),yield this.provider.getFeeData()})}resolveName(e){return or(this,void 0,void 0,function*(){return this._checkProvider(\"resolveName\"),yield this.provider.resolveName(e)})}checkTransaction(e){for(const t in e)-1===cr.indexOf(t)&&ar.throwArgumentError(\"invalid transaction key: \"+t,\"transaction\",e);const t=ie(e);return null==t.from?t.from=this.getAddress():t.from=Promise.all([Promise.resolve(t.from),this.getAddress()]).then(t=>(t[0].toLowerCase()!==t[1].toLowerCase()&&ar.throwArgumentError(\"from address mismatch\",\"transaction\",e),t[0])),t}populateTransaction(e){return or(this,void 0,void 0,function*(){const t=yield ne(this.checkTransaction(e));null!=t.to&&(t.to=Promise.resolve(t.to).then(e=>or(this,void 0,void 0,function*(){if(null==e)return null;const t=yield this.resolveName(e);return null==t&&ar.throwArgumentError(\"provided ENS name resolves to null\",\"tx.to\",e),t})),t.to.catch(e=>{}));const r=null!=t.maxFeePerGas||null!=t.maxPriorityFeePerGas;if(null==t.gasPrice||2!==t.type&&!r?0!==t.type&&1!==t.type||!r||ar.throwArgumentError(\"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas\",\"transaction\",e):ar.throwArgumentError(\"eip-1559 transaction do not support gasPrice\",\"transaction\",e),2!==t.type&&null!=t.type||null==t.maxFeePerGas||null==t.maxPriorityFeePerGas)if(0===t.type||1===t.type)null==t.gasPrice&&(t.gasPrice=this.getGasPrice());else{const e=yield this.getFeeData();if(null==t.type)if(null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas)if(t.type=2,null!=t.gasPrice){const e=t.gasPrice;delete t.gasPrice,t.maxFeePerGas=e,t.maxPriorityFeePerGas=e}else null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas);else null!=e.gasPrice?(r&&ar.throwError(\"network does not support EIP-1559\",b.errors.UNSUPPORTED_OPERATION,{operation:\"populateTransaction\"}),null==t.gasPrice&&(t.gasPrice=e.gasPrice),t.type=0):ar.throwError(\"failed to get consistent fee data\",b.errors.UNSUPPORTED_OPERATION,{operation:\"signer.getFeeData\"});else 2===t.type&&(null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas))}else t.type=2;return null==t.nonce&&(t.nonce=this.getTransactionCount(\"pending\")),null==t.gasLimit&&(t.gasLimit=this.estimateGas(t).catch(e=>{if(lr.indexOf(e.code)>=0)throw e;return ar.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\",b.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,tx:t})})),null==t.chainId?t.chainId=this.getChainId():t.chainId=Promise.all([Promise.resolve(t.chainId),this.getChainId()]).then(t=>(0!==t[1]&&t[0]!==t[1]&&ar.throwArgumentError(\"chainId address mismatch\",\"transaction\",e),t[0])),yield ne(t)})}_checkProvider(e){this.provider||ar.throwError(\"missing provider\",b.errors.UNSUPPORTED_OPERATION,{operation:e||\"_checkProvider\"})}static isSigner(e){return!(!e||!e._isSigner)}}class dr extends ur{constructor(e,t){super(),te(this,\"address\",e),te(this,\"provider\",t||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,t){return Promise.resolve().then(()=>{ar.throwError(e,b.errors.UNSUPPORTED_OPERATION,{operation:t})})}signMessage(e){return this._fail(\"VoidSigner cannot sign messages\",\"signMessage\")}signTransaction(e){return this._fail(\"VoidSigner cannot sign transactions\",\"signTransaction\")}_signTypedData(e,t,r){return this._fail(\"VoidSigner cannot sign typed data\",\"signTypedData\")}connect(e){return new dr(this.address,e)}}var hr=r(9499),fr=r.n(hr);\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self&&self;function pr(e,t,r){return r={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&r.path)}},e(r,r.exports),r.exports}var mr=gr;function gr(e,t){if(!e)throw new Error(t||\"Assertion failed\")}gr.equal=function(e,t,r){if(e!=t)throw new Error(r||\"Assertion failed: \"+e+\" != \"+t)};var yr=pr(function(e,t){var r=t;function n(e){return 1===e.length?\"0\"+e:e}function s(e){for(var t=\"\",r=0;r<e.length;r++)t+=n(e[r].toString(16));return t}r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(\"string\"!=typeof e){for(var n=0;n<e.length;n++)r[n]=0|e[n];return r}if(\"hex\"===t){(e=e.replace(/[^a-z0-9]+/gi,\"\")).length%2!=0&&(e=\"0\"+e);for(n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(n=0;n<e.length;n++){var s=e.charCodeAt(n),i=s>>8,o=255&s;i?r.push(i,o):r.push(o)}return r},r.zero2=n,r.toHex=s,r.encode=function(e,t){return\"hex\"===t?s(e):e}}),br=pr(function(e,t){var r=t;r.assert=mr,r.toArray=yr.toArray,r.zero2=yr.zero2,r.toHex=yr.toHex,r.encode=yr.encode,r.getNAF=function(e,t,r){var n,s=new Array(Math.max(e.bitLength(),r)+1);for(n=0;n<s.length;n+=1)s[n]=0;var i=1<<t+1,o=e.clone();for(n=0;n<s.length;n++){var a,c=o.andln(i-1);o.isOdd()?(a=c>(i>>1)-1?(i>>1)-c:c,o.isubn(a)):a=0,s[n]=a,o.iushrn(1)}return s},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n,s=0,i=0;e.cmpn(-s)>0||t.cmpn(-i)>0;){var o,a,c=e.andln(3)+s&3,l=t.andln(3)+i&3;3===c&&(c=-1),3===l&&(l=-1),o=1&c?3!==(n=e.andln(7)+s&7)&&5!==n||2!==l?c:-c:0,r[0].push(o),a=1&l?3!==(n=t.andln(7)+i&7)&&5!==n||2!==c?l:-l:0,r[1].push(a),2*s===o+1&&(s=1-s),2*i===a+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var n=\"_\"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(e){return\"string\"==typeof e?r.toArray(e,\"hex\"):e},r.intFromLE=function(e){return new(H())(e,\"hex\",\"le\")}}),vr=br.getNAF,wr=br.getJSF,Ar=br.assert;function Er(e,t){this.type=e,this.p=new(H())(t.p,16),this.red=t.prime?H().red(t.prime):H().mont(this.p),this.zero=new(H())(0).toRed(this.red),this.one=new(H())(1).toRed(this.red),this.two=new(H())(2).toRed(this.red),this.n=t.n&&new(H())(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var xr=Er;function Tr(e,t){this.curve=e,this.type=t,this.precomputed=null}Er.prototype.point=function(){throw new Error(\"Not implemented\")},Er.prototype.validate=function(){throw new Error(\"Not implemented\")},Er.prototype._fixedNafMul=function(e,t){Ar(e.precomputed);var r=e._getDoubles(),n=vr(t,1,this._bitLength),s=(1<<r.step+1)-(r.step%2==0?2:1);s/=3;var i,o,a=[];for(i=0;i<n.length;i+=r.step){o=0;for(var c=i+r.step-1;c>=i;c--)o=(o<<1)+n[c];a.push(o)}for(var l=this.jpoint(null,null,null),u=this.jpoint(null,null,null),d=s;d>0;d--){for(i=0;i<a.length;i++)(o=a[i])===d?u=u.mixedAdd(r.points[i]):o===-d&&(u=u.mixedAdd(r.points[i].neg()));l=l.add(u)}return l.toP()},Er.prototype._wnafMul=function(e,t){var r=4,n=e._getNAFPoints(r);r=n.wnd;for(var s=n.points,i=vr(t,r,this._bitLength),o=this.jpoint(null,null,null),a=i.length-1;a>=0;a--){for(var c=0;a>=0&&0===i[a];a--)c++;if(a>=0&&c++,o=o.dblp(c),a<0)break;var l=i[a];Ar(0!==l),o=\"affine\"===e.type?l>0?o.mixedAdd(s[l-1>>1]):o.mixedAdd(s[-l-1>>1].neg()):l>0?o.add(s[l-1>>1]):o.add(s[-l-1>>1].neg())}return\"affine\"===e.type?o.toP():o},Er.prototype._wnafMulAdd=function(e,t,r,n,s){var i,o,a,c=this._wnafT1,l=this._wnafT2,u=this._wnafT3,d=0;for(i=0;i<n;i++){var h=(a=t[i])._getNAFPoints(e);c[i]=h.wnd,l[i]=h.points}for(i=n-1;i>=1;i-=2){var f=i-1,p=i;if(1===c[f]&&1===c[p]){var m=[t[f],null,null,t[p]];0===t[f].y.cmp(t[p].y)?(m[1]=t[f].add(t[p]),m[2]=t[f].toJ().mixedAdd(t[p].neg())):0===t[f].y.cmp(t[p].y.redNeg())?(m[1]=t[f].toJ().mixedAdd(t[p]),m[2]=t[f].add(t[p].neg())):(m[1]=t[f].toJ().mixedAdd(t[p]),m[2]=t[f].toJ().mixedAdd(t[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],y=wr(r[f],r[p]);for(d=Math.max(y[0].length,d),u[f]=new Array(d),u[p]=new Array(d),o=0;o<d;o++){var b=0|y[0][o],v=0|y[1][o];u[f][o]=g[3*(b+1)+(v+1)],u[p][o]=0,l[f]=m}}else u[f]=vr(r[f],c[f],this._bitLength),u[p]=vr(r[p],c[p],this._bitLength),d=Math.max(u[f].length,d),d=Math.max(u[p].length,d)}var w=this.jpoint(null,null,null),A=this._wnafT4;for(i=d;i>=0;i--){for(var E=0;i>=0;){var x=!0;for(o=0;o<n;o++)A[o]=0|u[o][i],0!==A[o]&&(x=!1);if(!x)break;E++,i--}if(i>=0&&E++,w=w.dblp(E),i<0)break;for(o=0;o<n;o++){var T=A[o];0!==T&&(T>0?a=l[o][T-1>>1]:T<0&&(a=l[o][-T-1>>1].neg()),w=\"affine\"===a.type?w.mixedAdd(a):w.add(a))}}for(i=0;i<n;i++)l[i]=null;return s?w:w.toP()},Er.BasePoint=Tr,Tr.prototype.eq=function(){throw new Error(\"Not implemented\")},Tr.prototype.validate=function(){return this.curve.validate(this)},Er.prototype.decodePoint=function(e,t){e=br.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?Ar(e[e.length-1]%2==0):7===e[0]&&Ar(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error(\"Unknown point format\")},Tr.prototype.encodeCompressed=function(e){return this.encode(e,!0)},Tr.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray(\"be\",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray(\"be\",t))},Tr.prototype.encode=function(e,t){return br.encode(this._encode(t),e)},Tr.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},Tr.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},Tr.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,s=0;s<t;s+=e){for(var i=0;i<e;i++)n=n.dbl();r.push(n)}return{step:e,points:r}},Tr.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,n=1===r?null:this.dbl(),s=1;s<r;s++)t[s]=t[s-1].add(n);return{wnd:e,points:t}},Tr.prototype._getBeta=function(){return null},Tr.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t};var kr=pr(function(e){\"function\"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}}),Sr=br.assert;function Cr(e){xr.call(this,\"short\",e),this.a=new(H())(e.a,16).toRed(this.red),this.b=new(H())(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}kr(Cr,xr);var Ir=Cr;function Pr(e,t,r,n){xr.BasePoint.call(this,e,\"affine\"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new(H())(t,16),this.y=new(H())(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function Mr(e,t,r,n){xr.BasePoint.call(this,e,\"jacobian\"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new(H())(0)):(this.x=new(H())(t,16),this.y=new(H())(r,16),this.z=new(H())(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Cr.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new(H())(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new(H())(e.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))?r=s[0]:(r=s[1],Sr(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map(function(e){return{a:new(H())(e.a,16),b:new(H())(e.b,16)}}):this._getEndoBasis(r)}}},Cr.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:H().mont(e),r=new(H())(2).toRed(t).redInvm(),n=r.redNeg(),s=new(H())(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(s).fromRed(),n.redSub(s).fromRed()]},Cr.prototype._getEndoBasis=function(e){for(var t,r,n,s,i,o,a,c,l,u=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,h=this.n.clone(),f=new(H())(1),p=new(H())(0),m=new(H())(0),g=new(H())(1),y=0;0!==d.cmpn(0);){var b=h.div(d);c=h.sub(b.mul(d)),l=m.sub(b.mul(f));var v=g.sub(b.mul(p));if(!n&&c.cmp(u)<0)t=a.neg(),r=f,n=c.neg(),s=l;else if(n&&2===++y)break;a=c,h=d,d=c,m=f,f=l,g=p,p=v}i=c.neg(),o=l;var w=n.sqr().add(s.sqr());return i.sqr().add(o.sqr()).cmp(w)>=0&&(i=t,o=r),n.negative&&(n=n.neg(),s=s.neg()),i.negative&&(i=i.neg(),o=o.neg()),[{a:n,b:s},{a:i,b:o}]},Cr.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],s=n.b.mul(e).divRound(this.n),i=r.b.neg().mul(e).divRound(this.n),o=s.mul(r.a),a=i.mul(n.a),c=s.mul(r.b),l=i.mul(n.b);return{k1:e.sub(o).sub(a),k2:c.add(l).neg()}},Cr.prototype.pointFromX=function(e,t){(e=new(H())(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error(\"invalid point\");var s=n.fromRed().isOdd();return(t&&!s||!t&&s)&&(n=n.redNeg()),this.point(e,n)},Cr.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),s=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(s).cmpn(0)},Cr.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,s=this._endoWnafT2,i=0;i<e.length;i++){var o=this._endoSplit(t[i]),a=e[i],c=a._getBeta();o.k1.negative&&(o.k1.ineg(),a=a.neg(!0)),o.k2.negative&&(o.k2.ineg(),c=c.neg(!0)),n[2*i]=a,n[2*i+1]=c,s[2*i]=o.k1,s[2*i+1]=o.k2}for(var l=this._wnafMulAdd(1,n,s,2*i,r),u=0;u<2*i;u++)n[u]=null,s[u]=null;return l},kr(Pr,xr.BasePoint),Cr.prototype.point=function(e,t,r){return new Pr(this,e,t,r)},Cr.prototype.pointFromJSON=function(e,t){return Pr.fromJSON(this,e,t)},Pr.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,n=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},Pr.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Pr.fromJSON=function(e,t,r){\"string\"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function s(t){return e.point(t[0],t[1],r)}var i=t[2];return n.precomputed={beta:null,doubles:i.doubles&&{step:i.doubles.step,points:[n].concat(i.doubles.points.map(s))},naf:i.naf&&{wnd:i.naf.wnd,points:[n].concat(i.naf.points.map(s))}},n},Pr.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\">\"},Pr.prototype.isInfinity=function(){return this.inf},Pr.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},Pr.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),s=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),i=s.redSqr().redISub(this.x.redAdd(this.x)),o=s.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,o)},Pr.prototype.getX=function(){return this.x.fromRed()},Pr.prototype.getY=function(){return this.y.fromRed()},Pr.prototype.mul=function(e){return e=new(H())(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Pr.prototype.mulAdd=function(e,t,r){var n=[this,t],s=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},Pr.prototype.jmulAdd=function(e,t,r){var n=[this,t],s=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},Pr.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},Pr.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},Pr.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},kr(Mr,xr.BasePoint),Cr.prototype.jpoint=function(e,t,r){return new Mr(this,e,t,r)},Mr.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},Mr.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Mr.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),s=e.x.redMul(r),i=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(r.redMul(this.z)),a=n.redSub(s),c=i.redSub(o);if(0===a.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=a.redSqr(),u=l.redMul(a),d=n.redMul(l),h=c.redSqr().redIAdd(u).redISub(d).redISub(d),f=c.redMul(d.redISub(h)).redISub(i.redMul(u)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(h,f,p)},Mr.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),s=this.y,i=e.y.redMul(t).redMul(this.z),o=r.redSub(n),a=s.redSub(i);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=o.redSqr(),l=c.redMul(o),u=r.redMul(c),d=a.redSqr().redIAdd(l).redISub(u).redISub(u),h=a.redMul(u.redISub(d)).redISub(s.redMul(l)),f=this.z.redMul(o);return this.curve.jpoint(d,h,f)},Mr.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t<e;t++)r=r.dbl();return r}var n=this.curve.a,s=this.curve.tinv,i=this.x,o=this.y,a=this.z,c=a.redSqr().redSqr(),l=o.redAdd(o);for(t=0;t<e;t++){var u=i.redSqr(),d=l.redSqr(),h=d.redSqr(),f=u.redAdd(u).redIAdd(u).redIAdd(n.redMul(c)),p=i.redMul(d),m=f.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),y=f.redMul(g);y=y.redIAdd(y).redISub(h);var b=l.redMul(a);t+1<e&&(c=c.redMul(h)),i=m,a=b,l=y}return this.curve.jpoint(i,l.redMul(s),a)},Mr.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Mr.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),i=s.redSqr(),o=this.x.redAdd(s).redSqr().redISub(n).redISub(i);o=o.redIAdd(o);var a=n.redAdd(n).redIAdd(n),c=a.redSqr().redISub(o).redISub(o),l=i.redIAdd(i);l=(l=l.redIAdd(l)).redIAdd(l),e=c,t=a.redMul(o.redISub(c)).redISub(l),r=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),d=this.y.redSqr(),h=d.redSqr(),f=this.x.redAdd(d).redSqr().redISub(u).redISub(h);f=f.redIAdd(f);var p=u.redAdd(u).redIAdd(u),m=p.redSqr(),g=h.redIAdd(h);g=(g=g.redIAdd(g)).redIAdd(g),e=m.redISub(f).redISub(f),t=p.redMul(f.redISub(e)).redISub(g),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},Mr.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),i=s.redSqr(),o=this.x.redAdd(s).redSqr().redISub(n).redISub(i);o=o.redIAdd(o);var a=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),c=a.redSqr().redISub(o).redISub(o);e=c;var l=i.redIAdd(i);l=(l=l.redIAdd(l)).redIAdd(l),t=a.redMul(o.redISub(c)).redISub(l),r=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),d=this.y.redSqr(),h=this.x.redMul(d),f=this.x.redSub(u).redMul(this.x.redAdd(u));f=f.redAdd(f).redIAdd(f);var p=h.redIAdd(h),m=(p=p.redIAdd(p)).redAdd(p);e=f.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(d).redISub(u);var g=d.redSqr();g=(g=(g=g.redIAdd(g)).redIAdd(g)).redIAdd(g),t=f.redMul(p.redISub(e)).redISub(g)}return this.curve.jpoint(e,t,r)},Mr.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,s=n.redSqr().redSqr(),i=t.redSqr(),o=r.redSqr(),a=i.redAdd(i).redIAdd(i).redIAdd(e.redMul(s)),c=t.redAdd(t),l=(c=c.redIAdd(c)).redMul(o),u=a.redSqr().redISub(l.redAdd(l)),d=l.redISub(u),h=o.redSqr();h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var f=a.redMul(d).redISub(h),p=r.redAdd(r).redMul(n);return this.curve.jpoint(u,f,p)},Mr.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),s=e.redAdd(e).redIAdd(e),i=s.redSqr(),o=this.x.redAdd(t).redSqr().redISub(e).redISub(n),a=(o=(o=(o=o.redIAdd(o)).redAdd(o).redIAdd(o)).redISub(i)).redSqr(),c=n.redIAdd(n);c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var l=s.redIAdd(o).redSqr().redISub(i).redISub(a).redISub(c),u=t.redMul(l);u=(u=u.redIAdd(u)).redIAdd(u);var d=this.x.redMul(a).redISub(u);d=(d=d.redIAdd(d)).redIAdd(d);var h=this.y.redMul(l.redMul(c.redISub(l)).redISub(o.redMul(a)));h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var f=this.z.redAdd(o).redSqr().redISub(r).redISub(a);return this.curve.jpoint(d,h,f)},Mr.prototype.mul=function(e,t){return e=new(H())(e,t),this.curve._wnafMul(this,e)},Mr.prototype.eq=function(e){if(\"affine\"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),s=r.redMul(e.z);return 0===this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)},Mr.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),s=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(s),0===this.x.cmp(r))return!0}},Mr.prototype.inspect=function(){return this.isInfinity()?\"<EC JPoint Infinity>\":\"<EC JPoint x: \"+this.x.toString(16,2)+\" y: \"+this.y.toString(16,2)+\" z: \"+this.z.toString(16,2)+\">\"},Mr.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Rr=pr(function(e,t){var r=t;r.base=xr,r.short=Ir,r.mont=null,r.edwards=null}),Br=pr(function(e,t){var r,n=t,s=br.assert;function i(e){\"short\"===e.type?this.curve=new Rr.short(e):\"edwards\"===e.type?this.curve=new Rr.edwards(e):this.curve=new Rr.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),\"Invalid curve\"),s(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}function o(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new i(t);return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=i,o(\"p192\",{type:\"short\",prime:\"p192\",p:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",b:\"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",n:\"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",hash:fr().sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]}),o(\"p224\",{type:\"short\",prime:\"p224\",p:\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",b:\"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",n:\"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",hash:fr().sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]}),o(\"p256\",{type:\"short\",prime:null,p:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",a:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",b:\"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",n:\"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",hash:fr().sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]}),o(\"p384\",{type:\"short\",prime:null,p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",a:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",b:\"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",n:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",hash:fr().sha384,gRed:!1,g:[\"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"]}),o(\"p521\",{type:\"short\",prime:null,p:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",a:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",b:\"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",n:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",hash:fr().sha512,gRed:!1,g:[\"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"]}),o(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:fr().sha256,gRed:!1,g:[\"9\"]}),o(\"ed25519\",{type:\"edwards\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"-1\",c:\"1\",d:\"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:fr().sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});try{r=null.crash()}catch(e){r=void 0}o(\"secp256k1\",{type:\"short\",prime:\"k256\",p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",a:\"0\",b:\"7\",n:\"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",h:\"1\",hash:fr().sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",r]})});function Nr(e){if(!(this instanceof Nr))return new Nr(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=yr.toArray(e.entropy,e.entropyEnc||\"hex\"),r=yr.toArray(e.nonce,e.nonceEnc||\"hex\"),n=yr.toArray(e.pers,e.persEnc||\"hex\");mr(t.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(t,r,n)}var Or=Nr;Nr.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},Nr.prototype._hmac=function(){return new(fr().hmac)(this.hash,this.K)},Nr.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},Nr.prototype.reseed=function(e,t,r,n){\"string\"!=typeof t&&(n=r,r=t,t=null),e=yr.toArray(e,t),r=yr.toArray(r,n),mr(e.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(e.concat(r||[])),this._reseed=1},Nr.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");\"string\"!=typeof t&&(n=r,r=t,t=null),r&&(r=yr.toArray(r,n||\"hex\"),this._update(r));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var i=s.slice(0,e);return this._update(r),this._reseed++,yr.encode(i,t)};var _r=br.assert;function Lr(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var Dr=Lr;Lr.fromPublic=function(e,t,r){return t instanceof Lr?t:new Lr(e,{pub:t,pubEnc:r})},Lr.fromPrivate=function(e,t,r){return t instanceof Lr?t:new Lr(e,{priv:t,privEnc:r})},Lr.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:\"Invalid public key\"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:\"Public key * N != O\"}:{result:!1,reason:\"Public key is not a point\"}},Lr.prototype.getPublic=function(e,t){return\"string\"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},Lr.prototype.getPrivate=function(e){return\"hex\"===e?this.priv.toString(16,2):this.priv},Lr.prototype._importPrivate=function(e,t){this.priv=new(H())(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},Lr.prototype._importPublic=function(e,t){if(e.x||e.y)return\"mont\"===this.ec.curve.type?_r(e.x,\"Need x coordinate\"):\"short\"!==this.ec.curve.type&&\"edwards\"!==this.ec.curve.type||_r(e.x&&e.y,\"Need both x and y coordinate\"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},Lr.prototype.derive=function(e){return e.validate()||_r(e.validate(),\"public point not validated\"),e.mul(this.priv).getX()},Lr.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},Lr.prototype.verify=function(e,t,r){return this.ec.verify(e,t,this,void 0,r)},Lr.prototype.inspect=function(){return\"<Key priv: \"+(this.priv&&this.priv.toString(16,2))+\" pub: \"+(this.pub&&this.pub.inspect())+\" >\"};var Fr=br.assert;function Ur(e,t){if(e instanceof Ur)return e;this._importDER(e,t)||(Fr(e.r&&e.s,\"Signature without r or s\"),this.r=new(H())(e.r,16),this.s=new(H())(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var jr=Ur;function Hr(){this.place=0}function zr(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;if(0===e[t.place])return!1;for(var s=0,i=0,o=t.place;i<n;i++,o++)s<<=8,s|=e[o],s>>>=0;return!(s<=127)&&(t.place=o,s)}function Gr(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function Vr(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}Ur.prototype._importDER=function(e,t){e=br.toArray(e,t);var r=new Hr;if(48!==e[r.place++])return!1;var n=zr(e,r);if(!1===n)return!1;if(n+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var s=zr(e,r);if(!1===s)return!1;if(128&e[r.place])return!1;var i=e.slice(r.place,s+r.place);if(r.place+=s,2!==e[r.place++])return!1;var o=zr(e,r);if(!1===o)return!1;if(e.length!==o+r.place)return!1;if(128&e[r.place])return!1;var a=e.slice(r.place,o+r.place);if(0===i[0]){if(!(128&i[1]))return!1;i=i.slice(1)}if(0===a[0]){if(!(128&a[1]))return!1;a=a.slice(1)}return this.r=new(H())(i),this.s=new(H())(a),this.recoveryParam=null,!0},Ur.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=Gr(t),r=Gr(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];Vr(n,t.length),(n=n.concat(t)).push(2),Vr(n,r.length);var s=n.concat(r),i=[48];return Vr(i,s.length),i=i.concat(s),br.encode(i,e)};var qr=function(){throw new Error(\"unsupported\")},Kr=br.assert;function Wr(e){if(!(this instanceof Wr))return new Wr(e);\"string\"==typeof e&&(Kr(Object.prototype.hasOwnProperty.call(Br,e),\"Unknown curve \"+e),e=Br[e]),e instanceof Br.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var Jr=Wr;Wr.prototype.keyPair=function(e){return new Dr(this,e)},Wr.prototype.keyFromPrivate=function(e,t){return Dr.fromPrivate(this,e,t)},Wr.prototype.keyFromPublic=function(e,t){return Dr.fromPublic(this,e,t)},Wr.prototype.genKeyPair=function(e){e||(e={});for(var t=new Or({hash:this.hash,pers:e.pers,persEnc:e.persEnc||\"utf8\",entropy:e.entropy||qr(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||\"utf8\",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new(H())(2));;){var s=new(H())(t.generate(r));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},Wr.prototype._truncateToN=function(e,t,r){var n;if(H().isBN(e)||\"number\"==typeof e)n=(e=new(H())(e,16)).byteLength();else if(\"object\"==typeof e)n=e.length,e=new(H())(e,16);else{var s=e.toString();n=s.length+1>>>1,e=new(H())(s,16)}\"number\"!=typeof r&&(r=8*n);var i=r-this.n.bitLength();return i>0&&(e=e.ushrn(i)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},Wr.prototype.sign=function(e,t,r,n){if(\"object\"==typeof r&&(n=r,r=null),n||(n={}),\"string\"!=typeof e&&\"number\"!=typeof e&&!H().isBN(e)){Kr(\"object\"==typeof e&&e&&\"number\"==typeof e.length,\"Expected message to be an array-like, a hex string, or a BN instance\"),Kr(e.length>>>0===e.length);for(var s=0;s<e.length;s++)Kr((255&e[s])===e[s])}t=this.keyFromPrivate(t,r),e=this._truncateToN(e,!1,n.msgBitLength),Kr(!e.isNeg(),\"Can not sign a negative message\");var i=this.n.byteLength(),o=t.getPrivate().toArray(\"be\",i),a=e.toArray(\"be\",i);Kr(new(H())(a).eq(e),\"Can not sign message\");for(var c=new Or({hash:this.hash,entropy:o,nonce:a,pers:n.pers,persEnc:n.persEnc||\"utf8\"}),l=this.n.sub(new(H())(1)),u=0;;u++){var d=n.k?n.k(u):new(H())(c.generate(this.n.byteLength()));if(!((d=this._truncateToN(d,!0)).cmpn(1)<=0||d.cmp(l)>=0)){var h=this.g.mul(d);if(!h.isInfinity()){var f=h.getX(),p=f.umod(this.n);if(0!==p.cmpn(0)){var m=d.invm(this.n).mul(p.mul(t.getPrivate()).iadd(e));if(0!==(m=m.umod(this.n)).cmpn(0)){var g=(h.getY().isOdd()?1:0)|(0!==f.cmp(p)?2:0);return n.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),g^=1),new jr({r:p,s:m,recoveryParam:g})}}}}}},Wr.prototype.verify=function(e,t,r,n,s){s||(s={}),e=this._truncateToN(e,!1,s.msgBitLength),r=this.keyFromPublic(r,n);var i=(t=new jr(t,\"hex\")).r,o=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,c=o.invm(this.n),l=c.mul(e).umod(this.n),u=c.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(l,r.getPublic(),u)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(l,r.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},Wr.prototype.recoverPubKey=function(e,t,r,n){Kr((3&r)===r,\"The recovery param is more than two bits\"),t=new jr(t,n);var s=this.n,i=new(H())(e),o=t.r,a=t.s,c=1&r,l=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error(\"Unable to find sencond key candinate\");o=l?this.curve.pointFromX(o.add(this.curve.n),c):this.curve.pointFromX(o,c);var u=t.r.invm(s),d=s.sub(i).mul(u).umod(s),h=a.mul(u).umod(s);return this.g.mulAdd(d,o,h)},Wr.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new jr(t,n)).recoveryParam)return t.recoveryParam;for(var s=0;s<4;s++){var i;try{i=this.recoverPubKey(e,t,s)}catch(e){continue}if(i.eq(r))return s}throw new Error(\"Unable to find valid recovery factor\")};var $r=pr(function(e,t){var r=t;r.version=\"6.6.1\",r.utils=br,r.rand=function(){throw new Error(\"unsupported\")},r.curve=Rr,r.curves=Br,r.ec=Jr,r.eddsa=null}).ec;const Zr=new b(\"signing-key/5.8.0\");let Yr=null;function Xr(){return Yr||(Yr=new $r(\"secp256k1\")),Yr}class Qr{constructor(e){te(this,\"curve\",\"secp256k1\"),te(this,\"privateKey\",R(e)),32!==B(this.privateKey)&&Zr.throwArgumentError(\"invalid private key\",\"privateKey\",\"[[ REDACTED ]]\");const t=Xr().keyFromPrivate(k(this.privateKey));te(this,\"publicKey\",\"0x\"+t.getPublic(!1,\"hex\")),te(this,\"compressedPublicKey\",\"0x\"+t.getPublic(!0,\"hex\")),te(this,\"_isSigningKey\",!0)}_addPoint(e){const t=Xr().keyFromPublic(k(this.publicKey)),r=Xr().keyFromPublic(k(e));return\"0x\"+t.pub.add(r.pub).encodeCompressed(\"hex\")}signDigest(e){const t=Xr().keyFromPrivate(k(this.privateKey)),r=k(e);32!==r.length&&Zr.throwArgumentError(\"bad digest length\",\"digest\",e);const n=t.sign(r,{canonical:!0});return F({recoveryParam:n.recoveryParam,r:D(\"0x\"+n.r.toString(16),32),s:D(\"0x\"+n.s.toString(16),32)})}computeSharedSecret(e){const t=Xr().keyFromPrivate(k(this.privateKey)),r=Xr().keyFromPublic(k(tn(e)));return D(\"0x\"+t.derive(r.getPublic()).toString(16),32)}static isSigningKey(e){return!(!e||!e._isSigningKey)}}function en(e,t){const r=F(t),n={r:k(r.r),s:k(r.s)};return\"0x\"+Xr().recoverPubKey(k(e),n,r.recoveryParam).encode(\"hex\",!1)}function tn(e,t){const r=k(e);if(32===r.length){const e=new Qr(r);return t?\"0x\"+Xr().keyFromPrivate(r).getPublic(!0,\"hex\"):e.publicKey}return 33===r.length?t?R(r):\"0x\"+Xr().keyFromPublic(r).getPublic(!1,\"hex\"):65===r.length?t?\"0x\"+Xr().keyFromPublic(r).getPublic(!0,\"hex\"):R(r):Zr.throwArgumentError(\"invalid public or private key\",\"key\",\"[REDACTED]\")}const rn=new b(\"transactions/5.8.0\");var nn;function sn(e){return\"0x\"===e?null:Oe(e)}function on(e){return\"0x\"===e?ut:J.from(e)}!function(e){e[e.legacy=0]=\"legacy\",e[e.eip2930=1]=\"eip2930\",e[e.eip1559=2]=\"eip1559\"}(nn||(nn={}));const an=[{name:\"nonce\",maxLength:32,numeric:!0},{name:\"gasPrice\",maxLength:32,numeric:!0},{name:\"gasLimit\",maxLength:32,numeric:!0},{name:\"to\",length:20},{name:\"value\",maxLength:32,numeric:!0},{name:\"data\"}],cn={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function ln(e){return Oe(N(ve(N(tn(e),1)),12))}function un(e,t){return ln(en(k(e),t))}function dn(e,t){const r=C(J.from(e).toHexString());return r.length>32&&rn.throwArgumentError(\"invalid length for \"+t,\"transaction:\"+t,e),r}function hn(e,t){return{address:Oe(e),storageKeys:(t||[]).map((t,r)=>(32!==B(t)&&rn.throwArgumentError(\"invalid access list storageKey\",`accessList[${e}:${r}]`,t),t.toLowerCase()))}}function fn(e){if(Array.isArray(e))return e.map((e,t)=>Array.isArray(e)?(e.length>2&&rn.throwArgumentError(\"access list expected to be [ address, storageKeys[] ]\",`value[${t}]`,e),hn(e[0],e[1])):hn(e.address,e.storageKeys));const t=Object.keys(e).map(t=>{const r=e[t].reduce((e,t)=>(e[t]=!0,e),{});return hn(t,Object.keys(r).sort())});return t.sort((e,t)=>e.address.localeCompare(t.address)),t}function pn(e){return fn(e).map(e=>[e.address,e.storageKeys])}function mn(e,t){if(null!=e.gasPrice){const t=J.from(e.gasPrice),r=J.from(e.maxFeePerGas||0);t.eq(r)||rn.throwArgumentError(\"mismatch EIP-1559 gasPrice != maxFeePerGas\",\"tx\",{gasPrice:t,maxFeePerGas:r})}const r=[dn(e.chainId||0,\"chainId\"),dn(e.nonce||0,\"nonce\"),dn(e.maxPriorityFeePerGas||0,\"maxPriorityFeePerGas\"),dn(e.maxFeePerGas||0,\"maxFeePerGas\"),dn(e.gasLimit||0,\"gasLimit\"),null!=e.to?Oe(e.to):\"0x\",dn(e.value||0,\"value\"),e.data||\"0x\",pn(e.accessList||[])];if(t){const e=F(t);r.push(dn(e.recoveryParam,\"recoveryParam\")),r.push(C(e.r)),r.push(C(e.s))}return O([\"0x02\",Te(r)])}function gn(e,t){const r=[dn(e.chainId||0,\"chainId\"),dn(e.nonce||0,\"nonce\"),dn(e.gasPrice||0,\"gasPrice\"),dn(e.gasLimit||0,\"gasLimit\"),null!=e.to?Oe(e.to):\"0x\",dn(e.value||0,\"value\"),e.data||\"0x\",pn(e.accessList||[])];if(t){const e=F(t);r.push(dn(e.recoveryParam,\"recoveryParam\")),r.push(C(e.r)),r.push(C(e.s))}return O([\"0x01\",Te(r)])}function yn(e,t){if(null==e.type||0===e.type)return null!=e.accessList&&rn.throwArgumentError(\"untyped transactions do not support accessList; include type: 1\",\"transaction\",e),function(e,t){se(e,cn);const r=[];an.forEach(function(t){let n=e[t.name]||[];const s={};t.numeric&&(s.hexPad=\"left\"),n=k(R(n,s)),t.length&&n.length!==t.length&&n.length>0&&rn.throwArgumentError(\"invalid length for \"+t.name,\"transaction:\"+t.name,n),t.maxLength&&(n=C(n),n.length>t.maxLength&&rn.throwArgumentError(\"invalid length for \"+t.name,\"transaction:\"+t.name,n)),r.push(R(n))});let n=0;if(null!=e.chainId?(n=e.chainId,\"number\"!=typeof n&&rn.throwArgumentError(\"invalid transaction.chainId\",\"transaction\",e)):t&&!E(t)&&t.v>28&&(n=Math.floor((t.v-35)/2)),0!==n&&(r.push(R(n)),r.push(\"0x\"),r.push(\"0x\")),!t)return Te(r);const s=F(t);let i=27+s.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),i+=2*n+8,s.v>28&&s.v!==i&&rn.throwArgumentError(\"transaction.chainId/signature.v mismatch\",\"signature\",t)):s.v!==i&&rn.throwArgumentError(\"transaction.chainId/signature.v mismatch\",\"signature\",t),r.push(R(i)),r.push(C(k(s.r))),r.push(C(k(s.s))),Te(r)}(e,t);switch(e.type){case 1:return gn(e,t);case 2:return mn(e,t)}return rn.throwError(`unsupported transaction type: ${e.type}`,b.errors.UNSUPPORTED_OPERATION,{operation:\"serializeTransaction\",transactionType:e.type})}function bn(e,t,r){try{const r=on(t[0]).toNumber();if(0!==r&&1!==r)throw new Error(\"bad recid\");e.v=r}catch(e){rn.throwArgumentError(\"invalid v for transaction type: 1\",\"v\",t[0])}e.r=D(t[1],32),e.s=D(t[2],32);try{const t=ve(r(e));e.from=un(t,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}function vn(e){const t=k(e);if(t[0]>127)return function(e){const t=Ce(e);9!==t.length&&6!==t.length&&rn.throwArgumentError(\"invalid raw transaction\",\"rawTransaction\",e);const r={nonce:on(t[0]).toNumber(),gasPrice:on(t[1]),gasLimit:on(t[2]),to:sn(t[3]),value:on(t[4]),data:t[5],chainId:0};if(6===t.length)return r;try{r.v=J.from(t[6]).toNumber()}catch(e){return r}if(r.r=D(t[7],32),r.s=D(t[8],32),J.from(r.r).isZero()&&J.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27;const s=t.slice(0,6);0!==r.chainId&&(s.push(R(r.chainId)),s.push(\"0x\"),s.push(\"0x\"),n-=2*r.chainId+8);const i=ve(Te(s));try{r.from=un(i,{r:R(r.r),s:R(r.s),recoveryParam:n})}catch(e){}r.hash=ve(e)}return r.type=null,r}(t);switch(t[0]){case 1:return function(e){const t=Ce(e.slice(1));8!==t.length&&11!==t.length&&rn.throwArgumentError(\"invalid component count for transaction type: 1\",\"payload\",R(e));const r={type:1,chainId:on(t[0]).toNumber(),nonce:on(t[1]).toNumber(),gasPrice:on(t[2]),gasLimit:on(t[3]),to:sn(t[4]),value:on(t[5]),data:t[6],accessList:fn(t[7])};return 8===t.length||(r.hash=ve(e),bn(r,t.slice(8),gn)),r}(t);case 2:return function(e){const t=Ce(e.slice(1));9!==t.length&&12!==t.length&&rn.throwArgumentError(\"invalid component count for transaction type: 2\",\"payload\",R(e));const r=on(t[2]),n=on(t[3]),s={type:2,chainId:on(t[0]).toNumber(),nonce:on(t[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:on(t[4]),to:sn(t[5]),value:on(t[6]),data:t[7],accessList:fn(t[8])};return 9===t.length||(s.hash=ve(e),bn(s,t.slice(9),mn)),s}(t)}return rn.throwError(`unsupported transaction type: ${t[0]}`,b.errors.UNSUPPORTED_OPERATION,{operation:\"parseTransaction\",transactionType:t[0]})}var wn=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const An=new b(\"contracts/5.8.0\"),En={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0,ccipReadEnabled:!0};function xn(e,t){return wn(this,void 0,void 0,function*(){const r=yield t;\"string\"!=typeof r&&An.throwArgumentError(\"invalid address or ENS name\",\"name\",r);try{return Oe(r)}catch(e){}e||An.throwError(\"a provider or signer is needed to resolve ENS names\",b.errors.UNSUPPORTED_OPERATION,{operation:\"resolveName\"});const n=yield e.resolveName(r);return null==n&&An.throwArgumentError(\"resolver or addr is not configured for ENS name\",\"name\",r),n})}function Tn(e,t,r){return wn(this,void 0,void 0,function*(){return Array.isArray(r)?yield Promise.all(r.map((r,n)=>Tn(e,Array.isArray(t)?t[n]:t[r.name],r))):\"address\"===r.type?yield xn(e,t):\"tuple\"===r.type?yield Tn(e,t,r.components):\"array\"===r.baseType?Array.isArray(t)?yield Promise.all(t.map(t=>Tn(e,t,r.arrayChildren))):Promise.reject(An.makeError(\"invalid value for array\",b.errors.INVALID_ARGUMENT,{argument:\"value\",value:t})):t})}function kn(e,t,r){return wn(this,void 0,void 0,function*(){let n={};r.length===t.inputs.length+1&&\"object\"==typeof r[r.length-1]&&(n=ie(r.pop())),An.checkArgumentCount(r.length,t.inputs.length,\"passed to contract\"),e.signer?n.from?n.from=ne({override:xn(e.signer,n.from),signer:e.signer.getAddress()}).then(e=>wn(this,void 0,void 0,function*(){return Oe(e.signer)!==e.override&&An.throwError(\"Contract with a Signer cannot override from\",b.errors.UNSUPPORTED_OPERATION,{operation:\"overrides.from\"}),e.override})):n.from=e.signer.getAddress():n.from&&(n.from=xn(e.provider,n.from));const s=yield ne({args:Tn(e.signer||e.provider,r,t.inputs),address:e.resolvedAddress,overrides:ne(n)||{}}),i=e.interface.encodeFunctionData(t,s.args),o={data:i,to:s.address},a=s.overrides;if(null!=a.nonce&&(o.nonce=J.from(a.nonce).toNumber()),null!=a.gasLimit&&(o.gasLimit=J.from(a.gasLimit)),null!=a.gasPrice&&(o.gasPrice=J.from(a.gasPrice)),null!=a.maxFeePerGas&&(o.maxFeePerGas=J.from(a.maxFeePerGas)),null!=a.maxPriorityFeePerGas&&(o.maxPriorityFeePerGas=J.from(a.maxPriorityFeePerGas)),null!=a.from&&(o.from=a.from),null!=a.type&&(o.type=a.type),null!=a.accessList&&(o.accessList=fn(a.accessList)),null==o.gasLimit&&null!=t.gas){let e=21e3;const r=k(i);for(let t=0;t<r.length;t++)e+=4,r[t]&&(e+=64);o.gasLimit=J.from(t.gas).add(e)}if(a.value){const e=J.from(a.value);e.isZero()||t.payable||An.throwError(\"non-payable method cannot override value\",b.errors.UNSUPPORTED_OPERATION,{operation:\"overrides.value\",value:n.value}),o.value=e}a.customData&&(o.customData=ie(a.customData)),a.ccipReadEnabled&&(o.ccipReadEnabled=!!a.ccipReadEnabled),delete n.nonce,delete n.gasLimit,delete n.gasPrice,delete n.from,delete n.value,delete n.type,delete n.accessList,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.customData,delete n.ccipReadEnabled;const c=Object.keys(n).filter(e=>null!=n[e]);return c.length&&An.throwError(`cannot override ${c.map(e=>JSON.stringify(e)).join(\",\")}`,b.errors.UNSUPPORTED_OPERATION,{operation:\"overrides\",overrides:c}),o})}function Sn(e,t){const r=t.wait.bind(t);t.wait=t=>r(t).then(t=>(t.events=t.logs.map(r=>{let n=le(r),s=null;try{s=e.interface.parseLog(r)}catch(e){}return s&&(n.args=s.args,n.decode=(t,r)=>e.interface.decodeEventLog(s.eventFragment,t,r),n.event=s.name,n.eventSignature=s.signature),n.removeListener=()=>e.provider,n.getBlock=()=>e.provider.getBlock(t.blockHash),n.getTransaction=()=>e.provider.getTransaction(t.transactionHash),n.getTransactionReceipt=()=>Promise.resolve(t),n}),t))}function Cn(e,t,r){const n=e.signer||e.provider;return function(...s){return wn(this,void 0,void 0,function*(){let i;if(s.length===t.inputs.length+1&&\"object\"==typeof s[s.length-1]){const e=ie(s.pop());null!=e.blockTag&&(i=yield e.blockTag),delete e.blockTag,s.push(e)}null!=e.deployTransaction&&(yield e._deployed(i));const o=yield kn(e,t,s),a=yield n.call(o,i);try{let n=e.interface.decodeFunctionResult(t,a);return r&&1===t.outputs.length&&(n=n[0]),n}catch(t){throw t.code===b.errors.CALL_EXCEPTION&&(t.address=e.address,t.args=s,t.transaction=o),t}})}}function In(e,t,r){return t.constant?Cn(e,t,r):function(e,t){return function(...r){return wn(this,void 0,void 0,function*(){e.signer||An.throwError(\"sending a transaction requires a signer\",b.errors.UNSUPPORTED_OPERATION,{operation:\"sendTransaction\"}),null!=e.deployTransaction&&(yield e._deployed());const n=yield kn(e,t,r),s=yield e.signer.sendTransaction(n);return Sn(e,s),s})}}(e,t)}function Pn(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||\"*\")+\"@\"+(e.topics?e.topics.map(e=>Array.isArray(e)?e.join(\"|\"):e).join(\":\"):\"\"):\"*\"}class Mn{constructor(e,t){te(this,\"tag\",e),te(this,\"filter\",t),this._listeners=[]}addListener(e,t){this._listeners.push({listener:e,once:t})}removeListener(e){let t=!1;this._listeners=this._listeners.filter(r=>!(!t&&r.listener===e)||(t=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){const t=this.listenerCount();return this._listeners=this._listeners.filter(t=>{const r=e.slice();return setTimeout(()=>{t.listener.apply(this,r)},0),!t.once}),t}prepareEvent(e){}getEmit(e){return[e]}}class Rn extends Mn{constructor(){super(\"error\",null)}}class Bn extends Mn{constructor(e,t,r,n){const s={address:e};let i=t.getEventTopic(r);n?(i!==n[0]&&An.throwArgumentError(\"topic mismatch\",\"topics\",n),s.topics=n.slice()):s.topics=[i],super(Pn(s),s),te(this,\"address\",e),te(this,\"interface\",t),te(this,\"fragment\",r)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(e,t)=>this.interface.decodeEventLog(this.fragment,e,t);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}}getEmit(e){const t=fe(e.args);if(t.length)throw t[0].error;const r=(e.args||[]).slice();return r.push(e),r}}class Nn extends Mn{constructor(e,t){super(\"*\",{address:e}),te(this,\"address\",e),te(this,\"interface\",t)}prepareEvent(e){super.prepareEvent(e);try{const t=this.interface.parseLog(e);e.event=t.name,e.eventSignature=t.signature,e.decode=(e,r)=>this.interface.decodeEventLog(t.eventFragment,e,r),e.args=t.args}catch(e){}}}class On{constructor(e,t,r){te(this,\"interface\",re(new.target,\"getInterface\")(t)),null==r?(te(this,\"provider\",null),te(this,\"signer\",null)):ur.isSigner(r)?(te(this,\"provider\",r.provider||null),te(this,\"signer\",r)):ir.isProvider(r)?(te(this,\"provider\",r),te(this,\"signer\",null)):An.throwArgumentError(\"invalid signer or provider\",\"signerOrProvider\",r),te(this,\"callStatic\",{}),te(this,\"estimateGas\",{}),te(this,\"functions\",{}),te(this,\"populateTransaction\",{}),te(this,\"filters\",{});{const e={};Object.keys(this.interface.events).forEach(t=>{const r=this.interface.events[t];te(this.filters,t,(...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(r,e)})),e[r.name]||(e[r.name]=[]),e[r.name].push(t)}),Object.keys(e).forEach(t=>{const r=e[t];1===r.length?te(this.filters,t,this.filters[r[0]]):An.warn(`Duplicate definition of ${t} (${r.join(\", \")})`)})}if(te(this,\"_runningEvents\",{}),te(this,\"_wrappedEmits\",{}),null==e&&An.throwArgumentError(\"invalid contract address or ENS name\",\"addressOrName\",e),te(this,\"address\",e),this.provider)te(this,\"resolvedAddress\",xn(this.provider,e));else try{te(this,\"resolvedAddress\",Promise.resolve(Oe(e)))}catch(e){An.throwError(\"provider is required to use ENS name as contract address\",b.errors.UNSUPPORTED_OPERATION,{operation:\"new Contract\"})}this.resolvedAddress.catch(e=>{});const n={},s={};Object.keys(this.interface.functions).forEach(e=>{const t=this.interface.functions[e];if(s[e])An.warn(`Duplicate ABI entry for ${JSON.stringify(e)}`);else{s[e]=!0;{const r=t.name;n[`%${r}`]||(n[`%${r}`]=[]),n[`%${r}`].push(e)}null==this[e]&&te(this,e,In(this,t,!0)),null==this.functions[e]&&te(this.functions,e,In(this,t,!1)),null==this.callStatic[e]&&te(this.callStatic,e,Cn(this,t,!0)),null==this.populateTransaction[e]&&te(this.populateTransaction,e,function(e,t){return function(...r){return kn(e,t,r)}}(this,t)),null==this.estimateGas[e]&&te(this.estimateGas,e,function(e,t){const r=e.signer||e.provider;return function(...n){return wn(this,void 0,void 0,function*(){r||An.throwError(\"estimate require a provider or signer\",b.errors.UNSUPPORTED_OPERATION,{operation:\"estimateGas\"});const s=yield kn(e,t,n);return yield r.estimateGas(s)})}}(this,t))}}),Object.keys(n).forEach(e=>{const t=n[e];if(t.length>1)return;e=e.substring(1);const r=t[0];try{null==this[e]&&te(this,e,this[r])}catch(e){}null==this.functions[e]&&te(this.functions,e,this.functions[r]),null==this.callStatic[e]&&te(this.callStatic,e,this.callStatic[r]),null==this.populateTransaction[e]&&te(this.populateTransaction,e,this.populateTransaction[r]),null==this.estimateGas[e]&&te(this.estimateGas,e,this.estimateGas[r])})}static getContractAddress(e){return De(e)}static getInterface(e){return tr.isInterface(e)?e:new tr(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,e).then(e=>(\"0x\"===e&&An.throwError(\"contract not deployed\",b.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:\"getDeployed\"}),this))),this._deployedPromise}fallback(e){this.signer||An.throwError(\"sending a transactions require a signer\",b.errors.UNSUPPORTED_OPERATION,{operation:\"sendTransaction(fallback)\"});const t=ie(e||{});return[\"from\",\"to\"].forEach(function(e){null!=t[e]&&An.throwError(\"cannot override \"+e,b.errors.UNSUPPORTED_OPERATION,{operation:e})}),t.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(t))}connect(e){\"string\"==typeof e&&(e=new dr(e,this.provider));const t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&te(t,\"deployTransaction\",this.deployTransaction),t}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return Xt.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if(\"string\"==typeof e){if(\"error\"===e)return this._normalizeRunningEvent(new Rn);if(\"event\"===e)return this._normalizeRunningEvent(new Mn(\"event\",null));if(\"*\"===e)return this._normalizeRunningEvent(new Nn(this.address,this.interface));const t=this.interface.getEvent(e);return this._normalizeRunningEvent(new Bn(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{const t=e.topics[0];if(\"string\"!=typeof t)throw new Error(\"invalid topic\");const r=this.interface.getEvent(t);return this._normalizeRunningEvent(new Bn(this.address,this.interface,r,e.topics))}catch(e){}const t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new Mn(Pn(t),t))}return this._normalizeRunningEvent(new Nn(this.address,this.interface))}_checkRunningEvents(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];const t=this._wrappedEmits[e.tag];t&&e.filter&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,t,r){const n=le(t);return n.removeListener=()=>{r&&(e.removeListener(r),this._checkRunningEvents(e))},n.getBlock=()=>this.provider.getBlock(t.blockHash),n.getTransaction=()=>this.provider.getTransaction(t.transactionHash),n.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(n),n}_addEventListener(e,t,r){if(this.provider||An.throwError(\"events require a provider or a signer with a provider\",b.errors.UNSUPPORTED_OPERATION,{operation:\"once\"}),e.addListener(t,r),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const r=r=>{let n=this._wrapEvent(e,r,t);if(null==n.decodeError)try{const t=e.getEmit(n);this.emit(e.filter,...t)}catch(e){n.decodeError=e.error}null!=e.filter&&this.emit(\"event\",n),null!=n.decodeError&&this.emit(\"error\",n.decodeError,n)};this._wrappedEmits[e.tag]=r,null!=e.filter&&this.provider.on(e.filter,r)}}queryFilter(e,t,r){const n=this._getRunningEvent(e),s=ie(n.filter);return\"string\"==typeof t&&P(t,32)?(null!=r&&An.throwArgumentError(\"cannot specify toBlock with blockhash\",\"toBlock\",r),s.blockHash=t):(s.fromBlock=null!=t?t:0,s.toBlock=null!=r?r:\"latest\"),this.provider.getLogs(s).then(e=>e.map(e=>this._wrapEvent(n,e,null)))}on(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this}once(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this}emit(e,...t){if(!this.provider)return!1;const r=this._getRunningEvent(e),n=r.run(t)>0;return this._checkRunningEvents(r),n}listenerCount(e){return this.provider?null==e?Object.keys(this._runningEvents).reduce((e,t)=>e+this._runningEvents[t].listenerCount(),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(null==e){const e=[];for(let t in this._runningEvents)this._runningEvents[t].listeners().forEach(t=>{e.push(t)});return e}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(null==e){for(const e in this._runningEvents){const t=this._runningEvents[e];t.removeAllListeners(),this._checkRunningEvents(t)}return this}const t=this._getRunningEvent(e);return t.removeAllListeners(),this._checkRunningEvents(t),this}off(e,t){if(!this.provider)return this;const r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this}removeListener(e,t){return this.off(e,t)}}class _n extends On{}class Ln{constructor(e,t,r){let n=null;n=\"string\"==typeof t?t:T(t)?R(t):t&&\"string\"==typeof t.object?t.object:\"!\",\"0x\"!==n.substring(0,2)&&(n=\"0x\"+n),(!P(n)||n.length%2)&&An.throwArgumentError(\"invalid bytecode\",\"bytecode\",t),r&&!ur.isSigner(r)&&An.throwArgumentError(\"invalid signer\",\"signer\",r),te(this,\"bytecode\",n),te(this,\"interface\",re(new.target,\"getInterface\")(e)),te(this,\"signer\",r||null)}getDeployTransaction(...e){let t={};if(e.length===this.interface.deploy.inputs.length+1&&\"object\"==typeof e[e.length-1]){t=ie(e.pop());for(const e in t)if(!En[e])throw new Error(\"unknown transaction override \"+e)}if([\"data\",\"from\",\"to\"].forEach(e=>{null!=t[e]&&An.throwError(\"cannot override \"+e,b.errors.UNSUPPORTED_OPERATION,{operation:e})}),t.value){J.from(t.value).isZero()||this.interface.deploy.payable||An.throwError(\"non-payable constructor cannot override value\",b.errors.UNSUPPORTED_OPERATION,{operation:\"overrides.value\",value:t.value})}return An.checkArgumentCount(e.length,this.interface.deploy.inputs.length,\" in Contract constructor\"),t.data=R(S([this.bytecode,this.interface.encodeDeploy(e)])),t}deploy(...e){return wn(this,void 0,void 0,function*(){let t={};e.length===this.interface.deploy.inputs.length+1&&(t=e.pop()),An.checkArgumentCount(e.length,this.interface.deploy.inputs.length,\" in Contract constructor\");const r=yield Tn(this.signer,e,this.interface.deploy.inputs);r.push(t);const n=this.getDeployTransaction(...r),s=yield this.signer.sendTransaction(n),i=re(this.constructor,\"getContractAddress\")(s),o=re(this.constructor,\"getContract\")(i,this.interface,this.signer);return Sn(o,s),te(o,\"deployTransaction\",s),o})}attach(e){return this.constructor.getContract(e,this.interface,this.signer)}connect(e){return new this.constructor(this.interface,this.bytecode,e)}static fromSolidity(e,t){null==e&&An.throwError(\"missing compiler output\",b.errors.MISSING_ARGUMENT,{argument:\"compilerOutput\"}),\"string\"==typeof e&&(e=JSON.parse(e));const r=e.abi;let n=null;return e.bytecode?n=e.bytecode:e.evm&&e.evm.bytecode&&(n=e.evm.bytecode),new this(r,n,t)}static getInterface(e){return _n.getInterface(e)}static getContractAddress(e){return De(e)}static getContract(e,t,r){return new _n(e,t,r)}}const Dn=new b(z),Fn={},Un=J.from(0),jn=J.from(-1);function Hn(e,t,r,n){const s={fault:t,operation:r};return void 0!==n&&(s.value=n),Dn.throwError(e,b.errors.NUMERIC_FAULT,s)}let zn=\"0\";for(;zn.length<256;)zn+=zn;function Gn(e){if(\"number\"!=typeof e)try{e=J.from(e).toNumber()}catch(e){}return\"number\"==typeof e&&e>=0&&e<=256&&!(e%1)?\"1\"+zn.substring(0,e):Dn.throwArgumentError(\"invalid decimal size\",\"decimals\",e)}function Vn(e,t){null==t&&(t=0);const r=Gn(t),n=(e=J.from(e)).lt(Un);n&&(e=e.mul(jn));let s=e.mod(r).toString();for(;s.length<r.length-1;)s=\"0\"+s;s=s.match(/^([0-9]*[1-9]|0)(0*)/)[1];const i=e.div(r).toString();return e=1===r.length?i:i+\".\"+s,n&&(e=\"-\"+e),e}function qn(e,t){null==t&&(t=0);const r=Gn(t);\"string\"==typeof e&&e.match(/^-?[0-9.]+$/)||Dn.throwArgumentError(\"invalid decimal value\",\"value\",e);const n=\"-\"===e.substring(0,1);n&&(e=e.substring(1)),\".\"===e&&Dn.throwArgumentError(\"missing value\",\"value\",e);const s=e.split(\".\");s.length>2&&Dn.throwArgumentError(\"too many decimal points\",\"value\",e);let i=s[0],o=s[1];for(i||(i=\"0\"),o||(o=\"0\");\"0\"===o[o.length-1];)o=o.substring(0,o.length-1);for(o.length>r.length-1&&Hn(\"fractional component exceeds decimals\",\"underflow\",\"parseFixed\"),\"\"===o&&(o=\"0\");o.length<r.length-1;)o+=\"0\";const a=J.from(i),c=J.from(o);let l=a.mul(r).add(c);return n&&(l=l.mul(jn)),l}class Kn{constructor(e,t,r,n){e!==Fn&&Dn.throwError(\"cannot use FixedFormat constructor; use FixedFormat.from\",b.errors.UNSUPPORTED_OPERATION,{operation:\"new FixedFormat\"}),this.signed=t,this.width=r,this.decimals=n,this.name=(t?\"\":\"u\")+\"fixed\"+String(r)+\"x\"+String(n),this._multiplier=Gn(n),Object.freeze(this)}static from(e){if(e instanceof Kn)return e;\"number\"==typeof e&&(e=`fixed128x${e}`);let t=!0,r=128,n=18;if(\"string\"==typeof e)if(\"fixed\"===e);else if(\"ufixed\"===e)t=!1;else{const s=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);s||Dn.throwArgumentError(\"invalid fixed format\",\"format\",e),t=\"u\"!==s[1],r=parseInt(s[2]),n=parseInt(s[3])}else if(e){const s=(t,r,n)=>null==e[t]?n:(typeof e[t]!==r&&Dn.throwArgumentError(\"invalid fixed format (\"+t+\" not \"+r+\")\",\"format.\"+t,e[t]),e[t]);t=s(\"signed\",\"boolean\",t),r=s(\"width\",\"number\",r),n=s(\"decimals\",\"number\",n)}return r%8&&Dn.throwArgumentError(\"invalid fixed format width (not byte aligned)\",\"format.width\",r),n>80&&Dn.throwArgumentError(\"invalid fixed format (decimals too large)\",\"format.decimals\",n),new Kn(Fn,t,r,n)}}class Wn{constructor(e,t,r,n){e!==Fn&&Dn.throwError(\"cannot use FixedNumber constructor; use FixedNumber.from\",b.errors.UNSUPPORTED_OPERATION,{operation:\"new FixedFormat\"}),this.format=n,this._hex=t,this._value=r,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&Dn.throwArgumentError(\"incompatible format; use fixedNumber.toFormat\",\"other\",e)}addUnsafe(e){this._checkFormat(e);const t=qn(this._value,this.format.decimals),r=qn(e._value,e.format.decimals);return Wn.fromValue(t.add(r),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=qn(this._value,this.format.decimals),r=qn(e._value,e.format.decimals);return Wn.fromValue(t.sub(r),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=qn(this._value,this.format.decimals),r=qn(e._value,e.format.decimals);return Wn.fromValue(t.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=qn(this._value,this.format.decimals),r=qn(e._value,e.format.decimals);return Wn.fromValue(t.mul(this.format._multiplier).div(r),this.format.decimals,this.format)}floor(){const e=this.toString().split(\".\");1===e.length&&e.push(\"0\");let t=Wn.from(e[0],this.format);const r=!e[1].match(/^(0*)$/);return this.isNegative()&&r&&(t=t.subUnsafe(Jn.toFormat(t.format))),t}ceiling(){const e=this.toString().split(\".\");1===e.length&&e.push(\"0\");let t=Wn.from(e[0],this.format);const r=!e[1].match(/^(0*)$/);return!this.isNegative()&&r&&(t=t.addUnsafe(Jn.toFormat(t.format))),t}round(e){null==e&&(e=0);const t=this.toString().split(\".\");if(1===t.length&&t.push(\"0\"),(e<0||e>80||e%1)&&Dn.throwArgumentError(\"invalid decimal count\",\"decimals\",e),t[1].length<=e)return this;const r=Wn.from(\"1\"+zn.substring(0,e),this.format),n=$n.toFormat(this.format);return this.mulUnsafe(r).addUnsafe(n).floor().divUnsafe(r)}isZero(){return\"0.0\"===this._value||\"0\"===this._value}isNegative(){return\"-\"===this._value[0]}toString(){return this._value}toHexString(e){if(null==e)return this._hex;e%8&&Dn.throwArgumentError(\"invalid byte width\",\"width\",e);return D(J.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString(),e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return Wn.fromString(this._value,e)}static fromValue(e,t,r){return null!=r||null==t||function(e){return null!=e&&(J.isBigNumber(e)||\"number\"==typeof e&&e%1==0||\"string\"==typeof e&&!!e.match(/^-?[0-9]+$/)||P(e)||\"bigint\"==typeof e||T(e))}(t)||(r=t,t=null),null==t&&(t=0),null==r&&(r=\"fixed\"),Wn.fromString(Vn(e,t),Kn.from(r))}static fromString(e,t){null==t&&(t=\"fixed\");const r=Kn.from(t),n=qn(e,r.decimals);!r.signed&&n.lt(Un)&&Hn(\"unsigned value cannot be negative\",\"overflow\",\"value\",e);let s=null;r.signed?s=n.toTwos(r.width).toHexString():(s=n.toHexString(),s=D(s,r.width/8));const i=Vn(n,r.decimals);return new Wn(Fn,s,i,r)}static fromBytes(e,t){null==t&&(t=\"fixed\");const r=Kn.from(t);if(k(e).length>r.width/8)throw new Error(\"overflow\");let n=J.from(e);r.signed&&(n=n.fromTwos(r.width));const s=n.toTwos((r.signed?0:1)+r.width).toHexString(),i=Vn(n,r.decimals);return new Wn(Fn,s,i,r)}static from(e,t){if(\"string\"==typeof e)return Wn.fromString(e,t);if(T(e))return Wn.fromBytes(e,t);try{return Wn.fromValue(e,0,t)}catch(e){if(e.code!==b.errors.INVALID_ARGUMENT)throw e}return Dn.throwArgumentError(\"invalid FixedNumber value\",\"value\",e)}static isFixedNumber(e){return!(!e||!e._isFixedNumber)}}const Jn=Wn.from(1),$n=Wn.from(\"0.5\");function Zn(e){return\"string\"==typeof e&&(e=qe(e)),ve(S([qe(\"\u0019Ethereum Signed Message:\\n\"),qe(String(e.length)),e]))}const Yn=\"hash/5.8.0\";var Xn=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const Qn=new b(Yn),es=new Uint8Array(32);es.fill(0);const ts=J.from(-1),rs=J.from(0),ns=J.from(1),ss=J.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");const is=D(ns.toHexString(),32),os=D(rs.toHexString(),32),as={name:\"string\",version:\"string\",chainId:\"uint256\",verifyingContract:\"address\",salt:\"bytes32\"},cs=[\"name\",\"version\",\"chainId\",\"verifyingContract\",\"salt\"];function ls(e){return function(t){return\"string\"!=typeof t&&Qn.throwArgumentError(`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}const us={name:ls(\"name\"),version:ls(\"version\"),chainId:function(e){try{return J.from(e).toString()}catch(e){}return Qn.throwArgumentError('invalid domain value for \"chainId\"',\"domain.chainId\",e)},verifyingContract:function(e){try{return Oe(e).toLowerCase()}catch(e){}return Qn.throwArgumentError('invalid domain value \"verifyingContract\"',\"domain.verifyingContract\",e)},salt:function(e){try{const t=k(e);if(32!==t.length)throw new Error(\"bad length\");return R(t)}catch(e){}return Qn.throwArgumentError('invalid domain value \"salt\"',\"domain.salt\",e)}};function ds(e){{const t=e.match(/^(u?)int(\\d*)$/);if(t){const r=\"\"===t[1],n=parseInt(t[2]||\"256\");(n%8!=0||n>256||t[2]&&t[2]!==String(n))&&Qn.throwArgumentError(\"invalid numeric width\",\"type\",e);const s=ss.mask(r?n-1:n),i=r?s.add(ns).mul(ts):rs;return function(t){const r=J.from(t);return(r.lt(i)||r.gt(s))&&Qn.throwArgumentError(`value out-of-bounds for ${e}`,\"value\",t),D(r.toTwos(256).toHexString(),32)}}}{const t=e.match(/^bytes(\\d+)$/);if(t){const r=parseInt(t[1]);return(0===r||r>32||t[1]!==String(r))&&Qn.throwArgumentError(\"invalid bytes width\",\"type\",e),function(t){return k(t).length!==r&&Qn.throwArgumentError(`invalid length for ${e}`,\"value\",t),function(e){const t=k(e),r=t.length%32;return r?O([t,es.slice(r)]):R(t)}(t)}}}switch(e){case\"address\":return function(e){return D(Oe(e),32)};case\"bool\":return function(e){return e?is:os};case\"bytes\":return function(e){return ve(e)};case\"string\":return function(e){return Ye(e)}}return null}function hs(e,t){return`${e}(${t.map(({name:e,type:t})=>t+\" \"+e).join(\",\")})`}class fs{constructor(e){te(this,\"types\",Object.freeze(le(e))),te(this,\"_encoderCache\",{}),te(this,\"_types\",{});const t={},r={},n={};Object.keys(e).forEach(e=>{t[e]={},r[e]=[],n[e]={}});for(const n in e){const s={};e[n].forEach(i=>{s[i.name]&&Qn.throwArgumentError(`duplicate variable name ${JSON.stringify(i.name)} in ${JSON.stringify(n)}`,\"types\",e),s[i.name]=!0;const o=i.type.match(/^([^\\x5b]*)(\\x5b|$)/)[1];o===n&&Qn.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,\"types\",e);ds(o)||(r[o]||Qn.throwArgumentError(`unknown type ${JSON.stringify(o)}`,\"types\",e),r[o].push(n),t[n][o]=!0)})}const s=Object.keys(r).filter(e=>0===r[e].length);0===s.length?Qn.throwArgumentError(\"missing primary type\",\"types\",e):s.length>1&&Qn.throwArgumentError(`ambiguous primary types or unused types: ${s.map(e=>JSON.stringify(e)).join(\", \")}`,\"types\",e),te(this,\"primaryType\",s[0]),function s(i,o){o[i]&&Qn.throwArgumentError(`circular type reference to ${JSON.stringify(i)}`,\"types\",e),o[i]=!0,Object.keys(t[i]).forEach(e=>{r[e]&&(s(e,o),Object.keys(o).forEach(t=>{n[t][e]=!0}))}),delete o[i]}(this.primaryType,{});for(const t in n){const r=Object.keys(n[t]);r.sort(),this._types[t]=hs(t,e[t])+r.map(t=>hs(t,e[t])).join(\"\")}}getEncoder(e){let t=this._encoderCache[e];return t||(t=this._encoderCache[e]=this._getEncoder(e)),t}_getEncoder(e){{const t=ds(e);if(t)return t}const t=e.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);if(t){const e=t[1],r=this.getEncoder(e),n=parseInt(t[3]);return t=>{n>=0&&t.length!==n&&Qn.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\",\"value\",t);let s=t.map(r);return this._types[e]&&(s=s.map(ve)),ve(O(s))}}const r=this.types[e];if(r){const t=Ye(this._types[e]);return e=>{const n=r.map(({name:t,type:r})=>{const n=this.getEncoder(r)(e[t]);return this._types[r]?ve(n):n});return n.unshift(t),O(n)}}return Qn.throwArgumentError(`unknown type: ${e}`,\"type\",e)}encodeType(e){const t=this._types[e];return t||Qn.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,\"name\",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return ve(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,r){if(ds(e))return r(e,t);const n=e.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);if(n){const e=n[1],s=parseInt(n[3]);return s>=0&&t.length!==s&&Qn.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\",\"value\",t),t.map(t=>this._visit(e,t,r))}const s=this.types[e];return s?s.reduce((e,{name:n,type:s})=>(e[n]=this._visit(s,t[n],r),e),{}):Qn.throwArgumentError(`unknown type: ${e}`,\"type\",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new fs(e)}static getPrimaryType(e){return fs.from(e).primaryType}static hashStruct(e,t,r){return fs.from(t).hashStruct(e,r)}static hashDomain(e){const t=[];for(const r in e){const n=as[r];n||Qn.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,\"domain\",e),t.push({name:r,type:n})}return t.sort((e,t)=>cs.indexOf(e.name)-cs.indexOf(t.name)),fs.hashStruct(\"EIP712Domain\",{EIP712Domain:t},e)}static encode(e,t,r){return O([\"0x1901\",fs.hashDomain(e),fs.from(t).hash(r)])}static hash(e,t,r){return ve(fs.encode(e,t,r))}static resolveNames(e,t,r,n){return Xn(this,void 0,void 0,function*(){e=ie(e);const s={};e.verifyingContract&&!P(e.verifyingContract,20)&&(s[e.verifyingContract]=\"0x\");const i=fs.from(t);i.visit(r,(e,t)=>(\"address\"!==e||P(t,20)||(s[t]=\"0x\"),t));for(const e in s)s[e]=yield n(e);return e.verifyingContract&&s[e.verifyingContract]&&(e.verifyingContract=s[e.verifyingContract]),r=i.visit(r,(e,t)=>\"address\"===e&&s[t]?s[t]:t),{domain:e,value:r}})}static getPayload(e,t,r){fs.hashDomain(e);const n={},s=[];cs.forEach(t=>{const r=e[t];null!=r&&(n[t]=us[t](r),s.push({name:t,type:as[t]}))});const i=fs.from(t),o=ie(t);return o.EIP712Domain?Qn.throwArgumentError(\"types must not contain EIP712Domain type\",\"types.EIP712Domain\",t):o.EIP712Domain=s,i.encode(r),{types:o,domain:n,primaryType:i.primaryType,message:i.visit(r,(e,t)=>{if(e.match(/^bytes(\\d*)/))return R(k(t));if(e.match(/^u?int/))return J.from(t).toString();switch(e){case\"address\":return t.toLowerCase();case\"bool\":return!!t;case\"string\":return\"string\"!=typeof t&&Qn.throwArgumentError(\"invalid string\",\"value\",t),t}return Qn.throwArgumentError(\"unsupported type\",\"type\",e)})}}}class ps{constructor(e){te(this,\"alphabet\",e),te(this,\"base\",e.length),te(this,\"_alphabetMap\",{}),te(this,\"_leader\",e.charAt(0));for(let t=0;t<e.length;t++)this._alphabetMap[e.charAt(t)]=t}encode(e){let t=k(e);if(0===t.length)return\"\";let r=[0];for(let e=0;e<t.length;++e){let n=t[e];for(let e=0;e<r.length;++e)n+=r[e]<<8,r[e]=n%this.base,n=n/this.base|0;for(;n>0;)r.push(n%this.base),n=n/this.base|0}let n=\"\";for(let e=0;0===t[e]&&e<t.length-1;++e)n+=this._leader;for(let e=r.length-1;e>=0;--e)n+=this.alphabet[r[e]];return n}decode(e){if(\"string\"!=typeof e)throw new TypeError(\"Expected String\");let t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(let r=0;r<e.length;r++){let n=this._alphabetMap[e[r]];if(void 0===n)throw new Error(\"Non-base\"+this.base+\" character\");let s=n;for(let e=0;e<t.length;++e)s+=t[e]*this.base,t[e]=255&s,s>>=8;for(;s>0;)t.push(255&s),s>>=8}for(let r=0;e[r]===this._leader&&r<e.length-1;++r)t.push(0);return k(new Uint8Array(t.reverse()))}}new ps(\"abcdefghijklmnopqrstuvwxyz234567\");const ms=new ps(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\");var gs;!function(e){e.sha256=\"sha256\",e.sha512=\"sha512\"}(gs||(gs={}));const ys=new b(\"sha2/5.8.0\");function bs(e){return\"0x\"+fr().ripemd160().update(k(e)).digest(\"hex\")}function vs(e){return\"0x\"+fr().sha256().update(k(e)).digest(\"hex\")}function ws(e){return\"0x\"+fr().sha512().update(k(e)).digest(\"hex\")}function As(e,t,r){return gs[e]||ys.throwError(\"unsupported algorithm \"+e,b.errors.UNSUPPORTED_OPERATION,{operation:\"hmac\",algorithm:e}),\"0x\"+fr().hmac(fr()[e],k(t)).update(k(r)).digest(\"hex\")}function Es(e,t,r,n,s){let i;e=k(e),t=k(t);let o=1;const a=new Uint8Array(n),c=new Uint8Array(t.length+4);let l,u;c.set(t);for(let d=1;d<=o;d++){c[t.length]=d>>24&255,c[t.length+1]=d>>16&255,c[t.length+2]=d>>8&255,c[t.length+3]=255&d;let h=k(As(s,e,c));i||(i=h.length,u=new Uint8Array(i),o=Math.ceil(n/i),l=n-(o-1)*i),u.set(h);for(let t=1;t<r;t++){h=k(As(s,e,h));for(let e=0;e<i;e++)u[e]^=h[e]}const f=(d-1)*i,p=d===o?l:i;a.set(k(u).slice(0,p),f)}return R(a)}const xs=new b(\"wordlists/5.8.0\");class Ts{constructor(e){xs.checkAbstract(new.target,Ts),te(this,\"locale\",e)}split(e){return e.toLowerCase().split(/ +/g)}join(e){return e.join(\" \")}static check(e){const t=[];for(let r=0;r<2048;r++){const n=e.getWord(r);if(r!==e.getWordIndex(n))return\"0x\";t.push(n)}return Ye(t.join(\"\\n\")+\"\\n\")}static register(e,t){t||(t=e.locale)}}let ks=null;function Ss(e){if(null==ks&&(ks=\"AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo\".replace(/([A-Z])/g,\" $1\").toLowerCase().substring(1).split(\" \"),\"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60\"!==Ts.check(e)))throw ks=null,new Error(\"BIP39 Wordlist for en (English) FAILED\")}const Cs=new class extends Ts{constructor(){super(\"en\")}getWord(e){return Ss(this),ks[e]}getWordIndex(e){return Ss(this),ks.indexOf(e)}};Ts.register(Cs);const Is={en:Cs},Ps=new b(\"hdnode/5.8.0\"),Ms=J.from(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\"),Rs=qe(\"Bitcoin seed\"),Bs=2147483648;function Ns(e){return(1<<e)-1<<8-e}function Os(e){return(1<<e)-1}function _s(e){return D(R(e),32)}function Ls(e){return ms.encode(S([e,N(vs(vs(e)),0,4)]))}function Ds(e){if(null==e)return Is.en;if(\"string\"==typeof e){const t=Is[e];return null==t&&Ps.throwArgumentError(\"unknown locale\",\"wordlist\",e),t}return e}const Fs={},Us=\"m/44'/60'/0'/0/0\";class js{constructor(e,t,r,n,s,i,o,a){if(e!==Fs)throw new Error(\"HDNode constructor cannot be called directly\");if(t){const e=new Qr(t);te(this,\"privateKey\",e.privateKey),te(this,\"publicKey\",e.compressedPublicKey)}else te(this,\"privateKey\",null),te(this,\"publicKey\",R(r));te(this,\"parentFingerprint\",n),te(this,\"fingerprint\",N(bs(vs(this.publicKey)),0,4)),te(this,\"address\",ln(this.publicKey)),te(this,\"chainCode\",s),te(this,\"index\",i),te(this,\"depth\",o),null==a?(te(this,\"mnemonic\",null),te(this,\"path\",null)):\"string\"==typeof a?(te(this,\"mnemonic\",null),te(this,\"path\",a)):(te(this,\"mnemonic\",a),te(this,\"path\",a.path))}get extendedKey(){if(this.depth>=256)throw new Error(\"Depth too large!\");return Ls(S([null!=this.privateKey?\"0x0488ADE4\":\"0x0488B21E\",R(this.depth),this.parentFingerprint,D(R(this.index),4),this.chainCode,null!=this.privateKey?S([\"0x00\",this.privateKey]):this.publicKey]))}neuter(){return new js(Fs,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw new Error(\"invalid index - \"+String(e));let t=this.path;t&&(t+=\"/\"+(2147483647&e));const r=new Uint8Array(37);if(e&Bs){if(!this.privateKey)throw new Error(\"cannot derive child of neutered node\");r.set(k(this.privateKey),1),t&&(t+=\"'\")}else r.set(k(this.publicKey));for(let t=24;t>=0;t-=8)r[33+(t>>3)]=e>>24-t&255;const n=k(As(gs.sha512,this.chainCode,r)),s=n.slice(0,32),i=n.slice(32);let o=null,a=null;if(this.privateKey)o=_s(J.from(s).add(this.privateKey).mod(Ms));else{a=new Qr(R(s))._addPoint(this.publicKey)}let c=t;const l=this.mnemonic;return l&&(c=Object.freeze({phrase:l.phrase,path:t,locale:l.locale||\"en\"})),new js(Fs,o,a,this.fingerprint,_s(i),e,this.depth+1,c)}derivePath(e){const t=e.split(\"/\");if(0===t.length||\"m\"===t[0]&&0!==this.depth)throw new Error(\"invalid path - \"+e);\"m\"===t[0]&&t.shift();let r=this;for(let e=0;e<t.length;e++){const n=t[e];if(n.match(/^[0-9]+'$/)){const e=parseInt(n.substring(0,n.length-1));if(e>=Bs)throw new Error(\"invalid path index - \"+n);r=r._derive(Bs+e)}else{if(!n.match(/^[0-9]+$/))throw new Error(\"invalid path component - \"+n);{const e=parseInt(n);if(e>=Bs)throw new Error(\"invalid path index - \"+n);r=r._derive(e)}}}return r}static _fromSeed(e,t){const r=k(e);if(r.length<16||r.length>64)throw new Error(\"invalid seed\");const n=k(As(gs.sha512,Rs,r));return new js(Fs,_s(n.slice(0,32)),null,\"0x00000000\",_s(n.slice(32)),0,0,t)}static fromMnemonic(e,t,r){return e=Gs(zs(e,r=Ds(r)),r),js._fromSeed(Hs(e,t),{phrase:e,path:\"m\",locale:r.locale})}static fromSeed(e){return js._fromSeed(e,null)}static fromExtendedKey(e){const t=ms.decode(e);82===t.length&&Ls(t.slice(0,78))===e||Ps.throwArgumentError(\"invalid extended key\",\"extendedKey\",\"[REDACTED]\");const r=t[4],n=R(t.slice(5,9)),s=parseInt(R(t.slice(9,13)).substring(2),16),i=R(t.slice(13,45)),o=t.slice(45,78);switch(R(t.slice(0,4))){case\"0x0488b21e\":case\"0x043587cf\":return new js(Fs,null,R(o),n,i,s,r,null);case\"0x0488ade4\":case\"0x04358394 \":if(0!==o[0])break;return new js(Fs,R(o.slice(1)),null,n,i,s,r,null)}return Ps.throwArgumentError(\"invalid extended key\",\"extendedKey\",\"[REDACTED]\")}}function Hs(e,t){t||(t=\"\");const r=qe(\"mnemonic\"+t,je.NFKD);return Es(qe(e,je.NFKD),r,2048,64,\"sha512\")}function zs(e,t){t=Ds(t),Ps.checkNormalize();const r=t.split(e);if(r.length%3!=0)throw new Error(\"invalid mnemonic\");const n=k(new Uint8Array(Math.ceil(11*r.length/8)));let s=0;for(let e=0;e<r.length;e++){let i=t.getWordIndex(r[e].normalize(\"NFKD\"));if(-1===i)throw new Error(\"invalid mnemonic\");for(let e=0;e<11;e++)i&1<<10-e&&(n[s>>3]|=1<<7-s%8),s++}const i=32*r.length/3,o=Ns(r.length/3);if((k(vs(n.slice(0,i/8)))[0]&o)!==(n[n.length-1]&o))throw new Error(\"invalid checksum\");return R(n.slice(0,i/8))}function Gs(e,t){if(t=Ds(t),(e=k(e)).length%4!=0||e.length<16||e.length>32)throw new Error(\"invalid entropy\");const r=[0];let n=11;for(let t=0;t<e.length;t++)n>8?(r[r.length-1]<<=8,r[r.length-1]|=e[t],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[t]>>8-n,r.push(e[t]&Os(8-n)),n+=3);const s=e.length/4,i=k(vs(e))[0]&Ns(s);return r[r.length-1]<<=s,r[r.length-1]|=i>>8-s,t.join(r.map(e=>t.getWord(e)))}function Vs(e,t){try{return zs(e,t),!0}catch(e){}return!1}function qs(e){return(\"number\"!=typeof e||e<0||e>=Bs||e%1)&&Ps.throwArgumentError(\"invalid account index\",\"index\",e),`m/44'/60'/${e}'/0/0`}const Ks=new b(\"random/5.8.0\");const Ws=function(){if(\"undefined\"!=typeof self)return self;if(\"undefined\"!=typeof window)return window;if(\"undefined\"!=typeof globalThis)return globalThis;throw new Error(\"unable to locate global object\")}();let Js=Ws.crypto||Ws.msCrypto;function $s(e){(e<=0||e>1024||e%1||e!=e)&&Ks.throwArgumentError(\"invalid length\",\"length\",e);const t=new Uint8Array(e);return Js.getRandomValues(t),k(t)}Js&&Js.getRandomValues||(Ks.warn(\"WARNING: Missing strong random number source\"),Js={getRandomValues:function(e){return Ks.throwError(\"no secure random source avaialble\",b.errors.UNSUPPORTED_OPERATION,{operation:\"crypto.getRandomValues\"})}});var Zs=r(3725),Ys=r.n(Zs),Xs=r(3432),Qs=r.n(Xs);function ei(e){return\"string\"==typeof e&&\"0x\"!==e.substring(0,2)&&(e=\"0x\"+e),k(e)}function ti(e,t){for(e=String(e);e.length<t;)e=\"0\"+e;return e}function ri(e){return\"string\"==typeof e?qe(e,je.NFKC):k(e)}function ni(e,t){let r=e;const n=t.toLowerCase().split(\"/\");for(let e=0;e<n.length;e++){let t=null;for(const s in r)if(s.toLowerCase()===n[e]){t=r[s];break}if(null===t)return null;r=t}return r}function si(e){const t=k(e);t[6]=15&t[6]|64,t[8]=63&t[8]|128;const r=R(t);return[r.substring(2,10),r.substring(10,14),r.substring(14,18),r.substring(18,22),r.substring(22,34)].join(\"-\")}const ii=\"json-wallets/5.8.0\";var oi=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const ai=new b(ii);function ci(e){return null!=e&&e.mnemonic&&e.mnemonic.phrase}class li extends ue{isKeystoreAccount(e){return!(!e||!e._isKeystoreAccount)}}function ui(e,t){const r=ei(ni(e,\"crypto/ciphertext\"));if(R(ve(S([t.slice(16,32),r]))).substring(2)!==ni(e,\"crypto/mac\").toLowerCase())throw new Error(\"invalid password\");const n=function(e,t,r){if(\"aes-128-ctr\"===ni(e,\"crypto/cipher\")){const n=ei(ni(e,\"crypto/cipherparams/iv\")),s=new(Ys().Counter)(n);return k(new(Ys().ModeOfOperation.ctr)(t,s).decrypt(r))}return null}(e,t.slice(0,16),r);n||ai.throwError(\"unsupported cipher\",b.errors.UNSUPPORTED_OPERATION,{operation:\"decrypt\"});const s=t.slice(32,64),i=ln(n);if(e.address){let t=e.address.toLowerCase();if(\"0x\"!==t.substring(0,2)&&(t=\"0x\"+t),Oe(t)!==i)throw new Error(\"address mismatch\")}const o={_isKeystoreAccount:!0,address:i,privateKey:R(n)};if(\"0.1\"===ni(e,\"x-ethers/version\")){const t=ei(ni(e,\"x-ethers/mnemonicCiphertext\")),r=ei(ni(e,\"x-ethers/mnemonicCounter\")),n=new(Ys().Counter)(r),i=new(Ys().ModeOfOperation.ctr)(s,n),a=ni(e,\"x-ethers/path\")||Us,c=ni(e,\"x-ethers/locale\")||\"en\",l=k(i.decrypt(t));try{const e=Gs(l,c),t=js.fromMnemonic(e,null,c).derivePath(a);if(t.privateKey!=o.privateKey)throw new Error(\"mnemonic mismatch\");o.mnemonic=t.mnemonic}catch(e){if(e.code!==b.errors.INVALID_ARGUMENT||\"wordlist\"!==e.argument)throw e}}return new li(o)}function di(e,t,r,n,s){return k(Es(e,t,r,n,s))}function hi(e,t,r,n,s){return Promise.resolve(di(e,t,r,n,s))}function fi(e,t,r,n,s){const i=ri(t),o=ni(e,\"crypto/kdf\");if(o&&\"string\"==typeof o){const t=function(e,t){return ai.throwArgumentError(\"invalid key-derivation function parameters\",e,t)};if(\"scrypt\"===o.toLowerCase()){const r=ei(ni(e,\"crypto/kdfparams/salt\")),a=parseInt(ni(e,\"crypto/kdfparams/n\")),c=parseInt(ni(e,\"crypto/kdfparams/r\")),l=parseInt(ni(e,\"crypto/kdfparams/p\"));a&&c&&l||t(\"kdf\",o),a&a-1&&t(\"N\",a);const u=parseInt(ni(e,\"crypto/kdfparams/dklen\"));return 32!==u&&t(\"dklen\",u),n(i,r,a,c,l,64,s)}if(\"pbkdf2\"===o.toLowerCase()){const n=ei(ni(e,\"crypto/kdfparams/salt\"));let s=null;const o=ni(e,\"crypto/kdfparams/prf\");\"hmac-sha256\"===o?s=\"sha256\":\"hmac-sha512\"===o?s=\"sha512\":t(\"prf\",o);const a=parseInt(ni(e,\"crypto/kdfparams/c\")),c=parseInt(ni(e,\"crypto/kdfparams/dklen\"));return 32!==c&&t(\"dklen\",c),r(i,n,a,c,s)}}return ai.throwArgumentError(\"unsupported key-derivation function\",\"kdf\",o)}const pi=new b(ii);class mi extends ue{isCrowdsaleAccount(e){return!(!e||!e._isCrowdsaleAccount)}}function gi(e,t){const r=JSON.parse(e);t=ri(t);const n=Oe(ni(r,\"ethaddr\")),s=ei(ni(r,\"encseed\"));s&&s.length%16==0||pi.throwArgumentError(\"invalid encseed\",\"json\",e);const i=k(Es(t,t,2e3,32,\"sha256\")).slice(0,16),o=s.slice(0,16),a=s.slice(16),c=new(Ys().ModeOfOperation.cbc)(i,o),l=Ys().padding.pkcs7.strip(k(c.decrypt(a)));let u=\"\";for(let e=0;e<l.length;e++)u+=String.fromCharCode(l[e]);const d=ve(qe(u));return new mi({_isCrowdsaleAccount:!0,address:n,privateKey:d})}function yi(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return t.encseed&&t.ethaddr}function bi(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return!(!t.version||parseInt(t.version)!==t.version||3!==parseInt(t.version))}function vi(e){if(yi(e))try{return Oe(JSON.parse(e).ethaddr)}catch(e){return null}if(bi(e))try{return Oe(JSON.parse(e).address)}catch(e){return null}return null}function wi(e,t,r){if(yi(e)){r&&r(0);const n=gi(e,t);return r&&r(1),Promise.resolve(n)}return bi(e)?function(e,t,r){return oi(this,void 0,void 0,function*(){const n=JSON.parse(e);return ui(n,yield fi(n,t,hi,Qs().scrypt,r))})}(e,t,r):Promise.reject(new Error(\"invalid JSON wallet\"))}function Ai(e,t){if(yi(e))return gi(e,t);if(bi(e))return function(e,t){const r=JSON.parse(e);return ui(r,fi(r,t,di,Qs().syncScrypt))}(e,t);throw new Error(\"invalid JSON wallet\")}var Ei=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const xi=new b(\"wallet/5.8.0\");class Ti extends ur{constructor(e,t){if(super(),null!=(r=e)&&P(r.privateKey,32)&&null!=r.address){const t=new Qr(e.privateKey);if(te(this,\"_signingKey\",()=>t),te(this,\"address\",ln(this.publicKey)),this.address!==Oe(e.address)&&xi.throwArgumentError(\"privateKey/address mismatch\",\"privateKey\",\"[REDACTED]\"),function(e){const t=e.mnemonic;return t&&t.phrase}(e)){const t=e.mnemonic;te(this,\"_mnemonic\",()=>({phrase:t.phrase,path:t.path||Us,locale:t.locale||\"en\"}));const r=this.mnemonic;ln(js.fromMnemonic(r.phrase,null,r.locale).derivePath(r.path).privateKey)!==this.address&&xi.throwArgumentError(\"mnemonic/address mismatch\",\"privateKey\",\"[REDACTED]\")}else te(this,\"_mnemonic\",()=>null)}else{if(Qr.isSigningKey(e))\"secp256k1\"!==e.curve&&xi.throwArgumentError(\"unsupported curve; must be secp256k1\",\"privateKey\",\"[REDACTED]\"),te(this,\"_signingKey\",()=>e);else{\"string\"==typeof e&&e.match(/^[0-9a-f]*$/i)&&64===e.length&&(e=\"0x\"+e);const t=new Qr(e);te(this,\"_signingKey\",()=>t)}te(this,\"_mnemonic\",()=>null),te(this,\"address\",ln(this.publicKey))}var r;t&&!ir.isProvider(t)&&xi.throwArgumentError(\"invalid provider\",\"provider\",t),te(this,\"provider\",t||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(e){return new Ti(this,e)}signTransaction(e){return ne(e).then(t=>{null!=t.from&&(Oe(t.from)!==this.address&&xi.throwArgumentError(\"transaction from address mismatch\",\"transaction.from\",e.from),delete t.from);const r=this._signingKey().signDigest(ve(yn(t)));return yn(t,r)})}signMessage(e){return Ei(this,void 0,void 0,function*(){return U(this._signingKey().signDigest(Zn(e)))})}_signTypedData(e,t,r){return Ei(this,void 0,void 0,function*(){const n=yield fs.resolveNames(e,t,r,e=>(null==this.provider&&xi.throwError(\"cannot resolve ENS names without a provider\",b.errors.UNSUPPORTED_OPERATION,{operation:\"resolveName\",value:e}),this.provider.resolveName(e)));return U(this._signingKey().signDigest(fs.hash(n.domain,t,n.value)))})}encrypt(e,t,r){if(\"function\"!=typeof t||r||(r=t,t={}),r&&\"function\"!=typeof r)throw new Error(\"invalid callback\");return t||(t={}),function(e,t,r,n){try{if(Oe(e.address)!==ln(e.privateKey))throw new Error(\"address/privateKey mismatch\");if(ci(e)){const t=e.mnemonic;if(js.fromMnemonic(t.phrase,null,t.locale).derivePath(t.path||Us).privateKey!=e.privateKey)throw new Error(\"mnemonic mismatch\")}}catch(e){return Promise.reject(e)}\"function\"!=typeof r||n||(n=r,r={}),r||(r={});const s=k(e.privateKey),i=ri(t);let o=null,a=null,c=null;if(ci(e)){const t=e.mnemonic;o=k(zs(t.phrase,t.locale||\"en\")),a=t.path||Us,c=t.locale||\"en\"}let l=r.client;l||(l=\"ethers.js\");let u=null;u=r.salt?k(r.salt):$s(32);let d=null;if(r.iv){if(d=k(r.iv),16!==d.length)throw new Error(\"invalid iv\")}else d=$s(16);let h=null;if(r.uuid){if(h=k(r.uuid),16!==h.length)throw new Error(\"invalid uuid\")}else h=$s(16);let f=1<<17,p=8,m=1;return r.scrypt&&(r.scrypt.N&&(f=r.scrypt.N),r.scrypt.r&&(p=r.scrypt.r),r.scrypt.p&&(m=r.scrypt.p)),Qs().scrypt(i,u,f,p,m,64,n).then(t=>{const r=(t=k(t)).slice(0,16),n=t.slice(16,32),i=t.slice(32,64),g=new(Ys().Counter)(d),y=k(new(Ys().ModeOfOperation.ctr)(r,g).encrypt(s)),b=ve(S([n,y])),v={address:e.address.substring(2).toLowerCase(),id:si(h),version:3,crypto:{cipher:\"aes-128-ctr\",cipherparams:{iv:R(d).substring(2)},ciphertext:R(y).substring(2),kdf:\"scrypt\",kdfparams:{salt:R(u).substring(2),n:f,dklen:32,p:m,r:p},mac:b.substring(2)}};if(o){const e=$s(16),t=new(Ys().Counter)(e),r=k(new(Ys().ModeOfOperation.ctr)(i,t).encrypt(o)),n=new Date,s=n.getUTCFullYear()+\"-\"+ti(n.getUTCMonth()+1,2)+\"-\"+ti(n.getUTCDate(),2)+\"T\"+ti(n.getUTCHours(),2)+\"-\"+ti(n.getUTCMinutes(),2)+\"-\"+ti(n.getUTCSeconds(),2)+\".0Z\";v[\"x-ethers\"]={client:l,gethFilename:\"UTC--\"+s+\"--\"+v.address,mnemonicCounter:R(e).substring(2),mnemonicCiphertext:R(r).substring(2),path:a,locale:c,version:\"0.1\"}}return JSON.stringify(v)})}(this,e,t,r)}static createRandom(e){let t=$s(16);e||(e={}),e.extraEntropy&&(t=k(N(ve(S([t,e.extraEntropy])),0,16)));const r=Gs(t,e.locale);return Ti.fromMnemonic(r,e.path,e.locale)}static fromEncryptedJson(e,t,r){return wi(e,t,r).then(e=>new Ti(e))}static fromEncryptedJsonSync(e,t){return new Ti(Ai(e,t))}static fromMnemonic(e,t,r){return t||(t=Us),new Ti(js.fromMnemonic(e,null,r).derivePath(t))}}function ki(e,t){return un(Zn(e),t)}function Si(e,t,r,n){return un(fs.hash(e,t,r),n)}const Ci=\"0x0000000000000000000000000000000000000000\",Ii=\"0x0000000000000000000000000000000000000000000000000000000000000000\",Pi=\"Ξ\",Mi=new b(\"networks/5.8.0\");function Ri(e){const t=function(t,r){null==r&&(r={});const n=[];if(t.InfuraProvider&&\"-\"!==r.infura)try{n.push(new t.InfuraProvider(e,r.infura))}catch(e){}if(t.EtherscanProvider&&\"-\"!==r.etherscan)try{n.push(new t.EtherscanProvider(e,r.etherscan))}catch(e){}if(t.AlchemyProvider&&\"-\"!==r.alchemy)try{n.push(new t.AlchemyProvider(e,r.alchemy))}catch(e){}if(t.PocketProvider&&\"-\"!==r.pocket){const s=[\"goerli\",\"ropsten\",\"rinkeby\",\"sepolia\"];try{const i=new t.PocketProvider(e,r.pocket);i.network&&-1===s.indexOf(i.network.name)&&n.push(i)}catch(e){}}if(t.CloudflareProvider&&\"-\"!==r.cloudflare)try{n.push(new t.CloudflareProvider(e))}catch(e){}if(t.AnkrProvider&&\"-\"!==r.ankr)try{const s=[\"ropsten\"],i=new t.AnkrProvider(e,r.ankr);i.network&&-1===s.indexOf(i.network.name)&&n.push(i)}catch(e){}if(t.QuickNodeProvider&&\"-\"!==r.quicknode)try{n.push(new t.QuickNodeProvider(e,r.quicknode))}catch(e){}if(0===n.length)return null;if(t.FallbackProvider){let s=1;return null!=r.quorum?s=r.quorum:\"homestead\"===e&&(s=2),new t.FallbackProvider(n,s)}return n[0]};return t.renetwork=function(e){return Ri(e)},t}function Bi(e,t){const r=function(r,n){return r.JsonRpcProvider?new r.JsonRpcProvider(e,t):null};return r.renetwork=function(t){return Bi(e,t)},r}const Ni={chainId:1,ensAddress:\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",name:\"homestead\",_defaultProvider:Ri(\"homestead\")},Oi={chainId:3,ensAddress:\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",name:\"ropsten\",_defaultProvider:Ri(\"ropsten\")},_i={chainId:63,name:\"classicMordor\",_defaultProvider:Bi(\"https://www.ethercluster.com/mordor\",\"classicMordor\")},Li={unspecified:{chainId:0,name:\"unspecified\"},homestead:Ni,mainnet:Ni,morden:{chainId:2,name:\"morden\"},ropsten:Oi,testnet:Oi,rinkeby:{chainId:4,ensAddress:\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",name:\"rinkeby\",_defaultProvider:Ri(\"rinkeby\")},kovan:{chainId:42,name:\"kovan\",_defaultProvider:Ri(\"kovan\")},goerli:{chainId:5,ensAddress:\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",name:\"goerli\",_defaultProvider:Ri(\"goerli\")},kintsugi:{chainId:1337702,name:\"kintsugi\"},sepolia:{chainId:11155111,ensAddress:\"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",name:\"sepolia\",_defaultProvider:Ri(\"sepolia\")},holesky:{chainId:17e3,name:\"holesky\",_defaultProvider:Ri(\"holesky\")},classic:{chainId:61,name:\"classic\",_defaultProvider:Bi(\"https://www.ethercluster.com/etc\",\"classic\")},classicMorden:{chainId:62,name:\"classicMorden\"},classicMordor:_i,classicTestnet:_i,classicKotti:{chainId:6,name:\"classicKotti\",_defaultProvider:Bi(\"https://www.ethercluster.com/kotti\",\"classicKotti\")},xdai:{chainId:100,name:\"xdai\"},matic:{chainId:137,name:\"matic\",_defaultProvider:Ri(\"matic\")},maticmum:{chainId:80001,name:\"maticmum\",_defaultProvider:Ri(\"maticmum\")},optimism:{chainId:10,name:\"optimism\",_defaultProvider:Ri(\"optimism\")},\"optimism-kovan\":{chainId:69,name:\"optimism-kovan\"},\"optimism-goerli\":{chainId:420,name:\"optimism-goerli\"},\"optimism-sepolia\":{chainId:11155420,name:\"optimism-sepolia\"},arbitrum:{chainId:42161,name:\"arbitrum\"},\"arbitrum-rinkeby\":{chainId:421611,name:\"arbitrum-rinkeby\"},\"arbitrum-goerli\":{chainId:421613,name:\"arbitrum-goerli\"},\"arbitrum-sepolia\":{chainId:421614,name:\"arbitrum-sepolia\"},bnb:{chainId:56,name:\"bnb\"},bnbt:{chainId:97,name:\"bnbt\"}};function Di(e){if(null==e)return null;if(\"number\"==typeof e){for(const t in Li){const r=Li[t];if(r.chainId===e)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:e,name:\"unknown\"}}if(\"string\"==typeof e){const t=Li[e];return null==t?null:{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress,_defaultProvider:t._defaultProvider||null}}const t=Li[e.name];if(!t)return\"number\"!=typeof e.chainId&&Mi.throwArgumentError(\"invalid network chainId\",\"network\",e),e;0!==e.chainId&&e.chainId!==t.chainId&&Mi.throwArgumentError(\"network chainId mismatch\",\"network\",e);let r=e._defaultProvider||null;var n;return null==r&&t._defaultProvider&&(r=(n=t._defaultProvider)&&\"function\"==typeof n.renetwork?t._defaultProvider.renetwork(e):t._defaultProvider),{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:r}}function Fi(e){e=atob(e);const t=[];for(let r=0;r<e.length;r++)t.push(e.charCodeAt(r));return k(t)}function Ui(e){e=k(e);let t=\"\";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function ji(e,t){null==t&&(t=1);const r=[],n=r.forEach,s=function(e,t){n.call(e,function(e){t>0&&Array.isArray(e)?s(e,t-1):r.push(e)})};return s(e,t),r}function Hi(e){return function(e){let t=0;return()=>e[t++]}(function(e){let t=0;function r(){return e[t++]<<8|e[t++]}let n=r(),s=1,i=[0,1];for(let e=1;e<n;e++)i.push(s+=r());let o=r(),a=t;t+=o;let c=0,l=0;function u(){return 0==c&&(l=l<<8|e[t++],c=8),l>>--c&1}const d=Math.pow(2,31),h=d>>>1,f=h>>1,p=d-1;let m=0;for(let e=0;e<31;e++)m=m<<1|u();let g=[],y=0,b=d;for(;;){let e=Math.floor(((m-y+1)*s-1)/b),t=0,r=n;for(;r-t>1;){let n=t+r>>>1;e<i[n]?r=n:t=n}if(0==t)break;g.push(t);let o=y+Math.floor(b*i[t]/s),a=y+Math.floor(b*i[t+1]/s)-1;for(;0==((o^a)&h);)m=m<<1&p|u(),o=o<<1&p,a=a<<1&p|1;for(;o&~a&f;)m=m&h|m<<1&p>>>1|u(),o=o<<1^h,a=(a^h)<<1|h|1;y=o,b=1+a-o}let v=n-4;return g.map(t=>{switch(t-v){case 3:return v+65792+(e[a++]<<16|e[a++]<<8|e[a++]);case 2:return v+256+(e[a++]<<8|e[a++]);case 1:return v+e[a++];default:return t-1}})}(e))}function zi(e){return 1&e?~e>>1:e>>1}function Gi(e,t){let r=Array(e);for(let n=0,s=-1;n<e;n++)r[n]=s+=1+t();return r}function Vi(e,t){let r=Array(e);for(let n=0,s=0;n<e;n++)r[n]=s+=zi(t());return r}function qi(e,t){let r=Gi(e(),e),n=e(),s=Gi(n,e),i=function(e,t){let r=Array(e);for(let n=0;n<e;n++)r[n]=1+t();return r}(n,e);for(let e=0;e<n;e++)for(let t=0;t<i[e];t++)r.push(s[e]+t);return t?r.map(e=>t[e]):r}function Ki(e,t,r){let n=Array(e).fill(void 0).map(()=>[]);for(let s=0;s<t;s++)Vi(e,r).forEach((e,t)=>n[t].push(e));return n}function Wi(e,t){let r=1+t(),n=t(),s=function(e){let t=[];for(;;){let r=e();if(0==r)break;t.push(r)}return t}(t);return ji(Ki(s.length,1+e,t).map((e,t)=>{const i=e[0],o=e.slice(1);return Array(s[t]).fill(void 0).map((e,t)=>{let s=t*n;return[i+t*r,o.map(e=>e+s)]})}))}function Ji(e,t){return Ki(1+t(),1+e,t).map(e=>[e[0],e.slice(1)])}const $i=Hi(Fi(\"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\")),Zi=new Set(qi($i)),Yi=new Set(qi($i)),Xi=function(e){let t=[];for(;;){let r=e();if(0==r)break;t.push(Wi(r,e))}for(;;){let r=e()-1;if(r<0)break;t.push(Ji(r,e))}return function(e){const t={};for(let r=0;r<e.length;r++){const n=e[r];t[n[0]]=n[1]}return t}(ji(t))}($i),Qi=function(e){let t=qi(e).sort((e,t)=>e-t);return function r(){let n=[];for(;;){let s=qi(e,t);if(0==s.length)break;n.push({set:new Set(s),node:r()})}n.sort((e,t)=>t.set.size-e.set.size);let s=e(),i=s%3;s=s/3|0;let o=!!(1&s);return s>>=1,{branches:n,valid:i,fe0f:o,save:1==s,check:2==s}}()}($i);function eo(e){return Ze(e)}function to(e){return e.filter(e=>65039!=e)}function ro(e){for(let t of e.split(\".\")){let e=eo(t);try{for(let t=e.lastIndexOf(95)-1;t>=0;t--)if(95!==e[t])throw new Error(\"underscore only allowed at start\");if(e.length>=4&&e.every(e=>e<128)&&45===e[2]&&45===e[3])throw new Error(\"invalid label extension\")}catch(e){throw new Error(`Invalid label \"${t}\": ${e.message}`)}}return e}function no(e){return ro(function(e,t){let r=eo(e).reverse(),n=[];for(;r.length;){let e=so(r);if(e){n.push(...t(e));continue}let s=r.pop();if(Zi.has(s)){n.push(s);continue}if(Yi.has(s))continue;let i=Xi[s];if(!i)throw new Error(`Disallowed codepoint: 0x${s.toString(16).toUpperCase()}`);n.push(...i)}return ro((s=String.fromCodePoint(...n),s.normalize(\"NFC\")));var s}(e,to))}function so(e,t){var r;let n,s,i=Qi,o=[],a=e.length;for(t&&(t.length=0);a;){let c=e[--a];if(i=null===(r=i.branches.find(e=>e.set.has(c)))||void 0===r?void 0:r.node,!i)break;if(i.save)s=c;else if(i.check&&c===s)break;o.push(c),i.fe0f&&(o.push(65039),a>0&&65039==e[a-1]&&a--),i.valid&&(n=o.slice(),2==i.valid&&n.splice(1,1),t&&t.push(...e.slice(a).reverse()),e.length=a)}return n}const io=new b(Yn),oo=new Uint8Array(32);function ao(e){if(0===e.length)throw new Error(\"invalid ENS name; empty component\");return e}function co(e){const t=qe(no(e)),r=[];if(0===e.length)return r;let n=0;for(let e=0;e<t.length;e++){46===t[e]&&(r.push(ao(t.slice(n,e))),n=e+1)}if(n>=t.length)throw new Error(\"invalid ENS name; empty component\");return r.push(ao(t.slice(n))),r}function lo(e){try{return 0!==co(e).length}catch(e){}return!1}function uo(e){\"string\"!=typeof e&&io.throwArgumentError(\"invalid ENS name; not a string\",\"name\",e);let t=oo;const r=co(e);for(;r.length;)t=ve(S([t,ve(r.pop())]));return R(t)}function ho(e){return R(S(co(e).map(e=>{if(e.length>63)throw new Error(\"invalid DNS encoded entry; length exceeds 63 bytes\");const t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t})))+\"00\"}oo.fill(0);var fo=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};function po(e,t){return fo(this,void 0,void 0,function*(){null==t&&(t={});const r={method:t.method||\"GET\",headers:t.headers||{},body:t.body||void 0};if(!0!==t.skipFetchSetup&&(r.mode=\"cors\",r.cache=\"no-cache\",r.credentials=\"same-origin\",r.redirect=\"follow\",r.referrer=\"client\"),null!=t.fetchOptions){const e=t.fetchOptions;e.mode&&(r.mode=e.mode),e.cache&&(r.cache=e.cache),e.credentials&&(r.credentials=e.credentials),e.redirect&&(r.redirect=e.redirect),e.referrer&&(r.referrer=e.referrer)}const n=yield fetch(e,r),s=yield n.arrayBuffer(),i={};return n.headers.forEach?n.headers.forEach((e,t)=>{i[t.toLowerCase()]=e}):n.headers.keys().forEach(e=>{i[e.toLowerCase()]=n.headers.get(e)}),{headers:i,statusCode:n.status,statusMessage:n.statusText,body:k(new Uint8Array(s))}})}var mo=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const go=new b(\"web/5.8.0\");function yo(e){return new Promise(t=>{setTimeout(t,e)})}function bo(e,t){if(null==e)return null;if(\"string\"==typeof e)return e;if(E(e)){if(t&&(\"text\"===t.split(\"/\")[0]||\"application/json\"===t.split(\";\")[0].trim()))try{return $e(e)}catch(e){}return R(e)}return e}function vo(e,t,r){const n=\"object\"==typeof e&&null!=e.throttleLimit?e.throttleLimit:12;go.assertArgument(n>0&&n%1==0,\"invalid connection throttle limit\",\"connection.throttleLimit\",n);const s=\"object\"==typeof e?e.throttleCallback:null,i=\"object\"==typeof e&&\"number\"==typeof e.throttleSlotInterval?e.throttleSlotInterval:100;go.assertArgument(i>0&&i%1==0,\"invalid connection throttle slot interval\",\"connection.throttleSlotInterval\",i);const o=\"object\"==typeof e&&!!e.errorPassThrough,a={};let c=null;const l={method:\"GET\"};let u=!1,d=12e4;if(\"string\"==typeof e)c=e;else if(\"object\"==typeof e){if(null!=e&&null!=e.url||go.throwArgumentError(\"missing URL\",\"connection.url\",e),c=e.url,\"number\"==typeof e.timeout&&e.timeout>0&&(d=e.timeout),e.headers)for(const t in e.headers)a[t.toLowerCase()]={key:t,value:String(e.headers[t])},[\"if-none-match\",\"if-modified-since\"].indexOf(t.toLowerCase())>=0&&(u=!0);if(l.allowGzip=!!e.allowGzip,null!=e.user&&null!=e.password){\"https:\"!==c.substring(0,6)&&!0!==e.allowInsecureAuthentication&&go.throwError(\"basic authentication requires a secure https url\",b.errors.INVALID_ARGUMENT,{argument:\"url\",url:c,user:e.user,password:\"[REDACTED]\"});const t=e.user+\":\"+e.password;a.authorization={key:\"Authorization\",value:\"Basic \"+Ui(qe(t))}}null!=e.skipFetchSetup&&(l.skipFetchSetup=!!e.skipFetchSetup),null!=e.fetchOptions&&(l.fetchOptions=ie(e.fetchOptions))}const h=new RegExp(\"^data:([^;:]*)?(;base64)?,(.*)$\",\"i\"),f=c?c.match(h):null;if(f)try{const e={statusCode:200,statusMessage:\"OK\",headers:{\"content-type\":f[1]||\"text/plain\"},body:f[2]?Fi(f[3]):(p=f[3],qe(p.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16)))))};let t=e.body;return r&&(t=r(e.body,e)),Promise.resolve(t)}catch(e){go.throwError(\"processing response error\",b.errors.SERVER_ERROR,{body:bo(f[1],f[2]),error:e,requestBody:null,requestMethod:\"GET\",url:c})}var p;t&&(l.method=\"POST\",l.body=t,null==a[\"content-type\"]&&(a[\"content-type\"]={key:\"Content-Type\",value:\"application/octet-stream\"}),null==a[\"content-length\"]&&(a[\"content-length\"]={key:\"Content-Length\",value:String(t.length)}));const m={};Object.keys(a).forEach(e=>{const t=a[e];m[t.key]=t.value}),l.headers=m;const g=function(){let e=null;return{promise:new Promise(function(t,r){d&&(e=setTimeout(()=>{null!=e&&(e=null,r(go.makeError(\"timeout\",b.errors.TIMEOUT,{requestBody:bo(l.body,m[\"content-type\"]),requestMethod:l.method,timeout:d,url:c})))},d))}),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),y=function(){return mo(this,void 0,void 0,function*(){for(let e=0;e<n;e++){let t=null;try{if(t=yield po(c,l),e<n)if(301===t.statusCode||302===t.statusCode){const e=t.headers.location||\"\";if(\"GET\"===l.method&&e.match(/^https:/)){c=t.headers.location;continue}}else if(429===t.statusCode){let r=!0;if(s&&(r=yield s(e,c)),r){let r=0;const n=t.headers[\"retry-after\"];r=\"string\"==typeof n&&n.match(/^[1-9][0-9]*$/)?1e3*parseInt(n):i*parseInt(String(Math.random()*Math.pow(2,e))),yield yo(r);continue}}}catch(e){t=e.response,null==t&&(g.cancel(),go.throwError(\"missing response\",b.errors.SERVER_ERROR,{requestBody:bo(l.body,m[\"content-type\"]),requestMethod:l.method,serverError:e,url:c}))}let a=t.body;if(u&&304===t.statusCode?a=null:!o&&(t.statusCode<200||t.statusCode>=300)&&(g.cancel(),go.throwError(\"bad response\",b.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:bo(a,t.headers?t.headers[\"content-type\"]:null),requestBody:bo(l.body,m[\"content-type\"]),requestMethod:l.method,url:c})),r)try{const e=yield r(a,t);return g.cancel(),e}catch(r){if(r.throttleRetry&&e<n){let t=!0;if(s&&(t=yield s(e,c)),t){const t=i*parseInt(String(Math.random()*Math.pow(2,e)));yield yo(t);continue}}g.cancel(),go.throwError(\"processing response error\",b.errors.SERVER_ERROR,{body:bo(a,t.headers?t.headers[\"content-type\"]:null),error:r,requestBody:bo(l.body,m[\"content-type\"]),requestMethod:l.method,url:c})}return g.cancel(),a}return go.throwError(\"failed response\",b.errors.SERVER_ERROR,{requestBody:bo(l.body,m[\"content-type\"]),requestMethod:l.method,url:c})})}();return Promise.race([g.promise,y])}function wo(e,t,r){let n=null;if(null!=t){n=qe(t);const r=\"string\"==typeof e?{url:e}:ie(e);if(r.headers){0!==Object.keys(r.headers).filter(e=>\"content-type\"===e.toLowerCase()).length||(r.headers=ie(r.headers),r.headers[\"content-type\"]=\"application/json\")}else r.headers={\"content-type\":\"application/json\"};e=r}return vo(e,n,(e,t)=>{let n=null;if(null!=e)try{n=JSON.parse($e(e))}catch(t){go.throwError(\"invalid JSON\",b.errors.SERVER_ERROR,{body:e,error:t})}return r&&(n=r(n,t)),n})}function Ao(e,t){return t||(t={}),null==(t=ie(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise(function(r,n){let s=null,i=!1;const o=()=>!i&&(i=!0,s&&clearTimeout(s),!0);t.timeout&&(s=setTimeout(()=>{o()&&n(new Error(\"timeout\"))},t.timeout));const a=t.retryLimit;let c=0;!function s(){return e().then(function(e){if(void 0!==e)o()&&r(e);else if(t.oncePoll)t.oncePoll.once(\"poll\",s);else if(t.onceBlock)t.onceBlock.once(\"block\",s);else if(!i){if(c++,c>a)return void(o()&&n(new Error(\"retry limit reached\")));let e=t.interval*parseInt(String(Math.random()*Math.pow(2,c)));e<t.floor&&(e=t.floor),e>t.ceiling&&(e=t.ceiling),setTimeout(s,e)}return null},function(e){o()&&n(e)})}()})}var Eo=r(6730),xo=r.n(Eo);const To=\"providers/5.8.0\",ko=new b(To);class So{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},t=this.address.bind(this),r=this.bigNumber.bind(this),n=this.blockTag.bind(this),s=this.data.bind(this),i=this.hash.bind(this),o=this.hex.bind(this),a=this.number.bind(this),c=this.type.bind(this);return e.transaction={hash:i,type:c,accessList:So.allowNull(this.accessList.bind(this),null),blockHash:So.allowNull(i,null),blockNumber:So.allowNull(a,null),transactionIndex:So.allowNull(a,null),confirmations:So.allowNull(a,null),from:t,gasPrice:So.allowNull(r),maxPriorityFeePerGas:So.allowNull(r),maxFeePerGas:So.allowNull(r),gasLimit:r,to:So.allowNull(t,null),value:r,nonce:a,data:s,r:So.allowNull(this.uint256),s:So.allowNull(this.uint256),v:So.allowNull(a),creates:So.allowNull(t,null),raw:So.allowNull(s)},e.transactionRequest={from:So.allowNull(t),nonce:So.allowNull(a),gasLimit:So.allowNull(r),gasPrice:So.allowNull(r),maxPriorityFeePerGas:So.allowNull(r),maxFeePerGas:So.allowNull(r),to:So.allowNull(t),value:So.allowNull(r),data:So.allowNull(e=>this.data(e,!0)),type:So.allowNull(a),accessList:So.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:a,blockNumber:a,transactionHash:i,address:t,topics:So.arrayOf(i),data:s,logIndex:a,blockHash:i},e.receipt={to:So.allowNull(this.address,null),from:So.allowNull(this.address,null),contractAddress:So.allowNull(t,null),transactionIndex:a,root:So.allowNull(o),gasUsed:r,logsBloom:So.allowNull(s),blockHash:i,transactionHash:i,logs:So.arrayOf(this.receiptLog.bind(this)),blockNumber:a,confirmations:So.allowNull(a,null),cumulativeGasUsed:r,effectiveGasPrice:So.allowNull(r),status:So.allowNull(a),type:c},e.block={hash:So.allowNull(i),parentHash:i,number:a,timestamp:a,nonce:So.allowNull(o),difficulty:this.difficulty.bind(this),gasLimit:r,gasUsed:r,miner:So.allowNull(t),extraData:s,transactions:So.allowNull(So.arrayOf(i)),baseFeePerGas:So.allowNull(r)},e.blockWithTransactions=ie(e.block),e.blockWithTransactions.transactions=So.allowNull(So.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:So.allowNull(n,void 0),toBlock:So.allowNull(n,void 0),blockHash:So.allowNull(i,void 0),address:So.allowNull(t,void 0),topics:So.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:So.allowNull(a),blockHash:So.allowNull(i),transactionIndex:a,removed:So.allowNull(this.boolean.bind(this)),address:t,data:So.allowFalsish(s,\"0x\"),topics:So.arrayOf(i),transactionHash:i,logIndex:a},e}accessList(e){return fn(e||[])}number(e){return\"0x\"===e?0:J.from(e).toNumber()}type(e){return\"0x\"===e||null==e?0:J.from(e).toNumber()}bigNumber(e){return J.from(e)}boolean(e){if(\"boolean\"==typeof e)return e;if(\"string\"==typeof e){if(\"true\"===(e=e.toLowerCase()))return!0;if(\"false\"===e)return!1}throw new Error(\"invalid boolean - \"+e)}hex(e,t){return\"string\"==typeof e&&(t||\"0x\"===e.substring(0,2)||(e=\"0x\"+e),P(e))?e.toLowerCase():ko.throwArgumentError(\"invalid hash\",\"value\",e)}data(e,t){const r=this.hex(e,t);if(r.length%2!=0)throw new Error(\"invalid data; odd-length - \"+e);return r}address(e){return Oe(e)}callAddress(e){if(!P(e,32))return null;const t=Oe(N(e,12));return t===Ci?null:t}contractAddress(e){return De(e)}blockTag(e){if(null==e)return\"latest\";if(\"earliest\"===e)return\"0x0\";switch(e){case\"earliest\":return\"0x0\";case\"latest\":case\"pending\":case\"safe\":case\"finalized\":return e}if(\"number\"==typeof e||P(e))return _(e);throw new Error(\"invalid blockTag\")}hash(e,t){const r=this.hex(e,t);return 32!==B(r)?ko.throwArgumentError(\"invalid hash\",\"value\",e):r}difficulty(e){if(null==e)return null;const t=J.from(e);try{return t.toNumber()}catch(e){}return null}uint256(e){if(!P(e))throw new Error(\"invalid uint256\");return D(e,32)}_block(e,t){null!=e.author&&null==e.miner&&(e.miner=e.author);const r=null!=e._difficulty?e._difficulty:e.difficulty,n=So.check(t,e);return n._difficulty=null==r?null:J.from(r),n}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return So.check(this.formats.transactionRequest,e)}transactionResponse(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&J.from(e.to).isZero()&&(e.to=\"0x0000000000000000000000000000000000000000\"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e)),1!==e.type&&2!==e.type||null!=e.accessList||(e.accessList=[]);const t=So.check(this.formats.transaction,e);if(null!=e.chainId){let r=e.chainId;P(r)&&(r=J.from(r).toNumber()),t.chainId=r}else{let r=e.networkId;null==r&&null==t.v&&(r=e.chainId),P(r)&&(r=J.from(r).toNumber()),\"number\"!=typeof r&&null!=t.v&&(r=(t.v-35)/2,r<0&&(r=0),r=parseInt(r)),\"number\"!=typeof r&&(r=0),t.chainId=r}return t.blockHash&&\"x\"===t.blockHash.replace(/0/g,\"\")&&(t.blockHash=null),t}transaction(e){return vn(e)}receiptLog(e){return So.check(this.formats.receiptLog,e)}receipt(e){const t=So.check(this.formats.receipt,e);if(null!=t.root)if(t.root.length<=4){const e=J.from(t.root).toNumber();0===e||1===e?(null!=t.status&&t.status!==e&&ko.throwArgumentError(\"alt-root-status/status mismatch\",\"value\",{root:t.root,status:t.status}),t.status=e,delete t.root):ko.throwArgumentError(\"invalid alt-root-status\",\"value.root\",t.root)}else 66!==t.root.length&&ko.throwArgumentError(\"invalid root hash\",\"value.root\",t.root);return null!=t.status&&(t.byzantium=!0),t}topics(e){return Array.isArray(e)?e.map(e=>this.topics(e)):null!=e?this.hash(e,!0):null}filter(e){return So.check(this.formats.filter,e)}filterLog(e){return So.check(this.formats.filterLog,e)}static check(e,t){const r={};for(const n in e)try{const s=e[n](t[n]);void 0!==s&&(r[n]=s)}catch(e){throw e.checkKey=n,e.checkValue=t[n],e}return r}static allowNull(e,t){return function(r){return null==r?t:e(r)}}static allowFalsish(e,t){return function(r){return r?e(r):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw new Error(\"not an array\");const r=[];return t.forEach(function(t){r.push(e(t))}),r}}}function Co(e){return e&&\"function\"==typeof e.isCommunityResource}function Io(e){return Co(e)&&e.isCommunityResource()}let Po=!1;function Mo(){Po||(Po=!0,console.log(\"========= NOTICE =========\"),console.log(\"Request-Rate Exceeded  (this message will not be repeated)\"),console.log(\"\"),console.log(\"The default API keys for each service are provided as a highly-throttled,\"),console.log(\"community resource for low-traffic projects and early prototyping.\"),console.log(\"\"),console.log(\"While your application will continue to function, we highly recommended\"),console.log(\"signing up for your own API keys to improve performance, increase your\"),console.log(\"request rate/limit and enable other perks, such as metrics and advanced APIs.\"),console.log(\"\"),console.log(\"For more details: https://docs.ethers.io/api-keys/\"),console.log(\"==========================\"))}var Ro=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const Bo=new b(To);function No(e){return null==e?\"null\":(32!==B(e)&&Bo.throwArgumentError(\"invalid topic\",\"topic\",e),e.toLowerCase())}function Oo(e){for(e=e.slice();e.length>0&&null==e[e.length-1];)e.pop();return e.map(e=>{if(Array.isArray(e)){const t={};e.forEach(e=>{t[No(e)]=!0});const r=Object.keys(t);return r.sort(),r.join(\"|\")}return No(e)}).join(\"&\")}function _o(e){if(\"string\"==typeof e){if(32===B(e=e.toLowerCase()))return\"tx:\"+e;if(-1===e.indexOf(\":\"))return e}else{if(Array.isArray(e))return\"filter:*:\"+Oo(e);if(sr.isForkEvent(e))throw Bo.warn(\"not implemented\"),new Error(\"not implemented\");if(e&&\"object\"==typeof e)return\"filter:\"+(e.address||\"*\")+\":\"+Oo(e.topics||[])}throw new Error(\"invalid event - \"+e)}function Lo(){return(new Date).getTime()}function Do(e){return new Promise(t=>{setTimeout(t,e)})}const Fo=[\"block\",\"network\",\"pending\",\"poll\"];class Uo{constructor(e,t,r){te(this,\"tag\",e),te(this,\"listener\",t),te(this,\"once\",r),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case\"tx\":return this.hash;case\"filter\":return this.filter}return this.tag}get type(){return this.tag.split(\":\")[0]}get hash(){const e=this.tag.split(\":\");return\"tx\"!==e[0]?null:e[1]}get filter(){const e=this.tag.split(\":\");if(\"filter\"!==e[0])return null;const t=e[1],r=\"\"===(n=e[2])?[]:n.split(/&/g).map(e=>{if(\"\"===e)return[];const t=e.split(\"|\").map(e=>\"null\"===e?null:e);return 1===t.length?t[0]:t});var n;const s={};return r.length>0&&(s.topics=r),t&&\"*\"!==t&&(s.address=t),s}pollable(){return this.tag.indexOf(\":\")>=0||Fo.indexOf(this.tag)>=0}}const jo={0:{symbol:\"btc\",p2pkh:0,p2sh:5,prefix:\"bc\"},2:{symbol:\"ltc\",p2pkh:48,p2sh:50,prefix:\"ltc\"},3:{symbol:\"doge\",p2pkh:30,p2sh:22},60:{symbol:\"eth\",ilk:\"eth\"},61:{symbol:\"etc\",ilk:\"eth\"},700:{symbol:\"xdai\",ilk:\"eth\"}};function Ho(e){return D(J.from(e).toHexString(),32)}function zo(e){return ms.encode(S([e,N(vs(vs(e)),0,4)]))}const Go=new RegExp(\"^(ipfs)://(.*)$\",\"i\"),Vo=[new RegExp(\"^(https)://(.*)$\",\"i\"),new RegExp(\"^(data):(.*)$\",\"i\"),Go,new RegExp(\"^eip155:[0-9]+/(erc[0-9]+):(.*)$\",\"i\")];function qo(e,t){try{return $e(Ko(e,t))}catch(e){}return null}function Ko(e,t){if(\"0x\"===e)return null;const r=J.from(N(e,t,t+32)).toNumber(),n=J.from(N(e,r,r+32)).toNumber();return N(e,r+32,r+32+n)}function Wo(e){return e.match(/^ipfs:\\/\\/ipfs\\//i)?e=e.substring(12):e.match(/^ipfs:\\/\\//i)?e=e.substring(7):Bo.throwArgumentError(\"unsupported IPFS format\",\"link\",e),`https://gateway.ipfs.io/ipfs/${e}`}function Jo(e){const t=k(e);if(t.length>32)throw new Error(\"internal; should not happen\");const r=new Uint8Array(32);return r.set(t,32-t.length),r}function $o(e){if(e.length%32==0)return e;const t=new Uint8Array(32*Math.ceil(e.length/32));return t.set(e),t}function Zo(e){const t=[];let r=0;for(let n=0;n<e.length;n++)t.push(null),r+=32;for(let n=0;n<e.length;n++){const s=k(e[n]);t[n]=Jo(r),t.push(Jo(s.length)),t.push($o(s)),r+=32+32*Math.ceil(s.length/32)}return O(t)}class Yo{constructor(e,t,r,n){te(this,\"provider\",e),te(this,\"name\",r),te(this,\"address\",e.formatter.address(t)),te(this,\"_resolvedAddress\",n)}supportsWildcard(){return this._supportsEip2544||(this._supportsEip2544=this.provider.call({to:this.address,data:\"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000\"}).then(e=>J.from(e).eq(1)).catch(e=>{if(e.code===b.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e})),this._supportsEip2544}_fetch(e,t){return Ro(this,void 0,void 0,function*(){const r={to:this.address,ccipReadEnabled:!0,data:O([e,uo(this.name),t||\"0x\"])};let n=!1;(yield this.supportsWildcard())&&(n=!0,r.data=O([\"0x9061b923\",Zo([ho(this.name),r.data])]));try{let e=yield this.provider.call(r);return k(e).length%32==4&&Bo.throwError(\"resolver threw error\",b.errors.CALL_EXCEPTION,{transaction:r,data:e}),n&&(e=Ko(e,0)),e}catch(e){if(e.code===b.errors.CALL_EXCEPTION)return null;throw e}})}_fetchBytes(e,t){return Ro(this,void 0,void 0,function*(){const r=yield this._fetch(e,t);return null!=r?Ko(r,0):null})}_getAddress(e,t){const r=jo[String(e)];if(null==r&&Bo.throwError(`unsupported coin type: ${e}`,b.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),\"eth\"===r.ilk)return this.provider.formatter.address(t);const n=k(t);if(null!=r.p2pkh){const e=t.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return zo(S([[r.p2pkh],\"0x\"+e[2]]))}}if(null!=r.p2sh){const e=t.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return zo(S([[r.p2sh],\"0x\"+e[2]]))}}if(null!=r.prefix){const e=n[1];let t=n[0];if(0===t?20!==e&&32!==e&&(t=-1):t=-1,t>=0&&n.length===2+e&&e>=1&&e<=75){const e=xo().toWords(n.slice(2));return e.unshift(t),xo().encode(r.prefix,e)}}return null}getAddress(e){return Ro(this,void 0,void 0,function*(){if(null==e&&(e=60),60===e)try{const e=yield this._fetch(\"0x3b3b57de\");return\"0x\"===e||e===Ii?null:this.provider.formatter.callAddress(e)}catch(e){if(e.code===b.errors.CALL_EXCEPTION)return null;throw e}const t=yield this._fetchBytes(\"0xf1cb7e06\",Ho(e));if(null==t||\"0x\"===t)return null;const r=this._getAddress(e,t);return null==r&&Bo.throwError(\"invalid or unsupported coin data\",b.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:t}),r})}getAvatar(){return Ro(this,void 0,void 0,function*(){const e=[{type:\"name\",content:this.name}];try{const t=yield this.getText(\"avatar\");if(null==t)return null;for(let r=0;r<Vo.length;r++){const n=t.match(Vo[r]);if(null==n)continue;const s=n[1].toLowerCase();switch(s){case\"https\":return e.push({type:\"url\",content:t}),{linkage:e,url:t};case\"data\":return e.push({type:\"data\",content:t}),{linkage:e,url:t};case\"ipfs\":return e.push({type:\"ipfs\",content:t}),{linkage:e,url:Wo(t)};case\"erc721\":case\"erc1155\":{const r=\"erc721\"===s?\"0xc87b56dd\":\"0x0e89341c\";e.push({type:s,content:t});const i=this._resolvedAddress||(yield this.getAddress()),o=(n[2]||\"\").split(\"/\");if(2!==o.length)return null;const a=yield this.provider.formatter.address(o[0]),c=D(J.from(o[1]).toHexString(),32);if(\"erc721\"===s){const t=this.provider.formatter.callAddress(yield this.provider.call({to:a,data:O([\"0x6352211e\",c])}));if(i!==t)return null;e.push({type:\"owner\",content:t})}else if(\"erc1155\"===s){const t=J.from(yield this.provider.call({to:a,data:O([\"0x00fdd58e\",D(i,32),c])}));if(t.isZero())return null;e.push({type:\"balance\",content:t.toString()})}const l={to:this.provider.formatter.address(o[0]),data:O([r,c])};let u=qo(yield this.provider.call(l),0);if(null==u)return null;e.push({type:\"metadata-url-base\",content:u}),\"erc1155\"===s&&(u=u.replace(\"{id}\",c.substring(2)),e.push({type:\"metadata-url-expanded\",content:u})),u.match(/^ipfs:/i)&&(u=Wo(u)),e.push({type:\"metadata-url\",content:u});const d=yield wo(u);if(!d)return null;e.push({type:\"metadata\",content:JSON.stringify(d)});let h=d.image;if(\"string\"!=typeof h)return null;if(h.match(/^(https:\\/\\/|data:)/i));else{if(null==h.match(Go))return null;e.push({type:\"url-ipfs\",content:h}),h=Wo(h)}return e.push({type:\"url\",content:h}),{linkage:e,url:h}}}}}catch(e){}return null})}getContentHash(){return Ro(this,void 0,void 0,function*(){const e=yield this._fetchBytes(\"0xbc1c58d1\");if(null==e||\"0x\"===e)return null;const t=e.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const e=parseInt(t[3],16);if(t[4].length===2*e)return\"ipfs://\"+ms.encode(\"0x\"+t[1])}const r=e.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(r){const e=parseInt(r[3],16);if(r[4].length===2*e)return\"ipns://\"+ms.encode(\"0x\"+r[1])}const n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&64===n[1].length)return\"bzz://\"+n[1];const s=e.match(/^0x90b2c605([0-9a-f]*)$/);if(s&&68===s[1].length){const e={\"=\":\"\",\"+\":\"-\",\"/\":\"_\"};return\"sia://\"+Ui(\"0x\"+s[1]).replace(/[=+\\/]/g,t=>e[t])}return Bo.throwError(\"invalid or unsupported content hash data\",b.errors.UNSUPPORTED_OPERATION,{operation:\"getContentHash()\",data:e})})}getText(e){return Ro(this,void 0,void 0,function*(){let t=qe(e);t=S([Ho(64),Ho(t.length),t]),t.length%32!=0&&(t=S([t,D(\"0x\",32-e.length%32)]));const r=yield this._fetchBytes(\"0x59d1d43c\",R(t));return null==r||\"0x\"===r?null:$e(r)})}}let Xo=null,Qo=1;class ea extends ir{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),te(this,\"anyNetwork\",\"any\"===e),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch(e=>{}),this._ready().catch(e=>{});else{const t=re(new.target,\"getNetwork\")(e);t?(te(this,\"_network\",t),this.emit(\"network\",t,null)):Bo.throwArgumentError(\"invalid network\",\"network\",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return Ro(this,void 0,void 0,function*(){if(null==this._network){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch(e){}null==e&&(e=yield this.detectNetwork()),e||Bo.throwError(\"no network detected\",b.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:te(this,\"_network\",e),this.emit(\"network\",e,null))}return this._network})}get ready(){return Ao(()=>this._ready().then(e=>e,e=>{if(e.code!==b.errors.NETWORK_ERROR||\"noNetwork\"!==e.event)throw e}))}static getFormatter(){return null==Xo&&(Xo=new So),Xo}static getNetwork(e){return Di(null==e?\"homestead\":e)}ccipReadFetch(e,t,r){return Ro(this,void 0,void 0,function*(){if(this.disableCcipRead||0===r.length)return null;const n=e.to.toLowerCase(),s=t.toLowerCase(),i=[];for(let e=0;e<r.length;e++){const t=r[e],o=t.replace(\"{sender}\",n).replace(\"{data}\",s),a=t.indexOf(\"{data}\")>=0?null:JSON.stringify({data:s,sender:n}),c=yield wo({url:o,errorPassThrough:!0},a,(e,t)=>(e.status=t.statusCode,e));if(c.data)return c.data;const l=c.message||\"unknown error\";if(c.status>=400&&c.status<500)return Bo.throwError(`response not found during CCIP fetch: ${l}`,b.errors.SERVER_ERROR,{url:t,errorMessage:l});i.push(l)}return Bo.throwError(`error encountered during CCIP fetch: ${i.map(e=>JSON.stringify(e)).join(\", \")}`,b.errors.SERVER_ERROR,{urls:r,errorMessages:i})})}_getInternalBlockNumber(e){return Ro(this,void 0,void 0,function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const t=this._internalBlockNumber;try{const r=yield t;if(Lo()-r.respTime<=e)return r.blockNumber;break}catch(e){if(this._internalBlockNumber===t)break}}const t=Lo(),r=ne({blockNumber:this.perform(\"getBlockNumber\",{}),networkError:this.getNetwork().then(e=>null,e=>e)}).then(({blockNumber:e,networkError:n})=>{if(n)throw this._internalBlockNumber===r&&(this._internalBlockNumber=null),n;const s=Lo();return(e=J.from(e).toNumber())<this._maxInternalBlockNumber&&(e=this._maxInternalBlockNumber),this._maxInternalBlockNumber=e,this._setFastBlockNumber(e),{blockNumber:e,reqTime:t,respTime:s}});return this._internalBlockNumber=r,r.catch(e=>{this._internalBlockNumber===r&&(this._internalBlockNumber=null)}),(yield r).blockNumber})}poll(){return Ro(this,void 0,void 0,function*(){const e=Qo++,t=[];let r=null;try{r=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(e){return void this.emit(\"error\",e)}if(this._setFastBlockNumber(r),this.emit(\"poll\",e,r),r!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=r-1),Math.abs(this._emitted.block-r)>1e3)Bo.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${r})`),this.emit(\"error\",Bo.makeError(\"network block skew detected\",b.errors.NETWORK_ERROR,{blockNumber:r,event:\"blockSkew\",previousBlockNumber:this._emitted.block})),this.emit(\"block\",r);else for(let e=this._emitted.block+1;e<=r;e++)this.emit(\"block\",e);this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach(e=>{if(\"block\"===e)return;const t=this._emitted[e];\"pending\"!==t&&r-t>12&&delete this._emitted[e]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach(e=>{switch(e.type){case\"tx\":{const r=e.hash;let n=this.getTransactionReceipt(r).then(e=>e&&null!=e.blockNumber?(this._emitted[\"t:\"+r]=e.blockNumber,this.emit(r,e),null):null).catch(e=>{this.emit(\"error\",e)});t.push(n);break}case\"filter\":if(!e._inflight){e._inflight=!0,-2===e._lastBlockNumber&&(e._lastBlockNumber=r-1);const n=e.filter;n.fromBlock=e._lastBlockNumber+1,n.toBlock=r;const s=n.toBlock-this._maxFilterBlockRange;s>n.fromBlock&&(n.fromBlock=s),n.fromBlock<0&&(n.fromBlock=0);const i=this.getLogs(n).then(t=>{e._inflight=!1,0!==t.length&&t.forEach(t=>{t.blockNumber>e._lastBlockNumber&&(e._lastBlockNumber=t.blockNumber),this._emitted[\"b:\"+t.blockHash]=t.blockNumber,this._emitted[\"t:\"+t.transactionHash]=t.blockNumber,this.emit(n,t)})}).catch(t=>{this.emit(\"error\",t),e._inflight=!1});t.push(i)}}}),this._lastBlockNumber=r,Promise.all(t).then(()=>{this.emit(\"didPoll\",e)}).catch(e=>{this.emit(\"error\",e)})}else this.emit(\"didPoll\",e)})}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return Ro(this,void 0,void 0,function*(){return Bo.throwError(\"provider does not support network detection\",b.errors.UNSUPPORTED_OPERATION,{operation:\"provider.detectNetwork\"})})}getNetwork(){return Ro(this,void 0,void 0,function*(){const e=yield this._ready(),t=yield this.detectNetwork();if(e.chainId!==t.chainId){if(this.anyNetwork)return this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit(\"network\",t,e),yield Do(0),this._network;const r=Bo.makeError(\"underlying network changed\",b.errors.NETWORK_ERROR,{event:\"changed\",network:e,detectedNetwork:t});throw this.emit(\"error\",r),r}return e})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(e=>{this._setFastBlockNumber(e)},e=>{}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(e){e&&!this._poller?(this._poller=setInterval(()=>{this.poll()},this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if(\"number\"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error(\"invalid polling interval\");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const e=Lo();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then(e=>((null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(e){null!=this._fastBlockNumber&&e<this._fastBlockNumber||(this._fastQueryDate=Lo(),(null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,r){return Ro(this,void 0,void 0,function*(){return this._waitForTransaction(e,null==t?1:t,r||0,null)})}_waitForTransaction(e,t,r,n){return Ro(this,void 0,void 0,function*(){const s=yield this.getTransactionReceipt(e);return(s?s.confirmations:0)>=t?s:new Promise((s,i)=>{const o=[];let a=!1;const c=function(){return!!a||(a=!0,o.forEach(e=>{e()}),!1)},l=e=>{e.confirmations<t||c()||s(e)};if(this.on(e,l),o.push(()=>{this.removeListener(e,l)}),n){let r=n.startBlock,s=null;const l=o=>Ro(this,void 0,void 0,function*(){a||(yield Do(1e3),this.getTransactionCount(n.from).then(u=>Ro(this,void 0,void 0,function*(){if(!a){if(u<=n.nonce)r=o;else{{const t=yield this.getTransaction(e);if(t&&null!=t.blockNumber)return}for(null==s&&(s=r-3,s<n.startBlock&&(s=n.startBlock));s<=o;){if(a)return;const r=yield this.getBlockWithTransactions(s);for(let s=0;s<r.transactions.length;s++){const o=r.transactions[s];if(o.hash===e)return;if(o.from===n.from&&o.nonce===n.nonce){if(a)return;const r=yield this.waitForTransaction(o.hash,t);if(c())return;let s=\"replaced\";return o.data===n.data&&o.to===n.to&&o.value.eq(n.value)?s=\"repriced\":\"0x\"===o.data&&o.from===o.to&&o.value.isZero()&&(s=\"cancelled\"),void i(Bo.makeError(\"transaction was replaced\",b.errors.TRANSACTION_REPLACED,{cancelled:\"replaced\"===s||\"cancelled\"===s,reason:s,replacement:this._wrapTransaction(o),hash:e,receipt:r}))}}s++}}a||this.once(\"block\",l)}}),e=>{a||this.once(\"block\",l)}))});if(a)return;this.once(\"block\",l),o.push(()=>{this.removeListener(\"block\",l)})}if(\"number\"==typeof r&&r>0){const e=setTimeout(()=>{c()||i(Bo.makeError(\"timeout exceeded\",b.errors.TIMEOUT,{timeout:r}))},r);e.unref&&e.unref(),o.push(()=>{clearTimeout(e)})}})})}getBlockNumber(){return Ro(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const e=yield this.perform(\"getGasPrice\",{});try{return J.from(e)}catch(t){return Bo.throwError(\"bad result from backend\",b.errors.SERVER_ERROR,{method:\"getGasPrice\",result:e,error:t})}})}getBalance(e,t){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform(\"getBalance\",r);try{return J.from(n)}catch(e){return Bo.throwError(\"bad result from backend\",b.errors.SERVER_ERROR,{method:\"getBalance\",params:r,result:n,error:e})}})}getTransactionCount(e,t){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform(\"getTransactionCount\",r);try{return J.from(n).toNumber()}catch(e){return Bo.throwError(\"bad result from backend\",b.errors.SERVER_ERROR,{method:\"getTransactionCount\",params:r,result:n,error:e})}})}getCode(e,t){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform(\"getCode\",r);try{return R(n)}catch(e){return Bo.throwError(\"bad result from backend\",b.errors.SERVER_ERROR,{method:\"getCode\",params:r,result:n,error:e})}})}getStorageAt(e,t,r){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(r),position:Promise.resolve(t).then(e=>_(e))}),s=yield this.perform(\"getStorageAt\",n);try{return R(s)}catch(e){return Bo.throwError(\"bad result from backend\",b.errors.SERVER_ERROR,{method:\"getStorageAt\",params:n,result:s,error:e})}})}_wrapTransaction(e,t,r){if(null!=t&&32!==B(t))throw new Error(\"invalid response - sendTransaction\");const n=e;return null!=t&&e.hash!==t&&Bo.throwError(\"Transaction hash mismatch from Provider.sendTransaction.\",b.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),n.wait=(t,n)=>Ro(this,void 0,void 0,function*(){let s;null==t&&(t=1),null==n&&(n=0),0!==t&&null!=r&&(s={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:r});const i=yield this._waitForTransaction(e.hash,t,n,s);return null==i&&0===t?null:(this._emitted[\"t:\"+e.hash]=i.blockNumber,0===i.status&&Bo.throwError(\"transaction failed\",b.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:i}),i)}),n}sendTransaction(e){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const t=yield Promise.resolve(e).then(e=>R(e)),r=this.formatter.transaction(e);null==r.confirmations&&(r.confirmations=0);const n=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const e=yield this.perform(\"sendTransaction\",{signedTransaction:t});return this._wrapTransaction(r,e,n)}catch(e){throw e.transaction=r,e.transactionHash=r.hash,e}})}_getTransactionRequest(e){return Ro(this,void 0,void 0,function*(){const t=yield e,r={};return[\"from\",\"to\"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?this._getAddress(e):null))}),[\"gasLimit\",\"gasPrice\",\"maxFeePerGas\",\"maxPriorityFeePerGas\",\"value\"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?J.from(e):null))}),[\"type\"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>null!=e?e:null))}),t.accessList&&(r.accessList=this.formatter.accessList(t.accessList)),[\"data\"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?R(e):null))}),this.formatter.transactionRequest(yield ne(r))})}_getFilter(e){return Ro(this,void 0,void 0,function*(){e=yield e;const t={};return null!=e.address&&(t.address=this._getAddress(e.address)),[\"blockHash\",\"topics\"].forEach(r=>{null!=e[r]&&(t[r]=e[r])}),[\"fromBlock\",\"toBlock\"].forEach(r=>{null!=e[r]&&(t[r]=this._getBlockTag(e[r]))}),this.formatter.filter(yield ne(t))})}_call(e,t,r){return Ro(this,void 0,void 0,function*(){r>=10&&Bo.throwError(\"CCIP read exceeded maximum redirections\",b.errors.SERVER_ERROR,{redirects:r,transaction:e});const n=e.to,s=yield this.perform(\"call\",{transaction:e,blockTag:t});if(r>=0&&\"latest\"===t&&null!=n&&\"0x556f1830\"===s.substring(0,10)&&B(s)%32==4)try{const i=N(s,4),o=N(i,0,32);J.from(o).eq(n)||Bo.throwError(\"CCIP Read sender did not match\",b.errors.CALL_EXCEPTION,{name:\"OffchainLookup\",signature:\"OffchainLookup(address,string[],bytes,bytes4,bytes)\",transaction:e,data:s});const a=[],c=J.from(N(i,32,64)).toNumber(),l=J.from(N(i,c,c+32)).toNumber(),u=N(i,c+32);for(let t=0;t<l;t++){const r=qo(u,32*t);null==r&&Bo.throwError(\"CCIP Read contained corrupt URL string\",b.errors.CALL_EXCEPTION,{name:\"OffchainLookup\",signature:\"OffchainLookup(address,string[],bytes,bytes4,bytes)\",transaction:e,data:s}),a.push(r)}const d=Ko(i,64);J.from(N(i,100,128)).isZero()||Bo.throwError(\"CCIP Read callback selector included junk\",b.errors.CALL_EXCEPTION,{name:\"OffchainLookup\",signature:\"OffchainLookup(address,string[],bytes,bytes4,bytes)\",transaction:e,data:s});const h=N(i,96,100),f=Ko(i,128),p=yield this.ccipReadFetch(e,d,a);null==p&&Bo.throwError(\"CCIP Read disabled or provided no URLs\",b.errors.CALL_EXCEPTION,{name:\"OffchainLookup\",signature:\"OffchainLookup(address,string[],bytes,bytes4,bytes)\",transaction:e,data:s});const m={to:n,data:O([h,Zo([p,f])])};return this._call(m,t,r+1)}catch(e){if(e.code===b.errors.SERVER_ERROR)throw e}try{return R(s)}catch(r){return Bo.throwError(\"bad result from backend\",b.errors.SERVER_ERROR,{method:\"call\",params:{transaction:e,blockTag:t},result:s,error:r})}})}call(e,t){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield ne({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t),ccipReadEnabled:Promise.resolve(e.ccipReadEnabled)});return this._call(r.transaction,r.blockTag,r.ccipReadEnabled?0:-1)})}estimateGas(e){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const t=yield ne({transaction:this._getTransactionRequest(e)}),r=yield this.perform(\"estimateGas\",t);try{return J.from(r)}catch(e){return Bo.throwError(\"bad result from backend\",b.errors.SERVER_ERROR,{method:\"estimateGas\",params:t,result:r,error:e})}})}_getAddress(e){return Ro(this,void 0,void 0,function*(){\"string\"!=typeof(e=yield e)&&Bo.throwArgumentError(\"invalid address or ENS name\",\"name\",e);const t=yield this.resolveName(e);return null==t&&Bo.throwError(\"ENS name not configured\",b.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(e)})`}),t})}_getBlock(e,t){return Ro(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;let r=-128;const n={includeTransactions:!!t};if(P(e,32))n.blockHash=e;else try{n.blockTag=yield this._getBlockTag(e),P(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16))}catch(t){Bo.throwArgumentError(\"invalid block hash or block tag\",\"blockHashOrBlockTag\",e)}return Ao(()=>Ro(this,void 0,void 0,function*(){const e=yield this.perform(\"getBlock\",n);if(null==e)return null!=n.blockHash&&null==this._emitted[\"b:\"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?null:void 0;if(t){let t=null;for(let r=0;r<e.transactions.length;r++){const n=e.transactions[r];if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){null==t&&(t=yield this._getInternalBlockNumber(100+2*this.pollingInterval));let e=t-n.blockNumber+1;e<=0&&(e=1),n.confirmations=e}}const r=this.formatter.blockWithTransactions(e);return r.transactions=r.transactions.map(e=>this._wrapTransaction(e)),r}return this.formatter.block(e)}),{oncePoll:this})})}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return Ro(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return Ao(()=>Ro(this,void 0,void 0,function*(){const r=yield this.perform(\"getTransaction\",t);if(null==r)return null==this._emitted[\"t:\"+e]?null:void 0;const n=this.formatter.transactionResponse(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;e<=0&&(e=1),n.confirmations=e}return this._wrapTransaction(n)}),{oncePoll:this})})}getTransactionReceipt(e){return Ro(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return Ao(()=>Ro(this,void 0,void 0,function*(){const r=yield this.perform(\"getTransactionReceipt\",t);if(null==r)return null==this._emitted[\"t:\"+e]?null:void 0;if(null==r.blockHash)return;const n=this.formatter.receipt(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;e<=0&&(e=1),n.confirmations=e}return n}),{oncePoll:this})})}getLogs(e){return Ro(this,void 0,void 0,function*(){yield this.getNetwork();const t=yield ne({filter:this._getFilter(e)}),r=yield this.perform(\"getLogs\",t);return r.forEach(e=>{null==e.removed&&(e.removed=!1)}),So.arrayOf(this.formatter.filterLog.bind(this.formatter))(r)})}getEtherPrice(){return Ro(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform(\"getEtherPrice\",{})})}_getBlockTag(e){return Ro(this,void 0,void 0,function*(){if(\"number\"==typeof(e=yield e)&&e<0){e%1&&Bo.throwArgumentError(\"invalid BlockTag\",\"blockTag\",e);let t=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return t+=e,t<0&&(t=0),this.formatter.blockTag(t)}return this.formatter.blockTag(e)})}getResolver(e){return Ro(this,void 0,void 0,function*(){let t=e;for(;;){if(\"\"===t||\".\"===t)return null;if(\"eth\"!==e&&\"eth\"===t)return null;const r=yield this._getResolver(t,\"getResolver\");if(null!=r){const n=new Yo(this,r,e);return t===e||(yield n.supportsWildcard())?n:null}t=t.split(\".\").slice(1).join(\".\")}})}_getResolver(e,t){return Ro(this,void 0,void 0,function*(){null==t&&(t=\"ENS\");const r=yield this.getNetwork();r.ensAddress||Bo.throwError(\"network does not support ENS\",b.errors.UNSUPPORTED_OPERATION,{operation:t,network:r.name});try{const t=yield this.call({to:r.ensAddress,data:\"0x0178b8bf\"+uo(e).substring(2)});return this.formatter.callAddress(t)}catch(e){}return null})}resolveName(e){return Ro(this,void 0,void 0,function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(t){if(P(e))throw t}\"string\"!=typeof e&&Bo.throwArgumentError(\"invalid ENS name\",\"name\",e);const t=yield this.getResolver(e);return t?yield t.getAddress():null})}lookupAddress(e){return Ro(this,void 0,void 0,function*(){e=yield e;const t=(e=this.formatter.address(e)).substring(2).toLowerCase()+\".addr.reverse\",r=yield this._getResolver(t,\"lookupAddress\");if(null==r)return null;const n=qo(yield this.call({to:r,data:\"0x691f3431\"+uo(t).substring(2)}),0);return(yield this.resolveName(n))!=e?null:n})}getAvatar(e){return Ro(this,void 0,void 0,function*(){let t=null;if(P(e)){const r=this.formatter.address(e).substring(2).toLowerCase()+\".addr.reverse\",n=yield this._getResolver(r,\"getAvatar\");if(!n)return null;t=new Yo(this,n,r);try{const e=yield t.getAvatar();if(e)return e.url}catch(e){if(e.code!==b.errors.CALL_EXCEPTION)throw e}try{const e=qo(yield this.call({to:n,data:\"0x691f3431\"+uo(r).substring(2)}),0);t=yield this.getResolver(e)}catch(e){if(e.code!==b.errors.CALL_EXCEPTION)throw e;return null}}else if(t=yield this.getResolver(e),!t)return null;const r=yield t.getAvatar();return null==r?null:r.url})}perform(e,t){return Bo.throwError(e+\" not implemented\",b.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_stopEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_addEventListener(e,t,r){const n=new Uo(_o(e),t,r);return this._events.push(n),this._startEvent(n),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let r=!1,n=[],s=_o(e);return this._events=this._events.filter(e=>e.tag!==s||(setTimeout(()=>{e.listener.apply(this,t)},0),r=!0,!e.once||(n.push(e),!1))),n.forEach(e=>{this._stopEvent(e)}),r}listenerCount(e){if(!e)return this._events.length;let t=_o(e);return this._events.filter(e=>e.tag===t).length}listeners(e){if(null==e)return this._events.map(e=>e.listener);let t=_o(e);return this._events.filter(e=>e.tag===t).map(e=>e.listener)}off(e,t){if(null==t)return this.removeAllListeners(e);const r=[];let n=!1,s=_o(e);return this._events=this._events.filter(e=>e.tag!==s||e.listener!=t||(!!n||(n=!0,r.push(e),!1))),r.forEach(e=>{this._stopEvent(e)}),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{const r=_o(e);this._events=this._events.filter(e=>e.tag!==r||(t.push(e),!1))}return t.forEach(e=>{this._stopEvent(e)}),this}}var ta=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const ra=new b(To),na=[\"call\",\"estimateGas\"];function sa(e,t){if(null==e)return null;if(\"string\"==typeof e.message&&e.message.match(\"reverted\")){const r=P(e.data)?e.data:null;if(!t||r)return{message:e.message,data:r}}if(\"object\"==typeof e){for(const r in e){const n=sa(e[r],t);if(n)return n}return null}if(\"string\"==typeof e)try{return sa(JSON.parse(e),t)}catch(e){}return null}function ia(e,t,r){const n=r.transaction||r.signedTransaction;if(\"call\"===e){const e=sa(t,!0);if(e)return e.data;ra.throwError(\"missing revert data in call exception; Transaction reverted without a reason string\",b.errors.CALL_EXCEPTION,{data:\"0x\",transaction:n,error:t})}if(\"estimateGas\"===e){let r=sa(t.body,!1);null==r&&(r=sa(t,!1)),r&&ra.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\",b.errors.UNPREDICTABLE_GAS_LIMIT,{reason:r.message,method:e,transaction:n,error:t})}let s=t.message;throw t.code===b.errors.SERVER_ERROR&&t.error&&\"string\"==typeof t.error.message?s=t.error.message:\"string\"==typeof t.body?s=t.body:\"string\"==typeof t.responseText&&(s=t.responseText),s=(s||\"\").toLowerCase(),s.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&ra.throwError(\"insufficient funds for intrinsic transaction cost\",b.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:n}),s.match(/nonce (is )?too low/i)&&ra.throwError(\"nonce has already been used\",b.errors.NONCE_EXPIRED,{error:t,method:e,transaction:n}),s.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&ra.throwError(\"replacement fee too low\",b.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:n}),s.match(/only replay-protected/i)&&ra.throwError(\"legacy pre-eip-155 transactions not supported\",b.errors.UNSUPPORTED_OPERATION,{error:t,method:e,transaction:n}),na.indexOf(e)>=0&&s.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&ra.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\",b.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:n}),t}function oa(e){return new Promise(function(t){setTimeout(t,e)})}function aa(e){if(e.error){const t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function ca(e){return e?e.toLowerCase():e}const la={};class ua extends ur{constructor(e,t,r){if(super(),e!==la)throw new Error(\"do not call the JsonRpcSigner constructor directly; use provider.getSigner\");te(this,\"provider\",t),null==r&&(r=0),\"string\"==typeof r?(te(this,\"_address\",this.provider.formatter.address(r)),te(this,\"_index\",null)):\"number\"==typeof r?(te(this,\"_index\",r),te(this,\"_address\",null)):ra.throwArgumentError(\"invalid address or index\",\"addressOrIndex\",r)}connect(e){return ra.throwError(\"cannot alter JSON-RPC Signer connection\",b.errors.UNSUPPORTED_OPERATION,{operation:\"connect\"})}connectUnchecked(){return new da(la,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send(\"eth_accounts\",[]).then(e=>(e.length<=this._index&&ra.throwError(\"unknown account #\"+this._index,b.errors.UNSUPPORTED_OPERATION,{operation:\"getAddress\"}),this.provider.formatter.address(e[this._index])))}sendUncheckedTransaction(e){e=ie(e);const t=this.getAddress().then(e=>(e&&(e=e.toLowerCase()),e));if(null==e.gasLimit){const r=ie(e);r.from=t,e.gasLimit=this.provider.estimateGas(r)}return null!=e.to&&(e.to=Promise.resolve(e.to).then(e=>ta(this,void 0,void 0,function*(){if(null==e)return null;const t=yield this.provider.resolveName(e);return null==t&&ra.throwArgumentError(\"provided ENS name resolves to null\",\"tx.to\",e),t}))),ne({tx:ne(e),sender:t}).then(({tx:t,sender:r})=>{null!=t.from?t.from.toLowerCase()!==r&&ra.throwArgumentError(\"from address mismatch\",\"transaction\",e):t.from=r;const n=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send(\"eth_sendTransaction\",[n]).then(e=>e,e=>(\"string\"==typeof e.message&&e.message.match(/user denied/i)&&ra.throwError(\"user rejected transaction\",b.errors.ACTION_REJECTED,{action:\"sendTransaction\",transaction:t}),ia(\"sendTransaction\",e,n)))})}signTransaction(e){return ra.throwError(\"signing transactions is unsupported\",b.errors.UNSUPPORTED_OPERATION,{operation:\"signTransaction\"})}sendTransaction(e){return ta(this,void 0,void 0,function*(){const t=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),r=yield this.sendUncheckedTransaction(e);try{return yield Ao(()=>ta(this,void 0,void 0,function*(){const e=yield this.provider.getTransaction(r);if(null!==e)return this.provider._wrapTransaction(e,r,t)}),{oncePoll:this.provider})}catch(e){throw e.transactionHash=r,e}})}signMessage(e){return ta(this,void 0,void 0,function*(){const t=\"string\"==typeof e?qe(e):e,r=yield this.getAddress();try{return yield this.provider.send(\"personal_sign\",[R(t),r.toLowerCase()])}catch(t){throw\"string\"==typeof t.message&&t.message.match(/user denied/i)&&ra.throwError(\"user rejected signing\",b.errors.ACTION_REJECTED,{action:\"signMessage\",from:r,messageData:e}),t}})}_legacySignMessage(e){return ta(this,void 0,void 0,function*(){const t=\"string\"==typeof e?qe(e):e,r=yield this.getAddress();try{return yield this.provider.send(\"eth_sign\",[r.toLowerCase(),R(t)])}catch(t){throw\"string\"==typeof t.message&&t.message.match(/user denied/i)&&ra.throwError(\"user rejected signing\",b.errors.ACTION_REJECTED,{action:\"_legacySignMessage\",from:r,messageData:e}),t}})}_signTypedData(e,t,r){return ta(this,void 0,void 0,function*(){const n=yield fs.resolveNames(e,t,r,e=>this.provider.resolveName(e)),s=yield this.getAddress();try{return yield this.provider.send(\"eth_signTypedData_v4\",[s.toLowerCase(),JSON.stringify(fs.getPayload(n.domain,t,n.value))])}catch(e){throw\"string\"==typeof e.message&&e.message.match(/user denied/i)&&ra.throwError(\"user rejected signing\",b.errors.ACTION_REJECTED,{action:\"_signTypedData\",from:s,messageData:{domain:n.domain,types:t,value:n.value}}),e}})}unlock(e){return ta(this,void 0,void 0,function*(){const t=this.provider,r=yield this.getAddress();return t.send(\"personal_unlockAccount\",[r.toLowerCase(),e,null])})}}class da extends ua{sendTransaction(e){return this.sendUncheckedTransaction(e).then(e=>({hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:t=>this.provider.waitForTransaction(e,t)}))}}const ha={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class fa extends ea{constructor(e,t){let r=t;null==r&&(r=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(t=>{e(t)},e=>{t(e)})},0)})),super(r),e||(e=re(this.constructor,\"defaultUrl\")()),te(this,\"connection\",\"string\"==typeof e?Object.freeze({url:e}):Object.freeze(ie(e))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return\"http://localhost:8545\"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout(()=>{this._cache.detectNetwork=null},0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return ta(this,void 0,void 0,function*(){yield oa(0);let e=null;try{e=yield this.send(\"eth_chainId\",[])}catch(t){try{e=yield this.send(\"net_version\",[])}catch(e){}}if(null!=e){const t=re(this.constructor,\"getNetwork\");try{return t(J.from(e).toNumber())}catch(t){return ra.throwError(\"could not detect network\",b.errors.NETWORK_ERROR,{chainId:e,event:\"invalidNetwork\",serverError:t})}}return ra.throwError(\"could not detect network\",b.errors.NETWORK_ERROR,{event:\"noNetwork\"})})}getSigner(e){return new ua(la,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send(\"eth_accounts\",[]).then(e=>e.map(e=>this.formatter.address(e)))}send(e,t){const r={method:e,params:t,id:this._nextId++,jsonrpc:\"2.0\"};this.emit(\"debug\",{action:\"request\",request:le(r),provider:this});const n=[\"eth_chainId\",\"eth_blockNumber\"].indexOf(e)>=0;if(n&&this._cache[e])return this._cache[e];const s=wo(this.connection,JSON.stringify(r),aa).then(e=>(this.emit(\"debug\",{action:\"response\",request:r,response:e,provider:this}),e),e=>{throw this.emit(\"debug\",{action:\"response\",error:e,request:r,provider:this}),e});return n&&(this._cache[e]=s,setTimeout(()=>{this._cache[e]=null},0)),s}prepareRequest(e,t){switch(e){case\"getBlockNumber\":return[\"eth_blockNumber\",[]];case\"getGasPrice\":return[\"eth_gasPrice\",[]];case\"getBalance\":return[\"eth_getBalance\",[ca(t.address),t.blockTag]];case\"getTransactionCount\":return[\"eth_getTransactionCount\",[ca(t.address),t.blockTag]];case\"getCode\":return[\"eth_getCode\",[ca(t.address),t.blockTag]];case\"getStorageAt\":return[\"eth_getStorageAt\",[ca(t.address),D(t.position,32),t.blockTag]];case\"sendTransaction\":return[\"eth_sendRawTransaction\",[t.signedTransaction]];case\"getBlock\":return t.blockTag?[\"eth_getBlockByNumber\",[t.blockTag,!!t.includeTransactions]]:t.blockHash?[\"eth_getBlockByHash\",[t.blockHash,!!t.includeTransactions]]:null;case\"getTransaction\":return[\"eth_getTransactionByHash\",[t.transactionHash]];case\"getTransactionReceipt\":return[\"eth_getTransactionReceipt\",[t.transactionHash]];case\"call\":return[\"eth_call\",[re(this.constructor,\"hexlifyTransaction\")(t.transaction,{from:!0}),t.blockTag]];case\"estimateGas\":return[\"eth_estimateGas\",[re(this.constructor,\"hexlifyTransaction\")(t.transaction,{from:!0})]];case\"getLogs\":return t.filter&&null!=t.filter.address&&(t.filter.address=ca(t.filter.address)),[\"eth_getLogs\",[t.filter]]}return null}perform(e,t){return ta(this,void 0,void 0,function*(){if(\"call\"===e||\"estimateGas\"===e){const e=t.transaction;if(e&&null!=e.type&&J.from(e.type).isZero()&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){const r=yield this.getFeeData();null==r.maxFeePerGas&&null==r.maxPriorityFeePerGas&&((t=ie(t)).transaction=ie(e),delete t.transaction.type)}}const r=this.prepareRequest(e,t);null==r&&ra.throwError(e+\" not implemented\",b.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(r[0],r[1])}catch(r){return ia(e,r,t)}})}_startEvent(e){\"pending\"===e.tag&&this._startPending(),super._startEvent(e)}_startPending(){if(null!=this._pendingFilter)return;const e=this,t=this.send(\"eth_newPendingTransactionFilter\",[]);this._pendingFilter=t,t.then(function(r){return function n(){e.send(\"eth_getFilterChanges\",[r]).then(function(r){if(e._pendingFilter!=t)return null;let n=Promise.resolve();return r.forEach(function(t){e._emitted[\"t:\"+t.toLowerCase()]=\"pending\",n=n.then(function(){return e.getTransaction(t).then(function(t){return e.emit(\"pending\",t),null})})}),n.then(function(){return oa(1e3)})}).then(function(){if(e._pendingFilter==t)return setTimeout(function(){n()},0),null;e.send(\"eth_uninstallFilter\",[r])}).catch(e=>{})}(),r}).catch(e=>{})}_stopEvent(e){\"pending\"===e.tag&&0===this.listenerCount(\"pending\")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){const r=ie(ha);if(t)for(const e in t)t[e]&&(r[e]=!0);se(e,r);const n={};return[\"chainId\",\"gasLimit\",\"gasPrice\",\"type\",\"maxFeePerGas\",\"maxPriorityFeePerGas\",\"nonce\",\"value\"].forEach(function(t){if(null==e[t])return;const r=_(J.from(e[t]));\"gasLimit\"===t&&(t=\"gas\"),n[t]=r}),[\"from\",\"to\",\"data\"].forEach(function(t){null!=e[t]&&(n[t]=R(e[t]))}),e.accessList&&(n.accessList=fn(e.accessList)),n}}let pa=null;try{if(pa=WebSocket,null==pa)throw new Error(\"inject please\")}catch(e){const t=new b(To);pa=function(){t.throwError(\"WebSockets not supported in this environment\",b.errors.UNSUPPORTED_OPERATION,{operation:\"new WebSocket()\"})}}var ma=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const ga=new b(To);let ya=1;class ba extends fa{constructor(e,t){\"any\"===t&&ga.throwError(\"WebSocketProvider does not support 'any' network yet\",b.errors.UNSUPPORTED_OPERATION,{operation:\"network:any\"}),super(\"string\"==typeof e?e:\"_websocket\",t),this._pollingInterval=-1,this._wsReady=!1,te(this,\"_websocket\",\"string\"==typeof e?new pa(this.connection.url):e),te(this,\"_requests\",{}),te(this,\"_subs\",{}),te(this,\"_subIds\",{}),te(this,\"_detectNetwork\",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(e=>{this.websocket.send(this._requests[e].payload)})},this.websocket.onmessage=e=>{const t=e.data,r=JSON.parse(t);if(null!=r.id){const e=String(r.id),n=this._requests[e];if(delete this._requests[e],void 0!==r.result)n.callback(null,r.result),this.emit(\"debug\",{action:\"response\",request:JSON.parse(n.payload),response:r.result,provider:this});else{let e=null;r.error?(e=new Error(r.error.message||\"unknown error\"),te(e,\"code\",r.error.code||null),te(e,\"response\",t)):e=new Error(\"unknown error\"),n.callback(e,void 0),this.emit(\"debug\",{action:\"response\",error:e,request:JSON.parse(n.payload),provider:this})}}else if(\"eth_subscription\"===r.method){const e=this._subs[r.params.subscription];e&&e.processFunc(r.params.result)}else console.warn(\"this should not happen\")};const r=setInterval(()=>{this.emit(\"poll\")},1e3);r.unref&&r.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(e){ga.throwError(\"cannot reset events block on WebSocketProvider\",b.errors.UNSUPPORTED_OPERATION,{operation:\"resetEventBlock\"})}set pollingInterval(e){ga.throwError(\"cannot set polling interval on WebSocketProvider\",b.errors.UNSUPPORTED_OPERATION,{operation:\"setPollingInterval\"})}poll(){return ma(this,void 0,void 0,function*(){return null})}set polling(e){e&&ga.throwError(\"cannot set polling on WebSocketProvider\",b.errors.UNSUPPORTED_OPERATION,{operation:\"setPolling\"})}send(e,t){const r=ya++;return new Promise((n,s)=>{const i=JSON.stringify({method:e,params:t,id:r,jsonrpc:\"2.0\"});this.emit(\"debug\",{action:\"request\",request:JSON.parse(i),provider:this}),this._requests[String(r)]={callback:function(e,t){return e?s(e):n(t)},payload:i},this._wsReady&&this.websocket.send(i)})}static defaultUrl(){return\"ws://localhost:8546\"}_subscribe(e,t,r){return ma(this,void 0,void 0,function*(){let n=this._subIds[e];null==n&&(n=Promise.all(t).then(e=>this.send(\"eth_subscribe\",e)),this._subIds[e]=n);const s=yield n;this._subs[s]={tag:e,processFunc:r}})}_startEvent(e){switch(e.type){case\"block\":this._subscribe(\"block\",[\"newHeads\"],e=>{const t=J.from(e.number).toNumber();this._emitted.block=t,this.emit(\"block\",t)});break;case\"pending\":this._subscribe(\"pending\",[\"newPendingTransactions\"],e=>{this.emit(\"pending\",e)});break;case\"filter\":this._subscribe(e.tag,[\"logs\",this._getFilter(e.filter)],t=>{null==t.removed&&(t.removed=!1),this.emit(e.filter,this.formatter.filterLog(t))});break;case\"tx\":{const t=e=>{const t=e.hash;this.getTransactionReceipt(t).then(e=>{e&&this.emit(t,e)})};t(e),this._subscribe(\"tx\",[\"newHeads\"],e=>{this._events.filter(e=>\"tx\"===e.type).forEach(t)});break}case\"debug\":case\"poll\":case\"willPoll\":case\"didPoll\":case\"error\":break;default:console.log(\"unhandled:\",e)}}_stopEvent(e){let t=e.tag;if(\"tx\"===e.type){if(this._events.filter(e=>\"tx\"===e.type).length)return;t=\"tx\"}else if(this.listenerCount(e.event))return;const r=this._subIds[t];r&&(delete this._subIds[t],r.then(e=>{this._subs[e]&&(delete this._subs[e],this.send(\"eth_unsubscribe\",[e]))}))}destroy(){return ma(this,void 0,void 0,function*(){this.websocket.readyState===pa.CONNECTING&&(yield new Promise(e=>{this.websocket.onopen=function(){e(!0)},this.websocket.onerror=function(){e(!1)}})),this.websocket.close(1e3)})}}var va=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const wa=new b(To);class Aa extends fa{detectNetwork(){const e=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return va(this,void 0,void 0,function*(){let t=this.network;return null==t&&(t=yield e.detectNetwork.call(this),t||wa.throwError(\"no network detected\",b.errors.UNKNOWN_ERROR,{}),null==this._network&&(te(this,\"_network\",t),this.emit(\"network\",t,null))),t})}}class Ea extends Aa{constructor(e,t){wa.checkAbstract(new.target,Ea),e=re(new.target,\"getNetwork\")(e),t=re(new.target,\"getApiKey\")(t);super(re(new.target,\"getUrl\")(e,t),e),\"string\"==typeof t?te(this,\"apiKey\",t):null!=t&&Object.keys(t).forEach(e=>{te(this,e,t[e])})}_startPending(){wa.warn(\"WARNING: API provider does not support pending filters\")}isCommunityResource(){return!1}getSigner(e){return wa.throwError(\"API provider does not support signing\",b.errors.UNSUPPORTED_OPERATION,{operation:\"getSigner\"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,t){return wa.throwError(\"not implemented; sub-classes must override getUrl\",b.errors.NOT_IMPLEMENTED,{operation:\"getUrl\"})}}const xa=new b(To),Ta=\"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\";class ka extends ba{constructor(e,t){const r=new Sa(e,t);super(r.connection.url.replace(/^http/i,\"ws\").replace(\".alchemyapi.\",\".ws.alchemyapi.\"),r.network),te(this,\"apiKey\",r.apiKey)}isCommunityResource(){return this.apiKey===Ta}}class Sa extends Ea{static getWebSocketProvider(e,t){return new ka(e,t)}static getApiKey(e){return null==e?Ta:(e&&\"string\"!=typeof e&&xa.throwArgumentError(\"invalid apiKey\",\"apiKey\",e),e)}static getUrl(e,t){let r=null;switch(e.name){case\"homestead\":r=\"eth-mainnet.alchemyapi.io/v2/\";break;case\"goerli\":r=\"eth-goerli.g.alchemy.com/v2/\";break;case\"sepolia\":r=\"eth-sepolia.g.alchemy.com/v2/\";break;case\"matic\":r=\"polygon-mainnet.g.alchemy.com/v2/\";break;case\"maticmum\":r=\"polygon-mumbai.g.alchemy.com/v2/\";break;case\"arbitrum\":r=\"arb-mainnet.g.alchemy.com/v2/\";break;case\"arbitrum-goerli\":r=\"arb-goerli.g.alchemy.com/v2/\";break;case\"arbitrum-sepolia\":r=\"arb-sepolia.g.alchemy.com/v2/\";break;case\"optimism\":r=\"opt-mainnet.g.alchemy.com/v2/\";break;case\"optimism-goerli\":r=\"opt-goerli.g.alchemy.com/v2/\";break;case\"optimism-sepolia\":r=\"opt-sepolia.g.alchemy.com/v2/\";break;default:xa.throwArgumentError(\"unsupported network\",\"network\",arguments[0])}return{allowGzip:!0,url:\"https://\"+r+t,throttleCallback:(e,r)=>(t===Ta&&Mo(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===Ta}}const Ca=new b(To),Ia=\"9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972\";function Pa(e){switch(e){case\"homestead\":return\"rpc.ankr.com/eth/\";case\"ropsten\":return\"rpc.ankr.com/eth_ropsten/\";case\"rinkeby\":return\"rpc.ankr.com/eth_rinkeby/\";case\"goerli\":return\"rpc.ankr.com/eth_goerli/\";case\"sepolia\":return\"rpc.ankr.com/eth_sepolia/\";case\"matic\":return\"rpc.ankr.com/polygon/\";case\"maticmum\":return\"rpc.ankr.com/polygon_mumbai/\";case\"optimism\":return\"rpc.ankr.com/optimism/\";case\"optimism-goerli\":return\"rpc.ankr.com/optimism_testnet/\";case\"optimism-sepolia\":return\"rpc.ankr.com/optimism_sepolia/\";case\"arbitrum\":return\"rpc.ankr.com/arbitrum/\"}return Ca.throwArgumentError(\"unsupported network\",\"name\",e)}class Ma extends Ea{isCommunityResource(){return this.apiKey===Ia}static getApiKey(e){return null==e?Ia:e}static getUrl(e,t){null==t&&(t=Ia);const r={allowGzip:!0,url:\"https://\"+Pa(e.name)+t,throttleCallback:(e,r)=>(t.apiKey===Ia&&Mo(),Promise.resolve(!0))};return null!=t.projectSecret&&(r.user=\"\",r.password=t.projectSecret),r}}var Ra=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const Ba=new b(To);class Na extends Ea{static getApiKey(e){return null!=e&&Ba.throwArgumentError(\"apiKey not supported for cloudflare\",\"apiKey\",e),null}static getUrl(e,t){let r=null;if(\"homestead\"===e.name)r=\"https://cloudflare-eth.com/\";else Ba.throwArgumentError(\"unsupported network\",\"network\",arguments[0]);return r}perform(e,t){const r=Object.create(null,{perform:{get:()=>super.perform}});return Ra(this,void 0,void 0,function*(){if(\"getBlockNumber\"===e){return(yield r.perform.call(this,\"getBlock\",{blockTag:\"latest\"})).number}return r.perform.call(this,e,t)})}}var Oa=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const _a=new b(To);function La(e){const t={};for(let r in e){if(null==e[r])continue;let n=e[r];\"type\"===r&&0===n||(n={type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[r]?_(R(n)):\"accessList\"===r?\"[\"+fn(n).map(e=>`{address:\"${e.address}\",storageKeys:[\"${e.storageKeys.join('\",\"')}\"]}`).join(\",\")+\"]\":R(n),t[r]=n)}return t}function Da(e){if(0==e.status&&(\"No records found\"===e.message||\"No transactions found\"===e.message))return e.result;if(1!=e.status||\"string\"!=typeof e.message||!e.message.match(/^OK/)){const t=new Error(\"invalid response\");throw t.result=JSON.stringify(e),(e.result||\"\").toLowerCase().indexOf(\"rate limit\")>=0&&(t.throttleRetry=!0),t}return e.result}function Fa(e){if(e&&0==e.status&&\"NOTOK\"==e.message&&(e.result||\"\").toLowerCase().indexOf(\"rate limit\")>=0){const t=new Error(\"throttled response\");throw t.result=JSON.stringify(e),t.throttleRetry=!0,t}if(\"2.0\"!=e.jsonrpc){const t=new Error(\"invalid response\");throw t.result=JSON.stringify(e),t}if(e.error){const t=new Error(e.error.message||\"unknown error\");throw e.error.code&&(t.code=e.error.code),e.error.data&&(t.data=e.error.data),t}return e.result}function Ua(e){if(\"pending\"===e)throw new Error(\"pending not supported\");return\"latest\"===e?e:parseInt(e.substring(2),16)}function ja(e,t,r){if(\"call\"===e&&t.code===b.errors.SERVER_ERROR){const e=t.error;if(e&&(e.message.match(/reverted/i)||e.message.match(/VM execution error/i))){let r=e.data;if(r&&(r=\"0x\"+r.replace(/^.*0x/i,\"\")),P(r))return r;_a.throwError(\"missing revert data in call exception\",b.errors.CALL_EXCEPTION,{error:t,data:\"0x\"})}}let n=t.message;throw t.code===b.errors.SERVER_ERROR&&(t.error&&\"string\"==typeof t.error.message?n=t.error.message:\"string\"==typeof t.body?n=t.body:\"string\"==typeof t.responseText&&(n=t.responseText)),n=(n||\"\").toLowerCase(),n.match(/insufficient funds/)&&_a.throwError(\"insufficient funds for intrinsic transaction cost\",b.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:r}),n.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&_a.throwError(\"nonce has already been used\",b.errors.NONCE_EXPIRED,{error:t,method:e,transaction:r}),n.match(/another transaction with same nonce/)&&_a.throwError(\"replacement fee too low\",b.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:r}),n.match(/execution failed due to an exception|execution reverted/)&&_a.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\",b.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:r}),t}class Ha extends ea{constructor(e,t){super(e),te(this,\"baseUrl\",this.getBaseUrl()),te(this,\"apiKey\",t||null)}getBaseUrl(){switch(this.network?this.network.name:\"invalid\"){case\"homestead\":return\"https://api.etherscan.io\";case\"goerli\":return\"https://api-goerli.etherscan.io\";case\"sepolia\":return\"https://api-sepolia.etherscan.io\";case\"matic\":return\"https://api.polygonscan.com\";case\"maticmum\":return\"https://api-testnet.polygonscan.com\";case\"arbitrum\":return\"https://api.arbiscan.io\";case\"arbitrum-goerli\":return\"https://api-goerli.arbiscan.io\";case\"optimism\":return\"https://api-optimistic.etherscan.io\";case\"optimism-goerli\":return\"https://api-goerli-optimistic.etherscan.io\"}return _a.throwArgumentError(\"unsupported network\",\"network\",this.network.name)}getUrl(e,t){const r=Object.keys(t).reduce((e,r)=>{const n=t[r];return null!=n&&(e+=`&${r}=${n}`),e},\"\"),n=this.apiKey?`&apikey=${this.apiKey}`:\"\";return`${this.baseUrl}/api?module=${e}${r}${n}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(e,t){return t.module=e,t.apikey=this.apiKey,t}fetch(e,t,r){return Oa(this,void 0,void 0,function*(){const n=r?this.getPostUrl():this.getUrl(e,t),s=r?this.getPostData(e,t):null,i=\"proxy\"===e?Fa:Da;this.emit(\"debug\",{action:\"request\",request:n,provider:this});const o={url:n,throttleSlotInterval:1e3,throttleCallback:(e,t)=>(this.isCommunityResource()&&Mo(),Promise.resolve(!0))};let a=null;s&&(o.headers={\"content-type\":\"application/x-www-form-urlencoded; charset=UTF-8\"},a=Object.keys(s).map(e=>`${e}=${s[e]}`).join(\"&\"));const c=yield wo(o,a,i||Fa);return this.emit(\"debug\",{action:\"response\",request:n,response:le(c),provider:this}),c})}detectNetwork(){return Oa(this,void 0,void 0,function*(){return this.network})}perform(e,t){const r=Object.create(null,{perform:{get:()=>super.perform}});return Oa(this,void 0,void 0,function*(){switch(e){case\"getBlockNumber\":return this.fetch(\"proxy\",{action:\"eth_blockNumber\"});case\"getGasPrice\":return this.fetch(\"proxy\",{action:\"eth_gasPrice\"});case\"getBalance\":return this.fetch(\"account\",{action:\"balance\",address:t.address,tag:t.blockTag});case\"getTransactionCount\":return this.fetch(\"proxy\",{action:\"eth_getTransactionCount\",address:t.address,tag:t.blockTag});case\"getCode\":return this.fetch(\"proxy\",{action:\"eth_getCode\",address:t.address,tag:t.blockTag});case\"getStorageAt\":return this.fetch(\"proxy\",{action:\"eth_getStorageAt\",address:t.address,position:t.position,tag:t.blockTag});case\"sendTransaction\":return this.fetch(\"proxy\",{action:\"eth_sendRawTransaction\",hex:t.signedTransaction},!0).catch(e=>ja(\"sendTransaction\",e,t.signedTransaction));case\"getBlock\":if(t.blockTag)return this.fetch(\"proxy\",{action:\"eth_getBlockByNumber\",tag:t.blockTag,boolean:t.includeTransactions?\"true\":\"false\"});throw new Error(\"getBlock by blockHash not implemented\");case\"getTransaction\":return this.fetch(\"proxy\",{action:\"eth_getTransactionByHash\",txhash:t.transactionHash});case\"getTransactionReceipt\":return this.fetch(\"proxy\",{action:\"eth_getTransactionReceipt\",txhash:t.transactionHash});case\"call\":{if(\"latest\"!==t.blockTag)throw new Error(\"EtherscanProvider does not support blockTag for call\");const e=La(t.transaction);e.module=\"proxy\",e.action=\"eth_call\";try{return yield this.fetch(\"proxy\",e,!0)}catch(e){return ja(\"call\",e,t.transaction)}}case\"estimateGas\":{const e=La(t.transaction);e.module=\"proxy\",e.action=\"eth_estimateGas\";try{return yield this.fetch(\"proxy\",e,!0)}catch(e){return ja(\"estimateGas\",e,t.transaction)}}case\"getLogs\":{const e={action:\"getLogs\"};if(t.filter.fromBlock&&(e.fromBlock=Ua(t.filter.fromBlock)),t.filter.toBlock&&(e.toBlock=Ua(t.filter.toBlock)),t.filter.address&&(e.address=t.filter.address),t.filter.topics&&t.filter.topics.length>0&&(t.filter.topics.length>1&&_a.throwError(\"unsupported topic count\",b.errors.UNSUPPORTED_OPERATION,{topics:t.filter.topics}),1===t.filter.topics.length)){const r=t.filter.topics[0];\"string\"==typeof r&&66===r.length||_a.throwError(\"unsupported topic format\",b.errors.UNSUPPORTED_OPERATION,{topic0:r}),e.topic0=r}const r=yield this.fetch(\"logs\",e);let n={};for(let e=0;e<r.length;e++){const t=r[e];if(null==t.blockHash){if(null==n[t.blockNumber]){const e=yield this.getBlock(t.blockNumber);e&&(n[t.blockNumber]=e.hash)}t.blockHash=n[t.blockNumber]}}return r}case\"getEtherPrice\":return\"homestead\"!==this.network.name?0:parseFloat((yield this.fetch(\"stats\",{action:\"ethprice\"})).ethusd)}return r.perform.call(this,e,t)})}getHistory(e,t,r){return Oa(this,void 0,void 0,function*(){const n={action:\"txlist\",address:yield this.resolveName(e),startblock:null==t?0:t,endblock:null==r?99999999:r,sort:\"asc\"};return(yield this.fetch(\"account\",n)).map(e=>{[\"contractAddress\",\"to\"].forEach(function(t){\"\"==e[t]&&delete e[t]}),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);const t=this.formatter.transactionResponse(e);return e.timeStamp&&(t.timestamp=parseInt(e.timeStamp)),t})})}isCommunityResource(){return null==this.apiKey}}function za(e){for(let t=(e=e.slice()).length-1;t>0;t--){const r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}var Ga=function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};const Va=new b(To);function qa(){return(new Date).getTime()}function Ka(e){let t=null;for(let r=0;r<e.length;r++){const n=e[r];if(null==n)return null;t?t.name===n.name&&t.chainId===n.chainId&&(t.ensAddress===n.ensAddress||null==t.ensAddress&&null==n.ensAddress)||Va.throwArgumentError(\"provider mismatch\",\"networks\",e):t=n}return t}function Wa(e,t){e=e.slice().sort();const r=Math.floor(e.length/2);if(e.length%2)return e[r];const n=e[r-1],s=e[r];return null!=t&&Math.abs(n-s)>t?null:(n+s)/2}function Ja(e){if(null===e)return\"null\";if(\"number\"==typeof e||\"boolean\"==typeof e)return JSON.stringify(e);if(\"string\"==typeof e)return e;if(J.isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map(e=>Ja(e)));if(\"object\"==typeof e){const t=Object.keys(e);return t.sort(),\"{\"+t.map(t=>{let r=e[t];return r=\"function\"==typeof r?\"[function]\":Ja(r),JSON.stringify(t)+\":\"+r}).join(\",\")+\"}\"}throw new Error(\"unknown value type: \"+typeof e)}let $a=1;function Za(e){let t=null,r=null,n=new Promise(n=>{t=function(){r&&(clearTimeout(r),r=null),n()},r=setTimeout(t,e)});return{cancel:t,getPromise:function(){return n},wait:e=>(n=n.then(e),n)}}const Ya=[b.errors.CALL_EXCEPTION,b.errors.INSUFFICIENT_FUNDS,b.errors.NONCE_EXPIRED,b.errors.REPLACEMENT_UNDERPRICED,b.errors.UNPREDICTABLE_GAS_LIMIT],Xa=[\"address\",\"args\",\"errorArgs\",\"errorSignature\",\"method\",\"transaction\"];function Qa(e,t){const r={weight:e.weight};return Object.defineProperty(r,\"provider\",{get:()=>e.provider}),e.start&&(r.start=e.start),t&&(r.duration=t-e.start),e.done&&(e.error?r.error=e.error:r.result=e.result||null),r}function ec(e,t,r){let n=Ja;switch(t){case\"getBlockNumber\":return function(t){const r=t.map(e=>e.result);let n=Wa(t.map(e=>e.result),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=e._highestBlockNumber&&(e._highestBlockNumber=n),e._highestBlockNumber};case\"getGasPrice\":return function(e){const t=e.map(e=>e.result);return t.sort(),t[Math.floor(t.length/2)]};case\"getEtherPrice\":return function(e){return Wa(e.map(e=>e.result))};case\"getBalance\":case\"getTransactionCount\":case\"getCode\":case\"getStorageAt\":case\"call\":case\"estimateGas\":case\"getLogs\":break;case\"getTransaction\":case\"getTransactionReceipt\":n=function(e){return null==e?null:((e=ie(e)).confirmations=-1,Ja(e))};break;case\"getBlock\":n=r.includeTransactions?function(e){return null==e?null:((e=ie(e)).transactions=e.transactions.map(e=>((e=ie(e)).confirmations=-1,e)),Ja(e))}:function(e){return null==e?null:Ja(e)};break;default:throw new Error(\"unknown method: \"+t)}return function(e,t){return function(r){const n={};r.forEach(t=>{const r=e(t.result);n[r]||(n[r]={count:0,result:t.result}),n[r].count++});const s=Object.keys(n);for(let e=0;e<s.length;e++){const r=n[s[e]];if(r.count>=t)return r.result}}}(n,e.quorum)}function tc(e,t){return Ga(this,void 0,void 0,function*(){const r=e.provider;return null!=r.blockNumber&&r.blockNumber>=t||-1===t?r:Ao(()=>new Promise((n,s)=>{setTimeout(function(){return r.blockNumber>=t?n(r):e.cancelled?n(null):n(void 0)},0)}),{oncePoll:r})})}function rc(e,t,r,n){return Ga(this,void 0,void 0,function*(){let s=e.provider;switch(r){case\"getBlockNumber\":case\"getGasPrice\":return s[r]();case\"getEtherPrice\":if(s.getEtherPrice)return s.getEtherPrice();break;case\"getBalance\":case\"getTransactionCount\":case\"getCode\":return n.blockTag&&P(n.blockTag)&&(s=yield tc(e,t)),s[r](n.address,n.blockTag||\"latest\");case\"getStorageAt\":return n.blockTag&&P(n.blockTag)&&(s=yield tc(e,t)),s.getStorageAt(n.address,n.position,n.blockTag||\"latest\");case\"getBlock\":return n.blockTag&&P(n.blockTag)&&(s=yield tc(e,t)),s[n.includeTransactions?\"getBlockWithTransactions\":\"getBlock\"](n.blockTag||n.blockHash);case\"call\":case\"estimateGas\":return n.blockTag&&P(n.blockTag)&&(s=yield tc(e,t)),\"call\"===r&&n.blockTag?s[r](n.transaction,n.blockTag):s[r](n.transaction);case\"getTransaction\":case\"getTransactionReceipt\":return s[r](n.transactionHash);case\"getLogs\":{let r=n.filter;return(r.fromBlock&&P(r.fromBlock)||r.toBlock&&P(r.toBlock))&&(s=yield tc(e,t)),s.getLogs(r)}}return Va.throwError(\"unknown method error\",b.errors.UNKNOWN_ERROR,{method:r,params:n})})}class nc extends ea{constructor(e,t){0===e.length&&Va.throwArgumentError(\"missing providers\",\"providers\",e);const r=e.map((e,t)=>{if(ir.isProvider(e)){const t=Io(e)?2e3:750,r=1;return Object.freeze({provider:e,weight:1,stallTimeout:t,priority:r})}const r=ie(e);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=Io(e)?2e3:750),null==r.weight&&(r.weight=1);const n=r.weight;return(n%1||n>512||n<1)&&Va.throwArgumentError(\"invalid weight; must be integer in [1, 512]\",`providers[${t}].weight`,n),Object.freeze(r)}),n=r.reduce((e,t)=>e+t.weight,0);null==t?t=n/2:t>n&&Va.throwArgumentError(\"quorum will always fail; larger than total weight\",\"quorum\",t);let s=Ka(r.map(e=>e.provider.network));null==s&&(s=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(e,t)},0)})),super(s),te(this,\"providerConfigs\",Object.freeze(r)),te(this,\"quorum\",t),this._highestBlockNumber=-1}detectNetwork(){return Ga(this,void 0,void 0,function*(){return Ka(yield Promise.all(this.providerConfigs.map(e=>e.provider.getNetwork())))})}perform(e,t){return Ga(this,void 0,void 0,function*(){if(\"sendTransaction\"===e){const e=yield Promise.all(this.providerConfigs.map(e=>e.provider.sendTransaction(t.signedTransaction).then(e=>e.hash,e=>e)));for(let t=0;t<e.length;t++){const r=e[t];if(\"string\"==typeof r)return r}throw e[0]}-1===this._highestBlockNumber&&\"getBlockNumber\"!==e&&(yield this.getBlockNumber());const r=ec(this,e,t),n=za(this.providerConfigs.map(ie));n.sort((e,t)=>e.priority-t.priority);const s=this._highestBlockNumber;let i=0,o=!0;for(;;){const a=qa();let c=n.filter(e=>e.runner&&a-e.start<e.stallTimeout).reduce((e,t)=>e+t.weight,0);for(;c<this.quorum&&i<n.length;){const r=n[i++],o=$a++;r.start=qa(),r.staller=Za(r.stallTimeout),r.staller.wait(()=>{r.staller=null}),r.runner=rc(r,s,e,t).then(n=>{r.done=!0,r.result=n,this.listenerCount(\"debug\")&&this.emit(\"debug\",{action:\"request\",rid:o,backend:Qa(r,qa()),request:{method:e,params:le(t)},provider:this})},n=>{r.done=!0,r.error=n,this.listenerCount(\"debug\")&&this.emit(\"debug\",{action:\"request\",rid:o,backend:Qa(r,qa()),request:{method:e,params:le(t)},provider:this})}),this.listenerCount(\"debug\")&&this.emit(\"debug\",{action:\"request\",rid:o,backend:Qa(r,null),request:{method:e,params:le(t)},provider:this}),c+=r.weight}const l=[];n.forEach(e=>{!e.done&&e.runner&&(l.push(e.runner),e.staller&&l.push(e.staller.getPromise()))}),l.length&&(yield Promise.race(l));const u=n.filter(e=>e.done&&null==e.error);if(u.length>=this.quorum){const e=r(u);if(void 0!==e)return n.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}),e;o||(yield Za(100).getPromise()),o=!1}const d=n.reduce((e,t)=>{if(!t.done||null==t.error)return e;const r=t.error.code;return Ya.indexOf(r)>=0&&(e[r]||(e[r]={error:t.error,weight:0}),e[r].weight+=t.weight),e},{});if(Object.keys(d).forEach(e=>{const t=d[e];if(t.weight<this.quorum)return;n.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0});const r=t.error,s={};Xa.forEach(e=>{null!=r[e]&&(s[e]=r[e])}),Va.throwError(r.reason||r.message,e,s)}),0===n.filter(e=>!e.done).length)break}return n.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}),Va.throwError(\"failed to meet quorum\",b.errors.SERVER_ERROR,{method:e,params:t,results:n.map(e=>Qa(e)),provider:this})})}}const sc=null,ic=new b(To),oc=\"84842078b09946638c03157f83405213\";class ac extends ba{constructor(e,t){const r=new cc(e,t),n=r.connection;n.password&&ic.throwError(\"INFURA WebSocket project secrets unsupported\",b.errors.UNSUPPORTED_OPERATION,{operation:\"InfuraProvider.getWebSocketProvider()\"});super(n.url.replace(/^http/i,\"ws\").replace(\"/v3/\",\"/ws/v3/\"),e),te(this,\"apiKey\",r.projectId),te(this,\"projectId\",r.projectId),te(this,\"projectSecret\",r.projectSecret)}isCommunityResource(){return this.projectId===oc}}class cc extends Ea{static getWebSocketProvider(e,t){return new ac(e,t)}static getApiKey(e){const t={apiKey:oc,projectId:oc,projectSecret:null};return null==e||(\"string\"==typeof e?t.projectId=e:null!=e.projectSecret?(ic.assertArgument(\"string\"==typeof e.projectId,\"projectSecret requires a projectId\",\"projectId\",e.projectId),ic.assertArgument(\"string\"==typeof e.projectSecret,\"invalid projectSecret\",\"projectSecret\",\"[REDACTED]\"),t.projectId=e.projectId,t.projectSecret=e.projectSecret):e.projectId&&(t.projectId=e.projectId),t.apiKey=t.projectId),t}static getUrl(e,t){let r=null;switch(e?e.name:\"unknown\"){case\"homestead\":r=\"mainnet.infura.io\";break;case\"goerli\":r=\"goerli.infura.io\";break;case\"sepolia\":r=\"sepolia.infura.io\";break;case\"matic\":r=\"polygon-mainnet.infura.io\";break;case\"maticmum\":r=\"polygon-mumbai.infura.io\";break;case\"optimism\":r=\"optimism-mainnet.infura.io\";break;case\"optimism-goerli\":r=\"optimism-goerli.infura.io\";break;case\"optimism-sepolia\":r=\"optimism-sepolia.infura.io\";break;case\"arbitrum\":r=\"arbitrum-mainnet.infura.io\";break;case\"arbitrum-goerli\":r=\"arbitrum-goerli.infura.io\";break;case\"arbitrum-sepolia\":r=\"arbitrum-sepolia.infura.io\";break;default:ic.throwError(\"unsupported network\",b.errors.INVALID_ARGUMENT,{argument:\"network\",value:e})}const n={allowGzip:!0,url:\"https://\"+r+\"/v3/\"+t.projectId,throttleCallback:(e,r)=>(t.projectId===oc&&Mo(),Promise.resolve(!0))};return null!=t.projectSecret&&(n.user=\"\",n.password=t.projectSecret),n}isCommunityResource(){return this.projectId===oc}}class lc extends fa{send(e,t){const r={method:e,params:t,id:this._nextId++,jsonrpc:\"2.0\"};null==this._pendingBatch&&(this._pendingBatch=[]);const n={request:r,resolve:null,reject:null},s=new Promise((e,t)=>{n.resolve=e,n.reject=t});return this._pendingBatch.push(n),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout(()=>{const e=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;const t=e.map(e=>e.request);return this.emit(\"debug\",{action:\"requestBatch\",request:le(t),provider:this}),wo(this.connection,JSON.stringify(t)).then(r=>{this.emit(\"debug\",{action:\"response\",request:t,response:r,provider:this}),e.forEach((e,t)=>{const n=r[t];if(n.error){const t=new Error(n.error.message);t.code=n.error.code,t.data=n.error.data,e.reject(t)}else e.resolve(n.result)})},r=>{this.emit(\"debug\",{action:\"response\",error:r,request:t,provider:this}),e.forEach(e=>{e.reject(r)})})},10)),s}}const uc=new b(To);class dc extends Ea{static getApiKey(e){return e&&\"string\"!=typeof e&&uc.throwArgumentError(\"invalid apiKey\",\"apiKey\",e),e||\"ETHERS_JS_SHARED\"}static getUrl(e,t){uc.warn(\"NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.\");let r=null;switch(e.name){case\"homestead\":r=\"https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc\";break;case\"ropsten\":r=\"https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc\";break;case\"rinkeby\":r=\"https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc\";break;case\"goerli\":r=\"https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc\";break;case\"kovan\":r=\"https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc\";break;default:uc.throwArgumentError(\"unsupported network\",\"network\",arguments[0])}return r+\"?apiKey=\"+t}}const hc=new b(To),fc=\"62e1ad51b37b8e00394bda3b\";class pc extends Ea{static getApiKey(e){const t={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return null==e?t.applicationId=fc:\"string\"==typeof e?t.applicationId=e:null!=e.applicationSecretKey?(t.applicationId=e.applicationId,t.applicationSecretKey=e.applicationSecretKey):e.applicationId?t.applicationId=e.applicationId:hc.throwArgumentError(\"unsupported PocketProvider apiKey\",\"apiKey\",e),t}static getUrl(e,t){let r=null;switch(e?e.name:\"unknown\"){case\"goerli\":r=\"eth-goerli.gateway.pokt.network\";break;case\"homestead\":r=\"eth-mainnet.gateway.pokt.network\";break;case\"kovan\":r=\"poa-kovan.gateway.pokt.network\";break;case\"matic\":r=\"poly-mainnet.gateway.pokt.network\";break;case\"maticmum\":r=\"polygon-mumbai-rpc.gateway.pokt.network\";break;case\"rinkeby\":r=\"eth-rinkeby.gateway.pokt.network\";break;case\"ropsten\":r=\"eth-ropsten.gateway.pokt.network\";break;default:hc.throwError(\"unsupported network\",b.errors.INVALID_ARGUMENT,{argument:\"network\",value:e})}const n={headers:{},url:`https://${r}/v1/lb/${t.applicationId}`};return null!=t.applicationSecretKey&&(n.user=\"\",n.password=t.applicationSecretKey),n}isCommunityResource(){return this.applicationId===fc}}const mc=new b(To);class gc extends Ea{static getApiKey(e){return e&&\"string\"!=typeof e&&mc.throwArgumentError(\"invalid apiKey\",\"apiKey\",e),e||\"919b412a057b5e9c9b6dce193c5a60242d6efadb\"}static getUrl(e,t){let r=null;switch(e.name){case\"homestead\":r=\"ethers.quiknode.pro\";break;case\"goerli\":r=\"ethers.ethereum-goerli.quiknode.pro\";break;case\"sepolia\":r=\"ethers.ethereum-sepolia.quiknode.pro\";break;case\"holesky\":r=\"ethers.ethereum-holesky.quiknode.pro\";break;case\"arbitrum\":r=\"ethers.arbitrum-mainnet.quiknode.pro\";break;case\"arbitrum-goerli\":r=\"ethers.arbitrum-goerli.quiknode.pro\";break;case\"arbitrum-sepolia\":r=\"ethers.arbitrum-sepolia.quiknode.pro\";break;case\"base\":r=\"ethers.base-mainnet.quiknode.pro\";break;case\"base-goerli\":r=\"ethers.base-goerli.quiknode.pro\";break;case\"base-spolia\":r=\"ethers.base-sepolia.quiknode.pro\";break;case\"bnb\":r=\"ethers.bsc.quiknode.pro\";break;case\"bnbt\":r=\"ethers.bsc-testnet.quiknode.pro\";break;case\"matic\":r=\"ethers.matic.quiknode.pro\";break;case\"maticmum\":r=\"ethers.matic-testnet.quiknode.pro\";break;case\"optimism\":r=\"ethers.optimism.quiknode.pro\";break;case\"optimism-goerli\":r=\"ethers.optimism-goerli.quiknode.pro\";break;case\"optimism-sepolia\":r=\"ethers.optimism-sepolia.quiknode.pro\";break;case\"xdai\":r=\"ethers.xdai.quiknode.pro\";break;default:mc.throwArgumentError(\"unsupported network\",\"network\",arguments[0])}return\"https://\"+r+\"/\"+t}}const yc=new b(To);let bc=1;function vc(e,t){const r=\"Web3LegacyFetcher\";return function(e,n){const s={method:e,params:n,id:bc++,jsonrpc:\"2.0\"};return new Promise((e,n)=>{this.emit(\"debug\",{action:\"request\",fetcher:r,request:le(s),provider:this}),t(s,(t,i)=>{if(t)return this.emit(\"debug\",{action:\"response\",fetcher:r,error:t,request:s,provider:this}),n(t);if(this.emit(\"debug\",{action:\"response\",fetcher:r,request:s,response:i,provider:this}),i.error){const e=new Error(i.error.message);return e.code=i.error.code,e.data=i.error.data,n(e)}e(i.result)})})}}class wc extends fa{constructor(e,t){null==e&&yc.throwArgumentError(\"missing provider\",\"provider\",e);let r=null,n=null,s=null;\"function\"==typeof e?(r=\"unknown:\",n=e):(r=e.host||e.path||\"\",!r&&e.isMetaMask&&(r=\"metamask\"),s=e,e.request?(\"\"===r&&(r=\"eip-1193:\"),n=function(e){return function(t,r){null==r&&(r=[]);const n={method:t,params:r};return this.emit(\"debug\",{action:\"request\",fetcher:\"Eip1193Fetcher\",request:le(n),provider:this}),e.request(n).then(e=>(this.emit(\"debug\",{action:\"response\",fetcher:\"Eip1193Fetcher\",request:n,response:e,provider:this}),e),e=>{throw this.emit(\"debug\",{action:\"response\",fetcher:\"Eip1193Fetcher\",request:n,error:e,provider:this}),e})}}(e)):e.sendAsync?n=vc(0,e.sendAsync.bind(e)):e.send?n=vc(0,e.send.bind(e)):yc.throwArgumentError(\"unsupported provider\",\"provider\",e),r||(r=\"unknown:\")),super(r,t),te(this,\"jsonRpcFetchFunc\",n),te(this,\"provider\",s)}send(e,t){return this.jsonRpcFetchFunc(e,t)}}const Ac=new b(To);function Ec(e,t){if(null==e&&(e=\"homestead\"),\"string\"==typeof e){const t=e.match(/^(ws|http)s?:/i);if(t)switch(t[1].toLowerCase()){case\"http\":case\"https\":return new fa(e);case\"ws\":case\"wss\":return new ba(e);default:Ac.throwArgumentError(\"unsupported URL scheme\",\"network\",e)}}const r=Di(e);return r&&r._defaultProvider||Ac.throwError(\"unsupported getDefaultProvider network\",b.errors.NETWORK_ERROR,{operation:\"getDefaultProvider\",network:e}),r._defaultProvider({FallbackProvider:nc,AlchemyProvider:Sa,AnkrProvider:Ma,CloudflareProvider:Na,EtherscanProvider:Ha,InfuraProvider:cc,JsonRpcProvider:fa,NodesmithProvider:dc,PocketProvider:pc,QuickNodeProvider:gc,Web3Provider:wc,IpcProvider:sc},t)}const xc=new RegExp(\"^bytes([0-9]+)$\"),Tc=new RegExp(\"^(u?int)([0-9]*)$\"),kc=new RegExp(\"^(.*)\\\\[([0-9]*)\\\\]$\"),Sc=new b(\"solidity/5.8.0\");function Cc(e,t,r){switch(e){case\"address\":return r?I(t,32):k(t);case\"string\":return qe(t);case\"bytes\":return k(t);case\"bool\":return t=t?\"0x01\":\"0x00\",r?I(t,32):k(t)}let n=e.match(Tc);if(n){let s=parseInt(n[2]||\"256\");return(n[2]&&String(s)!==n[2]||s%8!=0||0===s||s>256)&&Sc.throwArgumentError(\"invalid number type\",\"type\",e),r&&(s=256),I(t=J.from(t).toTwos(s),s/8)}if(n=e.match(xc),n){const s=parseInt(n[1]);return(String(s)!==n[1]||0===s||s>32)&&Sc.throwArgumentError(\"invalid bytes type\",\"type\",e),k(t).byteLength!==s&&Sc.throwArgumentError(`invalid value for ${e}`,\"value\",t),r?k((t+\"0000000000000000000000000000000000000000000000000000000000000000\").substring(0,66)):t}if(n=e.match(kc),n&&Array.isArray(t)){const r=n[1];parseInt(n[2]||String(t.length))!=t.length&&Sc.throwArgumentError(`invalid array length for ${e}`,\"value\",t);const s=[];return t.forEach(function(e){s.push(Cc(r,e,!0))}),S(s)}return Sc.throwArgumentError(\"invalid type\",\"type\",e)}function Ic(e,t){e.length!=t.length&&Sc.throwArgumentError(\"wrong number of values; expected ${ types.length }\",\"values\",t);const r=[];return e.forEach(function(e,n){r.push(Cc(e,t[n]))}),R(S(r))}function Pc(e,t){return ve(Ic(e,t))}function Mc(e,t){return vs(Ic(e,t))}function Rc(e,t){t||(t=function(e){return[parseInt(e,16)]});let r=0,n={};return e.split(\",\").forEach(e=>{let s=e.split(\":\");r+=parseInt(s[0],16),n[r]=t(s[1])}),n}function Bc(e){let t=0;return e.split(\",\").map(e=>{let r=e.split(\"-\");1===r.length?r[1]=\"0\":\"\"===r[1]&&(r[1]=\"1\");let n=t+parseInt(r[0],16);return t=parseInt(r[1],16),{l:n,h:t}})}function Nc(e,t){let r=0;for(let n=0;n<t.length;n++){let s=t[n];if(r+=s.l,e>=r&&e<=r+s.h&&(e-r)%(s.d||1)===0){if(s.e&&-1!==s.e.indexOf(e-r))continue;return s}}return null}const Oc=Bc(\"221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d\"),_c=\"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff\".split(\",\").map(e=>parseInt(e,16)),Lc=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Dc=Rc(\"b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3\"),Fc=Rc(\"179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7\"),Uc=Rc(\"df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D\",function(e){if(e.length%4!=0)throw new Error(\"bad data\");let t=[];for(let r=0;r<e.length;r+=4)t.push(parseInt(e.substring(r,r+4),16));return t}),jc=Bc(\"80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001\");function Hc(e){if(e.match(/^[a-z0-9-]*$/i)&&e.length<=59)return e.toLowerCase();let t=Ze(e);var r;r=t.map(e=>{if(_c.indexOf(e)>=0)return[];if(e>=65024&&e<=65039)return[];let t=function(e){let t=Nc(e,Lc);if(t)return[e+t.s];let r=Dc[e];if(r)return r;let n=Fc[e];return n?[e+n[0]]:Uc[e]||null}(e);return t||[e]}),t=r.reduce((e,t)=>(t.forEach(t=>{e.push(t)}),e),[]),t=Ze(Je(t),je.NFKC),t.forEach(e=>{if(Nc(e,jc))throw new Error(\"STRINGPREP_CONTAINS_PROHIBITED\")}),t.forEach(e=>{if(Nc(e,Oc))throw new Error(\"STRINGPREP_CONTAINS_UNASSIGNED\")});let n=Je(t);if(\"-\"===n.substring(0,1)||\"--\"===n.substring(2,4)||\"-\"===n.substring(n.length-1))throw new Error(\"invalid hyphen\");return n}function zc(e){const t=qe(e);if(t.length>31)throw new Error(\"bytes32 string must be less than 32 bytes\");return R(S([t,Ii]).slice(0,32))}function Gc(e){const t=k(e);if(32!==t.length)throw new Error(\"invalid bytes32 - not 32 bytes long\");if(0!==t[31])throw new Error(\"invalid bytes32 string - no null terminator\");let r=31;for(;0===t[r-1];)r--;return $e(t.slice(0,r))}const Vc=new b(\"units/5.8.0\"),qc=[\"wei\",\"kwei\",\"mwei\",\"gwei\",\"szabo\",\"finney\",\"ether\"];function Kc(e){const t=String(e).split(\".\");(t.length>2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||\".\"===e||\"-.\"===e)&&Vc.throwArgumentError(\"invalid value\",\"value\",e);let r=t[0],n=\"\";for(\"-\"===r.substring(0,1)&&(n=\"-\",r=r.substring(1));\"0\"===r.substring(0,1);)r=r.substring(1);\"\"===r&&(r=\"0\");let s=\"\";for(2===t.length&&(s=\".\"+(t[1]||\"0\"));s.length>2&&\"0\"===s[s.length-1];)s=s.substring(0,s.length-1);const i=[];for(;r.length;){if(r.length<=3){i.unshift(r);break}{const e=r.length-3;i.unshift(r.substring(e)),r=r.substring(0,e)}}return n+i.join(\",\")+s}function Wc(e,t){if(\"string\"==typeof t){const e=qc.indexOf(t);-1!==e&&(t=3*e)}return Vn(e,null!=t?t:18)}function Jc(e,t){if(\"string\"!=typeof e&&Vc.throwArgumentError(\"value must be a string\",\"value\",e),\"string\"==typeof t){const e=qc.indexOf(t);-1!==e&&(t=3*e)}return qn(e,null!=t?t:18)}function $c(e){return Wc(e,18)}function Zc(e){return Jc(e,18)}const Yc=\"ethers/5.8.0\",Xc=new b(Yc);try{const e=window;null==e._ethers&&(e._ethers=c)}catch(e){}},282(e){e.exports=o,o.default=o,o.stable=u,o.stableStringify=u;var t=\"[...]\",r=\"[Circular]\",n=[],s=[];function i(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(e,t,r,o){var a;void 0===o&&(o=i()),c(e,\"\",0,[],void 0,0,o);try{a=0===s.length?JSON.stringify(e,t,r):JSON.stringify(e,h(t),r)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==n.length;){var l=n.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function a(e,t,r,i){var o=Object.getOwnPropertyDescriptor(i,r);void 0!==o.get?o.configurable?(Object.defineProperty(i,r,{value:e}),n.push([i,r,t,o])):s.push([t,r,e]):(i[r]=e,n.push([i,r,t]))}function c(e,n,s,i,o,l,u){var d;if(l+=1,\"object\"==typeof e&&null!==e){for(d=0;d<i.length;d++)if(i[d]===e)return void a(r,e,n,o);if(void 0!==u.depthLimit&&l>u.depthLimit)return void a(t,e,n,o);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void a(t,e,n,o);if(i.push(e),Array.isArray(e))for(d=0;d<e.length;d++)c(e[d],d,d,i,e,l,u);else{var h=Object.keys(e);for(d=0;d<h.length;d++){var f=h[d];c(e[f],f,d,i,e,l,u)}}i.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function u(e,t,r,o){void 0===o&&(o=i());var a,c=d(e,\"\",0,[],void 0,0,o)||e;try{a=0===s.length?JSON.stringify(c,t,r):JSON.stringify(c,h(t),r)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==n.length;){var l=n.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function d(e,s,i,o,c,u,h){var f;if(u+=1,\"object\"==typeof e&&null!==e){for(f=0;f<o.length;f++)if(o[f]===e)return void a(r,e,s,c);try{if(\"function\"==typeof e.toJSON)return}catch(e){return}if(void 0!==h.depthLimit&&u>h.depthLimit)return void a(t,e,s,c);if(void 0!==h.edgesLimit&&i+1>h.edgesLimit)return void a(t,e,s,c);if(o.push(e),Array.isArray(e))for(f=0;f<e.length;f++)d(e[f],f,f,o,e,u,h);else{var p={},m=Object.keys(e).sort(l);for(f=0;f<m.length;f++){var g=m[f];d(e[g],g,f,o,e,u,h),p[g]=e[g]}if(void 0===c)return p;n.push([c,s,e]),c[s]=p}o.pop()}}function h(e){return e=void 0!==e?e:function(e,t){return t},function(t,r){if(s.length>0)for(var n=0;n<s.length;n++){var i=s[n];if(i[1]===t&&i[0]===r){r=i[2],s.splice(n,1);break}}return e.call(this,t,r)}}},9499(e,t,r){var n=t;n.utils=r(461),n.common=r(2191),n.sha=r(5746),n.ripemd=r(4169),n.hmac=r(1825),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},2191(e,t,r){\"use strict\";var n=r(461),s=r(7784);function i(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=i,i.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var s=0;s<e.length;s+=this._delta32)this._update(e,s,s+this._delta32)}return this},i.prototype.digest=function(e){return this.update(this._pad()),s(null===this.pending),this._digest(e)},i.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=new Array(r+this.padLength);n[0]=128;for(var s=1;s<r;s++)n[s]=0;if(e<<=3,\"big\"===this.endian){for(var i=8;i<this.padLength;i++)n[s++]=0;n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=e>>>24&255,n[s++]=e>>>16&255,n[s++]=e>>>8&255,n[s++]=255&e}else for(n[s++]=255&e,n[s++]=e>>>8&255,n[s++]=e>>>16&255,n[s++]=e>>>24&255,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,i=8;i<this.padLength;i++)n[s++]=0;return n}},1825(e,t,r){\"use strict\";var n=r(461),s=r(7784);function i(e,t,r){if(!(this instanceof i))return new i(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=i,i.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),s(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},i.prototype.update=function(e,t){return this.inner.update(e,t),this},i.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},4169(e,t,r){\"use strict\";var n=r(461),s=r(2191),i=n.rotl32,o=n.sum32,a=n.sum32_3,c=n.sum32_4,l=s.BlockHash;function u(){if(!(this instanceof u))return new u;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=\"little\"}function d(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function h(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function f(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(u,l),t.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],s=this.h[2],l=this.h[3],u=this.h[4],b=r,v=n,w=s,A=l,E=u,x=0;x<80;x++){var T=o(i(c(r,d(x,n,s,l),e[p[x]+t],h(x)),g[x]),u);r=u,u=l,l=i(s,10),s=n,n=T,T=o(i(c(b,d(79-x,v,w,A),e[m[x]+t],f(x)),y[x]),E),b=E,E=A,A=i(w,10),w=v,v=T}T=a(this.h[1],s,A),this.h[1]=a(this.h[2],l,E),this.h[2]=a(this.h[3],u,b),this.h[3]=a(this.h[4],r,v),this.h[4]=a(this.h[0],n,w),this.h[0]=T},u.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h,\"little\"):n.split32(this.h,\"little\")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],y=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},5746(e,t,r){\"use strict\";t.sha1=r(2986),t.sha224=r(5393),t.sha256=r(536),t.sha384=r(2348),t.sha512=r(2157)},2986(e,t,r){\"use strict\";var n=r(461),s=r(2191),i=r(600),o=n.rotl32,a=n.sum32,c=n.sum32_5,l=i.ft_1,u=s.BlockHash,d=[1518500249,1859775393,2400959708,3395469782];function h(){if(!(this instanceof h))return new h;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(h,u),e.exports=h,h.blockSize=512,h.outSize=160,h.hmacStrength=80,h.padLength=64,h.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=o(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var s=this.h[0],i=this.h[1],u=this.h[2],h=this.h[3],f=this.h[4];for(n=0;n<r.length;n++){var p=~~(n/20),m=c(o(s,5),l(p,i,u,h),f,r[n],d[p]);f=h,h=u,u=o(i,30),i=s,s=m}this.h[0]=a(this.h[0],s),this.h[1]=a(this.h[1],i),this.h[2]=a(this.h[2],u),this.h[3]=a(this.h[3],h),this.h[4]=a(this.h[4],f)},h.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h,\"big\"):n.split32(this.h,\"big\")}},5393(e,t,r){\"use strict\";var n=r(461),s=r(536);function i(){if(!(this instanceof i))return new i;s.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(i,s),e.exports=i,i.blockSize=512,i.outSize=224,i.hmacStrength=192,i.padLength=64,i.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h.slice(0,7),\"big\"):n.split32(this.h.slice(0,7),\"big\")}},536(e,t,r){\"use strict\";var n=r(461),s=r(2191),i=r(600),o=r(7784),a=n.sum32,c=n.sum32_4,l=n.sum32_5,u=i.ch32,d=i.maj32,h=i.s0_256,f=i.s1_256,p=i.g0_256,m=i.g1_256,g=s.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}n.inherits(b,g),e.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=c(m(r[n-2]),r[n-7],p(r[n-15]),r[n-16]);var s=this.h[0],i=this.h[1],g=this.h[2],y=this.h[3],b=this.h[4],v=this.h[5],w=this.h[6],A=this.h[7];for(o(this.k.length===r.length),n=0;n<r.length;n++){var E=l(A,f(b),u(b,v,w),this.k[n],r[n]),x=a(h(s),d(s,i,g));A=w,w=v,v=b,b=a(y,E),y=g,g=i,i=s,s=a(E,x)}this.h[0]=a(this.h[0],s),this.h[1]=a(this.h[1],i),this.h[2]=a(this.h[2],g),this.h[3]=a(this.h[3],y),this.h[4]=a(this.h[4],b),this.h[5]=a(this.h[5],v),this.h[6]=a(this.h[6],w),this.h[7]=a(this.h[7],A)},b.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h,\"big\"):n.split32(this.h,\"big\")}},2348(e,t,r){\"use strict\";var n=r(461),s=r(2157);function i(){if(!(this instanceof i))return new i;s.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(i,s),e.exports=i,i.blockSize=1024,i.outSize=384,i.hmacStrength=192,i.padLength=128,i.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h.slice(0,12),\"big\"):n.split32(this.h.slice(0,12),\"big\")}},2157(e,t,r){\"use strict\";var n=r(461),s=r(2191),i=r(7784),o=n.rotr64_hi,a=n.rotr64_lo,c=n.shr64_hi,l=n.shr64_lo,u=n.sum64,d=n.sum64_hi,h=n.sum64_lo,f=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,g=n.sum64_5_lo,y=s.BlockHash,b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;y.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=b,this.W=new Array(160)}function w(e,t,r,n,s){var i=e&r^~e&s;return i<0&&(i+=4294967296),i}function A(e,t,r,n,s,i){var o=t&n^~t&i;return o<0&&(o+=4294967296),o}function E(e,t,r,n,s){var i=e&r^e&s^r&s;return i<0&&(i+=4294967296),i}function x(e,t,r,n,s,i){var o=t&n^t&i^n&i;return o<0&&(o+=4294967296),o}function T(e,t){var r=o(e,t,28)^o(t,e,2)^o(t,e,7);return r<0&&(r+=4294967296),r}function k(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function S(e,t){var r=o(e,t,14)^o(e,t,18)^o(t,e,9);return r<0&&(r+=4294967296),r}function C(e,t){var r=a(e,t,14)^a(e,t,18)^a(t,e,9);return r<0&&(r+=4294967296),r}function I(e,t){var r=o(e,t,1)^o(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function P(e,t){var r=a(e,t,1)^a(e,t,8)^l(e,t,7);return r<0&&(r+=4294967296),r}function M(e,t){var r=o(e,t,19)^o(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}function R(e,t){var r=a(e,t,19)^a(t,e,29)^l(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(v,y),e.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var s=M(r[n-4],r[n-3]),i=R(r[n-4],r[n-3]),o=r[n-14],a=r[n-13],c=I(r[n-30],r[n-29]),l=P(r[n-30],r[n-29]),u=r[n-32],d=r[n-31];r[n]=f(s,i,o,a,c,l,u,d),r[n+1]=p(s,i,o,a,c,l,u,d)}},v.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,n=this.h[0],s=this.h[1],o=this.h[2],a=this.h[3],c=this.h[4],l=this.h[5],f=this.h[6],p=this.h[7],y=this.h[8],b=this.h[9],v=this.h[10],I=this.h[11],P=this.h[12],M=this.h[13],R=this.h[14],B=this.h[15];i(this.k.length===r.length);for(var N=0;N<r.length;N+=2){var O=R,_=B,L=S(y,b),D=C(y,b),F=w(y,b,v,I,P),U=A(y,b,v,I,P,M),j=this.k[N],H=this.k[N+1],z=r[N],G=r[N+1],V=m(O,_,L,D,F,U,j,H,z,G),q=g(O,_,L,D,F,U,j,H,z,G);O=T(n,s),_=k(n,s),L=E(n,s,o,a,c),D=x(n,s,o,a,c,l);var K=d(O,_,L,D),W=h(O,_,L,D);R=P,B=M,P=v,M=I,v=y,I=b,y=d(f,p,V,q),b=h(p,p,V,q),f=c,p=l,c=o,l=a,o=n,a=s,n=d(V,q,K,W),s=h(V,q,K,W)}u(this.h,0,n,s),u(this.h,2,o,a),u(this.h,4,c,l),u(this.h,6,f,p),u(this.h,8,y,b),u(this.h,10,v,I),u(this.h,12,P,M),u(this.h,14,R,B)},v.prototype._digest=function(e){return\"hex\"===e?n.toHex32(this.h,\"big\"):n.split32(this.h,\"big\")}},600(e,t,r){\"use strict\";var n=r(461).rotr32;function s(e,t,r){return e&t^~e&r}function i(e,t,r){return e&t^e&r^t&r}function o(e,t,r){return e^t^r}t.ft_1=function(e,t,r,n){return 0===e?s(t,r,n):1===e||3===e?o(t,r,n):2===e?i(t,r,n):void 0},t.ch32=s,t.maj32=i,t.p32=o,t.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},t.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},t.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},t.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},461(e,t,r){\"use strict\";var n=r(7784),s=r(5615);function i(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function o(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?\"0\"+e:e}function c(e){return 7===e.length?\"0\"+e:6===e.length?\"00\"+e:5===e.length?\"000\"+e:4===e.length?\"0000\"+e:3===e.length?\"00000\"+e:2===e.length?\"000000\"+e:1===e.length?\"0000000\"+e:e}t.inherits=s,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(\"string\"==typeof e)if(t){if(\"hex\"===t)for((e=e.replace(/[^a-z0-9]+/gi,\"\")).length%2!=0&&(e=\"0\"+e),s=0;s<e.length;s+=2)r.push(parseInt(e[s]+e[s+1],16))}else for(var n=0,s=0;s<e.length;s++){var o=e.charCodeAt(s);o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=63&o|128):i(e,s)?(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++s)),r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=63&o|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=63&o|128)}else for(s=0;s<e.length;s++)r[s]=0|e[s];return r},t.toHex=function(e){for(var t=\"\",r=0;r<e.length;r++)t+=a(e[r].toString(16));return t},t.htonl=o,t.toHex32=function(e,t){for(var r=\"\",n=0;n<e.length;n++){var s=e[n];\"little\"===t&&(s=o(s)),r+=c(s.toString(16))}return r},t.zero2=a,t.zero8=c,t.join32=function(e,t,r,s){var i=r-t;n(i%4==0);for(var o=new Array(i/4),a=0,c=t;a<o.length;a++,c+=4){var l;l=\"big\"===s?e[c]<<24|e[c+1]<<16|e[c+2]<<8|e[c+3]:e[c+3]<<24|e[c+2]<<16|e[c+1]<<8|e[c],o[a]=l>>>0}return o},t.split32=function(e,t){for(var r=new Array(4*e.length),n=0,s=0;n<e.length;n++,s+=4){var i=e[n];\"big\"===t?(r[s]=i>>>24,r[s+1]=i>>>16&255,r[s+2]=i>>>8&255,r[s+3]=255&i):(r[s+3]=i>>>24,r[s+2]=i>>>16&255,r[s+1]=i>>>8&255,r[s]=255&i)}return r},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},t.sum32_5=function(e,t,r,n,s){return e+t+r+n+s>>>0},t.sum64=function(e,t,r,n){var s=e[t],i=n+e[t+1]>>>0,o=(i<n?1:0)+r+s;e[t]=o>>>0,e[t+1]=i},t.sum64_hi=function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},t.sum64_lo=function(e,t,r,n){return t+n>>>0},t.sum64_4_hi=function(e,t,r,n,s,i,o,a){var c=0,l=t;return c+=(l=l+n>>>0)<t?1:0,c+=(l=l+i>>>0)<i?1:0,e+r+s+o+(c+=(l=l+a>>>0)<a?1:0)>>>0},t.sum64_4_lo=function(e,t,r,n,s,i,o,a){return t+n+i+a>>>0},t.sum64_5_hi=function(e,t,r,n,s,i,o,a,c,l){var u=0,d=t;return u+=(d=d+n>>>0)<t?1:0,u+=(d=d+i>>>0)<i?1:0,u+=(d=d+a>>>0)<a?1:0,e+r+s+o+c+(u+=(d=d+l>>>0)<l?1:0)>>>0},t.sum64_5_lo=function(e,t,r,n,s,i,o,a,c,l){return t+n+i+a+l>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},9318(e,t){t.read=function(e,t,r,n,s){var i,o,a=8*s-n-1,c=(1<<a)-1,l=c>>1,u=-7,d=r?s-1:0,h=r?-1:1,f=e[t+d];for(d+=h,i=f&(1<<-u)-1,f>>=-u,u+=a;u>0;i=256*i+e[t+d],d+=h,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+e[t+d],d+=h,u-=8);if(0===i)i=1-l;else{if(i===c)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),i-=l}return(f?-1:1)*o*Math.pow(2,i-n)},t.write=function(e,t,r,n,s,i){var o,a,c,l=8*i-s-1,u=(1<<l)-1,d=u>>1,h=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:i-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+d>=1?h/c:h*Math.pow(2,1-d))*c>=2&&(o++,c/=2),o+d>=u?(a=0,o=u):o+d>=1?(a=(t*c-1)*Math.pow(2,s),o+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,s),o=0));s>=8;e[r+f]=255&a,f+=p,a/=256,s-=8);for(o=o<<s|a,l+=s;l>0;e[r+f]=255&o,f+=p,o/=256,l-=8);e[r+f-p]|=128*m}},5615(e){\"function\"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},5250(e,t,r){var n;e=r.nmd(e),function(){var s,i=\"Expected a function\",o=\"__lodash_hash_undefined__\",a=\"__lodash_placeholder__\",c=16,l=32,u=64,d=128,h=256,f=1/0,p=9007199254740991,m=NaN,g=4294967295,y=[[\"ary\",d],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",c],[\"flip\",512],[\"partial\",l],[\"partialRight\",u],[\"rearg\",h]],b=\"[object Arguments]\",v=\"[object Array]\",w=\"[object Boolean]\",A=\"[object Date]\",E=\"[object Error]\",x=\"[object Function]\",T=\"[object GeneratorFunction]\",k=\"[object Map]\",S=\"[object Number]\",C=\"[object Object]\",I=\"[object Promise]\",P=\"[object RegExp]\",M=\"[object Set]\",R=\"[object String]\",B=\"[object Symbol]\",N=\"[object WeakMap]\",O=\"[object ArrayBuffer]\",_=\"[object DataView]\",L=\"[object Float32Array]\",D=\"[object Float64Array]\",F=\"[object Int8Array]\",U=\"[object Int16Array]\",j=\"[object Int32Array]\",H=\"[object Uint8Array]\",z=\"[object Uint8ClampedArray]\",G=\"[object Uint16Array]\",V=\"[object Uint32Array]\",q=/\\b__p \\+= '';/g,K=/\\b(__p \\+=) '' \\+/g,W=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,J=/&(?:amp|lt|gt|quot|#39);/g,$=/[&<>\"']/g,Z=RegExp(J.source),Y=RegExp($.source),X=/<%-([\\s\\S]+?)%>/g,Q=/<%([\\s\\S]+?)%>/g,ee=/<%=([\\s\\S]+?)%>/g,te=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,re=/^\\w*$/,ne=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,se=/[\\\\^$.*+?()[\\]{}|]/g,ie=RegExp(se.source),oe=/^\\s+/,ae=/\\s/,ce=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,le=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,ue=/,? & /,de=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,he=/[()=,{}\\[\\]\\/\\s]/,fe=/\\\\(\\\\)?/g,pe=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,me=/\\w*$/,ge=/^[-+]0x[0-9a-f]+$/i,ye=/^0b[01]+$/i,be=/^\\[object .+?Constructor\\]$/,ve=/^0o[0-7]+$/i,we=/^(?:0|[1-9]\\d*)$/,Ae=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ee=/($^)/,xe=/['\\n\\r\\u2028\\u2029\\\\]/g,Te=\"\\\\ud800-\\\\udfff\",ke=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\",Se=\"\\\\u2700-\\\\u27bf\",Ce=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",Ie=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",Pe=\"\\\\ufe0e\\\\ufe0f\",Me=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",Re=\"['’]\",Be=\"[\"+Te+\"]\",Ne=\"[\"+Me+\"]\",Oe=\"[\"+ke+\"]\",_e=\"\\\\d+\",Le=\"[\"+Se+\"]\",De=\"[\"+Ce+\"]\",Fe=\"[^\"+Te+Me+_e+Se+Ce+Ie+\"]\",Ue=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",je=\"[^\"+Te+\"]\",He=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",ze=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ge=\"[\"+Ie+\"]\",Ve=\"\\\\u200d\",qe=\"(?:\"+De+\"|\"+Fe+\")\",Ke=\"(?:\"+Ge+\"|\"+Fe+\")\",We=\"(?:['’](?:d|ll|m|re|s|t|ve))?\",Je=\"(?:['’](?:D|LL|M|RE|S|T|VE))?\",$e=\"(?:\"+Oe+\"|\"+Ue+\")\"+\"?\",Ze=\"[\"+Pe+\"]?\",Ye=Ze+$e+(\"(?:\"+Ve+\"(?:\"+[je,He,ze].join(\"|\")+\")\"+Ze+$e+\")*\"),Xe=\"(?:\"+[Le,He,ze].join(\"|\")+\")\"+Ye,Qe=\"(?:\"+[je+Oe+\"?\",Oe,He,ze,Be].join(\"|\")+\")\",et=RegExp(Re,\"g\"),tt=RegExp(Oe,\"g\"),rt=RegExp(Ue+\"(?=\"+Ue+\")|\"+Qe+Ye,\"g\"),nt=RegExp([Ge+\"?\"+De+\"+\"+We+\"(?=\"+[Ne,Ge,\"$\"].join(\"|\")+\")\",Ke+\"+\"+Je+\"(?=\"+[Ne,Ge+qe,\"$\"].join(\"|\")+\")\",Ge+\"?\"+qe+\"+\"+We,Ge+\"+\"+Je,\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",_e,Xe].join(\"|\"),\"g\"),st=RegExp(\"[\"+Ve+Te+ke+Pe+\"]\"),it=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ot=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],at=-1,ct={};ct[L]=ct[D]=ct[F]=ct[U]=ct[j]=ct[H]=ct[z]=ct[G]=ct[V]=!0,ct[b]=ct[v]=ct[O]=ct[w]=ct[_]=ct[A]=ct[E]=ct[x]=ct[k]=ct[S]=ct[C]=ct[P]=ct[M]=ct[R]=ct[N]=!1;var lt={};lt[b]=lt[v]=lt[O]=lt[_]=lt[w]=lt[A]=lt[L]=lt[D]=lt[F]=lt[U]=lt[j]=lt[k]=lt[S]=lt[C]=lt[P]=lt[M]=lt[R]=lt[B]=lt[H]=lt[z]=lt[G]=lt[V]=!0,lt[E]=lt[x]=lt[N]=!1;var ut={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},dt=parseFloat,ht=parseInt,ft=\"object\"==typeof globalThis&&globalThis&&globalThis.Object===Object&&globalThis,pt=\"object\"==typeof self&&self&&self.Object===Object&&self,mt=ft||pt||Function(\"return this\")(),gt=t&&!t.nodeType&&t,yt=gt&&e&&!e.nodeType&&e,bt=yt&&yt.exports===gt,vt=bt&&ft.process,wt=function(){try{var e=yt&&yt.require&&yt.require(\"util\").types;return e||vt&&vt.binding&&vt.binding(\"util\")}catch(e){}}(),At=wt&&wt.isArrayBuffer,Et=wt&&wt.isDate,xt=wt&&wt.isMap,Tt=wt&&wt.isRegExp,kt=wt&&wt.isSet,St=wt&&wt.isTypedArray;function Ct(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function It(e,t,r,n){for(var s=-1,i=null==e?0:e.length;++s<i;){var o=e[s];t(n,o,r(o),e)}return n}function Pt(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function Mt(e,t){for(var r=null==e?0:e.length;r--&&!1!==t(e[r],r,e););return e}function Rt(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function Bt(e,t){for(var r=-1,n=null==e?0:e.length,s=0,i=[];++r<n;){var o=e[r];t(o,r,e)&&(i[s++]=o)}return i}function Nt(e,t){return!!(null==e?0:e.length)&&Gt(e,t,0)>-1}function Ot(e,t,r){for(var n=-1,s=null==e?0:e.length;++n<s;)if(r(t,e[n]))return!0;return!1}function _t(e,t){for(var r=-1,n=null==e?0:e.length,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}function Lt(e,t){for(var r=-1,n=t.length,s=e.length;++r<n;)e[s+r]=t[r];return e}function Dt(e,t,r,n){var s=-1,i=null==e?0:e.length;for(n&&i&&(r=e[++s]);++s<i;)r=t(r,e[s],s,e);return r}function Ft(e,t,r,n){var s=null==e?0:e.length;for(n&&s&&(r=e[--s]);s--;)r=t(r,e[s],s,e);return r}function Ut(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}var jt=Wt(\"length\");function Ht(e,t,r){var n;return r(e,function(e,r,s){if(t(e,r,s))return n=r,!1}),n}function zt(e,t,r,n){for(var s=e.length,i=r+(n?1:-1);n?i--:++i<s;)if(t(e[i],i,e))return i;return-1}function Gt(e,t,r){return t==t?function(e,t,r){var n=r-1,s=e.length;for(;++n<s;)if(e[n]===t)return n;return-1}(e,t,r):zt(e,qt,r)}function Vt(e,t,r,n){for(var s=r-1,i=e.length;++s<i;)if(n(e[s],t))return s;return-1}function qt(e){return e!=e}function Kt(e,t){var r=null==e?0:e.length;return r?Zt(e,t)/r:m}function Wt(e){return function(t){return null==t?s:t[e]}}function Jt(e){return function(t){return null==e?s:e[t]}}function $t(e,t,r,n,s){return s(e,function(e,s,i){r=n?(n=!1,e):t(r,e,s,i)}),r}function Zt(e,t){for(var r,n=-1,i=e.length;++n<i;){var o=t(e[n]);o!==s&&(r=r===s?o:r+o)}return r}function Yt(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function Xt(e){return e?e.slice(0,mr(e)+1).replace(oe,\"\"):e}function Qt(e){return function(t){return e(t)}}function er(e,t){return _t(t,function(t){return e[t]})}function tr(e,t){return e.has(t)}function rr(e,t){for(var r=-1,n=e.length;++r<n&&Gt(t,e[r],0)>-1;);return r}function nr(e,t){for(var r=e.length;r--&&Gt(t,e[r],0)>-1;);return r}var sr=Jt({À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",Ç:\"C\",ç:\"c\",Ð:\"D\",ð:\"d\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",Ñ:\"N\",ñ:\"n\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ø:\"O\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ø:\"o\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",Ý:\"Y\",ý:\"y\",ÿ:\"y\",Æ:\"Ae\",æ:\"ae\",Þ:\"Th\",þ:\"th\",ß:\"ss\",Ā:\"A\",Ă:\"A\",Ą:\"A\",ā:\"a\",ă:\"a\",ą:\"a\",Ć:\"C\",Ĉ:\"C\",Ċ:\"C\",Č:\"C\",ć:\"c\",ĉ:\"c\",ċ:\"c\",č:\"c\",Ď:\"D\",Đ:\"D\",ď:\"d\",đ:\"d\",Ē:\"E\",Ĕ:\"E\",Ė:\"E\",Ę:\"E\",Ě:\"E\",ē:\"e\",ĕ:\"e\",ė:\"e\",ę:\"e\",ě:\"e\",Ĝ:\"G\",Ğ:\"G\",Ġ:\"G\",Ģ:\"G\",ĝ:\"g\",ğ:\"g\",ġ:\"g\",ģ:\"g\",Ĥ:\"H\",Ħ:\"H\",ĥ:\"h\",ħ:\"h\",Ĩ:\"I\",Ī:\"I\",Ĭ:\"I\",Į:\"I\",İ:\"I\",ĩ:\"i\",ī:\"i\",ĭ:\"i\",į:\"i\",ı:\"i\",Ĵ:\"J\",ĵ:\"j\",Ķ:\"K\",ķ:\"k\",ĸ:\"k\",Ĺ:\"L\",Ļ:\"L\",Ľ:\"L\",Ŀ:\"L\",Ł:\"L\",ĺ:\"l\",ļ:\"l\",ľ:\"l\",ŀ:\"l\",ł:\"l\",Ń:\"N\",Ņ:\"N\",Ň:\"N\",Ŋ:\"N\",ń:\"n\",ņ:\"n\",ň:\"n\",ŋ:\"n\",Ō:\"O\",Ŏ:\"O\",Ő:\"O\",ō:\"o\",ŏ:\"o\",ő:\"o\",Ŕ:\"R\",Ŗ:\"R\",Ř:\"R\",ŕ:\"r\",ŗ:\"r\",ř:\"r\",Ś:\"S\",Ŝ:\"S\",Ş:\"S\",Š:\"S\",ś:\"s\",ŝ:\"s\",ş:\"s\",š:\"s\",Ţ:\"T\",Ť:\"T\",Ŧ:\"T\",ţ:\"t\",ť:\"t\",ŧ:\"t\",Ũ:\"U\",Ū:\"U\",Ŭ:\"U\",Ů:\"U\",Ű:\"U\",Ų:\"U\",ũ:\"u\",ū:\"u\",ŭ:\"u\",ů:\"u\",ű:\"u\",ų:\"u\",Ŵ:\"W\",ŵ:\"w\",Ŷ:\"Y\",ŷ:\"y\",Ÿ:\"Y\",Ź:\"Z\",Ż:\"Z\",Ž:\"Z\",ź:\"z\",ż:\"z\",ž:\"z\",Ĳ:\"IJ\",ĳ:\"ij\",Œ:\"Oe\",œ:\"oe\",ŉ:\"'n\",ſ:\"s\"}),ir=Jt({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"});function or(e){return\"\\\\\"+ut[e]}function ar(e){return st.test(e)}function cr(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function lr(e,t){return function(r){return e(t(r))}}function ur(e,t){for(var r=-1,n=e.length,s=0,i=[];++r<n;){var o=e[r];o!==t&&o!==a||(e[r]=a,i[s++]=r)}return i}function dr(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}function hr(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=[e,e]}),r}function fr(e){return ar(e)?function(e){var t=rt.lastIndex=0;for(;rt.test(e);)++t;return t}(e):jt(e)}function pr(e){return ar(e)?function(e){return e.match(rt)||[]}(e):function(e){return e.split(\"\")}(e)}function mr(e){for(var t=e.length;t--&&ae.test(e.charAt(t)););return t}var gr=Jt({\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"});var yr=function e(t){var r,n=(t=null==t?mt:yr.defaults(mt.Object(),t,yr.pick(mt,ot))).Array,ae=t.Date,Te=t.Error,ke=t.Function,Se=t.Math,Ce=t.Object,Ie=t.RegExp,Pe=t.String,Me=t.TypeError,Re=n.prototype,Be=ke.prototype,Ne=Ce.prototype,Oe=t[\"__core-js_shared__\"],_e=Be.toString,Le=Ne.hasOwnProperty,De=0,Fe=(r=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+r:\"\",Ue=Ne.toString,je=_e.call(Ce),He=mt._,ze=Ie(\"^\"+_e.call(Le).replace(se,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Ge=bt?t.Buffer:s,Ve=t.Symbol,qe=t.Uint8Array,Ke=Ge?Ge.allocUnsafe:s,We=lr(Ce.getPrototypeOf,Ce),Je=Ce.create,$e=Ne.propertyIsEnumerable,Ze=Re.splice,Ye=Ve?Ve.isConcatSpreadable:s,Xe=Ve?Ve.iterator:s,Qe=Ve?Ve.toStringTag:s,rt=function(){try{var e=hi(Ce,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),st=t.clearTimeout!==mt.clearTimeout&&t.clearTimeout,ut=ae&&ae.now!==mt.Date.now&&ae.now,ft=t.setTimeout!==mt.setTimeout&&t.setTimeout,pt=Se.ceil,gt=Se.floor,yt=Ce.getOwnPropertySymbols,vt=Ge?Ge.isBuffer:s,wt=t.isFinite,jt=Re.join,Jt=lr(Ce.keys,Ce),br=Se.max,vr=Se.min,wr=ae.now,Ar=t.parseInt,Er=Se.random,xr=Re.reverse,Tr=hi(t,\"DataView\"),kr=hi(t,\"Map\"),Sr=hi(t,\"Promise\"),Cr=hi(t,\"Set\"),Ir=hi(t,\"WeakMap\"),Pr=hi(Ce,\"create\"),Mr=Ir&&new Ir,Rr={},Br=Fi(Tr),Nr=Fi(kr),Or=Fi(Sr),_r=Fi(Cr),Lr=Fi(Ir),Dr=Ve?Ve.prototype:s,Fr=Dr?Dr.valueOf:s,Ur=Dr?Dr.toString:s;function jr(e){if(ra(e)&&!qo(e)&&!(e instanceof Vr)){if(e instanceof Gr)return e;if(Le.call(e,\"__wrapped__\"))return Ui(e)}return new Gr(e)}var Hr=function(){function e(){}return function(t){if(!ta(t))return{};if(Je)return Je(t);e.prototype=t;var r=new e;return e.prototype=s,r}}();function zr(){}function Gr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=s}function Vr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=g,this.__views__=[]}function qr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Kr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Wr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Jr(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new Wr;++t<r;)this.add(e[t])}function $r(e){var t=this.__data__=new Kr(e);this.size=t.size}function Zr(e,t){var r=qo(e),n=!r&&Vo(e),s=!r&&!n&&$o(e),i=!r&&!n&&!s&&ua(e),o=r||n||s||i,a=o?Yt(e.length,Pe):[],c=a.length;for(var l in e)!t&&!Le.call(e,l)||o&&(\"length\"==l||s&&(\"offset\"==l||\"parent\"==l)||i&&(\"buffer\"==l||\"byteLength\"==l||\"byteOffset\"==l)||vi(l,c))||a.push(l);return a}function Yr(e){var t=e.length;return t?e[$n(0,t-1)]:s}function Xr(e,t){return _i(Ms(e),cn(t,0,e.length))}function Qr(e){return _i(Ms(e))}function en(e,t,r){(r!==s&&!Ho(e[t],r)||r===s&&!(t in e))&&on(e,t,r)}function tn(e,t,r){var n=e[t];Le.call(e,t)&&Ho(n,r)&&(r!==s||t in e)||on(e,t,r)}function rn(e,t){for(var r=e.length;r--;)if(Ho(e[r][0],t))return r;return-1}function nn(e,t,r,n){return fn(e,function(e,s,i){t(n,e,r(e),i)}),n}function sn(e,t){return e&&Rs(t,Ba(t),e)}function on(e,t,r){\"__proto__\"==t&&rt?rt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function an(e,t){for(var r=-1,i=t.length,o=n(i),a=null==e;++r<i;)o[r]=a?s:Ca(e,t[r]);return o}function cn(e,t,r){return e==e&&(r!==s&&(e=e<=r?e:r),t!==s&&(e=e>=t?e:t)),e}function ln(e,t,r,n,i,o){var a,c=1&t,l=2&t,u=4&t;if(r&&(a=i?r(e,n,i,o):r(e)),a!==s)return a;if(!ta(e))return e;var d=qo(e);if(d){if(a=function(e){var t=e.length,r=new e.constructor(t);t&&\"string\"==typeof e[0]&&Le.call(e,\"index\")&&(r.index=e.index,r.input=e.input);return r}(e),!c)return Ms(e,a)}else{var h=mi(e),f=h==x||h==T;if($o(e))return Ts(e,c);if(h==C||h==b||f&&!i){if(a=l||f?{}:yi(e),!c)return l?function(e,t){return Rs(e,pi(e),t)}(e,function(e,t){return e&&Rs(t,Na(t),e)}(a,e)):function(e,t){return Rs(e,fi(e),t)}(e,sn(a,e))}else{if(!lt[h])return i?e:{};a=function(e,t,r){var n=e.constructor;switch(t){case O:return ks(e);case w:case A:return new n(+e);case _:return function(e,t){var r=t?ks(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case L:case D:case F:case U:case j:case H:case z:case G:case V:return Ss(e,r);case k:return new n;case S:case R:return new n(e);case P:return function(e){var t=new e.constructor(e.source,me.exec(e));return t.lastIndex=e.lastIndex,t}(e);case M:return new n;case B:return s=e,Fr?Ce(Fr.call(s)):{}}var s}(e,h,c)}}o||(o=new $r);var p=o.get(e);if(p)return p;o.set(e,a),aa(e)?e.forEach(function(n){a.add(ln(n,t,r,n,e,o))}):na(e)&&e.forEach(function(n,s){a.set(s,ln(n,t,r,s,e,o))});var m=d?s:(u?l?ii:si:l?Na:Ba)(e);return Pt(m||e,function(n,s){m&&(n=e[s=n]),tn(a,s,ln(n,t,r,s,e,o))}),a}function un(e,t,r){var n=r.length;if(null==e)return!n;for(e=Ce(e);n--;){var i=r[n],o=t[i],a=e[i];if(a===s&&!(i in e)||!o(a))return!1}return!0}function dn(e,t,r){if(\"function\"!=typeof e)throw new Me(i);return Ri(function(){e.apply(s,r)},t)}function hn(e,t,r,n){var s=-1,i=Nt,o=!0,a=e.length,c=[],l=t.length;if(!a)return c;r&&(t=_t(t,Qt(r))),n?(i=Ot,o=!1):t.length>=200&&(i=tr,o=!1,t=new Jr(t));e:for(;++s<a;){var u=e[s],d=null==r?u:r(u);if(u=n||0!==u?u:0,o&&d==d){for(var h=l;h--;)if(t[h]===d)continue e;c.push(u)}else i(t,d,n)||c.push(u)}return c}jr.templateSettings={escape:X,evaluate:Q,interpolate:ee,variable:\"\",imports:{_:jr}},jr.prototype=zr.prototype,jr.prototype.constructor=jr,Gr.prototype=Hr(zr.prototype),Gr.prototype.constructor=Gr,Vr.prototype=Hr(zr.prototype),Vr.prototype.constructor=Vr,qr.prototype.clear=function(){this.__data__=Pr?Pr(null):{},this.size=0},qr.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},qr.prototype.get=function(e){var t=this.__data__;if(Pr){var r=t[e];return r===o?s:r}return Le.call(t,e)?t[e]:s},qr.prototype.has=function(e){var t=this.__data__;return Pr?t[e]!==s:Le.call(t,e)},qr.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Pr&&t===s?o:t,this},Kr.prototype.clear=function(){this.__data__=[],this.size=0},Kr.prototype.delete=function(e){var t=this.__data__,r=rn(t,e);return!(r<0)&&(r==t.length-1?t.pop():Ze.call(t,r,1),--this.size,!0)},Kr.prototype.get=function(e){var t=this.__data__,r=rn(t,e);return r<0?s:t[r][1]},Kr.prototype.has=function(e){return rn(this.__data__,e)>-1},Kr.prototype.set=function(e,t){var r=this.__data__,n=rn(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Wr.prototype.clear=function(){this.size=0,this.__data__={hash:new qr,map:new(kr||Kr),string:new qr}},Wr.prototype.delete=function(e){var t=ui(this,e).delete(e);return this.size-=t?1:0,t},Wr.prototype.get=function(e){return ui(this,e).get(e)},Wr.prototype.has=function(e){return ui(this,e).has(e)},Wr.prototype.set=function(e,t){var r=ui(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Jr.prototype.add=Jr.prototype.push=function(e){return this.__data__.set(e,o),this},Jr.prototype.has=function(e){return this.__data__.has(e)},$r.prototype.clear=function(){this.__data__=new Kr,this.size=0},$r.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},$r.prototype.get=function(e){return this.__data__.get(e)},$r.prototype.has=function(e){return this.__data__.has(e)},$r.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Kr){var n=r.__data__;if(!kr||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Wr(n)}return r.set(e,t),this.size=r.size,this};var fn=Os(An),pn=Os(En,!0);function mn(e,t){var r=!0;return fn(e,function(e,n,s){return r=!!t(e,n,s)}),r}function gn(e,t,r){for(var n=-1,i=e.length;++n<i;){var o=e[n],a=t(o);if(null!=a&&(c===s?a==a&&!la(a):r(a,c)))var c=a,l=o}return l}function yn(e,t){var r=[];return fn(e,function(e,n,s){t(e,n,s)&&r.push(e)}),r}function bn(e,t,r,n,s){var i=-1,o=e.length;for(r||(r=bi),s||(s=[]);++i<o;){var a=e[i];t>0&&r(a)?t>1?bn(a,t-1,r,n,s):Lt(s,a):n||(s[s.length]=a)}return s}var vn=_s(),wn=_s(!0);function An(e,t){return e&&vn(e,t,Ba)}function En(e,t){return e&&wn(e,t,Ba)}function xn(e,t){return Bt(t,function(t){return Xo(e[t])})}function Tn(e,t){for(var r=0,n=(t=ws(t,e)).length;null!=e&&r<n;)e=e[Di(t[r++])];return r&&r==n?e:s}function kn(e,t,r){var n=t(e);return qo(e)?n:Lt(n,r(e))}function Sn(e){return null==e?e===s?\"[object Undefined]\":\"[object Null]\":Qe&&Qe in Ce(e)?function(e){var t=Le.call(e,Qe),r=e[Qe];try{e[Qe]=s;var n=!0}catch(e){}var i=Ue.call(e);n&&(t?e[Qe]=r:delete e[Qe]);return i}(e):function(e){return Ue.call(e)}(e)}function Cn(e,t){return e>t}function In(e,t){return null!=e&&Le.call(e,t)}function Pn(e,t){return null!=e&&t in Ce(e)}function Mn(e,t,r){for(var i=r?Ot:Nt,o=e[0].length,a=e.length,c=a,l=n(a),u=1/0,d=[];c--;){var h=e[c];c&&t&&(h=_t(h,Qt(t))),u=vr(h.length,u),l[c]=!r&&(t||o>=120&&h.length>=120)?new Jr(c&&h):s}h=e[0];var f=-1,p=l[0];e:for(;++f<o&&d.length<u;){var m=h[f],g=t?t(m):m;if(m=r||0!==m?m:0,!(p?tr(p,g):i(d,g,r))){for(c=a;--c;){var y=l[c];if(!(y?tr(y,g):i(e[c],g,r)))continue e}p&&p.push(g),d.push(m)}}return d}function Rn(e,t,r){var n=null==(e=Ii(e,t=ws(t,e)))?e:e[Di(Zi(t))];return null==n?s:Ct(n,e,r)}function Bn(e){return ra(e)&&Sn(e)==b}function Nn(e,t,r,n,i){return e===t||(null==e||null==t||!ra(e)&&!ra(t)?e!=e&&t!=t:function(e,t,r,n,i,o){var a=qo(e),c=qo(t),l=a?v:mi(e),u=c?v:mi(t),d=(l=l==b?C:l)==C,h=(u=u==b?C:u)==C,f=l==u;if(f&&$o(e)){if(!$o(t))return!1;a=!0,d=!1}if(f&&!d)return o||(o=new $r),a||ua(e)?ri(e,t,r,n,i,o):function(e,t,r,n,s,i,o){switch(r){case _:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case O:return!(e.byteLength!=t.byteLength||!i(new qe(e),new qe(t)));case w:case A:case S:return Ho(+e,+t);case E:return e.name==t.name&&e.message==t.message;case P:case R:return e==t+\"\";case k:var a=cr;case M:var c=1&n;if(a||(a=dr),e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;n|=2,o.set(e,t);var u=ri(a(e),a(t),n,s,i,o);return o.delete(e),u;case B:if(Fr)return Fr.call(e)==Fr.call(t)}return!1}(e,t,l,r,n,i,o);if(!(1&r)){var p=d&&Le.call(e,\"__wrapped__\"),m=h&&Le.call(t,\"__wrapped__\");if(p||m){var g=p?e.value():e,y=m?t.value():t;return o||(o=new $r),i(g,y,r,n,o)}}if(!f)return!1;return o||(o=new $r),function(e,t,r,n,i,o){var a=1&r,c=si(e),l=c.length,u=si(t),d=u.length;if(l!=d&&!a)return!1;var h=l;for(;h--;){var f=c[h];if(!(a?f in t:Le.call(t,f)))return!1}var p=o.get(e),m=o.get(t);if(p&&m)return p==t&&m==e;var g=!0;o.set(e,t),o.set(t,e);var y=a;for(;++h<l;){var b=e[f=c[h]],v=t[f];if(n)var w=a?n(v,b,f,t,e,o):n(b,v,f,e,t,o);if(!(w===s?b===v||i(b,v,r,n,o):w)){g=!1;break}y||(y=\"constructor\"==f)}if(g&&!y){var A=e.constructor,E=t.constructor;A==E||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof A&&A instanceof A&&\"function\"==typeof E&&E instanceof E||(g=!1)}return o.delete(e),o.delete(t),g}(e,t,r,n,i,o)}(e,t,r,n,Nn,i))}function On(e,t,r,n){var i=r.length,o=i,a=!n;if(null==e)return!o;for(e=Ce(e);i--;){var c=r[i];if(a&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i<o;){var l=(c=r[i])[0],u=e[l],d=c[1];if(a&&c[2]){if(u===s&&!(l in e))return!1}else{var h=new $r;if(n)var f=n(u,d,l,e,t,h);if(!(f===s?Nn(d,u,3,n,h):f))return!1}}return!0}function _n(e){return!(!ta(e)||(t=e,Fe&&Fe in t))&&(Xo(e)?ze:be).test(Fi(e));var t}function Ln(e){return\"function\"==typeof e?e:null==e?sc:\"object\"==typeof e?qo(e)?zn(e[0],e[1]):Hn(e):fc(e)}function Dn(e){if(!Ti(e))return Jt(e);var t=[];for(var r in Ce(e))Le.call(e,r)&&\"constructor\"!=r&&t.push(r);return t}function Fn(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var r in Ce(e))t.push(r);return t}(e);var t=Ti(e),r=[];for(var n in e)(\"constructor\"!=n||!t&&Le.call(e,n))&&r.push(n);return r}function Un(e,t){return e<t}function jn(e,t){var r=-1,s=Wo(e)?n(e.length):[];return fn(e,function(e,n,i){s[++r]=t(e,n,i)}),s}function Hn(e){var t=di(e);return 1==t.length&&t[0][2]?Si(t[0][0],t[0][1]):function(r){return r===e||On(r,e,t)}}function zn(e,t){return Ai(e)&&ki(t)?Si(Di(e),t):function(r){var n=Ca(r,e);return n===s&&n===t?Ia(r,e):Nn(t,n,3)}}function Gn(e,t,r,n,i){e!==t&&vn(t,function(o,a){if(i||(i=new $r),ta(o))!function(e,t,r,n,i,o,a){var c=Pi(e,r),l=Pi(t,r),u=a.get(l);if(u)return void en(e,r,u);var d=o?o(c,l,r+\"\",e,t,a):s,h=d===s;if(h){var f=qo(l),p=!f&&$o(l),m=!f&&!p&&ua(l);d=l,f||p||m?qo(c)?d=c:Jo(c)?d=Ms(c):p?(h=!1,d=Ts(l,!0)):m?(h=!1,d=Ss(l,!0)):d=[]:ia(l)||Vo(l)?(d=c,Vo(c)?d=ba(c):ta(c)&&!Xo(c)||(d=yi(l))):h=!1}h&&(a.set(l,d),i(d,l,n,o,a),a.delete(l));en(e,r,d)}(e,t,a,r,Gn,n,i);else{var c=n?n(Pi(e,a),o,a+\"\",e,t,i):s;c===s&&(c=o),en(e,a,c)}},Na)}function Vn(e,t){var r=e.length;if(r)return vi(t+=t<0?r:0,r)?e[t]:s}function qn(e,t,r){t=t.length?_t(t,function(e){return qo(e)?function(t){return Tn(t,1===e.length?e[0]:e)}:e}):[sc];var n=-1;t=_t(t,Qt(li()));var s=jn(e,function(e,r,s){var i=_t(t,function(t){return t(e)});return{criteria:i,index:++n,value:e}});return function(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}(s,function(e,t){return function(e,t,r){var n=-1,s=e.criteria,i=t.criteria,o=s.length,a=r.length;for(;++n<o;){var c=Cs(s[n],i[n]);if(c)return n>=a?c:c*(\"desc\"==r[n]?-1:1)}return e.index-t.index}(e,t,r)})}function Kn(e,t,r){for(var n=-1,s=t.length,i={};++n<s;){var o=t[n],a=Tn(e,o);r(a,o)&&es(i,ws(o,e),a)}return i}function Wn(e,t,r,n){var s=n?Vt:Gt,i=-1,o=t.length,a=e;for(e===t&&(t=Ms(t)),r&&(a=_t(e,Qt(r)));++i<o;)for(var c=0,l=t[i],u=r?r(l):l;(c=s(a,u,c,n))>-1;)a!==e&&Ze.call(a,c,1),Ze.call(e,c,1);return e}function Jn(e,t){for(var r=e?t.length:0,n=r-1;r--;){var s=t[r];if(r==n||s!==i){var i=s;vi(s)?Ze.call(e,s,1):hs(e,s)}}return e}function $n(e,t){return e+gt(Er()*(t-e+1))}function Zn(e,t){var r=\"\";if(!e||t<1||t>p)return r;do{t%2&&(r+=e),(t=gt(t/2))&&(e+=e)}while(t);return r}function Yn(e,t){return Bi(Ci(e,t,sc),e+\"\")}function Xn(e){return Yr(Ha(e))}function Qn(e,t){var r=Ha(e);return _i(r,cn(t,0,r.length))}function es(e,t,r,n){if(!ta(e))return e;for(var i=-1,o=(t=ws(t,e)).length,a=o-1,c=e;null!=c&&++i<o;){var l=Di(t[i]),u=r;if(\"__proto__\"===l||\"constructor\"===l||\"prototype\"===l)return e;if(i!=a){var d=c[l];(u=n?n(d,l,c):s)===s&&(u=ta(d)?d:vi(t[i+1])?[]:{})}tn(c,l,u),c=c[l]}return e}var ts=Mr?function(e,t){return Mr.set(e,t),e}:sc,rs=rt?function(e,t){return rt(e,\"toString\",{configurable:!0,enumerable:!1,value:tc(t),writable:!0})}:sc;function ns(e){return _i(Ha(e))}function ss(e,t,r){var s=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var o=n(i);++s<i;)o[s]=e[s+t];return o}function is(e,t){var r;return fn(e,function(e,n,s){return!(r=t(e,n,s))}),!!r}function os(e,t,r){var n=0,s=null==e?n:e.length;if(\"number\"==typeof t&&t==t&&s<=2147483647){for(;n<s;){var i=n+s>>>1,o=e[i];null!==o&&!la(o)&&(r?o<=t:o<t)?n=i+1:s=i}return s}return as(e,t,sc,r)}function as(e,t,r,n){var i=0,o=null==e?0:e.length;if(0===o)return 0;for(var a=(t=r(t))!=t,c=null===t,l=la(t),u=t===s;i<o;){var d=gt((i+o)/2),h=r(e[d]),f=h!==s,p=null===h,m=h==h,g=la(h);if(a)var y=n||m;else y=u?m&&(n||f):c?m&&f&&(n||!p):l?m&&f&&!p&&(n||!g):!p&&!g&&(n?h<=t:h<t);y?i=d+1:o=d}return vr(o,4294967294)}function cs(e,t){for(var r=-1,n=e.length,s=0,i=[];++r<n;){var o=e[r],a=t?t(o):o;if(!r||!Ho(a,c)){var c=a;i[s++]=0===o?0:o}}return i}function ls(e){return\"number\"==typeof e?e:la(e)?m:+e}function us(e){if(\"string\"==typeof e)return e;if(qo(e))return _t(e,us)+\"\";if(la(e))return Ur?Ur.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function ds(e,t,r){var n=-1,s=Nt,i=e.length,o=!0,a=[],c=a;if(r)o=!1,s=Ot;else if(i>=200){var l=t?null:Zs(e);if(l)return dr(l);o=!1,s=tr,c=new Jr}else c=t?[]:a;e:for(;++n<i;){var u=e[n],d=t?t(u):u;if(u=r||0!==u?u:0,o&&d==d){for(var h=c.length;h--;)if(c[h]===d)continue e;t&&c.push(d),a.push(u)}else s(c,d,r)||(c!==a&&c.push(d),a.push(u))}return a}function hs(e,t){var r=-1,n=(t=ws(t,e)).length;if(!n)return!0;for(;++r<n;){var s=Di(t[r]);if(\"__proto__\"===s&&!Le.call(e,\"__proto__\"))return!1;if((\"constructor\"===s||\"prototype\"===s)&&r<n-1)return!1}var i=Ii(e,t);return null==i||delete i[Di(Zi(t))]}function fs(e,t,r,n){return es(e,t,r(Tn(e,t)),n)}function ps(e,t,r,n){for(var s=e.length,i=n?s:-1;(n?i--:++i<s)&&t(e[i],i,e););return r?ss(e,n?0:i,n?i+1:s):ss(e,n?i+1:0,n?s:i)}function ms(e,t){var r=e;return r instanceof Vr&&(r=r.value()),Dt(t,function(e,t){return t.func.apply(t.thisArg,Lt([e],t.args))},r)}function gs(e,t,r){var s=e.length;if(s<2)return s?ds(e[0]):[];for(var i=-1,o=n(s);++i<s;)for(var a=e[i],c=-1;++c<s;)c!=i&&(o[i]=hn(o[i]||a,e[c],t,r));return ds(bn(o,1),t,r)}function ys(e,t,r){for(var n=-1,i=e.length,o=t.length,a={};++n<i;){var c=n<o?t[n]:s;r(a,e[n],c)}return a}function bs(e){return Jo(e)?e:[]}function vs(e){return\"function\"==typeof e?e:sc}function ws(e,t){return qo(e)?e:Ai(e,t)?[e]:Li(va(e))}var As=Yn;function Es(e,t,r){var n=e.length;return r=r===s?n:r,!t&&r>=n?e:ss(e,t,r)}var xs=st||function(e){return mt.clearTimeout(e)};function Ts(e,t){if(t)return e.slice();var r=e.length,n=Ke?Ke(r):new e.constructor(r);return e.copy(n),n}function ks(e){var t=new e.constructor(e.byteLength);return new qe(t).set(new qe(e)),t}function Ss(e,t){var r=t?ks(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function Cs(e,t){if(e!==t){var r=e!==s,n=null===e,i=e==e,o=la(e),a=t!==s,c=null===t,l=t==t,u=la(t);if(!c&&!u&&!o&&e>t||o&&a&&l&&!c&&!u||n&&a&&l||!r&&l||!i)return 1;if(!n&&!o&&!u&&e<t||u&&r&&i&&!n&&!o||c&&r&&i||!a&&i||!l)return-1}return 0}function Is(e,t,r,s){for(var i=-1,o=e.length,a=r.length,c=-1,l=t.length,u=br(o-a,0),d=n(l+u),h=!s;++c<l;)d[c]=t[c];for(;++i<a;)(h||i<o)&&(d[r[i]]=e[i]);for(;u--;)d[c++]=e[i++];return d}function Ps(e,t,r,s){for(var i=-1,o=e.length,a=-1,c=r.length,l=-1,u=t.length,d=br(o-c,0),h=n(d+u),f=!s;++i<d;)h[i]=e[i];for(var p=i;++l<u;)h[p+l]=t[l];for(;++a<c;)(f||i<o)&&(h[p+r[a]]=e[i++]);return h}function Ms(e,t){var r=-1,s=e.length;for(t||(t=n(s));++r<s;)t[r]=e[r];return t}function Rs(e,t,r,n){var i=!r;r||(r={});for(var o=-1,a=t.length;++o<a;){var c=t[o],l=n?n(r[c],e[c],c,r,e):s;l===s&&(l=e[c]),i?on(r,c,l):tn(r,c,l)}return r}function Bs(e,t){return function(r,n){var s=qo(r)?It:nn,i=t?t():{};return s(r,e,li(n,2),i)}}function Ns(e){return Yn(function(t,r){var n=-1,i=r.length,o=i>1?r[i-1]:s,a=i>2?r[2]:s;for(o=e.length>3&&\"function\"==typeof o?(i--,o):s,a&&wi(r[0],r[1],a)&&(o=i<3?s:o,i=1),t=Ce(t);++n<i;){var c=r[n];c&&e(t,c,n,o)}return t})}function Os(e,t){return function(r,n){if(null==r)return r;if(!Wo(r))return e(r,n);for(var s=r.length,i=t?s:-1,o=Ce(r);(t?i--:++i<s)&&!1!==n(o[i],i,o););return r}}function _s(e){return function(t,r,n){for(var s=-1,i=Ce(t),o=n(t),a=o.length;a--;){var c=o[e?a:++s];if(!1===r(i[c],c,i))break}return t}}function Ls(e){return function(t){var r=ar(t=va(t))?pr(t):s,n=r?r[0]:t.charAt(0),i=r?Es(r,1).join(\"\"):t.slice(1);return n[e]()+i}}function Ds(e){return function(t){return Dt(Xa(Va(t).replace(et,\"\")),e,\"\")}}function Fs(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=Hr(e.prototype),n=e.apply(r,t);return ta(n)?n:r}}function Us(e){return function(t,r,n){var i=Ce(t);if(!Wo(t)){var o=li(r,3);t=Ba(t),r=function(e){return o(i[e],e,i)}}var a=e(t,r,n);return a>-1?i[o?t[a]:a]:s}}function js(e){return ni(function(t){var r=t.length,n=r,o=Gr.prototype.thru;for(e&&t.reverse();n--;){var a=t[n];if(\"function\"!=typeof a)throw new Me(i);if(o&&!c&&\"wrapper\"==ai(a))var c=new Gr([],!0)}for(n=c?n:r;++n<r;){var l=ai(a=t[n]),u=\"wrapper\"==l?oi(a):s;c=u&&Ei(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?c[ai(u[0])].apply(c,u[3]):1==a.length&&Ei(a)?c[l]():c.thru(a)}return function(){var e=arguments,n=e[0];if(c&&1==e.length&&qo(n))return c.plant(n).value();for(var s=0,i=r?t[s].apply(this,e):n;++s<r;)i=t[s].call(this,i);return i}})}function Hs(e,t,r,i,o,a,c,l,u,h){var f=t&d,p=1&t,m=2&t,g=24&t,y=512&t,b=m?s:Fs(e);return function d(){for(var v=arguments.length,w=n(v),A=v;A--;)w[A]=arguments[A];if(g)var E=ci(d),x=function(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}(w,E);if(i&&(w=Is(w,i,o,g)),a&&(w=Ps(w,a,c,g)),v-=x,g&&v<h){var T=ur(w,E);return Js(e,t,Hs,d.placeholder,r,w,T,l,u,h-v)}var k=p?r:this,S=m?k[e]:e;return v=w.length,l?w=function(e,t){var r=e.length,n=vr(t.length,r),i=Ms(e);for(;n--;){var o=t[n];e[n]=vi(o,r)?i[o]:s}return e}(w,l):y&&v>1&&w.reverse(),f&&u<v&&(w.length=u),this&&this!==mt&&this instanceof d&&(S=b||Fs(S)),S.apply(k,w)}}function zs(e,t){return function(r,n){return function(e,t,r,n){return An(e,function(e,s,i){t(n,r(e),s,i)}),n}(r,e,t(n),{})}}function Gs(e,t){return function(r,n){var i;if(r===s&&n===s)return t;if(r!==s&&(i=r),n!==s){if(i===s)return n;\"string\"==typeof r||\"string\"==typeof n?(r=us(r),n=us(n)):(r=ls(r),n=ls(n)),i=e(r,n)}return i}}function Vs(e){return ni(function(t){return t=_t(t,Qt(li())),Yn(function(r){var n=this;return e(t,function(e){return Ct(e,n,r)})})})}function qs(e,t){var r=(t=t===s?\" \":us(t)).length;if(r<2)return r?Zn(t,e):t;var n=Zn(t,pt(e/fr(t)));return ar(t)?Es(pr(n),0,e).join(\"\"):n.slice(0,e)}function Ks(e){return function(t,r,i){return i&&\"number\"!=typeof i&&wi(t,r,i)&&(r=i=s),t=pa(t),r===s?(r=t,t=0):r=pa(r),function(e,t,r,s){for(var i=-1,o=br(pt((t-e)/(r||1)),0),a=n(o);o--;)a[s?o:++i]=e,e+=r;return a}(t,r,i=i===s?t<r?1:-1:pa(i),e)}}function Ws(e){return function(t,r){return\"string\"==typeof t&&\"string\"==typeof r||(t=ya(t),r=ya(r)),e(t,r)}}function Js(e,t,r,n,i,o,a,c,d,h){var f=8&t;t|=f?l:u,4&(t&=~(f?u:l))||(t&=-4);var p=[e,t,i,f?o:s,f?a:s,f?s:o,f?s:a,c,d,h],m=r.apply(s,p);return Ei(e)&&Mi(m,p),m.placeholder=n,Ni(m,e,t)}function $s(e){var t=Se[e];return function(e,r){if(e=ya(e),(r=null==r?0:vr(ma(r),292))&&wt(e)){var n=(va(e)+\"e\").split(\"e\");return+((n=(va(t(n[0]+\"e\"+(+n[1]+r)))+\"e\").split(\"e\"))[0]+\"e\"+(+n[1]-r))}return t(e)}}var Zs=Cr&&1/dr(new Cr([,-0]))[1]==f?function(e){return new Cr(e)}:lc;function Ys(e){return function(t){var r=mi(t);return r==k?cr(t):r==M?hr(t):function(e,t){return _t(t,function(t){return[t,e[t]]})}(t,e(t))}}function Xs(e,t,r,o,f,p,m,g){var y=2&t;if(!y&&\"function\"!=typeof e)throw new Me(i);var b=o?o.length:0;if(b||(t&=-97,o=f=s),m=m===s?m:br(ma(m),0),g=g===s?g:ma(g),b-=f?f.length:0,t&u){var v=o,w=f;o=f=s}var A=y?s:oi(e),E=[e,t,r,o,f,v,w,p,m,g];if(A&&function(e,t){var r=e[1],n=t[1],s=r|n,i=s<131,o=n==d&&8==r||n==d&&r==h&&e[7].length<=t[8]||384==n&&t[7].length<=t[8]&&8==r;if(!i&&!o)return e;1&n&&(e[2]=t[2],s|=1&r?0:4);var c=t[3];if(c){var l=e[3];e[3]=l?Is(l,c,t[4]):c,e[4]=l?ur(e[3],a):t[4]}(c=t[5])&&(l=e[5],e[5]=l?Ps(l,c,t[6]):c,e[6]=l?ur(e[5],a):t[6]);(c=t[7])&&(e[7]=c);n&d&&(e[8]=null==e[8]?t[8]:vr(e[8],t[8]));null==e[9]&&(e[9]=t[9]);e[0]=t[0],e[1]=s}(E,A),e=E[0],t=E[1],r=E[2],o=E[3],f=E[4],!(g=E[9]=E[9]===s?y?0:e.length:br(E[9]-b,0))&&24&t&&(t&=-25),t&&1!=t)x=8==t||t==c?function(e,t,r){var i=Fs(e);return function o(){for(var a=arguments.length,c=n(a),l=a,u=ci(o);l--;)c[l]=arguments[l];var d=a<3&&c[0]!==u&&c[a-1]!==u?[]:ur(c,u);return(a-=d.length)<r?Js(e,t,Hs,o.placeholder,s,c,d,s,s,r-a):Ct(this&&this!==mt&&this instanceof o?i:e,this,c)}}(e,t,g):t!=l&&33!=t||f.length?Hs.apply(s,E):function(e,t,r,s){var i=1&t,o=Fs(e);return function t(){for(var a=-1,c=arguments.length,l=-1,u=s.length,d=n(u+c),h=this&&this!==mt&&this instanceof t?o:e;++l<u;)d[l]=s[l];for(;c--;)d[l++]=arguments[++a];return Ct(h,i?r:this,d)}}(e,t,r,o);else var x=function(e,t,r){var n=1&t,s=Fs(e);return function t(){return(this&&this!==mt&&this instanceof t?s:e).apply(n?r:this,arguments)}}(e,t,r);return Ni((A?ts:Mi)(x,E),e,t)}function Qs(e,t,r,n){return e===s||Ho(e,Ne[r])&&!Le.call(n,r)?t:e}function ei(e,t,r,n,i,o){return ta(e)&&ta(t)&&(o.set(t,e),Gn(e,t,s,ei,o),o.delete(t)),e}function ti(e){return ia(e)?s:e}function ri(e,t,r,n,i,o){var a=1&r,c=e.length,l=t.length;if(c!=l&&!(a&&l>c))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var h=-1,f=!0,p=2&r?new Jr:s;for(o.set(e,t),o.set(t,e);++h<c;){var m=e[h],g=t[h];if(n)var y=a?n(g,m,h,t,e,o):n(m,g,h,e,t,o);if(y!==s){if(y)continue;f=!1;break}if(p){if(!Ut(t,function(e,t){if(!tr(p,t)&&(m===e||i(m,e,r,n,o)))return p.push(t)})){f=!1;break}}else if(m!==g&&!i(m,g,r,n,o)){f=!1;break}}return o.delete(e),o.delete(t),f}function ni(e){return Bi(Ci(e,s,qi),e+\"\")}function si(e){return kn(e,Ba,fi)}function ii(e){return kn(e,Na,pi)}var oi=Mr?function(e){return Mr.get(e)}:lc;function ai(e){for(var t=e.name+\"\",r=Rr[t],n=Le.call(Rr,t)?r.length:0;n--;){var s=r[n],i=s.func;if(null==i||i==e)return s.name}return t}function ci(e){return(Le.call(jr,\"placeholder\")?jr:e).placeholder}function li(){var e=jr.iteratee||ic;return e=e===ic?Ln:e,arguments.length?e(arguments[0],arguments[1]):e}function ui(e,t){var r,n,s=e.__data__;return(\"string\"==(n=typeof(r=t))||\"number\"==n||\"symbol\"==n||\"boolean\"==n?\"__proto__\"!==r:null===r)?s[\"string\"==typeof t?\"string\":\"hash\"]:s.map}function di(e){for(var t=Ba(e),r=t.length;r--;){var n=t[r],s=e[n];t[r]=[n,s,ki(s)]}return t}function hi(e,t){var r=function(e,t){return null==e?s:e[t]}(e,t);return _n(r)?r:s}var fi=yt?function(e){return null==e?[]:(e=Ce(e),Bt(yt(e),function(t){return $e.call(e,t)}))}:gc,pi=yt?function(e){for(var t=[];e;)Lt(t,fi(e)),e=We(e);return t}:gc,mi=Sn;function gi(e,t,r){for(var n=-1,s=(t=ws(t,e)).length,i=!1;++n<s;){var o=Di(t[n]);if(!(i=null!=e&&r(e,o)))break;e=e[o]}return i||++n!=s?i:!!(s=null==e?0:e.length)&&ea(s)&&vi(o,s)&&(qo(e)||Vo(e))}function yi(e){return\"function\"!=typeof e.constructor||Ti(e)?{}:Hr(We(e))}function bi(e){return qo(e)||Vo(e)||!!(Ye&&e&&e[Ye])}function vi(e,t){var r=typeof e;return!!(t=null==t?p:t)&&(\"number\"==r||\"symbol\"!=r&&we.test(e))&&e>-1&&e%1==0&&e<t}function wi(e,t,r){if(!ta(r))return!1;var n=typeof t;return!!(\"number\"==n?Wo(r)&&vi(t,r.length):\"string\"==n&&t in r)&&Ho(r[t],e)}function Ai(e,t){if(qo(e))return!1;var r=typeof e;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=e&&!la(e))||(re.test(e)||!te.test(e)||null!=t&&e in Ce(t))}function Ei(e){var t=ai(e),r=jr[t];if(\"function\"!=typeof r||!(t in Vr.prototype))return!1;if(e===r)return!0;var n=oi(r);return!!n&&e===n[0]}(Tr&&mi(new Tr(new ArrayBuffer(1)))!=_||kr&&mi(new kr)!=k||Sr&&mi(Sr.resolve())!=I||Cr&&mi(new Cr)!=M||Ir&&mi(new Ir)!=N)&&(mi=function(e){var t=Sn(e),r=t==C?e.constructor:s,n=r?Fi(r):\"\";if(n)switch(n){case Br:return _;case Nr:return k;case Or:return I;case _r:return M;case Lr:return N}return t});var xi=Oe?Xo:yc;function Ti(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||Ne)}function ki(e){return e==e&&!ta(e)}function Si(e,t){return function(r){return null!=r&&(r[e]===t&&(t!==s||e in Ce(r)))}}function Ci(e,t,r){return t=br(t===s?e.length-1:t,0),function(){for(var s=arguments,i=-1,o=br(s.length-t,0),a=n(o);++i<o;)a[i]=s[t+i];i=-1;for(var c=n(t+1);++i<t;)c[i]=s[i];return c[t]=r(a),Ct(e,this,c)}}function Ii(e,t){return t.length<2?e:Tn(e,ss(t,0,-1))}function Pi(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}var Mi=Oi(ts),Ri=ft||function(e,t){return mt.setTimeout(e,t)},Bi=Oi(rs);function Ni(e,t,r){var n=t+\"\";return Bi(e,function(e,t){var r=t.length;if(!r)return e;var n=r-1;return t[n]=(r>1?\"& \":\"\")+t[n],t=t.join(r>2?\", \":\" \"),e.replace(ce,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}(n,function(e,t){return Pt(y,function(r){var n=\"_.\"+r[0];t&r[1]&&!Nt(e,n)&&e.push(n)}),e.sort()}(function(e){var t=e.match(le);return t?t[1].split(ue):[]}(n),r)))}function Oi(e){var t=0,r=0;return function(){var n=wr(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(s,arguments)}}function _i(e,t){var r=-1,n=e.length,i=n-1;for(t=t===s?n:t;++r<t;){var o=$n(r,i),a=e[o];e[o]=e[r],e[r]=a}return e.length=t,e}var Li=function(e){var t=_o(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(ne,function(e,r,n,s){t.push(n?s.replace(fe,\"$1\"):r||e)}),t});function Di(e){if(\"string\"==typeof e||la(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function Fi(e){if(null!=e){try{return _e.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function Ui(e){if(e instanceof Vr)return e.clone();var t=new Gr(e.__wrapped__,e.__chain__);return t.__actions__=Ms(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var ji=Yn(function(e,t){return Jo(e)?hn(e,bn(t,1,Jo,!0)):[]}),Hi=Yn(function(e,t){var r=Zi(t);return Jo(r)&&(r=s),Jo(e)?hn(e,bn(t,1,Jo,!0),li(r,2)):[]}),zi=Yn(function(e,t){var r=Zi(t);return Jo(r)&&(r=s),Jo(e)?hn(e,bn(t,1,Jo,!0),s,r):[]});function Gi(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var s=null==r?0:ma(r);return s<0&&(s=br(n+s,0)),zt(e,li(t,3),s)}function Vi(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=n-1;return r!==s&&(i=ma(r),i=r<0?br(n+i,0):vr(i,n-1)),zt(e,li(t,3),i,!0)}function qi(e){return(null==e?0:e.length)?bn(e,1):[]}function Ki(e){return e&&e.length?e[0]:s}var Wi=Yn(function(e){var t=_t(e,bs);return t.length&&t[0]===e[0]?Mn(t):[]}),Ji=Yn(function(e){var t=Zi(e),r=_t(e,bs);return t===Zi(r)?t=s:r.pop(),r.length&&r[0]===e[0]?Mn(r,li(t,2)):[]}),$i=Yn(function(e){var t=Zi(e),r=_t(e,bs);return(t=\"function\"==typeof t?t:s)&&r.pop(),r.length&&r[0]===e[0]?Mn(r,s,t):[]});function Zi(e){var t=null==e?0:e.length;return t?e[t-1]:s}var Yi=Yn(Xi);function Xi(e,t){return e&&e.length&&t&&t.length?Wn(e,t):e}var Qi=ni(function(e,t){var r=null==e?0:e.length,n=an(e,t);return Jn(e,_t(t,function(e){return vi(e,r)?+e:e}).sort(Cs)),n});function eo(e){return null==e?e:xr.call(e)}var to=Yn(function(e){return ds(bn(e,1,Jo,!0))}),ro=Yn(function(e){var t=Zi(e);return Jo(t)&&(t=s),ds(bn(e,1,Jo,!0),li(t,2))}),no=Yn(function(e){var t=Zi(e);return t=\"function\"==typeof t?t:s,ds(bn(e,1,Jo,!0),s,t)});function so(e){if(!e||!e.length)return[];var t=0;return e=Bt(e,function(e){if(Jo(e))return t=br(e.length,t),!0}),Yt(t,function(t){return _t(e,Wt(t))})}function io(e,t){if(!e||!e.length)return[];var r=so(e);return null==t?r:_t(r,function(e){return Ct(t,s,e)})}var oo=Yn(function(e,t){return Jo(e)?hn(e,t):[]}),ao=Yn(function(e){return gs(Bt(e,Jo))}),co=Yn(function(e){var t=Zi(e);return Jo(t)&&(t=s),gs(Bt(e,Jo),li(t,2))}),lo=Yn(function(e){var t=Zi(e);return t=\"function\"==typeof t?t:s,gs(Bt(e,Jo),s,t)}),uo=Yn(so);var ho=Yn(function(e){var t=e.length,r=t>1?e[t-1]:s;return r=\"function\"==typeof r?(e.pop(),r):s,io(e,r)});function fo(e){var t=jr(e);return t.__chain__=!0,t}function po(e,t){return t(e)}var mo=ni(function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,i=function(t){return an(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Vr&&vi(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:po,args:[i],thisArg:s}),new Gr(n,this.__chain__).thru(function(e){return t&&!e.length&&e.push(s),e})):this.thru(i)});var go=Bs(function(e,t,r){Le.call(e,r)?++e[r]:on(e,r,1)});var yo=Us(Gi),bo=Us(Vi);function vo(e,t){return(qo(e)?Pt:fn)(e,li(t,3))}function wo(e,t){return(qo(e)?Mt:pn)(e,li(t,3))}var Ao=Bs(function(e,t,r){Le.call(e,r)?e[r].push(t):on(e,r,[t])});var Eo=Yn(function(e,t,r){var s=-1,i=\"function\"==typeof t,o=Wo(e)?n(e.length):[];return fn(e,function(e){o[++s]=i?Ct(t,e,r):Rn(e,t,r)}),o}),xo=Bs(function(e,t,r){on(e,r,t)});function To(e,t){return(qo(e)?_t:jn)(e,li(t,3))}var ko=Bs(function(e,t,r){e[r?0:1].push(t)},function(){return[[],[]]});var So=Yn(function(e,t){if(null==e)return[];var r=t.length;return r>1&&wi(e,t[0],t[1])?t=[]:r>2&&wi(t[0],t[1],t[2])&&(t=[t[0]]),qn(e,bn(t,1),[])}),Co=ut||function(){return mt.Date.now()};function Io(e,t,r){return t=r?s:t,t=e&&null==t?e.length:t,Xs(e,d,s,s,s,s,t)}function Po(e,t){var r;if(\"function\"!=typeof t)throw new Me(i);return e=ma(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=s),r}}var Mo=Yn(function(e,t,r){var n=1;if(r.length){var s=ur(r,ci(Mo));n|=l}return Xs(e,n,t,r,s)}),Ro=Yn(function(e,t,r){var n=3;if(r.length){var s=ur(r,ci(Ro));n|=l}return Xs(t,n,e,r,s)});function Bo(e,t,r){var n,o,a,c,l,u,d=0,h=!1,f=!1,p=!0;if(\"function\"!=typeof e)throw new Me(i);function m(t){var r=n,i=o;return n=o=s,d=t,c=e.apply(i,r)}function g(e){var r=e-u;return u===s||r>=t||r<0||f&&e-d>=a}function y(){var e=Co();if(g(e))return b(e);l=Ri(y,function(e){var r=t-(e-u);return f?vr(r,a-(e-d)):r}(e))}function b(e){return l=s,p&&n?m(e):(n=o=s,c)}function v(){var e=Co(),r=g(e);if(n=arguments,o=this,u=e,r){if(l===s)return function(e){return d=e,l=Ri(y,t),h?m(e):c}(u);if(f)return xs(l),l=Ri(y,t),m(u)}return l===s&&(l=Ri(y,t)),c}return t=ya(t)||0,ta(r)&&(h=!!r.leading,a=(f=\"maxWait\"in r)?br(ya(r.maxWait)||0,t):a,p=\"trailing\"in r?!!r.trailing:p),v.cancel=function(){l!==s&&xs(l),d=0,n=u=o=l=s},v.flush=function(){return l===s?c:b(Co())},v}var No=Yn(function(e,t){return dn(e,1,t)}),Oo=Yn(function(e,t,r){return dn(e,ya(t)||0,r)});function _o(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new Me(i);var r=function(){var n=arguments,s=t?t.apply(this,n):n[0],i=r.cache;if(i.has(s))return i.get(s);var o=e.apply(this,n);return r.cache=i.set(s,o)||i,o};return r.cache=new(_o.Cache||Wr),r}function Lo(e){if(\"function\"!=typeof e)throw new Me(i);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}_o.Cache=Wr;var Do=As(function(e,t){var r=(t=1==t.length&&qo(t[0])?_t(t[0],Qt(li())):_t(bn(t,1),Qt(li()))).length;return Yn(function(n){for(var s=-1,i=vr(n.length,r);++s<i;)n[s]=t[s].call(this,n[s]);return Ct(e,this,n)})}),Fo=Yn(function(e,t){var r=ur(t,ci(Fo));return Xs(e,l,s,t,r)}),Uo=Yn(function(e,t){var r=ur(t,ci(Uo));return Xs(e,u,s,t,r)}),jo=ni(function(e,t){return Xs(e,h,s,s,s,t)});function Ho(e,t){return e===t||e!=e&&t!=t}var zo=Ws(Cn),Go=Ws(function(e,t){return e>=t}),Vo=Bn(function(){return arguments}())?Bn:function(e){return ra(e)&&Le.call(e,\"callee\")&&!$e.call(e,\"callee\")},qo=n.isArray,Ko=At?Qt(At):function(e){return ra(e)&&Sn(e)==O};function Wo(e){return null!=e&&ea(e.length)&&!Xo(e)}function Jo(e){return ra(e)&&Wo(e)}var $o=vt||yc,Zo=Et?Qt(Et):function(e){return ra(e)&&Sn(e)==A};function Yo(e){if(!ra(e))return!1;var t=Sn(e);return t==E||\"[object DOMException]\"==t||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!ia(e)}function Xo(e){if(!ta(e))return!1;var t=Sn(e);return t==x||t==T||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}function Qo(e){return\"number\"==typeof e&&e==ma(e)}function ea(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=p}function ta(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function ra(e){return null!=e&&\"object\"==typeof e}var na=xt?Qt(xt):function(e){return ra(e)&&mi(e)==k};function sa(e){return\"number\"==typeof e||ra(e)&&Sn(e)==S}function ia(e){if(!ra(e)||Sn(e)!=C)return!1;var t=We(e);if(null===t)return!0;var r=Le.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&_e.call(r)==je}var oa=Tt?Qt(Tt):function(e){return ra(e)&&Sn(e)==P};var aa=kt?Qt(kt):function(e){return ra(e)&&mi(e)==M};function ca(e){return\"string\"==typeof e||!qo(e)&&ra(e)&&Sn(e)==R}function la(e){return\"symbol\"==typeof e||ra(e)&&Sn(e)==B}var ua=St?Qt(St):function(e){return ra(e)&&ea(e.length)&&!!ct[Sn(e)]};var da=Ws(Un),ha=Ws(function(e,t){return e<=t});function fa(e){if(!e)return[];if(Wo(e))return ca(e)?pr(e):Ms(e);if(Xe&&e[Xe])return function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[Xe]());var t=mi(e);return(t==k?cr:t==M?dr:Ha)(e)}function pa(e){return e?(e=ya(e))===f||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ma(e){var t=pa(e),r=t%1;return t==t?r?t-r:t:0}function ga(e){return e?cn(ma(e),0,g):0}function ya(e){if(\"number\"==typeof e)return e;if(la(e))return m;if(ta(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=ta(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Xt(e);var r=ye.test(e);return r||ve.test(e)?ht(e.slice(2),r?2:8):ge.test(e)?m:+e}function ba(e){return Rs(e,Na(e))}function va(e){return null==e?\"\":us(e)}var wa=Ns(function(e,t){if(Ti(t)||Wo(t))Rs(t,Ba(t),e);else for(var r in t)Le.call(t,r)&&tn(e,r,t[r])}),Aa=Ns(function(e,t){Rs(t,Na(t),e)}),Ea=Ns(function(e,t,r,n){Rs(t,Na(t),e,n)}),xa=Ns(function(e,t,r,n){Rs(t,Ba(t),e,n)}),Ta=ni(an);var ka=Yn(function(e,t){e=Ce(e);var r=-1,n=t.length,i=n>2?t[2]:s;for(i&&wi(t[0],t[1],i)&&(n=1);++r<n;)for(var o=t[r],a=Na(o),c=-1,l=a.length;++c<l;){var u=a[c],d=e[u];(d===s||Ho(d,Ne[u])&&!Le.call(e,u))&&(e[u]=o[u])}return e}),Sa=Yn(function(e){return e.push(s,ei),Ct(_a,s,e)});function Ca(e,t,r){var n=null==e?s:Tn(e,t);return n===s?r:n}function Ia(e,t){return null!=e&&gi(e,t,Pn)}var Pa=zs(function(e,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=Ue.call(t)),e[t]=r},tc(sc)),Ma=zs(function(e,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=Ue.call(t)),Le.call(e,t)?e[t].push(r):e[t]=[r]},li),Ra=Yn(Rn);function Ba(e){return Wo(e)?Zr(e):Dn(e)}function Na(e){return Wo(e)?Zr(e,!0):Fn(e)}var Oa=Ns(function(e,t,r){Gn(e,t,r)}),_a=Ns(function(e,t,r,n){Gn(e,t,r,n)}),La=ni(function(e,t){var r={};if(null==e)return r;var n=!1;t=_t(t,function(t){return t=ws(t,e),n||(n=t.length>1),t}),Rs(e,ii(e),r),n&&(r=ln(r,7,ti));for(var s=t.length;s--;)hs(r,t[s]);return r});var Da=ni(function(e,t){return null==e?{}:function(e,t){return Kn(e,t,function(t,r){return Ia(e,r)})}(e,t)});function Fa(e,t){if(null==e)return{};var r=_t(ii(e),function(e){return[e]});return t=li(t),Kn(e,r,function(e,r){return t(e,r[0])})}var Ua=Ys(Ba),ja=Ys(Na);function Ha(e){return null==e?[]:er(e,Ba(e))}var za=Ds(function(e,t,r){return t=t.toLowerCase(),e+(r?Ga(t):t)});function Ga(e){return Ya(va(e).toLowerCase())}function Va(e){return(e=va(e))&&e.replace(Ae,sr).replace(tt,\"\")}var qa=Ds(function(e,t,r){return e+(r?\"-\":\"\")+t.toLowerCase()}),Ka=Ds(function(e,t,r){return e+(r?\" \":\"\")+t.toLowerCase()}),Wa=Ls(\"toLowerCase\");var Ja=Ds(function(e,t,r){return e+(r?\"_\":\"\")+t.toLowerCase()});var $a=Ds(function(e,t,r){return e+(r?\" \":\"\")+Ya(t)});var Za=Ds(function(e,t,r){return e+(r?\" \":\"\")+t.toUpperCase()}),Ya=Ls(\"toUpperCase\");function Xa(e,t,r){return e=va(e),(t=r?s:t)===s?function(e){return it.test(e)}(e)?function(e){return e.match(nt)||[]}(e):function(e){return e.match(de)||[]}(e):e.match(t)||[]}var Qa=Yn(function(e,t){try{return Ct(e,s,t)}catch(e){return Yo(e)?e:new Te(e)}}),ec=ni(function(e,t){return Pt(t,function(t){t=Di(t),on(e,t,Mo(e[t],e))}),e});function tc(e){return function(){return e}}var rc=js(),nc=js(!0);function sc(e){return e}function ic(e){return Ln(\"function\"==typeof e?e:ln(e,1))}var oc=Yn(function(e,t){return function(r){return Rn(r,e,t)}}),ac=Yn(function(e,t){return function(r){return Rn(e,r,t)}});function cc(e,t,r){var n=Ba(t),s=xn(t,n);null!=r||ta(t)&&(s.length||!n.length)||(r=t,t=e,e=this,s=xn(t,Ba(t)));var i=!(ta(r)&&\"chain\"in r&&!r.chain),o=Xo(e);return Pt(s,function(r){var n=t[r];e[r]=n,o&&(e.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=e(this.__wrapped__);return(r.__actions__=Ms(this.__actions__)).push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,Lt([this.value()],arguments))})}),e}function lc(){}var uc=Vs(_t),dc=Vs(Rt),hc=Vs(Ut);function fc(e){return Ai(e)?Wt(Di(e)):function(e){return function(t){return Tn(t,e)}}(e)}var pc=Ks(),mc=Ks(!0);function gc(){return[]}function yc(){return!1}var bc=Gs(function(e,t){return e+t},0),vc=$s(\"ceil\"),wc=Gs(function(e,t){return e/t},1),Ac=$s(\"floor\");var Ec,xc=Gs(function(e,t){return e*t},1),Tc=$s(\"round\"),kc=Gs(function(e,t){return e-t},0);return jr.after=function(e,t){if(\"function\"!=typeof t)throw new Me(i);return e=ma(e),function(){if(--e<1)return t.apply(this,arguments)}},jr.ary=Io,jr.assign=wa,jr.assignIn=Aa,jr.assignInWith=Ea,jr.assignWith=xa,jr.at=Ta,jr.before=Po,jr.bind=Mo,jr.bindAll=ec,jr.bindKey=Ro,jr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return qo(e)?e:[e]},jr.chain=fo,jr.chunk=function(e,t,r){t=(r?wi(e,t,r):t===s)?1:br(ma(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,c=n(pt(i/t));o<i;)c[a++]=ss(e,o,o+=t);return c},jr.compact=function(e){for(var t=-1,r=null==e?0:e.length,n=0,s=[];++t<r;){var i=e[t];i&&(s[n++]=i)}return s},jr.concat=function(){var e=arguments.length;if(!e)return[];for(var t=n(e-1),r=arguments[0],s=e;s--;)t[s-1]=arguments[s];return Lt(qo(r)?Ms(r):[r],bn(t,1))},jr.cond=function(e){var t=null==e?0:e.length,r=li();return e=t?_t(e,function(e){if(\"function\"!=typeof e[1])throw new Me(i);return[r(e[0]),e[1]]}):[],Yn(function(r){for(var n=-1;++n<t;){var s=e[n];if(Ct(s[0],this,r))return Ct(s[1],this,r)}})},jr.conforms=function(e){return function(e){var t=Ba(e);return function(r){return un(r,e,t)}}(ln(e,1))},jr.constant=tc,jr.countBy=go,jr.create=function(e,t){var r=Hr(e);return null==t?r:sn(r,t)},jr.curry=function e(t,r,n){var i=Xs(t,8,s,s,s,s,s,r=n?s:r);return i.placeholder=e.placeholder,i},jr.curryRight=function e(t,r,n){var i=Xs(t,c,s,s,s,s,s,r=n?s:r);return i.placeholder=e.placeholder,i},jr.debounce=Bo,jr.defaults=ka,jr.defaultsDeep=Sa,jr.defer=No,jr.delay=Oo,jr.difference=ji,jr.differenceBy=Hi,jr.differenceWith=zi,jr.drop=function(e,t,r){var n=null==e?0:e.length;return n?ss(e,(t=r||t===s?1:ma(t))<0?0:t,n):[]},jr.dropRight=function(e,t,r){var n=null==e?0:e.length;return n?ss(e,0,(t=n-(t=r||t===s?1:ma(t)))<0?0:t):[]},jr.dropRightWhile=function(e,t){return e&&e.length?ps(e,li(t,3),!0,!0):[]},jr.dropWhile=function(e,t){return e&&e.length?ps(e,li(t,3),!0):[]},jr.fill=function(e,t,r,n){var i=null==e?0:e.length;return i?(r&&\"number\"!=typeof r&&wi(e,t,r)&&(r=0,n=i),function(e,t,r,n){var i=e.length;for((r=ma(r))<0&&(r=-r>i?0:i+r),(n=n===s||n>i?i:ma(n))<0&&(n+=i),n=r>n?0:ga(n);r<n;)e[r++]=t;return e}(e,t,r,n)):[]},jr.filter=function(e,t){return(qo(e)?Bt:yn)(e,li(t,3))},jr.flatMap=function(e,t){return bn(To(e,t),1)},jr.flatMapDeep=function(e,t){return bn(To(e,t),f)},jr.flatMapDepth=function(e,t,r){return r=r===s?1:ma(r),bn(To(e,t),r)},jr.flatten=qi,jr.flattenDeep=function(e){return(null==e?0:e.length)?bn(e,f):[]},jr.flattenDepth=function(e,t){return(null==e?0:e.length)?bn(e,t=t===s?1:ma(t)):[]},jr.flip=function(e){return Xs(e,512)},jr.flow=rc,jr.flowRight=nc,jr.fromPairs=function(e){for(var t=-1,r=null==e?0:e.length,n={};++t<r;){var s=e[t];on(n,s[0],s[1])}return n},jr.functions=function(e){return null==e?[]:xn(e,Ba(e))},jr.functionsIn=function(e){return null==e?[]:xn(e,Na(e))},jr.groupBy=Ao,jr.initial=function(e){return(null==e?0:e.length)?ss(e,0,-1):[]},jr.intersection=Wi,jr.intersectionBy=Ji,jr.intersectionWith=$i,jr.invert=Pa,jr.invertBy=Ma,jr.invokeMap=Eo,jr.iteratee=ic,jr.keyBy=xo,jr.keys=Ba,jr.keysIn=Na,jr.map=To,jr.mapKeys=function(e,t){var r={};return t=li(t,3),An(e,function(e,n,s){on(r,t(e,n,s),e)}),r},jr.mapValues=function(e,t){var r={};return t=li(t,3),An(e,function(e,n,s){on(r,n,t(e,n,s))}),r},jr.matches=function(e){return Hn(ln(e,1))},jr.matchesProperty=function(e,t){return zn(e,ln(t,1))},jr.memoize=_o,jr.merge=Oa,jr.mergeWith=_a,jr.method=oc,jr.methodOf=ac,jr.mixin=cc,jr.negate=Lo,jr.nthArg=function(e){return e=ma(e),Yn(function(t){return Vn(t,e)})},jr.omit=La,jr.omitBy=function(e,t){return Fa(e,Lo(li(t)))},jr.once=function(e){return Po(2,e)},jr.orderBy=function(e,t,r,n){return null==e?[]:(qo(t)||(t=null==t?[]:[t]),qo(r=n?s:r)||(r=null==r?[]:[r]),qn(e,t,r))},jr.over=uc,jr.overArgs=Do,jr.overEvery=dc,jr.overSome=hc,jr.partial=Fo,jr.partialRight=Uo,jr.partition=ko,jr.pick=Da,jr.pickBy=Fa,jr.property=fc,jr.propertyOf=function(e){return function(t){return null==e?s:Tn(e,t)}},jr.pull=Yi,jr.pullAll=Xi,jr.pullAllBy=function(e,t,r){return e&&e.length&&t&&t.length?Wn(e,t,li(r,2)):e},jr.pullAllWith=function(e,t,r){return e&&e.length&&t&&t.length?Wn(e,t,s,r):e},jr.pullAt=Qi,jr.range=pc,jr.rangeRight=mc,jr.rearg=jo,jr.reject=function(e,t){return(qo(e)?Bt:yn)(e,Lo(li(t,3)))},jr.remove=function(e,t){var r=[];if(!e||!e.length)return r;var n=-1,s=[],i=e.length;for(t=li(t,3);++n<i;){var o=e[n];t(o,n,e)&&(r.push(o),s.push(n))}return Jn(e,s),r},jr.rest=function(e,t){if(\"function\"!=typeof e)throw new Me(i);return Yn(e,t=t===s?t:ma(t))},jr.reverse=eo,jr.sampleSize=function(e,t,r){return t=(r?wi(e,t,r):t===s)?1:ma(t),(qo(e)?Xr:Qn)(e,t)},jr.set=function(e,t,r){return null==e?e:es(e,t,r)},jr.setWith=function(e,t,r,n){return n=\"function\"==typeof n?n:s,null==e?e:es(e,t,r,n)},jr.shuffle=function(e){return(qo(e)?Qr:ns)(e)},jr.slice=function(e,t,r){var n=null==e?0:e.length;return n?(r&&\"number\"!=typeof r&&wi(e,t,r)?(t=0,r=n):(t=null==t?0:ma(t),r=r===s?n:ma(r)),ss(e,t,r)):[]},jr.sortBy=So,jr.sortedUniq=function(e){return e&&e.length?cs(e):[]},jr.sortedUniqBy=function(e,t){return e&&e.length?cs(e,li(t,2)):[]},jr.split=function(e,t,r){return r&&\"number\"!=typeof r&&wi(e,t,r)&&(t=r=s),(r=r===s?g:r>>>0)?(e=va(e))&&(\"string\"==typeof t||null!=t&&!oa(t))&&!(t=us(t))&&ar(e)?Es(pr(e),0,r):e.split(t,r):[]},jr.spread=function(e,t){if(\"function\"!=typeof e)throw new Me(i);return t=null==t?0:br(ma(t),0),Yn(function(r){var n=r[t],s=Es(r,0,t);return n&&Lt(s,n),Ct(e,this,s)})},jr.tail=function(e){var t=null==e?0:e.length;return t?ss(e,1,t):[]},jr.take=function(e,t,r){return e&&e.length?ss(e,0,(t=r||t===s?1:ma(t))<0?0:t):[]},jr.takeRight=function(e,t,r){var n=null==e?0:e.length;return n?ss(e,(t=n-(t=r||t===s?1:ma(t)))<0?0:t,n):[]},jr.takeRightWhile=function(e,t){return e&&e.length?ps(e,li(t,3),!1,!0):[]},jr.takeWhile=function(e,t){return e&&e.length?ps(e,li(t,3)):[]},jr.tap=function(e,t){return t(e),e},jr.throttle=function(e,t,r){var n=!0,s=!0;if(\"function\"!=typeof e)throw new Me(i);return ta(r)&&(n=\"leading\"in r?!!r.leading:n,s=\"trailing\"in r?!!r.trailing:s),Bo(e,t,{leading:n,maxWait:t,trailing:s})},jr.thru=po,jr.toArray=fa,jr.toPairs=Ua,jr.toPairsIn=ja,jr.toPath=function(e){return qo(e)?_t(e,Di):la(e)?[e]:Ms(Li(va(e)))},jr.toPlainObject=ba,jr.transform=function(e,t,r){var n=qo(e),s=n||$o(e)||ua(e);if(t=li(t,4),null==r){var i=e&&e.constructor;r=s?n?new i:[]:ta(e)&&Xo(i)?Hr(We(e)):{}}return(s?Pt:An)(e,function(e,n,s){return t(r,e,n,s)}),r},jr.unary=function(e){return Io(e,1)},jr.union=to,jr.unionBy=ro,jr.unionWith=no,jr.uniq=function(e){return e&&e.length?ds(e):[]},jr.uniqBy=function(e,t){return e&&e.length?ds(e,li(t,2)):[]},jr.uniqWith=function(e,t){return t=\"function\"==typeof t?t:s,e&&e.length?ds(e,s,t):[]},jr.unset=function(e,t){return null==e||hs(e,t)},jr.unzip=so,jr.unzipWith=io,jr.update=function(e,t,r){return null==e?e:fs(e,t,vs(r))},jr.updateWith=function(e,t,r,n){return n=\"function\"==typeof n?n:s,null==e?e:fs(e,t,vs(r),n)},jr.values=Ha,jr.valuesIn=function(e){return null==e?[]:er(e,Na(e))},jr.without=oo,jr.words=Xa,jr.wrap=function(e,t){return Fo(vs(t),e)},jr.xor=ao,jr.xorBy=co,jr.xorWith=lo,jr.zip=uo,jr.zipObject=function(e,t){return ys(e||[],t||[],tn)},jr.zipObjectDeep=function(e,t){return ys(e||[],t||[],es)},jr.zipWith=ho,jr.entries=Ua,jr.entriesIn=ja,jr.extend=Aa,jr.extendWith=Ea,cc(jr,jr),jr.add=bc,jr.attempt=Qa,jr.camelCase=za,jr.capitalize=Ga,jr.ceil=vc,jr.clamp=function(e,t,r){return r===s&&(r=t,t=s),r!==s&&(r=(r=ya(r))==r?r:0),t!==s&&(t=(t=ya(t))==t?t:0),cn(ya(e),t,r)},jr.clone=function(e){return ln(e,4)},jr.cloneDeep=function(e){return ln(e,5)},jr.cloneDeepWith=function(e,t){return ln(e,5,t=\"function\"==typeof t?t:s)},jr.cloneWith=function(e,t){return ln(e,4,t=\"function\"==typeof t?t:s)},jr.conformsTo=function(e,t){return null==t||un(e,t,Ba(t))},jr.deburr=Va,jr.defaultTo=function(e,t){return null==e||e!=e?t:e},jr.divide=wc,jr.endsWith=function(e,t,r){e=va(e),t=us(t);var n=e.length,i=r=r===s?n:cn(ma(r),0,n);return(r-=t.length)>=0&&e.slice(r,i)==t},jr.eq=Ho,jr.escape=function(e){return(e=va(e))&&Y.test(e)?e.replace($,ir):e},jr.escapeRegExp=function(e){return(e=va(e))&&ie.test(e)?e.replace(se,\"\\\\$&\"):e},jr.every=function(e,t,r){var n=qo(e)?Rt:mn;return r&&wi(e,t,r)&&(t=s),n(e,li(t,3))},jr.find=yo,jr.findIndex=Gi,jr.findKey=function(e,t){return Ht(e,li(t,3),An)},jr.findLast=bo,jr.findLastIndex=Vi,jr.findLastKey=function(e,t){return Ht(e,li(t,3),En)},jr.floor=Ac,jr.forEach=vo,jr.forEachRight=wo,jr.forIn=function(e,t){return null==e?e:vn(e,li(t,3),Na)},jr.forInRight=function(e,t){return null==e?e:wn(e,li(t,3),Na)},jr.forOwn=function(e,t){return e&&An(e,li(t,3))},jr.forOwnRight=function(e,t){return e&&En(e,li(t,3))},jr.get=Ca,jr.gt=zo,jr.gte=Go,jr.has=function(e,t){return null!=e&&gi(e,t,In)},jr.hasIn=Ia,jr.head=Ki,jr.identity=sc,jr.includes=function(e,t,r,n){e=Wo(e)?e:Ha(e),r=r&&!n?ma(r):0;var s=e.length;return r<0&&(r=br(s+r,0)),ca(e)?r<=s&&e.indexOf(t,r)>-1:!!s&&Gt(e,t,r)>-1},jr.indexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var s=null==r?0:ma(r);return s<0&&(s=br(n+s,0)),Gt(e,t,s)},jr.inRange=function(e,t,r){return t=pa(t),r===s?(r=t,t=0):r=pa(r),function(e,t,r){return e>=vr(t,r)&&e<br(t,r)}(e=ya(e),t,r)},jr.invoke=Ra,jr.isArguments=Vo,jr.isArray=qo,jr.isArrayBuffer=Ko,jr.isArrayLike=Wo,jr.isArrayLikeObject=Jo,jr.isBoolean=function(e){return!0===e||!1===e||ra(e)&&Sn(e)==w},jr.isBuffer=$o,jr.isDate=Zo,jr.isElement=function(e){return ra(e)&&1===e.nodeType&&!ia(e)},jr.isEmpty=function(e){if(null==e)return!0;if(Wo(e)&&(qo(e)||\"string\"==typeof e||\"function\"==typeof e.splice||$o(e)||ua(e)||Vo(e)))return!e.length;var t=mi(e);if(t==k||t==M)return!e.size;if(Ti(e))return!Dn(e).length;for(var r in e)if(Le.call(e,r))return!1;return!0},jr.isEqual=function(e,t){return Nn(e,t)},jr.isEqualWith=function(e,t,r){var n=(r=\"function\"==typeof r?r:s)?r(e,t):s;return n===s?Nn(e,t,s,r):!!n},jr.isError=Yo,jr.isFinite=function(e){return\"number\"==typeof e&&wt(e)},jr.isFunction=Xo,jr.isInteger=Qo,jr.isLength=ea,jr.isMap=na,jr.isMatch=function(e,t){return e===t||On(e,t,di(t))},jr.isMatchWith=function(e,t,r){return r=\"function\"==typeof r?r:s,On(e,t,di(t),r)},jr.isNaN=function(e){return sa(e)&&e!=+e},jr.isNative=function(e){if(xi(e))throw new Te(\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\");return _n(e)},jr.isNil=function(e){return null==e},jr.isNull=function(e){return null===e},jr.isNumber=sa,jr.isObject=ta,jr.isObjectLike=ra,jr.isPlainObject=ia,jr.isRegExp=oa,jr.isSafeInteger=function(e){return Qo(e)&&e>=-9007199254740991&&e<=p},jr.isSet=aa,jr.isString=ca,jr.isSymbol=la,jr.isTypedArray=ua,jr.isUndefined=function(e){return e===s},jr.isWeakMap=function(e){return ra(e)&&mi(e)==N},jr.isWeakSet=function(e){return ra(e)&&\"[object WeakSet]\"==Sn(e)},jr.join=function(e,t){return null==e?\"\":jt.call(e,t)},jr.kebabCase=qa,jr.last=Zi,jr.lastIndexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=n;return r!==s&&(i=(i=ma(r))<0?br(n+i,0):vr(i,n-1)),t==t?function(e,t,r){for(var n=r+1;n--;)if(e[n]===t)return n;return n}(e,t,i):zt(e,qt,i,!0)},jr.lowerCase=Ka,jr.lowerFirst=Wa,jr.lt=da,jr.lte=ha,jr.max=function(e){return e&&e.length?gn(e,sc,Cn):s},jr.maxBy=function(e,t){return e&&e.length?gn(e,li(t,2),Cn):s},jr.mean=function(e){return Kt(e,sc)},jr.meanBy=function(e,t){return Kt(e,li(t,2))},jr.min=function(e){return e&&e.length?gn(e,sc,Un):s},jr.minBy=function(e,t){return e&&e.length?gn(e,li(t,2),Un):s},jr.stubArray=gc,jr.stubFalse=yc,jr.stubObject=function(){return{}},jr.stubString=function(){return\"\"},jr.stubTrue=function(){return!0},jr.multiply=xc,jr.nth=function(e,t){return e&&e.length?Vn(e,ma(t)):s},jr.noConflict=function(){return mt._===this&&(mt._=He),this},jr.noop=lc,jr.now=Co,jr.pad=function(e,t,r){e=va(e);var n=(t=ma(t))?fr(e):0;if(!t||n>=t)return e;var s=(t-n)/2;return qs(gt(s),r)+e+qs(pt(s),r)},jr.padEnd=function(e,t,r){e=va(e);var n=(t=ma(t))?fr(e):0;return t&&n<t?e+qs(t-n,r):e},jr.padStart=function(e,t,r){e=va(e);var n=(t=ma(t))?fr(e):0;return t&&n<t?qs(t-n,r)+e:e},jr.parseInt=function(e,t,r){return r||null==t?t=0:t&&(t=+t),Ar(va(e).replace(oe,\"\"),t||0)},jr.random=function(e,t,r){if(r&&\"boolean\"!=typeof r&&wi(e,t,r)&&(t=r=s),r===s&&(\"boolean\"==typeof t?(r=t,t=s):\"boolean\"==typeof e&&(r=e,e=s)),e===s&&t===s?(e=0,t=1):(e=pa(e),t===s?(t=e,e=0):t=pa(t)),e>t){var n=e;e=t,t=n}if(r||e%1||t%1){var i=Er();return vr(e+i*(t-e+dt(\"1e-\"+((i+\"\").length-1))),t)}return $n(e,t)},jr.reduce=function(e,t,r){var n=qo(e)?Dt:$t,s=arguments.length<3;return n(e,li(t,4),r,s,fn)},jr.reduceRight=function(e,t,r){var n=qo(e)?Ft:$t,s=arguments.length<3;return n(e,li(t,4),r,s,pn)},jr.repeat=function(e,t,r){return t=(r?wi(e,t,r):t===s)?1:ma(t),Zn(va(e),t)},jr.replace=function(){var e=arguments,t=va(e[0]);return e.length<3?t:t.replace(e[1],e[2])},jr.result=function(e,t,r){var n=-1,i=(t=ws(t,e)).length;for(i||(i=1,e=s);++n<i;){var o=null==e?s:e[Di(t[n])];o===s&&(n=i,o=r),e=Xo(o)?o.call(e):o}return e},jr.round=Tc,jr.runInContext=e,jr.sample=function(e){return(qo(e)?Yr:Xn)(e)},jr.size=function(e){if(null==e)return 0;if(Wo(e))return ca(e)?fr(e):e.length;var t=mi(e);return t==k||t==M?e.size:Dn(e).length},jr.snakeCase=Ja,jr.some=function(e,t,r){var n=qo(e)?Ut:is;return r&&wi(e,t,r)&&(t=s),n(e,li(t,3))},jr.sortedIndex=function(e,t){return os(e,t)},jr.sortedIndexBy=function(e,t,r){return as(e,t,li(r,2))},jr.sortedIndexOf=function(e,t){var r=null==e?0:e.length;if(r){var n=os(e,t);if(n<r&&Ho(e[n],t))return n}return-1},jr.sortedLastIndex=function(e,t){return os(e,t,!0)},jr.sortedLastIndexBy=function(e,t,r){return as(e,t,li(r,2),!0)},jr.sortedLastIndexOf=function(e,t){if(null==e?0:e.length){var r=os(e,t,!0)-1;if(Ho(e[r],t))return r}return-1},jr.startCase=$a,jr.startsWith=function(e,t,r){return e=va(e),r=null==r?0:cn(ma(r),0,e.length),t=us(t),e.slice(r,r+t.length)==t},jr.subtract=kc,jr.sum=function(e){return e&&e.length?Zt(e,sc):0},jr.sumBy=function(e,t){return e&&e.length?Zt(e,li(t,2)):0},jr.template=function(e,t,r){var n=jr.templateSettings;r&&wi(e,t,r)&&(t=s),e=va(e),t=xa({},t,n,Qs);var i=xa({},t.imports,n.imports,Qs),o=Ba(i),a=er(i,o);Pt(o,function(e){if(he.test(e))throw new Te(\"Invalid `imports` option passed into `_.template`\")});var c,l,u=0,d=t.interpolate||Ee,h=\"__p += '\",f=Ie((t.escape||Ee).source+\"|\"+d.source+\"|\"+(d===ee?pe:Ee).source+\"|\"+(t.evaluate||Ee).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(Le.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++at+\"]\")+\"\\n\";e.replace(f,function(t,r,n,s,i,o){return n||(n=s),h+=e.slice(u,o).replace(xe,or),r&&(c=!0,h+=\"' +\\n__e(\"+r+\") +\\n'\"),i&&(l=!0,h+=\"';\\n\"+i+\";\\n__p += '\"),n&&(h+=\"' +\\n((__t = (\"+n+\")) == null ? '' : __t) +\\n'\"),u=o+t.length,t}),h+=\"';\\n\";var m=Le.call(t,\"variable\")&&t.variable;if(m){if(he.test(m))throw new Te(\"Invalid `variable` option passed into `_.template`\")}else h=\"with (obj) {\\n\"+h+\"\\n}\\n\";h=(l?h.replace(q,\"\"):h).replace(K,\"$1\").replace(W,\"$1;\"),h=\"function(\"+(m||\"obj\")+\") {\\n\"+(m?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(c?\", __e = _.escape\":\"\")+(l?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+h+\"return __p\\n}\";var g=Qa(function(){return ke(o,p+\"return \"+h).apply(s,a)});if(g.source=h,Yo(g))throw g;return g},jr.times=function(e,t){if((e=ma(e))<1||e>p)return[];var r=g,n=vr(e,g);t=li(t),e-=g;for(var s=Yt(n,t);++r<e;)t(r);return s},jr.toFinite=pa,jr.toInteger=ma,jr.toLength=ga,jr.toLower=function(e){return va(e).toLowerCase()},jr.toNumber=ya,jr.toSafeInteger=function(e){return e?cn(ma(e),-9007199254740991,p):0===e?e:0},jr.toString=va,jr.toUpper=function(e){return va(e).toUpperCase()},jr.trim=function(e,t,r){if((e=va(e))&&(r||t===s))return Xt(e);if(!e||!(t=us(t)))return e;var n=pr(e),i=pr(t);return Es(n,rr(n,i),nr(n,i)+1).join(\"\")},jr.trimEnd=function(e,t,r){if((e=va(e))&&(r||t===s))return e.slice(0,mr(e)+1);if(!e||!(t=us(t)))return e;var n=pr(e);return Es(n,0,nr(n,pr(t))+1).join(\"\")},jr.trimStart=function(e,t,r){if((e=va(e))&&(r||t===s))return e.replace(oe,\"\");if(!e||!(t=us(t)))return e;var n=pr(e);return Es(n,rr(n,pr(t))).join(\"\")},jr.truncate=function(e,t){var r=30,n=\"...\";if(ta(t)){var i=\"separator\"in t?t.separator:i;r=\"length\"in t?ma(t.length):r,n=\"omission\"in t?us(t.omission):n}var o=(e=va(e)).length;if(ar(e)){var a=pr(e);o=a.length}if(r>=o)return e;var c=r-fr(n);if(c<1)return n;var l=a?Es(a,0,c).join(\"\"):e.slice(0,c);if(i===s)return l+n;if(a&&(c+=l.length-c),oa(i)){if(e.slice(c).search(i)){var u,d=l;for(i.global||(i=Ie(i.source,va(me.exec(i))+\"g\")),i.lastIndex=0;u=i.exec(d);)var h=u.index;l=l.slice(0,h===s?c:h)}}else if(e.indexOf(us(i),c)!=c){var f=l.lastIndexOf(i);f>-1&&(l=l.slice(0,f))}return l+n},jr.unescape=function(e){return(e=va(e))&&Z.test(e)?e.replace(J,gr):e},jr.uniqueId=function(e){var t=++De;return va(e)+t},jr.upperCase=Za,jr.upperFirst=Ya,jr.each=vo,jr.eachRight=wo,jr.first=Ki,cc(jr,(Ec={},An(jr,function(e,t){Le.call(jr.prototype,t)||(Ec[t]=e)}),Ec),{chain:!1}),jr.VERSION=\"4.18.1\",Pt([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(e){jr[e].placeholder=jr}),Pt([\"drop\",\"take\"],function(e,t){Vr.prototype[e]=function(r){r=r===s?1:br(ma(r),0);var n=this.__filtered__&&!t?new Vr(this):this.clone();return n.__filtered__?n.__takeCount__=vr(r,n.__takeCount__):n.__views__.push({size:vr(r,g),type:e+(n.__dir__<0?\"Right\":\"\")}),n},Vr.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}}),Pt([\"filter\",\"map\",\"takeWhile\"],function(e,t){var r=t+1,n=1==r||3==r;Vr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:li(e,3),type:r}),t.__filtered__=t.__filtered__||n,t}}),Pt([\"head\",\"last\"],function(e,t){var r=\"take\"+(t?\"Right\":\"\");Vr.prototype[e]=function(){return this[r](1).value()[0]}}),Pt([\"initial\",\"tail\"],function(e,t){var r=\"drop\"+(t?\"\":\"Right\");Vr.prototype[e]=function(){return this.__filtered__?new Vr(this):this[r](1)}}),Vr.prototype.compact=function(){return this.filter(sc)},Vr.prototype.find=function(e){return this.filter(e).head()},Vr.prototype.findLast=function(e){return this.reverse().find(e)},Vr.prototype.invokeMap=Yn(function(e,t){return\"function\"==typeof e?new Vr(this):this.map(function(r){return Rn(r,e,t)})}),Vr.prototype.reject=function(e){return this.filter(Lo(li(e)))},Vr.prototype.slice=function(e,t){e=ma(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Vr(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==s&&(r=(t=ma(t))<0?r.dropRight(-t):r.take(t-e)),r)},Vr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vr.prototype.toArray=function(){return this.take(g)},An(Vr.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),i=jr[n?\"take\"+(\"last\"==t?\"Right\":\"\"):t],o=n||/^find/.test(t);i&&(jr.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,c=t instanceof Vr,l=a[0],u=c||qo(t),d=function(e){var t=i.apply(jr,Lt([e],a));return n&&h?t[0]:t};u&&r&&\"function\"==typeof l&&1!=l.length&&(c=u=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,m=c&&!f;if(!o&&u){t=m?t:new Vr(this);var g=e.apply(t,a);return g.__actions__.push({func:po,args:[d],thisArg:s}),new Gr(g,h)}return p&&m?e.apply(this,a):(g=this.thru(d),p?n?g.value()[0]:g.value():g)})}),Pt([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(e){var t=Re[e],r=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",n=/^(?:pop|shift)$/.test(e);jr.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var s=this.value();return t.apply(qo(s)?s:[],e)}return this[r](function(r){return t.apply(qo(r)?r:[],e)})}}),An(Vr.prototype,function(e,t){var r=jr[t];if(r){var n=r.name+\"\";Le.call(Rr,n)||(Rr[n]=[]),Rr[n].push({name:t,func:r})}}),Rr[Hs(s,2).name]=[{name:\"wrapper\",func:s}],Vr.prototype.clone=function(){var e=new Vr(this.__wrapped__);return e.__actions__=Ms(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ms(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ms(this.__views__),e},Vr.prototype.reverse=function(){if(this.__filtered__){var e=new Vr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=qo(e),n=t<0,s=r?e.length:0,i=function(e,t,r){var n=-1,s=r.length;for(;++n<s;){var i=r[n],o=i.size;switch(i.type){case\"drop\":e+=o;break;case\"dropRight\":t-=o;break;case\"take\":t=vr(t,e+o);break;case\"takeRight\":e=br(e,t-o)}}return{start:e,end:t}}(0,s,this.__views__),o=i.start,a=i.end,c=a-o,l=n?a:o-1,u=this.__iteratees__,d=u.length,h=0,f=vr(c,this.__takeCount__);if(!r||!n&&s==c&&f==c)return ms(e,this.__actions__);var p=[];e:for(;c--&&h<f;){for(var m=-1,g=e[l+=t];++m<d;){var y=u[m],b=y.iteratee,v=y.type,w=b(g);if(2==v)g=w;else if(!w){if(1==v)continue e;break e}}p[h++]=g}return p},jr.prototype.at=mo,jr.prototype.chain=function(){return fo(this)},jr.prototype.commit=function(){return new Gr(this.value(),this.__chain__)},jr.prototype.next=function(){this.__values__===s&&(this.__values__=fa(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?s:this.__values__[this.__index__++]}},jr.prototype.plant=function(e){for(var t,r=this;r instanceof zr;){var n=Ui(r);n.__index__=0,n.__values__=s,t?i.__wrapped__=n:t=n;var i=n;r=r.__wrapped__}return i.__wrapped__=e,t},jr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vr){var t=e;return this.__actions__.length&&(t=new Vr(this)),(t=t.reverse()).__actions__.push({func:po,args:[eo],thisArg:s}),new Gr(t,this.__chain__)}return this.thru(eo)},jr.prototype.toJSON=jr.prototype.valueOf=jr.prototype.value=function(){return ms(this.__wrapped__,this.__actions__)},jr.prototype.first=jr.prototype.head,Xe&&(jr.prototype[Xe]=function(){return this}),jr}();mt._=yr,(n=function(){return yr}.call(t,r,t,e))===s||(e.exports=n)}.call(this)},7784(e){function t(e,t){if(!e)throw new Error(t||\"Assertion failed\")}e.exports=t,t.equal=function(e,t,r){if(e!=t)throw new Error(r||\"Assertion failed: \"+e+\" != \"+t)}},7250(e){var t=1e3,r=60*t,n=60*r,s=24*n,i=7*s,o=365.25*s;function a(e,t,r,n){var s=t>=1.5*r;return Math.round(e/r)+\" \"+n+(s?\"s\":\"\")}e.exports=function(e,c){c=c||{};var l=typeof e;if(\"string\"===l&&e.length>0)return function(e){if((e=String(e)).length>100)return;var a=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!a)return;var c=parseFloat(a[1]);switch((a[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return c*o;case\"weeks\":case\"week\":case\"w\":return c*i;case\"days\":case\"day\":case\"d\":return c*s;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return c*n;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return c*r;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return c*t;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return c;default:return}}(e);if(\"number\"===l&&isFinite(e))return c.long?function(e){var i=Math.abs(e);if(i>=s)return a(e,i,s,\"day\");if(i>=n)return a(e,i,n,\"hour\");if(i>=r)return a(e,i,r,\"minute\");if(i>=t)return a(e,i,t,\"second\");return e+\" ms\"}(e):function(e){var i=Math.abs(e);if(i>=s)return Math.round(e/s)+\"d\";if(i>=n)return Math.round(e/n)+\"h\";if(i>=r)return Math.round(e/r)+\"m\";if(i>=t)return Math.round(e/t)+\"s\";return e+\"ms\"}(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))}},9756(e,t,r){\"use strict\";const{ErrorWithCause:n}=r(4525),{findCauseByReference:s,getErrorCause:i,messageWithCauses:o,stackWithCauses:a}=r(2197);e.exports={ErrorWithCause:n,findCauseByReference:s,getErrorCause:i,stackWithCauses:a,messageWithCauses:o}},4525(e){\"use strict\";class t extends Error{constructor(e,{cause:r}={}){super(e),this.name=t.name,r&&(this.cause=r),this.message=e}}e.exports={ErrorWithCause:t}},2197(e){\"use strict\";const t=e=>{if(e&&\"object\"==typeof e&&\"cause\"in e){if(\"function\"==typeof e.cause){const t=e.cause();return t instanceof Error?t:void 0}return e.cause instanceof Error?e.cause:void 0}},r=(e,n)=>{if(!(e instanceof Error))return\"\";const s=e.stack||\"\";if(n.has(e))return s+\"\\ncauses have become circular...\";const i=t(e);return i?(n.add(e),s+\"\\ncaused by: \"+r(i,n)):s},n=(e,r,s)=>{if(!(e instanceof Error))return\"\";const i=s?\"\":e.message||\"\";if(r.has(e))return i+\": ...\";const o=t(e);if(o){r.add(e);const t=\"cause\"in e&&\"function\"==typeof e.cause;return i+(t?\"\":\": \")+n(o,r,t)}return i};e.exports={findCauseByReference:(e,r)=>{if(!e||!r)return;if(!(e instanceof Error))return;if(!(r.prototype instanceof Error)&&r!==Error)return;const n=new Set;let s=e;for(;s&&!n.has(s);){if(n.add(s),s instanceof r)return s;s=t(s)}},getErrorCause:t,stackWithCauses:e=>r(e,new Set),messageWithCauses:e=>n(e,new Set)}},3432(e){\"use strict\";!function(){const t=2147483647;function r(e){const t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);let r=1779033703,n=3144134277,s=1013904242,i=2773480762,o=1359893119,a=2600822924,c=528734635,l=1541459225;const u=new Uint32Array(64);function d(e){let d=0,h=e.length;for(;h>=64;){let f,p,m,g,y,b=r,v=n,w=s,A=i,E=o,x=a,T=c,k=l;for(p=0;p<16;p++)m=d+4*p,u[p]=(255&e[m])<<24|(255&e[m+1])<<16|(255&e[m+2])<<8|255&e[m+3];for(p=16;p<64;p++)f=u[p-2],g=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,f=u[p-15],y=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,u[p]=(g+u[p-7]|0)+(y+u[p-16]|0)|0;for(p=0;p<64;p++)g=(((E>>>6|E<<26)^(E>>>11|E<<21)^(E>>>25|E<<7))+(E&x^~E&T)|0)+(k+(t[p]+u[p]|0)|0)|0,y=((b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10))+(b&v^b&w^v&w)|0,k=T,T=x,x=E,E=A+g|0,A=w,w=v,v=b,b=g+y|0;r=r+b|0,n=n+v|0,s=s+w|0,i=i+A|0,o=o+E|0,a=a+x|0,c=c+T|0,l=l+k|0,d+=64,h-=64}}d(e);let h,f=e.length%64,p=e.length/536870912|0,m=e.length<<3,g=f<56?56:120,y=e.slice(e.length-f,e.length);for(y.push(128),h=f+1;h<g;h++)y.push(0);return y.push(p>>>24&255),y.push(p>>>16&255),y.push(p>>>8&255),y.push(p>>>0&255),y.push(m>>>24&255),y.push(m>>>16&255),y.push(m>>>8&255),y.push(m>>>0&255),d(y),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function n(e,t,n){e=e.length<=64?e:r(e);const s=64+t.length+4,i=new Array(s),o=new Array(64);let a,c=[];for(a=0;a<64;a++)i[a]=54;for(a=0;a<e.length;a++)i[a]^=e[a];for(a=0;a<t.length;a++)i[64+a]=t[a];for(a=s-4;a<s;a++)i[a]=0;for(a=0;a<64;a++)o[a]=92;for(a=0;a<e.length;a++)o[a]^=e[a];function l(){for(let e=s-1;e>=s-4;e--){if(i[e]++,i[e]<=255)return;i[e]=0}}for(;n>=32;)l(),c=c.concat(r(o.concat(r(i)))),n-=32;return n>0&&(l(),c=c.concat(r(o.concat(r(i))).slice(0,n))),c}function s(e,t,r,n,s){let i;for(c(e,16*(2*r-1),s,0,16),i=0;i<2*r;i++)a(e,16*i,s,16),o(s,n),c(s,0,e,t+16*i,16);for(i=0;i<r;i++)c(e,t+2*i*16,e,16*i,16);for(i=0;i<r;i++)c(e,t+16*(2*i+1),e,16*(i+r),16)}function i(e,t){return e<<t|e>>>32-t}function o(e,t){c(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=i(t[0]+t[12],7),t[8]^=i(t[4]+t[0],9),t[12]^=i(t[8]+t[4],13),t[0]^=i(t[12]+t[8],18),t[9]^=i(t[5]+t[1],7),t[13]^=i(t[9]+t[5],9),t[1]^=i(t[13]+t[9],13),t[5]^=i(t[1]+t[13],18),t[14]^=i(t[10]+t[6],7),t[2]^=i(t[14]+t[10],9),t[6]^=i(t[2]+t[14],13),t[10]^=i(t[6]+t[2],18),t[3]^=i(t[15]+t[11],7),t[7]^=i(t[3]+t[15],9),t[11]^=i(t[7]+t[3],13),t[15]^=i(t[11]+t[7],18),t[1]^=i(t[0]+t[3],7),t[2]^=i(t[1]+t[0],9),t[3]^=i(t[2]+t[1],13),t[0]^=i(t[3]+t[2],18),t[6]^=i(t[5]+t[4],7),t[7]^=i(t[6]+t[5],9),t[4]^=i(t[7]+t[6],13),t[5]^=i(t[4]+t[7],18),t[11]^=i(t[10]+t[9],7),t[8]^=i(t[11]+t[10],9),t[9]^=i(t[8]+t[11],13),t[10]^=i(t[9]+t[8],18),t[12]^=i(t[15]+t[14],7),t[13]^=i(t[12]+t[15],9),t[14]^=i(t[13]+t[12],13),t[15]^=i(t[14]+t[13],18);for(let r=0;r<16;++r)e[r]+=t[r]}function a(e,t,r,n){for(let s=0;s<n;s++)r[s]^=e[t+s]}function c(e,t,r,n,s){for(;s--;)r[n++]=e[t++]}function l(e){if(!e||\"number\"!=typeof e.length)return!1;for(let t=0;t<e.length;t++){const r=e[t];if(\"number\"!=typeof r||r%1||r<0||r>=256)return!1}return!0}function u(e,t){if(\"number\"!=typeof e||e%1)throw new Error(\"invalid \"+t);return e}function d(e,r,i,o,d,h,f){if(i=u(i,\"N\"),o=u(o,\"r\"),d=u(d,\"p\"),h=u(h,\"dkLen\"),0===i||i&i-1)throw new Error(\"N must be power of 2\");if(i>t/128/o)throw new Error(\"N too large\");if(o>t/128/d)throw new Error(\"r too large\");if(!l(e))throw new Error(\"password must be an array or buffer\");if(e=Array.prototype.slice.call(e),!l(r))throw new Error(\"salt must be an array or buffer\");r=Array.prototype.slice.call(r);let p=n(e,r,128*d*o);const m=new Uint32Array(32*d*o);for(let e=0;e<m.length;e++){const t=4*e;m[e]=(255&p[t+3])<<24|(255&p[t+2])<<16|(255&p[t+1])<<8|255&p[t+0]}const g=new Uint32Array(64*o),y=new Uint32Array(32*o*i),b=32*o,v=new Uint32Array(16),w=new Uint32Array(16),A=d*i*2;let E,x,T=0,k=null,S=!1,C=0,I=0;const P=f?parseInt(1e3/o):4294967295,M=\"undefined\"!=typeof setImmediate?setImmediate:setTimeout,R=function(){if(S)return f(new Error(\"cancelled\"),T/A);let t;switch(C){case 0:x=32*I*o,c(m,x,g,0,b),C=1,E=0;case 1:t=i-E,t>P&&(t=P);for(let e=0;e<t;e++)c(g,0,y,(E+e)*b,b),s(g,b,o,v,w);if(E+=t,T+=t,f){const e=parseInt(1e3*T/A);if(e!==k){if(S=f(null,T/A),S)break;k=e}}if(E<i)break;E=0,C=2;case 2:t=i-E,t>P&&(t=P);for(let e=0;e<t;e++){const e=g[16*(2*o-1)]&i-1;a(y,e*b,g,b),s(g,b,o,v,w)}if(E+=t,T+=t,f){const e=parseInt(1e3*T/A);if(e!==k){if(S=f(null,T/A),S)break;k=e}}if(E<i)break;if(c(g,0,m,x,b),I++,I<d){C=0;break}p=[];for(let e=0;e<m.length;e++)p.push(255&m[e]),p.push(m[e]>>8&255),p.push(m[e]>>16&255),p.push(m[e]>>24&255);const r=n(e,p,h);return f&&f(null,1,r),r}f&&M(R)};if(!f)for(;;){const e=R();if(null!=e)return e}R()}const h={scrypt:function(e,t,r,n,s,i,o){return new Promise(function(a,c){let l=0;o&&o(0),d(e,t,r,n,s,i,function(e,t,r){if(e)c(e);else if(r)o&&1!==l&&o(1),a(new Uint8Array(r));else if(o&&t!==l)return l=t,o(t)})})},syncScrypt:function(e,t,r,n,s,i){return new Uint8Array(d(e,t,r,n,s,i))}};e.exports=h}()},1565(e,t,r){\"use strict\";const n=Symbol(\"SemVer ANY\");class s{static get ANY(){return n}constructor(e,t){if(t=i(t),e instanceof s){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\\s+/).join(\" \"),l(\"comparator\",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===n?this.value=\"\":this.value=this.operator+this.semver.version,l(\"comp\",this)}parse(e){const t=this.options.loose?o[a.COMPARATORLOOSE]:o[a.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==r[1]?r[1]:\"\",\"=\"===this.operator&&(this.operator=\"\"),r[2]?this.semver=new u(r[2],this.options.loose):this.semver=n}toString(){return this.value}test(e){if(l(\"Comparator.test\",e,this.options.loose),this.semver===n||e===n)return!0;if(\"string\"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}return c(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof s))throw new TypeError(\"a Comparator is required\");return\"\"===this.operator?\"\"===this.value||new d(e.value,t).test(this.value):\"\"===e.operator?\"\"===e.value||new d(this.value,t).test(e.semver):(!(t=i(t)).includePrerelease||\"<0.0.0-0\"!==this.value&&\"<0.0.0-0\"!==e.value)&&(!(!t.includePrerelease&&(this.value.startsWith(\"<0.0.0\")||e.value.startsWith(\"<0.0.0\")))&&(!(!this.operator.startsWith(\">\")||!e.operator.startsWith(\">\"))||(!(!this.operator.startsWith(\"<\")||!e.operator.startsWith(\"<\"))||(!(this.semver.version!==e.semver.version||!this.operator.includes(\"=\")||!e.operator.includes(\"=\"))||(!!(c(this.semver,\"<\",e.semver,t)&&this.operator.startsWith(\">\")&&e.operator.startsWith(\"<\"))||!!(c(this.semver,\">\",e.semver,t)&&this.operator.startsWith(\"<\")&&e.operator.startsWith(\">\")))))))}}e.exports=s;const i=r(3990),{safeRe:o,t:a}=r(2841),c=r(4004),l=r(1361),u=r(4517),d=r(7476)},7476(e,t,r){\"use strict\";const n=/\\s+/g;class s{constructor(e,t){if(t=o(t),e instanceof s)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new s(e.raw,t);if(e instanceof a)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(n,\" \"),this.set=this.raw.split(\"||\").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter(e=>!y(e[0])),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&b(e[0])){this.set=[e];break}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted=\"\";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+=\"||\");const t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=\" \"),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){const t=((this.options.includePrerelease&&m)|(this.options.loose&&g))+\":\"+e,r=i.get(t);if(r)return r;const n=this.options.loose,s=n?u[d.HYPHENRANGELOOSE]:u[d.HYPHENRANGE];e=e.replace(s,M(this.options.includePrerelease)),c(\"hyphen replace\",e),e=e.replace(u[d.COMPARATORTRIM],h),c(\"comparator trim\",e),e=e.replace(u[d.TILDETRIM],f),c(\"tilde trim\",e),e=e.replace(u[d.CARETTRIM],p),c(\"caret trim\",e);let o=e.split(\" \").map(e=>w(e,this.options)).join(\" \").split(/\\s+/).map(e=>P(e,this.options));n&&(o=o.filter(e=>(c(\"loose invalid filter\",e,this.options),!!e.match(u[d.COMPARATORLOOSE])))),c(\"range list\",o);const l=new Map,b=o.map(e=>new a(e,this.options));for(const e of b){if(y(e))return[e];l.set(e.value,e)}l.size>1&&l.has(\"\")&&l.delete(\"\");const v=[...l.values()];return i.set(t,v),v}intersects(e,t){if(!(e instanceof s))throw new TypeError(\"a Range is required\");return this.set.some(r=>v(r,t)&&e.set.some(e=>v(e,t)&&r.every(r=>e.every(e=>r.intersects(e,t)))))}test(e){if(!e)return!1;if(\"string\"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(R(this.set[t],e,this.options))return!0;return!1}}e.exports=s;const i=new(r(8953)),o=r(3990),a=r(1565),c=r(1361),l=r(4517),{safeRe:u,t:d,comparatorTrimReplace:h,tildeTrimReplace:f,caretTrimReplace:p}=r(2841),{FLAG_INCLUDE_PRERELEASE:m,FLAG_LOOSE:g}=r(9543),y=e=>\"<0.0.0-0\"===e.value,b=e=>\"\"===e.value,v=(e,t)=>{let r=!0;const n=e.slice();let s=n.pop();for(;r&&n.length;)r=n.every(e=>s.intersects(e,t)),s=n.pop();return r},w=(e,t)=>(e=e.replace(u[d.BUILD],\"\"),c(\"comp\",e,t),e=T(e,t),c(\"caret\",e),e=E(e,t),c(\"tildes\",e),e=S(e,t),c(\"xrange\",e),e=I(e,t),c(\"stars\",e),e),A=e=>!e||\"x\"===e.toLowerCase()||\"*\"===e,E=(e,t)=>e.trim().split(/\\s+/).map(e=>x(e,t)).join(\" \"),x=(e,t)=>{const r=t.loose?u[d.TILDELOOSE]:u[d.TILDE];return e.replace(r,(t,r,n,s,i)=>{let o;return c(\"tilde\",e,t,r,n,s,i),A(r)?o=\"\":A(n)?o=`>=${r}.0.0 <${+r+1}.0.0-0`:A(s)?o=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:i?(c(\"replaceTilde pr\",i),o=`>=${r}.${n}.${s}-${i} <${r}.${+n+1}.0-0`):o=`>=${r}.${n}.${s} <${r}.${+n+1}.0-0`,c(\"tilde return\",o),o})},T=(e,t)=>e.trim().split(/\\s+/).map(e=>k(e,t)).join(\" \"),k=(e,t)=>{c(\"caret\",e,t);const r=t.loose?u[d.CARETLOOSE]:u[d.CARET],n=t.includePrerelease?\"-0\":\"\";return e.replace(r,(t,r,s,i,o)=>{let a;return c(\"caret\",e,t,r,s,i,o),A(r)?a=\"\":A(s)?a=`>=${r}.0.0${n} <${+r+1}.0.0-0`:A(i)?a=\"0\"===r?`>=${r}.${s}.0${n} <${r}.${+s+1}.0-0`:`>=${r}.${s}.0${n} <${+r+1}.0.0-0`:o?(c(\"replaceCaret pr\",o),a=\"0\"===r?\"0\"===s?`>=${r}.${s}.${i}-${o} <${r}.${s}.${+i+1}-0`:`>=${r}.${s}.${i}-${o} <${r}.${+s+1}.0-0`:`>=${r}.${s}.${i}-${o} <${+r+1}.0.0-0`):(c(\"no pr\"),a=\"0\"===r?\"0\"===s?`>=${r}.${s}.${i}${n} <${r}.${s}.${+i+1}-0`:`>=${r}.${s}.${i}${n} <${r}.${+s+1}.0-0`:`>=${r}.${s}.${i} <${+r+1}.0.0-0`),c(\"caret return\",a),a})},S=(e,t)=>(c(\"replaceXRanges\",e,t),e.split(/\\s+/).map(e=>C(e,t)).join(\" \")),C=(e,t)=>{e=e.trim();const r=t.loose?u[d.XRANGELOOSE]:u[d.XRANGE];return e.replace(r,(r,n,s,i,o,a)=>{c(\"xRange\",e,r,n,s,i,o,a);const l=A(s),u=l||A(i),d=u||A(o),h=d;return\"=\"===n&&h&&(n=\"\"),a=t.includePrerelease?\"-0\":\"\",l?r=\">\"===n||\"<\"===n?\"<0.0.0-0\":\"*\":n&&h?(u&&(i=0),o=0,\">\"===n?(n=\">=\",u?(s=+s+1,i=0,o=0):(i=+i+1,o=0)):\"<=\"===n&&(n=\"<\",u?s=+s+1:i=+i+1),\"<\"===n&&(a=\"-0\"),r=`${n+s}.${i}.${o}${a}`):u?r=`>=${s}.0.0${a} <${+s+1}.0.0-0`:d&&(r=`>=${s}.${i}.0${a} <${s}.${+i+1}.0-0`),c(\"xRange return\",r),r})},I=(e,t)=>(c(\"replaceStars\",e,t),e.trim().replace(u[d.STAR],\"\")),P=(e,t)=>(c(\"replaceGTE0\",e,t),e.trim().replace(u[t.includePrerelease?d.GTE0PRE:d.GTE0],\"\")),M=e=>(t,r,n,s,i,o,a,c,l,u,d,h)=>`${r=A(n)?\"\":A(s)?`>=${n}.0.0${e?\"-0\":\"\"}`:A(i)?`>=${n}.${s}.0${e?\"-0\":\"\"}`:o?`>=${r}`:`>=${r}${e?\"-0\":\"\"}`} ${c=A(l)?\"\":A(u)?`<${+l+1}.0.0-0`:A(d)?`<${l}.${+u+1}.0-0`:h?`<=${l}.${u}.${d}-${h}`:e?`<${l}.${u}.${+d+1}-0`:`<=${c}`}`.trim(),R=(e,t,r)=>{for(let r=0;r<e.length;r++)if(!e[r].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let r=0;r<e.length;r++)if(c(e[r].semver),e[r].semver!==a.ANY&&e[r].semver.prerelease.length>0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}},4517(e,t,r){\"use strict\";const n=r(1361),{MAX_LENGTH:s,MAX_SAFE_INTEGER:i}=r(9543),{safeRe:o,t:a}=r(2841),c=r(3990),{compareIdentifiers:l}=r(3806);class u{constructor(e,t){if(t=c(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof e}\".`);if(e.length>s)throw new TypeError(`version is longer than ${s} characters`);n(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?o[a.LOOSE]:o[a.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>i||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>i||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>i||this.patch<0)throw new TypeError(\"Invalid patch version\");r[4]?this.prerelease=r[4].split(\".\").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<i)return t}return e}):this.prerelease=[],this.build=r[5]?r[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(e){if(n(\"SemVer.compare\",this.version,this.options,e),!(e instanceof u)){if(\"string\"==typeof e&&e===this.version)return 0;e=new u(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof u||(e=new u(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof u||(e=new u(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const r=this.prerelease[t],s=e.prerelease[t];if(n(\"prerelease compare\",t,r,s),void 0===r&&void 0===s)return 0;if(void 0===s)return 1;if(void 0===r)return-1;if(r!==s)return l(r,s)}while(++t)}compareBuild(e){e instanceof u||(e=new u(e,this.options));let t=0;do{const r=this.build[t],s=e.build[t];if(n(\"build compare\",t,r,s),void 0===r&&void 0===s)return 0;if(void 0===s)return 1;if(void 0===r)return-1;if(r!==s)return l(r,s)}while(++t)}inc(e,t,r){if(e.startsWith(\"pre\")){if(!t&&!1===r)throw new Error(\"invalid increment argument: identifier is empty\");if(t){const e=`-${t}`.match(this.options.loose?o[a.PRERELEASELOOSE]:o[a.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t,r);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t,r);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t,r),this.inc(\"pre\",t,r);break;case\"prerelease\":0===this.prerelease.length&&this.inc(\"patch\",t,r),this.inc(\"pre\",t,r);break;case\"release\":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case\"major\":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case\"pre\":{const e=Number(r)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)\"number\"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(\".\")&&!1===r)throw new Error(\"invalid increment argument: identifier already exists\");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===l(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(\".\")}`),this}}e.exports=u},2281(e,t,r){\"use strict\";const n=r(3955);e.exports=(e,t)=>{const r=n(e.trim().replace(/^[=v]+/,\"\"),t);return r?r.version:null}},4004(e,t,r){\"use strict\";const n=r(8848),s=r(8220),i=r(9761),o=r(2386),a=r(1262),c=r(9639);e.exports=(e,t,r,l)=>{switch(t){case\"===\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e===r;case\"!==\":return\"object\"==typeof e&&(e=e.version),\"object\"==typeof r&&(r=r.version),e!==r;case\"\":case\"=\":case\"==\":return n(e,r,l);case\"!=\":return s(e,r,l);case\">\":return i(e,r,l);case\">=\":return o(e,r,l);case\"<\":return a(e,r,l);case\"<=\":return c(e,r,l);default:throw new TypeError(`Invalid operator: ${t}`)}}},6783(e,t,r){\"use strict\";const n=r(4517),s=r(3955),{safeRe:i,t:o}=r(2841);e.exports=(e,t)=>{if(e instanceof n)return e;if(\"number\"==typeof e&&(e=String(e)),\"string\"!=typeof e)return null;let r=null;if((t=t||{}).rtl){const n=t.includePrerelease?i[o.COERCERTLFULL]:i[o.COERCERTL];let s;for(;(s=n.exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&s.index+s[0].length===r.index+r[0].length||(r=s),n.lastIndex=s.index+s[1].length+s[2].length;n.lastIndex=-1}else r=e.match(t.includePrerelease?i[o.COERCEFULL]:i[o.COERCE]);if(null===r)return null;const a=r[2],c=r[3]||\"0\",l=r[4]||\"0\",u=t.includePrerelease&&r[5]?`-${r[5]}`:\"\",d=t.includePrerelease&&r[6]?`+${r[6]}`:\"\";return s(`${a}.${c}.${l}${u}${d}`,t)}},6106(e,t,r){\"use strict\";const n=r(4517);e.exports=(e,t,r)=>{const s=new n(e,r),i=new n(t,r);return s.compare(i)||s.compareBuild(i)}},2132(e,t,r){\"use strict\";const n=r(7851);e.exports=(e,t)=>n(e,t,!0)},7851(e,t,r){\"use strict\";const n=r(4517);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},3269(e,t,r){\"use strict\";const n=r(3955);e.exports=(e,t)=>{const r=n(e,null,!0),s=n(t,null,!0),i=r.compare(s);if(0===i)return null;const o=i>0,a=o?r:s,c=o?s:r,l=!!a.prerelease.length;if(!!c.prerelease.length&&!l){if(!c.patch&&!c.minor)return\"major\";if(0===c.compareMain(a))return c.minor&&!c.patch?\"minor\":\"patch\"}const u=l?\"pre\":\"\";return r.major!==s.major?u+\"major\":r.minor!==s.minor?u+\"minor\":r.patch!==s.patch?u+\"patch\":\"prerelease\"}},8848(e,t,r){\"use strict\";const n=r(7851);e.exports=(e,t,r)=>0===n(e,t,r)},9761(e,t,r){\"use strict\";const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)>0},2386(e,t,r){\"use strict\";const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)>=0},8868(e,t,r){\"use strict\";const n=r(4517);e.exports=(e,t,r,s,i)=>{\"string\"==typeof r&&(i=s,s=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,s,i).version}catch(e){return null}}},1262(e,t,r){\"use strict\";const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)<0},9639(e,t,r){\"use strict\";const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)<=0},6381(e,t,r){\"use strict\";const n=r(4517);e.exports=(e,t)=>new n(e,t).major},1353(e,t,r){\"use strict\";const n=r(4517);e.exports=(e,t)=>new n(e,t).minor},8220(e,t,r){\"use strict\";const n=r(7851);e.exports=(e,t,r)=>0!==n(e,t,r)},3955(e,t,r){\"use strict\";const n=r(4517);e.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}},6082(e,t,r){\"use strict\";const n=r(4517);e.exports=(e,t)=>new n(e,t).patch},9428(e,t,r){\"use strict\";const n=r(3955);e.exports=(e,t)=>{const r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}},7555(e,t,r){\"use strict\";const n=r(7851);e.exports=(e,t,r)=>n(t,e,r)},3810(e,t,r){\"use strict\";const n=r(6106);e.exports=(e,t)=>e.sort((e,r)=>n(r,e,t))},7229(e,t,r){\"use strict\";const n=r(7476);e.exports=(e,t,r)=>{try{t=new n(t,r)}catch(e){return!1}return t.test(e)}},4042(e,t,r){\"use strict\";const n=r(6106);e.exports=(e,t)=>e.sort((e,r)=>n(e,r,t))},8474(e,t,r){\"use strict\";const n=r(3955);e.exports=(e,t)=>{const r=n(e,t);return r?r.version:null}},2722(e,t,r){\"use strict\";const n=r(2841),s=r(9543),i=r(4517),o=r(3806),a=r(3955),c=r(8474),l=r(2281),u=r(8868),d=r(3269),h=r(6381),f=r(1353),p=r(6082),m=r(9428),g=r(7851),y=r(7555),b=r(2132),v=r(6106),w=r(4042),A=r(3810),E=r(9761),x=r(1262),T=r(8848),k=r(8220),S=r(2386),C=r(9639),I=r(4004),P=r(6783),M=r(1565),R=r(7476),B=r(7229),N=r(6364),O=r(5039),_=r(5357),L=r(1280),D=r(7403),F=r(8854),U=r(7226),j=r(7183),H=r(8623),z=r(6486),G=r(583);e.exports={parse:a,valid:c,clean:l,inc:u,diff:d,major:h,minor:f,patch:p,prerelease:m,compare:g,rcompare:y,compareLoose:b,compareBuild:v,sort:w,rsort:A,gt:E,lt:x,eq:T,neq:k,gte:S,lte:C,cmp:I,coerce:P,Comparator:M,Range:R,satisfies:B,toComparators:N,maxSatisfying:O,minSatisfying:_,minVersion:L,validRange:D,outside:F,gtr:U,ltr:j,intersects:H,simplifyRange:z,subset:G,SemVer:i,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:s.SEMVER_SPEC_VERSION,RELEASE_TYPES:s.RELEASE_TYPES,compareIdentifiers:o.compareIdentifiers,rcompareIdentifiers:o.rcompareIdentifiers}},9543(e){\"use strict\";const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:[\"major\",\"premajor\",\"minor\",\"preminor\",\"patch\",\"prepatch\",\"prerelease\"],SEMVER_SPEC_VERSION:\"2.0.0\",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},1361(e){\"use strict\";const t=\"object\"==typeof process&&process.env&&/\\bsemver\\b/i.test(\"false\")?(...e)=>console.error(\"SEMVER\",...e):()=>{};e.exports=t},3806(e){\"use strict\";const t=/^[0-9]+$/,r=(e,r)=>{if(\"number\"==typeof e&&\"number\"==typeof r)return e===r?0:e<r?-1:1;const n=t.test(e),s=t.test(r);return n&&s&&(e=+e,r=+r),e===r?0:n&&!s?-1:s&&!n?1:e<r?-1:1};e.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}},8953(e){\"use strict\";e.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){const t=this.map.get(e);return void 0===t?void 0:(this.map.delete(e),this.map.set(e,t),t)}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&void 0!==t){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}},3990(e){\"use strict\";const t=Object.freeze({loose:!0}),r=Object.freeze({});e.exports=e=>e?\"object\"!=typeof e?t:e:r},2841(e,t,r){\"use strict\";const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:i}=r(9543),o=r(1361),a=(t=e.exports={}).re=[],c=t.safeRe=[],l=t.src=[],u=t.safeSrc=[],d=t.t={};let h=0;const f=\"[a-zA-Z0-9-]\",p=[[\"\\\\s\",1],[\"\\\\d\",i],[f,s]],m=(e,t,r)=>{const n=(e=>{for(const[t,r]of p)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),s=h++;o(e,s,t),d[e]=s,l[s]=t,u[s]=n,a[s]=new RegExp(t,r?\"g\":void 0),c[s]=new RegExp(n,r?\"g\":void 0)};m(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),m(\"NUMERICIDENTIFIERLOOSE\",\"\\\\d+\"),m(\"NONNUMERICIDENTIFIER\",`\\\\d*[a-zA-Z-]${f}*`),m(\"MAINVERSION\",`(${l[d.NUMERICIDENTIFIER]})\\\\.(${l[d.NUMERICIDENTIFIER]})\\\\.(${l[d.NUMERICIDENTIFIER]})`),m(\"MAINVERSIONLOOSE\",`(${l[d.NUMERICIDENTIFIERLOOSE]})\\\\.(${l[d.NUMERICIDENTIFIERLOOSE]})\\\\.(${l[d.NUMERICIDENTIFIERLOOSE]})`),m(\"PRERELEASEIDENTIFIER\",`(?:${l[d.NONNUMERICIDENTIFIER]}|${l[d.NUMERICIDENTIFIER]})`),m(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${l[d.NONNUMERICIDENTIFIER]}|${l[d.NUMERICIDENTIFIERLOOSE]})`),m(\"PRERELEASE\",`(?:-(${l[d.PRERELEASEIDENTIFIER]}(?:\\\\.${l[d.PRERELEASEIDENTIFIER]})*))`),m(\"PRERELEASELOOSE\",`(?:-?(${l[d.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${l[d.PRERELEASEIDENTIFIERLOOSE]})*))`),m(\"BUILDIDENTIFIER\",`${f}+`),m(\"BUILD\",`(?:\\\\+(${l[d.BUILDIDENTIFIER]}(?:\\\\.${l[d.BUILDIDENTIFIER]})*))`),m(\"FULLPLAIN\",`v?${l[d.MAINVERSION]}${l[d.PRERELEASE]}?${l[d.BUILD]}?`),m(\"FULL\",`^${l[d.FULLPLAIN]}$`),m(\"LOOSEPLAIN\",`[v=\\\\s]*${l[d.MAINVERSIONLOOSE]}${l[d.PRERELEASELOOSE]}?${l[d.BUILD]}?`),m(\"LOOSE\",`^${l[d.LOOSEPLAIN]}$`),m(\"GTLT\",\"((?:<|>)?=?)\"),m(\"XRANGEIDENTIFIERLOOSE\",`${l[d.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),m(\"XRANGEIDENTIFIER\",`${l[d.NUMERICIDENTIFIER]}|x|X|\\\\*`),m(\"XRANGEPLAIN\",`[v=\\\\s]*(${l[d.XRANGEIDENTIFIER]})(?:\\\\.(${l[d.XRANGEIDENTIFIER]})(?:\\\\.(${l[d.XRANGEIDENTIFIER]})(?:${l[d.PRERELEASE]})?${l[d.BUILD]}?)?)?`),m(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${l[d.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${l[d.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${l[d.XRANGEIDENTIFIERLOOSE]})(?:${l[d.PRERELEASELOOSE]})?${l[d.BUILD]}?)?)?`),m(\"XRANGE\",`^${l[d.GTLT]}\\\\s*${l[d.XRANGEPLAIN]}$`),m(\"XRANGELOOSE\",`^${l[d.GTLT]}\\\\s*${l[d.XRANGEPLAINLOOSE]}$`),m(\"COERCEPLAIN\",`(^|[^\\\\d])(\\\\d{1,${n}})(?:\\\\.(\\\\d{1,${n}}))?(?:\\\\.(\\\\d{1,${n}}))?`),m(\"COERCE\",`${l[d.COERCEPLAIN]}(?:$|[^\\\\d])`),m(\"COERCEFULL\",l[d.COERCEPLAIN]+`(?:${l[d.PRERELEASE]})?`+`(?:${l[d.BUILD]})?(?:$|[^\\\\d])`),m(\"COERCERTL\",l[d.COERCE],!0),m(\"COERCERTLFULL\",l[d.COERCEFULL],!0),m(\"LONETILDE\",\"(?:~>?)\"),m(\"TILDETRIM\",`(\\\\s*)${l[d.LONETILDE]}\\\\s+`,!0),t.tildeTrimReplace=\"$1~\",m(\"TILDE\",`^${l[d.LONETILDE]}${l[d.XRANGEPLAIN]}$`),m(\"TILDELOOSE\",`^${l[d.LONETILDE]}${l[d.XRANGEPLAINLOOSE]}$`),m(\"LONECARET\",\"(?:\\\\^)\"),m(\"CARETTRIM\",`(\\\\s*)${l[d.LONECARET]}\\\\s+`,!0),t.caretTrimReplace=\"$1^\",m(\"CARET\",`^${l[d.LONECARET]}${l[d.XRANGEPLAIN]}$`),m(\"CARETLOOSE\",`^${l[d.LONECARET]}${l[d.XRANGEPLAINLOOSE]}$`),m(\"COMPARATORLOOSE\",`^${l[d.GTLT]}\\\\s*(${l[d.LOOSEPLAIN]})$|^$`),m(\"COMPARATOR\",`^${l[d.GTLT]}\\\\s*(${l[d.FULLPLAIN]})$|^$`),m(\"COMPARATORTRIM\",`(\\\\s*)${l[d.GTLT]}\\\\s*(${l[d.LOOSEPLAIN]}|${l[d.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace=\"$1$2$3\",m(\"HYPHENRANGE\",`^\\\\s*(${l[d.XRANGEPLAIN]})\\\\s+-\\\\s+(${l[d.XRANGEPLAIN]})\\\\s*$`),m(\"HYPHENRANGELOOSE\",`^\\\\s*(${l[d.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${l[d.XRANGEPLAINLOOSE]})\\\\s*$`),m(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),m(\"GTE0\",\"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\"),m(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\")},7226(e,t,r){\"use strict\";const n=r(8854);e.exports=(e,t,r)=>n(e,t,\">\",r)},8623(e,t,r){\"use strict\";const n=r(7476);e.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))},7183(e,t,r){\"use strict\";const n=r(8854);e.exports=(e,t,r)=>n(e,t,\"<\",r)},5039(e,t,r){\"use strict\";const n=r(4517),s=r(7476);e.exports=(e,t,r)=>{let i=null,o=null,a=null;try{a=new s(t,r)}catch(e){return null}return e.forEach(e=>{a.test(e)&&(i&&-1!==o.compare(e)||(i=e,o=new n(i,r)))}),i}},5357(e,t,r){\"use strict\";const n=r(4517),s=r(7476);e.exports=(e,t,r)=>{let i=null,o=null,a=null;try{a=new s(t,r)}catch(e){return null}return e.forEach(e=>{a.test(e)&&(i&&1!==o.compare(e)||(i=e,o=new n(i,r)))}),i}},1280(e,t,r){\"use strict\";const n=r(4517),s=r(7476),i=r(9761);e.exports=(e,t)=>{e=new s(e,t);let r=new n(\"0.0.0\");if(e.test(r))return r;if(r=new n(\"0.0.0-0\"),e.test(r))return r;r=null;for(let t=0;t<e.set.length;++t){const s=e.set[t];let o=null;s.forEach(e=>{const t=new n(e.semver.version);switch(e.operator){case\">\":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case\"\":case\">=\":o&&!i(t,o)||(o=t);break;case\"<\":case\"<=\":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}}),!o||r&&!i(r,o)||(r=o)}return r&&e.test(r)?r:null}},8854(e,t,r){\"use strict\";const n=r(4517),s=r(1565),{ANY:i}=s,o=r(7476),a=r(7229),c=r(9761),l=r(1262),u=r(9639),d=r(2386);e.exports=(e,t,r,h)=>{let f,p,m,g,y;switch(e=new n(e,h),t=new o(t,h),r){case\">\":f=c,p=u,m=l,g=\">\",y=\">=\";break;case\"<\":f=l,p=d,m=c,g=\"<\",y=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(a(e,t,h))return!1;for(let r=0;r<t.set.length;++r){const n=t.set[r];let o=null,a=null;if(n.forEach(e=>{e.semver===i&&(e=new s(\">=0.0.0\")),o=o||e,a=a||e,f(e.semver,o.semver,h)?o=e:m(e.semver,a.semver,h)&&(a=e)}),o.operator===g||o.operator===y)return!1;if((!a.operator||a.operator===g)&&p(e,a.semver))return!1;if(a.operator===y&&m(e,a.semver))return!1}return!0}},6486(e,t,r){\"use strict\";const n=r(7229),s=r(7851);e.exports=(e,t,r)=>{const i=[];let o=null,a=null;const c=e.sort((e,t)=>s(e,t,r));for(const e of c){n(e,t,r)?(a=e,o||(o=e)):(a&&i.push([o,a]),a=null,o=null)}o&&i.push([o,null]);const l=[];for(const[e,t]of i)e===t?l.push(e):t||e!==c[0]?t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`):l.push(\"*\");const u=l.join(\" || \"),d=\"string\"==typeof t.raw?t.raw:String(t);return u.length<d.length?u:t}},583(e,t,r){\"use strict\";const n=r(7476),s=r(1565),{ANY:i}=s,o=r(7229),a=r(7851),c=[new s(\">=0.0.0-0\")],l=[new s(\">=0.0.0\")],u=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===i){if(1===t.length&&t[0].semver===i)return!0;e=r.includePrerelease?c:l}if(1===t.length&&t[0].semver===i){if(r.includePrerelease)return!0;t=l}const n=new Set;let s,u,f,p,m,g,y;for(const t of e)\">\"===t.operator||\">=\"===t.operator?s=d(s,t,r):\"<\"===t.operator||\"<=\"===t.operator?u=h(u,t,r):n.add(t.semver);if(n.size>1)return null;if(s&&u){if(f=a(s.semver,u.semver,r),f>0)return null;if(0===f&&(\">=\"!==s.operator||\"<=\"!==u.operator))return null}for(const e of n){if(s&&!o(e,String(s),r))return null;if(u&&!o(e,String(u),r))return null;for(const n of t)if(!o(e,String(n),r))return!1;return!0}let b=!(!u||r.includePrerelease||!u.semver.prerelease.length)&&u.semver,v=!(!s||r.includePrerelease||!s.semver.prerelease.length)&&s.semver;b&&1===b.prerelease.length&&\"<\"===u.operator&&0===b.prerelease[0]&&(b=!1);for(const e of t){if(y=y||\">\"===e.operator||\">=\"===e.operator,g=g||\"<\"===e.operator||\"<=\"===e.operator,s)if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),\">\"===e.operator||\">=\"===e.operator){if(p=d(s,e,r),p===e&&p!==s)return!1}else if(\">=\"===s.operator&&!o(s.semver,String(e),r))return!1;if(u)if(b&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===b.major&&e.semver.minor===b.minor&&e.semver.patch===b.patch&&(b=!1),\"<\"===e.operator||\"<=\"===e.operator){if(m=h(u,e,r),m===e&&m!==u)return!1}else if(\"<=\"===u.operator&&!o(u.semver,String(e),r))return!1;if(!e.operator&&(u||s)&&0!==f)return!1}return!(s&&g&&!u&&0!==f)&&(!(u&&y&&!s&&0!==f)&&(!v&&!b))},d=(e,t,r)=>{if(!e)return t;const n=a(e.semver,t.semver,r);return n>0?e:n<0||\">\"===t.operator&&\">=\"===e.operator?t:e},h=(e,t,r)=>{if(!e)return t;const n=a(e.semver,t.semver,r);return n<0?e:n>0||\"<\"===t.operator&&\"<=\"===e.operator?t:e};e.exports=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let s=!1;e:for(const n of e.set){for(const e of t.set){const t=u(n,e,r);if(s=s||null!==t,t)continue e}if(s)return!1}return!0}},6364(e,t,r){\"use strict\";const n=r(7476);e.exports=(e,t)=>new n(e,t).set.map(e=>e.map(e=>e.value).join(\" \").trim().split(\" \"))},7403(e,t,r){\"use strict\";const n=r(7476);e.exports=(e,t)=>{try{return new n(e,t).range||\"*\"}catch(e){return null}}},3880(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\"default\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return s(t,e),t},o=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SiweMessage=void 0;const a=r(8815),c=i(r(7112)),l=r(8708),u=r(1846),d=r(1386);t.SiweMessage=class{constructor(e){if(\"string\"==typeof e){const t=new a.ParsedMessage(e);this.scheme=t.scheme,this.domain=t.domain,this.address=t.address,this.statement=t.statement,this.uri=t.uri,this.version=t.version,this.nonce=t.nonce,this.issuedAt=t.issuedAt,this.expirationTime=t.expirationTime,this.notBefore=t.notBefore,this.requestId=t.requestId,this.chainId=t.chainId,this.resources=t.resources}else this.scheme=null==e?void 0:e.scheme,this.domain=e.domain,this.address=e.address,this.statement=null==e?void 0:e.statement,this.uri=e.uri,this.version=e.version,this.chainId=e.chainId,this.nonce=e.nonce,this.issuedAt=null==e?void 0:e.issuedAt,this.expirationTime=null==e?void 0:e.expirationTime,this.notBefore=null==e?void 0:e.notBefore,this.requestId=null==e?void 0:e.requestId,this.resources=null==e?void 0:e.resources,\"string\"==typeof this.chainId&&(this.chainId=(0,a.parseIntegerNumber)(this.chainId));this.nonce=this.nonce||(0,d.generateNonce)(),this.validateMessage()}toMessage(){this.validateMessage();const e=`${this.scheme?`${this.scheme}://${this.domain}`:this.domain} wants you to sign in with your Ethereum account:`,t=`URI: ${this.uri}`;let r=[e,this.address].join(\"\\n\");const n=`Version: ${this.version}`;this.nonce||(this.nonce=(0,d.generateNonce)());const s=[t,n,\"Chain ID: \"+this.chainId||0,`Nonce: ${this.nonce}`];if(this.issuedAt=this.issuedAt||(new Date).toISOString(),s.push(`Issued At: ${this.issuedAt}`),this.expirationTime){const e=`Expiration Time: ${this.expirationTime}`;s.push(e)}this.notBefore&&s.push(`Not Before: ${this.notBefore}`),this.requestId&&s.push(`Request ID: ${this.requestId}`),this.resources&&s.push([\"Resources:\",...this.resources.map(e=>`- ${e}`)].join(\"\\n\"));const i=s.join(\"\\n\");return r=[r,this.statement].join(\"\\n\\n\"),this.statement&&(r+=\"\\n\"),[r,i].join(\"\\n\")}prepareMessage(){let e;return this.version,e=this.toMessage(),e}validate(e,t){return o(this,void 0,void 0,function*(){return console.warn(\"validate() has been deprecated, please update your code to use verify(). validate() may be removed in future versions.\"),this.verify({signature:e},{provider:t,suppressExceptions:!1}).then(({data:e})=>e).catch(({error:e})=>{throw e})})}verify(e,t={suppressExceptions:!1}){return o(this,void 0,void 0,function*(){return new Promise((r,n)=>{var s,i,o;const a=e=>t.suppressExceptions?r(e):n(e),c=(0,d.checkInvalidKeys)(e,u.VerifyParamsKeys);c.length>0&&a({success:!1,data:this,error:new Error(`${c.join(\", \")} is/are not valid key(s) for VerifyParams.`)});const h=(0,d.checkInvalidKeys)(t,u.VerifyOptsKeys);c.length>0&&a({success:!1,data:this,error:new Error(`${h.join(\", \")} is/are not valid key(s) for VerifyOpts.`)});const{signature:f,scheme:p,domain:m,nonce:g,time:y}=e;p&&p!==this.scheme&&a({success:!1,data:this,error:new u.SiweError(u.SiweErrorType.SCHEME_MISMATCH,p,this.scheme)}),m&&m!==this.domain&&a({success:!1,data:this,error:new u.SiweError(u.SiweErrorType.DOMAIN_MISMATCH,m,this.domain)}),g&&g!==this.nonce&&a({success:!1,data:this,error:new u.SiweError(u.SiweErrorType.NONCE_MISMATCH,g,this.nonce)});const b=new Date(y||new Date);if(this.expirationTime){const e=new Date(this.expirationTime);b.getTime()>=e.getTime()&&a({success:!1,data:this,error:new u.SiweError(u.SiweErrorType.EXPIRED_MESSAGE,`${b.toISOString()} < ${e.toISOString()}`,`${b.toISOString()} >= ${e.toISOString()}`)})}if(this.notBefore){const e=new Date(this.notBefore);b.getTime()<e.getTime()&&a({success:!1,data:this,error:new u.SiweError(u.SiweErrorType.NOT_YET_VALID_MESSAGE,`${b.toISOString()} >= ${e.toISOString()}`,`${b.toISOString()} < ${e.toISOString()}`)})}let v,w;try{v=this.prepareMessage()}catch(e){a({success:!1,data:this,error:e})}try{w=(0,l.verifyMessage)(v,f)}catch(e){console.error(e)}if(w===this.address)return r({success:!0,data:this});{const n=(0,d.checkContractWalletSignature)(this,f,t.provider).then(e=>e?{success:!0,data:this}:{success:!1,data:this,error:new u.SiweError(u.SiweErrorType.INVALID_SIGNATURE,w,`Resolved address to be ${this.address}`)}).catch(e=>({success:!1,data:this,error:e}));Promise.all([n,null===(o=null===(i=null===(s=null==t?void 0:t.verificationFallback)||void 0===s?void 0:s.call(t,e,t,this,n))||void 0===i?void 0:i.then(e=>e))||void 0===o?void 0:o.catch(e=>e)]).then(([e,t])=>{if(t){if(t.success)return r(t);a(t)}else{if(e.success)return r(e);a(e)}})}})})}validateMessage(...e){var t;if(e.length>0)throw new u.SiweError(u.SiweErrorType.UNABLE_TO_PARSE,\"Unexpected argument in the validateMessage function.\");if(!this.domain||0===this.domain.length||!/[^#?]*/.test(this.domain))throw new u.SiweError(u.SiweErrorType.INVALID_DOMAIN,`${this.domain} to be a valid domain.`);if(!(0,a.isEIP55Address)(this.address))throw new u.SiweError(u.SiweErrorType.INVALID_ADDRESS,(0,l.getAddress)(this.address),this.address);if(!c.isUri(this.uri))throw new u.SiweError(u.SiweErrorType.INVALID_URI,`${this.uri} to be a valid uri.`);if(\"1\"!==this.version)throw new u.SiweError(u.SiweErrorType.INVALID_MESSAGE_VERSION,\"1\",this.version);const r=null===(t=null==this?void 0:this.nonce)||void 0===t?void 0:t.match(/[a-zA-Z0-9]{8,}/);if(!r||this.nonce.length<8||r[0]!==this.nonce)throw new u.SiweError(u.SiweErrorType.INVALID_NONCE,`Length > 8 (${r.length}). Alphanumeric.`,this.nonce);if(this.issuedAt&&!(0,d.isValidISO8601Date)(this.issuedAt))throw new Error(u.SiweErrorType.INVALID_TIME_FORMAT);if(this.expirationTime&&!(0,d.isValidISO8601Date)(this.expirationTime))throw new Error(u.SiweErrorType.INVALID_TIME_FORMAT);if(this.notBefore&&!(0,d.isValidISO8601Date)(this.notBefore))throw new Error(u.SiweErrorType.INVALID_TIME_FORMAT)}}},8708(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getAddress=t.hashMessage=t.verifyMessage=void 0;const n=r(8367);let s=null,i=null,o=null;try{s=n.ethers.utils.verifyMessage,i=n.ethers.utils.hashMessage,o=n.ethers.utils.getAddress}catch(e){s=n.ethers.verifyMessage,i=n.ethers.hashMessage,o=n.ethers.getAddress}t.verifyMessage=s,t.hashMessage=i,t.getAddress=o},427(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),s(r(3880),t),s(r(1846),t),s(r(1386),t)},1846(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.SiweErrorType=t.SiweError=t.VerifyOptsKeys=t.VerifyParamsKeys=void 0,t.VerifyParamsKeys=[\"signature\",\"scheme\",\"domain\",\"nonce\",\"time\"],t.VerifyOptsKeys=[\"provider\",\"suppressExceptions\",\"verificationFallback\"];t.SiweError=class{constructor(e,t,r){this.type=e,this.expected=t,this.received=r}},function(e){e.EXPIRED_MESSAGE=\"Expired message.\",e.INVALID_DOMAIN=\"Invalid domain.\",e.SCHEME_MISMATCH=\"Scheme does not match provided scheme for verification.\",e.DOMAIN_MISMATCH=\"Domain does not match provided domain for verification.\",e.NONCE_MISMATCH=\"Nonce does not match provided nonce for verification.\",e.INVALID_ADDRESS=\"Invalid address.\",e.INVALID_URI=\"URI does not conform to RFC 3986.\",e.INVALID_NONCE=\"Nonce size smaller then 8 characters or is not alphanumeric.\",e.NOT_YET_VALID_MESSAGE=\"Message is not valid yet.\",e.INVALID_SIGNATURE=\"Signature does not match address of the message.\",e.INVALID_TIME_FORMAT=\"Invalid time format.\",e.INVALID_MESSAGE_VERSION=\"Invalid message version.\",e.UNABLE_TO_PARSE=\"Unable to parse the message.\"}(t.SiweErrorType||(t.SiweErrorType={}))},1386(e,t,r){\"use strict\";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,\"__esModule\",{value:!0}),t.checkInvalidKeys=t.isValidISO8601Date=t.generateNonce=t.checkContractWalletSignature=void 0;const s=r(7687),i=r(8367),o=r(8708),a=[\"function isValidSignature(bytes32 _message, bytes _signature) public view returns (bytes4)\"],c=/^(?<date>[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]))[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(.[0-9]+)?(([Zz])|([+|-]([01][0-9]|2[0-3]):[0-5][0-9]))$/;t.checkContractWalletSignature=(e,t,r)=>n(void 0,void 0,void 0,function*(){if(!r)return!1;const n=new i.Contract(e.address,a,r),s=(0,o.hashMessage)(e.prepareMessage());return\"0x1626ba7e\"===(yield n.isValidSignature(s,t))});t.generateNonce=()=>{const e=(0,s.randomStringForEntropy)(96);if(!e||e.length<8)throw new Error(\"Error during nonce creation.\");return e};t.isValidISO8601Date=e=>{const t=c.exec(e);if(!e)return!1;const r=new Date(t.groups.date).toISOString(),n=c.exec(r);return t.groups.date===n.groups.date};t.checkInvalidKeys=(e,t)=>{const r=[];return Object.keys(e).forEach(e=>{t.includes(e)||r.push(e)}),r}},4260(e,t,r){\"use strict\";var n,s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParsedMessage=void 0;const i=s(r(8229)),o=s(r(4202)),a=r(1898);class c{static generateApi(){const e=new i.default('\\nsign-in-with-ethereum =\\n    [ scheme \"://\" ] domain %s\" wants you to sign in with your Ethereum account:\" LF\\n    address LF\\n    LF\\n    [ statement LF ]\\n    LF\\n    %s\"URI: \" URI LF\\n    %s\"Version: \" version LF\\n    %s\"Chain ID: \" chain-id LF\\n    %s\"Nonce: \" nonce LF\\n    %s\"Issued At: \" issued-at\\n    [ LF %s\"Expiration Time: \" expiration-time ]\\n    [ LF %s\"Not Before: \" not-before ]\\n    [ LF %s\"Request ID: \" request-id ]\\n    [ LF %s\"Resources:\"\\n    resources ]\\n\\ndomain = authority\\n\\naddress = \"0x\" 40*40HEXDIG\\n    ; Must also conform to captilization\\n    ; checksum encoding specified in EIP-55\\n    ; where applicable (EOAs).\\n\\nstatement = 1*( reserved / unreserved / \" \" )\\n    ; The purpose is to exclude LF (line breaks).\\n\\nversion = \"1\"\\n\\nnonce = 8*( ALPHA / DIGIT )\\n\\nissued-at = date-time\\nexpiration-time = date-time\\nnot-before = date-time\\n\\nrequest-id = *pchar\\n\\nchain-id = 1*DIGIT\\n    ; See EIP-155 for valid CHAIN_IDs.\\n\\nresources = *( LF resource )\\n\\nresource = \"- \" URI\\n\\n; ------------------------------------------------------------------------------\\n; RFC 3986\\n\\nURI           = scheme \":\" hier-part [ \"?\" query ] [ \"#\" fragment ]\\n\\nhier-part     = \"//\" authority path-abempty\\n              / path-absolute\\n              / path-rootless\\n              / path-empty\\n\\nscheme        = ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\\n\\nauthority     = [ userinfo \"@\" ] host [ \":\" port ]\\nuserinfo      = *( unreserved / pct-encoded / sub-delims / \":\" )\\nhost          = IP-literal / IPv4address / reg-name\\nport          = *DIGIT\\n\\nIP-literal    = \"[\" ( IPv6address / IPvFuture  ) \"]\"\\n\\nIPvFuture     = \"v\" 1*HEXDIG \".\" 1*( unreserved / sub-delims / \":\" )\\n\\nIPv6address   =                            6( h16 \":\" ) ls32\\n              /                       \"::\" 5( h16 \":\" ) ls32\\n              / [               h16 ] \"::\" 4( h16 \":\" ) ls32\\n              / [ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\\n              / [ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\\n              / [ *3( h16 \":\" ) h16 ] \"::\"    h16 \":\"   ls32\\n              / [ *4( h16 \":\" ) h16 ] \"::\"              ls32\\n              / [ *5( h16 \":\" ) h16 ] \"::\"              h16\\n              / [ *6( h16 \":\" ) h16 ] \"::\"\\n\\nh16           = 1*4HEXDIG\\nls32          = ( h16 \":\" h16 ) / IPv4address\\nIPv4address   = dec-octet \".\" dec-octet \".\" dec-octet \".\" dec-octet\\ndec-octet     = DIGIT                 ; 0-9\\n                 / %x31-39 DIGIT         ; 10-99\\n                 / \"1\" 2DIGIT            ; 100-199\\n                 / \"2\" %x30-34 DIGIT     ; 200-249\\n                 / \"25\" %x30-35          ; 250-255\\n\\nreg-name      = *( unreserved / pct-encoded / sub-delims )\\n\\npath-abempty  = *( \"/\" segment )\\npath-absolute = \"/\" [ segment-nz *( \"/\" segment ) ]\\npath-rootless = segment-nz *( \"/\" segment )\\npath-empty    = 0pchar\\n\\nsegment       = *pchar\\nsegment-nz    = 1*pchar\\n\\npchar         = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\\n\\nquery         = *( pchar / \"/\" / \"?\" )\\n\\nfragment      = *( pchar / \"/\" / \"?\" )\\n\\npct-encoded   = \"%\" HEXDIG HEXDIG\\n\\nunreserved    = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\\nreserved      = gen-delims / sub-delims\\ngen-delims    = \":\" / \"/\" / \"?\" / \"#\" / \"[\" / \"]\" / \"@\"\\nsub-delims    = \"!\" / \"$\" / \"&\" / \"\\'\" / \"(\" / \")\"\\n              / \"*\" / \"+\" / \",\" / \";\" / \"=\"\\n\\n; ------------------------------------------------------------------------------\\n; RFC 3339\\n\\ndate-fullyear   = 4DIGIT\\ndate-month      = 2DIGIT  ; 01-12\\ndate-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on\\n                          ; month/year\\ntime-hour       = 2DIGIT  ; 00-23\\ntime-minute     = 2DIGIT  ; 00-59\\ntime-second     = 2DIGIT  ; 00-58, 00-59, 00-60 based on leap second\\n                          ; rules\\ntime-secfrac    = \".\" 1*DIGIT\\ntime-numoffset  = (\"+\" / \"-\") time-hour \":\" time-minute\\ntime-offset     = \"Z\" / time-numoffset\\n\\npartial-time    = time-hour \":\" time-minute \":\" time-second\\n                  [time-secfrac]\\nfull-date       = date-fullyear \"-\" date-month \"-\" date-mday\\nfull-time       = partial-time time-offset\\n\\ndate-time       = full-date \"T\" full-time\\n\\n; ------------------------------------------------------------------------------\\n; RFC 5234\\n\\nALPHA          =  %x41-5A / %x61-7A   ; A-Z / a-z\\nLF             =  %x0A\\n                  ; linefeed\\nDIGIT          =  %x30-39\\n                  ; 0-9\\nHEXDIG         =  DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\"\\n');if(e.generate(),e.errors.length)throw console.error(e.errorsToAscii()),console.error(e.linesToAscii()),console.log(e.displayAttributeErrors()),new Error(\"ABNF grammar has errors\");return e.toObject()}}n=c,c.grammarObj=n.generateApi();t.ParsedMessage=class{constructor(e){const t=new o.default.parser;t.ast=new o.default.ast;const r=o.default.ids;t.ast.callbacks.scheme=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&0===n&&(i.scheme=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks.domain=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.domain=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks.address=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.address=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks.statement=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.statement=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks.uri=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.uri||(i.uri=o.default.utils.charsToString(t,n,s))),a};t.ast.callbacks.version=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.version=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks[\"chain-id\"]=function(e,t,n,s,i){const c=r.SEM_OK;return e===r.SEM_PRE&&(i.chainId=(0,a.parseIntegerNumber)(o.default.utils.charsToString(t,n,s))),c};t.ast.callbacks.nonce=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.nonce=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks[\"issued-at\"]=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.issuedAt=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks[\"expiration-time\"]=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.expirationTime=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks[\"not-before\"]=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.notBefore=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks[\"request-id\"]=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.requestId=o.default.utils.charsToString(t,n,s)),a};t.ast.callbacks.resources=function(e,t,n,s,i){const a=r.SEM_OK;return e===r.SEM_PRE&&(i.resources=o.default.utils.charsToString(t,n,s).slice(3).split(\"\\n- \")),a};const n=t.parse(c.grammarObj,\"sign-in-with-ethereum\",e);if(!n.success)throw new Error(`Invalid message: ${JSON.stringify(n)}`);const s={};t.ast.translate(s);for(const[e,t]of Object.entries(s))this[e]=t;if(0===this.domain.length)throw new Error(\"Domain cannot be empty.\");if(!(0,a.isEIP55Address)(this.address))throw new Error(\"Address not conformant to EIP-55.\")}}},8815(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParsedMessage=void 0;const i=r(4260);Object.defineProperty(t,\"ParsedMessage\",{enumerable:!0,get:function(){return i.ParsedMessage}}),s(r(1898),t)},1898(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseIntegerNumber=t.isEIP55Address=void 0;const n=r(448),s=r(9074);t.isEIP55Address=e=>{if(42!=e.length)return!1;const t=`${e}`.toLowerCase().replace(\"0x\",\"\"),r=(0,s.bytesToHex)((0,n.keccak_256)(t));let i=\"0x\";for(let e=0;e<t.length;e++)parseInt(r[e],16)>=8?i+=t[e].toUpperCase():i+=t[e];return e===i};t.parseIntegerNumber=e=>{const t=parseInt(e);if(isNaN(t))throw new Error(\"Invalid number.\");if(t===1/0)throw new Error(\"Invalid number.\");return t}},7112(e,t,r){!function(e){\"use strict\";e.exports.is_uri=r,e.exports.is_http_uri=n,e.exports.is_https_uri=s,e.exports.is_web_uri=i,e.exports.isUri=r,e.exports.isHttpUri=n,e.exports.isHttpsUri=s,e.exports.isWebUri=i;var t=function(e){return e.match(/(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?/)};function r(e){if(e&&!/[^a-z0-9\\:\\/\\?\\#\\[\\]\\@\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=\\.\\-\\_\\~\\%]/i.test(e)&&!/%[^0-9a-f]/i.test(e)&&!/%[0-9a-f](:?[^0-9a-f]|$)/i.test(e)){var r,n,s,i,o,a=\"\",c=\"\";if(a=(r=t(e))[1],n=r[2],s=r[3],i=r[4],o=r[5],a&&a.length&&s.length>=0){if(n&&n.length){if(0!==s.length&&!/^\\//.test(s))return}else if(/^\\/\\//.test(s))return;if(/^[a-z][a-z0-9\\+\\-\\.]*$/.test(a.toLowerCase()))return c+=a+\":\",n&&n.length&&(c+=\"//\"+n),c+=s,i&&i.length&&(c+=\"?\"+i),o&&o.length&&(c+=\"#\"+o),c}}}function n(e,n){if(r(e)){var s,i,o,a,c=\"\",l=\"\",u=\"\",d=\"\";if(c=(s=t(e))[1],l=s[2],i=s[3],o=s[4],a=s[5],c){if(n){if(\"https\"!=c.toLowerCase())return}else if(\"http\"!=c.toLowerCase())return;if(l)return/:(\\d+)$/.test(l)&&(u=l.match(/:(\\d+)$/)[0],l=l.replace(/:\\d+$/,\"\")),d+=c+\":\",d+=\"//\"+l,u&&(d+=u),d+=i,o&&o.length&&(d+=\"?\"+o),a&&a.length&&(d+=\"#\"+a),d}}}function s(e){return n(e,!0)}function i(e){return n(e)||s(e)}}(e=r.nmd(e))},5423(){},8379(){},3111(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.StructError=void 0;class r extends TypeError{constructor(e,t){let r;const{message:n,explanation:s,...i}=e,{path:o}=e,a=0===o.length?n:`At path: ${o.join(\".\")} -- ${n}`;super(s??a),null!=s&&(this.cause=a),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>r??(r=[e,...t()])}}t.StructError=r},7093(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),s(r(3111),t),s(r(172),t),s(r(145),t),s(r(5636),t),s(r(5573),t),s(r(6174),t)},172(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.validate=t.is=t.mask=t.create=t.assert=t.ExactOptionalStruct=t.Struct=void 0;const n=r(3111),s=r(2062);class i{constructor(e){const{type:t,schema:r,validator:n,refiner:i,coercer:o=e=>e,entries:a=function*(){}}=e;this.type=t,this.schema=r,this.entries=a,this.coercer=o,this.validator=n?(e,t)=>{const r=n(e,t);return(0,s.toFailures)(r,t,this,e)}:()=>[],this.refiner=i?(e,t)=>{const r=i(e,t);return(0,s.toFailures)(r,t,this,e)}:()=>[]}assert(e,t){return a(e,this,t)}create(e,t){return c(e,this,t)}is(e){return u(e,this)}mask(e,t){return l(e,this,t)}validate(e,t={}){return d(e,this,t)}}t.Struct=i;const o=\"EXACT_OPTIONAL\";function a(e,t,r){const n=d(e,t,{message:r});if(n[0])throw n[0]}function c(e,t,r){const n=d(e,t,{coerce:!0,message:r});if(n[0])throw n[0];return n[1]}function l(e,t,r){const n=d(e,t,{coerce:!0,mask:!0,message:r});if(n[0])throw n[0];return n[1]}function u(e,t){return!d(e,t)[0]}function d(e,t,r={}){const i=(0,s.run)(e,t,r),o=(0,s.shiftIterator)(i);if(o[0]){return[new n.StructError(o[0],function*(){for(const e of i)e[0]&&(yield e[0])}),void 0]}return[void 0,o[1]]}t.ExactOptionalStruct=class extends i{constructor(e){super({...e,type:`exact optional ${e.type}`}),this.brand=o}static isExactOptional(e){return(0,s.isObject)(e)&&\"brand\"in e&&e.brand===o}},t.assert=a,t.create=c,t.mask=l,t.is=u,t.validate=d},145(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.trimmed=t.defaulted=t.coerce=void 0;const n=r(172),s=r(2062),i=r(5573);function o(e,t,r){return new n.Struct({...e,coercer:(s,i)=>(0,n.is)(s,t)?e.coercer(r(s,i),i):e.coercer(s,i)})}t.coerce=o,t.defaulted=function(e,t,r={}){return o(e,(0,i.unknown)(),e=>{const n=\"function\"==typeof t?t():t;if(void 0===e)return n;if(!r.strict&&(0,s.isPlainObject)(e)&&(0,s.isPlainObject)(n)){const t={...e};let r=!1;for(const e in n)void 0===t[e]&&(t[e]=n[e],r=!0);if(r)return t}return e})},t.trimmed=function(e){return o(e,(0,i.string)(),e=>e.trim())}},5636(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.refine=t.size=t.pattern=t.nonempty=t.min=t.max=t.empty=void 0;const n=r(172),s=r(2062);function i(e){return e instanceof Map||e instanceof Set?e.size:e.length}function o(e,t,r){return new n.Struct({...e,*refiner(n,i){yield*e.refiner(n,i);const o=r(n,i),a=(0,s.toFailures)(o,i,e,n);for(const e of a)yield{...e,refinement:t}}})}t.empty=function(e){return o(e,\"empty\",t=>{const r=i(t);return 0===r||`Expected an empty ${e.type} but received one with a size of \\`${r}\\``})},t.max=function(e,t,r={}){const{exclusive:n}=r;return o(e,\"max\",r=>n?r<t:r<=t||`Expected a ${e.type} less than ${n?\"\":\"or equal to \"}${t} but received \\`${r}\\``)},t.min=function(e,t,r={}){const{exclusive:n}=r;return o(e,\"min\",r=>n?r>t:r>=t||`Expected a ${e.type} greater than ${n?\"\":\"or equal to \"}${t} but received \\`${r}\\``)},t.nonempty=function(e){return o(e,\"nonempty\",t=>i(t)>0||`Expected a nonempty ${e.type} but received an empty one`)},t.pattern=function(e,t){return o(e,\"pattern\",r=>t.test(r)||`Expected a ${e.type} matching \\`/${t.source}/\\` but received \"${r}\"`)},t.size=function(e,t,r=t){const n=`Expected a ${e.type}`,s=t===r?`of \\`${t}\\``:`between \\`${t}\\` and \\`${r}\\``;return o(e,\"size\",e=>{if(\"number\"==typeof e||e instanceof Date)return t<=e&&e<=r||`${n} ${s} but received \\`${e}\\``;if(e instanceof Map||e instanceof Set){const{size:i}=e;return t<=i&&i<=r||`${n} with a size ${s} but received one with a size of \\`${i}\\``}const{length:i}=e;return t<=i&&i<=r||`${n} with a length ${s} but received one with a length of \\`${i}\\``})},t.refine=o},5573(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.unknown=t.union=t.type=t.tuple=t.string=t.set=t.regexp=t.record=t.exactOptional=t.optional=t.object=t.number=t.nullable=t.never=t.map=t.literal=t.intersection=t.integer=t.instance=t.func=t.enums=t.date=t.boolean=t.bigint=t.array=t.any=void 0;const n=r(172),s=r(2062),i=r(6174);function o(){return(0,i.define)(\"never\",()=>!1)}t.any=function(){return(0,i.define)(\"any\",()=>!0)},t.array=function(e){return new n.Struct({type:\"array\",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,n]of t.entries())yield[r,n,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${(0,s.print)(e)}`})},t.bigint=function(){return(0,i.define)(\"bigint\",e=>\"bigint\"==typeof e)},t.boolean=function(){return(0,i.define)(\"boolean\",e=>\"boolean\"==typeof e)},t.date=function(){return(0,i.define)(\"date\",e=>e instanceof Date&&!isNaN(e.getTime())||`Expected a valid \\`Date\\` object, but received: ${(0,s.print)(e)}`)},t.enums=function(e){const t={},r=e.map(e=>(0,s.print)(e)).join();for(const r of e)t[r]=r;return new n.Struct({type:\"enums\",schema:t,validator:t=>e.includes(t)||`Expected one of \\`${r}\\`, but received: ${(0,s.print)(t)}`})},t.func=function(){return(0,i.define)(\"func\",e=>\"function\"==typeof e||`Expected a function, but received: ${(0,s.print)(e)}`)},t.instance=function(e){return(0,i.define)(\"instance\",t=>t instanceof e||`Expected a \\`${e.name}\\` instance, but received: ${(0,s.print)(t)}`)},t.integer=function(){return(0,i.define)(\"integer\",e=>\"number\"==typeof e&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${(0,s.print)(e)}`)},t.intersection=function(e){return new n.Struct({type:\"intersection\",schema:null,*entries(t,r){for(const{entries:n}of e)yield*n(t,r)},*validator(t,r){for(const{validator:n}of e)yield*n(t,r)},*refiner(t,r){for(const{refiner:n}of e)yield*n(t,r)}})},t.literal=function(e){const t=(0,s.print)(e),r=typeof e;return new n.Struct({type:\"literal\",schema:\"string\"===r||\"number\"===r||\"boolean\"===r?e:null,validator:r=>r===e||`Expected the literal \\`${t}\\`, but received: ${(0,s.print)(r)}`})},t.map=function(e,t){return new n.Struct({type:\"map\",schema:null,*entries(r){if(e&&t&&r instanceof Map)for(const[n,s]of r.entries())yield[n,n,e],yield[n,s,t]},coercer:e=>e instanceof Map?new Map(e):e,validator:e=>e instanceof Map||`Expected a \\`Map\\` object, but received: ${(0,s.print)(e)}`})},t.never=o,t.nullable=function(e){return new n.Struct({...e,validator:(t,r)=>null===t||e.validator(t,r),refiner:(t,r)=>null===t||e.refiner(t,r)})},t.number=function(){return(0,i.define)(\"number\",e=>\"number\"==typeof e&&!isNaN(e)||`Expected a number, but received: ${(0,s.print)(e)}`)},t.object=function(e){const t=e?Object.keys(e):[],r=o();return new n.Struct({type:\"object\",schema:e??null,*entries(i){if(e&&(0,s.isObject)(i)){const s=new Set(Object.keys(i));for(const r of t){s.delete(r);const t=e[r];n.ExactOptionalStruct.isExactOptional(t)&&!Object.prototype.hasOwnProperty.call(i,r)||(yield[r,i[r],e[r]])}for(const e of s)yield[e,i[e],r]}},validator:e=>(0,s.isObject)(e)||`Expected an object, but received: ${(0,s.print)(e)}`,coercer:e=>(0,s.isObject)(e)?{...e}:e})},t.optional=function(e){return new n.Struct({...e,validator:(t,r)=>void 0===t||e.validator(t,r),refiner:(t,r)=>void 0===t||e.refiner(t,r)})},t.exactOptional=function(e){return new n.ExactOptionalStruct(e)},t.record=function(e,t){return new n.Struct({type:\"record\",schema:null,*entries(r){if((0,s.isObject)(r))for(const n in r){const s=r[n];yield[n,n,e],yield[n,s,t]}},validator:e=>(0,s.isObject)(e)||`Expected an object, but received: ${(0,s.print)(e)}`})},t.regexp=function(){return(0,i.define)(\"regexp\",e=>e instanceof RegExp)},t.set=function(e){return new n.Struct({type:\"set\",schema:null,*entries(t){if(e&&t instanceof Set)for(const r of t)yield[r,r,e]},coercer:e=>e instanceof Set?new Set(e):e,validator:e=>e instanceof Set||`Expected a \\`Set\\` object, but received: ${(0,s.print)(e)}`})},t.string=function(){return(0,i.define)(\"string\",e=>\"string\"==typeof e||`Expected a string, but received: ${(0,s.print)(e)}`)},t.tuple=function(e){const t=o();return new n.Struct({type:\"tuple\",schema:null,*entries(r){if(Array.isArray(r)){const n=Math.max(e.length,r.length);for(let s=0;s<n;s++)yield[s,r[s],e[s]||t]}},validator:e=>Array.isArray(e)||`Expected an array, but received: ${(0,s.print)(e)}`})},t.type=function(e){const t=Object.keys(e);return new n.Struct({type:\"type\",schema:e,*entries(r){if((0,s.isObject)(r))for(const n of t)yield[n,r[n],e[n]]},validator:e=>(0,s.isObject)(e)||`Expected an object, but received: ${(0,s.print)(e)}`,coercer:e=>(0,s.isObject)(e)?{...e}:e})},t.union=function(e){const t=e.map(e=>e.type).join(\" | \");return new n.Struct({type:\"union\",schema:null,coercer(t){for(const r of e){const[e,n]=r.validate(t,{coerce:!0});if(!e)return n}return t},validator(r,n){const i=[];for(const t of e){const[...e]=(0,s.run)(r,t,n),[o]=e;if(!o?.[0])return[];for(const[t]of e)t&&i.push(t)}return[`Expected the value to satisfy a union of \\`${t}\\`, but received: ${(0,s.print)(r)}`,...i]}})},t.unknown=function(){return(0,i.define)(\"unknown\",()=>!0)}},6174(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.pick=t.partial=t.omit=t.lazy=t.dynamic=t.deprecated=t.define=t.assign=void 0;const n=r(172),s=r(5573);t.assign=function(...e){const t=\"type\"===e[0]?.type,r=e.map(({schema:e})=>e),n=Object.assign({},...r);return t?(0,s.type)(n):(0,s.object)(n)},t.define=function(e,t){return new n.Struct({type:e,schema:null,validator:t})},t.deprecated=function(e,t){return new n.Struct({...e,refiner:(t,r)=>void 0===t||e.refiner(t,r),validator:(r,n)=>void 0===r||(t(r,n),e.validator(r,n))})},t.dynamic=function(e){return new n.Struct({type:\"dynamic\",schema:null,*entries(t,r){const n=e(t,r);yield*n.entries(t,r)},validator:(t,r)=>e(t,r).validator(t,r),coercer:(t,r)=>e(t,r).coercer(t,r),refiner:(t,r)=>e(t,r).refiner(t,r)})},t.lazy=function(e){let t;return new n.Struct({type:\"lazy\",schema:null,*entries(r,n){t??(t=e()),yield*t.entries(r,n)},validator:(r,n)=>(t??(t=e()),t.validator(r,n)),coercer:(r,n)=>(t??(t=e()),t.coercer(r,n)),refiner:(r,n)=>(t??(t=e()),t.refiner(r,n))})},t.omit=function(e,t){const{schema:r}=e,n={...r};for(const e of t)delete n[e];return\"type\"===e.type?(0,s.type)(n):(0,s.object)(n)},t.partial=function(e){const t=e instanceof n.Struct,r=t?{...e.schema}:{...e};for(const e in r)r[e]=(0,s.optional)(r[e]);return t&&\"type\"===e.type?(0,s.type)(r):(0,s.object)(r)},t.pick=function(e,t){const{schema:r}=e,n={};for(const e of t)n[e]=r[e];return\"type\"===e.type?(0,s.type)(n):(0,s.object)(n)}},2062(e,t){\"use strict\";function r(e){return\"object\"==typeof e&&null!==e}function n(e){return\"symbol\"==typeof e?e.toString():\"string\"==typeof e?JSON.stringify(e):`${e}`}function s(e,t,r,s){if(!0===e)return;!1===e?e={}:\"string\"==typeof e&&(e={message:e});const{path:i,branch:o}=t,{type:a}=r,{refinement:c,message:l=`Expected a value of type \\`${a}\\`${c?` with refinement \\`${c}\\``:\"\"}, but received: \\`${n(s)}\\``}=e;return{value:s,type:a,refinement:c,key:i[i.length-1],path:i,branch:o,...e,message:l}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.run=t.toFailures=t.toFailure=t.shiftIterator=t.print=t.isPlainObject=t.isObject=void 0,t.isObject=r,t.isPlainObject=function(e){if(\"[object Object]\"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},t.print=n,t.shiftIterator=function(e){const{done:t,value:r}=e.next();return t?void 0:r},t.toFailure=s,t.toFailures=function*(e,t,n,i){(function(e){return r(e)&&\"function\"==typeof e[Symbol.iterator]})(e)||(e=[e]);for(const r of e){const e=s(r,t,n,i);e&&(yield e)}},t.run=function*e(t,n,s={}){const{path:i=[],branch:o=[t],coerce:a=!1,mask:c=!1}=s,l={path:i,branch:o};if(a&&(t=n.coercer(t,l),c&&\"type\"!==n.type&&r(n.schema)&&r(t)&&!Array.isArray(t)))for(const e in t)void 0===n.schema[e]&&delete t[e];let u=\"valid\";for(const e of n.validator(t,l))e.explanation=s.message,u=\"not_valid\",yield[e,void 0];for(let[d,h,f]of n.entries(t,l)){const n=e(h,f,{path:void 0===d?i:[...i,d],branch:void 0===d?o:[...o,h],coerce:a,mask:c,message:s.message});for(const e of n)e[0]?(u=null===e[0].refinement||void 0===e[0].refinement?\"not_valid\":\"not_refined\",yield[e[0],void 0]):a&&(h=e[1],void 0===d?t=h:t instanceof Map?t.set(d,h):t instanceof Set?t.add(h):r(t)&&(void 0!==h||d in t)&&(t[d]=h))}if(\"not_valid\"!==u)for(const e of n.refiner(t,l))e.explanation=s.message,u=\"not_refined\",yield[e,void 0];\"valid\"===u&&(yield[void 0,t])}},7628(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.assertExhaustive=t.assertStruct=t.assert=t.AssertionError=void 0;const n=r(7093),s=r(7763);function i(e,t){return r=e,Boolean(\"string\"==typeof r?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var r}class o extends Error{constructor(e){super(e.message),this.code=\"ERR_ASSERTION\"}}t.AssertionError=o,t.assert=function(e,t=\"Assertion failed.\",r=o){if(!e){if(t instanceof Error)throw t;throw i(r,t)}},t.assertStruct=function(e,t,r=\"Assertion failed\",a=o){try{(0,n.assert)(e,t)}catch(e){throw i(a,`${r}: ${function(e){return(0,s.getErrorMessage)(e).replace(/\\.$/u,\"\")}(e)}.`)}},t.assertExhaustive=function(e){throw new Error(\"Invalid branch reached. Should be detected during compilation.\")}},9427(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.base64=void 0;const n=r(7093),s=r(7628);t.base64=(e,t={})=>{const r=t.paddingRequired??!1,i=t.characterSet??\"base64\";let o,a;return\"base64\"===i?o=String.raw`[A-Za-z0-9+\\/]`:((0,s.assert)(\"base64url\"===i),o=String.raw`[-_A-Za-z0-9]`),a=r?new RegExp(`^(?:${o}{4})*(?:${o}{3}=|${o}{2}==)?$`,\"u\"):new RegExp(`^(?:${o}{4})*(?:${o}{2,3}|${o}{3}=|${o}{2}==)?$`,\"u\"),(0,n.pattern)(e,a)}},39(e,t,r){\"use strict\";var n=r(1048).Buffer;Object.defineProperty(t,\"__esModule\",{value:!0}),t.areUint8ArraysEqual=t.createDataView=t.concatBytes=t.valueToBytes=t.base64ToBytes=t.stringToBytes=t.numberToBytes=t.signedBigIntToBytes=t.bigIntToBytes=t.hexToBytes=t.bytesToBase64=t.bytesToString=t.bytesToNumber=t.bytesToSignedBigInt=t.bytesToBigInt=t.bytesToHex=t.assertIsBytes=t.isBytes=void 0;const s=r(6710),i=r(7628),o=r(6213);const a=function(){const e=[];return()=>{if(0===e.length)for(let t=0;t<256;t++)e.push(t.toString(16).padStart(2,\"0\"));return e}}();function c(e){return e instanceof Uint8Array}function l(e){(0,i.assert)(c(e),\"Value must be a Uint8Array.\")}function u(e){if(l(e),0===e.length)return\"0x\";const t=a(),r=new Array(e.length);for(let n=0;n<e.length;n++)r[n]=t[e[n]];return(0,o.add0x)(r.join(\"\"))}function d(e){l(e);const t=u(e);return BigInt(t)}function h(e){if(\"0x\"===e?.toLowerCase?.())return new Uint8Array;(0,o.assertIsHexString)(e);const t=(0,o.remove0x)(e).toLowerCase(),r=t.length%2==0?t:`0${t}`,n=new Uint8Array(r.length/2);for(let e=0;e<n.length;e++){const t=r.charCodeAt(2*e),s=r.charCodeAt(2*e+1),i=t-(t<58?48:87),o=s-(s<58?48:87);n[e]=16*i+o}return n}function f(e){(0,i.assert)(\"bigint\"==typeof e,\"Value must be a bigint.\"),(0,i.assert)(e>=BigInt(0),\"Value must be a non-negative bigint.\");return h(e.toString(16))}function p(e){(0,i.assert)(\"number\"==typeof e,\"Value must be a number.\"),(0,i.assert)(e>=0,\"Value must be a non-negative number.\"),(0,i.assert)(Number.isSafeInteger(e),\"Value is not a safe integer. Use `bigIntToBytes` instead.\");return h(e.toString(16))}function m(e){return(0,i.assert)(\"string\"==typeof e,\"Value must be a string.\"),(new TextEncoder).encode(e)}function g(e){if(\"bigint\"==typeof e)return f(e);if(\"number\"==typeof e)return p(e);if(\"string\"==typeof e)return e.startsWith(\"0x\")?h(e):m(e);if(c(e))return e;throw new TypeError(`Unsupported value type: \"${typeof e}\".`)}t.isBytes=c,t.assertIsBytes=l,t.bytesToHex=u,t.bytesToBigInt=d,t.bytesToSignedBigInt=function(e){l(e);let t=BigInt(0);for(const r of e)t=(t<<BigInt(8))+BigInt(r);return BigInt.asIntN(8*e.length,t)},t.bytesToNumber=function(e){l(e);const t=d(e);return(0,i.assert)(t<=BigInt(Number.MAX_SAFE_INTEGER),\"Number is not a safe integer. Use `bytesToBigInt` instead.\"),Number(t)},t.bytesToString=function(e){return l(e),(new TextDecoder).decode(e)},t.bytesToBase64=function(e){return l(e),s.base64.encode(e)},t.hexToBytes=h,t.bigIntToBytes=f,t.signedBigIntToBytes=function(e,t){(0,i.assert)(\"bigint\"==typeof e,\"Value must be a bigint.\"),(0,i.assert)(\"number\"==typeof t,\"Byte length must be a number.\"),(0,i.assert)(t>0,\"Byte length must be greater than 0.\"),(0,i.assert)(function(e,t){(0,i.assert)(t>0);const r=e>>BigInt(31);return!((~e&r)+(e&~r)>>BigInt(8*t-1))}(e,t),\"Byte length is too small to represent the given value.\");let r=e;const n=new Uint8Array(t);for(let e=0;e<n.length;e++)n[e]=Number(BigInt.asUintN(8,r)),r>>=BigInt(8);return n.reverse()},t.numberToBytes=p,t.stringToBytes=m,t.base64ToBytes=function(e){return(0,i.assert)(\"string\"==typeof e,\"Value must be a string.\"),s.base64.decode(e)},t.valueToBytes=g,t.concatBytes=function(e){const t=new Array(e.length);let r=0;for(let n=0;n<e.length;n++){const s=g(e[n]);t[n]=s,r+=s.length}const n=new Uint8Array(r);for(let e=0,r=0;e<t.length;e++)n.set(t[e],r),r+=t[e].length;return n},t.createDataView=function(e){if(void 0!==n&&e instanceof n){const t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return new DataView(t)}return new DataView(e.buffer,e.byteOffset,e.byteLength)},t.areUint8ArraysEqual=function(e,t){let r=e.byteLength^t.byteLength;const n=Math.max(e.byteLength,t.byteLength);for(let s=0;s<n;s++){r|=(e[s]??0)^(t[s]??0)}return 0===r}},8409(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.toCaipAssetId=t.toCaipAssetType=t.toCaipAccountId=t.toCaipChainId=t.parseCaipAssetId=t.parseCaipAssetType=t.parseCaipAccountId=t.parseCaipChainId=t.isCaipAssetId=t.isCaipAssetType=t.isCaipTokenId=t.isCaipAssetReference=t.isCaipAssetNamespace=t.isCaipAccountAddress=t.isCaipAccountId=t.isCaipReference=t.isCaipNamespace=t.isCaipChainId=t.KnownCaipNamespace=t.CaipAssetTypeOrIdStruct=t.CaipAssetIdStruct=t.CaipAssetTypeStruct=t.CaipTokenIdStruct=t.CaipAssetReferenceStruct=t.CaipAssetNamespaceStruct=t.CaipAccountAddressStruct=t.CaipAccountIdStruct=t.CaipReferenceStruct=t.CaipNamespaceStruct=t.CaipChainIdStruct=t.CAIP_ASSET_ID_REGEX=t.CAIP_ASSET_TYPE_REGEX=t.CAIP_TOKEN_ID_REGEX=t.CAIP_ASSET_REFERENCE_REGEX=t.CAIP_ASSET_NAMESPACE_REGEX=t.CAIP_ACCOUNT_ADDRESS_REGEX=t.CAIP_ACCOUNT_ID_REGEX=t.CAIP_REFERENCE_REGEX=t.CAIP_NAMESPACE_REGEX=t.CAIP_CHAIN_ID_REGEX=void 0;const n=r(136);t.CAIP_CHAIN_ID_REGEX=/^(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32})$/u,t.CAIP_NAMESPACE_REGEX=/^[-a-z0-9]{3,8}$/u,t.CAIP_REFERENCE_REGEX=/^[-_a-zA-Z0-9]{1,32}$/u,t.CAIP_ACCOUNT_ID_REGEX=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32})):(?<accountAddress>[-.%a-zA-Z0-9]{1,128})$/u,t.CAIP_ACCOUNT_ADDRESS_REGEX=/^[-.%a-zA-Z0-9]{1,128}$/u,t.CAIP_ASSET_NAMESPACE_REGEX=/^[-a-z0-9]{3,8}$/u,t.CAIP_ASSET_REFERENCE_REGEX=/^[-.%a-zA-Z0-9]{1,128}$/u,t.CAIP_TOKEN_ID_REGEX=/^[-.%a-zA-Z0-9]{1,78}$/u,t.CAIP_ASSET_TYPE_REGEX=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})$/u,t.CAIP_ASSET_ID_REGEX=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})\\/(?<tokenId>[-.%a-zA-Z0-9]{1,78})$/u;function s(e){return\"string\"==typeof e&&t.CAIP_NAMESPACE_REGEX.test(e)}function i(e){return\"string\"==typeof e&&t.CAIP_REFERENCE_REGEX.test(e)}function o(e){return\"string\"==typeof e&&t.CAIP_ACCOUNT_ADDRESS_REGEX.test(e)}function a(e){return\"string\"==typeof e&&t.CAIP_ASSET_NAMESPACE_REGEX.test(e)}function c(e){return\"string\"==typeof e&&t.CAIP_ASSET_REFERENCE_REGEX.test(e)}function l(e){return\"string\"==typeof e&&t.CAIP_TOKEN_ID_REGEX.test(e)}t.CaipChainIdStruct=(0,n.definePattern)(\"CaipChainId\",t.CAIP_CHAIN_ID_REGEX),t.CaipNamespaceStruct=(0,n.definePattern)(\"CaipNamespace\",t.CAIP_NAMESPACE_REGEX),t.CaipReferenceStruct=(0,n.definePattern)(\"CaipReference\",t.CAIP_REFERENCE_REGEX),t.CaipAccountIdStruct=(0,n.definePattern)(\"CaipAccountId\",t.CAIP_ACCOUNT_ID_REGEX),t.CaipAccountAddressStruct=(0,n.definePattern)(\"CaipAccountAddress\",t.CAIP_ACCOUNT_ADDRESS_REGEX),t.CaipAssetNamespaceStruct=(0,n.definePattern)(\"CaipAssetNamespace\",t.CAIP_ASSET_NAMESPACE_REGEX),t.CaipAssetReferenceStruct=(0,n.definePattern)(\"CaipAssetReference\",t.CAIP_ASSET_REFERENCE_REGEX),t.CaipTokenIdStruct=(0,n.definePattern)(\"CaipTokenId\",t.CAIP_TOKEN_ID_REGEX),t.CaipAssetTypeStruct=(0,n.definePattern)(\"CaipAssetType\",t.CAIP_ASSET_TYPE_REGEX),t.CaipAssetIdStruct=(0,n.definePattern)(\"CaipAssetId\",t.CAIP_ASSET_ID_REGEX),t.CaipAssetTypeOrIdStruct=(0,n.definePattern)(\"CaipAssetTypeOrId\",/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})(\\/(?<tokenId>[-.%a-zA-Z0-9]{1,78}))?$/u),function(e){e.Bip122=\"bip122\",e.Solana=\"solana\",e.Stellar=\"stellar\",e.Tron=\"tron\",e.Eip155=\"eip155\",e.Wallet=\"wallet\"}(t.KnownCaipNamespace||(t.KnownCaipNamespace={})),t.isCaipChainId=function(e){return\"string\"==typeof e&&t.CAIP_CHAIN_ID_REGEX.test(e)},t.isCaipNamespace=s,t.isCaipReference=i,t.isCaipAccountId=function(e){return\"string\"==typeof e&&t.CAIP_ACCOUNT_ID_REGEX.test(e)},t.isCaipAccountAddress=o,t.isCaipAssetNamespace=a,t.isCaipAssetReference=c,t.isCaipTokenId=l,t.isCaipAssetType=function(e){return\"string\"==typeof e&&t.CAIP_ASSET_TYPE_REGEX.test(e)},t.isCaipAssetId=function(e){return\"string\"==typeof e&&t.CAIP_ASSET_ID_REGEX.test(e)},t.parseCaipChainId=function(e){const r=t.CAIP_CHAIN_ID_REGEX.exec(e);if(!r?.groups)throw new Error(\"Invalid CAIP chain ID.\");return{namespace:r.groups.namespace,reference:r.groups.reference}},t.parseCaipAccountId=function(e){const r=t.CAIP_ACCOUNT_ID_REGEX.exec(e);if(!r?.groups)throw new Error(\"Invalid CAIP account ID.\");return{address:r.groups.accountAddress,chainId:r.groups.chainId,chain:{namespace:r.groups.namespace,reference:r.groups.reference}}},t.parseCaipAssetType=function(e){const r=t.CAIP_ASSET_TYPE_REGEX.exec(e);if(!r?.groups)throw new Error(\"Invalid CAIP asset type.\");return{assetNamespace:r.groups.assetNamespace,assetReference:r.groups.assetReference,chainId:r.groups.chainId,chain:{namespace:r.groups.namespace,reference:r.groups.reference}}},t.parseCaipAssetId=function(e){const r=t.CAIP_ASSET_ID_REGEX.exec(e);if(!r?.groups)throw new Error(\"Invalid CAIP asset ID.\");return{assetNamespace:r.groups.assetNamespace,assetReference:r.groups.assetReference,tokenId:r.groups.tokenId,chainId:r.groups.chainId,chain:{namespace:r.groups.namespace,reference:r.groups.reference}}},t.toCaipChainId=function(e,r){if(!s(e))throw new Error(`Invalid \"namespace\", must match: ${t.CAIP_NAMESPACE_REGEX.toString()}`);if(!i(r))throw new Error(`Invalid \"reference\", must match: ${t.CAIP_REFERENCE_REGEX.toString()}`);return`${e}:${r}`},t.toCaipAccountId=function(e,r,n){if(!s(e))throw new Error(`Invalid \"namespace\", must match: ${t.CAIP_NAMESPACE_REGEX.toString()}`);if(!i(r))throw new Error(`Invalid \"reference\", must match: ${t.CAIP_REFERENCE_REGEX.toString()}`);if(!o(n))throw new Error(`Invalid \"accountAddress\", must match: ${t.CAIP_ACCOUNT_ADDRESS_REGEX.toString()}`);return`${e}:${r}:${n}`},t.toCaipAssetType=function(e,r,n,o){if(!s(e))throw new Error(`Invalid \"namespace\", must match: ${t.CAIP_NAMESPACE_REGEX.toString()}`);if(!i(r))throw new Error(`Invalid \"reference\", must match: ${t.CAIP_REFERENCE_REGEX.toString()}`);if(!a(n))throw new Error(`Invalid \"assetNamespace\", must match: ${t.CAIP_ASSET_NAMESPACE_REGEX.toString()}`);if(!c(o))throw new Error(`Invalid \"assetReference\", must match: ${t.CAIP_ASSET_REFERENCE_REGEX.toString()}`);return`${e}:${r}/${n}:${o}`},t.toCaipAssetId=function(e,r,n,o,u){if(!s(e))throw new Error(`Invalid \"namespace\", must match: ${t.CAIP_NAMESPACE_REGEX.toString()}`);if(!i(r))throw new Error(`Invalid \"reference\", must match: ${t.CAIP_REFERENCE_REGEX.toString()}`);if(!a(n))throw new Error(`Invalid \"assetNamespace\", must match: ${t.CAIP_ASSET_NAMESPACE_REGEX.toString()}`);if(!c(o))throw new Error(`Invalid \"assetReference\", must match: ${t.CAIP_ASSET_REFERENCE_REGEX.toString()}`);if(!l(u))throw new Error(`Invalid \"tokenId\", must match: ${t.CAIP_TOKEN_ID_REGEX.toString()}`);return`${e}:${r}/${n}:${o}/${u}`}},883(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChecksumStruct=void 0;const n=r(7093),s=r(9427);t.ChecksumStruct=(0,n.size)((0,s.base64)((0,n.string)(),{paddingRequired:!0}),44,44)},8120(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.createHex=t.createBytes=t.createBigInt=t.createNumber=void 0;const n=r(7093),s=r(7628),i=r(39),o=r(6213),a=(0,n.union)([(0,n.number)(),(0,n.bigint)(),(0,n.string)(),o.StrictHexStruct]),c=(0,n.coerce)((0,n.number)(),a,Number),l=(0,n.coerce)((0,n.bigint)(),a,BigInt),u=((0,n.union)([o.StrictHexStruct,(0,n.instance)(Uint8Array)]),(0,n.coerce)((0,n.instance)(Uint8Array),(0,n.union)([o.StrictHexStruct]),i.hexToBytes)),d=(0,n.coerce)(o.StrictHexStruct,(0,n.instance)(Uint8Array),i.bytesToHex);t.createNumber=function(e){try{const t=(0,n.create)(e,c);return(0,s.assert)(Number.isFinite(t),`Expected a number-like value, got \"${e}\".`),t}catch(t){if(t instanceof n.StructError)throw new Error(`Expected a number-like value, got \"${e}\".`);throw t}},t.createBigInt=function(e){try{return(0,n.create)(e,l)}catch(e){if(e instanceof n.StructError)throw new Error(`Expected a number-like value, got \"${String(e.value)}\".`);throw e}},t.createBytes=function(e){if(\"string\"==typeof e&&\"0x\"===e.toLowerCase())return new Uint8Array;try{return(0,n.create)(e,u)}catch(e){if(e instanceof n.StructError)throw new Error(`Expected a bytes-like value, got \"${String(e.value)}\".`);throw e}},t.createHex=function(e){if(e instanceof Uint8Array&&0===e.length||\"string\"==typeof e&&\"0x\"===e.toLowerCase())return\"0x\";try{return(0,n.create)(e,d)}catch(e){if(e instanceof n.StructError)throw new Error(`Expected a bytes-like value, got \"${String(e.value)}\".`);throw e}}},8109(e,t){\"use strict\";var r,n,s=this&&this.__classPrivateFieldGet||function(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)},i=this&&this.__classPrivateFieldSet||function(e,t,r,n,s){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!s)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof t?e!==t||!s:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?s.call(e,r):s?s.value=r:t.set(e,r),r};Object.defineProperty(t,\"__esModule\",{value:!0}),t.FrozenSet=t.FrozenMap=void 0;class o{get size(){return s(this,r,\"f\").size}[(r=new WeakMap,Symbol.iterator)](){return s(this,r,\"f\")[Symbol.iterator]()}constructor(e){r.set(this,void 0),i(this,r,new Map(e),\"f\"),Object.freeze(this)}entries(){return s(this,r,\"f\").entries()}forEach(e,t){return s(this,r,\"f\").forEach((r,n,s)=>e.call(t,r,n,this))}get(e){return s(this,r,\"f\").get(e)}has(e){return s(this,r,\"f\").has(e)}keys(){return s(this,r,\"f\").keys()}values(){return s(this,r,\"f\").values()}toString(){return`FrozenMap(${this.size}) {${this.size>0?` ${[...this.entries()].map(([e,t])=>`${String(e)} => ${String(t)}`).join(\", \")} `:\"\"}}`}}t.FrozenMap=o;class a{get size(){return s(this,n,\"f\").size}[(n=new WeakMap,Symbol.iterator)](){return s(this,n,\"f\")[Symbol.iterator]()}constructor(e){n.set(this,void 0),i(this,n,new Set(e),\"f\"),Object.freeze(this)}entries(){return s(this,n,\"f\").entries()}forEach(e,t){return s(this,n,\"f\").forEach((r,n,s)=>e.call(t,r,n,this))}has(e){return s(this,n,\"f\").has(e)}keys(){return s(this,n,\"f\").keys()}values(){return s(this,n,\"f\").values()}toString(){return`FrozenSet(${this.size}) {${this.size>0?` ${[...this.values()].map(e=>String(e)).join(\", \")} `:\"\"}}`}}t.FrozenSet=a,Object.freeze(o),Object.freeze(o.prototype),Object.freeze(a),Object.freeze(a.prototype)},2457(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0})},7763(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ensureError=t.wrapError=t.getErrorMessage=t.isErrorWithStack=t.isErrorWithMessage=t.isErrorWithCode=void 0;const n=r(9756),s=r(6578);function i(e){return e instanceof Error||(0,s.isObject)(e)&&\"Error\"===e.constructor.name}function o(e){return\"object\"==typeof e&&null!==e&&\"code\"in e}function a(e){return\"object\"==typeof e&&null!==e&&\"message\"in e}t.isErrorWithCode=o,t.isErrorWithMessage=a,t.isErrorWithStack=function(e){return\"object\"==typeof e&&null!==e&&\"stack\"in e},t.getErrorMessage=function(e){return a(e)&&\"string\"==typeof e.message?e.message:(0,s.isNullOrUndefined)(e)?\"\":String(e)},t.wrapError=function(e,t){if(i(e)){let r;return r=2===Error.length?new Error(t,{cause:e}):new n.ErrorWithCause(t,{cause:e}),o(e)&&(r.code=e.code),r}return t.length>0?new Error(`${String(e)}: ${t}`):new Error(String(e))},t.ensureError=function(e){if(i(e))return e;const t=new Error(\"Unknown error\");return t.cause=e,t}},8866(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.sha256=void 0;const n=r(9688);t.sha256=async function(e){return\"crypto\"in globalThis&&\"object\"==typeof globalThis.crypto&&globalThis.crypto.subtle?.digest?new Uint8Array(await globalThis.crypto.subtle.digest(\"SHA-256\",e)):(0,n.sha256)(e)}},6213(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.remove0x=t.add0x=t.isValidHexAddress=t.isValidHexAddressUnmemoized=t.isValidChecksumAddress=t.isValidChecksumAddressUnmemoized=t.getChecksumAddress=t.getChecksumAddressUnmemoized=t.assertIsStrictHexString=t.assertIsHexString=t.isHexChecksumAddress=t.isHexAddress=t.isStrictHexString=t.isHexString=t.HexChecksumAddressStruct=t.HexAddressStruct=t.StrictHexStruct=t.HexStruct=void 0;const n=r(7093),s=r(448),i=r(5250),o=r(7628),a=/^(?:0x)?[0-9a-f]+$/iu,c=/^0x[0-9a-f]+$/iu,l=/^0x[0-9a-f]{40}$/u,u=/^0x[0-9a-fA-F]{40}$/u;t.HexStruct=(0,n.pattern)((0,n.string)(),a),t.StrictHexStruct=(0,n.pattern)((0,n.string)(),c),t.HexAddressStruct=(0,n.pattern)((0,n.string)(),l),t.HexChecksumAddressStruct=(0,n.pattern)((0,n.string)(),u);const d=e=>\"string\"==typeof e;function h(e){return d(e)&&a.test(e)}function f(e){return d(e)&&c.test(e)}function p(e){return d(e)&&l.test(e)}function m(e){return d(e)&&u.test(e)}function g(e){(0,o.assert)(m(e),\"Invalid hex address.\");const t=v(e).toLowerCase(),r=(0,s.keccak_256)(t),{length:n}=t,i=new Array(n);for(let e=0;e<n;e++){const n=1&e,s=r[e>>1],o=0===n?s>>4:15&s;i[e]=o>=8?t[e].toUpperCase():t[e]}return`0x${i.join(\"\")}`}function y(e){return!!m(e)&&(0,t.getChecksumAddress)(e)===e}function b(e){return p(e)||(0,t.isValidChecksumAddress)(e)}function v(e){return e.startsWith(\"0x\")||e.startsWith(\"0X\")?e.substring(2):e}t.isHexString=h,t.isStrictHexString=f,t.isHexAddress=p,t.isHexChecksumAddress=m,t.assertIsHexString=function(e){(0,o.assert)(h(e),\"Value must be a hexadecimal string.\")},t.assertIsStrictHexString=function(e){(0,o.assert)(f(e),'Value must be a hexadecimal string, starting with \"0x\".')},t.getChecksumAddressUnmemoized=g,t.getChecksumAddress=(0,i.memoize)(g),t.isValidChecksumAddressUnmemoized=y,t.isValidChecksumAddress=(0,i.memoize)(y),t.isValidHexAddressUnmemoized=b,t.isValidHexAddress=(0,i.memoize)(b),t.add0x=function(e){return e.startsWith(\"0x\")?e:e.startsWith(\"0X\")?`0x${e.substring(2)}`:`0x${e}`},t.remove0x=v},7270(e,t,r){\"use strict\";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!(\"get\"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__exportStar||function(e,t){for(var r in e)\"default\"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:!0}),t.unitMap=t.getValueOfUnit=t.numberToString=t.fromWei=t.toWei=t.remove0x=t.add0x=t.isValidChecksumAddress=t.getChecksumAddress=t.isValidHexAddress=t.assertIsStrictHexString=t.assertIsHexString=t.isHexChecksumAddress=t.isHexAddress=t.isStrictHexString=t.isHexString=t.HexChecksumAddressStruct=t.HexAddressStruct=t.StrictHexStruct=t.HexStruct=void 0,s(r(7628),t),s(r(9427),t),s(r(39),t),s(r(8409),t),s(r(883),t),s(r(8120),t),s(r(8109),t),s(r(2457),t),s(r(7763),t),s(r(8866),t);var i=r(6213);Object.defineProperty(t,\"HexStruct\",{enumerable:!0,get:function(){return i.HexStruct}}),Object.defineProperty(t,\"StrictHexStruct\",{enumerable:!0,get:function(){return i.StrictHexStruct}}),Object.defineProperty(t,\"HexAddressStruct\",{enumerable:!0,get:function(){return i.HexAddressStruct}}),Object.defineProperty(t,\"HexChecksumAddressStruct\",{enumerable:!0,get:function(){return i.HexChecksumAddressStruct}}),Object.defineProperty(t,\"isHexString\",{enumerable:!0,get:function(){return i.isHexString}}),Object.defineProperty(t,\"isStrictHexString\",{enumerable:!0,get:function(){return i.isStrictHexString}}),Object.defineProperty(t,\"isHexAddress\",{enumerable:!0,get:function(){return i.isHexAddress}}),Object.defineProperty(t,\"isHexChecksumAddress\",{enumerable:!0,get:function(){return i.isHexChecksumAddress}}),Object.defineProperty(t,\"assertIsHexString\",{enumerable:!0,get:function(){return i.assertIsHexString}}),Object.defineProperty(t,\"assertIsStrictHexString\",{enumerable:!0,get:function(){return i.assertIsStrictHexString}}),Object.defineProperty(t,\"isValidHexAddress\",{enumerable:!0,get:function(){return i.isValidHexAddress}}),Object.defineProperty(t,\"getChecksumAddress\",{enumerable:!0,get:function(){return i.getChecksumAddress}}),Object.defineProperty(t,\"isValidChecksumAddress\",{enumerable:!0,get:function(){return i.isValidChecksumAddress}}),Object.defineProperty(t,\"add0x\",{enumerable:!0,get:function(){return i.add0x}}),Object.defineProperty(t,\"remove0x\",{enumerable:!0,get:function(){return i.remove0x}}),s(r(9936),t),s(r(6809),t),s(r(6725),t),s(r(6578),t),s(r(8617),t),s(r(5135),t),s(r(7197),t),s(r(136),t),s(r(789),t),s(r(1550),t),s(r(5761),t);var o=r(9859);Object.defineProperty(t,\"toWei\",{enumerable:!0,get:function(){return o.toWei}}),Object.defineProperty(t,\"fromWei\",{enumerable:!0,get:function(){return o.fromWei}}),Object.defineProperty(t,\"numberToString\",{enumerable:!0,get:function(){return o.numberToString}}),Object.defineProperty(t,\"getValueOfUnit\",{enumerable:!0,get:function(){return o.getValueOfUnit}}),Object.defineProperty(t,\"unitMap\",{enumerable:!0,get:function(){return o.unitMap}})},9936(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getJsonRpcIdValidator=t.assertIsJsonRpcError=t.isJsonRpcError=t.assertIsJsonRpcFailure=t.isJsonRpcFailure=t.assertIsJsonRpcSuccess=t.isJsonRpcSuccess=t.assertIsJsonRpcResponse=t.isJsonRpcResponse=t.assertIsPendingJsonRpcResponse=t.isPendingJsonRpcResponse=t.JsonRpcResponseStruct=t.JsonRpcFailureStruct=t.JsonRpcSuccessStruct=t.PendingJsonRpcResponseStruct=t.assertIsJsonRpcRequest=t.isJsonRpcRequest=t.assertIsJsonRpcNotification=t.isJsonRpcNotification=t.JsonRpcNotificationStruct=t.JsonRpcRequestStruct=t.JsonRpcParamsStruct=t.JsonRpcErrorStruct=t.JsonRpcIdStruct=t.JsonRpcVersionStruct=t.jsonrpc2=t.getJsonSize=t.getSafeJson=t.isValidJson=t.JsonStruct=t.UnsafeJsonStruct=t.exactOptional=t.object=void 0;const n=r(7093),s=r(7628),i=r(6578);function o({path:e,branch:t}){const r=e[e.length-1];return(0,i.hasProperty)(t[t.length-2],r)}function a(e){return new n.Struct({...e,type:`optional ${e.type}`,validator:(t,r)=>!o(r)||e.validator(t,r),refiner:(t,r)=>!o(r)||e.refiner(t,r)})}function c(e){if(null===e||\"boolean\"==typeof e||\"string\"==typeof e)return!0;if(\"number\"==typeof e&&Number.isFinite(e))return!0;if(\"object\"==typeof e){let t=!0;if(Array.isArray(e)){for(let r=0;r<e.length;r++)if(!c(e[r])){t=!1;break}return t}const r=Object.entries(e);for(let e=0;e<r.length;e++)if(\"string\"!=typeof r[e][0]||!c(r[e][1])){t=!1;break}return t}return!1}function l(e){return(0,n.create)(e,t.JsonStruct)}t.object=e=>(0,n.object)(e),t.exactOptional=a,t.UnsafeJsonStruct=(0,n.define)(\"JSON\",e=>c(e)),t.JsonStruct=(0,n.coerce)(t.UnsafeJsonStruct,(0,n.refine)((0,n.any)(),\"JSON\",e=>(0,n.is)(e,t.UnsafeJsonStruct)),e=>JSON.parse(JSON.stringify(e,(e,t)=>{if(\"__proto__\"!==e&&\"constructor\"!==e)return t}))),t.isValidJson=function(e){try{return l(e),!0}catch{return!1}},t.getSafeJson=l,t.getJsonSize=function(e){(0,s.assertStruct)(e,t.JsonStruct,\"Invalid JSON value\");const r=JSON.stringify(e);return(new TextEncoder).encode(r).byteLength},t.jsonrpc2=\"2.0\",t.JsonRpcVersionStruct=(0,n.literal)(t.jsonrpc2),t.JsonRpcIdStruct=(0,n.nullable)((0,n.union)([(0,n.number)(),(0,n.string)()])),t.JsonRpcErrorStruct=(0,t.object)({code:(0,n.integer)(),message:(0,n.string)(),data:a(t.JsonStruct),stack:a((0,n.string)())}),t.JsonRpcParamsStruct=(0,n.union)([(0,n.record)((0,n.string)(),t.JsonStruct),(0,n.array)(t.JsonStruct)]),t.JsonRpcRequestStruct=(0,t.object)({id:t.JsonRpcIdStruct,jsonrpc:t.JsonRpcVersionStruct,method:(0,n.string)(),params:a(t.JsonRpcParamsStruct)}),t.JsonRpcNotificationStruct=(0,t.object)({jsonrpc:t.JsonRpcVersionStruct,method:(0,n.string)(),params:a(t.JsonRpcParamsStruct)}),t.isJsonRpcNotification=function(e){return(0,n.is)(e,t.JsonRpcNotificationStruct)},t.assertIsJsonRpcNotification=function(e,r){(0,s.assertStruct)(e,t.JsonRpcNotificationStruct,\"Invalid JSON-RPC notification\",r)},t.isJsonRpcRequest=function(e){return(0,n.is)(e,t.JsonRpcRequestStruct)},t.assertIsJsonRpcRequest=function(e,r){(0,s.assertStruct)(e,t.JsonRpcRequestStruct,\"Invalid JSON-RPC request\",r)},t.PendingJsonRpcResponseStruct=(0,n.object)({id:t.JsonRpcIdStruct,jsonrpc:t.JsonRpcVersionStruct,result:(0,n.optional)((0,n.unknown)()),error:(0,n.optional)(t.JsonRpcErrorStruct)}),t.JsonRpcSuccessStruct=(0,t.object)({id:t.JsonRpcIdStruct,jsonrpc:t.JsonRpcVersionStruct,result:t.JsonStruct}),t.JsonRpcFailureStruct=(0,t.object)({id:t.JsonRpcIdStruct,jsonrpc:t.JsonRpcVersionStruct,error:t.JsonRpcErrorStruct}),t.JsonRpcResponseStruct=(0,n.union)([t.JsonRpcSuccessStruct,t.JsonRpcFailureStruct]),t.isPendingJsonRpcResponse=function(e){return(0,n.is)(e,t.PendingJsonRpcResponseStruct)},t.assertIsPendingJsonRpcResponse=function(e,r){(0,s.assertStruct)(e,t.PendingJsonRpcResponseStruct,\"Invalid pending JSON-RPC response\",r)},t.isJsonRpcResponse=function(e){return(0,n.is)(e,t.JsonRpcResponseStruct)},t.assertIsJsonRpcResponse=function(e,r){(0,s.assertStruct)(e,t.JsonRpcResponseStruct,\"Invalid JSON-RPC response\",r)},t.isJsonRpcSuccess=function(e){return(0,n.is)(e,t.JsonRpcSuccessStruct)},t.assertIsJsonRpcSuccess=function(e,r){(0,s.assertStruct)(e,t.JsonRpcSuccessStruct,\"Invalid JSON-RPC success response\",r)},t.isJsonRpcFailure=function(e){return(0,n.is)(e,t.JsonRpcFailureStruct)},t.assertIsJsonRpcFailure=function(e,r){(0,s.assertStruct)(e,t.JsonRpcFailureStruct,\"Invalid JSON-RPC failure response\",r)},t.isJsonRpcError=function(e){return(0,n.is)(e,t.JsonRpcErrorStruct)},t.assertIsJsonRpcError=function(e,r){(0,s.assertStruct)(e,t.JsonRpcErrorStruct,\"Invalid JSON-RPC error\",r)},t.getJsonRpcIdValidator=function(e){const{permitEmptyString:t,permitFractions:r,permitNull:n}={permitEmptyString:!0,permitFractions:!1,permitNull:!0,...e};return e=>Boolean(\"number\"==typeof e&&(r||Number.isInteger(e))||\"string\"==typeof e&&(t||e.length>0)||n&&null===e)}},6809(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0})},6725(e,t,r){\"use strict\";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createModuleLogger=t.createProjectLogger=void 0;const s=(0,n(r(124)).default)(\"metamask\");t.createProjectLogger=function(e){return s.extend(e)},t.createModuleLogger=function(e,t){return e.extend(t)}},6578(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.calculateNumberSize=t.calculateStringSize=t.isASCII=t.isPlainObject=t.ESCAPE_CHARACTERS_REGEXP=t.JsonSize=t.getKnownPropertyNames=t.hasProperty=t.isObject=t.isNullOrUndefined=t.isNonEmptyArray=void 0,t.isNonEmptyArray=function(e){return Array.isArray(e)&&e.length>0},t.isNullOrUndefined=function(e){return null==e},t.isObject=function(e){return Boolean(e)&&\"object\"==typeof e&&!Array.isArray(e)};function r(e){return e.charCodeAt(0)<=127}t.hasProperty=(e,t)=>Object.hasOwnProperty.call(e,t),t.getKnownPropertyNames=function(e){return Object.getOwnPropertyNames(e)},function(e){e[e.Null=4]=\"Null\",e[e.Comma=1]=\"Comma\",e[e.Wrapper=1]=\"Wrapper\",e[e.True=4]=\"True\",e[e.False=5]=\"False\",e[e.Quote=1]=\"Quote\",e[e.Colon=1]=\"Colon\",e[e.Date=24]=\"Date\"}(t.JsonSize||(t.JsonSize={})),t.ESCAPE_CHARACTERS_REGEXP=/\"|\\\\|\\n|\\r|\\t/gu,t.isPlainObject=function(e){if(\"object\"!=typeof e||null===e)return!1;try{let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}catch(e){return!1}},t.isASCII=r,t.calculateStringSize=function(e){return e.split(\"\").reduce((e,t)=>r(t)?e+1:e+2,0)+(e.match(t.ESCAPE_CHARACTERS_REGEXP)??[]).length},t.calculateNumberSize=function(e){return e.toString().length}},8617(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.hexToBigInt=t.hexToNumber=t.bigIntToHex=t.numberToHex=void 0;const n=r(7628),s=r(6213);t.numberToHex=e=>((0,n.assert)(\"number\"==typeof e,\"Value must be a number.\"),(0,n.assert)(e>=0,\"Value must be a non-negative number.\"),(0,n.assert)(Number.isSafeInteger(e),\"Value is not a safe integer. Use `bigIntToHex` instead.\"),(0,s.add0x)(e.toString(16)));t.bigIntToHex=e=>((0,n.assert)(\"bigint\"==typeof e,\"Value must be a bigint.\"),(0,n.assert)(e>=0,\"Value must be a non-negative bigint.\"),(0,s.add0x)(e.toString(16)));t.hexToNumber=e=>{(0,s.assertIsHexString)(e);const t=parseInt(e,16);return(0,n.assert)(Number.isSafeInteger(t),\"Value is not a safe integer. Use `hexToBigInt` instead.\"),t};t.hexToBigInt=e=>((0,s.assertIsHexString)(e),BigInt((0,s.add0x)(e)))},5135(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0})},7197(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.createDeferredPromise=void 0,t.createDeferredPromise=function({suppressUnhandledRejection:e=!1}={}){let t,r;const n=new Promise((e,n)=>{t=e,r=n});return e&&n.catch(e=>{}),{promise:n,resolve:t,reject:r}}},136(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.definePattern=void 0;const n=r(7093);t.definePattern=function(e,t){return(0,n.define)(e,e=>\"string\"==typeof e&&t.test(e))}},789(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.timeSince=t.inMilliseconds=t.Duration=void 0,function(e){e[e.Millisecond=1]=\"Millisecond\",e[e.Second=1e3]=\"Second\",e[e.Minute=6e4]=\"Minute\",e[e.Hour=36e5]=\"Hour\",e[e.Day=864e5]=\"Day\",e[e.Week=6048e5]=\"Week\",e[e.Year=31536e6]=\"Year\"}(t.Duration||(t.Duration={}));const r=(e,t)=>{if(!(e=>Number.isInteger(e)&&e>=0)(e))throw new Error(`\"${t}\" must be a non-negative integer. Received: \"${e}\".`)};t.inMilliseconds=function(e,t){return r(e,\"count\"),e*t},t.timeSince=function(e){return r(e,\"timestamp\"),Date.now()-e}},1550(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0})},9859(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.toWei=t.fromWei=t.numberToString=t.getValueOfUnit=t.unitMap=t.numericToBigInt=void 0;const r=BigInt(0),n=BigInt(-1);function s(e){if(\"string\"==typeof e)return BigInt(e);if(\"number\"==typeof e)return BigInt(e);if(\"bigint\"==typeof e)return e;throw new Error(`Cannot convert ${typeof e} to BigInt`)}t.numericToBigInt=s,t.unitMap={noether:\"0\",wei:\"1\",kwei:\"1000\",Kwei:\"1000\",babbage:\"1000\",femtoether:\"1000\",mwei:\"1000000\",Mwei:\"1000000\",lovelace:\"1000000\",picoether:\"1000000\",gwei:\"1000000000\",Gwei:\"1000000000\",shannon:\"1000000000\",nanoether:\"1000000000\",nano:\"1000000000\",szabo:\"1000000000000\",microether:\"1000000000000\",micro:\"1000000000000\",finney:\"1000000000000000\",milliether:\"1000000000000000\",milli:\"1000000000000000\",ether:\"1000000000000000000\",kether:\"1000000000000000000000\",grand:\"1000000000000000000000\",mether:\"1000000000000000000000000\",gether:\"1000000000000000000000000000\",tether:\"1000000000000000000000000000000\"};const i=Object.fromEntries(Object.entries(t.unitMap).map(([e,t])=>[e,BigInt(t)])),o=Object.fromEntries(Object.entries(t.unitMap).map(([e,t])=>[e,t.length-1||1])),a=/^-?[0-9.]+$/u,c=/^([0-9]*[1-9]|0)(0*)/u,l=/\\B(?=(\\d{3})+(?!\\d))/gu;function u(e){if(\"string\"==typeof e){if(!a.test(e))throw new Error(`while converting number to string, invalid number value '${e}', should be a number matching (^-?[0-9.]+).`);return e}if(\"number\"==typeof e)return String(e);if(\"bigint\"==typeof e)return e.toString();throw new Error(`while converting number to string, invalid number value '${String(e)}' type ${typeof e}.`)}t.getValueOfUnit=function(e=\"ether\"){const r=e.toLowerCase(),n=i[r];if(void 0===n)throw new Error(`The unit provided ${e} doesn't exist, please use the one of the following units ${JSON.stringify(t.unitMap,null,2)}`);return n},t.numberToString=u,t.fromWei=function(e,a,u){let d=s(e);const h=d<r,f=a.toLowerCase(),p=i[f],m=o[f],g=u??{};if(void 0===p)throw new Error(`The unit provided ${a} doesn't exist, please use the one of the following units ${JSON.stringify(t.unitMap,null,2)}`);if(p===r)return h?\"-0\":\"0\";h&&(d*=n);let y=(d%p).toString();if(y=y.padStart(m,\"0\"),!g.pad){const e=y.match(c);y=e?.[1]??\"0\"}let b=(d/p).toString();g.commify&&(b=b.replace(l,\",\"));let v=`${b}${\"0\"===y?\"\":`.${y}`}`;return h&&(v=`-${v}`),v},t.toWei=function(e,s){const a=s.toLowerCase(),c=i[a],l=o[a];if(void 0===c)throw new Error(`The unit provided ${s} doesn't exist, please use the one of the following units ${JSON.stringify(t.unitMap,null,2)}`);if(c===r)return r;if(\"bigint\"==typeof e&&\"wei\"===a)return e;if(\"bigint\"==typeof e)return e*c;let d=u(e);const h=d.startsWith(\"-\");if(h&&(d=d.substring(1)),\".\"===d)throw new Error(`While converting number ${e} to wei, invalid value`);const f=d.split(\".\");if(f.length>2)throw new Error(`While converting number ${e} to wei,  too many decimal points`);let p=f[0],m=f[1];if(p||(p=\"0\"),m||(m=\"0\"),m.length>l)throw new Error(`While converting number ${e} to wei, too many decimal places`);m=m.padEnd(l,\"0\");let g=BigInt(p)*c+BigInt(m);return h&&(g*=n),g}},5761(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.satisfiesVersionRange=t.gtRange=t.gtVersion=t.assertIsSemVerRange=t.assertIsSemVerVersion=t.isValidSemVerRange=t.isValidSemVerVersion=t.VersionRangeStruct=t.VersionStruct=void 0;const n=r(7093),s=r(2722),i=r(7628);t.VersionStruct=(0,n.refine)((0,n.string)(),\"Version\",e=>null!==(0,s.valid)(e)||`Expected SemVer version, got \"${e}\"`),t.VersionRangeStruct=(0,n.refine)((0,n.string)(),\"Version range\",e=>null!==(0,s.validRange)(e)||`Expected SemVer range, got \"${e}\"`),t.isValidSemVerVersion=function(e){return(0,n.is)(e,t.VersionStruct)},t.isValidSemVerRange=function(e){return(0,n.is)(e,t.VersionRangeStruct)},t.assertIsSemVerVersion=function(e){(0,i.assertStruct)(e,t.VersionStruct)},t.assertIsSemVerRange=function(e){(0,i.assertStruct)(e,t.VersionRangeStruct)},t.gtVersion=function(e,t){return(0,s.gt)(e,t)},t.gtRange=function(e,t){return(0,s.gtr)(e,t)},t.satisfiesVersionRange=function(e,t){return(0,s.satisfies)(e,t,{includePrerelease:!0})}}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var i=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.loaded=!0,i.exports}r.amdO={},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};(()=>{\"use strict\";r.r(n),r.d(n,{onInstall:()=>lm,onRpcRequest:()=>am,onUserInput:()=>cm});const e=e=>\"object\"==typeof e?e.name:e,t=e=>`Failed type validation: ${e.map(e=>{if(t=e.path,\"custom\"===e.code&&(0===t.length||2===t.length&&\"number\"==typeof t[0]||3===t.length&&\"number\"==typeof t[0]&&\"number\"==typeof t[2]))return e.message;var t;const r=e.path.join(\".\");return r?`${r}: ${e.message}`:e.message}).join(\", \")}`;!function(e){e[e.DEBUG=0]=\"DEBUG\",e[e.INFO=1]=\"INFO\",e[e.WARN=2]=\"WARN\",e[e.ERROR=3]=\"ERROR\",e[e.DISABLED=4]=\"DISABLED\"}({});const s={threshold:\"true\"!==process?.env?.ENABLE_LOGGING?4:2,handlers:{0:console.debug,1:console.info,2:console.warn,3:console.error,4:()=>{}}};const i=new class{#e;constructor(e={}){this.#e={...s,...e}}setLevel(e){this.#e.threshold=e}getLevel(){return this.#e.threshold}#t(e,t,...r){const{threshold:n,handlers:s}=this.#e;e>=n&&s[e](t,...r)}debug(e,...t){this.#t(0,e,...t)}info(e,...t){this.#t(1,e,...t)}warn(e,...t){this.#t(2,e,...t)}error(e,...t){this.#t(3,e,...t)}};class o extends TypeError{constructor(e,t){let r;const{message:n,explanation:s,...i}=e,{path:o}=e,a=0===o.length?n:`At path: ${o.join(\".\")} -- ${n}`;super(s??a),null!=s&&(this.cause=a),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>r??(r=[e,...t()])}}function a(e){return\"object\"==typeof e&&null!==e}function c(e){return\"symbol\"==typeof e?e.toString():\"string\"==typeof e?JSON.stringify(e):`${e}`}function l(e,t,r,n){if(!0===e)return;!1===e?e={}:\"string\"==typeof e&&(e={message:e});const{path:s,branch:i}=t,{type:o}=r,{refinement:a,message:l=`Expected a value of type \\`${o}\\`${a?` with refinement \\`${a}\\``:\"\"}, but received: \\`${c(n)}\\``}=e;return{value:n,type:o,refinement:a,key:s[s.length-1],path:s,branch:i,...e,message:l}}function*u(e,t,r,n){(function(e){return a(e)&&\"function\"==typeof e[Symbol.iterator]})(e)||(e=[e]);for(const s of e){const e=l(s,t,r,n);e&&(yield e)}}function*d(e,t,r={}){const{path:n=[],branch:s=[e],coerce:i=!1,mask:o=!1}=r,c={path:n,branch:s};if(i&&(e=t.coercer(e,c),o&&\"type\"!==t.type&&a(t.schema)&&a(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let l=\"valid\";for(const n of t.validator(e,c))n.explanation=r.message,l=\"not_valid\",yield[n,void 0];for(let[u,h,f]of t.entries(e,c)){const t=d(h,f,{path:void 0===u?n:[...n,u],branch:void 0===u?s:[...s,h],coerce:i,mask:o,message:r.message});for(const r of t)r[0]?(l=null===r[0].refinement||void 0===r[0].refinement?\"not_valid\":\"not_refined\",yield[r[0],void 0]):i&&(h=r[1],void 0===u?e=h:e instanceof Map?e.set(u,h):e instanceof Set?e.add(h):a(e)&&(void 0!==h||u in e)&&(e[u]=h))}if(\"not_valid\"!==l)for(const n of t.refiner(e,c))n.explanation=r.message,l=\"not_refined\",yield[n,void 0];\"valid\"===l&&(yield[void 0,e])}class h{constructor(e){const{type:t,schema:r,validator:n,refiner:s,coercer:i=e=>e,entries:o=function*(){}}=e;this.type=t,this.schema=r,this.entries=o,this.coercer=i,this.validator=n?(e,t)=>u(n(e,t),t,this,e):()=>[],this.refiner=s?(e,t)=>u(s(e,t),t,this,e):()=>[]}assert(e,t){return function(e,t,r){const n=y(e,t,{message:r});if(n[0])throw n[0]}(e,this,t)}create(e,t){return m(e,this,t)}is(e){return g(e,this)}mask(e,t){return function(e,t,r){const n=y(e,t,{coerce:!0,mask:!0,message:r});if(n[0])throw n[0];return n[1]}(e,this,t)}validate(e,t={}){return y(e,this,t)}}const f=\"EXACT_OPTIONAL\";class p extends h{constructor(e){super({...e,type:`exact optional ${e.type}`}),this.brand=f}static isExactOptional(e){return a(e)&&\"brand\"in e&&e.brand===f}}function m(e,t,r){const n=y(e,t,{coerce:!0,message:r});if(n[0])throw n[0];return n[1]}function g(e,t){return!y(e,t)[0]}function y(e,t,r={}){const n=d(e,t,r),s=function(e){const{done:t,value:r}=e.next();return t?void 0:r}(n);if(s[0]){return[new o(s[0],function*(){for(const e of n)e[0]&&(yield e[0])}),void 0]}return[void 0,s[1]]}function b(...e){const t=\"type\"===e[0]?.type,r=e.map(({schema:e})=>e),n=Object.assign({},...r);return t?function(e){const t=Object.keys(e);return new h({type:\"type\",schema:e,*entries(r){if(a(r))for(const n of t)yield[n,r[n],e[n]]},validator:e=>a(e)||`Expected an object, but received: ${c(e)}`,coercer:e=>a(e)?{...e}:e})}(n):S(n)}function v(e,t){return new h({type:e,schema:null,validator:t})}function w(e){return new h({type:\"array\",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,n]of t.entries())yield[r,n,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${c(e)}`})}function A(){return v(\"boolean\",e=>\"boolean\"==typeof e)}function E(e){const t=c(e),r=typeof e;return new h({type:\"literal\",schema:\"string\"===r||\"number\"===r||\"boolean\"===r?e:null,validator:r=>r===e||`Expected the literal \\`${t}\\`, but received: ${c(r)}`})}function x(){return v(\"never\",()=>!1)}function T(e){return new h({...e,validator:(t,r)=>null===t||e.validator(t,r),refiner:(t,r)=>null===t||e.refiner(t,r)})}function k(){return v(\"number\",e=>\"number\"==typeof e&&!isNaN(e)||`Expected a number, but received: ${c(e)}`)}function S(e){const t=e?Object.keys(e):[],r=x();return new h({type:\"object\",schema:e??null,*entries(n){if(e&&a(n)){const s=new Set(Object.keys(n));for(const r of t){s.delete(r);const t=e[r];p.isExactOptional(t)&&!Object.prototype.hasOwnProperty.call(n,r)||(yield[r,n[r],e[r]])}for(const e of s)yield[e,n[e],r]}},validator:e=>a(e)||`Expected an object, but received: ${c(e)}`,coercer:e=>a(e)?{...e}:e})}function C(e){return new h({...e,validator:(t,r)=>void 0===t||e.validator(t,r),refiner:(t,r)=>void 0===t||e.refiner(t,r)})}function I(e,t){return new h({type:\"record\",schema:null,*entries(r){if(a(r))for(const n in r){const s=r[n];yield[n,n,e],yield[n,s,t]}},validator:e=>a(e)||`Expected an object, but received: ${c(e)}`})}function P(){return v(\"string\",e=>\"string\"==typeof e||`Expected a string, but received: ${c(e)}`)}function M(e){const t=e.map(e=>e.type).join(\" | \");return new h({type:\"union\",schema:null,coercer(t){for(const r of e){const[e,n]=r.validate(t,{coerce:!0});if(!e)return n}return t},validator(r,n){const s=[];for(const t of e){const[...e]=d(r,t,n),[i]=e;if(!i?.[0])return[];for(const[t]of e)t&&s.push(t)}return[`Expected the value to satisfy a union of \\`${t}\\`, but received: ${c(r)}`,...s]}})}function R(e,t,r){return new h({...e,coercer:(n,s)=>g(n,t)?e.coercer(r(n,s),s):e.coercer(n,s)})}function B(e,t){return N(e,\"pattern\",r=>t.test(r)||`Expected a ${e.type} matching \\`/${t.source}/\\` but received \"${r}\"`)}function N(e,t,r){return new h({...e,*refiner(n,s){yield*e.refiner(n,s);const i=u(r(n,s),s,e,n);for(const e of i)yield{...e,refinement:t}}})}function O(e){return Boolean(e)&&\"object\"==typeof e&&!Array.isArray(e)}const _=(e,t)=>Object.hasOwnProperty.call(e,t);var L;!function(e){e[e.Null=4]=\"Null\",e[e.Comma=1]=\"Comma\",e[e.Wrapper=1]=\"Wrapper\",e[e.True=4]=\"True\",e[e.False=5]=\"False\",e[e.Quote=1]=\"Quote\",e[e.Colon=1]=\"Colon\",e[e.Date=24]=\"Date\"}(L=L||(L={}));const D=e=>S(e);function F({path:e,branch:t}){const r=e[e.length-1];return _(t[t.length-2],r)}function U(e){return new h({...e,type:`optional ${e.type}`,validator:(t,r)=>!F(r)||e.validator(t,r),refiner:(t,r)=>!F(r)||e.refiner(t,r)})}function j(e){if(null===e||\"boolean\"==typeof e||\"string\"==typeof e)return!0;if(\"number\"==typeof e&&Number.isFinite(e))return!0;if(\"object\"==typeof e){let t=!0;if(Array.isArray(e)){for(let r=0;r<e.length;r++)if(!j(e[r])){t=!1;break}return t}const r=Object.entries(e);for(let e=0;e<r.length;e++)if(\"string\"!=typeof r[e][0]||!j(r[e][1])){t=!1;break}return t}return!1}const H=v(\"JSON\",e=>j(e)),z=R(H,N(v(\"any\",()=>!0),\"JSON\",e=>g(e,H)),e=>JSON.parse(JSON.stringify(e,(e,t)=>{if(\"__proto__\"!==e&&\"constructor\"!==e)return t})));function G(e){try{return function(e){m(e,z)}(e),!0}catch{return!1}}const V=E(\"2.0\"),q=T(M([k(),P()])),K=D({code:v(\"integer\",e=>\"number\"==typeof e&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${c(e)}`),message:P(),data:U(z),stack:U(P())}),W=M([I(P(),z),w(z)]);D({id:q,jsonrpc:V,method:P(),params:U(W)}),D({jsonrpc:V,method:P(),params:U(W)});S({id:q,jsonrpc:V,result:C(v(\"unknown\",()=>!0)),error:C(K)});const J=D({id:q,jsonrpc:V,result:z}),$=D({id:q,jsonrpc:V,error:K});M([J,$]);function Z(e,t,r=null){return O(e)&&_(e,t)?e[t]:r}function Y(e,t,r=String(e)){const n=Z(e,t);return\"string\"==typeof n?n:r}function X(e){return Y(e,\"message\")}function Q(e){return Y(e,\"stack\",null)}function ee(e){return Y(e,\"name\",e instanceof Error?e.name:\"Error\")}function te(e){const t=Z(e,\"data\");return null!==t&&G(t)&&!Array.isArray(t)?t:{}}class re extends Error{#r;#n;#s;#i;constructor(e,t={}){const r=X(e);super(r),this.#n=r,this.#r=function(e){const t=Z(e,\"code\");return\"number\"==typeof t&&Number.isInteger(t)?t:-32603}(e);const n={...te(e),...t};Object.keys(n).length>0&&(this.#s=n),this.#i=super.stack}get name(){return\"SnapError\"}get code(){return this.#r}get message(){return this.#n}get data(){return this.#s}get stack(){return this.#i}toJSON(){return{code:-31002,message:\"Snap Error\",data:{cause:{code:this.code,message:this.message,stack:this.stack,...this.data?{data:this.data}:{}}}}}serialize(){return this.toJSON()}}function ne(e){if(\"string\"==typeof e)return{name:\"Error\",message:e,stack:null,cause:null};if(g(e,K))return{name:\"JsonRpcError\",message:X(e),stack:Q(e)??Q(e.data)??null,cause:null};const t=function(e){return Z(e,\"cause\")}(e);return{name:ee(e),message:X(e),stack:Q(e)??null,cause:null===t?null:ne(t)}}class se{#o;#a;#c;#l;constructor(e){this.#o=e.enabled,this.#a=e.snapName,this.#c=e.snapProvider,this.#l=e.shouldTrackError??(e=>e instanceof Error||\"string\"==typeof e||\"object\"==typeof e&&null!==e&&(void 0!==e?.message||void 0!==e?.error))}#u(e,t,r){const n={snapName:this.#a,method:t,errorMessage:\"Unknown error\"};if(e?.currentUrl&&(n.url=e.currentUrl),e instanceof Error)n.errorMessage=e.message,n.errorStack=e.stack;else if(\"string\"==typeof e)n.errorMessage=e;else if(\"object\"==typeof e&&null!==e&&\"message\"in e&&void 0!==e.message)n.errorMessage=String(e.message);else if(\"object\"==typeof e&&null!==e&&\"error\"in e&&void 0!==e.error)if(\"string\"==typeof e.error)n.errorMessage=e.error;else try{n.errorMessage=JSON.stringify(e.error)}catch{n.errorMessage=String(e.error)}return e?.status?n.statusCode=e.status:e?.statusCode&&(n.statusCode=e.statusCode),e?.response?n.responseData=e.response:e?.data&&(n.responseData=e.data),void 0!==r?n.requestParams=r:e?.requestParams?n.requestParams=e.requestParams:e?.params&&(n.requestParams=e.params),n}async#d(e){try{this.#c?.request&&await this.#c.request({method:\"snap_trackError\",params:{error:ne(new Error(JSON.stringify(e)))}})}catch(e){i.warn(\"[SnapErrorTracker] Failed to track error via snap:\",e)}}async captureError({error:e,method:t,requestParams:r}){if(!this.#o||!this.#l(e))return;const n=this.#u(e,t,r);await this.#d(n)}}var ie=r(427);const oe=429;class ae extends Error{constructor(e){super(e),this.name=\"NonceRetrievalError\"}}class ce extends Error{constructor(e){super(e),this.name=\"SignInError\"}}class le extends Error{constructor(e){super(e),this.name=\"PairError\"}}class ue extends Error{constructor(e){super(e),this.name=\"UserStorageError\"}}class de extends Error{constructor(e){super(e),this.name=\"ValidationError\"}}class he extends Error{constructor(e){super(e),this.name=\"UnsupportedAuthTypeError\"}}class fe extends Error{constructor(e){super(e),this.name=\"NotFoundError\"}}class pe extends Error{constructor(e,t){super(e),this.status=oe,this.name=\"RateLimitedError\",this.retryAfterMs=t}static isRateLimitError(e){return e instanceof pe||\"object\"==typeof e&&null!==e&&\"status\"in e&&e.status===oe}}function me(e){const t=e;return!!t&&(!(!t?.token||!t?.profile)&&!function(e){try{const t=e.split(\".\");if(3!==t.length)return!0;const r=t[1].replace(/-/gu,\"+\").replace(/_/gu,\"/\"),{exp:n}=JSON.parse(atob(r));return!Number.isInteger(n)||1e3*n<=Date.now()}catch{return!0}}(t.token.accessToken))}var ge,ye;!function(e){e.DEV=\"dev\",e.UAT=\"uat\",e.PRD=\"prd\"}(ge||(ge={})),function(e){e.MOBILE=\"mobile\",e.EXTENSION=\"extension\",e.PORTFOLIO=\"portfolio\",e.INFURA=\"infura\"}(ye||(ye={}));const be={dev:{authApiUrl:\"https://authentication.dev-api.cx.metamask.io\",oidcApiUrl:\"https://oidc.dev-api.cx.metamask.io\",userStorageApiUrl:\"https://user-storage.dev-api.cx.metamask.io\"},uat:{authApiUrl:\"https://authentication.uat-api.cx.metamask.io\",oidcApiUrl:\"https://oidc.uat-api.cx.metamask.io\",userStorageApiUrl:\"https://user-storage.uat-api.cx.metamask.io\"},prd:{authApiUrl:\"https://authentication.api.cx.metamask.io\",oidcApiUrl:\"https://oidc.api.cx.metamask.io\",userStorageApiUrl:\"https://user-storage.api.cx.metamask.io\"}};function ve(e){if(!be[e])throw new Error(\"invalid environment configuration\");return be[e]}var we;!function(e){e.SRP=\"SRP\",e.SiWE=\"SiWE\"}(we||(we={}));async function Ae(e,t,r){if(e instanceof pe||e instanceof r)throw e;if(\"object\"!=typeof(n=e)||null===n||!(\"status\"in n)||!(\"headers\"in n)){throw new r(`${t}: ${e instanceof Error?e.message:String(e)}`)}var n;const s=e,{status:i}=s,o=await async function(e){const{status:t}=e,r=e.clone();let n=\"Unknown error\",s=\"unknown\";try{const t=await e.json();n=\"message\"in t?t.message:t.error_description,s=t.error??\"unknown\"}catch{try{const e=await r.text();n=e?e.slice(0,150):\"Non-JSON error response\",s=\"non_json_response\"}catch{n=\"Unable to parse error response\",s=\"unparseable_response\"}}return`HTTP ${t} - ${n} (error: ${s})`}(s);if(i===oe){const e=function(e){if(!e)return null;const t=Number(e);if(!Number.isNaN(t))return 1e3*t;const r=Date.parse(e);if(!Number.isNaN(r)){const e=r-Date.now();return e>0?e:null}return null}(s.headers.get(\"Retry-After\"));throw new pe(`${t}: ${o}`,e??void 0)}throw new r(`${t}: ${o}`)}const Ee=e=>`${ve(e).authApiUrl}/api/v2/siwe/login`,xe=(e,t)=>{switch(e){case we.SRP:return(e=>`${ve(e).authApiUrl}/api/v2/srp/login`)(t);case we.SiWE:return Ee(t);default:throw new de(`Invalid AuthType: ${e} - unable to create Auth URL`)}},Te=e=>e.map(e=>({aliasProfileId:e.alias_profile_id,canonicalProfileId:e.canonical_profile_id,identifierIds:e.identifier_ids??[]}));async function ke(e,t,r,n){const s=new URL((e=>`${ve(e).authApiUrl}/api/v2/identifiers/pair`)(n));try{const n=await fetch(s,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${r}`},body:JSON.stringify({nonce:e,logins:t})});return n.ok?void 0:await Ae(n,\"Failed to pair identifiers\",le)}catch(e){return await Ae(e,\"Failed to pair identifiers\",le)}}async function Se(e,t,r){const n=new URL((e=>`${ve(e).authApiUrl}/api/v2/profile/pair`)(r));try{const r=await fetch(n,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${t}`},body:JSON.stringify({jwts:e})});if(!r.ok)return await Ae(r,\"Failed to pair profiles\",le);const s=await r.json();return function(e){if(!e||\"object\"!=typeof e)throw new Error(\"validatePairResponse: input is not an object\");const t=e.profile;if(!t||\"object\"!=typeof t)throw new Error(\"validatePairResponse: profile is missing or not an object\");if(\"string\"!=typeof t.profile_id||!t.profile_id)throw new Error(\"validatePairResponse: profile.profile_id is missing or empty\");if(\"string\"!=typeof t.identifier_id||!t.identifier_id)throw new Error(\"validatePairResponse: profile.identifier_id is missing or empty\")}(s),{profile:{identifierId:s.profile.identifier_id,metaMetricsId:s.profile.metametrics_id??\"\",profileId:s.profile.profile_id,canonicalProfileId:s.profile.profile_id},profileAliases:Te(s.profile_aliases??[])}}catch(e){return await Ae(e,\"Failed to pair profiles\",le)}}async function Ce(e,t){const r=new URL((e=>`${ve(e).authApiUrl}/api/v2/nonce`)(t));r.searchParams.set(\"identifier\",e);try{const e=await fetch(r.toString());if(!e.ok)return await Ae(e,\"Failed to get nonce\",ae);const t=await e.json();return{nonce:t.nonce,identifier:t.identifier,expiresIn:t.expires_in}}catch(e){return await Ae(e,\"Failed to get nonce\",ae)}}async function Ie(e,t,r){const n={\"Content-Type\":\"application/x-www-form-urlencoded\"},s=new URLSearchParams;s.append(\"grant_type\",\"urn:ietf:params:oauth:grant-type:jwt-bearer\"),s.append(\"client_id\",function(e,t){const r={[ge.DEV]:{[ye.PORTFOLIO]:\"c7ca94a0-5d52-4635-9502-1a50a9c410cc\",[ye.MOBILE]:\"e83c7cc9-267d-4fb4-8fec-f0e3bbe5ae8e\",[ye.EXTENSION]:\"f1a963d7-50dc-4cb5-8d81-f1f3654f0df3\",[ye.INFURA]:\"bd887006-0d55-481a-a395-5ff9a0dc52c9\"},[ge.UAT]:{[ye.PORTFOLIO]:\"8f2dd4ac-db07-4819-9ba5-1ee0ec1b56d1\",[ye.MOBILE]:\"c3cfdcd2-51d6-4fae-ad2c-ff238c8fef53\",[ye.EXTENSION]:\"a9de167c-c9a6-43d8-af39-d301fd44c485\",[ye.INFURA]:\"01929890-7002-4c97-9913-8f6c09a6d674\"},[ge.PRD]:{[ye.PORTFOLIO]:\"35e1cd62-49c5-4be8-8b6e-a5212f2d2cfb\",[ye.MOBILE]:\"75fa62a3-9ca0-4b91-9fe5-76bec86b0257\",[ye.EXTENSION]:\"1132f10a-b4e5-4390-a5f2-d9c6022db564\",[ye.INFURA]:\"fdde9417-e193-4d23-9943-a8346b18d097\"}};if(!r[e])throw new Error(`invalid env ${e}: cannot determine oidc client id`);if(!r[e][t])throw new Error(`invalid env ${e} and platform ${t} combination: cannot determine oidc client id`);return r[e][t]}(t,r)),s.append(\"assertion\",e);try{const e=await fetch((e=>`${ve(e).oidcApiUrl}/oauth2/token`)(t),{method:\"POST\",headers:n,body:s.toString()});if(!e.ok)return await Ae(e,\"Failed to get access token\",ce);const r=await e.json();return{accessToken:r.access_token,expiresIn:r.expires_in,obtainedAt:Date.now()}}catch(e){return await Ae(e,\"Failed to get access token\",ce)}}async function Pe(e,t,r,n,s){const i=xe(r,n);try{const n=await fetch(i,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",...r===we.SRP?{\"X-MetaMask-Profile-Pairing\":\"enabled\"}:{}},body:JSON.stringify({signature:t,raw_message:e,...s?{metametrics:{metametrics_id:await s.getMetaMetricsId(),agent:s.agent,app_version:await(s.getAppVersion?.())}}:{}})});if(!n.ok)return await Ae(n,`Failed to login with ${r}`,ce);const o=await n.json();return{token:o.token,expiresIn:o.expires_in,profile:{identifierId:o.profile.identifier_id,metaMetricsId:o.profile.metametrics_id,profileId:o.profile.profile_id,canonicalProfileId:o.profile.profile_id},profileAliases:Te(o.profile_aliases??[])}}catch(e){return await Ae(e,`Failed to login with ${r}`,ce)}}async function Me(e,t){const r=new URL((e=>`${ve(e).authApiUrl}/api/v2/profile/lineage`)(e));try{const e=await fetch(r,{method:\"GET\",headers:{Authorization:`Bearer ${t}`}});if(!e.ok)return await Ae(e,\"Failed to get profile lineage\",ce);return await e.json()}catch(e){return await Ae(e,\"Failed to get profile lineage\",ce)}}var Re,Be,Ne,Oe,_e,Le,De,Fe,Ue=function(e,t,r,n,s){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!s)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof t?e!==t||!s:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?s.call(e,r):s?s.value=r:t.set(e,r),r},je=function(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)};class He{constructor(e,t){Re.add(this),Be.set(this,void 0),Ne.set(this,void 0),Oe.set(this,void 0),Ue(this,Be,e,\"f\"),Ue(this,Ne,t,\"f\")}async getAccessToken(){const e=await je(this,Re,\"m\",_e).call(this);if(e)return e.token.accessToken;return(await je(this,Re,\"m\",Le).call(this)).token.accessToken}async getUserProfile(){const e=await je(this,Re,\"m\",_e).call(this);if(e)return e.profile;return(await je(this,Re,\"m\",Le).call(this)).profile}async getIdentifier(){return je(this,Re,\"m\",Fe).call(this,je(this,Oe,\"f\")),je(this,Oe,\"f\").address}async getUserProfileLineage(){const e=await this.getAccessToken();return await Me(je(this,Be,\"f\").env,e)}async signMessage(e){return je(this,Re,\"m\",Fe).call(this,je(this,Oe,\"f\")),await je(this,Oe,\"f\").signMessage(e)}prepare(e){Ue(this,Oe,e,\"f\")}}Be=new WeakMap,Ne=new WeakMap,Oe=new WeakMap,Re=new WeakSet,_e=async function(){const e=await je(this,Ne,\"f\").storage.getLoginResponse();if(!me(e))return null;return Date.now()-e.token.obtainedAt<1e3*e.token.expiresIn*.9?e:null},Le=async function(){je(this,Re,\"m\",Fe).call(this,je(this,Oe,\"f\"));const e=await this.getIdentifier(),t=await Ce(e,je(this,Be,\"f\").env),r=je(this,Re,\"m\",De).call(this,t.nonce),n=await this.signMessage(r),s=await Pe(r,n,je(this,Be,\"f\").type,je(this,Be,\"f\").env),i=await Ie(s.token,je(this,Be,\"f\").env,je(this,Be,\"f\").platform),o={profile:s.profile,token:i};return await je(this,Ne,\"f\").storage.setLoginResponse(o),o},De=function(e){return je(this,Re,\"m\",Fe).call(this,je(this,Oe,\"f\")),new ie.SiweMessage({domain:je(this,Oe,\"f\")?.domain,address:je(this,Oe,\"f\")?.address,uri:Ee(je(this,Be,\"f\").env),version:\"1\",chainId:je(this,Oe,\"f\")?.chainId,nonce:e,issuedAt:(new Date).toISOString()}).prepareMessage()},Fe=function(e){if(!e)throw new de(\"you must call 'prepare()' before logging in\")};const ze={main:\"io.metamask\",flask:\"io.metamask.flask\",institutional:\"io.metamask.mmi\"},Ge={};const Ve=\"npm:@metamask/message-signing-snap\";const qe={getPublicKey:async(e,t)=>await e.request({method:\"wallet_invokeSnap\",params:{snapId:Ve,request:{method:\"getPublicKey\",...t?{params:{entropySourceId:t}}:{}}}}),signMessage:async(e,t,r)=>await(e?.request({method:\"wallet_invokeSnap\",params:{snapId:Ve,request:{method:\"signMessage\",params:{message:t,...r?{entropySourceId:r}:{}}}}}))};function Ke(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&\"Uint8Array\"===e.constructor.name}function We(e,...t){if(!Ke(e))throw new Error(\"Uint8Array expected\");if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function Je(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function $e(e,t){We(e);const r=t.outputLen;if(e.length<r)throw new Error(\"digestInto() expects output buffer of length at least \"+r)}function Ze(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Ye(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Xe(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Qe(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}const et=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));function tt(e){if(\"string\"==typeof e)e=function(e){if(\"string\"!=typeof e)throw new Error(\"string expected\");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!Ke(e))throw new Error(\"Uint8Array expected, got \"+typeof e);e=ut(e)}return e}function rt(e,t){return e.buffer===t.buffer&&e.byteOffset<t.byteOffset+t.byteLength&&t.byteOffset<e.byteOffset+e.byteLength}function nt(e,t){if(rt(e,t)&&e.byteOffset<t.byteOffset)throw new Error(\"complex overlap of input and output is not supported\")}function st(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return 0===r}const it=(e,t)=>{function r(r,...n){if(We(r),!et)throw new Error(\"Non little-endian hardware is not yet supported\");if(void 0!==e.nonceLength){const t=n[0];if(!t)throw new Error(\"nonce / iv required\");e.varSizeNonce?We(t):We(t,e.nonceLength)}const s=e.tagLength;s&&void 0!==n[1]&&We(n[1]);const i=t(r,...n),o=(e,t)=>{if(void 0!==t){if(2!==e)throw new Error(\"cipher output not supported\");We(t)}};let a=!1;return{encrypt(e,t){if(a)throw new Error(\"cannot encrypt() twice with same key + nonce\");return a=!0,We(e),o(i.encrypt.length,t),i.encrypt(e,t)},decrypt(e,t){if(We(e),s&&e.length<s)throw new Error(\"invalid ciphertext length: smaller than tagLength=\"+s);return o(i.decrypt.length,t),i.decrypt(e,t)}}}return Object.assign(r,e),r};function ot(e,t,r=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw new Error(\"invalid output length, expected \"+e+\", got: \"+t.length);if(r&&!lt(t))throw new Error(\"invalid output, must be aligned\");return t}function at(e,t,r,n){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,r,n);const s=BigInt(32),i=BigInt(4294967295),o=Number(r>>s&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+l,a,n)}function ct(e,t,r){!function(e){if(\"boolean\"!=typeof e)throw new Error(`boolean expected, not ${e}`)}(r);const n=new Uint8Array(16),s=Qe(n);return at(s,0,BigInt(t),r),at(s,8,BigInt(e),r),n}function lt(e){return e.byteOffset%4==0}function ut(e){return Uint8Array.from(e)}const dt=16,ht=new Uint8Array(16),ft=Ye(ht),pt=(e,t,r,n)=>({s3:r<<31|n>>>1,s2:t<<31|r>>>1,s1:e<<31|t>>>1,s0:e>>>1^225<<24&-(1&(1&n))}),mt=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class gt{constructor(e,t){this.blockLen=dt,this.outputLen=dt,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,We(e=tt(e),16);const r=Qe(e);let n=r.getUint32(0,!1),s=r.getUint32(4,!1),i=r.getUint32(8,!1),o=r.getUint32(12,!1);const a=[];for(let e=0;e<128;e++)a.push({s0:mt(n),s1:mt(s),s2:mt(i),s3:mt(o)}),({s0:n,s1:s,s2:i,s3:o}=pt(n,s,i,o));const c=(l=t||1024)>65536?8:l>1024?4:2;var l;if(![1,2,4,8].includes(c))throw new Error(\"ghash: invalid window size, expected 2, 4 or 8\");this.W=c;const u=128/c,d=this.windowSize=2**c,h=[];for(let e=0;e<u;e++)for(let t=0;t<d;t++){let r=0,n=0,s=0,i=0;for(let o=0;o<c;o++){if(!(t>>>c-o-1&1))continue;const{s0:l,s1:u,s2:d,s3:h}=a[c*e+o];r^=l,n^=u,s^=d,i^=h}h.push({s0:r,s1:n,s2:s,s3:i})}this.t=h}_updateBlock(e,t,r,n){e^=this.s0,t^=this.s1,r^=this.s2,n^=this.s3;const{W:s,t:i,windowSize:o}=this;let a=0,c=0,l=0,u=0;const d=(1<<s)-1;let h=0;for(const f of[e,t,r,n])for(let e=0;e<4;e++){const t=f>>>8*e&255;for(let e=8/s-1;e>=0;e--){const r=t>>>s*e&d,{s0:n,s1:f,s2:p,s3:m}=i[h*o+r];a^=n,c^=f,l^=p,u^=m,h+=1}}this.s0=a,this.s1=c,this.s2=l,this.s3=u}update(e){Je(this),We(e=tt(e));const t=Ye(e),r=Math.floor(e.length/dt),n=e.length%dt;for(let e=0;e<r;e++)this._updateBlock(t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]);return n&&(ht.set(e.subarray(r*dt)),this._updateBlock(ft[0],ft[1],ft[2],ft[3]),Xe(ft)),this}destroy(){const{t:e}=this;for(const t of e)t.s0=0,t.s1=0,t.s2=0,t.s3=0}digestInto(e){Je(this),$e(e,this),this.finished=!0;const{s0:t,s1:r,s2:n,s3:s}=this,i=Ye(e);return i[0]=t,i[1]=r,i[2]=n,i[3]=s,e}digest(){const e=new Uint8Array(dt);return this.digestInto(e),this.destroy(),e}}class yt extends gt{constructor(e,t){We(e=tt(e));const r=function(e){e.reverse();const t=1&e[15];let r=0;for(let t=0;t<e.length;t++){const n=e[t];e[t]=n>>>1|r,r=(1&n)<<7}return e[0]^=225&-t,e}(ut(e));super(r,t),Xe(r)}update(e){e=tt(e),Je(this);const t=Ye(e),r=e.length%dt,n=Math.floor(e.length/dt);for(let e=0;e<n;e++)this._updateBlock(mt(t[4*e+3]),mt(t[4*e+2]),mt(t[4*e+1]),mt(t[4*e+0]));return r&&(ht.set(e.subarray(n*dt)),this._updateBlock(mt(ft[3]),mt(ft[2]),mt(ft[1]),mt(ft[0])),Xe(ft)),this}digestInto(e){Je(this),$e(e,this),this.finished=!0;const{s0:t,s1:r,s2:n,s3:s}=this,i=Ye(e);return i[0]=t,i[1]=r,i[2]=n,i[3]=s,e.reverse()}}function bt(e){const t=(t,r)=>e(r,t.length).update(tt(t)).digest(),r=e(new Uint8Array(16),0);return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(t,r)=>e(t,r),t}const vt=bt((e,t)=>new gt(e,t)),wt=bt((e,t)=>new yt(e,t)),At=16,Et=new Uint8Array(At);function xt(e){return e<<1^283&-(e>>7)}function Tt(e,t){let r=0;for(;t>0;t>>=1)r^=e&-(1&t),e=xt(e);return r}const kt=(()=>{const e=new Uint8Array(256);for(let t=0,r=1;t<256;t++,r^=xt(r))e[t]=r;const t=new Uint8Array(256);t[0]=99;for(let r=0;r<255;r++){let n=e[255-r];n|=n<<8,t[e[r]]=255&(n^n>>4^n>>5^n>>6^n>>7^99)}return Xe(e),t})(),St=kt.map((e,t)=>kt.indexOf(t)),Ct=e=>e<<24|e>>>8,It=e=>e<<8|e>>>24,Pt=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Mt(e,t){if(256!==e.length)throw new Error(\"Wrong sbox length\");const r=new Uint32Array(256).map((r,n)=>t(e[n])),n=r.map(It),s=n.map(It),i=s.map(It),o=new Uint32Array(65536),a=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let l=0;l<256;l++){const u=256*t+l;o[u]=r[t]^n[l],a[u]=s[t]^i[l],c[u]=e[t]<<8|e[l]}return{sbox:e,sbox2:c,T0:r,T1:n,T2:s,T3:i,T01:o,T23:a}}const Rt=Mt(kt,e=>Tt(e,3)<<24|e<<16|e<<8|Tt(e,2)),Bt=Mt(St,e=>Tt(e,11)<<24|Tt(e,13)<<16|Tt(e,9)<<8|Tt(e,14)),Nt=(()=>{const e=new Uint8Array(16);for(let t=0,r=1;t<16;t++,r=xt(r))e[t]=r;return e})();function Ot(e){We(e);const t=e.length;if(![16,24,32].includes(t))throw new Error(\"aes: invalid key size, should be 16, 24 or 32, got \"+t);const{sbox2:r}=Rt,n=[];lt(e)||n.push(e=ut(e));const s=Ye(e),i=s.length,o=e=>Dt(r,e,e,e,e),a=new Uint32Array(t+28);a.set(s);for(let e=i;e<a.length;e++){let t=a[e-1];e%i===0?t=o(Ct(t))^Nt[e/i-1]:i>6&&e%i===4&&(t=o(t)),a[e]=a[e-i]^t}return Xe(...n),a}function _t(e){const t=Ot(e),r=t.slice(),n=t.length,{sbox2:s}=Rt,{T0:i,T1:o,T2:a,T3:c}=Bt;for(let e=0;e<n;e+=4)for(let s=0;s<4;s++)r[e+s]=t[n-e-4+s];Xe(t);for(let e=4;e<n-4;e++){const t=r[e],n=Dt(s,t,t,t,t);r[e]=i[255&n]^o[n>>>8&255]^a[n>>>16&255]^c[n>>>24]}return r}function Lt(e,t,r,n,s,i){return e[r<<8&65280|n>>>8&255]^t[s>>>8&65280|i>>>24&255]}function Dt(e,t,r,n,s){return e[255&t|65280&r]|e[n>>>16&255|s>>>16&65280]<<16}function Ft(e,t,r,n,s){const{sbox2:i,T01:o,T23:a}=Rt;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],s^=e[c++];const l=e.length/4-2;for(let i=0;i<l;i++){const i=e[c++]^Lt(o,a,t,r,n,s),l=e[c++]^Lt(o,a,r,n,s,t),u=e[c++]^Lt(o,a,n,s,t,r),d=e[c++]^Lt(o,a,s,t,r,n);t=i,r=l,n=u,s=d}return{s0:e[c++]^Dt(i,t,r,n,s),s1:e[c++]^Dt(i,r,n,s,t),s2:e[c++]^Dt(i,n,s,t,r),s3:e[c++]^Dt(i,s,t,r,n)}}function Ut(e,t,r,n,s){const{sbox2:i,T01:o,T23:a}=Bt;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],s^=e[c++];const l=e.length/4-2;for(let i=0;i<l;i++){const i=e[c++]^Lt(o,a,t,s,n,r),l=e[c++]^Lt(o,a,r,t,s,n),u=e[c++]^Lt(o,a,n,r,t,s),d=e[c++]^Lt(o,a,s,n,r,t);t=i,r=l,n=u,s=d}return{s0:e[c++]^Dt(i,t,s,n,r),s1:e[c++]^Dt(i,r,t,s,n),s2:e[c++]^Dt(i,n,r,t,s),s3:e[c++]^Dt(i,s,n,r,t)}}function jt(e,t,r,n){We(t,At),We(r);const s=r.length;nt(r,n=ot(s,n));const i=t,o=Ye(i);let{s0:a,s1:c,s2:l,s3:u}=Ft(e,o[0],o[1],o[2],o[3]);const d=Ye(r),h=Ye(n);for(let t=0;t+4<=d.length;t+=4){h[t+0]=d[t+0]^a,h[t+1]=d[t+1]^c,h[t+2]=d[t+2]^l,h[t+3]=d[t+3]^u;let r=1;for(let e=i.length-1;e>=0;e--)r=r+(255&i[e])|0,i[e]=255&r,r>>>=8;({s0:a,s1:c,s2:l,s3:u}=Ft(e,o[0],o[1],o[2],o[3]))}const f=At*Math.floor(d.length/4);if(f<s){const e=new Uint32Array([a,c,l,u]),t=Ze(e);for(let e=f,i=0;e<s;e++,i++)n[e]=r[e]^t[i];Xe(e)}return n}function Ht(e,t,r,n,s){We(r,At),We(n),s=ot(n.length,s);const i=r,o=Ye(i),a=Qe(i),c=Ye(n),l=Ye(s),u=t?0:12,d=n.length;let h=a.getUint32(u,t),{s0:f,s1:p,s2:m,s3:g}=Ft(e,o[0],o[1],o[2],o[3]);for(let r=0;r+4<=c.length;r+=4)l[r+0]=c[r+0]^f,l[r+1]=c[r+1]^p,l[r+2]=c[r+2]^m,l[r+3]=c[r+3]^g,h=h+1>>>0,a.setUint32(u,h,t),({s0:f,s1:p,s2:m,s3:g}=Ft(e,o[0],o[1],o[2],o[3]));const y=At*Math.floor(c.length/4);if(y<d){const e=new Uint32Array([f,p,m,g]),t=Ze(e);for(let e=y,r=0;e<d;e++,r++)s[e]=n[e]^t[r];Xe(e)}return s}it({blockSize:16,nonceLength:16},function(e,t){function r(r,n){if(We(r),void 0!==n&&(We(n),!lt(n)))throw new Error(\"unaligned destination\");const s=Ot(e),i=ut(t),o=[s,i];lt(r)||o.push(r=ut(r));const a=jt(s,i,r,n);return Xe(...o),a}return{encrypt:(e,t)=>r(e,t),decrypt:(e,t)=>r(e,t)}});function zt(e){if(We(e),e.length%At!==0)throw new Error(\"aes-(cbc/ecb).decrypt ciphertext should consist of blocks with size 16\")}function Gt(e,t,r){We(e);let n=e.length;const s=n%At;if(!t&&0!==s)throw new Error(\"aec/(cbc-ecb): unpadded plaintext with disabled padding\");lt(e)||(e=ut(e));const i=Ye(e);if(t){let e=At-s;e||(e=At),n+=e}nt(e,r=ot(n,r));return{b:i,o:Ye(r),out:r}}function Vt(e,t){if(!t)return e;const r=e.length;if(!r)throw new Error(\"aes/pcks5: empty ciphertext not allowed\");const n=e[r-1];if(n<=0||n>16)throw new Error(\"aes/pcks5: wrong padding\");const s=e.subarray(0,-n);for(let t=0;t<n;t++)if(e[r-t-1]!==n)throw new Error(\"aes/pcks5: wrong padding\");return s}function qt(e){const t=new Uint8Array(16),r=Ye(t);t.set(e);const n=At-e.length;for(let e=At-n;e<At;e++)t[e]=n;return r}it({blockSize:16},function(e,t={}){const r=!t.disablePadding;return{encrypt(t,n){const{b:s,o:i,out:o}=Gt(t,r,n),a=Ot(e);let c=0;for(;c+4<=s.length;){const{s0:e,s1:t,s2:r,s3:n}=Ft(a,s[c+0],s[c+1],s[c+2],s[c+3]);i[c++]=e,i[c++]=t,i[c++]=r,i[c++]=n}if(r){const e=qt(t.subarray(4*c)),{s0:r,s1:n,s2:s,s3:o}=Ft(a,e[0],e[1],e[2],e[3]);i[c++]=r,i[c++]=n,i[c++]=s,i[c++]=o}return Xe(a),o},decrypt(t,n){zt(t);const s=_t(e);n=ot(t.length,n);const i=[s];lt(t)||i.push(t=ut(t)),nt(t,n);const o=Ye(t),a=Ye(n);for(let e=0;e+4<=o.length;){const{s0:t,s1:r,s2:n,s3:i}=Ut(s,o[e+0],o[e+1],o[e+2],o[e+3]);a[e++]=t,a[e++]=r,a[e++]=n,a[e++]=i}return Xe(...i),Vt(n,r)}}}),it({blockSize:16,nonceLength:16},function(e,t,r={}){const n=!r.disablePadding;return{encrypt(r,s){const i=Ot(e),{b:o,o:a,out:c}=Gt(r,n,s);let l=t;const u=[i];lt(l)||u.push(l=ut(l));const d=Ye(l);let h=d[0],f=d[1],p=d[2],m=d[3],g=0;for(;g+4<=o.length;)h^=o[g+0],f^=o[g+1],p^=o[g+2],m^=o[g+3],({s0:h,s1:f,s2:p,s3:m}=Ft(i,h,f,p,m)),a[g++]=h,a[g++]=f,a[g++]=p,a[g++]=m;if(n){const e=qt(r.subarray(4*g));h^=e[0],f^=e[1],p^=e[2],m^=e[3],({s0:h,s1:f,s2:p,s3:m}=Ft(i,h,f,p,m)),a[g++]=h,a[g++]=f,a[g++]=p,a[g++]=m}return Xe(...u),c},decrypt(r,s){zt(r);const i=_t(e);let o=t;const a=[i];lt(o)||a.push(o=ut(o));const c=Ye(o);s=ot(r.length,s),lt(r)||a.push(r=ut(r)),nt(r,s);const l=Ye(r),u=Ye(s);let d=c[0],h=c[1],f=c[2],p=c[3];for(let e=0;e+4<=l.length;){const t=d,r=h,n=f,s=p;d=l[e+0],h=l[e+1],f=l[e+2],p=l[e+3];const{s0:o,s1:a,s2:c,s3:m}=Ut(i,d,h,f,p);u[e++]=o^t,u[e++]=a^r,u[e++]=c^n,u[e++]=m^s}return Xe(...a),Vt(s,n)}}}),it({blockSize:16,nonceLength:16},function(e,t){function r(r,n,s){We(r);const i=r.length;if(rt(r,s=ot(i,s)))throw new Error(\"overlapping src and dst not supported.\");const o=Ot(e);let a=t;const c=[o];lt(a)||c.push(a=ut(a)),lt(r)||c.push(r=ut(r));const l=Ye(r),u=Ye(s),d=n?u:l,h=Ye(a);let f=h[0],p=h[1],m=h[2],g=h[3];for(let e=0;e+4<=l.length;){const{s0:t,s1:r,s2:n,s3:s}=Ft(o,f,p,m,g);u[e+0]=l[e+0]^t,u[e+1]=l[e+1]^r,u[e+2]=l[e+2]^n,u[e+3]=l[e+3]^s,f=d[e++],p=d[e++],m=d[e++],g=d[e++]}const y=At*Math.floor(l.length/4);if(y<i){({s0:f,s1:p,s2:m,s3:g}=Ft(o,f,p,m,g));const e=Ze(new Uint32Array([f,p,m,g]));for(let t=y,n=0;t<i;t++,n++)s[t]=r[t]^e[n];Xe(e)}return Xe(...c),s}return{encrypt:(e,t)=>r(e,!0,t),decrypt:(e,t)=>r(e,!1,t)}});function Kt(e,t,r,n,s){const i=s?s.length:0,o=e.create(r,n.length+i);s&&o.update(s);const a=ct(8*n.length,8*i,t);o.update(n),o.update(a);const c=o.digest();return Xe(a),c}const Wt=it({blockSize:16,nonceLength:12,tagLength:16,varSizeNonce:!0},function(e,t,r){if(t.length<8)throw new Error(\"aes/gcm: invalid nonce length\");function n(e,t,n){const s=Kt(vt,!1,e,n,r);for(let e=0;e<t.length;e++)s[e]^=t[e];return s}function s(){const r=Ot(e),n=Et.slice(),s=Et.slice();if(Ht(r,!1,s,s,n),12===t.length)s.set(t);else{const e=Et.slice();at(Qe(e),8,BigInt(8*t.length),!1);const r=vt.create(n).update(t).update(e);r.digestInto(s),r.destroy()}return{xk:r,authKey:n,counter:s,tagMask:Ht(r,!1,s,Et)}}return{encrypt(e){const{xk:t,authKey:r,counter:i,tagMask:o}=s(),a=new Uint8Array(e.length+16),c=[t,r,i,o];lt(e)||c.push(e=ut(e)),Ht(t,!1,i,e,a.subarray(0,e.length));const l=n(r,o,a.subarray(0,a.length-16));return c.push(l),a.set(l,e.length),Xe(...c),a},decrypt(e){const{xk:t,authKey:r,counter:i,tagMask:o}=s(),a=[t,r,o,i];lt(e)||a.push(e=ut(e));const c=e.subarray(0,-16),l=e.subarray(-16),u=n(r,o,c);if(a.push(u),!st(u,l))throw new Error(\"aes/gcm: invalid ghash tag\");const d=Ht(t,!1,i,c);return Xe(...a),d}}}),Jt=(e,t,r)=>n=>{if(!Number.isSafeInteger(n)||t>n||n>r){throw new Error(e+\": expected value in range \"+(\"[\"+t+\"..\"+r+\"]\")+\", got \"+n)}};it({blockSize:16,nonceLength:12,tagLength:16,varSizeNonce:!0},function(e,t,r){const n=Jt(\"AAD\",0,2**36),s=Jt(\"plaintext\",0,2**36),i=Jt(\"nonce\",12,12),o=Jt(\"ciphertext\",16,2**36+16);function a(){const r=Ot(e),n=new Uint8Array(e.length),s=new Uint8Array(16),i=[r,n];let o=t;lt(o)||i.push(o=ut(o));const a=Ye(o);let c=0,l=a[0],u=a[1],d=a[2],h=0;for(const e of[s,n].map(Ye)){const t=Ye(e);for(let e=0;e<t.length;e+=2){const{s0:n,s1:s}=Ft(r,c,l,u,d);t[e+0]=n,t[e+1]=s,c=++h}}const f={authKey:s,encKey:Ot(n)};return Xe(...i),f}function c(e,n,s){const i=Kt(wt,!0,n,s,r);for(let e=0;e<12;e++)i[e]^=t[e];i[15]&=127;const o=Ye(i);let a=o[0],c=o[1],l=o[2],u=o[3];return({s0:a,s1:c,s2:l,s3:u}=Ft(e,a,c,l,u)),o[0]=a,o[1]=c,o[2]=l,o[3]=u,i}function l(e,t,r){let n=ut(t);n[15]|=128;const s=Ht(e,!0,n,r);return Xe(n),s}return We(e,16,24,32),i(t.length),void 0!==r&&n(r.length),{encrypt(e){s(e.length);const{encKey:t,authKey:r}=a(),n=c(t,r,e),i=[t,r,n];lt(e)||i.push(e=ut(e));const o=new Uint8Array(e.length+16);return o.set(n,e.length),o.set(l(t,n,e)),Xe(...i),o},decrypt(e){o(e.length);const t=e.subarray(-16),{encKey:r,authKey:n}=a(),s=[r,n];lt(e)||s.push(e=ut(e));const i=l(r,t,e.subarray(0,-16)),u=c(r,n,i);if(s.push(u),!st(t,u))throw Xe(...s),new Error(\"invalid polyval tag\");return Xe(...s),i}}});function $t(e){return e instanceof Uint32Array||ArrayBuffer.isView(e)&&\"Uint32Array\"===e.constructor.name}function Zt(e,t){if(We(t,16),!$t(e))throw new Error(\"_encryptBlock accepts result of expandKeyLE\");const r=Ye(t);let{s0:n,s1:s,s2:i,s3:o}=Ft(e,r[0],r[1],r[2],r[3]);return r[0]=n,r[1]=s,r[2]=i,r[3]=o,t}function Yt(e,t){if(We(t,16),!$t(e))throw new Error(\"_decryptBlock accepts result of expandKeyLE\");const r=Ye(t);let{s0:n,s1:s,s2:i,s3:o}=Ut(e,r[0],r[1],r[2],r[3]);return r[0]=n,r[1]=s,r[2]=i,r[3]=o,t}const Xt={encrypt(e,t){if(t.length>=2**32)throw new Error(\"plaintext should be less than 4gb\");const r=Ot(e);if(16===t.length)Zt(r,t);else{const e=Ye(t);let n=e[0],s=e[1];for(let t=0,i=1;t<6;t++)for(let t=2;t<e.length;t+=2,i++){const{s0:o,s1:a,s2:c,s3:l}=Ft(r,n,s,e[t],e[t+1]);n=o,s=a^Pt(i),e[t]=c,e[t+1]=l}e[0]=n,e[1]=s}r.fill(0)},decrypt(e,t){if(t.length-8>=2**32)throw new Error(\"ciphertext should be less than 4gb\");const r=_t(e),n=t.length/8-1;if(1===n)Yt(r,t);else{const e=Ye(t);let s=e[0],i=e[1];for(let t=0,o=6*n;t<6;t++)for(let t=2*n;t>=1;t-=2,o--){i^=Pt(o);const{s0:n,s1:a,s2:c,s3:l}=Ut(r,s,i,e[t],e[t+1]);s=n,i=a,e[t]=c,e[t+1]=l}e[0]=s,e[1]=i}r.fill(0)}},Qt=new Uint8Array(8).fill(166),er=(it({blockSize:8},e=>({encrypt(t){if(!t.length||t.length%8!=0)throw new Error(\"invalid plaintext length\");if(8===t.length)throw new Error(\"8-byte keys not allowed in AESKW, use AESKWP instead\");const r=function(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];We(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const s=e[t];r.set(s,n),n+=s.length}return r}(Qt,t);return Xt.encrypt(e,r),r},decrypt(t){if(t.length%8!=0||t.length<24)throw new Error(\"invalid ciphertext length\");const r=ut(t);if(Xt.decrypt(e,r),!st(r.subarray(0,8),Qt))throw new Error(\"integrity check failed\");return r.subarray(0,8).fill(0),r.subarray(8)}})),2790873510),tr=(it({blockSize:8},e=>({encrypt(t){if(!t.length)throw new Error(\"invalid plaintext length\");const r=8*Math.ceil(t.length/8),n=new Uint8Array(8+r);n.set(t,8);const s=Ye(n);return s[0]=er,s[1]=Pt(t.length),Xt.encrypt(e,n),n},decrypt(t){if(t.length<16)throw new Error(\"invalid ciphertext length\");const r=ut(t),n=Ye(r);Xt.decrypt(e,r);const s=Pt(n[1])>>>0,i=8*Math.ceil(s/8);if(n[0]!==er||r.length-8!==i)throw new Error(\"integrity check failed\");for(let e=s;e<i;e++)if(0!==r[8+e])throw new Error(\"integrity check failed\");return r.subarray(0,8).fill(0),r.subarray(8,8+s)}})),\"object\"==typeof globalThis&&\"crypto\"in globalThis?globalThis.crypto:void 0);function rr(e=32){if(tr&&\"function\"==typeof tr.getRandomValues)return tr.getRandomValues(new Uint8Array(e));if(tr&&\"function\"==typeof tr.randomBytes)return Uint8Array.from(tr.randomBytes(e));throw new Error(\"crypto.getRandomValues must be defined\")}function nr(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(\"positive integer expected, got \"+e)}function sr(e,...t){if(!((r=e)instanceof Uint8Array||ArrayBuffer.isView(r)&&\"Uint8Array\"===r.constructor.name))throw new Error(\"Uint8Array expected\");var r;if(t.length>0&&!t.includes(e.length))throw new Error(\"Uint8Array expected of length \"+t+\", got length=\"+e.length)}function ir(e){if(\"function\"!=typeof e||\"function\"!=typeof e.create)throw new Error(\"Hash should be wrapped by utils.createHasher\");nr(e.outputLen),nr(e.blockLen)}function or(e,t=!0){if(e.destroyed)throw new Error(\"Hash instance has been destroyed\");if(t&&e.finished)throw new Error(\"Hash#digest() has already been called\")}function ar(e,t){sr(e);const r=t.outputLen;if(e.length<r)throw new Error(\"digestInto() expects output buffer of length at least \"+r)}function cr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function lr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ur(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function dr(e,t){return e<<32-t|e>>>t}function hr(e,t){return e<<t|e>>>32-t>>>0}const fr=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function pr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const mr=fr?e=>e:function(e){for(let t=0;t<e.length;t++)e[t]=pr(e[t]);return e},gr=\"function\"==typeof Uint8Array.from([]).toHex&&\"function\"==typeof Uint8Array.fromHex,yr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,\"0\"));const br=async()=>{};async function vr(e,t,r){let n=Date.now();for(let s=0;s<e;s++){r(s);const e=Date.now()-n;e>=0&&e<t||(await br(),n+=e)}}function wr(e){if(\"string\"!=typeof e)throw new Error(\"string expected\");return new Uint8Array((new TextEncoder).encode(e))}function Ar(e){return\"string\"==typeof e&&(e=wr(e)),sr(e),e}function Er(e){return\"string\"==typeof e&&(e=wr(e)),sr(e),e}function xr(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];sr(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const s=e[t];r.set(s,n),n+=s.length}return r}function Tr(e,t){if(void 0!==t&&\"[object Object]\"!=={}.toString.call(t))throw new Error(\"options should be object or undefined\");return Object.assign(e,t)}class kr{}function Sr(e){const t=t=>e().update(Ar(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}class Cr extends kr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,ir(e);const r=Ar(t);if(this.iHash=e.create(),\"function\"!=typeof this.iHash.update)throw new Error(\"Expected instance of class which extends utils.Hash\");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,s=new Uint8Array(n);s.set(r.length>n?e.create().update(r).digest():r);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),lr(s)}update(e){return or(this),this.iHash.update(e),this}digestInto(e){or(this),sr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:r,finished:n,destroyed:s,blockLen:i,outputLen:o}=this;return e.finished=n,e.destroyed=s,e.blockLen=i,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Ir=(e,t,r)=>new Cr(e,t).update(r).digest();function Pr(e,t,r,n){ir(e);const s=Tr({dkLen:32,asyncTick:10},n),{c:i,dkLen:o,asyncTick:a}=s;if(nr(i),nr(o),nr(a),i<1)throw new Error(\"iterations (c) should be >= 1\");const c=Er(t),l=Er(r),u=new Uint8Array(o),d=Ir.create(e,c),h=d._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:u,PRF:d,PRFSalt:h}}function Mr(e,t,r,n,s){return e.destroy(),t.destroy(),n&&n.destroy(),lr(s),r}function Rr(e,t,r,n){const{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=Pr(e,t,r,n);let l;const u=new Uint8Array(4),d=ur(u),h=new Uint8Array(a.outputLen);for(let e=1,t=0;t<i;e++,t+=a.outputLen){const r=o.subarray(t,t+a.outputLen);d.setInt32(0,e,!1),(l=c._cloneInto(l)).update(u).digestInto(h),r.set(h.subarray(0,r.length));for(let e=1;e<s;e++){a._cloneInto(l).update(h).digestInto(h);for(let e=0;e<r.length;e++)r[e]^=h[e]}}return Mr(a,c,o,l,h)}function Br(e,t,r){return e&t^~e&r}function Nr(e,t,r){return e&t^e&r^t&r}Ir.create=(e,t)=>new Cr(e,t);class Or extends kr{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=ur(this.buffer)}update(e){or(this),sr(e=Ar(e));const{view:t,buffer:r,blockLen:n}=this,s=e.length;for(let i=0;i<s;){const o=Math.min(n-this.pos,s-i);if(o===n){const t=ur(e);for(;n<=s-i;i+=n)this.process(t,i);continue}r.set(e.subarray(i,i+o),this.pos),this.pos+=o,i+=o,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){or(this),ar(e,this),this.finished=!0;const{buffer:t,view:r,blockLen:n,isLE:s}=this;let{pos:i}=this;t[i++]=128,lr(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(r,0),i=0);for(let e=i;e<n;e++)t[e]=0;!function(e,t,r,n){if(\"function\"==typeof e.setBigUint64)return e.setBigUint64(t,r,n);const s=BigInt(32),i=BigInt(4294967295),o=Number(r>>s&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,o,n),e.setUint32(t+l,a,n)}(r,n-8,BigInt(8*this.length),s),this.process(r,0);const o=ur(e),a=this.outputLen;if(a%4)throw new Error(\"_sha2: outputLen should be aligned to 32bit\");const c=a/4,l=this.get();if(c>l.length)throw new Error(\"_sha2: outputLen bigger than state\");for(let e=0;e<c;e++)o.setUint32(4*e,l[e],s)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:r,length:n,finished:s,destroyed:i,pos:o}=this;return e.destroyed=i,e.finished=s,e.length=n,e.pos=o,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}}const _r=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Lr=(Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),BigInt(2**32-1)),Dr=BigInt(32);function Fr(e,t=!1){return t?{h:Number(e&Lr),l:Number(e>>Dr&Lr)}:{h:0|Number(e>>Dr&Lr),l:0|Number(e&Lr)}}function Ur(e,t=!1){const r=e.length;let n=new Uint32Array(r),s=new Uint32Array(r);for(let i=0;i<r;i++){const{h:r,l:o}=Fr(e[i],t);[n[i],s[i]]=[r,o]}return[n,s]}const jr=(e,t,r)=>e<<r|t>>>32-r,Hr=(e,t,r)=>t<<r|e>>>32-r,zr=(e,t,r)=>t<<r-32|e>>>64-r,Gr=(e,t,r)=>e<<r-32|t>>>64-r;const Vr=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),qr=new Uint32Array(64);class Kr extends Or{constructor(e=32){super(64,e,8,!1),this.A=0|_r[0],this.B=0|_r[1],this.C=0|_r[2],this.D=0|_r[3],this.E=0|_r[4],this.F=0|_r[5],this.G=0|_r[6],this.H=0|_r[7]}get(){const{A:e,B:t,C:r,D:n,E:s,F:i,G:o,H:a}=this;return[e,t,r,n,s,i,o,a]}set(e,t,r,n,s,i,o,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|s,this.F=0|i,this.G=0|o,this.H=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)qr[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=qr[e-15],r=qr[e-2],n=dr(t,7)^dr(t,18)^t>>>3,s=dr(r,17)^dr(r,19)^r>>>10;qr[e]=s+qr[e-7]+n+qr[e-16]|0}let{A:r,B:n,C:s,D:i,E:o,F:a,G:c,H:l}=this;for(let e=0;e<64;e++){const t=l+(dr(o,6)^dr(o,11)^dr(o,25))+Br(o,a,c)+Vr[e]+qr[e]|0,u=(dr(r,2)^dr(r,13)^dr(r,22))+Nr(r,n,s)|0;l=c,c=a,a=o,o=i+t|0,i=s,s=n,n=r,r=t+u|0}r=r+this.A|0,n=n+this.B|0,s=s+this.C|0,i=i+this.D|0,o=o+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,s,i,o,a,c,l)}roundClean(){lr(qr)}destroy(){this.set(0,0,0,0,0,0,0,0),lr(this.buffer)}}const Wr=Ur([\"0x428a2f98d728ae22\",\"0x7137449123ef65cd\",\"0xb5c0fbcfec4d3b2f\",\"0xe9b5dba58189dbbc\",\"0x3956c25bf348b538\",\"0x59f111f1b605d019\",\"0x923f82a4af194f9b\",\"0xab1c5ed5da6d8118\",\"0xd807aa98a3030242\",\"0x12835b0145706fbe\",\"0x243185be4ee4b28c\",\"0x550c7dc3d5ffb4e2\",\"0x72be5d74f27b896f\",\"0x80deb1fe3b1696b1\",\"0x9bdc06a725c71235\",\"0xc19bf174cf692694\",\"0xe49b69c19ef14ad2\",\"0xefbe4786384f25e3\",\"0x0fc19dc68b8cd5b5\",\"0x240ca1cc77ac9c65\",\"0x2de92c6f592b0275\",\"0x4a7484aa6ea6e483\",\"0x5cb0a9dcbd41fbd4\",\"0x76f988da831153b5\",\"0x983e5152ee66dfab\",\"0xa831c66d2db43210\",\"0xb00327c898fb213f\",\"0xbf597fc7beef0ee4\",\"0xc6e00bf33da88fc2\",\"0xd5a79147930aa725\",\"0x06ca6351e003826f\",\"0x142929670a0e6e70\",\"0x27b70a8546d22ffc\",\"0x2e1b21385c26c926\",\"0x4d2c6dfc5ac42aed\",\"0x53380d139d95b3df\",\"0x650a73548baf63de\",\"0x766a0abb3c77b2a8\",\"0x81c2c92e47edaee6\",\"0x92722c851482353b\",\"0xa2bfe8a14cf10364\",\"0xa81a664bbc423001\",\"0xc24b8b70d0f89791\",\"0xc76c51a30654be30\",\"0xd192e819d6ef5218\",\"0xd69906245565a910\",\"0xf40e35855771202a\",\"0x106aa07032bbd1b8\",\"0x19a4c116b8d2d0c8\",\"0x1e376c085141ab53\",\"0x2748774cdf8eeb99\",\"0x34b0bcb5e19b48a8\",\"0x391c0cb3c5c95a63\",\"0x4ed8aa4ae3418acb\",\"0x5b9cca4f7763e373\",\"0x682e6ff3d6b2b8a3\",\"0x748f82ee5defb2fc\",\"0x78a5636f43172f60\",\"0x84c87814a1f0ab72\",\"0x8cc702081a6439ec\",\"0x90befffa23631e28\",\"0xa4506cebde82bde9\",\"0xbef9a3f7b2c67915\",\"0xc67178f2e372532b\",\"0xca273eceea26619c\",\"0xd186b8c721c0c207\",\"0xeada7dd6cde0eb1e\",\"0xf57d4f7fee6ed178\",\"0x06f067aa72176fba\",\"0x0a637dc5a2c898a6\",\"0x113f9804bef90dae\",\"0x1b710b35131c471b\",\"0x28db77f523047d84\",\"0x32caab7b40c72493\",\"0x3c9ebe0a15c9bebc\",\"0x431d67c49c100d4c\",\"0x4cc5d4becb3e42b6\",\"0x597f299cfc657e2a\",\"0x5fcb6fab3ad6faec\",\"0x6c44198c4a475817\"].map(e=>BigInt(e)));Wr[0],Wr[1],new Uint32Array(80),new Uint32Array(80);Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);const Jr=Sr(()=>new Kr);function $r(e,t,r,n,s,i){let o=e[t++]^r[n++],a=e[t++]^r[n++],c=e[t++]^r[n++],l=e[t++]^r[n++],u=e[t++]^r[n++],d=e[t++]^r[n++],h=e[t++]^r[n++],f=e[t++]^r[n++],p=e[t++]^r[n++],m=e[t++]^r[n++],g=e[t++]^r[n++],y=e[t++]^r[n++],b=e[t++]^r[n++],v=e[t++]^r[n++],w=e[t++]^r[n++],A=e[t++]^r[n++],E=o,x=a,T=c,k=l,S=u,C=d,I=h,P=f,M=p,R=m,B=g,N=y,O=b,_=v,L=w,D=A;for(let e=0;e<8;e+=2)S^=hr(E+O|0,7),M^=hr(S+E|0,9),O^=hr(M+S|0,13),E^=hr(O+M|0,18),R^=hr(C+x|0,7),_^=hr(R+C|0,9),x^=hr(_+R|0,13),C^=hr(x+_|0,18),L^=hr(B+I|0,7),T^=hr(L+B|0,9),I^=hr(T+L|0,13),B^=hr(I+T|0,18),k^=hr(D+N|0,7),P^=hr(k+D|0,9),N^=hr(P+k|0,13),D^=hr(N+P|0,18),x^=hr(E+k|0,7),T^=hr(x+E|0,9),k^=hr(T+x|0,13),E^=hr(k+T|0,18),I^=hr(C+S|0,7),P^=hr(I+C|0,9),S^=hr(P+I|0,13),C^=hr(S+P|0,18),N^=hr(B+R|0,7),M^=hr(N+B|0,9),R^=hr(M+N|0,13),B^=hr(R+M|0,18),O^=hr(D+L|0,7),_^=hr(O+D|0,9),L^=hr(_+O|0,13),D^=hr(L+_|0,18);s[i++]=o+E|0,s[i++]=a+x|0,s[i++]=c+T|0,s[i++]=l+k|0,s[i++]=u+S|0,s[i++]=d+C|0,s[i++]=h+I|0,s[i++]=f+P|0,s[i++]=p+M|0,s[i++]=m+R|0,s[i++]=g+B|0,s[i++]=y+N|0,s[i++]=b+O|0,s[i++]=v+_|0,s[i++]=w+L|0,s[i++]=A+D|0}function Zr(e,t,r,n,s){let i=n+0,o=n+16*s;for(let n=0;n<16;n++)r[o+n]=e[t+16*(2*s-1)+n];for(let n=0;n<s;n++,i+=16,t+=16)$r(r,o,e,t,r,i),n>0&&(o+=16),$r(r,i,e,t+=16,r,o)}function Yr(e,t,r){const n=Tr({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:s,r:i,p:o,dkLen:a,asyncTick:c,maxmem:l,onProgress:u}=n;if(nr(s),nr(i),nr(o),nr(a),nr(c),nr(l),void 0!==u&&\"function\"!=typeof u)throw new Error(\"progressCb should be function\");const d=128*i,h=d/4,f=Math.pow(2,32);if(s<=1||s&s-1||s>f)throw new Error(\"Scrypt: N must be larger than 1, a power of 2, and less than 2^32\");if(o<0||o>32*(f-1)/d)throw new Error(\"Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)\");if(a<0||a>32*(f-1))throw new Error(\"Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32\");if(d*(s+o)>l)throw new Error(\"Scrypt: memused is bigger than maxMem. Expected 128 * r * (N + p) > maxmem of \"+l);const p=Rr(Jr,e,t,{c:1,dkLen:d*o}),m=cr(p),g=cr(new Uint8Array(d*s)),y=cr(new Uint8Array(d));let b=()=>{};if(u){const e=2*s*o,t=Math.max(Math.floor(e/1e4),1);let r=0;b=()=>{r++,!u||r%t&&r!==e||u(r/e)}}return{N:s,r:i,p:o,dkLen:a,blockSize32:h,V:g,B32:m,B:p,tmp:y,blockMixCb:b,asyncTick:c}}function Xr(e,t,r,n,s){const i=Rr(Jr,e,r,{c:1,dkLen:t});return lr(r,n,s),i}const Qr=Jr,en=2**17,tn=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]);var rn=r(1048).Buffer;const nn=e=>rn.from(e).toString(\"base64\"),sn=e=>new Uint8Array(rn.from(e,\"base64\"));let on={};const an=e=>(on[e]??(on[e]=new Map),on[e]);var cn,ln,un,dn,hn,fn,pn,mn,gn,yn=function(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)};ln=new WeakMap,cn=new WeakSet,un=async function(e,t,r){const{key:n,salt:s}=await yn(this,cn,\"m\",pn).call(this,t,{N:en,r:8,p:1,dkLen:16},void 0,r),i=wr(e),o=xr(s,yn(this,cn,\"m\",hn).call(this,i,n)),a={v:\"1\",t:\"scrypt\",d:nn(o),o:{N:en,r:8,p:1,dkLen:16},saltLen:16};return JSON.stringify(a)},dn=async function(e,t,r){const{o:n,d:s,saltLen:i}=e,o=sn(s),a=o.slice(0,i),c=o.slice(i,o.length),{key:l}=await yn(this,cn,\"m\",pn).call(this,t,{N:n.N,r:n.r,p:n.p,dkLen:n.dkLen},a,r);return u=yn(this,cn,\"m\",fn).call(this,c,l),new TextDecoder(\"utf-8\").decode(u);var u},hn=function(e,t){const r=rr(12);return xr(r,Wt(t,r).encrypt(e))},fn=function(e,t){const r=e.slice(0,12),n=e.slice(12,e.length);return Wt(t,r).decrypt(n)},pn=async function(e,t,r,n){const s=vn(e),i=r?function(e,t){const r=an(e),n=nn(t),s=r.get(n);if(s)return{salt:t,base64Salt:n,key:s}}(s,r):function(e){const t=an(e),r=nn(tn),n=t.get(r);if(n)return{salt:tn,base64Salt:r,key:n}}(s);if(i)return{key:i.key,salt:i.salt};const o=r??tn,a=yn(this,cn,\"m\",mn).call(this,s,t,o,n),c=yn(this,ln,\"f\").get(a);if(c)return c;if(yn(this,ln,\"f\").size>=20){const e=yn(this,ln,\"f\").keys().next().value;e&&yn(this,ln,\"f\").delete(e)}const l=yn(this,cn,\"m\",gn).call(this,e,t,o,s,n);return yn(this,ln,\"f\").set(a,l),l.finally(()=>{yn(this,ln,\"f\").delete(a)}),l},mn=function(e,t,r,n){const s=nn(r),i=Boolean(n);return`${e}:${t.N}:${t.r}:${t.p}:${t.dkLen}:${s}:${i}`},gn=async function(e,t,r,n,s){let i;var o;return i=s?await s((o=e,(new TextEncoder).encode(o)),r,t.N,t.r,t.p,t.dkLen):await async function(e,t,r){const{N:n,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:h,asyncTick:f}=Yr(e,t,r);mr(l);for(let e=0;e<i;e++){const t=a*e;for(let e=0;e<a;e++)c[e]=l[t+e];let r=0;await vr(n-1,f,()=>{Zr(c,r,c,r+=a,s),h()}),Zr(c,(n-1)*a,l,t,s),h(),await vr(n,f,()=>{const e=l[t+a-16]%n;for(let r=0;r<a;r++)d[r]=l[t+r]^c[e*a+r];Zr(d,0,l,t,s),h()})}return mr(l),Xr(e,o,u,c,d)}(e,r,{N:t.N,r:t.r,p:t.p,dkLen:t.dkLen}),function(e,t,r){Object.keys(on).length>100&&(on={});const n=an(e),s=nn(t);n.size>100&&n.clear(),n.set(s,r)}(n,r,i),{key:i,salt:r}};const bn=new class{constructor(){cn.add(this),ln.set(this,new Map)}async encryptString(e,t,r){try{return await yn(this,cn,\"m\",un).call(this,e,t,r)}catch(e){const t=e instanceof Error?e.message:JSON.stringify(e);throw new Error(`Unable to encrypt string - ${t}`)}}async decryptString(e,t,r){try{const n=JSON.parse(e);if(\"1\"===n.v&&\"scrypt\"===n.t)return await yn(this,cn,\"m\",dn).call(this,n,t,r);throw new Error(`Unsupported encrypted data payload - ${e}`)}catch(e){const t=e instanceof Error?e.message:JSON.stringify(e);throw new Error(`Unable to decrypt string - ${t}`)}}getSalt(e){try{const t=JSON.parse(e);if(\"1\"===t.v&&\"scrypt\"===t.t){const{d:e,saltLen:r}=t,n=sn(e);return n.slice(0,r)}throw new Error(`Unsupported encrypted data payload - ${e}`)}catch(e){const t=e instanceof Error?e.message:JSON.stringify(e);throw new Error(`Unable to get salt - ${t}`)}}getIfEntriesHaveDifferentSalts(e){const t=e.map(e=>{try{return this.getSalt(e)}catch{return}}).filter(e=>void 0!==e);return new Set(t.map(e=>e.toString())).size===t.length}};function vn(e){return function(e){if(sr(e),gr)return e.toHex();let t=\"\";for(let r=0;r<e.length;r++)t+=yr[e[r]];return t}(Qr(e))}const wn={dev:\"Baiche1eu8Oa2een5ieReul0Phooph4e\",uat:\"wooG2Nahd4juviiw7cooxa7ekaeNgeik\",prd:\"oCheThi4lohv5choGhuosh1aiT2phioF\"};async function An(e){e<=0||await new Promise(t=>setTimeout(t,e))}var En,xn,Tn,kn,Sn,Cn,In,Pn,Mn,Rn,Bn,Nn,On,_n,Ln=function(e,t,r,n,s){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!s)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof t?e!==t||!s:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?s.call(e,r):s?s.value=r:t.set(e,r),r},Dn=function(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)};const Fn=async()=>{const e=await function(e=\"any\"){return new Promise(t=>{if(\"any\"!==e&&void 0===ze[e])return void t(null);const r=Ge[e];if(r)return void t(r);const n=[],s=e=>{const t=e,r=t?.detail;r?.provider&&r?.info?.rdns&&n.push({rdns:r?.info?.rdns,provider:r?.provider})};window.addEventListener(\"eip6963:announceProvider\",s),window.dispatchEvent(new Event(\"eip6963:requestProvider\")),setTimeout(()=>{let r;if(window.removeEventListener(\"eip6963:announceProvider\",s),\"any\"===e){const e=Object.values(ze);r=n.find(t=>e.includes(t.rdns))?.provider??null}else{const t=ze[e];r=n.find(e=>e.rdns===t)?.provider??null}return r&&(Ge[e]=r),t(r)},100)})}();if(!e)throw new de(\"No MetaMask wallet connected\");return e},Un=e=>({getIdentifier:async t=>{const r=e??await Fn();return await qe.getPublicKey(r,t)},signMessage:async(t,r)=>{const n=e??await Fn();return function(e){if(!e.startsWith(\"metamask:\"))throw new Error('Message must start with \"metamask:\"')}(t),await qe.signMessage(n,t,r)}});class jn{constructor(e,t){En.add(this),xn.set(this,void 0),Tn.set(this,void 0),kn.set(this,void 0),Sn.set(this,new Map),Cn.set(this,void 0),In.set(this,void 0),Pn.set(this,void 0),Ln(this,xn,e,\"f\"),Ln(this,Pn,t.customProvider,\"f\"),Ln(this,Tn,{storage:t.storage,signing:t.signing??Un(Dn(this,Pn,\"f\"))},\"f\"),Ln(this,kn,t.metametrics,\"f\"),Ln(this,Cn,t.rateLimitRetry?.cooldownDefaultMs??1e4,\"f\"),Ln(this,In,t.rateLimitRetry?.maxLoginRetries??1,\"f\")}setCustomProvider(e){Ln(this,Pn,e,\"f\"),Dn(this,Tn,\"f\").signing=Un(e)}async getAccessToken(e){const t=await Dn(this,En,\"m\",Mn).call(this,e);if(t)return t.token.accessToken;return(await Dn(this,En,\"m\",Rn).call(this,e)).token.accessToken}async getUserProfile(e){const t=await Dn(this,En,\"m\",Mn).call(this,e);if(t)return t.profile;return(await Dn(this,En,\"m\",Rn).call(this,e)).profile}async getIdentifier(e){return await Dn(this,Tn,\"f\").signing.getIdentifier(e)}async getUserProfileLineage(e){const t=await this.getAccessToken(e);return await Me(Dn(this,xn,\"f\").env,t)}async pairSrpProfiles(e,t){return await Se(e,t,Dn(this,xn,\"f\").env)}async signMessage(e,t){return await Dn(this,Tn,\"f\").signing.signMessage(e,t)}async isSnapConnected(){const e=Dn(this,Pn,\"f\")??await Fn();if(!e)return!1;const t=await async function(e){try{const t=await async function(e){return await e.request({method:\"wallet_getSnaps\"})}(e);return!!t&&Object.keys(t).includes(Ve)}catch(e){return console.error(\"Failed to determine if snap is connected\",e),!1}}(e);return t}async connectSnap(){const e=Dn(this,Pn,\"f\")??await Fn(),t=await async function(e){return await e.request({method:\"wallet_requestSnaps\",params:{[Ve]:{}}})}(e);return t}}xn=new WeakMap,Tn=new WeakMap,kn=new WeakMap,Sn=new WeakMap,Cn=new WeakMap,In=new WeakMap,Pn=new WeakMap,En=new WeakSet,Mn=async function(e){const t=await Dn(this,Tn,\"f\").storage.getLoginResponse(e);if(!me(t))return null;if(!t.profile.canonicalProfileId)return null;return Date.now()-t.token.obtainedAt<1e3*t.token.expiresIn*.9?t:null},Rn=async function(e){return await Dn(this,En,\"m\",Nn).call(this,e)},Bn=async function(e){const t=await this.getIdentifier(e),r=await Ce(t,Dn(this,xn,\"f\").env),n=Dn(this,En,\"m\",_n).call(this,r.nonce,t),s=await this.signMessage(n,e),i=await Pe(n,s,Dn(this,xn,\"f\").type,Dn(this,xn,\"f\").env,Dn(this,kn,\"f\")),o=i.profile.profileId,a={...i.profile};if(i.profileAliases?.length>0){const e=function(e,t){const r=wn[t];if(!r)throw new Error(\"Cannot compute identifier ID: invalid environment\");return vn(e+r)}(t,Dn(this,xn,\"f\").env),r=i.profileAliases.filter(t=>t.identifierIds.some(t=>t.id===e)),n=r.find(e=>1===e.identifierIds.length)??r[0];n&&(a.profileId=n.aliasProfileId)}a.canonicalProfileId=o;const c={profile:a,token:await Ie(i.token,Dn(this,xn,\"f\").env,Dn(this,xn,\"f\").platform)};return await Dn(this,Tn,\"f\").storage.setLoginResponse(c,e),c},Nn=async function(e){const t=Dn(this,Sn,\"f\").get(e);if(t)return t;const r=Dn(this,En,\"m\",On).call(this,e);Dn(this,Sn,\"f\").set(e,r);try{return await r}finally{Dn(this,Sn,\"f\").delete(e)}},On=async function(e){for(let t=0;t<1+Dn(this,In,\"f\");t+=1)try{return await Dn(this,En,\"m\",Bn).call(this,e)}catch(e){if(!pe.isRateLimitError(e))throw e;if(t>=Dn(this,In,\"f\"))throw e;const r=e.retryAfterMs??Dn(this,Cn,\"f\");await An(r)}throw new Error(\"Unexpected: login loop exhausted without result\")},_n=function(e,t){return`metamask:${e}:${t}`};var Hn,zn,Gn,Vn,qn,Kn,Wn=function(e,t,r,n,s){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!s)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof t?e!==t||!s:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?s.call(e,r):s?s.value=r:t.set(e,r),r},Jn=function(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)};zn=new WeakMap,Gn=new WeakMap,Vn=new WeakMap,Hn=new WeakSet,qn=function(e,t){if(e!==we.SiWE)throw new he(\"This method is only available via SIWE auth type\")},Kn=function(e,t){if(e!==we.SRP)throw new he(\"This method is only available via SRP auth type\")};const $n=bn;function Zn(e,t){const{feature:r,key:n}=(e=>{if(!/^\\w+\\.\\w+$/u.test(e))throw new Error(\"user-storage - path is not in the correct format. Correct format: 'feature.key'\");const[t,r]=e.split(\".\");return{feature:t,key:r}})(e);return`${r}/${vn(n+t)}`}var Yn,Xn,Qn,es,ts,rs,ns,ss,is,os,as,cs,ls=function(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)};const us=(e,t)=>`${ve(e).userStorageApiUrl}/api/v1/userstorage/${t}`;Yn=new WeakSet,Xn=async function(e,t,r){const n=r?.entropySourceId;try{const s=await ls(this,Yn,\"m\",as).call(this,n),i=await ls(this,Yn,\"m\",cs).call(this,n,r?.useCanonicalScope),o=await this.getStorageKey(n),a=await $n.encryptString(t,o,r?.nativeScryptCrypto),c=Zn(e,o),l=new URL(us(this.env,c)),u=await fetch(l.toString(),{method:\"PUT\",headers:{\"Content-Type\":\"application/json\",...s,...i},body:JSON.stringify({data:a})});if(!u.ok){const e=await u.json().catch(()=>({message:\"unknown\",error:\"unknown\"}));throw new Error(`HTTP error message: ${e.message}, error: ${e.error}`)}}catch(t){const r=t instanceof Error?t.message:JSON.stringify(t??\"\");throw new ue(`failed to upsert user storage for path '${e}'. ${r}`)}},Qn=async function(e,t,r){const n=r?.entropySourceId;try{if(!t.length)return;const s=await ls(this,Yn,\"m\",as).call(this,n),i=await ls(this,Yn,\"m\",cs).call(this,n,r?.useCanonicalScope),o=await this.getStorageKey(n),a=await Promise.all(t.map(async e=>[ls(this,Yn,\"m\",os).call(this,e[0],o),await $n.encryptString(e[1],o,r?.nativeScryptCrypto)])),c=new URL(us(this.env,e)),l=await fetch(c.toString(),{method:\"PUT\",headers:{\"Content-Type\":\"application/json\",...s,...i},body:JSON.stringify({data:Object.fromEntries(a)})});if(!l.ok){const e=await l.json().catch(()=>({message:\"unknown\",error:\"unknown\"}));throw new Error(`HTTP error message: ${e.message}, error: ${e.error}`)}}catch(t){const r=t instanceof Error?t.message:JSON.stringify(t??\"\");throw new ue(`failed to batch upsert user storage for path '${e}'. ${r}`)}},es=async function(e,t,r,n){try{const s=await ls(this,Yn,\"m\",as).call(this,r),i=await ls(this,Yn,\"m\",cs).call(this,r,n),o=new URL(us(this.env,e)),a=await fetch(o.toString(),{method:\"PUT\",headers:{\"Content-Type\":\"application/json\",...s,...i},body:JSON.stringify({data:Object.fromEntries(t)})});if(!a.ok){const e=await a.json().catch(()=>({message:\"unknown\",error:\"unknown\"}));throw new Error(`HTTP error message: ${e.message}, error: ${e.error}`)}}catch(t){const r=t instanceof Error?t.message:JSON.stringify(t??\"\");throw new ue(`failed to batch upsert user storage for path '${e}'. ${r}`)}},ts=async function(e,t){const r=t?.entropySourceId;try{const n=await ls(this,Yn,\"m\",as).call(this,r),s=await this.getStorageKey(r),i=Zn(e,s),o=new URL(us(this.env,i)),a=await fetch(o.toString(),{headers:{\"Content-Type\":\"application/json\",...n}});if(404===a.status)return null;if(!a.ok){const e=await a.json();throw new Error(`HTTP error message: ${e.message}, error: ${e.error}`)}const c=await a.json(),l=c?.Data??null;if(!l)return null;const u=await $n.decryptString(l,s,t?.nativeScryptCrypto);return $n.getSalt(l).toString()!==tn.toString()&&await ls(this,Yn,\"m\",Xn).call(this,e,u,t),u}catch(t){const r=t instanceof Error?t.message:JSON.stringify(t??\"\");throw new ue(`failed to get user storage for path '${e}'. ${r}`)}},rs=async function(e,t){const r=t?.entropySourceId;try{const n=await ls(this,Yn,\"m\",as).call(this,r),s=await ls(this,Yn,\"m\",cs).call(this,r,t?.useCanonicalScope),i=await this.getStorageKey(r),o=new URL(us(this.env,e)),a=await fetch(o.toString(),{headers:{\"Content-Type\":\"application/json\",...n,...s}});if(404===a.status)return null;if(!a.ok){const e=await a.json();throw new Error(`HTTP error message: ${e.message}, error: ${e.error}`)}const c=await a.json();if(!Array.isArray(c))return null;const l=[],u=[];for(const e of c)if(e.Data)try{const r=await $n.decryptString(e.Data,i,t?.nativeScryptCrypto);l.push(r);$n.getSalt(e.Data).toString()!==tn.toString()&&u.push([e.HashedKey,await $n.encryptString(r,i,t?.nativeScryptCrypto)])}catch{}return u.length&&await ls(this,Yn,\"m\",es).call(this,e,u,r,t?.useCanonicalScope),l}catch(t){const r=t instanceof Error?t.message:JSON.stringify(t??\"\");throw new ue(`failed to get user storage for path '${e}'. ${r}`)}},ns=async function(e,t){const r=t?.entropySourceId;try{const t=await ls(this,Yn,\"m\",as).call(this,r),n=Zn(e,await this.getStorageKey(r)),s=new URL(us(this.env,n)),i=await fetch(s.toString(),{method:\"DELETE\",headers:{\"Content-Type\":\"application/json\",...t}});if(404===i.status)throw new fe(`feature/key set not found for path '${e}'.`);if(!i.ok){const e=await i.json();throw new Error(`HTTP error message: ${e.message}, error: ${e.error}`)}}catch(t){if(t instanceof fe)throw t;const r=t instanceof Error?t.message:JSON.stringify(t??\"\");throw new ue(`failed to delete user storage for path '${e}'. ${r}`)}},ss=async function(e,t){try{const r=t?.entropySourceId,n=await ls(this,Yn,\"m\",as).call(this,r),s=await ls(this,Yn,\"m\",cs).call(this,r,t?.useCanonicalScope),i=new URL(us(this.env,e)),o=await fetch(i.toString(),{method:\"DELETE\",headers:{\"Content-Type\":\"application/json\",...n,...s}});if(404===o.status)throw new fe(`feature not found for path '${e}'.`);if(!o.ok){const e=await o.json();throw new Error(`HTTP error message: ${e.message}, error: ${e.error}`)}}catch(t){if(t instanceof fe)throw t;const r=t instanceof Error?t.message:JSON.stringify(t??\"\");throw new ue(`failed to delete user storage for path '${e}'. ${r}`)}},is=async function(e,t,r){try{if(!t.length)return;const n=r?.entropySourceId,s=await ls(this,Yn,\"m\",as).call(this,n),i=await this.getStorageKey(n),o=t.map(e=>ls(this,Yn,\"m\",os).call(this,e,i)),a=new URL(us(this.env,e)),c=await fetch(a.toString(),{method:\"PUT\",headers:{\"Content-Type\":\"application/json\",...s},body:JSON.stringify({batch_delete:o})});if(!c.ok){const e=await c.json().catch(()=>({message:\"unknown\",error:\"unknown\"}));throw new Error(`HTTP error message: ${e.message}, error: ${e.error}`)}}catch(t){const r=t instanceof Error?t.message:JSON.stringify(t??\"\");throw new ue(`failed to batch delete user storage for path '${e}'. ${r}`)}},os=function(e,t){return vn(e+t)},as=async function(e){return{Authorization:`Bearer ${await this.config.auth.getAccessToken(e)}`}},cs=async function(e,t){if(t)return{};const r=await this.config.auth.getUserProfile(e);return r.profileId!==r.canonicalProfileId?{\"x-profile-id\":r.profileId}:{}};var ds=r(282);const hs={invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},fs={userRejectedRequest:4001,unauthorized:4100,unsupportedMethod:4200,disconnected:4900,chainDisconnected:4901},ps={\"-32700\":{standard:\"JSON RPC 2.0\",message:\"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.\"},\"-32600\":{standard:\"JSON RPC 2.0\",message:\"The JSON sent is not a valid Request object.\"},\"-32601\":{standard:\"JSON RPC 2.0\",message:\"The method does not exist / is not available.\"},\"-32602\":{standard:\"JSON RPC 2.0\",message:\"Invalid method parameter(s).\"},\"-32603\":{standard:\"JSON RPC 2.0\",message:\"Internal JSON-RPC error.\"},\"-32000\":{standard:\"EIP-1474\",message:\"Invalid input.\"},\"-32001\":{standard:\"EIP-1474\",message:\"Resource not found.\"},\"-32002\":{standard:\"EIP-1474\",message:\"Resource unavailable.\"},\"-32003\":{standard:\"EIP-1474\",message:\"Transaction rejected.\"},\"-32004\":{standard:\"EIP-1474\",message:\"Method not supported.\"},\"-32005\":{standard:\"EIP-1474\",message:\"Request limit exceeded.\"},4001:{standard:\"EIP-1193\",message:\"User rejected the request.\"},4100:{standard:\"EIP-1193\",message:\"The requested account and/or method has not been authorized by the user.\"},4200:{standard:\"EIP-1193\",message:\"The requested method is not supported by this Ethereum provider.\"},4900:{standard:\"EIP-1193\",message:\"The provider is disconnected from all chains.\"},4901:{standard:\"EIP-1193\",message:\"The provider is disconnected from the specified chain.\"}};const ms=hs.internal,gs=(ys(ms),\"Unspecified server error.\");function ys(e,t=\"Unspecified error message. This is a bug, please report it.\"){if(function(e){return Number.isInteger(e)}(e)){const t=e.toString();if(_(ps,t))return ps[t].message;if(function(e){return e>=-32099&&e<=-32e3}(e))return gs}return t}function bs(e){return Array.isArray(e)?e.map(e=>G(e)?e:O(e)?vs(e):null):O(e)?vs(e):G(e)?e:null}function vs(e){return Object.getOwnPropertyNames(e).reduce((t,r)=>{const n=e[r];return G(n)&&(t[r]=n),t},{})}const ws=function(e){return e?.__esModule?e.default:e}(ds);class As extends Error{constructor(e,t,r){if(!Number.isInteger(e))throw new Error('\"code\" must be an integer.');if(!t||\"string\"!=typeof t)throw new Error('\"message\" must be a non-empty string.');!function(e){return O(e)&&_(e,\"cause\")&&O(e.cause)}(r)?super(t):(super(t,{cause:r.cause}),_(this,\"cause\")||Object.assign(this,{cause:r.cause})),void 0!==r&&(this.data=r),this.code=e}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data,function(e){if(\"object\"!=typeof e||null===e)return!1;try{let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}catch(e){return!1}}(this.data)&&(e.data.cause=bs(this.data.cause))),this.stack&&(e.stack=this.stack),e}toString(){return ws(this.serialize(),xs,2)}}class Es extends As{constructor(e,t,r){if(!function(e){return Number.isInteger(e)&&e>=1e3&&e<=4999}(e))throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');super(e,t,r)}}function xs(e,t){if(\"[Circular]\"!==t)return t}const Ts=e=>Us(hs.parse,e),ks=e=>Us(hs.invalidRequest,e),Ss=e=>Us(hs.invalidParams,e),Cs=e=>Us(hs.methodNotFound,e),Is=e=>Us(hs.invalidInput,e),Ps=e=>Us(hs.resourceNotFound,e),Ms=e=>Us(hs.resourceUnavailable,e),Rs=e=>Us(hs.transactionRejected,e),Bs=e=>Us(hs.methodNotSupported,e),Ns=e=>Us(hs.limitExceeded,e),Os=e=>js(fs.userRejectedRequest,e),_s=e=>js(fs.unauthorized,e),Ls=e=>js(fs.unsupportedMethod,e),Ds=e=>js(fs.disconnected,e),Fs=e=>js(fs.chainDisconnected,e);function Us(e,t){const[r,n]=Hs(t);return new As(e,r??ys(e),n)}function js(e,t){const[r,n]=Hs(t);return new Es(e,r??ys(e),n)}function Hs(e){if(e){if(\"string\"==typeof e)return[e];if(\"object\"==typeof e&&!Array.isArray(e)){const{message:t,data:r}=e;if(t&&\"string\"!=typeof t)throw new Error(\"Must specify string message.\");return[t??void 0,r]}}return[]}function zs(e){return class extends re{constructor(t,r){if(\"object\"==typeof t){const r=e();return void super({code:r.code,message:r.message,data:t})}const n=e(t);super({code:n.code,message:n.message,data:r})}}}const Gs=zs(e=>Us(hs.internal,e)),Vs=zs(Is),qs=zs(Ss),Ks=zs(ks),Ws=zs(Ns),Js=zs(Cs),$s=(zs(Bs),zs(Ts)),Zs=zs(Ps),Ys=zs(Ms),Xs=(zs(Rs),zs(Fs)),Qs=(zs(Ds),zs(_s),zs(Ls)),ei=zs(Os);var ti,ri;!function(e){e.assertEqual=e=>{},e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const r of e)t[r]=r;return t},e.getValidEnumValues=t=>{const r=e.objectKeys(t).filter(e=>\"number\"!=typeof t[t[e]]),n={};for(const e of r)n[e]=t[e];return e.objectValues(n)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=\"function\"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},e.find=(e,t)=>{for(const r of e)if(t(r))return r},e.isInteger=\"function\"==typeof Number.isInteger?e=>Number.isInteger(e):e=>\"number\"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=\" | \"){return e.map(e=>\"string\"==typeof e?`'${e}'`:e).join(t)},e.jsonStringifyReplacer=(e,t)=>\"bigint\"==typeof t?t.toString():t}(ti||(ti={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(ri||(ri={}));const ni=ti.arrayToEnum([\"string\",\"nan\",\"number\",\"integer\",\"float\",\"boolean\",\"date\",\"bigint\",\"symbol\",\"function\",\"undefined\",\"null\",\"array\",\"object\",\"unknown\",\"promise\",\"void\",\"never\",\"map\",\"set\"]),si=e=>{switch(typeof e){case\"undefined\":return ni.undefined;case\"string\":return ni.string;case\"number\":return Number.isNaN(e)?ni.nan:ni.number;case\"boolean\":return ni.boolean;case\"function\":return ni.function;case\"bigint\":return ni.bigint;case\"symbol\":return ni.symbol;case\"object\":return Array.isArray(e)?ni.array:null===e?ni.null:e.then&&\"function\"==typeof e.then&&e.catch&&\"function\"==typeof e.catch?ni.promise:\"undefined\"!=typeof Map&&e instanceof Map?ni.map:\"undefined\"!=typeof Set&&e instanceof Set?ni.set:\"undefined\"!=typeof Date&&e instanceof Date?ni.date:ni.object;default:return ni.unknown}},ii=ti.arrayToEnum([\"invalid_type\",\"invalid_literal\",\"custom\",\"invalid_union\",\"invalid_union_discriminator\",\"invalid_enum_value\",\"unrecognized_keys\",\"invalid_arguments\",\"invalid_return_type\",\"invalid_date\",\"invalid_string\",\"too_small\",\"too_big\",\"invalid_intersection_types\",\"not_multiple_of\",\"not_finite\"]);class oi extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=\"ZodError\",this.issues=e}format(e){const t=e||function(e){return e.message},r={_errors:[]},n=e=>{for(const s of e.issues)if(\"invalid_union\"===s.code)s.unionErrors.map(n);else if(\"invalid_return_type\"===s.code)n(s.returnTypeError);else if(\"invalid_arguments\"===s.code)n(s.argumentsError);else if(0===s.path.length)r._errors.push(t(s));else{let e=r,n=0;for(;n<s.path.length;){const r=s.path[n];n===s.path.length-1?(e[r]=e[r]||{_errors:[]},e[r]._errors.push(t(s))):e[r]=e[r]||{_errors:[]},e=e[r],n++}}};return n(this),r}static assert(e){if(!(e instanceof oi))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ti.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){const t={},r=[];for(const n of this.issues)if(n.path.length>0){const r=n.path[0];t[r]=t[r]||[],t[r].push(e(n))}else r.push(e(n));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}oi.create=e=>new oi(e);const ai=(e,t)=>{let r;switch(e.code){case ii.invalid_type:r=e.received===ni.undefined?\"Required\":`Expected ${e.expected}, received ${e.received}`;break;case ii.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,ti.jsonStringifyReplacer)}`;break;case ii.unrecognized_keys:r=`Unrecognized key(s) in object: ${ti.joinValues(e.keys,\", \")}`;break;case ii.invalid_union:r=\"Invalid input\";break;case ii.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ti.joinValues(e.options)}`;break;case ii.invalid_enum_value:r=`Invalid enum value. Expected ${ti.joinValues(e.options)}, received '${e.received}'`;break;case ii.invalid_arguments:r=\"Invalid function arguments\";break;case ii.invalid_return_type:r=\"Invalid function return type\";break;case ii.invalid_date:r=\"Invalid date\";break;case ii.invalid_string:\"object\"==typeof e.validation?\"includes\"in e.validation?(r=`Invalid input: must include \"${e.validation.includes}\"`,\"number\"==typeof e.validation.position&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):\"startsWith\"in e.validation?r=`Invalid input: must start with \"${e.validation.startsWith}\"`:\"endsWith\"in e.validation?r=`Invalid input: must end with \"${e.validation.endsWith}\"`:ti.assertNever(e.validation):r=\"regex\"!==e.validation?`Invalid ${e.validation}`:\"Invalid\";break;case ii.too_small:r=\"array\"===e.type?`Array must contain ${e.exact?\"exactly\":e.inclusive?\"at least\":\"more than\"} ${e.minimum} element(s)`:\"string\"===e.type?`String must contain ${e.exact?\"exactly\":e.inclusive?\"at least\":\"over\"} ${e.minimum} character(s)`:\"number\"===e.type||\"bigint\"===e.type?`Number must be ${e.exact?\"exactly equal to \":e.inclusive?\"greater than or equal to \":\"greater than \"}${e.minimum}`:\"date\"===e.type?`Date must be ${e.exact?\"exactly equal to \":e.inclusive?\"greater than or equal to \":\"greater than \"}${new Date(Number(e.minimum))}`:\"Invalid input\";break;case ii.too_big:r=\"array\"===e.type?`Array must contain ${e.exact?\"exactly\":e.inclusive?\"at most\":\"less than\"} ${e.maximum} element(s)`:\"string\"===e.type?`String must contain ${e.exact?\"exactly\":e.inclusive?\"at most\":\"under\"} ${e.maximum} character(s)`:\"number\"===e.type?`Number must be ${e.exact?\"exactly\":e.inclusive?\"less than or equal to\":\"less than\"} ${e.maximum}`:\"bigint\"===e.type?`BigInt must be ${e.exact?\"exactly\":e.inclusive?\"less than or equal to\":\"less than\"} ${e.maximum}`:\"date\"===e.type?`Date must be ${e.exact?\"exactly\":e.inclusive?\"smaller than or equal to\":\"smaller than\"} ${new Date(Number(e.maximum))}`:\"Invalid input\";break;case ii.custom:r=\"Invalid input\";break;case ii.invalid_intersection_types:r=\"Intersection results could not be merged\";break;case ii.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case ii.not_finite:r=\"Number must be finite\";break;default:r=t.defaultError,ti.assertNever(e)}return{message:r}};let ci=ai;function li(){return ci}var ui;!function(e){e.errToObj=e=>\"string\"==typeof e?{message:e}:e||{},e.toString=e=>\"string\"==typeof e?e:e?.message}(ui||(ui={}));const di=e=>{const{data:t,path:r,errorMaps:n,issueData:s}=e,i=[...r,...s.path||[]],o={...s,path:i};if(void 0!==s.message)return{...s,path:i,message:s.message};let a=\"\";const c=n.filter(e=>!!e).slice().reverse();for(const e of c)a=e(o,{data:t,defaultError:a}).message;return{...s,path:i,message:a}};function hi(e,t){const r=li(),n=di({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===ai?void 0:ai].filter(e=>!!e)});e.common.issues.push(n)}class fi{constructor(){this.value=\"valid\"}dirty(){\"valid\"===this.value&&(this.value=\"dirty\")}abort(){\"aborted\"!==this.value&&(this.value=\"aborted\")}static mergeArray(e,t){const r=[];for(const n of t){if(\"aborted\"===n.status)return pi;\"dirty\"===n.status&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){const r=[];for(const e of t){const t=await e.key,n=await e.value;r.push({key:t,value:n})}return fi.mergeObjectSync(e,r)}static mergeObjectSync(e,t){const r={};for(const n of t){const{key:t,value:s}=n;if(\"aborted\"===t.status)return pi;if(\"aborted\"===s.status)return pi;\"dirty\"===t.status&&e.dirty(),\"dirty\"===s.status&&e.dirty(),\"__proto__\"===t.value||void 0===s.value&&!n.alwaysSet||(r[t.value]=s.value)}return{status:e.value,value:r}}}const pi=Object.freeze({status:\"aborted\"}),mi=e=>({status:\"dirty\",value:e}),gi=e=>({status:\"valid\",value:e}),yi=e=>\"aborted\"===e.status,bi=e=>\"dirty\"===e.status,vi=e=>\"valid\"===e.status,wi=e=>\"undefined\"!=typeof Promise&&e instanceof Promise;class Ai{constructor(e,t,r,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=n}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Ei=(e,t)=>{if(vi(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error(\"Validation failed but no issues detected.\");return{success:!1,get error(){if(this._error)return this._error;const t=new oi(e.common.issues);return this._error=t,this._error}}};function xi(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:n,description:s}=e;if(t&&(r||n))throw new Error('Can\\'t use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.');if(t)return{errorMap:t,description:s};return{errorMap:(t,s)=>{const{message:i}=e;return\"invalid_enum_value\"===t.code?{message:i??s.defaultError}:void 0===s.data?{message:i??n??s.defaultError}:\"invalid_type\"!==t.code?{message:s.defaultError}:{message:i??r??s.defaultError}},description:s}}class Ti{get description(){return this._def.description}_getType(e){return si(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:si(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new fi,ctx:{common:e.parent.common,data:e.data,parsedType:si(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(wi(t))throw new Error(\"Synchronous parse encountered promise.\");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){const r={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:si(e)},n=this._parseSync({data:e,path:r.path,parent:r});return Ei(r,n)}\"~validate\"(e){const t={common:{issues:[],async:!!this[\"~standard\"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:si(e)};if(!this[\"~standard\"].async)try{const r=this._parseSync({data:e,path:[],parent:t});return vi(r)?{value:r.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(\"encountered\")&&(this[\"~standard\"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>vi(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:si(e)},n=this._parse({data:e,path:r.path,parent:r}),s=await(wi(n)?n:Promise.resolve(n));return Ei(r,s)}refine(e,t){const r=e=>\"string\"==typeof t||void 0===t?{message:t}:\"function\"==typeof t?t(e):t;return this._refinement((t,n)=>{const s=e(t),i=()=>n.addIssue({code:ii.custom,...r(t)});return\"undefined\"!=typeof Promise&&s instanceof Promise?s.then(e=>!!e||(i(),!1)):!!s||(i(),!1)})}refinement(e,t){return this._refinement((r,n)=>!!e(r)||(n.addIssue(\"function\"==typeof t?t(r,n):t),!1))}_refinement(e){return new To({schema:this,typeName:No.ZodEffects,effect:{type:\"refinement\",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[\"~standard\"]={version:1,vendor:\"zod\",validate:e=>this[\"~validate\"](e)}}optional(){return ko.create(this,this._def)}nullable(){return So.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ao.create(this)}promise(){return xo.create(this,this._def)}or(e){return uo.create([this,e],this._def)}and(e){return fo.create(this,e,this._def)}transform(e){return new To({...xi(this._def),schema:this,typeName:No.ZodEffects,effect:{type:\"transform\",transform:e}})}default(e){const t=\"function\"==typeof e?e:()=>e;return new Co({...xi(this._def),innerType:this,defaultValue:t,typeName:No.ZodDefault})}brand(){return new Mo({typeName:No.ZodBranded,type:this,...xi(this._def)})}catch(e){const t=\"function\"==typeof e?e:()=>e;return new Io({...xi(this._def),innerType:this,catchValue:t,typeName:No.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return Ro.create(this,e)}readonly(){return Bo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const ki=/^c[^\\s-]{8,}$/i,Si=/^[0-9a-z]+$/,Ci=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ii=/^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i,Pi=/^[a-z0-9_-]{21}$/i,Mi=/^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/,Ri=/^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/,Bi=/^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;let Ni;const Oi=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,_i=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/,Li=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Di=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Fi=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ui=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ji=\"((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))\",Hi=new RegExp(`^${ji}$`);function zi(e){let t=\"[0-5]\\\\d\";e.precision?t=`${t}\\\\.\\\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\\\.\\\\d+)?`);return`([01]\\\\d|2[0-3]):[0-5]\\\\d(:${t})${e.precision?\"+\":\"?\"}`}function Gi(e){return new RegExp(`^${zi(e)}$`)}function Vi(e){let t=`${ji}T${zi(e)}`;const r=[];return r.push(e.local?\"Z?\":\"Z\"),e.offset&&r.push(\"([+-]\\\\d{2}:?\\\\d{2})\"),t=`${t}(${r.join(\"|\")})`,new RegExp(`^${t}$`)}function qi(e,t){return!(\"v4\"!==t&&t||!Oi.test(e))||!(\"v6\"!==t&&t||!Li.test(e))}function Ki(e,t){if(!Mi.test(e))return!1;try{const[r]=e.split(\".\");if(!r)return!1;const n=r.replace(/-/g,\"+\").replace(/_/g,\"/\").padEnd(r.length+(4-r.length%4)%4,\"=\"),s=JSON.parse(atob(n));return\"object\"==typeof s&&null!==s&&((!(\"typ\"in s)||\"JWT\"===s?.typ)&&(!!s.alg&&(!t||s.alg===t)))}catch{return!1}}function Wi(e,t){return!(\"v4\"!==t&&t||!_i.test(e))||!(\"v6\"!==t&&t||!Di.test(e))}class Ji extends Ti{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==ni.string){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.string,received:t.parsedType}),pi}const t=new fi;let r;for(const n of this._def.checks)if(\"min\"===n.kind)e.data.length<n.value&&(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.too_small,minimum:n.value,type:\"string\",inclusive:!0,exact:!1,message:n.message}),t.dirty());else if(\"max\"===n.kind)e.data.length>n.value&&(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.too_big,maximum:n.value,type:\"string\",inclusive:!0,exact:!1,message:n.message}),t.dirty());else if(\"length\"===n.kind){const s=e.data.length>n.value,i=e.data.length<n.value;(s||i)&&(r=this._getOrReturnCtx(e,r),s?hi(r,{code:ii.too_big,maximum:n.value,type:\"string\",inclusive:!0,exact:!0,message:n.message}):i&&hi(r,{code:ii.too_small,minimum:n.value,type:\"string\",inclusive:!0,exact:!0,message:n.message}),t.dirty())}else if(\"email\"===n.kind)Bi.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"email\",code:ii.invalid_string,message:n.message}),t.dirty());else if(\"emoji\"===n.kind)Ni||(Ni=new RegExp(\"^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$\",\"u\")),Ni.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"emoji\",code:ii.invalid_string,message:n.message}),t.dirty());else if(\"uuid\"===n.kind)Ii.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"uuid\",code:ii.invalid_string,message:n.message}),t.dirty());else if(\"nanoid\"===n.kind)Pi.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"nanoid\",code:ii.invalid_string,message:n.message}),t.dirty());else if(\"cuid\"===n.kind)ki.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"cuid\",code:ii.invalid_string,message:n.message}),t.dirty());else if(\"cuid2\"===n.kind)Si.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"cuid2\",code:ii.invalid_string,message:n.message}),t.dirty());else if(\"ulid\"===n.kind)Ci.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"ulid\",code:ii.invalid_string,message:n.message}),t.dirty());else if(\"url\"===n.kind)try{new URL(e.data)}catch{r=this._getOrReturnCtx(e,r),hi(r,{validation:\"url\",code:ii.invalid_string,message:n.message}),t.dirty()}else if(\"regex\"===n.kind){n.regex.lastIndex=0;n.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"regex\",code:ii.invalid_string,message:n.message}),t.dirty())}else if(\"trim\"===n.kind)e.data=e.data.trim();else if(\"includes\"===n.kind)e.data.includes(n.value,n.position)||(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.invalid_string,validation:{includes:n.value,position:n.position},message:n.message}),t.dirty());else if(\"toLowerCase\"===n.kind)e.data=e.data.toLowerCase();else if(\"toUpperCase\"===n.kind)e.data=e.data.toUpperCase();else if(\"startsWith\"===n.kind)e.data.startsWith(n.value)||(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.invalid_string,validation:{startsWith:n.value},message:n.message}),t.dirty());else if(\"endsWith\"===n.kind)e.data.endsWith(n.value)||(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.invalid_string,validation:{endsWith:n.value},message:n.message}),t.dirty());else if(\"datetime\"===n.kind){Vi(n).test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.invalid_string,validation:\"datetime\",message:n.message}),t.dirty())}else if(\"date\"===n.kind){Hi.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.invalid_string,validation:\"date\",message:n.message}),t.dirty())}else if(\"time\"===n.kind){Gi(n).test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.invalid_string,validation:\"time\",message:n.message}),t.dirty())}else\"duration\"===n.kind?Ri.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"duration\",code:ii.invalid_string,message:n.message}),t.dirty()):\"ip\"===n.kind?qi(e.data,n.version)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"ip\",code:ii.invalid_string,message:n.message}),t.dirty()):\"jwt\"===n.kind?Ki(e.data,n.alg)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"jwt\",code:ii.invalid_string,message:n.message}),t.dirty()):\"cidr\"===n.kind?Wi(e.data,n.version)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"cidr\",code:ii.invalid_string,message:n.message}),t.dirty()):\"base64\"===n.kind?Fi.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"base64\",code:ii.invalid_string,message:n.message}),t.dirty()):\"base64url\"===n.kind?Ui.test(e.data)||(r=this._getOrReturnCtx(e,r),hi(r,{validation:\"base64url\",code:ii.invalid_string,message:n.message}),t.dirty()):ti.assertNever(n);return{status:t.value,value:e.data}}_regex(e,t,r){return this.refinement(t=>e.test(t),{validation:t,code:ii.invalid_string,...ui.errToObj(r)})}_addCheck(e){return new Ji({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:\"email\",...ui.errToObj(e)})}url(e){return this._addCheck({kind:\"url\",...ui.errToObj(e)})}emoji(e){return this._addCheck({kind:\"emoji\",...ui.errToObj(e)})}uuid(e){return this._addCheck({kind:\"uuid\",...ui.errToObj(e)})}nanoid(e){return this._addCheck({kind:\"nanoid\",...ui.errToObj(e)})}cuid(e){return this._addCheck({kind:\"cuid\",...ui.errToObj(e)})}cuid2(e){return this._addCheck({kind:\"cuid2\",...ui.errToObj(e)})}ulid(e){return this._addCheck({kind:\"ulid\",...ui.errToObj(e)})}base64(e){return this._addCheck({kind:\"base64\",...ui.errToObj(e)})}base64url(e){return this._addCheck({kind:\"base64url\",...ui.errToObj(e)})}jwt(e){return this._addCheck({kind:\"jwt\",...ui.errToObj(e)})}ip(e){return this._addCheck({kind:\"ip\",...ui.errToObj(e)})}cidr(e){return this._addCheck({kind:\"cidr\",...ui.errToObj(e)})}datetime(e){return\"string\"==typeof e?this._addCheck({kind:\"datetime\",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:\"datetime\",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...ui.errToObj(e?.message)})}date(e){return this._addCheck({kind:\"date\",message:e})}time(e){return\"string\"==typeof e?this._addCheck({kind:\"time\",precision:null,message:e}):this._addCheck({kind:\"time\",precision:void 0===e?.precision?null:e?.precision,...ui.errToObj(e?.message)})}duration(e){return this._addCheck({kind:\"duration\",...ui.errToObj(e)})}regex(e,t){return this._addCheck({kind:\"regex\",regex:e,...ui.errToObj(t)})}includes(e,t){return this._addCheck({kind:\"includes\",value:e,position:t?.position,...ui.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:\"startsWith\",value:e,...ui.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:\"endsWith\",value:e,...ui.errToObj(t)})}min(e,t){return this._addCheck({kind:\"min\",value:e,...ui.errToObj(t)})}max(e,t){return this._addCheck({kind:\"max\",value:e,...ui.errToObj(t)})}length(e,t){return this._addCheck({kind:\"length\",value:e,...ui.errToObj(t)})}nonempty(e){return this.min(1,ui.errToObj(e))}trim(){return new Ji({...this._def,checks:[...this._def.checks,{kind:\"trim\"}]})}toLowerCase(){return new Ji({...this._def,checks:[...this._def.checks,{kind:\"toLowerCase\"}]})}toUpperCase(){return new Ji({...this._def,checks:[...this._def.checks,{kind:\"toUpperCase\"}]})}get isDatetime(){return!!this._def.checks.find(e=>\"datetime\"===e.kind)}get isDate(){return!!this._def.checks.find(e=>\"date\"===e.kind)}get isTime(){return!!this._def.checks.find(e=>\"time\"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>\"duration\"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>\"email\"===e.kind)}get isURL(){return!!this._def.checks.find(e=>\"url\"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>\"emoji\"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>\"uuid\"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>\"nanoid\"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>\"cuid\"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>\"cuid2\"===e.kind)}get isULID(){return!!this._def.checks.find(e=>\"ulid\"===e.kind)}get isIP(){return!!this._def.checks.find(e=>\"ip\"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>\"cidr\"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>\"base64\"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>\"base64url\"===e.kind)}get minLength(){let e=null;for(const t of this._def.checks)\"min\"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)\"max\"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function $i(e,t){const r=(e.toString().split(\".\")[1]||\"\").length,n=(t.toString().split(\".\")[1]||\"\").length,s=r>n?r:n;return Number.parseInt(e.toFixed(s).replace(\".\",\"\"))%Number.parseInt(t.toFixed(s).replace(\".\",\"\"))/10**s}Ji.create=e=>new Ji({checks:[],typeName:No.ZodString,coerce:e?.coerce??!1,...xi(e)});class Zi extends Ti{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==ni.number){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.number,received:t.parsedType}),pi}let t;const r=new fi;for(const n of this._def.checks)if(\"int\"===n.kind)ti.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),hi(t,{code:ii.invalid_type,expected:\"integer\",received:\"float\",message:n.message}),r.dirty());else if(\"min\"===n.kind){(n.inclusive?e.data<n.value:e.data<=n.value)&&(t=this._getOrReturnCtx(e,t),hi(t,{code:ii.too_small,minimum:n.value,type:\"number\",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty())}else if(\"max\"===n.kind){(n.inclusive?e.data>n.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),hi(t,{code:ii.too_big,maximum:n.value,type:\"number\",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty())}else\"multipleOf\"===n.kind?0!==$i(e.data,n.value)&&(t=this._getOrReturnCtx(e,t),hi(t,{code:ii.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):\"finite\"===n.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),hi(t,{code:ii.not_finite,message:n.message}),r.dirty()):ti.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit(\"min\",e,!0,ui.toString(t))}gt(e,t){return this.setLimit(\"min\",e,!1,ui.toString(t))}lte(e,t){return this.setLimit(\"max\",e,!0,ui.toString(t))}lt(e,t){return this.setLimit(\"max\",e,!1,ui.toString(t))}setLimit(e,t,r,n){return new Zi({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:ui.toString(n)}]})}_addCheck(e){return new Zi({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:\"int\",message:ui.toString(e)})}positive(e){return this._addCheck({kind:\"min\",value:0,inclusive:!1,message:ui.toString(e)})}negative(e){return this._addCheck({kind:\"max\",value:0,inclusive:!1,message:ui.toString(e)})}nonpositive(e){return this._addCheck({kind:\"max\",value:0,inclusive:!0,message:ui.toString(e)})}nonnegative(e){return this._addCheck({kind:\"min\",value:0,inclusive:!0,message:ui.toString(e)})}multipleOf(e,t){return this._addCheck({kind:\"multipleOf\",value:e,message:ui.toString(t)})}finite(e){return this._addCheck({kind:\"finite\",message:ui.toString(e)})}safe(e){return this._addCheck({kind:\"min\",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ui.toString(e)})._addCheck({kind:\"max\",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ui.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)\"min\"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)\"max\"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>\"int\"===e.kind||\"multipleOf\"===e.kind&&ti.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if(\"finite\"===r.kind||\"int\"===r.kind||\"multipleOf\"===r.kind)return!0;\"min\"===r.kind?(null===t||r.value>t)&&(t=r.value):\"max\"===r.kind&&(null===e||r.value<e)&&(e=r.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Zi.create=e=>new Zi({checks:[],typeName:No.ZodNumber,coerce:e?.coerce||!1,...xi(e)});class Yi extends Ti{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==ni.bigint)return this._getInvalidInput(e);let t;const r=new fi;for(const n of this._def.checks)if(\"min\"===n.kind){(n.inclusive?e.data<n.value:e.data<=n.value)&&(t=this._getOrReturnCtx(e,t),hi(t,{code:ii.too_small,type:\"bigint\",minimum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty())}else if(\"max\"===n.kind){(n.inclusive?e.data>n.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),hi(t,{code:ii.too_big,type:\"bigint\",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty())}else\"multipleOf\"===n.kind?e.data%n.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),hi(t,{code:ii.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):ti.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.bigint,received:t.parsedType}),pi}gte(e,t){return this.setLimit(\"min\",e,!0,ui.toString(t))}gt(e,t){return this.setLimit(\"min\",e,!1,ui.toString(t))}lte(e,t){return this.setLimit(\"max\",e,!0,ui.toString(t))}lt(e,t){return this.setLimit(\"max\",e,!1,ui.toString(t))}setLimit(e,t,r,n){return new Yi({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:ui.toString(n)}]})}_addCheck(e){return new Yi({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:\"min\",value:BigInt(0),inclusive:!1,message:ui.toString(e)})}negative(e){return this._addCheck({kind:\"max\",value:BigInt(0),inclusive:!1,message:ui.toString(e)})}nonpositive(e){return this._addCheck({kind:\"max\",value:BigInt(0),inclusive:!0,message:ui.toString(e)})}nonnegative(e){return this._addCheck({kind:\"min\",value:BigInt(0),inclusive:!0,message:ui.toString(e)})}multipleOf(e,t){return this._addCheck({kind:\"multipleOf\",value:e,message:ui.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)\"min\"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)\"max\"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}Yi.create=e=>new Yi({checks:[],typeName:No.ZodBigInt,coerce:e?.coerce??!1,...xi(e)});class Xi extends Ti{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==ni.boolean){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.boolean,received:t.parsedType}),pi}return gi(e.data)}}Xi.create=e=>new Xi({typeName:No.ZodBoolean,coerce:e?.coerce||!1,...xi(e)});class Qi extends Ti{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==ni.date){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.date,received:t.parsedType}),pi}if(Number.isNaN(e.data.getTime())){return hi(this._getOrReturnCtx(e),{code:ii.invalid_date}),pi}const t=new fi;let r;for(const n of this._def.checks)\"min\"===n.kind?e.data.getTime()<n.value&&(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:\"date\"}),t.dirty()):\"max\"===n.kind?e.data.getTime()>n.value&&(r=this._getOrReturnCtx(e,r),hi(r,{code:ii.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:\"date\"}),t.dirty()):ti.assertNever(n);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Qi({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:\"min\",value:e.getTime(),message:ui.toString(t)})}max(e,t){return this._addCheck({kind:\"max\",value:e.getTime(),message:ui.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)\"min\"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)\"max\"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}Qi.create=e=>new Qi({checks:[],coerce:e?.coerce||!1,typeName:No.ZodDate,...xi(e)});class eo extends Ti{_parse(e){if(this._getType(e)!==ni.symbol){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.symbol,received:t.parsedType}),pi}return gi(e.data)}}eo.create=e=>new eo({typeName:No.ZodSymbol,...xi(e)});class to extends Ti{_parse(e){if(this._getType(e)!==ni.undefined){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.undefined,received:t.parsedType}),pi}return gi(e.data)}}to.create=e=>new to({typeName:No.ZodUndefined,...xi(e)});class ro extends Ti{_parse(e){if(this._getType(e)!==ni.null){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.null,received:t.parsedType}),pi}return gi(e.data)}}ro.create=e=>new ro({typeName:No.ZodNull,...xi(e)});class no extends Ti{constructor(){super(...arguments),this._any=!0}_parse(e){return gi(e.data)}}no.create=e=>new no({typeName:No.ZodAny,...xi(e)});class so extends Ti{constructor(){super(...arguments),this._unknown=!0}_parse(e){return gi(e.data)}}so.create=e=>new so({typeName:No.ZodUnknown,...xi(e)});class io extends Ti{_parse(e){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.never,received:t.parsedType}),pi}}io.create=e=>new io({typeName:No.ZodNever,...xi(e)});class oo extends Ti{_parse(e){if(this._getType(e)!==ni.undefined){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.void,received:t.parsedType}),pi}return gi(e.data)}}oo.create=e=>new oo({typeName:No.ZodVoid,...xi(e)});class ao extends Ti{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==ni.array)return hi(t,{code:ii.invalid_type,expected:ni.array,received:t.parsedType}),pi;if(null!==n.exactLength){const e=t.data.length>n.exactLength.value,s=t.data.length<n.exactLength.value;(e||s)&&(hi(t,{code:e?ii.too_big:ii.too_small,minimum:s?n.exactLength.value:void 0,maximum:e?n.exactLength.value:void 0,type:\"array\",inclusive:!0,exact:!0,message:n.exactLength.message}),r.dirty())}if(null!==n.minLength&&t.data.length<n.minLength.value&&(hi(t,{code:ii.too_small,minimum:n.minLength.value,type:\"array\",inclusive:!0,exact:!1,message:n.minLength.message}),r.dirty()),null!==n.maxLength&&t.data.length>n.maxLength.value&&(hi(t,{code:ii.too_big,maximum:n.maxLength.value,type:\"array\",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map((e,r)=>n.type._parseAsync(new Ai(t,e,t.path,r)))).then(e=>fi.mergeArray(r,e));const s=[...t.data].map((e,r)=>n.type._parseSync(new Ai(t,e,t.path,r)));return fi.mergeArray(r,s)}get element(){return this._def.type}min(e,t){return new ao({...this._def,minLength:{value:e,message:ui.toString(t)}})}max(e,t){return new ao({...this._def,maxLength:{value:e,message:ui.toString(t)}})}length(e,t){return new ao({...this._def,exactLength:{value:e,message:ui.toString(t)}})}nonempty(e){return this.min(1,e)}}function co(e){if(e instanceof lo){const t={};for(const r in e.shape){const n=e.shape[r];t[r]=ko.create(co(n))}return new lo({...e._def,shape:()=>t})}return e instanceof ao?new ao({...e._def,type:co(e.element)}):e instanceof ko?ko.create(co(e.unwrap())):e instanceof So?So.create(co(e.unwrap())):e instanceof po?po.create(e.items.map(e=>co(e))):e}ao.create=(e,t)=>new ao({type:e,minLength:null,maxLength:null,exactLength:null,typeName:No.ZodArray,...xi(t)});class lo extends Ti{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=ti.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==ni.object){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.object,received:t.parsedType}),pi}const{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:s}=this._getCached(),i=[];if(!(this._def.catchall instanceof io&&\"strip\"===this._def.unknownKeys))for(const e in r.data)s.includes(e)||i.push(e);const o=[];for(const e of s){const t=n[e],s=r.data[e];o.push({key:{status:\"valid\",value:e},value:t._parse(new Ai(r,s,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof io){const e=this._def.unknownKeys;if(\"passthrough\"===e)for(const e of i)o.push({key:{status:\"valid\",value:e},value:{status:\"valid\",value:r.data[e]}});else if(\"strict\"===e)i.length>0&&(hi(r,{code:ii.unrecognized_keys,keys:i}),t.dirty());else if(\"strip\"!==e)throw new Error(\"Internal ZodObject error: invalid unknownKeys value.\")}else{const e=this._def.catchall;for(const t of i){const n=r.data[t];o.push({key:{status:\"valid\",value:t},value:e._parse(new Ai(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then(async()=>{const e=[];for(const t of o){const r=await t.key,n=await t.value;e.push({key:r,value:n,alwaysSet:t.alwaysSet})}return e}).then(e=>fi.mergeObjectSync(t,e)):fi.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return ui.errToObj,new lo({...this._def,unknownKeys:\"strict\",...void 0!==e?{errorMap:(t,r)=>{const n=this._def.errorMap?.(t,r).message??r.defaultError;return\"unrecognized_keys\"===t.code?{message:ui.errToObj(e).message??n}:{message:n}}}:{}})}strip(){return new lo({...this._def,unknownKeys:\"strip\"})}passthrough(){return new lo({...this._def,unknownKeys:\"passthrough\"})}extend(e){return new lo({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new lo({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:No.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new lo({...this._def,catchall:e})}pick(e){const t={};for(const r of ti.objectKeys(e))e[r]&&this.shape[r]&&(t[r]=this.shape[r]);return new lo({...this._def,shape:()=>t})}omit(e){const t={};for(const r of ti.objectKeys(this.shape))e[r]||(t[r]=this.shape[r]);return new lo({...this._def,shape:()=>t})}deepPartial(){return co(this)}partial(e){const t={};for(const r of ti.objectKeys(this.shape)){const n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()}return new lo({...this._def,shape:()=>t})}required(e){const t={};for(const r of ti.objectKeys(this.shape))if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof ko;)e=e._def.innerType;t[r]=e}return new lo({...this._def,shape:()=>t})}keyof(){return wo(ti.objectKeys(this.shape))}}lo.create=(e,t)=>new lo({shape:()=>e,unknownKeys:\"strip\",catchall:io.create(),typeName:No.ZodObject,...xi(t)}),lo.strictCreate=(e,t)=>new lo({shape:()=>e,unknownKeys:\"strict\",catchall:io.create(),typeName:No.ZodObject,...xi(t)}),lo.lazycreate=(e,t)=>new lo({shape:e,unknownKeys:\"strip\",catchall:io.create(),typeName:No.ZodObject,...xi(t)});class uo extends Ti{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map(async e=>{const r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}})).then(function(e){for(const t of e)if(\"valid\"===t.result.status)return t.result;for(const r of e)if(\"dirty\"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;const r=e.map(e=>new oi(e.ctx.common.issues));return hi(t,{code:ii.invalid_union,unionErrors:r}),pi});{let e;const n=[];for(const s of r){const r={...t,common:{...t.common,issues:[]},parent:null},i=s._parseSync({data:t.data,path:t.path,parent:r});if(\"valid\"===i.status)return i;\"dirty\"!==i.status||e||(e={result:i,ctx:r}),r.common.issues.length&&n.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const s=n.map(e=>new oi(e));return hi(t,{code:ii.invalid_union,unionErrors:s}),pi}}get options(){return this._def.options}}uo.create=(e,t)=>new uo({options:e,typeName:No.ZodUnion,...xi(t)});function ho(e,t){const r=si(e),n=si(t);if(e===t)return{valid:!0,data:e};if(r===ni.object&&n===ni.object){const r=ti.objectKeys(t),n=ti.objectKeys(e).filter(e=>-1!==r.indexOf(e)),s={...e,...t};for(const r of n){const n=ho(e[r],t[r]);if(!n.valid)return{valid:!1};s[r]=n.data}return{valid:!0,data:s}}if(r===ni.array&&n===ni.array){if(e.length!==t.length)return{valid:!1};const r=[];for(let n=0;n<e.length;n++){const s=ho(e[n],t[n]);if(!s.valid)return{valid:!1};r.push(s.data)}return{valid:!0,data:r}}return r===ni.date&&n===ni.date&&+e===+t?{valid:!0,data:e}:{valid:!1}}class fo extends Ti{_parse(e){const{status:t,ctx:r}=this._processInputParams(e),n=(e,n)=>{if(yi(e)||yi(n))return pi;const s=ho(e.value,n.value);return s.valid?((bi(e)||bi(n))&&t.dirty(),{status:t.value,value:s.data}):(hi(r,{code:ii.invalid_intersection_types}),pi)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([e,t])=>n(e,t)):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}fo.create=(e,t,r)=>new fo({left:e,right:t,typeName:No.ZodIntersection,...xi(r)});class po extends Ti{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==ni.array)return hi(r,{code:ii.invalid_type,expected:ni.array,received:r.parsedType}),pi;if(r.data.length<this._def.items.length)return hi(r,{code:ii.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:\"array\"}),pi;!this._def.rest&&r.data.length>this._def.items.length&&(hi(r,{code:ii.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:\"array\"}),t.dirty());const n=[...r.data].map((e,t)=>{const n=this._def.items[t]||this._def.rest;return n?n._parse(new Ai(r,e,r.path,t)):null}).filter(e=>!!e);return r.common.async?Promise.all(n).then(e=>fi.mergeArray(t,e)):fi.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new po({...this._def,rest:e})}}po.create=(e,t)=>{if(!Array.isArray(e))throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");return new po({items:e,typeName:No.ZodTuple,rest:null,...xi(t)})};class mo extends Ti{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==ni.object)return hi(r,{code:ii.invalid_type,expected:ni.object,received:r.parsedType}),pi;const n=[],s=this._def.keyType,i=this._def.valueType;for(const e in r.data)n.push({key:s._parse(new Ai(r,e,r.path,e)),value:i._parse(new Ai(r,r.data[e],r.path,e)),alwaysSet:e in r.data});return r.common.async?fi.mergeObjectAsync(t,n):fi.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new mo(t instanceof Ti?{keyType:e,valueType:t,typeName:No.ZodRecord,...xi(r)}:{keyType:Ji.create(),valueType:e,typeName:No.ZodRecord,...xi(t)})}}class go extends Ti{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==ni.map)return hi(r,{code:ii.invalid_type,expected:ni.map,received:r.parsedType}),pi;const n=this._def.keyType,s=this._def.valueType,i=[...r.data.entries()].map(([e,t],i)=>({key:n._parse(new Ai(r,e,r.path,[i,\"key\"])),value:s._parse(new Ai(r,t,r.path,[i,\"value\"]))}));if(r.common.async){const e=new Map;return Promise.resolve().then(async()=>{for(const r of i){const n=await r.key,s=await r.value;if(\"aborted\"===n.status||\"aborted\"===s.status)return pi;\"dirty\"!==n.status&&\"dirty\"!==s.status||t.dirty(),e.set(n.value,s.value)}return{status:t.value,value:e}})}{const e=new Map;for(const r of i){const n=r.key,s=r.value;if(\"aborted\"===n.status||\"aborted\"===s.status)return pi;\"dirty\"!==n.status&&\"dirty\"!==s.status||t.dirty(),e.set(n.value,s.value)}return{status:t.value,value:e}}}}go.create=(e,t,r)=>new go({valueType:t,keyType:e,typeName:No.ZodMap,...xi(r)});class yo extends Ti{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==ni.set)return hi(r,{code:ii.invalid_type,expected:ni.set,received:r.parsedType}),pi;const n=this._def;null!==n.minSize&&r.data.size<n.minSize.value&&(hi(r,{code:ii.too_small,minimum:n.minSize.value,type:\"set\",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),null!==n.maxSize&&r.data.size>n.maxSize.value&&(hi(r,{code:ii.too_big,maximum:n.maxSize.value,type:\"set\",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());const s=this._def.valueType;function i(e){const r=new Set;for(const n of e){if(\"aborted\"===n.status)return pi;\"dirty\"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}const o=[...r.data.values()].map((e,t)=>s._parse(new Ai(r,e,r.path,t)));return r.common.async?Promise.all(o).then(e=>i(e)):i(o)}min(e,t){return new yo({...this._def,minSize:{value:e,message:ui.toString(t)}})}max(e,t){return new yo({...this._def,maxSize:{value:e,message:ui.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}yo.create=(e,t)=>new yo({valueType:e,minSize:null,maxSize:null,typeName:No.ZodSet,...xi(t)});class bo extends Ti{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}bo.create=(e,t)=>new bo({getter:e,typeName:No.ZodLazy,...xi(t)});class vo extends Ti{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return hi(t,{received:t.data,code:ii.invalid_literal,expected:this._def.value}),pi}return{status:\"valid\",value:e.data}}get value(){return this._def.value}}function wo(e,t){return new Ao({values:e,typeName:No.ZodEnum,...xi(t)})}vo.create=(e,t)=>new vo({value:e,typeName:No.ZodLiteral,...xi(t)});class Ao extends Ti{_parse(e){if(\"string\"!=typeof e.data){const t=this._getOrReturnCtx(e),r=this._def.values;return hi(t,{expected:ti.joinValues(r),received:t.parsedType,code:ii.invalid_type}),pi}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),r=this._def.values;return hi(t,{received:t.data,code:ii.invalid_enum_value,options:r}),pi}return gi(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Ao.create(e,{...this._def,...t})}exclude(e,t=this._def){return Ao.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}Ao.create=wo;class Eo extends Ti{_parse(e){const t=ti.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==ni.string&&r.parsedType!==ni.number){const e=ti.objectValues(t);return hi(r,{expected:ti.joinValues(e),received:r.parsedType,code:ii.invalid_type}),pi}if(this._cache||(this._cache=new Set(ti.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const e=ti.objectValues(t);return hi(r,{received:r.data,code:ii.invalid_enum_value,options:e}),pi}return gi(e.data)}get enum(){return this._def.values}}Eo.create=(e,t)=>new Eo({values:e,typeName:No.ZodNativeEnum,...xi(t)});class xo extends Ti{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ni.promise&&!1===t.common.async)return hi(t,{code:ii.invalid_type,expected:ni.promise,received:t.parsedType}),pi;const r=t.parsedType===ni.promise?t.data:Promise.resolve(t.data);return gi(r.then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}xo.create=(e,t)=>new xo({type:e,typeName:No.ZodPromise,...xi(t)});class To extends Ti{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===No.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e),n=this._def.effect||null,s={addIssue:e=>{hi(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),\"preprocess\"===n.type){const e=n.transform(r.data,s);if(r.common.async)return Promise.resolve(e).then(async e=>{if(\"aborted\"===t.value)return pi;const n=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return\"aborted\"===n.status?pi:\"dirty\"===n.status||\"dirty\"===t.value?mi(n.value):n});{if(\"aborted\"===t.value)return pi;const n=this._def.schema._parseSync({data:e,path:r.path,parent:r});return\"aborted\"===n.status?pi:\"dirty\"===n.status||\"dirty\"===t.value?mi(n.value):n}}if(\"refinement\"===n.type){const e=e=>{const t=n.refinement(e,s);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");return e};if(!1===r.common.async){const n=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return\"aborted\"===n.status?pi:(\"dirty\"===n.status&&t.dirty(),e(n.value),{status:t.value,value:n.value})}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(r=>\"aborted\"===r.status?pi:(\"dirty\"===r.status&&t.dirty(),e(r.value).then(()=>({status:t.value,value:r.value}))))}if(\"transform\"===n.type){if(!1===r.common.async){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!vi(e))return pi;const i=n.transform(e.value,s);if(i instanceof Promise)throw new Error(\"Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.\");return{status:t.value,value:i}}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(e=>vi(e)?Promise.resolve(n.transform(e.value,s)).then(e=>({status:t.value,value:e})):pi)}ti.assertNever(n)}}To.create=(e,t,r)=>new To({schema:e,typeName:No.ZodEffects,effect:t,...xi(r)}),To.createWithPreprocess=(e,t,r)=>new To({schema:t,effect:{type:\"preprocess\",transform:e},typeName:No.ZodEffects,...xi(r)});class ko extends Ti{_parse(e){return this._getType(e)===ni.undefined?gi(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ko.create=(e,t)=>new ko({innerType:e,typeName:No.ZodOptional,...xi(t)});class So extends Ti{_parse(e){return this._getType(e)===ni.null?gi(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}So.create=(e,t)=>new So({innerType:e,typeName:No.ZodNullable,...xi(t)});class Co extends Ti{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;return t.parsedType===ni.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Co.create=(e,t)=>new Co({innerType:e,typeName:No.ZodDefault,defaultValue:\"function\"==typeof t.default?t.default:()=>t.default,...xi(t)});class Io extends Ti{_parse(e){const{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return wi(n)?n.then(e=>({status:\"valid\",value:\"valid\"===e.status?e.value:this._def.catchValue({get error(){return new oi(r.common.issues)},input:r.data})})):{status:\"valid\",value:\"valid\"===n.status?n.value:this._def.catchValue({get error(){return new oi(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Io.create=(e,t)=>new Io({innerType:e,typeName:No.ZodCatch,catchValue:\"function\"==typeof t.catch?t.catch:()=>t.catch,...xi(t)});class Po extends Ti{_parse(e){if(this._getType(e)!==ni.nan){const t=this._getOrReturnCtx(e);return hi(t,{code:ii.invalid_type,expected:ni.nan,received:t.parsedType}),pi}return{status:\"valid\",value:e.data}}}Po.create=e=>new Po({typeName:No.ZodNaN,...xi(e)});Symbol(\"zod_brand\");class Mo extends Ti{_parse(e){const{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class Ro extends Ti{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return\"aborted\"===e.status?pi:\"dirty\"===e.status?(t.dirty(),mi(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})()}{const e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return\"aborted\"===e.status?pi:\"dirty\"===e.status?(t.dirty(),{status:\"dirty\",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new Ro({in:e,out:t,typeName:No.ZodPipeline})}}class Bo extends Ti{_parse(e){const t=this._def.innerType._parse(e),r=e=>(vi(e)&&(e.value=Object.freeze(e.value)),e);return wi(t)?t.then(e=>r(e)):r(t)}unwrap(){return this._def.innerType}}Bo.create=(e,t)=>new Bo({innerType:e,typeName:No.ZodReadonly,...xi(t)});lo.lazycreate;var No;!function(e){e.ZodString=\"ZodString\",e.ZodNumber=\"ZodNumber\",e.ZodNaN=\"ZodNaN\",e.ZodBigInt=\"ZodBigInt\",e.ZodBoolean=\"ZodBoolean\",e.ZodDate=\"ZodDate\",e.ZodSymbol=\"ZodSymbol\",e.ZodUndefined=\"ZodUndefined\",e.ZodNull=\"ZodNull\",e.ZodAny=\"ZodAny\",e.ZodUnknown=\"ZodUnknown\",e.ZodNever=\"ZodNever\",e.ZodVoid=\"ZodVoid\",e.ZodArray=\"ZodArray\",e.ZodObject=\"ZodObject\",e.ZodUnion=\"ZodUnion\",e.ZodDiscriminatedUnion=\"ZodDiscriminatedUnion\",e.ZodIntersection=\"ZodIntersection\",e.ZodTuple=\"ZodTuple\",e.ZodRecord=\"ZodRecord\",e.ZodMap=\"ZodMap\",e.ZodSet=\"ZodSet\",e.ZodFunction=\"ZodFunction\",e.ZodLazy=\"ZodLazy\",e.ZodLiteral=\"ZodLiteral\",e.ZodEnum=\"ZodEnum\",e.ZodEffects=\"ZodEffects\",e.ZodNativeEnum=\"ZodNativeEnum\",e.ZodOptional=\"ZodOptional\",e.ZodNullable=\"ZodNullable\",e.ZodDefault=\"ZodDefault\",e.ZodCatch=\"ZodCatch\",e.ZodPromise=\"ZodPromise\",e.ZodBranded=\"ZodBranded\",e.ZodPipeline=\"ZodPipeline\",e.ZodReadonly=\"ZodReadonly\"}(No||(No={}));const Oo=Ji.create,_o=Zi.create,Lo=(Po.create,Yi.create),Do=Xi.create,Fo=(Qi.create,eo.create,to.create,ro.create,no.create),Uo=so.create,jo=(io.create,oo.create,ao.create),Ho=lo.create,zo=(lo.strictCreate,uo.create),Go=fo.create,Vo=(po.create,mo.create),qo=(go.create,yo.create,bo.create,vo.create);Ao.create,Eo.create,xo.create,To.create,ko.create,So.create,To.createWithPreprocess,Ro.create;const Ko=BigInt(0),Wo=BigInt(1),Jo=BigInt(2),$o=BigInt(7),Zo=BigInt(256),Yo=BigInt(113),Xo=[],Qo=[],ea=[];for(let e=0,t=Wo,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Xo.push(2*(5*n+r)),Qo.push((e+1)*(e+2)/2%64);let s=Ko;for(let e=0;e<7;e++)t=(t<<Wo^(t>>$o)*Yo)%Zo,t&Jo&&(s^=Wo<<(Wo<<BigInt(e))-Wo);ea.push(s)}const ta=Ur(ea,!0),ra=ta[0],na=ta[1],sa=(e,t,r)=>r>32?zr(e,t,r):jr(e,t,r),ia=(e,t,r)=>r>32?Gr(e,t,r):Hr(e,t,r);class oa extends kr{constructor(e,t,r,n=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=s,nr(r),!(0<e&&e<200))throw new Error(\"only keccak-f1600 function is supported\");this.state=new Uint8Array(200),this.state32=cr(this.state)}clone(){return this._cloneInto()}keccak(){mr(this.state32),function(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const n=(t+8)%10,s=(t+2)%10,i=r[s],o=r[s+1],a=sa(i,o,1)^r[n],c=ia(i,o,1)^r[n+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],s=e[3];for(let r=0;r<24;r++){const n=Qo[r],i=sa(t,s,n),o=ia(t,s,n),a=Xo[r];t=e[a],s=e[a+1],e[a]=i,e[a+1]=o}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=ra[n],e[1]^=na[n]}lr(r)}(this.state32,this.rounds),mr(this.state32),this.posOut=0,this.pos=0}update(e){or(this),sr(e=Ar(e));const{blockLen:t,state:r}=this,n=e.length;for(let s=0;s<n;){const i=Math.min(t-this.pos,n-s);for(let t=0;t<i;t++)r[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:n}=this;e[r]^=t,128&t&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak()}writeInto(e){or(this,!1),sr(e),this.finish();const t=this.state,{blockLen:r}=this;for(let n=0,s=e.length;n<s;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,s-n);e.set(t.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return e}xofInto(e){if(!this.enableXOF)throw new Error(\"XOF is not possible for this instance\");return this.writeInto(e)}xof(e){return nr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ar(e,this),this.finished)throw new Error(\"digest() was already called\");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,lr(this.state)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:s,enableXOF:i}=this;return e||(e=new oa(t,r,n,i,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=n,e.enableXOF=i,e.destroyed=this.destroyed,e}}const aa=(e,t,r)=>Sr(()=>new oa(t,e,r)),ca=aa(1,136,32);var la=r(5250);function ua(e,t){return r=e,Boolean(\"string\"==typeof r?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var r}class da extends Error{constructor(e){super(e.message),this.code=\"ERR_ASSERTION\"}}function ha(e,t=\"Assertion failed.\",r=da){if(!e){if(t instanceof Error)throw t;throw ua(r,t)}}const{memoize:fa}=la,pa=/^(?:0x)?[0-9a-f]+$/iu,ma=/^0x[0-9a-f]+$/iu,ga=/^0x[0-9a-f]{40}$/u,ya=/^0x[0-9a-fA-F]{40}$/u,ba=(B(P(),pa),B(P(),ma),B(P(),ga),B(P(),ya),e=>\"string\"==typeof e);function va(e){return ba(e)&&pa.test(e)}function wa(e){return ba(e)&&ma.test(e)}function Aa(e){return ba(e)&&ya.test(e)}function Ea(e){ha(va(e),\"Value must be a hexadecimal string.\")}const xa=fa(function(e){ha(Aa(e),\"Invalid hex address.\");const t=Sa(e).toLowerCase(),r=ca(t),{length:n}=t,s=new Array(n);for(let e=0;e<n;e++){const n=1&e,i=r[e>>1],o=0===n?i>>4:15&i;s[e]=o>=8?t[e].toUpperCase():t[e]}return`0x${s.join(\"\")}`});const Ta=fa(function(e){return!!Aa(e)&&xa(e)===e});fa(function(e){return ba(t=e)&&ga.test(t)||Ta(e);var t});function ka(e){return e.startsWith(\"0x\")?e:e.startsWith(\"0X\")?`0x${e.substring(2)}`:`0x${e}`}function Sa(e){return e.startsWith(\"0x\")||e.startsWith(\"0X\")?e.substring(2):e}const Ca=\"0x0000000000000000000000000000000000000000\",Ia=\":/:\",Pa=Oo().regex(/^0x[a-fA-F0-9]{40}$/u,\"Invalid Ethereum address\").transform(e=>xa(e)),Ma=Pa.refine(e=>e!==Ca,{message:\"Address cannot be the zero address\"}),Ra=Oo().regex(/^0x[a-fA-F0-9]*$/u,\"Invalid hex value\").transform(e=>e),Ba=Ra.optional().nullable(),Na=(Lo(),{\"native-token-allowance\":[\"expiry\",\"redeemer\",\"payee\"],\"native-token-stream\":[\"expiry\",\"redeemer\",\"payee\"],\"native-token-periodic\":[\"expiry\",\"redeemer\",\"payee\"],\"erc20-token-allowance\":[\"expiry\",\"redeemer\",\"payee\"],\"erc20-token-stream\":[\"expiry\",\"redeemer\",\"payee\"],\"erc20-token-periodic\":[\"expiry\",\"redeemer\",\"payee\"],\"token-approval-revocation\":[\"expiry\",\"redeemer\"]}),Oa=Ho({chainIds:jo(Ra).optional(),ruleTypes:jo(Oo())}),_a=(Vo(Oo(),Oa),zo([Oo(),Ho({name:Oo(),description:Oo().optional()})])),La=Ho({type:_a,isAdjustmentAllowed:Do(),data:Vo(Fo())}),Da=_o().int().positive(),Fa=Ho({type:_a,data:Vo(Oo(),Fo())}).refine(t=>\"expiry\"!==e(t.type)||Da.safeParse(t.data.timestamp).success,{message:\"Expiry timestamp must be a valid positive integer\"}).refine(t=>\"redeemer\"!==e(t.type)||Ho({addresses:jo(Pa).min(1)}).safeParse(t.data).success,{message:\"Redeemer rule must include a non-empty addresses array of valid Ethereum addresses\"}).refine(t=>\"payee\"!==e(t.type)||Ho({addresses:jo(Pa).min(1)}).safeParse(t.data).success,{message:\"Payee rule must include a non-empty addresses array of valid Ethereum addresses\"}),Ua=\"No justification was provided for the permission\",ja=Oo().nullable().optional().transform(e=>null==e?Ua:e).pipe(Oo().transform(e=>{const t=e.trim().replace(/\\s+/g,\" \");return 0===t.length?Ua:t}).pipe(Oo().min(1,\"Justification cannot be empty\").max(300,\"Justification cannot exceed 300 characters\").refine(e=>![/[<>]/,/[{}]/,/[\\[\\]]/,/@(?:import|media|keyframes|font-face|page|charset|namespace|supports|document|viewport|counter-style|font-feature-values|property|layer)\\b/,/expression\\s*\\(/,/behavior\\s*:\\s*url/,/url\\s*\\(/,/on\\w+\\s*=/,/javascript:|data:|vbscript:/,/[\"`]/,/[\\u0000-\\u0008\\u000E-\\u001F\\u007F]/,/[\\u202E\\u202D\\u202C\\u200E\\u200F]/,/[\\u200B\\u200C\\u200D]/,/[\\u0300-\\u036F\\u1AB0-\\u1AFF\\u20D0-\\u20FF]/,/[\\uFF00-\\uFFEF]/,/&[a-zA-Z]+;/,/&#\\d+;/,/&#x[0-9a-fA-F]+;/,/\\\\u[0-9a-fA-F]{4}/].some(t=>t.test(e)),{message:\"Justification contains invalid characters or patterns\"}))),Ha=Ho({justification:ja}),za=Ho({chainId:Ra,from:Pa.optional().nullable(),to:Pa,permission:La,rules:jo(Fa).superRefine((t,r)=>{const n=t.map(t=>e(t.type));new Set(n).size!==n.length&&r.addIssue({code:ii.custom,message:\"Duplicate rule types are not allowed\"})})}).superRefine((t,r)=>{const n=e(t.permission.type),s=Na[n];if(s)for(const i of t.rules){const t=e(i.type);s.includes(t)||r.addIssue({code:ii.custom,message:`Rule type \"${t}\" is not supported for permission type \"${n}\". Supported: ${s.join(\", \")||\"none\"}`,path:[\"rules\"]})}}),Ga=jo(za),Va=Ho({permissionsRequest:Ga,siteOrigin:Oo()}),qa=Da.nullable().optional().refine(e=>null==e||(e=>{const t=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0);return e>=Math.floor(r.getTime()/1e3)})(e),{message:\"Start time must be today or later\"}),Ka=Ho({factory:Pa,factoryData:Ra}),Wa=Ho({context:Ra,dependencies:jo(Ka),delegationManager:Pa}),Ja=(jo(Wa),Go(za,Wa)),$a=(jo(Ja),Ho({isRevoked:Do().optional(),siteOrigin:Oo().optional(),chainId:Ra.optional(),delegationManager:Pa.optional()})),Za=Ho({type:_a,proposedName:Oo()}),Ya=(jo(Za),Ho({hostId:Oo(),type:_a,proposedName:Oo()})),Xa=jo(Ya);Vo(Oo(),Xa);async function Qa(e,t,r,n){const{retries:s=1,delayMs:i=1e3}=n??{};for(let n=0;n<=s;n++)try{return await ec(e,t,r)}catch(e){if(e instanceof Ys&&n<s){await nc(i);continue}throw e}throw new Gs(`Failed to fetch resource after ${s+1} attempts`)}async function ec(e,t,r){const{timeoutMs:n,maxResponseSizeBytes:s,fetch:i=globalThis.fetch}=t,o=new AbortController,a=setTimeout(()=>o.abort(),n);let c;try{c=await i(e,{signal:o.signal,headers:{...t.headers,Accept:\"application/json\",\"User-Agent\":\"MetaMask-Snap/1.0\"}})}catch(e){if(e instanceof Error&&\"AbortError\"===e.name)throw new Ys(`Request timed out after ${n}ms`);throw new Gs(`Failed to fetch resource: ${e instanceof Error?e.message:\"Unknown error\"}`)}finally{clearTimeout(a)}return rc(c,s,r)}async function tc(e,t,r,n){const{timeoutMs:s,maxResponseSizeBytes:i,fetch:o=globalThis.fetch}=t,a=new AbortController,c=setTimeout(()=>a.abort(),s);let l;try{l=await o(e,{method:\"POST\",signal:a.signal,headers:{...t.headers,Accept:\"application/json\",\"Content-Type\":\"application/json\",\"User-Agent\":\"MetaMask-Snap/1.0\"},body:JSON.stringify(r)})}catch(e){if(e instanceof Error&&\"AbortError\"===e.name)throw new Ys(`Request timed out after ${s}ms`);throw new Gs(`Failed to fetch resource: ${e instanceof Error?e.message:\"Unknown error\"}`)}finally{clearTimeout(c)}return rc(l,i,n)}async function rc(e,t,r){if(!e.ok){if(404===e.status)throw new Zs(`Resource not found: ${e.status}`);if((n=e.status)>501||429===n||408===n)throw new Ys(`Server error: ${e.status}`);if(e.status>=400)throw new Vs(`Client error: ${e.status}`)}var n;const s=e.headers?.get(\"content-length\");if(s&&parseInt(s,10)>t)throw new Ws(`Response too large: ${s} bytes exceeds limit of ${t} bytes`);let i;try{i=await e.json()}catch{throw new $s(\"Failed to parse JSON response\")}try{return r.parse(i)}catch{throw new Gs(\"Invalid response structure\")}}async function nc(e){return new Promise(t=>setTimeout(t,e))}const sc=({value:e,decimals:t})=>{const r=e.toString().padStart(t+1,\"0\"),n=r.slice(0,-t),s=r.slice(-t).replace(/0+$/u,\"\");return s.length>0?`${n}.${s}`:n},ic=({value:e,allowNull:t,decimals:r})=>{if(null==e){if(t)return null;throw new Vs(\"Value is undefined\")}return sc({value:BigInt(e),decimals:r})};function oc({formatted:e,decimals:t}){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/u.test(e))throw new Vs(`Invalid numeric value: ${e}`);let[r=\"0\",n=\"0\"]=e.split(\".\");const s=r.startsWith(\"-\");if(s&&(r=r.slice(1)),\"\"===r&&(r=\"0\"),n=n.replace(/(0+)$/u,\"\"),0===t)1===Math.round(Number(`.${n}`))&&(r=`${BigInt(r)+1n}`),n=\"\";else if(n.length>t){const[e,s,i]=[n.slice(0,t-1),n.slice(t-1,t),n.slice(t)],o=Math.round(Number(`${s}.${i}`));if(o>9){n=`${(\"\"===e?0n:BigInt(e))+1n}0`.padStart(e.length+1,\"0\")}else n=`${e}${o}`;n.length>t&&(n=n.slice(1),r=`${BigInt(r)+1n}`),n=n.slice(0,t)}else n=n.padEnd(t,\"0\");return BigInt(`${s?\"-\":\"\"}${r}${n}`)}const ac=Ho({address:Pa,balance:Oo().regex(/^\\d+\\.?\\d*$/u,\"Balance must be a numeric string\"),decimals:_o().int().min(0).max(77),symbol:Oo().min(1).max(20).regex(/^[A-Z0-9]+$/iu,\"Symbol must contain only alphanumeric characters\"),name:Oo().min(1).max(100),object:qo(\"token\").optional(),type:Oo().min(1).max(20).optional(),occurrences:_o().nonnegative().optional(),chainId:_o().int().positive().optional(),timestamp:Oo().optional()}),cc=Ho({count:_o().int().nonnegative(),balances:jo(ac),unprocessedNetworks:jo(Uo())}),lc=Ho({address:Pa,chainId:_o().int().positive(),decimals:_o().int().min(0).max(77),iconUrl:Oo().url().max(2048).optional(),name:Oo().min(1).max(100),symbol:Oo().min(1).max(20).regex(/^[A-Z0-9]+$/iu,\"Symbol must contain only alphanumeric characters\")});class uc{static#h=Ca;#f;#p;#m;#g;#y;constructor({accountBaseUrl:e,tokensBaseUrl:t,fetch:r=globalThis.fetch,timeoutMs:n,maxResponseSizeBytes:s}){this.#f=r,this.#p=e.replace(/\\/+$/u,\"\"),this.#m=t.replace(/\\/+$/u,\"\"),this.#g=n,this.#y=s}isChainIdSupported({chainId:e}){return[1,10,1329,137,42161,534352,56,59144,8453].includes(e)}async getTokenBalance({chainId:e,assetAddress:t,account:r,retryOptions:n}){if(!e){const e=\"No chainId provided to fetch token balance\";throw i.error(e),new Vs(e)}if(!r){const e=\"No account address provided to fetch token balance\";throw i.error(e),new Vs(e)}const s=t??uc.#h,o=await this.#b(s,r,e,n),{balances:a,count:c}=o,l=s.toLowerCase(),u=a.find(e=>e.address.toLowerCase()===l);if(0===c||void 0===u)return i.info(`No balance found for token ${s} on account ${r}`),0n;return oc({formatted:u.balance,decimals:u.decimals})}async getTokenMetadata({chainId:e,assetAddress:t,retryOptions:r}){if(!e){const e=\"No chainId provided to fetch token metadata\";throw i.error(e),new Vs(e)}const n=t??uc.#h;let s;try{s=await this.#v(n,e,r)}catch(e){if(e instanceof Vs)throw new Vs(\"Failed to fetch token balance and metadata: Token address is invalid\");throw e}return{decimals:s.decimals,symbol:s.symbol,...s.iconUrl&&{iconUrl:s.iconUrl}}}async getTokenBalanceAndMetadata({chainId:e,assetAddress:t,account:r,retryOptions:n}){const s=this.getTokenBalance({chainId:e,assetAddress:t,account:r,retryOptions:n}),i=this.getTokenMetadata({chainId:e,assetAddress:t,retryOptions:n}),[o,a]=await Promise.all([s,i]),c=a.iconUrl?this.#w(a.iconUrl):void 0,l={balance:o,decimals:a.decimals,symbol:a.symbol};return c&&(l.iconUrl=c),l}#w(e){try{const t=new URL(e);if(\"https:\"!==t.protocol)return void i.warn(`Rejecting non-HTTPS icon URL: ${e}`);return[\".png\",\".jpg\",\".jpeg\",\".gif\",\".svg\",\".webp\"].some(e=>t.pathname.toLowerCase().endsWith(e))?t.toString():void i.warn(`Rejecting icon URL with invalid extension: ${e}`)}catch(t){return void i.warn(`Invalid icon URL format: ${e}`,t)}}async#b(e,t,r,n){const s=`${this.#p}/v2/accounts/${t}/balances?networks=${r}&filterSupportedTokens=false&includeTokenAddresses=${e}&includeStakedAssets=false`;return await Qa(s,{timeoutMs:this.#g,maxResponseSizeBytes:this.#y,fetch:this.#f,headers:{\"x-mmcx-internal-application\":\"gator-permissions-snap\",\"x-metamask-clientproduct\":\"gator-permissions-snap\"}},cc,n)}async#v(e,t,r){const n=`${this.#m}/token/${t}?address=${e}&includeEnrichedData=false&includeCoingeckoId=false&includeAggregators=false&includeOccurrences=false&includeIconUrl=true&includeAssetType=false&includeTokenFees=false&includeHoneypotStatus=false&includeContractVerificationStatus=false&includeStorage=false&includeERC20Permit=false&includeDescription=false`;return await Qa(n,{timeoutMs:this.#g,maxResponseSizeBytes:this.#y,fetch:this.#f},lc,r)}}const dc=e=>(ha(\"number\"==typeof e,\"Value must be a number.\"),ha(e>=0,\"Value must be a non-negative number.\"),ha(Number.isSafeInteger(e),\"Value is not a safe integer. Use `bigIntToHex` instead.\"),ka(e.toString(16))),hc=e=>(ha(\"bigint\"==typeof e,\"Value must be a bigint.\"),ha(e>=0,\"Value must be a non-negative bigint.\"),ka(e.toString(16))),fc=e=>{Ea(e);const t=parseInt(e,16);return ha(Number.isSafeInteger(t),\"Value is not a safe integer. Use `hexToBigInt` instead.\"),t},pc=Ho({blockHash:Ra,blockNumber:Ra,contractAddress:Ra.nullable(),cumulativeGasUsed:Ra,effectiveGasPrice:Ra,from:Ra,gasUsed:Ra,logs:jo(Ho({address:Ra,blockHash:Ra,blockNumber:Ra,data:Ra,logIndex:Ra,removed:Do(),topics:jo(Ra),transactionHash:Ra,transactionIndex:Ra})),logsBloom:Ra,status:Ra,to:Ra.nullable(),transactionHash:Ra,transactionIndex:Ra,type:Ra}),mc=Ho({permissionContext:Ra,txHash:Ra.optional()});const gc=e=>{const r=pc.safeParse(e);if(!r.success)throw new Vs(t(r.error.errors));return r.data};async function yc(e,t){const r=\"number\"==typeof t?t:fc(t),n=\"number\"==typeof t?dc(t):t,s=await e.request({method:\"eth_chainId\",params:[]});if(s&&fc(s)!==r){await e.request({method:\"wallet_switchEthereumChain\",params:[{chainId:n}]});const t=await e.request({method:\"eth_chainId\",params:[]});if(t&&fc(t)!==r)throw new Xs(\"Selected chain does not match the requested chain\")}}async function bc({ethereumProvider:e,contractAddress:t,callData:r,retryOptions:n,isRetryableError:s}){const{retries:i=1,delayMs:o=1e3}=n??{},a=s??(e=>!(e instanceof Xs));for(let n=0;n<=i;n++)try{const n=await e.request({method:\"eth_call\",params:[{to:t,data:r},\"latest\"]});if(!n)throw new Zs(\"Contract call returned no result\");return n}catch(e){if(a(e)){if(n<i){await nc(o);continue}throw new Zs(\"Contract call failed after retries\")}throw e}throw new Gs(`Contract call failed after ${i+1} attempts`)}class vc{#A;static#E=\"0x2d40d052\";constructor({ethereumProvider:e}){this.#A=e}#x(e){return!(e instanceof Xs||e instanceof Vs)}async checkDelegationDisabledOnChain({delegationHash:e,chainId:t,delegationManagerAddress:r,retryOptions:n}){if(i.debug(\"BlockchainClient:checkDelegationDisabledOnChain()\",{delegationHash:e,chainId:t,delegationManagerAddress:r}),!e){const e=\"No delegation hash provided\";throw i.error(e),new Vs(e)}if(!t){const e=\"No chain ID provided\";throw i.error(e),new Vs(e)}if(!r){const e=\"No delegation manager address provided\";throw i.error(e),new Vs(e)}await yc(this.#A,t);const s=e.slice(2).padStart(64,\"0\"),o=`${vc.#E}${s}`;try{const e=\"0x0000000000000000000000000000000000000000000000000000000000000000\"!==await bc({ethereumProvider:this.#A,contractAddress:r,callData:o,retryOptions:n,isRetryableError:e=>this.#x(e)});return i.debug(\"Delegation disabled status result\",{isDisabled:e}),e}catch(e){const t=e instanceof Error?e.message:String(e);if(i.error(`Failed to check delegation disabled status: ${t}`),e instanceof Vs||e instanceof Xs)throw e;throw new Ys(`Unable to determine delegation disabled status: ${t}`)}}async checkTransactionReceipt({txHash:e,chainId:t}){if(i.debug(\"BlockchainClient:checkTransactionReceipt()\",{txHash:e,chainId:t}),!t){const e=\"No chain ID provided\";throw i.error(e),new Vs(e)}if(!e){const e=\"No transaction hash provided\";throw i.error(e),new Vs(e)}await yc(this.#A,t);try{const t=await async function({ethereumProvider:e,txHash:t,retryOptions:r,isRetryableError:n}){const{retries:s=1,delayMs:i=1e3}=r??{},o=n??(e=>!(e instanceof Xs));for(let r=0;r<=s;r++)try{const r=await e.request({method:\"eth_getTransactionReceipt\",params:[t]});if(!r)throw new Zs(\"Transaction receipt not found\");return gc(r)}catch(e){if(o(e)){if(r<s){await nc(i);continue}throw new Zs(\"Transaction receipt not found after retries\")}throw e}throw new Gs(`Transaction receipt not found after ${s+1} attempts`)}({ethereumProvider:this.#A,txHash:e,isRetryableError:e=>this.#x(e)});return\"0x1\"===t.status}catch(e){const t=e instanceof Error?e.message:String(e);if(i.error(`Failed to fetch transaction receipt: ${t}`),e instanceof Vs||e instanceof Xs)throw e;throw new Ys(`Failed to fetch transaction receipt: ${t}`)}}}var wc=r(8839);class Ac{#A;static#h=Ca;static#T=18;static#k=\"ETH\";static#S=\"0x70a08231\";static#C=\"0x313ce567\";static#I=\"0x95d89b41\";constructor({ethereumProvider:e}){this.#A=e}async getTokenBalanceAndMetadata({chainId:e,assetAddress:t,account:r,retryOptions:n}){if(i.debug(\"BlockchainTokenMetadataClient:getTokenBalanceAndMetadata()\"),!e){const e=\"No chainId provided to fetch token balance\";throw i.error(e),new Vs(e)}if(!r){const e=\"No account address provided to fetch token balance\";throw i.error(e),new Vs(e)}const{retries:s=1,delayMs:o=1e3}=n??{};for(let a=0;a<=s;a++)try{if(!t||t===Ac.#h){await yc(this.#A,e);const t=await this.#A.request({method:\"eth_getBalance\",params:[r,\"latest\"]});if(null==t)throw new Zs(\"Failed to fetch native token balance\");const{symbol:n,decimals:s}={symbol:Ac.#k,decimals:Ac.#T};return{balance:BigInt(t),decimals:s,symbol:n}}await yc(this.#A,e);const s=`${Ac.#S}${r.slice(2).padStart(64,\"0\")}`,[o,a,c]=await Promise.all([bc({ethereumProvider:this.#A,contractAddress:t,callData:s,retryOptions:n}),bc({ethereumProvider:this.#A,contractAddress:t,callData:Ac.#C,retryOptions:n}),bc({ethereumProvider:this.#A,contractAddress:t,callData:Ac.#I,retryOptions:n})]);if(!c)throw new Zs(\"Failed to fetch token symbol\");if(!a)throw new Zs(\"Failed to fetch token decimals\");if(!o)throw new Zs(\"Failed to fetch token balance\");if(\"0x\"===c&&\"0x\"===a&&\"0x\"===o)throw i.error(\"Token address is invalid\"),new Vs(\"Failed to fetch token balance and metadata: Token address is invalid\");const l=(0,wc.decodeSingle)(\"string\",c),u=(0,wc.decodeSingle)(\"uint8\",a);return{balance:(0,wc.decodeSingle)(\"uint256\",o),decimals:Number(u),symbol:l}}catch(e){const t=e instanceof Error?e.message:String(e);if(i.error(`Failed to fetch token balance and metadata (attempt ${a+1}): ${t}`),this.#x(e)){if(a<s){await nc(o);continue}throw new Zs(\"Failed to fetch token balance and metadata\")}throw e}throw new Gs(`Failed to fetch token balance and metadata after ${s+1} attempts`)}#x(e){return!(e instanceof Xs||e instanceof Vs)}}var Ec={DelegationManager:\"0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3\",EntryPoint:\"0x0000000071727De22E5E9d8BAf0edAc6f37da032\",SimpleFactory:\"0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c\",MultiSigDeleGatorImpl:\"0x56a9EdB16a0105eb5a4C54f4C062e2868844f3A7\",HybridDeleGatorImpl:\"0x48dBe696A4D990079e039489bA2053B36E8FFEC4\",EIP7702StatelessDeleGatorImpl:\"0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B\",AllowedCalldataEnforcer:\"0xc2b0d624c1c4319760C96503BA27C347F3260f55\",AllowedMethodsEnforcer:\"0x2c21fD0Cb9DC8445CB3fb0DC5E7Bb0Aca01842B5\",AllowedTargetsEnforcer:\"0x7F20f61b1f09b08D970938F6fa563634d65c4EeB\",ApprovalRevocationEnforcer:\"0xe264F1f09A19505a1ca1a86D5b01E8bFdb64324A\",BlockNumberEnforcer:\"0x5d9818dF0AE3f66e9c3D0c5029DAF99d1823ca6c\",DeployedEnforcer:\"0x24ff2AA430D53a8CD6788018E902E098083dcCd2\",ERC20BalanceChangeEnforcer:\"0xcdF6aB796408598Cea671d79506d7D48E97a5437\",ERC20TransferAmountEnforcer:\"0xf100b0819427117EcF76Ed94B358B1A5b5C6D2Fc\",ERC20PeriodTransferEnforcer:\"0x474e3Ae7E169e940607cC624Da8A15Eb120139aB\",ERC20StreamingEnforcer:\"0x56c97aE02f233B29fa03502Ecc0457266d9be00e\",ERC721BalanceChangeEnforcer:\"0x8aFdf96eDBbe7e1eD3f5Cd89C7E084841e12A09e\",ERC721TransferEnforcer:\"0x3790e6B7233f779b09DA74C72b6e94813925b9aF\",ERC1155BalanceChangeEnforcer:\"0x63c322732695cAFbbD488Fc6937A0A7B66fC001A\",ExactCalldataBatchEnforcer:\"0x982FD5C86BBF425d7d1451f974192d4525113DfD\",ExactCalldataEnforcer:\"0x99F2e9bF15ce5eC84685604836F71aB835DBBdED\",ExactExecutionBatchEnforcer:\"0x1e141e455d08721Dd5BCDA1BaA6Ea5633Afd5017\",ExactExecutionEnforcer:\"0x146713078D39eCC1F5338309c28405ccf85Abfbb\",IdEnforcer:\"0xC8B5D93463c893401094cc70e66A206fb5987997\",LogicalOrWrapperEnforcer:\"0xE1302607a3251AF54c3a6e69318d6aa07F5eB46c\",LimitedCallsEnforcer:\"0x04658B29F6b82ed55274221a06Fc97D318E25416\",NativeBalanceChangeEnforcer:\"0xbD7B277507723490Cd50b12EaaFe87C616be6880\",ArgsEqualityCheckEnforcer:\"0x44B8C6ae3C304213c3e298495e12497Ed3E56E41\",NativeTokenPaymentEnforcer:\"0x4803a326ddED6dDBc60e659e5ed12d85c7582811\",NativeTokenTransferAmountEnforcer:\"0xF71af580b9c3078fbc2BBF16FbB8EEd82b330320\",NativeTokenStreamingEnforcer:\"0xD10b97905a320b13a0608f7E9cC506b56747df19\",NativeTokenPeriodTransferEnforcer:\"0x9BC0FAf4Aca5AE429F4c06aEEaC517520CB16BD9\",NonceEnforcer:\"0xDE4f2FAC4B3D87A1d9953Ca5FC09FCa7F366254f\",OwnershipTransferEnforcer:\"0x7EEf9734E7092032B5C56310Eb9BbD1f4A524681\",RedeemerEnforcer:\"0xE144b0b2618071B4E56f746313528a669c7E65c5\",SpecificActionERC20TransferBatchEnforcer:\"0x6649b61c873F6F9686A1E1ae9ee98aC380c7bA13\",TimestampEnforcer:\"0x1046bb45C8d673d4ea75321280DB34899413c069\",ValueLteEnforcer:\"0x92Bf12322527cAA612fd31a0e810472BBB106A8F\",MultiTokenPeriodEnforcer:\"0xFB2f1a9BD76d3701B730E5d69C3219D42D80eBb7\"},xc={DelegationManager:\"0x56D56e07e3d6Ee5a24e30203A37a0a460f42D7A3\",EntryPoint:\"0x0000000071727De22E5E9d8BAf0edAc6f37da032\",SimpleFactory:\"0x6ff518884f21168c30c58CB21184D6AdBC18Ad90\",MultiSigDeleGatorImpl:\"0xd1f421EDbA5e3FA9efe3874827114b20C5BEC40C\",HybridDeleGatorImpl:\"0x941f3a016F8726d5643Ce62452d0D78492D42b42\",AllowedCalldataEnforcer:\"0xff71d60f3208469cBCE0859717B5198042DCB3F3\",AllowedMethodsEnforcer:\"0xe32C2561792e8446Abe73B9f557B881C13906186\",AllowedTargetsEnforcer:\"0x06aaE4c67EEA95277c46Bf79b1583d4a01772D22\",BlockNumberEnforcer:\"0x8E470D2Ae278457b42d2405E0B8Cd4BE21Ed9045\",DeployedEnforcer:\"0xf9088f013dBD9ebb7Cebd66fEB48253c6Ac5a820\",ERC20BalanceGteEnforcer:\"0xB7B6f32ec6343261D814e55Ed8C5925d91Cab861\",ERC20TransferAmountEnforcer:\"0x9A069b18032B31429A363AeCFb1B6A0564b44471\",IdEnforcer:\"0x91015c3b9D9523966eD2399885e5Df7A567f916c\",LimitedCallsEnforcer:\"0xe694bFfffEA3E85923b1210b37e6a0175e910863\",NonceEnforcer:\"0xE83BCFD8bBE672A96747e831050a91cf44F4F87A\",TimestampEnforcer:\"0x550FdD13eEBC1f22ea2a2480024BacBF0Ad7e5CE\",ValueLteEnforcer:\"0xBE32a6DB7471F63BB168C088c57Db01AfAe87967\",NativeTokenTransferAmountEnforcer:\"0x5eD3833d7B957A8DB8A461c3AF2d668Ec25382E0\",NativeBalanceGteEnforcer:\"0x376a98860E210DdEda3689fb39565592c563cB0A\",ArgsEqualityCheckEnforcer:\"0x7378dE585998d3E18Ce147867C335C25B3dB8Ee5\",NativeTokenPaymentEnforcer:\"0x87Fe18EbF99e42fcE8A03a25F1d20E119407f8e7\",RedeemerEnforcer:\"0x926672b130D1EF60A9d6b11D2048d121b30f40C1\"},Tc={DelegationManager:\"0xbe4138886cb096bdc1b930f2f0ca7892aa234d78\",EntryPoint:\"0x0000000071727De22E5E9d8BAf0edAc6f37da032\",SimpleFactory:\"0x6ff518884f21168c30c58CB21184D6AdBC18Ad90\",MultiSigDeleGatorImpl:\"0x11f555af5844d85bfcf5d61d2a22866527eb585a\",HybridDeleGatorImpl:\"0xd6edd1256deccb2b06bdecef92dc16bcf26e531b\",AllowedCalldataEnforcer:\"0x48db3835a873d64a4af2c09f014052407c003bd7\",AllowedMethodsEnforcer:\"0xfd731951bf1c52afccee3e6f14ab656475b76dd4\",AllowedTargetsEnforcer:\"0xbc8673c0afa52d86d991c06881e55b2966920564\",BlockNumberEnforcer:\"0xc15faffa0d879b9263c15a46ce31eacfa2e0e8ae\",DeployedEnforcer:\"0x5accb9559b56a6c1e3f90e342c85c42d93720d43\",ERC20BalanceGteEnforcer:\"0xb5d6b1ec6d868a3bae5b7f48178eaa2686a7a087\",ERC20TransferAmountEnforcer:\"0x92ac423b9c111962179a6242e1adb58d02c103be\",IdEnforcer:\"0x34152d9f3f8f74338d50703e780389e829b4abac\",LimitedCallsEnforcer:\"0x4b3adad4a328bee8ba17b86074d92fe7372180cd\",NonceEnforcer:\"0x2f32ff3fc3086d7f63f16fe8d0065390d460b40d\",TimestampEnforcer:\"0x78e05f779490c24bf3bfa135b4112e7003b321cd\",ValueLteEnforcer:\"0xfc20ede0a1132e839fbda9d7ed3904ff3c89540f\"},kc=42161,Sc=42170,Cc=8453,Ic=80094,Pc=56,Mc=100,Rc=57073,Bc=59144,Nc=1,Oc=143,_c=10,Lc=137,Dc=1329,Fc=146,Uc=130,jc=4326,Hc=42220,zc=2020,Gc=4217,Vc=4114,qc=5e3,Kc=747474,Wc=1155,Jc=97,$c=421614,Zc=84532,Yc=80069,Xc=10200,Qc=5115,el=560048,tl=763373,rl=59141,nl=6343,sl=10143,il=11155420,ol=80002,al=1328,cl=11155111,ll=14601,ul=1301,dl=11142220,hl=202601,fl=42431,pl=5003,ml=737373,gl=13579,yl={\"1.0.0\":{[_c]:Tc,[Lc]:Tc,[Cc]:Tc,[kc]:Tc,[Bc]:Tc,[cl]:{...Tc,HybridDeleGatorImpl:\"0x5989F5D13DF8fc818EdA65e417AED90459fD67F7\"},[rl]:{...Tc,HybridDeleGatorImpl:\"0x5989F5D13DF8fc818EdA65e417AED90459fD67F7\"}},\"1.1.0\":{[kc]:xc,[Cc]:xc,[Bc]:xc,[_c]:xc,[Lc]:xc,[cl]:xc,[rl]:xc,[Zc]:{...xc,SimpleFactory:\"0xE8eA1DE8D6AfE400B7C8C1A81B7C29B7876b4d02\"}},\"1.3.0\":{[Nc]:Ec,[Lc]:Ec,[Pc]:Ec,[_c]:Ec,[kc]:Ec,[Rc]:Ec,[Bc]:Ec,[Cc]:Ec,[Mc]:Ec,[Ic]:Ec,[Uc]:Ec,[Sc]:Ec,[Dc]:Ec,[Fc]:Ec,[Oc]:Ec,[jc]:Ec,[Hc]:Ec,[zc]:Ec,[Gc]:Ec,[Vc]:Ec,[qc]:Ec,[Kc]:Ec,[Wc]:Ec,[Jc]:Ec,[Qc]:Ec,[nl]:Ec,[Xc]:Ec,[rl]:Ec,[Yc]:Ec,[Zc]:Ec,[$c]:Ec,[cl]:Ec,[il]:Ec,[ul]:Ec,[ol]:Ec,[tl]:Ec,[sl]:Ec,[al]:Ec,[ll]:Ec,[el]:Ec,[dl]:Ec,[hl]:Ec,[fl]:Ec,[pl]:Ec,[ml]:Ec,[gl]:Ec}};const bl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"Empfänger\"},\"recipientTooltip\":{\"message\":\"Die Website, die die Genehmigung anfordert\"},\"networkLabel\":{\"message\":\"Netzwerk\"},\"networkTooltip\":{\"message\":\"Das Netzwerk, auf dem die Genehmigung angefordert wird\"},\"tokenLabel\":{\"message\":\"Token\"},\"tokenTooltip\":{\"message\":\"Der angeforderte Token\"},\"justificationLabel\":{\"message\":\"Grund\"},\"justificationTooltip\":{\"message\":\"Der vom Empfänger angegebene Grund für die Anforderung dieser Genehmigung.\"},\"accountLabel\":{\"message\":\"Konto\"},\"accountTooltip\":{\"message\":\"Das Konto, von dem die Genehmigung erteilt wird.\"},\"requestFromLabel\":{\"message\":\"Anfrage von\"},\"requestFromTooltip\":{\"message\":\"Die Website, die die Genehmigung anfordert\"},\"initialAmountLabel\":{\"message\":\"Anfangsbetrag\"},\"initialAmountTooltip\":{\"message\":\"Der anfängliche Betrag an Token, der gestreamt werden kann.\"},\"maxAmountLabel\":{\"message\":\"Maximalbetrag\"},\"maxAmountTooltip\":{\"message\":\"Der maximale Betrag an Token, der gestreamt werden kann.\"},\"startTimeLabel\":{\"message\":\"Startzeit\"},\"startTimeTooltip\":{\"message\":\"Der Zeitpunkt, zu dem die erste Periode beginnt\"},\"streamStartTimeTooltip\":{\"message\":\"Die Startzeit des Streams\"},\"expiryLabel\":{\"message\":\"Ablauf\"},\"expiryTooltip\":{\"message\":\"Das Ablaufdatum der Genehmigung\"},\"streamAmountLabel\":{\"message\":\"Stream-Betrag\"},\"streamAmountTooltip\":{\"message\":\"Der Betrag an Token, der pro Periode gestreamt werden kann.\"},\"streamPeriodLabel\":{\"message\":\"Stream-Periode\"},\"streamPeriodTooltip\":{\"message\":\"Die Periode des Streams.\"},\"amountLabel\":{\"message\":\"Betrag\"},\"amountTooltip\":{\"message\":\"Der Betrag an Token, der während jeder Periode gewährt wird\"},\"periodDurationLabel\":{\"message\":\"Häufigkeit\"},\"periodDurationTooltip\":{\"message\":\"Die Dauer der Periode\"},\"permissionRequestTitle\":{\"message\":\"Genehmigungsanfrage\"},\"showMoreButton\":{\"message\":\"Anzeigen\"},\"hideButton\":{\"message\":\"Verbergen\"},\"streamRateLabel\":{\"message\":\"Stream-Betrag\"},\"streamRateTooltip\":{\"message\":\"Der Betrag an Token, der pro Sekunde gestreamt wird.\"},\"streamRateValue\":{\"message\":\"$1 $2/Sek.\"},\"cancelButton\":{\"message\":\"Stornieren\"},\"grantButton\":{\"message\":\"Gewähren\"},\"hourly\":{\"message\":\"Stündlich\"},\"daily\":{\"message\":\"Täglich\"},\"weekly\":{\"message\":\"Wöchentlich\"},\"biweekly\":{\"message\":\"Zweiwöchentlich\"},\"monthly\":{\"message\":\"Monatlich\"},\"yearly\":{\"message\":\"Jährlich\"},\"availableLabel\":{\"message\":\"verfügbares Guthaben\"},\"permissionRequestSubtitle\":{\"message\":\"Diese Website möchte Genehmigungen, um Ihren Token auszugeben.\"},\"accountUpgradeWarning\":{\"message\":\"Dieses Konto wird auf ein smart account aktualisiert, um diese Genehmigung abzuschließen.\"},\"removeFieldAlt\":{\"message\":\"$1 entfernen\"},\"addFieldAlt\":{\"message\":\"$1 hinzufügen\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"$1 muss größer als 0 sein\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"$1 muss größer oder gleich 0 sein\"},\"errorInvalidAmount\":{\"message\":\"Ungültiger $1\"},\"errorInvalidStartTime\":{\"message\":\"Ungültige Startzeit\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"Startzeit muss heute oder später sein\"},\"errorInvalidExpiry\":{\"message\":\"Ungültiges Ablaufdatum\"},\"errorExpiryMustBeInFuture\":{\"message\":\"Ablaufdatum muss in der Zukunft liegen\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"Startzeit muss vor dem Ablaufdatum liegen\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"Maximalbetrag muss größer als der Anfangsbetrag sein\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"Periodendauer muss größer als 0 sein\"},\"unknownStreamRate\":{\"message\":\"Unbekannt\"},\"unknownChain\":{\"message\":\"Unbekannte Chain $1\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"Diese Website möchte Genehmigungen, um Ihre ERC-20 Token Approvals zu widerrufen.\"},\"introAdvancedPermissionsTitle\":{\"message\":\"Erweiterte Genehmigungen geben Ihnen die Kontrolle\"},\"introSecureLimitedAccessTitle\":{\"message\":\"Sicherer, eingeschränkter Zugriff\"},\"introSecureLimitedAccessDescription\":{\"message\":\"Beschränken Sie Websites und widerrufen Sie Zugriffe nach Ihren eigenen Vorgaben.\"},\"introFullyCustomizableControlTitle\":{\"message\":\"Vollständig anpassbare Kontrolle\"},\"introFullyCustomizableControlDescription\":{\"message\":\"Überprüfen, bearbeiten oder fügen Sie Regeln hinzu, damit Genehmigungen Ihren Anforderungen entsprechen.\"},\"introTransparentConvenientTitle\":{\"message\":\"Transparent und bequem\"},\"introTransparentConvenientDescription\":{\"message\":\"Verwalten, automatisieren und bearbeiten Sie Genehmigungen einfach von einem Ort aus.\"},\"introSubscriptionTitle\":{\"message\":\"Diese Website möchte ein Token-Abonnement erstellen\"},\"introRecurringPaymentsDescription\":{\"message\":\"Erlauben Sie dieser Website, Token automatisch in regelmäßigen Abständen aus Ihrer Wallet abzuheben – wie ein Abonnementdienst für die Blockchain.\"},\"introStreamTitle\":{\"message\":\"Diese Website möchte einen Token-Stream erstellen\"},\"introContinuousTokenFlowDescription\":{\"message\":\"Ermöglichen Sie schrittweise Echtzeit-Token-Transfers aus Ihrer Wallet – Token fließen stetig über die Zeit, anstatt alles auf einmal zu bewegen.\"},\"introRevocationTitle\":{\"message\":\"Diese Website bittet um Token-Widerrufsgenehmigungen\"},\"introManageTokenApprovalsDescription\":{\"message\":\"Erlauben Sie dieser Website, bestehende Token Approvals in Ihrem Namen zu widerrufen – hilft Ihnen, alte Genehmigungen aufzuräumen und Risiken zu reduzieren.\"},\"introPermissionInControlDescription\":{\"message\":\"Sie können diese Genehmigung jederzeit in den erweiterten Genehmigungen bearbeiten oder widerrufen.\"},\"introGotItButton\":{\"message\":\"Verstanden\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),vl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),wl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"Recipient\"},\"recipientTooltip\":{\"message\":\"The site requesting the permission\"},\"networkLabel\":{\"message\":\"Network\"},\"networkTooltip\":{\"message\":\"The network on which the permission is being requested\"},\"tokenLabel\":{\"message\":\"Token\"},\"tokenTooltip\":{\"message\":\"The token being requested\"},\"justificationLabel\":{\"message\":\"Justification\"},\"justificationTooltip\":{\"message\":\"Justification given by the recipient for requesting this permission.\"},\"accountLabel\":{\"message\":\"Account\"},\"accountTooltip\":{\"message\":\"The account from which the permission is being granted.\"},\"requestFromLabel\":{\"message\":\"Request from\"},\"requestFromTooltip\":{\"message\":\"The site requesting the permission\"},\"initialAmountLabel\":{\"message\":\"Initial amount\"},\"initialAmountTooltip\":{\"message\":\"The initial amount of tokens that can be streamed.\"},\"maxAmountLabel\":{\"message\":\"Max amount\"},\"maxAmountTooltip\":{\"message\":\"The maximum amount of tokens that can be streamed.\"},\"startTimeLabel\":{\"message\":\"Start time (UTC)\"},\"startTimeTooltip\":{\"message\":\"The time at which the first period begins\"},\"allowanceStartTimeTooltip\":{\"message\":\"The earliest time at which the allowance can be used (UTC)\"},\"streamStartTimeTooltip\":{\"message\":\"The start time of the stream\"},\"expiryLabel\":{\"message\":\"Expiration date (UTC)\"},\"expiryTooltip\":{\"message\":\"The expiration date of the permission\"},\"expiryContentWhenDisabled\":{\"message\":\"This permission is ongoing. We recommend setting an expiration date.\"},\"redeemerLabel\":{\"message\":\"Redeemers\"},\"redeemerTooltip\":{\"message\":\"Only these addresses may redeem this permission.\"},\"payeeLabel\":{\"message\":\"Payees\"},\"payeeTooltip\":{\"message\":\"Payments may only be sent to these addresses.\"},\"streamAmountLabel\":{\"message\":\"Stream amount\"},\"streamAmountTooltip\":{\"message\":\"The amount of tokens that can be streamed per period.\"},\"streamPeriodLabel\":{\"message\":\"Stream period\"},\"streamPeriodTooltip\":{\"message\":\"The period of the stream.\"},\"totalExposureUnlimited\":{\"message\":\"Unlimited\"},\"totalExposureLabel\":{\"message\":\"Total exposure\"},\"totalExposureTooltip\":{\"message\":\"The total amount of tokens that can be streamed with this permission.\"},\"amountLabel\":{\"message\":\"Amount\"},\"amountTooltip\":{\"message\":\"The amount of tokens granted during each period\"},\"allowanceAmountTooltip\":{\"message\":\"The amount of tokens granted with this permission\"},\"periodDurationLabel\":{\"message\":\"Frequency\"},\"periodDurationTooltip\":{\"message\":\"The duration of the period\"},\"permissionRequestTitle\":{\"message\":\"Permission request\"},\"showMoreButton\":{\"message\":\"Show\"},\"hideButton\":{\"message\":\"Hide\"},\"streamRateLabel\":{\"message\":\"Stream rate\"},\"streamRateTooltip\":{\"message\":\"The amount of tokens to stream per second.\"},\"streamRateValue\":{\"message\":\"$1 $2/sec\"},\"cancelButton\":{\"message\":\"Cancel\"},\"grantButton\":{\"message\":\"Grant\"},\"hourly\":{\"message\":\"Hourly\"},\"daily\":{\"message\":\"Daily\"},\"weekly\":{\"message\":\"Weekly\"},\"biweekly\":{\"message\":\"Biweekly\"},\"monthly\":{\"message\":\"Monthly\"},\"yearly\":{\"message\":\"Yearly\"},\"availableLabel\":{\"message\":\"available\"},\"permissionRequestSubtitle\":{\"message\":\"This site wants permissions to spend your tokens.\"},\"accountUpgradeWarning\":{\"message\":\"This account will be upgraded to a smart account to complete this permission.\"},\"removeFieldAlt\":{\"message\":\"Remove $1\"},\"addFieldAlt\":{\"message\":\"Add $1\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"$1 must be greater than 0\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"$1 must be greater than or equal to 0\"},\"errorInvalidAmount\":{\"message\":\"Invalid $1\"},\"errorInvalidStartTime\":{\"message\":\"Invalid start time\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"Start time must be today or later\"},\"errorInvalidExpiry\":{\"message\":\"Invalid expiration date\"},\"errorExpiryMustBeInFuture\":{\"message\":\"Expiration date must be in the future\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"Start time must be before expiration date\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"Max amount must be greater than initial amount\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"Period duration must be greater than 0\"},\"unknownStreamRate\":{\"message\":\"Unknown\"},\"unknownChain\":{\"message\":\"Unknown chain $1\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"This site wants permissions to revoke your token approvals.\"},\"introAdvancedPermissionsTitle\":{\"message\":\"Advanced permissions keep you in control\"},\"introSecureLimitedAccessTitle\":{\"message\":\"Secure, limited access\"},\"introSecureLimitedAccessDescription\":{\"message\":\"Restrict sites and revoke access on your terms.\"},\"introFullyCustomizableControlTitle\":{\"message\":\"Fully customizable control\"},\"introFullyCustomizableControlDescription\":{\"message\":\"Review, edit, or add rules so permissions meet your needs.\"},\"introTransparentConvenientTitle\":{\"message\":\"Transparent and convenient\"},\"introTransparentConvenientDescription\":{\"message\":\"Easily manage permissions all from one place.\"},\"introSubscriptionTitle\":{\"message\":\"Token subscription request\"},\"introRecurringPaymentsDescription\":{\"message\":\"Token subscriptions give sites permission to pull tokens from your wallet on the schedule you set.\"},\"introStreamTitle\":{\"message\":\"Token streaming request\"},\"introContinuousTokenFlowDescription\":{\"message\":\"Token streams give sites permission to pull increments of tokens from your wallet over a period of time you set.\"},\"introRevocationTitle\":{\"message\":\"Token revocation request\"},\"introManageTokenApprovalsDescription\":{\"message\":\"Token revocation allows sites to revoke ERC-20, NFT, and Permit2 approvals on your behalf.\"},\"introAllowanceTitle\":{\"message\":\"Token allowance request\"},\"introTokenAllowanceDescription\":{\"message\":\"Token allowances let a site spend from your wallet up to a single total you set, rather than a recurring schedule like a subscription.\"},\"introPermissionInControlDescription\":{\"message\":\"You can revoke this permission at any time in advanced permissions.\"},\"introGotItButton\":{\"message\":\"Got it\"},\"maliciousWebsiteLabel\":{\"message\":\"Malicious website\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"Potentially malicious website\"},\"maliciousAddressLabel\":{\"message\":\"Malicious address\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"Potentially malicious address\"},\"existingPermissionsTitle\":{\"message\":\"Existing permissions\"},\"existingPermissionsDescription\":{\"message\":\"Permissions you’ve already granted to this site\"},\"existingPermissionsConfirmButton\":{\"message\":\"Back to request\"},\"existingPermissionsExistingMessage\":{\"message\":\"You have granted permissions to this site in the past.\"},\"existingPermissionsSimilarMessage\":{\"message\":\"You have granted similar permissions to this site in the past.\"},\"existingPermissionsLink\":{\"message\":\"Review them\"},\"existingPermissionsLoadError\":{\"message\":\"We couldn’t load the list. You can go back and try again.\"},\"chainLabel\":{\"message\":\"Network\"},\"morePermissionsCountSingle\":{\"message\":\"This account has 1 more permission. View and manage all permissions in the \"},\"morePermissionsCountPlural\":{\"message\":\"This account has $1 more permissions. View and manage all permissions in the \"},\"unlimited\":{\"message\":\"Unlimited\"},\"allTokens\":{\"message\":\"All tokens\"},\"dappConnectionsLink\":{\"message\":\"Dapp Connections\"},\"revokeTokenApprovalsLabel\":{\"message\":\"Revoke token approvals\"},\"approvalRevocationPrimitivesLabel\":{\"message\":\"Revocation primitives\"},\"allApprovalRevocationPrimitivesLabel\":{\"message\":\"All revocation primitives for ERC-20, ERC-1155, ERC-721.\"},\"erc20ApproveRevocationLabel\":{\"message\":\"ERC-20 approve(spender, 0)\"},\"erc721ApproveRevocationLabel\":{\"message\":\"ERC-721 approve(address(0), tokenId)\"},\"erc721SetApprovalForAllRevocationLabel\":{\"message\":\"ERC-721/ERC-1155 setApprovalForAll(false)\"},\"permit2ApproveRevocationLabel\":{\"message\":\"Permit2 approve(token, spender, 0, 0)\"},\"permit2LockdownRevocationLabel\":{\"message\":\"Permit2 lockdown\"},\"permit2InvalidateNoncesRevocationLabel\":{\"message\":\"Permit2 invalidate nonces\"}}}'),Al=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"Destinatario\"},\"recipientTooltip\":{\"message\":\"El sitio que solicita el permiso\"},\"networkLabel\":{\"message\":\"Red\"},\"networkTooltip\":{\"message\":\"La red en la que se solicita el permiso\"},\"tokenLabel\":{\"message\":\"Token\"},\"tokenTooltip\":{\"message\":\"El token solicitado\"},\"justificationLabel\":{\"message\":\"Motivo\"},\"justificationTooltip\":{\"message\":\"El motivo dado por el destinatario para solicitar este permiso.\"},\"accountLabel\":{\"message\":\"Cuenta\"},\"accountTooltip\":{\"message\":\"La cuenta desde la cual se otorga el permiso.\"},\"requestFromLabel\":{\"message\":\"Solicitud de\"},\"requestFromTooltip\":{\"message\":\"El sitio que solicita el permiso\"},\"initialAmountLabel\":{\"message\":\"Monto inicial\"},\"initialAmountTooltip\":{\"message\":\"El monto inicial de tokens que se puede transmitir.\"},\"maxAmountLabel\":{\"message\":\"Monto máximo\"},\"maxAmountTooltip\":{\"message\":\"El monto máximo de tokens que se puede transmitir.\"},\"startTimeLabel\":{\"message\":\"Hora de inicio\"},\"startTimeTooltip\":{\"message\":\"La hora en que comienza el primer período\"},\"streamStartTimeTooltip\":{\"message\":\"La hora de inicio de la transmisión\"},\"expiryLabel\":{\"message\":\"Vencimiento\"},\"expiryTooltip\":{\"message\":\"La fecha de vencimiento del permiso\"},\"streamAmountLabel\":{\"message\":\"Monto de transmisión\"},\"streamAmountTooltip\":{\"message\":\"El monto de tokens que se puede transmitir por período.\"},\"streamPeriodLabel\":{\"message\":\"Período de transmisión\"},\"streamPeriodTooltip\":{\"message\":\"El período de la transmisión.\"},\"amountLabel\":{\"message\":\"Monto\"},\"amountTooltip\":{\"message\":\"El monto de tokens otorgados durante cada período\"},\"periodDurationLabel\":{\"message\":\"Frecuencia\"},\"periodDurationTooltip\":{\"message\":\"La duración del período\"},\"permissionRequestTitle\":{\"message\":\"Solicitud de permiso\"},\"showMoreButton\":{\"message\":\"Mostrar\"},\"hideButton\":{\"message\":\"Ocultar\"},\"streamRateLabel\":{\"message\":\"Tasa de transmisión\"},\"streamRateTooltip\":{\"message\":\"El monto de tokens a transmitir por segundo.\"},\"streamRateValue\":{\"message\":\"$1 $2/seg\"},\"cancelButton\":{\"message\":\"Cancelar\"},\"grantButton\":{\"message\":\"Otorgar\"},\"hourly\":{\"message\":\"Cada hora\"},\"daily\":{\"message\":\"Diario\"},\"weekly\":{\"message\":\"Semanal\"},\"biweekly\":{\"message\":\"Quincenal\"},\"monthly\":{\"message\":\"Mensual\"},\"yearly\":{\"message\":\"Anual\"},\"availableLabel\":{\"message\":\"disponible\"},\"permissionRequestSubtitle\":{\"message\":\"Este sitio quiere permisos para gastar tus tokens.\"},\"accountUpgradeWarning\":{\"message\":\"Esta cuenta se actualizará a una cuenta inteligente para completar este permiso.\"},\"removeFieldAlt\":{\"message\":\"Eliminar $1\"},\"addFieldAlt\":{\"message\":\"Agregar $1\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"$1 debe ser mayor que 0\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"$1 debe ser mayor o igual a 0\"},\"errorInvalidAmount\":{\"message\":\"$1 inválido\"},\"errorInvalidStartTime\":{\"message\":\"Hora de inicio inválida\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"La hora de inicio debe ser hoy o posterior\"},\"errorInvalidExpiry\":{\"message\":\"Vencimiento inválido\"},\"errorExpiryMustBeInFuture\":{\"message\":\"El vencimiento debe estar en el futuro\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"La hora de inicio debe ser anterior al vencimiento\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"El monto máximo debe ser mayor que el monto inicial\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"La duración del período debe ser mayor que 0\"},\"unknownStreamRate\":{\"message\":\"Desconocido\"},\"unknownChain\":{\"message\":\"Cadena desconocida $1\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"Este sitio quiere permisos para revocar tus aprobaciones de tokens ERC-20.\"},\"introAdvancedPermissionsTitle\":{\"message\":\"Los permisos avanzados te mantienen en control\"},\"introSecureLimitedAccessTitle\":{\"message\":\"Acceso seguro y limitado\"},\"introSecureLimitedAccessDescription\":{\"message\":\"Restringe sitios y revoca accesos sin tarifas de gas.\"},\"introFullyCustomizableControlTitle\":{\"message\":\"Control totalmente personalizable\"},\"introFullyCustomizableControlDescription\":{\"message\":\"Revisa, edita o agrega reglas para que los permisos se ajusten a tus necesidades.\"},\"introTransparentConvenientTitle\":{\"message\":\"Transparente y conveniente\"},\"introTransparentConvenientDescription\":{\"message\":\"Administra, automatiza y edita permisos fácilmente desde un solo lugar.\"},\"introSubscriptionTitle\":{\"message\":\"Este sitio quiere crear una suscripción de tokens\"},\"introRecurringPaymentsDescription\":{\"message\":\"Permite que este sitio retire tokens automáticamente de tu billetera a intervalos regulares, como un servicio de suscripción para blockchain.\"},\"introStreamTitle\":{\"message\":\"Este sitio quiere crear un flujo de tokens\"},\"introContinuousTokenFlowDescription\":{\"message\":\"Habilita transferencias graduales de tokens en tiempo real desde tu billetera: los tokens fluyen constantemente en lugar de moverse todos a la vez.\"},\"introRevocationTitle\":{\"message\":\"Este sitio solicita permisos de revocación de tokens\"},\"introManageTokenApprovalsDescription\":{\"message\":\"Permite que este sitio revoque permisos de tokens existentes en tu nombre, ayudándote a limpiar aprobaciones antiguas y reducir riesgos.\"},\"introPermissionInControlDescription\":{\"message\":\"Puedes editar o revocar este permiso en cualquier momento en permisos avanzados.\"},\"introGotItButton\":{\"message\":\"Entendido\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"},\"payeeLabel\":{\"message\":\"Payees\"},\"payeeTooltip\":{\"message\":\"Payments may only be sent to these addresses.\"}}}'),El=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),xl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Tl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),kl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Sl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Cl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Il=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Pl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Ml=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Rl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"\"},\"recipientTooltip\":{\"message\":\"\"},\"networkLabel\":{\"message\":\"\"},\"networkTooltip\":{\"message\":\"\"},\"tokenLabel\":{\"message\":\"\"},\"tokenTooltip\":{\"message\":\"\"},\"justificationLabel\":{\"message\":\"\"},\"justificationTooltip\":{\"message\":\"\"},\"accountLabel\":{\"message\":\"\"},\"accountTooltip\":{\"message\":\"\"},\"requestFromLabel\":{\"message\":\"\"},\"requestFromTooltip\":{\"message\":\"\"},\"initialAmountLabel\":{\"message\":\"\"},\"initialAmountTooltip\":{\"message\":\"\"},\"maxAmountLabel\":{\"message\":\"\"},\"maxAmountTooltip\":{\"message\":\"\"},\"startTimeLabel\":{\"message\":\"\"},\"startTimeTooltip\":{\"message\":\"\"},\"streamStartTimeTooltip\":{\"message\":\"\"},\"expiryLabel\":{\"message\":\"\"},\"expiryTooltip\":{\"message\":\"\"},\"streamAmountLabel\":{\"message\":\"\"},\"streamAmountTooltip\":{\"message\":\"\"},\"streamPeriodLabel\":{\"message\":\"\"},\"streamPeriodTooltip\":{\"message\":\"\"},\"amountLabel\":{\"message\":\"\"},\"amountTooltip\":{\"message\":\"\"},\"periodDurationLabel\":{\"message\":\"\"},\"periodDurationTooltip\":{\"message\":\"\"},\"permissionRequestTitle\":{\"message\":\"\"},\"showMoreButton\":{\"message\":\"\"},\"hideButton\":{\"message\":\"\"},\"streamRateLabel\":{\"message\":\"\"},\"streamRateTooltip\":{\"message\":\"\"},\"streamRateValue\":{\"message\":\"\"},\"cancelButton\":{\"message\":\"\"},\"grantButton\":{\"message\":\"\"},\"hourly\":{\"message\":\"\"},\"daily\":{\"message\":\"\"},\"weekly\":{\"message\":\"\"},\"biweekly\":{\"message\":\"\"},\"monthly\":{\"message\":\"\"},\"yearly\":{\"message\":\"\"},\"availableLabel\":{\"message\":\"\"},\"permissionRequestSubtitle\":{\"message\":\"\"},\"accountUpgradeWarning\":{\"message\":\"\"},\"removeFieldAlt\":{\"message\":\"\"},\"addFieldAlt\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"\"},\"errorInvalidAmount\":{\"message\":\"\"},\"errorInvalidStartTime\":{\"message\":\"\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"\"},\"errorInvalidExpiry\":{\"message\":\"\"},\"errorExpiryMustBeInFuture\":{\"message\":\"\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"\"},\"unknownStreamRate\":{\"message\":\"\"},\"unknownChain\":{\"message\":\"\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"\"},\"introAdvancedPermissionsTitle\":{\"message\":\"\"},\"introSecureLimitedAccessTitle\":{\"message\":\"\"},\"introSecureLimitedAccessDescription\":{\"message\":\"\"},\"introFullyCustomizableControlTitle\":{\"message\":\"\"},\"introFullyCustomizableControlDescription\":{\"message\":\"\"},\"introTransparentConvenientTitle\":{\"message\":\"\"},\"introTransparentConvenientDescription\":{\"message\":\"\"},\"introSubscriptionTitle\":{\"message\":\"\"},\"introRecurringPaymentsDescription\":{\"message\":\"\"},\"introStreamTitle\":{\"message\":\"\"},\"introContinuousTokenFlowDescription\":{\"message\":\"\"},\"introRevocationTitle\":{\"message\":\"\"},\"introManageTokenApprovalsDescription\":{\"message\":\"\"},\"introPermissionInControlDescription\":{\"message\":\"\"},\"introGotItButton\":{\"message\":\"\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Bl=JSON.parse('{\"D\":{\"recipientLabel\":{\"message\":\"接收方\"},\"recipientTooltip\":{\"message\":\"请求该许可的网站\"},\"networkLabel\":{\"message\":\"网络\"},\"networkTooltip\":{\"message\":\"请求许可所在的网络\"},\"tokenLabel\":{\"message\":\"代币\"},\"tokenTooltip\":{\"message\":\"被请求的代币\"},\"justificationLabel\":{\"message\":\"原因\"},\"justificationTooltip\":{\"message\":\"接收方请求此许可的原因。\"},\"accountLabel\":{\"message\":\"账户\"},\"accountTooltip\":{\"message\":\"授予许可的账户。\"},\"requestFromLabel\":{\"message\":\"请求来源\"},\"requestFromTooltip\":{\"message\":\"请求许可的网站\"},\"initialAmountLabel\":{\"message\":\"初始金额\"},\"initialAmountTooltip\":{\"message\":\"可开始流式发送的初始代币数量。\"},\"maxAmountLabel\":{\"message\":\"最大金额\"},\"maxAmountTooltip\":{\"message\":\"可流式发送的最大代币数量。\"},\"startTimeLabel\":{\"message\":\"开始时间\"},\"startTimeTooltip\":{\"message\":\"首个周期开始的时间。\"},\"streamStartTimeTooltip\":{\"message\":\"流开始的时间\"},\"expiryLabel\":{\"message\":\"到期时间\"},\"expiryTooltip\":{\"message\":\"许可的到期时间\"},\"streamAmountLabel\":{\"message\":\"流式金额\"},\"streamAmountTooltip\":{\"message\":\"每个周期可流式发送的代币数量。\"},\"streamPeriodLabel\":{\"message\":\"流周期\"},\"streamPeriodTooltip\":{\"message\":\"流的周期。\"},\"amountLabel\":{\"message\":\"金额\"},\"amountTooltip\":{\"message\":\"每个周期授予的代币数量\"},\"periodDurationLabel\":{\"message\":\"频率\"},\"periodDurationTooltip\":{\"message\":\"周期的时长\"},\"permissionRequestTitle\":{\"message\":\"许可请求\"},\"showMoreButton\":{\"message\":\"显示\"},\"hideButton\":{\"message\":\"隐藏\"},\"streamRateLabel\":{\"message\":\"流速\"},\"streamRateTooltip\":{\"message\":\"每秒流式发送的代币数量。\"},\"streamRateValue\":{\"message\":\"$1 $2/秒\"},\"cancelButton\":{\"message\":\"取消\"},\"grantButton\":{\"message\":\"授权\"},\"hourly\":{\"message\":\"每小时\"},\"daily\":{\"message\":\"每日\"},\"weekly\":{\"message\":\"每周\"},\"biweekly\":{\"message\":\"每两周\"},\"monthly\":{\"message\":\"每月\"},\"yearly\":{\"message\":\"每年\"},\"availableLabel\":{\"message\":\"可用\"},\"permissionRequestSubtitle\":{\"message\":\"此网站请求使用你的代币。\"},\"accountUpgradeWarning\":{\"message\":\"此账户将升级为智能账户以完成本次授权。\"},\"removeFieldAlt\":{\"message\":\"移除 $1\"},\"addFieldAlt\":{\"message\":\"添加 $1\"},\"errorAmountMustBeGreaterThanZero\":{\"message\":\"$1 必须大于 0\"},\"errorAmountMustBeGreaterThanOrEqualToZero\":{\"message\":\"$1 必须大于或等于 0\"},\"errorInvalidAmount\":{\"message\":\"无效的 $1\"},\"errorInvalidStartTime\":{\"message\":\"无效的开始时间\"},\"errorStartTimeMustBeTodayOrLater\":{\"message\":\"开始时间必须为今天或之后\"},\"errorInvalidExpiry\":{\"message\":\"无效的到期时间\"},\"errorExpiryMustBeInFuture\":{\"message\":\"到期时间必须在未来\"},\"errorStartTimeMustBeBeforeExpiry\":{\"message\":\"开始时间必须早于到期时间\"},\"errorMaxAmountMustBeGreaterThanInitialAmount\":{\"message\":\"最大金额必须大于初始金额\"},\"errorPeriodDurationMustBeGreaterThanZero\":{\"message\":\"周期时长必须大于 0\"},\"unknownStreamRate\":{\"message\":\"未知\"},\"unknownChain\":{\"message\":\"未知链 $1\"},\"permissionRequestSubtitleRevocation\":{\"message\":\"此网站请求撤销您的 ERC-20 代币授权。\"},\"introAdvancedPermissionsTitle\":{\"message\":\"高级许可让您掌控一切\"},\"introSecureLimitedAccessTitle\":{\"message\":\"安全、受限的访问\"},\"introSecureLimitedAccessDescription\":{\"message\":\"限制网站访问并撤销许可，无需支付 Gas 费用。\"},\"introFullyCustomizableControlTitle\":{\"message\":\"完全可自定义的控制\"},\"introFullyCustomizableControlDescription\":{\"message\":\"查看、编辑或添加规则，使许可符合您的需求。\"},\"introTransparentConvenientTitle\":{\"message\":\"透明且便捷\"},\"introTransparentConvenientDescription\":{\"message\":\"在一个地方轻松管理、自动化和编辑许可。\"},\"introSubscriptionTitle\":{\"message\":\"此网站想要创建代币订阅\"},\"introRecurringPaymentsDescription\":{\"message\":\"允许此网站定期自动从您的钱包中提取代币——就像区块链上的订阅服务。\"},\"introStreamTitle\":{\"message\":\"此网站想要创建代币流\"},\"introContinuousTokenFlowDescription\":{\"message\":\"启用从您钱包的渐进式实时代币转账——代币随时间稳定流动，而不是一次性全部转移。\"},\"introRevocationTitle\":{\"message\":\"此网站正在请求代币撤销许可\"},\"introManageTokenApprovalsDescription\":{\"message\":\"允许此网站代您撤销现有的代币许可——帮助您清理旧授权并降低风险。\"},\"introPermissionInControlDescription\":{\"message\":\"您可以随时在高级许可中编辑或撤销此许可。\"},\"introGotItButton\":{\"message\":\"知道了\"},\"maliciousWebsiteLabel\":{\"message\":\"\"},\"potentiallyMaliciousWebsiteLabel\":{\"message\":\"\"},\"maliciousAddressLabel\":{\"message\":\"\"},\"potentiallyMaliciousAddressLabel\":{\"message\":\"\"}}}'),Nl={en:wl.D,zh_CN:Bl.D,fr:El.D,de:bl.D,el:vl.D,hi:xl.D,id:Tl.D,ja:kl.D,ko:Sl.D,pt_BR:Cl.D,ru:Il.D,es_419:Al.D,tl:Pl.D,tr:Ml.D,vi:Rl.D},Ol=\"en\";let _l,Ll=Ol;const Dl=Nl[Ol];let Fl=null;async function Ul(){return Fl||(Fl=(async()=>{try{const e=(await snap.request({method:\"snap_getPreferences\"})).locale||Ol;if(_l&&Ll===e)return;if(e in Nl)Ll=e,_l=Nl[Ll];else{const t=e.split(\"-\")[0];t&&t in Nl?(Ll=t,_l=Nl[Ll]):(Ll=Ol,_l=Nl[Ol])}}catch(e){_l||(Ll=Ol,_l=Nl[Ol]),i.error(\"Failed to fetch user preferences for i18n\",e)}finally{Fl=null}})(),Fl)}function jl(e,t){if(!_l||!Dl)return i.warn(`i18n not initialized yet, returning key: ${String(e)}`),String(e);let r=_l[e];if(!r?.message&&(r=Dl[e],!r?.message))return i.warn(`Missing translation for key: ${String(e)}`),String(e);const{message:n}=r;return function(e,t){return t&&0!==t.length?t.reduce((e,t,r)=>e.replace(new RegExp(`\\\\$${r+1}`,\"gu\"),t),e):e}(n,t)}const Hl=\"1.3.0\",zl=(e,t)=>{const r=e[t];if(!r)throw new Error(`Delegator contract deployment is missing ${t}`);return r},Gl=e=>{const t=(e=>{const t=yl[Hl];if(!t)throw new Error(`Delegator contract deployments are missing for version ${Hl}`);const r=t[e]??t[Nc];if(!r)throw new Error(`Delegator contract deployments are missing for chain ${e}`);return r})(e);return{delegationManager:zl(t,\"DelegationManager\"),eip7702StatelessDeleGatorImpl:zl(t,\"EIP7702StatelessDeleGatorImpl\"),limitedCallsEnforcer:zl(t,\"LimitedCallsEnforcer\"),erc20StreamingEnforcer:zl(t,\"ERC20StreamingEnforcer\"),erc20PeriodTransferEnforcer:zl(t,\"ERC20PeriodTransferEnforcer\"),nativeTokenStreamingEnforcer:zl(t,\"NativeTokenStreamingEnforcer\"),nativeTokenPeriodTransferEnforcer:zl(t,\"NativeTokenPeriodTransferEnforcer\"),valueLteEnforcer:zl(t,\"ValueLteEnforcer\"),timestampEnforcer:zl(t,\"TimestampEnforcer\"),exactCalldataEnforcer:zl(t,\"ExactCalldataEnforcer\"),nonceEnforcer:zl(t,\"NonceEnforcer\"),allowedCalldataEnforcer:zl(t,\"AllowedCalldataEnforcer\"),redeemerEnforcer:zl(t,\"RedeemerEnforcer\"),allowedTargetsEnforcer:zl(t,\"AllowedTargetsEnforcer\"),approvalRevocationEnforcer:zl(t,\"ApprovalRevocationEnforcer\")}},Vl={1:{name:\"Ethereum Mainnet\",explorerUrl:\"https://etherscan.io\"},10:{name:\"OP Mainnet\",explorerUrl:\"https://optimistic.etherscan.io\"},56:{name:\"BNB Smart Chain Mainnet\",explorerUrl:\"https://bscscan.com\"},100:{name:\"Gnosis\",explorerUrl:\"https://gnosisscan.io\"},130:{name:\"Unichain\",explorerUrl:\"https://uniscan.xyz\"},137:{name:\"Polygon Mainnet\",explorerUrl:\"https://polygonscan.com\"},8453:{name:\"Base\",explorerUrl:\"https://basescan.org\"},42161:{name:\"Arbitrum One\",explorerUrl:\"https://arbiscan.io\"},42170:{name:\"Arbitrum Nova\",explorerUrl:\"https://nova.arbiscan.io\"},59144:{name:\"Linea Mainnet\",explorerUrl:\"https://lineascan.build\"},80002:{name:\"Amoy\",explorerUrl:\"https://amoy.polygonscan.com\"},80094:{name:\"Berachain\",explorerUrl:\"https://berascan.com\"},97:{name:\"BNB Smart Chain Testnet\",explorerUrl:\"https://testnet.bscscan.com\"},1301:{name:\"Unichain Sepolia Testnet\",explorerUrl:\"https://unichain-sepolia.blockscout.com\"},6342:{name:\"MegaETH Testnet\",explorerUrl:void 0},10200:{name:\"Gnosis Chiado Testnet\",explorerUrl:\"https://gnosis-chiado.blockscout.com\"},59141:{name:\"Linea Sepolia Testnet\",explorerUrl:\"https://sepolia.lineascan.build\"},80069:{name:\"Berachain Bepolia Testnet\",explorerUrl:\"https://bepolia.beratrail.io\"},84532:{name:\"Base Sepolia Testnet\",explorerUrl:\"https://sepolia.basescan.org\"},421614:{name:\"Arbitrum Sepolia Testnet\",explorerUrl:\"https://sepolia.arbiscan.io\"},11155111:{name:\"Ethereum Sepolia Testnet\",explorerUrl:\"https://sepolia.etherscan.io\"},11155420:{name:\"OP Sepolia Testnet\",explorerUrl:\"https://sepolia-optimism.etherscan.io\"}},ql=({chainId:e})=>{const{explorerUrl:t,name:r}=Vl[e]??{};return{contracts:Gl(e),name:r??jl(\"unknownChain\",[dc(e)]),explorerUrl:t}};class Kl{#A;static#P=\"0x2bd4ed21\";constructor({ethereumProvider:e}){this.#A=e}async getNonce({chainId:e,account:t,retryOptions:r}){if(i.debug(\"NonceCaveatClient:getNonce()\"),!e){const e=\"No chainId provided to fetch nonce\";throw i.error(e),new Vs(e)}const{contracts:n}=ql({chainId:e});if(!t){const e=\"No account address provided to fetch nonce\";throw i.error(e),new Vs(e)}await yc(this.#A,e);const s=Kl.#P+n.delegationManager.slice(2).padStart(64,\"0\")+t.slice(2).padStart(64,\"0\");try{const e=await bc({ethereumProvider:this.#A,contractAddress:n.nonceEnforcer,callData:s,retryOptions:r,isRetryableError:e=>this.#x(e)});return(0,wc.decodeSingle)(\"uint256\",e)}catch(e){if(e instanceof Xs)throw e;const t=e instanceof Error?e.message:String(e);throw i.error(`Failed to fetch nonce: ${t}`),new Ys(\"Failed to fetch nonce\")}}#x(e){return!(e instanceof Xs)}}const Wl=Vo(Oo().min(1).max(200),Vo(Oo().min(1).max(10),_o().finite().min(0).max(1e12)));var Jl=function(e){return e.BLOCK=\"BLOCK\",e.WARN=\"WARN\",e.NONE=\"NONE\",e}({});const $l=Object.values(Jl),Zl=Ho({status:Oo(),recommendedAction:Oo().optional()}),Yl={\"0x1\":\"ethereum\",\"0x89\":\"polygon\",\"0x38\":\"bsc\",\"0xa4b1\":\"arbitrum\",\"0xa86a\":\"avalanche\",\"0x2105\":\"base\",\"0xa\":\"optimism\",\"0x76adf1\":\"zora\",\"0xe708\":\"linea\",\"0x27bc86aa\":\"degen\",\"0x144\":\"zksync\",\"0x82750\":\"scroll\",\"0x13e31\":\"blast\",\"0x74c\":\"soneium\",\"0x79a\":\"soneium-minato\",\"0x14a34\":\"base-sepolia\",\"0xab5\":\"abstract\",\"0x849ea\":\"zero-network\",\"0x138de\":\"berachain\",\"0x82\":\"unichain\",\"0x7e4\":\"ronin\",\"0x127\":\"hedera\",\"0x12c\":\"zksync-sepolia\",\"0xaa36a7\":\"ethereum-sepolia\",\"0xa869\":\"avalanche-fuji\",\"0x343b\":\"immutable-zkevm\",\"0x34a1\":\"immutable-zkevm-testnet\",\"0x64\":\"gnosis\",\"0x1e0\":\"worldchain\",\"0x8173\":\"apechain\",\"0x138c5\":\"berachain-bartio\",\"0xdef1\":\"ink\",\"0xba5ed\":\"ink-sepolia\",\"0x2b74\":\"abstract-testnet\",\"0x531\":\"sei\",\"0x2eb\":\"flow-evm\",\"0x8f\":\"monad\",\"0x3e7\":\"hyperevm\",solana:\"solana\"};var Xl=function(e){return e.Benign=\"Benign\",e.Warning=\"Warning\",e.Malicious=\"Malicious\",e.ErrorResult=\"ErrorResult\",e}({});const Ql=Object.values(Xl),eu=Ho({result_type:Oo(),label:Oo()});function tu(e,t){return v(e,e=>\"string\"==typeof e&&t.test(e))}const ru=/^(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32})$/u,nu=/^[-a-z0-9]{3,8}$/u,su=/^[-_a-zA-Z0-9]{1,32}$/u,iu=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32})):(?<accountAddress>[-.%a-zA-Z0-9]{1,128})$/u,ou=/^[-.%a-zA-Z0-9]{1,128}$/u,au=/^[-a-z0-9]{3,8}$/u,cu=/^[-.%a-zA-Z0-9]{1,128}$/u,lu=/^[-.%a-zA-Z0-9]{1,78}$/u,uu=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})$/u,du=/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})\\/(?<tokenId>[-.%a-zA-Z0-9]{1,78})$/u,hu=(tu(\"CaipChainId\",ru),tu(\"CaipNamespace\",nu),tu(\"CaipReference\",su),tu(\"CaipAccountId\",iu)),fu=(tu(\"CaipAccountAddress\",ou),tu(\"CaipAssetNamespace\",au),tu(\"CaipAssetReference\",cu),tu(\"CaipTokenId\",lu),tu(\"CaipAssetType\",uu));tu(\"CaipAssetId\",du),tu(\"CaipAssetTypeOrId\",/^(?<chainId>(?<namespace>[-a-z0-9]{3,8}):(?<reference>[-_a-zA-Z0-9]{1,32}))\\/(?<assetNamespace>[-a-z0-9]{3,8}):(?<assetReference>[-.%a-zA-Z0-9]{1,128})(\\/(?<tokenId>[-.%a-zA-Z0-9]{1,78}))?$/u);var pu,mu;function gu(e){return\"string\"==typeof e&&nu.test(e)}function yu(e){return\"string\"==typeof e&&su.test(e)}function bu(e){return\"string\"==typeof e&&au.test(e)}function vu(e){return\"string\"==typeof e&&cu.test(e)}function wu(e){const t=iu.exec(e);if(!t?.groups)throw new Error(\"Invalid CAIP account ID.\");return{address:t.groups.accountAddress,chainId:t.groups.chainId,chain:{namespace:t.groups.namespace,reference:t.groups.reference}}}function Au(e){const t=uu.exec(e);if(!t?.groups)throw new Error(\"Invalid CAIP asset type.\");return{assetNamespace:t.groups.assetNamespace,assetReference:t.groups.assetReference,chainId:t.groups.chainId,chain:{namespace:t.groups.namespace,reference:t.groups.reference}}}function Eu(e,t,r){if(!gu(e))throw new Error(`Invalid \"namespace\", must match: ${nu.toString()}`);if(!yu(t))throw new Error(`Invalid \"reference\", must match: ${su.toString()}`);if(\"string\"!=typeof(n=r)||!ou.test(n))throw new Error(`Invalid \"accountAddress\", must match: ${ou.toString()}`);var n;return`${e}:${t}:${r}`}function xu(e,t,r,n){if(!gu(e))throw new Error(`Invalid \"namespace\", must match: ${nu.toString()}`);if(!yu(t))throw new Error(`Invalid \"reference\", must match: ${su.toString()}`);if(!bu(r))throw new Error(`Invalid \"assetNamespace\", must match: ${au.toString()}`);if(!vu(n))throw new Error(`Invalid \"assetReference\", must match: ${cu.toString()}`);return`${e}:${t}/${r}:${n}`}function Tu(e){return v(JSON.stringify(e),E(e).validator)}!function(e){e.Bip122=\"bip122\",e.Solana=\"solana\",e.Stellar=\"stellar\",e.Tron=\"tron\",e.Eip155=\"eip155\",e.Wallet=\"wallet\"}(pu=pu||(pu={})),function(e){e.ButtonClickEvent=\"ButtonClickEvent\",e.FormSubmitEvent=\"FormSubmitEvent\",e.InputChangeEvent=\"InputChangeEvent\",e.FileUploadEvent=\"FileUploadEvent\"}(mu||(mu={}));const ku=S({type:P(),name:C(P())}),Su=b(ku,S({type:Tu(mu.ButtonClickEvent),name:C(P())})),Cu=S({accountId:P(),addresses:w(hu)}),Iu=S({name:P(),size:k(),contentType:P(),contents:P()}),Pu=S({asset:fu,name:P(),symbol:P()});!function(e){const t=e.map(e=>\"union\"===e.type&&Array.isArray(e.schema)?e.schema:e).flat(1/0),r=t.map(({schema:e})=>e.type.type),n=t.reduce((e,t)=>(e[JSON.parse(t.schema.type.type)]=t,e),{});new h({type:\"union\",schema:t,*entries(e,t){if(!O(e)||!_(e,\"type\")||\"string\"!=typeof e.type)return;const{type:r}=e,s=n[r];if(s)for(const r of s.entries(e,t))yield r},coercer(e,t){if(!O(e)||!_(e,\"type\")||\"string\"!=typeof e.type)return e;const{type:r}=e,s=n[r];return s?s.coercer(e,t):e},*refiner(e,t){const r=n[e.type];yield*r.refiner(e,t)},validator(e,t){if(!O(e)||!_(e,\"type\")||\"string\"!=typeof e.type)return`Expected type to be one of: ${r.join(\", \")}, but received: undefined`;const{type:s}=e,i=n[s];return i?i.validator(e,t):`Expected type to be one of: ${r.join(\", \")}, but received: \"${s}\"`}})}([Su,b(ku,S({type:Tu(mu.FormSubmitEvent),value:I(P(),T(M([P(),Iu,A(),Cu,Pu]))),name:P()})),b(ku,S({type:Tu(mu.InputChangeEvent),name:P(),value:T(M([P(),A(),Cu,Pu]))})),b(ku,S({type:Tu(mu.FileUploadEvent),name:P(),file:T(Iu)}))]);class Mu{static cancelButton=\"cancel-button\";static grantButton=\"grant-button\";#M;#R;#B;#N;#O;#_=!1;#L;#D;#F;#U;constructor({dialogInterface:e,ui:t,userEventDispatcher:r,onBeforeGrant:n,timeoutFactory:s}){this.#M=e,this.#N=t,this.#R=r,this.#U=n,this.#B=s}async initialize(){return this.#M.show(this.#j(),()=>this.#H())}#H(){this.#z(),this.#F&&(this.#F(!1),this.#F=void 0)}async displayConfirmationDialogAndAwaitUserDecision(){const{interfaceId:e}=this.#M;if(!e)throw new Error(\"Interface not yet created. Call initialize() first.\");const t=new Promise((t,r)=>{this.#F=t,this.#D=r;const n=async e=>{this.#_||(this.#z(),await this.#M.close()),this.#_||t(e)};this.#O=this.#B.register({onTimeout:async()=>{this.#_=!0,this.#z(),await this.#M.close(),r(new Error(\"Timeout waiting for user decision\"))}});const{unbind:s}=this.#R.on({elementName:Mu.grantButton,eventType:mu.ButtonClickEvent,interfaceId:e,handler:async()=>{await this.#U()&&await n(!0)}}),{unbind:i}=this.#R.on({elementName:Mu.cancelButton,eventType:mu.ButtonClickEvent,interfaceId:e,handler:async()=>{await n(!1)}});this.#L=()=>{s(),i()}});return{isConfirmationGranted:await t}}#z(){if(this.#O?.cancel(),this.#O=void 0,this.#L)try{this.#L()}catch{}finally{this.#L=void 0}}#j(){return this.#N}async updateContent({ui:e}){this.#N=e,await this.#M.show(this.#j())}async closeWithError(e){this.#z(),await this.#M.close(),this.#D&&(this.#D(e),this.#D=void 0)}}class Ru{#G;#V;#q=!1;#K;constructor(e){this.#G=e}async show(e,t){return this.#q||(this.#V?await this.#G.request({method:\"snap_updateInterface\",params:{id:this.#V,ui:e,context:{}}}):(this.#V=await this.#G.request({method:\"snap_createInterface\",params:{ui:e,context:{}}}),this.#G.request({method:\"snap_dialog\",params:{id:this.#V}}).then(e=>(null===e&&this.#K?.(),e)).catch(()=>{this.#K?.()}).finally(()=>{this.#q=!0})),t&&(this.#K=t)),this.#V}async#W(e){try{return await this.#G.request({method:\"snap_resolveInterface\",params:{id:e,value:{}}}),!0}catch{return!1}}async#J(e){try{return await this.#G.request({method:\"snap_getInterfaceContext\",params:{id:e}}),!0}catch{return!1}}async close(){if(this.#q||!this.#V)return;const e=()=>{this.#q=!0},t=this.#V;for(let r=0;r<3;r++){if(await this.#W(t))return void e();if(!await this.#J(t))return void e()}e()}get interfaceId(){return this.#V}}var Bu=function(e){return e.None=\"None\",e.DissimilarPermissions=\"DissimilarPermissions\",e.SimilarPermissions=\"SimilarPermissions\",e}({});function Nu(e,t,r){if(\"string\"==typeof e)throw new Error(`An HTML element (\"${String(e)}\") was used in a Snap component, which is not supported by Snaps UI. Please use one of the supported Snap components.`);if(!e)throw new Error(\"A JSX fragment was used in a Snap component, which is not supported by Snaps UI. Please use one of the supported Snap components.\");return e({...t,key:r})}function Ou(e,t,r){return Nu(e,t,r)}function _u(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}function Lu(e){return t=>{const{key:r=null,...n}=t;return{type:e,props:_u(n),key:r}}}const Du=Lu(\"Container\"),Fu=Lu(\"Box\"),Uu=Lu(\"Heading\"),ju=Lu(\"Text\"),Hu=Lu(\"Section\"),zu=Lu(\"Skeleton\"),Gu=Lu(\"Footer\"),Vu=Lu(\"Button\"),qu=Lu(\"Address\");var Ku=function(e){return e.HOURLY=\"hourly\",e.DAILY=\"daily\",e.WEEKLY=\"weekly\",e.BIWEEKLY=\"biweekly\",e.MONTHLY=\"monthly\",e.YEARLY=\"yearly\",e}({});const Wu={[Ku.HOURLY]:3600n,[Ku.DAILY]:86400n,[Ku.WEEKLY]:604800n,[Ku.BIWEEKLY]:1209600n,[Ku.MONTHLY]:2592000n,[Ku.YEARLY]:31536000n},Ju=e=>{const t=Object.entries(Wu);let r=Ku.HOURLY,n=Number.MAX_SAFE_INTEGER;for(const[s,i]of t){const t=Math.abs(e-Number(i));t<n&&(n=t,r=s)}return r},$u=31536e4,Zu=Da.max($u,{message:\"Period duration must be less than or equal to 315360000 seconds (10 years).\"}).transform(e=>{const t=Ju(e);return Number(Wu[t])}),Yu=e=>{if(!e)return\"\";const t=e.replace(/([+-]\\d{2}:\\d{2}|Z)$/u,\"\"),r=-new Date(t).getTimezoneOffset();return`${t}${r>=0?\"+\":\"-\"}${String(Math.floor(Math.abs(r)/60)).padStart(2,\"0\")}:${String(Math.abs(r)%60).padStart(2,\"0\")}`},Xu=e=>{const t=new Date(1e3*e);if(isNaN(t.getTime()))throw new Vs(`timestampToISO8601: Invalid timestamp: ${e}`);return t.toISOString()},Qu=e=>{const t=(e=>`${e.replace(/([+-]\\d{2}:\\d{2}|Z)$/u,\"\")}Z`)(e),r=new Date(t);if(isNaN(r.getTime()))throw new Vs(`iso8601ToTimestampIgnoreTimezone: Invalid ISO 8601 string: ${e}`);return Math.floor(r.getTime()/1e3)},ed=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();function td(e,t,r,n=!1){if(null==e)return{amount:null,error:null};try{const s=oc({formatted:e,decimals:t});return!n&&s<=0n?{amount:null,error:jl(\"errorAmountMustBeGreaterThanZero\",[ed(r)])}:n&&s<0n?{amount:null,error:jl(\"errorAmountMustBeGreaterThanOrEqualToZero\",[ed(r)])}:{amount:s,error:null}}catch{return{amount:null,error:jl(\"errorInvalidAmount\",[r])}}}function rd(e){return-1===e?jl(\"errorInvalidStartTime\"):e<(()=>{const e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0);return Math.floor(t.getTime()/1e3)})()?jl(\"errorStartTimeMustBeTodayOrLater\"):void 0}function nd(e){if(-1===e)return jl(\"errorInvalidExpiry\");return e<Math.floor(Date.now()/1e3)?jl(\"errorExpiryMustBeInFuture\"):void 0}function sd(e,t){if(e>=t)return jl(\"errorStartTimeMustBeBeforeExpiry\")}function id(e,t){return null!==e&&null!==t&&e<t?jl(\"errorMaxAmountMustBeGreaterThanInitialAmount\"):null}function od(e,t,r){return sc({value:e/Wu[t],decimals:r})}function ad(e){return isNaN(e)||e<=0?{duration:void 0,error:jl(\"errorPeriodDurationMustBeGreaterThanZero\")}:{duration:e,error:void 0}}function cd(e){const{initialAmount:t,amountPerPeriod:r,timePeriod:n,startTime:s,expiryTimestamp:i,maxAmount:o,decimals:a}=e;let c=null;if(void 0!==i&&null!==r){const e=r/Wu[n],o=i-s;c=o>0?(t??0n)+BigInt(o)*e:t??0n}let l=null;return l=null!==o&&null!==c?o<c?o:c:o??c??null,null===l?null:sc({value:l,decimals:a})}function ld(t){const r=t?.find(t=>\"redeemer\"===e(t.type)),n=r?.data?.addresses;if(Array.isArray(n)&&0!==n.length)return n}function ud(t){const r=t?.find(t=>\"payee\"===e(t.type)),n=r?.data?.addresses;if(Array.isArray(n)&&0!==n.length)return n}const dd=({elementName:e,translate:t})=>({name:e,label:\"expiryLabel\",type:\"datetime\",isOptional:!0,getRuleData:({context:e,metadata:r})=>({value:e.expiry?Xu(e.expiry.timestamp):void 0,isVisible:!0,tooltip:t(\"expiryTooltip\"),error:r.validationErrors.expiryError,allowPastDate:!1,isEditable:!0}),updateContext:(e,t)=>{let r;if(\"string\"==typeof t){r={timestamp:\"\"===t?Math.floor(Date.now()/1e3)+Number(Wu[Ku.MONTHLY]):Qu(t)}}return{...e,expiry:r}},contentWhenDisabled:()=>t(\"expiryContentWhenDisabled\")}),hd=(t,r)=>{const n=t.expiry?.timestamp;let s=r.rules||[];const i=s.findIndex(t=>\"expiry\"===e(t.type));return n?s=-1===i?[...s,{type:\"expiry\",data:{timestamp:n}}]:s.map((e,t)=>t===i?{...e,data:{...e.data,timestamp:n}}:e):-1!==i&&(s=s.filter((e,t)=>t!==i)),{...r,rules:s}},fd=(t,r)=>{const n=t.rules?.find(t=>\"redeemer\"===e(t.type));let s=r.rules||[];const i=s.findIndex(t=>\"redeemer\"===e(t.type));return n?s=-1===i?[...s,n]:s.map((e,t)=>t===i?n:e):-1!==i&&(s=s.filter((e,t)=>t!==i)),{...r,rules:s}},pd=(t,r)=>{const n=t.rules?.find(t=>\"payee\"===e(t.type));let s=r.rules||[];const i=s.findIndex(t=>\"payee\"===e(t.type));return n?s=-1===i?[...s,n]:s.map((e,t)=>t===i?n:e):-1!==i&&(s=s.filter((e,t)=>t!==i)),{...r,rules:s}},md=\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",gd=\"eip155\";const yd=[{key:\"erc20Approve\",labelKey:\"erc20ApproveRevocationLabel\"},{key:\"erc721Approve\",labelKey:\"erc721ApproveRevocationLabel\"},{key:\"erc721SetApprovalForAll\",labelKey:\"erc721SetApprovalForAllRevocationLabel\"},{key:\"permit2Approve\",labelKey:\"permit2ApproveRevocationLabel\"},{key:\"permit2Lockdown\",labelKey:\"permit2LockdownRevocationLabel\"},{key:\"permit2InvalidateNonces\",labelKey:\"permit2InvalidateNoncesRevocationLabel\"}],bd=Ha.extend({erc20Approve:Do(),erc721Approve:Do(),erc721SetApprovalForAll:Do(),permit2Approve:Do(),permit2Lockdown:Do(),permit2InvalidateNonces:Do()}).refine(e=>yd.some(({key:t})=>e[t]),{message:\"At least one token approval revocation primitive must be enabled\"}),vd=La.extend({type:qo(\"token-approval-revocation\"),data:bd});function wd(e,t,r){if(null==e)return jl(\"unlimited\");return`${ic({value:e,allowNull:!1,decimals:t})} ${r}`}function Ad(t){const r={},n=e(t.permission.type),s=Vl[fc(t.chainId)],i=jl(\"chainLabel\"),o=s?s.name:t.chainId;r.chainId={label:i,value:o};const a=t.permission.data;if(a&&\"object\"==typeof a){if(\"justification\"in a){const{justification:e}=a;\"string\"==typeof e&&(r.justification={label:jl(\"justificationLabel\"),value:e})}if(\"token-approval-revocation\"===n){const e=jl(\"revokeTokenApprovalsLabel\"),t=yd.filter(({key:e})=>!0===a[e]).map(({labelKey:e})=>jl(e));if(t.length>0){const n=t.length===yd.length?jl(\"allApprovalRevocationPrimitivesLabel\"):t.join(\", \");r.tokenApprovals={label:e,value:n}}}else if(\"erc20-token-periodic\"===n||\"native-token-periodic\"===n){const{periodAmount:e,periodDuration:t}=a;if(null!=e){const t=jl(\"amountLabel\");r.periodAmount={label:t,value:String(e)}}if(null!=t){const e=Ju(Number(t)),n=jl(\"periodDurationLabel\"),s=jl(e.toLowerCase());r.periodDuration={label:n,value:s}}}else if(\"erc20-token-allowance\"===n||\"native-token-allowance\"===n){const{allowanceAmount:e,startTime:t}=a;if(null!=e){const t=jl(\"amountLabel\");r.allowanceAmount={label:t,value:String(e)}}if(null!=t){const e=jl(\"startTimeLabel\"),n=new Date(1e3*Number(t)).toLocaleString(void 0,{timeZone:\"UTC\"});r.startTime={label:e,value:n}}}else if(\"erc20-token-stream\"===n||\"native-token-stream\"===n){const{maxAmount:e,startTime:t}=a;if(null!=e){const t=jl(\"maxAmountLabel\");r.maxAmount={label:t,value:String(e)}}if(null!=t){const e=jl(\"startTimeLabel\"),n=new Date(1e3*Number(t)).toLocaleString(void 0,{timeZone:\"UTC\"});r.startTime={label:e,value:n}}}}return r}const Ed=({detail:e,index:t})=>Nu(Hu,{direction:\"vertical\",children:Object.entries(e).map(([e,r])=>Ou(Fu,\"justification\"===e?{direction:\"vertical\",alignment:\"start\",children:[Ou(ju,{children:[r.label,\":\"]}),Ou(ju,{children:[\" \",r.value]})]}:{direction:\"horizontal\",alignment:\"space-between\",children:[Ou(ju,{children:[r.label,\":\"]}),Ou(ju,{children:[\" \",r.value]})]},`${t}-${e}`))}),xd=\"existing-permissions-confirm\";function Td(e){const{existingPermissions:t,title:r,description:n,buttonLabel:s}=e,i=function(e){const t={};for(const r of e){const{from:e,chainId:n}=r;e&&n&&(t[e]??=[],t[e].push(Ad(r)))}return t}(t);return Ou(Du,{children:[Ou(Fu,{direction:\"vertical\",children:[Ou(Fu,{center:!0,children:[Nu(Uu,{size:\"lg\",children:jl(r)}),Nu(ju,{children:jl(n)})]}),Object.entries(i).map(([e,t])=>Ou(Fu,{direction:\"vertical\",children:[Ou(Hu,{direction:\"horizontal\",alignment:\"space-between\",children:[Nu(ju,{fontWeight:\"bold\",children:jl(\"accountLabel\")}),Nu(qu,{address:e,displayName:!0})]}),t.map((t,r)=>Nu(Ed,{detail:t,index:r},`${e}-${r}`))]},`account-${e}`))]}),Nu(Gu,{children:Nu(Vu,{name:xd,children:jl(s)})})]})}function kd(e){return e.endsWith(\"-periodic\")?\"periodic\":e.endsWith(\"-stream\")?\"stream\":e.endsWith(\"-allowance\")?\"allowance\":null}const Sd=e=>{const{iconDataBase64:t}=e.tokenMetadata;if(t)return{iconDataBase64:t,iconAltText:e.tokenMetadata.symbol}},Cd=Lu(\"AccountSelector\"),Id=Lu(\"Banner\"),Pd=Lu(\"Tooltip\");var Md;!function(e){e.Accessibility=\"accessibility\",e.Activity=\"activity\",e.AddCard=\"add-card\",e.AddCircle=\"add-circle\",e.AddSquare=\"add-square\",e.Add=\"add\",e.Ai=\"ai\",e.AlternateEmail=\"alternate-email\",e.Apple=\"apple\",e.Apps=\"apps\",e.Arrow2Down=\"arrow-2-down\",e.Arrow2Left=\"arrow-2-left\",e.Arrow2Right=\"arrow-2-right\",e.Arrow2UpRight=\"arrow-2-up-right\",e.Arrow2Up=\"arrow-2-up\",e.ArrowCircleDown=\"arrow-circle-down\",e.ArrowCircleUp=\"arrow-circle-up\",e.ArrowDoubleLeft=\"arrow-double-left\",e.ArrowDoubleRight=\"arrow-double-right\",e.ArrowDown=\"arrow-down\",e.ArrowDropDownCircle=\"arrow-drop-down-circle\",e.ArrowLeft=\"arrow-left\",e.ArrowRight=\"arrow-right\",e.ArrowUp=\"arrow-up\",e.Attachment=\"attachment\",e.Ban=\"ban\",e.BankAssured=\"bank-assured\",e.Bank=\"bank\",e.Bold=\"bold\",e.Book=\"book\",e.Bookmark=\"bookmark\",e.Bridge=\"bridge\",e.Briefcase=\"briefcase\",e.Bulb=\"bulb\",e.BuySell=\"buy-sell\",e.Cake=\"cake\",e.Calculator=\"calculator\",e.Calendar=\"calendar\",e.Call=\"call\",e.Camera=\"camera\",e.Campaign=\"campaign\",e.CardPos=\"card-pos\",e.Card=\"card\",e.Cash=\"cash\",e.Category=\"category\",e.Chart=\"chart\",e.CheckBold=\"check-bold\",e.Check=\"check\",e.CircleX=\"circle-x\",e.ClockFilled=\"clock-filled\",e.Clock=\"clock\",e.Close=\"close\",e.CloudDownload=\"cloud-download\",e.CloudUpload=\"cloud-upload\",e.Cloud=\"cloud\",e.CodeCircle=\"code-circle\",e.Code=\"code\",e.Coin=\"coin\",e.Collapse=\"collapse\",e.Confirmation=\"confirmation\",e.Connect=\"connect\",e.CopySuccess=\"copy-success\",e.Copy=\"copy\",e.CreditCheck=\"credit-check\",e.CurrencyFranc=\"currency-franc\",e.CurrencyLira=\"currency-lira\",e.CurrencyPound=\"currency-pound\",e.CurrencyYuan=\"currency-yuan\",e.Customize=\"customize\",e.Danger=\"danger\",e.DarkFilled=\"dark-filled\",e.Dark=\"dark\",e.Data=\"data\",e.Description=\"description\",e.Details=\"details\",e.Diagram=\"diagram\",e.DocumentCode=\"document-code\",e.Download=\"download\",e.Draft=\"draft\",e.EcoLeaf=\"eco-leaf\",e.EditSquare=\"edit-square\",e.Edit=\"edit\",e.EncryptedAdd=\"encrypted-add\",e.Eraser=\"eraser\",e.Error=\"error\",e.Ethereum=\"ethereum\",e.Exchange=\"exchange\",e.ExpandVertical=\"expand-vertical\",e.Expand=\"expand\",e.ExploreFilled=\"explore-filled\",e.Explore=\"explore\",e.Export=\"export\",e.Extension=\"extension\",e.EyeSlash=\"eye-slash\",e.Eye=\"eye\",e.FaceId=\"face-id\",e.Feedback=\"feedback\",e.File=\"file\",e.Filter=\"filter\",e.Fingerprint=\"fingerprint\",e.Fire=\"fire\",e.FirstPage=\"first-page\",e.Flag=\"flag\",e.FlashSlash=\"flash-slash\",e.Flash=\"flash\",e.Flask=\"flask\",e.Flower=\"flower\",e.Folder=\"folder\",e.Forest=\"forest\",e.FullCircle=\"full-circle\",e.Gas=\"gas\",e.Gift=\"gift\",e.GlobalSearch=\"global-search\",e.Global=\"global\",e.Graph=\"graph\",e.Hardware=\"hardware\",e.HashTag=\"hash-tag\",e.HeartFilled=\"heart-filled\",e.Heart=\"heart\",e.Hierarchy=\"hierarchy\",e.HomeFilled=\"home-filled\",e.Home=\"home\",e.Image=\"image\",e.Info=\"info\",e.Inventory=\"inventory\",e.Joystick=\"joystick\",e.KeepFilled=\"keep-filled\",e.Keep=\"keep\",e.Key=\"key\",e.LastPage=\"last-page\",e.LightFilled=\"light-filled\",e.Light=\"light\",e.Link=\"link\",e.Loading=\"loading\",e.Location=\"location\",e.LockSlash=\"lock-slash\",e.Lock=\"lock\",e.LockedFilled=\"locked-filled\",e.Login=\"login\",e.Logout=\"logout\",e.Mail=\"mail\",e.Map=\"map\",e.Menu=\"menu\",e.MessageQuestion=\"message-question\",e.Messages=\"messages\",e.Mic=\"mic\",e.MinusBold=\"minus-bold\",e.MinusSquare=\"minus-square\",e.Minus=\"minus\",e.Mobile=\"mobile\",e.MoneyBag=\"money-bag\",e.Money=\"money\",e.Monitor=\"monitor\",e.MoreHorizontal=\"more-horizontal\",e.MoreVertical=\"more-vertical\",e.MountainFlag=\"mountain-flag\",e.MusicNote=\"music-note\",e.Notification=\"notification\",e.PageInfo=\"page-info\",e.Palette=\"palette\",e.PasswordCheck=\"password-check\",e.Pending=\"pending\",e.People=\"people\",e.PersonCancel=\"person-cancel\",e.Pin=\"pin\",e.Plant=\"plant\",e.Plug=\"plug\",e.PlusAndMinus=\"plus-and-minus\",e.PolicyAlert=\"policy-alert\",e.Print=\"print\",e.PriorityHigh=\"priority-high\",e.PrivacyTip=\"privacy-tip\",e.ProgrammingArrows=\"programming-arrows\",e.Publish=\"publish\",e.QrCode=\"qr-code\",e.Question=\"question\",e.Receive=\"receive\",e.Received=\"received\",e.Refresh=\"refresh\",e.RemoveMinus=\"remove-minus\",e.Report=\"report\",e.Rocket=\"rocket\",e.SaveFilled=\"save-filled\",e.Save=\"save\",e.Saving=\"saving\",e.ScanBarcode=\"scan-barcode\",e.ScanFocus=\"scan-focus\",e.Scan=\"scan\",e.Search=\"search\",e.SecurityAlert=\"security-alert\",e.SecurityCross=\"security-cross\",e.SecurityKey=\"security-key\",e.SecuritySearch=\"security-search\",e.SecuritySlash=\"security-slash\",e.SecurityTick=\"security-tick\",e.SecurityTime=\"security-time\",e.SecurityUser=\"security-user\",e.Security=\"security\",e.Send=\"send\",e.SentimentDissatisfied=\"sentiment-dissatisfied\",e.SentimentNeutral=\"sentiment-neutral\",e.SentimentSatisfied=\"sentiment-satisfied\",e.SentimentVerySatisfied=\"sentiment-very-satisfied\",e.SettingFilled=\"setting-filled\",e.Setting=\"setting\",e.Share=\"share\",e.ShieldLock=\"shield-lock\",e.ShoppingBag=\"shopping-bag\",e.ShoppingCart=\"shopping-cart\",e.SignalCellular=\"signal-cellular\",e.Slash=\"slash\",e.Sms=\"sms\",e.SnapsMobile=\"snaps-mobile\",e.SnapsPlus=\"snaps-plus\",e.SnapsRound=\"snaps-round\",e.Snaps=\"snaps\",e.SortByAlpha=\"sort-by-alpha\",e.Sort=\"sort\",e.Sparkle=\"sparkle\",e.Speed=\"speed\",e.Speedometer=\"speedometer\",e.Square=\"square\",e.Stake=\"stake\",e.StarFilled=\"star-filled\",e.Star=\"star\",e.Start=\"start\",e.Storefront=\"storefront\",e.Student=\"student\",e.SwapHorizontal=\"swap-horizontal\",e.SwapVertical=\"swap-vertical\",e.TabClose=\"tab-close\",e.TableRow=\"table-row\",e.Tablet=\"tablet\",e.Tag=\"tag\",e.ThumbDownFilled=\"thumb-down-filled\",e.ThumbDown=\"thumb-down\",e.ThumbUpFilled=\"thumb-up-filled\",e.ThumbUp=\"thumb-up\",e.Tint=\"tint\",e.Tooltip=\"tooltip\",e.Translate=\"translate\",e.Trash=\"trash\",e.TrendDown=\"trend-down\",e.TrendUp=\"trend-up\",e.TriangleUp=\"triangle-up\",e.TriangleDown=\"triangle-down\",e.Undo=\"undo\",e.Unfold=\"unfold\",e.UnlockedFilled=\"unlocked-filled\",e.Unpin=\"unpin\",e.UploadFile=\"upload-file\",e.Upload=\"upload\",e.Usb=\"usb\",e.UserCheck=\"user-check\",e.UserCircleAdd=\"user-circle-add\",e.UserCircleRemove=\"user-circle-remove\",e.UserCircle=\"user-circle\",e.User=\"user\",e.VerifiedFilled=\"verified-filled\",e.Verified=\"verified\",e.Videocam=\"videocam\",e.ViewColumn=\"view-column\",e.ViewInAr=\"view-in-ar\",e.VolumeOff=\"volume-off\",e.VolumeUp=\"volume-up\",e.WalletFilled=\"wallet-filled\",e.Wallet=\"wallet\",e.Warning=\"warning\",e.WebTraffic=\"web-traffic\",e.Widgets=\"widgets\",e.WifiOff=\"wifi-off\",e.Wifi=\"wifi\",e.X=\"x\"}(Md||(Md={}));const Rd=Lu(\"Icon\"),Bd=Lu(\"Image\"),Nd=Lu(\"Field\"),Od=Ho({imageDataBase64:Oo().regex(/^data:image\\/png;base64,[A-Za-z0-9+/=]+$/u,\"Must be a valid PNG base64 data URI\"),altText:Oo().default(\"\"),width:_o().int().positive().max(512).default(24),height:_o().int().positive().max(512).default(24)}),_d=e=>{if(!e.imageDataBase64)return Nu(ju,{children:\" \"});const r=Od.safeParse(e);if(!r.success)return i.warn(\"TokenIcon: Invalid parameters\",t(r.error.errors)),Nu(ju,{children:\" \"});const{imageDataBase64:n,altText:s,width:o,height:a}=r.data;return Nu(Bd,{src:`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${o}\" height=\"${a}\" viewBox=\"0 0 ${o} ${a}\">\\n    <image href=\"${n}\" width=\"${o}\" height=\"${a}\" />\\n  </svg>`,alt:s})},Ld=({tooltip:e})=>Nu(Pd,{content:Nu(ju,{children:e}),children:Nu(Rd,{name:\"question\",size:\"inherit\",color:\"muted\"})}),Dd=e=>\"form\"===e.variant&&\"Input\"===e.children.type,Fd=e=>\"display\"===e.variant,Ud=e=>{const{label:t,tooltip:r,errorMessage:n,isEditable:s=!0,isFieldEnabled:i=!0,addFieldButtonName:o,removeFieldButtonName:a,contentWhenDisabled:c}=e,l=r?Nu(Ld,{tooltip:r}):null,u=Boolean(o??a);let d=null;if(u&&s){const e=i?a:o;e&&(d=Nu(Vu,{name:e,children:Nu(Bd,{src:i?'<svg width=\"37.5\" height=\"21\" viewBox=\"0 0 37.5 21\" xmlns=\"http://www.w3.org/2000/svg\">\\n  \\x3c!-- Background --\\x3e\\n  <rect x=\"0\" y=\"0\" width=\"37.5\" height=\"21\" rx=\"10.5\" fill=\"#3F57FF\"/>\\n\\n  \\x3c!-- Toggle circle (on right) --\\x3e\\n  <circle cx=\"27\" cy=\"10.5\" r=\"7.5\" fill=\"white\"/>\\n</svg>\\n':'<svg width=\"37.5\" height=\"21\" viewBox=\"0 0 37.5 21\" xmlns=\"http://www.w3.org/2000/svg\">\\n  \\x3c!-- Background --\\x3e\\n  <rect x=\"0\" y=\"0\" width=\"37.5\" height=\"21\" rx=\"10.5\" fill=\"#A0A4B0\"/>\\n\\n  \\x3c!-- Toggle circle (on left) --\\x3e\\n  <circle cx=\"10.5\" cy=\"10.5\" r=\"7.5\" fill=\"white\"/>\\n</svg>\\n',alt:jl(i?\"removeFieldAlt\":\"addFieldAlt\",[t])})}))}const h=Ou(Fu,{direction:\"horizontal\",alignment:\"space-between\",children:[Ou(Fu,{direction:\"horizontal\",children:[Nu(ju,{children:t}),l]}),d&&Nu(Fu,{children:d})]});if(u&&!i)return Ou(Fu,{direction:\"vertical\",children:[h,c?Nu(ju,{color:\"warning\",children:c()}):null]});if(Dd(e)||Fd(e)){const{iconData:t}=e,r=t?Nu(_d,{imageDataBase64:t.iconDataBase64,altText:t.iconAltText}):null;if(Fd(e)){const{children:t,direction:n=\"horizontal\"}=e,s=Ou(Fu,{direction:\"horizontal\",children:[r,t]});return Ou(Fu,{direction:n,alignment:\"vertical\"===n?\"start\":\"space-between\",children:[h,s]})}if(Dd(e)){const{removeButtonName:t,children:i}=e,o=t&&s?Nu(Vu,{name:t,type:\"button\",children:Nu(Rd,{name:\"close\",color:\"primary\",size:\"md\"})}):null;return Ou(Fu,{direction:\"vertical\",children:[h,Ou(Nd,{error:n,children:[Nu(Fu,{children:r}),i,Nu(Fu,{children:o})]})]})}}const{children:f}=e;return Ou(Fu,{direction:\"vertical\",children:[h,Nu(Nd,{error:n,children:f})]})},jd=[\"btc\",\"eth\",\"ltc\",\"bch\",\"bnb\",\"eos\",\"xrp\",\"xlm\",\"link\",\"dot\",\"yfi\",\"usd\",\"aed\",\"ars\",\"aud\",\"bdt\",\"bhd\",\"bmd\",\"brl\",\"cad\",\"chf\",\"clp\",\"cny\",\"czk\",\"dkk\",\"eur\",\"gbp\",\"gel\",\"hkd\",\"huf\",\"idr\",\"ils\",\"inr\",\"jpy\",\"krw\",\"kwd\",\"lkr\",\"mmk\",\"mxn\",\"myr\",\"ngn\",\"nok\",\"nzd\",\"php\",\"pkr\",\"pln\",\"rub\",\"sar\",\"sek\",\"sgd\",\"thb\",\"try\",\"twd\",\"uah\",\"vef\",\"vnd\",\"zar\",\"xdr\",\"xag\",\"xau\",\"bits\",\"sats\"];function Hd(e=\"\"){return function(e=\"\",{truncatedCharLimit:t,truncatedStartChars:r,truncatedEndChars:n,skipCharacterInEnd:s}={truncatedCharLimit:11,truncatedStartChars:7,truncatedEndChars:5,skipCharacterInEnd:!1}){return e.length<t?e:`${e.slice(0,r)}...${s?\"\":e.slice(-n)}`}(e,{truncatedCharLimit:11,truncatedStartChars:7,truncatedEndChars:5,skipCharacterInEnd:!1})}const zd=({label:e,address:t,tooltip:r,iconData:n,warningLabel:s,warningSeverity:i=\"error\"})=>{const o=Nu(Pd,{content:t,children:Nu(ju,{children:Hd(t)})});return Nu(Ud,{label:e,tooltip:r,iconData:n,variant:\"display\",children:s?Ou(Fu,{direction:\"vertical\",alignment:\"end\",children:[Nu(Fu,{direction:\"horizontal\",alignment:\"end\",children:o}),Ou(Fu,{direction:\"horizontal\",alignment:\"end\",children:[Nu(Rd,{name:\"danger\",size:\"md\",color:i}),Nu(ju,{alignment:\"end\",color:i,children:s})]})]}):o})},Gd=Lu(\"Dropdown\"),Vd=Lu(\"Option\"),qd=({label:e,value:t,tooltip:r,iconData:n,warningLabel:s,warningSeverity:i=\"error\",direction:o=\"horizontal\"})=>{const a=s?Ou(Fu,{direction:\"vertical\",children:[Nu(ju,{alignment:\"end\",children:t}),Ou(Fu,{direction:\"horizontal\",alignment:\"end\",children:[Nu(Rd,{name:\"danger\",size:\"md\",color:i}),Nu(ju,{color:i,children:s})]})]}):Nu(ju,{alignment:\"end\",children:t});return Nu(Ud,\"vertical\"===o?{label:e,tooltip:r,variant:\"display\",direction:\"vertical\",children:Nu(Hu,{children:Ou(Fu,{direction:\"horizontal\",children:[Nu(Fu,{children:Nu(_d,{imageDataBase64:n?.iconDataBase64??null,altText:n?.iconAltText??\"\"})}),a]})})}:{label:e,tooltip:r,iconData:n,variant:\"display\",children:a})},Kd=({label:e,name:t,tooltip:r,value:n,options:s,isEditable:i=!0,errorMessage:o})=>i?Nu(Ud,{label:e,tooltip:r,errorMessage:o,isEditable:i,variant:\"form\",children:Nu(Gd,{name:t,value:n,children:s.map(e=>Nu(Vd,{value:e,children:jl(e)},e))})}):Nu(qd,{label:e,value:jl(n),tooltip:r,direction:\"vertical\"}),Wd=Lu(\"Input\"),Jd=({label:e,name:t,addFieldButtonName:r,removeFieldButtonName:n,tooltip:s,type:i,value:o,isEditable:a=!0,errorMessage:c,iconData:l,contentWhenDisabled:u})=>{const d=null!=o;return a?Nu(Ud,{label:e,tooltip:s,errorMessage:c,isEditable:a,addFieldButtonName:r,removeFieldButtonName:n,isFieldEnabled:d,iconData:l,contentWhenDisabled:u,variant:\"form\",children:Nu(Wd,{name:t,type:i,value:o})}):d?Nu(qd,{label:e,value:o??\"\",tooltip:s,iconData:l,direction:\"vertical\"}):Nu(ju,{children:\" \"})},$d=({text:e,buttonName:t,isCollapsed:r})=>{const n=e.length>165&&r?`${e.slice(0,162)}...`:e,s=jl(r?\"showMoreButton\":\"hideButton\"),i=e.length>165?Nu(Fu,{direction:\"horizontal\",alignment:\"end\",children:Nu(Vu,{name:t,children:s})}):null;return Ou(Fu,{direction:\"vertical\",children:[Nu(ju,{children:n}),i]})},Zd=({label:e,tooltip:t})=>Nu(Ud,{label:e,tooltip:t,variant:\"display\",children:Nu(zu,{})}),Yd=({label:e,addresses:t,tooltip:r})=>0===t.length?null:Nu(Ud,{label:e,tooltip:r,variant:\"display\",children:Nu(Fu,{direction:\"vertical\",children:t.map(e=>Nu(qu,{address:e,displayName:!0},e))})}),Xd=({label:e,addresses:t,tooltip:r})=>0===t.length?null:Nu(Ud,{label:e,tooltip:r,variant:\"display\",children:Nu(Fu,{direction:\"vertical\",children:t.map(e=>Nu(qu,{address:e,displayName:!0},e))})}),Qd=Lu(\"Link\"),eh=({label:e,tokenSymbol:t,tokenAddress:r,explorerUrl:n,tooltip:s,iconData:i})=>Nu(Ud,{label:e,tooltip:s,iconData:i,variant:\"display\",children:n&&r?Nu(Pd,{content:Hd(r),children:Nu(Qd,{href:n,children:t})}):Nu(ju,{children:t})}),th=({tokenBalance:e})=>{if(!e)return Nu(zu,{});const t=function(e,t=5){const r=e.trim();if(!/^[-+]?\\d+(\\.\\d+)?$/u.test(r))throw new Error(`Invalid number: ${e}`);const[n=\"\",s=\"\"]=r.split(\".\");return s?`${n}.${s.slice(0,t)}`:n}(e);return t===e?Ou(ju,{children:[t,\" \",jl(\"availableLabel\")]}):Nu(Pd,{content:Nu(ju,{children:e}),children:Ou(ju,{children:[t,\" \",jl(\"availableLabel\")]})})},rh=\"account-selector\",nh=\"show-existing-permissions-button\",sh=Lu(\"DateTimePicker\"),ih=({label:e,name:t,tooltip:r,value:n,isEditable:s=!0,errorMessage:i,allowPastDate:o,addFieldButtonName:a,removeFieldButtonName:c,contentWhenDisabled:l})=>{const u=null!=n;if(!s){if(!u)return Nu(ju,{children:\" \"});let t=n??\"\";if(n)try{const e=new Date(Yu(n));isNaN(e.getTime())||(t=e.toLocaleString())}catch{}return Nu(qd,{label:e,value:t,tooltip:r,direction:\"vertical\"})}const d=void 0===o?void 0:!o;return Nu(Ud,{label:e,tooltip:r,errorMessage:i,isEditable:s,isFieldEnabled:u,contentWhenDisabled:l,variant:\"form\",addFieldButtonName:a,removeFieldButtonName:c,children:Nu(sh,{name:t,value:Yu(n),type:\"datetime\",disablePast:d})})};function oh({rules:e,context:t,metadata:r}){return e.map(e=>function({rule:e,context:t,metadata:r}){const{label:n,type:s,name:i,isOptional:o,contentWhenDisabled:a}=e,{value:c,error:l,tooltip:u,iconData:d,isVisible:h,options:f,isEditable:p,allowPastDate:m}=e.getRuleData({context:t,metadata:r});if(!h)return null;const g=o?`${i}_addFieldButton`:void 0,y=o?`${i}_removeFieldButton`:void 0;switch(s){case\"number\":case\"text\":return Nu(Jd,{label:jl(n),name:i,value:c,errorMessage:l,isEditable:p,tooltip:u,type:s,addFieldButtonName:g,removeFieldButtonName:y,iconData:d,contentWhenDisabled:a});case\"dropdown\":if(!f)throw new Vs(\"Dropdown rule must have options\");if(o)throw new Vs(\"Dropdown rule must not be optional\");return Nu(Kd,{label:jl(n),name:i,value:c,errorMessage:l,isEditable:p,tooltip:u,options:f});case\"datetime\":return Nu(ih,{label:jl(n),name:i,value:c,errorMessage:l,isEditable:p,tooltip:u,allowPastDate:m,removeFieldButtonName:y,addFieldButtonName:g,contentWhenDisabled:a});default:throw new Vs(`Unknown rule type: ${s}`)}}({rule:e,context:t,metadata:r})).filter(e=>null!==e)}function ah({operation:e,onSuccess:t}){let r=0;return async function(n){r+=1;const s=r,i=await e(n);if(s!==r)return;await t(i,()=>s!==r)}}const ch=\"show-more-justification\";class lh{#$;#R;#Z;#Y;#X;#Q;#ee;#te;#re;#ne;#se=!0;#L=null;#ie=!1;#oe=null;#ae=null;#ce={isUpgraded:!0};constructor({accountController:e,userEventDispatcher:t,orchestrator:r,permissionRequest:n,dependencies:s,tokenPricesService:i,tokenMetadataService:o,rules:a,title:c,subtitle:l}){this.#$=e,this.#R=t,this.#Z=r,this.#Y=n,this.#X=s,this.#Q=i,this.#ee=o,this.#te=a,this.#re=c,this.#ne=l}async handlePermissionRequest(e){if(this.#ie)throw new Ks(\"Permission request already handled\");this.#ie=!0;return await this.#Z.orchestrate(e,this.#Y,this.#le())}#le(){const{parseAndValidatePermission:e,applyContext:t,populatePermission:r,createPermissionCaveats:n,deriveMetadata:s}=this.#X;return{parseAndValidatePermission:e,applyContext:t,populatePermission:r,createPermissionCaveats:n,deriveMetadata:s,buildContext:async e=>{const t=e.from?.toLowerCase(),r=await this.#$.getAccountAddresses();let n;if(t){if(!r.some(e=>e.toLowerCase()===t))throw new Zs(\"Requested address not found\");n=e.from}else n=r[0];return await this.#X.buildContext({permissionRequest:{...e,from:n},tokenMetadataService:this.#ee})},createConfirmationContent:async({context:e,metadata:t,origin:r,chainId:n,scanDappUrlResult:s,scanAddressResult:i,existingPermissionsStatus:o,isGrantDisabled:a})=>{const{name:c,explorerUrl:l}=ql({chainId:n}),u=Sd(e),{justification:d,tokenMetadata:{symbol:h}}=e,f=this.#Y.to;if(!f)throw new Ks(\"Delegate address is undefined\");const p=await this.#X.createConfirmationContent({context:e,metadata:t});return(({children:e,permissionTitle:t,permissionSubtitle:r,origin:n,scanDappUrlResult:s,scanAddressResult:i,delegateAddress:o,justification:a,networkName:c,tokenSymbol:l,tokenIconData:u,isJustificationCollapsed:d,context:h,tokenBalance:f,tokenBalanceFiat:p,chainId:m,explorerUrl:g,isAccountUpgraded:y,existingPermissionsStatus:b,isGrantDisabled:v})=>{const w=th({tokenBalance:f}),A=p?Nu(ju,{children:p}):Nu(zu,{}),E=h.tokenAddressCaip19!==Ia;let x,T;if(E){const{assetReference:e,assetNamespace:t}=Au(h.tokenAddressCaip19);\"erc20\"===t&&(g&&(x=`${g}/address/${e}`),T=e)}const k={[Jl.BLOCK]:jl(\"maliciousWebsiteLabel\"),[Jl.WARN]:jl(\"potentiallyMaliciousWebsiteLabel\")},S=s?.isComplete?s.recommendedAction:void 0,C=S===Jl.BLOCK||S===Jl.WARN?k[S]:void 0,I=Nu(qd,{label:jl(\"requestFromLabel\"),value:n,tooltip:jl(\"requestFromTooltip\"),warningLabel:C,warningSeverity:S===Jl.WARN?\"warning\":\"error\"}),P={[Xl.Warning]:jl(\"potentiallyMaliciousAddressLabel\"),[Xl.Malicious]:jl(\"maliciousAddressLabel\")},M=i?.resultType,R=\"\"===i?.label?null:i?.label,B=M===Xl.Warning||M===Xl.Malicious?R??P[M]:void 0,N=Nu(zd,{label:jl(\"recipientLabel\"),address:o,tooltip:jl(\"recipientTooltip\"),warningLabel:B,warningSeverity:M===Xl.Warning?\"warning\":\"error\"}),O=h.redeemerAddresses?.length?Nu(Xd,{label:jl(\"redeemerLabel\"),addresses:h.redeemerAddresses,tooltip:jl(\"redeemerTooltip\")}):null,_=h.payeeAddresses?.length?Nu(Yd,{label:jl(\"payeeLabel\"),addresses:h.payeeAddresses,tooltip:jl(\"payeeTooltip\")}):null;return Ou(Du,{children:[Nu(Fu,{children:Ou(Fu,{direction:\"vertical\",children:[Ou(Fu,{center:!0,children:[Nu(Uu,{size:\"lg\",children:jl(t)}),Nu(ju,{children:jl(r)})]}),Nu(Hu,{children:Ou(Fu,{direction:\"vertical\",children:[Nu(Fu,{direction:\"horizontal\",alignment:\"space-between\",children:Ou(Fu,{direction:\"horizontal\",children:[Nu(ju,{children:jl(\"accountLabel\")}),Nu(Ld,{tooltip:jl(\"accountTooltip\")})]})}),Nu(Cd,{name:rh,chainIds:[`eip155:${m}`],switchGlobalAccount:!1,value:h.accountAddressCaip10}),!y&&Nu(ju,{size:\"sm\",color:\"warning\",children:jl(\"accountUpgradeWarning\")}),E&&Ou(Fu,{direction:\"horizontal\",alignment:\"end\",children:[A,w]})]})}),b===Bu.SimilarPermissions&&Ou(Id,{title:jl(\"existingPermissionsTitle\"),severity:\"warning\",children:[Nu(ju,{children:jl(\"existingPermissionsSimilarMessage\")}),Nu(Vu,{name:nh,children:jl(\"existingPermissionsLink\")})]}),b===Bu.DissimilarPermissions&&Ou(Id,{title:jl(\"existingPermissionsTitle\"),severity:\"info\",children:[Nu(ju,{children:jl(\"existingPermissionsExistingMessage\")}),Nu(Vu,{name:nh,children:jl(\"existingPermissionsLink\")})]}),Nu(Hu,{children:Ou(Fu,{direction:\"vertical\",alignment:\"space-between\",children:[Ou(Fu,{direction:\"horizontal\",children:[Nu(ju,{children:jl(\"justificationLabel\")}),Nu(Ld,{tooltip:jl(\"justificationTooltip\")})]}),Nu($d,{text:a,buttonName:ch,isCollapsed:d})]})}),Ou(Hu,{children:[I,N,Nu(qd,{label:jl(\"networkLabel\"),value:c,tooltip:jl(\"networkTooltip\")}),E&&Nu(eh,{label:jl(\"tokenLabel\"),tokenSymbol:l,tokenAddress:T,explorerUrl:x,tooltip:jl(\"tokenTooltip\"),iconData:u}),O,_]}),e]})}),Ou(Gu,{children:[Nu(Vu,{name:Mu.cancelButton,variant:\"destructive\",children:jl(\"cancelButton\")}),Nu(Vu,{name:Mu.grantButton,variant:\"primary\",disabled:v,children:jl(\"grantButton\")})]})]})})({origin:r,scanDappUrlResult:s,scanAddressResult:i,delegateAddress:f,justification:d,networkName:c,tokenSymbol:h,tokenIconData:u,isJustificationCollapsed:this.#se,children:p,permissionTitle:this.#re,permissionSubtitle:this.#ne,context:e,tokenBalance:this.#oe,tokenBalanceFiat:this.#ae,chainId:n,explorerUrl:l,isAccountUpgraded:this.#ce.isUpgraded,existingPermissionsStatus:o,isGrantDisabled:a})},createSkeletonConfirmationContent:async()=>(({permissionTitle:e,permissionSubtitle:t})=>Ou(Du,{children:[Nu(Fu,{children:Ou(Fu,{direction:\"vertical\",children:[Ou(Fu,{center:!0,children:[Nu(Uu,{size:\"lg\",children:jl(e)}),Nu(ju,{children:jl(t)})]}),Nu(Hu,{children:Ou(Fu,{direction:\"vertical\",children:[Nu(Fu,{direction:\"horizontal\",alignment:\"space-between\",children:Ou(Fu,{direction:\"horizontal\",children:[Nu(ju,{children:jl(\"accountLabel\")}),Nu(Ld,{tooltip:jl(\"accountTooltip\")})]})}),Nu(zu,{})]})}),Nu(Hu,{children:Nu(Zd,{label:jl(\"justificationLabel\"),tooltip:jl(\"justificationTooltip\")})}),Ou(Hu,{children:[Nu(Zd,{label:jl(\"requestFromLabel\"),tooltip:jl(\"requestFromTooltip\")}),Nu(Zd,{label:jl(\"recipientLabel\"),tooltip:jl(\"recipientTooltip\")}),Nu(Zd,{label:jl(\"networkLabel\"),tooltip:jl(\"networkTooltip\")}),Nu(Zd,{label:jl(\"tokenLabel\"),tooltip:jl(\"tokenTooltip\")})]}),Ou(Hu,{children:[Nu(zu,{}),Nu(zu,{})]})]})}),Ou(Gu,{children:[Nu(Vu,{name:Mu.cancelButton,variant:\"destructive\",children:jl(\"cancelButton\")}),Nu(Vu,{name:Mu.grantButton,variant:\"primary\",disabled:!0,children:jl(\"grantButton\")})]})]}))({permissionTitle:this.#re,permissionSubtitle:this.#ne}),onConfirmationCreated:({interfaceId:e,initialContext:t,updateContext:r})=>{let n=t;const s=async()=>{await r({updatedContext:n})},o=ah({operation:async e=>{const{address:t}=wu(e.accountAddressCaip10),{assetReference:r,chain:{reference:n}}=Au(e.tokenAddressCaip19),s=wa(r)?r:Ca,{balance:i,decimals:o}=await this.#ee.getTokenBalanceAndMetadata({chainId:parseInt(n,10),account:t,assetAddress:s});return{balance:i,decimals:o,ctx:e}},onSuccess:async({balance:e,decimals:t,ctx:r},n)=>{this.#oe=sc({value:e,decimals:t}),await s();const i=await this.#Q.getCryptoToFiatConversion(r.tokenAddressCaip19,hc(e),r.tokenMetadata.decimals);n()||(this.#ae=i,await s())}}),a=ah({operation:async e=>{const{address:t,chain:{reference:r}}=wu(e.accountAddressCaip10);return this.#$.getAccountUpgradeStatus({account:t,chainId:dc(parseInt(r,10))})},onSuccess:async e=>{this.#ce=e,await s()}});n.tokenAddressCaip19!==Ia&&o(n).catch(e=>{const{message:t}=e;i.error(`Fetching account balance failed: ${t}`)}),a(n).catch(()=>{});const{unbind:c}=this.#R.on({elementName:ch,eventType:mu.ButtonClickEvent,interfaceId:e,handler:async()=>{this.#se=!this.#se,await s()}}),{unbind:l}=this.#R.on({elementName:rh,eventType:mu.InputChangeEvent,interfaceId:e,handler:async({event:{value:e}})=>{const{addresses:[t]}=e;n={...n,accountAddressCaip10:t},this.#oe=null,this.#ae=null,this.#ce={isUpgraded:!0};n.tokenAddressCaip19!==Ia&&o(n).catch(e=>{const{message:t}=e;i.error(`Fetching account balance failed: ${t}`)}),a(n).catch(e=>{const{message:t}=e;i.error(`Fetching account upgrade status failed: ${t}`)}),await s()}}),{unbind:u}=this.#R.on({elementName:nh,eventType:mu.ButtonClickEvent,interfaceId:e,handler:async()=>{n={...n,showExistingPermissions:!0},await s()}}),{unbind:d}=this.#R.on({elementName:xd,eventType:mu.ButtonClickEvent,interfaceId:e,handler:async()=>{n={...n,showExistingPermissions:!1},await s()}}),h=function({rules:e,userEventDispatcher:t,interfaceId:r,getContext:n,onContextChanged:s}){const i=e.reduce((e,i)=>{const{name:o,isOptional:a}=i,{unbind:c}=t.on({elementName:o,eventType:mu.InputChangeEvent,interfaceId:r,handler:async({event:e})=>{const t=i.updateContext(n(),e.value);await s({context:t})}});if(e.push(c),a){const{unbind:o}=t.on({elementName:`${i.name}_addFieldButton`,eventType:mu.ButtonClickEvent,interfaceId:r,handler:async e=>{const t=i.updateContext(n(),\"\");await s({context:t})}});e.push(o);const{unbind:a}=t.on({elementName:`${i.name}_removeFieldButton`,eventType:mu.ButtonClickEvent,interfaceId:r,handler:async e=>{const t=i.updateContext(n(),void 0);await s({context:t})}});e.push(a)}return e},[]);return()=>{i.forEach(e=>e())}}({rules:this.#te,userEventDispatcher:this.#R,interfaceId:e,getContext:()=>n,onContextChanged:async({context:e})=>{n=e,await s()}});this.#L=()=>{h(),c(),l(),u(),d()}},onConfirmationResolved:()=>{this.#L?.()}}}}r(1048).Buffer;const uh=function(){const e=[];return()=>{if(0===e.length)for(let t=0;t<256;t++)e.push(t.toString(16).padStart(2,\"0\"));return e}}();function dh(e){return e instanceof Uint8Array}function hh(e){ha(dh(e),\"Value must be a Uint8Array.\")}function fh(e){if(hh(e),0===e.length)return\"0x\";const t=uh(),r=new Array(e.length);for(let n=0;n<e.length;n++)r[n]=t[e[n]];return ka(r.join(\"\"))}function ph(e){if(\"0x\"===e?.toLowerCase?.())return new Uint8Array;Ea(e);const t=Sa(e).toLowerCase(),r=t.length%2==0?t:`0${t}`,n=new Uint8Array(r.length/2);for(let e=0;e<n.length;e++){const t=r.charCodeAt(2*e),s=r.charCodeAt(2*e+1),i=t-(t<58?48:87),o=s-(s<58?48:87);n[e]=16*i+o}return n}var mh,gh=((mh=gh||{})[mh.Increase=0]=\"Increase\",mh[mh.Decrease=1]=\"Decrease\",mh),yh=({value:e,size:t})=>e.toString(16).padStart(2*t,\"0\"),bh=(e,t)=>{if(\"string\"==typeof e){if(!va(e)||42!==e.length)throw new Error(t);return e}if(20!==e.length)throw new Error(t);return fh(e)},vh=e=>`0x${e.map(Sa).join(\"\")}`;var wh={out:\"hex\"};function Ah(e,t){if(\"hex\"===t.out){const t=\"string\"==typeof e?e:fh(e);return t.startsWith(\"0x\")?t:`0x${t}`}return e instanceof Uint8Array?e:ph(e)}var Eh=e=>\"string\"==typeof e?e:fh(e),xh=e=>\"string\"==typeof e?ph(e):e;function Th(e,t=wh){const{maxValue:r}=e;if(r<0n)throw new Error(\"Invalid maxValue: must be greater than or equal to zero\");return Ah(yh({value:r,size:32}),t)}var kh=253402300799;function Sh(e,t=wh){const{afterThreshold:r,beforeThreshold:n}=e;if(r<0)throw new Error(\"Invalid afterThreshold: must be zero or positive\");if(n<0)throw new Error(\"Invalid beforeThreshold: must be zero or positive\");if(n>kh)throw new Error(\"Invalid beforeThreshold: must be less than or equal to 253402300799\");if(r>kh)throw new Error(\"Invalid afterThreshold: must be less than or equal to 253402300799\");if(0!==n&&r>=n)throw new Error(\"Invalid thresholds: beforeThreshold must be greater than afterThreshold when both are specified\");return Ah(`0x${yh({value:r,size:16})}${yh({value:n,size:16})}`,t)}function Ch(e,t=wh){const{periodAmount:r,periodDuration:n,startDate:s}=e;if(r<=0n)throw new Error(\"Invalid periodAmount: must be a positive number\");if(n<=0)throw new Error(\"Invalid periodDuration: must be a positive number\");if(s<=0)throw new Error(\"Invalid startDate: must be a positive number\");return Ah(`0x${yh({value:r,size:32})}${yh({value:n,size:32})}${yh({value:s,size:32})}`,t)}function Ih(e,t=wh){const{calldata:r}=e;if(null==r)throw new Error(\"Invalid calldata: calldata is required\");if(\"string\"==typeof r&&!r.startsWith(\"0x\"))throw new Error(\"Invalid calldata: must be a hex string starting with 0x\");return Ah(r,t)}function Ph(e,t=wh){const{initialAmount:r,maxAmount:n,amountPerSecond:s,startTime:i}=e;if(r<0n)throw new Error(\"Invalid initialAmount: must be greater than zero\");if(n<=0n)throw new Error(\"Invalid maxAmount: must be a positive number\");if(n<r)throw new Error(\"Invalid maxAmount: must be greater than initialAmount\");if(s<=0n)throw new Error(\"Invalid amountPerSecond: must be a positive number\");if(i<=0)throw new Error(\"Invalid startTime: must be a positive number\");if(i>253402300799)throw new Error(\"Invalid startTime: must be less than or equal to 253402300799\");return Ah(`0x${yh({value:r,size:32})}${yh({value:n,size:32})}${yh({value:s,size:32})}${yh({value:i,size:32})}`,t)}function Mh(e,t=wh){const{tokenAddress:r,initialAmount:n,maxAmount:s,amountPerSecond:i,startTime:o}=e;if(!r)throw new Error(\"Invalid tokenAddress: must be a valid address\");let a;if(\"string\"==typeof r){if(!va(r)||42!==r.length)throw new Error(\"Invalid tokenAddress: must be a valid address\");a=r}else{if(20!==r.length)throw new Error(\"Invalid tokenAddress: must be a valid address\");a=fh(r)}if(n<0n)throw new Error(\"Invalid initialAmount: must be greater than zero\");if(s<=0n)throw new Error(\"Invalid maxAmount: must be a positive number\");if(s<n)throw new Error(\"Invalid maxAmount: must be greater than initialAmount\");if(i<=0n)throw new Error(\"Invalid amountPerSecond: must be a positive number\");if(o<=0)throw new Error(\"Invalid startTime: must be a positive number\");if(o>253402300799)throw new Error(\"Invalid startTime: must be less than or equal to 253402300799\");return Ah(`${a}${yh({value:n,size:32})}${yh({value:s,size:32})}${yh({value:i,size:32})}${yh({value:o,size:32})}`,t)}function Rh(e,t=wh){const{tokenAddress:r,periodAmount:n,periodDuration:s,startDate:i}=e;if(!r)throw new Error(\"Invalid tokenAddress: must be a valid address\");let o;if(\"string\"==typeof r){if(!va(r)||42!==r.length)throw new Error(\"Invalid tokenAddress: must be a valid address\");o=r}else{if(20!==r.length)throw new Error(\"Invalid tokenAddress: must be a valid address\");o=fh(r)}if(n<=0n)throw new Error(\"Invalid periodAmount: must be a positive number\");if(s<=0)throw new Error(\"Invalid periodDuration: must be a positive number\");if(i<=0)throw new Error(\"Invalid startDate: must be a positive number\");return Ah(`${o}${yh({value:n,size:32})}${yh({value:s,size:32})}${yh({value:i,size:32})}`,t)}function Bh(e,t=wh){const{nonce:r}=e;if(r instanceof Uint8Array&&0===r.length)throw new Error(\"Invalid nonce: Uint8Array must not be empty\");if(\"string\"==typeof r&&!r.startsWith(\"0x\"))throw new Error(\"Invalid nonce: string must have 0x prefix\");const n=Eh(r);if(\"0x\"===n)throw new Error(\"Invalid nonce: must not be empty\");if(!va(n))throw new Error(\"Invalid nonce: must be a valid BytesLike value\");if(n.length>66)throw new Error(\"Invalid nonce: must be 32 bytes or less in length\");return Ah(`0x${n.slice(2).padStart(64,\"0\")}`,t)}function Nh(e,t=wh){const{startIndex:r,value:n}=e;if(r<0)throw new Error(\"Invalid startIndex: must be zero or positive\");if(!Number.isInteger(r))throw new Error(\"Invalid startIndex: must be a whole number\");let s;if(\"string\"==typeof n){if(!n.startsWith(\"0x\"))throw new Error(\"Invalid value: must be a hex string starting with 0x\");s=Sa(n)}else s=Sa(fh(n));return Ah(`0x${yh({value:r,size:32})}${s}`,t)}function Oh(e,t=wh){const{targets:r}=e;if(!r||0===r.length)throw new Error(\"Invalid targets: must provide at least one target address\");const n=r.map(e=>bh(e,\"Invalid targets: must be valid addresses\"));return Ah(vh(n),t)}var _h=\"Invalid ApprovalRevocation terms: at least one revocation primitive must be enabled\";function Lh(e,t=wh){const r=function(e){let t=0;if(e.erc20Approve&&(t|=1),e.erc721Approve&&(t|=2),e.erc721SetApprovalForAll&&(t|=4),e.permit2Approve&&(t|=8),e.permit2Lockdown&&(t|=16),e.permit2InvalidateNonces&&(t|=32),0===t)throw new Error(_h);return t}(e);return Ah(`0x${yh({value:r,size:1})}`,t)}BigInt(`0x${\"f\".repeat(64)}`);function Dh(e,t=wh){const{redeemers:r}=e;if(!r||0===r.length)throw new Error(\"Invalid redeemers: must specify at least one redeemer address\");const n=r.map(e=>bh(e,\"Invalid redeemers: must be a valid address\"));return Ah(vh(n),t)}var Fh=\"(address,address,bytes32,(address,bytes,bytes)[],uint256,bytes)[]\";var Uh=(e,t)=>{const[r,n,s,i,o,a]=e;return{delegate:t(r),delegator:t(n),authority:t(s),caveats:i.map(([e,r,n])=>({enforcer:t(e),terms:t(r),args:t(n)})),salt:o,signature:t(a)}};function jh(e,t=wh){const r=(0,wc.decodeSingle)(Fh,e);return\"bytes\"===t.out?r.map(e=>Uh(e,xh)):r.map(e=>Uh(e,Eh))}function Hh(e,t=wh){const r=(0,wc.encode)([\"bytes32\",\"address\",\"address\",\"bytes32\",\"bytes32\",\"uint256\"],[\"0x88c1d2ecf185adf710588203a5f263f0ff61be0d33da39792cde19ba9aa4331e\",e.delegate,e.delegator,e.authority,zh(e.caveats),e.salt]);return Ah(ca(r),t)}function zh(e){const t=32*e.length,r=new Uint8Array(t);for(let t=0;t<e.length;t++){const n=e[t];if(!n)throw new Error(`Caveat was undefined at index ${t}`);const s=Gh(n);r.set(s,32*t)}return ca(r)}function Gh(e){const t=\"string\"==typeof e.terms?ph(e.terms):e.terms,r=ca(t),n=(0,wc.encode)([\"bytes32\",\"address\",\"bytes32\"],[\"0x80ad7e1b04ee6d994a125f4714ca0720908bd80ed16063ec8aee4b88e9253e2d\",e.enforcer,r]);return ca(n)}const Vh=2n**256n-1n;const qh=Lu(\"Divider\"),Kh={name:\"erc20-token-allowance-allowance-amount\",label:\"amountLabel\",type:\"number\",getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.allowanceAmount,isVisible:!0,tooltip:jl(\"allowanceAmountTooltip\"),error:t.validationErrors.allowanceAmountError,iconData:Sd(e),isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,allowanceAmount:t}})},Wh={name:\"erc20-token-allowance-start-date\",label:\"startTimeLabel\",type:\"datetime\",getRuleData:({context:e,metadata:t})=>({value:Xu(e.permissionDetails.startTime),isVisible:!0,tooltip:jl(\"allowanceStartTimeTooltip\"),error:t.validationErrors.startTimeError,allowPastDate:!0,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,startTime:Qu(t)}})},Jh=dd({elementName:\"erc20-token-allowance-expiry\",translate:jl}),$h=[Kh,Wh,Jh];const Zh=\"eip155\";const Yh=\"Multiple payee addresses are not currently supported for ERC20 permissions.\";function Xh({name:e,value:t,allowZero:r,required:n}){if(null==t){if(!n)return;throw new Vs(`Invalid ${e}: must be defined`)}let s;try{s=BigInt(t)}catch{throw new Vs(`Invalid ${e}: must be a valid hex integer`)}if(0n===s&&!r)throw new Vs(`Invalid ${e}: must be greater than 0`)}function Qh(t){const r=t?.find(t=>\"redeemer\"===e(t.type));if(!r)return;const{addresses:n}=r.data;if(!Array.isArray(n)||0===n.length)throw new Vs(\"Invalid redeemer rule: must include a non-empty addresses array\")}function ef(t,{allowMultiplePayees:r=!0}={}){const n=t?.find(t=>\"payee\"===e(t.type));if(!n)return;const{addresses:s}=n.data;if(!Array.isArray(s)||0===s.length)throw new Vs(\"Invalid payee rule: must include a non-empty addresses array\");if(!r&&s.length>1)throw new Vs(Yh)}function tf(t,r){const n=r?.find(t=>\"expiry\"===e(t.type));if(!n)return;const s=n.data.timestamp;if(t&&t>=s)throw new Vs(\"Invalid startTime: must be before expiry\")}const rf=La.extend({type:qo(\"erc20-token-allowance\"),data:Go(Ha,Ho({allowanceAmount:Ra,startTime:qa,tokenAddress:Ma}))});const nf={rules:$h,title:\"permissionRequestTitle\",subtitle:\"permissionRequestSubtitle\",dependencies:{parseAndValidatePermission:function(e){const{data:r,error:n,success:s}=rf.safeParse(e.permission);if(!s)throw new Vs(t(n.errors));return function(e,t){const{allowanceAmount:r,startTime:n}=e.data;Xh({name:\"allowanceAmount\",value:r,required:!0,allowZero:!1}),tf(n,t),Qh(t),ef(t,{allowMultiplePayees:!1})}(r,e.rules),{...e,permission:r}},buildContext:async function({permissionRequest:t,tokenMetadataService:r}){const n=Number(t.chainId),{from:s,permission:{data:i,isAdjustmentAllowed:o}}=t;if(!s)throw new Vs(\"PermissionRequest.address was not found. This should be resolved within the buildContextHandler function in PermissionHandler.\");const{decimals:a,symbol:c,iconUrl:l}=await r.getTokenBalanceAndMetadata({chainId:n,account:s,assetAddress:i.tokenAddress}),u=await r.fetchIconDataAsBase64(l),d=u.success?u.imageDataBase64:null,h=t.rules?.find(t=>\"expiry\"===e(t.type)),f=h?{timestamp:h.data.timestamp}:void 0,p=ld(t.rules),m=ud(t.rules),g=ic({value:i.allowanceAmount,allowNull:!1,decimals:a}),y=i.startTime??Math.floor(Date.now()/1e3),b=xu(Zh,n.toString(),\"erc20\",i.tokenAddress),v=Eu(Zh,n.toString(),s);return{expiry:f,...void 0===p?{}:{redeemerAddresses:p},...void 0===m?{}:{payeeAddresses:m},justification:i.justification,isAdjustmentAllowed:o,accountAddressCaip10:v,tokenAddressCaip19:b,tokenMetadata:{symbol:c,decimals:a,iconDataBase64:d},permissionDetails:{allowanceAmount:g,startTime:y}}},deriveMetadata:async function({context:e}){const{permissionDetails:t,expiry:r,tokenMetadata:{decimals:n}}=e,s={},i=td(t.allowanceAmount,n,\"allowance amount\");i.error&&(s.allowanceAmountError=i.error);const o=rd(t.startTime);if(o&&(s.startTimeError=o),r){const e=nd(r.timestamp);e&&(s.expiryError=e)}if(r&&!s.startTimeError&&!s.expiryError){const e=sd(t.startTime,r.timestamp);e&&(s.startTimeError=e)}return{validationErrors:s}},createConfirmationContent:async function({context:e,metadata:t}){return Nu(Fu,{children:Ou(Hu,{children:[oh({rules:[Kh],context:e,metadata:t}),Nu(qh,{}),oh({rules:[Wh,Jh],context:e,metadata:t})]})})},applyContext:async function({context:e,originalRequest:t}){const{permissionDetails:r,tokenMetadata:{decimals:n}}=e,s=hd(e,t),i=fd(t,s),{rules:o}=pd(t,i),a={allowanceAmount:hc(oc({formatted:r.allowanceAmount,decimals:n})),startTime:r.startTime,justification:t.permission.data.justification,tokenAddress:t.permission.data.tokenAddress},{address:c}=wu(e.accountAddressCaip10);return{...t,from:c,permission:{type:\"erc20-token-allowance\",data:a,isAdjustmentAllowed:t.permission.isAdjustmentAllowed},rules:o}},populatePermission:async function({permission:e}){return{...e,data:{...e.data,startTime:e.data.startTime??Math.floor(Date.now()/1e3)}}},createPermissionCaveats:async function({permission:e,contracts:t}){const{allowanceAmount:r,startTime:n,tokenAddress:s}=e.data;return[{enforcer:t.erc20PeriodTransferEnforcer,terms:Rh({tokenAddress:s,periodAmount:BigInt(r),periodDuration:Vh,startDate:n}),args:\"0x\"},{enforcer:t.valueLteEnforcer,terms:Th({maxValue:0n}),args:\"0x\"}]}}};const sf={name:\"erc20-token-periodic-period-amount\",label:\"amountLabel\",type:\"number\",getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.periodAmount,isVisible:!0,tooltip:jl(\"amountTooltip\"),error:t.validationErrors.periodAmountError,iconData:Sd(e),isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,periodAmount:t}})},of={name:\"erc20-token-periodic-period-type\",label:\"periodDurationLabel\",type:\"dropdown\",getRuleData:({context:e,metadata:t})=>({value:Ju(e.permissionDetails.periodDuration),isVisible:!0,tooltip:jl(\"periodDurationTooltip\"),options:Object.values(Ku),error:t.validationErrors.periodDurationError,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>{if(!Object.values(Ku).includes(t))throw new Vs(`Invalid period type: \"${t}\". Valid options are: ${Object.values(Ku).join(\", \")}`);const r=Wu[t];if(void 0===r)throw new Vs(`Period type \"${t}\" is not mapped to a duration. This indicates a system error.`);const n=Number(r);return{...e,permissionDetails:{...e.permissionDetails,periodDuration:n}}}},af={name:\"erc20-token-periodic-start-date\",label:\"startTimeLabel\",type:\"datetime\",getRuleData:({context:e,metadata:t})=>({value:Xu(e.permissionDetails.startTime),isVisible:!0,tooltip:jl(\"startTimeTooltip\"),error:t.validationErrors.startTimeError,allowPastDate:!0,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,startTime:Qu(t)}})},cf=dd({elementName:\"erc20-token-periodic-expiry\",translate:jl}),lf=[sf,of,af,cf];const uf=\"eip155\";const df=La.extend({type:qo(\"erc20-token-periodic\"),data:Go(Ha,Ho({periodAmount:Ra,periodDuration:Zu,startTime:qa,tokenAddress:Ma}))});const hf={rules:lf,title:\"permissionRequestTitle\",subtitle:\"permissionRequestSubtitle\",dependencies:{parseAndValidatePermission:function(e){const{data:r,error:n,success:s}=df.safeParse(e.permission);if(!s)throw new Vs(t(n.errors));return function(e,t){const{periodAmount:r,startTime:n}=e.data;Xh({name:\"periodAmount\",value:r,required:!0,allowZero:!1}),tf(n,t),Qh(t),ef(t,{allowMultiplePayees:!1})}(r,e.rules),{...e,permission:r}},buildContext:async function({permissionRequest:t,tokenMetadataService:r}){const n=Number(t.chainId),{from:s,permission:{data:i,isAdjustmentAllowed:o}}=t;if(!s)throw new Vs(\"PermissionRequest.address was not found. This should be resolved within the buildContextHandler function in PermissionHandler.\");const{decimals:a,symbol:c,iconUrl:l}=await r.getTokenBalanceAndMetadata({chainId:n,account:s,assetAddress:i.tokenAddress}),u=await r.fetchIconDataAsBase64(l),d=u.success?u.imageDataBase64:null,h=t.rules?.find(t=>\"expiry\"===e(t.type)),f=h?{timestamp:h.data.timestamp}:void 0,p=ld(t.rules),m=ud(t.rules),g=ic({value:i.periodAmount,allowNull:!1,decimals:a}),{periodDuration:y}=i,b=i.startTime??Math.floor(Date.now()/1e3),v=xu(uf,n.toString(),\"erc20\",i.tokenAddress),w=Eu(uf,n.toString(),s);return{expiry:f,...void 0===p?{}:{redeemerAddresses:p},...void 0===m?{}:{payeeAddresses:m},justification:i.justification,isAdjustmentAllowed:o,accountAddressCaip10:w,tokenAddressCaip19:v,tokenMetadata:{symbol:c,decimals:a,iconDataBase64:d},permissionDetails:{periodAmount:g,periodDuration:y,startTime:b}}},deriveMetadata:async function({context:e}){const{permissionDetails:t,expiry:r,tokenMetadata:{decimals:n}}=e,s={},i=td(t.periodAmount,n,\"period amount\");i.error&&(s.periodAmountError=i.error);const o=ad(t.periodDuration);o.error&&(s.periodDurationError=o.error);const a=rd(t.startTime);if(a&&(s.startTimeError=a),r){const e=nd(r.timestamp);e&&(s.expiryError=e)}if(r&&!s.startTimeError&&!s.expiryError){const e=sd(t.startTime,r.timestamp);e&&(s.startTimeError=e)}return{validationErrors:s}},createConfirmationContent:async function({context:e,metadata:t}){return Nu(Fu,{children:Ou(Hu,{children:[oh({rules:[sf,of],context:e,metadata:t}),Nu(qh,{}),oh({rules:[af,cf],context:e,metadata:t})]})})},applyContext:async function({context:e,originalRequest:t}){const{permissionDetails:r,tokenMetadata:{decimals:n}}=e,s=hd(e,t),i=fd(t,s),{rules:o}=pd(t,i),a={periodAmount:hc(oc({formatted:r.periodAmount,decimals:n})),periodDuration:r.periodDuration,startTime:r.startTime,justification:t.permission.data.justification,tokenAddress:t.permission.data.tokenAddress},{address:c}=wu(e.accountAddressCaip10);return{...t,from:c,permission:{type:\"erc20-token-periodic\",data:a,isAdjustmentAllowed:t.permission.isAdjustmentAllowed},rules:o}},populatePermission:async function({permission:e}){return{...e,data:{...e.data,startTime:e.data.startTime??Math.floor(Date.now()/1e3)}}},createPermissionCaveats:async function({permission:e,contracts:t}){const{periodAmount:r,periodDuration:n,startTime:s,tokenAddress:i}=e.data;return[{enforcer:t.erc20PeriodTransferEnforcer,terms:Rh({tokenAddress:i,periodAmount:BigInt(r),periodDuration:n,startDate:s}),args:\"0x\"},{enforcer:t.valueLteEnforcer,terms:Th({maxValue:0n}),args:\"0x\"}]}}};const ff={name:\"erc20-token-stream-initial-amount\",label:\"initialAmountLabel\",type:\"number\",isOptional:!0,getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.initialAmount??void 0,isVisible:!0,tooltip:jl(\"initialAmountTooltip\"),iconData:Sd(e),error:t.validationErrors.initialAmountError,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,initialAmount:t}})},pf={name:\"erc20-token-stream-max-amount\",label:\"maxAmountLabel\",type:\"number\",isOptional:!0,getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.maxAmount??void 0,isVisible:!0,tooltip:jl(\"maxAmountTooltip\"),iconData:Sd(e),error:t.validationErrors.maxAmountError,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,maxAmount:t}})},mf={name:\"erc20-token-stream-start-time\",label:\"startTimeLabel\",type:\"datetime\",getRuleData:({context:e,metadata:t})=>({value:Xu(e.permissionDetails.startTime),isVisible:!0,tooltip:jl(\"streamStartTimeTooltip\"),error:t.validationErrors.startTimeError,allowPastDate:!0,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,startTime:Qu(t)}})},gf={name:\"erc20-token-stream-amount-per-period\",label:\"streamAmountLabel\",type:\"number\",getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.amountPerPeriod,isVisible:!0,tooltip:jl(\"streamAmountTooltip\"),iconData:Sd(e),error:t.validationErrors.amountPerPeriodError,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,amountPerPeriod:t}})},yf={name:\"erc20-token-stream-time-period\",label:\"streamPeriodLabel\",type:\"dropdown\",getRuleData:({context:e})=>({value:e.permissionDetails.timePeriod,isVisible:!0,tooltip:jl(\"streamPeriodTooltip\"),options:Object.values(Ku),isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,timePeriod:t}})},bf=dd({elementName:\"erc20-token-stream-expiry\",translate:jl}),vf=[ff,pf,mf,bf,gf,yf];const wf=La.extend({type:qo(\"erc20-token-stream\"),data:Go(Ha,Ho({initialAmount:Ba,maxAmount:Ba,amountPerSecond:Ra,startTime:qa,tokenAddress:Ma}))});const Af={rules:vf,title:\"permissionRequestTitle\",subtitle:\"permissionRequestSubtitle\",dependencies:{parseAndValidatePermission:function(e){const{data:r,error:n,success:s}=wf.safeParse(e.permission);if(!s)throw new Vs(t(n.errors));return function(e,t){const{initialAmount:r,maxAmount:n,amountPerSecond:s,startTime:i}=e.data;if(Xh({name:\"maxAmount\",value:n,required:!1,allowZero:!1}),Xh({name:\"initialAmount\",value:r,required:!1,allowZero:!0}),Xh({name:\"amountPerSecond\",value:s,required:!0,allowZero:!1}),r&&n&&BigInt(n)<BigInt(r))throw new Vs(\"Invalid maxAmount: must be greater than initialAmount\");tf(i,t),Qh(t),ef(t,{allowMultiplePayees:!1})}(r,e.rules),{...e,permission:{...r,data:{...r.data,initialAmount:r.data.initialAmount,maxAmount:r.data.maxAmount}}}},buildContext:async function({permissionRequest:t,tokenMetadataService:r}){const n=Number(t.chainId),{from:s,permission:{data:i,isAdjustmentAllowed:o}}=t;if(!s)throw new Vs(\"PermissionRequest.address was not found. This should be resolved within the buildContextHandler function in PermissionHandler.\");const{decimals:a,symbol:c,iconUrl:l}=await r.getTokenBalanceAndMetadata({chainId:n,account:s,assetAddress:i.tokenAddress}),u=await r.fetchIconDataAsBase64(l),d=u.success?u.imageDataBase64:null,h=t.rules?.find(t=>\"expiry\"===e(t.type)),f=h?{timestamp:h.data.timestamp}:void 0,p=ld(t.rules),m=ud(t.rules),g=ic({value:i.initialAmount,allowNull:!0,decimals:a}),y=Ku.MONTHLY,b=ic({value:i.maxAmount,allowNull:!0,decimals:a}),v=BigInt(i.amountPerSecond),w=sc({value:v*Wu[y],decimals:a}),A=i.startTime??Math.floor(Date.now()/1e3),E=xu(gd,n.toString(),\"erc20\",i.tokenAddress),x=Eu(gd,n.toString(),s);return{expiry:f,...void 0===p?{}:{redeemerAddresses:p},...void 0===m?{}:{payeeAddresses:m},justification:i.justification,isAdjustmentAllowed:o,accountAddressCaip10:x,tokenAddressCaip19:E,tokenMetadata:{symbol:c,decimals:a,iconDataBase64:d},permissionDetails:{initialAmount:g,maxAmount:b,timePeriod:y,startTime:A,amountPerPeriod:w}}},deriveMetadata:async function({context:e}){const{permissionDetails:t,expiry:r,tokenMetadata:{decimals:n}}=e,s={},i=td(t.maxAmount,n,\"max amount\",!1);i.error&&(s.maxAmountError=i.error);const o=td(t.initialAmount,n,\"initial amount\",!0);o.error&&(s.initialAmountError=o.error);const a=td(t.amountPerPeriod,n,\"amount per period\");let c=jl(\"unknownStreamRate\");a.error?s.amountPerPeriodError=a.error:a.amount&&(c=od(a.amount,t.timePeriod,n));const l=rd(t.startTime);if(l&&(s.startTimeError=l),r){const e=nd(r.timestamp);e&&(s.expiryError=e)}if(r&&!s.startTimeError&&!s.expiryError){const e=sd(t.startTime,r.timestamp);e&&(s.startTimeError=e)}const u=id(i.amount,o.amount);return u&&(s.maxAmountError=u),{amountPerSecond:c,validationErrors:s,totalExposure:cd({initialAmount:o.amount,amountPerPeriod:a.amount,timePeriod:t.timePeriod,startTime:t.startTime,expiryTimestamp:r?.timestamp,maxAmount:i.amount,decimals:n})}},createConfirmationContent:async function({context:e,metadata:t}){const{amountPerSecond:r,totalExposure:n}=t,s=null===n?jl(\"totalExposureUnlimited\"):`${n} ${e.tokenMetadata.symbol}`,i=jl(\"streamRateValue\",[r,e.tokenMetadata.symbol]);return Ou(Fu,{children:[Ou(Hu,{children:[oh({rules:[ff,pf],context:e,metadata:t}),Nu(qh,{}),oh({rules:[mf,bf],context:e,metadata:t})]}),Ou(Hu,{children:[oh({rules:[gf,yf],context:e,metadata:t}),Nu(Ud,{label:jl(\"streamRateLabel\"),tooltip:jl(\"streamRateTooltip\"),variant:\"display\",direction:\"vertical\",children:Nu(Hu,{children:Ou(Fu,{direction:\"horizontal\",children:[Nu(Fu,{children:Nu(_d,{imageDataBase64:e.tokenMetadata.iconDataBase64,altText:e.tokenMetadata.symbol})}),Nu(ju,{children:i})]})})}),Nu(Ud,{label:jl(\"totalExposureLabel\"),tooltip:jl(\"totalExposureTooltip\"),variant:\"display\",direction:\"vertical\",children:Nu(Hu,{children:Ou(Fu,{direction:\"horizontal\",children:[Nu(Fu,{children:Nu(_d,{imageDataBase64:e.tokenMetadata.iconDataBase64,altText:e.tokenMetadata.symbol})}),Nu(ju,{children:s})]})})})]})]})},applyContext:async function({context:e,originalRequest:t}){const{permissionDetails:r,tokenMetadata:{decimals:n}}=e,s=hd(e,t),i=fd(t,s),{rules:o}=pd(t,i),a={maxAmount:r.maxAmount?hc(oc({formatted:r.maxAmount,decimals:n})):null,initialAmount:r.initialAmount?hc(oc({formatted:r.initialAmount,decimals:n})):null,amountPerSecond:hc(oc({formatted:r.amountPerPeriod,decimals:n})/Wu[r.timePeriod]),startTime:r.startTime,justification:t.permission.data.justification,tokenAddress:t.permission.data.tokenAddress},{address:c}=wu(e.accountAddressCaip10);return{...t,from:c,permission:{type:\"erc20-token-stream\",data:a,isAdjustmentAllowed:t.permission.isAdjustmentAllowed},rules:o}},populatePermission:async function({permission:e}){return{...e,data:{...e.data,initialAmount:e.data.initialAmount??\"0x0\",maxAmount:e.data.maxAmount??md,startTime:e.data.startTime??Math.floor(Date.now()/1e3)}}},createPermissionCaveats:async function({permission:e,contracts:t}){const{initialAmount:r,maxAmount:n,amountPerSecond:s,startTime:i}=e.data;return[{enforcer:t.erc20StreamingEnforcer,terms:Mh({tokenAddress:e.data.tokenAddress,initialAmount:BigInt(r),maxAmount:BigInt(n),amountPerSecond:BigInt(s),startTime:i}),args:\"0x\"},{enforcer:t.valueLteEnforcer,terms:Th({maxValue:0n}),args:\"0x\"}]}}};const Ef={name:\"native-token-allowance-allowance-amount\",label:\"amountLabel\",type:\"number\",getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.allowanceAmount,isVisible:!0,tooltip:jl(\"allowanceAmountTooltip\"),error:t.validationErrors.allowanceAmountError,iconData:Sd(e),isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,allowanceAmount:t}})},xf={name:\"native-token-allowance-start-date\",label:\"startTimeLabel\",type:\"datetime\",getRuleData:({context:e,metadata:t})=>({value:Xu(e.permissionDetails.startTime),isVisible:!0,tooltip:jl(\"allowanceStartTimeTooltip\"),error:t.validationErrors.startTimeError,allowPastDate:!0,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,startTime:Qu(t)}})},Tf=dd({elementName:\"native-token-allowance-expiry\",translate:jl}),kf=[Ef,xf,Tf];const Sf=\"eip155\";const Cf=La.extend({type:qo(\"native-token-allowance\"),data:Go(Ha,Ho({allowanceAmount:Ra,startTime:qa}))});const If={rules:kf,title:\"permissionRequestTitle\",subtitle:\"permissionRequestSubtitle\",dependencies:{parseAndValidatePermission:function(e){const{data:r,error:n,success:s}=Cf.safeParse(e.permission);if(!s)throw new Vs(t(n.errors));return function(e,t){const{allowanceAmount:r,startTime:n}=e.data;Xh({name:\"allowanceAmount\",value:r,required:!0,allowZero:!1}),tf(n,t),Qh(t),ef(t)}(r,e.rules),{...e,permission:r}},buildContext:async function({permissionRequest:t,tokenMetadataService:r}){const n=Number(t.chainId),{from:s,permission:{data:i,isAdjustmentAllowed:o}}=t;if(!s)throw new Vs(\"PermissionRequest.address was not found. This should be resolved within the buildContextHandler function in PermissionHandler.\");const{decimals:a,symbol:c,iconUrl:l}=await r.getTokenBalanceAndMetadata({chainId:n,account:s}),u=await r.fetchIconDataAsBase64(l),d=u.success?u.imageDataBase64:null,h=t.rules?.find(t=>\"expiry\"===e(t.type)),f=h?{timestamp:h.data.timestamp}:void 0,p=ld(t.rules),m=ud(t.rules),g=ic({value:i.allowanceAmount,allowNull:!1,decimals:a}),y=i.startTime??Math.floor(Date.now()/1e3),b=xu(Sf,n.toString(),\"slip44\",\"60\"),v=Eu(Sf,n.toString(),s);return{expiry:f,...void 0===p?{}:{redeemerAddresses:p},...void 0===m?{}:{payeeAddresses:m},justification:i.justification,isAdjustmentAllowed:o,accountAddressCaip10:v,tokenAddressCaip19:b,tokenMetadata:{symbol:c,decimals:a,iconDataBase64:d},permissionDetails:{allowanceAmount:g,startTime:y}}},deriveMetadata:async function({context:e}){const{permissionDetails:t,expiry:r,tokenMetadata:{decimals:n}}=e,s={},i=td(t.allowanceAmount,n,\"allowance amount\");i.error&&(s.allowanceAmountError=i.error);const o=rd(t.startTime);if(o&&(s.startTimeError=o),r){const e=nd(r.timestamp);e&&(s.expiryError=e)}if(r&&!s.startTimeError&&!s.expiryError){const e=sd(t.startTime,r.timestamp);e&&(s.startTimeError=e)}return{validationErrors:s}},createConfirmationContent:async function({context:e,metadata:t}){return Nu(Fu,{children:Ou(Hu,{children:[oh({rules:[Ef],context:e,metadata:t}),Nu(qh,{}),oh({rules:[xf,Tf],context:e,metadata:t})]})})},applyContext:async function({context:e,originalRequest:t}){const{permissionDetails:r,tokenMetadata:{decimals:n}}=e,s=hd(e,t),i=fd(t,s),{rules:o}=pd(t,i),a={allowanceAmount:hc(oc({formatted:r.allowanceAmount,decimals:n})),startTime:r.startTime,justification:t.permission.data.justification},{address:c}=wu(e.accountAddressCaip10);return{...t,from:c,permission:{type:\"native-token-allowance\",data:a,isAdjustmentAllowed:t.permission.isAdjustmentAllowed},rules:o}},populatePermission:async function({permission:e}){return{...e,data:{...e.data,startTime:e.data.startTime??Math.floor(Date.now()/1e3)}}},createPermissionCaveats:async function({permission:e,contracts:t}){const{allowanceAmount:r,startTime:n}=e.data;return[{enforcer:t.nativeTokenPeriodTransferEnforcer,terms:Ch({periodAmount:BigInt(r),periodDuration:Vh,startDate:n}),args:\"0x\"},{enforcer:t.exactCalldataEnforcer,terms:Ih({calldata:\"0x\"}),args:\"0x\"}]}}};const Pf={name:\"native-token-periodic-period-amount\",label:\"amountLabel\",type:\"number\",getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.periodAmount,isVisible:!0,tooltip:jl(\"amountTooltip\"),error:t.validationErrors.periodAmountError,iconData:Sd(e),isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,periodAmount:t}})},Mf={name:\"native-token-periodic-period-type\",label:\"periodDurationLabel\",type:\"dropdown\",getRuleData:({context:e,metadata:t})=>({value:Ju(e.permissionDetails.periodDuration),isVisible:!0,tooltip:jl(\"periodDurationTooltip\"),options:Object.values(Ku),error:t.validationErrors.periodDurationError,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>{if(!Object.values(Ku).includes(t))throw new Vs(`Invalid period type: \"${t}\". Valid options are: ${Object.values(Ku).join(\", \")}`);const r=Wu[t];if(void 0===r)throw new Vs(`Period type \"${t}\" is not mapped to a duration. This indicates a system error.`);const n=Number(r);return{...e,permissionDetails:{...e.permissionDetails,periodDuration:n}}}},Rf={name:\"native-token-periodic-start-date\",label:\"startTimeLabel\",type:\"datetime\",getRuleData:({context:e,metadata:t})=>({value:Xu(e.permissionDetails.startTime),isVisible:!0,tooltip:jl(\"startTimeTooltip\"),error:t.validationErrors.startTimeError,allowPastDate:!0,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,startTime:Qu(t)}})},Bf=dd({elementName:\"native-token-periodic-expiry\",translate:jl}),Nf=[Pf,Mf,Rf,Bf];const Of=\"eip155\";const _f=La.extend({type:qo(\"native-token-periodic\"),data:Go(Ha,Ho({periodAmount:Ra,periodDuration:Zu,startTime:qa}))});const Lf={rules:Nf,title:\"permissionRequestTitle\",subtitle:\"permissionRequestSubtitle\",dependencies:{parseAndValidatePermission:function(e){const{data:r,error:n,success:s}=_f.safeParse(e.permission);if(!s)throw new Vs(t(n.errors));return function(e,t){const{periodAmount:r,startTime:n}=e.data;Xh({name:\"periodAmount\",value:r,required:!0,allowZero:!1}),tf(n,t),Qh(t),ef(t)}(r,e.rules),{...e,permission:r}},buildContext:async function({permissionRequest:t,tokenMetadataService:r}){const n=Number(t.chainId),{from:s,permission:{data:i,isAdjustmentAllowed:o}}=t;if(!s)throw new Vs(\"PermissionRequest.address was not found. This should be resolved within the buildContextHandler function in PermissionHandler.\");const{decimals:a,symbol:c,iconUrl:l}=await r.getTokenBalanceAndMetadata({chainId:n,account:s}),u=await r.fetchIconDataAsBase64(l),d=u.success?u.imageDataBase64:null,h=t.rules?.find(t=>\"expiry\"===e(t.type)),f=h?{timestamp:h.data.timestamp}:void 0,p=ld(t.rules),m=ud(t.rules),g=ic({value:i.periodAmount,allowNull:!1,decimals:a}),{periodDuration:y}=i,b=i.startTime??Math.floor(Date.now()/1e3),v=xu(Of,n.toString(),\"slip44\",\"60\"),w=Eu(Of,n.toString(),s);return{expiry:f,...void 0===p?{}:{redeemerAddresses:p},...void 0===m?{}:{payeeAddresses:m},justification:i.justification,isAdjustmentAllowed:o,accountAddressCaip10:w,tokenAddressCaip19:v,tokenMetadata:{symbol:c,decimals:a,iconDataBase64:d},permissionDetails:{periodAmount:g,periodDuration:y,startTime:b}}},deriveMetadata:async function({context:e}){const{permissionDetails:t,expiry:r,tokenMetadata:{decimals:n}}=e,s={},i=td(t.periodAmount,n,\"period amount\");i.error&&(s.periodAmountError=i.error);const o=ad(t.periodDuration);o.error&&(s.periodDurationError=o.error);const a=rd(t.startTime);if(a&&(s.startTimeError=a),r){const e=nd(r.timestamp);e&&(s.expiryError=e)}if(r&&!s.startTimeError&&!s.expiryError){const e=sd(t.startTime,r.timestamp);e&&(s.startTimeError=e)}return{validationErrors:s}},createConfirmationContent:async function({context:e,metadata:t}){return Nu(Fu,{children:Ou(Hu,{children:[oh({rules:[Pf,Mf],context:e,metadata:t}),Nu(qh,{}),oh({rules:[Rf,Bf],context:e,metadata:t})]})})},applyContext:async function({context:e,originalRequest:t}){const{permissionDetails:r,tokenMetadata:{decimals:n}}=e,s=hd(e,t),i=fd(t,s),{rules:o}=pd(t,i),a={periodAmount:hc(oc({formatted:r.periodAmount,decimals:n})),periodDuration:r.periodDuration,startTime:r.startTime,justification:t.permission.data.justification},{address:c}=wu(e.accountAddressCaip10);return{...t,from:c,permission:{type:\"native-token-periodic\",data:a,isAdjustmentAllowed:t.permission.isAdjustmentAllowed},rules:o}},populatePermission:async function({permission:e}){return{...e,data:{...e.data,startTime:e.data.startTime??Math.floor(Date.now()/1e3)}}},createPermissionCaveats:async function({permission:e,contracts:t}){const{periodAmount:r,periodDuration:n,startTime:s}=e.data;return[{enforcer:t.nativeTokenPeriodTransferEnforcer,terms:Ch({periodAmount:BigInt(r),periodDuration:n,startDate:s}),args:\"0x\"},{enforcer:t.exactCalldataEnforcer,terms:Ih({calldata:\"0x\"}),args:\"0x\"}]}}};const Df={name:\"native-token-stream-initial-amount\",label:\"initialAmountLabel\",type:\"number\",isOptional:!0,getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.initialAmount??void 0,isVisible:!0,iconData:Sd(e),tooltip:jl(\"initialAmountTooltip\"),error:t.validationErrors.initialAmountError,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,initialAmount:t}})},Ff={name:\"native-token-stream-max-amount\",label:\"maxAmountLabel\",type:\"number\",isOptional:!0,getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.maxAmount??void 0,isVisible:!0,tooltip:jl(\"maxAmountTooltip\"),iconData:Sd(e),error:t.validationErrors.maxAmountError,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,maxAmount:t}})},Uf={name:\"native-token-stream-start-time\",label:\"startTimeLabel\",type:\"datetime\",getRuleData:({context:e,metadata:t})=>({value:Xu(e.permissionDetails.startTime),isVisible:!0,tooltip:jl(\"streamStartTimeTooltip\"),error:t.validationErrors.startTimeError,allowPastDate:!0,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,startTime:Qu(t)}})},jf={name:\"native-token-stream-amount-per-period\",label:\"streamAmountLabel\",type:\"number\",getRuleData:({context:e,metadata:t})=>({value:e.permissionDetails.amountPerPeriod,isVisible:!0,tooltip:jl(\"streamAmountTooltip\"),iconData:Sd(e),error:t.validationErrors.amountPerPeriodError,isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,amountPerPeriod:t}})},Hf={name:\"native-token-stream-time-period\",label:\"streamPeriodLabel\",type:\"dropdown\",getRuleData:({context:e})=>({value:e.permissionDetails.timePeriod,isVisible:!0,tooltip:jl(\"streamPeriodTooltip\"),options:Object.values(Ku),isEditable:e.isAdjustmentAllowed}),updateContext:(e,t)=>({...e,permissionDetails:{...e.permissionDetails,timePeriod:t}})},zf=dd({elementName:\"native-token-stream-expiry\",translate:jl}),Gf=[Df,Ff,Uf,zf,jf,Hf];const Vf=\"eip155\";const qf=La.extend({type:qo(\"native-token-stream\"),data:Go(Ha,Ho({initialAmount:Ba,maxAmount:Ba,amountPerSecond:Ra,startTime:qa}))});const Kf={rules:Gf,title:\"permissionRequestTitle\",subtitle:\"permissionRequestSubtitle\",dependencies:{parseAndValidatePermission:function(e){const{data:r,error:n,success:s}=qf.safeParse(e.permission);if(!s)throw new Vs(t(n.errors));return function(e,t){const{initialAmount:r,maxAmount:n,amountPerSecond:s,startTime:i}=e.data;if(Xh({name:\"maxAmount\",value:n,required:!1,allowZero:!1}),Xh({name:\"initialAmount\",value:r,required:!1,allowZero:!0}),Xh({name:\"amountPerSecond\",value:s,required:!0,allowZero:!1}),r&&n&&BigInt(n)<BigInt(r))throw new Vs(\"Invalid maxAmount: must be greater than initialAmount\");tf(i,t),Qh(t),ef(t)}(r,e.rules),{...e,permission:{...r,data:{...r.data,initialAmount:r.data.initialAmount,maxAmount:r.data.maxAmount}}}},buildContext:async function({permissionRequest:t,tokenMetadataService:r}){const n=Number(t.chainId),{from:s,permission:{data:i,isAdjustmentAllowed:o}}=t;if(!s)throw new Vs(\"PermissionRequest.address was not found. This should be resolved within the buildContextHandler function in PermissionHandler.\");const{decimals:a,symbol:c,iconUrl:l}=await r.getTokenBalanceAndMetadata({chainId:n,account:s}),u=await r.fetchIconDataAsBase64(l),d=u.success?u.imageDataBase64:null,h=t.rules?.find(t=>\"expiry\"===e(t.type)),f=h?{timestamp:h.data.timestamp}:void 0,p=ld(t.rules),m=ud(t.rules),g=ic({value:i.initialAmount,allowNull:!0,decimals:a}),y=Ku.MONTHLY,b=ic({value:i.maxAmount,allowNull:!0,decimals:a}),v=BigInt(i.amountPerSecond),w=sc({value:v*Wu[y],decimals:a}),A=i.startTime??Math.floor(Date.now()/1e3),E=xu(Vf,n.toString(),\"slip44\",\"60\"),x=Eu(Vf,n.toString(),s);return{expiry:f,...void 0===p?{}:{redeemerAddresses:p},...void 0===m?{}:{payeeAddresses:m},justification:i.justification,isAdjustmentAllowed:o,accountAddressCaip10:x,tokenAddressCaip19:E,tokenMetadata:{symbol:c,decimals:a,iconDataBase64:d},permissionDetails:{initialAmount:g,maxAmount:b,timePeriod:y,startTime:A,amountPerPeriod:w}}},deriveMetadata:async function({context:e}){const{permissionDetails:t,expiry:r,tokenMetadata:{decimals:n}}=e,s={},i=td(t.maxAmount,n,\"max amount\",!1);i.error&&(s.maxAmountError=i.error);const o=td(t.initialAmount,n,\"initial amount\",!0);o.error&&(s.initialAmountError=o.error);const a=td(t.amountPerPeriod,n,\"amount per period\");let c=jl(\"unknownStreamRate\");a.error?s.amountPerPeriodError=a.error:a.amount&&(c=od(a.amount,t.timePeriod,n));const l=rd(t.startTime);if(l&&(s.startTimeError=l),r){const e=nd(r.timestamp);e&&(s.expiryError=e)}if(r&&!s.startTimeError&&!s.expiryError){const e=sd(t.startTime,r.timestamp);e&&(s.startTimeError=e)}const u=id(i.amount,o.amount);return u&&(s.maxAmountError=u),{amountPerSecond:c,validationErrors:s,totalExposure:cd({initialAmount:o.amount,amountPerPeriod:a.amount,timePeriod:t.timePeriod,startTime:t.startTime,expiryTimestamp:r?.timestamp,maxAmount:i.amount,decimals:n})}},createConfirmationContent:async function({context:e,metadata:t}){const{amountPerSecond:r,totalExposure:n}=t,s=null===n?jl(\"totalExposureUnlimited\"):`${n} ${e.tokenMetadata.symbol}`,i=jl(\"streamRateValue\",[r,e.tokenMetadata.symbol]);return Ou(Fu,{children:[Ou(Hu,{children:[oh({rules:[Df,Ff],context:e,metadata:t}),Nu(qh,{}),oh({rules:[Uf,zf],context:e,metadata:t})]}),Ou(Hu,{children:[oh({rules:[jf,Hf],context:e,metadata:t}),Nu(Ud,{label:jl(\"streamRateLabel\"),tooltip:jl(\"streamRateTooltip\"),variant:\"display\",direction:\"vertical\",children:Nu(Hu,{children:Ou(Fu,{direction:\"horizontal\",children:[Nu(Fu,{children:Nu(_d,{imageDataBase64:e.tokenMetadata.iconDataBase64,altText:e.tokenMetadata.symbol})}),Nu(ju,{children:i})]})})}),Nu(Ud,{label:jl(\"totalExposureLabel\"),tooltip:jl(\"totalExposureTooltip\"),variant:\"display\",direction:\"vertical\",children:Nu(Hu,{children:Ou(Fu,{direction:\"horizontal\",children:[Nu(Fu,{children:Nu(_d,{imageDataBase64:e.tokenMetadata.iconDataBase64,altText:e.tokenMetadata.symbol})}),Nu(ju,{children:s})]})})})]})]})},applyContext:async function({context:e,originalRequest:t}){const{permissionDetails:r,tokenMetadata:{decimals:n}}=e,s=hd(e,t),i=fd(t,s),{rules:o}=pd(t,i),a={maxAmount:r.maxAmount?hc(oc({formatted:r.maxAmount,decimals:n})):void 0,initialAmount:r.initialAmount?hc(oc({formatted:r.initialAmount,decimals:n})):void 0,amountPerSecond:hc(oc({formatted:r.amountPerPeriod,decimals:n})/Wu[r.timePeriod]),startTime:r.startTime,justification:t.permission.data.justification},{address:c}=wu(e.accountAddressCaip10);return{...t,from:c,permission:{type:\"native-token-stream\",data:a,isAdjustmentAllowed:t.permission.isAdjustmentAllowed},rules:o}},populatePermission:async function({permission:e}){return{...e,data:{...e.data,initialAmount:e.data.initialAmount??\"0x0\",maxAmount:e.data.maxAmount??\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",startTime:e.data.startTime??Math.floor(Date.now()/1e3)}}},createPermissionCaveats:async function({permission:e,contracts:t}){const{initialAmount:r,maxAmount:n,amountPerSecond:s,startTime:i}=e.data;return[{enforcer:t.nativeTokenStreamingEnforcer,terms:Ph({initialAmount:BigInt(r),maxAmount:BigInt(n),amountPerSecond:BigInt(s),startTime:i}),args:\"0x\"},{enforcer:t.exactCalldataEnforcer,terms:Ih({calldata:\"0x\"}),args:\"0x\"}]}}};const Wf=dd({elementName:\"token-approval-revocation-expiry\",translate:jl});const Jf={tokenAddressCaip19:Ia,tokenMetadata:{symbol:\"\",decimals:0,iconDataBase64:\"\"}};const $f={rules:[Wf],title:\"permissionRequestTitle\",subtitle:\"permissionRequestSubtitleRevocation\",dependencies:{parseAndValidatePermission:function(e){const{data:r,error:n,success:s}=vd.safeParse(e.permission);if(!s)throw new Vs(t(n.errors));return Qh(e.rules),{...e,permission:r}},buildContext:async function({permissionRequest:t}){const r=Number(t.chainId),{from:n,permission:{data:s,isAdjustmentAllowed:i}}=t;if(!n)throw new Vs(\"PermissionRequest.address was not found. This should be resolved within the buildContextHandler function in PermissionHandler.\");const o=t.rules?.find(t=>\"expiry\"===e(t.type)),a=o?{timestamp:o.data.timestamp}:void 0,c=ld(t.rules),l=Eu(\"eip155\",r.toString(),n),{erc20Approve:u,erc721Approve:d,erc721SetApprovalForAll:h,permit2Approve:f,permit2Lockdown:p,permit2InvalidateNonces:m}=s;return{expiry:a,...void 0===c?{}:{redeemerAddresses:c},justification:s.justification,isAdjustmentAllowed:i,approvalRevocationPrimitives:{erc20Approve:u,erc721Approve:d,erc721SetApprovalForAll:h,permit2Approve:f,permit2Lockdown:p,permit2InvalidateNonces:m},accountAddressCaip10:l,...Jf}},deriveMetadata:async function({context:e}){const{expiry:t}=e,r={};if(t){const e=nd(t.timestamp);e&&(r.expiryError=e)}return{validationErrors:r}},createConfirmationContent:async function({context:e,metadata:t}){const r=yd.filter(({key:t})=>e.approvalRevocationPrimitives[t]),n=r.length===yd.length;return Nu(Fu,{children:Ou(Hu,{children:[Nu(Ud,{label:jl(\"approvalRevocationPrimitivesLabel\"),variant:\"display\",direction:\"vertical\",children:Nu(Fu,{children:n?Nu(ju,{children:jl(\"allApprovalRevocationPrimitivesLabel\")}):r.map(({key:e,labelKey:t})=>Ou(Fu,{direction:\"horizontal\",children:[Nu(Rd,{name:\"minus\",color:\"default\",size:\"inherit\"}),Nu(ju,{children:jl(t)})]},e))})}),Nu(qh,{}),oh({rules:[Wf],context:e,metadata:t})]})})},applyContext:async function({context:e,originalRequest:t}){const{approvalRevocationPrimitives:r,justification:n}=e,s=hd(e,t),{rules:i}=fd(t,s),{address:o}=wu(e.accountAddressCaip10);return{...t,from:o,permission:{type:\"token-approval-revocation\",data:{justification:n,...r},isAdjustmentAllowed:t.permission.isAdjustmentAllowed},rules:i}},populatePermission:async function({permission:e}){return{...e}},createPermissionCaveats:async function({permission:e,contracts:t}){return[{enforcer:t.approvalRevocationEnforcer,terms:Lh(e.data),args:\"0x\"}]}}};const Zf=Lu(\"Bold\"),Yf='<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\">\\n  <rect x=\"0\" y=\"5\" width=\"18\" height=\"8\" rx=\"4\" fill=\"#535A61\"/>\\n</svg>\\n',Xf='<svg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" xmlns=\"http://www.w3.org/2000/svg\">\\n  <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"#9FA6AE\"/>\\n</svg>\\n',Qf='<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"325\" height=\"172\" viewBox=\"0 0 492 261\" preserveAspectRatio=\"xMidYMid meet\">\\n  <image width=\"492\" height=\"261\" xlink:href=\"data:image/png;base64,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\" />\\n</svg>\\n',ep=\"permission-introduction-confirm\",tp=\"intro-prev-arrow\",rp=\"intro-next-arrow\",np={headerImageSvg:Qf,title:\"introAdvancedPermissionsTitle\",bulletPoints:[{icon:\"security-key\",title:\"introSecureLimitedAccessTitle\",description:\"introSecureLimitedAccessDescription\"},{icon:\"customize\",title:\"introFullyCustomizableControlTitle\",description:\"introFullyCustomizableControlDescription\"},{icon:\"sparkle\",title:\"introTransparentConvenientTitle\",description:\"introTransparentConvenientDescription\"}]},sp={headerImageSvg:Qf,title:\"introSubscriptionTitle\",bulletPoints:[{description:\"introRecurringPaymentsDescription\"},{description:\"introPermissionInControlDescription\"}]},ip={headerImageSvg:Qf,title:\"introStreamTitle\",bulletPoints:[{description:\"introContinuousTokenFlowDescription\"},{description:\"introPermissionInControlDescription\"}]},op={headerImageSvg:Qf,title:\"introAllowanceTitle\",bulletPoints:[{description:\"introTokenAllowanceDescription\"},{description:\"introPermissionInControlDescription\"}]},ap={\"erc20-token-periodic\":{page1:sp,page2:np},\"erc20-token-allowance\":{page1:op,page2:np},\"token-approval-revocation\":{page1:{headerImageSvg:Qf,title:\"introRevocationTitle\",bulletPoints:[{description:\"introManageTokenApprovalsDescription\"},{description:\"introPermissionInControlDescription\"}]},page2:np},\"erc20-token-stream\":{page1:ip,page2:np},\"native-token-periodic\":{page1:sp,page2:np},\"native-token-allowance\":{page1:op,page2:np},\"native-token-stream\":{page1:ip,page2:np}};const cp=new Set([\"erc20-token-stream\",\"erc20-token-periodic\",\"erc20-token-allowance\"]),lp=new Set([\"native-token-stream\",\"native-token-periodic\",\"native-token-allowance\"]);function up(e){return`0x${e.slice(2).toLowerCase().padStart(64,\"0\")}`}function dp({rules:t,contracts:r,caveats:n,permissionType:s}){const i=t?.find(t=>\"payee\"===e(t.type)),o=i?.data?.addresses;if(!Array.isArray(o)||0===o.length)return;const a=cp.has(s),c=lp.has(s);if(!a&&!c)return;if(a&&o.length>1)throw new Vs(Yh);const l=a?function(e,t){return{enforcer:t.allowedCalldataEnforcer,terms:Nh({startIndex:4,value:up(e)}),args:\"0x\"}}(o[0],r):function(e,t){return{enforcer:t.allowedTargetsEnforcer,terms:Oh({targets:e}),args:\"0x\"}}(o,r);n.push(l)}const hp=Ho({permissionResponse:Ja,siteOrigin:Oo().min(1,\"Site origin cannot be empty\"),revocationMetadata:Ho({txHash:Ra.optional(),recordedAt:Da}).optional()});function fp(e){try{const t=JSON.parse(e),r=hp.parse(t);return t.isRevoked&&void 0===r.revocationMetadata&&(r.revocationMetadata={recordedAt:Math.floor(Date.now()/1e3)}),r}catch(e){if(i.error(\"Error deserializing stored granted permission\"),e instanceof oi)throw new Vs(t(e.errors));throw new $s(\"Failed to parse JSON\")}}function pp(e){try{const t=hp.parse(e);return JSON.stringify(t)}catch(e){if(e instanceof oi)throw new Vs(t(e.errors));throw e}}function mp(e){return`0x${jh(e).map(e=>Hh(e).slice(2)).join(\"\")}`}const gp=\"npm:@metamask/message-signing-snap\";var yp=function(e){return e.PermissionsProviderGetPermissionOffers=\"permissionsProvider_getPermissionOffers\",e.PermissionsProviderGrantPermissions=\"permissionsProvider_grantPermissions\",e.PermissionsProviderGetGrantedPermissions=\"permissionsProvider_getGrantedPermissions\",e.PermissionsProviderSubmitRevocation=\"permissionsProvider_submitRevocation\",e.PermissionsProviderGetSupportedPermissions=\"permissionsProvider_getSupportedPermissions\",e}({});const bp={\"npm:@metamask/permissions-kernel-snap\":[yp.PermissionsProviderGrantPermissions,yp.PermissionsProviderGetPermissionOffers,yp.PermissionsProviderGetGrantedPermissions,yp.PermissionsProviderGetSupportedPermissions],metamask:[yp.PermissionsProviderGetGrantedPermissions,yp.PermissionsProviderSubmitRevocation]},vp=[{type:\"native-token-stream\",proposedName:\"Native Token Stream\"},{type:\"native-token-periodic\",proposedName:\"Native Token Periodic Transfer\"},{type:\"native-token-allowance\",proposedName:\"Native Token Allowance\"},{type:\"erc20-token-stream\",proposedName:\"ERC20 Token Stream\"},{type:\"erc20-token-periodic\",proposedName:\"ERC20 Token Periodic Transfer\"},{type:\"erc20-token-allowance\",proposedName:\"ERC20 Token Allowance\"},{type:\"token-approval-revocation\",proposedName:\"Token Approval Revocation\"}];var wp=r(1048).Buffer;const Ap={locale:\"en\",currency:\"USD\"};var Ep;!function(e){e.ClearState=\"clear\",e.GetState=\"get\",e.UpdateState=\"update\"}(Ep||(Ep={}));const xp=({elementName:e,eventType:t,interfaceId:r})=>`${e}:${t}:${r}`;const Tp=!0,kp=\"production\",Sp=\"https://accounts.api.cx.metamask.io\";const Cp=\"https://tokens.api.cx.metamask.io\";const Ip=\"https://price.api.cx.metamask.io\";const Pp=\"https://dapp-scanning.api.cx.metamask.io\";const Mp=\"https://security-alerts.api.cx.metamask.io\";const Rp=\"300000\";const Bp=parseInt(Rp,10),Np=new uc({timeoutMs:1e4,maxResponseSizeBytes:1048576,accountBaseUrl:Sp,tokensBaseUrl:Cp}),Op=new Ac({ethereumProvider:ethereum}),_p=new class{#ue;#de;#he;#fe;constructor({accountApiClient:e,tokenMetadataClient:t,fetcher:r=fetch}){this.#ue=e,this.#de=t,this.#he=r,this.#fe=new Map}#pe(e){return this.#ue.isChainIdSupported(e)?[this.#ue,this.#de]:[this.#de]}#me(e,t){return`${e}-${t??\"native\"}`}async#ge(e){const{chainId:t,account:r,assetAddress:n}=e,s=this.#pe({chainId:t});let o=new Gs(\"No client found\");for(const e of s)try{return await e.getTokenBalanceAndMetadata({chainId:t,account:r,assetAddress:n})}catch(e){o=e,i.info(`TokenMetadataService - client failed for chain ${t}`)}throw o}async getTokenMetadata(e){i.debug(\"TokenMetadataService:getTokenMetadata()\");const{chainId:t,assetAddress:r}=e,n=this.#me(t,r);let s=this.#fe.get(n);return s?(i.debug(\"TokenMetadataService:getTokenMetadata() - returning cached/in-flight metadata\"),s):(s=this.#ge(e).then(e=>({symbol:e.symbol,decimals:e.decimals})).catch(e=>{throw i.error(\"TokenMetadataService:getTokenMetadata() - failed to fetch metadata\",e),this.#fe.delete(n),e}),this.#fe.set(n,s),s)}async getTokenBalanceAndMetadata(e){i.debug(\"TokenMetadataService:getTokenBalanceAndMetadata()\");const t=await this.#ge(e);return i.debug(\"TokenMetadataService:getTokenBalanceAndMetadata() - balance and metadata resolved\"),t}async fetchIconDataAsBase64(e){if(!e)return{success:!1};try{const t=await this.#he(e);if(!t.ok)return{success:!1};const r=await t.arrayBuffer(),n=wp.from(r);return{success:!0,imageDataBase64:`data:image/png;base64,${n.toString(\"base64\")}`}}catch{return i.error(\"Error fetching icon data\"),{success:!1}}}}({accountApiClient:Np,tokenMetadataClient:Op}),Lp=new Kl({ethereumProvider:ethereum}),Dp=new class{#ye;constructor({nonceCaveatClient:e}){this.#ye=e}async getNonce(e){i.debug(\"NonceCaveatService:getNonce()\");const t=await this.#ye.getNonce(e);return i.debug(\"NonceCaveatService:getNonce() - nonce resolved\"),t}}({nonceCaveatClient:Lp}),Fp=new class{#A;constructor(e){this.#A=e.ethereumProvider}async getAccountAddresses(){i.debug(\"AccountController:getAccountAddresses()\");const e=await this.#A.request({method:\"eth_requestAccounts\"});if(!e||0===e.length||e.some(e=>void 0===e))throw new Zs(\"No accounts found\");return e}async signDelegation(e){i.debug(\"AccountController:signDelegation()\");const{chainId:t,delegation:r,address:n,origin:s,justification:o}=e;await yc(this.#A,t);const{contracts:{delegationManager:a}}=ql({chainId:t}),c=this.#be({chainId:t,delegationManager:a,delegation:r,origin:s,justification:o}),l=await this.#A.request({method:\"eth_signTypedData_v4\",params:[n,c]});if(!l)throw new Ys(\"Failed to sign delegation\");return{...e.delegation,signature:l}}#be({chainId:e,delegationManager:t,delegation:r,origin:n,justification:s}){i.debug(\"AccountController:#getSignDelegationArgs()\");const o={origin:n,justification:s};return{domain:{chainId:e,name:\"DelegationManager\",version:\"1\",verifyingContract:t},types:{Caveat:[{name:\"enforcer\",type:\"address\"},{name:\"terms\",type:\"bytes\"}],Delegation:[{name:\"delegate\",type:\"address\"},{name:\"delegator\",type:\"address\"},{name:\"authority\",type:\"bytes32\"},{name:\"caveats\",type:\"Caveat[]\"},{name:\"salt\",type:\"uint256\"}],EIP712Domain:[{name:\"name\",type:\"string\"},{name:\"version\",type:\"string\"},{name:\"chainId\",type:\"uint256\"},{name:\"verifyingContract\",type:\"address\"}]},primaryType:\"Delegation\",message:{...r,salt:hc(r.salt)},metadata:o}}async getAccountUpgradeStatus(e){i.debug(\"AccountController:getAccountUpgradeStatus()\",e);try{const t=await this.#A.request({method:\"wallet_getAccountUpgradeStatus\",params:e});i.debug(\"Account upgrade status result\",t);const{contracts:{eip7702StatelessDeleGatorImpl:r}}=ql({chainId:fc(e.chainId)});return{isUpgraded:t.isUpgraded&&t.upgradedAddress?.toLowerCase()===r.toLowerCase()}}catch(e){throw i.error(\"Failed to check account upgrade status\",e),new Gs(\"Failed to check account upgrade status\")}}async upgradeAccount(e){i.debug(\"AccountController:upgradeAccount()\",e);try{const t=await this.#A.request({method:\"wallet_upgradeAccount\",params:e});if(i.debug(\"Account upgrade result\",t),t?.transactionHash)return{transactionHash:t.transactionHash};throw new Error(\"Invalid upgrade result: missing transaction hash\")}catch(e){throw i.error(\"Failed to upgrade account\",e),new Gs(\"Failed to upgrade account\")}}}({snapsProvider:snap,ethereumProvider:ethereum}),Up=new vc({ethereumProvider:ethereum}),jp=function(e,t=!0){return{getState:async function(){try{const r=await e.request({method:\"snap_manageState\",params:{operation:Ep.GetState,encrypted:t}});return r?{...r,seenPermissionIntroductions:r.seenPermissionIntroductions??[]}:{profileSyncAuthenticationSession:null,profileSyncUserStorageKey:null,seenPermissionIntroductions:[]}}catch(e){throw new re(\"Failed to get state\",e)}},setState:async function(r){try{await e.request({method:\"snap_manageState\",params:{operation:Ep.UpdateState,newState:r,encrypted:t}})}catch(e){throw new re(\"Failed to set state\",e)}}}}(snap),Hp=((e,t)=>({authStorageOptions:{getLoginResponse:async()=>(await e.getState()).profileSyncAuthenticationSession,setLoginResponse:async t=>{const r=await e.getState();await e.setState({...r,profileSyncAuthenticationSession:t})}},keyStorageOptions:{getStorageKey:async t=>(await e.getState()).profileSyncUserStorageKey,setStorageKey:async(t,r)=>{const n=await e.getState();await e.setState({...n,profileSyncUserStorageKey:r})}},authSigningOptions:{async signMessage(e){try{return await t.request({method:\"wallet_invokeSnap\",params:{snapId:gp,request:{method:\"signMessage\",params:{message:e}}}})}catch(e){throw i.error(\"Error getting identifier\"),e}},async getIdentifier(){try{return await t.request({method:\"wallet_invokeSnap\",params:{snapId:gp,request:{method:\"getPublicKey\",params:{}}}})}catch(e){throw i.error(\"Error getting identifier\"),e}}}}))(jp,snap),zp=function(e){return\"production\"===e?ge.PRD:ge.DEV}(kp),Gp=new class{constructor(...e){if(Hn.add(this),zn.set(this,void 0),Gn.set(this,void 0),Vn.set(this,void 0),Wn(this,zn,e[0].type,\"f\"),Wn(this,Gn,e[0].env,\"f\"),e[0].type!==we.SRP){if(e[0].type!==we.SiWE)throw new he(\"unsupported auth type\");Wn(this,Vn,new He(e[0],e[1]),\"f\")}else Wn(this,Vn,new jn(e[0],e[1]),\"f\")}setCustomProvider(e){Jn(this,Hn,\"m\",Kn).call(this,Jn(this,zn,\"f\"),Jn(this,Vn,\"f\")),Jn(this,Vn,\"f\").setCustomProvider(e)}async getAccessToken(e){return await Jn(this,Vn,\"f\").getAccessToken(e)}async connectSnap(){return Jn(this,Hn,\"m\",Kn).call(this,Jn(this,zn,\"f\"),Jn(this,Vn,\"f\")),Jn(this,Vn,\"f\").connectSnap()}async isSnapConnected(){return Jn(this,Hn,\"m\",Kn).call(this,Jn(this,zn,\"f\"),Jn(this,Vn,\"f\")),Jn(this,Vn,\"f\").isSnapConnected()}async getUserProfile(e){return await Jn(this,Vn,\"f\").getUserProfile(e)}async getIdentifier(e){return await Jn(this,Vn,\"f\").getIdentifier(e)}async getUserProfileLineage(e){return await Jn(this,Vn,\"f\").getUserProfileLineage(e)}async pairSrpProfiles(e,t){return Jn(this,Hn,\"m\",Kn).call(this,Jn(this,zn,\"f\"),Jn(this,Vn,\"f\")),await Jn(this,Vn,\"f\").pairSrpProfiles(e,t)}async signMessage(e,t){return await Jn(this,Vn,\"f\").signMessage(e,t)}async pairIdentifiers(e){const t=await this.getUserProfile(),r=await Ce(t.profileId,Jn(this,Gn,\"f\")),n=await Promise.all(e.map(async e=>{try{const t=`metamask:${r.nonce}:${e.identifier}`;return{signature:await e.signMessage(t),raw_message:t,encrypted_storage_key:e.encryptedStorageKey,identifier_type:e.identifierType}}catch(e){const t=e instanceof Error?e.message:JSON.stringify(e??\"\");throw new le(`failed to sign pairing message: ${t}`)}})),s=await this.getAccessToken();await ke(r.nonce,n,s,Jn(this,Gn,\"f\"))}prepare(e){Jn(this,Hn,\"m\",qn).call(this,Jn(this,zn,\"f\"),Jn(this,Vn,\"f\")),Jn(this,Vn,\"f\").prepare(e)}}({type:we.SRP,platform:ye.EXTENSION,env:zp},{storage:Hp.authStorageOptions,signing:Hp.authSigningOptions}),Vp=new class{#ve={};#we=!1;#Ae=Promise.resolve();#Ee=new Map;#xe=new Map;on(e){const{elementName:t,eventType:r,handler:n,interfaceId:s}=e,i=xp({elementName:t,eventType:r,interfaceId:s});return this.#ve[i]?this.#ve[i]?.push(n):this.#ve[i]=[n],{dispatcher:this,unbind:()=>{this.off(e)}}}off(e){const{eventType:t,handler:r,interfaceId:n,elementName:s}=e,i=xp({elementName:s,eventType:t,interfaceId:n}),o=this.#ve[i];if(!o?.length)return this;const a=o.indexOf(r);return-1!==a&&o.splice(a,1),this}async#Te(e,t,r){return this.#Ae.then(async()=>{const n=this.#ve[r];if(n?.length)for(const r of n)try{await r({event:e,interfaceId:t})}catch(r){i.error(`Error in event handler for event type ${e.type} and interface id ${t}:`,r)}})}createUserInputEventHandler(){if(this.#we)throw new Gs(\"User input event handler has already been created\");return this.#we=!0,async e=>{const{event:t,id:r}=e,n=xp({elementName:t.name??\"\",eventType:t.type,interfaceId:r});if(t.type===mu.InputChangeEvent){this.#xe.set(n,{event:t,id:r,eventKey:n});const e=this.#Ee.get(n);e&&clearTimeout(e);const s=setTimeout(()=>{const e=this.#xe.get(n);e&&(this.#xe.delete(n),this.#Ae=this.#Te(e.event,e.id,e.eventKey))},300);this.#Ee.set(n,s)}else{const e=Array.from(this.#xe.keys());if(e.length>0)for(const t of e){const e=this.#xe.get(t);if(e){const r=this.#Ee.get(t);r&&(clearTimeout(r),this.#Ee.delete(t)),this.#xe.delete(t),this.#Ae=this.#Te(e.event,e.id,e.eventKey),await this.#Ae}}this.#Ae=this.#Te(t,r,n),await this.#Ae}}}clearDebounceTimers(){for(const e of this.#Ee.values())clearTimeout(e);this.#Ee.clear(),this.#xe.clear()}async waitForPendingHandlers(){await this.#Ae;const e=Array.from(this.#xe.keys());if(e.length>0){for(const t of e){const e=this.#Ee.get(t);e&&(clearTimeout(e),this.#Ee.delete(t))}for(const t of e){const e=this.#xe.get(t);e&&(this.#xe.delete(t),this.#Ae=this.#Te(e.event,e.id,e.eventKey),await this.#Ae)}}}},qp=new class{#G;constructor(e){this.#G=e}async#ke(e,t){try{i.debug(`SnapsMetricsService: Tracking event ${e}`,t),await this.#G.request({method:\"snap_trackEvent\",params:{event:{event:`${e}`,properties:t}}})}catch(r){i.error(`SnapsMetricsService: Failed to track event ${e}`,{error:r,event:e,properties:t})}}async trackPermissionRequestStarted(e){await this.#ke(\"Permission Request Started\",{message:\"User initiated permission request\",origin:e.origin,permission_type:e.permissionType,...this.#Se({chainId:e.chainId,permissionData:e.permissionData})})}async trackPermissionDialogShown(e){await this.#ke(\"Permission Dialog Shown\",{message:\"Permission confirmation dialog displayed\",origin:e.origin,permission_type:e.permissionType,...this.#Se({chainId:e.chainId,permissionData:e.permissionData,...e.justification&&{justification:e.justification}})})}async trackPermissionRejected(e){await this.#ke(\"Permission Rejected\",{message:\"User rejected permission request\",origin:e.origin,permission_type:e.permissionType,...this.#Se({chainId:e.chainId,permissionData:e.permissionData,...e.justification&&{justification:e.justification}})})}async trackPermissionGranted(e){await this.#ke(\"Permission Granted\",{message:\"Permission successfully granted\",origin:e.origin,permission_type:e.permissionType,is_adjustment_allowed:e.isAdjustmentAllowed,...this.#Se({chainId:e.chainId,permissionData:e.permissionData,...e.justification&&{justification:e.justification}})})}async trackSmartAccountUpgraded(e){await this.#ke(\"Smart Account Upgraded\",{message:e.success?\"Smart account successfully upgraded\":\"Smart account upgrade failed\",origin:e.origin,account_address:e.accountAddress,chain_id:e.chainId,success:e.success})}async trackDelegationSigning(e){await this.#ke(\"Delegation Signing\",{message:e.success?\"Delegation signed successfully\":\"Delegation signing failed\",origin:e.origin,permission_type:e.permissionType,success:e.success,...e.errorMessage?{error_message:e.errorMessage}:{}})}async trackProfileSync(e){const{operation:t,success:r,errorMessage:n,performanceData:s}=e,i=r?`Profile sync ${t} successful`:`Profile sync ${t} failed`;await this.#ke(\"Profile Sync\",{message:i,operation:t,success:r,...s?{performance_data:s}:{},...n?{error_message:n}:{}})}#Se(e){const t={chain_id:e.chainId},{permissionData:r}=e;return void 0!==r.periodAmount&&(t.period_amount=r.periodAmount),void 0!==r.periodDuration&&(t.period_duration=r.periodDuration),void 0!==r.startTime&&(t.start_time=r.startTime),void 0!==r.tokenAddress&&(t.token_address=r.tokenAddress),void 0!==r.amountPerSecond&&(t.amount_per_second=r.amountPerSecond),void 0!==r.initialAmount&&(t.initial_amount=r.initialAmount),void 0!==r.maxAmount&&(t.max_amount=r.maxAmount),e.justification&&(t.justification=e.justification),t}}(snap),Kp=function(e){const t=\"gator_7715_permissions\",{userStorage:r,isFeatureEnabled:n,snapsMetricsService:s}=e;async function o(e){try{const n=`${t}.${mp(e)}`,s=await r.getItem(n);return s?fp(s):null}catch(e){throw i.error(\"Error fetching granted permissions\"),e}}async function a(e,n){const s=`${t}.${e}`,i=await r.getItem(s);if(!i)throw new Gs(`Unable to retrieve stored item with key: ${e}`);if(n!==i)throw new Gs(`Retrieved stored item with key: ${e} but does not match expected value`)}async function c(e){const n={permissionCount:1,permissionsStoredElapsedMs:-1,storedPermissionsValidatedElapsedMs:-1};try{const i=Date.now(),o=pp(e),c=mp(e.permissionResponse.context),l=`${t}.${c}`;await r.setItem(l,o),n.permissionsStoredElapsedMs=Date.now()-i,await a(c,o),n.storedPermissionsValidatedElapsedMs=Date.now()-i,await(s?.trackProfileSync({operation:\"store\",success:!0,performanceData:n}))}catch(e){throw i.error(\"Error storing granted permission\"),await(s?.trackProfileSync({operation:\"store\",success:!1,errorMessage:e.message,performanceData:n})),e}}return n?{getAllGrantedPermissions:async function(){try{const e=await r.getAllFeatureItems(t);if(!e)return await(s?.trackProfileSync({operation:\"retrieve\",success:!0})),[];const n=[];for(const t of e)try{const e=fp(t);n.push(e)}catch{i.warn(\"Skipping invalid permission data\")}return await(s?.trackProfileSync({operation:\"retrieve\",success:!0})),n}catch(e){throw i.error(\"Error fetching all granted permissions\"),await(s?.trackProfileSync({operation:\"retrieve\",success:!1,errorMessage:e.message})),e}},getGrantedPermission:o,storeGrantedPermission:c,storeGrantedPermissionBatch:async function(e){const n={permissionCount:e.length,permissionsStoredElapsedMs:-1,storedPermissionsValidatedElapsedMs:-1};try{const i=Date.now(),o=[];for(const t of e){const e=pp(t);o.push([mp(t.permissionResponse.context),e])}if(0===o.length)throw new Vs(\"No valid permissions to store in batch operation\");await r.batchSetItems(t,o),n.permissionsStoredElapsedMs=Date.now()-i;const c=o.map(async([e,t])=>a(e,t));await Promise.all(c),n.storedPermissionsValidatedElapsedMs=Date.now()-i,await(s?.trackProfileSync({operation:\"batch_store\",success:!0,performanceData:n}))}catch(e){throw i.error(\"Error storing granted permission batch\"),await(s?.trackProfileSync({operation:\"batch_store\",success:!1,errorMessage:e.message,performanceData:n})),e}},markPermissionRevoked:async function(e,t){try{const r=await o(e);if(!r)throw new Vs(`Permission not found for permission context: ${e}`);if(r.revocationMetadata)throw new Vs(`Permission already revoked for permission context: ${e}`);i.debug(\"Marking permission as revoked:\",{existingPermission:r,revocationMetadata:t});const n={...r,revocationMetadata:t};await c(n),i.debug(\"Profile Sync: Successfully stored updated permission\")}catch(e){throw i.error(\"Error marking permission as revoked\",e),e}}}:{getAllGrantedPermissions:async()=>(i.debug(\"unConfiguredProfileSyncManager.getAllGrantedPermissions()\"),[]),getGrantedPermission:async e=>{throw new Qs(\"unConfiguredProfileSyncManager.getPermissionByHash not implemented\")},storeGrantedPermission:async e=>{i.debug(\"unConfiguredProfileSyncManager.storeGrantedPermissionBatch()\")},storeGrantedPermissionBatch:async e=>{i.debug(\"unConfiguredProfileSyncManager.storeGrantedPermissionBatch()\")},markPermissionRevoked:async(e,t)=>{i.debug(\"unConfiguredProfileSyncManager.markPermissionRevoked()\")}}}({isFeatureEnabled:Tp,userStorage:new class{constructor(e,t){Yn.add(this),this.env=e.env,this.config=e,this.options=t}async setItem(e,t,r){await ls(this,Yn,\"m\",Xn).call(this,e,t,r)}async batchSetItems(e,t,r){await ls(this,Yn,\"m\",Qn).call(this,e,t,r)}async getItem(e,t){return ls(this,Yn,\"m\",ts).call(this,e,t)}async getAllFeatureItems(e,t){return ls(this,Yn,\"m\",rs).call(this,e,t)}async deleteItem(e,t){return ls(this,Yn,\"m\",ns).call(this,e,t)}async deleteAllFeatureItems(e,t){return ls(this,Yn,\"m\",ss).call(this,e,t)}async batchDeleteItems(e,t,r){return ls(this,Yn,\"m\",is).call(this,e,t,r)}async getStorageKey(e){const t=`metamask:${(await this.config.auth.getUserProfile(e)).profileId}`,r=await(this.options.storage?.getStorageKey(t));if(r)return r;const n=vn(await this.config.auth.signMessage(t,e));return await(this.options.storage?.setStorageKey(t,n)),n}}({auth:Gp,env:zp},{storage:Hp.keyStorageOptions}),snapsMetricsService:qp}),Wp=new class{#f;#Ce;#g;#y;constructor({baseUrl:e,fetch:t=globalThis.fetch,timeoutMs:r,maxResponseSizeBytes:n}){this.#f=t,this.#Ce=e.replace(/\\/+$/u,\"\"),this.#g=r,this.#y=n}async getSpotPrice(e,t=\"usd\",r){if(!e)throw i.error(\"No caipAssetType provided to fetch spot price\"),new Vs(\"No caipAssetType provided to fetch spot price\");const n=await this.#Ie(e,t,r);let s=n[e];if(!s){const t=Object.keys(n).find(t=>t.toLowerCase()===e.toLowerCase());t&&(s=n[t])}if(!s)throw i.error(`No spot price found in result for the token CAIP-19 asset type: ${e}. Available keys: ${Object.keys(n).join(\", \")}`),new Zs(`No spot price found in result for the token CAIP-19 asset type: ${e}`);const o=s[t];if(!o)throw i.error(`No spot price found in result for the currency: ${t}`),new Zs(`No spot price found in result for the currency: ${t}`);return o}async#Ie(e,t,r){return await Qa(`${this.#Ce}/v3/spot-prices?includeMarketData=false&vsCurrency=${t}&assetIds=${e}`,{timeoutMs:this.#g,maxResponseSizeBytes:this.#y,fetch:this.#f},Wl,r)}}({baseUrl:Ip,timeoutMs:1e4,maxResponseSizeBytes:1048576}),Jp=new class{#Pe;#Me;constructor(e,t){this.#Pe=e,this.#Me=t}#Re(e){return jd.includes(e)}#Be(e){const{currency:t}=e,r=t.toLowerCase();return this.#Re(r)?r:(i.debug(`TokenPricesService:#safeParsePreferences() - Currency \"${t}\" not supported, falling back to USD`),Ap.currency.toLowerCase())}#Ne=async()=>{const e=await this.#Me.request({method:\"snap_getPreferences\"});return i.debug(\"TokenPricesService:getVsCurrency() - found user preferences\",e),e||(i.debug(\"TokenPricesService:getPreferences() - user preferences are empty, using fallback preferences\"),Ap)};async getCryptoToFiatConversion(e,t,r){try{i.debug(\"TokenPricesService:getCryptoToFiatConversion()\");const n=await this.#Ne(),s=this.#Be(n),o=\"usd\"===s&&\"usd\"!==n.currency.toLowerCase()?{...n,currency:\"USD\"}:n,a=await this.#Pe.getSpotPrice(e,s),c=Number(sc({value:BigInt(t),decimals:r})),l=((e,t,r=2)=>new Intl.NumberFormat(e.locale.replace(\"_\",\"-\"),{style:\"currency\",currency:e.currency,minimumFractionDigits:r,maximumFractionDigits:r}).format(t))(o,c*a);return i.debug(\"TokenPricesService:formatAsCurrency() - formatted balance to currency\",l),l}catch{return i.error(\"TokenPricesService:getCryptoToFiatConversion() - failed to fetch token spot price\"),\" \"}}}(Wp,snap),$p=new class{#f;#Ce;#Oe;#g;#y;constructor({baseUrl:e,securityAlertsBaseUrl:t,fetch:r=globalThis.fetch,timeoutMs:n,maxResponseSizeBytes:s}){this.#f=r,this.#Ce=e.replace(/\\/+$/u,\"\"),this.#Oe=t.replace(/\\/+$/u,\"\"),this.#g=n,this.#y=s}async scanDappUrl(e){const t=function(e){return new URL(e).origin}(e),r=`${this.#Ce}/scan?url=${encodeURIComponent(t)}`,n=await Qa(r,{timeoutMs:this.#g,maxResponseSizeBytes:this.#y,fetch:this.#f},Zl,{retries:0});if(!(\"COMPLETE\"===n.status))return{isComplete:!1};return{isComplete:!0,recommendedAction:$l.includes(n.recommendedAction??\"\")?n.recommendedAction:\"NONE\"}}async fetchAddressScan(e,t){const r=Yl[e];if(void 0===r)return{resultType:\"ErrorResult\",label:\"\"};const n=`${this.#Oe}/address/evm/scan`,s=await async function(e,t,r,n,s){const{retries:i=1,delayMs:o=1e3}=s??{};for(let s=0;s<=i;s++)try{return await tc(e,t,r,n)}catch(e){if(e instanceof Ys&&s<i){await nc(o);continue}throw e}throw new Gs(`Failed to fetch resource after ${i+1} attempts`)}(n,{timeoutMs:this.#g,maxResponseSizeBytes:this.#y,fetch:this.#f},{chain:r,address:t},eu,{retries:0});return{resultType:Ql.includes(s.result_type)?s.result_type:\"ErrorResult\",label:s.label}}}({baseUrl:Pp,securityAlertsBaseUrl:Mp,timeoutMs:1e4,maxResponseSizeBytes:1048576}),Zp=function({timeoutMs:e}){return{register:t=>{const r=setTimeout(()=>{t.onTimeout().catch(e=>{i.error(\"Error in timeout callback:\",e)})},e);return{cancel:()=>clearTimeout(r)}}}}({timeoutMs:Bp}),Yp=new class{#R;#B;constructor({userEventDispatcher:e,timeoutFactory:t}){this.#R=e,this.#B=t}createConfirmation({dialogInterface:e,ui:t,onBeforeGrant:r}){return new Mu({dialogInterface:e,ui:t,userEventDispatcher:this.#R,onBeforeGrant:r,timeoutFactory:this.#B})}}({userEventDispatcher:Vp,timeoutFactory:Zp}),Xp=new class{#_e;#R;constructor({stateManager:e,userEventDispatcher:t}){this.#_e=e,this.#R=t}async shouldShowIntroduction(e){return!(await this.#_e.getState()).seenPermissionIntroductions.includes(e)}async markIntroductionAsSeen(e){const t=await this.#_e.getState(),r=t.seenPermissionIntroductions;r.includes(e)||await this.#_e.setState({...t,seenPermissionIntroductions:[...r,e]})}buildIntroductionContent(e,t=1){return function(e,t=1){const r=1===t?e.page1:e.page2,n=e=>e.icon?Nu(Fu,{children:Nu(Rd,{name:e.icon,color:\"primary\",size:\"inherit\"})}):null,s=e=>e.title?Nu(ju,{size:\"md\",children:Nu(Zf,{children:jl(e.title)})}):null;return Ou(Du,{backgroundColor:\"alternative\",children:[Ou(Fu,{direction:\"vertical\",children:[Nu(Fu,{center:!0,children:Nu(Uu,{size:\"md\",children:jl(r.title)})}),Nu(Bd,{src:r.headerImageSvg,alt:\"Introduction illustration\"}),r.bulletPoints.map((e,t)=>Ou(Fu,{direction:\"horizontal\",alignment:\"start\",children:[n(e),Ou(Fu,{direction:\"vertical\",children:[s(e),Nu(ju,{children:jl(e.description)})]})]},`bullet-${t}`)),Ou(Fu,{direction:\"horizontal\",alignment:\"space-between\",children:[Nu(Vu,{name:tp,disabled:1===t,children:Nu(Rd,{name:\"arrow-left\",size:\"md\"})}),Ou(Fu,{direction:\"horizontal\",alignment:\"center\",children:[Nu(Bd,{src:1===t?Yf:Xf,alt:\"Page 1\"}),Nu(Bd,{src:2===t?Yf:Xf,alt:\"Page 2\"})]}),Nu(Vu,{name:rp,disabled:2===t,children:Nu(Rd,{name:\"arrow-right\",size:\"md\"})})]})]}),Nu(Gu,{children:Nu(Vu,{name:ep,children:jl(\"introGotItButton\")})})]})}(e,t)}async showIntroduction({dialogInterface:e,permissionType:t}){const r=function(e){return ap[e]}(t);if(!r)return{wasCancelled:!1};let n=1;const s=[],i=()=>{s.forEach(e=>e())};return{wasCancelled:!await new Promise(t=>{const o=this.buildIntroductionContent(r,n);e.show(o,()=>{i(),t(!1)}).then(o=>{const a=async t=>{if(t===n)return;n=t;const s=this.buildIntroductionContent(r,n);await e.show(s)},{unbind:c}=this.#R.on({elementName:ep,eventType:mu.ButtonClickEvent,interfaceId:o,handler:async()=>{i(),t(!0)}});s.push(c);const{unbind:l}=this.#R.on({elementName:tp,eventType:mu.ButtonClickEvent,interfaceId:o,handler:async()=>{await a(1)}});s.push(l);const{unbind:u}=this.#R.on({elementName:rp,eventType:mu.ButtonClickEvent,interfaceId:o,handler:async()=>{await a(2)}});s.push(u)}).catch(()=>{i(),t(!1)})})}}}({stateManager:jp,userEventDispatcher:Vp}),Qp=new class{#Le;#ee;constructor({profileSyncManager:e,tokenMetadataService:t}){this.#Le=e,this.#ee=t}async getExistingPermissions(e){try{const t=await this.#Le.getAllGrantedPermissions(),r=e.toLowerCase();return t.filter(e=>void 0===e.revocationMetadata&&e.siteOrigin.toLowerCase()===r&&e.permissionResponse.from&&e.permissionResponse.chainId)}catch(t){return i.error(\"ExistingPermissionsService.getExistingPermissions() failed\",{siteOrigin:e,error:t instanceof Error?t.message:t}),[]}}async createExistingPermissionsContent(e){const t=await Promise.all(e.map(async e=>async function(e,t){const r=e.permission.data;if(!r||\"object\"!=typeof r)return e;if(!(\"maxAmount\"in r||\"periodAmount\"in r||\"allowanceAmount\"in r))return e;const n=r.tokenAddress;try{const s={chainId:fc(e.chainId),account:e.from};n&&\"string\"==typeof n&&(s.assetAddress=n);const{decimals:i,symbol:o}=await t.getTokenMetadata(s),a={...r};if(\"maxAmount\"in r){const{maxAmount:e}=r;null!=e&&\"string\"==typeof e&&e.toLowerCase()===md?a.maxAmount=jl(\"unlimited\"):a.maxAmount=wd(r.maxAmount,i,o)}return\"periodAmount\"in r&&(a.periodAmount=wd(r.periodAmount,i,o)),\"allowanceAmount\"in r&&(a.allowanceAmount=wd(r.allowanceAmount,i,o)),{...e,permission:{...e.permission,data:a}}}catch(t){return i.debug(\"formatPermissionWithTokenMetadata: token metadata fetch failed, using raw permission data\",{chainId:e.chainId,error:t instanceof Error?t.message:t}),e}}(e.permissionResponse,this.#ee)));return Td({existingPermissions:t,title:\"existingPermissionsTitle\",description:\"existingPermissionsDescription\",buttonLabel:\"existingPermissionsConfirmButton\"})}getExistingPermissionsStatusFromList(t,r){try{if(0===t.length)return Bu.None;const n=kd(e(r.type));return null!==n&&t.some(t=>{const r=kd(e(t.permissionResponse.permission.type));return null!==r&&r===n})?Bu.SimilarPermissions:Bu.DissimilarPermissions}catch(e){return i.error(\"ExistingPermissionsService.getExistingPermissionsStatusFromList() failed\",{error:e instanceof Error?e.message:e}),Bu.None}}async getExistingPermissionsStatus(e,t){const r=await this.getExistingPermissions(e);return this.getExistingPermissionsStatusFromList(r,t)}async showExistingPermissions(e,t){const r={existingPermissions:[],title:\"existingPermissionsTitle\",description:\"existingPermissionsDescription\",buttonLabel:\"existingPermissionsConfirmButton\"};try{await e.show(function(e){const{title:t,description:r,buttonLabel:n}=e;return Ou(Du,{children:[Ou(Fu,{direction:\"vertical\",children:[Ou(Fu,{center:!0,children:[Nu(Uu,{size:\"lg\",children:jl(t)}),Nu(ju,{children:jl(r)})]}),[0,1].map(e=>Nu(Hu,{children:Ou(Fu,{direction:\"vertical\",children:[Ou(Fu,{direction:\"horizontal\",alignment:\"space-between\",children:[Nu(ju,{fontWeight:\"bold\",children:jl(\"accountLabel\")}),Nu(zu,{})]}),[0,1].map(e=>Nu(Fu,{direction:\"vertical\",children:Ou(Fu,{direction:\"vertical\",children:[Nu(zu,{}),Nu(zu,{}),Nu(zu,{})]})},`skeleton-permission-${e}`))]})},`skeleton-account-${e}`))]}),Nu(Gu,{children:Nu(Vu,{name:xd,disabled:!0,children:jl(n)})})]})}(r));const n=await this.createExistingPermissionsContent(t);await e.show(n)}catch(t){i.error(\"ExistingPermissionsService.showExistingPermissions() failed\",{error:t instanceof Error?t.message:t}),await e.show(function(e){const{title:t,description:r,buttonLabel:n}=e;return Ou(Du,{children:[Nu(Fu,{direction:\"vertical\",children:Ou(Fu,{center:!0,children:[Nu(Uu,{size:\"lg\",children:jl(t)}),Nu(ju,{children:jl(r)}),Nu(ju,{children:jl(\"existingPermissionsLoadError\")})]})}),Nu(Gu,{children:Nu(Vu,{name:xd,children:jl(n)})})]})}(r))}}}({profileSyncManager:Kp,tokenMetadataService:_p}),em=new class{#G;constructor({snap:e}){this.#G=e}createDialogInterface(){return new Ru(this.#G)}}({snap}),tm=new class{#$;#De;#Fe;#Ue;#je;#He;#ze;#Ge;constructor({accountController:e,confirmationDialogFactory:t,nonceCaveatService:r,snapsMetricsService:n,permissionIntroductionService:s,existingPermissionsService:i,dialogInterfaceFactory:o,trustSignalsClient:a}){this.#$=e,this.#De=t,this.#Fe=r,this.#Ue=n,this.#je=s,this.#He=i,this.#ze=o,this.#Ge=a}#Ve(e){try{ql({chainId:e})}catch(t){throw i.error(\"PermissionRequestLifecycleOrchestrator:assertIsSupportedChainId() - unsupported chainId\",{chainId:e,error:t}),new qs(`Unsupported ChainId: ${e}`)}}async orchestrate(t,r,n){const s=fc(r.chainId),o=e(r.permission.type);this.#Ve(s),await this.#Ue.trackPermissionRequestStarted({origin:t,permissionType:o,chainId:r.chainId,permissionData:r.permission.data});const a=n.parseAndValidatePermission(r),c=this.#ze.createDialogInterface(),l=this.#He.getExistingPermissions(t),u=l.then(e=>this.#He.getExistingPermissionsStatusFromList(e,a.permission)).catch(e=>(i.error(\"PermissionRequestLifecycleOrchestrator: existing permissions status from snapshot failed\",{origin:t,error:e instanceof Error?e.message:e}),Bu.None));if(await this.#je.shouldShowIntroduction(o)){const{wasCancelled:e}=await this.#je.showIntroduction({dialogInterface:c,permissionType:o});if(e)return await this.#Ue.trackPermissionRejected({origin:t,permissionType:o,chainId:r.chainId,permissionData:r.permission.data}),{approved:!1,reason:\"Permission request denied at introduction screen\"};await this.#je.markIntroductionAsSeen(o)}let d;await this.#$.getAccountAddresses();const h=e=>Object.values(e?.validationErrors??{}).some(e=>\"string\"==typeof e),f=await n.createSkeletonConfirmationContent(),p=this.#De.createConfirmation({dialogInterface:c,ui:f,onBeforeGrant:async()=>{const e=await n.deriveMetadata({context:d});return!h(e)}}),m=await p.initialize();try{d=await n.buildContext(a)}catch(e){throw await p.closeWithError(e),e}const g=p.displayConfirmationDialogAndAwaitUserDecision();let y=Promise.resolve(),b=null,v=null,w=!1;const A=async({newContext:e,isGrantDisabled:r})=>{y=y.finally(async()=>{e&&(d=e);const i=await n.deriveMetadata({context:d}),o=await u,a=r||h(i);if(d.showExistingPermissions){if(!w){w=!0;const e=await l;await this.#He.showExistingPermissions(c,e)}}else{w=!1;const e=await n.createConfirmationContent({context:d,metadata:i,origin:t,chainId:s,scanDappUrlResult:b,scanAddressResult:v,existingPermissionsStatus:o,isGrantDisabled:a});await p.updateContent({ui:e})}}),await y};this.#Ge.scanDappUrl(t).then(async e=>(b=e,A({isGrantDisabled:!1}))).catch(e=>{i.debug(\"PermissionRequestLifecycleOrchestrator: dapp URL scan or UI update failed\",{origin:t,error:e instanceof Error?e.message:e})});const E=a.to;E&&this.#Ge.fetchAddressScan(a.chainId,E).then(async e=>(v=e,A({isGrantDisabled:!1}))).catch(e=>{i.debug(\"PermissionRequestLifecycleOrchestrator: address scan or UI update failed\",{address:E,error:e instanceof Error?e.message:e})});try{await A({isGrantDisabled:!1}),await this.#Ue.trackPermissionDialogShown({origin:t,permissionType:o,chainId:r.chainId,permissionData:r.permission.data,justification:d.justification})}catch(e){throw await p.closeWithError(e),e}const x=r.permission.isAdjustmentAllowed??!0;if(n.onConfirmationCreated){const e=async({updatedContext:e})=>{try{await A({newContext:e,isGrantDisabled:!1})}catch(e){throw await p.closeWithError(e),e}};n.onConfirmationCreated({interfaceId:m,updateContext:e,initialContext:d})}try{const{isConfirmationGranted:e}=await g;if(e){try{const{address:e}=wu(d.accountAddressCaip10);if(!(await this.#$.getAccountUpgradeStatus({account:e,chainId:dc(s)})).isUpgraded){let r=!1;try{await this.#$.upgradeAccount({account:e,chainId:dc(s)}),r=!0}finally{await this.#Ue.trackSmartAccountUpgraded({origin:t,accountAddress:e,chainId:dc(s),success:r})}}}catch{}return{approved:!0,response:await this.#qe({originalRequest:a,modifiedContext:d,lifecycleHandlers:n,isAdjustmentAllowed:x,chainId:s,origin:t})}}return await this.#Ue.trackPermissionRejected({origin:t,permissionType:o,chainId:r.chainId,permissionData:r.permission.data,justification:d.justification}),{approved:!1,reason:\"Permission request denied at confirmation screen\"}}catch(e){throw await p.closeWithError(e),e}finally{n.onConfirmationResolved&&n.onConfirmationResolved()}}async#qe({originalRequest:t,modifiedContext:r,isAdjustmentAllowed:n,chainId:s,origin:i,lifecycleHandlers:o}){const a=e(t.permission.type),c=await o.applyContext({context:r,originalRequest:t}),l=await o.populatePermission({permission:c.permission}),u={...c,permission:l,isAdjustmentAllowed:n},{from:d,to:h}=u;if(!d)throw new Vs(\"Address is undefined\");if(!h)throw new Vs(\"Delegate address is undefined\");const{contracts:f}=ql({chainId:s}),p=await o.createPermissionCaveats({permission:l,contracts:f});!function({rules:t,contracts:r,caveats:n}){const s=t?.find(t=>\"expiry\"===e(t.type));if(!s)return;const i=s.data.timestamp;n.push({enforcer:r.timestampEnforcer,terms:Sh({afterThreshold:0,beforeThreshold:i}),args:\"0x\"})}({rules:c.rules,contracts:f,caveats:p}),function({rules:t,contracts:r,caveats:n}){const s=t?.find(t=>\"redeemer\"===e(t.type)),i=s?.data?.addresses;Array.isArray(i)&&0!==i.length&&n.push({enforcer:r.redeemerEnforcer,terms:Dh({redeemers:i}),args:\"0x\"})}({rules:c.rules,contracts:f,caveats:p}),dp({rules:c.rules,contracts:f,caveats:p,permissionType:a});const m=await this.#Fe.getNonce({chainId:s,account:d});p.push({enforcer:f.nonceEnforcer,terms:Bh({nonce:hc(m)}),args:\"0x\"});const g=fh(crypto.getRandomValues(new Uint8Array(32))),y={delegate:h,authority:\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",delegator:d,caveats:p,salt:BigInt(g)},{justification:b}=r;let v,w,A=!1;try{v=await this.#$.signDelegation({chainId:s,delegation:y,address:d,origin:i,justification:b}),A=!0}catch(e){throw w=e,e}finally{await this.#Ue.trackDelegationSigning({origin:i,permissionType:a,success:A,...w&&{errorMessage:w.message}})}const E=function(e,t=wh){let r;if(0===e.length)r=new Uint8Array(64),r[31]=32;else{const t=e.map(e=>[e.delegate,e.delegator,e.authority,e.caveats.map(e=>[e.enforcer,e.terms,e.args]),e.salt,e.signature]);r=(0,wc.encodeSingle)(Fh,t)}return Ah(r,t)}([v],{out:\"hex\"}),x={...u,chainId:dc(s),from:d,dependencies:[],context:E,delegationManager:f.delegationManager};return await this.#Ue.trackPermissionGranted({origin:i,permissionType:a,chainId:dc(s),permissionData:l.data,justification:r.justification,isAdjustmentAllowed:n}),x}}({accountController:Fp,confirmationDialogFactory:Yp,nonceCaveatService:Dp,snapsMetricsService:qp,permissionIntroductionService:Xp,existingPermissionsService:Qp,dialogInterfaceFactory:em,trustSignalsClient:$p}),rm=new class{#$;#Q;#ee;#R;#Z;constructor({accountController:e,tokenPricesService:t,tokenMetadataService:r,userEventDispatcher:n,orchestrator:s}){this.#$=e,this.#Q=t,this.#ee=r,this.#R=n,this.#Z=s}createPermissionHandler(t){const r=e(t.permission.type),n=e=>new lh({...e,accountController:this.#$,userEventDispatcher:this.#R,orchestrator:this.#Z,permissionRequest:t,tokenPricesService:this.#Q,tokenMetadataService:this.#ee});let s;switch(r){case\"native-token-stream\":s=n(Kf);break;case\"native-token-periodic\":s=n(Lf);break;case\"native-token-allowance\":s=n(If);break;case\"erc20-token-periodic\":s=n(hf);break;case\"erc20-token-allowance\":s=n(nf);break;case\"token-approval-revocation\":s=n($f);break;case\"erc20-token-stream\":s=n(Af);break;default:throw new Vs(`Unsupported permission type: ${r}`)}return s}}({accountController:Fp,tokenPricesService:Jp,tokenMetadataService:_p,userEventDispatcher:Vp,orchestrator:tm}),nm=function({permissionHandlerFactory:r,profileSyncManager:n,blockchainClient:s}){return{grantPermission:async e=>{i.debug(\"grantPermissions()\",e);const{permissionsRequest:s,siteOrigin:o}=(e=>{const r=Va.safeParse(e);if(!r.success)throw new Vs(t(r.error.errors));return r.data})(e),a=[];for(const e of s){const t=r.createPermissionHandler(e),n=await t.handlePermissionRequest(o);if(!n.approved)throw new ei(n.reason);const s={permissionResponse:n.response,siteOrigin:o};a.push(s)}return a.length>0&&await n.storeGrantedPermissionBatch(a),a.map(e=>e.permissionResponse)},getPermissionOffers:async()=>(i.debug(\"getPermissionOffers()\"),vp),getGrantedPermissions:async e=>{if(i.debug(\"getGrantedPermissions()\",e),!e||\"object\"!=typeof e)return await n.getAllGrantedPermissions();const{isRevoked:t,siteOrigin:r,chainId:s,delegationManager:o}=(e=>{const t=$a.safeParse(e);return t.success&&null!=e?t.data:{}})(e);let a=await n.getAllGrantedPermissions();return\"boolean\"==typeof t&&(a=a.filter(e=>void 0===e.revocationMetadata!==t)),\"string\"==typeof r&&(a=a.filter(e=>e.siteOrigin===r)),\"string\"==typeof s&&(a=a.filter(e=>e.permissionResponse.chainId===s)),\"string\"==typeof o&&(a=a.filter(e=>e.permissionResponse.delegationManager===o)),a},submitRevocation:async e=>{i.debug(\"submitRevocation() called with params:\",e);const{permissionContext:r,txHash:o}=function(e){try{if(!e||\"object\"!=typeof e)throw new Vs(\"Parameters are required\");return mc.parse(e)}catch(e){if(e instanceof oi)throw new Vs(t(e.errors));throw e}}(e);i.debug(\"Looking up existing permission for permissionContext:\",r);const a=await n.getGrantedPermission(r);if(!a)throw new Vs(`Permission not found for permission context: ${r}`);const{chainId:c,delegationManager:l}=a.permissionResponse;if(i.debug(\"Permission details extracted:\",{chainId:c,delegationManager:l}),!l)throw new Vs(`No delegation manager found for permission context: ${r}`);const u=jh(r);if(u.length>1)throw new Vs(`Multiple delegations found in permission context: ${r}`);const d=u[0];if(!d)throw new Vs(`No delegations found in permission context: ${r}`);const h=Hh(d);if(!await s.checkDelegationDisabledOnChain({delegationHash:h,chainId:c,delegationManagerAddress:l}))throw new Vs(`Delegation ${h} is not disabled on-chain. Cannot process revocation.`);if(o){if(!await s.checkTransactionReceipt({txHash:o,chainId:c}))throw new Vs(`Transaction ${o} was not successful. Cannot process revocation.`)}const f={txHash:o,recordedAt:Math.floor(Date.now()/1e3)};return await n.markPermissionRevoked(r,f),{success:!0}},getSupportedPermissions:async()=>{i.debug(\"getSupportedPermissions()\");const t={};for(const r of vp){const n=e(r.type),s=Na[n];t[n]={ruleTypes:s?[...s]:[]}}return t}}}({permissionHandlerFactory:rm,profileSyncManager:Kp,blockchainClient:Up}),sm=(im={enabled:!0,snapName:\"gator-permissions-snap\",snapProvider:snap},new se(im));var im;const om={[yp.PermissionsProviderGrantPermissions]:nm.grantPermission.bind(nm),[yp.PermissionsProviderGetPermissionOffers]:nm.getPermissionOffers.bind(nm),[yp.PermissionsProviderGetGrantedPermissions]:nm.getGrantedPermissions.bind(nm),[yp.PermissionsProviderSubmitRevocation]:async e=>nm.submitRevocation(e),[yp.PermissionsProviderGetSupportedPermissions]:nm.getSupportedPermissions.bind(nm)},am=async({origin:e,request:t})=>{try{if(i.debug(`RPC request (origin=\"${e}\"): method=\"${t.method}\"`),await Ul(),!((e,t)=>bp[e]?.includes(t)??!1)(e,t.method))throw new Ks(`Origin '${e}' is not allowed to call '${t.method}'`);const r=om[t.method];if(!r)throw new Js(`Method ${t.method} not found.`);return await r(t.params)}catch(e){throw sm.captureError({error:e,method:t?.method??\"unknown\",requestParams:t?.params}).catch(()=>{}),e}},cm=Vp.createUserInputEventHandler(),lm=async()=>{await Ul()}})(),module.exports=n})();"}],"removable":false,"hideSnapBranding":true}